// Generated by dart2js (NullSafetyMode.sound, trust primitives, omit checks, lax runtime type, csp), the Dart to JavaScript compiler version: 2.18.0-165.1.beta.
// 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):
//    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.
//
// 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.__proto__ && object.__proto__.p === cls.prototype.p))
      return false;
    try {
      if (typeof navigator != "undefined" && typeof navigator.userAgent == "string" && navigator.userAgent.indexOf("Chrome/") >= 0)
        return true;
      if (typeof version == "function" && version.length == 0) {
        var v = version();
        if (/^\d+\.\d+\.\d+\.\d+$/.test(v))
          return true;
      }
    } catch (_) {
    }
    return false;
  }();
  function inherit(cls, sup) {
    cls.prototype.constructor = cls;
    cls.prototype["$is" + cls.name] = cls;
    if (sup != null) {
      if (supportsDirectProtoAccess) {
        cls.prototype.__proto__ = sup.prototype;
        return;
      }
      var clsPrototype = Object.create(sup.prototype);
      copyProperties(cls.prototype, clsPrototype);
      cls.prototype = clsPrototype;
    }
  }
  function inheritMany(sup, classes) {
    for (var i = 0; i < classes.length; i++)
      inherit(classes[i], sup);
  }
  function 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 = {
    browserEngine() {
      var t1 = $.$get$_browserEngine();
      return t1;
    },
    detectBrowserEngineByVendorAgent(vendor, agent) {
      var exp;
      if (vendor === "Google Inc.") {
        exp = A.RegExp_RegExp("SAMSUNG|SGH-[I|N|T]|GT-[I|N]|SM-[A|N|P|T|Z]|SHV-E|SCH-[I|J|R|S]|SPH-L", true, false);
        if (exp._nativeRegExp.test(agent.toUpperCase()))
          return B.BrowserEngine_5;
        return B.BrowserEngine_0;
      } else if (vendor === "Apple Computer, Inc.")
        return B.BrowserEngine_1;
      else if (B.JSString_methods.contains$1(agent, "edge/"))
        return B.BrowserEngine_3;
      else if (B.JSString_methods.contains$1(agent, "Edg/"))
        return B.BrowserEngine_0;
      else if (B.JSString_methods.contains$1(agent, "trident/7.0"))
        return B.BrowserEngine_4;
      else if (vendor === "" && B.JSString_methods.contains$1(agent, "firefox"))
        return B.BrowserEngine_2;
      A.print("WARNING: failed to detect current browser engine.");
      return B.BrowserEngine_6;
    },
    detectOperatingSystem() {
      var platform, userAgent, maxTouchPoints,
        t1 = self.window;
      t1 = t1.navigator.platform;
      t1.toString;
      platform = t1;
      t1 = self.window;
      userAgent = t1.navigator.userAgent;
      if (B.JSString_methods.startsWith$1(platform, "Mac")) {
        t1 = self.window;
        maxTouchPoints = t1.navigator.maxTouchPoints;
        if ((maxTouchPoints == null ? 0 : maxTouchPoints) > 2)
          return B.OperatingSystem_0;
        return B.OperatingSystem_4;
      } else if (B.JSString_methods.contains$1(platform.toLowerCase(), "iphone") || B.JSString_methods.contains$1(platform.toLowerCase(), "ipad") || B.JSString_methods.contains$1(platform.toLowerCase(), "ipod"))
        return B.OperatingSystem_0;
      else if (B.JSString_methods.contains$1(userAgent, "Android"))
        return B.OperatingSystem_1;
      else if (B.JSString_methods.startsWith$1(platform, "Linux"))
        return B.OperatingSystem_2;
      else if (B.JSString_methods.startsWith$1(platform, "Win"))
        return B.OperatingSystem_3;
      else
        return B.OperatingSystem_5;
    },
    isIOS15() {
      var t1 = $.$get$_operatingSystem();
      return t1 === B.OperatingSystem_0 && B.JSString_methods.contains$1(self.window.navigator.userAgent, "OS 15_");
    },
    _detectWebGLVersion() {
      var t1,
        canvas = A.createDomCanvasElement(1, 1);
      if (A.DomCanvasElementExtension_getContext(canvas, "webgl2") != null) {
        t1 = $.$get$_operatingSystem();
        if (t1 === B.OperatingSystem_0)
          return 1;
        return 2;
      }
      if (A.DomCanvasElementExtension_getContext(canvas, "webgl") != null)
        return 1;
      return -1;
    },
    canvasKit() {
      return $.__canvasKit._readField$0();
    },
    CanvasKitExtension_get_BlendMode(_this) {
      return _this.BlendMode;
    },
    CanvasKitExtension_get_PaintStyle(_this) {
      return _this.PaintStyle;
    },
    CanvasKitExtension_get_StrokeCap(_this) {
      return _this.StrokeCap;
    },
    CanvasKitExtension_get_StrokeJoin(_this) {
      return _this.StrokeJoin;
    },
    CanvasKitExtension_get_BlurStyle(_this) {
      return _this.BlurStyle;
    },
    CanvasKitExtension_get_TileMode(_this) {
      return _this.TileMode;
    },
    CanvasKitExtension_get_FillType(_this) {
      return _this.FillType;
    },
    CanvasKitExtension_get_ClipOp(_this) {
      return _this.ClipOp;
    },
    CanvasKitExtension_get_RectHeightStyle(_this) {
      return _this.RectHeightStyle;
    },
    CanvasKitExtension_get_RectWidthStyle(_this) {
      return _this.RectWidthStyle;
    },
    CanvasKitExtension_get_TextAlign(_this) {
      return _this.TextAlign;
    },
    CanvasKitExtension_get_TextHeightBehavior(_this) {
      return _this.TextHeightBehavior;
    },
    CanvasKitExtension_get_TextDirection(_this) {
      return _this.TextDirection;
    },
    CanvasKitExtension_get_FontWeight(_this) {
      return _this.FontWeight;
    },
    CanvasKitExtension_get_FontSlant(_this) {
      return _this.FontSlant;
    },
    CanvasKitExtension_get_DecorationStyle(_this) {
      return _this.DecorationStyle;
    },
    CanvasKitExtension_get_TextBaseline(_this) {
      return _this.TextBaseline;
    },
    CanvasKitExtension_get_PlaceholderAlignment(_this) {
      return _this.PlaceholderAlignment;
    },
    SkClipOpEnumExtension_get_Intersect(_this) {
      return _this.Intersect;
    },
    SkPaintExtension_setColorInt(_this, color) {
      return _this.setColorInt(color);
    },
    toSkM44FromFloat32(matrix4) {
      var r, t1, c,
        skM44 = new Float32Array(16);
      for (r = 0; r < 4; ++r)
        for (t1 = r * 4, c = 0; c < 4; ++c)
          skM44[c * 4 + r] = matrix4[t1 + c];
      return skM44;
    },
    toSkMatrixFromFloat32(matrix4) {
      var i, matrix4Index,
        skMatrix = new Float32Array(9);
      for (i = 0; i < 9; ++i) {
        matrix4Index = B.List_yXZ[i];
        if (matrix4Index < 16)
          skMatrix[i] = matrix4[matrix4Index];
        else
          skMatrix[i] = 0;
      }
      return skMatrix;
    },
    toSkPoint(offset) {
      var point = new Float32Array(2);
      point[0] = offset._dx;
      point[1] = offset._dy;
      return point;
    },
    toSkColorStops(colorStops) {
      var len, skColorStops, i;
      if (colorStops == null)
        return $.$get$_kDefaultSkColorStops();
      len = colorStops.length;
      skColorStops = new Float32Array(len);
      for (i = 0; i < len; ++i)
        skColorStops[i] = colorStops[i];
      return skColorStops;
    },
    mallocFloat32List(size) {
      return self.window.flutterCanvasKit.Malloc(self.Float32Array, size);
    },
    _populateSkColor(skColor, color) {
      var t1 = skColor.toTypedArray(),
        t2 = color.value;
      t1[0] = (t2 >>> 16 & 255) / 255;
      t1[1] = (t2 >>> 8 & 255) / 255;
      t1[2] = (t2 & 255) / 255;
      t1[3] = (t2 >>> 24 & 255) / 255;
      return t1;
    },
    toSkRect(rect) {
      var skRect = new Float32Array(4);
      skRect[0] = rect.left;
      skRect[1] = rect.top;
      skRect[2] = rect.right;
      skRect[3] = rect.bottom;
      return skRect;
    },
    fromSkRect(skRect) {
      return new A.Rect(skRect[0], skRect[1], skRect[2], skRect[3]);
    },
    toSkRRect(rrect) {
      var skRRect = new Float32Array(12);
      skRRect[0] = rrect.left;
      skRRect[1] = rrect.top;
      skRRect[2] = rrect.right;
      skRRect[3] = rrect.bottom;
      skRRect[4] = rrect.tlRadiusX;
      skRRect[5] = rrect.tlRadiusY;
      skRRect[6] = rrect.trRadiusX;
      skRRect[7] = rrect.trRadiusY;
      skRRect[8] = rrect.brRadiusX;
      skRRect[9] = rrect.brRadiusY;
      skRRect[10] = rrect.blRadiusX;
      skRRect[11] = rrect.blRadiusY;
      return skRRect;
    },
    toMallocedSkPoints(points) {
      var i, t3,
        len = points.length,
        t1 = self.window.flutterCanvasKit.Malloc(self.Float32Array, len * 2),
        t2 = t1.toTypedArray();
      for (i = 0; i < len; ++i) {
        t3 = 2 * i;
        t2[t3] = points[i]._dx;
        t2[t3 + 1] = points[i]._dy;
      }
      return t1;
    },
    toFlatColors(colors) {
      var i,
        len = colors.length,
        result = new Uint32Array(len);
      for (i = 0; i < len; ++i)
        result[i] = J.get$value$x(colors[i]);
      return result;
    },
    SkParagraphStyleProperties$(receiver) {
      return new A.SkParagraphStyleProperties();
    },
    SkTextStyleProperties$(receiver) {
      return new A.SkTextStyleProperties();
    },
    SkStrutStyleProperties$(receiver) {
      return new A.SkStrutStyleProperties();
    },
    SkFontStyle$(receiver) {
      return new A.SkFontStyle();
    },
    SkTextShadow$(receiver) {
      return new A.SkTextShadow();
    },
    SkFontFeature$(receiver) {
      return new A.SkFontFeature();
    },
    ProductionCollector$() {
      var t1 = new A.ProductionCollector(A._setArrayType([], type$.JSArray_JavaScriptObject));
      t1.ProductionCollector$0();
      return t1;
    },
    patchCanvasKitModule(canvasKitScript) {
      var _s14_ = "defineProperty",
        t1 = $.$get$_context(),
        objectConstructor = type$.JsFunction._as(t1.$index(0, "Object"));
      if (t1.$index(0, "exports") == null)
        objectConstructor.callMethod$2(_s14_, [t1, "exports", A.JsObject_JsObject$jsify(A.LinkedHashMap_LinkedHashMap$_literal(["get", A.allowInterop(new A.patchCanvasKitModule_closure(canvasKitScript, objectConstructor)), "set", A.allowInterop(new A.patchCanvasKitModule_closure0()), "configurable", true], type$.String, type$.dynamic))]);
      if (t1.$index(0, "module") == null)
        objectConstructor.callMethod$2(_s14_, [t1, "module", A.JsObject_JsObject$jsify(A.LinkedHashMap_LinkedHashMap$_literal(["get", A.allowInterop(new A.patchCanvasKitModule_closure1(canvasKitScript, objectConstructor)), "set", A.allowInterop(new A.patchCanvasKitModule_closure2()), "configurable", true], type$.String, type$.dynamic))]);
      self.document.head.appendChild(canvasKitScript);
    },
    ManagedSkColorFilter$(ckColorFilter) {
      var t1 = new A.ManagedSkColorFilter(ckColorFilter);
      t1.ManagedSkiaObject$1(null, type$.SkColorFilter);
      return t1;
    },
    Mutator$transform(matrix) {
      var _null = null;
      return new A.Mutator(B.MutatorType_3, _null, _null, _null, matrix, _null);
    },
    diffViewList(active, next) {
      var index, i, t1, t2, viewsToAdd, viewsToAddSet, _null = null;
      if (active.length === 0 || next.length === 0)
        return _null;
      index = B.JSArray_methods.indexOf$1(active, B.JSArray_methods.get$first(next));
      if (index !== -1) {
        for (i = 0; t1 = i + index, t2 = active.length, t1 < t2; ++i) {
          if (!J.$eq$(active[t1], next[i]))
            return _null;
          if (i === next.length - 1)
            if (index === 0)
              return new A.ViewListDiffResult(B.JSArray_methods.sublist$1(active, i + 1), B.List_empty5, true, B.JSArray_methods.get$first(next));
            else
              return new A.ViewListDiffResult(B.JSArray_methods.sublist$2(active, 0, index), B.List_empty5, false, _null);
        }
        viewsToAdd = B.JSArray_methods.sublist$1(next, t2 - index);
        viewsToAddSet = A.LinkedHashSet_LinkedHashSet$from(viewsToAdd, A._arrayInstanceType(viewsToAdd)._precomputed1);
        t1 = B.JSArray_methods.sublist$2(active, 0, index);
        t2 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        return new A.ViewListDiffResult(A.List_List$of(new A.WhereIterable(t1, new A.diffViewList_closure(viewsToAddSet), t2), true, t2._eval$1("Iterable.E")), viewsToAdd, false, _null);
      }
      index = B.JSArray_methods.lastIndexOf$1(active, B.JSArray_methods.get$last(next));
      if (index !== -1) {
        for (i = 0; t1 = index - i, t1 >= 0; ++i) {
          t2 = next.length;
          if (t2 <= i || !J.$eq$(active[t1], next[t2 - 1 - i]))
            return _null;
        }
        viewsToAdd = B.JSArray_methods.sublist$1(active, index + 1);
        viewsToAddSet = A.LinkedHashSet_LinkedHashSet$from(viewsToAdd, A._arrayInstanceType(viewsToAdd)._precomputed1);
        t1 = B.JSArray_methods.sublist$2(next, 0, next.length - index - 1);
        t2 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        return new A.ViewListDiffResult(viewsToAdd, A.List_List$of(new A.WhereIterable(t1, new A.diffViewList_closure0(viewsToAddSet), t2), true, t2._eval$1("Iterable.E")), true, B.JSArray_methods.get$first(active));
      }
      return _null;
    },
    FontFallbackData_createNotoFontTree() {
      var t2, _i, font, t3, t4, _i0, range,
        t1 = type$.NotoFont,
        ranges = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_CodeunitRange);
      for (t2 = $.$get$_notoFonts(), _i = 0; _i < 25; ++_i) {
        font = t2[_i];
        font._decodingCompleter = font.resolvedFont = null;
        for (t3 = font.approximateUnicodeRanges, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
          range = t3[_i0];
          J.add$1$ax(ranges.putIfAbsent$2(0, font, new A.FontFallbackData_createNotoFontTree_closure()), range);
        }
      }
      return A.IntervalTree_IntervalTree$createFromRanges(ranges, t1);
    },
    findFontsForMissingCodeunits(codeUnits) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t3, t4, t5, _i, codeUnit, results, unmatchedCodeUnits, resolvedFonts, t6, t7, t8, t1, fonts, t2, coveredCodeUnits, missingCodeUnits;
      var $async$findFontsForMissingCodeunits = 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 = $.$get$FontFallbackData__instance();
              fonts = A.LinkedHashSet_LinkedHashSet$_empty(type$.NotoFont);
              t2 = type$.int;
              coveredCodeUnits = A.LinkedHashSet_LinkedHashSet$_empty(t2);
              missingCodeUnits = A.LinkedHashSet_LinkedHashSet$_empty(t2);
              for (t3 = codeUnits.length, t4 = t1.notoTree, t5 = t4.$ti._eval$1("JSArray<1>"), t4 = t4.root, _i = 0; _i < codeUnits.length; codeUnits.length === t3 || (0, A.throwConcurrentModificationError)(codeUnits), ++_i) {
                codeUnit = codeUnits[_i];
                results = A._setArrayType([], t5);
                t4.searchForPoint$2(codeUnit, results);
                fonts.addAll$1(0, results);
                if (results.length !== 0)
                  coveredCodeUnits.add$1(0, codeUnit);
                else
                  missingCodeUnits.add$1(0, codeUnit);
              }
              t3 = A._LinkedHashSetIterator$(fonts, fonts._collection$_modifications, fonts.$ti._precomputed1), t4 = t3.$ti._precomputed1;
            case 2:
              // for condition
              if (!t3.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t5 = t3._collection$_current;
              $async$goto = 4;
              return A._asyncAwait((t5 == null ? t4._as(t5) : t5).ensureResolved$0(), $async$findFontsForMissingCodeunits);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              unmatchedCodeUnits = A.LinkedHashSet_LinkedHashSet$from(coveredCodeUnits, t2);
              fonts = A.findMinimumFontsForCodeUnits(unmatchedCodeUnits, fonts);
              resolvedFonts = A.LinkedHashSet_LinkedHashSet$_empty(type$._ResolvedNotoSubset);
              for (t2 = A._LinkedHashSetIterator$(coveredCodeUnits, coveredCodeUnits._collection$_modifications, coveredCodeUnits.$ti._precomputed1), t3 = A._instanceType(fonts), t4 = t3._eval$1("_LinkedHashSetIterator<1>"), t3 = t3._precomputed1, t5 = t2.$ti._precomputed1; t2.moveNext$0();) {
                t6 = t2._collection$_current;
                if (t6 == null)
                  t6 = t5._as(t6);
                for (t7 = new A._LinkedHashSetIterator(fonts, fonts._collection$_modifications, t4), t7._collection$_cell = fonts._collection$_first; t7.moveNext$0();) {
                  t8 = t7._collection$_current;
                  t8 = (t8 == null ? t3._as(t8) : t8).resolvedFont;
                  if (t8 == null)
                    continue;
                  t8 = t8.tree;
                  results = A._setArrayType([], t8.$ti._eval$1("JSArray<1>"));
                  t8.root.searchForPoint$2(t6, results);
                  resolvedFonts.addAll$1(0, results);
                }
              }
              t2 = $.$get$notoDownloadQueue();
              resolvedFonts.forEach$1(0, t2.get$add(t2));
              $async$goto = missingCodeUnits._collection$_length !== 0 || unmatchedCodeUnits._collection$_length !== 0 ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = !t1.registeredSymbolsAndEmoji ? 7 : 9;
              break;
            case 7:
              // then
              $async$goto = 10;
              return A._asyncAwait(A._registerSymbolsAndEmoji(), $async$findFontsForMissingCodeunits);
            case 10:
              // returning from await.
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              t2 = $.$get$notoDownloadQueue();
              if (!(t2.pendingSubsets._length !== 0 || t2._fontsLoading != null)) {
                $.$get$printWarning().call$1("Could not find a set of Noto fonts to display all missing characters. Please add a font asset for the missing characters. See: https://flutter.dev/docs/cookbook/design/fonts");
                t1.codeUnitsWithNoKnownFont.addAll$1(0, missingCodeUnits);
              }
            case 8:
              // join
            case 6:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$findFontsForMissingCodeunits, $async$completer);
    },
    _makeResolvedNotoFontFromCss(css, $name) {
      var t1, t2, fontFaceUnicodeRanges, fontFaceUrl, resolvingFontFace, t3, urlStart, rawRanges, _i, startEnd, rangeValue, startRange, endRange, rangesMap, subset, t4, _i0, range, _null = null,
        _s34_ = "Unable to parse Google Fonts CSS: ",
        subsets = A._setArrayType([], type$.JSArray__ResolvedNotoSubset);
      for (t1 = A.LineSplitter_split(css), t1 = new A._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")), t2 = type$.JSArray_CodeunitRange, fontFaceUnicodeRanges = _null, fontFaceUrl = fontFaceUnicodeRanges, resolvingFontFace = false; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        if (!resolvingFontFace) {
          if (t3 !== "@font-face {")
            continue;
          resolvingFontFace = true;
        } else if (B.JSString_methods.startsWith$1(t3, "  src:")) {
          urlStart = B.JSString_methods.indexOf$1(t3, "url(");
          if (urlStart === -1) {
            $.$get$printWarning().call$1("Unable to resolve Noto font URL: " + t3);
            return _null;
          }
          fontFaceUrl = B.JSString_methods.substring$2(t3, urlStart + 4, B.JSString_methods.indexOf$1(t3, ")"));
          resolvingFontFace = true;
        } else if (B.JSString_methods.startsWith$1(t3, "  unicode-range:")) {
          fontFaceUnicodeRanges = A._setArrayType([], t2);
          rawRanges = B.JSString_methods.substring$2(t3, 17, t3.length - 1).split(", ");
          for (t3 = rawRanges.length, _i = 0; _i < t3; ++_i) {
            startEnd = J.split$1$s(rawRanges[_i], "-");
            if (startEnd.length === 1) {
              rangeValue = A.int_parse(B.JSString_methods.substring$1(B.JSArray_methods.get$single(startEnd), 2), 16);
              fontFaceUnicodeRanges.push(new A.CodeunitRange(rangeValue, rangeValue));
            } else {
              startRange = startEnd[0];
              endRange = startEnd[1];
              fontFaceUnicodeRanges.push(new A.CodeunitRange(A.int_parse(B.JSString_methods.substring$1(startRange, 2), 16), A.int_parse(endRange, 16)));
            }
          }
          resolvingFontFace = true;
        } else {
          if (t3 === "}") {
            if (fontFaceUrl == null || fontFaceUnicodeRanges == null) {
              $.$get$printWarning().call$1(_s34_ + css);
              return _null;
            }
            subsets.push(new A._ResolvedNotoSubset(fontFaceUrl, $name, fontFaceUnicodeRanges));
          } else
            continue;
          resolvingFontFace = false;
        }
      }
      if (resolvingFontFace) {
        $.$get$printWarning().call$1(_s34_ + css);
        return _null;
      }
      t1 = type$._ResolvedNotoSubset;
      rangesMap = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_CodeunitRange);
      for (t2 = subsets.length, _i = 0; _i < subsets.length; subsets.length === t2 || (0, A.throwConcurrentModificationError)(subsets), ++_i) {
        subset = subsets[_i];
        for (t3 = subset.ranges, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
          range = t3[_i0];
          J.add$1$ax(rangesMap.putIfAbsent$2(0, subset, new A._makeResolvedNotoFontFromCss_closure()), range);
        }
      }
      if (rangesMap._length === 0) {
        $.$get$printWarning().call$1("Parsed Google Fonts CSS was empty: " + css);
        return _null;
      }
      return new A._ResolvedNotoFont($name, A.IntervalTree_IntervalTree$createFromRanges(rangesMap, t1));
    },
    _registerSymbolsAndEmoji() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, emojiCss, symbolsCss, emojiFontUrl, symbolsFontUrl, t1;
      var $async$_registerSymbolsAndEmoji = 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 = $.$get$FontFallbackData__instance();
              if (t1.registeredSymbolsAndEmoji) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.registeredSymbolsAndEmoji = true;
              $async$goto = 3;
              return A._asyncAwait($.$get$notoDownloadQueue().downloader.downloadAsString$1("https://fonts.googleapis.com/css2?family=Noto+Color+Emoji+Compat"), $async$_registerSymbolsAndEmoji);
            case 3:
              // returning from await.
              emojiCss = $async$result;
              $async$goto = 4;
              return A._asyncAwait($.$get$notoDownloadQueue().downloader.downloadAsString$1("https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols"), $async$_registerSymbolsAndEmoji);
            case 4:
              // returning from await.
              symbolsCss = $async$result;
              t1 = new A._registerSymbolsAndEmoji_extractUrlFromCss();
              emojiFontUrl = t1.call$1(emojiCss);
              symbolsFontUrl = t1.call$1(symbolsCss);
              if (emojiFontUrl != null)
                $.$get$notoDownloadQueue().add$1(0, new A._ResolvedNotoSubset(emojiFontUrl, "Noto Color Emoji Compat", B.List_empty6));
              else
                $.$get$printWarning().call$1("Error parsing CSS for Noto Emoji font.");
              if (symbolsFontUrl != null)
                $.$get$notoDownloadQueue().add$1(0, new A._ResolvedNotoSubset(symbolsFontUrl, "Noto Sans Symbols", B.List_empty6));
              else
                $.$get$printWarning().call$1("Error parsing CSS for Noto Symbols font.");
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_registerSymbolsAndEmoji, $async$completer);
    },
    findMinimumFontsForCodeUnits(codeUnits, fonts) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _box_0, t14, maxCodeUnitsCovered, t15, t16, codeUnitsCovered, t17, t18,
        minimumFonts = A.LinkedHashSet_LinkedHashSet$_empty(type$.NotoFont),
        bestFonts = A._setArrayType([], type$.JSArray_NotoFont),
        t1 = self.window.navigator.language;
      for (t2 = A._instanceType(fonts), t3 = t2._eval$1("_LinkedHashSetIterator<1>"), t4 = A._instanceType(codeUnits), t5 = t4._eval$1("_LinkedHashSetIterator<1>"), t4 = t4._precomputed1, t2 = t2._precomputed1, t6 = t1 === "ja", t7 = t1 === "zh-HK", t8 = t1 !== "zh-Hant", t9 = t1 !== "zh-Hans", t10 = t1 !== "zh-CN", t11 = t1 !== "zh-SG", t12 = t1 === "zh-MY", t13 = t1 !== "zh-TW", t1 = t1 === "zh-MO"; codeUnits._collection$_length !== 0;) {
        _box_0 = {};
        B.JSArray_methods.clear$0(bestFonts);
        for (t14 = new A._LinkedHashSetIterator(fonts, fonts._collection$_modifications, t3), t14._collection$_cell = fonts._collection$_first, maxCodeUnitsCovered = 0; t14.moveNext$0();) {
          t15 = t14._collection$_current;
          if (t15 == null)
            t15 = t2._as(t15);
          for (t16 = new A._LinkedHashSetIterator(codeUnits, codeUnits._collection$_modifications, t5), t16._collection$_cell = codeUnits._collection$_first, codeUnitsCovered = 0; t16.moveNext$0();) {
            t17 = t16._collection$_current;
            if (t17 == null)
              t17 = t4._as(t17);
            t18 = t15.resolvedFont;
            if ((t18 == null ? null : t18.tree.root.containsDeep$1(t17)) === true)
              ++codeUnitsCovered;
          }
          if (codeUnitsCovered > maxCodeUnitsCovered) {
            B.JSArray_methods.clear$0(bestFonts);
            bestFonts.push(t15);
            maxCodeUnitsCovered = codeUnitsCovered;
          } else if (codeUnitsCovered === maxCodeUnitsCovered)
            bestFonts.push(t15);
        }
        if (maxCodeUnitsCovered === 0)
          break;
        _box_0.bestFont = B.JSArray_methods.get$first(bestFonts);
        if (bestFonts.length > 1)
          if (B.JSArray_methods.every$1(bestFonts, new A.findMinimumFontsForCodeUnits_closure()))
            if (!t9 || !t10 || !t11 || t12) {
              if (B.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansSC()))
                _box_0.bestFont = $.$get$_notoSansSC();
            } else if (!t8 || !t13 || t1) {
              if (B.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansTC()))
                _box_0.bestFont = $.$get$_notoSansTC();
            } else if (t7) {
              if (B.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansHK()))
                _box_0.bestFont = $.$get$_notoSansHK();
            } else if (t6)
              if (B.JSArray_methods.contains$1(bestFonts, $.$get$_notoSansJP()))
                _box_0.bestFont = $.$get$_notoSansJP();
        codeUnits._filterWhere$2(new A.findMinimumFontsForCodeUnits_closure0(_box_0), true);
        minimumFonts.addAll$1(0, bestFonts);
      }
      return minimumFonts;
    },
    NotoFont$($name, approximateUnicodeRanges) {
      return new A.NotoFont($name, approximateUnicodeRanges);
    },
    RegisteredFont$(bytes, family, typeface) {
      type$.JavaScriptObject._as(new self.window.flutterCanvasKit.Font(typeface)).getGlyphBounds(A._setArrayType([0], type$.JSArray_int), null, null);
      return new A.RegisteredFont(family, bytes, typeface);
    },
    skiaInstantiateImageCodec(list, targetWidth, targetHeight) {
      var _s19_ = "encoded image bytes";
      if ($.$get$browserSupportsImageDecoder())
        return A.CkBrowserImageDecoder_create(list, _s19_, targetHeight, targetWidth);
      else
        return A.CkAnimatedImage$decodeFromBytes(list, _s19_);
    },
    ImageCodecException$(_message) {
      return new A.ImageCodecException(_message);
    },
    skiaInstantiateWebImageCodec(url, chunkCallback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, list;
      var $async$skiaInstantiateWebImageCodec = 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.fetchImage(url, chunkCallback), $async$skiaInstantiateWebImageCodec);
            case 3:
              // returning from await.
              list = $async$result;
              if ($.$get$browserSupportsImageDecoder()) {
                $async$returnValue = A.CkBrowserImageDecoder_create(list, url, null, null);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = A.CkAnimatedImage$decodeFromBytes(list, url);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$skiaInstantiateWebImageCodec, $async$completer);
    },
    fetchImage(url, chunkCallback) {
      var t1 = new A._Future($.Zone__current, type$._Future_Uint8List),
        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_Uint8List),
        request = $.$get$httpRequestFactory().call$0(),
        t2 = A._setArrayType(["GET", url], type$.JSArray_Object);
      t2.push(true);
      A.callMethod(request, "open", t2);
      request.responseType = "arraybuffer";
      A.DomEventTargetExtension_addEventListener(request, "progress", A.allowInterop(new A.fetchImage_closure(chunkCallback)), null);
      A.DomEventTargetExtension_addEventListener(request, "error", A.allowInterop(new A.fetchImage_closure0(completer, url)), null);
      A.DomEventTargetExtension_addEventListener(request, "load", A.allowInterop(new A.fetchImage_closure1(request, completer, url)), null);
      request.send();
      return t1;
    },
    CkImage$(skImage, videoFrame) {
      var t1 = new A.CkImage($, videoFrame);
      t1.CkImage$2$videoFrame(skImage, videoFrame);
      return t1;
    },
    CkImage$cloneOf(box) {
      ++box.__engine$_refCount;
      return new A.CkImage(box, null);
    },
    CkImage__encodeImage(alphaType, colorSpace, colorType, format, skImage) {
      var bytes = format === B.ImageByteFormat_0 || format === B.ImageByteFormat_1 ? skImage.readPixels(0, 0, type$.JavaScriptObject._as({width: skImage.width(), height: skImage.height(), colorType: colorType, alphaType: alphaType, colorSpace: colorSpace})) : skImage.encodeToBytes();
      return bytes == null ? null : A.NativeByteData_NativeByteData$view(bytes.buffer, 0, bytes.length);
    },
    CkAnimatedImage$decodeFromBytes(_bytes, src) {
      var t1 = new A.CkAnimatedImage(src, _bytes);
      t1.ManagedSkiaObject$1(null, type$.SkAnimatedImage);
      return t1;
    },
    CkBrowserImageDecoder_create(data, debugSource, targetHeight, targetWidth) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CkBrowserImageDecoder),
        $async$returnValue, decoder, contentType;
      var $async$CkBrowserImageDecoder_create = 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
              contentType = A.detectContentType(data);
              if (contentType == null)
                throw A.wrapException(A.ImageCodecException$("Failed to detect image file format using the file header.\nFile header was " + (!B.NativeUint8List_methods.get$isEmpty(data) ? "[" + A.bytesToHexString(B.NativeUint8List_methods.sublist$2(data, 0, Math.min(10, data.length))) + "]" : "empty") + ".\nImage source: " + debugSource));
              decoder = A.CkBrowserImageDecoder$_(contentType, data, debugSource, targetHeight, targetWidth);
              $async$goto = 3;
              return A._asyncAwait(decoder._getOrCreateWebDecoder$0(), $async$CkBrowserImageDecoder_create);
            case 3:
              // returning from await.
              $async$returnValue = decoder;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$CkBrowserImageDecoder_create, $async$completer);
    },
    CkBrowserImageDecoder$_(contentType, data, debugSource, targetHeight, targetWidth) {
      return new A.CkBrowserImageDecoder(contentType, targetWidth, targetHeight, data, debugSource, new A.AlarmClock(new A.CkBrowserImageDecoder__cacheExpirationClock_closure()));
    },
    detectContentType(data) {
      var t1, _i, format, t2, t3, i, magicByte;
      $label0$0:
        for (t1 = data.length, _i = 0; _i < 6; ++_i) {
          format = B.List_qp8[_i];
          t2 = format.header;
          t3 = t2.length;
          if (t1 < t3)
            continue $label0$0;
          for (i = 0; i < t3; ++i) {
            magicByte = t2[i];
            if (magicByte == null)
              continue;
            if (data[i] !== magicByte)
              continue $label0$0;
          }
          return format.contentType;
        }
      if (A.isAvif(data))
        return "image/avif";
      return null;
    },
    isAvif(data) {
      var t1, i, i0, j, t2, t3;
      $label0$0:
        for (t1 = data.length, i = 0; i < 16; i0 = i + 1, i = i0) {
          for (j = 0; t2 = $.$get$_avifSignature()._string, j < t2.length; ++j) {
            t3 = i + j;
            if (t3 >= t1)
              return false;
            if (data[t3] !== B.JSString_methods._codeUnitAt$1(t2, j))
              continue $label0$0;
          }
          return true;
        }
      return false;
    },
    _detectCanvasKit() {
      if (self.window.flutterWebRenderer != null) {
        var t1 = self.window.flutterWebRenderer;
        t1.toString;
        return J.$eq$(t1, "canvaskit");
      }
      t1 = $.$get$_operatingSystem();
      return J.containsKey$1$x(B.Set_69tl2._collection$_map, t1);
    },
    initializeCanvasKit() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1, $async$temp1;
      var $async$initializeCanvasKit = 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 = self.window.flutterCanvasKit != null ? 2 : 4;
              break;
            case 2:
              // then
              t1 = self.window.flutterCanvasKit;
              t1.toString;
              $.__canvasKit.__late_helper$_value = t1;
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = $.$get$useH5vccCanvasKit() ? 5 : 7;
              break;
            case 5:
              // then
              t1 = self.window.h5vcc;
              if ((t1 == null ? null : t1.canvasKit) == null)
                throw A.wrapException(A.CanvasKitError$("H5vcc CanvasKit implementation not found."));
              t1 = self.window.h5vcc.canvasKit;
              t1.toString;
              $.__canvasKit.__late_helper$_value = t1;
              self.window.flutterCanvasKit = $.__canvasKit._readField$0();
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              $async$temp1 = $.__canvasKit;
              $async$goto = 8;
              return A._asyncAwait(A.downloadCanvasKit(null), $async$initializeCanvasKit);
            case 8:
              // returning from await.
              $async$temp1.__late_helper$_value = $async$result;
              self.window.flutterCanvasKit = $.__canvasKit._readField$0();
            case 6:
              // join
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$initializeCanvasKit, $async$completer);
    },
    downloadCanvasKit(canvasKitBase) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.JavaScriptObject),
        $async$returnValue, t1;
      var $async$downloadCanvasKit = 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._downloadCanvasKitJs(canvasKitBase), $async$downloadCanvasKit);
            case 3:
              // returning from await.
              t1 = new A._Future($.Zone__current, type$._Future_JavaScriptObject);
              A.callMethod(self.window.CanvasKitInit(type$.JavaScriptObject._as({locateFile: A.allowInterop(new A.downloadCanvasKit_closure(canvasKitBase))})), "then", [A.allowInterop(new A.downloadCanvasKit_closure0(new A._AsyncCompleter(t1, type$._AsyncCompleter_JavaScriptObject)))]);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$downloadCanvasKit, $async$completer);
    },
    _downloadCanvasKitJs(canvasKitBase) {
      var callback,
        t1 = $._configuration,
        canvasKitJavaScriptUrl = (t1 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t1).get$canvasKitBaseUrl() + "profiling/canvaskit.js",
        canvasKitScript = A.DomDocumentExtension_createElement(self.document, "script");
      canvasKitScript.src = canvasKitJavaScriptUrl;
      t1 = new A._Future($.Zone__current, type$._Future_void);
      callback = A._Cell$named("callback");
      callback.__late_helper$_value = A.allowInterop(new A._downloadCanvasKitJs_loadEventHandler(new A._AsyncCompleter(t1, type$._AsyncCompleter_void), canvasKitScript, callback));
      A.DomEventTargetExtension_addEventListener(canvasKitScript, "load", callback._readLocal$0(), null);
      A.patchCanvasKitModule(canvasKitScript);
      return t1;
    },
    IntervalTree_IntervalTree$createFromRanges(rangesMap, $T) {
      var t1,
        intervals = A._setArrayType([], $T._eval$1("JSArray<IntervalTreeNode<0>>"));
      rangesMap.forEach$1(0, new A.IntervalTree_IntervalTree$createFromRanges_closure(intervals, $T));
      B.JSArray_methods.sort$1(intervals, new A.IntervalTree_IntervalTree$createFromRanges_closure0($T));
      t1 = new A.IntervalTree_IntervalTree$createFromRanges__makeBalancedTree($T).call$1(intervals);
      t1.toString;
      new A.IntervalTree_IntervalTree$createFromRanges__computeHigh($T).call$1(t1);
      return new A.IntervalTree(t1, $T._eval$1("IntervalTree<0>"));
    },
    CkPaint$() {
      var t1 = new A.CkPaint(B.BlendMode_3, B.PaintingStyle_0, B.StrokeCap_0, B.Color_4278190080, B.FilterQuality_0);
      t1.ManagedSkiaObject$1(null, type$.SkPaint);
      return t1;
    },
    CkPath$fromSkPath(skPath, _fillType) {
      var t2, t3,
        t1 = new A.CkPath(_fillType);
      t1.ManagedSkiaObject$1(skPath, type$.SkPath);
      t2 = t1.get$skiaObject();
      t3 = t1._fillType;
      t2.setFillType($.$get$_skFillTypes()[t3.index]);
      return t1;
    },
    SkiaObjects_registerCleanupCallback() {
      if ($.SkiaObjects__addedCleanupCallback)
        return;
      $.$get$EnginePlatformDispatcher__instance().get$rasterizer()._postFrameCallbacks.push(A._engine_SkiaObjects_postFrameCleanUp$closure());
      $.SkiaObjects__addedCleanupCallback = true;
    },
    SkiaObjects_markCacheForResize(cache) {
      A.SkiaObjects_registerCleanupCallback();
      if (B.JSArray_methods.contains$1($.SkiaObjects_cachesToResize, cache))
        return;
      $.SkiaObjects_cachesToResize.push(cache);
    },
    SkiaObjects_postFrameCleanUp() {
      var i, object;
      if ($.SkiaObjects_resurrectableObjects.length === 0 && $.SkiaObjects_cachesToResize.length === 0)
        return;
      for (i = 0; i < $.SkiaObjects_resurrectableObjects.length; ++i) {
        object = $.SkiaObjects_resurrectableObjects[i];
        object.delete$0(0);
        object.didDelete$0();
      }
      B.JSArray_methods.clear$0($.SkiaObjects_resurrectableObjects);
      for (i = 0; i < $.SkiaObjects_cachesToResize.length; ++i)
        $.SkiaObjects_cachesToResize[i].resize$0(0);
      B.JSArray_methods.clear$0($.SkiaObjects_cachesToResize);
    },
    SurfaceFactory_instance() {
      var t2, t3, t4, t5,
        _s20_ = "flt-canvas-container",
        t1 = $.SurfaceFactory__instance;
      if (t1 == null) {
        t1 = $._configuration;
        t1 = (t1 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t1).get$canvasKitMaximumSurfaces();
        t2 = A.DomDocumentExtension_createElement(self.document, _s20_);
        t3 = A.DomDocumentExtension_createElement(self.document, _s20_);
        t4 = type$.JSArray_Surface;
        t5 = A._setArrayType([], t4);
        t4 = A._setArrayType([], t4);
        t1 = $.SurfaceFactory__instance = new A.SurfaceFactory(new A.Surface(t2), new A.Surface(t3), t1, t5, t4);
      }
      return t1;
    },
    CkTextStyle_CkTextStyle(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, foreground, height, leadingDistribution, letterSpacing, locale, shadows, textBaseline, wordSpacing) {
      return new A.CkTextStyle(color, decoration, decorationColor, decorationStyle, decorationThickness, fontWeight, fontStyle, textBaseline, fontFamily, fontFamilyFallback, fontSize, letterSpacing, wordSpacing, height, leadingDistribution, locale, background, foreground, shadows, fontFeatures);
    },
    toSkFontStyle(fontWeight, fontStyle) {
      var style = A.SkFontStyle$(null);
      if (fontWeight != null)
        style.weight = $.$get$_skFontWeights()[fontWeight.index];
      if (fontStyle != null)
        style.slant = $.$get$_skFontSlants()[fontStyle.index];
      return style;
    },
    CkParagraphBuilder$(style) {
      var t2, t3, t4, _null = null,
        t1 = A._setArrayType([], type$.JSArray__ParagraphCommand);
      type$.CkParagraphStyle._as(style);
      t2 = A._setArrayType([], type$.JSArray_double);
      t3 = A._setArrayType([], type$.JSArray_CkTextStyle);
      t4 = $.__canvasKit._readField$0().ParagraphBuilder.MakeFromFontProvider(style.skParagraphStyle, $._skiaFontCollection.fontProvider);
      t3.push(A.CkTextStyle_CkTextStyle(_null, _null, _null, _null, _null, _null, style._fontFamily, _null, _null, style._fontSize, style._fontStyle, style._fontWeight, _null, style.__engine$_height, style._leadingDistribution, _null, _null, _null, _null, _null));
      return new A.CkParagraphBuilder(t4, style, t1, t2, t3);
    },
    _getEffectiveFontFamilies(fontFamily, fontFamilyFallback) {
      var fontFamilies = A._setArrayType([], type$.JSArray_String);
      if (fontFamily != null)
        fontFamilies.push(fontFamily);
      if (fontFamilyFallback != null && !B.JSArray_methods.every$1(fontFamilyFallback, new A._getEffectiveFontFamilies_closure(fontFamily)))
        B.JSArray_methods.addAll$1(fontFamilies, fontFamilyFallback);
      B.JSArray_methods.addAll$1(fontFamilies, $.$get$FontFallbackData__instance().globalFontFallbacks);
      return fontFamilies;
    },
    CanvasKitError$(message) {
      return new A.CanvasKitError(message);
    },
    makeFreshSkColor(color) {
      var result = new Float32Array(4);
      result[0] = (color.get$value(color) >>> 16 & 255) / 255;
      result[1] = (color.get$value(color) >>> 8 & 255) / 255;
      result[2] = (color.get$value(color) & 255) / 255;
      result[3] = (color.get$value(color) >>> 24 & 255) / 255;
      return result;
    },
    drawSkShadow(skCanvas, path, color, elevation, transparentOccluder, devicePixelRatio) {
      var t4,
        flags = transparentOccluder ? 5 : 4,
        inAmbient = A.Color$fromARGB(B.JSNumber_methods.round$0((color.get$value(color) >>> 24 & 255) * 0.039), color.get$value(color) >>> 16 & 255, color.get$value(color) >>> 8 & 255, color.get$value(color) & 255),
        inSpot = A.Color$fromARGB(B.JSNumber_methods.round$0((color.get$value(color) >>> 24 & 255) * 0.25), color.get$value(color) >>> 16 & 255, color.get$value(color) >>> 8 & 255, color.get$value(color) & 255),
        inTonalColors = type$.JavaScriptObject._as({ambient: A.makeFreshSkColor(inAmbient), spot: A.makeFreshSkColor(inSpot)}),
        t1 = $.__canvasKit._readField$0().computeTonalColors(inTonalColors),
        t2 = path.get$skiaObject(),
        t3 = new Float32Array(3);
      t3[2] = devicePixelRatio * elevation;
      t4 = new Float32Array(3);
      t4[0] = 0;
      t4[1] = -450;
      t4[2] = devicePixelRatio * 600;
      A.callMethod(skCanvas, "drawShadow", [t2, t3, t4, devicePixelRatio * 1.1, t1.ambient, t1.spot, flags]);
    },
    PasteFromClipboardStrategy_PasteFromClipboardStrategy() {
      var t1 = $.$get$_browserEngine();
      return t1 === B.BrowserEngine_2 || self.window.navigator.clipboard == null ? new A.ExecCommandPasteStrategy() : new A.ClipboardAPIPasteStrategy();
    },
    DomWindowExtension_get_navigator(_this) {
      return _this.navigator;
    },
    DomNavigatorExtension_get_userAgent(_this) {
      return _this.userAgent;
    },
    DomDocumentExtension_createElement(_this, $name) {
      var t1 = A._setArrayType([$name], type$.JSArray_Object);
      return type$.JavaScriptObject._as(A.callMethod(_this, "createElement", t1));
    },
    DomEventTargetExtension_addEventListener(_this, type, listener, useCapture) {
      var t1;
      if (listener != null) {
        t1 = A._setArrayType([type, listener], type$.JSArray_Object);
        if (useCapture != null)
          t1.push(useCapture);
        A.callMethod(_this, "addEventListener", t1);
      }
    },
    DomEventTargetExtension_removeEventListener(_this, type, listener, useCapture) {
      var t1;
      if (listener != null) {
        t1 = A._setArrayType([type, listener], type$.JSArray_Object);
        if (useCapture != null)
          t1.push(useCapture);
        A.callMethod(_this, "removeEventListener", t1);
      }
    },
    DomCSSStyleDeclarationExtension_setProperty(_this, propertyName, value) {
      _this.setProperty(propertyName, value, "");
    },
    DomHTMLStyleElement$(receiver) {
      return new A.DomHTMLStyleElement();
    },
    createDomCanvasElement(height, width) {
      var canvas = A.DomDocumentExtension_createElement(self.window.document, "canvas");
      if (width != null)
        canvas.width = width;
      if (height != null)
        canvas.height = height;
      return canvas;
    },
    DomCanvasElementExtension_getContext(_this, contextType) {
      return A.callMethod(_this, "getContext", [contextType]);
    },
    domCallConstructorString(constructorName, args) {
      var $constructor = self.window[constructorName];
      if ($constructor == null)
        return null;
      return A.callConstructor($constructor, args);
    },
    FlutterViewEmbedder$() {
      var t1 = document.body;
      t1.toString;
      t1 = new A.FlutterViewEmbedder(t1);
      t1.reset$0(0);
      return t1;
    },
    FlutterViewEmbedder__deviceOrientationToLockType(deviceOrientation) {
      switch (deviceOrientation) {
        case "DeviceOrientation.portraitUp":
          return "portrait-primary";
        case "DeviceOrientation.landscapeLeft":
          return "portrait-secondary";
        case "DeviceOrientation.portraitDown":
          return "landscape-primary";
        case "DeviceOrientation.landscapeRight":
          return "landscape-secondary";
        default:
          return null;
      }
    },
    applyGlobalCssRulesToSheet(sheet, browserEngine, hasAutofillOverlay) {
      var t1,
        isWebKit = browserEngine === B.BrowserEngine_1,
        isFirefox = browserEngine === B.BrowserEngine_2;
      if (isFirefox)
        sheet.insertRule("flt-paragraph, flt-span {line-height: 100%;}", sheet.cssRules.length);
      sheet.insertRule("    flt-semantics input[type=range] {\n      appearance: none;\n      -webkit-appearance: none;\n      width: 100%;\n      position: absolute;\n      border: none;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 0;\n    }\n    ", sheet.cssRules.length);
      if (isWebKit)
        sheet.insertRule("flt-semantics input[type=range]::-webkit-slider-thumb {  -webkit-appearance: none;}", sheet.cssRules.length);
      if (isFirefox) {
        sheet.insertRule("input::-moz-selection {  background-color: transparent;}", sheet.cssRules.length);
        sheet.insertRule("textarea::-moz-selection {  background-color: transparent;}", sheet.cssRules.length);
      } else {
        sheet.insertRule("input::selection {  background-color: transparent;}", sheet.cssRules.length);
        sheet.insertRule("textarea::selection {  background-color: transparent;}", sheet.cssRules.length);
      }
      sheet.insertRule('    flt-semantics input,\n    flt-semantics textarea,\n    flt-semantics [contentEditable="true"] {\n    caret-color: transparent;\n  }\n  ', sheet.cssRules.length);
      if (isWebKit)
        sheet.insertRule("      flt-glass-pane * {\n      -webkit-tap-highlight-color: transparent;\n    }\n    ", sheet.cssRules.length);
      sheet.insertRule("    .flt-text-editing::placeholder {\n      opacity: 0;\n    }\n    ", sheet.cssRules.length);
      t1 = $.$get$_browserEngine();
      if (t1 !== B.BrowserEngine_0)
        if (t1 !== B.BrowserEngine_5)
          t1 = t1 === B.BrowserEngine_1;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        sheet.insertRule("      .transparentTextEditing:-webkit-autofill,\n      .transparentTextEditing:-webkit-autofill:hover,\n      .transparentTextEditing:-webkit-autofill:focus,\n      .transparentTextEditing:-webkit-autofill:active {\n        -webkit-transition-delay: 99999s;\n      }\n    ", sheet.cssRules.length);
    },
    flutterViewEmbedder() {
      var embedder = $._flutterViewEmbedder;
      embedder.toString;
      return embedder;
    },
    transformWithOffset(transform, offset) {
      var effectiveTransform;
      if (offset.$eq(0, B.Offset_0_0))
        return transform;
      effectiveTransform = new A.Matrix40(new Float32Array(16));
      effectiveTransform.setFrom$1(transform);
      effectiveTransform.translate$3(0, offset._dx, offset._dy, 0);
      return effectiveTransform;
    },
    drawParagraphElement(paragraph, offset, transform) {
      var paragraphElement = paragraph.toDomElement$0();
      if (transform != null)
        A.setElementTransform(paragraphElement, A.transformWithOffset(transform, offset).__engine$_m4storage);
      return paragraphElement;
    },
    sendFontChangeMessage() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$sendFontChangeMessage = 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 (!$._fontChangeScheduled) {
                $._fontChangeScheduled = true;
                B.Window_methods.requestAnimationFrame$1(window, new A.sendFontChangeMessage_closure());
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$sendFontChangeMessage, $async$completer);
    },
    BitmapCanvas$(_bounds, renderStrategy, density) {
      var t1 = A.DomDocumentExtension_createElement(self.document, "flt-canvas"),
        t2 = A._setArrayType([], type$.JSArray_JavaScriptObject),
        t3 = A.EnginePlatformDispatcher_browserDevicePixelRatio(),
        t4 = _bounds.left,
        t5 = _bounds.right - t4,
        t6 = A.BitmapCanvas_widthToPhysical(t5),
        t7 = _bounds.top,
        t8 = _bounds.bottom - t7,
        t9 = A.BitmapCanvas_heightToPhysical(t8);
      t8 = new A.CanvasPool(A.BitmapCanvas_widthToPhysical(t5), A.BitmapCanvas_heightToPhysical(t8), density, A._setArrayType([], type$.JSArray_SaveStackEntry), A.Matrix4$identity());
      t3 = new A.BitmapCanvas(_bounds, t1, t8, t2, t6, t9, t3, density, renderStrategy);
      A.DomCSSStyleDeclarationExtension_setProperty(t1.style, "position", "absolute");
      t3._canvasPositionX = B.JSNumber_methods.floor$0(t4) - 1;
      t3._canvasPositionY = B.JSNumber_methods.floor$0(t7) - 1;
      t3._updateRootElementTransform$0();
      t8._rootElement = type$.HtmlElement._as(t1);
      t3._setupInitialTransform$0();
      return t3;
    },
    BitmapCanvas_widthToPhysical(width) {
      return B.JSNumber_methods.ceil$0((width + 1) * A.EnginePlatformDispatcher_browserDevicePixelRatio()) + 2;
    },
    BitmapCanvas_heightToPhysical(height) {
      return B.JSNumber_methods.ceil$0((height + 1) * A.EnginePlatformDispatcher_browserDevicePixelRatio()) + 2;
    },
    BitmapCanvas__onEvictElement(element) {
      element.remove();
    },
    blendModeToCssMixBlendMode(blendMode) {
      if (blendMode == null)
        return null;
      switch (blendMode.index) {
        case 3:
          return "source-over";
        case 5:
          return "source-in";
        case 7:
          return "source-out";
        case 9:
          return "source-atop";
        case 4:
          return "destination-over";
        case 6:
          return "destination-in";
        case 8:
          return "destination-out";
        case 10:
          return "destination-atop";
        case 12:
          return "lighten";
        case 1:
          return "copy";
        case 11:
          return "xor";
        case 24:
        case 13:
          return "multiply";
        case 14:
          return "screen";
        case 15:
          return "overlay";
        case 16:
          return "darken";
        case 17:
          return "lighten";
        case 18:
          return "color-dodge";
        case 19:
          return "color-burn";
        case 20:
          return "hard-light";
        case 21:
          return "soft-light";
        case 22:
          return "difference";
        case 23:
          return "exclusion";
        case 25:
          return "hue";
        case 26:
          return "saturation";
        case 27:
          return "color";
        case 28:
          return "luminosity";
        default:
          throw A.wrapException(A.UnimplementedError$("Flutter Web does not support the blend mode: " + blendMode.toString$0(0)));
      }
    },
    blendModeToSvgEnum(blendMode) {
      switch (blendMode.index) {
        case 0:
          return B.SvgBlendMode_0;
        case 3:
          return B.SvgBlendMode_00;
        case 5:
          return B.SvgBlendMode_01;
        case 7:
          return B.SvgBlendMode_02;
        case 9:
          return B.SvgBlendMode_03;
        case 4:
          return B.SvgBlendMode_04;
        case 6:
          return B.SvgBlendMode_05;
        case 8:
          return B.SvgBlendMode_06;
        case 10:
          return B.SvgBlendMode_07;
        case 12:
          return B.SvgBlendMode_08;
        case 1:
          return B.SvgBlendMode_09;
        case 11:
          return B.SvgBlendMode_010;
        case 24:
        case 13:
          return B.SvgBlendMode_2;
        case 14:
          return B.SvgBlendMode_3;
        case 15:
          return B.SvgBlendMode_6;
        case 16:
          return B.SvgBlendMode_4;
        case 17:
          return B.SvgBlendMode_5;
        case 18:
          return B.SvgBlendMode_7;
        case 19:
          return B.SvgBlendMode_8;
        case 20:
          return B.SvgBlendMode_9;
        case 21:
          return B.SvgBlendMode_10;
        case 22:
          return B.SvgBlendMode_11;
        case 23:
          return B.SvgBlendMode_12;
        case 25:
          return B.SvgBlendMode_13;
        case 26:
          return B.SvgBlendMode_14;
        case 27:
          return B.SvgBlendMode_15;
        case 28:
          return B.SvgBlendMode_16;
        default:
          return B.SvgBlendMode_1;
      }
    },
    stringForStrokeCap(strokeCap) {
      switch (strokeCap.index) {
        case 0:
          return "butt";
        case 1:
          return "round";
        case 2:
        default:
          return "square";
      }
    },
    stringForStrokeJoin(strokeJoin) {
      switch (strokeJoin.index) {
        case 1:
          return "round";
        case 2:
          return "bevel";
        case 0:
        default:
          return "miter";
      }
    },
    _clipContent(clipStack, $content, offset, currentTransform) {
      var t2, t3, root, curElement, clipIndex, entry, t4, t5, newElement, rect, newClipTransform, transformKind, clipOffsetX, clipOffsetY, newClipTransform0, t6, t7, t8, t9, t10, ovalBounds, reverseTransformDiv,
        t1 = type$.JSArray_JavaScriptObject,
        clipDefs = A._setArrayType([], t1),
        len = clipStack.length;
      for (t2 = type$.JavaScriptObject, t3 = type$.JSArray_Object, root = null, curElement = null, clipIndex = 0; clipIndex < len; ++clipIndex, curElement = reverseTransformDiv) {
        entry = clipStack[clipIndex];
        t4 = self.document;
        t5 = A._setArrayType(["div"], t3);
        newElement = t2._as(t4.createElement.apply(t4, t5));
        t4 = newElement.style;
        t4.setProperty("position", "absolute", "");
        t4 = $.$get$_browserEngine();
        if (t4 === B.BrowserEngine_1) {
          t4 = newElement.style;
          t4.setProperty("z-index", "0", "");
        }
        if (root == null)
          root = newElement;
        else
          curElement.append(newElement);
        rect = entry.rect;
        newClipTransform = entry.currentTransform;
        t4 = newClipTransform.__engine$_m4storage;
        transformKind = A.transformKindOf(t4);
        if (rect != null) {
          clipOffsetX = rect.left;
          clipOffsetY = rect.top;
          t4 = new Float32Array(16);
          newClipTransform0 = new A.Matrix40(t4);
          newClipTransform0.setFrom$1(newClipTransform);
          newClipTransform0.translate$2(0, clipOffsetX, clipOffsetY);
          t5 = newElement.style;
          t5.setProperty("overflow", "hidden", "");
          t6 = rect.right;
          t5.setProperty("width", A.S(t6 - clipOffsetX) + "px", "");
          t6 = rect.bottom;
          t5.setProperty("height", A.S(t6 - clipOffsetY) + "px", "");
          t5 = newElement.style;
          t5.setProperty("transform-origin", "0 0 0", "");
          t4 = A.float64ListToCssTransform(t4);
          t5.setProperty("transform", t4, "");
          newClipTransform = newClipTransform0;
        } else {
          t5 = entry.rrect;
          if (t5 != null) {
            t4 = t5.tlRadiusX;
            t6 = t5.trRadiusX;
            t7 = t5.brRadiusX;
            t8 = t5.blRadiusX;
            clipOffsetX = t5.left;
            clipOffsetY = t5.top;
            t9 = new Float32Array(16);
            newClipTransform0 = new A.Matrix40(t9);
            newClipTransform0.setFrom$1(newClipTransform);
            newClipTransform0.translate$2(0, clipOffsetX, clipOffsetY);
            t10 = newElement.style;
            t10.setProperty("border-radius", A.S(t4) + "px " + A.S(t6) + "px " + A.S(t7) + "px " + A.S(t8) + "px", "");
            t10.setProperty("overflow", "hidden", "");
            t4 = t5.right;
            t10.setProperty("width", A.S(t4 - clipOffsetX) + "px", "");
            t4 = t5.bottom;
            t10.setProperty("height", A.S(t4 - clipOffsetY) + "px", "");
            t4 = newElement.style;
            t4.setProperty("transform-origin", "0 0 0", "");
            t5 = A.float64ListToCssTransform(t9);
            t4.setProperty("transform", t5, "");
            newClipTransform = newClipTransform0;
          } else {
            t5 = entry.path;
            if (t5 != null) {
              t6 = t5.pathRef;
              if ((t6.fIsOval ? t6.fRRectOrOvalStartIdx : -1) !== -1) {
                ovalBounds = t5.getBounds$0(0);
                clipOffsetX = ovalBounds.left;
                clipOffsetY = ovalBounds.top;
                t4 = new Float32Array(16);
                newClipTransform0 = new A.Matrix40(t4);
                newClipTransform0.setFrom$1(newClipTransform);
                newClipTransform0.translate$2(0, clipOffsetX, clipOffsetY);
                t5 = newElement.style;
                t5.setProperty("overflow", "hidden", "");
                t5.setProperty("width", A.S(ovalBounds.right - clipOffsetX) + "px", "");
                t5.setProperty("height", A.S(ovalBounds.bottom - clipOffsetY) + "px", "");
                t5.setProperty("border-radius", "50%", "");
                t5 = newElement.style;
                t5.setProperty("transform-origin", "0 0 0", "");
                t4 = A.float64ListToCssTransform(t4);
                t5.setProperty("transform", t4, "");
                newClipTransform = newClipTransform0;
              } else {
                t6 = newElement.style;
                t4 = A.float64ListToCssTransform(t4);
                t6.setProperty("transform", t4, "");
                t6.setProperty("transform-origin", "0 0 0", "");
                clipDefs.push(A.createSvgClipDef(newElement, t5));
              }
            }
          }
        }
        t4 = self.document;
        t5 = A._setArrayType(["div"], t3);
        reverseTransformDiv = t2._as(t4.createElement.apply(t4, t5));
        t4 = reverseTransformDiv.style;
        t4.setProperty("position", "absolute", "");
        t4 = new Float32Array(16);
        t5 = new A.Matrix40(t4);
        t5.setFrom$1(newClipTransform);
        t5.copyInverse$1(t5);
        t5 = reverseTransformDiv.style;
        t5.setProperty("transform-origin", "0 0 0", "");
        t4 = A.float64ListToCssTransform(t4);
        t5.setProperty("transform", t4, "");
        if (transformKind === B.TransformKind_2) {
          t4 = newElement.style;
          t4.setProperty("transform-style", "preserve-3d", "");
          t4 = reverseTransformDiv.style;
          t4.setProperty("transform-style", "preserve-3d", "");
        }
        newElement.append(reverseTransformDiv);
      }
      A.DomCSSStyleDeclarationExtension_setProperty(root.style, "position", "absolute");
      curElement.append($content);
      A.setElementTransform($content, A.transformWithOffset(currentTransform, offset).__engine$_m4storage);
      t1 = A._setArrayType([root], t1);
      B.JSArray_methods.addAll$1(t1, clipDefs);
      return t1;
    },
    maskFilterToCanvasFilter(maskFilter) {
      var t1, t2;
      if (maskFilter != null) {
        t1 = maskFilter._sigma;
        t2 = $.$get$window()._debugDevicePixelRatio;
        return "blur(" + A.S(t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2)) + "px)";
      } else
        return "none";
    },
    createSvgClipDef(element, clipPath) {
      var root, t3, t4, defs, t5, clipPath0, svgPath,
        _s26_ = "http://www.w3.org/2000/svg",
        pathBounds = clipPath.getBounds$0(0),
        t1 = pathBounds.right,
        t2 = pathBounds.bottom;
      $._clipIdCounter = $._clipIdCounter + 1;
      root = type$.SvgSvgElement._as($.$get$kSvgResourceHeader().cloneNode(false));
      t3 = document;
      t4 = type$.SvgElement;
      defs = type$.DefsElement._as(t4._as(B.HtmlDocument_methods.createElementNS$2(t3, _s26_, "defs")));
      root.appendChild(defs);
      t5 = $._clipIdCounter;
      clipPath0 = type$.ClipPathElement._as(t4._as(B.HtmlDocument_methods.createElementNS$2(t3, _s26_, "clipPath")));
      defs.appendChild(clipPath0);
      clipPath0.id = "svgClip" + t5;
      svgPath = type$.PathElement._as(t4._as(B.HtmlDocument_methods.createElementNS$2(t3, _s26_, "path")));
      clipPath0.appendChild(svgPath);
      svgPath.setAttribute("fill", "#FFFFFF");
      t3 = $.$get$_browserEngine();
      if (t3 !== B.BrowserEngine_2) {
        clipPath0.setAttribute("clipPathUnits", "objectBoundingBox");
        svgPath.setAttribute("transform", "scale(" + A.S(1 / t1) + ", " + A.S(1 / t2) + ")");
      }
      svgPath.setAttribute("d", A.pathToSvg(type$.SurfacePath._as(clipPath).pathRef, 0, 0));
      t4 = "url(#svgClip" + $._clipIdCounter + ")";
      if (t3 === B.BrowserEngine_1)
        A.DomCSSStyleDeclarationExtension_setProperty(element.style, "-webkit-clip-path", t4);
      A.DomCSSStyleDeclarationExtension_setProperty(element.style, "clip-path", t4);
      t3 = element.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t3, "width", A.S(t1) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t3, "height", A.S(t2) + "px");
      return root;
    },
    SvgFilterBuilder$() {
      var t1 = type$.SvgSvgElement._as($.$get$kSvgResourceHeader().cloneNode(false)),
        t2 = type$.FilterElement._as(type$.SvgElement._as(B.HtmlDocument_methods.createElementNS$2(document, "http://www.w3.org/2000/svg", "filter"))),
        t3 = $.SvgFilterBuilder__filterIdCounter + 1;
      $.SvgFilterBuilder__filterIdCounter = t3;
      t3 = "_fcf" + t3;
      t2.id = t3;
      t2.filterUnits.baseVal = 2;
      t2.x.baseVal.valueAsString = "0%";
      t2.y.baseVal.valueAsString = "0%";
      t2.width.baseVal.valueAsString = "100%";
      t2.height.baseVal.valueAsString = "100%";
      return new A.SvgFilterBuilder(t3, t1, t2);
    },
    _blendColorFilterToSvg(color, svgBlendMode, swapLayers) {
      var _s5_ = "flood",
        _s13_ = "SourceGraphic",
        builder = A.SvgFilterBuilder$(),
        t1 = A.colorToCssString(color);
      builder.setFeFlood$3$floodColor$floodOpacity$result(t1 == null ? "" : t1, "1", _s5_);
      t1 = svgBlendMode.blendMode;
      if (swapLayers)
        builder.setFeBlend$3$in1$in2$mode(_s13_, _s5_, t1);
      else
        builder.setFeBlend$3$in1$in2$mode(_s5_, _s13_, t1);
      return builder.build$0();
    },
    buildDrawRectElement(rect, paint, tagName, transform) {
      var t1, t2, left, right, $top, bottom, effectiveTransform, translated, cssColor, sigma, t3, url,
        rectangle = A.DomDocumentExtension_createElement(self.document, tagName),
        isStroke = paint.style === B.PaintingStyle_1,
        strokeWidth = paint.strokeWidth;
      if (strokeWidth == null)
        strokeWidth = 0;
      t1 = rect.left;
      t2 = rect.right;
      left = Math.min(t1, t2);
      right = Math.max(t1, t2);
      t2 = rect.top;
      t1 = rect.bottom;
      $top = Math.min(t2, t1);
      bottom = Math.max(t2, t1);
      if (transform.isIdentity$0(0))
        if (isStroke) {
          t1 = strokeWidth / 2;
          effectiveTransform = "translate(" + A.S(left - t1) + "px, " + A.S($top - t1) + "px)";
        } else
          effectiveTransform = "translate(" + A.S(left) + "px, " + A.S($top) + "px)";
      else {
        t1 = new Float32Array(16);
        translated = new A.Matrix40(t1);
        translated.setFrom$1(transform);
        if (isStroke) {
          t2 = strokeWidth / 2;
          translated.translate$2(0, left - t2, $top - t2);
        } else
          translated.translate$2(0, left, $top);
        effectiveTransform = A.float64ListToCssTransform(t1);
      }
      t1 = rectangle.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "position", "absolute");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform-origin", "0 0 0");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform", effectiveTransform);
      t2 = paint.color;
      if (t2 == null)
        cssColor = "#000000";
      else {
        t2 = A.colorToCssString(t2);
        t2.toString;
        cssColor = t2;
      }
      t2 = paint.maskFilter;
      if (t2 != null) {
        sigma = t2._sigma;
        t2 = $.$get$_browserEngine();
        if (t2 === B.BrowserEngine_1 && !isStroke) {
          A.DomCSSStyleDeclarationExtension_setProperty(t1, "box-shadow", "0px 0px " + A.S(sigma * 2) + "px " + cssColor);
          t2 = paint.color;
          if (t2 == null)
            t2 = B.Color_4278190080;
          t2 = A.colorToCssString(new A.Color(((B.JSNumber_methods.round$0((1 - Math.min(Math.sqrt(sigma) / 6.283185307179586, 1)) * (t2.get$value(t2) >>> 24 & 255)) & 255) << 24 | t2.get$value(t2) & 16777215) >>> 0));
          t2.toString;
          cssColor = t2;
        } else
          A.DomCSSStyleDeclarationExtension_setProperty(t1, "filter", "blur(" + A.S(sigma) + "px)");
      }
      t2 = right - left;
      t3 = bottom - $top;
      if (isStroke) {
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "width", A.S(t2 - strokeWidth) + "px");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "height", A.S(t3 - strokeWidth) + "px");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "border", A._borderStrokeToCssUnit(strokeWidth) + " solid " + cssColor);
      } else {
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "width", A.S(t2) + "px");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "height", A.S(t3) + "px");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "background-color", cssColor);
        url = A._getBackgroundImageUrl(paint.shader, rect);
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "background-image", url !== "" ? "url('" + url + "'" : "");
      }
      return rectangle;
    },
    _getBackgroundImageUrl(shader, bounds) {
      if (shader != null)
        if (shader instanceof A.EngineGradient)
          return A._asString(shader.createImageBitmap$3(bounds, 1, true));
      return "";
    },
    applyRRectBorderRadius(style, rrect) {
      var t3, t4,
        t1 = rrect.tlRadiusX,
        t2 = rrect.trRadiusX;
      if (t1 === t2) {
        t3 = rrect.blRadiusX;
        if (t1 === t3) {
          t4 = rrect.brRadiusX;
          t3 = t1 === t4 && t1 === rrect.tlRadiusY && t2 === rrect.trRadiusY && t3 === rrect.blRadiusY && t4 === rrect.brRadiusY;
        } else
          t3 = false;
      } else
        t3 = false;
      if (t3) {
        A.DomCSSStyleDeclarationExtension_setProperty(style, "border-radius", A._borderStrokeToCssUnit(rrect.blRadiusX));
        return;
      }
      A.DomCSSStyleDeclarationExtension_setProperty(style, "border-top-left-radius", A._borderStrokeToCssUnit(t1) + " " + A._borderStrokeToCssUnit(rrect.tlRadiusY));
      A.DomCSSStyleDeclarationExtension_setProperty(style, "border-top-right-radius", A._borderStrokeToCssUnit(t2) + " " + A._borderStrokeToCssUnit(rrect.trRadiusY));
      A.DomCSSStyleDeclarationExtension_setProperty(style, "border-bottom-left-radius", A._borderStrokeToCssUnit(rrect.blRadiusX) + " " + A._borderStrokeToCssUnit(rrect.blRadiusY));
      A.DomCSSStyleDeclarationExtension_setProperty(style, "border-bottom-right-radius", A._borderStrokeToCssUnit(rrect.brRadiusX) + " " + A._borderStrokeToCssUnit(rrect.brRadiusY));
    },
    _borderStrokeToCssUnit(value) {
      return B.JSNumber_methods.toStringAsFixed$1(value === 0 ? 1 : value, 3) + "px";
    },
    Conic__subdivide(src, level, pointList) {
      var dst, t1, t2, startY, endY, midY, t3;
      if (0 === level) {
        pointList.push(new A.Offset(src.p1x, src.p1y));
        pointList.push(new A.Offset(src.p2x, src.p2y));
        return;
      }
      dst = new A._ConicPair();
      src._chop$1(dst);
      t1 = dst.first;
      t1.toString;
      t2 = dst.second;
      t2.toString;
      startY = src.p0y;
      endY = src.p2y;
      if (A.SPath_between(startY, src.p1y, endY)) {
        midY = t1.p2y;
        if (!A.SPath_between(startY, midY, endY))
          t3 = t1.p2y = t2.p0y = Math.abs(midY - startY) < Math.abs(midY - endY) ? startY : endY;
        else
          t3 = midY;
        if (!A.SPath_between(startY, t1.p1y, t3))
          t1.p1y = startY;
        if (!A.SPath_between(t2.p0y, t2.p1y, endY))
          t2.p1y = endY;
      }
      --level;
      A.Conic__subdivide(t1, level, pointList);
      A.Conic__subdivide(t2, level, pointList);
    },
    Conic_evalNumerator(p0, p1, p2, w, t) {
      var src2w = p1 * w;
      return ((p2 - 2 * src2w + p0) * t + 2 * (src2w - p0)) * t + p0;
    },
    Conic_evalDenominator(w, t) {
      var $B = 2 * (w - 1);
      return (-$B * t + $B) * t + 1;
    },
    chopCubicAtYExtrema(points, dest) {
      var t1, roots, t2, t3, rootCount,
        y0 = points[1],
        y1 = points[3],
        y2 = points[5],
        _quadRoots = new A.QuadRoots();
      _quadRoots.findRoots$3(points[7] - y0 + 3 * (y1 - y2), 2 * (y0 - y1 - y1 + y2), y1 - y0);
      t1 = _quadRoots.root0;
      if (t1 == null)
        roots = A._setArrayType([], type$.JSArray_double);
      else {
        t2 = _quadRoots.root1;
        t3 = type$.JSArray_double;
        roots = t2 == null ? A._setArrayType([t1], t3) : A._setArrayType([t1, t2], t3);
      }
      if (roots.length === 0)
        return 0;
      A._chopCubicAt(roots, points, dest);
      rootCount = roots.length;
      if (rootCount > 0) {
        t1 = dest[7];
        dest[9] = t1;
        dest[5] = t1;
        if (rootCount === 2) {
          t1 = dest[13];
          dest[15] = t1;
          dest[11] = t1;
        }
      }
      return rootCount;
    },
    _chopCubicAt(tValues, points, outPts) {
      var i, t, t1, bufferPos, p3y, p0x, t2, p0y, p1x, p1y, p2x, p2y, bufferPos0, p3x, t3, ab1x, ab1y, bc1x, bc1y, cd1x, cd1y, abc1x, abc1y, bcd1x, bcd1y, outIndex, outIndex0, i0,
        rootCount = tValues.length;
      if (0 === rootCount)
        for (i = 0; i < 8; ++i)
          outPts[i] = points[i];
      else {
        t = tValues[0];
        for (t1 = rootCount - 1, bufferPos = 0, i = 0; i < rootCount; i = i0, bufferPos = bufferPos0) {
          p3y = points[bufferPos + 7];
          p0x = points[bufferPos];
          t2 = bufferPos + 1;
          p0y = points[t2];
          p1x = points[bufferPos + 2];
          p1y = points[bufferPos + 3];
          p2x = points[bufferPos + 4];
          p2y = points[bufferPos + 5];
          bufferPos0 = bufferPos + 6;
          p3x = points[bufferPos0];
          t3 = 1 - t;
          ab1x = p0x * t3 + p1x * t;
          ab1y = p0y * t3 + p1y * t;
          bc1x = p1x * t3 + p2x * t;
          bc1y = p1y * t3 + p2y * t;
          cd1x = p2x * t3 + p3x * t;
          cd1y = p2y * t3 + p3y * t;
          abc1x = ab1x * t3 + bc1x * t;
          abc1y = ab1y * t3 + bc1y * t;
          bcd1x = bc1x * t3 + cd1x * t;
          bcd1y = bc1y * t3 + cd1y * t;
          outPts[bufferPos] = p0x;
          outIndex = t2 + 1;
          outPts[t2] = p0y;
          outIndex0 = outIndex + 1;
          outPts[outIndex] = ab1x;
          outIndex = outIndex0 + 1;
          outPts[outIndex0] = ab1y;
          outIndex0 = outIndex + 1;
          outPts[outIndex] = abc1x;
          outIndex = outIndex0 + 1;
          outPts[outIndex0] = abc1y;
          outIndex0 = outIndex + 1;
          outPts[outIndex] = abc1x * t3 + bcd1x * t;
          outIndex = outIndex0 + 1;
          outPts[outIndex0] = abc1y * t3 + bcd1y * t;
          outIndex0 = outIndex + 1;
          outPts[outIndex] = bcd1x;
          outIndex = outIndex0 + 1;
          outPts[outIndex0] = bcd1y;
          outIndex0 = outIndex + 1;
          outPts[outIndex] = cd1x;
          outIndex = outIndex0 + 1;
          outPts[outIndex0] = cd1y;
          outPts[outIndex] = p3x;
          outPts[outIndex + 1] = p3y;
          if (i === t1)
            break;
          i0 = i + 1;
          t2 = tValues[i0];
          t3 = tValues[i];
          t = A.validUnitDivide(t2 - t3, 1 - t3);
          if (t == null) {
            t1 = points[bufferPos0 + 3];
            outPts[bufferPos0 + 6] = t1;
            outPts[bufferPos0 + 5] = t1;
            outPts[bufferPos0 + 4] = t1;
            break;
          }
        }
      }
    },
    chopMonoAtY(_buffer, bufferStartPos, y) {
      var tNeg, tPos, t1, t2, t3, tMid, y01, y12, y012, y0123,
        ycrv0 = _buffer[1 + bufferStartPos] - y,
        ycrv1 = _buffer[3 + bufferStartPos] - y,
        ycrv2 = _buffer[5 + bufferStartPos] - y,
        ycrv3 = _buffer[7 + bufferStartPos] - y;
      if (ycrv0 < 0) {
        if (ycrv3 < 0)
          return null;
        tNeg = 0;
        tPos = 1;
      } else {
        if (!(ycrv0 > 0))
          return 0;
        tNeg = 1;
        tPos = 0;
      }
      t1 = ycrv1 - ycrv0;
      t2 = ycrv2 - ycrv1;
      t3 = ycrv3 - ycrv2;
      do {
        tMid = (tPos + tNeg) / 2;
        y01 = ycrv0 + t1 * tMid;
        y12 = ycrv1 + t2 * tMid;
        y012 = y01 + (y12 - y01) * tMid;
        y0123 = y012 + (y12 + (ycrv2 + t3 * tMid - y12) * tMid - y012) * tMid;
        if (y0123 === 0)
          return tMid;
        if (y0123 < 0)
          tNeg = tMid;
        else
          tPos = tMid;
      } while (Math.abs(tPos - tNeg) > 0.0000152587890625);
      return (tNeg + tPos) / 2;
    },
    evalCubicPts(c0, c1, c2, c3, t) {
      return (((c3 + 3 * (c1 - c2) - c0) * t + 3 * (c2 - c1 - c1 + c0)) * t + 3 * (c1 - c0)) * t + c0;
    },
    SurfacePath$() {
      var t1 = new A.SurfacePath(A.PathRef$(), B.PathFillType_0);
      t1._resetFields$0();
      return t1;
    },
    _arcIsLonePoint(oval, startAngle, sweepAngle) {
      var t1;
      if (0 === sweepAngle)
        t1 = 0 === startAngle || 360 === startAngle;
      else
        t1 = false;
      if (t1)
        return new A.Offset(oval.right, oval.get$center()._dy);
      return null;
    },
    _computeMinScale(radius1, radius2, limit, scale) {
      var totalRadius = radius1 + radius2;
      if (totalRadius <= limit)
        return scale;
      return Math.min(limit / totalRadius, scale);
    },
    PathIterator$(pathRef, forceClose) {
      var t1 = new A.PathIterator(pathRef, true, pathRef._fVerbsLength);
      if (pathRef.fBoundsIsDirty)
        pathRef._computeBounds$0();
      if (!pathRef.fIsFinite)
        t1._verbIndex = pathRef._fVerbsLength;
      return t1;
    },
    PathRef$() {
      var t1 = new Float32Array(16);
      t1 = new A.PathRef(t1, new Uint8Array(8));
      t1._fVerbsCapacity = t1._fPointsCapacity = 8;
      t1.fRRectOrOvalStartIdx = 172;
      return t1;
    },
    PathRef__fPointsFromSource(source, offsetX, offsetY) {
      var i, t1,
        sourceLength = source._fPointsLength,
        sourceCapacity = source._fPointsCapacity,
        dest = new Float32Array(sourceCapacity * 2),
        sourcePoints = source.fPoints,
        len = sourceLength * 2;
      for (i = 0; i < len; i += 2) {
        dest[i] = sourcePoints[i] + offsetX;
        t1 = i + 1;
        dest[t1] = sourcePoints[t1] + offsetY;
      }
      return dest;
    },
    pathToSvg(pathRef, offsetX, offsetY) {
      var outPts, verb, w, points, len, i, t1, t2,
        buffer = new A.StringBuffer(""),
        iter = new A.PathRefIterator(pathRef);
      iter.PathRefIterator$1(pathRef);
      outPts = new Float32Array(8);
      for (; verb = iter.next$1(0, outPts), verb !== 6;)
        switch (verb) {
          case 0:
            buffer._contents += "M " + A.S(outPts[0] + offsetX) + " " + A.S(outPts[1] + offsetY);
            break;
          case 1:
            buffer._contents += "L " + A.S(outPts[2] + offsetX) + " " + A.S(outPts[3] + offsetY);
            break;
          case 4:
            buffer._contents += "C " + A.S(outPts[2] + offsetX) + " " + A.S(outPts[3] + offsetY) + " " + A.S(outPts[4] + offsetX) + " " + A.S(outPts[5] + offsetY) + " " + A.S(outPts[6] + offsetX) + " " + A.S(outPts[7] + offsetY);
            break;
          case 2:
            buffer._contents += "Q " + A.S(outPts[2] + offsetX) + " " + A.S(outPts[3] + offsetY) + " " + A.S(outPts[4] + offsetX) + " " + A.S(outPts[5] + offsetY);
            break;
          case 3:
            w = pathRef._conicWeights[iter._conicWeightIndex];
            points = new A.Conic(outPts[0], outPts[1], outPts[2], outPts[3], outPts[4], outPts[5], w).toQuads$0();
            len = points.length;
            for (i = 1; i < len; i += 2) {
              t1 = points[i];
              t2 = points[i + 1];
              buffer._contents += "Q " + A.S(t1._dx + offsetX) + " " + A.S(t1._dy + offsetY) + " " + A.S(t2._dx + offsetX) + " " + A.S(t2._dy + offsetY);
            }
            break;
          case 5:
            buffer._contents += "Z";
            break;
          default:
            throw A.wrapException(A.UnimplementedError$("Unknown path verb " + verb));
        }
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    SPath_between(a, b, c) {
      return (a - b) * (c - b) <= 0;
    },
    SPath_scalarSignedAsInt(x) {
      var t1;
      if (x < 0)
        t1 = -1;
      else
        t1 = x > 0 ? 1 : 0;
      return t1;
    },
    validUnitDivide(numer, denom) {
      var r;
      if (numer < 0) {
        numer = -numer;
        denom = -denom;
      }
      if (denom === 0 || numer === 0 || numer >= denom)
        return null;
      r = numer / denom;
      if (isNaN(r))
        return null;
      if (r === 0)
        return null;
      return r;
    },
    isRRectOval(rrect) {
      var t3, t4,
        t1 = rrect.tlRadiusX,
        t2 = rrect.trRadiusX;
      if (t1 + t2 !== rrect.right - rrect.left)
        return false;
      t3 = rrect.tlRadiusY;
      t4 = rrect.trRadiusY;
      if (t3 + t4 !== rrect.bottom - rrect.top)
        return false;
      if (t1 !== rrect.blRadiusX || t2 !== rrect.brRadiusX || t3 !== rrect.blRadiusY || t4 !== rrect.brRadiusY)
        return false;
      return true;
    },
    SkQuadCoefficients$(x0, y0, x1, y1, x2, y2) {
      return new A.SkQuadCoefficients(x2 - 2 * x1 + x0, y2 - 2 * y1 + y0, 2 * (x1 - x0), 2 * (y1 - y0), x0, y0);
    },
    PathWinding__checkOnCurve(x, y, startX, startY, endX, endY) {
      if (startY === endY)
        return A.SPath_between(startX, x, endX) && x !== endX;
      else
        return x === startX && y === startY;
    },
    PathWinding__chopQuadAtExtrema(buffer) {
      var p01x, p01y, p12x, p12y,
        x0 = buffer[0],
        y0 = buffer[1],
        x1 = buffer[2],
        y1 = buffer[3],
        x2 = buffer[4],
        y2 = buffer[5],
        t1 = y0 - y1,
        tValueAtExtrema = A.validUnitDivide(t1, t1 - y1 + y2);
      if (tValueAtExtrema != null) {
        p01x = x0 + tValueAtExtrema * (x1 - x0);
        p01y = y0 + tValueAtExtrema * (y1 - y0);
        p12x = x1 + tValueAtExtrema * (x2 - x1);
        p12y = y1 + tValueAtExtrema * (y2 - y1);
        buffer[2] = p01x;
        buffer[3] = p01y;
        buffer[4] = p01x + tValueAtExtrema * (p12x - p01x);
        buffer[5] = p01y + tValueAtExtrema * (p12y - p01y);
        buffer[6] = p12x;
        buffer[7] = p12y;
        buffer[8] = x2;
        buffer[9] = y2;
        return 1;
      }
      buffer[3] = Math.abs(t1) < Math.abs(y1 - y2) ? y0 : y2;
      return 0;
    },
    PathWinding__isQuadMonotonic(quad) {
      var y0 = quad[1],
        y1 = quad[3],
        y2 = quad[5];
      if (y0 === y1)
        return true;
      if (y0 < y1)
        return y1 <= y2;
      else
        return y1 >= y2;
    },
    tangentLine(pts, x, y, tangents) {
      var x0, x1, dx, dy,
        y0 = pts[1],
        y1 = pts[3];
      if (!A.SPath_between(y0, y, y1))
        return;
      x0 = pts[0];
      x1 = pts[2];
      if (!A.SPath_between(x0, x, x1))
        return;
      dx = x1 - x0;
      dy = y1 - y0;
      if (!(Math.abs((x - x0) * dy - dx * (y - y0)) < 0.000244140625))
        return;
      tangents.push(new A.Offset(dx, dy));
    },
    tangentQuad(pts, x, y, tangents) {
      var x0, x1, x2, roots, n, $A, $B, index, t1, t,
        y0 = pts[1],
        y1 = pts[3],
        y2 = pts[5];
      if (!A.SPath_between(y0, y, y1) && !A.SPath_between(y1, y, y2))
        return;
      x0 = pts[0];
      x1 = pts[2];
      x2 = pts[4];
      if (!A.SPath_between(x0, x, x1) && !A.SPath_between(x1, x, x2))
        return;
      roots = new A.QuadRoots();
      n = roots.findRoots$3(y0 - 2 * y1 + y2, 2 * (y1 - y0), y0 - y);
      for ($A = x2 - 2 * x1 + x0, $B = 2 * (x1 - x0), index = 0; index < n; ++index) {
        if (index === 0) {
          t1 = roots.root0;
          t1.toString;
          t = t1;
        } else {
          t1 = roots.root1;
          t1.toString;
          t = t1;
        }
        if (!(Math.abs(x - (($A * t + $B) * t + x0)) < 0.000244140625))
          continue;
        tangents.push(A._evalQuadTangentAt(x0, y0, x1, y1, x2, y2, t));
      }
    },
    _evalQuadTangentAt(x0, y0, x1, y1, x2, y2, t) {
      var t1, bx, by;
      if (!(t === 0 && x0 === x1 && y0 === y1))
        t1 = t === 1 && x1 === x2 && y1 === y2;
      else
        t1 = true;
      if (t1)
        return new A.Offset(x2 - x0, y2 - y0);
      bx = x1 - x0;
      by = y1 - y0;
      return new A.Offset(((x2 - x1 - bx) * t + bx) * 2, ((y2 - y1 - by) * t + by) * 2);
    },
    tangentConic(pts, x, y, weight, tangents) {
      var x0, x1, x2, $B, quadRoots, n, src2w, $A, B0, A0, index, t1, t,
        y0 = pts[1],
        y1 = pts[3],
        y2 = pts[5];
      if (!A.SPath_between(y0, y, y1) && !A.SPath_between(y1, y, y2))
        return;
      x0 = pts[0];
      x1 = pts[2];
      x2 = pts[4];
      if (!A.SPath_between(x0, x, x1) && !A.SPath_between(x1, x, x2))
        return;
      $B = y1 * weight - y * weight + y;
      quadRoots = new A.QuadRoots();
      n = quadRoots.findRoots$3(y2 + (y0 - 2 * $B), 2 * ($B - y0), y0 - y);
      for (src2w = x1 * weight, $A = x2 - 2 * src2w + x0, $B = 2 * (src2w - x0), B0 = 2 * (weight - 1), A0 = -B0, index = 0; index < n; ++index) {
        if (index === 0) {
          t1 = quadRoots.root0;
          t1.toString;
          t = t1;
        } else {
          t1 = quadRoots.root1;
          t1.toString;
          t = t1;
        }
        if (!(Math.abs(x - (($A * t + $B) * t + x0) / ((A0 * t + B0) * t + 1)) < 0.000244140625))
          continue;
        tangents.push(new A.Conic(x0, y0, x1, y1, x2, y2, weight).evalTangentAt$1(t));
      }
    },
    tangentCubic(pts, x, y, tangents) {
      var x0, x1, x2, x3, dst, n, i, bufferPos, t,
        y3 = pts[7],
        y0 = pts[1],
        y1 = pts[3],
        y2 = pts[5];
      if (!A.SPath_between(y0, y, y1) && !A.SPath_between(y1, y, y2) && !A.SPath_between(y2, y, y3))
        return;
      x0 = pts[0];
      x1 = pts[2];
      x2 = pts[4];
      x3 = pts[6];
      if (!A.SPath_between(x0, x, x1) && !A.SPath_between(x1, x, x2) && !A.SPath_between(x2, x, x3))
        return;
      dst = new Float32Array(20);
      n = A.chopCubicAtYExtrema(pts, dst);
      for (i = 0; i <= n; ++i) {
        bufferPos = i * 6;
        t = A.chopMonoAtY(dst, bufferPos, y);
        if (t == null)
          continue;
        if (!(Math.abs(x - A.evalCubicPts(dst[bufferPos], dst[bufferPos + 2], dst[bufferPos + 4], dst[bufferPos + 6], t)) < 0.000244140625))
          continue;
        tangents.push(A._evalCubicTangentAt(dst, bufferPos, t));
      }
    },
    _evalCubicTangentAt(points, bufferPos, t) {
      var t2, dx, dy, coeff,
        y3 = points[7 + bufferPos],
        y0 = points[1 + bufferPos],
        y1 = points[3 + bufferPos],
        y2 = points[5 + bufferPos],
        x0 = points[bufferPos],
        x1 = points[2 + bufferPos],
        x2 = points[4 + bufferPos],
        x3 = points[6 + bufferPos],
        t1 = t === 0;
      if (!(t1 && x0 === x1 && y0 === y1))
        t2 = t === 1 && x2 === x3 && y2 === y3;
      else
        t2 = true;
      if (t2) {
        if (t1) {
          dx = x2 - x0;
          dy = y2 - y0;
        } else {
          dx = x3 - x1;
          dy = y3 - y1;
        }
        if (dx === 0 && dy === 0) {
          dx = x3 - x0;
          dy = y3 - y0;
        }
        return new A.Offset(dx, dy);
      } else {
        coeff = A.SkQuadCoefficients$(x3 + 3 * (x1 - x2) - x0, y3 + 3 * (y1 - y2) - y0, 2 * (x2 - 2 * x1 + x0), 2 * (y2 - 2 * y1 + y0), x1 - x0, y1 - y0);
        return new A.Offset(coeff.evalX$1(t), coeff.evalY$1(t));
      }
    },
    reduceCanvasMemoryUsage() {
      var i, t1, t2,
        canvasCount = $._recycledCanvases.length;
      for (i = 0; i < canvasCount; ++i) {
        t1 = $._recycledCanvases[i]._canvasPool;
        t2 = $.$get$_browserEngine();
        if (t2 === B.BrowserEngine_1 && t1.__engine$_canvas != null) {
          t2 = t1.__engine$_canvas;
          t2.height = 0;
          t2.width = 0;
        }
        t1._clearActiveCanvasList$0();
      }
      B.JSArray_methods.clear$0($._recycledCanvases);
    },
    _recycleCanvas(canvas) {
      if (canvas != null && B.JSArray_methods.contains$1($._recycledCanvases, canvas))
        return;
      if (canvas instanceof A.BitmapCanvas) {
        canvas._elementCache = null;
        if (canvas.__engine$_devicePixelRatio === A.EnginePlatformDispatcher_browserDevicePixelRatio()) {
          $._recycledCanvases.push(canvas);
          if ($._recycledCanvases.length > 30)
            B.JSArray_methods.removeAt$1($._recycledCanvases, 0)._canvasPool.dispose$0();
        } else
          canvas._canvasPool.dispose$0();
      }
    },
    PersistedPicture__predictTrend(delta, extent) {
      if (delta <= 0)
        return extent * 0.1;
      else
        return Math.min(Math.max(extent * 0.5, delta * 10), extent);
    },
    _computePixelDensity(transform, width, height) {
      var t1, m, t2, minX, t3, minY, t4, t5, t6, t7, wp, t8, t9, t10, t11, xp, t12, t13, t14, t15, yp, minX0, maxX, minY0, maxY, scale;
      if (transform != null) {
        t1 = transform.__engine$_m4storage;
        t1 = t1[15] === 1 && t1[0] === 1 && t1[1] === 0 && t1[2] === 0 && t1[3] === 0 && t1[4] === 0 && t1[5] === 1 && t1[6] === 0 && t1[7] === 0 && t1[8] === 0 && t1[9] === 0 && t1[10] === 1 && t1[11] === 0;
      } else
        t1 = true;
      if (t1)
        return 1;
      m = transform.__engine$_m4storage;
      t1 = m[12];
      t2 = m[15];
      minX = t1 * t2;
      t3 = m[13];
      minY = t3 * t2;
      t4 = m[3];
      t5 = t4 * width;
      t6 = m[7];
      t7 = t6 * height;
      wp = 1 / (t5 + t7 + t2);
      t8 = m[0];
      t9 = t8 * width;
      t10 = m[4];
      t11 = t10 * height;
      xp = (t9 + t11 + t1) * wp;
      t12 = m[1];
      t13 = t12 * width;
      t14 = m[5];
      t15 = t14 * height;
      yp = (t13 + t15 + t3) * wp;
      minX0 = Math.min(minX, xp);
      maxX = Math.max(minX, xp);
      minY0 = Math.min(minY, yp);
      maxY = Math.max(minY, yp);
      wp = 1 / (t4 * 0 + t7 + t2);
      xp = (t8 * 0 + t11 + t1) * wp;
      yp = (t12 * 0 + t15 + t3) * wp;
      minX = Math.min(minX0, xp);
      maxX = Math.max(maxX, xp);
      minY = Math.min(minY0, yp);
      maxY = Math.max(maxY, yp);
      wp = 1 / (t5 + t6 * 0 + t2);
      xp = (t9 + t10 * 0 + t1) * wp;
      yp = (t13 + t14 * 0 + t3) * wp;
      minX = Math.min(minX, xp);
      maxX = Math.max(maxX, xp);
      minY = Math.min(minY, yp);
      scale = Math.min((maxX - minX) / width, (Math.max(maxY, yp) - minY) / height);
      if (scale < 1e-9 || scale === 1)
        return 1;
      if (scale > 1) {
        scale = Math.min(4, B.JSNumber_methods.ceil$0(scale / 2) * 2);
        t1 = width * height;
        if (t1 * scale * scale > 4194304 && scale > 2)
          scale = 3355443.2 / t1;
      } else
        scale = Math.max(2 / B.JSNumber_methods.floor$0(2 / scale), 0.0001);
      return scale;
    },
    _measureBorderRadius(x, y) {
      var clampedX = x < 0 ? 0 : x,
        clampedY = y < 0 ? 0 : y;
      return clampedX * clampedX + clampedY * clampedY;
    },
    _getPaintSpread(paint) {
      var t2,
        t1 = paint._paintData,
        maskFilter = t1.maskFilter,
        spread = maskFilter != null ? 0 + maskFilter._sigma * 2 : 0;
      t1 = t1.strokeWidth;
      t2 = t1 == null;
      if ((t2 ? 0 : t1) !== 0)
        spread += (t2 ? 0 : t1) * 0.70710678118;
      return spread;
    },
    NormalizedGradient_NormalizedGradient(colors, stops) {
      var colorCount, t1, addFirst, addLast, normalizedCount, t2, bias, scale, t3, thresholds, c, targetIndex, thresholdIndex, _i, targetIndex0, t4, thresholdIndex0, lastColorIndex, i, t, colorIndex;
      if (stops == null)
        stops = B.List_0_1;
      colorCount = colors.length;
      t1 = B.JSArray_methods.any$1(colors, new A.NormalizedGradient_NormalizedGradient_closure());
      addFirst = !J.$eq$(stops[0], 0);
      addLast = !J.$eq$(B.JSArray_methods.get$last(stops), 1);
      normalizedCount = addFirst ? colorCount + 1 : colorCount;
      if (addLast)
        ++normalizedCount;
      t2 = normalizedCount * 4;
      bias = new Float32Array(t2);
      scale = new Float32Array(t2);
      t2 = normalizedCount - 1;
      t3 = B.JSInt_methods._tdivFast$1(t2, 4);
      thresholds = new Float32Array(4 * (t3 + 1));
      if (addFirst) {
        c = colors[0];
        bias[0] = (c.get$value(c) >>> 16 & 255) / 255;
        bias[1] = (c.get$value(c) >>> 8 & 255) / 255;
        bias[2] = (c.get$value(c) & 255) / 255;
        bias[3] = (c.get$value(c) >>> 24 & 255) / 255;
        thresholds[0] = 0;
        targetIndex = 4;
        thresholdIndex = 1;
      } else {
        targetIndex = 0;
        thresholdIndex = 0;
      }
      for (t3 = colors.length, _i = 0; _i < colors.length; colors.length === t3 || (0, A.throwConcurrentModificationError)(colors), ++_i) {
        c = colors[_i];
        targetIndex0 = targetIndex + 1;
        t4 = J.getInterceptor$x(c);
        bias[targetIndex] = (t4.get$value(c) >>> 16 & 255) / 255;
        targetIndex = targetIndex0 + 1;
        bias[targetIndex0] = (t4.get$value(c) >>> 8 & 255) / 255;
        targetIndex0 = targetIndex + 1;
        bias[targetIndex] = (t4.get$value(c) & 255) / 255;
        targetIndex = targetIndex0 + 1;
        bias[targetIndex0] = (t4.get$value(c) >>> 24 & 255) / 255;
      }
      for (t3 = stops.length, _i = 0; _i < t3; ++_i, thresholdIndex = thresholdIndex0) {
        thresholdIndex0 = thresholdIndex + 1;
        thresholds[thresholdIndex] = stops[_i];
      }
      if (addLast) {
        c = B.JSArray_methods.get$last(colors);
        targetIndex0 = targetIndex + 1;
        bias[targetIndex] = (c.get$value(c) >>> 16 & 255) / 255;
        targetIndex = targetIndex0 + 1;
        bias[targetIndex0] = (c.get$value(c) >>> 8 & 255) / 255;
        bias[targetIndex] = (c.get$value(c) & 255) / 255;
        bias[targetIndex + 1] = (c.get$value(c) >>> 24 & 255) / 255;
        thresholds[thresholdIndex] = 1;
      }
      lastColorIndex = 4 * t2;
      for (i = 0; i < lastColorIndex; ++i) {
        thresholdIndex = i >>> 2;
        scale[i] = (bias[i + 4] - bias[i]) / (thresholds[thresholdIndex + 1] - thresholds[thresholdIndex]);
      }
      scale[lastColorIndex] = 0;
      scale[lastColorIndex + 1] = 0;
      scale[lastColorIndex + 2] = 0;
      scale[lastColorIndex + 3] = 0;
      for (i = 0; i < normalizedCount; ++i) {
        t = thresholds[i];
        colorIndex = i * 4;
        bias[colorIndex] = bias[colorIndex] - t * scale[colorIndex];
        t2 = colorIndex + 1;
        bias[t2] = bias[t2] - t * scale[t2];
        t2 = colorIndex + 2;
        bias[t2] = bias[t2] - t * scale[t2];
        t2 = colorIndex + 3;
        bias[t2] = bias[t2] - t * scale[t2];
      }
      return new A.NormalizedGradient(thresholds, bias, scale, normalizedCount, !t1);
    },
    writeUnrolledBinarySearch(method, start, end, biasName, probe, scaleName, sourcePrefix) {
      var t1, mid;
      if (start === end) {
        t1 = "" + start;
        method.addStatement$1(biasName + " = " + (biasName + "_" + t1) + ";");
        method.addStatement$1(scaleName + " = " + (scaleName + "_" + t1) + ";");
      } else {
        mid = B.JSInt_methods._tdivFast$1(start + end, 2);
        t1 = mid + 1;
        method.addStatement$1("if (" + probe + " < " + (sourcePrefix + "_" + B.JSInt_methods._tdivFast$1(t1, 4) + ("." + "xyzw"[B.JSInt_methods.$mod(t1, 4)])) + ") {");
        ++method._indentLevel;
        A.writeUnrolledBinarySearch(method, start, mid, biasName, probe, scaleName, sourcePrefix);
        --method._indentLevel;
        method.addStatement$1("} else {");
        ++method._indentLevel;
        A.writeUnrolledBinarySearch(method, t1, end, biasName, probe, scaleName, sourcePrefix);
        --method._indentLevel;
        method.addStatement$1("}");
      }
    },
    _addColorStopsToCanvasGradient(gradient, colors, colorStops, isDecal) {
      var scale, offset, t1, i, colorStop;
      if (isDecal) {
        gradient.addColorStop(0, "#00000000");
        scale = 0.999;
        offset = 0.0005000000000000004;
      } else {
        scale = 1;
        offset = 0;
      }
      if (colorStops == null) {
        t1 = A.colorToCssString(colors[0]);
        t1.toString;
        gradient.addColorStop(offset, t1);
        t1 = A.colorToCssString(colors[1]);
        t1.toString;
        gradient.addColorStop(1 - offset, t1);
      } else
        for (i = 0; i < colors.length; ++i) {
          colorStop = J.clamp$2$n(colorStops[i], 0, 1);
          t1 = A.colorToCssString(colors[i]);
          t1.toString;
          gradient.addColorStop(colorStop * scale + offset, t1);
        }
      if (isDecal)
        gradient.addColorStop(1, "#00000000");
    },
    _writeSharedGradientShader(builder, method, gradient, tileMode) {
      var t1, t2, t3, i, probeName,
        _s8_ = "tiled_st";
      method.addStatement$1("vec4 bias;");
      method.addStatement$1("vec4 scale;");
      for (t1 = gradient.thresholdCount, t2 = t1 - 1, t3 = B.JSInt_methods._tdivFast$1(t2, 4) + 1, i = 0; i < t3; ++i)
        builder.addUniform$2$name(11, "threshold_" + i);
      for (i = 0; i < t1; ++i) {
        t3 = "" + i;
        builder.addUniform$2$name(11, "bias_" + t3);
        builder.addUniform$2$name(11, "scale_" + t3);
      }
      switch (tileMode.index) {
        case 0:
          method.addStatement$1("float tiled_st = clamp(st, 0.0, 1.0);");
          probeName = _s8_;
          break;
        case 3:
          probeName = "st";
          break;
        case 1:
          method.addStatement$1("float tiled_st = fract(st);");
          probeName = _s8_;
          break;
        case 2:
          method.addStatement$1("float t_1 = (st - 1.0);");
          method.addStatement$1("float tiled_st = abs((t_1 - 2.0 * floor(t_1 * 0.5)) - 1.0);");
          probeName = _s8_;
          break;
        default:
          probeName = "st";
      }
      A.writeUnrolledBinarySearch(method, 0, t2, "bias", probeName, "scale", "threshold");
      return probeName;
    },
    ShaderBuilder_typeToString(dataType) {
      switch (dataType) {
        case 0:
          return "bool";
        case 1:
          return "int";
        case 2:
          return "float";
        case 3:
          return "bvec2";
        case 4:
          return "bvec3";
        case 5:
          return "bvec4";
        case 6:
          return "ivec2";
        case 7:
          return "ivec3";
        case 8:
          return "ivec4";
        case 9:
          return "vec2";
        case 10:
          return "vec3";
        case 11:
          return "vec4";
        case 12:
          return "mat2";
        case 13:
          return "mat3";
        case 14:
          return "mat4";
        case 15:
          return "sampler1D";
        case 16:
          return "sampler2D";
        case 17:
          return "sampler3D";
        case 18:
          return "void";
      }
      throw A.wrapException(A.ArgumentError$(null, null));
    },
    commitScene(scene) {
      var request, _i, i,
        t1 = $.paintQueue,
        t2 = t1.length;
      if (t2 !== 0)
        try {
          if (t2 > 1)
            B.JSArray_methods.sort$1(t1, new A.commitScene_closure());
          for (t1 = $.paintQueue, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
            request = t1[_i];
            request.paintCallback$0();
          }
        } finally {
          $.paintQueue = A._setArrayType([], type$.JSArray_PaintRequest);
        }
      t1 = $.retainedSurfaces;
      t2 = t1.length;
      if (t2 !== 0) {
        for (i = 0; i < t2; ++i)
          t1[i].__engine$_state = B.PersistedSurfaceState_1;
        $.retainedSurfaces = A._setArrayType([], type$.JSArray_PersistedSurface);
      }
      for (t1 = $.frameReferences, i = 0; i < t1.length; ++i)
        t1[i].value = null;
      $.frameReferences = A._setArrayType([], type$.JSArray_FrameReference_dynamic);
    },
    PersistedContainerSurface__discardActiveChildren(surface) {
      var i, child,
        t1 = surface.__engine$_children,
        $length = t1.length;
      for (i = 0; i < $length; ++i) {
        child = t1[i];
        if (child.__engine$_state === B.PersistedSurfaceState_1)
          child.discard$0();
      }
    },
    registerHotRestartListener(listener) {
      $._hotRestartListeners.push(listener);
    },
    initializeEngineServices() {
      return A.initializeEngineServices$body();
    },
    initializeEngineServices$body() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, t2, t1;
      var $async$initializeEngineServices = 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 = {};
              if ($._initializationState !== B.DebugEngineInitializationState_0) {
                // goto return
                $async$goto = 1;
                break;
              }
              $._initializationState = B.DebugEngineInitializationState_1;
              t2 = $.$get$useCanvasKit();
              if (!t2)
                A.scheduleMicrotask(new A.initializeEngineServices_closure());
              A._addUrlStrategyListener();
              A.registerExtension("ext.flutter.disassemble", new A.initializeEngineServices_closure0());
              t1.waitingForAnimation = false;
              $.scheduleFrameCallback = new A.initializeEngineServices_closure1(t1);
              $async$goto = t2 ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.initializeCanvasKit(), $async$initializeEngineServices);
            case 5:
              // returning from await.
            case 4:
              // join
              $async$goto = 6;
              return A._asyncAwait(A._setAssetManager(B.C_AssetManager), $async$initializeEngineServices);
            case 6:
              // returning from await.
              $async$goto = t2 ? 7 : 9;
              break;
            case 7:
              // then
              $async$goto = 10;
              return A._asyncAwait($._skiaFontCollection.ensureFontsLoaded$0(), $async$initializeEngineServices);
            case 10:
              // returning from await.
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              $async$goto = 11;
              return A._asyncAwait($._fontCollection.ensureFontsLoaded$0(), $async$initializeEngineServices);
            case 11:
              // returning from await.
            case 8:
              // join
              $._initializationState = B.DebugEngineInitializationState_2;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$initializeEngineServices, $async$completer);
    },
    initializeEngineUi() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, t1;
      var $async$initializeEngineUi = 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 ($._initializationState !== B.DebugEngineInitializationState_2) {
                // goto return
                $async$goto = 1;
                break;
              }
              $._initializationState = B.DebugEngineInitializationState_3;
              t1 = $.$get$_operatingSystem();
              if ($.Keyboard__instance == null)
                $.Keyboard__instance = A.Keyboard$_(t1 === B.OperatingSystem_4);
              if ($.MouseCursor__instance == null)
                $.MouseCursor__instance = new A.MouseCursor();
              if ($._flutterViewEmbedder == null)
                $._flutterViewEmbedder = A.FlutterViewEmbedder$();
              $._initializationState = B.DebugEngineInitializationState_4;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$initializeEngineUi, $async$completer);
    },
    _setAssetManager(assetManager) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, t1, t2;
      var $async$_setAssetManager = 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 (assetManager === $._assetManager) {
                // goto return
                $async$goto = 1;
                break;
              }
              $._assetManager = assetManager;
              t1 = $.$get$useCanvasKit();
              if (t1) {
                if ($._skiaFontCollection == null) {
                  t2 = type$.String;
                  $._skiaFontCollection = new A.SkiaFontCollection(A.LinkedHashSet_LinkedHashSet$_empty(t2), A._setArrayType([], type$.JSArray_Future_nullable_RegisteredFont), A._setArrayType([], type$.JSArray_RegisteredFont), A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.List_JavaScriptObject));
                }
              } else {
                t2 = $._fontCollection;
                (t2 == null ? $._fontCollection = new A.FontCollection() : t2).clear$0(0);
              }
              t2 = $._assetManager;
              $async$goto = t2 != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = t1 ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return A._asyncAwait($._skiaFontCollection.registerFonts$1(t2), $async$_setAssetManager);
            case 8:
              // returning from await.
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              $async$goto = 9;
              return A._asyncAwait($._fontCollection.registerFonts$1(t2), $async$_setAssetManager);
            case 9:
              // returning from await.
            case 6:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_setAssetManager, $async$completer);
    },
    _addUrlStrategyListener() {
      self._flutter_web_set_location_strategy = A.allowInterop(new A._addUrlStrategyListener_closure());
      $._hotRestartListeners.push(new A._addUrlStrategyListener_closure0());
    },
    Keyboard$_(_onMacOs) {
      var t1 = new A.Keyboard(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Timer), _onMacOs);
      t1.Keyboard$_$1(_onMacOs);
      return t1;
    },
    _noopCallback(data) {
    },
    createHistoryForExistingState(urlStrategy) {
      var state;
      if (urlStrategy != null) {
        state = urlStrategy.getState$0(0);
        if (A.SingleEntryBrowserHistory__isOriginEntry(state) || A.SingleEntryBrowserHistory__isFlutterEntry(state))
          return A.SingleEntryBrowserHistory$(urlStrategy);
      }
      return A.MultiEntriesBrowserHistory$(urlStrategy);
    },
    MultiEntriesBrowserHistory$(urlStrategy) {
      var t1 = new A.MultiEntriesBrowserHistory(urlStrategy);
      t1.MultiEntriesBrowserHistory$1$urlStrategy(urlStrategy);
      return t1;
    },
    SingleEntryBrowserHistory$(urlStrategy) {
      var t1 = new A.SingleEntryBrowserHistory(urlStrategy, A.LinkedHashMap_LinkedHashMap$_literal(["flutter", true], type$.String, type$.bool));
      t1.SingleEntryBrowserHistory$1$urlStrategy(urlStrategy);
      return t1;
    },
    SingleEntryBrowserHistory__isOriginEntry(state) {
      return type$.Map_dynamic_dynamic._is(state) && J.$eq$(J.$index$asx(state, "origin"), true);
    },
    SingleEntryBrowserHistory__isFlutterEntry(state) {
      return type$.Map_dynamic_dynamic._is(state) && J.$eq$(J.$index$asx(state, "flutter"), true);
    },
    EnginePlatformDispatcher_browserDevicePixelRatio() {
      var ratio = window.devicePixelRatio;
      return ratio === 0 ? 1 : ratio;
    },
    EnginePlatformDispatcher__zonedPlatformMessageResponseCallback(callback) {
      return new A.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure($.Zone__current, callback);
    },
    EnginePlatformDispatcher_parseBrowserLanguages() {
      var locales, t1, t2, parts,
        languages = window.navigator.languages;
      if (languages == null || J.get$isEmpty$asx(languages))
        return B.List_Locale_en_US;
      locales = A._setArrayType([], type$.JSArray_Locale);
      for (t1 = J.get$iterator$ax(languages); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        parts = t2.split("-");
        if (parts.length > 1)
          locales.push(new A.Locale(B.JSArray_methods.get$first(parts), B.JSArray_methods.get$last(parts)));
        else
          locales.push(new A.Locale(t2, null));
      }
      return locales;
    },
    _handleWebTestEnd2EndMessage(codec, data) {
      var decoded = codec.decodeMethodCall$1(data),
        ratio = A.double_parse(A._asString(decoded.$arguments));
      switch (decoded.method) {
        case "setDevicePixelRatio":
          $.$get$window()._debugDevicePixelRatio = ratio;
          $.$get$EnginePlatformDispatcher__instance()._onMetricsChanged.call$0();
          return true;
      }
      return false;
    },
    invoke(callback, zone) {
      if (callback == null)
        return;
      if (zone === $.Zone__current)
        callback.call$0();
      else
        zone.runGuarded$1(callback);
    },
    invoke1(callback, zone, arg, $A) {
      if (callback == null)
        return;
      if (zone === $.Zone__current)
        callback.call$1(arg);
      else
        zone.runUnaryGuarded$1$2(callback, arg, $A);
    },
    invoke2(callback, zone, arg1, arg2) {
      if (zone === $.Zone__current)
        callback.call$2(arg1, arg2);
      else
        zone.runGuarded$1(new A.invoke2_closure(callback, arg1, arg2));
    },
    invoke3(callback, zone, arg1, arg2, arg3) {
      if (callback == null)
        return;
      if (zone === $.Zone__current)
        callback.call$3(arg1, arg2, arg3);
      else
        zone.runGuarded$1(new A.invoke3_closure(callback, arg1, arg2, arg3));
    },
    findBrowserTextScaleFactor() {
      var computedStyleMap, fontSizeObject, fontSize,
        t1 = document.documentElement;
      t1.toString;
      if ("computedStyleMap" in t1) {
        computedStyleMap = t1.computedStyleMap();
        if (computedStyleMap != null) {
          fontSizeObject = computedStyleMap.get("font-size");
          fontSize = fontSizeObject != null ? fontSizeObject.value : null;
        } else
          fontSize = null;
      } else
        fontSize = null;
      if (fontSize == null)
        fontSize = A.parseFloat(J.getComputedStyle$0$x(t1).fontSize);
      return (fontSize == null ? 16 : fontSize) / 16;
    },
    convertButtonToButtons(button) {
      switch (button) {
        case 0:
          return 1;
        case 1:
          return 4;
        case 2:
          return 2;
        default:
          return B.JSInt_methods.$shl(1, button);
      }
    },
    _Listener__Listener$registerNative($event, handler, target) {
      var eventOptions = A.createPlainJsObject(A.LinkedHashMap_LinkedHashMap$_literal(["capture", false, "passive", false], type$.String, type$.nullable_Object)),
        jsHandler = A.allowInterop(new A._Listener__Listener$registerNative_closure(handler));
      A.callMethod(target, "addEventListener", [$event, jsHandler, eventOptions]);
      return new A._Listener($event, target, jsHandler, false, true);
    },
    _BaseAdapter__eventTimeStampToDuration(milliseconds) {
      var ms = B.JSNumber_methods.toInt$0(milliseconds);
      return A.Duration$(B.JSNumber_methods.toInt$0((milliseconds - ms) * 1000), ms);
    },
    timeAction($name, action) {
      var t1 = action.call$0();
      return t1;
    },
    frameTimingsOnVsync() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._vsyncStartMicros = B.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    frameTimingsOnBuildStart() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._buildStartMicros = B.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    frameTimingsOnBuildFinish() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._buildFinishMicros = B.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    frameTimingsOnRasterStart() {
      if ($.$get$EnginePlatformDispatcher__instance()._onReportTimings == null)
        return;
      $._rasterStartMicros = B.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    frameTimingsOnRasterFinish() {
      var now, t2,
        t1 = $.$get$EnginePlatformDispatcher__instance();
      if (t1._onReportTimings == null)
        return;
      now = $._rasterFinishMicros = B.JSNumber_methods.toInt$0(window.performance.now() * 1000);
      $._frameTimings.push(new A.FrameTiming(A._setArrayType([$._vsyncStartMicros, $._buildStartMicros, $._buildFinishMicros, $._rasterStartMicros, now, now, 0, 0, 0, 0, 1], type$.JSArray_int)));
      $._rasterFinishMicros = $._rasterStartMicros = $._buildFinishMicros = $._buildStartMicros = $._vsyncStartMicros = -1;
      if (now - $.$get$_frameTimingsLastSubmitTime() > 100000) {
        $._frameTimingsLastSubmitTime = now;
        t2 = $._frameTimings;
        A.invoke1(t1._onReportTimings, t1._onReportTimingsZone, t2, type$.List_FrameTiming);
        $._frameTimings = A._setArrayType([], type$.JSArray_FrameTiming);
      }
    },
    _nowMicros() {
      return B.JSNumber_methods.toInt$0(window.performance.now() * 1000);
    },
    createPlainJsObject(properties) {
      var t1 = A.JsObject_JsObject$jsify(properties);
      return t1;
    },
    getJsProperty(object, $name) {
      return object[$name];
    },
    parseFloat(source) {
      var result = self.parseFloat.call$1(source);
      if (result == null || isNaN(result))
        return null;
      return result;
    },
    parseFontSize(element) {
      var computedStyleMap, fontSizeObject, fontSize;
      if ("computedStyleMap" in element) {
        computedStyleMap = element.computedStyleMap();
        if (computedStyleMap != null) {
          fontSizeObject = computedStyleMap.get("font-size");
          fontSize = fontSizeObject != null ? fontSizeObject.value : null;
        } else
          fontSize = null;
      } else
        fontSize = null;
      return fontSize == null ? A.parseFloat(J.getComputedStyle$0$x(element).fontSize) : fontSize;
    },
    tryCreateCanvasElement(width, height) {
      var exception,
        canvas = document.createElement("CANVAS");
      if (canvas == null)
        return null;
      try {
        canvas.width = width;
        canvas.height = height;
      } catch (exception) {
        return null;
      }
      return canvas;
    },
    AccessibilityAnnouncements$_() {
      var t1 = new A.AccessibilityAnnouncements();
      t1.AccessibilityAnnouncements$_$0();
      return t1;
    },
    _checkableKindFromSemanticsFlag(semanticsObject) {
      var t1 = semanticsObject.__engine$_flags;
      if ((t1 & 256) !== 0)
        return B._CheckableKind_1;
      else if ((t1 & 65536) !== 0)
        return B._CheckableKind_2;
      else
        return B._CheckableKind_0;
    },
    Incrementable$(semanticsObject) {
      var t1 = new A.Incrementable(A.InputElement_InputElement(null), semanticsObject);
      t1.Incrementable$1(semanticsObject);
      return t1;
    },
    SemanticsObject__clearSemanticElementTransform(element) {
      var t1 = element.style;
      t1.removeProperty("transform-origin");
      t1.removeProperty("transform");
      t1 = $.$get$_operatingSystem();
      if (t1 !== B.OperatingSystem_0)
        t1 = t1 === B.OperatingSystem_4;
      else
        t1 = true;
      if (t1) {
        t1 = element.style;
        t1.top = "0px";
        t1.left = "0px";
      } else {
        t1 = element.style;
        t1.removeProperty("top");
        t1.removeProperty("left");
      }
    },
    EngineSemanticsOwner$_() {
      var t1 = type$.SemanticsObject,
        t2 = A._setArrayType([], type$.JSArray_nullable_SemanticsObject),
        t3 = A._setArrayType([], type$.JSArray_of_void_Function),
        t4 = $.$get$_operatingSystem();
      t4 = J.containsKey$1$x(B.Set_69tl2._collection$_map, t4) ? new A.DesktopSemanticsEnabler() : new A.MobileSemanticsEnabler();
      t4 = new A.EngineSemanticsOwner(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, t1), A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_int, t1), t2, t3, new A.EngineSemanticsOwner__now_closure(), new A.SemanticsHelper(t4), B.GestureMode_1, A._setArrayType([], type$.JSArray_of_nullable_void_Function_GestureMode));
      t4.EngineSemanticsOwner$_$0();
      return t4;
    },
    longestIncreasingSubsequence(list) {
      var longest, i, elem, hi, lo, mid, seq, k,
        len = list.length,
        t1 = type$.JSArray_int,
        predecessors = A._setArrayType([], t1),
        mins = A._setArrayType([0], t1);
      for (longest = 0, i = 0; i < len; ++i) {
        elem = list[i];
        for (hi = longest, lo = 1; lo <= hi;) {
          mid = B.JSInt_methods._tdivFast$1(lo + hi, 2);
          if (list[mins[mid]] < elem)
            lo = mid + 1;
          else
            hi = mid - 1;
        }
        predecessors.push(mins[lo - 1]);
        if (lo >= mins.length)
          mins.push(i);
        else
          mins[lo] = i;
        if (lo > longest)
          longest = lo;
      }
      seq = A.List_List$filled(longest, 0, false, type$.int);
      k = mins[longest];
      for (i = longest - 1; i >= 0; --i) {
        seq[i] = k;
        k = predecessors[k];
      }
      return seq;
    },
    SemanticsTextEditingStrategy_ensureInitialized(owner) {
      var t1 = $.SemanticsTextEditingStrategy__instance;
      if (t1 != null && t1.owner === owner) {
        t1.toString;
        return t1;
      }
      return $.SemanticsTextEditingStrategy__instance = new A.SemanticsTextEditingStrategy(owner, A._setArrayType([], type$.JSArray_StreamSubscription_Event));
    },
    _TypedDataBuffer__reverse(buffer, start, end) {
      var first, last;
      --end;
      for (; start < end;) {
        first = buffer[start];
        last = buffer[end];
        buffer[end] = first;
        buffer[start] = last;
        ++start;
        --end;
      }
    },
    WriteBuffer_WriteBuffer0() {
      var t1 = new Uint8Array(0),
        eightBytes = new DataView(new ArrayBuffer(8));
      return new A.WriteBuffer0(new A.Uint8Buffer(t1, 0), eightBytes, A.NativeUint8List_NativeUint8List$view(eightBytes.buffer, 0, null));
    },
    computeShadowOffset(elevation) {
      if (elevation === 0)
        return B.Offset_0_0;
      return new A.Offset(200 * elevation / 600, 400 * elevation / 600);
    },
    computePenumbraBounds(shape, elevation) {
      var t1, t2, t3, t4, dx, dy;
      if (elevation === 0)
        return shape;
      t1 = shape.right;
      t2 = shape.left;
      t3 = shape.bottom;
      t4 = shape.top;
      dx = elevation * ((800 + (t1 - t2) * 0.5) / 600);
      dy = elevation * ((800 + (t3 - t4) * 0.5) / 600);
      return new A.Rect(t2 - dx, t4 - dy, t1 + dx, t3 + dy).shift$1(A.computeShadowOffset(elevation));
    },
    computeShadow(shape, elevation) {
      if (elevation === 0)
        return null;
      return new A.SurfaceShadowData(Math.min(elevation * ((800 + (shape.right - shape.left) * 0.5) / 600), elevation * ((800 + (shape.bottom - shape.top) * 0.5) / 600)), A.computeShadowOffset(elevation));
    },
    FontManager_FontManager() {
      var t1 = type$.JSArray_Future_void;
      if ($.$get$supportsFontLoadingApi())
        return new A.FontManager(A._setArrayType([], t1));
      else
        return new A._PolyfillFontManager(A._setArrayType([], t1));
    },
    LineBuilder$_(paragraph, spanometer, accumulatedHeight, lineNumber, maxWidth, start) {
      return new A.LineBuilder(A._setArrayType([], type$.JSArray_LineSegment), A._setArrayType([], type$.JSArray_RangeBox), maxWidth, paragraph, spanometer, start, lineNumber, accumulatedHeight, start);
    },
    ensureLineLookupInitialized() {
      var t1 = $._lineLookup;
      if (t1 == null) {
        t1 = type$.LineCharProperty;
        t1 = $._lineLookup = new A.UnicodePropertyLookup(A._unpackProperties(string$.x3000000, 937, B.List_UVg, t1), B.LineCharProperty_8, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, t1), type$.UnicodePropertyLookup_LineCharProperty);
      }
      return t1;
    },
    nextLineBreak(text, index, maxEnd) {
      var unsafeResult = A._unsafeNextLineBreak(text, index, maxEnd);
      if (unsafeResult.index > maxEnd)
        return new A.LineBreakResult(maxEnd, Math.min(maxEnd, unsafeResult.indexWithoutTrailingNewlines), Math.min(maxEnd, unsafeResult.indexWithoutTrailingSpaces), B.LineBreakType_1);
      return unsafeResult;
    },
    _unsafeNextLineBreak(text, index, maxEnd) {
      var t1, t2, t3, t4, lastNonNewlineIndex, lastNonSpaceIndex, prev1, regionalIndicatorCount, t5, t6, t7, t8, curr0, isCurrZWJ0, t9, t10,
        codePoint = A.getCodePoint(text, index),
        curr = A.ensureLineLookupInitialized().findForChar$1(codePoint),
        baseOfSpaceSequence = curr === B.LineCharProperty_5 ? B.LineCharProperty_29 : null,
        isCurrZWJ = curr === B.LineCharProperty_26;
      if (curr === B.LineCharProperty_0 || isCurrZWJ)
        curr = B.LineCharProperty_8;
      for (t1 = text.length, t2 = type$.LineCharProperty, t3 = type$.int, t4 = type$.UnicodePropertyLookup_LineCharProperty, lastNonNewlineIndex = index, lastNonSpaceIndex = lastNonNewlineIndex, prev1 = null, regionalIndicatorCount = 0; index < t1; isCurrZWJ = isCurrZWJ0, prev1 = curr, curr = curr0) {
        if (index > maxEnd)
          return new A.LineBreakResult(maxEnd, Math.min(maxEnd, lastNonNewlineIndex), Math.min(maxEnd, lastNonSpaceIndex), B.LineBreakType_1);
        t5 = curr === B.LineCharProperty_35;
        regionalIndicatorCount = t5 ? regionalIndicatorCount + 1 : 0;
        index = (codePoint != null && codePoint > 65535 ? index + 1 : index) + 1;
        t6 = curr === B.LineCharProperty_5;
        t7 = !t6;
        if (t7)
          baseOfSpaceSequence = null;
        codePoint = A.getCodePoint(text, index);
        t8 = $._lineLookup;
        curr0 = (t8 == null ? $._lineLookup = new A.UnicodePropertyLookup(A._unpackProperties(string$.x3000000, 937, B.List_UVg, t2), B.LineCharProperty_8, A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), t4) : t8).findForChar$1(codePoint);
        isCurrZWJ0 = curr0 === B.LineCharProperty_26;
        if (curr === B.LineCharProperty_2 || curr === B.LineCharProperty_3)
          return new A.LineBreakResult(index, lastNonNewlineIndex, lastNonSpaceIndex, B.LineBreakType_2);
        if (curr === B.LineCharProperty_4)
          if (curr0 === B.LineCharProperty_2)
            continue;
          else
            return new A.LineBreakResult(index, lastNonNewlineIndex, lastNonSpaceIndex, B.LineBreakType_2);
        if (t7)
          lastNonSpaceIndex = index;
        if (curr0 === B.LineCharProperty_2 || curr0 === B.LineCharProperty_3 || curr0 === B.LineCharProperty_4) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (index >= t1)
          return new A.LineBreakResult(t1, index, lastNonSpaceIndex, B.LineBreakType_3);
        if (curr0 === B.LineCharProperty_5) {
          baseOfSpaceSequence = t6 ? baseOfSpaceSequence : curr;
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === B.LineCharProperty_25) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === B.LineCharProperty_25 || baseOfSpaceSequence === B.LineCharProperty_25)
          return new A.LineBreakResult(index, index, lastNonSpaceIndex, B.LineBreakType_0);
        if (curr0 === B.LineCharProperty_0 || isCurrZWJ0) {
          if (!t6) {
            if (t5)
              --regionalIndicatorCount;
            lastNonNewlineIndex = index;
            curr0 = curr;
            continue;
          }
          curr0 = B.LineCharProperty_8;
        }
        if (isCurrZWJ) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === B.LineCharProperty_29 || curr === B.LineCharProperty_29) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === B.LineCharProperty_18) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!(!t7 || curr === B.LineCharProperty_1 || curr === B.LineCharProperty_14) && curr0 === B.LineCharProperty_18) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (t7)
          t5 = curr0 === B.LineCharProperty_17 || curr0 === B.LineCharProperty_12 || curr0 === B.LineCharProperty_6 || curr0 === B.LineCharProperty_13 || curr0 === B.LineCharProperty_15;
        else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === B.LineCharProperty_11) {
          lastNonNewlineIndex = index;
          continue;
        }
        t5 = curr === B.LineCharProperty_7;
        if (t5 && curr0 === B.LineCharProperty_11) {
          lastNonNewlineIndex = index;
          continue;
        }
        t7 = curr !== B.LineCharProperty_17;
        if ((!t7 || baseOfSpaceSequence === B.LineCharProperty_17 || curr === B.LineCharProperty_12 || baseOfSpaceSequence === B.LineCharProperty_12) && curr0 === B.LineCharProperty_24) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((curr === B.LineCharProperty_27 || baseOfSpaceSequence === B.LineCharProperty_27) && curr0 === B.LineCharProperty_27) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (t6)
          return new A.LineBreakResult(index, index, lastNonSpaceIndex, B.LineBreakType_0);
        if (t5 || curr0 === B.LineCharProperty_7) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === B.LineCharProperty_34 || curr0 === B.LineCharProperty_34)
          return new A.LineBreakResult(index, index, lastNonSpaceIndex, B.LineBreakType_0);
        if (curr0 === B.LineCharProperty_1 || curr0 === B.LineCharProperty_14 || curr0 === B.LineCharProperty_24 || curr === B.LineCharProperty_19) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (prev1 === B.LineCharProperty_20)
          t5 = curr === B.LineCharProperty_14 || curr === B.LineCharProperty_1;
        else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        t5 = curr === B.LineCharProperty_15;
        if (t5 && curr0 === B.LineCharProperty_20) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === B.LineCharProperty_28) {
          lastNonNewlineIndex = index;
          continue;
        }
        t6 = curr !== B.LineCharProperty_8;
        if (!((!t6 || curr === B.LineCharProperty_20) && curr0 === B.LineCharProperty_16))
          if (curr === B.LineCharProperty_16)
            t8 = curr0 === B.LineCharProperty_8 || curr0 === B.LineCharProperty_20;
          else
            t8 = false;
        else
          t8 = true;
        if (t8) {
          lastNonNewlineIndex = index;
          continue;
        }
        t8 = curr === B.LineCharProperty_9;
        if (t8)
          t9 = curr0 === B.LineCharProperty_30 || curr0 === B.LineCharProperty_31 || curr0 === B.LineCharProperty_36;
        else
          t9 = false;
        if (t9) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((curr === B.LineCharProperty_30 || curr === B.LineCharProperty_31 || curr === B.LineCharProperty_36) && curr0 === B.LineCharProperty_10) {
          lastNonNewlineIndex = index;
          continue;
        }
        t9 = !t8;
        if (!t9 || curr === B.LineCharProperty_10)
          t10 = curr0 === B.LineCharProperty_8 || curr0 === B.LineCharProperty_20;
        else
          t10 = false;
        if (t10) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t6 || curr === B.LineCharProperty_20)
          t10 = curr0 === B.LineCharProperty_9 || curr0 === B.LineCharProperty_10;
        else
          t10 = false;
        if (t10) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t7 || curr === B.LineCharProperty_12 || curr === B.LineCharProperty_16)
          t7 = curr0 === B.LineCharProperty_10 || curr0 === B.LineCharProperty_9;
        else
          t7 = false;
        if (t7) {
          lastNonNewlineIndex = index;
          continue;
        }
        t7 = curr !== B.LineCharProperty_10;
        if ((!t7 || t8) && curr0 === B.LineCharProperty_11) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((!t7 || !t9 || curr === B.LineCharProperty_14 || curr === B.LineCharProperty_13 || curr === B.LineCharProperty_16 || t5) && curr0 === B.LineCharProperty_16) {
          lastNonNewlineIndex = index;
          continue;
        }
        t5 = curr === B.LineCharProperty_21;
        if (t5)
          t7 = curr0 === B.LineCharProperty_21 || curr0 === B.LineCharProperty_22 || curr0 === B.LineCharProperty_32 || curr0 === B.LineCharProperty_33;
        else
          t7 = false;
        if (t7) {
          lastNonNewlineIndex = index;
          continue;
        }
        t7 = curr !== B.LineCharProperty_22;
        if (!t7 || curr === B.LineCharProperty_32)
          t9 = curr0 === B.LineCharProperty_22 || curr0 === B.LineCharProperty_23;
        else
          t9 = false;
        if (t9) {
          lastNonNewlineIndex = index;
          continue;
        }
        t9 = curr !== B.LineCharProperty_23;
        if ((!t9 || curr === B.LineCharProperty_33) && curr0 === B.LineCharProperty_23) {
          lastNonNewlineIndex = index;
          continue;
        }
        if ((t5 || !t7 || !t9 || curr === B.LineCharProperty_32 || curr === B.LineCharProperty_33) && curr0 === B.LineCharProperty_10) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (t8)
          t5 = curr0 === B.LineCharProperty_21 || curr0 === B.LineCharProperty_22 || curr0 === B.LineCharProperty_23 || curr0 === B.LineCharProperty_32 || curr0 === B.LineCharProperty_33;
        else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t6 || curr === B.LineCharProperty_20)
          t5 = curr0 === B.LineCharProperty_8 || curr0 === B.LineCharProperty_20;
        else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === B.LineCharProperty_13)
          t5 = curr0 === B.LineCharProperty_8 || curr0 === B.LineCharProperty_20;
        else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (!t6 || curr === B.LineCharProperty_20 || curr === B.LineCharProperty_16)
          if (curr0 === B.LineCharProperty_11) {
            t5 = B.JSString_methods.codeUnitAt$1(text, index);
            if (t5 !== 9001)
              if (!(t5 >= 12296 && t5 <= 12317))
                t5 = t5 >= 65047 && t5 <= 65378;
              else
                t5 = true;
            else
              t5 = true;
            t5 = !t5;
          } else
            t5 = false;
        else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr === B.LineCharProperty_12) {
          t5 = B.JSString_methods.codeUnitAt$1(text, index - 1);
          if (t5 !== 9001)
            if (!(t5 >= 12296 && t5 <= 12317))
              t5 = t5 >= 65047 && t5 <= 65378;
            else
              t5 = true;
          else
            t5 = true;
          if (!t5)
            t5 = curr0 === B.LineCharProperty_8 || curr0 === B.LineCharProperty_20 || curr0 === B.LineCharProperty_16;
          else
            t5 = false;
        } else
          t5 = false;
        if (t5) {
          lastNonNewlineIndex = index;
          continue;
        }
        if (curr0 === B.LineCharProperty_35)
          if ((regionalIndicatorCount & 1) === 1) {
            lastNonNewlineIndex = index;
            continue;
          } else
            return new A.LineBreakResult(index, index, lastNonSpaceIndex, B.LineBreakType_0);
        if (curr === B.LineCharProperty_31 && curr0 === B.LineCharProperty_36) {
          lastNonNewlineIndex = index;
          continue;
        }
        return new A.LineBreakResult(index, index, lastNonSpaceIndex, B.LineBreakType_0);
      }
      return new A.LineBreakResult(t1, lastNonNewlineIndex, lastNonSpaceIndex, B.LineBreakType_3);
    },
    measureSubstring(_canvasContext, text, start, end, letterSpacing) {
      var t1, width, sub, t2;
      if (start === end)
        return 0;
      t1 = _canvasContext.font;
      if (start === $._lastStart && end === $._lastEnd && text === $._lastText && t1 === $._lastCssFont)
        width = $._lastWidth;
      else {
        sub = start === 0 && end === text.length ? text : B.JSString_methods.substring$2(text, start, end);
        t2 = _canvasContext.measureText(sub).width;
        t2.toString;
        width = t2;
      }
      $._lastStart = start;
      $._lastEnd = end;
      $._lastText = text;
      $._lastCssFont = t1;
      $._lastWidth = width;
      if (letterSpacing == null)
        letterSpacing = 0;
      return B.JSNumber_methods.round$0((letterSpacing !== 0 ? width + letterSpacing * (end - start) : width) * 100) / 100;
    },
    EngineTextStyle$only(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, letterSpacing, locale, shadows, textBaseline, wordSpacing) {
      var t1 = fontFamily == null,
        t2 = t1 ? "" : fontFamily;
      return new A.EngineTextStyle(color, decoration, decorationColor, decorationStyle, decorationThickness, fontWeight, fontStyle, textBaseline, !t1, t2, fontFamilyFallback, fontFeatures, fontVariations, fontSize, letterSpacing, wordSpacing, height, locale, background, foreground, shadows);
    },
    fontWeightToCss(fontWeight) {
      if (fontWeight == null)
        return null;
      return A.fontWeightIndexToCss(fontWeight.index);
    },
    fontWeightIndexToCss(fontWeightIndex) {
      switch (fontWeightIndex) {
        case 0:
          return "100";
        case 1:
          return "200";
        case 2:
          return "300";
        case 3:
          return "normal";
        case 4:
          return "500";
        case 5:
          return "600";
        case 6:
          return "bold";
        case 7:
          return "800";
        case 8:
          return "900";
      }
      return "";
    },
    _shadowListToCss(shadows) {
      var i, t2, shadow, t3,
        t1 = shadows.length;
      if (t1 === 0)
        return "";
      for (i = 0, t2 = ""; i < t1; ++i, t2 = t3) {
        if (i !== 0)
          t2 += ",";
        shadow = shadows[i];
        t3 = shadow.offset;
        t3 = t2 + (A.S(t3._dx) + "px " + A.S(t3._dy) + "px " + A.S(shadow.blurRadius) + "px " + A.S(A.colorToCssString(shadow.color)));
      }
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    },
    _fontFeatureListToCss(fontFeatures) {
      var i, t1;
      for (i = 0, t1 = ""; i < 1; ++i)
        t1 += '"liga" 0';
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _decorationStyleToCssString(decorationStyle) {
      switch (decorationStyle.index) {
        case 3:
          return "dashed";
        case 2:
          return "dotted";
        case 1:
          return "double";
        case 0:
          return "solid";
        case 4:
          return "wavy";
        default:
          return null;
      }
    },
    textAlignToCssValue(align, textDirection) {
      switch (align) {
        case B.TextAlign_0:
          return "left";
        case B.TextAlign_1:
          return "right";
        case B.TextAlign_2:
          return "center";
        case B.TextAlign_3:
          return "justify";
        case B.TextAlign_5:
          switch (textDirection.index) {
            case 1:
              return "end";
            case 0:
              return "left";
          }
          break;
        case B.TextAlign_4:
          switch (textDirection.index) {
            case 1:
              return "";
            case 0:
              return "right";
          }
          break;
        case null:
          return "";
      }
    },
    getDirectionalBlockEnd(text, start, end) {
      var t2, t3, blockDirection, i, codePoint,
        t1 = start.index;
      if (t1 === end.index)
        return new A.DirectionalPosition(end, null, false);
      t2 = end.indexWithoutTrailingSpaces;
      if (t1 === t2)
        return new A.DirectionalPosition(end, null, true);
      t3 = $.$get$_textDirectionLookup();
      blockDirection = t3.find$2(0, text, t1);
      i = t1 + 1;
      for (; i < t2;) {
        codePoint = A.getCodePoint(text, i);
        if ((codePoint == null ? t3.defaultProperty : t3.findForChar$1(codePoint)) != blockDirection)
          break;
        ++i;
      }
      if (i === end.indexWithoutTrailingNewlines)
        return new A.DirectionalPosition(end, blockDirection, false);
      return new A.DirectionalPosition(new A.LineBreakResult(i, i, i, B.LineBreakType_1), blockDirection, false);
    },
    getCodePoint(text, index) {
      var char;
      if (index < 0 || index >= text.length)
        return null;
      char = B.JSString_methods.codeUnitAt$1(text, index);
      if ((char & 63488) === 55296 && index < text.length - 1)
        return (char >>> 6 & 31) + 1 << 16 | (char & 63) << 10 | B.JSString_methods.codeUnitAt$1(text, index + 1) & 1023;
      return char;
    },
    UnicodePropertyLookup$(ranges, defaultProperty, $P) {
      return new A.UnicodePropertyLookup(ranges, defaultProperty, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, $P), $P._eval$1("UnicodePropertyLookup<0>"));
    },
    UnicodePropertyLookup_UnicodePropertyLookup$fromPackedData(packedData, singleRangesCount, propertyEnumValues, defaultProperty, $P) {
      return new A.UnicodePropertyLookup(A._unpackProperties(packedData, singleRangesCount, propertyEnumValues, $P), defaultProperty, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, $P), $P._eval$1("UnicodePropertyLookup<0>"));
    },
    _unpackProperties(packedData, singleRangesCount, propertyEnumValues, $P) {
      var t1, i, rangeStart, rangeEnd, i0,
        ranges = A._setArrayType([], $P._eval$1("JSArray<UnicodeRange<0>>")),
        dataLength = packedData.length;
      for (t1 = $P._eval$1("UnicodeRange<0>"), i = 0; i < dataLength; i = i0) {
        rangeStart = A._consumeInt(packedData, i);
        i += 4;
        if (B.JSString_methods._codeUnitAt$1(packedData, i) === 33) {
          ++i;
          rangeEnd = rangeStart;
        } else {
          rangeEnd = A._consumeInt(packedData, i);
          i += 4;
        }
        i0 = i + 1;
        ranges.push(new A.UnicodeRange(rangeStart, rangeEnd, propertyEnumValues[A._getEnumIndexFromPackedValue(B.JSString_methods._codeUnitAt$1(packedData, i))], t1));
      }
      return ranges;
    },
    _getEnumIndexFromPackedValue(charCode) {
      if (charCode <= 90)
        return charCode - 65;
      return 26 + charCode - 97;
    },
    _consumeInt(packedData, index) {
      return A._getIntFromCharCode(B.JSString_methods._codeUnitAt$1(packedData, index + 3)) + A._getIntFromCharCode(B.JSString_methods._codeUnitAt$1(packedData, index + 2)) * 36 + A._getIntFromCharCode(B.JSString_methods._codeUnitAt$1(packedData, index + 1)) * 36 * 36 + A._getIntFromCharCode(B.JSString_methods._codeUnitAt$1(packedData, index)) * 36 * 36 * 36;
    },
    _getIntFromCharCode(charCode) {
      if (charCode <= 57)
        return charCode - 48;
      return charCode - 97 + 10;
    },
    WordBreaker__findBreakIndex(direction, text, index) {
      var t1 = direction.step,
        t2 = text.length,
        i = index;
      while (true) {
        if (!(i >= 0 && i <= t2))
          break;
        i += t1;
        if (A.WordBreaker__isBreak(text, i))
          break;
      }
      return A.clampInt(i, 0, t2);
    },
    WordBreaker__isBreak(text, index) {
      var t1, immediateRight, immediateLeft, l, t2, codePoint, r, nextRight, nextLeft, _null = null;
      if (index <= 0 || index >= text.length)
        return true;
      t1 = index - 1;
      if ((B.JSString_methods.codeUnitAt$1(text, t1) & 63488) === 55296)
        return false;
      immediateRight = $.$get$wordLookup().find$2(0, text, index);
      immediateLeft = $.$get$wordLookup().find$2(0, text, t1);
      if (immediateLeft === B.WordCharProperty_3 && immediateRight === B.WordCharProperty_4)
        return false;
      if (A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_5, B.WordCharProperty_3, B.WordCharProperty_4, _null, _null))
        return true;
      if (A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_5, B.WordCharProperty_3, B.WordCharProperty_4, _null, _null))
        return true;
      if (immediateLeft === B.WordCharProperty_17 && immediateRight === B.WordCharProperty_17)
        return false;
      if (A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_6, B.WordCharProperty_8, B.WordCharProperty_16, _null, _null))
        return false;
      for (l = 0; A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_6, B.WordCharProperty_8, B.WordCharProperty_16, _null, _null);) {
        ++l;
        t1 = index - l - 1;
        if (t1 < 0)
          return true;
        t2 = $.$get$wordLookup();
        codePoint = A.getCodePoint(text, t1);
        immediateLeft = codePoint == null ? t2.defaultProperty : t2.findForChar$1(codePoint);
      }
      if (A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null) && A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null))
        return false;
      r = 0;
      do {
        ++r;
        nextRight = $.$get$wordLookup().find$2(0, text, index + r);
      } while (A.WordBreaker__oneOf(nextRight, B.WordCharProperty_6, B.WordCharProperty_8, B.WordCharProperty_16, _null, _null));
      do {
        ++l;
        nextLeft = $.$get$wordLookup().find$2(0, text, index - l - 1);
      } while (A.WordBreaker__oneOf(nextLeft, B.WordCharProperty_6, B.WordCharProperty_8, B.WordCharProperty_16, _null, _null));
      if (A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null) && A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_11, B.WordCharProperty_13, B.WordCharProperty_1, _null, _null) && A.WordBreaker__oneOf(nextRight, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null))
        return false;
      if (A.WordBreaker__oneOf(nextLeft, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null) && A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_11, B.WordCharProperty_13, B.WordCharProperty_1, _null, _null) && A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null))
        return false;
      t1 = immediateLeft === B.WordCharProperty_2;
      if (t1 && immediateRight === B.WordCharProperty_1)
        return false;
      if (t1 && immediateRight === B.WordCharProperty_0 && nextRight === B.WordCharProperty_2)
        return false;
      if (nextLeft === B.WordCharProperty_2 && immediateLeft === B.WordCharProperty_0 && immediateRight === B.WordCharProperty_2)
        return false;
      t1 = immediateLeft === B.WordCharProperty_14;
      if (t1 && immediateRight === B.WordCharProperty_14)
        return false;
      if (A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null) && immediateRight === B.WordCharProperty_14)
        return false;
      if (t1 && A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_10, B.WordCharProperty_2, _null, _null, _null))
        return false;
      if (nextLeft === B.WordCharProperty_14 && A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_12, B.WordCharProperty_13, B.WordCharProperty_1, _null, _null) && immediateRight === B.WordCharProperty_14)
        return false;
      if (t1 && A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_12, B.WordCharProperty_13, B.WordCharProperty_1, _null, _null) && nextRight === B.WordCharProperty_14)
        return false;
      if (immediateLeft === B.WordCharProperty_9 && immediateRight === B.WordCharProperty_9)
        return false;
      if (A.WordBreaker__oneOf(immediateLeft, B.WordCharProperty_10, B.WordCharProperty_2, B.WordCharProperty_14, B.WordCharProperty_9, B.WordCharProperty_15) && immediateRight === B.WordCharProperty_15)
        return false;
      if (immediateLeft === B.WordCharProperty_15 && A.WordBreaker__oneOf(immediateRight, B.WordCharProperty_10, B.WordCharProperty_2, B.WordCharProperty_14, B.WordCharProperty_9, _null))
        return false;
      return true;
    },
    WordBreaker__oneOf(value, choice1, choice2, choice3, choice4, choice5) {
      if (value === choice1)
        return true;
      if (value === choice2)
        return true;
      if (choice3 != null && value === choice3)
        return true;
      if (choice4 != null && value === choice4)
        return true;
      if (choice5 != null && value === choice5)
        return true;
      return false;
    },
    EngineInputType_fromName($name, isDecimal) {
      switch ($name) {
        case "TextInputType.number":
          return isDecimal ? B.C_DecimalInputType : B.C_NumberInputType;
        case "TextInputType.phone":
          return B.C_PhoneInputType;
        case "TextInputType.emailAddress":
          return B.C_EmailInputType;
        case "TextInputType.url":
          return B.C_UrlInputType;
        case "TextInputType.multiline":
          return B.C_MultilineInputType;
        case "TextInputType.none":
          return B.C_NoTextInputType;
        case "TextInputType.text":
        default:
          return B.C_TextInputType;
      }
    },
    TextCapitalizationConfig$fromInputConfiguration(inputConfiguration) {
      var t1;
      if (inputConfiguration === "TextCapitalization.words")
        t1 = B.TextCapitalization_0;
      else if (inputConfiguration === "TextCapitalization.characters")
        t1 = B.TextCapitalization_2;
      else
        t1 = inputConfiguration === "TextCapitalization.sentences" ? B.TextCapitalization_1 : B.TextCapitalization_3;
      return new A.TextCapitalizationConfig(t1);
    },
    _emptyCallback(_) {
    },
    _hideAutofillElements(domElement, isOffScreen) {
      var t1,
        _s11_ = "transparent",
        _s4_ = "none",
        elementStyle = domElement.style;
      elementStyle.whiteSpace = "pre-wrap";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "align-content"), "center", "");
      elementStyle.padding = "0";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "opacity"), "1", "");
      elementStyle.color = _s11_;
      elementStyle.backgroundColor = _s11_;
      elementStyle.background = _s11_;
      elementStyle.outline = _s4_;
      elementStyle.border = _s4_;
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "resize"), _s4_, "");
      elementStyle.width = "0";
      elementStyle.height = "0";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "text-shadow"), _s11_, "");
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "transform-origin"), "0 0 0", "");
      if (isOffScreen) {
        elementStyle.top = "-9999px";
        elementStyle.left = "-9999px";
      }
      t1 = $.$get$_browserEngine();
      if (t1 !== B.BrowserEngine_0)
        if (t1 !== B.BrowserEngine_5)
          t1 = t1 === B.BrowserEngine_1;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        domElement.classList.add("transparentTextEditing");
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "caret-color"), _s11_, null);
    },
    EngineAutofillForm_fromFrameworkMessage(focusedElementAutofill, fields) {
      var t1, elements, items, formElement, ids, focusedElement, t2, t3, t4, t5, t6, autofillInfo, t7, autofill, htmlElement, _i, id, formIdentifier, form, submitButton;
      if (focusedElementAutofill == null)
        return null;
      t1 = type$.String;
      elements = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.HtmlElement);
      items = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AutofillInfo);
      formElement = document.createElement("form");
      formElement.noValidate = true;
      formElement.method = "post";
      formElement.action = "#";
      B.FormElement_methods.addEventListener$2(formElement, "submit", new A.EngineAutofillForm_fromFrameworkMessage_closure());
      A._hideAutofillElements(formElement, false);
      ids = J.JSArray_JSArray$growable(0, t1);
      focusedElement = A.AutofillInfo_AutofillInfo$fromFrameworkMessage(focusedElementAutofill, B.TextCapitalizationConfig_TextCapitalization_3);
      if (fields != null)
        for (t1 = type$.Map_String_dynamic, t2 = J.cast$1$0$ax(fields, t1), t3 = A._instanceType(t2), t2 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListMixin.E>")), t4 = focusedElement.uniqueIdentifier, t3 = t3._eval$1("ListMixin.E"); t2.moveNext$0();) {
          t5 = t2.__internal$_current;
          if (t5 == null)
            t5 = t3._as(t5);
          t6 = J.getInterceptor$asx(t5);
          autofillInfo = t1._as(t6.$index(t5, "autofill"));
          t7 = A._asString(t6.$index(t5, "textCapitalization"));
          if (t7 === "TextCapitalization.words")
            t7 = B.TextCapitalization_0;
          else if (t7 === "TextCapitalization.characters")
            t7 = B.TextCapitalization_2;
          else
            t7 = t7 === "TextCapitalization.sentences" ? B.TextCapitalization_1 : B.TextCapitalization_3;
          autofill = A.AutofillInfo_AutofillInfo$fromFrameworkMessage(autofillInfo, new A.TextCapitalizationConfig(t7));
          t7 = autofill.uniqueIdentifier;
          ids.push(t7);
          if (t7 !== t4) {
            htmlElement = A.EngineInputType_fromName(A._asString(J.$index$asx(t1._as(t6.$index(t5, "inputType")), "name")), false).createDomElement$0();
            autofill.editingState.applyToDomElement$1(htmlElement);
            autofill.applyToDomElement$1(htmlElement);
            A._hideAutofillElements(htmlElement, false);
            items.$indexSet(0, t7, autofill);
            elements.$indexSet(0, t7, htmlElement);
            formElement.appendChild(htmlElement);
          }
        }
      else
        ids.push(focusedElement.uniqueIdentifier);
      B.JSArray_methods.sort$0(ids);
      for (t1 = ids.length, _i = 0, t2 = ""; _i < t1; ++_i) {
        id = ids[_i];
        t2 = (t2.length > 0 ? t2 + "*" : t2) + id;
      }
      formIdentifier = t2.charCodeAt(0) == 0 ? t2 : t2;
      form = $.formsOnTheDom.$index(0, formIdentifier);
      if (form != null)
        B.FormElement_methods.remove$0(form);
      submitButton = A.InputElement_InputElement(null);
      A._hideAutofillElements(submitButton, true);
      submitButton.className = "submitBtn";
      submitButton.type = "submit";
      formElement.appendChild(submitButton);
      return new A.EngineAutofillForm(formElement, elements, items, formIdentifier);
    },
    AutofillInfo_AutofillInfo$fromFrameworkMessage(autofill, textCapitalization) {
      var t2,
        t1 = J.getInterceptor$asx(autofill),
        uniqueIdentifier = A._asString(t1.$index(autofill, "uniqueIdentifier")),
        hintsList = type$.nullable_List_dynamic._as(t1.$index(autofill, "hints")),
        firstHint = hintsList == null || J.get$isEmpty$asx(hintsList) ? null : A._asString(J.get$first$ax(hintsList)),
        editingState = A.EditingState_EditingState$fromFrameworkMessage(type$.Map_String_dynamic._as(t1.$index(autofill, "editingValue")));
      if (firstHint != null) {
        t2 = $.$get$BrowserAutofillHints__singletonInstance()._flutterToEngineMap.$index(0, firstHint);
        if (t2 == null)
          t2 = firstHint;
      } else
        t2 = null;
      return new A.AutofillInfo(editingState, uniqueIdentifier, t2, A._asStringQ(t1.$index(autofill, "hintText")));
    },
    _replace(originalText, replacementText, replacedRange) {
      var t1 = replacedRange.start,
        t2 = replacedRange.end,
        t3 = Math.min(t1, t2);
      t2 = Math.max(t1, t2);
      return B.JSString_methods.substring$2(originalText, 0, t3) + replacementText + B.JSString_methods.substring$1(originalText, t2);
    },
    TextEditingDeltaState_inferDeltaState(newEditingState, lastEditingState, lastTextEditingDeltaState) {
      var previousSelectionWasCollapsed, isTextBeingRemoved, isTextBeingChangedAtActiveSelection, isCurrentlyComposing, textAfterDelta, isPeriodInsertion, match, t9, actualEnd, textAfterMatch,
        t1 = lastTextEditingDeltaState.oldText,
        t2 = lastTextEditingDeltaState.deltaText,
        t3 = lastTextEditingDeltaState.deltaStart,
        t4 = lastTextEditingDeltaState.deltaEnd,
        t5 = lastTextEditingDeltaState.baseOffset,
        t6 = lastTextEditingDeltaState.extentOffset,
        t7 = lastTextEditingDeltaState.composingOffset,
        t8 = lastTextEditingDeltaState.composingExtent,
        newTextEditingDeltaState = new A.TextEditingDeltaState(t1, t2, t3, t4, t5, t6, t7, t8);
      t5 = lastEditingState == null;
      t6 = t5 ? null : lastEditingState.baseOffset;
      previousSelectionWasCollapsed = t6 == (t5 ? null : lastEditingState.extentOffset);
      t5 = t2.length;
      t6 = t5 === 0;
      isTextBeingRemoved = t6 && t4 !== -1;
      t6 = !t6;
      isTextBeingChangedAtActiveSelection = t6 && !previousSelectionWasCollapsed;
      if (isTextBeingRemoved) {
        t3 = t4 - (t1.length - newEditingState.text.length);
        newTextEditingDeltaState.deltaStart = t3;
      } else if (isTextBeingChangedAtActiveSelection) {
        t3 = lastEditingState.baseOffset;
        newTextEditingDeltaState.deltaStart = t3;
      }
      isCurrentlyComposing = t7 != null && t7 !== t8;
      if (t6 && previousSelectionWasCollapsed && isCurrentlyComposing) {
        t7.toString;
        t3 = newTextEditingDeltaState.deltaStart = t7;
        t8.toString;
        t8 = newTextEditingDeltaState.deltaEnd = t8;
        t4 = t8;
      }
      if (!(t3 === -1 && t3 === t4)) {
        textAfterDelta = A._replace(t1, t2, new A.TextRange(t3, t4));
        t3 = newEditingState.text;
        t3.toString;
        if (textAfterDelta !== t3) {
          isPeriodInsertion = B.JSString_methods.contains$1(t2, ".");
          for (t4 = A.RegExp_RegExp(A.quoteStringForRegExp(t2), true, false).allMatches$1(0, t3), t4 = new A._AllMatchesIterator(t4._re, t4.__js_helper$_string, t4.__js_helper$_start), t6 = type$.RegExpMatch, t7 = t1.length; t4.moveNext$0();) {
            match = t4.__js_helper$_current;
            t8 = (match == null ? t6._as(match) : match)._match;
            t9 = t8.index;
            if (!(t9 >= 0 && t9 + t8[0].length <= t7)) {
              actualEnd = t9 + t5 - 1;
              textAfterMatch = A._replace(t1, t2, new A.TextRange(t9, actualEnd));
            } else {
              actualEnd = isPeriodInsertion ? t9 + t8[0].length - 1 : t9 + t8[0].length;
              textAfterMatch = A._replace(t1, t2, new A.TextRange(t9, actualEnd));
            }
            if (textAfterMatch === t3) {
              newTextEditingDeltaState.deltaStart = t9;
              newTextEditingDeltaState.deltaEnd = actualEnd;
              break;
            }
          }
        }
      }
      newTextEditingDeltaState.baseOffset = newEditingState.baseOffset;
      newTextEditingDeltaState.extentOffset = newEditingState.extentOffset;
      return newTextEditingDeltaState;
    },
    EditingState$(baseOffset, extentOffset, text) {
      var t1 = baseOffset == null,
        t2 = t1 ? 0 : baseOffset,
        t3 = extentOffset == null,
        t4 = t3 ? 0 : extentOffset;
      t4 = Math.max(0, Math.min(t2, t4));
      t1 = t1 ? 0 : baseOffset;
      t2 = t3 ? 0 : extentOffset;
      return new A.EditingState(text, t4, Math.max(0, Math.max(t1, t2)));
    },
    EditingState_EditingState$fromFrameworkMessage(flutterEditingState) {
      var t1 = J.getInterceptor$asx(flutterEditingState);
      return A.EditingState$(A._asInt(t1.$index(flutterEditingState, "selectionBase")), A._asInt(t1.$index(flutterEditingState, "selectionExtent")), A._asStringQ(t1.$index(flutterEditingState, "text")));
    },
    EditingState_EditingState$fromDomElement(domElement) {
      var t1;
      if (type$.InputElement._is(domElement)) {
        t1 = domElement.value;
        return A.EditingState$(domElement.selectionStart, domElement.selectionEnd, t1);
      } else if (type$.TextAreaElement._is(domElement)) {
        t1 = domElement.value;
        return A.EditingState$(domElement.selectionStart, domElement.selectionEnd, t1);
      } else
        throw A.wrapException(A.UnsupportedError$("Initialized with unsupported input type"));
    },
    InputConfiguration$fromFrameworkMessage(flutterInputConfiguration) {
      var t5, t6, t7, t8, t9,
        _s9_ = "inputType",
        _s8_ = "autofill",
        t1 = J.getInterceptor$asx(flutterInputConfiguration),
        t2 = type$.Map_String_dynamic,
        t3 = A._asString(J.$index$asx(t2._as(t1.$index(flutterInputConfiguration, _s9_)), "name")),
        t4 = A._asBoolQ(J.$index$asx(t2._as(t1.$index(flutterInputConfiguration, _s9_)), "decimal"));
      t3 = A.EngineInputType_fromName(t3, t4 === true);
      t4 = A._asStringQ(t1.$index(flutterInputConfiguration, "inputAction"));
      if (t4 == null)
        t4 = "TextInputAction.done";
      t5 = A._asBoolQ(t1.$index(flutterInputConfiguration, "obscureText"));
      t6 = A._asBoolQ(t1.$index(flutterInputConfiguration, "readOnly"));
      t7 = A._asBoolQ(t1.$index(flutterInputConfiguration, "autocorrect"));
      t8 = A.TextCapitalizationConfig$fromInputConfiguration(A._asString(t1.$index(flutterInputConfiguration, "textCapitalization")));
      t2 = t1.containsKey$1(flutterInputConfiguration, _s8_) ? A.AutofillInfo_AutofillInfo$fromFrameworkMessage(t2._as(t1.$index(flutterInputConfiguration, _s8_)), B.TextCapitalizationConfig_TextCapitalization_3) : null;
      t9 = A.EngineAutofillForm_fromFrameworkMessage(type$.nullable_Map_String_dynamic._as(t1.$index(flutterInputConfiguration, _s8_)), type$.nullable_List_dynamic._as(t1.$index(flutterInputConfiguration, "fields")));
      t1 = A._asBoolQ(t1.$index(flutterInputConfiguration, "enableDeltaModel"));
      return new A.InputConfiguration(t3, t4, t6 === true, t5 === true, t7 !== false, t1 === true, t2, t9, t8);
    },
    saveForms() {
      $.formsOnTheDom.forEach$1(0, new A.saveForms_closure());
    },
    cleanForms() {
      var t1, t2, t3, t4;
      for (t1 = $.formsOnTheDom.get$values($.formsOnTheDom), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        t4 = t3.parentNode;
        if (t4 != null)
          t4.removeChild(t3);
      }
      $.formsOnTheDom.clear$0(0);
    },
    futurize(callbacker, $T) {
      var error, t1 = {},
        t2 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1.sync = true;
      error = callbacker.call$1(new A.futurize_closure(t1, new A._SyncCompleter(t2, $T._eval$1("_SyncCompleter<0>")), $T));
      t1.sync = false;
      if (error != null)
        throw A.wrapException(A.Exception_Exception(error));
      return t2;
    },
    setElementTransform(element, matrix4) {
      var t1 = element.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform-origin", "0 0 0");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform", A.float64ListToCssTransform(matrix4));
    },
    float64ListToCssTransform(matrix) {
      var transformKind = A.transformKindOf(matrix);
      if (transformKind === B.TransformKind_1)
        return "matrix(" + A.S(matrix[0]) + "," + A.S(matrix[1]) + "," + A.S(matrix[4]) + "," + A.S(matrix[5]) + "," + A.S(matrix[12]) + "," + A.S(matrix[13]) + ")";
      else if (transformKind === B.TransformKind_2)
        return A.float64ListToCssTransform3d(matrix);
      else
        return "none";
    },
    transformKindOf(matrix) {
      if (!(matrix[15] === 1 && matrix[14] === 0 && matrix[11] === 0 && matrix[10] === 1 && matrix[9] === 0 && matrix[8] === 0 && matrix[7] === 0 && matrix[6] === 0 && matrix[3] === 0 && matrix[2] === 0))
        return B.TransformKind_2;
      if (matrix[0] === 1 && matrix[1] === 0 && matrix[4] === 0 && matrix[5] === 1 && matrix[12] === 0 && matrix[13] === 0)
        return B.TransformKind_0;
      else
        return B.TransformKind_1;
    },
    float64ListToCssTransform3d(matrix) {
      var t1 = matrix[0];
      if (t1 === 1 && matrix[1] === 0 && matrix[2] === 0 && matrix[3] === 0 && matrix[4] === 0 && matrix[5] === 1 && matrix[6] === 0 && matrix[7] === 0 && matrix[8] === 0 && matrix[9] === 0 && matrix[10] === 1 && matrix[11] === 0 && matrix[14] === 0 && matrix[15] === 1)
        return "translate3d(" + A.S(matrix[12]) + "px, " + A.S(matrix[13]) + "px, 0px)";
      else
        return "matrix3d(" + A.S(t1) + "," + A.S(matrix[1]) + "," + A.S(matrix[2]) + "," + A.S(matrix[3]) + "," + A.S(matrix[4]) + "," + A.S(matrix[5]) + "," + A.S(matrix[6]) + "," + A.S(matrix[7]) + "," + A.S(matrix[8]) + "," + A.S(matrix[9]) + "," + A.S(matrix[10]) + "," + A.S(matrix[11]) + "," + A.S(matrix[12]) + "," + A.S(matrix[13]) + "," + A.S(matrix[14]) + "," + A.S(matrix[15]) + ")";
    },
    transformRect(transform, rect) {
      var t1 = $.$get$_tempRectData();
      t1[0] = rect.left;
      t1[1] = rect.top;
      t1[2] = rect.right;
      t1[3] = rect.bottom;
      A.transformLTRB(transform, t1);
      return new A.Rect(t1[0], t1[1], t1[2], t1[3]);
    },
    transformLTRB(transform, ltrb) {
      var t2, m00, m01, m02, m03, m10, m11, m12, m13, m20, m21, m22, m23, m30, m31, m32, m33, argStorage, w,
        t1 = $.$get$_tempPointData();
      t1[0] = ltrb[0];
      t1[4] = ltrb[1];
      t1[8] = 0;
      t1[12] = 1;
      t1[1] = ltrb[2];
      t1[5] = ltrb[1];
      t1[9] = 0;
      t1[13] = 1;
      t1[2] = ltrb[0];
      t1[6] = ltrb[3];
      t1[10] = 0;
      t1[14] = 1;
      t1[3] = ltrb[2];
      t1[7] = ltrb[3];
      t1[11] = 0;
      t1[15] = 1;
      t2 = $.$get$_tempPointMatrix().__engine$_m4storage;
      m00 = t2[0];
      m01 = t2[4];
      m02 = t2[8];
      m03 = t2[12];
      m10 = t2[1];
      m11 = t2[5];
      m12 = t2[9];
      m13 = t2[13];
      m20 = t2[2];
      m21 = t2[6];
      m22 = t2[10];
      m23 = t2[14];
      m30 = t2[3];
      m31 = t2[7];
      m32 = t2[11];
      m33 = t2[15];
      argStorage = transform.__engine$_m4storage;
      t2[0] = m00 * argStorage[0] + m01 * argStorage[4] + m02 * argStorage[8] + m03 * argStorage[12];
      t2[4] = m00 * argStorage[1] + m01 * argStorage[5] + m02 * argStorage[9] + m03 * argStorage[13];
      t2[8] = m00 * argStorage[2] + m01 * argStorage[6] + m02 * argStorage[10] + m03 * argStorage[14];
      t2[12] = m00 * argStorage[3] + m01 * argStorage[7] + m02 * argStorage[11] + m03 * argStorage[15];
      t2[1] = m10 * argStorage[0] + m11 * argStorage[4] + m12 * argStorage[8] + m13 * argStorage[12];
      t2[5] = m10 * argStorage[1] + m11 * argStorage[5] + m12 * argStorage[9] + m13 * argStorage[13];
      t2[9] = m10 * argStorage[2] + m11 * argStorage[6] + m12 * argStorage[10] + m13 * argStorage[14];
      t2[13] = m10 * argStorage[3] + m11 * argStorage[7] + m12 * argStorage[11] + m13 * argStorage[15];
      t2[2] = m20 * argStorage[0] + m21 * argStorage[4] + m22 * argStorage[8] + m23 * argStorage[12];
      t2[6] = m20 * argStorage[1] + m21 * argStorage[5] + m22 * argStorage[9] + m23 * argStorage[13];
      t2[10] = m20 * argStorage[2] + m21 * argStorage[6] + m22 * argStorage[10] + m23 * argStorage[14];
      t2[14] = m20 * argStorage[3] + m21 * argStorage[7] + m22 * argStorage[11] + m23 * argStorage[15];
      t2[3] = m30 * argStorage[0] + m31 * argStorage[4] + m32 * argStorage[8] + m33 * argStorage[12];
      t2[7] = m30 * argStorage[1] + m31 * argStorage[5] + m32 * argStorage[9] + m33 * argStorage[13];
      t2[11] = m30 * argStorage[2] + m31 * argStorage[6] + m32 * argStorage[10] + m33 * argStorage[14];
      t2[15] = m30 * argStorage[3] + m31 * argStorage[7] + m32 * argStorage[11] + m33 * argStorage[15];
      w = argStorage[15];
      if (w === 0)
        w = 1;
      ltrb[0] = Math.min(Math.min(Math.min(t1[0], t1[1]), t1[2]), t1[3]) / w;
      ltrb[1] = Math.min(Math.min(Math.min(t1[4], t1[5]), t1[6]), t1[7]) / w;
      ltrb[2] = Math.max(Math.max(Math.max(t1[0], t1[1]), t1[2]), t1[3]) / w;
      ltrb[3] = Math.max(Math.max(Math.max(t1[4], t1[5]), t1[6]), t1[7]) / w;
    },
    rectContainsOther(rect, other) {
      return rect.left <= other.left && rect.top <= other.top && rect.right >= other.right && rect.bottom >= other.bottom;
    },
    colorToCssString(color) {
      var value, hexValue, t1;
      if (color == null)
        return null;
      value = color.get$value(color);
      if ((value & 4278190080) >>> 0 === 4278190080) {
        hexValue = B.JSInt_methods.toRadixString$1(value & 16777215, 16);
        switch (hexValue.length) {
          case 1:
            return "#00000" + hexValue;
          case 2:
            return "#0000" + hexValue;
          case 3:
            return "#000" + hexValue;
          case 4:
            return "#00" + hexValue;
          case 5:
            return "#0" + hexValue;
          default:
            return "#" + hexValue;
        }
      } else {
        t1 = "" + "rgba(" + B.JSInt_methods.toString$0(value >>> 16 & 255) + "," + B.JSInt_methods.toString$0(value >>> 8 & 255) + "," + B.JSInt_methods.toString$0(value & 255) + "," + B.JSNumber_methods.toString$0((value >>> 24 & 255) / 255) + ")";
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      }
    },
    colorComponentsToCssString(r, g, b, a) {
      var t1 = "" + r,
        t2 = "" + g,
        t3 = "" + b;
      if (a === 255)
        return "rgb(" + t1 + "," + t2 + "," + t3 + ")";
      else
        return "rgba(" + t1 + "," + t2 + "," + t3 + "," + B.JSNumber_methods.toStringAsFixed$1(a / 255, 2) + ")";
    },
    _fallbackFontFamily() {
      if (A.isIOS15())
        return "BlinkMacSystemFont";
      var t1 = $.$get$_operatingSystem();
      if (t1 !== B.OperatingSystem_0)
        t1 = t1 === B.OperatingSystem_4;
      else
        t1 = true;
      if (t1)
        return "-apple-system, BlinkMacSystemFont";
      return "Arial";
    },
    canonicalizeFontFamily(fontFamily) {
      var t1;
      if (J.containsKey$1$x(B.Set_wIvsi._collection$_map, fontFamily))
        return fontFamily;
      t1 = $.$get$_operatingSystem();
      if (t1 !== B.OperatingSystem_0)
        t1 = t1 === B.OperatingSystem_4;
      else
        t1 = true;
      if (t1)
        if (fontFamily === ".SF Pro Text" || fontFamily === ".SF Pro Display" || fontFamily === ".SF UI Text" || fontFamily === ".SF UI Display")
          return A._fallbackFontFamily();
      return '"' + A.S(fontFamily) + '", ' + A._fallbackFontFamily() + ", sans-serif";
    },
    clampInt(value, min, max) {
      if (value < min)
        return min;
      else if (value > max)
        return max;
      else
        return value;
    },
    listEquals0(a, b) {
      var index;
      if (a == null)
        return b == null;
      if (b == null || a.length !== b.length)
        return false;
      for (index = 0; index < a.length; ++index)
        if (!J.$eq$(a[index], b[index]))
          return false;
      return true;
    },
    httpFetch(url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.JavaScriptObject),
        $async$returnValue, t1, result;
      var $async$httpFetch = 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 = window;
              $async$goto = 3;
              return A._asyncAwait(A.promiseToFuture(t1.fetch(url, null), type$.dynamic), $async$httpFetch);
            case 3:
              // returning from await.
              result = $async$result;
              result.toString;
              $async$returnValue = type$.JavaScriptObject._as(result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$httpFetch, $async$completer);
    },
    bytesToHexString(data) {
      return new A.MappedListIterable(data, new A.bytesToHexString_closure(), A.instanceType(data)._eval$1("MappedListIterable<ListMixin.E,String>")).join$1(0, " ");
    },
    setElementStyle(element, $name, value) {
      A.DomCSSStyleDeclarationExtension_setProperty(element.style, $name, value);
    },
    drawEllipse(context, centerX, centerY, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise) {
      var t1 = $._ellipseFeatureDetected;
      if (t1 == null ? $._ellipseFeatureDetected = context.ellipse != null : t1)
        context.ellipse(centerX, centerY, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise);
      else {
        context.save();
        context.translate(centerX, centerY);
        context.rotate(rotation);
        context.scale(radiusX, radiusY);
        context.arc(0, 0, 1, startAngle, endAngle, antiClockwise);
        context.restore();
      }
    },
    removeAllChildren(node) {
      var t1;
      for (; node.lastChild != null;) {
        t1 = node.lastChild;
        if (t1.parentNode != null)
          t1.parentNode.removeChild(t1);
      }
    },
    FirstWhereOrNull_firstWhereOrNull(_this, test) {
      var t1, t2, element;
      for (t1 = _this.$ti, t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(_this.__internal$_iterable), _this._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1]; t2.moveNext$0();) {
        element = t2.__internal$_current;
        if (element == null)
          element = t1._as(element);
        if (test.call$1(element))
          return element;
      }
      return null;
    },
    Matrix4_tryInvert0(other) {
      var r = new A.Matrix40(new Float32Array(16));
      if (r.copyInverse$1(other) === 0)
        return null;
      return r;
    },
    Matrix4$identity() {
      var t1 = new Float32Array(16);
      t1[15] = 1;
      t1[0] = 1;
      t1[5] = 1;
      t1[10] = 1;
      return new A.Matrix40(t1);
    },
    Matrix4$fromFloat32List(_m4storage) {
      return new A.Matrix40(_m4storage);
    },
    Vector3_Vector3(x, y, z) {
      var t1 = new Float32Array(3);
      t1[0] = x;
      t1[1] = y;
      t1[2] = z;
      return new A.Vector30(t1);
    },
    toMatrix32(matrix64) {
      var matrix32 = new Float32Array(16);
      matrix32[15] = matrix64[15];
      matrix32[14] = matrix64[14];
      matrix32[13] = matrix64[13];
      matrix32[12] = matrix64[12];
      matrix32[11] = matrix64[11];
      matrix32[10] = matrix64[10];
      matrix32[9] = matrix64[9];
      matrix32[8] = matrix64[8];
      matrix32[7] = matrix64[7];
      matrix32[6] = matrix64[6];
      matrix32[5] = matrix64[5];
      matrix32[4] = matrix64[4];
      matrix32[3] = matrix64[3];
      matrix32[2] = matrix64[2];
      matrix32[1] = matrix64[1];
      matrix32[0] = matrix64[0];
      return matrix32;
    },
    EngineSingletonFlutterWindow$(windowId, platformDispatcher) {
      var t1 = new A.EngineSingletonFlutterWindow(windowId, platformDispatcher, A.Future_Future$value(null, type$.void), B.WindowPadding_0_0_0_0);
      t1.EngineFlutterWindow$2(windowId, platformDispatcher);
      return t1;
    },
    AlarmClock: function AlarmClock(t0) {
      var _ = this;
      _._timestampFunction = t0;
      _.callback = _._datetime = _._timer = null;
    },
    AppBootstrap: function AppBootstrap(t0, t1) {
      this._initEngine = t0;
      this._runApp = t1;
    },
    AppBootstrap_prepareEngineInitializer_closure: function AppBootstrap_prepareEngineInitializer_closure(t0) {
      this.$this = t0;
    },
    AppBootstrap_prepareEngineInitializer__closure0: function AppBootstrap_prepareEngineInitializer__closure0(t0) {
      this.$this = t0;
    },
    AppBootstrap_prepareEngineInitializer_closure0: function AppBootstrap_prepareEngineInitializer_closure0(t0) {
      this.$this = t0;
    },
    AppBootstrap_prepareEngineInitializer__closure: function AppBootstrap_prepareEngineInitializer__closure(t0) {
      this.$this = t0;
    },
    AppBootstrap__prepareAppRunner_closure: function AppBootstrap__prepareAppRunner_closure(t0) {
      this.$this = t0;
    },
    AppBootstrap__prepareAppRunner__closure: function AppBootstrap__prepareAppRunner__closure(t0) {
      this.$this = t0;
    },
    AssetManager: function AssetManager() {
    },
    AssetManager__baseUrl_closure: function AssetManager__baseUrl_closure() {
    },
    AssetManager__baseUrl_closure0: function AssetManager__baseUrl_closure0() {
    },
    AssetManager__baseUrl_closure1: function AssetManager__baseUrl_closure1() {
    },
    AssetManagerException: function AssetManagerException(t0, t1) {
      this.url = t0;
      this.httpStatus = t1;
    },
    BrowserEngine: function BrowserEngine(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    OperatingSystem: function OperatingSystem(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    CanvasPool: function CanvasPool(t0, t1, t2, t3, t4) {
      var _ = this;
      _._contextHandle = _.__engine$_context = null;
      _._widthInBitmapPixels = t0;
      _._heightInBitmapPixels = t1;
      _._rootElement = _.__engine$_canvas = _._reusablePool = _._activeCanvasList = null;
      _._saveContextCount = 0;
      _._density = t2;
      _._saveStack = t3;
      _.clipStack = null;
      _._currentTransform = t4;
    },
    ContextStateHandle: function ContextStateHandle(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.context = t0;
      _._canvasPool = t1;
      _.density = t2;
      _._currentBlendMode = t3;
      _._currentStrokeCap = t4;
      _._currentStrokeJoin = t5;
      _._currentStrokeStyle = _._currentFillStyle = null;
      _._currentLineWidth = 1;
      _._shaderBounds = _._lastUsedPaint = _._currentFilter = null;
      _._debugIsPaintSetUp = false;
    },
    _SaveStackTracking: function _SaveStackTracking() {
    },
    CkCanvas: function CkCanvas(t0) {
      this.skCanvas = t0;
    },
    RecordingCkCanvas: function RecordingCkCanvas(t0, t1) {
      this.pictureSnapshot = t0;
      this.skCanvas = t1;
    },
    CkPictureSnapshot: function CkPictureSnapshot(t0, t1) {
      this._bounds = t0;
      this._commands = t1;
    },
    CkPaintCommand: function CkPaintCommand() {
    },
    CkClearCommand: function CkClearCommand(t0) {
      this.color = t0;
    },
    CkSaveCommand: function CkSaveCommand() {
    },
    CkRestoreCommand: function CkRestoreCommand() {
    },
    CkTranslateCommand: function CkTranslateCommand(t0, t1) {
      this.dx = t0;
      this.dy = t1;
    },
    CkScaleCommand: function CkScaleCommand(t0, t1) {
      this.sx = t0;
      this.sy = t1;
    },
    CkRotateCommand: function CkRotateCommand(t0) {
      this.radians = t0;
    },
    CkTransformCommand: function CkTransformCommand(t0) {
      this.matrix4 = t0;
    },
    CkClipRectCommand: function CkClipRectCommand(t0, t1, t2) {
      this.rect = t0;
      this.clipOp = t1;
      this.doAntiAlias = t2;
    },
    CkDrawArcCommand: function CkDrawArcCommand(t0, t1, t2, t3, t4) {
      var _ = this;
      _.oval = t0;
      _.startAngle = t1;
      _.sweepAngle = t2;
      _.useCenter = t3;
      _.paint = t4;
    },
    CkClipRRectCommand: function CkClipRRectCommand(t0, t1) {
      this.rrect = t0;
      this.doAntiAlias = t1;
    },
    CkClipPathCommand: function CkClipPathCommand(t0, t1) {
      this.path = t0;
      this.doAntiAlias = t1;
    },
    CkDrawLineCommand: function CkDrawLineCommand(t0, t1, t2) {
      this.p1 = t0;
      this.p2 = t1;
      this.paint = t2;
    },
    CkDrawPaintCommand: function CkDrawPaintCommand(t0) {
      this.paint = t0;
    },
    CkDrawRectCommand: function CkDrawRectCommand(t0, t1) {
      this.rect = t0;
      this.paint = t1;
    },
    CkDrawRRectCommand: function CkDrawRRectCommand(t0, t1) {
      this.rrect = t0;
      this.paint = t1;
    },
    CkDrawDRRectCommand: function CkDrawDRRectCommand(t0, t1, t2) {
      this.outer = t0;
      this.inner = t1;
      this.paint = t2;
    },
    CkDrawOvalCommand: function CkDrawOvalCommand(t0, t1) {
      this.rect = t0;
      this.paint = t1;
    },
    CkDrawCircleCommand: function CkDrawCircleCommand(t0, t1, t2) {
      this.c = t0;
      this.radius = t1;
      this.paint = t2;
    },
    CkDrawPathCommand: function CkDrawPathCommand(t0, t1) {
      this.path = t0;
      this.paint = t1;
    },
    CkDrawShadowCommand: function CkDrawShadowCommand(t0, t1, t2, t3) {
      var _ = this;
      _.path = t0;
      _.color = t1;
      _.elevation = t2;
      _.transparentOccluder = t3;
    },
    CkDrawImageRectCommand: function CkDrawImageRectCommand(t0, t1, t2, t3) {
      var _ = this;
      _.image = t0;
      _.src = t1;
      _.dst = t2;
      _.paint = t3;
    },
    CkDrawParagraphCommand: function CkDrawParagraphCommand(t0, t1) {
      this.paragraph = t0;
      this.offset = t1;
    },
    CkDrawPictureCommand: function CkDrawPictureCommand(t0) {
      this.picture = t0;
    },
    CkSaveLayerCommand: function CkSaveLayerCommand(t0, t1) {
      this.bounds = t0;
      this.paint = t1;
    },
    H5vcc: function H5vcc() {
    },
    CanvasKit: function CanvasKit() {
    },
    CanvasKitInitOptions: function CanvasKitInitOptions() {
    },
    CanvasKitInitPromise: function CanvasKitInitPromise() {
    },
    ColorSpace: function ColorSpace() {
    },
    SkWebGLContextOptions: function SkWebGLContextOptions() {
    },
    SkSurface: function SkSurface() {
    },
    SkGrContext: function SkGrContext() {
    },
    SkFontSlantEnum: function SkFontSlantEnum() {
    },
    SkFontSlant: function SkFontSlant() {
    },
    SkFontWeightEnum: function SkFontWeightEnum() {
    },
    SkFontWeight: function SkFontWeight() {
    },
    SkAffinityEnum: function SkAffinityEnum() {
    },
    SkAffinity: function SkAffinity() {
    },
    SkTextDirectionEnum: function SkTextDirectionEnum() {
    },
    SkTextDirection: function SkTextDirection() {
    },
    SkTextAlignEnum: function SkTextAlignEnum() {
    },
    SkTextAlign: function SkTextAlign() {
    },
    SkTextHeightBehaviorEnum: function SkTextHeightBehaviorEnum() {
    },
    SkTextHeightBehavior: function SkTextHeightBehavior() {
    },
    SkRectHeightStyleEnum: function SkRectHeightStyleEnum() {
    },
    SkRectHeightStyle: function SkRectHeightStyle() {
    },
    SkRectWidthStyleEnum: function SkRectWidthStyleEnum() {
    },
    SkRectWidthStyle: function SkRectWidthStyle() {
    },
    SkVertexModeEnum: function SkVertexModeEnum() {
    },
    SkVertexMode: function SkVertexMode() {
    },
    SkPointModeEnum: function SkPointModeEnum() {
    },
    SkPointMode: function SkPointMode() {
    },
    SkClipOpEnum: function SkClipOpEnum() {
    },
    SkClipOp: function SkClipOp() {
    },
    SkFillTypeEnum: function SkFillTypeEnum() {
    },
    SkFillType: function SkFillType() {
    },
    SkPathOpEnum: function SkPathOpEnum() {
    },
    SkPathOp: function SkPathOp() {
    },
    SkBlurStyleEnum: function SkBlurStyleEnum() {
    },
    SkBlurStyle: function SkBlurStyle() {
    },
    SkStrokeCapEnum: function SkStrokeCapEnum() {
    },
    SkStrokeCap: function SkStrokeCap() {
    },
    SkPaintStyleEnum: function SkPaintStyleEnum() {
    },
    SkPaintStyle: function SkPaintStyle() {
    },
    SkBlendModeEnum: function SkBlendModeEnum() {
    },
    SkBlendMode: function SkBlendMode() {
    },
    SkStrokeJoinEnum: function SkStrokeJoinEnum() {
    },
    SkStrokeJoin: function SkStrokeJoin() {
    },
    SkTileModeEnum: function SkTileModeEnum() {
    },
    SkTileMode: function SkTileMode() {
    },
    SkFilterModeEnum: function SkFilterModeEnum() {
    },
    SkFilterMode: function SkFilterMode() {
    },
    SkMipmapModeEnum: function SkMipmapModeEnum() {
    },
    SkMipmapMode: function SkMipmapMode() {
    },
    SkAlphaTypeEnum: function SkAlphaTypeEnum() {
    },
    SkAlphaType: function SkAlphaType() {
    },
    SkColorTypeEnum: function SkColorTypeEnum() {
    },
    SkColorType: function SkColorType() {
    },
    SkAnimatedImage: function SkAnimatedImage() {
    },
    SkImage: function SkImage() {
    },
    SkShaderNamespace: function SkShaderNamespace() {
    },
    SkShader: function SkShader() {
    },
    SkMaskFilterNamespace: function SkMaskFilterNamespace() {
    },
    SkPaint: function SkPaint() {
    },
    CkFilterOptions: function CkFilterOptions() {
    },
    _CkCubicFilterOptions: function _CkCubicFilterOptions() {
    },
    _CkTransformFilterOptions: function _CkTransformFilterOptions() {
    },
    SkMaskFilter: function SkMaskFilter() {
    },
    SkColorFilterNamespace: function SkColorFilterNamespace() {
    },
    SkColorFilter: function SkColorFilter() {
    },
    SkImageFilterNamespace: function SkImageFilterNamespace() {
    },
    SkImageFilter: function SkImageFilter() {
    },
    SkPathNamespace: function SkPathNamespace() {
    },
    _NativeFloat32ArrayType: function _NativeFloat32ArrayType() {
    },
    SkFloat32List: function SkFloat32List() {
    },
    SkPath: function SkPath() {
    },
    SkContourMeasureIter: function SkContourMeasureIter() {
    },
    SkContourMeasure: function SkContourMeasure() {
    },
    SkPictureRecorder: function SkPictureRecorder() {
    },
    SkCanvas: function SkCanvas() {
    },
    SkPicture: function SkPicture() {
    },
    SkParagraphBuilderNamespace: function SkParagraphBuilderNamespace() {
    },
    SkParagraphBuilder: function SkParagraphBuilder() {
    },
    SkParagraphStyle: function SkParagraphStyle() {
    },
    SkParagraphStyleProperties: function SkParagraphStyleProperties() {
    },
    SkTextStyle: function SkTextStyle() {
    },
    SkTextDecorationStyleEnum: function SkTextDecorationStyleEnum() {
    },
    SkTextDecorationStyle: function SkTextDecorationStyle() {
    },
    SkTextBaselineEnum: function SkTextBaselineEnum() {
    },
    SkTextBaseline: function SkTextBaseline() {
    },
    SkPlaceholderAlignmentEnum: function SkPlaceholderAlignmentEnum() {
    },
    SkPlaceholderAlignment: function SkPlaceholderAlignment() {
    },
    SkTextStyleProperties: function SkTextStyleProperties() {
    },
    SkStrutStyleProperties: function SkStrutStyleProperties() {
    },
    SkFontStyle: function SkFontStyle() {
    },
    SkTextShadow: function SkTextShadow() {
    },
    SkFontFeature: function SkFontFeature() {
    },
    SkTypeface: function SkTypeface() {
    },
    SkFont: function SkFont() {
    },
    SkFontMgr: function SkFontMgr() {
    },
    TypefaceFontProvider: function TypefaceFontProvider() {
    },
    SkLineMetrics: function SkLineMetrics() {
    },
    SkParagraph: function SkParagraph() {
    },
    SkTextPosition: function SkTextPosition() {
    },
    SkTextRange: function SkTextRange() {
    },
    SkVertices: function SkVertices() {
    },
    SkTonalColors: function SkTonalColors() {
    },
    SkFontMgrNamespace: function SkFontMgrNamespace() {
    },
    TypefaceFontProviderNamespace: function TypefaceFontProviderNamespace() {
    },
    SkTypefaceFactory: function SkTypefaceFactory() {
    },
    ProductionCollector: function ProductionCollector(t0) {
      this.__ProductionCollector__skObjectFinalizationRegistry = $;
      this._skiaObjectCollectionQueue = t0;
      this._skiaObjectCollectionTimer = null;
    },
    ProductionCollector_closure: function ProductionCollector_closure(t0) {
      this.$this = t0;
    },
    ProductionCollector_collect_closure: function ProductionCollector_collect_closure(t0) {
      this.$this = t0;
    },
    SkiaObjectCollectionError: function SkiaObjectCollectionError(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    },
    SkDeletable: function SkDeletable() {
    },
    JsConstructor: function JsConstructor() {
    },
    SkObjectFinalizationRegistry: function SkObjectFinalizationRegistry() {
    },
    SkData: function SkData() {
    },
    SkImageInfo: function SkImageInfo() {
    },
    SkPartialImageInfo: function SkPartialImageInfo() {
    },
    patchCanvasKitModule_closure: function patchCanvasKitModule_closure(t0, t1) {
      this.canvasKitScript = t0;
      this.objectConstructor = t1;
    },
    patchCanvasKitModule_closure0: function patchCanvasKitModule_closure0() {
    },
    patchCanvasKitModule_closure1: function patchCanvasKitModule_closure1(t0, t1) {
      this.canvasKitScript = t0;
      this.objectConstructor = t1;
    },
    patchCanvasKitModule_closure2: function patchCanvasKitModule_closure2() {
    },
    CanvasKitCanvas: function CanvasKitCanvas(t0) {
      this.__engine$_canvas = t0;
    },
    ManagedSkColorFilter: function ManagedSkColorFilter(t0) {
      this.colorFilter = t0;
      this.rawSkiaObject = null;
    },
    CkColorFilter: function CkColorFilter() {
    },
    CkBlendModeColorFilter: function CkBlendModeColorFilter(t0, t1) {
      this.color = t0;
      this.blendMode = t1;
    },
    CkMatrixColorFilter: function CkMatrixColorFilter(t0) {
      this.matrix = t0;
    },
    CkComposeColorFilter: function CkComposeColorFilter(t0, t1) {
      this.outer = t0;
      this.inner = t1;
    },
    HtmlViewEmbedder: function HtmlViewEmbedder(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._viewsUsingBackupSurface = t0;
      _._pictureRecordersCreatedDuringPreroll = t1;
      _._backupPictureRecorder = null;
      _._pictureRecorders = t2;
      _._currentCompositionParams = t3;
      _._viewClipChains = t4;
      _._overlays = t5;
      _._viewsToRecomposite = t6;
      _._compositionOrder = t7;
      _._activeCompositionOrder = t8;
      _._frameSize = t9;
      _._svgClipDefs = t10;
    },
    HtmlViewEmbedder_getOverlayCanvases_closure: function HtmlViewEmbedder_getOverlayCanvases_closure() {
    },
    HtmlViewEmbedder_submitFrame_closure: function HtmlViewEmbedder_submitFrame_closure() {
    },
    HtmlViewEmbedder_submitFrame_closure0: function HtmlViewEmbedder_submitFrame_closure0() {
    },
    HtmlViewEmbedder_submitFrame_closure1: function HtmlViewEmbedder_submitFrame_closure1(t0) {
      this.$this = t0;
    },
    HtmlViewEmbedder__updateOverlays_closure: function HtmlViewEmbedder__updateOverlays_closure() {
    },
    MutatorType: function MutatorType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Mutator: function Mutator(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.type = t0;
      _.rect = t1;
      _.rrect = t2;
      _.path = t3;
      _.matrix = t4;
      _.alpha = t5;
    },
    MutatorsStack: function MutatorsStack(t0) {
      this._mutators = t0;
    },
    ViewListDiffResult: function ViewListDiffResult(t0, t1, t2, t3) {
      var _ = this;
      _.viewsToRemove = t0;
      _.viewsToAdd = t1;
      _.addToBeginning = t2;
      _.viewToInsertBefore = t3;
    },
    diffViewList_closure: function diffViewList_closure(t0) {
      this.viewsToAddSet = t0;
    },
    diffViewList_closure0: function diffViewList_closure0(t0) {
      this.viewsToAddSet = t0;
    },
    FontFallbackData: function FontFallbackData(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.registeredSymbolsAndEmoji = false;
      _.codeUnitsWithNoKnownFont = t0;
      _.knownCoveredCodeUnits = t1;
      _.notoTree = t2;
      _.registeredFallbackFonts = t3;
      _.globalFontFallbacks = t4;
      _.fontFallbackCounts = t5;
      _._codeUnitsToCheckAgainstFallbackFonts = t6;
      _._scheduledCodeUnitCheck = false;
    },
    FontFallbackData_createNotoFontTree_closure: function FontFallbackData_createNotoFontTree_closure() {
    },
    FontFallbackData_ensureFontsSupportText_closure: function FontFallbackData_ensureFontsSupportText_closure() {
    },
    FontFallbackData_registerFallbackFont_closure: function FontFallbackData_registerFallbackFont_closure() {
    },
    _makeResolvedNotoFontFromCss_closure: function _makeResolvedNotoFontFromCss_closure() {
    },
    _registerSymbolsAndEmoji_extractUrlFromCss: function _registerSymbolsAndEmoji_extractUrlFromCss() {
    },
    findMinimumFontsForCodeUnits_closure: function findMinimumFontsForCodeUnits_closure() {
    },
    findMinimumFontsForCodeUnits_closure0: function findMinimumFontsForCodeUnits_closure0(t0) {
      this._box_0 = t0;
    },
    NotoFont: function NotoFont(t0, t1) {
      var _ = this;
      _.name = t0;
      _.approximateUnicodeRanges = t1;
      _.resolvedFont = _._decodingCompleter = null;
    },
    CodeunitRange: function CodeunitRange(t0, t1) {
      this.start = t0;
      this.end = t1;
    },
    _ResolvedNotoFont: function _ResolvedNotoFont(t0, t1) {
      this.name = t0;
      this.tree = t1;
    },
    _ResolvedNotoSubset: function _ResolvedNotoSubset(t0, t1, t2) {
      this.url = t0;
      this.family = t1;
      this.ranges = t2;
    },
    FallbackFontDownloadQueue: function FallbackFontDownloadQueue(t0, t1, t2) {
      var _ = this;
      _.downloader = t0;
      _.downloadedSubsets = t1;
      _.pendingSubsets = t2;
      _._fontsLoading = null;
    },
    FallbackFontDownloadQueue_startDownloads_closure: function FallbackFontDownloadQueue_startDownloads_closure(t0, t1, t2) {
      this.$this = t0;
      this.subset = t1;
      this.downloadedData = t2;
    },
    NotoDownloader: function NotoDownloader() {
      this._debugActiveDownloadCount = 0;
    },
    NotoDownloader_downloadAsBytes_closure: function NotoDownloader_downloadAsBytes_closure() {
    },
    NotoDownloader_downloadAsBytes__closure: function NotoDownloader_downloadAsBytes__closure() {
    },
    NotoDownloader_downloadAsString_closure: function NotoDownloader_downloadAsString_closure() {
    },
    NotoDownloader_downloadAsString__closure: function NotoDownloader_downloadAsString__closure() {
    },
    SkiaFontCollection: function SkiaFontCollection(t0, t1, t2, t3) {
      var _ = this;
      _._registeredFontFamilies = t0;
      _._pendingFonts = t1;
      _._downloadedFonts = t2;
      _.familyToFontMap = t3;
      _.fontProvider = null;
    },
    SkiaFontCollection_ensureFontsLoaded_closure: function SkiaFontCollection_ensureFontsLoaded_closure() {
    },
    SkiaFontCollection_ensureFontsLoaded_closure0: function SkiaFontCollection_ensureFontsLoaded_closure0() {
    },
    SkiaFontCollection__registerFont__downloadFont: function SkiaFontCollection__registerFont__downloadFont(t0, t1, t2) {
      this.$this = t0;
      this.url = t1;
      this.family = t2;
    },
    SkiaFontCollection__getArrayBuffer_closure: function SkiaFontCollection__getArrayBuffer_closure() {
    },
    RegisteredFont: function RegisteredFont(t0, t1, t2) {
      this.family = t0;
      this.bytes = t1;
      this.typeface = t2;
    },
    ImageCodecException: function ImageCodecException(t0) {
      this.__engine$_message = t0;
    },
    httpRequestFactory_closure: function httpRequestFactory_closure() {
    },
    fetchImage_closure: function fetchImage_closure(t0) {
      this.chunkCallback = t0;
    },
    fetchImage_closure0: function fetchImage_closure0(t0, t1) {
      this.completer = t0;
      this.url = t1;
    },
    fetchImage_closure1: function fetchImage_closure1(t0, t1, t2) {
      this.request = t0;
      this.completer = t1;
      this.url = t2;
    },
    CkImage: function CkImage(t0, t1) {
      var _ = this;
      _._debugStackTrace = null;
      _.__CkImage_box = t0;
      _.videoFrame = t1;
      _._disposed = false;
    },
    CkImage_closure: function CkImage_closure(t0, t1, t2) {
      this.originalWidth = t0;
      this.originalHeight = t1;
      this.originalBytes = t2;
    },
    AnimatedImageFrameInfo: function AnimatedImageFrameInfo(t0, t1) {
      this.__engine$_duration = t0;
      this.__engine$_image = t1;
    },
    CkAnimatedImage: function CkAnimatedImage(t0, t1) {
      var _ = this;
      _.src = t0;
      _._bytes = t1;
      _._frameCount = 0;
      _._repetitionCount = -1;
      _._currentFrameIndex = 0;
      _._disposed = false;
      _.rawSkiaObject = null;
    },
    CkBrowserImageDecoder: function CkBrowserImageDecoder(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.contentType = t0;
      _.targetWidth = t1;
      _.targetHeight = t2;
      _.data = t3;
      _.debugSource = t4;
      _.__CkBrowserImageDecoder_repetitionCount = _.__CkBrowserImageDecoder_frameCount = $;
      _._isDisposed = false;
      _._nextFrameIndex = 0;
      _._cachedWebDecoder = null;
      _._cacheExpirationClock = t5;
    },
    CkBrowserImageDecoder__cacheExpirationClock_closure: function CkBrowserImageDecoder__cacheExpirationClock_closure() {
    },
    CkBrowserImageDecoder__getOrCreateWebDecoder_closure: function CkBrowserImageDecoder__getOrCreateWebDecoder_closure(t0) {
      this.$this = t0;
    },
    ImageFileFormat: function ImageFileFormat(t0, t1) {
      this.header = t0;
      this.contentType = t1;
    },
    downloadCanvasKit_closure: function downloadCanvasKit_closure(t0) {
      this.canvasKitBase = t0;
    },
    downloadCanvasKit_closure0: function downloadCanvasKit_closure0(t0) {
      this.canvasKitInitCompleter = t0;
    },
    _downloadCanvasKitJs_loadEventHandler: function _downloadCanvasKitJs_loadEventHandler(t0, t1, t2) {
      this.canvasKitLoadCompleter = t0;
      this.canvasKitScript = t1;
      this.callback = t2;
    },
    IntervalTree: function IntervalTree(t0, t1) {
      this.root = t0;
      this.$ti = t1;
    },
    IntervalTree_IntervalTree$createFromRanges_closure: function IntervalTree_IntervalTree$createFromRanges_closure(t0, t1) {
      this.intervals = t0;
      this.T = t1;
    },
    IntervalTree_IntervalTree$createFromRanges_closure0: function IntervalTree_IntervalTree$createFromRanges_closure0(t0) {
      this.T = t0;
    },
    IntervalTree_IntervalTree$createFromRanges__makeBalancedTree: function IntervalTree_IntervalTree$createFromRanges__makeBalancedTree(t0) {
      this.T = t0;
    },
    IntervalTree_IntervalTree$createFromRanges__computeHigh: function IntervalTree_IntervalTree$createFromRanges__computeHigh(t0) {
      this.T = t0;
    },
    IntervalTreeNode: function IntervalTreeNode(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.low = t1;
      _.high = t2;
      _.computedHigh = t3;
      _.right = _.left = null;
      _.$ti = t4;
    },
    Layer: function Layer() {
    },
    PrerollContext: function PrerollContext(t0) {
      this.mutatorsStack = t0;
    },
    PaintContext: function PaintContext(t0, t1) {
      this.internalNodesCanvas = t0;
      this.leafNodesCanvas = t1;
    },
    ContainerLayer: function ContainerLayer() {
    },
    RootLayer: function RootLayer(t0, t1) {
      this._layers = t0;
      this.parent = null;
      this.paintBounds = t1;
    },
    ClipPathEngineLayer: function ClipPathEngineLayer(t0, t1, t2, t3) {
      var _ = this;
      _.__engine$_clipPath = t0;
      _.__engine$_clipBehavior = t1;
      _._layers = t2;
      _.parent = null;
      _.paintBounds = t3;
    },
    ClipRectEngineLayer: function ClipRectEngineLayer(t0, t1, t2, t3) {
      var _ = this;
      _.__engine$_clipRect = t0;
      _.__engine$_clipBehavior = t1;
      _._layers = t2;
      _.parent = null;
      _.paintBounds = t3;
    },
    ClipRRectEngineLayer: function ClipRRectEngineLayer(t0, t1, t2, t3) {
      var _ = this;
      _.__engine$_clipRRect = t0;
      _.__engine$_clipBehavior = t1;
      _._layers = t2;
      _.parent = null;
      _.paintBounds = t3;
    },
    OpacityEngineLayer: function OpacityEngineLayer(t0, t1, t2, t3) {
      var _ = this;
      _.__engine$_alpha = t0;
      _.__engine$_offset = t1;
      _._layers = t2;
      _.parent = null;
      _.paintBounds = t3;
    },
    TransformEngineLayer: function TransformEngineLayer(t0, t1, t2) {
      var _ = this;
      _.__engine$_transform = t0;
      _._layers = t1;
      _.parent = null;
      _.paintBounds = t2;
    },
    OffsetEngineLayer: function OffsetEngineLayer(t0, t1, t2) {
      var _ = this;
      _.__engine$_transform = t0;
      _._layers = t1;
      _.parent = null;
      _.paintBounds = t2;
    },
    PictureLayer: function PictureLayer(t0, t1, t2) {
      var _ = this;
      _.picture = t0;
      _.offset = t1;
      _.parent = null;
      _.paintBounds = t2;
    },
    LayerScene: function LayerScene(t0) {
      this.layerTree = t0;
    },
    LayerSceneBuilder: function LayerSceneBuilder(t0) {
      this.rootLayer = t0;
      this.__LayerSceneBuilder_currentLayer = $;
    },
    LayerTree: function LayerTree(t0, t1) {
      this.rootLayer = t0;
      this.frameSize = t1;
    },
    Frame0: function Frame0(t0, t1, t2) {
      this.canvas = t0;
      this.rasterCache = t1;
      this.viewEmbedder = t2;
    },
    Frame_raster_closure: function Frame_raster_closure(t0, t1, t2) {
      this.$this = t0;
      this.layerTree = t1;
      this.ignoreRasterCache = t2;
    },
    Frame_raster_closure0: function Frame_raster_closure0(t0, t1, t2) {
      this.$this = t0;
      this.layerTree = t1;
      this.ignoreRasterCache = t2;
    },
    CompositorContext: function CompositorContext() {
    },
    CkMaskFilter: function CkMaskFilter(t0, t1) {
      this._blurStyle = t0;
      this.__engine$_sigma = t1;
      this.rawSkiaObject = null;
    },
    CkNWayCanvas: function CkNWayCanvas(t0) {
      this._canvases = t0;
    },
    CkPaint: function CkPaint(t0, t1, t2, t3, t4) {
      var _ = this;
      _._blendMode = t0;
      _._style = t1;
      _._strokeWidth = 0;
      _._strokeCap = t2;
      _._isAntiAlias = true;
      _._color = t3;
      _._invertColors = false;
      _._ckMaskFilter = _._maskFilter = _._shader = _._originalColorFilter = null;
      _._filterQuality = t4;
      _.rawSkiaObject = _._managedImageFilter = _._imageFilter = _._effectiveColorFilter = null;
    },
    CkPath: function CkPath(t0) {
      this._fillType = t0;
      this.rawSkiaObject = this._cachedCommands = null;
    },
    CkPicture: function CkPicture(t0, t1) {
      var _ = this;
      _.cullRect = t0;
      _._snapshot = t1;
      _._isDisposed = false;
      _.rawSkiaObject = _._debugDisposalStackTrace = null;
    },
    CkPictureRecorder: function CkPictureRecorder() {
      this._recordingCanvas = this._skRecorder = this._cullRect = null;
    },
    Rasterizer: function Rasterizer(t0, t1) {
      this.context = t0;
      this._postFrameCallbacks = t1;
    },
    CkShader: function CkShader() {
    },
    CkGradientLinear: function CkGradientLinear(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.from = t0;
      _.to = t1;
      _.colors = t2;
      _.colorStops = t3;
      _.tileMode = t4;
      _.matrix4 = t5;
      _.rawSkiaObject = null;
    },
    SkiaObjectCache: function SkiaObjectCache(t0, t1, t2) {
      this.maximumSize = t0;
      this._itemQueue = t1;
      this._itemMap = t2;
    },
    SynchronousSkiaObjectCache: function SynchronousSkiaObjectCache(t0, t1, t2) {
      this.maximumSize = t0;
      this._itemQueue = t1;
      this._itemMap = t2;
    },
    SkiaObject: function SkiaObject() {
    },
    ManagedSkiaObject: function ManagedSkiaObject() {
    },
    SkiaObjectBox: function SkiaObjectBox(t0, t1, t2) {
      var _ = this;
      _.__engine$_refCount = 1;
      _.debugReferrers = t0;
      _._skDeletable = _.rawSkiaObject = null;
      _._resurrector = t1;
      _._isDeletedPermanently = false;
      _.$ti = t2;
    },
    SurfaceFrame: function SurfaceFrame(t0, t1) {
      this.skiaSurface = t0;
      this.submitCallback = t1;
    },
    Surface: function Surface(t0) {
      var _ = this;
      _._surface = null;
      _._forceNewContext = true;
      _._contextLost = false;
      _._skiaCacheBytes = _._glContext = _._grContext = _._cachedContextRestoredListener = _._cachedContextLostListener = null;
      _.htmlElement = t0;
      _.htmlCanvas = null;
      _._pixelHeight = _._pixelWidth = -1;
      _._addedToScene = false;
      _._currentSurfaceSize = _._currentCanvasPhysicalSize = null;
      _._currentDevicePixelRatio = -1;
    },
    Surface_acquireFrame_closure: function Surface_acquireFrame_closure(t0) {
      this.$this = t0;
    },
    CkSurface: function CkSurface(t0, t1) {
      this.surface = t0;
      this._glContext = t1;
      this._isDisposed = false;
    },
    SurfaceFactory: function SurfaceFactory(t0, t1, t2, t3, t4) {
      var _ = this;
      _.baseSurface = t0;
      _.backupSurface = t1;
      _.maximumSurfaces = t2;
      _._liveSurfaces = t3;
      _._cache = t4;
    },
    CkParagraphStyle: function CkParagraphStyle(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.skParagraphStyle = t0;
      _.__engine$_textDirection = t1;
      _._fontFamily = t2;
      _._fontSize = t3;
      _.__engine$_height = t4;
      _._fontWeight = t5;
      _._fontStyle = t6;
      _._leadingDistribution = t7;
    },
    CkTextStyle: function CkTextStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) {
      var _ = this;
      _.color = t0;
      _.decoration = t1;
      _.decorationColor = t2;
      _.decorationStyle = t3;
      _.decorationThickness = t4;
      _.fontWeight = t5;
      _.fontStyle = t6;
      _.textBaseline = t7;
      _.fontFamily = t8;
      _.fontFamilyFallback = t9;
      _.fontSize = t10;
      _.letterSpacing = t11;
      _.wordSpacing = t12;
      _.height = t13;
      _.leadingDistribution = t14;
      _.locale = t15;
      _.background = t16;
      _.foreground = t17;
      _.shadows = t18;
      _.fontFeatures = t19;
      _.__CkTextStyle_skTextStyle = _.__CkTextStyle_effectiveFontFamilies = $;
    },
    CkTextStyle_skTextStyle_closure: function CkTextStyle_skTextStyle_closure(t0) {
      this.$this = t0;
    },
    CkStrutStyle: function CkStrutStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._fontFamily = t0;
      _.__engine$_fontFamilyFallback = t1;
      _._fontSize = t2;
      _.__engine$_height = t3;
      _._leading = t4;
      _._fontWeight = t5;
      _._fontStyle = t6;
      _._forceStrutHeight = t7;
      _._leadingDistribution = t8;
    },
    CkParagraph: function CkParagraph(t0, t1, t2) {
      var _ = this;
      _._skParagraph = t0;
      _._paragraphStyle = t1;
      _._paragraphCommands = t2;
      _._lastLayoutConstraints = null;
      _._alphabeticBaseline = 0;
      _._didExceedMaxLines = false;
      _.__engine$_width = _._minIntrinsicWidth = _._maxIntrinsicWidth = _._longestLine = _._ideographicBaseline = _.__engine$_height = 0;
      _._boxesForPlaceholders = null;
    },
    CkLineMetrics: function CkLineMetrics(t0) {
      this.skLineMetrics = t0;
    },
    CkParagraphBuilder: function CkParagraphBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _._paragraphBuilder = t0;
      _._style = t1;
      _._commands = t2;
      _._placeholderCount = 0;
      _._placeholderScales = t3;
      _._styleStack = t4;
    },
    _CkParagraphPlaceholder: function _CkParagraphPlaceholder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.width = t0;
      _.height = t1;
      _.alignment = t2;
      _.baseline = t3;
      _.offset = t4;
    },
    _ParagraphCommand: function _ParagraphCommand(t0, t1, t2, t3) {
      var _ = this;
      _.type = t0;
      _.text = t1;
      _.style = t2;
      _.placeholderStyle = t3;
    },
    _ParagraphCommandType: function _ParagraphCommandType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _getEffectiveFontFamilies_closure: function _getEffectiveFontFamilies_closure(t0) {
      this.fontFamily = t0;
    },
    CanvasKitError: function CanvasKitError(t0) {
      this.message = t0;
    },
    ClipboardMessageHandler: function ClipboardMessageHandler(t0, t1) {
      this._copyToClipboardStrategy = t0;
      this._pasteFromClipboardStrategy = t1;
    },
    ClipboardMessageHandler_setDataMethodCall_closure: function ClipboardMessageHandler_setDataMethodCall_closure(t0, t1) {
      this._box_0 = t0;
      this.callback = t1;
    },
    ClipboardMessageHandler_setDataMethodCall_closure0: function ClipboardMessageHandler_setDataMethodCall_closure0(t0, t1) {
      this._box_0 = t0;
      this.callback = t1;
    },
    ClipboardMessageHandler_getDataMethodCall_closure: function ClipboardMessageHandler_getDataMethodCall_closure(t0) {
      this.callback = t0;
    },
    ClipboardMessageHandler_getDataMethodCall_closure0: function ClipboardMessageHandler_getDataMethodCall_closure0(t0, t1) {
      this.$this = t0;
      this.callback = t1;
    },
    ClipboardMessageHandler_getDataMethodCall__closure: function ClipboardMessageHandler_getDataMethodCall__closure(t0) {
      this.callback = t0;
    },
    ClipboardAPICopyStrategy: function ClipboardAPICopyStrategy() {
    },
    ClipboardAPIPasteStrategy: function ClipboardAPIPasteStrategy() {
    },
    ExecCommandCopyStrategy: function ExecCommandCopyStrategy() {
    },
    ExecCommandPasteStrategy: function ExecCommandPasteStrategy() {
    },
    FlutterConfiguration: function FlutterConfiguration(t0) {
      this._js = t0;
    },
    JsFlutterConfiguration: function JsFlutterConfiguration() {
    },
    DomWindow: function DomWindow() {
    },
    DomConsole: function DomConsole() {
    },
    DomNavigator: function DomNavigator() {
    },
    DomDocument: function DomDocument() {
    },
    DomHTMLDocument: function DomHTMLDocument() {
    },
    DomEventTarget: function DomEventTarget() {
    },
    DomEvent: function DomEvent() {
    },
    DomProgressEvent: function DomProgressEvent() {
    },
    DomNode: function DomNode() {
    },
    DomElement: function DomElement() {
    },
    DomCSSStyleDeclaration: function DomCSSStyleDeclaration() {
    },
    DomHTMLElement: function DomHTMLElement() {
    },
    DomHTMLMetaElement: function DomHTMLMetaElement() {
    },
    DomHTMLHeadElement: function DomHTMLHeadElement() {
    },
    DomHTMLBodyElement: function DomHTMLBodyElement() {
    },
    DomHTMLImageElement: function DomHTMLImageElement() {
    },
    DomHTMLScriptElement: function DomHTMLScriptElement() {
    },
    DomHTMLDivElement: function DomHTMLDivElement() {
    },
    DomHTMLSpanElement: function DomHTMLSpanElement() {
    },
    DomHTMLButtonElement: function DomHTMLButtonElement() {
    },
    DomHTMLParagraphElement: function DomHTMLParagraphElement() {
    },
    DomHTMLStyleElement: function DomHTMLStyleElement() {
    },
    DomPerformance: function DomPerformance() {
    },
    DomPerformanceEntry: function DomPerformanceEntry() {
    },
    DomPerformanceMeasure: function DomPerformanceMeasure() {
    },
    DomCanvasElement: function DomCanvasElement() {
    },
    DomCanvasImageSource: function DomCanvasImageSource() {
    },
    DomCanvasRenderingContext2D: function DomCanvasRenderingContext2D() {
    },
    DomImageData: function DomImageData() {
    },
    DomCanvasPattern: function DomCanvasPattern() {
    },
    DomCanvasGradient: function DomCanvasGradient() {
    },
    DomXMLHttpRequestEventTarget: function DomXMLHttpRequestEventTarget() {
    },
    DomXMLHttpRequest: function DomXMLHttpRequest() {
    },
    DomResponse: function DomResponse() {
    },
    DomCharacterData: function DomCharacterData() {
    },
    DomText: function DomText() {
    },
    DomTextMetrics: function DomTextMetrics() {
    },
    DomException: function DomException() {
    },
    DomRectReadOnly: function DomRectReadOnly() {
    },
    DomRect: function DomRect() {
    },
    DomFontFace: function DomFontFace() {
    },
    DomFontFaceSet: function DomFontFaceSet() {
    },
    DomVisualViewport: function DomVisualViewport() {
    },
    DomHTMLTextAreaElement: function DomHTMLTextAreaElement() {
    },
    DomClipboard: function DomClipboard() {
    },
    DomUIEvent: function DomUIEvent() {
    },
    DomKeyboardEvent: function DomKeyboardEvent() {
    },
    FlutterViewEmbedder: function FlutterViewEmbedder(t0) {
      var _ = this;
      _._glassPaneShadow = _._glassPaneElement = _._staleHotRestartState = _._sceneElement = _._semanticsHostElement = _._resourcesHost = _._sceneHostElement = _._viewportMeta = _._styleElement = _._localeSubscription = _._resizeSubscription = null;
      _.rootElement = t0;
    },
    FlutterViewEmbedder_reset_closure: function FlutterViewEmbedder_reset_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.initialInnerWidth = t2;
    },
    FlutterViewEmbedder_setPreferredOrientation_closure: function FlutterViewEmbedder_setPreferredOrientation_closure(t0) {
      this.completer = t0;
    },
    FlutterViewEmbedder_setPreferredOrientation_closure0: function FlutterViewEmbedder_setPreferredOrientation_closure0(t0) {
      this.completer = t0;
    },
    EngineCanvas: function EngineCanvas() {
    },
    SaveStackEntry: function SaveStackEntry(t0, t1) {
      this.transform = t0;
      this.clipStack = t1;
    },
    SaveClipEntry: function SaveClipEntry(t0, t1, t2, t3) {
      var _ = this;
      _.rect = t0;
      _.rrect = t1;
      _.path = t2;
      _.currentTransform = t3;
    },
    _SaveElementStackEntry: function _SaveElementStackEntry(t0, t1) {
      this.savedElement = t0;
      this.transform = t1;
    },
    SaveElementStackTracking: function SaveElementStackTracking() {
    },
    sendFontChangeMessage_closure: function sendFontChangeMessage_closure() {
    },
    sendFontChangeMessage__closure: function sendFontChangeMessage__closure() {
    },
    FrameReference: function FrameReference(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    CrossFrameCache: function CrossFrameCache(t0) {
      this._reusablePool = this._cache = null;
      this.$ti = t0;
    },
    _CrossFrameCacheItem: function _CrossFrameCacheItem(t0, t1, t2) {
      this.value = t0;
      this.evictCallback = t1;
      this.$ti = t2;
    },
    ShadowDomHostNode: function ShadowDomHostNode() {
      this.__ShadowDomHostNode__shadow = $;
    },
    ElementHostNode: function ElementHostNode() {
      this.__ElementHostNode__element = $;
    },
    BitmapCanvas: function BitmapCanvas(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._bounds = t0;
      _._elementCache = null;
      _.rootElement = t1;
      _._canvasPool = t2;
      _._cachedLastCssFont = null;
      _.__engine$_children = t3;
      _.widthInBitmapPixels = t4;
      _.heightInBitmapPixels = t5;
      _._saveCount = 0;
      _.__engine$_devicePixelRatio = t6;
      _._canvasPositionY = _._canvasPositionX = null;
      _._preserveImageData = _._contains3dTransform = _._childOverdraw = false;
      _._density = t7;
      _._renderStrategy = t8;
    },
    SvgBlendMode: function SvgBlendMode(t0) {
      this.blendMode = t0;
    },
    SurfaceCanvas: function SurfaceCanvas(t0) {
      this.__engine$_canvas = t0;
    },
    _DomClip: function _DomClip() {
    },
    PersistedClipRect: function PersistedClipRect(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.clipBehavior = t0;
      _.rect = t1;
      _._DomClip__childContainer = t2;
      _.__engine$_children = t3;
      _._oldLayer = t4;
      _.__engine$_index = -1;
      _.__engine$_state = t5;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    PersistedClipRRect: function PersistedClipRRect(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.rrect = t0;
      _.clipBehavior = t1;
      _._DomClip__childContainer = t2;
      _.__engine$_children = t3;
      _._oldLayer = t4;
      _.__engine$_index = -1;
      _.__engine$_state = t5;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    PersistedClipPath: function PersistedClipPath(t0, t1, t2, t3, t4) {
      var _ = this;
      _.clipPath = t0;
      _.clipBehavior = t1;
      _._clipElement = null;
      _.__engine$_children = t2;
      _._oldLayer = t3;
      _.__engine$_index = -1;
      _.__engine$_state = t4;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    SvgFilterBuilder: function SvgFilterBuilder(t0, t1, t2) {
      this.id = t0;
      this.root = t1;
      this.filter = t2;
    },
    SvgFilter: function SvgFilter(t0, t1) {
      this.id = t0;
      this.element = t1;
    },
    DomCanvas: function DomCanvas(t0, t1, t2, t3) {
      var _ = this;
      _.rootElement = t0;
      _.SaveElementStackTracking__saveStack = t1;
      _.SaveElementStackTracking__elementStack = t2;
      _.SaveElementStackTracking__currentTransform = t3;
    },
    PersistedOffset: function PersistedOffset(t0, t1, t2, t3, t4) {
      var _ = this;
      _.dx = t0;
      _.dy = t1;
      _._localTransformInverse = null;
      _.__engine$_children = t2;
      _._oldLayer = t3;
      _.__engine$_index = -1;
      _.__engine$_state = t4;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    PersistedOpacity: function PersistedOpacity(t0, t1, t2, t3, t4) {
      var _ = this;
      _.alpha = t0;
      _.offset = t1;
      _._localTransformInverse = null;
      _.__engine$_children = t2;
      _._oldLayer = t3;
      _.__engine$_index = -1;
      _.__engine$_state = t4;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    SurfacePaint: function SurfacePaint(t0) {
      this._paintData = t0;
      this._frozen = false;
    },
    SurfacePaintData: function SurfacePaintData() {
      var _ = this;
      _.strokeJoin = _.strokeCap = _.strokeWidth = _.style = _.blendMode = null;
      _.isAntiAlias = true;
      _.colorFilter = _.filterQuality = _.maskFilter = _.shader = _.color = null;
    },
    Conic: function Conic(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.p0x = t0;
      _.p0y = t1;
      _.p1x = t2;
      _.p1y = t3;
      _.p2x = t4;
      _.p2y = t5;
      _.fW = t6;
    },
    QuadBounds: function QuadBounds() {
      var _ = this;
      _.maxY = _.maxX = _.minY = _.minX = 0;
    },
    ConicBounds: function ConicBounds() {
      var _ = this;
      _.maxY = _.maxX = _.minY = _.minX = 0;
    },
    _ConicPair: function _ConicPair() {
      this.second = this.first = null;
    },
    CubicBounds: function CubicBounds() {
      var _ = this;
      _.maxY = _.minY = _.maxX = _.minX = 0;
    },
    SurfacePath: function SurfacePath(t0, t1) {
      var _ = this;
      _.pathRef = t0;
      _._fillType = t1;
      _.fLastMoveToIndex = 0;
      _._firstDirection = _._convexityType = -1;
    },
    PathIterator: function PathIterator(t0, t1, t2) {
      var _ = this;
      _.pathRef = t0;
      _._forceClose = t1;
      _._verbCount = t2;
      _._needClose = false;
      _._segmentState = 0;
      _._conicWeightIndex = -1;
      _._pointIndex = _._verbIndex = _._moveToY = _._moveToX = _._lastPointY = _._lastPointX = 0;
    },
    PathRef: function PathRef(t0, t1) {
      var _ = this;
      _.cachedBounds = _.fBounds = null;
      _._fVerbsCapacity = _._fPointsLength = _._fPointsCapacity = 0;
      _.fPoints = t0;
      _._fVerbs = t1;
      _._conicWeightsCapacity = _._fVerbsLength = 0;
      _._conicWeights = null;
      _._conicWeightsLength = 0;
      _.fIsFinite = _.fBoundsIsDirty = true;
      _.fRRectOrOvalIsCCW = _.fIsRect = _.fIsRRect = _.fIsOval = false;
      _.fRRectOrOvalStartIdx = -1;
      _.fSegmentMask = 0;
    },
    PathRefIterator: function PathRefIterator(t0) {
      var _ = this;
      _.pathRef = t0;
      _._conicWeightIndex = -1;
      _.iterIndex = _._pointIndex = _._verbIndex = 0;
    },
    QuadRoots: function QuadRoots() {
      this.root1 = this.root0 = null;
    },
    SkQuadCoefficients: function SkQuadCoefficients(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.ax = t0;
      _.ay = t1;
      _.bx = t2;
      _.by = t3;
      _.cx = t4;
      _.cy = t5;
    },
    PathWinding: function PathWinding(t0, t1, t2, t3) {
      var _ = this;
      _.pathRef = t0;
      _.x = t1;
      _.y = t2;
      _._onCurveCount = _._w = 0;
      _.__engine$_buffer = t3;
    },
    PaintRequest: function PaintRequest(t0, t1) {
      this.canvasSize = t0;
      this.paintCallback = t1;
    },
    PersistedPicture: function PersistedPicture(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.__engine$_canvas = null;
      _.dx = t0;
      _.dy = t1;
      _.picture = t2;
      _.localPaintBounds = t3;
      _._density = 1;
      _._requiresRepaint = false;
      _._elementCache = t4;
      _._exactLocalCullRect = _._exactGlobalCullRect = _._optimalLocalCullRect = null;
      _._oldLayer = t5;
      _.__engine$_index = -1;
      _.__engine$_state = t6;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    PersistedPicture__applyBitmapPaint_closure: function PersistedPicture__applyBitmapPaint_closure(t0) {
      this.$this = t0;
    },
    RecordingCanvas: function RecordingCanvas(t0, t1, t2) {
      var _ = this;
      _._paintBounds = t0;
      _._pictureBounds = null;
      _._commands = t1;
      _.renderStrategy = t2;
      _._recordingEnded = _._didDraw = false;
      _._saveCount = 1;
    },
    PaintCommand: function PaintCommand() {
    },
    DrawCommand: function DrawCommand() {
    },
    PaintSave: function PaintSave() {
    },
    PaintRestore: function PaintRestore() {
    },
    PaintTranslate: function PaintTranslate(t0, t1) {
      this.dx = t0;
      this.dy = t1;
    },
    PaintScale: function PaintScale(t0, t1) {
      this.sx = t0;
      this.sy = t1;
    },
    PaintRotate: function PaintRotate(t0) {
      this.radians = t0;
    },
    PaintTransform: function PaintTransform(t0) {
      this.matrix4 = t0;
    },
    PaintClipRect: function PaintClipRect(t0, t1) {
      var _ = this;
      _.rect = t0;
      _.clipOp = t1;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintClipRRect: function PaintClipRRect(t0) {
      var _ = this;
      _.rrect = t0;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintClipPath: function PaintClipPath(t0) {
      var _ = this;
      _.path = t0;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawLine: function PaintDrawLine(t0, t1, t2) {
      var _ = this;
      _.p1 = t0;
      _.p2 = t1;
      _.paint = t2;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawPaint: function PaintDrawPaint(t0) {
      var _ = this;
      _.paint = t0;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawRect: function PaintDrawRect(t0, t1) {
      var _ = this;
      _.rect = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawRRect: function PaintDrawRRect(t0, t1) {
      var _ = this;
      _.rrect = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawDRRect: function PaintDrawDRRect(t0, t1, t2) {
      var _ = this;
      _.outer = t0;
      _.inner = t1;
      _.paint = t2;
      _.path = null;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawOval: function PaintDrawOval(t0, t1) {
      var _ = this;
      _.rect = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawCircle: function PaintDrawCircle(t0, t1, t2) {
      var _ = this;
      _.c = t0;
      _.radius = t1;
      _.paint = t2;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawPath: function PaintDrawPath(t0, t1) {
      var _ = this;
      _.path = t0;
      _.paint = t1;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawShadow: function PaintDrawShadow(t0, t1, t2, t3) {
      var _ = this;
      _.path = t0;
      _.color = t1;
      _.elevation = t2;
      _.transparentOccluder = t3;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawImageRect: function PaintDrawImageRect(t0, t1, t2, t3) {
      var _ = this;
      _.image = t0;
      _.src = t1;
      _.dst = t2;
      _.paint = t3;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    PaintDrawParagraph: function PaintDrawParagraph(t0, t1) {
      var _ = this;
      _.paragraph = t0;
      _.offset = t1;
      _.isClippedOut = false;
      _.topBound = _.leftBound = -1 / 0;
      _.bottomBound = _.rightBound = 1 / 0;
    },
    _PaintBounds: function _PaintBounds(t0, t1, t2, t3) {
      var _ = this;
      _.maxPaintBounds = t0;
      _._didPaintInsideClipArea = false;
      _.__engine$_top = _.__engine$_left = 17976931348623157e292;
      _.__engine$_bottom = _.__engine$_right = -17976931348623157e292;
      _.__engine$_transforms = t1;
      _._clipStack = t2;
      _._currentMatrixIsIdentity = true;
      _._currentMatrix = t3;
      _._clipRectInitialized = false;
      _._currentClipBottom = _._currentClipRight = _._currentClipTop = _._currentClipLeft = 0;
    },
    RenderStrategy: function RenderStrategy() {
      var _ = this;
      _.isInsideSvgFilterTree = _.hasArbitraryPaint = _.hasParagraphs = _.hasImageElements = false;
    },
    _WebGlRenderer: function _WebGlRenderer() {
    },
    SurfaceScene: function SurfaceScene(t0) {
      this.webOnlyRootElement = t0;
    },
    PersistedScene: function PersistedScene(t0, t1, t2) {
      var _ = this;
      _._localTransformInverse = null;
      _.__engine$_children = t0;
      _._oldLayer = t1;
      _.__engine$_index = -1;
      _.__engine$_state = t2;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    SurfaceSceneBuilder: function SurfaceSceneBuilder(t0) {
      this._surfaceStack = t0;
    },
    SurfaceSceneBuilder_build_closure: function SurfaceSceneBuilder_build_closure(t0) {
      this.$this = t0;
    },
    SurfaceSceneBuilder_build_closure0: function SurfaceSceneBuilder_build_closure0(t0) {
      this.$this = t0;
    },
    NormalizedGradient: function NormalizedGradient(t0, t1, t2, t3, t4) {
      var _ = this;
      _._thresholds = t0;
      _._bias = t1;
      _._scale = t2;
      _.thresholdCount = t3;
      _.isOpaque = t4;
    },
    NormalizedGradient_NormalizedGradient_closure: function NormalizedGradient_NormalizedGradient_closure() {
    },
    SharedCanvas: function SharedCanvas() {
      this.__engine$_canvas = null;
      this._checkedOut = false;
    },
    EngineGradient: function EngineGradient() {
    },
    GradientLinear: function GradientLinear(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.from = t0;
      _.to = t1;
      _.colors = t2;
      _.colorStops = t3;
      _.tileMode = t4;
      _.matrix4 = t5;
    },
    GradientLinear_createImageBitmap_closure: function GradientLinear_createImageBitmap_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.createDataUrl = t0;
      _.shaderBounds = t1;
      _.gl = t2;
      _.glProgram = t3;
      _.normalizedGradient = t4;
      _.widthInPixels = t5;
      _.heightInPixels = t6;
    },
    ShaderBuilder: function ShaderBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.declarations = t0;
      _._methods = t1;
      _.floatPrecision = null;
      _._uniformCounter = _._varyingCounter = _._attribCounter = 0;
      _.isWebGl2 = t2;
      _._isFragmentShader = t3;
      _._fragmentColorDeclaration = null;
      _.__engine$_buffer = t4;
    },
    ShaderMethod: function ShaderMethod(t0, t1) {
      this.name = t0;
      this._statements = t1;
      this._indentLevel = 1;
    },
    ShaderDeclaration: function ShaderDeclaration(t0, t1, t2) {
      this.name = t0;
      this.dataType = t1;
      this.storage = t2;
    },
    commitScene_closure: function commitScene_closure() {
    },
    PersistedSurfaceState: function PersistedSurfaceState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PersistedSurface: function PersistedSurface() {
    },
    PersistedLeafSurface: function PersistedLeafSurface() {
    },
    PersistedContainerSurface: function PersistedContainerSurface() {
    },
    PersistedContainerSurface__matchChildren_closure: function PersistedContainerSurface__matchChildren_closure() {
    },
    _PersistedSurfaceMatch: function _PersistedSurfaceMatch(t0, t1, t2) {
      this.newChild = t0;
      this.oldChildIndex = t1;
      this.matchQuality = t2;
    },
    PrerollSurfaceContext: function PrerollSurfaceContext() {
    },
    PersistedTransform: function PersistedTransform(t0, t1, t2, t3) {
      var _ = this;
      _._matrixStorage = t0;
      _._localTransformInverse = _._matrix4 = null;
      _.__engine$_children = t1;
      _._oldLayer = t2;
      _.__engine$_index = -1;
      _.__engine$_state = t3;
      _.localClipBounds = _.projectedClip = _.transform = _.parent = _.rootElement = null;
    },
    HtmlCodec: function HtmlCodec(t0, t1) {
      this.src = t0;
      this.chunkCallback = t1;
    },
    HtmlCodec_getNextFrame_closure: function HtmlCodec_getNextFrame_closure(t0, t1, t2) {
      this.$this = t0;
      this.imgElement = t1;
      this.completer = t2;
    },
    HtmlCodec_getNextFrame_closure0: function HtmlCodec_getNextFrame_closure0(t0, t1) {
      this.$this = t0;
      this.completer = t1;
    },
    HtmlCodec__decodeUsingOnLoad_closure: function HtmlCodec__decodeUsingOnLoad_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.errorSubscription = t1;
      this.completer = t2;
    },
    HtmlCodec__decodeUsingOnLoad_closure0: function HtmlCodec__decodeUsingOnLoad_closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.errorSubscription = t2;
      _.imgElement = t3;
      _.completer = t4;
    },
    HtmlBlobCodec: function HtmlBlobCodec(t0, t1) {
      this.src = t0;
      this.chunkCallback = t1;
    },
    SingleFrameInfo: function SingleFrameInfo(t0) {
      this.image = t0;
    },
    HtmlImage: function HtmlImage(t0, t1, t2) {
      var _ = this;
      _.imgElement = t0;
      _._disposed = _._requiresClone = false;
      _.width = t1;
      _.height = t2;
    },
    DebugEngineInitializationState: function DebugEngineInitializationState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    initializeEngineServices_closure: function initializeEngineServices_closure() {
    },
    initializeEngineServices_closure0: function initializeEngineServices_closure0() {
    },
    initializeEngineServices_closure1: function initializeEngineServices_closure1(t0) {
      this._box_0 = t0;
    },
    initializeEngineServices__closure: function initializeEngineServices__closure(t0) {
      this._box_0 = t0;
    },
    _addUrlStrategyListener_closure: function _addUrlStrategyListener_closure() {
    },
    _addUrlStrategyListener_closure0: function _addUrlStrategyListener_closure0() {
    },
    FlutterEngineInitializer: function FlutterEngineInitializer() {
    },
    InitializeEngineFnParameters: function InitializeEngineFnParameters() {
    },
    FlutterAppRunner: function FlutterAppRunner() {
    },
    RunAppFnParameters: function RunAppFnParameters() {
    },
    FlutterApp: function FlutterApp() {
    },
    Promise: function Promise() {
    },
    Keyboard: function Keyboard(t0, t1) {
      var _ = this;
      _._keydownTimers = t0;
      _._keyupListener = _._keydownListener = null;
      _._lastMetaState = 0;
      _._onMacOs = t1;
    },
    Keyboard$__closure: function Keyboard$__closure(t0) {
      this.$this = t0;
    },
    Keyboard$__closure0: function Keyboard$__closure0(t0) {
      this.$this = t0;
    },
    Keyboard$__closure1: function Keyboard$__closure1(t0) {
      this.$this = t0;
    },
    Keyboard__handleHtmlEvent_closure: function Keyboard__handleHtmlEvent_closure(t0, t1, t2) {
      this.$this = t0;
      this.timerKey = t1;
      this.event = t2;
    },
    Keyboard__handleHtmlEvent_closure0: function Keyboard__handleHtmlEvent_closure0(t0) {
      this.event = t0;
    },
    _kLogicalKeyToModifierGetter_closure: function _kLogicalKeyToModifierGetter_closure() {
    },
    _kLogicalKeyToModifierGetter_closure0: function _kLogicalKeyToModifierGetter_closure0() {
    },
    _kLogicalKeyToModifierGetter_closure1: function _kLogicalKeyToModifierGetter_closure1() {
    },
    _kLogicalKeyToModifierGetter_closure2: function _kLogicalKeyToModifierGetter_closure2() {
    },
    _kLogicalKeyToModifierGetter_closure3: function _kLogicalKeyToModifierGetter_closure3() {
    },
    _kLogicalKeyToModifierGetter_closure4: function _kLogicalKeyToModifierGetter_closure4() {
    },
    _kLogicalKeyToModifierGetter_closure5: function _kLogicalKeyToModifierGetter_closure5() {
    },
    _kLogicalKeyToModifierGetter_closure6: function _kLogicalKeyToModifierGetter_closure6() {
    },
    KeyboardBinding: function KeyboardBinding(t0) {
      this.__KeyboardBinding__converter = $;
      this._listeners = t0;
    },
    KeyboardBinding__addEventListener_loggedHandler: function KeyboardBinding__addEventListener_loggedHandler(t0) {
      this.handler = t0;
    },
    KeyboardBinding__onKeyData_closure: function KeyboardBinding__onKeyData_closure(t0) {
      this._box_0 = t0;
    },
    KeyboardBinding__setup_closure: function KeyboardBinding__setup_closure(t0) {
      this.$this = t0;
    },
    KeyboardBinding__setup_closure0: function KeyboardBinding__setup_closure0(t0) {
      this.$this = t0;
    },
    FlutterHtmlKeyboardEvent: function FlutterHtmlKeyboardEvent(t0) {
      this._event = t0;
    },
    KeyboardConverter: function KeyboardConverter(t0, t1, t2, t3) {
      var _ = this;
      _.performDispatchKeyData = t0;
      _.onMacOs = t1;
      _._dispatchKeyData = null;
      _._disposed = false;
      _._pressingRecords = t2;
      _._keyGuards = t3;
    },
    KeyboardConverter__scheduleAsyncEvent_closure: function KeyboardConverter__scheduleAsyncEvent_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.callback = t2;
      _.getData = t3;
    },
    KeyboardConverter__scheduleAsyncEvent_closure0: function KeyboardConverter__scheduleAsyncEvent_closure0(t0) {
      this._box_0 = t0;
    },
    KeyboardConverter__startGuardingKey_closure: function KeyboardConverter__startGuardingKey_closure(t0, t1, t2) {
      this.currentTimeStamp = t0;
      this.physicalKey = t1;
      this.logicalKey = t2;
    },
    KeyboardConverter__startGuardingKey_closure0: function KeyboardConverter__startGuardingKey_closure0(t0, t1) {
      this.$this = t0;
      this.physicalKey = t1;
    },
    KeyboardConverter__handleEvent_closure: function KeyboardConverter__handleEvent_closure(t0, t1, t2, t3) {
      var _ = this;
      _.event = t0;
      _.character = t1;
      _.eventKey = t2;
      _.physicalKey = t3;
    },
    KeyboardConverter__handleEvent_closure0: function KeyboardConverter__handleEvent_closure0(t0, t1, t2) {
      this.timeStamp = t0;
      this.physicalKey = t1;
      this.logicalKey = t2;
    },
    KeyboardConverter__handleEvent_closure1: function KeyboardConverter__handleEvent_closure1(t0, t1) {
      this.$this = t0;
      this.physicalKey = t1;
    },
    KeyboardConverter__handleEvent_closure2: function KeyboardConverter__handleEvent_closure2(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.logicalKey = t1;
      _.event = t2;
      _.timeStamp = t3;
    },
    KeyboardConverter__handleEvent__closure: function KeyboardConverter__handleEvent__closure(t0, t1, t2) {
      this.$this = t0;
      this.testeeLogicalKey = t1;
      this.timeStamp = t2;
    },
    KeyboardConverter_handleEvent_closure: function KeyboardConverter_handleEvent_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    MouseCursor: function MouseCursor() {
    },
    BrowserHistory: function BrowserHistory() {
    },
    MultiEntriesBrowserHistory: function MultiEntriesBrowserHistory(t0) {
      var _ = this;
      _.urlStrategy = t0;
      _.__BrowserHistory__unsubscribe = _.__MultiEntriesBrowserHistory__lastSeenSerialCount = $;
      _._isDisposed = _._isTornDown = false;
    },
    MultiEntriesBrowserHistory_onPopState_closure: function MultiEntriesBrowserHistory_onPopState_closure() {
    },
    SingleEntryBrowserHistory: function SingleEntryBrowserHistory(t0, t1) {
      var _ = this;
      _.urlStrategy = t0;
      _._flutterState = t1;
      _._userProvidedRouteName = null;
      _.__BrowserHistory__unsubscribe = $;
      _._isDisposed = _._isTornDown = false;
    },
    SingleEntryBrowserHistory_onPopState_closure: function SingleEntryBrowserHistory_onPopState_closure() {
    },
    SingleEntryBrowserHistory_onPopState_closure0: function SingleEntryBrowserHistory_onPopState_closure0() {
    },
    JsUrlStrategy: function JsUrlStrategy() {
    },
    UrlStrategy: function UrlStrategy() {
    },
    HashUrlStrategy: function HashUrlStrategy() {
    },
    HashUrlStrategy_addPopStateListener_closure0: function HashUrlStrategy_addPopStateListener_closure0(t0, t1) {
      this.$this = t0;
      this.fn = t1;
    },
    HashUrlStrategy__waitForPopState_closure0: function HashUrlStrategy__waitForPopState_closure0(t0, t1) {
      this.unsubscribe = t0;
      this.completer = t1;
    },
    CustomUrlStrategy: function CustomUrlStrategy(t0) {
      this.delegate = t0;
    },
    PlatformLocation: function PlatformLocation() {
    },
    BrowserPlatformLocation: function BrowserPlatformLocation() {
    },
    EnginePictureRecorder: function EnginePictureRecorder() {
      this.__engine$_canvas = null;
      this.__EnginePictureRecorder_cullRect = $;
      this._isRecording = false;
    },
    EnginePicture: function EnginePicture(t0) {
      this._disposed = false;
      this.recordingCanvas = t0;
    },
    EnginePlatformDispatcher: function EnginePlatformDispatcher(t0, t1, t2, t3) {
      var _ = this;
      _.configuration = t0;
      _._windows = t1;
      _._windowConfigurations = t2;
      _._onTextScaleFactorChangedZone = _._onTextScaleFactorChanged = _._fontSizeObserver = _._onLocaleChanged = _._platformViewMessageHandler = _._onReportTimingsZone = _._onReportTimings = _._onKeyDataZone = _._onKeyData = _._onPointerDataPacketZone = _._onPointerDataPacket = _._onDrawFrameZone = _._onDrawFrame = _._onBeginFrameZone = _._onBeginFrame = _._onMetricsChangedZone = _._onMetricsChanged = null;
      _._brightnessMediaQuery = t3;
      _._defaultRouteName = _._onSemanticsActionZone = _._onSemanticsAction = _._onSemanticsEnabledChangedZone = _._onSemanticsEnabledChanged = _._onPlatformBrightnessChangedZone = _._onPlatformBrightnessChanged = _._brightnessMediaQueryListener = null;
      _.__EnginePlatformDispatcher_rasterizer = $;
    },
    EnginePlatformDispatcher_invokeOnKeyData_closure: function EnginePlatformDispatcher_invokeOnKeyData_closure(t0, t1, t2) {
      this.callback = t0;
      this.onKeyData = t1;
      this.data = t2;
    },
    EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure: function EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure(t0, t1) {
      this.registrationZone = t0;
      this.callback = t1;
    },
    EnginePlatformDispatcher__sendPlatformMessage_closure: function EnginePlatformDispatcher__sendPlatformMessage_closure(t0, t1) {
      this.$this = t0;
      this.callback = t1;
    },
    EnginePlatformDispatcher__sendPlatformMessage_closure0: function EnginePlatformDispatcher__sendPlatformMessage_closure0(t0, t1) {
      this.$this = t0;
      this.callback = t1;
    },
    EnginePlatformDispatcher__sendPlatformMessage_closure1: function EnginePlatformDispatcher__sendPlatformMessage_closure1(t0, t1) {
      this.$this = t0;
      this.callback = t1;
    },
    EnginePlatformDispatcher__sendPlatformMessage_closure2: function EnginePlatformDispatcher__sendPlatformMessage_closure2(t0, t1) {
      this.$this = t0;
      this.callback = t1;
    },
    EnginePlatformDispatcher__sendPlatformMessage_closure3: function EnginePlatformDispatcher__sendPlatformMessage_closure3() {
    },
    EnginePlatformDispatcher__sendPlatformMessage_closure4: function EnginePlatformDispatcher__sendPlatformMessage_closure4(t0, t1) {
      this.$this = t0;
      this.callback = t1;
    },
    EnginePlatformDispatcher__addFontSizeObserver_closure: function EnginePlatformDispatcher__addFontSizeObserver_closure(t0) {
      this.$this = t0;
    },
    EnginePlatformDispatcher__addFontSizeObserver_closure0: function EnginePlatformDispatcher__addFontSizeObserver_closure0(t0) {
      this.$this = t0;
    },
    EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure: function EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure(t0) {
      this.$this = t0;
    },
    EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0: function EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0(t0) {
      this.$this = t0;
    },
    EnginePlatformDispatcher_replyToPlatformMessage_closure: function EnginePlatformDispatcher_replyToPlatformMessage_closure(t0, t1) {
      this.callback = t0;
      this.data = t1;
    },
    invoke2_closure: function invoke2_closure(t0, t1, t2) {
      this.callback = t0;
      this.arg1 = t1;
      this.arg2 = t2;
    },
    invoke3_closure: function invoke3_closure(t0, t1, t2, t3) {
      var _ = this;
      _.callback = t0;
      _.arg1 = t1;
      _.arg2 = t2;
      _.arg3 = t3;
    },
    PlatformViewManager: function PlatformViewManager(t0, t1, t2, t3) {
      var _ = this;
      _._factories = t0;
      _.__engine$_contents = t1;
      _._invisibleViews = t2;
      _._viewIdToType = t3;
    },
    PlatformViewManager_renderContent_closure: function PlatformViewManager_renderContent_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.slotName = t1;
      _.viewType = t2;
      _.viewId = t3;
      _.params = t4;
    },
    PlatformViewMessageHandler: function PlatformViewMessageHandler(t0, t1) {
      this._contentManager = t0;
      this._contentHandler = t1;
    },
    SafariPointerEventWorkaround: function SafariPointerEventWorkaround() {
    },
    SafariPointerEventWorkaround_workAroundMissingPointerEvents_closure: function SafariPointerEventWorkaround_workAroundMissingPointerEvents_closure() {
    },
    PointerBinding: function PointerBinding(t0, t1) {
      this.glassPaneElement = t0;
      this._pointerDataConverter = t1;
      this.__PointerBinding__adapter = $;
    },
    PointerSupportDetector: function PointerSupportDetector() {
    },
    _Listener: function _Listener(t0, t1, t2, t3, t4) {
      var _ = this;
      _.event = t0;
      _.target = t1;
      _.handler = t2;
      _.useCapture = t3;
      _.isNative = t4;
    },
    _Listener__Listener$registerNative_closure: function _Listener__Listener$registerNative_closure(t0) {
      this.handler = t0;
    },
    _BaseAdapter: function _BaseAdapter() {
    },
    _BaseAdapter_addEventListener_loggedHandler: function _BaseAdapter_addEventListener_loggedHandler(t0) {
      this.handler = t0;
    },
    _WheelEventListenerMixin: function _WheelEventListenerMixin() {
    },
    _WheelEventListenerMixin__addWheelEventListener_closure: function _WheelEventListenerMixin__addWheelEventListener_closure(t0) {
      this.handler = t0;
    },
    _SanitizedDetails: function _SanitizedDetails(t0, t1) {
      this.change = t0;
      this.buttons = t1;
    },
    _ButtonSanitizer: function _ButtonSanitizer() {
      this._pressedButtons = 0;
    },
    _PointerAdapter: function _PointerAdapter(t0, t1, t2, t3, t4) {
      var _ = this;
      _._sanitizers = t0;
      _._listeners = t1;
      _.glassPaneElement = t2;
      _.__engine$_callback = t3;
      _._pointerDataConverter = t4;
    },
    _PointerAdapter__ensureSanitizer_closure: function _PointerAdapter__ensureSanitizer_closure() {
    },
    _PointerAdapter__addPointerEventListener_closure: function _PointerAdapter__addPointerEventListener_closure(t0) {
      this.handler = t0;
    },
    _PointerAdapter_setup_closure: function _PointerAdapter_setup_closure(t0) {
      this.$this = t0;
    },
    _PointerAdapter_setup_closure0: function _PointerAdapter_setup_closure0(t0) {
      this.$this = t0;
    },
    _PointerAdapter_setup_closure1: function _PointerAdapter_setup_closure1(t0) {
      this.$this = t0;
    },
    _PointerAdapter_setup_closure2: function _PointerAdapter_setup_closure2(t0) {
      this.$this = t0;
    },
    _PointerAdapter_setup_closure3: function _PointerAdapter_setup_closure3(t0) {
      this.$this = t0;
    },
    _PointerAdapter_setup_closure4: function _PointerAdapter_setup_closure4(t0) {
      this.$this = t0;
    },
    _TouchAdapter: function _TouchAdapter(t0, t1, t2, t3, t4) {
      var _ = this;
      _._pressedTouches = t0;
      _._listeners = t1;
      _.glassPaneElement = t2;
      _.__engine$_callback = t3;
      _._pointerDataConverter = t4;
    },
    _TouchAdapter__addTouchEventListener_closure: function _TouchAdapter__addTouchEventListener_closure(t0) {
      this.handler = t0;
    },
    _TouchAdapter_setup_closure: function _TouchAdapter_setup_closure(t0) {
      this.$this = t0;
    },
    _TouchAdapter_setup_closure0: function _TouchAdapter_setup_closure0(t0) {
      this.$this = t0;
    },
    _TouchAdapter_setup_closure1: function _TouchAdapter_setup_closure1(t0) {
      this.$this = t0;
    },
    _TouchAdapter_setup_closure2: function _TouchAdapter_setup_closure2(t0) {
      this.$this = t0;
    },
    _MouseAdapter: function _MouseAdapter(t0, t1, t2, t3, t4) {
      var _ = this;
      _._sanitizer = t0;
      _._listeners = t1;
      _.glassPaneElement = t2;
      _.__engine$_callback = t3;
      _._pointerDataConverter = t4;
    },
    _MouseAdapter__addMouseEventListener_closure: function _MouseAdapter__addMouseEventListener_closure(t0) {
      this.handler = t0;
    },
    _MouseAdapter_setup_closure: function _MouseAdapter_setup_closure(t0) {
      this.$this = t0;
    },
    _MouseAdapter_setup_closure0: function _MouseAdapter_setup_closure0(t0) {
      this.$this = t0;
    },
    _MouseAdapter_setup_closure1: function _MouseAdapter_setup_closure1(t0) {
      this.$this = t0;
    },
    _MouseAdapter_setup_closure2: function _MouseAdapter_setup_closure2(t0) {
      this.$this = t0;
    },
    _MouseAdapter_setup_closure3: function _MouseAdapter_setup_closure3(t0) {
      this.$this = t0;
    },
    _PointerState: function _PointerState(t0, t1) {
      this._pointer = null;
      this.x = t0;
      this.y = t1;
    },
    PointerDataConverter: function PointerDataConverter(t0) {
      this._pointers = t0;
      this._activeButtons = 0;
    },
    PointerDataConverter__ensureStateForPointer_closure: function PointerDataConverter__ensureStateForPointer_closure(t0, t1) {
      this.x = t0;
      this.y = t1;
    },
    Profiler: function Profiler() {
    },
    JsPromise: function JsPromise() {
    },
    ImageDecoder: function ImageDecoder() {
    },
    ImageDecoderOptions: function ImageDecoderOptions() {
    },
    DecodeResult: function DecodeResult() {
    },
    DecodeOptions: function DecodeOptions() {
    },
    VideoFrame: function VideoFrame() {
    },
    ImageTrackList: function ImageTrackList() {
    },
    ImageTrack: function ImageTrack() {
    },
    GlProgram: function GlProgram(t0) {
      this.program = t0;
    },
    GlContext: function GlContext(t0) {
      var _ = this;
      _.glContext = t0;
      _._heightInPixels = _._widthInPixels = _.__engine$_canvas = _._kUnsignedShort = _._kUnsignedByte = _._kLinkStatus = _._kTriangles = _._kColorBufferBit = _._kFloat = _._kStaticDraw = _._kElementArrayBuffer = _._kArrayBuffer = _._kCompileStatus = null;
    },
    OffScreenCanvas: function OffScreenCanvas(t0, t1) {
      var _ = this;
      _.canvasElement = _.offScreenCanvas = null;
      _.width = t0;
      _.height = t1;
    },
    AccessibilityAnnouncements: function AccessibilityAnnouncements() {
      this.__engine$_element = this._removeElementTimer = null;
    },
    AccessibilityAnnouncements$__closure: function AccessibilityAnnouncements$__closure(t0) {
      this.$this = t0;
    },
    AccessibilityAnnouncements_handleMessage_closure: function AccessibilityAnnouncements_handleMessage_closure(t0) {
      this.$this = t0;
    },
    _CheckableKind: function _CheckableKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Checkable: function Checkable(t0, t1) {
      this.__engine$_kind = t0;
      this.semanticsObject = t1;
    },
    ImageRoleManager: function ImageRoleManager(t0) {
      this._auxiliaryImageElement = null;
      this.semanticsObject = t0;
    },
    Incrementable: function Incrementable(t0, t1) {
      var _ = this;
      _.__engine$_element = t0;
      _._currentSurrogateValue = 1;
      _._gestureModeListener = null;
      _._pendingResync = false;
      _.semanticsObject = t1;
    },
    Incrementable_closure: function Incrementable_closure(t0, t1) {
      this.$this = t0;
      this.semanticsObject = t1;
    },
    Incrementable_closure0: function Incrementable_closure0(t0) {
      this.$this = t0;
    },
    LabelAndValue: function LabelAndValue(t0) {
      this._auxiliaryValueElement = null;
      this.semanticsObject = t0;
    },
    LiveRegion: function LiveRegion(t0) {
      this.semanticsObject = t0;
    },
    Scrollable: function Scrollable(t0) {
      var _ = this;
      _._scrollListener = _._gestureModeListener = null;
      _._effectiveNeutralScrollPosition = 0;
      _.semanticsObject = t0;
    },
    Scrollable_update_closure: function Scrollable_update_closure(t0) {
      this.$this = t0;
    },
    Scrollable_update_closure0: function Scrollable_update_closure0(t0) {
      this.$this = t0;
    },
    Scrollable_update_closure1: function Scrollable_update_closure1(t0) {
      this.$this = t0;
    },
    EngineAccessibilityFeatures: function EngineAccessibilityFeatures(t0) {
      this.__engine$_index = t0;
    },
    SemanticsUpdate: function SemanticsUpdate(t0) {
      this.__engine$_nodeUpdates = t0;
    },
    SemanticsNodeUpdate: function SemanticsNodeUpdate(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) {
      var _ = this;
      _.id = t0;
      _.flags = t1;
      _.actions = t2;
      _.textSelectionBase = t3;
      _.textSelectionExtent = t4;
      _.platformViewId = t5;
      _.scrollChildren = t6;
      _.scrollIndex = t7;
      _.scrollPosition = t8;
      _.scrollExtentMax = t9;
      _.scrollExtentMin = t10;
      _.rect = t11;
      _.label = t12;
      _.labelAttributes = t13;
      _.hint = t14;
      _.hintAttributes = t15;
      _.value = t16;
      _.valueAttributes = t17;
      _.increasedValue = t18;
      _.increasedValueAttributes = t19;
      _.decreasedValue = t20;
      _.decreasedValueAttributes = t21;
      _.tooltip = t22;
      _.textDirection = t23;
      _.transform = t24;
      _.childrenInTraversalOrder = t25;
      _.childrenInHitTestOrder = t26;
      _.additionalActions = t27;
      _.thickness = t28;
    },
    Role: function Role(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _roleFactories_closure: function _roleFactories_closure() {
    },
    _roleFactories_closure0: function _roleFactories_closure0() {
    },
    _roleFactories_closure1: function _roleFactories_closure1() {
    },
    _roleFactories_closure2: function _roleFactories_closure2() {
    },
    _roleFactories_closure3: function _roleFactories_closure3() {
    },
    _roleFactories_closure4: function _roleFactories_closure4() {
    },
    _roleFactories_closure5: function _roleFactories_closure5() {
    },
    _roleFactories_closure6: function _roleFactories_closure6() {
    },
    RoleManager: function RoleManager() {
    },
    SemanticsObject: function SemanticsObject(t0, t1, t2, t3) {
      var _ = this;
      _.__engine$_flags = 0;
      _.__engine$_tooltip = _._additionalActions = _._childrenInHitTestOrder = _.__engine$_childrenInTraversalOrder = _.__engine$_transform = _.__engine$_textDirection = _._decreasedValueAttributes = _._decreasedValue = _._increasedValueAttributes = _._increasedValue = _._valueAttributes = _.__engine$_value = _._hintAttributes = _._hint = _._labelAttributes = _._label = _.__engine$_rect = _.__engine$_scrollExtentMin = _.__engine$_scrollExtentMax = _.__engine$_scrollPosition = _.__engine$_scrollIndex = _._scrollChildren = _._textSelectionExtent = _._textSelectionBase = _.__engine$_actions = null;
      _.__engine$_platformViewId = -1;
      _.id = t0;
      _.owner = t1;
      _.element = t2;
      _._dirtyFields = -1;
      _._currentChildrenInRenderOrder = _.__engine$_parent = _._childContainerElement = null;
      _._roleManagers = t3;
      _.horizontalContainerAdjustment = _.verticalContainerAdjustment = 0;
    },
    AccessibilityMode: function AccessibilityMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    GestureMode: function GestureMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    EngineSemanticsOwner: function EngineSemanticsOwner(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._semanticsTree = t0;
      _._attachments = t1;
      _._detachments = t2;
      _._oneTimePostUpdateCallbacks = t3;
      _._rootSemanticsElement = null;
      _._now = t4;
      _.semanticsHelper = t5;
      _._semanticsEnabled = false;
      _._gestureMode = t6;
      _._gestureModeClock = null;
      _._gestureModeListeners = t7;
    },
    EngineSemanticsOwner$__closure: function EngineSemanticsOwner$__closure(t0) {
      this.$this = t0;
    },
    EngineSemanticsOwner__now_closure: function EngineSemanticsOwner__now_closure() {
    },
    EngineSemanticsOwner__getGestureModeClock_closure: function EngineSemanticsOwner__getGestureModeClock_closure(t0) {
      this.$this = t0;
    },
    EnabledState: function EnabledState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SemanticsHelper: function SemanticsHelper(t0) {
      this._semanticsEnabler = t0;
    },
    SemanticsEnabler: function SemanticsEnabler() {
    },
    DesktopSemanticsEnabler: function DesktopSemanticsEnabler() {
      this._semanticsPlaceholder = null;
    },
    DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure: function DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure(t0) {
      this.$this = t0;
    },
    MobileSemanticsEnabler: function MobileSemanticsEnabler() {
      var _ = this;
      _._semanticsPlaceholder = _.semanticsActivationTimer = null;
      _.semanticsActivationAttempts = 0;
      _._schedulePlaceholderRemoval = false;
    },
    MobileSemanticsEnabler_tryEnableSemantics_closure: function MobileSemanticsEnabler_tryEnableSemantics_closure(t0) {
      this.$this = t0;
    },
    MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure: function MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure(t0) {
      this.$this = t0;
    },
    Tappable: function Tappable(t0) {
      this._clickListener = null;
      this.semanticsObject = t0;
    },
    Tappable_update_closure: function Tappable_update_closure(t0) {
      this.$this = t0;
    },
    SemanticsTextEditingStrategy: function SemanticsTextEditingStrategy(t0, t1) {
      var _ = this;
      _._queuedStyle = _.inputConfig = _.activeTextField = null;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy_inputConfiguration = $;
      _.onAction = _.onChange = _.geometry = _.style = _._editingDeltaState = _.lastEditingState = null;
      _.subscriptions = t1;
      _._appendedToForm = false;
    },
    TextField: function TextField(t0) {
      this.__TextField_editableElement = $;
      this._hasFocused = false;
      this.semanticsObject = t0;
    },
    TextField__initializeForBlink_closure: function TextField__initializeForBlink_closure(t0) {
      this.$this = t0;
    },
    TextField__initializeForWebkit_closure: function TextField__initializeForWebkit_closure(t0) {
      this._box_0 = t0;
    },
    TextField__initializeForWebkit_closure0: function TextField__initializeForWebkit_closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    TextField_update_closure: function TextField_update_closure(t0) {
      this.$this = t0;
    },
    _TypedDataBuffer: function _TypedDataBuffer() {
    },
    _IntBuffer: function _IntBuffer() {
    },
    Uint8Buffer: function Uint8Buffer(t0, t1) {
      this.__engine$_buffer = t0;
      this.__engine$_length = t1;
    },
    MethodCall: function MethodCall(t0, t1) {
      this.method = t0;
      this.$arguments = t1;
    },
    JSONMessageCodec: function JSONMessageCodec() {
    },
    JSONMethodCodec: function JSONMethodCodec() {
    },
    StandardMessageCodec: function StandardMessageCodec() {
    },
    StandardMessageCodec_writeValue_closure0: function StandardMessageCodec_writeValue_closure0(t0, t1) {
      this.$this = t0;
      this.buffer = t1;
    },
    StandardMethodCodec: function StandardMethodCodec() {
    },
    WriteBuffer0: function WriteBuffer0(t0, t1, t2) {
      var _ = this;
      _._debugFinalized = false;
      _.__engine$_buffer = t0;
      _.__engine$_eightBytes = t1;
      _.__engine$_eightBytesAsList = t2;
    },
    ReadBuffer0: function ReadBuffer0(t0) {
      this.data = t0;
      this.__engine$_position = 0;
    },
    SurfaceShadowData: function SurfaceShadowData(t0, t1) {
      this.blurWidth = t0;
      this.offset = t1;
    },
    SVGElement: function SVGElement() {
    },
    SVGGraphicsElement: function SVGGraphicsElement() {
    },
    SVGSVGElement: function SVGSVGElement() {
    },
    SVGClipPathElement: function SVGClipPathElement() {
    },
    SVGDefsElement: function SVGDefsElement() {
    },
    SVGGeometryElement: function SVGGeometryElement() {
    },
    SVGPathElement: function SVGPathElement() {
    },
    CanvasParagraph: function CanvasParagraph(t0, t1, t2, t3) {
      var _ = this;
      _.spans = t0;
      _.paragraphStyle = t1;
      _.plainText = t2;
      _.canDrawOnCanvas = t3;
      _.isLaidOut = false;
      _._lastUsedConstraints = null;
      _.__CanvasParagraph__paintService = _.__CanvasParagraph__layoutService = $;
      _._cachedDomElement = null;
    },
    FlatTextSpan: function FlatTextSpan(t0, t1, t2) {
      this.style = t0;
      this.start = t1;
      this.end = t2;
    },
    PlaceholderSpan: function PlaceholderSpan(t0, t1, t2, t3, t4) {
      var _ = this;
      _.end = t0;
      _.width = t1;
      _.height = t2;
      _.alignment = t3;
      _.baselineOffset = t4;
    },
    StyleNode: function StyleNode() {
    },
    ChildStyleNode: function ChildStyleNode(t0, t1) {
      this.parent = t0;
      this.style = t1;
      this._cachedStyle = null;
    },
    RootStyleNode: function RootStyleNode(t0) {
      this.paragraphStyle = t0;
      this._cachedStyle = null;
    },
    CanvasParagraphBuilder: function CanvasParagraphBuilder(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._plainTextBuffer = t0;
      _._paragraphStyle = t1;
      _._spans = t2;
      _._styleStack = t3;
      _._rootStyleNode = t4;
      _._placeholderCount = 0;
      _._placeholderScales = t5;
      _._canDrawOnCanvas = true;
    },
    FontCollection: function FontCollection() {
      this._testFontManager = this._assetFontManager = null;
    },
    FontManager: function FontManager(t0) {
      this._fontLoadingFutures = t0;
    },
    FontManager__loadFontFace_closure: function FontManager__loadFontFace_closure(t0) {
      this.fontFace = t0;
    },
    FontManager__loadFontFace_closure0: function FontManager__loadFontFace_closure0(t0) {
      this.family = t0;
    },
    _PolyfillFontManager: function _PolyfillFontManager(t0) {
      this._fontLoadingFutures = t0;
    },
    _PolyfillFontManager_registerAsset__watchWidth: function _PolyfillFontManager_registerAsset__watchWidth(t0, t1, t2, t3, t4) {
      var _ = this;
      _.paragraph = t0;
      _.sansSerifWidth = t1;
      _.completer = t2;
      _._fontLoadStart = t3;
      _.family = t4;
    },
    _PolyfillFontManager_registerAsset_closure: function _PolyfillFontManager_registerAsset_closure(t0) {
      this.fontStyleMap = t0;
    },
    TextLayoutService: function TextLayoutService(t0, t1, t2, t3) {
      var _ = this;
      _.paragraph = t0;
      _.context = t1;
      _.width = -1;
      _.height = 0;
      _.longestLine = null;
      _.maxIntrinsicWidth = _.minIntrinsicWidth = 0;
      _.ideographicBaseline = _.alphabeticBaseline = -1;
      _.didExceedMaxLines = false;
      _.lines = t2;
      _._paintBounds = t3;
    },
    RangeBox: function RangeBox() {
    },
    PlaceholderBox: function PlaceholderBox(t0, t1, t2, t3, t4) {
      var _ = this;
      _.placeholder = t0;
      _.start = t1;
      _.end = t2;
      _.__RangeBox_lineWidth = _.__RangeBox_startOffset = $;
      _.paragraphDirection = t3;
      _.boxDirection = t4;
    },
    SpanBox: function SpanBox(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.spanometer = t0;
      _.span = t1;
      _.contentDirection = t2;
      _.isSpaceOnly = t3;
      _._isTrailingSpace = false;
      _.__engine$_width = t4;
      _.height = t5;
      _.baseline = t6;
      _.start = t7;
      _.end = t8;
      _.__RangeBox_lineWidth = _.__RangeBox_startOffset = $;
      _.paragraphDirection = t9;
      _.boxDirection = t10;
    },
    LineSegment: function LineSegment(t0, t1, t2, t3, t4) {
      var _ = this;
      _.span = t0;
      _.start = t1;
      _.end = t2;
      _.width = t3;
      _.widthIncludingSpace = t4;
    },
    LineBuilder: function LineBuilder(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._segments = t0;
      _._boxes = t1;
      _.maxWidth = t2;
      _.paragraph = t3;
      _.spanometer = t4;
      _.start = t5;
      _.lineNumber = t6;
      _.accumulatedHeight = t7;
      _.__engine$_end = t8;
      _.descent = _.ascent = _.widthIncludingSpace = _.width = 0;
      _.isBreakable = false;
      _._spaceBoxCount = 0;
      _.__LineBuilder__currentContentDirection = _.__LineBuilder__currentBoxDirection = $;
      _._trailingSpaceBoxCount = _._currentBoxStartOffset = 0;
      _._cachedNextBreak = null;
    },
    Spanometer: function Spanometer(t0, t1) {
      var _ = this;
      _.paragraph = t0;
      _.context = t1;
      _._cssFontString = "";
      _._currentSpan = _._currentRuler = null;
    },
    LineCharProperty: function LineCharProperty(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    LineBreakType: function LineBreakType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    LineBreakResult: function LineBreakResult(t0, t1, t2, t3) {
      var _ = this;
      _.index = t0;
      _.indexWithoutTrailingNewlines = t1;
      _.indexWithoutTrailingSpaces = t2;
      _.type = t3;
    },
    RulerHost: function RulerHost(t0) {
      this._rulerHost = t0;
    },
    TextPaintService: function TextPaintService(t0) {
      this.paragraph = t0;
    },
    EngineLineMetrics: function EngineLineMetrics(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.ellipsis = t0;
      _.startIndex = t1;
      _.endIndex = t2;
      _.endIndexWithoutNewlines = t3;
      _.boxes = t4;
      _.spaceBoxCount = t5;
      _.trailingSpaceBoxCount = t6;
      _.hardBreak = t7;
      _.ascent = t8;
      _.descent = t9;
      _.height = t10;
      _.width = t11;
      _.widthWithTrailingSpaces = t12;
      _.left = t13;
      _.baseline = t14;
      _.lineNumber = t15;
    },
    EngineParagraphStyle: function EngineParagraphStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.textAlign = t0;
      _.textDirection = t1;
      _.fontWeight = t2;
      _.fontStyle = t3;
      _.maxLines = t4;
      _.fontFamily = t5;
      _.fontSize = t6;
      _.height = t7;
      _.__engine$_textHeightBehavior = t8;
      _.ellipsis = t9;
      _.locale = t10;
    },
    EngineTextStyle: function EngineTextStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) {
      var _ = this;
      _.color = t0;
      _.decoration = t1;
      _.decorationColor = t2;
      _.decorationStyle = t3;
      _.decorationThickness = t4;
      _.fontWeight = t5;
      _.fontStyle = t6;
      _.textBaseline = t7;
      _.isFontFamilyProvided = t8;
      _.fontFamily = t9;
      _.fontFamilyFallback = t10;
      _.fontFeatures = t11;
      _.fontVariations = t12;
      _.fontSize = t13;
      _.letterSpacing = t14;
      _.wordSpacing = t15;
      _.height = t16;
      _.locale = t17;
      _.background = t18;
      _.foreground = t19;
      _.shadows = t20;
      _._cssFontString = null;
      _.__EngineTextStyle_heightStyle = $;
    },
    EngineStrutStyle: function EngineStrutStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._fontFamily = t0;
      _.__engine$_fontFamilyFallback = t1;
      _._fontSize = t2;
      _.__engine$_height = t3;
      _._leading = t4;
      _._fontWeight = t5;
      _._fontStyle = t6;
      _._forceStrutHeight = t7;
      _._leadingDistribution = t8;
    },
    ParagraphPlaceholder: function ParagraphPlaceholder() {
    },
    TextHeightStyle: function TextHeightStyle(t0, t1, t2, t3, t4) {
      var _ = this;
      _.fontFamily = t0;
      _.fontSize = t1;
      _.height = t2;
      _.fontFeatures = t3;
      _.fontVariations = t4;
      _.__TextHeightStyle_hashCode = $;
    },
    TextDimensions: function TextDimensions(t0) {
      this.__engine$_element = t0;
      this._cachedBoundingClientRect = null;
    },
    TextHeightRuler: function TextHeightRuler(t0, t1, t2) {
      var _ = this;
      _.textHeightStyle = t0;
      _.rulerHost = t1;
      _.__TextHeightRuler__host = _.__TextHeightRuler__probe = $;
      _._dimensions = t2;
      _.__TextHeightRuler_height = _.__TextHeightRuler_alphabeticBaseline = $;
    },
    DirectionalPosition: function DirectionalPosition(t0, t1, t2) {
      this.lineBreak = t0;
      this.textDirection = t1;
      this.isSpaceOnly = t2;
    },
    _ComparisonResult: function _ComparisonResult(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    UnicodeRange: function UnicodeRange(t0, t1, t2, t3) {
      var _ = this;
      _.start = t0;
      _.end = t1;
      _.property = t2;
      _.$ti = t3;
    },
    UnicodePropertyLookup: function UnicodePropertyLookup(t0, t1, t2, t3) {
      var _ = this;
      _.ranges = t0;
      _.defaultProperty = t1;
      _._cache = t2;
      _.$ti = t3;
    },
    WordCharProperty: function WordCharProperty(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _FindBreakDirection: function _FindBreakDirection(t0) {
      this.step = t0;
    },
    BrowserAutofillHints: function BrowserAutofillHints(t0) {
      this._flutterToEngineMap = t0;
    },
    EngineInputType: function EngineInputType() {
    },
    NoTextInputType: function NoTextInputType() {
    },
    TextInputType0: function TextInputType0() {
    },
    NumberInputType: function NumberInputType() {
    },
    DecimalInputType: function DecimalInputType() {
    },
    PhoneInputType: function PhoneInputType() {
    },
    EmailInputType: function EmailInputType() {
    },
    UrlInputType: function UrlInputType() {
    },
    MultilineInputType: function MultilineInputType() {
    },
    TextCapitalization: function TextCapitalization(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextCapitalizationConfig: function TextCapitalizationConfig(t0) {
      this.textCapitalization = t0;
    },
    EngineAutofillForm: function EngineAutofillForm(t0, t1, t2, t3) {
      var _ = this;
      _.formElement = t0;
      _.elements = t1;
      _.items = t2;
      _.formIdentifier = t3;
    },
    EngineAutofillForm_fromFrameworkMessage_closure: function EngineAutofillForm_fromFrameworkMessage_closure() {
    },
    EngineAutofillForm_addInputEventListeners_addSubscriptionForKey: function EngineAutofillForm_addInputEventListeners_addSubscriptionForKey(t0, t1) {
      this.$this = t0;
      this.subscriptions = t1;
    },
    EngineAutofillForm_addInputEventListeners_addSubscriptionForKey_closure: function EngineAutofillForm_addInputEventListeners_addSubscriptionForKey_closure(t0, t1, t2) {
      this.$this = t0;
      this.key = t1;
      this.element = t2;
    },
    AutofillInfo: function AutofillInfo(t0, t1, t2, t3) {
      var _ = this;
      _.editingState = t0;
      _.uniqueIdentifier = t1;
      _.autofillHint = t2;
      _.placeholder = t3;
    },
    TextEditingDeltaState: function TextEditingDeltaState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.oldText = t0;
      _.deltaText = t1;
      _.deltaStart = t2;
      _.deltaEnd = t3;
      _.baseOffset = t4;
      _.extentOffset = t5;
      _.composingOffset = t6;
      _.composingExtent = t7;
    },
    EditingState: function EditingState(t0, t1, t2) {
      this.text = t0;
      this.baseOffset = t1;
      this.extentOffset = t2;
    },
    InputConfiguration: function InputConfiguration(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.inputType = t0;
      _.inputAction = t1;
      _.readOnly = t2;
      _.obscureText = t3;
      _.autocorrect = t4;
      _.enableDeltaModel = t5;
      _.autofill = t6;
      _.autofillGroup = t7;
      _.textCapitalization = t8;
    },
    GloballyPositionedTextEditingStrategy: function GloballyPositionedTextEditingStrategy(t0, t1) {
      var _ = this;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy_inputConfiguration = $;
      _.onAction = _.onChange = _.geometry = _.style = _._editingDeltaState = _.lastEditingState = null;
      _.subscriptions = t1;
      _._appendedToForm = false;
    },
    SafariDesktopTextEditingStrategy: function SafariDesktopTextEditingStrategy(t0, t1) {
      var _ = this;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy_inputConfiguration = $;
      _.onAction = _.onChange = _.geometry = _.style = _._editingDeltaState = _.lastEditingState = null;
      _.subscriptions = t1;
      _._appendedToForm = false;
    },
    DefaultTextEditingStrategy: function DefaultTextEditingStrategy() {
    },
    DefaultTextEditingStrategy_addEventHandlers_closure: function DefaultTextEditingStrategy_addEventHandlers_closure(t0) {
      this.$this = t0;
    },
    DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure: function DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure() {
    },
    DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0: function DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0() {
    },
    DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1: function DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1() {
    },
    IOSTextEditingStrategy: function IOSTextEditingStrategy(t0, t1) {
      var _ = this;
      _._positionInputElementTimer = null;
      _._canPosition = true;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy_inputConfiguration = $;
      _.onAction = _.onChange = _.geometry = _.style = _._editingDeltaState = _.lastEditingState = null;
      _.subscriptions = t1;
      _._appendedToForm = false;
    },
    IOSTextEditingStrategy_addEventHandlers_closure: function IOSTextEditingStrategy_addEventHandlers_closure(t0) {
      this.$this = t0;
    },
    IOSTextEditingStrategy_addEventHandlers_closure0: function IOSTextEditingStrategy_addEventHandlers_closure0(t0, t1) {
      this.$this = t0;
      this.blurWatch = t1;
    },
    IOSTextEditingStrategy__addTapListener_closure: function IOSTextEditingStrategy__addTapListener_closure(t0) {
      this.$this = t0;
    },
    IOSTextEditingStrategy__schedulePlacement_closure: function IOSTextEditingStrategy__schedulePlacement_closure(t0) {
      this.$this = t0;
    },
    AndroidTextEditingStrategy: function AndroidTextEditingStrategy(t0, t1) {
      var _ = this;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy_inputConfiguration = $;
      _.onAction = _.onChange = _.geometry = _.style = _._editingDeltaState = _.lastEditingState = null;
      _.subscriptions = t1;
      _._appendedToForm = false;
    },
    AndroidTextEditingStrategy_addEventHandlers_closure: function AndroidTextEditingStrategy_addEventHandlers_closure(t0) {
      this.$this = t0;
    },
    FirefoxTextEditingStrategy: function FirefoxTextEditingStrategy(t0, t1) {
      var _ = this;
      _.owner = t0;
      _.isEnabled = false;
      _.domElement = null;
      _.__DefaultTextEditingStrategy_inputConfiguration = $;
      _.onAction = _.onChange = _.geometry = _.style = _._editingDeltaState = _.lastEditingState = null;
      _.subscriptions = t1;
      _._appendedToForm = false;
    },
    FirefoxTextEditingStrategy_addEventHandlers_closure: function FirefoxTextEditingStrategy_addEventHandlers_closure(t0) {
      this.$this = t0;
    },
    FirefoxTextEditingStrategy_addEventHandlers_closure0: function FirefoxTextEditingStrategy_addEventHandlers_closure0(t0) {
      this.$this = t0;
    },
    FirefoxTextEditingStrategy__postponeFocus_closure: function FirefoxTextEditingStrategy__postponeFocus_closure(t0) {
      this.$this = t0;
    },
    TextInputCommand: function TextInputCommand() {
    },
    TextInputSetClient: function TextInputSetClient(t0, t1) {
      this.clientId = t0;
      this.configuration = t1;
    },
    TextInputUpdateConfig: function TextInputUpdateConfig() {
    },
    TextInputSetEditingState: function TextInputSetEditingState(t0) {
      this.state = t0;
    },
    TextInputShow: function TextInputShow() {
    },
    TextInputSetEditableSizeAndTransform: function TextInputSetEditableSizeAndTransform(t0) {
      this.geometry = t0;
    },
    TextInputSetStyle: function TextInputSetStyle(t0) {
      this.style = t0;
    },
    TextInputClearClient: function TextInputClearClient() {
    },
    TextInputHide: function TextInputHide() {
    },
    TextInputSetMarkedTextRect: function TextInputSetMarkedTextRect() {
    },
    TextInputSetCaretRect: function TextInputSetCaretRect() {
    },
    TextInputRequestAutofill: function TextInputRequestAutofill() {
    },
    TextInputFinishAutofillContext: function TextInputFinishAutofillContext(t0) {
      this.saveForm = t0;
    },
    saveForms_closure: function saveForms_closure() {
    },
    TextEditingChannel: function TextEditingChannel(t0) {
      this.implementation = t0;
    },
    TextEditingChannel_handleTextInput_closure: function TextEditingChannel_handleTextInput_closure(t0) {
      this.callback = t0;
    },
    HybridTextEditing: function HybridTextEditing() {
      var _ = this;
      _.__HybridTextEditing_channel = $;
      _._clientId = null;
      _.isEditing = false;
      _.configuration = null;
      _.__HybridTextEditing_strategy = $;
    },
    HybridTextEditing__startEditing_closure0: function HybridTextEditing__startEditing_closure0(t0) {
      this.$this = t0;
    },
    HybridTextEditing__startEditing_closure: function HybridTextEditing__startEditing_closure(t0) {
      this.$this = t0;
    },
    EditableTextStyle: function EditableTextStyle(t0, t1, t2, t3, t4) {
      var _ = this;
      _.fontSize = t0;
      _.fontWeight = t1;
      _.fontFamily = t2;
      _.textAlign = t3;
      _.textDirection = t4;
    },
    EditableTextGeometry: function EditableTextGeometry(t0, t1, t2) {
      this.width = t0;
      this.height = t1;
      this.globalTransform = t2;
    },
    futurize_closure: function futurize_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.completer = t1;
      this.T = t2;
    },
    TransformKind: function TransformKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    bytesToHexString_closure: function bytesToHexString_closure() {
    },
    Matrix40: function Matrix40(t0) {
      this.__engine$_m4storage = t0;
    },
    Vector30: function Vector30(t0) {
      this.__engine$_v3storage = t0;
    },
    EngineFlutterWindow: function EngineFlutterWindow() {
    },
    EngineFlutterWindow_closure: function EngineFlutterWindow_closure(t0) {
      this.$this = t0;
    },
    EngineFlutterWindow_handleNavigationMessage_closure: function EngineFlutterWindow_handleNavigationMessage_closure(t0, t1) {
      this.$this = t0;
      this.data = t1;
    },
    EngineSingletonFlutterWindow: function EngineSingletonFlutterWindow(t0, t1, t2, t3) {
      var _ = this;
      _._debugDevicePixelRatio = null;
      _._windowId = t0;
      _.platformDispatcher = t1;
      _._browserHistory = null;
      _._endOfTheLine = t2;
      _._viewInsets = t3;
      _._physicalSize = null;
    },
    WindowPadding: function WindowPadding(t0, t1, t2, t3) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
    },
    _DomCanvas_EngineCanvas_SaveElementStackTracking: function _DomCanvas_EngineCanvas_SaveElementStackTracking() {
    },
    _PersistedClipRRect_PersistedContainerSurface__DomClip: function _PersistedClipRRect_PersistedContainerSurface__DomClip() {
    },
    _PersistedClipRect_PersistedContainerSurface__DomClip: function _PersistedClipRect_PersistedContainerSurface__DomClip() {
    },
    __MouseAdapter__BaseAdapter__WheelEventListenerMixin: function __MouseAdapter__BaseAdapter__WheelEventListenerMixin() {
    },
    __PointerAdapter__BaseAdapter__WheelEventListenerMixin: function __PointerAdapter__BaseAdapter__WheelEventListenerMixin() {
    },
    JS_CONST: function JS_CONST() {
    },
    createSentinel() {
      return $;
    },
    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$localNI(localName) {
      return new A.LateError("Local '" + localName + "' has not been initialized.");
    },
    LateError$fieldAI(fieldName) {
      return new A.LateError("Field '" + fieldName + "' has already been initialized.");
    },
    LateError$localAI(localName) {
      return new A.LateError("Local '" + localName + "' has already been initialized.");
    },
    CodeUnits$(_string) {
      return new A.CodeUnits(_string);
    },
    hexDigitValue(char) {
      var letter,
        digit = char ^ 48;
      if (digit <= 9)
        return digit;
      letter = char | 32;
      if (97 <= letter && letter <= 102)
        return letter - 87;
      return -1;
    },
    parseHexByte(source, index) {
      var digit1 = A.hexDigitValue(B.JSString_methods.codeUnitAt$1(source, index)),
        digit2 = A.hexDigitValue(B.JSString_methods.codeUnitAt$1(source, index + 1));
      return digit1 * 16 + digit2 - (digit2 & 256);
    },
    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;
    },
    SystemHash_hash2(v1, v2, seed) {
      return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(seed, v1), v2));
    },
    SystemHash_hash4(v1, v2, v3, v4, seed) {
      return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(seed, v1), v2), v3), v4));
    },
    checkNotNullable(value, $name, $T) {
      return value;
    },
    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>"));
    },
    TakeIterable_TakeIterable(iterable, takeCount, $E) {
      var _s9_ = "takeCount";
      A.ArgumentError_checkNotNull(takeCount, _s9_);
      A.RangeError_checkNotNegative(takeCount, _s9_);
      if (type$.EfficientLengthIterable_dynamic._is(iterable))
        return new A.EfficientLengthTakeIterable(iterable, takeCount, $E._eval$1("EfficientLengthTakeIterable<0>"));
      return new A.TakeIterable(iterable, takeCount, $E._eval$1("TakeIterable<0>"));
    },
    SkipIterable_SkipIterable(iterable, count, $E) {
      var _s5_ = "count";
      if (type$.EfficientLengthIterable_dynamic._is(iterable)) {
        A.ArgumentError_checkNotNull(count, _s5_);
        A.RangeError_checkNotNegative(count, _s5_);
        return new A.EfficientLengthSkipIterable(iterable, count, $E._eval$1("EfficientLengthSkipIterable<0>"));
      }
      A.ArgumentError_checkNotNull(count, _s5_);
      A.RangeError_checkNotNegative(count, _s5_);
      return new A.SkipIterable(iterable, count, $E._eval$1("SkipIterable<0>"));
    },
    FollowedByIterable_FollowedByIterable$firstEfficient(first, second, $E) {
      return new A.FollowedByIterable(first, second, $E._eval$1("FollowedByIterable<0>"));
    },
    IterableElementError_noElement() {
      return new A.StateError("No element");
    },
    IterableElementError_tooMany() {
      return new A.StateError("Too many elements");
    },
    IterableElementError_tooFew() {
      return new A.StateError("Too few elements");
    },
    Sort_sort(a, compare) {
      A.Sort__doSort(a, 0, J.get$length$asx(a) - 1, compare);
    },
    Sort__doSort(a, left, right, compare) {
      if (right - left <= 32)
        A.Sort__insertionSort(a, left, right, compare);
      else
        A.Sort__dualPivotQuicksort(a, left, right, compare);
    },
    Sort__insertionSort(a, left, right, compare) {
      var i, t1, el, j, 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 && compare.call$2(t1.$index(a, j - 1), el) > 0))
            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) {
      var t0, less, great, k, ak, comp, great0, less0, pivots_are_equal, t2,
        sixth = B.JSInt_methods._tdivFast$1(right - left + 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);
      if (compare.call$2(el1, el2) > 0) {
        t0 = el2;
        el2 = el1;
        el1 = t0;
      }
      if (compare.call$2(el4, el5) > 0) {
        t0 = el5;
        el5 = el4;
        el4 = t0;
      }
      if (compare.call$2(el1, el3) > 0) {
        t0 = el3;
        el3 = el1;
        el1 = t0;
      }
      if (compare.call$2(el2, el3) > 0) {
        t0 = el3;
        el3 = el2;
        el2 = t0;
      }
      if (compare.call$2(el1, el4) > 0) {
        t0 = el4;
        el4 = el1;
        el1 = t0;
      }
      if (compare.call$2(el3, el4) > 0) {
        t0 = el4;
        el4 = el3;
        el3 = t0;
      }
      if (compare.call$2(el2, el5) > 0) {
        t0 = el5;
        el5 = el2;
        el2 = t0;
      }
      if (compare.call$2(el2, el3) > 0) {
        t0 = el3;
        el3 = el2;
        el2 = t0;
      }
      if (compare.call$2(el4, el5) > 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);
      A.Sort__doSort(a, great + 2, right, compare);
      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);
      } else
        A.Sort__doSort(a, less, great, compare);
    },
    CastStream: function CastStream(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastStreamSubscription: function CastStreamSubscription(t0, t1, t2) {
      var _ = this;
      _._source = t0;
      _.__internal$_zone = t1;
      _.__internal$_handleError = _.__internal$_handleData = null;
      _.$ti = t2;
    },
    CastStreamTransformer: function CastStreamTransformer(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastConverter: function CastConverter(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    _CastIterableBase: function _CastIterableBase() {
    },
    CastIterator: function CastIterator(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastIterable: function CastIterable(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    _EfficientLengthCastIterable: function _EfficientLengthCastIterable(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    _CastListBase: function _CastListBase() {
    },
    _CastListBase_sort_closure: function _CastListBase_sort_closure(t0, t1) {
      this.$this = t0;
      this.compare = t1;
    },
    CastList: function CastList(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastSet: function CastSet(t0, t1, t2) {
      this._source = t0;
      this._emptySet = t1;
      this.$ti = t2;
    },
    CastSet_removeWhere_closure: function CastSet_removeWhere_closure(t0, t1) {
      this.$this = t0;
      this.test = t1;
    },
    CastMap: function CastMap(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    CastMap_putIfAbsent_closure: function CastMap_putIfAbsent_closure(t0, t1) {
      this.$this = t0;
      this.ifAbsent = t1;
    },
    CastMap_forEach_closure: function CastMap_forEach_closure(t0, t1) {
      this.$this = t0;
      this.f = t1;
    },
    CastMap_entries_closure: function CastMap_entries_closure(t0) {
      this.$this = t0;
    },
    CastQueue: function CastQueue(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    LateError: function LateError(t0) {
      this._message = t0;
    },
    CodeUnits: function CodeUnits(t0) {
      this._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._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;
    },
    ExpandIterable: function ExpandIterable(t0, t1, t2) {
      this.__internal$_iterable = t0;
      this._f = t1;
      this.$ti = t2;
    },
    ExpandIterator: function ExpandIterator(t0, t1, t2, t3) {
      var _ = this;
      _._iterator = t0;
      _._f = t1;
      _._currentExpansion = t2;
      _.__internal$_current = null;
      _.$ti = t3;
    },
    TakeIterable: function TakeIterable(t0, t1, t2) {
      this.__internal$_iterable = t0;
      this._takeCount = t1;
      this.$ti = t2;
    },
    EfficientLengthTakeIterable: function EfficientLengthTakeIterable(t0, t1, t2) {
      this.__internal$_iterable = t0;
      this._takeCount = t1;
      this.$ti = t2;
    },
    TakeIterator: function TakeIterator(t0, t1, t2) {
      this._iterator = t0;
      this._remaining = 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;
    },
    SkipWhileIterable: function SkipWhileIterable(t0, t1, t2) {
      this.__internal$_iterable = t0;
      this._f = t1;
      this.$ti = t2;
    },
    SkipWhileIterator: function SkipWhileIterator(t0, t1, t2) {
      var _ = this;
      _._iterator = t0;
      _._f = t1;
      _._hasSkipped = false;
      _.$ti = t2;
    },
    EmptyIterable: function EmptyIterable(t0) {
      this.$ti = t0;
    },
    EmptyIterator: function EmptyIterator(t0) {
      this.$ti = t0;
    },
    FollowedByIterable: function FollowedByIterable(t0, t1, t2) {
      this.__internal$_first = t0;
      this._second = t1;
      this.$ti = t2;
    },
    FollowedByIterator: function FollowedByIterator(t0, t1, t2) {
      this._currentIterator = t0;
      this._nextIterable = t1;
      this.$ti = t2;
    },
    WhereTypeIterable: function WhereTypeIterable(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    WhereTypeIterator: function WhereTypeIterator(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    FixedLengthListMixin: function FixedLengthListMixin() {
    },
    UnmodifiableListMixin: function UnmodifiableListMixin() {
    },
    UnmodifiableListBase: function UnmodifiableListBase() {
    },
    _ListIndicesIterable: function _ListIndicesIterable(t0) {
      this._backedList = t0;
    },
    ListMapView: function ListMapView(t0, t1) {
      this._values = t0;
      this.$ti = t1;
    },
    ReversedListIterable: function ReversedListIterable(t0, t1) {
      this._source = t0;
      this.$ti = t1;
    },
    Symbol: function Symbol(t0) {
      this._name = t0;
    },
    __CastListBase__CastIterableBase_ListMixin: function __CastListBase__CastIterableBase_ListMixin() {
    },
    ConstantMap_ConstantMap$from(other, $K, $V) {
      var allStrings, k, object, t2,
        keys = A.List_List$from(new A.LinkedHashMapKeyIterable(other, A._instanceType(other)._eval$1("LinkedHashMapKeyIterable<1>")), true, $K),
        t1 = keys.length,
        _i = 0;
      while (true) {
        if (!(_i < t1)) {
          allStrings = true;
          break;
        }
        k = keys[_i];
        if (typeof k != "string" || "__proto__" === k) {
          allStrings = false;
          break;
        }
        ++_i;
      }
      if (allStrings) {
        object = {};
        for (_i = 0; t2 = keys.length, _i < t2; keys.length === t1 || (0, A.throwConcurrentModificationError)(keys), ++_i) {
          k = keys[_i];
          object[k] = other.$index(0, k);
        }
        return new A.ConstantStringMap(t2, object, keys, $K._eval$1("@<0>")._bind$1($V)._eval$1("ConstantStringMap<1,2>"));
      }
      return new A.ConstantMapView(A.LinkedHashMap_LinkedHashMap$from(other, $K, $V), $K._eval$1("@<0>")._bind$1($V)._eval$1("ConstantMapView<1,2>"));
    },
    ConstantMap__throwUnmodifiable() {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable Map"));
    },
    GeneralConstantMap__constantMapHashCode(key) {
      if (typeof key == "number")
        return B.JSNumber_methods.get$hashCode(key);
      if (type$.Symbol._is(key))
        return key.get$hashCode(key);
      if (type$.Type._is(key))
        return A.Primitives_objectHashCode(key);
      return A.objectHashCode(key);
    },
    GeneralConstantMap__typeTest($T) {
      return new A.GeneralConstantMap__typeTest_closure($T);
    },
    instantiate1(f, T1) {
      var t1 = new A.Instantiation1(f, T1._eval$1("Instantiation1<0>"));
      t1.Instantiation$1(f);
      return t1;
    },
    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;
    },
    createInvocationMirror($name, internalName, kind, $arguments, argumentNames, types) {
      return new A.JSInvocationMirror($name, kind, $arguments, argumentNames, types);
    },
    createUnmangledInvocationMirror(symbol, internalName, kind, $arguments, argumentNames, types) {
      return new A.JSInvocationMirror(symbol, kind, $arguments, argumentNames, types);
    },
    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;
      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;
        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_parseDouble(source) {
      var result, trimmed;
      if (!/^\s*[+-]?(?:Infinity|NaN|(?:\.\d+|\d+(?:\.\d*)?)(?:[eE][+-]?\d+)?)\s*$/.test(source))
        return null;
      result = parseFloat(source);
      if (isNaN(result)) {
        trimmed = B.JSString_methods.trim$0(source);
        if (trimmed === "NaN" || trimmed === "+NaN" || trimmed === "-NaN")
          return result;
        return null;
      }
      return result;
    },
    Primitives_objectTypeName(object) {
      return A.Primitives__objectTypeNameNewRti(object);
    },
    Primitives__objectTypeNameNewRti(object) {
      var interceptor, dispatchName, t1, $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);
        t1 = dispatchName !== "Object" && dispatchName !== "";
        if (t1)
          return dispatchName;
        $constructor = object.constructor;
        if (typeof $constructor == "function") {
          constructorName = $constructor.name;
          if (typeof constructorName == "string")
            t1 = constructorName !== "Object" && constructorName !== "";
          else
            t1 = false;
          if (t1)
            return constructorName;
        }
      }
      return A._rtiToString(A.instanceType(object), null);
    },
    Primitives_dateNow() {
      return Date.now();
    },
    Primitives_initTicker() {
      var $window, performance;
      if ($.Primitives_timerFrequency !== 0)
        return;
      $.Primitives_timerFrequency = 1000;
      if (typeof window == "undefined")
        return;
      $window = window;
      if ($window == null)
        return;
      performance = $window.performance;
      if (performance == null)
        return;
      if (typeof performance.now != "function")
        return;
      $.Primitives_timerFrequency = 1000000;
      $.Primitives_timerTicks = new A.Primitives_initTicker_closure(performance);
    },
    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)
          a.push(i);
        else if (i <= 1114111) {
          a.push(55296 + (B.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1023));
          a.push(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_valueFromDecomposedDate(years, month, day, hours, minutes, seconds, milliseconds, isUtc) {
      var value,
        jsMonth = month - 1;
      if (0 <= years && years < 100) {
        years += 400;
        jsMonth -= 4800;
      }
      value = isUtc ? Date.UTC(years, jsMonth, day, hours, minutes, seconds, milliseconds) : new Date(years, jsMonth, day, hours, minutes, seconds, milliseconds).valueOf();
      if (isNaN(value) || value < -864e13 || value > 864e13)
        return null;
      return value;
    },
    Primitives_lazyAsJsDate(receiver) {
      if (receiver.date === void 0)
        receiver.date = new Date(receiver._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_getWeekday(receiver) {
      return B.JSInt_methods.$mod((receiver.isUtc ? A.Primitives_lazyAsJsDate(receiver).getUTCDay() + 0 : A.Primitives_lazyAsJsDate(receiver).getDay() + 0) + 6, 7) + 1;
    },
    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, t2,
        $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[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) {
            t2 = keys[_i];
            if (namedArguments.containsKey$1(0, t2)) {
              ++used;
              B.JSArray_methods.add$1($arguments, namedArguments.$index(0, t2));
            } else {
              defaultValue = defaultValues[t2];
              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);
      }
    },
    diagnoseIndexError(indexable, index) {
      var $length, _s5_ = "index";
      if (!A._isInt(index))
        return new A.ArgumentError(true, index, _s5_, null);
      $length = J.get$length$asx(indexable);
      if (index < 0 || index >= $length)
        return A.IndexError$(index, indexable, _s5_, null, $length);
      return A.RangeError$value(index, _s5_, null);
    },
    diagnoseRangeError(start, end, $length) {
      if (start < 0 || 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);
    },
    checkNum(value) {
      return value;
    },
    wrapException(ex) {
      var wrapper, t1;
      if (ex == null)
        ex = new A.NullThrownError();
      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) {
      if (ex == null)
        return new A.NullThrownFromJavaScriptException(ex);
      if (ex instanceof A.ExceptionAndStackTrace)
        return A.saveStackTrace(ex, ex.dartException);
      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$(message, match));
        else {
          match = notClosure.matchTypeError$1(message);
          if (match != null) {
            match.method = "call";
            return A.saveStackTrace(ex, A.JsNoSuchMethodError$(message, match));
          } else {
            match = nullCall.matchTypeError$1(message);
            if (match == null) {
              match = nullLiteralCall.matchTypeError$1(message);
              if (match == null) {
                match = undefCall.matchTypeError$1(message);
                if (match == null) {
                  match = undefLiteralCall.matchTypeError$1(message);
                  if (match == null) {
                    match = nullProperty.matchTypeError$1(message);
                    if (match == null) {
                      match = nullLiteralCall.matchTypeError$1(message);
                      if (match == null) {
                        match = undefProperty.matchTypeError$1(message);
                        if (match == null) {
                          match = undefLiteralProperty.matchTypeError$1(message);
                          t1 = match != null;
                        } else
                          t1 = true;
                      } else
                        t1 = true;
                    } else
                      t1 = true;
                  } else
                    t1 = true;
                } else
                  t1 = true;
              } else
                t1 = true;
            } else
              t1 = true;
            if (t1)
              return 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;
    },
    fillLiteralSet(values, result) {
      var index,
        $length = values.length;
      for (index = 0; index < $length; ++index)
        result.add$1(0, values[index]);
      return result;
    },
    invokeClosure(closure, numberOfArguments, arg1, arg2, arg3, arg4) {
      switch (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 $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,
        $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));
      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));
    },
    throwCyclicInit(staticName) {
      throw A.wrapException(new A.CyclicInitializationError(staticName));
    },
    getIsolateAffinityTag($name) {
      return init.getIsolateTag($name);
    },
    LinkedHashMapKeyIterator$(_map, _modifications, $E) {
      var t1 = new A.LinkedHashMapKeyIterator(_map, _modifications, $E._eval$1("LinkedHashMapKeyIterator<0>"));
      t1._cell = _map._first;
      return t1;
    },
    defineProperty(obj, property, value) {
      Object.defineProperty(obj, property, {value: value, enumerable: false, writable: true, configurable: true});
    },
    lookupAndCacheInterceptor(obj) {
      var interceptor, interceptorClass, altTag, mark, t1,
        tag = $.getTagFunction.call$1(obj),
        record = $.dispatchRecordsForInstanceTags[tag];
      if (record != null) {
        Object.defineProperty(obj, init.dispatchPropertyName, {value: record, enumerable: false, writable: true, configurable: true});
        return record.i;
      }
      interceptor = $.interceptorsForUncacheableTags[tag];
      if (interceptor != null)
        return interceptor;
      interceptorClass = init.interceptorsByTag[tag];
      if (interceptorClass == null) {
        altTag = $.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;
    },
    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));
    },
    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);
      }
    },
    escapeReplacement(replacement) {
      if (replacement.indexOf("$", 0) >= 0)
        return replacement.replace(/\$/g, "$$$$");
      return replacement;
    },
    stringReplaceFirstRE(receiver, regexp, replacement, startIndex) {
      var match = regexp._execGlobal$2(receiver, startIndex);
      if (match == null)
        return receiver;
      return A.stringReplaceRangeUnchecked(receiver, match._match.index, match.get$end(match), replacement);
    },
    quoteStringForRegExp(string) {
      if (/[[\]{}()*+?.\\^$|]/.test(string))
        return string.replace(/[[\]{}()*+?.\\^$|]/g, "\\$&");
      return string;
    },
    stringReplaceAllUnchecked(receiver, pattern, replacement) {
      var nativeRegexp;
      if (typeof pattern == "string")
        return A.stringReplaceAllUncheckedString(receiver, pattern, replacement);
      if (pattern instanceof A.JSSyntaxRegExp) {
        nativeRegexp = pattern.get$_nativeGlobalVersion();
        nativeRegexp.lastIndex = 0;
        return receiver.replace(nativeRegexp, A.escapeReplacement(replacement));
      }
      return A.stringReplaceAllGeneral(receiver, pattern, replacement);
    },
    stringReplaceAllGeneral(receiver, pattern, replacement) {
      var t1, startIndex, t2, match;
      for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), startIndex = 0, t2 = ""; t1.moveNext$0();) {
        match = t1.get$current(t1);
        t2 = t2 + receiver.substring(startIndex, match.get$start(match)) + replacement;
        startIndex = match.get$end(match);
      }
      t1 = t2 + receiver.substring(startIndex);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    stringReplaceAllUncheckedString(receiver, pattern, replacement) {
      var $length, t1, i, index;
      if (pattern === "") {
        if (receiver === "")
          return replacement;
        $length = receiver.length;
        t1 = "" + replacement;
        for (i = 0; i < $length; ++i)
          t1 = t1 + receiver[i] + replacement;
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      index = receiver.indexOf(pattern, 0);
      if (index < 0)
        return receiver;
      if (receiver.length < 500 || replacement.indexOf("$", 0) >= 0)
        return receiver.split(pattern).join(replacement);
      return receiver.replace(new RegExp(A.quoteStringForRegExp(pattern), "g"), A.escapeReplacement(replacement));
    },
    _stringIdentity(string) {
      return string;
    },
    stringReplaceAllFuncUnchecked(receiver, pattern, onMatch, onNonMatch) {
      var t1, t2, startIndex, t3, match, t4, t5;
      for (t1 = pattern.allMatches$1(0, receiver), t1 = new A._AllMatchesIterator(t1._re, t1.__js_helper$_string, t1.__js_helper$_start), t2 = type$.RegExpMatch, startIndex = 0, t3 = ""; t1.moveNext$0();) {
        match = t1.__js_helper$_current;
        if (match == null)
          match = t2._as(match);
        t4 = match._match;
        t5 = t4.index;
        t3 = t3 + A.S(A._stringIdentity(B.JSString_methods.substring$2(receiver, startIndex, t5))) + A.S(onMatch.call$1(match));
        startIndex = t5 + t4[0].length;
      }
      t1 = t3 + A.S(A._stringIdentity(B.JSString_methods.substring$1(receiver, startIndex)));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    stringReplaceFirstUnchecked(receiver, pattern, replacement, startIndex) {
      var index, t1, matches, match;
      if (typeof pattern == "string") {
        index = receiver.indexOf(pattern, startIndex);
        if (index < 0)
          return receiver;
        return A.stringReplaceRangeUnchecked(receiver, index, index + pattern.length, replacement);
      }
      if (pattern instanceof A.JSSyntaxRegExp)
        return startIndex === 0 ? receiver.replace(pattern._nativeRegExp, A.escapeReplacement(replacement)) : A.stringReplaceFirstRE(receiver, pattern, replacement, startIndex);
      t1 = J.allMatches$2$s(pattern, receiver, startIndex);
      matches = t1.get$iterator(t1);
      if (!matches.moveNext$0())
        return receiver;
      match = matches.get$current(matches);
      return B.JSString_methods.replaceRange$3(receiver, match.get$start(match), match.get$end(match), replacement);
    },
    stringReplaceRangeUnchecked(receiver, start, end, replacement) {
      return receiver.substring(0, start) + replacement + receiver.substring(end);
    },
    ConstantMapView: function ConstantMapView(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    ConstantMap: function ConstantMap() {
    },
    ConstantMap_map_closure: function ConstantMap_map_closure(t0, t1, t2) {
      this.$this = t0;
      this.transform = t1;
      this.result = t2;
    },
    ConstantStringMap: function ConstantStringMap(t0, t1, t2, t3) {
      var _ = this;
      _._length = t0;
      _._jsObject = t1;
      _._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;
    },
    GeneralConstantMap: function GeneralConstantMap(t0, t1) {
      this._jsData = t0;
      this.$ti = t1;
    },
    GeneralConstantMap__typeTest_closure: function GeneralConstantMap__typeTest_closure(t0) {
      this.T = t0;
    },
    Instantiation: function Instantiation() {
    },
    Instantiation1: function Instantiation1(t0, t1) {
      this._genericClosure = t0;
      this.$ti = t1;
    },
    JSInvocationMirror: function JSInvocationMirror(t0, t1, t2, t3, t4) {
      var _ = this;
      _.__js_helper$_memberName = t0;
      _.__js_helper$_kind = t1;
      _._arguments = t2;
      _._namedArgumentNames = t3;
      _._typeArgumentCount = t4;
    },
    Primitives_initTicker_closure: function Primitives_initTicker_closure(t0) {
      this.performance = t0;
    },
    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;
    },
    RuntimeError: function RuntimeError(t0) {
      this.message = t0;
    },
    _Required: function _Required() {
    },
    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_containsValue_closure: function JsLinkedHashMap_containsValue_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    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.__js_helper$_string = t1;
      this.__js_helper$_start = t2;
    },
    _AllMatchesIterator: function _AllMatchesIterator(t0, t1, t2) {
      var _ = this;
      _._regExp = t0;
      _.__js_helper$_string = t1;
      _._nextIndex = t2;
      _.__js_helper$_current = null;
    },
    StringMatch: function StringMatch(t0, t1, t2) {
      this.start = t0;
      this.input = t1;
      this.pattern = t2;
    },
    _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;
    },
    throwLateFieldADI(fieldName) {
      return A.throwExpression(A.LateError$fieldADI(fieldName));
    },
    throwUnnamedLateFieldNI() {
      return A.throwExpression(A.LateError$fieldNI(""));
    },
    throwUnnamedLateFieldAI() {
      return A.throwExpression(A.LateError$fieldAI(""));
    },
    throwUnnamedLateFieldADI() {
      return A.throwExpression(A.LateError$fieldADI(""));
    },
    _Cell$named(_name) {
      var t1 = new A._Cell(_name);
      return t1.__late_helper$_value = t1;
    },
    _Cell: function _Cell(t0) {
      this.__late_helper$_name = t0;
      this.__late_helper$_value = null;
    },
    _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)
        result[i] = t1.$index(list, i);
      return result;
    },
    NativeByteData_NativeByteData$view(buffer, offsetInBytes, $length) {
      A._checkViewArguments(buffer, offsetInBytes, $length);
      return $length == null ? new DataView(buffer, offsetInBytes) : new DataView(buffer, offsetInBytes, $length);
    },
    NativeFloat32List_NativeFloat32List($length) {
      return new Float32Array($length);
    },
    NativeFloat32List_NativeFloat32List$fromList(elements) {
      return new Float32Array(A._ensureNativeList(elements));
    },
    NativeFloat32List_NativeFloat32List$view(buffer, offsetInBytes, $length) {
      A._checkViewArguments(buffer, offsetInBytes, $length);
      if ($length == null)
        $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4);
      return new Float32Array(buffer, offsetInBytes, $length);
    },
    NativeFloat64List_NativeFloat64List($length) {
      return new Float64Array($length);
    },
    NativeFloat64List_NativeFloat64List$view(buffer, offsetInBytes, $length) {
      A._checkViewArguments(buffer, offsetInBytes, $length);
      if ($length == null)
        $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 8);
      return new Float64Array(buffer, offsetInBytes, $length);
    },
    NativeInt16List_NativeInt16List$view(buffer, offsetInBytes, $length) {
      A._checkViewArguments(buffer, offsetInBytes, $length);
      $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 2);
      return new Int16Array(buffer, offsetInBytes, $length);
    },
    NativeInt32List_NativeInt32List($length) {
      return new Int32Array($length);
    },
    NativeInt32List_NativeInt32List$view(buffer, offsetInBytes, $length) {
      A._checkViewArguments(buffer, offsetInBytes, $length);
      if ($length == null)
        $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4);
      return new Int32Array(buffer, offsetInBytes, $length);
    },
    NativeInt8List_NativeInt8List($length) {
      return new Int8Array($length);
    },
    NativeInt8List_NativeInt8List$view(buffer, offsetInBytes, $length) {
      var t1;
      A._checkViewArguments(buffer, offsetInBytes, $length);
      t1 = new Int8Array(buffer, offsetInBytes);
      return t1;
    },
    NativeInt8List__create1(arg) {
      return new Int8Array(arg);
    },
    NativeUint16List_NativeUint16List($length) {
      return new Uint16Array($length);
    },
    NativeUint16List_NativeUint16List$fromList(list) {
      return new Uint16Array(A._ensureNativeList(list));
    },
    NativeUint32List_NativeUint32List($length) {
      return new Uint32Array($length);
    },
    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);
    },
    NativeFloat32x4$_doubles(x, y, z, w) {
      var t2, t3, t4,
        t1 = $.$get$NativeFloat32x4__list();
      t1[0] = x;
      t2 = t1[0];
      t1[0] = y;
      t3 = t1[0];
      t1[0] = z;
      t4 = t1[0];
      t1[0] = w;
      return new A.NativeFloat32x4(t2, t3, t4, t1[0]);
    },
    _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))
        if (end == null)
          t1 = start > $length;
        else
          t1 = end >>> 0 !== end || start > end || end > $length;
      else
        t1 = true;
      if (t1)
        throw A.wrapException(A.diagnoseRangeError(start, end, $length));
      if (end == null)
        return $length;
      return end;
    },
    NativeByteBuffer: function NativeByteBuffer() {
    },
    NativeFloat32x4List: function NativeFloat32x4List(t0) {
      this.__native_typed_data$_storage = t0;
    },
    NativeInt32x4List: function NativeInt32x4List(t0) {
      this.__native_typed_data$_storage = t0;
    },
    NativeFloat64x2List: function NativeFloat64x2List(t0) {
      this.__native_typed_data$_storage = t0;
    },
    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() {
    },
    NativeFloat32x4: function NativeFloat32x4(t0, t1, t2, t3) {
      var _ = this;
      _.x = t0;
      _.y = t1;
      _.z = t2;
      _.w = t3;
    },
    NativeInt32x4: function NativeInt32x4(t0, t1, t2, t3) {
      var _ = this;
      _.x = t0;
      _.y = t1;
      _.z = t2;
      _.w = t3;
    },
    NativeFloat64x2: function NativeFloat64x2(t0, t1) {
      this.x = t0;
      this.y = t1;
    },
    _NativeFloat32x4List_Object_ListMixin: function _NativeFloat32x4List_Object_ListMixin() {
    },
    _NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin: function _NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin() {
    },
    _NativeFloat64x2List_Object_ListMixin: function _NativeFloat64x2List_Object_ListMixin() {
    },
    _NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin: function _NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin() {
    },
    _NativeInt32x4List_Object_ListMixin: function _NativeInt32x4List_Object_ListMixin() {
    },
    _NativeInt32x4List_Object_ListMixin_FixedLengthListMixin: function _NativeInt32x4List_Object_ListMixin_FixedLengthListMixin() {
    },
    _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 = rti._precomputed1;
      return question == null ? rti._precomputed1 = A._Universe__lookupQuestionRti(universe, rti._primary, true) : question;
    },
    Rti__getFutureFromFutureOr(universe, rti) {
      var future = rti._precomputed1;
      return future == null ? rti._precomputed1 = A._Universe__lookupInterfaceRti(universe, "Future", [rti._primary]) : future;
    },
    Rti__isUnionOfFunctionType(rti) {
      var kind = rti._kind;
      if (kind === 6 || kind === 7 || kind === 8)
        return A.Rti__isUnionOfFunctionType(rti._primary);
      return kind === 11 || kind === 12;
    },
    Rti__getCanonicalRecipe(rti) {
      return rti._canonicalRecipe;
    },
    findType(recipe) {
      return A._Universe_eval(init.typeUniverse, recipe, false);
    },
    instantiatedGenericFunctionType(genericFunctionRti, instantiationRti) {
      var t1, cache, key, probe, rti;
      if (genericFunctionRti == null)
        return null;
      t1 = instantiationRti._rest;
      cache = genericFunctionRti._bindCache;
      if (cache == null)
        cache = genericFunctionRti._bindCache = new Map();
      key = instantiationRti._canonicalRecipe;
      probe = cache.get(key);
      if (probe != null)
        return probe;
      rti = A._substitute(init.typeUniverse, genericFunctionRti._primary, t1, 0);
      cache.set(key, rti);
      return rti;
    },
    _substitute(universe, rti, typeArguments, depth) {
      var baseType, substitutedBaseType, interfaceTypeArguments, substitutedInterfaceTypeArguments, base, substitutedBase, $arguments, substitutedArguments, returnType, substitutedReturnType, functionParameters, substitutedFunctionParameters, bounds, substitutedBounds, index, argument,
        kind = rti._kind;
      switch (kind) {
        case 5:
        case 1:
        case 2:
        case 3:
        case 4:
          return rti;
        case 6:
          baseType = rti._primary;
          substitutedBaseType = 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 = rti._rest;
          substitutedInterfaceTypeArguments = A._substituteArray(universe, interfaceTypeArguments, typeArguments, depth);
          if (substitutedInterfaceTypeArguments === interfaceTypeArguments)
            return rti;
          return A._Universe__lookupInterfaceRti(universe, rti._primary, substitutedInterfaceTypeArguments);
        case 10:
          base = rti._primary;
          substitutedBase = A._substitute(universe, base, typeArguments, depth);
          $arguments = rti._rest;
          substitutedArguments = A._substituteArray(universe, $arguments, typeArguments, depth);
          if (substitutedBase === base && substitutedArguments === $arguments)
            return rti;
          return A._Universe__lookupBindingRti(universe, substitutedBase, substitutedArguments);
        case 11:
          returnType = rti._primary;
          substitutedReturnType = A._substitute(universe, returnType, typeArguments, depth);
          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 12:
          bounds = rti._rest;
          depth += bounds.length;
          substitutedBounds = A._substituteArray(universe, bounds, typeArguments, depth);
          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 13:
          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 changed, i, t1, t2, rti, substitutedRti,
        $length = namedArray.length,
        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) {
      target[init.arrayRti] = rti;
      return target;
    },
    closureFunctionType(closure) {
      var signature = closure.$signature;
      if (signature != null) {
        if (typeof signature == "number")
          return A.getTypeFromTypesTable(signature);
        return closure.$signature();
      }
      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) {
      var rti;
      if (object instanceof A.Object) {
        rti = object.$ti;
        return rti != null ? rti : A._instanceTypeFromConstructor(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;
    },
    getRuntimeType(object) {
      var rti = object instanceof A.Closure ? A.closureFunctionType(object) : null;
      return A.createRuntimeType(rti == null ? A.instanceType(object) : rti);
    },
    createRuntimeType(rti) {
      var recipe, starErasedRecipe, starErasedRti,
        type = rti._cachedRuntimeType;
      if (type != null)
        return type;
      recipe = rti._canonicalRecipe;
      starErasedRecipe = recipe.replace(/\*/g, "");
      if (starErasedRecipe === recipe)
        return rti._cachedRuntimeType = new A._Type(rti);
      starErasedRti = A._Universe_eval(init.typeUniverse, starErasedRecipe, true);
      type = starErasedRti._cachedRuntimeType;
      return rti._cachedRuntimeType = type == null ? starErasedRti._cachedRuntimeType = new A._Type(starErasedRti) : type;
    },
    typeLiteral(recipe) {
      return A.createRuntimeType(A._Universe_eval(init.typeUniverse, recipe, false));
    },
    _installSpecializedIsTest(object) {
      var t1, unstarred, isFn, $name, 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;
      unstarred = t1 === 6 ? testRti._primary : testRti;
      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 (unstarred._kind === 9) {
        $name = unstarred._primary;
        if (unstarred._rest.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 === 7)
        return A._finishIsFn(testRti, object, A._generalNullableIsTestImplementation);
      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)
              t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull;
            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) {
      if (object == null)
        return true;
      return this._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.instanceOrFunctionType(object, testRti), A._rtiToString(testRti, null))));
    },
    _Error_compose(object, objectRti, checkedTypeDescription) {
      var objectDescription = A.Error_safeToString(object);
      return objectDescription + ": type '" + A._rtiToString(objectRti == null ? A.instanceType(object) : objectRti, 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, null, type));
    },
    _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;
    },
    _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;
    },
    _functionRtiToString(functionType, genericContext, bounds) {
      var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, boundRti, kind, t3, 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)
          genericContext.push("T" + (offset + i));
        for (t1 = type$.nullable_Object, t2 = type$.legacy_Object, typeParametersText = "<", typeSep = "", i = 0; i < boundsLength; ++i, typeSep = _s2_) {
          typeParametersText = B.JSString_methods.$add(typeParametersText + typeSep, genericContext[genericContext.length - 1 - i]);
          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;
      }
      t1 = functionType._primary;
      parameters = functionType._rest;
      requiredPositional = parameters._requiredPositional;
      requiredPositionalLength = requiredPositional.length;
      optionalPositional = parameters._optionalPositional;
      optionalPositionalLength = optionalPositional.length;
      named = parameters._named;
      namedLength = named.length;
      returnTypeText = 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, t1,
        kind = rti._kind;
      if (kind === 5)
        return "erased";
      if (kind === 2)
        return "dynamic";
      if (kind === 3)
        return "void";
      if (kind === 1)
        return "Never";
      if (kind === 4)
        return "any";
      if (kind === 6) {
        s = A._rtiToString(rti._primary, genericContext);
        return s;
      }
      if (kind === 7) {
        questionArgument = rti._primary;
        s = A._rtiToString(questionArgument, genericContext);
        argumentKind = questionArgument._kind;
        return (argumentKind === 11 || argumentKind === 12 ? "(" + s + ")" : s) + "?";
      }
      if (kind === 8)
        return "FutureOr<" + A._rtiToString(rti._primary, genericContext) + ">";
      if (kind === 9) {
        $name = A._unminifyOrTag(rti._primary);
        $arguments = rti._rest;
        return $arguments.length > 0 ? $name + ("<" + A._rtiArrayToString($arguments, genericContext) + ">") : $name;
      }
      if (kind === 11)
        return A._functionRtiToString(rti, genericContext, null);
      if (kind === 12)
        return A._functionRtiToString(rti._primary, genericContext, rti._rest);
      if (kind === 13) {
        t1 = rti._primary;
        return genericContext[genericContext.length - 1 - 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 argumentsRecipe, probe, rti,
        cache = environment._bindCache;
      if (cache == null)
        cache = environment._bindCache = new Map();
      argumentsRecipe = argumentsRti._canonicalRecipe;
      probe = cache.get(argumentsRecipe);
      if (probe != null)
        return probe;
      rti = A._Universe__lookupBindingRti(universe, environment, argumentsRti._kind === 10 ? argumentsRti._rest : [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 t1,
        key = baseType._canonicalRecipe + "*",
        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 t1,
        key = baseType._canonicalRecipe + "?",
        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)
              t1 = baseKind === 8 && A.isNullable(baseType._primary);
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
        if (t1)
          return baseType;
        else if (baseKind === 1 || baseType === type$.legacy_Never)
          return type$.Null;
        else if (baseKind === 6) {
          starArgument = baseType._primary;
          if (starArgument._kind === 8 && A.isNullable(starArgument._primary))
            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 t1,
        key = baseType._canonicalRecipe + "/",
        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 = 13;
      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,
        $length = $arguments.length;
      for (s = "", sep = "", i = 0; i < $length; ++i, sep = ",")
        s += sep + $arguments[i]._canonicalRecipe;
      return s;
    },
    _Universe__canonicalRecipeJoinNamed($arguments) {
      var s, sep, i, t1, nameSep,
        $length = $arguments.length;
      for (s = "", sep = "", i = 0; i < $length; i += 3, sep = ",") {
        t1 = $arguments[i];
        nameSep = $arguments[i + 1] ? "!" : ":";
        s += sep + t1 + nameSep + $arguments[i + 2]._canonicalRecipe;
      }
      return s;
    },
    _Universe__lookupInterfaceRti(universe, $name, $arguments) {
      var probe, rti, t1,
        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, key, probe, rti, t1;
      if (base._kind === 10) {
        newBase = base._primary;
        newArguments = base._rest.concat($arguments);
      } else {
        newArguments = $arguments;
        newBase = base;
      }
      key = newBase._canonicalRecipe + (";<" + 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__lookupFunctionRti(universe, returnType, parameters) {
      var sep, key, probe, rti, t1,
        s = returnType._canonicalRecipe,
        requiredPositional = parameters._requiredPositional,
        requiredPositionalLength = requiredPositional.length,
        optionalPositional = parameters._optionalPositional,
        optionalPositionalLength = optionalPositional.length,
        named = parameters._named,
        namedLength = named.length,
        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 = 11;
      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 t1,
        key = baseFunctionType._canonicalRecipe + ("<" + 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 = 12;
      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, array, head, base, parameters, optionalPositional, named, 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)
          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:
              t1.push(A._Universe__lookupGenericFunctionParameterRti(parser.u, t1.pop()));
              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:
              t3 = parser.u;
              array = t1.splice(parser.p);
              A._Parser_toTypes(parser.u, parser.e, array);
              parser.p = t1.pop();
              head = t1.pop();
              if (typeof head == "string")
                t1.push(A._Universe__lookupInterfaceRti(t3, head, array));
              else {
                base = A._Parser_toType(t3, parser.e, head);
                switch (base._kind) {
                  case 11:
                    t1.push(A._Universe__lookupGenericFunctionRti(t3, base, array, parser.n));
                    break;
                  default:
                    t1.push(A._Universe__lookupBindingRti(t3, base, array));
                    break;
                }
              }
              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(parser.p);
              parser.p = t1.length;
              break;
            case 41:
              t3 = parser.u;
              parameters = new A._FunctionParameters();
              optionalPositional = t3.sEA;
              named = t3.sEA;
              head = t1.pop();
              if (typeof head == "number")
                switch (head) {
                  case -1:
                    optionalPositional = t1.pop();
                    break;
                  case -2:
                    named = t1.pop();
                    break;
                  default:
                    t1.push(head);
                    break;
                }
              else
                t1.push(head);
              array = t1.splice(parser.p);
              A._Parser_toTypes(parser.u, parser.e, array);
              parser.p = t1.pop();
              parameters._requiredPositional = array;
              parameters._optionalPositional = optionalPositional;
              parameters._named = named;
              t1.push(A._Universe__lookupFunctionRti(t3, A._Parser_toType(t3, parser.e, t1.pop()), parameters));
              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;
            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, recipe,
        i = start + 1;
      for (t1 = source.length; i < t1; ++i) {
        ch = source.charCodeAt(i);
        if (ch === 46) {
          if (hasPeriod)
            break;
          hasPeriod = true;
        } else {
          if (!((((ch | 32) >>> 0) - 97 & 65535) < 26 || ch === 95 || ch === 36))
            t2 = ch >= 48 && ch <= 57;
          else
            t2 = true;
          if (!t2)
            break;
        }
      }
      string = source.substring(start, i);
      if (hasPeriod) {
        t1 = parser.u;
        environment = parser.e;
        if (environment._kind === 10)
          environment = environment._primary;
        recipe = A._Universe_findRule(t1, environment._primary)[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_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_toType(universe, environment, item) {
      if (typeof item == "string")
        return A._Universe__lookupInterfaceRti(universe, item, universe.sEA);
      else if (typeof item == "number")
        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;
      for (i = 2; i < $length; i += 3)
        items[i] = A._Parser_toType(universe, environment, items[i]);
    },
    _Parser_indexToType(universe, environment, index) {
      var typeArguments, len,
        kind = environment._kind;
      if (kind === 10) {
        if (index === 0)
          return environment._primary;
        typeArguments = environment._rest;
        len = typeArguments.length;
        if (index <= len)
          return typeArguments[index - 1];
        index -= len;
        environment = environment._primary;
        kind = environment._kind;
      } else if (index === 0)
        return environment;
      if (kind !== 9)
        throw A.wrapException(A.AssertionError$("Indexed base must be an interface type"));
      typeArguments = environment._rest;
      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, 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;
      if (s._kind !== 1)
        t1 = false;
      else
        t1 = true;
      if (t1)
        return true;
      leftTypeVariable = sKind === 13;
      if (leftTypeVariable)
        if (A._isSubtype(universe, sEnv[s._primary], sEnv, t, tEnv))
          return true;
      tKind = t._kind;
      t1 = s === type$.Null || s === type$.JSNull;
      if (t1) {
        if (tKind === 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)
          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
        if (sKind === 6)
          return A._isSubtype(universe, s._primary, sEnv, t, tEnv);
        return sKind !== 7;
      }
      if (sKind === 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) {
        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);
        return t1 && A._isSubtype(universe, s._primary, sEnv, t, tEnv);
      }
      if (tKind === 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);
        return t1 || A._isSubtype(universe, s, sEnv, t._primary, tEnv);
      }
      if (leftTypeVariable)
        return false;
      t1 = sKind !== 11;
      if ((!t1 || sKind === 12) && t === type$.Function)
        return true;
      if (tKind === 12) {
        if (s === type$.JavaScriptFunction)
          return true;
        if (sKind !== 12)
          return false;
        sBounds = s._rest;
        tBounds = t._rest;
        sLength = sBounds.length;
        if (sLength !== tBounds.length)
          return false;
        sEnv = sEnv == null ? sBounds : sBounds.concat(sEnv);
        tEnv = tEnv == null ? tBounds : tBounds.concat(tEnv);
        for (i = 0; i < sLength; ++i) {
          sBound = sBounds[i];
          tBound = tBounds[i];
          if (!A._isSubtype(universe, sBound, sEnv, tBound, tEnv) || !A._isSubtype(universe, tBound, tEnv, sBound, sEnv))
            return false;
        }
        return A._isFunctionSubtype(universe, s._primary, sEnv, t._primary, tEnv);
      }
      if (tKind === 11) {
        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);
      }
      return false;
    },
    _isFunctionSubtype(universe, s, sEnv, t, tEnv) {
      var sParameters, tParameters, sRequiredPositional, tRequiredPositional, sRequiredPositionalLength, tRequiredPositionalLength, requiredPositionalDelta, sOptionalPositional, tOptionalPositional, sOptionalPositionalLength, tOptionalPositionalLength, i, t1, sNamed, tNamed, sNamedLength, tNamedLength, sIndex, tIndex, tName, sName, sIsRequired;
      if (!A._isSubtype(universe, s._primary, sEnv, t._primary, tEnv))
        return false;
      sParameters = s._rest;
      tParameters = t._rest;
      sRequiredPositional = sParameters._requiredPositional;
      tRequiredPositional = tParameters._requiredPositional;
      sRequiredPositionalLength = sRequiredPositional.length;
      tRequiredPositionalLength = tRequiredPositional.length;
      if (sRequiredPositionalLength > tRequiredPositionalLength)
        return false;
      requiredPositionalDelta = tRequiredPositionalLength - sRequiredPositionalLength;
      sOptionalPositional = sParameters._optionalPositional;
      tOptionalPositional = tParameters._optionalPositional;
      sOptionalPositionalLength = sOptionalPositional.length;
      tOptionalPositionalLength = tOptionalPositional.length;
      if (sRequiredPositionalLength + sOptionalPositionalLength < tRequiredPositionalLength + tOptionalPositionalLength)
        return false;
      for (i = 0; i < sRequiredPositionalLength; ++i) {
        t1 = sRequiredPositional[i];
        if (!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 rule, recipes, $length, supertypeArgs, i, t1, t2,
        sName = s._primary,
        tName = t._primary;
      for (; sName !== tName;) {
        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]);
        return A._areArgumentsSubtypes(universe, supertypeArgs, null, sEnv, t._rest, tEnv);
      }
      t1 = s._rest;
      t2 = t._rest;
      return A._areArgumentsSubtypes(universe, t1, null, sEnv, t2, tEnv);
    },
    _areArgumentsSubtypes(universe, sArgs, sVariances, sEnv, tArgs, tEnv) {
      var i, t1, t2,
        $length = sArgs.length;
      for (i = 0; i < $length; ++i) {
        t1 = sArgs[i];
        t2 = tArgs[i];
        if (!A._isSubtype(universe, t1, sEnv, t2, 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.isNullable(t._primary)))
              t1 = kind === 8 && A.isNullable(t._primary);
            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(callback), 0));
    },
    _AsyncRun__scheduleImmediateWithSetImmediate(callback) {
      self.setImmediate(A.convertDartClosureToJS(new A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback(callback), 0));
    },
    _AsyncRun__scheduleImmediateWithTimer(callback) {
      A.Timer__createTimer(B.Duration_0, callback);
    },
    Timer__createTimer(duration, callback) {
      var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000);
      return A._TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback);
    },
    Timer__createPeriodicTimer(duration, callback) {
      var milliseconds = B.JSInt_methods._tdivFast$1(duration._duration, 1000);
      return A._TimerImpl$periodic(milliseconds < 0 ? 0 : milliseconds, callback);
    },
    _TimerImpl$(milliseconds, callback) {
      var t1 = new A._TimerImpl(true);
      t1._TimerImpl$2(milliseconds, callback);
      return t1;
    },
    _TimerImpl$periodic(milliseconds, callback) {
      var t1 = new A._TimerImpl(false);
      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);
    },
    _asyncStarHelper(object, bodyFunctionOrErrorCode, controller) {
      var t1, t2, t3, stream;
      if (bodyFunctionOrErrorCode === 0) {
        t1 = controller.cancelationFuture;
        if (t1 != null)
          t1._completeWithValue$1(null);
        else {
          t1 = controller.___AsyncStarStreamController_controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.close$0(0);
        }
        return;
      } else if (bodyFunctionOrErrorCode === 1) {
        t1 = controller.cancelationFuture;
        if (t1 != null)
          t1._completeError$2(A.unwrapException(object), A.getTraceFromException(object));
        else {
          t1 = A.unwrapException(object);
          t2 = A.getTraceFromException(object);
          t3 = controller.___AsyncStarStreamController_controller;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3.addError$2(t1, t2);
          t2 = controller.___AsyncStarStreamController_controller;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.close$0(0);
        }
        return;
      }
      if (object instanceof A._IterationMarker) {
        if (controller.cancelationFuture != null) {
          bodyFunctionOrErrorCode.call$2(2, null);
          return;
        }
        t1 = object.state;
        if (t1 === 0) {
          t1 = object.value;
          t2 = controller.___AsyncStarStreamController_controller;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.add$1(0, t1);
          A.scheduleMicrotask(new A._asyncStarHelper_closure(controller, bodyFunctionOrErrorCode));
          return;
        } else if (t1 === 1) {
          stream = object.value;
          t1 = controller.___AsyncStarStreamController_controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.addStream$2$cancelOnError(0, stream, false).then$1$1(new A._asyncStarHelper_closure0(controller, bodyFunctionOrErrorCode), type$.Null);
          return;
        }
      }
      A._awaitOnObject(object, bodyFunctionOrErrorCode);
    },
    _streamOfController(controller) {
      var t1 = controller.___AsyncStarStreamController_controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>"));
    },
    _AsyncStarStreamController$(body, $T) {
      var t1 = new A._AsyncStarStreamController($T._eval$1("_AsyncStarStreamController<0>"));
      t1._AsyncStarStreamController$1(body, $T);
      return t1;
    },
    _makeAsyncStarStreamController(body, $T) {
      return A._AsyncStarStreamController$(body, $T);
    },
    _IterationMarker_yieldStar(values) {
      return new A._IterationMarker(values, 1);
    },
    _IterationMarker_endOfIteration() {
      return B._IterationMarker_null_2;
    },
    _IterationMarker_yieldSingle(value) {
      return new A._IterationMarker(value, 0);
    },
    _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.Duration_0, new A.Future_Future_closure(result, computation));
      return result;
    },
    Future_Future$microtask(computation, $T) {
      var result = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      A.scheduleMicrotask(new A.Future_Future$microtask_closure(result, computation));
      return result;
    },
    Future_Future$sync(computation, $T) {
      var result, error, stackTrace, future, replacement, t1, 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>"));
          t1._state = 8;
          t1._resultOrListeners = result;
          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, t2;
      if (value == null) {
        $T._as(value);
        t1 = value;
      } else
        t1 = 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, computation, $T) {
      var t1, result;
      if (computation == null)
        t1 = !$T._is(null);
      else
        t1 = false;
      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(computation, 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<List<0>>"));
      _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 || eagerError)
          return A.Future_Future$error(e, st, $T._eval$1("List<0>"));
        else {
          error.__late_helper$_value = e;
          stackTrace.__late_helper$_value = st;
        }
      }
      return _future;
    },
    Future_any(futures, $T) {
      var t1, _i,
        completer = new A._SyncCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_SyncCompleter<0>")),
        onValue = new A.Future_any_onValue(completer, $T),
        onError = new A.Future_any_onError(completer);
      for (t1 = type$.void, _i = 0; _i < 2; ++_i)
        futures[_i].then$1$2$onError(onValue, onError, t1);
      return completer.future;
    },
    Future_forEach(elements, action) {
      return A.Future_doWhile(new A.Future_forEach_closure(new J.ArrayIterator(elements, elements.length, A._arrayInstanceType(elements)._eval$1("ArrayIterator<1>")), action));
    },
    Future__kTrue(_) {
      return true;
    },
    Future_doWhile(action) {
      var t1 = $.Zone__current,
        doneSignal = new A._Future(t1, type$._Future_void),
        nextIteration = A._Cell$named("nextIteration");
      nextIteration.__late_helper$_value = t1.bindUnaryCallbackGuarded$1$1(new A.Future_doWhile_closure(action, doneSignal, nextIteration), type$.bool);
      nextIteration._readLocal$0().call$1(true);
      return doneSignal;
    },
    FutureExtensions_ignore(_this, $T) {
      if ($T._eval$1("_Future<0>")._is(_this))
        _this._state |= 1;
      else
        _this.then$1$2$onError(A.async__FutureExtensions__ignore$closure(), A.async__FutureExtensions__ignore$closure(), type$.void);
    },
    FutureExtensions__ignore(_, __) {
    },
    Completer_Completer($T) {
      return new A._AsyncCompleter(new A._Future($.Zone__current, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncCompleter<0>"));
    },
    _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, listeners;
      for (; t1 = source._state, (t1 & 4) !== 0;)
        source = source._resultOrListeners;
      if ((t1 & 24) !== 0) {
        listeners = target._removeListeners$0();
        target._cloneResult$1(source);
        A._Future__propagateToListeners(target, listeners);
      } else {
        listeners = target._resultOrListeners;
        target._state = target._state & 1 | 4;
        target._resultOrListeners = source;
        source._prependListeners$1(listeners);
      }
    },
    _Future__propagateToListeners(source, listeners) {
      var t2, _box_0, t3, t4, hasError, nextListener, nextListener0, sourceResult, t5, zone, oldZone, result, current, _box_1 = {},
        t1 = _box_1.source = source;
      for (t2 = type$.Future_dynamic; true;) {
        _box_0 = {};
        t3 = t1._state;
        t4 = (t3 & 16) === 0;
        hasError = !t4;
        if (listeners == null) {
          if (hasError && (t3 & 1) === 0) {
            t2 = t1._resultOrListeners;
            t1._zone.handleUncaughtError$2(t2.error, t2.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;
        }
        t3 = _box_1.source;
        sourceResult = t3._resultOrListeners;
        _box_0.listenerHasError = hasError;
        _box_0.listenerValueOrError = sourceResult;
        if (t4) {
          t5 = t1.state;
          t5 = (t5 & 1) !== 0 || (t5 & 15) === 8;
        } else
          t5 = true;
        if (t5) {
          zone = t1.result._zone;
          if (hasError) {
            t1 = t3._zone;
            t1 = !(t1 === zone || t1.get$errorZone() === zone.get$errorZone());
          } else
            t1 = false;
          if (t1) {
            t1 = _box_1.source;
            t2 = t1._resultOrListeners;
            t1._zone.handleUncaughtError$2(t2.error, t2.stackTrace);
            return;
          }
          oldZone = $.Zone__current;
          if (oldZone !== zone)
            $.Zone__current = zone;
          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 (t4) {
            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 (t2._is(t1)) {
            t3 = _box_0.listener.$ti;
            t3 = t3._eval$1("Future<2>")._is(t1) || !t3._rest[1]._is(t1);
          } else
            t3 = false;
          if (t3) {
            result = _box_0.listener.result;
            if (t1 instanceof A._Future)
              if ((t1._state & 24) !== 0) {
                current = result._resultOrListeners;
                result._resultOrListeners = null;
                listeners = result._reverseListeners$1(current);
                result._state = t1._state & 30 | result._state & 1;
                result._resultOrListeners = t1._resultOrListeners;
                _box_1.source = t1;
                continue;
              } else
                A._Future__chainCoreFuture(t1, result);
            else
              result._chainForeignFuture$1(t1);
            return;
          }
        }
        result = _box_0.listener.result;
        current = result._resultOrListeners;
        result._resultOrListeners = null;
        listeners = result._reverseListeners$1(current);
        t1 = _box_0.listenerHasError;
        t3 = _box_0.listenerValueOrError;
        if (!t1) {
          result._state = 8;
          result._resultOrListeners = t3;
        } else {
          result._state = result._state & 1 | 16;
          result._resultOrListeners = t3;
        }
        _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));
    },
    Stream_Stream$value(value, $T) {
      var _null = null,
        t1 = $T._eval$1("_AsyncStreamController<0>"),
        t2 = new A._AsyncStreamController(_null, _null, _null, _null, t1);
      t2._async$_add$1(0, value);
      t2._closeUnchecked$0();
      return new A._ControllerStream(t2, t1._eval$1("_ControllerStream<1>"));
    },
    StreamIterator_StreamIterator(stream, $T) {
      A.checkNotNullable(stream, "stream", type$.Object);
      return new A._StreamIterator($T._eval$1("_StreamIterator<0>"));
    },
    StreamController_StreamController(onCancel, onListen, onResume, sync, $T) {
      return sync ? new A._SyncStreamController(onListen, null, onResume, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, null, onResume, onCancel, $T._eval$1("_AsyncStreamController<0>"));
    },
    StreamController_StreamController$broadcast(sync, $T) {
      var _null = null;
      return sync ? new A._SyncBroadcastStreamController(_null, _null, $T._eval$1("_SyncBroadcastStreamController<0>")) : new A._AsyncBroadcastStreamController(_null, _null, $T._eval$1("_AsyncBroadcastStreamController<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>"));
    },
    _AddStreamState$(controller, source, cancelOnError, $T) {
      var t1 = $.Zone__current,
        t2 = controller.get$_async$_add(controller),
        t3 = controller.get$_addError();
      return new A._AddStreamState(new A._Future(t1, type$._Future_dynamic), source.listen$4$cancelOnError$onDone$onError(t2, false, controller.get$_close(), t3), $T._eval$1("_AddStreamState<0>"));
    },
    _AddStreamState_makeErrorHandler(controller) {
      return new A._AddStreamState_makeErrorHandler_closure(controller);
    },
    _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$(string$.handle, 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) {
      $.Zone__current.handleUncaughtError$2(error, stackTrace);
    },
    _nullDoneHandler() {
    },
    _DoneStreamSubscription$(_onDone, $T) {
      var t1 = new A._DoneStreamSubscription($.Zone__current, _onDone, $T._eval$1("_DoneStreamSubscription<0>"));
      t1._schedule$0();
      return t1;
    },
    _AsBroadcastStream$(_source, onListenHandler, onCancelHandler, $T) {
      var t1 = new A._AsBroadcastStream(_source, null, null, $.Zone__current, $T._eval$1("_AsBroadcastStream<0>"));
      t1._controller = new A._AsBroadcastStreamController(t1.get$_onListen(), t1.get$_onCancel(), $T._eval$1("_AsBroadcastStreamController<0>"));
      return t1;
    },
    _runUserCode(userCode, onSuccess, onError) {
      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);
    },
    _addErrorWithReplacement(sink, error, stackTrace) {
      var replacement = $.Zone__current.errorCallback$2(error, stackTrace);
      if (replacement != null) {
        error = replacement.error;
        stackTrace = replacement.stackTrace;
      }
      sink._addError$2(error, stackTrace);
    },
    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));
    },
    Timer_Timer$periodic(duration, callback) {
      var boundCallback,
        t1 = $.Zone__current;
      if (t1 === B.C__RootZone)
        return t1.createPeriodicTimer$2(duration, callback);
      boundCallback = t1.bindUnaryCallbackGuarded$1$1(callback, type$.Timer);
      return $.Zone__current.createPeriodicTimer$2(duration, boundCallback);
    },
    ZoneSpecification_ZoneSpecification$from(other, handleUncaughtError) {
      var t1 = handleUncaughtError == null ? other.handleUncaughtError : handleUncaughtError;
      return new A._ZoneSpecification(t1, other.run, other.runUnary, other.runBinary, other.registerCallback, other.registerUnaryCallback, other.registerBinaryCallback, other.errorCallback, other.scheduleMicrotask, other.createTimer, other.createPeriodicTimer, other.print, other.fork);
    },
    _rootHandleUncaughtError($self, $parent, zone, error, stackTrace) {
      A._rootHandleError(error, stackTrace);
    },
    _rootHandleError(error, stackTrace) {
      A._schedulePriorityAsyncCallback(new A._rootHandleError_closure(error, stackTrace));
    },
    _rootRun($self, $parent, zone, f) {
      var old,
        t1 = $.Zone__current;
      if (t1 === zone)
        return f.call$0();
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$0();
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRunUnary($self, $parent, zone, f, arg) {
      var old,
        t1 = $.Zone__current;
      if (t1 === zone)
        return f.call$1(arg);
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$1(arg);
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRunBinary($self, $parent, zone, f, arg1, arg2) {
      var old,
        t1 = $.Zone__current;
      if (t1 === zone)
        return f.call$2(arg1, arg2);
      $.Zone__current = zone;
      old = t1;
      try {
        t1 = f.call$2(arg1, arg2);
        return t1;
      } finally {
        $.Zone__current = old;
      }
    },
    _rootRegisterCallback($self, $parent, zone, f) {
      return f;
    },
    _rootRegisterUnaryCallback($self, $parent, zone, f) {
      return f;
    },
    _rootRegisterBinaryCallback($self, $parent, zone, f) {
      return f;
    },
    _rootErrorCallback($self, $parent, zone, error, stackTrace) {
      return null;
    },
    _rootScheduleMicrotask($self, $parent, zone, f) {
      var t1, t2;
      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) {
      return A.Timer__createTimer(duration, B.C__RootZone !== zone ? zone.bindCallback$1$1(callback, type$.void) : callback);
    },
    _rootCreatePeriodicTimer($self, $parent, zone, duration, callback) {
      return A.Timer__createPeriodicTimer(duration, B.C__RootZone !== zone ? zone.bindUnaryCallback$2$1(callback, type$.void, type$.Timer) : callback);
    },
    _rootPrint($self, $parent, zone, line) {
      A.printString(line);
    },
    _printToZone(line) {
      $.Zone__current.print$1(0, line);
    },
    _rootFork($self, $parent, zone, specification, zoneValues) {
      var valueMap, t1, handleUncaughtError;
      $.printToZone = A.async___printToZone$closure();
      valueMap = zone.get$_async$_map();
      valueMap = valueMap;
      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._handleUncaughtError = new A._ZoneFunction(t1, handleUncaughtError, type$._ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace);
      return t1;
    },
    runZonedGuarded(body, onError, $R) {
      var error, stackTrace, parentZone, errorHandler, t1, exception, _null = null, zoneSpecification = null, zoneValues = null;
      A.checkNotNullable(body, "body", $R._eval$1("0()"));
      A.checkNotNullable(onError, "onError", type$.void_Function_Object_StackTrace);
      parentZone = $.Zone__current;
      errorHandler = new A.runZonedGuarded_closure(parentZone, onError);
      if (zoneSpecification == null)
        zoneSpecification = new A._ZoneSpecification(errorHandler, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      else
        zoneSpecification = A.ZoneSpecification_ZoneSpecification$from(zoneSpecification, errorHandler);
      try {
        t1 = parentZone.fork$2$specification$zoneValues(zoneSpecification, zoneValues).run$1$1(body, $R);
        return t1;
      } catch (exception) {
        error = A.unwrapException(exception);
        stackTrace = A.getTraceFromException(exception);
        onError.call$2(error, stackTrace);
      }
      return _null;
    },
    _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(t0) {
      this._once = t0;
      this._handle = null;
      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;
    },
    _asyncStarHelper_closure: function _asyncStarHelper_closure(t0, t1) {
      this.controller = t0;
      this.bodyFunction = t1;
    },
    _asyncStarHelper_closure0: function _asyncStarHelper_closure0(t0, t1) {
      this.controller = t0;
      this.bodyFunction = t1;
    },
    _AsyncStarStreamController: function _AsyncStarStreamController(t0) {
      var _ = this;
      _.___AsyncStarStreamController_controller = $;
      _.isSuspended = false;
      _.cancelationFuture = null;
      _.$ti = t0;
    },
    _AsyncStarStreamController__resumeBody: function _AsyncStarStreamController__resumeBody(t0) {
      this.body = t0;
    },
    _AsyncStarStreamController__resumeBody_closure: function _AsyncStarStreamController__resumeBody_closure(t0) {
      this.body = t0;
    },
    _AsyncStarStreamController_closure0: function _AsyncStarStreamController_closure0(t0) {
      this._resumeBody = t0;
    },
    _AsyncStarStreamController_closure1: function _AsyncStarStreamController_closure1(t0, t1) {
      this.$this = t0;
      this._resumeBody = t1;
    },
    _AsyncStarStreamController_closure: function _AsyncStarStreamController_closure(t0, t1) {
      this.$this = t0;
      this.body = t1;
    },
    _AsyncStarStreamController__closure: function _AsyncStarStreamController__closure(t0) {
      this.body = 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;
      _._async$_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;
    },
    _AsyncBroadcastStreamController: function _AsyncBroadcastStreamController(t0, t1, t2) {
      var _ = this;
      _.onListen = t0;
      _.onCancel = t1;
      _._state = 0;
      _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null;
      _.$ti = t2;
    },
    _AsBroadcastStreamController: function _AsBroadcastStreamController(t0, t1, t2) {
      var _ = this;
      _._pending = null;
      _.onListen = t0;
      _.onCancel = t1;
      _._state = 0;
      _._doneFuture = _._addStreamState = _._lastSubscription = _._firstSubscription = null;
      _.$ti = t2;
    },
    Future_Future_closure: function Future_Future_closure(t0, t1) {
      this.result = t0;
      this.computation = t1;
    },
    Future_Future$microtask_closure: function Future_Future$microtask_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;
    },
    Future_any_onValue: function Future_any_onValue(t0, t1) {
      this.completer = t0;
      this.T = t1;
    },
    Future_any_onError: function Future_any_onError(t0) {
      this.completer = t0;
    },
    Future_forEach_closure: function Future_forEach_closure(t0, t1) {
      this.iterator = t0;
      this.action = t1;
    },
    Future_doWhile_closure: function Future_doWhile_closure(t0, t1, t2) {
      this.action = t0;
      this.doneSignal = t1;
      this.nextIteration = t2;
    },
    TimeoutException: function TimeoutException(t0, t1) {
      this.message = t0;
      this.duration = t1;
    },
    _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;
    },
    _Future_timeout_closure: function _Future_timeout_closure(t0, t1) {
      this._future = t0;
      this.timeLimit = t1;
    },
    _Future_timeout_closure0: function _Future_timeout_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _._future = t1;
      _.zone = t2;
      _.onTimeoutHandler = t3;
    },
    _Future_timeout_closure1: function _Future_timeout_closure1(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this._future = t2;
    },
    _Future_timeout_closure2: function _Future_timeout_closure2(t0, t1) {
      this._box_0 = t0;
      this._future = t1;
    },
    _AsyncCallbackEntry: function _AsyncCallbackEntry(t0) {
      this.callback = t0;
      this.next = null;
    },
    Stream: function Stream() {
    },
    Stream_handleError_closure: function Stream_handleError_closure(t0) {
      this.onError = t0;
    },
    Stream_pipe_closure: function Stream_pipe_closure(t0) {
      this.streamConsumer = t0;
    },
    Stream_contains_closure: function Stream_contains_closure(t0) {
      this.future = t0;
    },
    Stream_contains_closure0: function Stream_contains_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.needle = t1;
      _.subscription = t2;
      _.future = t3;
    },
    Stream_contains__closure: function Stream_contains__closure(t0, t1) {
      this.element = t0;
      this.needle = t1;
    },
    Stream_contains__closure0: function Stream_contains__closure0(t0, t1) {
      this.subscription = t0;
      this.future = t1;
    },
    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_toList_closure: function Stream_toList_closure(t0, t1) {
      this.$this = t0;
      this.result = t1;
    },
    Stream_toList_closure0: function Stream_toList_closure0(t0, t1) {
      this.future = t0;
      this.result = t1;
    },
    Stream_first_closure: function Stream_first_closure(t0) {
      this.future = t0;
    },
    Stream_first_closure0: function Stream_first_closure0(t0, t1, t2) {
      this.$this = t0;
      this.subscription = t1;
      this.future = t2;
    },
    StreamSubscription: function StreamSubscription() {
    },
    StreamView: function StreamView(t0, t1) {
      this._async$_stream = t0;
      this.$ti = t1;
    },
    StreamTransformerBase: function StreamTransformerBase() {
    },
    _StreamController: function _StreamController() {
    },
    _StreamController__subscribe_closure: function _StreamController__subscribe_closure(t0) {
      this.$this = t0;
    },
    _StreamController__recordCancel_complete: function _StreamController__recordCancel_complete(t0) {
      this.$this = t0;
    },
    _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;
      _._async$_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: function _AddStreamState(t0, t1, t2) {
      this.addStreamFuture = t0;
      this.addSubscription = t1;
      this.$ti = t2;
    },
    _AddStreamState_makeErrorHandler_closure: function _AddStreamState_makeErrorHandler_closure(t0) {
      this.controller = t0;
    },
    _AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) {
      this.$this = t0;
    },
    _StreamControllerAddStreamState: function _StreamControllerAddStreamState(t0, t1, t2, t3) {
      var _ = this;
      _.varData = t0;
      _.addStreamFuture = t1;
      _.addSubscription = t2;
      _.$ti = t3;
    },
    _BufferingStreamSubscription: function _BufferingStreamSubscription() {
    },
    _BufferingStreamSubscription_asFuture_closure: function _BufferingStreamSubscription_asFuture_closure(t0, t1) {
      this._box_0 = t0;
      this.result = t1;
    },
    _BufferingStreamSubscription_asFuture_closure0: function _BufferingStreamSubscription_asFuture_closure0(t0, t1) {
      this.$this = t0;
      this.result = t1;
    },
    _BufferingStreamSubscription_asFuture__closure: function _BufferingStreamSubscription_asFuture__closure(t0, t1, t2) {
      this.result = t0;
      this.error = t1;
      this.stackTrace = t2;
    },
    _BufferingStreamSubscription__sendError_sendError: function _BufferingStreamSubscription__sendError_sendError(t0, t1, t2) {
      this.$this = t0;
      this.error = t1;
      this.stackTrace = t2;
    },
    _BufferingStreamSubscription__sendDone_sendDone: function _BufferingStreamSubscription__sendDone_sendDone(t0) {
      this.$this = t0;
    },
    _StreamImpl: function _StreamImpl() {
    },
    _DelayedEvent: function _DelayedEvent() {
    },
    _DelayedData: function _DelayedData(t0, t1) {
      this.value = t0;
      this.next = null;
      this.$ti = t1;
    },
    _DelayedError: function _DelayedError(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
      this.next = null;
    },
    _DelayedDone: function _DelayedDone() {
    },
    _PendingEvents: function _PendingEvents() {
    },
    _PendingEvents_schedule_closure: function _PendingEvents_schedule_closure(t0, t1) {
      this.$this = t0;
      this.dispatch = t1;
    },
    _StreamImplEvents: function _StreamImplEvents(t0) {
      var _ = this;
      _.lastPendingEvent = _.firstPendingEvent = null;
      _._state = 0;
      _.$ti = t0;
    },
    _DoneStreamSubscription: function _DoneStreamSubscription(t0, t1, t2) {
      var _ = this;
      _._zone = t0;
      _._state = 0;
      _._onDone = t1;
      _.$ti = t2;
    },
    _DoneStreamSubscription_asFuture_closure: function _DoneStreamSubscription_asFuture_closure(t0, t1) {
      this._box_0 = t0;
      this.result = t1;
    },
    _AsBroadcastStream: function _AsBroadcastStream(t0, t1, t2, t3, t4) {
      var _ = this;
      _._async$_source = t0;
      _._onListenHandler = t1;
      _._onCancelHandler = t2;
      _._zone = t3;
      _._subscription = _._controller = null;
      _.$ti = t4;
    },
    _BroadcastSubscriptionWrapper: function _BroadcastSubscriptionWrapper(t0, t1) {
      this._async$_stream = t0;
      this.$ti = t1;
    },
    _StreamIterator: function _StreamIterator(t0) {
      this.$ti = t0;
    },
    _EmptyStream: function _EmptyStream(t0) {
      this.$ti = t0;
    },
    _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;
      _._async$_stream = t0;
      _._subscription = null;
      _._async$_onData = t1;
      _._onError = t2;
      _._onDone = t3;
      _._zone = t4;
      _._state = t5;
      _._pending = _._cancelFuture = null;
      _.$ti = t6;
    },
    _WhereStream: function _WhereStream(t0, t1, t2) {
      this._test = t0;
      this._async$_source = t1;
      this.$ti = t2;
    },
    _MapStream: function _MapStream(t0, t1, t2) {
      this._async$_transform = t0;
      this._async$_source = t1;
      this.$ti = t2;
    },
    _HandleErrorStream: function _HandleErrorStream(t0, t1, t2, t3) {
      var _ = this;
      _._onError = t0;
      _._test = t1;
      _._async$_source = t2;
      _.$ti = t3;
    },
    _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;
    },
    _CustomZone_bindBinaryCallbackGuarded_closure: function _CustomZone_bindBinaryCallbackGuarded_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.registered = t1;
      _.T1 = t2;
      _.T2 = t3;
    },
    _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;
    },
    _RootZone_bindBinaryCallbackGuarded_closure: function _RootZone_bindBinaryCallbackGuarded_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.f = t1;
      _.T1 = t2;
      _.T2 = t3;
    },
    runZonedGuarded_closure: function runZonedGuarded_closure(t0, t1) {
      this.parentZone = t0;
      this.onError = t1;
    },
    HashMap_HashMap(equals, hashCode, isValidKey, $K, $V) {
      if (isValidKey == null)
        if (hashCode == null) {
          if (equals == null)
            return new A._HashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_HashMap<1,2>"));
          hashCode = A.collection___defaultHashCode$closure();
        } else {
          if (A.core__identityHashCode$closure() === hashCode && A.core__identical$closure() === equals)
            return new A._IdentityHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_IdentityHashMap<1,2>"));
          if (equals == null)
            equals = A.collection___defaultEquals$closure();
        }
      else {
        if (hashCode == null)
          hashCode = A.collection___defaultHashCode$closure();
        if (equals == null)
          equals = A.collection___defaultEquals$closure();
      }
      return A._CustomHashMap$(equals, hashCode, isValidKey, $K, $V);
    },
    _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, "<non-identifier-key>", table);
      delete table["<non-identifier-key>"];
      return table;
    },
    _CustomHashMap$(_equals, _hashCode, validKey, $K, $V) {
      var t1 = validKey != null ? validKey : new A._CustomHashMap_closure($K);
      return new A._CustomHashMap(_equals, _hashCode, t1, $K._eval$1("@<0>")._bind$1($V)._eval$1("_CustomHashMap<1,2>"));
    },
    LinkedHashMap_LinkedHashMap(equals, hashCode, isValidKey, $K, $V) {
      if (isValidKey == null)
        if (hashCode == null) {
          if (equals == null)
            return new A.JsLinkedHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("JsLinkedHashMap<1,2>"));
          hashCode = A.collection___defaultHashCode$closure();
        } else {
          if (A.core__identityHashCode$closure() === hashCode && A.core__identical$closure() === equals)
            return new A._LinkedIdentityHashMap($K._eval$1("@<0>")._bind$1($V)._eval$1("_LinkedIdentityHashMap<1,2>"));
          if (equals == null)
            equals = A.collection___defaultEquals$closure();
        }
      else {
        if (hashCode == null)
          hashCode = A.collection___defaultHashCode$closure();
        if (equals == null)
          equals = A.collection___defaultEquals$closure();
      }
      return A._LinkedCustomHashMap$(equals, hashCode, isValidKey, $K, $V);
    },
    LinkedHashMap_LinkedHashMap$_literal(keyValuePairs, $K, $V) {
      return 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>"));
    },
    _HashSet__newHashTable() {
      var table = Object.create(null);
      table["<non-identifier-key>"] = table;
      delete table["<non-identifier-key>"];
      return table;
    },
    LinkedHashSet_LinkedHashSet($E) {
      return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
    },
    LinkedHashSet_LinkedHashSet$_empty($E) {
      return new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>"));
    },
    LinkedHashSet_LinkedHashSet$_literal(values, $E) {
      return A.fillLiteralSet(values, new A._LinkedHashSet($E._eval$1("_LinkedHashSet<0>")));
    },
    _LinkedHashSet__newHashTable() {
      var table = Object.create(null);
      table["<non-identifier-key>"] = table;
      delete table["<non-identifier-key>"];
      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);
    },
    IterableBase_iterableToShortString(iterable, leftDelimiter, rightDelimiter) {
      var parts, t1;
      if (A._isToStringVisiting(iterable)) {
        if (leftDelimiter === "(" && rightDelimiter === ")")
          return "(...)";
        return leftDelimiter + "..." + rightDelimiter;
      }
      parts = A._setArrayType([], type$.JSArray_String);
      $._toStringVisiting.push(iterable);
      try {
        A._iterablePartsToStrings(iterable, parts);
      } finally {
        $._toStringVisiting.pop();
      }
      t1 = A.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    IterableBase_iterableToFullString(iterable, leftDelimiter, rightDelimiter) {
      var buffer, t1;
      if (A._isToStringVisiting(iterable))
        return leftDelimiter + "..." + rightDelimiter;
      buffer = new A.StringBuffer(leftDelimiter);
      $._toStringVisiting.push(iterable);
      try {
        t1 = buffer;
        t1._contents = A.StringBuffer__writeAll(t1._contents, iterable, ", ");
      } finally {
        $._toStringVisiting.pop();
      }
      buffer._contents += rightDelimiter;
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _isToStringVisiting(o) {
      var t1, i;
      for (t1 = $._toStringVisiting.length, i = 0; i < t1; ++i)
        if (o === $._toStringVisiting[i])
          return true;
      return false;
    },
    _iterablePartsToStrings(iterable, parts) {
      var next, ultimateString, penultimateString, penultimate, ultimate, ultimate0, elision,
        it = J.get$iterator$ax(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));
        parts.push(next);
        $length += next.length + 2;
        ++count;
      }
      if (!it.moveNext$0()) {
        if (count <= 5)
          return;
        ultimateString = parts.pop();
        penultimateString = parts.pop();
      } else {
        penultimate = it.get$current(it);
        ++count;
        if (!it.moveNext$0()) {
          if (count <= 4) {
            parts.push(A.S(penultimate));
            return;
          }
          ultimateString = A.S(penultimate);
          penultimateString = parts.pop();
          $length += ultimateString.length + 2;
        } else {
          ultimate = it.get$current(it);
          ++count;
          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;
                $length -= parts.pop().length + 2;
                --count;
              }
              parts.push("...");
              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;
        $length -= parts.pop().length + 2;
        if (elision == null) {
          $length += 5;
          elision = "...";
        }
      }
      if (elision != null)
        parts.push(elision);
      parts.push(penultimateString);
      parts.push(ultimateString);
    },
    LinkedHashMap_LinkedHashMap$from(other, $K, $V) {
      var result = A.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
      J.forEach$1$ax(other, new A.LinkedHashMap_LinkedHashMap$from_closure(result, $K, $V));
      return result;
    },
    LinkedHashMap_LinkedHashMap$of(other, $K, $V) {
      var t1 = A.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
      t1.addAll$1(0, other);
      return t1;
    },
    LinkedHashMap_LinkedHashMap$fromIterable(iterable, key, value, $K, $V) {
      var map = A.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V);
      A.MapBase__fillMapWithMappedIterable(map, iterable, key, value);
      return map;
    },
    LinkedHashSet_LinkedHashSet$from(elements, $E) {
      var t1,
        result = A.LinkedHashSet_LinkedHashSet($E);
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        result.add$1(0, $E._as(t1.get$current(t1)));
      return result;
    },
    LinkedHashSet_LinkedHashSet$of(elements, $E) {
      var t1 = A.LinkedHashSet_LinkedHashSet($E);
      t1.addAll$1(0, elements);
      return t1;
    },
    _LinkedListIterator$(list, $E) {
      return new A._LinkedListIterator(list, list._modificationCount, list._collection$_first, $E._eval$1("_LinkedListIterator<0>"));
    },
    ListMixin__compareAny(a, b) {
      var t1 = type$.Comparable_dynamic;
      return J.compareTo$1$ns(t1._as(a), t1._as(b));
    },
    MapBase_mapToString(m) {
      var result, t1 = {};
      if (A._isToStringVisiting(m))
        return "{...}";
      result = new A.StringBuffer("");
      try {
        $._toStringVisiting.push(m);
        result._contents += "{";
        t1.first = true;
        J.forEach$1$ax(m, new A.MapBase_mapToString_closure(t1, result));
        result._contents += "}";
      } finally {
        $._toStringVisiting.pop();
      }
      t1 = result._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    MapBase__fillMapWithMappedIterable(map, iterable, key, value) {
      var t1, element;
      for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0();) {
        element = t1.get$current(t1);
        map.$indexSet(0, key.call$1(element), value.call$1(element));
      }
    },
    MapBase__fillMapWithIterables(map, keys, values) {
      var keyIterator, t2, valueIterator, hasNextKey, hasNextValue,
        t1 = A._instanceType(keys);
      t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]);
      keyIterator = new A.MappedIterator(J.get$iterator$ax(keys.__internal$_iterable), keys._f, t1._eval$1("MappedIterator<1,2>"));
      t2 = values._map;
      valueIterator = A.LinkedHashMapKeyIterator$(t2, t2._modifications, values.$ti._precomputed1);
      hasNextKey = keyIterator.moveNext$0();
      hasNextValue = valueIterator.moveNext$0();
      t1 = t1._rest[1];
      while (true) {
        if (!(hasNextKey && hasNextValue))
          break;
        t2 = keyIterator.__internal$_current;
        if (t2 == null)
          t2 = t1._as(t2);
        map.$indexSet(0, t2, valueIterator.__js_helper$_current);
        hasNextKey = keyIterator.moveNext$0();
        hasNextValue = valueIterator.moveNext$0();
      }
      if (hasNextKey || hasNextValue)
        throw A.wrapException(A.ArgumentError$("Iterables do not have same length.", null));
    },
    DoubleLinkedQueue$($E) {
      var t1 = new A._DoubleLinkedQueueSentinel($E._eval$1("_DoubleLinkedQueueSentinel<0>"));
      t1._previousLink = t1;
      t1._nextLink = t1;
      return new A.DoubleLinkedQueue(t1, $E._eval$1("DoubleLinkedQueue<0>"));
    },
    ListQueue$(initialCapacity, $E) {
      return new A.ListQueue(A.List_List$filled(A.ListQueue__calculateCapacity(initialCapacity), null, false, $E._eval$1("0?")), $E._eval$1("ListQueue<0>"));
    },
    ListQueue__calculateCapacity(initialCapacity) {
      if (initialCapacity == null || initialCapacity < 8)
        return 8;
      else if ((initialCapacity & initialCapacity - 1) >>> 0 !== 0)
        return A.ListQueue__nextPowerOf2(initialCapacity);
      return initialCapacity;
    },
    ListQueue__nextPowerOf2(number) {
      var nextNumber;
      number = (number << 1 >>> 0) - 1;
      for (; true; number = nextNumber) {
        nextNumber = (number & number - 1) >>> 0;
        if (nextNumber === 0)
          return number;
      }
    },
    _UnmodifiableSetMixin__throwUnmodifiable() {
      throw A.wrapException(A.UnsupportedError$("Cannot change an unmodifiable set"));
    },
    _dynamicCompare(a, b) {
      return J.compareTo$1$ns(a, b);
    },
    _defaultCompare($K) {
      if ($K._eval$1("int(0,0)")._is(A.core_Comparable_compare$closure()))
        return A.core_Comparable_compare$closure();
      return A.collection___dynamicCompare$closure();
    },
    SplayTreeMap$(compare, $K, $V) {
      var t1 = compare == null ? A._defaultCompare($K) : compare;
      return new A.SplayTreeMap(t1, new A.SplayTreeMap_closure($K), $K._eval$1("@<0>")._bind$1($V)._eval$1("SplayTreeMap<1,2>"));
    },
    SplayTreeSet$(compare, isValidKey, $E) {
      var t1 = compare == null ? A._defaultCompare($E) : compare,
        t2 = isValidKey == null ? new A.SplayTreeSet_closure($E) : isValidKey;
      return new A.SplayTreeSet(t1, t2, $E._eval$1("SplayTreeSet<0>"));
    },
    _HashMap: function _HashMap(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
      _.$ti = t0;
    },
    _HashMap_values_closure: function _HashMap_values_closure(t0) {
      this.$this = t0;
    },
    _HashMap_addAll_closure: function _HashMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _IdentityHashMap: function _IdentityHashMap(t0) {
      var _ = this;
      _._collection$_length = 0;
      _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
      _.$ti = t0;
    },
    _CustomHashMap: function _CustomHashMap(t0, t1, t2, t3) {
      var _ = this;
      _._equals = t0;
      _._hashCode = t1;
      _._validKey = t2;
      _._collection$_length = 0;
      _._collection$_keys = _._collection$_rest = _._collection$_nums = _._collection$_strings = null;
      _.$ti = t3;
    },
    _CustomHashMap_closure: function _CustomHashMap_closure(t0) {
      this.K = t0;
    },
    _HashMapKeyIterable: function _HashMapKeyIterable(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    _HashMapKeyIterator: function _HashMapKeyIterator(t0, t1, t2) {
      var _ = this;
      _._collection$_map = t0;
      _._collection$_keys = t1;
      _._offset = 0;
      _._collection$_current = null;
      _.$ti = t2;
    },
    _LinkedIdentityHashMap: function _LinkedIdentityHashMap(t0) {
      var _ = this;
      _._length = 0;
      _._last = _._first = _.__js_helper$_rest = _._nums = _._strings = null;
      _._modifications = 0;
      _.$ti = t0;
    },
    _LinkedCustomHashMap: function _LinkedCustomHashMap(t0, t1, t2, t3) {
      var _ = this;
      _._equals = t0;
      _._hashCode = t1;
      _._validKey = t2;
      _._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;
    },
    UnmodifiableListView: function UnmodifiableListView(t0, t1) {
      this._collection$_source = t0;
      this.$ti = t1;
    },
    IterableMixin: function IterableMixin() {
    },
    IterableBase: function IterableBase() {
    },
    LinkedHashMap_LinkedHashMap$from_closure: function LinkedHashMap_LinkedHashMap$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;
      _._collection$_list = t0;
      _._modificationCount = t1;
      _._collection$_current = null;
      _._collection$_next = t2;
      _._visitedFirst = false;
      _.$ti = t3;
    },
    LinkedListEntry: function LinkedListEntry() {
    },
    ListBase: function ListBase() {
    },
    ListMixin: function ListMixin() {
    },
    MapBase: function MapBase() {
    },
    MapBase_mapToString_closure: function MapBase_mapToString_closure(t0, t1) {
      this._box_0 = t0;
      this.result = t1;
    },
    MapMixin: function MapMixin() {
    },
    MapMixin_addAll_closure: function MapMixin_addAll_closure(t0) {
      this.$this = t0;
    },
    MapMixin_entries_closure: function MapMixin_entries_closure(t0) {
      this.$this = t0;
    },
    UnmodifiableMapBase: function UnmodifiableMapBase() {
    },
    _MapBaseValueIterable: function _MapBaseValueIterable(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    _MapBaseValueIterator: function _MapBaseValueIterator(t0, t1, t2) {
      var _ = this;
      _._collection$_keys = t0;
      _._collection$_map = t1;
      _._collection$_current = null;
      _.$ti = t2;
    },
    _UnmodifiableMapMixin: function _UnmodifiableMapMixin() {
    },
    MapView: function MapView() {
    },
    UnmodifiableMapView: function UnmodifiableMapView(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    _DoubleLinkedQueueEntry: function _DoubleLinkedQueueEntry() {
    },
    _DoubleLinkedQueueElement: function _DoubleLinkedQueueElement(t0, t1, t2) {
      var _ = this;
      _._collection$_queue = t0;
      _.element = t1;
      _._nextLink = _._previousLink = null;
      _.$ti = t2;
    },
    _DoubleLinkedQueueSentinel: function _DoubleLinkedQueueSentinel(t0) {
      this._nextLink = this._previousLink = null;
      this.$ti = t0;
    },
    DoubleLinkedQueue: function DoubleLinkedQueue(t0, t1) {
      this._sentinel = t0;
      this._elementCount = 0;
      this.$ti = t1;
    },
    _DoubleLinkedQueueIterator: function _DoubleLinkedQueueIterator(t0, t1, t2) {
      var _ = this;
      _._collection$_queue = t0;
      _._nextEntry = t1;
      _._collection$_current = null;
      _.$ti = t2;
    },
    ListQueue: function ListQueue(t0, t1) {
      var _ = this;
      _._table = t0;
      _._modificationCount = _._tail = _._head = 0;
      _.$ti = t1;
    },
    _ListQueueIterator: function _ListQueueIterator(t0, t1, t2, t3, t4) {
      var _ = this;
      _._collection$_queue = t0;
      _._end = t1;
      _._modificationCount = t2;
      _._collection$_position = t3;
      _._collection$_current = null;
      _.$ti = t4;
    },
    SetMixin: function SetMixin() {
    },
    _SetBase: function _SetBase() {
    },
    _UnmodifiableSetMixin: function _UnmodifiableSetMixin() {
    },
    _UnmodifiableSet: function _UnmodifiableSet(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    _SplayTreeNode: function _SplayTreeNode() {
    },
    _SplayTreeSetNode: function _SplayTreeSetNode(t0, t1) {
      var _ = this;
      _.key = t0;
      _._collection$_right = _._collection$_left = null;
      _.$ti = t1;
    },
    _SplayTreeMapNode: function _SplayTreeMapNode(t0, t1, t2) {
      var _ = this;
      _.value = t0;
      _.key = t1;
      _._collection$_right = _._collection$_left = null;
      _.$ti = t2;
    },
    _SplayTree: function _SplayTree() {
    },
    SplayTreeMap: function SplayTreeMap(t0, t1, t2) {
      var _ = this;
      _._collection$_root = null;
      _._compare = t0;
      _._validKey = t1;
      _._splayCount = _._modificationCount = _._count = 0;
      _.$ti = t2;
    },
    SplayTreeMap_closure: function SplayTreeMap_closure(t0) {
      this.K = t0;
    },
    SplayTreeMap_addAll_closure: function SplayTreeMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _SplayTreeIterator: function _SplayTreeIterator() {
    },
    _SplayTreeKeyIterable: function _SplayTreeKeyIterable(t0, t1) {
      this._tree = t0;
      this.$ti = t1;
    },
    _SplayTreeValueIterable: function _SplayTreeValueIterable(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    _SplayTreeMapEntryIterable: function _SplayTreeMapEntryIterable(t0, t1) {
      this._collection$_map = t0;
      this.$ti = t1;
    },
    _SplayTreeKeyIterator: function _SplayTreeKeyIterator(t0, t1, t2, t3) {
      var _ = this;
      _._tree = t0;
      _._collection$_path = t1;
      _._modificationCount = null;
      _._splayCount = t2;
      _.$ti = t3;
    },
    _SplayTreeValueIterator: function _SplayTreeValueIterator(t0, t1, t2, t3) {
      var _ = this;
      _._tree = t0;
      _._collection$_path = t1;
      _._modificationCount = null;
      _._splayCount = t2;
      _.$ti = t3;
    },
    _SplayTreeMapEntryIterator: function _SplayTreeMapEntryIterator(t0, t1, t2, t3) {
      var _ = this;
      _._tree = t0;
      _._collection$_path = t1;
      _._modificationCount = null;
      _._splayCount = t2;
      _.$ti = t3;
    },
    SplayTreeSet: function SplayTreeSet(t0, t1, t2) {
      var _ = this;
      _._collection$_root = null;
      _._compare = t0;
      _._validKey = t1;
      _._splayCount = _._modificationCount = _._count = 0;
      _.$ti = t2;
    },
    SplayTreeSet_closure: function SplayTreeSet_closure(t0) {
      this.E = t0;
    },
    SplayTreeSet__newSet_closure: function SplayTreeSet__newSet_closure(t0, t1) {
      this.$this = t0;
      this.T = t1;
    },
    SplayTreeSet__copyNode_copyChildren: function SplayTreeSet__copyNode_copyChildren(t0, t1) {
      this.$this = t0;
      this.Node = t1;
    },
    _ListBase_Object_ListMixin: function _ListBase_Object_ListMixin() {
    },
    _SplayTreeMap__SplayTree_MapMixin: function _SplayTreeMap__SplayTree_MapMixin() {
    },
    _SplayTreeSet__SplayTree_IterableMixin: function _SplayTreeSet__SplayTree_IterableMixin() {
    },
    _SplayTreeSet__SplayTree_IterableMixin_SetMixin: function _SplayTreeSet__SplayTree_IterableMixin_SetMixin() {
    },
    _UnmodifiableMapView_MapView__UnmodifiableMapMixin: function _UnmodifiableMapView_MapView__UnmodifiableMapMixin() {
    },
    __SetBase_Object_SetMixin: function __SetBase_Object_SetMixin() {
    },
    __UnmodifiableSet__SetBase__UnmodifiableSetMixin: function __UnmodifiableSet__SetBase__UnmodifiableSetMixin() {
    },
    _parseJson(source, reviver) {
      var e, exception, t1, parsed = null;
      try {
        parsed = JSON.parse(source);
      } catch (exception) {
        e = A.unwrapException(exception);
        t1 = A.FormatException$(String(e), null, null);
        throw A.wrapException(t1);
      }
      t1 = A._convertJsonToDartLazy(parsed);
      return t1;
    },
    _convertJsonToDartLazy(object) {
      var i;
      if (object == null)
        return null;
      if (typeof object != "object")
        return object;
      if (Object.getPrototypeOf(object) !== Array.prototype)
        return new A._JsonMap(object, Object.create(null));
      for (i = 0; i < object.length; ++i)
        object[i] = A._convertJsonToDartLazy(object[i]);
      return object;
    },
    Utf8Decoder__convertIntercepted(allowMalformed, codeUnits, start, end) {
      var casted, result;
      if (codeUnits instanceof Uint8Array) {
        casted = codeUnits;
        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, null, null)));
    },
    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));
    },
    _Base64Encoder_encodeChunk(alphabet, bytes, start, end, isLast, output, outputIndex, state) {
      var t1, i, byteOr, byte, outputIndex0, outputIndex1,
        bits = state >>> 2,
        expectedChars = 3 - (state & 3);
      for (t1 = J.getInterceptor$asx(bytes), i = start, byteOr = 0; i < end; ++i) {
        byte = t1.$index(bytes, i);
        byteOr = (byteOr | byte) >>> 0;
        bits = (bits << 8 | byte) & 16777215;
        --expectedChars;
        if (expectedChars === 0) {
          outputIndex0 = outputIndex + 1;
          output[outputIndex] = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 18 & 63);
          outputIndex = outputIndex0 + 1;
          output[outputIndex0] = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 12 & 63);
          outputIndex0 = outputIndex + 1;
          output[outputIndex] = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 6 & 63);
          outputIndex = outputIndex0 + 1;
          output[outputIndex0] = B.JSString_methods._codeUnitAt$1(alphabet, bits & 63);
          bits = 0;
          expectedChars = 3;
        }
      }
      if (byteOr >= 0 && byteOr <= 255) {
        if (isLast && expectedChars < 3) {
          outputIndex0 = outputIndex + 1;
          outputIndex1 = outputIndex0 + 1;
          if (3 - expectedChars === 1) {
            output[outputIndex] = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 2 & 63);
            output[outputIndex0] = B.JSString_methods._codeUnitAt$1(alphabet, bits << 4 & 63);
            output[outputIndex1] = 61;
            output[outputIndex1 + 1] = 61;
          } else {
            output[outputIndex] = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 10 & 63);
            output[outputIndex0] = B.JSString_methods._codeUnitAt$1(alphabet, bits >>> 4 & 63);
            output[outputIndex1] = B.JSString_methods._codeUnitAt$1(alphabet, bits << 2 & 63);
            output[outputIndex1 + 1] = 61;
          }
          return 0;
        }
        return (bits << 2 | 3 - expectedChars) >>> 0;
      }
      for (i = start; i < end;) {
        byte = t1.$index(bytes, i);
        if (byte < 0 || byte > 255)
          break;
        ++i;
      }
      throw A.wrapException(A.ArgumentError$value(bytes, "Not a byte value at index " + i + ": 0x" + J.toRadixString$1$n(t1.$index(bytes, i), 16), null));
    },
    _Base64Decoder_decodeChunk(input, start, end, output, outIndex, state) {
      var i, charOr, char, code, outIndex0, expectedPadding,
        _s31_ = "Invalid encoding before padding",
        _s17_ = "Invalid character",
        bits = B.JSInt_methods._shrOtherPositive$1(state, 2),
        count = state & 3,
        inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
      for (i = start, charOr = 0; i < end; ++i) {
        char = B.JSString_methods.codeUnitAt$1(input, i);
        charOr |= char;
        code = inverseAlphabet[char & 127];
        if (code >= 0) {
          bits = (bits << 6 | code) & 16777215;
          count = count + 1 & 3;
          if (count === 0) {
            outIndex0 = outIndex + 1;
            output[outIndex] = bits >>> 16 & 255;
            outIndex = outIndex0 + 1;
            output[outIndex0] = bits >>> 8 & 255;
            outIndex0 = outIndex + 1;
            output[outIndex] = bits & 255;
            outIndex = outIndex0;
            bits = 0;
          }
          continue;
        } else if (code === -1 && count > 1) {
          if (charOr > 127)
            break;
          if (count === 3) {
            if ((bits & 3) !== 0)
              throw A.wrapException(A.FormatException$(_s31_, input, i));
            output[outIndex] = bits >>> 10;
            output[outIndex + 1] = bits >>> 2;
          } else {
            if ((bits & 15) !== 0)
              throw A.wrapException(A.FormatException$(_s31_, input, i));
            output[outIndex] = bits >>> 4;
          }
          expectedPadding = (3 - count) * 3;
          if (char === 37)
            expectedPadding += 2;
          return A._Base64Decoder__checkPadding(input, i + 1, end, -expectedPadding - 1);
        }
        throw A.wrapException(A.FormatException$(_s17_, input, i));
      }
      if (charOr >= 0 && charOr <= 127)
        return (bits << 2 | count) >>> 0;
      for (i = start; i < end; ++i) {
        char = B.JSString_methods.codeUnitAt$1(input, i);
        if (char > 127)
          break;
      }
      throw A.wrapException(A.FormatException$(_s17_, input, i));
    },
    _Base64Decoder__allocateBuffer(input, start, end, state) {
      var paddingStart = A._Base64Decoder__trimPaddingChars(input, start, end),
        $length = (state & 3) + (paddingStart - start),
        bufferLength = B.JSInt_methods._shrOtherPositive$1($length, 2) * 3,
        remainderLength = $length & 3;
      if (remainderLength !== 0 && paddingStart < end)
        bufferLength += remainderLength - 1;
      if (bufferLength > 0)
        return new Uint8Array(bufferLength);
      return $.$get$_Base64Decoder__emptyBuffer();
    },
    _Base64Decoder__trimPaddingChars(input, start, end) {
      var char,
        newEnd = end,
        index = newEnd,
        padding = 0;
      while (true) {
        if (!(index > start && padding < 2))
          break;
        c$0: {
          --index;
          char = B.JSString_methods.codeUnitAt$1(input, index);
          if (char === 61) {
            ++padding;
            newEnd = index;
            break c$0;
          }
          if ((char | 32) === 100) {
            if (index === start)
              break;
            --index;
            char = B.JSString_methods.codeUnitAt$1(input, index);
          }
          if (char === 51) {
            if (index === start)
              break;
            --index;
            char = B.JSString_methods.codeUnitAt$1(input, index);
          }
          if (char === 37) {
            ++padding;
            newEnd = index;
            break c$0;
          }
          break;
        }
      }
      return newEnd;
    },
    _Base64Decoder__checkPadding(input, start, end, state) {
      var expectedPadding, char;
      if (start === end)
        return state;
      expectedPadding = -state - 1;
      for (; expectedPadding > 0;) {
        char = B.JSString_methods.codeUnitAt$1(input, start);
        if (expectedPadding === 3) {
          if (char === 61) {
            expectedPadding -= 3;
            ++start;
            break;
          }
          if (char === 37) {
            --expectedPadding;
            ++start;
            if (start === end)
              break;
            char = B.JSString_methods.codeUnitAt$1(input, start);
          } else
            break;
        }
        if ((expectedPadding > 3 ? expectedPadding - 3 : expectedPadding) === 2) {
          if (char !== 51)
            break;
          ++start;
          --expectedPadding;
          if (start === end)
            break;
          char = B.JSString_methods.codeUnitAt$1(input, start);
        }
        if ((char | 32) !== 100)
          break;
        ++start;
        --expectedPadding;
        if (start === end)
          break;
      }
      if (start !== end)
        throw A.wrapException(A.FormatException$("Invalid padding character", input, start));
      return -expectedPadding - 1;
    },
    Encoding_getByName($name) {
      return $.$get$Encoding__nameToEncoding().$index(0, $name.toLowerCase());
    },
    JsonUnsupportedObjectError$(unsupportedObject, cause, partialResult) {
      return new A.JsonUnsupportedObjectError(unsupportedObject, cause);
    },
    _defaultToEncodable(object) {
      return object.toJson$0();
    },
    _JsonStringStringifier$(_sink, _toEncodable) {
      var t1 = _toEncodable == null ? A.convert___defaultToEncodable$closure() : _toEncodable;
      return new A._JsonStringStringifier(_sink, [], t1);
    },
    _JsonStringStringifier_stringify(object, toEncodable, indent) {
      var t1,
        output = new A.StringBuffer("");
      A._JsonStringStringifier_printOn(object, output, toEncodable, indent);
      t1 = output._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _JsonStringStringifier_printOn(object, output, toEncodable, indent) {
      var stringifier, t1;
      if (indent == null)
        stringifier = A._JsonStringStringifier$(output, toEncodable);
      else {
        t1 = toEncodable == null ? A.convert___defaultToEncodable$closure() : toEncodable;
        stringifier = new A._JsonStringStringifierPretty(indent, 0, output, [], t1);
      }
      stringifier.writeObject$1(object);
    },
    LineSplitter_split($async$lines) {
      return A._makeSyncStarIterable(function() {
        var lines = $async$lines;
        var $async$goto = 0, $async$handler = 1, $async$currentError, sliceStart, char, i, char0, end;
        return function $async$LineSplitter_split($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
                end = A.RangeError_checkValidRange(0, null, lines.length, null, null);
                sliceStart = 0, char = 0, i = 0;
              case 2:
                // for condition
                if (!(i < end)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                char0 = B.JSString_methods._codeUnitAt$1(lines, i);
                if (char0 !== 13) {
                  if (char0 !== 10) {
                    // goto for update
                    $async$goto = 3;
                    break;
                  }
                  if (char === 13) {
                    sliceStart = i + 1;
                    // goto for update
                    $async$goto = 3;
                    break;
                  }
                }
                $async$goto = 5;
                return B.JSString_methods.substring$2(lines, sliceStart, i);
              case 5:
                // after yield
                sliceStart = i + 1;
              case 3:
                // for update
                ++i, char = char0;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                $async$goto = sliceStart < end ? 6 : 7;
                break;
              case 6:
                // then
                $async$goto = 8;
                return B.JSString_methods.substring$2(lines, sliceStart, end);
              case 8:
                // after yield
              case 7:
                // join
                // implicit return
                return A._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.String);
    },
    _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);
        bytes[i] = (b & 4294967040) >>> 0 !== 0 ? 255 : b;
      }
      return bytes;
    },
    _JsonMap: function _JsonMap(t0, t1) {
      this._original = t0;
      this._processed = t1;
      this._data = null;
    },
    _JsonMap_values_closure: function _JsonMap_values_closure(t0) {
      this.$this = t0;
    },
    _JsonMap_addAll_closure: function _JsonMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _JsonMapKeyIterable: function _JsonMapKeyIterable(t0) {
      this._parent = t0;
    },
    Utf8Decoder__decoder_closure: function Utf8Decoder__decoder_closure() {
    },
    Utf8Decoder__decoderNonfatal_closure: function Utf8Decoder__decoderNonfatal_closure() {
    },
    AsciiCodec: function AsciiCodec() {
    },
    _UnicodeSubsetEncoder: function _UnicodeSubsetEncoder() {
    },
    AsciiEncoder: function AsciiEncoder(t0) {
      this._subsetMask = t0;
    },
    _UnicodeSubsetDecoder: function _UnicodeSubsetDecoder() {
    },
    AsciiDecoder: function AsciiDecoder(t0, t1) {
      this._allowInvalid = t0;
      this._subsetMask = t1;
    },
    Base64Codec: function Base64Codec() {
    },
    Base64Encoder: function Base64Encoder() {
    },
    _Base64Encoder: function _Base64Encoder(t0) {
      this._convert$_state = 0;
      this._alphabet = t0;
    },
    Base64Decoder: function Base64Decoder() {
    },
    _Base64Decoder: function _Base64Decoder() {
      this._convert$_state = 0;
    },
    ByteConversionSink: function ByteConversionSink() {
    },
    ByteConversionSinkBase: function ByteConversionSinkBase() {
    },
    _ByteCallbackSink: function _ByteCallbackSink(t0, t1) {
      this._convert$_callback = t0;
      this._buffer = t1;
      this._bufferIndex = 0;
    },
    ChunkedConversionSink: function ChunkedConversionSink() {
    },
    Codec0: function Codec0() {
    },
    Converter: function Converter() {
    },
    Encoding: function Encoding() {
    },
    JsonUnsupportedObjectError: function JsonUnsupportedObjectError(t0, t1) {
      this.unsupportedObject = t0;
      this.cause = t1;
    },
    JsonCyclicError: function JsonCyclicError(t0, t1) {
      this.unsupportedObject = t0;
      this.cause = t1;
    },
    JsonCodec: function JsonCodec() {
    },
    JsonEncoder: function JsonEncoder(t0, t1) {
      this.indent = t0;
      this._toEncodable = t1;
    },
    JsonDecoder: function JsonDecoder(t0) {
      this._reviver = t0;
    },
    _JsonStringifier: function _JsonStringifier() {
    },
    _JsonStringifier_writeMap_closure: function _JsonStringifier_writeMap_closure(t0, t1) {
      this._box_0 = t0;
      this.keyValueList = t1;
    },
    _JsonPrettyPrintMixin: function _JsonPrettyPrintMixin() {
    },
    _JsonPrettyPrintMixin_writeMap_closure: function _JsonPrettyPrintMixin_writeMap_closure(t0, t1) {
      this._box_0 = t0;
      this.keyValueList = t1;
    },
    _JsonStringStringifier: function _JsonStringStringifier(t0, t1, t2) {
      this._sink = t0;
      this._seen = t1;
      this._toEncodable = t2;
    },
    _JsonStringStringifierPretty: function _JsonStringStringifierPretty(t0, t1, t2, t3, t4) {
      var _ = this;
      _._indent = t0;
      _._JsonPrettyPrintMixin__indentLevel = t1;
      _._sink = t2;
      _._seen = t3;
      _._toEncodable = t4;
    },
    Latin1Codec: function Latin1Codec() {
    },
    Latin1Encoder: function Latin1Encoder(t0) {
      this._subsetMask = t0;
    },
    Latin1Decoder: function Latin1Decoder(t0, t1) {
      this._allowInvalid = t0;
      this._subsetMask = t1;
    },
    LineSplitter: function LineSplitter() {
    },
    Utf8Codec: function Utf8Codec(t0) {
      this._allowMalformed = t0;
    },
    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;
    },
    __JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin: function __JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin() {
    },
    identityHashCode(object) {
      return A.objectHashCode(object);
    },
    Function_apply($function, positionalArguments) {
      return A.Primitives_applyFunction($function, positionalArguments, null);
    },
    Expando$($T) {
      return new A.Expando(new WeakMap(), $T._eval$1("Expando<0>"));
    },
    Expando__checkType(object) {
      var t1 = A._isBool(object) || typeof object == "number" || typeof object == "string";
      if (t1)
        throw A.wrapException(A.ArgumentError$value(object, string$.Expand, null));
    },
    int_parse(source, radix) {
      var value = A.Primitives_parseInt(source, radix);
      if (value != null)
        return value;
      throw A.wrapException(A.FormatException$(source, null, null));
    },
    double_parse(source) {
      var value = A.Primitives_parseDouble(source);
      if (value != null)
        return value;
      throw A.wrapException(A.FormatException$("Invalid double", source, null));
    },
    Error__objectToString(object) {
      if (object instanceof A.Closure)
        return object.toString$0(0);
      return "Instance of '" + A.Primitives_objectTypeName(object) + "'";
    },
    Error__throw(error, stackTrace) {
      error = A.wrapException(error);
      error.stack = stackTrace.toString$0(0);
      throw error;
      throw A.wrapException("unreachable");
    },
    DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, isUtc) {
      var t1;
      if (Math.abs(millisecondsSinceEpoch) <= 864e13)
        t1 = false;
      else
        t1 = true;
      if (t1)
        A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + millisecondsSinceEpoch, null));
      A.checkNotNullable(isUtc, "isUtc", type$.bool);
      return new A.DateTime(millisecondsSinceEpoch, isUtc);
    },
    DateTime$fromMicrosecondsSinceEpoch(microsecondsSinceEpoch) {
      var t2,
        t1 = B.JSNumber_methods.round$0(microsecondsSinceEpoch / 1000);
      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(false, "isUtc", type$.bool);
      return new A.DateTime(t1, false);
    },
    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();)
        list.push(t1.get$current(t1));
      if (growable)
        return list;
      return J.JSArray_markFixedList(list);
    },
    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));
      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();)
        list.push(t1.get$current(t1));
      return list;
    },
    List_List$generate($length, generator, growable, $E) {
      var i,
        result = growable ? J.JSArray_JSArray$growable($length, $E) : J.JSArray_JSArray$fixed($length, $E);
      for (i = 0; i < $length; ++i)
        result[i] = generator.call$1(i);
      return result;
    },
    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, _null = null;
      if (Array.isArray(charCodes)) {
        array = charCodes;
        len = array.length;
        end = A.RangeError_checkValidRange(start, end, len, _null, _null);
        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, _null, _null));
      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, multiLine) {
      return new A.JSSyntaxRegExp(source, A.JSSyntaxRegExp_makeNative(source, multiLine, caseSensitive, false, false, false));
    },
    identical(a, b) {
      return a == null ? b == null : a === b;
    },
    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$(receiver, memberName, positionalArguments, namedArguments) {
      return new A.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments);
    },
    Uri_base() {
      var uri = A.Primitives_currentUri();
      if (uri != null)
        return A.Uri_parse(uri, 0, null);
      throw A.wrapException(A.UnsupportedError$("'Uri.base' is not supported"));
    },
    _Uri__uriEncode(canonicalTable, text, encoding, spaceToPlus) {
      var t1, bytes, i, t2, byte,
        _s16_ = "0123456789ABCDEF";
      if (encoding === B.Utf8Codec_false) {
        t1 = $.$get$_Uri__needsNoEncoding()._nativeRegExp;
        t1 = t1.test(text);
      } else
        t1 = false;
      if (t1)
        return text;
      bytes = encoding.encode$1(text);
      for (t1 = J.getInterceptor$asx(bytes), i = 0, t2 = ""; i < t1.get$length(bytes); ++i) {
        byte = t1.$index(bytes, i);
        if (byte < 128 && (canonicalTable[B.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0)
          t2 += A.Primitives_stringFromCharCode(byte);
        else
          t2 = spaceToPlus && byte === 32 ? t2 + "+" : t2 + "%" + _s16_[B.JSInt_methods._shrOtherPositive$1(byte, 4) & 15] + _s16_[byte & 15];
      }
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    },
    StackTrace_current() {
      var stackTrace, exception;
      if ($.$get$_hasErrorStackProperty())
        return A.getTraceFromException(new Error());
      try {
        throw A.wrapException("");
      } catch (exception) {
        stackTrace = A.getTraceFromException(exception);
        return stackTrace;
      }
    },
    Comparable_compare(a, b) {
      return J.compareTo$1$ns(a, b);
    },
    DateTime$now() {
      return new A.DateTime(Date.now(), false);
    },
    DateTime_parse(formattedString) {
      var t1, t2, t3, years, month, day, hour, minute, second, milliAndMicroseconds, millisecond, tzSign, sign, hourDifference, isUtc, value, _null = null,
        match = $.$get$DateTime__parseFormat().firstMatch$1(formattedString);
      if (match != null) {
        t1 = new A.DateTime_parse_parseIntOrZero();
        t2 = match._match;
        t3 = t2[1];
        t3.toString;
        years = A.int_parse(t3, _null);
        t3 = t2[2];
        t3.toString;
        month = A.int_parse(t3, _null);
        t3 = t2[3];
        t3.toString;
        day = A.int_parse(t3, _null);
        hour = t1.call$1(t2[4]);
        minute = t1.call$1(t2[5]);
        second = t1.call$1(t2[6]);
        milliAndMicroseconds = new A.DateTime_parse_parseMilliAndMicroseconds().call$1(t2[7]);
        millisecond = B.JSInt_methods._tdivFast$1(milliAndMicroseconds, 1000);
        if (t2[8] != null) {
          tzSign = t2[9];
          if (tzSign != null) {
            sign = tzSign === "-" ? -1 : 1;
            t3 = t2[10];
            t3.toString;
            hourDifference = A.int_parse(t3, _null);
            minute -= sign * (t1.call$1(t2[11]) + 60 * hourDifference);
          }
          isUtc = true;
        } else
          isUtc = false;
        value = A.Primitives_valueFromDecomposedDate(years, month, day, hour, minute, second, millisecond + B.JSNumber_methods.round$0(milliAndMicroseconds % 1000 / 1000), isUtc);
        if (value == null)
          throw A.wrapException(A.FormatException$("Time out of range", formattedString, _null));
        return A.DateTime$_withValue(value, isUtc);
      } else
        throw A.wrapException(A.FormatException$("Invalid date format", formattedString, _null));
    },
    DateTime$_withValue(_value, isUtc) {
      var t1;
      if (Math.abs(_value) <= 864e13)
        t1 = false;
      else
        t1 = true;
      if (t1)
        A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + _value, null));
      A.checkNotNullable(isUtc, "isUtc", type$.bool);
      return new A.DateTime(_value, isUtc);
    },
    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;
    },
    Duration$(microseconds, milliseconds) {
      return new A.Duration(microseconds + 1000 * milliseconds);
    },
    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.Error__objectToString(object);
    },
    Error_throwWithStackTrace(error, stackTrace) {
      A.checkNotNullable(error, "error", type$.Object);
      A.checkNotNullable(stackTrace, "stackTrace", type$.StackTrace);
      A.Error__throw(error, stackTrace);
    },
    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$notNull($name) {
      return new A.ArgumentError(false, null, $name, "Must not be null");
    },
    ArgumentError_checkNotNull(argument, $name) {
      return argument;
    },
    RangeError$(message) {
      var _null = null;
      return new A.RangeError(_null, _null, false, _null, _null, message);
    },
    RangeError$value(value, $name, message) {
      return new A.RangeError(null, null, true, value, $name, message == null ? "Value not in range" : message);
    },
    RangeError$range(invalidValue, minValue, maxValue, $name, message) {
      return new A.RangeError(minValue, maxValue, true, invalidValue, $name, "Invalid value");
    },
    RangeError_checkValueInInterval(value, minValue, maxValue, $name) {
      if (value < minValue || value > maxValue)
        throw A.wrapException(A.RangeError$range(value, minValue, maxValue, $name, null));
      return value;
    },
    RangeError_checkValidIndex(index, indexable, $name, $length) {
      if ($length == null)
        $length = indexable.get$length(indexable);
      if (0 > index || index >= $length)
        throw A.wrapException(A.IndexError$(index, indexable, $name == null ? "index" : $name, null, $length));
      return index;
    },
    RangeError_checkValidRange(start, end, $length, startName, endName) {
      if (0 > start || start > $length)
        throw A.wrapException(A.RangeError$range(start, 0, $length, startName == null ? "start" : startName, null));
      if (end != null) {
        if (start > end || end > $length)
          throw A.wrapException(A.RangeError$range(end, start, $length, endName == null ? "end" : endName, 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$(invalidValue, indexable, $name, message, $length) {
      var t1 = $length == null ? J.get$length$asx(indexable) : $length;
      return new A.IndexError(t1, 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_Iterable$generate(count, generator, $E) {
      if (count <= 0)
        return new A.EmptyIterable($E._eval$1("EmptyIterable<0>"));
      return new A._GeneratorIterable(count, generator, $E._eval$1("_GeneratorIterable<0>"));
    },
    Map_castFrom(source, $K, $V, K2, V2) {
      return new A.CastMap(source, $K._eval$1("@<0>")._bind$1($V)._bind$1(K2)._bind$1(V2)._eval$1("CastMap<1,2,3,4>"));
    },
    num_parse(input) {
      var t1,
        source = B.JSString_methods.trim$0(input),
        result = A.Primitives_parseInt(source, null);
      if (result == null)
        result = A.Primitives_parseDouble(source);
      if (result != null)
        return result;
      t1 = A.FormatException$(input, null, null);
      throw A.wrapException(t1);
    },
    Object_hash(object1, object2, object3, object4, object5, object6, object7, object8, object9, object10, object11, object12, object13, object14, object15, object16, object17, object18, object19, object20) {
      var t1;
      if (B.C_SentinelValue === object3)
        return A.SystemHash_hash2(J.get$hashCode$(object1), J.get$hashCode$(object2), $.$get$_hashSeed());
      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));
      }
      if (B.C_SentinelValue === object5)
        return A.SystemHash_hash4(J.get$hashCode$(object1), J.get$hashCode$(object2), J.get$hashCode$(object3), J.get$hashCode$(object4), $.$get$_hashSeed());
      if (B.C_SentinelValue === object6) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5));
      }
      if (B.C_SentinelValue === object7) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6));
      }
      if (B.C_SentinelValue === object8) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7));
      }
      if (B.C_SentinelValue === object9) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8));
      }
      if (B.C_SentinelValue === object10) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9));
      }
      if (B.C_SentinelValue === object11) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10));
      }
      if (B.C_SentinelValue === object12) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11));
      }
      if (B.C_SentinelValue === object13) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12));
      }
      if (B.C_SentinelValue === object14) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13));
      }
      if (B.C_SentinelValue === object15) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        object14 = J.get$hashCode$(object14);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14));
      }
      if (B.C_SentinelValue === object16) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        object14 = J.get$hashCode$(object14);
        object15 = J.get$hashCode$(object15);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14), object15));
      }
      if (B.C_SentinelValue === object17) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        object14 = J.get$hashCode$(object14);
        object15 = J.get$hashCode$(object15);
        object16 = J.get$hashCode$(object16);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14), object15), object16));
      }
      if (B.C_SentinelValue === object18) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        object14 = J.get$hashCode$(object14);
        object15 = J.get$hashCode$(object15);
        object16 = J.get$hashCode$(object16);
        object17 = J.get$hashCode$(object17);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14), object15), object16), object17));
      }
      if (B.C_SentinelValue === object19) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        object14 = J.get$hashCode$(object14);
        object15 = J.get$hashCode$(object15);
        object16 = J.get$hashCode$(object16);
        object17 = J.get$hashCode$(object17);
        object18 = J.get$hashCode$(object18);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14), object15), object16), object17), object18));
      }
      if (B.C_SentinelValue === object20) {
        t1 = J.get$hashCode$(object1);
        object2 = J.get$hashCode$(object2);
        object3 = J.get$hashCode$(object3);
        object4 = J.get$hashCode$(object4);
        object5 = J.get$hashCode$(object5);
        object6 = J.get$hashCode$(object6);
        object7 = J.get$hashCode$(object7);
        object8 = J.get$hashCode$(object8);
        object9 = J.get$hashCode$(object9);
        object10 = J.get$hashCode$(object10);
        object11 = J.get$hashCode$(object11);
        object12 = J.get$hashCode$(object12);
        object13 = J.get$hashCode$(object13);
        object14 = J.get$hashCode$(object14);
        object15 = J.get$hashCode$(object15);
        object16 = J.get$hashCode$(object16);
        object17 = J.get$hashCode$(object17);
        object18 = J.get$hashCode$(object18);
        object19 = J.get$hashCode$(object19);
        return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14), object15), object16), object17), object18), object19));
      }
      t1 = J.get$hashCode$(object1);
      object2 = J.get$hashCode$(object2);
      object3 = J.get$hashCode$(object3);
      object4 = J.get$hashCode$(object4);
      object5 = J.get$hashCode$(object5);
      object6 = J.get$hashCode$(object6);
      object7 = J.get$hashCode$(object7);
      object8 = J.get$hashCode$(object8);
      object9 = J.get$hashCode$(object9);
      object10 = J.get$hashCode$(object10);
      object11 = J.get$hashCode$(object11);
      object12 = J.get$hashCode$(object12);
      object13 = J.get$hashCode$(object13);
      object14 = J.get$hashCode$(object14);
      object15 = J.get$hashCode$(object15);
      object16 = J.get$hashCode$(object16);
      object17 = J.get$hashCode$(object17);
      object18 = J.get$hashCode$(object18);
      object19 = J.get$hashCode$(object19);
      object20 = J.get$hashCode$(object20);
      return A.SystemHash_finish(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine(A.SystemHash_combine($.$get$_hashSeed(), t1), object2), object3), object4), object5), object6), object7), object8), object9), object10), object11), object12), object13), object14), object15), object16), object17), object18), object19), object20));
    },
    Object_hashAll(objects) {
      var t1,
        hash = $.$get$_hashSeed();
      for (t1 = J.get$iterator$ax(objects); t1.moveNext$0();)
        hash = A.SystemHash_combine(hash, J.get$hashCode$(t1.get$current(t1)));
      return A.SystemHash_finish(hash);
    },
    print(object) {
      var line = A.S(object),
        toZone = $.printToZone;
      if (toZone == null)
        A.printString(line);
      else
        toZone.call$1(line);
    },
    Set_castFrom(source, newSet, $S, $T) {
      return new A.CastSet(source, newSet, $S._eval$1("@<0>")._bind$1($T)._eval$1("CastSet<1,2>"));
    },
    Stopwatch$() {
      $.$get$Stopwatch__frequency();
      return new A.Stopwatch();
    },
    _combineSurrogatePair(start, end) {
      return 65536 + ((start & 1023) << 10) + (end & 1023);
    },
    Uri_Uri$dataFromString($content) {
      var t1, _null = null,
        buffer = new A.StringBuffer(""),
        indices = A._setArrayType([-1], type$.JSArray_int);
      A.UriData__writeUri(_null, _null, _null, buffer, indices);
      indices.push(buffer._contents.length);
      buffer._contents += ",";
      A.UriData__uriEncodeBytes(B.List_CVk, B.C_AsciiCodec.encode$1($content), buffer);
      t1 = buffer._contents;
      return new A.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, _null).get$uri();
    },
    Uri_parse(uri, start, end) {
      var t1, delta, indices, t2, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t3, schemeAuth, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null;
      end = uri.length;
      t1 = start + 5;
      if (end >= t1) {
        delta = ((B.JSString_methods._codeUnitAt$1(uri, start + 4) ^ 58) * 3 | B.JSString_methods._codeUnitAt$1(uri, start) ^ 100 | B.JSString_methods._codeUnitAt$1(uri, start + 1) ^ 97 | B.JSString_methods._codeUnitAt$1(uri, start + 2) ^ 116 | B.JSString_methods._codeUnitAt$1(uri, start + 3) ^ 97) >>> 0;
        if (delta === 0)
          return A.UriData__parse(start > 0 || end < end ? B.JSString_methods.substring$2(uri, start, end) : uri, 5, _null).get$uri();
        else if (delta === 32)
          return A.UriData__parse(B.JSString_methods.substring$2(uri, t1, end), 0, _null).get$uri();
      }
      indices = A.List_List$filled(8, 0, false, type$.int);
      indices[0] = 0;
      t2 = start - 1;
      indices[1] = t2;
      indices[2] = t2;
      indices[7] = t2;
      indices[3] = start;
      indices[4] = start;
      indices[5] = end;
      indices[6] = end;
      if (A._scan(uri, start, end, 0, indices) >= 14)
        indices[7] = end;
      schemeEnd = indices[1];
      if (schemeEnd >= start)
        if (A._scan(uri, start, 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;
      isSimple = indices[7] < start;
      if (isSimple)
        if (hostStart > schemeEnd + 3) {
          scheme = _null;
          isSimple = false;
        } else {
          t2 = portStart > start;
          if (t2 && portStart + 1 === pathStart) {
            scheme = _null;
            isSimple = false;
          } else {
            if (!(queryStart < end && queryStart === pathStart + 2 && B.JSString_methods.startsWith$2(uri, "..", pathStart)))
              t3 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3);
            else
              t3 = true;
            if (t3) {
              scheme = _null;
              isSimple = false;
            } else {
              if (schemeEnd === start + 4)
                if (B.JSString_methods.startsWith$2(uri, "file", start)) {
                  if (hostStart <= start) {
                    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 -= start;
                    t1 = delta - start;
                    queryStart += t1;
                    fragmentStart += t1;
                    end = uri.length;
                    start = 0;
                    hostStart = 7;
                    portStart = 7;
                    pathStart = 7;
                  } else if (pathStart === queryStart)
                    if (start === 0 && true) {
                      uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/");
                      ++queryStart;
                      ++fragmentStart;
                      ++end;
                    } else {
                      uri = B.JSString_methods.substring$2(uri, start, pathStart) + "/" + B.JSString_methods.substring$2(uri, queryStart, end);
                      schemeEnd -= start;
                      hostStart -= start;
                      portStart -= start;
                      pathStart -= start;
                      t1 = 1 - start;
                      queryStart += t1;
                      fragmentStart += t1;
                      end = uri.length;
                      start = 0;
                    }
                  scheme = "file";
                } else if (B.JSString_methods.startsWith$2(uri, "http", start)) {
                  if (t2 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1))
                    if (start === 0 && true) {
                      uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
                      pathStart -= 3;
                      queryStart -= 3;
                      fragmentStart -= 3;
                      end -= 3;
                    } else {
                      uri = B.JSString_methods.substring$2(uri, start, portStart) + B.JSString_methods.substring$2(uri, pathStart, end);
                      schemeEnd -= start;
                      hostStart -= start;
                      portStart -= start;
                      t1 = 3 + start;
                      pathStart -= t1;
                      queryStart -= t1;
                      fragmentStart -= t1;
                      end = uri.length;
                      start = 0;
                    }
                  scheme = "http";
                } else
                  scheme = _null;
              else if (schemeEnd === t1 && B.JSString_methods.startsWith$2(uri, "https", start)) {
                if (t2 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1))
                  if (start === 0 && true) {
                    uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, "");
                    pathStart -= 4;
                    queryStart -= 4;
                    fragmentStart -= 4;
                    end -= 3;
                  } else {
                    uri = B.JSString_methods.substring$2(uri, start, portStart) + B.JSString_methods.substring$2(uri, pathStart, end);
                    schemeEnd -= start;
                    hostStart -= start;
                    portStart -= start;
                    t1 = 4 + start;
                    pathStart -= t1;
                    queryStart -= t1;
                    fragmentStart -= t1;
                    end = uri.length;
                    start = 0;
                  }
                scheme = "https";
              } else
                scheme = _null;
              isSimple = true;
            }
          }
        }
      else
        scheme = _null;
      if (isSimple) {
        if (start > 0 || end < uri.length) {
          uri = B.JSString_methods.substring$2(uri, start, end);
          schemeEnd -= start;
          hostStart -= start;
          portStart -= start;
          pathStart -= start;
          queryStart -= start;
          fragmentStart -= start;
        }
        return new A._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme);
      }
      if (scheme == null)
        if (schemeEnd > start)
          scheme = A._Uri__makeScheme(uri, start, schemeEnd);
        else {
          if (schemeEnd === start)
            A._Uri__fail(uri, start, "Invalid empty scheme");
          scheme = "";
        }
      if (hostStart > start) {
        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_tryParse(uri) {
      var t1, exception, start = 0, end = null;
      try {
        t1 = A.Uri_parse(uri, start, end);
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception)))
          return null;
        else
          throw exception;
      }
    },
    Uri_decodeComponent(encodedComponent) {
      return A._Uri__uriDecode(encodedComponent, 0, encodedComponent.length, B.Utf8Codec_false, false);
    },
    Uri_splitQueryString(query) {
      var t1 = type$.String;
      return B.JSArray_methods.fold$2(A._setArrayType(query.split("&"), type$.JSArray_String), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), new A.Uri_splitQueryString_closure(B.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;
          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);
      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, _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);
            parts.push(-1);
            wildcardSeen = true;
          } else
            parts.push(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)
          parts.push(parseHex.call$2(partStart, end));
        else {
          last = A.Uri__parseIPv4Address(host, partStart, end);
          parts.push((last[0] << 8 | last[1]) >>> 0);
          parts.push((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) {
            bytes[index] = 0;
            bytes[index + 1] = 0;
            index += 2;
          }
        else {
          bytes[index] = B.JSInt_methods._shrOtherPositive$1(value, 8);
          bytes[index + 1] = 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__Uri(fragment, host, path, pathSegments, port, query, queryParameters, scheme, userInfo) {
      var isFile, t1, hasAuthority, t2;
      scheme = scheme == null ? "" : A._Uri__makeScheme(scheme, 0, scheme.length);
      userInfo = A._Uri__makeUserInfo(userInfo, 0, userInfo == null ? 0 : userInfo.length);
      host = A._Uri__makeHost(host, 0, host == null ? 0 : host.length, false);
      if (query === "")
        query = null;
      query = A._Uri__makeQuery(query, 0, query == null ? 0 : query.length, queryParameters);
      fragment = A._Uri__makeFragment(fragment, 0, fragment == null ? 0 : fragment.length);
      port = A._Uri__makePort(port, scheme);
      isFile = scheme === "file";
      if (host == null)
        t1 = userInfo.length !== 0 || port != null || isFile;
      else
        t1 = false;
      if (t1)
        host = "";
      t1 = host == null;
      hasAuthority = !t1;
      path = A._Uri__makePath(path, 0, path == null ? 0 : path.length, pathSegments, scheme, hasAuthority);
      t2 = scheme.length === 0;
      if (t2 && t1 && !B.JSString_methods.startsWith$1(path, "/"))
        path = A._Uri__normalizeRelativePath(path, !t2 || hasAuthority);
      else
        path = A._Uri__removeDotSegments(path);
      return A._Uri$_internal(scheme, userInfo, t1 && B.JSString_methods.startsWith$1(path, "//") ? "" : 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__makeHttpUri(scheme, authority, unencodedPath, queryParameters) {
      var userInfo, hostStart, i, hostEnd, escapeForZoneID, char, hostEnd0, t2, port, portString, host, _null = null,
        t1 = authority.length;
      if (t1 !== 0) {
        i = 0;
        while (true) {
          if (!(i < t1)) {
            userInfo = "";
            hostStart = 0;
            break;
          }
          if (B.JSString_methods._codeUnitAt$1(authority, i) === 64) {
            userInfo = B.JSString_methods.substring$2(authority, 0, i);
            hostStart = i + 1;
            break;
          }
          ++i;
        }
        if (hostStart < t1 && B.JSString_methods._codeUnitAt$1(authority, hostStart) === 91) {
          for (hostEnd = hostStart, escapeForZoneID = -1; hostEnd < t1; ++hostEnd) {
            char = B.JSString_methods._codeUnitAt$1(authority, hostEnd);
            if (char === 37 && escapeForZoneID < 0) {
              hostEnd0 = B.JSString_methods.startsWith$2(authority, "25", hostEnd + 1) ? hostEnd + 2 : hostEnd;
              escapeForZoneID = hostEnd;
              hostEnd = hostEnd0;
            } else if (char === 93)
              break;
          }
          if (hostEnd === t1)
            throw A.wrapException(A.FormatException$("Invalid IPv6 host entry.", authority, hostStart));
          t2 = escapeForZoneID < 0 ? hostEnd : escapeForZoneID;
          A.Uri_parseIPv6Address(authority, hostStart + 1, t2);
          ++hostEnd;
          if (hostEnd !== t1 && B.JSString_methods._codeUnitAt$1(authority, hostEnd) !== 58)
            throw A.wrapException(A.FormatException$("Invalid end of authority", authority, hostEnd));
        } else
          hostEnd = hostStart;
        while (true) {
          if (!(hostEnd < t1)) {
            port = _null;
            break;
          }
          if (B.JSString_methods._codeUnitAt$1(authority, hostEnd) === 58) {
            portString = B.JSString_methods.substring$1(authority, hostEnd + 1);
            port = portString.length !== 0 ? A.int_parse(portString, _null) : _null;
            break;
          }
          ++hostEnd;
        }
        host = B.JSString_methods.substring$2(authority, hostStart, hostEnd);
      } else {
        port = _null;
        host = port;
        userInfo = "";
      }
      return A._Uri__Uri(_null, host, _null, A._setArrayType(unencodedPath.split("/"), type$.JSArray_String), port, _null, queryParameters, scheme, userInfo);
    },
    _Uri__Uri$file(path, windows) {
      return windows ? A._Uri__makeWindowsFileUrl(path, false) : A._Uri__makeFileUri(path, false);
    },
    _Uri__checkNonWindowsPathReservedCharacters(segments, argumentError) {
      var t1, _i, segment, t2, t3;
      for (t1 = segments.length, _i = 0; _i < t1; ++_i) {
        segment = segments[_i];
        t2 = J.getInterceptor$asx(segment);
        t3 = t2.get$length(segment);
        if (0 > t3)
          A.throwExpression(A.RangeError$range(0, 0, t2.get$length(segment), null, null));
        if (A.stringContainsUnchecked(segment, "/", 0)) {
          t1 = A.UnsupportedError$("Illegal path character " + A.S(segment));
          throw A.wrapException(t1);
        }
      }
    },
    _Uri__checkWindowsPathReservedCharacters(segments, argumentError, firstSegment) {
      var t1, t2, t3, t4;
      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<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        t4 = A.RegExp_RegExp('["*/:<>?\\\\|]', true, false);
        if (A.stringContainsUnchecked(t3, t4, 0))
          if (argumentError)
            throw A.wrapException(A.ArgumentError$("Illegal character in path", null));
          else
            throw A.wrapException(A.UnsupportedError$("Illegal character in path: " + t3));
      }
    },
    _Uri__checkWindowsDriveLetter(charCode, argumentError) {
      var t1,
        _s21_ = "Illegal drive letter ";
      if (!(65 <= charCode && charCode <= 90))
        t1 = 97 <= charCode && charCode <= 122;
      else
        t1 = true;
      if (t1)
        return;
      if (argumentError)
        throw A.wrapException(A.ArgumentError$(_s21_ + A.String_String$fromCharCode(charCode), null));
      else
        throw A.wrapException(A.UnsupportedError$(_s21_ + A.String_String$fromCharCode(charCode)));
    },
    _Uri__makeFileUri(path, slashTerminated) {
      var _null = null,
        segments = A._setArrayType(path.split("/"), type$.JSArray_String);
      if (B.JSString_methods.startsWith$1(path, "/"))
        return A._Uri__Uri(_null, _null, _null, segments, _null, _null, _null, "file", _null);
      else
        return A._Uri__Uri(_null, _null, _null, segments, _null, _null, _null, _null, _null);
    },
    _Uri__makeWindowsFileUrl(path, slashTerminated) {
      var t1, pathSegments, pathStart, hostPart, _s1_ = "\\", _null = null, _s4_ = "file";
      if (B.JSString_methods.startsWith$1(path, "\\\\?\\"))
        if (B.JSString_methods.startsWith$2(path, "UNC\\", 4))
          path = B.JSString_methods.replaceRange$3(path, 0, 7, _s1_);
        else {
          path = B.JSString_methods.substring$1(path, 4);
          if (path.length < 3 || B.JSString_methods._codeUnitAt$1(path, 1) !== 58 || B.JSString_methods._codeUnitAt$1(path, 2) !== 92)
            throw A.wrapException(A.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute", _null));
        }
      else
        path = A.stringReplaceAllUnchecked(path, "/", _s1_);
      t1 = path.length;
      if (t1 > 1 && B.JSString_methods._codeUnitAt$1(path, 1) === 58) {
        A._Uri__checkWindowsDriveLetter(B.JSString_methods._codeUnitAt$1(path, 0), true);
        if (t1 === 2 || B.JSString_methods._codeUnitAt$1(path, 2) !== 92)
          throw A.wrapException(A.ArgumentError$("Windows paths with drive letter must be absolute", _null));
        pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String);
        A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 1);
        return A._Uri__Uri(_null, _null, _null, pathSegments, _null, _null, _null, _s4_, _null);
      }
      if (B.JSString_methods.startsWith$1(path, _s1_))
        if (B.JSString_methods.startsWith$2(path, _s1_, 1)) {
          pathStart = B.JSString_methods.indexOf$2(path, _s1_, 2);
          t1 = pathStart < 0;
          hostPart = t1 ? B.JSString_methods.substring$1(path, 2) : B.JSString_methods.substring$2(path, 2, pathStart);
          pathSegments = A._setArrayType((t1 ? "" : B.JSString_methods.substring$1(path, pathStart + 1)).split(_s1_), type$.JSArray_String);
          A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
          return A._Uri__Uri(_null, hostPart, _null, pathSegments, _null, _null, _null, _s4_, _null);
        } else {
          pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String);
          A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
          return A._Uri__Uri(_null, _null, _null, pathSegments, _null, _null, _null, _s4_, _null);
        }
      else {
        pathSegments = A._setArrayType(path.split(_s1_), type$.JSArray_String);
        A._Uri__checkWindowsPathReservedCharacters(pathSegments, true, 0);
        return A._Uri__Uri(_null, _null, _null, pathSegments, _null, _null, _null, _null, _null);
      }
    },
    _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 && (B.List_nxB[char >>> 4] & 1 << (char & 15)) !== 0) {
          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 && (B.List_qNA[char >>> 4] & 1 << (char & 15)) !== 0) {
          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 && (B.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0)
          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;
      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 && (B.List_JYB[codeUnit >>> 4] & 1 << (codeUnit & 15)) !== 0))
          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_gRj, false);
    },
    _Uri__makePath(path, start, end, pathSegments, scheme, hasAuthority) {
      var result,
        isFile = scheme === "file",
        ensureLeadingSlash = isFile || hasAuthority;
      if (path == null) {
        if (pathSegments == null)
          return isFile ? "/" : "";
        result = new A.MappedListIterable(pathSegments, new A._Uri__makePath_closure(), A._arrayInstanceType(pathSegments)._eval$1("MappedListIterable<1,String>")).join$1(0, "/");
      } else if (pathSegments != null)
        throw A.wrapException(A.ArgumentError$("Both path and pathSegments specified", null));
      else
        result = A._Uri__normalizeOrSubstring(path, start, end, B.List_qg4, 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, "/"))
        return A._Uri__normalizeRelativePath(path, !t1 || hasAuthority);
      return A._Uri__removeDotSegments(path);
    },
    _Uri__makeQuery(query, start, end, queryParameters) {
      var result, t1 = {};
      if (query != null) {
        if (queryParameters != null)
          throw A.wrapException(A.ArgumentError$("Both query and queryParameters specified", null));
        return A._Uri__normalizeOrSubstring(query, start, end, B.List_CVk, true);
      }
      if (queryParameters == null)
        return null;
      result = new A.StringBuffer("");
      t1.separator = "";
      queryParameters.forEach$1(0, new A._Uri__makeQuery_closure(new A._Uri__makeQuery_writeParameter(t1, result)));
      t1 = result._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _Uri__makeFragment(fragment, start, end) {
      if (fragment == null)
        return null;
      return A._Uri__normalizeOrSubstring(fragment, start, end, B.List_CVk, true);
    },
    _Uri__normalizeEscape(source, index, lowerCase) {
      var firstDigit, secondDigit, firstDigitValue, secondDigitValue, value,
        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 && (B.List_nxB[B.JSInt_methods._shrOtherPositive$1(value, 4)] & 1 << (value & 15)) !== 0)
        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, index, byte,
        _s16_ = "0123456789ABCDEF";
      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;
        }
        codeUnits = new Uint8Array(3 * encodedBytes);
        for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) {
          byte = B.JSInt_methods._shrReceiverPositive$1(char, 6 * encodedBytes) & 63 | flag;
          codeUnits[index] = 37;
          codeUnits[index + 1] = B.JSString_methods._codeUnitAt$1(_s16_, byte >>> 4);
          codeUnits[index + 2] = B.JSString_methods._codeUnitAt$1(_s16_, byte & 15);
          index += 3;
        }
      }
      return A.String_String$fromCharCodes(codeUnits, 0, null);
    },
    _Uri__normalizeOrSubstring(component, start, end, charTable, escapeDelimiters) {
      var t1 = A._Uri__normalize(component, start, end, charTable, escapeDelimiters);
      return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1;
    },
    _Uri__normalize(component, start, end, charTable, escapeDelimiters) {
      var t1, index, sectionStart, buffer, char, replacement, sourceLength, t2, 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 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0)
          ++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 (t1 && char <= 93 && (B.List_2Vk[char >>> 4] & 1 << (char & 15)) !== 0) {
            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);
          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;
      if (!A._Uri__mayContainDotSegments(path))
        return path;
      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, "..")) {
          if (output.length !== 0) {
            output.pop();
            if (output.length === 0)
              output.push("");
          }
          appendSlash = true;
        } else if ("." === segment)
          appendSlash = true;
        else {
          output.push(segment);
          appendSlash = false;
        }
      }
      if (appendSlash)
        output.push("");
      return B.JSArray_methods.join$1(output, "/");
    },
    _Uri__normalizeRelativePath(path, allowScheme) {
      var output, t1, t2, appendSlash, _i, segment;
      if (!A._Uri__mayContainDotSegments(path))
        return !allowScheme ? A._Uri__escapeScheme(path) : path;
      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) !== "..") {
            output.pop();
            appendSlash = true;
          } else {
            output.push("..");
            appendSlash = false;
          }
        else if ("." === segment)
          appendSlash = true;
        else {
          output.push(segment);
          appendSlash = false;
        }
      }
      t1 = output.length;
      if (t1 !== 0)
        t1 = t1 === 1 && output[0].length === 0;
      else
        t1 = true;
      if (t1)
        return "./";
      if (appendSlash || B.JSArray_methods.get$last(output) === "..")
        output.push("");
      if (!allowScheme)
        output[0] = A._Uri__escapeScheme(output[0]);
      return B.JSArray_methods.join$1(output, "/");
    },
    _Uri__escapeScheme(path) {
      var i, char,
        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 || (B.List_JYB[char >>> 4] & 1 << (char & 15)) === 0)
            break;
        }
      return path;
    },
    _Uri__packageNameEnd(uri, path) {
      if (uri.isScheme$1("package") && uri._host == null)
        return A._skipPackageNameChars(path, 0, path.length);
      return -1;
    },
    _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) {
        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 simple, codeUnit, t1, bytes,
        i = start;
      while (true) {
        if (!(i < end)) {
          simple = true;
          break;
        }
        codeUnit = B.JSString_methods.codeUnitAt$1(text, i);
        if (codeUnit <= 127)
          if (codeUnit !== 37)
            t1 = plusToSpace && codeUnit === 43;
          else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          simple = false;
          break;
        }
        ++i;
      }
      if (simple)
        if (B.Utf8Codec_false === encoding || B.C_Latin1Codec === encoding || B.C_AsciiCodec === encoding)
          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 (t1 = text.length, 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));
            bytes.push(A._Uri__hexCharPairToByte(text, i + 1));
            i += 2;
          } else if (plusToSpace && codeUnit === 43)
            bytes.push(32);
          else
            bytes.push(codeUnit);
        }
      }
      return encoding.decode$1(0, bytes);
    },
    _Uri__isAlphabeticCharacter(codeUnit) {
      var lowerCase = codeUnit | 32;
      return 97 <= lowerCase && lowerCase <= 122;
    },
    UriData_UriData$fromUri(uri) {
      if (!uri.isScheme$1("data"))
        throw A.wrapException(A.ArgumentError$value(uri, "uri", "Scheme must be 'data'"));
      if (uri.get$hasAuthority())
        throw A.wrapException(A.ArgumentError$value(uri, "uri", "Data uri must not have authority"));
      if (uri.get$hasFragment())
        throw A.wrapException(A.ArgumentError$value(uri, "uri", "Data uri must not have a fragment part"));
      if (!uri.get$hasQuery())
        return A.UriData__parse(uri.get$path(uri), 0, uri);
      return A.UriData__parse(uri.toString$0(0), 5, uri);
    },
    UriData__writeUri(mimeType, charsetName, parameters, buffer, indices) {
      var slashIndex, t1;
      if (true)
        buffer._contents = buffer._contents;
      else {
        slashIndex = A.UriData__validateMimeType("");
        if (slashIndex < 0)
          throw A.wrapException(A.ArgumentError$value("", "mimeType", "Invalid MIME type"));
        t1 = buffer._contents += A._Uri__uriEncode(B.List_qFt, B.JSString_methods.substring$2("", 0, slashIndex), B.Utf8Codec_false, false);
        buffer._contents = t1 + "/";
        buffer._contents += A._Uri__uriEncode(B.List_qFt, B.JSString_methods.substring$1("", slashIndex + 1), B.Utf8Codec_false, false);
      }
    },
    UriData__validateMimeType(mimeType) {
      var t1, slashIndex, i;
      for (t1 = mimeType.length, slashIndex = -1, i = 0; i < t1; ++i) {
        if (B.JSString_methods._codeUnitAt$1(mimeType, i) !== 47)
          continue;
        if (slashIndex < 0) {
          slashIndex = i;
          continue;
        }
        return -1;
      }
      return slashIndex;
    },
    UriData__parse(text, start, sourceUri) {
      var t1, i, slashIndex, char, equalsIndex, lastSeparator, t2, data,
        _s17_ = "Invalid MIME type",
        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;) {
        indices.push(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)
          indices.push(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;
        }
      }
      indices.push(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_CVk, true);
        if (data != null)
          text = B.JSString_methods.replaceRange$3(text, t2, t1, data);
      }
      return new A.UriData(text, indices, sourceUri);
    },
    UriData__uriEncodeBytes(canonicalTable, bytes, buffer) {
      var t1, byteOr, i, byte, t2, t3,
        _s16_ = "0123456789ABCDEF";
      for (t1 = J.getInterceptor$asx(bytes), byteOr = 0, i = 0; i < t1.get$length(bytes); ++i) {
        byte = t1.$index(bytes, i);
        byteOr |= byte;
        t2 = byte < 128 && (canonicalTable[B.JSInt_methods._shrOtherPositive$1(byte, 4)] & 1 << (byte & 15)) !== 0;
        t3 = buffer._contents;
        if (t2)
          buffer._contents = t3 + A.Primitives_stringFromCharCode(byte);
        else {
          t2 = t3 + A.Primitives_stringFromCharCode(37);
          buffer._contents = t2;
          t2 += A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(_s16_, B.JSInt_methods._shrOtherPositive$1(byte, 4)));
          buffer._contents = t2;
          buffer._contents = t2 + A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(_s16_, byte & 15));
        }
      }
      if ((byteOr & 4294967040) >>> 0 !== 0)
        for (i = 0; i < t1.get$length(bytes); ++i) {
          byte = t1.$index(bytes, i);
          if (byte < 0 || byte > 255)
            throw A.wrapException(A.ArgumentError$value(byte, "non-byte value", null));
        }
    },
    _createTables() {
      var _i, t1, t2, t3, b,
        _s77_ = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-._~!$&'()*+,;=",
        _s1_ = ".", _s1_0 = ":", _s1_1 = "/", _s1_2 = "?", _s1_3 = "#",
        tables = J.JSArray_JSArray$allocateGrowable(22, type$.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();
      b = t1.call$2(0, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, _s1_, 14);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 3);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(14, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, _s1_, 15);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 234);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(15, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, "%", 225);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 9);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(1, 225);
      t2.call$3(b, _s77_, 1);
      t2.call$3(b, _s1_0, 34);
      t2.call$3(b, _s1_1, 10);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(2, 235);
      t2.call$3(b, _s77_, 139);
      t2.call$3(b, _s1_1, 131);
      t2.call$3(b, _s1_, 146);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(3, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 68);
      t2.call$3(b, _s1_, 18);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(4, 229);
      t2.call$3(b, _s77_, 5);
      t3.call$3(b, "AZ", 229);
      t2.call$3(b, _s1_0, 102);
      t2.call$3(b, "@", 68);
      t2.call$3(b, "[", 232);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(5, 229);
      t2.call$3(b, _s77_, 5);
      t3.call$3(b, "AZ", 229);
      t2.call$3(b, _s1_0, 102);
      t2.call$3(b, "@", 68);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(6, 231);
      t3.call$3(b, "19", 7);
      t2.call$3(b, "@", 68);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(7, 231);
      t3.call$3(b, "09", 7);
      t2.call$3(b, "@", 68);
      t2.call$3(b, _s1_1, 138);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      t2.call$3(t1.call$2(8, 8), "]", 5);
      b = t1.call$2(9, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 16);
      t2.call$3(b, _s1_1, 234);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(16, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 17);
      t2.call$3(b, _s1_1, 234);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(17, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 9);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(10, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 18);
      t2.call$3(b, _s1_1, 234);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(18, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_, 19);
      t2.call$3(b, _s1_1, 234);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(19, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 234);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(11, 235);
      t2.call$3(b, _s77_, 11);
      t2.call$3(b, _s1_1, 10);
      t2.call$3(b, _s1_2, 172);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(12, 236);
      t2.call$3(b, _s77_, 12);
      t2.call$3(b, _s1_2, 12);
      t2.call$3(b, _s1_3, 205);
      b = t1.call$2(13, 237);
      t2.call$3(b, _s77_, 13);
      t2.call$3(b, _s1_2, 13);
      t3.call$3(t1.call$2(20, 245), "az", 21);
      b = t1.call$2(21, 245);
      t3.call$3(b, "az", 21);
      t3.call$3(b, "09", 21);
      t2.call$3(b, "+-.", 21);
      return tables;
    },
    _scan(uri, start, end, state, indices) {
      var i, table, char, transition,
        tables = $.$get$_scannerTables();
      for (i = start; i < end; ++i) {
        table = tables[state];
        char = B.JSString_methods._codeUnitAt$1(uri, i) ^ 96;
        transition = table[char > 95 ? 31 : char];
        state = transition & 31;
        indices[transition >>> 5] = i;
      }
      return state;
    },
    _SimpleUri__packageNameEnd(uri) {
      if (uri._schemeEnd === 7 && B.JSString_methods.startsWith$1(uri._uri, "package") && uri._hostStart <= 0)
        return A._skipPackageNameChars(uri._uri, uri._pathStart, uri._queryStart);
      return -1;
    },
    _skipPackageNameChars(source, start, end) {
      var i, dots, char;
      for (i = start, dots = 0; i < end; ++i) {
        char = B.JSString_methods.codeUnitAt$1(source, i);
        if (char === 47)
          return dots !== 0 ? i : -1;
        if (char === 37 || char === 58)
          return -1;
        dots |= char ^ 46;
      }
      return -1;
    },
    _caseInsensitiveCompareStart(prefix, string, start) {
      var t1, result, i, prefixChar, stringChar, delta, lowerChar;
      for (t1 = prefix.length, result = 0, i = 0; i < t1; ++i) {
        prefixChar = B.JSString_methods._codeUnitAt$1(prefix, i);
        stringChar = B.JSString_methods.codeUnitAt$1(string, start + i);
        delta = prefixChar ^ stringChar;
        if (delta !== 0) {
          if (delta === 32) {
            lowerChar = stringChar | delta;
            if (97 <= lowerChar && lowerChar <= 122) {
              result = 32;
              continue;
            }
          }
          return -1;
        }
      }
      return result;
    },
    NoSuchMethodError_toString_closure: function NoSuchMethodError_toString_closure(t0, t1) {
      this._box_0 = t0;
      this.sb = t1;
    },
    Comparable: function Comparable() {
    },
    DateTime: function DateTime(t0, t1) {
      this._value = t0;
      this.isUtc = t1;
    },
    DateTime_parse_parseIntOrZero: function DateTime_parse_parseIntOrZero() {
    },
    DateTime_parse_parseMilliAndMicroseconds: function DateTime_parse_parseMilliAndMicroseconds() {
    },
    Duration: function Duration(t0) {
      this._duration = t0;
    },
    _Enum: function _Enum() {
    },
    Error0: function Error0() {
    },
    AssertionError: function AssertionError(t0) {
      this.message = t0;
    },
    TypeError: function TypeError() {
    },
    NullThrownError: function NullThrownError() {
    },
    ArgumentError: function ArgumentError(t0, t1, t2, t3) {
      var _ = this;
      _._hasValue = t0;
      _.invalidValue = t1;
      _.name = t2;
      _.message = t3;
    },
    RangeError: function RangeError(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.start = t0;
      _.end = t1;
      _._hasValue = t2;
      _.invalidValue = t3;
      _.name = t4;
      _.message = t5;
    },
    IndexError: function IndexError(t0, t1, t2, t3, t4) {
      var _ = this;
      _.length = t0;
      _._hasValue = t1;
      _.invalidValue = t2;
      _.name = t3;
      _.message = t4;
    },
    FallThroughError: function FallThroughError() {
    },
    NoSuchMethodError: function NoSuchMethodError(t0, t1, t2, t3) {
      var _ = this;
      _._core$_receiver = t0;
      _._memberName = t1;
      _._core$_arguments = t2;
      _._namedArguments = t3;
    },
    UnsupportedError: function UnsupportedError(t0) {
      this.message = t0;
    },
    UnimplementedError: function UnimplementedError(t0) {
      this.message = t0;
    },
    StateError: function StateError(t0) {
      this.message = t0;
    },
    ConcurrentModificationError: function ConcurrentModificationError(t0) {
      this.modifiedObject = t0;
    },
    OutOfMemoryError: function OutOfMemoryError() {
    },
    StackOverflowError: function StackOverflowError() {
    },
    CyclicInitializationError: function CyclicInitializationError(t0) {
      this.variableName = t0;
    },
    _Exception: function _Exception(t0) {
      this.message = t0;
    },
    FormatException: function FormatException(t0, t1, t2) {
      this.message = t0;
      this.source = t1;
      this.offset = t2;
    },
    IntegerDivisionByZeroException: function IntegerDivisionByZeroException() {
    },
    Iterable: function Iterable() {
    },
    _GeneratorIterable: function _GeneratorIterable(t0, t1, t2) {
      this.length = t0;
      this._generator = t1;
      this.$ti = t2;
    },
    BidirectionalIterator: function BidirectionalIterator() {
    },
    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;
    },
    Stopwatch: function Stopwatch() {
      this._stop = this._core$_start = 0;
    },
    RuneIterator: function RuneIterator(t0) {
      var _ = this;
      _.string = t0;
      _._nextPosition = _._core$_position = 0;
      _._currentCodePoint = -1;
    },
    StringBuffer: function StringBuffer(t0) {
      this._contents = t0;
    },
    Uri_splitQueryString_closure: function Uri_splitQueryString_closure(t0) {
      this.encoding = 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_queryParameters = _.___Uri_hashCode = _.___Uri_pathSegments = _.___Uri__text = $;
    },
    _Uri__makePath_closure: function _Uri__makePath_closure() {
    },
    _Uri__makeQuery_writeParameter: function _Uri__makeQuery_writeParameter(t0, t1) {
      this._box_0 = t0;
      this.result = t1;
    },
    _Uri__makeQuery_closure: function _Uri__makeQuery_closure(t0) {
      this.writeParameter = t0;
    },
    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, t7) {
      var _ = this;
      _._core$_data = t0;
      _.scheme = t1;
      _._userInfo = t2;
      _._host = t3;
      _._port = t4;
      _.path = t5;
      _._query = t6;
      _._fragment = t7;
      _.___Uri_queryParameters = _.___Uri_hashCode = _.___Uri_pathSegments = _.___Uri__text = $;
    },
    Expando: function Expando(t0, t1) {
      this._jsWeakMap = t0;
      this.$ti = t1;
    },
    _FakeUserTag__FakeUserTag(label) {
      var t1,
        existingTag = $._FakeUserTag__instances.$index(0, label);
      if (existingTag != null)
        return existingTag;
      if ($._FakeUserTag__instances._length === 64)
        throw A.wrapException(A.UnsupportedError$("UserTag instance limit (64) reached."));
      t1 = new A._FakeUserTag(label);
      $._FakeUserTag__instances.$indexSet(0, label, t1);
      return t1;
    },
    ServiceExtensionResponse$result(result) {
      A.checkNotNullable(result, "result", type$.String);
      return new A.ServiceExtensionResponse();
    },
    ServiceExtensionResponse__validateErrorCode(errorCode) {
      var _s9_ = "errorCode";
      A.checkNotNullable(errorCode, _s9_, type$.int);
      if (errorCode === -32602)
        return;
      if (errorCode >= -32016 && errorCode <= -32000)
        return;
      throw A.wrapException(A.ArgumentError$value(errorCode, _s9_, "Out of range"));
    },
    registerExtension(method, handler) {
      A.checkNotNullable(method, "method", type$.String);
      if (!B.JSString_methods.startsWith$1(method, "ext."))
        throw A.wrapException(A.ArgumentError$value(method, "method", "Must begin with ext."));
      if ($._extensions.$index(0, method) != null)
        throw A.wrapException(A.ArgumentError$("Extension already registered: " + method, null));
      A.checkNotNullable(handler, "handler", type$.Future_ServiceExtensionResponse_Function_2_String_and_Map_String_String);
      $._extensions.$indexSet(0, method, handler);
    },
    postEvent(eventKind, eventData) {
      return;
    },
    Timeline_startSync($name, $arguments, flow) {
      A.ArgumentError_checkNotNull($name, "name");
      $.Timeline__stack.push(null);
      return;
    },
    Timeline_finishSync() {
      var block, tempFlow;
      if ($.Timeline__stack.length === 0)
        throw A.wrapException(A.StateError$("Uneven calls to startSync and finishSync"));
      block = $.Timeline__stack.pop();
      if (block == null)
        return;
      block.get$_jsonArguments();
      tempFlow = block.flow;
      if (tempFlow != null) {
        A.S(tempFlow.id);
        A._argumentsAsJson(null);
      }
    },
    Timeline_instantSync($name, $arguments) {
      A.ArgumentError_checkNotNull($name, "name");
      return;
    },
    Timeline_timeSync($name, $function, flow) {
      var t1;
      A.Timeline_startSync($name, null, flow);
      try {
        t1 = $function.call$0();
        return t1;
      } finally {
        A.Timeline_finishSync();
      }
    },
    _argumentsAsJson($arguments) {
      if ($arguments == null || $arguments._length === 0)
        return "{}";
      return B.C_JsonCodec.encode$1($arguments);
    },
    _FakeUserTag: function _FakeUserTag(t0) {
      this.label = t0;
    },
    ServiceExtensionResponse: function ServiceExtensionResponse() {
    },
    TimelineTask: function TimelineTask(t0, t1, t2) {
      this._developer$_parent = t0;
      this._taskId = t1;
      this._stack = t2;
    },
    window() {
      return window;
    },
    document() {
      return document;
    },
    Blob_Blob(blobParts, type) {
      var t1 = new self.Blob(blobParts);
      return t1;
    },
    CanvasElement_CanvasElement(height, width) {
      var e = document.createElement("canvas");
      if (width != null)
        e.width = width;
      if (height != null)
        e.height = height;
      return e;
    },
    _ChildrenElementList__addAll(_element, iterable) {
      var t1;
      for (t1 = J.get$iterator$ax(iterable instanceof A._ChildNodeListLazy ? A.List_List$from(iterable, true, type$.Element) : iterable); t1.moveNext$0();)
        _element.appendChild(t1.get$current(t1));
    },
    _ChildrenElementList__remove(_element, object) {
      return false;
    },
    _ChildrenElementList__first(_element) {
      var result = _element.firstElementChild;
      if (result == null)
        throw A.wrapException(A.StateError$("No elements"));
      return result;
    },
    Element_Element$tag(tag) {
      return A._ElementFactoryProvider_createElement_tag(tag, null);
    },
    _ElementFactoryProvider_createElement_tag(tag, typeExtension) {
      return document.createElement(tag);
    },
    EventSource__factoryEventSource(url, eventSourceInitDict) {
      var t1 = new EventSource(url, A.convertDartToNative_Dictionary(eventSourceInitDict));
      return t1;
    },
    HttpRequest_request(url, method, responseType, sendData, withCredentials) {
      var t2,
        t1 = new A._Future($.Zone__current, type$._Future_HttpRequest),
        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_HttpRequest),
        xhr = new XMLHttpRequest();
      B.HttpRequest_methods.open$3$async(xhr, method == null ? "GET" : method, url, true);
      if (withCredentials != null)
        xhr.withCredentials = withCredentials;
      if (responseType != null)
        xhr.responseType = responseType;
      t2 = type$.ProgressEvent;
      A._EventStreamSubscription$(xhr, "load", new A.HttpRequest_request_closure(xhr, completer), false, t2);
      A._EventStreamSubscription$(xhr, "error", completer.get$completeError(), false, t2);
      if (sendData != null)
        xhr.send(sendData);
      else
        xhr.send();
      return t1;
    },
    ImageElement_ImageElement() {
      var e = document.createElement("img");
      return e;
    },
    InputElement_InputElement(type) {
      var exception,
        t1 = document.createElement("input"),
        e = type$.InputElement._as(t1);
      if (type != null)
        try {
          e.type = type;
        } catch (exception) {
        }
      return e;
    },
    Notification__factoryNotification(title, options) {
      var t1 = new Notification(title, A.convertDartToNative_Dictionary(options));
      return t1;
    },
    Notification__requestPermission(deprecatedCallback) {
      return Notification.requestPermission(A.convertDartClosureToJS(deprecatedCallback, 1));
    },
    Notification_requestPermission() {
      var t1 = new A._Future($.Zone__current, type$._Future_String);
      A.Notification__requestPermission(new A.Notification_requestPermission_closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_String)));
      return t1;
    },
    WebSocket_WebSocket(url, protocols) {
      return new WebSocket(url);
    },
    _ElementAttributeMap$(element) {
      return new A._ElementAttributeMap(element);
    },
    _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;
    },
    _convertNativeToDart_Window(win) {
      return A._DOMWindowCrossFrame__createSafe(win);
    },
    _convertNativeToDart_EventTarget(e) {
      var $window;
      if ("postMessage" in e) {
        $window = A._DOMWindowCrossFrame__createSafe(e);
        return $window;
      } else
        return e;
    },
    _convertNativeToDart_XHR_Response(o) {
      if (type$.Document._is(o))
        return o;
      return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(o, true);
    },
    _DOMWindowCrossFrame__createSafe(w) {
      if (w === window)
        return w;
      else
        return new A._DOMWindowCrossFrame(w);
    },
    _LocationCrossFrame__createSafe($location) {
      if ($location === window.location)
        return $location;
      else
        return new A._LocationCrossFrame();
    },
    _wrapZone(callback, $T) {
      var t1 = $.Zone__current;
      if (t1 === B.C__RootZone)
        return callback;
      return t1.bindUnaryCallbackGuarded$1$1(callback, $T);
    },
    _wrapBinaryZone(callback, T1, T2) {
      var t1 = $.Zone__current;
      if (t1 === B.C__RootZone)
        return callback;
      return t1.bindBinaryCallbackGuarded$2$1(callback, T1, T2);
    },
    HtmlElement: function HtmlElement() {
    },
    AccessibleNodeList: function AccessibleNodeList() {
    },
    AnchorElement: function AnchorElement() {
    },
    ApplicationCacheErrorEvent: function ApplicationCacheErrorEvent() {
    },
    AreaElement: function AreaElement() {
    },
    Blob: function Blob() {
    },
    Body: function Body() {
    },
    BroadcastChannel: function BroadcastChannel() {
    },
    ButtonElement: function ButtonElement() {
    },
    CacheStorage: function CacheStorage() {
    },
    CanvasElement: function CanvasElement() {
    },
    CanvasRenderingContext2D: function CanvasRenderingContext2D() {
    },
    CharacterData: function CharacterData() {
    },
    CloseEvent: function CloseEvent() {
    },
    Credential: function Credential() {
    },
    CredentialUserData: function CredentialUserData() {
    },
    CssKeyframesRule: function CssKeyframesRule() {
    },
    CssPerspective: function CssPerspective() {
    },
    CssRule: function CssRule() {
    },
    CssStyleDeclaration: function CssStyleDeclaration() {
    },
    CssStyleDeclarationBase: function CssStyleDeclarationBase() {
    },
    CssStyleSheet: function CssStyleSheet() {
    },
    CssStyleValue: function CssStyleValue() {
    },
    CssTransformComponent: function CssTransformComponent() {
    },
    CssTransformValue: function CssTransformValue() {
    },
    CssUnparsedValue: function CssUnparsedValue() {
    },
    DataTransferItem: function DataTransferItem() {
    },
    DataTransferItemList: function DataTransferItemList() {
    },
    DeprecationReport: function DeprecationReport() {
    },
    DivElement: function DivElement() {
    },
    Document0: function Document0() {
    },
    DomError: function DomError() {
    },
    DomException0: function DomException0() {
    },
    DomRectList: function DomRectList() {
    },
    DomRectReadOnly0: function DomRectReadOnly0() {
    },
    DomStringList: function DomStringList() {
    },
    DomTokenList: function DomTokenList() {
    },
    _ChildrenElementList: function _ChildrenElementList(t0, t1) {
      this._html$_element = t0;
      this._html$_childElements = t1;
    },
    _FrozenElementList: function _FrozenElementList(t0, t1) {
      this._nodeList = t0;
      this.$ti = t1;
    },
    Element1: function Element1() {
    },
    EmbedElement: function EmbedElement() {
    },
    Entry: function Entry() {
    },
    Entry_remove_closure: function Entry_remove_closure(t0) {
      this.completer = t0;
    },
    Entry_remove_closure0: function Entry_remove_closure0(t0) {
      this.completer = t0;
    },
    ErrorEvent: function ErrorEvent() {
    },
    Event0: function Event0() {
    },
    EventSource: function EventSource() {
    },
    EventTarget: function EventTarget() {
    },
    FederatedCredential: function FederatedCredential() {
    },
    FieldSetElement: function FieldSetElement() {
    },
    File: function File() {
    },
    FileList: function FileList() {
    },
    FileReader: function FileReader() {
    },
    FileSystem: function FileSystem() {
    },
    FileWriter: function FileWriter() {
    },
    FormElement: function FormElement() {
    },
    Gamepad: function Gamepad() {
    },
    History: function History() {
    },
    HtmlCollection: function HtmlCollection() {
    },
    HtmlDocument: function HtmlDocument() {
    },
    HttpRequest: function HttpRequest() {
    },
    HttpRequest_request_closure: function HttpRequest_request_closure(t0, t1) {
      this.xhr = t0;
      this.completer = t1;
    },
    HttpRequestEventTarget: function HttpRequestEventTarget() {
    },
    IFrameElement: function IFrameElement() {
    },
    ImageData: function ImageData() {
    },
    ImageElement: function ImageElement() {
    },
    InputElement: function InputElement() {
    },
    InterventionReport: function InterventionReport() {
    },
    KeyboardEvent: function KeyboardEvent() {
    },
    LabelElement: function LabelElement() {
    },
    Location: function Location() {
    },
    MapElement: function MapElement() {
    },
    MediaDeviceInfo: function MediaDeviceInfo() {
    },
    MediaError: function MediaError() {
    },
    MediaKeyMessageEvent: function MediaKeyMessageEvent() {
    },
    MediaKeySession: function MediaKeySession() {
    },
    MediaList: function MediaList() {
    },
    MediaQueryList: function MediaQueryList() {
    },
    MediaQueryListEvent: function MediaQueryListEvent() {
    },
    MediaStreamTrack: function MediaStreamTrack() {
    },
    MessageEvent: function MessageEvent() {
    },
    MessagePort: function MessagePort() {
    },
    MetaElement: function MetaElement() {
    },
    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;
    },
    MidiPort: function MidiPort() {
    },
    MimeType: function MimeType() {
    },
    MimeTypeArray: function MimeTypeArray() {
    },
    MouseEvent: function MouseEvent() {
    },
    MutationObserver: function MutationObserver() {
    },
    MutationObserver_observe_override: function MutationObserver_observe_override(t0) {
      this.parsedOptions = t0;
    },
    MutationRecord: function MutationRecord() {
    },
    NavigatorUserMediaError: function NavigatorUserMediaError() {
    },
    _ChildNodeListLazy: function _ChildNodeListLazy(t0) {
      this._this = t0;
    },
    Node0: function Node0() {
    },
    NodeList: function NodeList() {
    },
    Notification_requestPermission_closure: function Notification_requestPermission_closure(t0) {
      this.completer = t0;
    },
    ObjectElement: function ObjectElement() {
    },
    OffscreenCanvas: function OffscreenCanvas() {
    },
    OutputElement: function OutputElement() {
    },
    OverconstrainedError: function OverconstrainedError() {
    },
    ParamElement: function ParamElement() {
    },
    PasswordCredential: function PasswordCredential() {
    },
    PaymentInstruments: function PaymentInstruments() {
    },
    PerformanceEntry: function PerformanceEntry() {
    },
    PerformanceServerTiming: function PerformanceServerTiming() {
    },
    Plugin: function Plugin() {
    },
    PluginArray: function PluginArray() {
    },
    PointerEvent0: function PointerEvent0() {
    },
    PositionError: function PositionError() {
    },
    PresentationConnectionCloseEvent: function PresentationConnectionCloseEvent() {
    },
    ProgressEvent: function ProgressEvent() {
    },
    PushMessageData: function PushMessageData() {
    },
    ReportBody: function ReportBody() {
    },
    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;
    },
    ScreenOrientation: function ScreenOrientation() {
    },
    SelectElement: function SelectElement() {
    },
    SharedWorkerGlobalScope: function SharedWorkerGlobalScope() {
    },
    SlotElement: function SlotElement() {
    },
    SourceBuffer: function SourceBuffer() {
    },
    SourceBufferList: function SourceBufferList() {
    },
    SpeechGrammar: function SpeechGrammar() {
    },
    SpeechGrammarList: function SpeechGrammarList() {
    },
    SpeechRecognitionError: function SpeechRecognitionError() {
    },
    SpeechRecognitionResult: function SpeechRecognitionResult() {
    },
    SpeechSynthesisEvent: function SpeechSynthesisEvent() {
    },
    SpeechSynthesisVoice: function SpeechSynthesisVoice() {
    },
    Storage: function Storage() {
    },
    Storage_addAll_closure: function Storage_addAll_closure(t0) {
      this.$this = t0;
    },
    Storage_keys_closure: function Storage_keys_closure(t0) {
      this.keys = t0;
    },
    Storage_values_closure: function Storage_values_closure(t0) {
      this.values = t0;
    },
    StyleElement: function StyleElement() {
    },
    StyleSheet: function StyleSheet() {
    },
    TextAreaElement: function TextAreaElement() {
    },
    TextTrack: function TextTrack() {
    },
    TextTrackCue: function TextTrackCue() {
    },
    TextTrackCueList: function TextTrackCueList() {
    },
    TextTrackList: function TextTrackList() {
    },
    TimeRanges: function TimeRanges() {
    },
    Touch: function Touch() {
    },
    TouchEvent: function TouchEvent() {
    },
    TouchList: function TouchList() {
    },
    TrackDefaultList: function TrackDefaultList() {
    },
    TrackElement: function TrackElement() {
    },
    UIEvent: function UIEvent() {
    },
    Url: function Url() {
    },
    VideoTrack: function VideoTrack() {
    },
    VideoTrackList: function VideoTrackList() {
    },
    VttCue: function VttCue() {
    },
    WebSocket0: function WebSocket0() {
    },
    WheelEvent: function WheelEvent() {
    },
    Window: function Window() {
    },
    WorkerGlobalScope: function WorkerGlobalScope() {
    },
    _Attr: function _Attr() {
    },
    _CssRuleList: function _CssRuleList() {
    },
    _DomRect: function _DomRect() {
    },
    _GamepadList: function _GamepadList() {
    },
    _NamedNodeMap: function _NamedNodeMap() {
    },
    _SpeechRecognitionResultList: function _SpeechRecognitionResultList() {
    },
    _StyleSheetList: function _StyleSheetList() {
    },
    _AttributeMap: function _AttributeMap() {
    },
    _AttributeMap_addAll_closure: function _AttributeMap_addAll_closure(t0) {
      this.$this = t0;
    },
    _ElementAttributeMap: function _ElementAttributeMap(t0) {
      this._html$_element = t0;
    },
    EventStreamProvider: function EventStreamProvider(t0, t1) {
      this._eventType = t0;
      this.$ti = t1;
    },
    _EventStream: function _EventStream(t0, t1, t2, t3) {
      var _ = this;
      _._target = t0;
      _._eventType = t1;
      _._useCapture = t2;
      _.$ti = t3;
    },
    _ElementEventStreamImpl: function _ElementEventStreamImpl(t0, t1, t2, t3) {
      var _ = this;
      _._target = t0;
      _._eventType = t1;
      _._useCapture = t2;
      _.$ti = t3;
    },
    _EventStreamSubscription: function _EventStreamSubscription(t0, t1, t2, t3, t4) {
      var _ = this;
      _._pauseCount = 0;
      _._target = t0;
      _._eventType = t1;
      _._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;
      _._current = null;
      _.$ti = t2;
    },
    Console0: function Console0() {
    },
    _DOMWindowCrossFrame: function _DOMWindowCrossFrame(t0) {
      this._html$_window = t0;
    },
    _LocationCrossFrame: function _LocationCrossFrame() {
    },
    _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 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);
      if (Array.isArray(value)) {
        values = [];
        for (i = 0; i < value.length; ++i)
          values.push(A._convertNativeToDart_Value(value[i]));
        return values;
      }
      return value;
    },
    convertNativeToDart_Dictionary(object) {
      var dict, keys, t1, _i, key;
      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];
        dict.$indexSet(0, key, 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);
      return proto === Object.prototype || proto === null;
    },
    Device_userAgent() {
      return window.navigator.userAgent;
    },
    _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._box_0 = t0;
      this.$this = t1;
    },
    _convertDartToNative_Value_closure: function _convertDartToNative_Value_closure(t0) {
      this.array = t0;
    },
    convertDartToNative_Dictionary_closure: function convertDartToNative_Dictionary_closure(t0) {
      this.object = t0;
    },
    _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;
    },
    FilteredElementList: function FilteredElementList(t0, t1) {
      this._html_common$_node = t0;
      this._childNodes = t1;
    },
    FilteredElementList__iterable_closure: function FilteredElementList__iterable_closure() {
    },
    FilteredElementList__iterable_closure0: function FilteredElementList__iterable_closure0() {
    },
    FilteredElementList_removeRange_closure: function FilteredElementList_removeRange_closure() {
    },
    Database: function Database() {
    },
    Index: function Index() {
    },
    KeyRange: function KeyRange() {
    },
    ObjectStore: function ObjectStore() {
    },
    VersionChangeEvent: function VersionChangeEvent() {
    },
    _callDartFunction(callback, captureThis, $self, $arguments) {
      var arguments0, t1;
      if (captureThis) {
        arguments0 = [$self];
        B.JSArray_methods.addAll$1(arguments0, $arguments);
        $arguments = arguments0;
      }
      t1 = type$.dynamic;
      return A._convertToJS(A.Function_apply(callback, A.List_List$from(J.map$1$1$ax($arguments, A.js___convertToDart$closure(), t1), true, t1)));
    },
    JsObject_JsObject($constructor) {
      var t1 = A._wrapToDart(new (A._convertToJS($constructor))());
      return t1;
    },
    JsObject_JsObject$jsify(object) {
      return A._wrapToDart(A.JsObject__convertDataTree(object));
    },
    JsObject__convertDataTree(data) {
      return new A.JsObject__convertDataTree__convert(new A._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data);
    },
    JsArray__checkRange(start, end, $length) {
      var _null = null;
      if (start < 0 || start > $length)
        throw A.wrapException(A.RangeError$range(start, 0, $length, _null, _null));
      if (end < start || end > $length)
        throw A.wrapException(A.RangeError$range(end, start, $length, _null, _null));
    },
    _castToJsObject(o) {
      return o;
    },
    _defineProperty(o, $name, value) {
      var exception;
      try {
        if (Object.isExtensible(o) && !Object.prototype.hasOwnProperty.call(o, $name)) {
          Object.defineProperty(o, $name, {value: value});
          return true;
        }
      } catch (exception) {
      }
      return false;
    },
    _getOwnProperty(o, $name) {
      if (Object.prototype.hasOwnProperty.call(o, $name))
        return o[$name];
      return null;
    },
    _convertToJS(o) {
      if (o == null || typeof o == "string" || typeof o == "number" || A._isBool(o))
        return o;
      if (o instanceof A.JsObject)
        return o._js$_jsObject;
      if (A.isBrowserObject(o))
        return o;
      if (type$.TypedData._is(o))
        return o;
      if (o instanceof A.DateTime)
        return A.Primitives_lazyAsJsDate(o);
      if (type$.Function._is(o))
        return A._getJsProxy(o, "$dart_jsFunction", new A._convertToJS_closure());
      return A._getJsProxy(o, "_$dart_jsObject", new A._convertToJS_closure0($.$get$_dartProxyCtor()));
    },
    _getJsProxy(o, propertyName, createProxy) {
      var jsProxy = A._getOwnProperty(o, propertyName);
      if (jsProxy == null) {
        jsProxy = createProxy.call$1(o);
        A._defineProperty(o, propertyName, jsProxy);
      }
      return jsProxy;
    },
    _convertToDart(o) {
      if (o == null || typeof o == "string" || typeof o == "number" || typeof o == "boolean")
        return o;
      else if (o instanceof Object && A.isBrowserObject(o))
        return o;
      else if (o instanceof Object && type$.TypedData._is(o))
        return o;
      else if (o instanceof Date)
        return A.DateTime$fromMillisecondsSinceEpoch(o.getTime(), false);
      else if (o.constructor === $.$get$_dartProxyCtor())
        return o.o;
      else
        return A._wrapToDart(o);
    },
    _wrapToDart(o) {
      if (typeof o == "function")
        return A._getDartProxy(o, $.$get$DART_CLOSURE_PROPERTY_NAME(), new A._wrapToDart_closure());
      if (o instanceof Array)
        return A._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new A._wrapToDart_closure0());
      return A._getDartProxy(o, $.$get$_DART_OBJECT_PROPERTY_NAME(), new A._wrapToDart_closure1());
    },
    _getDartProxy(o, propertyName, createProxy) {
      var dartProxy = A._getOwnProperty(o, propertyName);
      if (dartProxy == null || !(o instanceof Object)) {
        dartProxy = createProxy.call$1(o);
        A._defineProperty(o, propertyName, dartProxy);
      }
      return dartProxy;
    },
    _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) {
      return A.Function_apply(callback, $arguments);
    },
    allowInterop(f) {
      if (typeof f == "function")
        return f;
      else
        return A._convertDartFunctionFast(f);
    },
    JsObject__convertDataTree__convert: function JsObject__convertDataTree__convert(t0) {
      this._convertedObjects = t0;
    },
    _convertToJS_closure: function _convertToJS_closure() {
    },
    _convertToJS_closure0: function _convertToJS_closure0(t0) {
      this.ctor = t0;
    },
    _wrapToDart_closure: function _wrapToDart_closure() {
    },
    _wrapToDart_closure0: function _wrapToDart_closure0() {
    },
    _wrapToDart_closure1: function _wrapToDart_closure1() {
    },
    JsObject: function JsObject(t0) {
      this._js$_jsObject = t0;
    },
    JsFunction: function JsFunction(t0) {
      this._js$_jsObject = t0;
    },
    JsArray: function JsArray(t0, t1) {
      this._js$_jsObject = t0;
      this.$ti = t1;
    },
    _JsArray_JsObject_ListMixin: function _JsArray_JsObject_ListMixin() {
    },
    jsify(object) {
      return A._convertDataTree(object);
    },
    _convertDataTree(data) {
      var t1 = new A._convertDataTree__convert(new A._IdentityHashMap(type$._IdentityHashMap_dynamic_dynamic)).call$1(data);
      t1.toString;
      return t1;
    },
    hasProperty(o, $name) {
      return $name in o;
    },
    getProperty(o, $name) {
      return o[$name];
    },
    callMethod(o, method, args) {
      return o[method].apply(o, args);
    },
    _callMethodUnchecked0(o, method) {
      return o[method]();
    },
    callConstructor(constr, $arguments) {
      var args, factoryFunction;
      if ($arguments instanceof Array)
        switch ($arguments.length) {
          case 0:
            return new constr();
          case 1:
            return new constr($arguments[0]);
          case 2:
            return new constr($arguments[0], $arguments[1]);
          case 3:
            return new constr($arguments[0], $arguments[1], $arguments[2]);
          case 4:
            return new constr($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
        }
      args = [null];
      B.JSArray_methods.addAll$1(args, $arguments);
      factoryFunction = constr.bind.apply(constr, args);
      String(factoryFunction);
      return new factoryFunction();
    },
    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), 1), A.convertDartClosureToJS(new A.promiseToFuture_closure0(completer), 1));
      return t1;
    },
    _convertDataTree__convert: function _convertDataTree__convert(t0) {
      this._convertedObjects = t0;
    },
    promiseToFuture_closure: function promiseToFuture_closure(t0) {
      this.completer = t0;
    },
    promiseToFuture_closure0: function promiseToFuture_closure0(t0) {
      this.completer = t0;
    },
    NullRejectionException: function NullRejectionException(t0) {
      this.isUndefined = t0;
    },
    max0(a, b) {
      return Math.max(A.checkNum(a), A.checkNum(b));
    },
    sqrt(x) {
      return Math.sqrt(x);
    },
    log0(x) {
      return Math.log(x);
    },
    pow(x, exponent) {
      return Math.pow(x, exponent);
    },
    _JSRandom: function _JSRandom() {
    },
    Point: function Point(t0, t1, t2) {
      this.x = t0;
      this.y = t1;
      this.$ti = t2;
    },
    SvgElement_SvgElement$tag(tag) {
      return type$.SvgElement._as(B.HtmlDocument_methods.createElementNS$2(document, "http://www.w3.org/2000/svg", tag));
    },
    ClipPathElement: function ClipPathElement() {
    },
    DefsElement: function DefsElement() {
    },
    FEBlendElement: function FEBlendElement() {
    },
    FEColorMatrixElement: function FEColorMatrixElement() {
    },
    FECompositeElement: function FECompositeElement() {
    },
    FEFloodElement: function FEFloodElement() {
    },
    FilterElement: function FilterElement() {
    },
    GeometryElement: function GeometryElement() {
    },
    GraphicsElement: function GraphicsElement() {
    },
    Length: function Length() {
    },
    LengthList: function LengthList() {
    },
    Number: function Number() {
    },
    NumberList: function NumberList() {
    },
    PathElement: function PathElement() {
    },
    PointList: function PointList() {
    },
    StringList: function StringList() {
    },
    SvgElement: function SvgElement() {
    },
    SvgSvgElement: function SvgSvgElement() {
    },
    Transform0: function Transform0() {
    },
    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() {
    },
    Uint64List_Uint64List($length) {
      throw A.wrapException(A.UnsupportedError$("Uint64List not supported on the web."));
    },
    ByteData_ByteData$view(buffer, offsetInBytes, $length) {
      return A.NativeByteData_NativeByteData$view(buffer, offsetInBytes, $length);
    },
    Int8List_Int8List$view(buffer) {
      var t1;
      A._checkViewArguments(buffer, 0, null);
      t1 = new Int8Array(buffer, 0);
      return t1;
    },
    Int16List_Int16List$view(buffer) {
      var $length;
      A._checkViewArguments(buffer, 0, null);
      $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - 0, 2);
      return new Int16Array(buffer, 0, $length);
    },
    Int32List_Int32List$view(buffer) {
      return A.NativeInt32List_NativeInt32List$view(buffer, 0, null);
    },
    Uint32List_Uint32List$view(buffer, offsetInBytes) {
      var $length;
      A._checkViewArguments(buffer, offsetInBytes, null);
      $length = B.JSInt_methods._tdivFast$1(buffer.byteLength - offsetInBytes, 4);
      return new Uint32Array(buffer, offsetInBytes, $length);
    },
    Float32List_Float32List$view(buffer) {
      return A.NativeFloat32List_NativeFloat32List$view(buffer, 0, null);
    },
    Float64List_Float64List$view(buffer) {
      return A.NativeFloat64List_NativeFloat64List$view(buffer, 0, null);
    },
    Endian: function Endian() {
    },
    PictureRecorder_PictureRecorder() {
      if ($.$get$useCanvasKit())
        return new A.CkPictureRecorder();
      else
        return new A.EnginePictureRecorder();
    },
    Canvas_Canvas(recorder, cullRect) {
      var _s62_ = '"recorder" must not already be associated with another Canvas.';
      if ($.$get$useCanvasKit()) {
        if (recorder.get$isRecording())
          A.throwExpression(A.ArgumentError$(_s62_, null));
        if (cullRect == null)
          cullRect = B.Rect_aha;
        return new A.CanvasKitCanvas(type$.CkPictureRecorder._as(recorder).beginRecording$1(cullRect));
      } else {
        type$.EnginePictureRecorder._as(recorder);
        if (recorder._isRecording)
          A.throwExpression(A.ArgumentError$(_s62_, null));
        return new A.SurfaceCanvas(recorder.beginRecording$1(cullRect == null ? B.Rect_aha : cullRect));
      }
    },
    SceneBuilder_SceneBuilder() {
      var t1, t2, t3;
      if ($.$get$useCanvasKit()) {
        t1 = new A.RootLayer(A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0);
        t2 = new A.LayerSceneBuilder(t1);
        t2.__LayerSceneBuilder_currentLayer = t1;
        return t2;
      } else {
        t1 = A._setArrayType([], type$.JSArray_PersistedContainerSurface);
        t2 = $.SurfaceSceneBuilder__lastFrameScene;
        t3 = A._setArrayType([], type$.JSArray_PersistedSurface);
        t2 = t2 != null && t2.__engine$_state === B.PersistedSurfaceState_1 ? t2 : null;
        t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
        $.frameReferences.push(t2);
        t2 = new A.PersistedScene(t3, t2, B.PersistedSurfaceState_0);
        t2.transform = A.Matrix4$identity();
        t1.push(t2);
        return new A.SurfaceSceneBuilder(t1);
      }
    },
    Offset_lerp(a, b, t) {
      if (b == null)
        if (a == null)
          return null;
        else
          return a.$mul(0, 1 - t);
      else if (a == null)
        return b.$mul(0, t);
      else
        return new A.Offset(A._lerpDouble(a._dx, b._dx, t), A._lerpDouble(a._dy, b._dy, t));
    },
    Size_lerp(a, b, t) {
      if (b == null)
        if (a == null)
          return null;
        else
          return a.$mul(0, 1 - t);
      else if (a == null)
        return b.$mul(0, t);
      else
        return new A.Size(A._lerpDouble(a._dx, b._dx, t), A._lerpDouble(a._dy, b._dy, t));
    },
    Rect$fromCircle(center, radius) {
      var t1 = center._dx,
        t2 = radius * 2 / 2,
        t3 = center._dy;
      return new A.Rect(t1 - t2, t3 - t2, t1 + t2, t3 + t2);
    },
    Rect$fromCenter(center, height, width) {
      var t1 = center._dx,
        t2 = width / 2,
        t3 = center._dy,
        t4 = height / 2;
      return new A.Rect(t1 - t2, t3 - t4, t1 + t2, t3 + t4);
    },
    Rect$fromPoints(a, b) {
      var t1 = a._dx,
        t2 = b._dx,
        t3 = a._dy,
        t4 = b._dy;
      return new A.Rect(Math.min(t1, t2), Math.min(t3, t4), Math.max(t1, t2), Math.max(t3, t4));
    },
    Rect_lerp(a, b, t) {
      var k, t1, t2, t3, t4;
      if (b == null)
        if (a == null)
          return null;
        else {
          k = 1 - t;
          return new A.Rect(a.left * k, a.top * k, a.right * k, a.bottom * k);
        }
      else {
        t1 = b.left;
        t2 = b.top;
        t3 = b.right;
        t4 = b.bottom;
        if (a == null)
          return new A.Rect(t1 * t, t2 * t, t3 * t, t4 * t);
        else
          return new A.Rect(A._lerpDouble(a.left, t1, t), A._lerpDouble(a.top, t2, t), A._lerpDouble(a.right, t3, t), A._lerpDouble(a.bottom, t4, t));
      }
    },
    Radius_lerp(a, b, t) {
      var k, t1, t2;
      if (b == null)
        if (a == null)
          return null;
        else {
          k = 1 - t;
          return new A.Radius(a.x * k, a.y * k);
        }
      else {
        t1 = b.x;
        t2 = b.y;
        if (a == null)
          return new A.Radius(t1 * t, t2 * t);
        else
          return new A.Radius(A._lerpDouble(a.x, t1, t), A._lerpDouble(a.y, t2, t));
      }
    },
    RRect$fromRectAndRadius(rect, radius) {
      var t1 = radius.x,
        t2 = radius.y;
      return new A.RRect(rect.left, rect.top, rect.right, rect.bottom, t1, t2, t1, t2, t1, t2, t1, t2, t1 === t2);
    },
    RRect$fromRectAndCorners(rect, bottomLeft, bottomRight, topLeft, topRight) {
      var t1 = topLeft.x,
        t2 = topLeft.y,
        t3 = topRight.x,
        t4 = topRight.y,
        t5 = bottomLeft.x,
        t6 = bottomLeft.y,
        t7 = bottomRight.x,
        t8 = bottomRight.y,
        t9 = t1 === t2 && t1 === t3 && t1 === t4 && t1 === t5 && t1 === t6 && t1 === t7 && t1 === t8;
      return new A.RRect(rect.left, rect.top, rect.right, rect.bottom, t1, t2, t3, t4, t7, t8, t5, t6, t9);
    },
    webOnlyWarmupEngine(registerPlugins, runApp) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        exception, t1, bootstrap, autoStart;
      var $async$webOnlyWarmupEngine = 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
              bootstrap = new A.AppBootstrap(new A.webOnlyWarmupEngine_closure(), new A.webOnlyWarmupEngine_closure0(registerPlugins, runApp));
              autoStart = true;
              try {
                autoStart = self._flutter.loader.didCreateEngineInitializer == null;
              } catch (exception) {
                autoStart = true;
              }
              $async$goto = autoStart ? 2 : 4;
              break;
            case 2:
              // then
              A.print("Flutter Web Bootstrap: Auto");
              $async$goto = 5;
              return A._asyncAwait(bootstrap.autoStart$0(), $async$webOnlyWarmupEngine);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              A.print("Flutter Web Bootstrap: Programmatic");
              t1 = self._flutter.loader.didCreateEngineInitializer;
              t1.toString;
              t1.call$1(bootstrap.prepareEngineInitializer$0());
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$webOnlyWarmupEngine, $async$completer);
    },
    KeyData__typeToString(type) {
      switch (type.index) {
        case 1:
          return "up";
        case 0:
          return "down";
        case 2:
          return "repeat";
      }
    },
    lerpDouble(a, b, t) {
      var t1;
      if (a != b)
        if ((a == null ? null : isNaN(a)) === true)
          t1 = (b == null ? null : isNaN(b)) === true;
        else
          t1 = false;
      else
        t1 = true;
      if (t1)
        return a == null ? null : a;
      if (a == null)
        a = 0;
      if (b == null)
        b = 0;
      return a * (1 - t) + b * t;
    },
    _lerpDouble(a, b, t) {
      return a * (1 - t) + b * t;
    },
    _lerpInt(a, b, t) {
      return a * (1 - t) + b * t;
    },
    _scaleAlpha(a, factor) {
      return A.Color$fromARGB(A.clampInt(B.JSNumber_methods.round$0((a.get$value(a) >>> 24 & 255) * factor), 0, 255), a.get$value(a) >>> 16 & 255, a.get$value(a) >>> 8 & 255, a.get$value(a) & 255);
    },
    Color$fromARGB(a, r, g, b) {
      return new A.Color(((a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255) >>> 0);
    },
    Color$fromRGBO(r, g, b, opacity) {
      return new A.Color(((B.JSNumber_methods._tdivFast$1(opacity * 255, 1) & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255) >>> 0);
    },
    Color__linearizeColorComponent(component) {
      if (component <= 0.03928)
        return component / 12.92;
      return Math.pow((component + 0.055) / 1.055, 2.4);
    },
    Color_lerp(a, b, t) {
      if (b == null)
        if (a == null)
          return null;
        else
          return A._scaleAlpha(a, 1 - t);
      else if (a == null)
        return A._scaleAlpha(b, t);
      else
        return A.Color$fromARGB(A.clampInt(B.JSNumber_methods.toInt$0(A._lerpInt(a.get$value(a) >>> 24 & 255, b.get$value(b) >>> 24 & 255, t)), 0, 255), A.clampInt(B.JSNumber_methods.toInt$0(A._lerpInt(a.get$value(a) >>> 16 & 255, b.get$value(b) >>> 16 & 255, t)), 0, 255), A.clampInt(B.JSNumber_methods.toInt$0(A._lerpInt(a.get$value(a) >>> 8 & 255, b.get$value(b) >>> 8 & 255, t)), 0, 255), A.clampInt(B.JSNumber_methods.toInt$0(A._lerpInt(a.get$value(a) & 255, b.get$value(b) & 255, t)), 0, 255));
    },
    Color_alphaBlend(foreground, background) {
      var invAlpha, backAlpha, outAlpha,
        alpha = foreground.get$value(foreground) >>> 24 & 255;
      if (alpha === 0)
        return background;
      invAlpha = 255 - alpha;
      backAlpha = background.get$value(background) >>> 24 & 255;
      if (backAlpha === 255)
        return A.Color$fromARGB(255, B.JSInt_methods._tdivFast$1(alpha * (foreground.get$value(foreground) >>> 16 & 255) + invAlpha * (background.get$value(background) >>> 16 & 255), 255), B.JSInt_methods._tdivFast$1(alpha * (foreground.get$value(foreground) >>> 8 & 255) + invAlpha * (background.get$value(background) >>> 8 & 255), 255), B.JSInt_methods._tdivFast$1(alpha * (foreground.get$value(foreground) & 255) + invAlpha * (background.get$value(background) & 255), 255));
      else {
        backAlpha = B.JSInt_methods._tdivFast$1(backAlpha * invAlpha, 255);
        outAlpha = alpha + backAlpha;
        return A.Color$fromARGB(outAlpha, B.JSInt_methods.$tdiv((foreground.get$value(foreground) >>> 16 & 255) * alpha + (background.get$value(background) >>> 16 & 255) * backAlpha, outAlpha), B.JSInt_methods.$tdiv((foreground.get$value(foreground) >>> 8 & 255) * alpha + (background.get$value(background) >>> 8 & 255) * backAlpha, outAlpha), B.JSInt_methods.$tdiv((foreground.get$value(foreground) & 255) * alpha + (background.get$value(background) & 255) * backAlpha, outAlpha));
      }
    },
    Paint_Paint() {
      return $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
    },
    Gradient_Gradient$linear(from, to, colors, colorStops, tileMode, matrix4) {
      var t1;
      if ($.$get$useCanvasKit()) {
        t1 = new A.CkGradientLinear(from, to, colors, colorStops, tileMode, null);
        t1.ManagedSkiaObject$1(null, type$.SkShader);
      } else
        t1 = new A.GradientLinear(from, to, colors, colorStops, tileMode, null);
      return t1;
    },
    instantiateImageCodec(list, allowUpscaling, targetHeight, targetWidth) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue;
      var $async$instantiateImageCodec = 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 ($.$get$useCanvasKit()) {
                $async$returnValue = A.skiaInstantiateImageCodec(list, targetWidth, targetHeight);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = new A.HtmlBlobCodec((self.URL || self.webkitURL).createObjectURL(A.Blob_Blob([list.buffer], null)), null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$instantiateImageCodec, $async$completer);
    },
    instantiateImageCodecFromBuffer(buffer, allowUpscaling, targetHeight, targetWidth) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, t1, t2;
      var $async$instantiateImageCodecFromBuffer = 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 = $.$get$useCanvasKit();
              t2 = buffer._ui$_list;
              if (t1) {
                t2.toString;
                $async$returnValue = A.skiaInstantiateImageCodec(t2, targetWidth, targetHeight);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = new A.HtmlBlobCodec((self.URL || self.webkitURL).createObjectURL(A.Blob_Blob([t2.buffer], null)), null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$instantiateImageCodecFromBuffer, $async$completer);
    },
    webOnlyInstantiateImageCodecFromUrl(uri, chunkCallback) {
      if ($.$get$useCanvasKit())
        return A.skiaInstantiateWebImageCodec(uri.toString$0(0), chunkCallback);
      else
        return A.futurize(new A.webOnlyInstantiateImageCodecFromUrl_closure(uri, chunkCallback), type$.Codec);
    },
    Shadow_convertRadiusToSigma(radius) {
      return radius > 0 ? radius * 0.57735 + 0.5 : 0;
    },
    Shadow_lerp(a, b, t) {
      var t2, t3,
        t1 = A.Color_lerp(a.color, b.color, t);
      t1.toString;
      t2 = A.Offset_lerp(a.offset, b.offset, t);
      t2.toString;
      t3 = A._lerpDouble(a.blurRadius, b.blurRadius, t);
      return new A.Shadow(t1, t2, t3);
    },
    Shadow_lerpList(a, b, t) {
      var result, commonLength, i,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        a = A._setArrayType([], type$.JSArray_Shadow);
      if (b == null)
        b = A._setArrayType([], type$.JSArray_Shadow);
      result = A._setArrayType([], type$.JSArray_Shadow);
      commonLength = Math.min(a.length, b.length);
      for (i = 0; i < commonLength; ++i) {
        t1 = A.Shadow_lerp(a[i], b[i], t);
        t1.toString;
        result.push(t1);
      }
      for (t1 = 1 - t, i = commonLength; i < a.length; ++i)
        result.push(J.scale$1$x(a[i], t1));
      for (i = commonLength; i < b.length; ++i)
        result.push(J.scale$1$x(b[i], t));
      return result;
    },
    ImmutableBuffer_fromUint8List(list) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ImmutableBuffer),
        $async$returnValue, instance;
      var $async$ImmutableBuffer_fromUint8List = 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
              instance = new A.ImmutableBuffer(list.length);
              instance._ui$_list = list;
              $async$returnValue = instance;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$ImmutableBuffer_fromUint8List, $async$completer);
    },
    Path_Path() {
      if ($.$get$useCanvasKit()) {
        var t1 = new A.CkPath(B.PathFillType_0);
        t1.ManagedSkiaObject$1(null, type$.SkPath);
        return t1;
      } else
        return A.SurfacePath$();
    },
    PlatformConfiguration$(accessibilityFeatures, alwaysUse24HourFormat, defaultRouteName, locales, platformBrightness, semanticsEnabled, systemFontFamily, textScaleFactor) {
      return new A.PlatformConfiguration(accessibilityFeatures, false, semanticsEnabled, platformBrightness, textScaleFactor, locales, defaultRouteName, systemFontFamily);
    },
    PointerData$(buttons, change, device, distance, distanceMax, kind, obscured, orientation, physicalDeltaX, physicalDeltaY, physicalX, physicalY, platformData, pointerIdentifier, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, scrollDeltaX, scrollDeltaY, signalKind, size, synthesized, tilt, timeStamp) {
      return new A.PointerData(timeStamp, change, kind, signalKind, device, pointerIdentifier, physicalX, physicalY, physicalDeltaX, physicalDeltaY, buttons, false, synthesized, pressure, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, platformData, scrollDeltaX, scrollDeltaY);
    },
    FontWeight_lerp(a, b, t) {
      var t2,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      t1 = t1 ? null : a.index;
      if (t1 == null)
        t1 = 3;
      t2 = b == null ? null : b.index;
      t1 = A.lerpDouble(t1, t2 == null ? 3 : t2, t);
      t1.toString;
      return B.List_27p[A.clampInt(B.JSNumber_methods.round$0(t1), 0, 8)];
    },
    TextStyle_TextStyle(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, leadingDistribution, letterSpacing, locale, shadows, textBaseline, wordSpacing) {
      var t1;
      if ($.$get$useCanvasKit()) {
        t1 = type$.nullable_CkPaint;
        return A.CkTextStyle_CkTextStyle(t1._as(background), color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontWeight, t1._as(foreground), height, leadingDistribution, letterSpacing, locale, shadows, textBaseline, wordSpacing);
      } else
        return A.EngineTextStyle$only(background, color, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, letterSpacing, locale, shadows, textBaseline, wordSpacing);
    },
    ParagraphStyle_ParagraphStyle(ellipsis, fontFamily, fontSize, fontStyle, fontWeight, height, locale, maxLines, strutStyle, textAlign, textDirection, textHeightBehavior) {
      var properties, t1, t2, t3, t4, t5, skStrutStyle, effectiveLeadingDistribution, skTextStyle, _null = null;
      if ($.$get$useCanvasKit()) {
        properties = A.SkParagraphStyleProperties$(_null);
        t1 = $.$get$_skTextAligns()[textAlign.index];
        properties.textAlign = t1;
        t1 = textDirection == null;
        if (!t1)
          properties.textDirection = $.$get$_skTextDirections()[textDirection.index];
        if (maxLines != null)
          properties.maxLines = maxLines;
        t2 = height != null;
        if (t2)
          properties.heightMultiplier = height;
        t3 = textHeightBehavior == null;
        if (!t3) {
          t4 = textHeightBehavior.applyHeightToFirstAscent ? 0 : 1;
          t5 = textHeightBehavior.applyHeightToLastDescent ? 0 : 2;
          properties.textHeightBehavior = $.$get$_skTextHeightBehaviors()[t4 | t5];
        }
        if (ellipsis != null)
          properties.ellipsis = ellipsis;
        if (strutStyle != null) {
          type$.CkStrutStyle._as(strutStyle);
          skStrutStyle = A.SkStrutStyleProperties$(_null);
          skStrutStyle.fontFamilies = A._getEffectiveFontFamilies(strutStyle._fontFamily, strutStyle.__engine$_fontFamilyFallback);
          t4 = strutStyle._fontSize;
          if (t4 != null)
            skStrutStyle.fontSize = t4;
          t4 = strutStyle.__engine$_height;
          if (t4 != null)
            skStrutStyle.heightMultiplier = t4;
          effectiveLeadingDistribution = t3 ? _null : textHeightBehavior.leadingDistribution;
          switch (effectiveLeadingDistribution) {
            case null:
              break;
            case B.TextLeadingDistribution_1:
              skStrutStyle.halfLeading = true;
              break;
            case B.TextLeadingDistribution_0:
              skStrutStyle.halfLeading = false;
              break;
          }
          t4 = strutStyle._fontWeight;
          if (t4 != null || strutStyle._fontStyle != null)
            skStrutStyle.fontStyle = A.toSkFontStyle(t4, strutStyle._fontStyle);
          t4 = strutStyle._forceStrutHeight;
          if (t4 != null)
            skStrutStyle.forceStrutHeight = t4;
          skStrutStyle.strutEnabled = true;
          properties.strutStyle = skStrutStyle;
        }
        skTextStyle = A.SkTextStyleProperties$(_null);
        if (fontWeight != null || fontStyle != null)
          skTextStyle.fontStyle = A.toSkFontStyle(fontWeight, fontStyle);
        if (fontSize != null)
          skTextStyle.fontSize = fontSize;
        if (t2)
          skTextStyle.heightMultiplier = height;
        skTextStyle.fontFamilies = A._getEffectiveFontFamilies(fontFamily, _null);
        properties.textStyle = skTextStyle;
        t2 = $.__canvasKit._readField$0().ParagraphStyle(properties);
        t1 = t1 ? B.TextDirection_1 : textDirection;
        return new A.CkParagraphStyle(t2, t1, fontFamily, fontSize, height, fontWeight, fontStyle, t3 ? _null : textHeightBehavior.leadingDistribution);
      } else {
        type$.nullable_EngineStrutStyle._as(strutStyle);
        return new A.EngineParagraphStyle(textAlign, textDirection, fontWeight, fontStyle, maxLines, fontFamily, fontSize, height, textHeightBehavior, ellipsis, locale);
      }
    },
    StrutStyle_StrutStyle(fontFamily, fontFamilyFallback, fontSize, fontStyle, fontWeight, forceStrutHeight, height, leading) {
      if ($.$get$useCanvasKit())
        return new A.CkStrutStyle(fontFamily, fontFamilyFallback, fontSize, height, leading, fontWeight, fontStyle, forceStrutHeight, null);
      else
        return new A.EngineStrutStyle(fontFamily, fontFamilyFallback, fontSize, height, leading, fontWeight, fontStyle, forceStrutHeight, null);
    },
    ParagraphBuilder_ParagraphBuilder(style) {
      if ($.$get$useCanvasKit())
        return A.CkParagraphBuilder$(style);
      type$.EngineParagraphStyle._as(style);
      return new A.CanvasParagraphBuilder(new A.StringBuffer(""), style, A._setArrayType([], type$.JSArray_ParagraphSpan), A._setArrayType([], type$.JSArray_StyleNode), new A.RootStyleNode(style), A._setArrayType([], type$.JSArray_double));
    },
    PluginUtilities_getCallbackHandle(callback) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    PluginUtilities_getCallbackFromHandle(handle) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    ClipOp: function ClipOp(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PathFillType: function PathFillType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _ChannelCallbackRecord: function _ChannelCallbackRecord(t0, t1) {
      this._callback = t0;
      this._ui$_zone = t1;
    },
    _StoredMessage: function _StoredMessage(t0, t1, t2) {
      this.data = t0;
      this._callback = t1;
      this._ui$_zone = t2;
    },
    _Channel: function _Channel(t0, t1) {
      var _ = this;
      _._queue = t0;
      _.debugEnableDiscardWarnings = true;
      _._capacity = t1;
      _._draining = false;
      _._channelCallbackRecord = null;
    },
    ChannelBuffers: function ChannelBuffers(t0) {
      this._channels = t0;
    },
    ChannelBuffers_push_closure: function ChannelBuffers_push_closure() {
    },
    ChannelBuffers_setListener_closure: function ChannelBuffers_setListener_closure() {
    },
    OffsetBase: function OffsetBase() {
    },
    Offset: function Offset(t0, t1) {
      this._dx = t0;
      this._dy = t1;
    },
    Size: function Size(t0, t1) {
      this._dx = t0;
      this._dy = t1;
    },
    Rect: function Rect(t0, t1, t2, t3) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
    },
    Radius: function Radius(t0, t1) {
      this.x = t0;
      this.y = t1;
    },
    RRect: function RRect(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
      _.tlRadiusX = t4;
      _.tlRadiusY = t5;
      _.trRadiusX = t6;
      _.trRadiusY = t7;
      _.brRadiusX = t8;
      _.brRadiusY = t9;
      _.blRadiusX = t10;
      _.blRadiusY = t11;
      _.webOnlyUniformRadii = t12;
    },
    webOnlyWarmupEngine_closure: function webOnlyWarmupEngine_closure() {
    },
    webOnlyWarmupEngine_closure0: function webOnlyWarmupEngine_closure0(t0, t1) {
      this.registerPlugins = t0;
      this.runApp = t1;
    },
    PlatformViewRegistry: function PlatformViewRegistry() {
    },
    KeyEventType: function KeyEventType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    KeyData: function KeyData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.timeStamp = t0;
      _.type = t1;
      _.physical = t2;
      _.logical = t3;
      _.character = t4;
      _.synthesized = t5;
    },
    KeyData__logicalToString_closure: function KeyData__logicalToString_closure(t0) {
      this.planeNum = t0;
    },
    KeyData__quotedCharCode_closure: function KeyData__quotedCharCode_closure() {
    },
    Color: function Color(t0) {
      this.value = t0;
    },
    StrokeCap: function StrokeCap(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    StrokeJoin: function StrokeJoin(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PaintingStyle: function PaintingStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    BlendMode: function BlendMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Clip: function Clip(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    BlurStyle: function BlurStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MaskFilter: function MaskFilter(t0, t1) {
      this._ui$_style = t0;
      this._sigma = t1;
    },
    FilterQuality: function FilterQuality(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ImageByteFormat: function ImageByteFormat(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    webOnlyInstantiateImageCodecFromUrl_closure: function webOnlyInstantiateImageCodecFromUrl_closure(t0, t1) {
      this.uri = t0;
      this.chunkCallback = t1;
    },
    Shadow: function Shadow(t0, t1, t2) {
      this.color = t0;
      this.offset = t1;
      this.blurRadius = t2;
    },
    ImmutableBuffer: function ImmutableBuffer(t0) {
      this._ui$_list = null;
      this._ui$_length = t0;
    },
    PlatformDispatcher: function PlatformDispatcher() {
    },
    PlatformConfiguration: function PlatformConfiguration(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.accessibilityFeatures = t0;
      _.alwaysUse24HourFormat = t1;
      _.semanticsEnabled = t2;
      _.platformBrightness = t3;
      _.textScaleFactor = t4;
      _.locales = t5;
      _.defaultRouteName = t6;
      _.systemFontFamily = t7;
    },
    ViewConfiguration0: function ViewConfiguration0() {
    },
    FrameTiming: function FrameTiming(t0) {
      this._ui$_data = t0;
    },
    AppLifecycleState: function AppLifecycleState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Locale: function Locale(t0, t1) {
      this._languageCode = t0;
      this._countryCode = t1;
    },
    PointerChange: function PointerChange(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PointerDeviceKind: function PointerDeviceKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PointerSignalKind: function PointerSignalKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PointerData: function PointerData(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) {
      var _ = this;
      _.timeStamp = t0;
      _.change = t1;
      _.kind = t2;
      _.signalKind = t3;
      _.device = t4;
      _.pointerIdentifier = t5;
      _.physicalX = t6;
      _.physicalY = t7;
      _.physicalDeltaX = t8;
      _.physicalDeltaY = t9;
      _.buttons = t10;
      _.obscured = t11;
      _.synthesized = t12;
      _.pressure = t13;
      _.pressureMin = t14;
      _.pressureMax = t15;
      _.distance = t16;
      _.distanceMax = t17;
      _.size = t18;
      _.radiusMajor = t19;
      _.radiusMinor = t20;
      _.radiusMin = t21;
      _.radiusMax = t22;
      _.orientation = t23;
      _.tilt = t24;
      _.platformData = t25;
      _.scrollDeltaX = t26;
      _.scrollDeltaY = t27;
    },
    PointerDataPacket: function PointerDataPacket(t0) {
      this.data = t0;
    },
    SemanticsAction: function SemanticsAction(t0) {
      this.index = t0;
    },
    SemanticsFlag: function SemanticsFlag(t0) {
      this.index = t0;
    },
    SemanticsUpdateBuilder: function SemanticsUpdateBuilder(t0) {
      this._nodeUpdates = t0;
    },
    FontStyle: function FontStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PlaceholderAlignment: function PlaceholderAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FontWeight: function FontWeight(t0) {
      this.index = t0;
    },
    FontFeature: function FontFeature() {
    },
    TextAlign: function TextAlign(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextBaseline: function TextBaseline(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextDecoration: function TextDecoration(t0) {
      this._mask = t0;
    },
    TextDecorationStyle: function TextDecorationStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextLeadingDistribution: function TextLeadingDistribution(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextHeightBehavior: function TextHeightBehavior(t0, t1, t2) {
      this.applyHeightToFirstAscent = t0;
      this.applyHeightToLastDescent = t1;
      this.leadingDistribution = t2;
    },
    TextDirection: function TextDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextBox: function TextBox(t0, t1, t2, t3, t4) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
      _.direction = t4;
    },
    TextAffinity: function TextAffinity(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextPosition: function TextPosition(t0, t1) {
      this.offset = t0;
      this.affinity = t1;
    },
    TextRange: function TextRange(t0, t1) {
      this.start = t0;
      this.end = t1;
    },
    ParagraphConstraints: function ParagraphConstraints(t0) {
      this.width = t0;
    },
    BoxHeightStyle: function BoxHeightStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    BoxWidthStyle: function BoxWidthStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TileMode: function TileMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FlutterView: function FlutterView() {
    },
    FlutterWindow: function FlutterWindow() {
    },
    SingletonFlutterWindow: function SingletonFlutterWindow() {
    },
    Brightness: function Brightness(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    CallbackHandle: function CallbackHandle(t0) {
      this._ui$_handle = t0;
    },
    GestureSettings: function GestureSettings() {
    },
    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;
    },
    AudioTrack: function AudioTrack() {
    },
    AudioTrackList: function AudioTrackList() {
    },
    BaseAudioContext: function BaseAudioContext() {
    },
    OfflineAudioContext: function OfflineAudioContext() {
    },
    _AudioParamMap_JavaScriptObject_MapMixin: function _AudioParamMap_JavaScriptObject_MapMixin() {
    },
    ActiveInfo: function ActiveInfo() {
    },
    decodeAnsiColorEscapeCodes($async$text, $async$ansiUp) {
      return A._makeSyncStarIterable(function() {
        var text = $async$text,
          ansiUp = $async$ansiUp;
        var $async$goto = 0, $async$handler = 1, $async$currentError, packet, t1, t2, t3, t4;
        return function $async$decodeAnsiColorEscapeCodes($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
                ansiUp.__AnsiUp__text = text;
              case 2:
                // for condition
                // trivial condition
                packet = ansiUp._getNextPacket$0();
                t1 = packet.kind;
                if (t1 === B.PacketKind_0 || t1 === B.PacketKind_2) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                if (t1 === B.PacketKind_3 || t1 === B.PacketKind_4) {
                  // goto for condition
                  $async$goto = 2;
                  break;
                }
                $async$goto = t1 === B.PacketKind_1 ? 4 : 6;
                break;
              case 4:
                // then
                t1 = ansiUp.bold;
                t2 = ansiUp.fg;
                t3 = ansiUp.bg;
                t4 = packet.text;
                if (t2 == null)
                  t2 = null;
                else {
                  t2 = t2.rgb;
                  t2 = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
                }
                if (t3 == null)
                  t3 = null;
                else {
                  t3 = t3.rgb;
                  t3 = A._setArrayType(t3.slice(0), A._arrayInstanceType(t3));
                }
                $async$goto = 7;
                return new A.StyledText(t4, t2, t3, t1);
              case 7:
                // after yield
                // goto join
                $async$goto = 5;
                break;
              case 6:
                // else
                $async$goto = t1 === B.PacketKind_5 ? 8 : 10;
                break;
              case 8:
                // then
                ansiUp._processAnsi$1(packet);
                // goto join
                $async$goto = 9;
                break;
              case 10:
                // else
                $async$goto = t1 === B.PacketKind_6 ? 11 : 12;
                break;
              case 11:
                // then
                t1 = B.JSString_methods.startsWith$1("", "http:") || B.JSString_methods.startsWith$1("", "https:");
                t2 = packet.text;
                $async$goto = t1 ? 13 : 15;
                break;
              case 13:
                // then
                $async$goto = 16;
                return new A.StyledText(t2, null, null, false);
              case 16:
                // after yield
                // goto join
                $async$goto = 14;
                break;
              case 15:
                // else
                $async$goto = 17;
                return new A.StyledText(t2, null, null, false);
              case 17:
                // after yield
              case 14:
                // join
              case 12:
                // join
              case 9:
                // join
              case 5:
                // join
                // 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);
            }
        };
      }, type$.StyledText);
    },
    AnsiUp: function AnsiUp(t0, t1) {
      var _ = this;
      _.__AnsiUp__text = $;
      _.bold = false;
      _.ansiColors = t0;
      _.palette256 = t1;
      _._csiRegex = _.bg = _.fg = null;
    },
    AnsiUpColor: function AnsiUpColor(t0, t1) {
      this.rgb = t0;
      this.className = t1;
    },
    PacketKind: function PacketKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _TextPacket: function _TextPacket(t0) {
      this.kind = t0;
      this.text = "";
    },
    StyledText: function StyledText(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.fgColor = t1;
      _.bgColor = t2;
      _.bold = t3;
    },
    ArchiveException$(message) {
      return new A.ArchiveException(message, null, null);
    },
    ArchiveException: function ArchiveException(t0, t1, t2) {
      this.message = t0;
      this.source = t1;
      this.offset = t2;
    },
    InputStream$(data, byteOrder, $length, start) {
      var t1, t2;
      if (type$.TypedData._is(data))
        t1 = A.NativeUint8List_NativeUint8List$view(data.buffer, data.byteOffset, data.byteLength);
      else
        t1 = type$.List_int._is(data) ? data : A.List_List$from(type$.Iterable_dynamic._as(data), true, type$.int);
      t2 = new A.InputStream(t1, start, start, byteOrder);
      t2.__InputStream__length = $length == null ? t1.length : $length;
      return t2;
    },
    InputStreamBase: function InputStreamBase() {
    },
    InputStream: function InputStream(t0, t1, t2, t3) {
      var _ = this;
      _.buffer = t0;
      _.offset = t1;
      _.start = t2;
      _.byteOrder = t3;
      _.__InputStream__length = $;
    },
    OutputStream$(size) {
      return new A.OutputStream(new Uint8Array(32768));
    },
    OutputStreamBase: function OutputStreamBase() {
    },
    OutputStream: function OutputStream(t0) {
      this.length = 0;
      this._output_stream$_buffer = t0;
    },
    _ZLibDecoder: function _ZLibDecoder() {
    },
    HuffmanTable$(lengths) {
      var t1 = new A.HuffmanTable();
      t1.HuffmanTable$1(lengths);
      return t1;
    },
    HuffmanTable: function HuffmanTable() {
      this.__HuffmanTable_table = $;
      this.maxCodeLength = 0;
      this.minCodeLength = 2147483647;
    },
    Inflate$(bytes) {
      var t1 = A.HuffmanTable$(B.List_2Bc),
        t2 = A.HuffmanTable$(B.List_X3d);
      t2 = new A.Inflate(A.InputStream$(bytes, 0, null, 0), A.OutputStream$(null), t1, t2);
      t2.inputSet = true;
      t2._inflate$0();
      return t2;
    },
    Inflate: function Inflate(t0, t1, t2, t3) {
      var _ = this;
      _.__Inflate_input = t0;
      _.inputSet = false;
      _.output = t1;
      _._bitBufferLen = _._bitBuffer = 0;
      _._fixedLiteralLengthTable = t2;
      _._fixedDistanceTable = t3;
    },
    ZLibDecoderBase: function ZLibDecoderBase() {
    },
    ZLibDecoder: function ZLibDecoder() {
    },
    AsyncMemoizer: function AsyncMemoizer(t0, t1) {
      this._async_memoizer$_completer = t0;
      this.$ti = t1;
    },
    CancelableOperation_CancelableOperation$fromFuture(result, $T) {
      var value,
        t1 = $.Zone__current;
      t1 = new A.CancelableCompleter(new A._AsyncCompleter(new A._Future(t1, $T._eval$1("_Future<0>")), $T._eval$1("_AsyncCompleter<0>")), new A._AsyncCompleter(new A._Future(t1, type$._Future_void), type$._AsyncCompleter_void), null, $T._eval$1("CancelableCompleter<0>"));
      t1.complete$1(0, result);
      value = t1.__CancelableCompleter_operation;
      if (value === $) {
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = t1.__CancelableCompleter_operation = new A.CancelableOperation(t1, $T._eval$1("CancelableOperation<0>"));
      }
      return value;
    },
    CancelableOperation: function CancelableOperation(t0, t1) {
      this._cancelable_operation$_completer = t0;
      this.$ti = t1;
    },
    CancelableCompleter: function CancelableCompleter(t0, t1, t2, t3) {
      var _ = this;
      _._inner = t0;
      _._cancelCompleter = t1;
      _._cancelable_operation$_onCancel = t2;
      _._mayComplete = true;
      _.__CancelableCompleter_operation = $;
      _.$ti = t3;
    },
    CancelableCompleter_complete_closure: function CancelableCompleter_complete_closure(t0) {
      this.$this = t0;
    },
    CancelableCompleter_complete_closure0: function CancelableCompleter_complete_closure0(t0) {
      this.$this = t0;
    },
    DelegatingStreamSink: function DelegatingStreamSink() {
    },
    DelegatingStreamSubscription: function DelegatingStreamSubscription() {
    },
    ErrorResult: function ErrorResult(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    },
    ValueResult: function ValueResult(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    StreamCompleter: function StreamCompleter(t0, t1) {
      this._stream = t0;
      this.$ti = t1;
    },
    _CompleterStream: function _CompleterStream(t0) {
      this._sourceStream = this._stream_completer$_controller = null;
      this.$ti = t0;
    },
    StreamQueue: function StreamQueue(t0, t1, t2, t3) {
      var _ = this;
      _._stream_queue$_source = t0;
      _._stream_queue$_subscription = null;
      _._isClosed = _._stream_queue$_isDone = false;
      _._eventsReceived = 0;
      _._eventQueue = t1;
      _._requestQueue = t2;
      _.$ti = t3;
    },
    StreamQueue__ensureListening_closure: function StreamQueue__ensureListening_closure(t0) {
      this.$this = t0;
    },
    StreamQueue__ensureListening_closure1: function StreamQueue__ensureListening_closure1(t0) {
      this.$this = t0;
    },
    StreamQueue__ensureListening_closure0: function StreamQueue__ensureListening_closure0(t0) {
      this.$this = t0;
    },
    _PeekRequest: function _PeekRequest(t0, t1) {
      this._stream_queue$_completer = t0;
      this.$ti = t1;
    },
    _CancelRequest: function _CancelRequest(t0, t1, t2) {
      this._stream_queue$_completer = t0;
      this._streamQueue = t1;
      this.$ti = t2;
    },
    _RestRequest: function _RestRequest(t0, t1, t2) {
      this._stream_queue$_completer = t0;
      this._streamQueue = t1;
      this.$ti = t2;
    },
    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;
    },
    StringCharacterRange_StringCharacterRange$at(string, startIndex, endIndex) {
      var end, start,
        t1 = string.length;
      A.RangeError_checkValidRange(startIndex, endIndex, t1, "startIndex", "endIndex");
      end = endIndex == null ? startIndex : endIndex;
      start = A.previousBreak(string, 0, t1, startIndex);
      return new A.StringCharacterRange(string, start, end !== start ? A.nextBreak(string, 0, t1, end) : end);
    },
    _indexOf(source, pattern, start, end) {
      var realEnd, index, t1,
        patternLength = pattern.length;
      if (patternLength === 0)
        return start;
      realEnd = end - patternLength;
      if (realEnd < start)
        return -1;
      if (source.length - realEnd <= (realEnd - start) * 2) {
        index = 0;
        while (true) {
          if (start < realEnd) {
            index = B.JSString_methods.indexOf$2(source, pattern, start);
            t1 = index >= 0;
          } else
            t1 = false;
          if (!t1)
            break;
          if (index > realEnd)
            return -1;
          if (A.isGraphemeClusterBoundary(source, start, end, index) && A.isGraphemeClusterBoundary(source, start, end, index + patternLength))
            return index;
          start = index + 1;
        }
        return -1;
      }
      return A._gcIndexOf(source, pattern, start, end);
    },
    _gcIndexOf(source, pattern, start, end) {
      var t1, index, endIndex,
        breaks = new A.Breaks(source, end, start, 0);
      for (t1 = pattern.length; index = breaks.nextBreak$0(), index >= 0;) {
        endIndex = index + t1;
        if (endIndex > end)
          break;
        if (B.JSString_methods.startsWith$2(source, pattern, index) && A.isGraphemeClusterBoundary(source, start, end, endIndex))
          return index;
      }
      return -1;
    },
    StringCharacters: function StringCharacters(t0) {
      this.string = t0;
    },
    StringCharacters_whereType_closure: function StringCharacters_whereType_closure(t0) {
      this.T = t0;
    },
    StringCharacterRange: function StringCharacterRange(t0, t1, t2) {
      var _ = this;
      _._characters_impl$_string = t0;
      _._characters_impl$_start = t1;
      _._characters_impl$_end = t2;
      _._currentCache = null;
    },
    lookAhead(base, start, cursor, state) {
      if (state === 208)
        return A.lookAheadRegional(base, start, cursor);
      if (state === 224) {
        if (A.lookAheadPictorgraphicExtend(base, start, cursor) >= 0)
          return 145;
        return 64;
      }
      throw A.wrapException(A.StateError$("Unexpected state: " + B.JSInt_methods.toRadixString$1(state, 16)));
    },
    lookAheadRegional(base, start, cursor) {
      var index, count, index0, tail, lead;
      for (index = cursor, count = 0; index0 = index - 2, index0 >= start; index = index0) {
        tail = B.JSString_methods.codeUnitAt$1(base, index - 1);
        if ((tail & 64512) !== 56320)
          break;
        lead = B.JSString_methods.codeUnitAt$1(base, index0);
        if ((lead & 64512) !== 55296)
          break;
        if (A.high(lead, tail) !== 6)
          break;
        count ^= 1;
      }
      if (count === 0)
        return 193;
      else
        return 144;
    },
    lookAheadPictorgraphicExtend(base, start, cursor) {
      var index, char, category, prevChar, t1;
      for (index = cursor; index > start;) {
        --index;
        char = B.JSString_methods.codeUnitAt$1(base, index);
        if ((char & 64512) !== 56320)
          category = A.low(char);
        else {
          if (index > start) {
            --index;
            prevChar = B.JSString_methods.codeUnitAt$1(base, index);
            t1 = (prevChar & 64512) === 55296;
          } else {
            prevChar = 0;
            t1 = false;
          }
          if (t1)
            category = A.high(prevChar, char);
          else
            break;
        }
        if (category === 7)
          return index;
        if (category !== 4)
          break;
      }
      return -1;
    },
    isGraphemeClusterBoundary(text, start, end, index) {
      var char, index0, prevChar, catAfter, t1, nextChar, catBefore, prevPrevChar, state,
        _s208_ = string$.x10__0__;
      if (start < index && index < end) {
        char = B.JSString_methods.codeUnitAt$1(text, index);
        index0 = index - 1;
        prevChar = B.JSString_methods.codeUnitAt$1(text, index0);
        if ((char & 63488) !== 55296)
          catAfter = A.low(char);
        else if ((char & 64512) === 55296) {
          t1 = index + 1;
          if (t1 >= end)
            return true;
          nextChar = B.JSString_methods.codeUnitAt$1(text, t1);
          if ((nextChar & 64512) !== 56320)
            return true;
          catAfter = A.high(char, nextChar);
        } else
          return (prevChar & 64512) !== 55296;
        if ((prevChar & 64512) !== 56320) {
          catBefore = A.low(prevChar);
          index = index0;
        } else {
          index -= 2;
          if (start <= index) {
            prevPrevChar = B.JSString_methods.codeUnitAt$1(text, index);
            if ((prevPrevChar & 64512) !== 55296)
              return true;
            catBefore = A.high(prevPrevChar, prevChar);
          } else
            return true;
        }
        state = B.JSString_methods._codeUnitAt$1(_s208_, (B.JSString_methods._codeUnitAt$1(_s208_, (catAfter | 176) >>> 0) & 240 | catBefore) >>> 0);
        return ((state >= 208 ? A.lookAhead(text, start, index, state) : state) & 1) === 0;
      }
      return start !== end;
    },
    previousBreak(text, start, end, index) {
      var nextChar, category, indexBefore, indexAfter, secondChar, prevChar;
      if (index === start || index === end)
        return index;
      nextChar = B.JSString_methods.codeUnitAt$1(text, index);
      if ((nextChar & 63488) !== 55296) {
        category = A.low(nextChar);
        indexBefore = index;
      } else if ((nextChar & 64512) === 55296) {
        indexAfter = index + 1;
        if (indexAfter < end) {
          secondChar = B.JSString_methods.codeUnitAt$1(text, indexAfter);
          category = (secondChar & 64512) === 56320 ? A.high(nextChar, secondChar) : 2;
        } else
          category = 2;
        indexBefore = index;
      } else {
        indexBefore = index - 1;
        prevChar = B.JSString_methods.codeUnitAt$1(text, indexBefore);
        if ((prevChar & 64512) === 55296)
          category = A.high(prevChar, nextChar);
        else {
          indexBefore = index;
          category = 2;
        }
      }
      return new A.BackBreaks(text, start, indexBefore, B.JSString_methods._codeUnitAt$1(string$.x10__0__, (category | 176) >>> 0)).nextBreak$0();
    },
    nextBreak(text, start, end, index) {
      var indexBefore, prevChar, prevCategory, nextChar, secondCharIndex, secondChar, state, t1;
      if (index === start || index === end)
        return index;
      indexBefore = index - 1;
      prevChar = B.JSString_methods.codeUnitAt$1(text, indexBefore);
      if ((prevChar & 63488) !== 55296)
        prevCategory = A.low(prevChar);
      else if ((prevChar & 64512) === 55296) {
        nextChar = B.JSString_methods.codeUnitAt$1(text, index);
        if ((nextChar & 64512) === 56320) {
          ++index;
          if (index === end)
            return end;
          prevCategory = A.high(prevChar, nextChar);
        } else
          prevCategory = 2;
      } else if (indexBefore > start) {
        secondCharIndex = indexBefore - 1;
        secondChar = B.JSString_methods.codeUnitAt$1(text, secondCharIndex);
        if ((secondChar & 64512) === 55296) {
          prevCategory = A.high(secondChar, prevChar);
          indexBefore = secondCharIndex;
        } else
          prevCategory = 2;
      } else
        prevCategory = 2;
      if (prevCategory === 6)
        state = A.lookAheadRegional(text, start, indexBefore) !== 144 ? 160 : 48;
      else {
        t1 = prevCategory === 1;
        if (t1 || prevCategory === 4)
          if (A.lookAheadPictorgraphicExtend(text, start, indexBefore) >= 0)
            state = t1 ? 144 : 128;
          else
            state = 48;
        else
          state = B.JSString_methods._codeUnitAt$1(string$.x200_000, (prevCategory | 176) >>> 0);
      }
      return new A.Breaks(text, text.length, index, state).nextBreak$0();
    },
    Breaks: function Breaks(t0, t1, t2, t3) {
      var _ = this;
      _.base = t0;
      _.end = t1;
      _.cursor = t2;
      _.state = t3;
    },
    BackBreaks: function BackBreaks(t0, t1, t2, t3) {
      var _ = this;
      _.base = t0;
      _.start = t1;
      _.cursor = t2;
      _.state = t3;
    },
    CanonicalizedMap: function CanonicalizedMap() {
    },
    CanonicalizedMap_addAll_closure: function CanonicalizedMap_addAll_closure(t0) {
      this.$this = t0;
    },
    CanonicalizedMap_entries_closure: function CanonicalizedMap_entries_closure(t0) {
      this.$this = t0;
    },
    CanonicalizedMap_forEach_closure: function CanonicalizedMap_forEach_closure(t0, t1) {
      this.$this = t0;
      this.f = t1;
    },
    CanonicalizedMap_keys_closure: function CanonicalizedMap_keys_closure(t0) {
      this.$this = t0;
    },
    CanonicalizedMap_map_closure: function CanonicalizedMap_map_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.transform = t1;
      _.K2 = t2;
      _.V2 = t3;
    },
    CanonicalizedMap_putIfAbsent_closure: function CanonicalizedMap_putIfAbsent_closure(t0, t1, t2) {
      this.$this = t0;
      this.key = t1;
      this.ifAbsent = t2;
    },
    CanonicalizedMap_values_closure: function CanonicalizedMap_values_closure(t0) {
      this.$this = t0;
    },
    DefaultEquality: function DefaultEquality(t0) {
      this.$ti = t0;
    },
    IterableEquality: function IterableEquality(t0, t1) {
      this._elementEquality = t0;
      this.$ti = t1;
    },
    ListEquality: function ListEquality(t0, t1) {
      this._elementEquality = t0;
      this.$ti = t1;
    },
    _UnorderedEquality: function _UnorderedEquality() {
    },
    UnorderedIterableEquality: function UnorderedIterableEquality(t0, t1) {
      this._elementEquality = t0;
      this.$ti = t1;
    },
    SetEquality: function SetEquality(t0, t1) {
      this._elementEquality = t0;
      this.$ti = t1;
    },
    _MapEntry: function _MapEntry(t0, t1, t2) {
      this.equality = t0;
      this.key = t1;
      this.value = t2;
    },
    MapEquality: function MapEquality(t0, t1, t2) {
      this._keyEquality = t0;
      this._valueEquality = t1;
      this.$ti = t2;
    },
    DeepCollectionEquality: function DeepCollectionEquality(t0) {
      this._unordered = t0;
    },
    HeapPriorityQueue: function HeapPriorityQueue(t0, t1, t2) {
      var _ = this;
      _.comparison = t0;
      _._priority_queue$_queue = t1;
      _._priority_queue$_modificationCount = _._priority_queue$_length = 0;
      _.$ti = t2;
    },
    QueueList__computeInitialCapacity(initialCapacity) {
      return 8;
    },
    QueueList__nextPowerOf2(number) {
      var nextNumber;
      number = (number << 1 >>> 0) - 1;
      for (; true; number = nextNumber) {
        nextNumber = (number & number - 1) >>> 0;
        if (nextNumber === 0)
          return number;
      }
    },
    QueueList: function QueueList(t0, t1, t2, t3) {
      var _ = this;
      _._queue_list$_table = t0;
      _._queue_list$_head = t1;
      _._queue_list$_tail = t2;
      _.$ti = t3;
    },
    _CastQueueList: function _CastQueueList(t0, t1, t2, t3, t4) {
      var _ = this;
      _._queue_list$_delegate = t0;
      _._queue_list$_table = t1;
      _._queue_list$_head = t2;
      _._queue_list$_tail = t3;
      _.$ti = t4;
    },
    _QueueList_Object_ListMixin: function _QueueList_Object_ListMixin() {
    },
    XFileBase: function XFileBase() {
    },
    XFile$(path, lastModified, $length, $name) {
      var t1 = lastModified == null ? A.DateTime$fromMillisecondsSinceEpoch(0, false) : lastModified,
        t2 = $name == null ? "" : $name;
      return new A.XFile(t2, path, $length, t1);
    },
    XFile: function XFile(t0, t1, t2, t3) {
      var _ = this;
      _._html1$_name = t0;
      _.__XFile__path = t1;
      _._html1$_length = t2;
      _._lastModified = t3;
      _._browserBlob = null;
    },
    DdsExtension_getDartDevelopmentServiceVersion(_this) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Version),
        $async$returnValue, t1, $async$temp1;
      var $async$DdsExtension_getDartDevelopmentServiceVersion = 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 = $.DdsExtension__ddsVersion;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = $;
              $async$goto = 5;
              return A._asyncAwait(A.DdsExtension__callHelper(_this, "getDartDevelopmentServiceVersion", B.Map_empty7, type$.Version), $async$DdsExtension_getDartDevelopmentServiceVersion);
            case 5:
              // returning from await.
              t1 = $async$temp1.DdsExtension__ddsVersion = $async$result;
            case 4:
              // join
              t1.toString;
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$DdsExtension_getDartDevelopmentServiceVersion, $async$completer);
    },
    DdsExtension_getStreamHistory(_this, stream) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.StreamHistory),
        $async$returnValue, t1;
      var $async$DdsExtension_getStreamHistory = 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.DdsExtension__versionCheck(_this, 1, 2), $async$DdsExtension_getStreamHistory);
            case 3:
              // returning from await.
              if (!$async$result)
                throw A.wrapException(A.UnimplementedError$("getStreamHistory requires DDS version 1.2"));
              t1 = type$.dynamic;
              $async$returnValue = A.DdsExtension__callHelper(_this, "getStreamHistory", A.LinkedHashMap_LinkedHashMap$_literal(["stream", stream], t1, t1), type$.StreamHistory);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$DdsExtension_getStreamHistory, $async$completer);
    },
    DdsExtension_onEventWithHistory(_this, stream) {
      var controller = A._Cell$named("controller"),
        streamEvents = A._Cell$named("streamEvents");
      controller.__late_helper$_value = A.StreamController_StreamController(new A.DdsExtension_onEventWithHistory_closure(streamEvents), new A.DdsExtension_onEventWithHistory_closure0(streamEvents, _this, stream, controller), null, false, type$.Event_2);
      return J.get$stream$z(controller._readLocal$0());
    },
    DdsExtension__versionCheck(_this, major, minor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t2, t1, $async$temp1;
      var $async$DdsExtension__versionCheck = 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 = $.DdsExtension__ddsVersion;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = $;
              $async$goto = 5;
              return A._asyncAwait(A.DdsExtension_getDartDevelopmentServiceVersion(_this), $async$DdsExtension__versionCheck);
            case 5:
              // returning from await.
              t1 = $async$temp1.DdsExtension__ddsVersion = $async$result;
            case 4:
              // join
              t2 = t1.major;
              if (t2 === major) {
                t1 = t1.minor;
                t1.toString;
                t1 = t1 >= minor;
              } else
                t1 = false;
              if (!t1) {
                t2.toString;
                t1 = t2 > major;
              } else
                t1 = true;
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$DdsExtension__versionCheck, $async$completer);
    },
    DdsExtension__callHelper(_this, method, args, $T) {
      var t1, t2, t3;
      if (!$.DdsExtension__factoriesRegistered) {
        A.addTypeFactory("StreamHistory", A.dds_service_extensions_StreamHistory_parse$closure());
        A.addTypeFactory("AvailableCachedCpuSamples", A.dds_service_extensions_AvailableCachedCpuSamples_parse$closure());
        A.addTypeFactory("CachedCpuSamples", A.dds_service_extensions_CachedCpuSamples_parse$closure());
        $.DdsExtension__factoriesRegistered = true;
      }
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      for (t2 = args.get$entries(args), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      return _this.callServiceExtension$3$args$isolateId(method, t1, null).then$1$1(new A.DdsExtension__callHelper_closure($T), $T);
    },
    StreamHistory_parse(json) {
      return json == null ? null : A.StreamHistory$_fromJson(json);
    },
    StreamHistory$_fromJson(json) {
      var t1 = new A.StreamHistory(J.cast$1$0$ax(J.toList$0$ax(J.map$1$ax(J.$index$asx(json, "history"), new A.StreamHistory$_fromJson_closure())), type$.Event_2), null);
      t1.json = json;
      return t1;
    },
    CachedCpuSamples_parse(json) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "userTag").toString;
        t1.$index(json, "truncated");
        t2 = t1.$index(json, "samplePeriod");
        if (t2 == null)
          t2 = -1;
        t3 = t1.$index(json, "maxStackDepth");
        if (t3 == null)
          t3 = -1;
        t4 = t1.$index(json, "sampleCount");
        if (t4 == null)
          t4 = -1;
        t5 = t1.$index(json, "timeSpan");
        if (t5 == null)
          t5 = -1;
        t6 = t1.$index(json, "timeOriginMicros");
        if (t6 == null)
          t6 = -1;
        t7 = t1.$index(json, "timeExtentMicros");
        if (t7 == null)
          t7 = -1;
        t8 = t1.$index(json, "pid");
        if (t8 == null)
          t8 = -1;
        t9 = type$.nullable_List_dynamic;
        t10 = t9._as(A.createServiceObject(t1.$index(json, "functions"), B.List_ProfileFunction));
        if (t10 == null)
          t10 = [];
        t10 = A.List_List$from(t10, true, type$.ProfileFunction);
        t1 = t9._as(A.createServiceObject(t1.$index(json, "samples"), B.List_CpuSample));
        if (t1 == null)
          t1 = [];
        t1 = new A.CachedCpuSamples(t2, t3, t4, t5, t6, t7, t8, t10, A.List_List$from(t1, true, type$.CpuSample), null);
      }
      return t1;
    },
    AvailableCachedCpuSamples_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        A.List_List$from(J.$index$asx(json, "cacheNames"), true, type$.String);
        t1 = new A.AvailableCachedCpuSamples(null);
      }
      return t1;
    },
    DdsExtension_onEventWithHistory_closure0: function DdsExtension_onEventWithHistory_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.streamEvents = t0;
      _._this = t1;
      _.stream = t2;
      _.controller = t3;
    },
    DdsExtension_onEventWithHistory__closure: function DdsExtension_onEventWithHistory__closure(t0) {
      this._box_0 = t0;
    },
    DdsExtension_onEventWithHistory_closure: function DdsExtension_onEventWithHistory_closure(t0) {
      this.streamEvents = t0;
    },
    DdsExtension__callHelper_closure: function DdsExtension__callHelper_closure(t0) {
      this.T = t0;
    },
    StreamHistory: function StreamHistory(t0, t1) {
      this._dds_service_extensions$_history = t0;
      this.json = t1;
    },
    StreamHistory$_fromJson_closure: function StreamHistory$_fromJson_closure() {
    },
    CachedCpuSamples: function CachedCpuSamples(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.samplePeriod = t0;
      _.maxStackDepth = t1;
      _.sampleCount = t2;
      _.timeSpan = t3;
      _.timeOriginMicros = t4;
      _.timeExtentMicros = t5;
      _.pid = t6;
      _.functions = t7;
      _.samples = t8;
      _.json = t9;
    },
    AvailableCachedCpuSamples: function AvailableCachedCpuSamples(t0) {
      this.json = t0;
    },
    main0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, t1, t2, pathname, jsUrlStrategy, queryParams, t3, t4, t5;
      var $async$main0 = 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._handleLegacyUrl()) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.$get$_baseElement();
              t1 = t1 == null ? null : t1.getAttribute("href");
              if (t1 == null)
                A.throwExpression(A.Exception_Exception("Please add a <base> element to your index.html"));
              if (!J.endsWith$1$s(t1, "/"))
                A.throwExpression(A.Exception_Exception('The base href has to end with a "/" to work correctly'));
              t2 = $.$get$_urlParsingNode();
              t2.href = t1;
              pathname = t2.pathname;
              if (pathname == null)
                pathname = "";
              t1 = new A.PathUrlStrategy(A.stripTrailingSlash(pathname.length === 0 || pathname[0] === "/" ? pathname : "/" + pathname), B.C_BrowserPlatformLocation);
              jsUrlStrategy = {getPath: A.allowInterop(t1.get$getPath(t1)), getState: A.allowInterop(t1.get$getState(t1)), addPopStateListener: A.allowInterop(t1.get$addPopStateListener(t1)), prepareExternalUrl: A.allowInterop(t1.get$prepareExternalUrl(t1)), pushState: A.allowInterop(t1.get$pushState(t1)), replaceState: A.allowInterop(t1.get$replaceState(t1)), go: A.allowInterop(t1.get$go(t1))};
              jsUrlStrategy = jsUrlStrategy;
              self._flutter_web_set_location_strategy.call$1(jsUrlStrategy);
              $async$goto = 3;
              return A._asyncAwait(A.initializeFramework(), $async$main0);
            case 3:
              // returning from await.
              queryParams = A.devToolsQueryParams(String(window.location));
              t1 = A._tryParseColor(queryParams.$index(0, "backgroundColor"));
              A._tryParseColor(queryParams.$index(0, "foregroundColor"));
              t2 = A._tryParseDouble(queryParams.$index(0, "fontSize"));
              if (t2 == null)
                t2 = 14;
              t3 = J.$eq$(queryParams.$index(0, "embed"), "true");
              if (t1 != null) {
                t4 = document.body.style;
                t5 = A.toCssHexColor(t1);
                t4.backgroundColor = t5;
              }
              $.globals.$indexSet(0, B.Type_IdeTheme_NnV, new A.IdeTheme(t1, t2, t3));
              t1 = $.$get$ChangeNotifier__emptyListeners();
              t2 = type$.ValueNotifier_bool;
              $async$goto = 4;
              return A._asyncAwait(new A.PreferencesController(new A.ValueNotifier(true, t1, t2), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), new A.InspectorPreferencesController(new A.ValueNotifier(false, t1, t2))).init$0(), $async$main0);
            case 4:
              // returning from await.
              $async$goto = 5;
              return A._asyncAwait(A.SyntaxHighlighter_initialize(), $async$main0);
            case 5:
              // returning from await.
              $.globals.$indexSet(0, B.Type_DevToolsExtensionPoints_RWS, new A.ExternalDevToolsExtensionPoints());
              A.setupErrorHandling(new A.main_closure1());
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$main0, $async$completer);
    },
    _handleLegacyUrl() {
      var url = String(window.location),
        newUrl = A.mapLegacyUrl(url);
      if (newUrl != null) {
        window.location.replace(newUrl);
        return true;
      }
      return false;
    },
    main_closure1: function main_closure1() {
    },
    devToolsAnalyticsController() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.AnalyticsController),
        $async$returnValue, $async$handler = 2, $async$currentError, enabled, firstRun, exception, t2, t3, t4, t5, t6, t1, $async$exception;
      var $async$devToolsAnalyticsController = 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 = $._controllerCompleter;
              if (t1 != null) {
                $async$returnValue = t1.future;
                // goto return
                $async$goto = 1;
                break;
              }
              $._controllerCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_AnalyticsController), type$._AsyncCompleter_AnalyticsController);
              enabled = false;
              firstRun = false;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(A.isAnalyticsEnabled(), $async$devToolsAnalyticsController);
            case 7:
              // returning from await.
              if ($async$result)
                enabled = true;
              $async$goto = 8;
              return A._asyncAwait(A.isFirstRun(), $async$devToolsAnalyticsController);
            case 8:
              // returning from await.
              if ($async$result)
                firstRun = true;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              t1 = $._controllerCompleter;
              t1.toString;
              t2 = enabled;
              t3 = firstRun;
              t4 = $.$get$ChangeNotifier__emptyListeners();
              t5 = type$.ValueNotifier_bool;
              t6 = new A.ValueNotifier(t2, t4, t5);
              t2 = t3 && !t2;
              t5 = new A.AnalyticsController(t6, new A.ValueNotifier(t2, t4, t5), A._analytics_web__enableAnalytics$closure(), A._analytics_web__disableAnalytics$closure(), new A.devToolsAnalyticsController_closure());
              if (t2)
                t5.toggleAnalyticsEnabled$1(true);
              if (t6._change_notifier$_value)
                t5.setUpAnalytics$0();
              t1.complete$1(0, t5);
              $async$returnValue = $._controllerCompleter.future;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$devToolsAnalyticsController, $async$completer);
    },
    devToolsAnalyticsController_closure: function devToolsAnalyticsController_closure() {
    },
    _gtagEvent(event_category, event_label, non_interaction, screenMetrics, send_to, value) {
      var t10, t11, t12, t13, t14, t15, _null = null,
        t1 = $._userAppType,
        t2 = $._userBuildType,
        t3 = $._userPlatformType,
        t4 = $._devtoolsPlatformType,
        t5 = $._devtoolsChrome,
        t6 = $._ideLaunched,
        t7 = $._flutterClientId,
        t8 = String(true),
        t9 = String($.globals.$index(0, B.Type_IdeTheme_NnV).embed);
      $.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS);
      t10 = screenMetrics instanceof A.PerformanceScreenMetrics;
      if (t10) {
        t11 = screenMetrics.uiDuration;
        t11 = t11 == null ? _null : t11._duration;
      } else
        t11 = _null;
      if (t10) {
        t12 = screenMetrics.rasterDuration;
        t12 = t12 == null ? _null : t12._duration;
      } else
        t12 = _null;
      if (t10) {
        t13 = screenMetrics.shaderCompilationDuration;
        t13 = t13 == null ? _null : t13._duration;
      } else
        t13 = _null;
      t14 = screenMetrics instanceof A.ProfilerScreenMetrics;
      t15 = t14 ? screenMetrics.cpuSampleCount : _null;
      t14 = t14 ? screenMetrics.cpuStackDepth : _null;
      t10 = t10 ? screenMetrics.traceEventCount : _null;
      return {event_category: event_category, event_label: event_label, send_to: send_to, value: value, non_interaction: non_interaction, user_app: t1, user_build: t2, user_platform: t3, devtools_platform: t4, devtools_chrome: t5, devtools_version: "2.15.0", ide_launched: t6, flutter_client_id: t7, is_external_build: t8, is_embedded: t9, g3_username: null, ui_duration_micros: t11, raster_duration_micros: t12, shader_compilation_duration_micros: t13, cpu_sample_count: t15, cpu_stack_depth: t14, trace_event_count: t10};
    },
    isAnalyticsEnabled() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      var $async$isAnalyticsEnabled = 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.isAnalyticsEnabled0(), $async$isAnalyticsEnabled);
            case 3:
              // 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$isAnalyticsEnabled, $async$completer);
    },
    setAnalyticsEnabled(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      var $async$setAnalyticsEnabled = 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.setAnalyticsEnabled0(value), $async$setAnalyticsEnabled);
            case 3:
              // 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$setAnalyticsEnabled, $async$completer);
    },
    screen(screenName) {
      A.GTag_event(screenName, A._gtagEvent("screen", null, false, null, self.getDevToolsPropertyID(), 0));
    },
    timeStart(screenName, timedOperation) {
      $._timedOperationsInProgress.$indexSet(0, screenName + "-" + timedOperation, new A.DateTime(Date.now(), false));
    },
    timeEnd(screenName, timedOperation) {
      var t2,
        t1 = Date.now(),
        startTime = $._timedOperationsInProgress.remove$1(0, screenName + "-" + timedOperation);
      if (startTime == null) {
        A.log('Could not time operation "' + timedOperation + '" because a) `timeEnd` was called before `timeStart` or b) the `screenName` and `timedOperation`parameters for the `timeStart` and `timeEnd` calls do not match.', B.LogLevel_1);
        return;
      }
      t2 = startTime._value;
      A._timing(screenName, timedOperation, 1000 * t1 - 1000 * t2, null);
    },
    timeAsync(screenName, timedOperation, asyncOperation, screenMetricsProvider) {
      return A.timeAsync$body(screenName, timedOperation, asyncOperation, screenMetricsProvider);
    },
    timeAsync$body(screenName, timedOperation, asyncOperation, screenMetricsProvider) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, e, st, exception, t2, t3, t1, $async$exception;
      var $async$timeAsync = 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 = Date.now();
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(asyncOperation.call$0(), $async$timeAsync);
            case 7:
              // returning from await.
              $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);
              st = A.getTraceFromException($async$exception);
              A.log('Could not time async operation "' + timedOperation + '" because an exception was thrown:\n' + A.S(e) + "\n" + A.S(st), B.LogLevel_1);
              // 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
              t2 = Date.now();
              t3 = screenMetricsProvider.call$0();
              A._timing(screenName, timedOperation, 1000 * t2 - 1000 * t1, t3);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$timeAsync, $async$completer);
    },
    _timing(screenName, timedOperation, durationMicros, screenMetrics) {
      A.GTag_event(screenName, A._gtagEvent("timing", timedOperation, false, screenMetrics, self.getDevToolsPropertyID(), durationMicros));
    },
    select(screenName, selectedItem, nonInteraction, screenMetricsProvider) {
      var t1 = self.getDevToolsPropertyID();
      A.GTag_event(screenName, A._gtagEvent("select", selectedItem, nonInteraction, screenMetricsProvider != null ? screenMetricsProvider.call$0() : null, t1, 0));
    },
    reportError(errorMessage) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9;
      if ($._lastGaError === errorMessage)
        return;
      $._lastGaError = errorMessage;
      t1 = $._userAppType;
      t2 = $._userBuildType;
      t3 = $._userPlatformType;
      t4 = $._devtoolsPlatformType;
      t5 = $._devtoolsChrome;
      t6 = $._ideLaunched;
      t7 = $._flutterClientId;
      t8 = String(true);
      t9 = String($.globals.$index(0, B.Type_IdeTheme_NnV).embed);
      $.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS);
      A.GTag_exception({description: errorMessage, fatal: false, user_app: t1, user_build: t2, user_platform: t3, devtools_platform: t4, devtools_chrome: t5, devtools_version: "2.15.0", ide_launched: t6, flutter_client_id: t7, is_external_build: t8, is_embedded: t9, g3_username: null, ui_duration_micros: null, raster_duration_micros: null, shader_compilation_duration_micros: null, cpu_sample_count: null, cpu_stack_depth: null, trace_event_count: null});
    },
    _computeUserApplicationCustomGTagData() {
      var t1, t2;
      if ($._userApplicationDimensionsComputed)
        return;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
      t1.toString;
      if (t1) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm;
        t1 = t1 == null ? null : t1.operatingSystem;
        $._userPlatformType = t1 == null ? "unknown" : t1;
      }
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      t2 = t1.get$isFlutterAppNow();
      t2.toString;
      if (t2) {
        t1 = t1.get$isDartWebAppNow();
        t1.toString;
      } else
        t1 = false;
      if (t1)
        $._userAppType = "flutter_web";
      else {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
        t1.toString;
        if (t1)
          $._userAppType = "flutter";
        else {
          t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isDartWebAppNow();
          t1.toString;
          if (t1)
            $._userAppType = "web";
          else
            $._userAppType = "dart_cli";
        }
      }
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuildNow();
      t1.toString;
      $._userBuildType = t1 ? "profile" : "debug";
      $._analyticsComputed = true;
    },
    enableAnalytics() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      var $async$enableAnalytics = 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.setAnalyticsEnabled(true), $async$enableAnalytics);
            case 3:
              // 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$enableAnalytics, $async$completer);
    },
    disableAnalytics() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      var $async$disableAnalytics = 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.setAnalyticsEnabled(false), $async$disableAnalytics);
            case 3:
              // 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$disableAnalytics, $async$completer);
    },
    computeDevToolsCustomGTagsData() {
      var splits, len, index, value,
        t1 = window.navigator.platform;
      t1.toString;
      A.stringReplaceAllUnchecked(t1, " ", "_");
      $._devtoolsPlatformType = t1;
      splits = window.navigator.appVersion.split(" ");
      len = splits.length;
      for (t1 = "CrOS_" + t1, index = 0; index < len; ++index) {
        value = splits[index];
        if (B.JSString_methods.startsWith$1(value, "Chrome/") || B.JSString_methods.startsWith$1(value, "Crios/"))
          $._devtoolsChrome = value;
        else if (B.JSString_methods.startsWith$1(value, "Android"))
          $._devtoolsPlatformType = "Android_" + A.S(splits[index + 1]);
        else if (value === "CrOS")
          $._devtoolsPlatformType = t1;
      }
    },
    computeFlutterClientId() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$temp1;
      var $async$computeFlutterClientId = 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 = $;
              $async$goto = 2;
              return A._asyncAwait(A.flutterGAClientID(), $async$computeFlutterClientId);
            case 2:
              // returning from await.
              $async$temp1._flutterClientId = $async$result;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$computeFlutterClientId, $async$completer);
    },
    setupDimensions() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        ideValue;
      var $async$setupDimensions = 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 = !$._analyticsComputed && !$._computingDimensions ? 2 : 3;
              break;
            case 2:
              // then
              $._computingDimensions = true;
              A.computeDevToolsCustomGTagsData();
              $._ideLaunched = "CLI";
              ideValue = A.devToolsQueryParams(String(window.location)).$index(0, "ide");
              if (ideValue != null)
                $._ideLaunched = ideValue;
              $async$goto = 4;
              return A._asyncAwait(A.computeFlutterClientId(), $async$setupDimensions);
            case 4:
              // returning from await.
              $._analyticsComputed = true;
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setupDimensions, $async$completer);
    },
    GtagEventDevTools: function GtagEventDevTools() {
    },
    GtagExceptionDevTools: function GtagExceptionDevTools() {
    },
    ScreenAnalyticsMetrics: function ScreenAnalyticsMetrics() {
    },
    analyticsController() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.AnalyticsController),
        $async$returnValue;
      var $async$analyticsController = 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.devToolsAnalyticsController(), $async$analyticsController);
            case 3:
              // 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$analyticsController, $async$completer);
    },
    AnalyticsController: function AnalyticsController(t0, t1, t2, t3, t4) {
      var _ = this;
      _._analyticsEnabled = t0;
      _._shouldPrompt = t1;
      _._analyticsInitialized = false;
      _.onEnableAnalytics = t2;
      _.onDisableAnalytics = t3;
      _.onSetupAnalytics = t4;
    },
    AnalyticsPrompt: function AnalyticsPrompt(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _AnalyticsPromptState: function _AnalyticsPromptState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _AnalyticsPromptState_build_closure: function _AnalyticsPromptState_build_closure(t0) {
      this.$this = t0;
    },
    _AnalyticsPromptState__analyticsDescription_closure: function _AnalyticsPromptState__analyticsDescription_closure(t0) {
      this.$this = t0;
    },
    _AnalyticsPromptState__actionButtons_closure: function _AnalyticsPromptState__actionButtons_closure(t0) {
      this.$this = t0;
    },
    _AnalyticsPromptState__actionButtons_closure0: function _AnalyticsPromptState__actionButtons_closure0(t0) {
      this.$this = t0;
    },
    __AnalyticsPromptState_State_ProvidedControllerMixin: function __AnalyticsPromptState_State_ProvidedControllerMixin() {
    },
    defaultScreens() {
      var _null = null,
        t1 = $.$get$ChangeNotifier__emptyListeners(),
        vmDeveloperToolsController = new A.VMDeveloperToolsController(new A.ValueNotifier(0, t1, type$.ValueNotifier_int), new A.ValueNotifier(false, t1, type$.ValueNotifier_bool));
      t1 = A._setArrayType([new A.DevToolsScreen(B.InspectorScreen_IKQ, new A.defaultScreens_closure(), _null, false, type$.DevToolsScreen_InspectorSettingsController), new A.DevToolsScreen(B.PerformanceScreen_mlz, new A.defaultScreens_closure0(), _null, true, type$.DevToolsScreen_PerformanceController), new A.DevToolsScreen(B.ProfilerScreen_yvr, new A.defaultScreens_closure1(), _null, true, type$.DevToolsScreen_ProfilerScreenController), new A.DevToolsScreen(B.MemoryScreen_EaX, new A.defaultScreens_closure2(), _null, false, type$.DevToolsScreen_MemoryController), new A.DevToolsScreen(B.DebuggerScreen_PAI, new A.defaultScreens_closure3(), _null, false, type$.DevToolsScreen_DebuggerController), new A.DevToolsScreen(B.NetworkScreen_C3n, new A.defaultScreens_closure4(), _null, false, type$.DevToolsScreen_NetworkController), new A.DevToolsScreen(B.LoggingScreen_8iL, new A.defaultScreens_closure5(), _null, false, type$.DevToolsScreen_LoggingController), new A.DevToolsScreen(B.ProviderScreen_Aec, new A.defaultScreens_closure6(), _null, false, type$.DevToolsScreen_void), new A.DevToolsScreen(B.AppSizeScreen_ato, new A.defaultScreens_closure7(), _null, false, type$.DevToolsScreen_AppSizeController), new A.DevToolsScreen(new A.VMDeveloperToolsScreen(vmDeveloperToolsController, true, "vm-tools", "VM Tools", B.IconData_58753_MaterialIcons_false, _null, _null, false, false, true, false, _null), _null, vmDeveloperToolsController, false, type$.DevToolsScreen_VMDeveloperToolsController)], type$.JSArray_DevToolsScreen_dynamic);
      return t1;
    },
    DevToolsApp: function DevToolsApp(t0, t1, t2) {
      this.screens = t0;
      this.analyticsController = t1;
      this.key = t2;
    },
    DevToolsAppState: function DevToolsAppState(t0, t1) {
      var _ = this;
      _._isDarkThemeEnabled = true;
      _.__DevToolsAppState_releaseNotesController = $;
      _._routes = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    DevToolsAppState__screens_closure: function DevToolsAppState__screens_closure() {
    },
    DevToolsAppState_initState_closure: function DevToolsAppState_initState_closure(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState__closure2: function DevToolsAppState_initState__closure2(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState_closure0: function DevToolsAppState_initState_closure0(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState__closure1: function DevToolsAppState_initState__closure1(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState_closure1: function DevToolsAppState_initState_closure1(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState__closure0: function DevToolsAppState_initState__closure0(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState_closure2: function DevToolsAppState_initState_closure2(t0) {
      this.$this = t0;
    },
    DevToolsAppState_initState__closure: function DevToolsAppState_initState__closure(t0) {
      this.$this = t0;
    },
    DevToolsAppState__buildTabbedPage_closure: function DevToolsAppState__buildTabbedPage_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.embed = t2;
      _.hide = t3;
    },
    DevToolsAppState__buildTabbedPage__closure: function DevToolsAppState__buildTabbedPage__closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.embed = t2;
      _.hide = t3;
    },
    DevToolsAppState__buildTabbedPage___closure: function DevToolsAppState__buildTabbedPage___closure(t0, t1) {
      this._box_0 = t0;
      this.embed = t1;
    },
    DevToolsAppState__buildTabbedPage___closure0: function DevToolsAppState__buildTabbedPage___closure0(t0) {
      this.hide = t0;
    },
    DevToolsAppState_pages_closure: function DevToolsAppState_pages_closure(t0) {
      this.$this = t0;
    },
    DevToolsAppState_pages_closure0: function DevToolsAppState_pages_closure0(t0) {
      this.$this = t0;
    },
    DevToolsAppState__providedControllers_closure: function DevToolsAppState__providedControllers_closure(t0) {
      this.offline = t0;
    },
    DevToolsAppState__providedControllers_closure0: function DevToolsAppState__providedControllers_closure0() {
    },
    DevToolsAppState_build_closure: function DevToolsAppState_build_closure(t0) {
      this.$this = t0;
    },
    DevToolsScreen: function DevToolsScreen(t0, t1, t2, t3, t4) {
      var _ = this;
      _.screen = t0;
      _.createController = t1;
      _.controller = t2;
      _.supportsOffline = t3;
      _.$ti = t4;
    },
    DevToolsScreen_controllerProvider_closure: function DevToolsScreen_controllerProvider_closure(t0) {
      this.$this = t0;
    },
    OpenSettingsAction: function OpenSettingsAction(t0) {
      this.key = t0;
    },
    OpenSettingsAction_build_closure: function OpenSettingsAction_build_closure(t0) {
      this.context = t0;
    },
    OpenSettingsAction_build__closure: function OpenSettingsAction_build__closure() {
    },
    SettingsDialog: function SettingsDialog(t0) {
      this.key = t0;
    },
    CheckboxSetting: function CheckboxSetting(t0, t1, t2, t3, t4) {
      var _ = this;
      _.label = t0;
      _.listenable = t1;
      _.toggle = t2;
      _.gaItem = t3;
      _.key = t4;
    },
    CheckboxSetting_build_closure0: function CheckboxSetting_build_closure0(t0) {
      this.$this = t0;
    },
    CheckboxSetting_build_closure: function CheckboxSetting_build_closure(t0) {
      this.$this = t0;
    },
    defaultScreens_closure: function defaultScreens_closure() {
    },
    defaultScreens_closure0: function defaultScreens_closure0() {
    },
    defaultScreens_closure1: function defaultScreens_closure1() {
    },
    defaultScreens_closure2: function defaultScreens_closure2() {
    },
    defaultScreens_closure3: function defaultScreens_closure3() {
    },
    defaultScreens_closure4: function defaultScreens_closure4() {
    },
    defaultScreens_closure5: function defaultScreens_closure5() {
    },
    defaultScreens_closure6: function defaultScreens_closure6() {
    },
    defaultScreens_closure7: function defaultScreens_closure7() {
    },
    _DevToolsAppState_State_AutoDisposeMixin: function _DevToolsAppState_State_AutoDisposeMixin() {
    },
    drawTranslate(canvas, x, y, drawCode) {
      canvas.save$0(0);
      canvas.translate$2(0, x, y);
      drawCode.call$1(canvas);
      canvas.restore$0(0);
    },
    Chart$(controller) {
      controller.topPadding = 0;
      controller._title = "";
      return new A.Chart(controller, null);
    },
    Chart: function Chart(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    ChartState: function ChartState(t0, t1) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    ChartState__initSetup_closure: function ChartState__initSetup_closure(t0) {
      this.$this = t0;
    },
    ChartState__initSetup__closure: function ChartState__initSetup__closure(t0) {
      this.$this = t0;
    },
    ChartState_build_closure: function ChartState_build_closure(t0, t1) {
      this.$this = t0;
      this.colorScheme = t1;
    },
    ChartState_build__closure: function ChartState_build__closure(t0) {
      this.$this = t0;
    },
    PointAndBase: function PointAndBase(t0, t1, t2) {
      this.x = t0;
      this.y = t1;
      this.base = t2;
    },
    ChartPainter: function ChartPainter(t0, t1, t2) {
      this.chartController = t0;
      this.colorScheme = t1;
      this._repaint = t2;
    },
    ChartPainter_paint_closure: function ChartPainter_paint_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.canvas = t1;
      _.size = t2;
      _.axis = t3;
    },
    ChartPainter_paint_closure0: function ChartPainter_paint_closure0(t0) {
      this.traces = t0;
    },
    ChartPainter_paint_closure1: function ChartPainter_paint_closure1() {
    },
    ChartPainter_paint_closure2: function ChartPainter_paint_closure2(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._box_1 = t0;
      _._box_0 = t1;
      _.$this = t2;
      _.xCanvasCoord = t3;
      _.yValue = t4;
      _.traceData = t5;
      _.currentTracesData = t6;
      _.index = t7;
      _.trace = t8;
      _.previousTracesData = t9;
      _.tracesDataIndex = t10;
    },
    ChartPainter_paint_closure3: function ChartPainter_paint_closure3(t0, t1, t2) {
      this.$this = t0;
      this.canvas = t1;
      this.xCanvasCoord = t2;
    },
    ChartPainter_paint_closure4: function ChartPainter_paint_closure4(t0, t1) {
      this.$this = t0;
      this.axis = t1;
    },
    ChartPainter_paint_closure5: function ChartPainter_paint_closure5(t0, t1, t2) {
      this._box_1 = t0;
      this.$this = t1;
      this.axis = t2;
    },
    _ChartState_State_AutoDisposeMixin: function _ChartState_State_AutoDisposeMixin() {
    },
    ChartController: function ChartController() {
    },
    ChartController_zoomDuration_closure: function ChartController_zoomDuration_closure(t0, t1) {
      this.lastDT = t0;
      this.duration = t1;
    },
    TapLocation: function TapLocation(t0, t1, t2) {
      this.tapDownDetails = t0;
      this.timestamp = t1;
      this.index = t2;
    },
    _ChartController_DisposableController_AutoDisposeControllerMixin: function _ChartController_DisposableController_AutoDisposeControllerMixin() {
    },
    PaintCharacteristics$(color, colorAggregate, diameter, fixedMaxY, fixedMinY, height, strokeWidth, symbol, width) {
      return new A.PaintCharacteristics(fixedMinY, fixedMaxY, color, B.Color_4278190080, 1, colorAggregate, symbol, strokeWidth, diameter, height, width);
    },
    AxisScale$(minPoint, maxPoint, maxTicks) {
      var exponentFraction,
        t1 = new A.AxisScale(minPoint, maxPoint, maxTicks),
        t2 = t1.__AxisScale__range = t1._niceNum$2(maxPoint, false);
      if (t2 !== 0) {
        t2 /= maxTicks - 1;
        t1._tickSpacing = t2;
        B.JSNumber_methods.floor$0(minPoint / t2);
        t2 = t1._tickSpacing;
        t2.toString;
        B.JSNumber_methods.ceil$0(maxPoint / t2);
        t1._tickSpacing.toString;
        t2 = t1.__AxisScale__range;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        exponentFraction = t1._exponentFraction$1(t2);
        t1.__AxisScale_labelUnitExponent = exponentFraction.$index(0, "exponent");
        t1.__AxisScale_labelTicks = J.roundToDouble$0$n(exponentFraction.$index(0, "fraction"));
      } else {
        t1._tickSpacing = 1;
        t1.__AxisScale_labelTicks = t1.__AxisScale_labelUnitExponent = 0;
      }
      return t1;
    },
    Data: function Data(t0, t1) {
      this.timestamp = t0;
      this.y = t1;
    },
    DataAggregate: function DataAggregate(t0, t1, t2) {
      this.count = t0;
      this.timestamp = t1;
      this.y = t2;
    },
    PaintCharacteristics: function PaintCharacteristics(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.fixedMinY = t0;
      _.fixedMaxY = t1;
      _.color = t2;
      _.concentricCenterColor = t3;
      _.concentricCenterDiameter = t4;
      _.colorAggregate = t5;
      _.symbol = t6;
      _.strokeWidth = t7;
      _.diameter = t8;
      _.height = t9;
      _.width = t10;
    },
    Trace0: function Trace0(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _._chartType = t1;
      _.characteristics = t2;
      _.__Trace_stacked = $;
      _.name = null;
      _.dataYMax = 0;
      _._chart_trace$_data = t3;
      _._symbolPath = null;
    },
    TraceNotifier: function TraceNotifier() {
    },
    ChartType: function ChartType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ChartSymbol: function ChartSymbol(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AxisScale: function AxisScale(t0, t1, t2) {
      var _ = this;
      _.minPoint = t0;
      _.maxPoint = t1;
      _.maxTicks = t2;
      _._tickSpacing = null;
      _.__AxisScale_labelTicks = _.__AxisScale_labelUnitExponent = _.__AxisScale__range = $;
    },
    NodeListExtension_toPaddedZoomedIntervals(_this, chartStartInset, chartWidth, zoom) {
      var index, zoomedRect, leftPadding, t1, left,
        _length = _this.length,
        _list = J.JSArray_JSArray$allocateGrowable(_length, type$.Range);
      for (index = 0; index < _length; ++index) {
        zoomedRect = _this[index].zoomedRect$2(zoom, chartStartInset);
        leftPadding = A.FlameChartUtils_leftPaddingForNode(index, _this, chartStartInset, zoom);
        t1 = zoomedRect.left;
        left = t1 - leftPadding;
        _list[index] = new A.Range(left, left + (leftPadding + (zoomedRect.right - t1) + A.FlameChartUtils_rightPaddingForNode(index, _this, chartStartInset, chartWidth, zoom)));
      }
      return _list;
    },
    FlameChartUtils_leftPaddingForNode(index, nodes, chartStartInset, chartZoom) {
      var padding,
        node = nodes[index];
      if (index !== 0)
        padding = 0;
      else
        padding = (node.rect.left - chartStartInset) * chartZoom + chartStartInset;
      return Math.max(0, padding);
    },
    FlameChartUtils_rightPaddingForNode(index, nodes, chartStartInset, chartWidth, chartZoom) {
      var node, nextNode, nextNodeZoom;
      if (index === nodes.length - 1)
        return 1e12;
      node = nodes[index];
      nextNode = nodes[index + 1];
      nextNodeZoom = chartZoom;
      return Math.max(0, (nextNode.rect.left - chartStartInset) * nextNodeZoom + chartStartInset - ((node.rect.right - chartStartInset) * chartZoom + chartStartInset));
    },
    FlameChartNode$(colorPair, data, key, onSelected, rect, sectionIndex, text, $T) {
      return new A.FlameChartNode(key, rect, text, colorPair, data, onSelected, sectionIndex, $T._eval$1("FlameChartNode<0>"));
    },
    TimelineGridPainter$(chartEndInset, chartStartInset, colorScheme, constraints, duration, flameChartWidth, horizontalScrollOffset, verticalScrollOffset, zoom) {
      return new A.TimelineGridPainter(chartEndInset, flameChartWidth, duration, zoom, constraints, verticalScrollOffset, horizontalScrollOffset, chartStartInset, colorScheme, null);
    },
    FlameChart: function FlameChart() {
    },
    FlameChartState: function FlameChartState() {
    },
    FlameChartState_initState_closure: function FlameChartState_initState_closure(t0) {
      this.$this = t0;
    },
    FlameChartState_initState__closure0: function FlameChartState_initState__closure0(t0) {
      this.$this = t0;
    },
    FlameChartState_initState_closure0: function FlameChartState_initState_closure0(t0) {
      this.$this = t0;
    },
    FlameChartState_initState__closure: function FlameChartState_initState__closure(t0) {
      this.$this = t0;
    },
    FlameChartState_initState_closure1: function FlameChartState_initState_closure1(t0) {
      this.$this = t0;
    },
    FlameChartState_initState_closure2: function FlameChartState_initState_closure2(t0) {
      this.$this = t0;
    },
    FlameChartState_initState_closure3: function FlameChartState_initState_closure3(t0) {
      this.$this = t0;
    },
    FlameChartState_build_closure0: function FlameChartState_build_closure0(t0) {
      this.$this = t0;
    },
    FlameChartState_build_closure: function FlameChartState_build_closure(t0) {
      this.$this = t0;
    },
    FlameChartState__buildFlameChart_closure: function FlameChartState__buildFlameChart_closure(t0, t1) {
      this.$this = t0;
      this.constraints = t1;
    },
    FlameChartState__handleZoomControllerValueUpdate_closure: function FlameChartState__handleZoomControllerValueUpdate_closure(t0, t1) {
      this.$this = t0;
      this.newScrollOffset = t1;
    },
    FlameChartState_zoomAndScrollToData_closure: function FlameChartState_zoomAndScrollToData_closure(t0, t1, t2) {
      this.$this = t0;
      this.data = t1;
      this.scrollVertically = t2;
    },
    ScrollingFlameChartRow: function ScrollingFlameChartRow(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.linkedScrollControllerGroup = t0;
      _.nodes = t1;
      _.width = t2;
      _.startInset = t3;
      _.selectionNotifier = t4;
      _.searchMatchesNotifier = t5;
      _.activeSearchMatchNotifier = t6;
      _.onTapUp = t7;
      _.backgroundColor = t8;
      _.zoom = t9;
      _.key = t10;
      _.$ti = t11;
    },
    ScrollingFlameChartRowState: function ScrollingFlameChartRowState(t0, t1, t2) {
      var _ = this;
      _.__ScrollingFlameChartRowState__nodeData = _.__ScrollingFlameChartRowState_extentDelegate = _.__ScrollingFlameChartRowState_scrollController = $;
      _.hovered = _.selected = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
      _.$ti = t2;
    },
    ScrollingFlameChartRowState_initState_closure: function ScrollingFlameChartRowState_initState_closure(t0) {
      this.$this = t0;
    },
    ScrollingFlameChartRowState_initState__closure: function ScrollingFlameChartRowState_initState__closure() {
    },
    ScrollingFlameChartRowState__initNodeDataList_closure: function ScrollingFlameChartRowState__initNodeDataList_closure(t0) {
      this.$this = t0;
    },
    ScrollingFlameChartRowState_build_closure: function ScrollingFlameChartRowState_build_closure(t0) {
      this.$this = t0;
    },
    ScrollingFlameChartRowState__handleMouseHover_closure: function ScrollingFlameChartRowState__handleMouseHover_closure(t0, t1) {
      this.$this = t0;
      this.hoverNodeData = t1;
    },
    FlameChartNodeWidget: function FlameChartNodeWidget(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.index = t0;
      _.nodes = t1;
      _.zoom = t2;
      _.startInset = t3;
      _.chartWidth = t4;
      _.selected = t5;
      _.hovered = t6;
      _.key = t7;
    },
    FlameChartSection: function FlameChartSection(t0) {
      this.index = t0;
    },
    FlameChartRow: function FlameChartRow(t0, t1, t2) {
      this.nodes = t0;
      this.index = t1;
      this.$ti = t2;
    },
    FlameChartDataMixin: function FlameChartDataMixin() {
    },
    FlameChartNode: function FlameChartNode(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.key = t0;
      _.rect = t1;
      _.text = t2;
      _.colorPair = t3;
      _.data = t4;
      _.onSelected = t5;
      _.__FlameChartNode_row = $;
      _.sectionIndex = t6;
      _.$ti = t7;
    },
    FlameChartColorMixin: function FlameChartColorMixin() {
    },
    _ScrollingFlameChartRowExtentDelegate: function _ScrollingFlameChartRowExtentDelegate(t0, t1) {
      this.nodeIntervals = t0;
      this._layoutDirty = t1;
    },
    _ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure: function _ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure() {
    },
    _ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure: function _ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure() {
    },
    FlameChartPainter: function FlameChartPainter() {
    },
    TimelineGridPainter: function TimelineGridPainter(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.chartEndInset = t0;
      _.flameChartWidth = t1;
      _.duration = t2;
      _.zoom = t3;
      _.constraints = t4;
      _.verticalScrollOffset = t5;
      _.horizontalScrollOffset = t6;
      _.chartStartInset = t7;
      _.colorScheme = t8;
      _._repaint = t9;
    },
    FlameChartHelpButton: function FlameChartHelpButton(t0, t1, t2, t3) {
      var _ = this;
      _.gaScreen = t0;
      _.gaSelection = t1;
      _.additionalInfo = t2;
      _.key = t3;
    },
    FlameChartHelpButton_build_closure: function FlameChartHelpButton_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    FlameChartHelpButton_build__closure: function FlameChartHelpButton_build__closure(t0) {
      this.$this = t0;
    },
    _FlameChartHelpDialog: function _FlameChartHelpDialog(t0, t1) {
      this.additionalInfo = t0;
      this.key = t1;
    },
    EmptyFlameChartRow: function EmptyFlameChartRow(t0, t1, t2, t3) {
      var _ = this;
      _.height = t0;
      _.width = t1;
      _.backgroundColor = t2;
      _.key = t3;
    },
    _FlameChartState_State_AutoDisposeMixin: function _FlameChartState_State_AutoDisposeMixin() {
    },
    _FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin: function _FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin() {
    },
    _FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin: function _FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin() {
    },
    _ScrollingFlameChartRowState_State_AutoDisposeMixin: function _ScrollingFlameChartRowState_State_AutoDisposeMixin() {
    },
    Treemap$fromRoot(height, isOutermostLevel, levelsVisible, onRootChangedCallback, rootNode, width) {
      return new A.Treemap(rootNode, null, levelsVisible, isOutermostLevel, width, height, onRootChangedCallback, null);
    },
    PositionedCell$(child, node, rect) {
      var t1 = rect.left,
        t2 = rect.top;
      return new A.PositionedCell(rect, node, t1, t2, null, null, rect.right - t1, rect.bottom - t2, child, null);
    },
    Treemap: function Treemap(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.rootNode = t0;
      _.nodes = t1;
      _.levelsVisible = t2;
      _.isOutermostLevel = t3;
      _.width = t4;
      _.height = t5;
      _.onRootChangedCallback = t6;
      _.key = t7;
    },
    _TreemapState: function _TreemapState(t0) {
      var _ = this;
      _._widget = _.hoveredNode = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _TreemapState_buildTreemaps_closure: function _TreemapState_buildTreemaps_closure() {
    },
    _TreemapState_buildSubTreemaps_closure: function _TreemapState_buildSubTreemaps_closure(t0) {
      this.$this = t0;
    },
    _TreemapState_buildSubTreemaps__closure0: function _TreemapState_buildSubTreemaps__closure0(t0, t1) {
      this.$this = t0;
      this.positionedChildren = t1;
    },
    _TreemapState_buildSubTreemaps__closure: function _TreemapState_buildSubTreemaps__closure(t0) {
      this.$this = t0;
    },
    _TreemapState_buildBreadcrumbNavigator_closure: function _TreemapState_buildBreadcrumbNavigator_closure(t0, t1) {
      this.$this = t0;
      this.pathFromRoot = t1;
    },
    _TreemapState_buildBreadcrumbNavigator__closure: function _TreemapState_buildBreadcrumbNavigator__closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    _TreemapState_buildSelectable_closure: function _TreemapState_buildSelectable_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _TreemapState__onHover_closure: function _TreemapState__onHover_closure(t0, t1) {
      this.$this = t0;
      this.cell = t1;
    },
    TreemapNode: function TreemapNode(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.childrenMap = t1;
      _.byteSize = t2;
      _.showDiff = t3;
      _.parent = null;
      _.children = t4;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    PositionedCell: function PositionedCell(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.rect = t0;
      _.node = t1;
      _.left = t2;
      _.top = t3;
      _.right = t4;
      _.bottom = t5;
      _.width = t6;
      _.height = t7;
      _.child = t8;
      _.key = t9;
    },
    MultiCellPainter: function MultiCellPainter(t0, t1) {
      this.nodes = t0;
      this._repaint = t1;
    },
    DragAndDropManagerWeb: function DragAndDropManagerWeb(t0) {
      var _ = this;
      _.__DragAndDropManagerWeb_onDragLeaveSubscription = _.__DragAndDropManagerWeb_onDropSubscription = _.__DragAndDropManagerWeb_onDragOverSubscription = $;
      _._dragAndDropStates = t0;
      _.activeState = null;
    },
    DragAndDropManagerWeb__onDrop_closure: function DragAndDropManagerWeb__onDrop_closure(t0, t1, t2) {
      this.$this = t0;
      this.reader = t1;
      this.droppedFile = t2;
    },
    DragAndDropManager: function DragAndDropManager() {
    },
    DragAndDrop: function DragAndDrop(t0, t1, t2) {
      this.handleDrop = t0;
      this.child = t1;
      this.key = t2;
    },
    DragAndDropState: function DragAndDropState(t0, t1) {
      var _ = this;
      _._dragging = t0;
      _.__DragAndDropState_notifications = $;
      _._isActive = false;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    DragAndDropState_build_closure: function DragAndDropState_build_closure(t0) {
      this.$this = t0;
    },
    DragAndDropMetaData: function DragAndDropMetaData(t0) {
      this.state = t0;
    },
    FileSystemWeb: function FileSystemWeb(t0) {
      this._files = t0;
    },
    FileSystemWeb_writeStringToFile_closure: function FileSystemWeb_writeStringToFile_closure(t0) {
      this.contents = t0;
    },
    initializePlatform() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, t1, t2, t3, t4, connection;
      var $async$initializePlatform = 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
              for (t1 = type$._FrozenElementList_Element, t2 = new A._FrozenElementList(document.body.querySelectorAll(".legacy-dart"), t1), t2 = new A.ListIterator(t2, t2.get$length(t2), t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E"); t2.moveNext$0();) {
                t3 = t2.__internal$_current;
                if (t3 == null)
                  t3 = t1._as(t3);
                t4 = t3.parentNode;
                if (t4 != null)
                  t4.removeChild(t3);
              }
              $async$goto = 3;
              return A._asyncAwait(A.DevToolsServerConnection_connect(), $async$initializePlatform);
            case 3:
              // returning from await.
              connection = $async$result;
              if (connection != null)
                $.globals.$indexSet(0, B.Type_Storage_uL6, new A.ServerConnectionStorage(connection));
              else
                $.globals.$indexSet(0, B.Type_Storage_uL6, new A.BrowserStorage());
              A._EventStreamSubscription$(window, "keydown", new A.initializePlatform_closure(), false, type$.KeyboardEvent);
              $async$returnValue = A.S(window.location);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$initializePlatform, $async$completer);
    },
    _sendKeyPressToParent($event) {
      var t1, data, t2;
      if ($.globals.containsKey$1(0, B.Type_ServiceConnectionManager_qdG)) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
        t1 = !(t1.service != null && t1.connectedApp != null);
      } else
        t1 = false;
      if (t1)
        return;
      if (!B.JSString_methods.contains$1(window.navigator.userAgent, "Electron"))
        return;
      t1 = type$.String;
      data = A.LinkedHashMap_LinkedHashMap$_literal(["altKey", $event.altKey, "code", $event.code, "ctrlKey", $event.ctrlKey, "isComposing", $event.isComposing, "key", $event.key, "location", $event.location, "metaKey", $event.metaKey, "repeat", $event.repeat, "shiftKey", $event.shiftKey], t1, type$.nullable_Object);
      t2 = A._convertNativeToDart_Window(window.parent);
      if (t2 != null)
        J.postMessage$2$x(t2, A.LinkedHashMap_LinkedHashMap$_literal(["command", "keydown", "data", data], t1, type$.Object), "*");
    },
    initializePlatform_closure: function initializePlatform_closure() {
    },
    ServerConnectionStorage: function ServerConnectionStorage(t0) {
      this.connection = t0;
    },
    BrowserStorage: function BrowserStorage() {
    },
    HostPlatform: function HostPlatform() {
      this.__HostPlatform__isMacOS = $;
    },
    IdeTheme: function IdeTheme(t0, t1, t2) {
      this.backgroundColor = t0;
      this.fontSize = t1;
      this.embed = t2;
    },
    ExportControllerWeb: function ExportControllerWeb() {
    },
    ImportController: function ImportController(t0, t1) {
      this._import_export$_pushSnapshotScreenForImport = t0;
      this._notifications = t1;
      this.previousImportTime = null;
    },
    ExportController: function ExportController() {
    },
    OfflineModeController: function OfflineModeController(t0, t1) {
      this._offlineMode = t0;
      this.offlineDataJson = t1;
      this._previousConnectedApp = null;
    },
    allowedError(future, logError) {
      return future.catchError$1(new A.allowedError_closure(logError));
    },
    allowedError_closure: function allowedError_closure(t0) {
      this.logError = t0;
    },
    LogLevel: function LogLevel(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Notification: function Notification() {
      this.__Notification__impl = $;
    },
    ExternalDevToolsExtensionPoints: function ExternalDevToolsExtensionPoints() {
    },
    CurlCommand__headers(data, multiline) {
      var t2, t3, headerKey, headerValue,
        t1 = type$.JSArray_String,
        parts = A._setArrayType([], t1),
        headers = data.get$requestHeaders();
      if (headers != null && J.get$isNotEmpty$asx(headers._collection$_map))
        for (t2 = J.get$entries$x(headers._collection$_map), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
          t3 = t2.get$current(t2);
          headerKey = t3.get$key(t3).toLowerCase();
          headerValue = A.CurlCommand__unwrapHeaderValue(t3.get$value(t3));
          if (headerValue == null)
            continue;
          t3 = A._setArrayType([], t1);
          t3.push("\\\n");
          t3.push("--header");
          t3.push("'" + A.stringReplaceAllUnchecked(headerKey + ": " + headerValue, "'", "'\\''") + "'");
          B.JSArray_methods.addAll$1(parts, t3);
        }
      return parts;
    },
    CurlCommand__body(data, multiline) {
      var t1,
        requestBody = data.get$requestBody();
      if (requestBody == null)
        return A._setArrayType([], type$.JSArray_String);
      t1 = A._setArrayType([], type$.JSArray_String);
      t1.push("\\\n");
      t1.push("--data-raw");
      t1.push("'" + A.stringReplaceAllUnchecked(requestBody, "'", "'\\''") + "'");
      return t1;
    },
    CurlCommand__unwrapHeaderValue(value) {
      var t1;
      if (typeof value == "string")
        return value;
      else if (type$.List_dynamic._is(value)) {
        t1 = J.getInterceptor$asx(value);
        return A._asStringQ(t1.get$isNotEmpty(value) ? t1.get$first(value) : null);
      }
      return null;
    },
    CurlCommand__buildCommandString(commandParts) {
      var commandString, index, t1, t2, previousPart;
      for (commandString = "", index = 0; t1 = commandParts.length, index < t1; ++index) {
        t2 = index - 1;
        previousPart = t2 < 0 || t2 >= t1 ? null : commandParts[t2];
        if (index !== 0 && previousPart !== "\\\n")
          commandString += " ";
        commandString = B.JSString_methods.$add(commandString, commandParts[index]);
      }
      return commandString;
    },
    CurlCommand: function CurlCommand(t0) {
      this.commandParts = t0;
    },
    Cookie__validateName(newName) {
      var t1, i, codeUnit;
      for (t1 = newName.length, i = 0; i < t1; ++i) {
        codeUnit = B.JSString_methods._codeUnitAt$1(newName, i);
        if (codeUnit <= 32 || codeUnit >= 127 || B.JSArray_methods.indexOf$1(B.List_A8J, newName[i]) >= 0)
          throw A.wrapException(A.FormatException$("Invalid character in cookie name, code unit: '" + codeUnit + "'", newName, i));
      }
      return newName;
    },
    Cookie__validateValue(newValue) {
      var start, i, codeUnit, t1,
        end = newValue.length;
      if (2 <= end && B.JSString_methods._codeUnitAt$1(newValue, 0) === 34 && B.JSString_methods.codeUnitAt$1(newValue, end - 1) === 34) {
        --end;
        start = 1;
      } else
        start = 0;
      for (i = start; i < end; ++i) {
        codeUnit = B.JSString_methods._codeUnitAt$1(newValue, i);
        if (codeUnit !== 33)
          if (!(codeUnit >= 35 && codeUnit <= 43))
            if (!(codeUnit >= 45 && codeUnit <= 58))
              if (!(codeUnit >= 60 && codeUnit <= 91))
                t1 = codeUnit >= 93 && codeUnit <= 126;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
        if (!t1)
          throw A.wrapException(A.FormatException$("Invalid character in cookie value, code unit: '" + codeUnit + "'", newValue, i));
      }
      return newValue;
    },
    HttpDate__parseCookieDate(date) {
      var error, isEnd, isDelimiter, isNonDelimiter, isDigit, getMonth, toInt, tokens, start, t1, yearStr, monthStr, dayOfMonthStr, timeStr, _i, token, t2, t3, year, dayOfMonth, timeList, hour, minute, second, _null = null, _box_0 = {};
      _box_0.position = 0;
      error = new A.HttpDate__parseCookieDate_error(date);
      isEnd = new A.HttpDate__parseCookieDate_isEnd(_box_0, date);
      isDelimiter = new A.HttpDate__parseCookieDate_isDelimiter();
      isNonDelimiter = new A.HttpDate__parseCookieDate_isNonDelimiter();
      isDigit = new A.HttpDate__parseCookieDate_isDigit();
      getMonth = new A.HttpDate__parseCookieDate_getMonth();
      toInt = new A.HttpDate__parseCookieDate_toInt(isDigit);
      tokens = [];
      for (; !isEnd.call$0();) {
        while (true) {
          if (!(!isEnd.call$0() && isDelimiter.call$1(date[_box_0.position])))
            break;
          ++_box_0.position;
        }
        start = _box_0.position;
        while (true) {
          if (!(!isEnd.call$0() && isNonDelimiter.call$1(date[_box_0.position])))
            break;
          ++_box_0.position;
        }
        tokens.push(B.JSString_methods.substring$2(date, start, _box_0.position).toLowerCase());
        while (true) {
          if (!(!isEnd.call$0() && isDelimiter.call$1(date[_box_0.position])))
            break;
          ++_box_0.position;
        }
      }
      for (t1 = tokens.length, yearStr = _null, monthStr = yearStr, dayOfMonthStr = monthStr, timeStr = dayOfMonthStr, _i = 0; _i < tokens.length; tokens.length === t1 || (0, A.throwConcurrentModificationError)(tokens), ++_i) {
        token = tokens[_i];
        t2 = token.length;
        if (t2 < 1)
          continue;
        if (timeStr == null)
          if (t2 >= 5)
            if (isDigit.call$1(token[0])) {
              t3 = token[1];
              if (t3 !== ":")
                t3 = isDigit.call$1(t3) && token[2] === ":";
              else
                t3 = true;
            } else
              t3 = false;
          else
            t3 = false;
        else
          t3 = false;
        if (t3)
          timeStr = token;
        else if (dayOfMonthStr == null && isDigit.call$1(token[0]))
          dayOfMonthStr = token;
        else if (monthStr == null && getMonth.call$1(token) >= 0)
          monthStr = token;
        else if (yearStr == null && t2 >= 2 && isDigit.call$1(token[0]) && isDigit.call$1(token[1]))
          yearStr = token;
      }
      if (timeStr == null || dayOfMonthStr == null || monthStr == null || yearStr == null)
        error.call$0();
      yearStr.toString;
      year = toInt.call$1(yearStr);
      if (year >= 70 && year <= 99)
        year += 1900;
      else if (year >= 0 && year <= 69)
        year += 2000;
      if (year < 1601)
        error.call$0();
      dayOfMonthStr.toString;
      dayOfMonth = toInt.call$1(dayOfMonthStr);
      if (dayOfMonth < 1 || dayOfMonth > 31)
        error.call$0();
      monthStr.toString;
      t1 = getMonth.call$1(monthStr);
      timeList = timeStr.split(":");
      if (timeList.length !== 3)
        error.call$0();
      hour = toInt.call$1(timeList[0]);
      minute = toInt.call$1(timeList[1]);
      second = toInt.call$1(timeList[2]);
      if (hour > 23)
        error.call$0();
      if (minute > 59)
        error.call$0();
      if (second > 59)
        error.call$0();
      t1 = A.Primitives_valueFromDecomposedDate(year, t1 + 1, dayOfMonth, hour, minute, second, 0, true);
      if (!A._isInt(t1))
        A.throwExpression(A.argumentErrorValue(t1));
      return new A.DateTime(t1, true);
    },
    HttpException$(message) {
      return new A.HttpException(message);
    },
    Cookie: function Cookie() {
      var _ = this;
      _.path = _.domain = _.maxAge = _.expires = _._http$_value = _._http$_name = null;
      _.secure = _.httpOnly = false;
    },
    Cookie__parseSetCookieValue_done: function Cookie__parseSetCookieValue_done(t0, t1) {
      this._box_0 = t0;
      this.s = t1;
    },
    Cookie__parseSetCookieValue_parseName: function Cookie__parseSetCookieValue_parseName(t0, t1, t2) {
      this._box_0 = t0;
      this.done = t1;
      this.s = t2;
    },
    Cookie__parseSetCookieValue_parseValue: function Cookie__parseSetCookieValue_parseValue(t0, t1, t2) {
      this._box_0 = t0;
      this.done = t1;
      this.s = t2;
    },
    Cookie__parseSetCookieValue_parseAttributes: function Cookie__parseSetCookieValue_parseAttributes(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.done = t2;
      _.s = t3;
    },
    Cookie__parseSetCookieValue_parseAttributes_parseAttributeName: function Cookie__parseSetCookieValue_parseAttributes_parseAttributeName(t0, t1, t2) {
      this._box_0 = t0;
      this.done = t1;
      this.s = t2;
    },
    Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue: function Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue(t0, t1, t2) {
      this._box_0 = t0;
      this.done = t1;
      this.s = t2;
    },
    HttpDate__parseCookieDate_error: function HttpDate__parseCookieDate_error(t0) {
      this.date = t0;
    },
    HttpDate__parseCookieDate_isEnd: function HttpDate__parseCookieDate_isEnd(t0, t1) {
      this._box_0 = t0;
      this.date = t1;
    },
    HttpDate__parseCookieDate_isDelimiter: function HttpDate__parseCookieDate_isDelimiter() {
    },
    HttpDate__parseCookieDate_isNonDelimiter: function HttpDate__parseCookieDate_isNonDelimiter() {
    },
    HttpDate__parseCookieDate_isDigit: function HttpDate__parseCookieDate_isDigit() {
    },
    HttpDate__parseCookieDate_getMonth: function HttpDate__parseCookieDate_getMonth() {
    },
    HttpDate__parseCookieDate_toInt: function HttpDate__parseCookieDate_toInt(t0) {
      this.isDigit = t0;
    },
    HttpException: function HttpException(t0) {
      this.message = t0;
    },
    DartIOHttpRequestData__parseCookies(cookies) {
      var t1;
      if (cookies == null)
        return A._setArrayType([], type$.JSArray_Cookie);
      t1 = cookies.$ti._eval$1("MappedListIterable<ListMixin.E,Cookie>");
      return A.List_List$of(new A.MappedListIterable(cookies, new A.DartIOHttpRequestData__parseCookies_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    DartIOHttpInstantEvent: function DartIOHttpInstantEvent(t0) {
      this._http_request_data$_event = t0;
      this._timeRange = null;
    },
    DartIOHttpRequestData: function DartIOHttpRequestData(t0, t1, t2, t3, t4) {
      var _ = this;
      _._request = t0;
      _.wrapperId = t1;
      _._requestBody = _._responseBody = _._instantEvents = null;
      _._timelineMicrosBase = t2;
      _.DataSearchStateMixin_isSearchMatch = t3;
      _.DataSearchStateMixin_isActiveSearchMatch = t4;
    },
    DartIOHttpRequestData_getFullRequestData_closure: function DartIOHttpRequestData_getFullRequestData_closure(t0) {
      this.$this = t0;
    },
    DartIOHttpRequestData__parseCookies_closure: function DartIOHttpRequestData__parseCookies_closure() {
    },
    HttpService_toggleHttpRequestLogging(state) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$HttpService_toggleHttpRequestLogging = 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($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.forEachIsolate$1(new A.HttpService_toggleHttpRequestLogging_closure(state)), $async$HttpService_toggleHttpRequestLogging);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$HttpService_toggleHttpRequestLogging, $async$completer);
    },
    HttpService_toggleHttpRequestLogging_closure: function HttpService_toggleHttpRequestLogging_closure(t0) {
      this.state = t0;
    },
    Disposer$() {
      return new A.Disposer(A._setArrayType([], type$.JSArray_StreamSubscription_dynamic), A._setArrayType([], type$.JSArray_FocusNode), A._setArrayType([], type$.JSArray_Listenable), A._setArrayType([], type$.JSArray_of_void_Function));
    },
    Disposer: function Disposer(t0, t1, t2, t3) {
      var _ = this;
      _._auto_dispose$_subscriptions = t0;
      _._focusNodes = t1;
      _._listenables = t2;
      _._auto_dispose$_listeners = t3;
    },
    DisposableController: function DisposableController() {
    },
    AutoDisposeControllerMixin: function AutoDisposeControllerMixin() {
    },
    AutoDisposeMixin: function AutoDisposeMixin() {
    },
    AutoDisposeMixin__refresh_closure: function AutoDisposeMixin__refresh_closure() {
    },
    BlockingActionMixin: function BlockingActionMixin() {
    },
    BlockingActionMixin_blockWhileInProgress_closure: function BlockingActionMixin_blockWhileInProgress_closure(t0) {
      this.$this = t0;
    },
    BlockingActionMixin_blockWhileInProgress_closure0: function BlockingActionMixin_blockWhileInProgress_closure0(t0) {
      this.$this = t0;
    },
    CustomPointerScrollView: function CustomPointerScrollView() {
    },
    CustomPointerScrollView_build_closure: function CustomPointerScrollView_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.axisDirection = t1;
      this.slivers = t2;
    },
    CustomPointerScrollable: function CustomPointerScrollable(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.axisDirection = t0;
      _.controller = t1;
      _.physics = t2;
      _.viewportBuilder = t3;
      _.semanticChildCount = t4;
      _.dragStartBehavior = t5;
      _.customPointerSignalHandler = t6;
      _.key = t7;
    },
    _CustomPointerScrollableState: function _CustomPointerScrollableState(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._custom_pointer_scroll_view$_position = null;
      _.___CustomPointerScrollableState__configuration = $;
      _._custom_pointer_scroll_view$_physics = null;
      _._custom_pointer_scroll_view$_scrollSemanticsKey = t0;
      _._custom_pointer_scroll_view$_gestureDetectorKey = t1;
      _._custom_pointer_scroll_view$_ignorePointerKey = t2;
      _._custom_pointer_scroll_view$_gestureRecognizers = t3;
      _._custom_pointer_scroll_view$_shouldIgnorePointer = false;
      _._custom_pointer_scroll_view$_hold = _._custom_pointer_scroll_view$_drag = _._custom_pointer_scroll_view$_lastAxisDirection = _._custom_pointer_scroll_view$_lastCanDrag = null;
      _.TickerProviderStateMixin__tickers = t4;
      _.TickerProviderStateMixin__tickerModeNotifier = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._framework$_element = null;
    },
    _CustomPointerScrollableState_setCanDrag_closure: function _CustomPointerScrollableState_setCanDrag_closure() {
    },
    _CustomPointerScrollableState_setCanDrag_closure0: function _CustomPointerScrollableState_setCanDrag_closure0(t0) {
      this.$this = t0;
    },
    _CustomPointerScrollableState_setCanDrag_closure1: function _CustomPointerScrollableState_setCanDrag_closure1() {
    },
    _CustomPointerScrollableState_setCanDrag_closure2: function _CustomPointerScrollableState_setCanDrag_closure2(t0) {
      this.$this = t0;
    },
    _ScrollableScope0: function _ScrollableScope0(t0, t1, t2) {
      this.position = t0;
      this.child = t1;
      this.key = t2;
    },
    _ScrollSemantics0: function _ScrollSemantics0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.position = t0;
      _.allowImplicitScrolling = t1;
      _.semanticChildCount = t2;
      _.child = t3;
      _.key = t4;
    },
    _RenderScrollSemantics0: function _RenderScrollSemantics0(t0, t1, t2, t3, t4) {
      var _ = this;
      _._custom_pointer_scroll_view$_position = t0;
      _._custom_pointer_scroll_view$_allowImplicitScrolling = t1;
      _._custom_pointer_scroll_view$_semanticChildCount = t2;
      _._custom_pointer_scroll_view$_innerNode = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    __CustomPointerScrollableState_State_TickerProviderStateMixin: function __CustomPointerScrollableState_State_TickerProviderStateMixin() {
    },
    EnumUtils$(enumValues, $T) {
      var t1 = type$.String;
      t1 = new A.EnumUtils(A.LinkedHashMap_LinkedHashMap$_empty(t1, $T), A.LinkedHashMap_LinkedHashMap$_empty($T, t1), $T._eval$1("EnumUtils<0>"));
      t1.EnumUtils$1(enumValues, $T);
      return t1;
    },
    EnumUtils: function EnumUtils(t0, t1, t2) {
      this._lookupTable = t0;
      this._reverseLookupTable = t1;
      this.$ti = t2;
    },
    EnumIndexOrdering: function EnumIndexOrdering() {
    },
    ExtentDelegateListView$(childrenDelegate, controller, customPointerSignalHandler, extentDelegate, physics, scrollDirection) {
      var t1, _null = null;
      if (physics == null)
        t1 = _null;
      else
        t1 = physics;
      return new A.ExtentDelegateListView(childrenDelegate, extentDelegate, customPointerSignalHandler, false, _null, scrollDirection, false, controller, false, t1, false, _null, _null, B.DragStartBehavior_1, B.ScrollViewKeyboardDismissBehavior_0, _null, B.Clip_1, _null);
    },
    _ExtentDelegateChangeNotifier: function _ExtentDelegateChangeNotifier(t0) {
      var _ = this;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ExtentDelegate: function ExtentDelegate() {
    },
    FixedExtentDelegateBase: function FixedExtentDelegateBase() {
    },
    FixedExtentDelegate: function FixedExtentDelegate(t0, t1, t2) {
      var _ = this;
      _._computeExtent = t0;
      _._computeLength = t1;
      _.__FixedExtentDelegateBase__offsets = $;
      _._layoutDirty = t2;
    },
    ExtentDelegateListView: function ExtentDelegateListView(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _.childrenDelegate = t0;
      _.extentDelegate = t1;
      _.customPointerSignalHandler = t2;
      _._custom_pointer_scroll_view$_primary = t3;
      _.padding = t4;
      _.scrollDirection = t5;
      _.reverse = t6;
      _.controller = t7;
      _.primary = t8;
      _.physics = t9;
      _.shrinkWrap = t10;
      _.cacheExtent = t11;
      _.semanticChildCount = t12;
      _.dragStartBehavior = t13;
      _.keyboardDismissBehavior = t14;
      _.restorationId = t15;
      _.clipBehavior = t16;
      _.key = t17;
    },
    SliverExtentDelegateList: function SliverExtentDelegateList(t0, t1, t2) {
      this.extentDelegate = t0;
      this.delegate = t1;
      this.key = t2;
    },
    RenderSliverExtentDelegateBoxAdaptor: function RenderSliverExtentDelegateBoxAdaptor(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._markNeedsLayout = _._extentDelegate = null;
      _._childManager = t0;
      _._keepAliveBucket = t1;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t2;
      _.ContainerRenderObjectMixin__firstChild = t3;
      _.ContainerRenderObjectMixin__lastChild = t4;
      _._geometry = null;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t5;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    LinkedScrollControllerGroup$() {
      var t1 = new A.LinkedScrollControllerGroup(A._setArrayType([], type$.JSArray__LinkedScrollController));
      t1.__LinkedScrollControllerGroup__offsetNotifier = new A._LinkedScrollControllerGroupOffsetNotifier(t1, $.$get$ChangeNotifier__emptyListeners());
      return t1;
    },
    LinkedScrollControllerGroup: function LinkedScrollControllerGroup(t0) {
      this._allControllers = t0;
      this.__LinkedScrollControllerGroup__offsetNotifier = $;
    },
    LinkedScrollControllerGroup__attachedControllers_closure: function LinkedScrollControllerGroup__attachedControllers_closure() {
    },
    _LinkedScrollControllerGroupOffsetNotifier: function _LinkedScrollControllerGroupOffsetNotifier(t0, t1) {
      var _ = this;
      _.controllerGroup = t0;
      _._cachedOffset = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _LinkedScrollController: function _LinkedScrollController(t0, t1, t2, t3) {
      var _ = this;
      _._controllers = t0;
      _._initialScrollOffset = t1;
      _._positions = t2;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _LinkedScrollController__allPeersWithClients_closure: function _LinkedScrollController__allPeersWithClients_closure(t0) {
      this.$this = t0;
    },
    _LinkedScrollController_linkWithPeers_closure: function _LinkedScrollController_linkWithPeers_closure(t0) {
      this.driver = t0;
    },
    _LinkedScrollController_linkWithPeers_closure0: function _LinkedScrollController_linkWithPeers_closure0() {
    },
    _LinkedScrollPosition: function _LinkedScrollPosition(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.owner = t0;
      _._peerActivities = t1;
      _._heldPreviousVelocity = 0;
      _._userScrollDirection = t2;
      _._currentDrag = null;
      _.physics = t3;
      _.context = t4;
      _.keepScrollOffset = t5;
      _.debugLabel = t6;
      _._maxScrollExtent = _._minScrollExtent = null;
      _._impliedVelocity = 0;
      _._viewportDimension = _._pixels = null;
      _._haveDimensions = false;
      _._didChangeViewportDimensionOrReceiveCorrection = true;
      _._pendingDimensions = false;
      _._scroll_position$_lastMetrics = null;
      _._haveScheduledUpdateNotification = false;
      _._semanticActions = _._lastAxis = null;
      _.isScrollingNotifier = t7;
      _._activity = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t8;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _LinkedScrollPosition__holdInternal_closure: function _LinkedScrollPosition__holdInternal_closure() {
    },
    _LinkedScrollActivity: function _LinkedScrollActivity(t0, t1) {
      this.drivers = t0;
      this._scroll_activity$_delegate = t1;
    },
    LineSegment0: function LineSegment0() {
    },
    HorizontalLineSegment: function HorizontalLineSegment(t0, t1, t2) {
      this.start = t0;
      this.end = t1;
      this.opacity = t2;
    },
    VerticalLineSegment: function VerticalLineSegment(t0, t1, t2) {
      this.start = t0;
      this.end = t1;
      this.opacity = t2;
    },
    HistoryManager: function HistoryManager() {
    },
    FixedValueListenable: function FixedValueListenable(t0, t1) {
      this._listenable$_value = t0;
      this.$ti = t1;
    },
    sum(numbers) {
      return J.fold$2$ax(numbers, 0, new A.sum_closure());
    },
    min(numbers) {
      return B.JSArray_methods.fold$2(numbers, 1 / 0, new A.min_closure());
    },
    max(numbers) {
      return B.JSArray_methods.fold$2(numbers, -1 / 0, new A.max_closure());
    },
    sum_closure: function sum_closure() {
    },
    min_closure: function min_closure() {
    },
    max_closure: function max_closure() {
    },
    BusEvent: function BusEvent(t0, t1) {
      this.type = t0;
      this.data = t1;
    },
    MessageBus: function MessageBus() {
      this.__MessageBus__controller = $;
    },
    MessageBus_onEvent_closure: function MessageBus_onEvent_closure(t0) {
      this.type = t0;
    },
    SliverIterableChildDelegate: function SliverIterableChildDelegate(t0, t1) {
      var _ = this;
      _.children = t0;
      _._lastAccessedIndex = null;
      _.__SliverIterableChildDelegate__lastAccessedIterator = $;
      _.estimatedChildCount = t1;
    },
    TraceEvent$(json) {
      var t1 = J.getInterceptor$asx(json);
      return new A.TraceEvent(json, t1.$index(json, "name"), t1.$index(json, "cat"), t1.$index(json, "ph"), t1.$index(json, "pid"), t1.$index(json, "tid"), t1.$index(json, "dur"), t1.$index(json, "ts"), t1.$index(json, "args"));
    },
    TraceEventWrapper$($event, timeReceived) {
      var t1 = $._traceEventWrapperId;
      $._traceEventWrapperId = t1 + 1;
      return new A.TraceEventWrapper($event, timeReceived, t1);
    },
    generateAsyncUID(category, id, scope) {
      var t1 = A._setArrayType([], type$.JSArray_String);
      if (category != null)
        t1.push(category);
      if (scope != null)
        t1.push(scope);
      if (id != null)
        t1.push(id);
      return B.JSArray_methods.join$1(t1, ":");
    },
    TraceEvent: function TraceEvent(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.json = t0;
      _.name = t1;
      _.category = t2;
      _.phase = t3;
      _.processId = t4;
      _.threadId = t5;
      _.duration = t6;
      _.timestampMicros = t7;
      _.args = t8;
      _._trace_event$_type = null;
    },
    TraceEventWrapper: function TraceEventWrapper(t0, t1, t2) {
      this.event = t0;
      this.timeReceived = t1;
      this.wrapperId = t2;
    },
    TimelineEventType: function TimelineEventType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    breadthFirstTraversal(root, action, returnCondition, $T) {
      return A._treeTraversal(root, action, true, null, returnCondition, $T);
    },
    _treeTraversal(root, action, bfs, exploreChildrenCondition, returnCondition, $T) {
      var t2, t3, t4, node, children, t5,
        t1 = A._setArrayType([root], $T._eval$1("JSArray<0>")),
        toVisit = A.ListQueue$(null, $T);
      toVisit.addAll$1(0, t1);
      for (t1 = exploreChildrenCondition != null, t2 = action != null, t3 = returnCondition != null, t4 = toVisit.get$add(toVisit); !toVisit.get$isEmpty(toVisit);) {
        node = bfs ? toVisit.removeFirst$0() : toVisit.removeLast$0(0);
        if (t3 && returnCondition.call$1(node))
          return node;
        if (t2)
          action.call$1(node);
        if (!t1 || exploreChildrenCondition.call$1(node)) {
          if (bfs)
            children = node.children;
          else {
            t5 = node.children;
            children = new A.ReversedListIterable(t5, A._arrayInstanceType(t5)._eval$1("ReversedListIterable<1>"));
          }
          J.forEach$1$ax(children, t4);
        }
      }
      return null;
    },
    TreeNode: function TreeNode() {
    },
    TreeNode_expandCascading_closure: function TreeNode_expandCascading_closure(t0) {
      this.$this = t0;
    },
    TreeNode_collapseCascading_closure: function TreeNode_collapseCascading_closure(t0) {
      this.$this = t0;
    },
    TreeNode_childrenWithCondition_closure: function TreeNode_childrenWithCondition_closure(t0, t1, t2) {
      this.$this = t0;
      this.condition = t1;
      this._children = t2;
    },
    sortFieldsByName(a, b) {
      var isAPrivate = B.JSString_methods.startsWith$1(a, "_"),
        isBPrivate = B.JSString_methods.startsWith$1(b, "_");
      if (isAPrivate && !isBPrivate)
        return 1;
      if (!isAPrivate && isBPrivate)
        return -1;
      return B.JSString_methods.compareTo$1(a, b);
    },
    collectionEquals(e1, e2) {
      var t1 = B.DeepCollectionEquality_false.equals$2(e1, e2);
      return t1;
    },
    prettyPrintBytes(bytes, includeUnit, kbFractionDigits, mbFractionDigits, roundingPoint) {
      var t1, output, sizeInMB, _kbPattern;
      if (bytes == null)
        return null;
      t1 = Math.abs(bytes);
      if (t1 < 52 && kbFractionDigits === 1) {
        output = B.JSNumber_methods.toString$0(bytes);
        return output + " B";
      }
      sizeInMB = t1 / 1024 / 1024;
      if (sizeInMB / 1024 >= roundingPoint) {
        output = B.JSNumber_methods.toStringAsFixed$1(bytes / 1073741824, 1);
        return output + " GB";
      } else if (sizeInMB >= roundingPoint)
        return A.printMB(bytes, mbFractionDigits, true);
      else {
        _kbPattern = A.NumberFormat_NumberFormat$decimalPattern();
        _kbPattern.maximumFractionDigits = kbFractionDigits;
        output = _kbPattern.format$1(0, (kbFractionDigits === 0 ? bytes + 511 : bytes) / 1024);
        return output + " KB";
      }
    },
    printMB(bytes, fractionDigits, includeUnit) {
      var output = B.JSNumber_methods.toStringAsFixed$1(bytes / 1048576, fractionDigits);
      return output + " MB";
    },
    msText(dur, fractionDigits) {
      var t1 = B.JSNumber_methods.toStringAsFixed$1(dur._duration / 1000, fractionDigits);
      return t1 + " ms";
    },
    renderDuration(duration) {
      var t1 = B.JSInt_methods._tdivFast$1(duration._duration, 1000);
      if (t1 < 1000)
        return $.$get$nf().format$1(0, t1) + "ms";
      else
        return B.JSNumber_methods.toStringAsFixed$1(t1 / 1000, 1) + "s";
    },
    delayForBatchProcessing(micros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$delayForBatchProcessing = 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(A.Future_Future$delayed(A.Duration$(micros, 0), null, type$.dynamic), $async$delayForBatchProcessing);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$delayForBatchProcessing, $async$completer);
    },
    timeout(operation, timeoutMillis, $T) {
      var t1 = $T._eval$1("0?");
      return A.Future_any(A._setArrayType([operation, A.Future_Future$delayed(A.Duration$(0, timeoutMillis), new A.timeout_closure($T), t1)], $T._eval$1("JSArray<Future<0?>>")), t1);
    },
    pluralize(word, count, plural) {
      var t1;
      if (count === 1)
        t1 = word;
      else
        t1 = plural == null ? word + "s" : plural;
      return t1;
    },
    getSimpleStackFrameName($name) {
      var newName = A.stringReplaceAllUnchecked($name, "<anonymous closure>", "<closure>");
      if (B.JSString_methods.contains$1(newName, " "))
        return newName;
      return B.JSArray_methods.get$last(newName.split("&"));
    },
    parseCssHexColor(input) {
      var t1 = A.stringReplaceAllUnchecked(input, "#", "");
      input = A.stringReplaceAllUnchecked(t1, "%23", "");
      t1 = input.length;
      if (t1 === 3 || t1 === 4)
        input = new A.MappedListIterable(A._setArrayType(input.split(""), type$.JSArray_String), new A.parseCssHexColor_closure(), type$.MappedListIterable_String_String).join$0(0);
      if (input.length === 6)
        input += "ff";
      return new A.Color(A.int_parse(input.length === 8 ? B.JSString_methods.substring$1(input, 6) + B.JSString_methods.substring$2(input, 0, 6) : input, 16) >>> 0);
    },
    toCssHexColor(color) {
      var t1 = new A.toCssHexColor_hex(),
        t2 = color.value;
      return "#" + A.S(t1.call$1(t2 >>> 16 & 255)) + A.S(t1.call$1(t2 >>> 8 & 255)) + A.S(t1.call$1(t2 & 255)) + A.S(t1.call$1(t2 >>> 24 & 255));
    },
    JsonUtils_getIntMember(json, memberName) {
      var t1 = A._asIntQ(J.$index$asx(json, memberName));
      return t1 == null ? -1 : t1;
    },
    safeDivide(numerator, denominator) {
      var quotient = numerator / denominator;
      if (isFinite(quotient))
        return quotient;
      return 0;
    },
    SafeAccessList_safeGet(_this, index) {
      return index < 0 || index >= _this.length ? null : _this[index];
    },
    processAnsiTerminalCodes(input, defaultStyle) {
      var t1, t2;
      if (input == null)
        return A._setArrayType([], type$.JSArray_TextSpan);
      t1 = type$.JSArray_int;
      t2 = type$.JSArray_AnsiUpColor;
      t2 = new A.AnsiUp(A._setArrayType([A._setArrayType([new A.AnsiUpColor(A._setArrayType([0, 0, 0], t1), "ansi-black"), new A.AnsiUpColor(A._setArrayType([187, 0, 0], t1), "ansi-red"), new A.AnsiUpColor(A._setArrayType([0, 187, 0], t1), "ansi-green"), new A.AnsiUpColor(A._setArrayType([187, 187, 0], t1), "ansi-yellow"), new A.AnsiUpColor(A._setArrayType([0, 0, 187], t1), "ansi-blue"), new A.AnsiUpColor(A._setArrayType([187, 0, 187], t1), "ansi-magenta"), new A.AnsiUpColor(A._setArrayType([0, 187, 187], t1), "ansi-cyan"), new A.AnsiUpColor(A._setArrayType([255, 255, 255], t1), "ansi-white")], t2), A._setArrayType([new A.AnsiUpColor(A._setArrayType([85, 85, 85], t1), "ansi-bright-black"), new A.AnsiUpColor(A._setArrayType([255, 85, 85], t1), "ansi-bright-red"), new A.AnsiUpColor(A._setArrayType([0, 255, 0], t1), "ansi-bright-green"), new A.AnsiUpColor(A._setArrayType([255, 255, 85], t1), "ansi-bright-yellow"), new A.AnsiUpColor(A._setArrayType([85, 85, 255], t1), "ansi-bright-blue"), new A.AnsiUpColor(A._setArrayType([255, 85, 255], t1), "ansi-bright-magenta"), new A.AnsiUpColor(A._setArrayType([85, 255, 255], t1), "ansi-bright-cyan"), new A.AnsiUpColor(A._setArrayType([255, 255, 255], t1), "ansi-bright-white")], t2)], type$.JSArray_List_AnsiUpColor), A._setArrayType([], t2));
      t2._setupPalettes$0();
      t2 = A.decodeAnsiColorEscapeCodes(input, t2);
      t2 = A.MappedIterable_MappedIterable(t2, new A.processAnsiTerminalCodes_closure(defaultStyle), t2.$ti._eval$1("Iterable.E"), type$.TextSpan);
      return A.List_List$of(t2, true, A._instanceType(t2)._eval$1("Iterable.E"));
    },
    colorFromAnsi(ansiInput) {
      return A.Color$fromRGBO(ansiInput[0], ansiInput[1], ansiInput[2], 1);
    },
    LogicalKeySetExtension_describeKeys(_this, isMacOS) {
      var t1 = _this._shortcuts$_keys.toSet$0(0),
        sortedKeys = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
      B.JSArray_methods.sort$1(sortedKeys, new A.LogicalKeySetExtension_describeKeys_closure());
      return new A.MappedListIterable(sortedKeys, new A.LogicalKeySetExtension_describeKeys_closure0(isMacOS), A._arrayInstanceType(sortedKeys)._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    StringExtension_caseInsensitiveContains(_this, pattern) {
      if (type$.RegExp._is(pattern))
        return B.JSString_methods.contains$1(_this, pattern);
      else if (typeof pattern == "string")
        return B.JSString_methods.contains$1($._lowercaseLookup.putIfAbsent$2(0, _this, new A.StringExtension_caseInsensitiveContains_closure(_this)), $._lowercaseLookup.putIfAbsent$2(0, pattern, new A.StringExtension_caseInsensitiveContains_closure0(pattern)));
      throw A.wrapException(A.Exception_Exception("Unhandled pattern type " + J.get$runtimeType$(pattern).toString$0(0) + " from `caseInsensitiveContains`"));
    },
    StringExtension_caseInsensitiveFuzzyMatch(_this, query) {
      var lowercase, t1, it, t2, strIndex, char, foundChar, i;
      query = query.toLowerCase();
      lowercase = _this.toLowerCase();
      t1 = (query.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(query)).string;
      it = new A.StringCharacterRange(t1, 0, 0);
      for (t2 = lowercase.length, strIndex = 0; it._advanceEnd$2(1, it._characters_impl$_end);) {
        char = it._currentCache;
        if (char == null)
          char = it._currentCache = B.JSString_methods.substring$2(t1, it._characters_impl$_start, it._characters_impl$_end);
        i = strIndex;
        while (true) {
          if (!(i < t2)) {
            foundChar = false;
            break;
          }
          if (lowercase[i] === char) {
            strIndex = i + 1;
            foundChar = true;
            break;
          }
          ++i;
        }
        if (!foundChar)
          return false;
      }
      return true;
    },
    StringExtension_caseInsensitiveEquals(_this, other) {
      return _this.toLowerCase() === other.toLowerCase();
    },
    StringExtension_caseInsensitiveAllMatches(_this, query) {
      return B.JSString_methods.allMatches$1(_this.toLowerCase(), query.toLowerCase());
    },
    ListExtension_joinWith(_this, separator, $T) {
      var i, t3,
        t1 = $T._eval$1("JSArray<0>"),
        t2 = A._setArrayType([], t1);
      for (i = 0; i < _this.length; ++i) {
        t3 = A._setArrayType([_this[i]], t1);
        if (i !== _this.length - 1)
          t3.push(separator);
        B.JSArray_methods.addAll$1(t2, t3);
      }
      return t2;
    },
    devToolsQueryParams(url) {
      return A.Uri_parse(B.JSString_methods.replaceFirst$2(url, A.RegExp_RegExp("#\\/(\\w*)[?]", true, false), "?"), 0, null).get$queryParameters();
    },
    getServiceUriFromQueryString($location) {
      var t1, uri, port, token, host, t2, _null = null,
        queryParams = A.Uri_parse($location, 0, _null).get$queryParameters();
      if (queryParams.$index(0, "uri") != null) {
        t1 = queryParams.$index(0, "uri");
        t1.toString;
        uri = A.Uri_tryParse(t1);
        if (uri != null)
          if (uri.get$isAbsolute())
            t1 = uri.isScheme$1("ws") || uri.isScheme$1("wss") || uri.isScheme$1("http") || uri.isScheme$1("https") || uri.isScheme$1("sse") || uri.isScheme$1("sses");
          else
            t1 = false;
        else
          t1 = false;
        if (t1)
          return uri;
      }
      t1 = queryParams.$index(0, "port");
      port = A.Primitives_parseInt(t1 == null ? "" : t1, _null);
      token = queryParams.$index(0, "token");
      host = queryParams.$index(0, "host");
      if (host == null)
        host = "localhost";
      if (port != null) {
        t1 = A.S(port);
        t2 = "ws://" + host + ":";
        if (token == null)
          return A.Uri_parse(t2 + t1 + "/ws", 0, _null);
        else
          return A.Uri_parse(t2 + t1 + "/" + token + "/ws", 0, _null);
      }
      return _null;
    },
    safePositiveDouble(value) {
      if (isNaN(value))
        return 0;
      return Math.max(value, 0);
    },
    prettyTimestamp(timestamp) {
      var timestampDT;
      if (timestamp == null)
        return "";
      timestampDT = A.DateTime$fromMillisecondsSinceEpoch(timestamp, false);
      return A.DateFormat$Hms().format$1(0, timestampDT);
    },
    ListValueNotifier$(rawList, $T) {
      var t1 = A.List_List$from(rawList, true, $T),
        t2 = new A.ListValueNotifier(t1, $.$get$ChangeNotifier__emptyListeners(), $T._eval$1("ListValueNotifier<0>"));
      t2.__ListValueNotifier__currentList = new A.ImmutableList(t1, t1.length, $T._eval$1("ImmutableList<0>"));
      return t2;
    },
    BoolExtension_boolCompare(_this, other) {
      var t1;
      if (!(_this && other))
        t1 = !_this && !other;
      else
        t1 = true;
      if (t1)
        return 0;
      if (other)
        return 1;
      return -1;
    },
    whenValueNonNull(listenable, $T) {
      var t1 = listenable._change_notifier$_value;
      if (t1 != null)
        return A.Future_Future$value(t1, $T);
      t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      listenable.addListener$1(0, new A.whenValueNonNull_listener(listenable, new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>"))));
      return t1;
    },
    timeout_closure: function timeout_closure(t0) {
      this.T = t0;
    },
    parseCssHexColor_closure: function parseCssHexColor_closure() {
    },
    toCssHexColor_hex: function toCssHexColor_hex() {
    },
    RateLimiter: function RateLimiter(t0, t1) {
      var _ = this;
      _.callback = t0;
      _._pendingRequest = null;
      _.requestScheduledButNotStarted = false;
      _._lastRequestTime = null;
      _.delayBetweenRequests = t1;
      _._activeTimer = null;
    },
    RateLimiter_scheduleRequest_closure: function RateLimiter_scheduleRequest_closure(t0) {
      this.$this = t0;
    },
    RateLimiter_scheduleRequest_closure0: function RateLimiter_scheduleRequest_closure0(t0) {
      this.$this = t0;
    },
    TimeRange: function TimeRange() {
      this._utils$_end = this._utils$_start = null;
    },
    ImmediateValueNotifier: function ImmediateValueNotifier(t0, t1, t2) {
      var _ = this;
      _._change_notifier$_value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
      _.$ti = t2;
    },
    Range: function Range(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    SortDirection: function SortDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    DebugTimingLogger: function DebugTimingLogger(t0, t1) {
      this.name = t0;
      this.mute = t1;
      this._utils$_timer = null;
    },
    MovingAverage: function MovingAverage(t0, t1) {
      this.dataSet = t0;
      this.averagePeriod = t1;
      this.averageSum = 0;
    },
    processAnsiTerminalCodes_closure: function processAnsiTerminalCodes_closure(t0) {
      this.defaultStyle = t0;
    },
    LogicalKeySetExtension_describeKeys_closure: function LogicalKeySetExtension_describeKeys_closure() {
    },
    LogicalKeySetExtension_describeKeys_closure0: function LogicalKeySetExtension_describeKeys_closure0(t0) {
      this.isMacOS = t0;
    },
    DevToolsJsonFile: function DevToolsJsonFile(t0, t1, t2) {
      this.path = t0;
      this.lastModifiedTime = t1;
      this.data = t2;
    },
    DevToolsFile: function DevToolsFile() {
    },
    StringExtension_caseInsensitiveContains_closure: function StringExtension_caseInsensitiveContains_closure(t0) {
      this._this = t0;
    },
    StringExtension_caseInsensitiveContains_closure0: function StringExtension_caseInsensitiveContains_closure0(t0) {
      this.pattern = t0;
    },
    ListValueNotifier: function ListValueNotifier(t0, t1, t2) {
      var _ = this;
      _._rawList = t0;
      _.__ListValueNotifier__currentList = $;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
      _.$ti = t2;
    },
    ImmutableList: function ImmutableList(t0, t1, t2) {
      this._rawList = t0;
      this.length = t1;
      this.$ti = t2;
    },
    whenValueNonNull_listener: function whenValueNonNull_listener(t0, t1) {
      this.listenable = t0;
      this.completer = t1;
    },
    ProcessCancelledException: function ProcessCancelledException() {
    },
    _ImmutableList_Object_ListMixin: function _ImmutableList_Object_ListMixin() {
    },
    AppSizeJsonFileExtension_get_isAnalyzeSizeFile(_this) {
      var t1 = _this.data,
        t2 = type$.Map_String_dynamic;
      if (t2._is(t1))
        return B.JSArray_methods.contains$1(B.List_tPa, J.$index$asx(t2._as(t1), "type"));
      return false;
    },
    DiffTreeType: function DiffTreeType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AppSizeController: function AppSizeController(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._analysisCallGraph = null;
      _._analysisCallGraphRoot = t0;
      _._newDiffCallGraph = _._oldDiffCallGraph = null;
      _._diffCallGraphRoot = t1;
      _._analysisRoot = t2;
      _._analysisJsonFile = t3;
      _._diffRoot = t4;
      _._combinedDiffTreeRoot = _._decreasedDiffTreeRoot = _._increasedDiffTreeRoot = null;
      _._oldDiffJsonFile = t5;
      _._newDiffJsonFile = t6;
      _._activeDiffTreeType = t7;
      _._processingNotifier = t8;
    },
    DiffTreeTypeExtension_get_display(_this) {
      switch (_this.index) {
        case 0:
          return "Increase Only";
        case 1:
          return "Decrease Only";
        case 2:
        default:
          return "Combined";
      }
    },
    AppSizeScreen: function AppSizeScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    AppSizeBody: function AppSizeBody(t0) {
      this.key = t0;
    },
    _AppSizeBodyState: function _AppSizeBodyState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.___AppSizeBodyState__tabController = $;
      _._preLoadingData = false;
      _.ProvidedControllerMixin__controller = t0;
      _.SingleTickerProviderStateMixin__ticker = t1;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    _AppSizeBodyState_maybeLoadAppSizeFiles_closure: function _AppSizeBodyState_maybeLoadAppSizeFiles_closure(t0) {
      this.$this = t0;
    },
    _AppSizeBodyState__buildDiffTreeTypeDropdown_closure: function _AppSizeBodyState__buildDiffTreeTypeDropdown_closure(t0) {
      this.$this = t0;
    },
    _AppSizeBodyState__buildClearButton_closure: function _AppSizeBodyState__buildClearButton_closure(t0, t1) {
      this.$this = t0;
      this.activeTabKey = t1;
    },
    AnalysisView: function AnalysisView(t0) {
      this.key = t0;
    },
    _AnalysisViewState: function _AnalysisViewState(t0, t1, t2) {
      var _ = this;
      _.analysisRoot = null;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnalysisViewState_didChangeDependencies_closure: function _AnalysisViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _AnalysisViewState_didChangeDependencies__closure: function _AnalysisViewState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _AnalysisViewState__buildTreemap_closure: function _AnalysisViewState__buildTreemap_closure(t0) {
      this.$this = t0;
    },
    _AnalysisViewState__buildImportFileView_closure: function _AnalysisViewState__buildImportFileView_closure(t0) {
      this.$this = t0;
    },
    _AnalysisViewState__buildImportFileView__closure: function _AnalysisViewState__buildImportFileView__closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    _AnalysisViewState__buildImportFileView___closure: function _AnalysisViewState__buildImportFileView___closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    DiffView: function DiffView(t0) {
      this.key = t0;
    },
    _DiffViewState: function _DiffViewState(t0, t1, t2) {
      var _ = this;
      _.diffRoot = null;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _DiffViewState_didChangeDependencies_closure: function _DiffViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _DiffViewState_didChangeDependencies__closure: function _DiffViewState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _DiffViewState__buildImportDiffView_closure: function _DiffViewState__buildImportDiffView_closure(t0) {
      this.$this = t0;
    },
    _DiffViewState__buildImportDiffView__closure: function _DiffViewState__buildImportDiffView__closure(t0) {
      this.$this = t0;
    },
    _DiffViewState__buildTreemap_closure: function _DiffViewState__buildTreemap_closure(t0) {
      this.$this = t0;
    },
    __AnalysisViewState_State_AutoDisposeMixin: function __AnalysisViewState_State_AutoDisposeMixin() {
    },
    __AnalysisViewState_State_AutoDisposeMixin_ProvidedControllerMixin: function __AnalysisViewState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    __AppSizeBodyState_State_AutoDisposeMixin: function __AppSizeBodyState_State_AutoDisposeMixin() {
    },
    __AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin: function __AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin() {
    },
    __AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin: function __AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin() {
    },
    __DiffViewState_State_AutoDisposeMixin: function __DiffViewState_State_AutoDisposeMixin() {
    },
    __DiffViewState_State_AutoDisposeMixin_ProvidedControllerMixin: function __DiffViewState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    _NameColumn$(currentRootLevel) {
      var t1 = type$.TreemapNode;
      return new A._NameColumn0(currentRootLevel, A.StreamController_StreamController$broadcast(false, t1), A.StreamController_StreamController$broadcast(false, t1), "Library or Class", null, null, null, B.ColumnAlignment_0);
    },
    AppSizeAnalysisTable: function AppSizeAnalysisTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.rootNode = t0;
      _.treeColumn = t1;
      _.sortColumn = t2;
      _.columns = t3;
      _.key = t4;
    },
    AppSizeAnalysisTable_build_closure: function AppSizeAnalysisTable_build_closure() {
    },
    _NameColumn0: function _NameColumn0(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.currentRootLevel = t0;
      _.nodeExpandedController = t1;
      _.nodeCollapsedController = t2;
      _.title = t3;
      _.titleTooltip = t4;
      _.fixedWidthPx = t5;
      _.minWidthPx = t6;
      _.alignment = t7;
    },
    _SizeColumn: function _SizeColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _SizePercentageColumn: function _SizePercentageColumn(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.totalSize = t0;
      _.title = t1;
      _.titleTooltip = t2;
      _.fixedWidthPx = t3;
      _.minWidthPx = t4;
      _.alignment = t5;
    },
    AppSizeDiffTable: function AppSizeDiffTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.rootNode = t0;
      _.treeColumn = t1;
      _.sortColumn = t2;
      _.columns = t3;
      _.key = t4;
    },
    AppSizeDiffTable_build_closure: function AppSizeDiffTable_build_closure() {
    },
    _DiffColumn: function _DiffColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    CallGraphNodeDisplay_get_display(_this) {
      var t1 = _this.data,
        displayText = t1 instanceof A.ProgramInfoNode ? t1.get$qualifiedName() : J.toString$0$(t1);
      if (displayText === "@shared")
        return "@root";
      return displayText;
    },
    CallGraphNodeDisplay_get_dominatorRoot(_this) {
      var root, root0;
      for (root = _this; root0 = root.dominator, root0 != null; root = root0)
        ;
      return root;
    },
    DominatorTreeNode_DominatorTreeNode$from(cgNode) {
      var t1, t2, _i,
        domNode = new A.DominatorTreeNode(cgNode, A._setArrayType([], type$.JSArray_DominatorTreeNode));
      for (t1 = cgNode.dominated, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        domNode.addChild$1(A.DominatorTreeNode_DominatorTreeNode$from(t1[_i]));
      return domNode;
    },
    CallGraphWithDominators: function CallGraphWithDominators(t0, t1) {
      this.callGraphRoot = t0;
      this.key = t1;
    },
    _CallGraphWithDominatorsState: function _CallGraphWithDominatorsState(t0) {
      var _ = this;
      _.showCallGraph = false;
      _.___CallGraphWithDominatorsState_dominatorTreeRoot = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _CallGraphWithDominatorsState__toggleShowCallGraph_closure: function _CallGraphWithDominatorsState__toggleShowCallGraph_closure(t0, t1) {
      this.$this = t0;
      this.shouldShow = t1;
    },
    CallGraphView: function CallGraphView(t0, t1) {
      this.node = t0;
      this.key = t1;
    },
    _CallGraphViewState: function _CallGraphViewState(t0, t1, t2) {
      var _ = this;
      _._fromColumn = t0;
      _._toColumn = t1;
      _.___CallGraphViewState_selectedNode = $;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _CallGraphViewState_build_closure: function _CallGraphViewState_build_closure(t0) {
      this.$this = t0;
    },
    _CallGraphViewState__buildFromTable_closure: function _CallGraphViewState__buildFromTable_closure() {
    },
    _CallGraphViewState__buildToTable_closure: function _CallGraphViewState__buildToTable_closure() {
    },
    _CallGraphViewState__selectMainNode_closure: function _CallGraphViewState__selectMainNode_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    FromColumn: function FromColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    ToColumn: function ToColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    DominatorTree: function DominatorTree(t0, t1, t2, t3) {
      var _ = this;
      _.dominatorTreeRoot = t0;
      _.selectedNode = t1;
      _._packageColumn = t2;
      _.key = t3;
    },
    DominatorTree_build_closure: function DominatorTree_build_closure() {
    },
    DominatorTree__expandToSelected_closure: function DominatorTree__expandToSelected_closure(t0) {
      this.$this = t0;
    },
    _PackageColumn: function _PackageColumn(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.nodeExpandedController = t0;
      _.nodeCollapsedController = t1;
      _.title = t2;
      _.titleTooltip = t3;
      _.fixedWidthPx = t4;
      _.minWidthPx = t5;
      _.alignment = t6;
    },
    DominatorTreeNode: function DominatorTreeNode(t0, t1) {
      var _ = this;
      _.callGraphNode = t0;
      _.parent = null;
      _.children = t1;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    Breakpoints: function Breakpoints(t0) {
      this.key = t0;
    },
    _BreakpointsState: function _BreakpointsState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _BreakpointsState_build_closure: function _BreakpointsState_build_closure(t0) {
      this.$this = t0;
    },
    _BreakpointsState_build__closure: function _BreakpointsState_build__closure(t0, t1, t2) {
      this.$this = t0;
      this.breakpoints = t1;
      this.selectedBreakpoint = t2;
    },
    _BreakpointsState_buildBreakpoint_closure: function _BreakpointsState_buildBreakpoint_closure(t0, t1) {
      this.$this = t0;
      this.bp = t1;
    },
    BreakpointsCountBadge: function BreakpointsCountBadge(t0, t1) {
      this.breakpoints = t0;
      this.key = t1;
    },
    __BreakpointsState_State_ProvidedControllerMixin: function __BreakpointsState_State_ProvidedControllerMixin() {
    },
    CallStack: function CallStack(t0) {
      this.key = t0;
    },
    _CallStackState: function _CallStackState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _CallStackState_build_closure: function _CallStackState_build_closure(t0) {
      this.$this = t0;
    },
    _CallStackState_build__closure: function _CallStackState_build__closure(t0, t1, t2) {
      this.$this = t0;
      this.stackFrames = t1;
      this.selectedFrame = t2;
    },
    _CallStackState__buildStackFrame_closure: function _CallStackState__buildStackFrame_closure(t0, t1) {
      this.$this = t0;
      this.frame = t1;
    },
    __CallStackState_State_ProvidedControllerMixin: function __CallStackState_State_ProvidedControllerMixin() {
    },
    ScriptPopupMenuOption$(icon, label, onSelected) {
      return new A.ScriptPopupMenuOption(label, onSelected, icon);
    },
    fetchScriptLocationFullFilePath(controller) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_String),
        $async$returnValue, t1, filePath, packagePath;
      var $async$fetchScriptLocationFullFilePath = 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
              packagePath = controller._scriptLocation._change_notifier$_value.scriptRef.get$uri();
              $async$goto = packagePath != null ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t1.toString;
              t1 = J.get$id$x(t1);
              t1.toString;
              filePath = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).resolvedUriManager.lookupFileUri$2(t1, packagePath);
              $async$goto = filePath == null ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).resolvedUriManager.fetchFileUris$2(t1, A._setArrayType([packagePath], type$.JSArray_String)), $async$fetchScriptLocationFullFilePath);
            case 8:
              // returning from await.
              filePath = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).resolvedUriManager.lookupFileUri$2(t1, packagePath);
            case 7:
              // join
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              filePath = null;
            case 4:
              // join
              $async$returnValue = filePath;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$fetchScriptLocationFullFilePath, $async$completer);
    },
    showGoToLineDialog(context, controller) {
      A.showDialog(true, new A.showGoToLineDialog_closure(controller), context, type$.dynamic);
    },
    showFileOpener(context, controller) {
      controller._showFileOpener.set$value(0, true);
    },
    CodeView: function CodeView(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = t0;
      _.scriptRef = t1;
      _.parsedScript = t2;
      _.onSelected = t3;
      _.key = t4;
    },
    _CodeViewState: function _CodeViewState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.___CodeViewState_horizontalController = _.___CodeViewState_textController = _.___CodeViewState_gutterController = _.___CodeViewState_verticalController = $;
      _._lastScriptRef = null;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t2;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t3;
      _.AutoDisposeMixin__delegate = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    _CodeViewState_build_closure: function _CodeViewState_build_closure(t0) {
      this.$this = t0;
    },
    _CodeViewState_buildCodeArea_closure: function _CodeViewState_buildCodeArea_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.lines = t1;
      this.theme = t2;
    },
    _CodeViewState_buildCodeArea_closure2: function _CodeViewState_buildCodeArea_closure2() {
    },
    _CodeViewState_buildCodeArea_closure3: function _CodeViewState_buildCodeArea_closure3(t0) {
      this.$this = t0;
    },
    _CodeViewState_buildCodeArea_closure1: function _CodeViewState_buildCodeArea_closure1(t0) {
      this.$this = t0;
    },
    _CodeViewState_buildCodeArea_closure0: function _CodeViewState_buildCodeArea_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.lines = t1;
      _.theme = t2;
      _.gutterWidth = t3;
    },
    _CodeViewState_buildCodeArea__closure0: function _CodeViewState_buildCodeArea__closure0() {
    },
    _CodeViewState_buildCodeArea__closure: function _CodeViewState_buildCodeArea__closure(t0, t1, t2) {
      this.$this = t0;
      this.gutterWidth = t1;
      this.lines = t2;
    },
    _CodeViewState_buildCodeArea___closure: function _CodeViewState_buildCodeArea___closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.gutterWidth = t1;
      _.lines = t2;
      _.pausedFrame = t3;
    },
    _CodeViewState_buildCodeArea____closure: function _CodeViewState_buildCodeArea____closure(t0) {
      this.$this = t0;
    },
    _CodeViewState_buildCodeArea___closure0: function _CodeViewState_buildCodeArea___closure0(t0, t1, t2) {
      this.$this = t0;
      this.lines = t1;
      this.pausedFrame = t2;
    },
    _CodeViewState_buildSearchInFileField_closure: function _CodeViewState_buildSearchInFileField_closure(t0) {
      this.$this = t0;
    },
    _CodeViewState_buildEmptyState_closure: function _CodeViewState_buildEmptyState_closure(t0) {
      this.$this = t0;
    },
    _CodeViewState__buildScriptMenuFromHistory_closure: function _CodeViewState__buildScriptMenuFromHistory_closure(t0) {
      this.context = t0;
    },
    Gutter: function Gutter(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.gutterWidth = t0;
      _.scrollController = t1;
      _.lineCount = t2;
      _.pausedFrame = t3;
      _.breakpoints = t4;
      _.executableLines = t5;
      _.onPressed = t6;
      _.allowInteraction = t7;
      _.key = t8;
    },
    Gutter_build_closure: function Gutter_build_closure() {
    },
    Gutter_build_closure0: function Gutter_build_closure0(t0, t1) {
      this.$this = t0;
      this.bpLineSet = t1;
    },
    Gutter_build__closure: function Gutter_build__closure(t0, t1) {
      this.$this = t0;
      this.lineNum = t1;
    },
    GutterItem: function GutterItem(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.lineNumber = t0;
      _.isBreakpoint = t1;
      _.isExecutable = t2;
      _.allowInteraction = t3;
      _.isPausedHere = t4;
      _.onPressed = t5;
      _.key = t6;
    },
    Lines: function Lines(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.height = t0;
      _.debugController = t1;
      _.scrollController = t2;
      _.lines = t3;
      _.pausedFrame = t4;
      _.searchMatchesNotifier = t5;
      _.activeSearchMatchNotifier = t6;
      _.key = t7;
    },
    _LinesState: function _LinesState(t0, t1) {
      var _ = this;
      _.___LinesState_searchMatches = $;
      _.activeSearch = null;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _LinesState_initState_closure: function _LinesState_initState_closure(t0) {
      this.$this = t0;
    },
    _LinesState_initState__closure0: function _LinesState_initState__closure0(t0) {
      this.$this = t0;
    },
    _LinesState_initState_closure0: function _LinesState_initState_closure0(t0) {
      this.$this = t0;
    },
    _LinesState_initState__closure: function _LinesState_initState__closure(t0) {
      this.$this = t0;
    },
    _LinesState_build_closure: function _LinesState_build_closure(t0, t1) {
      this.$this = t0;
      this.pausedLine = t1;
    },
    _LinesState_build__closure: function _LinesState_build__closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.lineNum = t1;
      _.index = t2;
      _.isPausedLine = t3;
    },
    _LinesState_searchMatchesForLine_closure: function _LinesState_searchMatchesForLine_closure(t0) {
      this.index = t0;
    },
    LineItem: function LineItem(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.lineContents = t0;
      _.pausedFrame = t1;
      _.focused = t2;
      _.searchMatches = t3;
      _.activeSearchMatch = t4;
      _.key = t5;
    },
    _LineItemState: function _LineItemState(t0, t1) {
      var _ = this;
      _._codeview$_hoverCard = _._codeview$_removeTimer = _._codeview$_showTimer = null;
      _._previousHoverWord = "";
      _._hasMouseExited = false;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _LineItemState__onHoverExit_closure: function _LineItemState__onHoverExit_closure(t0) {
      this.$this = t0;
    },
    _LineItemState__onHover_closure: function _LineItemState__onHover_closure(t0, t1, t2) {
      this.$this = t0;
      this.event = t1;
      this.context = t2;
    },
    _LineItemState__hoverableLine_closure: function _LineItemState__hoverableLine_closure(t0) {
      this.$this = t0;
    },
    _LineItemState__hoverableLine_closure0: function _LineItemState__hoverableLine_closure0(t0) {
      this.$this = t0;
    },
    ScriptPopupMenu: function ScriptPopupMenu(t0, t1) {
      this._codeview$_controller = t0;
      this.key = t1;
    },
    ScriptPopupMenu_build_closure0: function ScriptPopupMenu_build_closure0(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    ScriptPopupMenu_build_closure: function ScriptPopupMenu_build_closure(t0) {
      this.context = t0;
    },
    ScriptHistoryPopupMenu: function ScriptHistoryPopupMenu(t0, t1, t2, t3) {
      var _ = this;
      _.itemBuilder = t0;
      _.onSelected = t1;
      _.enabled = t2;
      _.key = t3;
    },
    ScriptPopupMenuOption: function ScriptPopupMenuOption(t0, t1, t2) {
      this.label = t0;
      this.onSelected = t1;
      this.icon = t2;
    },
    copyPackagePathOption_closure: function copyPackagePathOption_closure() {
    },
    copyFilePathOption_closure: function copyFilePathOption_closure() {
    },
    showGoToLineDialog_closure: function showGoToLineDialog_closure(t0) {
      this.controller = t0;
    },
    GoToLineDialog: function GoToLineDialog(t0, t1) {
      this._debuggerController = t0;
      this.key = t1;
    },
    GoToLineDialog_build_closure: function GoToLineDialog_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    __CodeViewState_State_AutoDisposeMixin: function __CodeViewState_State_AutoDisposeMixin() {
    },
    __CodeViewState_State_AutoDisposeMixin_SearchFieldMixin: function __CodeViewState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    __LineItemState_State_ProvidedControllerMixin: function __LineItemState_State_ProvidedControllerMixin() {
    },
    __LinesState_State_AutoDisposeMixin: function __LinesState_State_AutoDisposeMixin() {
    },
    DebuggerConsole_buildHeader() {
      return A.AreaPaneHeader$(A._setArrayType([A.CopyToClipboardControl$(B.ValueKey_TGU, new A.DebuggerConsole_buildHeader_closure()), new A.DeleteControl(new A.DebuggerConsole_buildHeader_closure0(), "Clear console output", B.ValueKey_U8E, null)], type$.JSArray_Widget), 1, true, false, false, 4, B.Text_9k0);
    },
    DebuggerConsole: function DebuggerConsole(t0) {
      this.key = t0;
    },
    DebuggerConsole_buildHeader_closure: function DebuggerConsole_buildHeader_closure() {
    },
    DebuggerConsole_buildHeader_closure0: function DebuggerConsole_buildHeader_closure0() {
    },
    _DebuggerConsoleState: function _DebuggerConsoleState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    ExceptionMode$(id, $name, description) {
      return new A.ExceptionMode(id, $name, description);
    },
    ExceptionMode_from(id) {
      return B.JSArray_methods.singleWhere$2$orElse($.$get$ExceptionMode_modes(), new A.ExceptionMode_from_closure(id), new A.ExceptionMode_from_closure0());
    },
    DebuggingControls: function DebuggingControls(t0) {
      this.key = t0;
    },
    _DebuggingControlsState: function _DebuggingControlsState(t0, t1, t2) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _DebuggingControlsState__librariesButton_closure: function _DebuggingControlsState__librariesButton_closure(t0) {
      this.$this = t0;
    },
    BreakOnExceptionsControl: function BreakOnExceptionsControl(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    BreakOnExceptionsControl_build_closure: function BreakOnExceptionsControl_build_closure(t0, t1) {
      this.$this = t0;
      this.isInSmallMode = t1;
    },
    BreakOnExceptionsControl_build__closure: function BreakOnExceptionsControl_build__closure(t0) {
      this.$this = t0;
    },
    ExceptionMode: function ExceptionMode(t0, t1, t2) {
      this.id = t0;
      this.name = t1;
      this.description = t2;
    },
    ExceptionMode_from_closure: function ExceptionMode_from_closure(t0) {
      this.id = t0;
    },
    ExceptionMode_from_closure0: function ExceptionMode_from_closure0() {
    },
    DebuggerButton: function DebuggerButton(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.icon = t1;
      _.onPressed = t2;
      _.autofocus = t3;
      _.key = t4;
    },
    __DebuggingControlsState_State_AutoDisposeMixin: function __DebuggingControlsState_State_AutoDisposeMixin() {
    },
    __DebuggingControlsState_State_AutoDisposeMixin_ProvidedControllerMixin: function __DebuggingControlsState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    DebuggerController$() {
      var _null = null,
        t1 = type$.LibraryRef,
        t2 = type$.Future_Set_nullable_String,
        t3 = $.$get$ChangeNotifier__emptyListeners(),
        t4 = type$.ValueNotifier_nullable_ScriptRef,
        t5 = type$.ValueNotifier_bool,
        t6 = type$.ValueNotifier_String;
      t3 = new A.DebuggerController(A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), new A.ScriptsHistory(A.LinkedHashSet_LinkedHashSet$_empty(type$.ScriptRef), new A.ValueNotifier(_null, t3, t4), A._setArrayType([], type$.JSArray_ScriptRef)), new A.ValueNotifier(false, t3, t5), new A.ValueNotifier(false, t3, t5), new A.ValueNotifier(_null, t3, t4), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_ParsedScript), new A.ValueNotifier(false, t3, t5), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_ScriptLocation), new A.ValueNotifier(false, t3, t5), A.LinkedHashMap_LinkedHashMap$_empty(type$.ClassRef, type$.Class), new A.ValueNotifier(A._setArrayType([], type$.JSArray_StackFrameAndSourcePosition), t3, type$.ValueNotifier_List_StackFrameAndSourcePosition), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_StackFrameAndSourcePosition), new A.ValueNotifier(A._setArrayType([], type$.JSArray_DartObjectNode), t3, type$.ValueNotifier_List_DartObjectNode), new A.ValueNotifier(A._setArrayType([], type$.JSArray_Breakpoint), t3, type$.ValueNotifier_List_Breakpoint), new A.ValueNotifier(A._setArrayType([], type$.JSArray_BreakpointAndSourcePosition), t3, type$.ValueNotifier_List_BreakpointAndSourcePosition), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_BreakpointAndSourcePosition), new A.ValueNotifier("Unhandled", t3, t6), new A.ValueNotifier(false, t3, t5), new A.EvalHistory(A._setArrayType([], type$.JSArray_String)), new A.ValueNotifier(false, t3, t5), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.List_SourcePosition), new A.ValueNotifier("", t3, t6), new A.ValueNotifier(false, t3, t5), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], type$.JSArray_SourceToken), t3, type$.ValueNotifier_List_SourceToken), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_SourceToken), new A.ValueNotifier(0, t3, type$.ValueNotifier_int), A.Disposer$());
      t3.DebuggerController$1$initialSwitchToIsolate(true);
      return t3;
    },
    DebuggerController: function DebuggerController(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) {
      var _ = this;
      _._firstDebuggerScreenLoaded = false;
      _._lastService = null;
      _.libraryMemberAutocompleteCache = t0;
      _.libraryMemberAndImportsAutocompleteCache = t1;
      _.__DebuggerController_programExplorerController = $;
      _.scriptsHistory = t2;
      _.__DebuggerController__scriptHistoryListener = $;
      _._debugger_controller$_isPaused = t3;
      _._resuming = t4;
      _._lastEvent = null;
      _._currentScriptRef = t5;
      _.parsedScript = t6;
      _._showSearchInFileField = t7;
      _._scriptLocation = t8;
      _._showFileOpener = t9;
      _._clazzCache = t10;
      _._stackFramesWithLocation = t11;
      _._selectedStackFrame = t12;
      _._variables = t13;
      _._breakpoints = t14;
      _._breakpointsWithLocation = t15;
      _._selectedBreakpoint = t16;
      _._exceptionPauseMode = t17;
      _._librariesVisible = t18;
      _.isolateRef = null;
      _.evalHistory = t19;
      _._hasTruncatedFrames = t20;
      _._getStackOperation = null;
      _._breakPositionsMap = t21;
      _.SearchControllerMixin__searchNotifier = t22;
      _.SearchControllerMixin__searchInProgress = t23;
      _.SearchControllerMixin_xPosition = t24;
      _.SearchControllerMixin__searchOperation = t25;
      _.SearchControllerMixin__searchDebounce = t26;
      _.SearchControllerMixin__searchMatches = t27;
      _.SearchControllerMixin__activeSearchMatch = t28;
      _.SearchControllerMixin_matchIndex = t29;
      _.AutoDisposeControllerMixin__delegate = t30;
    },
    DebuggerController_closure: function DebuggerController_closure(t0) {
      this.$this = t0;
    },
    DebuggerController_initialize_closure: function DebuggerController_initialize_closure(t0) {
      this.$this = t0;
    },
    DebuggerController__parseCurrentScript_closure: function DebuggerController__parseCurrentScript_closure() {
    },
    DebuggerController_switchToIsolate_closure: function DebuggerController_switchToIsolate_closure(t0, t1) {
      this.$this = t0;
      this.isolate = t1;
    },
    DebuggerController_stepOver_closure: function DebuggerController_stepOver_closure() {
    },
    DebuggerController_clearBreakpoints_closure: function DebuggerController_clearBreakpoints_closure(t0) {
      this.$this = t0;
    },
    DebuggerController_toggleBreakpoint_closure: function DebuggerController_toggleBreakpoint_closure(t0, t1) {
      this.script = t0;
      this.line = t1;
    },
    DebuggerController__handleDebugEvent_closure: function DebuggerController__handleDebugEvent_closure(t0) {
      this.$this = t0;
    },
    DebuggerController__handleDebugEvent_closure0: function DebuggerController__handleDebugEvent_closure0(t0) {
      this.$this = t0;
    },
    DebuggerController__handleDebugEvent__closure: function DebuggerController__handleDebugEvent__closure(t0) {
      this.bp = t0;
    },
    DebuggerController__updateAfterIsolateReload_closure: function DebuggerController__updateAfterIsolateReload_closure(t0) {
      this.uri = t0;
    },
    DebuggerController__populateScriptAndShowLocation_closure: function DebuggerController__populateScriptAndShowLocation_closure(t0, t1) {
      this.$this = t0;
      this.scriptRef = t1;
    },
    DebuggerController__populateScripts_closure: function DebuggerController__populateScripts_closure(t0) {
      this.isolate = t0;
    },
    DebuggerController__createBreakpointWithLocation_closure: function DebuggerController__createBreakpointWithLocation_closure(t0, t1) {
      this.bp = t0;
      this.breakpoint = t1;
    },
    DebuggerController__createVariablesForFrame_closure: function DebuggerController__createVariablesForFrame_closure(t0) {
      this.$this = t0;
    },
    DebuggerController__createVariablesForFrame_closure0: function DebuggerController__createVariablesForFrame_closure0() {
    },
    DebuggerController_matchesForSearch_closure: function DebuggerController_matchesForSearch_closure(t0) {
      this.i = t0;
    },
    ScriptsHistory: function ScriptsHistory(t0, t1, t2) {
      var _ = this;
      _._openedScripts = t0;
      _._history_manager$_current = t1;
      _._history_manager$_history = t2;
      _._historyIndex = -1;
    },
    EvalHistory: function EvalHistory(t0) {
      this._historyPosition = -1;
      this._evalHistory = t0;
    },
    _StackInfo: function _StackInfo(t0, t1) {
      this.frames = t0;
      this.truncated = t1;
    },
    ParsedScript: function ParsedScript(t0, t1, t2, t3) {
      var _ = this;
      _.script = t0;
      _.highlighter = t1;
      _.executableLines = t2;
      _.lines = t3;
    },
    _DebuggerController_DisposableController_AutoDisposeControllerMixin: function _DebuggerController_DisposableController_AutoDisposeControllerMixin() {
    },
    _DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin: function _DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin() {
    },
    SourcePosition_SourcePosition$calculatePosition(script, tokenPos) {
      return new A.SourcePosition(script._tokenToLine.$index(0, tokenPos), script._tokenToColumn.$index(0, tokenPos), tokenPos);
    },
    BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(breakpoint, sourcePosition) {
      var t1 = breakpoint.location;
      if (t1 instanceof A.SourceLocation)
        return new A._BreakpointAndSourcePositionResolved(t1, breakpoint, sourcePosition);
      else if (t1 instanceof A.UnresolvedSourceLocation)
        return new A._BreakpointAndSourcePositionUnresolved(t1, breakpoint, sourcePosition);
      else
        throw A.wrapException("invalid value for breakpoint.location");
    },
    GenericInstanceRef: function GenericInstanceRef(t0, t1, t2) {
      this.value = t0;
      this.diagnostic = t1;
      this.isolateRef = t2;
    },
    ScriptLocation: function ScriptLocation(t0, t1) {
      this.scriptRef = t0;
      this.location = t1;
    },
    SourcePosition: function SourcePosition(t0, t1, t2) {
      this.line = t0;
      this.column = t1;
      this.tokenPos = t2;
    },
    SourceToken: function SourceToken(t0, t1, t2, t3) {
      var _ = this;
      _.position = t0;
      _.length = t1;
      _.DataSearchStateMixin_isSearchMatch = t2;
      _.DataSearchStateMixin_isActiveSearchMatch = t3;
    },
    BreakpointAndSourcePosition: function BreakpointAndSourcePosition() {
    },
    _BreakpointAndSourcePositionResolved: function _BreakpointAndSourcePositionResolved(t0, t1, t2) {
      this.location = t0;
      this.breakpoint = t1;
      this.sourcePosition = t2;
    },
    _BreakpointAndSourcePositionUnresolved: function _BreakpointAndSourcePositionUnresolved(t0, t1, t2) {
      this.location = t0;
      this.breakpoint = t1;
      this.sourcePosition = t2;
    },
    StackFrameAndSourcePosition: function StackFrameAndSourcePosition(t0, t1) {
      this.frame = t0;
      this.position = t1;
    },
    _SourceToken_Object_DataSearchStateMixin: function _SourceToken_Object_DataSearchStateMixin() {
    },
    DebuggerScreen: function DebuggerScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    DebuggerScreenBody: function DebuggerScreenBody(t0) {
      this.key = t0;
    },
    DebuggerScreenBodyState: function DebuggerScreenBodyState(t0, t1, t2) {
      var _ = this;
      _.__DebuggerScreenBodyState__shownFirstScript = $;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    DebuggerScreenBodyState_build_closure: function DebuggerScreenBodyState_build_closure(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState_build_closure0: function DebuggerScreenBodyState_build_closure0(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState_debuggerPanes_closure: function DebuggerScreenBodyState_debuggerPanes_closure(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState_debuggerPanes__closure: function DebuggerScreenBodyState_debuggerPanes__closure(t0) {
      this.$this = t0;
    },
    DebuggerScreenBodyState_debuggerPanes___closure: function DebuggerScreenBodyState_debuggerPanes___closure() {
    },
    DebuggerScreenBodyState__breakpointsRightChild_closure: function DebuggerScreenBodyState__breakpointsRightChild_closure(t0) {
      this.$this = t0;
    },
    GoToLineNumberIntent: function GoToLineNumberIntent(t0, t1) {
      this._debugger_screen$_context = t0;
      this._debugger_screen$_controller = t1;
    },
    GoToLineNumberAction: function GoToLineNumberAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    SearchInFileIntent: function SearchInFileIntent(t0) {
      this._debugger_screen$_controller = t0;
    },
    SearchInFileAction: function SearchInFileAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    EscapeIntent: function EscapeIntent(t0) {
      this._debugger_screen$_controller = t0;
    },
    EscapeAction: function EscapeAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    OpenFileIntent: function OpenFileIntent(t0) {
      this._debugger_screen$_controller = t0;
    },
    OpenFileAction: function OpenFileAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    DebuggerStatus: function DebuggerStatus(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _DebuggerStatusState: function _DebuggerStatusState(t0, t1) {
      var _ = this;
      _._debugger_screen$_status = "";
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _DebuggerStatusState__updateStatus_closure: function _DebuggerStatusState__updateStatus_closure(t0, t1) {
      this.$this = t0;
      this.status = t1;
    },
    FloatingDebuggerControls: function FloatingDebuggerControls(t0) {
      this.key = t0;
    },
    _FloatingDebuggerControlsState: function _FloatingDebuggerControlsState(t0, t1, t2) {
      var _ = this;
      _.___FloatingDebuggerControlsState_controlHeight = _.___FloatingDebuggerControlsState_paused = $;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _FloatingDebuggerControlsState_didChangeDependencies_closure: function _FloatingDebuggerControlsState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _FloatingDebuggerControlsState_didChangeDependencies__closure: function _FloatingDebuggerControlsState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _FloatingDebuggerControlsState_build_closure: function _FloatingDebuggerControlsState_build_closure(t0) {
      this.$this = t0;
    },
    _FloatingDebuggerControlsState_build__closure: function _FloatingDebuggerControlsState_build__closure(t0) {
      this.$this = t0;
    },
    _DebuggerScreenBodyState_State_AutoDisposeMixin: function _DebuggerScreenBodyState_State_AutoDisposeMixin() {
    },
    _DebuggerScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin: function _DebuggerScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    __DebuggerStatusState_State_AutoDisposeMixin: function __DebuggerStatusState_State_AutoDisposeMixin() {
    },
    __FloatingDebuggerControlsState_State_AutoDisposeMixin: function __FloatingDebuggerControlsState_State_AutoDisposeMixin() {
    },
    __FloatingDebuggerControlsState_State_AutoDisposeMixin_ProvidedControllerMixin: function __FloatingDebuggerControlsState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    autoCompleteResultsFor(parts, controller) {
      return A.autoCompleteResultsFor$body(parts, controller);
    },
    autoCompleteResultsFor$body(parts, controller) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_String),
        $async$returnValue, $async$handler = 2, $async$currentError, left, response, typeClass, variables, thisVariable, thisValue, classRef, frame, $function, libraryRef, exception, t1, result, t2, $async$exception, $async$temp1, $async$temp2;
      var $async$autoCompleteResultsFor = 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 = type$.String;
              result = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t2 = parts.leftSide;
              $async$goto = !B.JSString_methods.endsWith$1(t2, ".") ? 3 : 5;
              break;
            case 3:
              // then
              variables = controller._variables._change_notifier$_value;
              J.addAll$1$ax(result, J.map$1$1$ax(variables, new A.autoCompleteResultsFor_closure(), type$.nullable_String).whereType$1$0(0, t1));
              thisVariable = A.IterableExtension_firstWhereOrNull(variables, new A.autoCompleteResultsFor_closure0());
              $async$goto = thisVariable != null ? 6 : 7;
              break;
            case 6:
              // then
              t2 = thisVariable._ref;
              thisValue = t2 == null ? null : t2.value;
              $async$goto = type$.InstanceRef._is(thisValue) ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = 10;
              return A._asyncAwait(A._addAllInstanceMembersToAutocompleteList(result, thisValue, controller), $async$autoCompleteResultsFor);
            case 10:
              // returning from await.
              classRef = thisValue.get$classRef();
              $async$goto = classRef != null ? 11 : 12;
              break;
            case 11:
              // then
              $async$temp1 = J;
              $async$temp2 = result;
              $async$goto = 13;
              return A._asyncAwait(A._autoCompleteMembersFor(classRef, controller, true), $async$autoCompleteResultsFor);
            case 13:
              // returning from await.
              $async$temp1.addAll$1$ax($async$temp2, $async$result);
            case 12:
              // join
            case 9:
              // join
            case 7:
              // join
              frame = controller.get$frameForEval();
              $async$goto = frame != null ? 14 : 15;
              break;
            case 14:
              // then
              $function = frame.$function;
              $async$goto = $function != null ? 16 : 17;
              break;
            case 16:
              // then
              $async$goto = 18;
              return A._asyncAwait(controller.findOwnerLibrary$1($function), $async$autoCompleteResultsFor);
            case 18:
              // returning from await.
              libraryRef = $async$result;
              $async$goto = libraryRef != null ? 19 : 20;
              break;
            case 19:
              // then
              $async$temp1 = J;
              $async$temp2 = result;
              $async$goto = 21;
              return A._asyncAwait(A.libraryMemberAndImportsAutocompletes(libraryRef, controller), $async$autoCompleteResultsFor);
            case 21:
              // returning from await.
              $async$temp1.addAll$1$ax($async$temp2, $async$result);
            case 20:
              // join
            case 17:
              // join
            case 15:
              // join
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              left = B.JSArray_methods.get$last(t2.split(" "));
              left = J.substring$2$s(left, 0, J.get$length$asx(left) - 1);
              $async$handler = 23;
              $async$goto = 26;
              return A._asyncAwait(controller.evalAtCurrentFrame$1(left), $async$autoCompleteResultsFor);
            case 26:
              // returning from await.
              response = $async$result;
              $async$goto = type$.InstanceRef._is(response) ? 27 : 28;
              break;
            case 27:
              // then
              typeClass = response.get$typeClass();
              $async$goto = typeClass != null ? 29 : 31;
              break;
            case 29:
              // then
              $async$temp1 = J;
              $async$temp2 = result;
              $async$goto = 32;
              return A._asyncAwait(A._autoCompleteMembersFor(typeClass, controller, true), $async$autoCompleteResultsFor);
            case 32:
              // returning from await.
              $async$temp1.addAll$1$ax($async$temp2, $async$result);
              // goto join
              $async$goto = 30;
              break;
            case 31:
              // else
              $async$goto = 33;
              return A._asyncAwait(A._addAllInstanceMembersToAutocompleteList(result, response, controller), $async$autoCompleteResultsFor);
            case 33:
              // returning from await.
            case 30:
              // join
            case 28:
              // join
              $async$handler = 2;
              // goto after finally
              $async$goto = 25;
              break;
            case 23:
              // catch
              $async$handler = 22;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 25;
              break;
            case 22:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 25:
              // after finally
            case 4:
              // join
              $async$returnValue = J.whereType$1$0$ax(result, t1).where$1(0, new A.autoCompleteResultsFor_closure1(parts)).toList$0(0);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$autoCompleteResultsFor, $async$completer);
    },
    libraryMemberAndImportsAutocompletes(libraryRef, controller) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Set_String),
        $async$returnValue, $async$temp1;
      var $async$libraryMemberAndImportsAutocompletes = 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 = J;
              $async$goto = 3;
              return A._asyncAwait(controller.libraryMemberAndImportsAutocompleteCache.putIfAbsent$2(0, libraryRef, new A.libraryMemberAndImportsAutocompletes_closure(libraryRef, controller)), $async$libraryMemberAndImportsAutocompletes);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.whereType$1$0$ax($async$result, type$.String).toSet$0(0);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$libraryMemberAndImportsAutocompletes, $async$completer);
    },
    _libraryMemberAndImportsAutocompletes(libraryRef, controller) {
      return A._libraryMemberAndImportsAutocompletes$body(libraryRef, controller);
    },
    _libraryMemberAndImportsAutocompletes$body(libraryRef, controller) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Set_String),
        $async$returnValue, $async$handler = 2, $async$currentError, futures, library, dependencies, dependency, prefix, target, t1, t2, t3, _i, exception, result, $async$exception, $async$temp1;
      var $async$_libraryMemberAndImportsAutocompletes = 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
              result = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
              $async$handler = 4;
              futures = A._setArrayType([], type$.JSArray_Future_Set_String);
              J.add$1$ax(futures, A.libraryMemberAutocompletes(controller, libraryRef, true));
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = controller.get$_isolateRefId();
              t3 = libraryRef.get$id(libraryRef);
              t3.toString;
              $async$temp1 = type$.Library;
              $async$goto = 7;
              return A._asyncAwait(t1.getObject$2(0, t2, t3), $async$_libraryMemberAndImportsAutocompletes);
            case 7:
              // returning from await.
              library = $async$temp1._as($async$result);
              dependencies = library.dependencies;
              if (dependencies != null)
                for (t1 = library.dependencies, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                  dependency = t1[_i];
                  prefix = dependency.prefix;
                  target = dependency.target;
                  if (prefix != null && J.get$length$asx(prefix) !== 0)
                    J.add$1$ax(result, prefix);
                  else if (target != null)
                    J.add$1$ax(futures, A.libraryMemberAutocompletes(controller, target, false));
                }
              $async$temp1 = J;
              $async$goto = 8;
              return A._asyncAwait(A.Future_wait(futures, type$.Set_String), $async$_libraryMemberAndImportsAutocompletes);
            case 8:
              // returning from await.
              $async$temp1.forEach$1$ax($async$result, J.get$addAll$ax(result));
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_libraryMemberAndImportsAutocompletes, $async$completer);
    },
    libraryMemberAutocompletes(controller, libraryRef, includePrivates) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Set_String),
        $async$returnValue, result, $async$temp1;
      var $async$libraryMemberAutocompletes = 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 = J;
              $async$goto = 3;
              return A._asyncAwait(controller.libraryMemberAutocompleteCache.putIfAbsent$2(0, libraryRef, new A.libraryMemberAutocompletes_closure(controller, libraryRef)), $async$libraryMemberAutocompletes);
            case 3:
              // returning from await.
              result = $async$temp1.whereType$1$0$ax($async$result, type$.String);
              $async$returnValue = (!includePrivates ? result.where$1(0, new A.libraryMemberAutocompletes_closure0()) : result).toSet$0(0);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$libraryMemberAutocompletes, $async$completer);
    },
    _libraryMemberAutocompletes(controller, libraryRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Set_String),
        $async$returnValue, t3, t4, library, variables, functions, classes, futures, _i, dependency, prefix, target, t1, result, t2, $async$temp1;
      var $async$_libraryMemberAutocompletes = 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;
              result = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = controller.get$_isolateRefId();
              t4 = libraryRef.get$id(libraryRef);
              t4.toString;
              $async$temp1 = type$.Library;
              $async$goto = 3;
              return A._asyncAwait(t2.getObject$2(0, t3, t4), $async$_libraryMemberAutocompletes);
            case 3:
              // returning from await.
              library = $async$temp1._as($async$result);
              variables = library.variables;
              if (variables != null)
                result.addAll$1(0, J.map$1$1$ax(variables, new A._libraryMemberAutocompletes_closure(), type$.nullable_String).whereType$1$0(0, t1));
              functions = library.functions;
              if (functions != null)
                result.addAll$1(0, J.map$1$1$ax(functions, new A._libraryMemberAutocompletes_closure0(), t1).whereType$1$0(0, t1));
              classes = library.classes;
              if (classes != null)
                result.addAll$1(0, new A.MappedListIterable(classes, new A._libraryMemberAutocompletes_closure1(), A._arrayInstanceType(classes)._eval$1("MappedListIterable<1,String?>")).whereType$1$0(0, t1));
              futures = A._setArrayType([], type$.JSArray_Future_Set_String);
              for (t1 = library.dependencies, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                dependency = t1[_i];
                t3 = dependency.isImport;
                t3.toString;
                if (!t3) {
                  prefix = dependency.prefix;
                  target = dependency.target;
                  if (prefix != null && prefix.length !== 0)
                    result.add$1(0, prefix);
                  else if (target != null)
                    futures.push(A.libraryMemberAutocompletes(controller, target, false));
                }
              }
              $async$goto = futures.length !== 0 ? 4 : 5;
              break;
            case 4:
              // then
              $async$temp1 = J;
              $async$goto = 6;
              return A._asyncAwait(A.Future_wait(futures, type$.Set_String), $async$_libraryMemberAutocompletes);
            case 6:
              // returning from await.
              $async$temp1.forEach$1$ax($async$result, result.get$addAll(result));
            case 5:
              // join
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_libraryMemberAutocompletes, $async$completer);
    },
    _addAllInstanceMembersToAutocompleteList(result, response, controller) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, t2, t3, instance, classRef, fields, clazz, t1, $async$temp1;
      var $async$_addAllInstanceMembersToAutocompleteList = 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = controller.get$_isolateRefId();
              t3 = response.get$id(response);
              t3.toString;
              $async$temp1 = type$.Instance;
              $async$goto = 3;
              return A._asyncAwait(t1.getObject$2(0, t2, t3), $async$_addAllInstanceMembersToAutocompleteList);
            case 3:
              // returning from await.
              instance = $async$temp1._as($async$result);
              classRef = instance.Instance_classRef;
              if (classRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = result;
              $async$goto = 4;
              return A._asyncAwait(A._autoCompleteMembersFor(classRef, controller, false), $async$_addAllInstanceMembersToAutocompleteList);
            case 4:
              // returning from await.
              $async$temp1.addAll$1(0, $async$result);
              fields = instance.fields;
              if (fields == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait(controller.classFor$1(classRef), $async$_addAllInstanceMembersToAutocompleteList);
            case 5:
              // returning from await.
              clazz = $async$result;
              t1 = A._arrayInstanceType(fields);
              result.addAll$1(0, new A.MappedIterable(new A.WhereIterable(fields, new A._addAllInstanceMembersToAutocompleteList_closure(), t1._eval$1("WhereIterable<1>")), new A._addAllInstanceMembersToAutocompleteList_closure0(), t1._eval$1("MappedIterable<1,String?>")).whereType$1$0(0, type$.String).where$1(0, new A._addAllInstanceMembersToAutocompleteList_closure1(clazz, controller)));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_addAllInstanceMembersToAutocompleteList, $async$completer);
    },
    _autoCompleteMembersFor(classRef, controller, staticContext) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Set_String),
        $async$returnValue, fields, t2, functions, t3, t4, t5, isConstructor, funcName, $name, superClass, t1, result, clazz, $async$temp1;
      var $async$_autoCompleteMembersFor = 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;
              result = A.LinkedHashSet_LinkedHashSet$_empty(t1);
              $async$goto = 3;
              return A._asyncAwait(controller.classFor$1(classRef), $async$_autoCompleteMembersFor);
            case 3:
              // returning from await.
              clazz = $async$result;
              $async$goto = clazz != null ? 4 : 5;
              break;
            case 4:
              // then
              fields = clazz.fields;
              if (fields != null) {
                t2 = J.where$1$ax(fields, new A._autoCompleteMembersFor_closure(staticContext));
                result.addAll$1(0, new A.MappedIterable(t2, new A._autoCompleteMembersFor_closure0(), t2.$ti._eval$1("MappedIterable<1,String?>")).whereType$1$0(0, t1));
              }
              functions = clazz.functions;
              if (functions != null)
                for (t1 = J.get$iterator$ax(functions), t2 = B.Set_gsmai._collection$_map, t3 = J.getInterceptor$x(t2); t1.moveNext$0();) {
                  t4 = t1.get$current(t1);
                  if (t4.get$name(t4) != clazz.name) {
                    t5 = t4.get$name(t4);
                    t5.toString;
                    t5 = B.JSString_methods.startsWith$1(t5, A.S(clazz.name) + ".");
                  } else
                    t5 = true;
                  if (!t5) {
                    t5 = t4.get$isStatic();
                    t5.toString;
                  } else
                    t5 = true;
                  if (t5 === staticContext && !t3.containsKey$1(t2, t4.get$name(t4))) {
                    if (t4.get$name(t4) != clazz.name) {
                      t5 = t4.get$name(t4);
                      t5.toString;
                      isConstructor = B.JSString_methods.startsWith$1(t5, A.S(clazz.name) + ".");
                    } else
                      isConstructor = true;
                    funcName = t4.get$name(t4);
                    if (funcName == null)
                      continue;
                    $name = A.stringReplaceAllUnchecked(funcName, "=", "");
                    if (isConstructor) {
                      t4 = clazz.name.length + 1;
                      if ($name.length <= t4)
                        continue;
                      $name = B.JSString_methods.substring$1($name, t4);
                    }
                    result.add$1(0, $name);
                  }
                }
              superClass = clazz.superClass;
              $async$goto = !staticContext && superClass != null ? 6 : 7;
              break;
            case 6:
              // then
              $async$temp1 = result;
              $async$goto = 8;
              return A._asyncAwait(A._autoCompleteMembersFor(superClass, controller, staticContext), $async$_autoCompleteMembersFor);
            case 8:
              // returning from await.
              $async$temp1.addAll$1(0, $async$result);
            case 7:
              // join
              result._filterWhere$2(new A._autoCompleteMembersFor_closure1(clazz, controller), true);
            case 5:
              // join
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_autoCompleteMembersFor, $async$completer);
    },
    _isAccessible(member, clazz, controller) {
      var t1, t2,
        currentScript = controller.get$frameForEval().location.script;
      if (B.JSString_methods.startsWith$1(member, "_")) {
        t1 = currentScript.get$id(currentScript);
        if (clazz == null)
          t2 = null;
        else {
          t2 = clazz.location;
          if (t2 == null)
            t2 = null;
          else {
            t2 = t2.script;
            t2 = t2 == null ? null : t2.get$id(t2);
          }
        }
        t2 = t1 == t2;
        t1 = t2;
      } else
        t1 = true;
      return t1;
    },
    ExpressionEvalField: function ExpressionEvalField(t0, t1, t2) {
      this.controller = t0;
      this.getAutoCompleteResults = t1;
      this.key = t2;
    },
    ExpressionEvalFieldState: function ExpressionEvalFieldState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.__ExpressionEvalFieldState__autoCompleteController = $;
      _._activeWord = "";
      _._matches = t0;
      _.evalTextFieldKey = t1;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t2;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t3;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t4;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t5;
      _.AutoDisposeMixin__delegate = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
    },
    ExpressionEvalFieldState_initState_closure: function ExpressionEvalFieldState_initState_closure(t0) {
      this.$this = t0;
    },
    ExpressionEvalFieldState__handleSearch_closure: function ExpressionEvalFieldState__handleSearch_closure() {
    },
    ExpressionEvalFieldState_build_closure0: function ExpressionEvalFieldState_build_closure0(t0) {
      this.$this = t0;
    },
    ExpressionEvalFieldState_build_closure: function ExpressionEvalFieldState_build_closure() {
    },
    ExpressionEvalFieldState__onSelection_closure: function ExpressionEvalFieldState__onSelection_closure(t0, t1) {
      this.$this = t0;
      this.word = t1;
    },
    ExpressionEvalFieldState__filterMatches_closure: function ExpressionEvalFieldState__filterMatches_closure(t0) {
      this.activeWord = t0;
    },
    ExpressionEvalFieldState__handleExpressionEval_closure: function ExpressionEvalFieldState__handleExpressionEval_closure(t0, t1) {
      this.$this = t0;
      this.expressionText = t1;
    },
    ExpressionEvalFieldState__historyNavUp_closure: function ExpressionEvalFieldState__historyNavUp_closure(t0, t1) {
      this.$this = t0;
      this.evalHistory = t1;
    },
    ExpressionEvalFieldState__historyNavDown_closure: function ExpressionEvalFieldState__historyNavDown_closure(t0, t1) {
      this.$this = t0;
      this.evalHistory = t1;
    },
    autoCompleteResultsFor_closure: function autoCompleteResultsFor_closure() {
    },
    autoCompleteResultsFor_closure0: function autoCompleteResultsFor_closure0() {
    },
    autoCompleteResultsFor_closure1: function autoCompleteResultsFor_closure1(t0) {
      this.parts = t0;
    },
    libraryMemberAndImportsAutocompletes_closure: function libraryMemberAndImportsAutocompletes_closure(t0, t1) {
      this.libraryRef = t0;
      this.controller = t1;
    },
    libraryMemberAutocompletes_closure: function libraryMemberAutocompletes_closure(t0, t1) {
      this.controller = t0;
      this.libraryRef = t1;
    },
    libraryMemberAutocompletes_closure0: function libraryMemberAutocompletes_closure0() {
    },
    _libraryMemberAutocompletes_closure: function _libraryMemberAutocompletes_closure() {
    },
    _libraryMemberAutocompletes_closure0: function _libraryMemberAutocompletes_closure0() {
    },
    _libraryMemberAutocompletes_closure1: function _libraryMemberAutocompletes_closure1() {
    },
    _addAllInstanceMembersToAutocompleteList_closure: function _addAllInstanceMembersToAutocompleteList_closure() {
    },
    _addAllInstanceMembersToAutocompleteList_closure0: function _addAllInstanceMembersToAutocompleteList_closure0() {
    },
    _addAllInstanceMembersToAutocompleteList_closure1: function _addAllInstanceMembersToAutocompleteList_closure1(t0, t1) {
      this.clazz = t0;
      this.controller = t1;
    },
    _autoCompleteMembersFor_closure: function _autoCompleteMembersFor_closure(t0) {
      this.staticContext = t0;
    },
    _autoCompleteMembersFor_closure0: function _autoCompleteMembersFor_closure0() {
    },
    _autoCompleteMembersFor_closure1: function _autoCompleteMembersFor_closure1(t0, t1) {
      this.clazz = t0;
      this.controller = t1;
    },
    _ExpressionEvalFieldState_State_AutoDisposeMixin: function _ExpressionEvalFieldState_State_AutoDisposeMixin() {
    },
    _ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin: function _ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    FileSearchResults_FileSearchResults$emptyQuery(allScripts) {
      var t1 = type$.JSArray_ScriptRef;
      return new A.FileSearchResults(allScripts, new A.FileQuery(""), A._setArrayType([], t1), A._setArrayType([], t1), A._setArrayType([], t1));
    },
    FileSearchResults_FileSearchResults$withQuery(allScripts, query) {
      var t2,
        t1 = type$.JSArray_ScriptRef,
        exactFileNameMatches = A._setArrayType([], t1),
        exactFullPathMatches = A._setArrayType([], t1),
        fuzzyMatches = A._setArrayType([], t1);
      for (t1 = J.get$iterator$ax(allScripts); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (query.isExactFileNameMatch$1(t2))
          exactFileNameMatches.push(t2);
        else if (query.isExactFullPathMatch$1(t2))
          exactFullPathMatches.push(t2);
        else if (query.isFuzzyMatch$1(t2))
          fuzzyMatches.push(t2);
      }
      return new A.FileSearchResults(allScripts, query, exactFileNameMatches, exactFullPathMatches, fuzzyMatches);
    },
    FileSearchField: function FileSearchField(t0, t1) {
      this.debuggerController = t0;
      this.key = t1;
    },
    FileSearchFieldState: function FileSearchFieldState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.__FileSearchFieldState_autoCompleteController = $;
      _._scriptsCache = t0;
      _.fileSearchFieldKey = t1;
      _.__FileSearchFieldState__searchResults = _.__FileSearchFieldState__query = $;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t2;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t3;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t4;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t5;
      _.AutoDisposeMixin__delegate = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
    },
    FileSearchFieldState_initState_closure: function FileSearchFieldState_initState_closure(t0) {
      this.$this = t0;
    },
    FileSearchFieldState__addScriptRefToCache_closure: function FileSearchFieldState__addScriptRefToCache_closure(t0) {
      this.scriptRef = t0;
    },
    FileQuery: function FileQuery(t0) {
      this.query = t0;
    },
    FileQuery_isExactFileNameMatch_closure: function FileQuery_isExactFileNameMatch_closure(t0) {
      this.fileName = t0;
    },
    FileQuery_createExactFileNameAutoCompleteMatch_closure: function FileQuery_createExactFileNameAutoCompleteMatch_closure(t0) {
      this.fileNameIndex = t0;
    },
    FileQuery_isExactFullPathMatch_closure: function FileQuery_isExactFullPathMatch_closure(t0) {
      this.scriptUri = t0;
    },
    FileQuery_createFuzzyMatchAutoCompleteMatch_closure: function FileQuery_createFuzzyMatchAutoCompleteMatch_closure(t0) {
      this.fileNameIndex = t0;
    },
    FileQuery__findExactSegments_closure: function FileQuery__findExactSegments_closure() {
    },
    FileSearchResults: function FileSearchResults(t0, t1, t2, t3, t4) {
      var _ = this;
      _.allScripts = t0;
      _.query = t1;
      _._exactFileNameMatches = t2;
      _._exactFullPathMatches = t3;
      _._fuzzyMatches = t4;
    },
    FileSearchResults_autoCompleteMatches_closure: function FileSearchResults_autoCompleteMatches_closure() {
    },
    _FileSearchFieldState_State_AutoDisposeMixin: function _FileSearchFieldState_State_AutoDisposeMixin() {
    },
    _FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin: function _FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    _ProgramExplorerRow: function _ProgramExplorerRow(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.node = t1;
      _.onTap = t2;
      _.key = t3;
    },
    _ProgramExplorerRow__tooltipForNode_closure: function _ProgramExplorerRow__tooltipForNode_closure() {
    },
    ProgramStructureIcon: function ProgramStructureIcon(t0, t1) {
      this.object = t0;
      this.key = t1;
    },
    _FileExplorer: function _FileExplorer(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.onItemSelected = t1;
      _.onItemExpanded = t2;
      _.key = t3;
    },
    _FileExplorerState: function _FileExplorerState(t0, t1) {
      var _ = this;
      _.___FileExplorerState__scrollController = $;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _FileExplorerState_build_closure: function _FileExplorerState_build_closure(t0) {
      this.$this = t0;
    },
    _FileExplorerState_build__closure: function _FileExplorerState_build__closure(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.onTap = t2;
    },
    _ProgramOutlineView: function _ProgramOutlineView(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.onItemSelected = t1;
      _.onItemExpanded = t2;
      _.key = t3;
    },
    _ProgramOutlineView_build_closure: function _ProgramOutlineView_build_closure(t0) {
      this.$this = t0;
    },
    _ProgramOutlineView_build__closure: function _ProgramOutlineView_build__closure(t0) {
      this.$this = t0;
    },
    _ProgramOutlineView_build___closure: function _ProgramOutlineView_build___closure(t0, t1, t2) {
      this.$this = t0;
      this.node = t1;
      this.onTap = t2;
    },
    _ProgramOutlineView_build__closure0: function _ProgramOutlineView_build__closure0() {
    },
    ProgramExplorer: function ProgramExplorer(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = t0;
      _.onSelected = t1;
      _.title = t2;
      _.onNodeSelected = t3;
      _.key = t4;
    },
    ProgramExplorer_build_closure: function ProgramExplorer_build_closure(t0) {
      this.$this = t0;
    },
    ProgramExplorer_build__closure: function ProgramExplorer_build__closure(t0, t1, t2) {
      this.$this = t0;
      this.fileExplorerHeader = t1;
      this.fileExplorer = t2;
    },
    __FileExplorerState_State_AutoDisposeMixin: function __FileExplorerState_State_AutoDisposeMixin() {
    },
    ProgramExplorerController$() {
      var t1 = type$.JSArray_VMServiceObjectNode,
        t2 = type$.VMServiceObjectNode,
        t3 = A.ListValueNotifier$(A._setArrayType([], t1), t2),
        t4 = $.$get$ChangeNotifier__emptyListeners(),
        t5 = type$.ValueNotifier_bool;
      return new A.ProgramExplorerController(t3, new A.ValueNotifier(false, t4, t5), new A.ValueNotifier(null, t4, type$.ValueNotifier_nullable_VMServiceObjectNode), A.ListValueNotifier$(A._setArrayType([], t1), t2), new A.ValueNotifier(0, t4, type$.ValueNotifier_int), new A.ValueNotifier(false, t4, t5), A.Disposer$());
    },
    ProgramExplorerController__isSyntheticAccessor($function, fields) {
      var t1, t2;
      for (t1 = J.get$iterator$ax(fields); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if ($function.get$name($function) == t2.get$name(t2) || $function.get$name($function) === A.S(t2.get$name(t2)) + "=")
          return true;
      }
      return false;
    },
    ProgramExplorerController: function ProgramExplorerController(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._outlineNodes = t0;
      _._isLoadingOutline = t1;
      _._scriptSelection = null;
      _._outlineSelection = t2;
      _._rootObjectNodes = t3;
      _._selectedNodeIndex = t4;
      _._program_explorer_controller$_isolate = null;
      _._initialized = t5;
      _._initializing = false;
      _.AutoDisposeControllerMixin__delegate = t6;
    },
    ProgramExplorerController__selectScriptNode_closure: function ProgramExplorerController__selectScriptNode_closure(t0) {
      this.script = t0;
    },
    ProgramExplorerController__calculateNodeIndex_closure0: function ProgramExplorerController__calculateNodeIndex_closure0() {
    },
    ProgramExplorerController__calculateNodeIndex_closure: function ProgramExplorerController__calculateNodeIndex_closure(t0) {
      this._box_0 = t0;
    },
    ProgramExplorerController_populateNode_getObjects: function ProgramExplorerController_populateNode_getObjects(t0, t1) {
      this.service = t0;
      this.isolateId = t1;
    },
    ProgramExplorerController_populateNode_getObjects_closure: function ProgramExplorerController_populateNode_getObjects_closure(t0, t1) {
      this.service = t0;
      this.isolateId = t1;
    },
    ProgramExplorerController_populateNode_getFuncs: function ProgramExplorerController_populateNode_getFuncs(t0) {
      this.getObjects = t0;
    },
    ProgramExplorerController_populateNode_getFuncs_closure: function ProgramExplorerController_populateNode_getFuncs_closure(t0) {
      this.fields = t0;
    },
    _ProgramExplorerController_DisposableController_AutoDisposeControllerMixin: function _ProgramExplorerController_DisposableController_AutoDisposeControllerMixin() {
    },
    VMServiceObjectNode$(controller, $name, object, isSelectable) {
      var t1 = $name == null ? "" : $name;
      return new A.VMServiceObjectNode(controller, t1, isSelectable, object, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VMServiceObjectNode), A._setArrayType([], type$.JSArray_VMServiceObjectNode));
    },
    VMServiceObjectNode_createRootsFrom(controller, libs) {
      var root, t1, t2, _i, lib, t3, _i0, child, t4, processed, rootLibUri, parts, path, i, _null = null;
      if (libs.length === 0)
        return A._setArrayType([], type$.JSArray_VMServiceObjectNode);
      root = A.VMServiceObjectNode$(controller, "<root>", new A.ObjRef("0", _null), true);
      for (t1 = J.get$iterator$ax($.globals.$index(0, B.Type_ScriptManager_AHF)._sortedScripts._change_notifier$_value); t1.moveNext$0();)
        A.VMServiceObjectNode__buildScriptNode(root, t1.get$current(t1));
      for (t1 = libs.length, t2 = root.children, _i = 0; _i < libs.length; libs.length === t1 || (0, A.throwConcurrentModificationError)(libs), ++_i) {
        lib = libs[_i];
        for (t3 = t2.length, _i0 = 0; _i0 < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i0) {
          child = t2[_i0];
          t4 = child.script;
          t4 = t4 == null ? _null : t4.get$uri();
          if (t4 == lib.get$uri())
            child.object = lib;
        }
      }
      root._trimChildrenAsMapEntries$0();
      t1 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,VMServiceObjectNode>");
      processed = A.List_List$of(new A.MappedListIterable(t2, new A.VMServiceObjectNode_createRootsFrom_closure(), t1), true, t1._eval$1("ListIterable.E"));
      B.JSArray_methods.clear$0(t2);
      B.JSArray_methods.forEach$1(processed, root.get$addChild());
      root._sortEntriesByType$0();
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager.get$mainIsolateDebuggerState();
      if (t1 == null)
        rootLibUri = _null;
      else {
        t1 = t1._isolateNow;
        if (t1 == null)
          rootLibUri = _null;
        else {
          t1 = t1.rootLib;
          t1 = t1 == null ? _null : t1.get$uri();
          rootLibUri = t1;
        }
      }
      if (rootLibUri != null)
        if (B.JSString_methods.startsWith$1(rootLibUri, "package:") || B.JSString_methods.startsWith$1(rootLibUri, "google3:")) {
          parts = A._setArrayType(rootLibUri.split("/"), type$.JSArray_String);
          parts.pop();
          path = B.JSArray_methods.join$1(parts, "/");
          for (t1 = t2.length, i = 0; i < t1; ++i)
            if (B.JSString_methods.startsWith$1(t2[i].name, path)) {
              root.addChild$2$index(root.removeChildAtIndex$1(i), 0);
              break;
            }
        }
      return t2;
    },
    VMServiceObjectNode__buildScriptNode(node, script) {
      var t1, _i,
        parts = A._setArrayType(script.get$uri().split("/"), type$.JSArray_String),
        $name = parts.pop();
      for (t1 = parts.length, _i = 0; _i < parts.length; parts.length === t1 || (0, A.throwConcurrentModificationError)(parts), ++_i)
        node = node._lookupOrCreateChild$3$isSelectable(parts[_i], null, false);
      node = node._lookupOrCreateChild$2($name, script);
      if (!node.isSelectable)
        node.isSelectable = true;
      node.script = script;
      return node;
    },
    VMServiceObjectNode: function VMServiceObjectNode(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.controller = t0;
      _.name = t1;
      _.isSelectable = t2;
      _.object = t3;
      _.location = _.script = null;
      _._childrenAsMap = t4;
      _.parent = _._program_explorer_model$_outline = null;
      _.children = t5;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    VMServiceObjectNode_outline_closure: function VMServiceObjectNode_outline_closure(t0) {
      this.$this = t0;
    },
    VMServiceObjectNode_createRootsFrom_closure: function VMServiceObjectNode_createRootsFrom_closure() {
    },
    VMServiceObjectNode__lookupOrCreateChild_closure: function VMServiceObjectNode__lookupOrCreateChild_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.name = t1;
      _.object = t2;
      _.isSelectable = t3;
    },
    VMServiceObjectNode__collapseSingleChildDirectoryNodes_closure: function VMServiceObjectNode__collapseSingleChildDirectoryNodes_closure() {
    },
    VMServiceObjectNode__sortEntriesByType_closure: function VMServiceObjectNode__sortEntriesByType_closure() {
    },
    VMServiceObjectNode__sortEntriesByType_closure0: function VMServiceObjectNode__sortEntriesByType_closure0() {
    },
    VMServiceObjectNode__sortEntriesByType_closure1: function VMServiceObjectNode__sortEntriesByType_closure1() {
    },
    VMServiceObjectNode__sortEntriesByType_closure2: function VMServiceObjectNode__sortEntriesByType_closure2() {
    },
    VMServiceObjectNode__sortEntriesByType_closure3: function VMServiceObjectNode__sortEntriesByType_closure3() {
    },
    VMServiceObjectNode__sortEntriesByType_closure4: function VMServiceObjectNode__sortEntriesByType_closure4() {
    },
    VMServiceObjectNode__sortEntriesByType_closure5: function VMServiceObjectNode__sortEntriesByType_closure5() {
    },
    VMServiceObjectNode__sortEntriesByType_closure6: function VMServiceObjectNode__sortEntriesByType_closure6() {
    },
    SpanParser_parse(grammar, src) {
      var t1, t2, foundMatch, t3, t4, t5, result,
        scanner = A.LineScanner$(src, null),
        spans = A._setArrayType([], type$.JSArray_ScopeSpan);
      for (t1 = scanner.string.length, t2 = grammar.topLevelMatchers; scanner._string_scanner$_position !== t1;) {
        t3 = A._instanceType(t2);
        t4 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListMixin.E>"));
        t3 = t3._eval$1("ListMixin.E");
        while (true) {
          if (!t4.moveNext$0()) {
            foundMatch = false;
            break;
          }
          t5 = t4.__internal$_current;
          result = (t5 == null ? t3._as(t5) : t5).scan$2(grammar, scanner);
          if (result != null) {
            B.JSArray_methods.addAll$1(spans, result);
            foundMatch = true;
            break;
          }
        }
        if (!foundMatch && scanner._string_scanner$_position !== t1)
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
      }
      return spans;
    },
    Grammar_Grammar$fromJson(json) {
      var t4, _null = null,
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "name"),
        t3 = t1.$index(json, "scopeName");
      t1 = t1.$index(json, "patterns");
      if (t1 == null)
        t1 = _null;
      else {
        t1 = J.cast$1$0$ax(t1, type$.Map_String_dynamic);
        if (t1 == null)
          t1 = _null;
        else {
          t1 = J.map$1$ax(t1, new A.Grammar_Grammar$fromJson_closure());
          if (t1 == null)
            t1 = _null;
          else {
            t1 = J.toList$0$ax(t1);
            t1 = t1 == null ? _null : J.cast$1$0$ax(t1, type$._Matcher);
          }
        }
      }
      t4 = new A.Repository(A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.List__Matcher));
      t4.Repository$build$1(json);
      return new A.Grammar(t2, t3, t1, t4);
    },
    ScopeSpan$(column, end, line, scope, start) {
      var t1 = A.List_List$of($.$get$ScopeSpan__scopeStack().toList$0(0), true, type$.nullable_String);
      if (scope != null)
        t1.push(scope);
      return new A.ScopeSpan(start, end, line, column, t1);
    },
    ScopeSpan_applyScope(matcher, callback) {
      var result,
        t1 = matcher.name,
        t2 = t1 != null;
      if (t2)
        $.$get$ScopeSpan__scopeStack()._add$1(0, t1);
      result = callback.call$0();
      if (t2)
        $.$get$ScopeSpan__scopeStack().removeLast$0(0);
      return result;
    },
    _Matcher__Matcher$parse(json) {
      var t1 = J.getInterceptor$x(json);
      if (t1.containsKey$1(json, "include"))
        return new A._IncludeMatcher(B.JSString_methods.substring$1(t1.$index(json, "include"), 1), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic).$index(0, "name"));
      else if (t1.containsKey$1(json, "match"))
        return new A._SimpleMatcher(A.RegExp_RegExp(t1.$index(json, "match"), true, true), t1.$index(json, "captures"), t1.$index(json, "name"));
      else {
        if (t1.containsKey$1(json, "begin"))
          t1 = t1.containsKey$1(json, "end") || t1.containsKey$1(json, "while");
        else
          t1 = false;
        if (t1)
          return A._MultilineMatcher$(json);
      }
      throw A.wrapException(A.StateError$("Unknown pattern type: " + A.S(json)));
    },
    _MultilineMatcher$(json) {
      var _null = null,
        t1 = J.getInterceptor$asx(json),
        t2 = A.RegExp_RegExp(t1.$index(json, "begin"), true, true),
        t3 = t1.$index(json, "beginCaptures"),
        t4 = t1.$index(json, "contentName"),
        t5 = t1.$index(json, "end") == null ? _null : A.RegExp_RegExp(t1.$index(json, "end"), true, true),
        t6 = t1.$index(json, "endCaptures"),
        t7 = t1.$index(json, "captures"),
        t8 = t1.$index(json, "while") == null ? _null : A.RegExp_RegExp(t1.$index(json, "while"), true, true),
        t9 = t1.$index(json, "patterns");
      if (t9 == null)
        t9 = _null;
      else {
        t9 = J.cast$1$0$ax(t9, type$.Map_String_dynamic);
        if (t9 == null)
          t9 = _null;
        else {
          t9 = J.map$1$ax(t9, new A._MultilineMatcher_closure());
          if (t9 == null)
            t9 = _null;
          else {
            t9 = J.toList$0$ax(t9);
            t9 = t9 == null ? _null : J.cast$1$0$ax(t9, type$._Matcher);
          }
        }
      }
      return new A._MultilineMatcher(t2, t3, t4, t5, t6, t8, t7, t9, t1.$index(json, "name"));
    },
    Grammar: function Grammar(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.scopeName = t1;
      _.topLevelMatchers = t2;
      _.repository = t3;
    },
    Grammar_Grammar$fromJson_closure: function Grammar_Grammar$fromJson_closure() {
    },
    Grammar_toString_closure: function Grammar_toString_closure() {
    },
    ScopeSpan: function ScopeSpan(t0, t1, t2, t3, t4) {
      var _ = this;
      _._span_parser$_start = t0;
      _._span_parser$_end = t1;
      _.line = t2;
      _.column = t3;
      _.scopes = t4;
    },
    Repository: function Repository(t0) {
      this.patterns = t0;
    },
    Repository_toJson_closure: function Repository_toJson_closure() {
    },
    _Matcher: function _Matcher() {
    },
    _SimpleMatcher: function _SimpleMatcher(t0, t1, t2) {
      this.match = t0;
      this.captures = t1;
      this.name = t2;
    },
    _SimpleMatcher_scan_closure: function _SimpleMatcher_scan_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.scanner = t1;
      _.line = t2;
      _.column = t3;
    },
    _MultilineMatcher: function _MultilineMatcher(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.begin = t0;
      _.beginCaptures = t1;
      _.contentName = t2;
      _.end = t3;
      _.endCaptures = t4;
      _.whileCond = t5;
      _.captures = t6;
      _.patterns = t7;
      _.name = t8;
    },
    _MultilineMatcher_closure: function _MultilineMatcher_closure() {
    },
    _MultilineMatcher_scan_closure: function _MultilineMatcher_scan_closure(t0, t1, t2) {
      this.$this = t0;
      this.scanner = t1;
      this.grammar = t2;
    },
    _MultilineMatcher_scan__closure: function _MultilineMatcher_scan__closure(t0, t1) {
      this.$this = t0;
      this.scanner = t1;
    },
    _MultilineMatcher_toJson_closure: function _MultilineMatcher_toJson_closure() {
    },
    _IncludeMatcher: function _IncludeMatcher(t0, t1) {
      this.include = t0;
      this.name = t1;
    },
    SyntaxHighlighter_initialize() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$temp1, $async$temp2, $async$temp3;
      var $async$SyntaxHighlighter_initialize = 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 = $.SyntaxHighlighter__grammar == null ? 2 : 3;
              break;
            case 2:
              // then
              if ($.WidgetsBinding__instance == null)
                A.WidgetsFlutterBinding$();
              $.WidgetsBinding__instance.toString;
              $async$temp1 = $;
              $async$temp2 = A;
              $async$temp3 = B.C_JsonCodec;
              $async$goto = 4;
              return A._asyncAwait($.$get$rootBundle().loadString$1("assets/dart_syntax.json"), $async$SyntaxHighlighter_initialize);
            case 4:
              // returning from await.
              $async$temp1.SyntaxHighlighter__grammar = $async$temp2.Grammar_Grammar$fromJson($async$temp3.decode$1(0, $async$result));
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$SyntaxHighlighter_initialize, $async$completer);
    },
    SyntaxHighlighter: function SyntaxHighlighter(t0, t1) {
      var _ = this;
      _.source = t0;
      _._spanStack = t1;
      _._currentPosition = 0;
      _.__SyntaxHighlighter__scopeStyles = $;
    },
    SyntaxHighlighter_highlight_closure: function SyntaxHighlighter_highlight_closure(t0) {
      this.$this = t0;
    },
    SyntaxHighlighter__scope_closure: function SyntaxHighlighter__scope_closure(t0, t1) {
      this.$this = t0;
      this.currentScope = t1;
    },
    SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper: function SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper() {
    },
    displayProvider(context, variable, onTap, controller) {
      var diagnostic, t2, hasName, t3, t4, t0, t5, _null = null,
        _s10_ = "RobotoMono",
        theme = A.Theme_of(context),
        t1 = variable.text;
      if (t1 != null)
        return A.SelectableText$rich(A.TextSpan$(A.processAnsiTerminalCodes(t1, theme.textTheme.bodyMedium.copyWith$1$fontFamily(_s10_).copyWith$1$color(theme.unselectedWidgetColor)), _null, _null, _null, _null), _null, _null, onTap, _null, _null, _null, _null);
      t1 = variable._ref;
      diagnostic = t1 == null ? _null : t1.diagnostic;
      if (diagnostic != null)
        return A.DiagnosticsNodeDescription$(diagnostic, controller, _null, false, true, _null, _null, theme.textTheme.bodyMedium.copyWith$1$fontFamily(_s10_));
      t1 = variable.name;
      t2 = t1 == null ? _null : t1.length !== 0;
      hasName = t2 === true;
      t2 = variable.get$displayValue();
      t1 = hasName ? t1 : _null;
      t3 = theme.textTheme.bodyMedium;
      if (variable.artificialName) {
        t4 = t3.copyWith$1$fontFamily(_s10_).copyWith$1$color(theme.unselectedWidgetColor);
        t0 = t4;
        t4 = t3;
        t3 = t0;
      } else {
        t4 = t3.copyWith$1$fontFamily(_s10_);
        t4 = t4.apply$1$color(theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4289659099 : B.Color_4291135168);
        t0 = t4;
        t4 = t3;
        t3 = t0;
      }
      t5 = A._setArrayType([], type$.JSArray_InlineSpan);
      if (hasName)
        t5.push(A.TextSpan$(_null, _null, _null, t4.copyWith$1$fontFamily(_s10_), ": "));
      t4 = variable.get$displayValue();
      t5.push(A.TextSpan$(_null, _null, _null, new A.displayProvider_variableDisplayStyle(theme, variable).call$0(), t4));
      t1 = A.TextSpan$(t5, _null, _null, t3, t1);
      return A.DevToolsTooltip$(A.SelectableText$rich(t1, _null, _null, onTap, _null, new A.VariableSelectionControls($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService != null ? new A.displayProvider_closure(context, variable) : _null), _null, _null), _null, _null, t2, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_1000000);
    },
    Variables: function Variables(t0) {
      this.key = t0;
    },
    Variables_build_closure: function Variables_build_closure(t0, t1) {
      this.context = t0;
      this.controller = t1;
    },
    Variables_build_closure0: function Variables_build_closure0(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    ExpandableVariable: function ExpandableVariable(t0, t1, t2) {
      this.variable = t0;
      this.debuggerController = t1;
      this.key = t2;
    },
    ExpandableVariable_build_closure: function ExpandableVariable_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    ExpandableVariable_build_closure0: function ExpandableVariable_build_closure0(t0) {
      this.$this = t0;
    },
    displayProvider_variableDisplayStyle: function displayProvider_variableDisplayStyle(t0, t1) {
      this.theme = t0;
      this.variable = t1;
    },
    displayProvider_closure: function displayProvider_closure(t0, t1) {
      this.context = t0;
      this.variable = t1;
    },
    VariableSelectionControls: function VariableSelectionControls(t0) {
      this.handleInspect = t0;
    },
    DiagnosticsNodeDescription$(diagnostic, debuggerController, errorText, isSelected, multiline, nodeDescriptionHighlightStyle, searchValue, style) {
      return new A.DiagnosticsNodeDescription(diagnostic, isSelected, errorText, searchValue, multiline, style, debuggerController, nodeDescriptionHighlightStyle, null);
    },
    DiagnosticsNodeDescription: function DiagnosticsNodeDescription(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.diagnostic = t0;
      _.isSelected = t1;
      _.errorText = t2;
      _.searchValue = t3;
      _.multiline = t4;
      _.style = t5;
      _.debuggerController = t6;
      _.nodeDescriptionHighlightStyle = t7;
      _.key = t8;
    },
    DiagnosticsNodeDescription_buildDescription_closure: function DiagnosticsNodeDescription_buildDescription_closure(t0) {
      this.diagnosticLocal = t0;
    },
    DiagnosticsNodeDescription_buildDescription_closure0: function DiagnosticsNodeDescription_buildDescription_closure0(t0, t1, t2) {
      this.$this = t0;
      this.inspectorService = t1;
      this.diagnosticLocal = t2;
    },
    DiagnosticsNodeDescription_build_radix: function DiagnosticsNodeDescription_build_radix() {
    },
    RemoteDiagnosticsNode_deserializeFlexFit(flexFit) {
      if (flexFit === "tight")
        return B.FlexFit_0;
      return B.FlexFit_1;
    },
    RemoteDiagnosticsNode: function RemoteDiagnosticsNode(t0, t1, t2, t3) {
      var _ = this;
      _.parent = t0;
      _.cachedProperties = null;
      _.inspectorService = t1;
      _.json = t2;
      _.isProperty = t3;
      _._parentRenderElement = _._diagnostics_node$_renderObject = null;
      _.__RemoteDiagnosticsNode_style = $;
      _._diagnostics_node$_children = _._childrenFuture = _._creationLocation = null;
    },
    InspectorSourceLocation: function InspectorSourceLocation(t0, t1) {
      this.json = t0;
      this.parent = t1;
    },
    InspectorBreadcrumbNavigator: function InspectorBreadcrumbNavigator(t0, t1, t2) {
      this.items = t0;
      this.onTap = t1;
      this.key = t2;
    },
    InspectorBreadcrumbNavigator_build_closure: function InspectorBreadcrumbNavigator_build_closure(t0) {
      this.$this = t0;
    },
    InspectorBreadcrumbNavigator_build__closure: function InspectorBreadcrumbNavigator_build__closure(t0, t1) {
      this.$this = t0;
      this.item = t1;
    },
    InspectorBreadcrumbNavigator__generateBreadcrumbs_closure: function InspectorBreadcrumbNavigator__generateBreadcrumbs_closure(t0) {
      this.lastNode = t0;
    },
    _InspectorBreadcrumb: function _InspectorBreadcrumb(t0, t1, t2) {
      this.data = t0;
      this.onTap = t1;
      this.key = t2;
    },
    _InspectorBreadcrumbData: function _InspectorBreadcrumbData(t0, t1, t2, t3) {
      var _ = this;
      _.node = t0;
      _.alternativeIcon = t1;
      _.alternativeText = t2;
      _.isSelected = t3;
    },
    textStyleForLevel(level, colorScheme) {
      var _null = null;
      switch (level.index) {
        case 0:
          return A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4288585374 : B.Color_4285887861, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        case 4:
          return A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4293284096 : B.Color_4294944550, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        case 7:
          return A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4294198070 : B.Color_4293874512, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        case 2:
        case 3:
        case 1:
        default:
          return $.$get$regular();
      }
    },
    InspectorController$(detailsTree, inspectorTree, isSummaryTree, $parent, treeType) {
      var t1 = $.$get$ChangeNotifier__emptyListeners(),
        t2 = type$.InspectorService;
      t1 = new A.InspectorController(isSummaryTree, $parent, inspectorTree, treeType, new A.InspectorObjectGroupManager(t2._as($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService), "tree"), new A.InspectorObjectGroupManager(t2._as($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService), "selection"), new A.ValueNotifier(null, t1, type$.ValueNotifier_nullable_InspectorTreeNode), A.LinkedHashMap_LinkedHashMap$_empty(type$.InspectorInstanceRef, type$.InspectorTreeNode), new A.ValueNotifier(null, t1, type$.ValueNotifier_nullable_int), A.Disposer$());
      t1.InspectorController$5$detailsTree$inspectorTree$isSummaryTree$parent$treeType(detailsTree, inspectorTree, isSummaryTree, $parent, treeType);
      return t1;
    },
    InspectorSettingsController: function InspectorSettingsController(t0, t1) {
      this.showOnlyUserDefined = t0;
      this.expandSelectedBuildMethod = t1;
    },
    InspectorController: function InspectorController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._inspector_controller$_mainIsolate = null;
      _._clientCount = 0;
      _.isSummaryTree = t0;
      _.parent = t1;
      _.details = null;
      _.inspectorTree = t2;
      _.treeType = t3;
      _._inspector_controller$_disposed = false;
      _.__InspectorController__refreshRateLimiter = $;
      _._treeGroups = t4;
      _._inspector_controller$_selectionGroups = t5;
      _.treeLoadStarted = _.flutterAppFrameReady = false;
      _.subtreeRoot = null;
      _.programaticSelectionChangeInProgress = false;
      _._selectedNode = t6;
      _.isActive = false;
      _.valueToInspectorTreeNode = t7;
      _.visibleToUser = false;
      _._selectedErrorIndex = t8;
      _.AutoDisposeControllerMixin__delegate = t9;
    },
    InspectorController_closure: function InspectorController_closure(t0) {
      this.$this = t0;
    },
    InspectorController_closure0: function InspectorController_closure0(t0) {
      this.$this = t0;
    },
    InspectorController__handleConnectionStart_closure: function InspectorController__handleConnectionStart_closure() {
    },
    InspectorController_filterErrors_closure: function InspectorController_filterErrors_closure(t0) {
      this.$this = t0;
    },
    _InspectorController_DisposableController_AutoDisposeControllerMixin: function _InspectorController_DisposableController_AutoDisposeControllerMixin() {
    },
    computeRenderSizes(largestRenderSize, largestSize, maxSizeAvailable, sizes, smallestRenderSize, smallestSize) {
      var renderSize, t1, t2, _i, transformToRenderSize, renderSizes,
        n = sizes.length;
      if (smallestSize === largestSize) {
        renderSize = Math.max(smallestRenderSize, maxSizeAvailable / n);
        t1 = A._setArrayType([], type$.JSArray_double);
        for (t2 = sizes.length, _i = 0; _i < sizes.length; sizes.length === t2 || (0, A.throwConcurrentModificationError)(sizes), ++_i)
          t1.push(renderSize);
        return t1;
      }
      transformToRenderSize = new A.computeRenderSizes_transformToRenderSize(sizes, smallestSize, smallestRenderSize, largestSize);
      renderSizes = transformToRenderSize.call$1(largestRenderSize);
      t1 = A.sum(renderSizes);
      if (t1 < maxSizeAvailable) {
        t1 = A._setArrayType([], type$.JSArray_double);
        for (t2 = sizes.length, _i = 0; _i < sizes.length; sizes.length === t2 || (0, A.throwConcurrentModificationError)(sizes), ++_i)
          t1.push(sizes[_i] - smallestSize);
        renderSizes = transformToRenderSize.call$1((maxSizeAvailable - n * smallestRenderSize) * (largestSize - smallestSize) / A.sum(t1) + smallestRenderSize);
      }
      return renderSizes;
    },
    LayoutProperties$(node, copyLevel) {
      var t6, t7, t8, t9, t10,
        _s8_ = "Infinity",
        t1 = node.json,
        t2 = J.getInterceptor$asx(t1),
        t3 = A._asStringQ(t2.$index(t1, "description")),
        t4 = node.get$size(node),
        t5 = type$.nullable_Map_of_String_and_nullable_Object._as(t2.$index(t1, "constraints"));
      if (t5 == null)
        t5 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
      t6 = J.getInterceptor$asx(t5);
      t7 = A._asStringQ(t6.$index(t5, "minWidth"));
      t7 = A.double_parse(t7 == null ? "0.0" : t7);
      t8 = A._asStringQ(t6.$index(t5, "maxWidth"));
      t8 = A.double_parse(t8 == null ? _s8_ : t8);
      t9 = A._asStringQ(t6.$index(t5, "minHeight"));
      t9 = A.double_parse(t9 == null ? "0.0" : t9);
      t5 = A._asStringQ(t6.$index(t5, "maxHeight"));
      t5 = A.double_parse(t5 == null ? _s8_ : t5);
      t6 = B.JSArray_methods.contains$1(A._setArrayType(["Row", "Column", "Flex"], type$.JSArray_String), A._asStringQ(t2.$index(t1, "widgetRuntimeType")));
      t10 = A._asIntQ(t2.$index(t1, "flexFactor"));
      t1 = A.RemoteDiagnosticsNode_deserializeFlexFit(A._asStringQ(t2.$index(t1, "flexFit")));
      t2 = copyLevel === 0 ? A._setArrayType([], type$.JSArray_LayoutProperties) : J.map$1$1$ax(node.get$childrenNow(), new A.LayoutProperties_closure(copyLevel), type$.LayoutProperties).toList$1$growable(0, false);
      t4 = new A.LayoutProperties(node, t2, new A.BoxConstraints(t7, t8, t9, t5), t3, t10, t1, t6, t4);
      t4.LayoutProperties$2$copyLevel(node, copyLevel);
      return t4;
    },
    LayoutProperties$values(children, constraints, description, flexFactor, flexFit, isFlex, node, size) {
      var t1 = new A.LayoutProperties(node, children, constraints, description, flexFactor, flexFit, isFlex, size);
      t1.LayoutProperties$values$8$children$constraints$description$flexFactor$flexFit$isFlex$node$size(children, constraints, description, flexFactor, flexFit, isFlex, node, size);
      return t1;
    },
    LayoutProperties_describeAxis(min, max, axis) {
      if (min === max)
        return axis + "=" + B.JSNumber_methods.toStringAsFixed$1(min, 1);
      return B.JSNumber_methods.toStringAsFixed$1(min, 1) + "<=" + axis + "<=" + B.JSNumber_methods.toStringAsFixed$1(max, 1);
    },
    LayoutPropertiesExtension_get_overflowSide(_this) {
      if (_this.get$isOverflowWidth())
        return B.OverflowSide_0;
      if (_this.get$isOverflowHeight())
        return B.OverflowSide_1;
      return null;
    },
    MainAxisAlignmentExtension_get_reversed(_this) {
      switch (_this.index) {
        case 0:
          return B.MainAxisAlignment_1;
        case 1:
          return B.MainAxisAlignment_0;
        default:
          return _this;
      }
    },
    FlexLayoutProperties$(children, constraints, crossAxisAlignment, description, direction, flexFactor, flexFit, isFlex, mainAxisAlignment, mainAxisSize, node, size, textBaseline, textDirection, verticalDirection) {
      var t1 = new A.FlexLayoutProperties(direction, mainAxisAlignment, crossAxisAlignment, mainAxisSize, textDirection, verticalDirection, textBaseline, node, children, constraints, description, flexFactor, flexFit, isFlex, size);
      t1.LayoutProperties$values$8$children$constraints$description$flexFactor$flexFit$isFlex$node$size(children, constraints, description, flexFactor, flexFit, isFlex, node, size);
      return t1;
    },
    FlexLayoutProperties$_fromNode(node, crossAxisAlignment, direction, mainAxisAlignment, mainAxisSize, textBaseline, textDirection, verticalDirection) {
      var t6, t7, t8, t9, t10,
        _s8_ = "Infinity",
        t1 = node.json,
        t2 = J.getInterceptor$asx(t1),
        t3 = A._asStringQ(t2.$index(t1, "description")),
        t4 = node.get$size(node),
        t5 = type$.nullable_Map_of_String_and_nullable_Object._as(t2.$index(t1, "constraints"));
      if (t5 == null)
        t5 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
      t6 = J.getInterceptor$asx(t5);
      t7 = A._asStringQ(t6.$index(t5, "minWidth"));
      t7 = A.double_parse(t7 == null ? "0.0" : t7);
      t8 = A._asStringQ(t6.$index(t5, "maxWidth"));
      t8 = A.double_parse(t8 == null ? _s8_ : t8);
      t9 = A._asStringQ(t6.$index(t5, "minHeight"));
      t9 = A.double_parse(t9 == null ? "0.0" : t9);
      t5 = A._asStringQ(t6.$index(t5, "maxHeight"));
      t5 = A.double_parse(t5 == null ? _s8_ : t5);
      t6 = B.JSArray_methods.contains$1(A._setArrayType(["Row", "Column", "Flex"], type$.JSArray_String), A._asStringQ(t2.$index(t1, "widgetRuntimeType")));
      t10 = A._asIntQ(t2.$index(t1, "flexFactor"));
      t1 = A.RemoteDiagnosticsNode_deserializeFlexFit(A._asStringQ(t2.$index(t1, "flexFit")));
      t2 = J.map$1$1$ax(node.get$childrenNow(), new A.LayoutProperties_closure(1), type$.LayoutProperties).toList$1$growable(0, false);
      t1 = new A.FlexLayoutProperties(direction, mainAxisAlignment, crossAxisAlignment, mainAxisSize, textDirection, verticalDirection, textBaseline, node, t2, new A.BoxConstraints(t7, t8, t9, t5), t3, t10, t1, t6, t4);
      t1.LayoutProperties$2$copyLevel(node, 1);
      return t1;
    },
    FlexLayoutProperties__buildNode(node) {
      var t3, t4, t5, t6, t7, t8, _null = null,
        data = A.LinkedHashMap_LinkedHashMap$fromIterable(type$.List_dynamic._as(J.$index$asx(node.get$renderObject().json, "properties")), new A.FlexLayoutProperties__buildNode_closure(), new A.FlexLayoutProperties__buildNode_closure0(), type$.String, type$.nullable_Object),
        t1 = $.$get$FlexLayoutProperties__directionUtils(),
        t2 = A._asStringQ(data.$index(0, "direction"));
      t1 = t2 != null ? t1._lookupTable.$index(0, t2) : _null;
      if (t1 == null)
        t1 = B.Axis_1;
      t2 = $.$get$FlexLayoutProperties__mainAxisAlignmentUtils();
      t3 = A._asStringQ(data.$index(0, "mainAxisAlignment"));
      t2 = t3 != null ? t2._lookupTable.$index(0, t3) : _null;
      t3 = $.$get$FlexLayoutProperties__mainAxisSizeUtils();
      t4 = A._asStringQ(data.$index(0, "mainAxisSize"));
      t3 = t4 != null ? t3._lookupTable.$index(0, t4) : _null;
      t4 = $.$get$FlexLayoutProperties__crossAxisAlignmentUtils();
      t5 = A._asStringQ(data.$index(0, "crossAxisAlignment"));
      t4 = t5 != null ? t4._lookupTable.$index(0, t5) : _null;
      t5 = $.$get$FlexLayoutProperties__textDirectionUtils();
      t6 = A._asStringQ(data.$index(0, "textDirection"));
      t5 = t6 != null ? t5._lookupTable.$index(0, t6) : _null;
      if (t5 == null)
        t5 = B.TextDirection_1;
      t6 = $.$get$FlexLayoutProperties__verticalDirectionUtils();
      t7 = A._asStringQ(data.$index(0, "verticalDirection"));
      t6 = t7 != null ? t6._lookupTable.$index(0, t7) : _null;
      if (t6 == null)
        t6 = B.VerticalDirection_1;
      t7 = $.$get$FlexLayoutProperties__textBaselineUtils();
      t8 = A._asStringQ(data.$index(0, "textBaseline"));
      return A.FlexLayoutProperties$_fromNode(node, t4, t1, t2, t3, t8 != null ? t7._lookupTable.$index(0, t8) : _null, t5, t6);
    },
    RenderProperties$(axis, isFreeSpace, layoutProperties, offset, realSize, size) {
      var t3, t4, t5, t6, _null = null,
        t1 = size == null,
        t2 = t1 ? _null : size._dx;
      if (t2 == null)
        t2 = 0;
      t1 = t1 ? _null : size._dy;
      if (t1 == null)
        t1 = 0;
      t3 = realSize == null;
      t4 = t3 ? _null : realSize._dx;
      if (t4 == null)
        t4 = 0;
      t3 = t3 ? _null : realSize._dy;
      if (t3 == null)
        t3 = 0;
      t5 = offset == null;
      t6 = t5 ? _null : offset._dx;
      if (t6 == null)
        t6 = 0;
      t5 = t5 ? _null : offset._dy;
      return new A.RenderProperties(axis, layoutProperties, t6, t5 == null ? 0 : t5, t2, t1, t4, t3, isFreeSpace);
    },
    _extension_0_closeTo(_this, other) {
      return B.JSNumber_methods.toStringAsPrecision$1(_this._dx, 1) === B.JSNumber_methods.toStringAsPrecision$1(other._dx, 1) && B.JSNumber_methods.toStringAsPrecision$1(_this._dy, 1) === B.JSNumber_methods.toStringAsPrecision$1(other._dy, 1);
    },
    computeRenderSizes_transformToRenderSize: function computeRenderSizes_transformToRenderSize(t0, t1, t2, t3) {
      var _ = this;
      _.sizes = t0;
      _.smallestSize = t1;
      _.smallestRenderSize = t2;
      _.largestSize = t3;
    },
    LayoutProperties: function LayoutProperties(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.parent = null;
      _.node = t0;
      _.children = t1;
      _.constraints = t2;
      _.description = t3;
      _.flexFactor = t4;
      _.flexFit = t5;
      _.isFlex = t6;
      _.size = t7;
    },
    LayoutProperties_closure: function LayoutProperties_closure(t0) {
      this.copyLevel = t0;
    },
    LayoutProperties_childrenDimensions_closure: function LayoutProperties_childrenDimensions_closure(t0) {
      this.axis = t0;
    },
    OverflowSide: function OverflowSide(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FlexLayoutProperties: function FlexLayoutProperties(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.direction = t0;
      _.mainAxisAlignment = t1;
      _.crossAxisAlignment = t2;
      _.mainAxisSize = t3;
      _.textDirection = t4;
      _.verticalDirection = t5;
      _.textBaseline = t6;
      _.parent = _._totalFlex = _._displayChildren = null;
      _.node = t7;
      _.children = t8;
      _.constraints = t9;
      _.description = t10;
      _.flexFactor = t11;
      _.flexFit = t12;
      _.isFlex = t13;
      _.size = t14;
    },
    FlexLayoutProperties__buildNode_closure: function FlexLayoutProperties__buildNode_closure() {
    },
    FlexLayoutProperties__buildNode_closure0: function FlexLayoutProperties__buildNode_closure0() {
    },
    FlexLayoutProperties_totalFlex_closure: function FlexLayoutProperties_totalFlex_closure() {
    },
    FlexLayoutProperties_totalFlex_closure0: function FlexLayoutProperties_totalFlex_closure0() {
    },
    FlexLayoutProperties_childrenRenderProperties_leadingSpace: function FlexLayoutProperties_childrenRenderProperties_leadingSpace(t0, t1) {
      this.$this = t0;
      this.displayMainAxisAlignment = t1;
    },
    FlexLayoutProperties_childrenRenderProperties_betweenSpace: function FlexLayoutProperties_childrenRenderProperties_betweenSpace(t0, t1) {
      this.$this = t0;
      this.displayMainAxisAlignment = t1;
    },
    FlexLayoutProperties_childrenRenderProperties_smallestRenderSize: function FlexLayoutProperties_childrenRenderProperties_smallestRenderSize(t0, t1) {
      this.smallestRenderWidth = t0;
      this.smallestRenderHeight = t1;
    },
    FlexLayoutProperties_childrenRenderProperties_largestRenderSize: function FlexLayoutProperties_childrenRenderProperties_largestRenderSize(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.largestRenderWidth = t1;
      _.largestRenderHeight = t2;
      _.maxSizeAvailable = t3;
    },
    FlexLayoutProperties_childrenRenderProperties_renderSizes: function FlexLayoutProperties_childrenRenderProperties_renderSizes(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.freeSpace = t1;
      _.smallestRenderSize = t2;
      _.largestRenderSize = t3;
      _.maxSizeAvailable = t4;
    },
    FlexLayoutProperties_childrenRenderProperties_renderSizes_closure: function FlexLayoutProperties_childrenRenderProperties_renderSizes_closure(t0) {
      this._box_0 = t0;
    },
    FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset: function FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset(t0) {
      this.childrenRenderProps = t0;
    },
    FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension: function FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension(t0) {
      this.childrenRenderProps = t0;
    },
    FlexLayoutProperties_childrenRenderProperties_space: function FlexLayoutProperties_childrenRenderProperties_space(t0, t1, t2) {
      this.displayMainAxisAlignment = t0;
      this.renderLeadingSpace = t1;
      this.renderBetweenSpace = t2;
    },
    FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset: function FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset(t0, t1, t2) {
      this.lastMainAxisOffset = t0;
      this.lastMainAxisDimension = t1;
      this.space = t2;
    },
    FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset: function FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.maxSizeAvailable = t1;
      _.widths = t2;
      _.heights = t3;
    },
    RenderProperties: function RenderProperties(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.axis = t0;
      _.layoutProperties = t1;
      _.dx = t2;
      _.dy = t3;
      _.width = t4;
      _.height = t5;
      _.realWidth = t6;
      _.realHeight = t7;
      _.isFreeSpace = t8;
    },
    InspectorScreen: function InspectorScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    InspectorScreenBody: function InspectorScreenBody(t0) {
      this.key = t0;
    },
    InspectorScreenBodyState: function InspectorScreenBodyState(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.__InspectorScreenBodyState_inspectorController = $;
      _.searchPreventClose = _.searchVisible = false;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t2;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t3;
      _.ProvidedControllerMixin__controller = t4;
      _.AutoDisposeMixin__delegate = t5;
      _.BlockingActionMixin__actionInProgress = t6;
      _.BlockingActionMixin__disposed = t7;
      _._widget = null;
      _._debugLifecycleState = t8;
      _._framework$_element = null;
    },
    InspectorScreenBodyState_initState_closure: function InspectorScreenBodyState_initState_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState_initState__closure: function InspectorScreenBodyState_initState__closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState_build_closure: function InspectorScreenBodyState_build_closure() {
    },
    InspectorScreenBodyState__buildSummaryTreeColumn_closure: function InspectorScreenBodyState__buildSummaryTreeColumn_closure(t0, t1) {
      this.$this = t0;
      this.debuggerController = t1;
    },
    InspectorScreenBodyState__buildSummaryTreeColumn__closure: function InspectorScreenBodyState__buildSummaryTreeColumn__closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState__buildSummaryTreeColumn__closure0: function InspectorScreenBodyState__buildSummaryTreeColumn__closure0(t0, t1) {
      this.$this = t0;
      this.debuggerController = t1;
    },
    InspectorScreenBodyState__buildSummaryTreeColumn___closure: function InspectorScreenBodyState__buildSummaryTreeColumn___closure() {
    },
    InspectorScreenBodyState__buildSummaryTreeColumn___closure0: function InspectorScreenBodyState__buildSummaryTreeColumn___closure0(t0, t1) {
      this.$this = t0;
      this.inspectableErrors = t1;
    },
    InspectorScreenBodyState__onSearchVisibleToggle_closure: function InspectorScreenBodyState__onSearchVisibleToggle_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState_getServiceExtensionWidgets_closure: function InspectorScreenBodyState_getServiceExtensionWidgets_closure(t0) {
      this.$this = t0;
    },
    InspectorScreenBodyState_getServiceExtensionWidgets__closure: function InspectorScreenBodyState_getServiceExtensionWidgets__closure() {
    },
    InspectorScreenBodyState__refreshInspector_closure: function InspectorScreenBodyState__refreshInspector_closure(t0) {
      this.$this = t0;
    },
    FlutterInspectorSettingsDialog: function FlutterInspectorSettingsDialog(t0) {
      this.key = t0;
    },
    InspectorSummaryTreeControls: function InspectorSummaryTreeControls(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.isSearchVisible = t0;
      _.constraints = t1;
      _.onRefreshInspectorPressed = t2;
      _.onSearchVisibleToggle = t3;
      _.searchFieldBuilder = t4;
      _.key = t5;
    },
    ErrorNavigator: function ErrorNavigator(t0, t1, t2, t3) {
      var _ = this;
      _.errors = t0;
      _.errorIndex = t1;
      _.onSelectError = t2;
      _.key = t3;
    },
    _InspectorScreenBodyState_State_BlockingActionMixin: function _InspectorScreenBodyState_State_BlockingActionMixin() {
    },
    _InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin: function _InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin() {
    },
    _InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin: function _InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    _InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin: function _InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin() {
    },
    InspectorDetails: function InspectorDetails(t0, t1, t2) {
      this.detailsTree = t0;
      this.controller = t1;
      this.key = t2;
    },
    InspectorExpandCollapseButtons: function InspectorExpandCollapseButtons(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _InspectorExpandCollapseButtonsState: function _InspectorExpandCollapseButtonsState(t0, t1, t2) {
      var _ = this;
      _.BlockingActionMixin__actionInProgress = t0;
      _.BlockingActionMixin__disposed = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _InspectorExpandCollapseButtonsState__onExpandClick_closure: function _InspectorExpandCollapseButtonsState__onExpandClick_closure(t0) {
      this.$this = t0;
    },
    _InspectorExpandCollapseButtonsState__onCollapseClick_closure: function _InspectorExpandCollapseButtonsState__onCollapseClick_closure(t0) {
      this.$this = t0;
    },
    __InspectorExpandCollapseButtonsState_State_BlockingActionMixin: function __InspectorExpandCollapseButtonsState_State_BlockingActionMixin() {
    },
    InspectorService$() {
      var t4,
        _s22_ = "WidgetInspectorService",
        _s21_ = "ext.flutter.inspector",
        _s49_ = "package:flutter/src/widgets/widget_inspector.dart",
        t1 = A._setArrayType([], type$.JSArray_String),
        t2 = $.$get$ChangeNotifier__emptyListeners(),
        t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t3.toString;
      t3 = A.EvalOnDartLibrary$(_s49_, t3, $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate, true);
      t4 = A.Disposer$();
      t3 = new A.InspectorService(new A.ValueNotifier(t1, t2, type$.ValueNotifier_List_String), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ClassRef), A.LinkedHashMap_LinkedHashMap$_empty(type$.InspectorInstanceRef, type$.List_int), _s22_, _s21_, A.LinkedHashSet_LinkedHashSet$_empty(type$.InspectorServiceClient), t3, t4);
      t3.InspectorServiceBase$3$clientInspectorName$inspectorLibraryUri$serviceExtensionPrefix(_s22_, _s49_, _s21_);
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1("Extension");
      t4 = t4._auto_dispose$_subscriptions;
      t4.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(t3.get$onExtensionVmServiceReceived()));
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1("Debug");
      t4.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(t3.get$onDebugVmServiceReceived()));
      return t3;
    },
    ObjectGroup$(debugName, inspectorService) {
      var t1 = $.InspectorServiceBase_nextGroupId;
      $.InspectorServiceBase_nextGroupId = t1 + 1;
      return new A.ObjectGroup(inspectorService, debugName + "_" + t1);
    },
    RegistrableServiceExtension: function RegistrableServiceExtension(t0) {
      this.name = t0;
    },
    InspectorServiceBase: function InspectorServiceBase() {
    },
    InspectorServiceBase_closure: function InspectorServiceBase_closure(t0) {
      this.$this = t0;
    },
    InspectorService: function InspectorService(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._rootDirectories = t0;
      _.localClasses = t1;
      _._expectedSelectionChanges = t2;
      _._cachedSelectionGroups = _._currentSelection = null;
      _.clientInspectorName = t3;
      _.serviceExtensionPrefix = t4;
      _.clients = t5;
      _.inspectorLibrary = t6;
      _._lastMainIsolate = null;
      _._inspector_service$_isDisposed = false;
      _.AutoDisposeControllerMixin__delegate = t7;
    },
    InspectorService__trackClientSelfTriggeredSelection_closure: function InspectorService__trackClientSelfTriggeredSelection_closure() {
    },
    ObjectGroupBase: function ObjectGroupBase() {
    },
    ObjectGroupBase__callServiceExtension_closure: function ObjectGroupBase__callServiceExtension_closure(t0, t1, t2) {
      this.$this = t0;
      this.extension = t1;
      this.args = t2;
    },
    ObjectGroup: function ObjectGroup(t0, t1) {
      this.inspectorService = t0;
      this.groupName = t1;
      this.disposed = false;
    },
    FlutterTreeType: function FlutterTreeType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    InspectorInstanceRef: function InspectorInstanceRef(t0) {
      this.id = t0;
    },
    InspectorObjectGroupManager: function InspectorObjectGroupManager(t0, t1) {
      var _ = this;
      _.inspectorService = t0;
      _.debugName = t1;
      _._pendingNext = _._inspector_service$_next = _._inspector_service$_current = null;
    },
    _InspectorServiceBase_DisposableController_AutoDisposeControllerMixin: function _InspectorServiceBase_DisposableController_AutoDisposeControllerMixin() {
    },
    InspectorTreeNode: function InspectorTreeNode(t0) {
      var _ = this;
      _._inspector_tree$_isDirty = true;
      _._shouldShow = null;
      _.selected = false;
      _._diagnostic = null;
      _._inspector_tree$_children = t0;
      _._inspector_tree$_isExpanded = true;
      _._childrenCount = _._inspector_tree$_parent = null;
    },
    InspectorTreeRow: function InspectorTreeRow(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.node = t0;
      _.ticks = t1;
      _.depth = t2;
      _.index = t3;
      _.lineToParent = t4;
      _.DataSearchStateMixin_isSearchMatch = t5;
      _.DataSearchStateMixin_isActiveSearchMatch = t6;
    },
    InspectorTreeConfig: function InspectorTreeConfig(t0, t1, t2, t3) {
      var _ = this;
      _.onNodeAdded = t0;
      _.onSelectionChange = t1;
      _.onClientActiveChange = t2;
      _.onExpand = t3;
    },
    SearchTargetType: function SearchTargetType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _InspectorTreeRow_Object_DataSearchStateMixin: function _InspectorTreeRow_Object_DataSearchStateMixin() {
    },
    InspectorTreeController$() {
      var t3,
        t1 = type$.JSArray_nullable_InspectorTreeRow,
        t2 = A._setArrayType([], t1);
      t1 = A._setArrayType([], t1);
      t3 = $.$get$ChangeNotifier__emptyListeners();
      return new A.InspectorTreeController(A.LinkedHashSet_LinkedHashSet$_empty(type$.InspectorControllerClient), B.SearchTargetType_0, t2, t1, new A.ValueNotifier("", t3, type$.ValueNotifier_String), new A.ValueNotifier(false, t3, type$.ValueNotifier_bool), 0, null, null, new A.ValueNotifier(A._setArrayType([], type$.JSArray_InspectorTreeRow), t3, type$.ValueNotifier_List_InspectorTreeRow), new A.ValueNotifier(null, t3, type$.ValueNotifier_nullable_InspectorTreeRow), new A.ValueNotifier(0, t3, type$.ValueNotifier_int));
    },
    _InspectorTreeRowWidget: function _InspectorTreeRowWidget(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.inspectorTreeState = t0;
      _.row = t1;
      _.debuggerController = t2;
      _.scrollControllerX = t3;
      _.viewportWidth = t4;
      _.error = t5;
      _.key = t6;
    },
    _InspectorTreeRowState: function _InspectorTreeRowState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController = t0;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation = t1;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve = t2;
      _.TickerProviderStateMixin__tickers = t3;
      _.TickerProviderStateMixin__tickerModeNotifier = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    _InspectorTreeRowState_build_closure: function _InspectorTreeRowState_build_closure(t0) {
      this.$this = t0;
    },
    _InspectorTreeRowState_onExpandChanged_closure: function _InspectorTreeRowState_onExpandChanged_closure(t0, t1) {
      this.$this = t0;
      this.expanded = t1;
    },
    InspectorTreeController: function InspectorTreeController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._clients = t0;
      _._searchTarget = t1;
      _._inspector_tree_controller$_selection = _._inspector_tree_controller$_root = null;
      _.__InspectorTreeController_config = $;
      _.lastContentWidth = _._hover = null;
      _.cachedRows = t2;
      _._cachedSelectedRow = null;
      _._searchableCachedRows = t3;
      _._maxIndent = null;
      _.SearchControllerMixin__searchNotifier = t4;
      _.SearchControllerMixin__searchInProgress = t5;
      _.SearchControllerMixin_xPosition = t6;
      _.SearchControllerMixin__searchOperation = t7;
      _.SearchControllerMixin__searchDebounce = t8;
      _.SearchControllerMixin__searchMatches = t9;
      _.SearchControllerMixin__activeSearchMatch = t10;
      _.SearchControllerMixin_matchIndex = t11;
    },
    InspectorTreeController_root_closure: function InspectorTreeController_root_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    InspectorTreeController_selection_closure: function InspectorTreeController_selection_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    InspectorTreeController_hover_closure: function InspectorTreeController_hover_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    InspectorTreeController_navigateLeft_closure: function InspectorTreeController_navigateLeft_closure(t0) {
      this.selectionLocal = t0;
    },
    InspectorTreeController_navigateRight_closure: function InspectorTreeController_navigateRight_closure(t0) {
      this.selectionLocal = t0;
    },
    InspectorTreeController_nodeChanged_closure: function InspectorTreeController_nodeChanged_closure(t0) {
      this.node = t0;
    },
    InspectorTreeController_removeNodeFromParent_closure: function InspectorTreeController_removeNodeFromParent_closure(t0) {
      this.node = t0;
    },
    InspectorTreeController_appendChild_closure: function InspectorTreeController_appendChild_closure(t0, t1) {
      this.node = t0;
      this.child = t1;
    },
    InspectorTreeController_expandPath_closure: function InspectorTreeController_expandPath_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    InspectorTreeController_collapseToSelected_closure: function InspectorTreeController_collapseToSelected_closure(t0) {
      this.$this = t0;
    },
    InspectorTreeController_onExpandRow_closure: function InspectorTreeController_onExpandRow_closure(t0, t1) {
      this.$this = t0;
      this.row = t1;
    },
    InspectorTreeController_onCollapseRow_closure: function InspectorTreeController_onCollapseRow_closure(t0) {
      this.row = t0;
    },
    InspectorTree: function InspectorTree(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.controller = t0;
      _.inspectorTreeController = t1;
      _.debuggerController = t2;
      _.isSummaryTree = t3;
      _.widgetErrors = t4;
      _.key = t5;
    },
    _InspectorTreeState: function _InspectorTreeState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.___InspectorTreeState__scrollControllerX = _.___InspectorTreeState__scrollControllerY = $;
      _._constraintDisplayController = _._currentAnimateTarget = _._currentAnimateY = null;
      _.___InspectorTreeState__focusNode = $;
      _.AutoDisposeMixin__delegate = t0;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t1;
      _.SingleTickerProviderStateMixin__ticker = t2;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    _InspectorTreeState_onChanged_closure: function _InspectorTreeState_onChanged_closure() {
    },
    _InspectorTreeState_build_closure: function _InspectorTreeState_build_closure(t0, t1) {
      this.$this = t0;
      this.controllerLocal = t1;
    },
    _InspectorTreeState_build__closure: function _InspectorTreeState_build__closure(t0, t1, t2) {
      this.$this = t0;
      this.controllerLocal = t1;
      this.viewportWidth = t2;
    },
    _InspectorTreeState_build__closure0: function _InspectorTreeState_build__closure0(t0) {
      this.inspectorTreeController = t0;
    },
    _RowPainter: function _RowPainter(t0, t1, t2, t3) {
      var _ = this;
      _._inspector_tree_controller$_controller = t0;
      _.row = t1;
      _.colorScheme = t2;
      _._repaint = t3;
    },
    InspectorRowContent: function InspectorRowContent(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.row = t0;
      _.controller = t1;
      _.debuggerController = t2;
      _.onToggle = t3;
      _.expandArrowAnimation = t4;
      _.scrollControllerX = t5;
      _.viewportWidth = t6;
      _.error = t7;
      _.key = t8;
    },
    InspectorRowContent_build_closure: function InspectorRowContent_build_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.node = t2;
      _.theme = t3;
    },
    InspectorRowContent_build__closure: function InspectorRowContent_build__closure(t0) {
      this.$this = t0;
    },
    InspectorRowContent_build_closure0: function InspectorRowContent_build_closure0(t0, t1) {
      this.$this = t0;
      this.currentX = t1;
    },
    _InspectorTreeController_Object_SearchControllerMixin: function _InspectorTreeController_Object_SearchControllerMixin() {
    },
    __InspectorTreeRowState_State_TickerProviderStateMixin: function __InspectorTreeRowState_State_TickerProviderStateMixin() {
    },
    __InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin: function __InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin() {
    },
    __InspectorTreeState_State_SingleTickerProviderStateMixin: function __InspectorTreeState_State_SingleTickerProviderStateMixin() {
    },
    __InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin: function __InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin() {
    },
    __InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin: function __InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin() {
    },
    _BoxLayoutExplorerWidgetState_minFractionLayout(availableSize, minFractions, sizes) {
      var total, _i, size, totalFraction, i, t1, output,
        fractions = A._setArrayType(minFractions.slice(0), A._arrayInstanceType(minFractions));
      for (total = 1, _i = 0; _i < 3; ++_i) {
        size = sizes[_i];
        if (size != null)
          total += Math.max(0, size);
      }
      for (totalFraction = 0, i = 0; i < 3; ++i) {
        size = sizes[i];
        if (size != null) {
          t1 = Math.max(size / total, minFractions[i]);
          fractions[i] = t1;
          totalFraction += t1;
        } else
          fractions[i] = 0;
      }
      if (totalFraction !== 1)
        for (i = 0; i < 3; ++i)
          fractions[i] = fractions[i] / totalFraction;
      output = A._setArrayType([], type$.JSArray_double);
      for (t1 = fractions.length, _i = 0; _i < fractions.length; fractions.length === t1 || (0, A.throwConcurrentModificationError)(fractions), ++_i)
        output.push(fractions[_i] * availableSize);
      return output;
    },
    describeBoxName(properties) {
      var t1, renderDescription,
        _s11_ = "description",
        title = A._asStringQ(J.$index$asx(properties.get$node().json, _s11_));
      if (title == null)
        title = "";
      t1 = properties.get$node().get$renderObject();
      renderDescription = t1 == null ? null : A._asStringQ(J.$index$asx(t1.json, _s11_));
      return renderDescription != null ? title + (" - " + renderDescription) : title;
    },
    BoxLayoutExplorerWidget: function BoxLayoutExplorerWidget(t0, t1) {
      this.inspectorController = t0;
      this.key = t1;
    },
    _BoxLayoutExplorerWidgetState: function _BoxLayoutExplorerWidgetState(t0, t1, t2) {
      var _ = this;
      _.__LayoutExplorerWidgetState_changeAnimation = _.__LayoutExplorerWidgetState_changeController = _.__LayoutExplorerWidgetState_entranceCurve = _.__LayoutExplorerWidgetState_entranceController = $;
      _._animatedProperties = _.objectGroupManager = _._layout_explorer_widget$_properties = _._previousProperties = null;
      _.__LayoutExplorerWidgetState__onSelectionChangedCallback = _.__LayoutExplorerWidgetState_rateLimiter = $;
      _.highlighted = null;
      _._layout_explorer_widget$_dirty = false;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _BoxLayoutExplorerWidgetState_updateHighlighted_closure: function _BoxLayoutExplorerWidgetState_updateHighlighted_closure(t0, t1) {
      this.$this = t0;
      this.newProperties = t1;
    },
    _BoxLayoutExplorerWidgetState_build_closure: function _BoxLayoutExplorerWidgetState_build_closure(t0) {
      this.$this = t0;
    },
    _BoxLayoutExplorerWidgetState__buildChild_closure: function _BoxLayoutExplorerWidgetState__buildChild_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.offset = t1;
      _.propertiesLocal = t2;
      _.parentSize = t3;
      _.colorScheme = t4;
    },
    _BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero: function _BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero() {
    },
    BoxChildVisualizer: function BoxChildVisualizer(t0, t1, t2, t3, t4) {
      var _ = this;
      _.state = t0;
      _.isSelected = t1;
      _.layoutProperties = t2;
      _.renderProperties = t3;
      _.key = t4;
    },
    BoxChildVisualizer_build_buildEntranceAnimation: function BoxChildVisualizer_build_buildEntranceAnimation(t0, t1) {
      this.$this = t0;
      this.renderSize = t1;
    },
    BoxChildVisualizer_build_closure1: function BoxChildVisualizer_build_closure1(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    BoxChildVisualizer_build_closure: function BoxChildVisualizer_build_closure(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    BoxChildVisualizer_build_closure0: function BoxChildVisualizer_build_closure0(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    FlexLayoutExplorerWidget_shouldDisplay(node) {
      var t2,
        _s17_ = "widgetRuntimeType",
        t1 = type$.JSArray_String;
      if (!B.JSArray_methods.contains$1(A._setArrayType(["Row", "Column", "Flex"], t1), A._asStringQ(J.$index$asx(node.json, _s17_)))) {
        t2 = node.parent;
        t1 = t2 == null ? null : B.JSArray_methods.contains$1(A._setArrayType(["Row", "Column", "Flex"], t1), A._asStringQ(J.$index$asx(t2.json, _s17_)));
        t1 = t1 === true;
      } else
        t1 = true;
      return t1;
    },
    FlexLayoutExplorerWidget: function FlexLayoutExplorerWidget(t0, t1) {
      this.inspectorController = t0;
      this.key = t1;
    },
    _FlexLayoutExplorerWidgetState: function _FlexLayoutExplorerWidgetState(t0, t1, t2, t3) {
      var _ = this;
      _.scrollController = t0;
      _.__LayoutExplorerWidgetState_changeAnimation = _.__LayoutExplorerWidgetState_changeController = _.__LayoutExplorerWidgetState_entranceCurve = _.__LayoutExplorerWidgetState_entranceController = $;
      _._animatedProperties = _.objectGroupManager = _._layout_explorer_widget$_properties = _._previousProperties = null;
      _.__LayoutExplorerWidgetState__onSelectionChangedCallback = _.__LayoutExplorerWidgetState_rateLimiter = $;
      _.highlighted = null;
      _._layout_explorer_widget$_dirty = false;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _FlexLayoutExplorerWidgetState_updateHighlighted_closure: function _FlexLayoutExplorerWidgetState_updateHighlighted_closure(t0, t1) {
      this.$this = t0;
      this.newProperties = t1;
    },
    _FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0: function _FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.color = t2;
      _.axis = t3;
    },
    _FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure: function _FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure(t0, t1, t2) {
      this.$this = t0;
      this.axis = t1;
      this.propertiesLocal = t2;
    },
    _FlexLayoutExplorerWidgetState_build_closure: function _FlexLayoutExplorerWidgetState_build_closure(t0) {
      this.$this = t0;
    },
    _FlexLayoutExplorerWidgetState__buildLayout_closure: function _FlexLayoutExplorerWidgetState__buildLayout_closure(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    VisualizeFlexChildren: function VisualizeFlexChildren(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.properties = t0;
      _.children = t1;
      _.highlighted = t2;
      _.scrollController = t3;
      _.direction = t4;
      _.state = t5;
      _.key = t6;
    },
    _VisualizeFlexChildrenState: function _VisualizeFlexChildrenState(t0) {
      var _ = this;
      _._widget = _.lastHighlighted = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _VisualizeFlexChildrenState_build_closure: function _VisualizeFlexChildrenState_build_closure(t0) {
      this.$this = t0;
    },
    _VisualizeFlexChildrenState_build_closure0: function _VisualizeFlexChildrenState_build_closure0(t0, t1) {
      this.$this = t0;
      this.colorScheme = t1;
    },
    _VisualizeFlexChildrenState_build_closure_maxSizeAvailable: function _VisualizeFlexChildrenState_build_closure_maxSizeAvailable(t0, t1) {
      this.maxWidth = t0;
      this.maxHeight = t1;
    },
    _VisualizeFlexChildrenState_build__closure: function _VisualizeFlexChildrenState_build__closure() {
    },
    _VisualizeFlexChildrenState_build__closure0: function _VisualizeFlexChildrenState_build__closure0() {
    },
    _VisualizeFlexChildrenState_build__closure1: function _VisualizeFlexChildrenState_build__closure1() {
    },
    _VisualizeFlexChildrenState_build__closure2: function _VisualizeFlexChildrenState_build__closure2() {
    },
    FlexChildVisualizer: function FlexChildVisualizer(t0, t1, t2, t3, t4) {
      var _ = this;
      _.state = t0;
      _.isSelected = t1;
      _.layoutProperties = t2;
      _.renderProperties = t3;
      _.key = t4;
    },
    FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild: function FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild(t0) {
      this.propertiesLocal = t0;
    },
    FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem: function FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem(t0) {
      this.buildMenuitemChild = t0;
    },
    FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription: function FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription() {
    },
    FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem: function FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem(t0) {
      this.flexFitDescription = t0;
    },
    FlexChildVisualizer_build_buildEntranceAnimation: function FlexChildVisualizer_build_buildEntranceAnimation(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.rootLocal = t1;
      _.propertiesLocal = t2;
      _.renderSize = t3;
    },
    FlexChildVisualizer_build_closure1: function FlexChildVisualizer_build_closure1(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    FlexChildVisualizer_build_closure: function FlexChildVisualizer_build_closure(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    FlexChildVisualizer_build_closure0: function FlexChildVisualizer_build_closure0(t0, t1) {
      this.$this = t0;
      this.propertiesLocal = t1;
    },
    AnimatedFlexLayoutProperties$(begin, end, animation) {
      var t2, i,
        t1 = A._setArrayType([], type$.JSArray_LayoutProperties);
      for (t2 = type$.LayoutProperties, i = 0; i < begin.get$children(begin).length; ++i)
        t1.push(A.AnimatedLayoutProperties$(begin.get$children(begin)[i], end.get$children(end)[i], animation, t2));
      return new A.AnimatedFlexLayoutProperties(begin, end, animation, t1);
    },
    AxisExtension_get_flexType(_this) {
      switch (_this.index) {
        case 0:
          return "Row";
        case 1:
        default:
          return "Column";
      }
    },
    AnimatedFlexLayoutProperties: function AnimatedFlexLayoutProperties(t0, t1, t2, t3) {
      var _ = this;
      _.begin = t0;
      _.end = t1;
      _.animation = t2;
      _._utils1$_children = t3;
    },
    AnimatedFlexLayoutProperties_childrenRenderProperties_closure: function AnimatedFlexLayoutProperties_childrenRenderProperties_closure() {
    },
    LayoutExplorerTab: function LayoutExplorerTab(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _LayoutExplorerTabState: function _LayoutExplorerTabState(t0, t1, t2) {
      var _ = this;
      _.previousSelection = null;
      _.AutoDisposeMixin__delegate = t0;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _LayoutExplorerTabState_onSelectionChanged_closure: function _LayoutExplorerTabState_onSelectionChanged_closure(t0) {
      this.$this = t0;
    },
    __LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin: function __LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin() {
    },
    __LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin: function __LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin() {
    },
    ArrowWrapper$unidirectional(arrowColor, child, type) {
      var t1 = type === B.ArrowType_0 || type === B.ArrowType_3 ? B.Axis_1 : B.Axis_0,
        t2 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      return new A.ArrowWrapper(arrowColor, B.JSNumber_methods.roundToDouble$0(16 * (t2.fontSize / 14)), 2, child, t1, 4, false, type, type, null);
    },
    ArrowWrapper$bidirectional(arrowColor, arrowHeadSize, arrowStrokeWidth, child, childMarginFromArrow, direction) {
      var t1 = direction === B.Axis_0,
        t2 = t1 ? B.ArrowType_1 : B.ArrowType_0;
      return new A.ArrowWrapper(arrowColor, arrowHeadSize, arrowStrokeWidth, child, direction, childMarginFromArrow, true, t2, t1 ? B.ArrowType_2 : B.ArrowType_3, null);
    },
    ArrowWidget$(color, headSize, shouldDrawHead, strokeWidth, type) {
      return new A.ArrowWidget(new A._ArrowPainter(color, headSize, shouldDrawHead, strokeWidth, type, 0.5 * Math.sqrt(3) * headSize, null), null);
    },
    ArrowType: function ArrowType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ArrowWrapper: function ArrowWrapper(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.arrowColor = t0;
      _.arrowHeadSize = t1;
      _.arrowStrokeWidth = t2;
      _.child = t3;
      _.direction = t4;
      _.childMarginFromArrow = t5;
      _.isBidirectional = t6;
      _.startArrowType = t7;
      _.endArrowType = t8;
      _.key = t9;
    },
    ArrowWidget: function ArrowWidget(t0, t1) {
      this._arrow$_painter = t0;
      this.key = t1;
    },
    _ArrowPainter: function _ArrowPainter(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.color = t0;
      _.headSize = t1;
      _.shouldDrawHead = t2;
      _.strokeWidth = t3;
      _.type = t4;
      _.headHeight = t5;
      _._repaint = t6;
    },
    FreeSpaceVisualizerWidget: function FreeSpaceVisualizerWidget(t0, t1) {
      this.renderProperties = t0;
      this.key = t1;
    },
    PaddingVisualizerWidget: function PaddingVisualizerWidget(t0, t1, t2) {
      this.renderProperties = t0;
      this.horizontal = t1;
      this.key = t2;
    },
    LayoutExplorerWidget: function LayoutExplorerWidget() {
    },
    LayoutExplorerWidgetState: function LayoutExplorerWidgetState() {
    },
    LayoutExplorerWidgetState_onTap_closure: function LayoutExplorerWidgetState_onTap_closure(t0, t1) {
      this.$this = t0;
      this.properties = t1;
    },
    LayoutExplorerWidgetState__changeProperties_closure: function LayoutExplorerWidgetState__changeProperties_closure(t0, t1) {
      this.$this = t0;
      this.nextProperties = t1;
    },
    LayoutExplorerWidgetState__setProperties_closure: function LayoutExplorerWidgetState__setProperties_closure(t0, t1) {
      this.$this = t0;
      this.newProperties = t1;
    },
    LayoutExplorerWidgetState__initAnimationStates_closure: function LayoutExplorerWidgetState__initAnimationStates_closure(t0) {
      this.$this = t0;
    },
    LayoutExplorerWidgetState__initAnimationStates__closure0: function LayoutExplorerWidgetState__initAnimationStates__closure0(t0) {
      this.$this = t0;
    },
    LayoutExplorerWidgetState__initAnimationStates_closure0: function LayoutExplorerWidgetState__initAnimationStates_closure0(t0) {
      this.$this = t0;
    },
    LayoutExplorerWidgetState__initAnimationStates__closure: function LayoutExplorerWidgetState__initAnimationStates__closure(t0) {
      this.$this = t0;
    },
    _LayoutExplorerWidgetState_State_TickerProviderStateMixin: function _LayoutExplorerWidgetState_State_TickerProviderStateMixin() {
    },
    OverflowIndicatorPainter: function OverflowIndicatorPainter(t0, t1, t2) {
      this.side = t0;
      this.size = t1;
      this._repaint = t2;
    },
    WidgetVisualizer$(child, hint, isSelected, largeTitle, layoutProperties, overflowSide, title) {
      return new A.WidgetVisualizer(layoutProperties, title, child, hint, isSelected, largeTitle, overflowSide, null);
    },
    AnimatedLayoutProperties$(begin, end, animation, $T) {
      var t2, i,
        t1 = A._setArrayType([], type$.JSArray_LayoutProperties);
      for (t2 = type$.LayoutProperties, i = 0; i < begin.get$children(begin).length; ++i)
        t1.push(A.AnimatedLayoutProperties$(begin.get$children(begin)[i], end.get$children(end)[i], animation, t2));
      return new A.AnimatedLayoutProperties(begin, end, animation, t1, $T._eval$1("AnimatedLayoutProperties<0>"));
    },
    BorderLayout: function BorderLayout(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.center = t0;
      _.right = t1;
      _.bottom = t2;
      _.rightWidth = t3;
      _.bottomHeight = t4;
      _.key = t5;
    },
    Truncateable: function Truncateable(t0, t1, t2) {
      this.child = t0;
      this.truncate = t1;
      this.key = t2;
    },
    WidgetVisualizer: function WidgetVisualizer(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.layoutProperties = t0;
      _.title = t1;
      _.child = t2;
      _.hint = t3;
      _.isSelected = t4;
      _.largeTitle = t5;
      _.overflowSide = t6;
      _.key = t7;
    },
    WidgetVisualizer_build_closure: function WidgetVisualizer_build_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.boxAdjust = t1;
      _.borderColor = t2;
      _.theme = t3;
      _.colorScheme = t4;
    },
    AnimatedLayoutProperties: function AnimatedLayoutProperties(t0, t1, t2, t3, t4) {
      var _ = this;
      _.begin = t0;
      _.end = t1;
      _.animation = t2;
      _._utils1$_children = t3;
      _.$ti = t4;
    },
    LayoutExplorerBackground: function LayoutExplorerBackground(t0, t1) {
      this.colorScheme = t0;
      this.key = t1;
    },
    VisualizeWidthAndHeightWithConstraints$(arrowHeadSize, child, properties, warnIfUnconstrained) {
      return new A.VisualizeWidthAndHeightWithConstraints(child, properties, arrowHeadSize == null ? B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : arrowHeadSize, warnIfUnconstrained, null);
    },
    VisualizeWidthAndHeightWithConstraints: function VisualizeWidthAndHeightWithConstraints(t0, t1, t2, t3, t4) {
      var _ = this;
      _.child = t0;
      _.properties = t1;
      _.arrowHeadSize = t2;
      _.warnIfUnconstrained = t3;
      _.key = t4;
    },
    VisualizeWidthAndHeightWithConstraints_build_closure: function VisualizeWidthAndHeightWithConstraints_build_closure(t0, t1) {
      this.$this = t0;
      this.heightDescription = t1;
    },
    VisualizeWidthAndHeightWithConstraints_build_closure0: function VisualizeWidthAndHeightWithConstraints_build_closure0(t0, t1) {
      this.$this = t0;
      this.widthDescription = t1;
    },
    WidgetTheme_fromName(widgetType) {
      var t1;
      if (widgetType == null)
        return B.WidgetTheme_null_Color_4279150560;
      t1 = B.Map_RsYQL.$index(0, A.WidgetTheme__stripBrackets(widgetType));
      return t1 == null ? B.WidgetTheme_null_Color_4279150560 : t1;
    },
    WidgetTheme__stripBrackets(widgetType) {
      var bracketIndex = B.JSString_methods.indexOf$1(widgetType, "<");
      if (bracketIndex === -1)
        return widgetType;
      return B.JSString_methods.substring$2(widgetType, 0, bracketIndex);
    },
    WidgetTheme: function WidgetTheme(t0, t1) {
      this.iconAsset = t0;
      this.color = t1;
    },
    KindColumn: function KindColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    LogDetails: function LogDetails(t0, t1) {
      this.log = t0;
      this.key = t1;
    },
    _LogDetailsState: function _LogDetailsState(t0, t1, t2) {
      var _ = this;
      _.__log_details$_lastDetails = null;
      _.___LogDetailsState_scrollController = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _LogDetailsState__computeLogDetails_closure: function _LogDetailsState__computeLogDetails_closure() {
    },
    __LogDetailsState_State_SingleTickerProviderStateMixin: function __LogDetailsState_State_SingleTickerProviderStateMixin() {
    },
    LogsTable: function LogsTable(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.data = t0;
      _.onItemSelected = t1;
      _.selectionNotifier = t2;
      _.searchMatchesNotifier = t3;
      _.activeSearchMatchNotifier = t4;
      _.when = t5;
      _.kind = t6;
      _.message = t7;
      _.key = t8;
    },
    LogsTable_build_closure: function LogsTable_build_closure() {
    },
    MessageColumn: function MessageColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    WhenColumn: function WhenColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _retrieveFullStringValue(service, isolateRef, stringRef) {
      var t1,
        fallback = A.S(stringRef.get$valueAsString(stringRef)) + "...";
      if (service == null)
        t1 = null;
      else {
        t1 = isolateRef.get$id(isolateRef);
        t1.toString;
        t1 = service.retrieveFullStringValue$3$onUnavailable(t1, stringRef, new A._retrieveFullStringValue_closure(fallback)).then$1$1(new A._retrieveFullStringValue_closure0(fallback), type$.String);
      }
      return t1 == null ? A.Future_Future$value(fallback, type$.String) : t1;
    },
    LoggingController__findFirstSummary(node) {
      var t1, t2, _i, summary;
      if (node.getLevelMember$2("level", B.DiagnosticLevel_3) === B.DiagnosticLevel_6)
        return node;
      for (t1 = node.get$inlineProperties(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        summary = A.LoggingController__findFirstSummary(t1[_i]);
        if (summary != null)
          return summary;
      }
      for (t1 = J.get$iterator$ax(node.get$childrenNow()); t1.moveNext$0();) {
        summary = A.LoggingController__findFirstSummary(t1.get$current(t1));
        if (summary != null)
          return summary;
      }
      return null;
    },
    _valueAsString(ref) {
      var t1;
      if (ref == null)
        return null;
      t1 = ref.valueAsString;
      if (t1 == null)
        return t1;
      if (ref.valueAsStringIsTruncated === true)
        return t1 + "...";
      else
        return t1;
    },
    ImageSizesForFrame_from(data) {
      return J.map$1$1$ax(J.get$values$x(data), new A.ImageSizesForFrame_from_closure(), type$.ImageSizesForFrame).toList$0(0);
    },
    _retrieveFullStringValue_closure: function _retrieveFullStringValue_closure(t0) {
      this.fallback = t0;
    },
    _retrieveFullStringValue_closure0: function _retrieveFullStringValue_closure0(t0) {
      this.fallback = t0;
    },
    LoggingController: function LoggingController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.filterArgs = t0;
      _._logStatusController = t1;
      _.data = t2;
      _._selectedLog = t3;
      _.AutoDisposeControllerMixin__delegate = t4;
      _.FilterControllerMixin_filteredData = t5;
      _.FilterControllerMixin_activeFilter = t6;
      _.SearchControllerMixin__searchNotifier = t7;
      _.SearchControllerMixin__searchInProgress = t8;
      _.SearchControllerMixin_xPosition = t9;
      _.SearchControllerMixin__searchOperation = t10;
      _.SearchControllerMixin__searchDebounce = t11;
      _.SearchControllerMixin__searchMatches = t12;
      _.SearchControllerMixin__activeSearchMatch = t13;
      _.SearchControllerMixin_matchIndex = t14;
    },
    LoggingController__handleDeveloperLogEvent_closure: function LoggingController__handleDeveloperLogEvent_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.service = t0;
      _.e = t1;
      _.messageRef = t2;
      _.error = t3;
      _.stackTrace = t4;
    },
    LoggingController__handleBusEvents_closure: function LoggingController__handleBusEvents_closure(t0) {
      this.$this = t0;
    },
    LoggingController__handleBusEvents_closure0: function LoggingController__handleBusEvents_closure0(t0) {
      this.$this = t0;
    },
    LoggingController__handleBusEvents_closure1: function LoggingController__handleBusEvents_closure1() {
    },
    LoggingController__handleBusEvents_closure2: function LoggingController__handleBusEvents_closure2() {
    },
    LoggingController_filterData_closure: function LoggingController_filterData_closure(t0) {
      this.filter = t0;
    },
    _StdoutEventHandler: function _StdoutEventHandler(t0, t1, t2) {
      var _ = this;
      _.loggingController = t0;
      _.name = t1;
      _.isError = t2;
      _.timer = _.buffer = null;
    },
    _StdoutEventHandler_handle_closure: function _StdoutEventHandler_handle_closure(t0) {
      this.$this = t0;
    },
    LogData: function LogData(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.kind = t0;
      _.timestamp = t1;
      _.isError = t2;
      _.summary = t3;
      _._logging_controller$_details = t4;
      _.detailsComputer = t5;
      _.DataSearchStateMixin_isSearchMatch = t6;
      _.DataSearchStateMixin_isActiveSearchMatch = t7;
    },
    ImageSizesForFrame: function ImageSizesForFrame(t0, t1, t2, t3) {
      var _ = this;
      _.source = t0;
      _.displaySize = t1;
      _.imageSize = t2;
      _.rawJson = t3;
    },
    ImageSizesForFrame_from_closure: function ImageSizesForFrame_from_closure() {
    },
    _LogData_Object_DataSearchStateMixin: function _LogData_Object_DataSearchStateMixin() {
    },
    _LoggingController_DisposableController_SearchControllerMixin: function _LoggingController_DisposableController_SearchControllerMixin() {
    },
    _LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin: function _LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin() {
    },
    _LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin: function _LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin() {
    },
    LoggingScreen: function LoggingScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    LoggingScreen_buildStatus_closure: function LoggingScreen_buildStatus_closure() {
    },
    LoggingScreenBody: function LoggingScreenBody(t0) {
      this.key = t0;
    },
    _LoggingScreenState: function _LoggingScreenState(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.selected = null;
      _.___LoggingScreenState_filteredLogs = $;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t2;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t3;
      _.ProvidedControllerMixin__controller = t4;
      _.AutoDisposeMixin__delegate = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._framework$_element = null;
    },
    _LoggingScreenState_didChangeDependencies_closure: function _LoggingScreenState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _LoggingScreenState_didChangeDependencies__closure0: function _LoggingScreenState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    _LoggingScreenState_didChangeDependencies_closure0: function _LoggingScreenState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    _LoggingScreenState_didChangeDependencies__closure: function _LoggingScreenState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _LoggingScreenState__showFilterDialog_closure: function _LoggingScreenState__showFilterDialog_closure(t0) {
      this.$this = t0;
    },
    __LoggingScreenState_State_AutoDisposeMixin: function __LoggingScreenState_State_AutoDisposeMixin() {
    },
    __LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin: function __LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    __LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin: function __LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin() {
    },
    FieldTrack: function FieldTrack(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    FieldTrack_build_closure: function FieldTrack_build_closure(t0, t1) {
      this.controller = t0;
      this.item = t1;
    },
    FieldClassName: function FieldClassName(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    FieldInstanceCountColumn: function FieldInstanceCountColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    FieldInstanceDeltaColumn: function FieldInstanceDeltaColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    FieldSizeColumn: function FieldSizeColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    FieldSizeDeltaColumn: function FieldSizeDeltaColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    AllocationTableView: function AllocationTableView(t0) {
      this.key = t0;
    },
    AllocationTableViewState: function AllocationTableViewState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.columns = t0;
      _.samplesProcessed = t1;
      _.trackerData = t2;
      _.ProvidedControllerMixin__controller = t3;
      _.AutoDisposeMixin__delegate = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    AllocationTableViewState_didChangeDependencies_closure: function AllocationTableViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    AllocationTableViewState_didChangeDependencies__closure0: function AllocationTableViewState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    AllocationTableViewState_didChangeDependencies_closure0: function AllocationTableViewState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    AllocationTableViewState_didChangeDependencies__closure: function AllocationTableViewState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    AllocationTableViewState__handleSearch_closure: function AllocationTableViewState__handleSearch_closure() {
    },
    AllocationTableViewState_build_closure: function AllocationTableViewState_build_closure() {
    },
    AllocationTableViewState_build_closure0: function AllocationTableViewState_build_closure0(t0) {
      this.$this = t0;
    },
    AllocationTableViewState_build_closure1: function AllocationTableViewState_build_closure1(t0) {
      this.$this = t0;
    },
    _AllocationTableViewState_State_AutoDisposeMixin: function _AllocationTableViewState_State_AutoDisposeMixin() {
    },
    _AllocationTableViewState_State_AutoDisposeMixin_ProvidedControllerMixin: function _AllocationTableViewState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    collect(controller, snapshot) {
      var heapGraph, t4, t5, t6, _i, library, externalsToAnalyze, t7, t8, t9, liveClass, t10, filtersToAnalyze, _i0, t11, t12, t13, librariesToAnalyze,
        t1 = type$.String,
        t2 = type$.List_Reference,
        result = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = snapshot.libraryRoot;
      if (t3 == null)
        return A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      heapGraph = controller.heapGraph;
      for (t1 = t3.children, t2 = t1.length, t3 = type$.JSArray_ClassReference, t4 = type$.HeapGraphClassLive, t5 = type$.JSArray_ExternalReference, t6 = type$.ExternalReferences, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        library = t1[_i];
        if (library.isExternals) {
          externalsToAnalyze = A._setArrayType([], t5);
          for (t7 = t6._as(library).children, t8 = A._arrayInstanceType(t7)._eval$1("CastList<1,ExternalReference>"), t7 = new A.CastList(t7, t8), t7 = new A.ListIterator(t7, t7.get$length(t7), t8._eval$1("ListIterator<ListMixin.E>")), t8 = t8._eval$1("ListMixin.E"); t7.moveNext$0();) {
            t9 = t7.__internal$_current;
            if (t9 == null)
              t9 = t8._as(t9);
            liveClass = t4._as(t9.liveExternal.live.theClass);
            t10 = A.RegExp_RegExp($.$get$knownClassesRegExs(), true, false).allMatches$1(0, liveClass.origin._snapshot_graph$_name);
            if (!t10.get$isEmpty(t10)) {
              liveClass.getInstances$1(heapGraph);
              externalsToAnalyze.push(t9);
            }
          }
          result.$indexSet(0, "externals", externalsToAnalyze);
        } else if (library.isFiltered) {
          filtersToAnalyze = A._setArrayType([], t3);
          for (t7 = library.children, t8 = t7.length, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, A.throwConcurrentModificationError)(t7), ++_i0) {
            for (t9 = t7[_i0].children, t10 = A._arrayInstanceType(t9)._eval$1("CastList<1,ClassReference>"), t9 = new A.CastList(t9, t10), t9 = new A.ListIterator(t9, t9.get$length(t9), t10._eval$1("ListIterator<ListMixin.E>")), t10 = t10._eval$1("ListMixin.E"); t9.moveNext$0();) {
              t11 = t9.__internal$_current;
              if (t11 == null)
                t11 = t10._as(t11);
              t12 = t11.actualClass;
              t12.toString;
              t13 = A.RegExp_RegExp($.$get$knownClassesRegExs(), true, false).allMatches$1(0, t12.origin._snapshot_graph$_name);
              if (!t13.get$isEmpty(t13)) {
                filtersToAnalyze.push(t11);
                t12.getInstances$1(heapGraph);
              }
            }
            result.$indexSet(0, "filters", filtersToAnalyze);
          }
        } else if (library.isLibrary) {
          librariesToAnalyze = A._setArrayType([], t3);
          for (t7 = library.children, t8 = A._arrayInstanceType(t7)._eval$1("CastList<1,ClassReference>"), t7 = new A.CastList(t7, t8), t7 = new A.ListIterator(t7, t7.get$length(t7), t8._eval$1("ListIterator<ListMixin.E>")), t8 = t8._eval$1("ListMixin.E"); t7.moveNext$0();) {
            t9 = t7.__internal$_current;
            if (t9 == null)
              t9 = t8._as(t9);
            t10 = t9.actualClass;
            t10.toString;
            t11 = A.RegExp_RegExp($.$get$knownClassesRegExs(), true, false).allMatches$1(0, t10.origin._snapshot_graph$_name);
            if (!t11.get$isEmpty(t11)) {
              librariesToAnalyze.push(t9);
              t10.getInstances$1(heapGraph);
            }
          }
          result.$indexSet(0, "libraries", librariesToAnalyze);
        }
      }
      return result;
    },
    imageAnalysis(controller, analysisSnapshot, collectedData) {
      collectedData.forEach$1(0, new A.imageAnalysis_closure(analysisSnapshot, controller));
    },
    processMatches(controller, matches) {
      var t3, imageCacheNode, pendingNode, cacheNode, liveNode, pendingInstance, cacheInstance, liveInstance,
        _s10_ = "__FIELDS__",
        _null = null, _s6_ = "Images", t1 = {},
        t2 = type$.JSArray_AnalysisField,
        pending = new A.AnalysisField(_s10_, _null, A._setArrayType([], t2)),
        cache = new A.AnalysisField(_s10_, _null, A._setArrayType([], t2)),
        live = new A.AnalysisField(_s10_, _null, A._setArrayType([], t2));
      t1.countLive = t1.countCache = t1.countPending = 0;
      t1.imageCacheFound = false;
      matches.forEach$1(0, new A.processMatches_closure(t1, pending, cache, live));
      if (t1.imageCacheFound) {
        t2 = t1.countPending;
        t3 = t1.countCache;
        t1 = t1.countLive;
        imageCacheNode = A.AnalysisReference$("ImageCache", t2 + t3 + t1, _null);
        pendingNode = A.AnalysisReference$("Pending", t2, _null);
        cacheNode = A.AnalysisReference$("Cache", t3, _null);
        liveNode = A.AnalysisReference$("Live", t1, _null);
        pendingInstance = A.AnalysisInstance$(controller, _s6_, pending);
        cacheInstance = A.AnalysisInstance$(controller, _s6_, cache);
        liveInstance = A.AnalysisInstance$(controller, _s6_, live);
        pendingNode.addChild$1(pendingInstance);
        imageCacheNode.addChild$1(pendingNode);
        cacheNode.addChild$1(cacheInstance);
        imageCacheNode.addChild$1(cacheNode);
        liveNode.addChild$1(liveInstance);
        imageCacheNode.addChild$1(liveNode);
        return imageCacheNode;
      }
      return _null;
    },
    _debugMonitor(msg) {
      return;
    },
    drillIn(controller, librariesNode, references) {
      var t1, t2, t3, t4, t5, t6, t7, instanceIndex, fields, _i, field, t8, t9, t10, result0,
        result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.List_String),
        matcher = new A.ObjectMatcher(new A.drillIn_closure(result));
      for (t1 = J.get$iterator$ax(references), t2 = type$.HeapGraphElementLive, t3 = type$.JSArray_HeapGraphElement, t4 = type$.JSArray_AnalysisField; t1.moveNext$0();) {
        t5 = t1.get$current(t1);
        t6 = t5.name;
        t7 = B.Map_UqKiG.containsKey$1(0, t6);
        if (!t7)
          continue;
        A.computeInstanceForClassReference(controller, t5);
        A._Cell$named("objectNode");
        $.$get$fieldsStack()._fields.push(t6);
        A._debugMonitor("Class " + t6 + " Instance=0");
        for (t5 = t5.children, t6 = A._arrayInstanceType(t5)._eval$1("CastList<1,ObjectReference>"), t5 = new A.CastList(t5, t6), t5 = new A.ListIterator(t5, t5.get$length(t5), t6._eval$1("ListIterator<ListMixin.E>")), t6 = t6._eval$1("ListMixin.E"), instanceIndex = 0; t5.moveNext$0();) {
          t7 = t5.__internal$_current;
          fields = (t7 == null ? t6._as(t7) : t7).instance.getFields$0();
          for (t7 = fields.length, _i = 0; _i < fields.length; fields.length === t7 || (0, A.throwConcurrentModificationError)(fields), ++_i) {
            field = fields[_i];
            t8 = field.value;
            if (t8.get$isSentinel())
              continue;
            t2._as(t8);
            if (t8._references == null && t8.referencesFiller != null) {
              t8._references = A._setArrayType([], t3);
              t8.referencesFiller.call$0();
            }
            if (t8._references.length !== 0) {
              t9 = field.key;
              A._debugMonitor(A.S(t9) + " OBJECT Start");
              t10 = A._setArrayType([], t4);
              $.$get$fieldsStack()._fields.push(t9);
              A.displayObject(matcher, new A.AnalysisField(t9, "", t10), t8, false, 0);
              $.$get$fieldsStack()._fields.pop();
              A._debugMonitor(t9 + " OBJECT End");
            } else {
              t8 = t8.origin;
              t9 = t8.__HeapSnapshotObject__data;
              if (t9 === $)
                A.throwUnnamedLateFieldNI();
              switch (J.get$runtimeType$(t9)) {
                case B.Type_HeapSnapshotObjectNullData_Grj:
                case B.Type_HeapSnapshotObjectNoData_a9w:
                case B.Type_Null_Yyn:
                case B.Type_TypeArguments_wH3:
                  result0 = null;
                  break;
                default:
                  t8 = t8.__HeapSnapshotObject__data;
                  if (t8 === $)
                    A.throwUnnamedLateFieldNI();
                  result0 = A.S(t8);
              }
              t8 = field.key;
              if (result0 != null) {
                $.$get$fieldsStack()._fields.push(t8);
                matcher.findFieldMatch$2($.$get$fieldsStack(), result0);
                $.$get$fieldsStack()._fields.pop();
                A._debugMonitor(t8 + " = " + result0);
              } else
                A._debugMonitor(A.S(t8) + " Skipped null");
            }
          }
          ++instanceIndex;
        }
        $.$get$fieldsStack()._fields.pop();
      }
      return result;
    },
    displayObject(matcher, objectField, live, createTreeNodes, depth) {
      var t1, fields, t2, t3, t4, _i, field, t5, t6, t7, t8, _i0, ref, t9, continueResult, result;
      if (depth >= 4)
        return null;
      t1 = live.get$references();
      t1 = t1 == null ? null : t1.length === 0;
      if (t1 !== false)
        return true;
      fields = live.getFields$0();
      for (t1 = fields.length, t2 = type$.JSArray_AnalysisField, t3 = type$.HeapGraphElementLive, t4 = type$.JSArray_HeapGraphElement, _i = 0; _i < fields.length; fields.length === t1 || (0, A.throwConcurrentModificationError)(fields), ++_i) {
        field = fields[_i];
        t5 = field.value;
        if (t5.get$isSentinel())
          continue;
        t3._as(t5);
        if (t5._references == null && t5.referencesFiller != null) {
          t5._references = A._setArrayType([], t4);
          t5.referencesFiller.call$0();
        }
        t6 = t5._references;
        if (t6 == null)
          t6 = [];
        t7 = t6.length;
        t8 = field.key;
        _i0 = 0;
        for (; _i0 < t6.length; t6.length === t7 || (0, A.throwConcurrentModificationError)(t6), ++_i0) {
          ref = t6[_i0];
          if (ref.get$isSentinel())
            continue;
          t3._as(ref);
          if (ref.getFields$0().length === 0)
            continue;
          t9 = A._setArrayType([], t2);
          A._debugMonitor(A.S(t8) + " OBJECT start [depth=" + depth + "]");
          ++depth;
          $.$get$fieldsStack()._fields.push(t8);
          continueResult = A.displayObject(matcher, new A.AnalysisField(t8, "", t9), ref, false, depth);
          $.$get$fieldsStack()._fields.pop();
          --depth;
          if (continueResult == null)
            continue;
          A._debugMonitor(t8 + " OBJECT end  [depth=" + depth + "]");
        }
        t5 = t5.origin;
        t6 = t5.__HeapSnapshotObject__data;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        switch (J.get$runtimeType$(t6)) {
          case B.Type_HeapSnapshotObjectNullData_Grj:
          case B.Type_HeapSnapshotObjectNoData_a9w:
          case B.Type_Null_Yyn:
          case B.Type_TypeArguments_wH3:
            result = null;
            break;
          default:
            t5 = t5.__HeapSnapshotObject__data;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            result = A.S(t5);
        }
        if (result != null) {
          $.$get$fieldsStack()._fields.push(t8);
          matcher.findFieldMatch$2($.$get$fieldsStack(), result);
          $.$get$fieldsStack()._fields.pop();
          A._debugMonitor(t8 + "=" + result);
        }
      }
      return true;
    },
    Bucket: function Bucket(t0, t1) {
      this.totalCount = t0;
      this.totalBytes = t1;
    },
    imageAnalysis_closure: function imageAnalysis_closure(t0, t1) {
      this.analysisSnapshot = t0;
      this.controller = t1;
    },
    imageAnalysis__closure: function imageAnalysis__closure() {
    },
    imageAnalysis__closure0: function imageAnalysis__closure0() {
    },
    imageAnalysis__closure1: function imageAnalysis__closure1() {
    },
    imageAnalysis__closure2: function imageAnalysis__closure2() {
    },
    imageAnalysis__closure3: function imageAnalysis__closure3() {
    },
    imageAnalysis__closure4: function imageAnalysis__closure4() {
    },
    imageAnalysis__closure5: function imageAnalysis__closure5() {
    },
    imageAnalysis__closure6: function imageAnalysis__closure6() {
    },
    imageAnalysis__closure7: function imageAnalysis__closure7(t0) {
      this.bucketNode = t0;
    },
    processMatches_closure: function processMatches_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.pending = t1;
      _.cache = t2;
      _.live = t3;
    },
    drillIn_closure: function drillIn_closure(t0) {
      this.result = t0;
    },
    drillIn__closure: function drillIn__closure() {
    },
    AnalysisInstanceViewTable: function AnalysisInstanceViewTable(t0) {
      this.key = t0;
    },
    AnalysisInstanceViewState: function AnalysisInstanceViewState(t0, t1, t2, t3, t4) {
      var _ = this;
      _._memory_analyzer$_treeColumn = t0;
      _._memory_analyzer$_columns = t1;
      _.ProvidedControllerMixin__controller = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    AnalysisInstanceViewState_didChangeDependencies_closure: function AnalysisInstanceViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    AnalysisInstanceViewState_didChangeDependencies__closure: function AnalysisInstanceViewState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    AnalysisInstanceViewState_build_closure: function AnalysisInstanceViewState_build_closure() {
    },
    _AnalysisFieldNameColumn: function _AnalysisFieldNameColumn(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.nodeExpandedController = t0;
      _.nodeCollapsedController = t1;
      _.title = t2;
      _.titleTooltip = t3;
      _.fixedWidthPx = t4;
      _.minWidthPx = t5;
      _.alignment = t6;
    },
    _AnalysisFieldValueColumn: function _AnalysisFieldValueColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    ClassFields: function ClassFields(t0) {
      this._fields = t0;
    },
    ObjectMatcher: function ObjectMatcher(t0) {
      this._matchCompleted = t0;
    },
    _AnalysisInstanceViewState_State_AutoDisposeMixin: function _AnalysisInstanceViewState_State_AutoDisposeMixin() {
    },
    _AnalysisInstanceViewState_State_AutoDisposeMixin_ProvidedControllerMixin: function _AnalysisInstanceViewState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    chartDuration(interval) {
      return B.List_sLJ[interval.index];
    },
    chartInterval(displayName) {
      switch (B.JSArray_methods.indexOf$1($.$get$displayDurationsStrings(), displayName)) {
        case 0:
          return B.ChartInterval_0;
        case 1:
          return B.ChartInterval_1;
        case 2:
          return B.ChartInterval_2;
        case 3:
          return B.ChartInterval_3;
        case 4:
          return B.ChartInterval_4;
        default:
          return B.ChartInterval_4;
      }
    },
    OfflineFileException$(message) {
      return new A.OfflineFileException(message);
    },
    ChartInterval: function ChartInterval(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    OfflineFileException: function OfflineFileException(t0) {
      this.message = t0;
    },
    AllocationStackTrace: function AllocationStackTrace(t0, t1) {
      this.timestamp = null;
      this.stacktrace = t0;
      this.sources = t1;
    },
    AllocationSamples: function AllocationSamples(t0, t1) {
      this.classRef = t0;
      this.stacktraces = t1;
    },
    ChartControllers: function ChartControllers(t0, t1, t2) {
      this.event = t0;
      this.vm = t1;
      this.android = t2;
    },
    MemoryController: function MemoryController(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, t47, t48) {
      var _ = this;
      _._androidCollectionEnabled = t0;
      _._advancedSettingsEnabled = t1;
      _._autoSnapshotEnabled = t2;
      _._unitDisplayed = t3;
      _.snapshots = t4;
      _._shouldShowLeaksTab = t5;
      _._selectedSnapshotNotifier = t6;
      _.heapGraph = null;
      _._leafSelectedNotifier = t7;
      _._instanceRoot = null;
      _._leafAnalysisSelectedNotifier = t8;
      _._analysisInstanceRoot = null;
      _.completedAnalyses = t9;
      _._treeMapVisible = t10;
      _._legendVisibleNotifier = t11;
      _.__MemoryController_memoryLog = _.__MemoryController_memoryTimeline = $;
      _.offline = t12;
      _.memorySourcePrefix = null;
      _._memorySourceNotifier = t13;
      _._refreshCharts = t14;
      _._displayIntervalNotifier = t15;
      _._paused = t16;
      _._androidChartVisibleNotifier = t17;
      _.settings = t18;
      _.selectionSnapshotNotifier = t19;
      _.__MemoryController_groupByTreeTable = $;
      _.instanceFieldsTreeTable = null;
      _.__MemoryController_analysisFieldsTreeTable = $;
      _._updateClassStackTraces = t20;
      _.trackAllocations = t21;
      _._allAllocationSamples = t22;
      _.allocationSamples = t23;
      _.allocationsFieldsTable = null;
      _.filterConfig = t24;
      _.classRoot = _.topNode = null;
      _._filterNotifier = t25;
      _.groupingBy = t26;
      _._memoryTrackerController = t27;
      _._disconnectController = t28;
      _._memoryTracker = null;
      _._monitorAllocationsNotifier = t29;
      _.__MemoryController_sortedMonitorDirection = _.__MemoryController_sortedMonitorColumn = $;
      _.monitorTimestamp = null;
      _.lastMonitorTimestamp = t30;
      _.searchMatchMonitorAllocationsNotifier = t31;
      _._monitorAllocations = t32;
      _._treeChangedNotifier = t33;
      _._gcing = false;
      _.snapshotByLibraryData = null;
      _.AutoCompleteSearchControllerMixin_selectTheSearchNotifier = t34;
      _.AutoCompleteSearchControllerMixin_searchAutoComplete = t35;
      _.AutoCompleteSearchControllerMixin_autoCompleteLayerLink = t36;
      _.AutoCompleteSearchControllerMixin_autoCompleteOverlay = t37;
      _.AutoCompleteSearchControllerMixin__currentHoveredIndex = t38;
      _.AutoCompleteSearchControllerMixin__currentSuggestionNotifier = t39;
      _.SearchControllerMixin__searchNotifier = t40;
      _.SearchControllerMixin__searchInProgress = t41;
      _.SearchControllerMixin_xPosition = t42;
      _.SearchControllerMixin__searchOperation = t43;
      _.SearchControllerMixin__searchDebounce = t44;
      _.SearchControllerMixin__searchMatches = t45;
      _.SearchControllerMixin__activeSearchMatch = t46;
      _.SearchControllerMixin_matchIndex = t47;
      _.AutoDisposeControllerMixin__delegate = t48;
    },
    MemoryController_updatedMemorySource_closure: function MemoryController_updatedMemorySource_closure() {
    },
    MemoryController_setTracking_closure: function MemoryController_setTracking_closure(t0) {
      this.classRef = t0;
    },
    MemoryController_setTracking_closure0: function MemoryController_setTracking_closure0() {
    },
    MemoryController_setTracking_closure1: function MemoryController_setTracking_closure1(t0) {
      this.$this = t0;
    },
    MemoryController__handleConnectionStart_closure: function MemoryController__handleConnectionStart_closure(t0) {
      this.$this = t0;
    },
    MemoryController__handleConnectionStart_closure0: function MemoryController__handleConnectionStart_closure0(t0) {
      this.$this = t0;
    },
    MemoryController__handleConnectionStart_closure1: function MemoryController__handleConnectionStart_closure1(t0) {
      this.$this = t0;
    },
    MemoryController__handleConnectionStart_closure2: function MemoryController__handleConnectionStart_closure2() {
    },
    MemoryController__handleConnectionStart_closure3: function MemoryController__handleConnectionStart_closure3(t0) {
      this.$this = t0;
    },
    MemoryController_startTimeline_closure: function MemoryController_startTimeline_closure(t0) {
      this.$this = t0;
    },
    MemoryController_monitorAllocations_closure: function MemoryController_monitorAllocations_closure(t0) {
      this.monitorAllocation = t0;
    },
    MemoryController_getAllocationProfile_closure: function MemoryController_getAllocationProfile_closure() {
    },
    MemoryController_getAllocationProfile_closure0: function MemoryController_getAllocationProfile_closure0() {
    },
    MemoryController_computeAllLibraries_closure: function MemoryController_computeAllLibraries_closure(t0) {
      this.classLive = t0;
    },
    MemoryController_computeAllLibraries_closure0: function MemoryController_computeAllLibraries_closure0(t0, t1) {
      this.$this = t0;
      this.newLibraryRoot = t1;
    },
    MemoryController_computeAllLibraries__closure: function MemoryController_computeAllLibraries__closure(t0) {
      this.libraryName = t0;
    },
    MemoryController_addAllToNode_closure: function MemoryController_addAllToNode_closure(t0, t1) {
      this.$this = t0;
      this.root = t1;
    },
    MemoryController_addAllToNode__closure: function MemoryController_addAllToNode__closure(t0) {
      this.libraryName = t0;
    },
    MemoryController_createSnapshotEntries_closure: function MemoryController_createSnapshotEntries_closure(t0) {
      this.snapshot = t0;
    },
    MemoryController_buildTreeFromAllData_closure: function MemoryController_buildTreeFromAllData_closure() {
    },
    SettingsModel: function SettingsModel() {
    },
    MemoryLog: function MemoryLog(t0) {
      this.controller = t0;
    },
    MemoryLog_offlineFiles_closure: function MemoryLog_offlineFiles_closure() {
    },
    _MemoryController_DisposableController_AutoDisposeControllerMixin: function _MemoryController_DisposableController_AutoDisposeControllerMixin() {
    },
    _MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin: function _MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin() {
    },
    _MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin: function _MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin() {
    },
    LibraryFilter: function LibraryFilter() {
    },
    SnapshotFilterDialog: function SnapshotFilterDialog(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    SnapshotFilterState: function SnapshotFilterState(t0, t1, t2) {
      var _ = this;
      _._intitialized = false;
      _.__SnapshotFilterState_oldFilterLibraryNoInstancesValue = _.__SnapshotFilterState_oldFilterZeroInstancesValue = _.__SnapshotFilterState_oldFilterPrivateClassesValue = $;
      _.oldFilteredLibraries = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    SnapshotFilterState_buildFilters_closure: function SnapshotFilterState_buildFilters_closure() {
    },
    SnapshotFilterState_applyAndCancelButton_closure: function SnapshotFilterState_applyAndCancelButton_closure(t0) {
      this.$this = t0;
    },
    SnapshotFilterState_applyAndCancelButton_closure0: function SnapshotFilterState_applyAndCancelButton_closure0(t0) {
      this.$this = t0;
    },
    _SnapshotFilterState_State_AutoDisposeMixin: function _SnapshotFilterState_State_AutoDisposeMixin() {
    },
    monitorClass(classId, className, message) {
      if (classId != null) {
        if ($._monitorClasses.containsKey$1(0, classId)) {
          A.print("STOP: class " + A.S($._monitorClasses.$index(0, classId)) + " [classId=" + A.S(classId) + "]  " + message);
          return true;
        }
      } else if (className != null) {
        if ($._monitorClasses.containsValue$1(0, className)) {
          A.print("STOP: class " + className + "  " + message);
          return true;
        }
      } else
        A.print("WARNING: Missing classId or className to monitor.");
      return false;
    },
    convertHeapGraph(filterConfig, graph, classNamesToMonitor) {
      var t2, i, c, t3, libraryClass, elements, o, snapshotExternals, externals, index, snapshotObject, _null = null,
        builtInClasses = A.LinkedHashMap_LinkedHashMap$_empty(type$.LibraryClass, type$.int),
        t1 = graph._classes,
        classes = A.List_List$filled(t1.length, _null, false, type$.nullable_HeapGraphClassLive);
      for (t2 = type$.JSArray_HeapGraphElementLive, i = 0; i < t1.length; ++i) {
        c = t1[i];
        t3 = c.__HeapSnapshotClass__libraryUri;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        libraryClass = new A.LibraryClass(t3.toString$0(0), c._snapshot_graph$_name);
        if ($.$get$predefinedClasses().containsKey$1(0, libraryClass))
          builtInClasses.putIfAbsent$2(0, libraryClass, new A.convertHeapGraph_closure(i));
        classes[i] = new A.HeapGraphClassLive(c, A._setArrayType([], t2));
      }
      t1 = graph._objects;
      elements = A.List_List$filled(t1.length, _null, false, type$.nullable_HeapGraphElementLive);
      for (t2 = t1.length, i = 0; i < t2; ++i)
        elements[i] = new A.HeapGraphElementLive(t1[i]);
      for (i = 0; i < t1.length; ++i) {
        o = t1[i];
        t2 = elements[i];
        t2.toString;
        t3 = o._classId;
        if (t3 === 0)
          t2.theClass = $.$get$HeapGraph_classSentinel();
        else {
          A.monitorClass(t3, _null, "");
          t2.theClass = classes[t3];
        }
        t2.referencesFiller = new A.convertHeapGraph_closure0(o, elements, t2);
      }
      snapshotExternals = graph._externalProperties;
      externals = A.List_List$filled(snapshotExternals.length, _null, false, type$.nullable_HeapGraphExternalLive);
      for (t1 = snapshotExternals.length, index = 0; index < t1; ++index) {
        snapshotObject = snapshotExternals[index];
        t2 = elements[snapshotObject.object];
        t2.toString;
        externals[index] = new A.HeapGraphExternalLive(snapshotObject, t2);
      }
      t1 = type$.String;
      t2 = type$.Set_HeapGraphClassLive;
      t3 = type$.Set_HeapGraphElementLive;
      return new A.HeapGraph(filterConfig, builtInClasses, classes, elements, externals, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_nullable_HeapGraphElementLive), A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2));
    },
    convertHeapGraph_closure: function convertHeapGraph_closure(t0) {
      this.i = t0;
    },
    convertHeapGraph_closure0: function convertHeapGraph_closure0(t0, t1, t2) {
      this.o = t0;
      this.elements = t1;
      this.converted = t2;
    },
    HeapGraph: function HeapGraph(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.filterConfig = t0;
      _._instancesComputed = false;
      _.builtInClasses = t1;
      _.classes = t2;
      _.elements = t3;
      _.externals = t4;
      _.rawGroupByLibrary = t5;
      _.groupByLibrary = t6;
      _.rawGroupByClass = t7;
      _.groupByClass = t8;
      _.filteredElements = t9;
      _.filteredLibraries = t10;
    },
    HeapGraph_computeFilteredGroups_closure: function HeapGraph_computeFilteredGroups_closure(t0) {
      this.$this = t0;
    },
    HeapGraph_computeFilteredGroups_closure0: function HeapGraph_computeFilteredGroups_closure0(t0) {
      this.$this = t0;
    },
    HeapGraph_computeFilteredGroups__closure1: function HeapGraph_computeFilteredGroups__closure1(t0) {
      this.instances = t0;
    },
    HeapGraph_computeFilteredGroups_closure1: function HeapGraph_computeFilteredGroups_closure1(t0) {
      this.$this = t0;
    },
    HeapGraph_computeFilteredGroups_closure2: function HeapGraph_computeFilteredGroups_closure2(t0) {
      this.$this = t0;
    },
    HeapGraph_computeFilteredGroups__closure: function HeapGraph_computeFilteredGroups__closure(t0) {
      this.$this = t0;
    },
    HeapGraph_computeFilteredGroups__closure0: function HeapGraph_computeFilteredGroups__closure0(t0) {
      this.classes = t0;
    },
    HeapGraphElement: function HeapGraphElement() {
    },
    HeapGraphElementSentinel: function HeapGraphElementSentinel() {
      this.referencesFiller = this._references = null;
    },
    HeapGraphElementLive: function HeapGraphElementLive(t0) {
      var _ = this;
      _.origin = t0;
      _.referencesFiller = _._references = _.theClass = null;
    },
    HeapGraphExternalLive: function HeapGraphExternalLive(t0, t1) {
      var _ = this;
      _.externalProperty = t0;
      _.live = t1;
      _.referencesFiller = _._references = null;
    },
    HeapGraphClass: function HeapGraphClass() {
    },
    HeapGraphClassSentinel: function HeapGraphClassSentinel(t0) {
      this._instances = t0;
      this.instancesTotalShallowSizes = 0;
    },
    HeapGraphClassLive: function HeapGraphClassLive(t0, t1) {
      this.origin = t0;
      this._instances = t1;
      this.instancesTotalShallowSizes = 0;
    },
    buildRegExs(matchingCriteria) {
      var t1,
        resultRegEx = new A.StringBuffer("");
      matchingCriteria.forEach$1(0, new A.buildRegExs_closure(resultRegEx));
      t1 = resultRegEx._contents += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    HeapTree: function HeapTree(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    SnapshotStatus: function SnapshotStatus(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    WildcardMatch: function WildcardMatch(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    buildRegExs_closure: function buildRegExs_closure(t0) {
      this.resultRegEx = t0;
    },
    HeapTreeViewState: function HeapTreeViewState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.__HeapTreeViewState__tabController = _.__HeapTreeViewState__tabs = $;
      _.snapshotDisplay = null;
      _.heapMovingAverage = t0;
      _.spikeSnapshotTime = null;
      _.lastSnapshotMemoryTotal = _.rssSnapshotTime = 0;
      _.__HeapTreeViewState__animation = _.__HeapTreeViewState_treeMapVisible = $;
      _.snapshotState = t1;
      _.removeUpdateBubble = null;
      _.TickerProviderStateMixin__tickers = t2;
      _.TickerProviderStateMixin__tickerModeNotifier = t3;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t4;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t5;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t6;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t7;
      _.ProvidedControllerMixin__controller = t8;
      _.AutoDisposeMixin__delegate = t9;
      _._widget = null;
      _._debugLifecycleState = t10;
      _._framework$_element = null;
    },
    HeapTreeViewState_didChangeDependencies_closure: function HeapTreeViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure6: function HeapTreeViewState_didChangeDependencies__closure6(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure0: function HeapTreeViewState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure5: function HeapTreeViewState_didChangeDependencies__closure5(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure1: function HeapTreeViewState_didChangeDependencies_closure1(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure4: function HeapTreeViewState_didChangeDependencies__closure4(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure2: function HeapTreeViewState_didChangeDependencies_closure2(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure3: function HeapTreeViewState_didChangeDependencies__closure3(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure3: function HeapTreeViewState_didChangeDependencies_closure3(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure2: function HeapTreeViewState_didChangeDependencies__closure2(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure4: function HeapTreeViewState_didChangeDependencies_closure4(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure1: function HeapTreeViewState_didChangeDependencies__closure1(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure5: function HeapTreeViewState_didChangeDependencies_closure5(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure6: function HeapTreeViewState_didChangeDependencies_closure6(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure7: function HeapTreeViewState_didChangeDependencies_closure7(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure0: function HeapTreeViewState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure8: function HeapTreeViewState_didChangeDependencies_closure8(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies_closure9: function HeapTreeViewState_didChangeDependencies_closure9(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_didChangeDependencies__closure: function HeapTreeViewState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__groupByDropdown_closure: function HeapTreeViewState__groupByDropdown_closure() {
    },
    HeapTreeViewState__groupByDropdown_closure0: function HeapTreeViewState__groupByDropdown_closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__groupByDropdown__closure: function HeapTreeViewState__groupByDropdown__closure(t0, t1) {
      this.$this = t0;
      this.newValue = t1;
    },
    HeapTreeViewState__buildSnapshotControls_closure: function HeapTreeViewState__buildSnapshotControls_closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__buildSnapshotControls_closure0: function HeapTreeViewState__buildSnapshotControls_closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__buildSnapshotControls__closure0: function HeapTreeViewState__buildSnapshotControls__closure0() {
    },
    HeapTreeViewState__buildSnapshotControls_closure1: function HeapTreeViewState__buildSnapshotControls_closure1(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__buildSnapshotControls__closure: function HeapTreeViewState__buildSnapshotControls__closure() {
    },
    HeapTreeViewState_displayTimestampUpdateBubble_closure: function HeapTreeViewState_displayTimestampUpdateBubble_closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState_displayTimestampUpdateBubble__closure: function HeapTreeViewState_displayTimestampUpdateBubble__closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__buildAllocationsControls_closure: function HeapTreeViewState__buildAllocationsControls_closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__buildAllocationsControls_closure0: function HeapTreeViewState__buildAllocationsControls_closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__allocationStart_closure: function HeapTreeViewState__allocationStart_closure(t0) {
      this.currentClassId = t0;
    },
    HeapTreeViewState_selectTheMatch_closure: function HeapTreeViewState_selectTheMatch_closure(t0, t1) {
      this.$this = t0;
      this.foundName = t1;
    },
    HeapTreeViewState_selectTheMatch__closure: function HeapTreeViewState_selectTheMatch__closure() {
    },
    HeapTreeViewState__takeHeapSnapshot_closure: function HeapTreeViewState__takeHeapSnapshot_closure(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__takeHeapSnapshot_closure0: function HeapTreeViewState__takeHeapSnapshot_closure0(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__takeHeapSnapshot_closure1: function HeapTreeViewState__takeHeapSnapshot_closure1(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__takeHeapSnapshot_closure2: function HeapTreeViewState__takeHeapSnapshot_closure2(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__takeHeapSnapshot_closure3: function HeapTreeViewState__takeHeapSnapshot_closure3(t0) {
      this.$this = t0;
    },
    HeapTreeViewState__filter_closure: function HeapTreeViewState__filter_closure(t0) {
      this.$this = t0;
    },
    MemoryHeapTable: function MemoryHeapTable(t0) {
      this.key = t0;
    },
    MemoryHeapTableState: function MemoryHeapTableState(t0, t1, t2, t3, t4) {
      var _ = this;
      _._treeColumn = t0;
      _._memory_heap_tree_view$_columns = t1;
      _.ProvidedControllerMixin__controller = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    MemoryHeapTableState_didChangeDependencies_closure: function MemoryHeapTableState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryHeapTableState_didChangeDependencies__closure1: function MemoryHeapTableState_didChangeDependencies__closure1() {
    },
    MemoryHeapTableState_didChangeDependencies_closure0: function MemoryHeapTableState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    MemoryHeapTableState_didChangeDependencies__closure0: function MemoryHeapTableState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    MemoryHeapTableState_didChangeDependencies_closure1: function MemoryHeapTableState_didChangeDependencies_closure1(t0) {
      this.$this = t0;
    },
    MemoryHeapTableState_didChangeDependencies__closure: function MemoryHeapTableState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    MemoryHeapTableState__handleSearch_closure: function MemoryHeapTableState__handleSearch_closure() {
    },
    MemoryHeapTableState_build_closure: function MemoryHeapTableState_build_closure() {
    },
    _LibraryRefColumn: function _LibraryRefColumn(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.nodeExpandedController = t0;
      _.nodeCollapsedController = t1;
      _.title = t2;
      _.titleTooltip = t3;
      _.fixedWidthPx = t4;
      _.minWidthPx = t5;
      _.alignment = t6;
    },
    _ClassOrInstanceCountColumn: function _ClassOrInstanceCountColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _ShallowSizeColumn: function _ShallowSizeColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _HeapTreeViewState_State_AutoDisposeMixin: function _HeapTreeViewState_State_AutoDisposeMixin() {
    },
    _HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin: function _HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    _HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin: function _HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin() {
    },
    _HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin: function _HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin() {
    },
    _MemoryHeapTableState_State_AutoDisposeMixin: function _MemoryHeapTableState_State_AutoDisposeMixin() {
    },
    _MemoryHeapTableState_State_AutoDisposeMixin_ProvidedControllerMixin: function _MemoryHeapTableState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    InstructionsSize_InstructionsSize$fromSnapshot(controller) {
      var snapshotGraph, t1 = {},
        t2 = type$.String,
        rootChildren = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.TreemapNode),
        root = t1.currentParent = new A.TreemapNode("root", rootChildren, 0, false, A._setArrayType([], type$.JSArray_TreemapNode)),
        t3 = controller.heapGraph;
      t3 = t3 == null ? null : t3.rawGroupByLibrary;
      t2 = t3 == null ? A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Set_HeapGraphClassLive) : t3;
      t2.forEach$1(0, new A.InstructionsSize_InstructionsSize$fromSnapshot_closure(t1, rootChildren));
      root.byteSize = rootChildren.get$values(rootChildren).fold$2(0, 0, new A.InstructionsSize_InstructionsSize$fromSnapshot_closure0());
      snapshotGraph = B.JSArray_methods.get$last(controller.snapshots).snapshotGraph;
      rootChildren.putIfAbsent$2(0, "External Heap", new A.InstructionsSize_InstructionsSize$fromSnapshot_closure1(snapshotGraph, root));
      root.byteSize = snapshotGraph._shallowSize + snapshotGraph._externalSize;
      return new A.InstructionsSize(root);
    },
    MemoryHeapTreemap: function MemoryHeapTreemap(t0) {
      this.key = t0;
    },
    MemoryHeapTreemapState: function MemoryHeapTreemapState(t0, t1, t2) {
      var _ = this;
      _.root = _._sizes = null;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    MemoryHeapTreemapState_didChangeDependencies_closure: function MemoryHeapTreemapState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryHeapTreemapState_didChangeDependencies__closure: function MemoryHeapTreemapState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    MemoryHeapTreemapState__onRootChanged_closure: function MemoryHeapTreemapState__onRootChanged_closure(t0, t1) {
      this.$this = t0;
      this.newRoot = t1;
    },
    MemoryHeapTreemapState_build_closure: function MemoryHeapTreemapState_build_closure(t0) {
      this.$this = t0;
    },
    InstructionsSize: function InstructionsSize(t0) {
      this.root = t0;
    },
    InstructionsSize_InstructionsSize$fromSnapshot_closure: function InstructionsSize_InstructionsSize$fromSnapshot_closure(t0, t1) {
      this._box_0 = t0;
      this.rootChildren = t1;
    },
    InstructionsSize_InstructionsSize$fromSnapshot__closure: function InstructionsSize_InstructionsSize$fromSnapshot__closure(t0, t1) {
      this._box_0 = t0;
      this.pathPart = t1;
    },
    InstructionsSize_InstructionsSize$fromSnapshot_closure0: function InstructionsSize_InstructionsSize$fromSnapshot_closure0() {
    },
    InstructionsSize_InstructionsSize$fromSnapshot_closure1: function InstructionsSize_InstructionsSize$fromSnapshot_closure1(t0, t1) {
      this.snapshotGraph = t0;
      this.root = t1;
    },
    _MemoryHeapTreemapState_State_AutoDisposeMixin: function _MemoryHeapTreemapState_State_AutoDisposeMixin() {
    },
    _MemoryHeapTreemapState_State_AutoDisposeMixin_ProvidedControllerMixin: function _MemoryHeapTreemapState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    InstanceTreeView: function InstanceTreeView(t0) {
      this.key = t0;
    },
    InstanceTreeViewState: function InstanceTreeViewState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.treeColumn = t0;
      _.columns = t1;
      _.ProvidedControllerMixin__controller = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    InstanceTreeViewState_didChangeDependencies_closure: function InstanceTreeViewState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    InstanceTreeViewState_didChangeDependencies__closure: function InstanceTreeViewState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    InstanceTreeViewState_build_closure: function InstanceTreeViewState_build_closure() {
    },
    _FieldTypeColumn: function _FieldTypeColumn(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.nodeExpandedController = t0;
      _.nodeCollapsedController = t1;
      _.title = t2;
      _.titleTooltip = t3;
      _.fixedWidthPx = t4;
      _.minWidthPx = t5;
      _.alignment = t6;
    },
    _FieldNameColumn: function _FieldNameColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _FieldValueColumn: function _FieldValueColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _InstanceTreeViewState_State_AutoDisposeMixin: function _InstanceTreeViewState_State_AutoDisposeMixin() {
    },
    _InstanceTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin: function _InstanceTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    MemoryTracker: function MemoryTracker(t0, t1, t2) {
      var _ = this;
      _.memoryController = t0;
      _._memory_protocol$_pollingTimer = null;
      _.isolateHeaps = t1;
      _.processRss = 0;
      _.rasterCache = _.adbMemoryInfo = null;
      _._changeController = t2;
      _._monitorContinues = _._gcStreamListener = null;
    },
    MemoryTracker__recalculate_closure: function MemoryTracker__recalculate_closure(t0) {
      this.keysToRemove = t0;
    },
    MemoryScreen: function MemoryScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    MemoryBody: function MemoryBody(t0) {
      this.key = t0;
    },
    MemoryBodyState: function MemoryBodyState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.__MemoryBodyState__chartControllers = $;
      _._memory_screen$_focusNode = t0;
      _.ProvidedControllerMixin__controller = t1;
      _.SingleTickerProviderStateMixin__ticker = t2;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t3;
      _.AutoDisposeMixin__delegate = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    MemoryBodyState_didChangeDependencies_closure: function MemoryBodyState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryBodyState_didChangeDependencies__closure: function MemoryBodyState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _MemoryBodyState_State_AutoDisposeMixin: function _MemoryBodyState_State_AutoDisposeMixin() {
    },
    _MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin: function _MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin() {
    },
    _MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin: function _MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin() {
    },
    Reference$_internal(actualClass, controller, isAnalysis, isClass, isExternal, isExternals, isFiltered, isLibrary, isObject, isSnapshot, $name, onExpand, onLeaf) {
      return new A.Reference(controller, actualClass, $name, false, false, isAnalysis, isSnapshot, isLibrary, isExternals, isExternal, isFiltered, isClass, isObject, onExpand, onLeaf, A._setArrayType([], type$.JSArray_Reference));
    },
    AnalysisReference$($name, countNote, sizeNote) {
      var _null = null;
      return new A.AnalysisReference(countNote, sizeNote, _null, _null, $name, false, false, true, false, false, false, false, false, false, false, _null, _null, A._setArrayType([], type$.JSArray_Reference));
    },
    AnalysisInstance$(controller, $name, fieldsRoot) {
      return new A.AnalysisInstance(fieldsRoot, controller, null, $name, false, false, true, false, false, false, false, false, false, false, null, null, A._setArrayType([], type$.JSArray_Reference));
    },
    LibraryReference$(controller, libraryName, actualClasses) {
      return new A.LibraryReference(actualClasses, controller, null, libraryName, false, false, false, false, true, false, false, false, false, false, new A.LibraryReference_closure(controller), null, A._setArrayType([], type$.JSArray_Reference));
    },
    ExternalReference$(controller, $name, liveExternal) {
      return new A.ExternalReference(liveExternal, controller, null, $name, false, false, false, false, false, false, true, false, false, false, new A.ExternalReference_closure(controller), null, A._setArrayType([], type$.JSArray_Reference));
    },
    computeInstanceForClassReference(controller, reference) {
      var instances, index,
        t1 = reference.children;
      if (t1.length !== 0 && J.$eq$(B.JSArray_methods.get$first(t1), $.$get$Reference_empty())) {
        B.JSArray_methods.clear$0(t1);
        type$.ClassReference._as(reference);
        instances = reference.actualClass.getInstances$1(controller.heapGraph);
        for (index = 0; index < instances.length; ++index)
          reference.addChild$1(A.ObjectReference$(controller, index, instances[index]));
      }
    },
    ClassReference$(controller, actualClass) {
      return new A.ClassReference(controller, actualClass, actualClass.origin._snapshot_graph$_name, false, false, false, false, false, false, false, false, true, false, new A.ClassReference_closure(controller), null, A._setArrayType([], type$.JSArray_Reference));
    },
    ObjectReference$(controller, index, instance) {
      return new A.ObjectReference(instance, controller, null, "Instance " + index, false, false, false, false, false, false, false, false, false, true, null, null, A._setArrayType([], type$.JSArray_Reference));
    },
    ObjectFieldReference$(controller, instance, type, $name, isNull) {
      var t1 = new A.ObjectFieldReference(isNull, controller, instance, type, $name, null, false, true, A._setArrayType([], type$.JSArray_FieldReference));
      t1.onExpand = t1.get$_expandObjectFieldRef();
      return t1;
    },
    instanceToFieldNodes(controller, instance) {
      var t1, t2, sentinelCount, fieldIndex, _i, fieldElement, t3,
        root = A._setArrayType([], type$.JSArray_FieldReference),
        fields = instance.getFields$0();
      for (t1 = fields.length, t2 = type$.JSArray_HeapGraphElement, sentinelCount = 0, fieldIndex = 0, _i = 0; _i < fields.length; fields.length === t1 || (0, A.throwConcurrentModificationError)(fields), ++_i) {
        fieldElement = fields[_i];
        if (!J.$eq$(fieldElement.key, "__parts")) {
          if (!(fieldElement.value instanceof A.HeapGraphElementSentinel)) {
            if (instance._references == null && instance.referencesFiller != null) {
              instance._references = A._setArrayType([], t2);
              instance.referencesFiller.call$0();
            }
            t3 = !(instance._references[fieldIndex] instanceof A.HeapGraphElementSentinel);
          } else
            t3 = false;
          if (t3)
            root.push(A.fieldToFieldReference(controller, instance, fieldElement));
          else {
            ++sentinelCount;
            root.push($.$get$FieldReference_sentinel());
          }
        }
        ++fieldIndex;
      }
      if (root.length !== 0 && sentinelCount > 0) {
        if (!!root.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(root, new A.instanceToFieldNodes_closure(), true);
      }
      return root;
    },
    fieldToFieldReference(controller, instance, fieldElement) {
      var t1, actual, theClass, t2, classId, classActual, reference, t3, t4, isAMap, _i, ref, t5, t6;
      if (fieldElement.get$value(fieldElement) instanceof A.HeapGraphElementSentinel)
        return $.$get$FieldReference_sentinel();
      controller.toString;
      t1 = type$.HeapGraphElementLive;
      actual = t1._as(fieldElement.get$value(fieldElement));
      theClass = type$.nullable_HeapGraphClassLive._as(actual.theClass);
      t2 = actual.origin;
      classId = t2._classId;
      if (!controller.heapGraph.builtInClasses.containsValue$1(0, classId)) {
        classActual = type$.HeapGraphClassLive._as(t1._as(fieldElement.get$value(fieldElement)).theClass);
        if (t2.__HeapSnapshotObject__data === $)
          A.throwUnnamedLateFieldNI();
        reference = A.ObjectFieldReference$(controller, actual, classActual.origin._snapshot_graph$_name, fieldElement.get$key(fieldElement), false);
        B.JSArray_methods.forEach$1(A.List_List$filled(1, $.$get$FieldReference_empty(), false, type$.FieldReference), reference.get$addChild());
        return reference;
      } else {
        t2 = t2.__HeapSnapshotObject__data;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = J.getInterceptor$(t2);
        if (t3.get$runtimeType(t2) === B.Type_HeapSnapshotObjectLengthData_CLo) {
          t1 = theClass.origin;
          t4 = t1.__HeapSnapshotClass__libraryUri;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          if (!new A.LibraryClass(t4.toString$0(0), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedMap())) {
            t4 = t1.__HeapSnapshotClass__libraryUri;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            isAMap = new A.LibraryClass(t4.toString$0(0), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedHashMap());
          } else
            isAMap = true;
          if (!isAMap) {
            t4 = t1.__HeapSnapshotClass__libraryUri;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t1 = new A.LibraryClass(t4.toString$0(0), t1._snapshot_graph$_name).$eq(0, $.$get$predefinedList());
          } else
            t1 = true;
          if (t1)
            return A.listToFieldEntries(controller, actual, fieldElement.get$key(fieldElement), t3.get$length(t2), isAMap);
        } else {
          t2 = theClass.origin;
          t3 = t2.__HeapSnapshotClass__libraryUri;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          if (new A.LibraryClass(t3.toString$0(0), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedHashMap()))
            for (t2 = fieldElement.get$value(fieldElement).get$references(), t3 = t2.length, t4 = type$.HeapGraphClassLive, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
              ref = t2[_i];
              if (!(ref instanceof A.HeapGraphElementSentinel)) {
                t1._as(ref);
                t5 = t4._as(ref.theClass).origin;
                t6 = t5.__HeapSnapshotClass__libraryUri;
                if (t6 === $)
                  A.throwUnnamedLateFieldNI();
                if (new A.LibraryClass(t6.toString$0(0), t5._snapshot_graph$_name).$eq(0, $.$get$predefinedList())) {
                  t5 = ref.origin.__HeapSnapshotObject__data;
                  if (t5 === $)
                    A.throwUnnamedLateFieldNI();
                  t6 = J.getInterceptor$(t5);
                  if (t6.get$runtimeType(t5) === B.Type_HeapSnapshotObjectLengthData_CLo)
                    return A.listToFieldEntries(controller, ref, fieldElement.get$key(fieldElement), J.$tdiv$n(t6.get$length(t5), 2), true);
                }
              }
            }
        }
        return A.createScalar(controller, fieldElement.get$key(fieldElement), actual);
      }
    },
    createScalar(controller, fieldName, actual) {
      var t3, dataValue, dataType, originClassId, dataTypeClass,
        t1 = actual.origin,
        t2 = t1.__HeapSnapshotObject__data;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = J.getInterceptor$(t2);
      switch (t3.get$runtimeType(t2)) {
        case B.Type_HeapSnapshotObjectNoData_a9w:
          dataValue = "Object No Data";
          dataType = "";
          break;
        case B.Type_HeapSnapshotObjectNullData_Grj:
          dataValue = "";
          dataType = "Null";
          break;
        case B.Type_HeapSnapshotObjectLengthData_CLo:
          dataValue = J.toString$0$(t3.get$length(t2));
          dataType = "";
          break;
        default:
          originClassId = t1._classId;
          dataValue = t3.toString$0(t2);
          dataTypeClass = controller.heapGraph.classes[originClassId];
          if (dataTypeClass != null) {
            t1 = $.$get$predefinedClasses();
            t2 = dataTypeClass.origin;
            t3 = t2.__HeapSnapshotClass__libraryUri;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            dataType = t1.$index(0, new A.LibraryClass(t3.toString$0(0), t2._snapshot_graph$_name)).prettyName;
          } else
            dataType = "";
      }
      return new A.FieldReference(controller, actual, dataType, fieldName, dataValue, true, false, A._setArrayType([], type$.JSArray_FieldReference));
    },
    listToFieldEntries(controller, reference, fieldName, size, isHashMap) {
      var t1, t2, t3, actualListElement, isAMap, _i, reference0, t4, t5, allEntryReferences, referencesLength, realEntries, entryElementIndex, entry, hasKeyValues, listIndex, realEntryIndex, entryElement, entryClass, t6, t7, t8, predefined0, valueElement, listEntry, valueClass, predefined2, valueEntry, keyFields, keyField, key, value, t9, predefined, keyObjectRef, listIndex0,
        listObjectReference = A._Cell$named("listObjectReference");
      if (reference instanceof A.HeapGraphElementLive) {
        t1 = type$.HeapGraphClassLive;
        t2 = t1._as(reference.theClass).origin;
        t3 = t2.__HeapSnapshotClass__libraryUri;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        if (new A.LibraryClass(t3.toString$0(0), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedList())) {
          t1 = isHashMap ? "HashMap" : "List";
          t2 = A.S(size);
          listObjectReference.__late_helper$_value = A.ObjectFieldReference$(controller, reference, t1, isHashMap ? fieldName + " {" + t2 + "}" : "[" + t2 + "]", false);
          actualListElement = reference;
          isAMap = false;
        } else {
          t3 = t2.__HeapSnapshotClass__libraryUri;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          if (!new A.LibraryClass(t3.toString$0(0), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedMap())) {
            t3 = t2.__HeapSnapshotClass__libraryUri;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t2 = new A.LibraryClass(t3.toString$0(0), t2._snapshot_graph$_name).$eq(0, $.$get$predefinedHashMap());
          } else
            t2 = true;
          if (t2) {
            size.toString;
            listObjectReference.__late_helper$_value = A.ObjectFieldReference$(controller, reference, "Map", fieldName + " { " + B.JSInt_methods._tdivFast$1(size, 2) + " }", false);
            t2 = reference.get$references();
            t3 = t2.length;
            _i = 0;
            while (true) {
              if (!(_i < t2.length)) {
                actualListElement = reference;
                isAMap = false;
                break;
              }
              reference0 = t2[_i];
              if (reference0 instanceof A.HeapGraphElementLive) {
                t4 = t1._as(reference0.theClass).origin;
                t5 = t4.__HeapSnapshotClass__libraryUri;
                if (t5 === $)
                  A.throwUnnamedLateFieldNI();
                if (new A.LibraryClass(t5.toString$0(0), t4._snapshot_graph$_name).$eq(0, $.$get$predefinedList())) {
                  actualListElement = reference0;
                  isAMap = true;
                  break;
                }
              }
              t2.length === t3 || (0, A.throwConcurrentModificationError)(t2);
              ++_i;
            }
          } else {
            isAMap = false;
            actualListElement = null;
          }
        }
      } else {
        isAMap = false;
        actualListElement = null;
      }
      allEntryReferences = actualListElement.get$references();
      referencesLength = allEntryReferences.length;
      t1 = type$.JSArray_HeapGraphElement;
      realEntries = A._setArrayType([], t1);
      for (t2 = type$.HeapGraphClassLive, entryElementIndex = 0; entryElementIndex < referencesLength; ++entryElementIndex) {
        entry = allEntryReferences[entryElementIndex];
        if (entry instanceof A.HeapGraphElementLive) {
          t3 = t2._as(entry.theClass).origin;
          t4 = t3.__HeapSnapshotClass__libraryUri;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          if (!new A.LibraryClass(t4.toString$0(0), t3._snapshot_graph$_name).$eq(0, $.$get$predefinedNull()))
            realEntries.push(entry);
        }
      }
      hasKeyValues = isAMap && realEntries.length === size;
      for (t3 = !isAMap, t4 = type$.HeapGraphElementLive, t5 = listObjectReference.__late_helper$_name, listIndex = 0, realEntryIndex = 0; realEntryIndex < realEntries.length; ++realEntryIndex) {
        entryElement = realEntries[realEntryIndex];
        entryClass = entryElement.theClass;
        if (entryClass instanceof A.HeapGraphClassLive) {
          t6 = entryClass.origin;
          t7 = t6.__HeapSnapshotClass__libraryUri;
          if (t7 === $)
            A.throwUnnamedLateFieldNI();
          t6 = !new A.LibraryClass(t7.toString$0(0), t6._snapshot_graph$_name).$eq(0, $.$get$predefinedNull());
        } else
          t6 = false;
        if (t6) {
          t6 = $.$get$predefinedClasses();
          t7 = entryClass.origin;
          t8 = t7.__HeapSnapshotClass__libraryUri;
          if (t8 === $)
            A.throwUnnamedLateFieldNI();
          predefined0 = t6.$index(0, new A.LibraryClass(t8.toString$0(0), t7._snapshot_graph$_name));
          if (predefined0 != null && predefined0.isScalar)
            if (isAMap)
              if (hasKeyValues) {
                ++realEntryIndex;
                valueElement = realEntries[realEntryIndex];
                t6 = $.$get$predefinedClasses();
                t8 = t7.__HeapSnapshotClass__libraryUri;
                if (t8 === $)
                  A.throwUnnamedLateFieldNI();
                t7 = t6.$index(0, new A.LibraryClass(t8.toString$0(0), t7._snapshot_graph$_name)).prettyName;
                t8 = entryElement.origin.__HeapSnapshotObject__data;
                if (t8 === $)
                  A.throwUnnamedLateFieldNI();
                listEntry = A.ObjectFieldReference$(controller, entryElement, t7, "key '" + A.S(t8) + "'", false);
                valueClass = t2._as(valueElement.theClass);
                t8 = $.$get$predefinedClasses();
                t7 = valueClass.origin;
                t6 = t7.__HeapSnapshotClass__libraryUri;
                if (t6 === $)
                  A.throwUnnamedLateFieldNI();
                predefined2 = t8.$index(0, new A.LibraryClass(t6.toString$0(0), t7._snapshot_graph$_name));
                if (predefined2 != null && predefined2.isScalar)
                  valueEntry = A.createScalar(controller, "value", valueElement);
                else {
                  valueEntry = A.ObjectFieldReference$(controller, valueElement, t7._snapshot_graph$_name, "value", false);
                  valueEntry.addChild$1($.$get$FieldReference_empty());
                }
                listEntry.addChild$1(valueEntry);
              } else
                listEntry = A.createScalar(controller, "value " + listIndex, entryElement);
            else
              listEntry = A.createScalar(controller, fieldName, entryElement);
          else {
            listEntry = A.ObjectFieldReference$(controller, entryElement, t7._snapshot_graph$_name, "[" + listIndex + "]", false);
            if (entryElement._references == null && entryElement.referencesFiller != null) {
              entryElement._references = A._setArrayType([], t1);
              entryElement.referencesFiller.call$0();
            }
            if (entryElement._references.length !== 0)
              if (isAMap) {
                keyFields = entryElement.getFields$0();
                for (t6 = keyFields.length, _i = 0; _i < keyFields.length; keyFields.length === t6 || (0, A.throwConcurrentModificationError)(keyFields), ++_i) {
                  keyField = keyFields[_i];
                  key = keyField.key;
                  value = keyField.value;
                  if (!value.get$isSentinel()) {
                    t7 = t4._as(value).origin.__HeapSnapshotObject__data;
                    if (t7 === $)
                      A.throwUnnamedLateFieldNI();
                    t7 = J.get$runtimeType$(t7) !== B.Type_HeapSnapshotObjectNullData_Grj;
                  } else
                    t7 = false;
                  if (t7) {
                    t7 = t2._as(value.theClass).origin;
                    t8 = t7.__HeapSnapshotClass__libraryUri;
                    if (t8 === $)
                      A.throwUnnamedLateFieldNI();
                    t8 = t8.toString$0(0);
                    t9 = t7._snapshot_graph$_name;
                    predefined = $.$get$predefinedClasses().$index(0, new A.LibraryClass(t8, t9));
                    if (predefined != null && predefined.isScalar)
                      listEntry.addChild$1(A.createScalar(controller, key, value));
                    else {
                      keyObjectRef = A.ObjectFieldReference$(controller, value, t7._snapshot_graph$_name, key, false);
                      keyObjectRef.addChild$1($.$get$FieldReference_empty());
                      listEntry.addChild$1(keyObjectRef);
                    }
                  }
                }
              }
          }
          if (t3)
            listEntry.addChild$1($.$get$FieldReference_empty());
          t6 = listObjectReference.__late_helper$_value;
          if (t6 === listObjectReference)
            A.throwExpression(A.LateError$localNI(t5));
          t6.addChild$1(listEntry);
          listIndex0 = listIndex + 1;
          if (listIndex > 100)
            break;
          listIndex = listIndex0;
        }
      }
      return listObjectReference._readLocal$0();
    },
    Reference: function Reference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.controller = t0;
      _.actualClass = t1;
      _.name = t2;
      _.isAllocations = t3;
      _.isAllocation = t4;
      _.isAnalysis = t5;
      _.isSnapshot = t6;
      _.isLibrary = t7;
      _.isExternals = t8;
      _.isExternal = t9;
      _.isFiltered = t10;
      _.isClass = t11;
      _.isObject = t12;
      _.count = null;
      _.onExpand = t13;
      _.onLeaf = t14;
      _.parent = null;
      _.children = t15;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    AnalysesReference: function AnalysesReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.controller = t0;
      _.actualClass = t1;
      _.name = t2;
      _.isAllocations = t3;
      _.isAllocation = t4;
      _.isAnalysis = t5;
      _.isSnapshot = t6;
      _.isLibrary = t7;
      _.isExternals = t8;
      _.isExternal = t9;
      _.isFiltered = t10;
      _.isClass = t11;
      _.isObject = t12;
      _.count = null;
      _.onExpand = t13;
      _.onLeaf = t14;
      _.parent = null;
      _.children = t15;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    AnalysisSnapshotReference: function AnalysisSnapshotReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.dateTime = t0;
      _.controller = t1;
      _.actualClass = t2;
      _.name = t3;
      _.isAllocations = t4;
      _.isAllocation = t5;
      _.isAnalysis = t6;
      _.isSnapshot = t7;
      _.isLibrary = t8;
      _.isExternals = t9;
      _.isExternal = t10;
      _.isFiltered = t11;
      _.isClass = t12;
      _.isObject = t13;
      _.count = null;
      _.onExpand = t14;
      _.onLeaf = t15;
      _.parent = null;
      _.children = t16;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    AnalysisReference: function AnalysisReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _.countNote = t0;
      _.sizeNote = t1;
      _.controller = t2;
      _.actualClass = t3;
      _.name = t4;
      _.isAllocations = t5;
      _.isAllocation = t6;
      _.isAnalysis = t7;
      _.isSnapshot = t8;
      _.isLibrary = t9;
      _.isExternals = t10;
      _.isExternal = t11;
      _.isFiltered = t12;
      _.isClass = t13;
      _.isObject = t14;
      _.count = null;
      _.onExpand = t15;
      _.onLeaf = t16;
      _.parent = null;
      _.children = t17;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    AnalysisInstance: function AnalysisInstance(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.fieldsRoot = t0;
      _.controller = t1;
      _.actualClass = t2;
      _.name = t3;
      _.isAllocations = t4;
      _.isAllocation = t5;
      _.isAnalysis = t6;
      _.isSnapshot = t7;
      _.isLibrary = t8;
      _.isExternals = t9;
      _.isExternal = t10;
      _.isFiltered = t11;
      _.isClass = t12;
      _.isObject = t13;
      _.count = null;
      _.onExpand = t14;
      _.onLeaf = t15;
      _.parent = null;
      _.children = t16;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    AnalysisField: function AnalysisField(t0, t1, t2) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.parent = null;
      _.children = t2;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    SnapshotReference: function SnapshotReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.snapshot = t0;
      _.controller = t1;
      _.actualClass = t2;
      _.name = t3;
      _.isAllocations = t4;
      _.isAllocation = t5;
      _.isAnalysis = t6;
      _.isSnapshot = t7;
      _.isLibrary = t8;
      _.isExternals = t9;
      _.isExternal = t10;
      _.isFiltered = t11;
      _.isClass = t12;
      _.isObject = t13;
      _.count = null;
      _.onExpand = t14;
      _.onLeaf = t15;
      _.parent = null;
      _.children = t16;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    LibraryReference: function LibraryReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.actualClasses = t0;
      _.controller = t1;
      _.actualClass = t2;
      _.name = t3;
      _.isAllocations = t4;
      _.isAllocation = t5;
      _.isAnalysis = t6;
      _.isSnapshot = t7;
      _.isLibrary = t8;
      _.isExternals = t9;
      _.isExternal = t10;
      _.isFiltered = t11;
      _.isClass = t12;
      _.isObject = t13;
      _.count = null;
      _.onExpand = t14;
      _.onLeaf = t15;
      _.parent = null;
      _.children = t16;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    LibraryReference_closure: function LibraryReference_closure(t0) {
      this.controller = t0;
    },
    ExternalReferences: function ExternalReferences(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.controller = t0;
      _.actualClass = t1;
      _.name = t2;
      _.isAllocations = t3;
      _.isAllocation = t4;
      _.isAnalysis = t5;
      _.isSnapshot = t6;
      _.isLibrary = t7;
      _.isExternals = t8;
      _.isExternal = t9;
      _.isFiltered = t10;
      _.isClass = t11;
      _.isObject = t12;
      _.count = null;
      _.onExpand = t13;
      _.onLeaf = t14;
      _.parent = null;
      _.children = t15;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ExternalReference: function ExternalReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.liveExternal = t0;
      _.sumExternalSizes = 0;
      _.controller = t1;
      _.actualClass = t2;
      _.name = t3;
      _.isAllocations = t4;
      _.isAllocation = t5;
      _.isAnalysis = t6;
      _.isSnapshot = t7;
      _.isLibrary = t8;
      _.isExternals = t9;
      _.isExternal = t10;
      _.isFiltered = t11;
      _.isClass = t12;
      _.isObject = t13;
      _.count = null;
      _.onExpand = t14;
      _.onLeaf = t15;
      _.parent = null;
      _.children = t16;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ExternalReference_closure: function ExternalReference_closure(t0) {
      this.controller = t0;
    },
    FilteredReference: function FilteredReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.controller = t0;
      _.actualClass = t1;
      _.name = t2;
      _.isAllocations = t3;
      _.isAllocation = t4;
      _.isAnalysis = t5;
      _.isSnapshot = t6;
      _.isLibrary = t7;
      _.isExternals = t8;
      _.isExternal = t9;
      _.isFiltered = t10;
      _.isClass = t11;
      _.isObject = t12;
      _.count = null;
      _.onExpand = t13;
      _.onLeaf = t14;
      _.parent = null;
      _.children = t15;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ClassReference: function ClassReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.controller = t0;
      _.actualClass = t1;
      _.name = t2;
      _.isAllocations = t3;
      _.isAllocation = t4;
      _.isAnalysis = t5;
      _.isSnapshot = t6;
      _.isLibrary = t7;
      _.isExternals = t8;
      _.isExternal = t9;
      _.isFiltered = t10;
      _.isClass = t11;
      _.isObject = t12;
      _.count = null;
      _.onExpand = t13;
      _.onLeaf = t14;
      _.parent = null;
      _.children = t15;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ClassReference_closure: function ClassReference_closure(t0) {
      this.controller = t0;
    },
    ObjectReference: function ObjectReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.instance = t0;
      _.controller = t1;
      _.actualClass = t2;
      _.name = t3;
      _.isAllocations = t4;
      _.isAllocation = t5;
      _.isAnalysis = t6;
      _.isSnapshot = t7;
      _.isLibrary = t8;
      _.isExternals = t9;
      _.isExternal = t10;
      _.isFiltered = t11;
      _.isClass = t12;
      _.isObject = t13;
      _.count = null;
      _.onExpand = t14;
      _.onLeaf = t15;
      _.parent = null;
      _.children = t16;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ExternalObjectReference: function ExternalObjectReference(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _.externalSize = t0;
      _.instance = t1;
      _.controller = t2;
      _.actualClass = t3;
      _.name = t4;
      _.isAllocations = t5;
      _.isAllocation = t6;
      _.isAnalysis = t7;
      _.isSnapshot = t8;
      _.isLibrary = t9;
      _.isExternals = t10;
      _.isExternal = t11;
      _.isFiltered = t12;
      _.isClass = t13;
      _.isObject = t14;
      _.count = null;
      _.onExpand = t15;
      _.onLeaf = t16;
      _.parent = null;
      _.children = t17;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    Snapshot: function Snapshot(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.autoSnapshot = t0;
      _.controller = t1;
      _.collectedTimestamp = t2;
      _.snapshotGraph = t3;
      _.libraryRoot = t4;
      _.libraries = t5;
    },
    Snapshot_librariesToList_closure: function Snapshot_librariesToList_closure() {
    },
    FieldReference: function FieldReference(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.controller = t0;
      _.instance = t1;
      _.type = t2;
      _.name = t3;
      _.value = t4;
      _.isScaler = t5;
      _.isObject = t6;
      _.parent = _.onExpand = null;
      _.children = t7;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ObjectFieldReference: function ObjectFieldReference(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.isNull = t0;
      _.controller = t1;
      _.instance = t2;
      _.type = t3;
      _.name = t4;
      _.value = t5;
      _.isScaler = t6;
      _.isObject = t7;
      _.parent = _.onExpand = null;
      _.children = t8;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    ObjectFieldReference__expandObjectFieldRef_closure: function ObjectFieldReference__expandObjectFieldRef_closure(t0) {
      this.ref = t0;
    },
    instanceToFieldNodes_closure: function instanceToFieldNodes_closure() {
    },
    Tracker: function Tracker() {
    },
    TrackerClass: function TrackerClass(t0, t1) {
      var _ = this;
      _.name = t0;
      _.parent = null;
      _.children = t1;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    TrackerAllocation: function TrackerAllocation(t0, t1, t2, t3) {
      var _ = this;
      _.timestamp = t0;
      _.stacktrace = t1;
      _.name = t2;
      _.parent = null;
      _.children = t3;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    _TrackerClassColumn: function _TrackerClassColumn(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.nodeExpandedController = t0;
      _.nodeCollapsedController = t1;
      _.title = t2;
      _.titleTooltip = t3;
      _.fixedWidthPx = t4;
      _.minWidthPx = t5;
      _.alignment = t6;
    },
    _TrackerCountColumn: function _TrackerCountColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    TreeTracker: function TreeTracker(t0, t1) {
      this.tree1 = null;
      this.treeColumn = t0;
      this.selectionNotifier = t1;
    },
    TreeTracker_createTrackerTree_closure: function TreeTracker_createTrackerTree_closure(t0) {
      this.trackedClassId = t0;
    },
    TreeTracker_displaySelectedStackTrace_closure: function TreeTracker_displaySelectedStackTrace_closure(t0, t1, t2) {
      this.stackTrace = t0;
      this.colorScheme = t1;
      this.sources = t2;
    },
    TreeTracker_displaySelectedStackTrace_closure0: function TreeTracker_displaySelectedStackTrace_closure0() {
    },
    TreeTracker_createTrackingTable_closure: function TreeTracker_createTrackingTable_closure() {
    },
    MemoryChartPane: function MemoryChartPane(t0, t1, t2) {
      this.chartControllers = t0;
      this.keyFocusNode = t1;
      this.key = t2;
    },
    _MemoryChartPaneState: function _MemoryChartPaneState(t0, t1, t2, t3, t4) {
      var _ = this;
      _._hoverOverlayEntry = null;
      _.ProvidedControllerMixin__controller = t0;
      _.SingleTickerProviderStateMixin__ticker = t1;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    _MemoryChartPaneState_didChangeDependencies_closure: function _MemoryChartPaneState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState_didChangeDependencies_closure0: function _MemoryChartPaneState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState_didChangeDependencies_closure1: function _MemoryChartPaneState_didChangeDependencies_closure1(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState_didChangeDependencies_closure2: function _MemoryChartPaneState_didChangeDependencies_closure2(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState_didChangeDependencies__closure: function _MemoryChartPaneState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState_didChangeDependencies_closure3: function _MemoryChartPaneState_didChangeDependencies_closure3(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState_build_closure: function _MemoryChartPaneState_build_closure(t0) {
      this.$this = t0;
    },
    _MemoryChartPaneState__showHover_closure: function _MemoryChartPaneState__showHover_closure(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.position = t2;
      _.colorScheme = t3;
      _.focusColor = t4;
      _.displayTimestamp = t5;
      _.hoverHeading = t6;
      _.chartsValues = t7;
    },
    _MemoryChartPaneState__hoverRow_hoverPartImageLine: function _MemoryChartPaneState__hoverRow_hoverPartImageLine(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.hasNumeric = t0;
      _.hasUnit = t1;
      _.scaleImage = t2;
      _.bold = t3;
      _.hoverTitleEntry = t4;
      _.hoverSmallEntry = t5;
      _.hoverValueEntry = t6;
    },
    __MemoryChartPaneState_State_AutoDisposeMixin: function __MemoryChartPaneState_State_AutoDisposeMixin() {
    },
    __MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin: function __MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin() {
    },
    __MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin: function __MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin() {
    },
    AndroidChartController: function AndroidChartController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._memoryController = t0;
      _.name = t1;
      _.size = null;
      _.topPadding = 0;
      _.bottomPadding = 40;
      _._tickWidth = 10;
      _.__ChartController_visibleXAxisTicks = $;
      _._xAxisLabeledTimestamps = t2;
      _.displayTopLine = t3;
      _.displayXAxis = t4;
      _.displayXLabels = t5;
      _.displayYLabels = t6;
      _.xCanvasChart = 0;
      _.__ChartController_xPaddingRight = _.__ChartController_canvasChartWidth = $;
      _.canvasChartHeight = _.yCanvasChart = 0;
      _.dirty = false;
      _._timestamps = t7;
      _.traces = t8;
      _._traceNotifier = t9;
      _._yMaxValue = 0;
      _.yScale = t10;
      _._fixedMaxY = _._fixedMinY = null;
      _._title = "";
      _.tapLocation = t11;
      _._zoomDuration = t12;
      _.labelInterval = 20;
      _.labelTimestamps = t13;
      _._labelsShared = false;
      _.AutoDisposeControllerMixin__delegate = t14;
    },
    MemoryAndroidChart: function MemoryAndroidChart(t0, t1) {
      this.chartController = t0;
      this.key = t1;
    },
    MemoryAndroidChartState: function MemoryAndroidChartState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.graphicColor = t0;
      _.totalColor = t1;
      _.ProvidedControllerMixin__controller = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    MemoryAndroidChartState_didChangeDependencies_closure: function MemoryAndroidChartState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _MemoryAndroidChartState_State_AutoDisposeMixin: function _MemoryAndroidChartState_State_AutoDisposeMixin() {
    },
    _MemoryAndroidChartState_State_AutoDisposeMixin_ProvidedControllerMixin: function _MemoryAndroidChartState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    traceRender(color, dashed, image) {
      var result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
      if (image != null)
        result.$indexSet(0, "image", image);
      else {
        result.$indexSet(0, "color", color);
        result.$indexSet(0, "dashed", dashed);
      }
      return result;
    },
    ChartsValues$(controller, index, timestamp) {
      var heapSample, androidData,
        t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.bool),
        t3 = type$.Object,
        t4 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t3);
      t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t3);
      t1 = new A.ChartsValues(controller, index, timestamp, t2, A._setArrayType([], type$.JSArray_Map_String_bool), t4, t3);
      t2.clear$0(0);
      t4.clear$0(0);
      t3.clear$0(0);
      t1._getEventData$1(t2);
      t2 = controller.__MemoryController_memoryTimeline;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      heapSample = (t2.offline._change_notifier$_value ? t2.offlineData : t2.liveData)[index];
      t4.$indexSet(0, "rss", heapSample.rss);
      t4.$indexSet(0, "capacity", heapSample.capacity);
      t4.$indexSet(0, "used", heapSample.used);
      t4.$indexSet(0, "external", heapSample.external);
      t4.$indexSet(0, "gc", heapSample.isGC);
      t2 = heapSample.rasterCache;
      t4.$indexSet(0, "rasterLayer", t2.pictureBytes);
      t4.$indexSet(0, "rasterPicture", t2.layerBytes);
      t2 = controller.__MemoryController_memoryTimeline;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      androidData = (t2.offline._change_notifier$_value ? t2.offlineData : t2.liveData)[index].adbMemoryInfo;
      t3.$indexSet(0, "total", androidData.total);
      t3.$indexSet(0, "other", androidData.other);
      t3.$indexSet(0, "code", androidData.code);
      t3.$indexSet(0, "nativeHeap", androidData.nativeHeap);
      t3.$indexSet(0, "javaHeap", androidData.javaHeap);
      t3.$indexSet(0, "stack", androidData.stack);
      t3.$indexSet(0, "graphics", androidData.graphics);
      return t1;
    },
    ChartsValues: function ChartsValues(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.controller = t0;
      _.index = t1;
      _.timestamp = t2;
      _._memory_charts$_event = t3;
      _._memory_charts$_extensionEvents = t4;
      _._vm = t5;
      _._android = t6;
    },
    EventChartController: function EventChartController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._memory_events_pane$_memoryController = t0;
      _.name = t1;
      _.size = null;
      _.topPadding = 0;
      _.bottomPadding = 40;
      _._tickWidth = 10;
      _.__ChartController_visibleXAxisTicks = $;
      _._xAxisLabeledTimestamps = t2;
      _.displayTopLine = t3;
      _.displayXAxis = t4;
      _.displayXLabels = t5;
      _.displayYLabels = t6;
      _.xCanvasChart = 0;
      _.__ChartController_xPaddingRight = _.__ChartController_canvasChartWidth = $;
      _.canvasChartHeight = _.yCanvasChart = 0;
      _.dirty = false;
      _._timestamps = t7;
      _.traces = t8;
      _._traceNotifier = t9;
      _._yMaxValue = 0;
      _.yScale = t10;
      _._fixedMaxY = _._fixedMinY = null;
      _._title = "";
      _.tapLocation = t11;
      _._zoomDuration = t12;
      _.labelInterval = 20;
      _.labelTimestamps = t13;
      _._labelsShared = false;
      _.AutoDisposeControllerMixin__delegate = t14;
    },
    MemoryEventsPane: function MemoryEventsPane(t0, t1) {
      this.chartController = t0;
      this.key = t1;
    },
    MemoryEventsPaneState: function MemoryEventsPaneState(t0, t1, t2) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    MemoryEventsPaneState_didChangeDependencies_closure: function MemoryEventsPaneState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryEventsPaneState_didChangeDependencies__closure0: function MemoryEventsPaneState_didChangeDependencies__closure0(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    MemoryEventsPaneState_didChangeDependencies_closure0: function MemoryEventsPaneState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    MemoryEventsPaneState_didChangeDependencies__closure: function MemoryEventsPaneState_didChangeDependencies__closure() {
    },
    _MemoryEventsPaneState_State_AutoDisposeMixin: function _MemoryEventsPaneState_State_AutoDisposeMixin() {
    },
    _MemoryEventsPaneState_State_AutoDisposeMixin_ProvidedControllerMixin: function _MemoryEventsPaneState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    VMChartController: function VMChartController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._memory_vm_chart$_memoryController = t0;
      _.name = t1;
      _.size = null;
      _.topPadding = 0;
      _.bottomPadding = 40;
      _._tickWidth = 10;
      _.__ChartController_visibleXAxisTicks = $;
      _._xAxisLabeledTimestamps = t2;
      _.displayTopLine = t3;
      _.displayXAxis = t4;
      _.displayXLabels = t5;
      _.displayYLabels = t6;
      _.xCanvasChart = 0;
      _.__ChartController_xPaddingRight = _.__ChartController_canvasChartWidth = $;
      _.canvasChartHeight = _.yCanvasChart = 0;
      _.dirty = false;
      _._timestamps = t7;
      _.traces = t8;
      _._traceNotifier = t9;
      _._yMaxValue = 0;
      _.yScale = t10;
      _._fixedMaxY = _._fixedMinY = null;
      _._title = "";
      _.tapLocation = t11;
      _._zoomDuration = t12;
      _.labelInterval = 20;
      _.labelTimestamps = t13;
      _._labelsShared = false;
      _.AutoDisposeControllerMixin__delegate = t14;
    },
    MemoryVMChart: function MemoryVMChart(t0, t1) {
      this.chartController = t0;
      this.key = t1;
    },
    MemoryVMChartState: function MemoryVMChartState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.rasterLayerColor = t0;
      _.rssColor = t1;
      _.ProvidedControllerMixin__controller = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    MemoryVMChartState_didChangeDependencies_closure: function MemoryVMChartState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    MemoryVMChartState_didChangeDependencies__closure: function MemoryVMChartState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _MemoryVMChartState_State_AutoDisposeMixin: function _MemoryVMChartState_State_AutoDisposeMixin() {
    },
    _MemoryVMChartState_State_AutoDisposeMixin_ProvidedControllerMixin: function _MemoryVMChartState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    ToggleAdbMemoryButton: function ToggleAdbMemoryButton(t0, t1) {
      this.isAndroidCollection = t0;
      this.key = t1;
    },
    _ToggleAdbMemoryButtonState: function _ToggleAdbMemoryButtonState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    __ToggleAdbMemoryButtonState_State_ProvidedControllerMixin: function __ToggleAdbMemoryButtonState_State_ProvidedControllerMixin() {
    },
    MemoryControlPane: function MemoryControlPane(t0, t1) {
      this.chartControllers = t0;
      this.key = t1;
    },
    _MemoryControlPaneState: function _MemoryControlPaneState(t0, t1, t2) {
      var _ = this;
      _._isAndroidCollection = true;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _MemoryControlPaneState_didChangeDependencies_closure: function _MemoryControlPaneState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _MemoryControlPaneState_didChangeDependencies__closure: function _MemoryControlPaneState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    __MemoryControlPaneState_State_AutoDisposeMixin: function __MemoryControlPaneState_State_AutoDisposeMixin() {
    },
    __MemoryControlPaneState_State_AutoDisposeMixin_ProvidedControllerMixin: function __MemoryControlPaneState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    IntervalDropdown: function IntervalDropdown(t0, t1) {
      this.chartControllers = t0;
      this.key = t1;
    },
    _IntervalDropdownState: function _IntervalDropdownState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _IntervalDropdownState_build_closure: function _IntervalDropdownState_build_closure(t0, t1) {
      this.displayOneMinute = t0;
      this.isVerboseDropdown = t1;
    },
    _IntervalDropdownState_build_closure0: function _IntervalDropdownState_build_closure0(t0) {
      this.$this = t0;
    },
    _IntervalDropdownState_build__closure: function _IntervalDropdownState_build__closure(t0, t1) {
      this.$this = t0;
      this.newValue = t1;
    },
    __IntervalDropdownState_State_ProvidedControllerMixin: function __IntervalDropdownState_State_ProvidedControllerMixin() {
    },
    LegendRow: function LegendRow(t0, t1, t2) {
      this.entry1 = t0;
      this.entry2 = t1;
      this.key = t2;
    },
    LegendRow_build_legendPart: function LegendRow_build_legendPart(t0) {
      this.legendEntry = t0;
    },
    LegendRow_build_legendSymbol: function LegendRow_build_legendSymbol() {
    },
    PrimaryControls: function PrimaryControls(t0, t1) {
      this.chartControllers = t0;
      this.key = t1;
    },
    _PrimaryControlsState: function _PrimaryControlsState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _PrimaryControlsState_build_closure: function _PrimaryControlsState_build_closure(t0) {
      this.$this = t0;
    },
    __PrimaryControlsState_State_ProvidedControllerMixin: function __PrimaryControlsState_State_ProvidedControllerMixin() {
    },
    SecondaryControls: function SecondaryControls(t0, t1, t2) {
      this.isAndroidCollection = t0;
      this.chartControllers = t1;
      this.key = t2;
    },
    _SecondaryControlsState: function _SecondaryControlsState(t0, t1, t2) {
      var _ = this;
      _._legendOverlayEntry = null;
      _.AutoDisposeMixin__delegate = t0;
      _.ProvidedControllerMixin__controller = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _SecondaryControlsState_didChangeDependencies_closure: function _SecondaryControlsState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _SecondaryControlsState_didChangeDependencies__closure0: function _SecondaryControlsState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    _SecondaryControlsState_didChangeDependencies_closure0: function _SecondaryControlsState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    _SecondaryControlsState_didChangeDependencies__closure: function _SecondaryControlsState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _SecondaryControlsState__showLegend_closure: function _SecondaryControlsState__showLegend_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.position = t1;
      _.box = t2;
      _.colorScheme = t3;
      _.legendRows = t4;
    },
    _SecondaryControlsState_build_closure: function _SecondaryControlsState_build_closure(t0) {
      this.$this = t0;
    },
    _SecondaryControlsState__openSettingsDialog_closure: function _SecondaryControlsState__openSettingsDialog_closure(t0) {
      this.$this = t0;
    },
    __SecondaryControlsState_State_ProvidedControllerMixin: function __SecondaryControlsState_State_ProvidedControllerMixin() {
    },
    __SecondaryControlsState_State_ProvidedControllerMixin_AutoDisposeMixin: function __SecondaryControlsState_State_ProvidedControllerMixin_AutoDisposeMixin() {
    },
    MemorySettingsDialog: function MemorySettingsDialog(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    SourceDropdownMenuItem: function SourceDropdownMenuItem(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.child = t1;
      _.alignment = t2;
      _.key = t3;
      _.$ti = t4;
    },
    MemorySourceDropdown: function MemorySourceDropdown(t0) {
      this.key = t0;
    },
    _MemorySourceDropdownState: function _MemorySourceDropdownState(t0, t1) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _MemorySourceDropdownState_build_closure: function _MemorySourceDropdownState_build_closure(t0, t1) {
      this.$this = t0;
      this.isVerbose = t1;
    },
    _MemorySourceDropdownState_build_closure0: function _MemorySourceDropdownState_build_closure0(t0) {
      this.$this = t0;
    },
    _MemorySourceDropdownState_build__closure: function _MemorySourceDropdownState_build__closure(t0, t1) {
      this.$this = t0;
      this.newValue = t1;
    },
    __MemorySourceDropdownState_State_ProvidedControllerMixin: function __MemorySourceDropdownState_State_ProvidedControllerMixin() {
    },
    LeaksPane: function LeaksPane(t0) {
      this.key = t0;
    },
    _LeaksPaneState: function _LeaksPaneState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    FilterConfig: function FilterConfig(t0, t1, t2, t3) {
      var _ = this;
      _.filterPrivateClasses = t0;
      _.filterZeroInstances = t1;
      _.filterLibraryNoInstances = t2;
      _.libraryFilters = t3;
    },
    FilteredLibraries: function FilteredLibraries(t0) {
      this._filteredLibraries = t0;
    },
    ContinuesState: function ContinuesState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MemoryTimeline: function MemoryTimeline(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.offline = t0;
      _.liveData = t1;
      _.offlineData = t2;
      _._eventFiredNotifier = t3;
      _._sampleAddedNotifier = t4;
      _._eventSamples = t5;
      _.monitorContinuesState = t6;
      _._sampleEventNotifier = t7;
      _._pausedNotifier = t8;
      _._markerHiddenNotifier = t9;
      _._extensionEvents = t10;
    },
    createDashWidget(color) {
      var _null = null,
        t1 = A.DashedLine$(15, color, 2, 4, 3);
      return A.Container$(_null, A.CustomPaint$(_null, A.DashedLine$(15, color, 2, 4, 3), _null, t1, B.Size_0_0), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_0_20_0, _null, _null, _null);
    },
    DashedLine$(_totalWidth, color, _dashHeight, _dashWidth, _dashSpace) {
      var t1 = new A.DashedLine(_dashHeight, _dashWidth, _dashSpace, _totalWidth, null);
      t1.__DashedLine__color = color;
      return t1;
    },
    DashedLine: function DashedLine(t0, t1, t2, t3, t4) {
      var _ = this;
      _._dashHeight = t0;
      _._dashWidth = t1;
      _._dashSpace = t2;
      _._totalWidth = t3;
      _.__DashedLine__color = $;
      _._repaint = t4;
    },
    LibraryClass$(libraryName, className) {
      return new A.LibraryClass(libraryName, className);
    },
    LibraryClass: function LibraryClass(t0, t1) {
      this.libraryName = t0;
      this.className = t1;
    },
    Predefined: function Predefined(t0, t1) {
      this.prettyName = t0;
      this.isScalar = t1;
    },
    NetworkController: function NetworkController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.filterArgs = t0;
      _._requests = t1;
      _._selectedRequest = t2;
      _._recordingNotifier = t3;
      _.__NetworkController__timelineMicrosOffset = _.__NetworkController__networkService = $;
      _.lastRefreshMicros = 0;
      _._pollingTimer = null;
      _.FilterControllerMixin_filteredData = t4;
      _.FilterControllerMixin_activeFilter = t5;
      _.SearchControllerMixin__searchNotifier = t6;
      _.SearchControllerMixin__searchInProgress = t7;
      _.SearchControllerMixin_xPosition = t8;
      _.SearchControllerMixin__searchOperation = t9;
      _.SearchControllerMixin__searchDebounce = t10;
      _.SearchControllerMixin__searchMatches = t11;
      _.SearchControllerMixin__activeSearchMatch = t12;
      _.SearchControllerMixin_matchIndex = t13;
    },
    NetworkController__processHttpProfileRequests_closure: function NetworkController__processHttpProfileRequests_closure(t0) {
      this.$this = t0;
    },
    NetworkController__processHttpProfileRequests_closure0: function NetworkController__processHttpProfileRequests_closure0(t0) {
      this.wrapped = t0;
    },
    NetworkController__processHttpProfileRequests_closure1: function NetworkController__processHttpProfileRequests_closure1(t0) {
      this.$this = t0;
    },
    NetworkController_processNetworkTrafficHelper_closure: function NetworkController_processNetworkTrafficHelper_closure() {
    },
    NetworkController__updatePollingState_closure: function NetworkController__updatePollingState_closure(t0) {
      this.$this = t0;
    },
    NetworkController_recordingHttpTraffic_closure: function NetworkController_recordingHttpTraffic_closure(t0, t1) {
      this._box_0 = t0;
      this.service = t1;
    },
    NetworkController_filterData_closure: function NetworkController_filterData_closure(t0, t1) {
      this.$this = t0;
      this.queryFilter = t1;
    },
    NetworkController_filterData_closure_matches: function NetworkController_filterData_closure_matches(t0, t1, t2) {
      this.$this = t0;
      this.caseInsensitiveSubstring = t1;
      this.r = t2;
    },
    _NetworkController_Object_SearchControllerMixin: function _NetworkController_Object_SearchControllerMixin() {
    },
    _NetworkController_Object_SearchControllerMixin_FilterControllerMixin: function _NetworkController_Object_SearchControllerMixin_FilterControllerMixin() {
    },
    NetworkRequest: function NetworkRequest() {
    },
    WebSocket: function WebSocket(t0, t1, t2, t3) {
      var _ = this;
      _._socket = t0;
      _._timelineMicrosBase = t1;
      _.DataSearchStateMixin_isSearchMatch = t2;
      _.DataSearchStateMixin_isActiveSearchMatch = t3;
    },
    NetworkRequests: function NetworkRequests(t0, t1) {
      this.requests = t0;
      this.outstandingHttpRequests = t1;
    },
    _NetworkRequest_Object_DataSearchStateMixin: function _NetworkRequest_Object_DataSearchStateMixin() {
    },
    NetworkRequestInspector: function NetworkRequestInspector(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    NetworkRequestInspector_build_closure: function NetworkRequestInspector_build_closure(t0) {
      this.$this = t0;
    },
    NetworkRequestInspector_build__closure: function NetworkRequestInspector_build__closure(t0) {
      this.data = t0;
    },
    HttpRequestHeadersView: function HttpRequestHeadersView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    HttpRequestHeadersView_build_closure: function HttpRequestHeadersView_build_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.general = t1;
      _.responseHeaders = t2;
      _.requestHeaders = t3;
    },
    HttpRequestView: function HttpRequestView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    HttpResponseView: function HttpResponseView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    ImageResponseView: function ImageResponseView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    HttpRequestCookiesView: function HttpRequestCookiesView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    HttpRequestCookiesView__buildCookiesTable__buildColumn: function HttpRequestCookiesView__buildCookiesTable__buildColumn(t0) {
      this.theme = t0;
    },
    HttpRequestCookiesView_build_closure: function HttpRequestCookiesView_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.responseCookies = t1;
      this.requestCookies = t2;
    },
    NetworkRequestOverviewView: function NetworkRequestOverviewView(t0, t1) {
      this.data = t0;
      this.key = t1;
    },
    NetworkRequestOverviewView__buildHttpTimeGraph__nextColor: function NetworkRequestOverviewView__buildHttpTimeGraph__nextColor(t0) {
      this._box_0 = t0;
    },
    NetworkScreen: function NetworkScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    NetworkScreen_buildStatus_closure: function NetworkScreen_buildStatus_closure() {
    },
    NetworkScreen_buildStatus_closure0: function NetworkScreen_buildStatus_closure0(t0) {
      this.color = t0;
    },
    NetworkScreenBody: function NetworkScreenBody(t0) {
      this.key = t0;
    },
    _NetworkScreenBodyState: function _NetworkScreenBodyState(t0, t1, t2) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _NetworkProfilerControls: function _NetworkProfilerControls(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _NetworkProfilerControlsState: function _NetworkProfilerControlsState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.___NetworkProfilerControlsState__filteredRequests = _.___NetworkProfilerControlsState__requests = $;
      _._recording = false;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t2;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t3;
      _.AutoDisposeMixin__delegate = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    _NetworkProfilerControlsState_initState_closure: function _NetworkProfilerControlsState_initState_closure(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_initState__closure1: function _NetworkProfilerControlsState_initState__closure1(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_initState_closure0: function _NetworkProfilerControlsState_initState_closure0(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_initState__closure0: function _NetworkProfilerControlsState_initState__closure0(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_initState_closure1: function _NetworkProfilerControlsState_initState_closure1(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_initState__closure: function _NetworkProfilerControlsState_initState__closure(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_build_closure: function _NetworkProfilerControlsState_build_closure(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_build_closure0: function _NetworkProfilerControlsState_build_closure0(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState_build_closure1: function _NetworkProfilerControlsState_build_closure1(t0) {
      this.$this = t0;
    },
    _NetworkProfilerControlsState__showFilterDialog_closure: function _NetworkProfilerControlsState__showFilterDialog_closure(t0) {
      this.$this = t0;
    },
    _NetworkProfilerBody: function _NetworkProfilerBody(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _NetworkProfilerBody_build_closure0: function _NetworkProfilerBody_build_closure0(t0) {
      this.context = t0;
    },
    _NetworkProfilerBody_build_closure: function _NetworkProfilerBody_build_closure(t0) {
      this.$this = t0;
    },
    NetworkRequestsTable: function NetworkRequestsTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.networkController = t0;
      _.requests = t1;
      _.searchMatchesNotifier = t2;
      _.activeSearchMatchNotifier = t3;
      _.key = t4;
    },
    NetworkRequestsTable_build_closure: function NetworkRequestsTable_build_closure() {
    },
    NetworkRequestsTable_build_closure0: function NetworkRequestsTable_build_closure0(t0) {
      this.$this = t0;
    },
    UriColumn: function UriColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    MethodColumn: function MethodColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    ActionsColumn: function ActionsColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    ActionsColumn__buildOptions_closure: function ActionsColumn__buildOptions_closure(t0, t1) {
      this.data = t0;
      this.context = t1;
    },
    ActionsColumn__buildOptions_closure0: function ActionsColumn__buildOptions_closure0(t0, t1) {
      this.data = t0;
      this.context = t1;
    },
    ActionsColumn_build_closure: function ActionsColumn_build_closure(t0) {
      this.options = t0;
    },
    StatusColumn: function StatusColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    TypeColumn: function TypeColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    DurationColumn: function DurationColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    TimestampColumn: function TimestampColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    __NetworkProfilerControlsState_State_AutoDisposeMixin: function __NetworkProfilerControlsState_State_AutoDisposeMixin() {
    },
    __NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin: function __NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    __NetworkScreenBodyState_State_AutoDisposeMixin: function __NetworkScreenBodyState_State_AutoDisposeMixin() {
    },
    __NetworkScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin: function __NetworkScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    NetworkService: function NetworkService(t0) {
      this.networkController = t0;
    },
    NetworkService__refreshHttpProfile_closure: function NetworkService__refreshHttpProfile_closure(t0, t1, t2) {
      this.$this = t0;
      this.service = t1;
      this.requests = t2;
    },
    NetworkService__clearHttpProfile_closure: function NetworkService__clearHttpProfile_closure(t0) {
      this.service = t0;
    },
    NetworkService__refreshSockets_closure: function NetworkService__refreshSockets_closure(t0, t1) {
      this.service = t0;
      this.sockets = t1;
    },
    NetworkService__clearSocketProfile_closure: function NetworkService__clearSocketProfile_closure(t0) {
      this.service = t0;
    },
    NetworkService_toggleSocketProfiling_closure: function NetworkService_toggleSocketProfiling_closure(t0, t1) {
      this.service = t0;
      this.state = t1;
    },
    TrackWidgetBuildsScopeExtension_get_radioDisplay(_this) {
      switch (_this.index) {
        case 0:
          return "within all code";
        case 1:
          return "within your code";
      }
    },
    TrackWidgetBuildsScopeExtension_get_opposite(_this) {
      switch (_this.index) {
        case 0:
          return B.TrackWidgetBuildsScope_1;
        case 1:
          return B.TrackWidgetBuildsScope_0;
      }
    },
    TrackWidgetBuildsScopeExtension_get_extensionForScope(_this) {
      switch (_this.index) {
        case 0:
          return $.$get$profileWidgetBuilds();
        case 1:
          return $.$get$profileUserWidgetBuilds();
      }
    },
    EnhanceTracingButton: function EnhanceTracingButton(t0) {
      this.key = t0;
    },
    TrackWidgetBuildsScope: function TrackWidgetBuildsScope(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TrackWidgetBuildsSetting: function TrackWidgetBuildsSetting(t0) {
      this.key = t0;
    },
    _TrackWidgetBuildsSettingState: function _TrackWidgetBuildsSettingState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._trackWidgetBuildsExtensions = t0;
      _._selectedScope = t1;
      _._tracked = t2;
      _._trackingAvailable = t3;
      _.AutoDisposeMixin__delegate = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    _TrackWidgetBuildsSettingState_initState_closure: function _TrackWidgetBuildsSettingState_initState_closure(t0, t1, t2) {
      this.$this = t0;
      this.extension = t1;
      this.type = t2;
    },
    _TrackWidgetBuildsSettingState_initState__closure: function _TrackWidgetBuildsSettingState_initState__closure(t0, t1, t2) {
      this.$this = t0;
      this.state = t1;
      this.type = t2;
    },
    _TrackWidgetBuildsSettingState_build_closure: function _TrackWidgetBuildsSettingState_build_closure(t0) {
      this.$this = t0;
    },
    _TrackWidgetBuildsSettingState_build_closure0: function _TrackWidgetBuildsSettingState_build_closure0() {
    },
    TrackWidgetBuildsCheckbox: function TrackWidgetBuildsCheckbox(t0, t1, t2) {
      this.trackingNotifier = t0;
      this.enabled = t1;
      this.key = t2;
    },
    TrackWidgetBuildsCheckbox__checkboxChanged_closure: function TrackWidgetBuildsCheckbox__checkboxChanged_closure() {
    },
    TrackWidgetBuildsScopeSelector: function TrackWidgetBuildsScopeSelector(t0, t1, t2) {
      this.scope = t0;
      this.enabled = t1;
      this.key = t2;
    },
    __TrackWidgetBuildsSettingState_State_AutoDisposeMixin: function __TrackWidgetBuildsSettingState_State_AutoDisposeMixin() {
    },
    EventSummary$($event) {
      var t2, t3, t4, t5, _i, t6, t7,
        t1 = A._setArrayType([], type$.JSArray_AsyncTimelineEvent);
      if ($event.type === B.TimelineEventType_2) {
        t2 = $event.children;
        t3 = A._arrayInstanceType(t2)._eval$1("CastList<1,AsyncTimelineEvent>");
        B.JSArray_methods.addAll$1(t1, new A.WhereIterable(new A.CastList(t2, t3), new A.EventSummary_closure(), t3._eval$1("WhereIterable<ListMixin.E>")));
      }
      t2 = $event.traceEvents;
      t3 = B.JSArray_methods.get$first(t2).event.args;
      t3.toString;
      t4 = type$.String;
      t5 = type$.dynamic;
      t3 = A.LinkedHashMap_LinkedHashMap$from(t3, t4, t5);
      t5 = A.LinkedHashMap_LinkedHashMap$_empty(t4, t5);
      for (t4 = t2.length, _i = 0; _i < t2.length; t2.length === t4 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t6 = t2[_i].event.args;
        t6.toString;
        t6 = J.get$entries$x(t6);
        t6 = t6.get$iterator(t6);
        for (; t6.moveNext$0();) {
          t7 = t6.get$current(t6);
          t5.$indexSet(0, t7.get$key(t7), t7.get$value(t7));
        }
      }
      t3.addAll$1(0, t5);
      return new A.EventSummary($event, t1, t3, null);
    },
    EventDetails: function EventDetails(t0, t1) {
      this.selectedEvent = t0;
      this.key = t1;
    },
    EventDetails_build_closure: function EventDetails_build_closure(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    EventDetails__buildDetails_closure: function EventDetails__buildDetails_closure(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    EventDetails__buildCpuProfiler_closure: function EventDetails__buildCpuProfiler_closure(t0, t1) {
      this.$this = t0;
      this.cpuProfilerController = t1;
    },
    EventDetails__buildProcessingInfo_closure: function EventDetails__buildProcessingInfo_closure() {
    },
    EventSummary: function EventSummary(t0, t1, t2, t3) {
      var _ = this;
      _.event = t0;
      _._connectedEvents = t1;
      _._eventArgs = t2;
      _.key = t3;
    },
    EventSummary_closure: function EventSummary_closure() {
    },
    EventMetaData: function EventMetaData(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.inlineValue = t1;
      _.child = t2;
      _.key = t3;
    },
    ExpandingEventMetaData: function ExpandingEventMetaData(t0, t1, t2) {
      this.title = t0;
      this.children = t1;
      this.key = t2;
    },
    FlutterFramesChart: function FlutterFramesChart(t0, t1, t2) {
      this.frames = t0;
      this.displayRefreshRate = t1;
      this.key = t2;
    },
    _FlutterFramesChartState: function _FlutterFramesChartState(t0, t1, t2) {
      var _ = this;
      _.___FlutterFramesChartState__frameNumbersScrollController = _.___FlutterFramesChartState__framesScrollController = _.___FlutterFramesChartState__linkedScrollControllerGroup = $;
      _._flutter_frames_chart$_selectedFrame = null;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _FlutterFramesChartState_didChangeDependencies_closure: function _FlutterFramesChartState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _FlutterFramesChartState_didChangeDependencies__closure: function _FlutterFramesChartState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _FlutterFramesChartState__maybeShowShaderJankMessage_closure: function _FlutterFramesChartState__maybeShowShaderJankMessage_closure(t0) {
      this.$this = t0;
    },
    _FlutterFramesChartState__maybeShowShaderJankMessage_closure0: function _FlutterFramesChartState__maybeShowShaderJankMessage_closure0() {
    },
    _FlutterFramesChartState__buildChart_closure: function _FlutterFramesChartState__buildChart_closure(t0) {
      this.$this = t0;
    },
    _FlutterFramesChartState__buildChart__closure: function _FlutterFramesChartState__buildChart__closure(t0) {
      this.$this = t0;
    },
    _FlutterFramesChartState__buildChart__closure0: function _FlutterFramesChartState__buildChart__closure0(t0, t1) {
      this.$this = t0;
      this.themeData = t1;
    },
    FlutterFramesChartItem: function FlutterFramesChartItem(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.controller = t0;
      _.frame = t1;
      _.selected = t2;
      _.msPerPx = t3;
      _.availableChartHeight = t4;
      _.displayRefreshRate = t5;
      _.key = t6;
    },
    FlutterFramesChartItem__selectFrame_closure: function FlutterFramesChartItem__selectFrame_closure(t0) {
      this.$this = t0;
    },
    FlutterFrameTooltip: function FlutterFrameTooltip(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.frame = t1;
      _.hasShaderJank = t2;
      _.key = t3;
    },
    FlutterFrameTooltip_build_closure: function FlutterFrameTooltip_build_closure() {
    },
    FlutterFrameTooltip_build_closure0: function FlutterFrameTooltip_build_closure0(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    AverageFPS: function AverageFPS(t0, t1, t2) {
      this.frames = t0;
      this.displayRefreshRate = t1;
      this.key = t2;
    },
    AverageFPS_build_closure: function AverageFPS_build_closure(t0) {
      this.$this = t0;
    },
    ShaderJankWarningIcon: function ShaderJankWarningIcon(t0) {
      this.key = t0;
    },
    ChartAxisPainter: function ChartAxisPainter(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.constraints = t0;
      _.yAxisUnitsSpace = t1;
      _.displayRefreshRate = t2;
      _.msPerPx = t3;
      _.themeData = t4;
      _.bottomMargin = t5;
      _._repaint = t6;
    },
    FPSLinePainter: function FPSLinePainter(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.constraints = t0;
      _.yAxisUnitsSpace = t1;
      _.displayRefreshRate = t2;
      _.msPerPx = t3;
      _.themeData = t4;
      _.bottomMargin = t5;
      _._repaint = t6;
    },
    __FlutterFramesChartState_State_AutoDisposeMixin: function __FlutterFramesChartState_State_AutoDisposeMixin() {
    },
    __FlutterFramesChartState_State_AutoDisposeMixin_ProvidedControllerMixin: function __FlutterFramesChartState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    FlutterFrameAnalysisView: function FlutterFrameAnalysisView(t0, t1) {
      this.frameAnalysis = t0;
      this.key = t1;
    },
    FrameTimeVisualizer: function FrameTimeVisualizer(t0, t1) {
      this.frameAnalysis = t0;
      this.key = t1;
    },
    _FrameTimeVisualizerState: function _FrameTimeVisualizerState(t0) {
      var _ = this;
      _.___FrameTimeVisualizerState_frameAnalysis = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _FrameTimeVisualizerState_build_closure: function _FrameTimeVisualizerState_build_closure(t0) {
      this.$this = t0;
    },
    FramePhaseBlock: function FramePhaseBlock(t0, t1, t2, t3, t4) {
      var _ = this;
      _.framePhase = t0;
      _.icon = t1;
      _.isSelected = t2;
      _.onSelected = t3;
      _.key = t4;
    },
    FramePhaseBlock_build_closure: function FramePhaseBlock_build_closure(t0) {
      this.$this = t0;
    },
    IntelligentFrameFindings: function IntelligentFrameFindings(t0, t1) {
      this.frameAnalysis = t0;
      this.key = t1;
    },
    _Hint: function _Hint(t0, t1) {
      this.message = t0;
      this.key = t1;
    },
    _EnhanceTracingHint: function _EnhanceTracingHint(t0, t1) {
      this.longestPhase = t0;
      this.key = t1;
    },
    _SmallEnhanceTracingButton: function _SmallEnhanceTracingButton(t0) {
      this.key = t0;
    },
    RefreshTimelineEventsButton: function RefreshTimelineEventsButton(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    PerformanceController: function PerformanceController(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) {
      var _ = this;
      _.cpuProfilerController = t0;
      _.rasterMetricsController = t1;
      _._performance_controller$_exportController = t2;
      _._selectedTimelineEventNotifier = t3;
      _._selectedFrameNotifier = t4;
      _._flutterFrames = t5;
      _._processing = t6;
      _._httpTimelineLoggingEnabled = t7;
      _._badgeTabForJankyFrames = t8;
      _.threadNamesById = t9;
      _.offlinePerformanceData = _.data = null;
      _.__PerformanceController_processor = $;
      _.allTraceEvents = t10;
      _._nextTimelineEventIndexToProcess = _._nextTraceIndexToProcess = 0;
      _._recordingFrames = t11;
      _._pendingFlutterFrames = t12;
      _._unassignedFlutterFrameEvents = t13;
      _._unassignedFlutterFrames = t14;
      _.rebuildCountModel = t15;
      _._performance_controller$_pollingTimer = null;
      _._nextPollStartMicros = 0;
      _._timelinePollingRateLimiter = null;
      _.__PerformanceController__initialized = $;
      _._displayRefreshRate = t16;
      _.firstWellFormedFrameMicros = _._currentFrameBeingSelected = null;
      _.AutoDisposeControllerMixin__delegate = t17;
      _.SearchControllerMixin__searchNotifier = t18;
      _.SearchControllerMixin__searchInProgress = t19;
      _.SearchControllerMixin_xPosition = t20;
      _.SearchControllerMixin__searchOperation = t21;
      _.SearchControllerMixin__searchDebounce = t22;
      _.SearchControllerMixin__searchMatches = t23;
      _.SearchControllerMixin__activeSearchMatch = t24;
      _.SearchControllerMixin_matchIndex = t25;
    },
    PerformanceController__initHelper_closure: function PerformanceController__initHelper_closure(t0) {
      this.$this = t0;
    },
    PerformanceController__initHelper_closure0: function PerformanceController__initHelper_closure0(t0) {
      this.$this = t0;
    },
    PerformanceController__initHelper_closure1: function PerformanceController__initHelper_closure1(t0) {
      this.$this = t0;
    },
    PerformanceController_toggleSelectedFrame_closure: function PerformanceController_toggleSelectedFrame_closure(t0, t1) {
      this.$this = t0;
      this.frame = t1;
    },
    PerformanceController__maybeAddEventToUnassignedFrame_closure: function PerformanceController__maybeAddEventToUnassignedFrame_closure() {
    },
    PerformanceController_processTraceEvents_processTraceEventsHelper: function PerformanceController_processTraceEvents_processTraceEventsHelper(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.traceEventCount = t2;
      _._data = t3;
    },
    PerformanceController_processTraceEvents_closure: function PerformanceController_processTraceEvents_closure(t0) {
      this.processingTraceCount = t0;
    },
    PerformanceController__threadIdForEvents_closure: function PerformanceController__threadIdForEvents_closure(t0) {
      this.targetEventNames = t0;
    },
    PerformanceController_setOfflineData_closure: function PerformanceController_setOfflineData_closure(t0) {
      this._offlineData = t0;
    },
    PerformanceController_setOfflineData_closure0: function PerformanceController_setOfflineData_closure0(t0) {
      this._offlineData = t0;
    },
    PerformanceController_matchesForSearch_closure: function PerformanceController_matchesForSearch_closure(t0, t1) {
      this.search = t0;
      this.matches = t1;
    },
    _PerformanceController_DisposableController_SearchControllerMixin: function _PerformanceController_DisposableController_SearchControllerMixin() {
    },
    _PerformanceController_DisposableController_SearchControllerMixin_AutoDisposeControllerMixin: function _PerformanceController_DisposableController_SearchControllerMixin_AutoDisposeControllerMixin() {
    },
    PerformanceData$(cpuProfileData, displayRefreshRate, $frames, selectedEvent, selectedFrame, traceEvents) {
      var t1 = A.SplayTreeMap$(A.performance_utils_PerformanceUtils_eventGroupComparator$closure(), type$.String, type$.TimelineEventGroup),
        t2 = traceEvents == null ? A._setArrayType([], type$.JSArray_Map_String_dynamic) : traceEvents,
        t3 = $frames == null ? A._setArrayType([], type$.JSArray_FlutterFrame) : $frames,
        t4 = displayRefreshRate == null ? 60 : displayRefreshRate,
        t5 = A._setArrayType([], type$.JSArray_TimelineEvent);
      return new A.PerformanceData(t5, t1, t2, selectedEvent, cpuProfileData, t4, t3, selectedFrame, new A.TimeRange());
    },
    OfflinePerformanceData$_(cpuProfileData, displayRefreshRate, $frames, selectedEvent, selectedFrame, selectedFrameId, traceEvents) {
      var t1 = A.SplayTreeMap$(A.performance_utils_PerformanceUtils_eventGroupComparator$closure(), type$.String, type$.TimelineEventGroup),
        t2 = displayRefreshRate == null ? 60 : displayRefreshRate,
        t3 = A._setArrayType([], type$.JSArray_TimelineEvent);
      return new A.OfflinePerformanceData(selectedFrameId, t3, t1, traceEvents, selectedEvent, cpuProfileData, t2, $frames, selectedFrame, new A.TimeRange());
    },
    OfflinePerformanceData_parse(json) {
      var t2, traceEvents, cpuProfileJson, cpuProfileData, selectedFrameId, framesJson, $frames, selectedEventJson, selectedEvent, displayRefreshRate, _null = null,
        t1 = json.$index(0, "traceEvents");
      if (t1 == null)
        t1 = [];
      t2 = type$.Map_String_dynamic;
      traceEvents = J.cast$1$0$ax(t1, t2);
      cpuProfileJson = json.$index(0, "cpuProfile");
      if (cpuProfileJson == null)
        cpuProfileJson = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      cpuProfileData = J.get$isNotEmpty$asx(cpuProfileJson) ? A.CpuProfileData_CpuProfileData$parse(cpuProfileJson) : _null;
      selectedFrameId = json.$index(0, "selectedFrameId");
      t1 = type$.nullable_List_dynamic._as(json.$index(0, "flutterFrames"));
      t1 = t1 == null ? _null : J.cast$1$0$ax(t1, type$.Object);
      if (t1 == null)
        t1 = A._setArrayType([], type$.JSArray_Object);
      t2 = J.map$1$1$ax(t1, new A.OfflinePerformanceData_parse_closure(), t2);
      framesJson = A.List_List$of(t2, true, t2.$ti._eval$1("ListIterable.E"));
      t2 = A._arrayInstanceType(framesJson)._eval$1("MappedListIterable<1,FlutterFrame>");
      $frames = A.List_List$of(new A.MappedListIterable(framesJson, new A.OfflinePerformanceData_parse_closure0(), t2), true, t2._eval$1("ListIterable.E"));
      selectedEventJson = json.$index(0, "selectedEvent");
      if (selectedEventJson == null)
        selectedEventJson = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      t1 = J.getInterceptor$asx(selectedEventJson);
      if (t1.get$isNotEmpty(selectedEventJson)) {
        t1 = t1.$index(selectedEventJson, "firstTrace");
        if (t1 == null) {
          t1 = type$.dynamic;
          t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
        }
        selectedEvent = A.OfflineTimelineEvent$(J.cast$2$0$ax(t1, type$.String, type$.dynamic));
      } else
        selectedEvent = _null;
      displayRefreshRate = json.$index(0, "displayRefreshRate");
      return A.OfflinePerformanceData$_(cpuProfileData, J.toDouble$0$n(displayRefreshRate == null ? 60 : displayRefreshRate), $frames, selectedEvent, _null, selectedFrameId, traceEvents);
    },
    OfflineTimelineEvent$(firstTrace) {
      var t1 = A.TraceEventWrapper$(A.TraceEvent$(firstTrace), 0),
        t2 = new A.TimeRange(),
        t3 = t1.event;
      t1 = new A.OfflineTimelineEvent(A._setArrayType([t1], type$.JSArray_TraceEventWrapper), t3.get$type(t3), t2, false, false, A._setArrayType([], type$.JSArray_TimelineEvent));
      t3 = t3.timestampMicros;
      t3.toString;
      t2.set$start(0, A.Duration$(t3, 0));
      t1.OfflineTimelineEvent$1(firstTrace);
      return t1;
    },
    FlutterFrame_FlutterFrame$parse(json) {
      var timeStart, frameTime, t3, t4,
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "startTime");
      t2.toString;
      timeStart = A.Duration$(t2, 0);
      t2 = t1.$index(json, "elapsed");
      t2.toString;
      t2 = A.Duration$(t2, 0);
      frameTime = new A.TimeRange();
      frameTime.set$start(0, timeStart);
      frameTime.set$end(0, new A.Duration(timeStart._duration + t2._duration));
      t2 = t1.$index(json, "number");
      t2.toString;
      t3 = t1.$index(json, "build");
      t3.toString;
      t3 = A.Duration$(t3, 0);
      t4 = t1.$index(json, "raster");
      t4.toString;
      t4 = A.Duration$(t4, 0);
      t1 = t1.$index(json, "vsyncOverhead");
      t1.toString;
      return new A.FlutterFrame(t2, frameTime, t3, t4, A.Duration$(t1, 0), A.FrameTimelineEventData$());
    },
    FrameTimelineEventData$() {
      var _i,
        _list = J.JSArray_JSArray$allocateGrowable(2, type$.nullable_SyncTimelineEvent);
      for (_i = 0; _i < 2; ++_i)
        _list[_i] = null;
      return new A.FrameTimelineEventData(_list, new A.TimeRange());
    },
    SyncTimelineEvent$(firstTraceEvent) {
      var t3, t4, t5, t6, t7,
        t1 = type$.JSArray_SyncTimelineEvent,
        t2 = A._setArrayType([], t1);
      t1 = A._setArrayType([], t1);
      t3 = new A.TimeRange();
      t4 = A._setArrayType([firstTraceEvent], type$.JSArray_TraceEventWrapper);
      t5 = firstTraceEvent.event;
      t6 = t5.get$type(t5);
      t7 = A._setArrayType([], type$.JSArray_TimelineEvent);
      t5 = t5.timestampMicros;
      t5.toString;
      t3.set$start(0, A.Duration$(t5, 0));
      return new A.SyncTimelineEvent(t2, t1, t4, t6, t3, false, false, t7);
    },
    AsyncTimelineEvent$(firstTraceEvent) {
      var t3,
        t1 = firstTraceEvent.event,
        t2 = t1.args;
      t2.toString;
      t3 = new A.TimeRange();
      t2 = new A.AsyncTimelineEvent(J.$index$asx(t2, "parentId"), A._setArrayType([firstTraceEvent], type$.JSArray_TraceEventWrapper), t1.get$type(t1), t3, false, false, A._setArrayType([], type$.JSArray_TimelineEvent));
      t1 = t1.timestampMicros;
      t1.toString;
      t3.set$start(0, A.Duration$(t1, 0));
      t2.type = B.TimelineEventType_2;
      return t2;
    },
    FramePhase$_(duration, events, title) {
      var t1 = J.fold$2$ax(events, B.Duration_0, new A.FramePhase$__closure());
      return new A.FramePhase(title, t1);
    },
    PerformanceData: function PerformanceData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.timelineEvents = t0;
      _.eventGroups = t1;
      _.traceEvents = t2;
      _.selectedEvent = t3;
      _.cpuProfileData = t4;
      _.displayRefreshRate = t5;
      _.frames = t6;
      _.selectedFrame = t7;
      _.time = t8;
      _._endTimestampMicros = -1;
    },
    PerformanceData_initializeEventGroups_closure: function PerformanceData_initializeEventGroups_closure() {
    },
    PerformanceData_json_closure: function PerformanceData_json_closure() {
    },
    TimelineEventGroup: function TimelineEventGroup(t0, t1) {
      var _ = this;
      _.rows = t0;
      _.rowIndexForEvent = t1;
      _.__TimelineEventGroup_latestTimestampMicros = _.__TimelineEventGroup_earliestTimestampMicros = $;
      _._timestampsInitialized = false;
      _._sortedEventRoots = null;
    },
    TimelineEventGroup_sortedEventRoots_closure: function TimelineEventGroup_sortedEventRoots_closure() {
    },
    TimelineEventGroup_sortedEventRoots_closure0: function TimelineEventGroup_sortedEventRoots_closure0() {
    },
    TimelineRowData: function TimelineRowData(t0) {
      this.events = t0;
      this.lastEvent = null;
    },
    OfflinePerformanceData: function OfflinePerformanceData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._selectedFrameId = t0;
      _.timelineEvents = t1;
      _.eventGroups = t2;
      _.traceEvents = t3;
      _.selectedEvent = t4;
      _.cpuProfileData = t5;
      _.displayRefreshRate = t6;
      _.frames = t7;
      _.selectedFrame = t8;
      _.time = t9;
      _._endTimestampMicros = -1;
    },
    OfflinePerformanceData_parse_closure: function OfflinePerformanceData_parse_closure() {
    },
    OfflinePerformanceData_parse_closure0: function OfflinePerformanceData_parse_closure0() {
    },
    OfflineTimelineEvent: function OfflineTimelineEvent(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.traceEvents = t0;
      _._traceWrapperId = null;
      _.type = t1;
      _.time = t2;
      _._lowestDisplayChildRow = 1;
      _.__TimelineEvent_displayRows = _.__TimelineEvent__lowestDisplayChild = $;
      _.DataSearchStateMixin_isSearchMatch = t3;
      _.DataSearchStateMixin_isActiveSearchMatch = t4;
      _.parent = null;
      _.children = t5;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    OfflineTimelineEvent_closure: function OfflineTimelineEvent_closure(t0) {
      this.firstTrace = t0;
    },
    OfflineTimelineEvent_closure0: function OfflineTimelineEvent_closure0() {
    },
    FlutterFrame: function FlutterFrame(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.id = t0;
      _.timeFromFrameTiming = t1;
      _.buildTime = t2;
      _.rasterTime = t3;
      _.vsyncOverheadTime = t4;
      _.timelineEventData = t5;
      _._shaderTime = _._frameAnalysis = null;
    },
    FlutterFrame_shaderDuration_closure: function FlutterFrame_shaderDuration_closure(t0) {
      this._box_0 = t0;
    },
    FrameTimelineEventData: function FrameTimelineEventData(t0, t1) {
      this._eventFlows = t0;
      this.time = t1;
    },
    TimelineEvent0: function TimelineEvent0() {
    },
    TimelineEvent__isWellFormedDeep_closure: function TimelineEvent__isWellFormedDeep_closure() {
    },
    TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate: function TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate() {
    },
    TimelineEvent_addChild__putChildInTree: function TimelineEvent_addChild__putChildInTree(t0) {
      this.child = t0;
    },
    SyncTimelineEvent: function SyncTimelineEvent(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._isRasterFrameIdentifier = _._isUiFrameIdentifier = _._flutterFrameNumber = null;
      _.uiFrameEvents = t0;
      _.rasterFrameEvents = t1;
      _.traceEvents = t2;
      _._traceWrapperId = null;
      _.type = t3;
      _.time = t4;
      _._lowestDisplayChildRow = 1;
      _.__TimelineEvent_displayRows = _.__TimelineEvent__lowestDisplayChild = $;
      _.DataSearchStateMixin_isSearchMatch = t5;
      _.DataSearchStateMixin_isActiveSearchMatch = t6;
      _.parent = null;
      _.children = t7;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    AsyncTimelineEvent: function AsyncTimelineEvent(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._parentId = t0;
      _._maxEndMicros = null;
      _.traceEvents = t1;
      _._traceWrapperId = null;
      _.type = t2;
      _.time = t3;
      _._lowestDisplayChildRow = 1;
      _.__TimelineEvent_displayRows = _.__TimelineEvent__lowestDisplayChild = $;
      _.DataSearchStateMixin_isSearchMatch = t4;
      _.DataSearchStateMixin_isActiveSearchMatch = t5;
      _.parent = null;
      _.children = t6;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    FrameAnalysis: function FrameAnalysis(t0, t1) {
      var _ = this;
      _.frame = t0;
      _._selectedPhase = t1;
      _.__FrameAnalysis_longestFramePhase = _.__FrameAnalysis_rasterPhase = _.__FrameAnalysis_paintPhase = _.__FrameAnalysis_layoutPhase = _.__FrameAnalysis_buildPhase = $;
    },
    FrameAnalysis__generateBuildPhase_closure: function FrameAnalysis__generateBuildPhase_closure() {
    },
    FrameAnalysis__generateLayoutPhase_closure: function FrameAnalysis__generateLayoutPhase_closure() {
    },
    FrameAnalysis__generatePaintPhase_closure: function FrameAnalysis__generatePaintPhase_closure() {
    },
    FramePhase: function FramePhase(t0, t1) {
      this.title = t0;
      this.duration = t1;
    },
    FramePhase$__closure: function FramePhase$__closure() {
    },
    _TimelineEvent_TreeNode_DataSearchStateMixin: function _TimelineEvent_TreeNode_DataSearchStateMixin() {
    },
    _TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin: function _TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin() {
    },
    _TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin: function _TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin() {
    },
    PerformanceScreen: function PerformanceScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    PerformanceScreenBody: function PerformanceScreenBody(t0) {
      this.key = t0;
    },
    PerformanceScreenBodyState: function PerformanceScreenBodyState(t0, t1, t2, t3) {
      var _ = this;
      _.processing = false;
      _.processingProgress = 0;
      _.ProvidedControllerMixin__controller = t0;
      _.OfflineScreenMixin__loadingOfflineData = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    PerformanceScreenBodyState_didChangeDependencies_closure: function PerformanceScreenBodyState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState_didChangeDependencies__closure0: function PerformanceScreenBodyState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState_didChangeDependencies_closure0: function PerformanceScreenBodyState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState_didChangeDependencies__closure: function PerformanceScreenBodyState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState_build_closure: function PerformanceScreenBodyState_build_closure() {
    },
    PerformanceScreenBodyState_build_closure0: function PerformanceScreenBodyState_build_closure0() {
    },
    PerformanceScreenBodyState__buildPerformanceControls_closure: function PerformanceScreenBodyState__buildPerformanceControls_closure(t0) {
      this.$this = t0;
    },
    PerformanceScreenBodyState__buildPerformanceControls__closure: function PerformanceScreenBodyState__buildPerformanceControls__closure() {
    },
    _PrimaryControls0: function _PrimaryControls0(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.processing = t1;
      _.onClear = t2;
      _.key = t3;
    },
    _PrimaryControls_build_closure2: function _PrimaryControls_build_closure2(t0) {
      this.$this = t0;
    },
    SecondaryPerformanceControls: function SecondaryPerformanceControls(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    SecondaryPerformanceControls_build_closure: function SecondaryPerformanceControls_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    SecondaryPerformanceControls_build_closure0: function SecondaryPerformanceControls_build_closure0(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    SecondaryPerformanceControls__openSettingsDialog_closure: function SecondaryPerformanceControls__openSettingsDialog_closure(t0) {
      this.$this = t0;
    },
    MoreDebuggingOptionsButton: function MoreDebuggingOptionsButton(t0) {
      this.key = t0;
    },
    PerformanceSettingsDialog: function PerformanceSettingsDialog(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    TimelineStreamSettings: function TimelineStreamSettings(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    TimelineStreamSettings__defaultRecordedStreams_closure: function TimelineStreamSettings__defaultRecordedStreams_closure(t0) {
      this.$this = t0;
    },
    TimelineStreamSettings__timelineStreams_closure: function TimelineStreamSettings__timelineStreams_closure() {
    },
    TimelineStreamSettings__timelineStreams__closure: function TimelineStreamSettings__timelineStreams__closure(t0) {
      this.stream = t0;
    },
    FlutterSettings: function FlutterSettings(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    PerformanceScreenMetrics: function PerformanceScreenMetrics(t0, t1, t2, t3) {
      var _ = this;
      _.uiDuration = t0;
      _.rasterDuration = t1;
      _.shaderCompilationDuration = t2;
      _.traceEventCount = t3;
    },
    _PerformanceScreenBodyState_State_AutoDisposeMixin: function _PerformanceScreenBodyState_State_AutoDisposeMixin() {
    },
    _PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin: function _PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin() {
    },
    _PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin: function _PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin() {
    },
    RenderingLayerVisualizer: function RenderingLayerVisualizer(t0, t1) {
      this.rasterMetricsController = t0;
      this.key = t1;
    },
    RenderingLayerVisualizer_build_closure: function RenderingLayerVisualizer_build_closure(t0) {
      this.$this = t0;
    },
    RenderingLayerVisualizer_build__closure: function RenderingLayerVisualizer_build__closure(t0) {
      this.$this = t0;
    },
    LayerSnapshotTable: function LayerSnapshotTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = t0;
      _.snapshots = t1;
      _._layerColumn = t2;
      _._percentageColumn = t3;
      _.key = t4;
    },
    LayerSnapshotTable_build_closure: function LayerSnapshotTable_build_closure() {
    },
    _LayerColumn: function _LayerColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _RenderingTimePercentageColumn: function _RenderingTimePercentageColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    LayerImage: function LayerImage(t0, t1, t2, t3) {
      var _ = this;
      _.snapshot = t0;
      _.originalFrameSize = t1;
      _.includeFullscreenButton = t2;
      _.key = t3;
    },
    LayerImage_build_closure: function LayerImage_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.originalFrameSize = t1;
      this.snapshot = t2;
    },
    LayerImage_build_closure0: function LayerImage_build_closure0(t0, t1, t2) {
      this.context = t0;
      this.snapshot = t1;
      this.originalFrameSize = t2;
    },
    LayerImage_build__closure: function LayerImage_build__closure(t0, t1) {
      this.snapshot = t0;
      this.originalFrameSize = t1;
    },
    LayerImageDialog: function LayerImageDialog(t0, t1, t2) {
      this.snapshot = t0;
      this.originalFrameSize = t1;
      this.key = t2;
    },
    RasterMetricsController: function RasterMetricsController(t0, t1, t2, t3) {
      var _ = this;
      _._layerSnapshots = t0;
      _.originalFrameSize = null;
      _._selectedSnapshot = t1;
      _._loadingSnapshot = t2;
      _._sumRasterTime = t3;
    },
    RasterMetricsController_initDataFromJson_closure: function RasterMetricsController_initDataFromJson_closure() {
    },
    LayerSnapshot: function LayerSnapshot(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.duration = t1;
      _.size = t2;
      _.offset = t3;
      _.bytes = t4;
      _.totalRenderingDuration = null;
    },
    RebuildCountModel: function RebuildCountModel(t0, t1) {
      this._locationMap = t0;
      this._locations = t1;
    },
    RebuildLocation: function RebuildLocation(t0, t1) {
      this.line = t0;
      this.name = t1;
      this.buildCount = 0;
    },
    TabbedPerformanceView: function TabbedPerformanceView(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.processing = t1;
      _.processingProgress = t2;
      _.key = t3;
    },
    _TabbedPerformanceViewState: function _TabbedPerformanceViewState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._selectedFlutterFrame = null;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t2;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t3;
      _.AutoDisposeMixin__delegate = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    _TabbedPerformanceViewState_initState_closure: function _TabbedPerformanceViewState_initState_closure(t0) {
      this.$this = t0;
    },
    _TabbedPerformanceViewState_initState__closure: function _TabbedPerformanceViewState_initState__closure(t0) {
      this.$this = t0;
    },
    _TabbedPerformanceViewState__generateTabs_closure: function _TabbedPerformanceViewState__generateTabs_closure(t0) {
      this.$this = t0;
    },
    __TabbedPerformanceViewState_State_AutoDisposeMixin: function __TabbedPerformanceViewState_State_AutoDisposeMixin() {
    },
    __TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin: function __TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin() {
    },
    TimelineEventProcessor: function TimelineEventProcessor(t0, t1, t2, t3, t4) {
      var _ = this;
      _.performanceController = t0;
      _._timeline_event_processor$_progressNotifier = t1;
      _._traceEventsProcessed = 0;
      _._asyncEventsById = t2;
      _.currentDurationEventNodes = t3;
      _._previousDurationEndEvents = t4;
      _.rasterThreadId = _.uiThreadId = _._pendingRootCompleteEvent = null;
    },
    TimelineEventProcessor_processTraceEvents_closure: function TimelineEventProcessor_processTraceEvents_closure() {
    },
    TimelineEventProcessor_processTraceEvents_closure0: function TimelineEventProcessor_processTraceEvents_closure0() {
    },
    TimelineEventProcessor_processTraceEvents_closure1: function TimelineEventProcessor_processTraceEvents_closure1() {
    },
    TimelineEventProcessor__handleDurationCompleteEvent_closure: function TimelineEventProcessor__handleDurationCompleteEvent_closure(t0) {
      this.timelineEvent = t0;
    },
    TimelineFlameChart__calculateStartInset(data) {
      var t1, t2, maxMeasuredWidth, textPainter, t3, _null = null;
      for (t1 = data.eventGroups, t2 = t1.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>")), t2 = new A._SplayTreeKeyIterator(t1, A._setArrayType([], t2._eval$1("JSArray<2>")), t1._splayCount, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_SplayTreeKeyIterator<1,2>")), maxMeasuredWidth = 0; t2.moveNext$0();) {
        textPainter = new A.TextPainter(A.TextSpan$(_null, _null, _null, _null, t2.get$current(t2)), B.TextAlign_4, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        textPainter.layout$0();
        t1 = textPainter._textWidthBasis;
        t3 = textPainter._paragraph;
        t1 = t1 === B.TextWidthBasis_1 ? t3.get$longestLine() : t3.get$width(t3);
        maxMeasuredWidth = Math.max(maxMeasuredWidth, Math.ceil(t1) + 8);
      }
      return Math.min(300, maxMeasuredWidth) + 55;
    },
    TimelineEventGroupDisplayExtension_get_displaySizePx(_this) {
      return _this.rows.length * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) + B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    FlutterFrameExtension_eventToCenterFrame(_this) {
      var t1 = _this.timelineEventData._eventFlows,
        t2 = t1[0],
        t3 = t2 == null;
      if (t3 && t1[1] == null)
        return null;
      else if (!t3)
        return t2;
      else
        return t1[1];
    },
    FlutterFrameExtension_timeToCenterFrame(_this) {
      var t1 = _this.timelineEventData,
        t2 = t1._eventFlows,
        t3 = t2[0],
        t4 = t3 != null;
      if (t4 && t2[1] != null)
        return t1.time;
      else if (t4)
        return t3.time;
      else {
        t1 = t2[1];
        if (t1 != null)
          return t1.time;
        else
          return null;
      }
    },
    TimelineEventsView: function TimelineEventsView(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.processing = t1;
      _.processingProgress = t2;
      _.key = t3;
    },
    TimelineEventsView_build_closure: function TimelineEventsView_build_closure(t0) {
      this.$this = t0;
    },
    TimelineFlameChart: function TimelineFlameChart(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.data = t0;
      _.time = t1;
      _.containerWidth = t2;
      _.containerHeight = t3;
      _.startInset = t4;
      _.endInset = t5;
      _.selectionNotifier = t6;
      _.searchMatchesNotifier = t7;
      _.activeSearchMatchNotifier = t8;
      _.onDataSelected = t9;
      _.key = t10;
    },
    TimelineFlameChartState: function TimelineFlameChartState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.chartNodesByEvent = t0;
      _.horizontalGuidelines = t1;
      _.verticalGuidelines = t2;
      _.eventGroupStartYValues = t3;
      _._selectedFrame = null;
      _.__TimelineFlameChartState__nextInGroupButtonsScrollController = _.__TimelineFlameChartState__previousInGroupButtonsScrollController = _.__TimelineFlameChartState__groupLabelScrollController = $;
      _.ProvidedControllerMixin__controller = t4;
      _.rows = t5;
      _.sections = t6;
      _.focusNode = t7;
      _._altKeyPressed = false;
      _.mouseHoverX = null;
      _.__FlameChartState_zoomController = _.__FlameChartState__flameChartScrollController = _.__FlameChartState_horizontalControllerGroup = _.__FlameChartState_verticalControllerGroup = _.__FlameChartState_verticalExtentDelegate = $;
      _.currentZoom = 1;
      _.verticalScrollOffset = _.horizontalScrollOffset = 0;
      _.TickerProviderStateMixin__tickers = t8;
      _.TickerProviderStateMixin__tickerModeNotifier = t9;
      _.AutoDisposeMixin__delegate = t10;
      _._widget = null;
      _._debugLifecycleState = t11;
      _._framework$_element = null;
    },
    TimelineFlameChartState_didChangeDependencies_closure: function TimelineFlameChartState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    TimelineFlameChartState__indexOfFirstEventInView_closure: function TimelineFlameChartState__indexOfFirstEventInView_closure() {
    },
    TimelineFlameChartState__viewNextEventInGroup_closure: function TimelineFlameChartState__viewNextEventInGroup_closure() {
    },
    TimelineFlameChartState__handleSelectedFrame_closure: function TimelineFlameChartState__handleSelectedFrame_closure(t0, t1) {
      this.$this = t0;
      this.selectedFrame = t1;
    },
    TimelineFlameChartState_initFlameChartElements_leftForEvent: function TimelineFlameChartState_initFlameChartElements_leftForEvent(t0) {
      this.$this = t0;
    },
    TimelineFlameChartState_initFlameChartElements_rightForEvent: function TimelineFlameChartState_initFlameChartElements_rightForEvent(t0) {
      this.$this = t0;
    },
    TimelineFlameChartState_initFlameChartElements_createChartNode: function TimelineFlameChartState_initFlameChartElements_createChartNode(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.leftForEvent = t2;
      _.rightForEvent = t3;
    },
    TimelineFlameChartState_initFlameChartElements_createChartNode_closure: function TimelineFlameChartState_initFlameChartElements_createChartNode_closure(t0) {
      this.$this = t0;
    },
    TimelineFlameChartState_initFlameChartElements_closure: function TimelineFlameChartState_initFlameChartElements_closure() {
    },
    TimelineFlameChartState_buildChartOverlays_closure: function TimelineFlameChartState_buildChartOverlays_closure(t0) {
      this.$this = t0;
    },
    TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton: function TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton(t0, t1, t2) {
      this.$this = t0;
      this.eventGroups = t1;
      this.threadButtonContainerWidth = t2;
    },
    TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure: function TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure(t0, t1, t2) {
      this.$this = t0;
      this.isNext = t1;
      this.group = t2;
    },
    TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0: function TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0(t0, t1) {
      this.$this = t0;
      this.isNext = t1;
    },
    TimelineFlameChartState__buildEventThreadNavigationButtons_closure: function TimelineFlameChartState__buildEventThreadNavigationButtons_closure(t0) {
      this.buildNavigatorButton = t0;
    },
    TimelineFlameChartState__buildEventThreadNavigationButtons_closure0: function TimelineFlameChartState__buildEventThreadNavigationButtons_closure0(t0) {
      this.buildNavigatorButton = t0;
    },
    TimelineFlameChartState__calculateAsyncGuidelines_closure: function TimelineFlameChartState__calculateAsyncGuidelines_closure() {
    },
    TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline: function TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.event = t2;
      _.child = t3;
      _.node = t4;
      _.childNode = t5;
      _.verticalGuidelineStartY = t6;
    },
    TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow: function TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow(t0) {
      this.node = t0;
    },
    AsyncGuidelinePainter: function AsyncGuidelinePainter(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.verticalGuidelines = t0;
      _.horizontalGuidelines = t1;
      _.zoom = t2;
      _.constraints = t3;
      _.verticalScrollOffset = t4;
      _.horizontalScrollOffset = t5;
      _.chartStartInset = t6;
      _.colorScheme = t7;
      _._repaint = t8;
    },
    SelectedFrameBracketPainter: function SelectedFrameBracketPainter(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.selectedFrame = t0;
      _.startTimeOffsetMicros = t1;
      _.startingPxPerMicro = t2;
      _.yForEvent = t3;
      _.zoom = t4;
      _.constraints = t5;
      _.verticalScrollOffset = t6;
      _.horizontalScrollOffset = t7;
      _.chartStartInset = t8;
      _.colorScheme = t9;
      _._repaint = t10;
    },
    NavigateInThreadInButton: function NavigateInThreadInButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.group = t0;
      _.isNext = t1;
      _.topSpacer = t2;
      _.bottomSpacer = t3;
      _.backgroundColor = t4;
      _.threadButtonContainerWidth = t5;
      _.onPressed = t6;
      _.shouldEnableButton = t7;
      _.horizontalController = t8;
      _.key = t9;
    },
    _NavigateInThreadInButtonState: function _NavigateInThreadInButtonState(t0, t1) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    ThreadNavigatorButton: function ThreadNavigatorButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.useSmallButton = t0;
      _.backgroundColor = t1;
      _.tooltip = t2;
      _.icon = t3;
      _.onPressed = t4;
      _.key = t5;
    },
    _TimelineFlameChartState_FlameChartState_ProvidedControllerMixin: function _TimelineFlameChartState_FlameChartState_ProvidedControllerMixin() {
    },
    __NavigateInThreadInButtonState_State_AutoDisposeMixin: function __NavigateInThreadInButtonState_State_AutoDisposeMixin() {
    },
    TimelineStreamManager: function TimelineStreamManager(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._advancedStreams = t0;
      _._streamDescriptions = t1;
      _._service = null;
      _._streams = t2;
      _._auto_dispose$_subscriptions = t3;
      _._focusNodes = t4;
      _._listenables = t5;
      _._auto_dispose$_listeners = t6;
    },
    TimelineStreamManager_basicStreams_closure: function TimelineStreamManager_basicStreams_closure() {
    },
    TimelineStreamManager_advancedStreams_closure: function TimelineStreamManager_advancedStreams_closure() {
    },
    TimelineStreamManager_vmServiceOpened_closure: function TimelineStreamManager_vmServiceOpened_closure(t0, t1) {
      this.$this = t0;
      this.connectedApp = t1;
    },
    TimelineStreamManager_updateTimelineStream_closure: function TimelineStreamManager_updateTimelineStream_closure(t0) {
      this.$this = t0;
    },
    TimelineStream: function TimelineStream(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.description = t1;
      _.advanced = t2;
      _._recorded = t3;
    },
    CpuBottomUpTable: function CpuBottomUpTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.treeColumn = t0;
      _.sortColumn = t1;
      _.columns = t2;
      _.bottomUpRoots = t3;
      _.key = t4;
    },
    CpuBottomUpTable_build_closure: function CpuBottomUpTable_build_closure() {
    },
    CpuCallTreeTable: function CpuCallTreeTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.treeColumn = t0;
      _.sortColumn = t1;
      _.columns = t2;
      _.dataRoots = t3;
      _.key = t4;
    },
    CpuCallTreeTable_build_closure: function CpuCallTreeTable_build_closure() {
    },
    SelfTimeColumn$(titleTooltip) {
      return new A.SelfTimeColumn("Self Time", titleTooltip, B.JSNumber_methods.roundToDouble$0(180 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), null, B.ColumnAlignment_0);
    },
    TotalTimeColumn$(titleTooltip) {
      return new A.TotalTimeColumn("Total Time", titleTooltip, B.JSNumber_methods.roundToDouble$0(180 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), null, B.ColumnAlignment_0);
    },
    MethodNameColumn$() {
      var t1 = type$.CpuStackFrame;
      return new A.MethodNameColumn(A.StreamController_StreamController$broadcast(false, t1), A.StreamController_StreamController$broadcast(false, t1), "Method", null, null, null, B.ColumnAlignment_0);
    },
    SourceColumn$() {
      return new A.SourceColumn("Source", null, null, null, B.ColumnAlignment_1);
    },
    SelfTimeColumn: function SelfTimeColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    TotalTimeColumn: function TotalTimeColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    MethodNameColumn: function MethodNameColumn(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.nodeExpandedController = t0;
      _.nodeCollapsedController = t1;
      _.title = t2;
      _.titleTooltip = t3;
      _.fixedWidthPx = t4;
      _.minWidthPx = t5;
      _.alignment = t6;
    },
    SourceColumn: function SourceColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    CpuProfilerController$(analyticsScreenId) {
      var _null = null,
        t1 = $.$get$CpuProfilerController_baseStateCpuProfileData(),
        t2 = $.$get$ChangeNotifier__emptyListeners(),
        t3 = type$.ValueNotifier_bool,
        t4 = type$.ValueNotifier_nullable_CpuStackFrame,
        t5 = type$.ValueNotifier_String,
        t6 = type$.JSArray_CpuStackFrame;
      return new A.CpuProfilerController(analyticsScreenId, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.CpuProfileStore), new A.ValueNotifier(t1, t2, type$.ValueNotifier_nullable_CpuProfileData), new A.ValueNotifier(false, t2, t3), new A.ValueNotifier(_null, t2, t4), new A.ValueNotifier("none", t2, t5), new A.CpuProfileTransformer(new A.ValueNotifier(0, t2, type$.ValueNotifier_double)), A.ListValueNotifier$(A._setArrayType([], t6), type$.CpuStackFrame), new A.ValueNotifier(_null, t2, type$.ValueNotifier_nullable_Filter_CpuStackFrame), new A.ValueNotifier("", t2, t5), new A.ValueNotifier(false, t2, t3), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], t6), t2, type$.ValueNotifier_List_CpuStackFrame), new A.ValueNotifier(_null, t2, t4), new A.ValueNotifier(0, t2, type$.ValueNotifier_int));
    },
    CpuProfilerController: function CpuProfilerController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.analyticsScreenId = t0;
      _._cpuProfileStoreByIsolateId = t1;
      _._dataNotifier = t2;
      _._cpu_profile_controller$_processingNotifier = t3;
      _._selectedCpuStackFrameNotifier = t4;
      _._userTagFilter = t5;
      _._toggleFilters = null;
      _.selectedProfilerTabIndex = 0;
      _.transformer = t6;
      _._filterIdentifier = 0;
      _.FilterControllerMixin_filteredData = t7;
      _.FilterControllerMixin_activeFilter = t8;
      _.SearchControllerMixin__searchNotifier = t9;
      _.SearchControllerMixin__searchInProgress = t10;
      _.SearchControllerMixin_xPosition = t11;
      _.SearchControllerMixin__searchOperation = t12;
      _.SearchControllerMixin__searchDebounce = t13;
      _.SearchControllerMixin__searchMatches = t14;
      _.SearchControllerMixin__activeSearchMatch = t15;
      _.SearchControllerMixin_matchIndex = t16;
    },
    CpuProfilerController_cpuProfileStore_closure: function CpuProfilerController_cpuProfileStore_closure() {
    },
    CpuProfilerController_isToggleFilterActive_closure: function CpuProfilerController_isToggleFilterActive_closure() {
    },
    CpuProfilerController_toggleFilters_closure: function CpuProfilerController_toggleFilters_closure() {
    },
    CpuProfilerController_toggleFilters_closure0: function CpuProfilerController_toggleFilters_closure0() {
    },
    CpuProfilerController_toggleFilters_closure1: function CpuProfilerController_toggleFilters_closure1() {
    },
    CpuProfilerController_pullAndProcessProfile_pullAndProcessHelper: function CpuProfilerController_pullAndProcessProfile_pullAndProcessHelper(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.startMicros = t2;
      _.extentMicros = t3;
      _.processId = t4;
    },
    CpuProfilerController_pullAndProcessProfile_closure: function CpuProfilerController_pullAndProcessProfile_closure(t0) {
      this._box_0 = t0;
    },
    CpuProfilerController__filterData_closure: function CpuProfilerController__filterData_closure(t0) {
      this.filter = t0;
    },
    _CpuProfilerController_Object_SearchControllerMixin: function _CpuProfilerController_Object_SearchControllerMixin() {
    },
    _CpuProfilerController_Object_SearchControllerMixin_FilterControllerMixin: function _CpuProfilerController_Object_SearchControllerMixin_FilterControllerMixin() {
    },
    CpuProfileFlameChart: function CpuProfileFlameChart(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.controller = t0;
      _.data = t1;
      _.time = t2;
      _.containerWidth = t3;
      _.containerHeight = t4;
      _.startInset = t5;
      _.endInset = t6;
      _.selectionNotifier = t7;
      _.searchMatchesNotifier = t8;
      _.activeSearchMatchNotifier = t9;
      _.onDataSelected = t10;
      _.key = t11;
    },
    _CpuProfileFlameChartState: function _CpuProfileFlameChartState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.stackFrameLefts = t0;
      _.rows = t1;
      _.sections = t2;
      _.focusNode = t3;
      _._altKeyPressed = false;
      _.mouseHoverX = null;
      _.__FlameChartState_zoomController = _.__FlameChartState__flameChartScrollController = _.__FlameChartState_horizontalControllerGroup = _.__FlameChartState_verticalControllerGroup = _.__FlameChartState_verticalExtentDelegate = $;
      _.currentZoom = 1;
      _.verticalScrollOffset = _.horizontalScrollOffset = 0;
      _.TickerProviderStateMixin__tickers = t4;
      _.TickerProviderStateMixin__tickerModeNotifier = t5;
      _.AutoDisposeMixin__delegate = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
    },
    _CpuProfileFlameChartState_initFlameChartElements_createChartNodes: function _CpuProfileFlameChartState_initFlameChartElements_createChartNodes(t0) {
      this.$this = t0;
    },
    _CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure: function _CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure(t0) {
      this.$this = t0;
    },
    CpuProfileData$_(cpuSamples, profileMetaData, stackFrames) {
      var t1 = new A.CpuProfileData(stackFrames, cpuSamples, profileMetaData);
      t1.__CpuProfileData__cpuProfileRoot = A.CpuStackFrame$_("Dart", "cpuProfileRoot", "all", "", null, profileMetaData, "", null, "all");
      return t1;
    },
    CpuProfileData_CpuProfileData$parse(json) {
      var t3, t4, t5, profileMetaData, stackFrames, stackFrameJson, resolvedUrl, packageUri, t6, t7, t8, stackFrame,
        _s16_ = "timeOriginMicros",
        _s16_0 = "timeExtentMicros",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "sampleCount");
      if (t2 == null)
        t2 = 0;
      t3 = t1.$index(json, "samplePeriod");
      if (t3 == null)
        t3 = 0;
      t4 = t1.$index(json, "stackDepth");
      if (t4 == null)
        t4 = 0;
      if (t1.$index(json, _s16_) != null && t1.$index(json, _s16_0) != null) {
        t5 = new A.TimeRange();
        t5.set$start(0, A.Duration$(t1.$index(json, _s16_), 0));
        t5.set$end(0, A.Duration$(J.$add$ansx(t1.$index(json, _s16_), t1.$index(json, _s16_0)), 0));
      } else
        t5 = null;
      profileMetaData = new A.CpuProfileMetaData(t3, t4, t2, t5);
      t5 = type$.String;
      stackFrames = A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.CpuStackFrame);
      t2 = t1.$index(json, "stackFrames");
      for (t2 = J.get$entries$x(B.C_JsonCodec.decode$2$reviver(0, B.C_JsonCodec.encode$2$toEncodable(t2 == null ? A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.dynamic) : t2, null), null)), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        stackFrameJson = t3.get$value(t3);
        t4 = J.getInterceptor$asx(stackFrameJson);
        resolvedUrl = t4.$index(stackFrameJson, "resolvedUrl");
        if (resolvedUrl == null)
          resolvedUrl = "";
        packageUri = t4.$index(stackFrameJson, "packageUri");
        if (packageUri == null)
          packageUri = resolvedUrl;
        t3 = t3.get$key(t3);
        t5 = A.getSimpleStackFrameName(t4.$index(stackFrameJson, "name"));
        t6 = t4.$index(stackFrameJson, "name");
        t7 = t4.$index(stackFrameJson, "category");
        t8 = t4.$index(stackFrameJson, "sourceLine");
        t4 = t4.$index(stackFrameJson, "parent");
        stackFrame = A.CpuStackFrame$_(t7, t3, t5, packageUri, t4 == null ? "cpuProfileRoot" : t4, profileMetaData, resolvedUrl, t8, t6);
        stackFrames.$indexSet(0, stackFrame.id, stackFrame);
      }
      t1 = t1.$index(json, "traceEvents");
      if (t1 == null)
        t1 = [];
      return A.CpuProfileData$_(J.cast$1$0$ax(J.toList$0$ax(J.map$1$ax(J.cast$1$0$ax(t1, type$.Map_String_dynamic), new A.CpuProfileData_CpuProfileData$parse_closure())), type$.CpuSample_2), profileMetaData, stackFrames);
    },
    CpuProfileData_CpuProfileData$subProfile(superProfile, subTimeRange) {
      var t2, _i, t3, t4, parentId,
        t1 = J.where$1$ax(superProfile.cpuSamples, new A.CpuProfileData_CpuProfileData$subProfile_closure(subTimeRange)),
        subSamples = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")),
        subStackFrames = A.SplayTreeMap$(A.cpu_profile_model__stackFrameIdCompare$closure(), type$.String, type$.CpuStackFrame);
      for (t1 = subSamples.length, t2 = superProfile.stackFrames, _i = 0; t3 = subSamples.length, _i < t3; subSamples.length === t1 || (0, A.throwConcurrentModificationError)(subSamples), ++_i) {
        t3 = subSamples[_i].leafId;
        t4 = t2.$index(0, t3);
        t4.toString;
        subStackFrames.$indexSet(0, t3, t4);
        parentId = t4.parentId;
        while (true) {
          if (!(parentId != null && parentId !== "cpuProfileRoot"))
            break;
          t3 = t2.$index(0, parentId);
          t3.toString;
          subStackFrames.$indexSet(0, parentId, t3);
          parentId = t3.parentId;
        }
      }
      t1 = superProfile.profileMetaData;
      return A.CpuProfileData$_(subSamples, new A.CpuProfileMetaData(t1.samplePeriod, t1.stackDepth, t3, subTimeRange), subStackFrames);
    },
    CpuProfileData_CpuProfileData$fromUserTag(originalData, tag) {
      var t1, samplesWithTag, stackFramesWithTag, t2, _i, t3, currentId, currentStackFrame, parentId, parentStackFrameJson, t4, t5;
      if (!originalData.get$userTags().contains$1(0, tag))
        return A.CpuProfileData_CpuProfileData$parse(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic));
      t1 = J.where$1$ax(originalData.cpuSamples, new A.CpuProfileData_CpuProfileData$fromUserTag_closure(tag));
      samplesWithTag = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      stackFramesWithTag = A.SplayTreeMap$(A.cpu_profile_model__stackFrameIdCompare$closure(), type$.String, type$.CpuStackFrame);
      for (t1 = samplesWithTag.length, t2 = originalData.stackFrames, _i = 0; t3 = samplesWithTag.length, _i < t3; samplesWithTag.length === t1 || (0, A.throwConcurrentModificationError)(samplesWithTag), ++_i) {
        currentId = samplesWithTag[_i].leafId;
        currentStackFrame = t2.$index(0, currentId);
        for (; currentStackFrame != null; currentStackFrame = parentStackFrameJson, currentId = parentId) {
          currentId.toString;
          stackFramesWithTag.$indexSet(0, currentId, currentStackFrame.shallowCopy$1$copySampleCountsAndTags(false));
          parentId = currentStackFrame.parentId;
          parentStackFrameJson = parentId != null ? t2.$index(0, parentId) : null;
        }
      }
      t1 = originalData.profileMetaData;
      t2 = t1.time;
      t4 = t2._utils$_end;
      t4.toString;
      t2 = t2._utils$_start._duration;
      t5 = new A.TimeRange();
      t5.set$start(0, B.Duration_0);
      t5.set$end(0, A.Duration$(B.JSNumber_methods.round$0(t3 * ((t4._duration - t2) / t1.sampleCount)), 0));
      return A.CpuProfileData$_(samplesWithTag, new A.CpuProfileMetaData(t1.samplePeriod, t1.stackDepth, t3, t5), stackFramesWithTag);
    },
    CpuProfileData_CpuProfileData$filterFrom(originalData, includeFilter) {
      var t1, t2, t3, t4, t5, sampleJson, t6, filteredStackFrames, walkAndFilter, _i,
        filteredCpuSamples = A._setArrayType([], type$.JSArray_CpuSample),
        includeSampleOrWalkUp = new A.CpuProfileData_CpuProfileData$filterFrom_includeSampleOrWalkUp(includeFilter, filteredCpuSamples, originalData);
      for (t1 = J.get$iterator$ax(originalData.cpuSamples), t2 = type$.String, t3 = type$.Object, t4 = originalData.stackFrames; t1.moveNext$0();) {
        t5 = t1.get$current(t1);
        sampleJson = A.LinkedHashMap_LinkedHashMap$from(t5.json, t2, t3);
        t6 = t4.$index(0, t5.leafId);
        t6.toString;
        includeSampleOrWalkUp.call$3(t5, sampleJson, t6);
      }
      filteredStackFrames = A.SplayTreeMap$(A.cpu_profile_model__stackFrameIdCompare$closure(), t2, type$.CpuStackFrame);
      walkAndFilter = new A.CpuProfileData_CpuProfileData$filterFrom_walkAndFilter(includeFilter, originalData, new A.CpuProfileData_CpuProfileData$filterFrom_filteredParentStackFrameId(includeFilter, originalData), filteredStackFrames);
      for (t1 = filteredCpuSamples.length, _i = 0; t2 = filteredCpuSamples.length, _i < t2; filteredCpuSamples.length === t1 || (0, A.throwConcurrentModificationError)(filteredCpuSamples), ++_i) {
        t2 = t4.$index(0, filteredCpuSamples[_i].leafId);
        t2.toString;
        walkAndFilter.call$1(t2);
      }
      t1 = originalData.profileMetaData;
      return A.CpuProfileData$_(filteredCpuSamples, new A.CpuProfileMetaData(t1.samplePeriod, t1.stackDepth, t2, t1.time), filteredStackFrames);
    },
    CpuProfileData_CpuProfileData$empty() {
      return A.CpuProfileData_CpuProfileData$parse(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic));
    },
    CpuProfileData_generateFromCpuSamples(cpuSamples, isolateId) {
      return A.CpuProfileData_generateFromCpuSamples$body(cpuSamples, isolateId);
    },
    CpuProfileData_generateFromCpuSamples$body(cpuSamples, isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CpuProfileData),
        $async$returnValue, t1, t2, traceObject, t3, t4, t5, t6, _i, sample, t7, t8, t9, t10, t11, t12, t13, _box_0;
      var $async$CpuProfileData_generateFromCpuSamples = 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
              _box_0 = {};
              _box_0.nextId = 0;
              t1 = type$.dynamic;
              t2 = type$.String;
              traceObject = A.LinkedHashMap_LinkedHashMap$_literal(["sampleCount", cpuSamples.sampleCount, "samplePeriod", cpuSamples.samplePeriod, "stackDepth", cpuSamples.maxStackDepth, "timeOriginMicros", cpuSamples.timeOriginMicros, "timeExtentMicros", cpuSamples.timeExtentMicros, "stackFrames", A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), "traceEvents", []], t2, t1);
              new A.CpuProfileData_generateFromCpuSamples_processStackFrame(_box_0, isolateId, traceObject, new A.CpuProfileData_generateFromCpuSamples_nameForStackFrame()).call$2$current$parent(A._CpuProfileTimelineTree__CpuProfileTimelineTree$fromCpuSamples(cpuSamples), null);
              t1 = cpuSamples.samples;
              if (t1 == null)
                t1 = A._setArrayType([], type$.JSArray_CpuSample_2);
              t3 = t1.length;
              t4 = type$.nullable_Object;
              t5 = isolateId + "-";
              t6 = type$.nullable_String;
              _i = 0;
              for (; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                sample = t1[_i];
                t7 = $.$get$_CpuProfileTimelineTree__timelineTreeExpando();
                t7 = t7._jsWeakMap.get(sample);
                if (t7.frameId === 0)
                  continue;
                t8 = traceObject.$index(0, "traceEvents");
                t9 = cpuSamples.pid;
                t10 = sample.tid;
                t11 = sample.timestamp;
                t7 = t7.frameId;
                t12 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t6);
                t13 = sample.userTag;
                if (t13 != null)
                  t12.$indexSet(0, "userTag", t13);
                t13 = sample.vmTag;
                if (t13 != null)
                  t12.$indexSet(0, "vmTag", t13);
                J.add$1$ax(t8, A.LinkedHashMap_LinkedHashMap$_literal(["ph", "P", "name", "", "pid", t9, "tid", t10, "ts", t11, "cat", "Dart", "sf", t5 + t7, "args", t12], t2, t4));
              }
              $async$goto = 3;
              return A._asyncAwait(A.CpuProfileData__addPackageUrisToTraceObject(isolateId, traceObject), $async$CpuProfileData_generateFromCpuSamples);
            case 3:
              // returning from await.
              $async$returnValue = A.CpuProfileData_CpuProfileData$parse(traceObject);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$CpuProfileData_generateFromCpuSamples, $async$completer);
    },
    CpuProfileData__addPackageUrisToTraceObject(isolateId, traceObject) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t2, stackFrameJson, t3, resolvedUrl, t4, packageUri, _i, resolvedUri, t1, stackFrames, stackFramesWaitingOnPackageUri, urisWithoutPackageUri;
      var $async$CpuProfileData__addPackageUrisToTraceObject = 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 = J.get$values$x(traceObject.$index(0, "stackFrames"));
              stackFrames = A.CastIterable_CastIterable(t1, A._instanceType(t1)._eval$1("Iterable.E"), type$.Map_String_dynamic);
              stackFramesWaitingOnPackageUri = A._setArrayType([], type$.JSArray_Map_String_dynamic);
              urisWithoutPackageUri = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
              for (t1 = J.get$iterator$ax(stackFrames._source), t2 = A._instanceType(stackFrames), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._rest[1]; t1.moveNext$0();) {
                stackFrameJson = t2._as(t1.get$current(t1));
                t3 = J.getInterceptor$asx(stackFrameJson);
                resolvedUrl = A._asStringQ(t3.$index(stackFrameJson, "resolvedUrl"));
                if (resolvedUrl != null && resolvedUrl.length !== 0) {
                  t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).resolvedUriManager._packagePathMappings;
                  if (t4 == null)
                    packageUri = null;
                  else {
                    t4 = t4._isolateFullPathToPackageMappings.$index(0, isolateId);
                    packageUri = t4 == null ? null : J.$index$asx(t4, resolvedUrl);
                  }
                  if (packageUri != null)
                    t3.$indexSet(stackFrameJson, "packageUri", packageUri);
                  else {
                    stackFramesWaitingOnPackageUri.push(stackFrameJson);
                    urisWithoutPackageUri.add$1(0, resolvedUrl);
                  }
                }
              }
              $async$goto = 2;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).resolvedUriManager.fetchPackageUris$2(isolateId, A.List_List$of(urisWithoutPackageUri, true, urisWithoutPackageUri.$ti._eval$1("SetMixin.E"))), $async$CpuProfileData__addPackageUrisToTraceObject);
            case 2:
              // returning from await.
              for (t1 = stackFramesWaitingOnPackageUri.length, _i = 0; _i < stackFramesWaitingOnPackageUri.length; stackFramesWaitingOnPackageUri.length === t1 || (0, A.throwConcurrentModificationError)(stackFramesWaitingOnPackageUri), ++_i) {
                stackFrameJson = stackFramesWaitingOnPackageUri[_i];
                t2 = J.getInterceptor$asx(stackFrameJson);
                resolvedUri = t2.$index(stackFrameJson, "resolvedUrl");
                t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).resolvedUriManager._packagePathMappings;
                if (t3 == null)
                  packageUri = null;
                else {
                  t3 = t3._isolateFullPathToPackageMappings.$index(0, isolateId);
                  packageUri = t3 == null ? null : J.$index$asx(t3, resolvedUri);
                }
                if (packageUri != null)
                  t2.$indexSet(stackFrameJson, "packageUri", packageUri);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$CpuProfileData__addPackageUrisToTraceObject, $async$completer);
    },
    CpuSample$(leafId, traceJson, userTag) {
      var t1 = J.getInterceptor$asx(traceJson);
      return new A.CpuSample0(leafId, userTag, traceJson, t1.$index(traceJson, "name"), t1.$index(traceJson, "cat"), t1.$index(traceJson, "ph"), t1.$index(traceJson, "pid"), t1.$index(traceJson, "tid"), t1.$index(traceJson, "dur"), t1.$index(traceJson, "ts"), t1.$index(traceJson, "args"));
    },
    CpuStackFrame$_(category, id, $name, packageUri, parentId, profileMetaData, rawUrl, sourceLine, verboseName) {
      return new A.CpuStackFrame(id, $name, verboseName, category, rawUrl, packageUri, sourceLine, parentId, profileMetaData, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.int), false, false, 0, null, $, $, $, $, A._setArrayType([], type$.JSArray_CpuStackFrame));
    },
    stackFrameIdCompare(a, b) {
      var aDashIndex, bDashIndex, aId, bId, error, t1, exception;
      if (a === b)
        return 0;
      if (a === "cpuProfileRoot")
        return -1;
      if (b === "cpuProfileRoot")
        return 1;
      aDashIndex = B.JSString_methods.lastIndexOf$1(a, "-");
      bDashIndex = B.JSString_methods.lastIndexOf$1(b, "-");
      try {
        aId = A.int_parse(B.JSString_methods.substring$1(a, aDashIndex + 1), null);
        bId = A.int_parse(B.JSString_methods.substring$1(b, bDashIndex + 1), null);
        t1 = J.compareTo$1$ns(aId, bId);
        return t1;
      } catch (exception) {
        error = "invalid stack frame ";
        if (J.$eq$(aDashIndex, -1) && !J.$eq$(bDashIndex, -1))
          error = J.$add$ansx(error, "id [" + a + "]");
        else if (!J.$eq$(aDashIndex, -1) && J.$eq$(bDashIndex, -1))
          error = J.$add$ansx(error, "id [" + b + "]");
        else
          error = J.$add$ansx(error, "ids [" + a + ", " + b + "]");
        throw A.wrapException(error);
      }
    },
    _CpuProfileTimelineTree__CpuProfileTimelineTree$fromCpuSamples(cpuSamples) {
      var t2, _i, sample, t3, t4, current, index,
        root = new A._CpuProfileTimelineTree(cpuSamples, -1, A._setArrayType([], type$.JSArray__CpuProfileTimelineTree)),
        t1 = cpuSamples.samples;
      if (t1 == null)
        t1 = [];
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        sample = t1[_i];
        t3 = sample.get$stack();
        t3.toString;
        t3 = J.get$reversed$ax(t3);
        t4 = t3.$ti;
        t3 = new A.ListIterator(t3, t3.get$length(t3), t4._eval$1("ListIterator<ListIterable.E>"));
        t4 = t4._eval$1("ListIterable.E");
        current = root;
        for (; t3.moveNext$0();) {
          index = t3.__internal$_current;
          current = current._getChild$1(index == null ? t4._as(index) : index);
        }
        $.$get$_CpuProfileTimelineTree__timelineTreeExpando()._jsWeakMap.set(sample, current);
      }
      return root;
    },
    CpuProfileData: function CpuProfileData(t0, t1, t2) {
      var _ = this;
      _.stackFrames = t0;
      _.cpuSamples = t1;
      _.profileMetaData = t2;
      _.processed = false;
      _._userTags = _._bottomUpRoots = _._callTreeRoots = null;
      _.__CpuProfileData__cpuProfileRoot = $;
      _.selectedStackFrame = null;
    },
    CpuProfileData_CpuProfileData$parse_closure: function CpuProfileData_CpuProfileData$parse_closure() {
    },
    CpuProfileData_CpuProfileData$subProfile_closure: function CpuProfileData_CpuProfileData$subProfile_closure(t0) {
      this.subTimeRange = t0;
    },
    CpuProfileData_CpuProfileData$fromUserTag_closure: function CpuProfileData_CpuProfileData$fromUserTag_closure(t0) {
      this.tag = t0;
    },
    CpuProfileData_CpuProfileData$filterFrom_includeSampleOrWalkUp: function CpuProfileData_CpuProfileData$filterFrom_includeSampleOrWalkUp(t0, t1, t2) {
      this.includeFilter = t0;
      this.filteredCpuSamples = t1;
      this.originalData = t2;
    },
    CpuProfileData_CpuProfileData$filterFrom_filteredParentStackFrameId: function CpuProfileData_CpuProfileData$filterFrom_filteredParentStackFrameId(t0, t1) {
      this.includeFilter = t0;
      this.originalData = t1;
    },
    CpuProfileData_CpuProfileData$filterFrom_walkAndFilter: function CpuProfileData_CpuProfileData$filterFrom_walkAndFilter(t0, t1, t2, t3) {
      var _ = this;
      _.includeFilter = t0;
      _.originalData = t1;
      _.filteredParentStackFrameId = t2;
      _.filteredStackFrames = t3;
    },
    CpuProfileData_generateFromCpuSamples_nameForStackFrame: function CpuProfileData_generateFromCpuSamples_nameForStackFrame() {
    },
    CpuProfileData_generateFromCpuSamples_processStackFrame: function CpuProfileData_generateFromCpuSamples_processStackFrame(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.isolateId = t1;
      _.traceObject = t2;
      _.nameForStackFrame = t3;
    },
    CpuProfileData_toJson_closure: function CpuProfileData_toJson_closure() {
    },
    CpuProfileMetaData: function CpuProfileMetaData(t0, t1, t2, t3) {
      var _ = this;
      _.samplePeriod = t0;
      _.stackDepth = t1;
      _.sampleCount = t2;
      _.time = t3;
    },
    CpuSample0: function CpuSample0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.leafId = t0;
      _.userTag = t1;
      _.json = t2;
      _.name = t3;
      _.category = t4;
      _.phase = t5;
      _.processId = t6;
      _.threadId = t7;
      _.duration = t8;
      _.timestampMicros = t9;
      _.args = t10;
      _._trace_event$_type = null;
    },
    CpuStackFrame: function CpuStackFrame(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) {
      var _ = this;
      _.id = t0;
      _.name = t1;
      _.verboseName = t2;
      _.category = t3;
      _.rawUrl = t4;
      _.packageUri = t5;
      _.sourceLine = t6;
      _.parentId = t7;
      _._profileMetaData = t8;
      _._isFlutterCore = _._isDartCore = _._isNative = null;
      _._userTagSampleCount = t9;
      _.DataSearchStateMixin_isSearchMatch = t10;
      _.DataSearchStateMixin_isActiveSearchMatch = t11;
      _.ProfilableDataMixin_exclusiveSampleCount = t12;
      _.ProfilableDataMixin__inclusiveSampleCount = t13;
      _.ProfilableDataMixin___ProfilableDataMixin_totalTimeRatio = t14;
      _.ProfilableDataMixin___ProfilableDataMixin_totalTime = t15;
      _.ProfilableDataMixin___ProfilableDataMixin_selfTimeRatio = t16;
      _.ProfilableDataMixin___ProfilableDataMixin_selfTime = t17;
      _.parent = null;
      _.children = t18;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    CpuStackFrame_incrementTagSampleCount_closure: function CpuStackFrame_incrementTagSampleCount_closure() {
    },
    CpuProfileStore: function CpuProfileStore(t0, t1) {
      this._profilesByLabel = t0;
      this._profilesByTime = t1;
    },
    _CpuProfileTimelineTree: function _CpuProfileTimelineTree(t0, t1, t2) {
      var _ = this;
      _.samples = t0;
      _.index = t1;
      _.frameId = -1;
      _.children = t2;
    },
    _CpuStackFrame_TreeNode_ProfilableDataMixin: function _CpuStackFrame_TreeNode_ProfilableDataMixin() {
    },
    _CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin: function _CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin() {
    },
    _CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin: function _CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin() {
    },
    _CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin: function _CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin() {
    },
    mergeCpuProfileRoots(roots) {
      var t1, t2, t3, _i, root, matchingRoots, t4, _i0, match,
        rootsCopy = A.List_List$from(roots, true, type$.CpuStackFrame);
      for (t1 = rootsCopy.length, t2 = A._arrayInstanceType(roots)._eval$1("WhereIterable<1>"), t3 = t2._eval$1("Iterable.E"), _i = 0; _i < rootsCopy.length; rootsCopy.length === t1 || (0, A.throwConcurrentModificationError)(rootsCopy), ++_i) {
        root = rootsCopy[_i];
        if (!B.JSArray_methods.contains$1(roots, root))
          continue;
        matchingRoots = A.List_List$of(new A.WhereIterable(roots, new A.mergeCpuProfileRoots_closure(root), t2), true, t3);
        t4 = matchingRoots.length;
        if (t4 === 0)
          continue;
        for (_i0 = 0; _i0 < t4; ++_i0) {
          match = matchingRoots[_i0];
          B.JSArray_methods.forEach$1(match.children, root.get$addChild());
          root.ProfilableDataMixin_exclusiveSampleCount = root.ProfilableDataMixin_exclusiveSampleCount + match.ProfilableDataMixin_exclusiveSampleCount;
          root.ProfilableDataMixin__inclusiveSampleCount = root.get$inclusiveSampleCount() + match.get$inclusiveSampleCount();
          B.JSArray_methods.remove$1(roots, match);
          A.mergeCpuProfileRoots(root.children);
        }
      }
      for (t1 = roots.length, _i = 0; _i < roots.length; roots.length === t1 || (0, A.throwConcurrentModificationError)(roots), ++_i) {
        root = roots[_i];
        root.index = B.JSArray_methods.indexOf$1(roots, root);
      }
    },
    CpuProfileTransformer: function CpuProfileTransformer(t0) {
      var _ = this;
      _._progressNotifier = t0;
      _.__CpuProfileTransformer__stackFramesCount = $;
      _._stackFrameValues = _._stackFrameKeys = null;
      _._stackFramesProcessed = 0;
      _._activeProcessId = null;
    },
    mergeCpuProfileRoots_closure: function mergeCpuProfileRoots_closure(t0) {
      this.root = t0;
    },
    CpuProfiler$(controller, data, searchFieldKey, summaryView) {
      var _null = null,
        _s14_ = "cpuProfilerTab",
        t1 = data.get$callTreeRoots(),
        t2 = data.get$bottomUpRoots(),
        t3 = type$.JSArray_DevToolsTab,
        t4 = A._setArrayType([], t3);
      if (summaryView != null)
        t4.push(A.DevToolsTab_DevToolsTab$create(_s14_, B.ValueKey_OO7, "Summary", _null));
      if (data.profileMetaData.sampleCount !== 0)
        B.JSArray_methods.addAll$1(t4, A._setArrayType([A.DevToolsTab_DevToolsTab$create(_s14_, B.ValueKey_BKg, "Bottom Up", _null), A.DevToolsTab_DevToolsTab$create(_s14_, B.ValueKey_yHZ, "Call Tree", _null), A.DevToolsTab_DevToolsTab$create(_s14_, B.ValueKey_ojS, "CPU Flame Chart", _null)], t3));
      return new A.CpuProfiler(data, controller, t1, t2, searchFieldKey, summaryView, t4, _null);
    },
    CpuProfileFilterDialog$(controller) {
      var index,
        _length = controller.get$toggleFilters().length,
        _list = J.JSArray_JSArray$allocateGrowable(_length, type$.bool);
      for (index = 0; index < _length; ++index)
        _list[index] = controller.get$toggleFilters()[index].enabled._change_notifier$_value;
      return new A.CpuProfileFilterDialog(controller, _list, null);
    },
    CpuProfiler: function CpuProfiler(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.data = t0;
      _.controller = t1;
      _.callTreeRoots = t2;
      _.bottomUpRoots = t3;
      _.searchFieldKey = t4;
      _.summaryView = t5;
      _.tabs = t6;
      _.key = t7;
    },
    _CpuProfilerState: function _CpuProfilerState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._tabControllerInitialized = false;
      _.___CpuProfilerState_data = _.___CpuProfilerState__tabController = $;
      _.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t0;
      _.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = t2;
      _.SearchFieldMixin___SearchFieldMixin__onSelection = t3;
      _.AutoDisposeMixin__delegate = t4;
      _.TickerProviderStateMixin__tickers = t5;
      _.TickerProviderStateMixin__tickerModeNotifier = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
    },
    _CpuProfilerState_didUpdateWidget_closure: function _CpuProfilerState_didUpdateWidget_closure(t0) {
      this.$this = t0;
    },
    _CpuProfilerState__onTabChanged_closure: function _CpuProfilerState__onTabChanged_closure(t0) {
      this.$this = t0;
    },
    _CpuProfilerState_build_closure: function _CpuProfilerState_build_closure(t0, t1) {
      this.$this = t0;
      this.currentTab = t1;
    },
    _CpuProfilerState_build__closure0: function _CpuProfilerState_build__closure0() {
    },
    _CpuProfilerState_build_closure0: function _CpuProfilerState_build_closure0(t0, t1) {
      this.$this = t0;
      this.currentTab = t1;
    },
    _CpuProfilerState_build__closure: function _CpuProfilerState_build__closure() {
    },
    _CpuProfilerState__showFilterDialog_closure: function _CpuProfilerState__showFilterDialog_closure(t0) {
      this.$this = t0;
    },
    _CpuProfilerState__buildProfilerViews_closure: function _CpuProfilerState__buildProfilerViews_closure(t0) {
      this.$this = t0;
    },
    _CpuProfilerState__buildProfilerViews__closure: function _CpuProfilerState__buildProfilerViews__closure(t0) {
      this.$this = t0;
    },
    _CpuProfilerState__performOnDataRoots_closure: function _CpuProfilerState__performOnDataRoots_closure(t0, t1) {
      this.roots = t0;
      this.callback = t1;
    },
    CpuProfileFilterDialog: function CpuProfileFilterDialog(t0, t1, t2) {
      this.controller = t0;
      this.oldToggleFilterValues = t1;
      this.key = t2;
    },
    CpuProfilerDisabled: function CpuProfilerDisabled(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    UserTagDropdown: function UserTagDropdown(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    UserTagDropdown_build_closure: function UserTagDropdown_build_closure(t0) {
      this.$this = t0;
    },
    UserTagDropdown_build__closure: function UserTagDropdown_build__closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    __CpuProfilerState_State_TickerProviderStateMixin: function __CpuProfilerState_State_TickerProviderStateMixin() {
    },
    __CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin: function __CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin() {
    },
    __CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin: function __CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin() {
    },
    ProfileGranularityExtension_get_display(_this) {
      switch (_this.index) {
        case 0:
          return "Profile granularity: low";
        case 1:
          return "Profile granularity: medium";
        case 2:
        default:
          return "Profile granularity: high";
      }
    },
    ProfileGranularityExtension_get_displayShort(_this) {
      switch (_this.index) {
        case 0:
          return "Low";
        case 1:
          return "Medium";
        case 2:
        default:
          return "High";
      }
    },
    ProfileGranularityExtension_get_value(_this) {
      switch (_this.index) {
        case 0:
          return "1000";
        case 1:
          return "250";
        case 2:
        default:
          return "50";
      }
    },
    ProfileGranularityExtension_fromValue(value) {
      switch (value) {
        case "1000":
          return B.ProfileGranularity_0;
        case "50":
          return B.ProfileGranularity_2;
        case "250":
        default:
          return B.ProfileGranularity_1;
      }
    },
    ProfileGranularity: function ProfileGranularity(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ProfilerScreen: function ProfilerScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    ProfilerScreenBody: function ProfilerScreenBody(t0) {
      this.key = t0;
    },
    _ProfilerScreenBodyState: function _ProfilerScreenBodyState(t0, t1, t2, t3) {
      var _ = this;
      _.processing = _.recording = false;
      _.processingProgress = 0;
      _.ProvidedControllerMixin__controller = t0;
      _.OfflineScreenMixin__loadingOfflineData = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _ProfilerScreenBodyState_didChangeDependencies_closure: function _ProfilerScreenBodyState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState_didChangeDependencies__closure1: function _ProfilerScreenBodyState_didChangeDependencies__closure1(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState_didChangeDependencies_closure0: function _ProfilerScreenBodyState_didChangeDependencies_closure0(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState_didChangeDependencies__closure0: function _ProfilerScreenBodyState_didChangeDependencies__closure0(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState_didChangeDependencies_closure1: function _ProfilerScreenBodyState_didChangeDependencies_closure1(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState_didChangeDependencies__closure: function _ProfilerScreenBodyState_didChangeDependencies__closure(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState_build_closure: function _ProfilerScreenBodyState_build_closure(t0) {
      this.$this = t0;
    },
    _ProfilerScreenBodyState__buildProfilerScreenBody_closure: function _ProfilerScreenBodyState__buildProfilerScreenBody_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.emptyAppStartUpProfileView = t1;
      _.emptyProfileView = t2;
      _.controller = t3;
    },
    ProfilerScreenControls: function ProfilerScreenControls(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.recording = t1;
      _.processing = t2;
      _.key = t3;
    },
    _PrimaryControls: function _PrimaryControls(t0, t1, t2) {
      this.controller = t0;
      this.recording = t1;
      this.key = t2;
    },
    _PrimaryControls_build_closure: function _PrimaryControls_build_closure(t0) {
      this.$this = t0;
    },
    _PrimaryControls_build_closure0: function _PrimaryControls_build_closure0(t0) {
      this.$this = t0;
    },
    _PrimaryControls_build_closure1: function _PrimaryControls_build_closure1(t0) {
      this.$this = t0;
    },
    _SecondaryControls: function _SecondaryControls(t0, t1, t2) {
      this.controller = t0;
      this.profilerBusy = t1;
      this.key = t2;
    },
    _SecondaryControls_build_closure: function _SecondaryControls_build_closure(t0) {
      this.$this = t0;
    },
    _SecondaryControls_build_closure0: function _SecondaryControls_build_closure0(t0) {
      this.$this = t0;
    },
    _SecondaryControls_build_closure1: function _SecondaryControls_build_closure1(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    ProfilerScreenMetrics: function ProfilerScreenMetrics(t0, t1) {
      this.cpuSampleCount = t0;
      this.cpuStackDepth = t1;
    },
    __ProfilerScreenBodyState_State_AutoDisposeMixin: function __ProfilerScreenBodyState_State_AutoDisposeMixin() {
    },
    __ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin: function __ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin() {
    },
    __ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin: function __ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin() {
    },
    ProfilerScreenController$() {
      var t1 = new A.ProfilerScreenController(A.CpuProfilerController$("cpu-profiler"), new A.ExportControllerWeb(), A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.nullable_CpuProfileData), new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), A.Disposer$());
      t1.ProfilerScreenController$0();
      return t1;
    },
    ProfilerScreenController: function ProfilerScreenController(t0, t1, t2, t3, t4) {
      var _ = this;
      _.cpuProfilerController = t0;
      _._exportController = t1;
      _._previousProfileByIsolateId = t2;
      _._profiler_screen_controller$_recordingNotifier = t3;
      _._currentIsolate = null;
      _.AutoDisposeControllerMixin__delegate = t4;
    },
    ProfilerScreenController_closure: function ProfilerScreenController_closure(t0) {
      this.$this = t0;
    },
    _ProfilerScreenController_DisposableController_AutoDisposeControllerMixin: function _ProfilerScreenController_DisposableController_AutoDisposeControllerMixin() {
    },
    serviceProvider_closure: function serviceProvider_closure() {
    },
    libraryEvalProvider_closure: function libraryEvalProvider_closure() {
    },
    hotRestartEventProvider_closure: function hotRestartEventProvider_closure() {
    },
    hotRestartEventProvider_closure_listener: function hotRestartEventProvider_closure_listener(t0, t1) {
      this.notifier = t0;
      this.selectedIsolateListenable = t1;
    },
    hotRestartEventProvider__closure: function hotRestartEventProvider__closure(t0, t1) {
      this.selectedIsolateListenable = t0;
      this.listener = t1;
    },
    _$identity(value) {
      return value;
    },
    __$InstancePathFromInstanceIdCopyWithImpl$(_value, _then, $$Res) {
      return new A.__$InstancePathFromInstanceIdCopyWithImpl(_value, new A.__$InstancePathFromInstanceIdCopyWithImpl_closure(_then, $$Res), $$Res._eval$1("__$InstancePathFromInstanceIdCopyWithImpl<0>"));
    },
    __$InstancePathFromProviderIdCopyWithImpl$(_value, _then, $$Res) {
      return new A.__$InstancePathFromProviderIdCopyWithImpl(_value, new A.__$InstancePathFromProviderIdCopyWithImpl_closure(_then, $$Res), $$Res._eval$1("__$InstancePathFromProviderIdCopyWithImpl<0>"));
    },
    PathToProperty: function PathToProperty() {
    },
    ObjectField: function ObjectField() {
    },
    InstanceDetails: function InstanceDetails() {
    },
    InstanceDetails_isExpandable_falsy: function InstanceDetails_isExpandable_falsy() {
    },
    InstanceDetails_isExpandable_closure0: function InstanceDetails_isExpandable_closure0() {
    },
    InstanceDetails_isExpandable_closure: function InstanceDetails_isExpandable_closure() {
    },
    InstanceDetails_isExpandable_closure1: function InstanceDetails_isExpandable_closure1() {
    },
    InstanceDetails_instanceRefId_closure3: function InstanceDetails_instanceRefId_closure3() {
    },
    InstanceDetails_instanceRefId_closure: function InstanceDetails_instanceRefId_closure() {
    },
    InstanceDetails_instanceRefId_closure4: function InstanceDetails_instanceRefId_closure4() {
    },
    InstanceDetails_instanceRefId_closure6: function InstanceDetails_instanceRefId_closure6() {
    },
    InstanceDetails_instanceRefId_closure2: function InstanceDetails_instanceRefId_closure2() {
    },
    InstanceDetails_instanceRefId_closure1: function InstanceDetails_instanceRefId_closure1() {
    },
    InstanceDetails_instanceRefId_closure5: function InstanceDetails_instanceRefId_closure5() {
    },
    InstanceDetails_instanceRefId_closure0: function InstanceDetails_instanceRefId_closure0() {
    },
    InstancePath: function InstancePath() {
    },
    _$PathToPropertyTearOff: function _$PathToPropertyTearOff() {
    },
    _$PathToProperty: function _$PathToProperty() {
    },
    _$ListIndexPath: function _$ListIndexPath(t0) {
      this.index = t0;
    },
    _$MapKeyPath: function _$MapKeyPath(t0) {
      this.ref = t0;
    },
    _$PropertyPath: function _$PropertyPath(t0, t1, t2) {
      this.name = t0;
      this.ownerUri = t1;
      this.ownerName = t2;
    },
    _$ObjectField: function _$ObjectField() {
    },
    _$_ObjectField: function _$_ObjectField(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.name = t0;
      _.isFinal = t1;
      _.ownerName = t2;
      _.ownerUri = t3;
      _.ref = t4;
      _.$eval = t5;
      _.isDefinedByDependency = t6;
    },
    _ObjectField: function _ObjectField() {
    },
    _$InstanceDetails: function _$InstanceDetails() {
    },
    _$NullInstance: function _$NullInstance(t0) {
      this.setter = t0;
    },
    NullInstance: function NullInstance() {
    },
    _$BoolInstance: function _$BoolInstance(t0, t1, t2) {
      this.displayString = t0;
      this.instanceRefId = t1;
      this.setter = t2;
    },
    BoolInstance: function BoolInstance() {
    },
    _$NumInstance: function _$NumInstance(t0, t1, t2) {
      this.displayString = t0;
      this.instanceRefId = t1;
      this.setter = t2;
    },
    NumInstance: function NumInstance() {
    },
    _$StringInstance: function _$StringInstance(t0, t1, t2) {
      this.displayString = t0;
      this.instanceRefId = t1;
      this.setter = t2;
    },
    StringInstance: function StringInstance() {
    },
    _$MapInstance: function _$MapInstance(t0, t1, t2, t3) {
      var _ = this;
      _.keys = t0;
      _.hash = t1;
      _.instanceRefId = t2;
      _.setter = t3;
    },
    MapInstance: function MapInstance() {
    },
    _$ListInstance: function _$ListInstance(t0, t1, t2, t3) {
      var _ = this;
      _.length = t0;
      _.hash = t1;
      _.instanceRefId = t2;
      _.setter = t3;
    },
    ListInstance: function ListInstance() {
    },
    _$ObjectInstance: function _$ObjectInstance(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.fields = t0;
      _.type = t1;
      _.hash = t2;
      _.instanceRefId = t3;
      _.setter = t4;
      _.evalForInstance = t5;
    },
    ObjectInstance: function ObjectInstance() {
    },
    _$EnumInstance: function _$EnumInstance(t0, t1, t2, t3) {
      var _ = this;
      _.type = t0;
      _.value = t1;
      _.setter = t2;
      _.instanceRefId = t3;
    },
    EnumInstance: function EnumInstance() {
    },
    _$InstancePath: function _$InstancePath() {
    },
    _$InstancePathCopyWithImpl: function _$InstancePathCopyWithImpl() {
    },
    __$InstancePathFromInstanceIdCopyWithImpl: function __$InstancePathFromInstanceIdCopyWithImpl(t0, t1, t2) {
      this._instance_details$_value = t0;
      this._then = t1;
      this.$ti = t2;
    },
    __$InstancePathFromInstanceIdCopyWithImpl_closure: function __$InstancePathFromInstanceIdCopyWithImpl_closure(t0, t1) {
      this._then = t0;
      this.$$Res = t1;
    },
    _$_InstancePathFromInstanceId: function _$_InstancePathFromInstanceId(t0, t1) {
      this.instanceId = t0;
      this.pathToProperty = t1;
    },
    _InstancePathFromInstanceId: function _InstancePathFromInstanceId() {
    },
    __$InstancePathFromProviderIdCopyWithImpl: function __$InstancePathFromProviderIdCopyWithImpl(t0, t1, t2) {
      this._instance_details$_value = t0;
      this._then = t1;
      this.$ti = t2;
    },
    __$InstancePathFromProviderIdCopyWithImpl_closure: function __$InstancePathFromProviderIdCopyWithImpl_closure(t0, t1) {
      this._then = t0;
      this.$$Res = t1;
    },
    _$_InstancePathFromProviderId: function _$_InstancePathFromProviderId(t0, t1) {
      this.providerId = t0;
      this.pathToProperty = t1;
    },
    _InstancePathFromProviderId: function _InstancePathFromProviderId() {
    },
    _InstanceDetails_Object__$InstanceDetails: function _InstanceDetails_Object__$InstanceDetails() {
    },
    _InstancePath_Object__$InstancePath: function _InstancePath_Object__$InstancePath() {
    },
    _ObjectField_Object__$ObjectField: function _ObjectField_Object__$ObjectField() {
    },
    _PathToProperty_Object__$PathToProperty: function _PathToProperty_Object__$PathToProperty() {
    },
    __$BoolInstance_BoolInstance_DiagnosticableTreeMixin: function __$BoolInstance_BoolInstance_DiagnosticableTreeMixin() {
    },
    __$EnumInstance_EnumInstance_DiagnosticableTreeMixin: function __$EnumInstance_EnumInstance_DiagnosticableTreeMixin() {
    },
    __$ListIndexPath_Object_DiagnosticableTreeMixin: function __$ListIndexPath_Object_DiagnosticableTreeMixin() {
    },
    __$ListInstance_ListInstance_DiagnosticableTreeMixin: function __$ListInstance_ListInstance_DiagnosticableTreeMixin() {
    },
    __$MapInstance_MapInstance_DiagnosticableTreeMixin: function __$MapInstance_MapInstance_DiagnosticableTreeMixin() {
    },
    __$MapKeyPath_Object_DiagnosticableTreeMixin: function __$MapKeyPath_Object_DiagnosticableTreeMixin() {
    },
    __$NullInstance_NullInstance_DiagnosticableTreeMixin: function __$NullInstance_NullInstance_DiagnosticableTreeMixin() {
    },
    __$NumInstance_NumInstance_DiagnosticableTreeMixin: function __$NumInstance_NumInstance_DiagnosticableTreeMixin() {
    },
    __$ObjectInstance_ObjectInstance_DiagnosticableTreeMixin: function __$ObjectInstance_ObjectInstance_DiagnosticableTreeMixin() {
    },
    __$PropertyPath_Object_DiagnosticableTreeMixin: function __$PropertyPath_Object_DiagnosticableTreeMixin() {
    },
    __$StringInstance_StringInstance_DiagnosticableTreeMixin: function __$StringInstance_StringInstance_DiagnosticableTreeMixin() {
    },
    __$_InstancePathFromInstanceId__InstancePathFromInstanceId_DiagnosticableTreeMixin: function __$_InstancePathFromInstanceId__InstancePathFromInstanceId_DiagnosticableTreeMixin() {
    },
    __$_InstancePathFromProviderId__InstancePathFromProviderId_DiagnosticableTreeMixin: function __$_InstancePathFromProviderId__InstancePathFromProviderId_DiagnosticableTreeMixin() {
    },
    __$_ObjectField__ObjectField_DiagnosticableTreeMixin: function __$_ObjectField__ObjectField_DiagnosticableTreeMixin() {
    },
    _resolveInstanceRefForPath(path, isAlive, $parent, ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceRef),
        $async$returnValue, $eval;
      var $async$_resolveInstanceRefForPath = 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 ($parent == null) {
                $async$returnValue = path.map$2$fromInstanceId$fromProviderId(0, new A._resolveInstanceRefForPath_closure(ref, isAlive), new A._resolveInstanceRefForPath_closure0(ref, isAlive));
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(ref.watch$1$1($.$get$evalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$_resolveInstanceRefForPath);
            case 3:
              // returning from await.
              $eval = $async$result;
              $async$returnValue = $parent.maybeMap$4$list$map$object$orElse(new A._resolveInstanceRefForPath_closure1(path, $eval, isAlive), new A._resolveInstanceRefForPath_closure2(path, $eval, isAlive), new A._resolveInstanceRefForPath_closure3(path, $eval, isAlive), new A._resolveInstanceRefForPath_closure4());
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_resolveInstanceRefForPath, $async$completer);
    },
    _mutate(newValueExpression, isAlive, $parent, path, ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1, t2, t3;
      var $async$_mutate = 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($parent.maybeMap$4$list$map$object$orElse(new A._mutate_closure(ref, path, newValueExpression, isAlive), new A._mutate_closure0(ref, path, newValueExpression, isAlive), new A._mutate_closure1(path, newValueExpression, isAlive), new A._mutate_closure2()), $async$_mutate);
            case 2:
              // returning from await.
              t1 = $.$get$instanceProvider().create$1(0, path.copyWith$1$pathToProperty(A._setArrayType([], type$.JSArray_PathToProperty)));
              t2 = ref.__ProviderElementBase__container;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = t2._getStateReader$1(t1)._framework0$_element;
              if (t3 != null)
                t3.invalidateSelf$0();
              t2.read$1$1(0, t1, type$.AsyncValue_InstanceDetails);
              $async$goto = 3;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).performHotReload$0(), $async$_mutate);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_mutate, $async$completer);
    },
    _resolveParent(ref, path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_InstanceDetails),
        $async$returnValue, t1, t2;
      var $async$_resolveParent = 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 = J.get$isNotEmpty$asx(path.get$pathToProperty()) ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $.$get$instanceProvider();
              t2 = path.get$parent(path);
              t2.toString;
              $async$goto = 6;
              return A._asyncAwait(ref.watch$1$1(t1.create$1(0, t2).get$future(), type$.FutureOr_nullable_InstanceDetails), $async$_resolveParent);
            case 6:
              // returning from await.
              t2 = $async$result;
              t1 = t2;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1 = null;
            case 4:
              // join
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_resolveParent, $async$completer);
    },
    _tryParseEnum(instance, $eval, instanceRefId, isAlive, setter) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_EnumInstance),
        $async$returnValue, t1, _nameRef, indexRef, nameInstanceFuture, $name, nameSplit;
      var $async$_tryParseEnum = 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 (instance.kind === "PlainInstance") {
                t1 = instance.fields;
                t1 = (t1 == null ? null : t1.length) !== 2;
              } else
                t1 = true;
              if (t1) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = new A._tryParseEnum_findPropertyWithName(instance);
              _nameRef = t1.call$1("_name");
              indexRef = t1.call$1("index");
              if (_nameRef == null || indexRef == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              nameInstanceFuture = $eval.safeGetInstance$2(_nameRef, isAlive);
              $async$goto = 3;
              return A._asyncAwait($eval.safeGetInstance$2(indexRef, isAlive), $async$_tryParseEnum);
            case 3:
              // returning from await.
              if ($async$result.kind !== "Int") {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait(nameInstanceFuture, $async$_tryParseEnum);
            case 4:
              // returning from await.
              $name = $async$result;
              if ($name.kind !== "String") {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              nameSplit = $name.get$valueAsString($name).split(".");
              t1 = instance.Instance_classRef;
              t1 = t1.get$name(t1);
              t1.toString;
              $async$returnValue = new A._$EnumInstance(t1, B.JSArray_methods.get$last(nameSplit), setter, instanceRefId);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_tryParseEnum, $async$completer);
    },
    _parseSetter(isAlive, $parent, path, ref) {
      var t1;
      if ($parent == null)
        return null;
      t1 = new A._parseSetter_mutate(path, ref, isAlive, $parent);
      return $parent.maybeMap$4$list$map$object$orElse(new A._parseSetter_closure(t1), new A._parseSetter_closure0(t1), new A._parseSetter_closure1(path, t1), new A._parseSetter_closure2());
    },
    tryParsePackageName(uri) {
      var t1 = $.$get$_packageNameExp().firstMatch$1(uri);
      return t1 == null ? null : t1._match[1];
    },
    _parseFields(ref, $eval, instance, classInstance, appName, isAlive) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_ObjectField),
        $async$returnValue, t2, t1;
      var $async$_parseFields = 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 = instance.fields;
              t1.toString;
              t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Future<ObjectField>>");
              $async$returnValue = A.Future_wait(A.List_List$of(new A.MappedListIterable(t1, new A._parseFields_closure($eval, isAlive, ref, appName), t2), true, t2._eval$1("ListIterable.E")), type$.ObjectField);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_parseFields, $async$completer);
    },
    _resolveInstanceRefForPath_closure0: function _resolveInstanceRefForPath_closure0(t0, t1) {
      this.ref = t0;
      this.isAlive = t1;
    },
    _resolveInstanceRefForPath_closure: function _resolveInstanceRefForPath_closure(t0, t1) {
      this.ref = t0;
      this.isAlive = t1;
    },
    _resolveInstanceRefForPath_closure2: function _resolveInstanceRefForPath_closure2(t0, t1, t2) {
      this.path = t0;
      this.$eval = t1;
      this.isAlive = t2;
    },
    _resolveInstanceRefForPath_closure1: function _resolveInstanceRefForPath_closure1(t0, t1, t2) {
      this.path = t0;
      this.$eval = t1;
      this.isAlive = t2;
    },
    _resolveInstanceRefForPath_closure3: function _resolveInstanceRefForPath_closure3(t0, t1, t2) {
      this.path = t0;
      this.$eval = t1;
      this.isAlive = t2;
    },
    _resolveInstanceRefForPath__closure: function _resolveInstanceRefForPath__closure(t0) {
      this.propertyPath = t0;
    },
    _resolveInstanceRefForPath_closure4: function _resolveInstanceRefForPath_closure4() {
    },
    _mutate_closure: function _mutate_closure(t0, t1, t2, t3) {
      var _ = this;
      _.ref = t0;
      _.path = t1;
      _.newValueExpression = t2;
      _.isAlive = t3;
    },
    _mutate_closure0: function _mutate_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.ref = t0;
      _.path = t1;
      _.newValueExpression = t2;
      _.isAlive = t3;
    },
    _mutate_closure1: function _mutate_closure1(t0, t1, t2) {
      this.path = t0;
      this.newValueExpression = t1;
      this.isAlive = t2;
    },
    _mutate__closure: function _mutate__closure(t0) {
      this.propertyPath = t0;
    },
    _mutate_closure2: function _mutate_closure2() {
    },
    _tryParseEnum_findPropertyWithName: function _tryParseEnum_findPropertyWithName(t0) {
      this.instance = t0;
    },
    _tryParseEnum_findPropertyWithName_closure: function _tryParseEnum_findPropertyWithName_closure(t0) {
      this.name = t0;
    },
    _parseSetter_mutate: function _parseSetter_mutate(t0, t1, t2, t3) {
      var _ = this;
      _.path = t0;
      _.ref = t1;
      _.isAlive = t2;
      _.parent = t3;
    },
    _parseSetter_closure0: function _parseSetter_closure0(t0) {
      this.mutate = t0;
    },
    _parseSetter_closure: function _parseSetter_closure(t0) {
      this.mutate = t0;
    },
    _parseSetter_closure1: function _parseSetter_closure1(t0, t1) {
      this.path = t0;
      this.mutate = t1;
    },
    _parseSetter__closure: function _parseSetter__closure(t0) {
      this.keyPath = t0;
    },
    _parseSetter_closure2: function _parseSetter_closure2() {
    },
    instanceProvider_closure: function instanceProvider_closure() {
    },
    instanceProvider__closure: function instanceProvider__closure() {
    },
    instanceProvider__closure0: function instanceProvider__closure0() {
    },
    _parseFields_closure: function _parseFields_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$eval = t0;
      _.isAlive = t1;
      _.ref = t2;
      _.appName = t3;
    },
    _providerChanged_closure: function _providerChanged_closure() {
    },
    _providerChanged__closure: function _providerChanged__closure(t0) {
      this.id = t0;
    },
    isExpandedProvider_closure: function isExpandedProvider_closure() {
    },
    estimatedChildCountProvider_closure: function estimatedChildCountProvider_closure() {
    },
    estimatedChildCountProvider_closure_estimatedChildCount: function estimatedChildCountProvider_closure_estimatedChildCount(t0) {
      this.ref = t0;
    },
    estimatedChildCountProvider_closure_estimatedChildCount_one: function estimatedChildCountProvider_closure_estimatedChildCount_one() {
    },
    estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount: function estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount(t0, t1, t2) {
      this.ref = t0;
      this.path = t1;
      this.estimatedChildCount = t2;
    },
    estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure: function estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure(t0, t1) {
      this.estimatedChildCount = t0;
      this.path = t1;
    },
    estimatedChildCountProvider__estimatedChildCount_closure1: function estimatedChildCountProvider__estimatedChildCount_closure1() {
    },
    estimatedChildCountProvider__estimatedChildCount_closure0: function estimatedChildCountProvider__estimatedChildCount_closure0() {
    },
    estimatedChildCountProvider__estimatedChildCount_closure: function estimatedChildCountProvider__estimatedChildCount_closure(t0, t1) {
      this.one = t0;
      this.expandableEstimatedChildCount = t1;
    },
    estimatedChildCountProvider__estimatedChildCount__closure0: function estimatedChildCountProvider__estimatedChildCount__closure0(t0) {
      this.expandableEstimatedChildCount = t0;
    },
    estimatedChildCountProvider__estimatedChildCount___closure0: function estimatedChildCountProvider__estimatedChildCount___closure0() {
    },
    estimatedChildCountProvider__estimatedChildCount__closure: function estimatedChildCountProvider__estimatedChildCount__closure(t0) {
      this.expandableEstimatedChildCount = t0;
    },
    estimatedChildCountProvider__estimatedChildCount__closure1: function estimatedChildCountProvider__estimatedChildCount__closure1(t0) {
      this.expandableEstimatedChildCount = t0;
    },
    estimatedChildCountProvider__estimatedChildCount___closure: function estimatedChildCountProvider__estimatedChildCount___closure() {
    },
    InstanceViewer: function InstanceViewer(t0, t1, t2) {
      this.rootPath = t0;
      this.showInternalProperties = t1;
      this.key = t2;
    },
    _InstanceViewerState: function _InstanceViewerState(t0, t1) {
      var _ = this;
      _.scrollController = t0;
      _.__ConsumerState_ref = $;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _InstanceViewerState__buildListViewItems_closure1: function _InstanceViewerState__buildListViewItems_closure1() {
    },
    _InstanceViewerState__buildListViewItems_closure0: function _InstanceViewerState__buildListViewItems_closure0(t0, t1) {
      this.$this = t0;
      this.path = t1;
    },
    _InstanceViewerState__buildListViewItems_closure: function _InstanceViewerState__buildListViewItems_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.ref = t1;
      _.path = t2;
      _.disableExpand = t3;
      _.context = t4;
    },
    _InstanceViewerState__buildListViewItems__closure1: function _InstanceViewerState__buildListViewItems__closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.context = t1;
      _.ref = t2;
      _.path = t3;
    },
    _InstanceViewerState__buildListViewItems__closure: function _InstanceViewerState__buildListViewItems__closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.context = t1;
      _.ref = t2;
      _.path = t3;
    },
    _InstanceViewerState__buildListViewItems__closure0: function _InstanceViewerState__buildListViewItems__closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.context = t1;
      _.ref = t2;
      _.path = t3;
    },
    _InstanceViewerState__buildListViewItems__closure2: function _InstanceViewerState__buildListViewItems__closure2() {
    },
    _InstanceViewerState__buildHeader_closure0: function _InstanceViewerState__buildHeader_closure0() {
    },
    _InstanceViewerState__buildHeader_closure3: function _InstanceViewerState__buildHeader_closure3() {
    },
    _InstanceViewerState__buildHeader_closure6: function _InstanceViewerState__buildHeader_closure6() {
    },
    _InstanceViewerState__buildHeader_closure4: function _InstanceViewerState__buildHeader_closure4() {
    },
    _InstanceViewerState__buildHeader_closure: function _InstanceViewerState__buildHeader_closure() {
    },
    _InstanceViewerState__buildHeader_closure2: function _InstanceViewerState__buildHeader_closure2() {
    },
    _InstanceViewerState__buildHeader_closure1: function _InstanceViewerState__buildHeader_closure1() {
    },
    _InstanceViewerState__buildHeader_closure5: function _InstanceViewerState__buildHeader_closure5() {
    },
    _ObjectHeader: function _ObjectHeader(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.type = t0;
      _.hash = t1;
      _.meta = t2;
      _.startToken = t3;
      _.endToken = t4;
      _.key = t5;
    },
    _EditableField: function _EditableField(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.initialEditString = t1;
      _.setter = t2;
      _.key = t3;
    },
    _EditableFieldState: function _EditableFieldState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.controller = t0;
      _.focusNode = t1;
      _.textFieldFocusNode = t2;
      _.isHovering = false;
      _._isAlive = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    _EditableFieldState_build_closure: function _EditableFieldState_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    _EditableFieldState_build_closure0: function _EditableFieldState_build_closure0(t0) {
      this.$this = t0;
    },
    _EditableFieldState_build_closure1: function _EditableFieldState_build_closure1(t0, t1, t2) {
      this.$this = t0;
      this.editingChild = t1;
      this.displayChild = t2;
    },
    _EditableFieldState_build__closure1: function _EditableFieldState_build__closure1(t0) {
      this.$this = t0;
    },
    _EditableFieldState_build__closure: function _EditableFieldState_build__closure(t0) {
      this.$this = t0;
    },
    _EditableFieldState_build___closure0: function _EditableFieldState_build___closure0(t0) {
      this.$this = t0;
    },
    _EditableFieldState_build__closure0: function _EditableFieldState_build__closure0(t0) {
      this.$this = t0;
    },
    _EditableFieldState_build___closure: function _EditableFieldState_build___closure(t0) {
      this.$this = t0;
    },
    _Expandable: function _Expandable(t0, t1, t2, t3) {
      var _ = this;
      _.isExpanded = t0;
      _.isExpandable = t1;
      _.title = t2;
      _.key = t3;
    },
    _Expandable_build_closure0: function _Expandable_build_closure0(t0) {
      this.isExpanded = t0;
    },
    _Expandable_build_closure: function _Expandable_build_closure() {
    },
    parseSentinel(value, $T) {
      if ($T._is(value))
        return new A._$_ResultData(value, $T._eval$1("_$_ResultData<0>"));
      if (value == null)
        return new A._$_ResultError(new A.ArgumentError(false, null, null, "Expected " + A.S(value) + " to be an instance of " + A.createRuntimeType($T).toString$0(0) + " but received `null`"), A.StackTrace_current(), $T._eval$1("_$_ResultError<0>"));
      if (value instanceof A.Sentinel)
        return new A._$_ResultError(new A.SentinelException0(value), A.StackTrace_current(), $T._eval$1("_$_ResultError<0>"));
      return new A._$_ResultError(value, A.StackTrace_current(), $T._eval$1("_$_ResultError<0>"));
    },
    Result0: function Result0() {
    },
    Result_dataOrThrow_closure: function Result_dataOrThrow_closure(t0) {
      this.$this = t0;
    },
    _$Result: function _$Result() {
    },
    _$_ResultData: function _$_ResultData(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    _ResultData: function _ResultData() {
    },
    _$_ResultError: function _$_ResultError(t0, t1, t2) {
      this.error = t0;
      this.stackTrace = t1;
      this.$ti = t2;
    },
    _ResultError: function _ResultError() {
    },
    _Result_Object__$Result: function _Result_Object__$Result() {
    },
    __$_ResultData__ResultData_DiagnosticableTreeMixin: function __$_ResultData__ResultData_DiagnosticableTreeMixin() {
    },
    __$_ResultError__ResultError_DiagnosticableTreeMixin: function __$_ResultError__ResultError_DiagnosticableTreeMixin() {
    },
    selectedProviderIdProvider_closure: function selectedProviderIdProvider_closure() {
    },
    selectedProviderIdProvider__closure: function selectedProviderIdProvider__closure(t0) {
      this.controller = t0;
    },
    selectedProviderIdProvider___closure: function selectedProviderIdProvider___closure(t0) {
      this.controller = t0;
    },
    ProviderList: function ProviderList(t0) {
      this.key = t0;
    },
    _ProviderListState: function _ProviderListState(t0, t1) {
      var _ = this;
      _.scrollController = t0;
      _.__ConsumerState_ref = $;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _ProviderListState_build_closure1: function _ProviderListState_build_closure1() {
    },
    _ProviderListState_build_closure0: function _ProviderListState_build_closure0() {
    },
    _ProviderListState_build_closure: function _ProviderListState_build_closure(t0) {
      this.$this = t0;
    },
    _ProviderListState_build__closure: function _ProviderListState_build__closure(t0) {
      this.nodes = t0;
    },
    ProviderNodeItem: function ProviderNodeItem(t0, t1) {
      this.node = t0;
      this.key = t1;
    },
    ProviderNodeItem_build_closure: function ProviderNodeItem_build_closure(t0, t1) {
      this.$this = t0;
      this.ref = t1;
    },
    ProviderNode: function ProviderNode(t0, t1) {
      this.id = t0;
      this.type = t1;
    },
    _providerListChanged_closure: function _providerListChanged_closure() {
    },
    _providerListChanged__closure: function _providerListChanged__closure() {
    },
    _rawProviderIdsProvider_closure: function _rawProviderIdsProvider_closure() {
    },
    _rawProviderNodeProvider_closure: function _rawProviderNodeProvider_closure() {
    },
    _rawProviderNodeProvider_closure_getFieldWithName: function _rawProviderNodeProvider_closure_getFieldWithName(t0, t1, t2) {
      this.$eval = t0;
      this.providerNodeInstance = t1;
      this.isAlive = t2;
    },
    _rawProviderNodeProvider__getFieldWithName_closure: function _rawProviderNodeProvider__getFieldWithName_closure(t0) {
      this.name = t0;
    },
    sortedProviderNodesProvider_closure: function sortedProviderNodesProvider_closure() {
    },
    sortedProviderNodesProvider__closure: function sortedProviderNodesProvider__closure(t0) {
      this.ref = t0;
    },
    sortedProviderNodesProvider__closure0: function sortedProviderNodesProvider__closure0() {
    },
    _hasErrorProvider_closure: function _hasErrorProvider_closure() {
    },
    _selectedProviderNode_closure: function _selectedProviderNode_closure() {
    },
    _selectedProviderNode__closure: function _selectedProviderNode__closure(t0) {
      this.selectedId = t0;
    },
    _showInternals_closure: function _showInternals_closure() {
    },
    ProviderScreen: function ProviderScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.showFloatingDebuggerControls = t0;
      _.screenId = t1;
      _.title = t2;
      _.icon = t3;
      _.tabKey = t4;
      _.requiresLibrary = t5;
      _.requiresDartVm = t6;
      _.requiresDebugBuild = t7;
      _.requiresVmDeveloperMode = t8;
      _.worksOffline = t9;
      _.shouldShowForFlutterVersion = t10;
    },
    ProviderScreenWrapper: function ProviderScreenWrapper(t0) {
      this.key = t0;
    },
    _ProviderScreenWrapperState: function _ProviderScreenWrapperState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    ProviderScreenBody: function ProviderScreenBody(t0) {
      this.key = t0;
    },
    ProviderScreenBody_build_closure: function ProviderScreenBody_build_closure(t0) {
      this.context = t0;
    },
    ProviderScreenBody_build_closure0: function ProviderScreenBody_build_closure0(t0) {
      this.context = t0;
    },
    ProviderScreenBody_build__closure: function ProviderScreenBody_build__closure() {
    },
    _StateInspectorSettingsDialog: function _StateInspectorSettingsDialog(t0) {
      this.key = t0;
    },
    _StateInspectorSettingsDialog_build_closure0: function _StateInspectorSettingsDialog_build_closure0(t0) {
      this.ref = t0;
    },
    _StateInspectorSettingsDialog_build__closure: function _StateInspectorSettingsDialog_build__closure() {
    },
    _StateInspectorSettingsDialog_build_closure: function _StateInspectorSettingsDialog_build_closure(t0) {
      this.ref = t0;
    },
    _StateInspectorSettingsDialog_build__closure0: function _StateInspectorSettingsDialog_build__closure0() {
    },
    ErrorLoggerObserver: function ErrorLoggerObserver() {
    },
    IsolateStatisticsView: function IsolateStatisticsView(t0, t1) {
      this.title = t0;
      this.icon = t1;
    },
    IsolateStatisticsViewBody: function IsolateStatisticsViewBody(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    IsolateStatisticsViewBody_build_closure: function IsolateStatisticsViewBody_build_closure(t0) {
      this.$this = t0;
    },
    GeneralIsolateStatisticsWidget: function GeneralIsolateStatisticsWidget(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    IsolateMemoryStatisticsWidget: function IsolateMemoryStatisticsWidget(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    TagStatisticsWidget: function TagStatisticsWidget(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.percentage = t1;
      _.controller = t2;
      _.key = t3;
    },
    TagStatisticsWidget_build_closure: function TagStatisticsWidget_build_closure() {
    },
    TagStatisticsWidget_build_closure0: function TagStatisticsWidget_build_closure0() {
    },
    _TagColumn: function _TagColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _PercentageColumn: function _PercentageColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _PortIDColumn: function _PortIDColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _PortNameColumn: function _PortNameColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _StackTraceViewerFrameColumn: function _StackTraceViewerFrameColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    StackTraceViewerWidget: function StackTraceViewerWidget(t0, t1, t2) {
      this.stackTrace = t0;
      this.frame = t1;
      this.key = t2;
    },
    StackTraceViewerWidget_build_closure: function StackTraceViewerWidget_build_closure() {
    },
    StackTraceViewerWidget_build_closure0: function StackTraceViewerWidget_build_closure0() {
    },
    StackTraceViewerWidget_build_closure1: function StackTraceViewerWidget_build_closure1() {
    },
    IsolatePortsWidget: function IsolatePortsWidget(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _IsolatePortsWidgetState: function _IsolatePortsWidgetState(t0, t1, t2, t3) {
      var _ = this;
      _.id = t0;
      _.name = t1;
      _.selectedPort = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _IsolatePortsWidgetState_build_closure: function _IsolatePortsWidgetState_build_closure() {
    },
    _IsolatePortsWidgetState_build_closure0: function _IsolatePortsWidgetState_build_closure0(t0) {
      this.$this = t0;
    },
    _IsolatePortsWidgetState_build__closure: function _IsolatePortsWidgetState_build__closure(t0, t1) {
      this.$this = t0;
      this.port = t1;
    },
    _ServiceExtensionNameColumn: function _ServiceExtensionNameColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    ServiceExtensionsWidget: function ServiceExtensionsWidget(t0, t1, t2) {
      this.name = t0;
      this.controller = t1;
      this.key = t2;
    },
    ServiceExtensionsWidget_build_closure: function ServiceExtensionsWidget_build_closure() {
    },
    ServiceExtensionsWidget_build_closure0: function ServiceExtensionsWidget_build_closure0() {
    },
    IsolateStatisticsViewController$() {
      var t1 = new A.IsolateStatisticsViewController(A.CpuProfilerController$(null), new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), A._setArrayType([], type$.JSArray_InstanceRef), A._setArrayType([], type$.JSArray_VMTag), A._setArrayType([], type$.JSArray_String), A.Disposer$());
      t1.IsolateStatisticsViewController$0();
      return t1;
    },
    IsolateStatisticsViewController: function IsolateStatisticsViewController(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.cpuProfilerController = t0;
      _._isolate_statistics_view_controller$_isolate = null;
      _._refreshing = t1;
      _._ports = t2;
      _._tags = t3;
      _._isolate_statistics_view_controller$_serviceExtensions = t4;
      _.AutoDisposeControllerMixin__delegate = t5;
    },
    IsolateStatisticsViewController_closure: function IsolateStatisticsViewController_closure(t0) {
      this.$this = t0;
    },
    IsolateStatisticsViewController_closure0: function IsolateStatisticsViewController_closure0(t0) {
      this.$this = t0;
    },
    VMTag: function VMTag(t0, t1) {
      this.name = t0;
      this.percentage = t1;
    },
    _IsolateStatisticsViewController_DisposableController_AutoDisposeControllerMixin: function _IsolateStatisticsViewController_DisposableController_AutoDisposeControllerMixin() {
    },
    VMInfoCard: function VMInfoCard(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.rowKeyValues = t1;
      _.table = t2;
      _.key = t3;
    },
    VMInfoList: function VMInfoList(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.rowKeyValues = t1;
      _.table = t2;
      _.key = t3;
    },
    VMDeveloperToolsController: function VMDeveloperToolsController(t0, t1) {
      this._vm_developer_tools_controller$_selectedIndex = t0;
      this._showIsolateSelector = t1;
    },
    VMDeveloperView: function VMDeveloperView() {
    },
    VMDeveloperToolsScreen: function VMDeveloperToolsScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.controller = t0;
      _.showFloatingDebuggerControls = t1;
      _.screenId = t2;
      _.title = t3;
      _.icon = t4;
      _.tabKey = t5;
      _.requiresLibrary = t6;
      _.requiresDartVm = t7;
      _.requiresDebugBuild = t8;
      _.requiresVmDeveloperMode = t9;
      _.worksOffline = t10;
      _.shouldShowForFlutterVersion = t11;
    },
    VMDeveloperToolsScreenBody: function VMDeveloperToolsScreenBody(t0) {
      this.key = t0;
    },
    _VMDeveloperToolsScreenState: function _VMDeveloperToolsScreenState(t0, t1, t2) {
      var _ = this;
      _.ProvidedControllerMixin__controller = t0;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _VMDeveloperToolsScreenState_build_closure: function _VMDeveloperToolsScreenState_build_closure(t0) {
      this.$this = t0;
    },
    __VMDeveloperToolsScreenState_State_AutoDisposeMixin: function __VMDeveloperToolsScreenState_State_AutoDisposeMixin() {
    },
    __VMDeveloperToolsScreenState_State_AutoDisposeMixin_ProvidedControllerMixin: function __VMDeveloperToolsScreenState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    IsolatesPreviewWidget$(controller, systemIsolates) {
      var _null = null;
      return new A.IsolatesPreviewWidget(new A._IsolateNameColumn("Name", _null, _null, _null, B.ColumnAlignment_0), new A._IsolateIDColumn("ID", _null, _null, _null, B.ColumnAlignment_0), new A._IsolateNewSpaceColumn("New Space", _null, _null, _null, B.ColumnAlignment_0), new A._IsolateOldSpaceColumn("Old Space", _null, _null, _null, B.ColumnAlignment_0), new A._IsolateHeapColumn("Heap", _null, _null, _null, B.ColumnAlignment_0), controller, systemIsolates, _null);
    },
    VMStatisticsView: function VMStatisticsView(t0, t1) {
      this.title = t0;
      this.icon = t1;
    },
    VMStatisticsViewBody: function VMStatisticsViewBody(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    VMStatisticsViewBody_build_closure: function VMStatisticsViewBody_build_closure(t0) {
      this.$this = t0;
    },
    VMStatisticsWidget: function VMStatisticsWidget(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    GeneralVMStatisticsWidget: function GeneralVMStatisticsWidget(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    ProcessStatisticsWidget: function ProcessStatisticsWidget(t0, t1) {
      this.controller = t0;
      this.key = t1;
    },
    _IsolateNameColumn: function _IsolateNameColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _IsolateIDColumn: function _IsolateIDColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _IsolateMemoryColumn: function _IsolateMemoryColumn() {
    },
    _IsolateNewSpaceColumn: function _IsolateNewSpaceColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _IsolateOldSpaceColumn: function _IsolateOldSpaceColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _IsolateHeapColumn: function _IsolateHeapColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    IsolatesPreviewWidget: function IsolatesPreviewWidget(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.name = t0;
      _.number = t1;
      _.newSpace = t2;
      _.oldSpace = t3;
      _.heap = t4;
      _.controller = t5;
      _.systemIsolates = t6;
      _.key = t7;
    },
    IsolatesPreviewWidget_build_closure: function IsolatesPreviewWidget_build_closure() {
    },
    IsolatesPreviewWidget_build_closure0: function IsolatesPreviewWidget_build_closure0() {
    },
    VMStatisticsViewController: function VMStatisticsViewController(t0, t1, t2) {
      var _ = this;
      _._vm_statistics_view_controller$_refreshing = t0;
      _._vm_statistics_view_controller$_vm = null;
      _._vm_statistics_view_controller$_isolates = t1;
      _._systemIsolates = t2;
    },
    VMStatisticsViewController_refresh_closure: function VMStatisticsViewController_refresh_closure(t0) {
      this.$this = t0;
    },
    VMStatisticsViewController_refresh_closure0: function VMStatisticsViewController_refresh_closure0(t0) {
      this.$this = t0;
    },
    ScriptManager$() {
      var t1 = type$.String;
      t1 = new A.ScriptManager(new A.ValueNotifier(A._setArrayType([], type$.JSArray_ScriptRef), $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_List_ScriptRef), new A._ScriptCache(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Script), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_Script)), A.Disposer$());
      t1.ScriptManager$0();
      return t1;
    },
    ScriptManager: function ScriptManager(t0, t1, t2) {
      var _ = this;
      _._sortedScripts = t0;
      _._script_manager$_lastService = null;
      _._scriptCache = t1;
      _.AutoDisposeControllerMixin__delegate = t2;
    },
    ScriptManager_closure: function ScriptManager_closure(t0) {
      this.$this = t0;
    },
    ScriptManager_closure0: function ScriptManager_closure0(t0) {
      this.$this = t0;
    },
    ScriptManager_retrieveAndSortScripts_closure: function ScriptManager_retrieveAndSortScripts_closure() {
    },
    _ScriptCache: function _ScriptCache(t0, t1) {
      this._scripts = t0;
      this._inProgress = t1;
    },
    _ScriptCache_getScript_closure: function _ScriptCache_getScript_closure() {
    },
    _ScriptCache_getScript_closure0: function _ScriptCache_getScript_closure0(t0, t1) {
      this.scripts = t0;
      this.scriptId = t1;
    },
    _ScriptManager_DisposableController_AutoDisposeControllerMixin: function _ScriptManager_DisposableController_AutoDisposeControllerMixin() {
    },
    IsolateManager: function IsolateManager(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._isolateStates = t0;
      _._isolate_manager$_service = null;
      _._isolateCreatedController = t1;
      _._isolateExitedController = t2;
      _._selectedIsolate = t3;
      _._lastIsolateIndex = 0;
      _._isolateIndexMap = t4;
      _._isolates = t5;
      _._mainIsolate = t6;
      _._isolateRunnableCompleters = t7;
      _._auto_dispose$_subscriptions = t8;
      _._focusNodes = t9;
      _._listenables = t10;
      _._auto_dispose$_listeners = t11;
    },
    IsolateManager_init_closure: function IsolateManager_init_closure(t0) {
      this.$this = t0;
    },
    IsolateManager__loadIsolateState_closure: function IsolateManager__loadIsolateState_closure() {
    },
    IsolateManager__handleIsolateEvent_closure: function IsolateManager__handleIsolateEvent_closure() {
    },
    IsolateManager__computeMainIsolate_closure: function IsolateManager__computeMainIsolate_closure() {
    },
    IsolateManager_getIsolateCached_closure: function IsolateManager_getIsolateCached_closure(t0) {
      this.isolateRef = t0;
    },
    IsolateState: function IsolateState(t0, t1, t2) {
      var _ = this;
      _.isolateRef = t0;
      _._isolate_state$_completer = t1;
      _._isolateNow = null;
      _._isPaused = t2;
    },
    JsonToServiceCache: function JsonToServiceCache(t0) {
      this._json_to_service_cache$_cache = t0;
      this._idCount = 0;
    },
    ResolvedUriManager: function ResolvedUriManager() {
      this._packagePathMappings = null;
    },
    _PackagePathMappings: function _PackagePathMappings(t0, t1) {
      this._isolatePackageToFullPathMappings = t0;
      this._isolateFullPathToPackageMappings = t1;
    },
    _PackagePathMappings_addMappings_closure: function _PackagePathMappings_addMappings_closure() {
    },
    _PackagePathMappings_addMappings_closure0: function _PackagePathMappings_addMappings_closure0() {
    },
    _connectWithSse(uri, onError, finishedCompleter) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.VmServiceWrapper),
        $async$returnValue, client, t2, t3, stream, service, t1;
      var $async$_connectWithSse = 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_VmServiceWrapper);
              uri = uri.get$scheme() === "sse" ? uri.replace$1$scheme(0, "http") : uri.replace$1$scheme(0, "https");
              client = A.SseClient$(uri.toString$0(0));
              t2 = client._incomingController;
              t3 = A._instanceType(t2)._eval$1("_ControllerStream<1>");
              stream = A._AsBroadcastStream$(new A._ControllerStream(t2, t3), null, null, t3._eval$1("Stream.T"));
              t3 = client._outgoingController;
              t2 = new A._StreamSinkWrapper(t3, A._instanceType(t3)._eval$1("_StreamSinkWrapper<1>"));
              service = A.VmServiceWrapper$fromNewVmService(stream, t2.get$add(t2), uri);
              t3.get$done().whenComplete$1(new A._connectWithSse_closure(finishedCompleter, service));
              new A._AsyncCompleter(t1, type$._AsyncCompleter_VmServiceWrapper).complete$1(0, service);
              stream.drain$1$0(type$.dynamic).catchError$1(onError);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_connectWithSse, $async$completer);
    },
    _connectWithWebSocket(uri, onError, finishedCompleter) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.VmServiceWrapper),
        $async$returnValue, path, ws, t1, service, scheme;
      var $async$_connectWithWebSocket = 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
              scheme = uri.isScheme$1("wss") || uri.isScheme$1("https") ? "wss" : "ws";
              if (B.JSString_methods.endsWith$1(uri.get$path(uri), "/ws"))
                path = uri.get$path(uri);
              else
                path = B.JSString_methods.endsWith$1(uri.get$path(uri), "/") ? uri.get$path(uri) + "ws" : uri.get$path(uri) + "/ws";
              uri = uri.replace$2$path$scheme(0, path, scheme);
              ws = A.HtmlWebSocketChannel$connect(uri, null);
              t1 = ws._html0$_controller.__StreamChannelController__foreign;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1.__GuaranteeChannel__streamController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              service = A.VmServiceWrapper$fromNewVmService(new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).handleError$1(onError), new A._connectWithWebSocket_closure(ws), uri);
              if (ws._closeCode != null) {
                onError.call$1(null);
                $async$returnValue = service;
                // goto return
                $async$goto = 1;
                break;
              }
              ws.get$sink()._stream_sink$_sink._doneCompleter.future.then$1$2$onError(new A._connectWithWebSocket_closure0(finishedCompleter, service), onError, type$.void);
              $async$returnValue = service;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_connectWithWebSocket, $async$completer);
    },
    connect(uri, finishedCompleter) {
      var t1 = new A._Future($.Zone__current, type$._Future_VmServiceWrapper),
        connectedCompleter = new A._AsyncCompleter(t1, type$._AsyncCompleter_VmServiceWrapper),
        t2 = new A.connect_onError(connectedCompleter),
        t3 = type$.Null;
      new A.connect_connectHelper(uri, t2, finishedCompleter).call$0().then$1$2$onError(new A.connect_closure(connectedCompleter), t2, t3);
      finishedCompleter.future.then$1$1(new A.connect_closure0(connectedCompleter, t2), t3);
      return t1;
    },
    _connectWithSse_closure: function _connectWithSse_closure(t0, t1) {
      this.finishedCompleter = t0;
      this.service = t1;
    },
    _connectWithWebSocket_closure: function _connectWithWebSocket_closure(t0) {
      this.ws = t0;
    },
    _connectWithWebSocket_closure0: function _connectWithWebSocket_closure0(t0, t1) {
      this.finishedCompleter = t0;
      this.service = t1;
    },
    connect_onError: function connect_onError(t0) {
      this.connectedCompleter = t0;
    },
    connect_connectHelper: function connect_connectHelper(t0, t1, t2) {
      this.uri = t0;
      this.onError = t1;
      this.finishedCompleter = t2;
    },
    connect_closure: function connect_closure(t0) {
      this.connectedCompleter = t0;
    },
    connect_closure0: function connect_closure0(t0, t1) {
      this.connectedCompleter = t0;
      this.onError = t1;
    },
    ServiceExtensionState$(enabled, value) {
      return new A.ServiceExtensionState(enabled, value);
    },
    ServiceExtensionManager: function ServiceExtensionManager(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _._service_extension_manager$_service = null;
      _._checkForFirstFrameStarted = false;
      _._isolateManager = t0;
      _._firstFrameReceived = t1;
      _._serviceExtensionAvailable = t2;
      _._serviceExtensionStateController = t3;
      _._serviceExtensions = t4;
      _._enabledServiceExtensions = t5;
      _._maybeRegisteringServiceExtensions = t6;
      _._pendingServiceExtensions = t7;
      _._callbacksOnIsolateResume = t8;
      _.__ServiceExtensionManager__connectedApp = $;
      _._auto_dispose$_subscriptions = t9;
      _._focusNodes = t10;
      _._listenables = t11;
      _._auto_dispose$_listeners = t12;
    },
    ServiceExtensionManager__restoreExtensionFromDevice_restore: function ServiceExtensionManager__restoreExtensionFromDevice_restore(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.isolateRef = t1;
      _.name = t2;
      _.expectedValueType = t3;
    },
    ServiceExtensionManager__restoreExtensionFromDevice_closure: function ServiceExtensionManager__restoreExtensionFromDevice_closure() {
    },
    ServiceExtensionManager__callServiceExtension_callExtension: function ServiceExtensionManager__callServiceExtension_callExtension(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.mainIsolate = t1;
      _.value = t2;
      _.name = t3;
    },
    ServiceExtensionManager__callServiceExtension_callExtension_call: function ServiceExtensionManager__callServiceExtension_callExtension_call(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    ServiceExtensionManager__callServiceExtension_callExtension_closure: function ServiceExtensionManager__callServiceExtension_callExtension_closure(t0, t1) {
      this.$call = t0;
      this.value = t1;
    },
    ServiceExtensionManager__callServiceExtension_closure: function ServiceExtensionManager__callServiceExtension_closure() {
    },
    ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter: function ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure: function ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure(t0, t1, t2) {
      this.listenable = t0;
      this.completer = t1;
      this.listener = t2;
    },
    ServiceExtensionManager__hasServiceExtension_closure: function ServiceExtensionManager__hasServiceExtension_closure(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    ServiceExtensionManager__serviceExtensionState_closure: function ServiceExtensionManager__serviceExtensionState_closure(t0, t1) {
      this.$this = t0;
      this.name = t1;
    },
    ServiceExtensionState: function ServiceExtensionState(t0, t1) {
      this.enabled = t0;
      this.value = t1;
    },
    _wrapReloadCall($name, reloadCall) {
      return A._wrapReloadCall$body($name, reloadCall);
    },
    _wrapReloadCall$body($name, reloadCall) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, timer, message, message0, timer0, t1, exception, $async$exception;
      var $async$_wrapReloadCall = 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;
              timer0 = new A.Stopwatch();
              $.$get$Stopwatch__frequency();
              timer0.start$0(0);
              timer = timer0;
              t1 = $.globals.$index(0, B.Type_MessageBus_MAi).__MessageBus__controller;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.add$1(0, new A.BusEvent($name + ".start", null));
              $async$goto = 6;
              return A._asyncAwait(reloadCall.call$0(), $async$_wrapReloadCall);
            case 6:
              // returning from await.
              t1 = timer;
              if (t1._stop == null)
                t1._stop = $.Primitives_timerTicks.call$0();
              message = $name + "ed in " + A.renderDuration(A.Duration$(timer.get$elapsedMicroseconds(), 0));
              t1 = $.globals.$index(0, B.Type_MessageBus_MAi).__MessageBus__controller;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.add$1(0, new A.BusEvent($name + ".end", message));
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              message0 = "error performing " + $name;
              t1 = $.globals.$index(0, B.Type_MessageBus_MAi);
              t1 = t1.__MessageBus__controller;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.add$1(0, new A.BusEvent($name + ".end", message0));
              throw $async$exception;
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_wrapReloadCall, $async$completer);
    },
    _RegisteredServiceExtensionButton$_(action, completedText, describeError, serviceDescription) {
      return new A._RegisteredServiceExtensionButton(serviceDescription, action, completedText, describeError, null);
    },
    ServiceExtensionCheckbox$(serviceExtension) {
      return new A.ServiceExtensionCheckbox(serviceExtension, null, new A.ServiceExtensionCheckbox_closure(serviceExtension), null);
    },
    ServiceExtensionCheckboxGroupButton$(customExtensionUi, extensions, icon, minScreenWidthForTextBeforeScaling, overlayDescription, overlayWidthBeforeScaling, title, tooltip) {
      return new A.ServiceExtensionCheckboxGroupButton(title, icon, minScreenWidthForTextBeforeScaling, extensions, customExtensionUi, overlayDescription, tooltip, B.JSNumber_methods.roundToDouble$0(overlayWidthBeforeScaling * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), null);
    },
    ServiceExtensionButtonGroup: function ServiceExtensionButtonGroup(t0, t1, t2) {
      this.minScreenWidthForTextBeforeScaling = t0;
      this.extensions = t1;
      this.key = t2;
    },
    ExtensionState: function ExtensionState(t0) {
      this.description = t0;
      this.isAvailable = this.isSelected = false;
    },
    _ServiceExtensionButtonGroupState: function _ServiceExtensionButtonGroupState(t0, t1) {
      var _ = this;
      _.___ServiceExtensionButtonGroupState__extensionStates = $;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _ServiceExtensionButtonGroupState__initExtensionState_closure: function _ServiceExtensionButtonGroupState__initExtensionState_closure(t0, t1, t2) {
      this.$this = t0;
      this.extension = t1;
      this.state = t2;
    },
    _ServiceExtensionButtonGroupState__initExtensionState__closure0: function _ServiceExtensionButtonGroupState__initExtensionState__closure0(t0, t1) {
      this.extension = t0;
      this.state = t1;
    },
    _ServiceExtensionButtonGroupState__initExtensionState_closure0: function _ServiceExtensionButtonGroupState__initExtensionState_closure0(t0, t1, t2) {
      this.$this = t0;
      this.extension = t1;
      this.listenable = t2;
    },
    _ServiceExtensionButtonGroupState__initExtensionState__closure: function _ServiceExtensionButtonGroupState__initExtensionState__closure(t0, t1) {
      this.extension = t0;
      this.listenable = t1;
    },
    _ServiceExtensionButtonGroupState_didUpdateWidget_closure: function _ServiceExtensionButtonGroupState_didUpdateWidget_closure() {
    },
    _ServiceExtensionButtonGroupState_build_closure: function _ServiceExtensionButtonGroupState_build_closure() {
    },
    _ServiceExtensionButtonGroupState__onPressed_closure: function _ServiceExtensionButtonGroupState__onPressed_closure(t0) {
      this.extensionState = t0;
    },
    HotReloadButton: function HotReloadButton(t0) {
      this.key = t0;
    },
    HotReloadButton_build_closure: function HotReloadButton_build_closure() {
    },
    HotReloadButton_build_closure0: function HotReloadButton_build_closure0() {
    },
    HotRestartButton: function HotRestartButton(t0) {
      this.key = t0;
    },
    HotRestartButton_build_closure: function HotRestartButton_build_closure() {
    },
    HotRestartButton_build_closure0: function HotRestartButton_build_closure0() {
    },
    _RegisteredServiceExtensionButton: function _RegisteredServiceExtensionButton(t0, t1, t2, t3, t4) {
      var _ = this;
      _.serviceDescription = t0;
      _.action = t1;
      _.completedText = t2;
      _.describeError = t3;
      _.key = t4;
    },
    _RegisteredServiceExtensionButtonState: function _RegisteredServiceExtensionButtonState(t0, t1, t2) {
      var _ = this;
      _._hidden = true;
      _.AutoDisposeMixin__delegate = t0;
      _._ServiceExtensionMixin_disabled = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _RegisteredServiceExtensionButtonState_initState_closure: function _RegisteredServiceExtensionButtonState_initState_closure(t0, t1) {
      this.$this = t0;
      this.serviceRegisteredListenable = t1;
    },
    _RegisteredServiceExtensionButtonState_initState__closure: function _RegisteredServiceExtensionButtonState_initState__closure(t0, t1) {
      this.$this = t0;
      this.registered = t1;
    },
    _RegisteredServiceExtensionButtonState_build_closure: function _RegisteredServiceExtensionButtonState_build_closure(t0) {
      this.$this = t0;
    },
    _RegisteredServiceExtensionButtonState_build__closure: function _RegisteredServiceExtensionButtonState_build__closure(t0) {
      this.$this = t0;
    },
    StructuredErrorsToggle: function StructuredErrorsToggle(t0) {
      this.key = t0;
    },
    StructuredErrorsToggle_build_closure: function StructuredErrorsToggle_build_closure() {
    },
    _ServiceExtensionToggle: function _ServiceExtensionToggle(t0, t1, t2, t3) {
      var _ = this;
      _.service = t0;
      _.completedText = t1;
      _.describeError = t2;
      _.key = t3;
    },
    _ServiceExtensionToggleState: function _ServiceExtensionToggleState(t0, t1, t2) {
      var _ = this;
      _.value = false;
      _.AutoDisposeMixin__delegate = t0;
      _._ServiceExtensionMixin_disabled = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _ServiceExtensionToggleState_initState_closure: function _ServiceExtensionToggleState_initState_closure(t0, t1) {
      this.$this = t0;
      this.state = t1;
    },
    _ServiceExtensionToggleState_initState__closure: function _ServiceExtensionToggleState_initState__closure(t0, t1) {
      this.$this = t0;
      this.state = t1;
    },
    _ServiceExtensionToggleState__onClick_closure: function _ServiceExtensionToggleState__onClick_closure(t0) {
      this.$this = t0;
    },
    _ServiceExtensionToggleState__onClick_closure0: function _ServiceExtensionToggleState__onClick_closure0(t0) {
      this.$this = t0;
    },
    ServiceExtensionCheckbox: function ServiceExtensionCheckbox(t0, t1, t2, t3) {
      var _ = this;
      _.serviceExtension = t0;
      _.completedText = t1;
      _.describeError = t2;
      _.key = t3;
    },
    ServiceExtensionCheckbox_closure: function ServiceExtensionCheckbox_closure(t0) {
      this.serviceExtension = t0;
    },
    _ServiceExtensionCheckboxState: function _ServiceExtensionCheckboxState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.extensionAvailable = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._ServiceExtensionMixin_disabled = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    _ServiceExtensionCheckboxState_initState_closure: function _ServiceExtensionCheckboxState_initState_closure(t0) {
      this.$this = t0;
    },
    _ServiceExtensionCheckboxState_initState__closure: function _ServiceExtensionCheckboxState_initState__closure(t0, t1) {
      this.$this = t0;
      this.state = t1;
    },
    _ServiceExtensionCheckboxState_build_closure: function _ServiceExtensionCheckboxState_build_closure(t0, t1) {
      this.$this = t0;
      this.docsUrl = t1;
    },
    _ServiceExtensionCheckboxState__onChanged_closure: function _ServiceExtensionCheckboxState__onChanged_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    ServiceExtensionCheckboxGroupButton: function ServiceExtensionCheckboxGroupButton(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.title = t0;
      _.icon = t1;
      _.minScreenWidthForTextBeforeScaling = t2;
      _.extensions = t3;
      _.customExtensionUi = t4;
      _.overlayDescription = t5;
      _.tooltip = t6;
      _.overlayWidth = t7;
      _.key = t8;
    },
    _ServiceExtensionCheckboxGroupButtonState: function _ServiceExtensionCheckboxGroupButtonState(t0, t1, t2) {
      var _ = this;
      _._service_extension_widgets$_enabled = t0;
      _.___ServiceExtensionCheckboxGroupButtonState__extensionStates = $;
      _._service_extension_widgets$_overlay = null;
      _._overlayHovered = false;
      _.AutoDisposeMixin__delegate = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _ServiceExtensionCheckboxGroupButtonState_initState_closure: function _ServiceExtensionCheckboxGroupButtonState_initState_closure(t0, t1, t2) {
      this.$this = t0;
      this.i = t1;
      this.state = t2;
    },
    _ServiceExtensionCheckboxGroupButtonState_build_closure: function _ServiceExtensionCheckboxGroupButtonState_build_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _ServiceExtensionCheckboxGroupButtonState_build__closure: function _ServiceExtensionCheckboxGroupButtonState_build__closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    _ServiceExtensionCheckboxGroupButtonState__insertOverlay_closure: function _ServiceExtensionCheckboxGroupButtonState__insertOverlay_closure(t0, t1) {
      this.$this = t0;
      this.offset = t1;
    },
    _ServiceExtensionCheckboxGroupOverlay: function _ServiceExtensionCheckboxGroupOverlay(t0, t1, t2, t3, t4) {
      var _ = this;
      _.description = t0;
      _.extensions = t1;
      _.width = t2;
      _.customExtensionUi = t3;
      _.key = t4;
    },
    _ServiceExtensionWidget: function _ServiceExtensionWidget() {
    },
    _ServiceExtensionMixin: function _ServiceExtensionMixin() {
    },
    _ServiceExtensionMixin_invokeAndCatchErrors_closure: function _ServiceExtensionMixin_invokeAndCatchErrors_closure(t0) {
      this.$this = t0;
    },
    _ServiceExtensionMixin_invokeAndCatchErrors_closure0: function _ServiceExtensionMixin_invokeAndCatchErrors_closure0(t0) {
      this.$this = t0;
    },
    ServiceExtensionTooltip: function ServiceExtensionTooltip(t0, t1, t2) {
      this.description = t0;
      this.child = t1;
      this.key = t2;
    },
    ServiceExtensionRichTooltip: function ServiceExtensionRichTooltip(t0, t1, t2) {
      this.description = t0;
      this.child = t1;
      this.key = t2;
    },
    ServiceExtensionRichTooltip_build_closure: function ServiceExtensionRichTooltip_build_closure() {
    },
    ServiceExtensionRichTooltip_build_closure0: function ServiceExtensionRichTooltip_build_closure0(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin: function __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin() {
    },
    __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin: function __RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin() {
    },
    __ServiceExtensionButtonGroupState_State_AutoDisposeMixin: function __ServiceExtensionButtonGroupState_State_AutoDisposeMixin() {
    },
    __ServiceExtensionCheckboxGroupButtonState_State_AutoDisposeMixin: function __ServiceExtensionCheckboxGroupButtonState_State_AutoDisposeMixin() {
    },
    __ServiceExtensionCheckboxState_State__ServiceExtensionMixin: function __ServiceExtensionCheckboxState_State__ServiceExtensionMixin() {
    },
    __ServiceExtensionCheckboxState_State__ServiceExtensionMixin_AutoDisposeMixin: function __ServiceExtensionCheckboxState_State__ServiceExtensionMixin_AutoDisposeMixin() {
    },
    __ServiceExtensionToggleState_State__ServiceExtensionMixin: function __ServiceExtensionToggleState_State__ServiceExtensionMixin() {
    },
    __ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin: function __ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin() {
    },
    ToggleableServiceExtensionDescription$_(description, disabledIcon, disabledValue, documentationUrl, enabledIcon, enabledValue, extension, gaDocsItem, gaItem, gaScreenName, inverted, shouldCallOnAllIsolates, title, tooltip, $T) {
      var t1 = disabledIcon == null ? enabledIcon : disabledIcon,
        t2 = [enabledValue, disabledValue],
        t3 = description == null ? title : description,
        t4 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,String>");
      A.List_List$of(new A.MappedListIterable(t2, new A.ServiceExtensionDescription_closure(type$.dynamic), t4), true, t4._eval$1("ListIterable.E"));
      return new A.ToggleableServiceExtensionDescription(inverted, extension, title, enabledIcon, t1, t2, gaScreenName, gaItem, shouldCallOnAllIsolates, tooltip, t3, documentationUrl, gaDocsItem, $T._eval$1("ToggleableServiceExtensionDescription<0>"));
    },
    ServiceExtensionDescription$(description, disabledIcon, displayValues, documentationUrl, enabledIcon, extension, gaDocsItem, gaItem, gaScreenName, shouldCallOnAllIsolates, title, tooltip, values, $T) {
      var t1;
      if (displayValues == null) {
        t1 = A._arrayInstanceType(values)._eval$1("MappedListIterable<1,String>");
        A.List_List$of(new A.MappedListIterable(values, new A.ServiceExtensionDescription_closure($T), t1), true, t1._eval$1("ListIterable.E"));
      }
      t1 = disabledIcon == null ? enabledIcon : disabledIcon;
      return new A.ServiceExtensionDescription(extension, title, enabledIcon, t1, values, gaScreenName, gaItem, shouldCallOnAllIsolates, tooltip, description, documentationUrl, gaDocsItem, $T._eval$1("ServiceExtensionDescription<0>"));
    },
    ToggleableServiceExtensionDescription: function ToggleableServiceExtensionDescription(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.inverted = t0;
      _.extension = t1;
      _.title = t2;
      _.enabledIcon = t3;
      _.disabledIcon = t4;
      _.values = t5;
      _.gaScreenName = t6;
      _.gaItem = t7;
      _.shouldCallOnAllIsolates = t8;
      _.tooltip = t9;
      _.description = t10;
      _.documentationUrl = t11;
      _.gaDocsItem = t12;
      _.$ti = t13;
    },
    ServiceExtensionDescription: function ServiceExtensionDescription(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.extension = t0;
      _.title = t1;
      _.enabledIcon = t2;
      _.disabledIcon = t3;
      _.values = t4;
      _.gaScreenName = t5;
      _.gaItem = t6;
      _.shouldCallOnAllIsolates = t7;
      _.tooltip = t8;
      _.description = t9;
      _.documentationUrl = t10;
      _.gaDocsItem = t11;
      _.$ti = t12;
    },
    ServiceExtensionDescription_closure: function ServiceExtensionDescription_closure(t0) {
      this.T = t0;
    },
    serviceExtensionsAllowlist_closure: function serviceExtensionsAllowlist_closure() {
    },
    serviceExtensionsAllowlist_closure0: function serviceExtensionsAllowlist_closure0() {
    },
    _unsafeBeforeFirstFrameFlutterExtensions_closure: function _unsafeBeforeFirstFrameFlutterExtensions_closure() {
    },
    ServiceConnectionManager: function ServiceConnectionManager(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _._connectionAvailableController = t0;
      _._serviceAvailable = t1;
      _.serviceTrafficLogger = null;
      _._registeredServiceNotifiers = t2;
      _._registeredMethodsForService = t3;
      _.vmFlagManager = t4;
      _.timelineStreamManager = t5;
      _.isolateManager = t6;
      _.consoleService = t7;
      _.resolvedUriManager = t8;
      _._inspectorService = null;
      _._errorBadgeManager = t9;
      _.__ServiceConnectionManager__serviceExtensionManager = $;
      _.sdkVersion = _.vm = _.service = _.connectedApp = null;
      _._connectedState = t10;
      _._connectionClosedController = t11;
      _._deviceBusy = t12;
    },
    ServiceConnectionManager_registeredServiceListenable_closure: function ServiceConnectionManager_registeredServiceListenable_closure() {
    },
    ServiceConnectionManager_vmServiceOpened_closure: function ServiceConnectionManager_vmServiceOpened_closure(t0) {
      this.$this = t0;
    },
    ServiceConnectionManager_vmServiceOpened_handleServiceEvent: function ServiceConnectionManager_vmServiceOpened_handleServiceEvent(t0) {
      this.$this = t0;
    },
    ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure: function ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure() {
    },
    ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0: function ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0() {
    },
    ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1: function ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1() {
    },
    ServiceConnectionManager_flutterViewId_closure: function ServiceConnectionManager_flutterViewId_closure() {
    },
    ServiceConnectionManager_libraryUriAvailableNow_closure: function ServiceConnectionManager_libraryUriAvailableNow_closure() {
    },
    ServiceConnectionManager_libraryUriAvailableNow_closure0: function ServiceConnectionManager_libraryUriAvailableNow_closure0(t0) {
      this.uri = t0;
    },
    ConnectedState: function ConnectedState(t0, t1) {
      this.connected = t0;
      this.userInitiatedConnectionState = t1;
    },
    RegisteredServiceDescription$_(gaItem, gaScreenName, icon, service, title) {
      return new A.RegisteredServiceDescription(icon, gaScreenName, gaItem, service);
    },
    RegisteredServiceDescription: function RegisteredServiceDescription(t0, t1, t2, t3) {
      var _ = this;
      _.icon = t0;
      _.gaScreenName = t1;
      _.gaItem = t2;
      _.service = t3;
    },
    VmFlagManager: function VmFlagManager(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.__VmFlagManager__service = $;
      _._vm_flags$_flags = t0;
      _._flagNotifiers = t1;
      _._auto_dispose$_subscriptions = t2;
      _._focusNodes = t3;
      _._listenables = t4;
      _._auto_dispose$_listeners = t5;
    },
    VmServiceWrapper$fromNewVmService(inStream, writeMessage, _connectedUri) {
      var t4, t5, t6, t7, t8, t9,
        t1 = $.Zone__current,
        t2 = type$.String,
        t3 = new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool);
      t3.complete$1(0, true);
      t4 = $.$get$JsonToServiceCache__kTrue();
      t5 = t4.id;
      t5.toString;
      t6 = $.$get$JsonToServiceCache__kFalse();
      t7 = t6.id;
      t7.toString;
      t8 = $.$get$JsonToServiceCache__kNull();
      t9 = t8.id;
      t9.toString;
      t2 = new A.VmServiceWrapper(new A._AsyncCompleter(new A._Future(t1, type$._Future_void), type$._AsyncCompleter_void), _connectedUri, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Future_Success), A.LinkedHashSet_LinkedHashSet$_empty(type$.TrackedFuture_Object), t3, new A.JsonToServiceCache(A.LinkedHashMap_LinkedHashMap$_literal([t5, t4, t7, t6, t9, t8], t2, type$.Instance)), A._setArrayType([], type$.JSArray_String));
      t2.__VmServiceWrapper__vmService = A.VmService$(inStream, writeMessage, null, null);
      t2._initSupportedProtocols$0();
      return t2;
    },
    VmServiceWrapper: function VmServiceWrapper(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._supportedProtocolsInitialized = t0;
      _._ddsSupported = false;
      _.__VmServiceWrapper__vmService = $;
      _._connectedUri = t1;
      _._activeStreams = t2;
      _.activeFutures = t3;
      _._allFuturesCompleter = t4;
      _.fakeServiceCache = t5;
      _.vmServiceCallCount = 0;
      _.vmServiceCalls = t6;
    },
    VmServiceWrapper__initSupportedProtocols_closure: function VmServiceWrapper__initSupportedProtocols_closure() {
    },
    VmServiceWrapper_streamListen_closure: function VmServiceWrapper_streamListen_closure() {
    },
    DevToolsAboutDialog: function DevToolsAboutDialog(t0) {
      this.key = t0;
    },
    _FeedbackLink: function _FeedbackLink(t0) {
      this.key = t0;
    },
    _FeedbackLink_build_closure: function _FeedbackLink_build_closure() {
    },
    _DiscordLink: function _DiscordLink(t0) {
      this.key = t0;
    },
    _DiscordLink_build_closure: function _DiscordLink_build_closure() {
    },
    OpenAboutAction: function OpenAboutAction(t0) {
      this.key = t0;
    },
    OpenAboutAction_build_closure: function OpenAboutAction_build_closure(t0) {
      this.context = t0;
    },
    OpenAboutAction_build__closure: function OpenAboutAction_build__closure() {
    },
    setupErrorHandling(appStartCallback) {
      return A.runZonedGuarded(new A.setupErrorHandling_closure(appStartCallback), new A.setupErrorHandling_closure0(), type$.void);
    },
    _reportError(error, stack) {
      var terseStackTrace = A.Trace_Trace$from(stack).get$terse().toString$0(0);
      A.log(A.S(error), B.LogLevel_2);
      A.reportError(A.S(error) + "\n" + terseStackTrace);
    },
    setupErrorHandling_closure: function setupErrorHandling_closure(t0) {
      this.appStartCallback = t0;
    },
    setupErrorHandling__closure: function setupErrorHandling__closure(t0) {
      this.oldHandler = t0;
    },
    setupErrorHandling_closure0: function setupErrorHandling_closure0() {
    },
    _BannerError$(key, screenId, textSpans) {
      return new A._BannerError(textSpans, B.Color_4289675348, B.Color_4294967295, screenId, "ERROR", key);
    },
    _BannerWarning$(key, screenId, textSpans) {
      return new A._BannerWarning(textSpans, B.Color_4294834901, B.Color_3707764736, screenId, "WARNING", key);
    },
    maybePushUnsupportedFlutterVersionWarning(context, screenId, supportedFlutterVersion) {
      var t2, currentVersion, t3, _null = null,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp,
        isFlutterApp = t1 == null ? _null : t1.get$isFlutterAppNow();
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value || isFlutterApp == null || !isFlutterApp)
        return;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      t2 = t1.get$isFlutterAppNow();
      t2.toString;
      currentVersion = t2 ? t1._flutterVersion : _null;
      if (currentVersion.compareTo$1(0, supportedFlutterVersion) < 0) {
        t1 = A.Provider_of(context, true, type$.BannerMessagesController);
        t2 = supportedFlutterVersion.toString$0(0);
        t3 = currentVersion.toString$0(0);
        t1.addMessage$1(A._BannerWarning$(new A.ValueKey("UnsupportedFlutterVersionWarning - " + screenId, type$.ValueKey_String), screenId, A._setArrayType([A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_3707764736, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "This version of DevTools expects the connected app to be run on Flutter >= " + t2 + ", but the connected app is running on Flutter " + t3 + ". Some functionality may not work. If this causes issues, try upgrading your Flutter version.")], type$.JSArray_TextSpan)));
      }
    },
    maybePushDebugModePerformanceMessage(context, screenId) {
      var t1, t2, _null = null;
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        return;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = t1.get$isFlutterAppNow();
        t2.toString;
        if (t2) {
          t1 = t1.get$isProfileBuildNow();
          t1.toString;
          t1 = !t1;
        } else
          t1 = false;
      }
      if (t1 === true) {
        t1 = A.Provider_of(context, true, type$.BannerMessagesController);
        t2 = A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_4294967295, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "You are running your app in debug mode. Debug mode performance is not indicative of release performance.\nRelaunch your application with the '--profile' argument, or ");
        A.Theme_of(context);
        t1.addMessage$1(A._BannerError$(new A.ValueKey("DebugModePerformanceMessage - " + screenId, type$.ValueKey_String), screenId, A._setArrayType([t2, A.LinkTextSpan$(context, B.Link_RtW, _null, A.TextStyle$(_null, _null, B.Color_4283744751, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null)), A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_4294967295, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), ".")], type$.JSArray_TextSpan)));
      }
    },
    maybePushDebugModeMemoryMessage(context, screenId) {
      var t1, t2, _null = null;
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        return;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = t1.get$isFlutterAppNow();
        t2.toString;
        if (t2) {
          t1 = t1.get$isProfileBuildNow();
          t1.toString;
          t1 = !t1;
        } else
          t1 = false;
      }
      if (t1 === true) {
        t1 = A.Provider_of(context, true, type$.BannerMessagesController);
        t2 = A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_3707764736, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "You are running your app in debug mode. Absolute memory usage may be higher in a debug build than in a release build.\nFor the most accurate absolute memory stats, relaunch your application with the '--profile' argument, or ");
        A.Theme_of(context);
        t1.addMessage$1(A._BannerWarning$(new A.ValueKey("DebugModeMemoryMessage - " + screenId, type$.ValueKey_String), screenId, A._setArrayType([t2, A.LinkTextSpan$(context, B.Link_RtW, _null, A.TextStyle$(_null, _null, B.Color_4283744751, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null)), A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_3707764736, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), ".")], type$.JSArray_TextSpan)));
      }
    },
    BannerMessagesController: function BannerMessagesController(t0, t1) {
      this._messages = t0;
      this._dismissedMessageKeys = t1;
    },
    BannerMessagesController_addMessage_closure: function BannerMessagesController_addMessage_closure(t0, t1) {
      this.$this = t0;
      this.message = t1;
    },
    BannerMessagesController_removeMessage_closure: function BannerMessagesController_removeMessage_closure(t0, t1, t2) {
      this.$this = t0;
      this.dismiss = t1;
      this.message = t2;
    },
    BannerMessagesController_removeMessageByKey_closure: function BannerMessagesController_removeMessageByKey_closure(t0) {
      this.key = t0;
    },
    BannerMessagesController_isMessageVisible_closure: function BannerMessagesController_isMessageVisible_closure(t0) {
      this.message = t0;
    },
    BannerMessagesController__messagesForScreen_closure: function BannerMessagesController__messagesForScreen_closure() {
    },
    BannerMessages: function BannerMessages(t0, t1) {
      this.screen = t0;
      this.key = t1;
    },
    BannerMessages_build_closure: function BannerMessages_build_closure() {
    },
    BannerMessage: function BannerMessage() {
    },
    BannerMessage_build_closure: function BannerMessage_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    _BannerError: function _BannerError(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.textSpans = t0;
      _.backgroundColor = t1;
      _.foregroundColor = t2;
      _.screenId = t3;
      _.headerText = t4;
      _.key = t5;
    },
    _BannerWarning: function _BannerWarning(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.textSpans = t0;
      _.backgroundColor = t1;
      _.foregroundColor = t2;
      _.screenId = t3;
      _.headerText = t4;
      _.key = t5;
    },
    HighProfileGranularityMessage: function HighProfileGranularityMessage(t0, t1) {
      this.key = t0;
      this.screenId = t1;
    },
    CollapsibleAnimationMixin: function CollapsibleAnimationMixin() {
    },
    CollapsibleAnimationMixin_setExpanded_closure: function CollapsibleAnimationMixin_setExpanded_closure(t0, t1) {
      this.$this = t0;
      this.expanded = t1;
    },
    OutlinedIconButton$(icon, onPressed, tooltip) {
      return new A.OutlinedIconButton(icon, null, "", 20000, onPressed, false, tooltip, null, true, null);
    },
    IconLabelButton$(elevatedButton, icon, imageIcon, key, label, minScreenWidthForTextBeforeScaling, onPressed, outlined, tooltip, tooltipPadding) {
      return new A.IconLabelButton(icon, imageIcon, label, minScreenWidthForTextBeforeScaling, onPressed, false, tooltip, tooltipPadding, outlined, key);
    },
    PauseButton$(minScreenWidthForTextBeforeScaling, onPressed, tooltip) {
      return new A.PauseButton(B.IconData_58492_MaterialIcons_false, null, "Pause", minScreenWidthForTextBeforeScaling, onPressed, false, tooltip, null, true, null);
    },
    ResumeButton$(minScreenWidthForTextBeforeScaling, onPressed, tooltip) {
      return new A.ResumeButton(B.IconData_58571_MaterialIcons_false, null, "Resume", minScreenWidthForTextBeforeScaling, onPressed, false, tooltip, null, true, null);
    },
    ClearButton$(minScreenWidthForTextBeforeScaling, onPressed, outlined) {
      return new A.ClearButton(B.IconData_57569_MaterialIcons_false, null, "Clear", minScreenWidthForTextBeforeScaling, onPressed, false, "Clear", null, outlined, null);
    },
    RefreshButton$(label, minScreenWidthForTextBeforeScaling, onPressed, tooltip) {
      return new A.RefreshButton(B.IconData_58644_MaterialIcons_false, null, label, minScreenWidthForTextBeforeScaling, onPressed, false, tooltip, null, true, null);
    },
    SettingsOutlinedButton$(onPressed, tooltip) {
      return new A.SettingsOutlinedButton(B.IconData_58751_MaterialIcons_false, null, "", 20000, onPressed, false, tooltip, null, true, null);
    },
    DevToolsTooltip$(child, decoration, key, message, padding, preferBelow, textStyle, waitDuration) {
      return new A.DevToolsTooltip(message, child, waitDuration, preferBelow, padding, decoration, textStyle, key);
    },
    DevToolsIconButton$(gaScreen, gaSelection, iconData, onPressed, tooltip) {
      return new A.DevToolsIconButton(iconData, onPressed, tooltip, gaScreen, gaSelection, null);
    },
    AreaPaneHeader$(actions, maxLines, needsBottomBorder, needsLeftBorder, needsTopBorder, rightPadding, title) {
      return new A.AreaPaneHeader(title, maxLines, needsTopBorder, needsBottomBorder, needsLeftBorder, actions, rightPadding, null);
    },
    ExportButton$(minScreenWidthForTextBeforeScaling, onPressed) {
      return new A.ExportButton(B.IconData_57962_MaterialIcons_false, null, "Export", minScreenWidthForTextBeforeScaling, onPressed, false, "Export data", null, true, null);
    },
    RoundedDropDownButton$(isDense, items, key, onChanged, style, value, $T) {
      return new A.RoundedDropDownButton(value, onChanged, true, style, items, key, $T._eval$1("RoundedDropDownButton<0>"));
    },
    inputDecorationSuffixButton(icon, onPressed) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Container$(_null, A.IconButton$(_null, _null, true, A.Icon$(icon, _null, _null), t2, onPressed, B.EdgeInsets_0_0_0_0, t3, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_4_0_4_0, _null, _null, t1 + 8);
    },
    ScrollControllerAutoScroll_autoScrollToBottom(_this) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        pos, t1, t2;
      var $async$ScrollControllerAutoScroll_autoScrollToBottom = 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 = _this._positions;
              t2 = B.JSArray_methods.get$single(t1)._maxScrollExtent;
              t2.toString;
              $async$goto = 2;
              return A._asyncAwait(_this.animateTo$3$curve$duration(t2, B.Cubic_oKc, B.Duration_100000), $async$ScrollControllerAutoScroll_autoScrollToBottom);
            case 2:
              // returning from await.
              if (t1.length !== 0) {
                pos = B.JSArray_methods.get$single(t1);
                t1 = pos._pixels;
                t1.toString;
                t2 = pos._maxScrollExtent;
                t2.toString;
                if (t1 !== t2)
                  _this.jumpTo$1(t2);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$ScrollControllerAutoScroll_autoScrollToBottom, $async$completer);
    },
    LinkedScrollControllerGroupExtension_autoScrollToBottom(_this) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        t2, t3, pos, t1;
      var $async$LinkedScrollControllerGroupExtension_autoScrollToBottom = 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 = _this.get$_attachedControllers();
              t1 = t1.get$first(t1);
              t2 = J.getInterceptor$x(t1);
              t3 = type$._LinkedScrollPosition;
              t1 = t3._as(A.ScrollController.prototype.get$position.call(t2, t1))._maxScrollExtent;
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait(_this.animateTo$3$curve$duration(t1, B.Cubic_oKc, B.Duration_100000), $async$LinkedScrollControllerGroupExtension_autoScrollToBottom);
            case 2:
              // returning from await.
              t1 = _this.get$_attachedControllers();
              if (!t1.get$isEmpty(t1)) {
                t1 = _this.get$_attachedControllers();
                t1 = t1.get$first(t1);
                t2 = J.getInterceptor$x(t1);
                pos = t3._as(A.ScrollController.prototype.get$position.call(t2, t1));
                t1 = pos._pixels;
                t1.toString;
                t2 = pos._maxScrollExtent;
                t2.toString;
                if (t1 !== t2)
                  _this.jumpTo$1(t2);
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$LinkedScrollControllerGroupExtension_autoScrollToBottom, $async$completer);
    },
    ColorExtension_darken(_this, percent) {
      percent = 1 - percent;
      return A.Color$fromARGB(_this.get$value(_this) >>> 24 & 255, B.JSNumber_methods.round$0((_this.get$value(_this) >>> 16 & 255) * percent), B.JSNumber_methods.round$0((_this.get$value(_this) >>> 8 & 255) * percent), B.JSNumber_methods.round$0((_this.get$value(_this) & 255) * percent));
    },
    ColorExtension_brighten(_this) {
      return A.Color$fromARGB(_this.get$value(_this) >>> 24 & 255, (_this.get$value(_this) >>> 16 & 255) + B.JSNumber_methods.round$0((255 - (_this.get$value(_this) >>> 16 & 255)) * 0.05), (_this.get$value(_this) >>> 8 & 255) + B.JSNumber_methods.round$0((255 - (_this.get$value(_this) >>> 8 & 255)) * 0.05), (_this.get$value(_this) & 255) + B.JSNumber_methods.round$0((255 - (_this.get$value(_this) & 255)) * 0.05));
    },
    LinkTextSpan$(context, link, onTap, style) {
      var t1, t2, _null = null;
      if (style == null) {
        t1 = A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4279858898 : B.MaterialAccentColor_Map_iTyLX_4282434815;
        t1 = A.TextStyle$(_null, _null, t1, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      } else
        t1 = style;
      t2 = A.TapGestureRecognizer$(_null);
      t2.onTap = new A.LinkTextSpan_closure(onTap, link, context);
      return new A.LinkTextSpan(link.display, _null, t2, B.SystemMouseCursor_click, _null, t1);
    },
    maybeWrapWithTooltip(child, tooltip, tooltipPadding) {
      if (tooltip != null)
        return A.DevToolsTooltip$(child, null, null, tooltip, tooltipPadding, false, null, B.Duration_500000);
      return child;
    },
    CopyToClipboardControl$(buttonKey, dataProvider) {
      return new A.CopyToClipboardControl(dataProvider, buttonKey, null);
    },
    CheckboxSetting$(description, enabled, gaItem, gaScreenName, notifier, onChanged, title, tooltip) {
      return new A.CheckboxSetting0(notifier, title, description, tooltip, onChanged, enabled, gaScreenName, gaItem, null);
    },
    PaddedDivider: function PaddedDivider(t0, t1) {
      this.padding = t0;
      this.key = t1;
    },
    OutlinedIconButton: function OutlinedIconButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    IconLabelButton: function IconLabelButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    PauseButton: function PauseButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    ResumeButton: function ResumeButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    ClearButton: function ClearButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    RefreshButton: function RefreshButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    RecordButton: function RecordButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    StopRecordingButton: function StopRecordingButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    SettingsOutlinedButton: function SettingsOutlinedButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    HelpButton: function HelpButton(t0, t1, t2, t3) {
      var _ = this;
      _.onPressed = t0;
      _.gaScreen = t1;
      _.gaSelection = t2;
      _.key = t3;
    },
    ExpandAllButton: function ExpandAllButton(t0, t1) {
      this.onPressed = t0;
      this.key = t1;
    },
    CollapseAllButton: function CollapseAllButton(t0, t1) {
      this.onPressed = t0;
      this.key = t1;
    },
    RecordingInfo: function RecordingInfo(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.instructionsKey = t0;
      _.recordingStatusKey = t1;
      _.recording = t2;
      _.recordedObject = t3;
      _.processing = t4;
      _.progressValue = t5;
      _.key = t6;
    },
    RecordingStatus: function RecordingStatus(t0, t1) {
      this.recordedObject = t0;
      this.key = t1;
    },
    RecordingInstructions: function RecordingInstructions(t0, t1, t2) {
      this.recordedObject = t0;
      this.isPause = t1;
      this.key = t2;
    },
    ProcessingInfo: function ProcessingInfo(t0, t1, t2) {
      this.progressValue = t0;
      this.processedObject = t1;
      this.key = t2;
    },
    ExitOfflineButton: function ExitOfflineButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    BulletSpacer: function BulletSpacer(t0, t1) {
      this.useAccentColor = t0;
      this.key = t1;
    },
    Badge: function Badge(t0, t1) {
      this.text = t0;
      this.key = t1;
    },
    DevToolsTooltip: function DevToolsTooltip(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.message = t0;
      _.child = t1;
      _.waitDuration = t2;
      _.preferBelow = t3;
      _.padding = t4;
      _.decoration = t5;
      _.textStyle = t6;
      _.key = t7;
    },
    DevToolsIconButton: function DevToolsIconButton(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.iconData = t0;
      _.onPressed = t1;
      _.tooltip = t2;
      _.gaScreen = t3;
      _.gaSelection = t4;
      _.key = t5;
    },
    DevToolsIconButton_build_closure: function DevToolsIconButton_build_closure(t0) {
      this.$this = t0;
    },
    ToolbarAction: function ToolbarAction(t0, t1, t2, t3) {
      var _ = this;
      _.icon = t0;
      _.tooltip = t1;
      _.onPressed = t2;
      _.key = t3;
    },
    AreaPaneHeader: function AreaPaneHeader(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.title = t0;
      _.maxLines = t1;
      _.needsTopBorder = t2;
      _.needsBottomBorder = t3;
      _.needsLeftBorder = t4;
      _.actions = t5;
      _.rightPadding = t6;
      _.key = t7;
    },
    DevToolsToggleButtonGroup: function DevToolsToggleButtonGroup(t0, t1, t2, t3) {
      var _ = this;
      _.children = t0;
      _.selectedStates = t1;
      _.onPressed = t2;
      _.key = t3;
    },
    ExportButton: function ExportButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.icon = t0;
      _.imageIcon = t1;
      _.label = t2;
      _.minScreenWidthForTextBeforeScaling = t3;
      _.onPressed = t4;
      _.elevatedButton = t5;
      _.tooltip = t6;
      _.tooltipPadding = t7;
      _.outlined = t8;
      _.key = t9;
    },
    FilterButton: function FilterButton(t0, t1, t2) {
      this.onPressed = t0;
      this.isFilterActive = t1;
      this.key = t2;
    },
    RoundedDropDownButton: function RoundedDropDownButton(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.isDense = t2;
      _.style = t3;
      _.items = t4;
      _.key = t5;
      _.$ti = t6;
    },
    OutlinedRowGroup: function OutlinedRowGroup(t0, t1, t2) {
      this.children = t0;
      this.borderColor = t1;
      this.key = t2;
    },
    OutlineDecoration: function OutlineDecoration(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    RoundedOutlinedBorder: function RoundedOutlinedBorder(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    LeftBorder: function LeftBorder(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    CenteredMessage: function CenteredMessage(t0, t1) {
      this.message = t0;
      this.key = t1;
    },
    CenteredCircularProgressIndicator: function CenteredCircularProgressIndicator(t0) {
      this.key = t0;
    },
    CircularIconButton: function CircularIconButton(t0, t1, t2, t3, t4) {
      var _ = this;
      _.icon = t0;
      _.onPressed = t1;
      _.backgroundColor = t2;
      _.foregroundColor = t3;
      _.key = t4;
    },
    BreadcrumbNavigator: function BreadcrumbNavigator(t0, t1, t2) {
      this.itemCount = t0;
      this.builder = t1;
      this.key = t2;
    },
    Breadcrumb: function Breadcrumb(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.isRoot = t1;
      _.onPressed = t2;
      _.key = t3;
    },
    _BreadcrumbPainter: function _BreadcrumbPainter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.textPainter = t0;
      _.isRoot = t1;
      _.breadcrumbWidth = t2;
      _.colorScheme = t3;
      _._repaint = t4;
    },
    FormattedJson: function FormattedJson(t0, t1, t2) {
      this.json = t0;
      this.useSubtleStyle = t1;
      this.key = t2;
    },
    JsonViewer: function JsonViewer(t0, t1) {
      this.encodedJson = t0;
      this.key = t1;
    },
    _JsonViewerState: function _JsonViewerState(t0, t1) {
      var _ = this;
      _.___JsonViewerState_variable = _.___JsonViewerState__initializeTree = $;
      _.ProvidedControllerMixin__controller = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _JsonViewerState_build_closure: function _JsonViewerState_build_closure(t0) {
      this.$this = t0;
    },
    MoreInfoLink: function MoreInfoLink(t0, t1, t2, t3, t4) {
      var _ = this;
      _.url = t0;
      _.gaScreenName = t1;
      _.gaSelectedItemDescription = t2;
      _.padding = t3;
      _.key = t4;
    },
    MoreInfoLink_build_closure: function MoreInfoLink_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    LinkTextSpan: function LinkTextSpan(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.text = t0;
      _.children = t1;
      _.recognizer = t2;
      _.mouseCursor = t3;
      _.semanticsLabel = t4;
      _.style = t5;
    },
    LinkTextSpan_closure: function LinkTextSpan_closure(t0, t1, t2) {
      this.onTap = t0;
      this.link = t1;
      this.context = t2;
    },
    Link: function Link(t0, t1) {
      this.display = t0;
      this.url = t1;
    },
    Legend: function Legend(t0, t1) {
      this.entries = t0;
      this.key = t1;
    },
    Legend_build_closure: function Legend_build_closure(t0) {
      this.$this = t0;
    },
    LegendEntry: function LegendEntry(t0, t1) {
      this.description = t0;
      this.color = t1;
    },
    CopyToClipboardControl: function CopyToClipboardControl(t0, t1, t2) {
      this.dataProvider = t0;
      this.buttonKey = t1;
      this.key = t2;
    },
    CopyToClipboardControl_build_closure: function CopyToClipboardControl_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    NotifierCheckbox: function NotifierCheckbox(t0, t1, t2, t3) {
      var _ = this;
      _.notifier = t0;
      _.onChanged = t1;
      _.enabled = t2;
      _.key = t3;
    },
    NotifierCheckbox_build_closure: function NotifierCheckbox_build_closure(t0) {
      this.$this = t0;
    },
    CheckboxSetting0: function CheckboxSetting0(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.notifier = t0;
      _.title = t1;
      _.description = t2;
      _.tooltip = t3;
      _.onChanged = t4;
      _.enabled = t5;
      _.gaScreenName = t6;
      _.gaItem = t7;
      _.key = t8;
    },
    CheckboxSetting_build_closure1: function CheckboxSetting_build_closure1(t0) {
      this.$this = t0;
    },
    BlinkingIcon: function BlinkingIcon(t0) {
      this.key = t0;
    },
    _BlinkingIconState: function _BlinkingIconState(t0) {
      var _ = this;
      _.___BlinkingIconState_showFirst = _.___BlinkingIconState_timer = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _BlinkingIconState_initState_closure: function _BlinkingIconState_initState_closure(t0) {
      this.$this = t0;
    },
    _BlinkingIconState_initState__closure: function _BlinkingIconState_initState__closure(t0) {
      this.$this = t0;
    },
    DualValueListenableBuilder: function DualValueListenableBuilder(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.firstListenable = t0;
      _.secondListenable = t1;
      _.builder = t2;
      _.child = t3;
      _.key = t4;
      _.$ti = t5;
    },
    _DualValueListenableBuilderState: function _DualValueListenableBuilderState(t0, t1, t2) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
      _.$ti = t2;
    },
    SmallCircularProgressIndicator: function SmallCircularProgressIndicator(t0, t1) {
      this.valueColor = t0;
      this.key = t1;
    },
    ElevatedCard: function ElevatedCard(t0, t1, t2, t3, t4) {
      var _ = this;
      _.child = t0;
      _.width = t1;
      _.height = t2;
      _.padding = t3;
      _.key = t4;
    },
    KeepAliveWrapper: function KeepAliveWrapper(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _KeepAliveWrapperState: function _KeepAliveWrapperState(t0, t1) {
      var _ = this;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    __DualValueListenableBuilderState_State_AutoDisposeMixin: function __DualValueListenableBuilderState_State_AutoDisposeMixin() {
    },
    __JsonViewerState_State_ProvidedControllerMixin: function __JsonViewerState_State_ProvidedControllerMixin() {
    },
    __KeepAliveWrapperState_State_AutomaticKeepAliveClientMixin: function __KeepAliveWrapperState_State_AutomaticKeepAliveClientMixin() {
    },
    OfflineConnectedApp$(isDartWebAppNow, isFlutterAppNow, isProfileBuildNow, isRunningOnDartVM) {
      var t1 = $.Zone__current;
      return new A.OfflineConnectedApp(isFlutterAppNow, isProfileBuildNow, isDartWebAppNow, isRunningOnDartVM, new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool), new A._AsyncCompleter(new A._Future(t1, type$._Future_nullable_FlutterVersion), type$._AsyncCompleter_nullable_FlutterVersion));
    },
    OfflineConnectedApp_OfflineConnectedApp$parse(json) {
      var t1, t2, _null = null;
      if (json == null)
        return A.OfflineConnectedApp$(_null, _null, _null, _null);
      t1 = A._asBoolQ(json.$index(0, "isFlutterApp"));
      t2 = A._asBoolQ(json.$index(0, "isProfileBuild"));
      return A.OfflineConnectedApp$(A._asBoolQ(json.$index(0, "isDartWebApp")), t1, t2, A._asBoolQ(json.$index(0, "isRunningOnDartVM")));
    },
    ConnectedApp: function ConnectedApp(t0, t1) {
      var _ = this;
      _.initialized = t0;
      _._flutterVersion = _._isFlutterApp = null;
      _._flutterVersionCompleter = t1;
      _._isDartWebApp = _._isProfileBuild = null;
    },
    ConnectedApp_initializeValues_closure: function ConnectedApp_initializeValues_closure(t0, t1) {
      this.$this = t0;
      this.flutterVersionServiceListenable = t1;
    },
    ConnectedApp_initializeValues_closure0: function ConnectedApp_initializeValues_closure0() {
    },
    OfflineConnectedApp: function OfflineConnectedApp(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.isFlutterAppNow = t0;
      _.isProfileBuildNow = t1;
      _.isDartWebAppNow = t2;
      _.isRunningOnDartVM = t3;
      _.initialized = t4;
      _._flutterVersion = _._isFlutterApp = null;
      _._flutterVersionCompleter = t5;
      _._isDartWebApp = _._isProfileBuild = null;
    },
    Console: function Console(t0, t1, t2) {
      this.footer = t0;
      this.lines = t1;
      this.key = t2;
    },
    ConsoleFrame: function ConsoleFrame(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.child = t1;
      _.controls = t2;
      _.key = t3;
    },
    _ConsoleOutput: function _ConsoleOutput(t0, t1, t2) {
      this.lines = t0;
      this.footer = t1;
      this.key = t2;
    },
    _ConsoleOutputState: function _ConsoleOutputState(t0, t1, t2, t3, t4) {
      var _ = this;
      _._console$_scroll = t0;
      _._currentLines = t1;
      _._considerScrollAtBottom = _._scrollToBottom = true;
      _._lastScrollOffset = 0;
      _.ProvidedControllerMixin__controller = t2;
      _.AutoDisposeMixin__delegate = t3;
      _._widget = null;
      _._debugLifecycleState = t4;
      _._framework$_element = null;
    },
    _ConsoleOutputState__onConsoleLinesChanged_closure: function _ConsoleOutputState__onConsoleLinesChanged_closure(t0, t1) {
      this.$this = t0;
      this.nextLines = t1;
    },
    _ConsoleOutputState_build_closure: function _ConsoleOutputState_build_closure(t0) {
      this.$this = t0;
    },
    _ConsoleOutputState_build_closure1: function _ConsoleOutputState_build_closure1() {
    },
    _ConsoleOutputState_build_closure0: function _ConsoleOutputState_build_closure0(t0, t1) {
      this.$this = t0;
      this.theme = t1;
    },
    DeleteControl: function DeleteControl(t0, t1, t2, t3) {
      var _ = this;
      _.onPressed = t0;
      _.tooltip = t1;
      _.buttonKey = t2;
      _.key = t3;
    },
    __ConsoleOutputState_State_AutoDisposeMixin: function __ConsoleOutputState_State_AutoDisposeMixin() {
    },
    __ConsoleOutputState_State_AutoDisposeMixin_ProvidedControllerMixin: function __ConsoleOutputState_State_AutoDisposeMixin_ProvidedControllerMixin() {
    },
    ConsoleLine: function ConsoleLine(t0) {
      this.forceScrollIntoView = t0;
    },
    TextConsoleLine: function TextConsoleLine(t0, t1) {
      this.text = t0;
      this.forceScrollIntoView = t1;
    },
    VariableConsoleLine: function VariableConsoleLine(t0, t1) {
      this.variable = t0;
      this.forceScrollIntoView = t1;
    },
    ConsoleService: function ConsoleService(t0, t1, t2, t3, t4) {
      var _ = this;
      _._stdio = t0;
      _._stdioTrailingNewline = false;
      _._objectGroup = null;
      _._serviceInitialized = false;
      _._auto_dispose$_subscriptions = t1;
      _._focusNodes = t2;
      _._listenables = t3;
      _._auto_dispose$_listeners = t4;
    },
    ConsoleService_appendStdio_closure: function ConsoleService_appendStdio_closure() {
    },
    ConsoleService_appendStdio_closure0: function ConsoleService_appendStdio_closure0() {
    },
    ConsoleService_vmServiceOpened_closure: function ConsoleService_vmServiceOpened_closure(t0) {
      this.$this = t0;
    },
    DeviceDialog: function DeviceDialog(t0, t1) {
      this.connectedApp = t0;
      this.key = t1;
    },
    DeviceDialog__connectToNewAppButton_closure: function DeviceDialog__connectToNewAppButton_closure(t0) {
      this.context = t0;
    },
    _ViewVMFlagsButton: function _ViewVMFlagsButton(t0) {
      this.key = t0;
    },
    _ViewVMFlagsButton_build_closure: function _ViewVMFlagsButton_build_closure(t0) {
      this.context = t0;
    },
    _ViewVMFlagsButton_build__closure: function _ViewVMFlagsButton_build__closure() {
    },
    VMFlagsDialog: function VMFlagsDialog(t0) {
      this.key = t0;
    },
    _VMFlagsDialogState: function _VMFlagsDialogState(t0, t1, t2, t3) {
      var _ = this;
      _.___VMFlagsDialogState_filterController = $;
      _.flags = t0;
      _.filteredFlags = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _VMFlagsDialogState_initState_closure: function _VMFlagsDialogState_initState_closure(t0) {
      this.$this = t0;
    },
    _VMFlagsDialogState_initState__closure0: function _VMFlagsDialogState_initState__closure0(t0) {
      this.$this = t0;
    },
    _VMFlagsDialogState_initState_closure0: function _VMFlagsDialogState_initState_closure0(t0) {
      this.$this = t0;
    },
    _VMFlagsDialogState_initState__closure: function _VMFlagsDialogState_initState__closure(t0) {
      this.$this = t0;
    },
    _VMFlagsDialogState__updateFromController_closure: function _VMFlagsDialogState__updateFromController_closure() {
    },
    _VMFlagsDialogState__refilter_closure: function _VMFlagsDialogState__refilter_closure(t0) {
      this.filter = t0;
    },
    _FlagTable: function _FlagTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.flags = t0;
      _.name = t1;
      _.description = t2;
      _.value = t3;
      _.key = t4;
    },
    _FlagTable_build_closure: function _FlagTable_build_closure() {
    },
    _FlagTable_build_closure0: function _FlagTable_build_closure0() {
    },
    _NameColumn: function _NameColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _DescriptionColumn: function _DescriptionColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _ValueColumn: function _ValueColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.title = t0;
      _.titleTooltip = t1;
      _.fixedWidthPx = t2;
      _.minWidthPx = t3;
      _.alignment = t4;
    },
    _DialogFlag: function _DialogFlag(t0, t1) {
      this.flag = t0;
      this.filterText = t1;
    },
    __VMFlagsDialogState_State_AutoDisposeMixin: function __VMFlagsDialogState_State_AutoDisposeMixin() {
    },
    DevToolsDialog$(actions, $content, includeDivider, scrollable, title) {
      return new A.DevToolsDialog(title == null ? B.SizedBox_null_null_null_null : title, $content, includeDivider, scrollable, actions, null);
    },
    DevToolsDialog: function DevToolsDialog(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.titleContent = t0;
      _.content = t1;
      _.includeDivider = t2;
      _.scrollable = t3;
      _.actions = t4;
      _.key = t5;
    },
    DialogCloseButton: function DialogCloseButton(t0) {
      this.key = t0;
    },
    DialogCloseButton_build_closure: function DialogCloseButton_build_closure(t0) {
      this.context = t0;
    },
    DialogCancelButton: function DialogCancelButton(t0, t1) {
      this.cancelAction = t0;
      this.key = t1;
    },
    DialogCancelButton_build_closure: function DialogCancelButton_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    DialogApplyButton: function DialogApplyButton(t0, t1) {
      this.onPressed = t0;
      this.key = t1;
    },
    DialogApplyButton_build_closure: function DialogApplyButton_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    DialogTextButton: function DialogTextButton(t0, t1, t2) {
      this.onPressed = t0;
      this.child = t1;
      this.key = t2;
    },
    ErrorBadgeManager: function ErrorBadgeManager(t0, t1, t2) {
      this._activeErrorCounts = t0;
      this._activeErrors = t1;
      this.AutoDisposeControllerMixin__delegate = t2;
    },
    ErrorBadgeManager__extractInspectableError_closure: function ErrorBadgeManager__extractInspectableError_closure() {
    },
    ErrorBadgeManager__extractInspectableError_closure0: function ErrorBadgeManager__extractInspectableError_closure0() {
    },
    ErrorBadgeManager_filterErrors_closure: function ErrorBadgeManager_filterErrors_closure(t0) {
      this.isValid = t0;
    },
    ErrorBadgeManager_markErrorAsRead_closure: function ErrorBadgeManager_markErrorAsRead_closure(t0) {
      this.error = t0;
    },
    DevToolsError: function DevToolsError(t0, t1, t2) {
      this.errorMessage = t0;
      this.id = t1;
      this.read = t2;
    },
    InspectableWidgetError: function InspectableWidgetError(t0, t1, t2) {
      this.errorMessage = t0;
      this.id = t1;
      this.read = t2;
    },
    _ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin: function _ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin() {
    },
    EvalOnDartLibrary$(libraryName, service, isolate, oneRequestAtATime) {
      var t2, t1 = {};
      t1.isolate = isolate;
      B.C__JSRandom.nextInt$1(1000000000);
      t2 = new A.EvalOnDartLibrary(oneRequestAtATime, libraryName, service, A.Disposer$());
      t2.EvalOnDartLibrary$5$disableBreakpoints$isolate$oneRequestAtATime(libraryName, service, true, oneRequestAtATime, t1);
      return t2;
    },
    Disposable: function Disposable() {
      this.disposed = false;
    },
    EvalOnDartLibrary: function EvalOnDartLibrary(t0, t1, t2, t3) {
      var _ = this;
      _.oneRequestAtATime = t0;
      _._eval_on_dart_library$_disposed = false;
      _.libraryName = t1;
      _.service = t2;
      _._isolateRef = null;
      _._currentRequestId = 0;
      _.__EvalOnDartLibrary__libraryRef = $;
      _._isolate = _.allPendingRequestsDone = null;
      _.AutoDisposeControllerMixin__delegate = t3;
    },
    EvalOnDartLibrary_closure: function EvalOnDartLibrary_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    EvalOnDartLibrary_eval_closure: function EvalOnDartLibrary_eval_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.expression = t1;
      _.scope = t2;
      _.shouldLogError = t3;
    },
    EvalOnDartLibrary_invoke_closure: function EvalOnDartLibrary_invoke_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.instanceRef = t1;
      _.name = t2;
      _.argRefs = t3;
      _.shouldLogError = t4;
    },
    EvalOnDartLibrary_invoke__closure: function EvalOnDartLibrary_invoke__closure() {
    },
    EvalOnDartLibrary_safeEval_closure: function EvalOnDartLibrary_safeEval_closure(t0, t1, t2) {
      this.$this = t0;
      this.expression = t1;
      this.scope = t2;
    },
    EvalOnDartLibrary_addRequest_wrappedRequest: function EvalOnDartLibrary_addRequest_wrappedRequest(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.isAlive = t1;
      _.response = t2;
      _.request = t3;
    },
    EvalOnDartLibrary_getObjHelper_closure: function EvalOnDartLibrary_getObjHelper_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.instance = t1;
      _.offset = t2;
      _.count = t3;
      _.T = t4;
    },
    LibraryNotFound: function LibraryNotFound(t0) {
      this.name = t0;
    },
    CancelledException: function CancelledException() {
    },
    UnknownEvalException: function UnknownEvalException(t0, t1) {
      this.expression = t0;
      this.exception = t1;
    },
    SentinelException0: function SentinelException0(t0) {
      this.sentinel = t0;
    },
    EvalSentinelException: function EvalSentinelException(t0, t1) {
      this.expression = t0;
      this.sentinel = t1;
    },
    EvalErrorException: function EvalErrorException(t0, t1) {
      this.errorRef = t0;
      this.expression = t1;
    },
    _EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin: function _EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin() {
    },
    FileImportContainer$(actionText, instructions, onAction, onFileCleared, onFileSelected, title) {
      return new A.FileImportContainer(title, instructions, actionText, onAction, onFileSelected, onFileCleared, null);
    },
    importFileFromPicker(acceptedTypes) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsJsonFile),
        $async$returnValue, data, lastModifiedTime, acceptedTypeGroups, file, $async$temp1;
      var $async$importFileFromPicker = 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
              acceptedTypeGroups = A._setArrayType([new A.XTypeGroup(A.XTypeGroup__removeLeadingDots(acceptedTypes))], type$.JSArray_XTypeGroup);
              $async$goto = 3;
              return A._asyncAwait($.$get$FileSelectorPlatform__instance().openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory(acceptedTypeGroups, null, null), $async$importFileFromPicker);
            case 3:
              // returning from await.
              file = $async$result;
              if (file == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = B.C_JsonCodec;
              $async$goto = 4;
              return A._asyncAwait(file.readAsString$0(), $async$importFileFromPicker);
            case 4:
              // returning from await.
              data = $async$temp1.decode$2$reviver(0, $async$result, null);
              $async$goto = 5;
              return A._asyncAwait(file.lastModified$0(0), $async$importFileFromPicker);
            case 5:
              // returning from await.
              lastModifiedTime = $async$result;
              $async$returnValue = new A.DevToolsJsonFile(file._html1$_name, lastModifiedTime, data);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$importFileFromPicker, $async$completer);
    },
    FileImportContainer: function FileImportContainer(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.title = t0;
      _.instructions = t1;
      _.actionText = t2;
      _.onAction = t3;
      _.onFileSelected = t4;
      _.onFileCleared = t5;
      _.key = t6;
    },
    _FileImportContainerState: function _FileImportContainerState(t0) {
      var _ = this;
      _._widget = _.importedFile = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _FileImportContainerState__buildActionButton_closure: function _FileImportContainerState__buildActionButton_closure(t0) {
      this.$this = t0;
    },
    _FileImportContainerState__clearFile_closure: function _FileImportContainerState__clearFile_closure(t0) {
      this.$this = t0;
    },
    _FileImportContainerState__handleImportedFile_closure: function _FileImportContainerState__handleImportedFile_closure(t0, t1) {
      this.$this = t0;
      this.file = t1;
    },
    FileImportButton: function FileImportButton(t0, t1) {
      this.onPressed = t0;
      this.key = t1;
    },
    DualFileImportContainer: function DualFileImportContainer(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.firstFileTitle = t0;
      _.secondFileTitle = t1;
      _.firstInstructions = t2;
      _.secondInstructions = t3;
      _.actionText = t4;
      _.onAction = t5;
      _.key = t6;
    },
    _DualFileImportContainerState: function _DualFileImportContainerState(t0) {
      var _ = this;
      _._widget = _.secondImportedFile = _.firstImportedFile = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _DualFileImportContainerState_onFirstFileSelected_closure: function _DualFileImportContainerState_onFirstFileSelected_closure(t0, t1) {
      this.$this = t0;
      this.selectedFile = t1;
    },
    _DualFileImportContainerState_onSecondFileSelected_closure: function _DualFileImportContainerState_onSecondFileSelected_closure(t0, t1) {
      this.$this = t0;
      this.selectedFile = t1;
    },
    _DualFileImportContainerState_onFirstFileCleared_closure: function _DualFileImportContainerState_onFirstFileCleared_closure(t0) {
      this.$this = t0;
    },
    _DualFileImportContainerState_onSecondFileCleared_closure: function _DualFileImportContainerState_onSecondFileCleared_closure(t0) {
      this.$this = t0;
    },
    _DualFileImportContainerState__buildActionButton_closure: function _DualFileImportContainerState__buildActionButton_closure(t0, t1) {
      this.$this = t0;
      this.notifications = t1;
    },
    _DualFileImportContainerState__buildActionButton__closure: function _DualFileImportContainerState__buildActionButton__closure(t0) {
      this.notifications = t0;
    },
    FlexSplitColumn$(children, headers, initialFractions, minSizes, totalHeight) {
      var t2, t3, t4,
        t1 = type$.JSArray_Widget;
      t1 = A._setArrayType([A.Column$(A._setArrayType([headers[0], A.Expanded$(children[0], 1)], t1), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t1);
      B.JSArray_methods.addAll$1(t1, B.JSArray_methods.sublist$1(children, 1));
      t2 = A.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader(initialFractions, headers, totalHeight);
      t3 = minSizes[0];
      t4 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      t3 = A._setArrayType([t3 + B.JSNumber_methods.roundToDouble$0(36 * (t4.fontSize / 14))], type$.JSArray_double);
      B.JSArray_methods.addAll$1(t3, B.JSArray_methods.sublist$1(minSizes, 1));
      return new A.FlexSplitColumn(headers, t1, t2, t3, null);
    },
    FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader(initialFractions, headers, totalHeight) {
      var t1, totalHeaderHeight, _i, intendedContentHeight, _length, intendedChildHeights, i, t2;
      for (t1 = headers.length, totalHeaderHeight = 0, _i = 0; _i < headers.length; headers.length === t1 || (0, A.throwConcurrentModificationError)(headers), ++_i)
        totalHeaderHeight += headers[_i].get$preferredSize()._dy;
      intendedContentHeight = totalHeight - totalHeaderHeight;
      _length = initialFractions.length;
      t1 = type$.double;
      intendedChildHeights = J.JSArray_JSArray$allocateGrowable(_length, t1);
      for (i = 0; i < _length; ++i)
        intendedChildHeights[i] = intendedContentHeight * initialFractions[i];
      t2 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      return A.List_List$generate(_length, new A.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure(intendedChildHeights, headers, intendedContentHeight + B.JSNumber_methods.roundToDouble$0(36 * (t2.fontSize / 14))), true, t1);
    },
    FlexSplitColumn: function FlexSplitColumn(t0, t1, t2, t3, t4) {
      var _ = this;
      _.headers = t0;
      _._flex_split_column$_children = t1;
      _._initialFractions = t2;
      _._minSizes = t3;
      _.key = t4;
    },
    FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure: function FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure(t0, t1, t2) {
      this.intendedChildHeights = t0;
      this.headers = t1;
      this.trueContentHeight = t2;
    },
    FrameworkController: function FrameworkController(t0, t1, t2, t3, t4) {
      var _ = this;
      _._showPageIdController = t0;
      _._connectVmController = t1;
      _._connectedController = t2;
      _._disconnectedController = t3;
      _._pageChangeController = t4;
    },
    FrameworkController__init_closure: function FrameworkController__init_closure(t0) {
      this.$this = t0;
    },
    ConnectVmEvent: function ConnectVmEvent(t0, t1) {
      this.serviceProtocolUri = t0;
      this.notify = t1;
    },
    PageChangeEvent: function PageChangeEvent(t0, t1) {
      this.id = t0;
      this.embedded = t1;
    },
    HistoryViewport$(contentBuilder, controls, generateTitle, $history, onTitleTap, $T) {
      return new A.HistoryViewport($history, contentBuilder, controls, generateTitle, onTitleTap, null, $T._eval$1("HistoryViewport<0>"));
    },
    HistoryViewport: function HistoryViewport(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.history = t0;
      _.contentBuilder = t1;
      _.controls = t2;
      _.generateTitle = t3;
      _.onTitleTap = t4;
      _.key = t5;
      _.$ti = t6;
    },
    _HistoryViewportState: function _HistoryViewportState(t0, t1) {
      var _ = this;
      _._widget = _._titleStyle = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _HistoryViewportState__updateTitleStyle_closure: function _HistoryViewportState__updateTitleStyle_closure(t0, t1) {
      this.$this = t0;
      this.style = t1;
    },
    _HistoryViewportState_build_closure: function _HistoryViewportState_build_closure(t0, t1) {
      this.$this = t0;
      this.theme = t1;
    },
    _HistoryViewportState__buildTitle_closure: function _HistoryViewportState__buildTitle_closure(t0) {
      this.$this = t0;
    },
    _HistoryViewportState__buildTitle_closure0: function _HistoryViewportState__buildTitle_closure0(t0) {
      this.$this = t0;
    },
    _HistoryViewportState__buildTitle_closure2: function _HistoryViewportState__buildTitle_closure2(t0, t1) {
      this.$this = t0;
      this.defaultTitleStyle = t1;
    },
    _HistoryViewportState__buildTitle_closure1: function _HistoryViewportState__buildTitle_closure1(t0, t1, t2) {
      this.$this = t0;
      this.defaultTitleStyle = t1;
      this.theme = t2;
    },
    Initializer: function Initializer(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.url = t1;
      _.allowConnectionScreenOnDisconnect = t2;
      _.key = t3;
    },
    _InitializerState: function _InitializerState(t0, t1, t2, t3) {
      var _ = this;
      _.currentDisconnectedOverlay = null;
      _.AutoDisposeMixin__delegate = t0;
      _.SingleTickerProviderStateMixin__ticker = t1;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _InitializerState_initState_closure: function _InitializerState_initState_closure(t0) {
      this.$this = t0;
    },
    _InitializerState_initState_closure0: function _InitializerState_initState_closure0(t0) {
      this.$this = t0;
    },
    _InitializerState_initState__closure: function _InitializerState_initState__closure() {
    },
    _InitializerState__attemptUrlConnection_closure: function _InitializerState__attemptUrlConnection_closure(t0) {
      this.$this = t0;
    },
    _InitializerState__handleNoConnection_closure: function _InitializerState__handleNoConnection_closure(t0) {
      this.$this = t0;
    },
    _InitializerState__handleNoConnection__closure: function _InitializerState__handleNoConnection__closure(t0) {
      this.$this = t0;
    },
    _InitializerState__createDisconnectedOverlay_closure: function _InitializerState__createDisconnectedOverlay_closure(t0, t1) {
      this.$this = t0;
      this.theme = t1;
    },
    _InitializerState__createDisconnectedOverlay__closure: function _InitializerState__createDisconnectedOverlay__closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    __InitializerState_State_SingleTickerProviderStateMixin: function __InitializerState_State_SingleTickerProviderStateMixin() {
    },
    __InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin: function __InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin() {
    },
    LandingScreenBody: function LandingScreenBody(t0) {
      this.key = t0;
    },
    _LandingScreenBodyState: function _LandingScreenBodyState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    LandingScreenSection: function LandingScreenSection(t0, t1, t2) {
      this.title = t0;
      this.child = t1;
      this.key = t2;
    },
    ConnectDialog: function ConnectDialog(t0) {
      this.key = t0;
    },
    _ConnectDialogState: function _ConnectDialogState(t0, t1, t2) {
      var _ = this;
      _.___ConnectDialogState_connectDialogController = $;
      _.BlockingActionMixin__actionInProgress = t0;
      _.BlockingActionMixin__disposed = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _ConnectDialogState__buildConnectInput_closure: function _ConnectDialogState__buildConnectInput_closure(t0) {
      this.$this = t0;
    },
    _ConnectDialogState__connectHelper_closure: function _ConnectDialogState__connectHelper_closure(t0) {
      this.notifications = t0;
    },
    ImportFileInstructions: function ImportFileInstructions(t0) {
      this.key = t0;
    },
    ImportFileInstructions_build_closure: function ImportFileInstructions_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    AppSizeToolingInstructions: function AppSizeToolingInstructions(t0) {
      this.key = t0;
    },
    AppSizeToolingInstructions_build_closure: function AppSizeToolingInstructions_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    __ConnectDialogState_State_BlockingActionMixin: function __ConnectDialogState_State_BlockingActionMixin() {
    },
    Notifications_of(context) {
      var provider = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedNotifications);
      return provider == null ? null : provider.data;
    },
    Notifications: function Notifications(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    Notifications_build_closure: function Notifications_build_closure(t0) {
      this.$this = t0;
    },
    _NotificationsProvider: function _NotificationsProvider(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _InheritedNotifications: function _InheritedNotifications(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    NotificationsState: function NotificationsState(t0, t1) {
      var _ = this;
      _._overlayEntry = null;
      _._notifications$_notifications = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    NotificationsState_didChangeDependencies_closure: function NotificationsState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    NotificationsState_push_closure: function NotificationsState_push_closure(t0) {
      this.message = t0;
    },
    NotificationsState_push_closure0: function NotificationsState_push_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.message = t1;
      _.actions = t2;
      _.duration = t3;
    },
    NotificationsState_dismiss_closure: function NotificationsState_dismiss_closure(t0) {
      this.$this = t0;
    },
    NotificationsState__removeNotification_closure: function NotificationsState__removeNotification_closure(t0, t1) {
      this.$this = t0;
      this.notification = t1;
    },
    _Notification: function _Notification(t0, t1, t2, t3, t4) {
      var _ = this;
      _.duration = t0;
      _.message = t1;
      _.actions = t2;
      _.remove = t3;
      _.key = t4;
    },
    _NotificationState: function _NotificationState(t0, t1, t2) {
      var _ = this;
      _.___NotificationState__dismissTimer = _.___NotificationState_curve = _.___NotificationState_controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _NotificationState_initState_closure: function _NotificationState_initState_closure(t0) {
      this.$this = t0;
    },
    _NotificationState_initState__closure: function _NotificationState_initState__closure(t0) {
      this.$this = t0;
    },
    _NotificationState_build_closure: function _NotificationState_build_closure(t0) {
      this.$this = t0;
    },
    NotificationAction: function NotificationAction(t0, t1, t2, t3) {
      var _ = this;
      _.label = t0;
      _.onAction = t1;
      _.isPrimary = t2;
      _.key = t3;
    },
    __NotificationState_State_SingleTickerProviderStateMixin: function __NotificationState_State_SingleTickerProviderStateMixin() {
    },
    addExpandableChildren(variable, children, expandAll) {
      return A.addExpandableChildren$body(variable, children, expandAll);
    },
    addExpandableChildren$body(variable, children, expandAll) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1, t2, tasks;
      var $async$addExpandableChildren = 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
              tasks = A._setArrayType([], type$.JSArray_Future_dynamic);
              for (t1 = J.get$iterator$ax(children); t1.moveNext$0();) {
                t2 = t1.get$current(t1);
                if (expandAll)
                  tasks.push(A.buildVariablesTree(t2, true));
                variable.addChild$1(t2);
              }
              $async$goto = tasks.length !== 0 ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait(A.Future_wait(tasks, type$.dynamic), $async$addExpandableChildren);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$addExpandableChildren, $async$completer);
    },
    buildVariablesTree(variable, expandAll) {
      return A.buildVariablesTree$body(variable, expandAll);
    },
    buildVariablesTree$body(variable, expandAll) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, isolateRef, instanceRef, existingNames, variableId, result, instanceRef0, diagnostic, service, t1, t2, _i, $name, numChildrenInGrouping, start, end, count, t3, start0, t4, t5, exception, inspectorService, tasks, _maybeUpdateRef, _box_0, ref, $async$exception, $async$temp1;
      var $async$buildVariablesTree = 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
              _box_0 = {};
              ref = variable._ref;
              if (!variable.get$isExpandable() || variable.treeInitializeStarted || ref == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              variable.treeInitializeStarted = true;
              isolateRef = ref.isolateRef;
              instanceRef0 = ref.value;
              instanceRef = type$.InstanceRef._is(instanceRef0) ? instanceRef0 : null;
              diagnostic = ref.diagnostic;
              $async$goto = diagnostic != null && true ? 3 : 4;
              break;
            case 3:
              // then
              service = diagnostic.inspectorService;
              t1 = new A.buildVariablesTree__addPropertiesHelper(service, isolateRef, variable);
              $async$goto = diagnostic.get$inlineProperties().length !== 0 ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return A._asyncAwait(t1.call$1(diagnostic.get$inlineProperties()), $async$buildVariablesTree);
            case 8:
              // returning from await.
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              $async$goto = !service.disposed ? 9 : 10;
              break;
            case 9:
              // then
              $async$temp1 = t1;
              $async$goto = 12;
              return A._asyncAwait(diagnostic.getProperties$1(0, service), $async$buildVariablesTree);
            case 12:
              // returning from await.
              $async$goto = 11;
              return A._asyncAwait($async$temp1.call$1($async$result), $async$buildVariablesTree);
            case 11:
              // returning from await.
            case 10:
              // join
            case 6:
              // join
            case 4:
              // join
              existingNames = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
              for (t1 = variable.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                $name = t1[_i].name;
                if ($name != null && $name.length !== 0) {
                  J.add$1$ax(existingNames, $name);
                  if (!B.JSString_methods.startsWith$1($name, "_"))
                    J.add$1$ax(existingNames, "_" + $name);
                }
              }
              $async$goto = variable.get$childCount() > 100 ? 13 : 15;
              break;
            case 13:
              // then
              numChildrenInGrouping = variable.get$childCount() >= Math.pow(100, 2) ? B.JSNumber_methods.floor$0(B.JSNumber_methods.floor$0(Math.pow(10, B.JSNumber_methods.ceil$0(Math.log(variable.get$childCount()) / Math.log(10)))) / 100) : 100;
              start = variable._object_tree$_offset;
              if (start == null)
                start = 0;
              end = start + variable.get$childCount();
              for (t2 = type$.JSArray_DartObjectNode; start < end; start = start0) {
                count = Math.min(end - start, numChildrenInGrouping);
                t3 = variable._ref;
                start0 = start + count;
                t4 = A._setArrayType([], t2);
                if (t3 != null) {
                  t5 = t3.diagnostic;
                  if (t5 != null)
                    if (t5.__RemoteDiagnosticsNode_style === $)
                      t5.__RemoteDiagnosticsNode_style = t5.getStyleMember$2("style", B.DiagnosticsTreeStyle_1);
                }
                variable.addChild$1(new A.DartObjectNode("[" + start + " - " + (start0 - 1) + "]", null, false, t3, start, count, t4));
              }
              // goto join
              $async$goto = 14;
              break;
            case 15:
              // else
              $async$goto = instanceRef != null && $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service != null ? 16 : 17;
              break;
            case 16:
              // then
              t2 = variable._ref.isolateRef;
              t2 = t2.get$id(t2);
              t2.toString;
              variableId = t2;
              $async$handler = 19;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = J.get$id$x(instanceRef);
              t3.toString;
              t4 = variable._object_tree$_offset;
              if (t4 == null)
                t4 = 0;
              $async$goto = 22;
              return A._asyncAwait(t2.getObject$4$count$offset(0, variableId, t3, variable.get$childCount(), t4), $async$buildVariablesTree);
            case 22:
              // returning from await.
              result = $async$result;
              if (result instanceof A.Instance)
                if (result.associations != null)
                  B.JSArray_methods.forEach$1(A._createVariablesForAssociations(result, isolateRef), variable.get$addChild());
                else if (result.elements != null)
                  B.JSArray_methods.forEach$1(A._createVariablesForElements(result, isolateRef), variable.get$addChild());
                else if (result.bytes != null)
                  B.JSArray_methods.forEach$1(A._createVariablesForBytes(result, isolateRef), variable.get$addChild());
                else if (result.fields != null)
                  B.JSArray_methods.forEach$1(A._createVariablesForFields(result, isolateRef, existingNames), variable.get$addChild());
              $async$handler = 2;
              // goto after finally
              $async$goto = 21;
              break;
            case 19:
              // catch
              $async$handler = 18;
              $async$exception = $async$currentError;
              if (!(A.unwrapException($async$exception) instanceof A.SentinelException))
                throw $async$exception;
              // goto after finally
              $async$goto = 21;
              break;
            case 18:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 21:
              // after finally
            case 17:
              // join
            case 14:
              // join
              inspectorService = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
              $async$goto = inspectorService != null ? 23 : 24;
              break;
            case 23:
              // then
              tasks = A._setArrayType([], type$.JSArray_Future_dynamic);
              _box_0.group = null;
              _maybeUpdateRef = new A.buildVariablesTree__maybeUpdateRef(_box_0, inspectorService, isolateRef);
              for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
                tasks.push(_maybeUpdateRef.call$1(t1[_i]));
              $async$goto = tasks.length !== 0 ? 25 : 26;
              break;
            case 25:
              // then
              $async$goto = 27;
              return A._asyncAwait(A.Future_wait(tasks, type$.dynamic), $async$buildVariablesTree);
            case 27:
              // returning from await.
              t1 = _box_0.group;
              if (t1 != null)
                t1.dispose$0();
            case 26:
              // join
            case 24:
              // join
              variable.treeInitializeComplete = true;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$buildVariablesTree, $async$completer);
    },
    _buildVariable(diagnostic, inspectorService, isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.DartObjectNode),
        $async$returnValue, t1, t2, instanceRef;
      var $async$_buildVariable = 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 = diagnostic.json;
              t2 = J.getInterceptor$asx(t1);
              $async$goto = 3;
              return A._asyncAwait(inspectorService.toObservatoryInstanceRef$1(new A.InspectorInstanceRef(A._asStringQ(t2.$index(t1, "valueId")))), $async$_buildVariable);
            case 3:
              // returning from await.
              instanceRef = $async$result;
              $async$returnValue = A.DartObjectNode_DartObjectNode$fromValue(false, diagnostic, isolateRef, A._asStringQ(t2.$index(t1, "name")), instanceRef);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_buildVariable, $async$completer);
    },
    _createVariablesForDiagnostics(inspectorService, diagnostics, isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_DartObjectNode),
        $async$returnValue, t1, t2, variables;
      var $async$_createVariablesForDiagnostics = 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
              variables = A._setArrayType([], type$.JSArray_Future_DartObjectNode);
              for (t1 = J.get$iterator$ax(diagnostics); t1.moveNext$0();) {
                t2 = t1.get$current(t1);
                if (t2.getLevelMember$2("level", B.DiagnosticLevel_3) === B.DiagnosticLevel_0)
                  continue;
                variables.push(A._buildVariable(t2, inspectorService, isolateRef));
              }
              $async$goto = variables.length !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait(A.Future_wait(variables, type$.DartObjectNode), $async$_createVariablesForDiagnostics);
            case 6:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$returnValue = B.List_empty20;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_createVariablesForDiagnostics, $async$completer);
    },
    _createVariablesForAssociations(instance, isolateRef) {
      var hasPrimitiveKey, t2, i, association, t3, $name, t4, t5, t6, t7, entryNum, _null = null,
        t1 = type$.JSArray_DartObjectNode,
        variables = A._setArrayType([], t1),
        associations = instance.associations;
      if (associations == null)
        associations = A._setArrayType([], type$.JSArray_MapAssociation);
      hasPrimitiveKey = B.JSArray_methods.fold$2(associations, false, new A._createVariablesForAssociations_closure());
      for (t2 = type$.InstanceRef, i = 0; i < associations.length; ++i) {
        association = associations[i];
        t3 = association.key;
        if (!t2._is(t3))
          continue;
        if (hasPrimitiveKey) {
          $name = t3.get$valueAsString(t3);
          t3 = association.value;
          if ($name == null)
            $name = "";
          t4 = A._setArrayType([], t1);
          variables.push(new A.DartObjectNode(_null, $name, false, new A.GenericInstanceRef(t3, _null, isolateRef), _null, _null, t4));
        } else {
          t4 = A._setArrayType([], t1);
          t5 = association.value;
          t6 = A._setArrayType([], t1);
          t7 = instance.offset;
          entryNum = t7 == null ? i : i + t7;
          t7 = new A.DartObjectNode("[Entry " + entryNum + "]", _null, true, _null, _null, _null, A._setArrayType([], t1));
          t7.addChild$1(new A.DartObjectNode(_null, "[key]", true, new A.GenericInstanceRef(t3, _null, isolateRef), _null, _null, t4));
          t7.addChild$1(new A.DartObjectNode(_null, "[value]", true, new A.GenericInstanceRef(t5, _null, isolateRef), _null, _null, t6));
          variables.push(t7);
        }
      }
      return variables;
    },
    _createVariablesForBytes(instance, isolateRef) {
      var bytes, variables, result, t2, $length, i, t3, $name, t4, _null = null,
        t1 = instance.bytes;
      t1.toString;
      bytes = B.C_Base64Decoder.convert$1(t1);
      t1 = type$.JSArray_DartObjectNode;
      variables = A._setArrayType([], t1);
      switch (instance.kind) {
        case "Uint8ClampedList":
        case "Uint8List":
          result = bytes;
          break;
        case "Uint16List":
          t2 = bytes.buffer;
          A._checkViewArguments(t2, 0, _null);
          $length = B.JSInt_methods._tdivFast$1(t2.byteLength - 0, 2);
          result = new Uint16Array(t2, 0, $length);
          break;
        case "Uint32List":
          result = A.NativeUint32List_NativeUint32List$view(bytes.buffer, 0, _null);
          break;
        case "Uint64List":
          t2 = A._setArrayType([], t1);
          return t2;
        case "Int8List":
          result = A.NativeInt8List_NativeInt8List$view(bytes.buffer, 0, _null);
          break;
        case "Int16List":
          result = A.NativeInt16List_NativeInt16List$view(bytes.buffer, 0, _null);
          break;
        case "Int32List":
          result = A.NativeInt32List_NativeInt32List$view(bytes.buffer, 0, _null);
          break;
        case "Int64List":
          t2 = A._setArrayType([], t1);
          return t2;
        case "Float32List":
          result = A.NativeFloat32List_NativeFloat32List$view(bytes.buffer, 0, _null);
          break;
        case "Float64List":
          result = A.NativeFloat64List_NativeFloat64List$view(bytes.buffer, 0, _null);
          break;
        case "Int32x4List":
          t2 = bytes.buffer;
          $length = B.JSInt_methods._tdivFast$1(t2.byteLength - 0, 16);
          result = new A.NativeInt32x4List(A.NativeInt32List_NativeInt32List$view(t2, 0, $length * 4));
          break;
        case "Float32x4List":
          t2 = bytes.buffer;
          $length = B.JSInt_methods._tdivFast$1(t2.byteLength - 0, 16);
          result = new A.NativeFloat32x4List(A.NativeFloat32List_NativeFloat32List$view(t2, 0, $length * 4));
          break;
        case "Float64x2List":
          t2 = bytes.buffer;
          $length = B.JSInt_methods._tdivFast$1(t2.byteLength - 0, 16);
          result = new A.NativeFloat64x2List(A.NativeFloat64List_NativeFloat64List$view(t2, 0, $length * 2));
          break;
        default:
          result = bytes;
      }
      for (t2 = J.getInterceptor$asx(result), i = 0; i < t2.get$length(result); ++i) {
        t3 = instance.offset;
        $name = t3 == null ? i : i + t3;
        t3 = t2.$index(result, i);
        t4 = A._setArrayType([], t1);
        variables.push(new A.DartObjectNode(_null, "[" + $name + "]", true, new A.GenericInstanceRef(t3, _null, isolateRef), _null, _null, t4));
      }
      return variables;
    },
    _createVariablesForElements(instance, isolateRef) {
      var i, t2, $name, t3, _null = null,
        t1 = type$.JSArray_DartObjectNode,
        variables = A._setArrayType([], t1),
        elements = instance.elements;
      if (elements == null)
        elements = [];
      for (i = 0; i < elements.length; ++i) {
        t2 = instance.offset;
        $name = t2 == null ? i : i + t2;
        t2 = elements[i];
        t3 = A._setArrayType([], t1);
        variables.push(new A.DartObjectNode(_null, "[" + $name + "]", true, new A.GenericInstanceRef(t2, _null, isolateRef), _null, _null, t3));
      }
      return variables;
    },
    _createVariablesForFields(instance, isolateRef, existingNames) {
      var t2, t3, _i, field, t4, $name, t5, _null = null,
        t1 = type$.JSArray_DartObjectNode,
        variables = A._setArrayType([], t1);
      for (t2 = instance.fields, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        field = t2[_i];
        t4 = field.decl;
        $name = t4.get$name(t4);
        if (existingNames.contains$1(0, $name))
          continue;
        t4 = field.value;
        if ($name == null)
          $name = "";
        t5 = A._setArrayType([], t1);
        variables.push(new A.DartObjectNode(_null, $name, false, new A.GenericInstanceRef(t4, _null, isolateRef), _null, _null, t5));
      }
      return variables;
    },
    DartObjectNode$_(artificialName, childCount, $name, offset, ref, text) {
      var t2,
        t1 = A._setArrayType([], type$.JSArray_DartObjectNode);
      if (ref != null) {
        t2 = ref.diagnostic;
        if (t2 != null)
          t2.get$style(t2);
      }
      return new A.DartObjectNode(text, $name, artificialName, ref, offset, childCount, t1);
    },
    DartObjectNode_DartObjectNode$fromValue(artificialName, diagnostic, isolateRef, $name, value) {
      if ($name == null)
        $name = "";
      return A.DartObjectNode$_(artificialName, null, $name, null, new A.GenericInstanceRef(value, diagnostic, isolateRef), null);
    },
    buildVariablesTree__addPropertiesHelper: function buildVariablesTree__addPropertiesHelper(t0, t1, t2) {
      this.service = t0;
      this.isolateRef = t1;
      this.variable = t2;
    },
    buildVariablesTree__maybeUpdateRef: function buildVariablesTree__maybeUpdateRef(t0, t1, t2) {
      this._box_0 = t0;
      this.inspectorService = t1;
      this.isolateRef = t2;
    },
    _createVariablesForAssociations_closure: function _createVariablesForAssociations_closure() {
    },
    DartObjectNode: function DartObjectNode(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.text = t0;
      _.name = t1;
      _.artificialName = t2;
      _._ref = t3;
      _._object_tree$_offset = t4;
      _._childCount = t5;
      _.treeInitializeComplete = _.treeInitializeStarted = false;
      _.parent = _._isInspectable = null;
      _.children = t6;
      _.index = -1;
      _._trees$_depth = 0;
      _._selected = false;
      _._level = _._trees$_root = null;
      _._isExpanded = false;
    },
    PreferencesController: function PreferencesController(t0, t1, t2, t3) {
      var _ = this;
      _._darkModeTheme = t0;
      _._vmDeveloperMode = t1;
      _._denseMode = t2;
      _._inspector = t3;
    },
    PreferencesController_init_closure: function PreferencesController_init_closure(t0) {
      this.$this = t0;
    },
    PreferencesController_init_closure0: function PreferencesController_init_closure0(t0) {
      this.$this = t0;
    },
    PreferencesController_init_closure1: function PreferencesController_init_closure1(t0) {
      this.$this = t0;
    },
    InspectorPreferencesController: function InspectorPreferencesController(t0) {
      this._hoverEvalMode = t0;
    },
    InspectorPreferencesController_init_closure: function InspectorPreferencesController_init_closure(t0) {
      this.$this = t0;
    },
    ProfilableDataMixin: function ProfilableDataMixin() {
    },
    ProfileMetaData: function ProfileMetaData() {
    },
    BottomUpTransformer: function BottomUpTransformer(t0) {
      this.$ti = t0;
    },
    ReleaseNotesViewer: function ReleaseNotesViewer(t0, t1, t2) {
      this.releaseNotesController = t0;
      this.child = t1;
      this.key = t2;
    },
    _ReleaseNotesViewerState: function _ReleaseNotesViewerState(t0, t1, t2, t3) {
      var _ = this;
      _.___ReleaseNotesViewerState_visibilityAnimation = _.___ReleaseNotesViewerState_visibilityController = $;
      _.markdownData = null;
      _.___ReleaseNotesViewerState_isVisible = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _ReleaseNotesViewerState_initState_closure: function _ReleaseNotesViewerState_initState_closure(t0) {
      this.$this = t0;
    },
    _ReleaseNotesViewerState_initState__closure0: function _ReleaseNotesViewerState_initState__closure0(t0) {
      this.$this = t0;
    },
    _ReleaseNotesViewerState_initState_closure0: function _ReleaseNotesViewerState_initState_closure0(t0) {
      this.$this = t0;
    },
    _ReleaseNotesViewerState_initState__closure: function _ReleaseNotesViewerState_initState__closure(t0) {
      this.$this = t0;
    },
    _ReleaseNotesViewerState_build_closure: function _ReleaseNotesViewerState_build_closure(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    ReleaseNotes: function ReleaseNotes(t0, t1, t2, t3, t4) {
      var _ = this;
      _.releaseNotesController = t0;
      _.markdownData = t1;
      _.width = t2;
      _.listenable = t3;
      _.key = t4;
    },
    ReleaseNotes_build_closure: function ReleaseNotes_build_closure(t0) {
      this.$this = t0;
    },
    ReleaseNotes_build_closure0: function ReleaseNotes_build_closure0(t0) {
      this.context = t0;
    },
    ReleaseNotesController: function ReleaseNotesController(t0, t1) {
      this._releaseNotesMarkdown = t0;
      this._releaseNotesVisible = t1;
    },
    __ReleaseNotesViewerState_State_AutoDisposeMixin: function __ReleaseNotesViewerState_State_AutoDisposeMixin() {
    },
    __ReleaseNotesViewerState_State_AutoDisposeMixin_SingleTickerProviderStateMixin: function __ReleaseNotesViewerState_State_AutoDisposeMixin_SingleTickerProviderStateMixin() {
    },
    ReportFeedbackButton: function ReportFeedbackButton(t0) {
      this.key = t0;
    },
    ReportFeedbackButton_build_closure: function ReportFeedbackButton_build_closure(t0) {
      this.context = t0;
    },
    DevToolsRouteConfiguration: function DevToolsRouteConfiguration(t0, t1) {
      this.page = t0;
      this.args = t1;
    },
    DevToolsRouteInformationParser: function DevToolsRouteInformationParser() {
    },
    DevToolsRouteInformationParser_restoreRouteInformation_closure: function DevToolsRouteInformationParser_restoreRouteInformation_closure() {
    },
    DevToolsRouterDelegate: function DevToolsRouterDelegate(t0, t1, t2, t3) {
      var _ = this;
      _.navigatorKey = t0;
      _._routing$_getPage = t1;
      _.routes = t2;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _DevToolsRouterDelegate_RouterDelegate_ChangeNotifier: function _DevToolsRouterDelegate_RouterDelegate_ChangeNotifier() {
    },
    _DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin: function _DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin() {
    },
    DevToolsScaffold$withChild(actions, child, ideTheme, key) {
      var _null = null;
      return new A.DevToolsScaffold(A._setArrayType([new A.SimpleScreen(child, false, "simple", "", _null, _null, _null, false, false, false, false, _null)], type$.JSArray_Screen), _null, false, actions, key);
    },
    DevToolsScaffold: function DevToolsScaffold(t0, t1, t2, t3, t4) {
      var _ = this;
      _.tabs = t0;
      _.page = t1;
      _.embed = t2;
      _.actions = t3;
      _.key = t4;
    },
    DevToolsScaffoldState: function DevToolsScaffoldState(t0, t1, t2, t3) {
      var _ = this;
      _._tabController = null;
      _.__DevToolsScaffoldState_scaffoldTitle = _.__DevToolsScaffoldState__importController = _.__DevToolsScaffoldState__currentScreen = $;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _.AutoDisposeMixin__delegate = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    DevToolsScaffoldState_didUpdateWidget_closure: function DevToolsScaffoldState_didUpdateWidget_closure(t0) {
      this.$this = t0;
    },
    DevToolsScaffoldState__initTitle_closure: function DevToolsScaffoldState__initTitle_closure(t0) {
      this.$this = t0;
    },
    DevToolsScaffoldState__initTitle__closure: function DevToolsScaffoldState__initTitle__closure(t0) {
      this.$this = t0;
    },
    DevToolsScaffoldState__setupTabController_closure: function DevToolsScaffoldState__setupTabController_closure(t0) {
      this.$this = t0;
    },
    DevToolsScaffoldState__setupTabController_closure0: function DevToolsScaffoldState__setupTabController_closure0(t0) {
      this.$this = t0;
    },
    DevToolsScaffoldState__setupTabController__closure0: function DevToolsScaffoldState__setupTabController__closure0(t0, t1) {
      this.$this = t0;
      this.screen = t1;
    },
    DevToolsScaffoldState__setupTabController_closure1: function DevToolsScaffoldState__setupTabController_closure1(t0) {
      this.$this = t0;
    },
    DevToolsScaffoldState__setupTabController__closure: function DevToolsScaffoldState__setupTabController__closure(t0, t1) {
      this.$this = t0;
      this.routerDelegate = t1;
    },
    DevToolsScaffoldState__showPageById_closure: function DevToolsScaffoldState__showPageById_closure(t0) {
      this.pageId = t0;
    },
    DevToolsScaffoldState__pushSnapshotScreenForImport_closure: function DevToolsScaffoldState__pushSnapshotScreenForImport_closure(t0, t1) {
      this.routerDelegate = t0;
      this.args = t1;
    },
    DevToolsScaffoldState_build_closure0: function DevToolsScaffoldState_build_closure0() {
    },
    DevToolsScaffoldState_build_closure: function DevToolsScaffoldState_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.theme = t1;
      this.content = t2;
    },
    KeyboardShortcuts: function KeyboardShortcuts(t0, t1, t2) {
      this.keyboardShortcuts = t0;
      this.child = t1;
      this.key = t2;
    },
    KeyboardShortcutsState: function KeyboardShortcutsState(t0, t1) {
      var _ = this;
      _.__KeyboardShortcutsState__focusNode = $;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    KeyboardShortcutsState_build_closure: function KeyboardShortcutsState_build_closure(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    SimpleScreen: function SimpleScreen(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.child = t0;
      _.showFloatingDebuggerControls = t1;
      _.screenId = t2;
      _.title = t3;
      _.icon = t4;
      _.tabKey = t5;
      _.requiresLibrary = t6;
      _.requiresDartVm = t7;
      _.requiresDebugBuild = t8;
      _.requiresVmDeveloperMode = t9;
      _.worksOffline = t10;
      _.shouldShowForFlutterVersion = t11;
    },
    _DevToolsScaffoldState_State_AutoDisposeMixin: function _DevToolsScaffoldState_State_AutoDisposeMixin() {
    },
    _DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin: function _DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin() {
    },
    _KeyboardShortcutsState_State_AutoDisposeMixin: function _KeyboardShortcutsState_State_AutoDisposeMixin() {
    },
    shouldShowScreen($screen) {
      var t1;
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        return $screen.worksOffline;
      if (($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._serviceAvailable.future._state & 30) === 0 || !$.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$connectedAppInitialized())
        return false;
      t1 = $screen.requiresLibrary;
      if (t1 != null)
        if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate._change_notifier$_value == null || !$.globals.$index(0, B.Type_ServiceConnectionManager_qdG).libraryUriAvailableNow$1(t1))
          return false;
      if ($screen.requiresDartVm)
        if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isRunningOnDartVM() !== true)
          return false;
      if ($screen.requiresDebugBuild)
        if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuildNow() === true)
          return false;
      if ($screen.requiresVmDeveloperMode)
        if (!$.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode._change_notifier$_value)
          return false;
      return true;
    },
    Screen: function Screen() {
    },
    Screen_buildTab_closure: function Screen_buildTab_closure(t0) {
      this.$this = t0;
    },
    Screen_buildTab__closure: function Screen_buildTab__closure(t0, t1, t2) {
      this.titleWidth = t0;
      this.count = t1;
      this.tab = t2;
    },
    OfflineScreenMixin: function OfflineScreenMixin() {
    },
    OfflineScreenMixin_loadOfflineData_closure: function OfflineScreenMixin_loadOfflineData_closure(t0) {
      this.$this = t0;
    },
    OfflineScreenMixin_loadOfflineData_closure0: function OfflineScreenMixin_loadOfflineData_closure0(t0) {
      this.$this = t0;
    },
    BadgePainter: function BadgePainter(t0, t1) {
      this.number = t0;
      this._repaint = t1;
    },
    ShortcutsConfiguration: function ShortcutsConfiguration(t0, t1) {
      this.shortcuts = t0;
      this.actions = t1;
    },
    DevToolsServerConnection$_(sseClient) {
      var t1 = new A.DevToolsServerConnection(sseClient, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Completer_dynamic));
      t1.DevToolsServerConnection$_$1(sseClient);
      return t1;
    },
    DevToolsServerConnection_connect() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsServerConnection),
        $async$returnValue, $async$handler = 2, $async$currentError, uri, response, e, t2, t3, t4, exception, baseUri, t1, baseUriPathSegments, $async$exception;
      var $async$DevToolsServerConnection_connect = 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
              baseUri = A.Uri_base();
              t1 = baseUri.get$pathSegments();
              baseUriPathSegments = new A.WhereIterable(t1, new A.DevToolsServerConnection_connect_closure(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
              t1 = baseUri.get$scheme();
              t2 = baseUri.get$host(baseUri);
              t3 = baseUri.get$port(baseUri);
              t4 = A.List_List$of(baseUriPathSegments, true, type$.String);
              t4.push("api");
              t4.push("ping");
              uri = A._Uri__Uri(null, t2, null, t4, t3, null, null, t1, null);
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(A.get(uri).timeout$1(0, B.Duration_5000000), $async$DevToolsServerConnection_connect);
            case 7:
              // returning from await.
              response = $async$result;
              if (response.statusCode === 200) {
                t1 = response;
                t1 = A.encodingForCharset(J.$index$asx(A._contentTypeForHeaders(t1.headers).parameters._collection$_map, "charset")).decode$1(0, t1.bodyBytes) !== "OK";
              } else
                t1 = true;
              if (t1) {
                A.log("devtools server not available (" + response.statusCode + ")", B.LogLevel_0);
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $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);
              A.log("devtools server not available (" + A.S(e) + ")", B.LogLevel_0);
              $async$returnValue = null;
              // 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 = A._setArrayType([""], type$.JSArray_String);
              B.JSArray_methods.addAll$1(t1, baseUriPathSegments);
              t1.push("api");
              t1.push("sse");
              $async$returnValue = A.DevToolsServerConnection$_(A.SseClient$(A._Uri__Uri(null, null, null, t1, null, null, null, null, null).get$_text()));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$DevToolsServerConnection_connect, $async$completer);
    },
    DevToolsServerConnection: function DevToolsServerConnection(t0, t1) {
      var _ = this;
      _.sseClient = t0;
      _._nextRequestId = 0;
      _._server_api_client$_lastNotification = null;
      _._completers = t1;
    },
    DevToolsServerConnection$__closure: function DevToolsServerConnection$__closure(t0) {
      this.$this = t0;
    },
    DevToolsServerConnection_connect_closure: function DevToolsServerConnection_connect_closure() {
    },
    DevToolsServerConnection_initFrameworkController_closure: function DevToolsServerConnection_initFrameworkController_closure(t0) {
      this.$this = t0;
    },
    DevToolsServerConnection_initFrameworkController_closure0: function DevToolsServerConnection_initFrameworkController_closure0(t0) {
      this.$this = t0;
    },
    DevToolsServerConnection_initFrameworkController_closure1: function DevToolsServerConnection_initFrameworkController_closure1(t0) {
      this.$this = t0;
    },
    SnapshotScreenBody: function SnapshotScreenBody(t0, t1, t2) {
      this.args = t0;
      this.possibleScreens = t1;
      this.key = t2;
    },
    _SnapshotScreenBodyState: function _SnapshotScreenBodyState(t0) {
      var _ = this;
      _._widget = _._screen = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _SnapshotScreenBodyState__initScreen_closure: function _SnapshotScreenBodyState__initScreen_closure(t0) {
      this.$this = t0;
    },
    _SnapshotScreenBodyState_build_closure: function _SnapshotScreenBodyState_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.context = t1;
      this.routerDelegate = t2;
    },
    _SnapshotScreenBodyState_build__closure: function _SnapshotScreenBodyState_build__closure(t0) {
      this.routerDelegate = t0;
    },
    _SnapshotScreenBodyState_reset_closure: function _SnapshotScreenBodyState_reset_closure(t0) {
      this.$this = t0;
    },
    SnapshotArguments: function SnapshotArguments(t0) {
      this.screenId = t0;
    },
    Split$(axis, children, initialFractions, minSizes, splitters) {
      A._verifyFractionsSumTo1(initialFractions);
      return new A.Split(axis, children, initialFractions, minSizes, splitters, null);
    },
    Split_axisFor(context, horizontalAspectRatio) {
      var screenSize = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size;
      if (screenSize._dx / screenSize._dy >= horizontalAspectRatio)
        return B.Axis_0;
      return B.Axis_1;
    },
    _verifyFractionsSumTo1(fractions) {
      var t1, sumFractions, _i;
      for (t1 = fractions.length, sumFractions = 0, _i = 0; _i < t1; ++_i)
        sumFractions += fractions[_i];
    },
    Split: function Split(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.axis = t0;
      _.children = t1;
      _.initialFractions = t2;
      _.minSizes = t3;
      _.splitters = t4;
      _.key = t5;
    },
    _SplitState: function _SplitState(t0) {
      var _ = this;
      _.___SplitState_fractions = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _SplitState__buildLayout__minSizeForIndex: function _SplitState__buildLayout__minSizeForIndex(t0, t1) {
      this.$this = t0;
      this.availableSize = t1;
    },
    _SplitState__buildLayout__minFractionForIndex: function _SplitState__buildLayout__minFractionForIndex(t0, t1) {
      this._minSizeForIndex = t0;
      this.availableSize = t1;
    },
    _SplitState__buildLayout__clampFraction: function _SplitState__buildLayout__clampFraction(t0, t1) {
      this.$this = t0;
      this._minFractionForIndex = t1;
    },
    _SplitState__buildLayout__sizeForIndex: function _SplitState__buildLayout__sizeForIndex(t0, t1) {
      this.$this = t0;
      this.availableSize = t1;
    },
    _SplitState__buildLayout_deltaFromMinimumSize: function _SplitState__buildLayout_deltaFromMinimumSize(t0, t1) {
      this.$this = t0;
      this._minFractionForIndex = t1;
    },
    _SplitState__buildLayout_updateSpacing: function _SplitState__buildLayout_updateSpacing(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.axisSize = t1;
      _._minFractionForIndex = t2;
      _._clampFraction = t3;
    },
    _SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex: function _SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.splitterIndex = t1;
      _._minFractionForIndex = t2;
      _._clampFraction = t3;
    },
    _SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex: function _SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.splitterIndex = t1;
      _._minFractionForIndex = t2;
      _._clampFraction = t3;
    },
    _SplitState__buildLayout_updateSpacing_closure: function _SplitState__buildLayout_updateSpacing_closure(t0, t1, t2) {
      this.fractionalDelta = t0;
      this.updateSpacingBeforeSplitterIndex = t1;
      this.updateSpacingAfterSplitterIndex = t2;
    },
    _SplitState__buildLayout_closure: function _SplitState__buildLayout_closure(t0, t1, t2) {
      this.$this = t0;
      this.updateSpacing = t1;
      this.i = t2;
    },
    _SplitState__buildLayout_closure0: function _SplitState__buildLayout_closure0(t0, t1, t2) {
      this.$this = t0;
      this.updateSpacing = t1;
      this.i = t2;
    },
    DefaultSplitter: function DefaultSplitter(t0, t1) {
      this.isHorizontal = t0;
      this.key = t1;
    },
    StatusLine: function StatusLine(t0, t1, t2) {
      this.currentScreen = t0;
      this.isEmbedded = t1;
      this.key = t2;
    },
    StatusLine_build_closure: function StatusLine_build_closure(t0, t1) {
      this.$this = t0;
      this.height = t1;
    },
    StatusLine_buildHelpUrlStatus_closure: function StatusLine_buildHelpUrlStatus_closure(t0) {
      this.currentScreen = t0;
    },
    StatusLine_buildConnectionStatus_closure: function StatusLine_buildConnectionStatus_closure(t0, t1) {
      this.textTheme = t0;
      this.screenWidth = t1;
    },
    StatusLine_buildConnectionStatus__closure: function StatusLine_buildConnectionStatus__closure(t0) {
      this.color = t0;
    },
    StatusLine_buildConnectionStatus__closure0: function StatusLine_buildConnectionStatus__closure0(t0, t1) {
      this.context = t0;
      this.app = t1;
    },
    StatusLine_buildConnectionStatus___closure: function StatusLine_buildConnectionStatus___closure(t0) {
      this.app = t0;
    },
    IsolateSelector: function IsolateSelector(t0) {
      this.key = t0;
    },
    IsolateSelector_build_closure: function IsolateSelector_build_closure(t0) {
      this.isolateManager = t0;
    },
    IsolateSelector_build__closure: function IsolateSelector_build__closure(t0) {
      this.isolates = t0;
    },
    IsolateSelector_build___closure: function IsolateSelector_build___closure() {
    },
    IsolateSelector_build___closure0: function IsolateSelector_build___closure0() {
    },
    IsolateOption: function IsolateOption(t0, t1) {
      this.ref = t0;
      this.key = t1;
    },
    SurveyService: function SurveyService() {
      this._cachedSurvey = null;
    },
    SurveyService_maybeShowSurveyPrompt_closure: function SurveyService_maybeShowSurveyPrompt_closure(t0, t1, t2) {
      this.$this = t0;
      this.message = t1;
      this.context = t2;
    },
    SurveyService_maybeShowSurveyPrompt_closure0: function SurveyService_maybeShowSurveyPrompt_closure0(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.survey = t1;
      _.message = t2;
      _.context = t3;
    },
    SurveyService_maybeShowSurveyPrompt_closure1: function SurveyService_maybeShowSurveyPrompt_closure1(t0, t1, t2) {
      this.context = t0;
      this.message = t1;
      this.actions = t2;
    },
    DevToolsSurvey: function DevToolsSurvey(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.startDate = t1;
      _.endDate = t2;
      _.title = t3;
      _.url = t4;
    },
    FlatTable$(activeSearchMatchNotifier, autoScrollContent, columns, data, key, keyFactory, onItemSelected, onSortChanged, searchMatchesNotifier, secondarySortColumn, selectionNotifier, sortColumn, sortDirection, $T) {
      return new A.FlatTable(columns, data, autoScrollContent, keyFactory, onItemSelected, sortColumn, sortDirection, secondarySortColumn, onSortChanged, searchMatchesNotifier, activeSearchMatchNotifier, selectionNotifier, key, $T._eval$1("FlatTable<0>"));
    },
    TreeTable$(autoExpandRoots, columns, dataRoots, key, keyFactory, selectionNotifier, sortColumn, sortDirection, treeColumn, $T) {
      return new A.TreeTable(columns, treeColumn, dataRoots, keyFactory, sortColumn, sortDirection, selectionNotifier, autoExpandRoots, key, $T._eval$1("TreeTable<0>"));
    },
    _Table$(activeSearchMatchNotifier, autoScrollContent, columnGroups, columnWidths, columns, data, focusNode, handleKeyEvent, onSortChanged, rowBuilder, rowItemExtent, secondarySortColumn, selectionNotifier, sortColumn, sortDirection, $T) {
      return new A._Table(data, autoScrollContent, columns, columnGroups, columnWidths, rowBuilder, sortColumn, sortDirection, secondarySortColumn, rowItemExtent, onSortChanged, focusNode, handleKeyEvent, selectionNotifier, activeSearchMatchNotifier, null, $T._eval$1("_Table<0>"));
    },
    TableRow$(activeSearchMatchNotifier, backgroundColor, columnGroups, columnWidths, columns, expandableColumn, expansionChildren, isExpandable, isExpanded, isSelected, isShown, key, linkedScrollControllerGroup, node, onExpansionCompleted, onPressed, searchMatchesNotifier, $T) {
      var _null = null;
      return new A.TableRow(linkedScrollControllerGroup, node, columns, columnGroups, onPressed, columnWidths, isSelected, B._TableRowType_0, expandableColumn, isExpanded, isExpandable, isShown, expansionChildren, onExpansionCompleted, backgroundColor, _null, _null, _null, _null, searchMatchesNotifier, activeSearchMatchNotifier, key, $T._eval$1("TableRow<0>"));
    },
    _compareData(a, b, column, direction, secondarySortColumn) {
      var t1 = column.compare$2(a, b),
        t2 = direction === B.SortDirection_0,
        compare = t1 * (t2 ? 1 : -1);
      if (compare !== 0 || secondarySortColumn == null)
        return compare;
      t1 = secondarySortColumn.compare$2(a, b);
      return t1 * (t2 ? 1 : -1);
    },
    ScrollKind: function ScrollKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FlatTable: function FlatTable(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.columns = t0;
      _.data = t1;
      _.autoScrollContent = t2;
      _.keyFactory = t3;
      _.onItemSelected = t4;
      _.sortColumn = t5;
      _.sortDirection = t6;
      _.secondarySortColumn = t7;
      _.onSortChanged = t8;
      _.searchMatchesNotifier = t9;
      _.activeSearchMatchNotifier = t10;
      _.selectionNotifier = t11;
      _.key = t12;
      _.$ti = t13;
    },
    FlatTableState: function FlatTableState(t0, t1) {
      var _ = this;
      _.__FlatTableState_data = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    FlatTableState_computeColumnWidths_closure: function FlatTableState_computeColumnWidths_closure(t0) {
      this.$this = t0;
    },
    FlatTableState_build_closure: function FlatTableState_build_closure(t0) {
      this.$this = t0;
    },
    FlatTableState__buildRow_closure: function FlatTableState__buildRow_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.node = t1;
      _.linkedScrollControllerGroup = t2;
      _.columnWidths = t3;
      _.index = t4;
    },
    FlatTableState__sortDataAndUpdate_closure: function FlatTableState__sortDataAndUpdate_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.column = t1;
      _.direction = t2;
      _.secondarySortColumn = t3;
    },
    FlatTableState_sortData_closure: function FlatTableState_sortData_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.column = t1;
      _.direction = t2;
      _.secondarySortColumn = t3;
    },
    Selection: function Selection(t0, t1, t2, t3) {
      var _ = this;
      _.node = t0;
      _.nodeIndex = t1;
      _.scrollIntoView = t2;
      _.$ti = t3;
    },
    TreeTable: function TreeTable(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.columns = t0;
      _.treeColumn = t1;
      _.dataRoots = t2;
      _.keyFactory = t3;
      _.sortColumn = t4;
      _.sortDirection = t5;
      _.selectionNotifier = t6;
      _.autoExpandRoots = t7;
      _.key = t8;
      _.$ti = t9;
    },
    TreeTableState: function TreeTableState(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.animatingChildren = t0;
      _.animatingChildrenSet = t1;
      _.animatingNode = null;
      _.__TreeTableState_selectionNotifier = _.__TreeTableState__focusNode = _.__TreeTableState_rootsExpanded = _.__TreeTableState_columnWidths = $;
      _.AutoDisposeMixin__delegate = t2;
      _.TreeMixin___TreeMixin_dataRoots = t3;
      _.TreeMixin___TreeMixin_items = t4;
      _.TickerProviderStateMixin__tickers = t5;
      _.TickerProviderStateMixin__tickerModeNotifier = t6;
      _._widget = null;
      _._debugLifecycleState = t7;
      _._framework$_element = null;
      _.$ti = t8;
    },
    TreeTableState_didUpdateWidget_closure: function TreeTableState_didUpdateWidget_closure(t0) {
      this.$this = t0;
    },
    TreeTableState_didUpdateWidget__closure: function TreeTableState_didUpdateWidget__closure(t0) {
      this.$this = t0;
    },
    TreeTableState__initData_closure: function TreeTableState__initData_closure(t0) {
      this.$this = t0;
    },
    TreeTableState__updateItems_closure: function TreeTableState__updateItems_closure(t0) {
      this.$this = t0;
    },
    TreeTableState__onItemsAnimated_closure: function TreeTableState__onItemsAnimated_closure(t0) {
      this.$this = t0;
    },
    TreeTableState__toggleNode_closure: function TreeTableState__toggleNode_closure(t0, t1) {
      this.$this = t0;
      this.node = t1;
    },
    TreeTableState__buildRow_rowForNode: function TreeTableState__buildRow_rowForNode(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.index = t1;
      _.linkedScrollControllerGroup = t2;
      _.context = t3;
      _.columnWidths = t4;
    },
    TreeTableState__buildRow_rowForNode_closure: function TreeTableState__buildRow_rowForNode_closure(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    TreeTableState_sortData_closure: function TreeTableState_sortData_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.column = t1;
      _.direction = t2;
      _.secondarySortColumn = t3;
    },
    TreeTableState_sortData__sort: function TreeTableState_sortData__sort(t0, t1) {
      this.$this = t0;
      this.sortFunction = t1;
    },
    TreeTableState__moveSelection_closure: function TreeTableState__moveSelection_closure(t0, t1, t2) {
      this.$this = t0;
      this.newSelectedNode = t1;
      this.newSelectedNodeIndex = t2;
    },
    _Table: function _Table(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.data = t0;
      _.autoScrollContent = t1;
      _.columns = t2;
      _.columnGroups = t3;
      _.columnWidths = t4;
      _.rowBuilder = t5;
      _.sortColumn = t6;
      _.sortDirection = t7;
      _.secondarySortColumn = t8;
      _.rowItemExtent = t9;
      _.onSortChanged = t10;
      _.focusNode = t11;
      _.handleKeyEvent = t12;
      _.selectionNotifier = t13;
      _.activeSearchMatchNotifier = t14;
      _.key = t15;
      _.$ti = t16;
    },
    _TableState: function _TableState(t0, t1, t2) {
      var _ = this;
      _.___TableState_scrollController = _.___TableState_sortDirection = _.___TableState_sortColumn = _.___TableState__linkedHorizontalScrollControllerGroup = $;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
      _.$ti = t2;
    },
    _TableState_didUpdateWidget_closure: function _TableState_didUpdateWidget_closure(t0, t1) {
      this.$this = t0;
      this.oldWidget = t1;
    },
    _TableState_didUpdateWidget__closure: function _TableState_didUpdateWidget__closure(t0, t1) {
      this.$this = t0;
      this.oldWidget = t1;
    },
    _TableState_build_closure: function _TableState_build_closure(t0, t1) {
      this.$this = t0;
      this.columnGroups = t1;
    },
    _TableState_build__closure0: function _TableState_build__closure0(t0) {
      this.$this = t0;
    },
    _TableState_build__closure: function _TableState_build__closure(t0, t1) {
      this.$this = t0;
      this.constraints = t1;
    },
    TableRow: function TableRow(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22) {
      var _ = this;
      _.linkedScrollControllerGroup = t0;
      _.node = t1;
      _.columns = t2;
      _.columnGroups = t3;
      _.onPressed = t4;
      _.columnWidths = t5;
      _.isSelected = t6;
      _.rowType = t7;
      _.expandableColumn = t8;
      _.isExpanded = t9;
      _.isExpandable = t10;
      _.isShown = t11;
      _.expansionChildren = t12;
      _.onExpansionCompleted = t13;
      _.backgroundColor = t14;
      _.sortColumn = t15;
      _.sortDirection = t16;
      _.secondarySortColumn = t17;
      _.onSortChanged = t18;
      _.searchMatchesNotifier = t19;
      _.activeSearchMatchNotifier = t20;
      _.key = t21;
      _.$ti = t22;
    },
    _TableRowState: function _TableRowState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.contentKey = null;
      _.___TableRowState_scrollController = $;
      _.isActiveSearchMatch = _.isSearchMatch = false;
      _.SearchableMixin_searchMatches = t0;
      _.SearchableMixin_activeSearchMatch = t1;
      _.AutoDisposeMixin__delegate = t2;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController = t3;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation = t4;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve = t5;
      _.TickerProviderStateMixin__tickers = t6;
      _.TickerProviderStateMixin__tickerModeNotifier = t7;
      _._widget = null;
      _._debugLifecycleState = t8;
      _._framework$_element = null;
      _.$ti = t9;
    },
    _TableRowState_initState_closure: function _TableRowState_initState_closure(t0) {
      this.$this = t0;
    },
    _TableRowState_initState__closure: function _TableRowState_initState__closure() {
    },
    _TableRowState_build_closure: function _TableRowState_build_closure(t0, t1) {
      this.widgetOnPressed = t0;
      this.node = t1;
    },
    _TableRowState_build_closure0: function _TableRowState_build_closure0(t0, t1) {
      this.$this = t0;
      this.box = t1;
    },
    _TableRowState__initSearchListeners_closure: function _TableRowState__initSearchListeners_closure(t0) {
      this.$this = t0;
    },
    _TableRowState__initSearchListeners__closure0: function _TableRowState__initSearchListeners__closure0(t0, t1) {
      this.$this = t0;
      this.isNewMatch = t1;
    },
    _TableRowState__initSearchListeners_closure0: function _TableRowState__initSearchListeners_closure0(t0) {
      this.$this = t0;
    },
    _TableRowState__initSearchListeners__closure: function _TableRowState__initSearchListeners__closure(t0, t1) {
      this.$this = t0;
      this.isNewActiveSearchMatch = t1;
    },
    _TableRowState_tableRowFor_columnFor: function _TableRowState_tableRowFor_columnFor(t0, t1, t2) {
      this.$this = t0;
      this.context = t1;
      this.onPressed = t2;
    },
    _TableRowState_tableRowFor_columnFor_closure: function _TableRowState_tableRowFor_columnFor_closure(t0, t1) {
      this.$this = t0;
      this.column = t1;
    },
    _TableRowState_tableRowFor_closure: function _TableRowState_tableRowFor_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.rowDisplayParts = t2;
      _.columnFor = t3;
    },
    _ColumnGroupHeaderRow: function _ColumnGroupHeaderRow(t0, t1, t2, t3) {
      var _ = this;
      _.groups = t0;
      _.columnWidths = t1;
      _.scrollController = t2;
      _.key = t3;
    },
    _ColumnGroupHeaderRow_build_closure: function _ColumnGroupHeaderRow_build_closure(t0) {
      this.$this = t0;
    },
    _ColumnGroupSpacer: function _ColumnGroupSpacer(t0) {
      this.key = t0;
    },
    _TableRowType: function _TableRowType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _TableRowPartDisplayType: function _TableRowPartDisplayType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _TreeTableState_State_TickerProviderStateMixin: function _TreeTableState_State_TickerProviderStateMixin() {
    },
    _TreeTableState_State_TickerProviderStateMixin_TreeMixin: function _TreeTableState_State_TickerProviderStateMixin_TreeMixin() {
    },
    _TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin: function _TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin() {
    },
    __TableRowState_State_TickerProviderStateMixin: function __TableRowState_State_TickerProviderStateMixin() {
    },
    __TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin: function __TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin() {
    },
    __TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin: function __TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin() {
    },
    __TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin: function __TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin() {
    },
    __TableState_State_AutoDisposeMixin: function __TableState_State_AutoDisposeMixin() {
    },
    ColumnData: function ColumnData() {
    },
    TreeColumnData: function TreeColumnData() {
    },
    ColumnAlignment: function ColumnAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _darkTheme(ideTheme) {
      var background,
        theme = A.ThemeData_ThemeData(B.Brightness_0, null),
        t1 = ideTheme.backgroundColor;
      if (A.isValidDarkColor(t1)) {
        t1.toString;
        background = t1;
      } else
        background = theme.canvasColor;
      return A._baseTheme(background, ideTheme, B.Color_4279482877, B.Color_4280295716, B.Color_4284507243, B.Color_4278190080, theme);
    },
    _lightTheme(ideTheme) {
      var background,
        theme = A.ThemeData_ThemeData(B.Brightness_1, null),
        t1 = ideTheme.backgroundColor;
      if (A.isValidLightColor(t1)) {
        t1.toString;
        background = t1;
      } else
        background = theme.canvasColor;
      return A._baseTheme(background, ideTheme, B.Color_4294961664, B.Color_4278285762, B.Color_4278285762, B.Color_4294967295, theme);
    },
    _baseTheme(backgroundColor, ideTheme, indicatorColor, primaryColor, selectedRowColor, textSelectionColor, theme) {
      var t3, t4, t5, t6, _null = null,
        t1 = theme.colorScheme,
        t2 = t1.copyWith$1$background(backgroundColor);
      t1 = t1.brightness === B.Brightness_1;
      t3 = t1 ? B.Color_4278190080 : B.Color_4293980400;
      t4 = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t5 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = A.OutlinedButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, new A.Size(1 / 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, new A.Size(t4, t5), _null, _null, t3, _null, _null, _null, _null, _null, _null, _null);
      t1 = t1 ? B.Color_4278190080 : B.Color_4293980400;
      t4 = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t5 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t1 = A.TextButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, new A.Size(1 / 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, new A.Size(t4, t5), _null, _null, t1, _null, _null, _null, _null, _null, _null);
      t5 = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t6 = type$._MaterialStatePropertyWith_nullable_Color;
      return theme.copyWith$17$accentColor$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme(B.Color_4279482877, B.Color_4284507243, backgroundColor, new A.CheckboxThemeData(_null, new A._MaterialStatePropertyWith(new A._baseTheme_closure(), t6), _null, _null, _null, _null, _null, _null, _null), t2, new A.ElevatedButtonThemeData(A.ElevatedButton_styleFrom(_null, _null, _null, _null, _null, _null, new A.Size(1 / 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, new A.Size(t5, t4), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)), indicatorColor, new A.OutlinedButtonThemeData(t3), primaryColor, B.Color_4278343323, B.Color_4279482877, new A.RadioThemeData(_null, new A._MaterialStatePropertyWith(new A._baseTheme_closure0(), t6), _null, _null, _null, _null), backgroundColor, selectedRowColor, new A.SwitchThemeData(new A._MaterialStatePropertyWith(new A._baseTheme_closure1(), t6), new A._MaterialStatePropertyWith(new A._baseTheme_closure2(), t6), _null, _null, _null, _null), new A.TextButtonThemeData(t1), new A.TextSelectionThemeData(_null, textSelectionColor, _null));
    },
    isValidDarkColor(color) {
      if (color == null)
        return false;
      return color.computeLuminance$0() <= 0.1;
    },
    isValidLightColor(color) {
      if (color == null)
        return false;
      return color.computeLuminance$0() >= 0.9;
    },
    defaultIconSize() {
      return B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    actionsIconSize() {
      return B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    defaultFontSize() {
      return B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    DevToolsColorScheme_get_defaultBackgroundColor(_this) {
      return _this.brightness === B.Brightness_1 ? B.Color_4294638330 : B.Color_4281348144;
    },
    ThemeDataExtension_get_titleSolidBackgroundColor(_this) {
      var t1 = _this.colorScheme;
      if (t1.brightness === B.Brightness_1)
        t1 = A.ColorExtension_darken(A.DevToolsColorScheme_get_defaultBackgroundColor(t1), 0.05);
      else
        t1 = A.ColorExtension_darken(_this.canvasColor, 0.2);
      return t1;
    },
    includeText(context, minScreenWidthForTextBeforeScaling) {
      return minScreenWidthForTextBeforeScaling == null || context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dx > B.JSNumber_methods.roundToDouble$0(minScreenWidthForTextBeforeScaling * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    denseAwareOutlinedButtonStyle(context, minScreenWidthForTextBeforeScaling) {
      var buttonStyle = A.Theme_of(context).outlinedButtonTheme.style;
      if (buttonStyle == null)
        buttonStyle = B.ButtonStyle_khi;
      if (!A.includeText(context, minScreenWidthForTextBeforeScaling))
        buttonStyle = A.ButtonStyle$(buttonStyle.alignment, buttonStyle.animationDuration, buttonStyle.backgroundColor, buttonStyle.elevation, buttonStyle.enableFeedback, buttonStyle.fixedSize, buttonStyle.foregroundColor, buttonStyle.maximumSize, buttonStyle.minimumSize, buttonStyle.mouseCursor, buttonStyle.overlayColor, new A._MaterialStatePropertyWith(new A.denseAwareOutlinedButtonStyle_closure(), type$._MaterialStatePropertyWith_EdgeInsets), buttonStyle.shadowColor, buttonStyle.shape, buttonStyle.side, buttonStyle.splashFactory, buttonStyle.surfaceTintColor, buttonStyle.tapTargetSize, buttonStyle.textStyle, buttonStyle.visualDensity);
      return buttonStyle;
    },
    _baseTheme_closure1: function _baseTheme_closure1() {
    },
    _baseTheme_closure2: function _baseTheme_closure2() {
    },
    _baseTheme_closure0: function _baseTheme_closure0() {
    },
    _baseTheme_closure: function _baseTheme_closure() {
    },
    denseAwareOutlinedButtonStyle_closure: function denseAwareOutlinedButtonStyle_closure() {
    },
    TreeView$(dataDisplayProvider, dataRootsListenable, emptyTreeViewBuilder, includeScrollbar, itemExtent, onItemExpanded, onItemSelected, scrollController, shrinkWrap, $T) {
      return new A.TreeView(dataRootsListenable, shrinkWrap, dataDisplayProvider, onItemSelected, onItemExpanded, itemExtent, emptyTreeViewBuilder, scrollController, includeScrollbar, null, $T._eval$1("TreeView<0>"));
    },
    TreeView: function TreeView(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.dataRootsListenable = t0;
      _.shrinkWrap = t1;
      _.dataDisplayProvider = t2;
      _.onItemSelected = t3;
      _.onItemExpanded = t4;
      _.itemExtent = t5;
      _.emptyTreeViewBuilder = t6;
      _.scrollController = t7;
      _.includeScrollbar = t8;
      _.key = t9;
      _.$ti = t10;
    },
    _TreeViewState: function _TreeViewState(t0, t1, t2, t3, t4) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _.TreeMixin___TreeMixin_dataRoots = t1;
      _.TreeMixin___TreeMixin_items = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
      _.$ti = t4;
    },
    _TreeViewState_build_closure: function _TreeViewState_build_closure(t0) {
      this.$this = t0;
    },
    _TreeViewState_build__closure: function _TreeViewState_build__closure(t0, t1) {
      this.$this = t0;
      this.item = t1;
    },
    _TreeViewState__updateItems_closure: function _TreeViewState__updateItems_closure(t0) {
      this.$this = t0;
    },
    _TreeViewItem: function _TreeViewItem(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.data = t0;
      _.buildDisplay = t1;
      _.onItemSelected = t2;
      _.onItemExpanded = t3;
      _.key = t4;
      _.$ti = t5;
    },
    _TreeViewItemState: function _TreeViewItemState(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController = t0;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation = t1;
      _.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve = t2;
      _.TickerProviderStateMixin__tickers = t3;
      _.TickerProviderStateMixin__tickerModeNotifier = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
      _.$ti = t6;
    },
    TreeMixin: function TreeMixin() {
    },
    TreeMixin_buildFlatList_closure: function TreeMixin_buildFlatList_closure(t0, t1, t2) {
      this.$this = t0;
      this.onTraverse = t1;
      this.flatList = t2;
    },
    __TreeViewItemState_State_TickerProviderStateMixin: function __TreeViewItemState_State_TickerProviderStateMixin() {
    },
    __TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin: function __TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin() {
    },
    __TreeViewState_State_TreeMixin: function __TreeViewState_State_TreeMixin() {
    },
    __TreeViewState_State_TreeMixin_AutoDisposeMixin: function __TreeViewState_State_TreeMixin_AutoDisposeMixin() {
    },
    copyToClipboard(data, successMessage, context) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1;
      var $async$copyToClipboard = 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(A.Clipboard_setData(new A.ClipboardData(data)), $async$copyToClipboard);
            case 2:
              // returning from await.
              t1 = A.Notifications_of(context);
              if (t1 != null)
                t1.push$1(successMessage);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$copyToClipboard, $async$completer);
    },
    scaleByFontFactor(original) {
      return B.JSNumber_methods.roundToDouble$0(original * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    VmExtension_isolatesForDevToolsMode(_this) {
      var t1, t2,
        vmDeveloperModeEnabled = $.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode._change_notifier$_value,
        vmIsolates = _this.isolates;
      if (vmIsolates == null)
        vmIsolates = A._setArrayType([], type$.JSArray_IsolateRef);
      t1 = A.List_List$of(vmIsolates, true, type$.IsolateRef);
      if (vmDeveloperModeEnabled || vmIsolates.length === 0) {
        t2 = _this.systemIsolates;
        B.JSArray_methods.addAll$1(t1, t2 == null ? A._setArrayType([], type$.JSArray_IsolateRef) : t2);
      }
      return t1;
    },
    VmExtension_get_deviceDisplay(_this) {
      var t1 = A._setArrayType([A.S(_this.targetCPU)], type$.JSArray_nullable_String),
        t2 = _this.architectureBits;
      if (t2 != null && t2 !== -1)
        t1.push("(" + A.S(t2) + " bit)");
      t1.push(_this.operatingSystem);
      return B.JSArray_methods.join$1(t1, " ");
    },
    generateDeviceDescription(vm, connectedApp, includeVmServiceConnection) {
      var version, flutterVersion, t2, t3, identifiers, t4,
        t1 = vm.version;
      t1.toString;
      if (B.JSString_methods.contains$1(t1, " "))
        version = B.JSString_methods.substring$2(t1, 0, B.JSString_methods.indexOf$1(t1, " "));
      else
        version = t1;
      t1 = connectedApp.get$isFlutterAppNow();
      t1.toString;
      flutterVersion = t1 ? connectedApp._flutterVersion : null;
      t1 = type$.String;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t2.$indexSet(0, "CPU / OS", A.VmExtension_get_deviceDisplay(vm));
      t2.$indexSet(0, "Dart Version", version);
      if (flutterVersion != null)
        for (t1 = A.LinkedHashMap_LinkedHashMap$_literal(["Flutter Version", A.S(flutterVersion.version) + " / " + A.S(flutterVersion.channel), "Framework / Engine", A.S(flutterVersion.frameworkRevision) + " / " + A.S(flutterVersion.engineRevision)], t1, t1), t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
        }
      t1 = type$.JSArray_String;
      identifiers = A._setArrayType([], t1);
      t3 = connectedApp.get$isFlutterAppNow();
      t3.toString;
      if (t3) {
        t3 = connectedApp.get$isFlutterAppNow();
        t3.toString;
        if (t3) {
          t3 = connectedApp.get$isDartWebAppNow();
          t3.toString;
        } else
          t3 = false;
        t3 = t3 ? "web" : "native";
        t4 = connectedApp.get$isProfileBuildNow();
        t4.toString;
        B.JSArray_methods.addAll$1(identifiers, A._setArrayType(["Flutter", t3, t4 ? "(profile build)" : "(debug build)"], t1));
      } else {
        t3 = connectedApp.get$isDartWebAppNow();
        t3.toString;
        B.JSArray_methods.addAll$1(identifiers, A._setArrayType(["Dart", t3 ? "web" : "CLI"], t1));
      }
      t2.$indexSet(0, "Connected app type", B.JSArray_methods.join$1(identifiers, " "));
      if (includeVmServiceConnection && $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service != null)
        t2.$indexSet(0, "VM Service Connection", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service._connectedUri.get$_text());
      return t2;
    },
    issueLinkDetails() {
      var deviceDescriptionMap, t2, deviceDescription,
        t1 = type$.JSArray_String,
        issueDescriptionItems = A._setArrayType(["<-- Please describe your problem here. Be sure to include repro steps. -->", "___", "**DevTools version**: 2.15.0"], t1),
        vm = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm,
        connectedApp = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      if (vm != null && connectedApp != null) {
        deviceDescriptionMap = A.generateDeviceDescription(vm, connectedApp, false);
        t2 = A._instanceType(deviceDescriptionMap)._eval$1("LinkedHashMapKeyIterable<1>");
        deviceDescription = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(deviceDescriptionMap, t2), new A.issueLinkDetails_closure(deviceDescriptionMap), t2._eval$1("Iterable.E"), type$.String);
        t1 = A._setArrayType(["**Connected Device**:"], t1);
        B.JSArray_methods.addAll$1(t1, deviceDescription);
        B.JSArray_methods.addAll$1(issueDescriptionItems, t1);
      }
      return issueDescriptionItems;
    },
    CompareMixin: function CompareMixin() {
    },
    issueLinkDetails_closure: function issueLinkDetails_closure(t0) {
      this.deviceDescriptionMap = t0;
    },
    ProvidedControllerMixin: function ProvidedControllerMixin() {
    },
    FlutterVersion__parseDartVersion(versionString) {
      var indexOfPrefix;
      if (versionString == null)
        return null;
      indexOfPrefix = B.JSString_methods.indexOf$1(versionString, "(build ");
      return A.SemanticVersion_SemanticVersion$parse(indexOfPrefix !== -1 ? B.JSString_methods.substring$2(versionString, indexOfPrefix + 7, versionString.length - 1) : versionString);
    },
    SemanticVersion_SemanticVersion$parse(versionString) {
      var buildMetadataIndex, splitOnDash, _versionParts, t1, major, minor, patch, preReleaseParts, preReleaseMajor, preReleaseMinor, _null = null;
      if (versionString == null)
        return new A.SemanticVersion(0, 0, 0, _null, _null);
      buildMetadataIndex = B.JSString_methods.indexOf$1(versionString, "+");
      splitOnDash = B.JSArray_methods.get$first((buildMetadataIndex !== -1 ? B.JSString_methods.substring$2(versionString, 0, buildMetadataIndex) : versionString).split(" ")).split("-");
      _versionParts = B.JSArray_methods.get$first(splitOnDash).split(".");
      if (_versionParts.length !== 0) {
        t1 = A.Primitives_parseInt(B.JSArray_methods.get$first(_versionParts), _null);
        major = t1 == null ? 0 : t1;
      } else
        major = 0;
      if (_versionParts.length > 1) {
        t1 = A.Primitives_parseInt(_versionParts[1], _null);
        minor = t1 == null ? 0 : t1;
      } else
        minor = 0;
      if (_versionParts.length > 2) {
        t1 = A.Primitives_parseInt(_versionParts[2], _null);
        patch = t1 == null ? 0 : t1;
      } else
        patch = 0;
      if (splitOnDash.length === 2) {
        t1 = type$.MappedListIterable_String_String;
        preReleaseParts = A.List_List$of(new A.MappedListIterable(A._setArrayType(B.JSArray_methods.get$last(splitOnDash).split("."), type$.JSArray_String), new A.SemanticVersion_SemanticVersion$parse_closure(), t1), true, t1._eval$1("ListIterable.E"));
        if (!!preReleaseParts.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(preReleaseParts, new A.SemanticVersion_SemanticVersion$parse_closure0(), true);
        if (preReleaseParts.length !== 0) {
          t1 = A.Primitives_parseInt(B.JSArray_methods.get$first(preReleaseParts), _null);
          preReleaseMajor = t1 == null ? 0 : t1;
        } else
          preReleaseMajor = 0;
        if (preReleaseParts.length > 1) {
          t1 = A.Primitives_parseInt(preReleaseParts[1], _null);
          preReleaseMinor = t1 == null ? 0 : t1;
        } else
          preReleaseMinor = 0;
      } else {
        preReleaseMinor = _null;
        preReleaseMajor = preReleaseMinor;
      }
      return new A.SemanticVersion(major, minor, patch, preReleaseMajor, preReleaseMinor);
    },
    FlutterVersion: function FlutterVersion(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.version = t0;
      _.channel = t1;
      _.repositoryUrl = t2;
      _.frameworkRevision = t3;
      _.frameworkCommitDate = t4;
      _.engineRevision = t5;
      _.dartSdkVersion = t6;
      _.major = t7;
      _.minor = t8;
      _.patch = t9;
      _.preReleaseMajor = t10;
      _.preReleaseMinor = t11;
    },
    SemanticVersion: function SemanticVersion(t0, t1, t2, t3, t4) {
      var _ = this;
      _.major = t0;
      _.minor = t1;
      _.patch = t2;
      _.preReleaseMajor = t3;
      _.preReleaseMinor = t4;
    },
    SemanticVersion_SemanticVersion$parse_closure: function SemanticVersion_SemanticVersion$parse_closure() {
    },
    SemanticVersion_SemanticVersion$parse_closure0: function SemanticVersion_SemanticVersion$parse_closure0() {
    },
    _SemanticVersion_Object_CompareMixin: function _SemanticVersion_Object_CompareMixin() {
    },
    FilterDialog$(controller, $dialogWidth, includeQueryFilter, onCancel, queryFilterArguments, queryInstructions, toggleFilters, FilterControllerMixin, $T) {
      var t1 = $dialogWidth == null ? B.JSNumber_methods.roundToDouble$0(700 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : $dialogWidth;
      return new A.FilterDialog(controller, onCancel, queryInstructions, queryFilterArguments, toggleFilters, includeQueryFilter, t1, null, FilterControllerMixin._eval$1("@<0>")._bind$1($T)._eval$1("FilterDialog<1,2>"));
    },
    QueryFilter_QueryFilter$parse(query, args) {
      var t1, t2, t3, t4, partsBySpace, substrings, _i, part, querySeparatorIndex, value, t5, t6;
      for (t1 = args.get$values(args), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t3 = type$.JSArray_String, t2 = t2._rest[1]; t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        t4.values = A._setArrayType([], t3);
        t4.isNegative = false;
      }
      partsBySpace = query.split(" ");
      substrings = A._setArrayType([], t3);
      for (t1 = partsBySpace.length, _i = 0; _i < partsBySpace.length; partsBySpace.length === t1 || (0, A.throwConcurrentModificationError)(partsBySpace), ++_i) {
        part = partsBySpace[_i];
        t2 = J.getInterceptor$asx(part);
        querySeparatorIndex = t2.indexOf$1(part, ":");
        if (querySeparatorIndex !== -1) {
          value = t2.substring$1(part, querySeparatorIndex + 1);
          if (value !== "")
            for (t4 = args.get$values(args), t5 = A._instanceType(t4), t5 = t5._eval$1("@<1>")._bind$1(t5._rest[1]), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) {
              t6 = t4.__internal$_current;
              if (t6 == null)
                t6 = t5._as(t6);
              if (t6.matchesKey$1(part)) {
                t6.isNegative = t2.startsWith$1(part, "-");
                t6.values = A._setArrayType(value.split(","), t3);
              }
            }
        } else
          substrings.push(part);
      }
      return new A.QueryFilter(args, substrings);
    },
    FilterControllerMixin: function FilterControllerMixin() {
    },
    FilterDialog: function FilterDialog(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.controller = t0;
      _.onCancel = t1;
      _.queryInstructions = t2;
      _.queryFilterArguments = t3;
      _.toggleFilters = t4;
      _.includeQueryFilter = t5;
      _.dialogWidth = t6;
      _.key = t7;
      _.$ti = t8;
    },
    _FilterDialogState: function _FilterDialogState(t0, t1, t2) {
      var _ = this;
      _.___FilterDialogState_queryTextFieldController = $;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
      _.$ti = t2;
    },
    _FilterDialogState_build_closure: function _FilterDialogState_build_closure(t0) {
      this.$this = t0;
    },
    ToggleFilterElement: function ToggleFilterElement(t0, t1) {
      this.filter = t0;
      this.key = t1;
    },
    ToggleFilterElement_build_closure: function ToggleFilterElement_build_closure(t0) {
      this.$this = t0;
    },
    Filter: function Filter(t0, t1, t2) {
      this.queryFilter = t0;
      this.toggleFilters = t1;
      this.$ti = t2;
    },
    ToggleFilter: function ToggleFilter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.name = t0;
      _.includeCallback = t1;
      _.enabledByDefault = t2;
      _.enabled = t3;
      _.$ti = t4;
    },
    QueryFilter: function QueryFilter(t0, t1) {
      this.filterArguments = t0;
      this.substrings = t1;
    },
    QueryFilterArgument: function QueryFilterArgument(t0, t1) {
      this.keys = t0;
      this.values = t1;
      this.isNegative = false;
    },
    __FilterDialogState_State_AutoDisposeMixin: function __FilterDialogState_State_AutoDisposeMixin() {
    },
    GTag_event(eventName, gaEvent) {
      return A.GTag_event$body(eventName, gaEvent);
    },
    GTag_event$body(eventName, gaEvent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$GTag_event = 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(A.isAnalyticsEnabled(), $async$GTag_event);
            case 2:
              // returning from await.
              if ($async$result)
                self.gtag("event", eventName, gaEvent);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$GTag_event, $async$completer);
    },
    GTag_exception(gaException) {
      return A.GTag_exception$body(gaException);
    },
    GTag_exception$body(gaException) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$GTag_exception = 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(A.isAnalyticsEnabled(), $async$GTag_exception);
            case 2:
              // returning from await.
              if ($async$result)
                self.gtag("event", "exception", gaException);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$GTag_exception, $async$completer);
    },
    GtagEvent: function GtagEvent() {
    },
    GtagException: function GtagException() {
    },
    wordForHover(dx, line) {
      var hoverChar, t1, t2, charIndex, word, character, t3,
        hoverIndex = A._hoverIndexFor(dx, line),
        lineText = line.toPlainText$0();
      if (hoverIndex >= 0 && hoverIndex < lineText.length) {
        hoverChar = lineText[hoverIndex];
        t1 = $.$get$_identifier();
        t2 = t1._nativeRegExp;
        if (t2.test(hoverChar) || hoverChar === ".") {
          charIndex = hoverIndex + 1;
          for (t2 = lineText.length, word = hoverChar; charIndex < t2;) {
            character = lineText[charIndex];
            t3 = t1._nativeRegExp;
            if (t3.test(character))
              word += character;
            else
              break;
            ++charIndex;
          }
          charIndex = hoverIndex - 1;
          for (; charIndex >= 0;) {
            character = lineText[charIndex];
            t2 = t1._nativeRegExp;
            if (t2.test(character) || character === ".")
              word = character + word;
            else
              break;
            --charIndex;
          }
        } else
          word = hoverChar;
      } else
        word = "";
      return word;
    },
    _hoverIndexFor(dx, line) {
      var hoverIndex, i0, painter, t1, t2, _null = null,
        $length = line.toPlainText$0().length,
        i = 0;
      while (true) {
        if (!(i < $length)) {
          hoverIndex = -1;
          break;
        }
        i0 = i + 1;
        painter = new A.TextPainter(A.truncateTextSpan(line, i0), B.TextAlign_4, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        painter.layout$0();
        t1 = painter._textWidthBasis;
        t2 = painter._paragraph;
        t1 = t1 === B.TextWidthBasis_1 ? t2.get$longestLine() : t2.get$width(t2);
        if (dx <= Math.ceil(t1)) {
          hoverIndex = i;
          break;
        }
        i = i0;
      }
      return hoverIndex;
    },
    HoverCard$(contents, context, position, title, width) {
      var maxCardHeight, t2, t1 = {};
      t1.maxCardHeight = maxCardHeight;
      t1.maxCardHeight = null;
      t2 = new A.HoverCard();
      t2.HoverCard$6$contents$context$maxCardHeight$position$title$width(contents, context, position, title, width, t1);
      return t2;
    },
    HoverCard$fromHoverEvent(contents, context, $event, title, width) {
      var t4,
        t1 = Math.max(0, $event.get$position($event)._dx - width / 2),
        t2 = $event.get$position($event),
        t3 = {};
      t3.maxCardHeight = null;
      t4 = new A.HoverCard();
      t4.HoverCard$6$contents$context$maxCardHeight$position$title$width(contents, context, new A.Offset(t1, t2._dy + 10), title, width, t3);
      return t4;
    },
    HoverCardTooltip$(child, enabled, onHover) {
      return new A.HoverCardTooltip(enabled, onHover, child, null);
    },
    HoverCardPosition: function HoverCardPosition(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    HoverCardData: function HoverCardData(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.contents = t1;
      _.width = t2;
      _.position = t3;
    },
    HoverCard: function HoverCard() {
      this.__HoverCard__overlayEntry = $;
      this._hasMouseEntered = this._isRemoved = false;
    },
    HoverCard_closure: function HoverCard_closure(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.position = t2;
      _.colorScheme = t3;
      _.focusColor = t4;
      _.width = t5;
      _.title = t6;
      _.hoverHeading = t7;
      _.contents = t8;
    },
    HoverCard__closure0: function HoverCard__closure0(t0) {
      this.$this = t0;
    },
    HoverCard__closure: function HoverCard__closure(t0) {
      this.$this = t0;
    },
    HoverCardTooltip: function HoverCardTooltip(t0, t1, t2, t3) {
      var _ = this;
      _.enabled = t0;
      _.onHover = t1;
      _.child = t2;
      _.key = t3;
    },
    _HoverCardTooltipState: function _HoverCardTooltipState(t0) {
      var _ = this;
      _._widget = _._hoverCard = _._removeTimer = _._hover$_showTimer = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _HoverCardTooltipState__onHoverExit_closure: function _HoverCardTooltipState__onHoverExit_closure(t0) {
      this.$this = t0;
    },
    _HoverCardTooltipState__onHover_closure: function _HoverCardTooltipState__onHover_closure(t0, t1) {
      this.$this = t0;
      this.event = t1;
    },
    _HoverCardTooltipState_build_closure: function _HoverCardTooltipState_build_closure(t0) {
      this.$this = t0;
    },
    CustomIconMaker$() {
      return new A.CustomIconMaker(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Widget));
    },
    AssetImageIcon$(asset, height, width) {
      return new A.AssetImageIcon(asset, height, width, null);
    },
    CustomIcon: function CustomIcon(t0, t1, t2) {
      this.kind = t0;
      this.text = t1;
      this.key = t2;
    },
    CircleIcon: function CircleIcon(t0, t1, t2) {
      this.text = t0;
      this.color = t1;
      this.key = t2;
    },
    CustomIconMaker: function CustomIconMaker(t0) {
      this.iconCache = t0;
    },
    CustomIconMaker_getCustomIcon_closure: function CustomIconMaker_getCustomIcon_closure(t0, t1, t2) {
      this.theKind = t0;
      this.text = t1;
      this.isAbstract = t2;
    },
    CustomIconMaker_fromWidgetName_closure: function CustomIconMaker_fromWidgetName_closure(t0) {
      this.icon = t0;
    },
    CustomIconMaker_fromWidgetName_closure0: function CustomIconMaker_fromWidgetName_closure0(t0, t1) {
      this.text = t0;
      this.widgetTheme = t1;
    },
    IconKind: function IconKind(t0, t1) {
      this.name = t0;
      this.icon = t1;
    },
    ColorIcon: function ColorIcon(t0, t1) {
      this.color = t0;
      this.key = t1;
    },
    ColorIconMaker: function ColorIconMaker(t0) {
      this.iconCache = t0;
    },
    ColorIconMaker_getCustomIcon_closure: function ColorIconMaker_getCustomIcon_closure(t0) {
      this.color = t0;
    },
    _ColorIconPainter: function _ColorIconPainter(t0, t1, t2) {
      this.color = t0;
      this.colorScheme = t1;
      this._repaint = t2;
    },
    AssetImageIcon: function AssetImageIcon(t0, t1, t2, t3) {
      var _ = this;
      _.asset = t0;
      _._icons$_height = t1;
      _._icons$_width = t2;
      _.key = t3;
    },
    ThemedImageIcon: function ThemedImageIcon(t0, t1, t2) {
      this.lightModeAsset = t0;
      this.darkModeAsset = t1;
      this.key = t2;
    },
    ImageIconLabel: function ImageIconLabel(t0, t1, t2, t3) {
      var _ = this;
      _.icon = t0;
      _.text = t1;
      _.unscaledMinIncludeTextWidth = t2;
      _.key = t3;
    },
    MaterialIconLabel: function MaterialIconLabel(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.iconData = t0;
      _.imageIcon = t1;
      _.color = t2;
      _.label = t3;
      _.minScreenWidthForTextBeforeScaling = t4;
      _.key = t5;
    },
    AutoCompleteSearchControllerMixin_activeEditingParts(editing, selection, handleFields) {
      var selectionValue, lastSpaceIndex, activeWord, t1, index, variableStart, char, t2, lastSpaceIndex0, leftSide, rightSide,
        startSelection = selection.start;
      if (startSelection !== -1 && startSelection === selection.end) {
        selectionValue = B.JSString_methods.substring$2(editing, 0, startSelection);
        lastSpaceIndex = B.JSString_methods.lastIndexOf$1(selectionValue, handleFields ? "." : " ");
        lastSpaceIndex = lastSpaceIndex >= 0 ? lastSpaceIndex + 1 : 0;
        activeWord = B.JSString_methods.substring$2(selectionValue, lastSpaceIndex, startSelection);
        for (t1 = activeWord.length, index = t1 - 1, variableStart = -1; index >= 0; --index) {
          char = B.JSString_methods.codeUnitAt$1(activeWord, index);
          if (char >= 48 && char <= 57)
            continue;
          else {
            if (char !== 95)
              if (!(char >= 65 && char <= 90))
                t2 = char >= 97 && char <= 122;
              else
                t2 = true;
            else
              t2 = true;
            if (!t2)
              if (variableStart === -1) {
                lastSpaceIndex0 = lastSpaceIndex + t1;
                activeWord = B.JSString_methods.substring$2(selectionValue, lastSpaceIndex0 - 1, startSelection - 1);
                lastSpaceIndex = lastSpaceIndex0;
                break;
              } else {
                lastSpaceIndex0 = lastSpaceIndex + variableStart;
                activeWord = B.JSString_methods.substring$2(selectionValue, lastSpaceIndex0, startSelection);
                lastSpaceIndex = lastSpaceIndex0;
                break;
              }
          }
          variableStart = index;
        }
        leftSide = B.JSString_methods.substring$2(selectionValue, 0, lastSpaceIndex);
        rightSide = B.JSString_methods.substring$1(editing, startSelection);
      } else {
        activeWord = "";
        leftSide = "";
        rightSide = "";
      }
      return new A.EditingParts(activeWord, leftSide, rightSide);
    },
    SearchTextEditingController$() {
      return new A.SearchTextEditingController(B.TextEditingValue_li8, $.$get$ChangeNotifier__emptyListeners());
    },
    _SearchField$(controller, decoration, label, onClose, overlayXPositionBuilder, prefix, searchFieldEnabled, searchFieldFocusNode, searchFieldKey, searchTextFieldController, shouldRequestFocus, style, suffix, supportsNavigation) {
      return new A._SearchField(controller, searchFieldKey, searchFieldEnabled, shouldRequestFocus, searchFieldFocusNode, searchTextFieldController, label, supportsNavigation, decoration, onClose, overlayXPositionBuilder, prefix, suffix, style, null);
    },
    AutoCompleteController$() {
      var _null = null,
        t1 = $.$get$ChangeNotifier__emptyListeners(),
        t2 = type$.ValueNotifier_bool,
        t3 = type$.ValueNotifier_int;
      return new A.AutoCompleteController(new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(A._setArrayType([], type$.JSArray_AutoCompleteMatch), t1, type$.ValueNotifier_List_AutoCompleteMatch), new A.LayerLink(), _null, new A.ValueNotifier(0, t1, t3), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_String), new A.ValueNotifier("", t1, type$.ValueNotifier_String), new A.ValueNotifier(false, t1, t2), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], type$.JSArray_DataSearchStateMixin), t1, type$.ValueNotifier_List_DataSearchStateMixin), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_DataSearchStateMixin), new A.ValueNotifier(0, t1, t3));
    },
    SearchControllerMixin: function SearchControllerMixin() {
    },
    SearchControllerMixin__startDebounceTimer_closure: function SearchControllerMixin__startDebounceTimer_closure(t0, t1) {
      this.$this = t0;
      this.searchPreviousMatches = t1;
    },
    SearchControllerMixin__startDebounceTimer__closure: function SearchControllerMixin__startDebounceTimer__closure(t0, t1) {
      this.$this = t0;
      this.searchPreviousMatches = t1;
    },
    SearchControllerMixin__startDebounceTimer__closure0: function SearchControllerMixin__startDebounceTimer__closure0(t0) {
      this.$this = t0;
    },
    AutoComplete: function AutoComplete(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.controller = t0;
      _.searchFieldKey = t1;
      _.onTap = t2;
      _.isBottom = t3;
      _.isMaxWidth = t4;
      _.key = t5;
    },
    AutoCompleteState: function AutoCompleteState(t0, t1) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    AutoCompleteState_didChangeDependencies_closure: function AutoCompleteState_didChangeDependencies_closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.$this = t0;
      _.controller = t1;
      _.searchFieldKey = t2;
      _.onTap = t3;
      _.bottom = t4;
      _.isMaxWidth = t5;
    },
    AutoCompleteState_build_closure: function AutoCompleteState_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.autoCompleteTextStyle = t1;
      this.autoCompleteHighlightedTextStyle = t2;
    },
    AutoCompleteState__maybeHighlightMatchText_closure0: function AutoCompleteState__maybeHighlightMatchText_closure0(t0) {
      this.highlightedTextStyle = t0;
    },
    AutoCompleteState__maybeHighlightMatchText_closure1: function AutoCompleteState__maybeHighlightMatchText_closure1(t0) {
      this.regularTextStyle = t0;
    },
    AutoCompleteState__maybeHighlightMatchText_closure: function AutoCompleteState__maybeHighlightMatchText_closure() {
    },
    AutoCompleteTile: function AutoCompleteTile(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.textSpan = t0;
      _.index = t1;
      _.controller = t2;
      _.onTap = t3;
      _.highlightColor = t4;
      _.defaultColor = t5;
      _.key = t6;
    },
    AutoCompleteTile_build_closure1: function AutoCompleteTile_build_closure1(t0) {
      this.$this = t0;
    },
    AutoCompleteTile_build_closure0: function AutoCompleteTile_build_closure0(t0) {
      this.$this = t0;
    },
    AutoCompleteTile_build_closure: function AutoCompleteTile_build_closure(t0) {
      this.$this = t0;
    },
    EditingParts: function EditingParts(t0, t1, t2) {
      this.activeWord = t0;
      this.leftSide = t1;
      this.rightSide = t2;
    },
    AutoCompleteSearchControllerMixin: function AutoCompleteSearchControllerMixin() {
    },
    AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure: function AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.searchFieldKey = t1;
      _.onTap = t2;
      _.bottom = t3;
      _.maxWidth = t4;
    },
    SearchableMixin: function SearchableMixin() {
    },
    SearchTextEditingController: function SearchTextEditingController(t0, t1) {
      var _ = this;
      _._suggestionText = null;
      _._change_notifier$_value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    SearchFieldMixin: function SearchFieldMixin() {
    },
    _SearchField: function _SearchField(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.controller = t0;
      _.searchFieldKey = t1;
      _.searchFieldEnabled = t2;
      _.shouldRequestFocus = t3;
      _.searchFieldFocusNode = t4;
      _.searchTextFieldController = t5;
      _.label = t6;
      _.supportsNavigation = t7;
      _.decoration = t8;
      _.onClose = t9;
      _.overlayXPositionBuilder = t10;
      _.prefix = t11;
      _.suffix = t12;
      _.style = t13;
      _.key = t14;
    },
    _SearchField_build_closure: function _SearchField_build_closure(t0, t1) {
      this.$this = t0;
      this.textStyle = t1;
    },
    _SearchField_build_closure0: function _SearchField_build_closure0(t0) {
      this.$this = t0;
    },
    _AutoCompleteSearchField: function _AutoCompleteSearchField(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.controller = t0;
      _.searchField = t1;
      _.searchFieldFocusNode = t2;
      _.rawKeyboardFocusNode = t3;
      _.autoCompleteLayerLink = t4;
      _.onSelection = t5;
      _.onHighlightDropdown = t6;
      _.clearSearchField = t7;
      _.keyEventsToPropagate = t8;
      _.supportClearField = t9;
      _.onFocusLost = t10;
      _.key = t11;
    },
    _AutoCompleteSearchFieldState: function _AutoCompleteSearchFieldState(t0, t1) {
      var _ = this;
      _.AutoDisposeMixin__delegate = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _AutoCompleteSearchFieldState__determineKeyEventResult_closure: function _AutoCompleteSearchFieldState__determineKeyEventResult_closure(t0) {
      this.keyEventId = t0;
    },
    _SearchFieldSuffix: function _SearchFieldSuffix(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.supportsNavigation = t1;
      _.onClose = t2;
      _.key = t3;
    },
    SearchNavigationControls: function SearchNavigationControls(t0, t1, t2) {
      this.controller = t0;
      this.onClose = t1;
      this.key = t2;
    },
    SearchNavigationControls_build_closure: function SearchNavigationControls_build_closure(t0) {
      this.$this = t0;
    },
    SearchNavigationControls_build__closure: function SearchNavigationControls_build__closure(t0, t1) {
      this.$this = t0;
      this.numMatches = t1;
    },
    SearchNavigationControls__matchesStatus_closure: function SearchNavigationControls__matchesStatus_closure(t0) {
      this.numMatches = t0;
    },
    DataSearchStateMixin: function DataSearchStateMixin() {
    },
    TreeDataSearchStateMixin: function TreeDataSearchStateMixin() {
    },
    AutoCompleteController: function AutoCompleteController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.AutoCompleteSearchControllerMixin_selectTheSearchNotifier = t0;
      _.AutoCompleteSearchControllerMixin_searchAutoComplete = t1;
      _.AutoCompleteSearchControllerMixin_autoCompleteLayerLink = t2;
      _.AutoCompleteSearchControllerMixin_autoCompleteOverlay = t3;
      _.AutoCompleteSearchControllerMixin__currentHoveredIndex = t4;
      _.AutoCompleteSearchControllerMixin__currentSuggestionNotifier = t5;
      _.SearchControllerMixin__searchNotifier = t6;
      _.SearchControllerMixin__searchInProgress = t7;
      _.SearchControllerMixin_xPosition = t8;
      _.SearchControllerMixin__searchOperation = t9;
      _.SearchControllerMixin__searchDebounce = t10;
      _.SearchControllerMixin__searchMatches = t11;
      _.SearchControllerMixin__activeSearchMatch = t12;
      _.SearchControllerMixin_matchIndex = t13;
    },
    AutoCompleteMatch: function AutoCompleteMatch(t0, t1) {
      this.text = t0;
      this.matchedSegments = t1;
    },
    _AutoCompleteController_DisposableController_SearchControllerMixin: function _AutoCompleteController_DisposableController_SearchControllerMixin() {
    },
    _AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin: function _AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin() {
    },
    _AutoCompleteState_State_AutoDisposeMixin: function _AutoCompleteState_State_AutoDisposeMixin() {
    },
    __AutoCompleteSearchFieldState_State_AutoDisposeMixin: function __AutoCompleteSearchFieldState_State_AutoDisposeMixin() {
    },
    DevToolsTab_DevToolsTab$create(gaPrefix, key, tabName, trailing) {
      var _null = null,
        t1 = key == null ? new A.ValueKey(tabName, type$.ValueKey_String) : key,
        t2 = A.Text$(tabName, _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null, _null, _null);
      return new A.DevToolsTab(gaPrefix + "_" + tabName, trailing, _null, t2, _null, B.EdgeInsets_0_0_0_10, A.DevToolsTab_calculateHeight(_null, _null, t2), t1);
    },
    DevToolsTab_calculateHeight(icon, text, child) {
      var t1 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      return B.JSNumber_methods.roundToDouble$0(46 * (t1.fontSize / 14));
    },
    AnalyticsTabbedView$(gaScreen, outlined, tabViews, tabs, $T) {
      var index, t1,
        _length = tabs.length,
        _list = J.JSArray_JSArray$allocateGrowable(_length, type$.Widget);
      for (index = 0; index < _length; ++index) {
        t1 = tabs[index].trailing;
        _list[index] = t1 == null ? B.SizedBox_null_null_null_null : t1;
      }
      return new A.AnalyticsTabbedView(tabs, tabViews, gaScreen, _list, outlined, null, $T._eval$1("AnalyticsTabbedView<0>"));
    },
    DevToolsTab: function DevToolsTab(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.gaId = t0;
      _.trailing = t1;
      _.text = t2;
      _.child = t3;
      _.icon = t4;
      _.iconMargin = t5;
      _.height = t6;
      _.key = t7;
    },
    AnalyticsTabbedView: function AnalyticsTabbedView(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.tabs = t0;
      _.tabViews = t1;
      _.gaScreen = t2;
      _.trailingWidgets = t3;
      _.outlined = t4;
      _.key = t5;
      _.$ti = t6;
    },
    _AnalyticsTabbedViewState: function _AnalyticsTabbedViewState(t0, t1, t2) {
      var _ = this;
      _._tab$_tabController = null;
      _._currentTabControllerIndex = 0;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnalyticsTabbedViewState__onTabChanged_closure: function _AnalyticsTabbedViewState__onTabChanged_closure(t0) {
      this.$this = t0;
    },
    __AnalyticsTabbedViewState_State_TickerProviderStateMixin: function __AnalyticsTabbedViewState_State_TickerProviderStateMixin() {
    },
    truncateTextSpan(span, $length) {
      var t1 = {};
      t1.available = $length;
      return new A.truncateTextSpan_truncateHelper(t1).call$1(span);
    },
    calculateTextSpanWidth(span) {
      var _null = null,
        textPainter = A.TextPainter$(_null, _null, _null, _null, span, B.TextAlign_0, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      textPainter.layout$0();
      return textPainter.get$width(textPainter);
    },
    findLongestTextSpan(spans) {
      var t1, longestLength, longestSpan, _i, span, buffer, t2, currentLength;
      for (t1 = spans.length, longestLength = 0, longestSpan = null, _i = 0; _i < spans.length; spans.length === t1 || (0, A.throwConcurrentModificationError)(spans), ++_i) {
        span = spans[_i];
        buffer = new A.StringBuffer("");
        span.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, true);
        t2 = buffer._contents;
        currentLength = (t2.charCodeAt(0) == 0 ? t2 : t2).length;
        if (currentLength > longestLength) {
          longestSpan = span;
          longestLength = currentLength;
        }
      }
      return longestSpan;
    },
    truncateTextSpan_truncateHelper: function truncateTextSpan_truncateHelper(t0) {
      this._box_0 = t0;
    },
    OffsetScrollbar: function OffsetScrollbar(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.isAlwaysShown = t0;
      _.axis = t1;
      _.controller = t2;
      _.offsetController = t3;
      _.child = t4;
      _.offsetControllerViewportDimension = t5;
      _.key = t6;
    },
    _OffsetScrollbarState: function _OffsetScrollbarState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _OffsetScrollbarState_build_closure: function _OffsetScrollbarState_build_closure(t0) {
      this.$this = t0;
    },
    _OffsetScrollbarState_build__closure: function _OffsetScrollbarState_build__closure() {
    },
    _OffsetScrollbarState_build_closure0: function _OffsetScrollbarState_build_closure0(t0) {
      this.$this = t0;
    },
    ColorPair: function ColorPair(t0, t1) {
      this.foreground = t0;
      this.background = t1;
    },
    ThemedColorPair: function ThemedColorPair(t0, t1) {
      this.foreground = t0;
      this.background = t1;
    },
    ThemedColor: function ThemedColor(t0, t1) {
      this.light = t0;
      this.dark = t1;
    },
    MediaSize: function MediaSize(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScreenSize: function ScreenSize() {
      this.__ScreenSize__width = this.__ScreenSize__height = $;
    },
    _MediaSize__Enum_EnumIndexOrdering: function _MediaSize__Enum_EnumIndexOrdering() {
    },
    ProfileGranularityDropdown: function ProfileGranularityDropdown(t0, t1, t2) {
      this.screenId = t0;
      this.profileGranularityFlagNotifier = t1;
      this.key = t2;
    },
    ProfileGranularityDropdown_build_closure: function ProfileGranularityDropdown_build_closure(t0) {
      this.$this = t0;
    },
    AdbMemoryInfo: function AdbMemoryInfo(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.realtime = t0;
      _.javaHeap = t1;
      _.nativeHeap = t2;
      _.code = t3;
      _.stack = t4;
      _.graphics = t5;
      _.other = t6;
      _.system = t7;
      _.total = t8;
    },
    ClassHeapDetailStats: function ClassHeapDetailStats(t0, t1, t2, t3, t4) {
      var _ = this;
      _.classRef = t0;
      _.instancesCurrent = t1;
      _.instancesDelta = t2;
      _.bytesCurrent = t3;
      _.bytesDelta = t4;
      _.isStacktraced = false;
    },
    ExtensionEvents_ExtensionEvents$fromJson(json) {
      var t1 = type$.JSArray_ExtensionEvent,
        events = A._setArrayType([], t1);
      json.forEach$1(0, new A.ExtensionEvents_ExtensionEvents$fromJson_closure(events));
      t1 = A._setArrayType([], t1);
      B.JSArray_methods.addAll$1(t1, events);
      return new A.ExtensionEvents(t1);
    },
    RasterCache_RasterCache$fromJson(json) {
      var t1 = J.getInterceptor$asx(json);
      return new A.RasterCache(t1.$index(json, "layerBytes"), t1.$index(json, "pictureBytes"));
    },
    AllocationAccumulator: function AllocationAccumulator(t0, t1, t2) {
      this._event_sample$_start = t0;
      this._continues = t1;
      this._event_sample$_reset = t2;
    },
    ExtensionEvent: function ExtensionEvent(t0, t1, t2, t3) {
      var _ = this;
      _.timestamp = t0;
      _.eventKind = t1;
      _.data = t2;
      _.customEventName = t3;
    },
    ExtensionEvents: function ExtensionEvents(t0) {
      this.theEvents = t0;
    },
    ExtensionEvents_ExtensionEvents$fromJson_closure: function ExtensionEvents_ExtensionEvents$fromJson_closure(t0) {
      this.events = t0;
    },
    EventSample: function EventSample(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.timestamp = t0;
      _.isEventGC = t1;
      _.isEventSnapshot = t2;
      _.isEventSnapshotAuto = t3;
      _.allocationAccumulator = t4;
      _.extensionEvents = t5;
    },
    RasterCache: function RasterCache(t0, t1) {
      this.layerBytes = t0;
      this.pictureBytes = t1;
    },
    HeapSample$(timestamp, rss, capacity, used, $external, isGC, adbMemoryInfo, memoryEventInfo, rasterCache) {
      var t1 = adbMemoryInfo == null ? new A.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0) : adbMemoryInfo,
        t2 = memoryEventInfo == null ? new A.EventSample(-1, false, false, false, new A.AllocationAccumulator(false, false, false), null) : memoryEventInfo;
      return new A.HeapSample(timestamp, rss, capacity, used, $external, isGC, t2, t1, rasterCache == null ? new A.RasterCache(0, 0) : rasterCache);
    },
    HeapSample: function HeapSample(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.timestamp = t0;
      _.rss = t1;
      _.capacity = t2;
      _.used = t3;
      _.external = t4;
      _.isGC = t5;
      _.memoryEventInfo = t6;
      _.adbMemoryInfo = t7;
      _.rasterCache = t8;
    },
    HeapSpace$_fromJson(json) {
      var t1 = J.getInterceptor$asx(json);
      return new A.HeapSpace(json, t1.$index(json, "avgCollectionPeriodMillis"), t1.$index(json, "capacity"), t1.$index(json, "collections"), t1.$index(json, "external"), t1.$index(json, "name"), t1.$index(json, "time"), t1.$index(json, "used"));
    },
    HeapSpace: function HeapSpace(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.json = t0;
      _.avgCollectionPeriodMillis = t1;
      _.capacity = t2;
      _.collections = t3;
      _.external = t4;
      _.name = t5;
      _.time = t6;
      _.used = t7;
    },
    SamplesMemoryJson$decode(argJsonString) {
      var t1 = new A.SamplesMemoryJson(A._setArrayType([], type$.JSArray_HeapSample));
      t1.MemoryJson$decode$3$argDecodedMap$argJsonString("samples", null, argJsonString, type$.HeapSample);
      return t1;
    },
    SamplesMemoryJson_encodeList(data) {
      var result = new A.StringBuffer(""),
        t1 = A._arrayInstanceType(data)._eval$1("MappedListIterable<1,Null>");
      A.List_List$of(new A.MappedListIterable(data, new A.SamplesMemoryJson_encodeList_closure(result, new A.SamplesMemoryJson(A._setArrayType([], type$.JSArray_HeapSample))), t1), true, t1._eval$1("ListIterable.E"));
      return '{"samples": {"version": 1, "dartDevToolsScreen": "memory", "data": [\n' + result.toString$0(0) + "\n]\n}}";
    },
    MemoryJson: function MemoryJson() {
    },
    SamplesMemoryJson: function SamplesMemoryJson(t0) {
      this.__MemoryJson__memoryPayload = this.__MemoryJson__payloadVersion = $;
      this.data = t0;
    },
    SamplesMemoryJson_encodeList_closure: function SamplesMemoryJson_encodeList_closure(t0, t1) {
      this.result = t0;
      this.samplesJson = t1;
    },
    normalizeVmServiceUri(value) {
      var uri;
      value = B.JSString_methods.trim$0(value);
      if (B.JSString_methods.contains$1(value, "?uri="))
        value = B.JSString_methods.substring$1(value, B.JSString_methods.indexOf$1(value, "?uri=") + 5);
      uri = A.Uri_parse(B.JSString_methods.trim$0(B.JSString_methods.contains$1(value, "%3A%2F%2F") ? A._Uri__uriDecode(value, 0, value.length, B.Utf8Codec_false, false) : value), 0, null).removeFragment$0();
      if (!uri.get$isAbsolute())
        return null;
      if (B.JSString_methods.endsWith$1(uri.get$path(uri), "/"))
        return uri;
      return uri.replace$1$path(0, uri.get$path(uri));
    },
    RegisteredService: function RegisteredService() {
    },
    MethodChannelFileSelector: function MethodChannelFileSelector(t0) {
      this._instanceToken = t0;
    },
    MethodChannelFileSelector_openFile_closure: function MethodChannelFileSelector_openFile_closure() {
    },
    FileSelectorPlatform: function FileSelectorPlatform() {
    },
    XTypeGroup__removeLeadingDots(exts) {
      var t1 = A._arrayInstanceType(exts)._eval$1("MappedListIterable<1,String>");
      t1 = A.List_List$of(new A.MappedListIterable(exts, new A.XTypeGroup__removeLeadingDots_closure(), t1), true, t1._eval$1("ListIterable.E"));
      return t1;
    },
    XTypeGroup: function XTypeGroup(t0) {
      this.extensions = t0;
    },
    XTypeGroup__removeLeadingDots_closure: function XTypeGroup__removeLeadingDots_closure() {
    },
    FileSelectorWeb: function FileSelectorWeb(t0, t1) {
      this._domHelper = t0;
      this._instanceToken = t1;
    },
    DomHelper: function DomHelper(t0) {
      this._dom_helper$_container = t0;
    },
    DomHelper_getFiles_closure: function DomHelper_getFiles_closure(t0, t1, t2) {
      this.$this = t0;
      this.inputElement = t1;
      this.completer = t2;
    },
    DomHelper_getFiles_closure0: function DomHelper_getFiles_closure0(t0, t1) {
      this.inputElement = t0;
      this.completer = t1;
    },
    AnimationStatus: function AnimationStatus(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Animation: function Animation() {
    },
    AnimationController$(debugLabel, duration, lowerBound, reverseDuration, upperBound, value, vsync) {
      var t1 = new A.AnimationController(lowerBound, upperBound, debugLabel, B.AnimationBehavior_0, duration, reverseDuration, B._AnimationDirection_0, B.AnimationStatus_0, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function));
      t1._ticker = vsync.createTicker$1(t1.get$_animation_controller$_tick());
      t1._internalSetValue$1(value == null ? lowerBound : value);
      return t1;
    },
    AnimationController$unbounded(debugLabel, value, vsync) {
      var t1 = new A.AnimationController(-1 / 0, 1 / 0, debugLabel, B.AnimationBehavior_1, null, null, B._AnimationDirection_0, B.AnimationStatus_0, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function));
      t1._ticker = vsync.createTicker$1(t1.get$_animation_controller$_tick());
      t1._internalSetValue$1(value);
      return t1;
    },
    _AnimationDirection: function _AnimationDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AnimationBehavior: function AnimationBehavior(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AnimationController: function AnimationController(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.lowerBound = t0;
      _.upperBound = t1;
      _.debugLabel = t2;
      _.animationBehavior = t3;
      _.duration = t4;
      _.reverseDuration = t5;
      _._simulation = _._ticker = null;
      _.__AnimationController__value = $;
      _._lastElapsedDuration = null;
      _._direction = t6;
      _.__AnimationController__status = $;
      _._lastReportedStatus = t7;
      _.AnimationLocalStatusListenersMixin__statusListeners = t8;
      _.AnimationLocalListenersMixin__listeners = t9;
    },
    _InterpolationSimulation: function _InterpolationSimulation(t0, t1, t2, t3, t4) {
      var _ = this;
      _._durationInSeconds = t0;
      _._begin = t1;
      _._animation_controller$_end = t2;
      _._curve = t3;
      _.tolerance = t4;
    },
    _RepeatingSimulation: function _RepeatingSimulation(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.min = t0;
      _.max = t1;
      _.reverse = t2;
      _.directionSetter = t3;
      _._periodInSeconds = t4;
      _._initialT = t5;
      _.tolerance = t6;
    },
    _AnimationController_Animation_AnimationEagerListenerMixin: function _AnimationController_Animation_AnimationEagerListenerMixin() {
    },
    _AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin: function _AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin() {
    },
    _AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin: function _AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin() {
    },
    ProxyAnimation$(animation) {
      var t1 = new A.ProxyAnimation(new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function), 0);
      t1._animations$_parent = animation;
      if (animation == null) {
        t1._status = B.AnimationStatus_0;
        t1._animations$_value = 0;
      }
      return t1;
    },
    CurvedAnimation$(curve, $parent, reverseCurve) {
      var t2,
        t1 = new A.CurvedAnimation($parent, curve, reverseCurve);
      t1._updateCurveDirection$1($parent.get$status($parent));
      $parent.didRegisterListener$0();
      t2 = $parent.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(t1.get$_updateCurveDirection());
      return t1;
    },
    TrainHoppingAnimation$(_currentTrain, _nextTrain, onSwitchedTrain) {
      var t2, t3,
        t1 = new A.TrainHoppingAnimation(_currentTrain, _nextTrain, onSwitchedTrain, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function));
      if (J.$eq$(_currentTrain.get$value(_currentTrain), _nextTrain.get$value(_nextTrain))) {
        t1._currentTrain = _nextTrain;
        t1._nextTrain = null;
        t2 = _nextTrain;
      } else {
        if (_currentTrain.get$value(_currentTrain) > _nextTrain.get$value(_nextTrain))
          t1._mode = B._TrainHoppingMode_1;
        else
          t1._mode = B._TrainHoppingMode_0;
        t2 = _currentTrain;
      }
      t2.addStatusListener$1(t1.get$_statusChangeHandler());
      t2 = t1.get$_valueChangeHandler();
      t1._currentTrain.addListener$1(0, t2);
      t3 = t1._nextTrain;
      if (t3 != null)
        t3.addListener$1(0, t2);
      return t1;
    },
    AnimationMin$(first, next, $T) {
      return new A.AnimationMin(first, next, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function), 0, $T._eval$1("AnimationMin<0>"));
    },
    _AlwaysCompleteAnimation: function _AlwaysCompleteAnimation() {
    },
    _AlwaysDismissedAnimation: function _AlwaysDismissedAnimation() {
    },
    AlwaysStoppedAnimation: function AlwaysStoppedAnimation(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    AnimationWithParentMixin: function AnimationWithParentMixin() {
    },
    ProxyAnimation: function ProxyAnimation(t0, t1, t2) {
      var _ = this;
      _._animations$_parent = _._animations$_value = _._status = null;
      _.AnimationLocalStatusListenersMixin__statusListeners = t0;
      _.AnimationLocalListenersMixin__listeners = t1;
      _.AnimationLazyListenerMixin__listenerCounter = t2;
    },
    ReverseAnimation: function ReverseAnimation(t0, t1, t2) {
      this.parent = t0;
      this.AnimationLocalStatusListenersMixin__statusListeners = t1;
      this.AnimationLazyListenerMixin__listenerCounter = t2;
    },
    CurvedAnimation: function CurvedAnimation(t0, t1, t2) {
      var _ = this;
      _.parent = t0;
      _.curve = t1;
      _.reverseCurve = t2;
      _._curveDirection = null;
    },
    _TrainHoppingMode: function _TrainHoppingMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TrainHoppingAnimation: function TrainHoppingAnimation(t0, t1, t2, t3, t4) {
      var _ = this;
      _._currentTrain = t0;
      _._nextTrain = t1;
      _._mode = null;
      _.onSwitchedTrain = t2;
      _._lastValue = _._lastStatus = null;
      _.AnimationLocalStatusListenersMixin__statusListeners = t3;
      _.AnimationLocalListenersMixin__listeners = t4;
    },
    CompoundAnimation: function CompoundAnimation() {
    },
    AnimationMin: function AnimationMin(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.first = t0;
      _.next = t1;
      _._lastValue = _._lastStatus = null;
      _.AnimationLocalStatusListenersMixin__statusListeners = t2;
      _.AnimationLocalListenersMixin__listeners = t3;
      _.AnimationLazyListenerMixin__listenerCounter = t4;
      _.$ti = t5;
    },
    _CompoundAnimation_Animation_AnimationLazyListenerMixin: function _CompoundAnimation_Animation_AnimationLazyListenerMixin() {
    },
    _CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin: function _CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin() {
    },
    _CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin: function _CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin() {
    },
    _CurvedAnimation_Animation_AnimationWithParentMixin: function _CurvedAnimation_Animation_AnimationWithParentMixin() {
    },
    _ProxyAnimation_Animation_AnimationLazyListenerMixin: function _ProxyAnimation_Animation_AnimationLazyListenerMixin() {
    },
    _ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin: function _ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin() {
    },
    _ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin: function _ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin() {
    },
    _ReverseAnimation_Animation_AnimationLazyListenerMixin: function _ReverseAnimation_Animation_AnimationLazyListenerMixin() {
    },
    _ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin: function _ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin() {
    },
    _TrainHoppingAnimation_Animation_AnimationEagerListenerMixin: function _TrainHoppingAnimation_Animation_AnimationEagerListenerMixin() {
    },
    _TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin: function _TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin() {
    },
    _TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin: function _TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin() {
    },
    ParametricCurve: function ParametricCurve() {
    },
    Curve: function Curve() {
    },
    _Linear: function _Linear() {
    },
    SawTooth: function SawTooth(t0) {
      this.count = t0;
    },
    Interval: function Interval(t0, t1, t2) {
      this.begin = t0;
      this.end = t1;
      this.curve = t2;
    },
    Threshold: function Threshold(t0) {
      this.threshold = t0;
    },
    Cubic: function Cubic(t0, t1, t2, t3) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.c = t2;
      _.d = t3;
    },
    ThreePointCubic: function ThreePointCubic() {
    },
    FlippedCurve: function FlippedCurve(t0) {
      this.curve = t0;
    },
    _DecelerateCurve: function _DecelerateCurve() {
    },
    AnimationLazyListenerMixin: function AnimationLazyListenerMixin() {
    },
    AnimationEagerListenerMixin: function AnimationEagerListenerMixin() {
    },
    AnimationLocalListenersMixin: function AnimationLocalListenersMixin() {
    },
    AnimationLocalStatusListenersMixin: function AnimationLocalStatusListenersMixin() {
    },
    Tween$(begin, end, $T) {
      return new A.Tween(begin, end, $T._eval$1("Tween<0>"));
    },
    CurveTween$(curve) {
      return new A.CurveTween(curve);
    },
    Animatable: function Animatable() {
    },
    _AnimatedEvaluation: function _AnimatedEvaluation(t0, t1, t2) {
      this.parent = t0;
      this._evaluatable = t1;
      this.$ti = t2;
    },
    _ChainedEvaluation: function _ChainedEvaluation(t0, t1, t2) {
      this._tween$_parent = t0;
      this._evaluatable = t1;
      this.$ti = t2;
    },
    Tween: function Tween(t0, t1, t2) {
      this.begin = t0;
      this.end = t1;
      this.$ti = t2;
    },
    ReverseTween: function ReverseTween(t0, t1, t2, t3) {
      var _ = this;
      _.parent = t0;
      _.begin = t1;
      _.end = t2;
      _.$ti = t3;
    },
    ColorTween: function ColorTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    SizeTween: function SizeTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    RectTween: function RectTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    IntTween: function IntTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    CurveTween: function CurveTween(t0) {
      this.curve = t0;
    },
    __AnimatedEvaluation_Animation_AnimationWithParentMixin: function __AnimatedEvaluation_Animation_AnimationWithParentMixin() {
    },
    TweenSequence$(items, $T) {
      var t1 = new A.TweenSequence(A._setArrayType([], $T._eval$1("JSArray<TweenSequenceItem<0>>")), A._setArrayType([], type$.JSArray__Interval), $T._eval$1("TweenSequence<0>"));
      t1.TweenSequence$1(items, $T);
      return t1;
    },
    TweenSequenceItem$(tween, weight, $T) {
      return new A.TweenSequenceItem(tween, weight, $T._eval$1("TweenSequenceItem<0>"));
    },
    TweenSequence: function TweenSequence(t0, t1, t2) {
      this._items = t0;
      this._intervals = t1;
      this.$ti = t2;
    },
    TweenSequenceItem: function TweenSequenceItem(t0, t1, t2) {
      this.tween = t0;
      this.weight = t1;
      this.$ti = t2;
    },
    _Interval: function _Interval(t0, t1) {
      this.start = t0;
      this.end = t1;
    },
    CupertinoDynamicColor_maybeResolve(resolvable, context) {
      if (resolvable == null)
        return null;
      return resolvable instanceof A.CupertinoDynamicColor ? resolvable.resolveFrom$1(context) : resolvable;
    },
    CupertinoDynamicColor: function CupertinoDynamicColor(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._effectiveColor = t0;
      _._colors$_debugLabel = t1;
      _._debugResolveContext = t2;
      _.color = t3;
      _.darkColor = t4;
      _.highContrastColor = t5;
      _.darkHighContrastColor = t6;
      _.elevatedColor = t7;
      _.darkElevatedColor = t8;
      _.highContrastElevatedColor = t9;
      _.darkHighContrastElevatedColor = t10;
      _.value = t11;
    },
    CupertinoDynamicColor_toString_toString: function CupertinoDynamicColor_toString_toString(t0) {
      this.$this = t0;
    },
    _CupertinoDynamicColor_Color_Diagnosticable: function _CupertinoDynamicColor_Color_Diagnosticable() {
    },
    _CupertinoDesktopTextSelectionControls: function _CupertinoDesktopTextSelectionControls() {
    },
    CupertinoIconThemeData: function CupertinoIconThemeData(t0, t1, t2, t3) {
      var _ = this;
      _.color = t0;
      _._opacity = t1;
      _.size = t2;
      _.shadows = t3;
    },
    _CupertinoIconThemeData_IconThemeData_Diagnosticable: function _CupertinoIconThemeData_IconThemeData_Diagnosticable() {
    },
    _CupertinoLocalizationsDelegate: function _CupertinoLocalizationsDelegate() {
    },
    DefaultCupertinoLocalizations: function DefaultCupertinoLocalizations() {
    },
    CupertinoRouteTransitionMixin__isPopGestureEnabled(route) {
      var t1;
      if (route.get$isFirst())
        return false;
      t1 = route.LocalHistoryRoute__localHistory;
      if (t1 != null && t1.length !== 0)
        return false;
      route.get$fullscreenDialog();
      t1 = route._animationProxy;
      if (t1.get$status(t1) !== B.AnimationStatus_3)
        return false;
      t1 = route._secondaryAnimationProxy;
      if (t1.get$status(t1) !== B.AnimationStatus_0)
        return false;
      if (route._navigator$_navigator.userGestureInProgressNotifier._change_notifier$_value)
        return false;
      return true;
    },
    CupertinoRouteTransitionMixin_buildPageTransitions(route, context, animation, secondaryAnimation, child, $T) {
      var t2, t3, t4, t5, t6, t7,
        t1 = route._navigator$_navigator.userGestureInProgressNotifier._change_notifier$_value;
      route.get$fullscreenDialog();
      t2 = t1 ? animation : A.CurvedAnimation$(B.Cubic_izR, animation, B.Cubic_OcD);
      t3 = $.$get$_kRightMiddleTween();
      t4 = type$.Animation_double;
      t4._as(t2);
      t5 = t1 ? secondaryAnimation : A.CurvedAnimation$(B.Cubic_izR, secondaryAnimation, B.Cubic_OcD);
      t6 = $.$get$_kMiddleLeftTween();
      t4._as(t5);
      t1 = t1 ? animation : A.CurvedAnimation$(B.Cubic_izR, animation, null);
      t7 = $.$get$_CupertinoEdgeShadowDecoration_kTween();
      return new A.CupertinoPageTransition(new A._AnimatedEvaluation(t2, t3, t3.$ti._eval$1("_AnimatedEvaluation<Animatable.T>")), new A._AnimatedEvaluation(t5, t6, t6.$ti._eval$1("_AnimatedEvaluation<Animatable.T>")), new A._AnimatedEvaluation(t4._as(t1), t7, A._instanceType(t7)._eval$1("_AnimatedEvaluation<Animatable.T>")), new A._CupertinoBackGestureDetector(child, new A.CupertinoRouteTransitionMixin_buildPageTransitions_closure(route), new A.CupertinoRouteTransitionMixin_buildPageTransitions_closure0(route, $T), null, $T._eval$1("_CupertinoBackGestureDetector<0>")), null);
    },
    _CupertinoEdgeShadowDecoration_lerp(a, b, t) {
      var t2, t3, t4, i, t5, t6,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1) {
        t1 = b._colors;
        if (t1 == null)
          t1 = b;
        else {
          t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Color>");
          t2 = new A._CupertinoEdgeShadowDecoration(A.List_List$of(new A.MappedListIterable(t1, new A._CupertinoEdgeShadowDecoration_lerp_closure(t), t2), true, t2._eval$1("ListIterable.E")));
          t1 = t2;
        }
        return t1;
      }
      if (b == null) {
        t1 = a._colors;
        if (t1 == null)
          t1 = a;
        else {
          t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Color>");
          t2 = new A._CupertinoEdgeShadowDecoration(A.List_List$of(new A.MappedListIterable(t1, new A._CupertinoEdgeShadowDecoration_lerp_closure0(t), t2), true, t2._eval$1("ListIterable.E")));
          t1 = t2;
        }
        return t1;
      }
      t1 = A._setArrayType([], type$.JSArray_Color);
      for (t2 = b._colors, t3 = a._colors, t4 = t3 == null, i = 0; i < t2.length; ++i) {
        t5 = t4 ? null : t3[i];
        t6 = t2[i];
        t5 = A.Color_lerp(t5, t6, t);
        t5.toString;
        t1.push(t5);
      }
      return new A._CupertinoEdgeShadowDecoration(t1);
    },
    CupertinoRouteTransitionMixin_buildPageTransitions_closure: function CupertinoRouteTransitionMixin_buildPageTransitions_closure(t0) {
      this.route = t0;
    },
    CupertinoRouteTransitionMixin_buildPageTransitions_closure0: function CupertinoRouteTransitionMixin_buildPageTransitions_closure0(t0, t1) {
      this.route = t0;
      this.T = t1;
    },
    CupertinoPageTransition: function CupertinoPageTransition(t0, t1, t2, t3, t4) {
      var _ = this;
      _._primaryPositionAnimation = t0;
      _._secondaryPositionAnimation = t1;
      _._primaryShadowAnimation = t2;
      _.child = t3;
      _.key = t4;
    },
    _CupertinoBackGestureDetector: function _CupertinoBackGestureDetector(t0, t1, t2, t3, t4) {
      var _ = this;
      _.child = t0;
      _.enabledCallback = t1;
      _.onStartPopGesture = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _CupertinoBackGestureDetectorState: function _CupertinoBackGestureDetectorState(t0, t1) {
      var _ = this;
      _._backGestureController = null;
      _.___CupertinoBackGestureDetectorState__recognizer = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _CupertinoBackGestureController: function _CupertinoBackGestureController(t0, t1, t2) {
      this.controller = t0;
      this.navigator = t1;
      this.$ti = t2;
    },
    _CupertinoBackGestureController_dragEnd_closure: function _CupertinoBackGestureController_dragEnd_closure(t0, t1) {
      this.$this = t0;
      this.animationStatusCallback = t1;
    },
    _CupertinoEdgeShadowDecoration: function _CupertinoEdgeShadowDecoration(t0) {
      this._colors = t0;
    },
    _CupertinoEdgeShadowDecoration_lerp_closure: function _CupertinoEdgeShadowDecoration_lerp_closure(t0) {
      this.t = t0;
    },
    _CupertinoEdgeShadowDecoration_lerp_closure0: function _CupertinoEdgeShadowDecoration_lerp_closure0(t0) {
      this.t = t0;
    },
    _CupertinoEdgeShadowPainter: function _CupertinoEdgeShadowPainter(t0, t1) {
      this._route$_decoration = t0;
      this.onChanged = t1;
    },
    CupertinoScrollbar: function CupertinoScrollbar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.thicknessWhileDragging = t0;
      _.radiusWhileDragging = t1;
      _.child = t2;
      _.controller = t3;
      _.thumbVisibility = t4;
      _.radius = t5;
      _.thickness = t6;
      _.trackVisibility = t7;
      _.fadeDuration = t8;
      _.timeToFade = t9;
      _.pressDuration = t10;
      _.notificationPredicate = t11;
      _.interactive = t12;
      _.scrollbarOrientation = t13;
      _.key = t14;
    },
    _CupertinoScrollbarState: function _CupertinoScrollbarState(t0, t1, t2, t3) {
      var _ = this;
      _.___CupertinoScrollbarState__thicknessAnimationController = $;
      _._pressStartAxisPosition = 0;
      _._fadeoutTimer = _._currentController = _._dragScrollbarAxisOffset = null;
      _.__RawScrollbarState__fadeoutOpacityAnimation = _.__RawScrollbarState__fadeoutAnimationController = $;
      _._scrollbarPainterKey = t0;
      _._hoverIsActive = false;
      _.__RawScrollbarState_scrollbarPainter = $;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _CupertinoScrollbarState_initState_closure: function _CupertinoScrollbarState_initState_closure(t0) {
      this.$this = t0;
    },
    _CupertinoScrollbarState_handleThumbPress_closure: function _CupertinoScrollbarState_handleThumbPress_closure() {
    },
    _TextSelectionHandlePainter: function _TextSelectionHandlePainter(t0, t1) {
      this.color = t0;
      this._repaint = t1;
    },
    CupertinoTextSelectionControls: function CupertinoTextSelectionControls() {
    },
    _resolveTextStyle(style, context) {
      return null;
    },
    CupertinoTextThemeData: function CupertinoTextThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._text_theme$_defaults = t0;
      _._primaryColor = t1;
      _._textStyle = t2;
      _._actionTextStyle = t3;
      _._tabLabelTextStyle = t4;
      _._navTitleTextStyle = t5;
      _._navLargeTitleTextStyle = t6;
      _._navActionTextStyle = t7;
      _._pickerTextStyle = t8;
      _._dateTimePickerTextStyle = t9;
    },
    _TextThemeDefaultsBuilder: function _TextThemeDefaultsBuilder(t0, t1) {
      this.labelColor = t0;
      this.inactiveGrayColor = t1;
    },
    _CupertinoTextThemeData_Object_Diagnosticable: function _CupertinoTextThemeData_Object_Diagnosticable() {
    },
    CupertinoTheme_of(context) {
      var inheritedTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedCupertinoTheme),
        t1 = inheritedTheme == null ? null : inheritedTheme.theme.data;
      return (t1 == null ? B.CupertinoThemeData_KQb : t1).resolveFrom$1(context);
    },
    CupertinoThemeData$_rawWithDefaults(brightness, primaryColor, primaryContrastingColor, textTheme, barBackgroundColor, scaffoldBackgroundColor, _defaults) {
      return new A.CupertinoThemeData(_defaults, brightness, primaryColor, primaryContrastingColor, textTheme, barBackgroundColor, scaffoldBackgroundColor);
    },
    CupertinoTheme: function CupertinoTheme(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    _InheritedCupertinoTheme: function _InheritedCupertinoTheme(t0, t1, t2) {
      this.theme = t0;
      this.child = t1;
      this.key = t2;
    },
    CupertinoThemeData: function CupertinoThemeData(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._defaults = t0;
      _.brightness = t1;
      _.primaryColor = t2;
      _.primaryContrastingColor = t3;
      _.textTheme = t4;
      _.barBackgroundColor = t5;
      _.scaffoldBackgroundColor = t6;
    },
    CupertinoThemeData_resolveFrom_convertColor: function CupertinoThemeData_resolveFrom_convertColor(t0) {
      this.context = t0;
    },
    NoDefaultCupertinoThemeData: function NoDefaultCupertinoThemeData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.brightness = t0;
      _.primaryColor = t1;
      _.primaryContrastingColor = t2;
      _.textTheme = t3;
      _.barBackgroundColor = t4;
      _.scaffoldBackgroundColor = t5;
    },
    NoDefaultCupertinoThemeData_resolveFrom_convertColor: function NoDefaultCupertinoThemeData_resolveFrom_convertColor(t0) {
      this.context = t0;
    },
    _CupertinoThemeDefaults: function _CupertinoThemeDefaults(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.brightness = t0;
      _.primaryColor = t1;
      _.primaryContrastingColor = t2;
      _.barBackgroundColor = t3;
      _.scaffoldBackgroundColor = t4;
      _.textThemeDefaults = t5;
    },
    _CupertinoThemeDefaults_resolveFrom_convertColor: function _CupertinoThemeDefaults_resolveFrom_convertColor(t0) {
      this.context = t0;
    },
    _CupertinoTextThemeDefaults: function _CupertinoTextThemeDefaults(t0, t1) {
      this.labelColor = t0;
      this.inactiveGray = t1;
    },
    _DefaultCupertinoTextThemeData: function _DefaultCupertinoTextThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.labelColor = t0;
      _.inactiveGray = t1;
      _._text_theme$_defaults = t2;
      _._primaryColor = t3;
      _._textStyle = t4;
      _._actionTextStyle = t5;
      _._tabLabelTextStyle = t6;
      _._navTitleTextStyle = t7;
      _._navLargeTitleTextStyle = t8;
      _._navActionTextStyle = t9;
      _._pickerTextStyle = t10;
      _._dateTimePickerTextStyle = t11;
    },
    _CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable: function _CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable() {
    },
    defaultTargetPlatform() {
      var t1 = $.$get$_testPlatform();
      return t1 == null ? $.$get$_browserPlatform() : t1;
    },
    _testPlatform_closure: function _testPlatform_closure() {
    },
    _browserPlatform_closure: function _browserPlatform_closure() {
    },
    ErrorDescription$(message) {
      var _null = null,
        t1 = A._setArrayType([message], type$.JSArray_Object);
      return new A.ErrorDescription(_null, false, true, _null, _null, _null, false, t1, _null, B.DiagnosticLevel_3, _null, false, false, _null, B.DiagnosticsTreeStyle_7);
    },
    ErrorSummary$(message) {
      var _null = null,
        t1 = A._setArrayType([message], type$.JSArray_Object);
      return new A.ErrorSummary(_null, false, true, _null, _null, _null, false, t1, _null, B.DiagnosticLevel_6, _null, false, false, _null, B.DiagnosticsTreeStyle_7);
    },
    ErrorHint$(message) {
      var _null = null,
        t1 = A._setArrayType([message], type$.JSArray_Object);
      return new A.ErrorHint(_null, false, true, _null, _null, _null, false, t1, _null, B.DiagnosticLevel_5, _null, false, false, _null, B.DiagnosticsTreeStyle_7);
    },
    ErrorSpacer$() {
      var _null = null;
      return new A.ErrorSpacer("", false, true, _null, _null, _null, false, _null, B.C__NoDefaultValue, B.DiagnosticLevel_3, "", true, false, _null, B.DiagnosticsTreeStyle_8);
    },
    FlutterError_FlutterError(message) {
      var lines = A._setArrayType(message.split("\n"), type$.JSArray_String),
        t1 = A._setArrayType([A.ErrorSummary$(B.JSArray_methods.get$first(lines))], type$.JSArray_DiagnosticsNode),
        t2 = A.SubListIterable$(lines, 1, null, type$.String);
      B.JSArray_methods.addAll$1(t1, new A.MappedListIterable(t2, new A.FlutterError_FlutterError_closure(), t2.$ti._eval$1("MappedListIterable<ListIterable.E,DiagnosticsNode>")));
      return new A.FlutterError(t1);
    },
    FlutterError$fromParts(diagnostics) {
      return new A.FlutterError(diagnostics);
    },
    FlutterError__defaultStackTraceDemangler(stackTrace) {
      return stackTrace;
    },
    FlutterError_dumpErrorToConsole(details, forceReport) {
      if (details.silent && true)
        return;
      if ($.FlutterError__errorCount === 0 || false)
        A.debugPrintStack(J.toString$0$(details.exception), 100, details.stack);
      else
        A.print__debugPrintThrottled$closure().call$1("Another exception was thrown: " + details.get$summary().toString$0(0));
      $.FlutterError__errorCount = $.FlutterError__errorCount + 1;
    },
    FlutterError_defaultStackFilter($frames) {
      var skipped, index, t1, frame, className, $package, reasons, t2, _i, result, index0, t3, t4, suffix,
        removedPackagesAndClasses = A.LinkedHashMap_LinkedHashMap$_literal(["dart:async-patch", 0, "dart:async", 0, "package:stack_trace", 0, "class _AssertionError", 0, "class _FakeAsync", 0, "class _FrameCallbackEntry", 0, "class _Timer", 0, "class _RawReceivePortImpl", 0], type$.String, type$.int),
        parsedFrames = A.StackFrame_fromStackString(J.join$1$ax($frames, "\n"));
      for (skipped = 0, index = 0; t1 = parsedFrames.length, index < t1; ++index) {
        frame = parsedFrames[index];
        className = "class " + frame.className;
        $package = frame.packageScheme + ":" + frame.$package;
        if (removedPackagesAndClasses.containsKey$1(0, className)) {
          ++skipped;
          removedPackagesAndClasses.update$2(removedPackagesAndClasses, className, new A.FlutterError_defaultStackFilter_closure());
          B.JSArray_methods.removeAt$1(parsedFrames, index);
          --index;
        } else if (removedPackagesAndClasses.containsKey$1(0, $package)) {
          ++skipped;
          removedPackagesAndClasses.update$2(removedPackagesAndClasses, $package, new A.FlutterError_defaultStackFilter_closure0());
          B.JSArray_methods.removeAt$1(parsedFrames, index);
          --index;
        }
      }
      reasons = A.List_List$filled(t1, null, false, type$.nullable_String);
      for (t2 = $.FlutterError__stackFilters.length, _i = 0; _i < $.FlutterError__stackFilters.length; $.FlutterError__stackFilters.length === t2 || (0, A.throwConcurrentModificationError)($.FlutterError__stackFilters), ++_i)
        $.FlutterError__stackFilters[_i].filter$2(0, parsedFrames, reasons);
      t2 = type$.JSArray_String;
      result = A._setArrayType([], t2);
      for (--t1, index = 0; index < parsedFrames.length; index = index0 + 1) {
        index0 = index;
        while (true) {
          if (index0 < t1) {
            t3 = reasons[index0];
            t3 = t3 != null && J.$eq$(reasons[index0 + 1], t3);
          } else
            t3 = false;
          if (!t3)
            break;
          ++index0;
        }
        t3 = reasons[index0];
        t4 = t3 == null;
        if (!t4)
          suffix = index0 !== index ? " (" + (index0 - index + 2) + " frames)" : " (1 frame)";
        else
          suffix = "";
        result.push(A.S(t4 ? parsedFrames[index0].source : t3) + suffix);
      }
      t1 = A._setArrayType([], t2);
      for (t2 = removedPackagesAndClasses.get$entries(removedPackagesAndClasses), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (t3.get$value(t3) > 0)
          t1.push(t3.get$key(t3));
      }
      B.JSArray_methods.sort$0(t1);
      if (skipped === 1)
        result.push("(elided one frame from " + B.JSArray_methods.get$single(t1) + ")");
      else if (skipped > 1) {
        t2 = t1.length;
        if (t2 > 1)
          t1[t2 - 1] = "and " + B.JSArray_methods.get$last(t1);
        t2 = "(elided " + skipped;
        if (t1.length > 2)
          result.push(t2 + " frames from " + B.JSArray_methods.join$1(t1, ", ") + ")");
        else
          result.push(t2 + " frames from " + B.JSArray_methods.join$1(t1, " ") + ")");
      }
      return result;
    },
    FlutterError_reportError(details) {
      var t1 = $.$get$FlutterError_onError();
      if (t1 != null)
        t1.call$1(details);
    },
    debugPrintStack(label, maxFrames, stackTrace) {
      var lines, t1;
      if (label != null)
        A.print__debugPrintThrottled$closure().call$1(label);
      lines = A._setArrayType(B.JSString_methods.trimRight$0(J.toString$0$(stackTrace == null ? A.StackTrace_current() : A.FlutterError__defaultStackTraceDemangler(stackTrace))).split("\n"), type$.JSArray_String);
      t1 = lines.length;
      lines = J.take$1$ax(t1 !== 0 ? new A.SkipWhileIterable(lines, new A.debugPrintStack_closure(), type$.SkipWhileIterable_String) : lines, maxFrames);
      A.print__debugPrintThrottled$closure().call$1(B.JSArray_methods.join$1(A.FlutterError_defaultStackFilter(lines), "\n"));
    },
    DiagnosticsStackTrace$($name, stack, stackFilter) {
      var t1 = A.DiagnosticsStackTrace__applyStackFilter(stack, stackFilter);
      return new A.DiagnosticsStackTrace(B.List_empty1, t1, "", stack, true, $name, true, true, null, B.DiagnosticsTreeStyle_7);
    },
    DiagnosticsStackTrace__applyStackFilter(stack, stackFilter) {
      if (stack == null)
        return A._setArrayType([], type$.JSArray_DiagnosticsNode);
      return J.map$1$1$ax(A.FlutterError_defaultStackFilter(A._setArrayType(B.JSString_methods.trimRight$0(A.S(A.FlutterError__defaultStackTraceDemangler(stack))).split("\n"), type$.JSArray_String)), A.assertions_DiagnosticsStackTrace__createStackFrame$closure(), type$.DiagnosticsNode).toList$0(0);
    },
    DiagnosticsStackTrace__createStackFrame(frame) {
      return A.DiagnosticsNode_DiagnosticsNode$message(frame, false, B.DiagnosticsTreeStyle_8);
    },
    _FlutterErrorDetailsNode$($name, style, value) {
      return new A._FlutterErrorDetailsNode(value, $name, true, true, null, style);
    },
    _ErrorDiagnostic: function _ErrorDiagnostic() {
    },
    ErrorDescription: function ErrorDescription(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._description = t0;
      _.expandableValue = t1;
      _.allowWrap = t2;
      _.ifNull = t3;
      _.ifEmpty = t4;
      _.tooltip = t5;
      _.missingIfNull = t6;
      _._diagnostics$_value = t7;
      _._valueComputed = true;
      _._diagnostics$_exception = null;
      _.defaultValue = t8;
      _._defaultLevel = t9;
      _.name = t10;
      _.showSeparator = t11;
      _.showName = t12;
      _.linePrefix = t13;
      _.style = t14;
    },
    ErrorSummary: function ErrorSummary(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._description = t0;
      _.expandableValue = t1;
      _.allowWrap = t2;
      _.ifNull = t3;
      _.ifEmpty = t4;
      _.tooltip = t5;
      _.missingIfNull = t6;
      _._diagnostics$_value = t7;
      _._valueComputed = true;
      _._diagnostics$_exception = null;
      _.defaultValue = t8;
      _._defaultLevel = t9;
      _.name = t10;
      _.showSeparator = t11;
      _.showName = t12;
      _.linePrefix = t13;
      _.style = t14;
    },
    ErrorHint: function ErrorHint(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._description = t0;
      _.expandableValue = t1;
      _.allowWrap = t2;
      _.ifNull = t3;
      _.ifEmpty = t4;
      _.tooltip = t5;
      _.missingIfNull = t6;
      _._diagnostics$_value = t7;
      _._valueComputed = true;
      _._diagnostics$_exception = null;
      _.defaultValue = t8;
      _._defaultLevel = t9;
      _.name = t10;
      _.showSeparator = t11;
      _.showName = t12;
      _.linePrefix = t13;
      _.style = t14;
    },
    ErrorSpacer: function ErrorSpacer(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._description = t0;
      _.expandableValue = t1;
      _.allowWrap = t2;
      _.ifNull = t3;
      _.ifEmpty = t4;
      _.tooltip = t5;
      _.missingIfNull = t6;
      _._diagnostics$_value = t7;
      _._valueComputed = true;
      _._diagnostics$_exception = null;
      _.defaultValue = t8;
      _._defaultLevel = t9;
      _.name = t10;
      _.showSeparator = t11;
      _.showName = t12;
      _.linePrefix = t13;
      _.style = t14;
    },
    FlutterErrorDetails: function FlutterErrorDetails(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.exception = t0;
      _.stack = t1;
      _.library = t2;
      _.context = t3;
      _.informationCollector = t4;
      _.silent = t5;
    },
    FlutterErrorDetails_summary_formatException: function FlutterErrorDetails_summary_formatException(t0) {
      this.$this = t0;
    },
    FlutterErrorDetails_summary_closure: function FlutterErrorDetails_summary_closure() {
    },
    FlutterErrorDetails_summary_closure0: function FlutterErrorDetails_summary_closure0() {
    },
    FlutterErrorDetails_debugFillProperties_closure: function FlutterErrorDetails_debugFillProperties_closure() {
    },
    FlutterError: function FlutterError(t0) {
      this.diagnostics = t0;
    },
    FlutterError_FlutterError_closure: function FlutterError_FlutterError_closure() {
    },
    FlutterError_defaultStackFilter_closure: function FlutterError_defaultStackFilter_closure() {
    },
    FlutterError_defaultStackFilter_closure0: function FlutterError_defaultStackFilter_closure0() {
    },
    FlutterError_toString_closure: function FlutterError_toString_closure(t0) {
      this.renderer = t0;
    },
    debugPrintStack_closure: function debugPrintStack_closure() {
    },
    DiagnosticsStackTrace: function DiagnosticsStackTrace(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._diagnostics$_children = t0;
      _._properties = t1;
      _._description = t2;
      _.value = t3;
      _.allowTruncate = t4;
      _.name = t5;
      _.showSeparator = t6;
      _.showName = t7;
      _.linePrefix = t8;
      _.style = t9;
    },
    _FlutterErrorDetailsNode: function _FlutterErrorDetailsNode(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.value = t0;
      _._cachedBuilder = null;
      _.name = t1;
      _.showSeparator = t2;
      _.showName = t3;
      _.linePrefix = t4;
      _.style = t5;
    },
    _FlutterError_Error_DiagnosticableTreeMixin: function _FlutterError_Error_DiagnosticableTreeMixin() {
    },
    _FlutterErrorDetails_Object_Diagnosticable: function _FlutterErrorDetails_Object_Diagnosticable() {
    },
    BindingBase: function BindingBase() {
    },
    BindingBase_initServiceExtensions_closure: function BindingBase_initServiceExtensions_closure() {
    },
    BindingBase_initServiceExtensions_closure0: function BindingBase_initServiceExtensions_closure0() {
    },
    BindingBase_initServiceExtensions_closure1: function BindingBase_initServiceExtensions_closure1() {
    },
    BindingBase_initServiceExtensions_closure2: function BindingBase_initServiceExtensions_closure2() {
    },
    BindingBase_lockEvents_closure: function BindingBase_lockEvents_closure(t0, t1) {
      this.$this = t0;
      this.timelineTask = t1;
    },
    BindingBase_registerBoolServiceExtension_closure: function BindingBase_registerBoolServiceExtension_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.setter = t1;
      _.name = t2;
      _.getter = t3;
    },
    BindingBase_registerNumericServiceExtension_closure: function BindingBase_registerNumericServiceExtension_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.name = t1;
      _.setter = t2;
      _.getter = t3;
    },
    BindingBase_registerStringServiceExtension_closure: function BindingBase_registerStringServiceExtension_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.setter = t1;
      _.name = t2;
      _.getter = t3;
    },
    BindingBase_registerServiceExtension_closure: function BindingBase_registerServiceExtension_closure(t0, t1) {
      this.methodName = t0;
      this.callback = t1;
    },
    BindingBase_registerServiceExtension__closure: function BindingBase_registerServiceExtension__closure() {
    },
    DebugReassembleConfig: function DebugReassembleConfig(t0) {
      this.widgetName = t0;
    },
    ValueNotifier$(_value, $T) {
      return new A.ValueNotifier(_value, $.$get$ChangeNotifier__emptyListeners(), $T._eval$1("ValueNotifier<0>"));
    },
    Listenable: function Listenable() {
    },
    ValueListenable: function ValueListenable() {
    },
    ChangeNotifier: function ChangeNotifier() {
    },
    ChangeNotifier_notifyListeners_closure: function ChangeNotifier_notifyListeners_closure(t0) {
      this.$this = t0;
    },
    _MergingListenable: function _MergingListenable(t0) {
      this._change_notifier$_children = t0;
    },
    ValueNotifier: function ValueNotifier(t0, t1, t2) {
      var _ = this;
      _._change_notifier$_value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
      _.$ti = t2;
    },
    TextTreeConfiguration$(addBlankLineIfNoChildren, afterDescriptionIfBody, afterName, afterProperties, beforeName, beforeProperties, bodyIndent, footer, isBlankLineBetweenPropertiesAndChildren, isNameOnOwnLine, lineBreak, lineBreakProperties, linkCharacter, mandatoryFooter, prefixLastChildLineOne, prefixLineOne, prefixOtherLines, prefixOtherLinesRootNode, propertyPrefixIfChildren, propertyPrefixNoChildren, propertySeparator, showChildren, suffixLineOne) {
      return new A.TextTreeConfiguration(prefixLineOne, suffixLineOne, prefixOtherLines, prefixLastChildLineOne, prefixOtherLinesRootNode, propertyPrefixIfChildren, propertyPrefixNoChildren, linkCharacter, B.JSString_methods.$mul(" ", linkCharacter.length), lineBreak, lineBreakProperties, beforeName, afterName, afterDescriptionIfBody, beforeProperties, afterProperties, propertySeparator, bodyIndent, showChildren, addBlankLineIfNoChildren, isNameOnOwnLine, footer, mandatoryFooter, isBlankLineBetweenPropertiesAndChildren);
    },
    _PrefixedStringBuilder__wordWrapLine(message, wrapRanges, width, otherLineOffset, startOffset) {
      var wrappedLine, startForLengthCalculations, lastWordStart, noWrap, t2, index, mode, lastWordEnd, start, t3, _box_0 = {},
        t1 = message.length;
      if (t1 + startOffset < width)
        return A._setArrayType([message], type$.JSArray_String);
      wrappedLine = A._setArrayType([], type$.JSArray_String);
      startForLengthCalculations = -startOffset;
      lastWordStart = A._Cell$named("lastWordStart");
      _box_0.currentChunk = 0;
      noWrap = new A._PrefixedStringBuilder__wordWrapLine_noWrap(_box_0, wrapRanges);
      for (t2 = lastWordStart.__late_helper$_name, index = 0, mode = B._WordWrapParseMode_0, lastWordEnd = null, start = 0; true;)
        switch (mode.index) {
          case 0:
            while (true) {
              if (!(index < t1 && message[index] === " "))
                break;
              ++index;
            }
            lastWordStart.__late_helper$_value = index;
            mode = B._WordWrapParseMode_1;
            break;
          case 1:
            while (true) {
              if (index < t1)
                t3 = message[index] !== " " || noWrap.call$1(index);
              else
                t3 = false;
              if (!t3)
                break;
              ++index;
            }
            mode = B._WordWrapParseMode_2;
            break;
          case 2:
            t3 = index - startForLengthCalculations;
            if (t3 > width || index === t1) {
              if (t3 <= width || lastWordEnd == null)
                lastWordEnd = index;
              wrappedLine.push(B.JSString_methods.substring$2(message, start, lastWordEnd));
              if (lastWordEnd >= t1)
                return wrappedLine;
              if (lastWordEnd === index) {
                while (true) {
                  if (!(index < t1 && message[index] === " "))
                    break;
                  ++index;
                }
                start = index;
                mode = B._WordWrapParseMode_1;
              } else {
                start = lastWordStart.__late_helper$_value;
                if (start === lastWordStart)
                  A.throwExpression(A.LateError$localNI(t2));
                mode = B._WordWrapParseMode_2;
              }
              startForLengthCalculations = start - otherLineOffset;
              lastWordEnd = null;
            } else {
              lastWordEnd = index;
              mode = B._WordWrapParseMode_0;
            }
            break;
        }
    },
    DiagnosticsNode_DiagnosticsNode$message(message, allowWrap, style) {
      var _null = null;
      return A.DiagnosticsProperty$("", _null, allowWrap, B.C__NoDefaultValue, message, false, _null, _null, B.DiagnosticLevel_3, _null, false, false, true, style, _null, type$.void);
    },
    DiagnosticsProperty$($name, value, allowWrap, defaultValue, description, expandableValue, ifEmpty, ifNull, level, linePrefix, missingIfNull, showName, showSeparator, style, tooltip, $T) {
      var t1;
      if (ifNull == null)
        t1 = missingIfNull ? "MISSING" : null;
      else
        t1 = ifNull;
      return new A.DiagnosticsProperty(description, false, allowWrap, t1, ifEmpty, tooltip, missingIfNull, value, defaultValue, level, $name, showSeparator, showName, linePrefix, style, $T._eval$1("DiagnosticsProperty<0>"));
    },
    DiagnosticableTreeNode$($name, style, value) {
      return new A.DiagnosticableTreeNode(value, $name, true, true, null, style);
    },
    shortHash(object) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(J.get$hashCode$(object) & 1048575, 16), 5, "0");
    },
    describeEnum(enumEntry) {
      var description;
      if (type$.Enum._is(enumEntry))
        return enumEntry._core$_name;
      description = J.toString$0$(enumEntry);
      return B.JSString_methods.substring$1(description, B.JSString_methods.indexOf$1(description, ".") + 1);
    },
    DiagnosticLevel: function DiagnosticLevel(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    DiagnosticsTreeStyle: function DiagnosticsTreeStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextTreeConfiguration: function TextTreeConfiguration(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) {
      var _ = this;
      _.prefixLineOne = t0;
      _.suffixLineOne = t1;
      _.prefixOtherLines = t2;
      _.prefixLastChildLineOne = t3;
      _.prefixOtherLinesRootNode = t4;
      _.propertyPrefixIfChildren = t5;
      _.propertyPrefixNoChildren = t6;
      _.linkCharacter = t7;
      _.childLinkSpace = t8;
      _.lineBreak = t9;
      _.lineBreakProperties = t10;
      _.beforeName = t11;
      _.afterName = t12;
      _.afterDescriptionIfBody = t13;
      _.beforeProperties = t14;
      _.afterProperties = t15;
      _.propertySeparator = t16;
      _.bodyIndent = t17;
      _.showChildren = t18;
      _.addBlankLineIfNoChildren = t19;
      _.isNameOnOwnLine = t20;
      _.footer = t21;
      _.mandatoryFooter = t22;
      _.isBlankLineBetweenPropertiesAndChildren = t23;
    },
    _WordWrapParseMode: function _WordWrapParseMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _PrefixedStringBuilder: function _PrefixedStringBuilder(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.prefixLineOne = t0;
      _._prefixOtherLines = t1;
      _._nextPrefixOtherLines = null;
      _.wrapWidth = t2;
      _._diagnostics$_buffer = t3;
      _._currentLine = t4;
      _._wrappableRanges = t5;
      _._numLines = 0;
    },
    _PrefixedStringBuilder__wordWrapLine_noWrap: function _PrefixedStringBuilder__wordWrapLine_noWrap(t0, t1) {
      this._box_0 = t0;
      this.wrapRanges = t1;
    },
    _NoDefaultValue: function _NoDefaultValue() {
    },
    TextTreeRenderer: function TextTreeRenderer(t0, t1, t2, t3) {
      var _ = this;
      _._wrapWidth = t0;
      _._wrapWidthProperties = t1;
      _._minLevel = t2;
      _._maxDescendentsTruncatableNode = t3;
    },
    TextTreeRenderer__debugRender_visitor: function TextTreeRenderer__debugRender_visitor(t0, t1) {
      this._box_0 = t0;
      this.descendants = t1;
    },
    TextTreeRenderer__debugRender_closure: function TextTreeRenderer__debugRender_closure(t0) {
      this.$this = t0;
    },
    DiagnosticsNode: function DiagnosticsNode() {
    },
    DiagnosticsProperty: function DiagnosticsProperty(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._description = t0;
      _.expandableValue = t1;
      _.allowWrap = t2;
      _.ifNull = t3;
      _.ifEmpty = t4;
      _.tooltip = t5;
      _.missingIfNull = t6;
      _._diagnostics$_value = t7;
      _._valueComputed = true;
      _._diagnostics$_exception = null;
      _.defaultValue = t8;
      _._defaultLevel = t9;
      _.name = t10;
      _.showSeparator = t11;
      _.showName = t12;
      _.linePrefix = t13;
      _.style = t14;
      _.$ti = t15;
    },
    DiagnosticableNode: function DiagnosticableNode() {
    },
    DiagnosticableTreeNode: function DiagnosticableTreeNode(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.value = t0;
      _._cachedBuilder = null;
      _.name = t1;
      _.showSeparator = t2;
      _.showName = t3;
      _.linePrefix = t4;
      _.style = t5;
    },
    DiagnosticPropertiesBuilder: function DiagnosticPropertiesBuilder(t0, t1) {
      this.properties = t0;
      this.defaultDiagnosticsTreeStyle = t1;
      this.emptyBodyDescription = null;
    },
    Diagnosticable: function Diagnosticable() {
    },
    DiagnosticableTree: function DiagnosticableTree() {
    },
    DiagnosticableTreeMixin: function DiagnosticableTreeMixin() {
    },
    DiagnosticsBlock: function DiagnosticsBlock() {
    },
    _DiagnosticableTree_Object_Diagnosticable: function _DiagnosticableTree_Object_Diagnosticable() {
    },
    UniqueKey$() {
      return new A.UniqueKey();
    },
    Key: function Key() {
    },
    LocalKey: function LocalKey() {
    },
    UniqueKey: function UniqueKey() {
    },
    ValueKey: function ValueKey(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    _TypeLiteral: function _TypeLiteral(t0) {
      this.$ti = t0;
    },
    LicenseEntry: function LicenseEntry() {
    },
    LicenseEntryWithLineBreaks: function LicenseEntryWithLineBreaks() {
    },
    AbstractNode: function AbstractNode() {
    },
    ObserverList$($T) {
      return new A.ObserverList(A._setArrayType([], $T._eval$1("JSArray<0>")), $T._eval$1("ObserverList<0>"));
    },
    ObserverList: function ObserverList(t0, t1) {
      var _ = this;
      _._list = t0;
      _._isDirty = false;
      _.__ObserverList__set = $;
      _.$ti = t1;
    },
    HashedObserverList: function HashedObserverList(t0, t1) {
      this._observer_list$_map = t0;
      this.$ti = t1;
    },
    TargetPlatform: function TargetPlatform(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    WriteBuffer_WriteBuffer(startCapacity) {
      var eightBytes = new DataView(new ArrayBuffer(8)),
        eightBytesAsList = A.NativeUint8List_NativeUint8List$view(eightBytes.buffer, 0, null);
      return new A.WriteBuffer(new Uint8Array(startCapacity), eightBytes, eightBytesAsList);
    },
    WriteBuffer: function WriteBuffer(t0, t1, t2) {
      var _ = this;
      _._serialization$_buffer = t0;
      _._currentSize = 0;
      _._isDone = false;
      _._eightBytes = t1;
      _._eightBytesAsList = t2;
    },
    ReadBuffer: function ReadBuffer(t0) {
      this.data = t0;
      this._serialization$_position = 0;
    },
    StackFrame_fromStackString(stack) {
      var t1 = type$.WhereTypeIterable_StackFrame;
      return A.List_List$of(new A.WhereTypeIterable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(stack).split("\n"), type$.JSArray_String), new A.StackFrame_fromStackString_closure(), type$.WhereIterable_String), A.stack_frame_StackFrame_fromStackTraceLine$closure(), type$.MappedIterable_of_String_and_nullable_StackFrame), t1), true, t1._eval$1("Iterable.E"));
    },
    StackFrame__parseWebFrame(line) {
      var t1 = A.StackFrame__parseWebNonDebugFrame(line);
      return t1;
    },
    StackFrame__parseWebNonDebugFrame(line) {
      var classAndMethod, className,
        _s9_ = "<unknown>",
        match = $.$get$StackFrame__webNonDebugFramePattern().firstMatch$1(line);
      if (match == null)
        return null;
      classAndMethod = A._setArrayType(match._match[1].split("."), type$.JSArray_String);
      className = classAndMethod.length > 1 ? B.JSArray_methods.get$first(classAndMethod) : _s9_;
      return new A.StackFrame(line, -1, _s9_, _s9_, _s9_, -1, -1, className, classAndMethod.length > 1 ? A.SubListIterable$(classAndMethod, 1, null, type$.String).join$1(0, ".") : B.JSArray_methods.get$single(classAndMethod));
    },
    StackFrame_fromStackTraceLine(line) {
      var t1, t2, method, className, parts, packageUri, packagePath, $package, t3, t4, _null = null,
        _s9_ = "<unknown>";
      if (line === "<asynchronous suspension>")
        return B.StackFrame_SOW;
      else if (line === "...")
        return B.StackFrame_8sg;
      if (!B.JSString_methods.startsWith$1(line, "#"))
        return A.StackFrame__parseWebFrame(line);
      t1 = A.RegExp_RegExp("^#(\\d+) +(.+) \\((.+?):?(\\d+){0,1}:?(\\d+){0,1}\\)$", true, false).firstMatch$1(line)._match;
      t2 = t1[2];
      t2.toString;
      method = A.stringReplaceAllUnchecked(t2, ".<anonymous closure>", "");
      if (B.JSString_methods.startsWith$1(method, "new")) {
        className = method.split(" ").length > 1 ? method.split(" ")[1] : _s9_;
        if (B.JSString_methods.contains$1(className, ".")) {
          parts = className.split(".");
          className = parts[0];
          method = parts[1];
        } else
          method = "";
      } else if (B.JSString_methods.contains$1(method, ".")) {
        parts = method.split(".");
        className = parts[0];
        method = parts[1];
      } else
        className = "";
      t2 = t1[3];
      t2.toString;
      packageUri = A.Uri_parse(t2, 0, _null);
      packagePath = packageUri.get$path(packageUri);
      if (packageUri.get$scheme() === "dart" || packageUri.get$scheme() === "package") {
        $package = packageUri.get$pathSegments()[0];
        packagePath = B.JSString_methods.replaceFirst$2(packageUri.get$path(packageUri), A.S(packageUri.get$pathSegments()[0]) + "/", "");
      } else
        $package = _s9_;
      t2 = t1[1];
      t2.toString;
      t2 = A.int_parse(t2, _null);
      t3 = packageUri.get$scheme();
      t4 = t1[4];
      if (t4 == null)
        t4 = -1;
      else {
        t4 = t4;
        t4.toString;
        t4 = A.int_parse(t4, _null);
      }
      t1 = t1[5];
      if (t1 == null)
        t1 = -1;
      else {
        t1 = t1;
        t1.toString;
        t1 = A.int_parse(t1, _null);
      }
      return new A.StackFrame(line, t2, t3, $package, packagePath, t4, t1, className, method);
    },
    StackFrame: function StackFrame(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.source = t0;
      _.number = t1;
      _.packageScheme = t2;
      _.$package = t3;
      _.packagePath = t4;
      _.line = t5;
      _.column = t6;
      _.className = t7;
      _.method = t8;
    },
    StackFrame_fromStackString_closure: function StackFrame_fromStackString_closure() {
    },
    SynchronousFuture: function SynchronousFuture(t0, t1) {
      this._synchronous_future$_value = t0;
      this.$ti = t1;
    },
    SynchronousFuture_whenComplete_closure: function SynchronousFuture_whenComplete_closure(t0) {
      this.$this = t0;
    },
    GestureDisposition: function GestureDisposition(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    GestureArenaMember: function GestureArenaMember() {
    },
    GestureArenaEntry: function GestureArenaEntry(t0, t1, t2) {
      this._arena = t0;
      this._arena$_pointer = t1;
      this._member = t2;
    },
    _GestureArena: function _GestureArena(t0) {
      var _ = this;
      _.members = t0;
      _.isOpen = true;
      _.hasPendingSweep = _.isHeld = false;
      _.eagerWinner = null;
    },
    _GestureArena_toString_closure: function _GestureArena_toString_closure(t0) {
      this.$this = t0;
    },
    GestureArenaManager: function GestureArenaManager(t0) {
      this._arenas = t0;
    },
    GestureArenaManager_add_closure: function GestureArenaManager_add_closure(t0, t1) {
      this.$this = t0;
      this.pointer = t1;
    },
    GestureArenaManager__tryToResolveArena_closure: function GestureArenaManager__tryToResolveArena_closure(t0, t1, t2) {
      this.$this = t0;
      this.pointer = t1;
      this.state = t2;
    },
    FlutterErrorDetailsForPointerEventDispatcher$(context, $event, exception, hitTestEntry, informationCollector, library, stack) {
      return new A.FlutterErrorDetailsForPointerEventDispatcher(exception, stack, library, context, informationCollector, false);
    },
    _Resampler: function _Resampler(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._resamplers = t0;
      _._binding0$_frameCallbackScheduled = false;
      _._frameTime = t1;
      _._frameTimeAge = t2;
      _._lastSampleTime = t3;
      _._lastEventTime = t4;
      _._binding0$_handlePointerEvent = t5;
      _._handleSampleTimeChanged = t6;
      _._samplingInterval = t7;
      _._binding0$_timer = null;
    },
    GestureBinding: function GestureBinding() {
    },
    GestureBinding_dispatchEvent_closure: function GestureBinding_dispatchEvent_closure(t0) {
      this.event = t0;
    },
    GestureBinding_dispatchEvent_closure0: function GestureBinding_dispatchEvent_closure0(t0, t1) {
      this.event = t0;
      this.entry = t1;
    },
    FlutterErrorDetailsForPointerEventDispatcher: function FlutterErrorDetailsForPointerEventDispatcher(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.exception = t0;
      _.stack = t1;
      _.library = t2;
      _.context = t3;
      _.informationCollector = t4;
      _.silent = t5;
    },
    _synthesiseDownButtons(buttons, kind) {
      switch (kind.index) {
        case 1:
        case 4:
          return buttons;
        case 0:
        case 2:
        case 3:
          return buttons === 0 ? 1 : buttons;
        case 5:
          return buttons === 0 ? 1 : buttons;
      }
    },
    PointerEventConverter_expand(data, devicePixelRatio) {
      var t1 = A._arrayInstanceType(data);
      return new A.MappedIterable(new A.WhereIterable(data, new A.PointerEventConverter_expand_closure(), t1._eval$1("WhereIterable<1>")), new A.PointerEventConverter_expand_closure0(devicePixelRatio), t1._eval$1("MappedIterable<1,PointerEvent>"));
    },
    PointerEventConverter_expand_closure: function PointerEventConverter_expand_closure() {
    },
    PointerEventConverter_expand_closure0: function PointerEventConverter_expand_closure0(t0) {
      this.devicePixelRatio = t0;
    },
    DragDownDetails: function DragDownDetails(t0) {
      this.globalPosition = t0;
    },
    DragStartDetails: function DragStartDetails(t0, t1, t2) {
      this.sourceTimeStamp = t0;
      this.globalPosition = t1;
      this.kind = t2;
    },
    DragUpdateDetails: function DragUpdateDetails(t0, t1, t2, t3) {
      var _ = this;
      _.sourceTimeStamp = t0;
      _.delta = t1;
      _.primaryDelta = t2;
      _.globalPosition = t3;
    },
    DragEndDetails: function DragEndDetails(t0, t1) {
      this.velocity = t0;
      this.primaryVelocity = t1;
    },
    PointerEvent_transformPosition(transform, position) {
      var position3, t1;
      if (transform == null)
        return position;
      position3 = new A.Vector3(new Float64Array(3));
      position3.setValues$3(position._dx, position._dy, 0);
      t1 = transform.perspectiveTransform$1(position3)._v3storage;
      return new A.Offset(t1[0], t1[1]);
    },
    PointerEvent_transformDeltaViaPositions(transform, transformedEndPosition, untransformedDelta, untransformedEndPosition) {
      if (transform == null)
        return untransformedDelta;
      if (transformedEndPosition == null)
        transformedEndPosition = A.PointerEvent_transformPosition(transform, untransformedEndPosition);
      return transformedEndPosition.$sub(0, A.PointerEvent_transformPosition(transform, untransformedEndPosition.$sub(0, untransformedDelta)));
    },
    PointerEvent_removePerspectiveTransform(transform) {
      var t2, t3,
        t1 = new Float64Array(4),
        vector = new A.Vector4(t1);
      vector.setValues$4(0, 0, 1, 0);
      t2 = new Float64Array(16);
      t3 = new A.Matrix4(t2);
      t3.setFrom$1(transform);
      t2[11] = t1[3];
      t2[10] = t1[2];
      t2[9] = t1[1];
      t2[8] = t1[0];
      t3.setRow$2(2, vector);
      return t3;
    },
    PointerAddedEvent$(device, distance, distanceMax, embedderId, kind, obscured, orientation, position, pressureMax, pressureMin, radiusMax, radiusMin, tilt, timeStamp) {
      return new A.PointerAddedEvent(embedderId, timeStamp, 0, kind, device, position, B.Offset_0_0, 0, false, false, 0, pressureMin, pressureMax, distance, distanceMax, 0, 0, 0, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    PointerRemovedEvent$(device, distanceMax, embedderId, kind, obscured, position, pressureMax, pressureMin, radiusMax, radiusMin, timeStamp) {
      return new A.PointerRemovedEvent(embedderId, timeStamp, 0, kind, device, position, B.Offset_0_0, 0, false, false, 0, pressureMin, pressureMax, 0, distanceMax, 0, 0, 0, radiusMin, radiusMax, 0, 0, 0, false, null, null);
    },
    PointerHoverEvent$(buttons, delta, device, distance, distanceMax, embedderId, kind, obscured, orientation, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new A.PointerHoverEvent(embedderId, timeStamp, 0, kind, device, position, delta, buttons, false, false, 0, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, synthesized, null, null);
    },
    PointerEnterEvent$(buttons, delta, device, distance, distanceMax, down, embedderId, kind, obscured, orientation, pointer, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new A.PointerEnterEvent(embedderId, timeStamp, pointer, kind, device, position, delta, buttons, down, false, 0, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, synthesized, null, null);
    },
    PointerExitEvent$(buttons, delta, device, distance, distanceMax, down, embedderId, kind, obscured, orientation, pointer, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new A.PointerExitEvent(embedderId, timeStamp, pointer, kind, device, position, delta, buttons, down, false, 0, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, synthesized, null, null);
    },
    PointerDownEvent$(buttons, device, distanceMax, embedderId, kind, obscured, orientation, pointer, position, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, tilt, timeStamp) {
      return new A.PointerDownEvent(embedderId, timeStamp, pointer, kind, device, position, B.Offset_0_0, buttons, true, false, pressure, pressureMin, pressureMax, 0, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    PointerMoveEvent$(buttons, delta, device, distanceMax, embedderId, kind, obscured, orientation, platformData, pointer, position, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, synthesized, tilt, timeStamp) {
      return new A.PointerMoveEvent(embedderId, timeStamp, pointer, kind, device, position, delta, buttons, true, false, pressure, pressureMin, pressureMax, 0, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, platformData, synthesized, null, null);
    },
    PointerUpEvent$(buttons, device, distance, distanceMax, embedderId, kind, obscured, orientation, pointer, position, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, tilt, timeStamp) {
      return new A.PointerUpEvent(embedderId, timeStamp, pointer, kind, device, position, B.Offset_0_0, buttons, false, false, pressure, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    PointerScrollEvent$(device, embedderId, kind, position, scrollDelta, timeStamp) {
      return new A.PointerScrollEvent(scrollDelta, embedderId, timeStamp, 0, kind, device, position, B.Offset_0_0, 0, false, false, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, false, null, null);
    },
    PointerPanZoomStartEvent$(device, embedderId, kind, pointer, position, synthesized, timeStamp) {
      return new A.PointerPanZoomStartEvent(embedderId, timeStamp, pointer, kind, device, position, B.Offset_0_0, 0, false, false, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, synthesized, null, null);
    },
    PointerPanZoomUpdateEvent$(device, embedderId, kind, pan, panDelta, pointer, position, rotation, scale, synthesized, timeStamp) {
      return new A.PointerPanZoomUpdateEvent(pan, panDelta, scale, rotation, embedderId, timeStamp, pointer, kind, device, position, B.Offset_0_0, 0, false, false, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, synthesized, null, null);
    },
    PointerPanZoomEndEvent$(device, embedderId, kind, pointer, position, synthesized, timeStamp) {
      return new A.PointerPanZoomEndEvent(embedderId, timeStamp, pointer, kind, device, position, B.Offset_0_0, 0, false, false, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, synthesized, null, null);
    },
    PointerCancelEvent$(buttons, device, distance, distanceMax, embedderId, kind, obscured, orientation, pointer, position, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, size, tilt, timeStamp) {
      return new A.PointerCancelEvent(embedderId, timeStamp, pointer, kind, device, position, B.Offset_0_0, buttons, false, false, 0, pressureMin, pressureMax, distance, distanceMax, size, radiusMajor, radiusMinor, radiusMin, radiusMax, orientation, tilt, 0, false, null, null);
    },
    computeHitSlop(kind, settings) {
      var t1;
      switch (kind.index) {
        case 1:
          return 1;
        case 2:
        case 3:
        case 5:
        case 0:
        case 4:
          t1 = settings == null ? null : settings.touchSlop;
          return t1 == null ? 18 : t1;
      }
    },
    computePanSlop(kind, settings) {
      var t1;
      switch (kind.index) {
        case 1:
          return 2;
        case 2:
        case 3:
        case 5:
        case 0:
        case 4:
          if (settings == null)
            t1 = null;
          else {
            t1 = settings.touchSlop;
            t1 = t1 != null ? t1 * 2 : null;
          }
          return t1 == null ? 36 : t1;
      }
    },
    PointerEvent: function PointerEvent() {
    },
    _PointerEventDescription: function _PointerEventDescription() {
    },
    _AbstractPointerEvent: function _AbstractPointerEvent() {
    },
    _TransformedPointerEvent: function _TransformedPointerEvent() {
    },
    _CopyPointerAddedEvent: function _CopyPointerAddedEvent() {
    },
    PointerAddedEvent: function PointerAddedEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerAddedEvent: function _TransformedPointerAddedEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerRemovedEvent: function _CopyPointerRemovedEvent() {
    },
    PointerRemovedEvent: function PointerRemovedEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerRemovedEvent: function _TransformedPointerRemovedEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerHoverEvent: function _CopyPointerHoverEvent() {
    },
    PointerHoverEvent: function PointerHoverEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerHoverEvent: function _TransformedPointerHoverEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerEnterEvent: function _CopyPointerEnterEvent() {
    },
    PointerEnterEvent: function PointerEnterEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerEnterEvent: function _TransformedPointerEnterEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerExitEvent: function _CopyPointerExitEvent() {
    },
    PointerExitEvent: function PointerExitEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerExitEvent: function _TransformedPointerExitEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerDownEvent: function _CopyPointerDownEvent() {
    },
    PointerDownEvent: function PointerDownEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerDownEvent: function _TransformedPointerDownEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerMoveEvent: function _CopyPointerMoveEvent() {
    },
    PointerMoveEvent: function PointerMoveEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerMoveEvent: function _TransformedPointerMoveEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerUpEvent: function _CopyPointerUpEvent() {
    },
    PointerUpEvent: function PointerUpEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerUpEvent: function _TransformedPointerUpEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    PointerSignalEvent: function PointerSignalEvent() {
    },
    _CopyPointerScrollEvent: function _CopyPointerScrollEvent() {
    },
    PointerScrollEvent: function PointerScrollEvent(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) {
      var _ = this;
      _.scrollDelta = t0;
      _.embedderId = t1;
      _.timeStamp = t2;
      _.pointer = t3;
      _.kind = t4;
      _.device = t5;
      _.position = t6;
      _.delta = t7;
      _.buttons = t8;
      _.down = t9;
      _.obscured = t10;
      _.pressure = t11;
      _.pressureMin = t12;
      _.pressureMax = t13;
      _.distance = t14;
      _.distanceMax = t15;
      _.size = t16;
      _.radiusMajor = t17;
      _.radiusMinor = t18;
      _.radiusMin = t19;
      _.radiusMax = t20;
      _.orientation = t21;
      _.tilt = t22;
      _.platformData = t23;
      _.synthesized = t24;
      _.transform = t25;
      _.original = t26;
    },
    _TransformedPointerScrollEvent: function _TransformedPointerScrollEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerPanZoomStartEvent: function _CopyPointerPanZoomStartEvent() {
    },
    PointerPanZoomStartEvent: function PointerPanZoomStartEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerPanZoomStartEvent: function _TransformedPointerPanZoomStartEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerPanZoomUpdateEvent: function _CopyPointerPanZoomUpdateEvent() {
    },
    PointerPanZoomUpdateEvent: function PointerPanZoomUpdateEvent(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) {
      var _ = this;
      _.pan = t0;
      _.panDelta = t1;
      _.scale = t2;
      _.rotation = t3;
      _.embedderId = t4;
      _.timeStamp = t5;
      _.pointer = t6;
      _.kind = t7;
      _.device = t8;
      _.position = t9;
      _.delta = t10;
      _.buttons = t11;
      _.down = t12;
      _.obscured = t13;
      _.pressure = t14;
      _.pressureMin = t15;
      _.pressureMax = t16;
      _.distance = t17;
      _.distanceMax = t18;
      _.size = t19;
      _.radiusMajor = t20;
      _.radiusMinor = t21;
      _.radiusMin = t22;
      _.radiusMax = t23;
      _.orientation = t24;
      _.tilt = t25;
      _.platformData = t26;
      _.synthesized = t27;
      _.transform = t28;
      _.original = t29;
    },
    _TransformedPointerPanZoomUpdateEvent: function _TransformedPointerPanZoomUpdateEvent(t0, t1) {
      var _ = this;
      _.___TransformedPointerPanZoomUpdateEvent_localPanDelta = _.___TransformedPointerPanZoomUpdateEvent_localPan = $;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerPanZoomEndEvent: function _CopyPointerPanZoomEndEvent() {
    },
    PointerPanZoomEndEvent: function PointerPanZoomEndEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerPanZoomEndEvent: function _TransformedPointerPanZoomEndEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _CopyPointerCancelEvent: function _CopyPointerCancelEvent() {
    },
    PointerCancelEvent: function PointerCancelEvent(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) {
      var _ = this;
      _.embedderId = t0;
      _.timeStamp = t1;
      _.pointer = t2;
      _.kind = t3;
      _.device = t4;
      _.position = t5;
      _.delta = t6;
      _.buttons = t7;
      _.down = t8;
      _.obscured = t9;
      _.pressure = t10;
      _.pressureMin = t11;
      _.pressureMax = t12;
      _.distance = t13;
      _.distanceMax = t14;
      _.size = t15;
      _.radiusMajor = t16;
      _.radiusMinor = t17;
      _.radiusMin = t18;
      _.radiusMax = t19;
      _.orientation = t20;
      _.tilt = t21;
      _.platformData = t22;
      _.synthesized = t23;
      _.transform = t24;
      _.original = t25;
    },
    _TransformedPointerCancelEvent: function _TransformedPointerCancelEvent(t0, t1) {
      var _ = this;
      _.original = t0;
      _.transform = t1;
      _.___TransformedPointerEvent_localDelta = _.___TransformedPointerEvent_localPosition = $;
    },
    _PointerAddedEvent_PointerEvent__PointerEventDescription: function _PointerAddedEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent: function _PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent() {
    },
    _PointerCancelEvent_PointerEvent__PointerEventDescription: function _PointerCancelEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent: function _PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent() {
    },
    _PointerDownEvent_PointerEvent__PointerEventDescription: function _PointerDownEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent: function _PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent() {
    },
    _PointerEnterEvent_PointerEvent__PointerEventDescription: function _PointerEnterEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent: function _PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent() {
    },
    _PointerEvent_Object_Diagnosticable: function _PointerEvent_Object_Diagnosticable() {
    },
    _PointerExitEvent_PointerEvent__PointerEventDescription: function _PointerExitEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent: function _PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent() {
    },
    _PointerHoverEvent_PointerEvent__PointerEventDescription: function _PointerHoverEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent: function _PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent() {
    },
    _PointerMoveEvent_PointerEvent__PointerEventDescription: function _PointerMoveEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent: function _PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent() {
    },
    _PointerPanZoomEndEvent_PointerEvent__PointerEventDescription: function _PointerPanZoomEndEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerPanZoomEndEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomEndEvent: function _PointerPanZoomEndEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomEndEvent() {
    },
    _PointerPanZoomStartEvent_PointerEvent__PointerEventDescription: function _PointerPanZoomStartEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerPanZoomStartEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomStartEvent: function _PointerPanZoomStartEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomStartEvent() {
    },
    _PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription: function _PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomUpdateEvent: function _PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomUpdateEvent() {
    },
    _PointerRemovedEvent_PointerEvent__PointerEventDescription: function _PointerRemovedEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent: function _PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent() {
    },
    _PointerScrollEvent_PointerSignalEvent__PointerEventDescription: function _PointerScrollEvent_PointerSignalEvent__PointerEventDescription() {
    },
    _PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent: function _PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent() {
    },
    _PointerUpEvent_PointerEvent__PointerEventDescription: function _PointerUpEvent_PointerEvent__PointerEventDescription() {
    },
    _PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent: function _PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent() {
    },
    __TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent: function __TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent() {
    },
    __TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent: function __TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent() {
    },
    __TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent: function __TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent() {
    },
    __TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent: function __TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent() {
    },
    __TransformedPointerEvent__AbstractPointerEvent_Diagnosticable: function __TransformedPointerEvent__AbstractPointerEvent_Diagnosticable() {
    },
    __TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription: function __TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription() {
    },
    __TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent: function __TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent() {
    },
    __TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent: function __TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent() {
    },
    __TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent: function __TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent() {
    },
    __TransformedPointerPanZoomEndEvent__TransformedPointerEvent__CopyPointerPanZoomEndEvent: function __TransformedPointerPanZoomEndEvent__TransformedPointerEvent__CopyPointerPanZoomEndEvent() {
    },
    __TransformedPointerPanZoomStartEvent__TransformedPointerEvent__CopyPointerPanZoomStartEvent: function __TransformedPointerPanZoomStartEvent__TransformedPointerEvent__CopyPointerPanZoomStartEvent() {
    },
    __TransformedPointerPanZoomUpdateEvent__TransformedPointerEvent__CopyPointerPanZoomUpdateEvent: function __TransformedPointerPanZoomUpdateEvent__TransformedPointerEvent__CopyPointerPanZoomUpdateEvent() {
    },
    __TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent: function __TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent() {
    },
    __TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent: function __TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent() {
    },
    __TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent: function __TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent() {
    },
    ForcePressGestureRecognizer$(debugOwner) {
      var t1 = type$.int,
        t2 = A.HashSet_HashSet(t1);
      return new A.ForcePressGestureRecognizer(B._ForceState_0, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, null, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    ForcePressGestureRecognizer__inverseLerp(min, max, t) {
      var value = (t - min) / (max - min);
      return !isNaN(value) ? A.clampDouble(value, 0, 1) : value;
    },
    _ForceState: function _ForceState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ForcePressDetails: function ForcePressDetails(t0) {
      this.globalPosition = t0;
    },
    ForcePressGestureRecognizer: function ForcePressGestureRecognizer(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.onEnd = _.onPeak = _.onUpdate = _.onStart = null;
      _.__ForcePressGestureRecognizer__lastPressure = _.__ForcePressGestureRecognizer__lastPosition = $;
      _._force_press$_state = t0;
      _._recognizer$_entries = t1;
      _._trackedPointers = t2;
      _.debugOwner = t3;
      _.gestureSettings = null;
      _._supportedDevices = t4;
      _._pointerToKind = t5;
    },
    ForcePressGestureRecognizer_handleEvent_closure: function ForcePressGestureRecognizer_handleEvent_closure(t0, t1) {
      this.$this = t0;
      this.pressure = t1;
    },
    ForcePressGestureRecognizer_acceptGesture_closure: function ForcePressGestureRecognizer_acceptGesture_closure(t0) {
      this.$this = t0;
    },
    ForcePressGestureRecognizer_didStopTrackingLastPointer_closure: function ForcePressGestureRecognizer_didStopTrackingLastPointer_closure(t0) {
      this.$this = t0;
    },
    DeviceGestureSettings: function DeviceGestureSettings(t0) {
      this.touchSlop = t0;
    },
    HitTestResult$() {
      var t1 = A._setArrayType([], type$.JSArray_HitTestEntry_HitTestTarget),
        t2 = new A.Matrix4(new Float64Array(16));
      t2.setIdentity$0();
      return new A.HitTestResult(t1, A._setArrayType([t2], type$.JSArray_Matrix4_2), A._setArrayType([], type$.JSArray__TransformPart));
    },
    HitTestEntry: function HitTestEntry(t0, t1) {
      this.target = t0;
      this._transform = null;
      this.$ti = t1;
    },
    _TransformPart: function _TransformPart() {
    },
    _MatrixTransformPart: function _MatrixTransformPart(t0) {
      this.matrix = t0;
    },
    _OffsetTransformPart: function _OffsetTransformPart(t0) {
      this.offset = t0;
    },
    HitTestResult: function HitTestResult(t0, t1, t2) {
      this._path = t0;
      this._transforms = t1;
      this._localTransforms = t2;
    },
    LongPressGestureRecognizer$(debugOwner, duration, kind) {
      var t1 = duration == null ? B.Duration_500000 : duration,
        t2 = type$.int,
        t3 = A.HashSet_HashSet(t2),
        t4 = type$.PointerDeviceKind,
        t5 = kind == null ? null : A.LinkedHashSet_LinkedHashSet$_literal([kind], t4);
      return new A.LongPressGestureRecognizer(t1, null, B.GestureRecognizerState_0, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.GestureArenaEntry), t3, debugOwner, t5, A.LinkedHashMap_LinkedHashMap$_empty(t2, t4));
    },
    LongPressStartDetails: function LongPressStartDetails(t0, t1) {
      this.globalPosition = t0;
      this.localPosition = t1;
    },
    LongPressMoveUpdateDetails: function LongPressMoveUpdateDetails(t0, t1, t2) {
      this.globalPosition = t0;
      this.localPosition = t1;
      this.offsetFromOrigin = t2;
    },
    LongPressEndDetails: function LongPressEndDetails(t0, t1) {
      this.localPosition = t0;
      this.velocity = t1;
    },
    LongPressGestureRecognizer: function LongPressGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._longPressAccepted = false;
      _._velocityTracker = _.onTertiaryLongPressEnd = _.onTertiaryLongPressUp = _.onTertiaryLongPressMoveUpdate = _.onTertiaryLongPressStart = _.onTertiaryLongPress = _.onTertiaryLongPressCancel = _.onTertiaryLongPressDown = _.onSecondaryLongPressEnd = _.onSecondaryLongPressUp = _.onSecondaryLongPressMoveUpdate = _.onSecondaryLongPressStart = _.onSecondaryLongPress = _.onSecondaryLongPressCancel = _.onSecondaryLongPressDown = _.onLongPressEnd = _.onLongPressUp = _.onLongPressMoveUpdate = _.onLongPressStart = _.onLongPress = _.onLongPressCancel = _.onLongPressDown = _._long_press$_initialButtons = _._longPressOrigin = null;
      _.deadline = t0;
      _.postAcceptSlopTolerance = t1;
      _._recognizer$_state = t2;
      _._initialPosition = _._primaryPointer = null;
      _._gestureAccepted = false;
      _._recognizer$_timer = null;
      _._recognizer$_entries = t3;
      _._trackedPointers = t4;
      _.debugOwner = t5;
      _.gestureSettings = null;
      _._supportedDevices = t6;
      _._pointerToKind = t7;
    },
    LongPressGestureRecognizer__checkLongPressStart_closure: function LongPressGestureRecognizer__checkLongPressStart_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    LongPressGestureRecognizer__checkLongPressMoveUpdate_closure: function LongPressGestureRecognizer__checkLongPressMoveUpdate_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    LongPressGestureRecognizer__checkLongPressEnd_closure: function LongPressGestureRecognizer__checkLongPressEnd_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    _Vector: function _Vector(t0, t1, t2) {
      this._lsq_solver$_offset = t0;
      this._lsq_solver$_length = t1;
      this._lsq_solver$_elements = t2;
    },
    _Matrix: function _Matrix(t0, t1) {
      this._lsq_solver$_columns = t0;
      this._lsq_solver$_elements = t1;
    },
    PolynomialFit: function PolynomialFit(t0) {
      this.coefficients = t0;
      this.__PolynomialFit_confidence = $;
    },
    LeastSquaresSolver: function LeastSquaresSolver(t0, t1, t2) {
      this.x = t0;
      this.y = t1;
      this.w = t2;
    },
    DragGestureRecognizer__defaultBuilder($event) {
      return new A.VelocityTracker($event.get$kind($event), A.List_List$filled(20, null, false, type$.nullable__PointAtTime));
    },
    VerticalDragGestureRecognizer$(debugOwner, supportedDevices) {
      var t1 = type$.int,
        t2 = A.HashSet_HashSet(t1);
      return new A.VerticalDragGestureRecognizer(B.DragStartBehavior_1, A.monodrag_DragGestureRecognizer__defaultBuilder$closure(), B._DragState_0, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VelocityTracker), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, supportedDevices, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    HorizontalDragGestureRecognizer$(debugOwner, supportedDevices) {
      var t1 = type$.int,
        t2 = A.HashSet_HashSet(t1);
      return new A.HorizontalDragGestureRecognizer(B.DragStartBehavior_1, A.monodrag_DragGestureRecognizer__defaultBuilder$closure(), B._DragState_0, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VelocityTracker), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, supportedDevices, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    PanGestureRecognizer$(debugOwner, supportedDevices) {
      var t1 = type$.int,
        t2 = A.HashSet_HashSet(t1);
      return new A.PanGestureRecognizer(B.DragStartBehavior_1, A.monodrag_DragGestureRecognizer__defaultBuilder$closure(), B._DragState_0, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.VelocityTracker), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, supportedDevices, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    _DragState: function _DragState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    DragGestureRecognizer: function DragGestureRecognizer() {
    },
    DragGestureRecognizer__checkDown_closure: function DragGestureRecognizer__checkDown_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    DragGestureRecognizer__checkStart_closure: function DragGestureRecognizer__checkStart_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    DragGestureRecognizer__checkUpdate_closure: function DragGestureRecognizer__checkUpdate_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    DragGestureRecognizer__checkEnd_closure: function DragGestureRecognizer__checkEnd_closure(t0, t1) {
      this.estimate = t0;
      this.velocity = t1;
    },
    DragGestureRecognizer__checkEnd_closure0: function DragGestureRecognizer__checkEnd_closure0(t0) {
      this.estimate = t0;
    },
    DragGestureRecognizer__checkEnd_closure1: function DragGestureRecognizer__checkEnd_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    VerticalDragGestureRecognizer: function VerticalDragGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.dragStartBehavior = t0;
      _.maxFlingVelocity = _.minFlingVelocity = _.minFlingDistance = _.onCancel = _.onEnd = _.onUpdate = _.onStart = _.onDown = null;
      _.velocityTrackerBuilder = t1;
      _._monodrag$_state = t2;
      _.__DragGestureRecognizer__pendingDragOffset = _.__DragGestureRecognizer__initialPosition = $;
      _._lastTransform = _._initialButtons = _._lastPendingEventTimestamp = null;
      _.__DragGestureRecognizer__globalDistanceMoved = $;
      _._velocityTrackers = t3;
      _._acceptedActivePointers = t4;
      _._recognizer$_entries = t5;
      _._trackedPointers = t6;
      _.debugOwner = t7;
      _.gestureSettings = null;
      _._supportedDevices = t8;
      _._pointerToKind = t9;
    },
    HorizontalDragGestureRecognizer: function HorizontalDragGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.dragStartBehavior = t0;
      _.maxFlingVelocity = _.minFlingVelocity = _.minFlingDistance = _.onCancel = _.onEnd = _.onUpdate = _.onStart = _.onDown = null;
      _.velocityTrackerBuilder = t1;
      _._monodrag$_state = t2;
      _.__DragGestureRecognizer__pendingDragOffset = _.__DragGestureRecognizer__initialPosition = $;
      _._lastTransform = _._initialButtons = _._lastPendingEventTimestamp = null;
      _.__DragGestureRecognizer__globalDistanceMoved = $;
      _._velocityTrackers = t3;
      _._acceptedActivePointers = t4;
      _._recognizer$_entries = t5;
      _._trackedPointers = t6;
      _.debugOwner = t7;
      _.gestureSettings = null;
      _._supportedDevices = t8;
      _._pointerToKind = t9;
    },
    PanGestureRecognizer: function PanGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.dragStartBehavior = t0;
      _.maxFlingVelocity = _.minFlingVelocity = _.minFlingDistance = _.onCancel = _.onEnd = _.onUpdate = _.onStart = _.onDown = null;
      _.velocityTrackerBuilder = t1;
      _._monodrag$_state = t2;
      _.__DragGestureRecognizer__pendingDragOffset = _.__DragGestureRecognizer__initialPosition = $;
      _._lastTransform = _._initialButtons = _._lastPendingEventTimestamp = null;
      _.__DragGestureRecognizer__globalDistanceMoved = $;
      _._velocityTrackers = t3;
      _._acceptedActivePointers = t4;
      _._recognizer$_entries = t5;
      _._trackedPointers = t6;
      _.debugOwner = t7;
      _.gestureSettings = null;
      _._supportedDevices = t8;
      _._pointerToKind = t9;
    },
    _CountdownZoned: function _CountdownZoned() {
      this._timeout = false;
    },
    _TapTracker: function _TapTracker(t0, t1, t2, t3, t4) {
      var _ = this;
      _.pointer = t0;
      _.entry = t1;
      _._initialGlobalPosition = t2;
      _.initialButtons = t3;
      _._doubleTapMinTimeCountdown = t4;
      _._isTrackingPointer = false;
    },
    DoubleTapGestureRecognizer: function DoubleTapGestureRecognizer(t0, t1, t2, t3) {
      var _ = this;
      _._firstTap = _._doubleTapTimer = _.onDoubleTapCancel = _.onDoubleTap = _.onDoubleTapDown = null;
      _._trackers = t0;
      _.debugOwner = t1;
      _.gestureSettings = null;
      _._supportedDevices = t2;
      _._pointerToKind = t3;
    },
    PointerRouter: function PointerRouter(t0, t1) {
      this._routeMap = t0;
      this._globalRoutes = t1;
    },
    PointerRouter_addRoute_closure: function PointerRouter_addRoute_closure() {
    },
    PointerRouter__dispatchEventToRoutes_closure: function PointerRouter__dispatchEventToRoutes_closure(t0, t1, t2) {
      this.$this = t0;
      this.referenceRoutes = t1;
      this.event = t2;
    },
    PointerSignalResolver: function PointerSignalResolver() {
      this._currentEvent = this._firstRegisteredCallback = null;
    },
    DragStartBehavior: function DragStartBehavior(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    GestureRecognizer: function GestureRecognizer() {
    },
    OneSequenceGestureRecognizer: function OneSequenceGestureRecognizer() {
    },
    GestureRecognizerState: function GestureRecognizerState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PrimaryPointerGestureRecognizer: function PrimaryPointerGestureRecognizer() {
    },
    PrimaryPointerGestureRecognizer_addAllowedPointer_closure: function PrimaryPointerGestureRecognizer_addAllowedPointer_closure(t0, t1) {
      this.$this = t0;
      this.event = t1;
    },
    OffsetPair: function OffsetPair(t0, t1) {
      this.local = t0;
      this.global = t1;
    },
    _GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin: function _GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin() {
    },
    TapGestureRecognizer$(debugOwner) {
      var t1 = type$.int,
        t2 = A.HashSet_HashSet(t1);
      return new A.TapGestureRecognizer(B.Duration_100000, 18, B.GestureRecognizerState_0, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, debugOwner, null, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    TapDownDetails: function TapDownDetails(t0, t1, t2) {
      this.globalPosition = t0;
      this.kind = t1;
      this.localPosition = t2;
    },
    TapUpDetails: function TapUpDetails(t0, t1) {
      this.globalPosition = t0;
      this.kind = t1;
    },
    BaseTapGestureRecognizer: function BaseTapGestureRecognizer() {
    },
    TapGestureRecognizer: function TapGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onTertiaryTapCancel = _.onTertiaryTapUp = _.onTertiaryTapDown = _.onSecondaryTapCancel = _.onSecondaryTapUp = _.onSecondaryTapDown = _.onSecondaryTap = _.onTapCancel = _.onTap = _.onTapUp = _.onTapDown = null;
      _._wonArenaForPrimaryPointer = _._sentTapDown = false;
      _._up = _._down = null;
      _.deadline = t0;
      _.postAcceptSlopTolerance = t1;
      _._recognizer$_state = t2;
      _._initialPosition = _._primaryPointer = null;
      _._gestureAccepted = false;
      _._recognizer$_timer = null;
      _._recognizer$_entries = t3;
      _._trackedPointers = t4;
      _.debugOwner = t5;
      _.gestureSettings = null;
      _._supportedDevices = t6;
      _._pointerToKind = t7;
    },
    TapGestureRecognizer_handleTapDown_closure: function TapGestureRecognizer_handleTapDown_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    TapGestureRecognizer_handleTapDown_closure0: function TapGestureRecognizer_handleTapDown_closure0(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    TapGestureRecognizer_handleTapUp_closure: function TapGestureRecognizer_handleTapUp_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    TapGestureRecognizer_handleTapUp_closure0: function TapGestureRecognizer_handleTapUp_closure0(t0) {
      this.$this = t0;
    },
    Velocity: function Velocity(t0) {
      this.pixelsPerSecond = t0;
    },
    VelocityEstimate: function VelocityEstimate(t0, t1, t2, t3) {
      var _ = this;
      _.pixelsPerSecond = t0;
      _.confidence = t1;
      _.duration = t2;
      _.offset = t3;
    },
    _PointAtTime: function _PointAtTime(t0, t1) {
      this.time = t0;
      this.point = t1;
    },
    VelocityTracker: function VelocityTracker(t0, t1) {
      this.kind = t0;
      this._samples = t1;
      this._velocity_tracker$_index = 0;
    },
    IOSScrollViewFlingVelocityTracker: function IOSScrollViewFlingVelocityTracker(t0, t1, t2) {
      var _ = this;
      _._touchSamples = t0;
      _.kind = t1;
      _._samples = t2;
      _._velocity_tracker$_index = 0;
    },
    MaterialApp_createMaterialHeroController() {
      return new A.HeroController(new A.MaterialApp_createMaterialHeroController_closure(), A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$._HeroFlight));
    },
    ThemeMode: function ThemeMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MaterialApp: function MaterialApp(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.routeInformationParser = t0;
      _.routerDelegate = t1;
      _.builder = t2;
      _.theme = t3;
      _.debugShowCheckedModeBanner = t4;
      _.scrollBehavior = t5;
      _.key = t6;
    },
    MaterialApp_createMaterialHeroController_closure: function MaterialApp_createMaterialHeroController_closure() {
    },
    MaterialScrollBehavior: function MaterialScrollBehavior() {
    },
    _MaterialAppState: function _MaterialAppState(t0) {
      var _ = this;
      _.___MaterialAppState__heroController = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _MaterialAppState__materialBuilder_closure: function _MaterialAppState__materialBuilder_closure(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    _MaterialAppState_build_closure: function _MaterialAppState_build_closure() {
    },
    AppBar_preferredHeightFor(context, preferredSize) {
      return preferredSize._dy;
    },
    _ToolbarContainerLayout: function _ToolbarContainerLayout(t0) {
      this.toolbarHeight = t0;
    },
    _PreferredAppBarSize: function _PreferredAppBarSize(t0, t1, t2, t3) {
      var _ = this;
      _.toolbarHeight = t0;
      _.bottomHeight = t1;
      _._dx = t2;
      _._dy = t3;
    },
    AppBar: function AppBar(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.automaticallyImplyLeading = t0;
      _.title = t1;
      _.actions = t2;
      _.flexibleSpace = t3;
      _.centerTitle = t4;
      _.preferredSize = t5;
      _.toolbarHeight = t6;
      _.key = t7;
    },
    _AppBarState: function _AppBarState(t0) {
      var _ = this;
      _._scrollNotificationObserver = null;
      _._scrolledUnder = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _AppBarState__handleScrollNotification_closure: function _AppBarState__handleScrollNotification_closure() {
    },
    _AppBarTitleBox: function _AppBarTitleBox(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _RenderAppBarTitleBox: function _RenderAppBarTitleBox(t0, t1, t2, t3) {
      var _ = this;
      _._shifted_box$_resolvedAlignment = null;
      _._shifted_box$_alignment = t0;
      _._shifted_box$_textDirection = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _DefaultsM21: function _DefaultsM21(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) {
      var _ = this;
      _.context = t0;
      _.___DefaultsM2__colors = _.___DefaultsM2__theme = $;
      _.brightness = t1;
      _.backgroundColor = t2;
      _.foregroundColor = t3;
      _.elevation = t4;
      _.scrolledUnderElevation = t5;
      _.shadowColor = t6;
      _.surfaceTintColor = t7;
      _.shape = t8;
      _.iconTheme = t9;
      _.actionsIconTheme = t10;
      _.textTheme = t11;
      _.centerTitle = t12;
      _.titleSpacing = t13;
      _.toolbarHeight = t14;
      _.toolbarTextStyle = t15;
      _.titleTextStyle = t16;
      _.systemOverlayStyle = t17;
      _.backwardsCompatibility = t18;
    },
    AppBarTheme$(actionsIconTheme, backgroundColor, backwardsCompatibility, brightness, centerTitle, elevation, foregroundColor, iconTheme, scrolledUnderElevation, shadowColor, shape, surfaceTintColor, systemOverlayStyle, textTheme, titleSpacing, titleTextStyle, toolbarHeight, toolbarTextStyle) {
      return new A.AppBarTheme(brightness, backgroundColor == null ? null : backgroundColor, foregroundColor, elevation, scrolledUnderElevation, shadowColor, surfaceTintColor, shape, iconTheme, actionsIconTheme, textTheme, centerTitle, titleSpacing, toolbarHeight, toolbarTextStyle, titleTextStyle, systemOverlayStyle, backwardsCompatibility);
    },
    AppBarTheme: function AppBarTheme(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _.brightness = t0;
      _.backgroundColor = t1;
      _.foregroundColor = t2;
      _.elevation = t3;
      _.scrolledUnderElevation = t4;
      _.shadowColor = t5;
      _.surfaceTintColor = t6;
      _.shape = t7;
      _.iconTheme = t8;
      _.actionsIconTheme = t9;
      _.textTheme = t10;
      _.centerTitle = t11;
      _.titleSpacing = t12;
      _.toolbarHeight = t13;
      _.toolbarTextStyle = t14;
      _.titleTextStyle = t15;
      _.systemOverlayStyle = t16;
      _.backwardsCompatibility = t17;
    },
    _AppBarTheme_Object_Diagnosticable: function _AppBarTheme_Object_Diagnosticable() {
    },
    _maxBy(input, keyFunc) {
      var maxKey, _i, value, key,
        maxValue = A._Cell$named("maxValue");
      for (maxKey = null, _i = 0; _i < 4; ++_i) {
        value = input[_i];
        key = keyFunc.call$1(value);
        if (maxKey == null || key > maxKey) {
          maxValue.__late_helper$_value = value;
          maxKey = key;
        }
      }
      return maxValue._readLocal$0();
    },
    MaterialPointArcTween: function MaterialPointArcTween(t0, t1) {
      var _ = this;
      _._arc$_dirty = true;
      _._endAngle = _._beginAngle = _._radius = _._center = null;
      _.begin = t0;
      _.end = t1;
    },
    MaterialPointArcTween__initialize_sweepAngle: function MaterialPointArcTween__initialize_sweepAngle(t0, t1) {
      this.$this = t0;
      this.distanceFromAtoB = t1;
    },
    _CornerId: function _CornerId(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _Diagonal: function _Diagonal(t0, t1) {
      this.beginId = t0;
      this.endId = t1;
    },
    MaterialRectArcTween: function MaterialRectArcTween(t0, t1) {
      var _ = this;
      _._arc$_dirty = true;
      _.__MaterialRectArcTween__endArc = _.__MaterialRectArcTween__beginArc = $;
      _.begin = t0;
      _.end = t1;
    },
    MaterialRectArcTween__initialize_closure: function MaterialRectArcTween__initialize_closure(t0, t1) {
      this.$this = t0;
      this.centersVector = t1;
    },
    MaterialBannerThemeData: function MaterialBannerThemeData(t0, t1, t2, t3, t4) {
      var _ = this;
      _.backgroundColor = t0;
      _.contentTextStyle = t1;
      _.elevation = t2;
      _.padding = t3;
      _.leadingPadding = t4;
    },
    _MaterialBannerThemeData_Object_Diagnosticable: function _MaterialBannerThemeData_Object_Diagnosticable() {
    },
    BottomAppBarTheme: function BottomAppBarTheme(t0, t1, t2) {
      this.color = t0;
      this.elevation = t1;
      this.shape = t2;
    },
    _BottomAppBarTheme_Object_Diagnosticable: function _BottomAppBarTheme_Object_Diagnosticable() {
    },
    BottomNavigationBarThemeData: function BottomNavigationBarThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.selectedIconTheme = t2;
      _.unselectedIconTheme = t3;
      _.selectedItemColor = t4;
      _.unselectedItemColor = t5;
      _.selectedLabelStyle = t6;
      _.unselectedLabelStyle = t7;
      _.showSelectedLabels = t8;
      _.showUnselectedLabels = t9;
      _.type = t10;
      _.enableFeedback = t11;
      _.landscapeLayout = t12;
      _.mouseCursor = t13;
    },
    _BottomNavigationBarThemeData_Object_Diagnosticable: function _BottomNavigationBarThemeData_Object_Diagnosticable() {
    },
    BottomSheetThemeData_lerp(a, b, t) {
      var t6,
        t1 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t2 = A.lerpDouble(a.elevation, b.elevation, t),
        t3 = A.Color_lerp(a.modalBackgroundColor, b.modalBackgroundColor, t),
        t4 = A.lerpDouble(a.modalElevation, b.modalElevation, t),
        t5 = A.ShapeBorder_lerp(a.shape, b.shape, t);
      if (t < 0.5)
        t6 = a.clipBehavior;
      else
        t6 = b.clipBehavior;
      return new A.BottomSheetThemeData(t1, t2, t3, t4, t5, t6, A.BoxConstraints_lerp(a.constraints, b.constraints, t));
    },
    BottomSheetThemeData: function BottomSheetThemeData(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.modalBackgroundColor = t2;
      _.modalElevation = t3;
      _.shape = t4;
      _.clipBehavior = t5;
      _.constraints = t6;
    },
    _BottomSheetThemeData_Object_Diagnosticable: function _BottomSheetThemeData_Object_Diagnosticable() {
    },
    RawMaterialButton$(autofocus, child, clipBehavior, constraints, disabledElevation, elevation, enableFeedback, fillColor, focusColor, focusElevation, focusNode, highlightElevation, hoverColor, hoverElevation, materialTapTargetSize, mouseCursor, onPressed, shape, splashColor, textStyle) {
      return new A.RawMaterialButton(onPressed, mouseCursor, textStyle, fillColor, focusColor, hoverColor, splashColor, elevation, hoverElevation, focusElevation, highlightElevation, disabledElevation, constraints, shape, child, materialTapTargetSize, focusNode, false, clipBehavior, true, null);
    },
    RawMaterialButton: function RawMaterialButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) {
      var _ = this;
      _.onPressed = t0;
      _.mouseCursor = t1;
      _.textStyle = t2;
      _.fillColor = t3;
      _.focusColor = t4;
      _.hoverColor = t5;
      _.splashColor = t6;
      _.elevation = t7;
      _.hoverElevation = t8;
      _.focusElevation = t9;
      _.highlightElevation = t10;
      _.disabledElevation = t11;
      _.constraints = t12;
      _.shape = t13;
      _.child = t14;
      _.materialTapTargetSize = t15;
      _.focusNode = t16;
      _.autofocus = t17;
      _.clipBehavior = t18;
      _.enableFeedback = t19;
      _.key = t20;
    },
    _RawMaterialButtonState: function _RawMaterialButtonState(t0, t1) {
      var _ = this;
      _.MaterialStateMixin_materialStates = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _InputPadding: function _InputPadding(t0, t1, t2) {
      this.minSize = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderInputPadding: function _RenderInputPadding(t0, t1, t2) {
      var _ = this;
      _._minSize = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderInputPadding_hitTest_closure: function _RenderInputPadding_hitTest_closure(t0, t1) {
      this.$this = t0;
      this.center = t1;
    },
    __RawMaterialButtonState_State_MaterialStateMixin: function __RawMaterialButtonState_State_MaterialStateMixin() {
    },
    ButtonBarThemeData_lerp(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9,
        t1 = t < 0.5;
      if (t1)
        t2 = a.alignment;
      else
        t2 = b.alignment;
      if (t1)
        t3 = a.mainAxisSize;
      else
        t3 = b.mainAxisSize;
      if (t1)
        t4 = a.buttonTextTheme;
      else
        t4 = b.buttonTextTheme;
      t5 = A.lerpDouble(a.buttonMinWidth, b.buttonMinWidth, t);
      t6 = A.lerpDouble(a.buttonHeight, b.buttonHeight, t);
      t7 = A.EdgeInsetsGeometry_lerp(a.buttonPadding, b.buttonPadding, t);
      if (t1)
        t8 = a.buttonAlignedDropdown;
      else
        t8 = b.buttonAlignedDropdown;
      if (t1)
        t9 = a.layoutBehavior;
      else
        t9 = b.layoutBehavior;
      if (t1)
        t1 = a.overflowDirection;
      else
        t1 = b.overflowDirection;
      return new A.ButtonBarThemeData(t2, t3, t4, t5, t6, t7, t8, t9, t1);
    },
    ButtonBarThemeData: function ButtonBarThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.alignment = t0;
      _.mainAxisSize = t1;
      _.buttonTextTheme = t2;
      _.buttonMinWidth = t3;
      _.buttonHeight = t4;
      _.buttonPadding = t5;
      _.buttonAlignedDropdown = t6;
      _.layoutBehavior = t7;
      _.overflowDirection = t8;
    },
    _ButtonBarThemeData_Object_Diagnosticable: function _ButtonBarThemeData_Object_Diagnosticable() {
    },
    ButtonStyle$(alignment, animationDuration, backgroundColor, elevation, enableFeedback, fixedSize, foregroundColor, maximumSize, minimumSize, mouseCursor, overlayColor, padding, shadowColor, shape, side, splashFactory, surfaceTintColor, tapTargetSize, textStyle, visualDensity) {
      return new A.ButtonStyle(textStyle, backgroundColor, foregroundColor, overlayColor, shadowColor, surfaceTintColor, elevation, padding, minimumSize, fixedSize, maximumSize, side, shape, mouseCursor, visualDensity, tapTargetSize, animationDuration, enableFeedback, alignment, splashFactory);
    },
    ButtonStyle_lerp(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      t2 = t1 ? _null : a.textStyle;
      t3 = b == null;
      t4 = t3 ? _null : b.textStyle;
      t4 = A.ButtonStyle__lerpProperties(t2, t4, t, A.text_style_TextStyle_lerp$closure(), type$.nullable_TextStyle);
      t2 = t1 ? _null : a.backgroundColor;
      t5 = t3 ? _null : b.backgroundColor;
      t6 = type$.nullable_Color;
      t5 = A.ButtonStyle__lerpProperties(t2, t5, t, A.ui_Color_lerp$closure(), t6);
      t2 = t1 ? _null : a.foregroundColor;
      t2 = A.ButtonStyle__lerpProperties(t2, t3 ? _null : b.foregroundColor, t, A.ui_Color_lerp$closure(), t6);
      t7 = t1 ? _null : a.overlayColor;
      t7 = A.ButtonStyle__lerpProperties(t7, t3 ? _null : b.overlayColor, t, A.ui_Color_lerp$closure(), t6);
      t8 = t1 ? _null : a.shadowColor;
      t8 = A.ButtonStyle__lerpProperties(t8, t3 ? _null : b.shadowColor, t, A.ui_Color_lerp$closure(), t6);
      t9 = t1 ? _null : a.surfaceTintColor;
      t6 = A.ButtonStyle__lerpProperties(t9, t3 ? _null : b.surfaceTintColor, t, A.ui_Color_lerp$closure(), t6);
      t9 = t1 ? _null : a.elevation;
      t10 = t3 ? _null : b.elevation;
      t10 = A.ButtonStyle__lerpProperties(t9, t10, t, A.ui__lerpDouble$closure(), type$.nullable_double);
      t9 = t1 ? _null : a.padding;
      t11 = t3 ? _null : b.padding;
      t11 = A.ButtonStyle__lerpProperties(t9, t11, t, A.edge_insets_EdgeInsetsGeometry_lerp$closure(), type$.nullable_EdgeInsetsGeometry);
      t9 = t1 ? _null : a.minimumSize;
      t12 = t3 ? _null : b.minimumSize;
      t13 = type$.nullable_Size;
      t12 = A.ButtonStyle__lerpProperties(t9, t12, t, A.ui_Size_lerp$closure(), t13);
      t9 = t1 ? _null : a.fixedSize;
      t9 = A.ButtonStyle__lerpProperties(t9, t3 ? _null : b.fixedSize, t, A.ui_Size_lerp$closure(), t13);
      t14 = t1 ? _null : a.maximumSize;
      t13 = A.ButtonStyle__lerpProperties(t14, t3 ? _null : b.maximumSize, t, A.ui_Size_lerp$closure(), t13);
      t14 = t1 ? _null : a.side;
      t14 = A.ButtonStyle__lerpSides(t14, t3 ? _null : b.side, t);
      t15 = t1 ? _null : a.shape;
      t16 = t3 ? _null : b.shape;
      t16 = A.MaterialStateProperty_lerp(t15, t16, t, A.borders_OutlinedBorder_lerp$closure(), type$.nullable_OutlinedBorder);
      t15 = t < 0.5;
      if (t15)
        t17 = t1 ? _null : a.mouseCursor;
      else
        t17 = t3 ? _null : b.mouseCursor;
      if (t15)
        t18 = t1 ? _null : a.visualDensity;
      else
        t18 = t3 ? _null : b.visualDensity;
      if (t15)
        t19 = t1 ? _null : a.tapTargetSize;
      else
        t19 = t3 ? _null : b.tapTargetSize;
      if (t15)
        t20 = t1 ? _null : a.animationDuration;
      else
        t20 = t3 ? _null : b.animationDuration;
      if (t15)
        t21 = t1 ? _null : a.enableFeedback;
      else
        t21 = t3 ? _null : b.enableFeedback;
      t22 = t1 ? _null : a.alignment;
      t22 = A.AlignmentGeometry_lerp(t22, t3 ? _null : b.alignment, t);
      if (t15)
        t1 = t1 ? _null : a.splashFactory;
      else
        t1 = t3 ? _null : b.splashFactory;
      return A.ButtonStyle$(t22, t20, t5, t10, t21, t9, t2, t13, t12, t17, t7, t11, t8, t16, t14, t1, t6, t19, t4, t18);
    },
    ButtonStyle__lerpProperties(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new A._LerpProperties(a, b, t, lerpFunction, $T._eval$1("_LerpProperties<0>"));
    },
    ButtonStyle__lerpSides(a, b, t) {
      if (a == null && b == null)
        return null;
      return new A._LerpSides(a, b, t);
    },
    ButtonStyle: function ButtonStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) {
      var _ = this;
      _.textStyle = t0;
      _.backgroundColor = t1;
      _.foregroundColor = t2;
      _.overlayColor = t3;
      _.shadowColor = t4;
      _.surfaceTintColor = t5;
      _.elevation = t6;
      _.padding = t7;
      _.minimumSize = t8;
      _.fixedSize = t9;
      _.maximumSize = t10;
      _.side = t11;
      _.shape = t12;
      _.mouseCursor = t13;
      _.visualDensity = t14;
      _.tapTargetSize = t15;
      _.animationDuration = t16;
      _.enableFeedback = t17;
      _.alignment = t18;
      _.splashFactory = t19;
    },
    _LerpProperties: function _LerpProperties(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _LerpSides: function _LerpSides(t0, t1, t2) {
      this.a = t0;
      this.b = t1;
      this.t = t2;
    },
    _ButtonStyle_Object_Diagnosticable: function _ButtonStyle_Object_Diagnosticable() {
    },
    ButtonStyleButton_scaledPadding(geometry1x, geometry2x, geometry3x, textScaleFactor) {
      var t1;
      if (textScaleFactor <= 1)
        return geometry1x;
      else if (textScaleFactor >= 3)
        return geometry3x;
      else if (textScaleFactor <= 2) {
        t1 = A.EdgeInsetsGeometry_lerp(geometry1x, geometry2x, textScaleFactor - 1);
        t1.toString;
        return t1;
      }
      t1 = A.EdgeInsetsGeometry_lerp(geometry2x, geometry3x, textScaleFactor - 2);
      t1.toString;
      return t1;
    },
    ButtonStyleButton: function ButtonStyleButton() {
    },
    _ButtonStyleState: function _ButtonStyleState(t0, t1, t2, t3) {
      var _ = this;
      _._backgroundColor = _._button_style_button$_elevation = _._button_style_button$_controller = null;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _.MaterialStateMixin_materialStates = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _ButtonStyleState_build_effectiveValue: function _ButtonStyleState_build_effectiveValue(t0, t1, t2) {
      this.widgetStyle = t0;
      this.themeStyle = t1;
      this.defaultStyle = t2;
    },
    _ButtonStyleState_build_resolve: function _ButtonStyleState_build_resolve(t0, t1) {
      this.$this = t0;
      this.effectiveValue = t1;
    },
    _ButtonStyleState_build_resolve_closure: function _ButtonStyleState_build_resolve_closure(t0, t1, t2) {
      this.$this = t0;
      this.getProperty = t1;
      this.T = t2;
    },
    _ButtonStyleState_build_closure: function _ButtonStyleState_build_closure() {
    },
    _ButtonStyleState_build_closure0: function _ButtonStyleState_build_closure0() {
    },
    _ButtonStyleState_build_closure1: function _ButtonStyleState_build_closure1() {
    },
    _ButtonStyleState_build_closure2: function _ButtonStyleState_build_closure2() {
    },
    _ButtonStyleState_build_closure3: function _ButtonStyleState_build_closure3() {
    },
    _ButtonStyleState_build_closure4: function _ButtonStyleState_build_closure4() {
    },
    _ButtonStyleState_build_closure5: function _ButtonStyleState_build_closure5() {
    },
    _ButtonStyleState_build_closure6: function _ButtonStyleState_build_closure6() {
    },
    _ButtonStyleState_build_closure7: function _ButtonStyleState_build_closure7() {
    },
    _ButtonStyleState_build_closure8: function _ButtonStyleState_build_closure8() {
    },
    _ButtonStyleState_build_closure9: function _ButtonStyleState_build_closure9() {
    },
    _ButtonStyleState_build_closure10: function _ButtonStyleState_build_closure10() {
    },
    _ButtonStyleState_build_closure18: function _ButtonStyleState_build_closure18(t0) {
      this.effectiveValue = t0;
    },
    _ButtonStyleState_build__closure0: function _ButtonStyleState_build__closure0(t0) {
      this.states = t0;
    },
    _ButtonStyleState_build_closure19: function _ButtonStyleState_build_closure19(t0) {
      this.effectiveValue = t0;
    },
    _ButtonStyleState_build__closure: function _ButtonStyleState_build__closure(t0) {
      this.states = t0;
    },
    _ButtonStyleState_build_closure11: function _ButtonStyleState_build_closure11() {
    },
    _ButtonStyleState_build_closure12: function _ButtonStyleState_build_closure12() {
    },
    _ButtonStyleState_build_closure13: function _ButtonStyleState_build_closure13() {
    },
    _ButtonStyleState_build_closure14: function _ButtonStyleState_build_closure14() {
    },
    _ButtonStyleState_build_closure15: function _ButtonStyleState_build_closure15() {
    },
    _ButtonStyleState_build_closure16: function _ButtonStyleState_build_closure16() {
    },
    _ButtonStyleState_build_closure17: function _ButtonStyleState_build_closure17(t0) {
      this.$this = t0;
    },
    _ButtonStyleState_build__closure1: function _ButtonStyleState_build__closure1() {
    },
    _MouseCursor: function _MouseCursor(t0) {
      this.resolveCallback = t0;
    },
    _InputPadding0: function _InputPadding0(t0, t1, t2) {
      this.minSize = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderInputPadding0: function _RenderInputPadding0(t0, t1, t2) {
      var _ = this;
      _._button_style_button$_minSize = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderInputPadding_hitTest_closure0: function _RenderInputPadding_hitTest_closure0(t0, t1) {
      this.$this = t0;
      this.center = t1;
    },
    __ButtonStyleState_State_MaterialStateMixin: function __ButtonStyleState_State_MaterialStateMixin() {
    },
    __ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin: function __ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin() {
    },
    ButtonTheme_of(context) {
      var theme,
        inheritedButtonTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$.ButtonTheme),
        buttonTheme = inheritedButtonTheme == null ? null : inheritedButtonTheme.data,
        t1 = buttonTheme == null;
      if ((t1 ? null : buttonTheme.colorScheme) == null) {
        theme = A.Theme_of(context);
        if (t1)
          buttonTheme = theme.buttonTheme;
        if (buttonTheme.colorScheme == null) {
          t1 = theme.buttonTheme.colorScheme;
          buttonTheme = buttonTheme.copyWith$1$colorScheme(t1 == null ? theme.colorScheme : t1);
        }
      }
      buttonTheme.toString;
      return buttonTheme;
    },
    ButtonThemeData$(alignedDropdown, buttonColor, colorScheme, disabledColor, focusColor, height, highlightColor, hoverColor, layoutBehavior, materialTapTargetSize, minWidth, padding, shape, splashColor, textTheme) {
      return new A.ButtonThemeData(minWidth, height, textTheme, layoutBehavior, padding, shape, false, buttonColor, disabledColor, focusColor, hoverColor, highlightColor, splashColor, colorScheme, materialTapTargetSize);
    },
    ButtonTextTheme: function ButtonTextTheme(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ButtonBarLayoutBehavior: function ButtonBarLayoutBehavior(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ButtonThemeData: function ButtonThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.minWidth = t0;
      _.height = t1;
      _.textTheme = t2;
      _.layoutBehavior = t3;
      _._padding = t4;
      _._shape = t5;
      _.alignedDropdown = t6;
      _._button_theme$_buttonColor = t7;
      _._disabledColor = t8;
      _._focusColor = t9;
      _._hoverColor = t10;
      _._button_theme$_highlightColor = t11;
      _._splashColor = t12;
      _.colorScheme = t13;
      _._materialTapTargetSize = t14;
    },
    _ButtonThemeData_Object_Diagnosticable: function _ButtonThemeData_Object_Diagnosticable() {
    },
    Card$(child, clipBehavior, color, elevation, margin, shape) {
      return new A.Card(color, elevation, shape, clipBehavior, margin, child, null);
    },
    Card: function Card(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.color = t0;
      _.elevation = t1;
      _.shape = t2;
      _.clipBehavior = t3;
      _.margin = t4;
      _.child = t5;
      _.key = t6;
    },
    _DefaultsM2: function _DefaultsM2(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.context = t0;
      _.clipBehavior = t1;
      _.color = t2;
      _.shadowColor = t3;
      _.surfaceTintColor = t4;
      _.elevation = t5;
      _.margin = t6;
      _.shape = t7;
    },
    CardTheme: function CardTheme(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.clipBehavior = t0;
      _.color = t1;
      _.shadowColor = t2;
      _.surfaceTintColor = t3;
      _.elevation = t4;
      _.margin = t5;
      _.shape = t6;
    },
    _CardTheme_Object_Diagnosticable: function _CardTheme_Object_Diagnosticable() {
    },
    Checkbox$(materialTapTargetSize, onChanged, tristate, value) {
      return new A.Checkbox(value, onChanged, tristate, materialTapTargetSize, null);
    },
    Checkbox: function Checkbox(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.tristate = t2;
      _.materialTapTargetSize = t3;
      _.key = t4;
    },
    _CheckboxState: function _CheckboxState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._checkbox$_painter = t0;
      _._previousValue = null;
      _.ToggleableStateMixin___ToggleableStateMixin__positionController = t1;
      _.ToggleableStateMixin___ToggleableStateMixin__position = t2;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionController = t3;
      _.ToggleableStateMixin___ToggleableStateMixin__reaction = t4;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = t5;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = t6;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = t7;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = t8;
      _.ToggleableStateMixin___ToggleableStateMixin__actionMap = t9;
      _.ToggleableStateMixin__downPosition = t10;
      _.ToggleableStateMixin__focused = t11;
      _.ToggleableStateMixin__hovering = t12;
      _.TickerProviderStateMixin__tickers = t13;
      _.TickerProviderStateMixin__tickerModeNotifier = t14;
      _._widget = null;
      _._debugLifecycleState = t15;
      _._framework$_element = null;
    },
    _CheckboxState__widgetFillColor_closure: function _CheckboxState__widgetFillColor_closure(t0) {
      this.$this = t0;
    },
    _CheckboxState__defaultFillColor_closure: function _CheckboxState__defaultFillColor_closure(t0) {
      this.themeData = t0;
    },
    _CheckboxState_build_closure: function _CheckboxState_build_closure(t0, t1) {
      this.$this = t0;
      this.checkboxTheme = t1;
    },
    _CheckboxPainter: function _CheckboxPainter(t0) {
      var _ = this;
      _._isHovered = _._toggleable$_isFocused = _._downPosition = _._splashRadius = _._toggleable$_focusColor = _._toggleable$_hoverColor = _._reactionColor = _._inactiveReactionColor = _._inactiveColor = _._activeColor = _._reactionHoverFade = _._reactionFocusFade = _._reaction = _._toggleable$_position = _._side = _._checkbox$_shape = _._previousValue = _._checkbox$_value = _._checkColor = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    __CheckboxState_State_TickerProviderStateMixin: function __CheckboxState_State_TickerProviderStateMixin() {
    },
    __CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin: function __CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin() {
    },
    CheckboxThemeData__lerpSides(a, b, t) {
      if (a == null && b == null)
        return null;
      a.toString;
      b.toString;
      return A.BorderSide_lerp(a, b, t);
    },
    CheckboxThemeData: function CheckboxThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.mouseCursor = t0;
      _.fillColor = t1;
      _.checkColor = t2;
      _.overlayColor = t3;
      _.splashRadius = t4;
      _.materialTapTargetSize = t5;
      _.visualDensity = t6;
      _.shape = t7;
      _.side = t8;
    },
    _CheckboxThemeData_Object_Diagnosticable: function _CheckboxThemeData_Object_Diagnosticable() {
    },
    ChipThemeData_lerp(a, b, t) {
      var t15, t16,
        t1 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t2 = A.Color_lerp(a.deleteIconColor, b.deleteIconColor, t),
        t3 = A.Color_lerp(a.disabledColor, b.disabledColor, t),
        t4 = A.Color_lerp(a.selectedColor, b.selectedColor, t),
        t5 = A.Color_lerp(a.secondarySelectedColor, b.secondarySelectedColor, t),
        t6 = A.Color_lerp(a.shadowColor, b.shadowColor, t),
        t7 = A.Color_lerp(a.selectedShadowColor, b.selectedShadowColor, t),
        t8 = A.Color_lerp(a.checkmarkColor, b.checkmarkColor, t),
        t9 = A.EdgeInsetsGeometry_lerp(a.labelPadding, b.labelPadding, t),
        t10 = A.EdgeInsetsGeometry_lerp(a.padding, b.padding, t),
        t11 = A.ChipThemeData__lerpSides(a.side, b.side, t),
        t12 = A.ChipThemeData__lerpShapes(a.shape, b.shape, t),
        t13 = A.TextStyle_lerp(a.labelStyle, b.labelStyle, t),
        t14 = A.TextStyle_lerp(a.secondaryLabelStyle, b.secondaryLabelStyle, t);
      if (t < 0.5) {
        t15 = a.brightness;
        if (t15 == null)
          t15 = B.Brightness_1;
      } else {
        t15 = b.brightness;
        if (t15 == null)
          t15 = B.Brightness_1;
      }
      t16 = A.lerpDouble(a.elevation, b.elevation, t);
      return new A.ChipThemeData(t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, A.lerpDouble(a.pressElevation, b.pressElevation, t));
    },
    ChipThemeData__lerpSides(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1) {
        t1 = b.color;
        return A.BorderSide_lerp(new A.BorderSide(A.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, B.BorderStyle_1, B.StrokeAlign_0), b, t);
      }
      if (b == null) {
        t1 = a.color;
        return A.BorderSide_lerp(new A.BorderSide(A.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, B.BorderStyle_1, B.StrokeAlign_0), a, t);
      }
      return A.BorderSide_lerp(a, b, t);
    },
    ChipThemeData__lerpShapes(a, b, t) {
      if (a == null && b == null)
        return null;
      return type$.nullable_OutlinedBorder._as(A.ShapeBorder_lerp(a, b, t));
    },
    ChipThemeData: function ChipThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.backgroundColor = t0;
      _.deleteIconColor = t1;
      _.disabledColor = t2;
      _.selectedColor = t3;
      _.secondarySelectedColor = t4;
      _.shadowColor = t5;
      _.selectedShadowColor = t6;
      _.checkmarkColor = t7;
      _.labelPadding = t8;
      _.padding = t9;
      _.side = t10;
      _.shape = t11;
      _.labelStyle = t12;
      _.secondaryLabelStyle = t13;
      _.brightness = t14;
      _.elevation = t15;
      _.pressElevation = t16;
    },
    _ChipThemeData_Object_Diagnosticable: function _ChipThemeData_Object_Diagnosticable() {
    },
    ColorScheme$(background, brightness, error, errorContainer, inversePrimary, inverseSurface, onBackground, onError, onErrorContainer, onInverseSurface, onPrimary, onPrimaryContainer, onSecondary, onSecondaryContainer, onSurface, onSurfaceVariant, onTertiary, onTertiaryContainer, outline, primary, primaryContainer, primaryVariant, secondary, secondaryContainer, secondaryVariant, shadow, surface, surfaceTint, surfaceVariant, tertiary, tertiaryContainer) {
      return new A.ColorScheme(brightness, primary, onPrimary, primaryContainer, onPrimaryContainer, secondary, onSecondary, secondaryContainer, onSecondaryContainer, tertiary, onTertiary, tertiaryContainer, onTertiaryContainer, error, onError, errorContainer, onErrorContainer, background, onBackground, surface, onSurface, surfaceVariant, onSurfaceVariant, outline, shadow, inverseSurface, onInverseSurface, inversePrimary, surfaceTint, primaryVariant, secondaryVariant);
    },
    ColorScheme: function ColorScheme(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) {
      var _ = this;
      _.brightness = t0;
      _.primary = t1;
      _.onPrimary = t2;
      _._primaryContainer = t3;
      _._onPrimaryContainer = t4;
      _.secondary = t5;
      _.onSecondary = t6;
      _._secondaryContainer = t7;
      _._onSecondaryContainer = t8;
      _._tertiary = t9;
      _._onTertiary = t10;
      _._tertiaryContainer = t11;
      _._onTertiaryContainer = t12;
      _.error = t13;
      _.onError = t14;
      _._errorContainer = t15;
      _._onErrorContainer = t16;
      _.background = t17;
      _.onBackground = t18;
      _.surface = t19;
      _.onSurface = t20;
      _._surfaceVariant = t21;
      _._onSurfaceVariant = t22;
      _._outline = t23;
      _._shadow = t24;
      _._inverseSurface = t25;
      _._onInverseSurface = t26;
      _._inversePrimary = t27;
      _._surfaceTint = t28;
      _._primaryVariant = t29;
      _._secondaryVariant = t30;
    },
    _ColorScheme_Object_Diagnosticable: function _ColorScheme_Object_Diagnosticable() {
    },
    MaterialColor: function MaterialColor(t0, t1) {
      this._swatch = t0;
      this.value = t1;
    },
    MaterialAccentColor: function MaterialAccentColor(t0, t1) {
      this._swatch = t0;
      this.value = t1;
    },
    DataTable__initOnlyTextColumn(columns) {
      var t1, result, index;
      for (t1 = columns.length, result = null, index = 0; index < t1; ++index)
        if (!columns[index].numeric) {
          if (result != null)
            return null;
          result = index;
        }
      return result;
    },
    TableRowInkWell$(child, onLongPress, onTap, overlayColor) {
      var _null = null;
      return new A.TableRowInkWell(child, onTap, _null, _null, _null, _null, onLongPress, _null, _null, _null, true, B.BoxShape_0, _null, _null, _null, _null, _null, _null, overlayColor, _null, _null, true, false, _null, false, _null, true, _null);
    },
    DataColumn: function DataColumn(t0, t1) {
      this.label = t0;
      this.numeric = t1;
    },
    DataRow: function DataRow(t0, t1) {
      this.key = t0;
      this.cells = t1;
    },
    DataCell: function DataCell(t0) {
      this.child = t0;
    },
    DataTable: function DataTable(t0, t1, t2, t3, t4) {
      var _ = this;
      _.columns = t0;
      _.dataRowHeight = t1;
      _.rows = t2;
      _._onlyTextColumn = t3;
      _.key = t4;
    },
    DataTable_build_closure3: function DataTable_build_closure3(t0) {
      this.theme = t0;
    },
    DataTable_build_closure: function DataTable_build_closure() {
    },
    DataTable_build_closure0: function DataTable_build_closure0() {
    },
    DataTable_build_closure1: function DataTable_build_closure1() {
    },
    DataTable_build_closure2: function DataTable_build_closure2(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.$this = t0;
      _.anyRowSelectable = t1;
      _.effectiveDataRowColor = t2;
      _.effectiveHeadingRowColor = t3;
      _.context = t4;
      _.dataTableTheme = t5;
      _.theme = t6;
      _.defaultRowColor = t7;
      _.tableColumns = t8;
    },
    DataTable_build_closure4: function DataTable_build_closure4(t0, t1) {
      this.$this = t0;
      this.someChecked = t1;
    },
    TableRowInkWell: function TableRowInkWell(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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapUp = t3;
      _.onTapCancel = t4;
      _.onDoubleTap = t5;
      _.onLongPress = t6;
      _.onHighlightChanged = t7;
      _.onHover = t8;
      _.mouseCursor = t9;
      _.containedInkWell = t10;
      _.highlightShape = t11;
      _.radius = t12;
      _.borderRadius = t13;
      _.customBorder = t14;
      _.focusColor = t15;
      _.hoverColor = t16;
      _.highlightColor = t17;
      _.overlayColor = t18;
      _.splashColor = t19;
      _.splashFactory = t20;
      _.enableFeedback = t21;
      _.excludeFromSemantics = t22;
      _.onFocusChange = t23;
      _.autofocus = t24;
      _.focusNode = t25;
      _.canRequestFocus = t26;
      _.key = t27;
    },
    TableRowInkWell_getRectCallback_closure: function TableRowInkWell_getRectCallback_closure(t0) {
      this.referenceBox = t0;
    },
    _NullTableColumnWidth: function _NullTableColumnWidth() {
    },
    _NullWidget: function _NullWidget(t0) {
      this.key = t0;
    },
    DataTableTheme_of(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.DataTableTheme);
      t1 = A.Theme_of(context);
      return t1.dataTableTheme;
    },
    DataTableThemeData: function DataTableThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.decoration = t0;
      _.dataRowColor = t1;
      _.dataRowHeight = t2;
      _.dataTextStyle = t3;
      _.headingRowColor = t4;
      _.headingRowHeight = t5;
      _.headingTextStyle = t6;
      _.horizontalMargin = t7;
      _.columnSpacing = t8;
      _.dividerThickness = t9;
      _.checkboxHorizontalMargin = t10;
    },
    _DataTableThemeData_Object_Diagnosticable: function _DataTableThemeData_Object_Diagnosticable() {
    },
    _DesktopTextSelectionControls: function _DesktopTextSelectionControls() {
    },
    _buildMaterialDialogTransitions(context, animation, secondaryAnimation, child) {
      return A.FadeTransition$(false, child, A.CurvedAnimation$(B.Cubic_xDo0, animation, null));
    },
    showDialog(barrierDismissible, builder, context, $T) {
      var themes,
        t1 = A.Navigator_of(context, true)._framework$_element;
      t1.toString;
      themes = A.InheritedTheme_capture(context, t1);
      return A.Navigator_of(context, true).push$1(A.DialogRoute$(null, B.Color_2315255808, barrierDismissible, null, builder, context, null, themes, true, $T));
    },
    DialogRoute$(anchorPoint, barrierColor, barrierDismissible, barrierLabel, builder, context, settings, themes, useSafeArea, $T) {
      var t1, t2, t3, t4, t5, t6, _null = null;
      A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      t1 = A._setArrayType([], type$.JSArray_of_Future_bool_Function);
      t2 = $.Zone__current;
      t3 = A.ProxyAnimation$(B.C__AlwaysDismissedAnimation);
      t4 = A._setArrayType([], type$.JSArray_OverlayEntry);
      t5 = $.$get$ChangeNotifier__emptyListeners();
      t6 = $.Zone__current;
      return new A.DialogRoute(new A.DialogRoute_closure(builder, themes, true), barrierDismissible, "Dismiss", barrierColor, B.Duration_150000, A.dialog___buildMaterialDialogTransitions$closure(), anchorPoint, _null, t1, new A.LabeledGlobalKey(_null, $T._eval$1("LabeledGlobalKey<_ModalScopeState<0>>")), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new A.PageStorageBucket(), _null, 0, new A._AsyncCompleter(new A._Future(t2, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), t3, t4, B.RouteSettings_null_null, new A.ValueNotifier(_null, t5, type$.ValueNotifier_nullable_String), new A._AsyncCompleter(new A._Future(t6, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), $T._eval$1("DialogRoute<0>"));
    },
    _DefaultsM2$(context) {
      return new A._DefaultsM20(context, A.Theme_of(context).textTheme, null, 24, B.RoundedRectangleBorder_ifx0, B.Alignment_0_0, null, null);
    },
    Dialog: function Dialog(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.insetPadding = t2;
      _.clipBehavior = t3;
      _.shape = t4;
      _.alignment = t5;
      _.child = t6;
      _.key = t7;
    },
    AlertDialog: function AlertDialog(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.title = t0;
      _.content = t1;
      _.contentPadding = t2;
      _.actions = t3;
      _.buttonPadding = t4;
      _.scrollable = t5;
      _.key = t6;
    },
    DialogRoute: function DialogRoute(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) {
      var _ = this;
      _._pageBuilder = t0;
      _._barrierDismissible = t1;
      _._barrierLabel = t2;
      _._barrierColor = t3;
      _._transitionDuration = t4;
      _._transitionBuilder = t5;
      _.anchorPoint = t6;
      _.filter = t7;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t8;
      _._scopeKey = t9;
      _._subtreeKey = t10;
      _._storageBucket = t11;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t12;
      _.LocalHistoryRoute__entriesImpliesAppBarDismissal = t13;
      _._transitionCompleter = t14;
      _._popFinalized = false;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t15;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t16;
      _._navigator$_navigator = null;
      _._settings = t17;
      _._restorationScopeId = t18;
      _._popCompleter = t19;
      _.$ti = t20;
    },
    DialogRoute_closure: function DialogRoute_closure(t0, t1, t2) {
      this.builder = t0;
      this.themes = t1;
      this.useSafeArea = t2;
    },
    _DefaultsM20: function _DefaultsM20(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.context = t0;
      _._textTheme = t1;
      _.backgroundColor = t2;
      _.elevation = t3;
      _.shape = t4;
      _.alignment = t5;
      _.titleTextStyle = t6;
      _.contentTextStyle = t7;
    },
    DialogTheme: function DialogTheme(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.shape = t2;
      _.alignment = t3;
      _.titleTextStyle = t4;
      _.contentTextStyle = t5;
    },
    _DialogTheme_Object_Diagnosticable: function _DialogTheme_Object_Diagnosticable() {
    },
    Divider$(color, height) {
      return new A.Divider(height, null, color, null);
    },
    Divider_createBorderSide(context, color, width) {
      var t1, effectiveColor, effectiveWidth;
      if (color == null) {
        t1 = A.DividerTheme_of(context).color;
        if (t1 == null)
          t1 = A.Theme_of(context).dividerColor;
        effectiveColor = t1;
      } else
        effectiveColor = color;
      effectiveWidth = width;
      return new A.BorderSide(effectiveColor, effectiveWidth, B.BorderStyle_1, B.StrokeAlign_0);
    },
    Divider: function Divider(t0, t1, t2, t3) {
      var _ = this;
      _.height = t0;
      _.thickness = t1;
      _.color = t2;
      _.key = t3;
    },
    VerticalDivider: function VerticalDivider(t0) {
      this.key = t0;
    },
    DividerTheme_of(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.DividerTheme);
      t1 = A.Theme_of(context);
      return t1.dividerTheme;
    },
    DividerThemeData: function DividerThemeData(t0, t1, t2, t3, t4) {
      var _ = this;
      _.color = t0;
      _.space = t1;
      _.thickness = t2;
      _.indent = t3;
      _.endIndent = t4;
    },
    _DividerThemeData_Object_Diagnosticable: function _DividerThemeData_Object_Diagnosticable() {
    },
    DrawerThemeData_lerp(a, b, t) {
      var t1 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t2 = A.Color_lerp(a.scrimColor, b.scrimColor, t),
        t3 = A.lerpDouble(a.elevation, b.elevation, t),
        t4 = A.ShapeBorder_lerp(a.shape, b.shape, t);
      return new A.DrawerThemeData(t1, t2, t3, t4, A.lerpDouble(a.width, b.width, t));
    },
    DrawerThemeData: function DrawerThemeData(t0, t1, t2, t3, t4) {
      var _ = this;
      _.backgroundColor = t0;
      _.scrimColor = t1;
      _.elevation = t2;
      _.shape = t3;
      _.width = t4;
    },
    _DrawerThemeData_Object_Diagnosticable: function _DrawerThemeData_Object_Diagnosticable() {
    },
    DropdownMenuItem$(child, key, value, $T) {
      return new A.DropdownMenuItem(value, child, B.AlignmentDirectional_m1_0, key, $T._eval$1("DropdownMenuItem<0>"));
    },
    DropdownButton$(iconEnabledColor, isDense, isExpanded, items, key, onChanged, selectedItemBuilder, style, underline, value, $T) {
      return new A.DropdownButton(items, value, onChanged, selectedItemBuilder, style, underline, iconEnabledColor, isDense, isExpanded, key, $T._eval$1("DropdownButton<0>"));
    },
    _DropdownMenuPainter: function _DropdownMenuPainter(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.color = t0;
      _.elevation = t1;
      _.selectedIndex = t2;
      _.borderRadius = t3;
      _.resize = t4;
      _.getSelectedItemOffset = t5;
      _._dropdown$_painter = t6;
      _._repaint = t7;
    },
    _DropdownMenuItemButton: function _DropdownMenuItemButton(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.route = t0;
      _.padding = t1;
      _.buttonRect = t2;
      _.constraints = t3;
      _.itemIndex = t4;
      _.enableFeedback = t5;
      _.key = t6;
      _.$ti = t7;
    },
    _DropdownMenuItemButtonState: function _DropdownMenuItemButtonState(t0, t1) {
      var _ = this;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _DropdownMenu: function _DropdownMenu(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.route = t0;
      _.padding = t1;
      _.buttonRect = t2;
      _.constraints = t3;
      _.dropdownColor = t4;
      _.enableFeedback = t5;
      _.borderRadius = t6;
      _.key = t7;
      _.$ti = t8;
    },
    _DropdownMenuState: function _DropdownMenuState(t0, t1) {
      var _ = this;
      _.___DropdownMenuState__resize = _.___DropdownMenuState__fadeOpacity = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _DropdownMenuState_build_closure: function _DropdownMenuState_build_closure(t0) {
      this.route = t0;
    },
    _DropdownMenuRouteLayout: function _DropdownMenuRouteLayout(t0, t1, t2, t3) {
      var _ = this;
      _.buttonRect = t0;
      _.route = t1;
      _.textDirection = t2;
      _.$ti = t3;
    },
    _DropdownRouteResult: function _DropdownRouteResult(t0, t1) {
      this.result = t0;
      this.$ti = t1;
    },
    _MenuLimits: function _MenuLimits(t0, t1, t2) {
      this.top = t0;
      this.height = t1;
      this.scrollOffset = t2;
    },
    _DropdownRoute: function _DropdownRoute(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) {
      var _ = this;
      _.items = t0;
      _.padding = t1;
      _.buttonRect = t2;
      _.selectedIndex = t3;
      _.elevation = t4;
      _.capturedThemes = t5;
      _.style = t6;
      _.itemHeight = t7;
      _.dropdownColor = t8;
      _.menuMaxHeight = t9;
      _.enableFeedback = t10;
      _.borderRadius = t11;
      _.itemHeights = t12;
      _.scrollController = null;
      _.barrierLabel = t13;
      _.filter = t14;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t15;
      _._scopeKey = t16;
      _._subtreeKey = t17;
      _._storageBucket = t18;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t19;
      _.LocalHistoryRoute__entriesImpliesAppBarDismissal = t20;
      _._transitionCompleter = t21;
      _._popFinalized = false;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t22;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t23;
      _._navigator$_navigator = null;
      _._settings = t24;
      _._restorationScopeId = t25;
      _._popCompleter = t26;
      _.$ti = t27;
    },
    _DropdownRoute_buildPage_closure: function _DropdownRoute_buildPage_closure(t0) {
      this.$this = t0;
    },
    _DropdownRoute_getItemOffset_closure: function _DropdownRoute_getItemOffset_closure() {
    },
    _DropdownRoute_getMenuLimits_closure: function _DropdownRoute_getMenuLimits_closure() {
    },
    _DropdownRoutePage: function _DropdownRoutePage(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.route = t0;
      _.constraints = t1;
      _.padding = t2;
      _.buttonRect = t3;
      _.selectedIndex = t4;
      _.capturedThemes = t5;
      _.dropdownColor = t6;
      _.enableFeedback = t7;
      _.borderRadius = t8;
      _.key = t9;
      _.$ti = t10;
    },
    _DropdownRoutePage_build_closure: function _DropdownRoutePage_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.textDirection = t1;
      this.menu = t2;
    },
    _MenuItem0: function _MenuItem0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.onLayout = t0;
      _.item = t1;
      _.child = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _RenderMenuItem0: function _RenderMenuItem0(t0, t1, t2) {
      var _ = this;
      _.onLayout = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _DropdownMenuItemContainer: function _DropdownMenuItemContainer() {
    },
    DropdownMenuItem: function DropdownMenuItem(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.child = t1;
      _.alignment = t2;
      _.key = t3;
      _.$ti = t4;
    },
    DropdownButtonHideUnderline: function DropdownButtonHideUnderline(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    DropdownButton: function DropdownButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.items = t0;
      _.value = t1;
      _.onChanged = t2;
      _.selectedItemBuilder = t3;
      _.style = t4;
      _.underline = t5;
      _.iconEnabledColor = t6;
      _.isDense = t7;
      _.isExpanded = t8;
      _.key = t9;
      _.$ti = t10;
    },
    _DropdownButtonState: function _DropdownButtonState(t0, t1) {
      var _ = this;
      _._dropdown$_internalNode = _._dropdown$_lastOrientation = _._dropdownRoute = _._selectedIndex = null;
      _._hasPrimaryFocus = false;
      _.___DropdownButtonState__actionMap = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _DropdownButtonState_initState_closure: function _DropdownButtonState_initState_closure(t0) {
      this.$this = t0;
    },
    _DropdownButtonState_initState_closure0: function _DropdownButtonState_initState_closure0(t0) {
      this.$this = t0;
    },
    _DropdownButtonState__handleFocusChanged_closure: function _DropdownButtonState__handleFocusChanged_closure(t0) {
      this.$this = t0;
    },
    _DropdownButtonState__updateSelectedIndex_closure: function _DropdownButtonState__updateSelectedIndex_closure(t0) {
      this.$this = t0;
    },
    _DropdownButtonState__handleTap_closure: function _DropdownButtonState__handleTap_closure(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    _DropdownButtonState__handleTap_closure0: function _DropdownButtonState__handleTap_closure0(t0) {
      this.$this = t0;
    },
    _DropdownButtonState_build_closure: function _DropdownButtonState_build_closure(t0) {
      this.$this = t0;
    },
    __DropdownButtonState_State_WidgetsBindingObserver: function __DropdownButtonState_State_WidgetsBindingObserver() {
    },
    ElevatedButton$(autofocus, child, onPressed, style) {
      var _null = null;
      return new A.ElevatedButton(onPressed, _null, _null, _null, style, B.Clip_0, _null, autofocus, child, _null);
    },
    ElevatedButton_styleFrom(alignment, animationDuration, disabledMouseCursor, elevation, enableFeedback, enabledMouseCursor, fixedSize, maximumSize, minimumSize, onPrimary, onSurface, padding, primary, shadowColor, shape, splashFactory, tapTargetSize, textStyle, visualDensity) {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = onSurface == null,
        backgroundColor = t1 && primary == null ? _null : new A._ElevatedButtonDefaultBackground(primary, onSurface),
        foregroundColor = t1 && onPrimary == null ? _null : new A._ElevatedButtonDefaultForeground(onPrimary, onSurface),
        overlayColor = onPrimary == null ? _null : new A._ElevatedButtonDefaultOverlay(onPrimary),
        elevationValue = elevation == null ? _null : new A._ElevatedButtonDefaultElevation(elevation),
        mouseCursor = enabledMouseCursor == null && disabledMouseCursor == null ? _null : new A._ElevatedButtonDefaultMouseCursor(enabledMouseCursor, disabledMouseCursor);
      t1 = shadowColor == null ? _null : new A.MaterialStatePropertyAll(shadowColor, type$.MaterialStatePropertyAll_Color);
      t2 = padding == null ? _null : new A.MaterialStatePropertyAll(padding, type$.MaterialStatePropertyAll_EdgeInsetsGeometry);
      t3 = minimumSize == null ? _null : new A.MaterialStatePropertyAll(minimumSize, type$.MaterialStatePropertyAll_Size);
      t4 = fixedSize == null ? _null : new A.MaterialStatePropertyAll(fixedSize, type$.MaterialStatePropertyAll_Size);
      t5 = maximumSize == null ? _null : new A.MaterialStatePropertyAll(maximumSize, type$.MaterialStatePropertyAll_Size);
      t6 = shape == null ? _null : new A.MaterialStatePropertyAll(shape, type$.MaterialStatePropertyAll_OutlinedBorder);
      return A.ButtonStyle$(alignment, animationDuration, backgroundColor, elevationValue, enableFeedback, t4, foregroundColor, t5, t3, mouseCursor, overlayColor, t2, t1, t6, _null, splashFactory, _null, tapTargetSize, new A.MaterialStatePropertyAll(textStyle, type$.MaterialStatePropertyAll_nullable_TextStyle), visualDensity);
    },
    _scaledPadding0(context) {
      var t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      return A.ButtonStyleButton_scaledPadding(B.EdgeInsets_16_0_16_0, B.EdgeInsets_8_0_8_0, B.EdgeInsets_4_0_4_0, t1 == null ? 1 : t1);
    },
    ElevatedButton: function ElevatedButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.onPressed = t0;
      _.onLongPress = t1;
      _.onHover = t2;
      _.onFocusChange = t3;
      _.style = t4;
      _.clipBehavior = t5;
      _.focusNode = t6;
      _.autofocus = t7;
      _.child = t8;
      _.key = t9;
    },
    _ElevatedButtonDefaultBackground: function _ElevatedButtonDefaultBackground(t0, t1) {
      this.primary = t0;
      this.onSurface = t1;
    },
    _ElevatedButtonDefaultForeground: function _ElevatedButtonDefaultForeground(t0, t1) {
      this.onPrimary = t0;
      this.onSurface = t1;
    },
    _ElevatedButtonDefaultOverlay: function _ElevatedButtonDefaultOverlay(t0) {
      this.onPrimary = t0;
    },
    _ElevatedButtonDefaultElevation: function _ElevatedButtonDefaultElevation(t0) {
      this.elevation = t0;
    },
    _ElevatedButtonDefaultMouseCursor: function _ElevatedButtonDefaultMouseCursor(t0, t1) {
      this.enabledCursor = t0;
      this.disabledCursor = t1;
    },
    __ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable: function __ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable() {
    },
    __ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable: function __ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable() {
    },
    __ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable: function __ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable() {
    },
    __ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable: function __ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable() {
    },
    __ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable: function __ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable() {
    },
    ElevatedButtonThemeData_lerp(a, b, t) {
      return new A.ElevatedButtonThemeData(A.ButtonStyle_lerp(a.style, b.style, t));
    },
    ElevatedButtonThemeData: function ElevatedButtonThemeData(t0) {
      this.style = t0;
    },
    _ElevatedButtonThemeData_Object_Diagnosticable: function _ElevatedButtonThemeData_Object_Diagnosticable() {
    },
    ExpansionTile$(backgroundColor, children, childrenPadding, collapsedBackgroundColor, expandedAlignment, initiallyExpanded, key, leading, tilePadding, title) {
      return new A.ExpansionTile(leading, title, children, backgroundColor, collapsedBackgroundColor, initiallyExpanded, tilePadding, expandedAlignment, childrenPadding, key);
    },
    ExpansionTile: function ExpansionTile(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.leading = t0;
      _.title = t1;
      _.children = t2;
      _.backgroundColor = t3;
      _.collapsedBackgroundColor = t4;
      _.initiallyExpanded = t5;
      _.tilePadding = t6;
      _.expandedAlignment = t7;
      _.childrenPadding = t8;
      _.key = t9;
    },
    _ExpansionTileState: function _ExpansionTileState(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._borderColorTween = t0;
      _._headerColorTween = t1;
      _._iconColorTween = t2;
      _._backgroundColorTween = t3;
      _.___ExpansionTileState__backgroundColor = _.___ExpansionTileState__iconColor = _.___ExpansionTileState__headerColor = _.___ExpansionTileState__borderColor = _.___ExpansionTileState__heightFactor = _.___ExpansionTileState__iconTurns = _.___ExpansionTileState__controller = $;
      _._expansion_tile$_isExpanded = false;
      _.SingleTickerProviderStateMixin__ticker = t4;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._framework$_element = null;
    },
    _ExpansionTileState__handleTap_closure: function _ExpansionTileState__handleTap_closure(t0) {
      this.$this = t0;
    },
    _ExpansionTileState__handleTap__closure: function _ExpansionTileState__handleTap__closure(t0) {
      this.$this = t0;
    },
    _ExpansionTileState__handleTap___closure: function _ExpansionTileState__handleTap___closure() {
    },
    __ExpansionTileState_State_SingleTickerProviderStateMixin: function __ExpansionTileState_State_SingleTickerProviderStateMixin() {
    },
    ExpansionTileThemeData_lerp(a, b, t) {
      var t1 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t2 = A.Color_lerp(a.collapsedBackgroundColor, b.collapsedBackgroundColor, t),
        t3 = A.EdgeInsetsGeometry_lerp(a.tilePadding, b.tilePadding, t),
        t4 = A.AlignmentGeometry_lerp(a.expandedAlignment, b.expandedAlignment, t),
        t5 = A.EdgeInsetsGeometry_lerp(a.childrenPadding, b.childrenPadding, t),
        t6 = A.Color_lerp(a.iconColor, b.iconColor, t),
        t7 = A.Color_lerp(a.collapsedIconColor, b.collapsedIconColor, t),
        t8 = A.Color_lerp(a.textColor, b.textColor, t);
      return new A.ExpansionTileThemeData(t1, t2, t3, t4, t5, t6, t7, t8, A.Color_lerp(a.collapsedTextColor, b.collapsedTextColor, t));
    },
    ExpansionTileTheme_of(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ExpansionTileTheme);
      t1 = A.Theme_of(context);
      return t1.expansionTileTheme;
    },
    ExpansionTileThemeData: function ExpansionTileThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.backgroundColor = t0;
      _.collapsedBackgroundColor = t1;
      _.tilePadding = t2;
      _.expandedAlignment = t3;
      _.childrenPadding = t4;
      _.iconColor = t5;
      _.collapsedIconColor = t6;
      _.textColor = t7;
      _.collapsedTextColor = t8;
    },
    _ExpansionTileThemeData_Object_Diagnosticable: function _ExpansionTileThemeData_Object_Diagnosticable() {
    },
    FlexibleSpaceBarSettings: function FlexibleSpaceBarSettings(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.toolbarOpacity = t0;
      _.minExtent = t1;
      _.maxExtent = t2;
      _.currentExtent = t3;
      _.isScrolledUnder = t4;
      _.child = t5;
      _.key = t6;
    },
    _DefaultHeroTag: function _DefaultHeroTag() {
    },
    _FloatingActionButtonType: function _FloatingActionButtonType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FloatingActionButton: function FloatingActionButton(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.onPressed = t1;
      _._floatingActionButtonType = t2;
      _.key = t3;
    },
    _ChildOverflowBox: function _ChildOverflowBox(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _RenderChildOverflowBox: function _RenderChildOverflowBox(t0, t1, t2, t3) {
      var _ = this;
      _._shifted_box$_resolvedAlignment = null;
      _._shifted_box$_alignment = t0;
      _._shifted_box$_textDirection = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _M2Defaults: function _M2Defaults(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) {
      var _ = this;
      _.type = t0;
      _.hasChild = t1;
      _._theme = t2;
      _._floating_action_button$_colors = t3;
      _.foregroundColor = t4;
      _.backgroundColor = t5;
      _.focusColor = t6;
      _.hoverColor = t7;
      _.splashColor = t8;
      _.elevation = t9;
      _.focusElevation = t10;
      _.hoverElevation = t11;
      _.disabledElevation = t12;
      _.highlightElevation = t13;
      _.shape = t14;
      _.enableFeedback = t15;
      _.iconSize = t16;
      _.sizeConstraints = t17;
      _.smallSizeConstraints = t18;
      _.largeSizeConstraints = t19;
      _.extendedSizeConstraints = t20;
      _.extendedIconLabelSpacing = t21;
      _.extendedPadding = t22;
      _.extendedTextStyle = t23;
    },
    _AnimationSwap$(first, next, $parent, swapThreshold, $T) {
      return new A._AnimationSwap($parent, swapThreshold, first, next, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function), type$.ObserverList_of_void_Function), 0, $T._eval$1("_AnimationSwap<0>"));
    },
    FloatingActionButtonLocation: function FloatingActionButtonLocation() {
    },
    StandardFabLocation: function StandardFabLocation() {
    },
    FabFloatOffsetY: function FabFloatOffsetY() {
    },
    FabEndOffsetX: function FabEndOffsetX() {
    },
    _EndFloatFabLocation: function _EndFloatFabLocation() {
    },
    FloatingActionButtonAnimator: function FloatingActionButtonAnimator() {
    },
    _ScalingFabMotionAnimator: function _ScalingFabMotionAnimator() {
    },
    _AnimationSwap: function _AnimationSwap(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.parent = t0;
      _.swapThreshold = t1;
      _.first = t2;
      _.next = t3;
      _._lastValue = _._lastStatus = null;
      _.AnimationLocalStatusListenersMixin__statusListeners = t4;
      _.AnimationLocalListenersMixin__listeners = t5;
      _.AnimationLazyListenerMixin__listenerCounter = t6;
      _.$ti = t7;
    },
    __EndFloatFabLocation_StandardFabLocation_FabEndOffsetX: function __EndFloatFabLocation_StandardFabLocation_FabEndOffsetX() {
    },
    __EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY: function __EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY() {
    },
    FloatingActionButtonThemeData$(backgroundColor, disabledElevation, elevation, enableFeedback, extendedIconLabelSpacing, extendedPadding, extendedSizeConstraints, extendedTextStyle, focusColor, focusElevation, foregroundColor, highlightElevation, hoverColor, hoverElevation, iconSize, largeSizeConstraints, shape, sizeConstraints, smallSizeConstraints, splashColor) {
      return new A.FloatingActionButtonThemeData(foregroundColor, backgroundColor, focusColor, hoverColor, splashColor, elevation, focusElevation, hoverElevation, disabledElevation, highlightElevation, shape, enableFeedback, iconSize, sizeConstraints, smallSizeConstraints, largeSizeConstraints, extendedSizeConstraints, extendedIconLabelSpacing, extendedPadding, extendedTextStyle);
    },
    FloatingActionButtonThemeData_lerp(a, b, t) {
      var t12, t13, t14, t15, t16, t17, t18, t19,
        t1 = A.Color_lerp(a.foregroundColor, b.foregroundColor, t),
        t2 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t3 = A.Color_lerp(a.focusColor, b.focusColor, t),
        t4 = A.Color_lerp(a.hoverColor, b.hoverColor, t),
        t5 = A.Color_lerp(a.splashColor, b.splashColor, t),
        t6 = A.lerpDouble(a.elevation, b.elevation, t),
        t7 = A.lerpDouble(a.focusElevation, b.focusElevation, t),
        t8 = A.lerpDouble(a.hoverElevation, b.hoverElevation, t),
        t9 = A.lerpDouble(a.disabledElevation, b.disabledElevation, t),
        t10 = A.lerpDouble(a.highlightElevation, b.highlightElevation, t),
        t11 = A.ShapeBorder_lerp(a.shape, b.shape, t);
      if (t < 0.5)
        t12 = a.enableFeedback;
      else
        t12 = b.enableFeedback;
      t13 = A.lerpDouble(a.iconSize, b.iconSize, t);
      t14 = A.BoxConstraints_lerp(a.sizeConstraints, b.sizeConstraints, t);
      t15 = A.BoxConstraints_lerp(a.smallSizeConstraints, b.smallSizeConstraints, t);
      t16 = A.BoxConstraints_lerp(a.largeSizeConstraints, b.largeSizeConstraints, t);
      t17 = A.BoxConstraints_lerp(a.extendedSizeConstraints, b.extendedSizeConstraints, t);
      t18 = A.lerpDouble(a.extendedIconLabelSpacing, b.extendedIconLabelSpacing, t);
      t19 = A.EdgeInsetsGeometry_lerp(a.extendedPadding, b.extendedPadding, t);
      return A.FloatingActionButtonThemeData$(t2, t9, t6, t12, t18, t19, t17, A.TextStyle_lerp(a.extendedTextStyle, b.extendedTextStyle, t), t3, t7, t1, t10, t4, t8, t13, t16, t11, t14, t15, t5);
    },
    FloatingActionButtonThemeData: function FloatingActionButtonThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19) {
      var _ = this;
      _.foregroundColor = t0;
      _.backgroundColor = t1;
      _.focusColor = t2;
      _.hoverColor = t3;
      _.splashColor = t4;
      _.elevation = t5;
      _.focusElevation = t6;
      _.hoverElevation = t7;
      _.disabledElevation = t8;
      _.highlightElevation = t9;
      _.shape = t10;
      _.enableFeedback = t11;
      _.iconSize = t12;
      _.sizeConstraints = t13;
      _.smallSizeConstraints = t14;
      _.largeSizeConstraints = t15;
      _.extendedSizeConstraints = t16;
      _.extendedIconLabelSpacing = t17;
      _.extendedPadding = t18;
      _.extendedTextStyle = t19;
    },
    _FloatingActionButtonThemeData_Object_Diagnosticable: function _FloatingActionButtonThemeData_Object_Diagnosticable() {
    },
    IconButton$(color, constraints, enableFeedback, icon, iconSize, onPressed, padding, splashRadius, tooltip) {
      return new A.IconButton(iconSize, padding, splashRadius, icon, color, onPressed, tooltip, true, constraints, null);
    },
    IconButton: function IconButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.iconSize = t0;
      _.padding = t1;
      _.splashRadius = t2;
      _.icon = t3;
      _.color = t4;
      _.onPressed = t5;
      _.tooltip = t6;
      _.enableFeedback = t7;
      _.constraints = t8;
      _.key = t9;
    },
    Ink: function Ink(t0, t1, t2) {
      this.child = t0;
      this.decoration = t1;
      this.key = t2;
    },
    _InkState: function _InkState(t0, t1) {
      var _ = this;
      _._boxKey = t0;
      _._widget = _._ink = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    InkDecoration: function InkDecoration(t0, t1, t2, t3) {
      var _ = this;
      _._ink_decoration$_decoration = _._ink_decoration$_painter = null;
      _._ink_decoration$_configuration = t0;
      _._material$_controller = t1;
      _.referenceBox = t2;
      _.onRemoved = t3;
      _._material$_debugDisposed = false;
    },
    InkHighlight: function InkHighlight(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._ink_highlight$_shape = t0;
      _._ink_highlight$_radius = t1;
      _._ink_highlight$_borderRadius = t2;
      _._customBorder = t3;
      _._rectCallback = t4;
      _._ink_highlight$_textDirection = t5;
      _.__InkHighlight__alphaController = _.__InkHighlight__alpha = $;
      _._active = true;
      _._ink_well$_color = t6;
      _._material$_controller = t7;
      _.referenceBox = t8;
      _.onRemoved = t9;
      _._material$_debugDisposed = false;
    },
    _getClipCallback(referenceBox, containedInkWell, rectCallback) {
      if (rectCallback != null)
        return rectCallback;
      if (containedInkWell)
        return new A._getClipCallback_closure(referenceBox);
      return null;
    },
    _getClipCallback_closure: function _getClipCallback_closure(t0) {
      this.referenceBox = t0;
    },
    _InkRippleFactory: function _InkRippleFactory() {
    },
    InkRipple: function InkRipple(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._ink_ripple$_position = t0;
      _._ink_ripple$_borderRadius = t1;
      _._ink_ripple$_customBorder = t2;
      _._ink_ripple$_targetRadius = t3;
      _._clipCallback = t4;
      _._ink_ripple$_textDirection = t5;
      _.__InkRipple__fadeOutController = _.__InkRipple__fadeOut = _.__InkRipple__fadeInController = _.__InkRipple__fadeIn = _.__InkRipple__radiusController = _.__InkRipple__radius = $;
      _._ink_well$_color = t6;
      _._material$_controller = t7;
      _.referenceBox = t8;
      _.onRemoved = t9;
      _._material$_debugDisposed = false;
    },
    _getClipCallback0(referenceBox, containedInkWell, rectCallback) {
      if (rectCallback != null)
        return rectCallback;
      if (containedInkWell)
        return new A._getClipCallback_closure0(referenceBox);
      return null;
    },
    _getTargetRadius(referenceBox, containedInkWell, rectCallback, position) {
      var t1, size, d1, d2, d3, d4;
      if (containedInkWell) {
        if (rectCallback != null) {
          t1 = rectCallback.call$0();
          size = new A.Size(t1.right - t1.left, t1.bottom - t1.top);
        } else {
          t1 = referenceBox._box$_size;
          t1.toString;
          size = t1;
        }
        d1 = position.$sub(0, B.Offset_0_0).get$distance();
        d2 = position.$sub(0, new A.Offset(0 + size._dx, 0)).get$distance();
        d3 = position.$sub(0, new A.Offset(0, 0 + size._dy)).get$distance();
        d4 = position.$sub(0, size.bottomRight$1(0, B.Offset_0_0)).get$distance();
        return Math.ceil(Math.max(Math.max(d1, d2), Math.max(d3, d4)));
      }
      return 35;
    },
    _getClipCallback_closure0: function _getClipCallback_closure0(t0) {
      this.referenceBox = t0;
    },
    _InkSplashFactory: function _InkSplashFactory() {
    },
    InkSplash: function InkSplash(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._ink_splash$_position = t0;
      _._ink_splash$_borderRadius = t1;
      _._ink_splash$_customBorder = t2;
      _._targetRadius = t3;
      _._ink_splash$_clipCallback = t4;
      _._repositionToReferenceBox = t5;
      _._ink_splash$_textDirection = t6;
      _.__InkSplash__alpha = _.__InkSplash__radiusController = _.__InkSplash__radius = $;
      _._alphaController = null;
      _._ink_well$_color = t7;
      _._material$_controller = t8;
      _.referenceBox = t9;
      _.onRemoved = t10;
      _._material$_debugDisposed = false;
    },
    InkResponse$(autofocus, borderRadius, canRequestFocus, child, containedInkWell, customBorder, enableFeedback, excludeFromSemantics, focusColor, focusNode, highlightColor, highlightShape, hoverColor, key, mouseCursor, onDoubleTap, onFocusChange, onHighlightChanged, onHover, onLongPress, onTap, onTapCancel, onTapDown, onTapUp, overlayColor, radius, splashColor, splashFactory) {
      return new A.InkResponse(child, onTap, onTapDown, onTapUp, onTapCancel, onDoubleTap, onLongPress, onHighlightChanged, onHover, mouseCursor, containedInkWell, highlightShape, radius, borderRadius, customBorder, focusColor, hoverColor, highlightColor, overlayColor, splashColor, splashFactory, enableFeedback, false, onFocusChange, autofocus, focusNode, canRequestFocus, key);
    },
    InkWell$(autofocus, borderRadius, canRequestFocus, child, customBorder, enableFeedback, focusColor, focusNode, highlightColor, hoverColor, key, mouseCursor, onDoubleTap, onFocusChange, onHighlightChanged, onHover, onLongPress, onTap, onTapCancel, onTapDown, overlayColor, radius, splashColor, splashFactory) {
      return new A.InkWell(child, onTap, onTapDown, null, onTapCancel, onDoubleTap, onLongPress, onHighlightChanged, onHover, mouseCursor, true, B.BoxShape_0, radius, borderRadius, customBorder, focusColor, hoverColor, highlightColor, overlayColor, splashColor, splashFactory, enableFeedback !== false, false, onFocusChange, autofocus, focusNode, canRequestFocus, key);
    },
    InteractiveInkFeature: function InteractiveInkFeature() {
    },
    InteractiveInkFeatureFactory: function InteractiveInkFeatureFactory() {
    },
    _ParentInkResponseProvider: function _ParentInkResponseProvider(t0, t1, t2) {
      this.state = t0;
      this.child = t1;
      this.key = t2;
    },
    InkResponse: function InkResponse(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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapUp = t3;
      _.onTapCancel = t4;
      _.onDoubleTap = t5;
      _.onLongPress = t6;
      _.onHighlightChanged = t7;
      _.onHover = t8;
      _.mouseCursor = t9;
      _.containedInkWell = t10;
      _.highlightShape = t11;
      _.radius = t12;
      _.borderRadius = t13;
      _.customBorder = t14;
      _.focusColor = t15;
      _.hoverColor = t16;
      _.highlightColor = t17;
      _.overlayColor = t18;
      _.splashColor = t19;
      _.splashFactory = t20;
      _.enableFeedback = t21;
      _.excludeFromSemantics = t22;
      _.onFocusChange = t23;
      _.autofocus = t24;
      _.focusNode = t25;
      _.canRequestFocus = t26;
      _.key = t27;
    },
    _InkResponseStateWidget: function _InkResponseStateWidget(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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapUp = t3;
      _.onTapCancel = t4;
      _.onDoubleTap = t5;
      _.onLongPress = t6;
      _.onHighlightChanged = t7;
      _.onHover = t8;
      _.mouseCursor = t9;
      _.containedInkWell = t10;
      _.highlightShape = t11;
      _.radius = t12;
      _.borderRadius = t13;
      _.customBorder = t14;
      _.focusColor = t15;
      _.hoverColor = t16;
      _.highlightColor = t17;
      _.overlayColor = t18;
      _.splashColor = t19;
      _.splashFactory = t20;
      _.enableFeedback = t21;
      _.excludeFromSemantics = t22;
      _.onFocusChange = t23;
      _.autofocus = t24;
      _.focusNode = t25;
      _.canRequestFocus = t26;
      _.parentState = t27;
      _.getRectCallback = t28;
      _.debugCheckContext = t29;
      _.key = t30;
    },
    _HighlightType: function _HighlightType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _InkResponseState: function _InkResponseState(t0, t1, t2, t3) {
      var _ = this;
      _._currentSplash = _._splashes = null;
      _._hovering = false;
      _._highlights = t0;
      _.___InkResponseState__actionMap = $;
      _._activeChildren = t1;
      _._hasFocus = false;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _InkResponseState_highlightsExist_closure: function _InkResponseState_highlightsExist_closure() {
    },
    _InkResponseState_updateHighlight_handleInkRemoval: function _InkResponseState_updateHighlight_handleInkRemoval(t0, t1) {
      this.$this = t0;
      this.type = t1;
    },
    _InkResponseState__createInkFeature_onRemoved: function _InkResponseState__createInkFeature_onRemoved(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _InkResponseState__handleFocusHighlightModeChange_closure: function _InkResponseState__handleFocusHighlightModeChange_closure(t0) {
      this.$this = t0;
    },
    InkWell: function InkWell(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) {
      var _ = this;
      _.child = t0;
      _.onTap = t1;
      _.onTapDown = t2;
      _.onTapUp = t3;
      _.onTapCancel = t4;
      _.onDoubleTap = t5;
      _.onLongPress = t6;
      _.onHighlightChanged = t7;
      _.onHover = t8;
      _.mouseCursor = t9;
      _.containedInkWell = t10;
      _.highlightShape = t11;
      _.radius = t12;
      _.borderRadius = t13;
      _.customBorder = t14;
      _.focusColor = t15;
      _.hoverColor = t16;
      _.highlightColor = t17;
      _.overlayColor = t18;
      _.splashColor = t19;
      _.splashFactory = t20;
      _.enableFeedback = t21;
      _.excludeFromSemantics = t22;
      _.onFocusChange = t23;
      _.autofocus = t24;
      _.focusNode = t25;
      _.canRequestFocus = t26;
      _.key = t27;
    },
    __InkResponseState_State_AutomaticKeepAliveClientMixin: function __InkResponseState_State_AutomaticKeepAliveClientMixin() {
    },
    InputBorder: function InputBorder() {
    },
    _NoInputBorder: function _NoInputBorder(t0) {
      this.borderSide = t0;
    },
    UnderlineInputBorder: function UnderlineInputBorder(t0, t1) {
      this.borderRadius = t0;
      this.borderSide = t1;
    },
    OutlineInputBorder: function OutlineInputBorder(t0, t1, t2) {
      this.gapPadding = t0;
      this.borderRadius = t1;
      this.borderSide = t2;
    },
    FloatingLabelAlignment__stringify(x) {
      if (x === -1)
        return "FloatingLabelAlignment.start";
      if (x === 0)
        return "FloatingLabelAlignment.center";
      return "FloatingLabelAlignment(x: " + B.JSInt_methods.toStringAsFixed$1(x, 1) + ")";
    },
    InputDecorator$(baseStyle, child, decoration, expands, isEmpty, isFocused, isHovering, textAlign, textAlignVertical) {
      return new A.InputDecorator(decoration, baseStyle, textAlign, textAlignVertical, isFocused, isHovering, false, isEmpty, child, null);
    },
    InputDecoration$(alignLabelWithHint, border, constraints, contentPadding, counter, counterStyle, counterText, disabledBorder, enabled, enabledBorder, errorBorder, errorMaxLines, errorStyle, errorText, fillColor, filled, floatingLabelAlignment, floatingLabelBehavior, floatingLabelStyle, focusColor, focusedBorder, focusedErrorBorder, helperMaxLines, helperStyle, helperText, hintMaxLines, hintStyle, hintText, hintTextDirection, hoverColor, icon, iconColor, isCollapsed, isDense, label, labelStyle, labelText, prefix, prefixIcon, prefixIconColor, prefixIconConstraints, prefixStyle, prefixText, semanticCounterText, suffix, suffixIcon, suffixIconColor, suffixIconConstraints, suffixStyle, suffixText) {
      return new A.InputDecoration(icon, iconColor, label, labelText, labelStyle, floatingLabelStyle, helperText, helperStyle, helperMaxLines, hintText, hintStyle, hintTextDirection, hintMaxLines, errorText, errorStyle, errorMaxLines, floatingLabelBehavior, floatingLabelAlignment, isDense, contentPadding, false, prefixIcon, prefixIconConstraints, prefix, prefixText, prefixStyle, prefixIconColor, suffixIcon, suffix, suffixText, suffixStyle, suffixIconColor, suffixIconConstraints, counterText, counter, counterStyle, filled, fillColor, focusColor, hoverColor, errorBorder, focusedBorder, focusedErrorBorder, disabledBorder, enabledBorder, border, enabled, semanticCounterText, alignLabelWithHint, constraints);
    },
    _InputBorderGap: function _InputBorderGap(t0) {
      var _ = this;
      _._input_decorator$_start = null;
      _.ChangeNotifier__count = _._extent = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _InputBorderTween: function _InputBorderTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    _InputBorderPainter: function _InputBorderPainter(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.borderAnimation = t0;
      _.border = t1;
      _.gapAnimation = t2;
      _.gap = t3;
      _.textDirection = t4;
      _.fillColor = t5;
      _.hoverColorTween = t6;
      _.hoverAnimation = t7;
      _._repaint = t8;
    },
    _BorderContainer: function _BorderContainer(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.border = t0;
      _.gap = t1;
      _.gapAnimation = t2;
      _.fillColor = t3;
      _.hoverColor = t4;
      _.isHovering = t5;
      _.key = t6;
    },
    _BorderContainerState: function _BorderContainerState(t0, t1, t2) {
      var _ = this;
      _.___BorderContainerState__hoverColorTween = _.___BorderContainerState__hoverAnimation = _.___BorderContainerState__border = _.___BorderContainerState__borderAnimation = _.___BorderContainerState__hoverColorController = _.___BorderContainerState__controller = $;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _Shaker: function _Shaker(t0, t1, t2) {
      this.child = t0;
      this.listenable = t1;
      this.key = t2;
    },
    _HelperError: function _HelperError(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.textAlign = t0;
      _.helperText = t1;
      _.helperStyle = t2;
      _.helperMaxLines = t3;
      _.errorText = t4;
      _.errorStyle = t5;
      _.errorMaxLines = t6;
      _.key = t7;
    },
    _HelperErrorState: function _HelperErrorState(t0, t1, t2) {
      var _ = this;
      _.___HelperErrorState__controller = $;
      _._error = _._helper = null;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _HelperErrorState__handleChange_closure: function _HelperErrorState__handleChange_closure() {
    },
    FloatingLabelBehavior: function FloatingLabelBehavior(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FloatingLabelAlignment: function FloatingLabelAlignment() {
    },
    _DecorationSlot: function _DecorationSlot(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _Decoration: function _Decoration(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) {
      var _ = this;
      _.contentPadding = t0;
      _.isCollapsed = t1;
      _.floatingLabelHeight = t2;
      _.floatingLabelProgress = t3;
      _.floatingLabelAlignment = t4;
      _.border = t5;
      _.borderGap = t6;
      _.alignLabelWithHint = t7;
      _.isDense = t8;
      _.visualDensity = t9;
      _.icon = t10;
      _.input = t11;
      _.label = t12;
      _.hint = t13;
      _.prefix = t14;
      _.suffix = t15;
      _.prefixIcon = t16;
      _.suffixIcon = t17;
      _.helperError = t18;
      _.counter = t19;
      _.container = t20;
    },
    _RenderDecorationLayout: function _RenderDecorationLayout(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.boxToBaseline = t0;
      _.inputBaseline = t1;
      _.outlineBaseline = t2;
      _.subtextBaseline = t3;
      _.containerHeight = t4;
      _.subtextHeight = t5;
    },
    _RenderDecoration: function _RenderDecoration(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._input_decorator$_decoration = t0;
      _._input_decorator$_textDirection = t1;
      _._input_decorator$_textBaseline = t2;
      _._textAlignVertical = t3;
      _._isFocused = t4;
      _._expands = t5;
      _._labelTransform = null;
      _.SlottedContainerRenderObjectMixin__slotToChild = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t7;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderDecoration_performLayout_centerLayout: function _RenderDecoration_performLayout_centerLayout(t0) {
      this._box_0 = t0;
    },
    _RenderDecoration_performLayout_baselineLayout: function _RenderDecoration_performLayout_baselineLayout(t0, t1) {
      this._box_0 = t0;
      this.layout = t1;
    },
    _RenderDecoration_paint_doPaint: function _RenderDecoration_paint_doPaint(t0, t1) {
      this.context = t0;
      this.offset = t1;
    },
    _RenderDecoration_hitTestChildren_closure: function _RenderDecoration_hitTestChildren_closure(t0, t1, t2) {
      this.position = t0;
      this.offset = t1;
      this.child = t2;
    },
    _Decorator: function _Decorator(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.decoration = t0;
      _.textDirection = t1;
      _.textBaseline = t2;
      _.textAlignVertical = t3;
      _.isFocused = t4;
      _.expands = t5;
      _.key = t6;
    },
    _AffixText: function _AffixText(t0, t1, t2, t3, t4) {
      var _ = this;
      _.labelIsFloating = t0;
      _.text = t1;
      _.style = t2;
      _.child = t3;
      _.key = t4;
    },
    InputDecorator: function InputDecorator(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.decoration = t0;
      _.baseStyle = t1;
      _.textAlign = t2;
      _.textAlignVertical = t3;
      _.isFocused = t4;
      _.isHovering = t5;
      _.expands = t6;
      _.isEmpty = t7;
      _.child = t8;
      _.key = t9;
    },
    _InputDecoratorState: function _InputDecoratorState(t0, t1, t2, t3) {
      var _ = this;
      _.___InputDecoratorState__shakingLabelController = _.___InputDecoratorState__floatingLabelController = $;
      _._borderGap = t0;
      _._effectiveDecoration = null;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _InputDecoratorState__handleChange_closure: function _InputDecoratorState__handleChange_closure() {
    },
    _InputDecoratorState__getFloatingLabelStyle_getFallbackTextStyle: function _InputDecoratorState__getFloatingLabelStyle_getFallbackTextStyle(t0, t1) {
      this.$this = t0;
      this.themeData = t1;
    },
    InputDecoration: function InputDecoration(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, t47, t48, t49) {
      var _ = this;
      _.icon = t0;
      _.iconColor = t1;
      _.label = t2;
      _.labelText = t3;
      _.labelStyle = t4;
      _.floatingLabelStyle = t5;
      _.helperText = t6;
      _.helperStyle = t7;
      _.helperMaxLines = t8;
      _.hintText = t9;
      _.hintStyle = t10;
      _.hintTextDirection = t11;
      _.hintMaxLines = t12;
      _.errorText = t13;
      _.errorStyle = t14;
      _.errorMaxLines = t15;
      _.floatingLabelBehavior = t16;
      _.floatingLabelAlignment = t17;
      _.isDense = t18;
      _.contentPadding = t19;
      _.isCollapsed = t20;
      _.prefixIcon = t21;
      _.prefixIconConstraints = t22;
      _.prefix = t23;
      _.prefixText = t24;
      _.prefixStyle = t25;
      _.prefixIconColor = t26;
      _.suffixIcon = t27;
      _.suffix = t28;
      _.suffixText = t29;
      _.suffixStyle = t30;
      _.suffixIconColor = t31;
      _.suffixIconConstraints = t32;
      _.counterText = t33;
      _.counter = t34;
      _.counterStyle = t35;
      _.filled = t36;
      _.fillColor = t37;
      _.focusColor = t38;
      _.hoverColor = t39;
      _.errorBorder = t40;
      _.focusedBorder = t41;
      _.focusedErrorBorder = t42;
      _.disabledBorder = t43;
      _.enabledBorder = t44;
      _.border = t45;
      _.enabled = t46;
      _.semanticCounterText = t47;
      _.alignLabelWithHint = t48;
      _.constraints = t49;
    },
    InputDecorationTheme: function InputDecorationTheme() {
    },
    _InputDecorationTheme_Object_Diagnosticable: function _InputDecorationTheme_Object_Diagnosticable() {
    },
    __BorderContainerState_State_TickerProviderStateMixin: function __BorderContainerState_State_TickerProviderStateMixin() {
    },
    __Decorator_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin: function __Decorator_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin() {
    },
    __HelperErrorState_State_SingleTickerProviderStateMixin: function __HelperErrorState_State_SingleTickerProviderStateMixin() {
    },
    __InputDecoratorState_State_TickerProviderStateMixin: function __InputDecoratorState_State_TickerProviderStateMixin() {
    },
    __RenderDecoration_RenderBox_SlottedContainerRenderObjectMixin: function __RenderDecoration_RenderBox_SlottedContainerRenderObjectMixin() {
    },
    _RenderListTile__layoutBox(box, constraints) {
      var t1;
      if (box == null)
        return B.Size_0_0;
      box.layout$2$parentUsesSize(constraints, true);
      t1 = box._box$_size;
      t1.toString;
      return t1;
    },
    ListTileStyle: function ListTileStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ListTileControlAffinity: function ListTileControlAffinity(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ListTile: function ListTile(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.leading = t0;
      _.title = t1;
      _.subtitle = t2;
      _.trailing = t3;
      _.contentPadding = t4;
      _.onTap = t5;
      _.key = t6;
    },
    _ListTileSlot: function _ListTileSlot(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _ListTile: function _ListTile(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.leading = t0;
      _.title = t1;
      _.subtitle = t2;
      _.trailing = t3;
      _.isThreeLine = t4;
      _.isDense = t5;
      _.visualDensity = t6;
      _.textDirection = t7;
      _.titleBaselineType = t8;
      _.subtitleBaselineType = t9;
      _.horizontalTitleGap = t10;
      _.minVerticalPadding = t11;
      _.minLeadingWidth = t12;
      _.key = t13;
    },
    _RenderListTile: function _RenderListTile(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._isDense = t0;
      _._visualDensity = t1;
      _._isThreeLine = t2;
      _._list_tile$_textDirection = t3;
      _._titleBaselineType = t4;
      _._subtitleBaselineType = t5;
      _._horizontalTitleGap = t6;
      _._minVerticalPadding = t7;
      _._minLeadingWidth = t8;
      _.SlottedContainerRenderObjectMixin__slotToChild = t9;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t10;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderListTile_paint_doPaint: function _RenderListTile_paint_doPaint(t0, t1) {
      this.context = t0;
      this.offset = t1;
    },
    _RenderListTile_hitTestChildren_closure: function _RenderListTile_hitTestChildren_closure(t0, t1, t2) {
      this.position = t0;
      this.parentData = t1;
      this.child = t2;
    },
    __ListTile_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin: function __ListTile_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin() {
    },
    __RenderListTile_RenderBox_SlottedContainerRenderObjectMixin: function __RenderListTile_RenderBox_SlottedContainerRenderObjectMixin() {
    },
    ListTileThemeData$(contentPadding, dense, enableFeedback, horizontalTitleGap, iconColor, minLeadingWidth, minVerticalPadding, mouseCursor, selectedColor, selectedTileColor, shape, style, textColor, tileColor, visualDensity) {
      return new A.ListTileThemeData(dense, shape, style, selectedColor, iconColor, textColor, contentPadding, tileColor, selectedTileColor, horizontalTitleGap, minVerticalPadding, minLeadingWidth, enableFeedback, mouseCursor, visualDensity);
    },
    ListTileThemeData_lerp(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15,
        t1 = t < 0.5;
      if (t1)
        t2 = a.dense;
      else
        t2 = b.dense;
      t3 = A.ShapeBorder_lerp(a.shape, b.shape, t);
      if (t1)
        t4 = a.style;
      else
        t4 = b.style;
      t5 = A.Color_lerp(a.selectedColor, b.selectedColor, t);
      t6 = A.Color_lerp(a.iconColor, b.iconColor, t);
      t7 = A.Color_lerp(a.textColor, b.textColor, t);
      t8 = A.EdgeInsetsGeometry_lerp(a.contentPadding, b.contentPadding, t);
      t9 = A.Color_lerp(a.tileColor, b.tileColor, t);
      t10 = A.Color_lerp(a.selectedTileColor, b.selectedTileColor, t);
      t11 = A.lerpDouble(a.horizontalTitleGap, b.horizontalTitleGap, t);
      t12 = A.lerpDouble(a.minVerticalPadding, b.minVerticalPadding, t);
      t13 = A.lerpDouble(a.minLeadingWidth, b.minLeadingWidth, t);
      if (t1)
        t14 = a.enableFeedback;
      else
        t14 = b.enableFeedback;
      if (t1)
        t15 = a.mouseCursor;
      else
        t15 = b.mouseCursor;
      if (t1)
        t1 = a.visualDensity;
      else
        t1 = b.visualDensity;
      return A.ListTileThemeData$(t8, t2, t14, t11, t6, t13, t12, t15, t5, t10, t3, t4, t7, t9, t1);
    },
    ListTileTheme$(child, data, key, style) {
      return new A.ListTileTheme(data, style, child, key);
    },
    ListTileTheme_of(context) {
      var result = context.dependOnInheritedWidgetOfExactType$1$0(type$.ListTileTheme),
        t1 = result == null ? null : result.get$data(result);
      return t1 == null ? A.Theme_of(context).listTileTheme : t1;
    },
    ListTileTheme_merge(child, iconColor, textColor) {
      var _null = null;
      return new A.Builder(new A.ListTileTheme_merge_closure(_null, _null, _null, _null, _null, iconColor, textColor, _null, _null, _null, _null, _null, _null, _null, child), _null);
    },
    ListTileThemeData: function ListTileThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.dense = t0;
      _.shape = t1;
      _.style = t2;
      _.selectedColor = t3;
      _.iconColor = t4;
      _.textColor = t5;
      _.contentPadding = t6;
      _.tileColor = t7;
      _.selectedTileColor = t8;
      _.horizontalTitleGap = t9;
      _.minVerticalPadding = t10;
      _.minLeadingWidth = t11;
      _.enableFeedback = t12;
      _.mouseCursor = t13;
      _.visualDensity = t14;
    },
    ListTileTheme: function ListTileTheme(t0, t1, t2, t3) {
      var _ = this;
      _._list_tile_theme$_data = t0;
      _._list_tile_theme$_style = t1;
      _.child = t2;
      _.key = t3;
    },
    ListTileTheme_merge_closure: function ListTileTheme_merge_closure(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.key = t0;
      _.dense = t1;
      _.shape = t2;
      _.style = t3;
      _.selectedColor = t4;
      _.iconColor = t5;
      _.textColor = t6;
      _.contentPadding = t7;
      _.tileColor = t8;
      _.selectedTileColor = t9;
      _.enableFeedback = t10;
      _.horizontalTitleGap = t11;
      _.minVerticalPadding = t12;
      _.minLeadingWidth = t13;
      _.child = t14;
    },
    _ListTileThemeData_Object_Diagnosticable: function _ListTileThemeData_Object_Diagnosticable() {
    },
    Material$(animationDuration, borderOnForeground, borderRadius, child, clipBehavior, color, elevation, key, shadowColor, shape, surfaceTintColor, textStyle, type) {
      return new A.Material(child, type, elevation, color, shadowColor, surfaceTintColor, textStyle, shape, true, clipBehavior, animationDuration, borderRadius, key);
    },
    MaterialType: function MaterialType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Material: function Material(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.child = t0;
      _.type = t1;
      _.elevation = t2;
      _.color = t3;
      _.shadowColor = t4;
      _.surfaceTintColor = t5;
      _.textStyle = t6;
      _.shape = t7;
      _.borderOnForeground = t8;
      _.clipBehavior = t9;
      _.animationDuration = t10;
      _.borderRadius = t11;
      _.key = t12;
    },
    _MaterialState: function _MaterialState(t0, t1, t2, t3) {
      var _ = this;
      _._inkFeatureRenderer = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _MaterialState_build_closure: function _MaterialState_build_closure(t0) {
      this.$this = t0;
    },
    _RenderInkFeatures: function _RenderInkFeatures(t0, t1, t2, t3, t4) {
      var _ = this;
      _.vsync = t0;
      _.color = t1;
      _.absorbHitTest = t2;
      _._inkFeatures = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _InkFeatures: function _InkFeatures(t0, t1, t2, t3, t4) {
      var _ = this;
      _.color = t0;
      _.vsync = t1;
      _.absorbHitTest = t2;
      _.child = t3;
      _.key = t4;
    },
    InkFeature: function InkFeature() {
    },
    ShapeBorderTween: function ShapeBorderTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    _MaterialInterior: function _MaterialInterior(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.child = t0;
      _.shape = t1;
      _.borderOnForeground = t2;
      _.clipBehavior = t3;
      _.elevation = t4;
      _.color = t5;
      _.shadowColor = t6;
      _.surfaceTintColor = t7;
      _.curve = t8;
      _.duration = t9;
      _.onEnd = t10;
      _.key = t11;
    },
    _MaterialInteriorState: function _MaterialInteriorState(t0, t1, t2) {
      var _ = this;
      _._border = _._shadowColor = _._surfaceTintColor = _._material$_elevation = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _MaterialInteriorState_forEachTween_closure: function _MaterialInteriorState_forEachTween_closure() {
    },
    _MaterialInteriorState_forEachTween_closure0: function _MaterialInteriorState_forEachTween_closure0() {
    },
    _MaterialInteriorState_forEachTween_closure1: function _MaterialInteriorState_forEachTween_closure1() {
    },
    _MaterialInteriorState_forEachTween_closure2: function _MaterialInteriorState_forEachTween_closure2() {
    },
    _ShapeBorderPaint: function _ShapeBorderPaint(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.shape = t1;
      _.borderOnForeground = t2;
      _.key = t3;
    },
    _ShapeBorderPainter: function _ShapeBorderPainter(t0, t1, t2) {
      this.border = t0;
      this.textDirection = t1;
      this._repaint = t2;
    },
    __MaterialState_State_TickerProviderStateMixin: function __MaterialState_State_TickerProviderStateMixin() {
    },
    _MaterialLocalizationsDelegate: function _MaterialLocalizationsDelegate() {
    },
    DefaultMaterialLocalizations: function DefaultMaterialLocalizations() {
    },
    MaterialStateProperty_resolveAs(value, states, $T) {
      if ($T._eval$1("MaterialStateProperty<0>")._is(value))
        return value.resolve$1(states);
      return value;
    },
    MaterialStateProperty_lerp(a, b, t, lerpFunction, $T) {
      if (a == null && b == null)
        return null;
      return new A._LerpProperties0(a, b, t, lerpFunction, $T._eval$1("_LerpProperties0<0>"));
    },
    MaterialState: function MaterialState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MaterialStateMouseCursor: function MaterialStateMouseCursor() {
    },
    _EnabledAndDisabledMouseCursor: function _EnabledAndDisabledMouseCursor(t0, t1) {
      this.enabledCursor = t0;
      this.name = t1;
    },
    MaterialStateProperty: function MaterialStateProperty() {
    },
    _LerpProperties0: function _LerpProperties0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.a = t0;
      _.b = t1;
      _.t = t2;
      _.lerpFunction = t3;
      _.$ti = t4;
    },
    _MaterialStatePropertyWith: function _MaterialStatePropertyWith(t0, t1) {
      this._material_state$_resolve = t0;
      this.$ti = t1;
    },
    MaterialStatePropertyAll: function MaterialStatePropertyAll(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    MaterialStateMixin: function MaterialStateMixin() {
    },
    MaterialStateMixin_updateMaterialState_closure: function MaterialStateMixin_updateMaterialState_closure(t0, t1, t2) {
      this.$this = t0;
      this.key = t1;
      this.onChanged = t2;
    },
    MaterialStateMixin_addMaterialState_closure: function MaterialStateMixin_addMaterialState_closure() {
    },
    MaterialStateMixin_removeMaterialState_closure: function MaterialStateMixin_removeMaterialState_closure() {
    },
    NavigationIndicator$(animation, borderRadius, color, height, shape, width) {
      return new A.NavigationIndicator(animation, color, width, height, borderRadius, shape, null);
    },
    NavigationIndicator: function NavigationIndicator(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.animation = t0;
      _.color = t1;
      _.width = t2;
      _.height = t3;
      _.borderRadius = t4;
      _.shape = t5;
      _.key = t6;
    },
    NavigationIndicator_build_closure: function NavigationIndicator_build_closure(t0) {
      this.$this = t0;
    },
    NavigationIndicator_build_closure0: function NavigationIndicator_build_closure0(t0) {
      this.$this = t0;
    },
    NavigationIndicator_build__closure: function NavigationIndicator_build__closure(t0) {
      this.$this = t0;
    },
    _StatusTransitionWidgetBuilder: function _StatusTransitionWidgetBuilder(t0, t1, t2) {
      this.builder = t0;
      this.animation = t1;
      this.key = t2;
    },
    _SelectableAnimatedBuilder: function _SelectableAnimatedBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.isSelected = t0;
      _.duration = t1;
      _.alwaysDoFullAnimation = t2;
      _.builder = t3;
      _.key = t4;
    },
    _SelectableAnimatedBuilderState: function _SelectableAnimatedBuilderState(t0, t1, t2) {
      var _ = this;
      _.___SelectableAnimatedBuilderState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    __SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin: function __SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin() {
    },
    NavigationBarThemeData_lerp(a, b, t) {
      var t9,
        t1 = A.lerpDouble(a.height, b.height, t),
        t2 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t3 = A.Color_lerp(a.surfaceTintColor, b.surfaceTintColor, t),
        t4 = A.lerpDouble(a.elevation, b.elevation, t),
        t5 = A.Color_lerp(a.indicatorColor, b.indicatorColor, t),
        t6 = A.ShapeBorder_lerp(a.indicatorShape, b.indicatorShape, t),
        t7 = A.MaterialStateProperty_lerp(a.labelTextStyle, b.labelTextStyle, t, A.text_style_TextStyle_lerp$closure(), type$.nullable_TextStyle),
        t8 = A.MaterialStateProperty_lerp(a.iconTheme, b.iconTheme, t, A.icon_theme_data_IconThemeData_lerp$closure(), type$.nullable_IconThemeData);
      if (t < 0.5)
        t9 = a.labelBehavior;
      else
        t9 = b.labelBehavior;
      return new A.NavigationBarThemeData(t1, t2, t3, t4, t5, t6, t7, t8, t9);
    },
    NavigationBarThemeData: function NavigationBarThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.height = t0;
      _.backgroundColor = t1;
      _.surfaceTintColor = t2;
      _.elevation = t3;
      _.indicatorColor = t4;
      _.indicatorShape = t5;
      _.labelTextStyle = t6;
      _.iconTheme = t7;
      _.labelBehavior = t8;
    },
    _NavigationBarThemeData_Object_Diagnosticable: function _NavigationBarThemeData_Object_Diagnosticable() {
    },
    NavigationRail: function NavigationRail(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.destinations = t0;
      _.selectedIndex = t1;
      _.onDestinationSelected = t2;
      _.elevation = t3;
      _.labelType = t4;
      _.key = t5;
    },
    _NavigationRailState: function _NavigationRailState(t0, t1, t2) {
      var _ = this;
      _.___NavigationRailState__extendedAnimation = _.___NavigationRailState__extendedController = _.___NavigationRailState__destinationAnimations = _.___NavigationRailState__destinationControllers = $;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _NavigationRailState_build_closure: function _NavigationRailState_build_closure(t0, t1) {
      this.$this = t0;
      this.i = t1;
    },
    _NavigationRailState__initControllers_closure: function _NavigationRailState__initControllers_closure() {
    },
    _NavigationRailState__initControllers_closure0: function _NavigationRailState__initControllers_closure0(t0) {
      this.$this = t0;
    },
    _NavigationRailState__rebuild_closure: function _NavigationRailState__rebuild_closure() {
    },
    _RailDestination: function _RailDestination(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.minWidth = t0;
      _.minExtendedWidth = t1;
      _.icon = t2;
      _.label = t3;
      _.destinationAnimation = t4;
      _.labelType = t5;
      _.selected = t6;
      _.extendedTransitionAnimation = t7;
      _.iconTheme = t8;
      _.labelTextStyle = t9;
      _.onTap = t10;
      _.indexLabel = t11;
      _.padding = t12;
      _.useIndicator = t13;
      _.indicatorColor = t14;
      _._positionAnimation = t15;
      _.key = t16;
    },
    _RailDestination_build_closure: function _RailDestination_build_closure() {
    },
    _AddIndicator: function _AddIndicator(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.addIndicator = t0;
      _.isCircular = t1;
      _.indicatorColor = t2;
      _.indicatorAnimation = t3;
      _.child = t4;
      _.key = t5;
    },
    NavigationRailLabelType: function NavigationRailLabelType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    NavigationRailDestination: function NavigationRailDestination(t0, t1, t2) {
      this.icon = t0;
      this.selectedIcon = t1;
      this.label = t2;
    },
    _ExtendedNavigationRailAnimation: function _ExtendedNavigationRailAnimation(t0, t1, t2) {
      this.animation = t0;
      this.child = t1;
      this.key = t2;
    },
    _DefaultsM22: function _DefaultsM22(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _._navigation_rail$_theme = t0;
      _._navigation_rail$_colors = t1;
      _.backgroundColor = t2;
      _.elevation = t3;
      _.unselectedLabelTextStyle = t4;
      _.selectedLabelTextStyle = t5;
      _.unselectedIconTheme = t6;
      _.selectedIconTheme = t7;
      _.groupAlignment = t8;
      _.labelType = t9;
      _.useIndicator = t10;
      _.indicatorColor = t11;
      _.minWidth = t12;
      _.minExtendedWidth = t13;
    },
    __NavigationRailState_State_TickerProviderStateMixin: function __NavigationRailState_State_TickerProviderStateMixin() {
    },
    NavigationRailThemeData_lerp(a, b, t) {
      var t9, t10, t11,
        t1 = A.Color_lerp(a.backgroundColor, b.backgroundColor, t),
        t2 = A.lerpDouble(a.elevation, b.elevation, t),
        t3 = A.TextStyle_lerp(a.unselectedLabelTextStyle, b.unselectedLabelTextStyle, t),
        t4 = A.TextStyle_lerp(a.selectedLabelTextStyle, b.selectedLabelTextStyle, t),
        t5 = A.IconThemeData_lerp(a.unselectedIconTheme, b.unselectedIconTheme, t),
        t6 = A.IconThemeData_lerp(a.selectedIconTheme, b.selectedIconTheme, t),
        t7 = A.lerpDouble(a.groupAlignment, b.groupAlignment, t),
        t8 = t < 0.5;
      if (t8)
        t9 = a.labelType;
      else
        t9 = b.labelType;
      if (t8)
        t8 = a.useIndicator;
      else
        t8 = b.useIndicator;
      t10 = A.Color_lerp(a.indicatorColor, b.indicatorColor, t);
      t11 = A.lerpDouble(a.minWidth, b.minWidth, t);
      return new A.NavigationRailThemeData(t1, t2, t3, t4, t5, t6, t7, t9, t8, t10, t11, A.lerpDouble(a.minExtendedWidth, b.minExtendedWidth, t));
    },
    NavigationRailThemeData: function NavigationRailThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.backgroundColor = t0;
      _.elevation = t1;
      _.unselectedLabelTextStyle = t2;
      _.selectedLabelTextStyle = t3;
      _.unselectedIconTheme = t4;
      _.selectedIconTheme = t5;
      _.groupAlignment = t6;
      _.labelType = t7;
      _.useIndicator = t8;
      _.indicatorColor = t9;
      _.minWidth = t10;
      _.minExtendedWidth = t11;
    },
    _NavigationRailThemeData_Object_Diagnosticable: function _NavigationRailThemeData_Object_Diagnosticable() {
    },
    OutlinedButton$(autofocus, child, key, onPressed, style) {
      var _null = null;
      return new A.OutlinedButton(onPressed, _null, _null, _null, style, B.Clip_0, _null, autofocus, child, key);
    },
    OutlinedButton_styleFrom(alignment, animationDuration, backgroundColor, disabledMouseCursor, elevation, enableFeedback, enabledMouseCursor, fixedSize, maximumSize, minimumSize, onSurface, padding, primary, shadowColor, shape, side, splashFactory, tapTargetSize, textStyle, visualDensity) {
      var mouseCursor, t1, t2, t3, t4, t5, t6, t7, t8, t9, _null = null,
        foregroundColor = onSurface == null && primary == null ? _null : new A._OutlinedButtonDefaultForeground(primary, onSurface),
        overlayColor = primary == null ? _null : new A._OutlinedButtonDefaultOverlay(primary);
      if (enabledMouseCursor == null && disabledMouseCursor == null)
        mouseCursor = _null;
      else {
        enabledMouseCursor.toString;
        disabledMouseCursor.toString;
        mouseCursor = new A._OutlinedButtonDefaultMouseCursor(enabledMouseCursor, disabledMouseCursor);
      }
      t1 = textStyle == null ? _null : new A.MaterialStatePropertyAll(textStyle, type$.MaterialStatePropertyAll_TextStyle);
      t2 = backgroundColor == null ? _null : new A.MaterialStatePropertyAll(backgroundColor, type$.MaterialStatePropertyAll_Color);
      t3 = shadowColor == null ? _null : new A.MaterialStatePropertyAll(shadowColor, type$.MaterialStatePropertyAll_Color);
      t4 = elevation == null ? _null : new A.MaterialStatePropertyAll(elevation, type$.MaterialStatePropertyAll_double);
      t5 = padding == null ? _null : new A.MaterialStatePropertyAll(padding, type$.MaterialStatePropertyAll_EdgeInsetsGeometry);
      t6 = minimumSize == null ? _null : new A.MaterialStatePropertyAll(minimumSize, type$.MaterialStatePropertyAll_Size);
      t7 = fixedSize == null ? _null : new A.MaterialStatePropertyAll(fixedSize, type$.MaterialStatePropertyAll_Size);
      t8 = maximumSize == null ? _null : new A.MaterialStatePropertyAll(maximumSize, type$.MaterialStatePropertyAll_Size);
      t9 = side == null ? _null : new A.MaterialStatePropertyAll(side, type$.MaterialStatePropertyAll_BorderSide);
      return A.ButtonStyle$(alignment, animationDuration, t2, t4, enableFeedback, t7, foregroundColor, t8, t6, mouseCursor, overlayColor, t5, t3, shape == null ? _null : new A.MaterialStatePropertyAll(shape, type$.MaterialStatePropertyAll_OutlinedBorder), t9, splashFactory, _null, tapTargetSize, t1, visualDensity);
    },
    _scaledPadding1(context) {
      var t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      return A.ButtonStyleButton_scaledPadding(B.EdgeInsets_16_0_16_0, B.EdgeInsets_8_0_8_0, B.EdgeInsets_4_0_4_0, t1 == null ? 1 : t1);
    },
    OutlinedButton: function OutlinedButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.onPressed = t0;
      _.onLongPress = t1;
      _.onHover = t2;
      _.onFocusChange = t3;
      _.style = t4;
      _.clipBehavior = t5;
      _.focusNode = t6;
      _.autofocus = t7;
      _.child = t8;
      _.key = t9;
    },
    _OutlinedButtonDefaultForeground: function _OutlinedButtonDefaultForeground(t0, t1) {
      this.primary = t0;
      this.onSurface = t1;
    },
    _OutlinedButtonDefaultOverlay: function _OutlinedButtonDefaultOverlay(t0) {
      this.primary = t0;
    },
    _OutlinedButtonDefaultMouseCursor: function _OutlinedButtonDefaultMouseCursor(t0, t1) {
      this.enabledCursor = t0;
      this.disabledCursor = t1;
    },
    __OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable: function __OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable() {
    },
    __OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable: function __OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable() {
    },
    __OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable: function __OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable() {
    },
    OutlinedButtonThemeData_lerp(a, b, t) {
      return new A.OutlinedButtonThemeData(A.ButtonStyle_lerp(a.style, b.style, t));
    },
    OutlinedButtonThemeData: function OutlinedButtonThemeData(t0) {
      this.style = t0;
    },
    _OutlinedButtonThemeData_Object_Diagnosticable: function _OutlinedButtonThemeData_Object_Diagnosticable() {
    },
    MaterialPage$(child, $T) {
      var _null = null;
      return new A.MaterialPage(child, _null, _null, _null, _null, $T._eval$1("MaterialPage<0>"));
    },
    _PageBasedMaterialPageRoute$(page, $T) {
      var _null = null,
        t1 = A._setArrayType([], type$.JSArray_of_Future_bool_Function),
        t2 = $.Zone__current,
        t3 = A.ProxyAnimation$(B.C__AlwaysDismissedAnimation),
        t4 = A._setArrayType([], type$.JSArray_OverlayEntry),
        t5 = $.$get$ChangeNotifier__emptyListeners(),
        t6 = $.Zone__current;
      return new A._PageBasedMaterialPageRoute(false, _null, t1, new A.LabeledGlobalKey(_null, $T._eval$1("LabeledGlobalKey<_ModalScopeState<0>>")), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new A.PageStorageBucket(), _null, 0, new A._AsyncCompleter(new A._Future(t2, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), t3, t4, page, new A.ValueNotifier(_null, t5, type$.ValueNotifier_nullable_String), new A._AsyncCompleter(new A._Future(t6, $T._eval$1("_Future<0?>")), $T._eval$1("_AsyncCompleter<0?>")), $T._eval$1("_PageBasedMaterialPageRoute<0>"));
    },
    MaterialRouteTransitionMixin: function MaterialRouteTransitionMixin() {
    },
    MaterialPage: function MaterialPage(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.child = t0;
      _.key = t1;
      _.restorationId = t2;
      _.name = t3;
      _.$arguments = t4;
      _.$ti = t5;
    },
    _PageBasedMaterialPageRoute: function _PageBasedMaterialPageRoute(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.fullscreenDialog = t0;
      _.filter = t1;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t2;
      _._scopeKey = t3;
      _._subtreeKey = t4;
      _._storageBucket = t5;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t6;
      _.LocalHistoryRoute__entriesImpliesAppBarDismissal = t7;
      _._transitionCompleter = t8;
      _._popFinalized = false;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t9;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t10;
      _._navigator$_navigator = null;
      _._settings = t11;
      _._restorationScopeId = t12;
      _._popCompleter = t13;
      _.$ti = t14;
    },
    __PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin: function __PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin() {
    },
    _ZoomPageTransition: function _ZoomPageTransition(t0, t1, t2, t3) {
      var _ = this;
      _.animation = t0;
      _.secondaryAnimation = t1;
      _.child = t2;
      _.key = t3;
    },
    _ZoomPageTransition_build_closure: function _ZoomPageTransition_build_closure() {
    },
    _ZoomPageTransition_build_closure0: function _ZoomPageTransition_build_closure0() {
    },
    _ZoomPageTransition_build_closure1: function _ZoomPageTransition_build_closure1() {
    },
    _ZoomPageTransition_build_closure2: function _ZoomPageTransition_build_closure2() {
    },
    _ZoomEnterTransition: function _ZoomEnterTransition(t0, t1, t2, t3) {
      var _ = this;
      _.animation = t0;
      _.child = t1;
      _.reverse = t2;
      _.key = t3;
    },
    _ZoomEnterTransition_build_closure: function _ZoomEnterTransition_build_closure(t0) {
      this._box_0 = t0;
    },
    _ZoomExitTransition: function _ZoomExitTransition(t0, t1, t2, t3) {
      var _ = this;
      _.animation = t0;
      _.reverse = t1;
      _.child = t2;
      _.key = t3;
    },
    PageTransitionsBuilder: function PageTransitionsBuilder() {
    },
    ZoomPageTransitionsBuilder: function ZoomPageTransitionsBuilder() {
    },
    CupertinoPageTransitionsBuilder: function CupertinoPageTransitionsBuilder() {
    },
    PageTransitionsTheme: function PageTransitionsTheme() {
    },
    PageTransitionsTheme__all_closure: function PageTransitionsTheme__all_closure(t0) {
      this.builders = t0;
    },
    _PageTransitionsTheme_Object_Diagnosticable: function _PageTransitionsTheme_Object_Diagnosticable() {
    },
    PopupMenuItem$(child, onTap, value, $T) {
      return new A.PopupMenuItem(value, onTap, child, null, $T._eval$1("PopupMenuItem<0>"));
    },
    PopupMenuButton$(child, enabled, icon, initialValue, itemBuilder, offset, onSelected, padding, splashRadius, tooltip, $T) {
      return new A.PopupMenuButton(itemBuilder, initialValue, onSelected, tooltip, padding, splashRadius, child, icon, offset, enabled, null, $T._eval$1("PopupMenuButton<0>"));
    },
    PopupMenuPosition: function PopupMenuPosition(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PopupMenuEntry: function PopupMenuEntry() {
    },
    _MenuItem: function _MenuItem(t0, t1, t2) {
      this.onLayout = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderMenuItem: function _RenderMenuItem(t0, t1, t2) {
      var _ = this;
      _.onLayout = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    PopupMenuItem: function PopupMenuItem(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.onTap = t1;
      _.child = t2;
      _.key = t3;
      _.$ti = t4;
    },
    PopupMenuItemState: function PopupMenuItemState(t0, t1) {
      var _ = this;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _PopupMenu: function _PopupMenu(t0, t1, t2, t3, t4) {
      var _ = this;
      _.route = t0;
      _.semanticLabel = t1;
      _.constraints = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _PopupMenu_build_closure: function _PopupMenu_build_closure(t0, t1) {
      this.$this = t0;
      this.i = t1;
    },
    _PopupMenu_build_closure0: function _PopupMenu_build_closure0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.opacity = t1;
      _.popupMenuTheme = t2;
      _.width = t3;
      _.height = t4;
    },
    _PopupMenuRouteLayout: function _PopupMenuRouteLayout(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.position = t0;
      _.itemSizes = t1;
      _.selectedItemIndex = t2;
      _.textDirection = t3;
      _.padding = t4;
      _.avoidBounds = t5;
    },
    _PopupMenuRoute: function _PopupMenuRoute(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) {
      var _ = this;
      _.position = t0;
      _.items = t1;
      _.itemSizes = t2;
      _.initialValue = t3;
      _.elevation = t4;
      _.semanticLabel = t5;
      _.shape = t6;
      _.color = t7;
      _.capturedThemes = t8;
      _.constraints = t9;
      _.barrierLabel = t10;
      _.filter = t11;
      _._offstage = false;
      _._secondaryAnimationProxy = _._animationProxy = null;
      _._willPopCallbacks = t12;
      _._scopeKey = t13;
      _._subtreeKey = t14;
      _._storageBucket = t15;
      _.__ModalRoute__modalBarrier = $;
      _._modalScopeCache = null;
      _.__ModalRoute__modalScope = $;
      _.LocalHistoryRoute__localHistory = t16;
      _.LocalHistoryRoute__entriesImpliesAppBarDismissal = t17;
      _._transitionCompleter = t18;
      _._popFinalized = false;
      _._routes$_controller = _._animation = null;
      _._secondaryAnimation = t19;
      _._trainHoppingListenerRemover = _._result = null;
      _._overlayEntries = t20;
      _._navigator$_navigator = null;
      _._settings = t21;
      _._restorationScopeId = t22;
      _._popCompleter = t23;
      _.$ti = t24;
    },
    _PopupMenuRoute_buildPage_closure: function _PopupMenuRoute_buildPage_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.mediaQuery = t2;
      _.menu = t3;
    },
    PopupMenuButton: function PopupMenuButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.itemBuilder = t0;
      _.initialValue = t1;
      _.onSelected = t2;
      _.tooltip = t3;
      _.padding = t4;
      _.splashRadius = t5;
      _.child = t6;
      _.icon = t7;
      _.offset = t8;
      _.enabled = t9;
      _.key = t10;
      _.$ti = t11;
    },
    PopupMenuButtonState: function PopupMenuButtonState(t0, t1) {
      var _ = this;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    PopupMenuButtonState_showButtonMenu_closure: function PopupMenuButtonState_showButtonMenu_closure(t0) {
      this.$this = t0;
    },
    _EffectiveMouseCursor: function _EffectiveMouseCursor(t0, t1) {
      this.widgetCursor = t0;
      this.themeCursor = t1;
    },
    PopupMenuThemeData_lerp(a, b, t) {
      var t6,
        t1 = A.Color_lerp(a.color, b.color, t),
        t2 = A.ShapeBorder_lerp(a.shape, b.shape, t),
        t3 = A.lerpDouble(a.elevation, b.elevation, t),
        t4 = A.TextStyle_lerp(a.textStyle, b.textStyle, t),
        t5 = t < 0.5;
      if (t5)
        t6 = a.enableFeedback;
      else
        t6 = b.enableFeedback;
      if (t5)
        t5 = a.mouseCursor;
      else
        t5 = b.mouseCursor;
      return new A.PopupMenuThemeData(t1, t2, t3, t4, t6, t5);
    },
    PopupMenuTheme_of(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.PopupMenuTheme);
      t1 = A.Theme_of(context);
      return t1.popupMenuTheme;
    },
    PopupMenuThemeData: function PopupMenuThemeData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.color = t0;
      _.shape = t1;
      _.elevation = t2;
      _.textStyle = t3;
      _.enableFeedback = t4;
      _.mouseCursor = t5;
    },
    _PopupMenuThemeData_Object_Diagnosticable: function _PopupMenuThemeData_Object_Diagnosticable() {
    },
    _ActivityIndicatorType: function _ActivityIndicatorType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ProgressIndicator: function ProgressIndicator() {
    },
    _LinearProgressIndicatorPainter: function _LinearProgressIndicatorPainter(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.backgroundColor = t0;
      _.valueColor = t1;
      _.value = t2;
      _.animationValue = t3;
      _.textDirection = t4;
      _._repaint = t5;
    },
    _LinearProgressIndicatorPainter_paint_drawBar: function _LinearProgressIndicatorPainter_paint_drawBar(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.size = t1;
      _.canvas = t2;
      _.paint = t3;
    },
    LinearProgressIndicator: function LinearProgressIndicator(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.value = t0;
      _.backgroundColor = t1;
      _.color = t2;
      _.valueColor = t3;
      _.semanticsLabel = t4;
      _.semanticsValue = t5;
      _.key = t6;
    },
    _LinearProgressIndicatorState: function _LinearProgressIndicatorState(t0, t1, t2) {
      var _ = this;
      _.___LinearProgressIndicatorState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _LinearProgressIndicatorState_build_closure: function _LinearProgressIndicatorState_build_closure(t0, t1) {
      this.$this = t0;
      this.textDirection = t1;
    },
    _CircularProgressIndicatorPainter: function _CircularProgressIndicatorPainter(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.backgroundColor = t0;
      _.valueColor = t1;
      _.value = t2;
      _.headValue = t3;
      _.tailValue = t4;
      _.offsetValue = t5;
      _.rotationValue = t6;
      _.strokeWidth = t7;
      _.arcStart = t8;
      _.arcSweep = t9;
      _._repaint = t10;
    },
    CircularProgressIndicator: function CircularProgressIndicator(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.strokeWidth = t0;
      _.value = t1;
      _.backgroundColor = t2;
      _.color = t3;
      _.valueColor = t4;
      _.semanticsLabel = t5;
      _.semanticsValue = t6;
      _.key = t7;
    },
    _CircularProgressIndicatorState: function _CircularProgressIndicatorState(t0, t1, t2) {
      var _ = this;
      _.___CircularProgressIndicatorState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _CircularProgressIndicatorState__buildAnimation_closure: function _CircularProgressIndicatorState__buildAnimation_closure(t0) {
      this.$this = t0;
    },
    __CircularProgressIndicatorState_State_SingleTickerProviderStateMixin: function __CircularProgressIndicatorState_State_SingleTickerProviderStateMixin() {
    },
    __LinearProgressIndicatorState_State_SingleTickerProviderStateMixin: function __LinearProgressIndicatorState_State_SingleTickerProviderStateMixin() {
    },
    ProgressIndicatorThemeData_lerp(a, b, t) {
      var t1 = A.Color_lerp(a.color, b.color, t),
        t2 = A.Color_lerp(a.linearTrackColor, b.linearTrackColor, t),
        t3 = A.lerpDouble(a.linearMinHeight, b.linearMinHeight, t),
        t4 = A.Color_lerp(a.circularTrackColor, b.circularTrackColor, t);
      return new A.ProgressIndicatorThemeData(t1, t2, t3, t4, A.Color_lerp(a.refreshBackgroundColor, b.refreshBackgroundColor, t));
    },
    ProgressIndicatorTheme_of(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ProgressIndicatorTheme);
      t1 = A.Theme_of(context);
      return t1.progressIndicatorTheme;
    },
    ProgressIndicatorThemeData: function ProgressIndicatorThemeData(t0, t1, t2, t3, t4) {
      var _ = this;
      _.color = t0;
      _.linearTrackColor = t1;
      _.linearMinHeight = t2;
      _.circularTrackColor = t3;
      _.refreshBackgroundColor = t4;
    },
    _ProgressIndicatorThemeData_Object_Diagnosticable: function _ProgressIndicatorThemeData_Object_Diagnosticable() {
    },
    Radio: function Radio(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.value = t0;
      _.groupValue = t1;
      _.onChanged = t2;
      _.materialTapTargetSize = t3;
      _.key = t4;
      _.$ti = t5;
    },
    _RadioState: function _RadioState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _._radio$_painter = t0;
      _.ToggleableStateMixin___ToggleableStateMixin__positionController = t1;
      _.ToggleableStateMixin___ToggleableStateMixin__position = t2;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionController = t3;
      _.ToggleableStateMixin___ToggleableStateMixin__reaction = t4;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = t5;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = t6;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = t7;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = t8;
      _.ToggleableStateMixin___ToggleableStateMixin__actionMap = t9;
      _.ToggleableStateMixin__downPosition = t10;
      _.ToggleableStateMixin__focused = t11;
      _.ToggleableStateMixin__hovering = t12;
      _.TickerProviderStateMixin__tickers = t13;
      _.TickerProviderStateMixin__tickerModeNotifier = t14;
      _._widget = null;
      _._debugLifecycleState = t15;
      _._framework$_element = null;
      _.$ti = t16;
    },
    _RadioState__widgetFillColor_closure: function _RadioState__widgetFillColor_closure(t0) {
      this.$this = t0;
    },
    _RadioState__defaultFillColor_closure: function _RadioState__defaultFillColor_closure(t0) {
      this.themeData = t0;
    },
    _RadioState_build_closure: function _RadioState_build_closure(t0, t1) {
      this.$this = t0;
      this.radioTheme = t1;
    },
    _RadioPainter: function _RadioPainter(t0) {
      var _ = this;
      _._isHovered = _._toggleable$_isFocused = _._downPosition = _._splashRadius = _._toggleable$_focusColor = _._toggleable$_hoverColor = _._reactionColor = _._inactiveReactionColor = _._inactiveColor = _._activeColor = _._reactionHoverFade = _._reactionFocusFade = _._reaction = _._toggleable$_position = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    __RadioState_State_TickerProviderStateMixin: function __RadioState_State_TickerProviderStateMixin() {
    },
    __RadioState_State_TickerProviderStateMixin_ToggleableStateMixin: function __RadioState_State_TickerProviderStateMixin_ToggleableStateMixin() {
    },
    RadioThemeData: function RadioThemeData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.mouseCursor = t0;
      _.fillColor = t1;
      _.overlayColor = t2;
      _.splashRadius = t3;
      _.materialTapTargetSize = t4;
      _.visualDensity = t5;
    },
    _RadioThemeData_Object_Diagnosticable: function _RadioThemeData_Object_Diagnosticable() {
    },
    Scaffold$(appBar, body, bottomNavigationBar) {
      return new A.Scaffold(appBar, body, bottomNavigationBar, null);
    },
    Scaffold_of(context) {
      var result = context.findAncestorStateOfType$1$0(type$.ScaffoldState);
      if (result != null)
        return result;
      throw A.wrapException(A.FlutterError$fromParts(A._setArrayType([A.ErrorSummary$("Scaffold.of() called with a context that does not contain a Scaffold."), A.ErrorDescription$("No Scaffold ancestor could be found starting from the context that was passed to Scaffold.of(). This usually happens when the context provided is from the same StatefulWidget as that whose build function actually creates the Scaffold widget being sought."), A.ErrorHint$('There are several ways to avoid this problem. The simplest is to use a Builder to get a context that is "under" the Scaffold. For an example of this, please see the documentation for Scaffold.of():\n  https://api.flutter.dev/flutter/material/Scaffold/of.html'), A.ErrorHint$("A more efficient solution is to split your build function into several widgets. This introduces a new context from which you can obtain the Scaffold. In this solution, you would have an outer widget that creates the Scaffold populated by instances of your new inner widgets, and then in these inner widgets you would use Scaffold.of().\nA less elegant but more expedient solution is assign a GlobalKey to the Scaffold, then use the key.currentState property to obtain the ScaffoldState rather than using the Scaffold.of() function."), context.describeElement$1("The context used was")], type$.JSArray_DiagnosticsNode)));
    },
    _ScaffoldSlot: function _ScaffoldSlot(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScaffoldMessenger: function ScaffoldMessenger(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    ScaffoldMessengerState: function ScaffoldMessengerState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._scaffolds = t0;
      _._materialBanners = t1;
      _._snackBars = t2;
      _._accessibleNavigation = _._snackBarTimer = _._snackBarController = null;
      _.TickerProviderStateMixin__tickers = t3;
      _.TickerProviderStateMixin__tickerModeNotifier = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    ScaffoldMessengerState_showSnackBar_closure: function ScaffoldMessengerState_showSnackBar_closure(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    ScaffoldMessengerState_showSnackBar_closure0: function ScaffoldMessengerState_showSnackBar_closure0(t0, t1) {
      this.$this = t0;
      this.controller = t1;
    },
    ScaffoldMessengerState__handleSnackBarStatusChanged_closure: function ScaffoldMessengerState__handleSnackBarStatusChanged_closure(t0) {
      this.$this = t0;
    },
    ScaffoldMessengerState__handleSnackBarStatusChanged_closure0: function ScaffoldMessengerState__handleSnackBarStatusChanged_closure0(t0) {
      this.$this = t0;
    },
    ScaffoldMessengerState_hideCurrentSnackBar_closure: function ScaffoldMessengerState_hideCurrentSnackBar_closure(t0, t1, t2) {
      this.$this = t0;
      this.completer = t1;
      this.reason = t2;
    },
    ScaffoldMessengerState_build_closure: function ScaffoldMessengerState_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.context = t1;
      this.snackBar = t2;
    },
    _ScaffoldMessengerScope: function _ScaffoldMessengerScope(t0, t1, t2) {
      this._scaffoldMessengerState = t0;
      this.child = t1;
      this.key = t2;
    },
    ScaffoldPrelayoutGeometry: function ScaffoldPrelayoutGeometry(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.floatingActionButtonSize = t0;
      _.bottomSheetSize = t1;
      _.contentBottom = t2;
      _.minInsets = t3;
      _.minViewPadding = t4;
      _.scaffoldSize = t5;
      _.snackBarSize = t6;
      _.textDirection = t7;
    },
    ScaffoldGeometry: function ScaffoldGeometry(t0, t1) {
      this.bottomNavigationBarTop = t0;
      this.floatingActionButtonArea = t1;
    },
    _ScaffoldGeometryNotifier: function _ScaffoldGeometryNotifier(t0, t1, t2) {
      var _ = this;
      _.context = t0;
      _.floatingActionButtonScale = null;
      _.geometry = t1;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _BodyBoxConstraints: function _BodyBoxConstraints(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.bottomWidgetsHeight = t0;
      _.appBarHeight = t1;
      _.materialBannerHeight = t2;
      _.minWidth = t3;
      _.maxWidth = t4;
      _.minHeight = t5;
      _.maxHeight = t6;
    },
    _BodyBuilder: function _BodyBuilder(t0, t1, t2, t3) {
      var _ = this;
      _.body = t0;
      _.extendBody = t1;
      _.extendBodyBehindAppBar = t2;
      _.key = t3;
    },
    _ScaffoldLayout: function _ScaffoldLayout(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.extendBody = t0;
      _.extendBodyBehindAppBar = t1;
      _.minInsets = t2;
      _.minViewPadding = t3;
      _.textDirection = t4;
      _.geometryNotifier = t5;
      _.previousFloatingActionButtonLocation = t6;
      _.currentFloatingActionButtonLocation = t7;
      _.floatingActionButtonMoveAnimationProgress = t8;
      _.floatingActionButtonMotionAnimator = t9;
      _.isSnackBarFloating = t10;
      _.snackBarWidth = t11;
      _.extendBodyBehindMaterialBanner = t12;
      _._debugChildrenNeedingLayout = _._idToChild = null;
    },
    _FloatingActionButtonTransition: function _FloatingActionButtonTransition(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.child = t0;
      _.fabMoveAnimation = t1;
      _.fabMotionAnimator = t2;
      _.geometryNotifier = t3;
      _.currentController = t4;
      _.key = t5;
    },
    _FloatingActionButtonTransitionState: function _FloatingActionButtonTransitionState(t0, t1, t2) {
      var _ = this;
      _.___FloatingActionButtonTransitionState__currentRotationAnimation = _.___FloatingActionButtonTransitionState__extendedCurrentScaleAnimation = _.___FloatingActionButtonTransitionState__currentScaleAnimation = _.___FloatingActionButtonTransitionState__previousRotationAnimation = _.___FloatingActionButtonTransitionState__previousScaleAnimation = _.___FloatingActionButtonTransitionState__previousController = $;
      _._previousChild = null;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure: function _FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure(t0, t1) {
      this.$this = t0;
      this.status = t1;
    },
    Scaffold: function Scaffold(t0, t1, t2, t3) {
      var _ = this;
      _.appBar = t0;
      _.body = t1;
      _.bottomNavigationBar = t2;
      _.key = t3;
    },
    ScaffoldState: function ScaffoldState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._drawerKey = t0;
      _._endDrawerKey = t1;
      _._appBarMaxHeight = null;
      _._drawerOpened = t2;
      _._endDrawerOpened = t3;
      _._messengerMaterialBanner = _._messengerSnackBar = _._scaffoldMessenger = null;
      _._dismissedBottomSheets = t4;
      _._currentBottomSheet = null;
      _._currentBottomSheetKey = t5;
      _.__ScaffoldState__floatingActionButtonAnimator = _.__ScaffoldState__floatingActionButtonMoveController = $;
      _._floatingActionButtonLocation = _._previousFloatingActionButtonLocation = null;
      _.__ScaffoldState__geometryNotifier = _.__ScaffoldState__floatingActionButtonVisibilityController = $;
      _._showBodyScrim = false;
      _._bodyScrimColor = t6;
      _.RestorationMixin__bucket = t7;
      _.RestorationMixin__properties = t8;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t9;
      _.RestorationMixin__firstRestorePending = t10;
      _.RestorationMixin__currentParent = t11;
      _.TickerProviderStateMixin__tickers = t12;
      _.TickerProviderStateMixin__tickerModeNotifier = t13;
      _._widget = null;
      _._debugLifecycleState = t14;
      _._framework$_element = null;
    },
    ScaffoldState__updateSnackBar_closure: function ScaffoldState__updateSnackBar_closure(t0, t1) {
      this.$this = t0;
      this.messengerSnackBar = t1;
    },
    ScaffoldState__updateMaterialBanner_closure: function ScaffoldState__updateMaterialBanner_closure(t0, t1) {
      this.$this = t0;
      this.messengerMaterialBanner = t1;
    },
    ScaffoldState_build_closure: function ScaffoldState_build_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.extendBody = t2;
      _.minInsets = t3;
      _.minViewPadding = t4;
      _.textDirection = t5;
      _.children = t6;
    },
    ScaffoldFeatureController: function ScaffoldFeatureController(t0, t1, t2, t3) {
      var _ = this;
      _._scaffold$_widget = t0;
      _._scaffold$_completer = t1;
      _.close = t2;
      _.$ti = t3;
    },
    _ScaffoldScope: function _ScaffoldScope(t0, t1, t2) {
      this.hasDrawer = t0;
      this.child = t1;
      this.key = t2;
    },
    _ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure: function _ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure() {
    },
    _ScaffoldMessengerState_State_TickerProviderStateMixin: function _ScaffoldMessengerState_State_TickerProviderStateMixin() {
    },
    _ScaffoldState_State_TickerProviderStateMixin: function _ScaffoldState_State_TickerProviderStateMixin() {
    },
    _ScaffoldState_State_TickerProviderStateMixin_RestorationMixin: function _ScaffoldState_State_TickerProviderStateMixin_RestorationMixin() {
    },
    __FloatingActionButtonTransitionState_State_TickerProviderStateMixin: function __FloatingActionButtonTransitionState_State_TickerProviderStateMixin() {
    },
    Scrollbar$(child, controller, key, notificationPredicate, thumbVisibility) {
      return new A.Scrollbar(child, controller, thumbVisibility, notificationPredicate, key);
    },
    Scrollbar: function Scrollbar(t0, t1, t2, t3, t4) {
      var _ = this;
      _.child = t0;
      _.controller = t1;
      _.thumbVisibility = t2;
      _.notificationPredicate = t3;
      _.key = t4;
    },
    _MaterialScrollbar: function _MaterialScrollbar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.showTrackOnHover = t0;
      _.hoverThickness = t1;
      _.child = t2;
      _.controller = t3;
      _.thumbVisibility = t4;
      _.radius = t5;
      _.thickness = t6;
      _.trackVisibility = t7;
      _.fadeDuration = t8;
      _.timeToFade = t9;
      _.pressDuration = t10;
      _.notificationPredicate = t11;
      _.interactive = t12;
      _.scrollbarOrientation = t13;
      _.key = t14;
    },
    _MaterialScrollbarState: function _MaterialScrollbarState(t0, t1, t2, t3) {
      var _ = this;
      _.___MaterialScrollbarState__hoverAnimationController = $;
      _._scrollbar0$_hoverIsActive = _._dragIsActive = false;
      _.___MaterialScrollbarState__useAndroidScrollbar = _.___MaterialScrollbarState__scrollbarTheme = _.___MaterialScrollbarState__colorScheme = $;
      _._fadeoutTimer = _._currentController = _._dragScrollbarAxisOffset = null;
      _.__RawScrollbarState__fadeoutOpacityAnimation = _.__RawScrollbarState__fadeoutAnimationController = $;
      _._scrollbarPainterKey = t0;
      _._hoverIsActive = false;
      _.__RawScrollbarState_scrollbarPainter = $;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _MaterialScrollbarState__trackVisibility_closure: function _MaterialScrollbarState__trackVisibility_closure(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState__thumbColor_closure: function _MaterialScrollbarState__thumbColor_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.dragColor = t1;
      _.hoverColor = t2;
      _.idleColor = t3;
    },
    _MaterialScrollbarState__trackColor_closure: function _MaterialScrollbarState__trackColor_closure(t0, t1, t2) {
      this.$this = t0;
      this.brightness = t1;
      this.onSurface = t2;
    },
    _MaterialScrollbarState__trackBorderColor_closure: function _MaterialScrollbarState__trackBorderColor_closure(t0, t1, t2) {
      this.$this = t0;
      this.brightness = t1;
      this.onSurface = t2;
    },
    _MaterialScrollbarState__thickness_closure: function _MaterialScrollbarState__thickness_closure(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState_initState_closure: function _MaterialScrollbarState_initState_closure(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState_handleThumbPressStart_closure: function _MaterialScrollbarState_handleThumbPressStart_closure(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState_handleThumbPressEnd_closure: function _MaterialScrollbarState_handleThumbPressEnd_closure(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState_handleHover_closure: function _MaterialScrollbarState_handleHover_closure(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState_handleHover_closure0: function _MaterialScrollbarState_handleHover_closure0(t0) {
      this.$this = t0;
    },
    _MaterialScrollbarState_handleHoverExit_closure: function _MaterialScrollbarState_handleHoverExit_closure(t0) {
      this.$this = t0;
    },
    _lerpBool(a, b, t) {
      return t < 0.5 ? a : b;
    },
    ScrollbarThemeData: function ScrollbarThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.thumbVisibility = t0;
      _.thickness = t1;
      _.trackVisibility = t2;
      _.showTrackOnHover = t3;
      _.isAlwaysShown = t4;
      _.interactive = t5;
      _.radius = t6;
      _.thumbColor = t7;
      _.trackColor = t8;
      _.trackBorderColor = t9;
      _.crossAxisMargin = t10;
      _.mainAxisMargin = t11;
      _.minThumbLength = t12;
    },
    _ScrollbarThemeData_Object_Diagnosticable: function _ScrollbarThemeData_Object_Diagnosticable() {
    },
    _TextSpanEditingController$(textSpan) {
      var t1 = textSpan.toPlainText$1$includeSemanticsLabels(false);
      return new A._TextSpanEditingController(textSpan, new A.TextEditingValue(t1, B.TextSelection_ke5, B.TextRange_m1_m1), $.$get$ChangeNotifier__emptyListeners());
    },
    SelectableText$(data, maxLines, minLines, onTap, style, textAlign) {
      var _null = null;
      return new A.SelectableText(data, _null, style, textAlign, _null, minLines, maxLines, _null, B.ToolbarOptions_true_false_false_true, onTap, _null, _null);
    },
    SelectableText$rich(textSpan, key, maxLines, onTap, scrollPhysics, selectionControls, textAlign, textScaleFactor) {
      return new A.SelectableText(null, textSpan, null, textAlign, textScaleFactor, null, maxLines, selectionControls, B.ToolbarOptions_true_false_false_true, onTap, scrollPhysics, key);
    },
    _TextSpanEditingController: function _TextSpanEditingController(t0, t1, t2) {
      var _ = this;
      _._textSpan = t0;
      _._change_notifier$_value = t1;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _SelectableTextSelectionGestureDetectorBuilder: function _SelectableTextSelectionGestureDetectorBuilder(t0, t1) {
      var _ = this;
      _._selectable_text$_state = t0;
      _.delegate = t1;
      _._shouldShowSelectionToolbar = true;
      _._dragStartViewportOffset = 0;
      _._isShiftTapping = false;
      _._shiftTapDragSelection = null;
    },
    SelectableText: function SelectableText(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.data = t0;
      _.textSpan = t1;
      _.style = t2;
      _.textAlign = t3;
      _.textScaleFactor = t4;
      _.minLines = t5;
      _.maxLines = t6;
      _.selectionControls = t7;
      _.toolbarOptions = t8;
      _.onTap = t9;
      _.scrollPhysics = t10;
      _.key = t11;
    },
    _SelectableTextState: function _SelectableTextState(t0, t1) {
      var _ = this;
      _.___SelectableTextState__controller = $;
      _._focusNode = null;
      _._showSelectionHandles = false;
      _.___SelectableTextState_forcePressEnabled = _.___SelectableTextState__selectionGestureDetectorBuilder = $;
      _.editableTextKey = t0;
      _._widget = _._lastSeenTextSelection = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _SelectableTextState__onControllerChanged_closure: function _SelectableTextState__onControllerChanged_closure(t0, t1) {
      this.$this = t0;
      this.showSelectionHandles = t1;
    },
    _SelectableTextState__handleSelectionChanged_closure: function _SelectableTextState__handleSelectionChanged_closure(t0, t1) {
      this.$this = t0;
      this.willShowSelectionHandles = t1;
    },
    _SelectableTextState_build_closure: function _SelectableTextState_build_closure(t0) {
      this.$this = t0;
    },
    SliderThemeData: function SliderThemeData(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) {
      var _ = this;
      _.trackHeight = t0;
      _.activeTrackColor = t1;
      _.inactiveTrackColor = t2;
      _.disabledActiveTrackColor = t3;
      _.disabledInactiveTrackColor = t4;
      _.activeTickMarkColor = t5;
      _.inactiveTickMarkColor = t6;
      _.disabledActiveTickMarkColor = t7;
      _.disabledInactiveTickMarkColor = t8;
      _.thumbColor = t9;
      _.overlappingShapeStrokeColor = t10;
      _.disabledThumbColor = t11;
      _.overlayColor = t12;
      _.valueIndicatorColor = t13;
      _.overlayShape = t14;
      _.tickMarkShape = t15;
      _.thumbShape = t16;
      _.trackShape = t17;
      _.valueIndicatorShape = t18;
      _.rangeTickMarkShape = t19;
      _.rangeThumbShape = t20;
      _.rangeTrackShape = t21;
      _.rangeValueIndicatorShape = t22;
      _.showValueIndicator = t23;
      _.valueIndicatorTextStyle = t24;
      _.minThumbSeparation = t25;
      _.thumbSelector = t26;
      _.mouseCursor = t27;
    },
    _SliderThemeData_Object_Diagnosticable: function _SliderThemeData_Object_Diagnosticable() {
    },
    SnackBar$(action, animation, backgroundColor, behavior, clipBehavior, $content, dismissDirection, duration, elevation, key, margin, onVisible, padding, shape, width) {
      return new A.SnackBar($content, backgroundColor, elevation, margin, padding, width, shape, behavior, action, duration, animation, onVisible, dismissDirection, clipBehavior, key);
    },
    SnackBarClosedReason: function SnackBarClosedReason(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SnackBar: function SnackBar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.content = t0;
      _.backgroundColor = t1;
      _.elevation = t2;
      _.margin = t3;
      _.padding = t4;
      _.width = t5;
      _.shape = t6;
      _.behavior = t7;
      _.action = t8;
      _.duration = t9;
      _.animation = t10;
      _.onVisible = t11;
      _.dismissDirection = t12;
      _.clipBehavior = t13;
      _.key = t14;
    },
    _SnackBarState: function _SnackBarState(t0) {
      var _ = this;
      _._wasVisible = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _SnackBarState_build_closure: function _SnackBarState_build_closure(t0) {
      this.context = t0;
    },
    _SnackBarState_build_closure0: function _SnackBarState_build_closure0(t0) {
      this.context = t0;
    },
    _SnackBarState_build_closure1: function _SnackBarState_build_closure1(t0) {
      this.heightAnimation = t0;
    },
    SnackBarThemeData: function SnackBarThemeData(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.backgroundColor = t0;
      _.actionTextColor = t1;
      _.disabledActionTextColor = t2;
      _.contentTextStyle = t3;
      _.elevation = t4;
      _.shape = t5;
      _.behavior = t6;
    },
    _SnackBarThemeData_Object_Diagnosticable: function _SnackBarThemeData_Object_Diagnosticable() {
    },
    Switch$(onChanged, value) {
      return new A.Switch(value, onChanged, null);
    },
    _SwitchType: function _SwitchType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Switch: function Switch(t0, t1, t2) {
      this.value = t0;
      this.onChanged = t1;
      this.key = t2;
    },
    _MaterialSwitch: function _MaterialSwitch(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21) {
      var _ = this;
      _.value = t0;
      _.onChanged = t1;
      _.activeColor = t2;
      _.activeTrackColor = t3;
      _.inactiveThumbColor = t4;
      _.inactiveTrackColor = t5;
      _.activeThumbImage = t6;
      _.onActiveThumbImageError = t7;
      _.inactiveThumbImage = t8;
      _.onInactiveThumbImageError = t9;
      _.thumbColor = t10;
      _.trackColor = t11;
      _.dragStartBehavior = t12;
      _.mouseCursor = t13;
      _.focusColor = t14;
      _.hoverColor = t15;
      _.overlayColor = t16;
      _.splashRadius = t17;
      _.focusNode = t18;
      _.autofocus = t19;
      _.size = t20;
      _.key = t21;
    },
    _MaterialSwitchState: function _MaterialSwitchState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _._switch$_painter = t0;
      _._needsPositionAnimation = false;
      _.ToggleableStateMixin___ToggleableStateMixin__positionController = t1;
      _.ToggleableStateMixin___ToggleableStateMixin__position = t2;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionController = t3;
      _.ToggleableStateMixin___ToggleableStateMixin__reaction = t4;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = t5;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = t6;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = t7;
      _.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = t8;
      _.ToggleableStateMixin___ToggleableStateMixin__actionMap = t9;
      _.ToggleableStateMixin__downPosition = t10;
      _.ToggleableStateMixin__focused = t11;
      _.ToggleableStateMixin__hovering = t12;
      _.TickerProviderStateMixin__tickers = t13;
      _.TickerProviderStateMixin__tickerModeNotifier = t14;
      _._widget = null;
      _._debugLifecycleState = t15;
      _._framework$_element = null;
    },
    _MaterialSwitchState__widgetThumbColor_closure: function _MaterialSwitchState__widgetThumbColor_closure(t0) {
      this.$this = t0;
    },
    _MaterialSwitchState__defaultThumbColor_closure: function _MaterialSwitchState__defaultThumbColor_closure(t0, t1) {
      this.isDark = t0;
      this.theme = t1;
    },
    _MaterialSwitchState__widgetTrackColor_closure: function _MaterialSwitchState__widgetTrackColor_closure(t0) {
      this.$this = t0;
    },
    _MaterialSwitchState__defaultTrackColor_closure: function _MaterialSwitchState__defaultTrackColor_closure(t0, t1) {
      this.$this = t0;
      this.isDark = t1;
    },
    _MaterialSwitchState__handleDragEnd_closure: function _MaterialSwitchState__handleDragEnd_closure(t0) {
      this.$this = t0;
    },
    _MaterialSwitchState_build_closure: function _MaterialSwitchState_build_closure(t0, t1) {
      this.$this = t0;
      this.switchTheme = t1;
    },
    _SwitchPainter: function _SwitchPainter(t0) {
      var _ = this;
      _._cachedThumbPainter = _._cachedThumbErrorListener = _._cachedThumbImage = _._cachedThumbColor = _._trackInnerLength = _._isInteractive = _._surfaceColor = _._switch$_textDirection = _._switch$_configuration = _._inactiveTrackColor = _._activeTrackColor = _._onInactiveThumbImageError = _._inactiveThumbImage = _._onActiveThumbImageError = _._activeThumbImage = null;
      _._isPainting = false;
      _._isHovered = _._toggleable$_isFocused = _._downPosition = _._splashRadius = _._toggleable$_focusColor = _._toggleable$_hoverColor = _._reactionColor = _._inactiveReactionColor = _._inactiveColor = _._activeColor = _._reactionHoverFade = _._reactionFocusFade = _._reaction = _._toggleable$_position = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    __MaterialSwitchState_State_TickerProviderStateMixin: function __MaterialSwitchState_State_TickerProviderStateMixin() {
    },
    __MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin: function __MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin() {
    },
    SwitchTheme_of(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.SwitchTheme);
      t1 = A.Theme_of(context);
      return t1.switchTheme;
    },
    SwitchThemeData: function SwitchThemeData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.thumbColor = t0;
      _.trackColor = t1;
      _.materialTapTargetSize = t2;
      _.mouseCursor = t3;
      _.overlayColor = t4;
      _.splashRadius = t5;
    },
    _SwitchThemeData_Object_Diagnosticable: function _SwitchThemeData_Object_Diagnosticable() {
    },
    TabBarTheme: function TabBarTheme(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.indicator = t0;
      _.indicatorSize = t1;
      _.labelColor = t2;
      _.labelPadding = t3;
      _.labelStyle = t4;
      _.unselectedLabelColor = t5;
      _.unselectedLabelStyle = t6;
      _.overlayColor = t7;
      _.splashFactory = t8;
      _.mouseCursor = t9;
    },
    _LerpColors: function _LerpColors(t0, t1, t2) {
      this.a = t0;
      this.b = t1;
      this.t = t2;
    },
    _TabBarTheme_Object_Diagnosticable: function _TabBarTheme_Object_Diagnosticable() {
    },
    TabController$($length, vsync) {
      return new A.TabController(A.AnimationController$unbounded(null, 0, vsync), B.Duration_300000, $length, $.$get$ChangeNotifier__emptyListeners());
    },
    DefaultTabController_of(context) {
      context.dependOnInheritedWidgetOfExactType$1$0(type$._TabControllerScope);
      return null;
    },
    TabController: function TabController(t0, t1, t2, t3) {
      var _ = this;
      _._animationController = t0;
      _._animationDuration = t1;
      _.length = t2;
      _.ChangeNotifier__count = _._indexIsChangingCount = _._previousIndex = _._tab_controller$_index = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    TabController__changeIndex_closure: function TabController__changeIndex_closure(t0) {
      this.$this = t0;
    },
    UnderlineTabIndicator: function UnderlineTabIndicator(t0, t1) {
      this.borderSide = t0;
      this.insets = t1;
    },
    _UnderlinePainter: function _UnderlinePainter(t0, t1) {
      this.decoration = t0;
      this.onChanged = t1;
    },
    _TabStyle$(animation, child, labelColor, labelStyle, selected, unselectedLabelColor, unselectedLabelStyle) {
      return new A._TabStyle(labelStyle, unselectedLabelStyle, selected, labelColor, unselectedLabelColor, child, animation, null);
    },
    _indexChangeProgress(controller) {
      var previousIndex, currentIndex,
        t1 = controller.get$animation(controller).__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      previousIndex = controller._previousIndex;
      currentIndex = controller._tab_controller$_index;
      if (controller._indexIsChangingCount === 0)
        return A.clampDouble(Math.abs(currentIndex - t1), 0, 1);
      return Math.abs(t1 - currentIndex) / Math.abs(currentIndex - previousIndex);
    },
    TabBar$(controller, isScrollable, labelColor, tabs) {
      return new A.TabBar(tabs, controller, true, labelColor, null);
    },
    TabBarView$(children, controller, physics) {
      return new A.TabBarView(controller, children, physics, null);
    },
    Tab: function Tab(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.text = t0;
      _.child = t1;
      _.icon = t2;
      _.iconMargin = t3;
      _.height = t4;
      _.key = t5;
    },
    _TabStyle: function _TabStyle(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.labelStyle = t0;
      _.unselectedLabelStyle = t1;
      _.selected = t2;
      _.labelColor = t3;
      _.unselectedLabelColor = t4;
      _.child = t5;
      _.listenable = t6;
      _.key = t7;
    },
    _TabLabelBarRenderer: function _TabLabelBarRenderer(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.onPerformLayout = t0;
      _._flex$_direction = t1;
      _._mainAxisAlignment = t2;
      _._mainAxisSize = t3;
      _._crossAxisAlignment = t4;
      _._flex$_textDirection = t5;
      _._verticalDirection = t6;
      _._flex$_textBaseline = t7;
      _._overflow = 0;
      _._flex$_clipBehavior = t8;
      _._flex$_clipRectLayer = t9;
      _.DebugOverflowIndicatorMixin__indicatorLabel = t10;
      _.DebugOverflowIndicatorMixin__overflowReportNeeded = t11;
      _.ContainerRenderObjectMixin__childCount = t12;
      _.ContainerRenderObjectMixin__firstChild = t13;
      _.ContainerRenderObjectMixin__lastChild = t14;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t15;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _TabLabelBar: function _TabLabelBar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.onPerformLayout = t0;
      _.direction = t1;
      _.mainAxisAlignment = t2;
      _.mainAxisSize = t3;
      _.crossAxisAlignment = t4;
      _.textDirection = t5;
      _.verticalDirection = t6;
      _.textBaseline = t7;
      _.children = t8;
      _.key = t9;
    },
    _IndicatorPainter: function _IndicatorPainter(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.controller = t0;
      _.indicator = t1;
      _.indicatorSize = t2;
      _.indicatorPadding = t3;
      _.tabKeys = t4;
      _._tabs$_painter = _._currentRect = _._currentTextDirection = _._currentTabOffsets = null;
      _._tabs$_needsPaint = false;
      _._repaint = t5;
    },
    _ChangeAnimation: function _ChangeAnimation(t0) {
      this.controller = t0;
    },
    _DragAnimation: function _DragAnimation(t0, t1) {
      this.controller = t0;
      this.index = t1;
    },
    _TabBarScrollPosition: function _TabBarScrollPosition(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.tabBar = t0;
      _._initialViewportDimensionWasZero = null;
      _._heldPreviousVelocity = 0;
      _._userScrollDirection = t1;
      _._currentDrag = null;
      _.physics = t2;
      _.context = t3;
      _.keepScrollOffset = t4;
      _.debugLabel = t5;
      _._maxScrollExtent = _._minScrollExtent = null;
      _._impliedVelocity = 0;
      _._viewportDimension = _._pixels = null;
      _._haveDimensions = false;
      _._didChangeViewportDimensionOrReceiveCorrection = true;
      _._pendingDimensions = false;
      _._scroll_position$_lastMetrics = null;
      _._haveScheduledUpdateNotification = false;
      _._semanticActions = _._lastAxis = null;
      _.isScrollingNotifier = t6;
      _._activity = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t7;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _TabBarScrollController: function _TabBarScrollController(t0, t1, t2, t3) {
      var _ = this;
      _.tabBar = t0;
      _._initialScrollOffset = t1;
      _._positions = t2;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    TabBar: function TabBar(t0, t1, t2, t3, t4) {
      var _ = this;
      _.tabs = t0;
      _.controller = t1;
      _.isScrollable = t2;
      _.labelColor = t3;
      _.key = t4;
    },
    _TabBarState: function _TabBarState(t0) {
      var _ = this;
      _._currentIndex = _._indicatorPainter = _._tabs$_controller = _._tabs$_scrollController = null;
      _.___TabBarState__tabKeys = _.___TabBarState__tabStripWidth = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _TabBarState_initState_closure: function _TabBarState_initState_closure() {
    },
    _TabBarState__handleTabControllerTick_closure: function _TabBarState__handleTabControllerTick_closure() {
    },
    _TabBarState_build_closure: function _TabBarState_build_closure(t0, t1) {
      this.$this = t0;
      this.tabBarTheme = t1;
    },
    _TabBarState_build_closure0: function _TabBarState_build_closure0(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    TabBarView: function TabBarView(t0, t1, t2, t3) {
      var _ = this;
      _.controller = t0;
      _.children = t1;
      _.physics = t2;
      _.key = t3;
    },
    _TabBarViewState: function _TabBarViewState(t0) {
      var _ = this;
      _._tabs$_controller = null;
      _.___TabBarViewState__childrenWithKey = _.___TabBarViewState__children = _.___TabBarViewState__pageController = $;
      _._currentIndex = null;
      _._warpUnderwayCount = 0;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _TabBarViewState__warpToCurrentIndex_closure: function _TabBarViewState__warpToCurrentIndex_closure(t0, t1, t2) {
      this.$this = t0;
      this.initialPage = t1;
      this.previousIndex = t2;
    },
    _TabBarViewState__warpToCurrentIndex_closure0: function _TabBarViewState__warpToCurrentIndex_closure0(t0, t1) {
      this.$this = t0;
      this.originalChildren = t1;
    },
    __ChangeAnimation_Animation_AnimationWithParentMixin: function __ChangeAnimation_Animation_AnimationWithParentMixin() {
    },
    __DragAnimation_Animation_AnimationWithParentMixin: function __DragAnimation_Animation_AnimationWithParentMixin() {
    },
    TextButton$(child, focusNode, onPressed, style) {
      var _null = null;
      return new A.TextButton(onPressed, _null, _null, _null, style, B.Clip_0, focusNode, false, child, _null);
    },
    TextButton_styleFrom(alignment, animationDuration, backgroundColor, disabledMouseCursor, elevation, enableFeedback, enabledMouseCursor, fixedSize, maximumSize, minimumSize, onSurface, padding, primary, shadowColor, shape, splashFactory, tapTargetSize, textStyle, visualDensity) {
      var mouseCursor, t1, t2, t3, t4, t5, t6, t7, t8, _null = null,
        foregroundColor = onSurface == null && primary == null ? _null : new A._TextButtonDefaultForeground(primary, onSurface),
        overlayColor = primary == null ? _null : new A._TextButtonDefaultOverlay(primary);
      if (enabledMouseCursor == null && disabledMouseCursor == null)
        mouseCursor = _null;
      else {
        enabledMouseCursor.toString;
        disabledMouseCursor.toString;
        mouseCursor = new A._TextButtonDefaultMouseCursor(enabledMouseCursor, disabledMouseCursor);
      }
      t1 = textStyle == null ? _null : new A.MaterialStatePropertyAll(textStyle, type$.MaterialStatePropertyAll_TextStyle);
      t2 = backgroundColor == null ? _null : new A.MaterialStatePropertyAll(backgroundColor, type$.MaterialStatePropertyAll_Color);
      t3 = shadowColor == null ? _null : new A.MaterialStatePropertyAll(shadowColor, type$.MaterialStatePropertyAll_Color);
      t4 = elevation == null ? _null : new A.MaterialStatePropertyAll(elevation, type$.MaterialStatePropertyAll_double);
      t5 = padding == null ? _null : new A.MaterialStatePropertyAll(padding, type$.MaterialStatePropertyAll_EdgeInsetsGeometry);
      t6 = minimumSize == null ? _null : new A.MaterialStatePropertyAll(minimumSize, type$.MaterialStatePropertyAll_Size);
      t7 = fixedSize == null ? _null : new A.MaterialStatePropertyAll(fixedSize, type$.MaterialStatePropertyAll_Size);
      t8 = maximumSize == null ? _null : new A.MaterialStatePropertyAll(maximumSize, type$.MaterialStatePropertyAll_Size);
      return A.ButtonStyle$(alignment, animationDuration, t2, t4, enableFeedback, t7, foregroundColor, t8, t6, mouseCursor, overlayColor, t5, t3, shape == null ? _null : new A.MaterialStatePropertyAll(shape, type$.MaterialStatePropertyAll_OutlinedBorder), _null, splashFactory, _null, tapTargetSize, t1, visualDensity);
    },
    _scaledPadding(context) {
      var t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      return A.ButtonStyleButton_scaledPadding(B.EdgeInsets_8_8_8_8, B.EdgeInsets_8_0_8_0, B.EdgeInsets_4_0_4_0, t1 == null ? 1 : t1);
    },
    TextButton: function TextButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.onPressed = t0;
      _.onLongPress = t1;
      _.onHover = t2;
      _.onFocusChange = t3;
      _.style = t4;
      _.clipBehavior = t5;
      _.focusNode = t6;
      _.autofocus = t7;
      _.child = t8;
      _.key = t9;
    },
    _TextButtonDefaultForeground: function _TextButtonDefaultForeground(t0, t1) {
      this.primary = t0;
      this.onSurface = t1;
    },
    _TextButtonDefaultOverlay: function _TextButtonDefaultOverlay(t0) {
      this.primary = t0;
    },
    _TextButtonDefaultMouseCursor: function _TextButtonDefaultMouseCursor(t0, t1) {
      this.enabledCursor = t0;
      this.disabledCursor = t1;
    },
    __TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable: function __TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable() {
    },
    TextButtonThemeData_lerp(a, b, t) {
      return new A.TextButtonThemeData(A.ButtonStyle_lerp(a.style, b.style, t));
    },
    TextButtonThemeData: function TextButtonThemeData(t0) {
      this.style = t0;
    },
    _TextButtonThemeData_Object_Diagnosticable: function _TextButtonThemeData_Object_Diagnosticable() {
    },
    TextField$(autofocus, controller, cursorColor, decoration, enabled, focusNode, inputFormatters, key, keyboardType, onChanged, onEditingComplete, onSubmitted, style) {
      var t1;
      if (keyboardType == null)
        t1 = B.TextInputType_0_null_null;
      else
        t1 = keyboardType;
      return new A.TextField0(controller, focusNode, decoration, t1, style, autofocus, B.SmartDashesType_1, B.SmartQuotesType_1, B.ToolbarOptions_true_true_true_true, onChanged, onEditingComplete, onSubmitted, inputFormatters, enabled, cursorColor, true, key);
    },
    _TextFieldSelectionGestureDetectorBuilder: function _TextFieldSelectionGestureDetectorBuilder(t0, t1) {
      var _ = this;
      _._text_field$_state = t0;
      _.delegate = t1;
      _._shouldShowSelectionToolbar = true;
      _._dragStartViewportOffset = 0;
      _._isShiftTapping = false;
      _._shiftTapDragSelection = null;
    },
    TextField0: function TextField0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.controller = t0;
      _.focusNode = t1;
      _.decoration = t2;
      _.keyboardType = t3;
      _.style = t4;
      _.autofocus = t5;
      _.smartDashesType = t6;
      _.smartQuotesType = t7;
      _.toolbarOptions = t8;
      _.onChanged = t9;
      _.onEditingComplete = t10;
      _.onSubmitted = t11;
      _.inputFormatters = t12;
      _.enabled = t13;
      _.cursorColor = t14;
      _.enableInteractiveSelection = t15;
      _.key = t16;
    },
    _TextFieldState: function _TextFieldState(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._text_field$_focusNode = _._text_field$_controller = null;
      _._text_field$_showSelectionHandles = _._isHovering = false;
      _.___TextFieldState_forcePressEnabled = _.___TextFieldState__selectionGestureDetectorBuilder = $;
      _.editableTextKey = t0;
      _.RestorationMixin__bucket = t1;
      _.RestorationMixin__properties = t2;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t3;
      _.RestorationMixin__firstRestorePending = t4;
      _.RestorationMixin__currentParent = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._framework$_element = null;
    },
    _TextFieldState__handleFocusChanged_closure: function _TextFieldState__handleFocusChanged_closure() {
    },
    _TextFieldState__handleSelectionChanged_closure: function _TextFieldState__handleSelectionChanged_closure(t0, t1) {
      this.$this = t0;
      this.willShowSelectionHandles = t1;
    },
    _TextFieldState__handleHover_closure: function _TextFieldState__handleHover_closure(t0, t1) {
      this.$this = t0;
      this.hovering = t1;
    },
    _TextFieldState_build_closure: function _TextFieldState_build_closure(t0) {
      this.$this = t0;
    },
    _TextFieldState_build_closure0: function _TextFieldState_build_closure0(t0) {
      this.$this = t0;
    },
    _TextFieldState_build_closure1: function _TextFieldState_build_closure1(t0, t1, t2) {
      this.$this = t0;
      this.focusNode = t1;
      this.controller = t2;
    },
    _TextFieldState_build_closure3: function _TextFieldState_build_closure3(t0) {
      this.$this = t0;
    },
    _TextFieldState_build_closure4: function _TextFieldState_build_closure4(t0) {
      this.$this = t0;
    },
    _TextFieldState_build_closure2: function _TextFieldState_build_closure2(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _TextFieldState_build__closure: function _TextFieldState_build__closure(t0) {
      this.$this = t0;
    },
    __TextFieldState_State_RestorationMixin_dispose_closure: function __TextFieldState_State_RestorationMixin_dispose_closure() {
    },
    __TextFieldState_State_RestorationMixin: function __TextFieldState_State_RestorationMixin() {
    },
    MaterialTextSelectionControls: function MaterialTextSelectionControls() {
    },
    _TextSelectionHandlePainter0: function _TextSelectionHandlePainter0(t0, t1) {
      this.color = t0;
      this._repaint = t1;
    },
    TextSelectionThemeData_lerp(a, b, t) {
      var t1 = A.Color_lerp(a.cursorColor, b.cursorColor, t),
        t2 = A.Color_lerp(a.selectionColor, b.selectionColor, t);
      return new A.TextSelectionThemeData(t1, t2, A.Color_lerp(a.selectionHandleColor, b.selectionHandleColor, t));
    },
    TextSelectionThemeData: function TextSelectionThemeData(t0, t1, t2) {
      this.cursorColor = t0;
      this.selectionColor = t1;
      this.selectionHandleColor = t2;
    },
    _TextSelectionThemeData_Object_Diagnosticable: function _TextSelectionThemeData_Object_Diagnosticable() {
    },
    TextTheme$(bodyLarge, bodyMedium, bodySmall, displayLarge, displayMedium, displaySmall, headlineLarge, headlineMedium, headlineSmall, labelLarge, labelMedium, labelSmall, titleLarge, titleMedium, titleSmall) {
      var _null = null,
        t1 = displayLarge == null ? _null : displayLarge,
        t2 = displayMedium == null ? _null : displayMedium,
        t3 = displaySmall == null ? _null : displaySmall,
        t4 = headlineMedium == null ? _null : headlineMedium,
        t5 = headlineSmall == null ? _null : headlineSmall,
        t6 = titleLarge == null ? _null : titleLarge,
        t7 = titleMedium == null ? _null : titleMedium,
        t8 = titleSmall == null ? _null : titleSmall,
        t9 = bodyLarge == null ? _null : bodyLarge,
        t10 = bodyMedium == null ? _null : bodyMedium,
        t11 = bodySmall == null ? _null : bodySmall,
        t12 = labelLarge == null ? _null : labelLarge;
      return new A.TextTheme(t1, t2, t3, headlineLarge, t4, t5, t6, t7, t8, t9, t10, t11, t12, labelMedium, labelSmall == null ? _null : labelSmall);
    },
    TextTheme_lerp(a, b, t) {
      var t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, _null = null,
        t1 = a == null,
        t2 = t1 ? _null : a.displayLarge,
        t3 = b == null;
      t2 = A.TextStyle_lerp(t2, t3 ? _null : b.displayLarge, t);
      t4 = t1 ? _null : a.displayMedium;
      t4 = A.TextStyle_lerp(t4, t3 ? _null : b.displayMedium, t);
      t5 = t1 ? _null : a.displaySmall;
      t5 = A.TextStyle_lerp(t5, t3 ? _null : b.displaySmall, t);
      t6 = t1 ? _null : a.headlineLarge;
      t6 = A.TextStyle_lerp(t6, t3 ? _null : b.headlineLarge, t);
      t7 = t1 ? _null : a.headlineMedium;
      t7 = A.TextStyle_lerp(t7, t3 ? _null : b.headlineMedium, t);
      t8 = t1 ? _null : a.headlineSmall;
      t8 = A.TextStyle_lerp(t8, t3 ? _null : b.headlineSmall, t);
      t9 = t1 ? _null : a.titleLarge;
      t9 = A.TextStyle_lerp(t9, t3 ? _null : b.titleLarge, t);
      t10 = t1 ? _null : a.titleMedium;
      t10 = A.TextStyle_lerp(t10, t3 ? _null : b.titleMedium, t);
      t11 = t1 ? _null : a.titleSmall;
      t11 = A.TextStyle_lerp(t11, t3 ? _null : b.titleSmall, t);
      t12 = t1 ? _null : a.bodyLarge;
      t12 = A.TextStyle_lerp(t12, t3 ? _null : b.bodyLarge, t);
      t13 = t1 ? _null : a.bodyMedium;
      t13 = A.TextStyle_lerp(t13, t3 ? _null : b.bodyMedium, t);
      t14 = t1 ? _null : a.bodySmall;
      t14 = A.TextStyle_lerp(t14, t3 ? _null : b.bodySmall, t);
      t15 = t1 ? _null : a.labelLarge;
      t15 = A.TextStyle_lerp(t15, t3 ? _null : b.labelLarge, t);
      t16 = t1 ? _null : a.labelMedium;
      t16 = A.TextStyle_lerp(t16, t3 ? _null : b.labelMedium, t);
      t1 = t1 ? _null : a.labelSmall;
      return A.TextTheme$(t12, t13, t14, t2, t4, t5, t6, t7, t8, t15, t16, A.TextStyle_lerp(t1, t3 ? _null : b.labelSmall, t), t9, t10, t11);
    },
    TextTheme: function TextTheme(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.displayLarge = t0;
      _.displayMedium = t1;
      _.displaySmall = t2;
      _.headlineLarge = t3;
      _.headlineMedium = t4;
      _.headlineSmall = t5;
      _.titleLarge = t6;
      _.titleMedium = t7;
      _.titleSmall = t8;
      _.bodyLarge = t9;
      _.bodyMedium = t10;
      _.bodySmall = t11;
      _.labelLarge = t12;
      _.labelMedium = t13;
      _.labelSmall = t14;
    },
    _TextTheme_Object_Diagnosticable: function _TextTheme_Object_Diagnosticable() {
    },
    Theme_of(context) {
      var theme,
        inheritedTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedTheme),
        category = A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations) == null ? null : B.ScriptCategory_0;
      if (category == null)
        category = B.ScriptCategory_0;
      theme = inheritedTheme == null ? null : inheritedTheme.theme.data;
      if (theme == null)
        theme = $.$get$Theme__kFallbackTheme();
      return A.ThemeData_localize(theme, theme.typography.geometryThemeFor$1(category));
    },
    Theme: function Theme(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    _InheritedTheme: function _InheritedTheme(t0, t1, t2) {
      this.theme = t0;
      this.child = t1;
      this.key = t2;
    },
    ThemeDataTween: function ThemeDataTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    AnimatedTheme: function AnimatedTheme(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.data = t0;
      _.child = t1;
      _.curve = t2;
      _.duration = t3;
      _.onEnd = t4;
      _.key = t5;
    },
    _AnimatedThemeState: function _AnimatedThemeState(t0, t1, t2) {
      var _ = this;
      _._theme$_data = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedThemeState_forEachTween_closure: function _AnimatedThemeState_forEachTween_closure() {
    },
    ThemeData_ThemeData(brightness, unselectedWidgetColor) {
      var materialTapTargetSize, visualDensity, effectiveBrightness, isDark, primaryColor, estimatedPrimaryColorBrightness, primaryColorLight, primaryColorDark, primaryIsDark, toggleableActiveColor, accentColor, accentColorBrightness, accentIsDark, focusColor, hoverColor, canvasColor, bottomAppBarColor, cardColor, dividerColor, primaryIsDark0, t1, t2, t3, t4, t5, t6, colorScheme, secondaryHeaderColor, backgroundColor, dialogBackgroundColor, indicatorColor, hintColor, buttonTheme, disabledColor, highlightColor, splashColor, typography, defaultTextTheme, defaultPrimaryTextTheme, defaultAccentTextTheme, textTheme, primaryTextTheme, iconTheme, primaryIconTheme, accentTextTheme, accentIconTheme, buttonColor, _null = null,
        extensions = A._setArrayType([], type$.JSArray_ThemeExtension_ThemeExtension_dynamic),
        platform = A.defaultTargetPlatform();
      platform = platform;
      switch (platform.index) {
        case 0:
        case 1:
        case 2:
          materialTapTargetSize = B.MaterialTapTargetSize_0;
          break;
        case 3:
        case 4:
        case 5:
          materialTapTargetSize = B.MaterialTapTargetSize_1;
          break;
        default:
          materialTapTargetSize = _null;
      }
      visualDensity = A.VisualDensity_adaptivePlatformDensity();
      if (brightness == null)
        effectiveBrightness = _null;
      else
        effectiveBrightness = brightness;
      if (effectiveBrightness == null)
        effectiveBrightness = B.Brightness_1;
      isDark = effectiveBrightness === B.Brightness_0;
      primaryColor = isDark ? B.Color_4280361249 : B.MaterialColor_Map_JNwaj_4280391411;
      estimatedPrimaryColorBrightness = A.ThemeData_estimateBrightnessForColor(primaryColor);
      primaryColorLight = isDark ? B.Color_4288585374 : B.Color_4290502395;
      primaryColorDark = isDark ? B.Color_4278190080 : B.Color_4279858898;
      primaryIsDark = estimatedPrimaryColorBrightness === B.Brightness_0;
      if (isDark)
        toggleableActiveColor = B.Color_4284809178;
      else
        toggleableActiveColor = B.Color_4280191205;
      accentColor = isDark ? B.Color_4284809178 : B.Color_4280391411;
      accentColorBrightness = A.ThemeData_estimateBrightnessForColor(accentColor);
      accentIsDark = accentColorBrightness === B.Brightness_0;
      focusColor = isDark ? A.Color$fromARGB(31, 255, 255, 255) : A.Color$fromARGB(31, 0, 0, 0);
      hoverColor = isDark ? A.Color$fromARGB(10, 255, 255, 255) : A.Color$fromARGB(10, 0, 0, 0);
      canvasColor = isDark ? B.Color_4281348144 : B.Color_4294638330;
      bottomAppBarColor = isDark ? B.Color_4282532418 : B.Color_4294967295;
      cardColor = isDark ? B.Color_4282532418 : B.Color_4294967295;
      dividerColor = isDark ? B.Color_536870911 : B.Color_520093696;
      primaryIsDark0 = A.ThemeData_estimateBrightnessForColor(B.MaterialColor_Map_JNwaj_4280391411) === B.Brightness_0;
      t1 = A.ThemeData_estimateBrightnessForColor(accentColor);
      t2 = isDark ? B.Color_4278239141 : B.Color_4279858898;
      t3 = isDark ? B.Color_4284572001 : B.Color_4287679225;
      t4 = primaryIsDark0 ? B.Color_4294967295 : B.Color_4278190080;
      t1 = t1 === B.Brightness_0 ? B.Color_4294967295 : B.Color_4278190080;
      t5 = isDark ? B.Color_4294967295 : B.Color_4278190080;
      t6 = primaryIsDark0 ? B.Color_4294967295 : B.Color_4278190080;
      colorScheme = A.ColorScheme$(t3, effectiveBrightness, B.Color_4292030255, _null, _null, _null, t6, isDark ? B.Color_4278190080 : B.Color_4294967295, _null, _null, t4, _null, t1, _null, t5, _null, _null, _null, _null, B.MaterialColor_Map_JNwaj_4280391411, _null, primaryColorDark, accentColor, _null, t2, _null, cardColor, _null, _null, _null, _null);
      if (unselectedWidgetColor == null)
        unselectedWidgetColor = isDark ? B.Color_3019898879 : B.Color_2315255808;
      secondaryHeaderColor = isDark ? B.Color_4284572001 : B.Color_4293128957;
      backgroundColor = isDark ? B.Color_4284572001 : B.Color_4287679225;
      dialogBackgroundColor = isDark ? B.Color_4282532418 : B.Color_4294967295;
      indicatorColor = accentColor.$eq(0, primaryColor) ? B.Color_4294967295 : accentColor;
      hintColor = isDark ? B.Color_2583691263 : A.Color$fromARGB(153, 0, 0, 0);
      t1 = isDark ? B.Color_4280191205 : B.Color_4292927712;
      buttonTheme = A.ButtonThemeData$(false, t1, colorScheme, _null, focusColor, 36, _null, hoverColor, B.ButtonBarLayoutBehavior_1, materialTapTargetSize, 88, _null, _null, _null, B.ButtonTextTheme_0);
      disabledColor = isDark ? B.Color_1660944383 : B.Color_1627389952;
      highlightColor = isDark ? B.Color_1087163596 : B.Color_1723645116;
      splashColor = isDark ? B.Color_1087163596 : B.Color_1724434632;
      typography = A.Typography_Typography$material2014(platform);
      defaultTextTheme = isDark ? typography.white : typography.black;
      defaultPrimaryTextTheme = primaryIsDark ? typography.white : typography.black;
      defaultAccentTextTheme = accentIsDark ? typography.white : typography.black;
      textTheme = defaultTextTheme.merge$1(_null);
      primaryTextTheme = defaultPrimaryTextTheme.merge$1(_null);
      iconTheme = isDark ? B.IconThemeData_yrt : B.IconThemeData_UfZ0;
      primaryIconTheme = primaryIsDark ? B.IconThemeData_yrt : B.IconThemeData_UfZ1;
      accentTextTheme = defaultAccentTextTheme.merge$1(_null);
      accentIconTheme = accentIsDark ? B.IconThemeData_yrt : B.IconThemeData_UfZ1;
      buttonColor = isDark ? B.Color_4280191205 : B.Color_4292927712;
      return A.ThemeData$raw(accentColor, accentColorBrightness, accentIconTheme, accentTextTheme, _null, B.AppBarTheme_ahf, false, backgroundColor, B.MaterialBannerThemeData_6JY, bottomAppBarColor, B.BottomAppBarTheme_null_null_null, B.BottomNavigationBarThemeData_mRH, B.BottomSheetThemeData_OEE, B.ButtonBarThemeData_A0t, buttonColor, buttonTheme, canvasColor, cardColor, B.CardTheme_wEo, B.CheckboxThemeData_EkK, B.ChipThemeData_OhV, colorScheme, _null, B.DataTableThemeData_SL9, dialogBackgroundColor, B.DialogTheme_zPV, disabledColor, dividerColor, B.DividerThemeData_Tnu, B.DrawerThemeData_jfn, B.ElevatedButtonThemeData_null, B.Color_4292030255, B.ExpansionTileThemeData_O5j, A.ThemeData__themeExtensionIterableToMap(extensions), true, B.FloatingActionButtonThemeData_pYw, focusColor, highlightColor, hintColor, hoverColor, iconTheme, indicatorColor, B.C_InputDecorationTheme, B.ListTileThemeData_muk, materialTapTargetSize, B.NavigationBarThemeData_UWS, B.NavigationRailThemeData_4G2, B.OutlinedButtonThemeData_null, B.C_PageTransitionsTheme, platform, B.PopupMenuThemeData_rs3, primaryColor, estimatedPrimaryColorBrightness, primaryColorDark, primaryColorLight, primaryIconTheme, primaryTextTheme, B.ProgressIndicatorThemeData_Z49, B.RadioThemeData_gDe, canvasColor, B.ScrollbarThemeData_Ep5, secondaryHeaderColor, B.Color_4294309365, B.Color_4278190080, B.SliderThemeData_qIG, B.SnackBarThemeData_gc6, splashColor, B.C__InkSplashFactory, B.SwitchThemeData_v9F, B.TabBarTheme_WXI, B.TextButtonThemeData_null, B.TextSelectionThemeData_null_null_null, textTheme, B.TimePickerThemeData_10O, B.ToggleButtonsThemeData_UsI, toggleableActiveColor, B.TooltipThemeData_OTV, typography, unselectedWidgetColor, false, visualDensity);
    },
    ThemeData$raw(accentColor, accentColorBrightness, accentIconTheme, accentTextTheme, androidOverscrollIndicator, appBarTheme, applyElevationOverlayColor, backgroundColor, bannerTheme, bottomAppBarColor, bottomAppBarTheme, bottomNavigationBarTheme, bottomSheetTheme, buttonBarTheme, buttonColor, buttonTheme, canvasColor, cardColor, cardTheme, checkboxTheme, chipTheme, colorScheme, cupertinoOverrideTheme, dataTableTheme, dialogBackgroundColor, dialogTheme, disabledColor, dividerColor, dividerTheme, drawerTheme, elevatedButtonTheme, errorColor, expansionTileTheme, extensions, fixTextFieldOutlineLabel, floatingActionButtonTheme, focusColor, highlightColor, hintColor, hoverColor, iconTheme, indicatorColor, inputDecorationTheme, listTileTheme, materialTapTargetSize, navigationBarTheme, navigationRailTheme, outlinedButtonTheme, pageTransitionsTheme, platform, popupMenuTheme, primaryColor, primaryColorBrightness, primaryColorDark, primaryColorLight, primaryIconTheme, primaryTextTheme, progressIndicatorTheme, radioTheme, scaffoldBackgroundColor, scrollbarTheme, secondaryHeaderColor, selectedRowColor, shadowColor, sliderTheme, snackBarTheme, splashColor, splashFactory, switchTheme, tabBarTheme, textButtonTheme, textSelectionTheme, textTheme, timePickerTheme, toggleButtonsTheme, toggleableActiveColor, tooltipTheme, typography, unselectedWidgetColor, useMaterial3, visualDensity) {
      return new A.ThemeData(applyElevationOverlayColor, cupertinoOverrideTheme, extensions, inputDecorationTheme, materialTapTargetSize, pageTransitionsTheme, platform, scrollbarTheme, splashFactory, false, visualDensity, backgroundColor, bottomAppBarColor, canvasColor, cardColor, colorScheme, dialogBackgroundColor, disabledColor, dividerColor, errorColor, focusColor, highlightColor, hintColor, hoverColor, indicatorColor, primaryColor, primaryColorDark, primaryColorLight, scaffoldBackgroundColor, secondaryHeaderColor, selectedRowColor, shadowColor, splashColor, toggleableActiveColor, unselectedWidgetColor, iconTheme, primaryIconTheme, primaryTextTheme, textTheme, typography, appBarTheme, bannerTheme, bottomAppBarTheme, bottomNavigationBarTheme, bottomSheetTheme, buttonBarTheme, buttonTheme, cardTheme, checkboxTheme, chipTheme, dataTableTheme, dialogTheme, dividerTheme, drawerTheme, elevatedButtonTheme, expansionTileTheme, floatingActionButtonTheme, listTileTheme, navigationBarTheme, navigationRailTheme, outlinedButtonTheme, popupMenuTheme, progressIndicatorTheme, radioTheme, sliderTheme, snackBarTheme, switchTheme, tabBarTheme, textButtonTheme, textSelectionTheme, timePickerTheme, toggleButtonsTheme, tooltipTheme, accentColor, accentColorBrightness, accentTextTheme, accentIconTheme, buttonColor, true, primaryColorBrightness, androidOverscrollIndicator);
    },
    ThemeData_ThemeData$fallback() {
      return A.ThemeData_ThemeData(B.Brightness_1, null);
    },
    ThemeData_localize(baseTheme, localTextGeometry) {
      return $.$get$ThemeData__localizedThemeDataCache().putIfAbsent$2(0, new A._IdentityThemeDataCacheKey(baseTheme, localTextGeometry), new A.ThemeData_localize_closure(baseTheme, localTextGeometry));
    },
    ThemeData_estimateBrightnessForColor(color) {
      var t1 = color.computeLuminance$0() + 0.05;
      if (t1 * t1 > 0.15)
        return B.Brightness_1;
      return B.Brightness_0;
    },
    ThemeData__lerpThemeExtensions(a, b, t) {
      var t1 = a.extensions,
        newExtensions = t1.map$2$1(t1, new A.ThemeData__lerpThemeExtensions_closure(b, t), type$.Object, type$.ThemeExtension_dynamic);
      t1 = b.extensions;
      t1 = t1.get$entries(t1);
      newExtensions.addEntries$1(newExtensions, t1.where$1(t1, new A.ThemeData__lerpThemeExtensions_closure0(a)));
      return newExtensions;
    },
    ThemeData__themeExtensionIterableToMap(extensionsIterable) {
      var _i, extension,
        t1 = type$.Object,
        t2 = type$.ThemeExtension_ThemeExtension_dynamic,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (_i = 0; false; ++_i) {
        extension = extensionsIterable[_i];
        t3.$indexSet(0, extension.get$type(extension), t2._as(extension));
      }
      return A.ConstantMap_ConstantMap$from(t3, t1, type$.ThemeExtension_dynamic);
    },
    MaterialBasedCupertinoThemeData$_(_materialTheme, _cupertinoOverrideTheme) {
      return new A.MaterialBasedCupertinoThemeData(_materialTheme, _cupertinoOverrideTheme, B._CupertinoThemeDefaults_iF8, _cupertinoOverrideTheme.brightness, _cupertinoOverrideTheme.primaryColor, _cupertinoOverrideTheme.primaryContrastingColor, _cupertinoOverrideTheme.textTheme, _cupertinoOverrideTheme.barBackgroundColor, _cupertinoOverrideTheme.scaffoldBackgroundColor);
    },
    VisualDensity_adaptivePlatformDensity() {
      switch (A.defaultTargetPlatform().index) {
        case 0:
        case 2:
        case 1:
          break;
        case 3:
        case 4:
        case 5:
          return B.VisualDensity_m2_m2;
      }
      return B.VisualDensity_0_0;
    },
    MaterialTapTargetSize: function MaterialTapTargetSize(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ThemeData: function ThemeData(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, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66, t67, t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80) {
      var _ = this;
      _.applyElevationOverlayColor = t0;
      _.cupertinoOverrideTheme = t1;
      _.extensions = t2;
      _.inputDecorationTheme = t3;
      _.materialTapTargetSize = t4;
      _.pageTransitionsTheme = t5;
      _.platform = t6;
      _.scrollbarTheme = t7;
      _.splashFactory = t8;
      _.useMaterial3 = t9;
      _.visualDensity = t10;
      _.backgroundColor = t11;
      _.bottomAppBarColor = t12;
      _.canvasColor = t13;
      _.cardColor = t14;
      _.colorScheme = t15;
      _.dialogBackgroundColor = t16;
      _.disabledColor = t17;
      _.dividerColor = t18;
      _.errorColor = t19;
      _.focusColor = t20;
      _.highlightColor = t21;
      _.hintColor = t22;
      _.hoverColor = t23;
      _.indicatorColor = t24;
      _.primaryColor = t25;
      _.primaryColorDark = t26;
      _.primaryColorLight = t27;
      _.scaffoldBackgroundColor = t28;
      _.secondaryHeaderColor = t29;
      _.selectedRowColor = t30;
      _.shadowColor = t31;
      _.splashColor = t32;
      _.toggleableActiveColor = t33;
      _.unselectedWidgetColor = t34;
      _.iconTheme = t35;
      _.primaryIconTheme = t36;
      _.primaryTextTheme = t37;
      _.textTheme = t38;
      _.typography = t39;
      _.appBarTheme = t40;
      _.bannerTheme = t41;
      _.bottomAppBarTheme = t42;
      _.bottomNavigationBarTheme = t43;
      _.bottomSheetTheme = t44;
      _.buttonBarTheme = t45;
      _.buttonTheme = t46;
      _.cardTheme = t47;
      _.checkboxTheme = t48;
      _.chipTheme = t49;
      _.dataTableTheme = t50;
      _.dialogTheme = t51;
      _.dividerTheme = t52;
      _.drawerTheme = t53;
      _.elevatedButtonTheme = t54;
      _.expansionTileTheme = t55;
      _.floatingActionButtonTheme = t56;
      _.listTileTheme = t57;
      _.navigationBarTheme = t58;
      _.navigationRailTheme = t59;
      _.outlinedButtonTheme = t60;
      _.popupMenuTheme = t61;
      _.progressIndicatorTheme = t62;
      _.radioTheme = t63;
      _.sliderTheme = t64;
      _.snackBarTheme = t65;
      _.switchTheme = t66;
      _.tabBarTheme = t67;
      _.textButtonTheme = t68;
      _.textSelectionTheme = t69;
      _.timePickerTheme = t70;
      _.toggleButtonsTheme = t71;
      _.tooltipTheme = t72;
      _._accentColor = t73;
      _._accentColorBrightness = t74;
      _._accentTextTheme = t75;
      _._accentIconTheme = t76;
      _._buttonColor = t77;
      _._fixTextFieldOutlineLabel = t78;
      _._primaryColorBrightness = t79;
      _.androidOverscrollIndicator = t80;
    },
    ThemeData_localize_closure: function ThemeData_localize_closure(t0, t1) {
      this.baseTheme = t0;
      this.localTextGeometry = t1;
    },
    ThemeData__lerpThemeExtensions_closure: function ThemeData__lerpThemeExtensions_closure(t0, t1) {
      this.b = t0;
      this.t = t1;
    },
    ThemeData__lerpThemeExtensions_closure0: function ThemeData__lerpThemeExtensions_closure0(t0) {
      this.a = t0;
    },
    MaterialBasedCupertinoThemeData: function MaterialBasedCupertinoThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._materialTheme = t0;
      _._cupertinoOverrideTheme = t1;
      _._defaults = t2;
      _.brightness = t3;
      _.primaryColor = t4;
      _.primaryContrastingColor = t5;
      _.textTheme = t6;
      _.barBackgroundColor = t7;
      _.scaffoldBackgroundColor = t8;
    },
    _IdentityThemeDataCacheKey: function _IdentityThemeDataCacheKey(t0, t1) {
      this.baseTheme = t0;
      this.localTextGeometry = t1;
    },
    _FifoCache: function _FifoCache(t0, t1, t2) {
      this._theme_data$_cache = t0;
      this._maximumSize = t1;
      this.$ti = t2;
    },
    VisualDensity: function VisualDensity(t0, t1) {
      this.horizontal = t0;
      this.vertical = t1;
    },
    _ThemeData_Object_Diagnosticable: function _ThemeData_Object_Diagnosticable() {
    },
    _VisualDensity_Object_Diagnosticable: function _VisualDensity_Object_Diagnosticable() {
    },
    TimePickerThemeData: function TimePickerThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.backgroundColor = t0;
      _.hourMinuteTextColor = t1;
      _.hourMinuteColor = t2;
      _.dayPeriodTextColor = t3;
      _.dayPeriodColor = t4;
      _.dialHandColor = t5;
      _.dialBackgroundColor = t6;
      _.dialTextColor = t7;
      _.entryModeIconColor = t8;
      _.hourMinuteTextStyle = t9;
      _.dayPeriodTextStyle = t10;
      _.helpTextStyle = t11;
      _.shape = t12;
      _.hourMinuteShape = t13;
      _.dayPeriodShape = t14;
      _.dayPeriodBorderSide = t15;
      _.inputDecorationTheme = t16;
    },
    _TimePickerThemeData_Object_Diagnosticable: function _TimePickerThemeData_Object_Diagnosticable() {
    },
    ToggleButtons: function ToggleButtons(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.children = t0;
      _.isSelected = t1;
      _.onPressed = t2;
      _.textStyle = t3;
      _.constraints = t4;
      _.color = t5;
      _.selectedColor = t6;
      _.fillColor = t7;
      _.borderRadius = t8;
      _.key = t9;
    },
    ToggleButtons_build_closure: function ToggleButtons_build_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.textDirection = t1;
      _.toggleButtonsTheme = t2;
      _.theme = t3;
    },
    ToggleButtons_build__closure: function ToggleButtons_build__closure(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    _ResolveFillColor: function _ResolveFillColor(t0) {
      this.primary = t0;
    },
    _DefaultFillColor: function _DefaultFillColor(t0) {
      this.colorScheme = t0;
    },
    _ToggleButtonDefaultOverlay: function _ToggleButtonDefaultOverlay(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.selected = t0;
      _.unselected = t1;
      _.colorScheme = t2;
      _.focusColor = t3;
      _.highlightColor = t4;
      _.hoverColor = t5;
      _.splashColor = t6;
    },
    _SelectToggleButton: function _SelectToggleButton(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.leadingBorderSide = t0;
      _.borderSide = t1;
      _.trailingBorderSide = t2;
      _.borderRadius = t3;
      _.isFirstButton = t4;
      _.isLastButton = t5;
      _.direction = t6;
      _.verticalDirection = t7;
      _.child = t8;
      _.key = t9;
    },
    _SelectToggleButtonRenderObject: function _SelectToggleButtonRenderObject(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._toggle_buttons$_direction = t0;
      _._toggle_buttons$_verticalDirection = t1;
      _._leadingBorderSide = t2;
      _._borderSide = t3;
      _._trailingBorderSide = t4;
      _._toggle_buttons$_borderRadius = t5;
      _._isFirstButton = t6;
      _._isLastButton = t7;
      _._toggle_buttons$_textDirection = t8;
      _.RenderObjectWithChildMixin__child = t9;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t10;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _InputPadding1: function _InputPadding1(t0, t1, t2, t3) {
      var _ = this;
      _.minSize = t0;
      _.direction = t1;
      _.child = t2;
      _.key = t3;
    },
    _RenderInputPadding1: function _RenderInputPadding1(t0, t1, t2, t3) {
      var _ = this;
      _._toggle_buttons$_minSize = t0;
      _._toggle_buttons$_direction = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderInputPadding_hitTest_closure1: function _RenderInputPadding_hitTest_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    __DefaultFillColor_MaterialStateProperty_Diagnosticable: function __DefaultFillColor_MaterialStateProperty_Diagnosticable() {
    },
    __ResolveFillColor_MaterialStateProperty_Diagnosticable: function __ResolveFillColor_MaterialStateProperty_Diagnosticable() {
    },
    ToggleButtonsThemeData_lerp(a, b, t) {
      var t1 = A.TextStyle_lerp(a.textStyle, b.textStyle, t),
        t2 = A.BoxConstraints_lerp(a.constraints, b.constraints, t),
        t3 = A.Color_lerp(a.color, b.color, t),
        t4 = A.Color_lerp(a.selectedColor, b.selectedColor, t),
        t5 = A.Color_lerp(a.disabledColor, b.disabledColor, t),
        t6 = A.Color_lerp(a.fillColor, b.fillColor, t),
        t7 = A.Color_lerp(a.focusColor, b.focusColor, t),
        t8 = A.Color_lerp(a.highlightColor, b.highlightColor, t),
        t9 = A.Color_lerp(a.hoverColor, b.hoverColor, t),
        t10 = A.Color_lerp(a.splashColor, b.splashColor, t),
        t11 = A.Color_lerp(a.borderColor, b.borderColor, t),
        t12 = A.Color_lerp(a.selectedBorderColor, b.selectedBorderColor, t),
        t13 = A.Color_lerp(a.disabledBorderColor, b.disabledBorderColor, t),
        t14 = A.BorderRadius_lerp(a.borderRadius, b.borderRadius, t);
      return new A.ToggleButtonsThemeData(t1, t2, t3, t4, t5, t6, t7, t8, t10, t9, t11, t12, t13, A.lerpDouble(a.borderWidth, b.borderWidth, t), t14);
    },
    ToggleButtonsThemeData: function ToggleButtonsThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.textStyle = t0;
      _.constraints = t1;
      _.color = t2;
      _.selectedColor = t3;
      _.disabledColor = t4;
      _.fillColor = t5;
      _.focusColor = t6;
      _.highlightColor = t7;
      _.splashColor = t8;
      _.hoverColor = t9;
      _.borderColor = t10;
      _.selectedBorderColor = t11;
      _.disabledBorderColor = t12;
      _.borderWidth = t13;
      _.borderRadius = t14;
    },
    _ToggleButtonsThemeData_Object_Diagnosticable: function _ToggleButtonsThemeData_Object_Diagnosticable() {
    },
    ToggleableStateMixin: function ToggleableStateMixin() {
    },
    ToggleableStateMixin__handleTapDown_closure: function ToggleableStateMixin__handleTapDown_closure(t0, t1) {
      this.$this = t0;
      this.details = t1;
    },
    ToggleableStateMixin__handleTapEnd_closure: function ToggleableStateMixin__handleTapEnd_closure(t0) {
      this.$this = t0;
    },
    ToggleableStateMixin__handleFocusHighlightChanged_closure: function ToggleableStateMixin__handleFocusHighlightChanged_closure(t0, t1) {
      this.$this = t0;
      this.focused = t1;
    },
    ToggleableStateMixin__handleHoverChanged_closure: function ToggleableStateMixin__handleHoverChanged_closure(t0, t1) {
      this.$this = t0;
      this.hovering = t1;
    },
    ToggleablePainter: function ToggleablePainter() {
    },
    Tooltip$(child, decoration, message, padding, preferBelow, richMessage, textStyle, waitDuration) {
      return new A.Tooltip(message, richMessage, padding, preferBelow, child, decoration, textStyle, waitDuration, null);
    },
    Tooltip__concealOtherTooltips(current) {
      var openedTooltips, t1, _i, state;
      if ($.Tooltip__openedTooltips.length !== 0) {
        openedTooltips = A._setArrayType($.Tooltip__openedTooltips.slice(0), A._arrayInstanceType($.Tooltip__openedTooltips));
        for (t1 = openedTooltips.length, _i = 0; _i < openedTooltips.length; openedTooltips.length === t1 || (0, A.throwConcurrentModificationError)(openedTooltips), ++_i) {
          state = openedTooltips[_i];
          if (J.$eq$(state, current))
            continue;
          state._concealTooltip$0();
        }
      }
    },
    Tooltip_dismissAllToolTips() {
      var openedTooltips, t1, _i;
      if ($.Tooltip__openedTooltips.length !== 0) {
        openedTooltips = A._setArrayType($.Tooltip__openedTooltips.slice(0), A._arrayInstanceType($.Tooltip__openedTooltips));
        for (t1 = openedTooltips.length, _i = 0; _i < openedTooltips.length; openedTooltips.length === t1 || (0, A.throwConcurrentModificationError)(openedTooltips), ++_i)
          openedTooltips[_i]._dismissTooltip$1$immediately(true);
        return true;
      }
      return false;
    },
    Tooltip: function Tooltip(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.message = t0;
      _.richMessage = t1;
      _.padding = t2;
      _.preferBelow = t3;
      _.child = t4;
      _.decoration = t5;
      _.textStyle = t6;
      _.waitDuration = t7;
      _.key = t8;
    },
    TooltipState: function TooltipState(t0, t1, t2) {
      var _ = this;
      _.__TooltipState__controller = _.__TooltipState__excludeFromSemantics = _.__TooltipState__preferBelow = _.__TooltipState__verticalOffset = _.__TooltipState__textAlign = _.__TooltipState__textStyle = _.__TooltipState__decoration = _.__TooltipState__margin = _.__TooltipState__padding = _.__TooltipState__height = $;
      _._showTimer = _._dismissTimer = _._entry = null;
      _.__TooltipState__mouseIsConnected = _.__TooltipState__waitDuration = _.__TooltipState__hoverShowDuration = _.__TooltipState__showDuration = $;
      _._pressActivated = false;
      _.__TooltipState__visible = _.__TooltipState__forceRemoval = _.__TooltipState__isConcealed = _.__TooltipState__enableFeedback = _.__TooltipState__triggerMode = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    TooltipState__handleMouseTrackerChange_closure: function TooltipState__handleMouseTrackerChange_closure(t0, t1) {
      this.$this = t0;
      this.mouseIsConnected = t1;
    },
    TooltipState__createNewEntry_closure: function TooltipState__createNewEntry_closure(t0) {
      this.$this = t0;
    },
    TooltipState__createNewEntry_closure0: function TooltipState__createNewEntry_closure0(t0) {
      this.$this = t0;
    },
    TooltipState__createNewEntry_closure1: function TooltipState__createNewEntry_closure1(t0) {
      this.overlay = t0;
    },
    TooltipState_build_closure: function TooltipState_build_closure(t0) {
      this.$this = t0;
    },
    TooltipState_build_closure0: function TooltipState_build_closure0(t0) {
      this.$this = t0;
    },
    _TooltipPositionDelegate: function _TooltipPositionDelegate(t0, t1, t2) {
      this.target = t0;
      this.verticalOffset = t1;
      this.preferBelow = t2;
    },
    _TooltipOverlay: function _TooltipOverlay(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.richMessage = t0;
      _.height = t1;
      _.padding = t2;
      _.margin = t3;
      _.decoration = t4;
      _.textStyle = t5;
      _.textAlign = t6;
      _.animation = t7;
      _.target = t8;
      _.verticalOffset = t9;
      _.preferBelow = t10;
      _.onEnter = t11;
      _.onExit = t12;
      _.key = t13;
    },
    _TooltipState_State_SingleTickerProviderStateMixin: function _TooltipState_State_SingleTickerProviderStateMixin() {
    },
    TooltipThemeData_lerp(a, b, t) {
      var t6, t7, t8, t9,
        t1 = A.lerpDouble(a.height, b.height, t),
        t2 = A.EdgeInsetsGeometry_lerp(a.padding, b.padding, t),
        t3 = A.EdgeInsetsGeometry_lerp(a.margin, b.margin, t),
        t4 = A.lerpDouble(a.verticalOffset, b.verticalOffset, t),
        t5 = t < 0.5;
      if (t5)
        t6 = a.preferBelow;
      else
        t6 = b.preferBelow;
      if (t5)
        t7 = a.excludeFromSemantics;
      else
        t7 = b.excludeFromSemantics;
      t8 = A.Decoration_lerp(a.decoration, b.decoration, t);
      t9 = A.TextStyle_lerp(a.textStyle, b.textStyle, t);
      if (t5)
        t5 = a.textAlign;
      else
        t5 = b.textAlign;
      return new A.TooltipThemeData(t1, t2, t3, t4, t6, t7, t8, t9, t5);
    },
    TooltipThemeData: function TooltipThemeData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.height = t0;
      _.padding = t1;
      _.margin = t2;
      _.verticalOffset = t3;
      _.preferBelow = t4;
      _.excludeFromSemantics = t5;
      _.decoration = t6;
      _.textStyle = t7;
      _.textAlign = t8;
    },
    TooltipTriggerMode: function TooltipTriggerMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _TooltipThemeData_Object_Diagnosticable: function _TooltipThemeData_Object_Diagnosticable() {
    },
    Typography_Typography$material2014(platform) {
      return A.Typography_Typography$_withPlatform(platform, null, null, B.TextTheme_Gl7, B.TextTheme_8FR, B.TextTheme_RkD);
    },
    Typography_Typography$_withPlatform(platform, black, white, englishLike, dense, tall) {
      switch (platform) {
        case B.TargetPlatform_2:
          black = B.TextTheme_woc;
          white = B.TextTheme_UqR;
          break;
        case B.TargetPlatform_0:
        case B.TargetPlatform_1:
          black = B.TextTheme_BCG;
          white = B.TextTheme_yTp;
          break;
        case B.TargetPlatform_5:
          black = B.TextTheme_mDg;
          white = B.TextTheme_P12;
          break;
        case B.TargetPlatform_4:
          black = B.TextTheme_2jN;
          white = B.TextTheme_E6J;
          break;
        case B.TargetPlatform_3:
          black = B.TextTheme_qRH;
          white = B.TextTheme_8Gl;
          break;
        case null:
          break;
      }
      black.toString;
      white.toString;
      return new A.Typography(black, white, englishLike, dense, tall);
    },
    ScriptCategory: function ScriptCategory(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Typography: function Typography(t0, t1, t2, t3, t4) {
      var _ = this;
      _.black = t0;
      _.white = t1;
      _.englishLike = t2;
      _.dense = t3;
      _.tall = t4;
    },
    _Typography_Object_Diagnosticable: function _Typography_Object_Diagnosticable() {
    },
    NetworkImage: function NetworkImage(t0, t1, t2) {
      this.url = t0;
      this.scale = t1;
      this.headers = t2;
    },
    NetworkImage__loadAsync_closure: function NetworkImage__loadAsync_closure(t0) {
      this.chunkEvents = t0;
    },
    AlignmentGeometry_lerp(a, b, t) {
      var t2, t3,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.$mul(0, t);
      if (b == null)
        return a.$mul(0, 1 - t);
      if (a instanceof A.Alignment && b instanceof A.Alignment)
        return A.Alignment_lerp(a, b, t);
      if (a instanceof A.AlignmentDirectional && b instanceof A.AlignmentDirectional)
        return A.AlignmentDirectional_lerp(a, b, t);
      t1 = A.lerpDouble(a.get$_x(), b.get$_x(), t);
      t1.toString;
      t2 = A.lerpDouble(a.get$_alignment$_start(a), b.get$_alignment$_start(b), t);
      t2.toString;
      t3 = A.lerpDouble(a.get$_y(), b.get$_y(), t);
      t3.toString;
      return new A._MixedAlignment(t1, t2, t3);
    },
    Alignment_lerp(a, b, t) {
      var t2,
        t1 = A.lerpDouble(a.x, b.x, t);
      t1.toString;
      t2 = A.lerpDouble(a.y, b.y, t);
      t2.toString;
      return new A.Alignment(t1, t2);
    },
    Alignment__stringify(x, y) {
      var t2, t3,
        t1 = x === -1;
      if (t1 && y === -1)
        return "Alignment.topLeft";
      t2 = x === 0;
      if (t2 && y === -1)
        return "Alignment.topCenter";
      t3 = x === 1;
      if (t3 && y === -1)
        return "Alignment.topRight";
      if (t1 && y === 0)
        return "Alignment.centerLeft";
      if (t2 && y === 0)
        return "Alignment.center";
      if (t3 && y === 0)
        return "Alignment.centerRight";
      if (t1 && y === 1)
        return "Alignment.bottomLeft";
      if (t2 && y === 1)
        return "Alignment.bottomCenter";
      if (t3 && y === 1)
        return "Alignment.bottomRight";
      return "Alignment(" + B.JSNumber_methods.toStringAsFixed$1(x, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(y, 1) + ")";
    },
    AlignmentDirectional_lerp(a, b, t) {
      var t2,
        t1 = A.lerpDouble(a.start, b.start, t);
      t1.toString;
      t2 = A.lerpDouble(a.y, b.y, t);
      t2.toString;
      return new A.AlignmentDirectional(t1, t2);
    },
    AlignmentDirectional__stringify(start, y) {
      var t2, t3,
        t1 = start === -1;
      if (t1 && y === -1)
        return "AlignmentDirectional.topStart";
      t2 = start === 0;
      if (t2 && y === -1)
        return "AlignmentDirectional.topCenter";
      t3 = start === 1;
      if (t3 && y === -1)
        return "AlignmentDirectional.topEnd";
      if (t1 && y === 0)
        return "AlignmentDirectional.centerStart";
      if (t2 && y === 0)
        return "AlignmentDirectional.center";
      if (t3 && y === 0)
        return "AlignmentDirectional.centerEnd";
      if (t1 && y === 1)
        return "AlignmentDirectional.bottomStart";
      if (t2 && y === 1)
        return "AlignmentDirectional.bottomCenter";
      if (t3 && y === 1)
        return "AlignmentDirectional.bottomEnd";
      return "AlignmentDirectional(" + B.JSNumber_methods.toStringAsFixed$1(start, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(y, 1) + ")";
    },
    AlignmentGeometry: function AlignmentGeometry() {
    },
    Alignment: function Alignment(t0, t1) {
      this.x = t0;
      this.y = t1;
    },
    AlignmentDirectional: function AlignmentDirectional(t0, t1) {
      this.start = t0;
      this.y = t1;
    },
    _MixedAlignment: function _MixedAlignment(t0, t1, t2) {
      this._x = t0;
      this._alignment$_start = t1;
      this._y = t2;
    },
    TextAlignVertical: function TextAlignVertical(t0) {
      this.y = t0;
    },
    flipAxis(direction) {
      switch (direction.index) {
        case 0:
          return B.Axis_1;
        case 1:
          return B.Axis_0;
      }
    },
    axisDirectionToAxis(axisDirection) {
      switch (axisDirection.index) {
        case 0:
        case 2:
          return B.Axis_1;
        case 3:
        case 1:
          return B.Axis_0;
      }
    },
    textDirectionToAxisDirection(textDirection) {
      switch (textDirection.index) {
        case 0:
          return B.AxisDirection_3;
        case 1:
          return B.AxisDirection_1;
      }
    },
    flipAxisDirection(axisDirection) {
      switch (axisDirection.index) {
        case 0:
          return B.AxisDirection_2;
        case 1:
          return B.AxisDirection_3;
        case 2:
          return B.AxisDirection_0;
        case 3:
          return B.AxisDirection_1;
      }
    },
    axisDirectionIsReversed(axisDirection) {
      switch (axisDirection.index) {
        case 0:
        case 3:
          return true;
        case 2:
        case 1:
          return false;
      }
    },
    RenderComparison: function RenderComparison(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Axis: function Axis(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    VerticalDirection: function VerticalDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AxisDirection: function AxisDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PaintingBinding: function PaintingBinding() {
    },
    _SystemFontsNotifier: function _SystemFontsNotifier(t0) {
      this._systemFontsCallbacks = t0;
    },
    BorderRadiusGeometry_lerp(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        a = B.BorderRadius_tLn;
      return a.add$1(0, (b == null ? B.BorderRadius_tLn : b).subtract$1(a).$mul(0, t));
    },
    BorderRadius$all(radius) {
      return new A.BorderRadius(radius, radius, radius, radius);
    },
    BorderRadius$circular(radius) {
      var t1 = new A.Radius(radius, radius);
      return new A.BorderRadius(t1, t1, t1, t1);
    },
    BorderRadius_lerp(a, b, t) {
      var t2, t3, t4,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.$mul(0, t);
      if (b == null)
        return a.$mul(0, 1 - t);
      t1 = A.Radius_lerp(a.topLeft, b.topLeft, t);
      t1.toString;
      t2 = A.Radius_lerp(a.topRight, b.topRight, t);
      t2.toString;
      t3 = A.Radius_lerp(a.bottomLeft, b.bottomLeft, t);
      t3.toString;
      t4 = A.Radius_lerp(a.bottomRight, b.bottomRight, t);
      t4.toString;
      return new A.BorderRadius(t1, t2, t3, t4);
    },
    BorderRadiusGeometry: function BorderRadiusGeometry() {
    },
    BorderRadius: function BorderRadius(t0, t1, t2, t3) {
      var _ = this;
      _.topLeft = t0;
      _.topRight = t1;
      _.bottomLeft = t2;
      _.bottomRight = t3;
    },
    _MixedBorderRadius: function _MixedBorderRadius(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._topLeft = t0;
      _._topRight = t1;
      _._bottomLeft = t2;
      _._bottomRight = t3;
      _._topStart = t4;
      _._topEnd = t5;
      _._bottomStart = t6;
      _._bottomEnd = t7;
    },
    BorderSide$(color, strokeAlign, style, width) {
      return new A.BorderSide(color, width, style, strokeAlign);
    },
    BorderSide_merge(a, b) {
      var t1 = a.style,
        aIsNone = t1 === B.BorderStyle_0 && a.width === 0,
        bIsNone = b.style === B.BorderStyle_0 && b.width === 0;
      if (aIsNone && bIsNone)
        return B.BorderSide_aLd;
      if (aIsNone)
        return b;
      if (bIsNone)
        return a;
      return new A.BorderSide(a.color, a.width + b.width, t1, B.StrokeAlign_0);
    },
    BorderSide_canMerge(a, b) {
      var t2,
        t1 = a.style;
      if (!(t1 === B.BorderStyle_0 && a.width === 0))
        t2 = b.style === B.BorderStyle_0 && b.width === 0;
      else
        t2 = true;
      if (t2)
        return true;
      return t1 === b.style && a.color.$eq(0, b.color) && a.strokeAlign === b.strokeAlign;
    },
    BorderSide_lerp(a, b, t) {
      var t1, t2, t3, t4, t5, colorA, colorB, strokeAlign, strokeAlign0;
      if (t === 0)
        return a;
      if (t === 1)
        return b;
      t1 = a.width;
      t2 = b.width;
      t3 = A.lerpDouble(t1, t2, t);
      t3.toString;
      if (t3 < 0)
        return B.BorderSide_aLd;
      t4 = a.style;
      t5 = b.style;
      if (t4 === t5 && a.strokeAlign === b.strokeAlign) {
        t1 = A.Color_lerp(a.color, b.color, t);
        t1.toString;
        return new A.BorderSide(t1, t3, t4, a.strokeAlign);
      }
      switch (t4.index) {
        case 1:
          colorA = a.color;
          break;
        case 0:
          t4 = a.color;
          colorA = A.Color$fromARGB(0, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255);
          break;
        default:
          colorA = null;
      }
      switch (t5.index) {
        case 1:
          colorB = b.color;
          break;
        case 0:
          t4 = b.color;
          colorB = A.Color$fromARGB(0, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255);
          break;
        default:
          colorB = null;
      }
      strokeAlign = a.strokeAlign;
      strokeAlign0 = b.strokeAlign;
      if (strokeAlign !== strokeAlign0) {
        t3 = t > 0.5;
        if (t3)
          strokeAlign = strokeAlign0;
        t4 = A.Color_lerp(colorA, colorB, t);
        t4.toString;
        t5 = t * 2;
        if (t3) {
          t1 = A.lerpDouble(0, t2, t5 - 1);
          t1.toString;
        } else {
          t1 = A.lerpDouble(t1, 0, t5);
          t1.toString;
        }
        return new A.BorderSide(t4, t1, B.BorderStyle_1, strokeAlign);
      }
      t1 = A.Color_lerp(colorA, colorB, t);
      t1.toString;
      return new A.BorderSide(t1, t3, B.BorderStyle_1, strokeAlign);
    },
    ShapeBorder_lerp(a, b, t) {
      var t1,
        result = b != null ? b.lerpFrom$2(a, t) : null;
      if (result == null && a != null)
        result = a.lerpTo$2(b, t);
      if (result == null)
        t1 = t < 0.5 ? a : b;
      else
        t1 = result;
      return t1;
    },
    OutlinedBorder_lerp(a, b, t) {
      var t1,
        result = b != null ? b.lerpFrom$2(a, t) : null;
      if (result == null && a != null)
        result = a.lerpTo$2(b, t);
      if (result == null)
        t1 = t < 0.5 ? a : b;
      else
        t1 = result;
      return t1;
    },
    _CompoundBorder_lerp(a, b, t) {
      var t1, index, localA, localB, t2, localResult,
        aList = a instanceof A._CompoundBorder ? a.borders : A._setArrayType([a], type$.JSArray_nullable_ShapeBorder),
        bList = b instanceof A._CompoundBorder ? b.borders : A._setArrayType([b], type$.JSArray_nullable_ShapeBorder),
        results = A._setArrayType([], type$.JSArray_ShapeBorder),
        $length = Math.max(aList.length, bList.length);
      for (t1 = 1 - t, index = 0; index < $length; ++index) {
        localA = index < aList.length ? aList[index] : null;
        localB = index < bList.length ? bList[index] : null;
        t2 = localA != null;
        if (t2 && localB != null) {
          localResult = localA.lerpTo$2(localB, t);
          if (localResult == null)
            localResult = localB.lerpFrom$2(localA, t);
          if (localResult != null) {
            results.push(localResult);
            continue;
          }
        }
        if (localB != null)
          results.push(localB.scale$1(0, t));
        if (t2)
          results.push(localA.scale$1(0, t1));
      }
      return new A._CompoundBorder(results);
    },
    paintBorder(canvas, rect, bottom, left, right, $top) {
      var path, t1, t2, t3, t4,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$strokeWidth(0);
      path = A.Path_Path();
      switch ($top.style.index) {
        case 1:
          paint.set$color(0, $top.color);
          path.reset$0(0);
          t1 = rect.left;
          t2 = rect.top;
          path.moveTo$2(0, t1, t2);
          t3 = rect.right;
          path.lineTo$2(0, t3, t2);
          t4 = $top.width;
          if (t4 === 0)
            paint.set$style(0, B.PaintingStyle_1);
          else {
            paint.set$style(0, B.PaintingStyle_0);
            t2 += t4;
            path.lineTo$2(0, t3 - right.width, t2);
            path.lineTo$2(0, t1 + left.width, t2);
          }
          canvas.drawPath$2(path, paint);
          break;
        case 0:
          break;
      }
      switch (right.style.index) {
        case 1:
          paint.set$color(0, right.color);
          path.reset$0(0);
          t1 = rect.right;
          t2 = rect.top;
          path.moveTo$2(0, t1, t2);
          t3 = rect.bottom;
          path.lineTo$2(0, t1, t3);
          t4 = right.width;
          if (t4 === 0)
            paint.set$style(0, B.PaintingStyle_1);
          else {
            paint.set$style(0, B.PaintingStyle_0);
            t1 -= t4;
            path.lineTo$2(0, t1, t3 - bottom.width);
            path.lineTo$2(0, t1, t2 + $top.width);
          }
          canvas.drawPath$2(path, paint);
          break;
        case 0:
          break;
      }
      switch (bottom.style.index) {
        case 1:
          paint.set$color(0, bottom.color);
          path.reset$0(0);
          t1 = rect.right;
          t2 = rect.bottom;
          path.moveTo$2(0, t1, t2);
          t3 = rect.left;
          path.lineTo$2(0, t3, t2);
          t4 = bottom.width;
          if (t4 === 0)
            paint.set$style(0, B.PaintingStyle_1);
          else {
            paint.set$style(0, B.PaintingStyle_0);
            t2 -= t4;
            path.lineTo$2(0, t3 + left.width, t2);
            path.lineTo$2(0, t1 - right.width, t2);
          }
          canvas.drawPath$2(path, paint);
          break;
        case 0:
          break;
      }
      switch (left.style.index) {
        case 1:
          paint.set$color(0, left.color);
          path.reset$0(0);
          t1 = rect.left;
          t2 = rect.bottom;
          path.moveTo$2(0, t1, t2);
          t3 = rect.top;
          path.lineTo$2(0, t1, t3);
          t4 = left.width;
          if (t4 === 0)
            paint.set$style(0, B.PaintingStyle_1);
          else {
            paint.set$style(0, B.PaintingStyle_0);
            t1 += t4;
            path.lineTo$2(0, t1, t3 + $top.width);
            path.lineTo$2(0, t1, t2 - bottom.width);
          }
          canvas.drawPath$2(path, paint);
          break;
        case 0:
          break;
      }
    },
    BorderStyle: function BorderStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    StrokeAlign: function StrokeAlign(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    BorderSide: function BorderSide(t0, t1, t2, t3) {
      var _ = this;
      _.color = t0;
      _.width = t1;
      _.style = t2;
      _.strokeAlign = t3;
    },
    ShapeBorder: function ShapeBorder() {
    },
    OutlinedBorder: function OutlinedBorder() {
    },
    _CompoundBorder: function _CompoundBorder(t0) {
      this.borders = t0;
    },
    _CompoundBorder_dimensions_closure: function _CompoundBorder_dimensions_closure() {
    },
    _CompoundBorder_scale_closure: function _CompoundBorder_scale_closure(t0) {
      this.t = t0;
    },
    _CompoundBorder_toString_closure: function _CompoundBorder_toString_closure() {
    },
    BoxBorder_lerp(a, b, t) {
      var t0, t2,
        t1 = type$.nullable_Border;
      if (t1._is(a) && t1._is(b))
        return A.Border_lerp(a, b, t);
      t1 = type$.nullable_BorderDirectional;
      if (t1._is(a) && t1._is(b))
        return A.BorderDirectional_lerp(a, b, t);
      if (b instanceof A.Border && a instanceof A.BorderDirectional) {
        t = 1 - t;
        t0 = b;
        b = a;
        a = t0;
      }
      if (a instanceof A.Border && b instanceof A.BorderDirectional) {
        t1 = b.start;
        if (t1.$eq(0, B.BorderSide_aLd) && b.end.$eq(0, B.BorderSide_aLd))
          return new A.Border(A.BorderSide_lerp(a.top, b.top, t), A.BorderSide_lerp(a.right, B.BorderSide_aLd, t), A.BorderSide_lerp(a.bottom, b.bottom, t), A.BorderSide_lerp(a.left, B.BorderSide_aLd, t));
        t2 = a.left;
        if (t2.$eq(0, B.BorderSide_aLd) && a.right.$eq(0, B.BorderSide_aLd))
          return new A.BorderDirectional(A.BorderSide_lerp(a.top, b.top, t), A.BorderSide_lerp(B.BorderSide_aLd, t1, t), A.BorderSide_lerp(B.BorderSide_aLd, b.end, t), A.BorderSide_lerp(a.bottom, b.bottom, t));
        if (t < 0.5) {
          t1 = t * 2;
          return new A.Border(A.BorderSide_lerp(a.top, b.top, t), A.BorderSide_lerp(a.right, B.BorderSide_aLd, t1), A.BorderSide_lerp(a.bottom, b.bottom, t), A.BorderSide_lerp(t2, B.BorderSide_aLd, t1));
        }
        t2 = (t - 0.5) * 2;
        return new A.BorderDirectional(A.BorderSide_lerp(a.top, b.top, t), A.BorderSide_lerp(B.BorderSide_aLd, t1, t2), A.BorderSide_lerp(B.BorderSide_aLd, b.end, t2), A.BorderSide_lerp(a.bottom, b.bottom, t));
      }
      throw A.wrapException(A.FlutterError$fromParts(A._setArrayType([A.ErrorSummary$("BoxBorder.lerp can only interpolate Border and BorderDirectional classes."), A.ErrorDescription$("BoxBorder.lerp() was called with two objects of type " + J.get$runtimeType$(a).toString$0(0) + " and " + J.get$runtimeType$(b).toString$0(0) + ":\n  " + A.S(a) + "\n  " + A.S(b) + "\nHowever, only Border and BorderDirectional classes are supported by this method."), A.ErrorHint$("For a more general interpolation method, consider using ShapeBorder.lerp instead.")], type$.JSArray_DiagnosticsNode)));
    },
    BoxBorder__paintUniformBorderWithRadius(canvas, rect, side, borderRadius) {
      var width, t1, outer, inner,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, side.color);
      width = side.width;
      if (width === 0) {
        paint.set$style(0, B.PaintingStyle_1);
        paint.set$strokeWidth(0);
        canvas.drawRRect$2(borderRadius.toRRect$1(rect), paint);
      } else {
        t1 = side.strokeAlign;
        if (t1 === B.StrokeAlign_0) {
          outer = borderRadius.toRRect$1(rect);
          canvas.drawDRRect$3(outer, outer.inflate$1(-width), paint);
        } else {
          if (t1 === B.StrokeAlign_1) {
            t1 = width / 2;
            inner = rect.inflate$1(-t1);
            outer = rect.inflate$1(t1);
          } else {
            outer = rect.inflate$1(width);
            inner = rect;
          }
          canvas.drawDRRect$3(borderRadius.toRRect$1(outer), borderRadius.toRRect$1(inner), paint);
        }
      }
    },
    BoxBorder__paintUniformBorderWithCircle(canvas, rect, side) {
      var radius,
        width = side.width,
        paint = side.toPaint$0();
      switch (side.strokeAlign.index) {
        case 0:
          radius = (rect.get$shortestSide() - width) / 2;
          break;
        case 1:
          radius = rect.get$shortestSide() / 2;
          break;
        case 2:
          radius = (rect.get$shortestSide() + width) / 2;
          break;
        default:
          radius = null;
      }
      canvas.drawCircle$3(rect.get$center(), radius, paint);
    },
    BoxBorder__paintUniformBorderWithRectangle(canvas, rect, side) {
      var rectToBeDrawn,
        width = side.width,
        paint = side.toPaint$0();
      switch (side.strokeAlign.index) {
        case 0:
          rectToBeDrawn = rect.inflate$1(-(width / 2));
          break;
        case 1:
          rectToBeDrawn = rect;
          break;
        case 2:
          rectToBeDrawn = rect.inflate$1(width / 2);
          break;
        default:
          rectToBeDrawn = null;
      }
      canvas.drawRect$2(rectToBeDrawn, paint);
    },
    Border_Border$all(color, width) {
      var side = new A.BorderSide(color, width, B.BorderStyle_1, B.StrokeAlign_0);
      return new A.Border(side, side, side, side);
    },
    Border_lerp(a, b, t) {
      var t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.scale$1(0, t);
      if (b == null)
        return a.scale$1(0, 1 - t);
      return new A.Border(A.BorderSide_lerp(a.top, b.top, t), A.BorderSide_lerp(a.right, b.right, t), A.BorderSide_lerp(a.bottom, b.bottom, t), A.BorderSide_lerp(a.left, b.left, t));
    },
    BorderDirectional_lerp(a, b, t) {
      var t2, t3,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.scale$1(0, t);
      if (b == null)
        return a.scale$1(0, 1 - t);
      t1 = A.BorderSide_lerp(a.top, b.top, t);
      t2 = A.BorderSide_lerp(a.end, b.end, t);
      t3 = A.BorderSide_lerp(a.bottom, b.bottom, t);
      return new A.BorderDirectional(t1, A.BorderSide_lerp(a.start, b.start, t), t2, t3);
    },
    BoxShape: function BoxShape(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    BoxBorder: function BoxBorder() {
    },
    Border: function Border(t0, t1, t2, t3) {
      var _ = this;
      _.top = t0;
      _.right = t1;
      _.bottom = t2;
      _.left = t3;
    },
    BorderDirectional: function BorderDirectional(t0, t1, t2, t3) {
      var _ = this;
      _.top = t0;
      _.start = t1;
      _.end = t2;
      _.bottom = t3;
    },
    BoxDecoration_lerp(a, b, t) {
      var t1, t2, t3, t4, t5, t6, t7;
      if (t === 0)
        return a;
      if (t === 1)
        return b;
      t1 = A.Color_lerp(a.color, b.color, t);
      t2 = t < 0.5;
      t3 = t2 ? a.image : b.image;
      t4 = A.BoxBorder_lerp(a.border, b.border, t);
      t5 = A.BorderRadiusGeometry_lerp(a.borderRadius, b.borderRadius, t);
      t6 = A.BoxShadow_lerpList(a.boxShadow, b.boxShadow, t);
      t7 = A.Gradient_lerp(a.gradient, b.gradient, t);
      return new A.BoxDecoration(t1, t3, t4, t5, t6, t7, null, t2 ? a.shape : b.shape);
    },
    BoxDecoration: function BoxDecoration(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.color = t0;
      _.image = t1;
      _.border = t2;
      _.borderRadius = t3;
      _.boxShadow = t4;
      _.gradient = t5;
      _.backgroundBlendMode = t6;
      _.shape = t7;
    },
    _BoxDecorationPainter: function _BoxDecorationPainter(t0, t1) {
      var _ = this;
      _._box_decoration$_decoration = t0;
      _._imagePainter = _._rectForCachedBackgroundPaint = _._cachedBackgroundPaint = null;
      _.onChanged = t1;
    },
    applyBoxFit(fit, inputSize, outputSize) {
      var destinationSize, sourceSize, t2, t3, t4, aspectRatio,
        t1 = inputSize._dy;
      if (t1 <= 0 || inputSize._dx <= 0 || outputSize._dy <= 0 || outputSize._dx <= 0)
        return B.FittedSizes_46c;
      switch (fit.index) {
        case 0:
          destinationSize = outputSize;
          sourceSize = inputSize;
          break;
        case 1:
          t2 = outputSize._dx;
          t3 = outputSize._dy;
          t4 = inputSize._dx;
          destinationSize = t2 / t3 > t4 / t1 ? new A.Size(t4 * t3 / t1, t3) : new A.Size(t2, t1 * t2 / t4);
          sourceSize = inputSize;
          break;
        case 2:
          t2 = outputSize._dx;
          t3 = outputSize._dy;
          t4 = inputSize._dx;
          sourceSize = t2 / t3 > t4 / t1 ? new A.Size(t4, t4 * t3 / t2) : new A.Size(t1 * t2 / t3, t1);
          destinationSize = outputSize;
          break;
        case 3:
          t1 = inputSize._dx;
          t2 = outputSize._dx;
          t3 = t1 * outputSize._dy / t2;
          sourceSize = new A.Size(t1, t3);
          destinationSize = new A.Size(t2, t3 * t2 / t1);
          break;
        case 4:
          t2 = outputSize._dy;
          t3 = t1 * outputSize._dx / t2;
          sourceSize = new A.Size(t3, t1);
          destinationSize = new A.Size(t3 * t2 / t1, t2);
          break;
        case 5:
          sourceSize = new A.Size(Math.min(inputSize._dx, outputSize._dx), Math.min(t1, outputSize._dy));
          destinationSize = sourceSize;
          break;
        case 6:
          aspectRatio = inputSize._dx / t1;
          t2 = outputSize._dy;
          destinationSize = t1 > t2 ? new A.Size(t2 * aspectRatio, t2) : inputSize;
          t1 = outputSize._dx;
          if (destinationSize._dx > t1)
            destinationSize = new A.Size(t1, t1 / aspectRatio);
          sourceSize = inputSize;
          break;
        default:
          sourceSize = null;
          destinationSize = null;
      }
      return new A.FittedSizes(sourceSize, destinationSize);
    },
    BoxFit: function BoxFit(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FittedSizes: function FittedSizes(t0, t1) {
      this.source = t0;
      this.destination = t1;
    },
    BoxShadow_lerp(a, b, t) {
      var t2, t3, t4, t5,
        t1 = A.Color_lerp(a.color, b.color, t);
      t1.toString;
      t2 = A.Offset_lerp(a.offset, b.offset, t);
      t2.toString;
      t3 = A.lerpDouble(a.blurRadius, b.blurRadius, t);
      t3.toString;
      t4 = A.lerpDouble(a.spreadRadius, b.spreadRadius, t);
      t4.toString;
      t5 = a.blurStyle;
      return new A.BoxShadow(t4, t5 === B.BlurStyle_0 ? b.blurStyle : t5, t1, t2, t3);
    },
    BoxShadow_lerpList(a, b, t) {
      var commonLength, i, t2, t3, t4, t5, t6,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        a = A._setArrayType([], type$.JSArray_BoxShadow);
      if (b == null)
        b = A._setArrayType([], type$.JSArray_BoxShadow);
      commonLength = Math.min(a.length, b.length);
      t1 = A._setArrayType([], type$.JSArray_BoxShadow);
      for (i = 0; i < commonLength; ++i) {
        t2 = A.BoxShadow_lerp(a[i], b[i], t);
        t2.toString;
        t1.push(t2);
      }
      for (t2 = 1 - t, i = commonLength; i < a.length; ++i) {
        t3 = a[i];
        t4 = t3.color;
        t5 = t3.offset;
        t6 = t3.blurRadius;
        t1.push(new A.BoxShadow(t3.spreadRadius * t2, t3.blurStyle, t4, new A.Offset(t5._dx * t2, t5._dy * t2), t6 * t2));
      }
      for (i = commonLength; i < b.length; ++i) {
        t2 = b[i];
        t3 = t2.color;
        t4 = t2.offset;
        t5 = t2.blurRadius;
        t1.push(new A.BoxShadow(t2.spreadRadius * t, t2.blurStyle, t3, new A.Offset(t4._dx * t, t4._dy * t), t5 * t));
      }
      return t1;
    },
    BoxShadow: function BoxShadow(t0, t1, t2, t3, t4) {
      var _ = this;
      _.spreadRadius = t0;
      _.blurStyle = t1;
      _.color = t2;
      _.offset = t3;
      _.blurRadius = t4;
    },
    CircleBorder: function CircleBorder(t0) {
      this.side = t0;
    },
    ClipContext: function ClipContext() {
    },
    ClipContext_clipPathAndPaint_closure: function ClipContext_clipPathAndPaint_closure(t0, t1) {
      this.$this = t0;
      this.path = t1;
    },
    ClipContext_clipRRectAndPaint_closure: function ClipContext_clipRRectAndPaint_closure(t0, t1) {
      this.$this = t0;
      this.rrect = t1;
    },
    ClipContext_clipRectAndPaint_closure: function ClipContext_clipRectAndPaint_closure(t0, t1) {
      this.$this = t0;
      this.rect = t1;
    },
    ColorSwatch: function ColorSwatch() {
    },
    ContinuousRectangleBorder: function ContinuousRectangleBorder(t0, t1) {
      this.borderRadius = t0;
      this.side = t1;
    },
    ImageSizeInfo: function ImageSizeInfo(t0, t1, t2) {
      this.source = t0;
      this.displaySize = t1;
      this.imageSize = t2;
    },
    Decoration_lerp(a, b, t) {
      var _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      if (t1) {
        t1 = b.lerpFrom$2(_null, t);
        return t1 == null ? b : t1;
      }
      if (b == null) {
        t1 = a.lerpTo$2(_null, t);
        return t1 == null ? a : t1;
      }
      if (t === 0)
        return a;
      if (t === 1)
        return b;
      t1 = b.lerpFrom$2(a, t);
      if (t1 == null)
        t1 = a.lerpTo$2(b, t);
      if (t1 == null)
        if (t < 0.5) {
          t1 = a.lerpTo$2(_null, t * 2);
          if (t1 == null)
            t1 = a;
        } else {
          t1 = b.lerpFrom$2(_null, (t - 0.5) * 2);
          if (t1 == null)
            t1 = b;
        }
      return t1;
    },
    Decoration: function Decoration() {
    },
    BoxPainter: function BoxPainter() {
    },
    _Decoration_Object_Diagnosticable: function _Decoration_Object_Diagnosticable() {
    },
    paintImage(alignment, canvas, centerSlice, colorFilter, debugImageLabel, filterQuality, fit, flipHorizontally, image, invertColors, isAntiAlias, opacity, rect, repeat, scale) {
      var t1, t2, t3, t4, outputSize, t5, t6, fittedSizes, sourceSize, destinationSize, paint, t7, halfWidthDelta, t8, halfHeightDelta, destinationRect, sizeInfo, existingSizeInfo, needSave, dx, sourceRect, _i;
      if (rect.get$isEmpty(rect))
        return;
      t1 = rect.left;
      t2 = rect.right - t1;
      t3 = rect.top;
      t4 = rect.bottom - t3;
      outputSize = new A.Size(t2, t4);
      t5 = image.get$width(image);
      t6 = image.get$height(image);
      if (fit == null)
        fit = B.BoxFit_6;
      fittedSizes = A.applyBoxFit(fit, new A.Size(t5, t6).$div(0, scale), outputSize);
      sourceSize = fittedSizes.source.$mul(0, scale);
      destinationSize = fittedSizes.destination;
      if (repeat !== B.ImageRepeat_3 && destinationSize.$eq(0, outputSize))
        repeat = B.ImageRepeat_3;
      paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$isAntiAlias(false);
      if (colorFilter != null)
        paint.set$colorFilter(colorFilter);
      paint.set$color(0, A.Color$fromRGBO(0, 0, 0, opacity));
      paint.set$filterQuality(filterQuality);
      paint.set$invertColors(invertColors);
      t7 = destinationSize._dx;
      halfWidthDelta = (t2 - t7) / 2;
      t8 = destinationSize._dy;
      halfHeightDelta = (t4 - t8) / 2;
      t4 = alignment.x;
      t4 = t1 + (halfWidthDelta + (flipHorizontally ? -t4 : t4) * halfWidthDelta);
      t3 += halfHeightDelta + alignment.y * halfHeightDelta;
      destinationRect = new A.Rect(t4, t3, t4 + t7, t3 + t8);
      t3 = debugImageLabel == null ? "<Unknown Image(" + image.get$width(image) + "\xd7" + image.get$height(image) + ")>" : debugImageLabel;
      t4 = image.get$width(image);
      t7 = image.get$height(image);
      $.PaintingBinding__instance.toString;
      t8 = $.$get$window()._debugDevicePixelRatio;
      t8 = outputSize.$mul(0, t8 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t8);
      sizeInfo = new A.ImageSizeInfo(t3, t8, new A.Size(t4, t7));
      if (!$._lastFrameImageSizeInfo.contains$1(0, sizeInfo)) {
        existingSizeInfo = $._pendingImageSizeInfo.$index(0, t3);
        if (existingSizeInfo == null || existingSizeInfo._sizeToBytes$1(existingSizeInfo.displaySize) < sizeInfo._sizeToBytes$1(t8))
          $._pendingImageSizeInfo.$indexSet(0, t3, sizeInfo);
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.paintImage_closure());
      }
      needSave = repeat !== B.ImageRepeat_3 || flipHorizontally;
      if (needSave)
        canvas.save$0(0);
      t3 = repeat === B.ImageRepeat_3;
      if (!t3)
        canvas.clipRect$1(rect);
      if (flipHorizontally) {
        dx = -(t1 + t2 / 2);
        canvas.translate$2(0, -dx, 0);
        canvas.scale$2(0, -1, 1);
        canvas.translate$2(0, dx, 0);
      }
      sourceRect = alignment.inscribe$2(sourceSize, new A.Rect(0, 0, t5, t6));
      if (t3)
        canvas.drawImageRect$4(image, sourceRect, destinationRect, paint);
      else
        for (t1 = A._generateImageTileRects(rect, destinationRect, repeat), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          canvas.drawImageRect$4(image, sourceRect, t1[_i], paint);
      if (needSave)
        canvas.restore$0(0);
    },
    _generateImageTileRects(outputRect, fundamentalRect, repeat) {
      var startX, stopX, startY, stopY, i, j,
        t1 = fundamentalRect.right,
        t2 = fundamentalRect.left,
        strideX = t1 - t2,
        t3 = fundamentalRect.bottom,
        t4 = fundamentalRect.top,
        strideY = t3 - t4,
        t5 = repeat !== B.ImageRepeat_0;
      if (!t5 || repeat === B.ImageRepeat_1) {
        startX = B.JSNumber_methods.floor$0((outputRect.left - t2) / strideX);
        stopX = B.JSNumber_methods.ceil$0((outputRect.right - t1) / strideX);
      } else {
        startX = 0;
        stopX = 0;
      }
      if (!t5 || repeat === B.ImageRepeat_2) {
        startY = B.JSNumber_methods.floor$0((outputRect.top - t4) / strideY);
        stopY = B.JSNumber_methods.ceil$0((outputRect.bottom - t3) / strideY);
      } else {
        startY = 0;
        stopY = 0;
      }
      t1 = A._setArrayType([], type$.JSArray_Rect);
      for (i = startX; i <= stopX; ++i)
        for (t2 = i * strideX, j = startY; j <= stopY; ++j)
          t1.push(fundamentalRect.shift$1(new A.Offset(t2, j * strideY)));
      return t1;
    },
    ImageRepeat: function ImageRepeat(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    DecorationImagePainter: function DecorationImagePainter(t0, t1) {
      var _ = this;
      _._details = t0;
      _._onChanged = t1;
      _._image = _._imageStream = null;
    },
    paintImage_closure: function paintImage_closure() {
    },
    EdgeInsetsGeometry_lerp(a, b, t) {
      var t2, t3, t4, t5, t6,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.$mul(0, t);
      if (b == null)
        return a.$mul(0, 1 - t);
      if (a instanceof A.EdgeInsets && b instanceof A.EdgeInsets)
        return A.EdgeInsets_lerp(a, b, t);
      if (a instanceof A.EdgeInsetsDirectional && b instanceof A.EdgeInsetsDirectional)
        return A.EdgeInsetsDirectional_lerp(a, b, t);
      t1 = A.lerpDouble(a.get$_left(a), b.get$_left(b), t);
      t1.toString;
      t2 = A.lerpDouble(a.get$_right(a), b.get$_right(b), t);
      t2.toString;
      t3 = A.lerpDouble(a.get$_edge_insets$_start(a), b.get$_edge_insets$_start(b), t);
      t3.toString;
      t4 = A.lerpDouble(a.get$_edge_insets$_end(), b.get$_edge_insets$_end(), t);
      t4.toString;
      t5 = A.lerpDouble(a.get$_top(a), b.get$_top(b), t);
      t5.toString;
      t6 = A.lerpDouble(a.get$_bottom(a), b.get$_bottom(b), t);
      t6.toString;
      return new A._MixedEdgeInsets(t1, t2, t3, t4, t5, t6);
    },
    EdgeInsets$fromWindowPadding(padding, devicePixelRatio) {
      return new A.EdgeInsets(padding.left / devicePixelRatio, padding.top / devicePixelRatio, padding.right / devicePixelRatio, padding.bottom / devicePixelRatio);
    },
    EdgeInsets_lerp(a, b, t) {
      var t2, t3, t4,
        t1 = A.lerpDouble(a.left, b.left, t);
      t1.toString;
      t2 = A.lerpDouble(a.top, b.top, t);
      t2.toString;
      t3 = A.lerpDouble(a.right, b.right, t);
      t3.toString;
      t4 = A.lerpDouble(a.bottom, b.bottom, t);
      t4.toString;
      return new A.EdgeInsets(t1, t2, t3, t4);
    },
    EdgeInsetsDirectional_lerp(a, b, t) {
      var t2, t3, t4,
        t1 = A.lerpDouble(a.start, b.start, t);
      t1.toString;
      t2 = A.lerpDouble(a.top, b.top, t);
      t2.toString;
      t3 = A.lerpDouble(a.end, b.end, t);
      t3.toString;
      t4 = A.lerpDouble(a.bottom, b.bottom, t);
      t4.toString;
      return new A.EdgeInsetsDirectional(t1, t2, t3, t4);
    },
    EdgeInsetsGeometry: function EdgeInsetsGeometry() {
    },
    EdgeInsets: function EdgeInsets(t0, t1, t2, t3) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
    },
    EdgeInsetsDirectional: function EdgeInsetsDirectional(t0, t1, t2, t3) {
      var _ = this;
      _.start = t0;
      _.top = t1;
      _.end = t2;
      _.bottom = t3;
    },
    _MixedEdgeInsets: function _MixedEdgeInsets(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._left = t0;
      _._right = t1;
      _._edge_insets$_start = t2;
      _._edge_insets$_end = t3;
      _._top = t4;
      _._bottom = t5;
    },
    _sample(colors, stops, t) {
      var index, t1, t2, t3, t4;
      if (t <= B.JSArray_methods.get$first(stops))
        return B.JSArray_methods.get$first(colors);
      if (t >= B.JSArray_methods.get$last(stops))
        return B.JSArray_methods.get$last(colors);
      index = B.JSArray_methods.lastIndexWhere$1(stops, new A._sample_closure(t));
      t1 = colors[index];
      t2 = index + 1;
      t3 = colors[t2];
      t4 = stops[index];
      t4 = A.Color_lerp(t1, t3, (t - t4) / (stops[t2] - t4));
      t4.toString;
      return t4;
    },
    _interpolateColorsAndStops(aColors, aStops, bColors, bStops, t) {
      var interpolatedStops, t1,
        stops = A.SplayTreeSet$(null, null, type$.double);
      stops.addAll$1(0, aStops);
      stops.addAll$1(0, bStops);
      interpolatedStops = A.List_List$of(stops, false, stops.$ti._eval$1("SetMixin.E"));
      t1 = A._arrayInstanceType(interpolatedStops)._eval$1("MappedListIterable<1,Color>");
      return new A._ColorsAndStops(A.List_List$of(new A.MappedListIterable(interpolatedStops, new A._interpolateColorsAndStops_closure(aColors, aStops, bColors, bStops, t), t1), false, t1._eval$1("ListIterable.E")), interpolatedStops);
    },
    Gradient_lerp(a, b, t) {
      var t1 = b == null,
        result = !t1 ? b.lerpFrom$2(a, t) : null;
      if (result == null && a != null)
        result = a.lerpTo$2(b, t);
      if (result != null)
        return result;
      if (a == null && t1)
        return null;
      return t < 0.5 ? a.scale$1(0, 1 - t * 2) : b.scale$1(0, (t - 0.5) * 2);
    },
    LinearGradient_lerp(a, b, t) {
      var interpolated, t2, t3,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.scale$1(0, t);
      if (b == null)
        return a.scale$1(0, 1 - t);
      interpolated = A._interpolateColorsAndStops(a.colors, a._impliedStops$0(), b.colors, b._impliedStops$0(), t);
      t1 = A.AlignmentGeometry_lerp(a.begin, b.begin, t);
      t1.toString;
      t2 = A.AlignmentGeometry_lerp(a.end, b.end, t);
      t2.toString;
      t3 = t < 0.5 ? a.tileMode : b.tileMode;
      return new A.LinearGradient(t1, t2, t3, interpolated.colors, interpolated.stops, null);
    },
    _ColorsAndStops: function _ColorsAndStops(t0, t1) {
      this.colors = t0;
      this.stops = t1;
    },
    _sample_closure: function _sample_closure(t0) {
      this.t = t0;
    },
    _interpolateColorsAndStops_closure: function _interpolateColorsAndStops_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.aColors = t0;
      _.aStops = t1;
      _.bColors = t2;
      _.bStops = t3;
      _.t = t4;
    },
    Gradient: function Gradient() {
    },
    LinearGradient: function LinearGradient(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.begin = t0;
      _.end = t1;
      _.tileMode = t2;
      _.colors = t3;
      _.stops = t4;
      _.transform = t5;
    },
    LinearGradient_scale_closure: function LinearGradient_scale_closure(t0) {
      this.factor = t0;
    },
    _LiveImage$(completer, handleRemove) {
      var t1;
      if (completer._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      t1 = new A.ImageStreamCompleterHandle(completer);
      t1.ImageStreamCompleterHandle$_$1(completer);
      t1 = new A._LiveImage(completer, null, t1);
      t1._LiveImage$3$sizeBytes(completer, handleRemove, null);
      return t1;
    },
    ImageCache: function ImageCache(t0, t1, t2) {
      var _ = this;
      _._pendingImages = t0;
      _._image_cache$_cache = t1;
      _._liveImages = t2;
      _._currentSizeBytes = 0;
    },
    ImageCache__trackLiveImage_closure: function ImageCache__trackLiveImage_closure(t0, t1, t2) {
      this.$this = t0;
      this.completer = t1;
      this.key = t2;
    },
    ImageCache__trackLiveImage__closure: function ImageCache__trackLiveImage__closure(t0, t1) {
      this.$this = t0;
      this.key = t1;
    },
    ImageCache_putIfAbsent_listener: function ImageCache_putIfAbsent_listener(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.key = t2;
      _.trackPendingImage = t3;
      _.pendingImage = t4;
    },
    _CachedImageBase: function _CachedImageBase() {
    },
    _CachedImageBase_dispose_closure: function _CachedImageBase_dispose_closure(t0) {
      this.$this = t0;
    },
    _CachedImage: function _CachedImage(t0, t1, t2) {
      this.completer = t0;
      this.sizeBytes = t1;
      this.handle = t2;
    },
    _LiveImage: function _LiveImage(t0, t1, t2) {
      var _ = this;
      _.___LiveImage__handleRemove = $;
      _.completer = t0;
      _.sizeBytes = t1;
      _.handle = t2;
    },
    _LiveImage_closure: function _LiveImage_closure(t0, t1) {
      this.$this = t0;
      this.handleRemove = t1;
    },
    _PendingImage: function _PendingImage(t0, t1) {
      this.completer = t0;
      this.listener = t1;
    },
    ResizeImage_resizeIfNeeded(cacheWidth, cacheHeight, provider) {
      return provider;
    },
    ImageConfiguration: function ImageConfiguration(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.bundle = t0;
      _.devicePixelRatio = t1;
      _.locale = t2;
      _.textDirection = t3;
      _.size = t4;
      _.platform = t5;
    },
    ImageProvider: function ImageProvider() {
    },
    ImageProvider_resolve_closure: function ImageProvider_resolve_closure(t0, t1, t2) {
      this.$this = t0;
      this.configuration = t1;
      this.stream = t2;
    },
    ImageProvider_resolve_closure0: function ImageProvider_resolve_closure0(t0, t1, t2) {
      this.$this = t0;
      this.configuration = t1;
      this.stream = t2;
    },
    ImageProvider__createErrorHandlerAndKey_handleError: function ImageProvider__createErrorHandlerAndKey_handleError(t0, t1) {
      this._box_0 = t0;
      this.errorCallback = t1;
    },
    ImageProvider__createErrorHandlerAndKey_closure: function ImageProvider__createErrorHandlerAndKey_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.successCallback = t2;
      _.handleError = t3;
    },
    ImageProvider_resolveStreamForKey_closure: function ImageProvider_resolveStreamForKey_closure(t0) {
      this.stream = t0;
    },
    ImageProvider_resolveStreamForKey_closure0: function ImageProvider_resolveStreamForKey_closure0(t0, t1) {
      this.$this = t0;
      this.key = t1;
    },
    AssetBundleImageKey: function AssetBundleImageKey(t0, t1, t2) {
      this.bundle = t0;
      this.name = t1;
      this.scale = t2;
    },
    AssetBundleImageProvider: function AssetBundleImageProvider() {
    },
    MemoryImage: function MemoryImage(t0, t1) {
      this.bytes = t0;
      this.scale = t1;
    },
    _ErrorImageCompleter: function _ErrorImageCompleter(t0, t1) {
      var _ = this;
      _._image_stream$_listeners = t0;
      _.debugLabel = _._currentError = _._currentImage = null;
      _._addingInitialListeners = _._hadAtLeastOneListener = false;
      _._keepAliveHandles = 0;
      _._image_stream$_disposed = false;
      _._onLastListenerRemovedCallbacks = t1;
    },
    AssetImage__manifestParser(jsonData) {
      var parsedJson, t1, t2, t3, t4, t5, t6;
      if (jsonData == null)
        return new A.SynchronousFuture(null, type$.SynchronousFuture_nullable_Map_of_String_and_List_String);
      parsedJson = type$.Map_String_dynamic._as(B.C_JsonCodec.decode$1(0, jsonData));
      t1 = J.getInterceptor$x(parsedJson);
      t2 = type$.String;
      t3 = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.List_String);
      for (t4 = J.get$iterator$ax(t1.get$keys(parsedJson)), t5 = type$.List_dynamic; t4.moveNext$0();) {
        t6 = t4.get$current(t4);
        t3.$indexSet(0, t6, A.List_List$from(t5._as(t1.$index(parsedJson, t6)), true, t2));
      }
      return new A.SynchronousFuture(t3, type$.SynchronousFuture_nullable_Map_of_String_and_List_String);
    },
    AssetImage: function AssetImage(t0, t1, t2) {
      this.assetName = t0;
      this.bundle = t1;
      this.$package = t2;
    },
    AssetImage_obtainKey_closure: function AssetImage_obtainKey_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.configuration = t2;
      _.chosenBundle = t3;
    },
    AssetImage_obtainKey_closure0: function AssetImage_obtainKey_closure0(t0) {
      this._box_0 = t0;
    },
    MultiFrameImageStreamCompleter$(chunkEvents, codec, debugLabel, informationCollector, scale) {
      var t1 = new A.MultiFrameImageStreamCompleter(scale, informationCollector, A._setArrayType([], type$.JSArray_ImageStreamListener), A._setArrayType([], type$.JSArray_of_void_Function));
      t1.MultiFrameImageStreamCompleter$5$chunkEvents$codec$debugLabel$informationCollector$scale(chunkEvents, codec, debugLabel, informationCollector, scale);
      return t1;
    },
    ImageInfo: function ImageInfo(t0, t1, t2) {
      this.image = t0;
      this.scale = t1;
      this.debugLabel = t2;
    },
    ImageStreamListener: function ImageStreamListener(t0, t1, t2) {
      this.onImage = t0;
      this.onChunk = t1;
      this.onError = t2;
    },
    ImageChunkEvent: function ImageChunkEvent(t0, t1) {
      this.cumulativeBytesLoaded = t0;
      this.expectedTotalBytes = t1;
    },
    ImageStream: function ImageStream() {
      this._image_stream$_listeners = this._completer = null;
    },
    ImageStreamCompleterHandle: function ImageStreamCompleterHandle(t0) {
      this._completer = t0;
    },
    ImageStreamCompleter: function ImageStreamCompleter() {
    },
    ImageStreamCompleter_reportError_closure: function ImageStreamCompleter_reportError_closure() {
    },
    ImageStreamCompleter_reportImageChunkEvent_closure: function ImageStreamCompleter_reportImageChunkEvent_closure() {
    },
    MultiFrameImageStreamCompleter: function MultiFrameImageStreamCompleter(t0, t1, t2, t3) {
      var _ = this;
      _._codec = _._chunkSubscription = null;
      _._image_stream$_scale = t0;
      _._informationCollector = t1;
      _._nextFrame = null;
      _.__MultiFrameImageStreamCompleter__shownTimestamp = $;
      _._frameDuration = null;
      _._framesEmitted = 0;
      _._image_stream$_timer = null;
      _._frameCallbackScheduled = false;
      _._image_stream$_listeners = t2;
      _.debugLabel = _._currentError = _._currentImage = null;
      _._addingInitialListeners = _._hadAtLeastOneListener = false;
      _._keepAliveHandles = 0;
      _._image_stream$_disposed = false;
      _._onLastListenerRemovedCallbacks = t3;
    },
    MultiFrameImageStreamCompleter_closure: function MultiFrameImageStreamCompleter_closure(t0, t1) {
      this.$this = t0;
      this.informationCollector = t1;
    },
    MultiFrameImageStreamCompleter_closure0: function MultiFrameImageStreamCompleter_closure0(t0, t1) {
      this.$this = t0;
      this.informationCollector = t1;
    },
    MultiFrameImageStreamCompleter__handleAppFrame_closure: function MultiFrameImageStreamCompleter__handleAppFrame_closure(t0) {
      this.$this = t0;
    },
    _ImageChunkEvent_Object_Diagnosticable: function _ImageChunkEvent_Object_Diagnosticable() {
    },
    _ImageStream_Object_Diagnosticable: function _ImageStream_Object_Diagnosticable() {
    },
    _ImageStreamCompleter_Object_Diagnosticable: function _ImageStreamCompleter_Object_Diagnosticable() {
    },
    InlineSpanSemanticsInformation$(text, recognizer, semanticsLabel, stringAttributes) {
      return new A.InlineSpanSemanticsInformation(text, semanticsLabel, recognizer, false, recognizer != null, stringAttributes);
    },
    combineSemanticsInfo(infoList) {
      var t2, workingText, workingLabel, _i, info, effectiveLabel, effectiveLabel0, t3, t4, t5, _i0, infoAttribute, t6,
        combined = A._setArrayType([], type$.JSArray_InlineSpanSemanticsInformation),
        t1 = type$.JSArray_StringAttribute,
        workingAttributes = A._setArrayType([], t1);
      for (t2 = infoList.length, workingText = "", workingLabel = "", _i = 0; _i < infoList.length; infoList.length === t2 || (0, A.throwConcurrentModificationError)(infoList), ++_i) {
        info = infoList[_i];
        if (info.requiresOwnNode) {
          combined.push(new A.InlineSpanSemanticsInformation(workingText, workingLabel, null, false, false, workingAttributes));
          workingAttributes = A._setArrayType([], t1);
          combined.push(info);
          workingText = "";
          workingLabel = "";
        } else {
          effectiveLabel = info.text;
          workingText += effectiveLabel;
          effectiveLabel0 = info.semanticsLabel;
          effectiveLabel = effectiveLabel0 == null ? effectiveLabel : effectiveLabel0;
          for (t3 = info.stringAttributes, t4 = t3.length, t5 = workingLabel.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
            infoAttribute = t3[_i0];
            t6 = infoAttribute.range;
            workingAttributes.push(infoAttribute.copy$1$range(new A.TextRange(t6.start + t5, t6.end + t5)));
          }
          workingLabel += effectiveLabel;
        }
      }
      combined.push(A.InlineSpanSemanticsInformation$(workingText, null, workingLabel, workingAttributes));
      return combined;
    },
    Accumulator: function Accumulator() {
      this._inline_span$_value = 0;
    },
    InlineSpanSemanticsInformation: function InlineSpanSemanticsInformation(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.text = t0;
      _.semanticsLabel = t1;
      _.recognizer = t2;
      _.isPlaceholder = t3;
      _.requiresOwnNode = t4;
      _.stringAttributes = t5;
    },
    InlineSpan: function InlineSpan() {
    },
    InlineSpan_getSpanForPosition_closure: function InlineSpan_getSpanForPosition_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.position = t1;
      this.offset = t2;
    },
    InlineSpan_codeUnitAt_closure: function InlineSpan_codeUnitAt_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.index = t1;
      this.offset = t2;
    },
    PlaceholderSpan0: function PlaceholderSpan0() {
    },
    RoundedRectangleBorder: function RoundedRectangleBorder(t0, t1) {
      this.borderRadius = t0;
      this.side = t1;
    },
    _RoundedRectangleToCircleBorder: function _RoundedRectangleToCircleBorder(t0, t1, t2) {
      this.borderRadius = t0;
      this.circleness = t1;
      this.side = t2;
    },
    ShapeDecoration_ShapeDecoration$fromBoxDecoration(source) {
      var t1, shape, t2;
      switch (source.shape.index) {
        case 1:
          t1 = source.border;
          shape = t1 != null ? new A.CircleBorder(t1.get$top(t1)) : B.CircleBorder_Fuf;
          break;
        case 0:
          t1 = source.borderRadius;
          shape = source.border;
          if (t1 != null) {
            t2 = shape == null ? null : shape.get$top(shape);
            shape = new A.RoundedRectangleBorder(t1, t2 == null ? B.BorderSide_aLd : t2);
          } else if (shape == null)
            shape = B.Border_yXb;
          break;
        default:
          shape = null;
      }
      return new A.ShapeDecoration(source.color, source.gradient, source.image, source.boxShadow, shape);
    },
    ShapeDecoration_lerp(a, b, t) {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      if (!t1 && b != null) {
        if (t === 0)
          return a;
        if (t === 1)
          return b;
      }
      t2 = t1 ? _null : a.color;
      t3 = b == null;
      t2 = A.Color_lerp(t2, t3 ? _null : b.color, t);
      t4 = t1 ? _null : a.gradient;
      t4 = A.Gradient_lerp(t4, t3 ? _null : b.gradient, t);
      t5 = t < 0.5 ? a.image : b.image;
      t6 = t1 ? _null : a.shadows;
      t6 = A.BoxShadow_lerpList(t6, t3 ? _null : b.shadows, t);
      t1 = t1 ? _null : a.shape;
      t1 = A.ShapeBorder_lerp(t1, t3 ? _null : b.shape, t);
      t1.toString;
      return new A.ShapeDecoration(t2, t4, t5, t6, t1);
    },
    ShapeDecoration: function ShapeDecoration(t0, t1, t2, t3, t4) {
      var _ = this;
      _.color = t0;
      _.gradient = t1;
      _.image = t2;
      _.shadows = t3;
      _.shape = t4;
    },
    _ShapeDecorationPainter: function _ShapeDecorationPainter(t0, t1) {
      var _ = this;
      _._shape_decoration$_decoration = t0;
      _._lastTextDirection = _._lastRect = null;
      _.___ShapeDecorationPainter__outerPath = $;
      _._shadowCount = _._interiorPaint = _._innerPath = null;
      _.___ShapeDecorationPainter__shadowPaints = _.___ShapeDecorationPainter__shadowPaths = $;
      _._shape_decoration$_imagePainter = null;
      _.onChanged = t1;
    },
    _ShapeDecorationPainter__precache_closure: function _ShapeDecorationPainter__precache_closure() {
    },
    _ShapeDecorationPainter__precache_closure0: function _ShapeDecorationPainter__precache_closure0(t0, t1, t2) {
      this.$this = t0;
      this.rect = t1;
      this.textDirection = t2;
    },
    StadiumBorder: function StadiumBorder(t0) {
      this.side = t0;
    },
    _StadiumToCircleBorder: function _StadiumToCircleBorder(t0, t1) {
      this.circleness = t0;
      this.side = t1;
    },
    _StadiumToRoundedRectangleBorder: function _StadiumToRoundedRectangleBorder(t0, t1, t2) {
      this.borderRadius = t0;
      this.rectness = t1;
      this.side = t2;
    },
    StrutStyle: function StrutStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.fontFamily = t0;
      _._strut_style$_fontFamilyFallback = t1;
      _.fontSize = t2;
      _.height = t3;
      _.fontWeight = t4;
      _.fontStyle = t5;
      _.leading = t6;
      _.forceStrutHeight = t7;
      _.debugLabel = t8;
    },
    _StrutStyle_Object_Diagnosticable: function _StrutStyle_Object_Diagnosticable() {
    },
    TextPainter$(ellipsis, locale, maxLines, strutStyle, text, textAlign, textDirection, textHeightBehavior, textScaleFactor, textWidthBasis) {
      return new A.TextPainter(text, textAlign, textDirection, textScaleFactor, ellipsis, locale, maxLines, strutStyle, textWidthBasis, textHeightBehavior);
    },
    TextOverflow: function TextOverflow(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    PlaceholderDimensions: function PlaceholderDimensions(t0, t1, t2) {
      this.size = t0;
      this.baselineOffset = t1;
      this.baseline = t2;
    },
    TextWidthBasis: function TextWidthBasis(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _CaretMetrics: function _CaretMetrics(t0, t1) {
      this.offset = t0;
      this.fullHeight = t1;
    },
    TextPainter: function TextPainter(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._paragraph = null;
      _._rebuildParagraphForPaint = true;
      _._text_painter$_text = t0;
      _._textAlign = t1;
      _._text_painter$_textDirection = t2;
      _._textScaleFactor = t3;
      _._ellipsis = t4;
      _._text_painter$_locale = t5;
      _._text_painter$_maxLines = t6;
      _._strutStyle = t7;
      _._textWidthBasis = t8;
      _._textHeightBehavior = t9;
      _._lastMaxWidth = _._lastMinWidth = _._layoutTemplate = _._placeholderDimensions = _._inlinePlaceholderScales = _._inlinePlaceholderBoxes = null;
      _.__TextPainter__caretMetrics = $;
      _._lineMetricsCache = _._previousCaretPrototype = _._previousCaretPosition = null;
    },
    TextSpan$(children, recognizer, semanticsLabel, style, text) {
      var t1 = recognizer == null ? B.C__DeferringMouseCursor : B.SystemMouseCursor_click;
      return new A.TextSpan(text, children, recognizer, t1, semanticsLabel, style);
    },
    TextSpan: function TextSpan(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.text = t0;
      _.children = t1;
      _.recognizer = t2;
      _.mouseCursor = t3;
      _.semanticsLabel = t4;
      _.style = t5;
    },
    TextSpan_debugDescribeChildren_closure: function TextSpan_debugDescribeChildren_closure() {
    },
    TextStyle$(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, inherit, leadingDistribution, letterSpacing, locale, overflow, $package, shadows, textBaseline, wordSpacing) {
      return new A.TextStyle(inherit, color, backgroundColor, fontFamily, fontFamilyFallback, $package, fontSize, fontWeight, fontStyle, letterSpacing, wordSpacing, textBaseline, height, leadingDistribution, locale, foreground, background, decoration, decorationColor, decorationStyle, decorationThickness, debugLabel, shadows, fontFeatures, fontVariations, overflow);
    },
    TextStyle_lerp(a, b, t) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, t25, _null = null,
        t1 = a == null;
      if (t1 && b == null)
        return _null;
      if (t1) {
        t1 = b.inherit;
        t2 = A.Color_lerp(_null, b.color, t);
        t3 = A.Color_lerp(_null, b.backgroundColor, t);
        t4 = t < 0.5;
        t5 = t4 ? _null : b.fontSize;
        t6 = A.FontWeight_lerp(_null, b.fontWeight, t);
        t7 = t4 ? _null : b.fontStyle;
        t8 = t4 ? _null : b.letterSpacing;
        t9 = t4 ? _null : b.wordSpacing;
        t10 = t4 ? _null : b.textBaseline;
        t11 = t4 ? _null : b.height;
        t12 = t4 ? _null : b.leadingDistribution;
        t13 = t4 ? _null : b.locale;
        t14 = t4 ? _null : b.foreground;
        t15 = t4 ? _null : b.background;
        t16 = t4 ? _null : b.shadows;
        t17 = t4 ? _null : b.fontFeatures;
        t18 = t4 ? _null : b.fontVariations;
        t19 = t4 ? _null : b.decoration;
        t20 = A.Color_lerp(_null, b.decorationColor, t);
        t21 = t4 ? _null : b.decorationStyle;
        t22 = t4 ? _null : b.decorationThickness;
        t23 = t4 ? _null : b.get$_text_style$_fontFamily(b);
        t24 = t4 ? _null : b.get$fontFamilyFallback();
        t25 = t4 ? _null : b._package;
        return A.TextStyle$(t15, t3, t2, _null, t19, t20, t21, t22, t23, t24, t17, t5, t7, t18, t6, t14, t11, t1, t12, t8, t13, t4 ? _null : b.overflow, t25, t16, t10, t9);
      }
      if (b == null) {
        t1 = a.inherit;
        t2 = A.Color_lerp(a.color, _null, t);
        t3 = A.Color_lerp(_null, a.backgroundColor, t);
        t4 = t < 0.5;
        t5 = t4 ? a.fontSize : _null;
        t6 = A.FontWeight_lerp(a.fontWeight, _null, t);
        t7 = t4 ? a.fontStyle : _null;
        t8 = t4 ? a.letterSpacing : _null;
        t9 = t4 ? a.wordSpacing : _null;
        t10 = t4 ? a.textBaseline : _null;
        t11 = t4 ? a.height : _null;
        t12 = t4 ? a.leadingDistribution : _null;
        t13 = t4 ? a.locale : _null;
        t14 = t4 ? a.foreground : _null;
        t15 = t4 ? a.background : _null;
        t16 = t4 ? a.shadows : _null;
        t17 = t4 ? a.fontFeatures : _null;
        t18 = t4 ? a.fontVariations : _null;
        t19 = t4 ? a.decoration : _null;
        t20 = A.Color_lerp(a.decorationColor, _null, t);
        t21 = t4 ? a.decorationStyle : _null;
        t22 = t4 ? a.decorationThickness : _null;
        t23 = t4 ? a.get$_text_style$_fontFamily(a) : _null;
        t24 = t4 ? a.get$fontFamilyFallback() : _null;
        t25 = t4 ? a._package : _null;
        return A.TextStyle$(t15, t3, t2, _null, t19, t20, t21, t22, t23, t24, t17, t5, t7, t18, t6, t14, t11, t1, t12, t8, t13, t4 ? a.overflow : _null, t25, t16, t10, t9);
      }
      t1 = b.inherit;
      t2 = a.foreground;
      t3 = t2 == null;
      t4 = t3 && b.foreground == null ? A.Color_lerp(a.color, b.color, t) : _null;
      t5 = a.background;
      t6 = t5 == null;
      t7 = t6 && b.background == null ? A.Color_lerp(a.backgroundColor, b.backgroundColor, t) : _null;
      t8 = a.fontSize;
      t9 = t8 == null ? b.fontSize : t8;
      t10 = b.fontSize;
      t8 = A.lerpDouble(t9, t10 == null ? t8 : t10, t);
      t9 = A.FontWeight_lerp(a.fontWeight, b.fontWeight, t);
      t10 = t < 0.5;
      t11 = t10 ? a.fontStyle : b.fontStyle;
      t12 = a.letterSpacing;
      t13 = t12 == null ? b.letterSpacing : t12;
      t14 = b.letterSpacing;
      t12 = A.lerpDouble(t13, t14 == null ? t12 : t14, t);
      t13 = a.wordSpacing;
      t14 = t13 == null ? b.wordSpacing : t13;
      t15 = b.wordSpacing;
      t13 = A.lerpDouble(t14, t15 == null ? t13 : t15, t);
      t14 = t10 ? a.textBaseline : b.textBaseline;
      t15 = a.height;
      t16 = t15 == null ? b.height : t15;
      t17 = b.height;
      t15 = A.lerpDouble(t16, t17 == null ? t15 : t17, t);
      t16 = t10 ? a.leadingDistribution : b.leadingDistribution;
      t17 = t10 ? a.locale : b.locale;
      if (!t3 || b.foreground != null)
        if (t10) {
          if (t3) {
            t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            t3 = a.color;
            t3.toString;
            t2.set$color(0, t3);
          }
        } else {
          t2 = b.foreground;
          if (t2 == null) {
            t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            t3 = b.color;
            t3.toString;
            t2.set$color(0, t3);
          }
        }
      else
        t2 = _null;
      if (!t6 || b.background != null)
        if (t10)
          if (t6) {
            t3 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            t5 = a.backgroundColor;
            t5.toString;
            t3.set$color(0, t5);
          } else
            t3 = t5;
        else {
          t3 = b.background;
          if (t3 == null) {
            t3 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            t5 = b.backgroundColor;
            t5.toString;
            t3.set$color(0, t5);
          }
        }
      else
        t3 = _null;
      t5 = t10 ? a.shadows : b.shadows;
      t6 = t10 ? a.fontFeatures : b.fontFeatures;
      t18 = t10 ? a.fontVariations : b.fontVariations;
      t19 = t10 ? a.decoration : b.decoration;
      t20 = A.Color_lerp(a.decorationColor, b.decorationColor, t);
      t21 = t10 ? a.decorationStyle : b.decorationStyle;
      t22 = a.decorationThickness;
      t23 = t22 == null ? b.decorationThickness : t22;
      t24 = b.decorationThickness;
      t22 = A.lerpDouble(t23, t24 == null ? t22 : t24, t);
      t23 = t10 ? a.get$_text_style$_fontFamily(a) : b.get$_text_style$_fontFamily(b);
      t24 = t10 ? a.get$fontFamilyFallback() : b.get$fontFamilyFallback();
      t25 = t10 ? a._package : b._package;
      return A.TextStyle$(t3, t7, t4, _null, t19, t20, t21, t22, t23, t24, t6, t8, t11, t18, t9, t2, t15, t1, t16, t12, t17, t10 ? a.overflow : b.overflow, t25, t5, t14, t13);
    },
    TextStyle: function TextStyle(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) {
      var _ = this;
      _.inherit = t0;
      _.color = t1;
      _.backgroundColor = t2;
      _.fontFamily = t3;
      _._fontFamilyFallback = t4;
      _._package = t5;
      _.fontSize = t6;
      _.fontWeight = t7;
      _.fontStyle = t8;
      _.letterSpacing = t9;
      _.wordSpacing = t10;
      _.textBaseline = t11;
      _.height = t12;
      _.leadingDistribution = t13;
      _.locale = t14;
      _.foreground = t15;
      _.background = t16;
      _.decoration = t17;
      _.decorationColor = t18;
      _.decorationStyle = t19;
      _.decorationThickness = t20;
      _.debugLabel = t21;
      _.shadows = t22;
      _.fontFeatures = t23;
      _.fontVariations = t24;
      _.overflow = t25;
    },
    _TextStyle_Object_Diagnosticable: function _TextStyle_Object_Diagnosticable() {
    },
    FrictionSimulation: function FrictionSimulation(t0, t1, t2, t3, t4) {
      var _ = this;
      _._drag = t0;
      _._dragLog = t1;
      _._friction_simulation$_x = t2;
      _._v = t3;
      _.tolerance = t4;
    },
    Simulation: function Simulation() {
    },
    SpringDescription$withDampingRatio(mass, ratio, stiffness) {
      return new A.SpringDescription(mass, stiffness, ratio * 2 * Math.sqrt(mass * stiffness));
    },
    _SpringSolution__SpringSolution(spring, initialPosition, initialVelocity) {
      var r, r1, r2, c2, w,
        t1 = spring.damping,
        t2 = t1 * t1,
        t3 = spring.mass,
        t4 = 4 * t3 * spring.stiffness,
        cmk = t2 - t4;
      if (cmk === 0) {
        r = -t1 / (2 * t3);
        return new A._CriticalSolution(r, initialPosition, initialVelocity / (r * initialPosition));
      }
      if (cmk > 0) {
        t1 = -t1;
        t3 = 2 * t3;
        r1 = (t1 - Math.sqrt(cmk)) / t3;
        r2 = (t1 + Math.sqrt(cmk)) / t3;
        c2 = (initialVelocity - r1 * initialPosition) / (r2 - r1);
        return new A._OverdampedSolution(r1, r2, initialPosition - c2, c2);
      }
      w = Math.sqrt(t4 - t2) / (2 * t3);
      r = -(t1 / 2 * t3);
      return new A._UnderdampedSolution(w, r, initialPosition, (initialVelocity - r * initialPosition) / w);
    },
    SpringDescription: function SpringDescription(t0, t1, t2) {
      this.mass = t0;
      this.stiffness = t1;
      this.damping = t2;
    },
    SpringType: function SpringType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SpringSimulation: function SpringSimulation(t0, t1, t2) {
      this._endPosition = t0;
      this._solution = t1;
      this.tolerance = t2;
    },
    ScrollSpringSimulation: function ScrollSpringSimulation(t0, t1, t2) {
      this._endPosition = t0;
      this._solution = t1;
      this.tolerance = t2;
    },
    _CriticalSolution: function _CriticalSolution(t0, t1, t2) {
      this._r = t0;
      this._c1 = t1;
      this._c2 = t2;
    },
    _OverdampedSolution: function _OverdampedSolution(t0, t1, t2, t3) {
      var _ = this;
      _._r1 = t0;
      _._r2 = t1;
      _._c1 = t2;
      _._c2 = t3;
    },
    _UnderdampedSolution: function _UnderdampedSolution(t0, t1, t2, t3) {
      var _ = this;
      _._spring_simulation$_w = t0;
      _._r = t1;
      _._c1 = t2;
      _._c2 = t3;
    },
    Tolerance: function Tolerance(t0, t1) {
      this.distance = t0;
      this.velocity = t1;
    },
    RenderAnimatedSize$(alignment, clipBehavior, curve, duration, reverseDuration, textDirection, vsync) {
      var _null = null,
        t1 = new A.RenderAnimatedSize(new A.SizeTween(_null, _null), B.RenderAnimatedSizeState_0, clipBehavior, vsync, A.LayerHandle$(type$.ClipRectLayer), alignment, textDirection, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(_null);
      t1.RenderAnimatedSize$8$alignment$child$clipBehavior$curve$duration$reverseDuration$textDirection$vsync(alignment, _null, clipBehavior, curve, duration, reverseDuration, textDirection, vsync);
      return t1;
    },
    RenderAnimatedSizeState: function RenderAnimatedSizeState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderAnimatedSize: function RenderAnimatedSize(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.__RenderAnimatedSize__animation = _.__RenderAnimatedSize__controller = $;
      _._sizeTween = t0;
      _.__RenderAnimatedSize__hasVisualOverflow = $;
      _._animated_size$_lastValue = null;
      _._animated_size$_state = t1;
      _._animated_size$_clipBehavior = t2;
      _._vsync = t3;
      _._animated_size$_clipRectLayer = t4;
      _._shifted_box$_resolvedAlignment = null;
      _._shifted_box$_alignment = t5;
      _._shifted_box$_textDirection = t6;
      _.RenderObjectWithChildMixin__child = t7;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t8;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderAnimatedSize_closure: function RenderAnimatedSize_closure(t0) {
      this.$this = t0;
    },
    RendererBinding: function RendererBinding() {
    },
    RendererBinding__scheduleMouseTrackerUpdate_closure: function RendererBinding__scheduleMouseTrackerUpdate_closure(t0) {
      this.$this = t0;
    },
    BoxConstraints$tight(size) {
      var t1 = size._dx,
        t2 = size._dy;
      return new A.BoxConstraints(t1, t1, t2, t2);
    },
    BoxConstraints$tightFor(height, width) {
      var t3, t4,
        t1 = width == null,
        t2 = t1 ? 0 : width;
      t1 = t1 ? 1 / 0 : width;
      t3 = height == null;
      t4 = t3 ? 0 : height;
      return new A.BoxConstraints(t2, t1, t4, t3 ? 1 / 0 : height);
    },
    BoxConstraints$tightForFinite(height, width) {
      var t3, t4,
        t1 = width !== 1 / 0,
        t2 = t1 ? width : 0;
      t1 = t1 ? width : 1 / 0;
      t3 = height !== 1 / 0;
      t4 = t3 ? height : 0;
      return new A.BoxConstraints(t2, t1, t4, t3 ? height : 1 / 0);
    },
    BoxConstraints$loose(size) {
      return new A.BoxConstraints(0, size._dx, 0, size._dy);
    },
    BoxConstraints_lerp(a, b, t) {
      var t2, t3, t4,
        t1 = a == null;
      if (t1 && b == null)
        return null;
      if (t1)
        return b.$mul(0, t);
      if (b == null)
        return a.$mul(0, 1 - t);
      t1 = a.minWidth;
      if (isFinite(t1)) {
        t1 = A.lerpDouble(t1, b.minWidth, t);
        t1.toString;
      } else
        t1 = 1 / 0;
      t2 = a.maxWidth;
      if (isFinite(t2)) {
        t2 = A.lerpDouble(t2, b.maxWidth, t);
        t2.toString;
      } else
        t2 = 1 / 0;
      t3 = a.minHeight;
      if (isFinite(t3)) {
        t3 = A.lerpDouble(t3, b.minHeight, t);
        t3.toString;
      } else
        t3 = 1 / 0;
      t4 = a.maxHeight;
      if (isFinite(t4)) {
        t4 = A.lerpDouble(t4, b.maxHeight, t);
        t4.toString;
      } else
        t4 = 1 / 0;
      return new A.BoxConstraints(t1, t2, t3, t4);
    },
    BoxHitTestResult$() {
      var t1 = A._setArrayType([], type$.JSArray_HitTestEntry_HitTestTarget),
        t2 = new A.Matrix4(new Float64Array(16));
      t2.setIdentity$0();
      return new A.BoxHitTestResult(t1, A._setArrayType([t2], type$.JSArray_Matrix4_2), A._setArrayType([], type$.JSArray__TransformPart));
    },
    BoxHitTestResult$wrap(result) {
      return new A.BoxHitTestResult(result._path, result._transforms, result._localTransforms);
    },
    BoxConstraints: function BoxConstraints(t0, t1, t2, t3) {
      var _ = this;
      _.minWidth = t0;
      _.maxWidth = t1;
      _.minHeight = t2;
      _.maxHeight = t3;
    },
    BoxConstraints_toString_describe: function BoxConstraints_toString_describe() {
    },
    BoxHitTestResult: function BoxHitTestResult(t0, t1, t2) {
      this._path = t0;
      this._transforms = t1;
      this._localTransforms = t2;
    },
    BoxHitTestEntry: function BoxHitTestEntry(t0, t1) {
      this.localPosition = t0;
      this.target = t1;
      this._transform = null;
    },
    BoxParentData: function BoxParentData(t0) {
      this.offset = t0;
    },
    ContainerBoxParentData: function ContainerBoxParentData() {
    },
    _IntrinsicDimension: function _IntrinsicDimension(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _IntrinsicDimensionsCacheEntry: function _IntrinsicDimensionsCacheEntry(t0, t1) {
      this.dimension = t0;
      this.argument = t1;
    },
    RenderBox: function RenderBox() {
    },
    RenderBox__computeIntrinsicDimension_closure: function RenderBox__computeIntrinsicDimension_closure(t0, t1) {
      this.computer = t0;
      this.argument = t1;
    },
    RenderBox_getDryLayout_closure: function RenderBox_getDryLayout_closure(t0, t1) {
      this.$this = t0;
      this.constraints = t1;
    },
    RenderBox_getDistanceToActualBaseline_closure: function RenderBox_getDistanceToActualBaseline_closure(t0, t1) {
      this.$this = t0;
      this.baseline = t1;
    },
    RenderBoxContainerDefaultsMixin: function RenderBoxContainerDefaultsMixin() {
    },
    RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure: function RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.position = t1;
      this.childParentData = t2;
    },
    _ContainerBoxParentData_BoxParentData_ContainerParentDataMixin: function _ContainerBoxParentData_BoxParentData_ContainerParentDataMixin() {
    },
    MultiChildLayoutParentData: function MultiChildLayoutParentData(t0, t1, t2) {
      var _ = this;
      _.id = null;
      _.ContainerParentDataMixin_previousSibling = t0;
      _.ContainerParentDataMixin_nextSibling = t1;
      _.offset = t2;
    },
    MultiChildLayoutDelegate: function MultiChildLayoutDelegate() {
    },
    RenderCustomMultiChildLayoutBox: function RenderCustomMultiChildLayoutBox(t0, t1, t2, t3, t4) {
      var _ = this;
      _._custom_layout$_delegate = t0;
      _.ContainerRenderObjectMixin__childCount = t1;
      _.ContainerRenderObjectMixin__firstChild = t2;
      _.ContainerRenderObjectMixin__lastChild = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin: function _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    RenderCustomPaint__updateSemanticsChildren(oldSemantics, newChildSemantics) {
      var t1, oldChildrenBottom, newChildren, haveOldChildren, newSemantics, newChild, oldKeyedChildren, t2, oldChildrenTop, oldChild, t3, t4, newChildrenTop, key, _box_0 = {};
      _box_0.newChildSemantics = newChildSemantics;
      if (oldSemantics == null)
        oldSemantics = B.List_empty3;
      t1 = J.getInterceptor$asx(oldSemantics);
      oldChildrenBottom = t1.get$length(oldSemantics) - 1;
      newChildren = A.List_List$filled(0, null, false, type$.nullable_SemanticsNode);
      haveOldChildren = 0 <= oldChildrenBottom;
      while (true) {
        if (!false)
          break;
        t1.$index(oldSemantics, 0);
        newSemantics = newChildSemantics[0];
        newSemantics.get$key(newSemantics);
        break;
      }
      while (true) {
        if (!false)
          break;
        t1.$index(oldSemantics, oldChildrenBottom);
        newChild = newChildSemantics[-1];
        newChild.get$key(newChild);
        break;
      }
      oldKeyedChildren = A._Cell$named("oldKeyedChildren");
      if (haveOldChildren) {
        oldKeyedChildren.set$finalLocalValue(A.LinkedHashMap_LinkedHashMap$_empty(type$.Key, type$.SemanticsNode));
        for (t2 = oldKeyedChildren.__late_helper$_name, oldChildrenTop = 0; oldChildrenTop <= oldChildrenBottom;) {
          oldChild = t1.$index(oldSemantics, oldChildrenTop);
          t3 = oldChild.key;
          if (t3 != null) {
            t4 = oldKeyedChildren.__late_helper$_value;
            if (t4 === oldKeyedChildren)
              A.throwExpression(A.LateError$localNI(t2));
            J.$indexSet$ax(t4, t3, oldChild);
          }
          ++oldChildrenTop;
        }
        haveOldChildren = true;
      } else
        oldChildrenTop = 0;
      for (t2 = oldKeyedChildren.__late_helper$_name, newChildrenTop = 0; false;) {
        newSemantics = _box_0.newChildSemantics[newChildrenTop];
        if (haveOldChildren) {
          key = newSemantics.get$key(newSemantics);
          t3 = oldKeyedChildren.__late_helper$_value;
          if (t3 === oldKeyedChildren)
            A.throwExpression(A.LateError$localNI(t2));
          oldChild = J.$index$asx(t3, key);
          if (oldChild != null) {
            newSemantics.get$key(newSemantics);
            oldChild = null;
          }
        } else
          oldChild = null;
        newChildren[newChildrenTop] = A.RenderCustomPaint__updateSemanticsChild(oldChild, newSemantics);
        ++newChildrenTop;
      }
      t1.get$length(oldSemantics);
      while (true) {
        if (!false)
          break;
        newChildren[newChildrenTop] = A.RenderCustomPaint__updateSemanticsChild(t1.$index(oldSemantics, oldChildrenTop), _box_0.newChildSemantics[newChildrenTop]);
        ++newChildrenTop;
        ++oldChildrenTop;
      }
      return new A.CastList(newChildren, A._arrayInstanceType(newChildren)._eval$1("CastList<1,SemanticsNode>"));
    },
    RenderCustomPaint__updateSemanticsChild(oldChild, newSemantics) {
      var t1,
        newChild = oldChild == null ? A.SemanticsNode$(newSemantics.get$key(newSemantics), null) : oldChild,
        properties = newSemantics.get$properties(),
        config = A.SemanticsConfiguration$();
      properties.get$sortKey();
      config._sortKey = properties.get$sortKey();
      config._hasBeenAnnotated = true;
      properties.get$checked(properties);
      t1 = properties.get$checked(properties);
      config._setFlag$2(B.SemanticsFlag_1, true);
      config._setFlag$2(B.SemanticsFlag_2, t1);
      properties.get$selected(properties);
      config._setFlag$2(B.SemanticsFlag_4, properties.get$selected(properties));
      properties.get$button(properties);
      config._setFlag$2(B.SemanticsFlag_8, properties.get$button(properties));
      properties.get$link();
      config._setFlag$2(B.SemanticsFlag_4194304, properties.get$link());
      properties.get$textField();
      config._setFlag$2(B.SemanticsFlag_16, properties.get$textField());
      properties.get$slider();
      config._setFlag$2(B.SemanticsFlag_8388608, properties.get$slider());
      properties.get$keyboardKey();
      config._setFlag$2(B.SemanticsFlag_16777216, properties.get$keyboardKey());
      properties.get$readOnly(properties);
      config._setFlag$2(B.SemanticsFlag_1048576, properties.get$readOnly(properties));
      properties.get$focusable();
      config._setFlag$2(B.SemanticsFlag_2097152, properties.get$focusable());
      properties.get$focused(properties);
      config._setFlag$2(B.SemanticsFlag_32, properties.get$focused(properties));
      properties.get$enabled(properties);
      t1 = properties.get$enabled(properties);
      config._setFlag$2(B.SemanticsFlag_64, true);
      config._setFlag$2(B.SemanticsFlag_128, t1);
      properties.get$inMutuallyExclusiveGroup();
      config._setFlag$2(B.SemanticsFlag_256, properties.get$inMutuallyExclusiveGroup());
      properties.get$obscured();
      config._setFlag$2(B.SemanticsFlag_1024, properties.get$obscured());
      properties.get$multiline(properties);
      config._setFlag$2(B.SemanticsFlag_524288, properties.get$multiline(properties));
      properties.get$hidden(properties);
      config._setFlag$2(B.SemanticsFlag_8192, properties.get$hidden(properties));
      properties.get$header();
      config._setFlag$2(B.SemanticsFlag_512, properties.get$header());
      properties.get$scopesRoute();
      config._setFlag$2(B.SemanticsFlag_2048, properties.get$scopesRoute());
      properties.get$namesRoute();
      config._setFlag$2(B.SemanticsFlag_4096, properties.get$namesRoute());
      properties.get$liveRegion();
      config._setFlag$2(B.SemanticsFlag_32768, properties.get$liveRegion());
      properties.get$maxValueLength();
      config.set$maxValueLength(properties.get$maxValueLength());
      properties.get$currentValueLength();
      config.set$currentValueLength(properties.get$currentValueLength());
      properties.get$toggled();
      t1 = properties.get$toggled();
      config._setFlag$2(B.SemanticsFlag_65536, true);
      config._setFlag$2(B.SemanticsFlag_131072, t1);
      properties.get$image(properties);
      config._setFlag$2(B.SemanticsFlag_16384, properties.get$image(properties));
      properties.get$label(properties);
      config._attributedLabel = new A.AttributedString(properties.get$label(properties), B.List_empty2);
      config._hasBeenAnnotated = true;
      properties.get$value(properties);
      config._attributedValue = new A.AttributedString(properties.get$value(properties), B.List_empty2);
      config._hasBeenAnnotated = true;
      properties.get$increasedValue();
      config._attributedIncreasedValue = new A.AttributedString(properties.get$increasedValue(), B.List_empty2);
      config._hasBeenAnnotated = true;
      properties.get$decreasedValue();
      config._attributedDecreasedValue = new A.AttributedString(properties.get$decreasedValue(), B.List_empty2);
      config._hasBeenAnnotated = true;
      properties.get$hint(properties);
      config._attributedHint = new A.AttributedString(properties.get$hint(properties), B.List_empty2);
      config._hasBeenAnnotated = true;
      properties.get$textDirection();
      config._textDirection = properties.get$textDirection();
      config._hasBeenAnnotated = true;
      properties.get$onTap();
      config.set$onTap(properties.get$onTap());
      properties.get$onLongPress();
      config.set$onLongPress(properties.get$onLongPress());
      properties.get$onScrollLeft();
      config.set$onScrollLeft(properties.get$onScrollLeft());
      properties.get$onScrollRight();
      config.set$onScrollRight(properties.get$onScrollRight());
      properties.get$onScrollUp();
      config.set$onScrollUp(properties.get$onScrollUp());
      properties.get$onScrollDown();
      config.set$onScrollDown(properties.get$onScrollDown());
      properties.get$onIncrease();
      config.set$onIncrease(properties.get$onIncrease());
      properties.get$onDecrease();
      config.set$onDecrease(properties.get$onDecrease());
      properties.get$onCopy(properties);
      config.set$onCopy(0, properties.get$onCopy(properties));
      properties.get$onCut(properties);
      config.set$onCut(0, properties.get$onCut(properties));
      properties.get$onPaste(properties);
      config.set$onPaste(0, properties.get$onPaste(properties));
      properties.get$onMoveCursorForwardByCharacter();
      config.set$onMoveCursorForwardByCharacter(properties.get$onMoveCursorForwardByCharacter());
      properties.get$onMoveCursorBackwardByCharacter();
      config.set$onMoveCursorBackwardByCharacter(properties.get$onMoveCursorBackwardByCharacter());
      properties.get$onMoveCursorForwardByWord();
      config.set$onMoveCursorForwardByWord(properties.get$onMoveCursorForwardByWord());
      properties.get$onMoveCursorBackwardByWord();
      config.set$onMoveCursorBackwardByWord(properties.get$onMoveCursorBackwardByWord());
      properties.get$onSetSelection();
      config.set$onSetSelection(properties.get$onSetSelection());
      properties.get$onSetText();
      config.set$onSetText(properties.get$onSetText());
      properties.get$onDidGainAccessibilityFocus();
      config.set$onDidGainAccessibilityFocus(properties.get$onDidGainAccessibilityFocus());
      properties.get$onDidLoseAccessibilityFocus();
      config.set$onDidLoseAccessibilityFocus(properties.get$onDidLoseAccessibilityFocus());
      properties.get$onDismiss();
      config.set$onDismiss(properties.get$onDismiss());
      newChild.updateWith$2$childrenInInversePaintOrder$config(0, B.List_empty3, config);
      newChild.set$rect(0, newSemantics.get$rect(newSemantics));
      newChild.set$transform(0, newSemantics.get$transform(newSemantics));
      newChild.tags = newSemantics.get$tags();
      return newChild;
    },
    CustomPainter: function CustomPainter() {
    },
    RenderCustomPaint: function RenderCustomPaint(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._painter = t0;
      _._foregroundPainter = t1;
      _._preferredSize = t2;
      _.isComplex = t3;
      _.willChange = t4;
      _._foregroundSemanticsNodes = _._backgroundSemanticsNodes = _._foregroundSemanticsBuilder = _._backgroundSemanticsBuilder = null;
      _.RenderObjectWithChildMixin__child = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t6;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    DebugOverflowIndicatorMixin: function DebugOverflowIndicatorMixin() {
    },
    _RenderEditableCustomPaint$(painter) {
      var t1 = new A._RenderEditableCustomPaint(painter, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    _TextHighlightPainter$() {
      var t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      return new A._TextHighlightPainter(t1, B.BoxHeightStyle_0, B.BoxWidthStyle_0, $.$get$ChangeNotifier__emptyListeners());
    },
    TextSelectionPoint: function TextSelectionPoint(t0, t1) {
      this.point = t0;
      this.direction = t1;
    },
    VerticalCaretMovementRun: function VerticalCaretMovementRun(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._currentOffset = t0;
      _._editable$_currentLine = t1;
      _._currentTextPosition = t2;
      _._lineMetrics = t3;
      _._editable = t4;
      _._isValid = true;
      _._positionCache = t5;
    },
    RenderEditable: function RenderEditable(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) {
      var _ = this;
      _._backgroundRenderObject = _._foregroundRenderObject = null;
      _.__RenderEditable__placeholderSpans = $;
      _._editable$_painter = _._editable$_foregroundPainter = null;
      _.__RenderEditable__caretPainter = $;
      _._selectionPainter = t0;
      _._autocorrectHighlightPainter = t1;
      _._lastCaretRect = _._textLayoutLastMinWidth = _._textLayoutLastMaxWidth = _._cachedBuiltInPainters = _._cachedBuiltInForegroundPainters = null;
      _.onCaretChanged = t2;
      _.ignorePointer = t3;
      _._devicePixelRatio = t4;
      _._obscuringCharacter = t5;
      _._obscureText = t6;
      _.textSelectionDelegate = t7;
      _._selectionStartInViewport = t8;
      _._selectionEndInViewport = t9;
      _._cachedPlainText = null;
      _._textPainter = t10;
      _._editable$_cachedCombinedSemanticsInfos = _._cachedAttributedValue = null;
      _._showCursor = t11;
      _._editable$_hasFocus = t12;
      _._forceLine = t13;
      _._readOnly = t14;
      _._maxLines = t15;
      _._minLines = t16;
      _._editable$_expands = t17;
      _._selection = t18;
      _._editable$_offset = t19;
      _._cursorWidth = t20;
      _._cursorHeight = t21;
      _._paintCursorOnTop = t22;
      _._editable$_startHandleLayerLink = t23;
      _._editable$_endHandleLayerLink = t24;
      _._floatingCursorOn = false;
      _.__RenderEditable__floatingCursorTextPosition = $;
      _._enableInteractiveSelection = t25;
      _._editable$_maxScrollExtent = 0;
      _._editable$_clipBehavior = t26;
      _._editable$_cachedChildNodes = _._editable$_semanticsInfo = null;
      _.__RenderEditable__longPress = _.__RenderEditable__tap = $;
      _._editable$_placeholderDimensions = _._lastSecondaryTapDownPosition = _._lastTapDownPosition = null;
      _.__RenderEditable__caretPrototype = $;
      _._relativeOrigin = t27;
      _._previousOffset = null;
      _._resetOriginOnBottom = _._resetOriginOnTop = _._resetOriginOnRight = _._resetOriginOnLeft = false;
      _._resetFloatingCursorAnimationValue = null;
      _._editable$_clipRectLayer = t28;
      _.ContainerRenderObjectMixin__childCount = t29;
      _.ContainerRenderObjectMixin__firstChild = t30;
      _.ContainerRenderObjectMixin__lastChild = t31;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t32;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderEditable__extractPlaceholderSpans_closure: function RenderEditable__extractPlaceholderSpans_closure(t0) {
      this.$this = t0;
    },
    RenderEditable_getBoxesForSelection_closure: function RenderEditable_getBoxesForSelection_closure(t0) {
      this.$this = t0;
    },
    RenderEditable_describeSemanticsConfiguration_closure: function RenderEditable_describeSemanticsConfiguration_closure() {
    },
    RenderEditable__createShowOnScreenFor_closure: function RenderEditable__createShowOnScreenFor_closure(t0, t1) {
      this.$this = t0;
      this.key = t1;
    },
    RenderEditable_getRectForComposingRange_closure: function RenderEditable_getRectForComposingRange_closure() {
    },
    RenderEditable_hitTestChildren_closure: function RenderEditable_hitTestChildren_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.position = t1;
      this.textParentData = t2;
    },
    RenderEditable__paintContents_closure: function RenderEditable__paintContents_closure(t0) {
      this._box_0 = t0;
    },
    _RenderEditableCustomPaint: function _RenderEditableCustomPaint(t0, t1) {
      var _ = this;
      _._editable$_painter = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t1;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderEditablePainter: function RenderEditablePainter() {
    },
    _TextHighlightPainter: function _TextHighlightPainter(t0, t1, t2, t3) {
      var _ = this;
      _.highlightPaint = t0;
      _._highlightedRange = _._highlightColor = null;
      _._selectionHeightStyle = t1;
      _._selectionWidthStyle = t2;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _FloatingCursorPainter: function _FloatingCursorPainter(t0, t1, t2, t3) {
      var _ = this;
      _._shouldPaint = true;
      _.caretPaintCallback = t0;
      _.showRegularCaret = false;
      _.caretPaint = t1;
      _.___FloatingCursorPainter_floatingCursorPaint = $;
      _._cursorRadius = _._caretColor = null;
      _._cursorOffset = t2;
      _._floatingCursorRect = _._backgroundCursorColor = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _CompositeRenderEditablePainter: function _CompositeRenderEditablePainter(t0, t1) {
      var _ = this;
      _.painters = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin: function _RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin() {
    },
    _RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin: function _RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin() {
    },
    _RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    RenderErrorBox: function RenderErrorBox(t0, t1) {
      var _ = this;
      _.message = t0;
      _.__RenderErrorBox__paragraph = $;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t1;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _startIsTopLeft(direction, textDirection, verticalDirection) {
      switch (direction.index) {
        case 0:
          switch (textDirection) {
            case B.TextDirection_1:
              return true;
            case B.TextDirection_0:
              return false;
            case null:
              return null;
          }
          break;
        case 1:
          switch (verticalDirection) {
            case B.VerticalDirection_1:
              return true;
            case B.VerticalDirection_0:
              return false;
            case null:
              return null;
          }
          break;
      }
    },
    RenderFlex$(clipBehavior, crossAxisAlignment, direction, mainAxisAlignment, mainAxisSize, textBaseline, textDirection, verticalDirection) {
      var _null = null,
        t1 = new A.RenderFlex(direction, mainAxisAlignment, mainAxisSize, crossAxisAlignment, textDirection, verticalDirection, textBaseline, clipBehavior, A.LayerHandle$(type$.ClipRectLayer), A.List_List$filled(4, A.TextPainter$(_null, _null, _null, _null, _null, B.TextAlign_4, B.TextDirection_1, _null, 1, B.TextWidthBasis_0), false, type$.TextPainter), true, 0, _null, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, _null);
      return t1;
    },
    FlexFit: function FlexFit(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FlexParentData: function FlexParentData(t0, t1, t2) {
      var _ = this;
      _.fit = _.flex = null;
      _.ContainerParentDataMixin_previousSibling = t0;
      _.ContainerParentDataMixin_nextSibling = t1;
      _.offset = t2;
    },
    MainAxisSize: function MainAxisSize(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MainAxisAlignment: function MainAxisAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    CrossAxisAlignment: function CrossAxisAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderFlex: function RenderFlex(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._flex$_direction = t0;
      _._mainAxisAlignment = t1;
      _._mainAxisSize = t2;
      _._crossAxisAlignment = t3;
      _._flex$_textDirection = t4;
      _._verticalDirection = t5;
      _._flex$_textBaseline = t6;
      _._overflow = 0;
      _._flex$_clipBehavior = t7;
      _._flex$_clipRectLayer = t8;
      _.DebugOverflowIndicatorMixin__indicatorLabel = t9;
      _.DebugOverflowIndicatorMixin__overflowReportNeeded = t10;
      _.ContainerRenderObjectMixin__childCount = t11;
      _.ContainerRenderObjectMixin__firstChild = t12;
      _.ContainerRenderObjectMixin__lastChild = t13;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t14;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderFlex_computeMinIntrinsicWidth_closure: function RenderFlex_computeMinIntrinsicWidth_closure() {
    },
    RenderFlex_computeMaxIntrinsicWidth_closure: function RenderFlex_computeMaxIntrinsicWidth_closure() {
    },
    RenderFlex_computeMinIntrinsicHeight_closure: function RenderFlex_computeMinIntrinsicHeight_closure() {
    },
    RenderFlex_computeMaxIntrinsicHeight_closure: function RenderFlex_computeMaxIntrinsicHeight_closure() {
    },
    _LayoutSizes: function _LayoutSizes(t0, t1, t2) {
      this.mainSize = t0;
      this.crossSize = t1;
      this.allocatedSize = t2;
    },
    _RenderFlex_RenderBox_ContainerRenderObjectMixin: function _RenderFlex_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    _RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin: function _RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin() {
    },
    RenderImage: function RenderImage(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _._flipHorizontally = _._image$_resolvedAlignment = null;
      _._image$_image = t0;
      _.debugImageLabel = t1;
      _._image$_width = t2;
      _._image$_height = t3;
      _._image$_scale = t4;
      _._colorFilter = null;
      _._image$_color = t5;
      _._image$_opacity = t6;
      _._image$_filterQuality = t7;
      _._colorBlendMode = t8;
      _._image$_fit = t9;
      _._image$_alignment = t10;
      _._repeat = t11;
      _._centerSlice = t12;
      _._image$_invertColors = t13;
      _._matchTextDirection = t14;
      _._image$_textDirection = t15;
      _._image$_isAntiAlias = t16;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t17;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    LayerHandle$($T) {
      return new A.LayerHandle($T._eval$1("LayerHandle<0>"));
    },
    PictureLayer$(canvasBounds) {
      return new A.PictureLayer0(canvasBounds, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2));
    },
    OffsetLayer$(offset) {
      return new A.OffsetLayer(offset, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2));
    },
    TransformLayer$(transform) {
      return new A.TransformLayer(transform, B.Offset_0_0, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2));
    },
    OpacityLayer$() {
      return new A.OpacityLayer(B.Offset_0_0, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2));
    },
    LeaderLayer$(link, offset) {
      return new A.LeaderLayer(link, offset, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2));
    },
    FollowerLayer__collectTransformForLayerChain(layers) {
      var index, t1,
        result = new A.Matrix4(new Float64Array(16));
      result.setIdentity$0();
      for (index = layers.length - 1; index > 0; --index) {
        t1 = layers[index];
        if (t1 != null)
          t1.applyTransform$2(layers[index - 1], result);
      }
      return result;
    },
    FollowerLayer__pathsToCommonAncestor(a, b, ancestorsA, ancestorsB) {
      var t1, t2;
      if (a == null || b == null)
        return null;
      if (a === b)
        return a;
      t1 = a._depth;
      t2 = b._depth;
      if (t1 < t2) {
        t1 = type$.nullable_ContainerLayer;
        ancestorsB.push(t1._as(A.AbstractNode.prototype.get$parent.call(b, b)));
        return A.FollowerLayer__pathsToCommonAncestor(a, t1._as(A.AbstractNode.prototype.get$parent.call(b, b)), ancestorsA, ancestorsB);
      } else if (t1 > t2) {
        t1 = type$.nullable_ContainerLayer;
        ancestorsA.push(t1._as(A.AbstractNode.prototype.get$parent.call(a, a)));
        return A.FollowerLayer__pathsToCommonAncestor(t1._as(A.AbstractNode.prototype.get$parent.call(a, a)), b, ancestorsA, ancestorsB);
      }
      t1 = type$.nullable_ContainerLayer;
      ancestorsA.push(t1._as(A.AbstractNode.prototype.get$parent.call(a, a)));
      ancestorsB.push(t1._as(A.AbstractNode.prototype.get$parent.call(b, b)));
      return A.FollowerLayer__pathsToCommonAncestor(t1._as(A.AbstractNode.prototype.get$parent.call(a, a)), t1._as(A.AbstractNode.prototype.get$parent.call(b, b)), ancestorsA, ancestorsB);
    },
    AnnotationEntry: function AnnotationEntry(t0, t1, t2) {
      this.annotation = t0;
      this.localPosition = t1;
      this.$ti = t2;
    },
    AnnotationResult: function AnnotationResult(t0, t1) {
      this._entries = t0;
      this.$ti = t1;
    },
    Layer0: function Layer0() {
    },
    LayerHandle: function LayerHandle(t0) {
      this._layer = null;
      this.$ti = t0;
    },
    PictureLayer0: function PictureLayer0(t0, t1, t2) {
      var _ = this;
      _.canvasBounds = t0;
      _._picture = null;
      _._willChangeHint = _._isComplexHint = false;
      _._callbacks = t1;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t2;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    PerformanceOverlayLayer: function PerformanceOverlayLayer(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._overlayRect = t0;
      _.optionsMask = t1;
      _.rasterizerThreshold = t2;
      _.checkerboardRasterCacheImages = t3;
      _.checkerboardOffscreenLayers = t4;
      _._callbacks = t5;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t6;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    ContainerLayer0: function ContainerLayer0() {
    },
    OffsetLayer: function OffsetLayer(t0, t1, t2) {
      var _ = this;
      _._layer$_offset = t0;
      _._lastChild = _._firstChild = null;
      _._callbacks = t1;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t2;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    ClipRectLayer: function ClipRectLayer(t0, t1, t2) {
      var _ = this;
      _._clipRect = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = null;
      _._callbacks = t1;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t2;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    ClipRRectLayer: function ClipRRectLayer(t0, t1, t2) {
      var _ = this;
      _._clipRRect = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = null;
      _._callbacks = t1;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t2;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    ClipPathLayer: function ClipPathLayer(t0, t1, t2) {
      var _ = this;
      _._clipPath = null;
      _._layer$_clipBehavior = t0;
      _._lastChild = _._firstChild = null;
      _._callbacks = t1;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t2;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    TransformLayer: function TransformLayer(t0, t1, t2, t3) {
      var _ = this;
      _._layer$_transform = t0;
      _._invertedTransform = _._lastEffectiveTransform = null;
      _._inverseDirty = true;
      _._layer$_offset = t1;
      _._lastChild = _._firstChild = null;
      _._callbacks = t2;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t3;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    OpacityLayer: function OpacityLayer(t0, t1, t2) {
      var _ = this;
      _._alpha = null;
      _._layer$_offset = t0;
      _._lastChild = _._firstChild = null;
      _._callbacks = t1;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t2;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    LayerLink: function LayerLink() {
      var _ = this;
      _._debugPreviousLeaders = _._leader = null;
      _._debugLeaderCheckScheduled = false;
      _.leaderSize = null;
    },
    LeaderLayer: function LeaderLayer(t0, t1, t2, t3) {
      var _ = this;
      _._layer$_link = t0;
      _._layer$_offset = t1;
      _._lastChild = _._firstChild = null;
      _._callbacks = t2;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t3;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    FollowerLayer: function FollowerLayer(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._layer$_link = t0;
      _.showWhenUnlinked = t1;
      _.unlinkedOffset = t2;
      _.linkedOffset = t3;
      _._invertedTransform = _._layer$_lastTransform = _._lastOffset = null;
      _._inverseDirty = true;
      _._lastChild = _._firstChild = null;
      _._callbacks = t4;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t5;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    AnnotatedRegionLayer: function AnnotatedRegionLayer(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.value = t0;
      _.size = t1;
      _.offset = t2;
      _._lastChild = _._firstChild = null;
      _._callbacks = t3;
      _._compositionCallbackCount = 0;
      _._layer$_debugDisposed = false;
      _._parentHandle = t4;
      _._refCount = 0;
      _._needsAddToScene = true;
      _.debugCreator = _._previousSibling = _._nextSibling = _._engineLayer = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
      _.$ti = t5;
    },
    _Layer_AbstractNode_DiagnosticableTreeMixin: function _Layer_AbstractNode_DiagnosticableTreeMixin() {
    },
    ListBodyParentData: function ListBodyParentData(t0, t1, t2) {
      this.ContainerParentDataMixin_previousSibling = t0;
      this.ContainerParentDataMixin_nextSibling = t1;
      this.offset = t2;
    },
    RenderListBody: function RenderListBody(t0, t1, t2, t3, t4) {
      var _ = this;
      _._list_body$_axisDirection = t0;
      _.ContainerRenderObjectMixin__childCount = t1;
      _.ContainerRenderObjectMixin__firstChild = t2;
      _.ContainerRenderObjectMixin__lastChild = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderListBody_computeMinIntrinsicWidth_closure: function RenderListBody_computeMinIntrinsicWidth_closure(t0) {
      this.height = t0;
    },
    RenderListBody_computeMinIntrinsicWidth_closure0: function RenderListBody_computeMinIntrinsicWidth_closure0(t0) {
      this.height = t0;
    },
    RenderListBody_computeMaxIntrinsicWidth_closure: function RenderListBody_computeMaxIntrinsicWidth_closure(t0) {
      this.height = t0;
    },
    RenderListBody_computeMaxIntrinsicWidth_closure0: function RenderListBody_computeMaxIntrinsicWidth_closure0(t0) {
      this.height = t0;
    },
    RenderListBody_computeMinIntrinsicHeight_closure: function RenderListBody_computeMinIntrinsicHeight_closure(t0) {
      this.width = t0;
    },
    RenderListBody_computeMinIntrinsicHeight_closure0: function RenderListBody_computeMinIntrinsicHeight_closure0(t0) {
      this.width = t0;
    },
    RenderListBody_computeMaxIntrinsicHeight_closure: function RenderListBody_computeMaxIntrinsicHeight_closure(t0) {
      this.width = t0;
    },
    RenderListBody_computeMaxIntrinsicHeight_closure0: function RenderListBody_computeMaxIntrinsicHeight_closure0(t0) {
      this.width = t0;
    },
    _RenderListBody_RenderBox_ContainerRenderObjectMixin: function _RenderListBody_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    MouseTracker__shouldMarkStateDirty(state, $event) {
      var lastEvent;
      if (state == null)
        return true;
      lastEvent = state._latestEvent;
      if (type$.PointerSignalEvent._is($event))
        return false;
      return type$.PointerAddedEvent._is(lastEvent) || type$.PointerRemovedEvent._is($event) || !lastEvent.get$position(lastEvent).$eq(0, $event.get$position($event));
    },
    MouseTracker__handleDeviceUpdateMouseEvents(details) {
      var lastAnnotations, nextAnnotations, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, enteringAnnotations, baseEnterEvent,
        result = details.triggeringEvent;
      if (result == null)
        result = details.previousEvent;
      lastAnnotations = details.lastAnnotations;
      nextAnnotations = details.nextAnnotations;
      t1 = result.get$timeStamp(result);
      t2 = result.get$pointer();
      t3 = result.get$kind(result);
      t4 = result.get$device(result);
      t5 = result.get$position(result);
      t6 = result.get$delta();
      t7 = result.get$buttons(result);
      result.get$obscured();
      t8 = result.get$pressureMin();
      t9 = result.get$pressureMax();
      t10 = result.get$distance();
      t11 = result.get$distanceMax();
      t12 = result.get$size(result);
      t13 = result.get$radiusMajor();
      t14 = result.get$radiusMinor();
      t15 = result.get$radiusMin();
      t16 = result.get$radiusMax();
      t17 = result.get$orientation(result);
      t18 = result.get$tilt();
      lastAnnotations.forEach$1(0, new A.MouseTracker__handleDeviceUpdateMouseEvents_closure(nextAnnotations, A.PointerExitEvent$(t7, t6, t4, t10, t11, result.get$down(), 0, t3, false, t17, t2, t5, t9, t8, t13, t16, t15, t14, t12, result.get$synthesized(), t18, t1).transformed$1(result.get$transform(result)), lastAnnotations));
      t1 = A._instanceType(nextAnnotations)._eval$1("LinkedHashMapKeyIterable<1>");
      t18 = t1._eval$1("WhereIterable<Iterable.E>");
      enteringAnnotations = A.List_List$of(new A.WhereIterable(new A.LinkedHashMapKeyIterable(nextAnnotations, t1), new A.MouseTracker__handleDeviceUpdateMouseEvents_closure0(lastAnnotations), t18), true, t18._eval$1("Iterable.E"));
      t18 = result.get$timeStamp(result);
      t1 = result.get$pointer();
      t12 = result.get$kind(result);
      t14 = result.get$device(result);
      t15 = result.get$position(result);
      t16 = result.get$delta();
      t13 = result.get$buttons(result);
      result.get$obscured();
      t8 = result.get$pressureMin();
      t9 = result.get$pressureMax();
      t5 = result.get$distance();
      t2 = result.get$distanceMax();
      t17 = result.get$size(result);
      t3 = result.get$radiusMajor();
      t11 = result.get$radiusMinor();
      t10 = result.get$radiusMin();
      t4 = result.get$radiusMax();
      t6 = result.get$orientation(result);
      t7 = result.get$tilt();
      baseEnterEvent = A.PointerEnterEvent$(t13, t16, t14, t5, t2, result.get$down(), 0, t12, false, t6, t1, t15, t9, t8, t3, t4, t10, t11, t17, result.get$synthesized(), t7, t18).transformed$1(result.get$transform(result));
      for (t1 = A._arrayInstanceType(enteringAnnotations)._eval$1("ReversedListIterable<1>"), t2 = new A.ReversedListIterable(enteringAnnotations, t1), t2 = new A.ListIterator(t2, t2.get$length(t2), t1._eval$1("ListIterator<ListIterable.E>")), t1 = t1._eval$1("ListIterable.E"); t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        if (t3 == null)
          t3 = t1._as(t3);
        if (t3.get$validForMouseTracker() && t3.get$onEnter(t3) != null) {
          t4 = t3.get$onEnter(t3);
          t4.toString;
          t4.call$1(baseEnterEvent.transformed$1(nextAnnotations.$index(0, t3)));
        }
      }
    },
    _MouseState: function _MouseState(t0, t1) {
      this._annotations = t0;
      this._latestEvent = t1;
    },
    _MouseTrackerUpdateDetails: function _MouseTrackerUpdateDetails(t0, t1, t2, t3) {
      var _ = this;
      _.lastAnnotations = t0;
      _.nextAnnotations = t1;
      _.previousEvent = t2;
      _.triggeringEvent = t3;
    },
    MouseTracker: function MouseTracker(t0, t1, t2) {
      var _ = this;
      _._mouseCursorMixin = t0;
      _._mouseStates = t1;
      _._debugDuringDeviceUpdate = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    MouseTracker__handleDeviceUpdate_closure: function MouseTracker__handleDeviceUpdate_closure() {
    },
    MouseTracker_updateWithEvent_closure: function MouseTracker_updateWithEvent_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.existingState = t1;
      _.event = t2;
      _.device = t3;
      _.result = t4;
    },
    MouseTracker_updateWithEvent__closure: function MouseTracker_updateWithEvent__closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.existingState = t1;
      _.event = t2;
      _.device = t3;
      _.result = t4;
    },
    MouseTracker_updateAllDevices_closure: function MouseTracker_updateAllDevices_closure(t0, t1) {
      this.$this = t0;
      this.hitTest = t1;
    },
    MouseTracker__handleDeviceUpdateMouseEvents_closure: function MouseTracker__handleDeviceUpdateMouseEvents_closure(t0, t1, t2) {
      this.nextAnnotations = t0;
      this.baseExitEvent = t1;
      this.lastAnnotations = t2;
    },
    MouseTracker__handleDeviceUpdateMouseEvents_closure0: function MouseTracker__handleDeviceUpdateMouseEvents_closure0(t0) {
      this.lastAnnotations = t0;
    },
    __MouseTrackerUpdateDetails_Object_Diagnosticable: function __MouseTrackerUpdateDetails_Object_Diagnosticable() {
    },
    PaintingContext__repaintCompositedChild(child, childContext, debugAlsoPaintedParent) {
      var layer, t2,
        t1 = child._layerHandle,
        childLayer = type$.nullable_OffsetLayer._as(t1._layer);
      if (childLayer == null) {
        layer = child.updateCompositedLayer$1$oldLayer(null);
        t1.set$layer(0, layer);
        t1 = layer;
      } else {
        childLayer.removeAllChildren$0();
        child.updateCompositedLayer$1$oldLayer(childLayer);
        t1 = childLayer;
      }
      child._needsCompositedLayerUpdate = false;
      t2 = child.get$paintBounds();
      childContext = new A.PaintingContext(t1, t2);
      child._paintWithContext$2(childContext, B.Offset_0_0);
      childContext.stopRecordingIfNeeded$0();
    },
    PaintingContext_updateLayerProperties(child) {
      var t1 = child._layerHandle._layer;
      t1.toString;
      child.updateCompositedLayer$1$oldLayer(type$.OffsetLayer._as(t1));
      child._needsCompositedLayerUpdate = false;
    },
    RenderObject__cleanChildRelayoutBoundary(child) {
      child._cleanRelayoutBoundary$0();
    },
    RenderObject__propagateRelayoutBoundaryToChild(child) {
      child._propagateRelayoutBoundary$0();
    },
    _SemanticsGeometry__transformRect(rect, transform) {
      var t1;
      if (rect == null)
        return null;
      if (!rect.get$isEmpty(rect)) {
        t1 = transform._m4storage;
        t1 = t1[0] === 0 && t1[1] === 0 && t1[2] === 0 && t1[3] === 0 && t1[4] === 0 && t1[5] === 0 && t1[6] === 0 && t1[7] === 0 && t1[8] === 0 && t1[9] === 0 && t1[10] === 0 && t1[11] === 0 && t1[12] === 0 && t1[13] === 0 && t1[14] === 0 && t1[15] === 0;
      } else
        t1 = true;
      if (t1)
        return B.Rect_0_0_0_0;
      return A.MatrixUtils_inverseTransformRect(transform, rect);
    },
    _SemanticsGeometry__applyIntermediatePaintTransforms(ancestor, child, transform, clipRectTransform) {
      var t2, intermediateParent, t3,
        t1 = child.get$parent(child);
      t1.toString;
      t2 = type$.RenderObject;
      t2._as(t1);
      for (intermediateParent = t1; intermediateParent !== ancestor; intermediateParent = t1, child = t3) {
        intermediateParent.applyPaintTransform$2(child, transform);
        t1 = intermediateParent.get$parent(intermediateParent);
        t1.toString;
        t2._as(t1);
        t3 = child.get$parent(child);
        t3.toString;
        t2._as(t3);
      }
      ancestor.applyPaintTransform$2(child, transform);
      ancestor.applyPaintTransform$2(child, clipRectTransform);
    },
    _SemanticsGeometry__intersectRects(a, b) {
      if (a == null)
        return b;
      if (b == null)
        return a;
      return a.intersect$1(b);
    },
    ParentData: function ParentData() {
    },
    PaintingContext: function PaintingContext(t0, t1) {
      var _ = this;
      _._containerLayer = t0;
      _.estimatedBounds = t1;
      _._canvas = _._recorder = _._currentLayer = null;
    },
    PaintingContext_pushClipRect_closure: function PaintingContext_pushClipRect_closure(t0, t1, t2) {
      this.$this = t0;
      this.painter = t1;
      this.offset = t2;
    },
    PaintingContext_pushClipRRect_closure: function PaintingContext_pushClipRRect_closure(t0, t1, t2) {
      this.$this = t0;
      this.painter = t1;
      this.offset = t2;
    },
    PaintingContext_pushClipPath_closure: function PaintingContext_pushClipPath_closure(t0, t1, t2) {
      this.$this = t0;
      this.painter = t1;
      this.offset = t2;
    },
    Constraints: function Constraints() {
    },
    SemanticsHandle: function SemanticsHandle(t0, t1) {
      this._object$_owner = t0;
      this.listener = t1;
    },
    PipelineOwner: function PipelineOwner(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.onNeedVisualUpdate = t0;
      _.onSemanticsOwnerCreated = t1;
      _.onSemanticsOwnerDisposed = t2;
      _._rootNode = null;
      _._shouldMergeDirtyNodes = false;
      _._nodesNeedingLayout = t3;
      _._debugAllowMutationsToDirtySubtrees = _._debugDoingLayout = false;
      _._nodesNeedingCompositingBitsUpdate = t4;
      _._nodesNeedingPaint = t5;
      _._debugDoingPaint = false;
      _._semanticsOwner = null;
      _._outstandingSemanticsHandles = 0;
      _._debugDoingSemantics = false;
      _._nodesNeedingSemantics = t6;
    },
    PipelineOwner_flushLayout_closure: function PipelineOwner_flushLayout_closure() {
    },
    PipelineOwner_flushCompositingBits_closure: function PipelineOwner_flushCompositingBits_closure() {
    },
    PipelineOwner_flushPaint_closure: function PipelineOwner_flushPaint_closure() {
    },
    PipelineOwner_flushSemantics_closure: function PipelineOwner_flushSemantics_closure() {
    },
    RenderObject: function RenderObject() {
    },
    RenderObject_reassemble_closure: function RenderObject_reassemble_closure() {
    },
    RenderObject__debugReportException_closure: function RenderObject__debugReportException_closure(t0) {
      this.$this = t0;
    },
    RenderObject_invokeLayoutCallback_closure: function RenderObject_invokeLayoutCallback_closure(t0, t1, t2) {
      this.$this = t0;
      this.callback = t1;
      this.T = t2;
    },
    RenderObject__updateCompositingBits_closure: function RenderObject__updateCompositingBits_closure(t0) {
      this.$this = t0;
    },
    RenderObject_clearSemantics_closure: function RenderObject_clearSemantics_closure() {
    },
    RenderObject__getSemanticsForParent_closure: function RenderObject__getSemanticsForParent_closure(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.childrenMergeIntoParent = t2;
      _.fragments = t3;
      _.toBeMarkedExplicit = t4;
      _.config = t5;
      _.producesForkingFragment = t6;
    },
    RenderObjectWithChildMixin: function RenderObjectWithChildMixin() {
    },
    ContainerParentDataMixin: function ContainerParentDataMixin() {
    },
    ContainerRenderObjectMixin: function ContainerRenderObjectMixin() {
    },
    RelayoutWhenSystemFontsChangeMixin: function RelayoutWhenSystemFontsChangeMixin() {
    },
    _SemanticsFragment: function _SemanticsFragment() {
    },
    _ContainerSemanticsFragment: function _ContainerSemanticsFragment(t0, t1) {
      this.interestingFragments = t0;
      this.dropsSemanticsOfPreviousSiblings = t1;
    },
    _InterestingSemanticsFragment: function _InterestingSemanticsFragment() {
    },
    _RootSemanticsFragment: function _RootSemanticsFragment(t0, t1, t2) {
      var _ = this;
      _._object$_children = t0;
      _._ancestorChain = t1;
      _._object$_tagsForChildren = null;
      _.dropsSemanticsOfPreviousSiblings = t2;
    },
    _SwitchableSemanticsFragment: function _SwitchableSemanticsFragment(t0, t1, t2, t3, t4) {
      var _ = this;
      _._mergeIntoParent = t0;
      _._config = t1;
      _._isConfigWritable = false;
      _._object$_children = t2;
      _._isExplicit = false;
      _._ancestorChain = t3;
      _._object$_tagsForChildren = null;
      _.dropsSemanticsOfPreviousSiblings = t4;
    },
    _SemanticsGeometry: function _SemanticsGeometry() {
      var _ = this;
      _._semanticsClipRect = _._paintClipRect = null;
      _.___SemanticsGeometry__rect = _.___SemanticsGeometry__transform = $;
      _._markAsHidden = false;
    },
    _RenderObject_AbstractNode_DiagnosticableTreeMixin: function _RenderObject_AbstractNode_DiagnosticableTreeMixin() {
    },
    _SelectableFragment__compareTextPositions(position, otherPosition) {
      var t1 = position.offset,
        t2 = otherPosition.offset;
      if (t1 < t2)
        return 1;
      else if (t1 > t2)
        return -1;
      else {
        t1 = position.affinity;
        if (t1 === otherPosition.affinity)
          return 0;
        else
          return t1 === B.TextAffinity_0 ? 1 : -1;
      }
    },
    TextParentData: function TextParentData(t0, t1, t2) {
      var _ = this;
      _.scale = null;
      _.ContainerParentDataMixin_previousSibling = t0;
      _.ContainerParentDataMixin_nextSibling = t1;
      _.offset = t2;
    },
    PlaceholderSpanIndexSemanticsTag: function PlaceholderSpanIndexSemanticsTag(t0, t1) {
      this.index = t0;
      this.name = t1;
    },
    RenderParagraph: function RenderParagraph(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._paragraph$_textPainter = t0;
      _._registrar = _._lastSelectableFragments = _._cachedCombinedSemanticsInfos = _._cachedAttributedLabel = null;
      _.__RenderParagraph__placeholderSpans = $;
      _._softWrap = t1;
      _._paragraph$_overflow = t2;
      _._selectionColor = t3;
      _._needsClipping = false;
      _._cachedChildNodes = _._semanticsInfo = _._paragraph$_placeholderDimensions = _._overflowShader = null;
      _.ContainerRenderObjectMixin__childCount = t4;
      _.ContainerRenderObjectMixin__firstChild = t5;
      _.ContainerRenderObjectMixin__lastChild = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t7;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderParagraph_markNeedsLayout_closure: function RenderParagraph_markNeedsLayout_closure() {
    },
    RenderParagraph__extractPlaceholderSpans_closure: function RenderParagraph__extractPlaceholderSpans_closure(t0) {
      this.$this = t0;
    },
    RenderParagraph_selectionColor_closure: function RenderParagraph_selectionColor_closure() {
    },
    RenderParagraph_hitTestChildren_closure: function RenderParagraph_hitTestChildren_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.position = t1;
      this.textParentData = t2;
    },
    RenderParagraph_paint_closure: function RenderParagraph_paint_closure(t0) {
      this._box_0 = t0;
    },
    RenderParagraph_describeSemanticsConfiguration_closure: function RenderParagraph_describeSemanticsConfiguration_closure() {
    },
    RenderParagraph__createShowOnScreenFor_closure: function RenderParagraph__createShowOnScreenFor_closure(t0, t1) {
      this.$this = t0;
      this.key = t1;
    },
    _SelectableFragment: function _SelectableFragment(t0, t1, t2) {
      var _ = this;
      _.range = t0;
      _.paragraph = t1;
      _._paragraph$_endHandleLayerLink = _._paragraph$_startHandleLayerLink = _._textSelectionEnd = _._textSelectionStart = null;
      _.___SelectableFragment__selectionGeometry = $;
      _._paragraph$_cachedRect = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _RenderParagraph_RenderBox_ContainerRenderObjectMixin: function _RenderParagraph_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    _RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin: function _RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin() {
    },
    __SelectableFragment_Object_Selectable: function __SelectableFragment_Object_Selectable() {
    },
    __SelectableFragment_Object_Selectable_ChangeNotifier: function __SelectableFragment_Object_Selectable_ChangeNotifier() {
    },
    RenderPerformanceOverlay: function RenderPerformanceOverlay(t0, t1, t2, t3, t4) {
      var _ = this;
      _._optionsMask = t0;
      _._rasterizerThreshold = t1;
      _._checkerboardRasterCacheImages = t2;
      _._checkerboardOffscreenLayers = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderConstrainedBox$(additionalConstraints) {
      var t1 = new A.RenderConstrainedBox(additionalConstraints, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    RenderIntrinsicWidth__applyStep(input, step) {
      if (step == null)
        return input;
      return B.JSNumber_methods.ceil$0(input / step) * step;
    },
    RenderProxyBox: function RenderProxyBox() {
    },
    RenderProxyBoxMixin: function RenderProxyBoxMixin() {
    },
    HitTestBehavior: function HitTestBehavior(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderProxyBoxWithHitTestBehavior: function RenderProxyBoxWithHitTestBehavior() {
    },
    RenderConstrainedBox: function RenderConstrainedBox(t0, t1, t2) {
      var _ = this;
      _._additionalConstraints = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderLimitedBox: function RenderLimitedBox(t0, t1, t2, t3) {
      var _ = this;
      _._maxWidth = t0;
      _._maxHeight = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderIntrinsicWidth: function RenderIntrinsicWidth(t0, t1, t2, t3) {
      var _ = this;
      _._stepWidth = t0;
      _._stepHeight = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderIntrinsicHeight: function RenderIntrinsicHeight(t0, t1) {
      var _ = this;
      _.RenderObjectWithChildMixin__child = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t1;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderOpacity: function RenderOpacity(t0, t1, t2, t3, t4) {
      var _ = this;
      _._proxy_box$_alpha = t0;
      _._proxy_box$_opacity = t1;
      _._alwaysIncludeSemantics = t2;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderAnimatedOpacityMixin: function RenderAnimatedOpacityMixin() {
    },
    RenderAnimatedOpacity: function RenderAnimatedOpacity(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.RenderAnimatedOpacityMixin__alpha = t0;
      _.RenderAnimatedOpacityMixin__currentlyIsRepaintBoundary = t1;
      _.RenderAnimatedOpacityMixin__opacity = t2;
      _.RenderAnimatedOpacityMixin__alwaysIncludeSemantics = t3;
      _.RenderObjectWithChildMixin__child = t4;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t5;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    CustomClipper: function CustomClipper() {
    },
    ShapeBorderClipper: function ShapeBorderClipper(t0, t1, t2) {
      this.shape = t0;
      this.textDirection = t1;
      this._reclip = t2;
    },
    _RenderCustomClip: function _RenderCustomClip() {
    },
    RenderClipRect: function RenderClipRect(t0, t1, t2, t3) {
      var _ = this;
      _._clipper = t0;
      _._clip = null;
      _._proxy_box$_clipBehavior = t1;
      _._debugText = _._debugPaint = null;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderClipRRect: function RenderClipRRect(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._proxy_box$_borderRadius = t0;
      _._proxy_box$_textDirection = t1;
      _._clipper = t2;
      _._clip = null;
      _._proxy_box$_clipBehavior = t3;
      _._debugText = _._debugPaint = null;
      _.RenderObjectWithChildMixin__child = t4;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t5;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderClipPath: function RenderClipPath(t0, t1, t2, t3) {
      var _ = this;
      _._clipper = t0;
      _._clip = null;
      _._proxy_box$_clipBehavior = t1;
      _._debugText = _._debugPaint = null;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderPhysicalModelBase: function _RenderPhysicalModelBase() {
    },
    RenderPhysicalModel: function RenderPhysicalModel(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._proxy_box$_shape = t0;
      _._proxy_box$_borderRadius = t1;
      _._proxy_box$_elevation = t2;
      _._proxy_box$_shadowColor = t3;
      _._proxy_box$_color = t4;
      _._clipper = t5;
      _._clip = null;
      _._proxy_box$_clipBehavior = t6;
      _._debugText = _._debugPaint = null;
      _.RenderObjectWithChildMixin__child = t7;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t8;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderPhysicalModel_paint_closure: function RenderPhysicalModel_paint_closure(t0, t1) {
      this.$this = t0;
      this.usesSaveLayer = t1;
    },
    RenderPhysicalShape: function RenderPhysicalShape(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._proxy_box$_elevation = t0;
      _._proxy_box$_shadowColor = t1;
      _._proxy_box$_color = t2;
      _._clipper = t3;
      _._clip = null;
      _._proxy_box$_clipBehavior = t4;
      _._debugText = _._debugPaint = null;
      _.RenderObjectWithChildMixin__child = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t6;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderPhysicalShape_paint_closure: function RenderPhysicalShape_paint_closure(t0, t1) {
      this.$this = t0;
      this.usesSaveLayer = t1;
    },
    DecorationPosition: function DecorationPosition(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderDecoratedBox: function RenderDecoratedBox(t0, t1, t2, t3, t4) {
      var _ = this;
      _._proxy_box$_painter = null;
      _._proxy_box$_decoration = t0;
      _._proxy_box$_position = t1;
      _._proxy_box$_configuration = t2;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderTransform: function RenderTransform(t0, t1, t2) {
      var _ = this;
      _._proxy_box$_textDirection = _._proxy_box$_alignment = _._origin = null;
      _.transformHitTests = t0;
      _._proxy_box$_filterQuality = _._proxy_box$_transform = null;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderTransform_hitTestChildren_closure: function RenderTransform_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    RenderFractionalTranslation: function RenderFractionalTranslation(t0, t1, t2, t3) {
      var _ = this;
      _._translation = t0;
      _.transformHitTests = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderFractionalTranslation_hitTestChildren_closure: function RenderFractionalTranslation_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    RenderPointerListener: function RenderPointerListener(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.onPointerDown = t0;
      _.onPointerMove = t1;
      _.onPointerUp = t2;
      _.onPointerHover = t3;
      _.onPointerCancel = t4;
      _.onPointerPanZoomStart = t5;
      _.onPointerPanZoomUpdate = t6;
      _.onPointerPanZoomEnd = t7;
      _.onPointerSignal = t8;
      _.behavior = t9;
      _.RenderObjectWithChildMixin__child = t10;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t11;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderMouseRegion: function RenderMouseRegion(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._proxy_box$_opaque = t0;
      _.onEnter = t1;
      _.onHover = t2;
      _.onExit = t3;
      _._cursor = t4;
      _._validForMouseTracker = true;
      _.behavior = t5;
      _.RenderObjectWithChildMixin__child = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t7;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderRepaintBoundary: function RenderRepaintBoundary(t0, t1) {
      var _ = this;
      _._debugAsymmetricPaintCount = _._debugSymmetricPaintCount = 0;
      _.RenderObjectWithChildMixin__child = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t1;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderIgnorePointer: function RenderIgnorePointer(t0, t1, t2, t3) {
      var _ = this;
      _._ignoring = t0;
      _._ignoringSemantics = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderOffstage: function RenderOffstage(t0, t1, t2) {
      var _ = this;
      _._proxy_box$_offstage = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderAbsorbPointer: function RenderAbsorbPointer(t0, t1, t2, t3) {
      var _ = this;
      _._absorbing = t0;
      _._ignoringSemantics = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderMetaData: function RenderMetaData(t0, t1, t2, t3) {
      var _ = this;
      _.metaData = t0;
      _.behavior = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderSemanticsGestureHandler: function RenderSemanticsGestureHandler(t0, t1, t2) {
      var _ = this;
      _._onVerticalDragUpdate = _._onHorizontalDragUpdate = _._onLongPress = _._proxy_box$_onTap = _._validActions = null;
      _.behavior = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderSemanticsAnnotations: function RenderSemanticsAnnotations(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._proxy_box$_properties = t0;
      _._container = t1;
      _._explicitChildNodes = t2;
      _._excludeSemantics = t3;
      _._proxy_box$_attributedHint = _._proxy_box$_attributedDecreasedValue = _._proxy_box$_attributedIncreasedValue = _._proxy_box$_attributedValue = _._proxy_box$_attributedLabel = null;
      _._proxy_box$_textDirection = t4;
      _.RenderObjectWithChildMixin__child = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t6;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderBlockSemantics: function RenderBlockSemantics(t0, t1, t2) {
      var _ = this;
      _._blocking = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderMergeSemantics: function RenderMergeSemantics(t0, t1) {
      var _ = this;
      _.RenderObjectWithChildMixin__child = t0;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t1;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderExcludeSemantics: function RenderExcludeSemantics(t0, t1, t2) {
      var _ = this;
      _._excluding = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderIndexedSemantics: function RenderIndexedSemantics(t0, t1, t2) {
      var _ = this;
      _._proxy_box$_index = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderLeaderLayer: function RenderLeaderLayer(t0, t1, t2) {
      var _ = this;
      _._proxy_box$_link = t0;
      _._previousLayoutSize = null;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderFollowerLayer: function RenderFollowerLayer(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._proxy_box$_link = t0;
      _._showWhenUnlinked = t1;
      _._proxy_box$_offset = t2;
      _._leaderAnchor = t3;
      _._followerAnchor = t4;
      _.RenderObjectWithChildMixin__child = t5;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t6;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderFollowerLayer_hitTestChildren_closure: function RenderFollowerLayer_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    RenderAnnotatedRegion: function RenderAnnotatedRegion(t0, t1, t2, t3, t4) {
      var _ = this;
      _._proxy_box$_value = t0;
      _._sized = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
      _.$ti = t4;
    },
    _RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin: function _RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin() {
    },
    _RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin: function _RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin() {
    },
    _RenderProxyBox_RenderBox_RenderObjectWithChildMixin: function _RenderProxyBox_RenderBox_RenderObjectWithChildMixin() {
    },
    _RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin: function _RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin() {
    },
    RenderRotatedBox: function RenderRotatedBox(t0, t1, t2, t3) {
      var _ = this;
      _._quarterTurns = t0;
      _._paintTransform = null;
      _._transformLayer = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderRotatedBox_hitTestChildren_closure: function RenderRotatedBox_hitTestChildren_closure(t0) {
      this.$this = t0;
    },
    _RenderRotatedBox_RenderBox_RenderObjectWithChildMixin: function _RenderRotatedBox_RenderBox_RenderObjectWithChildMixin() {
    },
    SelectionUtils_getResultBasedOnRect(targetRect, point) {
      var t1;
      if (targetRect.contains$1(0, point))
        return B.SelectionResult_2;
      t1 = point._dy;
      if (t1 < targetRect.top)
        return B.SelectionResult_1;
      if (t1 > targetRect.bottom)
        return B.SelectionResult_0;
      return point._dx >= targetRect.right ? B.SelectionResult_0 : B.SelectionResult_1;
    },
    SelectionUtils_adjustDragOffset(targetRect, point, direction) {
      var t1, t2;
      if (targetRect.contains$1(0, point))
        return point;
      t1 = point._dy;
      t2 = targetRect.top;
      if (!(t1 <= t2))
        t1 = t1 <= targetRect.bottom && point._dx <= targetRect.left;
      else
        t1 = true;
      if (t1)
        return direction === B.TextDirection_1 ? new A.Offset(targetRect.left, t2) : new A.Offset(targetRect.right, t2);
      else {
        t1 = targetRect.bottom;
        return direction === B.TextDirection_1 ? new A.Offset(targetRect.right, t1) : new A.Offset(targetRect.left, t1);
      }
    },
    SelectionResult: function SelectionResult(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Selectable: function Selectable() {
    },
    SelectionRegistrant: function SelectionRegistrant() {
    },
    SelectionEventType: function SelectionEventType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SelectionEvent: function SelectionEvent() {
    },
    ClearSelectionEvent: function ClearSelectionEvent(t0) {
      this.type = t0;
    },
    SelectionEdgeUpdateEvent: function SelectionEdgeUpdateEvent(t0, t1) {
      this.globalPosition = t0;
      this.type = t1;
    },
    SelectionStatus: function SelectionStatus(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SelectionGeometry: function SelectionGeometry(t0, t1, t2, t3) {
      var _ = this;
      _.startSelectionPoint = t0;
      _.endSelectionPoint = t1;
      _.status = t2;
      _.hasContent = t3;
    },
    SelectionPoint: function SelectionPoint(t0, t1, t2) {
      this.localPosition = t0;
      this.lineHeight = t1;
      this.handleType = t2;
    },
    TextSelectionHandleType: function TextSelectionHandleType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderShiftedBox: function RenderShiftedBox() {
    },
    RenderShiftedBox_hitTestChildren_closure: function RenderShiftedBox_hitTestChildren_closure(t0, t1, t2) {
      this.$this = t0;
      this.position = t1;
      this.childParentData = t2;
    },
    RenderPadding: function RenderPadding(t0, t1, t2, t3) {
      var _ = this;
      _._resolvedPadding = null;
      _._shifted_box$_padding = t0;
      _._shifted_box$_textDirection = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderAligningShiftedBox: function RenderAligningShiftedBox() {
    },
    RenderPositionedBox: function RenderPositionedBox(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._widthFactor = t0;
      _._heightFactor = t1;
      _._shifted_box$_resolvedAlignment = null;
      _._shifted_box$_alignment = t2;
      _._shifted_box$_textDirection = t3;
      _.RenderObjectWithChildMixin__child = t4;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t5;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderConstrainedOverflowBox: function RenderConstrainedOverflowBox(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._minWidth = t0;
      _._shifted_box$_maxWidth = t1;
      _._minHeight = t2;
      _._shifted_box$_maxHeight = t3;
      _._shifted_box$_resolvedAlignment = null;
      _._shifted_box$_alignment = t4;
      _._shifted_box$_textDirection = t5;
      _.RenderObjectWithChildMixin__child = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t7;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    SingleChildLayoutDelegate: function SingleChildLayoutDelegate() {
    },
    RenderCustomSingleChildLayoutBox: function RenderCustomSingleChildLayoutBox(t0, t1, t2) {
      var _ = this;
      _._shifted_box$_delegate = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderShiftedBox_RenderBox_RenderObjectWithChildMixin: function _RenderShiftedBox_RenderBox_RenderObjectWithChildMixin() {
    },
    applyGrowthDirectionToAxisDirection(axisDirection, growthDirection) {
      switch (growthDirection.index) {
        case 0:
          return axisDirection;
        case 1:
          return A.flipAxisDirection(axisDirection);
      }
    },
    applyGrowthDirectionToScrollDirection(scrollDirection, growthDirection) {
      switch (growthDirection.index) {
        case 0:
          return scrollDirection;
        case 1:
          return A.flipScrollDirection(scrollDirection);
      }
    },
    SliverGeometry$(cacheExtent, hasVisualOverflow, hitTestExtent, layoutExtent, maxPaintExtent, paintExtent, paintOrigin, scrollExtent, scrollOffsetCorrection) {
      var t1 = layoutExtent == null ? paintExtent : layoutExtent,
        t2 = hitTestExtent == null ? paintExtent : hitTestExtent,
        t3 = cacheExtent == null ? layoutExtent : cacheExtent;
      if (t3 == null)
        t3 = paintExtent;
      return new A.SliverGeometry(scrollExtent, paintOrigin, paintExtent, t1, maxPaintExtent, t2, paintExtent > 0, hasVisualOverflow, scrollOffsetCorrection, t3);
    },
    GrowthDirection: function GrowthDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SliverConstraints: function SliverConstraints(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.axisDirection = t0;
      _.growthDirection = t1;
      _.userScrollDirection = t2;
      _.scrollOffset = t3;
      _.precedingScrollExtent = t4;
      _.overlap = t5;
      _.remainingPaintExtent = t6;
      _.crossAxisExtent = t7;
      _.crossAxisDirection = t8;
      _.viewportMainAxisExtent = t9;
      _.cacheOrigin = t10;
      _.remainingCacheExtent = t11;
    },
    SliverGeometry: function SliverGeometry(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.scrollExtent = t0;
      _.paintOrigin = t1;
      _.paintExtent = t2;
      _.layoutExtent = t3;
      _.maxPaintExtent = t4;
      _.hitTestExtent = t5;
      _.visible = t6;
      _.hasVisualOverflow = t7;
      _.scrollOffsetCorrection = t8;
      _.cacheExtent = t9;
    },
    SliverHitTestResult: function SliverHitTestResult(t0, t1, t2) {
      this._path = t0;
      this._transforms = t1;
      this._localTransforms = t2;
    },
    SliverHitTestEntry: function SliverHitTestEntry(t0, t1, t2) {
      var _ = this;
      _.mainAxisPosition = t0;
      _.crossAxisPosition = t1;
      _.target = t2;
      _._transform = null;
    },
    SliverLogicalParentData: function SliverLogicalParentData() {
    },
    SliverLogicalContainerParentData: function SliverLogicalContainerParentData(t0, t1) {
      this.ContainerParentDataMixin_previousSibling = t0;
      this.ContainerParentDataMixin_nextSibling = t1;
      this.layoutOffset = null;
    },
    SliverPhysicalParentData: function SliverPhysicalParentData(t0) {
      this.paintOffset = t0;
    },
    SliverPhysicalContainerParentData: function SliverPhysicalContainerParentData(t0, t1, t2) {
      this.ContainerParentDataMixin_previousSibling = t0;
      this.ContainerParentDataMixin_nextSibling = t1;
      this.paintOffset = t2;
    },
    RenderSliver: function RenderSliver() {
    },
    RenderSliverHelpers: function RenderSliverHelpers() {
    },
    RenderSliverHelpers_hitTestBoxChild_closure: function RenderSliverHelpers_hitTestBoxChild_closure(t0, t1) {
      this._box_0 = t0;
      this.child = t1;
    },
    _SliverGeometry_Object_Diagnosticable: function _SliverGeometry_Object_Diagnosticable() {
    },
    _SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin: function _SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin() {
    },
    _SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin: function _SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin() {
    },
    RenderSliverFillViewport: function RenderSliverFillViewport(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._sliver_fill0$_viewportFraction = t0;
      _._childManager = t1;
      _._keepAliveBucket = t2;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t3;
      _.ContainerRenderObjectMixin__firstChild = t4;
      _.ContainerRenderObjectMixin__lastChild = t5;
      _._geometry = null;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t6;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderSliverFixedExtentBoxAdaptor: function RenderSliverFixedExtentBoxAdaptor() {
    },
    RenderSliverFixedExtentList: function RenderSliverFixedExtentList(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._itemExtent = t0;
      _._childManager = t1;
      _._keepAliveBucket = t2;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t3;
      _.ContainerRenderObjectMixin__firstChild = t4;
      _.ContainerRenderObjectMixin__lastChild = t5;
      _._geometry = null;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t6;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderSliverList: function RenderSliverList(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._childManager = t0;
      _._keepAliveBucket = t1;
      _.__RenderSliverMultiBoxAdaptor__debugDanglingKeepAlives = $;
      _._debugChildIntegrityEnabled = true;
      _.ContainerRenderObjectMixin__childCount = t2;
      _.ContainerRenderObjectMixin__firstChild = t3;
      _.ContainerRenderObjectMixin__lastChild = t4;
      _._geometry = null;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t5;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderSliverList_performLayout_advance: function RenderSliverList_performLayout_advance(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.childConstraints = t2;
    },
    KeepAliveParentDataMixin: function KeepAliveParentDataMixin() {
    },
    RenderSliverWithKeepAliveMixin: function RenderSliverWithKeepAliveMixin() {
    },
    SliverMultiBoxAdaptorParentData: function SliverMultiBoxAdaptorParentData(t0, t1, t2) {
      var _ = this;
      _.index = null;
      _._keptAlive = false;
      _.KeepAliveParentDataMixin_keepAlive = t0;
      _.ContainerParentDataMixin_previousSibling = t1;
      _.ContainerParentDataMixin_nextSibling = t2;
      _.layoutOffset = null;
    },
    RenderSliverMultiBoxAdaptor: function RenderSliverMultiBoxAdaptor() {
    },
    RenderSliverMultiBoxAdaptor__createOrObtainChild_closure: function RenderSliverMultiBoxAdaptor__createOrObtainChild_closure(t0, t1, t2) {
      this.$this = t0;
      this.index = t1;
      this.after = t2;
    },
    RenderSliverMultiBoxAdaptor_collectGarbage_closure: function RenderSliverMultiBoxAdaptor_collectGarbage_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    RenderSliverMultiBoxAdaptor_collectGarbage__closure: function RenderSliverMultiBoxAdaptor_collectGarbage__closure() {
    },
    _RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin: function _RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin() {
    },
    _RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers: function _RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers() {
    },
    _RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin: function _RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin() {
    },
    _SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin: function _SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin() {
    },
    _SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin: function _SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin() {
    },
    RenderSliverEdgeInsetsPadding: function RenderSliverEdgeInsetsPadding() {
    },
    RenderSliverPadding: function RenderSliverPadding(t0, t1, t2, t3) {
      var _ = this;
      _._sliver_padding$_resolvedPadding = null;
      _._sliver_padding$_padding = t0;
      _._sliver_padding$_textDirection = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._geometry = null;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin: function _RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin() {
    },
    RelativeRect_RelativeRect$fromRect(rect, container) {
      return new A.RelativeRect(rect.left - container.left, rect.top - container.top, container.right - rect.right, container.bottom - rect.bottom);
    },
    RenderStack$(alignment, children, clipBehavior, fit, textDirection) {
      var t1 = new A.RenderStack(alignment, textDirection, fit, clipBehavior, A.LayerHandle$(type$.ClipRectLayer), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, children);
      return t1;
    },
    RenderStack_getIntrinsicDimension(firstChild, mainChildSizeGetter) {
      var t1, child, extent, t2;
      for (t1 = type$.StackParentData, child = firstChild, extent = 0; child != null;) {
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        if (!t2.get$isPositioned())
          extent = Math.max(extent, A.checkNum(mainChildSizeGetter.call$1(child)));
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      return extent;
    },
    RenderStack_layoutPositionedChild(child, childParentData, size, alignment) {
      var t2, childConstraints, x, hasVisualOverflow, y,
        t1 = childParentData.left;
      if (t1 != null && childParentData.right != null) {
        t2 = childParentData.right;
        t2.toString;
        t1.toString;
        childConstraints = B.BoxConstraints_mlX.tighten$1$width(size._dx - t2 - t1);
      } else {
        t1 = childParentData.width;
        childConstraints = t1 != null ? B.BoxConstraints_mlX.tighten$1$width(t1) : B.BoxConstraints_mlX;
      }
      t1 = childParentData.top;
      if (t1 != null && childParentData.bottom != null) {
        t2 = childParentData.bottom;
        t2.toString;
        t1.toString;
        childConstraints = childConstraints.tighten$1$height(size._dy - t2 - t1);
      } else {
        t1 = childParentData.height;
        if (t1 != null)
          childConstraints = childConstraints.tighten$1$height(t1);
      }
      child.layout$2$parentUsesSize(childConstraints, true);
      x = childParentData.left;
      if (!(x != null)) {
        t1 = childParentData.right;
        t2 = child._box$_size;
        if (t1 != null)
          x = size._dx - t1 - t2._dx;
        else {
          t2.toString;
          x = alignment.alongOffset$1(type$.Offset._as(size.$sub(0, t2)))._dx;
        }
      }
      hasVisualOverflow = (x < 0 || x + child._box$_size._dx > size._dx) && true;
      y = childParentData.top;
      if (!(y != null)) {
        t1 = childParentData.bottom;
        t2 = child._box$_size;
        if (t1 != null)
          y = size._dy - t1 - t2._dy;
        else {
          t2.toString;
          y = alignment.alongOffset$1(type$.Offset._as(size.$sub(0, t2)))._dy;
        }
      }
      if (y < 0 || y + child._box$_size._dy > size._dy)
        hasVisualOverflow = true;
      childParentData.offset = new A.Offset(x, y);
      return hasVisualOverflow;
    },
    RelativeRect: function RelativeRect(t0, t1, t2, t3) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
    },
    StackParentData: function StackParentData(t0, t1, t2) {
      var _ = this;
      _.height = _.width = _.left = _.bottom = _.right = _.top = null;
      _.ContainerParentDataMixin_previousSibling = t0;
      _.ContainerParentDataMixin_nextSibling = t1;
      _.offset = t2;
    },
    StackFit: function StackFit(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderStack: function RenderStack(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._hasVisualOverflow = false;
      _._resolvedAlignment = null;
      _._alignment = t0;
      _._stack$_textDirection = t1;
      _._fit = t2;
      _._clipBehavior = t3;
      _._clipRectLayer = t4;
      _.ContainerRenderObjectMixin__childCount = t5;
      _.ContainerRenderObjectMixin__firstChild = t6;
      _.ContainerRenderObjectMixin__lastChild = t7;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t8;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderStack_computeMinIntrinsicWidth_closure: function RenderStack_computeMinIntrinsicWidth_closure(t0) {
      this.height = t0;
    },
    RenderStack_computeMaxIntrinsicWidth_closure: function RenderStack_computeMaxIntrinsicWidth_closure(t0) {
      this.height = t0;
    },
    RenderStack_computeMinIntrinsicHeight_closure: function RenderStack_computeMinIntrinsicHeight_closure(t0) {
      this.width = t0;
    },
    RenderStack_computeMaxIntrinsicHeight_closure: function RenderStack_computeMaxIntrinsicHeight_closure(t0) {
      this.width = t0;
    },
    RenderIndexedStack: function RenderIndexedStack(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._stack$_index = t0;
      _._hasVisualOverflow = false;
      _._resolvedAlignment = null;
      _._alignment = t1;
      _._stack$_textDirection = t2;
      _._fit = t3;
      _._clipBehavior = t4;
      _._clipRectLayer = t5;
      _.ContainerRenderObjectMixin__childCount = t6;
      _.ContainerRenderObjectMixin__firstChild = t7;
      _.ContainerRenderObjectMixin__lastChild = t8;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t9;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderIndexedStack_hitTestChildren_closure: function RenderIndexedStack_hitTestChildren_closure(t0, t1, t2) {
      this.position = t0;
      this.childParentData = t1;
      this.child = t2;
    },
    _RenderStack_RenderBox_ContainerRenderObjectMixin: function _RenderStack_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    TableCellParentData: function TableCellParentData(t0) {
      this.y = this.verticalAlignment = null;
      this.offset = t0;
    },
    TableColumnWidth: function TableColumnWidth() {
    },
    IntrinsicColumnWidth: function IntrinsicColumnWidth(t0) {
      this._flex = t0;
    },
    FixedColumnWidth: function FixedColumnWidth(t0) {
      this.value = t0;
    },
    FlexColumnWidth: function FlexColumnWidth() {
    },
    TableCellVerticalAlignment: function TableCellVerticalAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RenderTable: function RenderTable(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._table0$_children = t0;
      _._columns = t1;
      _._rows = t2;
      _._columnWidths = t3;
      _._defaultColumnWidth = t4;
      _._table0$_textDirection = t5;
      _._table0$_border = t6;
      _._rowDecorationPainters = _._table0$_rowDecorations = null;
      _._table0$_configuration = t7;
      _._defaultVerticalAlignment = t8;
      _._table0$_textBaseline = t9;
      _._baselineDistance = null;
      _._rowTops = t10;
      _._columnLefts = null;
      _.__RenderTable__tableWidth = $;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t11;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderTable_computeDryLayout_closure: function RenderTable_computeDryLayout_closure() {
    },
    RenderTable_hitTestChildren_closure: function RenderTable_hitTestChildren_closure(t0, t1, t2) {
      this.position = t0;
      this.childParentData = t1;
      this.child = t2;
    },
    TableBorder_TableBorder$all(color, width) {
      var side = new A.BorderSide(color, width, B.BorderStyle_1, B.StrokeAlign_0);
      return new A.TableBorder(side, side, side, side, side, side, B.BorderRadius_tLn);
    },
    TableBorder: function TableBorder(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.top = t0;
      _.right = t1;
      _.bottom = t2;
      _.left = t3;
      _.horizontalInside = t4;
      _.verticalInside = t5;
      _.borderRadius = t6;
    },
    AlignmentGeometryTween: function AlignmentGeometryTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    ViewConfiguration: function ViewConfiguration(t0, t1) {
      this.size = t0;
      this.devicePixelRatio = t1;
    },
    RenderView: function RenderView(t0, t1, t2, t3, t4) {
      var _ = this;
      _._size = t0;
      _._configuration = t1;
      _._window = t2;
      _._rootTransform = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderView_RenderObject_RenderObjectWithChildMixin: function _RenderView_RenderObject_RenderObjectWithChildMixin() {
    },
    RenderAbstractViewport_of(object) {
      var t1, t2;
      for (t1 = type$.nullable_RenderObject, t2 = type$.RenderAbstractViewport; object != null;) {
        if (t2._is(object))
          return object;
        object = t1._as(object.get$parent(object));
      }
      return null;
    },
    RenderViewportBase_showInViewport(curve, descendant, duration, offset, rect, viewport) {
      var leadingEdgeOffset, trailingEdgeOffset, t1, t2, t3, targetOffset, transform;
      if (descendant == null)
        return rect;
      leadingEdgeOffset = viewport.getOffsetToReveal$3$rect(descendant, 0, rect);
      trailingEdgeOffset = viewport.getOffsetToReveal$3$rect(descendant, 1, rect);
      t1 = offset._pixels;
      t1.toString;
      t2 = leadingEdgeOffset.offset;
      t3 = trailingEdgeOffset.offset;
      if (t2 < t3)
        targetOffset = Math.abs(t1 - t2) < Math.abs(t1 - t3) ? leadingEdgeOffset : trailingEdgeOffset;
      else if (t1 > t2)
        targetOffset = leadingEdgeOffset;
      else {
        if (!(t1 < t3)) {
          t1 = viewport._node$_parent;
          t1.toString;
          transform = descendant.getTransformTo$1(0, type$.RenderObject._as(t1));
          return A.MatrixUtils_transformRect(transform, rect == null ? descendant.get$paintBounds() : rect);
        }
        targetOffset = trailingEdgeOffset;
      }
      offset.moveTo$3$curve$duration(0, targetOffset.offset, curve, duration);
      return targetOffset.rect;
    },
    CacheExtentStyle: function CacheExtentStyle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RevealedOffset: function RevealedOffset(t0, t1) {
      this.offset = t0;
      this.rect = t1;
    },
    RenderViewportBase: function RenderViewportBase() {
    },
    RenderViewportBase_visitChildrenForSemantics_closure: function RenderViewportBase_visitChildrenForSemantics_closure() {
    },
    RenderViewportBase_hitTestChildren_closure: function RenderViewportBase_hitTestChildren_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.child = t2;
      _.sliverResult = t3;
    },
    RenderViewport: function RenderViewport(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _._anchor = t0;
      _._viewport$_center = null;
      _.__RenderViewport__maxScrollExtent = _.__RenderViewport__minScrollExtent = $;
      _._viewport$_hasVisualOverflow = false;
      _._axisDirection = t1;
      _._crossAxisDirection = t2;
      _._viewport$_offset = t3;
      _._cacheExtent = t4;
      _._calculatedCacheExtent = null;
      _._cacheExtentStyle = t5;
      _._viewport$_clipBehavior = t6;
      _._viewport$_clipRectLayer = t7;
      _.ContainerRenderObjectMixin__childCount = t8;
      _.ContainerRenderObjectMixin__firstChild = t9;
      _.ContainerRenderObjectMixin__lastChild = t10;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t11;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    RenderShrinkWrappingViewport: function RenderShrinkWrappingViewport(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.__RenderShrinkWrappingViewport__shrinkWrapExtent = _.__RenderShrinkWrappingViewport__maxScrollExtent = $;
      _._viewport$_hasVisualOverflow = false;
      _._axisDirection = t0;
      _._crossAxisDirection = t1;
      _._viewport$_offset = t2;
      _._cacheExtent = t3;
      _._calculatedCacheExtent = null;
      _._cacheExtentStyle = t4;
      _._viewport$_clipBehavior = t5;
      _._viewport$_clipRectLayer = t6;
      _.ContainerRenderObjectMixin__childCount = t7;
      _.ContainerRenderObjectMixin__firstChild = t8;
      _.ContainerRenderObjectMixin__lastChild = t9;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t10;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderViewportBase_RenderBox_ContainerRenderObjectMixin: function _RenderViewportBase_RenderBox_ContainerRenderObjectMixin() {
    },
    flipScrollDirection(direction) {
      switch (direction.index) {
        case 0:
          return B.ScrollDirection_0;
        case 1:
          return B.ScrollDirection_2;
        case 2:
          return B.ScrollDirection_1;
      }
    },
    ScrollDirection: function ScrollDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ViewportOffset: function ViewportOffset() {
    },
    WrapAlignment: function WrapAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    WrapCrossAlignment: function WrapCrossAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _RunMetrics: function _RunMetrics(t0, t1, t2) {
      this.mainAxisExtent = t0;
      this.crossAxisExtent = t1;
      this.childCount = t2;
    },
    WrapParentData: function WrapParentData(t0, t1, t2) {
      var _ = this;
      _._runIndex = 0;
      _.ContainerParentDataMixin_previousSibling = t0;
      _.ContainerParentDataMixin_nextSibling = t1;
      _.offset = t2;
    },
    RenderWrap: function RenderWrap(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _._wrap$_direction = t0;
      _._wrap$_alignment = t1;
      _._wrap$_spacing = t2;
      _._runAlignment = t3;
      _._runSpacing = t4;
      _._wrap$_crossAxisAlignment = t5;
      _._wrap$_textDirection = t6;
      _._wrap$_verticalDirection = t7;
      _._wrap$_clipBehavior = t8;
      _._wrap$_hasVisualOverflow = false;
      _._wrap$_clipRectLayer = t9;
      _.ContainerRenderObjectMixin__childCount = t10;
      _.ContainerRenderObjectMixin__firstChild = t11;
      _.ContainerRenderObjectMixin__lastChild = t12;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t13;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderWrap_RenderBox_ContainerRenderObjectMixin: function _RenderWrap_RenderBox_ContainerRenderObjectMixin() {
    },
    _RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function _RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    timeDilation(value) {
      var t1;
      if ($._timeDilation === value)
        return;
      t1 = $.SchedulerBinding__instance;
      if (t1 != null)
        t1.resetEpoch$0();
      $._timeDilation = value;
    },
    SchedulerBinding__taskSorter(e1, e2) {
      return -B.JSInt_methods.compareTo$1(e1.priority, e2.priority);
    },
    defaultSchedulingStrategy(priority, scheduler) {
      if (scheduler.SchedulerBinding__transientCallbacks._length > 0)
        return priority >= 100000;
      return true;
    },
    _TaskEntry: function _TaskEntry(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.task = t0;
      _.priority = t1;
      _.debugLabel = t2;
      _.flow = t3;
      _.___TaskEntry_debugStack = $;
      _.completer = t4;
      _.$ti = t5;
    },
    _TaskEntry_run_closure: function _TaskEntry_run_closure(t0) {
      this.$this = t0;
    },
    _FrameCallbackEntry: function _FrameCallbackEntry(t0) {
      this.callback = t0;
      this.debugStack = null;
    },
    SchedulerPhase: function SchedulerPhase(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SchedulerBinding: function SchedulerBinding() {
    },
    SchedulerBinding_endOfFrame_closure: function SchedulerBinding_endOfFrame_closure(t0) {
      this.$this = t0;
    },
    SchedulerBinding_scheduleWarmUpFrame_closure: function SchedulerBinding_scheduleWarmUpFrame_closure(t0) {
      this.$this = t0;
    },
    SchedulerBinding_scheduleWarmUpFrame_closure0: function SchedulerBinding_scheduleWarmUpFrame_closure0(t0, t1) {
      this.$this = t0;
      this.hadScheduledFrame = t1;
    },
    SchedulerBinding_scheduleWarmUpFrame_closure1: function SchedulerBinding_scheduleWarmUpFrame_closure1(t0, t1) {
      this.$this = t0;
      this.timelineTask = t1;
    },
    SchedulerBinding__handleDrawFrame_closure: function SchedulerBinding__handleDrawFrame_closure(t0) {
      this.$this = t0;
    },
    SchedulerBinding_handleBeginFrame_closure: function SchedulerBinding_handleBeginFrame_closure(t0) {
      this.$this = t0;
    },
    Priority: function Priority(t0) {
      this._priority$_value = t0;
    },
    TickerFuture$complete() {
      var t1 = new A.TickerFuture(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void));
      t1._ticker$_complete$0();
      return t1;
    },
    Ticker: function Ticker(t0, t1) {
      var _ = this;
      _._ticker$_future = null;
      _._muted = false;
      _._startTime = null;
      _._onTick = t0;
      _._animationId = null;
      _.debugLabel = t1;
      _.__Ticker__debugCreationStack = $;
    },
    TickerFuture: function TickerFuture(t0) {
      this._primaryCompleter = t0;
      this._completed = this._secondaryCompleter = null;
    },
    TickerFuture_whenCompleteOrCancel_thunk: function TickerFuture_whenCompleteOrCancel_thunk(t0) {
      this.callback = t0;
    },
    TickerCanceled: function TickerCanceled(t0) {
      this.ticker = t0;
    },
    SemanticsBinding: function SemanticsBinding() {
    },
    CustomSemanticsAction_getIdentifier(action) {
      var result = $.CustomSemanticsAction__ids.$index(0, action);
      if (result == null) {
        result = $.CustomSemanticsAction__nextId;
        $.CustomSemanticsAction__nextId = result + 1;
        $.CustomSemanticsAction__ids.$indexSet(0, action, result);
        $.CustomSemanticsAction__actions.$indexSet(0, result, action);
      }
      return result;
    },
    SemanticsData__sortedListsEqual(left, right) {
      var i;
      if (left.length !== right.length)
        return false;
      for (i = 0; i < left.length; ++i)
        if (!J.$eq$(left[i], right[i]))
          return false;
      return true;
    },
    _SemanticsDiagnosticableNode$(childOrder, $name, style, value) {
      return new A._SemanticsDiagnosticableNode(childOrder, value, $name, true, true, null, style);
    },
    SemanticsProperties$(attributedDecreasedValue, attributedHint, attributedIncreasedValue, attributedLabel, attributedValue, button, checked, currentValueLength, customSemanticsActions, decreasedValue, enabled, focusable, focused, header, hidden, hint, hintOverrides, image, inMutuallyExclusiveGroup, increasedValue, keyboardKey, label, link, liveRegion, maxValueLength, multiline, namesRoute, obscured, onCopy, onCut, onDecrease, onDidGainAccessibilityFocus, onDidLoseAccessibilityFocus, onDismiss, onIncrease, onLongPress, onMoveCursorBackwardByCharacter, onMoveCursorForwardByCharacter, onPaste, onScrollDown, onScrollLeft, onScrollRight, onScrollUp, onSetSelection, onSetText, onTap, readOnly, scopesRoute, selected, slider, sortKey, tagForChildren, textDirection, textField, toggled, tooltip, value) {
      return new A.SemanticsProperties(enabled, checked, toggled, selected, button, link, header, textField, slider, keyboardKey, readOnly, focusable, focused, inMutuallyExclusiveGroup, hidden, obscured, multiline, scopesRoute, namesRoute, image, liveRegion, maxValueLength, currentValueLength, label, attributedLabel, value, attributedValue, increasedValue, attributedIncreasedValue, decreasedValue, attributedDecreasedValue, hint, attributedHint, tooltip, hintOverrides, textDirection, sortKey, tagForChildren, onTap, onLongPress, onScrollLeft, onScrollRight, onScrollUp, onScrollDown, onIncrease, onDecrease, onCopy, onCut, onPaste, onMoveCursorForwardByCharacter, onMoveCursorBackwardByCharacter, onSetSelection, onSetText, onDidGainAccessibilityFocus, onDidLoseAccessibilityFocus, onDismiss, customSemanticsActions);
    },
    SemanticsNode$(key, showOnScreen) {
      var t15,
        t1 = $.$get$SemanticsNode__kEmptyConfig(),
        t2 = t1._isMergingSemanticsOfDescendants,
        t3 = t1._actions,
        t4 = t1._customSemanticsActions,
        t5 = t1._actionsAsBits,
        t6 = t1._flags,
        t7 = t1._attributedLabel,
        t8 = t1._attributedValue,
        t9 = t1._attributedIncreasedValue,
        t10 = t1._attributedDecreasedValue,
        t11 = t1._attributedHint,
        t12 = t1._tooltip,
        t13 = t1._elevation,
        t14 = t1._thickness;
      t1 = t1._textDirection;
      t15 = ($.SemanticsNode__lastIdentifier + 1) % 65535;
      $.SemanticsNode__lastIdentifier = t15;
      return new A.SemanticsNode(key, t15, showOnScreen, B.Rect_0_0_0_0, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t1);
    },
    _pointInParentCoordinates(node, point) {
      var t1, vector;
      if (node._semantics$_transform == null)
        return point;
      t1 = new Float64Array(3);
      vector = new A.Vector3(t1);
      vector.setValues$3(point._dx, point._dy, 0);
      node._semantics$_transform.transform3$1(vector);
      return new A.Offset(t1[0], t1[1]);
    },
    _childrenInDefaultOrder(children, textDirection) {
      var t1, _i, child, t2, verticalGroups, group, depth, edge,
        edges = A._setArrayType([], type$.JSArray__BoxEdge);
      for (t1 = children.length, _i = 0; _i < children.length; children.length === t1 || (0, A.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        t2 = child._rect;
        edges.push(new A._BoxEdge(true, A._pointInParentCoordinates(child, new A.Offset(t2.left - -0.1, t2.top - -0.1))._dy, child));
        edges.push(new A._BoxEdge(false, A._pointInParentCoordinates(child, new A.Offset(t2.right + -0.1, t2.bottom + -0.1))._dy, child));
      }
      B.JSArray_methods.sort$0(edges);
      verticalGroups = A._setArrayType([], type$.JSArray__SemanticsSortGroup);
      for (t1 = edges.length, t2 = type$.JSArray_SemanticsNode, group = null, depth = 0, _i = 0; _i < edges.length; edges.length === t1 || (0, A.throwConcurrentModificationError)(edges), ++_i) {
        edge = edges[_i];
        if (edge.isLeadingEdge) {
          ++depth;
          if (group == null)
            group = new A._SemanticsSortGroup(edge.offset, textDirection, A._setArrayType([], t2));
          group.nodes.push(edge.node);
        } else
          --depth;
        if (depth === 0) {
          group.toString;
          verticalGroups.push(group);
          group = null;
        }
      }
      B.JSArray_methods.sort$0(verticalGroups);
      t1 = type$.ExpandIterable__SemanticsSortGroup_SemanticsNode;
      return A.List_List$of(new A.ExpandIterable(verticalGroups, new A._childrenInDefaultOrder_closure(), t1), true, t1._eval$1("Iterable.E"));
    },
    SemanticsConfiguration$() {
      return new A.SemanticsConfiguration(A.LinkedHashMap_LinkedHashMap$_empty(type$.SemanticsAction, type$.void_Function_nullable_Object), A.LinkedHashMap_LinkedHashMap$_empty(type$.CustomSemanticsAction, type$.void_Function), new A.AttributedString("", B.List_empty2), new A.AttributedString("", B.List_empty2), new A.AttributedString("", B.List_empty2), new A.AttributedString("", B.List_empty2), new A.AttributedString("", B.List_empty2));
    },
    _concatAttributedString(otherAttributedString, otherTextDirection, thisAttributedString, thisTextDirection) {
      if (otherAttributedString.string.length === 0)
        return thisAttributedString;
      if (thisTextDirection != otherTextDirection && otherTextDirection != null)
        switch (otherTextDirection.index) {
          case 0:
            otherAttributedString = new A.AttributedString("\u202b", B.List_empty2).$add(0, otherAttributedString).$add(0, new A.AttributedString("\u202c", B.List_empty2));
            break;
          case 1:
            otherAttributedString = new A.AttributedString("\u202a", B.List_empty2).$add(0, otherAttributedString).$add(0, new A.AttributedString("\u202c", B.List_empty2));
            break;
        }
      if (thisAttributedString.string.length === 0)
        return otherAttributedString;
      return thisAttributedString.$add(0, new A.AttributedString("\n", B.List_empty2)).$add(0, otherAttributedString);
    },
    SemanticsTag: function SemanticsTag(t0) {
      this.name = t0;
    },
    AttributedString: function AttributedString(t0, t1) {
      this.string = t0;
      this.attributes = t1;
    },
    SemanticsData: function SemanticsData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23) {
      var _ = this;
      _.flags = t0;
      _.actions = t1;
      _.attributedLabel = t2;
      _.attributedValue = t3;
      _.attributedIncreasedValue = t4;
      _.attributedDecreasedValue = t5;
      _.attributedHint = t6;
      _.tooltip = t7;
      _.textDirection = t8;
      _.textSelection = t9;
      _.scrollChildCount = t10;
      _.scrollIndex = t11;
      _.scrollPosition = t12;
      _.scrollExtentMax = t13;
      _.scrollExtentMin = t14;
      _.platformViewId = t15;
      _.maxValueLength = t16;
      _.currentValueLength = t17;
      _.rect = t18;
      _.tags = t19;
      _.transform = t20;
      _.elevation = t21;
      _.thickness = t22;
      _.customSemanticsActionIds = t23;
    },
    _SemanticsDiagnosticableNode: function _SemanticsDiagnosticableNode(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.childOrder = t0;
      _.value = t1;
      _._cachedBuilder = null;
      _.name = t2;
      _.showSeparator = t3;
      _.showName = t4;
      _.linePrefix = t5;
      _.style = t6;
    },
    SemanticsProperties: function SemanticsProperties(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, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56) {
      var _ = this;
      _.enabled = t0;
      _.checked = t1;
      _.toggled = t2;
      _.selected = t3;
      _.button = t4;
      _.link = t5;
      _.header = t6;
      _.textField = t7;
      _.slider = t8;
      _.keyboardKey = t9;
      _.readOnly = t10;
      _.focusable = t11;
      _.focused = t12;
      _.inMutuallyExclusiveGroup = t13;
      _.hidden = t14;
      _.obscured = t15;
      _.multiline = t16;
      _.scopesRoute = t17;
      _.namesRoute = t18;
      _.image = t19;
      _.liveRegion = t20;
      _.maxValueLength = t21;
      _.currentValueLength = t22;
      _.label = t23;
      _.attributedLabel = t24;
      _.value = t25;
      _.attributedValue = t26;
      _.increasedValue = t27;
      _.attributedIncreasedValue = t28;
      _.decreasedValue = t29;
      _.attributedDecreasedValue = t30;
      _.hint = t31;
      _.attributedHint = t32;
      _.tooltip = t33;
      _.hintOverrides = t34;
      _.textDirection = t35;
      _.sortKey = t36;
      _.tagForChildren = t37;
      _.onTap = t38;
      _.onLongPress = t39;
      _.onScrollLeft = t40;
      _.onScrollRight = t41;
      _.onScrollUp = t42;
      _.onScrollDown = t43;
      _.onIncrease = t44;
      _.onDecrease = t45;
      _.onCopy = t46;
      _.onCut = t47;
      _.onPaste = t48;
      _.onMoveCursorForwardByCharacter = t49;
      _.onMoveCursorBackwardByCharacter = t50;
      _.onSetSelection = t51;
      _.onSetText = t52;
      _.onDidGainAccessibilityFocus = t53;
      _.onDidLoseAccessibilityFocus = t54;
      _.onDismiss = t55;
      _.customSemanticsActions = t56;
    },
    SemanticsNode: function SemanticsNode(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _.key = t0;
      _._id = t1;
      _._showOnScreen = t2;
      _._semantics$_transform = null;
      _._rect = t3;
      _.indexInParent = _.elevationAdjustment = _.parentPaintClipRect = _.parentSemanticsClipRect = null;
      _._isMergedIntoParent = false;
      _._mergeAllDescendantsIntoThisNode = t4;
      _._semantics$_children = null;
      _.__SemanticsNode__debugPreviousSnapshot = $;
      _._semantics$_dirty = _._dead = false;
      _._actions = t5;
      _._customSemanticsActions = t6;
      _._actionsAsBits = t7;
      _.tags = null;
      _._flags = t8;
      _._attributedLabel = t9;
      _._attributedValue = t10;
      _._attributedIncreasedValue = t11;
      _._attributedDecreasedValue = t12;
      _._attributedHint = t13;
      _._tooltip = t14;
      _._elevation = t15;
      _._thickness = t16;
      _._hintOverrides = null;
      _._textDirection = t17;
      _._currentValueLength = _._maxValueLength = _._platformViewId = _._scrollExtentMin = _._scrollExtentMax = _._scrollPosition = _._scrollIndex = _._scrollChildCount = _._textSelection = _._sortKey = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    SemanticsNode_getSemanticsData_closure: function SemanticsNode_getSemanticsData_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.customSemanticsActionIds = t2;
    },
    SemanticsNode__childrenInTraversalOrder_closure: function SemanticsNode__childrenInTraversalOrder_closure() {
    },
    SemanticsNode_debugDescribeChildren_closure: function SemanticsNode_debugDescribeChildren_closure(t0) {
      this.childOrder = t0;
    },
    _BoxEdge: function _BoxEdge(t0, t1, t2) {
      this.isLeadingEdge = t0;
      this.offset = t1;
      this.node = t2;
    },
    _SemanticsSortGroup: function _SemanticsSortGroup(t0, t1, t2) {
      this.startOffset = t0;
      this.textDirection = t1;
      this.nodes = t2;
    },
    _SemanticsSortGroup_sortedWithinVerticalGroup_closure: function _SemanticsSortGroup_sortedWithinVerticalGroup_closure() {
    },
    _SemanticsSortGroup_sortedWithinKnot_closure: function _SemanticsSortGroup_sortedWithinKnot_closure() {
    },
    _SemanticsSortGroup_sortedWithinKnot_search: function _SemanticsSortGroup_sortedWithinKnot_search(t0, t1, t2) {
      this.visitedIds = t0;
      this.edges = t1;
      this.sortedIds = t2;
    },
    _SemanticsSortGroup_sortedWithinKnot_closure0: function _SemanticsSortGroup_sortedWithinKnot_closure0() {
    },
    _SemanticsSortGroup_sortedWithinKnot_closure1: function _SemanticsSortGroup_sortedWithinKnot_closure1(t0) {
      this.nodeMap = t0;
    },
    _childrenInDefaultOrder_closure: function _childrenInDefaultOrder_closure() {
    },
    _TraversalSortNode: function _TraversalSortNode(t0, t1, t2) {
      this.node = t0;
      this.sortKey = t1;
      this.position = t2;
    },
    SemanticsOwner: function SemanticsOwner(t0, t1, t2, t3) {
      var _ = this;
      _._dirtyNodes = t0;
      _._nodes = t1;
      _._detachedNodes = t2;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t3;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    SemanticsOwner_sendSemanticsUpdate_closure: function SemanticsOwner_sendSemanticsUpdate_closure(t0) {
      this.$this = t0;
    },
    SemanticsOwner_sendSemanticsUpdate_closure0: function SemanticsOwner_sendSemanticsUpdate_closure0() {
    },
    SemanticsOwner_sendSemanticsUpdate_closure1: function SemanticsOwner_sendSemanticsUpdate_closure1() {
    },
    SemanticsOwner__getSemanticsActionHandlerForId_closure: function SemanticsOwner__getSemanticsActionHandlerForId_closure(t0, t1) {
      this._box_0 = t0;
      this.action = t1;
    },
    SemanticsConfiguration: function SemanticsConfiguration(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._hasBeenAnnotated = _.isBlockingSemanticsOfPreviouslyPaintedNodes = _.explicitChildNodes = _._isSemanticBoundary = false;
      _._actions = t0;
      _._actionsAsBits = 0;
      _._currentValueLength = _._maxValueLength = _._platformViewId = _._scrollIndex = _._scrollChildCount = _._indexInParent = _._sortKey = _._onTap = null;
      _._isMergingSemanticsOfDescendants = false;
      _._customSemanticsActions = t1;
      _._attributedLabel = t2;
      _._attributedValue = t3;
      _._attributedIncreasedValue = t4;
      _._attributedDecreasedValue = t5;
      _._attributedHint = t6;
      _._tooltip = "";
      _._hintOverrides = null;
      _._thickness = _._elevation = 0;
      _._tagsForChildren = _._scrollExtentMin = _._scrollExtentMax = _._scrollPosition = _._textSelection = _._textDirection = null;
      _._flags = 0;
    },
    SemanticsConfiguration__addArgumentlessAction_closure: function SemanticsConfiguration__addArgumentlessAction_closure(t0) {
      this.handler = t0;
    },
    SemanticsConfiguration_onMoveCursorForwardByCharacter_closure: function SemanticsConfiguration_onMoveCursorForwardByCharacter_closure(t0) {
      this.value = t0;
    },
    SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure: function SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure(t0) {
      this.value = t0;
    },
    SemanticsConfiguration_onMoveCursorForwardByWord_closure: function SemanticsConfiguration_onMoveCursorForwardByWord_closure(t0) {
      this.value = t0;
    },
    SemanticsConfiguration_onMoveCursorBackwardByWord_closure: function SemanticsConfiguration_onMoveCursorBackwardByWord_closure(t0) {
      this.value = t0;
    },
    SemanticsConfiguration_onSetSelection_closure: function SemanticsConfiguration_onSetSelection_closure(t0) {
      this.value = t0;
    },
    SemanticsConfiguration_onSetText_closure: function SemanticsConfiguration_onSetText_closure(t0) {
      this.value = t0;
    },
    DebugSemanticsDumpOrder: function DebugSemanticsDumpOrder(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SemanticsSortKey: function SemanticsSortKey() {
    },
    OrdinalSortKey: function OrdinalSortKey(t0, t1) {
      this.order = t0;
      this.name = t1;
    },
    _SemanticsData_Object_Diagnosticable: function _SemanticsData_Object_Diagnosticable() {
    },
    _SemanticsNode_AbstractNode_DiagnosticableTreeMixin: function _SemanticsNode_AbstractNode_DiagnosticableTreeMixin() {
    },
    _SemanticsSortKey_Object_Diagnosticable: function _SemanticsSortKey_Object_Diagnosticable() {
    },
    SemanticsEvent: function SemanticsEvent() {
    },
    TooltipSemanticsEvent: function TooltipSemanticsEvent(t0, t1) {
      this.message = t0;
      this.type = t1;
    },
    LongPressSemanticsEvent: function LongPressSemanticsEvent(t0) {
      this.type = t0;
    },
    TapSemanticEvent: function TapSemanticEvent(t0) {
      this.type = t0;
    },
    AssetBundle__utf8decode(data) {
      return B.Utf8Codec_false.decode$1(0, A.NativeUint8List_NativeUint8List$view(data.buffer, 0, null));
    },
    AssetBundle: function AssetBundle() {
    },
    CachingAssetBundle: function CachingAssetBundle() {
    },
    CachingAssetBundle_loadString_closure: function CachingAssetBundle_loadString_closure(t0, t1) {
      this.$this = t0;
      this.key = t1;
    },
    CachingAssetBundle_loadStructuredData_closure: function CachingAssetBundle_loadStructuredData_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.key = t2;
      _.T = t3;
    },
    PlatformAssetBundle: function PlatformAssetBundle(t0, t1) {
      this._stringCache = t0;
      this._structuredDataCache = t1;
    },
    AutofillConfiguration: function AutofillConfiguration(t0, t1, t2, t3, t4) {
      var _ = this;
      _.enabled = t0;
      _.uniqueIdentifier = t1;
      _.autofillHints = t2;
      _.currentEditingValue = t3;
      _.hintText = t4;
    },
    BinaryMessenger: function BinaryMessenger() {
    },
    ServicesBinding__parseLicenses(rawLicenses) {
      var _i, license, t2, split,
        t1 = B.JSString_methods.$mul("-", 80),
        result = A._setArrayType([], type$.JSArray_LicenseEntry),
        licenses = rawLicenses.split("\n" + t1 + "\n");
      for (t1 = licenses.length, _i = 0; _i < t1; ++_i) {
        license = licenses[_i];
        t2 = J.getInterceptor$asx(license);
        split = t2.indexOf$1(license, "\n\n");
        if (split >= 0) {
          t2.substring$2(license, 0, split).split("\n");
          t2.substring$1(license, split + 2);
          result.push(new A.LicenseEntryWithLineBreaks());
        } else
          result.push(new A.LicenseEntryWithLineBreaks());
      }
      return result;
    },
    ServicesBinding__parseAppLifecycleMessage(message) {
      switch (message) {
        case "AppLifecycleState.paused":
          return B.AppLifecycleState_2;
        case "AppLifecycleState.resumed":
          return B.AppLifecycleState_0;
        case "AppLifecycleState.inactive":
          return B.AppLifecycleState_1;
        case "AppLifecycleState.detached":
          return B.AppLifecycleState_3;
      }
      return null;
    },
    ServicesBinding: function ServicesBinding() {
    },
    ServicesBinding__addLicenses_closure: function ServicesBinding__addLicenses_closure(t0) {
      this.controller = t0;
    },
    _DefaultBinaryMessenger: function _DefaultBinaryMessenger() {
    },
    _DefaultBinaryMessenger_send_closure: function _DefaultBinaryMessenger_send_closure(t0) {
      this.completer = t0;
    },
    _DefaultBinaryMessenger_setMessageHandler_closure: function _DefaultBinaryMessenger_setMessageHandler_closure(t0) {
      this.handler = t0;
    },
    Clipboard_setData(data) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$Clipboard_setData = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$2("Clipboard.setData", A.LinkedHashMap_LinkedHashMap$_literal(["text", data.text], type$.String, type$.dynamic), type$.void), $async$Clipboard_setData);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$Clipboard_setData, $async$completer);
    },
    Clipboard_getData(format) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ClipboardData),
        $async$returnValue, result;
      var $async$Clipboard_getData = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$2("Clipboard.getData", format, type$.Map_String_dynamic), $async$Clipboard_getData);
            case 3:
              // returning from await.
              result = $async$result;
              if (result == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = new A.ClipboardData(A._asStringQ(J.$index$asx(result, "text")));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$Clipboard_getData, $async$completer);
    },
    ClipboardData: function ClipboardData(t0) {
      this.text = t0;
    },
    KeyEventManager__eventFromData(keyData) {
      var logicalKey, timeStamp,
        t1 = keyData.physical,
        physicalKey = B.Map_Q5S3m.$index(0, t1);
      if (physicalKey == null)
        physicalKey = new A.PhysicalKeyboardKey(t1);
      t1 = keyData.logical;
      logicalKey = B.Map_mUsBb.$index(0, t1);
      if (logicalKey == null)
        logicalKey = new A.LogicalKeyboardKey(t1);
      timeStamp = keyData.timeStamp;
      switch (keyData.type.index) {
        case 0:
          return new A.KeyDownEvent(physicalKey, logicalKey, keyData.character, timeStamp, keyData.synthesized);
        case 1:
          return new A.KeyUpEvent(physicalKey, logicalKey, null, timeStamp, keyData.synthesized);
        case 2:
          return new A.KeyRepeatEvent(physicalKey, logicalKey, keyData.character, timeStamp, false);
      }
    },
    KeyboardLockMode: function KeyboardLockMode(t0) {
      this.logicalKey = t0;
    },
    KeyEvent: function KeyEvent() {
    },
    KeyDownEvent: function KeyDownEvent(t0, t1, t2, t3, t4) {
      var _ = this;
      _.physicalKey = t0;
      _.logicalKey = t1;
      _.character = t2;
      _.timeStamp = t3;
      _.synthesized = t4;
    },
    KeyUpEvent: function KeyUpEvent(t0, t1, t2, t3, t4) {
      var _ = this;
      _.physicalKey = t0;
      _.logicalKey = t1;
      _.character = t2;
      _.timeStamp = t3;
      _.synthesized = t4;
    },
    KeyRepeatEvent: function KeyRepeatEvent(t0, t1, t2, t3, t4) {
      var _ = this;
      _.physicalKey = t0;
      _.logicalKey = t1;
      _.character = t2;
      _.timeStamp = t3;
      _.synthesized = t4;
    },
    HardwareKeyboard: function HardwareKeyboard(t0, t1, t2) {
      var _ = this;
      _._pressedKeys = t0;
      _._lockModes = t1;
      _._handlers = t2;
      _._duringDispatch = false;
      _._modifiedHandlers = null;
    },
    KeyDataTransitMode: function KeyDataTransitMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    KeyMessage: function KeyMessage(t0, t1) {
      this.events = t0;
      this.rawEvent = t1;
    },
    KeyEventManager: function KeyEventManager(t0, t1, t2, t3) {
      var _ = this;
      _.keyMessageHandler = null;
      _._hardwareKeyboard = t0;
      _._rawKeyboard = t1;
      _._transitMode = null;
      _._keyEventsSinceLastMessage = t2;
      _._skippedRawKeysPressed = t3;
    },
    _KeyEvent_Object_Diagnosticable: function _KeyEvent_Object_Diagnosticable() {
    },
    LogicalKeyboardKey__nonValueBits(n) {
      var t1 = B.JSNumber_methods.floor$0(n / 4294967296);
      return t1 & 1048575;
    },
    LogicalKeyboardKey__unicodeKeyLabel(keyId) {
      if (A.LogicalKeyboardKey__nonValueBits(keyId) === 0)
        return A.Primitives_stringFromCharCode(keyId).toUpperCase();
      return null;
    },
    LogicalKeyboardKey_collapseSynonyms(input) {
      var t1, t2, synonym,
        result = A.LinkedHashSet_LinkedHashSet$_empty(type$.LogicalKeyboardKey);
      for (t1 = input.get$iterator(input); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        synonym = $.$get$LogicalKeyboardKey__synonyms().$index(0, t2);
        result.add$1(0, synonym == null ? t2 : synonym);
      }
      return result;
    },
    KeyboardKey: function KeyboardKey() {
    },
    LogicalKeyboardKey: function LogicalKeyboardKey(t0) {
      this.keyId = t0;
    },
    PhysicalKeyboardKey: function PhysicalKeyboardKey(t0) {
      this.usbHidUsage = t0;
    },
    _KeyboardKey_Object_Diagnosticable: function _KeyboardKey_Object_Diagnosticable() {
    },
    PlatformException$(code, details, message, stacktrace) {
      return new A.PlatformException(code, message, details, stacktrace);
    },
    MissingPluginException$(message) {
      return new A.MissingPluginException(message);
    },
    MethodCall0: function MethodCall0(t0, t1) {
      this.method = t0;
      this.$arguments = t1;
    },
    PlatformException: function PlatformException(t0, t1, t2, t3) {
      var _ = this;
      _.code = t0;
      _.message = t1;
      _.details = t2;
      _.stacktrace = t3;
    },
    MissingPluginException: function MissingPluginException(t0) {
      this.message = t0;
    },
    StringCodec: function StringCodec() {
    },
    JSONMessageCodec0: function JSONMessageCodec0() {
    },
    JSONMethodCodec0: function JSONMethodCodec0() {
    },
    StandardMessageCodec0: function StandardMessageCodec0() {
    },
    StandardMessageCodec_writeValue_closure: function StandardMessageCodec_writeValue_closure(t0, t1) {
      this.$this = t0;
      this.buffer = t1;
    },
    StandardMethodCodec0: function StandardMethodCodec0() {
    },
    _DeferringMouseCursor_firstNonDeferred(cursors) {
      var t1, t2, t3;
      for (t1 = A._instanceType(cursors), t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(cursors.__internal$_iterable), cursors._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1]; t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        if (t3 == null)
          t3 = t1._as(t3);
        if (!t3.$eq(0, B.C__DeferringMouseCursor))
          return t3;
      }
      return null;
    },
    MouseCursorManager: function MouseCursorManager(t0, t1) {
      this.fallbackMouseCursor = t0;
      this._lastSession = t1;
    },
    MouseCursorSession: function MouseCursorSession() {
    },
    MouseCursor0: function MouseCursor0() {
    },
    _DeferringMouseCursor: function _DeferringMouseCursor() {
    },
    _SystemMouseCursorSession: function _SystemMouseCursorSession(t0, t1) {
      this.cursor = t0;
      this.device = t1;
    },
    SystemMouseCursor: function SystemMouseCursor(t0) {
      this.kind = t0;
    },
    _MouseCursor_Object_Diagnosticable: function _MouseCursor_Object_Diagnosticable() {
    },
    BasicMessageChannel: function BasicMessageChannel(t0, t1, t2) {
      this.name = t0;
      this.codec = t1;
      this.$ti = t2;
    },
    BasicMessageChannel_setMessageHandler_closure: function BasicMessageChannel_setMessageHandler_closure(t0, t1) {
      this.$this = t0;
      this.handler = t1;
    },
    MethodChannel: function MethodChannel(t0, t1) {
      this.name = t0;
      this.codec = t1;
    },
    MethodChannel_setMethodCallHandler_closure: function MethodChannel_setMethodCallHandler_closure(t0, t1) {
      this.$this = t0;
      this.handler = t1;
    },
    OptionalMethodChannel: function OptionalMethodChannel(t0, t1) {
      this.name = t0;
      this.codec = t1;
    },
    RawKeyEvent_RawKeyEvent$fromMessage(message) {
      var data, t1, t2, repeat, _box_0 = {};
      _box_0.character = null;
      data = new A.RawKeyEvent_RawKeyEvent$fromMessage_dataFromWeb(_box_0, message).call$0();
      t1 = $.$get$RawKeyboard_instance()._keysPressed;
      t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
      repeat = A.LinkedHashSet_LinkedHashSet$of(new A.LinkedHashMapKeyIterable(t1, t2), t2._eval$1("Iterable.E")).contains$1(0, data.get$physicalKey());
      t2 = J.$index$asx(message, "type");
      t2.toString;
      A._asString(t2);
      switch (t2) {
        case "keydown":
          return new A.RawKeyDownEvent(_box_0.character, repeat, data);
        case "keyup":
          return new A.RawKeyUpEvent(null, false, data);
        default:
          throw A.wrapException(A.FlutterError_FlutterError("Unknown key event type: " + t2));
      }
    },
    KeyboardSide: function KeyboardSide(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ModifierKey: function ModifierKey(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    RawKeyEventData: function RawKeyEventData() {
    },
    RawKeyEvent: function RawKeyEvent() {
    },
    RawKeyEvent_RawKeyEvent$fromMessage_dataFromWeb: function RawKeyEvent_RawKeyEvent$fromMessage_dataFromWeb(t0, t1) {
      this._box_0 = t0;
      this.message = t1;
    },
    RawKeyDownEvent: function RawKeyDownEvent(t0, t1, t2) {
      this.character = t0;
      this.repeat = t1;
      this.data = t2;
    },
    RawKeyUpEvent: function RawKeyUpEvent(t0, t1, t2) {
      this.character = t0;
      this.repeat = t1;
      this.data = t2;
    },
    RawKeyboard: function RawKeyboard(t0, t1) {
      this._raw_keyboard$_listeners = t0;
      this._keysPressed = t1;
    },
    RawKeyboard__synchronizeModifiers_closure: function RawKeyboard__synchronizeModifiers_closure(t0) {
      this.anySideKeys = t0;
    },
    _ModifierSidePair: function _ModifierSidePair(t0, t1) {
      this.modifier = t0;
      this.side = t1;
    },
    _RawKeyEvent_Object_Diagnosticable: function _RawKeyEvent_Object_Diagnosticable() {
    },
    _RawKeyEventData_Object_Diagnosticable: function _RawKeyEventData_Object_Diagnosticable() {
    },
    RawKeyEventDataFuchsia: function RawKeyEventDataFuchsia() {
    },
    RawKeyEventDataLinux: function RawKeyEventDataLinux() {
    },
    RawKeyEventDataMacOs: function RawKeyEventDataMacOs() {
    },
    _unicodeChar(key) {
      if (key.length === 1)
        return B.JSString_methods.substring$2(key, 0, 1);
      return null;
    },
    RawKeyEventDataWeb: function RawKeyEventDataWeb(t0, t1, t2, t3, t4) {
      var _ = this;
      _.code = t0;
      _.key = t1;
      _.location = t2;
      _.metaState = t3;
      _.keyCode = t4;
    },
    RestorationManager: function RestorationManager(t0, t1) {
      var _ = this;
      _._pendingRootBucket = _._rootBucket = null;
      _._serializationScheduled = _._debugDoingUpdate = _._isReplacing = _._rootBucketIsValid = false;
      _._bucketsNeedingSerialization = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    RestorationManager_handleRestorationUpdateFromEngine_closure: function RestorationManager_handleRestorationUpdateFromEngine_closure(t0) {
      this.$this = t0;
    },
    RestorationManager_scheduleSerializationFor_closure: function RestorationManager_scheduleSerializationFor_closure(t0) {
      this.$this = t0;
    },
    RestorationBucket: function RestorationBucket(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._rawData = t0;
      _._debugOwner = null;
      _._restoration$_manager = t1;
      _._restoration$_parent = t2;
      _._restorationId = t3;
      _._claimedChildren = t4;
      _._childrenToAdd = t5;
      _._debugDisposed = _._needsSerialization = false;
    },
    RestorationBucket__rawChildren_closure: function RestorationBucket__rawChildren_closure() {
    },
    RestorationBucket__rawValues_closure: function RestorationBucket__rawValues_closure() {
    },
    RestorationBucket__addChildData_closure: function RestorationBucket__addChildData_closure() {
    },
    RestorationBucket__visitChildren_closure: function RestorationBucket__visitChildren_closure() {
    },
    SystemChrome_setApplicationSwitcherDescription(description) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$SystemChrome_setApplicationSwitcherDescription = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$2(string$.System, A.LinkedHashMap_LinkedHashMap$_literal(["label", description.label, "primaryColor", description.primaryColor], type$.String, type$.dynamic), type$.void), $async$SystemChrome_setApplicationSwitcherDescription);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$SystemChrome_setApplicationSwitcherDescription, $async$completer);
    },
    SystemChrome_setSystemUIOverlayStyle(style) {
      if ($.SystemChrome__pendingStyle != null) {
        $.SystemChrome__pendingStyle = style;
        return;
      }
      if (style.$eq(0, $.SystemChrome__latestStyle))
        return;
      $.SystemChrome__pendingStyle = style;
      A.scheduleMicrotask(new A.SystemChrome_setSystemUIOverlayStyle_closure());
    },
    ApplicationSwitcherDescription: function ApplicationSwitcherDescription(t0, t1) {
      this.label = t0;
      this.primaryColor = t1;
    },
    SystemUiOverlayStyle: function SystemUiOverlayStyle(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.systemNavigationBarColor = t0;
      _.systemNavigationBarDividerColor = t1;
      _.systemNavigationBarIconBrightness = t2;
      _.systemNavigationBarContrastEnforced = t3;
      _.statusBarColor = t4;
      _.statusBarBrightness = t5;
      _.statusBarIconBrightness = t6;
      _.systemStatusBarContrastEnforced = t7;
    },
    SystemChrome_setSystemUIOverlayStyle_closure: function SystemChrome_setSystemUIOverlayStyle_closure() {
    },
    SystemSound_play(type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$SystemSound_play = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$2("SystemSound.play", "SystemSoundType." + type._core$_name, type$.void), $async$SystemSound_play);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$SystemSound_play, $async$completer);
    },
    SystemSoundType: function SystemSoundType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextSelection$(affinity, baseOffset, extentOffset, isDirectional) {
      var t1 = baseOffset < extentOffset,
        t2 = t1 ? baseOffset : extentOffset;
      return new A.TextSelection(baseOffset, extentOffset, affinity, isDirectional, t2, t1 ? extentOffset : baseOffset);
    },
    TextSelection$collapsed(affinity, offset) {
      return new A.TextSelection(offset, offset, affinity, false, offset, offset);
    },
    TextSelection$fromPosition(position) {
      var t1 = position.offset;
      return new A.TextSelection(t1, t1, position.affinity, false, t1, t1);
    },
    TextSelection: function TextSelection(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.baseOffset = t0;
      _.extentOffset = t1;
      _.affinity = t2;
      _.isDirectional = t3;
      _.start = t4;
      _.end = t5;
    },
    _toTextAffinity(affinity) {
      switch (affinity) {
        case "TextAffinity.downstream":
          return B.TextAffinity_1;
        case "TextAffinity.upstream":
          return B.TextAffinity_0;
      }
      return null;
    },
    TextEditingDelta_TextEditingDelta$fromJSON(encoded) {
      var t2, t3, t4, textStart, textEnd, isDeletingByReplacingWithEmpty, isReplacedByShorter, isReplacedBySame, isInsertingInsideComposingRegion, isDeletingInsideComposingRegion, t5, newComposingText, originalComposingText, isReplaced,
        t1 = J.getInterceptor$asx(encoded),
        oldText = A._asString(t1.$index(encoded, "oldText")),
        replacementDestinationStart = A._asInt(t1.$index(encoded, "deltaStart")),
        replacementDestinationEnd = A._asInt(t1.$index(encoded, "deltaEnd")),
        replacementSource = A._asString(t1.$index(encoded, "deltaText")),
        replacementSourceEnd = replacementSource.length,
        isNonTextUpdate = replacementDestinationStart === -1 && replacementDestinationStart === replacementDestinationEnd;
      A._asIntQ(t1.$index(encoded, "composingBase"));
      A._asIntQ(t1.$index(encoded, "composingExtent"));
      t2 = A._asIntQ(t1.$index(encoded, "selectionBase"));
      if (t2 == null)
        t2 = -1;
      t3 = A._asIntQ(t1.$index(encoded, "selectionExtent"));
      if (t3 == null)
        t3 = -1;
      t4 = A._toTextAffinity(A._asStringQ(t1.$index(encoded, "selectionAffinity")));
      if (t4 == null)
        t4 = B.TextAffinity_1;
      t1 = A._asBoolQ(t1.$index(encoded, "selectionIsDirectional"));
      A.TextSelection$(t4, t2, t3, t1 === true);
      if (isNonTextUpdate)
        return new A.TextEditingDeltaNonTextUpdate();
      textStart = B.JSString_methods.substring$2(oldText, 0, replacementDestinationStart);
      textEnd = B.JSString_methods.substring$2(oldText, replacementDestinationEnd, oldText.length);
      t1 = replacementDestinationEnd - replacementDestinationStart;
      t2 = replacementSourceEnd - 0;
      if (replacementSourceEnd === 0)
        isDeletingByReplacingWithEmpty = 0 === replacementSourceEnd;
      else
        isDeletingByReplacingWithEmpty = false;
      isReplacedByShorter = t1 - t2 > 1 && t2 < t1;
      isReplacedBySame = t2 === t1;
      t3 = replacementDestinationStart + replacementSourceEnd;
      isInsertingInsideComposingRegion = t3 > replacementDestinationEnd;
      t4 = !isReplacedByShorter;
      isDeletingInsideComposingRegion = t4 && !isDeletingByReplacingWithEmpty && t3 < replacementDestinationEnd;
      t5 = !isDeletingByReplacingWithEmpty;
      if (!t5 || isDeletingInsideComposingRegion || isReplacedByShorter) {
        newComposingText = B.JSString_methods.substring$2(replacementSource, 0, replacementSourceEnd);
        originalComposingText = B.JSString_methods.substring$2(oldText, replacementDestinationStart, t3);
      } else {
        newComposingText = B.JSString_methods.substring$2(replacementSource, 0, t1);
        originalComposingText = B.JSString_methods.substring$2(oldText, replacementDestinationStart, replacementDestinationEnd);
      }
      t3 = originalComposingText === newComposingText;
      isReplaced = !t3 || t2 > t1 || !t4 || isReplacedBySame;
      if (oldText === textStart + replacementSource + textEnd)
        return new A.TextEditingDeltaNonTextUpdate();
      else if ((!t5 || isDeletingInsideComposingRegion) && t3)
        return new A.TextEditingDeltaDeletion();
      else if ((replacementDestinationStart === replacementDestinationEnd || isInsertingInsideComposingRegion) && t3) {
        B.JSString_methods.substring$2(replacementSource, t1, t1 + (replacementSourceEnd - t1));
        return new A.TextEditingDeltaInsertion();
      } else if (isReplaced)
        return new A.TextEditingDeltaReplacement();
      return new A.TextEditingDeltaNonTextUpdate();
    },
    TextEditingDelta: function TextEditingDelta() {
    },
    TextEditingDeltaInsertion: function TextEditingDeltaInsertion() {
    },
    TextEditingDeltaDeletion: function TextEditingDeltaDeletion() {
    },
    TextEditingDeltaReplacement: function TextEditingDeltaReplacement() {
    },
    TextEditingDeltaNonTextUpdate: function TextEditingDeltaNonTextUpdate() {
    },
    LengthLimitingTextInputFormatter_getDefaultMaxLengthEnforcement(platform) {
      return B.MaxLengthEnforcement_2;
    },
    MaxLengthEnforcement: function MaxLengthEnforcement(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextInputFormatter: function TextInputFormatter() {
    },
    _MutableTextRange: function _MutableTextRange(t0, t1) {
      this.base = t0;
      this.extent = t1;
    },
    _TextEditingValueAccumulator: function _TextEditingValueAccumulator(t0, t1, t2, t3) {
      var _ = this;
      _.inputValue = t0;
      _.stringBuffer = t1;
      _.selection = t2;
      _.composingRegion = t3;
      _.debugFinalized = false;
    },
    FilteringTextInputFormatter: function FilteringTextInputFormatter(t0, t1, t2) {
      this.filterPattern = t0;
      this.allow = t1;
      this.replacementString = t2;
    },
    FilteringTextInputFormatter__processRegion_adjustIndex: function FilteringTextInputFormatter__processRegion_adjustIndex(t0, t1, t2) {
      this.regionStart = t0;
      this.regionEnd = t1;
      this.replacementString = t2;
    },
    TextInputConfiguration$(autocorrect, autofillConfiguration, enableDeltaModel, enableIMEPersonalizedLearning, enableInteractiveSelection, enableSuggestions, inputAction, inputType, keyboardAppearance, obscureText, readOnly, smartDashesType, smartQuotesType, textCapitalization) {
      return new A.TextInputConfiguration(inputType, readOnly, false, true, autofillConfiguration, smartDashesType, smartQuotesType, true, enableInteractiveSelection, inputAction, textCapitalization, keyboardAppearance, true, false);
    },
    _toTextAffinity0(affinity) {
      switch (affinity) {
        case "TextAffinity.downstream":
          return B.TextAffinity_1;
        case "TextAffinity.upstream":
          return B.TextAffinity_0;
      }
      return null;
    },
    TextEditingValue_TextEditingValue$fromJSON(encoded) {
      var t4, t5, t6,
        t1 = J.getInterceptor$asx(encoded),
        t2 = A._asString(t1.$index(encoded, "text")),
        t3 = A._asIntQ(t1.$index(encoded, "selectionBase"));
      if (t3 == null)
        t3 = -1;
      t4 = A._asIntQ(t1.$index(encoded, "selectionExtent"));
      if (t4 == null)
        t4 = -1;
      t5 = A._toTextAffinity0(A._asStringQ(t1.$index(encoded, "selectionAffinity")));
      if (t5 == null)
        t5 = B.TextAffinity_1;
      t6 = A._asBoolQ(t1.$index(encoded, "selectionIsDirectional"));
      t3 = A.TextSelection$(t5, t3, t4, t6 === true);
      t4 = A._asIntQ(t1.$index(encoded, "composingBase"));
      if (t4 == null)
        t4 = -1;
      t1 = A._asIntQ(t1.$index(encoded, "composingExtent"));
      return new A.TextEditingValue(t2, t3, new A.TextRange(t4, t1 == null ? -1 : t1));
    },
    TextInputConnection$_(_client) {
      var t1 = A._setArrayType([], type$.JSArray_SelectionRect),
        t2 = $.TextInputConnection__nextId;
      $.TextInputConnection__nextId = t2 + 1;
      return new A.TextInputConnection(t1, t2, _client);
    },
    _toTextInputAction(action) {
      switch (action) {
        case "TextInputAction.none":
          return B.TextInputAction_0;
        case "TextInputAction.unspecified":
          return B.TextInputAction_1;
        case "TextInputAction.go":
          return B.TextInputAction_3;
        case "TextInputAction.search":
          return B.TextInputAction_4;
        case "TextInputAction.send":
          return B.TextInputAction_5;
        case "TextInputAction.next":
          return B.TextInputAction_6;
        case "TextInputAction.previous":
          return B.TextInputAction_7;
        case "TextInputAction.continue_action":
          return B.TextInputAction_8;
        case "TextInputAction.join":
          return B.TextInputAction_9;
        case "TextInputAction.route":
          return B.TextInputAction_10;
        case "TextInputAction.emergencyCall":
          return B.TextInputAction_11;
        case "TextInputAction.done":
          return B.TextInputAction_2;
        case "TextInputAction.newline":
          return B.TextInputAction_12;
      }
      throw A.wrapException(A.FlutterError$fromParts(A._setArrayType([A.ErrorSummary$("Unknown text input action: " + action)], type$.JSArray_DiagnosticsNode)));
    },
    _toTextCursorAction(state) {
      switch (state) {
        case "FloatingCursorDragState.start":
          return B.FloatingCursorDragState_0;
        case "FloatingCursorDragState.update":
          return B.FloatingCursorDragState_1;
        case "FloatingCursorDragState.end":
          return B.FloatingCursorDragState_2;
      }
      throw A.wrapException(A.FlutterError$fromParts(A._setArrayType([A.ErrorSummary$("Unknown text cursor action: " + state)], type$.JSArray_DiagnosticsNode)));
    },
    SmartDashesType: function SmartDashesType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    SmartQuotesType: function SmartQuotesType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextInputType: function TextInputType(t0, t1, t2) {
      this.index = t0;
      this.signed = t1;
      this.decimal = t2;
    },
    TextInputAction: function TextInputAction(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextCapitalization0: function TextCapitalization0(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextInputConfiguration: function TextInputConfiguration(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13) {
      var _ = this;
      _.inputType = t0;
      _.readOnly = t1;
      _.obscureText = t2;
      _.autocorrect = t3;
      _.autofillConfiguration = t4;
      _.smartDashesType = t5;
      _.smartQuotesType = t6;
      _.enableSuggestions = t7;
      _.enableInteractiveSelection = t8;
      _.inputAction = t9;
      _.textCapitalization = t10;
      _.keyboardAppearance = t11;
      _.enableIMEPersonalizedLearning = t12;
      _.enableDeltaModel = t13;
    },
    FloatingCursorDragState: function FloatingCursorDragState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextEditingValue: function TextEditingValue(t0, t1, t2) {
      this.text = t0;
      this.selection = t1;
      this.composing = t2;
    },
    TextEditingValue_replaced_adjustIndex: function TextEditingValue_replaced_adjustIndex(t0, t1) {
      this.replacementRange = t0;
      this.replacementString = t1;
    },
    SelectionChangedCause: function SelectionChangedCause(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    TextSelectionDelegate: function TextSelectionDelegate() {
    },
    SelectionRect: function SelectionRect(t0, t1) {
      this.position = t0;
      this.bounds = t1;
    },
    TextInputConnection: function TextInputConnection(t0, t1, t2) {
      var _ = this;
      _._cachedCaretRect = _._cachedRect = _._cachedTransform = _._cachedSize = null;
      _._cachedSelectionRects = t0;
      _._text_input$_id = t1;
      _._client = t2;
    },
    TextInputConnection_setSelectionRects_closure: function TextInputConnection_setSelectionRects_closure() {
    },
    TextInput: function TextInput(t0) {
      var _ = this;
      _.__TextInput__channel = $;
      _._currentConnection = null;
      _.__TextInput__currentConfiguration = $;
      _._scribbleClients = t0;
      _._hidePending = _._scribbleInProgress = false;
    },
    TextInput__handleTextInputInvocation_closure0: function TextInput__handleTextInputInvocation_closure0() {
    },
    TextInput__handleTextInputInvocation_closure: function TextInput__handleTextInputInvocation_closure(t0, t1) {
      this.$this = t0;
      this.args = t1;
    },
    TextInput__handleTextInputInvocation_closure1: function TextInput__handleTextInputInvocation_closure1(t0) {
      this.$this = t0;
    },
    TextInput__scheduleHide_closure: function TextInput__scheduleHide_closure(t0) {
      this.$this = t0;
    },
    _getParent(context) {
      var $parent = A._Cell$named("parent");
      context.visitAncestorElements$1(new A._getParent_closure($parent));
      return $parent._readLocal$0();
    },
    Actions$(actions, child) {
      return new A.Actions(actions, child, null);
    },
    Actions__visitActionsAncestors(context, visitor) {
      var t2,
        t1 = type$._ActionsMarker,
        actionsElement = context.getElementForInheritedWidgetOfExactType$1$0(t1);
      for (; t2 = actionsElement != null, t2;) {
        if (J.$eq$(visitor.call$1(actionsElement), true))
          break;
        actionsElement = A._getParent(actionsElement).getElementForInheritedWidgetOfExactType$1$0(t1);
      }
      return t2;
    },
    Actions__findDispatcher(context) {
      var t1 = {};
      t1.dispatcher = null;
      A.Actions__visitActionsAncestors(context, new A.Actions__findDispatcher_closure(t1));
      return B.C_ActionDispatcher;
    },
    Actions_maybeFind(context, intent, $T) {
      var t1 = {};
      t1.action = null;
      if ((intent == null ? null : A.getRuntimeType(intent)) == null)
        A.createRuntimeType($T);
      A.Actions__visitActionsAncestors(context, new A.Actions_maybeFind_closure(t1, intent, context, $T));
      return t1.action;
    },
    Actions__maybeFindWithoutDependingOn(context, $T) {
      var t1 = {};
      t1.action = null;
      A.createRuntimeType($T);
      A.Actions__visitActionsAncestors(context, new A.Actions__maybeFindWithoutDependingOn_closure(t1, null, $T));
      return t1.action;
    },
    Actions__castAction(actionsMarker, intent, $T) {
      var mappedAction,
        t1 = intent == null ? null : A.getRuntimeType(intent);
      if (t1 == null)
        t1 = A.createRuntimeType($T);
      mappedAction = actionsMarker.actions.$index(0, t1);
      if ($T._eval$1("Action<0>?")._is(mappedAction))
        return mappedAction;
      else
        return null;
    },
    Actions_invoke(context, intent, $T) {
      var t1 = {};
      t1.returnValue = null;
      A.Actions__visitActionsAncestors(context, new A.Actions_invoke_closure(t1, intent, context, $T));
      return t1.returnValue;
    },
    Actions_maybeInvoke(context, intent, $T) {
      var t1 = {};
      t1.returnValue = null;
      A.Actions__visitActionsAncestors(context, new A.Actions_maybeInvoke_closure(t1, intent, context, $T));
      return t1.returnValue;
    },
    FocusableActionDetector$(actions, autofocus, child, enabled, focusNode, mouseCursor, onShowFocusHighlight, onShowHoverHighlight, shortcuts) {
      return new A.FocusableActionDetector(enabled, focusNode, autofocus, actions, shortcuts, onShowFocusHighlight, onShowHoverHighlight, mouseCursor, child, null);
    },
    DoNothingAction$(consumesKey) {
      return new A.DoNothingAction(consumesKey, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent), type$.ObserverList_of_void_Function_Action_Intent));
    },
    _getParent_closure: function _getParent_closure(t0) {
      this.parent = t0;
    },
    Intent: function Intent() {
    },
    Action: function Action() {
    },
    ContextAction: function ContextAction() {
    },
    CallbackAction: function CallbackAction(t0, t1, t2) {
      var _ = this;
      _.onInvoke = t0;
      _._actions$_listeners = t1;
      _._currentCallingAction = null;
      _.$ti = t2;
    },
    ActionDispatcher: function ActionDispatcher() {
    },
    Actions: function Actions(t0, t1, t2) {
      this.actions = t0;
      this.child = t1;
      this.key = t2;
    },
    Actions__findDispatcher_closure: function Actions__findDispatcher_closure(t0) {
      this._box_0 = t0;
    },
    Actions_maybeFind_closure: function Actions_maybeFind_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.intent = t1;
      _.context = t2;
      _.T = t3;
    },
    Actions__maybeFindWithoutDependingOn_closure: function Actions__maybeFindWithoutDependingOn_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.intent = t1;
      this.T = t2;
    },
    Actions_invoke_closure: function Actions_invoke_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.intent = t1;
      _.context = t2;
      _.T = t3;
    },
    Actions_maybeInvoke_closure: function Actions_maybeInvoke_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.intent = t1;
      _.context = t2;
      _.T = t3;
    },
    _ActionsState: function _ActionsState(t0, t1, t2) {
      var _ = this;
      _.listenedActions = t0;
      _.rebuildKey = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _ActionsState__handleActionChanged_closure: function _ActionsState__handleActionChanged_closure(t0) {
      this.$this = t0;
    },
    _ActionsMarker: function _ActionsMarker(t0, t1, t2, t3, t4) {
      var _ = this;
      _.dispatcher = t0;
      _.actions = t1;
      _.rebuildKey = t2;
      _.child = t3;
      _.key = t4;
    },
    FocusableActionDetector: function FocusableActionDetector(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.enabled = t0;
      _.focusNode = t1;
      _.autofocus = t2;
      _.actions = t3;
      _.shortcuts = t4;
      _.onShowFocusHighlight = t5;
      _.onShowHoverHighlight = t6;
      _.mouseCursor = t7;
      _.child = t8;
      _.key = t9;
    },
    _FocusableActionDetectorState: function _FocusableActionDetectorState(t0, t1) {
      var _ = this;
      _._focused = _._actions$_hovering = _._canShowHighlight = false;
      _._mouseRegionKey = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _FocusableActionDetectorState_initState_closure: function _FocusableActionDetectorState_initState_closure(t0) {
      this.$this = t0;
    },
    _FocusableActionDetectorState__updateHighlightMode_closure: function _FocusableActionDetectorState__updateHighlightMode_closure(t0) {
      this.$this = t0;
    },
    _FocusableActionDetectorState__handleMouseEnter_closure: function _FocusableActionDetectorState__handleMouseEnter_closure(t0) {
      this.$this = t0;
    },
    _FocusableActionDetectorState__handleMouseExit_closure: function _FocusableActionDetectorState__handleMouseExit_closure(t0) {
      this.$this = t0;
    },
    _FocusableActionDetectorState__handleFocusChange_closure: function _FocusableActionDetectorState__handleFocusChange_closure(t0, t1) {
      this.$this = t0;
      this.focused = t1;
    },
    _FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight: function _FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight(t0) {
      this.$this = t0;
    },
    _FocusableActionDetectorState__mayTriggerCallback_canRequestFocus: function _FocusableActionDetectorState__mayTriggerCallback_canRequestFocus(t0) {
      this.$this = t0;
    },
    _FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight: function _FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight(t0, t1) {
      this.$this = t0;
      this.canRequestFocus = t1;
    },
    _FocusableActionDetectorState_didUpdateWidget_closure: function _FocusableActionDetectorState_didUpdateWidget_closure(t0, t1) {
      this.$this = t0;
      this.oldWidget = t1;
    },
    VoidCallbackAction: function VoidCallbackAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    DoNothingAction: function DoNothingAction(t0, t1) {
      this._consumesKey = t0;
      this._actions$_listeners = t1;
      this._currentCallingAction = null;
    },
    ActivateIntent: function ActivateIntent() {
    },
    ButtonActivateIntent: function ButtonActivateIntent() {
    },
    DismissIntent: function DismissIntent() {
    },
    DismissAction: function DismissAction() {
    },
    PrioritizedIntents: function PrioritizedIntents() {
    },
    PrioritizedAction: function PrioritizedAction(t0) {
      var _ = this;
      _.__PrioritizedAction__selectedIntent = _.__PrioritizedAction__selectedAction = $;
      _._actions$_listeners = t0;
      _._currentCallingAction = null;
    },
    _OverridableActionMixin: function _OverridableActionMixin() {
    },
    _OverridableAction: function _OverridableAction(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.defaultAction = t0;
      _.lookupContext = t1;
      _._OverridableActionMixin_debugAssertMutuallyRecursive = t2;
      _._OverridableActionMixin_debugAssertIsActionEnabledMutuallyRecursive = t3;
      _._OverridableActionMixin_debugAssertIsEnabledMutuallyRecursive = t4;
      _._OverridableActionMixin_debugAssertConsumeKeyMutuallyRecursive = t5;
      _._actions$_listeners = t6;
      _._currentCallingAction = null;
      _.$ti = t7;
    },
    _OverridableContextAction: function _OverridableContextAction(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.defaultAction = t0;
      _.lookupContext = t1;
      _._OverridableActionMixin_debugAssertMutuallyRecursive = t2;
      _._OverridableActionMixin_debugAssertIsActionEnabledMutuallyRecursive = t3;
      _._OverridableActionMixin_debugAssertIsEnabledMutuallyRecursive = t4;
      _._OverridableActionMixin_debugAssertConsumeKeyMutuallyRecursive = t5;
      _._actions$_listeners = t6;
      _._currentCallingAction = null;
      _.$ti = t7;
    },
    _ContextActionToActionAdapter: function _ContextActionToActionAdapter(t0, t1, t2, t3) {
      var _ = this;
      _.invokeContext = t0;
      _.action = t1;
      _._actions$_listeners = t2;
      _._currentCallingAction = null;
      _.$ti = t3;
    },
    _Action_Object_Diagnosticable: function _Action_Object_Diagnosticable() {
    },
    _ActionDispatcher_Object_Diagnosticable: function _ActionDispatcher_Object_Diagnosticable() {
    },
    _Intent_Object_Diagnosticable: function _Intent_Object_Diagnosticable() {
    },
    __OverridableAction_ContextAction__OverridableActionMixin: function __OverridableAction_ContextAction__OverridableActionMixin() {
    },
    __OverridableContextAction_ContextAction__OverridableActionMixin: function __OverridableContextAction_ContextAction__OverridableActionMixin() {
    },
    AnimatedCrossFade_defaultLayoutBuilder(topChild, topChildKey, bottomChild, bottomChildKey) {
      var _null = null;
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_0, A._setArrayType([A.Positioned$(_null, bottomChild, _null, bottomChildKey, 0, 0, 0, _null), A.Positioned$(_null, topChild, _null, topChildKey, _null, _null, _null, _null)], type$.JSArray_Widget), _null);
    },
    CrossFadeState: function CrossFadeState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AnimatedCrossFade: function AnimatedCrossFade(t0, t1, t2, t3, t4) {
      var _ = this;
      _.firstChild = t0;
      _.secondChild = t1;
      _.crossFadeState = t2;
      _.duration = t3;
      _.key = t4;
    },
    _AnimatedCrossFadeState: function _AnimatedCrossFadeState(t0, t1, t2) {
      var _ = this;
      _.___AnimatedCrossFadeState__secondAnimation = _.___AnimatedCrossFadeState__firstAnimation = _.___AnimatedCrossFadeState__controller = $;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedCrossFadeState_initState_closure: function _AnimatedCrossFadeState_initState_closure(t0) {
      this.$this = t0;
    },
    _AnimatedCrossFadeState_initState__closure: function _AnimatedCrossFadeState_initState__closure() {
    },
    __AnimatedCrossFadeState_State_TickerProviderStateMixin: function __AnimatedCrossFadeState_State_TickerProviderStateMixin() {
    },
    AnimatedSize$(alignment, child, curve, duration, reverseDuration) {
      return new A.AnimatedSize(child, alignment, curve, duration, reverseDuration, null);
    },
    AnimatedSize: function AnimatedSize(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.child = t0;
      _.alignment = t1;
      _.curve = t2;
      _.duration = t3;
      _.reverseDuration = t4;
      _.key = t5;
    },
    _AnimatedSizeState: function _AnimatedSizeState(t0, t1, t2) {
      var _ = this;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedSize: function _AnimatedSize(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.alignment = t0;
      _.curve = t1;
      _.duration = t2;
      _.reverseDuration = t3;
      _.vsync = t4;
      _.clipBehavior = t5;
      _.child = t6;
      _.key = t7;
    },
    __AnimatedSizeState_State_SingleTickerProviderStateMixin: function __AnimatedSizeState_State_SingleTickerProviderStateMixin() {
    },
    AnnotatedRegion: function AnnotatedRegion(t0, t1, t2, t3) {
      var _ = this;
      _.value = t0;
      _.child = t1;
      _.key = t2;
      _.$ti = t3;
    },
    basicLocaleListResolution(preferredLocales, supportedLocales) {
      var t1, t2, allSupportedLocales, languageAndCountryLocales, languageAndScriptLocales, languageLocales, countryLocales, _i, locale, t3, t4, matchesCountryCode, matchesLanguageCode, localeIndex, userLocale, match, resolvedLocale, _null = null;
      if (preferredLocales == null || preferredLocales.length === 0)
        return B.JSArray_methods.get$first(supportedLocales);
      t1 = type$.String;
      t2 = type$.Locale;
      allSupportedLocales = A.HashMap_HashMap(_null, _null, _null, t1, t2);
      languageAndCountryLocales = A.HashMap_HashMap(_null, _null, _null, t1, t2);
      languageAndScriptLocales = A.HashMap_HashMap(_null, _null, _null, t1, t2);
      languageLocales = A.HashMap_HashMap(_null, _null, _null, t1, t2);
      countryLocales = A.HashMap_HashMap(_null, _null, _null, type$.nullable_String, t2);
      for (_i = 0; _i < 1; ++_i) {
        locale = supportedLocales[_i];
        t1 = locale._languageCode;
        t2 = B.Map_YCOho.$index(0, t1);
        if (t2 == null)
          t2 = t1;
        t3 = locale._countryCode;
        t4 = B.Map_0Agg9.$index(0, t3);
        if (t4 == null)
          t4 = t3;
        t4 = t2 + "_null_" + A.S(t4);
        if (allSupportedLocales.$index(0, t4) == null)
          allSupportedLocales.$indexSet(0, t4, locale);
        t2 = B.Map_YCOho.$index(0, t1);
        t2 = (t2 == null ? t1 : t2) + "_null";
        if (languageAndScriptLocales.$index(0, t2) == null)
          languageAndScriptLocales.$indexSet(0, t2, locale);
        t2 = B.Map_YCOho.$index(0, t1);
        if (t2 == null)
          t2 = t1;
        t4 = B.Map_0Agg9.$index(0, t3);
        if (t4 == null)
          t4 = t3;
        t4 = t2 + "_" + A.S(t4);
        if (languageAndCountryLocales.$index(0, t4) == null)
          languageAndCountryLocales.$indexSet(0, t4, locale);
        t2 = B.Map_YCOho.$index(0, t1);
        t1 = t2 == null ? t1 : t2;
        if (languageLocales.$index(0, t1) == null)
          languageLocales.$indexSet(0, t1, locale);
        t1 = B.Map_0Agg9.$index(0, t3);
        if (t1 == null)
          t1 = t3;
        if (countryLocales.$index(0, t1) == null)
          countryLocales.$indexSet(0, t1, locale);
      }
      for (matchesCountryCode = _null, matchesLanguageCode = matchesCountryCode, localeIndex = 0; localeIndex < preferredLocales.length; ++localeIndex) {
        userLocale = preferredLocales[localeIndex];
        t1 = userLocale._languageCode;
        t2 = B.Map_YCOho.$index(0, t1);
        if (t2 == null)
          t2 = t1;
        t3 = userLocale._countryCode;
        t4 = B.Map_0Agg9.$index(0, t3);
        if (t4 == null)
          t4 = t3;
        if (allSupportedLocales.containsKey$1(0, t2 + "_null_" + A.S(t4)))
          return userLocale;
        t2 = B.Map_0Agg9.$index(0, t3);
        if ((t2 == null ? t3 : t2) != null) {
          t2 = B.Map_YCOho.$index(0, t1);
          if (t2 == null)
            t2 = t1;
          t4 = B.Map_0Agg9.$index(0, t3);
          if (t4 == null)
            t4 = t3;
          match = languageAndCountryLocales.$index(0, t2 + "_" + A.S(t4));
          if (match != null)
            return match;
        }
        if (matchesLanguageCode != null)
          return matchesLanguageCode;
        t2 = B.Map_YCOho.$index(0, t1);
        match = languageLocales.$index(0, t2 == null ? t1 : t2);
        if (match != null) {
          if (localeIndex === 0) {
            t2 = localeIndex + 1;
            if (t2 < preferredLocales.length) {
              t2 = preferredLocales[t2]._languageCode;
              t4 = B.Map_YCOho.$index(0, t2);
              t2 = t4 == null ? t2 : t4;
              t4 = B.Map_YCOho.$index(0, t1);
              t1 = t2 === (t4 == null ? t1 : t4);
            } else
              t1 = false;
            t1 = !t1;
          } else
            t1 = false;
          if (t1)
            return match;
          matchesLanguageCode = match;
        }
        if (matchesCountryCode == null) {
          t1 = B.Map_0Agg9.$index(0, t3);
          t1 = (t1 == null ? t3 : t1) != null;
        } else
          t1 = false;
        if (t1) {
          t1 = B.Map_0Agg9.$index(0, t3);
          match = countryLocales.$index(0, t1 == null ? t3 : t1);
          if (match != null)
            matchesCountryCode = match;
        }
      }
      resolvedLocale = matchesLanguageCode == null ? matchesCountryCode : matchesLanguageCode;
      return resolvedLocale == null ? B.JSArray_methods.get$first(supportedLocales) : resolvedLocale;
    },
    WidgetsApp_defaultShortcuts() {
      return B.Map_zPybB;
    },
    WidgetsApp: function WidgetsApp(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) {
      var _ = this;
      _.navigatorKey = t0;
      _.onGenerateRoute = t1;
      _.onGenerateInitialRoutes = t2;
      _.pageRouteBuilder = t3;
      _.routeInformationParser = t4;
      _.routerDelegate = t5;
      _.backButtonDispatcher = t6;
      _.routeInformationProvider = t7;
      _.routerConfig = t8;
      _.home = t9;
      _.routes = t10;
      _.onUnknownRoute = t11;
      _.initialRoute = t12;
      _.navigatorObservers = t13;
      _.builder = t14;
      _.title = t15;
      _.onGenerateTitle = t16;
      _.textStyle = t17;
      _.color = t18;
      _.locale = t19;
      _.localizationsDelegates = t20;
      _.localeListResolutionCallback = t21;
      _.localeResolutionCallback = t22;
      _.supportedLocales = t23;
      _.showPerformanceOverlay = t24;
      _.checkerboardRasterCacheImages = t25;
      _.checkerboardOffscreenLayers = t26;
      _.showSemanticsDebugger = t27;
      _.inspectorSelectButtonBuilder = t28;
      _.debugShowCheckedModeBanner = t29;
      _.shortcuts = t30;
      _.actions = t31;
      _.restorationScopeId = t32;
      _.useInheritedMediaQuery = t33;
      _.key = t34;
    },
    _WidgetsAppState: function _WidgetsAppState(t0) {
      var _ = this;
      _._widget = _._app$_locale = _._navigator = _._defaultBackButtonDispatcher = _._defaultRouteInformationProvider = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _WidgetsAppState_didChangeLocales_closure: function _WidgetsAppState_didChangeLocales_closure(t0, t1) {
      this.$this = t0;
      this.newLocale = t1;
    },
    _WidgetsAppState_build_closure: function _WidgetsAppState_build_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    __WidgetsAppState_State_WidgetsBindingObserver: function __WidgetsAppState_State_WidgetsBindingObserver() {
    },
    AsyncSnapshot$nothing($T) {
      return new A.AsyncSnapshot(B.ConnectionState_0, null, null, null, $T._eval$1("AsyncSnapshot<0>"));
    },
    StreamBuilderBase: function StreamBuilderBase() {
    },
    _StreamBuilderBaseState: function _StreamBuilderBaseState(t0, t1) {
      var _ = this;
      _._async0$_subscription = null;
      _.___StreamBuilderBaseState__summary = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _StreamBuilderBaseState__subscribe_closure: function _StreamBuilderBaseState__subscribe_closure(t0) {
      this.$this = t0;
    },
    _StreamBuilderBaseState__subscribe__closure1: function _StreamBuilderBaseState__subscribe__closure1(t0, t1) {
      this.$this = t0;
      this.data = t1;
    },
    _StreamBuilderBaseState__subscribe_closure1: function _StreamBuilderBaseState__subscribe_closure1(t0) {
      this.$this = t0;
    },
    _StreamBuilderBaseState__subscribe__closure: function _StreamBuilderBaseState__subscribe__closure(t0, t1, t2) {
      this.$this = t0;
      this.error = t1;
      this.stackTrace = t2;
    },
    _StreamBuilderBaseState__subscribe_closure0: function _StreamBuilderBaseState__subscribe_closure0(t0) {
      this.$this = t0;
    },
    _StreamBuilderBaseState__subscribe__closure0: function _StreamBuilderBaseState__subscribe__closure0(t0) {
      this.$this = t0;
    },
    ConnectionState: function ConnectionState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    AsyncSnapshot: function AsyncSnapshot(t0, t1, t2, t3, t4) {
      var _ = this;
      _.connectionState = t0;
      _.data = t1;
      _.error = t2;
      _.stackTrace = t3;
      _.$ti = t4;
    },
    StreamBuilder: function StreamBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.builder = t0;
      _.initialData = t1;
      _.stream = t2;
      _.key = t3;
      _.$ti = t4;
    },
    FutureBuilder: function FutureBuilder(t0, t1, t2, t3) {
      var _ = this;
      _.future = t0;
      _.builder = t1;
      _.key = t2;
      _.$ti = t3;
    },
    _FutureBuilderState: function _FutureBuilderState(t0, t1) {
      var _ = this;
      _._activeCallbackIdentity = null;
      _.___FutureBuilderState__snapshot = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _FutureBuilderState__subscribe_closure: function _FutureBuilderState__subscribe_closure(t0, t1) {
      this.$this = t0;
      this.callbackIdentity = t1;
    },
    _FutureBuilderState__subscribe__closure0: function _FutureBuilderState__subscribe__closure0(t0, t1) {
      this.$this = t0;
      this.data = t1;
    },
    _FutureBuilderState__subscribe_closure0: function _FutureBuilderState__subscribe_closure0(t0, t1) {
      this.$this = t0;
      this.callbackIdentity = t1;
    },
    _FutureBuilderState__subscribe__closure: function _FutureBuilderState__subscribe__closure(t0, t1, t2) {
      this.$this = t0;
      this.error = t1;
      this.stackTrace = t2;
    },
    AutomaticKeepAlive: function AutomaticKeepAlive(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _AutomaticKeepAliveState: function _AutomaticKeepAliveState(t0) {
      var _ = this;
      _._automatic_keep_alive$_handles = null;
      _.___AutomaticKeepAliveState__child = $;
      _._keepingAlive = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _AutomaticKeepAliveState__addClient_closure: function _AutomaticKeepAliveState__addClient_closure(t0) {
      this.$this = t0;
    },
    _AutomaticKeepAliveState__getChildElement_closure: function _AutomaticKeepAliveState__getChildElement_closure(t0) {
      this._box_0 = t0;
    },
    _AutomaticKeepAliveState__createCallback_closure: function _AutomaticKeepAliveState__createCallback_closure(t0, t1) {
      this.$this = t0;
      this.handle = t1;
    },
    _AutomaticKeepAliveState__createCallback__closure: function _AutomaticKeepAliveState__createCallback__closure(t0) {
      this.$this = t0;
    },
    _AutomaticKeepAliveState__createCallback__closure0: function _AutomaticKeepAliveState__createCallback__closure0(t0) {
      this.$this = t0;
    },
    _AutomaticKeepAliveState__createCallback___closure: function _AutomaticKeepAliveState__createCallback___closure(t0) {
      this.$this = t0;
    },
    KeepAliveNotification: function KeepAliveNotification(t0) {
      this.handle = t0;
    },
    KeepAliveHandle: function KeepAliveHandle(t0) {
      var _ = this;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    AutomaticKeepAliveClientMixin: function AutomaticKeepAliveClientMixin() {
    },
    _NullWidget0: function _NullWidget0(t0) {
      this.key = t0;
    },
    _UbiquitousInheritedElement__recurseChildren(element, visitor) {
      element.visitChildren$1(new A._UbiquitousInheritedElement__recurseChildren_closure(visitor));
      visitor.call$1(element);
    },
    Directionality$(child, textDirection) {
      return new A.Directionality(textDirection, child, null);
    },
    Directionality_maybeOf(context) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      return widget == null ? null : widget.textDirection;
    },
    Opacity$(alwaysIncludeSemantics, child, opacity) {
      return new A.Opacity(opacity, alwaysIncludeSemantics, child, null);
    },
    CustomPaint$(child, foregroundPainter, key, painter, size) {
      return new A.CustomPaint(painter, foregroundPainter, size, child, key);
    },
    ClipRect$(child, clipBehavior, clipper) {
      return new A.ClipRect(clipper, clipBehavior, child, null);
    },
    ClipRRect$(borderRadius, child, clipBehavior) {
      return new A.ClipRRect(borderRadius, clipBehavior, child, null);
    },
    ClipPath$(child, clipBehavior, clipper) {
      return new A.ClipPath(clipper, clipBehavior, child, null);
    },
    Transform$(alignment, child, transform, transformHitTests) {
      return new A.Transform(transform, alignment, transformHitTests, null, child, null);
    },
    Transform$rotate(alignment, angle, child, filterQuality) {
      return new A.Transform(A.Matrix4_Matrix4$rotationZ(angle), alignment, true, filterQuality, child, null);
    },
    Transform$translate(child, offset) {
      return new A.Transform(A.Matrix4_Matrix4$translationValues(offset._dx, offset._dy, 0), null, true, null, child, null);
    },
    Transform$scale(alignment, child, filterQuality, scale) {
      var t1 = scale;
      return new A.Transform(A.Matrix4_Matrix4$diagonal3Values(t1, scale, 1), alignment, true, filterQuality, child, null);
    },
    CompositedTransformFollower$(child, link, offset, showWhenUnlinked, targetAnchor) {
      return new A.CompositedTransformFollower(link, false, targetAnchor, offset, child, null);
    },
    FractionalTranslation$(child, transformHitTests, translation) {
      return new A.FractionalTranslation(translation, transformHitTests, child, null);
    },
    Center$(child, heightFactor, key, widthFactor) {
      return new A.Center(B.Alignment_0_0, widthFactor, heightFactor, child, key);
    },
    LayoutId$(child, id) {
      return new A.LayoutId(id, child, new A.ValueKey(id, type$.ValueKey_Object));
    },
    SizedBox$(child, height, width) {
      return new A.SizedBox(width, height, child, null);
    },
    SizedBox$fromSize(child, size) {
      return new A.SizedBox(size._dx, size._dy, child, null);
    },
    LimitedBox$(child, maxHeight, maxWidth) {
      return new A.LimitedBox(maxWidth, maxHeight, child, null);
    },
    OverflowBox$(alignment, child, maxHeight, maxWidth, minHeight, minWidth) {
      return new A.OverflowBox(alignment, minWidth, maxWidth, minHeight, maxHeight, child, null);
    },
    IntrinsicWidth$(child, stepWidth) {
      return new A.IntrinsicWidth(stepWidth, child, null);
    },
    getAxisDirectionFromAxisReverseAndDirectionality(context, axis, reverse) {
      var t1, axisDirection;
      switch (axis.index) {
        case 0:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          axisDirection = A.textDirectionToAxisDirection(t1.textDirection);
          return reverse ? A.flipAxisDirection(axisDirection) : axisDirection;
        case 1:
          return reverse ? B.AxisDirection_0 : B.AxisDirection_2;
      }
    },
    Positioned$(bottom, child, height, key, left, right, $top, width) {
      return new A.Positioned(left, $top, right, bottom, width, height, child, key);
    },
    Positioned$fill(bottom, child) {
      return new A.Positioned(0, 0, 0, bottom, null, null, child, null);
    },
    Flex$(children, crossAxisAlignment, direction, key, mainAxisAlignment, mainAxisSize, textBaseline, textDirection, verticalDirection) {
      return new A.Flex(direction, mainAxisAlignment, mainAxisSize, crossAxisAlignment, textDirection, verticalDirection, textBaseline, children, key);
    },
    Row$(children, crossAxisAlignment, key, mainAxisAlignment, mainAxisSize, textBaseline, textDirection) {
      return new A.Row(B.Axis_0, mainAxisAlignment, mainAxisSize, crossAxisAlignment, textDirection, B.VerticalDirection_1, textBaseline, children, key);
    },
    Column$(children, crossAxisAlignment, key, mainAxisAlignment, mainAxisSize, verticalDirection) {
      return new A.Column(B.Axis_1, mainAxisAlignment, mainAxisSize, crossAxisAlignment, null, verticalDirection, null, children, key);
    },
    Expanded$(child, flex) {
      return new A.Expanded(flex, B.FlexFit_0, child, null);
    },
    Wrap$(alignment, children, crossAxisAlignment) {
      return new A.Wrap(alignment, crossAxisAlignment, children, null);
    },
    RichText$(key, locale, maxLines, overflow, selectionColor, selectionRegistrar, softWrap, strutStyle, text, textAlign, textDirection, textHeightBehavior, textScaleFactor, textWidthBasis) {
      return new A.RichText(text, textAlign, textDirection, softWrap, overflow, textScaleFactor, maxLines, locale, strutStyle, textWidthBasis, textHeightBehavior, selectionRegistrar, selectionColor, A.RichText__extractChildren(text), key);
    },
    RichText__extractChildren(span) {
      var result, t1 = {};
      t1.index = 0;
      result = A._setArrayType([], type$.JSArray_Widget);
      span.visitChildren$1(new A.RichText__extractChildren_closure(t1, result));
      return result;
    },
    Listener$(behavior, child, onPointerCancel, onPointerDown, onPointerPanZoomStart, onPointerSignal, onPointerUp) {
      return new A.Listener(onPointerDown, onPointerUp, onPointerCancel, onPointerPanZoomStart, onPointerSignal, behavior, child, null);
    },
    MouseRegion$(child, cursor, key, onEnter, onExit, onHover) {
      return new A.MouseRegion(onEnter, onHover, onExit, cursor, child, key);
    },
    BlockSemantics$(child) {
      return new A.BlockSemantics(child, null);
    },
    KeyedSubtree_ensureUniqueKeysForList(items) {
      var itemsWithUniqueKeys, t2, t3, itemIndex, _i, item, t4,
        t1 = items.length;
      if (t1 === 0)
        return items;
      itemsWithUniqueKeys = A._setArrayType([], type$.JSArray_Widget);
      for (t1 = items.length, t2 = type$.ValueKey_int, t3 = type$.ValueKey_Key, itemIndex = 0, _i = 0; _i < items.length; items.length === t1 || (0, A.throwConcurrentModificationError)(items), ++_i) {
        item = items[_i];
        t4 = item.key;
        itemsWithUniqueKeys.push(new A.KeyedSubtree(item, t4 != null ? new A.ValueKey(t4, t3) : new A.ValueKey(itemIndex, t2)));
        ++itemIndex;
      }
      return itemsWithUniqueKeys;
    },
    _UbiquitousInheritedElement: function _UbiquitousInheritedElement(t0, t1, t2) {
      var _ = this;
      _._dependents = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _UbiquitousInheritedElement_notifyClients_closure: function _UbiquitousInheritedElement_notifyClients_closure(t0, t1) {
      this.$this = t0;
      this.oldWidget = t1;
    },
    _UbiquitousInheritedElement__recurseChildren_closure: function _UbiquitousInheritedElement__recurseChildren_closure(t0) {
      this.visitor = t0;
    },
    _UbiquitousInheritedWidget: function _UbiquitousInheritedWidget() {
    },
    Directionality: function Directionality(t0, t1, t2) {
      this.textDirection = t0;
      this.child = t1;
      this.key = t2;
    },
    Opacity: function Opacity(t0, t1, t2, t3) {
      var _ = this;
      _.opacity = t0;
      _.alwaysIncludeSemantics = t1;
      _.child = t2;
      _.key = t3;
    },
    CustomPaint: function CustomPaint(t0, t1, t2, t3, t4) {
      var _ = this;
      _.painter = t0;
      _.foregroundPainter = t1;
      _.size = t2;
      _.child = t3;
      _.key = t4;
    },
    ClipRect: function ClipRect(t0, t1, t2, t3) {
      var _ = this;
      _.clipper = t0;
      _.clipBehavior = t1;
      _.child = t2;
      _.key = t3;
    },
    ClipRRect: function ClipRRect(t0, t1, t2, t3) {
      var _ = this;
      _.borderRadius = t0;
      _.clipBehavior = t1;
      _.child = t2;
      _.key = t3;
    },
    ClipPath: function ClipPath(t0, t1, t2, t3) {
      var _ = this;
      _.clipper = t0;
      _.clipBehavior = t1;
      _.child = t2;
      _.key = t3;
    },
    PhysicalModel: function PhysicalModel(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.shape = t0;
      _.clipBehavior = t1;
      _.borderRadius = t2;
      _.elevation = t3;
      _.color = t4;
      _.shadowColor = t5;
      _.child = t6;
      _.key = t7;
    },
    PhysicalShape: function PhysicalShape(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.clipper = t0;
      _.clipBehavior = t1;
      _.elevation = t2;
      _.color = t3;
      _.shadowColor = t4;
      _.child = t5;
      _.key = t6;
    },
    Transform: function Transform(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.transform = t0;
      _.alignment = t1;
      _.transformHitTests = t2;
      _.filterQuality = t3;
      _.child = t4;
      _.key = t5;
    },
    CompositedTransformTarget: function CompositedTransformTarget(t0, t1, t2) {
      this.link = t0;
      this.child = t1;
      this.key = t2;
    },
    CompositedTransformFollower: function CompositedTransformFollower(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.link = t0;
      _.showWhenUnlinked = t1;
      _.targetAnchor = t2;
      _.offset = t3;
      _.child = t4;
      _.key = t5;
    },
    FractionalTranslation: function FractionalTranslation(t0, t1, t2, t3) {
      var _ = this;
      _.translation = t0;
      _.transformHitTests = t1;
      _.child = t2;
      _.key = t3;
    },
    RotatedBox: function RotatedBox(t0, t1, t2) {
      this.quarterTurns = t0;
      this.child = t1;
      this.key = t2;
    },
    Padding: function Padding(t0, t1, t2) {
      this.padding = t0;
      this.child = t1;
      this.key = t2;
    },
    Align: function Align(t0, t1, t2, t3, t4) {
      var _ = this;
      _.alignment = t0;
      _.widthFactor = t1;
      _.heightFactor = t2;
      _.child = t3;
      _.key = t4;
    },
    Center: function Center(t0, t1, t2, t3, t4) {
      var _ = this;
      _.alignment = t0;
      _.widthFactor = t1;
      _.heightFactor = t2;
      _.child = t3;
      _.key = t4;
    },
    CustomSingleChildLayout: function CustomSingleChildLayout(t0, t1, t2) {
      this.delegate = t0;
      this.child = t1;
      this.key = t2;
    },
    LayoutId: function LayoutId(t0, t1, t2) {
      this.id = t0;
      this.child = t1;
      this.key = t2;
    },
    CustomMultiChildLayout: function CustomMultiChildLayout(t0, t1, t2) {
      this.delegate = t0;
      this.children = t1;
      this.key = t2;
    },
    SizedBox: function SizedBox(t0, t1, t2, t3) {
      var _ = this;
      _.width = t0;
      _.height = t1;
      _.child = t2;
      _.key = t3;
    },
    ConstrainedBox: function ConstrainedBox(t0, t1, t2) {
      this.constraints = t0;
      this.child = t1;
      this.key = t2;
    },
    LimitedBox: function LimitedBox(t0, t1, t2, t3) {
      var _ = this;
      _.maxWidth = t0;
      _.maxHeight = t1;
      _.child = t2;
      _.key = t3;
    },
    OverflowBox: function OverflowBox(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.alignment = t0;
      _.minWidth = t1;
      _.maxWidth = t2;
      _.minHeight = t3;
      _.maxHeight = t4;
      _.child = t5;
      _.key = t6;
    },
    Offstage: function Offstage(t0, t1, t2) {
      this.offstage = t0;
      this.child = t1;
      this.key = t2;
    },
    _OffstageElement: function _OffstageElement(t0, t1) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._framework$_child = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    IntrinsicWidth: function IntrinsicWidth(t0, t1, t2) {
      this.stepWidth = t0;
      this.child = t1;
      this.key = t2;
    },
    IntrinsicHeight: function IntrinsicHeight(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    SliverPadding: function SliverPadding(t0, t1, t2) {
      this.padding = t0;
      this.child = t1;
      this.key = t2;
    },
    ListBody: function ListBody(t0, t1) {
      this.children = t0;
      this.key = t1;
    },
    Stack: function Stack(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.alignment = t0;
      _.textDirection = t1;
      _.fit = t2;
      _.clipBehavior = t3;
      _.children = t4;
      _.key = t5;
    },
    IndexedStack: function IndexedStack(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.index = t0;
      _.alignment = t1;
      _.textDirection = t2;
      _.fit = t3;
      _.clipBehavior = t4;
      _.children = t5;
      _.key = t6;
    },
    Positioned: function Positioned(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.left = t0;
      _.top = t1;
      _.right = t2;
      _.bottom = t3;
      _.width = t4;
      _.height = t5;
      _.child = t6;
      _.key = t7;
    },
    PositionedDirectional: function PositionedDirectional(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.start = t0;
      _.top = t1;
      _.bottom = t2;
      _.width = t3;
      _.child = t4;
      _.key = t5;
    },
    Flex: function Flex(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.direction = t0;
      _.mainAxisAlignment = t1;
      _.mainAxisSize = t2;
      _.crossAxisAlignment = t3;
      _.textDirection = t4;
      _.verticalDirection = t5;
      _.textBaseline = t6;
      _.children = t7;
      _.key = t8;
    },
    Row: function Row(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.direction = t0;
      _.mainAxisAlignment = t1;
      _.mainAxisSize = t2;
      _.crossAxisAlignment = t3;
      _.textDirection = t4;
      _.verticalDirection = t5;
      _.textBaseline = t6;
      _.children = t7;
      _.key = t8;
    },
    Column: function Column(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.direction = t0;
      _.mainAxisAlignment = t1;
      _.mainAxisSize = t2;
      _.crossAxisAlignment = t3;
      _.textDirection = t4;
      _.verticalDirection = t5;
      _.textBaseline = t6;
      _.children = t7;
      _.key = t8;
    },
    Flexible: function Flexible(t0, t1, t2, t3) {
      var _ = this;
      _.flex = t0;
      _.fit = t1;
      _.child = t2;
      _.key = t3;
    },
    Expanded: function Expanded(t0, t1, t2, t3) {
      var _ = this;
      _.flex = t0;
      _.fit = t1;
      _.child = t2;
      _.key = t3;
    },
    Wrap: function Wrap(t0, t1, t2, t3) {
      var _ = this;
      _.alignment = t0;
      _.crossAxisAlignment = t1;
      _.children = t2;
      _.key = t3;
    },
    RichText: function RichText(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _.text = t0;
      _.textAlign = t1;
      _.textDirection = t2;
      _.softWrap = t3;
      _.overflow = t4;
      _.textScaleFactor = t5;
      _.maxLines = t6;
      _.locale = t7;
      _.strutStyle = t8;
      _.textWidthBasis = t9;
      _.textHeightBehavior = t10;
      _.selectionRegistrar = t11;
      _.selectionColor = t12;
      _.children = t13;
      _.key = t14;
    },
    RichText__extractChildren_closure: function RichText__extractChildren_closure(t0, t1) {
      this._box_0 = t0;
      this.result = t1;
    },
    RawImage: function RawImage(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.image = t0;
      _.debugImageLabel = t1;
      _.width = t2;
      _.height = t3;
      _.scale = t4;
      _.color = t5;
      _.opacity = t6;
      _.filterQuality = t7;
      _.colorBlendMode = t8;
      _.fit = t9;
      _.alignment = t10;
      _.repeat = t11;
      _.centerSlice = t12;
      _.matchTextDirection = t13;
      _.invertColors = t14;
      _.isAntiAlias = t15;
      _.key = t16;
    },
    Listener: function Listener(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onPointerDown = t0;
      _.onPointerUp = t1;
      _.onPointerCancel = t2;
      _.onPointerPanZoomStart = t3;
      _.onPointerSignal = t4;
      _.behavior = t5;
      _.child = t6;
      _.key = t7;
    },
    MouseRegion: function MouseRegion(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.onEnter = t0;
      _.onHover = t1;
      _.onExit = t2;
      _.cursor = t3;
      _.child = t4;
      _.key = t5;
    },
    RepaintBoundary: function RepaintBoundary(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    IgnorePointer: function IgnorePointer(t0, t1, t2, t3) {
      var _ = this;
      _.ignoring = t0;
      _.ignoringSemantics = t1;
      _.child = t2;
      _.key = t3;
    },
    AbsorbPointer: function AbsorbPointer(t0, t1, t2) {
      this.absorbing = t0;
      this.child = t1;
      this.key = t2;
    },
    MetaData: function MetaData(t0, t1, t2) {
      this.metaData = t0;
      this.child = t1;
      this.key = t2;
    },
    Semantics: function Semantics(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.properties = t0;
      _.container = t1;
      _.explicitChildNodes = t2;
      _.excludeSemantics = t3;
      _.child = t4;
      _.key = t5;
    },
    MergeSemantics: function MergeSemantics(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    BlockSemantics: function BlockSemantics(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    ExcludeSemantics: function ExcludeSemantics(t0, t1, t2) {
      this.excluding = t0;
      this.child = t1;
      this.key = t2;
    },
    IndexedSemantics: function IndexedSemantics(t0, t1, t2) {
      this.index = t0;
      this.child = t1;
      this.key = t2;
    },
    KeyedSubtree: function KeyedSubtree(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    Builder: function Builder(t0, t1) {
      this.builder = t0;
      this.key = t1;
    },
    ColoredBox: function ColoredBox(t0, t1, t2) {
      this.color = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderColoredBox: function _RenderColoredBox(t0, t1, t2, t3) {
      var _ = this;
      _._basic$_color = t0;
      _.behavior = t1;
      _.RenderObjectWithChildMixin__child = t2;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t3;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    WidgetsBinding_instance() {
      var t1 = $.WidgetsBinding__instance;
      t1.toString;
      return t1;
    },
    RenderObjectToWidgetElement$(widget, $T) {
      return new A.RenderObjectToWidgetElement(widget, B._ElementLifecycle_0, $T._eval$1("RenderObjectToWidgetElement<0>"));
    },
    WidgetsFlutterBinding$() {
      var t9, _null = null,
        t1 = A._setArrayType([], type$.JSArray_WidgetsBindingObserver),
        t2 = $.Zone__current,
        t3 = A._setArrayType([], type$.JSArray_of_void_Function_List_FrameTiming),
        t4 = A.List_List$filled(7, _null, false, type$.nullable__TaskEntry_dynamic),
        t5 = type$.int,
        t6 = A.HashSet_HashSet(t5),
        t7 = type$.JSArray_of_void_Function_Duration,
        t8 = A._setArrayType([], t7);
      t7 = A._setArrayType([], t7);
      t9 = A._setArrayType([], type$.JSArray_nullable__AsyncBlock);
      t1 = new A.WidgetsFlutterBinding(_null, $, t1, true, new A._AsyncCompleter(new A._Future(t2, type$._Future_void), type$._AsyncCompleter_void), false, _null, false, false, _null, $, _null, false, 0, false, $, $, new A._SystemFontsNotifier(A.LinkedHashSet_LinkedHashSet$_empty(type$.void_Function)), $, $, $, $, _null, t3, _null, A.binding__defaultSchedulingStrategy$closure(), new A.HeapPriorityQueue(A.binding_SchedulerBinding__taskSorter$closure(), t4, type$.HeapPriorityQueue__TaskEntry_dynamic), false, 0, A.LinkedHashMap_LinkedHashMap$_empty(t5, type$._FrameCallbackEntry), t6, t8, t7, _null, false, B.SchedulerPhase_0, true, false, _null, B.Duration_0, B.Duration_0, _null, 0, _null, false, new A.TimelineTask(_null, 0, t9), A.ListQueue$(_null, type$.PointerEvent_2), new A.PointerRouter(A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.Map_of_void_Function_PointerEvent_and_nullable_Matrix4), A.LinkedHashMap_LinkedHashMap$_empty(type$.void_Function_PointerEvent, type$.nullable_Matrix4)), new A.GestureArenaManager(A.LinkedHashMap_LinkedHashMap$_empty(t5, type$._GestureArena)), new A.PointerSignalResolver(), A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.HitTestResult), $, false, B.Duration_m38000);
      t1.BindingBase$0();
      return t1;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure4: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure4() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure5: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure5() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure(t0, t1, t2) {
      this.$this = t0;
      this.hitTestResult = t1;
      this.event = t2;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure(t0) {
      this.$this = t0;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure(t0) {
      this.$this = t0;
    },
    WidgetsBindingObserver: function WidgetsBindingObserver() {
    },
    WidgetsBinding: function WidgetsBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0(t0) {
      this.$this = t0;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1(t0) {
      this.$this = t0;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2(t0) {
      this.$this = t0;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure5: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure5() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure6: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure6() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    WidgetsBinding_scheduleAttachRootWidget_closure: function WidgetsBinding_scheduleAttachRootWidget_closure(t0, t1) {
      this.$this = t0;
      this.rootWidget = t1;
    },
    RenderObjectToWidgetAdapter: function RenderObjectToWidgetAdapter(t0, t1, t2, t3, t4) {
      var _ = this;
      _.child = t0;
      _.container = t1;
      _.debugShortDescription = t2;
      _.key = t3;
      _.$ti = t4;
    },
    RenderObjectToWidgetAdapter_attachToRenderTree_closure: function RenderObjectToWidgetAdapter_attachToRenderTree_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.owner = t2;
    },
    RenderObjectToWidgetAdapter_attachToRenderTree_closure0: function RenderObjectToWidgetAdapter_attachToRenderTree_closure0(t0) {
      this._box_0 = t0;
    },
    RenderObjectToWidgetElement: function RenderObjectToWidgetElement(t0, t1, t2) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._newWidget = _._child = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t2;
    },
    WidgetsFlutterBinding: function WidgetsFlutterBinding(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, t47, t48, t49, t50, t51, t52, t53) {
      var _ = this;
      _.WidgetsBinding__buildOwner = t0;
      _.WidgetsBinding___WidgetsBinding_platformMenuDelegate = t1;
      _.WidgetsBinding__observers = t2;
      _.WidgetsBinding__needToReportFirstFrame = t3;
      _.WidgetsBinding__firstFrameCompleter = t4;
      _.WidgetsBinding_debugBuildingDirtyElements = t5;
      _.WidgetsBinding__renderViewElement = t6;
      _.WidgetsBinding__readyToProduceFrames = t7;
      _.RendererBinding__debugIsRenderViewInitialized = t8;
      _.RendererBinding__mouseTracker = t9;
      _.RendererBinding___RendererBinding__pipelineOwner = t10;
      _.RendererBinding__semanticsHandle = t11;
      _.RendererBinding__debugMouseTrackerUpdateScheduled = t12;
      _.RendererBinding__firstFrameDeferredCount = t13;
      _.RendererBinding__firstFrameSent = t14;
      _.SemanticsBinding___SemanticsBinding__accessibilityFeatures = t15;
      _.PaintingBinding___PaintingBinding__imageCache = t16;
      _.PaintingBinding__systemFonts = t17;
      _.ServicesBinding___ServicesBinding__keyboard = t18;
      _.ServicesBinding___ServicesBinding__keyEventManager = t19;
      _.ServicesBinding___ServicesBinding__defaultBinaryMessenger = t20;
      _.ServicesBinding___ServicesBinding__restorationManager = t21;
      _.ServicesBinding__systemUiChangeCallback = t22;
      _.SchedulerBinding__timingsCallbacks = t23;
      _.SchedulerBinding__lifecycleState = t24;
      _.SchedulerBinding_schedulingStrategy = t25;
      _.SchedulerBinding__taskQueue = t26;
      _.SchedulerBinding__hasRequestedAnEventLoopCallback = t27;
      _.SchedulerBinding__nextFrameCallbackId = t28;
      _.SchedulerBinding__transientCallbacks = t29;
      _.SchedulerBinding__removedIds = t30;
      _.SchedulerBinding__persistentCallbacks = t31;
      _.SchedulerBinding__postFrameCallbacks = t32;
      _.SchedulerBinding__nextFrameCompleter = t33;
      _.SchedulerBinding__hasScheduledFrame = t34;
      _.SchedulerBinding__schedulerPhase = t35;
      _.SchedulerBinding__framesEnabled = t36;
      _.SchedulerBinding__warmUpFrame = t37;
      _.SchedulerBinding__firstRawTimeStampInEpoch = t38;
      _.SchedulerBinding__epochStart = t39;
      _.SchedulerBinding__lastRawTimeStamp = t40;
      _.SchedulerBinding__currentFrameTimeStamp = t41;
      _.SchedulerBinding__debugFrameNumber = t42;
      _.SchedulerBinding__debugBanner = t43;
      _.SchedulerBinding__rescheduleAfterWarmUpFrame = t44;
      _.SchedulerBinding__frameTimelineTask = t45;
      _.GestureBinding__pendingPointerEvents = t46;
      _.GestureBinding_pointerRouter = t47;
      _.GestureBinding_gestureArena = t48;
      _.GestureBinding_pointerSignalResolver = t49;
      _.GestureBinding__hitTests = t50;
      _.GestureBinding___GestureBinding__resampler = t51;
      _.GestureBinding_resamplingEnabled = t52;
      _.GestureBinding_samplingOffset = t53;
      _._debugConstructed = false;
      _._lockCount = 0;
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding() {
    },
    _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding: function _WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding() {
    },
    DecoratedBox$(child, decoration, position) {
      return new A.DecoratedBox(decoration, position, child, null);
    },
    Container$(alignment, child, clipBehavior, color, constraints, decoration, foregroundDecoration, height, key, margin, padding, transform, transformAlignment, width) {
      var t1;
      if (width != null || height != null) {
        t1 = constraints == null ? null : constraints.tighten$2$height$width(height, width);
        if (t1 == null)
          t1 = A.BoxConstraints$tightFor(height, width);
      } else
        t1 = constraints;
      return new A.Container(child, alignment, padding, color, decoration, foregroundDecoration, t1, margin, transform, transformAlignment, clipBehavior, key);
    },
    DecoratedBox: function DecoratedBox(t0, t1, t2, t3) {
      var _ = this;
      _.decoration = t0;
      _.position = t1;
      _.child = t2;
      _.key = t3;
    },
    Container: function Container(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.child = t0;
      _.alignment = t1;
      _.padding = t2;
      _.color = t3;
      _.decoration = t4;
      _.foregroundDecoration = t5;
      _.constraints = t6;
      _.margin = t7;
      _.transform = t8;
      _.transformAlignment = t9;
      _.clipBehavior = t10;
      _.key = t11;
    },
    _DecorationClipper: function _DecorationClipper(t0, t1, t2) {
      this.textDirection = t0;
      this.decoration = t1;
      this._reclip = t2;
    },
    DefaultSelectionStyle$(child, cursorColor, selectionColor) {
      return new A.DefaultSelectionStyle(cursorColor, selectionColor, child, null);
    },
    DefaultSelectionStyle: function DefaultSelectionStyle(t0, t1, t2, t3) {
      var _ = this;
      _.cursorColor = t0;
      _.selectionColor = t1;
      _.child = t2;
      _.key = t3;
    },
    _NullWidget1: function _NullWidget1(t0) {
      this.key = t0;
    },
    DefaultTextEditingShortcuts__shortcuts() {
      switch (A.defaultTargetPlatform().index) {
        case 0:
          return $.$get$DefaultTextEditingShortcuts__androidShortcuts();
        case 1:
          return $.$get$DefaultTextEditingShortcuts__fuchsiaShortcuts();
        case 2:
          return $.$get$DefaultTextEditingShortcuts__iOSShortcuts();
        case 3:
          return $.$get$DefaultTextEditingShortcuts__linuxShortcuts();
        case 4:
          return $.$get$DefaultTextEditingShortcuts__macShortcuts();
        case 5:
          return $.$get$DefaultTextEditingShortcuts__windowsShortcuts();
      }
    },
    DefaultTextEditingShortcuts: function DefaultTextEditingShortcuts(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    DismissDirection: function DismissDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Dismissible: function Dismissible(t0, t1, t2, t3, t4) {
      var _ = this;
      _.child = t0;
      _.onDismissed = t1;
      _.direction = t2;
      _.resizeDuration = t3;
      _.key = t4;
    },
    _FlingGestureKind: function _FlingGestureKind(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _DismissibleState: function _DismissibleState(t0, t1, t2, t3) {
      var _ = this;
      _._moveController = null;
      _.___DismissibleState__moveAnimation = $;
      _._resizeAnimation = _._resizeController = null;
      _._dragExtent = 0;
      _._dragUnderway = _._confirming = false;
      _._sizePriorToCollapse = null;
      _._dismissThresholdReached = false;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _DismissibleState__handleDragStart_closure: function _DismissibleState__handleDragStart_closure(t0) {
      this.$this = t0;
    },
    _DismissibleState__handleDragUpdate_closure: function _DismissibleState__handleDragUpdate_closure(t0) {
      this.$this = t0;
    },
    __DismissibleState_State_TickerProviderStateMixin: function __DismissibleState_State_TickerProviderStateMixin() {
    },
    __DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin: function __DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin() {
    },
    DisplayFeatureSubScreen__fallbackAnchorPoint(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      switch (t1.textDirection.index) {
        case 0:
          return B.Offset_L9C;
        case 1:
          return B.Offset_0_0;
      }
    },
    DisplayFeatureSubScreen_avoidBounds(mediaQuery) {
      var t1 = mediaQuery.displayFeatures,
        t2 = A._arrayInstanceType(t1);
      return new A.MappedIterable(new A.WhereIterable(t1, new A.DisplayFeatureSubScreen_avoidBounds_closure(), t2._eval$1("WhereIterable<1>")), new A.DisplayFeatureSubScreen_avoidBounds_closure0(), t2._eval$1("MappedIterable<1,Rect>"));
    },
    DisplayFeatureSubScreen__closestToAnchorPoint(subScreens, anchorPoint) {
      var t1, _i, $screen, subScreenDistance,
        closestScreen = B.JSArray_methods.get$first(subScreens),
        closestDistance = A.DisplayFeatureSubScreen__distanceFromPointToRect(anchorPoint, closestScreen);
      for (t1 = subScreens.length, _i = 0; _i < subScreens.length; subScreens.length === t1 || (0, A.throwConcurrentModificationError)(subScreens), ++_i) {
        $screen = subScreens[_i];
        subScreenDistance = A.DisplayFeatureSubScreen__distanceFromPointToRect(anchorPoint, $screen);
        if (subScreenDistance < closestDistance) {
          closestDistance = subScreenDistance;
          closestScreen = $screen;
        }
      }
      return closestScreen;
    },
    DisplayFeatureSubScreen__distanceFromPointToRect(point, rect) {
      var t3, t4,
        t1 = point._dx,
        t2 = rect.left;
      if (t1 < t2) {
        t3 = point._dy;
        t4 = rect.top;
        if (t3 < t4)
          return point.$sub(0, new A.Offset(t2, t4)).get$distance();
        else {
          t4 = rect.bottom;
          if (t3 > t4)
            return point.$sub(0, new A.Offset(t2, t4)).get$distance();
          else
            return t2 - t1;
        }
      } else {
        t2 = rect.right;
        if (t1 > t2) {
          t3 = point._dy;
          t4 = rect.top;
          if (t3 < t4)
            return point.$sub(0, new A.Offset(t2, t4)).get$distance();
          else {
            t4 = rect.bottom;
            if (t3 > t4)
              return point.$sub(0, new A.Offset(t2, t4)).get$distance();
            else
              return t1 - t2;
          }
        } else {
          t1 = point._dy;
          t2 = rect.top;
          if (t1 < t2)
            return t2 - t1;
          else {
            t2 = rect.bottom;
            if (t1 > t2)
              return t1 - t2;
            else
              return 0;
          }
        }
      }
    },
    DisplayFeatureSubScreen_subScreensInBounds(wantedBounds, avoidBounds) {
      var t2, t3, newSubScreens, t4, t5, t6, t7, _i, $screen, t8, t9,
        t1 = type$.JSArray_Rect,
        subScreens = A._setArrayType([wantedBounds], t1);
      for (t2 = avoidBounds.get$iterator(avoidBounds); t2.moveNext$0(); subScreens = newSubScreens) {
        t3 = t2.get$current(t2);
        newSubScreens = A._setArrayType([], t1);
        for (t4 = subScreens.length, t5 = t3.left, t6 = t3.top, t7 = t3.bottom, t3 = t3.right, _i = 0; _i < subScreens.length; subScreens.length === t4 || (0, A.throwConcurrentModificationError)(subScreens), ++_i) {
          $screen = subScreens[_i];
          t8 = $screen.top;
          if (t8 >= t6 && $screen.bottom <= t7) {
            t9 = $screen.left;
            if (t9 < t5)
              newSubScreens.push(new A.Rect(t9, t8, t9 + (t5 - t9), t8 + ($screen.bottom - t8)));
            t9 = $screen.right;
            if (t9 > t3)
              newSubScreens.push(new A.Rect(t3, t8, t3 + (t9 - t3), t8 + ($screen.bottom - t8)));
          } else {
            t9 = $screen.left;
            if (t9 >= t5 && $screen.right <= t3) {
              if (t8 < t6)
                newSubScreens.push(new A.Rect(t9, t8, t9 + ($screen.right - t9), t8 + (t6 - t8)));
              t8 = $screen.bottom;
              if (t8 > t7)
                newSubScreens.push(new A.Rect(t9, t7, t9 + ($screen.right - t9), t7 + (t8 - t7)));
            } else
              newSubScreens.push($screen);
          }
        }
      }
      return subScreens;
    },
    DisplayFeatureSubScreen__capOffset(offset, maximum) {
      var t2,
        t1 = offset._dx;
      if (t1 >= 0)
        if (t1 <= maximum._dx) {
          t2 = offset._dy;
          t2 = t2 >= 0 && t2 <= maximum._dy;
        } else
          t2 = false;
      else
        t2 = false;
      if (t2)
        return offset;
      else
        return new A.Offset(Math.min(Math.max(0, t1), maximum._dx), Math.min(Math.max(0, offset._dy), maximum._dy));
    },
    DisplayFeatureSubScreen: function DisplayFeatureSubScreen(t0, t1, t2) {
      this.anchorPoint = t0;
      this.child = t1;
      this.key = t2;
    },
    DisplayFeatureSubScreen_avoidBounds_closure: function DisplayFeatureSubScreen_avoidBounds_closure() {
    },
    DisplayFeatureSubScreen_avoidBounds_closure0: function DisplayFeatureSubScreen_avoidBounds_closure0() {
    },
    DisposableBuildContext: function DisposableBuildContext(t0, t1) {
      this._disposable_build_context$_state = t0;
      this.$ti = t1;
    },
    DualTransitionBuilder: function DualTransitionBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.animation = t0;
      _.forwardBuilder = t1;
      _.reverseBuilder = t2;
      _.child = t3;
      _.key = t4;
    },
    _DualTransitionBuilderState: function _DualTransitionBuilderState(t0, t1, t2) {
      var _ = this;
      _.___DualTransitionBuilderState__effectiveAnimationStatus = $;
      _._forwardAnimation = t0;
      _._reverseAnimation = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    EditableText$(autocorrect, autocorrectionTextRectColor, autofillClient, autofillHints, autofocus, backgroundCursorColor, clipBehavior, controller, cursorColor, cursorHeight, cursorOffset, cursorOpacityAnimates, cursorRadius, cursorWidth, dragStartBehavior, enableIMEPersonalizedLearning, enableInteractiveSelection, enableSuggestions, expands, focusNode, forceLine, inputFormatters, key, keyboardAppearance, keyboardType, maxLines, minLines, mouseCursor, obscureText, obscuringCharacter, onAppPrivateCommand, onChanged, onEditingComplete, onSelectionChanged, onSelectionHandleTapped, onSubmitted, paintCursorAboveText, readOnly, rendererIgnoresPointer, restorationId, scribbleEnabled, scrollController, scrollPadding, scrollPhysics, selectionColor, selectionControls, selectionHeightStyle, selectionWidthStyle, showCursor, showSelectionHandles, smartDashesType, smartQuotesType, strutStyle, style, textAlign, textCapitalization, textDirection, textHeightBehavior, textInputAction, textScaleFactor, textWidthBasis, toolbarOptions) {
      var t1, t2, t3, t4;
      if (smartDashesType == null)
        t1 = B.SmartDashesType_1;
      else
        t1 = smartDashesType;
      if (smartQuotesType == null)
        t2 = B.SmartQuotesType_1;
      else
        t2 = smartQuotesType;
      t3 = keyboardType == null ? A.EditableText__inferKeyboardType(autofillHints, maxLines) : keyboardType;
      if (maxLines === 1) {
        t4 = A._setArrayType([$.$get$FilteringTextInputFormatter_singleLineFormatter()], type$.JSArray_TextInputFormatter);
        B.JSArray_methods.addAll$1(t4, inputFormatters == null ? B.C_EmptyIterable0 : inputFormatters);
      } else
        t4 = inputFormatters;
      return new A.EditableText(controller, focusNode, obscuringCharacter, false, textHeightBehavior, textWidthBasis, readOnly, forceLine, toolbarOptions, showSelectionHandles, showCursor == null ? !readOnly : showCursor, true, t1, t2, true, style, strutStyle, textAlign, textDirection, textCapitalization, textScaleFactor, cursorColor, autocorrectionTextRectColor, backgroundCursorColor, maxLines, minLines, false, autofocus, selectionColor, selectionControls, t3, textInputAction, onChanged, onEditingComplete, onSubmitted, onAppPrivateCommand, onSelectionChanged, onSelectionHandleTapped, t4, mouseCursor, true, cursorWidth, cursorHeight, cursorRadius, cursorOpacityAnimates, cursorOffset, paintCursorAboveText, selectionHeightStyle, selectionWidthStyle, keyboardAppearance, scrollPadding, enableInteractiveSelection, dragStartBehavior, scrollController, scrollPhysics, true, autofillHints, autofillClient, clipBehavior, restorationId, true, key);
    },
    EditableText__inferKeyboardType(autofillHints, maxLines) {
      return maxLines === 1 ? B.TextInputType_0_null_null : B.TextInputType_1_null_null;
    },
    _Editable__extractChildren(span) {
      var result = A._setArrayType([], type$.JSArray_Widget);
      span.visitChildren$1(new A._Editable__extractChildren_closure(result));
      return result;
    },
    _throttle(duration, $function, $T) {
      var t1 = {};
      t1.timer = null;
      t1.calledDuringTimer = false;
      return new A._throttle_closure(t1, A._Cell$named("arg"), false, $function, duration, $T);
    },
    TextEditingController: function TextEditingController(t0, t1) {
      var _ = this;
      _._change_notifier$_value = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ToolbarOptions: function ToolbarOptions(t0, t1, t2, t3) {
      var _ = this;
      _.copy = t0;
      _.cut = t1;
      _.paste = t2;
      _.selectAll = t3;
    },
    EditableText: function EditableText(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, t47, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57, t58, t59, t60, t61) {
      var _ = this;
      _.controller = t0;
      _.focusNode = t1;
      _.obscuringCharacter = t2;
      _.obscureText = t3;
      _.textHeightBehavior = t4;
      _.textWidthBasis = t5;
      _.readOnly = t6;
      _.forceLine = t7;
      _.toolbarOptions = t8;
      _.showSelectionHandles = t9;
      _.showCursor = t10;
      _.autocorrect = t11;
      _.smartDashesType = t12;
      _.smartQuotesType = t13;
      _.enableSuggestions = t14;
      _.style = t15;
      _._editable_text$_strutStyle = t16;
      _.textAlign = t17;
      _.textDirection = t18;
      _.textCapitalization = t19;
      _.textScaleFactor = t20;
      _.cursorColor = t21;
      _.autocorrectionTextRectColor = t22;
      _.backgroundCursorColor = t23;
      _.maxLines = t24;
      _.minLines = t25;
      _.expands = t26;
      _.autofocus = t27;
      _.selectionColor = t28;
      _.selectionControls = t29;
      _.keyboardType = t30;
      _.textInputAction = t31;
      _.onChanged = t32;
      _.onEditingComplete = t33;
      _.onSubmitted = t34;
      _.onAppPrivateCommand = t35;
      _.onSelectionChanged = t36;
      _.onSelectionHandleTapped = t37;
      _.inputFormatters = t38;
      _.mouseCursor = t39;
      _.rendererIgnoresPointer = t40;
      _.cursorWidth = t41;
      _.cursorHeight = t42;
      _.cursorRadius = t43;
      _.cursorOpacityAnimates = t44;
      _.cursorOffset = t45;
      _.paintCursorAboveText = t46;
      _.selectionHeightStyle = t47;
      _.selectionWidthStyle = t48;
      _.keyboardAppearance = t49;
      _.scrollPadding = t50;
      _.enableInteractiveSelection = t51;
      _.dragStartBehavior = t52;
      _.scrollController = t53;
      _.scrollPhysics = t54;
      _.scribbleEnabled = t55;
      _.autofillHints = t56;
      _.autofillClient = t57;
      _.clipBehavior = t58;
      _.restorationId = t59;
      _.enableIMEPersonalizedLearning = t60;
      _.key = t61;
    },
    EditableTextState: function EditableTextState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _._cursorTimer = null;
      _._targetCursorVisibility = false;
      _._cursorVisibilityNotifier = t0;
      _._editableKey = t1;
      _._cursorBlinkOpacityController = _._internalScrollController = _._selectionOverlay = _._textInputConnection = null;
      _._toolbarLayerLink = t2;
      _._startHandleLayerLink = t3;
      _._endHandleLayerLink = t4;
      _._didAutoFocus = false;
      _._lastOrientation = _._floatingCursorResetController = _._currentAutofillScope = null;
      _._tickersEnabled = true;
      _._lastBoundedOffset = _._pointOffsetOrigin = _._lastTextPosition = _._startCaretRect = _._lastKnownRemoteTextEditingValue = null;
      _._batchEditDepth = 0;
      _._restartConnectionScheduled = false;
      _._currentCaretRect = null;
      _._showCaretOnScreenScheduled = false;
      _.__EditableTextState__lastBottomViewInset = $;
      _._obscureShowCharTicksPending = 0;
      _._obscureLatestCharIndex = null;
      _._cursorActive = false;
      _._cachedText = "";
      _._cachedFirstRect = null;
      _._editable_text$_cachedSize = t5;
      _._cachedPlaceholder = -1;
      _._cachedTextStyle = null;
      _._placeholderLocation = -1;
      _._currentPromptRectRange = null;
      _.__EditableTextState__actions = _.__EditableTextState__adjacentLineAction = _.__EditableTextState__updateSelectionAction = _.__EditableTextState__replaceTextAction = _.__EditableTextState__transposeCharactersAction = $;
      _.TickerProviderStateMixin__tickers = t6;
      _.TickerProviderStateMixin__tickerModeNotifier = t7;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t8;
      _._widget = null;
      _._debugLifecycleState = t9;
      _._framework$_element = null;
    },
    EditableTextState_cutSelection_closure: function EditableTextState_cutSelection_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_pasteText_closure: function EditableTextState_pasteText_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_didChangeDependencies_closure: function EditableTextState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__scheduleShowCaretOnScreen_closure: function EditableTextState__scheduleShowCaretOnScreen_closure(t0, t1) {
      this.$this = t0;
      this.withAnimation = t1;
    },
    EditableTextState_didChangeMetrics_closure: function EditableTextState_didChangeMetrics_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__formatAndSetValue_closure: function EditableTextState__formatAndSetValue_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__cursorTick_closure: function EditableTextState__cursorTick_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__didChangeTextEditingValue_closure: function EditableTextState__didChangeTextEditingValue_closure() {
    },
    EditableTextState__handleFocusChanged_closure: function EditableTextState__handleFocusChanged_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__updateSelectionRects_closure: function EditableTextState__updateSelectionRects_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    EditableTextState__updateSelectionRects_closure0: function EditableTextState__updateSelectionRects_closure0(t0) {
      this.$this = t0;
    },
    EditableTextState__updateSelectionRects_closure1: function EditableTextState__updateSelectionRects_closure1() {
    },
    EditableTextState__updateSizeAndTransform_closure: function EditableTextState__updateSizeAndTransform_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__updateComposingRectIfNeeded_closure: function EditableTextState__updateComposingRectIfNeeded_closure(t0) {
      this.$this = t0;
    },
    EditableTextState__updateCaretRectIfNeeded_closure: function EditableTextState__updateCaretRectIfNeeded_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_insertTextPlaceholder_closure: function EditableTextState_insertTextPlaceholder_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_removeTextPlaceholder_closure: function EditableTextState_removeTextPlaceholder_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_showAutocorrectionPromptRect_closure: function EditableTextState_showAutocorrectionPromptRect_closure(t0, t1, t2) {
      this.$this = t0;
      this.start = t1;
      this.end = t2;
    },
    EditableTextState__semanticsOnCopy_closure: function EditableTextState__semanticsOnCopy_closure(t0, t1) {
      this.$this = t0;
      this.controls = t1;
    },
    EditableTextState__semanticsOnCut_closure: function EditableTextState__semanticsOnCut_closure(t0, t1) {
      this.$this = t0;
      this.controls = t1;
    },
    EditableTextState__semanticsOnPaste_closure: function EditableTextState__semanticsOnPaste_closure(t0, t1) {
      this.$this = t0;
      this.controls = t1;
    },
    EditableTextState__actions_closure: function EditableTextState__actions_closure(t0) {
      this.$this = t0;
    },
    EditableTextState_build_closure0: function EditableTextState_build_closure0(t0) {
      this.$this = t0;
    },
    EditableTextState_build_closure: function EditableTextState_build_closure(t0, t1) {
      this.$this = t0;
      this.controls = t1;
    },
    EditableTextState_build__closure: function EditableTextState_build__closure(t0) {
      this.$this = t0;
    },
    _Editable: function _Editable(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) {
      var _ = this;
      _.inlineSpan = t0;
      _.value = t1;
      _.cursorColor = t2;
      _.startHandleLayerLink = t3;
      _.endHandleLayerLink = t4;
      _.backgroundCursorColor = t5;
      _.showCursor = t6;
      _.forceLine = t7;
      _.readOnly = t8;
      _.hasFocus = t9;
      _.maxLines = t10;
      _.minLines = t11;
      _.expands = t12;
      _.strutStyle = t13;
      _.selectionColor = t14;
      _.textScaleFactor = t15;
      _.textAlign = t16;
      _.textDirection = t17;
      _.locale = t18;
      _.obscuringCharacter = t19;
      _.obscureText = t20;
      _.textHeightBehavior = t21;
      _.textWidthBasis = t22;
      _.offset = t23;
      _.onCaretChanged = t24;
      _.rendererIgnoresPointer = t25;
      _.cursorWidth = t26;
      _.cursorHeight = t27;
      _.cursorRadius = t28;
      _.cursorOffset = t29;
      _.paintCursorAboveText = t30;
      _.selectionHeightStyle = t31;
      _.selectionWidthStyle = t32;
      _.enableInteractiveSelection = t33;
      _.textSelectionDelegate = t34;
      _.devicePixelRatio = t35;
      _.promptRectRange = t36;
      _.promptRectColor = t37;
      _.clipBehavior = t38;
      _.children = t39;
      _.key = t40;
    },
    _Editable__extractChildren_closure: function _Editable__extractChildren_closure(t0) {
      this.result = t0;
    },
    _ScribbleFocusable: function _ScribbleFocusable(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.child = t0;
      _.focusNode = t1;
      _.editableKey = t2;
      _.updateSelectionRects = t3;
      _.enabled = t4;
      _.key = t5;
    },
    _ScribbleFocusableState: function _ScribbleFocusableState(t0, t1) {
      var _ = this;
      _._elementIdentifier = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _ScribbleFocusableState_isInScribbleRect_closure: function _ScribbleFocusableState_isInScribbleRect_closure(t0) {
      this.$this = t0;
    },
    _ScribblePlaceholder: function _ScribblePlaceholder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.size = t0;
      _.child = t1;
      _.alignment = t2;
      _.baseline = t3;
      _.style = t4;
    },
    _TextBoundary: function _TextBoundary() {
    },
    _WhitespaceBoundary: function _WhitespaceBoundary(t0) {
      this.textEditingValue = t0;
    },
    _CharacterBoundary: function _CharacterBoundary(t0) {
      this.textEditingValue = t0;
    },
    _WordBoundary: function _WordBoundary(t0, t1) {
      this.textLayout = t0;
      this.textEditingValue = t1;
    },
    _LineBreak: function _LineBreak(t0, t1) {
      this.textLayout = t0;
      this.textEditingValue = t1;
    },
    _DocumentBoundary: function _DocumentBoundary(t0) {
      this.textEditingValue = t0;
    },
    _ExpandedTextBoundary: function _ExpandedTextBoundary(t0, t1) {
      this.innerTextBoundary = t0;
      this.outerTextBoundary = t1;
    },
    _CollapsedSelectionBoundary: function _CollapsedSelectionBoundary(t0, t1) {
      this.innerTextBoundary = t0;
      this.isForward = t1;
    },
    _MixedBoundary: function _MixedBoundary(t0, t1) {
      this.leadingTextBoundary = t0;
      this.trailingTextBoundary = t1;
    },
    _DeleteTextAction: function _DeleteTextAction(t0, t1, t2, t3) {
      var _ = this;
      _.state = t0;
      _.getTextBoundariesForIntent = t1;
      _._actions$_listeners = t2;
      _._currentCallingAction = null;
      _.$ti = t3;
    },
    _UpdateTextSelectionAction: function _UpdateTextSelectionAction(t0, t1, t2, t3, t4) {
      var _ = this;
      _.state = t0;
      _.ignoreNonCollapsedSelection = t1;
      _.getTextBoundariesForIntent = t2;
      _._actions$_listeners = t3;
      _._currentCallingAction = null;
      _.$ti = t4;
    },
    _UpdateTextSelectionAction_invoke_collapse: function _UpdateTextSelectionAction_invoke_collapse(t0) {
      this.intent = t0;
    },
    _ExtendSelectionOrCaretPositionAction: function _ExtendSelectionOrCaretPositionAction(t0, t1, t2) {
      var _ = this;
      _.state = t0;
      _.getTextBoundariesForIntent = t1;
      _._actions$_listeners = t2;
      _._currentCallingAction = null;
    },
    _UpdateTextSelectionToAdjacentLineAction: function _UpdateTextSelectionToAdjacentLineAction(t0, t1, t2) {
      var _ = this;
      _.state = t0;
      _._runSelection = _._verticalMovementRun = null;
      _._actions$_listeners = t1;
      _._currentCallingAction = null;
      _.$ti = t2;
    },
    _SelectAllAction: function _SelectAllAction(t0, t1) {
      this.state = t0;
      this._actions$_listeners = t1;
      this._currentCallingAction = null;
    },
    _CopySelectionAction: function _CopySelectionAction(t0, t1) {
      this.state = t0;
      this._actions$_listeners = t1;
      this._currentCallingAction = null;
    },
    _TextEditingHistory: function _TextEditingHistory(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.controller = t1;
      _.onTriggered = t2;
      _.key = t3;
    },
    _TextEditingHistoryState: function _TextEditingHistoryState(t0, t1) {
      var _ = this;
      _._editable_text$_stack = t0;
      _.___TextEditingHistoryState__throttledPush = $;
      _._widget = _._throttleTimer = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _UndoStack: function _UndoStack(t0, t1) {
      this._editable_text$_list = t0;
      this.___UndoStack__index = $;
      this.$ti = t1;
    },
    _throttle_closure: function _throttle_closure(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.arg = t1;
      _.leadingEdge = t2;
      _.$function = t3;
      _.duration = t4;
      _.T = t5;
    },
    _throttle__closure: function _throttle__closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.leadingEdge = t1;
      _.$function = t2;
      _.arg = t3;
    },
    _EditableTextState_State_AutomaticKeepAliveClientMixin: function _EditableTextState_State_AutomaticKeepAliveClientMixin() {
    },
    _EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver: function _EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver() {
    },
    _EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin: function _EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin() {
    },
    _EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate: function _EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate() {
    },
    combineKeyEventResults(results) {
      var t1, hasSkipRemainingHandlers, _i;
      for (t1 = results.length, hasSkipRemainingHandlers = false, _i = 0; _i < t1; ++_i)
        switch (results[_i].index) {
          case 0:
            return B.KeyEventResult_0;
          case 2:
            hasSkipRemainingHandlers = true;
            break;
          case 1:
            break;
        }
      return hasSkipRemainingHandlers ? B.KeyEventResult_2 : B.KeyEventResult_1;
    },
    FocusNode$(canRequestFocus, debugLabel, descendantsAreFocusable, descendantsAreTraversable, onKey, onKeyEvent, skipTraversal) {
      return new A.FocusNode(skipTraversal, canRequestFocus, descendantsAreFocusable, true, onKey, onKeyEvent, A._setArrayType([], type$.JSArray_FocusNode), $.$get$ChangeNotifier__emptyListeners());
    },
    FocusScopeNode$(canRequestFocus, debugLabel, skipTraversal) {
      var t1 = type$.JSArray_FocusNode;
      return new A.FocusScopeNode(A._setArrayType([], t1), skipTraversal, canRequestFocus, true, true, null, null, A._setArrayType([], t1), $.$get$ChangeNotifier__emptyListeners());
    },
    FocusManager__defaultModeForPlatform() {
      switch (A.defaultTargetPlatform().index) {
        case 0:
        case 1:
        case 2:
          if ($.WidgetsBinding__instance.RendererBinding__mouseTracker._mouseStates._length !== 0)
            return B.FocusHighlightMode_1;
          return B.FocusHighlightMode_0;
        case 3:
        case 4:
        case 5:
          return B.FocusHighlightMode_1;
      }
    },
    KeyEventResult: function KeyEventResult(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _Autofocus: function _Autofocus(t0, t1) {
      this.scope = t0;
      this.autofocusNode = t1;
    },
    FocusAttachment: function FocusAttachment(t0) {
      this._node = t0;
    },
    UnfocusDisposition: function UnfocusDisposition(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FocusNode: function FocusNode(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._skipTraversal = t0;
      _._canRequestFocus = t1;
      _._descendantsAreFocusable = t2;
      _._focus_manager$_descendantsAreTraversable = t3;
      _._context = null;
      _.onKey = t4;
      _.onKeyEvent = t5;
      _._descendants = _._ancestors = _._manager = null;
      _._hasKeyboardToken = false;
      _._focus_manager$_parent = null;
      _._children = t6;
      _._attachment = _._focus_manager$_debugLabel = null;
      _._requestFocusWhenReparented = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t7;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    FocusNode_traversalDescendants_closure: function FocusNode_traversalDescendants_closure() {
    },
    FocusNode_debugDescribeChildren_closure: function FocusNode_debugDescribeChildren_closure(t0) {
      this._box_0 = t0;
    },
    FocusScopeNode: function FocusScopeNode(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._focusedChildren = t0;
      _._skipTraversal = t1;
      _._canRequestFocus = t2;
      _._descendantsAreFocusable = t3;
      _._focus_manager$_descendantsAreTraversable = t4;
      _._context = null;
      _.onKey = t5;
      _.onKeyEvent = t6;
      _._descendants = _._ancestors = _._manager = null;
      _._hasKeyboardToken = false;
      _._focus_manager$_parent = null;
      _._children = t7;
      _._attachment = _._focus_manager$_debugLabel = null;
      _._requestFocusWhenReparented = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t8;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    FocusHighlightMode: function FocusHighlightMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FocusHighlightStrategy: function FocusHighlightStrategy(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FocusManager: function FocusManager(t0, t1, t2, t3, t4) {
      var _ = this;
      _._lastInteractionWasTouch = _._highlightMode = null;
      _._focus_manager$_listeners = t0;
      _.rootScope = t1;
      _._primaryFocus = null;
      _._focus_manager$_dirtyNodes = t2;
      _._markedForFocus = null;
      _._pendingAutofocuses = t3;
      _._haveScheduledUpdate = false;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t4;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _FocusManager_Object_DiagnosticableTreeMixin: function _FocusManager_Object_DiagnosticableTreeMixin() {
    },
    _FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier: function _FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier() {
    },
    _FocusNode_Object_DiagnosticableTreeMixin: function _FocusNode_Object_DiagnosticableTreeMixin() {
    },
    _FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier: function _FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier() {
    },
    Focus$(autofocus, canRequestFocus, child, debugLabel, descendantsAreFocusable, descendantsAreTraversable, focusNode, includeSemantics, key, onFocusChange, onKey, onKeyEvent, skipTraversal) {
      return new A.Focus(child, focusNode, autofocus, onFocusChange, onKeyEvent, onKey, canRequestFocus, skipTraversal, descendantsAreFocusable, descendantsAreTraversable, includeSemantics, debugLabel, key);
    },
    Focus_maybeOf(context, scopeOk) {
      var marker = context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusMarker),
        node = marker == null ? null : marker.notifier;
      if (node == null)
        return null;
      return node;
    },
    _FocusState$() {
      return new A._FocusState(B._StateLifecycle_0);
    },
    FocusScope$(autofocus, child, key, node) {
      var _null = null;
      return new A.FocusScope(child, node, autofocus, _null, _null, _null, _null, _null, _null, _null, true, _null, key);
    },
    FocusScope_of(context) {
      var t1,
        marker = context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusMarker);
      if (marker == null)
        t1 = null;
      else
        t1 = marker.notifier.get$nearestScope();
      return t1 == null ? context._framework$_owner.focusManager.rootScope : t1;
    },
    _FocusMarker$(child, node) {
      return new A._FocusMarker(node, child, null);
    },
    Focus: function Focus(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.child = t0;
      _.focusNode = t1;
      _.autofocus = t2;
      _.onFocusChange = t3;
      _._onKeyEvent = t4;
      _._onKey = t5;
      _._focus_scope$_canRequestFocus = t6;
      _._focus_scope$_skipTraversal = t7;
      _._focus_scope$_descendantsAreFocusable = t8;
      _._descendantsAreTraversable = t9;
      _.includeSemantics = t10;
      _._focus_scope$_debugLabel = t11;
      _.key = t12;
    },
    _FocusState: function _FocusState(t0) {
      var _ = this;
      _._internalNode = null;
      _.___FocusState__descendantsWereTraversable = _.___FocusState__descendantsWereFocusable = _.___FocusState__couldRequestFocus = _.___FocusState__hadPrimaryFocus = $;
      _._didAutofocus = false;
      _._widget = _._focusAttachment = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _FocusState__handleFocusChanged_closure: function _FocusState__handleFocusChanged_closure(t0, t1) {
      this.$this = t0;
      this.hasPrimaryFocus = t1;
    },
    _FocusState__handleFocusChanged_closure0: function _FocusState__handleFocusChanged_closure0(t0, t1) {
      this.$this = t0;
      this.canRequestFocus = t1;
    },
    _FocusState__handleFocusChanged_closure1: function _FocusState__handleFocusChanged_closure1(t0, t1) {
      this.$this = t0;
      this.descendantsAreFocusable = t1;
    },
    _FocusState__handleFocusChanged_closure2: function _FocusState__handleFocusChanged_closure2(t0, t1) {
      this.$this = t0;
      this.descendantsAreTraversable = t1;
    },
    FocusScope: function FocusScope(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.child = t0;
      _.focusNode = t1;
      _.autofocus = t2;
      _.onFocusChange = t3;
      _._onKeyEvent = t4;
      _._onKey = t5;
      _._focus_scope$_canRequestFocus = t6;
      _._focus_scope$_skipTraversal = t7;
      _._focus_scope$_descendantsAreFocusable = t8;
      _._descendantsAreTraversable = t9;
      _.includeSemantics = t10;
      _._focus_scope$_debugLabel = t11;
      _.key = t12;
    },
    _FocusScopeState: function _FocusScopeState(t0) {
      var _ = this;
      _._internalNode = null;
      _.___FocusState__descendantsWereTraversable = _.___FocusState__descendantsWereFocusable = _.___FocusState__couldRequestFocus = _.___FocusState__hadPrimaryFocus = $;
      _._didAutofocus = false;
      _._widget = _._focusAttachment = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _FocusMarker: function _FocusMarker(t0, t1, t2) {
      this.notifier = t0;
      this.child = t1;
      this.key = t2;
    },
    ExcludeFocus: function ExcludeFocus(t0, t1, t2) {
      this.excluding = t0;
      this.child = t1;
      this.key = t2;
    },
    _getAncestor(context, count) {
      var t1 = {};
      t1.count = count;
      t1.target = null;
      context.visitAncestorElements$1(new A._getAncestor_closure(t1));
      return t1.target;
    },
    _focusAndEnsureVisible(node, alignmentPolicy) {
      var t1;
      node.requestFocus$0();
      t1 = node._context;
      t1.toString;
      A.Scrollable_ensureVisible(t1, 1, alignmentPolicy);
    },
    _FocusTraversalGroupInfo$(marker, defaultPolicy, members) {
      var t1 = marker == null ? null : marker.policy;
      if (t1 == null)
        t1 = defaultPolicy;
      return new A._FocusTraversalGroupInfo(t1, members);
    },
    _ReadingOrderSortData_commonDirectionalityOf(list) {
      var t2, common, t3, common0,
        t1 = A._arrayInstanceType(list)._eval$1("MappedListIterable<1,Set<Directionality>>"),
        allAncestors = new A.MappedListIterable(list, new A._ReadingOrderSortData_commonDirectionalityOf_closure(), t1);
      for (t2 = new A.ListIterator(allAncestors, allAncestors.get$length(allAncestors), t1._eval$1("ListIterator<ListIterable.E>")), t1 = t1._eval$1("ListIterable.E"), common = null; t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        common0 = t3 == null ? t1._as(t3) : t3;
        common = (common == null ? common0 : common).intersection$1(0, common0);
      }
      if (common.get$isEmpty(common))
        return B.JSArray_methods.get$first(list).directionality;
      return B.JSArray_methods.firstWhere$1(B.JSArray_methods.get$first(list).get$directionalAncestors(), common.get$contains(common)).textDirection;
    },
    _ReadingOrderSortData_sortWithDirectionality(list, directionality) {
      A.mergeSort(list, new A._ReadingOrderSortData_sortWithDirectionality_closure(directionality), type$._ReadingOrderSortData);
    },
    _ReadingOrderDirectionalGroupData_sortWithDirectionality(list, directionality) {
      A.mergeSort(list, new A._ReadingOrderDirectionalGroupData_sortWithDirectionality_closure(directionality), type$._ReadingOrderDirectionalGroupData);
    },
    _getAncestor_closure: function _getAncestor_closure(t0) {
      this._box_0 = t0;
    },
    _FocusTraversalGroupInfo: function _FocusTraversalGroupInfo(t0, t1) {
      this.policy = t0;
      this.members = t1;
    },
    TraversalDirection: function TraversalDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    FocusTraversalPolicy: function FocusTraversalPolicy() {
    },
    FocusTraversalPolicy__sortAllDescendants_visitGroups: function FocusTraversalPolicy__sortAllDescendants_visitGroups(t0, t1) {
      this.groups = t0;
      this.sortedDescendants = t1;
    },
    FocusTraversalPolicy__sortAllDescendants_closure: function FocusTraversalPolicy__sortAllDescendants_closure() {
    },
    _DirectionalPolicyDataEntry: function _DirectionalPolicyDataEntry(t0, t1) {
      this.direction = t0;
      this.node = t1;
    },
    _DirectionalPolicyData: function _DirectionalPolicyData(t0) {
      this.history = t0;
    },
    DirectionalFocusTraversalPolicyMixin: function DirectionalFocusTraversalPolicyMixin() {
    },
    _ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure: function _ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure(t0) {
      this.node = t0;
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure: function DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure(t0, t1) {
      this.vertical = t0;
      this.first = t1;
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure: function DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure() {
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0: function DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0(t0) {
      this.target = t0;
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1: function DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1(t0) {
      this.target = t0;
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure: function DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure() {
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0: function DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0(t0) {
      this.target = t0;
    },
    DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1: function DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1(t0) {
      this.target = t0;
    },
    DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate: function DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate(t0, t1, t2) {
      this.$this = t0;
      this.policyData = t1;
      this.nearestScope = t2;
    },
    DirectionalFocusTraversalPolicyMixin_inDirection_closure: function DirectionalFocusTraversalPolicyMixin_inDirection_closure(t0) {
      this.focusedScrollable = t0;
    },
    DirectionalFocusTraversalPolicyMixin_inDirection_closure0: function DirectionalFocusTraversalPolicyMixin_inDirection_closure0(t0) {
      this.band = t0;
    },
    DirectionalFocusTraversalPolicyMixin_inDirection_closure1: function DirectionalFocusTraversalPolicyMixin_inDirection_closure1(t0) {
      this.focusedChild = t0;
    },
    DirectionalFocusTraversalPolicyMixin_inDirection_closure2: function DirectionalFocusTraversalPolicyMixin_inDirection_closure2(t0) {
      this.focusedScrollable = t0;
    },
    DirectionalFocusTraversalPolicyMixin_inDirection_closure3: function DirectionalFocusTraversalPolicyMixin_inDirection_closure3(t0) {
      this.band = t0;
    },
    DirectionalFocusTraversalPolicyMixin_inDirection_closure4: function DirectionalFocusTraversalPolicyMixin_inDirection_closure4(t0) {
      this.focusedChild = t0;
    },
    _ReadingOrderSortData: function _ReadingOrderSortData(t0, t1, t2) {
      var _ = this;
      _.directionality = t0;
      _.rect = t1;
      _.node = t2;
      _._directionalAncestors = null;
    },
    _ReadingOrderSortData_commonDirectionalityOf_closure: function _ReadingOrderSortData_commonDirectionalityOf_closure() {
    },
    _ReadingOrderSortData_sortWithDirectionality_closure: function _ReadingOrderSortData_sortWithDirectionality_closure(t0) {
      this.directionality = t0;
    },
    _ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors: function _ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors() {
    },
    _ReadingOrderDirectionalGroupData: function _ReadingOrderDirectionalGroupData(t0) {
      this.members = t0;
      this._focus_traversal$_rect = null;
    },
    _ReadingOrderDirectionalGroupData_rect_closure: function _ReadingOrderDirectionalGroupData_rect_closure() {
    },
    _ReadingOrderDirectionalGroupData_sortWithDirectionality_closure: function _ReadingOrderDirectionalGroupData_sortWithDirectionality_closure(t0) {
      this.directionality = t0;
    },
    ReadingOrderTraversalPolicy: function ReadingOrderTraversalPolicy(t0) {
      this.DirectionalFocusTraversalPolicyMixin__policyData = t0;
    },
    ReadingOrderTraversalPolicy__pickNext_closure: function ReadingOrderTraversalPolicy__pickNext_closure() {
    },
    ReadingOrderTraversalPolicy__pickNext_inBand: function ReadingOrderTraversalPolicy__pickNext_inBand() {
    },
    ReadingOrderTraversalPolicy__pickNext_inBand_closure: function ReadingOrderTraversalPolicy__pickNext_inBand_closure(t0) {
      this.band = t0;
    },
    FocusTraversalGroup: function FocusTraversalGroup(t0, t1, t2) {
      this.policy = t0;
      this.child = t1;
      this.key = t2;
    },
    _FocusTraversalGroupState: function _FocusTraversalGroupState(t0) {
      var _ = this;
      _._widget = _.focusNode = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _FocusTraversalGroupMarker: function _FocusTraversalGroupMarker(t0, t1, t2, t3) {
      var _ = this;
      _.policy = t0;
      _.focusNode = t1;
      _.child = t2;
      _.key = t3;
    },
    RequestFocusAction: function RequestFocusAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    NextFocusIntent: function NextFocusIntent() {
    },
    NextFocusAction: function NextFocusAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    PreviousFocusIntent: function PreviousFocusIntent() {
    },
    PreviousFocusAction: function PreviousFocusAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    DirectionalFocusIntent: function DirectionalFocusIntent(t0) {
      this.direction = t0;
    },
    DirectionalFocusAction: function DirectionalFocusAction(t0, t1) {
      this._isForTextField = t0;
      this._actions$_listeners = t1;
      this._currentCallingAction = null;
    },
    _FocusTraversalPolicy_Object_Diagnosticable: function _FocusTraversalPolicy_Object_Diagnosticable() {
    },
    _ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin: function _ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin() {
    },
    __ReadingOrderDirectionalGroupData_Object_Diagnosticable: function __ReadingOrderDirectionalGroupData_Object_Diagnosticable() {
    },
    __ReadingOrderSortData_Object_Diagnosticable: function __ReadingOrderSortData_Object_Diagnosticable() {
    },
    GlobalKey_GlobalKey(debugLabel, $T) {
      return new A.LabeledGlobalKey(debugLabel, $T._eval$1("LabeledGlobalKey<0>"));
    },
    _InactiveElements__deactivateRecursively(element) {
      element.deactivate$0();
      element.visitChildren$1(A.framework__InactiveElements__deactivateRecursively$closure());
    },
    Element__sort(a, b) {
      var t2, diff, isBDirty,
        t1 = a.__Element__depth;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = b.__Element__depth;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      diff = t1 - t2;
      if (diff !== 0)
        return diff;
      isBDirty = b._dirty;
      if (a._dirty !== isBDirty)
        return isBDirty ? -1 : 1;
      return 0;
    },
    Element__activateRecursively(element) {
      element.activate$0();
      element.visitChildren$1(A.framework_Element__activateRecursively$closure());
    },
    _ElementDiagnosticableTreeNode$($name, stateful, style, value) {
      return new A._ElementDiagnosticableTreeNode(stateful, value, $name, true, true, null, style);
    },
    ErrorWidget__defaultErrorWidgetBuilder(details) {
      var exception = details.exception,
        t1 = exception instanceof A.FlutterError ? exception : null;
      return new A.ErrorWidget("", t1, new A.UniqueKey());
    },
    StatefulElement$(widget) {
      var t1 = widget.createState$0(),
        t2 = new A.StatefulElement(t1, widget, B._ElementLifecycle_0);
      t1._framework$_element = t2;
      t1._widget = widget;
      return t2;
    },
    InheritedElement$(widget) {
      return new A.InheritedElement(A.HashMap_HashMap(null, null, null, type$.Element_2, type$.nullable_Object), widget, B._ElementLifecycle_0);
    },
    MultiChildRenderObjectElement$(widget) {
      return new A.MultiChildRenderObjectElement(A.HashSet_HashSet(type$.Element_2), widget, B._ElementLifecycle_0);
    },
    _debugReportException(context, exception, stack, informationCollector) {
      var details = new A.FlutterErrorDetails(exception, stack, "widgets library", context, informationCollector, false);
      A.FlutterError_reportError(details);
      return details;
    },
    _debugShouldReassemble(config, widget) {
      var t1;
      if (config != null) {
        t1 = config.widgetName;
        if (t1 != null)
          t1 = (widget == null ? null : A._rtiToString(A.getRuntimeType(widget)._rti, null)) === t1;
        else
          t1 = true;
      } else
        t1 = true;
      return t1;
    },
    GlobalKey: function GlobalKey() {
    },
    LabeledGlobalKey: function LabeledGlobalKey(t0, t1) {
      this._debugLabel = t0;
      this.$ti = t1;
    },
    GlobalObjectKey: function GlobalObjectKey(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    Widget: function Widget() {
    },
    StatelessWidget: function StatelessWidget() {
    },
    StatefulWidget: function StatefulWidget() {
    },
    _StateLifecycle: function _StateLifecycle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    State: function State() {
    },
    ProxyWidget: function ProxyWidget() {
    },
    ParentDataWidget: function ParentDataWidget() {
    },
    InheritedWidget: function InheritedWidget() {
    },
    RenderObjectWidget: function RenderObjectWidget() {
    },
    LeafRenderObjectWidget: function LeafRenderObjectWidget() {
    },
    SingleChildRenderObjectWidget: function SingleChildRenderObjectWidget() {
    },
    MultiChildRenderObjectWidget: function MultiChildRenderObjectWidget() {
    },
    _ElementLifecycle: function _ElementLifecycle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _InactiveElements: function _InactiveElements(t0) {
      this._locked = false;
      this._framework$_elements = t0;
    },
    _InactiveElements__unmount_closure: function _InactiveElements__unmount_closure(t0, t1) {
      this.$this = t0;
      this.element = t1;
    },
    BuildOwner: function BuildOwner(t0, t1, t2, t3) {
      var _ = this;
      _.onBuildScheduled = null;
      _._inactiveElements = t0;
      _._dirtyElements = t1;
      _._scheduledFlushDirtyElements = false;
      _._dirtyElementsNeedsResorting = null;
      _.focusManager = t2;
      _._debugStateLockLevel = 0;
      _._debugBuilding = false;
      _._debugElementsThatWillNeedToBeRebuiltDueToGlobalKeyShenanigans = _._debugCurrentBuildTarget = null;
      _._globalKeyRegistry = t3;
    },
    BuildOwner_buildScope_closure: function BuildOwner_buildScope_closure(t0, t1, t2) {
      this._box_1 = t0;
      this.$this = t1;
      this.element = t2;
    },
    NotifiableElementMixin: function NotifiableElementMixin() {
    },
    _NotificationNode: function _NotificationNode(t0, t1) {
      this.current = t0;
      this.parent = t1;
    },
    Element: function Element() {
    },
    Element_reassemble_closure: function Element_reassemble_closure(t0) {
      this.$this = t0;
    },
    Element_renderObject_visit: function Element_renderObject_visit(t0) {
      this._box_0 = t0;
    },
    Element_updateSlotForChild_visit: function Element_updateSlotForChild_visit(t0) {
      this.newSlot = t0;
    },
    Element__updateDepth_closure: function Element__updateDepth_closure(t0) {
      this.expectedDepth = t0;
    },
    Element_detachRenderObject_closure: function Element_detachRenderObject_closure() {
    },
    Element_attachRenderObject_closure: function Element_attachRenderObject_closure(t0) {
      this.newSlot = t0;
    },
    Element_debugDescribeChildren_closure: function Element_debugDescribeChildren_closure(t0) {
      this.children = t0;
    },
    _ElementDiagnosticableTreeNode: function _ElementDiagnosticableTreeNode(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.stateful = t0;
      _.value = t1;
      _._cachedBuilder = null;
      _.name = t2;
      _.showSeparator = t3;
      _.showName = t4;
      _.linePrefix = t5;
      _.style = t6;
    },
    ErrorWidget: function ErrorWidget(t0, t1, t2) {
      this.message = t0;
      this._flutterError = t1;
      this.key = t2;
    },
    ComponentElement: function ComponentElement() {
    },
    ComponentElement_performRebuild_closure: function ComponentElement_performRebuild_closure(t0) {
      this.$this = t0;
    },
    ComponentElement_performRebuild_closure0: function ComponentElement_performRebuild_closure0(t0) {
      this.$this = t0;
    },
    StatelessElement: function StatelessElement(t0, t1) {
      var _ = this;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    StatefulElement: function StatefulElement(t0, t1, t2) {
      var _ = this;
      _._framework$_state = t0;
      _._didChangeDependencies = false;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    ProxyElement: function ProxyElement() {
    },
    ParentDataElement: function ParentDataElement(t0, t1, t2) {
      var _ = this;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t2;
    },
    ParentDataElement__applyParentData_applyParentDataToChild: function ParentDataElement__applyParentData_applyParentDataToChild(t0) {
      this.widget = t0;
    },
    InheritedElement: function InheritedElement(t0, t1, t2) {
      var _ = this;
      _._dependents = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    RenderObjectElement: function RenderObjectElement() {
    },
    RenderObjectElement_updateChildren_replaceWithNullIfForgotten: function RenderObjectElement_updateChildren_replaceWithNullIfForgotten(t0) {
      this.forgottenChildren = t0;
    },
    RenderObjectElement_updateChildren_slotFor: function RenderObjectElement_updateChildren_slotFor(t0) {
      this.slots = t0;
    },
    RootRenderObjectElement: function RootRenderObjectElement() {
    },
    LeafRenderObjectElement: function LeafRenderObjectElement(t0, t1) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    SingleChildRenderObjectElement: function SingleChildRenderObjectElement(t0, t1) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._framework$_child = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    MultiChildRenderObjectElement: function MultiChildRenderObjectElement(t0, t1, t2) {
      var _ = this;
      _.__MultiChildRenderObjectElement__children = $;
      _._forgottenChildren = t0;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    MultiChildRenderObjectElement_children_closure: function MultiChildRenderObjectElement_children_closure(t0) {
      this.$this = t0;
    },
    IndexedSlot: function IndexedSlot(t0, t1, t2) {
      this.value = t0;
      this.index = t1;
      this.$ti = t2;
    },
    _NullElement: function _NullElement(t0, t1) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _NullWidget2: function _NullWidget2(t0) {
      this.key = t0;
    },
    _State_Object_Diagnosticable: function _State_Object_Diagnosticable() {
    },
    GestureDetector$(behavior, child, dragStartBehavior, excludeFromSemantics, key, onDoubleTap, onHorizontalDragCancel, onHorizontalDragDown, onHorizontalDragEnd, onHorizontalDragStart, onHorizontalDragUpdate, onLongPress, onPanDown, onPanEnd, onPanUpdate, onTap, onTapCancel, onTapDown, onTapUp, onVerticalDragEnd, onVerticalDragStart, onVerticalDragUpdate) {
      return new A.GestureDetector(child, onTapDown, onTapUp, onTap, onTapCancel, onDoubleTap, onLongPress, onVerticalDragStart, onVerticalDragUpdate, onVerticalDragEnd, onHorizontalDragDown, onHorizontalDragStart, onHorizontalDragUpdate, onHorizontalDragEnd, onHorizontalDragCancel, onPanDown, onPanUpdate, onPanEnd, behavior, excludeFromSemantics, dragStartBehavior, key);
    },
    GestureRecognizerFactory: function GestureRecognizerFactory() {
    },
    GestureRecognizerFactoryWithHandlers: function GestureRecognizerFactoryWithHandlers(t0, t1, t2) {
      this._constructor = t0;
      this._initializer = t1;
      this.$ti = t2;
    },
    GestureDetector: function GestureDetector(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21) {
      var _ = this;
      _.child = t0;
      _.onTapDown = t1;
      _.onTapUp = t2;
      _.onTap = t3;
      _.onTapCancel = t4;
      _.onDoubleTap = t5;
      _.onLongPress = t6;
      _.onVerticalDragStart = t7;
      _.onVerticalDragUpdate = t8;
      _.onVerticalDragEnd = t9;
      _.onHorizontalDragDown = t10;
      _.onHorizontalDragStart = t11;
      _.onHorizontalDragUpdate = t12;
      _.onHorizontalDragEnd = t13;
      _.onHorizontalDragCancel = t14;
      _.onPanDown = t15;
      _.onPanUpdate = t16;
      _.onPanEnd = t17;
      _.behavior = t18;
      _.excludeFromSemantics = t19;
      _.dragStartBehavior = t20;
      _.key = t21;
    },
    GestureDetector_build_closure: function GestureDetector_build_closure(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure0: function GestureDetector_build_closure0(t0, t1) {
      this.$this = t0;
      this.gestureSettings = t1;
    },
    GestureDetector_build_closure1: function GestureDetector_build_closure1(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure2: function GestureDetector_build_closure2(t0, t1) {
      this.$this = t0;
      this.gestureSettings = t1;
    },
    GestureDetector_build_closure3: function GestureDetector_build_closure3(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure4: function GestureDetector_build_closure4(t0, t1) {
      this.$this = t0;
      this.gestureSettings = t1;
    },
    GestureDetector_build_closure5: function GestureDetector_build_closure5(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure6: function GestureDetector_build_closure6(t0, t1) {
      this.$this = t0;
      this.gestureSettings = t1;
    },
    GestureDetector_build_closure7: function GestureDetector_build_closure7(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure8: function GestureDetector_build_closure8(t0, t1) {
      this.$this = t0;
      this.gestureSettings = t1;
    },
    GestureDetector_build_closure9: function GestureDetector_build_closure9(t0) {
      this.$this = t0;
    },
    GestureDetector_build_closure10: function GestureDetector_build_closure10(t0, t1) {
      this.$this = t0;
      this.gestureSettings = t1;
    },
    RawGestureDetector: function RawGestureDetector(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.child = t0;
      _.gestures = t1;
      _.behavior = t2;
      _.excludeFromSemantics = t3;
      _.semantics = t4;
      _.key = t5;
    },
    RawGestureDetectorState: function RawGestureDetectorState(t0, t1) {
      var _ = this;
      _._recognizers = t0;
      _._widget = _._gesture_detector$_semantics = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _GestureSemantics: function _GestureSemantics(t0, t1, t2, t3) {
      var _ = this;
      _.behavior = t0;
      _.assignSemantics = t1;
      _.child = t2;
      _.key = t3;
    },
    SemanticsGestureDelegate: function SemanticsGestureDelegate() {
    },
    _DefaultSemanticsGestureDelegate: function _DefaultSemanticsGestureDelegate(t0) {
      this.detectorState = t0;
    },
    _DefaultSemanticsGestureDelegate__getTapHandler_closure: function _DefaultSemanticsGestureDelegate__getTapHandler_closure(t0) {
      this.tap = t0;
    },
    _DefaultSemanticsGestureDelegate__getLongPressHandler_closure: function _DefaultSemanticsGestureDelegate__getLongPressHandler_closure(t0) {
      this.longPress = t0;
    },
    _DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure: function _DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure(t0) {
      this.horizontal = t0;
    },
    _DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0: function _DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0(t0) {
      this.pan = t0;
    },
    _DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1: function _DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1(t0, t1) {
      this.horizontalHandler = t0;
      this.panHandler = t1;
    },
    _DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure: function _DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure(t0) {
      this.vertical = t0;
    },
    _DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0: function _DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0(t0) {
      this.pan = t0;
    },
    _DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1: function _DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1(t0, t1) {
      this.verticalHandler = t0;
      this.panHandler = t1;
    },
    Hero$(child, tag) {
      return new A.Hero(tag, child, null);
    },
    Hero__allHeroesFor(context, isUserGestureTransition, $navigator) {
      var result = A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$._HeroState);
      context.visitChildren$1(new A.Hero__allHeroesFor_visitor($navigator, new A.Hero__allHeroesFor_inviteHero(result, isUserGestureTransition)));
      return result;
    },
    _HeroFlightManifest__boundingBoxFor(context, ancestorContext) {
      var t2,
        t1 = context.get$renderObject();
      t1.toString;
      type$.RenderBox._as(t1);
      t2 = t1.getTransformTo$1(0, ancestorContext == null ? null : ancestorContext.get$renderObject());
      t1 = t1._box$_size;
      return A.MatrixUtils_transformRect(t2, new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy));
    },
    HeroFlightDirection: function HeroFlightDirection(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Hero: function Hero(t0, t1, t2) {
      this.tag = t0;
      this.child = t1;
      this.key = t2;
    },
    Hero__allHeroesFor_inviteHero: function Hero__allHeroesFor_inviteHero(t0, t1) {
      this.result = t0;
      this.isUserGestureTransition = t1;
    },
    Hero__allHeroesFor_visitor: function Hero__allHeroesFor_visitor(t0, t1) {
      this.navigator = t0;
      this.inviteHero = t1;
    },
    _HeroState: function _HeroState(t0, t1) {
      var _ = this;
      _._heroes$_key = t0;
      _._placeholderSize = null;
      _._shouldIncludeChild = true;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _HeroState_startFlight_closure: function _HeroState_startFlight_closure(t0, t1) {
      this.$this = t0;
      this.box = t1;
    },
    _HeroState_endFlight_closure: function _HeroState_endFlight_closure() {
    },
    _HeroFlightManifest: function _HeroFlightManifest(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.type = t0;
      _.overlay = t1;
      _.navigatorSize = t2;
      _.fromRoute = t3;
      _.toRoute = t4;
      _.fromHero = t5;
      _.toHero = t6;
      _.createRectTween = t7;
      _.shuttleBuilder = t8;
      _.isUserGestureTransition = t9;
      _.isDiverted = t10;
      _.___HeroFlightManifest_isValid = _.___HeroFlightManifest_toHeroLocation = _.___HeroFlightManifest_fromHeroLocation = $;
    },
    _HeroFlight: function _HeroFlight(t0, t1) {
      var _ = this;
      _.onFlightEnded = t0;
      _.___HeroFlight_heroRectTween = $;
      _.shuttle = null;
      _._heroOpacity = t1;
      _.___HeroFlight_manifest = _.___HeroFlight__proxyAnimation = $;
      _.overlayEntry = null;
      _._scheduledPerformAnimationUpdate = _._aborted = false;
    },
    _HeroFlight__buildOverlay_closure: function _HeroFlight__buildOverlay_closure(t0) {
      this.$this = t0;
    },
    _HeroFlight__handleAnimationUpdate_delayedPerformAnimationUpdate: function _HeroFlight__handleAnimationUpdate_delayedPerformAnimationUpdate(t0, t1) {
      this.$this = t0;
      this.navigator = t1;
    },
    HeroController: function HeroController(t0, t1) {
      this.createRectTween = t0;
      this._flights = t1;
      this._navigator$_navigator = null;
    },
    HeroController_didStopUserGesture_isInvalidFlight: function HeroController_didStopUserGesture_isInvalidFlight() {
    },
    HeroController__maybeStartHeroTransition_closure: function HeroController__maybeStartHeroTransition_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.from = t1;
      _.to = t2;
      _.flightType = t3;
      _.isUserGestureTransition = t4;
    },
    Icon$(icon, color, size) {
      return new A.Icon(icon, size, color, null);
    },
    Icon: function Icon(t0, t1, t2, t3) {
      var _ = this;
      _.icon = t0;
      _.size = t1;
      _.color = t2;
      _.key = t3;
    },
    IconData: function IconData(t0, t1, t2) {
      this.codePoint = t0;
      this.fontFamily = t1;
      this.matchTextDirection = t2;
    },
    IconTheme$(child, data, key) {
      return new A.IconTheme(data, child, key);
    },
    IconTheme_merge(child, data) {
      return new A.Builder(new A.IconTheme_merge_closure(null, data, child), null);
    },
    IconTheme_of(context) {
      var t3, t4,
        iconThemeData = A.IconTheme__getInheritedIconThemeData(context).resolve$1(context),
        t1 = iconThemeData.color,
        t2 = t1 == null;
      if (!t2) {
        t3 = iconThemeData._opacity;
        t3 = (t3 == null ? null : A.clampDouble(t3, 0, 1)) != null && iconThemeData.size != null;
      } else
        t3 = false;
      if (t3)
        t1 = iconThemeData;
      else {
        t3 = iconThemeData.size;
        if (t3 == null)
          t3 = 24;
        if (t2)
          t1 = B.Color_4278190080;
        t2 = iconThemeData._opacity;
        t2 = t2 == null ? null : A.clampDouble(t2, 0, 1);
        if (t2 == null)
          t2 = A.clampDouble(1, 0, 1);
        t4 = iconThemeData.shadows;
        t1 = iconThemeData.copyWith$4$color$opacity$shadows$size(t1, t2, t4 == null ? null : t4, t3);
      }
      return t1;
    },
    IconTheme__getInheritedIconThemeData(context) {
      var iconTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$.IconTheme),
        t1 = iconTheme == null ? null : iconTheme.data;
      return t1 == null ? B.IconThemeData_UfZ : t1;
    },
    IconTheme: function IconTheme(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    IconTheme_merge_closure: function IconTheme_merge_closure(t0, t1, t2) {
      this.key = t0;
      this.data = t1;
      this.child = t2;
    },
    IconThemeData_lerp(a, b, t) {
      var t4, t5, _null = null,
        t1 = a == null,
        t2 = t1 ? _null : a.color,
        t3 = b == null;
      t2 = A.Color_lerp(t2, t3 ? _null : b.color, t);
      if (t1)
        t4 = _null;
      else {
        t4 = a._opacity;
        t4 = t4 == null ? _null : A.clampDouble(t4, 0, 1);
      }
      if (t3)
        t5 = _null;
      else {
        t5 = b._opacity;
        t5 = t5 == null ? _null : A.clampDouble(t5, 0, 1);
      }
      t5 = A.lerpDouble(t4, t5, t);
      t4 = t1 ? _null : a.size;
      t4 = A.lerpDouble(t4, t3 ? _null : b.size, t);
      t1 = t1 ? _null : a.shadows;
      return new A.IconThemeData(t2, t5, t4, A.Shadow_lerpList(t1, t3 ? _null : b.shadows, t));
    },
    IconThemeData: function IconThemeData(t0, t1, t2, t3) {
      var _ = this;
      _.color = t0;
      _._opacity = t1;
      _.size = t2;
      _.shadows = t3;
    },
    _IconThemeData_Object_Diagnosticable: function _IconThemeData_Object_Diagnosticable() {
    },
    createLocalImageConfiguration(context, size) {
      var t1, t2;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultAssetBundle);
      t1 = $.$get$rootBundle();
      t2 = A.MediaQuery_maybeOf(context);
      t2 = t2 == null ? null : t2.devicePixelRatio;
      if (t2 == null)
        t2 = 1;
      return new A.ImageConfiguration(t1, t2, A.Localizations_maybeLocaleOf(context), A.Directionality_maybeOf(context), size, A.defaultTargetPlatform());
    },
    Image$(fit, height, image, width) {
      return new A.Image(image, width, height, null, fit, B.Alignment_0_0, B.ImageRepeat_3, null);
    },
    Image$network(src, height, width) {
      var _null = null;
      return new A.Image(A.ResizeImage_resizeIfNeeded(_null, _null, new A.NetworkImage(src, 1, _null)), width, height, _null, _null, B.Alignment_0_0, B.ImageRepeat_3, _null);
    },
    Image$asset($name, alignment, color, fit, height, repeat, width) {
      var _null = null;
      return new A.Image(A.ResizeImage_resizeIfNeeded(_null, _null, new A.AssetImage($name, _null, _null)), width, height, color, fit, alignment, repeat, _null);
    },
    Image$memory(bytes, height, width) {
      var _null = null;
      return new A.Image(A.ResizeImage_resizeIfNeeded(_null, _null, new A.MemoryImage(bytes, 1)), width, height, _null, _null, B.Alignment_0_0, B.ImageRepeat_3, _null);
    },
    Image: function Image(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.image = t0;
      _.width = t1;
      _.height = t2;
      _.color = t3;
      _.fit = t4;
      _.alignment = t5;
      _.repeat = t6;
      _.key = t7;
    },
    _ImageState: function _ImageState(t0) {
      var _ = this;
      _._loadingProgress = _._imageInfo = _._image0$_imageStream = null;
      _._isListeningToStream = false;
      _.___ImageState__invertColors = $;
      _._frameNumber = null;
      _._wasSynchronouslyLoaded = false;
      _.___ImageState__scrollAwareContext = $;
      _._widget = _._imageStreamListener = _._completerHandle = _._lastStack = _._lastException = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _ImageState__handleImageFrame_closure: function _ImageState__handleImageFrame_closure(t0, t1, t2) {
      this.$this = t0;
      this.imageInfo = t1;
      this.synchronousCall = t2;
    },
    _ImageState__updateSourceStream_closure: function _ImageState__updateSourceStream_closure(t0) {
      this.$this = t0;
    },
    _ImageState__updateSourceStream_closure0: function _ImageState__updateSourceStream_closure0(t0) {
      this.$this = t0;
    },
    __ImageState_State_WidgetsBindingObserver: function __ImageState_State_WidgetsBindingObserver() {
    },
    DecorationTween$(begin, end) {
      return new A.DecorationTween(begin, end);
    },
    AnimatedOpacity$(alwaysIncludeSemantics, child, curve, duration, onEnd, opacity) {
      return new A.AnimatedOpacity(child, opacity, alwaysIncludeSemantics, curve, duration, onEnd, null);
    },
    AnimatedDefaultTextStyle$(child, curve, duration, softWrap, style) {
      return new A.AnimatedDefaultTextStyle(child, style, softWrap, curve, duration, null, null);
    },
    BoxConstraintsTween: function BoxConstraintsTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    DecorationTween: function DecorationTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    EdgeInsetsGeometryTween: function EdgeInsetsGeometryTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    BorderRadiusTween: function BorderRadiusTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    Matrix4Tween: function Matrix4Tween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    TextStyleTween: function TextStyleTween(t0, t1) {
      this.begin = t0;
      this.end = t1;
    },
    ImplicitlyAnimatedWidget: function ImplicitlyAnimatedWidget() {
    },
    ImplicitlyAnimatedWidgetState: function ImplicitlyAnimatedWidgetState() {
    },
    ImplicitlyAnimatedWidgetState_initState_closure: function ImplicitlyAnimatedWidgetState_initState_closure(t0) {
      this.$this = t0;
    },
    ImplicitlyAnimatedWidgetState_didUpdateWidget_closure: function ImplicitlyAnimatedWidgetState_didUpdateWidget_closure(t0) {
      this.$this = t0;
    },
    ImplicitlyAnimatedWidgetState__constructTweens_closure: function ImplicitlyAnimatedWidgetState__constructTweens_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    AnimatedWidgetBaseState: function AnimatedWidgetBaseState() {
    },
    AnimatedWidgetBaseState__handleAnimationChanged_closure: function AnimatedWidgetBaseState__handleAnimationChanged_closure() {
    },
    AnimatedContainer: function AnimatedContainer(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.decoration = t0;
      _.constraints = t1;
      _.curve = t2;
      _.duration = t3;
      _.onEnd = t4;
      _.key = t5;
    },
    _AnimatedContainerState: function _AnimatedContainerState(t0, t1, t2) {
      var _ = this;
      _._transformAlignment = _._implicit_animations$_transform = _._margin = _._implicit_animations$_constraints = _._foregroundDecoration = _._implicit_animations$_decoration = _._implicit_animations$_padding = _._implicit_animations$_alignment = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedContainerState_forEachTween_closure: function _AnimatedContainerState_forEachTween_closure() {
    },
    _AnimatedContainerState_forEachTween_closure0: function _AnimatedContainerState_forEachTween_closure0() {
    },
    _AnimatedContainerState_forEachTween_closure1: function _AnimatedContainerState_forEachTween_closure1() {
    },
    _AnimatedContainerState_forEachTween_closure2: function _AnimatedContainerState_forEachTween_closure2() {
    },
    _AnimatedContainerState_forEachTween_closure3: function _AnimatedContainerState_forEachTween_closure3() {
    },
    _AnimatedContainerState_forEachTween_closure4: function _AnimatedContainerState_forEachTween_closure4() {
    },
    _AnimatedContainerState_forEachTween_closure5: function _AnimatedContainerState_forEachTween_closure5() {
    },
    _AnimatedContainerState_forEachTween_closure6: function _AnimatedContainerState_forEachTween_closure6() {
    },
    AnimatedPadding: function AnimatedPadding(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.padding = t0;
      _.child = t1;
      _.curve = t2;
      _.duration = t3;
      _.onEnd = t4;
      _.key = t5;
    },
    _AnimatedPaddingState: function _AnimatedPaddingState(t0, t1, t2) {
      var _ = this;
      _._implicit_animations$_padding = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedPaddingState_forEachTween_closure: function _AnimatedPaddingState_forEachTween_closure() {
    },
    AnimatedOpacity: function AnimatedOpacity(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.child = t0;
      _.opacity = t1;
      _.alwaysIncludeSemantics = t2;
      _.curve = t3;
      _.duration = t4;
      _.onEnd = t5;
      _.key = t6;
    },
    _AnimatedOpacityState: function _AnimatedOpacityState(t0, t1, t2) {
      var _ = this;
      _._implicit_animations$_opacity = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = _.___AnimatedOpacityState__opacityAnimation = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedOpacityState_forEachTween_closure: function _AnimatedOpacityState_forEachTween_closure() {
    },
    AnimatedDefaultTextStyle: function AnimatedDefaultTextStyle(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.child = t0;
      _.style = t1;
      _.softWrap = t2;
      _.curve = t3;
      _.duration = t4;
      _.onEnd = t5;
      _.key = t6;
    },
    _AnimatedDefaultTextStyleState: function _AnimatedDefaultTextStyleState(t0, t1, t2) {
      var _ = this;
      _._implicit_animations$_style = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedDefaultTextStyleState_forEachTween_closure: function _AnimatedDefaultTextStyleState_forEachTween_closure() {
    },
    AnimatedPhysicalModel: function AnimatedPhysicalModel(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.child = t0;
      _.shape = t1;
      _.clipBehavior = t2;
      _.elevation = t3;
      _.color = t4;
      _.animateColor = t5;
      _.shadowColor = t6;
      _.curve = t7;
      _.duration = t8;
      _.onEnd = t9;
      _.key = t10;
    },
    _AnimatedPhysicalModelState: function _AnimatedPhysicalModelState(t0, t1, t2) {
      var _ = this;
      _._implicit_animations$_shadowColor = _._implicit_animations$_color = _._implicit_animations$_elevation = _._borderRadius = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _AnimatedPhysicalModelState_forEachTween_closure: function _AnimatedPhysicalModelState_forEachTween_closure() {
    },
    _AnimatedPhysicalModelState_forEachTween_closure0: function _AnimatedPhysicalModelState_forEachTween_closure0() {
    },
    _AnimatedPhysicalModelState_forEachTween_closure1: function _AnimatedPhysicalModelState_forEachTween_closure1() {
    },
    _AnimatedPhysicalModelState_forEachTween_closure2: function _AnimatedPhysicalModelState_forEachTween_closure2() {
    },
    _ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin: function _ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin() {
    },
    InheritedModel: function InheritedModel() {
    },
    InheritedModelElement: function InheritedModelElement(t0, t1, t2, t3) {
      var _ = this;
      _._dependents = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t3;
    },
    InheritedNotifier: function InheritedNotifier() {
    },
    _InheritedNotifierElement: function _InheritedNotifierElement(t0, t1, t2, t3) {
      var _ = this;
      _._inherited_notifier$_dirty = false;
      _._dependents = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t3;
    },
    InheritedTheme_capture(from, to) {
      var themes;
      if (from === to)
        return new A.CapturedThemes(B.List_empty22);
      themes = A._setArrayType([], type$.JSArray_InheritedTheme);
      from.visitAncestorElements$1(new A.InheritedTheme_capture_closure(to, A._Cell$named("debugDidFindAncestor"), A.LinkedHashSet_LinkedHashSet$_empty(type$.Type), themes));
      return new A.CapturedThemes(themes);
    },
    InheritedTheme: function InheritedTheme() {
    },
    InheritedTheme_capture_closure: function InheritedTheme_capture_closure(t0, t1, t2, t3) {
      var _ = this;
      _.to = t0;
      _.debugDidFindAncestor = t1;
      _.themeTypes = t2;
      _.themes = t3;
    },
    CapturedThemes: function CapturedThemes(t0) {
      this._themes = t0;
    },
    _CaptureAll: function _CaptureAll(t0, t1, t2) {
      this.themes = t0;
      this.child = t1;
      this.key = t2;
    },
    _debugReportException0(context, exception, stack, informationCollector) {
      var details = new A.FlutterErrorDetails(exception, stack, "widgets library", context, informationCollector, false);
      A.FlutterError_reportError(details);
      return details;
    },
    ConstrainedLayoutBuilder: function ConstrainedLayoutBuilder() {
    },
    _LayoutBuilderElement: function _LayoutBuilderElement(t0, t1, t2) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._layout_builder$_child = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t2;
    },
    _LayoutBuilderElement__layout_layoutCallback: function _LayoutBuilderElement__layout_layoutCallback(t0, t1) {
      this.$this = t0;
      this.constraints = t1;
    },
    _LayoutBuilderElement__layout_layoutCallback_closure: function _LayoutBuilderElement__layout_layoutCallback_closure(t0) {
      this.$this = t0;
    },
    _LayoutBuilderElement__layout_layoutCallback_closure0: function _LayoutBuilderElement__layout_layoutCallback_closure0(t0) {
      this.$this = t0;
    },
    RenderConstrainedLayoutBuilder: function RenderConstrainedLayoutBuilder() {
    },
    LayoutBuilder: function LayoutBuilder(t0, t1) {
      this.builder = t0;
      this.key = t1;
    },
    _RenderLayoutBuilder: function _RenderLayoutBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.RenderConstrainedLayoutBuilder__callback = t0;
      _.RenderConstrainedLayoutBuilder__needsBuild = t1;
      _.RenderConstrainedLayoutBuilder__previousConstraints = t2;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin: function __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin() {
    },
    __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder: function __RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder() {
    },
    _loadAll(locale, allDelegates) {
      var types, delegates, _i, delegate, t3, t4, inputValue, futureValue, _box_1 = {},
        t1 = type$.Type,
        t2 = type$.dynamic,
        output = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      _box_1.pendingList = null;
      types = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      delegates = A._setArrayType([], type$.JSArray_LocalizationsDelegate_dynamic);
      for (t1 = allDelegates.length, _i = 0; _i < allDelegates.length; allDelegates.length === t1 || (0, A.throwConcurrentModificationError)(allDelegates), ++_i) {
        delegate = allDelegates[_i];
        t3 = A.instanceType(delegate)._eval$1("LocalizationsDelegate.T");
        if (!types.contains$1(0, A.createRuntimeType(t3)) && delegate.isSupported$1(locale)) {
          types.add$1(0, A.createRuntimeType(t3));
          delegates.push(delegate);
        }
      }
      for (t1 = delegates.length, t3 = type$.JSArray__Pending, _i = 0; _i < delegates.length; delegates.length === t1 || (0, A.throwConcurrentModificationError)(delegates), ++_i) {
        t4 = {};
        delegate = delegates[_i];
        inputValue = delegate.load$1(0, locale);
        t4.completedValue = null;
        futureValue = inputValue.then$1$1(new A._loadAll_closure(t4), t2);
        if (t4.completedValue != null)
          output.$indexSet(0, A.createRuntimeType(A._instanceType(delegate)._eval$1("LocalizationsDelegate.T")), t4.completedValue);
        else {
          t4 = _box_1.pendingList;
          if (t4 == null)
            t4 = _box_1.pendingList = A._setArrayType([], t3);
          t4.push(new A._Pending(delegate, futureValue));
        }
      }
      t1 = _box_1.pendingList;
      if (t1 == null)
        return new A.SynchronousFuture(output, type$.SynchronousFuture_Map_Type_dynamic);
      return A.Future_wait(new A.MappedListIterable(t1, new A._loadAll_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Future<@>>")), t2).then$1$1(new A._loadAll_closure1(_box_1, output), type$.Map_Type_dynamic);
    },
    Localizations_maybeLocaleOf(context) {
      var scope = context.dependOnInheritedWidgetOfExactType$1$0(type$._LocalizationsScope);
      return scope == null ? null : scope.localizationsState._localizations$_locale;
    },
    Localizations_of(context, type, $T) {
      var scope = context.dependOnInheritedWidgetOfExactType$1$0(type$._LocalizationsScope);
      return scope == null ? null : $T._eval$1("0?")._as(J.$index$asx(scope.localizationsState._typeToResources, type));
    },
    _Pending: function _Pending(t0, t1) {
      this.delegate = t0;
      this.futureValue = t1;
    },
    _loadAll_closure: function _loadAll_closure(t0) {
      this._box_0 = t0;
    },
    _loadAll_closure0: function _loadAll_closure0() {
    },
    _loadAll_closure1: function _loadAll_closure1(t0, t1) {
      this._box_1 = t0;
      this.output = t1;
    },
    LocalizationsDelegate: function LocalizationsDelegate() {
    },
    _WidgetsLocalizationsDelegate: function _WidgetsLocalizationsDelegate() {
    },
    DefaultWidgetsLocalizations: function DefaultWidgetsLocalizations() {
    },
    _LocalizationsScope: function _LocalizationsScope(t0, t1, t2, t3) {
      var _ = this;
      _.localizationsState = t0;
      _.typeToResources = t1;
      _.child = t2;
      _.key = t3;
    },
    Localizations: function Localizations(t0, t1, t2, t3) {
      var _ = this;
      _.locale = t0;
      _.delegates = t1;
      _.child = t2;
      _.key = t3;
    },
    _LocalizationsState: function _LocalizationsState(t0, t1, t2) {
      var _ = this;
      _._localizedResourcesScopeKey = t0;
      _._typeToResources = t1;
      _._widget = _._localizations$_locale = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _LocalizationsState_load_closure: function _LocalizationsState_load_closure(t0) {
      this._box_0 = t0;
    },
    _LocalizationsState_load_closure0: function _LocalizationsState_load_closure0(t0, t1) {
      this.$this = t0;
      this.locale = t1;
    },
    _LocalizationsState_load__closure: function _LocalizationsState_load__closure(t0, t1, t2) {
      this.$this = t0;
      this.value = t1;
      this.locale = t2;
    },
    MediaQuery_MediaQuery$removePadding(child, context, removeBottom, removeLeft, removeRight, removeTop) {
      return new A.MediaQuery(context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.removePadding$4$removeBottom$removeLeft$removeRight$removeTop(removeBottom, true, true, removeTop), child, null);
    },
    MediaQuery_maybeOf(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery);
      return t1 == null ? null : t1.data;
    },
    MediaQuery_textScaleFactorOf(context) {
      var t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.textScaleFactor;
      return t1 == null ? 1 : t1;
    },
    MediaQuery_boldTextOverride(context) {
      var t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? null : t1.boldText;
      return t1 === true;
    },
    Orientation: function Orientation(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MediaQueryData: function MediaQueryData(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.size = t0;
      _.devicePixelRatio = t1;
      _.textScaleFactor = t2;
      _.platformBrightness = t3;
      _.viewInsets = t4;
      _.padding = t5;
      _.viewPadding = t6;
      _.systemGestureInsets = t7;
      _.alwaysUse24HourFormat = t8;
      _.accessibleNavigation = t9;
      _.invertColors = t10;
      _.highContrast = t11;
      _.disableAnimations = t12;
      _.boldText = t13;
      _.navigationMode = t14;
      _.gestureSettings = t15;
      _.displayFeatures = t16;
    },
    MediaQueryData_removeDisplayFeatures_closure: function MediaQueryData_removeDisplayFeatures_closure(t0) {
      this.subScreen = t0;
    },
    MediaQuery: function MediaQuery(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    NavigationMode: function NavigationMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _MediaQueryFromWindow: function _MediaQueryFromWindow(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _MediaQueryFromWindowState: function _MediaQueryFromWindowState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _MediaQueryFromWindowState_didChangeMetrics_closure: function _MediaQueryFromWindowState_didChangeMetrics_closure() {
    },
    _MediaQueryFromWindowState_didChangeTextScaleFactor_closure: function _MediaQueryFromWindowState_didChangeTextScaleFactor_closure() {
    },
    _MediaQueryFromWindowState_didChangePlatformBrightness_closure: function _MediaQueryFromWindowState_didChangePlatformBrightness_closure() {
    },
    __MediaQueryFromWindowState_State_WidgetsBindingObserver: function __MediaQueryFromWindowState_State_WidgetsBindingObserver() {
    },
    ModalBarrier: function ModalBarrier(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.color = t0;
      _.dismissible = t1;
      _.onDismiss = t2;
      _.barrierSemanticsDismissible = t3;
      _.semanticsLabel = t4;
      _.key = t5;
    },
    ModalBarrier_build_handleDismiss: function ModalBarrier_build_handleDismiss(t0, t1) {
      this.$this = t0;
      this.context = t1;
    },
    AnimatedModalBarrier: function AnimatedModalBarrier(t0, t1, t2, t3, t4) {
      var _ = this;
      _.dismissible = t0;
      _.semanticsLabel = t1;
      _.barrierSemanticsDismissible = t2;
      _.listenable = t3;
      _.key = t4;
    },
    _AnyTapGestureRecognizer: function _AnyTapGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.onAnyTapUp = null;
      _._wonArenaForPrimaryPointer = _._sentTapDown = false;
      _._up = _._down = null;
      _.deadline = t0;
      _.postAcceptSlopTolerance = t1;
      _._recognizer$_state = t2;
      _._initialPosition = _._primaryPointer = null;
      _._gestureAccepted = false;
      _._recognizer$_timer = null;
      _._recognizer$_entries = t3;
      _._trackedPointers = t4;
      _.debugOwner = t5;
      _.gestureSettings = null;
      _._supportedDevices = t6;
      _._pointerToKind = t7;
    },
    _ModalBarrierSemanticsDelegate: function _ModalBarrierSemanticsDelegate(t0) {
      this.onDismiss = t0;
    },
    _AnyTapGestureRecognizerFactory: function _AnyTapGestureRecognizerFactory(t0) {
      this.onAnyTapUp = t0;
    },
    _ModalBarrierGestureDetector: function _ModalBarrierGestureDetector(t0, t1, t2) {
      this.child = t0;
      this.onDismiss = t1;
      this.key = t2;
    },
    NavigationToolbar: function NavigationToolbar(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.leading = t0;
      _.middle = t1;
      _.trailing = t2;
      _.centerMiddle = t3;
      _.middleSpacing = t4;
      _.key = t5;
    },
    _ToolbarSlot: function _ToolbarSlot(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _ToolbarLayout: function _ToolbarLayout(t0, t1, t2) {
      var _ = this;
      _.centerMiddle = t0;
      _.middleSpacing = t1;
      _.textDirection = t2;
      _._debugChildrenNeedingLayout = _._idToChild = null;
    },
    Navigator$(initialRoute, key, observers, onGenerateInitialRoutes, onGenerateRoute, onPopPage, onUnknownRoute, pages, reportsRouteUpdateToEngine, restorationScopeId) {
      return new A.Navigator(pages, onPopPage, initialRoute, onGenerateRoute, onUnknownRoute, observers, restorationScopeId, onGenerateInitialRoutes, reportsRouteUpdateToEngine, key);
    },
    Navigator_maybePop(context) {
      return A.Navigator_of(context, false).maybePop$1(null);
    },
    Navigator_of(context, rootNavigator) {
      var t1, $navigator, navigator0;
      if (context instanceof A.StatefulElement) {
        t1 = context._framework$_state;
        t1.toString;
        t1 = t1 instanceof A.NavigatorState;
      } else
        t1 = false;
      if (t1) {
        t1 = context._framework$_state;
        t1.toString;
        type$.NavigatorState._as(t1);
        $navigator = t1;
      } else
        $navigator = null;
      if (rootNavigator) {
        navigator0 = context.findRootAncestorStateOfType$1$0(type$.NavigatorState);
        $navigator = navigator0 == null ? $navigator : navigator0;
        t1 = $navigator;
      } else {
        if ($navigator == null)
          $navigator = context.findAncestorStateOfType$1$0(type$.NavigatorState);
        t1 = $navigator;
      }
      t1.toString;
      return t1;
    },
    Navigator_defaultGenerateInitialRoutes($navigator, initialRouteName) {
      var t1, routeParts, t2, _i, t3, routeName, _null = null,
        result = A._setArrayType([], type$.JSArray_nullable_Route_dynamic);
      if (B.JSString_methods.startsWith$1(initialRouteName, "/") && initialRouteName.length > 1) {
        initialRouteName = B.JSString_methods.substring$1(initialRouteName, 1);
        t1 = type$.dynamic;
        result.push($navigator._routeNamed$1$3$allowNull$arguments("/", true, _null, t1));
        routeParts = initialRouteName.split("/");
        if (initialRouteName.length !== 0)
          for (t2 = routeParts.length, _i = 0, t3 = ""; _i < t2; ++_i, t3 = routeName) {
            routeName = t3 + ("/" + A.S(routeParts[_i]));
            result.push($navigator._routeNamed$1$3$allowNull$arguments(routeName, true, _null, t1));
          }
        if (B.JSArray_methods.get$last(result) == null)
          B.JSArray_methods.clear$0(result);
      } else if (initialRouteName !== "/")
        result.push($navigator._routeNamed$1$3$allowNull$arguments(initialRouteName, true, _null, type$.dynamic));
      if (!!result.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeWhere"));
      B.JSArray_methods._removeWhere$2(result, new A.Navigator_defaultGenerateInitialRoutes_closure(), true);
      if (result.length === 0)
        result.push($navigator._routeNamed$1$2$arguments("/", _null, type$.dynamic));
      return new A.CastList(result, type$.CastList_of_nullable_Route_dynamic_and_Route_dynamic);
    },
    _RouteEntry$(route, initialState, restorationInformation) {
      var t1 = $.$get$_RouteEntry_notAnnounced();
      return new A._RouteEntry(route, restorationInformation, initialState, t1, t1, t1);
    },
    _RouteEntry_isPresentPredicate(entry) {
      return entry.get$isPresent();
    },
    _RouteEntry_suitableForTransitionAnimationPredicate(entry) {
      var t1 = entry.currentState.index;
      return t1 <= 10 && t1 >= 3;
    },
    _RouteEntry_willBePresentPredicate(entry) {
      return entry.get$willBePresent();
    },
    _RouteEntry_isRoutePredicate(route) {
      return new A._RouteEntry_isRoutePredicate_closure(route);
    },
    _RestorationInformation__RestorationInformation$fromSerializableData(data) {
      var t1, t2, t3, t4;
      type$.List_nullable_Object._as(data);
      t1 = J.getInterceptor$asx(data);
      t2 = t1.$index(data, 0);
      t2.toString;
      switch (B.List_MYz[A._asInt(t2)].index) {
        case 0:
          t1 = t1.sublist$1(data, 1);
          t2 = J.getInterceptor$asx(t1);
          t3 = t2.$index(t1, 0);
          t3.toString;
          A._asInt(t3);
          t4 = t2.$index(t1, 1);
          t4.toString;
          A._asString(t4);
          return new A._NamedRestorationInformation(t3, t4, t2.get$length(t1) > 2 ? t2.$index(t1, 2) : null, B._RouteRestorationType_0);
        case 1:
          t1 = J.$index$asx(t1.sublist$1(data, 1), 1);
          t1.toString;
          type$.Route_dynamic_Function_2_BuildContext_and_nullable_Object._as(A.PluginUtilities_getCallbackFromHandle(new A.CallbackHandle(A._asInt(t1))));
          return null;
      }
    },
    RoutePopDisposition: function RoutePopDisposition(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Route: function Route() {
    },
    Route_didPush_closure: function Route_didPush_closure(t0) {
      this.$this = t0;
    },
    Route_didAdd_closure: function Route_didAdd_closure(t0) {
      this.$this = t0;
    },
    Route_isCurrent_closure: function Route_isCurrent_closure() {
    },
    Route_isCurrent_closure0: function Route_isCurrent_closure0() {
    },
    Route_isFirst_closure: function Route_isFirst_closure() {
    },
    Route_isFirst_closure0: function Route_isFirst_closure0() {
    },
    Route_isActive_closure: function Route_isActive_closure(t0) {
      this.$this = t0;
    },
    Route_isActive_closure0: function Route_isActive_closure0() {
    },
    RouteSettings: function RouteSettings(t0, t1) {
      this.name = t0;
      this.$arguments = t1;
    },
    Page: function Page() {
    },
    NavigatorObserver: function NavigatorObserver() {
    },
    HeroControllerScope: function HeroControllerScope(t0, t1, t2) {
      this.controller = t0;
      this.child = t1;
      this.key = t2;
    },
    RouteTransitionRecord: function RouteTransitionRecord() {
    },
    TransitionDelegate: function TransitionDelegate() {
    },
    DefaultTransitionDelegate: function DefaultTransitionDelegate(t0) {
      this.$ti = t0;
    },
    DefaultTransitionDelegate_resolve_handleExitingRoute: function DefaultTransitionDelegate_resolve_handleExitingRoute(t0, t1, t2) {
      this.locationToExitingPageRoute = t0;
      this.pageRouteToPagelessRoutes = t1;
      this.results = t2;
    },
    Navigator: function Navigator(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.pages = t0;
      _.onPopPage = t1;
      _.initialRoute = t2;
      _.onGenerateRoute = t3;
      _.onUnknownRoute = t4;
      _.observers = t5;
      _.restorationScopeId = t6;
      _.onGenerateInitialRoutes = t7;
      _.reportsRouteUpdateToEngine = t8;
      _.key = t9;
    },
    Navigator_defaultGenerateInitialRoutes_closure: function Navigator_defaultGenerateInitialRoutes_closure() {
    },
    _RouteLifecycle: function _RouteLifecycle(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _NotAnnounced: function _NotAnnounced(t0, t1, t2) {
      var _ = this;
      _._navigator$_navigator = null;
      _._settings = t0;
      _._restorationScopeId = t1;
      _._popCompleter = t2;
    },
    _RouteEntry: function _RouteEntry(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.route = t0;
      _.restorationInformation = t1;
      _.currentState = t2;
      _.lastAnnouncedPreviousRoute = t3;
      _.lastAnnouncedPoppedNextRoute = t4;
      _.lastAnnouncedNextRoute = t5;
      _.pendingResult = null;
      _._reportRemovalToObserver = true;
      _._isWaitingForExitingDecision = false;
    },
    _RouteEntry_handlePush_closure: function _RouteEntry_handlePush_closure(t0, t1) {
      this.$this = t0;
      this.navigator = t1;
    },
    _RouteEntry_dispose_closure: function _RouteEntry_dispose_closure() {
    },
    _RouteEntry_dispose_closure0: function _RouteEntry_dispose_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.entry = t2;
      _.listener = t3;
    },
    _RouteEntry_isRoutePredicate_closure: function _RouteEntry_isRoutePredicate_closure(t0) {
      this.route = t0;
    },
    _NavigatorObservation: function _NavigatorObservation() {
    },
    _NavigatorPushObservation: function _NavigatorPushObservation(t0, t1) {
      this.primaryRoute = t0;
      this.secondaryRoute = t1;
    },
    _NavigatorPopObservation: function _NavigatorPopObservation(t0, t1) {
      this.primaryRoute = t0;
      this.secondaryRoute = t1;
    },
    _NavigatorRemoveObservation: function _NavigatorRemoveObservation(t0, t1) {
      this.primaryRoute = t0;
      this.secondaryRoute = t1;
    },
    _NavigatorReplaceObservation: function _NavigatorReplaceObservation(t0, t1) {
      this.primaryRoute = t0;
      this.secondaryRoute = t1;
    },
    NavigatorState: function NavigatorState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.__NavigatorState__overlayKey = $;
      _._history = t0;
      _._serializableHistory = t1;
      _._observedRouteAdditions = t2;
      _._observedRouteDeletions = t3;
      _.focusScopeNode = t4;
      _._debugLocked = false;
      _._heroControllerFromScope = null;
      _.__NavigatorState__effectiveObservers = $;
      _._rawNextPagelessRestorationScopeId = t5;
      _._lastAnnouncedRouteName = null;
      _._flushingHistory = _._debugUpdatingPage = false;
      _._userGesturesInProgressCount = 0;
      _.userGestureInProgressNotifier = t6;
      _._activePointers = t7;
      _.RestorationMixin__bucket = t8;
      _.RestorationMixin__properties = t9;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t10;
      _.RestorationMixin__firstRestorePending = t11;
      _.RestorationMixin__currentParent = t12;
      _.TickerProviderStateMixin__tickers = t13;
      _.TickerProviderStateMixin__tickerModeNotifier = t14;
      _._widget = null;
      _._debugLifecycleState = t15;
      _._framework$_element = null;
    },
    NavigatorState_restoreState_closure: function NavigatorState_restoreState_closure(t0) {
      this.$this = t0;
    },
    NavigatorState__updatePages_closure: function NavigatorState__updatePages_closure() {
    },
    NavigatorState__updatePages_closure0: function NavigatorState__updatePages_closure0() {
    },
    NavigatorState__updatePages_closure1: function NavigatorState__updatePages_closure1() {
    },
    NavigatorState__flushHistoryUpdates_closure: function NavigatorState__flushHistoryUpdates_closure() {
    },
    NavigatorState__flushHistoryUpdates_closure0: function NavigatorState__flushHistoryUpdates_closure0() {
    },
    NavigatorState__afterNavigation_closure: function NavigatorState__afterNavigation_closure() {
    },
    NavigatorState_maybePop_closure: function NavigatorState_maybePop_closure() {
    },
    NavigatorState_maybePop_closure0: function NavigatorState_maybePop_closure0() {
    },
    NavigatorState_maybePop_closure1: function NavigatorState_maybePop_closure1() {
    },
    NavigatorState_maybePop_closure2: function NavigatorState_maybePop_closure2() {
    },
    NavigatorState_removeRoute_closure: function NavigatorState_removeRoute_closure() {
    },
    NavigatorState_removeRoute_closure0: function NavigatorState_removeRoute_closure0() {
    },
    NavigatorState__cancelActivePointers_closure: function NavigatorState__cancelActivePointers_closure(t0) {
      this.absorber = t0;
    },
    _RouteRestorationType: function _RouteRestorationType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _RestorationInformation: function _RestorationInformation() {
    },
    _NamedRestorationInformation: function _NamedRestorationInformation(t0, t1, t2, t3) {
      var _ = this;
      _.restorationScopeId = t0;
      _.name = t1;
      _.$arguments = t2;
      _.type = t3;
      _._serializableData = null;
    },
    _AnonymousRestorationInformation: function _AnonymousRestorationInformation(t0, t1, t2, t3) {
      var _ = this;
      _.restorationScopeId = t0;
      _.routeBuilder = t1;
      _.$arguments = t2;
      _.type = t3;
      _._serializableData = null;
    },
    _HistoryProperty: function _HistoryProperty(t0) {
      var _ = this;
      _._pageToPagelessRoutes = null;
      _._restoration0$_disposed = false;
      _._restoration0$_owner = _._restoration0$_restorationId = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _HistoryProperty_fromPrimitives_closure: function _HistoryProperty_fromPrimitives_closure() {
    },
    _NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure: function _NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure() {
    },
    _NavigatorState_State_TickerProviderStateMixin: function _NavigatorState_State_TickerProviderStateMixin() {
    },
    _NavigatorState_State_TickerProviderStateMixin_RestorationMixin: function _NavigatorState_State_TickerProviderStateMixin_RestorationMixin() {
    },
    Notification1: function Notification1() {
    },
    NotificationListener: function NotificationListener(t0, t1, t2, t3) {
      var _ = this;
      _.onNotification = t0;
      _.child = t1;
      _.key = t2;
      _.$ti = t3;
    },
    _NotificationElement: function _NotificationElement(t0, t1, t2) {
      var _ = this;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t2;
    },
    LayoutChangedNotification: function LayoutChangedNotification() {
    },
    __NotificationElement_ProxyElement_NotifiableElementMixin: function __NotificationElement_ProxyElement_NotifiableElementMixin() {
    },
    OverflowBar$(alignment, children, overflowAlignment, overflowDirection, overflowSpacing, spacing) {
      return new A.OverflowBar(spacing, alignment, overflowSpacing, overflowAlignment, overflowDirection, children, null);
    },
    OverflowBarAlignment: function OverflowBarAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    OverflowBar: function OverflowBar(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.spacing = t0;
      _.alignment = t1;
      _.overflowSpacing = t2;
      _.overflowAlignment = t3;
      _.overflowDirection = t4;
      _.children = t5;
      _.key = t6;
    },
    _OverflowBarParentData: function _OverflowBarParentData(t0, t1, t2) {
      this.ContainerParentDataMixin_previousSibling = t0;
      this.ContainerParentDataMixin_nextSibling = t1;
      this.offset = t2;
    },
    _RenderOverflowBar: function _RenderOverflowBar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _._spacing = t0;
      _._overflow_bar$_alignment = t1;
      _._overflowSpacing = t2;
      _._overflowAlignment = t3;
      _._overflowDirection = t4;
      _._overflow_bar$_textDirection = t5;
      _._overflow_bar$_clipBehavior = t6;
      _.ContainerRenderObjectMixin__childCount = t7;
      _.ContainerRenderObjectMixin__firstChild = t8;
      _.ContainerRenderObjectMixin__lastChild = t9;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t10;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderOverflowBar_performLayout_nextChild: function _RenderOverflowBar_performLayout_nextChild(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    __RenderOverflowBar_RenderBox_ContainerRenderObjectMixin: function __RenderOverflowBar_RenderBox_ContainerRenderObjectMixin() {
    },
    __RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin: function __RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin() {
    },
    OverlayEntry$(builder, maintainState, opaque) {
      return new A.OverlayEntry(builder, opaque, maintainState, new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), new A.LabeledGlobalKey(null, type$.LabeledGlobalKey__OverlayEntryWidgetState));
    },
    OverlayEntry: function OverlayEntry(t0, t1, t2, t3, t4) {
      var _ = this;
      _.builder = t0;
      _._opaque = t1;
      _._maintainState = t2;
      _._overlayStateMounted = t3;
      _._overlay = null;
      _._key = t4;
      _._disposedByOwner = false;
    },
    OverlayEntry_remove_closure: function OverlayEntry_remove_closure(t0) {
      this.overlay = t0;
    },
    _OverlayEntryWidget: function _OverlayEntryWidget(t0, t1, t2) {
      this.entry = t0;
      this.tickerEnabled = t1;
      this.key = t2;
    },
    _OverlayEntryWidgetState: function _OverlayEntryWidgetState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _OverlayEntryWidgetState__markNeedsBuild_closure: function _OverlayEntryWidgetState__markNeedsBuild_closure() {
    },
    Overlay: function Overlay(t0, t1) {
      this.initialEntries = t0;
      this.key = t1;
    },
    OverlayState: function OverlayState(t0, t1, t2, t3) {
      var _ = this;
      _._overlay$_entries = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    OverlayState_insert_closure: function OverlayState_insert_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.below = t1;
      _.above = t2;
      _.entry = t3;
    },
    OverlayState_insertAll_closure: function OverlayState_insertAll_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.below = t1;
      _.above = t2;
      _.entries = t3;
    },
    OverlayState_rearrange_closure: function OverlayState_rearrange_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.newEntriesList = t1;
      _.old = t2;
      _.below = t3;
      _.above = t4;
    },
    OverlayState__markDirty_closure: function OverlayState__markDirty_closure() {
    },
    OverlayState__didChangeEntryOpacity_closure: function OverlayState__didChangeEntryOpacity_closure() {
    },
    _Theatre: function _Theatre(t0, t1, t2, t3) {
      var _ = this;
      _.skipCount = t0;
      _.clipBehavior = t1;
      _.children = t2;
      _.key = t3;
    },
    _TheatreElement: function _TheatreElement(t0, t1, t2) {
      var _ = this;
      _.__MultiChildRenderObjectElement__children = $;
      _._forgottenChildren = t0;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _RenderTheatre: function _RenderTheatre(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._overlay$_hasVisualOverflow = false;
      _._overlay$_resolvedAlignment = null;
      _._overlay$_textDirection = t0;
      _._overlay$_skipCount = t1;
      _._overlay$_clipBehavior = t2;
      _._overlay$_clipRectLayer = t3;
      _.ContainerRenderObjectMixin__childCount = t4;
      _.ContainerRenderObjectMixin__firstChild = t5;
      _.ContainerRenderObjectMixin__lastChild = t6;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t7;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderTheatre_computeMinIntrinsicWidth_closure: function _RenderTheatre_computeMinIntrinsicWidth_closure(t0) {
      this.height = t0;
    },
    _RenderTheatre_computeMaxIntrinsicWidth_closure: function _RenderTheatre_computeMaxIntrinsicWidth_closure(t0) {
      this.height = t0;
    },
    _RenderTheatre_computeMinIntrinsicHeight_closure: function _RenderTheatre_computeMinIntrinsicHeight_closure(t0) {
      this.width = t0;
    },
    _RenderTheatre_computeMaxIntrinsicHeight_closure: function _RenderTheatre_computeMaxIntrinsicHeight_closure(t0) {
      this.width = t0;
    },
    _RenderTheatre_hitTestChildren_closure: function _RenderTheatre_hitTestChildren_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.position = t1;
      this.childParentData = t2;
    },
    _OverlayState_State_TickerProviderStateMixin: function _OverlayState_State_TickerProviderStateMixin() {
    },
    __RenderTheatre_RenderBox_ContainerRenderObjectMixin: function __RenderTheatre_RenderBox_ContainerRenderObjectMixin() {
    },
    _GlowController$(axis, color, vsync) {
      var t6, decelerator, _null = null,
        t1 = type$.Tween_double,
        t2 = new A.Tween(0, 0, t1),
        t3 = new A.Tween(0, 0, t1),
        t4 = new A._GlowController(B._GlowState_0, t2, t3, color, axis, $.$get$ChangeNotifier__emptyListeners()),
        t5 = A.AnimationController$(_null, _null, 0, _null, 1, _null, vsync);
      t5.didRegisterListener$0();
      t6 = t5.AnimationLocalStatusListenersMixin__statusListeners;
      t6._isDirty = true;
      t6._list.push(t4.get$_changePhase());
      if (t4.___GlowController__glowController !== $)
        A.throwUnnamedLateFieldAI();
      t4.___GlowController__glowController = t5;
      decelerator = A.CurvedAnimation$(B.C__DecelerateCurve, t5, _null);
      decelerator.parent.addListener$1(0, t4.get$notifyListeners());
      type$.Animation_double._as(decelerator);
      t1 = t1._eval$1("_AnimatedEvaluation<Animatable.T>");
      if (t4.___GlowController__glowOpacity !== $)
        A.throwUnnamedLateFieldAI();
      t4.___GlowController__glowOpacity = new A._AnimatedEvaluation(decelerator, t2, t1);
      if (t4.___GlowController__glowSize !== $)
        A.throwUnnamedLateFieldAI();
      t4.___GlowController__glowSize = new A._AnimatedEvaluation(decelerator, t3, t1);
      t1 = vsync.createTicker$1(t4.get$_tickDisplacement());
      if (t4.___GlowController__displacementTicker !== $)
        A.throwUnnamedLateFieldAI();
      t4.___GlowController__displacementTicker = t1;
      return t4;
    },
    GlowingOverscrollIndicator: function GlowingOverscrollIndicator(t0, t1, t2, t3) {
      var _ = this;
      _.axisDirection = t0;
      _.color = t1;
      _.child = t2;
      _.key = t3;
    },
    _GlowingOverscrollIndicatorState: function _GlowingOverscrollIndicatorState(t0, t1, t2, t3) {
      var _ = this;
      _._lastNotificationType = _._leadingAndTrailingListener = _._trailingController = _._leadingController = null;
      _._accepted = t0;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    _GlowState: function _GlowState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _GlowController: function _GlowController(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._overscroll_indicator$_state = t0;
      _.___GlowController__glowController = $;
      _._pullRecedeTimer = null;
      _._paintOffsetScrollPixels = _._overscroll_indicator$_paintOffset = 0;
      _._glowOpacityTween = t1;
      _.___GlowController__glowOpacity = $;
      _._glowSizeTween = t2;
      _.___GlowController__displacementTicker = _.___GlowController__glowSize = $;
      _._displacementTickerLastElapsed = null;
      _._displacement = _._displacementTarget = 0.5;
      _._pullDistance = 0;
      _._overscroll_indicator$_color = t3;
      _._axis = t4;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t5;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _GlowController_pull_closure: function _GlowController_pull_closure(t0) {
      this.$this = t0;
    },
    _GlowingOverscrollIndicatorPainter: function _GlowingOverscrollIndicatorPainter(t0, t1, t2, t3) {
      var _ = this;
      _.leadingController = t0;
      _.trailingController = t1;
      _.axisDirection = t2;
      _._repaint = t3;
    },
    StretchingOverscrollIndicator: function StretchingOverscrollIndicator(t0, t1, t2) {
      this.axisDirection = t0;
      this.child = t1;
      this.key = t2;
    },
    _StretchingOverscrollIndicatorState: function _StretchingOverscrollIndicatorState(t0, t1, t2) {
      var _ = this;
      _.___StretchingOverscrollIndicatorState__stretchController = $;
      _._lastOverscrollNotification = _._lastNotification = null;
      _._accepted = true;
      _.TickerProviderStateMixin__tickers = t0;
      _.TickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _StretchingOverscrollIndicatorState_build_closure: function _StretchingOverscrollIndicatorState_build_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.size = t2;
    },
    _StretchState: function _StretchState(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _StretchController: function _StretchController(t0, t1, t2) {
      var _ = this;
      _.___StretchController__stretchSize = _.___StretchController__stretchController = $;
      _._stretchSizeTween = t0;
      _._overscroll_indicator$_state = t1;
      _.ChangeNotifier__count = _._pullDistance = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    OverscrollIndicatorNotification: function OverscrollIndicatorNotification(t0, t1) {
      this.leading = t0;
      this.ViewportNotificationMixin__depth = t1;
    },
    _OverscrollIndicatorNotification_Notification_ViewportNotificationMixin: function _OverscrollIndicatorNotification_Notification_ViewportNotificationMixin() {
    },
    __GlowingOverscrollIndicatorState_State_TickerProviderStateMixin: function __GlowingOverscrollIndicatorState_State_TickerProviderStateMixin() {
    },
    __StretchingOverscrollIndicatorState_State_TickerProviderStateMixin: function __StretchingOverscrollIndicatorState_State_TickerProviderStateMixin() {
    },
    PageStorageBucket__maybeAddKey(context, keys) {
      var widget = context.get$widget(),
        key = widget.key;
      if (key instanceof A.PageStorageKey)
        keys.push(key);
      return !(widget instanceof A.PageStorage);
    },
    PageStorage_of(context) {
      var widget = context.findAncestorWidgetOfExactType$1$0(type$.PageStorage);
      return widget == null ? null : widget.bucket;
    },
    PageStorageKey: function PageStorageKey(t0, t1) {
      this.value = t0;
      this.$ti = t1;
    },
    _StorageEntryIdentifier: function _StorageEntryIdentifier(t0) {
      this.keys = t0;
    },
    PageStorageBucket: function PageStorageBucket() {
      this._storage = null;
    },
    PageStorageBucket__allKeys_closure: function PageStorageBucket__allKeys_closure(t0) {
      this.keys = t0;
    },
    PageStorage: function PageStorage(t0, t1, t2) {
      this.child = t0;
      this.bucket = t1;
      this.key = t2;
    },
    PageController$(initialPage, viewportFraction) {
      return new A.PageController(initialPage, viewportFraction, 0, A._setArrayType([], type$.JSArray_ScrollPosition), $.$get$ChangeNotifier__emptyListeners());
    },
    PageController: function PageController(t0, t1, t2, t3, t4) {
      var _ = this;
      _.initialPage = t0;
      _.viewportFraction = t1;
      _._initialScrollOffset = t2;
      _._positions = t3;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t4;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    PageMetrics: function PageMetrics(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.viewportFraction = t0;
      _._scroll_metrics$_minScrollExtent = t1;
      _._scroll_metrics$_maxScrollExtent = t2;
      _._scroll_metrics$_pixels = t3;
      _._scroll_metrics$_viewportDimension = t4;
      _.axisDirection = t5;
    },
    _PagePosition: function _PagePosition(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._pageToUseOnStartup = t0;
      _._cachedPage = null;
      _._page_view$_viewportFraction = t1;
      _._heldPreviousVelocity = 0;
      _._userScrollDirection = t2;
      _._currentDrag = null;
      _.physics = t3;
      _.context = t4;
      _.keepScrollOffset = t5;
      _.debugLabel = t6;
      _._maxScrollExtent = _._minScrollExtent = null;
      _._impliedVelocity = 0;
      _._viewportDimension = _._pixels = null;
      _._haveDimensions = false;
      _._didChangeViewportDimensionOrReceiveCorrection = true;
      _._pendingDimensions = false;
      _._scroll_position$_lastMetrics = null;
      _._haveScheduledUpdateNotification = false;
      _._semanticActions = _._lastAxis = null;
      _.isScrollingNotifier = t7;
      _._activity = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t8;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _ForceImplicitScrollPhysics: function _ForceImplicitScrollPhysics(t0, t1) {
      this.allowImplicitScrolling = t0;
      this.parent = t1;
    },
    PageScrollPhysics: function PageScrollPhysics(t0) {
      this.parent = t0;
    },
    PageView: function PageView(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.controller = t0;
      _.physics = t1;
      _.childrenDelegate = t2;
      _.dragStartBehavior = t3;
      _.clipBehavior = t4;
      _.key = t5;
    },
    _PageViewState: function _PageViewState(t0) {
      var _ = this;
      _._lastReportedPage = 0;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _PageViewState_build_closure: function _PageViewState_build_closure(t0) {
      this.$this = t0;
    },
    _PageViewState_build_closure0: function _PageViewState_build_closure0(t0, t1) {
      this.$this = t0;
      this.axisDirection = t1;
    },
    PageRoute: function PageRoute() {
    },
    PerformanceOverlay: function PerformanceOverlay(t0, t1, t2, t3) {
      var _ = this;
      _.optionsMask = t0;
      _.checkerboardRasterCacheImages = t1;
      _.checkerboardOffscreenLayers = t2;
      _.key = t3;
    },
    _PlaceholderPainter: function _PlaceholderPainter(t0, t1, t2) {
      this.color = t0;
      this.strokeWidth = t1;
      this._repaint = t2;
    },
    Placeholder: function Placeholder(t0, t1) {
      this.color = t0;
      this.key = t1;
    },
    MenuSerializableShortcut: function MenuSerializableShortcut() {
    },
    PlatformMenuDelegate: function PlatformMenuDelegate() {
    },
    DefaultPlatformMenuDelegate: function DefaultPlatformMenuDelegate(t0, t1) {
      this._idMap = t0;
      this.channel = t1;
    },
    PreferredSize: function PreferredSize(t0, t1, t2) {
      this.child = t0;
      this.preferredSize = t1;
      this.key = t2;
    },
    PrimaryScrollController$(child, controller) {
      return new A.PrimaryScrollController(controller, child, null);
    },
    PrimaryScrollController$none(child) {
      return new A.PrimaryScrollController(null, child, null);
    },
    PrimaryScrollController_of(context) {
      var result = context.dependOnInheritedWidgetOfExactType$1$0(type$.PrimaryScrollController);
      return result == null ? null : result.controller;
    },
    PrimaryScrollController: function PrimaryScrollController(t0, t1, t2) {
      this.controller = t0;
      this.child = t1;
      this.key = t2;
    },
    RawKeyboardListener$(autofocus, child, focusNode, onKey) {
      return new A.RawKeyboardListener(focusNode, autofocus, onKey, child, null);
    },
    RawKeyboardListener: function RawKeyboardListener(t0, t1, t2, t3, t4) {
      var _ = this;
      _.focusNode = t0;
      _.autofocus = t1;
      _.onKey = t2;
      _.child = t3;
      _.key = t4;
    },
    _RawKeyboardListenerState: function _RawKeyboardListenerState(t0) {
      var _ = this;
      _._listening = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    RestorationScope_of(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.UnmanagedRestorationScope);
      return t1 == null ? null : t1.bucket;
    },
    UnmanagedRestorationScope$(bucket, child) {
      return new A.UnmanagedRestorationScope(bucket, child, null);
    },
    RestorationScope: function RestorationScope(t0, t1, t2) {
      this.child = t0;
      this.restorationId = t1;
      this.key = t2;
    },
    _RestorationScopeState: function _RestorationScopeState(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.RestorationMixin__bucket = t0;
      _.RestorationMixin__properties = t1;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t2;
      _.RestorationMixin__firstRestorePending = t3;
      _.RestorationMixin__currentParent = t4;
      _._widget = null;
      _._debugLifecycleState = t5;
      _._framework$_element = null;
    },
    UnmanagedRestorationScope: function UnmanagedRestorationScope(t0, t1, t2) {
      this.bucket = t0;
      this.child = t1;
      this.key = t2;
    },
    RootRestorationScope: function RootRestorationScope(t0, t1, t2) {
      this.child = t0;
      this.restorationId = t1;
      this.key = t2;
    },
    _RootRestorationScopeState: function _RootRestorationScopeState(t0) {
      var _ = this;
      _._okToRenderBlankContainer = null;
      _._rootBucketValid = false;
      _._ancestorBucket = _._restoration0$_rootBucket = null;
      _._isLoadingRootBucket = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _RootRestorationScopeState__loadRootBucketIfNecessary_closure: function _RootRestorationScopeState__loadRootBucketIfNecessary_closure(t0) {
      this.$this = t0;
    },
    _RootRestorationScopeState__loadRootBucketIfNecessary__closure: function _RootRestorationScopeState__loadRootBucketIfNecessary__closure(t0, t1) {
      this.$this = t0;
      this.bucket = t1;
    },
    RestorableProperty: function RestorableProperty() {
    },
    RestorationMixin: function RestorationMixin() {
    },
    RestorationMixin_registerForRestoration_listener: function RestorationMixin_registerForRestoration_listener(t0, t1) {
      this.$this = t0;
      this.property = t1;
    },
    __RestorationScopeState_State_RestorationMixin_dispose_closure: function __RestorationScopeState_State_RestorationMixin_dispose_closure() {
    },
    __RestorationScopeState_State_RestorationMixin: function __RestorationScopeState_State_RestorationMixin() {
    },
    RestorableValue: function RestorableValue() {
    },
    _RestorablePrimitiveValueN: function _RestorablePrimitiveValueN() {
    },
    _RestorablePrimitiveValue: function _RestorablePrimitiveValue() {
    },
    RestorableNum: function RestorableNum(t0, t1, t2) {
      var _ = this;
      _._defaultValue = t0;
      _._restoration_properties$_value = null;
      _._restoration0$_disposed = false;
      _._restoration0$_owner = _._restoration0$_restorationId = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
      _.$ti = t2;
    },
    RestorableBool: function RestorableBool(t0, t1) {
      var _ = this;
      _._defaultValue = t0;
      _._restoration_properties$_value = null;
      _._restoration0$_disposed = false;
      _._restoration0$_owner = _._restoration0$_restorationId = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    RestorableListenable: function RestorableListenable() {
    },
    RestorableChangeNotifier: function RestorableChangeNotifier() {
    },
    RestorableTextEditingController: function RestorableTextEditingController(t0, t1) {
      var _ = this;
      _._initialValue = t0;
      _._restoration_properties$_value = null;
      _._restoration0$_disposed = false;
      _._restoration0$_owner = _._restoration0$_restorationId = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    Router_of(context, $T) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$._RouterScope).routerState._widget;
      t1.toString;
      return $T._eval$1("Router<0>")._as(t1);
    },
    Router_neglect(context, callback) {
      var t1 = type$._RouterScope;
      t1 = t1._as(context.getElementForInheritedWidgetOfExactType$1$0(t1).get$widget()).routerState;
      t1._currentIntentionToReport = B.RouteInformationReportingType_1;
      t1._scheduleRouteInformationReportingTask$0();
      callback.call$0();
    },
    __RouterState_State_RestorationMixin_dispose_closure: function __RouterState_State_RestorationMixin_dispose_closure() {
    },
    RouteInformation: function RouteInformation(t0, t1) {
      this.location = t0;
      this.state = t1;
    },
    Router: function Router(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.routeInformationProvider = t0;
      _.routeInformationParser = t1;
      _.routerDelegate = t2;
      _.backButtonDispatcher = t3;
      _.restorationScopeId = t4;
      _.key = t5;
      _.$ti = t6;
    },
    RouteInformationReportingType: function RouteInformationReportingType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _RouterState: function _RouterState(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._currentIntentionToReport = _._currentRouterTransaction = null;
      _._routeInformation = t0;
      _.___RouterState__routeParsePending = $;
      _._routeInformationReportingTaskScheduled = false;
      _.RestorationMixin__bucket = t1;
      _.RestorationMixin__properties = t2;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t3;
      _.RestorationMixin__firstRestorePending = t4;
      _.RestorationMixin__currentParent = t5;
      _._widget = null;
      _._debugLifecycleState = t6;
      _._framework$_element = null;
      _.$ti = t7;
    },
    _RouterState_restoreState_closure: function _RouterState_restoreState_closure(t0) {
      this.$this = t0;
    },
    _RouterState_restoreState_closure0: function _RouterState_restoreState_closure0(t0) {
      this.$this = t0;
    },
    _RouterState_didChangeDependencies_closure: function _RouterState_didChangeDependencies_closure(t0) {
      this.$this = t0;
    },
    _RouterState__processParsedRouteInformation_closure: function _RouterState__processParsedRouteInformation_closure(t0, t1, t2) {
      this.$this = t0;
      this.transaction = t1;
      this.delegateRouteSetter = t2;
    },
    _RouterState__handleRouteInformationProviderNotification_closure: function _RouterState__handleRouteInformationProviderNotification_closure(t0) {
      this.$this = t0;
    },
    _RouterState__handleRoutePopped_closure: function _RouterState__handleRoutePopped_closure(t0, t1) {
      this.$this = t0;
      this.transaction = t1;
    },
    _RouterState__rebuild_closure: function _RouterState__rebuild_closure() {
    },
    _RouterState__handleRouterDelegateNotification_closure: function _RouterState__handleRouterDelegateNotification_closure() {
    },
    _RouterScope: function _RouterScope(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.routeInformationProvider = t0;
      _.backButtonDispatcher = t1;
      _.routeInformationParser = t2;
      _.routerDelegate = t3;
      _.routerState = t4;
      _.child = t5;
      _.key = t6;
    },
    _CallbackHookProvider: function _CallbackHookProvider() {
    },
    _CallbackHookProvider_invokeCallback_closure: function _CallbackHookProvider_invokeCallback_closure(t0) {
      this.$this = t0;
    },
    BackButtonDispatcher: function BackButtonDispatcher() {
    },
    BackButtonDispatcher_invokeCallback_notifyNextChild: function BackButtonDispatcher_invokeCallback_notifyNextChild(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.children = t2;
      _.defaultValue = t3;
    },
    RootBackButtonDispatcher: function RootBackButtonDispatcher(t0) {
      this.__BackButtonDispatcher__children = $;
      this._router$_callbacks = t0;
    },
    RouteInformationParser: function RouteInformationParser() {
    },
    RouterDelegate: function RouterDelegate() {
    },
    RouteInformationProvider: function RouteInformationProvider() {
    },
    PlatformRouteInformationProvider: function PlatformRouteInformationProvider(t0, t1, t2) {
      var _ = this;
      _._router$_value = t0;
      _._valueInEngine = t1;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    PopNavigatorRouterDelegateMixin: function PopNavigatorRouterDelegateMixin() {
    },
    _RestorableRouteInformation: function _RestorableRouteInformation(t0) {
      var _ = this;
      _._restoration_properties$_value = null;
      _._restoration0$_disposed = false;
      _._restoration0$_owner = _._restoration0$_restorationId = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver: function _PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver() {
    },
    _PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier: function _PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier() {
    },
    _RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver: function _RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver() {
    },
    __RouterState_State_RestorationMixin: function __RouterState_State_RestorationMixin() {
    },
    ModalRoute_of(context, $T) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$._ModalScopeStatus),
        t1 = widget == null ? null : widget.route;
      return $T._eval$1("ModalRoute<0>?")._as(t1);
    },
    OverlayRoute: function OverlayRoute() {
    },
    TransitionRoute: function TransitionRoute() {
    },
    TransitionRoute__updateSecondaryAnimation_jumpOnAnimationEnd: function TransitionRoute__updateSecondaryAnimation_jumpOnAnimationEnd(t0, t1, t2) {
      this.$this = t0;
      this.nextTrain = t1;
      this.nextRoute = t2;
    },
    TransitionRoute__updateSecondaryAnimation_closure: function TransitionRoute__updateSecondaryAnimation_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.nextTrain = t1;
      this.jumpOnAnimationEnd = t2;
    },
    TransitionRoute__updateSecondaryAnimation_closure0: function TransitionRoute__updateSecondaryAnimation_closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.nextRoute = t2;
    },
    TransitionRoute__setSecondaryAnimation_closure: function TransitionRoute__setSecondaryAnimation_closure(t0, t1) {
      this.$this = t0;
      this.animation = t1;
    },
    LocalHistoryRoute: function LocalHistoryRoute() {
    },
    _DismissModalAction: function _DismissModalAction(t0, t1) {
      this.context = t0;
      this._actions$_listeners = t1;
      this._currentCallingAction = null;
    },
    _ModalScopeStatus: function _ModalScopeStatus(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.isCurrent = t0;
      _.canPop = t1;
      _.impliesAppBarDismissal = t2;
      _.route = t3;
      _.child = t4;
      _.key = t5;
    },
    _ModalScope: function _ModalScope(t0, t1, t2) {
      this.route = t0;
      this.key = t1;
      this.$ti = t2;
    },
    _ModalScopeState: function _ModalScopeState(t0, t1, t2, t3) {
      var _ = this;
      _._page = null;
      _.___ModalScopeState__listenable = $;
      _.focusScopeNode = t0;
      _.primaryScrollController = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
      _.$ti = t3;
    },
    _ModalScopeState__forceRebuildPage_closure: function _ModalScopeState__forceRebuildPage_closure(t0) {
      this.$this = t0;
    },
    _ModalScopeState_build_closure: function _ModalScopeState_build_closure(t0) {
      this.$this = t0;
    },
    _ModalScopeState_build_closure0: function _ModalScopeState_build_closure0(t0) {
      this.$this = t0;
    },
    _ModalScopeState_build__closure0: function _ModalScopeState_build__closure0(t0) {
      this.$this = t0;
    },
    _ModalScopeState_build___closure: function _ModalScopeState_build___closure(t0) {
      this.$this = t0;
    },
    _ModalScopeState_build__closure: function _ModalScopeState_build__closure(t0) {
      this.$this = t0;
    },
    ModalRoute: function ModalRoute() {
    },
    ModalRoute_offstage_closure: function ModalRoute_offstage_closure(t0, t1) {
      this.$this = t0;
      this.value = t1;
    },
    ModalRoute_changedInternalState_closure: function ModalRoute_changedInternalState_closure() {
    },
    PopupRoute: function PopupRoute() {
    },
    RawDialogRoute: function RawDialogRoute() {
    },
    FocusTrap: function FocusTrap(t0, t1, t2) {
      this.focusScopeNode = t0;
      this.child = t1;
      this.key = t2;
    },
    FocusTrapArea: function FocusTrapArea(t0, t1, t2) {
      this.focusNode = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderFocusTrapArea: function _RenderFocusTrapArea(t0, t1, t2) {
      var _ = this;
      _.focusNode = t0;
      _.RenderObjectWithChildMixin__child = t1;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderFocusTrap: function _RenderFocusTrap(t0, t1, t2, t3, t4) {
      var _ = this;
      _.cachedResults = t0;
      _._focusScopeNode = t1;
      _._previousFocus = null;
      _.behavior = t2;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _ModalRoute_TransitionRoute_LocalHistoryRoute: function _ModalRoute_TransitionRoute_LocalHistoryRoute() {
    },
    SafeArea$(bottom, child, minimum, $top) {
      return new A.SafeArea($top, bottom, minimum, child, null);
    },
    SafeArea: function SafeArea(t0, t1, t2, t3, t4) {
      var _ = this;
      _.top = t0;
      _.bottom = t1;
      _.minimum = t2;
      _.child = t3;
      _.key = t4;
    },
    ScrollActivity: function ScrollActivity() {
    },
    IdleScrollActivity: function IdleScrollActivity(t0) {
      this._scroll_activity$_delegate = t0;
    },
    HoldScrollActivity: function HoldScrollActivity(t0, t1) {
      this.onHoldCanceled = t0;
      this._scroll_activity$_delegate = t1;
    },
    ScrollDragController: function ScrollDragController(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._scroll_activity$_delegate = t0;
      _.onDragCanceled = t1;
      _.carriedVelocity = t2;
      _.motionStartDistanceThreshold = t3;
      _._lastNonStationaryTimestamp = t4;
      _._retainMomentum = t5;
      _._offsetSinceLastStop = t6;
      _._lastDetails = t7;
    },
    DragScrollActivity: function DragScrollActivity(t0, t1) {
      this._scroll_activity$_controller = t0;
      this._scroll_activity$_delegate = t1;
    },
    BallisticScrollActivity: function BallisticScrollActivity(t0) {
      this.__BallisticScrollActivity__controller = $;
      this._scroll_activity$_delegate = t0;
    },
    DrivenScrollActivity: function DrivenScrollActivity(t0) {
      this.__DrivenScrollActivity__controller = this.__DrivenScrollActivity__completer = $;
      this._scroll_activity$_delegate = t0;
    },
    ScrollAwareImageProvider: function ScrollAwareImageProvider(t0, t1, t2) {
      this.context = t0;
      this.imageProvider = t1;
      this.$ti = t2;
    },
    ScrollAwareImageProvider_resolveStreamForKey_closure: function ScrollAwareImageProvider_resolveStreamForKey_closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.configuration = t1;
      _.stream = t2;
      _.key = t3;
      _.handleError = t4;
    },
    ScrollAwareImageProvider_resolveStreamForKey__closure: function ScrollAwareImageProvider_resolveStreamForKey__closure(t0, t1, t2, t3, t4) {
      var _ = this;
      _.$this = t0;
      _.configuration = t1;
      _.stream = t2;
      _.key = t3;
      _.handleError = t4;
    },
    ScrollConfiguration$(behavior, child) {
      return new A.ScrollConfiguration(behavior, child, null);
    },
    ScrollConfiguration_of(context) {
      var configuration = context.dependOnInheritedWidgetOfExactType$1$0(type$.ScrollConfiguration),
        t1 = configuration == null ? null : configuration.behavior;
      return t1 == null ? B.C_ScrollBehavior : t1;
    },
    AndroidOverscrollIndicator: function AndroidOverscrollIndicator(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScrollBehavior: function ScrollBehavior() {
    },
    ScrollBehavior_velocityTrackerBuilder_closure: function ScrollBehavior_velocityTrackerBuilder_closure() {
    },
    ScrollBehavior_velocityTrackerBuilder_closure0: function ScrollBehavior_velocityTrackerBuilder_closure0() {
    },
    _WrappedScrollBehavior: function _WrappedScrollBehavior(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.delegate = t0;
      _.scrollbars = t1;
      _.overscroll = t2;
      _.physics = t3;
      _.platform = t4;
      _._dragDevices = t5;
      _._androidOverscrollIndicator = t6;
    },
    ScrollConfiguration: function ScrollConfiguration(t0, t1, t2) {
      this.behavior = t0;
      this.child = t1;
      this.key = t2;
    },
    ScrollController$(initialScrollOffset) {
      return new A.ScrollController(initialScrollOffset, A._setArrayType([], type$.JSArray_ScrollPosition), $.$get$ChangeNotifier__emptyListeners());
    },
    ScrollController: function ScrollController(t0, t1, t2) {
      var _ = this;
      _._initialScrollOffset = t0;
      _._positions = t1;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t2;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ScrollMetrics: function ScrollMetrics() {
    },
    FixedScrollMetrics: function FixedScrollMetrics(t0, t1, t2, t3, t4) {
      var _ = this;
      _._scroll_metrics$_minScrollExtent = t0;
      _._scroll_metrics$_maxScrollExtent = t1;
      _._scroll_metrics$_pixels = t2;
      _._scroll_metrics$_viewportDimension = t3;
      _.axisDirection = t4;
    },
    _FixedScrollMetrics_Object_ScrollMetrics: function _FixedScrollMetrics_Object_ScrollMetrics() {
    },
    ScrollUpdateNotification$(context, depth, dragDetails, metrics, scrollDelta) {
      var t1 = new A.ScrollUpdateNotification(dragDetails, scrollDelta, metrics, context, 0);
      if (depth != null)
        t1.ViewportNotificationMixin__depth = depth;
      return t1;
    },
    defaultScrollNotificationPredicate(notification) {
      return notification.ViewportNotificationMixin__depth === 0;
    },
    ViewportNotificationMixin: function ViewportNotificationMixin() {
    },
    ViewportElementMixin: function ViewportElementMixin() {
    },
    ScrollNotification: function ScrollNotification() {
    },
    ScrollStartNotification: function ScrollStartNotification(t0, t1, t2, t3) {
      var _ = this;
      _.dragDetails = t0;
      _.metrics = t1;
      _.context = t2;
      _.ViewportNotificationMixin__depth = t3;
    },
    ScrollUpdateNotification: function ScrollUpdateNotification(t0, t1, t2, t3, t4) {
      var _ = this;
      _.dragDetails = t0;
      _.scrollDelta = t1;
      _.metrics = t2;
      _.context = t3;
      _.ViewportNotificationMixin__depth = t4;
    },
    OverscrollNotification: function OverscrollNotification(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.dragDetails = t0;
      _.overscroll = t1;
      _.velocity = t2;
      _.metrics = t3;
      _.context = t4;
      _.ViewportNotificationMixin__depth = t5;
    },
    ScrollEndNotification: function ScrollEndNotification(t0, t1, t2, t3) {
      var _ = this;
      _.dragDetails = t0;
      _.metrics = t1;
      _.context = t2;
      _.ViewportNotificationMixin__depth = t3;
    },
    UserScrollNotification: function UserScrollNotification(t0, t1, t2, t3) {
      var _ = this;
      _.direction = t0;
      _.metrics = t1;
      _.context = t2;
      _.ViewportNotificationMixin__depth = t3;
    },
    _ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin: function _ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin() {
    },
    _ScrollNotificationObserverScope: function _ScrollNotificationObserverScope(t0, t1, t2) {
      this._scrollNotificationObserverState = t0;
      this.child = t1;
      this.key = t2;
    },
    _ListenerEntry: function _ListenerEntry(t0) {
      var _ = this;
      _.listener = t0;
      _._collection$_previous = _._collection$_next = _._collection$_list = null;
    },
    ScrollNotificationObserver: function ScrollNotificationObserver(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    ScrollNotificationObserverState: function ScrollNotificationObserverState(t0, t1) {
      var _ = this;
      _._scroll_notification_observer$_listeners = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    ScrollNotificationObserverState__notifyListeners_closure: function ScrollNotificationObserverState__notifyListeners_closure(t0) {
      this.$this = t0;
    },
    ScrollNotificationObserverState_build_closure: function ScrollNotificationObserverState_build_closure(t0) {
      this.$this = t0;
    },
    ScrollNotificationObserverState_build_closure0: function ScrollNotificationObserverState_build_closure0(t0) {
      this.$this = t0;
    },
    _ConvertedScrollMetricsNotification: function _ConvertedScrollMetricsNotification(t0, t1, t2, t3, t4) {
      var _ = this;
      _.dragDetails = t0;
      _.scrollDelta = t1;
      _.metrics = t2;
      _.context = t3;
      _.ViewportNotificationMixin__depth = t4;
    },
    BouncingScrollPhysics__applyFriction(extentOutside, absDelta, gamma) {
      var deltaToLimit, total;
      if (extentOutside > 0) {
        deltaToLimit = extentOutside / gamma;
        if (absDelta < deltaToLimit)
          return absDelta * gamma;
        total = 0 + extentOutside;
        absDelta -= deltaToLimit;
      } else
        total = 0;
      return total + absDelta;
    },
    ScrollPhysics: function ScrollPhysics(t0) {
      this.parent = t0;
    },
    RangeMaintainingScrollPhysics: function RangeMaintainingScrollPhysics(t0) {
      this.parent = t0;
    },
    BouncingScrollPhysics: function BouncingScrollPhysics(t0) {
      this.parent = t0;
    },
    ClampingScrollPhysics: function ClampingScrollPhysics(t0) {
      this.parent = t0;
    },
    AlwaysScrollableScrollPhysics: function AlwaysScrollableScrollPhysics(t0) {
      this.parent = t0;
    },
    NeverScrollableScrollPhysics: function NeverScrollableScrollPhysics(t0) {
      this.parent = t0;
    },
    ScrollPositionAlignmentPolicy: function ScrollPositionAlignmentPolicy(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScrollPosition: function ScrollPosition() {
    },
    ScrollPosition_forcePixels_closure: function ScrollPosition_forcePixels_closure(t0) {
      this.$this = t0;
    },
    ScrollMetricsNotification: function ScrollMetricsNotification(t0, t1, t2) {
      this.metrics = t0;
      this.context = t1;
      this.ViewportNotificationMixin__depth = t2;
    },
    _ScrollMetricsNotification_Notification_ViewportNotificationMixin: function _ScrollMetricsNotification_Notification_ViewportNotificationMixin() {
    },
    _ScrollPosition_ViewportOffset_ScrollMetrics: function _ScrollPosition_ViewportOffset_ScrollMetrics() {
    },
    ScrollPositionWithSingleContext$(context, debugLabel, initialPixels, keepScrollOffset, oldPosition, physics) {
      var t1 = $.$get$ChangeNotifier__emptyListeners();
      t1 = new A.ScrollPositionWithSingleContext(B.ScrollDirection_0, physics, context, true, debugLabel, new A.ValueNotifier(false, t1, type$.ValueNotifier_bool), t1);
      t1.ScrollPosition$5$context$debugLabel$keepScrollOffset$oldPosition$physics(context, debugLabel, true, oldPosition, physics);
      t1.ScrollPositionWithSingleContext$6$context$debugLabel$initialPixels$keepScrollOffset$oldPosition$physics(context, debugLabel, initialPixels, true, oldPosition, physics);
      return t1;
    },
    ScrollPositionWithSingleContext: function ScrollPositionWithSingleContext(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._heldPreviousVelocity = 0;
      _._userScrollDirection = t0;
      _._currentDrag = null;
      _.physics = t1;
      _.context = t2;
      _.keepScrollOffset = t3;
      _.debugLabel = t4;
      _._maxScrollExtent = _._minScrollExtent = null;
      _._impliedVelocity = 0;
      _._viewportDimension = _._pixels = null;
      _._haveDimensions = false;
      _._didChangeViewportDimensionOrReceiveCorrection = true;
      _._pendingDimensions = false;
      _._scroll_position$_lastMetrics = null;
      _._haveScheduledUpdateNotification = false;
      _._semanticActions = _._lastAxis = null;
      _.isScrollingNotifier = t5;
      _._activity = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t6;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    BouncingScrollSimulation: function BouncingScrollSimulation(t0, t1, t2, t3) {
      var _ = this;
      _.leadingExtent = t0;
      _.trailingExtent = t1;
      _.spring = t2;
      _.__BouncingScrollSimulation__springTime = _.__BouncingScrollSimulation__springSimulation = _.__BouncingScrollSimulation__frictionSimulation = $;
      _._timeOffset = 0;
      _.tolerance = t3;
    },
    ClampingScrollSimulation: function ClampingScrollSimulation(t0, t1, t2) {
      var _ = this;
      _.position = t0;
      _.velocity = t1;
      _.__ClampingScrollSimulation__distance = _.__ClampingScrollSimulation__duration = $;
      _.tolerance = t2;
    },
    ListView$(children, controller, itemExtent, padding, physics, primary, shrinkWrap) {
      var t4, _null = null,
        t1 = A.SliverChildListDelegate$(children, true, true, true),
        t2 = children.length,
        t3 = primary == null;
      if (t3)
        t4 = controller == null && true;
      else
        t4 = primary;
      if (physics == null) {
        if (primary !== true)
          t3 = t3 && controller == null && true;
        else
          t3 = true;
        t3 = t3 ? B.AlwaysScrollableScrollPhysics_null : _null;
      } else
        t3 = physics;
      return new A.ListView(itemExtent, t1, padding, B.Axis_1, false, controller, t4, t3, shrinkWrap, _null, t2, B.DragStartBehavior_1, B.ScrollViewKeyboardDismissBehavior_0, _null, B.Clip_1, _null);
    },
    ListView$builder(controller, itemBuilder, itemCount, itemExtent, physics, primary, scrollDirection, shrinkWrap) {
      var t2, _null = null,
        t1 = primary == null;
      if (t1)
        t2 = controller == null && scrollDirection === B.Axis_1;
      else
        t2 = primary;
      if (physics == null) {
        if (primary !== true)
          t1 = t1 && controller == null && scrollDirection === B.Axis_1;
        else
          t1 = true;
        t1 = t1 ? B.AlwaysScrollableScrollPhysics_null : _null;
      } else
        t1 = physics;
      return new A.ListView(itemExtent, new A.SliverChildBuilderDelegate(itemBuilder, itemCount, true, true, true, A.sliver___kDefaultSemanticIndexCallback$closure(), _null), _null, scrollDirection, false, controller, t2, t1, shrinkWrap, _null, itemCount, B.DragStartBehavior_1, B.ScrollViewKeyboardDismissBehavior_0, _null, B.Clip_1, _null);
    },
    ListView$separated(controller, itemBuilder, itemCount, padding, physics, separatorBuilder, shrinkWrap) {
      var t2, _null = null,
        t1 = Math.max(0, itemCount * 2 - 1);
      if (physics == null)
        t2 = _null;
      else
        t2 = physics;
      return new A.ListView(_null, new A.SliverChildBuilderDelegate(new A.ListView$separated_closure(itemBuilder, separatorBuilder), t1, true, true, true, new A.ListView$separated_closure0(), _null), padding, B.Axis_1, false, controller, false, t2, shrinkWrap, _null, itemCount, B.DragStartBehavior_1, B.ScrollViewKeyboardDismissBehavior_0, _null, B.Clip_1, _null);
    },
    ListView$custom(childrenDelegate, controller, itemExtent, padding) {
      var _null = null,
        t1 = _null;
      return new A.ListView(itemExtent, childrenDelegate, padding, B.Axis_1, false, controller, false, t1, false, _null, _null, B.DragStartBehavior_1, B.ScrollViewKeyboardDismissBehavior_0, _null, B.Clip_1, _null);
    },
    ScrollViewKeyboardDismissBehavior: function ScrollViewKeyboardDismissBehavior(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScrollView: function ScrollView() {
    },
    ScrollView_build_closure: function ScrollView_build_closure(t0, t1, t2) {
      this.$this = t0;
      this.axisDirection = t1;
      this.slivers = t2;
    },
    ScrollView_build_closure0: function ScrollView_build_closure0(t0) {
      this.context = t0;
    },
    BoxScrollView: function BoxScrollView() {
    },
    ListView: function ListView(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15) {
      var _ = this;
      _.itemExtent = t0;
      _.childrenDelegate = t1;
      _.padding = t2;
      _.scrollDirection = t3;
      _.reverse = t4;
      _.controller = t5;
      _.primary = t6;
      _.physics = t7;
      _.shrinkWrap = t8;
      _.cacheExtent = t9;
      _.semanticChildCount = t10;
      _.dragStartBehavior = t11;
      _.keyboardDismissBehavior = t12;
      _.restorationId = t13;
      _.clipBehavior = t14;
      _.key = t15;
    },
    ListView$separated_closure: function ListView$separated_closure(t0, t1) {
      this.itemBuilder = t0;
      this.separatorBuilder = t1;
    },
    ListView$separated_closure0: function ListView$separated_closure0() {
    },
    Scrollable$(axisDirection, controller, dragStartBehavior, excludeFromSemantics, physics, restorationId, scrollBehavior, semanticChildCount, viewportBuilder) {
      return new A.Scrollable0(axisDirection, controller, physics, viewportBuilder, excludeFromSemantics, semanticChildCount, dragStartBehavior, restorationId, scrollBehavior, null);
    },
    Scrollable_of(context) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$._ScrollableScope);
      return widget == null ? null : widget.scrollable;
    },
    Scrollable_recommendDeferredLoadingForContext(context) {
      var t1 = context.getElementForInheritedWidgetOfExactType$1$0(type$._ScrollableScope);
      t1 = t1 == null ? null : t1.get$widget();
      type$.nullable__ScrollableScope._as(t1);
      if (t1 == null)
        return false;
      t1 = t1.position;
      return t1.physics.recommendDeferredLoading$3(t1._activity.get$velocity() + t1._impliedVelocity, t1.copyWith$0(), context);
    },
    Scrollable_ensureVisible(context, alignment, alignmentPolicy) {
      var t1, targetRenderObject, t2, t3, widget,
        futures = A._setArrayType([], type$.JSArray_Future_void),
        scrollable = A.Scrollable_of(context);
      for (t1 = type$._ScrollableScope, targetRenderObject = null; scrollable != null;) {
        t2 = scrollable._scrollable$_position;
        t2.toString;
        t3 = context.get$renderObject();
        t3.toString;
        futures.push(t2.ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(t3, alignment, alignmentPolicy, B.Cubic_JUR, B.Duration_0, targetRenderObject));
        if (targetRenderObject == null)
          targetRenderObject = context.get$renderObject();
        context = scrollable._framework$_element;
        widget = context.dependOnInheritedWidgetOfExactType$1$0(t1);
        scrollable = widget == null ? null : widget.scrollable;
      }
      t1 = futures.length;
      if (t1 !== 0)
        t2 = 0 === B.Duration_0._duration;
      else
        t2 = true;
      if (t2)
        return A.Future_Future$value(null, type$.void);
      if (t1 === 1)
        return B.JSArray_methods.get$single(futures);
      t1 = type$.void;
      return A.Future_wait(futures, t1).then$1$1(new A.Scrollable_ensureVisible_closure(), t1);
    },
    _getDeltaToScrollOrigin(scrollableState) {
      var t1;
      switch (scrollableState._widget.axisDirection.index) {
        case 2:
          t1 = scrollableState._scrollable$_position._pixels;
          t1.toString;
          return new A.Offset(0, t1);
        case 0:
          t1 = scrollableState._scrollable$_position._pixels;
          t1.toString;
          return new A.Offset(0, -t1);
        case 3:
          t1 = scrollableState._scrollable$_position._pixels;
          t1.toString;
          return new A.Offset(-t1, 0);
        case 1:
          t1 = scrollableState._scrollable$_position._pixels;
          t1.toString;
          return new A.Offset(t1, 0);
      }
    },
    _ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure: function _ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure() {
    },
    Scrollable0: function Scrollable0(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.axisDirection = t0;
      _.controller = t1;
      _.physics = t2;
      _.viewportBuilder = t3;
      _.excludeFromSemantics = t4;
      _.semanticChildCount = t5;
      _.dragStartBehavior = t6;
      _.restorationId = t7;
      _.scrollBehavior = t8;
      _.key = t9;
    },
    Scrollable_ensureVisible_closure: function Scrollable_ensureVisible_closure() {
    },
    _ScrollableScope: function _ScrollableScope(t0, t1, t2, t3) {
      var _ = this;
      _.scrollable = t0;
      _.position = t1;
      _.child = t2;
      _.key = t3;
    },
    ScrollableState: function ScrollableState(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _._scrollable$_position = null;
      _._persistedScrollOffset = t0;
      _.__ScrollableState__configuration = $;
      _._mediaQueryData = _._fallbackScrollController = _._physics = null;
      _._scrollSemanticsKey = t1;
      _._gestureDetectorKey = t2;
      _._ignorePointerKey = t3;
      _._gestureRecognizers = t4;
      _._shouldIgnorePointer = false;
      _._hold = _._scrollable$_drag = _._scrollable$_lastAxisDirection = _._lastCanDrag = null;
      _.RestorationMixin__bucket = t5;
      _.RestorationMixin__properties = t6;
      _.RestorationMixin__debugPropertiesWaitingForReregistration = t7;
      _.RestorationMixin__firstRestorePending = t8;
      _.RestorationMixin__currentParent = t9;
      _.TickerProviderStateMixin__tickers = t10;
      _.TickerProviderStateMixin__tickerModeNotifier = t11;
      _._widget = null;
      _._debugLifecycleState = t12;
      _._framework$_element = null;
    },
    ScrollableState_setCanDrag_closure: function ScrollableState_setCanDrag_closure(t0) {
      this.$this = t0;
    },
    ScrollableState_setCanDrag_closure0: function ScrollableState_setCanDrag_closure0(t0) {
      this.$this = t0;
    },
    ScrollableState_setCanDrag_closure1: function ScrollableState_setCanDrag_closure1(t0) {
      this.$this = t0;
    },
    ScrollableState_setCanDrag_closure2: function ScrollableState_setCanDrag_closure2(t0) {
      this.$this = t0;
    },
    _ScrollableSelectionHandler: function _ScrollableSelectionHandler(t0, t1, t2, t3, t4) {
      var _ = this;
      _.state = t0;
      _.position = t1;
      _.child = t2;
      _.registrar = t3;
      _.key = t4;
    },
    _ScrollableSelectionHandlerState: function _ScrollableSelectionHandlerState(t0) {
      var _ = this;
      _.___ScrollableSelectionHandlerState__selectionDelegate = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    EdgeDraggingAutoScroller: function EdgeDraggingAutoScroller(t0, t1) {
      var _ = this;
      _.scrollable = t0;
      _.velocityScalar = t1;
      _.__EdgeDraggingAutoScroller__dragTargetRelatedToScrollOrigin = $;
      _._scrolling = false;
    },
    _ScrollableSelectionContainerDelegate: function _ScrollableSelectionContainerDelegate(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.state = t0;
      _._autoScroller = t1;
      _._scheduledLayoutChange = false;
      _._currentDragEndRelatedToOrigin = _._currentDragStartRelatedToOrigin = null;
      _._selectionStartsInScrollable = false;
      _._scrollable$_position = t2;
      _._selectableStartEdgeUpdateRecords = t3;
      _._selectableEndEdgeUpdateRecords = t4;
      _.selectables = t5;
      _.currentSelectionStartIndex = _.currentSelectionEndIndex = -1;
      _._endHandleLayerOwner = _._endHandleLayer = _._startHandleLayerOwner = _._startHandleLayer = null;
      _._selectionInProgress = _._scheduledSelectableUpdate = _._isHandlingSelectionEvent = false;
      _._additions = t6;
      _._selectionGeometry = t7;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t8;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
      _._selectionContainerContext = null;
    },
    _ScrollableSelectionContainerDelegate__scheduleLayoutChange_closure: function _ScrollableSelectionContainerDelegate__scheduleLayoutChange_closure(t0) {
      this.$this = t0;
    },
    _ScrollableSelectionContainerDelegate_didChangeSelectables_closure: function _ScrollableSelectionContainerDelegate_didChangeSelectables_closure(t0) {
      this.selectableSet = t0;
    },
    _ScrollableSelectionContainerDelegate_didChangeSelectables_closure0: function _ScrollableSelectionContainerDelegate_didChangeSelectables_closure0(t0) {
      this.selectableSet = t0;
    },
    ScrollableDetails: function ScrollableDetails(t0, t1) {
      this.direction = t0;
      this.controller = t1;
    },
    _ScrollSemantics: function _ScrollSemantics(t0, t1, t2, t3, t4) {
      var _ = this;
      _.position = t0;
      _.allowImplicitScrolling = t1;
      _.semanticChildCount = t2;
      _.child = t3;
      _.key = t4;
    },
    _RenderScrollSemantics: function _RenderScrollSemantics(t0, t1, t2, t3, t4) {
      var _ = this;
      _._scrollable$_position = t0;
      _._allowImplicitScrolling = t1;
      _._semanticChildCount = t2;
      _._innerNode = null;
      _.RenderObjectWithChildMixin__child = t3;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t4;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    ScrollIncrementType: function ScrollIncrementType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScrollIntent: function ScrollIntent(t0, t1) {
      this.direction = t0;
      this.type = t1;
    },
    ScrollAction: function ScrollAction(t0) {
      this._actions$_listeners = t0;
      this._currentCallingAction = null;
    },
    _RestorableScrollOffset: function _RestorableScrollOffset(t0) {
      var _ = this;
      _._restoration_properties$_value = null;
      _._restoration0$_disposed = false;
      _._restoration0$_owner = _._restoration0$_restorationId = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t0;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    _ScrollableState_State_TickerProviderStateMixin: function _ScrollableState_State_TickerProviderStateMixin() {
    },
    _ScrollableState_State_TickerProviderStateMixin_RestorationMixin: function _ScrollableState_State_TickerProviderStateMixin_RestorationMixin() {
    },
    RawScrollbar$(child, controller, fadeDuration, interactive, key, notificationPredicate, pressDuration, radius, scrollbarOrientation, thickness, thumbVisibility, timeToFade, trackVisibility) {
      return new A.RawScrollbar(child, controller, thumbVisibility, radius, thickness, trackVisibility, fadeDuration, timeToFade, pressDuration, notificationPredicate, interactive, scrollbarOrientation, key);
    },
    RawScrollbarState$($T) {
      return new A.RawScrollbarState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), null, null, B._StateLifecycle_0, $T._eval$1("RawScrollbarState<0>"));
    },
    _getLocalOffset(scrollbarPainterKey, position) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, scrollbarPainterKey).get$renderObject();
      t1.toString;
      return type$.RenderBox._as(t1).globalToLocal$1(position);
    },
    ScrollbarOrientation: function ScrollbarOrientation(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ScrollbarPainter: function ScrollbarPainter(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14) {
      var _ = this;
      _._scrollbar$_color = t0;
      _._trackColor = t1;
      _._trackBorderColor = t2;
      _._trackRadius = t3;
      _._scrollbar$_textDirection = null;
      _._scrollbar$_thickness = t4;
      _.fadeoutOpacityAnimation = t5;
      _._mainAxisMargin = t6;
      _._crossAxisMargin = t7;
      _._scrollbar$_radius = t8;
      _._scrollbar$_shape = t9;
      _._scrollbar$_padding = t10;
      _._minLength = t11;
      _._minOverscrollLength = t12;
      _._scrollbarOrientation = t13;
      _._ignorePointer = false;
      _._trackRect = _._thumbRect = _._lastAxisDirection = _._lastMetrics = null;
      _.__ScrollbarPainter__thumbOffset = $;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t14;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ScrollbarPainter_update_needPaint: function ScrollbarPainter_update_needPaint() {
    },
    RawScrollbar: function RawScrollbar(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.child = t0;
      _.controller = t1;
      _.thumbVisibility = t2;
      _.radius = t3;
      _.thickness = t4;
      _.trackVisibility = t5;
      _.fadeDuration = t6;
      _.timeToFade = t7;
      _.pressDuration = t8;
      _.notificationPredicate = t9;
      _.interactive = t10;
      _.scrollbarOrientation = t11;
      _.key = t12;
    },
    RawScrollbarState: function RawScrollbarState(t0, t1, t2, t3, t4) {
      var _ = this;
      _._fadeoutTimer = _._currentController = _._dragScrollbarAxisOffset = null;
      _.__RawScrollbarState__fadeoutOpacityAnimation = _.__RawScrollbarState__fadeoutAnimationController = $;
      _._scrollbarPainterKey = t0;
      _._hoverIsActive = false;
      _.__RawScrollbarState_scrollbarPainter = $;
      _.TickerProviderStateMixin__tickers = t1;
      _.TickerProviderStateMixin__tickerModeNotifier = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
      _.$ti = t4;
    },
    RawScrollbarState__maybeStartFadeoutTimer_closure: function RawScrollbarState__maybeStartFadeoutTimer_closure(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures_closure: function RawScrollbarState__gestures_closure(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures_closure0: function RawScrollbarState__gestures_closure0(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures__closure: function RawScrollbarState__gestures__closure(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures__closure0: function RawScrollbarState__gestures__closure0(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures__closure1: function RawScrollbarState__gestures__closure1(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures_closure1: function RawScrollbarState__gestures_closure1(t0) {
      this.$this = t0;
    },
    RawScrollbarState__gestures_closure2: function RawScrollbarState__gestures_closure2(t0) {
      this.$this = t0;
    },
    RawScrollbarState_build_closure: function RawScrollbarState_build_closure(t0) {
      this.$this = t0;
    },
    RawScrollbarState_build_closure0: function RawScrollbarState_build_closure0(t0) {
      this.$this = t0;
    },
    _ThumbPressGestureRecognizer: function _ThumbPressGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._customPaintKey = t0;
      _._longPressAccepted = false;
      _._velocityTracker = _.onTertiaryLongPressEnd = _.onTertiaryLongPressUp = _.onTertiaryLongPressMoveUpdate = _.onTertiaryLongPressStart = _.onTertiaryLongPress = _.onTertiaryLongPressCancel = _.onTertiaryLongPressDown = _.onSecondaryLongPressEnd = _.onSecondaryLongPressUp = _.onSecondaryLongPressMoveUpdate = _.onSecondaryLongPressStart = _.onSecondaryLongPress = _.onSecondaryLongPressCancel = _.onSecondaryLongPressDown = _.onLongPressEnd = _.onLongPressUp = _.onLongPressMoveUpdate = _.onLongPressStart = _.onLongPress = _.onLongPressCancel = _.onLongPressDown = _._long_press$_initialButtons = _._longPressOrigin = null;
      _.deadline = t1;
      _.postAcceptSlopTolerance = t2;
      _._recognizer$_state = t3;
      _._initialPosition = _._primaryPointer = null;
      _._gestureAccepted = false;
      _._recognizer$_timer = null;
      _._recognizer$_entries = t4;
      _._trackedPointers = t5;
      _.debugOwner = t6;
      _.gestureSettings = null;
      _._supportedDevices = t7;
      _._pointerToKind = t8;
    },
    _TrackTapGestureRecognizer: function _TrackTapGestureRecognizer(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _._customPaintKey = t0;
      _.onTertiaryTapCancel = _.onTertiaryTapUp = _.onTertiaryTapDown = _.onSecondaryTapCancel = _.onSecondaryTapUp = _.onSecondaryTapDown = _.onSecondaryTap = _.onTapCancel = _.onTap = _.onTapUp = _.onTapDown = null;
      _._wonArenaForPrimaryPointer = _._sentTapDown = false;
      _._up = _._down = null;
      _.deadline = t1;
      _.postAcceptSlopTolerance = t2;
      _._recognizer$_state = t3;
      _._initialPosition = _._primaryPointer = null;
      _._gestureAccepted = false;
      _._recognizer$_timer = null;
      _._recognizer$_entries = t4;
      _._trackedPointers = t5;
      _.debugOwner = t6;
      _.gestureSettings = null;
      _._supportedDevices = t7;
      _._pointerToKind = t8;
    },
    _RawScrollbarState_State_TickerProviderStateMixin: function _RawScrollbarState_State_TickerProviderStateMixin() {
    },
    MultiSelectableSelectionContainerDelegate__compareVertically(a, b) {
      var t4,
        t1 = a.top,
        t2 = b.top,
        t3 = t1 - t2;
      if (!(t3 < 1e-10 && a.bottom - b.bottom > -1e-10))
        t4 = t2 - t1 < 1e-10 && b.bottom - a.bottom > -1e-10;
      else
        t4 = true;
      if (t4)
        return 0;
      if (Math.abs(t3) > 1e-10)
        return t1 > t2 ? 1 : -1;
      return a.bottom > b.bottom ? 1 : -1;
    },
    MultiSelectableSelectionContainerDelegate__compareHorizontally(a, b) {
      var t1 = a.left,
        t2 = b.left,
        t3 = t1 - t2;
      if (t3 < 1e-10 && a.right - b.right > -1e-10)
        return -1;
      if (t2 - t1 < 1e-10 && b.right - a.right > -1e-10)
        return 1;
      if (Math.abs(t3) > 1e-10)
        return t1 > t2 ? 1 : -1;
      return a.right > b.right ? 1 : -1;
    },
    MultiSelectableSelectionContainerDelegate: function MultiSelectableSelectionContainerDelegate() {
    },
    MultiSelectableSelectionContainerDelegate__scheduleSelectableUpdate_closure: function MultiSelectableSelectionContainerDelegate__scheduleSelectableUpdate_closure(t0) {
      this.$this = t0;
    },
    MultiSelectableSelectionContainerDelegate_handleSelectWord_closure: function MultiSelectableSelectionContainerDelegate_handleSelectWord_closure(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    MultiSelectableSelectionContainerDelegate_handleSelectWord_closure0: function MultiSelectableSelectionContainerDelegate_handleSelectWord_closure0(t0) {
      this.$this = t0;
    },
    _MultiSelectableSelectionContainerDelegate_SelectionContainerDelegate_ChangeNotifier: function _MultiSelectableSelectionContainerDelegate_SelectionContainerDelegate_ChangeNotifier() {
    },
    SelectionContainer_maybeOf(context) {
      var scope = context.dependOnInheritedWidgetOfExactType$1$0(type$.SelectionRegistrarScope);
      return scope == null ? null : scope.registrar;
    },
    SelectionRegistrarScope$(child, registrar) {
      return new A.SelectionRegistrarScope(registrar, child, null);
    },
    SelectionContainer: function SelectionContainer(t0, t1, t2, t3) {
      var _ = this;
      _.registrar = t0;
      _.child = t1;
      _.delegate = t2;
      _.key = t3;
    },
    _SelectionContainerState: function _SelectionContainerState(t0, t1, t2, t3) {
      var _ = this;
      _._selection_container$_listeners = t0;
      _.SelectionRegistrant__registrar = t1;
      _.SelectionRegistrant__subscribedToSelectionRegistrar = t2;
      _._widget = null;
      _._debugLifecycleState = t3;
      _._framework$_element = null;
    },
    SelectionRegistrarScope: function SelectionRegistrarScope(t0, t1, t2) {
      this.registrar = t0;
      this.child = t1;
      this.key = t2;
    },
    SelectionContainerDelegate: function SelectionContainerDelegate() {
    },
    __SelectionContainerState_State_Selectable: function __SelectionContainerState_State_Selectable() {
    },
    __SelectionContainerState_State_Selectable_SelectionRegistrant: function __SelectionContainerState_State_Selectable_SelectionRegistrant() {
    },
    SharedAppData: function SharedAppData(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _SharedAppDataState: function _SharedAppDataState(t0) {
      var _ = this;
      _.___SharedAppDataState_data = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _SharedAppModel: function _SharedAppModel(t0, t1, t2) {
      this.data = t0;
      this.child = t1;
      this.key = t2;
    },
    KeySet__computeHashCode(keys) {
      var t2, h1, h2, sortedHashes,
        $length = keys._collection$_length,
        t1 = A._instanceType(keys),
        iterator = new A._HashSetIterator(keys, keys._computeElements$0(), t1._eval$1("_HashSetIterator<1>"));
      iterator.moveNext$0();
      t2 = iterator._collection$_current;
      h1 = J.get$hashCode$(t2 == null ? t1._precomputed1._as(t2) : t2);
      if ($length === 1)
        return h1;
      iterator.moveNext$0();
      t2 = iterator._collection$_current;
      h2 = J.get$hashCode$(t2 == null ? t1._precomputed1._as(t2) : t2);
      if ($length === 2)
        return h1 < h2 ? A.Object_hash(h1, h2, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue) : A.Object_hash(h2, h1, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
      sortedHashes = $length === 3 ? $.KeySet__tempHashStore3 : $.KeySet__tempHashStore4;
      sortedHashes[0] = h1;
      sortedHashes[1] = h2;
      iterator.moveNext$0();
      t2 = iterator._collection$_current;
      sortedHashes[2] = J.get$hashCode$(t2 == null ? t1._precomputed1._as(t2) : t2);
      if ($length === 4) {
        iterator.moveNext$0();
        t2 = iterator._collection$_current;
        sortedHashes[3] = J.get$hashCode$(t2 == null ? t1._precomputed1._as(t2) : t2);
      }
      B.JSArray_methods.sort$0(sortedHashes);
      return A.Object_hashAll(sortedHashes);
    },
    LogicalKeySet$(key1, key2) {
      var t1 = type$.LogicalKeyboardKey,
        t2 = A.HashSet_HashSet(t1);
      t2.add$1(0, key1);
      t2 = new A.LogicalKeySet(t2);
      t2.KeySet$4(key1, key2, null, null, {}, t1);
      return t2;
    },
    SingleActivator$(trigger, alt, control, meta, shift) {
      return new A.SingleActivator(trigger, control, shift, alt, meta);
    },
    ShortcutManager__indexShortcuts(source) {
      var result = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_LogicalKeyboardKey, type$.List__ActivatorIntentPair);
      source.forEach$1(0, new A.ShortcutManager__indexShortcuts_closure(result));
      return result;
    },
    Shortcuts$(child, debugLabel, shortcuts) {
      return new A.Shortcuts(null, shortcuts, child, debugLabel, null);
    },
    KeySet: function KeySet() {
    },
    LogicalKeySet: function LogicalKeySet(t0) {
      this.__LogicalKeySet__triggers = $;
      this._shortcuts$_keys = t0;
      this.__KeySet_hashCode = $;
    },
    LogicalKeySet__triggers_closure: function LogicalKeySet__triggers_closure() {
    },
    SingleActivator: function SingleActivator(t0, t1, t2, t3, t4) {
      var _ = this;
      _.trigger = t0;
      _.control = t1;
      _.shift = t2;
      _.alt = t3;
      _.meta = t4;
    },
    _ActivatorIntentPair: function _ActivatorIntentPair(t0, t1) {
      this.activator = t0;
      this.intent = t1;
    },
    ShortcutManager: function ShortcutManager(t0, t1) {
      var _ = this;
      _._shortcuts = t0;
      _._indexedShortcutsCache = null;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ShortcutManager__indexShortcuts_closure: function ShortcutManager__indexShortcuts_closure(t0) {
      this.result = t0;
    },
    ShortcutManager__indexShortcuts__closure: function ShortcutManager__indexShortcuts__closure() {
    },
    Shortcuts: function Shortcuts(t0, t1, t2, t3, t4) {
      var _ = this;
      _.manager = t0;
      _._shortcuts = t1;
      _.child = t2;
      _.debugLabel = t3;
      _.key = t4;
    },
    _ShortcutsState: function _ShortcutsState(t0) {
      var _ = this;
      _._widget = _._internalManager = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    ShortcutRegistryEntry: function ShortcutRegistryEntry(t0) {
      this.registry = t0;
    },
    ShortcutRegistry: function ShortcutRegistry(t0, t1) {
      var _ = this;
      _._tokenShortcuts = t0;
      _.ChangeNotifier__count = 0;
      _.ChangeNotifier__listeners = t1;
      _.ChangeNotifier__reentrantlyRemovedListeners = _.ChangeNotifier__notificationCallStackDepth = 0;
      _.ChangeNotifier__debugDisposed = false;
    },
    ShortcutRegistrar: function ShortcutRegistrar(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _ShortcutRegistrarState: function _ShortcutRegistrarState(t0, t1, t2) {
      var _ = this;
      _.registry = t0;
      _.manager = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _ShortcutRegistrarMarker: function _ShortcutRegistrarMarker(t0, t1, t2) {
      this.registry = t0;
      this.child = t1;
      this.key = t2;
    },
    _LogicalKeySet_KeySet_Diagnosticable: function _LogicalKeySet_KeySet_Diagnosticable() {
    },
    _ShortcutManager_Object_Diagnosticable: function _ShortcutManager_Object_Diagnosticable() {
    },
    _ShortcutManager_Object_Diagnosticable_ChangeNotifier: function _ShortcutManager_Object_Diagnosticable_ChangeNotifier() {
    },
    _ShortcutRegistry_Object_ChangeNotifier: function _ShortcutRegistry_Object_ChangeNotifier() {
    },
    _SingleActivator_Object_Diagnosticable: function _SingleActivator_Object_Diagnosticable() {
    },
    _SingleActivator_Object_Diagnosticable_MenuSerializableShortcut: function _SingleActivator_Object_Diagnosticable_MenuSerializableShortcut() {
    },
    __ActivatorIntentPair_Object_Diagnosticable: function __ActivatorIntentPair_Object_Diagnosticable() {
    },
    SingleChildScrollView$(child, controller, dragStartBehavior, padding, physics, reverse, scrollDirection) {
      var t1 = controller == null && scrollDirection === B.Axis_1;
      return new A.SingleChildScrollView(scrollDirection, reverse, padding, controller, t1, physics, child, dragStartBehavior, null);
    },
    SingleChildScrollView: function SingleChildScrollView(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.scrollDirection = t0;
      _.reverse = t1;
      _.padding = t2;
      _.controller = t3;
      _.primary = t4;
      _.physics = t5;
      _.child = t6;
      _.dragStartBehavior = t7;
      _.key = t8;
    },
    SingleChildScrollView_build_closure: function SingleChildScrollView_build_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.axisDirection = t2;
    },
    _SingleChildViewport: function _SingleChildViewport(t0, t1, t2, t3, t4) {
      var _ = this;
      _.axisDirection = t0;
      _.offset = t1;
      _.clipBehavior = t2;
      _.child = t3;
      _.key = t4;
    },
    _SingleChildViewportElement: function _SingleChildViewportElement(t0, t1) {
      var _ = this;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._framework$_child = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _RenderSingleChildViewport: function _RenderSingleChildViewport(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._single_child_scroll_view$_axisDirection = t0;
      _._single_child_scroll_view$_offset = t1;
      _._single_child_scroll_view$_clipBehavior = t2;
      _._single_child_scroll_view$_clipRectLayer = t3;
      _.RenderObjectWithChildMixin__child = t4;
      _._cachedDryLayoutSizes = _._cachedIntrinsicDimensions = null;
      _._computingThisDryLayout = false;
      _._cachedBaselines = _._box$_size = null;
      _._debugActivePointers = 0;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t5;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    _RenderSingleChildViewport_paint_paintContents: function _RenderSingleChildViewport_paint_paintContents(t0, t1) {
      this.$this = t0;
      this.paintOffset = t1;
    },
    _RenderSingleChildViewport_hitTestChildren_closure: function _RenderSingleChildViewport_hitTestChildren_closure(t0, t1) {
      this.$this = t0;
      this.position = t1;
    },
    __RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin: function __RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin() {
    },
    __SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin: function __SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin() {
    },
    __SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin: function __SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin() {
    },
    _kDefaultSemanticIndexCallback(_, localIndex) {
      return localIndex;
    },
    SliverChildListDelegate$(children, addAutomaticKeepAlives, addRepaintBoundaries, addSemanticIndexes) {
      return new A.SliverChildListDelegate(true, true, true, children, A.LinkedHashMap_LinkedHashMap$_literal([null, 0], type$.nullable_Key, type$.int));
    },
    SliverMultiBoxAdaptorElement$(widget, replaceMovedChildren) {
      return new A.SliverMultiBoxAdaptorElement(replaceMovedChildren, A.SplayTreeMap$(null, type$.int, type$.nullable_Element_2), widget, B._ElementLifecycle_0);
    },
    SliverMultiBoxAdaptorElement__extrapolateMaxScrollOffset(firstIndex, lastIndex, leadingScrollOffset, trailingScrollOffset, childCount) {
      if (lastIndex === childCount - 1)
        return trailingScrollOffset;
      return trailingScrollOffset + (trailingScrollOffset - leadingScrollOffset) / (lastIndex - firstIndex + 1) * (childCount - lastIndex - 1);
    },
    KeepAlive$(child, keepAlive) {
      return new A.KeepAlive(keepAlive, child, null);
    },
    SliverChildDelegate: function SliverChildDelegate() {
    },
    _SaltedValueKey: function _SaltedValueKey(t0) {
      this.value = t0;
    },
    SliverChildBuilderDelegate: function SliverChildBuilderDelegate(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.builder = t0;
      _.childCount = t1;
      _.addAutomaticKeepAlives = t2;
      _.addRepaintBoundaries = t3;
      _.addSemanticIndexes = t4;
      _.semanticIndexCallback = t5;
      _.findChildIndexCallback = t6;
    },
    SliverChildListDelegate: function SliverChildListDelegate(t0, t1, t2, t3, t4) {
      var _ = this;
      _.addAutomaticKeepAlives = t0;
      _.addRepaintBoundaries = t1;
      _.addSemanticIndexes = t2;
      _.children = t3;
      _._keyToIndex = t4;
    },
    _SelectionKeepAlive: function _SelectionKeepAlive(t0, t1) {
      this.child = t0;
      this.key = t1;
    },
    _SelectionKeepAliveState: function _SelectionKeepAliveState(t0, t1) {
      var _ = this;
      _._sliver$_registrar = _._selectableAttachments = _._selectablesWithSelections = null;
      _._wantKeepAlive = false;
      _.AutomaticKeepAliveClientMixin__keepAliveHandle = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _SelectionKeepAliveState_listensTo_closure: function _SelectionKeepAliveState_listensTo_closure(t0, t1) {
      this.$this = t0;
      this.selectable = t1;
    },
    SliverWithKeepAliveWidget: function SliverWithKeepAliveWidget() {
    },
    SliverMultiBoxAdaptorWidget: function SliverMultiBoxAdaptorWidget() {
    },
    SliverList: function SliverList(t0, t1) {
      this.delegate = t0;
      this.key = t1;
    },
    SliverFixedExtentList: function SliverFixedExtentList(t0, t1, t2) {
      this.itemExtent = t0;
      this.delegate = t1;
      this.key = t2;
    },
    SliverMultiBoxAdaptorElement: function SliverMultiBoxAdaptorElement(t0, t1, t2, t3) {
      var _ = this;
      _._replaceMovedChildren = t0;
      _._childElements = t1;
      _._currentlyUpdatingChildIndex = _._currentBeforeChild = null;
      _._didUnderflow = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._framework$_owner = null;
      _._lifecycleState = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    SliverMultiBoxAdaptorElement_performRebuild_processElement: function SliverMultiBoxAdaptorElement_performRebuild_processElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.newChildren = t2;
      _.adaptorWidget = t3;
      _.indexToLayoutOffset = t4;
    },
    SliverMultiBoxAdaptorElement_performRebuild_closure: function SliverMultiBoxAdaptorElement_performRebuild_closure() {
    },
    SliverMultiBoxAdaptorElement_performRebuild_closure0: function SliverMultiBoxAdaptorElement_performRebuild_closure0(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    SliverMultiBoxAdaptorElement_createChild_closure: function SliverMultiBoxAdaptorElement_createChild_closure(t0, t1, t2) {
      this.$this = t0;
      this.after = t1;
      this.index = t2;
    },
    SliverMultiBoxAdaptorElement_removeChild_closure: function SliverMultiBoxAdaptorElement_removeChild_closure(t0, t1) {
      this.$this = t0;
      this.index = t1;
    },
    KeepAlive: function KeepAlive(t0, t1, t2) {
      this.keepAlive = t0;
      this.child = t1;
      this.key = t2;
    },
    __SelectionKeepAliveState_State_AutomaticKeepAliveClientMixin: function __SelectionKeepAliveState_State_AutomaticKeepAliveClientMixin() {
    },
    SliverFillViewport: function SliverFillViewport(t0, t1, t2, t3) {
      var _ = this;
      _.viewportFraction = t0;
      _.padEnds = t1;
      _.delegate = t2;
      _.key = t3;
    },
    _SliverFillViewportRenderObjectWidget: function _SliverFillViewportRenderObjectWidget(t0, t1, t2) {
      this.viewportFraction = t0;
      this.delegate = t1;
      this.key = t2;
    },
    _SliverFractionalPadding: function _SliverFractionalPadding(t0, t1, t2) {
      this.viewportFraction = t0;
      this.child = t1;
      this.key = t2;
    },
    _RenderSliverFractionalPadding: function _RenderSliverFractionalPadding(t0, t1, t2) {
      var _ = this;
      _._lastResolvedConstraints = null;
      _._viewportFraction = t0;
      _._sliver_fill$_resolvedPadding = null;
      _.RenderObjectWithChildMixin__child = t1;
      _._geometry = null;
      _._object$_debugDisposed = false;
      _.debugCreator = _.parentData = null;
      _._debugDoingThisLayout = _._debugDoingThisResize = false;
      _._debugCanParentUseSize = null;
      _._debugMutationsLocked = false;
      _._needsLayout = true;
      _._relayoutBoundary = null;
      _._doingThisLayoutWithCallback = false;
      _._constraints = null;
      _._debugDoingThisPaint = false;
      _.__RenderObject__wasRepaintBoundary = $;
      _._layerHandle = t2;
      _._needsCompositingBitsUpdate = false;
      _.__RenderObject__needsCompositing = $;
      _._needsPaint = true;
      _._needsCompositedLayerUpdate = false;
      _._cachedSemanticsConfiguration = null;
      _._needsSemanticsUpdate = true;
      _._semantics = null;
      _._depth = 0;
      _._node$_parent = _._owner = null;
    },
    SlottedMultiChildRenderObjectWidgetMixin: function SlottedMultiChildRenderObjectWidgetMixin() {
    },
    SlottedContainerRenderObjectMixin: function SlottedContainerRenderObjectMixin() {
    },
    SlottedRenderObjectElement: function SlottedRenderObjectElement(t0, t1, t2, t3) {
      var _ = this;
      _._slotToChild = t0;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = _._debugPreviousSlots = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t3;
    },
    Spacer: function Spacer(t0) {
      this.key = t0;
    },
    StatusTransitionWidget: function StatusTransitionWidget() {
    },
    _StatusTransitionState: function _StatusTransitionState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _StatusTransitionState__animationStatusChanged_closure: function _StatusTransitionState__animationStatusChanged_closure() {
    },
    Table$(border, children, columnWidths, defaultColumnWidth, defaultVerticalAlignment) {
      var t1;
      if (B.JSArray_methods.any$1(children, new A.Table_closure())) {
        t1 = A._arrayInstanceType(children)._eval$1("MappedListIterable<1,Decoration?>");
        t1 = A.List_List$of(new A.MappedListIterable(children, new A.Table_closure0(), t1), false, t1._eval$1("ListIterable.E"));
      } else
        t1 = null;
      return new A.Table(children, columnWidths, defaultColumnWidth, border, defaultVerticalAlignment, t1, null);
    },
    TableCell$(child, verticalAlignment) {
      return new A.TableCell(verticalAlignment, child, null);
    },
    TableRow0: function TableRow0(t0, t1, t2) {
      this.key = t0;
      this.decoration = t1;
      this.children = t2;
    },
    _TableElementRow: function _TableElementRow(t0, t1) {
      this.key = t0;
      this.children = t1;
    },
    Table: function Table(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.children = t0;
      _.columnWidths = t1;
      _.defaultColumnWidth = t2;
      _.border = t3;
      _.defaultVerticalAlignment = t4;
      _._rowDecorations = t5;
      _.key = t6;
    },
    Table_closure: function Table_closure() {
    },
    Table_closure0: function Table_closure0() {
    },
    _TableElement: function _TableElement(t0, t1, t2, t3) {
      var _ = this;
      _._table1$_children = t0;
      _._table1$_doingMountOrUpdate = false;
      _._table1$_forgottenChildren = t1;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._framework$_owner = null;
      _._lifecycleState = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _TableElement_mount_closure: function _TableElement_mount_closure(t0, t1) {
      this._box_1 = t0;
      this.$this = t1;
    },
    _TableElement_mount__closure: function _TableElement_mount__closure(t0, t1, t2) {
      this._box_0 = t0;
      this._box_1 = t1;
      this.$this = t2;
    },
    _TableElement_update_closure: function _TableElement_update_closure() {
    },
    _TableElement_update_closure0: function _TableElement_update_closure0(t0) {
      this.taken = t0;
    },
    _TableElement__updateRenderObjectChildren_closure: function _TableElement__updateRenderObjectChildren_closure() {
    },
    _TableElement__updateRenderObjectChildren__closure: function _TableElement__updateRenderObjectChildren__closure() {
    },
    _TableElement_visitChildren_closure: function _TableElement_visitChildren_closure() {
    },
    TableCell: function TableCell(t0, t1, t2) {
      this.verticalAlignment = t0;
      this.child = t1;
      this.key = t2;
    },
    _TableSlot: function _TableSlot(t0, t1) {
      this.column = t0;
      this.row = t1;
    },
    __TableSlot_Object_Diagnosticable: function __TableSlot_Object_Diagnosticable() {
    },
    DefaultTextStyle$(child, key, maxLines, overflow, softWrap, style, textAlign, textHeightBehavior, textWidthBasis) {
      return new A.DefaultTextStyle(style, textAlign, softWrap, overflow, maxLines, textWidthBasis, textHeightBehavior, child, key);
    },
    DefaultTextStyle_merge(child, style) {
      var _null = null;
      return new A.Builder(new A.DefaultTextStyle_merge_closure(_null, style, _null, _null, _null, _null, _null, child), _null);
    },
    DefaultTextHeightBehavior_of(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextHeightBehavior);
      return t1 == null ? null : t1.get$textHeightBehavior();
    },
    Text$(data, key, maxLines, overflow, semanticsLabel, softWrap, style, textAlign, textDirection, textHeightBehavior, textScaleFactor) {
      return new A.Text(data, null, style, textAlign, textDirection, softWrap, overflow, textScaleFactor, maxLines, semanticsLabel, textHeightBehavior, key);
    },
    Text$rich(textSpan, maxLines, overflow, style, textAlign) {
      var _null = null;
      return new A.Text(_null, textSpan, style, textAlign, _null, _null, overflow, _null, maxLines, _null, _null, _null);
    },
    DefaultTextStyle: function DefaultTextStyle(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.style = t0;
      _.textAlign = t1;
      _.softWrap = t2;
      _.overflow = t3;
      _.maxLines = t4;
      _.textWidthBasis = t5;
      _.textHeightBehavior = t6;
      _.child = t7;
      _.key = t8;
    },
    DefaultTextStyle_merge_closure: function DefaultTextStyle_merge_closure(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.key = t0;
      _.style = t1;
      _.textAlign = t2;
      _.softWrap = t3;
      _.overflow = t4;
      _.maxLines = t5;
      _.textWidthBasis = t6;
      _.child = t7;
    },
    _NullWidget3: function _NullWidget3(t0) {
      this.key = t0;
    },
    Text: function Text(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.data = t0;
      _.textSpan = t1;
      _.style = t2;
      _.textAlign = t3;
      _.textDirection = t4;
      _.softWrap = t5;
      _.overflow = t6;
      _.textScaleFactor = t7;
      _.maxLines = t8;
      _.semanticsLabel = t9;
      _.textHeightBehavior = t10;
      _.key = t11;
    },
    DoNothingAndStopPropagationTextIntent: function DoNothingAndStopPropagationTextIntent() {
    },
    DirectionalTextEditingIntent: function DirectionalTextEditingIntent() {
    },
    DeleteCharacterIntent: function DeleteCharacterIntent(t0) {
      this.forward = t0;
    },
    DeleteToNextWordBoundaryIntent: function DeleteToNextWordBoundaryIntent(t0) {
      this.forward = t0;
    },
    DeleteToLineBreakIntent: function DeleteToLineBreakIntent(t0) {
      this.forward = t0;
    },
    DirectionalCaretMovementIntent: function DirectionalCaretMovementIntent() {
    },
    ExtendSelectionByCharacterIntent: function ExtendSelectionByCharacterIntent(t0, t1, t2, t3) {
      var _ = this;
      _.collapseSelection = t0;
      _.collapseAtReversal = t1;
      _.continuesAtWrap = t2;
      _.forward = t3;
    },
    ExtendSelectionToNextWordBoundaryIntent: function ExtendSelectionToNextWordBoundaryIntent(t0, t1, t2, t3) {
      var _ = this;
      _.collapseSelection = t0;
      _.collapseAtReversal = t1;
      _.continuesAtWrap = t2;
      _.forward = t3;
    },
    ExtendSelectionToNextWordBoundaryOrCaretLocationIntent: function ExtendSelectionToNextWordBoundaryOrCaretLocationIntent(t0) {
      this.forward = t0;
    },
    ExpandSelectionToDocumentBoundaryIntent: function ExpandSelectionToDocumentBoundaryIntent(t0) {
      this.forward = t0;
    },
    ExpandSelectionToLineBreakIntent: function ExpandSelectionToLineBreakIntent(t0) {
      this.forward = t0;
    },
    ExtendSelectionToLineBreakIntent: function ExtendSelectionToLineBreakIntent(t0, t1, t2, t3) {
      var _ = this;
      _.collapseSelection = t0;
      _.collapseAtReversal = t1;
      _.continuesAtWrap = t2;
      _.forward = t3;
    },
    ExtendSelectionVerticallyToAdjacentLineIntent: function ExtendSelectionVerticallyToAdjacentLineIntent(t0, t1, t2, t3) {
      var _ = this;
      _.collapseSelection = t0;
      _.collapseAtReversal = t1;
      _.continuesAtWrap = t2;
      _.forward = t3;
    },
    ExtendSelectionToDocumentBoundaryIntent: function ExtendSelectionToDocumentBoundaryIntent(t0, t1, t2, t3) {
      var _ = this;
      _.collapseSelection = t0;
      _.collapseAtReversal = t1;
      _.continuesAtWrap = t2;
      _.forward = t3;
    },
    ScrollToDocumentBoundaryIntent: function ScrollToDocumentBoundaryIntent(t0) {
      this.forward = t0;
    },
    SelectAllTextIntent: function SelectAllTextIntent() {
    },
    CopySelectionTextIntent: function CopySelectionTextIntent(t0) {
      this.collapseSelection = t0;
    },
    PasteTextIntent: function PasteTextIntent() {
    },
    RedoTextIntent: function RedoTextIntent() {
    },
    ReplaceTextIntent: function ReplaceTextIntent(t0, t1, t2, t3) {
      var _ = this;
      _.currentTextEditingValue = t0;
      _.replacementText = t1;
      _.replacementRange = t2;
      _.cause = t3;
    },
    UndoTextIntent: function UndoTextIntent() {
    },
    UpdateSelectionIntent: function UpdateSelectionIntent(t0, t1, t2) {
      this.currentTextEditingValue = t0;
      this.newSelection = t1;
      this.cause = t2;
    },
    TransposeCharactersIntent: function TransposeCharactersIntent() {
    },
    _SelectionHandleOverlay$(dragStartBehavior, handleLayerLink, onSelectionHandleDragEnd, onSelectionHandleDragStart, onSelectionHandleDragUpdate, onSelectionHandleTapped, preferredLineHeight, selectionControls, type, visibility) {
      return new A._SelectionHandleOverlay(handleLayerLink, onSelectionHandleTapped, onSelectionHandleDragStart, onSelectionHandleDragUpdate, onSelectionHandleDragEnd, selectionControls, visibility, preferredLineHeight, type, dragStartBehavior, null);
    },
    TextSelectionControls: function TextSelectionControls() {
    },
    TextSelectionOverlay: function TextSelectionOverlay(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.renderObject = t0;
      _.selectionControls = t1;
      _.selectionDelegate = t2;
      _.__TextSelectionOverlay__selectionOverlay = $;
      _._text_selection$_value = t3;
      _._effectiveStartHandleVisibility = t4;
      _._effectiveEndHandleVisibility = t5;
      _._effectiveToolbarVisibility = t6;
      _._handlesVisible = false;
      _.__TextSelectionOverlay__dragStartPosition = _.__TextSelectionOverlay__dragEndPosition = $;
    },
    SelectionOverlay: function SelectionOverlay(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22) {
      var _ = this;
      _.context = t0;
      _._startHandleType = t1;
      _._lineHeightAtStart = t2;
      _.startHandlesVisible = t3;
      _.onStartHandleDragStart = t4;
      _.onStartHandleDragUpdate = t5;
      _._endHandleType = t6;
      _._lineHeightAtEnd = t7;
      _.endHandlesVisible = t8;
      _.onEndHandleDragStart = t9;
      _.onEndHandleDragUpdate = t10;
      _.toolbarVisible = t11;
      _._selectionEndPoints = t12;
      _.debugRequiredFor = t13;
      _.toolbarLayerLink = t14;
      _.startHandleLayerLink = t15;
      _.endHandleLayerLink = t16;
      _.selectionControls = t17;
      _.selectionDelegate = t18;
      _.dragStartBehavior = t19;
      _.onSelectionHandleTapped = t20;
      _.clipboardStatus = t21;
      _._toolbarLocation = t22;
      _._toolbar = _._handles = null;
      _._buildScheduled = false;
    },
    SelectionOverlay__markNeedsBuild_closure: function SelectionOverlay__markNeedsBuild_closure(t0) {
      this.$this = t0;
    },
    _SelectionHandleOverlay: function _SelectionHandleOverlay(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.handleLayerLink = t0;
      _.onSelectionHandleTapped = t1;
      _.onSelectionHandleDragStart = t2;
      _.onSelectionHandleDragUpdate = t3;
      _.onSelectionHandleDragEnd = t4;
      _.selectionControls = t5;
      _.visibility = t6;
      _.preferredLineHeight = t7;
      _.type = t8;
      _.dragStartBehavior = t9;
      _.key = t10;
    },
    _SelectionHandleOverlayState: function _SelectionHandleOverlayState(t0, t1, t2) {
      var _ = this;
      _.___SelectionHandleOverlayState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
    },
    _SelectionHandleOverlayState_build_closure: function _SelectionHandleOverlayState_build_closure(t0) {
      this.$this = t0;
    },
    _SelectionHandleOverlayState_build_closure0: function _SelectionHandleOverlayState_build_closure0(t0) {
      this.$this = t0;
    },
    TextSelectionGestureDetectorBuilder: function TextSelectionGestureDetectorBuilder() {
    },
    TextSelectionGestureDetector: function TextSelectionGestureDetector(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.onTapDown = t0;
      _.onForcePressStart = t1;
      _.onForcePressEnd = t2;
      _.onSecondaryTap = t3;
      _.onSecondaryTapDown = t4;
      _.onSingleTapUp = t5;
      _.onSingleTapCancel = t6;
      _.onSingleLongTapStart = t7;
      _.onSingleLongTapMoveUpdate = t8;
      _.onSingleLongTapEnd = t9;
      _.onDoubleTapDown = t10;
      _.onDragSelectionStart = t11;
      _.onDragSelectionUpdate = t12;
      _.onDragSelectionEnd = t13;
      _.behavior = t14;
      _.child = t15;
      _.key = t16;
    },
    _TextSelectionGestureDetectorState: function _TextSelectionGestureDetectorState(t0) {
      var _ = this;
      _._lastTapOffset = _._text_selection$_doubleTapTimer = null;
      _._isDoubleTap = false;
      _._widget = _._dragUpdateThrottleTimer = _._lastDragUpdateDetails = _._lastDragStartDetails = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    _TextSelectionGestureDetectorState_build_closure: function _TextSelectionGestureDetectorState_build_closure(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure0: function _TextSelectionGestureDetectorState_build_closure0(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure1: function _TextSelectionGestureDetectorState_build_closure1(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure2: function _TextSelectionGestureDetectorState_build_closure2(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure3: function _TextSelectionGestureDetectorState_build_closure3(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure4: function _TextSelectionGestureDetectorState_build_closure4(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure5: function _TextSelectionGestureDetectorState_build_closure5(t0) {
      this.$this = t0;
    },
    _TextSelectionGestureDetectorState_build_closure6: function _TextSelectionGestureDetectorState_build_closure6(t0) {
      this.$this = t0;
    },
    __SelectionHandleOverlayState_State_SingleTickerProviderStateMixin: function __SelectionHandleOverlayState_State_SingleTickerProviderStateMixin() {
    },
    TickerMode_of(context) {
      var widget = context.dependOnInheritedWidgetOfExactType$1$0(type$._EffectiveTickerMode),
        t1 = widget == null ? null : widget.enabled;
      return t1 !== false;
    },
    TickerMode_getNotifier(context) {
      var t1 = context.getElementForInheritedWidgetOfExactType$1$0(type$._EffectiveTickerMode);
      t1 = t1 == null ? null : t1.get$widget();
      type$.nullable__EffectiveTickerMode._as(t1);
      t1 = t1 == null ? null : t1.notifier;
      return t1 == null ? new A.ValueNotifier(true, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool) : t1;
    },
    TickerMode: function TickerMode(t0, t1, t2) {
      this.enabled = t0;
      this.child = t1;
      this.key = t2;
    },
    _TickerModeState: function _TickerModeState(t0, t1) {
      var _ = this;
      _._ancestorTicketMode = true;
      _._effectiveMode = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _EffectiveTickerMode: function _EffectiveTickerMode(t0, t1, t2, t3) {
      var _ = this;
      _.enabled = t0;
      _.notifier = t1;
      _.child = t2;
      _.key = t3;
    },
    SingleTickerProviderStateMixin: function SingleTickerProviderStateMixin() {
    },
    TickerProviderStateMixin: function TickerProviderStateMixin() {
    },
    _WidgetTicker: function _WidgetTicker(t0, t1, t2) {
      var _ = this;
      _._creator = t0;
      _._ticker$_future = null;
      _._muted = false;
      _._startTime = null;
      _._onTick = t1;
      _._animationId = null;
      _.debugLabel = t2;
      _.__Ticker__debugCreationStack = $;
    },
    Title: function Title(t0, t1, t2, t3) {
      var _ = this;
      _.title = t0;
      _.color = t1;
      _.child = t2;
      _.key = t3;
    },
    SlideTransition$(child, position, textDirection, transformHitTests) {
      return new A.SlideTransition(textDirection, transformHitTests, child, position, null);
    },
    ScaleTransition$(child, scale) {
      return new A.ScaleTransition(child, scale, null);
    },
    RotationTransition$(child, turns) {
      return new A.RotationTransition(child, turns, null);
    },
    FadeTransition$(alwaysIncludeSemantics, child, opacity) {
      return new A.FadeTransition(opacity, alwaysIncludeSemantics, child, null);
    },
    AnimatedBuilder$(animation, builder, child) {
      return new A.AnimatedBuilder(builder, child, animation, null);
    },
    AnimatedWidget: function AnimatedWidget() {
    },
    _AnimatedState: function _AnimatedState(t0) {
      this._widget = null;
      this._debugLifecycleState = t0;
      this._framework$_element = null;
    },
    _AnimatedState__handleChange_closure: function _AnimatedState__handleChange_closure() {
    },
    SlideTransition: function SlideTransition(t0, t1, t2, t3, t4) {
      var _ = this;
      _.textDirection = t0;
      _.transformHitTests = t1;
      _.child = t2;
      _.listenable = t3;
      _.key = t4;
    },
    ScaleTransition: function ScaleTransition(t0, t1, t2) {
      this.child = t0;
      this.listenable = t1;
      this.key = t2;
    },
    RotationTransition: function RotationTransition(t0, t1, t2) {
      this.child = t0;
      this.listenable = t1;
      this.key = t2;
    },
    SizeTransition: function SizeTransition(t0, t1, t2, t3) {
      var _ = this;
      _.axis = t0;
      _.child = t1;
      _.listenable = t2;
      _.key = t3;
    },
    FadeTransition: function FadeTransition(t0, t1, t2, t3) {
      var _ = this;
      _.opacity = t0;
      _.alwaysIncludeSemantics = t1;
      _.child = t2;
      _.key = t3;
    },
    DecoratedBoxTransition: function DecoratedBoxTransition(t0, t1, t2, t3) {
      var _ = this;
      _.decoration = t0;
      _.child = t1;
      _.listenable = t2;
      _.key = t3;
    },
    AnimatedBuilder: function AnimatedBuilder(t0, t1, t2, t3) {
      var _ = this;
      _.builder = t0;
      _.child = t1;
      _.listenable = t2;
      _.key = t3;
    },
    TweenAnimationBuilder: function TweenAnimationBuilder(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.tween = t0;
      _.builder = t1;
      _.curve = t2;
      _.duration = t3;
      _.onEnd = t4;
      _.key = t5;
      _.$ti = t6;
    },
    _TweenAnimationBuilderState: function _TweenAnimationBuilderState(t0, t1, t2, t3) {
      var _ = this;
      _._currentTween = null;
      _.__ImplicitlyAnimatedWidgetState__animation = _.__ImplicitlyAnimatedWidgetState__controller = $;
      _.SingleTickerProviderStateMixin__ticker = t0;
      _.SingleTickerProviderStateMixin__tickerModeNotifier = t1;
      _._widget = null;
      _._debugLifecycleState = t2;
      _._framework$_element = null;
      _.$ti = t3;
    },
    _TweenAnimationBuilderState_forEachTween_closure: function _TweenAnimationBuilderState_forEachTween_closure() {
    },
    ValueListenableBuilder: function ValueListenableBuilder(t0, t1, t2, t3, t4) {
      var _ = this;
      _.valueListenable = t0;
      _.builder = t1;
      _.child = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _ValueListenableBuilderState: function _ValueListenableBuilderState(t0, t1) {
      var _ = this;
      _.___ValueListenableBuilderState_value = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
      _.$ti = t1;
    },
    _ValueListenableBuilderState__valueChanged_closure: function _ValueListenableBuilderState__valueChanged_closure(t0) {
      this.$this = t0;
    },
    Viewport$(anchor, axisDirection, cacheExtent, cacheExtentStyle, center, clipBehavior, offset, slivers) {
      return new A.Viewport(axisDirection, anchor, offset, center, cacheExtent, cacheExtentStyle, clipBehavior, slivers, null);
    },
    Viewport_getDefaultCrossAxisDirection(context, axisDirection) {
      var t1;
      switch (axisDirection.index) {
        case 0:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          return A.textDirectionToAxisDirection(t1.textDirection);
        case 1:
          return B.AxisDirection_2;
        case 2:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          return A.textDirectionToAxisDirection(t1.textDirection);
        case 3:
          return B.AxisDirection_2;
      }
    },
    Viewport: function Viewport(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.axisDirection = t0;
      _.anchor = t1;
      _.offset = t2;
      _.center = t3;
      _.cacheExtent = t4;
      _.cacheExtentStyle = t5;
      _.clipBehavior = t6;
      _.children = t7;
      _.key = t8;
    },
    _ViewportElement: function _ViewportElement(t0, t1, t2) {
      var _ = this;
      _._doingMountOrUpdate = false;
      _._centerSlotIndex = null;
      _.__MultiChildRenderObjectElement__children = $;
      _._forgottenChildren = t0;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = _._ancestorRenderObjectElement = _._renderObject = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    ShrinkWrappingViewport: function ShrinkWrappingViewport(t0, t1, t2, t3, t4) {
      var _ = this;
      _.axisDirection = t0;
      _.offset = t1;
      _.clipBehavior = t2;
      _.children = t3;
      _.key = t4;
    },
    __ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin: function __ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin() {
    },
    __ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin: function __ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin() {
    },
    WidgetSpan: function WidgetSpan(t0, t1, t2, t3) {
      var _ = this;
      _.child = t0;
      _.alignment = t1;
      _.baseline = t2;
      _.style = t3;
    },
    _handleDataSchemeUri(uri, width, height) {
      var _null = null,
        t1 = uri.get$data(uri),
        mimeType = t1.get$mimeType(t1);
      if (B.JSString_methods.startsWith$1(mimeType, "image/"))
        return A.Image$memory(uri.get$data(uri).contentAsBytes$0(), height, width);
      else if (B.JSString_methods.startsWith$1(mimeType, "text/"))
        return A.Text$(uri.get$data(uri).contentAsString$0(), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return B.SizedBox_null_null_null_null;
    },
    kDefaultImageBuilder_closure: function kDefaultImageBuilder_closure() {
    },
    kFallbackStyle_closure: function kFallbackStyle_closure() {
    },
    _BlockElement: function _BlockElement(t0, t1) {
      this.tag = t0;
      this.children = t1;
      this.nextListIndex = 0;
    },
    _TableElement0: function _TableElement0(t0) {
      this.rows = t0;
    },
    _InlineElement: function _InlineElement(t0, t1) {
      this.style = t0;
      this.children = t1;
    },
    MarkdownBuilder: function MarkdownBuilder(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17) {
      var _ = this;
      _.delegate = t0;
      _.selectable = t1;
      _.styleSheet = t2;
      _.imageDirectory = t3;
      _.imageBuilder = t4;
      _.checkboxBuilder = t5;
      _.bulletBuilder = t6;
      _.builders = t7;
      _.paddingBuilders = t8;
      _.fitContent = t9;
      _.listItemCrossAxisAlignment = t10;
      _.onTapText = t11;
      _.softLineBreak = t12;
      _._listIndents = t13;
      _._blocks = t14;
      _._tables = t15;
      _._inlines = t16;
      _._linkHandlers = t17;
      _._lastVisitedTag = _._currentBlockTag = null;
      _._isInBlockquote = false;
    },
    MarkdownBuilder_extractTextFromElement_closure: function MarkdownBuilder_extractTextFromElement_closure(t0) {
      this.$this = t0;
    },
    MarkdownBuilder_visitText_trimText: function MarkdownBuilder_visitText_trimText(t0) {
      this.$this = t0;
    },
    MarkdownBuilder__mergeInlineChildren_closure: function MarkdownBuilder__mergeInlineChildren_closure() {
    },
    MarkdownStyleSheet$(a, blockSpacing, blockquote, blockquoteAlign, blockquoteDecoration, blockquotePadding, checkbox, code, codeblockAlign, codeblockDecoration, codeblockPadding, del, em, h1, h1Align, h1Padding, h2, h2Align, h2Padding, h3, h3Align, h3Padding, h4, h4Align, h4Padding, h5, h5Align, h5Padding, h6, h6Align, h6Padding, horizontalRuleDecoration, img, listBullet, listBulletPadding, listIndent, orderedListAlign, p, pPadding, strong, tableBody, tableBorder, tableCellsDecoration, tableCellsPadding, tableColumnWidth, tableHead, tableHeadAlign, textAlign, textScaleFactor, unorderedListAlign) {
      return new A.MarkdownStyleSheet(a, p, pPadding, code, h1, h1Padding, h2, h2Padding, h3, h3Padding, h4, h4Padding, h5, h5Padding, h6, h6Padding, em, strong, del, blockquote, img, checkbox, blockSpacing, listIndent, listBullet, listBulletPadding, tableHead, tableBody, tableHeadAlign, tableBorder, tableColumnWidth, tableCellsPadding, tableCellsDecoration, blockquotePadding, blockquoteDecoration, codeblockPadding, codeblockDecoration, horizontalRuleDecoration, textAlign, h1Align, h2Align, h3Align, h4Align, h5Align, h6Align, unorderedListAlign, orderedListAlign, blockquoteAlign, codeblockAlign, textScaleFactor, A.LinkedHashMap_LinkedHashMap$_literal(["a", a, "p", p, "li", p, "code", code, "pre", p, "h1", h1, "h2", h2, "h3", h3, "h4", h4, "h5", h5, "h6", h6, "em", em, "strong", strong, "del", del, "blockquote", blockquote, "img", img, "table", p, "th", tableHead, "tr", tableBody, "td", tableBody], type$.String, type$.nullable_TextStyle));
    },
    MarkdownStyleSheet_MarkdownStyleSheet$fromTheme(theme) {
      var t3, t4, t5, t6, t7, t8, t9, t10, _null = null,
        t1 = theme.textTheme,
        t2 = t1.bodyMedium;
      t2.toString;
      t3 = theme.cardTheme.color;
      t4 = t3 == null;
      t5 = t4 ? theme.cardColor : t3;
      t6 = t2.fontSize;
      t6.toString;
      t6 = t2.copyWith$3$backgroundColor$fontFamily$fontSize(t5, "monospace", t6 * 0.85);
      t5 = t1.bodyLarge;
      t7 = t2.copyWith$1$color(theme.primaryColor);
      t8 = theme.dividerColor;
      t9 = A.TableBorder_TableBorder$all(t8, 1);
      t10 = A.BorderRadius$circular(2);
      if (t4)
        t3 = theme.cardColor;
      return A.MarkdownStyleSheet$(B.TextStyle_yHr, 8, t2, B.WrapAlignment_0, new A.BoxDecoration(B.Color_4290502395, _null, _null, t10, _null, _null, _null, B.BoxShape_0), B.EdgeInsets_8_8_8_8, t7, t6, B.WrapAlignment_0, new A.BoxDecoration(t3, _null, _null, A.BorderRadius$circular(2), _null, _null, _null, B.BoxShape_0), B.EdgeInsets_8_8_8_8, B.TextStyle_9Zz0, B.TextStyle_LB7, t1.headlineSmall, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t1.titleLarge, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t1.titleMedium, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t5, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t5, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t5, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, new A.BoxDecoration(_null, _null, new A.Border(new A.BorderSide(t8, 5, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), t2, t2, B.EdgeInsets_0_0_4_0, 24, B.WrapAlignment_0, t2, B.EdgeInsets_0_0_0_0, B.TextStyle_ia3, t2, t9, B.BoxDecoration_ct0, B.EdgeInsets_16_8_16_8, B.C_FlexColumnWidth, B.TextStyle_ia30, B.TextAlign_2, B.WrapAlignment_0, _null, B.WrapAlignment_0);
    },
    MarkdownStyleSheet_MarkdownStyleSheet$fromCupertinoTheme(theme) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, t24, _null = null,
        t1 = theme.get$textTheme().get$textStyle();
      t1 = t1.copyWith$1$color(theme.get$brightness() === B.Brightness_0 ? B.Color_4278813951 : B.Color_4278221567);
      t2 = theme.get$textTheme().get$textStyle();
      t3 = theme.get$textTheme().get$textStyle();
      t4 = theme.get$brightness() === B.Brightness_0 ? B.Color_4280032286 : B.Color_4294111991;
      t5 = theme.get$textTheme().get$textStyle().fontSize;
      t5.toString;
      t5 = t3.copyWith$3$backgroundColor$fontFamily$fontSize(t4, "monospace", t5 * 0.85);
      t4 = theme.get$textTheme().get$textStyle();
      t3 = theme.get$textTheme().get$textStyle().fontSize;
      t3.toString;
      t3 = t4.copyWith$2$fontSize$fontWeight(t3 + 10, B.FontWeight_4);
      t4 = theme.get$textTheme().get$textStyle();
      t6 = theme.get$textTheme().get$textStyle().fontSize;
      t6.toString;
      t6 = t4.copyWith$2$fontSize$fontWeight(t6 + 8, B.FontWeight_4);
      t4 = theme.get$textTheme().get$textStyle();
      t7 = theme.get$textTheme().get$textStyle().fontSize;
      t7.toString;
      t7 = t4.copyWith$2$fontSize$fontWeight(t7 + 6, B.FontWeight_4);
      t4 = theme.get$textTheme().get$textStyle();
      t8 = theme.get$textTheme().get$textStyle().fontSize;
      t8.toString;
      t8 = t4.copyWith$2$fontSize$fontWeight(t8 + 4, B.FontWeight_4);
      t4 = theme.get$textTheme().get$textStyle();
      t9 = theme.get$textTheme().get$textStyle().fontSize;
      t9.toString;
      t9 = t4.copyWith$2$fontSize$fontWeight(t9 + 2, B.FontWeight_4);
      t4 = theme.get$textTheme().get$textStyle().copyWith$1$fontWeight(B.FontWeight_4);
      t10 = theme.get$textTheme().get$textStyle().copyWith$1$fontStyle(B.FontStyle_1);
      t11 = theme.get$textTheme().get$textStyle().copyWith$1$fontWeight(B.FontWeight_6);
      t12 = theme.get$textTheme().get$textStyle().copyWith$1$decoration(B.TextDecoration_4);
      t13 = theme.get$textTheme().get$textStyle();
      t14 = theme.get$textTheme().get$textStyle();
      t15 = theme.get$textTheme().get$textStyle().copyWith$1$color(theme.get$primaryColor());
      t16 = theme.get$textTheme().get$textStyle();
      t17 = theme.get$textTheme().get$textStyle().copyWith$1$fontWeight(B.FontWeight_5);
      t18 = theme.get$textTheme().get$textStyle();
      t19 = A.TableBorder_TableBorder$all(B.CupertinoDynamicColor_SZk, 0);
      t20 = theme.get$brightness() === B.Brightness_0 ? B.Color_4280032286 : B.Color_4294111991;
      t21 = theme.get$brightness() === B.Brightness_0 ? B.Color_4280032286 : B.Color_4294111991;
      t22 = theme.get$brightness() === B.Brightness_0 ? B.Color_4282006076 : B.Color_4291940822;
      t23 = theme.get$brightness() === B.Brightness_0 ? B.Color_4280032286 : B.Color_4294111991;
      t24 = theme.get$brightness() === B.Brightness_0 ? B.Color_4282006076 : B.Color_4291940822;
      return A.MarkdownStyleSheet$(t1, 8, t13, B.WrapAlignment_0, new A.BoxDecoration(t21, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd, new A.BorderSide(t22, 4, B.BorderStyle_1, B.StrokeAlign_0)), _null, _null, _null, _null, B.BoxShape_0), B.EdgeInsets_16_16_16_16, t15, t5, B.WrapAlignment_0, new A.BoxDecoration(t23, _null, _null, _null, _null, _null, _null, B.BoxShape_0), B.EdgeInsets_8_8_8_8, t12, t10, t3, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t6, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t7, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t8, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t9, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, t4, B.WrapAlignment_0, B.EdgeInsets_0_0_0_0, new A.BoxDecoration(_null, _null, new A.Border(new A.BorderSide(t24, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), t14, t16, B.EdgeInsets_0_0_4_0, 24, B.WrapAlignment_0, t2, B.EdgeInsets_0_0_0_0, t11, t18, t19, new A.BoxDecoration(t20, _null, _null, _null, _null, _null, _null, B.BoxShape_0), B.EdgeInsets_16_8_16_8, B.C_FlexColumnWidth, t17, B.TextAlign_2, B.WrapAlignment_0, _null, B.WrapAlignment_0);
    },
    MarkdownStyleSheet: function MarkdownStyleSheet(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, t47, t48, t49, t50) {
      var _ = this;
      _.a = t0;
      _.p = t1;
      _.pPadding = t2;
      _.code = t3;
      _.h1 = t4;
      _.h1Padding = t5;
      _.h2 = t6;
      _.h2Padding = t7;
      _.h3 = t8;
      _.h3Padding = t9;
      _.h4 = t10;
      _.h4Padding = t11;
      _.h5 = t12;
      _.h5Padding = t13;
      _.h6 = t14;
      _.h6Padding = t15;
      _.em = t16;
      _.strong = t17;
      _.del = t18;
      _.blockquote = t19;
      _.img = t20;
      _.checkbox = t21;
      _.blockSpacing = t22;
      _.listIndent = t23;
      _.listBullet = t24;
      _.listBulletPadding = t25;
      _.tableHead = t26;
      _.tableBody = t27;
      _.tableHeadAlign = t28;
      _.tableBorder = t29;
      _.tableColumnWidth = t30;
      _.tableCellsPadding = t31;
      _.tableCellsDecoration = t32;
      _.blockquotePadding = t33;
      _.blockquoteDecoration = t34;
      _.codeblockPadding = t35;
      _.codeblockDecoration = t36;
      _.horizontalRuleDecoration = t37;
      _.textAlign = t38;
      _.h1Align = t39;
      _.h2Align = t40;
      _.h3Align = t41;
      _.h4Align = t42;
      _.h5Align = t43;
      _.h6Align = t44;
      _.unorderedListAlign = t45;
      _.orderedListAlign = t46;
      _.blockquoteAlign = t47;
      _.codeblockAlign = t48;
      _.textScaleFactor = t49;
      _._styles = t50;
    },
    MarkdownStyleSheetBaseTheme: function MarkdownStyleSheetBaseTheme(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MarkdownListItemCrossAxisAlignment: function MarkdownListItemCrossAxisAlignment(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    MarkdownWidget: function MarkdownWidget() {
    },
    _MarkdownWidgetState: function _MarkdownWidgetState(t0, t1) {
      var _ = this;
      _._widget$_children = null;
      _._widget$_recognizers = t0;
      _._widget = null;
      _._debugLifecycleState = t1;
      _._framework$_element = null;
    },
    _MarkdownWidgetState_createLink_closure: function _MarkdownWidgetState_createLink_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.text = t1;
      _.href = t2;
      _.title = t3;
    },
    Markdown: function Markdown(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18) {
      var _ = this;
      _.data = t0;
      _.selectable = t1;
      _.styleSheet = t2;
      _.styleSheetTheme = t3;
      _.syntaxHighlighter = t4;
      _.onTapLink = t5;
      _.onTapText = t6;
      _.imageDirectory = t7;
      _.blockSyntaxes = t8;
      _.inlineSyntaxes = t9;
      _.extensionSet = t10;
      _.imageBuilder = t11;
      _.checkboxBuilder = t12;
      _.bulletBuilder = t13;
      _.builders = t14;
      _.paddingBuilders = t15;
      _.listItemCrossAxisAlignment = t16;
      _.softLineBreak = t17;
      _.key = t18;
    },
    TaskListSyntax: function TaskListSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    _listenNotifier(notifier, ref) {
      var t1;
      if (notifier != null) {
        t1 = new A._listenNotifier_listener(ref, notifier);
        notifier.addListener$1(0, t1);
        ref.onDispose$1(new A._listenNotifier_closure(notifier, t1));
      }
      return notifier;
    },
    _listenNotifier_listener: function _listenNotifier_listener(t0, t1) {
      this.ref = t0;
      this.notifier = t1;
    },
    _listenNotifier_closure: function _listenNotifier_closure(t0, t1) {
      this.notifier = t0;
      this.listener = t1;
    },
    ChangeNotifierProviderOverrideMixin: function ChangeNotifierProviderOverrideMixin() {
    },
    ChangeNotifierProvider: function ChangeNotifierProvider(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.notifier = t0;
      _.ChangeNotifierProviderOverrideMixin___ChangeNotifierProviderOverrideMixin_dependencies = t1;
      _.name = t2;
      _.from = t3;
      _.argument = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    _NotifierProvider: function _NotifierProvider(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.dependencies = t0;
      _._change_notifier_provider$_create = t1;
      _.name = t2;
      _.from = t3;
      _.argument = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    _NotifierProviderElement: function _NotifierProviderElement(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t0;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t1;
      _._framework0$_dependents = t2;
      _._subscriptions = t3;
      _._subscribers = t4;
      _._framework0$_dependencies = t5;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t6;
    },
    _ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin: function _ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin() {
    },
    _ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin: function _ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin() {
    },
    ConsumerStatefulElement$(widget) {
      var t1 = A._setArrayType([], type$.JSArray_ProviderSubscription_dynamic),
        t2 = widget.createState$0();
      t1 = new A.ConsumerStatefulElement(A.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderListenable_dynamic, type$.ProviderSubscription_dynamic), t1, t2, widget, B._ElementLifecycle_0);
      t2._framework$_element = t1;
      t2._widget = widget;
      return t1;
    },
    ConsumerWidget: function ConsumerWidget() {
    },
    _ConsumerState: function _ConsumerState(t0) {
      var _ = this;
      _.__ConsumerState_ref = $;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    ConsumerStatefulWidget: function ConsumerStatefulWidget() {
    },
    ConsumerState: function ConsumerState() {
    },
    ConsumerStatefulElement: function ConsumerStatefulElement(t0, t1, t2, t3, t4) {
      var _ = this;
      _.__ConsumerStatefulElement__container = $;
      _._consumer$_dependencies = t0;
      _._oldDependencies = null;
      _._consumer$_listeners = t1;
      _._onceListeners = null;
      _._framework$_state = t2;
      _._didChangeDependencies = false;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t3;
      _._framework$_owner = null;
      _._lifecycleState = t4;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    ConsumerStatefulElement_watch_closure: function ConsumerStatefulElement_watch_closure(t0, t1, t2) {
      this.$this = t0;
      this.target = t1;
      this.Res = t2;
    },
    ConsumerStatefulElement_watch__closure: function ConsumerStatefulElement_watch__closure(t0, t1) {
      this.$this = t0;
      this.Res = t1;
    },
    ProviderScope_containerOf(context, listen) {
      var scope,
        t1 = type$.UncontrolledProviderScope;
      if (listen)
        scope = context.dependOnInheritedWidgetOfExactType$1$0(t1);
      else {
        t1 = context.getElementForInheritedWidgetOfExactType$1$0(t1);
        t1 = t1 == null ? null : t1.get$widget();
        type$.nullable_UncontrolledProviderScope._as(t1);
        scope = t1;
      }
      if (scope == null)
        throw A.wrapException(A.StateError$("No ProviderScope found"));
      return scope.container;
    },
    ProviderScope: function ProviderScope(t0, t1, t2) {
      this.child = t0;
      this.observers = t1;
      this.key = t2;
    },
    ProviderScopeState: function ProviderScopeState(t0) {
      var _ = this;
      _.__ProviderScopeState_container = $;
      _._debugParentOwner = null;
      _._framework1$_dirty = false;
      _._widget = null;
      _._debugLifecycleState = t0;
      _._framework$_element = null;
    },
    UncontrolledProviderScope: function UncontrolledProviderScope(t0, t1, t2) {
      this.container = t0;
      this.child = t1;
      this.key = t2;
    },
    _UncontrolledProviderScopeElement: function _UncontrolledProviderScopeElement(t0, t1, t2) {
      var _ = this;
      _._task = null;
      _._mounted = true;
      _._dependents = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _UncontrolledProviderScopeElement__flutterVsync_closure: function _UncontrolledProviderScopeElement__flutterVsync_closure(t0) {
      this.$this = t0;
    },
    JsUrlStrategy0: function JsUrlStrategy0() {
    },
    HashUrlStrategy0: function HashUrlStrategy0() {
    },
    HashUrlStrategy_addPopStateListener_closure: function HashUrlStrategy_addPopStateListener_closure(t0, t1) {
      this.$this = t0;
      this.fn = t1;
    },
    HashUrlStrategy__waitForPopState_closure: function HashUrlStrategy__waitForPopState_closure(t0, t1) {
      this.unsubscribe = t0;
      this.completer = t1;
    },
    PathUrlStrategy: function PathUrlStrategy(t0, t1) {
      this._basePath = t0;
      this._url_strategy$_platformLocation = t1;
    },
    BrowserPlatformLocation0: function BrowserPlatformLocation0() {
    },
    UrlStrategy0: function UrlStrategy0() {
    },
    PlatformLocation0: function PlatformLocation0() {
    },
    Registrar: function Registrar() {
    },
    Registrar_send_closure: function Registrar_send_closure(t0) {
      this.completer = t0;
    },
    PluginRegistry: function PluginRegistry(t0) {
      this._plugin_registry$_handlers = t0;
    },
    get(url) {
      return A._withClient(new A.get_closure(url, null), type$.Response_2);
    },
    read(url) {
      return A._withClient(new A.read_closure(url, null), type$.String);
    },
    _withClient(fn, $T) {
      return A._withClient$body(fn, $T, $T);
    },
    _withClient$body(fn, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], t1, client;
      var $async$_withClient = 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
              client = new A.BrowserClient(A.LinkedHashSet_LinkedHashSet$_empty(type$.HttpRequest));
              $async$handler = 3;
              $async$goto = 6;
              return A._asyncAwait(fn.call$1(client), $async$_withClient);
            case 6:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $async$next = [1];
              // goto finally
              $async$goto = 4;
              break;
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 4:
              // finally
              $async$handler = 2;
              J.close$0$x(client);
              // 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$_withClient, $async$completer);
    },
    get_closure: function get_closure(t0, t1) {
      this.url = t0;
      this.headers = t1;
    },
    read_closure: function read_closure(t0, t1) {
      this.url = t0;
      this.headers = t1;
    },
    BaseClient: function BaseClient() {
    },
    BaseRequest: function BaseRequest() {
    },
    BaseRequest_closure: function BaseRequest_closure() {
    },
    BaseRequest_closure0: function BaseRequest_closure0() {
    },
    BaseResponse: function BaseResponse() {
    },
    BrowserClient: function BrowserClient(t0) {
      this._xhrs = t0;
    },
    BrowserClient_send_closure: function BrowserClient_send_closure(t0, t1, t2) {
      this.xhr = t0;
      this.completer = t1;
      this.request = t2;
    },
    BrowserClient_send_closure0: function BrowserClient_send_closure0(t0, t1) {
      this.completer = t0;
      this.request = t1;
    },
    ByteStream: function ByteStream(t0) {
      this._async$_stream = t0;
    },
    ByteStream_toBytes_closure: function ByteStream_toBytes_closure(t0) {
      this.completer = t0;
    },
    ClientException$(message, uri) {
      return new A.ClientException(message, uri);
    },
    ClientException: function ClientException(t0, t1) {
      this.message = t0;
      this.uri = t1;
    },
    Request$(method, url) {
      var t1 = new Uint8Array(0),
        t2 = $.$get$BaseRequest__tokenRE()._nativeRegExp;
      if (!t2.test(method))
        A.throwExpression(A.ArgumentError$value(method, "method", "Not a valid method"));
      t2 = type$.String;
      return new A.Request(B.Utf8Codec_false, t1, method, url, A.LinkedHashMap_LinkedHashMap(new A.BaseRequest_closure(), new A.BaseRequest_closure0(), null, t2, t2));
    },
    Request: function Request(t0, t1, t2, t3, t4) {
      var _ = this;
      _._defaultEncoding = t0;
      _._bodyBytes = t1;
      _.method = t2;
      _.url = t3;
      _.headers = t4;
      _._finalized = false;
    },
    Response_fromStream(response) {
      return A.Response_fromStream$body(response);
    },
    Response_fromStream$body(response) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response_2),
        $async$returnValue, body, t1, t2, t3, t4, t5, t6;
      var $async$Response_fromStream = 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(response.stream.toBytes$0(), $async$Response_fromStream);
            case 3:
              // returning from await.
              body = $async$result;
              t1 = response.statusCode;
              t2 = response.request;
              t3 = response.headers;
              t4 = response.reasonPhrase;
              t5 = A.toUint8List(body);
              t6 = body.length;
              t5 = new A.Response0(t5, t2, t1, t4, t6, t3, false, true);
              t5.BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request(t1, t6, t3, false, true, t4, t2);
              $async$returnValue = t5;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$Response_fromStream, $async$completer);
    },
    _contentTypeForHeaders(headers) {
      var contentType = headers.$index(0, "content-type");
      if (contentType != null)
        return A.MediaType_MediaType$parse(contentType);
      return A.MediaType$("application", "octet-stream", null);
    },
    Response0: function Response0(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.bodyBytes = t0;
      _.request = t1;
      _.statusCode = t2;
      _.reasonPhrase = t3;
      _.contentLength = t4;
      _.headers = t5;
      _.isRedirect = t6;
      _.persistentConnection = t7;
    },
    StreamedResponse: function StreamedResponse(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.stream = t0;
      _.request = t1;
      _.statusCode = t2;
      _.reasonPhrase = t3;
      _.contentLength = t4;
      _.headers = t5;
      _.isRedirect = t6;
      _.persistentConnection = t7;
    },
    mapToQuery(map, encoding) {
      var pairs = A._setArrayType([], type$.JSArray_List_String);
      map.forEach$1(0, new A.mapToQuery_closure(pairs, encoding));
      return new A.MappedListIterable(pairs, new A.mapToQuery_closure0(), type$.MappedListIterable_of_List_String_and_String).join$1(0, "&");
    },
    encodingForCharset(charset) {
      var t1;
      if (charset == null)
        return B.C_Latin1Codec;
      t1 = A.Encoding_getByName(charset);
      return t1 == null ? B.C_Latin1Codec : t1;
    },
    toUint8List(input) {
      var t1;
      if (type$.Uint8List._is(input))
        return input;
      t1 = type$.TypedData;
      if (t1._is(input))
        return A.NativeUint8List_NativeUint8List$view(J.get$buffer$x(t1._as(input)), 0, null);
      return new Uint8Array(A._ensureNativeList(input));
    },
    toByteStream(stream) {
      return stream;
    },
    mapToQuery_closure: function mapToQuery_closure(t0, t1) {
      this.pairs = t0;
      this.encoding = t1;
    },
    mapToQuery_closure0: function mapToQuery_closure0() {
    },
    CaseInsensitiveMap$from(other, $V) {
      var t1 = new A.CaseInsensitiveMap(new A.CaseInsensitiveMap$from_closure(), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, $V._eval$1("MapEntry<String,0>")), $V._eval$1("CaseInsensitiveMap<0>"));
      t1.addAll$1(0, other);
      return t1;
    },
    CaseInsensitiveMap: function CaseInsensitiveMap(t0, t1, t2) {
      this._canonicalize = t0;
      this._base = t1;
      this.$ti = t2;
    },
    CaseInsensitiveMap$from_closure: function CaseInsensitiveMap$from_closure() {
    },
    MediaType_MediaType$parse(mediaType) {
      return A.wrapFormatException("media type", mediaType, new A.MediaType_MediaType$parse_closure(mediaType));
    },
    MediaType$(type, subtype, parameters) {
      var t1 = type$.String;
      t1 = parameters == null ? A.LinkedHashMap_LinkedHashMap$_empty(t1, t1) : A.CaseInsensitiveMap$from(parameters, t1);
      return new A.MediaType(type.toLowerCase(), subtype.toLowerCase(), new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_String));
    },
    MediaType: function MediaType(t0, t1, t2) {
      this.type = t0;
      this.subtype = t1;
      this.parameters = t2;
    },
    MediaType_MediaType$parse_closure: function MediaType_MediaType$parse_closure(t0) {
      this.mediaType = t0;
    },
    MediaType_toString_closure: function MediaType_toString_closure(t0) {
      this.buffer = t0;
    },
    MediaType_toString__closure: function MediaType_toString__closure() {
    },
    expectQuotedString(scanner) {
      var string;
      scanner.expect$2$name($.$get$_quotedString(), "quoted string");
      string = scanner.get$lastMatch().$index(0, 0);
      return A.stringReplaceAllFuncUnchecked(B.JSString_methods.substring$2(string, 1, string.length - 1), $.$get$_quotedPair(), new A.expectQuotedString_closure(), null);
    },
    expectQuotedString_closure: function expectQuotedString_closure() {
    },
    ExifData: function ExifData(t0) {
      this.rawData = null;
      this.data = t0;
    },
    BitmapFileHeader$(b) {
      var t2, t3,
        t1 = new A.BitmapFileHeader();
      if (!A.BitmapFileHeader_isValidFile(b))
        A.throwExpression(A.ImageException$("Not a bitmap file."));
      b.offset += 2;
      t2 = b.readUint32$0();
      t3 = $.$get$__uint32();
      t3[0] = t2;
      t2 = $.$get$__uint32ToInt32();
      t1.__BitmapFileHeader_fileLength = t2[0];
      b.offset += 4;
      t3[0] = b.readUint32$0();
      t1.__BitmapFileHeader_offset = t2[0];
      return t1;
    },
    BitmapFileHeader_isValidFile(b) {
      if (b.end - b.offset < 2)
        return false;
      return A.InputBuffer$from(b, null, 0).readUint16$0() === 19778;
    },
    BmpInfo$(p, fileHeader) {
      var t5, t6, t7, t8, t9, compression, t10,
        t1 = fileHeader == null ? A.BitmapFileHeader$(p) : fileHeader,
        t2 = p.readUint32$0(),
        t3 = p.readUint32$0(),
        t4 = $.$get$__uint32();
      t4[0] = t3;
      t3 = $.$get$__uint32ToInt32();
      t5 = t3[0];
      t4[0] = p.readUint32$0();
      t6 = t3[0];
      t7 = p.readUint16$0();
      t8 = p.readUint16$0();
      t9 = p.readUint32$0();
      compression = A.LinkedHashMap_LinkedHashMap$_literal([0, B.BitmapCompression_1, 3, B.BitmapCompression_0], type$.int, type$.BitmapCompression).$index(0, t9);
      if (compression == null)
        A.throwExpression(A.ImageException$("Bitmap compression " + t9 + " is not supported yet."));
      t9 = p.readUint32$0();
      t4[0] = p.readUint32$0();
      t10 = t3[0];
      t4[0] = p.readUint32$0();
      t3 = new A.BmpInfo(t1, t6, t5, t2, t7, t8, compression, t9, t10, t3[0], p.readUint32$0(), p.readUint32$0());
      t3.BmpInfo$2$fileHeader(p, fileHeader);
      return t3;
    },
    BitmapCompression: function BitmapCompression(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    BitmapFileHeader: function BitmapFileHeader() {
      this.__BitmapFileHeader_offset = this.__BitmapFileHeader_fileLength = $;
    },
    BmpInfo: function BmpInfo(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.file = t0;
      _._bmp_info$_height = t1;
      _.BmpInfo_width = t2;
      _.headerSize = t3;
      _.planes = t4;
      _.bpp = t5;
      _.compression = t6;
      _.imageSize = t7;
      _.xppm = t8;
      _.yppm = t9;
      _.totalColors = t10;
      _.importantColors = t11;
      _.colorPalette = _.v5alphaMask = _.v5blueMask = _.v5greenMask = _.v5redMask = null;
      _.height = _.width = 0;
    },
    BmpInfo_readPalette_closure: function BmpInfo_readPalette_closure(t0, t1, t2) {
      this.$this = t0;
      this.p = t1;
      this.colorBytes = t2;
    },
    BmpDecoder: function BmpDecoder() {
      this.__BmpDecoder__input = $;
      this.info = null;
    },
    BmpDecoder_decodeFrame_closure: function BmpDecoder_decodeFrame_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.image = t1;
      this.line = t2;
    },
    DibDecoder: function DibDecoder() {
      this.__BmpDecoder__input = $;
      this.info = null;
    },
    DecodeInfo: function DecodeInfo() {
    },
    Decoder: function Decoder() {
    },
    ExrAttribute: function ExrAttribute(t0, t1, t2) {
      this.name = t0;
      this.size = t1;
      this.data = t2;
    },
    InternalExrB44Compressor: function InternalExrB44Compressor(t0, t1) {
      var _ = this;
      _._numScanLines = t0;
      _.decodedHeight = _.decodedWidth = 0;
      _._header = t1;
    },
    ExrChannel: function ExrChannel() {
      var _ = this;
      _.name = null;
      _.__ExrChannel_ySampling = _.__ExrChannel_xSampling = _.__ExrChannel_size = _.__ExrChannel_type = $;
    },
    ExrCompressor_ExrCompressor(type, hdr, maxScanLineSize, numScanLines) {
      var t1, t2;
      switch (type) {
        case 1:
          return new A.InternalExrRleCompressor(hdr);
        case 2:
          return new A.InternalExrZipCompressor(numScanLines == null ? 1 : numScanLines, hdr);
        case 3:
          return new A.InternalExrZipCompressor(numScanLines == null ? 16 : numScanLines, hdr);
        case 4:
          t1 = numScanLines == null ? 32 : numScanLines;
          t2 = new A.InternalExrPizCompressor(maxScanLineSize, t1, hdr);
          t2.InternalExrPizCompressor$3(hdr, maxScanLineSize, t1);
          return t2;
        case 5:
          return new A.InternalExrPxr24Compressor(maxScanLineSize, numScanLines == null ? 16 : numScanLines, hdr);
        case 6:
          return new A.InternalExrB44Compressor(numScanLines == null ? 32 : numScanLines, hdr);
        case 7:
          return new A.InternalExrB44Compressor(numScanLines == null ? 32 : numScanLines, hdr);
        default:
          throw A.wrapException(A.ImageException$("Invalid compression type: " + type));
      }
    },
    ExrCompressor: function ExrCompressor() {
    },
    InternalExrCompressor: function InternalExrCompressor() {
    },
    ExrHuffman_uncompress(compressed, nCompressed, raw, nRaw) {
      var start, im, iM, nBits, t1, freq, hdec, _i;
      if (nCompressed === 0) {
        if (nRaw !== 0)
          throw A.wrapException(A.ImageException$("Incomplete huffman data"));
        return;
      }
      start = compressed.offset;
      im = compressed.readUint32$0();
      iM = compressed.readUint32$0();
      compressed.offset += 4;
      nBits = compressed.readUint32$0();
      if (im < 65537)
        t1 = iM >= 65537;
      else
        t1 = true;
      if (t1)
        throw A.wrapException(A.ImageException$("Invalid huffman table size"));
      compressed.offset += 4;
      freq = A.List_List$filled(65537, 0, false, type$.int);
      hdec = J.JSArray_JSArray$allocateFixed(16384, type$.ExrHufDec);
      for (_i = 0; _i < 16384; ++_i)
        hdec[_i] = new A.ExrHufDec();
      A.ExrHuffman_unpackEncTable(compressed, nCompressed - 20, im, iM, freq);
      if (nBits > 8 * (nCompressed - (compressed.offset - start)))
        throw A.wrapException(A.ImageException$("Error in header for Huffman-encoded data (invalid number of bits)."));
      A.ExrHuffman_buildDecTable(freq, im, iM, hdec);
      A.ExrHuffman_decode(freq, hdec, compressed, nBits, iM, nRaw, raw);
    },
    ExrHuffman_decode(hcode, hdecod, input, ni, rlc, no, out) {
      var oi, t1, pl, t2, j, l, oi0, i,
        _s45_ = "Error in Huffman-encoded data (invalid code).",
        c_lc = A._setArrayType([0, 0], type$.JSArray_int),
        ie = input.offset + B.JSInt_methods._tdivFast$1(ni + 7, 8);
      for (oi = 0; input.offset < ie;) {
        A.ExrHuffman_getChar(c_lc, input);
        for (; t1 = c_lc[1], t1 >= 14;) {
          pl = hdecod[B.JSInt_methods.$shr(c_lc[0], t1 - 14) & 16383];
          t2 = pl.len;
          if (t2 !== 0) {
            c_lc[1] = t1 - t2;
            oi = A.ExrHuffman_getCode(pl.lit, rlc, c_lc, input, out, oi, no);
          } else {
            if (pl.p == null)
              throw A.wrapException(A.ImageException$(_s45_));
            for (j = 0; j < pl.lit; ++j) {
              l = hcode[pl.p[j]] & 63;
              while (true) {
                t1 = c_lc[1];
                if (!(t1 < l && input.offset < ie))
                  break;
                A.ExrHuffman_getChar(c_lc, input);
              }
              if (t1 >= l) {
                t2 = pl.p;
                t1 -= l;
                if (hcode[t2[j]] >>> 6 === (B.JSInt_methods.$shr(c_lc[0], t1) & B.JSInt_methods._shlPositive$1(1, l) - 1) >>> 0) {
                  c_lc[1] = t1;
                  oi0 = A.ExrHuffman_getCode(t2[j], rlc, c_lc, input, out, oi, no);
                  oi = oi0;
                  break;
                }
              }
            }
            if (j === pl.lit)
              throw A.wrapException(A.ImageException$(_s45_));
          }
        }
      }
      i = 8 - ni & 7;
      c_lc[0] = B.JSInt_methods._shrOtherPositive$1(c_lc[0], i);
      c_lc[1] = c_lc[1] - i;
      for (; t1 = c_lc[1], t1 > 0;) {
        pl = hdecod[B.JSInt_methods.$shl(c_lc[0], 14 - t1) & 16383];
        t2 = pl.len;
        if (t2 !== 0) {
          c_lc[1] = t1 - t2;
          oi = A.ExrHuffman_getCode(pl.lit, rlc, c_lc, input, out, oi, no);
        } else
          throw A.wrapException(A.ImageException$(_s45_));
      }
      if (oi !== no)
        throw A.wrapException(A.ImageException$("Error in Huffman-encoded data (decoded data are shorter than expected)."));
    },
    ExrHuffman_getCode(po, rlc, c_lc, input, out, oi, oe) {
      var t1, cs, s, cs0, oi0,
        _s70_ = "Error in Huffman-encoded data (decoded data are longer than expected).";
      if (po === rlc) {
        if (c_lc[1] < 8)
          A.ExrHuffman_getChar(c_lc, input);
        t1 = c_lc[1] - 8;
        c_lc[1] = t1;
        cs = B.JSInt_methods.$shr(c_lc[0], t1) & 255;
        if (oi + cs > oe)
          throw A.wrapException(A.ImageException$(_s70_));
        s = out[oi - 1];
        for (; cs0 = cs - 1, cs > 0; cs = cs0, oi = oi0) {
          oi0 = oi + 1;
          out[oi] = s;
        }
      } else {
        if (oi < oe) {
          oi0 = oi + 1;
          out[oi] = po;
        } else
          throw A.wrapException(A.ImageException$(_s70_));
        oi = oi0;
      }
      return oi;
    },
    ExrHuffman_buildDecTable(hcode, im, iM, hdecod) {
      var t1, t2, t3, c, l, pl, t4, t5, i, pi,
        _s57_ = "Error in Huffman-encoded data (invalid code table entry).";
      for (t1 = type$.JSArray_int, t2 = type$.int; im <= iM; ++im) {
        t3 = hcode[im];
        c = t3 >>> 6;
        l = t3 & 63;
        if (B.JSInt_methods._shrBothPositive$1(c, l) !== 0)
          throw A.wrapException(A.ImageException$(_s57_));
        if (l > 14) {
          pl = hdecod[B.JSInt_methods._shrReceiverPositive$1(c, l - 14)];
          if (pl.len !== 0)
            throw A.wrapException(A.ImageException$(_s57_));
          t3 = ++pl.lit;
          t4 = pl.p;
          if (t4 != null) {
            t3 = A.List_List$filled(t3, 0, false, t2);
            pl.p = t3;
            for (t5 = pl.lit - 1, i = 0; i < t5; ++i)
              t3[i] = t4[i];
          } else
            pl.p = A._setArrayType([0], t1);
          pl.p[pl.lit - 1] = im;
        } else if (l !== 0) {
          t3 = 14 - l;
          pi = B.JSInt_methods.$shl(c, t3);
          for (i = B.JSInt_methods.$shl(1, t3); i > 0; --i, ++pi) {
            pl = hdecod[pi];
            if (pl.len !== 0 || pl.p != null)
              throw A.wrapException(A.ImageException$(_s57_));
            pl.len = l;
            pl.lit = im;
          }
        }
      }
    },
    ExrHuffman_unpackEncTable(p, ni, im, iM, hcode) {
      var t1, l, zerun, zerun0, im0,
        _s66_ = "Error in Huffman-encoded data (unexpected end of code table data).",
        _s67_ = "Error in Huffman-encoded data (code table is longer than expected).",
        pcode = p.offset,
        c_lc = A._setArrayType([0, 0], type$.JSArray_int);
      for (t1 = iM + 1; im <= iM; ++im) {
        if (p.offset - pcode > ni)
          throw A.wrapException(A.ImageException$(_s66_));
        l = A.ExrHuffman_getBits(6, c_lc, p);
        hcode[im] = l;
        if (l === 63) {
          if (p.offset - pcode > ni)
            throw A.wrapException(A.ImageException$(_s66_));
          zerun = A.ExrHuffman_getBits(8, c_lc, p) + 6;
          if (im + zerun > t1)
            throw A.wrapException(A.ImageException$(_s67_));
          for (; zerun0 = zerun - 1, zerun !== 0; zerun = zerun0, im = im0) {
            im0 = im + 1;
            hcode[im] = 0;
          }
          --im;
        } else if (l >= 59) {
          zerun = l - 59 + 2;
          if (im + zerun > t1)
            throw A.wrapException(A.ImageException$(_s67_));
          for (; zerun0 = zerun - 1, zerun !== 0; zerun = zerun0, im = im0) {
            im0 = im + 1;
            hcode[im] = 0;
          }
          --im;
        }
      }
      A.ExrHuffman_canonicalCodeTable(hcode);
    },
    ExrHuffman_canonicalCodeTable(hcode) {
      var i, t1, c, nc, l,
        n = A.List_List$filled(59, 0, false, type$.int);
      for (i = 0; i < 65537; ++i) {
        t1 = hcode[i];
        n[t1] = n[t1] + 1;
      }
      for (c = 0, i = 58; i > 0; --i, c = nc) {
        nc = c + n[i] >>> 1;
        n[i] = c;
      }
      for (i = 0; i < 65537; ++i) {
        l = hcode[i];
        if (l > 0) {
          t1 = n[l];
          n[l] = t1 + 1;
          hcode[i] = (l | t1 << 6) >>> 0;
        }
      }
    },
    ExrHuffman_getChar(c_lc, input) {
      c_lc[0] = ((c_lc[0] << 8 | input.readByte$0()) & -1) >>> 0;
      c_lc[1] = (c_lc[1] + 8 & -1) >>> 0;
    },
    ExrHuffman_getBits(nBits, c_lc, input) {
      var t1;
      for (; t1 = c_lc[1], t1 < nBits;) {
        c_lc[0] = ((c_lc[0] << 8 | input.buffer[input.offset++]) & -1) >>> 0;
        c_lc[1] = (t1 + 8 & -1) >>> 0;
      }
      t1 -= nBits;
      c_lc[1] = t1;
      return (B.JSInt_methods.$shr(c_lc[0], t1) & B.JSInt_methods._shlPositive$1(1, nBits) - 1) >>> 0;
    },
    ExrHufDec: function ExrHufDec() {
      this.lit = this.len = 0;
      this.p = null;
    },
    ExrImage_isValidFile(bytes) {
      var input = A.InputBuffer$(bytes, false, null, 0);
      if (input.readUint32$0() !== 20000630)
        return false;
      if (input.readByte$0() !== 2)
        return false;
      if ((input.readUint24$0() & 4294967289) >>> 0 !== 0)
        return false;
      return true;
    },
    ExrImage: function ExrImage(t0) {
      var _ = this;
      _._parts = t0;
      _.version = null;
      _.__ExrImage_flags = $;
      _.height = _.width = 0;
    },
    InternalExrPart$(tiled, input) {
      var t1 = new A.InternalExrPart(new A.HdrImage(A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.HdrSlice)), A._setArrayType([], type$.JSArray_ExrChannel), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ExrAttribute), tiled);
      t1.ExrPart$2(tiled, input, {});
      return t1;
    },
    ExrPart: function ExrPart() {
    },
    ExrPart_closure: function ExrPart_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    InternalExrPart: function InternalExrPart(t0, t1, t2, t3) {
      var _ = this;
      _.framebuffer = t0;
      _.channels = t1;
      _.attributes = t2;
      _.__ExrPart_dataWindow = $;
      _.height = _.width = null;
      _.__ExrPart_chromaticities = $;
      _._compressionType = 0;
      _._offsets = null;
      _.__ExrPart__bytesPerLine = $;
      _._offsetInLineBuffer = _._linesInBuffer = _._compressor = null;
      _._tiled = t3;
      _._numYLevels = _._numXLevels = _._numYTiles = _._numXTiles = _._tileRoundingMode = _._tileLevelMode = _._tileHeight = _._tileWidth = null;
      _.__ExrPart__bytesPerPixel = $;
      _._maxBytesPerTileLine = null;
    },
    InternalExrPizCompressor: function InternalExrPizCompressor(t0, t1, t2) {
      var _ = this;
      _._exr_piz_compressor$_output = null;
      _._exr_piz_compressor$_maxScanLineSize = t0;
      _._exr_piz_compressor$_numScanLines = t1;
      _.__InternalExrPizCompressor__channelData = $;
      _._tmpBuffer = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._header = t2;
    },
    _PizChannelData: function _PizChannelData() {
      var _ = this;
      _.___PizChannelData_size = _.___PizChannelData_ys = _.___PizChannelData_ny = _.___PizChannelData_nx = _.___PizChannelData_end = _.___PizChannelData_start = $;
    },
    InternalExrPxr24Compressor: function InternalExrPxr24Compressor(t0, t1, t2) {
      var _ = this;
      _._maxScanLineSize = t0;
      _._exr_pxr24_compressor$_numScanLines = t1;
      _._output = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._header = t2;
    },
    InternalExrRleCompressor: function InternalExrRleCompressor(t0) {
      var _ = this;
      _._exr_rle_compressor$_outCache = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._header = t0;
    },
    InternalExrZipCompressor: function InternalExrZipCompressor(t0, t1) {
      var _ = this;
      _._exr_zip_compressor$_numScanLines = t0;
      _._outCache = null;
      _.decodedHeight = _.decodedWidth = 0;
      _._header = t1;
    },
    ExrDecoder: function ExrDecoder() {
      this.exrImage = null;
    },
    GifColorMap$(numColors) {
      var t1 = new Uint8Array(numColors * 3);
      A.GifColorMap__bitSize(numColors);
      return new A.GifColorMap(numColors, t1);
    },
    GifColorMap__bitSize(n) {
      var i;
      for (i = 1; i <= 8; ++i)
        if (B.JSInt_methods._shlPositive$1(1, i) >= n)
          return i;
      return 0;
    },
    GifColorMap: function GifColorMap(t0, t1) {
      this.numColors = t0;
      this.transparent = null;
      this.colors = t1;
    },
    GifImageDesc: function GifImageDesc() {
    },
    InternalGifImageDesc: function InternalGifImageDesc() {
      var _ = this;
      _.__GifImageDesc_interlaced = _.__GifImageDesc_height = _.__GifImageDesc_width = _.__GifImageDesc_y = _.__GifImageDesc_x = $;
      _.colorMap = null;
      _.duration = 80;
      _.__GifImageDesc__inputPosition = $;
    },
    GifInfo: function GifInfo(t0) {
      var _ = this;
      _.globalColorMap = null;
      _.frames = t0;
      _.height = _.width = 0;
    },
    GifDecoder: function GifDecoder() {
      var _ = this;
      _._gif_decoder$_buffer = _._gif_decoder$_input = _.info = null;
      _.__GifDecoder__suffix = _.__GifDecoder__stack = $;
      _._prefix = null;
      _._bitsPerPixel = 0;
      _._pixelCount = null;
      _._stackPtr = _._currentShiftState = _._currentShiftDWord = 0;
      _._currentCode = null;
      _._clearCode = _._eofCode = _._runningCode = _._runningBits = _._maxCode1 = _._lastCode = 0;
    },
    IcoInfo__read(input) {
      var type, imageCount;
      if (input.readUint16$0() !== 0)
        return null;
      type = input.readUint16$0();
      if (!B.JSArray_methods.contains$1(A._setArrayType([1, 2], type$.JSArray_int), type))
        return null;
      if (type === 2)
        return null;
      imageCount = input.readUint16$0();
      return new A.IcoInfo(imageCount, A.Iterable_Iterable$generate(imageCount, new A.IcoInfo__read_closure(input), type$.IcoInfoImage).toList$0(0));
    },
    IcoDecoder: function IcoDecoder() {
      this._icoInfo = this._ico_decoder$_input = null;
    },
    IcoInfo: function IcoInfo(t0, t1) {
      var _ = this;
      _.numFrames = t0;
      _.images = t1;
      _.height = _.width = 0;
    },
    IcoInfo__read_closure: function IcoInfo__read_closure(t0) {
      this.input = t0;
    },
    IcoInfoImage: function IcoInfoImage(t0, t1, t2) {
      this.height = t0;
      this.bytesSize = t1;
      this.bytesOffset = t2;
    },
    IcoBmpInfo: function IcoBmpInfo(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.file = t0;
      _._bmp_info$_height = t1;
      _.BmpInfo_width = t2;
      _.headerSize = t3;
      _.planes = t4;
      _.bpp = t5;
      _.compression = t6;
      _.imageSize = t7;
      _.xppm = t8;
      _.yppm = t9;
      _.totalColors = t10;
      _.importantColors = t11;
      _.colorPalette = _.v5alphaMask = _.v5blueMask = _.v5greenMask = _.v5redMask = null;
      _.height = _.width = 0;
    },
    ComponentData: function ComponentData(t0, t1, t2) {
      this.lines = t0;
      this.hScaleShift = t1;
      this.vScaleShift = t2;
    },
    JpegAdobe: function JpegAdobe() {
      this.transformCode = null;
    },
    JpegComponent: function JpegComponent(t0, t1, t2, t3) {
      var _ = this;
      _.hSamples = t0;
      _.vSamples = t1;
      _.quantizationTableList = t2;
      _.quantizationIndex = t3;
      _.__JpegComponent_pred = _.__JpegComponent_huffmanTableAC = _.__JpegComponent_huffmanTableDC = _.__JpegComponent_blocks = _.__JpegComponent_blocksPerColumn = _.__JpegComponent_blocksPerLine = $;
    },
    JpegData$() {
      var t1 = type$.JSArray_nullable_List_dynamic;
      return new A.JpegData(new A.ExifData(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.dynamic)), A.List_List$filled(4, null, false, type$.nullable_Int16List), A._setArrayType([], type$.JSArray_nullable_JpegFrame), A._setArrayType([], t1), A._setArrayType([], t1), A._setArrayType([], type$.JSArray_ComponentData));
    },
    JpegData: function JpegData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.__JpegData_jfif = _.__JpegData_input = $;
      _.resetInterval = _.frame = _.adobe = null;
      _.exif = t0;
      _.quantizationTables = t1;
      _.frames = t2;
      _.huffmanTablesAC = t3;
      _.huffmanTablesDC = t4;
      _.components = t5;
    },
    JpegData__readSOS_closure: function JpegData__readSOS_closure(t0, t1) {
      this.$this = t0;
      this.block = t1;
    },
    _JpegHuffman: function _JpegHuffman(t0) {
      this.children = t0;
      this.index = 0;
    },
    JpegFrame: function JpegFrame(t0, t1) {
      var _ = this;
      _.samplesPerLine = _.scanLines = _.precision = _.progressive = null;
      _.maxVSamples = _.maxHSamples = 0;
      _.__JpegFrame_mcusPerColumn = _.__JpegFrame_mcusPerLine = $;
      _.components = t0;
      _.componentsOrder = t1;
    },
    JpegJfif: function JpegJfif() {
      this.__JpegJfif_thumbHeight = this.__JpegJfif_thumbWidth = $;
    },
    JpegScan: function JpegScan(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.input = t0;
      _.frame = t1;
      _.__JpegScan_mcusPerLine = $;
      _.progressive = null;
      _.components = t2;
      _.resetInterval = t3;
      _.spectralStart = t4;
      _.spectralEnd = t5;
      _.successivePrev = t6;
      _.successive = t7;
      _.successiveACState = _.eobrun = _.bitsCount = _.bitsData = 0;
      _.__JpegScan_successiveACNextValue = $;
    },
    JpegDecoder: function JpegDecoder() {
    },
    PngFrame: function PngFrame() {
    },
    InternalPngFrame: function InternalPngFrame(t0) {
      var _ = this;
      _.dispose = _.height = _.width = null;
      _._fdat = t0;
    },
    PngInfo: function PngInfo() {
    },
    InternalPngInfo: function InternalPngInfo(t0, t1, t2) {
      var _ = this;
      _.gamma = _.colorLut = _.transparency = _.palette = _.interlaceMethod = _.filterMethod = _.colorType = _.bits = null;
      _.iCCPName = "";
      _.iCCPData = null;
      _.textData = t0;
      _.frames = t1;
      _._idat = t2;
      _.height = _.width = 0;
    },
    PngDecoder: function PngDecoder() {
      var _ = this;
      _._png_decoder$_info = null;
      _._png_decoder$_bitBufferLen = _._png_decoder$_bitBuffer = 0;
      _.__PngDecoder__input = $;
      _._progressY = 0;
    },
    PngDecoder_decodeFrame_closure: function PngDecoder_decodeFrame_closure() {
    },
    PsdBevelEffect: function PsdBevelEffect() {
      this.enabled = this.version = null;
    },
    PsdDropShadowEffect: function PsdDropShadowEffect() {
      this.enabled = this.version = null;
    },
    PsdEffect: function PsdEffect() {
    },
    PsdInnerGlowEffect: function PsdInnerGlowEffect() {
      this.enabled = this.version = null;
    },
    PsdInnerShadowEffect: function PsdInnerShadowEffect() {
      this.enabled = this.version = null;
    },
    PsdOuterGlowEffect: function PsdOuterGlowEffect() {
      this.enabled = this.version = null;
    },
    PsdSolidFillEffect: function PsdSolidFillEffect() {
      this.enabled = this.version = null;
    },
    PsdLayerAdditionalData: function PsdLayerAdditionalData(t0) {
      this.data = t0;
    },
    PsdLayerSectionDivider: function PsdLayerSectionDivider() {
      this.key = null;
    },
    PsdBlendingRanges: function PsdBlendingRanges() {
      var _ = this;
      _.__PsdBlendingRanges_whiteDst = _.__PsdBlendingRanges_blackDst = _.__PsdBlendingRanges_whiteSrc = _.__PsdBlendingRanges_blackSrc = $;
    },
    PsdChannel: function PsdChannel(t0) {
      this.id = t0;
      this.__PsdChannel_data = $;
    },
    PsdImage$(bytes) {
      var t1 = new A.PsdImage(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.PsdImageResource));
      t1.PsdImage$1(bytes);
      return t1;
    },
    PsdImage__blendOverlay(a, b, aAlpha, bAlpha) {
      var x = a / 255,
        y = b / 255,
        aa = aAlpha / 255,
        ba = bAlpha / 255,
        t1 = y * (1 - aa),
        t2 = x * (1 - ba);
      return B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2((2 * x < aa ? 2 * y * x + t1 + t2 : ba * aa - 2 * (aa - x) * (ba - y) + t1 + t2) * 255, 0, 255));
    },
    PsdImage__blendColorBurn(a, b) {
      if (b === 0)
        return 0;
      return B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(B.JSNumber_methods.toInt$0(255 * (1 - (1 - a / 255) / (b / 255))), 0, 255));
    },
    PsdImage__blendLinearBurn(a, b) {
      return B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(a + b - 255, 0, 255));
    },
    PsdImage__blendColorDodge(a, b) {
      if (b === 255)
        return 255;
      return B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(a / 255 / (1 - b / 255) * 255, 0, 255));
    },
    PsdImage__blendSoftLight(a, b) {
      var aa = a / 255,
        bb = b / 255,
        t1 = 1 - bb;
      return B.JSNumber_methods.round$0(255 * (t1 * bb * aa + bb * (1 - t1 * (1 - aa))));
    },
    PsdImage__blendHardLight(bottom, $top) {
      var a = $top / 255,
        b = bottom / 255;
      if (b < 0.5)
        return B.JSNumber_methods.round$0(510 * a * b);
      else
        return B.JSNumber_methods.round$0(255 * (1 - 2 * (1 - a) * (1 - b)));
    },
    PsdImage__blendVividLight(bottom, $top) {
      if ($top < 128)
        return A.PsdImage__blendColorBurn(bottom, 2 * $top);
      else
        return A.PsdImage__blendColorDodge(bottom, 2 * ($top - 128));
    },
    PsdImage__blendLinearLight(bottom, $top) {
      var t1;
      if ($top < 128)
        return A.PsdImage__blendLinearBurn(bottom, 2 * $top);
      else {
        t1 = 2 * ($top - 128);
        return t1 + bottom > 255 ? 255 : bottom + t1;
      }
    },
    PsdImage_createImageFromChannels(colorMode, bitDepth, width, height, channelList) {
      var t1, _i, t2, ch, ns, channel0, channel1, channel2, channel_1, t3, t4, t5, y, di, si, x, di0, t6, di1, di2, r, g, b, a, t7, t8, t9, alpha, y0, x0, z, y3, x3, z3, $R, $G, $B, rgb, gray, c, m, k,
        output = A.Image$0(width, height, B.Channels_1),
        pixels = output.getBytes$0(),
        channels = A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.PsdChannel);
      for (t1 = channelList.length, _i = 0; t2 = channelList.length, _i < t2; channelList.length === t1 || (0, A.throwConcurrentModificationError)(channelList), ++_i) {
        ch = channelList[_i];
        channels.$indexSet(0, ch.id, ch);
      }
      if (bitDepth === 8)
        ns = 1;
      else
        ns = bitDepth === 16 ? 2 : -1;
      if (ns === -1)
        throw A.wrapException(A.ImageException$("PSD: unsupported bit depth: " + A.S(bitDepth)));
      channel0 = channels.$index(0, 0);
      channel1 = channels.$index(0, 1);
      channel2 = channels.$index(0, 2);
      channel_1 = channels.$index(0, -1);
      for (t1 = t2 >= 5, t3 = ns === 1, t4 = t2 === 4, t5 = t2 >= 2, t2 = t2 >= 4, y = 0, di = 0, si = 0; y < height; ++y)
        for (x = 0; x < width; ++x, si += ns)
          switch (colorMode) {
            case 3:
              di0 = di + 1;
              t6 = channel0.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              pixels[di] = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              di1 = di0 + 1;
              t6 = channel1.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              pixels[di0] = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              di2 = di1 + 1;
              t6 = channel2.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              pixels[di1] = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              di1 = di2 + 1;
              if (t2) {
                t6 = channel_1.__PsdChannel_data;
                if (t6 === $)
                  A.throwUnnamedLateFieldNI();
                t6 = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              } else
                t6 = 255;
              pixels[di2] = t6;
              r = pixels[di];
              g = pixels[di0];
              t6 = di + 2;
              b = pixels[t6];
              a = pixels[di + 3];
              if (a !== 0) {
                pixels[di] = B.JSInt_methods.$tdiv((r + a - 255) * 255, a);
                pixels[di0] = B.JSInt_methods.$tdiv((g + a - 255) * 255, a);
                pixels[t6] = B.JSInt_methods.$tdiv((b + a - 255) * 255, a);
              }
              di = di1;
              break;
            case 9:
              t6 = channel0.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              t6 = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              t7 = channel1.__PsdChannel_data;
              if (t7 === $)
                A.throwUnnamedLateFieldNI();
              t7 = t3 ? t7[si] : (t7[si] << 8 | t7[si + 1]) >>> 8;
              t8 = channel2.__PsdChannel_data;
              if (t8 === $)
                A.throwUnnamedLateFieldNI();
              t8 = t3 ? t8[si] : (t8[si] << 8 | t8[si + 1]) >>> 8;
              if (t2) {
                t9 = channel_1.__PsdChannel_data;
                if (t9 === $)
                  A.throwUnnamedLateFieldNI();
                alpha = t3 ? t9[si] : (t9[si] << 8 | t9[si + 1]) >>> 8;
              } else
                alpha = 255;
              y0 = ((t6 * 100 >>> 8) + 16) / 116;
              x0 = (t7 - 128) / 500 + y0;
              z = y0 - (t8 - 128) / 200;
              y3 = Math.pow(y0, 3);
              y0 = y3 > 0.008856 ? y3 : (y0 - 0.13793103448275862) / 7.787;
              x3 = Math.pow(x0, 3);
              x0 = x3 > 0.008856 ? x3 : (x0 - 0.13793103448275862) / 7.787;
              z3 = Math.pow(z, 3);
              z = z3 > 0.008856 ? z3 : (z - 0.13793103448275862) / 7.787;
              x0 = x0 * 95.047 / 100;
              y0 = y0 * 100 / 100;
              z = z * 108.883 / 100;
              $R = x0 * 3.2406 + y0 * -1.5372 + z * -0.4986;
              $G = x0 * -0.9689 + y0 * 1.8758 + z * 0.0415;
              $B = x0 * 0.0557 + y0 * -0.204 + z * 1.057;
              $R = $R > 0.0031308 ? 1.055 * Math.pow($R, 0.4166666666666667) - 0.055 : 12.92 * $R;
              $G = $G > 0.0031308 ? 1.055 * Math.pow($G, 0.4166666666666667) - 0.055 : 12.92 * $G;
              $B = $B > 0.0031308 ? 1.055 * Math.pow($B, 0.4166666666666667) - 0.055 : 12.92 * $B;
              rgb = [B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2($R * 255, 0, 255)), B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2($G * 255, 0, 255)), B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2($B * 255, 0, 255))];
              di0 = di + 1;
              pixels[di] = rgb[0];
              di = di0 + 1;
              pixels[di0] = rgb[1];
              di0 = di + 1;
              pixels[di] = rgb[2];
              di = di0 + 1;
              pixels[di0] = alpha;
              break;
            case 1:
              t6 = channel0.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              gray = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              if (t5) {
                t6 = channel_1.__PsdChannel_data;
                if (t6 === $)
                  A.throwUnnamedLateFieldNI();
                alpha = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              } else
                alpha = 255;
              di0 = di + 1;
              pixels[di] = gray;
              di = di0 + 1;
              pixels[di0] = gray;
              di0 = di + 1;
              pixels[di] = gray;
              di = di0 + 1;
              pixels[di0] = alpha;
              break;
            case 4:
              t6 = channel0.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              c = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              t6 = channel1.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              m = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              t6 = channel2.__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              y0 = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              t6 = channels.$index(0, t4 ? -1 : 3).__PsdChannel_data;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              k = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              if (t1) {
                t6 = channel_1.__PsdChannel_data;
                if (t6 === $)
                  A.throwUnnamedLateFieldNI();
                alpha = t3 ? t6[si] : (t6[si] << 8 | t6[si + 1]) >>> 8;
              } else
                alpha = 255;
              t6 = 1 - (255 - k) / 255;
              rgb = [B.JSNumber_methods.round$0(255 * (1 - (255 - c) / 255) * t6), B.JSNumber_methods.round$0(255 * (1 - (255 - m) / 255) * t6), B.JSNumber_methods.round$0(255 * (1 - (255 - y0) / 255) * t6)];
              di0 = di + 1;
              pixels[di] = rgb[0];
              di = di0 + 1;
              pixels[di0] = rgb[1];
              di0 = di + 1;
              pixels[di] = rgb[2];
              di = di0 + 1;
              pixels[di0] = alpha;
              break;
            default:
              throw A.wrapException(A.ImageException$("Unhandled color mode: " + A.S(colorMode)));
          }
      return output;
    },
    PsdImage: function PsdImage(t0) {
      var _ = this;
      _.version = _.signature = null;
      _.__PsdImage_channels = $;
      _.colorMode = _.depth = null;
      _.__PsdImage_mergeImageChannels = _.__PsdImage_layers = $;
      _.mergedImage = null;
      _.imageResources = t0;
      _.__PsdImage__imageData = _.__PsdImage__layerAndMaskData = _.__PsdImage__imageResourceData = _.__PsdImage__input = $;
      _.height = _.width = 0;
    },
    PsdImageResource: function PsdImageResource(t0, t1) {
      this.name = t0;
      this.data = t1;
    },
    PsdLayer: function PsdLayer(t0, t1, t2) {
      var _ = this;
      _.left = _.top = null;
      _.__PsdLayer_height = _.__PsdLayer_width = _.__PsdLayer_right = _.__PsdLayer_bottom = $;
      _.blendMode = null;
      _.__PsdLayer_flags = _.__PsdLayer_opacity = $;
      _.name = null;
      _.__PsdLayer_channels = $;
      _.additionalData = t0;
      _.children = t1;
      _.parent = null;
      _.__PsdLayer_layerImage = $;
      _.effects = t2;
    },
    PsdLayerData_PsdLayerData(tag, data) {
      var t1, len;
      switch (tag) {
        case "lsct":
          t1 = new A.PsdLayerSectionDivider();
          len = data.end - data.offset;
          data.readUint32$0();
          if (len >= 12) {
            if (data.readString$1(4) !== "8BIM")
              A.throwExpression(A.ImageException$("Invalid key in layer additional data"));
            t1.key = data.readString$1(4);
          }
          if (len >= 16)
            data.readUint32$0();
          return t1;
        default:
          return new A.PsdLayerAdditionalData(data);
      }
    },
    PsdLayerData: function PsdLayerData() {
    },
    PsdDecoder: function PsdDecoder() {
      this.info = null;
    },
    TgaInfo: function TgaInfo() {
      var _ = this;
      _.bpp = _.imageOffset = null;
      _.height = _.width = 0;
    },
    TgaDecoder: function TgaDecoder() {
      this.info = null;
      this.__TgaDecoder_input = $;
    },
    TiffBitReader: function TiffBitReader(t0) {
      this.input = t0;
      this._bitPos = this._tiff_bit_reader$_bitBuffer = 0;
    },
    TiffEntry: function TiffEntry(t0, t1, t2, t3) {
      var _ = this;
      _.tag = t0;
      _.type = t1;
      _.numValues = t2;
      _.valueOffset = null;
      _.p = t3;
    },
    TiffFaxDecoder$(fillOrder, width, height) {
      var t1 = new A.TiffFaxDecoder(width, height, fillOrder),
        t2 = type$.nullable_int;
      t1.prevChangingElems = A.List_List$filled(width, null, false, t2);
      t1.currChangingElems = A.List_List$filled(width, null, false, t2);
      return t1;
    },
    TiffFaxDecoder: function TiffFaxDecoder(t0, t1, t2) {
      var _ = this;
      _.width = t0;
      _.height = t1;
      _.fillOrder = t2;
      _.changingElemSize = 0;
      _.currChangingElems = _.prevChangingElems = null;
      _.__TiffFaxDecoder_data = $;
      _.bytePointer = _.bitPointer = null;
      _.lastChangingElement = 0;
      _.compression = 2;
      _.fillBits = 0;
      _.oneD = null;
    },
    TiffImage: function TiffImage(t0) {
      var _ = this;
      _.tags = t0;
      _.height = _.width = 0;
      _.photometricType = null;
      _.sampleFormat = _.samplesPerPixel = _.bitsPerSample = _.compression = 1;
      _.imageType = -1;
      _.isWhiteZero = false;
      _.predictor = 1;
      _.__TiffImage_chromaSubV = _.__TiffImage_chromaSubH = $;
      _.tileHeight = _.tileWidth = 0;
      _.tileByteCounts = _.tileOffsets = null;
      _.__TiffImage_tilesY = _.__TiffImage_tilesX = $;
      _.fillOrder = 1;
      _.t6Options = _.t4Options = 0;
      _.colorMap = null;
      _.__TiffImage_colorMapBlue = _.__TiffImage_colorMapGreen = _.__TiffImage_colorMapRed = $;
      _.hdrImage = _.image = null;
    },
    TiffInfo: function TiffInfo(t0) {
      var _ = this;
      _.signature = null;
      _.images = t0;
      _.height = _.width = 0;
    },
    LzwDecoder$() {
      return new A.LzwDecoder(new Uint8Array(4096));
    },
    LzwDecoder: function LzwDecoder(t0) {
      var _ = this;
      _._bitsToGet = 9;
      _._nextBits = _._nextData = _._bytePointer = 0;
      _.__LzwDecoder__outPointer = _.__LzwDecoder__out = _.__LzwDecoder__dataLength = _.__LzwDecoder__data = $;
      _._tiff_lzw_decoder$_buffer = t0;
      _.__LzwDecoder__prefix = _.__LzwDecoder__table = $;
      _._tableIndex = null;
      _.__LzwDecoder__bufferLength = $;
    },
    TiffDecoder: function TiffDecoder() {
      this.info = null;
      this.__TiffDecoder__input = $;
    },
    VP8$(input, _webp) {
      var t1 = new Int32Array(4),
        t2 = new Int32Array(4),
        t3 = new Int8Array(4),
        t4 = new Int8Array(4),
        t5 = A.List_List$filled(8, null, false, type$.nullable_VP8BitReader),
        t6 = A.List_List$filled(4, null, false, type$.nullable_VP8QuantMatrix);
      return new A.VP8(input, _webp, new A.VP8FrameHeader(), new A.VP8PictureHeader(), new A.VP8FilterHeader(t1, t2), new A.VP8SegmentHeader(t3, t4), t5, t6, new Uint8Array(4));
    },
    VP8__checkMode(mb_x, mb_y, mode) {
      if (mode === 0)
        if (mb_x === 0)
          return mb_y === 0 ? 6 : 5;
        else
          return mb_y === 0 ? 4 : 0;
      return mode;
    },
    VP8: function VP8(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.input = t0;
      _._webp = t1;
      _.__VP8_br = $;
      _.output = null;
      _.__VP8__dsp = $;
      _._frameHeader = t2;
      _._picHeader = t3;
      _._filterHeader = t4;
      _._segmentHeader = t5;
      _.__VP8__cropRight = _.__VP8__cropLeft = $;
      _._mbHeight = _._mbWidth = _._cropBottom = _._cropTop = null;
      _.__VP8__tlMbY = _.__VP8__tlMbX = $;
      _._brMbY = _._brMbX = null;
      _.__VP8__numPartitions = $;
      _._partitions = t6;
      _._dqm = t7;
      _._proba = null;
      _.__VP8__skipP = _.__VP8__useSkipProba = $;
      _._intraT = null;
      _._intraL = t8;
      _.__VP8__cacheV = _.__VP8__cacheU = _.__VP8__cacheY = _.__VP8__yuvBlock = _.__VP8__fInfo = _.__VP8__mbInfo = _.__VP8__yuvT = _.__VP8__segment = $;
      _._cacheUVStride = _._cacheYStride = null;
      _.__VP8__v = _.__VP8__u = _.__VP8__y = _.__VP8__tmpV = _.__VP8__tmpU = _.__VP8__tmpY = $;
      _._a = null;
      _._mbY = _._mbX = 0;
      _.__VP8__mbData = $;
      _._filterType = null;
      _.__VP8__alpha = _.__VP8__fStrengths = $;
      _._alphaData = null;
      _.__VP8__alphaPlane = $;
    },
    VP8__upsample_LOAD_UV: function VP8__upsample_LOAD_UV() {
    },
    VP8BitReader$(input) {
      var t1 = new A.VP8BitReader(input);
      t1.__VP8BitReader__range = 254;
      t1.__VP8BitReader__value = 0;
      t1.__VP8BitReader__bits = -8;
      return t1;
    },
    VP8BitReader: function VP8BitReader(t0) {
      var _ = this;
      _.input = t0;
      _.__VP8BitReader__bits = _.__VP8BitReader__value = _.__VP8BitReader__range = $;
      _._eof = false;
    },
    VP8Filter_AVG3(a, b, c) {
      return B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(a + 2 * b + c + 2, 2), 32);
    },
    VP8Filter_VE4(dst) {
      var t6, t7, vals, i,
        t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -33],
        t4 = t1[t2 + -32],
        t5 = t1[t2 + -31];
      t3 = A.VP8Filter_AVG3(t3, t4, t5);
      t6 = t1[t2 + -30];
      t4 = A.VP8Filter_AVG3(t4, t5, t6);
      t7 = t1[t2 + -29];
      vals = A._setArrayType([t3, t4, A.VP8Filter_AVG3(t5, t6, t7), A.VP8Filter_AVG3(t6, t7, t1[t2 + -28])], type$.JSArray_int);
      for (i = 0; i < 4; ++i)
        dst.memcpy$3(i * 32, 4, vals);
    },
    VP8Filter_HE4(dst) {
      var d2,
        t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -33],
        t4 = t1[t2 + -1],
        t5 = t1[t2 + 31],
        t6 = t1[t2 + 63];
      t2 = t1[t2 + 95];
      d2 = A.InputBuffer$from(dst, null, 0);
      d2.toUint32List$0()[0] = 16843009 * A.VP8Filter_AVG3(t3, t4, t5);
      d2.offset += 32;
      d2.toUint32List$0()[0] = 16843009 * A.VP8Filter_AVG3(t4, t5, t6);
      d2.offset += 32;
      d2.toUint32List$0()[0] = 16843009 * A.VP8Filter_AVG3(t5, t6, t2);
      d2.offset += 32;
      d2.toUint32List$0()[0] = 16843009 * A.VP8Filter_AVG3(t6, t2, t2);
    },
    VP8Filter_DC4(dst) {
      var t1, t2, dc, i;
      for (t1 = dst.buffer, t2 = dst.offset, dc = 4, i = 0; i < 4; ++i)
        dc += t1[t2 + (i - 32)] + t1[t2 + (-1 + i * 32)];
      dc = B.JSInt_methods._shrOtherPositive$1(dc, 3);
      for (i = 0; i < 4; ++i) {
        t1 = dst.buffer;
        t2 = dst.offset + i * 32;
        J.fillRange$3$ax(t1, t2, t2 + 4, dc);
      }
    },
    VP8Filter_trueMotion(dst, size) {
      var di, y, clip, x,
        t1 = dst.buffer,
        t2 = dst.offset,
        clip0 = 255 - t1[t2 + -33];
      for (di = 0, y = 0; y < size; ++y) {
        clip = clip0 + t1[t2 + (di - 1)];
        for (x = 0; x < size; ++x)
          t1[t2 + (di + x)] = $.$get$VP8Filter_clip1()[clip + t1[t2 + (-32 + x)]];
        di += 32;
      }
    },
    VP8Filter_TM4(dst) {
      A.VP8Filter_trueMotion(dst, 4);
    },
    VP8Filter_TM8uv(dst) {
      A.VP8Filter_trueMotion(dst, 8);
    },
    VP8Filter_TM16(dst) {
      A.VP8Filter_trueMotion(dst, 16);
    },
    VP8Filter_RD4(dst) {
      var t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -1],
        t4 = t1[t2 + 31],
        t5 = t1[t2 + 63],
        t6 = t1[t2 + 95],
        t7 = t1[t2 + -33],
        t8 = t1[t2 + -32],
        t9 = t1[t2 + -31],
        t10 = t1[t2 + -30];
      t2 = t1[t2 + -29];
      dst.$indexSet(0, 96, A.VP8Filter_AVG3(t4, t5, t6));
      t5 = A.VP8Filter_AVG3(t3, t4, t5);
      dst.$indexSet(0, 97, t5);
      dst.$indexSet(0, 64, t5);
      t4 = A.VP8Filter_AVG3(t7, t3, t4);
      dst.$indexSet(0, 98, t4);
      dst.$indexSet(0, 65, t4);
      dst.$indexSet(0, 32, t4);
      t3 = A.VP8Filter_AVG3(t8, t7, t3);
      dst.$indexSet(0, 99, t3);
      dst.$indexSet(0, 66, t3);
      dst.$indexSet(0, 33, t3);
      dst.$indexSet(0, 0, t3);
      t7 = A.VP8Filter_AVG3(t9, t8, t7);
      dst.$indexSet(0, 67, t7);
      dst.$indexSet(0, 34, t7);
      dst.$indexSet(0, 1, t7);
      t8 = A.VP8Filter_AVG3(t10, t9, t8);
      dst.$indexSet(0, 35, t8);
      dst.$indexSet(0, 2, t8);
      dst.$indexSet(0, 3, A.VP8Filter_AVG3(t2, t10, t9));
    },
    VP8Filter_LD4(dst) {
      var t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -32],
        t4 = t1[t2 + -31],
        t5 = t1[t2 + -30],
        t6 = t1[t2 + -29],
        t7 = t1[t2 + -28],
        t8 = t1[t2 + -27],
        t9 = t1[t2 + -26];
      t2 = t1[t2 + -25];
      dst.$indexSet(0, 0, A.VP8Filter_AVG3(t3, t4, t5));
      t4 = A.VP8Filter_AVG3(t4, t5, t6);
      dst.$indexSet(0, 32, t4);
      dst.$indexSet(0, 1, t4);
      t5 = A.VP8Filter_AVG3(t5, t6, t7);
      dst.$indexSet(0, 64, t5);
      dst.$indexSet(0, 33, t5);
      dst.$indexSet(0, 2, t5);
      t6 = A.VP8Filter_AVG3(t6, t7, t8);
      dst.$indexSet(0, 96, t6);
      dst.$indexSet(0, 65, t6);
      dst.$indexSet(0, 34, t6);
      dst.$indexSet(0, 3, t6);
      t7 = A.VP8Filter_AVG3(t7, t8, t9);
      dst.$indexSet(0, 97, t7);
      dst.$indexSet(0, 66, t7);
      dst.$indexSet(0, 35, t7);
      t8 = A.VP8Filter_AVG3(t8, t9, t2);
      dst.$indexSet(0, 98, t8);
      dst.$indexSet(0, 67, t8);
      dst.$indexSet(0, 99, A.VP8Filter_AVG3(t9, t2, t2));
    },
    VP8Filter_VR4(dst) {
      var t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -1],
        t4 = t1[t2 + 31],
        t5 = t1[t2 + 63],
        t6 = t1[t2 + -33],
        t7 = t1[t2 + -32],
        t8 = t1[t2 + -31],
        t9 = t1[t2 + -30];
      t2 = t1[t2 + -29];
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t6 + t7 + 1, 1), 32);
      dst.$indexSet(0, 65, t1);
      dst.$indexSet(0, 0, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t7 + t8 + 1, 1), 32);
      dst.$indexSet(0, 66, t1);
      dst.$indexSet(0, 1, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t8 + t9 + 1, 1), 32);
      dst.$indexSet(0, 67, t1);
      dst.$indexSet(0, 2, t1);
      dst.$indexSet(0, 3, B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t9 + t2 + 1, 1), 32));
      dst.$indexSet(0, 96, A.VP8Filter_AVG3(t5, t4, t3));
      dst.$indexSet(0, 64, A.VP8Filter_AVG3(t4, t3, t6));
      t3 = A.VP8Filter_AVG3(t3, t6, t7);
      dst.$indexSet(0, 97, t3);
      dst.$indexSet(0, 32, t3);
      t6 = A.VP8Filter_AVG3(t6, t7, t8);
      dst.$indexSet(0, 98, t6);
      dst.$indexSet(0, 33, t6);
      t7 = A.VP8Filter_AVG3(t7, t8, t9);
      dst.$indexSet(0, 99, t7);
      dst.$indexSet(0, 34, t7);
      dst.$indexSet(0, 35, A.VP8Filter_AVG3(t8, t9, t2));
    },
    VP8Filter_VL4(dst) {
      var t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -32],
        t4 = t1[t2 + -31],
        t5 = t1[t2 + -30],
        t6 = t1[t2 + -29],
        t7 = t1[t2 + -28],
        t8 = t1[t2 + -27],
        t9 = t1[t2 + -26];
      t2 = t1[t2 + -25];
      dst.$indexSet(0, 0, B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t3 + t4 + 1, 1), 32));
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t4 + t5 + 1, 1), 32);
      dst.$indexSet(0, 64, t1);
      dst.$indexSet(0, 1, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t5 + t6 + 1, 1), 32);
      dst.$indexSet(0, 65, t1);
      dst.$indexSet(0, 2, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t6 + t7 + 1, 1), 32);
      dst.$indexSet(0, 66, t1);
      dst.$indexSet(0, 3, t1);
      dst.$indexSet(0, 32, A.VP8Filter_AVG3(t3, t4, t5));
      t4 = A.VP8Filter_AVG3(t4, t5, t6);
      dst.$indexSet(0, 96, t4);
      dst.$indexSet(0, 33, t4);
      t5 = A.VP8Filter_AVG3(t5, t6, t7);
      dst.$indexSet(0, 97, t5);
      dst.$indexSet(0, 34, t5);
      t6 = A.VP8Filter_AVG3(t6, t7, t8);
      dst.$indexSet(0, 98, t6);
      dst.$indexSet(0, 35, t6);
      dst.$indexSet(0, 67, A.VP8Filter_AVG3(t7, t8, t9));
      dst.$indexSet(0, 99, A.VP8Filter_AVG3(t8, t9, t2));
    },
    VP8Filter_HU4(dst) {
      var t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -1],
        t4 = t1[t2 + 31],
        t5 = t1[t2 + 63];
      t2 = t1[t2 + 95];
      dst.$indexSet(0, 0, B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t3 + t4 + 1, 1), 32));
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t4 + t5 + 1, 1), 32);
      dst.$indexSet(0, 32, t1);
      dst.$indexSet(0, 2, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t5 + t2 + 1, 1), 32);
      dst.$indexSet(0, 64, t1);
      dst.$indexSet(0, 34, t1);
      dst.$indexSet(0, 1, A.VP8Filter_AVG3(t3, t4, t5));
      t4 = A.VP8Filter_AVG3(t4, t5, t2);
      dst.$indexSet(0, 33, t4);
      dst.$indexSet(0, 3, t4);
      t5 = A.VP8Filter_AVG3(t5, t2, t2);
      dst.$indexSet(0, 65, t5);
      dst.$indexSet(0, 35, t5);
      dst.$indexSet(0, 99, t2);
      dst.$indexSet(0, 98, t2);
      dst.$indexSet(0, 97, t2);
      dst.$indexSet(0, 96, t2);
      dst.$indexSet(0, 66, t2);
      dst.$indexSet(0, 67, t2);
    },
    VP8Filter_HD4(dst) {
      var t1 = dst.buffer,
        t2 = dst.offset,
        t3 = t1[t2 + -1],
        t4 = t1[t2 + 31],
        t5 = t1[t2 + 63],
        t6 = t1[t2 + 95],
        t7 = t1[t2 + -33],
        t8 = t1[t2 + -32],
        t9 = t1[t2 + -31];
      t2 = t1[t2 + -30];
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t3 + t7 + 1, 1), 32);
      dst.$indexSet(0, 34, t1);
      dst.$indexSet(0, 0, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t4 + t3 + 1, 1), 32);
      dst.$indexSet(0, 66, t1);
      dst.$indexSet(0, 32, t1);
      t1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t5 + t4 + 1, 1), 32);
      dst.$indexSet(0, 98, t1);
      dst.$indexSet(0, 64, t1);
      dst.$indexSet(0, 96, B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t6 + t5 + 1, 1), 32));
      dst.$indexSet(0, 3, A.VP8Filter_AVG3(t8, t9, t2));
      dst.$indexSet(0, 2, A.VP8Filter_AVG3(t7, t8, t9));
      t8 = A.VP8Filter_AVG3(t3, t7, t8);
      dst.$indexSet(0, 35, t8);
      dst.$indexSet(0, 1, t8);
      t7 = A.VP8Filter_AVG3(t4, t3, t7);
      dst.$indexSet(0, 67, t7);
      dst.$indexSet(0, 33, t7);
      t3 = A.VP8Filter_AVG3(t5, t4, t3);
      dst.$indexSet(0, 99, t3);
      dst.$indexSet(0, 65, t3);
      dst.$indexSet(0, 97, A.VP8Filter_AVG3(t6, t5, t4));
    },
    VP8Filter_VE16(dst) {
      var j;
      for (j = 0; j < 16; ++j)
        dst.memcpy$4(j * 32, 16, dst, -32);
    },
    VP8Filter_HE16(dst) {
      var di, j, t1, t2, t3;
      for (di = 0, j = 16; j > 0; --j) {
        t1 = dst.buffer;
        t2 = dst.offset;
        t3 = t2 + di;
        J.fillRange$3$ax(t1, t3, t3 + 16, t1[t2 + (di - 1)]);
        di += 32;
      }
    },
    VP8Filter_Put16(v, dst) {
      var j, t1, t2;
      for (j = 0; j < 16; ++j) {
        t1 = dst.buffer;
        t2 = dst.offset + j * 32;
        J.fillRange$3$ax(t1, t2, t2 + 16, v);
      }
    },
    VP8Filter_DC16(dst) {
      var t1, t2, DC, j;
      for (t1 = dst.buffer, t2 = dst.offset, DC = 16, j = 0; j < 16; ++j)
        DC += t1[t2 + (-1 + j * 32)] + t1[t2 + (j - 32)];
      A.VP8Filter_Put16(B.JSInt_methods._shrOtherPositive$1(DC, 5), dst);
    },
    VP8Filter_DC16NoTop(dst) {
      var t1, t2, DC, j;
      for (t1 = dst.buffer, t2 = dst.offset, DC = 8, j = 0; j < 16; ++j)
        DC += t1[t2 + (-1 + j * 32)];
      A.VP8Filter_Put16(B.JSInt_methods._shrOtherPositive$1(DC, 4), dst);
    },
    VP8Filter_DC16NoLeft(dst) {
      var t1, t2, DC, i;
      for (t1 = dst.buffer, t2 = dst.offset, DC = 8, i = 0; i < 16; ++i)
        DC += t1[t2 + (i - 32)];
      A.VP8Filter_Put16(B.JSInt_methods._shrOtherPositive$1(DC, 4), dst);
    },
    VP8Filter_DC16NoTopLeft(dst) {
      A.VP8Filter_Put16(128, dst);
    },
    VP8Filter_VE8uv(dst) {
      var j;
      for (j = 0; j < 8; ++j)
        dst.memcpy$4(j * 32, 8, dst, -32);
    },
    VP8Filter_HE8uv(dst) {
      var di, j, t1, t2, t3;
      for (di = 0, j = 0; j < 8; ++j) {
        t1 = dst.buffer;
        t2 = dst.offset;
        t3 = t2 + di;
        J.fillRange$3$ax(t1, t3, t3 + 8, t1[t2 + (di - 1)]);
        di += 32;
      }
    },
    VP8Filter_Put8x8uv(value, dst) {
      var j, t1, t2;
      for (j = 0; j < 8; ++j) {
        t1 = dst.buffer;
        t2 = dst.offset + j * 32;
        J.fillRange$3$ax(t1, t2, t2 + 8, value);
      }
    },
    VP8Filter_DC8uv(dst) {
      var t1, t2, dc0, i;
      for (t1 = dst.buffer, t2 = dst.offset, dc0 = 8, i = 0; i < 8; ++i)
        dc0 += t1[t2 + (i - 32)] + t1[t2 + (-1 + i * 32)];
      A.VP8Filter_Put8x8uv(B.JSInt_methods._shrOtherPositive$1(dc0, 4), dst);
    },
    VP8Filter_DC8uvNoLeft(dst) {
      var t1, t2, dc0, i;
      for (t1 = dst.buffer, t2 = dst.offset, dc0 = 4, i = 0; i < 8; ++i)
        dc0 += t1[t2 + (i - 32)];
      A.VP8Filter_Put8x8uv(B.JSInt_methods._shrOtherPositive$1(dc0, 3), dst);
    },
    VP8Filter_DC8uvNoTop(dst) {
      var t1, t2, dc0, i;
      for (t1 = dst.buffer, t2 = dst.offset, dc0 = 4, i = 0; i < 8; ++i)
        dc0 += t1[t2 + (-1 + i * 32)];
      A.VP8Filter_Put8x8uv(B.JSInt_methods._shrOtherPositive$1(dc0, 3), dst);
    },
    VP8Filter_DC8uvNoTopLeft(dst) {
      A.VP8Filter_Put8x8uv(128, dst);
    },
    VP8Filter__store(dst, di, x, y, v) {
      var t1 = di + x + y * 32,
        t2 = dst.buffer[dst.offset + t1] + B.JSInt_methods._shrOtherPositive$1(v, 3);
      if (!((t2 & -256) >>> 0 === 0))
        t2 = t2 < 0 ? 0 : 255;
      dst.$indexSet(0, t1, t2);
    },
    VP8Filter__store2(dst, y, dc, d, c) {
      A.VP8Filter__store(dst, 0, 0, y, dc + d);
      A.VP8Filter__store(dst, 0, 1, y, dc + c);
      A.VP8Filter__store(dst, 0, 2, y, dc - c);
      A.VP8Filter__store(dst, 0, 3, y, dc - d);
    },
    VP8Filter__initTables() {
      var i, t1, t2;
      if (!$.VP8Filter__tablesInitialized) {
        for (i = -255; i <= 255; ++i) {
          t1 = $.$get$VP8Filter_abs0();
          t2 = 255 + i;
          t1[t2] = i < 0 ? -i : i;
          $.$get$VP8Filter_abs1()[t2] = B.JSInt_methods._shrOtherPositive$1(t1[t2], 1);
        }
        for (i = -1020; i <= 1020; ++i) {
          t1 = $.$get$VP8Filter_sclip1();
          if (i < -128)
            t2 = -128;
          else
            t2 = i > 127 ? 127 : i;
          t1[1020 + i] = t2;
        }
        for (i = -112; i <= 112; ++i) {
          t1 = $.$get$VP8Filter_sclip2();
          if (i < -16)
            t2 = -16;
          else
            t2 = i > 15 ? 15 : i;
          t1[112 + i] = t2;
        }
        for (i = -255; i <= 510; ++i) {
          t1 = $.$get$VP8Filter_clip1();
          if (i < 0)
            t2 = 0;
          else
            t2 = i > 255 ? 255 : i;
          t1[255 + i] = t2;
        }
        $.VP8Filter__tablesInitialized = true;
      }
    },
    VP8Filter: function VP8Filter() {
    },
    VP8BandProbas$() {
      var _i,
        _list = J.JSArray_JSArray$allocateFixed(3, type$.Uint8List);
      for (_i = 0; _i < 3; ++_i)
        _list[_i] = new Uint8Array(11);
      return new A.VP8BandProbas(_list);
    },
    VP8Proba$() {
      var t2, _i, _list0, _i0,
        t1 = new Uint8Array(3),
        _list = J.JSArray_JSArray$allocateFixed(4, type$.List_VP8BandProbas);
      for (t2 = type$.VP8BandProbas, _i = 0; _i < 4; ++_i) {
        _list0 = J.JSArray_JSArray$allocateFixed(8, t2);
        for (_i0 = 0; _i0 < 8; ++_i0)
          _list0[_i0] = A.VP8BandProbas$();
        _list[_i] = _list0;
      }
      B.NativeUint8List_methods.fillRange$3(t1, 0, 3, 255);
      return new A.VP8Proba(t1, _list);
    },
    VP8FrameHeader: function VP8FrameHeader() {
      this.__VP8FrameHeader_partitionLength = $;
    },
    VP8PictureHeader: function VP8PictureHeader() {
      this.height = null;
    },
    VP8SegmentHeader: function VP8SegmentHeader(t0, t1) {
      var _ = this;
      _.updateMap = _.useSegment = false;
      _.absoluteDelta = true;
      _.quantizer = t0;
      _.filterStrength = t1;
    },
    VP8BandProbas: function VP8BandProbas(t0) {
      this.probas = t0;
    },
    VP8Proba: function VP8Proba(t0, t1) {
      this.segments = t0;
      this.bands = t1;
    },
    VP8FilterHeader: function VP8FilterHeader(t0, t1) {
      var _ = this;
      _.__VP8FilterHeader_simple = $;
      _.level = null;
      _.__VP8FilterHeader_useLfDelta = _.__VP8FilterHeader_sharpness = $;
      _.refLfDelta = t0;
      _.modeLfDelta = t1;
    },
    VP8FInfo: function VP8FInfo() {
      var _ = this;
      _.fInnerLevel = _.fLimit = 0;
      _.fInner = false;
      _.hevThresh = 0;
    },
    VP8MB: function VP8MB() {
      this.nzDc = this.nz = 0;
    },
    VP8QuantMatrix: function VP8QuantMatrix(t0, t1, t2) {
      this.y1Mat = t0;
      this.y2Mat = t1;
      this.uvMat = t2;
    },
    VP8MBData: function VP8MBData(t0, t1) {
      var _ = this;
      _.coeffs = t0;
      _.__VP8MBData_isIntra4x4 = $;
      _.imodes = t1;
      _.nonZeroY = _.uvmode = null;
      _.__VP8MBData_nonZeroUV = $;
    },
    VP8TopSamples: function VP8TopSamples(t0, t1, t2) {
      this.y = t0;
      this.u = t1;
      this.v = t2;
    },
    VP8L$(input, webp) {
      var t1 = A._setArrayType([], type$.JSArray_HTreeGroup),
        t2 = A._setArrayType([], type$.JSArray_VP8LTransform),
        t3 = new Uint32Array(2),
        t4 = new A.VP8LBitReader(input, t3);
      t3 = t4.__VP8LBitReader__buffer8 = A.NativeUint8List_NativeUint8List$view(t3.buffer, 0, null);
      t3[0] = input.readByte$0();
      t3[1] = input.readByte$0();
      t3[2] = input.readByte$0();
      t3[3] = input.readByte$0();
      t3[4] = input.readByte$0();
      t3[5] = input.readByte$0();
      t3[6] = input.readByte$0();
      t3[7] = input.readByte$0();
      return new A.VP8L(t4, webp, t1, t2);
    },
    VP8L__subSampleSize(size, samplingBits) {
      return B.JSInt_methods._shrOtherPositive$1(size + B.JSInt_methods._shlPositive$1(1, samplingBits) - 1, samplingBits);
    },
    VP8L: function VP8L(t0, t1, t2, t3) {
      var _ = this;
      _.br = t0;
      _.webp = t1;
      _.image = null;
      _._colorCacheSize = _._lastRow = _._lastPixel = 0;
      _._colorCache = null;
      _._huffmanXsize = _._huffmanSubsampleBits = _._huffmanMask = 0;
      _._huffmanImage = null;
      _._numHtreeGroups = 0;
      _._htreeGroups = t2;
      _._vp8l$_transforms = t3;
      _._transformsSeen = 0;
      _._vp8l$_pixels = null;
      _.__VP8L__pixels8 = $;
      _._ioWidth = _._vp8l$_opaque = _._argbCache = null;
    },
    InternalVP8L: function InternalVP8L(t0, t1, t2, t3) {
      var _ = this;
      _.br = t0;
      _.webp = t1;
      _.image = null;
      _._colorCacheSize = _._lastRow = _._lastPixel = 0;
      _._colorCache = null;
      _._huffmanXsize = _._huffmanSubsampleBits = _._huffmanMask = 0;
      _._huffmanImage = null;
      _._numHtreeGroups = 0;
      _._htreeGroups = t2;
      _._vp8l$_transforms = t3;
      _._transformsSeen = 0;
      _._vp8l$_pixels = null;
      _.__VP8L__pixels8 = $;
      _._ioWidth = _._vp8l$_opaque = _._argbCache = null;
    },
    VP8LBitReader: function VP8LBitReader(t0, t1) {
      var _ = this;
      _.bitPos = 0;
      _._vp8l_bit_reader$_input = t0;
      _._vp8l_bit_reader$_buffer = t1;
      _.__VP8LBitReader__buffer8 = $;
    },
    VP8LColorCache: function VP8LColorCache(t0, t1) {
      this.colors = t0;
      this.hashShift = t1;
    },
    VP8LTransform__addPixelsEq(pixels, a, b) {
      var pa = pixels[a];
      pixels[a] = (((pa & 4278255360) >>> 0) + ((b & 4278255360) >>> 0) & 4278255360 | (pa & 16711935) + (b & 16711935) & 16711935) >>> 0;
    },
    VP8LTransform__average2(a0, a1) {
      return ((a0 ^ a1) >>> 1 & 2139062143) + ((a0 & a1) >>> 0);
    },
    VP8LTransform__clip255(a) {
      if (a < 0)
        return 0;
      if (a > 255)
        return 255;
      return a;
    },
    VP8LTransform__sub3(a, b, c) {
      return Math.abs(b - c) - Math.abs(a - c);
    },
    VP8LTransform__predictor0(pixels, left, $top) {
      return 4278190080;
    },
    VP8LTransform__predictor1(pixels, left, $top) {
      return left;
    },
    VP8LTransform__predictor2(pixels, left, $top) {
      return pixels[$top];
    },
    VP8LTransform__predictor3(pixels, left, $top) {
      return pixels[$top + 1];
    },
    VP8LTransform__predictor4(pixels, left, $top) {
      return pixels[$top - 1];
    },
    VP8LTransform__predictor5(pixels, left, $top) {
      var t1 = pixels[$top];
      return A.VP8LTransform__average2(A.VP8LTransform__average2(left, pixels[$top + 1]), t1);
    },
    VP8LTransform__predictor6(pixels, left, $top) {
      return A.VP8LTransform__average2(left, pixels[$top - 1]);
    },
    VP8LTransform__predictor7(pixels, left, $top) {
      return A.VP8LTransform__average2(left, pixels[$top]);
    },
    VP8LTransform__predictor8(pixels, left, $top) {
      return A.VP8LTransform__average2(pixels[$top - 1], pixels[$top]);
    },
    VP8LTransform__predictor9(pixels, left, $top) {
      return A.VP8LTransform__average2(pixels[$top], pixels[$top + 1]);
    },
    VP8LTransform__predictor10(pixels, left, $top) {
      var t1 = pixels[$top - 1],
        t2 = pixels[$top],
        t3 = pixels[$top + 1];
      return A.VP8LTransform__average2(A.VP8LTransform__average2(left, t1), A.VP8LTransform__average2(t2, t3));
    },
    VP8LTransform__predictor11(pixels, left, $top) {
      var t1 = pixels[$top],
        t2 = pixels[$top - 1];
      return A.VP8LTransform__sub3(t1 >>> 24, left >>> 24, t2 >>> 24) + A.VP8LTransform__sub3(t1 >>> 16 & 255, left >>> 16 & 255, t2 >>> 16 & 255) + A.VP8LTransform__sub3(t1 >>> 8 & 255, left >>> 8 & 255, t2 >>> 8 & 255) + A.VP8LTransform__sub3(t1 & 255, left & 255, t2 & 255) <= 0 ? t1 : left;
    },
    VP8LTransform__predictor12(pixels, left, $top) {
      var t1 = pixels[$top],
        t2 = pixels[$top - 1];
      return (A.VP8LTransform__clip255((left >>> 24) + (t1 >>> 24) - (t2 >>> 24)) << 24 | A.VP8LTransform__clip255((left >>> 16 & 255) + (t1 >>> 16 & 255) - (t2 >>> 16 & 255)) << 16 | A.VP8LTransform__clip255((left >>> 8 & 255) + (t1 >>> 8 & 255) - (t2 >>> 8 & 255)) << 8 | A.VP8LTransform__clip255((left & 255) + (t1 & 255) - (t2 & 255))) >>> 0;
    },
    VP8LTransform__predictor13(pixels, left, $top) {
      var t3, t4, t5,
        t1 = pixels[$top],
        t2 = pixels[$top - 1],
        avg = A.VP8LTransform__average2(left, t1);
      t1 = avg >>> 24;
      t3 = avg >>> 16 & 255;
      t4 = avg >>> 8 & 255;
      t5 = avg >>> 0 & 255;
      return (A.VP8LTransform__clip255(t1 + B.JSInt_methods._tdivFast$1(t1 - (t2 >>> 24), 2)) << 24 | A.VP8LTransform__clip255(t3 + B.JSInt_methods._tdivFast$1(t3 - (t2 >>> 16 & 255), 2)) << 16 | A.VP8LTransform__clip255(t4 + B.JSInt_methods._tdivFast$1(t4 - (t2 >>> 8 & 255), 2)) << 8 | A.VP8LTransform__clip255(t5 + B.JSInt_methods._tdivFast$1(t5 - (t2 & 255), 2))) >>> 0;
    },
    VP8LTransform: function VP8LTransform() {
      var _ = this;
      _.ysize = _.xsize = _.type = 0;
      _.data = null;
      _.bits = 0;
    },
    WebPAlpha: function WebPAlpha(t0, t1, t2) {
      var _ = this;
      _.input = t0;
      _.width = t1;
      _.height = t2;
      _.preProcessing = _.filter = _.method = 0;
      _.rsrv = 1;
      _.isAlphaDecoded = false;
      _.__WebPAlpha__vp8l = $;
      _._use8bDecode = false;
    },
    WebPFrame: function WebPFrame() {
    },
    InternalWebPFrame: function InternalWebPFrame(t0, t1) {
      var _ = this;
      _.height = t0;
      _.duration = t1;
      _._reserved = 1;
      _.__WebPFrame__frameSize = _.__WebPFrame__framePosition = $;
    },
    HuffmanTree$() {
      var t1 = new Uint8Array(128),
        t2 = new Int16Array(128);
      t1 = new A.HuffmanTree(t1, t2, new Int16Array(128));
      t1._webp_huffman$_init$1(0);
      return t1;
    },
    HTreeGroup$() {
      var _i,
        _list = J.JSArray_JSArray$allocateFixed(5, type$.HuffmanTree);
      for (_i = 0; _i < 5; ++_i)
        _list[_i] = A.HuffmanTree$();
      return new A.HTreeGroup(_list);
    },
    HuffmanTree: function HuffmanTree(t0, t1, t2) {
      var _ = this;
      _.lutBits = t0;
      _.lutSymbol = t1;
      _.lutJump = t2;
      _.__HuffmanTree_tree = $;
      _.numNodes = _.maxNodes = 0;
    },
    HTreeGroup: function HTreeGroup(t0) {
      this.htrees = t0;
    },
    WebPInfo: function WebPInfo(t0) {
      var _ = this;
      _.hasAnimation = _.hasAlpha = false;
      _.format = 0;
      _.frames = t0;
      _._numFrames = _._frame = 0;
      _._webp_info$_alphaData = null;
      _.height = _.width = _._vp8Size = _._vp8Position = 0;
    },
    InternalWebPInfo: function InternalWebPInfo(t0) {
      var _ = this;
      _.hasAnimation = _.hasAlpha = false;
      _.format = 0;
      _.frames = t0;
      _._numFrames = _._frame = 0;
      _._webp_info$_alphaData = null;
      _.height = _.width = _._vp8Size = _._vp8Position = 0;
    },
    WebPDecoder: function WebPDecoder() {
      this._webp_decoder$_input = this._info = null;
    },
    HdrImage: function HdrImage(t0) {
      var _ = this;
      _.slices = t0;
      _.depth = _.alpha = _.blue = _.green = _.red = null;
    },
    HdrSlice_allocateDataForType(size, type, bitsPerSample) {
      switch (type) {
        case 1:
          if (bitsPerSample === 8)
            return new Int8Array(size);
          else if (bitsPerSample === 16)
            return new Int16Array(size);
          else if (bitsPerSample === 32)
            return new Int32Array(size);
          break;
        case 0:
          if (bitsPerSample === 8)
            return new Uint8Array(size);
          else if (bitsPerSample === 16)
            return new Uint16Array(size);
          else if (bitsPerSample === 32)
            return new Uint32Array(size);
          break;
        case 3:
          if (bitsPerSample === 16)
            return new Uint16Array(size);
          else if (bitsPerSample === 32)
            return new Float32Array(size);
          else if (bitsPerSample === 64)
            return new Float64Array(size);
          break;
      }
      throw A.wrapException(A.UnimplementedError$(null));
    },
    HdrSlice$($name, width, height, type, bitsPerSample) {
      return new A.HdrSlice($name, width, height, type, bitsPerSample, A.HdrSlice_allocateDataForType(width * height, type, bitsPerSample));
    },
    HdrSlice: function HdrSlice(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.width = t1;
      _.height = t2;
      _.type = t3;
      _.bitsPerSample = t4;
      _.data = t5;
    },
    hdrToImage(hdr, exposure) {
      var m, t1, y, di, t2, x, r, t3, g, b, ri, gi, bi, mi, di0, a,
        _gamma = new A.hdrToImage__gamma(new A.hdrToImage__knee()),
        image = A.Image$0(hdr.get$width(hdr), hdr.get$height(hdr), B.Channels_1),
        pixels = image.getBytes$0();
      if (!(hdr.red != null || hdr.green != null || hdr.blue != null))
        throw A.wrapException(A.ImageException$("Only RGB[A] images are currently supported."));
      m = Math.pow(2, B.JSNumber_methods.clamp$2(exposure + 2.47393, -20, 20));
      t1 = hdr.slices;
      y = 0;
      di = 0;
      while (true) {
        if (t1._length === 0)
          t2 = 0;
        else {
          t2 = t1.get$values(t1);
          t2 = t2._f.call$1(J.get$first$ax(t2.__internal$_iterable)).height;
        }
        if (!(y < t2))
          break;
        x = 0;
        while (true) {
          if (t1._length === 0)
            t2 = 0;
          else {
            t2 = t1.get$values(t1);
            t2 = t2._f.call$1(J.get$first$ax(t2.__internal$_iterable)).width;
          }
          if (!(x < t2))
            break;
          t2 = hdr.red;
          if (t2 != null)
            if (t2.type === 3) {
              t2 = t2.getFloat$2(x, y);
              r = t2;
            } else {
              t3 = t2.width;
              t3 = A._asInt(t2.data[y * t3 + x]);
              r = t3;
            }
          else
            r = 0;
          if (t1._length === 1)
            g = r;
          else {
            t2 = hdr.green;
            if (t2 != null) {
              if (t2.type === 3)
                t2 = t2.getFloat$2(x, y);
              else {
                t3 = t2.width;
                t3 = A._asInt(t2.data[y * t3 + x]);
                t2 = t3;
              }
              g = t2;
            } else
              g = 0;
          }
          if (t1._length === 1)
            b = r;
          else {
            t2 = hdr.blue;
            if (t2 != null) {
              if (t2.type === 3)
                t2 = t2.getFloat$2(x, y);
              else {
                t3 = t2.width;
                t3 = A._asInt(t2.data[y * t3 + x]);
                t2 = t3;
              }
              b = t2;
            } else
              b = 0;
          }
          if (r == 1 / 0 || r == -1 / 0 || isNaN(r))
            r = 0;
          if (g == 1 / 0 || g == -1 / 0 || isNaN(g))
            g = 0;
          if (b == 1 / 0 || b == -1 / 0 || isNaN(b))
            b = 0;
          ri = _gamma.call$2(r, m);
          gi = _gamma.call$2(g, m);
          bi = _gamma.call$2(b, m);
          mi = Math.max(ri, Math.max(gi, bi));
          if (mi > 255) {
            ri = 255 * (ri / mi);
            gi = 255 * (gi / mi);
            bi = 255 * (bi / mi);
          }
          di0 = di + 1;
          pixels[di] = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(ri, 0, 255));
          di = di0 + 1;
          pixels[di0] = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(gi, 0, 255));
          di0 = di + 1;
          pixels[di] = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(bi, 0, 255));
          t2 = hdr.alpha;
          if (t2 != null) {
            a = t2.getFloat$2(x, y);
            if (a == 1 / 0 || a == -1 / 0 || isNaN(a))
              a = 1;
            di = di0 + 1;
            pixels[di0] = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(a * 255, 0, 255));
          } else {
            di = di0 + 1;
            pixels[di0] = 255;
          }
          ++x;
        }
        ++y;
      }
      return image;
    },
    hdrToImage__knee: function hdrToImage__knee() {
    },
    hdrToImage__gamma: function hdrToImage__gamma(t0) {
      this._knee = t0;
    },
    Image$0(width, height, channels) {
      var t1 = new Uint32Array(width * height),
        t2 = new A.ExifData(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.dynamic));
      t2.ExifData$from$1(null);
      return new A.Image0(width, height, channels, t1, t2);
    },
    Format: function Format(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Channels: function Channels(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    Image0: function Image0(t0, t1, t2, t3, t4) {
      var _ = this;
      _.width = t0;
      _.height = t1;
      _.channels = t2;
      _.data = t3;
      _.exif = t4;
      _.textData = null;
    },
    ImageException$(message) {
      return new A.ImageException(message);
    },
    ImageException: function ImageException(t0) {
      this.message = t0;
    },
    InputBuffer$(buffer, bigEndian, $length, offset) {
      return new A.InputBuffer(buffer, offset, $length == null ? buffer.length : offset + $length, offset, bigEndian);
    },
    InputBuffer$from(other, $length, offset) {
      var t1 = other.buffer,
        t2 = other.offset + offset,
        t3 = other.start,
        t4 = $length == null ? other.end : t2 + $length;
      return new A.InputBuffer(t1, t3, t4, t2, other.bigEndian);
    },
    InputBuffer: function InputBuffer(t0, t1, t2, t3, t4) {
      var _ = this;
      _.buffer = t0;
      _.start = t1;
      _.end = t2;
      _.offset = t3;
      _.bigEndian = t4;
    },
    OutputBuffer$(size) {
      return new A.OutputBuffer(new Uint8Array(size));
    },
    OutputBuffer: function OutputBuffer(t0) {
      this.length = 0;
      this._output_buffer$_buffer = t0;
    },
    DateSymbols: function DateSymbols(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16) {
      var _ = this;
      _.NAME = t0;
      _.ERAS = t1;
      _.ERANAMES = t2;
      _.NARROWMONTHS = t3;
      _.STANDALONENARROWMONTHS = t4;
      _.MONTHS = t5;
      _.STANDALONEMONTHS = t6;
      _.SHORTMONTHS = t7;
      _.STANDALONESHORTMONTHS = t8;
      _.WEEKDAYS = t9;
      _.STANDALONEWEEKDAYS = t10;
      _.SHORTWEEKDAYS = t11;
      _.STANDALONESHORTWEEKDAYS = t12;
      _.STANDALONENARROWWEEKDAYS = t13;
      _.SHORTQUARTERS = t14;
      _.QUARTERS = t15;
      _.AMPMS = t16;
    },
    NumberSymbols$(CURRENCY_PATTERN, DECIMAL_PATTERN, DECIMAL_SEP, DEF_CURRENCY_CODE, EXP_SYMBOL, GROUP_SEP, INFINITY, MINUS_SIGN, NAME, NAN, PERCENT, PERCENT_PATTERN, PERMILL, PLUS_SIGN, SCIENTIFIC_PATTERN, ZERO_DIGIT) {
      return new A.NumberSymbols(NAME, DECIMAL_SEP, GROUP_SEP, PERCENT, ZERO_DIGIT, PLUS_SIGN, MINUS_SIGN, EXP_SYMBOL, PERMILL, INFINITY, NAN, DECIMAL_PATTERN, DEF_CURRENCY_CODE);
    },
    NumberSymbols: function NumberSymbols(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12) {
      var _ = this;
      _.NAME = t0;
      _.DECIMAL_SEP = t1;
      _.GROUP_SEP = t2;
      _.PERCENT = t3;
      _.ZERO_DIGIT = t4;
      _.PLUS_SIGN = t5;
      _.MINUS_SIGN = t6;
      _.EXP_SYMBOL = t7;
      _.PERMILL = t8;
      _.INFINITY = t9;
      _.NAN = t10;
      _.DECIMAL_PATTERN = t11;
      _.DEF_CURRENCY_CODE = t12;
    },
    DateFormat$(newPattern, locale) {
      var t1 = A.verifiedLocale(locale, A.date_format_DateFormat_localeExists$closure(), null);
      t1.toString;
      t1 = new A.DateFormat(new A.DateFormat_dateTimeConstructor_closure(), t1);
      t1.addPattern$1(newPattern);
      return t1;
    },
    DateFormat$yMd() {
      var t1 = A.verifiedLocale(null, A.date_format_DateFormat_localeExists$closure(), null);
      t1.toString;
      t1 = new A.DateFormat(new A.DateFormat_dateTimeConstructor_closure(), t1);
      t1.addPattern$1("yMd");
      return t1;
    },
    DateFormat$yMMMMd() {
      var t1 = A.verifiedLocale(null, A.date_format_DateFormat_localeExists$closure(), null);
      t1.toString;
      t1 = new A.DateFormat(new A.DateFormat_dateTimeConstructor_closure(), t1);
      t1.addPattern$1("yMMMMd");
      return t1;
    },
    DateFormat$Hms() {
      var t1 = A.verifiedLocale(null, A.date_format_DateFormat_localeExists$closure(), null);
      t1.toString;
      t1 = new A.DateFormat(new A.DateFormat_dateTimeConstructor_closure(), t1);
      t1.addPattern$1("Hms");
      return t1;
    },
    DateFormat_localeExists(localeName) {
      var t1 = $.$get$_dateTimeSymbols();
      t1.toString;
      if (A.canonicalizedLocale(localeName) !== "en_US")
        t1._throwException$0();
      return true;
    },
    DateFormat__fieldConstructors() {
      return A._setArrayType([new A.DateFormat__fieldConstructors_closure(), new A.DateFormat__fieldConstructors_closure0(), new A.DateFormat__fieldConstructors_closure1()], type$.JSArray_of__DateFormatField_Function_String_DateFormat);
    },
    _DateFormatQuotedField__patchQuotes(pattern) {
      var t1, t2;
      if (pattern === "''")
        return "'";
      else {
        t1 = B.JSString_methods.substring$2(pattern, 1, pattern.length - 1);
        t2 = $.$get$_DateFormatQuotedField__twoEscapedQuotes();
        return A.stringReplaceAllUnchecked(t1, t2, "'");
      }
    },
    DateFormat: function DateFormat(t0, t1) {
      var _ = this;
      _.dateTimeConstructor = t0;
      _._date_format$_locale = t1;
      _._localeZero = _._localeZeroCodeUnit = _._useNativeDigits = _._formatFieldsPrivate = _._date_format$_pattern = null;
    },
    DateFormat_dateTimeConstructor_closure: function DateFormat_dateTimeConstructor_closure() {
    },
    DateFormat__fieldConstructors_closure: function DateFormat__fieldConstructors_closure() {
    },
    DateFormat__fieldConstructors_closure0: function DateFormat__fieldConstructors_closure0() {
    },
    DateFormat__fieldConstructors_closure1: function DateFormat__fieldConstructors_closure1() {
    },
    _DateFormatField: function _DateFormatField() {
    },
    _DateFormatLiteralField: function _DateFormatLiteralField(t0, t1) {
      this.pattern = t0;
      this.parent = t1;
    },
    _DateFormatQuotedField: function _DateFormatQuotedField(t0, t1, t2) {
      this._fullPattern = t0;
      this.pattern = t1;
      this.parent = t2;
    },
    _DateFormatPatternField: function _DateFormatPatternField(t0, t1) {
      this.pattern = t0;
      this.parent = t1;
    },
    NumberFormat_NumberFormat$decimalPattern() {
      var symbols, localeZero, t2, $name, pattern, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, _null = null,
        t1 = A.verifiedLocale(_null, A.number_format_NumberFormat_localeExists$closure(), _null);
      t1.toString;
      symbols = type$.NumberSymbols._as($.$get$numberFormatSymbols().$index(0, t1));
      localeZero = B.JSString_methods._codeUnitAt$1(symbols.ZERO_DIGIT, 0);
      t2 = $.$get$asciiZeroCodeUnit();
      $name = symbols.DEF_CURRENCY_CODE;
      pattern = new A.NumberFormat_NumberFormat$decimalPattern_closure().call$1(symbols);
      t3 = symbols.MINUS_SIGN;
      if (pattern == null)
        t3 = new A.NumberFormatParseResult(t3, _null);
      else {
        t3 = new A.NumberFormatParseResult(t3, _null);
        t4 = new A.StringIterator(pattern);
        t4.moveNext$0();
        new A.NumberFormatParser(symbols, t4, false, $name, $name, t3)._parse$0();
      }
      t4 = t3.positivePrefix;
      t5 = t3.negativePrefix;
      t6 = t3.positiveSuffix;
      t7 = t3.negativeSuffix;
      t8 = t3.multiplier;
      t9 = B.JSNumber_methods.round$0(Math.log(t8) / $.$get$_ln100());
      t10 = t3.useExponentialNotation;
      t11 = t3.minimumExponentDigits;
      t12 = t3.maximumIntegerDigits;
      t13 = t3.minimumIntegerDigits;
      t14 = t3.maximumFractionDigits;
      t15 = t3.minimumFractionDigits;
      t16 = t3.groupingSize;
      t17 = t3.finalGroupingSize;
      t18 = t3.useSignForPositiveExponent;
      return new A.NumberFormat(t5, t4, t7, t6, t16, t17, t3.decimalSeparatorAlwaysShown, t18, t10, t12, t13, t14, t15, t11, t8, t9, pattern, t1, symbols, new A.StringBuffer(""), localeZero - t2);
    },
    NumberFormat_localeExists(localeName) {
      return $.$get$numberFormatSymbols().containsKey$1(0, localeName);
    },
    NumberFormat: function NumberFormat(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20) {
      var _ = this;
      _.negativePrefix = t0;
      _.positivePrefix = t1;
      _.negativeSuffix = t2;
      _.positiveSuffix = t3;
      _._groupingSize = t4;
      _._finalGroupingSize = t5;
      _._decimalSeparatorAlwaysShown = t6;
      _._useSignForPositiveExponent = t7;
      _._useExponentialNotation = t8;
      _.maximumIntegerDigits = t9;
      _.minimumIntegerDigits = t10;
      _.maximumFractionDigits = t11;
      _.minimumFractionDigits = t12;
      _.minimumExponentDigits = t13;
      _.multiplier = t14;
      _._multiplierDigits = t15;
      _._number_format$_pattern = t16;
      _._number_format$_locale = t17;
      _._symbols = t18;
      _._number_format$_buffer = t19;
      _._zeroOffset = t20;
    },
    NumberFormat_NumberFormat$decimalPattern_closure: function NumberFormat_NumberFormat$decimalPattern_closure() {
    },
    NumberFormatParseResult: function NumberFormatParseResult(t0, t1) {
      var _ = this;
      _.negativePrefix = t0;
      _.positiveSuffix = _.negativeSuffix = _.positivePrefix = "";
      _.multiplier = 1;
      _.minimumExponentDigits = 0;
      _.maximumIntegerDigits = 40;
      _.minimumIntegerDigits = 1;
      _.maximumFractionDigits = 3;
      _.minimumFractionDigits = 0;
      _.finalGroupingSize = _.groupingSize = 3;
      _.useExponentialNotation = _.useSignForPositiveExponent = _.decimalSeparatorAlwaysShown = false;
      _.decimalDigits = t1;
    },
    NumberFormatParser: function NumberFormatParser(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.symbols = t0;
      _.pattern = t1;
      _.isForCurrency = t2;
      _.currencySymbol = t3;
      _.currencyName = t4;
      _.result = t5;
      _.inQuote = _.groupingSizeSetExplicitly = false;
      _.decimalPos = -1;
      _.digitRightCount = _.zeroDigitCount = _.digitLeftCount = 0;
      _.groupingCount = -1;
    },
    StringIterator: function StringIterator(t0) {
      this.input = t0;
      this.nextIndex = 0;
      this._string_iterator$_current = null;
    },
    UninitializedLocaleData$(message, fallbackData, $F) {
      return new A.UninitializedLocaleData(message, fallbackData, A._setArrayType([], type$.JSArray_String), $F._eval$1("UninitializedLocaleData<0>"));
    },
    canonicalizedLocale(aLocale) {
      var t1, region;
      if (aLocale === "C")
        return "en_ISO";
      if (aLocale.length < 5)
        return aLocale;
      t1 = aLocale[2];
      if (t1 !== "-" && t1 !== "_")
        return aLocale;
      region = B.JSString_methods.substring$1(aLocale, 3);
      if (region.length <= 3)
        region = region.toUpperCase();
      return aLocale[0] + aLocale[1] + "_" + region;
    },
    verifiedLocale(newLocale, localeExists, onFailure) {
      var t1, _i, each;
      if (newLocale == null) {
        if (A.defaultLocale() == null)
          $._defaultLocale = "en_US";
        t1 = A.defaultLocale();
        t1.toString;
        return A.verifiedLocale(t1, localeExists, onFailure);
      }
      if (localeExists.call$1(newLocale))
        return newLocale;
      for (t1 = [A.canonicalizedLocale(newLocale), A.shortLocale(newLocale), "fallback"], _i = 0; _i < 3; ++_i) {
        each = t1[_i];
        if (localeExists.call$1(each))
          return each;
      }
      return A._throwLocaleError(newLocale);
    },
    _throwLocaleError(localeName) {
      throw A.wrapException(A.ArgumentError$('Invalid locale "' + localeName + '"', null));
    },
    shortLocale(aLocale) {
      if (aLocale.length < 2)
        return aLocale;
      return B.JSString_methods.substring$2(aLocale, 0, 2).toLowerCase();
    },
    UninitializedLocaleData: function UninitializedLocaleData(t0, t1, t2, t3) {
      var _ = this;
      _.message = t0;
      _.fallbackData = t1;
      _._badMessages = t2;
      _.$ti = t3;
    },
    LocaleDataException: function LocaleDataException(t0) {
      this.message = t0;
    },
    Level: function Level(t0, t1) {
      this.name = t0;
      this.value = t1;
    },
    LogRecord0: function LogRecord0(t0, t1, t2, t3) {
      var _ = this;
      _.level = t0;
      _.message = t1;
      _.loggerName = t2;
      _.time = t3;
    },
    Logger_Logger($name) {
      return $.Logger__loggers.putIfAbsent$2(0, $name, new A.Logger_Logger_closure($name));
    },
    Logger: function Logger(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.parent = t1;
      _._logger$_level = null;
      _._logger$_children = t2;
      _.children = t3;
    },
    Logger_Logger_closure: function Logger_Logger_closure(t0) {
      this.name = t0;
    },
    Element0: function Element0(t0, t1, t2) {
      this.tag = t0;
      this.children = t1;
      this.attributes = t2;
    },
    Element_textContent_closure: function Element_textContent_closure() {
    },
    Text0: function Text0(t0) {
      this.text = t0;
    },
    UnparsedContent: function UnparsedContent(t0) {
      this.textContent = t0;
    },
    BlockParser$(lines, $document) {
      var t1 = type$.JSArray_BlockSyntax,
        t2 = A._setArrayType([], t1);
      t1 = A._setArrayType([B.C_EmptyBlockSyntax, B.C_BlockTagBlockHtmlSyntax, new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<pre(?:\\s|>|$)", true, false), A.RegExp_RegExp("</pre>", true, false)), new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<script(?:\\s|>|$)", true, false), A.RegExp_RegExp("</script>", true, false)), new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<style(?:\\s|>|$)", true, false), A.RegExp_RegExp("</style>", true, false)), new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<!--", true, false), A.RegExp_RegExp("-->", true, false)), new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<\\?", true, false), A.RegExp_RegExp("\\?>", true, false)), new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<![A-Z]", true, false), A.RegExp_RegExp(">", true, false)), new A.LongBlockHtmlSyntax(A.RegExp_RegExp("^ {0,3}<!\\[CDATA\\[", true, false), A.RegExp_RegExp("\\]\\]>", true, false)), B.C_OtherTagBlockHtmlSyntax, B.C_SetextHeaderSyntax, B.C_HeaderSyntax, B.C_CodeBlockSyntax, B.C_BlockquoteSyntax, B.C_HorizontalRuleSyntax, B.C_UnorderedListSyntax, B.C_OrderedListSyntax, B.C_ParagraphSyntax], t1);
      B.JSArray_methods.addAll$1(t2, $document._blockSyntaxes);
      B.JSArray_methods.addAll$1(t2, t1);
      return new A.BlockParser(lines, $document, t2, t1);
    },
    BlockSyntax_isAtBlockEnd(parser) {
      if (parser._pos >= parser.lines.length)
        return true;
      return B.JSArray_methods.any$1(parser.blockSyntaxes, new A.BlockSyntax_isAtBlockEnd_closure(parser));
    },
    ListSyntax__expandedTabLength(input) {
      var t1, t2, $length, t3;
      for (t1 = new A.CodeUnits(input), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"), $length = 0; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        $length += (t3 == null ? t2._as(t3) : t3) === 9 ? 4 - B.JSInt_methods.$mod($length, 4) : 1;
      }
      return $length;
    },
    BlockParser: function BlockParser(t0, t1, t2, t3) {
      var _ = this;
      _.lines = t0;
      _.document = t1;
      _.blockSyntaxes = t2;
      _._pos = 0;
      _.encounteredBlankLine = false;
      _.standardBlockSyntaxes = t3;
    },
    BlockSyntax: function BlockSyntax() {
    },
    BlockSyntax_isAtBlockEnd_closure: function BlockSyntax_isAtBlockEnd_closure(t0) {
      this.parser = t0;
    },
    EmptyBlockSyntax: function EmptyBlockSyntax() {
    },
    SetextHeaderSyntax: function SetextHeaderSyntax() {
    },
    HeaderSyntax: function HeaderSyntax() {
    },
    BlockquoteSyntax: function BlockquoteSyntax() {
    },
    BlockquoteSyntax_parseChildLines_closure: function BlockquoteSyntax_parseChildLines_closure(t0) {
      this.parser = t0;
    },
    CodeBlockSyntax: function CodeBlockSyntax() {
    },
    FencedCodeBlockSyntax: function FencedCodeBlockSyntax() {
    },
    HorizontalRuleSyntax: function HorizontalRuleSyntax() {
    },
    BlockHtmlSyntax: function BlockHtmlSyntax() {
    },
    BlockTagBlockHtmlSyntax: function BlockTagBlockHtmlSyntax() {
    },
    OtherTagBlockHtmlSyntax: function OtherTagBlockHtmlSyntax() {
    },
    LongBlockHtmlSyntax: function LongBlockHtmlSyntax(t0, t1) {
      this.pattern = t0;
      this._endPattern = t1;
    },
    ListItem: function ListItem(t0) {
      this.lines = t0;
    },
    ListSyntax: function ListSyntax() {
    },
    ListSyntax_parse_endItem: function ListSyntax_parse_endItem(t0, t1) {
      this._box_0 = t0;
      this.items = t1;
    },
    ListSyntax_parse_tryMatch: function ListSyntax_parse_tryMatch(t0, t1) {
      this.match = t0;
      this.parser = t1;
    },
    UnorderedListSyntax: function UnorderedListSyntax() {
    },
    OrderedListSyntax: function OrderedListSyntax() {
    },
    TableSyntax: function TableSyntax() {
    },
    TableSyntax__parseAlignments_closure: function TableSyntax__parseAlignments_closure() {
    },
    ParagraphSyntax: function ParagraphSyntax() {
    },
    ParagraphSyntax__extractReflinkDefinitions_lineStartsReflinkDefinition: function ParagraphSyntax__extractReflinkDefinitions_lineStartsReflinkDefinition(t0) {
      this.lines = t0;
    },
    ParagraphSyntax__parseReflinkDefinition_closure: function ParagraphSyntax__parseReflinkDefinition_closure(t0, t1) {
      this._box_0 = t0;
      this.destination = t1;
    },
    Document: function Document(t0, t1, t2, t3, t4) {
      var _ = this;
      _.linkReferences = t0;
      _.encodeHtml = t1;
      _._blockSyntaxes = t2;
      _._inlineSyntaxes = t3;
      _.hasCustomInlineSyntaxes = t4;
    },
    LinkReference: function LinkReference(t0, t1) {
      this.destination = t0;
      this.title = t1;
    },
    ExtensionSet$(blockSyntaxes, inlineSyntaxes) {
      return new A.ExtensionSet(blockSyntaxes, inlineSyntaxes);
    },
    ExtensionSet: function ExtensionSet(t0, t1) {
      this.blockSyntaxes = t0;
      this.inlineSyntaxes = t1;
    },
    TextSyntax$(pattern, startCharacter, sub) {
      return new A.TextSyntax(sub, A.RegExp_RegExp(pattern, true, true), startCharacter);
    },
    InlineHtmlSyntax$() {
      return new A.InlineHtmlSyntax("", A.RegExp_RegExp("<[/!?]?[A-Za-z][A-Za-z0-9-]*(?:\\s[^>]*)?>", true, true), 60);
    },
    DelimiterRun_tryParse(parser, runStart, runEnd, allowIntraWord, node, syntax) {
      var leftFlanking, rightFlanking, t3, _s4_ = " \t\r\n",
        preceding = runStart === 0 ? "\n" : B.JSString_methods.substring$2(parser.source, runStart - 1, runStart),
        t1 = $.$get$DelimiterRun_punctuation()._nativeRegExp,
        precededByPunctuation = t1.test(preceding),
        t2 = parser.source,
        following = runEnd === t2.length ? "\n" : B.JSString_methods.substring$2(t2, runEnd, runEnd + 1),
        followedByPunctuation = t1.test(following);
      t1 = B.JSString_methods.contains$1(_s4_, following);
      if (t1)
        leftFlanking = false;
      else
        leftFlanking = !followedByPunctuation || B.JSString_methods.contains$1(_s4_, preceding) || precededByPunctuation || allowIntraWord;
      if (B.JSString_methods.contains$1(_s4_, preceding))
        rightFlanking = false;
      else
        rightFlanking = !precededByPunctuation || t1 || followedByPunctuation || allowIntraWord;
      if (!leftFlanking && !rightFlanking)
        return null;
      t1 = B.JSString_methods.codeUnitAt$1(t2, runStart);
      if (leftFlanking)
        t2 = t1 === 42 || !rightFlanking || allowIntraWord || precededByPunctuation;
      else
        t2 = false;
      if (rightFlanking)
        t3 = t1 === 42 || !leftFlanking || allowIntraWord || followedByPunctuation;
      else
        t3 = false;
      return new A.DelimiterRun(node, t1, syntax, t2, t3);
    },
    TagSyntax$(pattern, allowIntraWord, requiresDelimiterRun, startCharacter) {
      return new A.TagSyntax(requiresDelimiterRun, allowIntraWord, A.RegExp_RegExp(pattern, true, true), startCharacter);
    },
    LinkSyntax$(linkResolver, pattern, startCharacter) {
      return new A.LinkSyntax(new A.LinkSyntax_closure(), false, false, A.RegExp_RegExp(pattern, true, true), startCharacter);
    },
    ImageSyntax$(linkResolver) {
      return new A.ImageSyntax(new A.LinkSyntax_closure(), false, false, A.RegExp_RegExp("!\\[", true, true), 33);
    },
    InlineParser: function InlineParser(t0, t1, t2, t3, t4) {
      var _ = this;
      _.source = t0;
      _.document = t1;
      _.syntaxes = t2;
      _.start = _.pos = 0;
      _._delimiterStack = t3;
      _._inline_parser$_tree = t4;
    },
    InlineParser_parse_closure: function InlineParser_parse_closure(t0) {
      this.$this = t0;
    },
    InlineParser__linkOrImage_closure: function InlineParser__linkOrImage_closure() {
    },
    InlineParser__linkOrImage_closure0: function InlineParser__linkOrImage_closure0() {
    },
    InlineParser__linkOrImage_closure1: function InlineParser__linkOrImage_closure1(t0) {
      this.delimiter = t0;
    },
    InlineParser__linkOrImage_closure2: function InlineParser__linkOrImage_closure2(t0, t1, t2) {
      this.$this = t0;
      this.index = t1;
      this.nodeIndex = t2;
    },
    InlineParser__processEmphasis_closure: function InlineParser__processEmphasis_closure(t0) {
      this.bottomIndex = t0;
    },
    InlineParser__processEmphasis_closure0: function InlineParser__processEmphasis_closure0(t0, t1) {
      this.$this = t0;
      this.closer = t1;
    },
    InlineParser__processEmphasis_closure1: function InlineParser__processEmphasis_closure1(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.openerTextNodeIndex = t2;
    },
    InlineSyntax: function InlineSyntax() {
    },
    LineBreakSyntax: function LineBreakSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    TextSyntax: function TextSyntax(t0, t1, t2) {
      this.substitute = t0;
      this.pattern = t1;
      this._startCharacter = t2;
    },
    EscapeSyntax: function EscapeSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    InlineHtmlSyntax: function InlineHtmlSyntax(t0, t1, t2) {
      this.substitute = t0;
      this.pattern = t1;
      this._startCharacter = t2;
    },
    EmailAutolinkSyntax: function EmailAutolinkSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    AutolinkSyntax: function AutolinkSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    AutolinkExtensionSyntax: function AutolinkExtensionSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    SimpleDelimiter: function SimpleDelimiter(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.node = t0;
      _.char = t1;
      _.length = t2;
      _.isActive = true;
      _.canOpen = t3;
      _.canClose = t4;
      _.syntax = t5;
      _.endPos = t6;
    },
    DelimiterRun: function DelimiterRun(t0, t1, t2, t3, t4) {
      var _ = this;
      _.node = t0;
      _.char = t1;
      _.syntax = t2;
      _.canOpen = t3;
      _.canClose = t4;
    },
    TagSyntax: function TagSyntax(t0, t1, t2, t3) {
      var _ = this;
      _.requiresDelimiterRun = t0;
      _.allowIntraWord = t1;
      _.pattern = t2;
      _._startCharacter = t3;
    },
    StrikethroughSyntax: function StrikethroughSyntax(t0, t1, t2, t3) {
      var _ = this;
      _.requiresDelimiterRun = t0;
      _.allowIntraWord = t1;
      _.pattern = t2;
      _._startCharacter = t3;
    },
    LinkSyntax: function LinkSyntax(t0, t1, t2, t3, t4) {
      var _ = this;
      _.linkResolver = t0;
      _.requiresDelimiterRun = t1;
      _.allowIntraWord = t2;
      _.pattern = t3;
      _._startCharacter = t4;
    },
    LinkSyntax_closure: function LinkSyntax_closure() {
    },
    ImageSyntax: function ImageSyntax(t0, t1, t2, t3, t4) {
      var _ = this;
      _.linkResolver = t0;
      _.requiresDelimiterRun = t1;
      _.allowIntraWord = t2;
      _.pattern = t3;
      _._startCharacter = t4;
    },
    ImageSyntax__createNode_closure: function ImageSyntax__createNode_closure() {
    },
    CodeSyntax: function CodeSyntax(t0, t1) {
      this.pattern = t0;
      this._startCharacter = t1;
    },
    InlineLink: function InlineLink(t0, t1) {
      this.destination = t0;
      this.title = t1;
    },
    SingleChildStatelessElement$(widget) {
      return new A.SingleChildStatelessElement(null, widget, B._ElementLifecycle_0);
    },
    Nested: function Nested() {
    },
    _NestedElement: function _NestedElement(t0, t1, t2, t3) {
      var _ = this;
      _.nodes = t0;
      _.SingleChildWidgetElementMixin__parent = t1;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t2;
      _._framework$_owner = null;
      _._lifecycleState = t3;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _NestedHook: function _NestedHook(t0, t1, t2, t3) {
      var _ = this;
      _.wrappedWidget = t0;
      _.injectedChild = t1;
      _.owner = t2;
      _.key = t3;
    },
    _NestedHookElement: function _NestedHookElement(t0, t1) {
      var _ = this;
      _._framework$_child = _._wrappedChild = _._injectedChild = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t0;
      _._framework$_owner = null;
      _._lifecycleState = t1;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _NestedHookElement_injectedChild_closure: function _NestedHookElement_injectedChild_closure() {
    },
    SingleChildWidgetElementMixin: function SingleChildWidgetElementMixin() {
    },
    _SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure: function _SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure(t0) {
      this.$this = t0;
    },
    __NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure: function __NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure(t0) {
      this.$this = t0;
    },
    SingleChildStatelessWidget: function SingleChildStatelessWidget() {
    },
    SingleChildStatelessElement: function SingleChildStatelessElement(t0, t1, t2) {
      var _ = this;
      _.SingleChildWidgetElementMixin__parent = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
    },
    _SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin: function _SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin() {
    },
    __NestedElement_StatelessElement_SingleChildWidgetElementMixin: function __NestedElement_StatelessElement_SingleChildWidgetElementMixin() {
    },
    Context_Context(style) {
      var current = style == null ? A.current() : ".";
      if (style == null)
        style = $.$get$Style_platform();
      return new A.Context(type$.InternalStyle._as(style), current);
    },
    _parseUri(uri) {
      if (type$.Uri._is(uri))
        return uri;
      throw A.wrapException(A.ArgumentError$value(uri, "uri", "Value must be a String or a Uri"));
    },
    _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, new A._validateArgList_closure(), t3._eval$1("MappedListIterable<ListIterable.E,String>")).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() {
    },
    Context_split_closure: function Context_split_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),
        isRootRelative = 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))) {
        separators.push(path[0]);
        start = 1;
      } else {
        separators.push("");
        start = 0;
      }
      for (i = start; i < t1; ++i)
        if (style.isSeparator$1(B.JSString_methods._codeUnitAt$1(path, i))) {
          parts.push(B.JSString_methods.substring$2(path, start, i));
          separators.push(path[i]);
          start = i + 1;
        }
      if (start < t1) {
        parts.push(B.JSString_methods.substring$1(path, start));
        separators.push("");
      }
      return new A.ParsedPath(style, root, isRootRelative, parts, separators);
    },
    ParsedPath: function ParsedPath(t0, t1, t2, t3, t4) {
      var _ = this;
      _.style = t0;
      _.root = t1;
      _.isRootRelative = t2;
      _.parts = t3;
      _.separators = t4;
    },
    ParsedPath__splitExtension_closure: function ParsedPath__splitExtension_closure() {
    },
    ParsedPath__splitExtension_closure0: function ParsedPath__splitExtension_closure0() {
    },
    PathException$(message) {
      return new A.PathException(message);
    },
    PathException: function PathException(t0) {
      this.message = t0;
    },
    Style__getPlatformStyle() {
      var t1, _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();
      if (A._Uri__Uri(_null, _null, "a/b", _null, _null, _null, _null, _null, _null).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;
    },
    WindowsStyle_absolutePathToUri_closure: function WindowsStyle_absolutePathToUri_closure() {
    },
    PlatformInterface__verify(instance, token, preventConstObject) {
      var t1 = instance._instanceToken;
      if (t1 === B.C_Object)
        throw A.wrapException(A.AssertionError$("`const Object()` cannot be used as the token."));
      if (token !== t1)
        throw A.wrapException(A.AssertionError$("Platform interfaces must not be implemented with `implements`"));
    },
    PlatformInterface: function PlatformInterface() {
    },
    Pool: function Pool(t0, t1, t2, t3, t4) {
      var _ = this;
      _._requestedResources = t0;
      _._onReleaseCallbacks = t1;
      _._onReleaseCompleters = t2;
      _._maxAllocatedResources = t3;
      _._allocatedResources = 0;
      _._pool$_timer = null;
      _._closeMemo = t4;
    },
    Pool__runOnRelease_closure: function Pool__runOnRelease_closure(t0) {
      this.$this = t0;
    },
    Pool__runOnRelease_closure0: function Pool__runOnRelease_closure0(t0) {
      this.$this = t0;
    },
    PoolResource: function PoolResource(t0) {
      this._pool = t0;
      this._released = false;
    },
    MultiProvider$(child, providers) {
      return new A.MultiProvider(providers, child, null);
    },
    Provider$(child, create, $T) {
      var _null = null;
      return new A.Provider(new A._CreateInheritedProvider(create, _null, _null, new A.Provider_closure($T), _null, _null, $T._eval$1("_CreateInheritedProvider<0>")), _null, _null, child, _null, $T._eval$1("Provider<0>"));
    },
    Provider$value(builder, child, value, $T) {
      var _null = null;
      return new A.Provider(new A._ValueInheritedProvider(value, _null, _null, $T._eval$1("_ValueInheritedProvider<0>")), _null, builder, child, _null, $T._eval$1("Provider<0>"));
    },
    Provider_of(context, listen, $T) {
      var value,
        inheritedElement = $T._eval$1("_InheritedProviderScopeElement<0?>?")._as(context.getElementForInheritedWidgetOfExactType$1$0($T._eval$1("_InheritedProviderScope<0?>"))),
        t1 = inheritedElement == null;
      if (t1 && !$T._is(null))
        A.throwExpression(new A.ProviderNotFoundException(A.createRuntimeType($T), A.getRuntimeType(context.get$widget())));
      if (listen)
        context.dependOnInheritedWidgetOfExactType$1$0($T._eval$1("_InheritedProviderScope<0?>"));
      if (t1)
        value = null;
      else {
        t1 = inheritedElement.get$_delegateState();
        value = t1.get$value(t1);
      }
      if ($.$get$_isSoundMode()) {
        if (!$T._is(value))
          throw A.wrapException(new A.ProviderNullException(A.createRuntimeType($T), A.getRuntimeType(context.get$widget())));
        return value;
      }
      return value == null ? $T._as(value) : value;
    },
    InheritedProvider: function InheritedProvider() {
    },
    InheritedProvider_buildWithChild_closure: function InheritedProvider_buildWithChild_closure(t0, t1) {
      this.$this = t0;
      this.child = t1;
    },
    _InheritedProviderElement: function _InheritedProviderElement(t0, t1, t2, t3) {
      var _ = this;
      _.SingleChildWidgetElementMixin__parent = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t3;
    },
    _InheritedProviderScope: function _InheritedProviderScope(t0, t1, t2, t3, t4) {
      var _ = this;
      _.owner = t0;
      _.debugType = t1;
      _.child = t2;
      _.key = t3;
      _.$ti = t4;
    },
    _Dependency: function _Dependency(t0, t1) {
      var _ = this;
      _.shouldClearMutationScheduled = _.shouldClearSelectors = false;
      _.selectors = t0;
      _.$ti = t1;
    },
    _InheritedProviderScopeElement: function _InheritedProviderScopeElement(t0, t1, t2, t3) {
      var _ = this;
      _._isBuildFromExternalSources = _._updatedShouldNotify = _._debugInheritLocked = _._shouldNotifyDependents = false;
      _.___InheritedProviderScopeElement__debugId = _.___InheritedProviderScopeElement__delegateState = $;
      _._dependents = t0;
      _._framework$_child = null;
      _._debugDoingBuild = false;
      _._slot = _._notificationTree = _._debugReassembleConfig = _._framework$_parent = null;
      _.__Element__depth = $;
      _._widget = t1;
      _._framework$_owner = null;
      _._lifecycleState = t2;
      _._dependencies = _._inheritedWidgets = null;
      _._hadUnsatisfiedDependencies = false;
      _._dirty = true;
      _._debugAllowIgnoredCallsToMarkNeedsBuild = _._debugBuiltOnce = _._inDirtyList = false;
      _.$ti = t3;
    },
    _InheritedProviderScopeElement_getElementForInheritedWidgetOfExactType_closure: function _InheritedProviderScopeElement_getElementForInheritedWidgetOfExactType_closure(t0, t1) {
      this._box_0 = t0;
      this.InheritedWidgetType = t1;
    },
    _InheritedProviderScopeElement_updateDependencies_closure: function _InheritedProviderScopeElement_updateDependencies_closure(t0) {
      this.selectorDependency = t0;
    },
    _Delegate: function _Delegate() {
    },
    _DelegateState: function _DelegateState() {
    },
    _CreateInheritedProvider: function _CreateInheritedProvider(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.create = t0;
      _.update = t1;
      _._updateShouldNotify = t2;
      _.debugCheckInvalidValueType = t3;
      _.startListening = t4;
      _.dispose = t5;
      _.$ti = t6;
    },
    _CreateInheritedProviderState: function _CreateInheritedProviderState(t0) {
      var _ = this;
      _._removeListener = null;
      _._didInitValue = false;
      _.element = _._initError = _._previousWidget = _._provider$_value = null;
      _.$ti = t0;
    },
    _ValueInheritedProvider: function _ValueInheritedProvider(t0, t1, t2, t3) {
      var _ = this;
      _.value = t0;
      _._updateShouldNotify = t1;
      _.startListening = t2;
      _.$ti = t3;
    },
    _ValueInheritedProviderState: function _ValueInheritedProviderState(t0) {
      this.element = this._removeListener = null;
      this.$ti = t0;
    },
    MultiProvider: function MultiProvider(t0, t1, t2) {
      this._nested$_children = t0;
      this._nested$_child = t1;
      this.key = t2;
    },
    Provider: function Provider(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._provider$_delegate = t0;
      _._lazy = t1;
      _.builder = t2;
      _._nested$_child = t3;
      _.key = t4;
      _.$ti = t5;
    },
    Provider_closure: function Provider_closure(t0) {
      this.T = t0;
    },
    Provider_debugCheckInvalidValueType_closure: function Provider_debugCheckInvalidValueType_closure() {
    },
    ProviderNullException: function ProviderNullException(t0, t1) {
      this.valueType = t0;
      this.widgetType = t1;
    },
    ProviderNotFoundException: function ProviderNotFoundException(t0, t1) {
      this.valueType = t0;
      this.widgetType = t1;
    },
    AsyncValueAsFutureProvider$(_provider, argument, from, State) {
      var t1 = _provider.name;
      t1 = t1 == null ? null : t1 + ".future";
      return new A.AsyncValueAsFutureProvider(_provider, t1, from, argument, State._eval$1("AsyncValueAsFutureProvider<0>"));
    },
    _asyncValueAsFuture(provider, ref, State) {
      var t1 = {};
      t1.loadingCompleter = null;
      ref.onDispose$1(new A._asyncValueAsFuture_closure(t1, provider));
      ref.listen$3$fireImmediately(provider, new A._asyncValueAsFuture_listener(t1, ref, State), true);
      return ref.get$requireState();
    },
    AsyncValueAsFutureProvider: function AsyncValueAsFutureProvider(t0, t1, t2, t3, t4) {
      var _ = this;
      _._async_value_converters$_provider = t0;
      _.__AsyncValueAsFutureProvider_dependencies = $;
      _.name = t1;
      _.from = t2;
      _.argument = t3;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t4;
    },
    AutoDisposeAsyncValueAsFutureProvider: function AutoDisposeAsyncValueAsFutureProvider(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._async_value_converters$_provider = t0;
      _.__AutoDisposeAsyncValueAsFutureProvider_dependencies = $;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.name = t3;
      _.from = t4;
      _.argument = t5;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t6;
    },
    _asyncValueAsFuture_closure: function _asyncValueAsFuture_closure(t0, t1) {
      this._box_0 = t0;
      this.provider = t1;
    },
    _asyncValueAsFuture_listener: function _asyncValueAsFuture_listener(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.State = t2;
    },
    _asyncValueAsFuture_listener_closure1: function _asyncValueAsFuture_listener_closure1(t0) {
      this.State = t0;
    },
    _asyncValueAsFuture_listener_closure: function _asyncValueAsFuture_listener_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.State = t2;
    },
    _asyncValueAsFuture_listener_closure0: function _asyncValueAsFuture_listener_closure0(t0, t1, t2) {
      this._box_0 = t0;
      this.ref = t1;
      this.State = t2;
    },
    AutoDisposeProviderBuilder: function AutoDisposeProviderBuilder() {
    },
    modifierName(from, modifier) {
      return from == null ? null : from + "." + modifier;
    },
    AsyncData$(value, $T) {
      return new A.AsyncData(value, false, null, null, $T._eval$1("AsyncData<0>"));
    },
    AsyncError$0(error, stackTrace, $T) {
      return new A.AsyncError0(false, false, null, error, stackTrace, $T._eval$1("AsyncError0<0>"));
    },
    AsyncValueX_get_valueOrNull(_this) {
      if (_this.get$hasValue())
        return _this.get$value(_this);
      return null;
    },
    AsyncValueX_get_isRefreshing(_this) {
      var t1;
      if (_this.get$isLoading())
        t1 = _this.get$hasValue() || _this.get$error(_this) != null;
      else
        t1 = false;
      return t1;
    },
    AsyncValueX_get_asData(_this, $T) {
      return _this.map$3$data$error$loading(0, new A.AsyncValueX_get_asData_closure($T), new A.AsyncValueX_get_asData_closure0($T), new A.AsyncValueX_get_asData_closure1($T));
    },
    AsyncValueX_when(_this, data, error, loading, $T, $R) {
      return _this.map$3$data$error$loading(0, new A.AsyncValueX_when_closure(data, $T, $R), new A.AsyncValueX_when_closure0(error, $T, $R), new A.AsyncValueX_when_closure1(loading, $T, $R));
    },
    AsyncValue: function AsyncValue() {
    },
    AsyncValue_unwrapPrevious_closure: function AsyncValue_unwrapPrevious_closure(t0) {
      this.$this = t0;
    },
    AsyncValue_unwrapPrevious_closure0: function AsyncValue_unwrapPrevious_closure0(t0) {
      this.$this = t0;
    },
    AsyncValue_unwrapPrevious_closure1: function AsyncValue_unwrapPrevious_closure1(t0) {
      this.$this = t0;
    },
    AsyncData: function AsyncData(t0, t1, t2, t3, t4) {
      var _ = this;
      _.value = t0;
      _.isLoading = t1;
      _.error = t2;
      _.stackTrace = t3;
      _.$ti = t4;
    },
    AsyncLoading: function AsyncLoading(t0) {
      this.$ti = t0;
    },
    AsyncLoading_copyWithPrevious_closure: function AsyncLoading_copyWithPrevious_closure(t0) {
      this.$this = t0;
    },
    AsyncLoading_copyWithPrevious_closure0: function AsyncLoading_copyWithPrevious_closure0(t0) {
      this.$this = t0;
    },
    AsyncLoading_copyWithPrevious_closure1: function AsyncLoading_copyWithPrevious_closure1(t0) {
      this.$this = t0;
    },
    AsyncError0: function AsyncError0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.isLoading = t0;
      _.hasValue = t1;
      _._common$_value = t2;
      _.error = t3;
      _.stackTrace = t4;
      _.$ti = t5;
    },
    AsyncValueX_get_asData_closure: function AsyncValueX_get_asData_closure(t0) {
      this.T = t0;
    },
    AsyncValueX_get_asData_closure0: function AsyncValueX_get_asData_closure0(t0) {
      this.T = t0;
    },
    AsyncValueX_get_asData_closure1: function AsyncValueX_get_asData_closure1(t0) {
      this.T = t0;
    },
    AsyncValueX_when_closure: function AsyncValueX_when_closure(t0, t1, t2) {
      this.data = t0;
      this.T = t1;
      this.R = t2;
    },
    AsyncValueX_when_closure0: function AsyncValueX_when_closure0(t0, t1, t2) {
      this.error = t0;
      this.T = t1;
      this.R = t2;
    },
    AsyncValueX_when_closure1: function AsyncValueX_when_closure1(t0, t1, t2) {
      this.loading = t0;
      this.T = t1;
      this.R = t2;
    },
    _runGuarded0(cb) {
      var err, stack, exception;
      try {
        cb.call$0();
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _runUnaryGuarded(cb, value) {
      var err, stack, exception;
      try {
        cb.call$1(value);
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _runBinaryGuarded(cb, value, value2) {
      var err, stack, exception;
      try {
        cb.call$2(value, value2);
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _runTernaryGuarded(cb, value, value2, value3) {
      var err, stack, exception;
      try {
        cb.call$3(value, value2, value3);
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _runQuaternaryGuarded(cb, value, value2, value3, value4) {
      var err, stack, exception;
      try {
        cb.call$4(value, value2, value3, value4);
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        $.Zone__current.handleUncaughtError$2(err, stack);
      }
    },
    _defaultVsync(task) {
      A.Future_Future(task, type$.void);
    },
    ProviderContainer$(cacheTime, disposeDelay, observers, overrides, $parent) {
      var t8, t9, t10, t11, _null = null,
        t1 = A._setArrayType([], type$.JSArray_ProviderContainer),
        t2 = type$.ProviderBase_dynamic,
        t3 = A.HashMap_HashMap(_null, _null, _null, t2, t2),
        t4 = A.HashMap_HashMap(_null, _null, _null, type$.Family_of_dynamic_and_dynamic_and_ProviderBase_dynamic, type$._FamilyOverrideRef),
        t5 = $parent == null,
        t6 = t5 ? 0 : $parent.depth + 1,
        t7 = t5 ? _null : $parent.cacheTime;
      if (t7 == null)
        t7 = B.Duration_0;
      t8 = t5 ? _null : $parent.disposeDelay;
      if (t8 == null)
        t8 = B.Duration_0;
      t9 = A._setArrayType([], type$.JSArray_ProviderObserver);
      B.JSArray_methods.addAll$1(t9, observers);
      t10 = !t5;
      if (t10)
        B.JSArray_methods.addAll$1(t9, $parent._observers);
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$._StateReader);
      if (t10)
        for (t10 = $parent._stateReaders, t10 = t10.get$entries(t10), t10 = t10.get$iterator(t10); t10.moveNext$0();) {
          t11 = t10.get$current(t10);
          if (!t11.get$value(t11).isDynamicallyCreated)
            t2.$indexSet(0, t11.get$key(t11), t11.get$value(t11));
        }
      t5 = t5 ? _null : $parent._root;
      t1 = new A.ProviderContainer(t7, t8, 0, t6, t5 == null ? $parent : t5, $parent, t1, t3, t4, t2, t9);
      t1.ProviderContainer$5$cacheTime$disposeDelay$observers$overrides$parent(cacheTime, disposeDelay, observers, overrides, $parent);
      return t1;
    },
    _allTransitiveDependencies(dependencies) {
      var t1 = type$.ProviderOrFamily,
        result = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      J.forEach$1$ax(dependencies, new A._allTransitiveDependencies_visitDependency(result));
      return A.List_List$unmodifiable(result, t1);
    },
    handleFireImmediately(currentState, listener, onError, State) {
      currentState.map$2$data$error(0, new A.handleFireImmediately_closure(listener, State), new A.handleFireImmediately_closure0(onError, State));
    },
    AlwaysAliveProviderListenable: function AlwaysAliveProviderListenable() {
    },
    AlwaysAliveProviderBase: function AlwaysAliveProviderBase() {
    },
    AutoDisposeProviderBase: function AutoDisposeProviderBase() {
    },
    AutoDisposeProviderElementBase: function AutoDisposeProviderElementBase() {
    },
    AutoDisposeProviderElementBase_keepAlive_closure: function AutoDisposeProviderElementBase_keepAlive_closure(t0, t1) {
      this.$this = t0;
      this.link = t1;
    },
    AutoDisposeProviderElementBase__buildState_closure: function AutoDisposeProviderElementBase__buildState_closure(t0) {
      this.$this = t0;
    },
    AutoDisposeProviderElementBase__buildState__closure1: function AutoDisposeProviderElementBase__buildState__closure1(t0) {
      this.$this = t0;
    },
    AutoDisposeProviderElementBase__buildState_closure0: function AutoDisposeProviderElementBase__buildState_closure0(t0) {
      this.$this = t0;
    },
    AutoDisposeProviderElementBase__buildState_closure1: function AutoDisposeProviderElementBase__buildState_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    AutoDisposeProviderElementBase__buildState__closure0: function AutoDisposeProviderElementBase__buildState__closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    AutoDisposeProviderElementBase__buildState_closure2: function AutoDisposeProviderElementBase__buildState_closure2(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    AutoDisposeProviderElementBase__buildState__closure: function AutoDisposeProviderElementBase__buildState__closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    KeepAliveLink: function KeepAliveLink(t0) {
      this._framework0$_close = t0;
    },
    _StateReader: function _StateReader(t0, t1, t2, t3) {
      var _ = this;
      _.origin = t0;
      _.override = t1;
      _.container = t2;
      _.isDynamicallyCreated = t3;
      _._framework0$_element = null;
    },
    _StateReader__create_closure: function _StateReader__create_closure(t0) {
      this.$this = t0;
    },
    _StateReader__create_closure0: function _StateReader__create_closure0(t0) {
      this.$this = t0;
    },
    ProviderContainer: function ProviderContainer(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.cacheTime = t0;
      _.disposeDelay = t1;
      _._debugOverridesLength = t2;
      _.vsyncOverride = null;
      _.__ProviderContainer__debugId = _.__ProviderContainer__scheduler = $;
      _.depth = t3;
      _._root = t4;
      _._framework0$_parent = t5;
      _._framework0$_children = t6;
      _._overrideForProvider = t7;
      _._overrideForFamily = t8;
      _._stateReaders = t9;
      _._observers = t10;
      _.debugCanModifyProviders = null;
      _._framework0$_disposed = false;
    },
    ProviderContainer__disposeProvider_removeStateReaderFrom: function ProviderContainer__disposeProvider_removeStateReaderFrom(t0) {
      this.element = t0;
    },
    ProviderContainer__getStateReader_getReader: function ProviderContainer__getStateReader_getReader(t0, t1) {
      this.$this = t0;
      this.provider = t1;
    },
    ProviderContainer__getStateReader_getReader_setupOverride: function ProviderContainer__getStateReader_getReader_setupOverride(t0) {
      this.familyOverrideRef = t0;
    },
    ProviderContainer__getStateReader_getReader_closure: function ProviderContainer__getStateReader_getReader_closure(t0) {
      this.$this = t0;
    },
    ProviderContainer__getStateReader_getReader_closure0: function ProviderContainer__getStateReader_getReader_closure0() {
    },
    ProviderContainer__getStateReader_getReader_closure1: function ProviderContainer__getStateReader_getReader_closure1() {
    },
    ProviderContainer__getStateReader_getReader_closure2: function ProviderContainer__getStateReader_getReader_closure2(t0, t1) {
      this.provider = t0;
      this.deepestOverrideContainer = t1;
    },
    ProviderContainer_getAllProviderElementsInOrder_closure: function ProviderContainer_getAllProviderElementsInOrder_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    ProviderContainer_getAllProviderElementsInOrder_closure0: function ProviderContainer_getAllProviderElementsInOrder_closure0(t0, t1, t2) {
      this.$this = t0;
      this.visitedNodes = t1;
      this.queue = t2;
    },
    ProviderContainer_getAllProviderElementsInOrder__closure: function ProviderContainer_getAllProviderElementsInOrder__closure(t0, t1, t2) {
      this._box_1 = t0;
      this.$this = t1;
      this.visitedNodes = t2;
    },
    ProviderObserver: function ProviderObserver() {
    },
    CircularDependencyError: function CircularDependencyError() {
    },
    Family: function Family() {
    },
    ProviderOrFamily: function ProviderOrFamily() {
    },
    _allTransitiveDependencies_visitDependency: function _allTransitiveDependencies_visitDependency(t0) {
      this.result = t0;
    },
    ProviderListenable: function ProviderListenable() {
    },
    handleFireImmediately_closure: function handleFireImmediately_closure(t0, t1) {
      this.listener = t0;
      this.State = t1;
    },
    handleFireImmediately_closure0: function handleFireImmediately_closure0(t0, t1) {
      this.onError = t0;
      this.State = t1;
    },
    ProviderBase: function ProviderBase() {
    },
    _ProviderSubscription: function _ProviderSubscription(t0, t1, t2, t3) {
      var _ = this;
      _._listener = t0;
      _._listenedElement = t1;
      _.onError = t2;
      _._framework0$_closed = false;
      _.$ti = t3;
    },
    _ProviderListener: function _ProviderListener(t0, t1, t2, t3, t4) {
      var _ = this;
      _.listener = t0;
      _.dependentElement = t1;
      _.listenedElement = t2;
      _.onError = t3;
      _.$ti = t4;
    },
    ProviderElementBase: function ProviderElementBase() {
    },
    ProviderElementBase_requireState_closure0: function ProviderElementBase_requireState_closure0(t0) {
      this.$this = t0;
    },
    ProviderElementBase_requireState_closure: function ProviderElementBase_requireState_closure(t0) {
      this.$this = t0;
    },
    ProviderElementBase_mount_closure: function ProviderElementBase_mount_closure(t0) {
      this.$this = t0;
    },
    ProviderElementBase_mount_closure0: function ProviderElementBase_mount_closure0(t0) {
      this.$this = t0;
    },
    ProviderElementBase_invalidateSelf_closure: function ProviderElementBase_invalidateSelf_closure() {
    },
    ProviderElementBase__maybeRebuildDependencies_closure: function ProviderElementBase__maybeRebuildDependencies_closure() {
    },
    ProviderElementBase__notifyListeners_closure: function ProviderElementBase__notifyListeners_closure(t0, t1) {
      this.$this = t0;
      this.previousState = t1;
    },
    ProviderElementBase__notifyListeners_closure0: function ProviderElementBase__notifyListeners_closure0(t0) {
      this.$this = t0;
    },
    ProviderElementBase__notifyListeners_closure1: function ProviderElementBase__notifyListeners_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.listeners = t1;
      _.previousState = t2;
      _.subscribers = t3;
    },
    ProviderElementBase__notifyListeners_closure2: function ProviderElementBase__notifyListeners_closure2(t0, t1, t2) {
      this.$this = t0;
      this.listeners = t1;
      this.subscribers = t2;
    },
    ProviderElementBase__notifyListeners_closure3: function ProviderElementBase__notifyListeners_closure3(t0) {
      this.$this = t0;
    },
    ProviderElementBase__notifyListeners_closure4: function ProviderElementBase__notifyListeners_closure4(t0, t1) {
      this.$this = t0;
      this.observer = t1;
    },
    ProviderElementBase__markDependencyMayHaveChanged_closure: function ProviderElementBase__markDependencyMayHaveChanged_closure() {
    },
    ProviderElementBase_watch_closure: function ProviderElementBase_watch_closure(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.firstValue = t2;
      _.T = t3;
    },
    ProviderElementBase_watch_closure0: function ProviderElementBase_watch_closure0(t0, t1, t2, t3) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.firstValue = t2;
      _.T = t3;
    },
    ProviderElementBase_watch_closure1: function ProviderElementBase_watch_closure1(t0, t1) {
      this.$this = t0;
      this.element = t1;
    },
    ProviderElementBase__createSubscription_closure: function ProviderElementBase__createSubscription_closure(t0, t1) {
      this.listener = t0;
      this.T = t1;
    },
    OverrideWithValueMixin: function OverrideWithValueMixin() {
    },
    OverrideWithProviderMixin: function OverrideWithProviderMixin() {
    },
    ResultData: function ResultData(t0, t1) {
      this.state = t0;
      this.$ti = t1;
    },
    ResultError: function ResultError(t0, t1, t2) {
      this.error = t0;
      this.stackTrace = t1;
      this.$ti = t2;
    },
    _ProviderScheduler: function _ProviderScheduler(t0, t1, t2) {
      var _ = this;
      _.vsync = t0;
      _._stateToDispose = t1;
      _._stateToRefresh = t2;
      _._pendingTaskCompleter = null;
    },
    _AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable: function _AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable() {
    },
    _ProviderBase_ProviderOrFamily_ProviderListenable: function _ProviderBase_ProviderOrFamily_ProviderListenable() {
    },
    AutoDisposeFutureProvider$(_create, argument, cacheTime, disposeDelay, from, $name, State) {
      return new A.AutoDisposeFutureProvider(_create, cacheTime, disposeDelay, $name, from, argument, State._eval$1("AutoDisposeFutureProvider<0>"));
    },
    AutoDisposeFutureProviderFamily$(_create, $name, State, Arg) {
      return new A.AutoDisposeFutureProviderFamily(_create, null, null, null, $name, State._eval$1("@<0>")._bind$1(Arg)._eval$1("AutoDisposeFutureProviderFamily<1,2>"));
    },
    _FutureProviderElementMixin: function _FutureProviderElementMixin() {
    },
    _FutureProviderElementMixin__listenFuture_closure: function _FutureProviderElementMixin__listenFuture_closure(t0) {
      this._box_0 = t0;
    },
    _FutureProviderElementMixin__listenFuture_closure0: function _FutureProviderElementMixin__listenFuture_closure0(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _FutureProviderElementMixin__listenFuture_closure1: function _FutureProviderElementMixin__listenFuture_closure1(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    AutoDisposeFutureProvider: function AutoDisposeFutureProvider(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._future_provider$_create = t0;
      _.__AutoDisposeFutureProvider_future = $;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.name = t3;
      _.from = t4;
      _.argument = t5;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t6;
    },
    AutoDisposeFutureProvider_create_closure: function AutoDisposeFutureProvider_create_closure(t0, t1) {
      this.$this = t0;
      this.ref = t1;
    },
    AutoDisposeFutureProviderElement: function AutoDisposeFutureProviderElement(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._keepAliveLinks = t0;
      _.__AutoDisposeProviderElementBase__disposeDelay = _.__AutoDisposeProviderElementBase__cacheTime = $;
      _._disposeDelayTimer = _._disposeDelayLink = _._cacheTimer = null;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t1;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t2;
      _._framework0$_dependents = t3;
      _._subscriptions = t4;
      _._subscribers = t5;
      _._framework0$_dependencies = t6;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t7;
    },
    AutoDisposeFutureProviderFamily: function AutoDisposeFutureProviderFamily(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._future_provider$_create = t0;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.dependencies = t3;
      _.name = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    AutoDisposeFutureProviderFamily_create_closure: function AutoDisposeFutureProviderFamily_create_closure(t0, t1) {
      this.$this = t0;
      this.argument = t1;
    },
    FutureProvider: function FutureProvider(t0, t1, t2, t3, t4) {
      var _ = this;
      _._future_provider$_create = t0;
      _.__FutureProvider_future = $;
      _.name = t1;
      _.from = t2;
      _.argument = t3;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t4;
    },
    FutureProvider_create_closure: function FutureProvider_create_closure(t0, t1) {
      this.$this = t0;
      this.ref = t1;
    },
    FutureProviderElement: function FutureProviderElement(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t0;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t1;
      _._framework0$_dependents = t2;
      _._subscriptions = t3;
      _._subscribers = t4;
      _._framework0$_dependencies = t5;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t6;
    },
    FutureProviderFamily: function FutureProviderFamily(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._future_provider$_create = t0;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.dependencies = t3;
      _.name = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    FutureProviderFamily_create_closure: function FutureProviderFamily_create_closure(t0, t1) {
      this.$this = t0;
      this.argument = t1;
    },
    _AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin: function _AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin() {
    },
    _AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin: function _AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin() {
    },
    _AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin: function _AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin() {
    },
    _FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin: function _FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin() {
    },
    _FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin: function _FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin() {
    },
    _FutureProviderElement_ProviderElementBase__FutureProviderElementMixin: function _FutureProviderElement_ProviderElementBase__FutureProviderElementMixin() {
    },
    AutoDisposeProvider$(_create, argument, cacheTime, dependencies, disposeDelay, from, $name, State) {
      return new A.AutoDisposeProvider(_create, dependencies, cacheTime, disposeDelay, $name, from, argument, State._eval$1("AutoDisposeProvider<0>"));
    },
    AutoDisposeProviderElement$(provider, State) {
      var t1 = type$.JSArray__ProviderListener_dynamic;
      return new A.AutoDisposeProviderElement(A._setArrayType([], type$.JSArray_KeepAliveLink), provider, A._setArrayType([], State._eval$1("JSArray<_ProviderSubscription<0>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t1), A._setArrayType([], t1), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), State._eval$1("AutoDisposeProviderElement<0>"));
    },
    ProviderElement$(provider, State) {
      var t1 = type$.JSArray__ProviderListener_dynamic;
      return new A.ProviderElement(provider, A._setArrayType([], State._eval$1("JSArray<_ProviderSubscription<0>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t1), A._setArrayType([], t1), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), State._eval$1("ProviderElement<0>"));
    },
    AutoDisposeProvider: function AutoDisposeProvider(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._provider0$_create = t0;
      _.dependencies = t1;
      _.cacheTime = t2;
      _.disposeDelay = t3;
      _.name = t4;
      _.from = t5;
      _.argument = t6;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t7;
    },
    AutoDisposeProviderElement: function AutoDisposeProviderElement(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._keepAliveLinks = t0;
      _.__AutoDisposeProviderElementBase__disposeDelay = _.__AutoDisposeProviderElementBase__cacheTime = $;
      _._disposeDelayTimer = _._disposeDelayLink = _._cacheTimer = null;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t1;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t2;
      _._framework0$_dependents = t3;
      _._subscriptions = t4;
      _._subscribers = t5;
      _._framework0$_dependencies = t6;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t7;
    },
    AutoDisposeProviderFamily: function AutoDisposeProviderFamily(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._provider0$_create = t0;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.dependencies = t3;
      _.name = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    AutoDisposeProviderFamily_create_closure: function AutoDisposeProviderFamily_create_closure(t0, t1) {
      this.$this = t0;
      this.argument = t1;
    },
    ProviderElement: function ProviderElement(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t0;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t1;
      _._framework0$_dependents = t2;
      _._subscriptions = t3;
      _._subscribers = t4;
      _._framework0$_dependencies = t5;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t6;
    },
    Provider0: function Provider0() {
    },
    _AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin: function _AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin() {
    },
    _AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin: function _AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin() {
    },
    _Provider_AlwaysAliveProviderBase_OverrideWithValueMixin: function _Provider_AlwaysAliveProviderBase_OverrideWithValueMixin() {
    },
    _Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin: function _Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin() {
    },
    throwErrorWithCombinedStackTrace(error, stackTrace) {
      var t1 = A._setArrayType([A.Trace_Trace$current()], type$.JSArray_Trace_2);
      B.JSArray_methods.addAll$1(t1, A.Chain_Chain$forTrace(stackTrace).get$traces());
      A.Error_throwWithStackTrace(error, new A.Chain(A.List_List$unmodifiable(t1, type$.Trace)).foldFrames$1(new A.throwErrorWithCombinedStackTrace_closure()));
    },
    throwErrorWithCombinedStackTrace_closure: function throwErrorWithCombinedStackTrace_closure() {
    },
    StateNotifierProviderOverrideMixin: function StateNotifierProviderOverrideMixin() {
    },
    AutoDisposeStateNotifierProvider: function AutoDisposeStateNotifierProvider(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.notifier = t0;
      _.StateNotifierProviderOverrideMixin___StateNotifierProviderOverrideMixin_dependencies = t1;
      _.cacheTime = t2;
      _.disposeDelay = t3;
      _.name = t4;
      _.from = t5;
      _.argument = t6;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t7;
    },
    AutoDisposeStateNotifierProvider_create_listener: function AutoDisposeStateNotifierProvider_create_listener(t0, t1) {
      this.$this = t0;
      this.ref = t1;
    },
    _AutoDisposeNotifierProvider: function _AutoDisposeNotifierProvider(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._state_notifier_provider$_create = t0;
      _.dependencies = t1;
      _.cacheTime = t2;
      _.disposeDelay = t3;
      _.name = t4;
      _.from = t5;
      _.argument = t6;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t7;
    },
    _AutoDisposeNotifierProviderElement: function _AutoDisposeNotifierProviderElement(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._keepAliveLinks = t0;
      _.__AutoDisposeProviderElementBase__disposeDelay = _.__AutoDisposeProviderElementBase__cacheTime = $;
      _._disposeDelayTimer = _._disposeDelayLink = _._cacheTimer = null;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t1;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t2;
      _._framework0$_dependents = t3;
      _._subscriptions = t4;
      _._subscribers = t5;
      _._framework0$_dependencies = t6;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t7;
    },
    _AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin: function _AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin() {
    },
    _AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin: function _AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin() {
    },
    _listenStateProvider(ref, controller, State) {
      ref.onDispose$1(controller.addListener$2$fireImmediately(0, new A._listenStateProvider_listener(ref, controller, State), false));
      return controller;
    },
    StateProvider$(create, argument, from, $name, State) {
      var t1 = $name == null ? null : $name + ".notifier";
      return new A.StateProvider(new A._NotifierProvider0(create, null, t1, from, argument, State._eval$1("_NotifierProvider0<0>")), $, $name, from, argument, State._eval$1("StateProvider<0>"));
    },
    StateController: function StateController(t0, t1, t2) {
      var _ = this;
      _._state_notifier$_listeners = t0;
      _._debugCanAddListeners = _._state_notifier$_mounted = true;
      _._state_notifier$_state = t1;
      _.$ti = t2;
    },
    _listenStateProvider_listener: function _listenStateProvider_listener(t0, t1, t2) {
      this.ref = t0;
      this.controller = t1;
      this.State = t2;
    },
    StateProviderOverrideMixin: function StateProviderOverrideMixin() {
    },
    StateProvider: function StateProvider(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.__StateProvider_state = $;
      _.notifier = t0;
      _.StateProviderOverrideMixin___StateProviderOverrideMixin_dependencies = t1;
      _.name = t2;
      _.from = t3;
      _.argument = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    StateProvider_state_closure: function StateProvider_state_closure(t0) {
      this.$this = t0;
    },
    StateProviderElement: function StateProviderElement(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t0;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t1;
      _._framework0$_dependents = t2;
      _._subscriptions = t3;
      _._subscribers = t4;
      _._framework0$_dependencies = t5;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t6;
    },
    _NotifierStateProvider: function _NotifierStateProvider(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.dependencies = t0;
      _._provider0$_create = t1;
      _.name = t2;
      _.from = t3;
      _.argument = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    _NotifierProvider0: function _NotifierProvider0(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._state_provider$_create = t0;
      _.dependencies = t1;
      _.name = t2;
      _.from = t3;
      _.argument = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    _NotifierStateProviderElement: function _NotifierStateProviderElement(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t0;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t1;
      _._framework0$_dependents = t2;
      _._subscriptions = t3;
      _._subscribers = t4;
      _._framework0$_dependencies = t5;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t6;
    },
    StateProviderFamily: function StateProviderFamily(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._state_provider$_create = t0;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.dependencies = t3;
      _.name = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    StateProviderFamily_create_closure: function StateProviderFamily_create_closure(t0, t1) {
      this.$this = t0;
      this.argument = t1;
    },
    _StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin: function _StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin() {
    },
    _StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin: function _StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin() {
    },
    AutoDisposeStreamProvider$(_create, argument, cacheTime, disposeDelay, from, $name, State) {
      return new A.AutoDisposeStreamProvider(_create, cacheTime, disposeDelay, $name, from, argument, State._eval$1("AutoDisposeStreamProvider<0>"));
    },
    _StreamProviderElementMixin: function _StreamProviderElementMixin() {
    },
    _StreamProviderElementMixin__listenStream_closure: function _StreamProviderElementMixin__listenStream_closure(t0) {
      this.$this = t0;
    },
    _StreamProviderElementMixin__listenStream_closure0: function _StreamProviderElementMixin__listenStream_closure0(t0) {
      this.$this = t0;
    },
    AutoDisposeStreamProvider: function AutoDisposeStreamProvider(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._stream_provider$_create = t0;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.name = t3;
      _.from = t4;
      _.argument = t5;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t6;
    },
    AutoDisposeStreamProvider_create_closure: function AutoDisposeStreamProvider_create_closure(t0, t1) {
      this.$this = t0;
      this.ref = t1;
    },
    AutoDisposeStreamProviderElement: function AutoDisposeStreamProviderElement(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._keepAliveLinks = t0;
      _.__AutoDisposeProviderElementBase__disposeDelay = _.__AutoDisposeProviderElementBase__cacheTime = $;
      _._disposeDelayTimer = _._disposeDelayLink = _._cacheTimer = null;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t1;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t2;
      _._framework0$_dependents = t3;
      _._subscriptions = t4;
      _._subscribers = t5;
      _._framework0$_dependencies = t6;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t7;
    },
    AutoDisposeStreamProviderFamily: function AutoDisposeStreamProviderFamily(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._stream_provider$_create = t0;
      _.cacheTime = t1;
      _.disposeDelay = t2;
      _.dependencies = t3;
      _.name = t4;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t5;
    },
    AutoDisposeStreamProviderFamily_create_closure: function AutoDisposeStreamProviderFamily_create_closure(t0, t1) {
      this.$this = t0;
      this.argument = t1;
    },
    StreamProvider: function StreamProvider(t0, t1, t2, t3, t4) {
      var _ = this;
      _._stream_provider$_create = t0;
      _.__StreamProvider_future = $;
      _.name = t1;
      _.from = t2;
      _.argument = t3;
      _.__ProviderOrFamily_allTransitiveDependencies = $;
      _.$ti = t4;
    },
    StreamProvider_create_closure: function StreamProvider_create_closure(t0, t1) {
      this.$this = t0;
      this.ref = t1;
    },
    StreamProviderElement: function StreamProviderElement(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._debugSkipNotifyListenersAsserts = false;
      _.__ProviderElementBase__origin = $;
      _._provider = t0;
      _.__ProviderElementBase__container = $;
      _._framework0$_listeners = t1;
      _._framework0$_dependents = t2;
      _._subscriptions = t3;
      _._subscribers = t4;
      _._framework0$_dependencies = t5;
      _._onErrorSelfListeners = _._onChangeSelfListeners = _._onRemoveListeners = _._onAddListeners = _._onCancelListeners = _._onResumeListeners = _._onDisposeListeners = _._previousDependencies = null;
      _._didBuild = _._debugDidSetState = _._framework0$_mounted = _._didCancelOnce = _._debugDidChangeDependency = _._dependencyMayHaveChanged = _._mustRecomputeState = false;
      _._framework0$_state = null;
      _.$ti = t6;
    },
    _AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin: function _AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin() {
    },
    _AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin: function _AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin() {
    },
    _AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin: function _AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin() {
    },
    _StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin: function _StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin() {
    },
    _StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin: function _StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin() {
    },
    _StreamProviderElement_ProviderElementBase__StreamProviderElementMixin: function _StreamProviderElement_ProviderElementBase__StreamProviderElementMixin() {
    },
    FileLocation$_(file, offset) {
      if (offset < 0)
        A.throwExpression(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > file._decodedChars.length)
        A.throwExpression(A.RangeError$("Offset " + offset + string$.x20must_ + file.get$length(file) + "."));
      return new A.FileLocation(file, offset);
    },
    SourceFile: function SourceFile(t0, t1, t2) {
      var _ = this;
      _.url = t0;
      _._lineStarts = t1;
      _._decodedChars = t2;
      _._cachedLine = null;
    },
    FileLocation: function FileLocation(t0, t1) {
      this.file = t0;
      this.offset = t1;
    },
    _FileSpan: function _FileSpan(t0, t1, t2) {
      this.file = t0;
      this._file$_start = t1;
      this._file$_end = t2;
    },
    Highlighter$(span, color) {
      var t1 = A.Highlighter__collateLines(A._setArrayType([A._Highlight$(span, true)], type$.JSArray__Highlight)),
        t2 = new A.Highlighter_closure(color).call$0(),
        t3 = B.JSInt_methods.toString$0(B.JSArray_methods.get$last(t1).number + 1),
        t4 = A.Highlighter__contiguous(t1) ? 0 : 3,
        t5 = A._arrayInstanceType(t1);
      return new A.Highlighter(t1, t2, null, 1 + Math.max(t3.length, t4), new A.MappedListIterable(t1, new A.Highlighter$__closure(), t5._eval$1("MappedListIterable<1,int>")).reduce$1(0, B.CONSTANT), !A.isAllTheSame(new A.MappedListIterable(t1, new A.Highlighter$__closure0(), t5._eval$1("MappedListIterable<1,Object?>"))), new A.StringBuffer(""));
    },
    Highlighter__contiguous(lines) {
      var i, thisLine, nextLine;
      for (i = 0; i < lines.length - 1;) {
        thisLine = lines[i];
        ++i;
        nextLine = lines[i];
        if (thisLine.number + 1 !== nextLine.number && J.$eq$(thisLine.url, nextLine.url))
          return false;
      }
      return true;
    },
    Highlighter__collateLines(highlights) {
      var t1, t2, t3,
        highlightsByUrl = A.groupBy(highlights, new A.Highlighter__collateLines_closure(), type$._Highlight, type$.Object);
      for (t1 = highlightsByUrl.get$values(highlightsByUrl), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        J.sort$1$ax(t3, new A.Highlighter__collateLines_closure0());
      }
      t1 = highlightsByUrl.get$entries(highlightsByUrl);
      t2 = A._instanceType(t1)._eval$1("ExpandIterable<Iterable.E,_Line>");
      return A.List_List$of(new A.ExpandIterable(t1, new A.Highlighter__collateLines_closure1(), t2), true, t2._eval$1("Iterable.E"));
    },
    _Highlight$(span, primary) {
      return new A._Highlight(new A._Highlight_closure(span).call$0(), true);
    },
    _Highlight__normalizeNewlines(span) {
      var t1, endOffset, i, t2, t3, t4,
        text = span.get$text(span);
      if (!B.JSString_methods.contains$1(text, "\r\n"))
        return span;
      t1 = span.get$end(span);
      endOffset = t1.get$offset(t1);
      for (t1 = text.length - 1, i = 0; i < t1; ++i)
        if (B.JSString_methods._codeUnitAt$1(text, i) === 13 && B.JSString_methods._codeUnitAt$1(text, i + 1) === 10)
          --endOffset;
      t1 = span.get$start(span);
      t2 = span.get$sourceUrl();
      t3 = span.get$end(span);
      t3 = t3.get$line(t3);
      t2 = A.SourceLocation$(endOffset, span.get$end(span).get$column(), t3, t2);
      t3 = A.stringReplaceAllUnchecked(text, "\r\n", "\n");
      t4 = span.get$context(span);
      return A.SourceSpanWithContext$(t1, t2, t3, A.stringReplaceAllUnchecked(t4, "\r\n", "\n"));
    },
    _Highlight__normalizeTrailingNewline(span) {
      var context, text, start, end, t1, t2, t3;
      if (!B.JSString_methods.endsWith$1(span.get$context(span), "\n"))
        return span;
      if (B.JSString_methods.endsWith$1(span.get$text(span), "\n\n"))
        return span;
      context = B.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1);
      text = span.get$text(span);
      start = span.get$start(span);
      end = span.get$end(span);
      if (B.JSString_methods.endsWith$1(span.get$text(span), "\n")) {
        t1 = A.findLineStart(span.get$context(span), span.get$text(span), span.get$start(span).get$column());
        t1.toString;
        t1 = t1 + span.get$start(span).get$column() + span.get$length(span) === span.get$context(span).length;
      } else
        t1 = false;
      if (t1) {
        text = B.JSString_methods.substring$2(span.get$text(span), 0, span.get$text(span).length - 1);
        if (text.length === 0)
          end = start;
        else {
          t1 = span.get$end(span);
          t1 = t1.get$offset(t1);
          t2 = span.get$sourceUrl();
          t3 = span.get$end(span);
          t3 = t3.get$line(t3);
          end = A.SourceLocation$(t1 - 1, A._Highlight__lastLineLength(context), t3 - 1, t2);
          t1 = span.get$start(span);
          t1 = t1.get$offset(t1);
          t2 = span.get$end(span);
          start = t1 === t2.get$offset(t2) ? end : span.get$start(span);
        }
      }
      return A.SourceSpanWithContext$(start, end, text, context);
    },
    _Highlight__normalizeEndOfLine(span) {
      var t1, t2, text, t3, t4;
      if (span.get$end(span).get$column() !== 0)
        return span;
      t1 = span.get$end(span);
      t1 = t1.get$line(t1);
      t2 = span.get$start(span);
      if (t1 === t2.get$line(t2))
        return span;
      text = B.JSString_methods.substring$2(span.get$text(span), 0, span.get$text(span).length - 1);
      t1 = span.get$start(span);
      t2 = span.get$end(span);
      t2 = t2.get$offset(t2);
      t3 = span.get$sourceUrl();
      t4 = span.get$end(span);
      t4 = t4.get$line(t4);
      t3 = A.SourceLocation$(t2 - 1, text.length - B.JSString_methods.lastIndexOf$1(text, "\n") - 1, t4 - 1, t3);
      return A.SourceSpanWithContext$(t1, t3, text, B.JSString_methods.endsWith$1(span.get$context(span), "\n") ? B.JSString_methods.substring$2(span.get$context(span), 0, span.get$context(span).length - 1) : span.get$context(span));
    },
    _Highlight__lastLineLength(text) {
      var t1 = text.length;
      if (t1 === 0)
        return 0;
      else if (B.JSString_methods.codeUnitAt$1(text, t1 - 1) === 10)
        return t1 === 1 ? 0 : t1 - B.JSString_methods.lastIndexOf$2(text, "\n", t1 - 2) - 1;
      else
        return t1 - B.JSString_methods.lastIndexOf$1(text, "\n") - 1;
    },
    Highlighter: function Highlighter(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._lines = t0;
      _._highlighter$_primaryColor = t1;
      _._secondaryColor = t2;
      _._paddingBeforeSidebar = t3;
      _._maxMultilineSpans = t4;
      _._multipleFiles = t5;
      _._highlighter$_buffer = t6;
    },
    Highlighter_closure: function Highlighter_closure(t0) {
      this.color = t0;
    },
    Highlighter$__closure: function Highlighter$__closure() {
    },
    Highlighter$___closure: function Highlighter$___closure() {
    },
    Highlighter$__closure0: function Highlighter$__closure0() {
    },
    Highlighter__collateLines_closure: function Highlighter__collateLines_closure() {
    },
    Highlighter__collateLines_closure0: function Highlighter__collateLines_closure0() {
    },
    Highlighter__collateLines_closure1: function Highlighter__collateLines_closure1() {
    },
    Highlighter__collateLines__closure: function Highlighter__collateLines__closure(t0) {
      this.line = t0;
    },
    Highlighter_highlight_closure: function Highlighter_highlight_closure() {
    },
    Highlighter__writeFileStart_closure: function Highlighter__writeFileStart_closure(t0) {
      this.$this = t0;
    },
    Highlighter__writeMultilineHighlights_closure: function Highlighter__writeMultilineHighlights_closure(t0, t1, t2) {
      this.$this = t0;
      this.startLine = t1;
      this.line = t2;
    },
    Highlighter__writeMultilineHighlights_closure0: function Highlighter__writeMultilineHighlights_closure0(t0, t1) {
      this.$this = t0;
      this.highlight = t1;
    },
    Highlighter__writeMultilineHighlights_closure1: function Highlighter__writeMultilineHighlights_closure1(t0) {
      this.$this = t0;
    },
    Highlighter__writeMultilineHighlights_closure2: function Highlighter__writeMultilineHighlights_closure2(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.current = t2;
      _.startLine = t3;
      _.line = t4;
      _.highlight = t5;
      _.endLine = t6;
    },
    Highlighter__writeMultilineHighlights__closure: function Highlighter__writeMultilineHighlights__closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    Highlighter__writeMultilineHighlights__closure0: function Highlighter__writeMultilineHighlights__closure0(t0, t1) {
      this.$this = t0;
      this.vertical = t1;
    },
    Highlighter__writeHighlightedText_closure: function Highlighter__writeHighlightedText_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.text = t1;
      _.startColumn = t2;
      _.endColumn = t3;
    },
    Highlighter__writeIndicator_closure: function Highlighter__writeIndicator_closure(t0, t1, t2) {
      this.$this = t0;
      this.line = t1;
      this.highlight = t2;
    },
    Highlighter__writeIndicator_closure0: function Highlighter__writeIndicator_closure0(t0, t1, t2) {
      this.$this = t0;
      this.line = t1;
      this.highlight = t2;
    },
    Highlighter__writeIndicator_closure1: function Highlighter__writeIndicator_closure1(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.coversWholeLine = t1;
      _.line = t2;
      _.highlight = t3;
    },
    Highlighter__writeSidebar_closure: function Highlighter__writeSidebar_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.end = t2;
    },
    _Highlight: function _Highlight(t0, t1) {
      this.span = t0;
      this.isPrimary = t1;
    },
    _Highlight_closure: function _Highlight_closure(t0) {
      this.span = t0;
    },
    _Line: function _Line(t0, t1, t2, t3) {
      var _ = this;
      _.text = t0;
      _.number = t1;
      _.url = t2;
      _.highlights = t3;
    },
    SourceLocation$(offset, column, line, sourceUrl) {
      if (offset < 0)
        A.throwExpression(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (line < 0)
        A.throwExpression(A.RangeError$("Line may not be negative, was " + line + "."));
      else if (column < 0)
        A.throwExpression(A.RangeError$("Column may not be negative, was " + column + "."));
      return new A.SourceLocation0(sourceUrl, offset, line, column);
    },
    SourceLocation0: function SourceLocation0(t0, t1, t2, t3) {
      var _ = this;
      _.sourceUrl = t0;
      _.offset = t1;
      _.line = t2;
      _.column = t3;
    },
    SourceLocationMixin: function SourceLocationMixin() {
    },
    SourceSpanBase: function SourceSpanBase() {
    },
    SourceSpanFormatException$(message, span, source) {
      return new A.SourceSpanFormatException(source, message, span);
    },
    SourceSpanException: function SourceSpanException() {
    },
    SourceSpanFormatException: function SourceSpanFormatException(t0, t1, t2) {
      this.source = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    SourceSpanMixin: function SourceSpanMixin() {
    },
    SourceSpanWithContext$(start, end, text, _context) {
      var t1 = new A.SourceSpanWithContext(_context, start, end, text);
      t1.SourceSpanBase$3(start, end, text);
      if (!B.JSString_methods.contains$1(_context, text))
        A.throwExpression(A.ArgumentError$('The context line "' + _context + '" must contain "' + text + '".', null));
      if (A.findLineStart(_context, text, start.get$column()) == null)
        A.throwExpression(A.ArgumentError$('The span text "' + text + '" must start at column ' + (start.get$column() + 1) + ' in a line within "' + _context + '".', null));
      return t1;
    },
    SourceSpanWithContext: function SourceSpanWithContext(t0, t1, t2, t3) {
      var _ = this;
      _._span_with_context$_context = t0;
      _.start = t1;
      _.end = t2;
      _.text = t3;
    },
    SseClient$(serverUrl) {
      var _null = null,
        t1 = type$.String;
      t1 = new A.SseClient(A.StreamController_StreamController(_null, _null, _null, false, t1), A.StreamController_StreamController(_null, _null, _null, false, t1), A.Logger_Logger("SseClient"), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic));
      t1.SseClient$1(serverUrl);
      return t1;
    },
    SseClient: function SseClient(t0, t1, t2, t3) {
      var _ = this;
      _._incomingController = t0;
      _._outgoingController = t1;
      _._logger = t2;
      _._onConnected = t3;
      _._lastMessageId = -1;
      _.__SseClient__serverUrl = _.__SseClient__eventSource = $;
      _._errorTimer = null;
    },
    SseClient_closure: function SseClient_closure(t0) {
      this.$this = t0;
    },
    SseClient_closure0: function SseClient_closure0(t0) {
      this.$this = t0;
    },
    SseClient_closure1: function SseClient_closure1(t0) {
      this.$this = t0;
    },
    SseClient__closure: function SseClient__closure(t0, t1) {
      this.$this = t0;
      this.error = t1;
    },
    SseClient__onOutgoingMessage_closure: function SseClient__onOutgoingMessage_closure(t0, t1, t2) {
      this._box_0 = t0;
      this.$this = t1;
      this.message = t2;
    },
    generateUuidV4() {
      var t1 = new A.generateUuidV4__printDigits(),
        t2 = new A.generateUuidV4__bitsDigits(t1, new A.generateUuidV4__generateBits(B.C__JSRandom)),
        t3 = B.C__JSRandom.nextInt$1(4);
      return A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + "-" + A.S(t2.call$2(16, 4)) + "-4" + A.S(t2.call$2(12, 3)) + "-" + A.S(t1.call$2(8 + t3, 1)) + A.S(t2.call$2(12, 3)) + "-" + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4));
    },
    generateUuidV4__generateBits: function generateUuidV4__generateBits(t0) {
      this.random = t0;
    },
    generateUuidV4__printDigits: function generateUuidV4__printDigits() {
    },
    generateUuidV4__bitsDigits: function generateUuidV4__bitsDigits(t0, t1) {
      this._printDigits = t0;
      this._generateBits = t1;
    },
    Chain_Chain$forTrace(trace) {
      var t1;
      if (type$.Chain._is(trace))
        return trace;
      type$.nullable_StackZoneSpecification._as($.Zone__current.$index(0, $.$get$_specKey()));
      t1 = type$.Trace;
      if (t1._is(trace))
        return new A.Chain(A.List_List$unmodifiable(A._setArrayType([trace], type$.JSArray_Trace_2), t1));
      return new A.LazyChain(new A.Chain_Chain$forTrace_closure(trace));
    },
    Chain_Chain$parse(chain) {
      var t1, t2,
        _s51_ = string$.x3d_____;
      if (chain.length === 0)
        return new A.Chain(A.List_List$unmodifiable(A._setArrayType([], type$.JSArray_Trace_2), type$.Trace));
      t1 = $.$get$vmChainGap();
      if (B.JSString_methods.contains$1(chain, t1)) {
        t1 = B.JSString_methods.split$1(chain, t1);
        t2 = A._arrayInstanceType(t1);
        return new A.Chain(A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(t1, new A.Chain_Chain$parse_closure(), t2._eval$1("WhereIterable<1>")), new A.Chain_Chain$parse_closure0(), t2._eval$1("MappedIterable<1,Trace>")), type$.Trace));
      }
      if (!B.JSString_methods.contains$1(chain, _s51_))
        return new A.Chain(A.List_List$unmodifiable(A._setArrayType([A.Trace_Trace$parse(chain)], type$.JSArray_Trace_2), type$.Trace));
      return new A.Chain(A.List_List$unmodifiable(new A.MappedListIterable(A._setArrayType(chain.split(_s51_), type$.JSArray_String), new A.Chain_Chain$parse_closure1(), type$.MappedListIterable_String_Trace), type$.Trace));
    },
    Chain: function Chain(t0) {
      this.traces = t0;
    },
    Chain_Chain$forTrace_closure: function Chain_Chain$forTrace_closure(t0) {
      this.trace = t0;
    },
    Chain_Chain$parse_closure: function Chain_Chain$parse_closure() {
    },
    Chain_Chain$parse_closure0: function Chain_Chain$parse_closure0() {
    },
    Chain_Chain$parse_closure1: function Chain_Chain$parse_closure1() {
    },
    Chain_foldFrames_closure: function Chain_foldFrames_closure(t0, t1) {
      this.predicate = t0;
      this.terse = t1;
    },
    Chain_foldFrames_closure0: function Chain_foldFrames_closure0(t0) {
      this.terse = t0;
    },
    Chain_toTrace_closure: function Chain_toTrace_closure() {
    },
    Chain_toString_closure0: function Chain_toString_closure0() {
    },
    Chain_toString__closure0: function Chain_toString__closure0() {
    },
    Chain_toString_closure: function Chain_toString_closure(t0) {
      this.longest = t0;
    },
    Chain_toString__closure: function Chain_toString__closure(t0) {
      this.longest = t0;
    },
    Frame_Frame$parseVM(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseVM_closure(frame));
    },
    Frame_Frame$parseV8(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseV8_closure(frame));
    },
    Frame_Frame$_parseFirefoxEval(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$_parseFirefoxEval_closure(frame));
    },
    Frame_Frame$parseFirefox(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFirefox_closure(frame));
    },
    Frame_Frame$parseFriendly(frame) {
      return A.Frame__catchFormatException(frame, new A.Frame_Frame$parseFriendly_closure(frame));
    },
    Frame__uriOrPathToUri(uriOrPath) {
      if (B.JSString_methods.contains$1(uriOrPath, $.$get$Frame__uriRegExp()))
        return A.Uri_parse(uriOrPath, 0, null);
      else if (B.JSString_methods.contains$1(uriOrPath, $.$get$Frame__windowsRegExp()))
        return A._Uri__Uri$file(uriOrPath, true);
      else if (B.JSString_methods.startsWith$1(uriOrPath, "/"))
        return A._Uri__Uri$file(uriOrPath, false);
      if (B.JSString_methods.contains$1(uriOrPath, "\\"))
        return $.$get$windows().toUri$1(uriOrPath);
      return A.Uri_parse(uriOrPath, 0, null);
    },
    Frame__catchFormatException(text, body) {
      var t1, exception, _null = null;
      try {
        t1 = body.call$0();
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception)))
          return new A.UnparsedFrame(A._Uri__Uri(_null, _null, "unparsed", _null, _null, _null, _null, _null, _null), text);
        else
          throw exception;
      }
    },
    Frame: function Frame(t0, t1, t2, t3) {
      var _ = this;
      _.uri = t0;
      _.line = t1;
      _.column = t2;
      _.member = t3;
    },
    Frame_Frame$parseVM_closure: function Frame_Frame$parseVM_closure(t0) {
      this.frame = t0;
    },
    Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) {
      this.frame = t0;
    },
    Frame_Frame$parseV8_closure_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(t0) {
      this.frame = t0;
    },
    Frame_Frame$_parseFirefoxEval_closure: function Frame_Frame$_parseFirefoxEval_closure(t0) {
      this.frame = t0;
    },
    Frame_Frame$parseFirefox_closure: function Frame_Frame$parseFirefox_closure(t0) {
      this.frame = t0;
    },
    Frame_Frame$parseFriendly_closure: function Frame_Frame$parseFriendly_closure(t0) {
      this.frame = t0;
    },
    LazyChain: function LazyChain(t0) {
      this._lazy_chain$_thunk = t0;
      this.__LazyChain__chain = $;
    },
    LazyChain_toTrace_closure: function LazyChain_toTrace_closure(t0) {
      this.$this = t0;
    },
    LazyTrace: function LazyTrace(t0) {
      this._thunk = t0;
      this.__LazyTrace__trace = $;
    },
    LazyTrace_terse_closure: function LazyTrace_terse_closure(t0) {
      this.$this = t0;
    },
    LazyTrace_foldFrames_closure: function LazyTrace_foldFrames_closure(t0, t1, t2) {
      this.$this = t0;
      this.predicate = t1;
      this.terse = t2;
    },
    Trace_Trace$current() {
      return new A.LazyTrace(new A.Trace_Trace$current_closure(A.Trace_Trace$from(A.StackTrace_current()), 0));
    },
    Trace_Trace$from(trace) {
      if (type$.Trace._is(trace))
        return trace;
      if (type$.Chain._is(trace))
        return trace.toTrace$0();
      return new A.LazyTrace(new A.Trace_Trace$from_closure(trace));
    },
    Trace_Trace$parse(trace) {
      var error, t1, exception;
      try {
        if (trace.length === 0) {
          t1 = A.Trace$(A._setArrayType([], type$.JSArray_Frame_2), null);
          return t1;
        }
        if (B.JSString_methods.contains$1(trace, $.$get$_v8Trace())) {
          t1 = A.Trace$parseV8(trace);
          return t1;
        }
        if (B.JSString_methods.contains$1(trace, "\tat ")) {
          t1 = A.Trace$parseJSCore(trace);
          return t1;
        }
        if (B.JSString_methods.contains$1(trace, $.$get$_firefoxSafariTrace()) || B.JSString_methods.contains$1(trace, $.$get$_firefoxEvalTrace())) {
          t1 = A.Trace$parseFirefox(trace);
          return t1;
        }
        if (B.JSString_methods.contains$1(trace, string$.x3d_____)) {
          t1 = A.Chain_Chain$parse(trace).toTrace$0();
          return t1;
        }
        if (B.JSString_methods.contains$1(trace, $.$get$_friendlyTrace())) {
          t1 = A.Trace$parseFriendly(trace);
          return t1;
        }
        t1 = A.Trace$parseVM(trace);
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.FormatException._is(t1)) {
          error = t1;
          throw A.wrapException(A.FormatException$(J.get$message$x(error) + "\nStack trace:\n" + trace, null, null));
        } else
          throw exception;
      }
    },
    Trace$parseVM(trace) {
      var t1 = A.List_List$unmodifiable(A.Trace__parseVM(trace), type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    Trace__parseVM(trace) {
      var $frames,
        t1 = B.JSString_methods.trim$0(trace),
        t2 = $.$get$vmChainGap(),
        t3 = type$.WhereIterable_String,
        lines = new A.WhereIterable(A._setArrayType(A.stringReplaceAllUnchecked(t1, t2, "").split("\n"), type$.JSArray_String), new A.Trace__parseVM_closure(), t3);
      if (!lines.get$iterator(lines).moveNext$0())
        return A._setArrayType([], type$.JSArray_Frame_2);
      t1 = A.TakeIterable_TakeIterable(lines, lines.get$length(lines) - 1, t3._eval$1("Iterable.E"));
      t1 = A.MappedIterable_MappedIterable(t1, new A.Trace__parseVM_closure0(), A._instanceType(t1)._eval$1("Iterable.E"), type$.Frame);
      $frames = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
      if (!J.endsWith$1$s(lines.get$last(lines), ".da"))
        B.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(lines.get$last(lines)));
      return $frames;
    },
    Trace$parseV8(trace) {
      var t1 = A.SubListIterable$(A._setArrayType(trace.split("\n"), type$.JSArray_String), 1, null, type$.String).super$Iterable$skipWhile(0, new A.Trace$parseV8_closure()),
        t2 = type$.Frame;
      t2 = A.List_List$unmodifiable(A.MappedIterable_MappedIterable(t1, new A.Trace$parseV8_closure0(), t1.$ti._eval$1("Iterable.E"), t2), t2);
      return new A.Trace(t2, new A._StringStackTrace(trace));
    },
    Trace$parseJSCore(trace) {
      var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(trace.split("\n"), type$.JSArray_String), new A.Trace$parseJSCore_closure(), type$.WhereIterable_String), new A.Trace$parseJSCore_closure0(), type$.MappedIterable_String_Frame), type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    Trace$parseFirefox(trace) {
      var t1 = A.List_List$unmodifiable(new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), new A.Trace$parseFirefox_closure(), type$.WhereIterable_String), new A.Trace$parseFirefox_closure0(), type$.MappedIterable_String_Frame), type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    Trace$parseFriendly(trace) {
      var t1 = trace.length === 0 ? A._setArrayType([], type$.JSArray_Frame_2) : new A.MappedIterable(new A.WhereIterable(A._setArrayType(B.JSString_methods.trim$0(trace).split("\n"), type$.JSArray_String), new A.Trace$parseFriendly_closure(), type$.WhereIterable_String), new A.Trace$parseFriendly_closure0(), type$.MappedIterable_String_Frame);
      t1 = A.List_List$unmodifiable(t1, type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(trace));
    },
    Trace$($frames, original) {
      var t1 = A.List_List$unmodifiable($frames, type$.Frame);
      return new A.Trace(t1, new A._StringStackTrace(original == null ? "" : original));
    },
    Trace: function Trace(t0, t1) {
      this.frames = t0;
      this.original = t1;
    },
    Trace_Trace$current_closure: function Trace_Trace$current_closure(t0, t1) {
      this.trace = t0;
      this.level = t1;
    },
    Trace_Trace$from_closure: function Trace_Trace$from_closure(t0) {
      this.trace = t0;
    },
    Trace__parseVM_closure: function Trace__parseVM_closure() {
    },
    Trace__parseVM_closure0: function Trace__parseVM_closure0() {
    },
    Trace$parseV8_closure: function Trace$parseV8_closure() {
    },
    Trace$parseV8_closure0: function Trace$parseV8_closure0() {
    },
    Trace$parseJSCore_closure: function Trace$parseJSCore_closure() {
    },
    Trace$parseJSCore_closure0: function Trace$parseJSCore_closure0() {
    },
    Trace$parseFirefox_closure: function Trace$parseFirefox_closure() {
    },
    Trace$parseFirefox_closure0: function Trace$parseFirefox_closure0() {
    },
    Trace$parseFriendly_closure: function Trace$parseFriendly_closure() {
    },
    Trace$parseFriendly_closure0: function Trace$parseFriendly_closure0() {
    },
    Trace_terse_closure: function Trace_terse_closure() {
    },
    Trace_foldFrames_closure: function Trace_foldFrames_closure(t0) {
      this.oldPredicate = t0;
    },
    Trace_foldFrames_closure0: function Trace_foldFrames_closure0(t0) {
      this._box_0 = t0;
    },
    Trace_toString_closure0: function Trace_toString_closure0() {
    },
    Trace_toString_closure: function Trace_toString_closure(t0) {
      this.longest = t0;
    },
    UnparsedFrame: function UnparsedFrame(t0, t1) {
      this.uri = t0;
      this.member = t1;
    },
    StateNotifierListenerError: function StateNotifierListenerError(t0, t1, t2) {
      this.errors = t0;
      this.stackTraces = t1;
      this.stateNotifier = t2;
    },
    StateNotifier: function StateNotifier() {
    },
    StateNotifier_addListener_closure: function StateNotifier_addListener_closure(t0) {
      this.listenerEntry = t0;
    },
    _ListenerEntry0: function _ListenerEntry0(t0, t1) {
      var _ = this;
      _.listener = t0;
      _._collection$_previous = _._collection$_next = _._collection$_list = null;
      _.$ti = t1;
    },
    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, allowSinkErrors, t1, $T);
      return t2;
    },
    GuaranteeChannel: function GuaranteeChannel(t0) {
      var _ = this;
      _.__GuaranteeChannel__streamController = _.__GuaranteeChannel__sink = $;
      _._guarantee_channel$_subscription = null;
      _._disconnected = false;
      _.$ti = t0;
    },
    GuaranteeChannel_closure: function GuaranteeChannel_closure(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    GuaranteeChannel__closure: function GuaranteeChannel__closure(t0) {
      this.$this = t0;
    },
    _GuaranteeSink: function _GuaranteeSink(t0, t1, t2, t3, t4) {
      var _ = this;
      _._guarantee_channel$_inner = t0;
      _._guarantee_channel$_channel = t1;
      _._doneCompleter = t2;
      _._closed = _._disconnected = false;
      _._addStreamCompleter = _._addStreamSubscription = null;
      _._allowErrors = t3;
      _.$ti = t4;
    },
    _GuaranteeSink__addError_closure: function _GuaranteeSink__addError_closure() {
    },
    _GuaranteeSink_addStream_closure: function _GuaranteeSink_addStream_closure(t0) {
      this.$this = t0;
    },
    StreamChannelController: function StreamChannelController(t0) {
      this.__StreamChannelController__foreign = this.__StreamChannelController__local = $;
      this.$ti = t0;
    },
    _StreamChannel: function _StreamChannel(t0, t1, t2) {
      this.stream = t0;
      this.sink = t1;
      this.$ti = t2;
    },
    StreamChannelMixin: function StreamChannelMixin() {
    },
    StringScannerException: function StringScannerException(t0, t1, t2) {
      this.source = t0;
      this._span_exception$_message = t1;
      this._span = t2;
    },
    LineScanner$(string, position) {
      var t1 = new A.LineScanner(null, string);
      if (position != null)
        t1.set$position(0, position);
      return t1;
    },
    LineScanner: function LineScanner(t0, t1) {
      var _ = this;
      _._column = _._line = 0;
      _.sourceUrl = t0;
      _.string = t1;
      _._string_scanner$_position = 0;
      _._lastMatchPosition = _._lastMatch = null;
    },
    StringScanner$(string, position, sourceUrl) {
      var t1 = new A.StringScanner(null, string);
      if (position != null)
        t1.set$position(0, position);
      return t1;
    },
    StringScanner: function StringScanner(t0, t1) {
      var _ = this;
      _.sourceUrl = t0;
      _.string = t1;
      _._string_scanner$_position = 0;
      _._lastMatchPosition = _._lastMatch = null;
    },
    LaunchMode: function LaunchMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    WebViewConfiguration: function WebViewConfiguration() {
    },
    MethodChannelUrlLauncher: function MethodChannelUrlLauncher(t0) {
      this._instanceToken = t0;
    },
    MethodChannelUrlLauncher_canLaunch_closure: function MethodChannelUrlLauncher_canLaunch_closure() {
    },
    MethodChannelUrlLauncher_launch_closure: function MethodChannelUrlLauncher_launch_closure() {
    },
    PreferredLaunchMode: function PreferredLaunchMode(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    UrlLauncherPlatform: function UrlLauncherPlatform() {
    },
    UrlLauncherPlugin: function UrlLauncherPlugin(t0, t1) {
      this._url_launcher_web$_window = t0;
      this._isSafari = false;
      this._instanceToken = t1;
    },
    Matrix4_tryInvert(other) {
      var r = new A.Matrix4(new Float64Array(16));
      if (r.copyInverse$1(other) === 0)
        return null;
      return r;
    },
    Matrix4$zero() {
      return new A.Matrix4(new Float64Array(16));
    },
    Matrix4_Matrix4$identity() {
      var t1 = new A.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      return t1;
    },
    Matrix4_Matrix4$rotationZ(radians) {
      var c, s,
        t1 = new Float64Array(16);
      t1[15] = 1;
      c = Math.cos(radians);
      s = Math.sin(radians);
      t1[0] = c;
      t1[1] = s;
      t1[2] = 0;
      t1[4] = -s;
      t1[5] = c;
      t1[6] = 0;
      t1[8] = 0;
      t1[9] = 0;
      t1[10] = 1;
      t1[3] = 0;
      t1[7] = 0;
      t1[11] = 0;
      return new A.Matrix4(t1);
    },
    Matrix4_Matrix4$translationValues(x, y, z) {
      var t1 = new A.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      t1.setTranslationRaw$3(x, y, z);
      return t1;
    },
    Matrix4_Matrix4$diagonal3Values(x, y, z) {
      var t1 = new Float64Array(16);
      t1[15] = 1;
      t1[10] = z;
      t1[5] = y;
      t1[0] = x;
      return new A.Matrix4(t1);
    },
    Quaternion_Quaternion$identity() {
      var t1 = new Float64Array(4);
      t1[3] = 1;
      return new A.Quaternion(t1);
    },
    Matrix3: function Matrix3(t0) {
      this._m3storage = t0;
    },
    Matrix4: function Matrix4(t0) {
      this._m4storage = t0;
    },
    Quaternion: function Quaternion(t0) {
      this._qStorage = t0;
    },
    Vector3: function Vector3(t0) {
      this._v3storage = t0;
    },
    Vector4: function Vector4(t0) {
      this._v4storage = t0;
    },
    DartIOExtension__version(_this, isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Version),
        $async$returnValue, version;
      var $async$DartIOExtension__version = 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
              version = $.DartIOExtension__isolateVersion.$index(0, isolateId);
              $async$goto = version == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.DartIOExtension__callHelper(_this, "ext.dart.io.getVersion", isolateId, B.Map_empty7, type$.Version), $async$DartIOExtension__version);
            case 5:
              // returning from await.
              version = $async$result;
              $.DartIOExtension__isolateVersion.$indexSet(0, isolateId, version);
            case 4:
              // join
              $async$returnValue = version;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$DartIOExtension__version, $async$completer);
    },
    DartIOExtension_socketProfilingEnabled(_this, isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SocketProfilingState),
        $async$returnValue, t1;
      var $async$DartIOExtension_socketProfilingEnabled = 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$.dynamic;
              t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              t1.$indexSet(0, "enabled", true);
              $async$returnValue = A.DartIOExtension__callHelper(_this, "ext.dart.io.socketProfilingEnabled", isolateId, t1, type$.SocketProfilingState);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$DartIOExtension_socketProfilingEnabled, $async$completer);
    },
    DartIOExtension_httpEnableTimelineLogging(_this, isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HttpTimelineLoggingState),
        $async$returnValue, t2, enableKey, version, t1;
      var $async$DartIOExtension_httpEnableTimelineLogging = 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.DartIOExtension__version(_this, isolateId), $async$DartIOExtension_httpEnableTimelineLogging);
            case 3:
              // returning from await.
              version = $async$result;
              t1 = version.major;
              t1.toString;
              if (t1 === 1) {
                t2 = version.minor;
                t2.toString;
                t2 = t2 > 3;
              } else
                t2 = false;
              enableKey = t2 || t1 >= 2 ? "enabled" : "enable";
              t1 = type$.dynamic;
              t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
              if (enabled != null)
                t1.$indexSet(0, enableKey, enabled);
              $async$returnValue = A.DartIOExtension__callHelper(_this, "ext.dart.io.httpEnableTimelineLogging", isolateId, t1, type$.HttpTimelineLoggingState);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$DartIOExtension_httpEnableTimelineLogging, $async$completer);
    },
    DartIOExtension__callHelper(_this, method, isolateId, args, $T) {
      var t1, t2, t3;
      if (!$.DartIOExtension__factoriesRegistered) {
        A.addTypeFactory("OpenFile", A.dart_io_extensions_OpenFile_parse$closure());
        A.addTypeFactory("OpenFileList", A.dart_io_extensions_OpenFileList_parse$closure());
        A.addTypeFactory("@OpenFile", A.dart_io_extensions_OpenFileRef_parse$closure());
        A.addTypeFactory("HttpTimelineLoggingState", A.dart_io_extensions_HttpTimelineLoggingState_parse$closure());
        A.addTypeFactory("SpawnedProcess", A.dart_io_extensions_SpawnedProcess_parse$closure());
        A.addTypeFactory("SpawnedProcessList", A.dart_io_extensions_SpawnedProcessList_parse$closure());
        A.addTypeFactory("@SpawnedProcess", A.dart_io_extensions_SpawnedProcessRef_parse$closure());
        A.addTypeFactory("SocketProfile", A.dart_io_extensions_SocketProfile_parse$closure());
        A.addTypeFactory("SocketStatistic", A.dart_io_extensions_SocketStatistic_parse$closure());
        A.addTypeFactory("SocketProfilingState", A.dart_io_extensions_SocketProfilingState_parse$closure());
        A.addTypeFactory("HttpProfile", A.dart_io_extensions_HttpProfile_parse$closure());
        A.addTypeFactory("HttpProfileRequest", A.dart_io_extensions_HttpProfileRequest_parse$closure());
        $.DartIOExtension__factoriesRegistered = true;
      }
      t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1.$indexSet(0, "isolateId", isolateId);
      for (t2 = args.get$entries(args), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      return _this._call$1$2(0, method, t1, $T);
    },
    SocketStatistic_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1 = new A.SocketStatistic(t1.$index(json, "id"), t1.$index(json, "startTime"), t1.$index(json, "endTime"), t1.$index(json, "lastReadTime"), t1.$index(json, "lastWriteTime"), t1.$index(json, "address"), t1.$index(json, "port"), t1.$index(json, "socketType"), t1.$index(json, "readBytes"), t1.$index(json, "writeBytes"));
      }
      return t1;
    },
    SocketProfile_parse(json) {
      var t1, t2;
      if (json == null)
        t1 = null;
      else {
        t1 = new A.SocketProfile(null);
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "sockets"), B.List_SocketStatistic));
        if (t2 == null)
          t2 = [];
        t1.__SocketProfile_sockets = A.List_List$from(t2, true, type$.SocketStatistic);
      }
      return t1;
    },
    HttpTimelineLoggingState_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1 = new A.HttpTimelineLoggingState(t1.$index(json, "enabled"), t1.$index(json, "type"), null);
      }
      return t1;
    },
    HttpProfile_parse(json) {
      return json == null ? null : A.HttpProfile$_fromJson(json);
    },
    HttpProfile$_fromJson(json) {
      var t2,
        t1 = J.getInterceptor$asx(json);
      t1.$index(json, "timestamp");
      t1 = J.cast$1$0$ax(type$.List_dynamic._as(t1.$index(json, "requests")), type$.Map_String_dynamic);
      t2 = A._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,HttpProfileRequest>");
      return new A.HttpProfile(A.List_List$of(new A.MappedListIterable(t1, new A.HttpProfile$_fromJson_closure(), t2), true, t2._eval$1("ListIterable.E")), null);
    },
    HttpProfileRequest_parse(json) {
      return json == null ? null : A.HttpProfileRequest$_fromJson(json);
    },
    HttpProfileRequest$_fromJson(json) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, _null = null,
        _s9_ = "startTime",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "requestBody");
      t2 = t2 == null ? _null : J.cast$1$0$ax(t2, type$.int);
      t2 = new Uint8Array(A._ensureNativeList(t2 == null ? A._setArrayType([], type$.JSArray_int) : t2));
      t3 = t1.$index(json, "responseBody");
      t3 = t3 == null ? _null : J.cast$1$0$ax(t3, type$.int);
      t3 = new Uint8Array(A._ensureNativeList(t3 == null ? A._setArrayType([], type$.JSArray_int) : t3));
      t4 = t1.$index(json, "isolateId");
      t5 = t1.$index(json, "id");
      t6 = t1.$index(json, "method");
      t7 = A.Uri_parse(t1.$index(json, "uri"), 0, _null);
      t8 = t1.$index(json, _s9_);
      t9 = t1.$index(json, "endTime");
      t10 = t1.$index(json, "request");
      t10 = t10 == null ? _null : A.HttpProfileRequestData$_fromJson(t10);
      t1 = t1.$index(json, "response");
      if (t1 == null)
        t1 = _null;
      else {
        t11 = J.getInterceptor$asx(t1);
        t11.$index(t1, _s9_).toString;
        t12 = t11.$index(t1, "endTime");
        t13 = t11.$index(t1, "headers");
        t13.toString;
        t11.$index(t1, "connectionInfo").toString;
        t11.$index(t1, "contentLength").toString;
        t14 = t11.$index(t1, "compressionState");
        t14.toString;
        t15 = t11.$index(t1, "cookies");
        t15.toString;
        t15 = J.cast$1$0$ax(t15, type$.String);
        t11.$index(t1, "error");
        t16 = t11.$index(t1, "isRedirect");
        t17 = t11.$index(t1, "persistentConnection");
        t18 = t11.$index(t1, "reasonPhrase");
        t19 = t11.$index(t1, "redirects");
        t19.toString;
        t12 = new A.HttpProfileResponseData(new A.UnmodifiableListView(J.cast$1$0$ax(t19, type$.Map_String_dynamic), type$.UnmodifiableListView_Map_String_dynamic), new A.UnmodifiableListView(t15, type$.UnmodifiableListView_String), t13, t14, t18, t16, t17, t11.$index(t1, "statusCode"), t12);
        t1 = t12;
      }
      return new A.HttpProfileRequest(t2, t3, t4, t5, t6, t7, t8, t9, t10, t1);
    },
    HttpProfileRequestData$_fromJson(json) {
      var t4, t5, t6, t7,
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "headers"),
        t3 = t1.$index(json, "connectionInfo");
      if (t3 == null)
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      t4 = t1.$index(json, "contentLength");
      t5 = t1.$index(json, "cookies");
      t5 = t5 == null ? null : J.cast$1$0$ax(t5, type$.String);
      if (t5 == null)
        t5 = A._setArrayType([], type$.JSArray_String);
      t1.$index(json, "followRedirects");
      t1.$index(json, "maxRedirects");
      t1.$index(json, "method");
      t1.$index(json, "persistentConnection");
      t6 = t1.$index(json, "proxyDetails");
      if (t6 != null) {
        t7 = J.getInterceptor$asx(t6);
        t7.$index(t6, "timestamp");
        t7.$index(t6, "event");
        t7.$index(t6, "arguments");
      }
      t6 = t1.$index(json, "error");
      t1 = J.cast$1$0$ax(type$.List_dynamic._as(t1.$index(json, "events")), type$.Map_String_dynamic);
      t7 = A._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,HttpProfileRequestEvent>");
      return new A.HttpProfileRequestData(new A.UnmodifiableMapView(t3, type$.UnmodifiableMapView_String_dynamic), t4, new A.UnmodifiableListView(t5, type$.UnmodifiableListView_String), new A.UnmodifiableListView(A.List_List$of(new A.MappedListIterable(t1, new A.HttpProfileRequestData$_fromJson_closure(), t7), true, t7._eval$1("ListIterable.E")), type$.UnmodifiableListView_HttpProfileRequestEvent), t6, t2);
    },
    SocketProfilingState_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1 = new A.SocketProfilingState(t1.$index(json, "enabled"), t1.$index(json, "type"), null);
      }
      return t1;
    },
    SpawnedProcessRef_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "id");
        t1 = new A.SpawnedProcessRef(t1.$index(json, "name"));
      }
      return t1;
    },
    SpawnedProcess_parse(json) {
      var t1, t2;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "id");
        t2 = t1.$index(json, "name");
        t1.$index(json, "pid");
        t1.$index(json, "startedAt");
        A.List_List$from(type$.List_dynamic._as(A.createServiceObject(t1.$index(json, "arguments"), B.List_String)), true, type$.String);
        t1.$index(json, "workingDirectory");
        t2 = new A.SpawnedProcess(t2, null);
        t1 = t2;
      }
      return t1;
    },
    SpawnedProcessList_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        A.List_List$from(type$.List_dynamic._as(A.createServiceObject(J.$index$asx(json, "processes"), B.List_SpawnedProcessRef)), true, type$.SpawnedProcessRef);
        t1 = new A.SpawnedProcessList(null);
      }
      return t1;
    },
    OpenFileRef_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "id");
        t1 = new A.OpenFileRef(t1.$index(json, "name"));
      }
      return t1;
    },
    OpenFile_parse(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = J.getInterceptor$asx(json);
        t1.$index(json, "id");
        t2 = t1.$index(json, "name");
        t1.$index(json, "readBytes");
        t3 = t1.$index(json, "writeBytes");
        t1.$index(json, "readCount");
        t1.$index(json, "writeCount");
        A.DateTime$fromMillisecondsSinceEpoch(t1.$index(json, "lastReadTime"), false);
        A.DateTime$fromMillisecondsSinceEpoch(t1.$index(json, "lastWriteTime"), false);
        t3 = new A.OpenFile(t2, t3, null);
        t1 = t3;
      }
      return t1;
    },
    OpenFileList_parse(json) {
      var t1;
      if (json == null)
        t1 = null;
      else {
        A.List_List$from(type$.List_dynamic._as(A.createServiceObject(J.$index$asx(json, "files"), B.List_OpenFileRef)), true, type$.OpenFileRef);
        t1 = new A.OpenFileList(null);
      }
      return t1;
    },
    SocketStatistic: function SocketStatistic(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.id = t0;
      _.startTime = t1;
      _.endTime = t2;
      _.lastReadTime = t3;
      _.lastWriteTime = t4;
      _.address = t5;
      _.port = t6;
      _.socketType = t7;
      _.readBytes = t8;
      _.writeBytes = t9;
    },
    SocketProfile: function SocketProfile(t0) {
      this.__SocketProfile_sockets = $;
      this.json = t0;
    },
    _State: function _State() {
    },
    HttpTimelineLoggingState: function HttpTimelineLoggingState(t0, t1, t2) {
      this.enabled = t0;
      this._dart_io_extensions$_type = t1;
      this.json = t2;
    },
    HttpProfile: function HttpProfile(t0, t1) {
      this.requests = t0;
      this.json = t1;
    },
    HttpProfile$_fromJson_closure: function HttpProfile$_fromJson_closure() {
    },
    HttpProfileRequestRef: function HttpProfileRequestRef() {
    },
    HttpProfileRequest: function HttpProfileRequest(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.requestBody = t0;
      _.responseBody = t1;
      _.isolateId = t2;
      _.id = t3;
      _.method = t4;
      _.uri = t5;
      _.startTime = t6;
      _.endTime = t7;
      _.request = t8;
      _.response = t9;
    },
    HttpProfileRequestData: function HttpProfileRequestData(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._connectionInfo = t0;
      _._contentLength = t1;
      _._cookies = t2;
      _.events = t3;
      _.error = t4;
      _._headers = t5;
    },
    HttpProfileRequestData$_fromJson_closure: function HttpProfileRequestData$_fromJson_closure() {
    },
    HttpProfileRequestError: function HttpProfileRequestError(t0, t1) {
      this.error = t0;
      this.stackTrace = t1;
    },
    HttpProfileRequestEvent: function HttpProfileRequestEvent(t0, t1) {
      this.event = t0;
      this.timestamp = t1;
    },
    HttpProfileResponseData: function HttpProfileResponseData(t0, t1, t2, t3, t4, t5, t6, t7, t8) {
      var _ = this;
      _.redirects = t0;
      _.cookies = t1;
      _.headers = t2;
      _.compressionState = t3;
      _.reasonPhrase = t4;
      _.isRedirect = t5;
      _.persistentConnection = t6;
      _.statusCode = t7;
      _.endTime = t8;
    },
    SocketProfilingState: function SocketProfilingState(t0, t1, t2) {
      this.enabled = t0;
      this._dart_io_extensions$_type = t1;
      this.json = t2;
    },
    SpawnedProcessRef: function SpawnedProcessRef(t0) {
      this.name = t0;
    },
    SpawnedProcess: function SpawnedProcess(t0, t1) {
      this.name = t0;
      this.json = t1;
    },
    SpawnedProcessList: function SpawnedProcessList(t0) {
      this.json = t0;
    },
    OpenFileRef: function OpenFileRef(t0) {
      this.name = t0;
    },
    OpenFile: function OpenFile(t0, t1, t2) {
      this.name = t0;
      this.writeBytes = t1;
      this.json = t2;
    },
    OpenFileList: function OpenFileList(t0) {
      this.json = t0;
    },
    HeapSnapshotGraph_getSnapshot(service, isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HeapSnapshotGraph),
        $async$returnValue, t3, chunks, streamSubscription, t4, t1, t2;
      var $async$HeapSnapshotGraph_getSnapshot = 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$.dynamic;
              t2 = type$.Success;
              $async$goto = 3;
              return A._asyncAwait(service._call$1$2(0, "streamListen", A.LinkedHashMap_LinkedHashMap$_literal(["streamId", "HeapSnapshot"], t1, t1), t2), $async$HeapSnapshotGraph_getSnapshot);
            case 3:
              // returning from await.
              t3 = new A._Future($.Zone__current, type$._Future_HeapSnapshotGraph);
              chunks = A._setArrayType([], type$.JSArray_ByteData);
              streamSubscription = A._Cell$named("streamSubscription");
              t4 = service._getEventController$1("HeapSnapshot");
              streamSubscription.__late_helper$_value = new A._BroadcastStream(t4, A._instanceType(t4)._eval$1("_BroadcastStream<1>")).listen$1(new A.HeapSnapshotGraph_getSnapshot_closure(chunks, service, streamSubscription, new A._AsyncCompleter(t3, type$._AsyncCompleter_HeapSnapshotGraph)));
              t4 = isolate.get$id(isolate);
              t4.toString;
              $async$goto = 4;
              return A._asyncAwait(service._call$1$2(0, "requestHeapSnapshot", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t4], t1, t1), t2), $async$HeapSnapshotGraph_getSnapshot);
            case 4:
              // returning from await.
              $async$returnValue = t3;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$HeapSnapshotGraph_getSnapshot, $async$completer);
    },
    _getNonReferenceData(reader) {
      var len, str,
        tag = reader.readUnsigned$0();
      switch (tag) {
        case 0:
          return B.C_HeapSnapshotObjectNoData;
        case 1:
          return B.C_HeapSnapshotObjectNullData;
        case 2:
          return reader.readByte$0() === 1;
        case 3:
          return reader.readUnsigned$0();
        case 4:
          return reader.readFloat64$0();
        case 5:
          len = reader.readUnsigned$0();
          str = reader.readLatin1$0();
          return str.length < len ? str + "..." : str;
        case 6:
          len = reader.readUnsigned$0();
          str = reader.readUtf16$0();
          return str.length < len ? str + "..." : str;
        case 7:
          return new A.HeapSnapshotObjectLengthData(reader.readUnsigned$0());
        case 8:
          return reader.readUtf8$0();
        default:
          throw A.wrapException("Invalid tag: " + tag);
      }
    },
    _ReadStream: function _ReadStream(t0) {
      this._chunks = t0;
      this._byteIndex = this._chunkIndex = 0;
    },
    HeapSnapshotField: function HeapSnapshotField() {
      this._snapshot_graph$_index = -1;
      this._snapshot_graph$_name = "";
    },
    HeapSnapshotClass: function HeapSnapshotClass(t0, t1, t2) {
      var _ = this;
      _._snapshot_graph$_name = t0;
      _._libraryName = "";
      _.__HeapSnapshotClass__libraryUri = t1;
      _._snapshot_graph$_fields = t2;
    },
    HeapSnapshotObject: function HeapSnapshotObject(t0, t1, t2, t3) {
      var _ = this;
      _._graph = t0;
      _._oid = t1;
      _._classId = 0;
      _._shallowSize = -1;
      _.__HeapSnapshotObject__data = t2;
      _._snapshot_graph$_references = t3;
    },
    HeapSnapshotExternalProperty: function HeapSnapshotExternalProperty(t0, t1, t2) {
      this.object = t0;
      this.externalSize = t1;
      this.name = t2;
    },
    HeapSnapshotGraph: function HeapSnapshotGraph(t0, t1, t2) {
      var _ = this;
      _._snapshot_graph$_name = "";
      _._externalSize = _._shallowSize = -1;
      _._classes = t0;
      _._referenceCount = -1;
      _._objects = t1;
      _._externalProperties = t2;
      _.__HeapSnapshotGraph__successors = _.__HeapSnapshotGraph__firstSuccessors = $;
      _._eid = 0;
    },
    HeapSnapshotGraph_getSnapshot_closure: function HeapSnapshotGraph_getSnapshot_closure(t0, t1, t2, t3) {
      var _ = this;
      _.chunks = t0;
      _.service = t1;
      _.streamSubscription = t2;
      _.completer = t3;
    },
    HeapSnapshotObjectNoData: function HeapSnapshotObjectNoData() {
    },
    HeapSnapshotObjectNullData: function HeapSnapshotObjectNullData() {
    },
    HeapSnapshotObjectLengthData: function HeapSnapshotObjectLengthData(t0) {
      this.length = t0;
    },
    createServiceObject(json, expectedTypes) {
      var t1, type, typeFactory;
      if (json == null)
        return null;
      if (type$.List_dynamic._is(json))
        return J.map$1$1$ax(json, new A.createServiceObject_closure(expectedTypes), type$.nullable_Object).toList$0(0);
      else if (type$.Map_String_dynamic._is(json)) {
        t1 = J.getInterceptor$asx(json);
        type = t1.$index(json, "type");
        if (type == null)
          if (expectedTypes.length === 1)
            type = B.JSArray_methods.get$first(expectedTypes);
          else
            return new A.Response(json);
        else if (J.$eq$(t1.$index(json, "type"), "@Instance") && J.$eq$(t1.$index(json, "kind"), "Null") && !B.JSArray_methods.contains$1(expectedTypes, "InstanceRef"))
          return null;
        typeFactory = $.$get$_typeFactories().$index(0, type);
        if (typeFactory == null)
          return null;
        else
          return typeFactory.call$1(json);
      } else
        return json;
    },
    _createSpecificObject(json, creator) {
      var t1, t2, t3, t4;
      if (json == null)
        return null;
      if (type$.List_dynamic._is(json))
        return J.map$1$1$ax(json, new A._createSpecificObject_closure(creator), type$.dynamic).toList$0(0);
      else if (type$.Map_dynamic_dynamic._is(json)) {
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
        for (t2 = J.getInterceptor$x(json), t3 = J.get$iterator$ax(t2.get$keys(json)); t3.moveNext$0();) {
          t4 = t3.get$current(t3);
          t1.$indexSet(0, t4, t2.$index(json, t4));
        }
        return creator.call$1(t1);
      } else
        return json;
    },
    _setIfNotNull(json, key, value) {
      if (value == null)
        return;
      json.$indexSet(0, key, value);
    },
    addTypeFactory($name, factory) {
      if ($.$get$_typeFactories().containsKey$1(0, $name))
        throw A.wrapException(A.StateError$("Factory already registered for " + $name));
      $.$get$_typeFactories().$indexSet(0, $name, factory);
    },
    VmService$(inStream, writeMessage, disposeHandler, log) {
      var t1 = type$.String;
      t1 = new A.VmService(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$._OutstandingRequest_dynamic), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_Map_String_dynamic_Function_Map_String_dynamic), A.StreamController_StreamController$broadcast(true, t1), A.StreamController_StreamController$broadcast(true, t1), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.StreamController_Event));
      t1.VmService$5$disposeHandler$log$streamClosed(inStream, writeMessage, disposeHandler, log, null);
      return t1;
    },
    RPCError$withDetails(callingMethod, code, message, details) {
      var t1 = details == null,
        t2 = t1 ? null : A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      if (!t1)
        t2.$indexSet(0, "details", details);
      return new A.RPCError(callingMethod, code, message, t2);
    },
    ExtensionData_parse(json) {
      return json == null ? null : new A.ExtensionData(json);
    },
    AllocationProfile_parse(json) {
      var _s24_ = "dateLastAccumulatorReset",
        _s17_ = "dateLastServiceGC",
        t1 = new A.AllocationProfile(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "members"), B.List_ClassHeapStats));
      if (t3 == null)
        t3 = [];
      t1.members = A.List_List$from(t3, true, type$.ClassHeapStats);
      t1.memoryUsage = type$.nullable_MemoryUsage._as(A.createServiceObject(t2.$index(json, "memoryUsage"), B.List_MemoryUsage));
      t1.dateLastAccumulatorReset = typeof t2.$index(json, _s24_) == "string" ? A.int_parse(t2.$index(json, _s24_), null) : t2.$index(json, _s24_);
      t1.dateLastServiceGC = typeof t2.$index(json, _s17_) == "string" ? A.int_parse(t2.$index(json, _s17_), null) : t2.$index(json, _s17_);
      return t1;
    },
    BoundField_parse(json) {
      var t1 = new A.BoundField(),
        t2 = J.getInterceptor$asx(json);
      t1.decl = type$.nullable_FieldRef._as(A.createServiceObject(t2.$index(json, "decl"), B.List_FieldRef));
      t1.value = A.createServiceObject(t2.$index(json, "value"), B.List_InstanceRef_Sentinel);
      return t1;
    },
    BoundVariable_parse(json) {
      var _null = null,
        t1 = new A.BoundVariable(_null, _null, _null, _null, _null, json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.value = A.createServiceObject(t2.$index(json, "value"), B.List_PAk);
      t3 = t2.$index(json, "declarationTokenPos");
      t1.declarationTokenPos = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "scopeStartTokenPos");
      t1.scopeStartTokenPos = t3 == null ? -1 : t3;
      t2 = t2.$index(json, "scopeEndTokenPos");
      t1.scopeEndTokenPos = t2 == null ? -1 : t2;
      return t1;
    },
    Breakpoint_parse(json) {
      var t2, t3,
        t1 = new A.Breakpoint(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "breakpointNumber");
      t1.breakpointNumber = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "enabled");
      t1.enabled = t3 == null ? false : t3;
      t3 = t2.$index(json, "resolved");
      t1.resolved = t3 == null ? false : t3;
      t1.isSyntheticAsyncContinuation = t2.$index(json, "isSyntheticAsyncContinuation");
      t1.location = A.createServiceObject(t2.$index(json, "location"), B.List_oqh);
      return t1;
    },
    ClassRef_parse(json) {
      var t1, t2, t3, _null = null,
        _s14_ = "typeParameters";
      if (json == null)
        t1 = _null;
      else {
        t1 = new A.ClassRef(_null, _null, _null, json);
        t1.ObjRef$_fromJson$1(json);
        t2 = J.getInterceptor$asx(json);
        t3 = t2.$index(json, "name");
        t1.name = t3 == null ? "" : t3;
        t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
        t1.library = type$.nullable_LibraryRef._as(A.createServiceObject(t2.$index(json, "library"), B.List_LibraryRef));
        if (t2.$index(json, _s14_) == null)
          t2 = _null;
        else {
          t2 = A.createServiceObject(t2.$index(json, _s14_), B.List_InstanceRef);
          t2.toString;
          t2 = A.List_List$from(type$.List_dynamic._as(t2), true, type$.InstanceRef);
        }
        t1.typeParameters = t2;
      }
      return t1;
    },
    ClassRef$(id, library, $name) {
      return new A.ClassRef($name, library, id, null);
    },
    ClassRef$_fromJson(json) {
      var t2, t3, _null = null,
        _s14_ = "typeParameters",
        t1 = new A.ClassRef(_null, _null, _null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      t1.library = type$.nullable_LibraryRef._as(A.createServiceObject(t2.$index(json, "library"), B.List_LibraryRef));
      if (t2.$index(json, _s14_) == null)
        t2 = _null;
      else {
        t2 = A.createServiceObject(t2.$index(json, _s14_), B.List_InstanceRef);
        t2.toString;
        t2 = A.List_List$from(type$.List_dynamic._as(t2), true, type$.InstanceRef);
      }
      t1.typeParameters = t2;
      return t1;
    },
    Class_parse(json) {
      var t2, t3, t4, t5,
        _s14_ = "typeParameters",
        t1 = new A.Class(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      t1.library = type$.nullable_LibraryRef._as(A.createServiceObject(t2.$index(json, "library"), B.List_LibraryRef));
      if (t2.$index(json, _s14_) == null)
        t3 = null;
      else {
        t3 = A.createServiceObject(t2.$index(json, _s14_), B.List_InstanceRef);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.InstanceRef);
      }
      t1.typeParameters = t3;
      t1.error = type$.nullable_ErrorRef._as(A.createServiceObject(t2.$index(json, "error"), B.List_ErrorRef));
      t3 = t2.$index(json, "abstract");
      t1.isAbstract = t3 == null ? false : t3;
      t3 = t2.$index(json, "const");
      t1.isConst = t3 == null ? false : t3;
      t3 = t2.$index(json, "traceAllocations");
      t1.traceAllocations = t3 == null ? false : t3;
      t1.superClass = type$.nullable_ClassRef._as(A.createServiceObject(t2.$index(json, "super"), B.List_ClassRef));
      t3 = type$.nullable_InstanceRef;
      t1.superType = t3._as(A.createServiceObject(t2.$index(json, "superType"), B.List_InstanceRef));
      t4 = type$.nullable_List_dynamic;
      t5 = t4._as(A.createServiceObject(t2.$index(json, "interfaces"), B.List_InstanceRef));
      if (t5 == null)
        t5 = [];
      t1.interfaces = A.List_List$from(t5, true, type$.InstanceRef);
      t1.mixin = t3._as(A.createServiceObject(t2.$index(json, "mixin"), B.List_InstanceRef));
      t3 = t4._as(A.createServiceObject(t2.$index(json, "fields"), B.List_FieldRef));
      if (t3 == null)
        t3 = [];
      t1.fields = A.List_List$from(t3, true, type$.FieldRef);
      t3 = t4._as(A.createServiceObject(t2.$index(json, "functions"), B.List_FuncRef));
      if (t3 == null)
        t3 = [];
      t1.functions = A.List_List$from(t3, true, type$.FuncRef);
      t2 = t4._as(A.createServiceObject(t2.$index(json, "subclasses"), B.List_ClassRef));
      if (t2 == null)
        t2 = [];
      t1.subclasses = A.List_List$from(t2, true, type$.ClassRef);
      return t1;
    },
    ClassHeapStats_parse(json) {
      var t3,
        t1 = new A.ClassHeapStats(json),
        t2 = J.getInterceptor$asx(json);
      t1.classRef = type$.nullable_ClassRef._as(A.createServiceObject(t2.$index(json, "class"), B.List_ClassRef));
      t3 = t2.$index(json, "accumulatedSize");
      t1.accumulatedSize = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "bytesCurrent");
      t1.bytesCurrent = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "instancesAccumulated");
      t1.instancesAccumulated = t3 == null ? -1 : t3;
      t2 = t2.$index(json, "instancesCurrent");
      t1.instancesCurrent = t2 == null ? -1 : t2;
      return t1;
    },
    ClassList_parse(json) {
      var t1 = new A.ClassList(json),
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "classes"), B.List_ClassRef));
      if (t2 == null)
        t2 = [];
      t1.classes = A.List_List$from(t2, true, type$.ClassRef);
      return t1;
    },
    CodeRef_parse(json) {
      var t2, t3,
        t1 = new A.CodeRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = t2.$index(json, "kind");
      t1.kind = t2 == null ? "" : t2;
      return t1;
    },
    Code_parse(json) {
      var t2, t3,
        t1 = new A.Code(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = t2.$index(json, "kind");
      t1.kind = t2 == null ? "" : t2;
      return t1;
    },
    ContextRef_parse(json) {
      var t2,
        t1 = new A.ContextRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "length");
      t1.length = t2 == null ? -1 : t2;
      return t1;
    },
    Context_parse(json) {
      var t2, t3,
        t1 = new A.Context0(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "length");
      t1.length = t3 == null ? -1 : t3;
      t1.parent = type$.nullable_ContextRef._as(A.createServiceObject(t2.$index(json, "parent"), B.List_ContextRef));
      t2 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "variables"), B.List_ContextElement));
      if (t2 == null)
        t2 = [];
      t1.variables = A.List_List$from(t2, true, type$.ContextElement);
      return t1;
    },
    ContextElement_parse(json) {
      var t1 = new A.ContextElement();
      t1.value = A.createServiceObject(J.$index$asx(json, "value"), B.List_InstanceRef_Sentinel);
      return t1;
    },
    CpuSamples_parse(json) {
      var _null = null,
        t1 = new A.CpuSamples(_null, _null, _null, _null, _null, _null, _null, _null, _null, json);
      t1.CpuSamples$_fromJson$1(json);
      return t1;
    },
    CpuSamplesEvent_parse(json) {
      var t4,
        t1 = new A.CpuSamplesEvent(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "samplePeriod");
      t1.samplePeriod = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "maxStackDepth");
      t1.maxStackDepth = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "sampleCount");
      t1.sampleCount = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "timeSpan");
      t1.timeSpan = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "timeOriginMicros");
      t1.timeOriginMicros = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "timeExtentMicros");
      t1.timeExtentMicros = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "pid");
      t1.pid = t3 == null ? -1 : t3;
      t3 = type$.nullable_List_dynamic;
      t4 = t3._as(A.createServiceObject(t2.$index(json, "functions"), B.List_dynamic));
      if (t4 == null)
        t4 = [];
      t1.functions = A.List_List$from(t4, true, type$.dynamic);
      t2 = t3._as(A.createServiceObject(t2.$index(json, "samples"), B.List_CpuSample));
      if (t2 == null)
        t2 = [];
      t1.samples = A.List_List$from(t2, true, type$.CpuSample);
      return t1;
    },
    CpuSample_parse(json) {
      var t1 = new A.CpuSample(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "tid");
      t1.tid = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "timestamp");
      t1.timestamp = t3 == null ? -1 : t3;
      t1.vmTag = t2.$index(json, "vmTag");
      t1.userTag = t2.$index(json, "userTag");
      t1.truncated = t2.$index(json, "truncated");
      t1.stack = A.List_List$from(t2.$index(json, "stack"), true, type$.int);
      t1.identityHashCode = t2.$index(json, "identityHashCode");
      t1.classId = t2.$index(json, "classId");
      return t1;
    },
    ErrorRef_parse(json) {
      var t2, t3,
        t1 = new A.ErrorRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t2 = t2.$index(json, "message");
      t1.message = t2 == null ? "" : t2;
      return t1;
    },
    Error_parse(json) {
      var t2, t3,
        t1 = new A.Error(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t3 = t2.$index(json, "message");
      t1.message = t3 == null ? "" : t3;
      t3 = type$.nullable_InstanceRef;
      t1.exception = t3._as(A.createServiceObject(t2.$index(json, "exception"), B.List_InstanceRef));
      t1.stacktrace = t3._as(A.createServiceObject(t2.$index(json, "stacktrace"), B.List_InstanceRef));
      return t1;
    },
    Event_parse(json) {
      var t1, t2, t3, _null = null,
        _s16_ = "pauseBreakpoints",
        _s14_ = "timelineEvents",
        _s14_0 = "updatedStreams";
      if (json == null)
        t1 = _null;
      else {
        t1 = new A.Event(json);
        t2 = J.getInterceptor$asx(json);
        t3 = t2.$index(json, "kind");
        t1.kind = t3 == null ? "" : t3;
        t1.isolate = type$.nullable_IsolateRef._as(A.createServiceObject(t2.$index(json, "isolate"), B.List_IsolateRef));
        t1.vm = type$.nullable_VMRef._as(A.createServiceObject(t2.$index(json, "vm"), B.List_VMRef));
        t3 = t2.$index(json, "timestamp");
        t1.timestamp = t3 == null ? -1 : t3;
        t1.breakpoint = type$.nullable_Breakpoint._as(A.createServiceObject(t2.$index(json, "breakpoint"), B.List_Breakpoint));
        if (t2.$index(json, _s16_) == null)
          t3 = _null;
        else {
          t3 = A.createServiceObject(t2.$index(json, _s16_), B.List_Breakpoint);
          t3.toString;
          t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.Breakpoint);
        }
        t1.pauseBreakpoints = t3;
        t1.topFrame = type$.nullable_Frame._as(A.createServiceObject(t2.$index(json, "topFrame"), B.List_Frame));
        t3 = type$.nullable_InstanceRef;
        t1.exception = t3._as(A.createServiceObject(t2.$index(json, "exception"), B.List_InstanceRef));
        t1.bytes = t2.$index(json, "bytes");
        t1.inspectee = t3._as(A.createServiceObject(t2.$index(json, "inspectee"), B.List_InstanceRef));
        t1.extensionRPC = t2.$index(json, "extensionRPC");
        t1.extensionKind = t2.$index(json, "extensionKind");
        t3 = t2.$index(json, "extensionData");
        t1.extensionData = t3 == null ? _null : new A.ExtensionData(t3);
        if (t2.$index(json, _s14_) == null)
          t3 = _null;
        else {
          t3 = A.createServiceObject(t2.$index(json, _s14_), B.List_TimelineEvent);
          t3.toString;
          t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.TimelineEvent_2);
        }
        t1.timelineEvents = t3;
        t1.updatedStreams = t2.$index(json, _s14_0) == null ? _null : A.List_List$from(t2.$index(json, _s14_0), true, type$.String);
        t1.atAsyncSuspension = t2.$index(json, "atAsyncSuspension");
        t1.status = t2.$index(json, "status");
        t1.logRecord = type$.nullable_LogRecord._as(A.createServiceObject(t2.$index(json, "logRecord"), B.List_LogRecord));
        t1.service = t2.$index(json, "service");
        t1.method = t2.$index(json, "method");
        t1.alias = t2.$index(json, "alias");
        t1.flag = t2.$index(json, "flag");
        t1.newValue = t2.$index(json, "newValue");
        t1.last = t2.$index(json, "last");
        t1.updatedTag = t2.$index(json, "updatedTag");
        t1.previousTag = t2.$index(json, "previousTag");
        t1.cpuSamples = type$.nullable_CpuSamplesEvent._as(A.createServiceObject(t2.$index(json, "cpuSamples"), B.List_CpuSamplesEvent));
        t1.data = t2.$index(json, "data");
      }
      return t1;
    },
    Event$_fromJson(json) {
      var _null = null,
        _s16_ = "pauseBreakpoints",
        _s14_ = "timelineEvents",
        _s14_0 = "updatedStreams",
        t1 = new A.Event(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t1.isolate = type$.nullable_IsolateRef._as(A.createServiceObject(t2.$index(json, "isolate"), B.List_IsolateRef));
      t1.vm = type$.nullable_VMRef._as(A.createServiceObject(t2.$index(json, "vm"), B.List_VMRef));
      t3 = t2.$index(json, "timestamp");
      t1.timestamp = t3 == null ? -1 : t3;
      t1.breakpoint = type$.nullable_Breakpoint._as(A.createServiceObject(t2.$index(json, "breakpoint"), B.List_Breakpoint));
      if (t2.$index(json, _s16_) == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t2.$index(json, _s16_), B.List_Breakpoint);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.Breakpoint);
      }
      t1.pauseBreakpoints = t3;
      t1.topFrame = type$.nullable_Frame._as(A.createServiceObject(t2.$index(json, "topFrame"), B.List_Frame));
      t3 = type$.nullable_InstanceRef;
      t1.exception = t3._as(A.createServiceObject(t2.$index(json, "exception"), B.List_InstanceRef));
      t1.bytes = t2.$index(json, "bytes");
      t1.inspectee = t3._as(A.createServiceObject(t2.$index(json, "inspectee"), B.List_InstanceRef));
      t1.extensionRPC = t2.$index(json, "extensionRPC");
      t1.extensionKind = t2.$index(json, "extensionKind");
      t3 = t2.$index(json, "extensionData");
      t1.extensionData = t3 == null ? _null : new A.ExtensionData(t3);
      if (t2.$index(json, _s14_) == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t2.$index(json, _s14_), B.List_TimelineEvent);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.TimelineEvent_2);
      }
      t1.timelineEvents = t3;
      t1.updatedStreams = t2.$index(json, _s14_0) == null ? _null : A.List_List$from(t2.$index(json, _s14_0), true, type$.String);
      t1.atAsyncSuspension = t2.$index(json, "atAsyncSuspension");
      t1.status = t2.$index(json, "status");
      t1.logRecord = type$.nullable_LogRecord._as(A.createServiceObject(t2.$index(json, "logRecord"), B.List_LogRecord));
      t1.service = t2.$index(json, "service");
      t1.method = t2.$index(json, "method");
      t1.alias = t2.$index(json, "alias");
      t1.flag = t2.$index(json, "flag");
      t1.newValue = t2.$index(json, "newValue");
      t1.last = t2.$index(json, "last");
      t1.updatedTag = t2.$index(json, "updatedTag");
      t1.previousTag = t2.$index(json, "previousTag");
      t1.cpuSamples = type$.nullable_CpuSamplesEvent._as(A.createServiceObject(t2.$index(json, "cpuSamples"), B.List_CpuSamplesEvent));
      t1.data = t2.$index(json, "data");
      return t1;
    },
    FieldRef_parse(json) {
      var t2, t3,
        t1 = new A.FieldRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.owner = type$.nullable_ObjRef._as(A.createServiceObject(t2.$index(json, "owner"), B.List_ObjRef));
      t1.declaredType = type$.nullable_InstanceRef._as(A.createServiceObject(t2.$index(json, "declaredType"), B.List_InstanceRef));
      t3 = t2.$index(json, "const");
      t1.isConst = t3 == null ? false : t3;
      t3 = t2.$index(json, "final");
      t1.isFinal = t3 == null ? false : t3;
      t3 = t2.$index(json, "static");
      t1.isStatic = t3 == null ? false : t3;
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      return t1;
    },
    Field_parse(json) {
      var t2, t3,
        t1 = new A.Field(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.owner = type$.nullable_ObjRef._as(A.createServiceObject(t2.$index(json, "owner"), B.List_ObjRef));
      t1.declaredType = type$.nullable_InstanceRef._as(A.createServiceObject(t2.$index(json, "declaredType"), B.List_InstanceRef));
      t3 = t2.$index(json, "const");
      t1.isConst = t3 == null ? false : t3;
      t3 = t2.$index(json, "final");
      t1.isFinal = t3 == null ? false : t3;
      t3 = t2.$index(json, "static");
      t1.isStatic = t3 == null ? false : t3;
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      t1.staticValue = A.createServiceObject(t2.$index(json, "staticValue"), B.List_InstanceRef_Sentinel);
      return t1;
    },
    Flag_parse(json) {
      var t1, t2, t3;
      if (json == null)
        t1 = null;
      else {
        t1 = new A.Flag();
        t2 = J.getInterceptor$asx(json);
        t3 = t2.$index(json, "name");
        t1.name = t3 == null ? "" : t3;
        t3 = t2.$index(json, "comment");
        t1.comment = t3 == null ? "" : t3;
        t3 = t2.$index(json, "modified");
        t1.modified = t3 == null ? false : t3;
        t1.valueAsString = t2.$index(json, "valueAsString");
      }
      return t1;
    },
    Flag$_fromJson(json) {
      var t1 = new A.Flag(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "comment");
      t1.comment = t3 == null ? "" : t3;
      t3 = t2.$index(json, "modified");
      t1.modified = t3 == null ? false : t3;
      t1.valueAsString = t2.$index(json, "valueAsString");
      return t1;
    },
    FlagList_parse(json) {
      var t1 = new A.FlagList(json),
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "flags"), B.List_Flag));
      if (t2 == null)
        t2 = [];
      t1.flags = A.List_List$from(t2, true, type$.Flag);
      return t1;
    },
    Frame_parse(json) {
      var _null = null,
        t1 = new A.Frame1(_null, _null, _null, _null, _null, json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "index");
      t1.index = t3 == null ? -1 : t3;
      t1.$function = type$.nullable_FuncRef._as(A.createServiceObject(t2.$index(json, "function"), B.List_FuncRef));
      t1.code = type$.nullable_CodeRef._as(A.createServiceObject(t2.$index(json, "code"), B.List_CodeRef));
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      if (t2.$index(json, "vars") == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t2.$index(json, "vars"), B.List_BoundVariable);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.BoundVariable);
      }
      t1.vars = t3;
      t1.kind = t2.$index(json, "kind");
      return t1;
    },
    FuncRef_parse(json) {
      var t2, t3,
        t1 = new A.FuncRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.owner = A.createServiceObject(t2.$index(json, "owner"), B.List_LibraryRef_ClassRef_FuncRef);
      t3 = t2.$index(json, "static");
      t1.isStatic = t3 == null ? false : t3;
      t3 = t2.$index(json, "const");
      t1.isConst = t3 == null ? false : t3;
      t3 = t2.$index(json, "implicit");
      t1.implicit = t3 == null ? false : t3;
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      return t1;
    },
    Func_parse(json) {
      var t2, t3,
        t1 = new A.Func(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t1.owner = A.createServiceObject(t2.$index(json, "owner"), B.List_LibraryRef_ClassRef_FuncRef);
      t3 = t2.$index(json, "static");
      t1.isStatic = t3 == null ? false : t3;
      t3 = t2.$index(json, "const");
      t1.isConst = t3 == null ? false : t3;
      t3 = t2.$index(json, "implicit");
      t1.implicit = t3 == null ? false : t3;
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      t1.signature = type$.nullable_InstanceRef._as(A.createServiceObject(t2.$index(json, "signature"), B.List_InstanceRef));
      t1.code = type$.nullable_CodeRef._as(A.createServiceObject(t2.$index(json, "code"), B.List_CodeRef));
      return t1;
    },
    InstanceRef_parse(json) {
      return json == null ? null : A.InstanceRef$_fromJson(json);
    },
    InstanceRef$_fromJson(json) {
      var t1 = new A.InstanceRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t1.InstanceRef$_fromJson$1(json);
      return t1;
    },
    Instance_parse(json) {
      var t1 = A.Instance$_fromJson(json);
      return t1;
    },
    Instance$(associations, classRef, count, elements, id, identityHashCode, kind, offset, valueAsString) {
      return new A.Instance(kind, identityHashCode, classRef, valueAsString, offset, count, elements, associations, id, classRef, null);
    },
    Instance$_fromJson(json) {
      var _null = null,
        t1 = new A.Instance(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, json);
      t1.Obj$_fromJson$1(json);
      t1.Instance$_fromJson$1(json);
      return t1;
    },
    IsolateRef_parse(json) {
      var _null = null,
        t1 = new A.IsolateRef(_null, _null, _null, _null, json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "id");
      t1.id = t3 == null ? "" : t3;
      t3 = t2.$index(json, "number");
      t1.number = t3 == null ? "" : t3;
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = t2.$index(json, "isSystemIsolate");
      t1.isSystemIsolate = t2 == null ? false : t2;
      return t1;
    },
    Isolate_parse(json) {
      var t4,
        _s13_ = "extensionRPCs",
        t1 = new A.Isolate(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "id");
      t1.id = t3 == null ? "" : t3;
      t3 = t2.$index(json, "number");
      t1.number = t3 == null ? "" : t3;
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "isSystemIsolate");
      t1.isSystemIsolate = t3 == null ? false : t3;
      t3 = type$.nullable_List_dynamic;
      t4 = t3._as(A.createServiceObject(t2.$index(json, "isolateFlags"), B.List_IsolateFlag));
      if (t4 == null)
        t4 = [];
      t1.isolateFlags = A.List_List$from(t4, true, type$.IsolateFlag);
      t4 = t2.$index(json, "startTime");
      t1.startTime = t4 == null ? -1 : t4;
      t4 = t2.$index(json, "runnable");
      t1.runnable = t4 == null ? false : t4;
      t4 = t2.$index(json, "livePorts");
      t1.livePorts = t4 == null ? -1 : t4;
      t4 = t2.$index(json, "pauseOnExit");
      t1.pauseOnExit = t4 == null ? false : t4;
      t1.pauseEvent = type$.nullable_Event._as(A.createServiceObject(t2.$index(json, "pauseEvent"), B.List_Event));
      t1.rootLib = type$.nullable_LibraryRef._as(A.createServiceObject(t2.$index(json, "rootLib"), B.List_LibraryRef));
      t4 = t3._as(A.createServiceObject(t2.$index(json, "libraries"), B.List_LibraryRef));
      if (t4 == null)
        t4 = [];
      t1.libraries = A.List_List$from(t4, true, type$.LibraryRef);
      t3 = t3._as(A.createServiceObject(t2.$index(json, "breakpoints"), B.List_Breakpoint));
      if (t3 == null)
        t3 = [];
      t1.breakpoints = A.List_List$from(t3, true, type$.Breakpoint);
      t1.error = type$.nullable_Error._as(A.createServiceObject(t2.$index(json, "error"), B.List_Error));
      t3 = t2.$index(json, "exceptionPauseMode");
      t1.exceptionPauseMode = t3 == null ? "" : t3;
      t1.extensionRPCs = t2.$index(json, _s13_) == null ? null : A.List_List$from(t2.$index(json, _s13_), true, type$.String);
      return t1;
    },
    IsolateFlag_parse(json) {
      var t1 = new A.IsolateFlag(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = t2.$index(json, "valueAsString");
      t1.valueAsString = t2 == null ? "" : t2;
      return t1;
    },
    IsolateGroupRef_parse(json) {
      var t1 = new A.IsolateGroupRef(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "id");
      t1.id = t3 == null ? "" : t3;
      t3 = t2.$index(json, "number");
      t1.number = t3 == null ? "" : t3;
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = t2.$index(json, "isSystemIsolateGroup");
      t1.isSystemIsolateGroup = t2 == null ? false : t2;
      return t1;
    },
    IsolateGroup_parse(json) {
      var t1 = new A.IsolateGroup(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "id");
      t1.id = t3 == null ? "" : t3;
      t3 = t2.$index(json, "number");
      t1.number = t3 == null ? "" : t3;
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "isSystemIsolateGroup");
      t1.isSystemIsolateGroup = t3 == null ? false : t3;
      t2 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "isolates"), B.List_IsolateRef));
      if (t2 == null)
        t2 = [];
      t1.isolates = A.List_List$from(t2, true, type$.IsolateRef);
      return t1;
    },
    InboundReferences_parse(json) {
      var t1 = new A.InboundReferences(json),
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "references"), B.List_InboundReference));
      if (t2 == null)
        t2 = [];
      t1.references = A.List_List$from(t2, true, type$.InboundReference);
      return t1;
    },
    InboundReference_parse(json) {
      var t1 = new A.InboundReference(),
        t2 = J.getInterceptor$asx(json);
      t1.source = type$.nullable_ObjRef._as(A.createServiceObject(t2.$index(json, "source"), B.List_ObjRef));
      t1.parentListIndex = t2.$index(json, "parentListIndex");
      t1.parentField = type$.nullable_FieldRef._as(A.createServiceObject(t2.$index(json, "parentField"), B.List_FieldRef));
      return t1;
    },
    InstanceSet_parse(json) {
      var t1 = new A.InstanceSet(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "totalCount");
      t1.totalCount = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "instances");
      if (t3 == null) {
        t2 = t2.$index(json, "samples");
        t2.toString;
      } else
        t2 = t3;
      t3 = type$.List_dynamic;
      t2 = A.createServiceObject(t3._as(t2), B.List_ObjRef);
      t2.toString;
      t1.instances = A.List_List$from(t3._as(t2), true, type$.ObjRef);
      return t1;
    },
    LibraryRef_parse(json) {
      var t2, t3,
        t1 = new A.LibraryRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = t2.$index(json, "uri");
      t1.uri = t2 == null ? "" : t2;
      return t1;
    },
    Library_parse(json) {
      var t2, t3, t4,
        t1 = new A.Library(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "uri");
      t1.uri = t3 == null ? "" : t3;
      t3 = t2.$index(json, "debuggable");
      t1.debuggable = t3 == null ? false : t3;
      t3 = t2.$index(json, "dependencies");
      t3.toString;
      t1.dependencies = A.List_List$from(A._createSpecificObject(t3, A.vm_service_LibraryDependency_parse$closure()), true, type$.LibraryDependency);
      t3 = type$.nullable_List_dynamic;
      t4 = t3._as(A.createServiceObject(t2.$index(json, "scripts"), B.List_ScriptRef));
      if (t4 == null)
        t4 = [];
      t1.scripts = A.List_List$from(t4, true, type$.ScriptRef);
      t4 = t3._as(A.createServiceObject(t2.$index(json, "variables"), B.List_FieldRef));
      if (t4 == null)
        t4 = [];
      t1.variables = A.List_List$from(t4, true, type$.FieldRef);
      t4 = t3._as(A.createServiceObject(t2.$index(json, "functions"), B.List_FuncRef));
      if (t4 == null)
        t4 = [];
      t1.functions = A.List_List$from(t4, true, type$.FuncRef);
      t2 = t3._as(A.createServiceObject(t2.$index(json, "classes"), B.List_ClassRef));
      if (t2 == null)
        t2 = [];
      t1.classes = A.List_List$from(t2, true, type$.ClassRef);
      return t1;
    },
    LibraryDependency_parse(json) {
      var t1 = new A.LibraryDependency(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "isImport");
      t1.isImport = t3 == null ? false : t3;
      t3 = t2.$index(json, "isDeferred");
      t1.isDeferred = t3 == null ? false : t3;
      t3 = t2.$index(json, "prefix");
      t1.prefix = t3 == null ? "" : t3;
      t1.target = type$.nullable_LibraryRef._as(A.createServiceObject(t2.$index(json, "target"), B.List_LibraryRef));
      t1.shows = t2.$index(json, "shows") == null ? null : A.List_List$from(t2.$index(json, "shows"), true, type$.String);
      t1.hides = t2.$index(json, "hides") == null ? null : A.List_List$from(t2.$index(json, "hides"), true, type$.String);
      return t1;
    },
    LogRecord_parse(json) {
      var t4,
        t1 = new A.LogRecord(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_InstanceRef;
      t1.message = t3._as(A.createServiceObject(t2.$index(json, "message"), B.List_InstanceRef));
      t4 = t2.$index(json, "time");
      t1.time = t4 == null ? -1 : t4;
      t4 = t2.$index(json, "level");
      t1.level = t4 == null ? -1 : t4;
      t4 = t2.$index(json, "sequenceNumber");
      t1.sequenceNumber = t4 == null ? -1 : t4;
      t1.loggerName = t3._as(A.createServiceObject(t2.$index(json, "loggerName"), B.List_InstanceRef));
      t1.zone = t3._as(A.createServiceObject(t2.$index(json, "zone"), B.List_InstanceRef));
      t1.error = t3._as(A.createServiceObject(t2.$index(json, "error"), B.List_InstanceRef));
      t1.stackTrace = t3._as(A.createServiceObject(t2.$index(json, "stackTrace"), B.List_InstanceRef));
      return t1;
    },
    MapAssociation_parse(json) {
      var t1 = new A.MapAssociation(null, null),
        t2 = J.getInterceptor$asx(json);
      t1.key = A.createServiceObject(t2.$index(json, "key"), B.List_InstanceRef_Sentinel);
      t1.value = A.createServiceObject(t2.$index(json, "value"), B.List_InstanceRef_Sentinel);
      return t1;
    },
    MemoryUsage_parse(json) {
      var t1 = new A.MemoryUsage(null, null, null, json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "externalUsage");
      t1.externalUsage = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "heapCapacity");
      t1.heapCapacity = t3 == null ? -1 : t3;
      t2 = t2.$index(json, "heapUsage");
      t1.heapUsage = t2 == null ? -1 : t2;
      return t1;
    },
    Message_parse(json) {
      var t1 = new A.Message(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "index");
      t1.index = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "messageObjectId");
      t1.messageObjectId = t3 == null ? "" : t3;
      t3 = t2.$index(json, "size");
      t1.size = t3 == null ? -1 : t3;
      t1.handler = type$.nullable_FuncRef._as(A.createServiceObject(t2.$index(json, "handler"), B.List_FuncRef));
      t1.location = type$.nullable_SourceLocation._as(A.createServiceObject(t2.$index(json, "location"), B.List_SourceLocation));
      return t1;
    },
    NativeFunction_parse(json) {
      var t1 = new A.NativeFunction(),
        t2 = J.$index$asx(json, "name");
      t1.name = t2 == null ? "" : t2;
      return t1;
    },
    NullValRef_parse(json) {
      var t2,
        t1 = new A.NullValRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t1.InstanceRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "valueAsString");
      t1.NullValRef_valueAsString = t2 == null ? "" : t2;
      return t1;
    },
    NullVal_parse(json) {
      var t2, _null = null,
        t1 = new A.NullVal(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, json);
      t1.Obj$_fromJson$1(json);
      t1.Instance$_fromJson$1(json);
      t2 = J.$index$asx(json, "valueAsString");
      t1.NullVal_valueAsString = t2 == null ? "" : t2;
      return t1;
    },
    ObjRef_parse(json) {
      var t1 = A.ObjRef$_fromJson(json);
      return t1;
    },
    ObjRef$_fromJson(json) {
      var t1 = new A.ObjRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      return t1;
    },
    Obj_parse(json) {
      var t1 = A.Obj$_fromJson(json);
      return t1;
    },
    Obj$_fromJson(json) {
      var t1 = new A.Obj(null, null, json);
      t1.Obj$_fromJson$1(json);
      return t1;
    },
    Parameter_parse(json) {
      var t3,
        t1 = new A.Parameter(),
        t2 = J.getInterceptor$asx(json);
      t1.parameterType = type$.nullable_InstanceRef._as(A.createServiceObject(t2.$index(json, "parameterType"), B.List_InstanceRef));
      t3 = t2.$index(json, "fixed");
      t1.fixed = t3 == null ? false : t3;
      t1.name = t2.$index(json, "name");
      t1.required = t2.$index(json, "required");
      return t1;
    },
    PortList_parse(json) {
      var t1 = new A.PortList(json),
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "ports"), B.List_InstanceRef));
      if (t2 == null)
        t2 = [];
      t1.ports = A.List_List$from(t2, true, type$.InstanceRef);
      return t1;
    },
    ProfileFunction_parse(json) {
      var t1 = new A.ProfileFunction(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t3 = t2.$index(json, "inclusiveTicks");
      t1.inclusiveTicks = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "exclusiveTicks");
      t1.exclusiveTicks = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "resolvedUrl");
      t1.resolvedUrl = t3 == null ? "" : t3;
      t1.$function = A.createServiceObject(t2.$index(json, "function"), B.List_dynamic);
      return t1;
    },
    ProtocolList_parse(json) {
      var t1 = new A.ProtocolList(json),
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "protocols"), B.List_Protocol));
      if (t2 == null)
        t2 = [];
      t1.protocols = A.List_List$from(t2, true, type$.Protocol);
      return t1;
    },
    Protocol_parse(json) {
      var t1 = new A.Protocol(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "protocolName");
      t1.protocolName = t3 == null ? "" : t3;
      t3 = t2.$index(json, "major");
      t1.major = t3 == null ? -1 : t3;
      t2 = t2.$index(json, "minor");
      t1.minor = t2 == null ? -1 : t2;
      return t1;
    },
    ProcessMemoryUsage_parse(json) {
      var t1 = new A.ProcessMemoryUsage(json);
      t1.root = type$.nullable_ProcessMemoryItem._as(A.createServiceObject(J.$index$asx(json, "root"), B.List_ProcessMemoryItem));
      return t1;
    },
    ProcessMemoryItem_parse(json) {
      var t1 = new A.ProcessMemoryItem(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "description");
      t1.description = t3 == null ? "" : t3;
      t3 = t2.$index(json, "size");
      t1.size = t3 == null ? -1 : t3;
      t2 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "children"), B.List_ProcessMemoryItem));
      if (t2 == null)
        t2 = [];
      t1.children = A.List_List$from(t2, true, type$.ProcessMemoryItem);
      return t1;
    },
    ReloadReport_parse(json) {
      var t1 = new A.ReloadReport(json),
        t2 = J.$index$asx(json, "success");
      t1.success = t2 == null ? false : t2;
      return t1;
    },
    RetainingObject_parse(json) {
      var t1 = new A.RetainingObject(),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_ObjRef;
      t1.value = t3._as(A.createServiceObject(t2.$index(json, "value"), B.List_ObjRef));
      t1.parentListIndex = t2.$index(json, "parentListIndex");
      t1.parentMapKey = t3._as(A.createServiceObject(t2.$index(json, "parentMapKey"), B.List_ObjRef));
      t1.parentField = t2.$index(json, "parentField");
      return t1;
    },
    RetainingPath_parse(json) {
      var t1 = new A.RetainingPath(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "length");
      t1.length = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "gcRootType");
      t1.gcRootType = t3 == null ? "" : t3;
      t2 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "elements"), B.List_RetainingObject));
      if (t2 == null)
        t2 = [];
      t1.elements = A.List_List$from(t2, true, type$.RetainingObject);
      return t1;
    },
    Response_parse(json) {
      return json == null ? null : new A.Response(json);
    },
    Sentinel_parse(json) {
      var t1 = new A.Sentinel(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t2 = t2.$index(json, "valueAsString");
      t1.valueAsString = t2 == null ? "" : t2;
      return t1;
    },
    Sentinel$_fromJson(json) {
      var t1 = new A.Sentinel(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "kind");
      t1.kind = t3 == null ? "" : t3;
      t2 = t2.$index(json, "valueAsString");
      t1.valueAsString = t2 == null ? "" : t2;
      return t1;
    },
    ScriptRef_parse(json) {
      var t2,
        t1 = new A.ScriptRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "uri");
      t1.uri = t2 == null ? "" : t2;
      return t1;
    },
    Script_parse(json) {
      var t1 = A.Script$_fromJson(json);
      return t1;
    },
    Script$_fromJson(json) {
      var t1 = type$.int;
      t1 = new A.Script(A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), null, null, json);
      t1.Obj$_fromJson$1(json);
      t1.Script$_fromJson$1(json);
      return t1;
    },
    ScriptList_parse(json) {
      var t1 = new A.ScriptList(json),
        t2 = type$.nullable_List_dynamic._as(A.createServiceObject(J.$index$asx(json, "scripts"), B.List_ScriptRef));
      if (t2 == null)
        t2 = [];
      t1.scripts = A.List_List$from(t2, true, type$.ScriptRef);
      return t1;
    },
    SourceLocation_parse(json) {
      var t3,
        t1 = new A.SourceLocation(json),
        t2 = J.getInterceptor$asx(json);
      t1.script = type$.nullable_ScriptRef._as(A.createServiceObject(t2.$index(json, "script"), B.List_ScriptRef));
      t3 = t2.$index(json, "tokenPos");
      t1.tokenPos = t3 == null ? -1 : t3;
      t1.endTokenPos = t2.$index(json, "endTokenPos");
      t1.line = t2.$index(json, "line");
      t1.column = t2.$index(json, "column");
      return t1;
    },
    SourceReport_parse(json) {
      var t1 = new A.SourceReport(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "ranges");
      t3.toString;
      t1.ranges = A.List_List$from(A._createSpecificObject(t3, A.vm_service_SourceReportRange_parse$closure()), true, type$.SourceReportRange);
      t2 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "scripts"), B.List_ScriptRef));
      if (t2 == null)
        t2 = [];
      t1.scripts = A.List_List$from(t2, true, type$.ScriptRef);
      return t1;
    },
    SourceReportCoverage_parse(json) {
      var t1 = new A.SourceReportCoverage(),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.int;
      t1.hits = A.List_List$from(t2.$index(json, "hits"), true, t3);
      t1.misses = A.List_List$from(t2.$index(json, "misses"), true, t3);
      return t1;
    },
    SourceReportRange_parse(json) {
      var _s19_ = "possibleBreakpoints",
        t1 = new A.SourceReportRange(),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "scriptIndex");
      t1.scriptIndex = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "startPos");
      t1.startPos = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "endPos");
      t1.endPos = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "compiled");
      t1.compiled = t3 == null ? false : t3;
      t1.error = type$.nullable_ErrorRef._as(A.createServiceObject(t2.$index(json, "error"), B.List_ErrorRef));
      t1.coverage = A._createSpecificObject(t2.$index(json, "coverage"), A.vm_service_SourceReportCoverage_parse$closure());
      t1.possibleBreakpoints = t2.$index(json, _s19_) == null ? null : A.List_List$from(t2.$index(json, _s19_), true, type$.int);
      t1.branchCoverage = type$.nullable_SourceReportCoverage._as(A.createServiceObject(t2.$index(json, "branchCoverage"), B.List_SourceReportCoverage));
      return t1;
    },
    Stack_parse(json) {
      var t5,
        _s17_ = "asyncCausalFrames",
        _s13_ = "awaiterFrames",
        t1 = new A.Stack0(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_List_dynamic,
        t4 = t3._as(A.createServiceObject(t2.$index(json, "frames"), B.List_Frame));
      if (t4 == null)
        t4 = [];
      t5 = type$.Frame_2;
      t1.frames = A.List_List$from(t4, true, t5);
      if (t2.$index(json, _s17_) == null)
        t4 = null;
      else {
        t4 = A.createServiceObject(t2.$index(json, _s17_), B.List_Frame);
        t4.toString;
        t4 = A.List_List$from(type$.List_dynamic._as(t4), true, t5);
      }
      t1.asyncCausalFrames = t4;
      if (t2.$index(json, _s13_) == null)
        t4 = null;
      else {
        t4 = A.createServiceObject(t2.$index(json, _s13_), B.List_Frame);
        t4.toString;
        t5 = A.List_List$from(type$.List_dynamic._as(t4), true, t5);
        t4 = t5;
      }
      t1.awaiterFrames = t4;
      t3 = t3._as(A.createServiceObject(t2.$index(json, "messages"), B.List_Message));
      if (t3 == null)
        t3 = [];
      t1.messages = A.List_List$from(t3, true, type$.Message);
      t2 = t2.$index(json, "truncated");
      t1.truncated = t2 == null ? false : t2;
      return t1;
    },
    Success_parse(json) {
      return new A.Success(json);
    },
    Timeline_parse(json) {
      var t1 = new A.Timeline(json),
        t2 = J.getInterceptor$asx(json),
        t3 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "traceEvents"), B.List_TimelineEvent));
      if (t3 == null)
        t3 = [];
      t1.traceEvents = A.List_List$from(t3, true, type$.TimelineEvent_2);
      t3 = t2.$index(json, "timeOriginMicros");
      t1.timeOriginMicros = t3 == null ? -1 : t3;
      t2 = t2.$index(json, "timeExtentMicros");
      t1.timeExtentMicros = t2 == null ? -1 : t2;
      return t1;
    },
    TimelineEvent_parse(json) {
      return new A.TimelineEvent(json);
    },
    TimelineFlags_parse(json) {
      var t1 = new A.TimelineFlags(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "recorderName");
      t1.recorderName = t3 == null ? "" : t3;
      t3 = type$.String;
      t1.availableStreams = A.List_List$from(t2.$index(json, "availableStreams"), true, t3);
      t1.recordedStreams = A.List_List$from(t2.$index(json, "recordedStreams"), true, t3);
      return t1;
    },
    Timestamp_parse(json) {
      var t1 = new A.Timestamp(json),
        t2 = J.$index$asx(json, "timestamp");
      t1.timestamp = t2 == null ? -1 : t2;
      return t1;
    },
    TypeArgumentsRef_parse(json) {
      var t2,
        t1 = new A.TypeArgumentsRef(null, json);
      t1.ObjRef$_fromJson$1(json);
      t2 = J.$index$asx(json, "name");
      t1.name = t2 == null ? "" : t2;
      return t1;
    },
    TypeArguments_parse(json) {
      var t2, t3,
        t1 = new A.TypeArguments(null, null, json);
      t1.Obj$_fromJson$1(json);
      t2 = J.getInterceptor$asx(json);
      t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t2 = type$.nullable_List_dynamic._as(A.createServiceObject(t2.$index(json, "types"), B.List_InstanceRef));
      if (t2 == null)
        t2 = [];
      t1.types = A.List_List$from(t2, true, type$.InstanceRef);
      return t1;
    },
    TypeParameters_parse(json) {
      var t3,
        t1 = new A.TypeParameters(),
        t2 = J.getInterceptor$asx(json);
      t1.names = A.List_List$from(t2.$index(json, "names"), true, type$.String);
      t3 = type$.nullable_TypeArgumentsRef;
      t1.bounds = t3._as(A.createServiceObject(t2.$index(json, "bounds"), B.List_TypeArgumentsRef));
      t1.defaults = t3._as(A.createServiceObject(t2.$index(json, "defaults"), B.List_TypeArgumentsRef));
      return t1;
    },
    UnresolvedSourceLocation_parse(json) {
      var t1 = new A.UnresolvedSourceLocation(json),
        t2 = J.getInterceptor$asx(json);
      t1.script = type$.nullable_ScriptRef._as(A.createServiceObject(t2.$index(json, "script"), B.List_ScriptRef));
      t1.scriptUri = t2.$index(json, "scriptUri");
      t1.tokenPos = t2.$index(json, "tokenPos");
      t1.line = t2.$index(json, "line");
      t1.column = t2.$index(json, "column");
      return t1;
    },
    UriList_parse(json) {
      var t1 = new A.UriList(json);
      t1.uris = A.List_List$from(J.$index$asx(json, "uris"), true, type$.nullable_String);
      return t1;
    },
    Version_parse(json) {
      var t1 = new A.Version(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "major");
      t1.major = t3 == null ? -1 : t3;
      t2 = t2.$index(json, "minor");
      t1.minor = t2 == null ? -1 : t2;
      return t1;
    },
    VMRef_parse(json) {
      var t1 = new A.VMRef(json),
        t2 = J.$index$asx(json, "name");
      t1.name = t2 == null ? "" : t2;
      return t1;
    },
    VM_parse(json) {
      var t4, t5, t6,
        t1 = new A.VM(json),
        t2 = J.getInterceptor$asx(json),
        t3 = t2.$index(json, "name");
      t1.name = t3 == null ? "" : t3;
      t3 = t2.$index(json, "architectureBits");
      t1.architectureBits = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "hostCPU");
      t1.hostCPU = t3 == null ? "" : t3;
      t3 = t2.$index(json, "operatingSystem");
      t1.operatingSystem = t3 == null ? "" : t3;
      t3 = t2.$index(json, "targetCPU");
      t1.targetCPU = t3 == null ? "" : t3;
      t3 = t2.$index(json, "version");
      t1.version = t3 == null ? "" : t3;
      t3 = t2.$index(json, "pid");
      t1.pid = t3 == null ? -1 : t3;
      t3 = t2.$index(json, "startTime");
      t1.startTime = t3 == null ? -1 : t3;
      t3 = type$.nullable_List_dynamic;
      t4 = t3._as(A.createServiceObject(t2.$index(json, "isolates"), B.List_IsolateRef));
      if (t4 == null)
        t4 = [];
      t5 = type$.IsolateRef;
      t1.isolates = A.List_List$from(t4, true, t5);
      t4 = t3._as(A.createServiceObject(t2.$index(json, "isolateGroups"), B.List_IsolateGroupRef));
      if (t4 == null)
        t4 = [];
      t6 = type$.IsolateGroupRef;
      t1.isolateGroups = A.List_List$from(t4, true, t6);
      t4 = t3._as(A.createServiceObject(t2.$index(json, "systemIsolates"), B.List_IsolateRef));
      t1.systemIsolates = A.List_List$from(t4 == null ? [] : t4, true, t5);
      t2 = t3._as(A.createServiceObject(t2.$index(json, "systemIsolateGroups"), B.List_IsolateGroupRef));
      t1.systemIsolateGroups = A.List_List$from(t2 == null ? [] : t2, true, t6);
      return t1;
    },
    createServiceObject_closure: function createServiceObject_closure(t0) {
      this.expectedTypes = t0;
    },
    _createSpecificObject_closure: function _createSpecificObject_closure(t0) {
      this.creator = t0;
    },
    _OutstandingRequest: function _OutstandingRequest(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.method = t1;
      _._vm_service$_stackTrace = t2;
      _._vm_service$_completer = t3;
      _.$ti = t4;
    },
    VmService: function VmService(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.__VmService__writeMessage = _.__VmService__streamSub = $;
      _._outstandingRequests = t0;
      _._services = t1;
      _.__VmService__log = $;
      _._onSend = t2;
      _._onReceive = t3;
      _._onDoneCompleter = t4;
      _._eventControllers = t5;
      _.__VmService__disposeHandler = $;
    },
    VmService_closure: function VmService_closure(t0) {
      this.$this = t0;
    },
    VmService_dispose_closure: function VmService_dispose_closure() {
    },
    RPCError: function RPCError(t0, t1, t2, t3) {
      var _ = this;
      _.callingMethod = t0;
      _.code = t1;
      _.message = t2;
      _.data = t3;
    },
    SentinelException: function SentinelException(t0, t1) {
      this.callingMethod = t0;
      this.sentinel = t1;
    },
    ExtensionData: function ExtensionData(t0) {
      this.data = t0;
    },
    _NullLog: function _NullLog() {
    },
    AllocationProfile: function AllocationProfile(t0) {
      var _ = this;
      _.dateLastServiceGC = _.dateLastAccumulatorReset = _.memoryUsage = _.members = null;
      _.json = t0;
    },
    AllocationProfile_toJson_closure: function AllocationProfile_toJson_closure() {
    },
    BoundField: function BoundField() {
      this.value = this.decl = null;
    },
    BoundVariable: function BoundVariable(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.name = t0;
      _.value = t1;
      _.declarationTokenPos = t2;
      _.scopeStartTokenPos = t3;
      _.scopeEndTokenPos = t4;
      _.json = t5;
    },
    Breakpoint: function Breakpoint(t0, t1, t2) {
      var _ = this;
      _.location = _.isSyntheticAsyncContinuation = _.resolved = _.enabled = _.breakpointNumber = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    ClassRef: function ClassRef(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.location = null;
      _.library = t1;
      _.typeParameters = null;
      _.id = t2;
      _.fixedId = null;
      _.json = t3;
    },
    ClassRef_toJson_closure: function ClassRef_toJson_closure() {
    },
    Class: function Class(t0, t1, t2) {
      var _ = this;
      _.subclasses = _.functions = _.fields = _.mixin = _.interfaces = _.superType = _.superClass = _.traceAllocations = _.isConst = _.isAbstract = _.error = _.typeParameters = _.library = _.location = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    Class_toJson_closure: function Class_toJson_closure() {
    },
    Class_toJson_closure0: function Class_toJson_closure0() {
    },
    Class_toJson_closure1: function Class_toJson_closure1() {
    },
    Class_toJson_closure2: function Class_toJson_closure2() {
    },
    Class_toJson_closure3: function Class_toJson_closure3() {
    },
    ClassHeapStats: function ClassHeapStats(t0) {
      var _ = this;
      _.instancesCurrent = _.instancesAccumulated = _.bytesCurrent = _.accumulatedSize = _.classRef = null;
      _.json = t0;
    },
    ClassList: function ClassList(t0) {
      this.classes = null;
      this.json = t0;
    },
    ClassList_toJson_closure: function ClassList_toJson_closure() {
    },
    CodeRef: function CodeRef(t0, t1) {
      var _ = this;
      _.kind = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Code: function Code(t0, t1, t2) {
      var _ = this;
      _.kind = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    ContextRef: function ContextRef(t0, t1) {
      var _ = this;
      _.length = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Context0: function Context0(t0, t1, t2) {
      var _ = this;
      _.variables = _.parent = _.length = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    Context_toJson_closure: function Context_toJson_closure() {
    },
    ContextElement: function ContextElement() {
      this.value = null;
    },
    CpuSamples: function CpuSamples(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9) {
      var _ = this;
      _.samplePeriod = t0;
      _.maxStackDepth = t1;
      _.sampleCount = t2;
      _.timeSpan = t3;
      _.timeOriginMicros = t4;
      _.timeExtentMicros = t5;
      _.pid = t6;
      _.functions = t7;
      _.samples = t8;
      _.json = t9;
    },
    CpuSamples_toJson_closure: function CpuSamples_toJson_closure() {
    },
    CpuSamples_toJson_closure0: function CpuSamples_toJson_closure0() {
    },
    CpuSamplesEvent: function CpuSamplesEvent() {
      var _ = this;
      _.samples = _.functions = _.pid = _.timeExtentMicros = _.timeOriginMicros = _.timeSpan = _.sampleCount = _.maxStackDepth = _.samplePeriod = null;
    },
    CpuSamplesEvent_toJson_closure: function CpuSamplesEvent_toJson_closure() {
    },
    CpuSamplesEvent_toJson_closure0: function CpuSamplesEvent_toJson_closure0() {
    },
    CpuSample: function CpuSample() {
      var _ = this;
      _.classId = _.identityHashCode = _.stack = _.truncated = _.userTag = _.vmTag = _.timestamp = _.tid = null;
    },
    CpuSample_toJson_closure: function CpuSample_toJson_closure() {
    },
    ErrorRef: function ErrorRef(t0, t1) {
      var _ = this;
      _.message = _.kind = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Error: function Error(t0, t1, t2) {
      var _ = this;
      _.stacktrace = _.exception = _.message = _.kind = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    Event: function Event(t0) {
      var _ = this;
      _.data = _.cpuSamples = _.previousTag = _.updatedTag = _.last = _.newValue = _.flag = _.alias = _.method = _.service = _.logRecord = _.status = _.atAsyncSuspension = _.updatedStreams = _.timelineEvents = _.extensionData = _.extensionKind = _.extensionRPC = _.inspectee = _.bytes = _.exception = _.topFrame = _.pauseBreakpoints = _.breakpoint = _.timestamp = _.vm = _.isolate = _.kind = null;
      _.json = t0;
    },
    Event_toJson_closure: function Event_toJson_closure() {
    },
    Event_toJson_closure0: function Event_toJson_closure0() {
    },
    Event_toJson_closure1: function Event_toJson_closure1() {
    },
    FieldRef: function FieldRef(t0, t1) {
      var _ = this;
      _.location = _.isStatic = _.isFinal = _.isConst = _.declaredType = _.owner = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Field: function Field(t0, t1, t2) {
      var _ = this;
      _.staticValue = _.location = _.isStatic = _.isFinal = _.isConst = _.declaredType = _.owner = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    Flag: function Flag() {
      var _ = this;
      _.valueAsString = _.modified = _.comment = _.name = null;
    },
    FlagList: function FlagList(t0) {
      this.flags = null;
      this.json = t0;
    },
    FlagList_toJson_closure: function FlagList_toJson_closure() {
    },
    Frame1: function Frame1(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _.index = t0;
      _.$function = t1;
      _.code = t2;
      _.location = t3;
      _.vars = null;
      _.kind = t4;
      _.json = t5;
    },
    Frame_toJson_closure: function Frame_toJson_closure() {
    },
    FuncRef: function FuncRef(t0, t1) {
      var _ = this;
      _.location = _.implicit = _.isConst = _.isStatic = _.owner = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Func: function Func(t0, t1, t2) {
      var _ = this;
      _.code = _.signature = _.location = _.implicit = _.isConst = _.isStatic = _.owner = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    InstanceRef: function InstanceRef(t0, t1) {
      var _ = this;
      _.debugName = _.allocationLocation = _.portId = _.closureContext = _.closureFunction = _.pattern = _.typeParameters = _.parameters = _.returnType = _.parameterizedClass = _.typeClass = _.name = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.classRef = _.identityHashCode = _.kind = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    InstanceRef_toJson_closure: function InstanceRef_toJson_closure() {
    },
    InstanceRef_toJson_closure0: function InstanceRef_toJson_closure0() {
    },
    Instance: function Instance(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.kind = t0;
      _.identityHashCode = t1;
      _.Instance_classRef = t2;
      _.valueAsString = t3;
      _.length = _.valueAsStringIsTruncated = null;
      _.offset = t4;
      _.count = t5;
      _.fields = _.typeParameters = _.parameters = _.returnType = _.parameterizedClass = _.typeClass = _.name = null;
      _.elements = t6;
      _.associations = t7;
      _.debugName = _.allocationLocation = _.portId = _.bound = _.targetType = _.parameterIndex = _.typeArguments = _.propertyValue = _.propertyKey = _.isMultiLine = _.isCaseSensitive = _.closureContext = _.closureFunction = _.pattern = _.mirrorReferent = _.bytes = null;
      _.id = t8;
      _.fixedId = null;
      _.classRef = t9;
      _.size = null;
      _.json = t10;
    },
    Instance_toJson_closure: function Instance_toJson_closure() {
    },
    Instance_toJson_closure0: function Instance_toJson_closure0() {
    },
    Instance_toJson_closure1: function Instance_toJson_closure1() {
    },
    Instance_toJson_closure2: function Instance_toJson_closure2() {
    },
    Instance_toJson_closure3: function Instance_toJson_closure3() {
    },
    IsolateRef: function IsolateRef(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.number = t1;
      _.name = t2;
      _.isSystemIsolate = t3;
      _.json = t4;
    },
    Isolate: function Isolate(t0) {
      var _ = this;
      _.extensionRPCs = _.exceptionPauseMode = _.error = _.breakpoints = _.libraries = _.rootLib = _.pauseEvent = _.pauseOnExit = _.livePorts = _.runnable = _.startTime = _.isolateFlags = _.isSystemIsolate = _.name = _.number = _.id = null;
      _.json = t0;
    },
    Isolate_toJson_closure: function Isolate_toJson_closure() {
    },
    Isolate_toJson_closure0: function Isolate_toJson_closure0() {
    },
    Isolate_toJson_closure1: function Isolate_toJson_closure1() {
    },
    Isolate_toJson_closure2: function Isolate_toJson_closure2() {
    },
    IsolateFlag: function IsolateFlag() {
      this.valueAsString = this.name = null;
    },
    IsolateGroupRef: function IsolateGroupRef(t0) {
      var _ = this;
      _.isSystemIsolateGroup = _.name = _.number = _.id = null;
      _.json = t0;
    },
    IsolateGroup: function IsolateGroup(t0) {
      var _ = this;
      _.isolates = _.isSystemIsolateGroup = _.name = _.number = _.id = null;
      _.json = t0;
    },
    IsolateGroup_toJson_closure: function IsolateGroup_toJson_closure() {
    },
    InboundReferences: function InboundReferences(t0) {
      this.references = null;
      this.json = t0;
    },
    InboundReferences_toJson_closure: function InboundReferences_toJson_closure() {
    },
    InboundReference: function InboundReference() {
      this.parentField = this.parentListIndex = this.source = null;
    },
    InstanceSet: function InstanceSet(t0) {
      this.instances = this.totalCount = null;
      this.json = t0;
    },
    InstanceSet_toJson_closure: function InstanceSet_toJson_closure() {
    },
    LibraryRef: function LibraryRef(t0, t1) {
      var _ = this;
      _.uri = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Library: function Library(t0, t1, t2) {
      var _ = this;
      _.classes = _.functions = _.variables = _.scripts = _.dependencies = _.debuggable = _.uri = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    Library_toJson_closure: function Library_toJson_closure() {
    },
    Library_toJson_closure0: function Library_toJson_closure0() {
    },
    Library_toJson_closure1: function Library_toJson_closure1() {
    },
    Library_toJson_closure2: function Library_toJson_closure2() {
    },
    Library_toJson_closure3: function Library_toJson_closure3() {
    },
    LibraryDependency: function LibraryDependency() {
      var _ = this;
      _.hides = _.shows = _.target = _.prefix = _.isDeferred = _.isImport = null;
    },
    LibraryDependency_toJson_closure: function LibraryDependency_toJson_closure() {
    },
    LibraryDependency_toJson_closure0: function LibraryDependency_toJson_closure0() {
    },
    LogRecord: function LogRecord(t0) {
      var _ = this;
      _.stackTrace = _.error = _.zone = _.loggerName = _.sequenceNumber = _.level = _.time = _.message = null;
      _.json = t0;
    },
    MapAssociation: function MapAssociation(t0, t1) {
      this.key = t0;
      this.value = t1;
    },
    MemoryUsage: function MemoryUsage(t0, t1, t2, t3) {
      var _ = this;
      _.externalUsage = t0;
      _.heapCapacity = t1;
      _.heapUsage = t2;
      _.json = t3;
    },
    Message: function Message(t0) {
      var _ = this;
      _.location = _.handler = _.size = _.messageObjectId = _.name = _.index = null;
      _.json = t0;
    },
    NativeFunction: function NativeFunction() {
      this.name = null;
    },
    NullValRef: function NullValRef(t0, t1) {
      var _ = this;
      _.debugName = _.allocationLocation = _.portId = _.closureContext = _.closureFunction = _.pattern = _.typeParameters = _.parameters = _.returnType = _.parameterizedClass = _.typeClass = _.name = _.length = _.valueAsStringIsTruncated = _.valueAsString = _.classRef = _.identityHashCode = _.kind = _.NullValRef_valueAsString = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    NullVal: function NullVal(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10) {
      var _ = this;
      _.NullVal_valueAsString = null;
      _.kind = t0;
      _.identityHashCode = t1;
      _.Instance_classRef = t2;
      _.valueAsString = t3;
      _.length = _.valueAsStringIsTruncated = null;
      _.offset = t4;
      _.count = t5;
      _.fields = _.typeParameters = _.parameters = _.returnType = _.parameterizedClass = _.typeClass = _.name = null;
      _.elements = t6;
      _.associations = t7;
      _.debugName = _.allocationLocation = _.portId = _.bound = _.targetType = _.parameterIndex = _.typeArguments = _.propertyValue = _.propertyKey = _.isMultiLine = _.isCaseSensitive = _.closureContext = _.closureFunction = _.pattern = _.mirrorReferent = _.bytes = null;
      _.id = t8;
      _.fixedId = null;
      _.classRef = t9;
      _.size = null;
      _.json = t10;
    },
    ObjRef: function ObjRef(t0, t1) {
      this.id = t0;
      this.fixedId = null;
      this.json = t1;
    },
    Obj: function Obj(t0, t1, t2) {
      var _ = this;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    Parameter: function Parameter() {
      var _ = this;
      _.required = _.name = _.fixed = _.parameterType = null;
    },
    PortList: function PortList(t0) {
      this.ports = null;
      this.json = t0;
    },
    PortList_toJson_closure: function PortList_toJson_closure() {
    },
    ProfileFunction: function ProfileFunction() {
      var _ = this;
      _.$function = _.resolvedUrl = _.exclusiveTicks = _.inclusiveTicks = _.kind = null;
    },
    ProtocolList: function ProtocolList(t0) {
      this.protocols = null;
      this.json = t0;
    },
    ProtocolList_toJson_closure: function ProtocolList_toJson_closure() {
    },
    Protocol: function Protocol() {
      this.minor = this.major = this.protocolName = null;
    },
    ProcessMemoryUsage: function ProcessMemoryUsage(t0) {
      this.root = null;
      this.json = t0;
    },
    ProcessMemoryItem: function ProcessMemoryItem() {
      var _ = this;
      _.children = _.size = _.description = _.name = null;
    },
    ProcessMemoryItem_toJson_closure: function ProcessMemoryItem_toJson_closure() {
    },
    ReloadReport: function ReloadReport(t0) {
      this.success = null;
      this.json = t0;
    },
    RetainingObject: function RetainingObject() {
      var _ = this;
      _.parentField = _.parentMapKey = _.parentListIndex = _.value = null;
    },
    RetainingPath: function RetainingPath(t0) {
      var _ = this;
      _.elements = _.gcRootType = _.length = null;
      _.json = t0;
    },
    RetainingPath_toJson_closure: function RetainingPath_toJson_closure() {
    },
    Response: function Response(t0) {
      this.json = t0;
    },
    Sentinel: function Sentinel(t0) {
      this.valueAsString = this.kind = null;
      this.json = t0;
    },
    ScriptRef: function ScriptRef(t0, t1) {
      var _ = this;
      _.uri = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    Script: function Script(t0, t1, t2, t3, t4) {
      var _ = this;
      _._tokenToLine = t0;
      _._tokenToColumn = t1;
      _.tokenPosTable = _.source = _.columnOffset = _.lineOffset = _.library = _.uri = null;
      _.id = t2;
      _.fixedId = null;
      _.classRef = t3;
      _.size = null;
      _.json = t4;
    },
    Script$_fromJson_closure: function Script$_fromJson_closure() {
    },
    Script_toJson_closure: function Script_toJson_closure() {
    },
    ScriptList: function ScriptList(t0) {
      this.scripts = null;
      this.json = t0;
    },
    ScriptList_toJson_closure: function ScriptList_toJson_closure() {
    },
    SourceLocation: function SourceLocation(t0) {
      var _ = this;
      _.column = _.line = _.endTokenPos = _.tokenPos = _.script = null;
      _.json = t0;
    },
    SourceReport: function SourceReport(t0) {
      this.scripts = this.ranges = null;
      this.json = t0;
    },
    SourceReport_toJson_closure: function SourceReport_toJson_closure() {
    },
    SourceReport_toJson_closure0: function SourceReport_toJson_closure0() {
    },
    SourceReportCoverage: function SourceReportCoverage() {
      this.misses = this.hits = null;
    },
    SourceReportCoverage_toJson_closure: function SourceReportCoverage_toJson_closure() {
    },
    SourceReportCoverage_toJson_closure0: function SourceReportCoverage_toJson_closure0() {
    },
    SourceReportRange: function SourceReportRange() {
      var _ = this;
      _.branchCoverage = _.possibleBreakpoints = _.coverage = _.error = _.compiled = _.endPos = _.startPos = _.scriptIndex = null;
    },
    SourceReportRange_toJson_closure: function SourceReportRange_toJson_closure() {
    },
    Stack0: function Stack0(t0) {
      var _ = this;
      _.truncated = _.messages = _.awaiterFrames = _.asyncCausalFrames = _.frames = null;
      _.json = t0;
    },
    Stack_toJson_closure: function Stack_toJson_closure() {
    },
    Stack_toJson_closure0: function Stack_toJson_closure0() {
    },
    Stack_toJson_closure1: function Stack_toJson_closure1() {
    },
    Stack_toJson_closure2: function Stack_toJson_closure2() {
    },
    Success: function Success(t0) {
      this.json = t0;
    },
    Timeline: function Timeline(t0) {
      var _ = this;
      _.timeExtentMicros = _.timeOriginMicros = _.traceEvents = null;
      _.json = t0;
    },
    Timeline_toJson_closure: function Timeline_toJson_closure() {
    },
    TimelineEvent: function TimelineEvent(t0) {
      this.json = t0;
    },
    TimelineFlags: function TimelineFlags(t0) {
      var _ = this;
      _.recordedStreams = _.availableStreams = _.recorderName = null;
      _.json = t0;
    },
    TimelineFlags_toJson_closure: function TimelineFlags_toJson_closure() {
    },
    TimelineFlags_toJson_closure0: function TimelineFlags_toJson_closure0() {
    },
    Timestamp: function Timestamp(t0) {
      this.timestamp = null;
      this.json = t0;
    },
    TypeArgumentsRef: function TypeArgumentsRef(t0, t1) {
      var _ = this;
      _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.json = t1;
    },
    TypeArguments: function TypeArguments(t0, t1, t2) {
      var _ = this;
      _.types = _.name = null;
      _.id = t0;
      _.fixedId = null;
      _.classRef = t1;
      _.size = null;
      _.json = t2;
    },
    TypeArguments_toJson_closure: function TypeArguments_toJson_closure() {
    },
    TypeParameters: function TypeParameters() {
      this.defaults = this.bounds = this.names = null;
    },
    TypeParameters_toJson_closure: function TypeParameters_toJson_closure() {
    },
    UnresolvedSourceLocation: function UnresolvedSourceLocation(t0) {
      var _ = this;
      _.column = _.line = _.tokenPos = _.scriptUri = _.script = null;
      _.json = t0;
    },
    UriList: function UriList(t0) {
      this.uris = null;
      this.json = t0;
    },
    UriList_toJson_closure: function UriList_toJson_closure() {
    },
    Version: function Version(t0) {
      this.minor = this.major = null;
      this.json = t0;
    },
    VMRef: function VMRef(t0) {
      this.name = null;
      this.json = t0;
    },
    VM: function VM(t0) {
      var _ = this;
      _.systemIsolateGroups = _.systemIsolates = _.isolateGroups = _.isolates = _.startTime = _.pid = _.version = _.targetCPU = _.operatingSystem = _.hostCPU = _.architectureBits = _.name = null;
      _.json = t0;
    },
    VM_toJson_closure: function VM_toJson_closure() {
    },
    VM_toJson_closure0: function VM_toJson_closure0() {
    },
    VM_toJson_closure1: function VM_toJson_closure1() {
    },
    VM_toJson_closure2: function VM_toJson_closure2() {
    },
    fromJson(json) {
      var t1 = J.cast$1$0$ax(json, type$.Map_String_dynamic),
        t2 = A._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,SymbolInfo>");
      return A.List_List$of(new A.MappedListIterable(t1, A.instruction_sizes_SymbolInfo__fromJson$closure(), t2), false, t2._eval$1("ListIterable.E"));
    },
    SymbolInfo__fromJson(map) {
      var t1 = J.getInterceptor$asx(map),
        t2 = t1.$index(map, "l"),
        t3 = t1.$index(map, "c");
      return new A.SymbolInfo(new A.Name(t1.$index(map, "n")), t2, t3, t1.$index(map, "s"));
    },
    toProgramInfo(symbols, collapseAnonymousClosures) {
      var t1, t2, t3, t4, t5, node, t6, t7, _i, sym, t8, scrubbed, libraryUri, node0, result, $package, t9,
        program = A.ProgramInfo_ProgramInfo();
      for (t1 = symbols.length, t2 = type$.String, t3 = type$.SubListIterable_String, t4 = t3._eval$1("ListIterator<ListIterable.E>"), t5 = t3._eval$1("ListIterable.E"), node = program.root, t6 = type$.JSArray_String, t7 = program.stubs, _i = 0; _i < symbols.length; symbols.length === t1 || (0, A.throwConcurrentModificationError)(symbols), ++_i) {
        sym = symbols[_i];
        t8 = sym.name;
        scrubbed = t8.get$scrubbed();
        libraryUri = sym.libraryUri;
        if (libraryUri == null) {
          node0 = program.makeNode$3$name$parent$type(scrubbed, t7, B.NodeType_3);
          t8 = node0.size;
          if (t8 == null)
            t8 = 0;
          node0.size = t8 + sym.size;
          continue;
        }
        result = A._setArrayType(t8.get$scrubbed().split("."), t6);
        if (J.startsWith$1$s(B.JSArray_methods.get$first(result), "new ")) {
          result[0] = A.S(result[0]) + A.S(result[1]);
          B.JSArray_methods.removeAt$1(result, 1);
        }
        $package = A.packageOf(libraryUri);
        node0 = program.makeNode$3$name$parent$type(libraryUri, $package !== libraryUri ? program.makeNode$3$name$parent$type($package, node, B.NodeType_0) : node, B.NodeType_1);
        t8 = sym.className;
        t8.toString;
        node0 = program.makeNode$3$name$parent$type(t8, node0, B.NodeType_2);
        node0 = program.makeNode$3$name$parent$type(B.JSArray_methods.get$first(result), node0, B.NodeType_3);
        for (t8 = new A.SubListIterable(result, 1, null, t3), t8.SubListIterable$3(result, 1, null, t2), t8 = new A.ListIterator(t8, t8.get$length(t8), t4); t8.moveNext$0();) {
          t9 = t8.__internal$_current;
          if (t9 == null)
            t9 = t5._as(t9);
          node0 = program.makeNode$3$name$parent$type(t9, node0, B.NodeType_3);
        }
        t8 = node0.size;
        if (t8 == null)
          t8 = 0;
        node0.size = t8 + sym.size;
      }
      return program;
    },
    SymbolInfo: function SymbolInfo(t0, t1, t2, t3) {
      var _ = this;
      _.name = t0;
      _.libraryUri = t1;
      _.className = t2;
      _.size = t3;
    },
    Name: function Name(t0) {
      this.raw = t0;
      this.__Name_scrubbed = $;
    },
    CallGraphNode$(id, data) {
      var t1 = type$.JSArray_CallGraphNode;
      return new A.CallGraphNode(id, A._setArrayType([], t1), A._setArrayType([], t1), data, B.List_empty30);
    },
    generateCallGraphWithDominators(precompilerTrace, nodeType) {
      var t1, t2, t3, t4, t5, t6, callGraph;
      type$.Map_String_dynamic._as(precompilerTrace);
      t1 = A.ProgramInfo_ProgramInfo();
      t2 = A.List_List$filled(1024, null, true, type$.nullable_ProgramInfoNode);
      t3 = type$.ProgramInfoNode;
      t4 = J.getInterceptor$asx(precompilerTrace);
      t5 = J.cast$1$0$ax(type$.List_dynamic._as(t4.$index(precompilerTrace, "strings")), type$.String);
      t6 = t4.$index(precompilerTrace, "entities");
      callGraph = new A._TraceReader(t4.$index(precompilerTrace, "trace"), t5, t6, t1, t2, A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.int), A.LinkedHashSet_LinkedHashSet$_empty(t3)).readTrace$0().collapse$2$dropCallNodes(0, nodeType, true);
      callGraph.computeDominators$0();
      return callGraph;
    },
    CallGraphNode: function CallGraphNode(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.succ = t1;
      _.pred = t2;
      _.data = t3;
      _.dominator = null;
      _.dominated = t4;
    },
    CallGraph: function CallGraph(t0, t1, t2) {
      this.program = t0;
      this.nodes = t1;
      this._graphNodeByEntityId = t2;
    },
    CallGraph_collapse_collapsed: function CallGraph_collapse_collapsed(t0, t1) {
      this.$this = t0;
      this.type = t1;
    },
    CallGraph_collapse_callGraphNodeFor: function CallGraph_collapse_callGraphNodeFor(t0, t1) {
      this.graphNodesByData = t0;
      this.graphNodeByEntityId = t1;
    },
    CallGraph_collapse_callGraphNodeFor_closure: function CallGraph_collapse_callGraphNodeFor_closure(t0, t1, t2) {
      this.graphNodesByData = t0;
      this.data = t1;
      this.graphNodeByEntityId = t2;
    },
    CallGraph_collapse_closure: function CallGraph_collapse_closure(t0, t1, t2) {
      this.callGraphNodeFor = t0;
      this.collapsed = t1;
      this.dropCallNodes = t2;
    },
    CallGraph_computeDominators_closure1: function CallGraph_computeDominators_closure1(t0) {
      this.$this = t0;
    },
    CallGraph_computeDominators__closure: function CallGraph_computeDominators__closure() {
    },
    CallGraph_computeDominators_closure0: function CallGraph_computeDominators_closure0(t0) {
      this.$this = t0;
    },
    CallGraph_computeDominators__closure0: function CallGraph_computeDominators__closure0() {
    },
    CallGraph_computeDominators_closure: function CallGraph_computeDominators_closure() {
    },
    _TraceReader: function _TraceReader(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.trace = t0;
      _.strings = t1;
      _.entities = t2;
      _.program = t3;
      _.entityById = t4;
      _.selectorIdMap = t5;
      _.dynamicFunctions = t6;
    },
    _TraceReader_readTrace_next: function _TraceReader_readTrace_next(t0, t1) {
      this._box_0 = t0;
      this.$this = t1;
    },
    _TraceReader_readTrace_makeNode: function _TraceReader_readTrace_makeNode(t0) {
      this.nodes = t0;
    },
    _TraceReader_readTrace_makeCallNode: function _TraceReader_readTrace_makeCallNode(t0, t1) {
      this.callNodesBySelector = t0;
      this.makeNode = t1;
    },
    _TraceReader_readTrace_makeCallNode_closure: function _TraceReader_readTrace_makeCallNode_closure(t0, t1) {
      this.makeNode = t0;
      this.selector = t1;
    },
    _TraceReader_readTrace_nodeFor: function _TraceReader_readTrace_nodeFor(t0, t1, t2) {
      this._box_0 = t0;
      this.nodeByEntityId = t1;
      this.makeNode = t2;
    },
    _TraceReader_readTrace_recordDynamicCall: function _TraceReader_readTrace_recordDynamicCall(t0, t1) {
      this.currentNode = t0;
      this.makeCallNode = t1;
    },
    _TraceReader_readTrace_recordInterfaceCall: function _TraceReader_readTrace_recordInterfaceCall(t0, t1) {
      this.currentNode = t0;
      this.makeCallNode = t1;
    },
    _TraceReader_readTrace_recordStaticCall: function _TraceReader_readTrace_recordStaticCall(t0, t1) {
      this.currentNode = t0;
      this.nodeFor = t1;
    },
    _TraceReader_readTrace_recordFieldRef: function _TraceReader_readTrace_recordFieldRef(t0, t1) {
      this.currentNode = t0;
      this.nodeFor = t1;
    },
    _TraceReader_readTrace_recordAllocation: function _TraceReader_readTrace_recordAllocation(t0, t1, t2) {
      this.currentNode = t0;
      this.nodeFor = t1;
      this.allocated = t2;
    },
    _TraceReader_readTrace_readRef: function _TraceReader_readTrace_readRef(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.next = t2;
      _.recordAllocation = t3;
      _.recordStaticCall = t4;
      _.recordFieldRef = t5;
      _.recordDynamicCall = t6;
      _.recordInterfaceCall = t7;
    },
    _TraceReader_readTrace_readRefs: function _TraceReader_readTrace_readRefs(t0) {
      this.readRef = t0;
    },
    _TraceReader_readTrace_readEvents: function _TraceReader_readTrace_readEvents(t0, t1, t2, t3, t4, t5) {
      var _ = this;
      _._box_0 = t0;
      _.$this = t1;
      _.next = t2;
      _.currentNode = t3;
      _.nodeFor = t4;
      _.readRefs = t5;
    },
    ProgramInfo_ProgramInfo() {
      var unknown,
        _s8_ = "@unknown",
        t1 = type$.String,
        t2 = type$.ProgramInfoNode,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        root = new A.ProgramInfoNode(0, "@shared", null, t3, 1),
        stubs = new A.ProgramInfoNode(1, "@stubs", root, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), 1);
      t3.$indexSet(0, "@stubs", stubs);
      unknown = new A.ProgramInfoNode(2, _s8_, root, A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), 1);
      t3.$indexSet(0, _s8_, unknown);
      return new A.ProgramInfo(root, stubs, unknown);
    },
    computeDiff(oldInfo, newInfo) {
      var programDiff = A.ProgramInfo_ProgramInfo();
      new A.computeDiff_recurse(programDiff, A._setArrayType([], type$.JSArray_Object)).call$2(oldInfo.root, newInfo.root);
      return programDiff;
    },
    packageOf(lib) {
      if (B.JSString_methods.startsWith$1(lib, "package:"))
        return B.JSString_methods.substring$2(lib, 0, B.JSString_methods.indexOf$1(lib, "/"));
      else
        return lib;
    },
    ProgramInfo: function ProgramInfo(t0, t1, t2) {
      var _ = this;
      _.root = t0;
      _.stubs = t1;
      _.unknown = t2;
      _._program_info$_nextId = 3;
      _.snapshotInfo = null;
    },
    ProgramInfo_makeNode_closure: function ProgramInfo_makeNode_closure(t0, t1, t2, t3) {
      var _ = this;
      _.$this = t0;
      _.name = t1;
      _.parent = t2;
      _.type = t3;
    },
    NodeType: function NodeType(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    ProgramInfoNode: function ProgramInfoNode(t0, t1, t2, t3, t4) {
      var _ = this;
      _.id = t0;
      _.name = t1;
      _.parent = t2;
      _.children = t3;
      _._type = t4;
      _.size = null;
    },
    computeDiff_recurse: function computeDiff_recurse(t0, t1) {
      this.programDiff = t0;
      this.path = t1;
    },
    computeDominators(handleEdge, predOf, root, size, succ) {
      var idom, semi, i, label, compressPath, blockIndex, t2, predIndex, best, result, domIndex, _box_0 = {},
        t1 = type$.int,
        $parent = A.List_List$filled(size, -1, false, t1),
        preorder = A.List_List$filled(size, -1, false, t1),
        preorderNumber = A.List_List$filled(size, -1, false, t1);
      _box_0.N = 0;
      new A.computeDominators_dfs(_box_0, root, handleEdge, preorderNumber, preorder, $parent, succ).call$0();
      idom = A._setArrayType($parent.slice(0), A._arrayInstanceType($parent));
      semi = J.JSArray_JSArray$allocateGrowable(size, t1);
      for (i = 0; i < size; ++i)
        semi[i] = i;
      label = J.JSArray_JSArray$allocateGrowable(size, t1);
      for (i = 0; i < size; ++i)
        label[i] = i;
      compressPath = new A.computeDominators_compressPath($parent, label);
      for (blockIndex = size - 1; blockIndex >= 1; --blockIndex) {
        for (t2 = J.get$iterator$ax(predOf.call$1(preorder[blockIndex])); t2.moveNext$0();) {
          predIndex = preorderNumber[t2.get$current(t2)];
          if (predIndex > blockIndex) {
            compressPath.call$2(blockIndex, predIndex);
            best = label[predIndex];
          } else
            best = predIndex;
          semi[blockIndex] = Math.min(semi[blockIndex], semi[best]);
        }
        label[blockIndex] = semi[blockIndex];
      }
      result = A.List_List$filled(size, -1, false, t1);
      for (blockIndex = 1; blockIndex < size; ++blockIndex) {
        domIndex = idom[blockIndex];
        for (; domIndex > semi[blockIndex];)
          domIndex = idom[domIndex];
        idom[blockIndex] = domIndex;
        result[preorder[blockIndex]] = preorder[domIndex];
      }
      return result;
    },
    computeDominators_dfs: function computeDominators_dfs(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _._box_0 = t0;
      _.root = t1;
      _.handleEdge = t2;
      _.preorderNumber = t3;
      _.preorder = t4;
      _.parent = t5;
      _.succ = t6;
    },
    computeDominators_compressPath: function computeDominators_compressPath(t0, t1) {
      this.parent = t0;
      this.label = t1;
    },
    _DfsState: function _DfsState(t0, t1) {
      this.p = t0;
      this.n = t1;
    },
    treemapFromJson(inputJson) {
      var symbols, _i, symbol,
        t1 = type$.dynamic,
        root = A.LinkedHashMap_LinkedHashMap$_literal(["n", "", "children", A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), "k", "p", "maxDepth", 0], type$.String, type$.Object);
      t1 = type$.Map_String_dynamic;
      if (t1._is(inputJson) && J.containsKey$1$x(inputJson, "snapshot"))
        A._treemapFromSnapshot(root, A.Snapshot_Snapshot$fromJson(t1._as(inputJson)), B.TreemapFormat_3);
      else {
        symbols = A.fromJson(type$.List_dynamic._as(inputJson));
        for (t1 = symbols.length, _i = 0; _i < symbols.length; symbols.length === t1 || (0, A.throwConcurrentModificationError)(symbols), ++_i) {
          symbol = symbols[_i];
          A._addSymbol(root, A._treePath(symbol), symbol.name.get$scrubbed(), symbol.size, "T");
        }
      }
      return A._flatten(root, true);
    },
    treemapFromInfo(info, format) {
      var t1 = type$.dynamic,
        root = A.LinkedHashMap_LinkedHashMap$_literal(["n", "", "children", A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), "k", "p", "maxDepth", 0], type$.String, type$.Object);
      A._treemapFromInfo(root, info, format);
      return A._flatten(root, true);
    },
    _treemapFromInfo(root, info, format) {
      var recurse, t1, t2, t3;
      if (format !== B.TreemapFormat_0 && format !== B.TreemapFormat_1)
        throw A.wrapException(A.ArgumentError$("can only build simplified or collapsed formats from the program info", null));
      recurse = new A._treemapFromInfo_recurse(new A._treemapFromInfo_cumulativeSize());
      t1 = info.root;
      A._addSymbol(root, "", t1.name, t1.size, "T");
      for (t1 = t1.children, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        recurse.call$4(t3 == null ? t2._as(t3) : t3, "", root, format);
      }
    },
    _treemapFromSnapshot(root, snap, format) {
      var snapshotInfo, t1, ownerPathCache, t2, ownerPath, t3, t4, t5, t6, t7, t8, t9, t10, t11, owner, $name, path, type,
        info = A._ProgramInfoBuilder$(false).build$1(snap);
      if (format === B.TreemapFormat_0 || format === B.TreemapFormat_1) {
        A._treemapFromInfo(root, info, format);
        return;
      }
      snapshotInfo = info.snapshotInfo;
      t1 = snapshotInfo.infoNodes;
      ownerPathCache = A.List_List$filled(t1.length, null, false, type$.nullable_String);
      t2 = info.root;
      ownerPathCache[t2.id] = t2.name;
      ownerPath = new A._treemapFromSnapshot_ownerPath(ownerPathCache, info);
      t2 = $.$get$_nameFormatters().$index(0, format);
      t2.toString;
      for (t3 = A.Iterable_Iterable$generate(snap.nodeCount, snap.get$nodeAt(), type$.Node_2), t3 = t3.get$iterator(t3), t4 = snapshotInfo._ownerOf; t3.moveNext$0();) {
        t5 = t3.get$current(t3);
        t6 = t5.snapshot;
        t7 = t6._v8_profile$_nodes;
        t8 = t5.index;
        t6 = t6.meta;
        t9 = t8 * t6.nodeFieldCount;
        t10 = t9 + t6.nodeSelfSizeIndex;
        t11 = J.getInterceptor$asx(t7);
        if (t11.$index(t7, t10) > 0) {
          t8 = t4.$index(0, t8);
          owner = t1[t8 == null ? 2 : t8];
          $name = t2.call$1(t5);
          path = ownerPath.call$1(owner);
          type = J.$index$asx(t6.nodeTypes, t11.$index(t7, t9 + t6.nodeTypeIndex)) === "(RO) Instructions" ? "T" : "D";
          A._addSymbol(root, path, $name, t11.$index(t7, t10), type);
        }
      }
    },
    _treePath(symbol) {
      var t1 = symbol.name.raw;
      if (B.JSString_methods.startsWith$1(t1, "[Stub] "))
        if (B.JSString_methods.startsWith$1(t1, "[Stub] Allocate "))
          return "@stubs/allocation-stubs/" + A.S(symbol.libraryUri) + "/" + A.S(symbol.className);
        else
          return "@stubs";
      else
        return A.S(symbol.libraryUri) + "/" + A.S(symbol.className);
    },
    _addChild(node, kind, $name) {
      return J.putIfAbsent$2$x(J.$index$asx(node, "children"), $name, new A._addChild_closure($name, kind));
    },
    _addSymbol(root, path, $name, size, symbolType) {
      var parts, t1, node, depth, _i, t2,
        _s8_ = "maxDepth";
      if (size == null || size === 0)
        return;
      if (path !== "") {
        parts = A._setArrayType(path.split("/"), type$.JSArray_String);
        if (J.startsWith$1$s(B.JSArray_methods.get$first(parts), "package:"))
          B.JSArray_methods.replaceRange$3(parts, 0, 1, J.split$1$s(B.JSArray_methods.get$first(parts), "."));
        for (t1 = parts.length, node = root, depth = 0, _i = 0; _i < parts.length; parts.length === t1 || (0, A.throwConcurrentModificationError)(parts), ++_i) {
          node = A._addChild(node, "p", parts[_i]);
          ++depth;
        }
      } else {
        node = root;
        depth = 0;
      }
      J.$indexSet$ax(node, "lastPathElement", true);
      node = A._addChild(node, "s", $name);
      t1 = J.getInterceptor$ax(node);
      t1.$indexSet(node, "t", symbolType);
      t2 = t1.$index(node, "value");
      t1.$indexSet(node, "value", J.$add$ansx(t2 == null ? 0 : t2, size));
      root.$indexSet(0, _s8_, Math.max(A.checkNum(root.$index(0, _s8_)), depth + 1));
    },
    _flatten(node, collapseSingleChildPathNodes) {
      var t2, singleChild,
        _s8_ = "children",
        t1 = J.getInterceptor$asx(node),
        children = t1.$index(node, _s8_);
      if (children != null) {
        children = J.map$1$ax(J.get$values$x(children), new A._flatten_closure()).toList$0(0);
        t1.$indexSet(node, _s8_, children);
        t2 = children.length === 1 && J.$eq$(J.$index$asx(B.JSArray_methods.get$first(children), "k"), "p");
        if (t2) {
          singleChild = B.JSArray_methods.get$first(children);
          t2 = J.getInterceptor$asx(singleChild);
          t2.$indexSet(singleChild, "n", A.S(t1.$index(node, "n")) + "/" + A.S(t2.$index(singleChild, "n")));
          return singleChild;
        }
      }
      return node;
    },
    TreemapFormat: function TreemapFormat(t0, t1) {
      this.index = t0;
      this._core$_name = t1;
    },
    _treemapFromInfo_cumulativeSize: function _treemapFromInfo_cumulativeSize() {
    },
    _treemapFromInfo_cumulativeSize_closure: function _treemapFromInfo_cumulativeSize_closure(t0) {
      this.cumulativeSize = t0;
    },
    _treemapFromInfo_recurse: function _treemapFromInfo_recurse(t0) {
      this.cumulativeSize = t0;
    },
    _treemapFromSnapshot_ownerPath: function _treemapFromSnapshot_ownerPath(t0, t1) {
      this.ownerPathCache = t0;
      this.info = t1;
    },
    _nameFormatters_closure: function _nameFormatters_closure() {
    },
    _nameFormatters_closure0: function _nameFormatters_closure0() {
    },
    _addChild_closure: function _addChild_closure(t0, t1) {
      this.name = t0;
      this.kind = t1;
    },
    _flatten_closure: function _flatten_closure() {
    },
    Snapshot_Snapshot$fromJson(m) {
      var t5, t6, i, t7, t8, t9, t10, nodes, edgesStartIndexForNode, i0, nextStartIndex,
        _s8_ = "snapshot",
        _s10_ = "edge_count",
        t1 = J.getInterceptor$asx(m),
        t2 = J.$index$asx(t1.$index(m, _s8_), "meta"),
        t3 = J.getInterceptor$asx(t2),
        nodeFields = t3.$index(t2, "node_fields"),
        t4 = type$.String,
        nodeTypes = J.cast$1$0$ax(J.get$first$ax(t3.$index(t2, "node_types")), t4),
        edgeFields = t3.$index(t2, "edge_fields"),
        edgeTypes = J.cast$1$0$ax(J.get$first$ax(t3.$index(t2, "edge_types")), t4);
      t4 = J.getInterceptor$asx(nodeFields);
      t2 = t4.indexOf$1(nodeFields, "type");
      t3 = t4.indexOf$1(nodeFields, "name");
      t5 = t4.indexOf$1(nodeFields, "id");
      t6 = t4.indexOf$1(nodeFields, "self_size");
      i = t4.indexOf$1(nodeFields, _s10_);
      t4 = t4.get$length(nodeFields);
      t7 = J.getInterceptor$asx(edgeFields);
      t8 = t7.indexOf$1(edgeFields, "type");
      t9 = t7.indexOf$1(edgeFields, "name_or_index");
      t10 = t7.indexOf$1(edgeFields, "to_node");
      t7 = t7.get$length(edgeFields);
      nodes = J.cast$1$0$ax(type$.List_dynamic._as(t1.$index(m, "nodes")), type$.int);
      edgesStartIndexForNode = A._setArrayType([0], type$.JSArray_int);
      for (i0 = i, nextStartIndex = 0; i0 < nodes.get$length(nodes); i0 += t4) {
        nextStartIndex += nodes.$index(0, i0);
        edgesStartIndexForNode.push(nextStartIndex);
      }
      return new A.Snapshot0(new A.Meta(t2, t3, t5, t6, i, t4, t8, t9, t10, t7, nodeTypes, edgeTypes), J.$index$asx(t1.$index(m, _s8_), "node_count"), J.$index$asx(t1.$index(m, _s8_), _s10_), t1.$index(m, "nodes"), t1.$index(m, "edges"), edgesStartIndexForNode, t1.$index(m, "strings"));
    },
    _ProgramInfoBuilder$(collapseAnonymousClosures) {
      var t1 = type$.int,
        t2 = type$.ProgramInfoNode;
      return new A._ProgramInfoBuilder(false, A.ProgramInfo_ProgramInfo(), A._setArrayType([], type$.JSArray_ProgramInfoNode), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, t2), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    },
    _ProgramInfoBuilder_ancestorCacheKey(a, b) {
      if (a > b)
        return (B.JSInt_methods._shlPositive$1(b, 32) | a) >>> 0;
      else
        return (B.JSInt_methods._shlPositive$1(a, 32) | b) >>> 0;
    },
    _ProgramInfoBuilder_pathToRoot(node) {
      var n,
        path = A._setArrayType([], type$.JSArray_ProgramInfoNode);
      for (n = node; n != null; n = n.parent)
        path.push(n);
      return path;
    },
    _ProgramInfoBuilder_findCommonAncestorImpl(a, b) {
      var pathA = A._ProgramInfoBuilder_pathToRoot(a),
        pathB = A._ProgramInfoBuilder_pathToRoot(b),
        i = pathA.length - 1,
        j = pathB.length - 1;
      while (true) {
        if (!(i > 0 && j > 0 && pathA[i - 1] === pathB[j - 1]))
          break;
        --i;
        --j;
      }
      return pathA[i];
    },
    Snapshot0: function Snapshot0(t0, t1, t2, t3, t4, t5, t6) {
      var _ = this;
      _.meta = t0;
      _.nodeCount = t1;
      _.edgeCount = t2;
      _._v8_profile$_nodes = t3;
      _._edges = t4;
      _._edgesStartIndexForNode = t5;
      _.strings = t6;
    },
    Meta: function Meta(t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11) {
      var _ = this;
      _.nodeTypeIndex = t0;
      _.nodeNameIndex = t1;
      _.nodeIdIndex = t2;
      _.nodeSelfSizeIndex = t3;
      _.nodeEdgeCountIndex = t4;
      _.nodeFieldCount = t5;
      _.edgeTypeIndex = t6;
      _.edgeNameOrIndexIndex = t7;
      _.edgeToNodeIndex = t8;
      _.edgeFieldCount = t9;
      _.nodeTypes = t10;
      _.edgeTypes = t11;
    },
    Edge: function Edge(t0, t1) {
      this.snapshot = t0;
      this.index = t1;
    },
    Node: function Node(t0, t1) {
      this.snapshot = t0;
      this.index = t1;
    },
    Node_operator$index_closure: function Node_operator$index_closure(t0) {
      this.edgeName = t0;
    },
    SnapshotInfo: function SnapshotInfo(t0, t1) {
      this.infoNodes = t0;
      this._ownerOf = t1;
    },
    _ProgramInfoBuilder: function _ProgramInfoBuilder(t0, t1, t2, t3, t4, t5, t6, t7) {
      var _ = this;
      _.collapseAnonymousClosures = t0;
      _.program = t1;
      _.infoNodes = t2;
      _.ownerOf = t3;
      _.infoNodeByIndex = t4;
      _.infoNodeForPackage = t5;
      _.nodesWithFrozenOwner = t6;
      _.commonAncestorCache = t7;
    },
    _ProgramInfoBuilder_packageOwner_closure: function _ProgramInfoBuilder_packageOwner_closure(t0, t1) {
      this.$this = t0;
      this.packageName = t1;
    },
    HtmlWebSocketChannel$connect(url, protocols) {
      var t2, t3, localToForeignController, foreignToLocalController, t4, t5, _null = null,
        t1 = A.WebSocket_WebSocket(url.get$_text(), protocols);
      t1.binaryType = "arraybuffer";
      t2 = new A.StreamChannelController(type$.StreamChannelController_dynamic);
      t3 = type$.dynamic;
      localToForeignController = A.StreamController_StreamController(_null, _null, _null, true, t3);
      foreignToLocalController = A.StreamController_StreamController(_null, _null, _null, true, t3);
      t4 = A._instanceType(foreignToLocalController);
      t5 = A._instanceType(localToForeignController);
      t2.__StreamChannelController__local = A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3);
      t2.__StreamChannelController__foreign = A.GuaranteeChannel$(new A._ControllerStream(localToForeignController, t5._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(foreignToLocalController, t4._eval$1("_StreamSinkWrapper<1>")), false, t3);
      t2 = new A.HtmlWebSocketChannel(t1, t2);
      t2.HtmlWebSocketChannel$1(t1);
      return t2;
    },
    HtmlWebSocketChannel: function HtmlWebSocketChannel(t0, t1) {
      var _ = this;
      _.innerWebSocket = t0;
      _._localCloseReason = _._localCloseCode = _._closeCode = null;
      _._html0$_controller = t1;
      _.__HtmlWebSocketChannel_sink = $;
    },
    HtmlWebSocketChannel_closure: function HtmlWebSocketChannel_closure(t0) {
      this.$this = t0;
    },
    HtmlWebSocketChannel_closure0: function HtmlWebSocketChannel_closure0(t0) {
      this.$this = t0;
    },
    HtmlWebSocketChannel_closure1: function HtmlWebSocketChannel_closure1(t0) {
      this.$this = t0;
    },
    HtmlWebSocketChannel_closure2: function HtmlWebSocketChannel_closure2(t0) {
      this.$this = t0;
    },
    HtmlWebSocketChannel__listen_closure: function HtmlWebSocketChannel__listen_closure(t0) {
      this.$this = t0;
    },
    _HtmlWebSocketSink: function _HtmlWebSocketSink(t0, t1) {
      this._html0$_channel = t0;
      this._stream_sink$_sink = t1;
    },
    WebSocketChannel: function WebSocketChannel(t0) {
      this._webSocket = t0;
    },
    WebSocketSink: function WebSocketSink(t0, t1) {
      this._webSocket = t0;
      this._stream_sink$_sink = t1;
    },
    WebSocketChannelException: function WebSocketChannelException(t0) {
      this.message = t0;
    },
    main() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$main = 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(A.webOnlyWarmupEngine(new A.main_closure(), new A.main_closure0()), $async$main);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$main, $async$completer);
    },
    main_closure0: function main_closure0() {
    },
    main_closure: function main_closure() {
    },
    CupertinoUserInterfaceLevel_maybeOf(context) {
      context.dependOnInheritedWidgetOfExactType$1$0(type$.CupertinoUserInterfaceLevel);
      return null;
    },
    LinkViewController__viewFactory(viewId) {
      return $.LinkViewController__instances.$index(0, viewId).get$_link$_element();
    },
    isBrowserObject(o) {
      return type$.Blob._is(o) || type$.Event._is(o) || type$.KeyRange._is(o) || type$.ImageData._is(o) || type$.Node._is(o) || type$.Window._is(o) || type$.WorkerGlobalScope._is(o);
    },
    printString(string) {
      if (typeof dartPrint == "function") {
        dartPrint(string);
        return;
      }
      if (typeof console == "object" && typeof console.log != "undefined") {
        console.log(string);
        return;
      }
      if (typeof window == "object")
        return;
      if (typeof print == "function") {
        print(string);
        return;
      }
      throw "Unable to print message: " + String(string);
    },
    getCrc32(array, crc) {
      var ip, ip0,
        t1 = J.getInterceptor$asx(array),
        len = t1.get$length(array);
      crc ^= 4294967295;
      for (ip = 0; len >= 8;) {
        ip0 = ip + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        ip0 = ip + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        ip0 = ip + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        ip0 = ip + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
        ip = ip0 + 1;
        crc = B.List_B8J[(crc ^ t1.$index(array, ip0)) & 255] ^ crc >>> 8;
        len -= 8;
      }
      if (len > 0)
        do {
          ip0 = ip + 1;
          crc = B.List_B8J[(crc ^ t1.$index(array, ip)) & 255] ^ crc >>> 8;
          if (--len, len > 0) {
            ip = ip0;
            continue;
          } else
            break;
        } while (true);
      return (crc ^ 4294967295) >>> 0;
    },
    low(codeUnit) {
      var index = B.JSString_methods._codeUnitAt$1(string$.u0e3b_____, codeUnit >>> 6) + (codeUnit & 63),
        bit = index & 1,
        pair = B.JSString_methods._codeUnitAt$1(string$.x22_____, index >>> 1);
      return pair >>> 4 & -bit | pair & 15 & bit - 1;
    },
    high(lead, tail) {
      var index = B.JSString_methods._codeUnitAt$1(string$.u0e3b_____, 1024 + (lead & 1023)) + (tail & 1023),
        bit = index & 1,
        pair = B.JSString_methods._codeUnitAt$1(string$.x22_____, index >>> 1);
      return pair >>> 4 & -bit | pair & 15 & bit - 1;
    },
    lowerBound(sortedList, value, compare, $E) {
      if (compare == null)
        compare = A.utils0__defaultCompare$closure();
      return A.lowerBoundBy(sortedList, A.instantiate1(A.utils0__identity$closure(), $E), compare, value);
    },
    lowerBoundBy(sortedList, keyOf, compare, value) {
      var max, min, mid,
        end = A.RangeError_checkValidRange(0, null, sortedList.length, null, null),
        key = keyOf.call$1(value);
      for (max = end, min = 0; min < max;) {
        mid = min + B.JSInt_methods._shrOtherPositive$1(max - min, 1);
        if (compare.call$2(keyOf.call$1(sortedList[mid]), key) < 0)
          min = mid + 1;
        else
          max = mid;
      }
      return min;
    },
    groupBy(values, key, $S, $T) {
      var t1, _i, element, t2, t3,
        map = A.LinkedHashMap_LinkedHashMap$_empty($T, $S._eval$1("List<0>"));
      for (t1 = $S._eval$1("JSArray<0>"), _i = 0; _i < 1; ++_i) {
        element = values[_i];
        t2 = key.call$1(element);
        t3 = map.$index(0, t2);
        if (t3 == null) {
          t3 = A._setArrayType([], t1);
          map.$indexSet(0, t2, t3);
          t2 = t3;
        } else
          t2 = t3;
        J.add$1$ax(t2, element);
      }
      return map;
    },
    IterableExtension_firstWhereOrNull(_this, test) {
      var t1, element;
      for (t1 = J.get$iterator$ax(_this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (test.call$1(element))
          return element;
      }
      return null;
    },
    IterableExtension_singleWhereOrNull(_this, test) {
      var t1, result, found, _i, element;
      for (t1 = _this.length, result = null, found = false, _i = 0; _i < _this.length; _this.length === t1 || (0, A.throwConcurrentModificationError)(_this), ++_i) {
        element = _this[_i];
        if (test.call$1(element)) {
          if (found)
            return null;
          result = element;
          found = true;
        }
      }
      return result;
    },
    defaultCompare(value1, value2) {
      return J.compareTo$1$ns(type$.Comparable_nullable_Object._as(value1), value2);
    },
    identity(value) {
      return value;
    },
    initializeFramework() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        t23, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22;
      var $async$initializeFramework = 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 = A.StreamController_StreamController$broadcast(false, type$.VmServiceWrapper);
              t2 = $.Zone__current;
              t3 = type$.String;
              t4 = $.$get$ChangeNotifier__emptyListeners();
              t5 = type$.JSArray_StreamSubscription_dynamic;
              t6 = A._setArrayType([], t5);
              t7 = type$.JSArray_FocusNode;
              t8 = A._setArrayType([], t7);
              t9 = type$.JSArray_Listenable;
              t10 = A._setArrayType([], t9);
              t11 = type$.JSArray_of_void_Function;
              t12 = A._setArrayType([], t11);
              t13 = A.LinkedHashSet_LinkedHashSet$_literal(["API", "Compiler", "CompilerVerbose", "Debugger", "Isolate", "VM"], t3);
              t14 = A.LinkedHashMap_LinkedHashMap$_literal(["Dart", "Events emitted from dart:developer Timeline APIs (including Flutter framework events)", "Embedder", "Additional platform events (often emitted from the Flutter engine)", "GC", "Garbage collection", "API", "Calls to the VM embedding API", "Compiler", "Compiler phases (loading code, compilation, optimization, etc.)", "CompilerVerbose", "More detailed compiler phases", "Debugger", "Debugger paused events", "Isolate", "Isolate events (startup, shutdown, snapshot loading, etc.)", "VM", "Dart VM events (startup, shutdown, snapshot loading, etc.)"], t3, t3);
              t15 = A._setArrayType([], t5);
              t16 = A._setArrayType([], t7);
              t17 = A._setArrayType([], t9);
              t18 = A._setArrayType([], t11);
              t19 = type$.IsolateRef;
              t20 = type$.nullable_IsolateRef;
              t21 = type$.ValueNotifier_nullable_IsolateRef;
              t22 = type$.nullable_String;
              t22 = new A.IsolateManager(A.LinkedHashMap_LinkedHashMap$_empty(t19, type$.IsolateState), A.StreamController_StreamController$broadcast(false, t20), A.StreamController_StreamController$broadcast(false, t20), new A.ValueNotifier(null, t4, t21), A.LinkedHashMap_LinkedHashMap$_empty(t22, type$.int), A.ListValueNotifier$(B.List_empty31, t19), new A.ValueNotifier(null, t4, t21), A.LinkedHashMap_LinkedHashMap$_empty(t22, type$.Completer_void), A._setArrayType([], t5), A._setArrayType([], t7), A._setArrayType([], t9), A._setArrayType([], t11));
              t21 = type$.ValueNotifier_int;
              t20 = type$.ValueNotifier_LinkedHashMap_String_DevToolsError;
              t23 = type$.ValueNotifier_bool;
              t20 = new A.ServiceConnectionManager(t1, new A._AsyncCompleter(new A._Future(t2, type$._Future_VmService), type$._AsyncCompleter_VmService), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImmediateValueNotifier_bool), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.List_String), new A.VmFlagManager(new A.ValueNotifier(null, t4, type$.ValueNotifier_nullable_FlagList), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ValueNotifier_Flag), t6, t8, t10, t12), new A.TimelineStreamManager(t13, t14, A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.TimelineStream), t15, t16, t17, t18), t22, new A.ConsoleService(A.ListValueNotifier$(A._setArrayType([], type$.JSArray_ConsoleLine), type$.ConsoleLine), A._setArrayType([], t5), A._setArrayType([], t7), A._setArrayType([], t9), A._setArrayType([], t11)), new A.ResolvedUriManager(), new A.ErrorBadgeManager(A.LinkedHashMap_LinkedHashMap$_literal(["inspector", new A.ValueNotifier(0, t4, t21), "performance", new A.ValueNotifier(0, t4, t21), "network", new A.ValueNotifier(0, t4, t21)], t3, t21), A.LinkedHashMap_LinkedHashMap$_literal(["inspector", new A.ValueNotifier(A.LinkedHashMap_LinkedHashMap(null, null, null, t3, type$.DevToolsError), t4, t20)], t3, t20), A.Disposer$()), new A.ValueNotifier(B.ConnectedState_false_false, t4, type$.ValueNotifier_ConnectedState), A.StreamController_StreamController$broadcast(false, type$.void), new A.ValueNotifier(false, t4, t23));
              t20.__ServiceConnectionManager__serviceExtensionManager = new A.ServiceExtensionManager(t22, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), A.LinkedHashMap_LinkedHashMap$_empty(t3, t23), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ValueNotifier_ServiceExtensionState), A.LinkedHashSet_LinkedHashSet$_empty(t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ServiceExtensionState), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.Completer_bool), A.LinkedHashSet_LinkedHashSet$_empty(t3), A.LinkedHashMap_LinkedHashMap$_empty(t19, type$.List_of_Future_void_Function), A._setArrayType([], t5), A._setArrayType([], t7), A._setArrayType([], t9), A._setArrayType([], t11));
              $.globals.$indexSet(0, B.Type_ServiceConnectionManager_qdG, t20);
              t20 = new A.MessageBus();
              t20.__MessageBus__controller = A.StreamController_StreamController$broadcast(false, type$.BusEvent);
              $.globals.$indexSet(0, B.Type_MessageBus_MAi, t20);
              t20 = type$.dynamic;
              t11 = new A.FrameworkController(A.StreamController_StreamController$broadcast(false, t3), A.StreamController_StreamController$broadcast(false, type$.ConnectVmEvent), A.StreamController_StreamController$broadcast(false, type$.Uri), A.StreamController_StreamController$broadcast(false, t20), A.StreamController_StreamController$broadcast(false, type$.PageChangeEvent));
              t11._framework_controller$_init$0();
              $.globals.$indexSet(0, B.Type_FrameworkController_QHx, t11);
              $.globals.$indexSet(0, B.Type_SurveyService_bLu, new A.SurveyService());
              $.globals.$indexSet(0, B.Type_OfflineModeController_ECL, new A.OfflineModeController(new A.ValueNotifier(false, t4, t23), A.LinkedHashMap_LinkedHashMap$_empty(t3, t20)));
              $.globals.$indexSet(0, B.Type_ScriptManager_AHF, A.ScriptManager$());
              $async$goto = 2;
              return A._asyncAwait(A.initializePlatform(), $async$initializeFramework);
            case 2:
              // returning from await.
              A.log("DevTools version 2.15.0.", B.LogLevel_0);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$initializeFramework, $async$completer);
    },
    _tryParseColor(input) {
      var e, t1, exception;
      if (input == null)
        return null;
      try {
        t1 = A.parseCssHexColor(input);
        return t1;
      } catch (exception) {
        e = A.unwrapException(exception);
        A.log('Failed to parse "' + input + '" as a color from the querystring, ignoring: ' + A.S(e), B.LogLevel_1);
        return null;
      }
    },
    _tryParseDouble(input) {
      var e, t1, exception;
      try {
        if (input != null) {
          t1 = A.double_parse(input);
          return t1;
        }
      } catch (exception) {
        e = A.unwrapException(exception);
        A.log('Failed to parse "' + A.S(input) + '" as a double from the querystring, ignoring: ' + A.S(e), B.LogLevel_1);
      }
      return null;
    },
    launchUrl(url, context) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1, t2, parsedUrl, $async$temp1;
      var $async$launchUrl = 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
              parsedUrl = A.Uri_tryParse(url);
              $async$temp1 = parsedUrl != null;
              if ($async$temp1) {
                // goto then
                $async$goto = 5;
                break;
              } else
                $async$result = $async$temp1;
              // goto join
              $async$goto = 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return A._asyncAwait(A.canLaunchUrl(parsedUrl), $async$launchUrl);
            case 7:
              // returning from await.
            case 6:
              // join
              $async$goto = $async$result ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 8;
              return A._asyncAwait(A.launchUrl0(parsedUrl), $async$launchUrl);
            case 8:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              A.Notifications_of(context).push$1("Unable to open " + url + ".");
            case 3:
              // join
              t1 = A._convertNativeToDart_Window(window.parent);
              if (t1 != null) {
                t2 = type$.String;
                J.postMessage$2$x(t1, A.LinkedHashMap_LinkedHashMap$_literal(["command", "launchUrl", "data", A.LinkedHashMap_LinkedHashMap$_literal(["url", url], t2, t2)], t2, type$.Object), "*");
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$launchUrl, $async$completer);
    },
    log(message, level) {
      switch (level.index) {
        case 0:
          window;
          if (typeof console != "undefined")
            window.console.log(message);
          break;
        case 1:
          window;
          if (typeof console != "undefined")
            window.console.warn(message);
          break;
        case 2:
          window;
          if (typeof console != "undefined")
            window.console.error(message);
          break;
      }
    },
    request(url) {
      return A.request$body(url);
    },
    request$body(url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_HttpRequest),
        $async$returnValue, $async$handler = 2, $async$currentError, exception, response, $async$exception;
      var $async$request = 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(A.HttpRequest_request(url, "POST", null, null, null), $async$request);
            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;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = response;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$request, $async$completer);
    },
    isFirstRun() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t1, firstRun, resp;
      var $async$isFirstRun = 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.request("api/getDevToolsFirstRun"), $async$isFirstRun);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                firstRun = B.C_JsonCodec.decode$1(0, t1);
              } else {
                A.logWarning(resp, "api/getDevToolsFirstRun", null);
                firstRun = false;
              }
              $async$returnValue = firstRun;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$isFirstRun, $async$completer);
    },
    isAnalyticsEnabled0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t1, enabled, resp;
      var $async$isAnalyticsEnabled0 = 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.request("api/getDevToolsEnabled"), $async$isAnalyticsEnabled0);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                enabled = B.C_JsonCodec.decode$1(0, t1);
              } else {
                A.logWarning(resp, "api/getDevToolsEnabled", null);
                enabled = false;
              }
              $async$returnValue = enabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$isAnalyticsEnabled0, $async$completer);
    },
    setAnalyticsEnabled0(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, resp, t1;
      var $async$setAnalyticsEnabled0 = 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.request("api/setDevToolsEnabled?enabled=" + value), $async$setAnalyticsEnabled0);
            case 3:
              // returning from await.
              resp = $async$result;
              t1 = resp == null;
              if ((t1 ? null : resp.status) === 200) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              } else
                A.logWarning(resp, "api/setDevToolsEnabled", t1 ? null : resp.responseText);
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$setAnalyticsEnabled0, $async$completer);
    },
    _isFlutterGAEnabled() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t1, responseValue, enabled, resp;
      var $async$_isFlutterGAEnabled = 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.request("api/getFlutterGAEnabled"), $async$_isFlutterGAEnabled);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                responseValue = B.C_JsonCodec.decode$1(0, t1);
                enabled = responseValue == null ? false : responseValue;
              } else {
                A.logWarning(resp, "api/getFlutterGAEnabled", null);
                enabled = false;
              }
              $async$returnValue = enabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_isFlutterGAEnabled, $async$completer);
    },
    flutterGAClientID() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, resp, t1, clientId;
      var $async$flutterGAClientID = 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 = 6;
              return A._asyncAwait(A._isFlutterGAEnabled(), $async$flutterGAClientID);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 7;
              return A._asyncAwait(A.request("api/getFlutterGAClientId"), $async$flutterGAClientID);
            case 7:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                clientId = B.C_JsonCodec.decode$1(0, t1);
                if (clientId.length === 0)
                  A.log("api/getFlutterGAClientId is empty", B.LogLevel_1);
              } else {
                A.logWarning(resp, "api/getFlutterGAClientId", null);
                clientId = "";
              }
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              clientId = "";
            case 4:
              // join
              $async$returnValue = clientId;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$flutterGAClientID, $async$completer);
    },
    setActiveSurvey(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t1, resp;
      var $async$setActiveSurvey = 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.request("api/setActiveSurvey?activeSurveyName=" + value), $async$setActiveSurvey);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                t1 = B.C_JsonCodec.decode$1(0, t1);
              } else
                t1 = false;
              if (t1) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              } else
                A.logWarning(resp, "api/setActiveSurvey", null);
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$setActiveSurvey, $async$completer);
    },
    surveyActionTaken() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, t1, surveyActionTaken, resp;
      var $async$surveyActionTaken = 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.request("api/getSurveyActionTaken"), $async$surveyActionTaken);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                surveyActionTaken = B.C_JsonCodec.decode$1(0, t1);
              } else {
                A.logWarning(resp, "api/getSurveyActionTaken", null);
                surveyActionTaken = false;
              }
              $async$returnValue = surveyActionTaken;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$surveyActionTaken, $async$completer);
    },
    setSurveyActionTaken() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t2, resp, t1;
      var $async$setSurveyActionTaken = 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(A.request("api/setSurveyActionTaken?surveyActionTaken=true"), $async$setSurveyActionTaken);
            case 2:
              // returning from await.
              resp = $async$result;
              t1 = resp == null;
              if ((t1 ? null : resp.status) === 200) {
                t2 = resp.responseText;
                t2.toString;
                t2 = !B.C_JsonCodec.decode$1(0, t2);
              } else
                t2 = true;
              if (t2)
                A.logWarning(resp, "api/setSurveyActionTaken", t1 ? null : resp.responseText);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setSurveyActionTaken, $async$completer);
    },
    surveyShownCount() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.int),
        $async$returnValue, t1, surveyShownCount, resp;
      var $async$surveyShownCount = 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.request("api/getSurveyShownCount"), $async$surveyShownCount);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                surveyShownCount = B.C_JsonCodec.decode$1(0, t1);
              } else {
                A.logWarning(resp, "api/getSurveyShownCount", null);
                surveyShownCount = 0;
              }
              $async$returnValue = surveyShownCount;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$surveyShownCount, $async$completer);
    },
    incrementSurveyShownCount() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.int),
        $async$returnValue, t1, surveyShownCount, resp;
      var $async$incrementSurveyShownCount = 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.request("api/incrementSurveyShownCount"), $async$incrementSurveyShownCount);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                surveyShownCount = B.C_JsonCodec.decode$1(0, t1);
              } else {
                A.logWarning(resp, "api/incrementSurveyShownCount", null);
                surveyShownCount = 0;
              }
              $async$returnValue = surveyShownCount;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$incrementSurveyShownCount, $async$completer);
    },
    getLastShownReleaseNotesVersion() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, t1, version, resp;
      var $async$getLastShownReleaseNotesVersion = 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.request("api/getLastReleaseNotesVersion"), $async$getLastShownReleaseNotesVersion);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                t1 = resp.responseText;
                t1.toString;
                version = B.C_JsonCodec.decode$1(0, t1);
              } else {
                A.logWarning(resp, "api/getLastReleaseNotesVersion", null);
                version = "";
              }
              $async$returnValue = version;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getLastShownReleaseNotesVersion, $async$completer);
    },
    setLastShownReleaseNotesVersion(version) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t2, resp, t1;
      var $async$setLastShownReleaseNotesVersion = 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(A.request("api/setLastReleaseNotesVersion?lastReleaseNotesVersion=" + version), $async$setLastShownReleaseNotesVersion);
            case 2:
              // returning from await.
              resp = $async$result;
              t1 = resp == null;
              if (!t1)
                if (resp.status === 200) {
                  t2 = resp.responseText;
                  t2.toString;
                  t2 = !B.C_JsonCodec.decode$1(0, t2);
                } else
                  t2 = true;
              else
                t2 = true;
              if (t2)
                A.logWarning(resp, "api/setLastReleaseNotesVersion", t1 ? null : resp.responseText);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setLastShownReleaseNotesVersion, $async$completer);
    },
    requestBaseAppSizeFile(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsJsonFile),
        $async$returnValue;
      var $async$requestBaseAppSizeFile = 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$returnValue = A.requestFile("api/getBaseAppSizeFile", "appSizeBase", path);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$requestBaseAppSizeFile, $async$completer);
    },
    requestTestAppSizeFile(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsJsonFile),
        $async$returnValue;
      var $async$requestTestAppSizeFile = 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$returnValue = A.requestFile("api/getTestAppSizeFile", "appSizeTest", path);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$requestTestAppSizeFile, $async$completer);
    },
    requestFile(api, fileKey, filePath) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsJsonFile),
        $async$returnValue, data, lastModified, resp;
      var $async$requestFile = 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.request(A._Uri__Uri(null, null, api, null, null, null, A.LinkedHashMap_LinkedHashMap$_literal([fileKey, filePath], type$.String, type$.dynamic), null, null).get$_text()), $async$requestFile);
            case 3:
              // returning from await.
              resp = $async$result;
              if ((resp == null ? null : resp.status) === 200) {
                data = B.C_JsonCodec.decode$1(0, A._convertNativeToDart_XHR_Response(resp.response));
                lastModified = J.$index$asx(data, "lastModifiedTime");
                $async$returnValue = new A.DevToolsJsonFile(filePath, lastModified != null ? A.DateTime_parse(lastModified) : new A.DateTime(Date.now(), false), data);
                // goto return
                $async$goto = 1;
                break;
              } else
                A.logWarning(resp, api, null);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$requestFile, $async$completer);
    },
    logWarning(response, apiType, respText) {
      var t1 = response == null ? null : response.status,
        t2 = respText != null ? ", responseText = " + respText : "";
      A.log("HttpRequest " + apiType + " failed status = " + A.S(t1) + t2, B.LogLevel_1);
    },
    FrameworkCore_initVmService(url, errorReporter, explicitUri) {
      return A.FrameworkCore_initVmService$body(url, errorReporter, explicitUri);
    },
    FrameworkCore_initVmService$body(url, errorReporter, explicitUri) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, uri, finishedCompleter, service, e, st, exception, t1, $async$exception;
      var $async$FrameworkCore_initVmService = 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
              if (t1.service != null && t1.connectedApp != null) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              }
              uri = explicitUri == null ? A.getServiceUriFromQueryString(url) : explicitUri;
              $async$goto = uri != null ? 3 : 5;
              break;
            case 3:
              // then
              finishedCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              $async$handler = 7;
              $async$goto = 10;
              return A._asyncAwait(A.connect(uri, finishedCompleter), $async$FrameworkCore_initVmService);
            case 10:
              // returning from await.
              service = $async$result;
              $async$goto = 11;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmServiceOpened$2$onClosed(service, finishedCompleter.future), $async$FrameworkCore_initVmService);
            case 11:
              // returning from await.
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              st = A.getTraceFromException($async$exception);
              A.log(A.S(e) + "\n" + A.S(st), B.LogLevel_2);
              errorReporter.call$2("Unable to connect to VM service at " + A.S(uri) + ": " + A.S(e), e);
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 9:
              // after finally
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$FrameworkCore_initVmService, $async$completer);
    },
    mapLegacyUrl(url) {
      var basePath, newUri, page, t1, t2, t3,
        uri = A.Uri_parse(url, 0, null);
      if ((uri.get$path(uri) === "/" || B.JSString_methods.endsWith$1(uri.get$path(uri), "/devtools/")) && uri.get$fragment().length !== 0) {
        basePath = uri.get$path(uri);
        newUri = A.Uri_parse(B.JSString_methods.replaceFirst$2(B.JSString_methods.replaceFirst$2(url, "/#/", "/"), "/#", ""), 0, null);
        page = newUri.get$queryParameters().$index(0, "page");
        if (newUri.get$path(newUri) === basePath && page != null) {
          t1 = type$.String;
          t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
          for (t2 = newUri.get$queryParameters(), t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
            t3 = t2.get$current(t2);
            t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
          }
          t1.remove$1(0, "page");
          newUri = newUri.replace$2$path$queryParameters(0, basePath + page, t1);
        }
        return newUri.toString$0(0);
      }
      return null;
    },
    invokeInspectorPolyfill(group) {
      var t2, polyFillReady,
        t1 = group.inspectorService.inspectorLibrary._isolate;
      t1.toString;
      t2 = $.$get$_polyfillReadyExpando();
      A.Expando__checkType(t1);
      t2 = t2._jsWeakMap;
      polyFillReady = t2.get(t1);
      if (polyFillReady != null)
        return polyFillReady;
      polyFillReady = A._invokeInspectorPolyfill(group);
      t2.set(t1, polyFillReady);
      return polyFillReady;
    },
    _invokeInspectorPolyfill(group) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        polyFillScript, filteredLines, t1, t2, _i, line, result, encodedResult, errors, t3, script, startIndex, endIndex;
      var $async$_invokeInspectorPolyfill = 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($.$get$rootBundle().loadString$2$cache("assets/scripts/inspector_polyfill_script.dart", true), $async$_invokeInspectorPolyfill);
            case 2:
              // returning from await.
              script = $async$result;
              startIndex = B.JSString_methods.indexOf$1(script, "// INSPECTOR_POLYFILL_SCRIPT_START\n");
              endIndex = B.JSString_methods.indexOf$1(script, "// INSPECTOR_POLYFILL_SCRIPT_END\n");
              if (startIndex === -1 || endIndex === -1)
                throw A.wrapException(A.Exception_Exception("Improperly formatted polyfill script. Expected to find expressions\n// INSPECTOR_POLYFILL_SCRIPT_START\n\nand\n// INSPECTOR_POLYFILL_SCRIPT_END\n\n\nScript contents:\n" + script));
              polyFillScript = B.JSString_methods.substring$2(script, startIndex + 35, endIndex);
              filteredLines = A._setArrayType([], type$.JSArray_String);
              for (t1 = polyFillScript.split("\n"), t2 = t1.length, _i = 0; _i < t2; ++_i) {
                line = J.trim$0$s(t1[_i]);
                if (!B.JSString_methods.startsWith$1(line, "//"))
                  filteredLines.push(line);
              }
              t1 = group.inspectorService.inspectorLibrary;
              $async$goto = 3;
              return A._asyncAwait(t1.eval$2$isAlive("((){" + B.JSArray_methods.join$0(filteredLines) + "})()", group), $async$_invokeInspectorPolyfill);
            case 3:
              // returning from await.
              result = $async$result;
              result.toString;
              t2 = t1._isolateRef;
              t2 = t2.get$id(t2);
              t2.toString;
              $async$goto = 4;
              return A._asyncAwait(t1.service.retrieveFullStringValue$2(t2, result), $async$_invokeInspectorPolyfill);
            case 4:
              // returning from await.
              encodedResult = $async$result;
              if (encodedResult != null) {
                errors = B.C_JsonCodec.decode$1(0, encodedResult);
                for (t1 = J.getInterceptor$x(errors), t2 = J.get$iterator$ax(t1.get$keys(errors)); t2.moveNext$0();) {
                  t3 = t2.get$current(t2);
                  A.log("Unable to add service extension '" + t3 + "' due to error:\n" + A.S(t1.$index(errors, t3)), B.LogLevel_0);
                }
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_invokeInspectorPolyfill, $async$completer);
    },
    dimensionDescription(description, overflow, colorScheme) {
      var t1, text, _null = null;
      if (overflow)
        t1 = B.TextStyle_Ag3.merge$1(A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4292780169 : B.Color_4294280299, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.FontWeight_6, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
      else
        t1 = B.TextStyle_Ag3;
      text = A.Text$rich(description, _null, B.TextOverflow_2, t1, B.TextAlign_2);
      if (overflow) {
        t1 = A.BorderRadius$circular(4);
        return A.Container$(_null, A.Center$(text, _null, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(B.Color_4289724448, _null, _null, t1, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_8_2_8_2, _null, _null, _null);
      }
      return text;
    },
    PerformanceUtils_computeEventGroupKey($event, threadNamesById) {
      var t1;
      if ($event.get$groupKey() != null) {
        t1 = $event.get$groupKey();
        t1.toString;
        return t1;
      } else {
        t1 = $event.type;
        if (t1 === B.TimelineEventType_2) {
          t1 = B.JSArray_methods.get$first($event.get$root($event).traceEvents).event.name;
          t1.toString;
          return t1;
        } else if (t1 === B.TimelineEventType_0)
          return "UI";
        else if (t1 === B.TimelineEventType_1)
          return "Raster";
        else {
          t1 = $event.traceEvents;
          if (threadNamesById.$index(0, B.JSArray_methods.get$first(t1).event.threadId) != null) {
            t1 = threadNamesById.$index(0, B.JSArray_methods.get$first(t1).event.threadId);
            t1.toString;
            return t1;
          } else
            return "Unknown";
        }
      }
    },
    PerformanceUtils_eventGroupComparator(a, b) {
      var aIsShade, bIsShade, shadeCompare, aIsUnknown, bIsUnknown, unknownCompare, t1, t2;
      if (a === b)
        return 0;
      aIsShade = B.JSString_methods.contains$1(a.toLowerCase(), "shade");
      bIsShade = B.JSString_methods.contains$1(b.toLowerCase(), "shade");
      if (aIsShade || bIsShade) {
        shadeCompare = A.BoolExtension_boolCompare(aIsShade, bIsShade);
        if (shadeCompare === 0)
          return B.JSString_methods.compareTo$1(a, b);
        return shadeCompare;
      }
      aIsUnknown = B.JSString_methods.contains$1(a.toLowerCase(), "Unknown");
      bIsUnknown = B.JSString_methods.contains$1(b.toLowerCase(), "Unknown");
      if (aIsUnknown || bIsUnknown) {
        unknownCompare = A.BoolExtension_boolCompare(aIsUnknown, bIsUnknown);
        if (unknownCompare === 0)
          return B.JSString_methods.compareTo$1(a, b);
        return unknownCompare;
      }
      t1 = a === "UI";
      if (!(t1 && b === "Raster"))
        t2 = a === "Raster" && b === "UI";
      else
        t2 = true;
      if (t2)
        return -1 * B.JSString_methods.compareTo$1(a, b);
      if (t1 || a === "Raster")
        return -1;
      if (b === "UI" || b === "Raster")
        return 1;
      return B.JSString_methods.compareTo$1(a, b);
    },
    CpuProfilerExtension_getCpuProfile(_this, extentMicros, startMicros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CpuProfileData),
        $async$returnValue, t1, $async$temp1;
      var $async$CpuProfilerExtension_getCpuProfile = 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t1.toString;
              t1 = J.get$id$x(t1);
              t1.toString;
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.getCpuSamples$3(t1, startMicros, extentMicros), $async$CpuProfilerExtension_getCpuProfile);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.CpuProfileData_generateFromCpuSamples($async$result, t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$CpuProfilerExtension_getCpuProfile, $async$completer);
    },
    CpuProfilerExtension_enableCpuProfiler(_this) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, t3, t4, t1, t2;
      var $async$CpuProfilerExtension_enableCpuProfiler = 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.dynamic;
              t4 = type$.Response;
              $async$goto = 3;
              return A._asyncAwait(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", A.LinkedHashMap_LinkedHashMap$_literal(["name", "profiler", "value", "true"], t3, t3), t4), t4), $async$CpuProfilerExtension_enableCpuProfiler);
            case 3:
              // 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$CpuProfilerExtension_enableCpuProfiler, $async$completer);
    },
    IsolatePrivateViewExtension_get_newSpaceUsage(_this) {
      var t1 = _this.json;
      t1.toString;
      return J.$index$asx(J.$index$asx(J.$index$asx(t1, "_heaps"), "new"), "used");
    },
    IsolatePrivateViewExtension_get_oldSpaceUsage(_this) {
      var t1 = _this.json;
      t1.toString;
      return J.$index$asx(J.$index$asx(J.$index$asx(t1, "_heaps"), "old"), "used");
    },
    IsolatePrivateViewExtension_get_newSpaceCapacity(_this) {
      var t1 = _this.json;
      t1.toString;
      return J.$index$asx(J.$index$asx(J.$index$asx(t1, "_heaps"), "new"), "capacity");
    },
    IsolatePrivateViewExtension_get_oldSpaceCapacity(_this) {
      var t1 = _this.json;
      t1.toString;
      return J.$index$asx(J.$index$asx(J.$index$asx(t1, "_heaps"), "old"), "capacity");
    },
    generateDevToolsTitle() {
      var t2,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (!(t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized())) {
        $.$get$_devToolsTitle().set$value(0, "DevTools for Flutter & Dart");
        return;
      }
      t1 = $.$get$_devToolsTitle();
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
      t2.toString;
      t1.set$value(0, t2 ? "Flutter DevTools" : "Dart DevTools");
    },
    acceptedTypesToString(acceptedTypes) {
      var _i, t1,
        allTypes = A._setArrayType([], type$.JSArray_String);
      for (_i = 0; _i < 1; ++_i) {
        t1 = acceptedTypes[_i].extensions;
        if (t1 != null)
          B.JSArray_methods.addAll$1(allTypes, new A.MappedListIterable(t1, A.utils2___normalizeExtension$closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")));
      }
      return B.JSArray_methods.join$1(allTypes, ",");
    },
    _normalizeExtension(ext) {
      return ext.length !== 0 && ext[0] !== "." ? "." + ext : ext;
    },
    compute(callback, message, debugLabel, $Q, $R) {
      return A.compute$body(callback, message, debugLabel, $Q, $R, $R);
    },
    compute$body(callback, message, debugLabel, $Q, $R, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue;
      var $async$compute = 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(null, $async$compute);
            case 3:
              // returning from await.
              $async$returnValue = callback.call$1(message);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$compute, $async$completer);
    },
    setEquals(a, b) {
      var t1;
      if (a == null)
        return b == null;
      if (b == null || a.get$length(a) !== b.get$length(b))
        return false;
      if (a === b)
        return true;
      for (t1 = a.get$iterator(a); t1.moveNext$0();)
        if (!b.contains$1(0, t1.get$current(t1)))
          return false;
      return true;
    },
    listEquals(a, b) {
      var index;
      if (a == null)
        return b == null;
      if (b == null || a.length !== b.length)
        return false;
      if (a === b)
        return true;
      for (index = 0; index < a.length; ++index)
        if (!J.$eq$(a[index], b[index]))
          return false;
      return true;
    },
    mapEquals(a, b) {
      var key,
        t1 = a.get$length(a),
        t2 = b.get$length(b);
      if (t1 !== t2)
        return false;
      if (a === b)
        return true;
      for (t1 = J.get$iterator$ax(a.get$keys(a)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        if (!b.containsKey$1(0, key) || !J.$eq$(b.$index(0, key), a.$index(0, key)))
          return false;
      }
      return true;
    },
    mergeSort(list, compare, $T) {
      var middle, secondLength, scratchSpace, firstTarget,
        end = list.length,
        $length = end - 0;
      if ($length < 2)
        return;
      if ($length < 32) {
        A._insertionSort(list, compare, end, 0, $T);
        return;
      }
      middle = B.JSInt_methods._shrOtherPositive$1($length, 1);
      secondLength = end - middle;
      scratchSpace = A.List_List$filled(secondLength, list[0], false, $T);
      A._mergeSort(list, compare, middle, end, scratchSpace, 0);
      firstTarget = end - (middle - 0);
      A._mergeSort(list, compare, 0, middle, list, firstTarget);
      A._merge(compare, list, firstTarget, end, scratchSpace, 0, secondLength, list, 0);
    },
    _insertionSort(list, compare, end, start, $T) {
      var pos, element, max, min, mid;
      for (pos = start + 1; pos < end;) {
        element = list[pos];
        for (max = pos, min = start; min < max;) {
          mid = min + B.JSInt_methods._shrOtherPositive$1(max - min, 1);
          if (compare.call$2(element, list[mid]) < 0)
            max = mid;
          else
            min = mid + 1;
        }
        ++pos;
        B.JSArray_methods.setRange$4(list, min + 1, pos, list, min);
        list[min] = element;
      }
    },
    _movingInsertionSort(list, compare, start, end, target, targetOffset) {
      var i, element, max, max0, min, mid,
        $length = end - start;
      if ($length === 0)
        return;
      target[targetOffset] = list[start];
      for (i = 1; i < $length; ++i) {
        element = list[start + i];
        max = targetOffset + i;
        for (max0 = max, min = targetOffset; min < max0;) {
          mid = min + B.JSInt_methods._shrOtherPositive$1(max0 - min, 1);
          if (compare.call$2(element, target[mid]) < 0)
            max0 = mid;
          else
            min = mid + 1;
        }
        B.JSArray_methods.setRange$4(target, min + 1, max + 1, target, min);
        target[min] = element;
      }
    },
    _mergeSort(list, compare, start, end, target, targetOffset) {
      var middle, firstLength, targetMiddle,
        $length = end - start;
      if ($length < 32) {
        A._movingInsertionSort(list, compare, start, end, target, targetOffset);
        return;
      }
      middle = start + B.JSInt_methods._shrOtherPositive$1($length, 1);
      firstLength = middle - start;
      targetMiddle = targetOffset + firstLength;
      A._mergeSort(list, compare, middle, end, target, targetMiddle);
      A._mergeSort(list, compare, start, middle, list, middle);
      A._merge(compare, list, middle, middle + firstLength, target, targetMiddle, targetMiddle + (end - middle), target, targetOffset);
    },
    _merge(compare, firstList, firstStart, firstEnd, secondList, secondStart, secondEnd, target, targetOffset) {
      var targetOffset0, cursor10, cursor20,
        cursor1 = firstStart + 1,
        firstElement = firstList[firstStart],
        cursor2 = secondStart + 1,
        secondElement = secondList[secondStart];
      for (; true; targetOffset = targetOffset0) {
        targetOffset0 = targetOffset + 1;
        if (compare.call$2(firstElement, secondElement) <= 0) {
          target[targetOffset] = firstElement;
          if (cursor1 === firstEnd) {
            targetOffset = targetOffset0;
            break;
          }
          cursor10 = cursor1 + 1;
          firstElement = firstList[cursor1];
        } else {
          target[targetOffset] = secondElement;
          if (cursor2 !== secondEnd) {
            cursor20 = cursor2 + 1;
            secondElement = secondList[cursor2];
            cursor2 = cursor20;
            continue;
          }
          targetOffset = targetOffset0 + 1;
          target[targetOffset0] = firstElement;
          B.JSArray_methods.setRange$4(target, targetOffset, targetOffset + (firstEnd - cursor1), firstList, cursor1);
          return;
        }
        cursor1 = cursor10;
      }
      targetOffset0 = targetOffset + 1;
      target[targetOffset] = secondElement;
      B.JSArray_methods.setRange$4(target, targetOffset0, targetOffset0 + (secondEnd - cursor2), secondList, cursor2);
    },
    debugInstrumentAction(description, action, $T) {
      return A.debugInstrumentAction$body(description, action, $T, $T);
    },
    debugInstrumentAction$body(description, action, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, t1;
      var $async$debugInstrumentAction = 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 = action.call$0();
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$debugInstrumentAction, $async$completer);
    },
    debugFormatDouble(value) {
      if (value == null)
        return "null";
      return B.JSNumber_methods.toStringAsFixed$1(value, 1);
    },
    clampDouble(x, min, max) {
      if (x < min)
        return min;
      if (x > max)
        return max;
      if (isNaN(x))
        return max;
      return x;
    },
    debugPrintThrottled(message, wrapWidth) {
      var messageLines = A._setArrayType(message.split("\n"), type$.JSArray_String);
      $.$get$_debugPrintBuffer().addAll$1(0, messageLines);
      if (!$._debugPrintScheduled)
        A._debugPrintTask();
    },
    _debugPrintTask() {
      var line, toZone,
        t1 = $._debugPrintScheduled = false,
        t2 = $.$get$_debugPrintStopwatch();
      if (A.Duration$(t2.get$elapsedMicroseconds(), 0)._duration > 1000000) {
        if (t2._stop == null)
          t2._stop = $.Primitives_timerTicks.call$0();
        t2.reset$0(0);
        $._debugPrintedCharacters = 0;
      }
      while (true) {
        if ($._debugPrintedCharacters < 12288) {
          t2 = $.$get$_debugPrintBuffer();
          t2 = !t2.get$isEmpty(t2);
        } else
          t2 = t1;
        if (!t2)
          break;
        line = $.$get$_debugPrintBuffer().removeFirst$0();
        $._debugPrintedCharacters = $._debugPrintedCharacters + line.length;
        toZone = $.printToZone;
        if (toZone == null)
          A.printString(line);
        else
          toZone.call$1(line);
      }
      t1 = $.$get$_debugPrintBuffer();
      if (!t1.get$isEmpty(t1)) {
        $._debugPrintScheduled = true;
        $._debugPrintedCharacters = 0;
        A.Timer_Timer(B.Duration_1000000, A.print___debugPrintTask$closure());
        if ($._debugPrintCompleter == null)
          $._debugPrintCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
      } else {
        $.$get$_debugPrintStopwatch().start$0(0);
        t1 = $._debugPrintCompleter;
        if (t1 != null)
          t1.complete$0(0);
        $._debugPrintCompleter = null;
      }
    },
    ElevationOverlay_applyOverlay(context, color, elevation) {
      var t1,
        theme = A.Theme_of(context);
      if (elevation > 0)
        if (theme.applyElevationOverlayColor) {
          t1 = theme.colorScheme;
          if (t1.brightness === B.Brightness_0) {
            t1 = t1.surface.value;
            t1 = A.Color$fromARGB(255, color.get$value(color) >>> 16 & 255, color.get$value(color) >>> 8 & 255, color.get$value(color) & 255).$eq(0, A.Color$fromARGB(255, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255));
          } else
            t1 = false;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return A.Color_alphaBlend(A.ElevationOverlay__overlayColor(theme.colorScheme.onSurface, elevation), color);
      return color;
    },
    ElevationOverlay__overlayColor(color, elevation) {
      return A.Color$fromARGB(B.JSNumber_methods.round$0(255 * ((4.5 * Math.log(elevation + 1) + 2) / 100)), color.get$value(color) >>> 16 & 255, color.get$value(color) >>> 8 & 255, color.get$value(color) & 255);
    },
    Feedback_forTap(context) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue;
      var $async$Feedback_forTap = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                context.get$renderObject().sendSemanticsEvent$1(B.TapSemanticEvent_tap);
                switch (A.Theme_of(context).platform.index) {
                  case 0:
                  case 1:
                    $async$returnValue = A.SystemSound_play(B.SystemSoundType_0);
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  case 2:
                  case 3:
                  case 4:
                  case 5:
                    $async$returnValue = A.Future_Future$value(null, type$.void);
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                }
              case 1:
                // return
                return A._asyncReturn($async$returnValue, $async$completer);
            }
      });
      return A._asyncStartSync($async$Feedback_forTap, $async$completer);
    },
    Feedback_forLongPress(context) {
      context.get$renderObject().sendSemanticsEvent$1(B.LongPressSemanticsEvent_longPress);
      switch (A.Theme_of(context).platform.index) {
        case 0:
        case 1:
          return A.HapticFeedback_vibrate();
        case 2:
        case 3:
        case 4:
        case 5:
          return A.Future_Future$value(null, type$.void);
      }
    },
    PlatformAdaptiveIcons__isCupertino() {
      switch (A.defaultTargetPlatform().index) {
        case 0:
        case 1:
        case 3:
        case 5:
          return false;
        case 2:
        case 4:
          return true;
      }
    },
    positionDependentBox(childSize, preferBelow, size, target, verticalOffset) {
      var fitsAbove, tooltipBelow, y, x, normalizedTargetX, edge,
        t1 = target._dy,
        t2 = t1 + verticalOffset,
        t3 = childSize._dy,
        t4 = size._dy - 10,
        fitsBelow = t2 + t3 <= t4;
      t3 = t1 - verticalOffset - t3;
      fitsAbove = t3 >= 10;
      if (preferBelow)
        tooltipBelow = fitsBelow || !fitsAbove;
      else
        tooltipBelow = !(fitsAbove || !fitsBelow);
      y = tooltipBelow ? Math.min(t2, t4) : Math.max(t3, 10);
      t1 = size._dx;
      t2 = childSize._dx;
      if (t1 - 20 < t2)
        x = (t1 - t2) / 2;
      else {
        t3 = t1 - 10;
        normalizedTargetX = A.clampDouble(target._dx, 10, t3);
        t4 = t2 / 2;
        edge = 10 + t4;
        if (normalizedTargetX < edge)
          x = 10;
        else
          x = normalizedTargetX > t1 - edge ? t3 - t2 : normalizedTargetX - t4;
      }
      return new A.Offset(x, y);
    },
    decodeImageFromList(bytes) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Image),
        $async$returnValue, frameInfo;
      var $async$decodeImageFromList = 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
              $.PaintingBinding__instance.toString;
              $async$goto = 4;
              return A._asyncAwait(A.instantiateImageCodec(bytes, false, null, null), $async$decodeImageFromList);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$result.getNextFrame$0(), $async$decodeImageFromList);
            case 3:
              // returning from await.
              frameInfo = $async$result;
              $async$returnValue = frameInfo.get$image(frameInfo);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$decodeImageFromList, $async$completer);
    },
    MatrixUtils_getAsTranslation(transform) {
      var values = transform._m4storage;
      if (values[0] === 1 && values[1] === 0 && values[2] === 0 && values[3] === 0 && values[4] === 0 && values[5] === 1 && values[6] === 0 && values[7] === 0 && values[8] === 0 && values[9] === 0 && values[10] === 1 && values[11] === 0 && values[14] === 0 && values[15] === 1)
        return new A.Offset(values[12], values[13]);
      return null;
    },
    MatrixUtils_matrixEquals(a, b) {
      var t1, t2;
      if (a === b)
        return true;
      if (a == null)
        return A.MatrixUtils_isIdentity(b);
      t1 = a._m4storage;
      t2 = b._m4storage;
      return t1[0] === t2[0] && t1[1] === t2[1] && t1[2] === t2[2] && t1[3] === t2[3] && t1[4] === t2[4] && t1[5] === t2[5] && t1[6] === t2[6] && t1[7] === t2[7] && t1[8] === t2[8] && t1[9] === t2[9] && t1[10] === t2[10] && t1[11] === t2[11] && t1[12] === t2[12] && t1[13] === t2[13] && t1[14] === t2[14] && t1[15] === t2[15];
    },
    MatrixUtils_isIdentity(a) {
      var t1 = a._m4storage;
      return t1[0] === 1 && t1[1] === 0 && t1[2] === 0 && t1[3] === 0 && t1[4] === 0 && t1[5] === 1 && t1[6] === 0 && t1[7] === 0 && t1[8] === 0 && t1[9] === 0 && t1[10] === 1 && t1[11] === 0 && t1[12] === 0 && t1[13] === 0 && t1[14] === 0 && t1[15] === 1;
    },
    MatrixUtils_transformPoint(transform, point) {
      var storage = transform._m4storage,
        x = point._dx,
        y = point._dy,
        rx = storage[0] * x + storage[4] * y + storage[12],
        ry = storage[1] * x + storage[5] * y + storage[13],
        rw = storage[3] * x + storage[7] * y + storage[15];
      if (rw === 1)
        return new A.Offset(rx, ry);
      else
        return new A.Offset(rx / rw, ry / rw);
    },
    MatrixUtils__accumulate(m, x, y, first, isAffine) {
      var t1,
        w = isAffine ? 1 : 1 / (m[3] * x + m[7] * y + m[15]),
        tx = (m[0] * x + m[4] * y + m[12]) * w,
        ty = (m[1] * x + m[5] * y + m[13]) * w;
      if (first) {
        t1 = $.$get$MatrixUtils__minMax();
        t1[2] = tx;
        t1[0] = tx;
        t1[3] = ty;
        t1[1] = ty;
      } else {
        t1 = $.$get$MatrixUtils__minMax();
        if (tx < t1[0])
          t1[0] = tx;
        if (ty < t1[1])
          t1[1] = ty;
        if (tx > t1[2])
          t1[2] = tx;
        if (ty > t1[3])
          t1[3] = ty;
      }
    },
    MatrixUtils_transformRect(transform, rect) {
      var isAffine, wx, hx, rx, wy, hy, ry, left, right, $top, bottom, hw, rw, ulx, uly, urx, t3, ury, t4, llx, lly, lrx, lry,
        storage = transform._m4storage,
        x = rect.left,
        y = rect.top,
        t1 = rect.right,
        w = t1 - x,
        t2 = rect.bottom,
        h = t2 - y;
      if (!isFinite(w) || !isFinite(h)) {
        isAffine = storage[3] === 0 && storage[7] === 0 && storage[15] === 1;
        A.MatrixUtils__accumulate(storage, x, y, true, isAffine);
        A.MatrixUtils__accumulate(storage, t1, y, false, isAffine);
        A.MatrixUtils__accumulate(storage, x, t2, false, isAffine);
        A.MatrixUtils__accumulate(storage, t1, t2, false, isAffine);
        t1 = $.$get$MatrixUtils__minMax();
        return new A.Rect(t1[0], t1[1], t1[2], t1[3]);
      }
      t1 = storage[0];
      wx = t1 * w;
      t2 = storage[4];
      hx = t2 * h;
      rx = t1 * x + t2 * y + storage[12];
      t2 = storage[1];
      wy = t2 * w;
      t1 = storage[5];
      hy = t1 * h;
      ry = t2 * x + t1 * y + storage[13];
      t1 = storage[3];
      if (t1 === 0 && storage[7] === 0 && storage[15] === 1) {
        left = rx + wx;
        if (wx < 0)
          right = rx;
        else {
          right = left;
          left = rx;
        }
        if (hx < 0)
          left += hx;
        else
          right += hx;
        $top = ry + wy;
        if (wy < 0)
          bottom = ry;
        else {
          bottom = $top;
          $top = ry;
        }
        if (hy < 0)
          $top += hy;
        else
          bottom += hy;
        return new A.Rect(left, $top, right, bottom);
      } else {
        t2 = storage[7];
        hw = t2 * h;
        rw = t1 * x + t2 * y + storage[15];
        ulx = rx / rw;
        uly = ry / rw;
        t2 = rx + wx;
        t1 = rw + t1 * w;
        urx = t2 / t1;
        t3 = ry + wy;
        ury = t3 / t1;
        t4 = rw + hw;
        llx = (rx + hx) / t4;
        lly = (ry + hy) / t4;
        t1 += hw;
        lrx = (t2 + hx) / t1;
        lry = (t3 + hy) / t1;
        return new A.Rect(A.MatrixUtils__min4(ulx, urx, llx, lrx), A.MatrixUtils__min4(uly, ury, lly, lry), A.MatrixUtils__max4(ulx, urx, llx, lrx), A.MatrixUtils__max4(uly, ury, lly, lry));
      }
    },
    MatrixUtils__min4(a, b, c, d) {
      var e = a < b ? a : b,
        f = c < d ? c : d;
      return e < f ? e : f;
    },
    MatrixUtils__max4(a, b, c, d) {
      var e = a > b ? a : b,
        f = c > d ? c : d;
      return e > f ? e : f;
    },
    MatrixUtils_inverseTransformRect(transform, rect) {
      var transform0;
      if (A.MatrixUtils_isIdentity(transform))
        return rect;
      transform0 = new A.Matrix4(new Float64Array(16));
      transform0.setFrom$1(transform);
      transform0.copyInverse$1(transform0);
      return A.MatrixUtils_transformRect(transform0, rect);
    },
    MatrixUtils_forceToPoint(offset) {
      var t2,
        t1 = new A.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      t2 = new A.Vector4(new Float64Array(4));
      t2.setValues$4(0, 0, 0, offset._dx);
      t1.setRow$2(0, t2);
      t2 = new A.Vector4(new Float64Array(4));
      t2.setValues$4(0, 0, 0, offset._dy);
      t1.setRow$2(1, t2);
      return t1;
    },
    nearEqual(a, b, epsilon) {
      if (a == null || false)
        return a === b;
      return a > b - epsilon && a < b + epsilon || a === b;
    },
    ChildLayoutHelper_dryLayoutChild(child, constraints) {
      return child.getDryLayout$1(constraints);
    },
    ChildLayoutHelper_layoutChild(child, constraints) {
      var t1;
      child.layout$2$parentUsesSize(constraints, true);
      t1 = child._box$_size;
      t1.toString;
      return t1;
    },
    SemanticsService_tooltip(message) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$SemanticsService_tooltip = 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(B.BasicMessageChannel_8hp.send$1(0, new A.TooltipSemanticsEvent(message, "tooltip").toMap$0()), $async$SemanticsService_tooltip);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$SemanticsService_tooltip, $async$completer);
    },
    HapticFeedback_vibrate() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$HapticFeedback_vibrate = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$1("HapticFeedback.vibrate", type$.void), $async$HapticFeedback_vibrate);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$HapticFeedback_vibrate, $async$completer);
    },
    HapticFeedback_mediumImpact() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$HapticFeedback_mediumImpact = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$2("HapticFeedback.vibrate", "HapticFeedbackType.mediumImpact", type$.void), $async$HapticFeedback_mediumImpact);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$HapticFeedback_mediumImpact, $async$completer);
    },
    SystemNavigator_pop() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$SystemNavigator_pop = 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(B.OptionalMethodChannel_cWd.invokeMethod$1$2("SystemNavigator.pop", null, type$.void), $async$SystemNavigator_pop);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$SystemNavigator_pop, $async$completer);
    },
    SystemNavigator_routeInformationUpdated($location, replace, state) {
      return B.OptionalMethodChannel_urv.invokeMethod$1$2("routeInformationUpdated", A.LinkedHashMap_LinkedHashMap$_literal(["location", $location, "state", state, "replace", replace], type$.String, type$.dynamic), type$.void);
    },
    TextLayoutMetrics_isWhitespace(codeUnit) {
      switch (codeUnit) {
        case 9:
        case 10:
        case 11:
        case 12:
        case 13:
        case 28:
        case 29:
        case 30:
        case 31:
        case 32:
        case 160:
        case 5760:
        case 8192:
        case 8193:
        case 8194:
        case 8195:
        case 8196:
        case 8197:
        case 8198:
        case 8199:
        case 8200:
        case 8201:
        case 8202:
        case 8239:
        case 8287:
        case 12288:
          break;
        default:
          return false;
      }
      return true;
    },
    debugIsWidgetLocalCreation(widget) {
      return false;
    },
    ensureLeadingSlash(path) {
      if (!B.JSString_methods.startsWith$1(path, "/"))
        return "/" + path;
      return path;
    },
    stripTrailingSlash(path) {
      if (B.JSString_methods.endsWith$1(path, "/"))
        return B.JSString_methods.substring$2(path, 0, path.length - 1);
      return path;
    },
    wrapFormatException($name, value, body) {
      var error, error0, t1, exception;
      try {
        t1 = body.call$0();
        return t1;
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (t1 instanceof A.SourceSpanFormatException) {
          error = t1;
          throw A.wrapException(A.SourceSpanFormatException$("Invalid " + $name + ": " + error._span_exception$_message, error._span, J.get$source$z(error)));
        } else if (type$.FormatException._is(t1)) {
          error0 = t1;
          throw A.wrapException(A.FormatException$("Invalid " + $name + ' "' + value + '": ' + J.get$message$x(error0), J.get$source$z(error0), J.get$offset$x(error0)));
        } else
          throw exception;
      }
    },
    getColor(r, g, b, a) {
      return (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(a, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(b, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(g, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(r, 0, 255))) >>> 0;
    },
    ExrWavelet_decode(input, si, nx, ox, ny, oy, mx) {
      var p, p0, a_b, p2, ey, oy1, oy2, ox1, ox2, t1, t2, py, ex, px, p01, p10, p11, i00, i10, i01, i11,
        w14 = mx < 16384,
        n = nx > ny ? ny : nx;
      for (p = 1; p <= n;)
        p = p << 1 >>> 0;
      p = p >>> 1;
      p0 = p >>> 1;
      a_b = A._setArrayType([0, 0], type$.JSArray_int);
      for (p2 = p, p = p0; p >= 1; p2 = p, p = p0) {
        ey = si + oy * (ny - p2);
        oy1 = oy * p;
        oy2 = oy * p2;
        ox1 = ox * p;
        ox2 = ox * p2;
        for (t1 = (nx & p) >>> 0 !== 0, t2 = ox * (nx - p2), py = si; py <= ey; py += oy2) {
          ex = py + t2;
          for (px = py; px <= ex; px += ox2) {
            p01 = px + ox1;
            p10 = px + oy1;
            p11 = p10 + ox1;
            if (w14) {
              A.ExrWavelet_wdec14(input[px], input[p10], a_b);
              i00 = a_b[0];
              i10 = a_b[1];
              A.ExrWavelet_wdec14(input[p01], input[p11], a_b);
              i01 = a_b[0];
              i11 = a_b[1];
              A.ExrWavelet_wdec14(i00, i01, a_b);
              input[px] = a_b[0];
              input[p01] = a_b[1];
              A.ExrWavelet_wdec14(i10, i11, a_b);
              input[p10] = a_b[0];
              input[p11] = a_b[1];
            } else {
              A.ExrWavelet_wdec16(input[px], input[p10], a_b);
              i00 = a_b[0];
              i10 = a_b[1];
              A.ExrWavelet_wdec16(input[p01], input[p11], a_b);
              i01 = a_b[0];
              i11 = a_b[1];
              A.ExrWavelet_wdec16(i00, i01, a_b);
              input[px] = a_b[0];
              input[p01] = a_b[1];
              A.ExrWavelet_wdec16(i10, i11, a_b);
              input[p10] = a_b[0];
              input[p11] = a_b[1];
            }
          }
          if (t1) {
            p10 = px + oy1;
            if (w14) {
              A.ExrWavelet_wdec14(input[px], input[p10], a_b);
              i00 = a_b[0];
              input[p10] = a_b[1];
            } else {
              A.ExrWavelet_wdec16(input[px], input[p10], a_b);
              i00 = a_b[0];
              input[p10] = a_b[1];
            }
            input[px] = i00;
          }
        }
        if ((ny & p) >>> 0 !== 0) {
          ex = py + t2;
          for (px = py; px <= ex; px += ox2) {
            p01 = px + ox1;
            if (w14) {
              A.ExrWavelet_wdec14(input[px], input[p01], a_b);
              i00 = a_b[0];
              input[p01] = a_b[1];
            } else {
              A.ExrWavelet_wdec16(input[px], input[p01], a_b);
              i00 = a_b[0];
              input[p01] = a_b[1];
            }
            input[px] = i00;
          }
        }
        p0 = p >>> 1;
      }
    },
    ExrWavelet_wdec14(l, h, a_b) {
      var t2, ls, hs, ai,
        t1 = $.$get$__uint16();
      t1[0] = l;
      t2 = $.$get$__uint16ToInt16();
      ls = t2[0];
      t1[0] = h;
      hs = t2[0];
      ai = ls + (hs & 1) + B.JSInt_methods._shrOtherPositive$1(hs, 1);
      a_b[0] = ai;
      a_b[1] = ai - hs;
    },
    ExrWavelet_wdec16(l, h, a_b) {
      var bb = l - B.JSInt_methods._shrOtherPositive$1(h, 1) & 65535;
      a_b[1] = bb;
      a_b[0] = h + bb - 32768 & 65535;
    },
    findDecoderForData(data) {
      var png, gif, webp, tiff, tga, ico, t1, _null = null;
      if (A.JpegData$().validate$1(data))
        return new A.JpegDecoder();
      png = new A.PngDecoder();
      if (png.isValidFile$1(data))
        return png;
      gif = new A.GifDecoder();
      gif._gif_decoder$_input = A.InputBuffer$(data, false, _null, 0);
      gif.info = new A.GifInfo(A._setArrayType([], type$.JSArray_GifImageDesc));
      if (gif._getInfo$0())
        return gif;
      webp = new A.WebPDecoder();
      if (webp.isValidFile$1(data))
        return webp;
      tiff = new A.TiffDecoder();
      if (tiff._readHeader$1(A.InputBuffer$(data, false, _null, 0)) != null)
        return tiff;
      if (A.PsdImage$(data).signature === 943870035)
        return new A.PsdDecoder();
      if (A.ExrImage_isValidFile(data))
        return new A.ExrDecoder();
      if (A.BitmapFileHeader_isValidFile(A.InputBuffer$(data, false, _null, 0)))
        return new A.BmpDecoder();
      tga = new A.TgaDecoder();
      if (tga.isValidFile$1(data))
        return tga;
      ico = new A.IcoDecoder();
      t1 = A.InputBuffer$(data, false, _null, 0);
      ico._ico_decoder$_input = t1;
      t1 = A.IcoInfo__read(t1);
      ico._icoInfo = t1;
      if (t1 != null)
        return ico;
      return _null;
    },
    decodeImage(data) {
      var decoder = A.findDecoderForData(data);
      if (decoder == null)
        return null;
      return decoder.decodeImage$1(data);
    },
    quantizeAndInverse(quantizationTable, coefBlock, dataOut, dataIn) {
      var t1, i, row, t2, t, t3, v0, t4, v1, v2, t5, v3, t6, t7, t8, v4, v7, v5, v6, t9, t10, t11, t12;
      if ($._dctClip == null) {
        t1 = $._dctClip = new Uint8Array(768);
        for (i = -256; i < 0; ++i)
          t1[256 + i] = 0;
        for (i = 0; i < 256; ++i)
          t1[256 + i] = i;
        for (i = 256; i < 512; ++i)
          t1[256 + i] = 255;
      }
      for (i = 0; i < 64; ++i)
        dataIn[i] = coefBlock[i] * quantizationTable[i];
      for (row = 0, i = 0; i < 8; ++i, row += 8) {
        t1 = 1 + row;
        t2 = dataIn[t1];
        if (t2 === 0 && dataIn[2 + row] === 0 && dataIn[3 + row] === 0 && dataIn[4 + row] === 0 && dataIn[5 + row] === 0 && dataIn[6 + row] === 0 && dataIn[7 + row] === 0) {
          t1 = B.JSInt_methods._shrOtherPositive$1(5793 * dataIn[row] + 512, 10);
          t = (t1 & 2147483647) - ((t1 & 2147483648) >>> 0);
          dataIn[row] = t;
          dataIn[row + 1] = t;
          dataIn[row + 2] = t;
          dataIn[row + 3] = t;
          dataIn[row + 4] = t;
          dataIn[row + 5] = t;
          dataIn[row + 6] = t;
          dataIn[row + 7] = t;
          continue;
        }
        t3 = B.JSInt_methods._shrOtherPositive$1(5793 * dataIn[row] + 128, 8);
        v0 = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
        t3 = 4 + row;
        t4 = B.JSInt_methods._shrOtherPositive$1(5793 * dataIn[t3] + 128, 8);
        v1 = (t4 & 2147483647) - ((t4 & 2147483648) >>> 0);
        t4 = 2 + row;
        v2 = dataIn[t4];
        t5 = 6 + row;
        v3 = dataIn[t5];
        t6 = 7 + row;
        t7 = dataIn[t6];
        t8 = B.JSInt_methods._shrOtherPositive$1(2896 * (t2 - t7) + 128, 8);
        v4 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t7 = B.JSInt_methods._shrOtherPositive$1(2896 * (t2 + t7) + 128, 8);
        v7 = (t7 & 2147483647) - ((t7 & 2147483648) >>> 0);
        t7 = 3 + row;
        t2 = dataIn[t7] << 4;
        v5 = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0);
        t2 = 5 + row;
        t8 = dataIn[t2] << 4;
        v6 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v0 - v1 + 1, 1);
        t = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v0 + v1 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v2 * 3784 + v3 * 1567 + 128, 8);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t9 = B.JSInt_methods._shrOtherPositive$1(v2 * 1567 - v3 * 3784 + 128, 8);
        v2 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t9 = B.JSInt_methods._shrOtherPositive$1(v4 - v6 + 1, 1);
        t9 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v4 + v6 + 1, 1);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v7 + v5 + 1, 1);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t11 = B.JSInt_methods._shrOtherPositive$1(v7 - v5 + 1, 1);
        v5 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t11 = B.JSInt_methods._shrOtherPositive$1(v0 - t8 + 1, 1);
        t11 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v0 + t8 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(t - v2 + 1, 1);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t12 = B.JSInt_methods._shrOtherPositive$1(t + v2 + 1, 1);
        v1 = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t12 = B.JSInt_methods._shrOtherPositive$1(v4 * 2276 + t10 * 3406 + 2048, 12);
        t = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v4 * 3406 - t10 * 2276 + 2048, 12);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v5 * 799 + t9 * 4017 + 2048, 12);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t9 = B.JSInt_methods._shrOtherPositive$1(v5 * 4017 - t9 * 799 + 2048, 12);
        v5 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        dataIn[row] = v0 + t;
        dataIn[t6] = v0 - t;
        dataIn[t1] = v1 + t10;
        dataIn[t5] = v1 - t10;
        dataIn[t4] = t8 + v5;
        dataIn[t2] = t8 - v5;
        dataIn[t7] = t11 + v4;
        dataIn[t3] = t11 - v4;
      }
      for (i = 0; i < 8; ++i) {
        t1 = 8 + i;
        t2 = dataIn[t1];
        if (t2 === 0 && dataIn[16 + i] === 0 && dataIn[24 + i] === 0 && dataIn[32 + i] === 0 && dataIn[40 + i] === 0 && dataIn[48 + i] === 0 && dataIn[56 + i] === 0) {
          t2 = B.JSInt_methods._shrOtherPositive$1(5793 * dataIn[i] + 8192, 14);
          t = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0);
          dataIn[i] = t;
          dataIn[t1] = t;
          dataIn[16 + i] = t;
          dataIn[24 + i] = t;
          dataIn[32 + i] = t;
          dataIn[40 + i] = t;
          dataIn[48 + i] = t;
          dataIn[56 + i] = t;
          continue;
        }
        t3 = B.JSInt_methods._shrOtherPositive$1(5793 * dataIn[i] + 2048, 12);
        v0 = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0);
        t3 = 32 + i;
        t4 = B.JSInt_methods._shrOtherPositive$1(5793 * dataIn[t3] + 2048, 12);
        v1 = (t4 & 2147483647) - ((t4 & 2147483648) >>> 0);
        t4 = 16 + i;
        v2 = dataIn[t4];
        t5 = 48 + i;
        v3 = dataIn[t5];
        t6 = 56 + i;
        t7 = dataIn[t6];
        t8 = B.JSInt_methods._shrOtherPositive$1(2896 * (t2 - t7) + 2048, 12);
        v4 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t7 = B.JSInt_methods._shrOtherPositive$1(2896 * (t2 + t7) + 2048, 12);
        v7 = (t7 & 2147483647) - ((t7 & 2147483648) >>> 0);
        t7 = 24 + i;
        v5 = dataIn[t7];
        t2 = 40 + i;
        v6 = dataIn[t2];
        t8 = B.JSInt_methods._shrOtherPositive$1(v0 - v1 + 1, 1);
        t = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v0 + v1 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v2 * 3784 + v3 * 1567 + 2048, 12);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t9 = B.JSInt_methods._shrOtherPositive$1(v2 * 1567 - v3 * 3784 + 2048, 12);
        v2 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t9 = B.JSInt_methods._shrOtherPositive$1(v4 - v6 + 1, 1);
        t9 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v4 + v6 + 1, 1);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v7 + v5 + 1, 1);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t11 = B.JSInt_methods._shrOtherPositive$1(v7 - v5 + 1, 1);
        v5 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t11 = B.JSInt_methods._shrOtherPositive$1(v0 - t8 + 1, 1);
        t11 = (t11 & 2147483647) - ((t11 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(v0 + t8 + 1, 1);
        v0 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t8 = B.JSInt_methods._shrOtherPositive$1(t - v2 + 1, 1);
        t8 = (t8 & 2147483647) - ((t8 & 2147483648) >>> 0);
        t12 = B.JSInt_methods._shrOtherPositive$1(t + v2 + 1, 1);
        v1 = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t12 = B.JSInt_methods._shrOtherPositive$1(v4 * 2276 + t10 * 3406 + 2048, 12);
        t = (t12 & 2147483647) - ((t12 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v4 * 3406 - t10 * 2276 + 2048, 12);
        v4 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t10 = B.JSInt_methods._shrOtherPositive$1(v5 * 799 + t9 * 4017 + 2048, 12);
        t10 = (t10 & 2147483647) - ((t10 & 2147483648) >>> 0);
        t9 = B.JSInt_methods._shrOtherPositive$1(v5 * 4017 - t9 * 799 + 2048, 12);
        v5 = (t9 & 2147483647) - ((t9 & 2147483648) >>> 0);
        dataIn[i] = v0 + t;
        dataIn[t6] = v0 - t;
        dataIn[t1] = v1 + t10;
        dataIn[t5] = v1 - t10;
        dataIn[t4] = t8 + v5;
        dataIn[t2] = t8 - v5;
        dataIn[t7] = t11 + v4;
        dataIn[t3] = t11 - v4;
      }
      for (t1 = $._dctClip, i = 0; i < 64; ++i) {
        t1.toString;
        t2 = B.JSInt_methods._shrOtherPositive$1(dataIn[i] + 8, 4);
        dataOut[i] = t1[384 + ((t2 & 2147483647) - ((t2 & 2147483648) >>> 0))];
      }
    },
    getImageFromJpeg(jpeg) {
      var flipWidthHeight, width, height, image, t4, t5, h1, w1, component1, lines, hShift1, vShift1, t6, t7, t8, t9, offset, y, t10, component1Line, t11, t12, x, t13, $Y, c, offset0, component2, component3, lines1, lines2, lines3, hShift2, vShift2, hShift3, vShift3, y1, y2, y3, component2Line, component3Line, x1, x2, x3, Cb, Cr, $R, $G, $B, colorTransform, component4, lines4, hShift4, vShift4, y4, component4Line, t14, x4, $C, $M, Ye, $K, t15, t16,
        t1 = jpeg.exif.data,
        orientation = t1.containsKey$1(0, 274) ? A._asInt(t1.$index(0, 274)) : 0,
        t2 = jpeg.frame,
        t3 = t2.samplesPerLine;
      t3.toString;
      t2 = t2.scanLines;
      t2.toString;
      flipWidthHeight = orientation >= 5 && orientation <= 8;
      if (flipWidthHeight)
        width = t2;
      else
        width = t3;
      if (flipWidthHeight)
        height = t3;
      else
        height = t2;
      image = A.Image$0(width, height, B.Channels_0);
      image.exif = new A.ExifData(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.dynamic));
      for (t4 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t4.moveNext$0();) {
        t5 = t4.__js_helper$_current;
        if (t5 !== 274)
          image.exif.data.$indexSet(0, t5, t1.$index(0, t5));
      }
      h1 = t2 - 1;
      w1 = t3 - 1;
      t1 = jpeg.components;
      switch (t1.length) {
        case 1:
          component1 = t1[0];
          lines = component1.lines;
          hShift1 = component1.hScaleShift;
          vShift1 = component1.vScaleShift;
          t1 = image.data;
          t2 = orientation === 8;
          t3 = orientation === 7;
          t4 = orientation === 6;
          t5 = orientation === 5;
          t6 = orientation === 4;
          t7 = orientation === 3;
          t8 = orientation === 2;
          t9 = image.width;
          offset = 0;
          y = 0;
          while (true) {
            t10 = jpeg.frame.scanLines;
            t10.toString;
            if (!(y < t10))
              break;
            component1Line = lines[B.JSInt_methods._shrBothPositive$1(y, vShift1)];
            t10 = h1 - y;
            t11 = t10 * t9;
            t12 = y * t9;
            x = 0;
            while (true) {
              t13 = jpeg.frame.samplesPerLine;
              t13.toString;
              if (!(x < t13))
                break;
              $Y = component1Line[B.JSInt_methods._shrBothPositive$1(x, hShift1)];
              c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2($Y, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2($Y, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2($Y, 0, 255))) >>> 0;
              if (t8)
                t1[t12 + (w1 - x)] = c;
              else if (t7)
                t1[t11 + (w1 - x)] = c;
              else if (t6)
                t1[t11 + x] = c;
              else if (t5)
                t1[x * t9 + y] = c;
              else if (t4)
                t1[x * t9 + t10] = c;
              else if (t3)
                t1[(w1 - x) * t9 + t10] = c;
              else if (t2)
                t1[(w1 - x) * t9 + y] = c;
              else {
                offset0 = offset + 1;
                t1[offset] = c;
                offset = offset0;
              }
              ++x;
            }
            ++y;
          }
          break;
        case 3:
          component1 = t1[0];
          component2 = t1[1];
          component3 = t1[2];
          lines1 = component1.lines;
          lines2 = component2.lines;
          lines3 = component3.lines;
          hShift1 = component1.hScaleShift;
          vShift1 = component1.vScaleShift;
          hShift2 = component2.hScaleShift;
          vShift2 = component2.vScaleShift;
          hShift3 = component3.hScaleShift;
          vShift3 = component3.vScaleShift;
          t1 = image.data;
          t2 = orientation === 8;
          t3 = orientation === 7;
          t4 = orientation === 6;
          t5 = orientation === 5;
          t6 = orientation === 4;
          t7 = orientation === 3;
          t8 = orientation === 2;
          t9 = image.width;
          offset = 0;
          y = 0;
          while (true) {
            t10 = jpeg.frame.scanLines;
            t10.toString;
            if (!(y < t10))
              break;
            y1 = B.JSInt_methods._shrBothPositive$1(y, vShift1);
            y2 = B.JSInt_methods._shrBothPositive$1(y, vShift2);
            y3 = B.JSInt_methods._shrBothPositive$1(y, vShift3);
            component1Line = lines1[y1];
            component2Line = lines2[y2];
            component3Line = lines3[y3];
            t10 = h1 - y;
            t11 = t10 * t9;
            t12 = y * t9;
            x = 0;
            while (true) {
              t13 = jpeg.frame.samplesPerLine;
              t13.toString;
              if (!(x < t13))
                break;
              x1 = B.JSInt_methods._shrBothPositive$1(x, hShift1);
              x2 = B.JSInt_methods._shrBothPositive$1(x, hShift2);
              x3 = B.JSInt_methods._shrBothPositive$1(x, hShift3);
              $Y = component1Line[x1] << 8 >>> 0;
              Cb = component2Line[x2] - 128;
              Cr = component3Line[x3] - 128;
              t13 = B.JSInt_methods._shrOtherPositive$1($Y + 359 * Cr + 128, 8);
              t13 = (t13 & 2147483647) - ((t13 & 2147483648) >>> 0);
              if (t13 < 0)
                $R = 0;
              else
                $R = t13 > 255 ? 255 : t13;
              t13 = B.JSInt_methods._shrOtherPositive$1($Y - 88 * Cb - 183 * Cr + 128, 8);
              t13 = (t13 & 2147483647) - ((t13 & 2147483648) >>> 0);
              if (t13 < 0)
                $G = 0;
              else
                $G = t13 > 255 ? 255 : t13;
              t13 = B.JSInt_methods._shrOtherPositive$1($Y + 454 * Cb + 128, 8);
              t13 = (t13 & 2147483647) - ((t13 & 2147483648) >>> 0);
              if (t13 < 0)
                $B = 0;
              else
                $B = t13 > 255 ? 255 : t13;
              c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2($B, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2($G, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2($R, 0, 255))) >>> 0;
              if (t8)
                t1[t12 + (w1 - x)] = c;
              else if (t7)
                t1[t11 + (w1 - x)] = c;
              else if (t6)
                t1[t11 + x] = c;
              else if (t5)
                t1[x * t9 + y] = c;
              else if (t4)
                t1[x * t9 + t10] = c;
              else if (t3)
                t1[(w1 - x) * t9 + t10] = c;
              else if (t2)
                t1[(w1 - x) * t9 + y] = c;
              else {
                offset0 = offset + 1;
                t1[offset] = c;
                offset = offset0;
              }
              ++x;
            }
            ++y;
          }
          break;
        case 4:
          t2 = jpeg.adobe;
          if (t2 == null)
            throw A.wrapException(A.ImageException$("Unsupported color mode (4 components)"));
          colorTransform = t2.transformCode !== 0 && true;
          component1 = t1[0];
          component2 = t1[1];
          component3 = t1[2];
          component4 = t1[3];
          lines1 = component1.lines;
          lines2 = component2.lines;
          lines3 = component3.lines;
          lines4 = component4.lines;
          hShift1 = component1.hScaleShift;
          vShift1 = component1.vScaleShift;
          hShift2 = component2.hScaleShift;
          vShift2 = component2.vScaleShift;
          hShift3 = component3.hScaleShift;
          vShift3 = component3.vScaleShift;
          hShift4 = component4.hScaleShift;
          vShift4 = component4.vScaleShift;
          t1 = image.data;
          t2 = orientation === 8;
          t3 = orientation === 7;
          t4 = orientation === 6;
          t5 = orientation === 5;
          t6 = orientation === 4;
          t7 = orientation === 3;
          t8 = orientation === 2;
          t9 = !colorTransform;
          t10 = image.width;
          offset = 0;
          y = 0;
          while (true) {
            t11 = jpeg.frame.scanLines;
            t11.toString;
            if (!(y < t11))
              break;
            y1 = B.JSInt_methods._shrBothPositive$1(y, vShift1);
            y2 = B.JSInt_methods._shrBothPositive$1(y, vShift2);
            y3 = B.JSInt_methods._shrBothPositive$1(y, vShift3);
            y4 = B.JSInt_methods._shrBothPositive$1(y, vShift4);
            component1Line = lines1[y1];
            component2Line = lines2[y2];
            component3Line = lines3[y3];
            component4Line = lines4[y4];
            t11 = h1 - y;
            t12 = t11 * t10;
            t13 = y * t10;
            x = 0;
            while (true) {
              t14 = jpeg.frame.samplesPerLine;
              t14.toString;
              if (!(x < t14))
                break;
              x1 = B.JSInt_methods._shrBothPositive$1(x, hShift1);
              x2 = B.JSInt_methods._shrBothPositive$1(x, hShift2);
              x3 = B.JSInt_methods._shrBothPositive$1(x, hShift3);
              x4 = B.JSInt_methods._shrBothPositive$1(x, hShift4);
              if (t9) {
                $C = component1Line[x1];
                $M = component2Line[x2];
                Ye = component3Line[x3];
                $K = component4Line[x4];
              } else {
                $Y = component1Line[x1];
                Cb = component2Line[x2];
                Cr = component3Line[x3];
                $K = component4Line[x4];
                t14 = Cr - 128;
                t15 = B.JSNumber_methods.toInt$0($Y + 1.402 * t14);
                if (t15 < 0)
                  t15 = 0;
                else if (t15 > 255)
                  t15 = 255;
                $C = 255 - t15;
                t15 = Cb - 128;
                t14 = B.JSNumber_methods.toInt$0($Y - 0.3441363 * t15 - 0.71413636 * t14);
                if (t14 < 0)
                  t14 = 0;
                else if (t14 > 255)
                  t14 = 255;
                $M = 255 - t14;
                t15 = B.JSNumber_methods.toInt$0($Y + 1.772 * t15);
                if (t15 < 0)
                  t14 = 0;
                else
                  t14 = t15 > 255 ? 255 : t15;
                Ye = 255 - t14;
              }
              t14 = B.JSInt_methods._shrOtherPositive$1($C * $K, 8);
              t15 = B.JSInt_methods._shrOtherPositive$1($M * $K, 8);
              t16 = B.JSInt_methods._shrOtherPositive$1(Ye * $K, 8);
              c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((t16 & 2147483647) - ((t16 & 2147483648) >>> 0), 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((t15 & 2147483647) - ((t15 & 2147483648) >>> 0), 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((t14 & 2147483647) - ((t14 & 2147483648) >>> 0), 0, 255))) >>> 0;
              if (t8)
                t1[t13 + (w1 - x)] = c;
              else if (t7)
                t1[t12 + (w1 - x)] = c;
              else if (t6)
                t1[t12 + x] = c;
              else if (t5)
                t1[x * t10 + y] = c;
              else if (t4)
                t1[x * t10 + t11] = c;
              else if (t3)
                t1[(w1 - x) * t10 + t11] = c;
              else if (t2)
                t1[(w1 - x) * t10 + y] = c;
              else {
                offset0 = offset + 1;
                t1[offset] = c;
                offset = offset0;
              }
              ++x;
            }
            ++y;
          }
          break;
        default:
          throw A.wrapException(A.ImageException$("Unsupported color mode"));
      }
      return image;
    },
    WebPFilters_horizontalUnfilter(width, height, stride, row, numRows, data) {
      A.WebPFilters__doHorizontalFilter(data, width, height, stride, row, numRows, true, data);
    },
    WebPFilters_verticalUnfilter(width, height, stride, row, num_rows, data) {
      A.WebPFilters__doVerticalFilter(data, width, height, stride, row, num_rows, true, data);
    },
    WebPFilters_gradientUnfilter(width, height, stride, row, num_rows, data) {
      A.WebPFilters__doGradientFilter(data, width, height, stride, row, num_rows, true, data);
    },
    WebPFilters__predictLine(src, pred, dst, $length, inverse) {
      var t1, t2, t3, t4, t5, t6, i;
      for (t1 = src.buffer, t2 = src.offset, t3 = pred.buffer, t4 = pred.offset, t5 = dst.buffer, t6 = dst.offset, i = 0; i < $length; ++i)
        t5[t6 + i] = t1[t2 + i] + t3[t4 + i];
    },
    WebPFilters__doHorizontalFilter(src, width, height, stride, row, numRows, inverse, out) {
      var t1, t2, _null = null,
        startOffset = row * stride,
        lastRow = row + numRows,
        s = A.InputBuffer$(src, false, _null, startOffset),
        o = A.InputBuffer$(src, false, _null, startOffset),
        preds = A.InputBuffer$from(o, _null, 0);
      if (row === 0) {
        o.$indexSet(0, 0, s.buffer[s.offset]);
        A.WebPFilters__predictLine(A.InputBuffer$from(s, _null, 1), preds, A.InputBuffer$from(o, _null, 1), width - 1, true);
        preds.offset += stride;
        s.offset += stride;
        o.offset += stride;
        row = 1;
      }
      for (t1 = -stride, t2 = width - 1; row < lastRow;) {
        A.WebPFilters__predictLine(s, A.InputBuffer$from(preds, _null, t1), o, 1, true);
        A.WebPFilters__predictLine(A.InputBuffer$from(s, _null, 1), preds, A.InputBuffer$from(o, _null, 1), t2, true);
        ++row;
        preds.offset += stride;
        s.offset += stride;
        o.offset += stride;
      }
    },
    WebPFilters__doVerticalFilter(src, width, height, stride, row, numRows, inverse, out) {
      var _null = null,
        startOffset = row * stride,
        last_row = row + numRows,
        s = A.InputBuffer$(src, false, _null, startOffset),
        o = A.InputBuffer$(out, false, _null, startOffset),
        preds = A.InputBuffer$from(o, _null, 0);
      if (row === 0) {
        o.$indexSet(0, 0, s.buffer[s.offset]);
        A.WebPFilters__predictLine(A.InputBuffer$from(s, _null, 1), preds, A.InputBuffer$from(o, _null, 1), width - 1, true);
        s.offset += stride;
        o.offset += stride;
        row = 1;
      } else
        preds.offset -= stride;
      for (; row < last_row;) {
        A.WebPFilters__predictLine(s, preds, o, width, true);
        ++row;
        preds.offset += stride;
        s.offset += stride;
        o.offset += stride;
      }
    },
    WebPFilters__doGradientFilter(src, width, height, stride, row, numRows, inverse, out) {
      var t1, t2, t3, t4, t5, t6, t7, w, t8, g, pred, _null = null,
        startOffset = row * stride,
        lastRow = row + numRows,
        s = A.InputBuffer$(src, false, _null, startOffset),
        o = A.InputBuffer$(out, false, _null, startOffset),
        preds = A.InputBuffer$from(o, _null, 0);
      if (row === 0) {
        o.$indexSet(0, 0, s.buffer[s.offset]);
        A.WebPFilters__predictLine(A.InputBuffer$from(s, _null, 1), preds, A.InputBuffer$from(o, _null, 1), width - 1, true);
        preds.offset += stride;
        s.offset += stride;
        o.offset += stride;
        row = 1;
      }
      for (t1 = -stride; row < lastRow;) {
        A.WebPFilters__predictLine(s, A.InputBuffer$from(preds, _null, t1), o, 1, true);
        for (t2 = o.buffer, t3 = o.offset, t4 = s.buffer, t5 = s.offset, t6 = preds.buffer, t7 = preds.offset, w = 1; w < width; ++w) {
          t8 = w - stride;
          g = t6[t7 + (w - 1)] + t6[t7 + t8] - t6[t7 + (t8 - 1)];
          if ((g & 4294967040) >>> 0 === 0)
            pred = g;
          else
            pred = g < 0 ? 0 : 255;
          t8 = t4[t5 + w];
          t2[t3 + w] = t8 + pred;
        }
        ++row;
        preds.offset = t7 + stride;
        s.offset += stride;
        o.offset += stride;
      }
    },
    Half_DoubleToHalf(n) {
      var x_i, e, m;
      if ($.Half__toFloatFloat32 == null)
        A.Half__initialize();
      $.$get$__float32()[0] = n;
      x_i = $.$get$__float32ToUint32()[0];
      if (n === 0)
        return x_i >>> 16;
      e = $.Half____eLut._readField$0()[x_i >>> 23 & 511];
      if (e !== 0) {
        m = x_i & 8388607;
        return e + (m + 4095 + (m >>> 13 & 1) >>> 13);
      }
      return A.Half__convert(x_i);
    },
    Half__convert(i) {
      var t, t1,
        s = i >>> 16 & 32768,
        e = (i >>> 23 & 255) - 112,
        m = i & 8388607;
      if (e <= 0) {
        if (e < -10)
          return s;
        m |= 8388608;
        t = 14 - e;
        return (s | B.JSInt_methods.$shr(m + (B.JSInt_methods.$shl(1, t - 1) - 1) + (B.JSInt_methods._shrReceiverPositive$1(m, t) & 1), t)) >>> 0;
      } else if (e === 143)
        if (m === 0)
          return s | 31744;
        else {
          m = m >>> 13;
          t1 = m === 0 ? 1 : 0;
          return s | m | t1 | 31744;
        }
      else {
        m = m + 4095 + (m >>> 13 & 1);
        if ((m & 8388608) !== 0) {
          ++e;
          m = 0;
        }
        if (e > 30)
          return s | 31744;
        return (s | e << 10 | m >>> 13) >>> 0;
      }
    },
    Half__initialize() {
      var t1, i, e, t2;
      if ($.Half__toFloatUint32 != null)
        return;
      t1 = new Uint32Array(65536);
      $.Half__toFloatUint32 = t1;
      $.Half__toFloatFloat32 = A.NativeFloat32List_NativeFloat32List$view(t1.buffer, 0, null);
      t1 = new Uint16Array(512);
      $.Half____eLut.__late_helper$_value = t1;
      for (i = 0; i < 256; ++i) {
        e = (i & 255) - 112;
        if (e <= 0 || e >= 30) {
          $.Half____eLut.toString;
          t1[i] = 0;
          t1[(i | 256) >>> 0] = 0;
        } else {
          $.Half____eLut.toString;
          t2 = e << 10 >>> 0;
          t1[i] = t2;
          t1[(i | 256) >>> 0] = (t2 | 32768) >>> 0;
        }
      }
      for (t1 = $.Half__toFloatUint32, i = 0; i < 65536; ++i) {
        t1.toString;
        t1[i] = A.Half__halfToFloat(i);
      }
    },
    Half__halfToFloat(y) {
      var t1,
        s = y >>> 15 & 1,
        e = y >>> 10 & 31,
        m = y & 1023;
      if (e === 0)
        if (m === 0)
          return s << 31 >>> 0;
        else {
          for (; (m & 1024) === 0;) {
            m = m << 1;
            --e;
          }
          ++e;
          m &= 4294966271;
        }
      else if (e === 31) {
        t1 = s << 31;
        if (m === 0)
          return (t1 | 2139095040) >>> 0;
        else
          return (t1 | m << 13 | 2139095040) >>> 0;
      }
      return (s << 31 | e + 112 << 23 | m << 13) >>> 0;
    },
    debugBits32(value) {
      var i, t1;
      if (value == null)
        return "null";
      for (i = 32, t1 = ""; i > -1; --i)
        t1 += (value & B.JSInt_methods.$shl(1, i)) >>> 0 === 0 ? "0" : "1";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    defaultLocale() {
      var zoneLocale = A._asStringQ($.Zone__current.$index(0, B.Symbol_89P));
      return zoneLocale == null ? $._defaultLocale : zoneLocale;
    },
    dayOfYear(month, day, leapYear) {
      var t1, t2;
      if (month === 1)
        return day;
      if (month === 2)
        return day + 31;
      t1 = B.JSNumber_methods.floor$0(30.6 * month - 91.4);
      t2 = leapYear ? 1 : 0;
      return t1 + day + 59 + t2;
    },
    escapeAttribute(value) {
      var ch,
        t1 = value.length,
        i = 0, t2 = "";
      while (true) {
        if (!(i < t1)) {
          t1 = t2;
          break;
        }
        ch = B.JSString_methods._codeUnitAt$1(value, i);
        if (ch === 92) {
          ++i;
          if (i === t1) {
            t1 = t2 + A.Primitives_stringFromCharCode(ch);
            break;
          }
          ch = B.JSString_methods._codeUnitAt$1(value, i);
          switch (ch) {
            case 34:
              t2 += "&quot;";
              break;
            case 33:
            case 35:
            case 36:
            case 37:
            case 38:
            case 39:
            case 40:
            case 41:
            case 42:
            case 43:
            case 44:
            case 45:
            case 46:
            case 47:
            case 58:
            case 59:
            case 60:
            case 61:
            case 62:
            case 63:
            case 64:
            case 91:
            case 92:
            case 93:
            case 94:
            case 95:
            case 96:
            case 123:
            case 124:
            case 125:
            case 126:
              t2 += A.Primitives_stringFromCharCode(ch);
              break;
            default:
              t2 = t2 + "%5C" + A.Primitives_stringFromCharCode(ch);
          }
        } else
          t2 = ch === 34 ? t2 + "%22" : t2 + A.Primitives_stringFromCharCode(ch);
        ++i;
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    extensionFromMime(mime) {
      var t1, t2;
      mime = mime.toLowerCase();
      for (t1 = B.Map_fu61T.get$entries(B.Map_fu61T), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (B.Map_fu61T.$index(0, t2.get$key(t2)) === mime)
          return t2.get$key(t2);
      }
      return mime;
    },
    current() {
      var exception, t1, path, lastIndex, uri = null;
      try {
        uri = A.Uri_base();
      } catch (exception) {
        if (type$.Exception._is(A.unwrapException(exception))) {
          t1 = $._current;
          if (t1 != null)
            return t1;
          throw exception;
        } else
          throw exception;
      }
      if (J.$eq$(uri, $._currentUriBase)) {
        t1 = $._current;
        t1.toString;
        return t1;
      }
      $._currentUriBase = uri;
      if ($.$get$Style_platform() == $.$get$Style_url())
        t1 = $._current = uri.resolve$1(".").toString$0(0);
      else {
        path = uri.toFilePath$0();
        lastIndex = path.length - 1;
        t1 = $._current = lastIndex === 0 ? path : B.JSString_methods.substring$2(path, 0, lastIndex);
      }
      return t1;
    },
    join(part1, part2) {
      var _null = null;
      return $.$get$context().join$8(0, part1, part2, _null, _null, _null, _null, _null, _null);
    },
    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;
    },
    isAllTheSame(iter) {
      var firstValue, t1, t2, value;
      if (iter.get$length(iter) === 0)
        return true;
      firstValue = iter.get$first(iter);
      for (t1 = A.SubListIterable$(iter, 1, null, iter.$ti._eval$1("ListIterable.E")), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
        value = t1.__internal$_current;
        if (!J.$eq$(value == null ? t2._as(value) : value, firstValue))
          return false;
      }
      return true;
    },
    replaceFirstNull(list, element) {
      var index = B.JSArray_methods.indexOf$1(list, null);
      if (index < 0)
        throw A.wrapException(A.ArgumentError$(A.S(list) + " contains no null elements.", null));
      list[index] = element;
    },
    replaceWithNull(list, element) {
      var index = B.JSArray_methods.indexOf$1(list, element);
      if (index < 0)
        throw A.wrapException(A.ArgumentError$(A.S(list) + " contains no elements matching " + element.toString$0(0) + ".", null));
      list[index] = null;
    },
    countCodeUnits(string, codeUnit) {
      var t1, t2, count, t3;
      for (t1 = new A.CodeUnits(string), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"), count = 0; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if ((t3 == null ? t2._as(t3) : t3) === codeUnit)
          ++count;
      }
      return count;
    },
    findLineStart(context, text, column) {
      var beginningOfLine, index, lineStart;
      if (text.length === 0)
        for (beginningOfLine = 0; true;) {
          index = B.JSString_methods.indexOf$2(context, "\n", beginningOfLine);
          if (index === -1)
            return context.length - beginningOfLine >= column ? beginningOfLine : null;
          if (index - beginningOfLine >= column)
            return beginningOfLine;
          beginningOfLine = index + 1;
        }
      index = B.JSString_methods.indexOf$1(context, text);
      for (; index !== -1;) {
        lineStart = index === 0 ? 0 : B.JSString_methods.lastIndexOf$2(context, "\n", index - 1) + 1;
        if (column === index - lineStart)
          return lineStart;
        index = B.JSString_methods.indexOf$2(context, text, index + 1);
      }
      return null;
    },
    convertLaunchMode(mode) {
      switch (mode.index) {
        case 0:
          return B.PreferredLaunchMode_0;
        case 1:
          return B.PreferredLaunchMode_1;
        case 2:
          return B.PreferredLaunchMode_2;
        case 3:
          return B.PreferredLaunchMode_3;
      }
    },
    launchUrl0(url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, useWebView, t1, t2, t3, isWebURL;
      var $async$launchUrl0 = 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 = $.$get$UrlLauncherPlatform__instance();
              t2 = url.toString$0(0);
              t3 = A.convertLaunchMode(B.LaunchMode_0);
              isWebURL = B.JSString_methods.startsWith$1(t2, "http:") || B.JSString_methods.startsWith$1(t2, "https:");
              if (t3 !== B.PreferredLaunchMode_1)
                useWebView = isWebURL && t3 === B.PreferredLaunchMode_0;
              else
                useWebView = true;
              $async$goto = 3;
              return A._asyncAwait(t1.launch$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName(t2, true, true, B.Map_empty3, t3 === B.PreferredLaunchMode_3, useWebView, useWebView, null), $async$launchUrl0);
            case 3:
              // 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$launchUrl0, $async$completer);
    },
    canLaunchUrl(url) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      var $async$canLaunchUrl = 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($.$get$UrlLauncherPlatform__instance().canLaunch$1(url.toString$0(0)), $async$canLaunchUrl);
            case 3:
              // 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$canLaunchUrl, $async$completer);
    },
    loadProgramInfoFromJson(json, collapseAnonymousClosures) {
      var t1 = type$.Map_String_dynamic;
      if (t1._is(json) && J.containsKey$1$x(json, "snapshot")) {
        t1 = A.Snapshot_Snapshot$fromJson(t1._as(json));
        return A._ProgramInfoBuilder$(false).build$1(t1);
      } else
        return A.toProgramInfo(A.fromJson(type$.List_dynamic._as(json)), false);
    }
  },
  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$allocateFixed($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$allocateGrowable($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>")));
    },
    JSArray_markFixedList(list) {
      list.fixed$length = Array;
      return list;
    },
    JSArray_markUnmodifiableList(list) {
      list.fixed$length = Array;
      list.immutable$list = Array;
      return list;
    },
    JSArray__compareAny(a, b) {
      return J.compareTo$1$ns(a, b);
    },
    JSString__isWhitespace(codeUnit) {
      if (codeUnit < 256)
        switch (codeUnit) {
          case 9:
          case 10:
          case 11:
          case 12:
          case 13:
          case 32:
          case 133:
          case 160:
            return true;
          default:
            return false;
        }
      switch (codeUnit) {
        case 5760:
        case 8192:
        case 8193:
        case 8194:
        case 8195:
        case 8196:
        case 8197:
        case 8198:
        case 8199:
        case 8200:
        case 8201:
        case 8202:
        case 8232:
        case 8233:
        case 8239:
        case 8287:
        case 12288:
        case 65279:
          return true;
        default:
          return false;
      }
    },
    JSString__skipLeadingWhitespace(string, index) {
      var t1, codeUnit;
      for (t1 = string.length; index < t1;) {
        codeUnit = B.JSString_methods._codeUnitAt$1(string, index);
        if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
          break;
        ++index;
      }
      return index;
    },
    JSString__skipTrailingWhitespace(string, index) {
      var index0, codeUnit;
      for (; index > 0; index = index0) {
        index0 = index - 1;
        codeUnit = B.JSString_methods.codeUnitAt$1(string, index0);
        if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(codeUnit))
          break;
      }
      return index;
    },
    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$ansx(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      if (typeof receiver == "string")
        return J.JSString.prototype;
      if (receiver == null)
        return receiver;
      if (receiver.constructor == Array)
        return J.JSArray.prototype;
      if (typeof receiver != "object") {
        if (typeof receiver == "function")
          return J.JavaScriptFunction.prototype;
        return receiver;
      }
      if (receiver instanceof A.Object)
        return receiver;
      return J.getNativeInterceptor(receiver);
    },
    getInterceptor$asx(receiver) {
      if (typeof receiver == "string")
        return J.JSString.prototype;
      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$in(receiver) {
      if (typeof receiver == "number") {
        if (Math.floor(receiver) == receiver)
          return J.JSInt.prototype;
        return J.JSNumNotInt.prototype;
      }
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof A.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$n(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      if (receiver == null)
        return receiver;
      if (!(receiver instanceof A.Object))
        return J.UnknownJavaScriptObject.prototype;
      return receiver;
    },
    getInterceptor$ns(receiver) {
      if (typeof receiver == "number")
        return J.JSNumber.prototype;
      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;
    },
    set$length$asx(receiver, value) {
      return J.getInterceptor$asx(receiver).set$length(receiver, value);
    },
    set$parent$x(receiver, value) {
      return J.getInterceptor$x(receiver).set$parent(receiver, value);
    },
    get$add$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$add(receiver);
    },
    get$addAll$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$addAll(receiver);
    },
    get$buffer$x(receiver) {
      return J.getInterceptor$x(receiver).get$buffer(receiver);
    },
    get$cancel$z(receiver) {
      return J.getInterceptor$z(receiver).get$cancel(receiver);
    },
    get$children$x(receiver) {
      return J.getInterceptor$x(receiver).get$children(receiver);
    },
    get$clear$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$clear(receiver);
    },
    get$end$z(receiver) {
      return J.getInterceptor$z(receiver).get$end(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$id$x(receiver) {
      return J.getInterceptor$x(receiver).get$id(receiver);
    },
    get$isEmpty$asx(receiver) {
      return J.getInterceptor$asx(receiver).get$isEmpty(receiver);
    },
    get$isNegative$n(receiver) {
      return J.getInterceptor$n(receiver).get$isNegative(receiver);
    },
    get$isNotEmpty$asx(receiver) {
      return J.getInterceptor$asx(receiver).get$isNotEmpty(receiver);
    },
    get$iterator$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$iterator(receiver);
    },
    get$json$x(receiver) {
      return J.getInterceptor$x(receiver).get$json(receiver);
    },
    get$key$x(receiver) {
      return J.getInterceptor$x(receiver).get$key(receiver);
    },
    get$keys$x(receiver) {
      return J.getInterceptor$x(receiver).get$keys(receiver);
    },
    get$kind$x(receiver) {
      return J.getInterceptor$x(receiver).get$kind(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$level$x(receiver) {
      return J.getInterceptor$x(receiver).get$level(receiver);
    },
    get$line$x(receiver) {
      return J.getInterceptor$x(receiver).get$line(receiver);
    },
    get$location$x(receiver) {
      return J.getInterceptor$x(receiver).get$location(receiver);
    },
    get$message$x(receiver) {
      return J.getInterceptor$x(receiver).get$message(receiver);
    },
    get$name$x(receiver) {
      return J.getInterceptor$x(receiver).get$name(receiver);
    },
    get$offset$x(receiver) {
      return J.getInterceptor$x(receiver).get$offset(receiver);
    },
    get$parent$x(receiver) {
      return J.getInterceptor$x(receiver).get$parent(receiver);
    },
    get$pause$z(receiver) {
      return J.getInterceptor$z(receiver).get$pause(receiver);
    },
    get$position$x(receiver) {
      return J.getInterceptor$x(receiver).get$position(receiver);
    },
    get$resume$z(receiver) {
      return J.getInterceptor$z(receiver).get$resume(receiver);
    },
    get$reversed$ax(receiver) {
      return J.getInterceptor$ax(receiver).get$reversed(receiver);
    },
    get$runtimeType$(receiver) {
      return J.getInterceptor$(receiver).get$runtimeType(receiver);
    },
    get$setRequestHeader$x(receiver) {
      return J.getInterceptor$x(receiver).get$setRequestHeader(receiver);
    },
    get$sign$in(receiver) {
      if (typeof receiver === "number")
        return receiver > 0 ? 1 : receiver < 0 ? -1 : receiver;
      return J.getInterceptor$in(receiver).get$sign(receiver);
    },
    get$size$x(receiver) {
      return J.getInterceptor$x(receiver).get$size(receiver);
    },
    get$source$z(receiver) {
      return J.getInterceptor$z(receiver).get$source(receiver);
    },
    get$stream$z(receiver) {
      return J.getInterceptor$z(receiver).get$stream(receiver);
    },
    get$target$x(receiver) {
      return J.getInterceptor$x(receiver).get$target(receiver);
    },
    get$value$x(receiver) {
      return J.getInterceptor$x(receiver).get$value(receiver);
    },
    get$valueAsString$x(receiver) {
      return J.getInterceptor$x(receiver).get$valueAsString(receiver);
    },
    get$values$x(receiver) {
      return J.getInterceptor$x(receiver).get$values(receiver);
    },
    $add$ansx(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver + a0;
      return J.getInterceptor$ansx(receiver).$add(receiver, a0);
    },
    $div$n(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver / a0;
      return J.getInterceptor$n(receiver).$div(receiver, a0);
    },
    $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);
    },
    $gt$n(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver > a0;
      return J.getInterceptor$n(receiver).$gt(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) {
      if (typeof a0 === "number")
        if ((receiver.constructor == Array || A.isJsIndexable(receiver, receiver[init.dispatchPropertyName])) && !receiver.immutable$list && a0 >>> 0 === a0 && a0 < receiver.length)
          return receiver[a0] = a1;
      return J.getInterceptor$ax(receiver).$indexSet(receiver, a0, a1);
    },
    $lt$n(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver < a0;
      return J.getInterceptor$n(receiver).$lt(receiver, a0);
    },
    $mul$ns(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver * a0;
      return J.getInterceptor$ns(receiver).$mul(receiver, a0);
    },
    $sub$n(receiver, a0) {
      if (typeof receiver == "number" && typeof a0 == "number")
        return receiver - a0;
      return J.getInterceptor$n(receiver).$sub(receiver, a0);
    },
    $tdiv$n(receiver, a0) {
      return J.getInterceptor$n(receiver).$tdiv(receiver, a0);
    },
    _clearChildren$0$x(receiver) {
      return J.getInterceptor$x(receiver)._clearChildren$0(receiver);
    },
    _replaceChild$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver)._replaceChild$2(receiver, a0, a1);
    },
    accept$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).accept$1(receiver, a0);
    },
    add$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).add$1(receiver, a0);
    },
    addAll$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).addAll$1(receiver, a0);
    },
    addEventListener$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).addEventListener$2(receiver, a0, a1);
    },
    addEventListener$3$x(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).addEventListener$3(receiver, a0, a1, a2);
    },
    addListener$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).addListener$1(receiver, a0);
    },
    allMatches$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).allMatches$1(receiver, a0);
    },
    allMatches$2$s(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1);
    },
    cancel$0$z(receiver) {
      return J.getInterceptor$z(receiver).cancel$0(receiver);
    },
    cast$1$0$ax(receiver, $T1) {
      return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
    },
    cast$2$0$ax(receiver, $T1, $T2) {
      return J.getInterceptor$ax(receiver).cast$2$0(receiver, $T1, $T2);
    },
    clamp$2$n(receiver, a0, a1) {
      return J.getInterceptor$n(receiver).clamp$2(receiver, a0, a1);
    },
    clear$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).clear$0(receiver);
    },
    clear$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).clear$1(receiver, a0);
    },
    close$0$x(receiver) {
      return J.getInterceptor$x(receiver).close$0(receiver);
    },
    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);
    },
    complete$0$z(receiver) {
      return J.getInterceptor$z(receiver).complete$0(receiver);
    },
    complete$1$z(receiver, a0) {
      return J.getInterceptor$z(receiver).complete$1(receiver, a0);
    },
    contains$1$asx(receiver, a0) {
      return J.getInterceptor$asx(receiver).contains$1(receiver, a0);
    },
    containsKey$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).containsKey$1(receiver, a0);
    },
    decode$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).decode$2(receiver, a0, a1);
    },
    detach$0$z(receiver) {
      return J.getInterceptor$z(receiver).detach$0(receiver);
    },
    elementAt$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0);
    },
    endsWith$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).endsWith$1(receiver, a0);
    },
    expand$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).expand$0(receiver);
    },
    fillRange$3$ax(receiver, a0, a1, a2) {
      return J.getInterceptor$ax(receiver).fillRange$3(receiver, a0, a1, a2);
    },
    focus$0$x(receiver) {
      return J.getInterceptor$x(receiver).focus$0(receiver);
    },
    fold$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).fold$2(receiver, a0, a1);
    },
    forEach$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).forEach$1(receiver, a0);
    },
    format$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).format$1(receiver, a0);
    },
    format$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).format$2(receiver, a0, a1);
    },
    getComputedStyle$0$x(receiver) {
      return J.getInterceptor$x(receiver).getComputedStyle$0(receiver);
    },
    getRange$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).getRange$2(receiver, a0, a1);
    },
    getSelection$3$isSummaryTree$z(receiver, a0, a1, a2) {
      return J.getInterceptor$z(receiver).getSelection$3$isSummaryTree(receiver, a0, a1, a2);
    },
    getTransformTo$1$z(receiver, a0) {
      return J.getInterceptor$z(receiver).getTransformTo$1(receiver, a0);
    },
    indexOf$1$asx(receiver, a0) {
      return J.getInterceptor$asx(receiver).indexOf$1(receiver, a0);
    },
    insertAll$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).insertAll$2(receiver, a0, a1);
    },
    insertAllBefore$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).insertAllBefore$2(receiver, a0, a1);
    },
    isIdentity$0$z(receiver) {
      return J.getInterceptor$z(receiver).isIdentity$0(receiver);
    },
    join$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).join$0(receiver);
    },
    join$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).join$1(receiver, a0);
    },
    listener$1$z(receiver, a0) {
      return J.getInterceptor$z(receiver).listener$1(receiver, a0);
    },
    map$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).map$1(receiver, a0);
    },
    map$1$1$ax(receiver, a0, $T1) {
      return J.getInterceptor$ax(receiver).map$1$1(receiver, a0, $T1);
    },
    map$2$1$ax(receiver, a0, $T1, $T2) {
      return J.getInterceptor$ax(receiver).map$2$1(receiver, a0, $T1, $T2);
    },
    matchAsPrefix$2$s(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1);
    },
    noSuchMethod$1$(receiver, a0) {
      return J.getInterceptor$(receiver).noSuchMethod$1(receiver, a0);
    },
    open$3$async$x(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).open$3$async(receiver, a0, a1, a2);
    },
    parse$1$z(receiver, a0) {
      return J.getInterceptor$z(receiver).parse$1(receiver, a0);
    },
    postMessage$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).postMessage$2(receiver, a0, a1);
    },
    putIfAbsent$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).putIfAbsent$2(receiver, a0, a1);
    },
    read$0$z(receiver) {
      return J.getInterceptor$z(receiver).read$0(receiver);
    },
    readAsText$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).readAsText$1(receiver, a0);
    },
    remove$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).remove$0(receiver);
    },
    remove$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).remove$1(receiver, a0);
    },
    removeAt$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).removeAt$1(receiver, a0);
    },
    removeEventListener$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).removeEventListener$2(receiver, a0, a1);
    },
    removeEventListener$3$x(receiver, a0, a1, a2) {
      return J.getInterceptor$x(receiver).removeEventListener$3(receiver, a0, a1, a2);
    },
    removeLast$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).removeLast$0(receiver);
    },
    removeListener$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).removeListener$1(receiver, a0);
    },
    removeRange$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).removeRange$2(receiver, a0, a1);
    },
    replaceWith$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).replaceWith$1(receiver, a0);
    },
    roundToDouble$0$n(receiver) {
      return J.getInterceptor$n(receiver).roundToDouble$0(receiver);
    },
    scale$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).scale$1(receiver, a0);
    },
    send$1$x(receiver, a0) {
      return J.getInterceptor$x(receiver).send$1(receiver, a0);
    },
    setAll$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).setAll$2(receiver, a0, a1);
    },
    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);
    },
    sort$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).sort$1(receiver, a0);
    },
    split$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).split$1(receiver, a0);
    },
    startsWith$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).startsWith$1(receiver, a0);
    },
    sublist$2$ax(receiver, a0, a1) {
      return J.getInterceptor$ax(receiver).sublist$2(receiver, a0, a1);
    },
    submit$0$z(receiver) {
      return J.getInterceptor$z(receiver).submit$0(receiver);
    },
    substring$1$s(receiver, a0) {
      return J.getInterceptor$s(receiver).substring$1(receiver, a0);
    },
    substring$2$s(receiver, a0, a1) {
      return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1);
    },
    take$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).take$1(receiver, a0);
    },
    toDouble$0$n(receiver) {
      return J.getInterceptor$n(receiver).toDouble$0(receiver);
    },
    toInt$0$n(receiver) {
      return J.getInterceptor$n(receiver).toInt$0(receiver);
    },
    toList$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).toList$0(receiver);
    },
    toRadixString$1$n(receiver, a0) {
      return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0);
    },
    toSet$0$ax(receiver) {
      return J.getInterceptor$ax(receiver).toSet$0(receiver);
    },
    toString$0$(receiver) {
      return J.getInterceptor$(receiver).toString$0(receiver);
    },
    trim$0$s(receiver) {
      return J.getInterceptor$s(receiver).trim$0(receiver);
    },
    trimLeft$0$s(receiver) {
      return J.getInterceptor$s(receiver).trimLeft$0(receiver);
    },
    trimRight$0$s(receiver) {
      return J.getInterceptor$s(receiver).trimRight$0(receiver);
    },
    unlock$0$x(receiver) {
      return J.getInterceptor$x(receiver).unlock$0(receiver);
    },
    update$2$x(receiver, a0, a1) {
      return J.getInterceptor$x(receiver).update$2(receiver, a0, a1);
    },
    updateWith$1$config$z(receiver, a0) {
      return J.getInterceptor$z(receiver).updateWith$1$config(receiver, a0);
    },
    where$1$ax(receiver, a0) {
      return J.getInterceptor$ax(receiver).where$1(receiver, a0);
    },
    whereType$1$0$ax(receiver, $T1) {
      return J.getInterceptor$ax(receiver).whereType$1$0(receiver, $T1);
    },
    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;
      _.__interceptors$_current = null;
      _.$ti = t2;
    },
    JSNumber: function JSNumber() {
    },
    JSInt: function JSInt() {
    },
    JSNumNotInt: function JSNumNotInt() {
    },
    JSString: function JSString() {
    }
  },
  B = {};
  var holders = [A, J, B];
  var $ = {};
  A.AlarmClock.prototype = {
    set$datetime(value) {
      var now, t1, t2, _this = this;
      if (J.$eq$(value, _this._datetime))
        return;
      if (value == null) {
        _this._cancelTimer$0();
        _this._datetime = null;
        return;
      }
      now = _this._timestampFunction.call$0();
      t1 = value._value;
      t2 = now._value;
      if (t1 < t2) {
        _this._cancelTimer$0();
        _this._datetime = value;
        return;
      }
      if (_this._timer == null)
        _this._timer = A.Timer_Timer(A.Duration$(0, t1 - t2), _this.get$_timerDidFire());
      else if (_this._datetime._value > t1) {
        _this._cancelTimer$0();
        _this._timer = A.Timer_Timer(A.Duration$(0, t1 - t2), _this.get$_timerDidFire());
      }
      _this._datetime = value;
    },
    _cancelTimer$0() {
      var t1 = this._timer;
      if (t1 != null)
        t1.cancel$0(0);
      this._timer = null;
    },
    _timerDidFire$0() {
      var _this = this,
        now = _this._timestampFunction.call$0(),
        t1 = _this._datetime,
        t2 = now._value;
      t1 = t1._value;
      if (t2 >= t1) {
        _this._timer = null;
        t1 = _this.callback;
        if (t1 != null)
          t1.call$0();
      } else
        _this._timer = A.Timer_Timer(A.Duration$(0, t1 - t2), _this.get$_timerDidFire());
    }
  };
  A.AppBootstrap.prototype = {
    autoStart$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$autoStart$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._initEngine.call$0(), $async$autoStart$0);
            case 2:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self._runApp.call$0(), $async$autoStart$0);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$autoStart$0, $async$completer);
    },
    prepareEngineInitializer$0() {
      var t1 = A.allowInterop(new A.AppBootstrap_prepareEngineInitializer_closure(this));
      return type$.JavaScriptObject._as({initializeEngine: A.allowInterop(new A.AppBootstrap_prepareEngineInitializer_closure0(this)), autoStart: t1});
    },
    _prepareAppRunner$0() {
      return type$.JavaScriptObject._as({runApp: A.allowInterop(new A.AppBootstrap__prepareAppRunner_closure(this))});
    }
  };
  A.AppBootstrap_prepareEngineInitializer_closure.prototype = {
    call$0() {
      return new self.Promise(A.allowInterop(new A.AppBootstrap_prepareEngineInitializer__closure0(this.$this)), type$.JavaScriptObject);
    },
    $signature: 1106
  };
  A.AppBootstrap_prepareEngineInitializer__closure0.prototype = {
    call$2(resolve, _) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      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
              $async$goto = 2;
              return A._asyncAwait($async$self.$this.autoStart$0(), $async$call$2);
            case 2:
              // returning from await.
              resolve.call$1(type$.JavaScriptObject._as({}));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 169
  };
  A.AppBootstrap_prepareEngineInitializer_closure0.prototype = {
    call$1(params) {
      return new self.Promise(A.allowInterop(new A.AppBootstrap_prepareEngineInitializer__closure(this.$this)), type$.JavaScriptObject);
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 208
  };
  A.AppBootstrap_prepareEngineInitializer__closure.prototype = {
    call$2(resolve, _) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      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
              t1 = $async$self.$this;
              $async$goto = 2;
              return A._asyncAwait(t1._initEngine.call$0(), $async$call$2);
            case 2:
              // returning from await.
              resolve.call$1(t1._prepareAppRunner$0());
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 169
  };
  A.AppBootstrap__prepareAppRunner_closure.prototype = {
    call$1(params) {
      return new self.Promise(A.allowInterop(new A.AppBootstrap__prepareAppRunner__closure(this.$this)), type$.JavaScriptObject);
    },
    call$0() {
      return this.call$1(null);
    },
    "call*": "call$1",
    $requiredArgCount: 0,
    $defaultValues() {
      return [null];
    },
    $signature: 208
  };
  A.AppBootstrap__prepareAppRunner__closure.prototype = {
    call$2(resolve, _) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      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
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._runApp.call$0(), $async$call$2);
            case 2:
              // returning from await.
              resolve.call$1(type$.JavaScriptObject._as({}));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 169
  };
  A.AssetManager.prototype = {
    get$_baseUrl() {
      var t1 = J.cast$1$0$ax(self.window.document.querySelectorAll("meta"), type$.JavaScriptObject),
        t2 = A._instanceType(t1);
      t2 = A.FirstWhereOrNull_firstWhereOrNull(new A.MappedIterable(new A.WhereIterable(t1, new A.AssetManager__baseUrl_closure(), t2._eval$1("WhereIterable<ListMixin.E>")), new A.AssetManager__baseUrl_closure0(), t2._eval$1("MappedIterable<ListMixin.E,JavaScriptObject>")), new A.AssetManager__baseUrl_closure1());
      return t2 == null ? null : t2.content;
    },
    getAssetUrl$1(asset) {
      var t1;
      if (A.Uri_parse(asset, 0, null).get$hasScheme())
        return A._Uri__uriEncode(B.List_gnE, asset, B.Utf8Codec_false, false);
      t1 = this.get$_baseUrl();
      if (t1 == null)
        t1 = "";
      return A._Uri__uriEncode(B.List_gnE, t1 + ("assets/" + asset), B.Utf8Codec_false, false);
    },
    load$1(_, asset) {
      return this.load$body$AssetManager(0, asset);
    },
    load$body$AssetManager(_, asset) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ByteData),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, request, response, e, target, t1, exception, url, $async$exception;
      var $async$load$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
              url = $async$self.getAssetUrl$1(asset);
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(A.HttpRequest_request(url, null, "arraybuffer", null, null), $async$load$1);
            case 7:
              // returning from await.
              request = $async$result;
              response = type$.ByteBuffer._as(A._convertNativeToDart_XHR_Response(request.response));
              t1 = A.NativeByteData_NativeByteData$view(response, 0, null);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.ProgressEvent._is(t1)) {
                e = t1;
                target = A._convertNativeToDart_EventTarget(e.target);
                if (type$.HttpRequest._is(target)) {
                  if (target.status === 404 && asset === "AssetManifest.json") {
                    $.$get$printWarning().call$1("Asset manifest does not exist at `" + A.S(url) + "` \u2013 ignoring.");
                    $async$returnValue = A.NativeByteData_NativeByteData$view(new Uint8Array(A._ensureNativeList(B.Utf8Codec_false.get$encoder().convert$1("{}"))).buffer, 0, null);
                    // goto return
                    $async$goto = 1;
                    break;
                  }
                  t1 = target.status;
                  t1.toString;
                  throw A.wrapException(new A.AssetManagerException(url, t1));
                }
                $.$get$printWarning().call$1("Caught ProgressEvent with target: " + A.S(target));
                throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // 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$load$1, $async$completer);
    }
  };
  A.AssetManager__baseUrl_closure.prototype = {
    call$1(domNode) {
      var t1 = self.window.HTMLMetaElement;
      t1.toString;
      return domNode instanceof t1;
    },
    $signature: 224
  };
  A.AssetManager__baseUrl_closure0.prototype = {
    call$1(domNode) {
      return domNode;
    },
    $signature: 880
  };
  A.AssetManager__baseUrl_closure1.prototype = {
    call$1(element) {
      return element.name === "assetBase";
    },
    $signature: 224
  };
  A.AssetManagerException.prototype = {
    toString$0(_) {
      return 'Failed to load asset at "' + this.url + '" (' + this.httpStatus + ")";
    },
    $isException: 1
  };
  A.BrowserEngine.prototype = {
    toString$0(_) {
      return "BrowserEngine." + this._core$_name;
    }
  };
  A.OperatingSystem.prototype = {
    toString$0(_) {
      return "OperatingSystem." + this._core$_name;
    }
  };
  A.CanvasPool.prototype = {
    get$context(_) {
      var t1,
        ctx = this.__engine$_context;
      if (ctx == null) {
        this._createCanvas$0();
        t1 = this.__engine$_context;
        t1.toString;
        ctx = t1;
      }
      return ctx;
    },
    get$contextHandle() {
      if (this.__engine$_canvas == null)
        this._createCanvas$0();
      var t1 = this._contextHandle;
      t1.toString;
      return t1;
    },
    _createCanvas$0() {
      var canvas0, requiresClearRect, t2, t3, t4, t5, exception, ctx, _this = this,
        reused = false,
        canvas = null,
        t1 = _this.__engine$_canvas;
      if (t1 != null) {
        t1.width = 0;
        _this.__engine$_canvas.height = 0;
        _this.__engine$_canvas = null;
      }
      t1 = _this._reusablePool;
      if (t1 != null && t1.length !== 0) {
        t1.toString;
        canvas0 = B.JSArray_methods.removeAt$1(t1, 0);
        _this.__engine$_canvas = canvas0;
        canvas = canvas0;
        reused = true;
        requiresClearRect = true;
      } else {
        t1 = _this._widthInBitmapPixels;
        t2 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
        t3 = _this._heightInBitmapPixels;
        t4 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
        canvas = _this._allocCanvas$2(t1, t3);
        t5 = canvas;
        _this.__engine$_canvas = t5;
        if (t5 == null) {
          A.reduceCanvasMemoryUsage();
          canvas = _this._allocCanvas$2(t1, t3);
        }
        t5 = canvas.style;
        t5.position = "absolute";
        t5.width = A.S(t1 / t2) + "px";
        t5.height = A.S(t3 / t4) + "px";
        requiresClearRect = false;
      }
      t1 = _this._rootElement;
      t2 = t1.lastChild;
      t3 = canvas;
      if (t2 == null ? t3 != null : t2 !== t3)
        t1.appendChild(canvas);
      try {
        if (reused)
          canvas.style.removeProperty("z-index");
        _this.__engine$_context = canvas.getContext("2d");
      } catch (exception) {
      }
      t1 = _this.__engine$_context;
      if (t1 == null) {
        A.reduceCanvasMemoryUsage();
        t1 = _this.__engine$_context = canvas.getContext("2d");
      }
      t2 = _this._density;
      _this._contextHandle = new A.ContextStateHandle(t1, _this, t2, B.BlendMode_3, B.StrokeCap_0, B.StrokeJoin_0);
      ctx = _this.get$context(_this);
      ctx.save();
      ++_this._saveContextCount;
      ctx.setTransform(1, 0, 0, 1, 0, 0);
      if (requiresClearRect)
        ctx.clearRect(0, 0, _this._widthInBitmapPixels * t2, _this._heightInBitmapPixels * t2);
      ctx.scale(A.EnginePlatformDispatcher_browserDevicePixelRatio() * t2, A.EnginePlatformDispatcher_browserDevicePixelRatio() * t2);
      _this._replayClipStack$0();
    },
    _allocCanvas$2(width, height) {
      var t1 = this._density;
      return A.tryCreateCanvasElement(B.JSNumber_methods.ceil$0(width * t1), B.JSNumber_methods.ceil$0(height * t1));
    },
    clear$0(_) {
      var ctx, e, exception, t1, t2, _this = this;
      _this.super$_SaveStackTracking$clear(0);
      if (_this.__engine$_canvas != null) {
        ctx = _this.__engine$_context;
        if (ctx != null)
          try {
            ctx.font = "";
          } catch (exception) {
            e = A.unwrapException(exception);
            if (!J.$eq$(e.name, "NS_ERROR_FAILURE"))
              throw exception;
          }
      }
      if (_this.__engine$_canvas != null) {
        _this._restoreContextSave$0();
        _this._contextHandle.reset$0(0);
        t1 = _this._activeCanvasList;
        if (t1 == null)
          t1 = _this._activeCanvasList = A._setArrayType([], type$.JSArray_CanvasElement);
        t2 = _this.__engine$_canvas;
        t2.toString;
        t1.push(t2);
        _this._contextHandle = _this.__engine$_context = null;
      }
      _this._reusablePool = _this._activeCanvasList;
      _this._contextHandle = _this.__engine$_context = _this.__engine$_canvas = _this._activeCanvasList = null;
    },
    _replaySingleSaveEntry$4(clipDepth, prevTransform, transform, clipStack) {
      var clipCount, t1, t2, clipEntry, clipTimeTransform, t3, t4, ratio, t5, path, _this = this,
        ctx = _this.get$context(_this);
      if (clipStack != null)
        for (clipCount = clipStack.length, t1 = _this._density, t2 = type$.SurfacePath; clipDepth < clipCount; ++clipDepth) {
          clipEntry = clipStack[clipDepth];
          clipTimeTransform = clipEntry.currentTransform;
          t3 = clipTimeTransform.__engine$_m4storage;
          t4 = prevTransform.__engine$_m4storage;
          if (t3[0] !== t4[0] || t3[1] !== t4[1] || t3[4] !== t4[4] || t3[5] !== t4[5] || t3[12] !== t4[12] || t3[13] !== t4[13]) {
            ratio = window.devicePixelRatio;
            ratio = (ratio === 0 ? 1 : ratio) * t1;
            ctx.setTransform(ratio, 0, 0, ratio, 0, 0);
            ctx.transform(t3[0], t3[1], t3[4], t3[5], t3[12], t3[13]);
            prevTransform = clipTimeTransform;
          }
          t3 = clipEntry.rect;
          if (t3 != null) {
            ctx.beginPath();
            t4 = t3.left;
            t5 = t3.top;
            ctx.rect(t4, t5, t3.right - t4, t3.bottom - t5);
            ctx.clip();
          } else {
            t3 = clipEntry.rrect;
            if (t3 != null) {
              path = A.Path_Path();
              path.addRRect$1(t3);
              _this._runPath$2(ctx, t2._as(path));
              ctx.clip();
            } else {
              t3 = clipEntry.path;
              if (t3 != null) {
                _this._runPath$2(ctx, t3);
                if (t3._fillType === B.PathFillType_0)
                  ctx.clip();
                else
                  ctx.clip("evenodd");
              }
            }
          }
        }
      t1 = transform.__engine$_m4storage;
      t2 = prevTransform.__engine$_m4storage;
      if (t1[0] !== t2[0] || t1[1] !== t2[1] || t1[4] !== t2[4] || t1[5] !== t2[5] || t1[12] !== t2[12] || t1[13] !== t2[13]) {
        ratio = A.EnginePlatformDispatcher_browserDevicePixelRatio() * _this._density;
        ctx.setTransform(ratio, 0, 0, ratio, 0, 0);
        ctx.transform(t1[0], t1[1], t1[4], t1[5], t1[12], t1[13]);
      }
      return clipDepth;
    },
    _replayClipStack$0() {
      var clipDepth, saveStackIndex, saveEntry, prevTransform0, _this = this,
        ctx = _this.get$context(_this),
        prevTransform = A.Matrix4$identity(),
        t1 = _this._saveStack,
        len = t1.length;
      for (clipDepth = 0, saveStackIndex = 0; saveStackIndex < len; ++saveStackIndex, prevTransform = prevTransform0) {
        saveEntry = t1[saveStackIndex];
        prevTransform0 = saveEntry.transform;
        clipDepth = _this._replaySingleSaveEntry$4(clipDepth, prevTransform, prevTransform0, saveEntry.clipStack);
        ctx.save();
        ++_this._saveContextCount;
      }
      _this._replaySingleSaveEntry$4(clipDepth, prevTransform, _this._currentTransform, _this.clipStack);
    },
    endOfPaint$0() {
      var t2, _i, e, t3,
        t1 = this._reusablePool;
      if (t1 != null) {
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          e = t1[_i];
          t3 = $.$get$_browserEngine();
          if (t3 === B.BrowserEngine_1) {
            e.height = 0;
            e.width = 0;
          }
          t3 = e.parentNode;
          if (t3 != null)
            t3.removeChild(e);
        }
        this._reusablePool = null;
      }
      this._restoreContextSave$0();
    },
    _restoreContextSave$0() {
      for (; this._saveContextCount !== 0;) {
        this.__engine$_context.restore();
        --this._saveContextCount;
      }
    },
    translate$2(_, dx, dy) {
      var _this = this;
      _this.super$_SaveStackTracking$translate(0, dx, dy);
      if (_this.__engine$_canvas != null)
        _this.get$context(_this).translate(dx, dy);
    },
    __engine$_clipRect$2(ctx, rect) {
      var t1, t2;
      ctx.beginPath();
      t1 = rect.left;
      t2 = rect.top;
      ctx.rect(t1, t2, rect.right - t1, rect.bottom - t2);
      ctx.clip();
    },
    __engine$_clipRRect$2(ctx, rrect) {
      var path = A.Path_Path();
      path.addRRect$1(rrect);
      this._runPath$2(ctx, type$.SurfacePath._as(path));
      ctx.clip();
    },
    clipPath$1(_, path) {
      var ctx, _this = this;
      _this.super$_SaveStackTracking$clipPath(0, path);
      if (_this.__engine$_canvas != null) {
        ctx = _this.get$context(_this);
        _this._runPath$2(ctx, path);
        if (path._fillType === B.PathFillType_0)
          ctx.clip();
        else
          ctx.clip("evenodd");
      }
    },
    _runPath$2(ctx, path) {
      var p, t1, iter, verb, w, points, len, i, t2, t3;
      ctx.beginPath();
      p = $.$get$CanvasPool__runBuffer();
      t1 = path.pathRef;
      iter = new A.PathRefIterator(t1);
      iter.PathRefIterator$1(t1);
      for (; verb = iter.next$1(0, p), verb !== 6;)
        switch (verb) {
          case 0:
            ctx.moveTo(p[0], p[1]);
            break;
          case 1:
            ctx.lineTo(p[2], p[3]);
            break;
          case 4:
            ctx.bezierCurveTo(p[2], p[3], p[4], p[5], p[6], p[7]);
            break;
          case 2:
            ctx.quadraticCurveTo(p[2], p[3], p[4], p[5]);
            break;
          case 3:
            w = t1._conicWeights[iter._conicWeightIndex];
            points = new A.Conic(p[0], p[1], p[2], p[3], p[4], p[5], w).toQuads$0();
            len = points.length;
            for (i = 1; i < len; i += 2) {
              t2 = points[i];
              t3 = points[i + 1];
              ctx.quadraticCurveTo(t2._dx, t2._dy, t3._dx, t3._dy);
            }
            break;
          case 5:
            ctx.closePath();
            break;
          default:
            throw A.wrapException(A.UnimplementedError$("Unknown path verb " + verb));
        }
    },
    _runPathWithOffset$4(ctx, path, offsetX, offsetY) {
      var p, t1, iter, verb, w, points, len, i, t2, t3;
      ctx.beginPath();
      p = $.$get$CanvasPool__runBuffer();
      t1 = path.pathRef;
      iter = new A.PathRefIterator(t1);
      iter.PathRefIterator$1(t1);
      for (; verb = iter.next$1(0, p), verb !== 6;)
        switch (verb) {
          case 0:
            ctx.moveTo(p[0] + offsetX, p[1] + offsetY);
            break;
          case 1:
            ctx.lineTo(p[2] + offsetX, p[3] + offsetY);
            break;
          case 4:
            ctx.bezierCurveTo(p[2] + offsetX, p[3] + offsetY, p[4] + offsetX, p[5] + offsetY, p[6] + offsetX, p[7] + offsetY);
            break;
          case 2:
            ctx.quadraticCurveTo(p[2] + offsetX, p[3] + offsetY, p[4] + offsetX, p[5] + offsetY);
            break;
          case 3:
            w = t1._conicWeights[iter._conicWeightIndex];
            points = new A.Conic(p[0], p[1], p[2], p[3], p[4], p[5], w).toQuads$0();
            len = points.length;
            for (i = 1; i < len; i += 2) {
              t2 = points[i];
              t3 = points[i + 1];
              ctx.quadraticCurveTo(t2._dx + offsetX, t2._dy + offsetY, t3._dx + offsetX, t3._dy + offsetY);
            }
            break;
          case 5:
            ctx.closePath();
            break;
          default:
            throw A.wrapException(A.UnimplementedError$("Unknown path verb " + verb));
        }
    },
    drawPath$2(path, style) {
      var t2, _this = this,
        shaderBounds = _this.get$contextHandle()._shaderBounds,
        t1 = type$.SurfacePath;
      if (shaderBounds == null)
        _this._runPath$2(_this.get$context(_this), t1._as(path));
      else
        _this._runPathWithOffset$4(_this.get$context(_this), t1._as(path), -shaderBounds.left, -shaderBounds.top);
      t1 = _this.get$contextHandle();
      t2 = path._fillType;
      if (style === B.PaintingStyle_1)
        t1.context.stroke();
      else {
        t1 = t1.context;
        if (t2 === B.PathFillType_0)
          t1.fill();
        else
          t1.fill("evenodd");
      }
    },
    dispose$0() {
      var t1 = $.$get$_browserEngine();
      if (t1 === B.BrowserEngine_1 && this.__engine$_canvas != null) {
        t1 = this.__engine$_canvas;
        t1.height = 0;
        t1.width = 0;
      }
      this._clearActiveCanvasList$0();
    },
    _clearActiveCanvasList$0() {
      var t2, _i, c, t3,
        t1 = this._activeCanvasList;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          c = t1[_i];
          t3 = $.$get$_browserEngine();
          if (t3 === B.BrowserEngine_1) {
            c.height = 0;
            c.width = 0;
          }
          t3 = c.parentNode;
          if (t3 != null)
            t3.removeChild(c);
        }
      this._activeCanvasList = null;
    }
  };
  A.ContextStateHandle.prototype = {
    set$fillStyle(_, colorOrGradient) {
      var t1 = this._currentFillStyle;
      if (colorOrGradient == null ? t1 != null : colorOrGradient !== t1) {
        this._currentFillStyle = colorOrGradient;
        this.context.fillStyle = colorOrGradient;
      }
    },
    set$strokeStyle(_, colorOrGradient) {
      var t1 = this._currentStrokeStyle;
      if (colorOrGradient == null ? t1 != null : colorOrGradient !== t1) {
        this._currentStrokeStyle = colorOrGradient;
        this.context.strokeStyle = colorOrGradient;
      }
    },
    setUpPaint$2(paint, shaderBounds) {
      var t1, strokeCap, t2, paintStyle, colorString, maskFilter, tempVector, shadowOffsetX, shadowOffsetY, _this = this;
      _this._lastUsedPaint = paint;
      t1 = paint.strokeWidth;
      if (t1 == null)
        t1 = 1;
      if (t1 !== _this._currentLineWidth) {
        _this._currentLineWidth = t1;
        _this.context.lineWidth = t1;
      }
      t1 = paint.blendMode;
      if (t1 != _this._currentBlendMode) {
        _this._currentBlendMode = t1;
        t1 = A.blendModeToCssMixBlendMode(t1);
        if (t1 == null)
          t1 = "source-over";
        _this.context.globalCompositeOperation = t1;
      }
      strokeCap = paint.strokeCap;
      if (strokeCap == null)
        strokeCap = B.StrokeCap_0;
      if (strokeCap !== _this._currentStrokeCap) {
        _this._currentStrokeCap = strokeCap;
        t1 = A.stringForStrokeCap(strokeCap);
        t1.toString;
        _this.context.lineCap = t1;
      }
      if (B.StrokeJoin_0 !== _this._currentStrokeJoin) {
        _this._currentStrokeJoin = B.StrokeJoin_0;
        _this.context.lineJoin = A.stringForStrokeJoin(B.StrokeJoin_0);
      }
      t1 = paint.shader;
      if (t1 != null) {
        if (t1 instanceof A.EngineGradient) {
          t2 = _this._canvasPool;
          paintStyle = t1.createPaintStyle$3(t2.get$context(t2), shaderBounds, _this.density);
          _this.set$fillStyle(0, paintStyle);
          _this.set$strokeStyle(0, paintStyle);
          _this._shaderBounds = shaderBounds;
          _this.context.translate(shaderBounds.left, shaderBounds.top);
        }
      } else {
        t1 = paint.color;
        if (t1 != null) {
          colorString = A.colorToCssString(t1);
          _this.set$fillStyle(0, colorString);
          _this.set$strokeStyle(0, colorString);
        } else {
          _this.set$fillStyle(0, "#000000");
          _this.set$strokeStyle(0, "#000000");
        }
      }
      maskFilter = paint.maskFilter;
      t1 = $.$get$_browserEngine();
      if (!(t1 === B.BrowserEngine_1 || false)) {
        if (!J.$eq$(_this._currentFilter, maskFilter)) {
          _this._currentFilter = maskFilter;
          _this.context.filter = A.maskFilterToCanvasFilter(maskFilter);
        }
      } else if (maskFilter != null) {
        t1 = _this.context;
        t1.save();
        t1.shadowBlur = maskFilter._sigma * 2;
        t2 = paint.color;
        if (t2 != null) {
          t2 = A.colorToCssString(A.Color$fromARGB(255, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255));
          t2.toString;
          t1.shadowColor = t2;
        } else {
          t2 = A.colorToCssString(B.Color_4278190080);
          t2.toString;
          t1.shadowColor = t2;
        }
        t1.translate(-50000, 0);
        tempVector = new Float32Array(2);
        t2 = $.$get$window()._debugDevicePixelRatio;
        tempVector[0] = 50000 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t2 = _this._canvasPool;
        t2._currentTransform.transform2$1(tempVector);
        shadowOffsetX = tempVector[0];
        shadowOffsetY = tempVector[1];
        tempVector[1] = 0;
        tempVector[0] = 0;
        t2._currentTransform.transform2$1(tempVector);
        t1.shadowOffsetX = shadowOffsetX - tempVector[0];
        t1.shadowOffsetY = shadowOffsetY - tempVector[1];
      }
    },
    tearDownPaint$0() {
      var _this = this,
        t1 = _this._lastUsedPaint;
      if ((t1 == null ? null : t1.maskFilter) != null) {
        t1 = $.$get$_browserEngine();
        t1 = t1 === B.BrowserEngine_1 || false;
      } else
        t1 = false;
      if (t1)
        _this.context.restore();
      t1 = _this._shaderBounds;
      if (t1 != null) {
        _this.context.translate(-t1.left, -t1.top);
        _this._shaderBounds = null;
      }
    },
    paint$1(style) {
      var t1 = this.context;
      if (style === B.PaintingStyle_1)
        t1.stroke();
      else
        t1.fill();
    },
    reset$0(_) {
      var _this = this,
        t1 = _this.context;
      t1.fillStyle = "";
      _this._currentFillStyle = t1.fillStyle;
      t1.strokeStyle = "";
      _this._currentStrokeStyle = t1.strokeStyle;
      t1.shadowBlur = 0;
      t1.shadowColor = "none";
      t1.shadowOffsetX = 0;
      t1.shadowOffsetY = 0;
      t1.globalCompositeOperation = "source-over";
      _this._currentBlendMode = B.BlendMode_3;
      t1.lineWidth = 1;
      _this._currentLineWidth = 1;
      t1.lineCap = "butt";
      _this._currentStrokeCap = B.StrokeCap_0;
      t1.lineJoin = "miter";
      _this._currentStrokeJoin = B.StrokeJoin_0;
      _this._shaderBounds = null;
    }
  };
  A._SaveStackTracking.prototype = {
    clear$0(_) {
      B.JSArray_methods.clear$0(this._saveStack);
      this.clipStack = null;
      this._currentTransform = A.Matrix4$identity();
    },
    save$0(_) {
      var t1 = this._currentTransform,
        t2 = new A.Matrix40(new Float32Array(16));
      t2.setFrom$1(t1);
      t1 = this.clipStack;
      t1 = t1 == null ? null : A.List_List$from(t1, true, type$.SaveClipEntry);
      this._saveStack.push(new A.SaveStackEntry(t2, t1));
    },
    restore$0(_) {
      var entry,
        t1 = this._saveStack;
      if (t1.length === 0)
        return;
      entry = t1.pop();
      this._currentTransform = entry.transform;
      this.clipStack = entry.clipStack;
    },
    translate$2(_, dx, dy) {
      this._currentTransform.translate$2(0, dx, dy);
    },
    scale$2(_, sx, sy) {
      this._currentTransform.scale$2(0, sx, sy);
    },
    rotate$1(_, radians) {
      this._currentTransform.rotate$2(0, $.$get$_SaveStackTracking__unitZ(), radians);
    },
    transform$1(_, matrix4) {
      this._currentTransform.multiply$1(0, new A.Matrix40(matrix4));
    },
    clipRect$1(rect) {
      var t2, t3,
        t1 = this.clipStack;
      if (t1 == null)
        t1 = this.clipStack = A._setArrayType([], type$.JSArray_SaveClipEntry);
      t2 = this._currentTransform;
      t3 = new A.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      t1.push(new A.SaveClipEntry(rect, null, null, t3));
    },
    clipRRect$1(rrect) {
      var t2, t3,
        t1 = this.clipStack;
      if (t1 == null)
        t1 = this.clipStack = A._setArrayType([], type$.JSArray_SaveClipEntry);
      t2 = this._currentTransform;
      t3 = new A.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      t1.push(new A.SaveClipEntry(null, rrect, null, t3));
    },
    clipPath$1(_, path) {
      var t2, t3,
        t1 = this.clipStack;
      if (t1 == null)
        t1 = this.clipStack = A._setArrayType([], type$.JSArray_SaveClipEntry);
      t2 = this._currentTransform;
      t3 = new A.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      t1.push(new A.SaveClipEntry(null, null, path, t3));
    }
  };
  A.CkCanvas.prototype = {
    clear$1(_, color) {
      this.skCanvas.clear(A._populateSkColor($.$get$_sharedSkColor1(), color));
    },
    clipPath$2(_, path, doAntiAlias) {
      this.skCanvas.clipPath(path.get$skiaObject(), $.$get$_clipOpIntersect(), doAntiAlias);
    },
    clipRRect$2(rrect, doAntiAlias) {
      this.skCanvas.clipRRect(A.toSkRRect(rrect), $.$get$_clipOpIntersect(), doAntiAlias);
    },
    clipRect$3(rect, clipOp, doAntiAlias) {
      this.skCanvas.clipRect(A.toSkRect(rect), $.$get$_skClipOps()[clipOp.index], doAntiAlias);
    },
    drawArc$5(oval, startAngle, sweepAngle, useCenter, paint) {
      A.callMethod(this.skCanvas, "drawArc", [A.toSkRect(oval), startAngle * 57.29577951308232, sweepAngle * 57.29577951308232, false, paint.get$skiaObject()]);
    },
    drawCircle$3(c, radius, paint) {
      this.skCanvas.drawCircle(c._dx, c._dy, radius, paint.get$skiaObject());
    },
    drawDRRect$3(outer, inner, paint) {
      this.skCanvas.drawDRRect(A.toSkRRect(outer), A.toSkRRect(inner), paint.get$skiaObject());
    },
    drawImageRect$4(image, src, dst, paint) {
      var t3, t4, t5, t6,
        filterQuality = paint._filterQuality,
        t1 = this.skCanvas,
        t2 = image.__CkImage_box;
      if (filterQuality === B.FilterQuality_3) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        A.callMethod(t1, "drawImageRectCubic", [t2.get$skiaObject(), A.toSkRect(src), A.toSkRect(dst), 0.3333333333333333, 0.3333333333333333, paint.get$skiaObject()]);
      } else {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.get$skiaObject();
        t3 = A.toSkRect(src);
        t4 = A.toSkRect(dst);
        t5 = filterQuality === B.FilterQuality_0 ? $.__canvasKit._readField$0().FilterMode.Nearest : $.__canvasKit._readField$0().FilterMode.Linear;
        t6 = filterQuality === B.FilterQuality_2 ? $.__canvasKit._readField$0().MipmapMode.Linear : $.__canvasKit._readField$0().MipmapMode.None;
        A.callMethod(t1, "drawImageRectOptions", [t2, t3, t4, t5, t6, paint.get$skiaObject()]);
      }
    },
    drawLine$3(p1, p2, paint) {
      A.callMethod(this.skCanvas, "drawLine", [p1._dx, p1._dy, p2._dx, p2._dy, paint.get$skiaObject()]);
    },
    drawOval$2(rect, paint) {
      this.skCanvas.drawOval(A.toSkRect(rect), paint.get$skiaObject());
    },
    drawPaint$1(paint) {
      this.skCanvas.drawPaint(paint.get$skiaObject());
    },
    drawParagraph$2(paragraph, offset) {
      var t1 = paragraph._lastLayoutConstraints;
      t1.toString;
      this.skCanvas.drawParagraph(paragraph._ensureInitialized$1(t1), offset._dx, offset._dy);
      if (!$.$get$CkParagraph__paragraphCache().markUsed$1(paragraph))
        $.$get$CkParagraph__paragraphCache().add$1(0, paragraph);
    },
    drawPath$2(path, paint) {
      this.skCanvas.drawPath(path.get$skiaObject(), paint.get$skiaObject());
    },
    drawPicture$1(picture) {
      this.skCanvas.drawPicture(picture.get$skiaObject());
    },
    drawRRect$2(rrect, paint) {
      this.skCanvas.drawRRect(A.toSkRRect(rrect), paint.get$skiaObject());
    },
    drawRect$2(rect, paint) {
      this.skCanvas.drawRect(A.toSkRect(rect), paint.get$skiaObject());
    },
    drawShadow$4(path, color, elevation, transparentOccluder) {
      var t1 = $.$get$window()._debugDevicePixelRatio;
      if (t1 == null)
        t1 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      A.drawSkShadow(this.skCanvas, path, color, elevation, transparentOccluder, t1);
    },
    restore$0(_) {
      this.skCanvas.restore();
    },
    rotate$1(_, radians) {
      this.skCanvas.rotate(radians * 180 / 3.141592653589793, 0, 0);
    },
    save$0(_) {
      return this.skCanvas.save();
    },
    saveLayer$2(bounds, paint) {
      var t1 = paint == null ? null : paint.get$skiaObject();
      this.skCanvas.saveLayer(t1, A.toSkRect(bounds), null, null);
    },
    scale$2(_, sx, sy) {
      this.skCanvas.scale(sx, sy);
    },
    transform$1(_, matrix4) {
      this.skCanvas.concat(A.toSkM44FromFloat32(matrix4));
    },
    translate$2(_, dx, dy) {
      this.skCanvas.translate(dx, dy);
    },
    get$pictureSnapshot() {
      return null;
    }
  };
  A.RecordingCkCanvas.prototype = {
    clear$1(_, color) {
      this.super$CkCanvas$clear(0, color);
      this.pictureSnapshot._commands.push(new A.CkClearCommand(color));
    },
    clipPath$2(_, path, doAntiAlias) {
      this.super$CkCanvas$clipPath(0, path, doAntiAlias);
      this.pictureSnapshot._commands.push(new A.CkClipPathCommand(path, doAntiAlias));
    },
    clipRRect$2(rrect, doAntiAlias) {
      this.super$CkCanvas$clipRRect(rrect, doAntiAlias);
      this.pictureSnapshot._commands.push(new A.CkClipRRectCommand(rrect, doAntiAlias));
    },
    clipRect$3(rect, clipOp, doAntiAlias) {
      this.super$CkCanvas$clipRect(rect, clipOp, doAntiAlias);
      this.pictureSnapshot._commands.push(new A.CkClipRectCommand(rect, clipOp, doAntiAlias));
    },
    drawArc$5(oval, startAngle, sweepAngle, useCenter, paint) {
      this.super$CkCanvas$drawArc(oval, startAngle, sweepAngle, false, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawArcCommand(oval, startAngle, sweepAngle, false, paint));
    },
    drawCircle$3(c, radius, paint) {
      this.super$CkCanvas$drawCircle(c, radius, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawCircleCommand(c, radius, paint));
    },
    drawDRRect$3(outer, inner, paint) {
      this.super$CkCanvas$drawDRRect(outer, inner, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawDRRectCommand(outer, inner, paint));
    },
    drawImageRect$4(image, src, dst, paint) {
      var t1;
      this.super$CkCanvas$drawImageRect(image, src, dst, paint);
      t1 = image.__CkImage_box;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      this.pictureSnapshot._commands.push(new A.CkDrawImageRectCommand(A.CkImage$cloneOf(t1), src, dst, paint));
    },
    drawLine$3(p1, p2, paint) {
      this.super$CkCanvas$drawLine(p1, p2, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawLineCommand(p1, p2, paint));
    },
    drawOval$2(rect, paint) {
      this.super$CkCanvas$drawOval(rect, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawOvalCommand(rect, paint));
    },
    drawPaint$1(paint) {
      this.super$CkCanvas$drawPaint(paint);
      this.pictureSnapshot._commands.push(new A.CkDrawPaintCommand(paint));
    },
    drawParagraph$2(paragraph, offset) {
      this.super$CkCanvas$drawParagraph(paragraph, offset);
      this.pictureSnapshot._commands.push(new A.CkDrawParagraphCommand(paragraph, offset));
    },
    drawPath$2(path, paint) {
      this.super$CkCanvas$drawPath(path, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawPathCommand(path, paint));
    },
    drawPicture$1(picture) {
      this.super$CkCanvas$drawPicture(picture);
      this.pictureSnapshot._commands.push(new A.CkDrawPictureCommand(picture));
    },
    drawRRect$2(rrect, paint) {
      this.super$CkCanvas$drawRRect(rrect, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawRRectCommand(rrect, paint));
    },
    drawRect$2(rect, paint) {
      this.super$CkCanvas$drawRect(rect, paint);
      this.pictureSnapshot._commands.push(new A.CkDrawRectCommand(rect, paint));
    },
    drawShadow$4(path, color, elevation, transparentOccluder) {
      this.super$CkCanvas$drawShadow(path, color, elevation, transparentOccluder);
      this.pictureSnapshot._commands.push(new A.CkDrawShadowCommand(path, color, elevation, transparentOccluder));
    },
    restore$0(_) {
      this.super$CkCanvas$restore(0);
      this.pictureSnapshot._commands.push(B.C_CkRestoreCommand);
    },
    rotate$1(_, radians) {
      this.super$CkCanvas$rotate(0, radians);
      this.pictureSnapshot._commands.push(new A.CkRotateCommand(radians));
    },
    save$0(_) {
      this.pictureSnapshot._commands.push(B.C_CkSaveCommand);
      return this.super$CkCanvas$save(0);
    },
    saveLayer$2(bounds, paint) {
      this.super$CkCanvas$saveLayer(bounds, paint);
      this.pictureSnapshot._commands.push(new A.CkSaveLayerCommand(bounds, paint));
    },
    scale$2(_, sx, sy) {
      this.super$CkCanvas$scale(0, sx, sy);
      this.pictureSnapshot._commands.push(new A.CkScaleCommand(sx, sy));
    },
    transform$1(_, matrix4) {
      this.super$CkCanvas$transform(0, matrix4);
      this.pictureSnapshot._commands.push(new A.CkTransformCommand(matrix4));
    },
    translate$2(_, dx, dy) {
      this.super$CkCanvas$translate(0, dx, dy);
      this.pictureSnapshot._commands.push(new A.CkTranslateCommand(dx, dy));
    },
    get$pictureSnapshot() {
      return this.pictureSnapshot;
    }
  };
  A.CkPictureSnapshot.prototype = {
    toPicture$0() {
      var t2, t3, _i,
        recorder = type$.JavaScriptObject._as(new self.window.flutterCanvasKit.PictureRecorder()),
        t1 = recorder.beginRecording(A.toSkRect(this._bounds));
      for (t2 = this._commands, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
        t2[_i].apply$1(t1);
      t1 = recorder.finishRecordingAsPicture();
      recorder.delete();
      return t1;
    },
    dispose$0() {
      var t1, t2, _i;
      for (t1 = this._commands, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].dispose$0();
    }
  };
  A.CkPaintCommand.prototype = {
    dispose$0() {
    }
  };
  A.CkClearCommand.prototype = {
    apply$1(canvas) {
      canvas.clear(A._populateSkColor($.$get$_sharedSkColor1(), this.color));
    }
  };
  A.CkSaveCommand.prototype = {
    apply$1(canvas) {
      canvas.save();
    }
  };
  A.CkRestoreCommand.prototype = {
    apply$1(canvas) {
      canvas.restore();
    }
  };
  A.CkTranslateCommand.prototype = {
    apply$1(canvas) {
      canvas.translate(this.dx, this.dy);
    }
  };
  A.CkScaleCommand.prototype = {
    apply$1(canvas) {
      canvas.scale(this.sx, this.sy);
    }
  };
  A.CkRotateCommand.prototype = {
    apply$1(canvas) {
      canvas.rotate(this.radians * 180 / 3.141592653589793, 0, 0);
    }
  };
  A.CkTransformCommand.prototype = {
    apply$1(canvas) {
      canvas.concat(A.toSkM44FromFloat32(this.matrix4));
    }
  };
  A.CkClipRectCommand.prototype = {
    apply$1(canvas) {
      canvas.clipRect(A.toSkRect(this.rect), $.$get$_skClipOps()[this.clipOp.index], this.doAntiAlias);
    }
  };
  A.CkDrawArcCommand.prototype = {
    apply$1(canvas) {
      var _this = this;
      A.callMethod(canvas, "drawArc", [A.toSkRect(_this.oval), _this.startAngle * 57.29577951308232, _this.sweepAngle * 57.29577951308232, false, _this.paint.get$skiaObject()]);
    }
  };
  A.CkClipRRectCommand.prototype = {
    apply$1(canvas) {
      canvas.clipRRect(A.toSkRRect(this.rrect), $.$get$_clipOpIntersect(), this.doAntiAlias);
    }
  };
  A.CkClipPathCommand.prototype = {
    apply$1(canvas) {
      canvas.clipPath(this.path.get$skiaObject(), $.$get$_clipOpIntersect(), this.doAntiAlias);
    }
  };
  A.CkDrawLineCommand.prototype = {
    apply$1(canvas) {
      var t1 = this.p1,
        t2 = this.p2;
      A.callMethod(canvas, "drawLine", [t1._dx, t1._dy, t2._dx, t2._dy, this.paint.get$skiaObject()]);
    }
  };
  A.CkDrawPaintCommand.prototype = {
    apply$1(canvas) {
      canvas.drawPaint(this.paint.get$skiaObject());
    }
  };
  A.CkDrawRectCommand.prototype = {
    apply$1(canvas) {
      canvas.drawRect(A.toSkRect(this.rect), this.paint.get$skiaObject());
    }
  };
  A.CkDrawRRectCommand.prototype = {
    apply$1(canvas) {
      canvas.drawRRect(A.toSkRRect(this.rrect), this.paint.get$skiaObject());
    }
  };
  A.CkDrawDRRectCommand.prototype = {
    apply$1(canvas) {
      canvas.drawDRRect(A.toSkRRect(this.outer), A.toSkRRect(this.inner), this.paint.get$skiaObject());
    }
  };
  A.CkDrawOvalCommand.prototype = {
    apply$1(canvas) {
      canvas.drawOval(A.toSkRect(this.rect), this.paint.get$skiaObject());
    }
  };
  A.CkDrawCircleCommand.prototype = {
    apply$1(canvas) {
      var t1 = this.c;
      canvas.drawCircle(t1._dx, t1._dy, this.radius, this.paint.get$skiaObject());
    }
  };
  A.CkDrawPathCommand.prototype = {
    apply$1(canvas) {
      canvas.drawPath(this.path.get$skiaObject(), this.paint.get$skiaObject());
    }
  };
  A.CkDrawShadowCommand.prototype = {
    apply$1(canvas) {
      var _this = this,
        t1 = $.$get$window()._debugDevicePixelRatio;
      if (t1 == null)
        t1 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      A.drawSkShadow(canvas, _this.path, _this.color, _this.elevation, _this.transparentOccluder, t1);
    }
  };
  A.CkDrawImageRectCommand.prototype = {
    apply$1(canvas) {
      var t5, t6, _this = this,
        t1 = _this.paint,
        filterQuality = t1._filterQuality,
        t2 = _this.src,
        t3 = _this.dst,
        t4 = _this.image.__CkImage_box;
      if (filterQuality === B.FilterQuality_3) {
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        A.callMethod(canvas, "drawImageRectCubic", [t4.get$skiaObject(), A.toSkRect(t2), A.toSkRect(t3), 0.3333333333333333, 0.3333333333333333, t1.get$skiaObject()]);
      } else {
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t4.get$skiaObject();
        t2 = A.toSkRect(t2);
        t3 = A.toSkRect(t3);
        t5 = filterQuality === B.FilterQuality_0 ? $.__canvasKit._readField$0().FilterMode.Nearest : $.__canvasKit._readField$0().FilterMode.Linear;
        t6 = filterQuality === B.FilterQuality_2 ? $.__canvasKit._readField$0().MipmapMode.Linear : $.__canvasKit._readField$0().MipmapMode.None;
        A.callMethod(canvas, "drawImageRectOptions", [t4, t2, t3, t5, t6, t1.get$skiaObject()]);
      }
    },
    dispose$0() {
      var t2,
        t1 = this.image;
      t1._disposed = true;
      t2 = t1.__CkImage_box;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.unref$1(t1);
    }
  };
  A.CkDrawParagraphCommand.prototype = {
    apply$1(canvas) {
      var t3,
        t1 = this.paragraph,
        t2 = t1._lastLayoutConstraints;
      t2.toString;
      t3 = this.offset;
      canvas.drawParagraph(t1._ensureInitialized$1(t2), t3._dx, t3._dy);
      if (!$.$get$CkParagraph__paragraphCache().markUsed$1(t1))
        $.$get$CkParagraph__paragraphCache().add$1(0, t1);
    }
  };
  A.CkDrawPictureCommand.prototype = {
    apply$1(canvas) {
      canvas.drawPicture(this.picture.get$skiaObject());
    }
  };
  A.CkSaveLayerCommand.prototype = {
    apply$1(canvas) {
      var t1 = this.paint;
      t1 = t1 == null ? null : t1.get$skiaObject();
      canvas.saveLayer(t1, A.toSkRect(this.bounds), null, null);
    }
  };
  A.H5vcc.prototype = {};
  A.CanvasKit.prototype = {};
  A.CanvasKitInitOptions.prototype = {};
  A.CanvasKitInitPromise.prototype = {};
  A.ColorSpace.prototype = {};
  A.SkWebGLContextOptions.prototype = {};
  A.SkSurface.prototype = {};
  A.SkGrContext.prototype = {};
  A.SkFontSlantEnum.prototype = {};
  A.SkFontSlant.prototype = {};
  A.SkFontWeightEnum.prototype = {};
  A.SkFontWeight.prototype = {};
  A.SkAffinityEnum.prototype = {};
  A.SkAffinity.prototype = {};
  A.SkTextDirectionEnum.prototype = {};
  A.SkTextDirection.prototype = {};
  A.SkTextAlignEnum.prototype = {};
  A.SkTextAlign.prototype = {};
  A.SkTextHeightBehaviorEnum.prototype = {};
  A.SkTextHeightBehavior.prototype = {};
  A.SkRectHeightStyleEnum.prototype = {};
  A.SkRectHeightStyle.prototype = {};
  A.SkRectWidthStyleEnum.prototype = {};
  A.SkRectWidthStyle.prototype = {};
  A.SkVertexModeEnum.prototype = {};
  A.SkVertexMode.prototype = {};
  A.SkPointModeEnum.prototype = {};
  A.SkPointMode.prototype = {};
  A.SkClipOpEnum.prototype = {};
  A.SkClipOp.prototype = {};
  A.SkFillTypeEnum.prototype = {};
  A.SkFillType.prototype = {};
  A.SkPathOpEnum.prototype = {};
  A.SkPathOp.prototype = {};
  A.SkBlurStyleEnum.prototype = {};
  A.SkBlurStyle.prototype = {};
  A.SkStrokeCapEnum.prototype = {};
  A.SkStrokeCap.prototype = {};
  A.SkPaintStyleEnum.prototype = {};
  A.SkPaintStyle.prototype = {};
  A.SkBlendModeEnum.prototype = {};
  A.SkBlendMode.prototype = {};
  A.SkStrokeJoinEnum.prototype = {};
  A.SkStrokeJoin.prototype = {};
  A.SkTileModeEnum.prototype = {};
  A.SkTileMode.prototype = {};
  A.SkFilterModeEnum.prototype = {};
  A.SkFilterMode.prototype = {};
  A.SkMipmapModeEnum.prototype = {};
  A.SkMipmapMode.prototype = {};
  A.SkAlphaTypeEnum.prototype = {};
  A.SkAlphaType.prototype = {};
  A.SkColorTypeEnum.prototype = {};
  A.SkColorType.prototype = {};
  A.SkAnimatedImage.prototype = {};
  A.SkImage.prototype = {};
  A.SkShaderNamespace.prototype = {};
  A.SkShader.prototype = {};
  A.SkMaskFilterNamespace.prototype = {};
  A.SkPaint.prototype = {};
  A.CkFilterOptions.prototype = {};
  A._CkCubicFilterOptions.prototype = {};
  A._CkTransformFilterOptions.prototype = {};
  A.SkMaskFilter.prototype = {};
  A.SkColorFilterNamespace.prototype = {};
  A.SkColorFilter.prototype = {};
  A.SkImageFilterNamespace.prototype = {};
  A.SkImageFilter.prototype = {};
  A.SkPathNamespace.prototype = {};
  A._NativeFloat32ArrayType.prototype = {};
  A.SkFloat32List.prototype = {};
  A.SkPath.prototype = {};
  A.SkContourMeasureIter.prototype = {};
  A.SkContourMeasure.prototype = {};
  A.SkPictureRecorder.prototype = {};
  A.SkCanvas.prototype = {};
  A.SkPicture.prototype = {};
  A.SkParagraphBuilderNamespace.prototype = {};
  A.SkParagraphBuilder.prototype = {};
  A.SkParagraphStyle.prototype = {};
  A.SkParagraphStyleProperties.prototype = {};
  A.SkTextStyle.prototype = {};
  A.SkTextDecorationStyleEnum.prototype = {};
  A.SkTextDecorationStyle.prototype = {};
  A.SkTextBaselineEnum.prototype = {};
  A.SkTextBaseline.prototype = {};
  A.SkPlaceholderAlignmentEnum.prototype = {};
  A.SkPlaceholderAlignment.prototype = {};
  A.SkTextStyleProperties.prototype = {};
  A.SkStrutStyleProperties.prototype = {};
  A.SkFontStyle.prototype = {};
  A.SkTextShadow.prototype = {};
  A.SkFontFeature.prototype = {};
  A.SkTypeface.prototype = {};
  A.SkFont.prototype = {};
  A.SkFontMgr.prototype = {};
  A.TypefaceFontProvider.prototype = {};
  A.SkLineMetrics.prototype = {};
  A.SkParagraph.prototype = {};
  A.SkTextPosition.prototype = {};
  A.SkTextRange.prototype = {};
  A.SkVertices.prototype = {};
  A.SkTonalColors.prototype = {};
  A.SkFontMgrNamespace.prototype = {};
  A.TypefaceFontProviderNamespace.prototype = {};
  A.SkTypefaceFactory.prototype = {};
  A.ProductionCollector.prototype = {
    ProductionCollector$0() {
      var t1 = type$.JavaScriptObject._as(new self.window.FinalizationRegistry(A.allowInterop(new A.ProductionCollector_closure(this))));
      if (this.__ProductionCollector__skObjectFinalizationRegistry !== $)
        A.throwUnnamedLateFieldAI();
      this.__ProductionCollector__skObjectFinalizationRegistry = t1;
    },
    register$2(_, wrapper, deletable) {
      var t1 = this.__ProductionCollector__skObjectFinalizationRegistry;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      A.callMethod(t1, "register", [wrapper, deletable]);
    },
    collect$1(deletable) {
      var _this = this;
      _this._skiaObjectCollectionQueue.push(deletable);
      if (_this._skiaObjectCollectionTimer == null)
        _this._skiaObjectCollectionTimer = A.Timer_Timer(B.Duration_0, new A.ProductionCollector_collect_closure(_this));
    },
    collectSkiaObjectsNow$0() {
      var firstError, firstStackTrace, deletable, error, stackTrace, $length, i, exception;
      self.window.performance.mark("SkObject collection-start");
      $length = this._skiaObjectCollectionQueue.length;
      firstError = null;
      firstStackTrace = null;
      for (i = 0; i < $length; ++i) {
        deletable = this._skiaObjectCollectionQueue[i];
        if (deletable.isDeleted())
          continue;
        try {
          deletable.delete();
        } catch (exception) {
          error = A.unwrapException(exception);
          stackTrace = A.getTraceFromException(exception);
          if (firstError == null) {
            firstError = error;
            firstStackTrace = stackTrace;
          }
        }
      }
      this._skiaObjectCollectionQueue = A._setArrayType([], type$.JSArray_JavaScriptObject);
      self.window.performance.mark("SkObject collection-end");
      self.window.performance.measure("SkObject collection", "SkObject collection-start", "SkObject collection-end");
      if (firstError != null)
        throw A.wrapException(new A.SkiaObjectCollectionError(firstError, firstStackTrace));
    }
  };
  A.ProductionCollector_closure.prototype = {
    call$1(deletable) {
      if (!deletable.isDeleted())
        this.$this.collect$1(deletable);
    },
    $signature: 265
  };
  A.ProductionCollector_collect_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._skiaObjectCollectionTimer = null;
      t1.collectSkiaObjectsNow$0();
    },
    $signature: 0
  };
  A.SkiaObjectCollectionError.prototype = {
    toString$0(_) {
      return "SkiaObjectCollectionError: " + A.S(this.error) + "\n" + A.S(this.stackTrace);
    },
    $isError0: 1,
    get$stackTrace() {
      return this.stackTrace;
    }
  };
  A.SkDeletable.prototype = {};
  A.JsConstructor.prototype = {};
  A.SkObjectFinalizationRegistry.prototype = {};
  A.SkData.prototype = {};
  A.SkImageInfo.prototype = {};
  A.SkPartialImageInfo.prototype = {};
  A.patchCanvasKitModule_closure.prototype = {
    call$0() {
      if (J.$eq$(self.document.currentScript, this.canvasKitScript))
        return A.JsObject_JsObject(this.objectConstructor);
      else
        return $.$get$_context().$index(0, "_flutterWebCachedExports");
    },
    $signature: 92
  };
  A.patchCanvasKitModule_closure0.prototype = {
    call$1(value) {
      $.$get$_context().$indexSet(0, "_flutterWebCachedExports", value);
    },
    $signature: 9
  };
  A.patchCanvasKitModule_closure1.prototype = {
    call$0() {
      if (J.$eq$(self.document.currentScript, this.canvasKitScript))
        return A.JsObject_JsObject(this.objectConstructor);
      else
        return $.$get$_context().$index(0, "_flutterWebCachedModule");
    },
    $signature: 92
  };
  A.patchCanvasKitModule_closure2.prototype = {
    call$1(value) {
      $.$get$_context().$indexSet(0, "_flutterWebCachedModule", value);
    },
    $signature: 9
  };
  A.CanvasKitCanvas.prototype = {
    save$0(_) {
      this.__engine$_canvas.save$0(0);
    },
    saveLayer$2(bounds, paint) {
      this.__engine$_canvas.saveLayer$2(bounds, type$.CkPaint._as(paint));
    },
    restore$0(_) {
      this.__engine$_canvas.restore$0(0);
    },
    translate$2(_, dx, dy) {
      this.__engine$_canvas.translate$2(0, dx, dy);
    },
    scale$2(_, sx, sy) {
      var t1 = sy == null ? sx : sy;
      this.__engine$_canvas.scale$2(0, sx, t1);
      return null;
    },
    rotate$1(_, radians) {
      this.__engine$_canvas.rotate$1(0, radians);
    },
    transform$1(_, matrix4) {
      this.__engine$_canvas.transform$1(0, A.toMatrix32(matrix4));
    },
    clipRect$3$clipOp$doAntiAlias(rect, clipOp, doAntiAlias) {
      this.__engine$_canvas.clipRect$3(rect, clipOp, doAntiAlias);
    },
    clipRect$2$doAntiAlias(rect, doAntiAlias) {
      return this.clipRect$3$clipOp$doAntiAlias(rect, B.ClipOp_1, doAntiAlias);
    },
    clipRect$1(rect) {
      return this.clipRect$3$clipOp$doAntiAlias(rect, B.ClipOp_1, true);
    },
    clipRect$2$clipOp(rect, clipOp) {
      return this.clipRect$3$clipOp$doAntiAlias(rect, clipOp, true);
    },
    clipRRect$2$doAntiAlias(rrect, doAntiAlias) {
      this.__engine$_canvas.clipRRect$2(rrect, doAntiAlias);
    },
    clipRRect$1(rrect) {
      return this.clipRRect$2$doAntiAlias(rrect, true);
    },
    clipPath$2$doAntiAlias(_, path, doAntiAlias) {
      this.__engine$_canvas.clipPath$2(0, type$.CkPath._as(path), doAntiAlias);
    },
    clipPath$1($receiver, path) {
      return this.clipPath$2$doAntiAlias($receiver, path, true);
    },
    drawLine$3(p1, p2, paint) {
      this.__engine$_canvas.drawLine$3(p1, p2, type$.CkPaint._as(paint));
    },
    drawPaint$1(paint) {
      this.__engine$_canvas.drawPaint$1(type$.CkPaint._as(paint));
    },
    drawRect$2(rect, paint) {
      this.__engine$_canvas.drawRect$2(rect, type$.CkPaint._as(paint));
    },
    drawRRect$2(rrect, paint) {
      this.__engine$_canvas.drawRRect$2(rrect, type$.CkPaint._as(paint));
    },
    drawDRRect$3(outer, inner, paint) {
      this.__engine$_canvas.drawDRRect$3(outer, inner, type$.CkPaint._as(paint));
    },
    drawOval$2(rect, paint) {
      this.__engine$_canvas.drawOval$2(rect, type$.CkPaint._as(paint));
    },
    drawCircle$3(c, radius, paint) {
      this.__engine$_canvas.drawCircle$3(c, radius, type$.CkPaint._as(paint));
    },
    drawArc$5(rect, startAngle, sweepAngle, useCenter, paint) {
      this.__engine$_canvas.drawArc$5(rect, startAngle, sweepAngle, false, type$.CkPaint._as(paint));
    },
    drawPath$2(path, paint) {
      this.__engine$_canvas.drawPath$2(type$.CkPath._as(path), type$.CkPaint._as(paint));
    },
    drawImageRect$4(image, src, dst, paint) {
      this.__engine$_canvas.drawImageRect$4(type$.CkImage._as(image), src, dst, type$.CkPaint._as(paint));
    },
    drawParagraph$2(paragraph, offset) {
      this.__engine$_canvas.drawParagraph$2(type$.CkParagraph._as(paragraph), offset);
    },
    drawShadow$4(path, color, elevation, transparentOccluder) {
      this.__engine$_canvas.drawShadow$4(type$.CkPath._as(path), color, elevation, transparentOccluder);
    },
    $isCanvas: 1
  };
  A.ManagedSkColorFilter.prototype = {
    createDefault$0() {
      return this.colorFilter._initRawColorFilter$0();
    },
    resurrect$0() {
      return this.colorFilter._initRawColorFilter$0();
    },
    delete$0(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
    },
    get$hashCode(_) {
      var t1 = this.colorFilter;
      return t1.get$hashCode(t1);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (A.getRuntimeType(this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.ManagedSkColorFilter && other.colorFilter.$eq(0, this.colorFilter);
    },
    toString$0(_) {
      return this.colorFilter.toString$0(0);
    }
  };
  A.CkColorFilter.prototype = {};
  A.CkBlendModeColorFilter.prototype = {
    _initRawColorFilter$0() {
      var t1 = $.__canvasKit._readField$0().ColorFilter.MakeBlend(A._populateSkColor($.$get$_sharedSkColor1(), this.color), $.$get$_skBlendModes()[this.blendMode.index]);
      if (t1 == null)
        throw A.wrapException(A.ArgumentError$("Invalid parameters for blend mode ColorFilter", null));
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(this.color, this.blendMode, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (A.getRuntimeType(this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.CkBlendModeColorFilter && other.color.$eq(0, this.color) && other.blendMode === this.blendMode;
    },
    toString$0(_) {
      return "ColorFilter.mode(" + this.color.toString$0(0) + ", " + this.blendMode.toString$0(0) + ")";
    }
  };
  A.CkMatrixColorFilter.prototype = {
    get$_normalizedMatrix() {
      var t1, i,
        result = new Float32Array(20);
      for (t1 = this.matrix, i = 0; i < 20; ++i)
        if (B.JSArray_methods.contains$1(B.List_4_9_14_19, i))
          result[i] = t1[i] / 255;
        else
          result[i] = t1[i];
      return result;
    },
    _initRawColorFilter$0() {
      return $.__canvasKit._readField$0().ColorFilter.MakeMatrix(this.get$_normalizedMatrix());
    },
    get$hashCode(_) {
      return A.Object_hashAll(this.matrix);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return A.getRuntimeType(this) === J.get$runtimeType$(other) && other instanceof A.CkMatrixColorFilter && A.listEquals0(this.matrix, other.matrix);
    },
    toString$0(_) {
      return "ColorFilter.matrix(" + A.S(this.matrix) + ")";
    }
  };
  A.CkComposeColorFilter.prototype = {
    _initRawColorFilter$0() {
      var t1 = $.__canvasKit._readField$0().ColorFilter,
        t2 = this.outer;
      t2 = t2 == null ? null : t2.get$skiaObject();
      return t1.MakeCompose(t2, this.inner.get$skiaObject());
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (!(other instanceof A.CkComposeColorFilter))
        return false;
      return J.$eq$(other.outer, this.outer) && other.inner.$eq(0, this.inner);
    },
    get$hashCode(_) {
      return A.Object_hash(this.outer, this.inner, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "ColorFilter.compose(" + A.S(this.outer) + ", " + this.inner.toString$0(0) + ")";
    }
  };
  A.HtmlViewEmbedder.prototype = {
    getOverlayCanvases$0() {
      var t2, overlayCanvases,
        t1 = $._configuration;
      t1 = (t1 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t1).get$canvasKitMaximumSurfaces() <= 1;
      if (t1)
        return B.List_empty4;
      t1 = this._pictureRecordersCreatedDuringPreroll;
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,CkCanvas>");
      overlayCanvases = A.List_List$of(new A.MappedListIterable(t1, new A.HtmlViewEmbedder_getOverlayCanvases_closure(), t2), true, t2._eval$1("ListIterable.E"));
      return overlayCanvases;
    },
    _cleanUpClipDefs$1(viewId) {
      var t2, nodesToRemove, t3, t4, _i,
        t1 = this._svgClipDefs;
      if (t1.containsKey$1(0, viewId)) {
        t2 = null.querySelector("#sk_path_defs");
        t2.toString;
        nodesToRemove = A._setArrayType([], type$.JSArray_JavaScriptObject);
        t3 = t1.$index(0, viewId);
        t3.toString;
        for (t2 = J.cast$1$0$ax(t2.children, type$.JavaScriptObject), t2 = new A.ListIterator(t2, t2.get$length(t2), A._instanceType(t2)._eval$1("ListIterator<ListMixin.E>")); t2.moveNext$0();) {
          t4 = t2.__internal$_current;
          if (t3.contains$1(0, t4.id))
            nodesToRemove.push(t4);
        }
        for (t2 = nodesToRemove.length, _i = 0; _i < nodesToRemove.length; nodesToRemove.length === t2 || (0, A.throwConcurrentModificationError)(nodesToRemove), ++_i)
          nodesToRemove[_i].remove();
        t1.$index(0, viewId).clear$0(0);
      }
    },
    submitFrame$0(_) {
      var t2, diffResult, t3, t4, insertBeforeMap, t5, t6, t7, t8, _didPaintBackupSurface, i, viewId, t9, viewType, t10, t11, t12, t13, backupFrame, frame, unusedViews, elementToInsertBefore, _i, platformViewRoot, overlay, _this = this,
        _s20_ = "flt-canvas-container",
        t1 = _this._activeCompositionOrder;
      if (t1.length !== 0)
        if (_this._compositionOrder.length !== 0) {
          t2 = $._configuration;
          t2 = (t2 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t2).get$canvasKitMaximumSurfaces() <= 1;
        } else
          t2 = true;
      else
        t2 = true;
      if (t2)
        diffResult = null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        t3 = _this._compositionOrder;
        t4 = A._arrayInstanceType(t3)._eval$1("WhereIterable<1>");
        diffResult = A.diffViewList(A.List_List$of(new A.WhereIterable(t1, new A.HtmlViewEmbedder_submitFrame_closure(), t2), true, t2._eval$1("Iterable.E")), A.List_List$of(new A.WhereIterable(t3, new A.HtmlViewEmbedder_submitFrame_closure0(), t4), true, t4._eval$1("Iterable.E")));
      }
      insertBeforeMap = _this._updateOverlays$1(diffResult);
      t2 = $._configuration;
      t2 = (t2 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t2).get$canvasKitMaximumSurfaces() <= 1;
      if (!t2)
        for (t2 = _this._compositionOrder, t3 = _this._overlays, t4 = _this._pictureRecorders, t5 = _this._viewsUsingBackupSurface, t6 = type$.JavaScriptObject, t7 = type$.JSArray_Surface, t8 = type$.JSArray_Object, _didPaintBackupSurface = false, i = 0; i < t2.length; ++i) {
          viewId = t2[i];
          t9 = $.$get$platformViewManager();
          viewType = t9._viewIdToType.$index(0, viewId);
          if (viewType != null && t9._invisibleViews.contains$1(0, viewType))
            continue;
          if (t5.contains$1(0, viewId)) {
            if (!_didPaintBackupSurface) {
              t9 = $.SurfaceFactory__instance;
              if (t9 == null) {
                t9 = $._configuration;
                t9 = (t9 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t9)._js;
                t9 = t9 == null ? null : t9.canvasKitMaximumSurfaces;
                if (t9 == null)
                  t9 = 8;
                t10 = self.document;
                t11 = A._setArrayType([_s20_], t8);
                t10 = t6._as(t10.createElement.apply(t10, t11));
                t11 = self.document;
                t12 = A._setArrayType([_s20_], t8);
                t11 = t6._as(t11.createElement.apply(t11, t12));
                t12 = A._setArrayType([], t7);
                t13 = A._setArrayType([], t7);
                t9 = $.SurfaceFactory__instance = new A.SurfaceFactory(new A.Surface(t10), new A.Surface(t11), t9, t12, t13);
              }
              backupFrame = t9.backupSurface.acquireFrame$1(_this._frameSize);
              t9 = backupFrame.skiaSurface.surface.getCanvas();
              t10 = _this._backupPictureRecorder.endRecording$0();
              t11 = t10.rawSkiaObject;
              t10 = t11 == null ? t10._doResurrect$0() : t11;
              t9.drawPicture(t10);
              _this._backupPictureRecorder = null;
              backupFrame.submit$0(0);
              _didPaintBackupSurface = true;
            }
          } else {
            frame = t3.$index(0, viewId).acquireFrame$1(_this._frameSize);
            t9 = frame.skiaSurface.surface.getCanvas();
            t10 = t4.$index(0, viewId).endRecording$0();
            t11 = t10.rawSkiaObject;
            t10 = t11 == null ? t10._doResurrect$0() : t11;
            t9.drawPicture(t10);
            frame.submit$0(0);
          }
        }
      else
        _didPaintBackupSurface = false;
      B.JSArray_methods.clear$0(_this._pictureRecordersCreatedDuringPreroll);
      t2 = _this._pictureRecorders;
      t2.clear$0(0);
      _this._viewsUsingBackupSurface.clear$0(0);
      t3 = _this._compositionOrder;
      if (A.listEquals0(t3, t1)) {
        B.JSArray_methods.clear$0(t3);
        return;
      }
      unusedViews = A.LinkedHashSet_LinkedHashSet$from(t1, type$.int);
      B.JSArray_methods.clear$0(t1);
      if (diffResult != null) {
        t4 = diffResult.viewsToRemove;
        _this.disposeViews$1(A.LinkedHashSet_LinkedHashSet$from(t4, A._arrayInstanceType(t4)._precomputed1));
        B.JSArray_methods.addAll$1(t1, t3);
        unusedViews.removeAll$1(t3);
        t1 = diffResult.addToBeginning;
        if (t1) {
          t4 = diffResult.viewToInsertBefore;
          t4.toString;
          t4 = _this._viewClipChains.$index(0, t4);
          elementToInsertBefore = t4.get$root(t4);
        } else
          elementToInsertBefore = null;
        for (t4 = diffResult.viewsToAdd, t5 = t4.length, t6 = _this._viewClipChains, t7 = _this._overlays, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          viewId = t4[_i];
          if (t1) {
            t8 = t6.$index(0, viewId);
            platformViewRoot = t8.get$root(t8);
            $.skiaSceneHost.insertBefore(platformViewRoot, elementToInsertBefore);
            overlay = t7.$index(0, viewId);
            if (overlay != null)
              $.skiaSceneHost.insertBefore(overlay.htmlElement, elementToInsertBefore);
          } else {
            t8 = t6.$index(0, viewId);
            platformViewRoot = t8.get$root(t8);
            $.skiaSceneHost.append(platformViewRoot);
            overlay = t7.$index(0, viewId);
            if (overlay != null)
              $.skiaSceneHost.append(overlay.htmlElement);
          }
        }
        if (insertBeforeMap != null)
          insertBeforeMap.forEach$1(0, new A.HtmlViewEmbedder_submitFrame_closure1(_this));
        if (_didPaintBackupSurface) {
          t1 = $.skiaSceneHost;
          t1.toString;
          t1.append(A.SurfaceFactory_instance().backupSurface.htmlElement);
        }
      } else {
        t4 = A.SurfaceFactory_instance();
        B.JSArray_methods.forEach$1(t4._cache, t4.get$_removeFromDom());
        t4.backupSurface.htmlElement.remove();
        for (t4 = _this._viewClipChains, t5 = _this._overlays, i = 0; i < t3.length; ++i) {
          viewId = t3[i];
          t6 = t4.$index(0, viewId);
          platformViewRoot = t6.get$root(t6);
          overlay = t5.$index(0, viewId);
          $.skiaSceneHost.append(platformViewRoot);
          if (overlay != null)
            $.skiaSceneHost.append(overlay.htmlElement);
          t1.push(viewId);
          unusedViews.remove$1(0, viewId);
        }
        if (_didPaintBackupSurface) {
          t1 = $.skiaSceneHost;
          t1.toString;
          t1.append(A.SurfaceFactory_instance().backupSurface.htmlElement);
        }
      }
      B.JSArray_methods.clear$0(t3);
      _this.disposeViews$1(unusedViews);
      t2.clear$0(0);
    },
    disposeViews$1(viewsToDispose) {
      var t1, t2, t3, t4, t5, t6, t7, _this = this;
      for (t1 = A._LinkedHashSetIterator$(viewsToDispose, viewsToDispose._collection$_modifications, A._instanceType(viewsToDispose)._precomputed1), t2 = _this._currentCompositionParams, t3 = _this._viewsToRecomposite, t4 = _this._svgClipDefs, t5 = _this._viewClipChains, t6 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t7 = t1._collection$_current;
        if (t7 == null)
          t7 = t6._as(t7);
        t5.remove$1(0, t7);
        t2.remove$1(0, t7);
        t3.remove$1(0, t7);
        _this._cleanUpClipDefs$1(t7);
        t4.remove$1(0, t7);
      }
    },
    _releaseOverlay$1(viewId) {
      var t2,
        t1 = this._overlays;
      if (t1.$index(0, viewId) != null) {
        t2 = t1.$index(0, viewId);
        t2.toString;
        A.SurfaceFactory_instance().releaseSurface$1(t2);
        t1.remove$1(0, viewId);
      }
    },
    _updateOverlays$1(diffResult) {
      var t1, t2, t3, viewsNeedingOverlays, numOverlays, t4, i, viewId, t5, t6, t7, t8, t9, overlay, availableOverlays, viewsToDispose, index, index0, t10, t11, t12, t13, overlaysToAssign, lastOriginalIndex, insertBeforeMap, viewType, _this = this, _null = null,
        _s20_ = "flt-canvas-container";
      if (_this._viewsUsingBackupSurface._collection$_length === 0)
        A.SurfaceFactory_instance().releaseSurface$1(A.SurfaceFactory_instance().backupSurface);
      t1 = diffResult == null;
      if (!t1 && diffResult.viewsToAdd.length === 0 && diffResult.viewsToRemove.length === 0)
        return _null;
      if (t1) {
        t1 = A.SurfaceFactory_instance();
        t2 = t1._liveSurfaces;
        B.JSArray_methods.addAll$1(t1._cache, t2);
        B.JSArray_methods.clear$0(t2);
        t2 = _this._overlays;
        t2.clear$0(0);
        t1 = _this._compositionOrder;
        t3 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        viewsNeedingOverlays = A.List_List$of(new A.WhereIterable(t1, new A.HtmlViewEmbedder__updateOverlays_closure(), t3), true, t3._eval$1("Iterable.E"));
        numOverlays = Math.min(A.SurfaceFactory_instance().maximumSurfaces - 2, viewsNeedingOverlays.length);
        for (t1 = type$.JavaScriptObject, t3 = type$.JSArray_Surface, t4 = type$.JSArray_Object, i = 0; i < numOverlays; ++i) {
          viewId = viewsNeedingOverlays[i];
          t5 = $.SurfaceFactory__instance;
          if (t5 == null) {
            t5 = $._configuration;
            t5 = (t5 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t5)._js;
            t5 = t5 == null ? _null : t5.canvasKitMaximumSurfaces;
            if (t5 == null)
              t5 = 8;
            t6 = self.document;
            t7 = A._setArrayType([_s20_], t4);
            t6 = t1._as(t6.createElement.apply(t6, t7));
            t7 = self.document;
            t8 = A._setArrayType([_s20_], t4);
            t7 = t1._as(t7.createElement.apply(t7, t8));
            t8 = A._setArrayType([], t3);
            t9 = A._setArrayType([], t3);
            t5 = $.SurfaceFactory__instance = new A.SurfaceFactory(new A.Surface(t6), new A.Surface(t7), t5, t8, t9);
          }
          overlay = t5.getOverlay$0();
          overlay.createOrUpdateSurface$1(_this._frameSize);
          t2.$indexSet(0, viewId, overlay);
        }
        _this._assertOverlaysInitialized$0();
        return _null;
      } else {
        t1 = diffResult.viewsToRemove;
        B.JSArray_methods.forEach$1(t1, _this.get$_releaseOverlay());
        t2 = A.SurfaceFactory_instance();
        availableOverlays = t2.maximumSurfaces - 2 - t2._liveSurfaces.length;
        if (diffResult.addToBeginning) {
          t1 = diffResult.viewsToAdd;
          if (t1.length > availableOverlays) {
            viewsToDispose = Math.min(A.SurfaceFactory_instance().maximumSurfaces - 2, t1.length - availableOverlays);
            index = A.SurfaceFactory_instance().maximumSurfaces - 2 - t1.length;
            for (t2 = _this._overlays, t3 = _this._activeCompositionOrder, t4 = type$.JavaScriptObject, t5 = type$.JSArray_Surface, t6 = type$.JSArray_Object; viewsToDispose > 0; index = index0) {
              index0 = index + 1;
              t7 = t3[index];
              if (t2.$index(0, t7) != null) {
                t8 = t2.$index(0, t7);
                t8.toString;
                t9 = $.SurfaceFactory__instance;
                if (t9 == null) {
                  t9 = $._configuration;
                  t9 = (t9 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t9)._js;
                  t9 = t9 == null ? _null : t9.canvasKitMaximumSurfaces;
                  if (t9 == null)
                    t9 = 8;
                  t10 = self.document;
                  t11 = A._setArrayType([_s20_], t6);
                  t10 = t4._as(t10.createElement.apply(t10, t11));
                  t11 = self.document;
                  t12 = A._setArrayType([_s20_], t6);
                  t11 = t4._as(t11.createElement.apply(t11, t12));
                  t12 = A._setArrayType([], t5);
                  t13 = A._setArrayType([], t5);
                  t9 = $.SurfaceFactory__instance = new A.SurfaceFactory(new A.Surface(t10), new A.Surface(t11), t9, t12, t13);
                }
                t9.releaseSurface$1(t8);
                t2.remove$1(0, t7);
              }
              --viewsToDispose;
            }
          }
          t2 = t1.length;
          t3 = A.SurfaceFactory_instance();
          overlaysToAssign = Math.min(t2, t3.maximumSurfaces - 2 - t3._liveSurfaces.length);
          for (t2 = _this._overlays, t3 = type$.JavaScriptObject, t4 = type$.JSArray_Surface, t5 = type$.JSArray_Object, i = 0; i < overlaysToAssign; ++i) {
            t6 = t1[i];
            t7 = $.SurfaceFactory__instance;
            if (t7 == null) {
              t7 = $._configuration;
              t7 = (t7 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t7)._js;
              t7 = t7 == null ? _null : t7.canvasKitMaximumSurfaces;
              if (t7 == null)
                t7 = 8;
              t8 = self.document;
              t9 = A._setArrayType([_s20_], t5);
              t8 = t3._as(t8.createElement.apply(t8, t9));
              t9 = self.document;
              t10 = A._setArrayType([_s20_], t5);
              t9 = t3._as(t9.createElement.apply(t9, t10));
              t10 = A._setArrayType([], t4);
              t11 = A._setArrayType([], t4);
              t7 = $.SurfaceFactory__instance = new A.SurfaceFactory(new A.Surface(t8), new A.Surface(t9), t7, t10, t11);
            }
            overlay = t7.getOverlay$0();
            overlay.createOrUpdateSurface$1(_this._frameSize);
            t2.$indexSet(0, t6, overlay);
          }
          _this._assertOverlaysInitialized$0();
          return _null;
        } else {
          t2 = _this._compositionOrder;
          overlaysToAssign = Math.min(t2.length, availableOverlays);
          lastOriginalIndex = _this._activeCompositionOrder.length - t1.length;
          t1 = type$.int;
          insertBeforeMap = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
          t1 = _this._overlays;
          t3 = type$.JavaScriptObject;
          t4 = type$.JSArray_Surface;
          t5 = type$.JSArray_Object;
          index = 0;
          while (true) {
            if (!(overlaysToAssign > 0 && index < t2.length))
              break;
            viewId = t2[index];
            if (!t1.containsKey$1(0, viewId)) {
              t6 = $.$get$platformViewManager();
              viewType = t6._viewIdToType.$index(0, viewId);
              t6 = !(viewType != null && t6._invisibleViews.contains$1(0, viewType));
            } else
              t6 = false;
            if (t6) {
              t6 = $.SurfaceFactory__instance;
              if (t6 == null) {
                t6 = $._configuration;
                t6 = (t6 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t6)._js;
                t6 = t6 == null ? _null : t6.canvasKitMaximumSurfaces;
                if (t6 == null)
                  t6 = 8;
                t7 = self.document;
                t8 = A._setArrayType([_s20_], t5);
                t7 = t3._as(t7.createElement.apply(t7, t8));
                t8 = self.document;
                t9 = A._setArrayType([_s20_], t5);
                t8 = t3._as(t8.createElement.apply(t8, t9));
                t9 = A._setArrayType([], t4);
                t10 = A._setArrayType([], t4);
                t6 = $.SurfaceFactory__instance = new A.SurfaceFactory(new A.Surface(t7), new A.Surface(t8), t6, t9, t10);
              }
              overlay = t6.getOverlay$0();
              overlay.createOrUpdateSurface$1(_this._frameSize);
              t1.$indexSet(0, viewId, overlay);
              --overlaysToAssign;
              if (index < lastOriginalIndex) {
                t6 = index + 1;
                if (t6 < t2.length)
                  insertBeforeMap.$indexSet(0, viewId, t2[t6]);
                else
                  insertBeforeMap.$indexSet(0, viewId, -1);
              }
            }
            ++index;
          }
          _this._assertOverlaysInitialized$0();
          return insertBeforeMap;
        }
      }
    },
    _assertOverlaysInitialized$0() {
    }
  };
  A.HtmlViewEmbedder_getOverlayCanvases_closure.prototype = {
    call$1(r) {
      var t1 = r._recordingCanvas;
      t1.toString;
      return t1;
    },
    $signature: 748
  };
  A.HtmlViewEmbedder_submitFrame_closure.prototype = {
    call$1(viewId) {
      return !$.$get$platformViewManager().isInvisible$1(viewId);
    },
    $signature: 41
  };
  A.HtmlViewEmbedder_submitFrame_closure0.prototype = {
    call$1(viewId) {
      return !$.$get$platformViewManager().isInvisible$1(viewId);
    },
    $signature: 41
  };
  A.HtmlViewEmbedder_submitFrame_closure1.prototype = {
    call$2(viewId, viewIdToInsertBefore) {
      var nextSibling,
        t1 = this.$this,
        overlay = t1._overlays.$index(0, viewId).htmlElement;
      if (viewIdToInsertBefore !== -1) {
        t1 = t1._viewClipChains.$index(0, viewIdToInsertBefore);
        nextSibling = t1.get$root(t1);
        $.skiaSceneHost.insertBefore(overlay, nextSibling);
      } else
        $.skiaSceneHost.append(overlay);
    },
    $signature: 134
  };
  A.HtmlViewEmbedder__updateOverlays_closure.prototype = {
    call$1(viewId) {
      return !$.$get$platformViewManager().isInvisible$1(viewId);
    },
    $signature: 41
  };
  A.MutatorType.prototype = {
    toString$0(_) {
      return "MutatorType." + this._core$_name;
    }
  };
  A.Mutator.prototype = {
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (!(other instanceof A.Mutator))
        return false;
      t1 = _this.type;
      if (t1 !== other.type)
        return false;
      switch (t1.index) {
        case 0:
          return J.$eq$(_this.rect, other.rect);
        case 1:
          return J.$eq$(_this.rrect, other.rrect);
        case 2:
          return _this.path == other.path;
        case 3:
          return _this.matrix == other.matrix;
        case 4:
          return _this.alpha == other.alpha;
        default:
          return false;
      }
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.type, _this.rect, _this.rrect, _this.path, _this.matrix, _this.alpha, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.MutatorsStack.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (other === this)
        return true;
      return other instanceof A.MutatorsStack && A.listEquals0(other._mutators, this._mutators);
    },
    get$hashCode(_) {
      return A.Object_hashAll(this._mutators);
    },
    get$iterator(_) {
      var t1 = this._mutators,
        t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      t1 = new A.ReversedListIterable(t1, t2);
      return new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>"));
    }
  };
  A.ViewListDiffResult.prototype = {};
  A.diffViewList_closure.prototype = {
    call$1(e) {
      return !this.viewsToAddSet.contains$1(0, e);
    },
    $signature: 41
  };
  A.diffViewList_closure0.prototype = {
    call$1(e) {
      return !this.viewsToAddSet.contains$1(0, e);
    },
    $signature: 41
  };
  A.FontFallbackData.prototype = {
    ensureFontsSupportText$2(text, fontFamilies) {
      var isAscii, runesToCheck, t2, t3, rune, codeUnits, fonts, _i, font, typefacesForFamily, codeUnitsSupported, testString, t4, t5, t6, missingCodeUnits, _this = this,
        t1 = text.length,
        i = 0;
      while (true) {
        if (!(i < t1)) {
          isAscii = true;
          break;
        }
        if (B.JSString_methods._codeUnitAt$1(text, i) >= 160) {
          isAscii = false;
          break;
        }
        ++i;
      }
      if (isAscii)
        return;
      runesToCheck = A.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      for (t1 = new A.RuneIterator(text), t2 = _this.knownCoveredCodeUnits, t3 = _this.codeUnitsWithNoKnownFont; t1.moveNext$0();) {
        rune = t1._currentCodePoint;
        if (!(rune < 160 || t2.contains$1(0, rune) || t3.contains$1(0, rune)))
          runesToCheck.add$1(0, rune);
      }
      if (runesToCheck._collection$_length === 0)
        return;
      codeUnits = A.List_List$of(runesToCheck, true, runesToCheck.$ti._eval$1("SetMixin.E"));
      fonts = A._setArrayType([], type$.JSArray_JavaScriptObject);
      for (t1 = fontFamilies.length, _i = 0; _i < fontFamilies.length; fontFamilies.length === t1 || (0, A.throwConcurrentModificationError)(fontFamilies), ++_i) {
        font = fontFamilies[_i];
        typefacesForFamily = $._skiaFontCollection.familyToFontMap.$index(0, font);
        if (typefacesForFamily != null)
          B.JSArray_methods.addAll$1(fonts, typefacesForFamily);
      }
      t1 = codeUnits.length;
      codeUnitsSupported = A.List_List$filled(t1, false, false, type$.bool);
      testString = A.String_String$fromCharCodes(codeUnits, 0, null);
      for (t2 = fonts.length, _i = 0; _i < fonts.length; fonts.length === t2 || (0, A.throwConcurrentModificationError)(fonts), ++_i) {
        t3 = fonts[_i].getGlyphIDs(testString);
        for (t4 = t3.length, i = 0; i < t4; ++i) {
          t5 = codeUnitsSupported[i];
          if (t3[i] === 0) {
            t6 = codeUnits[i];
            if (!(t6 < 32))
              t6 = t6 > 127 && t6 < 160;
            else
              t6 = true;
          } else
            t6 = true;
          codeUnitsSupported[i] = B.JSBool_methods.$or(t5, t6);
        }
      }
      if (B.JSArray_methods.any$1(codeUnitsSupported, new A.FontFallbackData_ensureFontsSupportText_closure())) {
        missingCodeUnits = A._setArrayType([], type$.JSArray_int);
        for (i = 0; i < t1; ++i)
          if (!codeUnitsSupported[i])
            missingCodeUnits.push(codeUnits[i]);
        _this._codeUnitsToCheckAgainstFallbackFonts.addAll$1(0, missingCodeUnits);
        if (!_this._scheduledCodeUnitCheck) {
          _this._scheduledCodeUnitCheck = true;
          $.$get$EnginePlatformDispatcher__instance().get$rasterizer()._postFrameCallbacks.push(_this.get$_ensureFallbackFonts());
        }
      }
    },
    _ensureFallbackFonts$0() {
      var t1, codeUnits, codeUnitsSupported, testString, t2, t3, t4, _i, font, fontsForFamily, t5, t6, t7, i, t8, t9, keepGoing, _i0, _this = this;
      _this._scheduledCodeUnitCheck = false;
      t1 = _this._codeUnitsToCheckAgainstFallbackFonts;
      codeUnits = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
      t1.clear$0(0);
      t1 = codeUnits.length;
      codeUnitsSupported = A.List_List$filled(t1, false, false, type$.bool);
      testString = A.String_String$fromCharCodes(codeUnits, 0, null);
      for (t2 = _this.globalFontFallbacks, t3 = t2.length, t4 = _this.knownCoveredCodeUnits, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        font = t2[_i];
        fontsForFamily = $._skiaFontCollection.familyToFontMap.$index(0, font);
        if (fontsForFamily == null) {
          $.$get$printWarning().call$1("A fallback font was registered but we cannot retrieve the typeface for it.");
          continue;
        }
        for (t5 = J.get$iterator$ax(fontsForFamily); t5.moveNext$0();) {
          t6 = t5.get$current(t5).getGlyphIDs(testString);
          for (t7 = t6.length, i = 0; i < t7; ++i) {
            t8 = t6[i] === 0;
            if (!t8)
              t4.add$1(0, codeUnits[i]);
            t9 = codeUnitsSupported[i];
            if (t8) {
              t8 = codeUnits[i];
              if (!(t8 < 32))
                t8 = t8 > 127 && t8 < 160;
              else
                t8 = true;
            } else
              t8 = true;
            codeUnitsSupported[i] = B.JSBool_methods.$or(t9, t8);
          }
        }
        _i0 = 0;
        while (true) {
          if (!(_i0 < t1)) {
            keepGoing = false;
            break;
          }
          if (!codeUnitsSupported[_i0]) {
            keepGoing = true;
            break;
          }
          ++_i0;
        }
        if (!keepGoing)
          return;
      }
      for (i = codeUnits.length - 1; i >= 0; --i)
        if (codeUnitsSupported[i])
          B.JSArray_methods.removeAt$1(codeUnits, i);
      A.findFontsForMissingCodeunits(codeUnits);
    },
    registerFallbackFont$2(family, bytes) {
      var t2, t3, t4, countedFamily, _this = this,
        t1 = $.__canvasKit._readField$0().Typeface.MakeFreeTypeFaceFromData(bytes.buffer);
      if (t1 == null) {
        $.$get$printWarning().call$1("Failed to parse fallback font " + family + " as a font.");
        return;
      }
      t2 = _this.fontFallbackCounts;
      t2.putIfAbsent$2(0, family, new A.FontFallbackData_registerFallbackFont_closure());
      t3 = t2.$index(0, family);
      t3.toString;
      t4 = t2.$index(0, family);
      t4.toString;
      t2.$indexSet(0, family, t4 + 1);
      countedFamily = family + " " + A.S(t3);
      _this.registeredFallbackFonts.push(A.RegisteredFont$(bytes, countedFamily, t1));
      if (family === "Noto Color Emoji Compat") {
        t1 = _this.globalFontFallbacks;
        if (B.JSArray_methods.get$first(t1) === "Roboto")
          B.JSArray_methods.insert$2(t1, 1, countedFamily);
        else
          B.JSArray_methods.insert$2(t1, 0, countedFamily);
      } else
        _this.globalFontFallbacks.push(countedFamily);
    }
  };
  A.FontFallbackData_createNotoFontTree_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_CodeunitRange);
    },
    $signature: 203
  };
  A.FontFallbackData_ensureFontsSupportText_closure.prototype = {
    call$1(x) {
      return !x;
    },
    $signature: 156
  };
  A.FontFallbackData_registerFallbackFont_closure.prototype = {
    call$0() {
      return 0;
    },
    $signature: 60
  };
  A._makeResolvedNotoFontFromCss_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_CodeunitRange);
    },
    $signature: 203
  };
  A._registerSymbolsAndEmoji_extractUrlFromCss.prototype = {
    call$1(css) {
      var t1, t2, urlStart;
      for (t1 = A.LineSplitter_split(css), t1 = new A._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (B.JSString_methods.startsWith$1(t2, "  src:")) {
          urlStart = B.JSString_methods.indexOf$1(t2, "url(");
          if (urlStart === -1) {
            $.$get$printWarning().call$1("Unable to resolve Noto font URL: " + t2);
            return null;
          }
          return B.JSString_methods.substring$2(t2, urlStart + 4, B.JSString_methods.indexOf$1(t2, ")"));
        }
      }
      $.$get$printWarning().call$1("Unable to determine URL for Noto font");
      return null;
    },
    $signature: 210
  };
  A.findMinimumFontsForCodeUnits_closure.prototype = {
    call$1(font) {
      return B.JSArray_methods.contains$1($.$get$_cjkFonts(), font);
    },
    $signature: 1039
  };
  A.findMinimumFontsForCodeUnits_closure0.prototype = {
    call$1(codeUnit) {
      return this._box_0.bestFont.resolvedFont.tree.root.containsDeep$1(codeUnit);
    },
    $signature: 41
  };
  A.NotoFont.prototype = {
    ensureResolved$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, $async$temp1;
      var $async$ensureResolved$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 = $async$self.resolvedFont == null ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $async$self._decodingCompleter;
              $async$goto = t1 == null ? 4 : 6;
              break;
            case 4:
              // then
              $async$self._decodingCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              t1 = $.$get$notoDownloadQueue().downloader;
              t2 = $async$self.name;
              $async$temp1 = A;
              $async$goto = 7;
              return A._asyncAwait(t1.downloadAsString$1("https://fonts.googleapis.com/css2?family=" + A.stringReplaceAllUnchecked(t2, " ", "+")), $async$ensureResolved$0);
            case 7:
              // returning from await.
              $async$self.resolvedFont = $async$temp1._makeResolvedNotoFontFromCss($async$result, t2);
              $async$self._decodingCompleter.complete$0(0);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$goto = 8;
              return A._asyncAwait(t1.future, $async$ensureResolved$0);
            case 8:
              // returning from await.
            case 5:
              // join
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$ensureResolved$0, $async$completer);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.CodeunitRange.prototype = {
    contains$1(_, codeUnit) {
      return B.JSInt_methods.$le(this.start, codeUnit) && codeUnit.$le(0, this.end);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (!(other instanceof A.CodeunitRange))
        return false;
      return other.start === this.start && other.end === this.end;
    },
    get$hashCode(_) {
      return A.Object_hash(this.start, this.end, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "[" + this.start + ", " + this.end + "]";
    }
  };
  A._ResolvedNotoFont.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A._ResolvedNotoSubset.prototype = {
    toString$0(_) {
      return "_ResolvedNotoSubset(" + this.family + ", " + this.url + ")";
    }
  };
  A.FallbackFontDownloadQueue.prototype = {
    add$1(_, subset) {
      var t1, t2, _this = this;
      if (_this.downloadedSubsets.contains$1(0, subset) || _this.pendingSubsets.containsKey$1(0, subset.url))
        return;
      t1 = _this.pendingSubsets;
      t2 = t1._length;
      t1.$indexSet(0, subset.url, subset);
      if (t2 === 0)
        A.Timer_Timer(B.Duration_0, _this.get$startDownloads());
    },
    startDownloads$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t2, t3, t4, t5, downloadOrder, _i, url, t1, downloads, downloadedData;
      var $async$startDownloads$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
              t1 = type$.String;
              downloads = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_void);
              downloadedData = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Uint8List);
              for (t1 = $async$self.pendingSubsets, 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>")), t4 = type$.void, t3 = t3._rest[1]; t2.moveNext$0();) {
                t5 = t2.__internal$_current;
                if (t5 == null)
                  t5 = t3._as(t5);
                downloads.$indexSet(0, t5.url, A.Future_Future(new A.FallbackFontDownloadQueue_startDownloads_closure($async$self, t5, downloadedData), t4));
              }
              $async$goto = 2;
              return A._asyncAwait(A.Future_wait(downloads.get$values(downloads), t4), $async$startDownloads$0);
            case 2:
              // returning from await.
              t2 = downloadedData.$ti._eval$1("LinkedHashMapKeyIterable<1>");
              t2 = A.List_List$of(new A.LinkedHashMapKeyIterable(downloadedData, t2), true, t2._eval$1("Iterable.E"));
              B.JSArray_methods.sort$0(t2);
              t3 = A._arrayInstanceType(t2)._eval$1("ReversedListIterable<1>");
              downloadOrder = A.List_List$of(new A.ReversedListIterable(t2, t3), true, t3._eval$1("ListIterable.E"));
              t2 = downloadOrder.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              url = downloadOrder[_i];
              t3 = t1.remove$1(0, url);
              t3.toString;
              t4 = downloadedData.$index(0, url);
              t4.toString;
              $.$get$FontFallbackData__instance().registerFallbackFont$2(t3.family, t4);
              $async$goto = t1._length === 0 ? 6 : 7;
              break;
            case 6:
              // then
              t3 = $._skiaFontCollection.ensureFontsLoaded$0();
              $async$self._fontsLoading = t3;
              $async$handler = 8;
              $async$goto = 11;
              return A._asyncAwait(t3, $async$startDownloads$0);
            case 11:
              // returning from await.
              $async$next.push(10);
              // goto finally
              $async$goto = 9;
              break;
            case 8:
              // uncaught
              $async$next = [1];
            case 9:
              // finally
              $async$handler = 1;
              $async$self._fontsLoading = null;
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 10:
              // after finally
              A.sendFontChangeMessage();
            case 7:
              // join
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$goto = t1._length !== 0 ? 12 : 13;
              break;
            case 12:
              // then
              $async$goto = 14;
              return A._asyncAwait($async$self.startDownloads$0(), $async$startDownloads$0);
            case 14:
              // returning from await.
            case 13:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$startDownloads$0, $async$completer);
    }
  };
  A.FallbackFontDownloadQueue_startDownloads_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, t1, exception, t2, buffer, $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
              buffer = null;
              $async$handler = 4;
              t1 = $async$self.subset;
              $async$goto = 7;
              return A._asyncAwait($async$self.$this.downloader.downloadAsBytes$2$debugDescription(t1.url, t1.family), $async$call$0);
            case 7:
              // returning from await.
              buffer = $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);
              t1 = $async$self.subset;
              t2 = t1.url;
              $async$self.$this.pendingSubsets.remove$1(0, t2);
              $.$get$printWarning().call$1("Failed to load font " + t1.family + " at " + t2);
              $.$get$printWarning().call$1(J.toString$0$(e));
              // 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.subset;
              $async$self.$this.downloadedSubsets.add$1(0, t1);
              $async$self.downloadedData.$indexSet(0, t1.url, A.NativeUint8List_NativeUint8List$view(buffer, 0, null));
            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$0, $async$completer);
    },
    $signature: 2
  };
  A.NotoDownloader.prototype = {
    downloadAsBytes$2$debugDescription(url, debugDescription) {
      var result = A.httpFetch(url).then$1$1(new A.NotoDownloader_downloadAsBytes_closure(), type$.ByteBuffer);
      return result;
    },
    downloadAsString$1(url) {
      var result = A.httpFetch(url).then$1$1(new A.NotoDownloader_downloadAsString_closure(), type$.String);
      return result;
    }
  };
  A.NotoDownloader_downloadAsBytes_closure.prototype = {
    call$1(fetchResult) {
      return A.promiseToFuture(fetchResult.arrayBuffer(), type$.dynamic).then$1$1(new A.NotoDownloader_downloadAsBytes__closure(), type$.ByteBuffer);
    },
    $signature: 236
  };
  A.NotoDownloader_downloadAsBytes__closure.prototype = {
    call$1(x) {
      return type$.ByteBuffer._as(x);
    },
    $signature: 317
  };
  A.NotoDownloader_downloadAsString_closure.prototype = {
    call$1(response) {
      var t1 = type$.String;
      return A.promiseToFuture(response.text(), t1).then$1$1(new A.NotoDownloader_downloadAsString__closure(), t1);
    },
    $signature: 597
  };
  A.NotoDownloader_downloadAsString__closure.prototype = {
    call$1(x) {
      return A._asString(x);
    },
    $signature: 70
  };
  A.SkiaFontCollection.prototype = {
    ensureFontsLoaded$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, t4, _i, font, t5;
      var $async$ensureFontsLoaded$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._loadFonts$0(), $async$ensureFontsLoaded$0);
            case 2:
              // returning from await.
              t1 = $async$self.fontProvider;
              if (t1 != null) {
                t1.delete();
                $async$self.fontProvider = null;
              }
              $async$self.fontProvider = $.__canvasKit._readField$0().TypefaceFontProvider.Make();
              t1 = $async$self.familyToFontMap;
              t1.clear$0(0);
              for (t2 = $async$self._downloadedFonts, t3 = t2.length, t4 = type$.JavaScriptObject, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
                font = t2[_i];
                t5 = font.family;
                $async$self.fontProvider.registerFont(font.bytes, t5);
                J.add$1$ax(t1.putIfAbsent$2(0, t5, new A.SkiaFontCollection_ensureFontsLoaded_closure()), t4._as(new self.window.flutterCanvasKit.Font(font.typeface)));
              }
              for (t2 = $.$get$FontFallbackData__instance().registeredFallbackFonts, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
                font = t2[_i];
                t5 = font.family;
                $async$self.fontProvider.registerFont(font.bytes, t5);
                J.add$1$ax(t1.putIfAbsent$2(0, t5, new A.SkiaFontCollection_ensureFontsLoaded_closure0()), t4._as(new self.window.flutterCanvasKit.Font(font.typeface)));
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$ensureFontsLoaded$0, $async$completer);
    },
    _loadFonts$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t3, t4, t1, $async$temp1;
      var $async$_loadFonts$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._pendingFonts;
              if (t1.length === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = J;
              $async$goto = 3;
              return A._asyncAwait(A.Future_wait(t1, type$.nullable_RegisteredFont), $async$_loadFonts$0);
            case 3:
              // returning from await.
              t2 = $async$temp1.get$iterator$ax($async$result), t3 = $async$self._downloadedFonts;
            case 4:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 5;
                break;
              }
              t4 = t2.get$current(t2);
              if (t4 != null)
                t3.push(t4);
              // goto for condition
              $async$goto = 4;
              break;
            case 5:
              // after for
              B.JSArray_methods.clear$0(t1);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_loadFonts$0, $async$completer);
    },
    registerFonts$1(assetManager) {
      return this.registerFonts$body$SkiaFontCollection(assetManager);
    },
    registerFonts$body$SkiaFontCollection(assetManager) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, exception, t1, fontManifest, t2, t3, t4, t5, t6, family, byteData, $async$exception;
      var $async$registerFonts$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
              byteData = null;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(assetManager.load$1(0, "FontManifest.json"), $async$registerFonts$1);
            case 7:
              // returning from await.
              byteData = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.AssetManagerException) {
                e = t1;
                if (e.httpStatus === 404) {
                  $.$get$printWarning().call$1("Font manifest does not exist at `" + e.url + "` \u2013 ignoring.");
                  // goto return
                  $async$goto = 1;
                  break;
                } else
                  throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              fontManifest = type$.nullable_List_dynamic._as(B.C_JsonCodec.decode$1(0, B.Utf8Codec_false.decode$1(0, A.NativeUint8List_NativeUint8List$view(byteData.buffer, 0, null))));
              if (fontManifest == null)
                throw A.wrapException(A.AssertionError$(string$.There_));
              for (t1 = type$.Map_String_dynamic, t2 = J.cast$1$0$ax(fontManifest, t1), t3 = A._instanceType(t2), t2 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListMixin.E>")), t4 = type$.List_dynamic, t3 = t3._eval$1("ListMixin.E"); t2.moveNext$0();) {
                t5 = t2.__internal$_current;
                if (t5 == null)
                  t5 = t3._as(t5);
                t6 = J.getInterceptor$asx(t5);
                family = A._asString(t6.$index(t5, "family"));
                for (t5 = J.get$iterator$ax(t4._as(t6.$index(t5, "fonts"))); t5.moveNext$0();)
                  $async$self._registerFont$2(assetManager.getAssetUrl$1(A._asString(J.$index$asx(t1._as(t5.get$current(t5)), "asset"))), family);
              }
              if (!$async$self._registeredFontFamilies.contains$1(0, "Roboto"))
                $async$self._registerFont$2("https://fonts.gstatic.com/s/roboto/v20/KFOmCnqEu92Fr1Me5WZLCzYlKw.ttf", "Roboto");
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$registerFonts$1, $async$completer);
    },
    _registerFont$2(url, family) {
      this._registeredFontFamilies.add$1(0, family);
      this._pendingFonts.push(new A.SkiaFontCollection__registerFont__downloadFont(this, url, family).call$0());
    },
    _getArrayBuffer$1(fetchResult) {
      return A.promiseToFuture(fetchResult.arrayBuffer(), type$.dynamic).then$1$1(new A.SkiaFontCollection__getArrayBuffer_closure(), type$.ByteBuffer);
    }
  };
  A.SkiaFontCollection_ensureFontsLoaded_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_JavaScriptObject);
    },
    $signature: 280
  };
  A.SkiaFontCollection_ensureFontsLoaded_closure0.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_JavaScriptObject);
    },
    $signature: 280
  };
  A.SkiaFontCollection__registerFont__downloadFont.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RegisteredFont),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, exception, bytes, t1, t2, buffer, $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
              buffer = null;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(A.httpFetch($async$self.url).then$1$1($async$self.$this.get$_getArrayBuffer(), type$.ByteBuffer), $async$call$0);
            case 7:
              // returning from await.
              buffer = $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);
              $.$get$printWarning().call$1("Failed to load font " + $async$self.family + " at " + $async$self.url);
              $.$get$printWarning().call$1(J.toString$0$(e));
              $async$returnValue = null;
              // 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
              bytes = A.NativeUint8List_NativeUint8List$view(buffer, 0, null);
              t1 = $.__canvasKit._readField$0().Typeface.MakeFreeTypeFaceFromData(bytes.buffer);
              t2 = $async$self.family;
              if (t1 != null) {
                $async$returnValue = A.RegisteredFont$(bytes, t2, t1);
                // goto return
                $async$goto = 1;
                break;
              } else {
                t1 = $async$self.url;
                $.$get$printWarning().call$1("Failed to load font " + t2 + " at " + t1);
                $.$get$printWarning().call$1("Verify that " + t1 + " contains a valid font.");
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
            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$0, $async$completer);
    },
    $signature: 874
  };
  A.SkiaFontCollection__getArrayBuffer_closure.prototype = {
    call$1(x) {
      return type$.ByteBuffer._as(x);
    },
    $signature: 317
  };
  A.RegisteredFont.prototype = {};
  A.ImageCodecException.prototype = {
    toString$0(_) {
      return "ImageCodecException: " + this.__engine$_message;
    },
    $isException: 1
  };
  A.httpRequestFactory_closure.prototype = {
    call$0() {
      var t1 = A.domCallConstructorString("XMLHttpRequest", []);
      t1.toString;
      return type$.JavaScriptObject._as(t1);
    },
    $signature: 124
  };
  A.fetchImage_closure.prototype = {
    call$1($event) {
      var t2,
        t1 = $event.loaded;
      t1.toString;
      t2 = $event.total;
      t2.toString;
      this.chunkCallback.call$2(t1, t2);
    },
    $signature: 28
  };
  A.fetchImage_closure0.prototype = {
    call$1($event) {
      this.completer.completeError$1(new A.ImageCodecException(string$.Failedn + this.url + "\nTrying to load an image from another domain? Find answers at:\nhttps://flutter.dev/docs/development/platform-integration/web-images"));
    },
    $signature: 28
  };
  A.fetchImage_closure1.prototype = {
    call$1($event) {
      var accepted, unknownRedirect, _this = this,
        t1 = _this.request,
        t2 = t1.status;
      t2.toString;
      accepted = t2 >= 200 && t2 < 300;
      unknownRedirect = t2 > 307 && t2 < 400;
      if (!(accepted || t2 === 0 || t2 === 304 || unknownRedirect)) {
        _this.completer.completeError$1(new A.ImageCodecException(string$.Failedn + _this.url + "\nServer response code: " + t2));
        return;
      }
      _this.completer.complete$1(0, A.NativeUint8List_NativeUint8List$view(type$.ByteBuffer._as(t1.response), 0, null));
    },
    $signature: 28
  };
  A.CkImage.prototype = {
    CkImage$2$videoFrame(skImage, videoFrame) {
      var t1, t2, t3, originalBytes, _this = this;
      if ($.$get$browserSupportsFinalizationRegistry()) {
        t1 = new A.SkiaObjectBox(A.LinkedHashSet_LinkedHashSet$_empty(type$.CkImage), null, type$.SkiaObjectBox_CkImage_JavaScriptObject);
        t1.__engine$_initialize$2(_this, skImage);
        t2 = $.$get$Collector__instance();
        t3 = t1._skDeletable;
        t3.toString;
        t2.register$2(0, t1, t3);
        if (_this.__CkImage_box !== $)
          A.throwUnnamedLateFieldAI();
        _this.__CkImage_box = t1;
      } else {
        t1 = $.__canvasKit._readField$0().AlphaType.Premul;
        t2 = $.__canvasKit._readField$0().ColorType.RGBA_8888;
        originalBytes = A.CkImage__encodeImage(t1, self.window.flutterCanvasKit.ColorSpace.SRGB, t2, B.ImageByteFormat_0, skImage);
        if (originalBytes == null) {
          $.$get$printWarning().call$1("Unable to encode image to bytes. We will not be able to resurrect it once it has been garbage collected.");
          return;
        }
        t1 = new A.SkiaObjectBox(A.LinkedHashSet_LinkedHashSet$_empty(type$.CkImage), new A.CkImage_closure(skImage.width(), skImage.height(), originalBytes), type$.SkiaObjectBox_CkImage_JavaScriptObject);
        t1.__engine$_initialize$2(_this, skImage);
        A.SkiaObjects_registerCleanupCallback();
        $.$get$SkiaObjects_expensiveCache().add$1(0, t1);
        if (_this.__CkImage_box !== $)
          A.throwUnnamedLateFieldAI();
        _this.__CkImage_box = t1;
      }
    },
    dispose$0() {
      var t1, t2;
      this._disposed = true;
      t1 = this.__CkImage_box;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (--t1.__engine$_refCount === 0) {
        t2 = t1._skDeletable;
        if (t2 != null)
          if ($.$get$browserSupportsFinalizationRegistry())
            $.$get$Collector__instance().collect$1(t2);
          else {
            t1.delete$0(0);
            t1.didDelete$0();
          }
        t1._resurrector = t1._skDeletable = t1.rawSkiaObject = null;
        t1._isDeletedPermanently = true;
      }
    },
    clone$0(_) {
      var t1 = this.__CkImage_box;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      ++t1.__engine$_refCount;
      return new A.CkImage(t1, null);
    },
    isCloneOf$1(other) {
      var t1, t2;
      if (other instanceof A.CkImage) {
        t1 = other.__CkImage_box;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.get$skiaObject();
        t2 = this.__CkImage_box;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.isAliasOf(t2.get$skiaObject());
        t1 = t2;
      } else
        t1 = false;
      return t1;
    },
    get$width(_) {
      var t1 = this.__CkImage_box;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.get$skiaObject().width();
    },
    get$height(_) {
      var t1 = this.__CkImage_box;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.get$skiaObject().height();
    },
    toString$0(_) {
      var t2,
        t1 = this.__CkImage_box;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$skiaObject().width();
      t2 = this.__CkImage_box;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return "[" + A.S(t1) + "\xd7" + A.S(t2.get$skiaObject().height()) + "]";
    },
    $isImage1: 1
  };
  A.CkImage_closure.prototype = {
    call$0() {
      var t1 = $.__canvasKit._readField$0(),
        t2 = $.__canvasKit._readField$0().AlphaType.Premul,
        t3 = this.originalWidth;
      t3 = t1.MakeImage(type$.JavaScriptObject._as({width: t3, height: this.originalHeight, colorType: $.__canvasKit._readField$0().ColorType.RGBA_8888, alphaType: t2, colorSpace: self.window.flutterCanvasKit.ColorSpace.SRGB}), A.NativeUint8List_NativeUint8List$view(this.originalBytes.buffer, 0, null), 4 * t3);
      if (t3 == null)
        throw A.wrapException(A.ImageCodecException$("Failed to resurrect image from pixels."));
      return t3;
    },
    $signature: 124
  };
  A.AnimatedImageFrameInfo.prototype = {
    get$duration(_) {
      return this.__engine$_duration;
    },
    get$image(_) {
      return this.__engine$_image;
    },
    $isFrameInfo: 1
  };
  A.CkAnimatedImage.prototype = {
    createDefault$0() {
      var i, _this = this,
        t1 = $.__canvasKit._readField$0().MakeAnimatedImageFromEncoded(_this._bytes);
      if (t1 == null)
        throw A.wrapException(A.ImageCodecException$("Failed to decode image data.\nImage source: " + _this.src));
      _this._frameCount = t1.getFrameCount();
      _this._repetitionCount = t1.getRepetitionCount();
      for (i = 0; i < _this._currentFrameIndex; ++i)
        t1.decodeNextFrame();
      return t1;
    },
    resurrect$0() {
      return this.createDefault$0();
    },
    get$isResurrectionExpensive() {
      return true;
    },
    delete$0(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
    },
    get$frameCount() {
      return this._frameCount;
    },
    get$repetitionCount() {
      return this._repetitionCount;
    },
    getNextFrame$0() {
      var _this = this,
        animatedImage = _this.get$skiaObject(),
        t1 = A.Duration$(0, animatedImage.currentFrameDuration()),
        t2 = A.CkImage$(animatedImage.makeImageAtCurrentFrame(), null);
      animatedImage.decodeNextFrame();
      _this._currentFrameIndex = B.JSInt_methods.$mod(_this._currentFrameIndex + 1, _this._frameCount);
      return A.Future_Future$value(new A.AnimatedImageFrameInfo(t1, t2), type$.FrameInfo);
    },
    $isCodec: 1
  };
  A.CkBrowserImageDecoder.prototype = {
    get$frameCount() {
      var t1 = this.__CkBrowserImageDecoder_frameCount;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    get$repetitionCount() {
      var t1 = this.__CkBrowserImageDecoder_repetitionCount;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _getOrCreateWebDecoder$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.JavaScriptObject),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, webDecoder, error, t1, t2, exception, $async$exception;
      var $async$_getOrCreateWebDecoder$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._cachedWebDecoder != null) {
                $async$self._cacheExpirationClock.set$datetime(new A.DateTime(Date.now(), false).add$1(0, $._kWebDecoderExpireDuration));
                t1 = $async$self._cachedWebDecoder;
                t1.toString;
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._cacheExpirationClock;
              t1.callback = null;
              $async$handler = 4;
              t2 = type$.JavaScriptObject;
              webDecoder = t2._as(new self.window.ImageDecoder(t2._as({type: $async$self.contentType, data: $async$self.data, premultiplyAlpha: "premultiply", desiredWidth: $async$self.targetWidth, desiredHeight: $async$self.targetHeight, colorSpaceConversion: "default", preferAnimation: true})));
              t2 = type$.void;
              $async$goto = 7;
              return A._asyncAwait(A.promiseToFuture(webDecoder.tracks.ready, t2), $async$_getOrCreateWebDecoder$0);
            case 7:
              // returning from await.
              $async$goto = 8;
              return A._asyncAwait(A.promiseToFuture(webDecoder.completed, t2), $async$_getOrCreateWebDecoder$0);
            case 8:
              // returning from await.
              $async$self.__CkBrowserImageDecoder_frameCount = webDecoder.tracks.selectedTrack.frameCount;
              $async$self.__CkBrowserImageDecoder_repetitionCount = webDecoder.tracks.selectedTrack.repetitionCount;
              $async$self._cachedWebDecoder = webDecoder;
              t1.callback = new A.CkBrowserImageDecoder__getOrCreateWebDecoder_closure($async$self);
              t1.set$datetime(new A.DateTime(Date.now(), false).add$1(0, $._kWebDecoderExpireDuration));
              $async$returnValue = webDecoder;
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              error = A.unwrapException($async$exception);
              t1 = self.window.DOMException;
              t1.toString;
              if (error instanceof t1)
                if (type$.JavaScriptObject._as(error).name === "NotSupportedError")
                  throw A.wrapException(A.ImageCodecException$("Image file format (" + $async$self.contentType + ") is not supported by this browser's ImageDecoder API.\nImage source: " + $async$self.debugSource));
              throw A.wrapException(A.ImageCodecException$("Failed to decode image using the browser's ImageDecoder API.\nImage source: " + $async$self.debugSource + "\nOriginal browser error: " + A.S(error)));
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // 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$_getOrCreateWebDecoder$0, $async$completer);
    },
    getNextFrame$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.FrameInfo),
        $async$returnValue, $async$self = this, t5, t6, t7, duration, t1, t2, t3, t4, $async$temp1;
      var $async$getNextFrame$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 = type$.JavaScriptObject;
              $async$temp1 = A;
              $async$goto = 4;
              return A._asyncAwait($async$self._getOrCreateWebDecoder$0(), $async$getNextFrame$0);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$temp1.promiseToFuture($async$result.decode(t1._as({frameIndex: $async$self._nextFrameIndex})), t1), $async$getNextFrame$0);
            case 3:
              // returning from await.
              t2 = $async$result.image;
              t3 = $async$self._nextFrameIndex;
              t4 = $async$self.__CkBrowserImageDecoder_frameCount;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              $async$self._nextFrameIndex = B.JSInt_methods.$mod(t3 + 1, t4);
              t4 = $.__canvasKit._readField$0();
              t3 = $.__canvasKit._readField$0().AlphaType.Premul;
              t5 = $.__canvasKit._readField$0().ColorType.RGBA_8888;
              t6 = self.window.flutterCanvasKit.ColorSpace.SRGB;
              t7 = J.getInterceptor$x(t2);
              t6 = A.callMethod(t4, "MakeLazyImageFromTextureSource", [t2, t1._as({width: t7.get$displayWidth(t2), height: t7.get$displayHeight(t2), colorType: t5, alphaType: t3, colorSpace: t6})]);
              t7 = t7.get$duration(t2);
              duration = A.Duration$(t7 == null ? 0 : t7, 0);
              if (t6 == null)
                throw A.wrapException(A.ImageCodecException$("Failed to create image from pixel data decoded using the browser's ImageDecoder."));
              $async$returnValue = A.Future_Future$value(new A.AnimatedImageFrameInfo(duration, A.CkImage$(t6, t2)), type$.FrameInfo);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getNextFrame$0, $async$completer);
    },
    $isCodec: 1
  };
  A.CkBrowserImageDecoder__cacheExpirationClock_closure.prototype = {
    call$0() {
      return new A.DateTime(Date.now(), false);
    },
    $signature: 263
  };
  A.CkBrowserImageDecoder__getOrCreateWebDecoder_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._cachedWebDecoder;
      if (t2 != null)
        t2.close();
      t1._cachedWebDecoder = null;
      t1._cacheExpirationClock.callback = null;
    },
    $signature: 0
  };
  A.ImageFileFormat.prototype = {};
  A.downloadCanvasKit_closure.prototype = {
    call$2(file, unusedBase) {
      var t1 = $._configuration;
      t1 = (t1 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t1).get$canvasKitBaseUrl() + "profiling/";
      return t1 + file;
    },
    $signature: 1111
  };
  A.downloadCanvasKit_closure0.prototype = {
    call$1(ck) {
      this.canvasKitInitCompleter.complete$1(0, ck);
    },
    $signature: 28
  };
  A._downloadCanvasKitJs_loadEventHandler.prototype = {
    call$1(_) {
      this.canvasKitLoadCompleter.complete$0(0);
      A.DomEventTargetExtension_removeEventListener(this.canvasKitScript, "load", this.callback._readLocal$0(), null);
    },
    $signature: 28
  };
  A.IntervalTree.prototype = {};
  A.IntervalTree_IntervalTree$createFromRanges_closure.prototype = {
    call$2(key, rangeList) {
      var t1, t2, t3, t4, t5;
      for (t1 = J.get$iterator$ax(rangeList), t2 = this.intervals, t3 = this.T._eval$1("IntervalTreeNode<0>"); t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        t5 = t4.start;
        t4 = t4.end;
        t2.push(new A.IntervalTreeNode(key, t5, t4, t4, t3));
      }
    },
    $signature() {
      return this.T._eval$1("~(0,List<CodeunitRange>)");
    }
  };
  A.IntervalTree_IntervalTree$createFromRanges_closure0.prototype = {
    call$2(a, b) {
      return a.low - b.low;
    },
    $signature() {
      return this.T._eval$1("int(IntervalTreeNode<0>,IntervalTreeNode<0>)");
    }
  };
  A.IntervalTree_IntervalTree$createFromRanges__makeBalancedTree.prototype = {
    call$1(nodes) {
      var mid, root,
        t1 = nodes.length;
      if (t1 === 0)
        return null;
      if (t1 === 1)
        return B.JSArray_methods.get$single(nodes);
      mid = t1 / 2 | 0;
      root = nodes[mid];
      root.left = this.call$1(B.JSArray_methods.sublist$2(nodes, 0, mid));
      root.right = this.call$1(B.JSArray_methods.sublist$1(nodes, mid + 1));
      return root;
    },
    $signature() {
      return this.T._eval$1("IntervalTreeNode<0>?(List<IntervalTreeNode<0>>)");
    }
  };
  A.IntervalTree_IntervalTree$createFromRanges__computeHigh.prototype = {
    call$1(root) {
      var t3, _this = this,
        t1 = root.left,
        t2 = t1 == null;
      if (t2 && root.right == null)
        root.computedHigh = root.high;
      else if (t2) {
        t1 = root.right;
        t1.toString;
        _this.call$1(t1);
        root.computedHigh = Math.max(root.high, root.right.computedHigh);
      } else {
        t2 = root.right;
        t3 = root.high;
        if (t2 == null) {
          _this.call$1(t1);
          root.computedHigh = Math.max(t3, root.left.computedHigh);
        } else {
          _this.call$1(t2);
          t1 = root.left;
          t1.toString;
          _this.call$1(t1);
          root.computedHigh = Math.max(t3, Math.max(root.left.computedHigh, root.right.computedHigh));
        }
      }
    },
    $signature() {
      return this.T._eval$1("~(IntervalTreeNode<0>)");
    }
  };
  A.IntervalTreeNode.prototype = {
    containsShallow$1(x) {
      return this.low <= x && x <= this.high;
    },
    containsDeep$1(x) {
      var t1, _this = this;
      if (x > _this.computedHigh)
        return false;
      if (_this.containsShallow$1(x))
        return true;
      t1 = _this.left;
      if ((t1 == null ? null : t1.containsDeep$1(x)) === true)
        return true;
      if (x < _this.low)
        return false;
      t1 = _this.right;
      return (t1 == null ? null : t1.containsDeep$1(x)) === true;
    },
    searchForPoint$2(x, result) {
      var t1, _this = this;
      if (x > _this.computedHigh)
        return;
      t1 = _this.left;
      if (t1 != null)
        t1.searchForPoint$2(x, result);
      if (_this.containsShallow$1(x))
        result.push(_this.value);
      if (x < _this.low)
        return;
      t1 = _this.right;
      if (t1 != null)
        t1.searchForPoint$2(x, result);
    }
  };
  A.Layer.prototype = {
    dispose$0() {
    }
  };
  A.PrerollContext.prototype = {};
  A.PaintContext.prototype = {};
  A.ContainerLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      this.paintBounds = this.prerollChildren$2(prerollContext, matrix);
    },
    prerollChildren$2(context, childMatrix) {
      var t1, t2, childPaintBounds, _i, layer, t3;
      for (t1 = this._layers, t2 = t1.length, childPaintBounds = B.Rect_0_0_0_0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        layer = t1[_i];
        layer.preroll$2(context, childMatrix);
        if (childPaintBounds.left >= childPaintBounds.right || childPaintBounds.top >= childPaintBounds.bottom)
          childPaintBounds = layer.paintBounds;
        else {
          t3 = layer.paintBounds;
          if (!(t3.left >= t3.right || t3.top >= t3.bottom))
            childPaintBounds = childPaintBounds.expandToInclude$1(t3);
        }
      }
      return childPaintBounds;
    },
    paintChildren$1(context) {
      var t1, t2, _i, layer, t3;
      for (t1 = this._layers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        layer = t1[_i];
        t3 = layer.paintBounds;
        if (!(t3.left >= t3.right || t3.top >= t3.bottom))
          layer.paint$1(context);
      }
    }
  };
  A.RootLayer.prototype = {
    paint$1(paintContext) {
      this.paintChildren$1(paintContext);
    }
  };
  A.ClipPathEngineLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      var childPaintBounds, clipBounds, _null = null,
        t1 = this.__engine$_clipPath,
        t2 = prerollContext.mutatorsStack._mutators;
      t2.push(new A.Mutator(B.MutatorType_2, _null, _null, t1, _null, _null));
      childPaintBounds = this.prerollChildren$2(prerollContext, matrix);
      clipBounds = A.fromSkRect(t1.get$skiaObject().getBounds());
      if (childPaintBounds.overlaps$1(clipBounds))
        this.paintBounds = childPaintBounds.intersect$1(clipBounds);
      t2.pop();
    },
    paint$1(paintContext) {
      var t2, _this = this,
        t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = _this.__engine$_clipBehavior;
      t1.clipPath$2(0, _this.__engine$_clipPath, t2 !== B.Clip_1);
      t2 = t2 === B.Clip_3;
      if (t2)
        t1.saveLayer$2(_this.paintBounds, null);
      _this.paintChildren$1(paintContext);
      if (t2)
        t1.restore$0(0);
      t1.restore$0(0);
    },
    $isClipPathEngineLayer0: 1
  };
  A.ClipRectEngineLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      var childPaintBounds, _null = null,
        t1 = this.__engine$_clipRect,
        t2 = prerollContext.mutatorsStack._mutators;
      t2.push(new A.Mutator(B.MutatorType_0, t1, _null, _null, _null, _null));
      childPaintBounds = this.prerollChildren$2(prerollContext, matrix);
      if (childPaintBounds.overlaps$1(t1))
        this.paintBounds = childPaintBounds.intersect$1(t1);
      t2.pop();
    },
    paint$1(paintContext) {
      var t2, t3,
        t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = this.__engine$_clipRect;
      t3 = this.__engine$_clipBehavior;
      t1.clipRect$3(t2, B.ClipOp_1, t3 !== B.Clip_1);
      t3 = t3 === B.Clip_3;
      if (t3)
        t1.saveLayer$2(t2, null);
      this.paintChildren$1(paintContext);
      if (t3)
        t1.restore$0(0);
      t1.restore$0(0);
    },
    $isClipRectEngineLayer0: 1
  };
  A.ClipRRectEngineLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      var childPaintBounds, t3, t4, t5, _null = null,
        t1 = this.__engine$_clipRRect,
        t2 = prerollContext.mutatorsStack._mutators;
      t2.push(new A.Mutator(B.MutatorType_1, _null, t1, _null, _null, _null));
      childPaintBounds = this.prerollChildren$2(prerollContext, matrix);
      t3 = t1.left;
      t4 = t1.top;
      t5 = t1.right;
      t1 = t1.bottom;
      if (childPaintBounds.overlaps$1(new A.Rect(t3, t4, t5, t1)))
        this.paintBounds = childPaintBounds.intersect$1(new A.Rect(t3, t4, t5, t1));
      t2.pop();
    },
    paint$1(paintContext) {
      var t2, _this = this,
        t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = _this.__engine$_clipBehavior;
      t1.clipRRect$2(_this.__engine$_clipRRect, t2 !== B.Clip_1);
      t2 = t2 === B.Clip_3;
      if (t2)
        t1.saveLayer$2(_this.paintBounds, null);
      _this.paintChildren$1(paintContext);
      if (t2)
        t1.restore$0(0);
      t1.restore$0(0);
    },
    $isClipRRectEngineLayer0: 1
  };
  A.OpacityEngineLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      var t1, t2, t3, t4, _this = this, _null = null,
        childMatrix = new A.Matrix40(new Float32Array(16));
      childMatrix.setFrom$1(matrix);
      t1 = _this.__engine$_offset;
      t2 = t1._dx;
      t1 = t1._dy;
      childMatrix.translate$2(0, t2, t1);
      t3 = A.Matrix4$identity();
      t3.setTranslationRaw$3(t2, t1, 0);
      t4 = prerollContext.mutatorsStack._mutators;
      t4.push(A.Mutator$transform(t3));
      t4.push(new A.Mutator(B.MutatorType_4, _null, _null, _null, _null, _this.__engine$_alpha));
      _this.super$ContainerLayer$preroll(prerollContext, childMatrix);
      t4.pop();
      t4.pop();
      _this.paintBounds = _this.paintBounds.translate$2(0, t2, t1);
    },
    paint$1(paintContext) {
      var t1, t2, t3, _this = this,
        paint = A.CkPaint$();
      paint.set$color(0, A.Color$fromARGB(_this.__engine$_alpha, 0, 0, 0));
      t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t2 = _this.__engine$_offset;
      t3 = t2._dx;
      t2 = t2._dy;
      t1.translate$2(0, t3, t2);
      t1.saveLayer$2(_this.paintBounds.shift$1(new A.Offset(-t3, -t2)), paint);
      _this.paintChildren$1(paintContext);
      t1.restore$0(0);
      t1.restore$0(0);
    },
    $isOpacityEngineLayer0: 1
  };
  A.TransformEngineLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      var t1 = this.__engine$_transform,
        childMatrix = matrix.multiplied$1(t1),
        t2 = prerollContext.mutatorsStack._mutators;
      t2.push(A.Mutator$transform(t1));
      this.paintBounds = A.transformRect(t1, this.prerollChildren$2(prerollContext, childMatrix));
      t2.pop();
    },
    paint$1(paintContext) {
      var t1 = paintContext.internalNodesCanvas;
      t1.save$0(0);
      t1.transform$1(0, this.__engine$_transform.__engine$_m4storage);
      this.paintChildren$1(paintContext);
      t1.restore$0(0);
    },
    $isTransformEngineLayer0: 1
  };
  A.OffsetEngineLayer.prototype = {$isOffsetEngineLayer0: 1};
  A.PictureLayer.prototype = {
    preroll$2(prerollContext, matrix) {
      this.paintBounds = this.picture.cullRect.shift$1(this.offset);
    },
    paint$1(paintContext) {
      var t2,
        t1 = paintContext.leafNodesCanvas;
      t1.save$0(0);
      t2 = this.offset;
      t1.translate$2(0, t2._dx, t2._dy);
      t1.drawPicture$1(this.picture);
      t1.restore$0(0);
    }
  };
  A.LayerScene.prototype = {
    dispose$0() {
    }
  };
  A.LayerSceneBuilder.prototype = {
    addPerformanceOverlay$2(enabledOptions, bounds) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    addPicture$4$isComplexHint$willChangeHint(offset, picture, isComplexHint, willChangeHint) {
      var t2,
        t1 = this.__LayerSceneBuilder_currentLayer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = new A.PictureLayer(type$.CkPicture._as(picture), offset, B.Rect_0_0_0_0);
      t2.parent = t1;
      t1._layers.push(t2);
    },
    addRetained$1(retainedLayer) {
      var t1 = this.__LayerSceneBuilder_currentLayer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      type$.Layer._as(retainedLayer);
      retainedLayer.parent = t1;
      t1._layers.push(retainedLayer);
    },
    build$0() {
      return new A.LayerScene(new A.LayerTree(this.rootLayer, $.$get$window().get$physicalSize()));
    },
    pop$0() {
      var t1 = this.__LayerSceneBuilder_currentLayer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 === this.rootLayer)
        return;
      t1 = t1.parent;
      t1.toString;
      this.__LayerSceneBuilder_currentLayer = t1;
    },
    pushClipPath$3$clipBehavior$oldLayer(path, clipBehavior, oldLayer) {
      return this.pushLayer$1(new A.ClipPathEngineLayer(type$.CkPath._as(path), clipBehavior, A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0));
    },
    pushClipRRect$3$clipBehavior$oldLayer(rrect, clipBehavior, oldLayer) {
      return this.pushLayer$1(new A.ClipRRectEngineLayer(rrect, clipBehavior, A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0));
    },
    pushClipRect$3$clipBehavior$oldLayer(rect, clipBehavior, oldLayer) {
      return this.pushLayer$1(new A.ClipRectEngineLayer(rect, clipBehavior, A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0));
    },
    pushOffset$3$oldLayer(dx, dy, oldLayer) {
      var t1 = A.Matrix4$identity();
      t1.setTranslationRaw$3(dx, dy, 0);
      return this.pushLayer$1(new A.OffsetEngineLayer(t1, A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0));
    },
    pushOpacity$3$offset$oldLayer(alpha, offset, oldLayer) {
      return this.pushLayer$1(new A.OpacityEngineLayer(alpha, offset, A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0));
    },
    pushTransform$2$oldLayer(matrix4, oldLayer) {
      return this.pushLayer$1(new A.TransformEngineLayer(new A.Matrix40(A.toMatrix32(matrix4)), A._setArrayType([], type$.JSArray_Layer), B.Rect_0_0_0_0));
    },
    setCheckerboardOffscreenLayers$1(checkerboard) {
    },
    setCheckerboardRasterCacheImages$1(checkerboard) {
    },
    setRasterizerTracingThreshold$1(frameInterval) {
    },
    pushLayer$1$1(layer) {
      var t1 = this.__LayerSceneBuilder_currentLayer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      layer.parent = t1;
      t1._layers.push(layer);
      return this.__LayerSceneBuilder_currentLayer = layer;
    },
    pushLayer$1(layer) {
      return this.pushLayer$1$1(layer, type$.ContainerLayer);
    }
  };
  A.LayerTree.prototype = {
    paint$2$ignoreRasterCache(frame, ignoreRasterCache) {
      var overlayCanvases, i, t3,
        t1 = A._setArrayType([], type$.JSArray_CkCanvas),
        internalNodesCanvas = new A.CkNWayCanvas(t1),
        t2 = frame.canvas;
      t1.push(t2);
      overlayCanvases = frame.viewEmbedder.getOverlayCanvases$0();
      for (i = 0; i < overlayCanvases.length; ++i)
        t1.push(overlayCanvases[i]);
      internalNodesCanvas.clear$1(0, B.Color_0);
      t1 = this.rootLayer;
      t3 = t1.paintBounds;
      if (!t3.get$isEmpty(t3))
        t1.paintChildren$1(new A.PaintContext(internalNodesCanvas, t2));
    }
  };
  A.Frame0.prototype = {
    raster$2$ignoreRasterCache(layerTree, ignoreRasterCache) {
      A.timeAction("preroll_frame", new A.Frame_raster_closure(this, layerTree, true));
      A.timeAction("apply_frame", new A.Frame_raster_closure0(this, layerTree, true));
      return true;
    }
  };
  A.Frame_raster_closure.prototype = {
    call$0() {
      var t1 = this.layerTree.rootLayer;
      t1.paintBounds = t1.prerollChildren$2(new A.PrerollContext(new A.MutatorsStack(A._setArrayType([], type$.JSArray_Mutator))), A.Matrix4$identity());
    },
    $signature: 0
  };
  A.Frame_raster_closure0.prototype = {
    call$0() {
      this.layerTree.paint$2$ignoreRasterCache(this.$this, this.ignoreRasterCache);
    },
    $signature: 0
  };
  A.CompositorContext.prototype = {};
  A.CkMaskFilter.prototype = {
    createDefault$0() {
      return this._initSkiaObject$0();
    },
    resurrect$0() {
      return this._initSkiaObject$0();
    },
    _initSkiaObject$0() {
      var t1 = $.__canvasKit._readField$0().MaskFilter.MakeBlur($.$get$_skBlurStyles()[this._blurStyle.index], this.__engine$_sigma, true);
      t1.toString;
      return t1;
    },
    delete$0(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
    }
  };
  A.CkNWayCanvas.prototype = {
    save$0(_) {
      var t1, saveCount, i;
      for (t1 = this._canvases, saveCount = 0, i = 0; i < t1.length; ++i)
        saveCount = t1[i].save$0(0);
      return saveCount;
    },
    saveLayer$2(bounds, paint) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].saveLayer$2(bounds, paint);
    },
    restore$0(_) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].restore$0(0);
    },
    translate$2(_, dx, dy) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].translate$2(0, dx, dy);
    },
    transform$1(_, matrix) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].transform$1(0, matrix);
    },
    clear$1(_, color) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clear$1(0, color);
    },
    clipPath$2(_, path, doAntiAlias) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clipPath$2(0, path, doAntiAlias);
    },
    clipRect$3(rect, clipOp, doAntiAlias) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clipRect$3(rect, clipOp, doAntiAlias);
    },
    clipRRect$2(rrect, doAntiAlias) {
      var t1, i;
      for (t1 = this._canvases, i = 0; i < t1.length; ++i)
        t1[i].clipRRect$2(rrect, doAntiAlias);
    }
  };
  A.CkPaint.prototype = {
    set$blendMode(value) {
      if (this._blendMode === value)
        return;
      this._blendMode = value;
      this.get$skiaObject().setBlendMode($.$get$_skBlendModes()[value.index]);
    },
    get$style(_) {
      return this._style;
    },
    set$style(_, value) {
      if (this._style === value)
        return;
      this._style = value;
      this.get$skiaObject().setStyle($.$get$_skPaintStyles()[value.index]);
    },
    get$strokeWidth() {
      return this._strokeWidth;
    },
    set$strokeWidth(value) {
      if (this._strokeWidth === value)
        return;
      this._strokeWidth = value;
      this.get$skiaObject().setStrokeWidth(value);
    },
    set$strokeCap(value) {
      if (this._strokeCap === value)
        return;
      this._strokeCap = value;
      this.get$skiaObject().setStrokeCap($.$get$_skStrokeCaps()[value.index]);
    },
    set$isAntiAlias(value) {
      if (!this._isAntiAlias)
        return;
      this._isAntiAlias = false;
      this.get$skiaObject().setAntiAlias(false);
    },
    get$color(_) {
      return this._color;
    },
    set$color(_, value) {
      if (this._color.$eq(0, value))
        return;
      this._color = value;
      this.get$skiaObject().setColorInt(value.get$value(value));
    },
    set$invertColors(value) {
      var t1, t2, _this = this;
      if (value === _this._invertColors)
        return;
      if (!value) {
        _this._effectiveColorFilter = _this._originalColorFilter;
        _this._originalColorFilter = null;
      } else {
        t1 = _this._originalColorFilter = _this._effectiveColorFilter;
        if (t1 == null)
          _this._effectiveColorFilter = $.$get$_invertColorFilter();
        else
          _this._effectiveColorFilter = A.ManagedSkColorFilter$(new A.CkComposeColorFilter($.$get$_invertColorFilter(), t1));
      }
      t1 = _this.get$skiaObject();
      t2 = _this._effectiveColorFilter;
      t2 = t2 == null ? null : t2.get$skiaObject();
      t1.setColorFilter(t2);
      _this._invertColors = value;
    },
    set$shader(value) {
      var t1, t2, _this = this;
      if (_this._shader == value)
        return;
      _this._shader = type$.nullable_CkShader._as(value);
      t1 = _this.get$skiaObject();
      t2 = _this._shader;
      t2 = t2 == null ? null : t2.get$skiaObject();
      t1.setShader(t2);
    },
    set$maskFilter(value) {
      var t1, t2, _this = this;
      if (value.$eq(0, _this._maskFilter))
        return;
      _this._maskFilter = value;
      t1 = value._sigma;
      if (!(isFinite(t1) && t1 > 0))
        _this._ckMaskFilter = null;
      else {
        t1 = new A.CkMaskFilter(value._ui$_style, t1);
        t1.ManagedSkiaObject$1(null, type$.SkMaskFilter);
        _this._ckMaskFilter = t1;
      }
      t1 = _this.get$skiaObject();
      t2 = _this._ckMaskFilter;
      t2 = t2 == null ? null : t2.get$skiaObject();
      t1.setMaskFilter(t2);
    },
    set$filterQuality(value) {
      var t1, t2, _this = this;
      if (_this._filterQuality === value)
        return;
      _this._filterQuality = value;
      t1 = _this.get$skiaObject();
      t2 = _this._shader;
      t2 = t2 == null ? null : t2.get$skiaObject();
      t1.setShader(t2);
    },
    set$colorFilter(value) {
      var t2, _this = this,
        t1 = _this._effectiveColorFilter;
      if (J.$eq$(t1 == null ? null : t1.colorFilter, value))
        return;
      _this._originalColorFilter = null;
      t1 = _this._effectiveColorFilter = A.ManagedSkColorFilter$(value);
      if (_this._invertColors) {
        _this._originalColorFilter = t1;
        _this._effectiveColorFilter = A.ManagedSkColorFilter$(new A.CkComposeColorFilter($.$get$_invertColorFilter(), t1));
      }
      t1 = _this.get$skiaObject();
      t2 = _this._effectiveColorFilter;
      t2 = t2 == null ? null : t2.get$skiaObject();
      t1.setColorFilter(t2);
    },
    createDefault$0() {
      var t1,
        paint = type$.JavaScriptObject._as(new self.window.flutterCanvasKit.Paint());
      paint.setAntiAlias(this._isAntiAlias);
      t1 = this._color;
      paint.setColorInt(t1.get$value(t1));
      return paint;
    },
    resurrect$0() {
      var _this = this, _null = null,
        paint = type$.JavaScriptObject._as(new self.window.flutterCanvasKit.Paint()),
        t1 = _this._blendMode;
      paint.setBlendMode($.$get$_skBlendModes()[t1.index]);
      t1 = _this._style;
      paint.setStyle($.$get$_skPaintStyles()[t1.index]);
      paint.setStrokeWidth(_this._strokeWidth);
      paint.setAntiAlias(_this._isAntiAlias);
      t1 = _this._color;
      paint.setColorInt(t1.get$value(t1));
      t1 = _this._shader;
      t1 = t1 == null ? _null : t1.get$skiaObject();
      paint.setShader(t1);
      t1 = _this._ckMaskFilter;
      t1 = t1 == null ? _null : t1.get$skiaObject();
      paint.setMaskFilter(t1);
      t1 = _this._effectiveColorFilter;
      t1 = t1 == null ? _null : t1.get$skiaObject();
      paint.setColorFilter(t1);
      t1 = _this._managedImageFilter;
      t1 = t1 == null ? _null : t1.get$skiaObject();
      paint.setImageFilter(t1);
      t1 = _this._strokeCap;
      paint.setStrokeCap($.$get$_skStrokeCaps()[t1.index]);
      paint.setStrokeJoin($.$get$_skStrokeJoins()[0]);
      paint.setStrokeMiter(0);
      return paint;
    },
    delete$0(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
    },
    $isPaint: 1
  };
  A.CkPath.prototype = {
    set$fillType(newFillType) {
      if (this._fillType === newFillType)
        return;
      this._fillType = newFillType;
      this.get$skiaObject().setFillType($.$get$_skFillTypes()[newFillType.index]);
    },
    addArc$3(oval, startAngle, sweepAngle) {
      this.get$skiaObject().addArc(A.toSkRect(oval), startAngle * 57.29577951308232, sweepAngle * 57.29577951308232);
    },
    addOval$1(oval) {
      this.get$skiaObject().addOval(A.toSkRect(oval), false, 1);
    },
    addPolygon$2(points, $close) {
      var encodedPoints = A.toMallocedSkPoints(points);
      this.get$skiaObject().addPoly(encodedPoints.toTypedArray(), $close);
      self.window.flutterCanvasKit.Free(encodedPoints);
    },
    addRRect$1(rrect) {
      this.get$skiaObject().addRRect(A.toSkRRect(rrect), false);
    },
    addRect$1(rect) {
      this.get$skiaObject().addRect(A.toSkRect(rect));
    },
    arcTo$4(_, rect, startAngle, sweepAngle, forceMoveTo) {
      this.get$skiaObject().arcToOval(A.toSkRect(rect), startAngle * 57.29577951308232, sweepAngle * 57.29577951308232, forceMoveTo);
    },
    close$0(_) {
      this.get$skiaObject().close();
    },
    contains$1(_, point) {
      return this.get$skiaObject().contains(point._dx, point._dy);
    },
    cubicTo$6(x1, y1, x2, y2, x3, y3) {
      A.callMethod(this.get$skiaObject(), "cubicTo", [x1, y1, x2, y2, x3, y3]);
    },
    getBounds$0(_) {
      var t1 = this.get$skiaObject().getBounds();
      return new A.Rect(t1[0], t1[1], t1[2], t1[3]);
    },
    lineTo$2(_, x, y) {
      this.get$skiaObject().lineTo(x, y);
    },
    moveTo$2(_, x, y) {
      this.get$skiaObject().moveTo(x, y);
    },
    reset$0(_) {
      this._fillType = B.PathFillType_0;
      this.get$skiaObject().reset();
    },
    shift$1(offset) {
      var t1 = this.get$skiaObject().copy();
      A.callMethod(t1, "transform", [1, 0, offset._dx, 0, 1, offset._dy, 0, 0, 1]);
      return A.CkPath$fromSkPath(t1, this._fillType);
    },
    get$isResurrectionExpensive() {
      return true;
    },
    createDefault$0() {
      var path = type$.JavaScriptObject._as(new self.window.flutterCanvasKit.Path()),
        t1 = this._fillType;
      path.setFillType($.$get$_skFillTypes()[t1.index]);
      return path;
    },
    delete$0(_) {
      var t1;
      this._cachedCommands = this.get$skiaObject().toCmds();
      t1 = this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
    },
    resurrect$0() {
      var t1 = $.__canvasKit._readField$0().Path,
        t2 = this._cachedCommands;
      t2.toString;
      t2 = t1.MakeFromCmds(t2);
      t1 = this._fillType;
      t2.setFillType($.$get$_skFillTypes()[t1.index]);
      return t2;
    },
    $isPath: 1
  };
  A.CkPicture.prototype = {
    dispose$0() {
      var t1, _this = this;
      _this._isDisposed = true;
      t1 = _this._snapshot;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
      _this.rawSkiaObject = null;
    },
    get$isResurrectionExpensive() {
      return true;
    },
    createDefault$0() {
      throw A.wrapException(A.StateError$("Unreachable code"));
    },
    resurrect$0() {
      return this._snapshot.toPicture$0();
    },
    delete$0(_) {
      var t1;
      if (!this._isDisposed) {
        t1 = this.rawSkiaObject;
        if (t1 != null)
          t1.delete();
      }
    }
  };
  A.CkPictureRecorder.prototype = {
    beginRecording$1(bounds) {
      var recorder, t1;
      this._cullRect = bounds;
      recorder = type$.JavaScriptObject._as(new self.window.flutterCanvasKit.PictureRecorder());
      this._skRecorder = recorder;
      t1 = recorder.beginRecording(A.toSkRect(bounds));
      return this._recordingCanvas = $.$get$browserSupportsFinalizationRegistry() ? new A.CkCanvas(t1) : new A.RecordingCkCanvas(new A.CkPictureSnapshot(bounds, A._setArrayType([], type$.JSArray_CkPaintCommand)), t1);
    },
    endRecording$0() {
      var t1, t2, _this = this,
        recorder = _this._skRecorder;
      if (recorder == null)
        throw A.wrapException(A.StateError$("PictureRecorder is not recording"));
      t1 = recorder.finishRecordingAsPicture();
      recorder.delete();
      _this._skRecorder = null;
      t2 = new A.CkPicture(_this._cullRect, _this._recordingCanvas.get$pictureSnapshot());
      t2.ManagedSkiaObject$1(t1, type$.SkPicture);
      return t2;
    },
    get$isRecording() {
      return this._skRecorder != null;
    }
  };
  A.Rasterizer.prototype = {
    draw$1(layerTree) {
      var frame, canvas, compositorFrame, t1;
      try {
        t1 = layerTree.frameSize;
        if (t1.get$isEmpty(t1))
          return;
        frame = A.SurfaceFactory_instance().baseSurface.acquireFrame$1(t1);
        $.$get$HtmlViewEmbedder_instance()._frameSize = t1;
        canvas = new A.CkCanvas(frame.skiaSurface.surface.getCanvas());
        compositorFrame = new A.Frame0(canvas, null, $.$get$HtmlViewEmbedder_instance());
        compositorFrame.raster$2$ignoreRasterCache(layerTree, true);
        t1 = A.SurfaceFactory_instance().baseSurface;
        if (!t1._addedToScene)
          $.skiaSceneHost.prepend(t1.htmlElement);
        t1._addedToScene = true;
        J.submit$0$z(frame);
        $.$get$HtmlViewEmbedder_instance().submitFrame$0(0);
      } finally {
        this._runPostFrameCallbacks$0();
      }
    },
    _runPostFrameCallbacks$0() {
      var t1, i;
      for (t1 = this._postFrameCallbacks, i = 0; i < t1.length; ++i)
        t1[i].call$0();
      for (t1 = $.frameReferences, i = 0; i < t1.length; ++i)
        t1[i].value = null;
      B.JSArray_methods.clear$0(t1);
    }
  };
  A.CkShader.prototype = {
    delete$0(_) {
      var t1 = this.rawSkiaObject;
      if (t1 != null)
        t1.delete();
    }
  };
  A.CkGradientLinear.prototype = {
    createDefault$0() {
      var _this = this,
        t1 = $.__canvasKit._readField$0().Shader,
        t2 = A.toSkPoint(_this.from),
        t3 = A.toSkPoint(_this.to),
        t4 = A.toFlatColors(_this.colors),
        t5 = A.toSkColorStops(_this.colorStops),
        t6 = $.$get$_skTileModes()[_this.tileMode.index],
        t7 = _this.matrix4;
      return A.callMethod(t1, "MakeLinearGradient", [t2, t3, t4, t5, t6, t7 != null ? A.toSkMatrixFromFloat32(t7) : null]);
    },
    resurrect$0() {
      return this.createDefault$0();
    }
  };
  A.SkiaObjectCache.prototype = {
    get$length(_) {
      return this._itemQueue._elementCount;
    },
    add$1(_, object) {
      var t2, _this = this,
        t1 = _this._itemQueue;
      t1.addFirst$1(object);
      t2 = t1._sentinel._nextLink._asNonSentinelEntry$0();
      t2.toString;
      _this._itemMap.$indexSet(0, object, t2);
      if (t1._elementCount > _this.maximumSize)
        A.SkiaObjects_markCacheForResize(_this);
    },
    resize$0(_) {
      var t1, t2, t3, i, result,
        itemsToDelete = this.maximumSize / 2 | 0;
      for (t1 = this._itemQueue, t2 = t1._sentinel, t3 = this._itemMap, i = 0; i < itemsToDelete; ++i) {
        result = t2._previousLink._remove$0(0);
        --t1._elementCount;
        t3.remove$1(0, result);
        result.delete$0(0);
        result.didDelete$0();
      }
    }
  };
  A.SynchronousSkiaObjectCache.prototype = {
    get$length(_) {
      return this._itemQueue._elementCount;
    },
    add$1(_, object) {
      var t1 = this._itemQueue;
      t1.addFirst$1(object);
      t1 = t1._sentinel._nextLink._asNonSentinelEntry$0();
      t1.toString;
      this._itemMap.$indexSet(0, object, t1);
      this._enforceCacheLimit$0();
    },
    markUsed$1(object) {
      var t2,
        t1 = this._itemMap,
        item = t1.$index(0, object);
      if (item == null)
        return false;
      item.remove$0(0);
      t2 = this._itemQueue;
      t2.addFirst$1(object);
      t2 = t2._sentinel._nextLink._asNonSentinelEntry$0();
      t2.toString;
      t1.$indexSet(0, object, t2);
      return true;
    },
    _enforceCacheLimit$0() {
      var t1, t2, t3, t4, result;
      for (t1 = this._itemQueue, t2 = this.maximumSize, t3 = t1._sentinel, t4 = this._itemMap; t1._elementCount > t2;) {
        result = t3._previousLink._remove$0(0);
        --t1._elementCount;
        t4.remove$1(0, result);
        result.delete$0(0);
        result.didDelete$0();
      }
    }
  };
  A.SkiaObject.prototype = {};
  A.ManagedSkiaObject.prototype = {
    ManagedSkiaObject$1(instance, $T) {
      var _this = this,
        defaultObject = instance == null ? _this.createDefault$0() : instance;
      _this.rawSkiaObject = defaultObject;
      if ($.$get$browserSupportsFinalizationRegistry())
        $.$get$Collector__instance().register$2(0, _this, defaultObject);
      else if (_this.get$isResurrectionExpensive()) {
        A.SkiaObjects_registerCleanupCallback();
        $.$get$SkiaObjects_expensiveCache().add$1(0, _this);
      } else {
        A.SkiaObjects_registerCleanupCallback();
        $.SkiaObjects_resurrectableObjects.push(_this);
      }
    },
    get$skiaObject() {
      var skiaObject, _this = this,
        t1 = _this.rawSkiaObject;
      if (t1 == null) {
        skiaObject = _this.resurrect$0();
        _this.rawSkiaObject = skiaObject;
        if (_this.get$isResurrectionExpensive()) {
          A.SkiaObjects_registerCleanupCallback();
          $.$get$SkiaObjects_expensiveCache().add$1(0, _this);
        } else {
          A.SkiaObjects_registerCleanupCallback();
          $.SkiaObjects_resurrectableObjects.push(_this);
        }
        t1 = skiaObject;
      }
      return t1;
    },
    didDelete$0() {
      if (this.rawSkiaObject == null)
        return;
      this.rawSkiaObject = null;
    },
    get$isResurrectionExpensive() {
      return false;
    }
  };
  A.SkiaObjectBox.prototype = {
    __engine$_initialize$2(debugReferrer, initialValue) {
      this._skDeletable = this.rawSkiaObject = initialValue;
    },
    get$skiaObject() {
      var _this = this,
        t1 = _this.rawSkiaObject;
      if (t1 == null) {
        t1 = _this._resurrector.call$0();
        _this.rawSkiaObject = t1;
        _this._skDeletable = type$.nullable_JavaScriptObject._as(t1);
        A.SkiaObjects_registerCleanupCallback();
        $.$get$SkiaObjects_expensiveCache().add$1(0, _this);
        t1 = _this.get$skiaObject();
      }
      return t1;
    },
    delete$0(_) {
      var t1 = this._skDeletable;
      if (t1 != null)
        t1.delete();
    },
    didDelete$0() {
      this._skDeletable = this.rawSkiaObject = null;
    },
    unref$1(debugReferrer) {
      var t1, _this = this;
      if (--_this.__engine$_refCount === 0) {
        t1 = _this._skDeletable;
        if (t1 != null)
          if ($.$get$browserSupportsFinalizationRegistry())
            $.$get$Collector__instance().collect$1(t1);
          else {
            _this.delete$0(0);
            _this.didDelete$0();
          }
        _this._resurrector = _this._skDeletable = _this.rawSkiaObject = null;
        _this._isDeletedPermanently = true;
      }
    }
  };
  A.SurfaceFrame.prototype = {
    submit$0(_) {
      return this.submitCallback.call$2(this, new A.CkCanvas(this.skiaSurface.surface.getCanvas()));
    }
  };
  A.Surface.prototype = {
    _syncCacheBytes$0() {
      var t2,
        t1 = this._skiaCacheBytes;
      if (t1 != null) {
        t2 = this._grContext;
        if (t2 != null)
          t2.setResourceCacheLimitBytes(t1);
      }
    },
    acquireFrame$1(size) {
      return new A.SurfaceFrame(this.createOrUpdateSurface$1(size), new A.Surface_acquireFrame_closure(this));
    },
    createOrUpdateSurface$1(size) {
      var t1, previousSurfaceSize, previousCanvasSize, newSize, htmlCanvas, t2, surfaceHeight, _this = this,
        _s20_ = "webglcontextrestored",
        _s16_ = "webglcontextlost";
      if ($.$get$useH5vccCanvasKit()) {
        t1 = _this._surface;
        return t1 == null ? _this._surface = new A.CkSurface($.__canvasKit._readField$0().getH5vccSkSurface(), null) : t1;
      }
      if (size.get$isEmpty(size))
        throw A.wrapException(A.CanvasKitError$("Cannot create surfaces of empty size."));
      previousSurfaceSize = _this._currentSurfaceSize;
      t1 = !_this._forceNewContext;
      if (t1 && previousSurfaceSize != null && size._dx === previousSurfaceSize._dx && size._dy === previousSurfaceSize._dy) {
        t1 = $.$get$window()._debugDevicePixelRatio;
        if (t1 == null)
          t1 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
        if (t1 !== _this._currentDevicePixelRatio)
          _this._updateLogicalHtmlCanvasSize$0();
        t1 = _this._surface;
        t1.toString;
        return t1;
      }
      previousCanvasSize = _this._currentCanvasPhysicalSize;
      if (!t1 || previousCanvasSize == null || size._dx > previousCanvasSize._dx || size._dy > previousCanvasSize._dy) {
        newSize = previousCanvasSize == null ? size : size.$mul(0, 1.4);
        t1 = _this._surface;
        if (t1 != null)
          t1.dispose$0();
        _this._surface = null;
        _this._addedToScene = false;
        t1 = _this._grContext;
        if (t1 != null)
          t1.releaseResourcesAndAbandonContext();
        t1 = _this._grContext;
        if (t1 != null)
          t1.delete();
        _this._grContext = null;
        t1 = _this.htmlCanvas;
        if (t1 != null) {
          A.DomEventTargetExtension_removeEventListener(t1, _s20_, _this._cachedContextRestoredListener, false);
          t1 = _this.htmlCanvas;
          t1.toString;
          A.DomEventTargetExtension_removeEventListener(t1, _s16_, _this._cachedContextLostListener, false);
          _this.htmlCanvas.remove();
          _this._cachedContextLostListener = _this._cachedContextRestoredListener = null;
        }
        _this._pixelWidth = B.JSNumber_methods.ceil$0(newSize._dx);
        t1 = B.JSNumber_methods.ceil$0(newSize._dy);
        _this._pixelHeight = t1;
        htmlCanvas = _this.htmlCanvas = A.createDomCanvasElement(t1, _this._pixelWidth);
        A.callMethod(htmlCanvas, "setAttribute", ["aria-hidden", "true"]);
        A.DomCSSStyleDeclarationExtension_setProperty(htmlCanvas.style, "position", "absolute");
        _this._updateLogicalHtmlCanvasSize$0();
        _this._cachedContextRestoredListener = A.allowInterop(_this.get$_contextRestoredListener());
        t1 = A.allowInterop(_this.get$_contextLostListener());
        _this._cachedContextLostListener = t1;
        A.DomEventTargetExtension_addEventListener(htmlCanvas, _s16_, t1, false);
        A.DomEventTargetExtension_addEventListener(htmlCanvas, _s20_, _this._cachedContextRestoredListener, false);
        _this._contextLost = _this._forceNewContext = false;
        t1 = $._cachedWebGLVersion;
        if ((t1 == null ? $._cachedWebGLVersion = A._detectWebGLVersion() : t1) !== -1) {
          t1 = $._configuration;
          t1 = !(t1 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t1).get$canvasKitForceCpuOnly();
        } else
          t1 = false;
        if (t1) {
          t1 = $.__canvasKit._readField$0();
          t2 = $._cachedWebGLVersion;
          if (t2 == null)
            t2 = $._cachedWebGLVersion = A._detectWebGLVersion();
          t2 = _this._glContext = t1.GetWebGLContext(htmlCanvas, type$.JavaScriptObject._as({antialias: 0, majorVersion: t2}));
          if (t2 !== 0) {
            _this._grContext = $.__canvasKit._readField$0().MakeGrContext(t2);
            _this._syncCacheBytes$0();
          }
        }
        _this.htmlElement.append(htmlCanvas);
        _this._currentCanvasPhysicalSize = newSize;
      } else {
        t1 = $.$get$window()._debugDevicePixelRatio;
        if (t1 == null)
          t1 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
        if (t1 !== _this._currentDevicePixelRatio)
          _this._updateLogicalHtmlCanvasSize$0();
      }
      t1 = $.$get$window();
      t2 = t1._debugDevicePixelRatio;
      _this._currentDevicePixelRatio = t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2;
      _this._currentSurfaceSize = size;
      surfaceHeight = B.JSNumber_methods.ceil$0(size._dy);
      t2 = _this._pixelHeight;
      t1 = t1._debugDevicePixelRatio;
      if (t1 == null)
        t1 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      A.DomCSSStyleDeclarationExtension_setProperty(_this.htmlCanvas.style, "transform", "translate(0, -" + A.S((t2 - surfaceHeight) / t1) + "px)");
      return _this._surface = _this._createNewSurface$1(size);
    },
    _updateLogicalHtmlCanvasSize$0() {
      var t4, t5,
        t1 = this._pixelWidth,
        t2 = $.$get$window(),
        t3 = t2._debugDevicePixelRatio;
      if (t3 == null)
        t3 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      t4 = this._pixelHeight;
      t2 = t2._debugDevicePixelRatio;
      if (t2 == null)
        t2 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      t5 = this.htmlCanvas.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t5, "width", A.S(t1 / t3) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t5, "height", A.S(t4 / t2) + "px");
    },
    _contextRestoredListener$1($event) {
      this._contextLost = false;
      $.$get$EnginePlatformDispatcher__instance().invokeOnMetricsChanged$0();
      $event.stopPropagation();
      $event.preventDefault();
    },
    _contextLostListener$1($event) {
      var _this = this,
        factory = A.SurfaceFactory_instance();
      _this._contextLost = true;
      if (factory.isLive$1(_this)) {
        _this._forceNewContext = true;
        $event.preventDefault();
      } else
        _this.dispose$0();
    },
    _createNewSurface$1(size) {
      var t2, _this = this,
        t1 = $._cachedWebGLVersion;
      if ((t1 == null ? $._cachedWebGLVersion = A._detectWebGLVersion() : t1) === -1) {
        t1 = _this.htmlCanvas;
        t1.toString;
        return _this._makeSoftwareCanvasSurface$2(t1, "WebGL support not detected");
      } else {
        t1 = $._configuration;
        if ((t1 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t1).get$canvasKitForceCpuOnly()) {
          t1 = _this.htmlCanvas;
          t1.toString;
          return _this._makeSoftwareCanvasSurface$2(t1, "CPU rendering forced by application");
        } else if (_this._glContext === 0) {
          t1 = _this.htmlCanvas;
          t1.toString;
          return _this._makeSoftwareCanvasSurface$2(t1, "Failed to initialize WebGL context");
        } else {
          t1 = $.__canvasKit._readField$0();
          t2 = _this._grContext;
          t2.toString;
          t2 = t1.MakeOnScreenGLSurface(t2, B.JSNumber_methods.ceil$0(size._dx), B.JSNumber_methods.ceil$0(size._dy), self.window.flutterCanvasKit.ColorSpace.SRGB);
          if (t2 == null) {
            t1 = _this.htmlCanvas;
            t1.toString;
            return _this._makeSoftwareCanvasSurface$2(t1, "Failed to initialize WebGL surface");
          }
          return new A.CkSurface(t2, _this._glContext);
        }
      }
    },
    _makeSoftwareCanvasSurface$2(htmlCanvas, reason) {
      if (!$.Surface__didWarnAboutWebGlInitializationFailure) {
        $.$get$printWarning().call$1("WARNING: Falling back to CPU-only rendering. " + reason + ".");
        $.Surface__didWarnAboutWebGlInitializationFailure = true;
      }
      return new A.CkSurface($.__canvasKit._readField$0().MakeSWCanvasSurface(htmlCanvas), null);
    },
    dispose$0() {
      var _this = this,
        t1 = _this.htmlCanvas;
      if (t1 != null)
        A.DomEventTargetExtension_removeEventListener(t1, "webglcontextlost", _this._cachedContextLostListener, false);
      t1 = _this.htmlCanvas;
      if (t1 != null)
        A.DomEventTargetExtension_removeEventListener(t1, "webglcontextrestored", _this._cachedContextRestoredListener, false);
      _this._cachedContextRestoredListener = _this._cachedContextLostListener = null;
      _this.htmlElement.remove();
      t1 = _this._surface;
      if (t1 != null)
        t1.dispose$0();
    }
  };
  A.Surface_acquireFrame_closure.prototype = {
    call$2(surfaceFrame, canvas) {
      this.$this._surface.surface.flush();
      return true;
    },
    $signature: 1115
  };
  A.CkSurface.prototype = {
    dispose$0() {
      if (this._isDisposed)
        return;
      this.surface.dispose();
      this._isDisposed = true;
    }
  };
  A.SurfaceFactory.prototype = {
    getOverlay$0() {
      var surface, _this = this,
        t1 = _this._cache,
        t2 = t1.length;
      if (t2 !== 0) {
        surface = t1.pop();
        _this._liveSurfaces.push(surface);
        return surface;
      } else {
        t1 = _this._liveSurfaces;
        if (t1.length + t2 + 2 < _this.maximumSurfaces) {
          surface = new A.Surface(A.DomDocumentExtension_createElement(self.document, "flt-canvas-container"));
          t1.push(surface);
          return surface;
        } else
          return null;
      }
    },
    _removeFromDom$1(surface) {
      surface.htmlElement.remove();
    },
    releaseSurface$1(surface) {
      if (surface === this.backupSurface) {
        surface.htmlElement.remove();
        return;
      }
      surface.htmlElement.remove();
      B.JSArray_methods.remove$1(this._liveSurfaces, surface);
      this._cache.push(surface);
    },
    isLive$1(surface) {
      if (surface === this.baseSurface || surface === this.backupSurface || B.JSArray_methods.contains$1(this._liveSurfaces, surface))
        return true;
      return false;
    }
  };
  A.CkParagraphStyle.prototype = {};
  A.CkTextStyle.prototype = {
    get$skTextStyle() {
      var result, _this = this,
        value = _this.__CkTextStyle_skTextStyle;
      if (value === $) {
        result = new A.CkTextStyle_skTextStyle_closure(_this).call$0();
        if (_this.__CkTextStyle_skTextStyle !== $)
          A.throwUnnamedLateFieldADI();
        _this.__CkTextStyle_skTextStyle = result;
        value = result;
      }
      return value;
    }
  };
  A.CkTextStyle_skTextStyle_closure.prototype = {
    call$0() {
      var decorationValue, t2, value, result, ckShadows, _i, shadow, ckShadow, t3, point, skFontFeatures, skFontFeature,
        t1 = this.$this,
        color = t1.color,
        decoration = t1.decoration,
        decorationColor = t1.decorationColor,
        decorationStyle = t1.decorationStyle,
        decorationThickness = t1.decorationThickness,
        fontWeight = t1.fontWeight,
        fontStyle = t1.fontStyle,
        textBaseline = t1.textBaseline,
        fontSize = t1.fontSize,
        letterSpacing = t1.letterSpacing,
        wordSpacing = t1.wordSpacing,
        height = t1.height,
        background = t1.background,
        foreground = t1.foreground,
        shadows = t1.shadows,
        properties = A.SkTextStyleProperties$(null);
      if (background != null)
        properties.backgroundColor = A.makeFreshSkColor(background._color);
      if (color != null)
        properties.color = A.makeFreshSkColor(color);
      if (decoration != null) {
        decorationValue = $.__canvasKit._readField$0().NoDecoration;
        t2 = decoration._mask;
        if ((t2 | 1) === t2)
          decorationValue = (decorationValue | $.__canvasKit._readField$0().UnderlineDecoration) >>> 0;
        if ((t2 | 2) === t2)
          decorationValue = (decorationValue | $.__canvasKit._readField$0().OverlineDecoration) >>> 0;
        if ((t2 | 4) === t2)
          decorationValue = (decorationValue | $.__canvasKit._readField$0().LineThroughDecoration) >>> 0;
        properties.decoration = decorationValue;
      }
      if (decorationThickness != null)
        properties.decorationThickness = decorationThickness;
      if (decorationColor != null)
        properties.decorationColor = A.makeFreshSkColor(decorationColor);
      if (decorationStyle != null)
        properties.decorationStyle = $.$get$_skTextDecorationStyles()[decorationStyle.index];
      if (textBaseline != null)
        properties.textBaseline = $.$get$_skTextBaselines()[textBaseline.index];
      if (fontSize != null)
        properties.fontSize = fontSize;
      if (letterSpacing != null)
        properties.letterSpacing = letterSpacing;
      if (wordSpacing != null)
        properties.wordSpacing = wordSpacing;
      if (height != null)
        properties.heightMultiplier = height;
      switch (t1.leadingDistribution) {
        case null:
          break;
        case B.TextLeadingDistribution_1:
          properties.halfLeading = true;
          break;
        case B.TextLeadingDistribution_0:
          properties.halfLeading = false;
          break;
      }
      value = t1.__CkTextStyle_effectiveFontFamilies;
      if (value === $) {
        result = A._getEffectiveFontFamilies(t1.fontFamily, t1.fontFamilyFallback);
        if (t1.__CkTextStyle_effectiveFontFamilies !== $)
          A.throwUnnamedLateFieldADI();
        t1.__CkTextStyle_effectiveFontFamilies = result;
        value = result;
      }
      properties.fontFamilies = value;
      if (fontWeight != null || fontStyle != null)
        properties.fontStyle = A.toSkFontStyle(fontWeight, fontStyle);
      if (foreground != null)
        properties.foregroundColor = A.makeFreshSkColor(foreground._color);
      if (shadows != null) {
        ckShadows = A._setArrayType([], type$.JSArray_JavaScriptObject);
        for (t2 = shadows.length, _i = 0; _i < shadows.length; shadows.length === t2 || (0, A.throwConcurrentModificationError)(shadows), ++_i) {
          shadow = shadows[_i];
          ckShadow = A.SkTextShadow$(null);
          ckShadow.color = A.makeFreshSkColor(shadow.color);
          t3 = shadow.offset;
          point = new Float32Array(2);
          point[0] = t3._dx;
          point[1] = t3._dy;
          ckShadow.offset = point;
          ckShadow.blurRadius = shadow.blurRadius;
          ckShadows.push(ckShadow);
        }
        properties.shadows = ckShadows;
      }
      if (t1.fontFeatures != null) {
        skFontFeatures = A._setArrayType([], type$.JSArray_JavaScriptObject);
        for (_i = 0; _i < 1; ++_i) {
          skFontFeature = A.SkFontFeature$(null);
          skFontFeature.name = "liga";
          skFontFeature.value = 0;
          skFontFeatures.push(skFontFeature);
        }
        properties.fontFeatures = skFontFeatures;
      }
      return $.__canvasKit._readField$0().TextStyle(properties);
    },
    $signature: 124
  };
  A.CkStrutStyle.prototype = {
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.CkStrutStyle)
        if (other._fontFamily == _this._fontFamily)
          if (other._fontSize == _this._fontSize)
            if (other.__engine$_height == _this.__engine$_height)
              t1 = other._fontWeight == _this._fontWeight && other._fontStyle == _this._fontStyle && other._forceStrutHeight == _this._forceStrutHeight && A.listEquals0(other.__engine$_fontFamilyFallback, _this.__engine$_fontFamilyFallback);
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this._fontFamily, _this.__engine$_fontFamilyFallback, _this._fontSize, _this.__engine$_height, _this._leading, _this._leadingDistribution, _this._fontWeight, _this._fontStyle, _this._forceStrutHeight, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.CkParagraph.prototype = {
    _ensureInitialized$1(constraints) {
      var e, builder, t1, t2, t3, t4, _i, command, t5, didRebuildSkiaObject, constraintsChanged, exception, _this = this,
        paragraph = _this._skParagraph;
      if (paragraph == null) {
        builder = A.CkParagraphBuilder$(_this._paragraphStyle);
        for (t1 = _this._paragraphCommands, t2 = t1.length, t3 = builder._commands, t4 = builder._paragraphBuilder, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          command = t1[_i];
          switch (command.type.index) {
            case 0:
              t5 = command.text;
              t5.toString;
              builder.addText$1(t5);
              break;
            case 1:
              builder.pop$0();
              break;
            case 2:
              t5 = command.style;
              t5.toString;
              builder.pushStyle$1(t5);
              break;
            case 3:
              t5 = command.placeholderStyle;
              t5.toString;
              t3.push(new A._ParagraphCommand(B._ParagraphCommandType_3, null, null, t5));
              t4.addPlaceholder.apply(t4, [t5.width, t5.height, t5.alignment, t5.baseline, t5.offset]);
              break;
          }
        }
        paragraph = builder._buildSkParagraph$0();
        _this._skParagraph = paragraph;
        didRebuildSkiaObject = true;
      } else
        didRebuildSkiaObject = false;
      constraintsChanged = !J.$eq$(_this._lastLayoutConstraints, constraints);
      if (didRebuildSkiaObject || constraintsChanged) {
        _this._lastLayoutConstraints = constraints;
        try {
          paragraph.layout(constraints.width);
          _this._alphabeticBaseline = paragraph.getAlphabeticBaseline();
          _this._didExceedMaxLines = paragraph.didExceedMaxLines();
          _this.__engine$_height = paragraph.getHeight();
          _this._ideographicBaseline = paragraph.getIdeographicBaseline();
          _this._longestLine = paragraph.getLongestLine();
          _this._maxIntrinsicWidth = paragraph.getMaxIntrinsicWidth();
          _this._minIntrinsicWidth = paragraph.getMinIntrinsicWidth();
          _this.__engine$_width = paragraph.getMaxWidth();
          _this._boxesForPlaceholders = _this.skRectsToTextBoxes$1(J.cast$1$0$ax(paragraph.getRectsForPlaceholders(), type$.Float32List));
        } catch (exception) {
          e = A.unwrapException(exception);
          $.$get$printWarning().call$1('CanvasKit threw an exception while laying out the paragraph. The font was "' + A.S(_this._paragraphStyle._fontFamily) + '". Exception:\n' + A.S(e));
          throw exception;
        }
      }
      return paragraph;
    },
    delete$0(_) {
      this._skParagraph.delete();
    },
    didDelete$0() {
      this._skParagraph = null;
    },
    get$alphabeticBaseline(_) {
      return this._alphabeticBaseline;
    },
    get$didExceedMaxLines() {
      return this._didExceedMaxLines;
    },
    get$height(_) {
      return this.__engine$_height;
    },
    get$ideographicBaseline(_) {
      return this._ideographicBaseline;
    },
    get$longestLine() {
      return this._longestLine;
    },
    get$maxIntrinsicWidth() {
      return this._maxIntrinsicWidth;
    },
    get$minIntrinsicWidth() {
      return this._minIntrinsicWidth;
    },
    get$width(_) {
      return this.__engine$_width;
    },
    getBoxesForPlaceholders$0() {
      var t1 = this._boxesForPlaceholders;
      t1.toString;
      return t1;
    },
    getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, boxWidthStyle) {
      var t1, paragraph, index, t2;
      if (start < 0 || end < 0)
        return B.List_empty7;
      t1 = this._lastLayoutConstraints;
      t1.toString;
      paragraph = this._ensureInitialized$1(t1);
      t1 = $.$get$_skRectHeightStyles()[boxHeightStyle.index];
      index = boxWidthStyle.index;
      t2 = $.$get$_skRectWidthStyles();
      return this.skRectsToTextBoxes$1(J.cast$1$0$ax(paragraph.getRectsForRange(start, end, t1, t2[index < 2 ? index : 0]), type$.Float32List));
    },
    getBoxesForRange$3$boxHeightStyle(start, end, boxHeightStyle) {
      return this.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, B.BoxWidthStyle_0);
    },
    skRectsToTextBoxes$1(skRects) {
      var t1, i, rect,
        result = A._setArrayType([], type$.JSArray_TextBox);
      for (t1 = this._paragraphStyle.__engine$_textDirection, i = 0; i < skRects.get$length(skRects); ++i) {
        rect = skRects.$index(0, i);
        result.push(new A.TextBox(rect[0], rect[1], rect[2], rect[3], t1));
      }
      return result;
    },
    getPositionForOffset$1(offset) {
      var affinity,
        t1 = this._lastLayoutConstraints;
      t1.toString;
      t1 = this._ensureInitialized$1(t1).getGlyphPositionAtCoordinate(offset._dx, offset._dy);
      affinity = B.List_TextAffinity_0_TextAffinity_1[t1.affinity.value];
      return new A.TextPosition(t1.pos, affinity);
    },
    getWordBoundary$1(position) {
      var t1 = this._lastLayoutConstraints;
      t1.toString;
      t1 = this._ensureInitialized$1(t1).getWordBoundary(position.offset);
      return new A.TextRange(t1.start, t1.end);
    },
    layout$1(constraints) {
      var _this = this;
      if (J.$eq$(_this._lastLayoutConstraints, constraints))
        return;
      _this._ensureInitialized$1(constraints);
      if (!$.$get$CkParagraph__paragraphCache().markUsed$1(_this))
        $.$get$CkParagraph__paragraphCache().add$1(0, _this);
    },
    getLineBoundary$1(position) {
      var metrics, offset, t2, t3,
        t1 = this._lastLayoutConstraints;
      t1.toString;
      metrics = J.cast$1$0$ax(this._ensureInitialized$1(t1).getLineMetrics(), type$.JavaScriptObject);
      offset = position.offset;
      for (t1 = A._instanceType(metrics), t2 = new A.ListIterator(metrics, metrics.get$length(metrics), t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E"); t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        if (t3 == null)
          t3 = t1._as(t3);
        if (offset >= t3.startIndex && offset <= t3.endIndex)
          return new A.TextRange(t3.startIndex, t3.endIndex);
      }
      return B.TextRange_m1_m1;
    },
    computeLineMetrics$0() {
      var skLineMetrics, result, t2, t3,
        t1 = this._lastLayoutConstraints;
      t1.toString;
      skLineMetrics = J.cast$1$0$ax(this._ensureInitialized$1(t1).getLineMetrics(), type$.JavaScriptObject);
      result = A._setArrayType([], type$.JSArray_LineMetrics);
      for (t1 = A._instanceType(skLineMetrics), t2 = new A.ListIterator(skLineMetrics, skLineMetrics.get$length(skLineMetrics), t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E"); t2.moveNext$0();) {
        t3 = t2.__internal$_current;
        result.push(new A.CkLineMetrics(t3 == null ? t1._as(t3) : t3));
      }
      return result;
    }
  };
  A.CkLineMetrics.prototype = {
    get$descent() {
      return this.skLineMetrics.descent;
    },
    get$baseline() {
      return this.skLineMetrics.baseline;
    },
    get$lineNumber(_) {
      return this.skLineMetrics.lineNumber;
    },
    $isLineMetrics: 1
  };
  A.CkParagraphBuilder.prototype = {
    addPlaceholder$6$baseline$baselineOffset$scale(width, height, alignment, baseline, baselineOffset, scale) {
      var t1;
      ++this._placeholderCount;
      this._placeholderScales.push(scale);
      t1 = baselineOffset == null ? height : baselineOffset;
      this._addPlaceholder$1(new A._CkParagraphPlaceholder(width * scale, height * scale, $.$get$_skPlaceholderAlignments()[alignment.index], $.$get$_skTextBaselines()[0], t1 * scale));
    },
    addPlaceholder$4$scale(width, height, alignment, scale) {
      return this.addPlaceholder$6$baseline$baselineOffset$scale(width, height, alignment, null, null, scale);
    },
    _addPlaceholder$1(placeholderStyle) {
      this._commands.push(new A._ParagraphCommand(B._ParagraphCommandType_3, null, null, placeholderStyle));
      A.callMethod(this._paragraphBuilder, "addPlaceholder", [placeholderStyle.width, placeholderStyle.height, placeholderStyle.alignment, placeholderStyle.baseline, placeholderStyle.offset]);
    },
    addText$1(text) {
      var fontFamilies = A._setArrayType([], type$.JSArray_String),
        style = B.JSArray_methods.get$last(this._styleStack),
        t1 = style.fontFamily;
      if (t1 != null)
        fontFamilies.push(t1);
      t1 = style.fontFamilyFallback;
      if (t1 != null)
        B.JSArray_methods.addAll$1(fontFamilies, t1);
      $.$get$FontFallbackData__instance().ensureFontsSupportText$2(text, fontFamilies);
      this._commands.push(new A._ParagraphCommand(B._ParagraphCommandType_0, text, null, null));
      this._paragraphBuilder.addText(text);
    },
    build$0() {
      return new A.CkParagraph(this._buildSkParagraph$0(), this._style, this._commands);
    },
    _buildSkParagraph$0() {
      var t1 = this._paragraphBuilder,
        t2 = t1.build();
      t1.delete();
      return t2;
    },
    get$placeholderCount() {
      return this._placeholderCount;
    },
    get$placeholderScales() {
      return this._placeholderScales;
    },
    pop$0() {
      var t1 = this._styleStack;
      if (t1.length <= 1)
        return;
      this._commands.push(B._ParagraphCommand_6TA);
      t1.pop();
      this._paragraphBuilder.pop();
    },
    pushStyle$1(style) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, skStyle, foreground, background, _this = this, _null = null,
        t1 = _this._styleStack,
        baseStyle = B.JSArray_methods.get$last(t1);
      type$.CkTextStyle._as(style);
      t2 = style.color;
      if (t2 == null)
        t2 = baseStyle.color;
      t3 = style.decoration;
      if (t3 == null)
        t3 = baseStyle.decoration;
      t4 = style.decorationColor;
      if (t4 == null)
        t4 = baseStyle.decorationColor;
      t5 = style.decorationStyle;
      if (t5 == null)
        t5 = baseStyle.decorationStyle;
      t6 = style.decorationThickness;
      if (t6 == null)
        t6 = baseStyle.decorationThickness;
      t7 = style.fontWeight;
      if (t7 == null)
        t7 = baseStyle.fontWeight;
      t8 = style.fontStyle;
      if (t8 == null)
        t8 = baseStyle.fontStyle;
      t9 = style.textBaseline;
      if (t9 == null)
        t9 = baseStyle.textBaseline;
      t10 = style.fontFamily;
      if (t10 == null)
        t10 = baseStyle.fontFamily;
      t11 = style.fontFamilyFallback;
      if (t11 == null)
        t11 = baseStyle.fontFamilyFallback;
      t12 = style.fontSize;
      if (t12 == null)
        t12 = baseStyle.fontSize;
      t13 = style.letterSpacing;
      if (t13 == null)
        t13 = baseStyle.letterSpacing;
      t14 = style.wordSpacing;
      if (t14 == null)
        t14 = baseStyle.wordSpacing;
      t15 = style.height;
      if (t15 == null)
        t15 = baseStyle.height;
      t16 = style.leadingDistribution;
      if (t16 == null)
        t16 = baseStyle.leadingDistribution;
      t17 = style.background;
      if (t17 == null)
        t17 = baseStyle.background;
      t18 = style.foreground;
      if (t18 == null)
        t18 = baseStyle.foreground;
      t19 = style.shadows;
      if (t19 == null)
        t19 = baseStyle.shadows;
      t20 = style.fontFeatures;
      if (t20 == null)
        t20 = baseStyle.fontFeatures;
      skStyle = A.CkTextStyle_CkTextStyle(t17, t2, t3, t4, t5, t6, t10, t11, t20, t12, t8, t7, t18, t15, t16, t13, baseStyle.locale, t19, t9, t14);
      t1.push(skStyle);
      _this._commands.push(new A._ParagraphCommand(B._ParagraphCommandType_2, _null, style, _null));
      t1 = skStyle.foreground;
      t2 = t1 == null;
      if (!t2 || skStyle.background != null) {
        foreground = t2 ? _null : t1.get$skiaObject();
        if (foreground == null) {
          foreground = $.$get$CkParagraphBuilder__defaultTextForeground();
          t1 = skStyle.color;
          t1 = t1 == null ? _null : t1.get$value(t1);
          if (t1 == null)
            t1 = 4278190080;
          foreground.setColorInt(t1);
        }
        t1 = skStyle.background;
        background = t1 == null ? _null : t1.get$skiaObject();
        if (background == null)
          background = $.$get$CkParagraphBuilder__defaultTextBackground();
        _this._paragraphBuilder.pushPaintStyle(skStyle.get$skTextStyle(), foreground, background);
      } else
        _this._paragraphBuilder.pushStyle(skStyle.get$skTextStyle());
    }
  };
  A._CkParagraphPlaceholder.prototype = {};
  A._ParagraphCommand.prototype = {};
  A._ParagraphCommandType.prototype = {
    toString$0(_) {
      return "_ParagraphCommandType." + this._core$_name;
    }
  };
  A._getEffectiveFontFamilies_closure.prototype = {
    call$1(font) {
      return this.fontFamily === font;
    },
    $signature: 6
  };
  A.CanvasKitError.prototype = {
    toString$0(_) {
      return "CanvasKitError: " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.ClipboardMessageHandler.prototype = {
    setDataMethodCall$2(methodCall, callback) {
      var t1 = {};
      t1.errorEnvelopeEncoded = false;
      this._copyToClipboardStrategy.setData$1(0, A._asStringQ(J.$index$asx(methodCall.$arguments, "text"))).then$1$1(new A.ClipboardMessageHandler_setDataMethodCall_closure(t1, callback), type$.Null).catchError$1(new A.ClipboardMessageHandler_setDataMethodCall_closure0(t1, callback));
    },
    getDataMethodCall$1(callback) {
      this._pasteFromClipboardStrategy.getData$0(0).then$1$1(new A.ClipboardMessageHandler_getDataMethodCall_closure(callback), type$.Null).catchError$1(new A.ClipboardMessageHandler_getDataMethodCall_closure0(this, callback));
    }
  };
  A.ClipboardMessageHandler_setDataMethodCall_closure.prototype = {
    call$1(success) {
      var t1 = this.callback;
      if (success) {
        t1.toString;
        t1.call$1(B.C_JSONMessageCodec.encodeMessage$1([true]));
      } else {
        t1.toString;
        t1.call$1(B.C_JSONMessageCodec.encodeMessage$1(["copy_fail", "Clipboard.setData failed", null]));
        this._box_0.errorEnvelopeEncoded = true;
      }
    },
    $signature: 85
  };
  A.ClipboardMessageHandler_setDataMethodCall_closure0.prototype = {
    call$1(_) {
      var t1;
      if (!this._box_0.errorEnvelopeEncoded) {
        t1 = this.callback;
        t1.toString;
        t1.call$1(B.C_JSONMessageCodec.encodeMessage$1(["copy_fail", "Clipboard.setData failed", null]));
      }
    },
    $signature: 9
  };
  A.ClipboardMessageHandler_getDataMethodCall_closure.prototype = {
    call$1(data) {
      var map = A.LinkedHashMap_LinkedHashMap$_literal(["text", data], type$.String, type$.dynamic),
        t1 = this.callback;
      t1.toString;
      t1.call$1(B.C_JSONMessageCodec.encodeMessage$1([map]));
    },
    $signature: 1097
  };
  A.ClipboardMessageHandler_getDataMethodCall_closure0.prototype = {
    call$1(error) {
      var t1;
      if (error instanceof A.UnimplementedError) {
        A.Future_Future$delayed(B.Duration_0, null, type$.void).then$1$1(new A.ClipboardMessageHandler_getDataMethodCall__closure(this.callback), type$.Null);
        return;
      }
      t1 = this.callback;
      A.print("Could not get text from clipboard: " + A.S(error));
      t1.toString;
      t1.call$1(B.C_JSONMessageCodec.encodeMessage$1(["paste_fail", "Clipboard.getData failed", null]));
    },
    $signature: 9
  };
  A.ClipboardMessageHandler_getDataMethodCall__closure.prototype = {
    call$1(_) {
      var t1 = this.callback;
      if (t1 != null)
        t1.call$1(null);
    },
    $signature: 48
  };
  A.ClipboardAPICopyStrategy.prototype = {
    setData$1(_, text) {
      return this.setData$body$ClipboardAPICopyStrategy(0, text);
    },
    setData$body$ClipboardAPICopyStrategy(_, text) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, error, t1, exception, $async$exception;
      var $async$setData$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
              $async$handler = 4;
              t1 = self.window.navigator.clipboard;
              t1.toString;
              text.toString;
              $async$goto = 7;
              return A._asyncAwait(A.promiseToFuture(t1.writeText(text), type$.dynamic), $async$setData$1);
            case 7:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              error = A.unwrapException($async$exception);
              A.print("copy is not successful " + A.S(error));
              t1 = A.Future_Future$value(false, type$.bool);
              $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
              $async$returnValue = A.Future_Future$value(true, type$.bool);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$setData$1, $async$completer);
    }
  };
  A.ClipboardAPIPasteStrategy.prototype = {
    getData$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue;
      var $async$getData$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$returnValue = A.promiseToFuture(self.window.navigator.clipboard.readText(), type$.String);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getData$0, $async$completer);
    }
  };
  A.ExecCommandCopyStrategy.prototype = {
    setData$1(_, text) {
      return A.Future_Future$value(this._setDataSync$1(text), type$.bool);
    },
    _setDataSync$1(text) {
      var tempTextArea, result, error, exception,
        _s8_ = "-99999px",
        _s11_ = "transparent",
        tempElement = A.DomDocumentExtension_createElement(self.document, "textarea"),
        t1 = tempElement.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "position", "absolute");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "top", _s8_);
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "left", _s8_);
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "opacity", "0");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "color", _s11_);
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "background-color", _s11_);
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "background", _s11_);
      self.document.body.append(tempElement);
      tempTextArea = tempElement;
      tempTextArea.value = text;
      tempTextArea.focus();
      tempTextArea.select();
      result = false;
      try {
        result = self.document.execCommand("copy");
        if (!result)
          A.print("copy is not successful");
      } catch (exception) {
        error = A.unwrapException(exception);
        A.print("copy is not successful " + A.S(error));
      } finally {
        tempTextArea.remove();
      }
      return result;
    }
  };
  A.ExecCommandPasteStrategy.prototype = {
    getData$0(_) {
      return A.Future_Future$error(new A.UnimplementedError("Paste is not implemented for this browser."), null, type$.String);
    }
  };
  A.FlutterConfiguration.prototype = {
    get$canvasKitBaseUrl() {
      var t1 = this._js;
      t1 = t1 == null ? null : t1.canvasKitBaseUrl;
      return t1 == null ? "canvaskit/" : t1;
    },
    get$canvasKitForceCpuOnly() {
      var t1 = this._js;
      t1 = t1 == null ? null : t1.canvasKitForceCpuOnly;
      return t1 === true;
    },
    get$canvasKitMaximumSurfaces() {
      var t1 = this._js;
      t1 = t1 == null ? null : t1.canvasKitMaximumSurfaces;
      return t1 == null ? 8 : t1;
    },
    get$debugShowSemanticsNodes() {
      var t1 = this._js;
      t1 = t1 == null ? null : t1.debugShowSemanticsNodes;
      return t1 === true;
    }
  };
  A.JsFlutterConfiguration.prototype = {};
  A.DomWindow.prototype = {};
  A.DomConsole.prototype = {};
  A.DomNavigator.prototype = {};
  A.DomDocument.prototype = {};
  A.DomHTMLDocument.prototype = {};
  A.DomEventTarget.prototype = {};
  A.DomEvent.prototype = {};
  A.DomProgressEvent.prototype = {};
  A.DomNode.prototype = {};
  A.DomElement.prototype = {};
  A.DomCSSStyleDeclaration.prototype = {};
  A.DomHTMLElement.prototype = {};
  A.DomHTMLMetaElement.prototype = {};
  A.DomHTMLHeadElement.prototype = {};
  A.DomHTMLBodyElement.prototype = {};
  A.DomHTMLImageElement.prototype = {};
  A.DomHTMLScriptElement.prototype = {};
  A.DomHTMLDivElement.prototype = {};
  A.DomHTMLSpanElement.prototype = {};
  A.DomHTMLButtonElement.prototype = {};
  A.DomHTMLParagraphElement.prototype = {};
  A.DomHTMLStyleElement.prototype = {};
  A.DomPerformance.prototype = {};
  A.DomPerformanceEntry.prototype = {};
  A.DomPerformanceMeasure.prototype = {};
  A.DomCanvasElement.prototype = {};
  A.DomCanvasImageSource.prototype = {};
  A.DomCanvasRenderingContext2D.prototype = {};
  A.DomImageData.prototype = {};
  A.DomCanvasPattern.prototype = {};
  A.DomCanvasGradient.prototype = {};
  A.DomXMLHttpRequestEventTarget.prototype = {};
  A.DomXMLHttpRequest.prototype = {};
  A.DomResponse.prototype = {};
  A.DomCharacterData.prototype = {};
  A.DomText.prototype = {};
  A.DomTextMetrics.prototype = {};
  A.DomException.prototype = {};
  A.DomRectReadOnly.prototype = {};
  A.DomRect.prototype = {};
  A.DomFontFace.prototype = {};
  A.DomFontFaceSet.prototype = {};
  A.DomVisualViewport.prototype = {};
  A.DomHTMLTextAreaElement.prototype = {};
  A.DomClipboard.prototype = {};
  A.DomUIEvent.prototype = {};
  A.DomKeyboardEvent.prototype = {};
  A.FlutterViewEmbedder.prototype = {
    addSceneToSceneHost$1(sceneElement) {
      var t1 = this._sceneElement;
      if (sceneElement == null ? t1 != null : sceneElement !== t1) {
        if (t1 != null)
          J.remove$0$ax(t1);
        this._sceneElement = sceneElement;
        t1 = this._sceneHostElement;
        t1.toString;
        sceneElement.toString;
        t1.appendChild(sceneElement);
      }
    },
    reset$0(_) {
      var t3, t4, t5, t6, glassPaneElementHostNode, semanticsHostElement, _accessibilityPlaceholder, _this = this,
        _s12_ = "setAttribute",
        _s8_ = "position",
        _s1_ = "0", _s4_ = "none",
        _s8_0 = "absolute",
        _box_0 = {},
        t1 = $.$get$_browserEngine(),
        isWebKit = t1 === B.BrowserEngine_1,
        t2 = _this._styleElement;
      if (t2 != null)
        B.StyleElement_methods.remove$0(t2);
      t2 = document;
      t3 = t2.createElement("style");
      _this._styleElement = t3;
      _this._resourcesHost = null;
      t2.head.appendChild(t3);
      t3 = _this._styleElement.sheet;
      t3.toString;
      type$.CssStyleSheet._as(t3);
      if (t1 !== B.BrowserEngine_0)
        if (t1 !== B.BrowserEngine_5)
          t4 = isWebKit;
        else
          t4 = true;
      else
        t4 = true;
      A.applyGlobalCssRulesToSheet(t3, t1, t4);
      t4 = self.document.body;
      t4.toString;
      A.callMethod(t4, _s12_, ["flt-renderer", ($.$get$useCanvasKit() ? "canvaskit" : "html") + " (auto-selected)"]);
      A.callMethod(t4, _s12_, ["flt-build-mode", "profile"]);
      A.setElementStyle(t4, _s8_, "fixed");
      A.setElementStyle(t4, "top", _s1_);
      A.setElementStyle(t4, "right", _s1_);
      A.setElementStyle(t4, "bottom", _s1_);
      A.setElementStyle(t4, "left", _s1_);
      A.setElementStyle(t4, "overflow", "hidden");
      A.setElementStyle(t4, "padding", _s1_);
      A.setElementStyle(t4, "margin", _s1_);
      A.setElementStyle(t4, "user-select", _s4_);
      A.setElementStyle(t4, "-webkit-user-select", _s4_);
      A.setElementStyle(t4, "-ms-user-select", _s4_);
      A.setElementStyle(t4, "-moz-user-select", _s4_);
      A.setElementStyle(t4, "touch-action", _s4_);
      A.setElementStyle(t4, "font", "normal normal 14px sans-serif");
      A.setElementStyle(t4, "color", "red");
      t4.spellcheck = false;
      for (t1 = type$._FrozenElementList_Element, t3 = new A._FrozenElementList(t2.head.querySelectorAll('meta[name="viewport"]'), t1), t3 = new A.ListIterator(t3, t3.get$length(t3), t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E"); t3.moveNext$0();) {
        t5 = t3.__internal$_current;
        if (t5 == null)
          t5 = t1._as(t5);
        t6 = t5.parentNode;
        if (t6 != null)
          t6.removeChild(t5);
      }
      t1 = _this._viewportMeta;
      if (t1 != null)
        B.MetaElement_methods.remove$0(t1);
      t1 = t2.createElement("meta");
      t1.setAttribute("flt-viewport", "");
      t1.name = "viewport";
      t1.content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no";
      _this._viewportMeta = t1;
      t2.head.appendChild(t1);
      t1 = _this._glassPaneElement;
      if (t1 != null)
        J.remove$0$ax(t1);
      t1 = type$.Element._as(A.DomDocumentExtension_createElement(self.document, "flt-glass-pane"));
      _this._glassPaneElement = t1;
      t3 = t1.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t3, _s8_, _s8_0);
      A.DomCSSStyleDeclarationExtension_setProperty(t3, "top", _s1_);
      A.DomCSSStyleDeclarationExtension_setProperty(t3, "right", _s1_);
      A.DomCSSStyleDeclarationExtension_setProperty(t3, "bottom", _s1_);
      A.DomCSSStyleDeclarationExtension_setProperty(t3, "left", _s1_);
      t4.append(t1);
      glassPaneElementHostNode = _this._glassPaneShadow = _this._createHostNode$1(t1);
      t3 = t2.createElement("flt-scene-host");
      t4 = t3.style;
      B.CssStyleDeclaration_methods._setPropertyHelper$3(t4, B.CssStyleDeclaration_methods._browserPropertyName$1(t4, "pointer-events"), _s4_, "");
      _this._sceneHostElement = t3;
      if ($.$get$useCanvasKit()) {
        t3 = A.DomDocumentExtension_createElement(self.document, "flt-scene");
        $.skiaSceneHost = t3;
        _this.addSceneToSceneHost$1(type$.nullable_Element._as(t3));
      }
      semanticsHostElement = t2.createElement("flt-semantics-host");
      t2 = semanticsHostElement.style;
      t2.position = _s8_0;
      B.CssStyleDeclaration_methods._setPropertyHelper$3(t2, B.CssStyleDeclaration_methods._browserPropertyName$1(t2, "transform-origin"), "0 0 0", "");
      _this._semanticsHostElement = semanticsHostElement;
      _this.updateSemanticsScreenProperties$0();
      t2 = $.EngineSemanticsOwner__instance;
      _accessibilityPlaceholder = (t2 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t2).semanticsHelper._semanticsEnabler.prepareAccessibilityPlaceholder$0();
      t2 = glassPaneElementHostNode.get$nodes(glassPaneElementHostNode);
      t3 = _this._sceneHostElement;
      t3.toString;
      t2.addAll$1(0, A._setArrayType([_accessibilityPlaceholder, t3, semanticsHostElement], type$.JSArray_Node));
      t2 = $._configuration;
      if ((t2 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t2).get$debugShowSemanticsNodes()) {
        t2 = _this._sceneHostElement.style;
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t2, B.CssStyleDeclaration_methods._browserPropertyName$1(t2, "opacity"), "0.3", "");
      }
      if ($.PointerBinding__instance == null) {
        t1 = new A.PointerBinding(t1, new A.PointerDataConverter(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._PointerState)));
        t2 = $.$get$_browserEngine();
        if (t2 === B.BrowserEngine_1) {
          t2 = $.$get$_operatingSystem();
          t2 = t2 === B.OperatingSystem_0;
        } else
          t2 = false;
        if (t2)
          $.$get$SafariPointerEventWorkaround_instance().workAroundMissingPointerEvents$0();
        t1.__PointerBinding__adapter = t1._createAdapter$0();
        $.PointerBinding__instance = t1;
      }
      if ($.KeyboardBinding__instance == null) {
        t1 = new A.KeyboardBinding(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.void_Function_JavaScriptObject));
        t1._setup$0();
        $.KeyboardBinding__instance = t1;
      }
      if (window.visualViewport == null && isWebKit) {
        t1 = window.innerWidth;
        t1.toString;
        _box_0.checkCount = 0;
        A.Timer_Timer$periodic(B.Duration_100000, new A.FlutterViewEmbedder_reset_closure(_box_0, _this, t1));
      }
      t1 = _this.get$_metricsDidChange();
      t2 = type$.Event;
      if (window.visualViewport != null) {
        t3 = window.visualViewport;
        t3.toString;
        _this._resizeSubscription = A._EventStreamSubscription$(t3, "resize", t1, false, t2);
      } else
        _this._resizeSubscription = A._EventStreamSubscription$(window, "resize", t1, false, t2);
      _this._localeSubscription = A._EventStreamSubscription$(window, "languagechange", _this.get$_languageDidChange(), false, t2);
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t1.configuration = t1.configuration.copyWith$1$locales(A.EnginePlatformDispatcher_parseBrowserLanguages());
    },
    _createHostNode$1(root) {
      var t1, t2, shadowRootStyleElement, t3, t4;
      if (root.attachShadow != null) {
        t1 = new A.ShadowDomHostNode();
        t2 = root.attachShadow(A.convertDartToNative_Dictionary(A.LinkedHashMap_LinkedHashMap$_literal(["mode", "open", "delegatesFocus", false], type$.String, type$.dynamic)));
        t1.__ShadowDomHostNode__shadow = t2;
        shadowRootStyleElement = document.createElement("style");
        t2.appendChild(shadowRootStyleElement);
        t2 = shadowRootStyleElement.sheet;
        t2.toString;
        type$.CssStyleSheet._as(t2);
        t3 = $.$get$_browserEngine();
        if (t3 !== B.BrowserEngine_0)
          if (t3 !== B.BrowserEngine_5)
            t4 = t3 === B.BrowserEngine_1;
          else
            t4 = true;
        else
          t4 = true;
        A.applyGlobalCssRulesToSheet(t2, t3, t4);
        return t1;
      } else {
        t1 = new A.ElementHostNode();
        t2 = document.createElement("flt-element-host-node");
        t1.__ElementHostNode__element = t2;
        root.appendChild(t2);
        return t1;
      }
    },
    updateSemanticsScreenProperties$0() {
      var t1 = this._semanticsHostElement.style,
        t2 = window.devicePixelRatio;
      B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), "scale(" + A.S(1 / t2) + ")", "");
    },
    _metricsDidChange$1($event) {
      var t1;
      this.updateSemanticsScreenProperties$0();
      t1 = $.$get$_operatingSystem();
      if (!J.containsKey$1$x(B.Set_69tl2._collection$_map, t1) && !$.$get$window().isRotation$0() && $.$get$textEditing().isEditing) {
        $.$get$window().computeOnScreenKeyboardInsets$1(true);
        $.$get$EnginePlatformDispatcher__instance().invokeOnMetricsChanged$0();
      } else {
        t1 = $.$get$window();
        t1.computePhysicalSize$0();
        t1.computeOnScreenKeyboardInsets$1(false);
        $.$get$EnginePlatformDispatcher__instance().invokeOnMetricsChanged$0();
      }
    },
    _languageDidChange$1($event) {
      var t1 = $.$get$EnginePlatformDispatcher__instance();
      t1.configuration = t1.configuration.copyWith$1$locales(A.EnginePlatformDispatcher_parseBrowserLanguages());
      t1 = $.$get$window().platformDispatcher._onLocaleChanged;
      if (t1 != null)
        t1.call$0();
    },
    setPreferredOrientation$1(orientations) {
      var lockType, completer, t1, exception,
        screenOrientation = window.screen.orientation;
      if (screenOrientation != null) {
        t1 = J.getInterceptor$asx(orientations);
        if (t1.get$isEmpty(orientations)) {
          t1 = screenOrientation;
          t1.toString;
          J.unlock$0$x(t1);
          return A.Future_Future$value(true, type$.bool);
        } else {
          lockType = A.FlutterViewEmbedder__deviceOrientationToLockType(A._asStringQ(t1.get$first(orientations)));
          if (lockType != null) {
            completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool);
            try {
              A.promiseToFuture(screenOrientation.lock(lockType), type$.dynamic).then$1$1(new A.FlutterViewEmbedder_setPreferredOrientation_closure(completer), type$.Null).catchError$1(new A.FlutterViewEmbedder_setPreferredOrientation_closure0(completer));
            } catch (exception) {
              t1 = A.Future_Future$value(false, type$.bool);
              return t1;
            }
            return completer.future;
          }
        }
      }
      return A.Future_Future$value(false, type$.bool);
    }
  };
  A.FlutterViewEmbedder_reset_closure.prototype = {
    call$1(t) {
      var t1 = ++this._box_0.checkCount;
      if (this.initialInnerWidth !== window.innerWidth) {
        t.cancel$0(0);
        this.$this._metricsDidChange$1(null);
      } else if (t1 > 5)
        t.cancel$0(0);
    },
    $signature: 84
  };
  A.FlutterViewEmbedder_setPreferredOrientation_closure.prototype = {
    call$1(_) {
      this.completer.complete$1(0, true);
    },
    $signature: 9
  };
  A.FlutterViewEmbedder_setPreferredOrientation_closure0.prototype = {
    call$1(error) {
      this.completer.complete$1(0, false);
    },
    $signature: 9
  };
  A.EngineCanvas.prototype = {};
  A.SaveStackEntry.prototype = {};
  A.SaveClipEntry.prototype = {};
  A._SaveElementStackEntry.prototype = {};
  A.SaveElementStackTracking.prototype = {
    save$0(_) {
      var t2, t3, _this = this,
        t1 = _this.SaveElementStackTracking__elementStack;
      t1 = t1.length === 0 ? _this.rootElement : B.JSArray_methods.get$last(t1);
      t2 = _this.SaveElementStackTracking__currentTransform;
      t3 = new A.Matrix40(new Float32Array(16));
      t3.setFrom$1(t2);
      _this.SaveElementStackTracking__saveStack.push(new A._SaveElementStackEntry(t1, t3));
    },
    restore$0(_) {
      var entry, t2, t3, _this = this,
        t1 = _this.SaveElementStackTracking__saveStack;
      if (t1.length === 0)
        return;
      entry = t1.pop();
      _this.SaveElementStackTracking__currentTransform = entry.transform;
      t1 = _this.SaveElementStackTracking__elementStack;
      t2 = entry.savedElement;
      t3 = _this.rootElement;
      while (true) {
        if (!!J.$eq$(t1.length === 0 ? t3 : B.JSArray_methods.get$last(t1), t2))
          break;
        t1.pop();
      }
    },
    translate$2(_, dx, dy) {
      this.SaveElementStackTracking__currentTransform.translate$2(0, dx, dy);
    },
    scale$2(_, sx, sy) {
      this.SaveElementStackTracking__currentTransform.scale$2(0, sx, sy);
    },
    rotate$1(_, radians) {
      this.SaveElementStackTracking__currentTransform.rotate$2(0, $.$get$SaveElementStackTracking__unitZ(), radians);
    },
    transform$1(_, matrix4) {
      this.SaveElementStackTracking__currentTransform.multiply$1(0, new A.Matrix40(matrix4));
    }
  };
  A.sendFontChangeMessage_closure.prototype = {
    call$1(_) {
      $._fontChangeScheduled = false;
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/system", $.$get$_fontChangeMessage(), new A.sendFontChangeMessage__closure());
    },
    $signature: 212
  };
  A.sendFontChangeMessage__closure.prototype = {
    call$1(_) {
    },
    $signature: 39
  };
  A.FrameReference.prototype = {};
  A.CrossFrameCache.prototype = {
    commitFrame$0() {
      var t2, t3, t4, _this = this,
        t1 = _this._reusablePool;
      if (t1 != null)
        for (t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          for (t3 = J.get$iterator$ax(t3 == null ? t2._as(t3) : t3); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            t4.evictCallback.call$1(t4.value);
          }
        }
      _this._reusablePool = _this._cache;
      _this._cache = null;
    },
    _addToCache$2(key, item) {
      var t2, _this = this,
        t1 = _this._cache;
      if (t1 == null)
        t1 = _this._cache = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, _this.$ti._eval$1("List<_CrossFrameCacheItem<1>>"));
      t2 = t1.$index(0, key);
      if (t2 == null) {
        t2 = A._setArrayType([], _this.$ti._eval$1("JSArray<_CrossFrameCacheItem<1>>"));
        t1.$indexSet(0, key, t2);
        t1 = t2;
      } else
        t1 = t2;
      t1.push(item);
    },
    reuse$1(key) {
      var items, item,
        t1 = this._reusablePool;
      if (t1 == null)
        return null;
      items = t1.$index(0, key);
      if (items == null || items.length === 0)
        return null;
      item = (items && B.JSArray_methods).removeAt$1(items, 0);
      this._addToCache$2(key, item);
      return item.value;
    }
  };
  A._CrossFrameCacheItem.prototype = {};
  A.ShadowDomHostNode.prototype = {
    append$1(_, node) {
      var t1 = this.__ShadowDomHostNode__shadow;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.appendChild(node);
    },
    contains$1(_, other) {
      var t1 = this.__ShadowDomHostNode__shadow;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.contains(other);
    },
    get$node() {
      var t1 = this.__ShadowDomHostNode__shadow;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    get$nodes(_) {
      var t1 = this.__ShadowDomHostNode__shadow;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._ChildNodeListLazy(t1);
    }
  };
  A.ElementHostNode.prototype = {
    append$1(_, node) {
      var t1 = this.__ElementHostNode__element;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.appendChild(node);
    },
    contains$1(_, other) {
      var t1 = this.__ElementHostNode__element;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.contains(other);
    },
    get$node() {
      var t1 = this.__ElementHostNode__element;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    get$nodes(_) {
      var t1 = this.__ElementHostNode__element;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._ChildNodeListLazy(t1);
    }
  };
  A.BitmapCanvas.prototype = {
    set$bounds(_, newValue) {
      var newCanvasPositionX, newCanvasPositionY, _this = this;
      _this._bounds = newValue;
      newCanvasPositionX = B.JSNumber_methods.floor$0(newValue.left) - 1;
      newCanvasPositionY = B.JSNumber_methods.floor$0(_this._bounds.top) - 1;
      if (_this._canvasPositionX !== newCanvasPositionX || _this._canvasPositionY !== newCanvasPositionY) {
        _this._canvasPositionX = newCanvasPositionX;
        _this._canvasPositionY = newCanvasPositionY;
        _this._updateRootElementTransform$0();
      }
    },
    _updateRootElementTransform$0() {
      A.DomCSSStyleDeclarationExtension_setProperty(this.rootElement.style, "transform", "translate(" + this._canvasPositionX + "px, " + this._canvasPositionY + "px)");
    },
    _setupInitialTransform$0() {
      var _this = this,
        t1 = _this._bounds,
        t2 = t1.left;
      t1 = t1.top;
      _this._canvasPool.translate$2(0, -t2 + (t2 - 1 - _this._canvasPositionX) + 1, -t1 + (t1 - 1 - _this._canvasPositionY) + 1);
    },
    doesFitBounds$2(newBounds, newDensity) {
      return this.widthInBitmapPixels >= A.BitmapCanvas_widthToPhysical(newBounds.right - newBounds.left) && this.heightInBitmapPixels >= A.BitmapCanvas_heightToPhysical(newBounds.bottom - newBounds.top) && this._density === newDensity;
    },
    clear$0(_) {
      var t1, len, t2, i, child, _this = this;
      _this._contains3dTransform = false;
      _this._canvasPool.clear$0(0);
      t1 = _this.__engine$_children;
      len = t1.length;
      for (t2 = _this.rootElement, i = 0; i < len; ++i) {
        child = t1[i];
        if (J.$eq$(child.parentNode, t2))
          child.remove();
      }
      B.JSArray_methods.clear$0(t1);
      _this._childOverdraw = false;
      _this._cachedLastCssFont = null;
      _this._setupInitialTransform$0();
    },
    save$0(_) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$save(0);
      if (t1.__engine$_canvas != null) {
        t1.get$context(t1).save();
        ++t1._saveContextCount;
      }
      return this._saveCount++;
    },
    restore$0(_) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$restore(0);
      if (t1.__engine$_canvas != null) {
        t1.get$context(t1).restore();
        t1.get$contextHandle().reset$0(0);
        --t1._saveContextCount;
      }
      --this._saveCount;
      this._cachedLastCssFont = null;
    },
    translate$2(_, dx, dy) {
      this._canvasPool.translate$2(0, dx, dy);
    },
    scale$2(_, sx, sy) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$scale(0, sx, sy);
      if (t1.__engine$_canvas != null)
        t1.get$context(t1).scale(sx, sy);
    },
    rotate$1(_, radians) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$rotate(0, radians);
      if (t1.__engine$_canvas != null)
        t1.get$context(t1).rotate(radians);
    },
    transform$1(_, matrix4) {
      var t1;
      if (A.transformKindOf(matrix4) === B.TransformKind_2)
        this._contains3dTransform = true;
      t1 = this._canvasPool;
      t1.super$_SaveStackTracking$transform(0, matrix4);
      if (t1.__engine$_canvas != null)
        t1.get$context(t1).transform(matrix4[0], matrix4[1], matrix4[4], matrix4[5], matrix4[12], matrix4[13]);
    },
    clipRect$2(rect, clipOp) {
      var path, t2,
        t1 = this._canvasPool;
      if (clipOp === B.ClipOp_0) {
        path = A.SurfacePath$();
        path._fillType = B.PathFillType_1;
        t2 = this._bounds;
        path.addRectWithDirection$3(new A.Rect(0, 0, 0 + (t2.right - t2.left), 0 + (t2.bottom - t2.top)), 0, 0);
        path.addRectWithDirection$3(rect, 0, 0);
        t1.clipPath$1(0, path);
      } else {
        t1.super$_SaveStackTracking$clipRect(rect);
        if (t1.__engine$_canvas != null)
          t1.__engine$_clipRect$2(t1.get$context(t1), rect);
      }
    },
    clipRRect$1(rrect) {
      var t1 = this._canvasPool;
      t1.super$_SaveStackTracking$clipRRect(rrect);
      if (t1.__engine$_canvas != null)
        t1.__engine$_clipRRect$2(t1.get$context(t1), rrect);
    },
    clipPath$1(_, path) {
      this._canvasPool.clipPath$1(0, path);
    },
    _useDomForRenderingFill$1(paint) {
      var t1, _this = this;
      if (!_this._renderStrategy.isInsideSvgFilterTree)
        if (!(!_this._preserveImageData && _this._contains3dTransform))
          t1 = _this._childOverdraw && _this._canvasPool.__engine$_canvas == null && paint.maskFilter == null && paint.shader == null && paint.style !== B.PaintingStyle_1;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _useDomForRenderingFillAndStroke$1(paint) {
      var _this = this,
        t1 = _this._renderStrategy;
      if (!t1.isInsideSvgFilterTree)
        if (!(!_this._preserveImageData && _this._contains3dTransform))
          t1 = (_this._childOverdraw || t1.hasImageElements || t1.hasParagraphs) && _this._canvasPool.__engine$_canvas == null && paint.maskFilter == null && paint.shader == null;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    drawLine$3(p1, p2, paint) {
      var path, shaderBounds, t1, ctx, t2, t3, t4, t5, t6, t7;
      if (this._useDomForRenderingFill$1(paint)) {
        path = A.SurfacePath$();
        path.moveTo$2(0, p1._dx, p1._dy);
        path.lineTo$2(0, p2._dx, p2._dy);
        this.drawPath$2(path, paint);
      } else {
        shaderBounds = paint.shader != null ? A.Rect$fromPoints(p1, p2) : null;
        t1 = this._canvasPool;
        t1.get$contextHandle().setUpPaint$2(paint, shaderBounds);
        ctx = t1.get$context(t1);
        ctx.beginPath();
        shaderBounds = t1.get$contextHandle()._shaderBounds;
        t2 = p1._dx;
        t3 = p1._dy;
        t4 = p2._dx;
        t5 = p2._dy;
        if (shaderBounds == null) {
          ctx.moveTo(t2, t3);
          ctx.lineTo(t4, t5);
        } else {
          t6 = shaderBounds.left;
          t7 = shaderBounds.top;
          ctx.moveTo(t2 - t6, t3 - t7);
          ctx.lineTo(t4 - t6, t5 - t7);
        }
        ctx.stroke();
        t1.get$contextHandle().tearDownPaint$0();
      }
    },
    drawPaint$1(paint) {
      var t1, inverted, dpr, width, height, topLeft, topRight, bottomRight, bottomLeft, t2, t3, t4, t5, t6, t7, t8, t9, shaderBounds, ctx, _this = this;
      if (_this._useDomForRenderingFill$1(paint)) {
        t1 = _this._canvasPool._currentTransform;
        inverted = new A.Matrix40(new Float32Array(16));
        inverted.setFrom$1(t1);
        inverted.copyInverse$1(inverted);
        t1 = $.$get$window();
        dpr = t1._debugDevicePixelRatio;
        if (dpr == null)
          dpr = A.EnginePlatformDispatcher_browserDevicePixelRatio();
        width = t1.get$physicalSize()._dx * dpr;
        height = t1.get$physicalSize()._dy * dpr;
        t1 = new A.Vector30(new Float32Array(3));
        t1.setValues$3(0, 0, 0);
        topLeft = inverted.perspectiveTransform$1(t1);
        t1 = new A.Vector30(new Float32Array(3));
        t1.setValues$3(width, 0, 0);
        topRight = inverted.perspectiveTransform$1(t1);
        t1 = new A.Vector30(new Float32Array(3));
        t1.setValues$3(width, height, 0);
        bottomRight = inverted.perspectiveTransform$1(t1);
        t1 = new A.Vector30(new Float32Array(3));
        t1.setValues$3(0, height, 0);
        bottomLeft = inverted.perspectiveTransform$1(t1);
        t1 = topLeft.__engine$_v3storage;
        t2 = t1[0];
        t3 = topRight.__engine$_v3storage;
        t4 = t3[0];
        t5 = bottomRight.__engine$_v3storage;
        t6 = t5[0];
        t7 = bottomLeft.__engine$_v3storage;
        t8 = t7[0];
        t9 = Math.min(t2, Math.min(t4, Math.min(t6, t8)));
        t1 = t1[1];
        t3 = t3[1];
        t5 = t5[1];
        t7 = t7[1];
        _this.drawRect$2(new A.Rect(t9, Math.min(t1, Math.min(t3, Math.min(t5, t7))), Math.max(t2, Math.max(t4, Math.max(t6, t8))), Math.max(t1, Math.max(t3, Math.max(t5, t7)))), paint);
      } else {
        if (paint.shader != null) {
          t1 = _this._bounds;
          shaderBounds = new A.Rect(0, 0, t1.right - t1.left, t1.bottom - t1.top);
        } else
          shaderBounds = null;
        t1 = _this._canvasPool;
        t1.get$contextHandle().setUpPaint$2(paint, shaderBounds);
        ctx = t1.get$context(t1);
        ctx.beginPath();
        ctx.fillRect(-10000, -10000, 20000, 20000);
        t1.get$contextHandle().tearDownPaint$0();
      }
    },
    drawRect$2(rect, paint) {
      var t2, shaderBounds, t3, t4, t5, t6,
        t1 = this._canvasPool;
      if (this._useDomForRenderingFillAndStroke$1(paint))
        this._drawElement$3(A.buildDrawRectElement(rect, paint, "draw-rect", t1._currentTransform), new A.Offset(Math.min(rect.left, rect.right), Math.min(rect.top, rect.bottom)), paint);
      else {
        t1.get$contextHandle().setUpPaint$2(paint, rect);
        t2 = paint.style;
        t1.get$context(t1).beginPath();
        shaderBounds = t1.get$contextHandle()._shaderBounds;
        t3 = rect.left;
        t4 = rect.top;
        t5 = rect.right - t3;
        t6 = rect.bottom - t4;
        if (shaderBounds == null)
          t1.get$context(t1).rect(t3, t4, t5, t6);
        else
          t1.get$context(t1).rect(t3 - shaderBounds.left, t4 - shaderBounds.top, t5, t6);
        t1.get$contextHandle().paint$1(t2);
        t1.get$contextHandle().tearDownPaint$0();
      }
    },
    _drawElement$3(element, offset, paint) {
      var clipElements, t3, _i, clipElement, blendMode, _this = this,
        t1 = _this._canvasPool,
        t2 = t1.clipStack;
      if (t2 != null) {
        clipElements = A._clipContent(t2, element, B.Offset_0_0, A.transformWithOffset(t1._currentTransform, offset));
        for (t1 = clipElements.length, t2 = _this.rootElement, t3 = _this.__engine$_children, _i = 0; _i < clipElements.length; clipElements.length === t1 || (0, A.throwConcurrentModificationError)(clipElements), ++_i) {
          clipElement = clipElements[_i];
          t2.append(clipElement);
          t3.push(clipElement);
        }
      } else {
        _this.rootElement.append(element);
        _this.__engine$_children.push(element);
      }
      blendMode = paint.blendMode;
      if (blendMode != null) {
        t1 = element.style;
        t2 = A.blendModeToCssMixBlendMode(blendMode);
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "mix-blend-mode", t2 == null ? "" : t2);
      }
      _this._closeCanvas$0();
    },
    drawRRect$2(rrect, paint) {
      var element, shaderBounds, left, right, $top, bottom, t0, trRadiusX, tlRadiusX, trRadiusY, tlRadiusY, blRadiusX, brRadiusX, blRadiusY, brRadiusY,
        t1 = rrect.left,
        t2 = rrect.top,
        t3 = rrect.right,
        t4 = rrect.bottom,
        t5 = this._canvasPool;
      if (this._useDomForRenderingFillAndStroke$1(paint)) {
        element = A.buildDrawRectElement(new A.Rect(t1, t2, t3, t4), paint, "draw-rrect", t5._currentTransform);
        A.applyRRectBorderRadius(element.style, rrect);
        this._drawElement$3(element, new A.Offset(Math.min(t1, t3), Math.min(t2, t4)), paint);
      } else {
        t5.get$contextHandle().setUpPaint$2(paint, new A.Rect(t1, t2, t3, t4));
        t1 = paint.style;
        shaderBounds = t5.get$contextHandle()._shaderBounds;
        t2 = t5.get$context(t5);
        rrect = (shaderBounds == null ? rrect : rrect.shift$1(new A.Offset(-shaderBounds.left, -shaderBounds.top))).scaleRadii$0();
        left = rrect.left;
        right = rrect.right;
        $top = rrect.top;
        bottom = rrect.bottom;
        if (left > right) {
          t0 = right;
          right = left;
          left = t0;
        }
        if ($top > bottom) {
          t0 = bottom;
          bottom = $top;
          $top = t0;
        }
        trRadiusX = Math.abs(rrect.trRadiusX);
        tlRadiusX = Math.abs(rrect.tlRadiusX);
        trRadiusY = Math.abs(rrect.trRadiusY);
        tlRadiusY = Math.abs(rrect.tlRadiusY);
        blRadiusX = Math.abs(rrect.blRadiusX);
        brRadiusX = Math.abs(rrect.brRadiusX);
        blRadiusY = Math.abs(rrect.blRadiusY);
        brRadiusY = Math.abs(rrect.brRadiusY);
        t2.beginPath();
        t2.moveTo(left + trRadiusX, $top);
        t3 = right - trRadiusX;
        t2.lineTo(t3, $top);
        A.drawEllipse(t2, t3, $top + trRadiusY, trRadiusX, trRadiusY, 0, 4.71238898038469, 6.283185307179586, false);
        t3 = bottom - brRadiusY;
        t2.lineTo(right, t3);
        A.drawEllipse(t2, right - brRadiusX, t3, brRadiusX, brRadiusY, 0, 0, 1.5707963267948966, false);
        t3 = left + blRadiusX;
        t2.lineTo(t3, bottom);
        A.drawEllipse(t2, t3, bottom - blRadiusY, blRadiusX, blRadiusY, 0, 1.5707963267948966, 3.141592653589793, false);
        t3 = $top + tlRadiusY;
        t2.lineTo(left, t3);
        A.drawEllipse(t2, left + tlRadiusX, t3, tlRadiusX, tlRadiusY, 0, 3.141592653589793, 4.71238898038469, false);
        t5.get$contextHandle().paint$1(t1);
        t5.get$contextHandle().tearDownPaint$0();
      }
    },
    drawOval$2(rect, paint) {
      var element, t2, t3, t4, shaderBounds, cx, cy,
        t1 = this._canvasPool;
      if (this._useDomForRenderingFill$1(paint)) {
        element = A.buildDrawRectElement(rect, paint, "draw-oval", t1._currentTransform);
        t1 = rect.left;
        t2 = rect.right;
        t3 = rect.top;
        t4 = rect.bottom;
        this._drawElement$3(element, new A.Offset(Math.min(t1, t2), Math.min(t3, t4)), paint);
        A.DomCSSStyleDeclarationExtension_setProperty(element.style, "border-radius", A.S((t2 - t1) / 2) + "px / " + A.S((t4 - t3) / 2) + "px");
      } else {
        t1.get$contextHandle().setUpPaint$2(paint, rect);
        t2 = paint.style;
        t1.get$context(t1).beginPath();
        shaderBounds = t1.get$contextHandle()._shaderBounds;
        t3 = shaderBounds == null;
        cx = t3 ? rect.get$center()._dx : rect.get$center()._dx - shaderBounds.left;
        cy = t3 ? rect.get$center()._dy : rect.get$center()._dy - shaderBounds.top;
        A.drawEllipse(t1.get$context(t1), cx, cy, (rect.right - rect.left) / 2, (rect.bottom - rect.top) / 2, 0, 0, 6.283185307179586, false);
        t1.get$contextHandle().paint$1(t2);
        t1.get$contextHandle().tearDownPaint$0();
      }
    },
    drawCircle$3(c, radius, paint) {
      var element, t1, t2, shaderBounds, t3, cx, cy, _this = this,
        rect = A.Rect$fromCircle(c, radius);
      if (_this._useDomForRenderingFillAndStroke$1(paint)) {
        element = A.buildDrawRectElement(rect, paint, "draw-circle", _this._canvasPool._currentTransform);
        _this._drawElement$3(element, new A.Offset(Math.min(rect.left, rect.right), Math.min(rect.top, rect.bottom)), paint);
        A.DomCSSStyleDeclarationExtension_setProperty(element.style, "border-radius", "50%");
      } else {
        t1 = paint.shader != null ? A.Rect$fromCircle(c, radius) : null;
        t2 = _this._canvasPool;
        t2.get$contextHandle().setUpPaint$2(paint, t1);
        t1 = paint.style;
        t2.get$context(t2).beginPath();
        shaderBounds = t2.get$contextHandle()._shaderBounds;
        t3 = shaderBounds == null;
        cx = c._dx;
        cx = t3 ? cx : cx - shaderBounds.left;
        cy = c._dy;
        cy = t3 ? cy : cy - shaderBounds.top;
        A.drawEllipse(t2.get$context(t2), cx, cy, radius, radius, 0, 0, 6.283185307179586, false);
        t2.get$contextHandle().paint$1(t1);
        t2.get$contextHandle().tearDownPaint$0();
      }
    },
    drawPath$2(path, paint) {
      var t1, transform, pathAsLine, t2, t3, t4, rect, pathAsRect, pathAsRRect, pathBounds, color, t5, cssColor, sigma, _this = this,
        _s12_ = "setAttribute";
      if (_this._useDomForRenderingFill$1(paint)) {
        t1 = _this._canvasPool;
        transform = t1._currentTransform;
        type$.SurfacePath._as(path);
        pathAsLine = path.pathRef.getStraightLine$0();
        if (pathAsLine != null) {
          t2 = pathAsLine.top;
          t3 = pathAsLine.bottom;
          t4 = pathAsLine.left;
          rect = t2 === t3 ? new A.Rect(t4, t2, t4 + (pathAsLine.right - t4), t2 + 1) : new A.Rect(t4, t2, t4 + 1, t2 + (t3 - t2));
          _this._drawElement$3(A.buildDrawRectElement(rect, paint, "draw-rect", t1._currentTransform), new A.Offset(Math.min(rect.left, rect.right), Math.min(rect.top, rect.bottom)), paint);
          return;
        }
        pathAsRect = path.pathRef.getRect$0();
        if (pathAsRect != null) {
          _this.drawRect$2(pathAsRect, paint);
          return;
        }
        t2 = path.pathRef;
        pathAsRRect = t2.fIsRRect ? t2._getRRect$0() : null;
        if (pathAsRRect != null) {
          _this.drawRRect$2(pathAsRRect, paint);
          return;
        }
        pathBounds = path.getBounds$0(0);
        t2 = A.S(pathBounds.right);
        t3 = A.S(pathBounds.bottom);
        t4 = self.document.createElementNS("http://www.w3.org/2000/svg", "svg");
        A.callMethod(t4, _s12_, ["version", "1.1"]);
        A.callMethod(t4, _s12_, ["width", t2 + "px"]);
        A.callMethod(t4, _s12_, ["height", t3 + "px"]);
        A.callMethod(t4, _s12_, ["viewBox", "0 0 " + t2 + " " + t3]);
        t3 = self.document.createElementNS("http://www.w3.org/2000/svg", "path");
        t4.append(t3);
        color = paint.color;
        t2 = color == null;
        if (t2)
          color = B.Color_4278190080;
        t5 = paint.style;
        if (t5 !== B.PaintingStyle_1)
          if (t5 !== B.PaintingStyle_0) {
            t5 = paint.strokeWidth;
            t5 = t5 !== 0 && t5 != null;
          } else
            t5 = false;
        else
          t5 = true;
        if (t5) {
          t2 = A.colorToCssString(color);
          t2.toString;
          A.callMethod(t3, _s12_, ["stroke", t2]);
          t2 = paint.strokeWidth;
          A.callMethod(t3, _s12_, ["stroke-width", A.S(t2 == null ? 1 : t2)]);
          A.callMethod(t3, _s12_, ["fill", "none"]);
        } else if (!t2) {
          t2 = A.colorToCssString(color);
          t2.toString;
          A.callMethod(t3, _s12_, ["fill", t2]);
        } else
          A.callMethod(t3, _s12_, ["fill", "#000000"]);
        if (path._fillType === B.PathFillType_1)
          A.callMethod(t3, _s12_, ["fill-rule", "evenodd"]);
        A.callMethod(t3, _s12_, ["d", A.pathToSvg(path.pathRef, 0, 0)]);
        if (t1.clipStack == null) {
          t1 = t4.style;
          A.DomCSSStyleDeclarationExtension_setProperty(t1, "position", "absolute");
          if (!transform.isIdentity$0(0)) {
            A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform", A.float64ListToCssTransform(transform.__engine$_m4storage));
            A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform-origin", "0 0 0");
          }
        }
        if (paint.maskFilter != null) {
          t1 = paint.style;
          t2 = paint.color;
          if (t2 == null)
            cssColor = "#000000";
          else {
            t2 = A.colorToCssString(t2);
            t2.toString;
            cssColor = t2;
          }
          sigma = paint.maskFilter._sigma;
          t2 = $.$get$_browserEngine();
          if (t2 === B.BrowserEngine_1 && t1 !== B.PaintingStyle_1)
            A.DomCSSStyleDeclarationExtension_setProperty(t4.style, "box-shadow", "0px 0px " + A.S(sigma * 2) + "px " + cssColor);
          else
            A.DomCSSStyleDeclarationExtension_setProperty(t4.style, "filter", "blur(" + A.S(sigma) + "px)");
        }
        _this._drawElement$3(t4, B.Offset_0_0, paint);
      } else {
        t1 = paint.shader != null ? path.getBounds$0(0) : null;
        t2 = _this._canvasPool;
        t2.get$contextHandle().setUpPaint$2(paint, t1);
        t1 = paint.style;
        if (t1 == null && paint.strokeWidth != null)
          t2.drawPath$2(path, B.PaintingStyle_1);
        else
          t2.drawPath$2(path, t1);
        t2.get$contextHandle().tearDownPaint$0();
      }
    },
    drawShadow$4(path, color, elevation, transparentOccluder) {
      var t2, solidColor, t3, t4, t5,
        t1 = this._canvasPool,
        shadow = A.computeShadow(path.getBounds$0(0), elevation);
      if (shadow != null) {
        t2 = (B.JSNumber_methods.round$0(0.3 * (color.get$value(color) >>> 24 & 255)) & 255) << 24 | color.get$value(color) & 16777215;
        solidColor = A.colorComponentsToCssString(t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255, 255);
        t1.get$context(t1).save();
        t1.get$context(t1).globalAlpha = (t2 >>> 24 & 255) / 255;
        if (transparentOccluder) {
          t2 = $.$get$_browserEngine();
          t2 = t2 !== B.BrowserEngine_1;
        } else
          t2 = false;
        t3 = shadow.offset;
        t4 = shadow.blurWidth;
        t5 = t3._dx;
        t3 = t3._dy;
        if (t2) {
          t1.get$context(t1).translate(t5, t3);
          t1.get$context(t1).filter = A.maskFilterToCanvasFilter(new A.MaskFilter(B.BlurStyle_0, t4));
          t1.get$context(t1).strokeStyle = "";
          t1.get$context(t1).fillStyle = solidColor;
        } else {
          t1.get$context(t1).filter = "none";
          t1.get$context(t1).strokeStyle = "";
          t1.get$context(t1).fillStyle = solidColor;
          t1.get$context(t1).shadowBlur = t4;
          t1.get$context(t1).shadowColor = solidColor;
          t1.get$context(t1).shadowOffsetX = t5;
          t1.get$context(t1).shadowOffsetY = t3;
        }
        t1._runPath$2(t1.get$context(t1), path);
        t1.get$context(t1).fill();
        t1.get$context(t1).restore();
      }
    },
    _reuseOrCreateImage$1(htmlImage) {
      var t2, imageElement, newImageElement,
        t1 = htmlImage.imgElement.src;
      t1.toString;
      t2 = this._elementCache;
      if (t2 != null) {
        imageElement = t2.reuse$1(t1);
        if (imageElement != null)
          return imageElement;
      }
      newImageElement = htmlImage.cloneImageElement$0();
      t2 = this._elementCache;
      if (t2 != null)
        t2._addToCache$2(t1, new A._CrossFrameCacheItem(newImageElement, A._engine_BitmapCanvas__onEvictElement$closure(), t2.$ti._eval$1("_CrossFrameCacheItem<1>")));
      return newImageElement;
    },
    _drawImage$3(image, p, paint) {
      var blendMode, colorFilter, imgElement, t1, t2, clipElements, t3, _i, clipElement, cssTransform, _this = this;
      type$.HtmlImage._as(image);
      blendMode = paint.blendMode;
      colorFilter = paint.colorFilter;
      if (colorFilter instanceof A.CkBlendModeColorFilter)
        imgElement = _this._createImageElementWithBlend$4(image, colorFilter.color, colorFilter.blendMode, paint);
      else
        imgElement = _this._reuseOrCreateImage$1(image);
      t1 = imgElement.style;
      t2 = A.blendModeToCssMixBlendMode(blendMode);
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "mix-blend-mode", t2 == null ? "" : t2);
      t1 = _this._canvasPool;
      if (t1.clipStack != null) {
        t2 = imgElement.style;
        t2.removeProperty("width");
        t2.removeProperty("height");
        t2 = t1.clipStack;
        t2.toString;
        clipElements = A._clipContent(t2, imgElement, p, t1._currentTransform);
        for (t1 = clipElements.length, t2 = _this.rootElement, t3 = _this.__engine$_children, _i = 0; _i < clipElements.length; clipElements.length === t1 || (0, A.throwConcurrentModificationError)(clipElements), ++_i) {
          clipElement = clipElements[_i];
          t2.append(clipElement);
          t3.push(clipElement);
        }
      } else {
        cssTransform = A.float64ListToCssTransform(A.transformWithOffset(t1._currentTransform, p).__engine$_m4storage);
        t1 = imgElement.style;
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform-origin", "0 0 0");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "transform", cssTransform);
        t1.removeProperty("width");
        t1.removeProperty("height");
        _this.rootElement.append(imgElement);
        _this.__engine$_children.push(imgElement);
      }
      return imgElement;
    },
    _createImageElementWithBlend$4(image, color, blendMode, paint) {
      var builder, svgFilter, imgElement, t2,
        _s9_ = "destalpha",
        _s5_ = "flood", _s4_ = "comp",
        _s13_ = "SourceGraphic",
        _s16_ = "background-color",
        _s8_ = "absolute",
        _s8_0 = "position",
        _s16_0 = "background-image",
        t1 = blendMode.index;
      switch (t1) {
        case 19:
        case 18:
        case 25:
        case 13:
        case 15:
        case 12:
        case 5:
        case 9:
        case 7:
        case 26:
        case 27:
        case 28:
        case 11:
        case 10:
          switch (t1) {
            case 5:
            case 9:
              builder = A.SvgFilterBuilder$();
              builder.filter.setAttribute("color-interpolation-filters", "sRGB");
              builder.setFeColorMatrix$2$result(B.List_ek3, _s9_);
              t1 = A.colorToCssString(color);
              builder.setFeFlood$3$floodColor$floodOpacity$result(t1 == null ? "" : t1, "1", _s5_);
              builder.setFeComposite$8$in1$in2$k1$k2$k3$k4$operator$result(_s5_, _s9_, 1, 0, 0, 0, 6, _s4_);
              svgFilter = builder.build$0();
              break;
            case 7:
              builder = A.SvgFilterBuilder$();
              t1 = A.colorToCssString(color);
              builder.setFeFlood$3$floodColor$floodOpacity$result(t1 == null ? "" : t1, "1", _s5_);
              builder.setFeComposite$4$in1$in2$operator$result(_s5_, _s13_, 3, _s4_);
              svgFilter = builder.build$0();
              break;
            case 10:
              builder = A.SvgFilterBuilder$();
              t1 = A.colorToCssString(color);
              builder.setFeFlood$3$floodColor$floodOpacity$result(t1 == null ? "" : t1, "1", _s5_);
              builder.setFeComposite$4$in1$in2$operator$result(_s13_, _s5_, 4, _s4_);
              svgFilter = builder.build$0();
              break;
            case 11:
              builder = A.SvgFilterBuilder$();
              t1 = A.colorToCssString(color);
              builder.setFeFlood$3$floodColor$floodOpacity$result(t1 == null ? "" : t1, "1", _s5_);
              builder.setFeComposite$4$in1$in2$operator$result(_s5_, _s13_, 5, _s4_);
              svgFilter = builder.build$0();
              break;
            case 12:
              builder = A.SvgFilterBuilder$();
              t1 = A.colorToCssString(color);
              builder.setFeFlood$3$floodColor$floodOpacity$result(t1 == null ? "" : t1, "1", _s5_);
              builder.setFeComposite$8$in1$in2$k1$k2$k3$k4$operator$result(_s5_, _s13_, 0, 1, 1, 0, 6, _s4_);
              svgFilter = builder.build$0();
              break;
            case 13:
              t1 = color.value;
              builder = A.SvgFilterBuilder$();
              builder.setFeColorMatrix$2$result(A._setArrayType([0, 0, 0, 0, (t1 >>> 16 & 255) / 255, 0, 0, 0, 0, (t1 >>> 8 & 255) / 255, 0, 0, 0, 0, (t1 & 255) / 255, 0, 0, 0, 1, 0], type$.JSArray_double), "recolor");
              builder.setFeComposite$8$in1$in2$k1$k2$k3$k4$operator$result("recolor", _s13_, 1, 0, 0, 0, 6, _s4_);
              svgFilter = builder.build$0();
              break;
            case 15:
              t1 = A.blendModeToSvgEnum(B.BlendMode_20);
              t1.toString;
              svgFilter = A._blendColorFilterToSvg(color, t1, true);
              break;
            case 26:
            case 18:
            case 19:
            case 25:
            case 27:
            case 28:
            case 24:
            case 14:
            case 16:
            case 17:
            case 20:
            case 21:
            case 22:
            case 23:
              t1 = A.blendModeToSvgEnum(blendMode);
              t1.toString;
              svgFilter = A._blendColorFilterToSvg(color, t1, false);
              break;
            case 1:
            case 2:
            case 6:
            case 8:
            case 4:
            case 0:
            case 3:
              A.throwExpression(A.UnimplementedError$("Blend mode not supported in HTML renderer: " + blendMode.toString$0(0)));
              svgFilter = null;
              break;
            default:
              svgFilter = null;
          }
          t1 = svgFilter.element;
          this.rootElement.append(t1);
          this.__engine$_children.push(t1);
          imgElement = this._reuseOrCreateImage$1(image);
          A.DomCSSStyleDeclarationExtension_setProperty(imgElement.style, "filter", "url(#" + svgFilter.id + ")");
          if (blendMode === B.BlendMode_26) {
            t1 = imgElement.style;
            t2 = A.colorToCssString(color);
            t2.toString;
            A.DomCSSStyleDeclarationExtension_setProperty(t1, _s16_, t2);
          }
          return imgElement;
        default:
          imgElement = A.DomDocumentExtension_createElement(self.document, "div");
          t2 = imgElement.style;
          switch (t1) {
            case 0:
            case 8:
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s8_0, _s8_);
              break;
            case 1:
            case 3:
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s8_0, _s8_);
              t1 = A.colorToCssString(color);
              t1.toString;
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s16_, t1);
              break;
            case 2:
            case 6:
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s8_0, _s8_);
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s16_0, "url('" + A.S(image.imgElement.src) + "')");
              break;
            default:
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s8_0, _s8_);
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s16_0, "url('" + A.S(image.imgElement.src) + "')");
              t1 = A.blendModeToCssMixBlendMode(blendMode);
              A.DomCSSStyleDeclarationExtension_setProperty(t2, "background-blend-mode", t1 == null ? "" : t1);
              t1 = A.colorToCssString(color);
              t1.toString;
              A.DomCSSStyleDeclarationExtension_setProperty(t2, _s16_, t1);
              break;
          }
          return imgElement;
      }
    },
    drawImageRect$4(image, src, dst, paint) {
      var t2, requiresClipping, targetLeft, targetWidth, targetTop, t3, targetTop0, imgElement, targetHeight, widthPx, heightPx, _this = this,
        t1 = src.left;
      if (t1 === 0) {
        t2 = src.top;
        requiresClipping = t2 !== 0 || src.right - t1 !== image.get$width(image) || src.bottom - t2 !== image.get$height(image);
      } else
        requiresClipping = true;
      targetLeft = dst.left;
      targetWidth = dst.right - targetLeft;
      if (targetWidth === image.get$width(image) && dst.bottom - dst.top === image.get$height(image) && !requiresClipping && paint.colorFilter == null)
        _this._drawImage$3(image, new A.Offset(targetLeft, dst.top), paint);
      else {
        if (requiresClipping) {
          _this.save$0(0);
          _this.clipRect$2(dst, B.ClipOp_1);
        }
        targetTop = dst.top;
        if (requiresClipping) {
          t2 = src.right - t1;
          if (t2 !== image.get$width(image))
            targetLeft += -t1 * (targetWidth / t2);
          t2 = src.top;
          t3 = src.bottom - t2;
          targetTop0 = t3 !== image.get$height(image) ? targetTop + -t2 * ((dst.bottom - targetTop) / t3) : targetTop;
        } else
          targetTop0 = targetTop;
        imgElement = _this._drawImage$3(image, new A.Offset(targetLeft, targetTop0), paint);
        targetHeight = dst.bottom - targetTop;
        if (requiresClipping) {
          targetWidth *= image.get$width(image) / (src.right - t1);
          targetHeight *= image.get$height(image) / (src.bottom - src.top);
        }
        t1 = imgElement.style;
        widthPx = B.JSNumber_methods.toStringAsFixed$1(targetWidth, 2) + "px";
        heightPx = B.JSNumber_methods.toStringAsFixed$1(targetHeight, 2) + "px";
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "left", "0px");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "top", "0px");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "width", widthPx);
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "height", heightPx);
        t1 = self.window.HTMLImageElement;
        t1.toString;
        if (!(imgElement instanceof t1))
          A.DomCSSStyleDeclarationExtension_setProperty(imgElement.style, "background-size", widthPx + " " + heightPx);
        if (requiresClipping)
          _this.restore$0(0);
      }
      _this._closeCanvas$0();
    },
    _closeCanvas$0() {
      var t2, t3,
        t1 = this._canvasPool;
      if (t1.__engine$_canvas != null) {
        t1._restoreContextSave$0();
        t1._contextHandle.reset$0(0);
        t2 = t1._activeCanvasList;
        if (t2 == null)
          t2 = t1._activeCanvasList = A._setArrayType([], type$.JSArray_CanvasElement);
        t3 = t1.__engine$_canvas;
        t3.toString;
        t2.push(t3);
        t1._contextHandle = t1.__engine$_context = t1.__engine$_canvas = null;
      }
      this._childOverdraw = true;
      this._cachedLastCssFont = null;
    },
    drawText$5$shadows$style(text, x, y, shadows, style) {
      var t2, _i, shadow, t3,
        t1 = this._canvasPool,
        ctx = t1.get$context(t1);
      if (shadows != null) {
        ctx.save();
        for (t1 = shadows.length, t2 = style === B.PaintingStyle_1, _i = 0; _i < shadows.length; shadows.length === t1 || (0, A.throwConcurrentModificationError)(shadows), ++_i) {
          shadow = shadows[_i];
          t3 = A.colorToCssString(shadow.color);
          t3.toString;
          ctx.shadowColor = t3;
          ctx.shadowBlur = shadow.blurRadius;
          t3 = shadow.offset;
          ctx.shadowOffsetX = t3._dx;
          ctx.shadowOffsetY = t3._dy;
          if (t2)
            ctx.strokeText(text, x, y);
          else
            ctx.fillText(text, x, y);
        }
        ctx.restore();
      }
      if (style === B.PaintingStyle_1)
        ctx.strokeText(text, x, y);
      else
        B.CanvasRenderingContext2D_methods.fillText$3(ctx, text, x, y);
    },
    drawText$4$style(text, x, y, style) {
      return this.drawText$5$shadows$style(text, x, y, null, style);
    },
    drawParagraph$2(paragraph, offset) {
      var value, paragraphElement, t1, t2, clipElements, t3, _i, clipElement, _this = this;
      if (paragraph.canDrawOnCanvas && _this._canvasPool.__engine$_canvas != null && !_this._childOverdraw && !_this._renderStrategy.isInsideSvgFilterTree) {
        value = paragraph.__CanvasParagraph__paintService;
        if (value === $) {
          if (value !== $)
            A.throwUnnamedLateFieldADI();
          value = paragraph.__CanvasParagraph__paintService = new A.TextPaintService(paragraph);
        }
        value.paint$2(_this, offset);
        return;
      }
      paragraphElement = A.drawParagraphElement(paragraph, offset, null);
      t1 = _this._canvasPool;
      t2 = t1.clipStack;
      t1 = t1._currentTransform;
      if (t2 != null) {
        clipElements = A._clipContent(t2, paragraphElement, offset, t1);
        for (t1 = clipElements.length, t2 = _this.rootElement, t3 = _this.__engine$_children, _i = 0; _i < clipElements.length; clipElements.length === t1 || (0, A.throwConcurrentModificationError)(clipElements), ++_i) {
          clipElement = clipElements[_i];
          t2.append(clipElement);
          t3.push(clipElement);
        }
      } else {
        A.setElementTransform(paragraphElement, A.transformWithOffset(t1, offset).__engine$_m4storage);
        _this.rootElement.append(paragraphElement);
      }
      _this.__engine$_children.push(paragraphElement);
      t1 = paragraphElement.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "left", "0px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "top", "0px");
      _this._closeCanvas$0();
    },
    endOfPaint$0() {
      var t1, t2, t3, children, t4, t5, _i, element, t6, t7, paintOrderElement, _this = this;
      _this._canvasPool.endOfPaint$0();
      t1 = _this._elementCache;
      if (t1 != null)
        t1.commitFrame$0();
      if (_this._contains3dTransform) {
        t1 = $.$get$_browserEngine();
        t1 = t1 === B.BrowserEngine_1;
      } else
        t1 = false;
      if (t1) {
        t1 = _this.rootElement;
        t2 = type$.JavaScriptObject;
        t3 = J.cast$1$0$ax(t1.children, t2);
        children = t3.toList$0(t3);
        for (t3 = children.length, t4 = _this.__engine$_children, t5 = type$.JSArray_Object, _i = 0; _i < children.length; children.length === t3 || (0, A.throwConcurrentModificationError)(children), ++_i) {
          element = children[_i];
          t6 = self.document;
          t7 = A._setArrayType(["div"], t5);
          paintOrderElement = t2._as(t6.createElement.apply(t6, t7));
          t6 = paintOrderElement.style;
          t6.setProperty("transform", "translate3d(0,0,0)", "");
          paintOrderElement.append(element);
          t1.append(paintOrderElement);
          t4.push(paintOrderElement);
        }
      }
      t1 = _this.rootElement.firstChild;
      if (t1 != null) {
        t2 = self.window.HTMLElement;
        t2.toString;
        if (t1 instanceof t2)
          if (t1.tagName.toLowerCase() === "canvas")
            A.DomCSSStyleDeclarationExtension_setProperty(t1.style, "z-index", "-1");
      }
    }
  };
  A.SvgBlendMode.prototype = {};
  A.SurfaceCanvas.prototype = {
    save$0(_) {
      var t1 = this.__engine$_canvas;
      t1._paintBounds.saveTransformsAndClip$0();
      t1._commands.push(B.C_PaintSave);
      ++t1._saveCount;
    },
    saveLayer$2(bounds, paint) {
      var t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(B.C_PaintSave);
      t1._paintBounds.saveTransformsAndClip$0();
      ++t1._saveCount;
    },
    restore$0(_) {
      var t2, clipRect,
        t1 = this.__engine$_canvas;
      if (!t1._recordingEnded && t1._saveCount > 1) {
        t2 = t1._paintBounds;
        t2._currentMatrix = t2.__engine$_transforms.pop();
        clipRect = t2._clipStack.pop();
        if (clipRect != null) {
          t2._currentClipLeft = clipRect.left;
          t2._currentClipTop = clipRect.top;
          t2._currentClipRight = clipRect.right;
          t2._currentClipBottom = clipRect.bottom;
          t2._clipRectInitialized = true;
        } else if (t2._clipRectInitialized)
          t2._clipRectInitialized = false;
      }
      t2 = t1._commands;
      if (t2.length !== 0 && B.JSArray_methods.get$last(t2) instanceof A.PaintSave)
        t2.pop();
      else
        t2.push(B.C_PaintRestore);
      --t1._saveCount;
    },
    translate$2(_, dx, dy) {
      var t1 = this.__engine$_canvas,
        t2 = t1._paintBounds;
      if (dx !== 0 || dy !== 0)
        t2._currentMatrixIsIdentity = false;
      t2._currentMatrix.translate$2(0, dx, dy);
      t1._commands.push(new A.PaintTranslate(dx, dy));
    },
    scale$2(_, sx, sy) {
      var t1 = sy == null ? sx : sy,
        t2 = this.__engine$_canvas,
        t3 = t2._paintBounds;
      if (sx !== 1 || t1 !== 1)
        t3._currentMatrixIsIdentity = false;
      t3._currentMatrix.scale$2(0, sx, t1);
      t2._commands.push(new A.PaintScale(sx, t1));
      return null;
    },
    rotate$1(_, radians) {
      var cosAngle, sinAngle, t3, t4, t5, t6, t7, t8, t9, t10, t11,
        t1 = this.__engine$_canvas,
        t2 = t1._paintBounds;
      if (radians !== 0)
        t2._currentMatrixIsIdentity = false;
      t2 = t2._currentMatrix;
      cosAngle = Math.cos(radians);
      sinAngle = Math.sin(radians);
      t2 = t2.__engine$_m4storage;
      t3 = t2[0];
      t4 = t2[4];
      t5 = t2[1];
      t6 = t2[5];
      t7 = t2[2];
      t8 = t2[6];
      t9 = t2[3];
      t10 = t2[7];
      t11 = -sinAngle;
      t2[0] = t3 * cosAngle + t4 * sinAngle;
      t2[1] = t5 * cosAngle + t6 * sinAngle;
      t2[2] = t7 * cosAngle + t8 * sinAngle;
      t2[3] = t9 * cosAngle + t10 * sinAngle;
      t2[4] = t3 * t11 + t4 * cosAngle;
      t2[5] = t5 * t11 + t6 * cosAngle;
      t2[6] = t7 * t11 + t8 * cosAngle;
      t2[7] = t9 * t11 + t10 * cosAngle;
      t1._commands.push(new A.PaintRotate(radians));
    },
    transform$1(_, matrix4) {
      var t1 = A.toMatrix32(matrix4),
        t2 = this.__engine$_canvas,
        t3 = t2._paintBounds;
      t3._currentMatrix.multiply$1(0, new A.Matrix40(t1));
      t3._currentMatrixIsIdentity = t3._currentMatrix.isIdentity$0(0);
      t2._commands.push(new A.PaintTransform(t1));
    },
    clipRect$3$clipOp$doAntiAlias(rect, clipOp, doAntiAlias) {
      var t1 = this.__engine$_canvas,
        command = new A.PaintClipRect(rect, clipOp);
      switch (clipOp.index) {
        case 1:
          t1._paintBounds.clipRect$2(rect, command);
          break;
        case 0:
          break;
      }
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    clipRect$2$doAntiAlias(rect, doAntiAlias) {
      return this.clipRect$3$clipOp$doAntiAlias(rect, B.ClipOp_1, doAntiAlias);
    },
    clipRect$1(rect) {
      return this.clipRect$3$clipOp$doAntiAlias(rect, B.ClipOp_1, true);
    },
    clipRect$2$clipOp(rect, clipOp) {
      return this.clipRect$3$clipOp$doAntiAlias(rect, clipOp, true);
    },
    clipRRect$2$doAntiAlias(rrect, doAntiAlias) {
      var t1 = this.__engine$_canvas,
        command = new A.PaintClipRRect(rrect);
      t1._paintBounds.clipRect$2(new A.Rect(rrect.left, rrect.top, rrect.right, rrect.bottom), command);
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    clipRRect$1(rrect) {
      return this.clipRRect$2$doAntiAlias(rrect, true);
    },
    clipPath$2$doAntiAlias(_, path, doAntiAlias) {
      var command,
        t1 = this.__engine$_canvas;
      type$.SurfacePath._as(path);
      command = new A.PaintClipPath(path);
      t1._paintBounds.clipRect$2(path.getBounds$0(0), command);
      t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    clipPath$1($receiver, path) {
      return this.clipPath$2$doAntiAlias($receiver, path, true);
    },
    drawLine$3(p1, p2, paint) {
      var paintSpread, command, t2, t3, t4, t5,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      paintSpread = Math.max(A._getPaintSpread(paint), 1);
      paint._frozen = true;
      command = new A.PaintDrawLine(p1, p2, paint._paintData);
      t2 = p1._dx;
      t3 = p2._dx;
      t4 = p1._dy;
      t5 = p2._dy;
      t1._paintBounds.growLTRB$5(Math.min(t2, t3) - paintSpread, Math.min(t4, t5) - paintSpread, Math.max(t2, t3) + paintSpread, Math.max(t4, t5) + paintSpread, command);
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      t1._commands.push(command);
    },
    drawPaint$1(paint) {
      var command, t2,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      paint._frozen = t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      command = new A.PaintDrawPaint(paint._paintData);
      t2 = t1._paintBounds;
      t2.grow$2(t2.maxPaintBounds, command);
      t1._commands.push(command);
    },
    drawRect$2(rect, paint) {
      this.__engine$_canvas.drawRect$2(rect, type$.SurfacePaint._as(paint));
    },
    drawRRect$2(rrect, paint) {
      this.__engine$_canvas.drawRRect$2(rrect, type$.SurfacePaint._as(paint));
    },
    drawDRRect$3(outer, inner, paint) {
      this.__engine$_canvas.drawDRRect$3(outer, inner, type$.SurfacePaint._as(paint));
    },
    drawOval$2(rect, paint) {
      var paintSpread, command, t2,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      paintSpread = A._getPaintSpread(paint);
      paint._frozen = true;
      command = new A.PaintDrawOval(rect, paint._paintData);
      t2 = t1._paintBounds;
      if (paintSpread !== 0)
        t2.grow$2(rect.inflate$1(paintSpread), command);
      else
        t2.grow$2(rect, command);
      t1._commands.push(command);
    },
    drawCircle$3(c, radius, paint) {
      var paintSpread, command, distance, t2, t3,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      paintSpread = A._getPaintSpread(paint);
      paint._frozen = true;
      command = new A.PaintDrawCircle(c, radius, paint._paintData);
      distance = radius + paintSpread;
      t2 = c._dx;
      t3 = c._dy;
      t1._paintBounds.growLTRB$5(t2 - distance, t3 - distance, t2 + distance, t3 + distance, command);
      t1._commands.push(command);
    },
    drawArc$5(rect, startAngle, sweepAngle, useCenter, paint) {
      var forceMoveTo,
        path = A.Path_Path();
      if (sweepAngle <= -6.283185307179586) {
        path.arcTo$4(0, rect, startAngle, -3.141592653589793, true);
        startAngle -= 3.141592653589793;
        path.arcTo$4(0, rect, startAngle, -3.141592653589793, false);
        startAngle -= 3.141592653589793;
        sweepAngle += 6.283185307179586;
        forceMoveTo = false;
      } else
        forceMoveTo = true;
      for (; sweepAngle >= 6.283185307179586; forceMoveTo = false) {
        path.arcTo$4(0, rect, startAngle, 3.141592653589793, forceMoveTo);
        startAngle += 3.141592653589793;
        path.arcTo$4(0, rect, startAngle, 3.141592653589793, false);
        startAngle += 3.141592653589793;
        sweepAngle -= 6.283185307179586;
      }
      path.arcTo$4(0, rect, startAngle, sweepAngle, forceMoveTo);
      this.__engine$_canvas.drawPath$2(path, type$.SurfacePaint._as(paint));
    },
    drawPath$2(path, paint) {
      this.__engine$_canvas.drawPath$2(path, type$.SurfacePaint._as(paint));
    },
    drawImageRect$4(image, src, dst, paint) {
      var t2, command,
        t1 = this.__engine$_canvas;
      type$.SurfacePaint._as(paint);
      t2 = t1.renderStrategy;
      paint._frozen = t1._didDraw = t2.hasImageElements = t2.hasArbitraryPaint = true;
      command = new A.PaintDrawImageRect(image, src, dst, paint._paintData);
      t1._paintBounds.grow$2(dst, command);
      t1._commands.push(command);
    },
    drawParagraph$2(paragraph, offset) {
      this.__engine$_canvas.drawParagraph$2(paragraph, offset);
    },
    drawShadow$4(path, color, elevation, transparentOccluder) {
      var shadowRect, command,
        t1 = this.__engine$_canvas;
      t1._didDraw = t1.renderStrategy.hasArbitraryPaint = true;
      shadowRect = A.computePenumbraBounds(path.getBounds$0(0), elevation);
      command = new A.PaintDrawShadow(type$.SurfacePath._as(path), color, elevation, transparentOccluder);
      t1._paintBounds.grow$2(shadowRect, command);
      t1._commands.push(command);
    },
    $isCanvas: 1
  };
  A._DomClip.prototype = {
    get$childContainer() {
      return this._DomClip__childContainer;
    },
    createElement$0(_) {
      var element = this.defaultCreateElement$1("flt-clip"),
        t1 = A.DomDocumentExtension_createElement(self.document, "flt-clip-interior");
      this._DomClip__childContainer = t1;
      A.DomCSSStyleDeclarationExtension_setProperty(t1.style, "position", "absolute");
      t1 = this._DomClip__childContainer;
      t1.toString;
      element.append(t1);
      return element;
    },
    applyOverflow$2(element, clipBehaviour) {
      var t1;
      if (clipBehaviour !== B.Clip_0) {
        t1 = element.style;
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "overflow", "hidden");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "z-index", "0");
      }
    }
  };
  A.PersistedClipRect.prototype = {
    recomputeTransformAndClip$0() {
      var _this = this;
      _this.transform = _this.parent.transform;
      if (_this.clipBehavior !== B.Clip_0)
        _this.localClipBounds = _this.rect;
      else
        _this.localClipBounds = null;
      _this.projectedClip = null;
    },
    createElement$0(_) {
      var t1 = this.super$_DomClip$createElement(0);
      A.callMethod(t1, "setAttribute", ["clip-type", "rect"]);
      return t1;
    },
    apply$0() {
      var t4, _this = this,
        t1 = _this.rootElement.style,
        t2 = _this.rect,
        t3 = t2.left;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "left", A.S(t3) + "px");
      t4 = t2.top;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "top", A.S(t4) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "width", A.S(t2.right - t3) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "height", A.S(t2.bottom - t4) + "px");
      t2 = _this.rootElement;
      t2.toString;
      _this.applyOverflow$2(t2, _this.clipBehavior);
      t2 = _this._DomClip__childContainer.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t2, "left", A.S(-t3) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t2, "top", A.S(-t4) + "px");
    },
    update$1(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (!_this.rect.$eq(0, oldSurface.rect) || _this.clipBehavior !== oldSurface.clipBehavior) {
        _this.localClipBounds = null;
        _this.apply$0();
      }
    },
    $isClipRectEngineLayer0: 1
  };
  A.PersistedClipRRect.prototype = {
    recomputeTransformAndClip$0() {
      var t1, _this = this;
      _this.transform = _this.parent.transform;
      if (_this.clipBehavior !== B.Clip_0) {
        t1 = _this.rrect;
        _this.localClipBounds = new A.Rect(t1.left, t1.top, t1.right, t1.bottom);
      } else
        _this.localClipBounds = null;
      _this.projectedClip = null;
    },
    createElement$0(_) {
      var t1 = this.super$_DomClip$createElement(0);
      A.callMethod(t1, "setAttribute", ["clip-type", "rrect"]);
      return t1;
    },
    apply$0() {
      var t4, _this = this,
        t1 = _this.rootElement.style,
        t2 = _this.rrect,
        t3 = t2.left;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "left", A.S(t3) + "px");
      t4 = t2.top;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "top", A.S(t4) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "width", A.S(t2.right - t3) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "height", A.S(t2.bottom - t4) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "border-top-left-radius", A.S(t2.tlRadiusX) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "border-top-right-radius", A.S(t2.trRadiusX) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "border-bottom-right-radius", A.S(t2.brRadiusX) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "border-bottom-left-radius", A.S(t2.blRadiusX) + "px");
      t2 = _this.rootElement;
      t2.toString;
      _this.applyOverflow$2(t2, _this.clipBehavior);
      t2 = _this._DomClip__childContainer.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t2, "left", A.S(-t3) + "px");
      A.DomCSSStyleDeclarationExtension_setProperty(t2, "top", A.S(-t4) + "px");
    },
    update$1(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (!_this.rrect.$eq(0, oldSurface.rrect) || _this.clipBehavior !== oldSurface.clipBehavior) {
        _this.localClipBounds = null;
        _this.apply$0();
      }
    },
    $isClipRRectEngineLayer0: 1
  };
  A.PersistedClipPath.prototype = {
    createElement$0(_) {
      return this.defaultCreateElement$1("flt-clippath");
    },
    recomputeTransformAndClip$0() {
      var _this = this;
      _this.super$PersistedContainerSurface$recomputeTransformAndClip();
      if (_this.clipBehavior !== B.Clip_0) {
        if (_this.localClipBounds == null)
          _this.localClipBounds = _this.clipPath.getBounds$0(0);
      } else
        _this.localClipBounds = null;
    },
    apply$0() {
      var _this = this,
        t1 = _this._clipElement;
      if (t1 != null)
        t1.remove();
      t1 = _this.rootElement;
      t1.toString;
      t1 = A.createSvgClipDef(t1, _this.clipPath);
      _this._clipElement = t1;
      _this.rootElement.append(t1);
    },
    update$1(_, oldSurface) {
      var t1, _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (oldSurface.clipPath !== _this.clipPath) {
        _this.localClipBounds = null;
        t1 = oldSurface._clipElement;
        if (t1 != null)
          t1.remove();
        _this.apply$0();
      } else
        _this._clipElement = oldSurface._clipElement;
      oldSurface._clipElement = null;
    },
    discard$0() {
      var t1 = this._clipElement;
      if (t1 != null)
        t1.remove();
      this._clipElement = null;
      this.super$PersistedContainerSurface$discard();
    },
    $isClipPathEngineLayer0: 1
  };
  A.SvgFilterBuilder.prototype = {
    setFeColorMatrix$2$result(matrix, result) {
      var t1, t2, i, t3,
        element = type$.FEColorMatrixElement._as(type$.SvgElement._as(B.HtmlDocument_methods.createElementNS$2(document, "http://www.w3.org/2000/svg", "feColorMatrix")));
      element.type.baseVal = 1;
      element.result.baseVal = result;
      t1 = element.values.baseVal;
      t1.toString;
      for (t2 = this.root, i = 0; i < 20; ++i) {
        t3 = t2.createSVGNumber();
        t3.value = matrix[i];
        t1.appendItem(t3);
      }
      this.filter.appendChild(element);
    },
    setFeFlood$3$floodColor$floodOpacity$result(floodColor, floodOpacity, result) {
      var element = type$.FEFloodElement._as(type$.SvgElement._as(B.HtmlDocument_methods.createElementNS$2(document, "http://www.w3.org/2000/svg", "feFlood")));
      element.setAttribute("flood-color", floodColor);
      element.setAttribute("flood-opacity", floodOpacity);
      element.result.baseVal = result;
      this.filter.appendChild(element);
    },
    setFeBlend$3$in1$in2$mode(in1, in2, mode) {
      var element = type$.FEBlendElement._as(type$.SvgElement._as(B.HtmlDocument_methods.createElementNS$2(document, "http://www.w3.org/2000/svg", "feBlend")));
      element.in1.baseVal = in1;
      element.in2.baseVal = in2;
      element.mode.baseVal = mode;
      this.filter.appendChild(element);
    },
    setFeComposite$8$in1$in2$k1$k2$k3$k4$operator$result(in1, in2, k1, k2, k3, k4, operator, result) {
      var element = type$.FECompositeElement._as(type$.SvgElement._as(B.HtmlDocument_methods.createElementNS$2(document, "http://www.w3.org/2000/svg", "feComposite")));
      element.in1.baseVal = in1;
      element.in2.baseVal = in2;
      element.operator.baseVal = operator;
      if (k1 != null)
        element.k1.baseVal = k1;
      if (k2 != null)
        element.k2.baseVal = k2;
      if (k3 != null)
        element.k3.baseVal = k3;
      if (k4 != null)
        element.k4.baseVal = k4;
      element.result.baseVal = result;
      this.filter.appendChild(element);
    },
    setFeComposite$4$in1$in2$operator$result(in1, in2, operator, result) {
      return this.setFeComposite$8$in1$in2$k1$k2$k3$k4$operator$result(in1, in2, null, null, null, null, operator, result);
    },
    build$0() {
      var t1 = this.root;
      t1.appendChild(this.filter);
      return new A.SvgFilter(this.id, t1);
    }
  };
  A.SvgFilter.prototype = {};
  A.DomCanvas.prototype = {
    clipRect$2(rect, clipOp) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    clipRRect$1(rrect) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    clipPath$1(_, path) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawLine$3(p1, p2, paint) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawPaint$1(paint) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawRect$2(rect, paint) {
      var t1 = this.SaveElementStackTracking__elementStack;
      t1 = t1.length === 0 ? this.rootElement : B.JSArray_methods.get$last(t1);
      t1.append(A.buildDrawRectElement(rect, paint, "draw-rect", this.SaveElementStackTracking__currentTransform));
    },
    drawRRect$2(rrect, paint) {
      var t1,
        element = A.buildDrawRectElement(new A.Rect(rrect.left, rrect.top, rrect.right, rrect.bottom), paint, "draw-rrect", this.SaveElementStackTracking__currentTransform);
      A.applyRRectBorderRadius(element.style, rrect);
      t1 = this.SaveElementStackTracking__elementStack;
      t1 = t1.length === 0 ? this.rootElement : B.JSArray_methods.get$last(t1);
      t1.append(element);
    },
    drawOval$2(rect, paint) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawCircle$3(c, radius, paint) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawPath$2(path, paint) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawShadow$4(path, color, elevation, transparentOccluder) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawImageRect$4(image, src, dst, paint) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    drawParagraph$2(paragraph, offset) {
      var paragraphElement = A.drawParagraphElement(paragraph, offset, this.SaveElementStackTracking__currentTransform),
        t1 = this.SaveElementStackTracking__elementStack;
      t1 = t1.length === 0 ? this.rootElement : B.JSArray_methods.get$last(t1);
      t1.append(paragraphElement);
    },
    endOfPaint$0() {
    }
  };
  A.PersistedOffset.prototype = {
    recomputeTransformAndClip$0() {
      var t2, t3, _this = this,
        t1 = _this.parent.transform;
      _this.transform = t1;
      t2 = _this.dx;
      if (t2 !== 0 || _this.dy !== 0) {
        t1.toString;
        t3 = new A.Matrix40(new Float32Array(16));
        t3.setFrom$1(t1);
        _this.transform = t3;
        t3.translate$2(0, t2, _this.dy);
      }
      _this.projectedClip = null;
    },
    get$localTransformInverse() {
      var _this = this,
        t1 = _this._localTransformInverse;
      if (t1 == null) {
        t1 = A.Matrix4$identity();
        t1.setTranslationRaw$3(-_this.dx, -_this.dy, 0);
        _this._localTransformInverse = t1;
      }
      return t1;
    },
    createElement$0(_) {
      var element = A.DomDocumentExtension_createElement(self.document, "flt-offset");
      A.setElementStyle(element, "position", "absolute");
      A.setElementStyle(element, "transform-origin", "0 0 0");
      return element;
    },
    apply$0() {
      A.DomCSSStyleDeclarationExtension_setProperty(this.rootElement.style, "transform", "translate(" + A.S(this.dx) + "px, " + A.S(this.dy) + "px)");
    },
    update$1(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (oldSurface.dx !== _this.dx || oldSurface.dy !== _this.dy)
        _this.apply$0();
    },
    $isOffsetEngineLayer0: 1
  };
  A.PersistedOpacity.prototype = {
    recomputeTransformAndClip$0() {
      var t2, dx, dy, _this = this,
        t1 = _this.parent.transform;
      _this.transform = t1;
      t2 = _this.offset;
      dx = t2._dx;
      dy = t2._dy;
      if (dx !== 0 || dy !== 0) {
        t1.toString;
        t2 = new A.Matrix40(new Float32Array(16));
        t2.setFrom$1(t1);
        _this.transform = t2;
        t2.translate$2(0, dx, dy);
      }
      _this.projectedClip = null;
    },
    get$localTransformInverse() {
      var t2,
        t1 = this._localTransformInverse;
      if (t1 == null) {
        t1 = this.offset;
        t2 = A.Matrix4$identity();
        t2.setTranslationRaw$3(-t1._dx, -t1._dy, 0);
        this._localTransformInverse = t2;
        t1 = t2;
      }
      return t1;
    },
    createElement$0(_) {
      var element = A.DomDocumentExtension_createElement(self.document, "flt-opacity");
      A.setElementStyle(element, "position", "absolute");
      A.setElementStyle(element, "transform-origin", "0 0 0");
      return element;
    },
    apply$0() {
      var t2,
        t1 = this.rootElement;
      t1.toString;
      A.setElementStyle(t1, "opacity", A.S(this.alpha / 255));
      t2 = this.offset;
      A.DomCSSStyleDeclarationExtension_setProperty(t1.style, "transform", "translate(" + A.S(t2._dx) + "px, " + A.S(t2._dy) + "px)");
    },
    update$1(_, oldSurface) {
      var _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      if (_this.alpha !== oldSurface.alpha || !_this.offset.$eq(0, oldSurface.offset))
        _this.apply$0();
    },
    $isOpacityEngineLayer0: 1
  };
  A.SurfacePaint.prototype = {
    set$blendMode(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.blendMode = value;
    },
    get$style(_) {
      var t1 = this._paintData.style;
      return t1 == null ? B.PaintingStyle_0 : t1;
    },
    set$style(_, value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.style = value;
    },
    get$strokeWidth() {
      var t1 = this._paintData.strokeWidth;
      return t1 == null ? 0 : t1;
    },
    set$strokeWidth(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.strokeWidth = value;
    },
    set$strokeCap(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.strokeCap = value;
    },
    set$isAntiAlias(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.isAntiAlias = false;
    },
    get$color(_) {
      var t1 = this._paintData.color;
      return t1 == null ? B.Color_4278190080 : t1;
    },
    set$color(_, value) {
      var t1, _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      t1 = _this._paintData;
      t1.color = A.getRuntimeType(value) === B.Type_Color_MG2 ? value : new A.Color(value.get$value(value));
    },
    set$invertColors(value) {
    },
    set$shader(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.shader = value;
    },
    set$maskFilter(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.maskFilter = value;
    },
    set$filterQuality(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.filterQuality = value;
    },
    set$colorFilter(value) {
      var _this = this;
      if (_this._frozen) {
        _this._paintData = _this._paintData.clone$0(0);
        _this._frozen = false;
      }
      _this._paintData.colorFilter = value;
    },
    toString$0(_) {
      var t4, semicolon, _this = this,
        t1 = "" + "Paint(",
        t2 = _this._paintData.style,
        t3 = t2 == null;
      if ((t3 ? B.PaintingStyle_0 : t2) === B.PaintingStyle_1) {
        t1 += (t3 ? B.PaintingStyle_0 : t2).toString$0(0);
        t2 = _this._paintData;
        t3 = t2.strokeWidth;
        t4 = t3 == null;
        if ((t4 ? 0 : t3) !== 0)
          t1 += " " + A.S(t4 ? 0 : t3);
        else
          t1 += " hairline";
        t2 = t2.strokeCap;
        t3 = t2 == null;
        if ((t3 ? B.StrokeCap_0 : t2) !== B.StrokeCap_0)
          t1 += " " + (t3 ? B.StrokeCap_0 : t2).toString$0(0);
        semicolon = "; ";
      } else
        semicolon = "";
      t2 = _this._paintData;
      if (!t2.isAntiAlias) {
        t1 += semicolon + "antialias off";
        semicolon = "; ";
      }
      t2 = t2.color;
      if (!(t2 == null ? B.Color_4278190080 : t2).$eq(0, B.Color_4278190080)) {
        t2 = _this._paintData.color;
        t1 += semicolon + (t2 == null ? B.Color_4278190080 : t2).toString$0(0);
      }
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    $isPaint: 1
  };
  A.SurfacePaintData.prototype = {
    clone$0(_) {
      var _this = this,
        t1 = new A.SurfacePaintData();
      t1.blendMode = _this.blendMode;
      t1.filterQuality = _this.filterQuality;
      t1.maskFilter = _this.maskFilter;
      t1.shader = _this.shader;
      t1.isAntiAlias = _this.isAntiAlias;
      t1.color = _this.color;
      t1.colorFilter = _this.colorFilter;
      t1.strokeWidth = _this.strokeWidth;
      t1.style = _this.style;
      t1.strokeJoin = _this.strokeJoin;
      t1.strokeCap = _this.strokeCap;
      return t1;
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.Conic.prototype = {
    toQuads$0() {
      var dst, t1, t2, t3, controlPointOffset, skipSubdivide, pointCount, hasNonFinitePoints, p, _this = this,
        pointList = A._setArrayType([], type$.JSArray_Offset),
        subdivideCount = _this._computeSubdivisionCount$1(0.25),
        quadCount = B.JSInt_methods._shlPositive$1(1, subdivideCount);
      pointList.push(new A.Offset(_this.p0x, _this.p0y));
      if (subdivideCount === 5) {
        dst = new A._ConicPair();
        _this._chop$1(dst);
        t1 = dst.first;
        t1.toString;
        t2 = dst.second;
        t2.toString;
        t3 = t1.p1x;
        if (t3 === t1.p2x && t1.p1y === t1.p2y && t2.p0x === t2.p1x && t2.p0y === t2.p1y) {
          controlPointOffset = new A.Offset(t3, t1.p1y);
          pointList.push(controlPointOffset);
          pointList.push(controlPointOffset);
          pointList.push(controlPointOffset);
          pointList.push(new A.Offset(t2.p2x, t2.p2y));
          quadCount = 2;
          skipSubdivide = true;
        } else
          skipSubdivide = false;
      } else
        skipSubdivide = false;
      if (!skipSubdivide)
        A.Conic__subdivide(_this, subdivideCount, pointList);
      pointCount = 2 * quadCount + 1;
      p = 0;
      while (true) {
        if (!(p < pointCount)) {
          hasNonFinitePoints = false;
          break;
        }
        t1 = pointList[p];
        if (isNaN(t1._dx) || isNaN(t1._dy)) {
          hasNonFinitePoints = true;
          break;
        }
        ++p;
      }
      if (hasNonFinitePoints)
        for (t1 = pointCount - 1, t2 = _this.p1x, t3 = _this.p1y, p = 1; p < t1; ++p)
          pointList[p] = new A.Offset(t2, t3);
      return pointList;
    },
    _chop$1(pair) {
      var w2, scaleHalf, _this = this,
        t1 = _this.fW,
        scale = 1 / (1 + t1),
        newW = Math.sqrt(0.5 + t1 * 0.5),
        t2 = _this.p1x,
        t3 = t1 * t2,
        t4 = _this.p1y,
        t5 = t1 * t4,
        t6 = _this.p0x,
        t7 = _this.p2x,
        t8 = (t6 + 2 * t3 + t7) * scale * 0.5,
        t9 = _this.p0y,
        t10 = _this.p2y,
        t11 = (t9 + 2 * t5 + t10) * scale * 0.5,
        m = new A.Offset(t8, t11);
      if (isNaN(t8) || isNaN(t11)) {
        w2 = t1 * 2;
        scaleHalf = scale * 0.5;
        m = new A.Offset((t6 + w2 * t2 + t7) * scaleHalf, (t9 + w2 * t4 + t10) * scaleHalf);
      }
      t1 = m._dx;
      t2 = m._dy;
      pair.first = new A.Conic(t6, t9, (t6 + t3) * scale, (t9 + t5) * scale, t1, t2, newW);
      pair.second = new A.Conic(t1, t2, (t7 + t3) * scale, (t10 + t5) * scale, t7, t10, newW);
    },
    chopAtYExtrema$1(dst) {
      var _this = this,
        t = _this._findYExtrema$0();
      if (t == null) {
        dst.push(_this);
        return;
      }
      if (!_this._chopAt$3$cleanupMiddle(t, dst, true)) {
        dst.push(_this);
        return;
      }
    },
    _findYExtrema$0() {
      var wP10, quadRoots, _this = this,
        t1 = _this.p2y,
        t2 = _this.p0y,
        p20 = t1 - t2;
      t1 = _this.fW;
      wP10 = t1 * (_this.p1y - t2);
      quadRoots = new A.QuadRoots();
      if (quadRoots.findRoots$3(t1 * p20 - p20, p20 - 2 * wP10, wP10) === 1)
        return quadRoots.root0;
      return null;
    },
    _chopAt$3$cleanupMiddle(t, dst, cleanupMiddle) {
      var chopPointX, chopPointY, t2, t3, t4, _this = this,
        tx0 = _this.p0x,
        ty0 = _this.p0y,
        t1 = _this.fW,
        tx1 = _this.p1x * t1,
        ty1 = _this.p1y * t1,
        ty2 = _this.p2y,
        dx0 = tx0 + (tx1 - tx0) * t,
        dx2 = tx1 + (_this.p2x - tx1) * t,
        dy0 = ty0 + (ty1 - ty0) * t,
        dz0 = 1 + (t1 - 1) * t,
        dz2 = t1 + (1 - t1) * t,
        dz1 = dz0 + (dz2 - dz0) * t,
        root = Math.sqrt(dz1);
      if (Math.abs(root - 0) < 0.000244140625)
        return false;
      if (Math.abs(dz0 - 0) < 0.000244140625 || Math.abs(dz1 - 0) < 0.000244140625 || Math.abs(dz2 - 0) < 0.000244140625)
        return false;
      chopPointX = (dx0 + (dx2 - dx0) * t) / dz1;
      chopPointY = (dy0 + (ty1 + (ty2 - ty1) * t - dy0) * t) / dz1;
      t1 = _this.p0x;
      t2 = _this.p0y;
      t3 = _this.p2x;
      t4 = _this.p2y;
      dst.push(new A.Conic(t1, t2, dx0 / dz0, chopPointY, chopPointX, chopPointY, dz0 / root));
      dst.push(new A.Conic(chopPointX, chopPointY, dx2 / dz2, chopPointY, t3, t4, dz2 / root));
      return true;
    },
    _computeSubdivisionCount$1(tolerance) {
      var a, k, x, y, error, pow2, _this = this;
      if (tolerance < 0)
        return 0;
      a = _this.fW - 1;
      k = a / (4 * (2 + a));
      x = k * (_this.p0x - 2 * _this.p1x + _this.p2x);
      y = k * (_this.p0y - 2 * _this.p1y + _this.p2y);
      error = Math.sqrt(x * x + y * y);
      for (pow2 = 0; pow2 < 5; ++pow2) {
        if (error <= tolerance)
          break;
        error *= 0.25;
      }
      return pow2;
    },
    evalTangentAt$1(t) {
      var t1, t2, p20x, t3, p20y, cx, cy, quadC, _this = this;
      if (!(t === 0 && _this.p0x === _this.p1x && _this.p0y === _this.p1y))
        t1 = t === 1 && _this.p1x === _this.p2x && _this.p1y === _this.p2y;
      else
        t1 = true;
      if (t1)
        return new A.Offset(_this.p2x - _this.p0x, _this.p2y - _this.p0y);
      t1 = _this.p2x;
      t2 = _this.p0x;
      p20x = t1 - t2;
      t1 = _this.p2y;
      t3 = _this.p0y;
      p20y = t1 - t3;
      t1 = _this.fW;
      cx = t1 * (_this.p1x - t2);
      cy = t1 * (_this.p1y - t3);
      quadC = A.SkQuadCoefficients$(t1 * p20x - p20x, t1 * p20y - p20y, p20x - cx - cx, p20y - cy - cy, cx, cy);
      return new A.Offset(quadC.evalX$1(t), quadC.evalY$1(t));
    }
  };
  A.QuadBounds.prototype = {};
  A.ConicBounds.prototype = {};
  A._ConicPair.prototype = {
    get$first(receiver) {
      return this.first;
    }
  };
  A.CubicBounds.prototype = {};
  A.SurfacePath.prototype = {
    _resetFields$0() {
      var _this = this;
      _this.fLastMoveToIndex = 0;
      _this._fillType = B.PathFillType_0;
      _this._firstDirection = _this._convexityType = -1;
    },
    _copyFields$1(source) {
      var _this = this;
      _this._fillType = source._fillType;
      _this.fLastMoveToIndex = source.fLastMoveToIndex;
      _this._convexityType = source._convexityType;
      _this._firstDirection = source._firstDirection;
    },
    set$fillType(value) {
      this._fillType = value;
    },
    reset$0(_) {
      if (this.pathRef._fVerbsLength !== 0) {
        this.pathRef = A.PathRef$();
        this._resetFields$0();
      }
    },
    moveTo$2(_, x, y) {
      var _this = this,
        pointIndex = _this.pathRef.growForVerb$2(0, 0);
      _this.fLastMoveToIndex = pointIndex + 1;
      _this.pathRef.setPoint$3(pointIndex, x, y);
      _this._firstDirection = _this._convexityType = -1;
    },
    _injectMoveToIfNeeded$0() {
      var t2, x, y, pointIndex,
        t1 = this.fLastMoveToIndex;
      if (t1 <= 0) {
        t2 = this.pathRef;
        if (t2._fPointsLength === 0) {
          x = 0;
          y = 0;
        } else {
          pointIndex = 2 * (-t1 - 1);
          t1 = t2.fPoints;
          x = t1[pointIndex];
          y = t1[pointIndex + 1];
        }
        this.moveTo$2(0, x, y);
      }
    },
    lineTo$2(_, x, y) {
      var pointIndex, _this = this;
      if (_this.fLastMoveToIndex <= 0)
        _this._injectMoveToIfNeeded$0();
      pointIndex = _this.pathRef.growForVerb$2(1, 0);
      _this.pathRef.setPoint$3(pointIndex, x, y);
      _this._firstDirection = _this._convexityType = -1;
    },
    conicTo$5(x1, y1, x2, y2, w) {
      var pointIndex, _this = this;
      _this._injectMoveToIfNeeded$0();
      pointIndex = _this.pathRef.growForVerb$2(3, w);
      _this.pathRef.setPoint$3(pointIndex, x1, y1);
      _this.pathRef.setPoint$3(pointIndex + 1, x2, y2);
      _this._firstDirection = _this._convexityType = -1;
    },
    cubicTo$6(x1, y1, x2, y2, x3, y3) {
      var pointIndex, _this = this;
      _this._injectMoveToIfNeeded$0();
      pointIndex = _this.pathRef.growForVerb$2(4, 0);
      _this.pathRef.setPoint$3(pointIndex, x1, y1);
      _this.pathRef.setPoint$3(pointIndex + 1, x2, y2);
      _this.pathRef.setPoint$3(pointIndex + 2, x3, y3);
      _this._firstDirection = _this._convexityType = -1;
    },
    close$0(_) {
      var _this = this,
        t1 = _this.pathRef,
        verbCount = t1._fVerbsLength;
      if (verbCount !== 0 && t1._fVerbs[verbCount - 1] !== 5)
        t1.growForVerb$2(5, 0);
      t1 = _this.fLastMoveToIndex;
      if (t1 >= 0)
        _this.fLastMoveToIndex = -t1;
      _this._firstDirection = _this._convexityType = -1;
    },
    addRect$1(rect) {
      this.addRectWithDirection$3(rect, 0, 0);
    },
    _hasOnlyMoveTos$0() {
      var i,
        t1 = this.pathRef,
        verbCount = t1._fVerbsLength;
      for (t1 = t1._fVerbs, i = 0; i < verbCount; ++i)
        switch (t1[i]) {
          case 1:
          case 2:
          case 3:
          case 4:
            return false;
        }
      return true;
    },
    addRectWithDirection$3(rect, direction, startIndex) {
      var pointIndex1, pointIndex2, pointIndex3, t1, t2, t3, t4, t5, _this = this,
        isRect = _this._hasOnlyMoveTos$0(),
        finalDirection = _this._hasOnlyMoveTos$0() ? direction : -1,
        pointIndex0 = _this.pathRef.growForVerb$2(0, 0);
      _this.fLastMoveToIndex = pointIndex0 + 1;
      pointIndex1 = _this.pathRef.growForVerb$2(1, 0);
      pointIndex2 = _this.pathRef.growForVerb$2(1, 0);
      pointIndex3 = _this.pathRef.growForVerb$2(1, 0);
      _this.pathRef.growForVerb$2(5, 0);
      t1 = _this.pathRef;
      t2 = rect.left;
      t3 = rect.top;
      t4 = rect.right;
      t5 = rect.bottom;
      if (direction === 0) {
        t1.setPoint$3(pointIndex0, t2, t3);
        _this.pathRef.setPoint$3(pointIndex1, t4, t3);
        _this.pathRef.setPoint$3(pointIndex2, t4, t5);
        _this.pathRef.setPoint$3(pointIndex3, t2, t5);
      } else {
        t1.setPoint$3(pointIndex3, t2, t5);
        _this.pathRef.setPoint$3(pointIndex2, t4, t5);
        _this.pathRef.setPoint$3(pointIndex1, t4, t3);
        _this.pathRef.setPoint$3(pointIndex0, t2, t3);
      }
      t1 = _this.pathRef;
      t1.fIsRect = isRect;
      t1.fRRectOrOvalIsCCW = direction === 1;
      t1.fRRectOrOvalStartIdx = 0;
      _this._firstDirection = _this._convexityType = -1;
      _this._firstDirection = finalDirection;
    },
    arcTo$4(_, rect, startAngle, sweepAngle, forceMoveTo) {
      var lonePoint, t2, t3, stopAngle, cosStart, sinStart, cosStop, sinStop, sweep, deltaRad, stopAngle0, dir, radiusX, radiusY, px, py, x, y, quadrant, conics, i, quadPointIndex, p0, p1, p2, lastQuadrantPoint, dot, offCurveX, offCurveY, cosThetaOver2, t4, conicCount, centerX, centerY, _i, conic, firstConicPx, firstConicPy, _this = this,
        t1 = rect.right - rect.left;
      if (t1 === 0 && rect.bottom - rect.top === 0)
        return;
      if (_this.pathRef._fPointsLength === 0)
        forceMoveTo = true;
      lonePoint = A._arcIsLonePoint(rect, startAngle, sweepAngle);
      if (lonePoint != null) {
        t2 = lonePoint._dx;
        t3 = lonePoint._dy;
        if (forceMoveTo)
          _this.moveTo$2(0, t2, t3);
        else
          _this.lineTo$2(0, t2, t3);
      }
      stopAngle = startAngle + sweepAngle;
      cosStart = Math.cos(startAngle);
      sinStart = Math.sin(startAngle);
      cosStop = Math.cos(stopAngle);
      sinStop = Math.sin(stopAngle);
      if (Math.abs(cosStart - cosStop) < 0.000244140625 && Math.abs(sinStart - sinStop) < 0.000244140625) {
        sweep = Math.abs(sweepAngle) * 180 / 3.141592653589793;
        if (sweep <= 360 && sweep > 359) {
          deltaRad = sweepAngle < 0 ? -0.001953125 : 0.001953125;
          stopAngle0 = stopAngle;
          do {
            stopAngle0 -= deltaRad;
            cosStop = Math.cos(stopAngle0);
            sinStop = Math.sin(stopAngle0);
          } while (cosStart === cosStop && sinStart === sinStop);
        }
      }
      dir = sweepAngle > 0 ? 0 : 1;
      radiusX = t1 / 2;
      radiusY = (rect.bottom - rect.top) / 2;
      px = rect.get$center()._dx + radiusX * Math.cos(stopAngle);
      py = rect.get$center()._dy + radiusY * Math.sin(stopAngle);
      if (cosStart === cosStop && sinStart === sinStop) {
        if (forceMoveTo)
          _this.moveTo$2(0, px, py);
        else
          _this._lineToIfNotTooCloseToLastPoint$2(px, py);
        return;
      }
      x = cosStart * cosStop + sinStart * sinStop;
      y = cosStart * sinStop - sinStart * cosStop;
      if (Math.abs(y) <= 0.000244140625)
        if (x > 0)
          if (!(y >= 0 && dir === 0))
            t1 = y <= 0 && dir === 1;
          else
            t1 = true;
        else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        if (forceMoveTo)
          _this.moveTo$2(0, px, py);
        else
          _this._lineToIfNotTooCloseToLastPoint$2(px, py);
        return;
      }
      t1 = dir === 1;
      if (t1)
        y = -y;
      if (0 === y)
        quadrant = 2;
      else if (0 === x)
        quadrant = y > 0 ? 1 : 3;
      else {
        t2 = y < 0;
        quadrant = t2 ? 2 : 0;
        if (x < 0 !== t2)
          ++quadrant;
      }
      conics = A._setArrayType([], type$.JSArray_Conic);
      for (i = 0; i < quadrant; ++i) {
        quadPointIndex = i * 2;
        p0 = B.List_SbI[quadPointIndex];
        p1 = B.List_SbI[quadPointIndex + 1];
        p2 = B.List_SbI[quadPointIndex + 2];
        conics.push(new A.Conic(p0._dx, p0._dy, p1._dx, p1._dy, p2._dx, p2._dy, 0.707106781));
      }
      lastQuadrantPoint = B.List_SbI[quadrant * 2];
      t2 = lastQuadrantPoint._dx;
      t3 = lastQuadrantPoint._dy;
      dot = x * t2 + y * t3;
      if (dot < 1) {
        offCurveX = t2 + x;
        offCurveY = t3 + y;
        cosThetaOver2 = Math.sqrt((1 + dot) / 2);
        t4 = cosThetaOver2 * Math.sqrt(offCurveX * offCurveX + offCurveY * offCurveY);
        offCurveX /= t4;
        offCurveY /= t4;
        if (!(Math.abs(offCurveX - t2) < 0.000244140625) || !(Math.abs(offCurveY - t3) < 0.000244140625)) {
          conics.push(new A.Conic(t2, t3, offCurveX, offCurveY, x, y, cosThetaOver2));
          conicCount = quadrant + 1;
        } else
          conicCount = quadrant;
      } else
        conicCount = quadrant;
      centerX = rect.get$center()._dx;
      centerY = rect.get$center()._dy;
      for (t2 = conics.length, _i = 0; _i < t2; ++_i) {
        conic = conics[_i];
        x = conic.p0x;
        y = conic.p0y;
        if (t1)
          y = -y;
        conic.p0x = (cosStart * x - sinStart * y) * radiusX + centerX;
        conic.p0y = (cosStart * y + sinStart * x) * radiusY + centerY;
        x = conic.p1x;
        y = conic.p1y;
        if (t1)
          y = -y;
        conic.p1x = (cosStart * x - sinStart * y) * radiusX + centerX;
        conic.p1y = (cosStart * y + sinStart * x) * radiusY + centerY;
        x = conic.p2x;
        y = conic.p2y;
        if (t1)
          y = -y;
        conic.p2x = (cosStart * x - sinStart * y) * radiusX + centerX;
        conic.p2y = (cosStart * y + sinStart * x) * radiusY + centerY;
      }
      t1 = conics[0];
      firstConicPx = t1.p0x;
      firstConicPy = t1.p0y;
      if (forceMoveTo)
        _this.moveTo$2(0, firstConicPx, firstConicPy);
      else
        _this._lineToIfNotTooCloseToLastPoint$2(firstConicPx, firstConicPy);
      for (i = 0; i < conicCount; ++i) {
        conic = conics[i];
        _this.conicTo$5(conic.p1x, conic.p1y, conic.p2x, conic.p2y, conic.fW);
      }
      _this._firstDirection = _this._convexityType = -1;
    },
    _lineToIfNotTooCloseToLastPoint$2(px, py) {
      var lastPoint,
        t1 = this.pathRef,
        pointCount = t1._fPointsLength;
      if (pointCount !== 0) {
        lastPoint = t1.atPoint$1(pointCount - 1);
        if (!(Math.abs(px - lastPoint._dx) < 0.000244140625) || !(Math.abs(py - lastPoint._dy) < 0.000244140625))
          this.lineTo$2(0, px, py);
      }
    },
    addOval$1(oval) {
      this._addOval$3(oval, 0, 0);
    },
    _addOval$3(oval, direction, startIndex) {
      var t1, _this = this,
        isOval = _this._hasOnlyMoveTos$0(),
        left = oval.left,
        right = oval.right,
        centerX = (left + right) / 2,
        $top = oval.top,
        bottom = oval.bottom,
        centerY = ($top + bottom) / 2;
      if (direction === 0) {
        _this.moveTo$2(0, right, centerY);
        _this.conicTo$5(right, bottom, centerX, bottom, 0.707106781);
        _this.conicTo$5(left, bottom, left, centerY, 0.707106781);
        _this.conicTo$5(left, $top, centerX, $top, 0.707106781);
        _this.conicTo$5(right, $top, right, centerY, 0.707106781);
      } else {
        _this.moveTo$2(0, right, centerY);
        _this.conicTo$5(right, $top, centerX, $top, 0.707106781);
        _this.conicTo$5(left, $top, left, centerY, 0.707106781);
        _this.conicTo$5(left, bottom, centerX, bottom, 0.707106781);
        _this.conicTo$5(right, bottom, right, centerY, 0.707106781);
      }
      _this.close$0(0);
      t1 = _this.pathRef;
      t1.fIsOval = isOval;
      t1.fRRectOrOvalIsCCW = direction === 1;
      t1.fRRectOrOvalStartIdx = 0;
      _this._firstDirection = _this._convexityType = -1;
      if (isOval)
        _this._firstDirection = direction;
    },
    addArc$3(oval, startAngle, sweepAngle) {
      var startOver90, startOver90I, startIndex, t1;
      if (0 === sweepAngle)
        return;
      if (sweepAngle >= 6.283185307179586 || sweepAngle <= -6.283185307179586) {
        startOver90 = startAngle / 1.5707963267948966;
        startOver90I = Math.floor(startOver90 + 0.5);
        if (Math.abs(startOver90 - startOver90I - 0) < 0.000244140625) {
          startIndex = startOver90I + 1;
          if (startIndex < 0)
            startIndex += 4;
          t1 = sweepAngle > 0 ? 0 : 1;
          this._addOval$3(oval, t1, B.JSNumber_methods.toInt$0(startIndex));
          return;
        }
      }
      this.arcTo$4(0, oval, startAngle, sweepAngle, true);
    },
    addPolygon$2(points, $close) {
      var pointIndex, t1, t2, i, index, _this = this,
        pointCount = points.length;
      if (pointCount <= 0)
        return;
      pointIndex = _this.pathRef.growForVerb$2(0, 0);
      _this.fLastMoveToIndex = pointIndex + 1;
      t1 = _this.pathRef;
      t2 = points[0];
      t1.setPoint$3(pointIndex, t2._dx, t2._dy);
      _this.pathRef.growForRepeatedVerb$2(1, pointCount - 1);
      for (t1 = _this.pathRef.fPoints, i = 1; i < pointCount; ++i) {
        t2 = points[i];
        index = (pointIndex + i) * 2;
        t1[index] = t2._dx;
        t1[index + 1] = t2._dy;
      }
      if ($close)
        _this.close$0(0);
      _this._firstDirection = _this._convexityType = -1;
    },
    addRRect$1(rrect) {
      var t6, width, height, tlRadiusX, trRadiusX, blRadiusX, brRadiusX, tlRadiusY, trRadiusY, blRadiusY, brRadiusY, scale, _this = this,
        isRRect = _this._hasOnlyMoveTos$0(),
        t1 = rrect.left,
        t2 = rrect.top,
        t3 = rrect.right,
        t4 = rrect.bottom,
        bounds = new A.Rect(t1, t2, t3, t4),
        t5 = rrect.tlRadiusX;
      if (t5 === 0 || rrect.tlRadiusY === 0)
        if (rrect.trRadiusX === 0 || rrect.trRadiusY === 0)
          if (rrect.blRadiusX === 0 || rrect.blRadiusY === 0)
            t6 = rrect.brRadiusX === 0 || rrect.brRadiusY === 0;
          else
            t6 = false;
        else
          t6 = false;
      else
        t6 = false;
      if (t6 || t1 >= t3 || t2 >= t4)
        _this.addRectWithDirection$3(bounds, 0, 3);
      else if (A.isRRectOval(rrect))
        _this._addOval$3(bounds, 0, 3);
      else {
        width = t3 - t1;
        height = t4 - t2;
        tlRadiusX = Math.max(0, t5);
        trRadiusX = Math.max(0, rrect.trRadiusX);
        blRadiusX = Math.max(0, rrect.blRadiusX);
        brRadiusX = Math.max(0, rrect.brRadiusX);
        tlRadiusY = Math.max(0, rrect.tlRadiusY);
        trRadiusY = Math.max(0, rrect.trRadiusY);
        blRadiusY = Math.max(0, rrect.blRadiusY);
        brRadiusY = Math.max(0, rrect.brRadiusY);
        scale = A._computeMinScale(blRadiusY, brRadiusY, height, A._computeMinScale(tlRadiusY, trRadiusY, height, A._computeMinScale(blRadiusX, brRadiusX, width, A._computeMinScale(tlRadiusX, trRadiusX, width, 1))));
        t5 = t4 - scale * blRadiusY;
        _this.moveTo$2(0, t1, t5);
        _this.lineTo$2(0, t1, t2 + scale * tlRadiusY);
        _this.conicTo$5(t1, t2, t1 + scale * tlRadiusX, t2, 0.707106781);
        _this.lineTo$2(0, t3 - scale * trRadiusX, t2);
        _this.conicTo$5(t3, t2, t3, t2 + scale * trRadiusY, 0.707106781);
        _this.lineTo$2(0, t3, t4 - scale * brRadiusY);
        _this.conicTo$5(t3, t4, t3 - scale * brRadiusX, t4, 0.707106781);
        _this.lineTo$2(0, t1 + scale * blRadiusX, t4);
        _this.conicTo$5(t1, t4, t1, t5, 0.707106781);
        _this.close$0(0);
        _this._firstDirection = isRRect ? 0 : -1;
        t1 = _this.pathRef;
        t1.fIsRRect = isRRect;
        t1.fRRectOrOvalIsCCW = false;
        t1.fRRectOrOvalStartIdx = 6;
      }
    },
    contains$1(_, point) {
      var bounds, x, y, t1, windings, evenOddFill, w, onCurveCount, iter, _buffer, tangents, done, oldCount, t2, last, tangent, dx, dy, index, test, t3, offset, _this = this;
      if (_this.pathRef._fVerbsLength === 0)
        return false;
      bounds = _this.getBounds$0(0);
      x = point._dx;
      y = point._dy;
      if (x < bounds.left || y < bounds.top || x > bounds.right || y > bounds.bottom)
        return false;
      t1 = _this.pathRef;
      windings = new A.PathWinding(t1, x, y, new Float32Array(18));
      windings._walkPath$0();
      evenOddFill = B.PathFillType_1 === _this._fillType;
      w = windings._w;
      if ((evenOddFill ? w & 1 : w) !== 0)
        return true;
      onCurveCount = windings._onCurveCount;
      if (onCurveCount <= 1)
        return B.JSBool_methods.$xor(onCurveCount !== 0, false);
      t1 = onCurveCount & 1;
      if (t1 !== 0 || evenOddFill)
        return t1 !== 0;
      iter = A.PathIterator$(_this.pathRef, true);
      _buffer = new Float32Array(18);
      tangents = A._setArrayType([], type$.JSArray_Offset);
      t1 = iter.pathRef;
      done = false;
      do {
        oldCount = tangents.length;
        switch (iter.next$1(0, _buffer)) {
          case 0:
          case 5:
            break;
          case 1:
            A.tangentLine(_buffer, x, y, tangents);
            break;
          case 2:
            A.tangentQuad(_buffer, x, y, tangents);
            break;
          case 3:
            t2 = iter._conicWeightIndex;
            A.tangentConic(_buffer, x, y, t1._conicWeights[t2], tangents);
            break;
          case 4:
            A.tangentCubic(_buffer, x, y, tangents);
            break;
          case 6:
            done = true;
            break;
        }
        t2 = tangents.length;
        if (t2 > oldCount) {
          last = t2 - 1;
          tangent = tangents[last];
          dx = tangent._dx;
          dy = tangent._dy;
          if (Math.abs(dx * dx + dy * dy - 0) < 0.000244140625)
            B.JSArray_methods.removeAt$1(tangents, last);
          else
            for (index = 0; index < last; ++index) {
              test = tangents[index];
              t2 = test._dx;
              t3 = test._dy;
              if (Math.abs(t2 * dy - t3 * dx - 0) < 0.000244140625) {
                t2 = dx * t2;
                if (t2 < 0)
                  t2 = -1;
                else
                  t2 = t2 > 0 ? 1 : 0;
                if (t2 <= 0) {
                  t2 = dy * t3;
                  if (t2 < 0)
                    t2 = -1;
                  else
                    t2 = t2 > 0 ? 1 : 0;
                  t2 = t2 <= 0;
                } else
                  t2 = false;
              } else
                t2 = false;
              if (t2) {
                offset = B.JSArray_methods.removeAt$1(tangents, last);
                if (index !== tangents.length)
                  tangents[index] = offset;
                break;
              }
            }
        }
      } while (!done);
      return tangents.length !== 0 || false;
    },
    shift$1(offset) {
      var t6,
        t1 = offset._dx,
        t2 = offset._dy,
        t3 = this.pathRef,
        t4 = A.PathRef__fPointsFromSource(t3, t1, t2),
        t5 = t3._fVerbsCapacity,
        verbs = new Uint8Array(t5);
      B.NativeUint8List_methods.setAll$2(verbs, 0, t3._fVerbs);
      t4 = new A.PathRef(t4, verbs);
      t5 = t3._conicWeightsCapacity;
      t4._conicWeightsCapacity = t5;
      t4._conicWeightsLength = t3._conicWeightsLength;
      t6 = t3._conicWeights;
      if (t6 != null) {
        t5 = new Float32Array(t5);
        t4._conicWeights = t5;
        B.NativeFloat32List_methods.setAll$2(t5, 0, t6);
      }
      t4._fVerbsCapacity = t3._fVerbsCapacity;
      t4._fVerbsLength = t3._fVerbsLength;
      t4._fPointsCapacity = t3._fPointsCapacity;
      t4._fPointsLength = t3._fPointsLength;
      t5 = t3.fBoundsIsDirty;
      t4.fBoundsIsDirty = t5;
      if (!t5) {
        t4.fBounds = t3.fBounds.translate$2(0, t1, t2);
        t5 = t3.cachedBounds;
        t4.cachedBounds = t5 == null ? null : t5.translate$2(0, t1, t2);
        t4.fIsFinite = t3.fIsFinite;
      }
      t4.fSegmentMask = t3.fSegmentMask;
      t4.fIsOval = t3.fIsOval;
      t4.fIsRRect = t3.fIsRRect;
      t4.fIsRect = t3.fIsRect;
      t4.fRRectOrOvalIsCCW = t3.fRRectOrOvalIsCCW;
      t4.fRRectOrOvalStartIdx = t3.fRRectOrOvalStartIdx;
      t1 = new A.SurfacePath(t4, B.PathFillType_0);
      t1._copyFields$1(this);
      return t1;
    },
    getBounds$0(_) {
      var t2, iter, points, ltrbInitialized, left, $top, right, bottom, minX, maxX, minY, maxY, cubicBounds, quadBounds, conicBounds, verb, pIndex, pointIndex, x1, pointIndex0, y1, cpX, cpY, x2, y2, t3, t4, t5, denom, t10, tprime, t6, t7, extremaX, extremaY, t20, tprime2, extrema2X, extrema2Y, roots, p20x, wP10x, $B, src2w, p20y, wP10y, startX, startY, cpX1, cpY1, cpX2, cpY2, endX, endY, a, b, s, t, newBounds, _this = this,
        t1 = _this.pathRef;
      if ((t1.fIsRRect ? t1.fRRectOrOvalStartIdx : -1) === -1)
        t2 = (t1.fIsOval ? t1.fRRectOrOvalStartIdx : -1) !== -1;
      else
        t2 = true;
      if (t2)
        return t1.getBounds$0(0);
      if (!t1.fBoundsIsDirty && t1.cachedBounds != null) {
        t1 = t1.cachedBounds;
        t1.toString;
        return t1;
      }
      iter = new A.PathRefIterator(t1);
      iter.PathRefIterator$1(t1);
      points = _this.pathRef.fPoints;
      for (ltrbInitialized = false, left = 0, $top = 0, right = 0, bottom = 0, minX = 0, maxX = 0, minY = 0, maxY = 0, cubicBounds = null, quadBounds = null, conicBounds = null; verb = iter.nextIndex$0(), verb !== 6;) {
        pIndex = iter.iterIndex;
        switch (verb) {
          case 0:
            maxX = points[pIndex];
            maxY = points[pIndex + 1];
            minY = maxY;
            minX = maxX;
            break;
          case 1:
            maxX = points[pIndex + 2];
            maxY = points[pIndex + 3];
            minY = maxY;
            minX = maxX;
            break;
          case 2:
            if (quadBounds == null)
              quadBounds = new A.QuadBounds();
            pointIndex = pIndex + 1;
            x1 = points[pIndex];
            pointIndex0 = pointIndex + 1;
            y1 = points[pointIndex];
            pointIndex = pointIndex0 + 1;
            cpX = points[pointIndex0];
            pointIndex0 = pointIndex + 1;
            cpY = points[pointIndex];
            x2 = points[pointIndex0];
            y2 = points[pointIndex0 + 1];
            t2 = quadBounds.minX = Math.min(x1, x2);
            t3 = quadBounds.minY = Math.min(y1, y2);
            t4 = quadBounds.maxX = Math.max(x1, x2);
            t5 = quadBounds.maxY = Math.max(y1, y2);
            denom = x1 - 2 * cpX + x2;
            if (Math.abs(denom) > 0.000244140625) {
              t10 = (x1 - cpX) / denom;
              if (t10 >= 0 && t10 <= 1) {
                tprime = 1 - t10;
                t6 = tprime * tprime;
                t7 = 2 * t10 * tprime;
                t10 *= t10;
                extremaX = t6 * x1 + t7 * cpX + t10 * x2;
                extremaY = t6 * y1 + t7 * cpY + t10 * y2;
                t2 = Math.min(t2, extremaX);
                quadBounds.minX = t2;
                t4 = Math.max(t4, extremaX);
                quadBounds.maxX = t4;
                t3 = Math.min(t3, extremaY);
                quadBounds.minY = t3;
                t5 = Math.max(t5, extremaY);
                quadBounds.maxY = t5;
              }
            }
            denom = y1 - 2 * cpY + y2;
            if (Math.abs(denom) > 0.000244140625) {
              t20 = (y1 - cpY) / denom;
              if (t20 >= 0 && t20 <= 1) {
                tprime2 = 1 - t20;
                t6 = tprime2 * tprime2;
                t7 = 2 * t20 * tprime2;
                t20 *= t20;
                extrema2X = t6 * x1 + t7 * cpX + t20 * x2;
                extrema2Y = t6 * y1 + t7 * cpY + t20 * y2;
                t2 = Math.min(t2, extrema2X);
                quadBounds.minX = t2;
                t4 = Math.max(t4, extrema2X);
                quadBounds.maxX = t4;
                t3 = Math.min(t3, extrema2Y);
                quadBounds.minY = t3;
                t5 = Math.max(t5, extrema2Y);
                quadBounds.maxY = t5;
              }
              maxY = t5;
              maxX = t4;
              minY = t3;
              minX = t2;
            } else {
              maxY = t5;
              maxX = t4;
              minY = t3;
              minX = t2;
            }
            break;
          case 3:
            if (conicBounds == null)
              conicBounds = new A.ConicBounds();
            t2 = t1._conicWeights[iter._conicWeightIndex];
            pointIndex = pIndex + 1;
            x1 = points[pIndex];
            pointIndex0 = pointIndex + 1;
            y1 = points[pointIndex];
            pointIndex = pointIndex0 + 1;
            cpX = points[pointIndex0];
            pointIndex0 = pointIndex + 1;
            cpY = points[pointIndex];
            x2 = points[pointIndex0];
            y2 = points[pointIndex0 + 1];
            conicBounds.minX = Math.min(x1, x2);
            conicBounds.minY = Math.min(y1, y2);
            conicBounds.maxX = Math.max(x1, x2);
            conicBounds.maxY = Math.max(y1, y2);
            roots = new A.QuadRoots();
            p20x = x2 - x1;
            wP10x = t2 * (cpX - x1);
            if (roots.findRoots$3(t2 * p20x - p20x, p20x - 2 * wP10x, wP10x) !== 0) {
              t3 = roots.root0;
              t3.toString;
              if (t3 >= 0 && t3 <= 1) {
                $B = 2 * (t2 - 1);
                denom = (-$B * t3 + $B) * t3 + 1;
                src2w = cpX * t2;
                extremaX = (((x2 - 2 * src2w + x1) * t3 + 2 * (src2w - x1)) * t3 + x1) / denom;
                src2w = cpY * t2;
                extremaY = (((y2 - 2 * src2w + y1) * t3 + 2 * (src2w - y1)) * t3 + y1) / denom;
                conicBounds.minX = Math.min(conicBounds.minX, extremaX);
                conicBounds.maxX = Math.max(conicBounds.maxX, extremaX);
                conicBounds.minY = Math.min(conicBounds.minY, extremaY);
                conicBounds.maxY = Math.max(conicBounds.maxY, extremaY);
              }
            }
            p20y = y2 - y1;
            wP10y = t2 * (cpY - y1);
            if (roots.findRoots$3(t2 * p20y - p20y, p20y - 2 * wP10y, wP10y) !== 0) {
              t3 = roots.root0;
              t3.toString;
              if (t3 >= 0 && t3 <= 1) {
                $B = 2 * (t2 - 1);
                denom = (-$B * t3 + $B) * t3 + 1;
                src2w = cpX * t2;
                extrema2X = (((x2 - 2 * src2w + x1) * t3 + 2 * (src2w - x1)) * t3 + x1) / denom;
                src2w = cpY * t2;
                extrema2Y = (((y2 - 2 * src2w + y1) * t3 + 2 * (src2w - y1)) * t3 + y1) / denom;
                conicBounds.minX = Math.min(conicBounds.minX, extrema2X);
                conicBounds.maxX = Math.max(conicBounds.maxX, extrema2X);
                conicBounds.minY = Math.min(conicBounds.minY, extrema2Y);
                conicBounds.maxY = Math.max(conicBounds.maxY, extrema2Y);
              }
            }
            minX = conicBounds.minX;
            minY = conicBounds.minY;
            maxX = conicBounds.maxX;
            maxY = conicBounds.maxY;
            break;
          case 4:
            if (cubicBounds == null)
              cubicBounds = new A.CubicBounds();
            pointIndex = pIndex + 1;
            startX = points[pIndex];
            pointIndex0 = pointIndex + 1;
            startY = points[pointIndex];
            pointIndex = pointIndex0 + 1;
            cpX1 = points[pointIndex0];
            pointIndex0 = pointIndex + 1;
            cpY1 = points[pointIndex];
            pointIndex = pointIndex0 + 1;
            cpX2 = points[pointIndex0];
            pointIndex0 = pointIndex + 1;
            cpY2 = points[pointIndex];
            endX = points[pointIndex0];
            endY = points[pointIndex0 + 1];
            t2 = Math.min(startX, endX);
            cubicBounds.minX = t2;
            cubicBounds.minY = Math.min(startY, endY);
            t3 = Math.max(startX, endX);
            cubicBounds.maxX = t3;
            cubicBounds.maxY = Math.max(startY, endY);
            if (!(startX < cpX1 && cpX1 < cpX2 && cpX2 < endX))
              t4 = startX > cpX1 && cpX1 > cpX2 && cpX2 > endX;
            else
              t4 = true;
            if (!t4) {
              t4 = -startX;
              a = t4 + 3 * (cpX1 - cpX2) + endX;
              b = 2 * (startX - 2 * cpX1 + cpX2);
              s = b * b - 4 * a * (t4 + cpX1);
              if (s >= 0 && Math.abs(a) > 0.000244140625) {
                t4 = -b;
                t5 = 2 * a;
                if (s === 0) {
                  t = t4 / t5;
                  tprime = 1 - t;
                  if (t >= 0 && t <= 1) {
                    t4 = 3 * tprime;
                    extremaX = tprime * tprime * tprime * startX + t4 * tprime * t * cpX1 + t4 * t * t * cpX2 + t * t * t * endX;
                    cubicBounds.minX = Math.min(extremaX, t2);
                    cubicBounds.maxX = Math.max(extremaX, t3);
                  }
                } else {
                  s = Math.sqrt(s);
                  t = (t4 - s) / t5;
                  tprime = 1 - t;
                  if (t >= 0 && t <= 1) {
                    t2 = 3 * tprime;
                    extremaX = tprime * tprime * tprime * startX + t2 * tprime * t * cpX1 + t2 * t * t * cpX2 + t * t * t * endX;
                    cubicBounds.minX = Math.min(extremaX, cubicBounds.minX);
                    cubicBounds.maxX = Math.max(extremaX, cubicBounds.maxX);
                  }
                  t = (t4 + s) / t5;
                  tprime = 1 - t;
                  if (t >= 0 && t <= 1) {
                    t2 = 3 * tprime;
                    extremaX = tprime * tprime * tprime * startX + t2 * tprime * t * cpX1 + t2 * t * t * cpX2 + t * t * t * endX;
                    cubicBounds.minX = Math.min(extremaX, cubicBounds.minX);
                    cubicBounds.maxX = Math.max(extremaX, cubicBounds.maxX);
                  }
                }
              }
            }
            if (!(startY < cpY1 && cpY1 < cpY2 && cpY2 < endY))
              t2 = startY > cpY1 && cpY1 > cpY2 && cpY2 > endY;
            else
              t2 = true;
            if (!t2) {
              t2 = -startY;
              a = t2 + 3 * (cpY1 - cpY2) + endY;
              b = 2 * (startY - 2 * cpY1 + cpY2);
              s = b * b - 4 * a * (t2 + cpY1);
              if (s >= 0 && Math.abs(a) > 0.000244140625) {
                t2 = -b;
                t3 = 2 * a;
                if (s === 0) {
                  t = t2 / t3;
                  tprime = 1 - t;
                  if (t >= 0 && t <= 1) {
                    t2 = 3 * tprime;
                    extremaY = tprime * tprime * tprime * startY + t2 * tprime * t * cpY1 + t2 * t * t * cpY2 + t * t * t * endY;
                    cubicBounds.minY = Math.min(extremaY, cubicBounds.minY);
                    cubicBounds.maxY = Math.max(extremaY, cubicBounds.maxY);
                  }
                } else {
                  s = Math.sqrt(s);
                  t = (t2 - s) / t3;
                  tprime = 1 - t;
                  if (t >= 0 && t <= 1) {
                    t4 = 3 * tprime;
                    extremaY = tprime * tprime * tprime * startY + t4 * tprime * t * cpY1 + t4 * t * t * cpY2 + t * t * t * endY;
                    cubicBounds.minY = Math.min(extremaY, cubicBounds.minY);
                    cubicBounds.maxY = Math.max(extremaY, cubicBounds.maxY);
                  }
                  t2 = (t2 + s) / t3;
                  tprime2 = 1 - t2;
                  if (t2 >= 0 && t2 <= 1) {
                    t3 = 3 * tprime2;
                    extremaY = tprime2 * tprime2 * tprime2 * startY + t3 * tprime2 * t2 * cpY1 + t3 * t2 * t2 * cpY2 + t2 * t2 * t2 * endY;
                    cubicBounds.minY = Math.min(extremaY, cubicBounds.minY);
                    cubicBounds.maxY = Math.max(extremaY, cubicBounds.maxY);
                  }
                }
              }
            }
            minX = cubicBounds.minX;
            minY = cubicBounds.minY;
            maxX = cubicBounds.maxX;
            maxY = cubicBounds.maxY;
            break;
        }
        if (!ltrbInitialized) {
          bottom = maxY;
          right = maxX;
          $top = minY;
          left = minX;
          ltrbInitialized = true;
        } else {
          left = Math.min(left, minX);
          right = Math.max(right, maxX);
          $top = Math.min($top, minY);
          bottom = Math.max(bottom, maxY);
        }
      }
      newBounds = ltrbInitialized ? new A.Rect(left, $top, right, bottom) : B.Rect_0_0_0_0;
      _this.pathRef.getBounds$0(0);
      return _this.pathRef.cachedBounds = newBounds;
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    $isPath: 1
  };
  A.PathIterator.prototype = {
    _autoClose$1(outPts) {
      var _this = this,
        t1 = _this._lastPointX,
        t2 = _this._moveToX;
      if (t1 !== t2 || _this._lastPointY !== _this._moveToY) {
        if (isNaN(t1) || isNaN(_this._lastPointY) || isNaN(t2) || isNaN(_this._moveToY))
          return 5;
        outPts[0] = t1;
        outPts[1] = _this._lastPointY;
        outPts[2] = t2;
        t1 = _this._moveToY;
        outPts[3] = t1;
        _this._lastPointX = t2;
        _this._lastPointY = t1;
        return 1;
      } else {
        outPts[0] = t2;
        outPts[1] = _this._moveToY;
        return 5;
      }
    },
    _constructMoveTo$0() {
      var t1, t2, _this = this;
      if (_this._segmentState === 1) {
        _this._segmentState = 2;
        return new A.Offset(_this._moveToX, _this._moveToY);
      }
      t1 = _this.pathRef.fPoints;
      t2 = _this._pointIndex;
      return new A.Offset(t1[t2 - 2], t1[t2 - 1]);
    },
    next$1(_, outPts) {
      var t3, verb, autoVerb, offsetX, offsetY, start, _this = this,
        t1 = _this._verbIndex,
        t2 = _this.pathRef;
      if (t1 === t2._fVerbsLength) {
        if (_this._needClose && _this._segmentState === 2) {
          if (1 === _this._autoClose$1(outPts))
            return 1;
          _this._needClose = false;
          return 5;
        }
        return 6;
      }
      t3 = _this._verbIndex = t1 + 1;
      verb = t2._fVerbs[t1];
      switch (verb) {
        case 0:
          if (_this._needClose) {
            _this._verbIndex = t3 - 1;
            autoVerb = _this._autoClose$1(outPts);
            if (autoVerb === 5)
              _this._needClose = false;
            return autoVerb;
          }
          if (t3 === _this._verbCount)
            return 6;
          t1 = t2.fPoints;
          t2 = _this._pointIndex;
          t3 = _this._pointIndex = t2 + 1;
          offsetX = t1[t2];
          _this._pointIndex = t3 + 1;
          offsetY = t1[t3];
          _this._moveToX = offsetX;
          _this._moveToY = offsetY;
          outPts[0] = offsetX;
          outPts[1] = offsetY;
          _this._segmentState = 1;
          _this._lastPointX = offsetX;
          _this._lastPointY = offsetY;
          _this._needClose = true;
          break;
        case 1:
          start = _this._constructMoveTo$0();
          t1 = t2.fPoints;
          t2 = _this._pointIndex;
          t3 = _this._pointIndex = t2 + 1;
          offsetX = t1[t2];
          _this._pointIndex = t3 + 1;
          offsetY = t1[t3];
          outPts[0] = start._dx;
          outPts[1] = start._dy;
          outPts[2] = offsetX;
          outPts[3] = offsetY;
          _this._lastPointX = offsetX;
          _this._lastPointY = offsetY;
          break;
        case 3:
          ++_this._conicWeightIndex;
          start = _this._constructMoveTo$0();
          outPts[0] = start._dx;
          outPts[1] = start._dy;
          t1 = t2.fPoints;
          t2 = _this._pointIndex;
          t3 = _this._pointIndex = t2 + 1;
          outPts[2] = t1[t2];
          t2 = _this._pointIndex = t3 + 1;
          outPts[3] = t1[t3];
          t3 = _this._pointIndex = t2 + 1;
          t2 = t1[t2];
          outPts[4] = t2;
          _this._lastPointX = t2;
          _this._pointIndex = t3 + 1;
          t3 = t1[t3];
          outPts[5] = t3;
          _this._lastPointY = t3;
          break;
        case 2:
          start = _this._constructMoveTo$0();
          outPts[0] = start._dx;
          outPts[1] = start._dy;
          t1 = t2.fPoints;
          t2 = _this._pointIndex;
          t3 = _this._pointIndex = t2 + 1;
          outPts[2] = t1[t2];
          t2 = _this._pointIndex = t3 + 1;
          outPts[3] = t1[t3];
          t3 = _this._pointIndex = t2 + 1;
          t2 = t1[t2];
          outPts[4] = t2;
          _this._lastPointX = t2;
          _this._pointIndex = t3 + 1;
          t3 = t1[t3];
          outPts[5] = t3;
          _this._lastPointY = t3;
          break;
        case 4:
          start = _this._constructMoveTo$0();
          outPts[0] = start._dx;
          outPts[1] = start._dy;
          t1 = t2.fPoints;
          t2 = _this._pointIndex;
          t3 = _this._pointIndex = t2 + 1;
          outPts[2] = t1[t2];
          t2 = _this._pointIndex = t3 + 1;
          outPts[3] = t1[t3];
          t3 = _this._pointIndex = t2 + 1;
          outPts[4] = t1[t2];
          t2 = _this._pointIndex = t3 + 1;
          outPts[5] = t1[t3];
          t3 = _this._pointIndex = t2 + 1;
          t2 = t1[t2];
          outPts[6] = t2;
          _this._lastPointX = t2;
          _this._pointIndex = t3 + 1;
          t3 = t1[t3];
          outPts[7] = t3;
          _this._lastPointY = t3;
          break;
        case 5:
          verb = _this._autoClose$1(outPts);
          if (verb === 1)
            --_this._verbIndex;
          else {
            _this._needClose = false;
            _this._segmentState = 0;
          }
          _this._lastPointX = _this._moveToX;
          _this._lastPointY = _this._moveToY;
          break;
        case 6:
          break;
        default:
          throw A.wrapException(A.FormatException$("Unsupport Path verb " + verb, null, null));
      }
      return verb;
    }
  };
  A.PathRef.prototype = {
    setPoint$3(pointIndex, x, y) {
      var index = pointIndex * 2,
        t1 = this.fPoints;
      t1[index] = x;
      t1[index + 1] = y;
    },
    atPoint$1(index) {
      var t1 = this.fPoints,
        t2 = index * 2;
      return new A.Offset(t1[t2], t1[t2 + 1]);
    },
    getRect$0() {
      var _this = this;
      if (_this.fIsRect)
        return new A.Rect(_this.atPoint$1(0)._dx, _this.atPoint$1(0)._dy, _this.atPoint$1(1)._dx, _this.atPoint$1(2)._dy);
      else
        return _this._fVerbsLength === 4 ? _this._detectRect$0() : null;
    },
    getBounds$0(_) {
      var t1;
      if (this.fBoundsIsDirty)
        this._computeBounds$0();
      t1 = this.fBounds;
      t1.toString;
      return t1;
    },
    _detectRect$0() {
      var width, x2, y2, height, t1, y3, _this = this, _null = null,
        x0 = _this.atPoint$1(0)._dx,
        y0 = _this.atPoint$1(0)._dy,
        x1 = _this.atPoint$1(1)._dx,
        y1 = _this.atPoint$1(1)._dy;
      if (_this._fVerbs[1] !== 1 || y1 !== y0)
        return _null;
      width = x1 - x0;
      x2 = _this.atPoint$1(2)._dx;
      y2 = _this.atPoint$1(2)._dy;
      if (_this._fVerbs[2] !== 1 || x2 !== x1)
        return _null;
      height = y2 - y1;
      t1 = _this.atPoint$1(3);
      y3 = _this.atPoint$1(3)._dy;
      if (_this._fVerbs[3] !== 1 || y3 !== y2)
        return _null;
      if (x2 - t1._dx !== width || y3 - y0 !== height)
        return _null;
      return new A.Rect(x0, y0, x0 + width, y0 + height);
    },
    getStraightLine$0() {
      var t1, x0, y0, x1, y1;
      if (this._fVerbsLength === 2) {
        t1 = this._fVerbs;
        t1 = t1[0] !== 0 || t1[1] !== 1;
      } else
        t1 = true;
      if (t1)
        return null;
      t1 = this.fPoints;
      x0 = t1[0];
      y0 = t1[1];
      x1 = t1[2];
      y1 = t1[3];
      if (y0 === y1 || x0 === x1)
        return new A.Rect(x0, y0, x1, y1);
      return null;
    },
    _getRRect$0() {
      var pts, cornerIndex, verb, controlPx, controlPy, vector1_0x, vector1_0y, t1, t2, dx, dy, t3,
        bounds = this.getBounds$0(0),
        radii = A._setArrayType([], type$.JSArray_Radius),
        iter = new A.PathRefIterator(this);
      iter.PathRefIterator$1(this);
      pts = new Float32Array(8);
      iter.next$1(0, pts);
      for (cornerIndex = 0; verb = iter.next$1(0, pts), verb !== 6;)
        if (3 === verb) {
          controlPx = pts[2];
          controlPy = pts[3];
          vector1_0x = controlPx - pts[0];
          vector1_0y = controlPy - pts[1];
          t1 = pts[4];
          t2 = pts[5];
          if (vector1_0x !== 0) {
            dx = Math.abs(vector1_0x);
            dy = Math.abs(t2 - controlPy);
          } else {
            dy = Math.abs(vector1_0y);
            dx = vector1_0y !== 0 ? Math.abs(t1 - controlPx) : Math.abs(vector1_0x);
          }
          radii.push(new A.Radius(dx, dy));
          ++cornerIndex;
        }
      t1 = radii[0];
      t2 = radii[1];
      t3 = radii[2];
      return A.RRect$fromRectAndCorners(bounds, radii[3], t3, t1, t2);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.PathRef && this.equals$1(other);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.fSegmentMask, _this.fPoints, _this._conicWeights, _this._fVerbs, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    equals$1(ref) {
      var pointCount, len, t1, t2, i, weightCount, verbCount, _this = this;
      if (_this.fSegmentMask !== ref.fSegmentMask)
        return false;
      pointCount = _this._fPointsLength;
      if (pointCount !== ref._fPointsLength)
        return false;
      len = pointCount * 2;
      for (t1 = _this.fPoints, t2 = ref.fPoints, i = 0; i < len; ++i)
        if (t1[i] !== t2[i])
          return false;
      t1 = _this._conicWeights;
      if (t1 == null) {
        if (ref._conicWeights != null)
          return false;
      } else {
        t2 = ref._conicWeights;
        if (t2 == null)
          return false;
        weightCount = t1.length;
        if (t2.length !== weightCount)
          return false;
        for (i = 0; i < weightCount; ++i)
          if (t1[i] !== t2[i])
            return false;
      }
      verbCount = _this._fVerbsLength;
      if (verbCount !== ref._fVerbsLength)
        return false;
      for (t1 = _this._fVerbs, t2 = ref._fVerbs, i = 0; i < verbCount; ++i)
        if (t1[i] !== t2[i])
          return false;
      return true;
    },
    _resizePoints$1(newLength) {
      var t1, newPoints, _this = this;
      if (newLength > _this._fPointsCapacity) {
        t1 = newLength + 10;
        _this._fPointsCapacity = t1;
        newPoints = new Float32Array(t1 * 2);
        B.NativeFloat32List_methods.setAll$2(newPoints, 0, _this.fPoints);
        _this.fPoints = newPoints;
      }
      _this._fPointsLength = newLength;
    },
    _resizeVerbs$1(newLength) {
      var t1, newVerbs, _this = this;
      if (newLength > _this._fVerbsCapacity) {
        t1 = newLength + 8;
        _this._fVerbsCapacity = t1;
        newVerbs = new Uint8Array(t1);
        B.NativeUint8List_methods.setAll$2(newVerbs, 0, _this._fVerbs);
        _this._fVerbs = newVerbs;
      }
      _this._fVerbsLength = newLength;
    },
    _resizeConicWeights$1(newLength) {
      var t1, newWeights, _this = this;
      if (newLength > _this._conicWeightsCapacity) {
        t1 = newLength + 4;
        _this._conicWeightsCapacity = t1;
        newWeights = new Float32Array(t1);
        t1 = _this._conicWeights;
        if (t1 != null)
          B.NativeFloat32List_methods.setAll$2(newWeights, 0, t1);
        _this._conicWeights = newWeights;
      }
      _this._conicWeightsLength = newLength;
    },
    _computeBounds$0() {
      var t1, maxX, maxY, accum, len, minY, minX, i, x, y, _this = this,
        pointCount = _this._fPointsLength;
      _this.fBoundsIsDirty = false;
      _this.cachedBounds = null;
      if (pointCount === 0) {
        _this.fBounds = B.Rect_0_0_0_0;
        _this.fIsFinite = true;
      } else {
        t1 = _this.fPoints;
        maxX = t1[0];
        maxY = t1[1];
        accum = 0 * maxX * maxY;
        len = 2 * pointCount;
        for (minY = maxY, minX = maxX, i = 2; i < len; i += 2) {
          x = t1[i];
          y = t1[i + 1];
          accum = accum * x * y;
          minX = Math.min(minX, x);
          minY = Math.min(minY, y);
          maxX = Math.max(maxX, x);
          maxY = Math.max(maxY, y);
        }
        if (accum * 0 === 0) {
          _this.fBounds = new A.Rect(minX, minY, maxX, maxY);
          _this.fIsFinite = true;
        } else {
          _this.fBounds = B.Rect_0_0_0_0;
          _this.fIsFinite = false;
        }
      }
    },
    growForVerb$2(verb, weight) {
      var pCnt, mask, verbCount, weightCount, ptsIndex, _this = this;
      switch (verb) {
        case 0:
          pCnt = 1;
          mask = 0;
          break;
        case 1:
          pCnt = 1;
          mask = 1;
          break;
        case 2:
          pCnt = 2;
          mask = 2;
          break;
        case 3:
          pCnt = 2;
          mask = 4;
          break;
        case 4:
          pCnt = 3;
          mask = 8;
          break;
        case 5:
          pCnt = 0;
          mask = 0;
          break;
        case 6:
          pCnt = 0;
          mask = 0;
          break;
        default:
          pCnt = 0;
          mask = 0;
          break;
      }
      _this.fSegmentMask |= mask;
      _this.fBoundsIsDirty = true;
      _this.startEdit$0();
      verbCount = _this._fVerbsLength;
      _this._resizeVerbs$1(verbCount + 1);
      _this._fVerbs[verbCount] = verb;
      if (3 === verb) {
        weightCount = _this._conicWeightsLength;
        _this._resizeConicWeights$1(weightCount + 1);
        _this._conicWeights[weightCount] = weight;
      }
      ptsIndex = _this._fPointsLength;
      _this._resizePoints$1(ptsIndex + pCnt);
      return ptsIndex;
    },
    growForRepeatedVerb$2(verb, numVbs) {
      var pCnt, mask, verbCount, t1, i, ptsIndex, _this = this;
      _this.startEdit$0();
      switch (verb) {
        case 0:
          pCnt = numVbs;
          mask = 0;
          break;
        case 1:
          pCnt = numVbs;
          mask = 1;
          break;
        case 2:
          pCnt = 2 * numVbs;
          mask = 2;
          break;
        case 3:
          pCnt = 2 * numVbs;
          mask = 4;
          break;
        case 4:
          pCnt = 3 * numVbs;
          mask = 8;
          break;
        case 5:
          pCnt = 0;
          mask = 0;
          break;
        case 6:
          pCnt = 0;
          mask = 0;
          break;
        default:
          pCnt = 0;
          mask = 0;
          break;
      }
      _this.fSegmentMask |= mask;
      _this.fBoundsIsDirty = true;
      _this.startEdit$0();
      if (3 === verb)
        _this._resizeConicWeights$1(_this._conicWeightsLength + numVbs);
      verbCount = _this._fVerbsLength;
      _this._resizeVerbs$1(verbCount + numVbs);
      for (t1 = _this._fVerbs, i = 0; i < numVbs; ++i)
        t1[verbCount + i] = verb;
      ptsIndex = _this._fPointsLength;
      _this._resizePoints$1(ptsIndex + pCnt);
      return ptsIndex;
    },
    startEdit$0() {
      var _this = this;
      _this.fIsRect = _this.fIsRRect = _this.fIsOval = false;
      _this.cachedBounds = null;
      _this.fBoundsIsDirty = true;
    }
  };
  A.PathRefIterator.prototype = {
    PathRefIterator$1(pathRef) {
      var t1;
      this._pointIndex = 0;
      t1 = this.pathRef;
      if (t1.fBoundsIsDirty)
        t1._computeBounds$0();
      if (!t1.fIsFinite)
        this._verbIndex = t1._fVerbsLength;
    },
    nextIndex$0() {
      var verb, _this = this,
        t1 = _this._verbIndex,
        t2 = _this.pathRef;
      if (t1 === t2._fVerbsLength)
        return 6;
      t2 = t2._fVerbs;
      _this._verbIndex = t1 + 1;
      verb = t2[t1];
      switch (verb) {
        case 0:
          t1 = _this._pointIndex;
          _this.iterIndex = t1;
          _this._pointIndex = t1 + 2;
          break;
        case 1:
          t1 = _this._pointIndex;
          _this.iterIndex = t1 - 2;
          _this._pointIndex = t1 + 2;
          break;
        case 3:
          ++_this._conicWeightIndex;
          t1 = _this._pointIndex;
          _this.iterIndex = t1 - 2;
          _this._pointIndex = t1 + 4;
          break;
        case 2:
          t1 = _this._pointIndex;
          _this.iterIndex = t1 - 2;
          _this._pointIndex = t1 + 4;
          break;
        case 4:
          t1 = _this._pointIndex;
          _this.iterIndex = t1 - 2;
          _this._pointIndex = t1 + 6;
          break;
        case 5:
          break;
        case 6:
          break;
        default:
          throw A.wrapException(A.FormatException$("Unsupport Path verb " + verb, null, null));
      }
      return verb;
    },
    next$1(_, outPts) {
      var t3, verb, points, pointIndex, pointIndex0, _this = this,
        t1 = _this._verbIndex,
        t2 = _this.pathRef;
      if (t1 === t2._fVerbsLength)
        return 6;
      t3 = t2._fVerbs;
      _this._verbIndex = t1 + 1;
      verb = t3[t1];
      points = t2.fPoints;
      pointIndex = _this._pointIndex;
      switch (verb) {
        case 0:
          pointIndex0 = pointIndex + 1;
          outPts[0] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[1] = points[pointIndex0];
          break;
        case 1:
          outPts[0] = points[pointIndex - 2];
          outPts[1] = points[pointIndex - 1];
          pointIndex0 = pointIndex + 1;
          outPts[2] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[3] = points[pointIndex0];
          break;
        case 3:
          ++_this._conicWeightIndex;
          outPts[0] = points[pointIndex - 2];
          outPts[1] = points[pointIndex - 1];
          pointIndex0 = pointIndex + 1;
          outPts[2] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[3] = points[pointIndex0];
          pointIndex0 = pointIndex + 1;
          outPts[4] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[5] = points[pointIndex0];
          break;
        case 2:
          outPts[0] = points[pointIndex - 2];
          outPts[1] = points[pointIndex - 1];
          pointIndex0 = pointIndex + 1;
          outPts[2] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[3] = points[pointIndex0];
          pointIndex0 = pointIndex + 1;
          outPts[4] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[5] = points[pointIndex0];
          break;
        case 4:
          outPts[0] = points[pointIndex - 2];
          outPts[1] = points[pointIndex - 1];
          pointIndex0 = pointIndex + 1;
          outPts[2] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[3] = points[pointIndex0];
          pointIndex0 = pointIndex + 1;
          outPts[4] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[5] = points[pointIndex0];
          pointIndex0 = pointIndex + 1;
          outPts[6] = points[pointIndex];
          pointIndex = pointIndex0 + 1;
          outPts[7] = points[pointIndex0];
          break;
        case 5:
          break;
        case 6:
          break;
        default:
          throw A.wrapException(A.FormatException$("Unsupport Path verb " + verb, null, null));
      }
      _this._pointIndex = pointIndex;
      return verb;
    }
  };
  A.QuadRoots.prototype = {
    findRoots$3(a, b, c) {
      var t1, dr, q, res, rootCount, rootCount0, t2, _this = this;
      if (a === 0) {
        t1 = A.validUnitDivide(-c, b);
        _this.root0 = t1;
        return t1 == null ? 0 : 1;
      }
      dr = b * b - 4 * a * c;
      if (dr < 0)
        return 0;
      dr = Math.sqrt(dr);
      if (!isFinite(dr))
        return 0;
      q = b < 0 ? -(b - dr) / 2 : -(b + dr) / 2;
      res = A.validUnitDivide(q, a);
      if (res != null) {
        _this.root0 = res;
        rootCount = 1;
      } else
        rootCount = 0;
      res = A.validUnitDivide(c, q);
      if (res != null) {
        rootCount0 = rootCount + 1;
        if (rootCount === 0)
          _this.root0 = res;
        else
          _this.root1 = res;
        rootCount = rootCount0;
      }
      if (rootCount === 2) {
        t1 = _this.root0;
        t1.toString;
        t2 = _this.root1;
        t2.toString;
        if (t1 > t2) {
          _this.root0 = t2;
          _this.root1 = t1;
        } else if (t1 === t2)
          return 1;
      }
      return rootCount;
    }
  };
  A.SkQuadCoefficients.prototype = {
    evalX$1(t) {
      return (this.ax * t + this.bx) * t + this.cx;
    },
    evalY$1(t) {
      return (this.ay * t + this.by) * t + this.cy;
    }
  };
  A.PathWinding.prototype = {
    _walkPath$0() {
      var t2, t3, verb, n, winding, t4, t5, t6, t7, t8, t9, t10, isMono, conics, _this = this,
        t1 = _this.pathRef,
        iter = A.PathIterator$(t1, true);
      for (t2 = _this.__engine$_buffer, t3 = type$.JSArray_Conic; verb = iter.next$1(0, t2), verb !== 6;)
        switch (verb) {
          case 0:
          case 5:
            break;
          case 1:
            _this._computeLineWinding$0();
            break;
          case 2:
            n = !A.PathWinding__isQuadMonotonic(t2) ? A.PathWinding__chopQuadAtExtrema(t2) : 0;
            winding = _this._computeMonoQuadWinding$6(t2[0], t2[1], t2[2], t2[3], t2[4], t2[5]);
            _this._w += n > 0 ? winding + _this._computeMonoQuadWinding$6(t2[4], t2[5], t2[6], t2[7], t2[8], t2[9]) : winding;
            break;
          case 3:
            t4 = t1._conicWeights[iter._conicWeightIndex];
            t5 = t2[0];
            t6 = t2[1];
            t7 = t2[2];
            t8 = t2[3];
            t9 = t2[4];
            t10 = t2[5];
            isMono = A.PathWinding__isQuadMonotonic(t2);
            conics = A._setArrayType([], t3);
            new A.Conic(t5, t6, t7, t8, t9, t10, t4).chopAtYExtrema$1(conics);
            _this._computeMonoConicWinding$1(conics[0]);
            if (!isMono && conics.length === 2)
              _this._computeMonoConicWinding$1(conics[1]);
            break;
          case 4:
            _this._computeCubicWinding$0();
            break;
        }
    },
    _computeLineWinding$0() {
      var y1, y0, dir, t2, crossProduct, _this = this,
        t1 = _this.__engine$_buffer,
        x0 = t1[0],
        startY = t1[1],
        x1 = t1[2],
        endY = t1[3];
      if (startY > endY) {
        y1 = startY;
        y0 = endY;
        dir = -1;
      } else {
        y1 = endY;
        y0 = startY;
        dir = 1;
      }
      t1 = _this.y;
      if (t1 < y0 || t1 > y1)
        return;
      t2 = _this.x;
      if (A.PathWinding__checkOnCurve(t2, t1, x0, startY, x1, endY)) {
        ++_this._onCurveCount;
        return;
      }
      if (t1 === y1)
        return;
      crossProduct = (x1 - x0) * (t1 - startY) - (endY - startY) * (t2 - x0);
      if (crossProduct === 0) {
        if (t2 !== x1 || t1 !== endY)
          ++_this._onCurveCount;
        dir = 0;
      } else if (A.SPath_scalarSignedAsInt(crossProduct) === dir)
        dir = 0;
      _this._w += dir;
    },
    _computeMonoQuadWinding$6(x0, y0, x1, y1, x2, y2) {
      var y20, y00, dir, t1, t2, quadRoots, xt, t3, _this = this;
      if (y0 > y2) {
        y20 = y0;
        y00 = y2;
        dir = -1;
      } else {
        y20 = y2;
        y00 = y0;
        dir = 1;
      }
      t1 = _this.y;
      if (t1 < y00 || t1 > y20)
        return 0;
      t2 = _this.x;
      if (A.PathWinding__checkOnCurve(t2, t1, x0, y0, x2, y2)) {
        ++_this._onCurveCount;
        return 0;
      }
      if (t1 === y20)
        return 0;
      quadRoots = new A.QuadRoots();
      if (0 === quadRoots.findRoots$3(y0 - 2 * y1 + y2, 2 * (y1 - y0), y0 - t1))
        xt = dir === 1 ? x0 : x2;
      else {
        t3 = quadRoots.root0;
        t3.toString;
        xt = ((x2 - 2 * x1 + x0) * t3 + 2 * (x1 - x0)) * t3 + x0;
      }
      if (Math.abs(xt - t2) < 0.000244140625)
        if (t2 !== x2 || t1 !== y2) {
          ++_this._onCurveCount;
          return 0;
        }
      return xt < t2 ? dir : 0;
    },
    _computeMonoConicWinding$1(conic) {
      var y20, y00, dir, t1, t2, t3, $B, quadRoots, xt, t4, _this = this,
        y0 = conic.p0y,
        y2 = conic.p2y;
      if (y0 > y2) {
        y20 = y0;
        y00 = y2;
        dir = -1;
      } else {
        y20 = y2;
        y00 = y0;
        dir = 1;
      }
      t1 = _this.y;
      if (t1 < y00 || t1 > y20)
        return;
      t2 = _this.x;
      if (A.PathWinding__checkOnCurve(t2, t1, conic.p0x, y0, conic.p2x, y2)) {
        ++_this._onCurveCount;
        return;
      }
      if (t1 === y20)
        return;
      t3 = conic.fW;
      $B = conic.p1y * t3 - t1 * t3 + t1;
      quadRoots = new A.QuadRoots();
      if (0 === quadRoots.findRoots$3(y2 + (y0 - 2 * $B), 2 * ($B - y0), y0 - t1))
        xt = dir === 1 ? conic.p0x : conic.p2x;
      else {
        t4 = quadRoots.root0;
        t4.toString;
        xt = A.Conic_evalNumerator(conic.p0x, conic.p1x, conic.p2x, t3, t4) / A.Conic_evalDenominator(t3, t4);
      }
      if (Math.abs(xt - t2) < 0.000244140625)
        if (t2 !== conic.p2x || t1 !== conic.p2y) {
          ++_this._onCurveCount;
          return;
        }
      t1 = _this._w;
      _this._w = t1 + (xt < t2 ? dir : 0);
    },
    _computeCubicWinding$0() {
      var i,
        t1 = this.__engine$_buffer,
        n = A.chopCubicAtYExtrema(t1, t1);
      for (i = 0; i <= n; ++i)
        this._windingMonoCubic$1(i * 3 * 2);
    },
    _windingMonoCubic$1(bufferIndex) {
      var px2, px3, py3, y3, y0, dir, t2, t3, min, max, t, xt, _this = this,
        t1 = _this.__engine$_buffer,
        bufferIndex0 = bufferIndex + 1,
        px0 = t1[bufferIndex],
        bufferIndex1 = bufferIndex0 + 1,
        py0 = t1[bufferIndex0],
        px1 = t1[bufferIndex1];
      bufferIndex0 = bufferIndex1 + 1 + 1;
      px2 = t1[bufferIndex0];
      bufferIndex0 = bufferIndex0 + 1 + 1;
      px3 = t1[bufferIndex0];
      py3 = t1[bufferIndex0 + 1];
      if (py0 > py3) {
        y3 = py0;
        y0 = py3;
        dir = -1;
      } else {
        y3 = py3;
        y0 = py0;
        dir = 1;
      }
      t2 = _this.y;
      if (t2 < y0 || t2 > y3)
        return;
      t3 = _this.x;
      if (A.PathWinding__checkOnCurve(t3, t2, px0, py0, px3, py3)) {
        ++_this._onCurveCount;
        return;
      }
      if (t2 === y3)
        return;
      min = Math.min(px0, Math.min(px1, Math.min(px2, px3)));
      max = Math.max(px0, Math.max(px1, Math.max(px2, px3)));
      if (t3 < min)
        return;
      if (t3 > max) {
        _this._w += dir;
        return;
      }
      t = A.chopMonoAtY(t1, bufferIndex, t2);
      if (t == null)
        return;
      xt = A.evalCubicPts(px0, px1, px2, px3, t);
      if (Math.abs(xt - t3) < 0.000244140625)
        if (t3 !== px3 || t2 !== py3) {
          ++_this._onCurveCount;
          return;
        }
      t1 = _this._w;
      _this._w = t1 + (xt < t3 ? dir : 0);
    }
  };
  A.PaintRequest.prototype = {
    paintCallback$0() {
      return this.paintCallback.call$0();
    }
  };
  A.PersistedPicture.prototype = {
    createElement$0(_) {
      var element = this.defaultCreateElement$1("flt-picture");
      A.callMethod(element, "setAttribute", ["aria-hidden", "true"]);
      return element;
    },
    preroll$1(prerollContext) {
      this.super$PersistedSurface$preroll(prerollContext);
    },
    recomputeTransformAndClip$0() {
      var t2, t3, paintWidth, paintHeight, newDensity, _this = this,
        t1 = _this.parent.transform;
      _this.transform = t1;
      t2 = _this.dx;
      if (t2 !== 0 || _this.dy !== 0) {
        t1.toString;
        t3 = new A.Matrix40(new Float32Array(16));
        t3.setFrom$1(t1);
        _this.transform = t3;
        t3.translate$2(0, t2, _this.dy);
      }
      t1 = _this.localPaintBounds;
      paintWidth = t1.right - t1.left;
      paintHeight = t1.bottom - t1.top;
      t1 = paintWidth === 0 || paintHeight === 0;
      newDensity = t1 ? 1 : A._computePixelDensity(_this.transform, paintWidth, paintHeight);
      if (newDensity !== _this._density) {
        _this._density = newDensity;
        _this._requiresRepaint = true;
      }
      _this._computeExactCullRects$0();
    },
    _computeExactCullRects$0() {
      var clipTransform, bounds, localClipBounds, localInverse, t1, t2, _this = this,
        parentSurface = _this.parent;
      if (parentSurface.projectedClip == null) {
        clipTransform = A.Matrix4$identity();
        for (bounds = null; parentSurface != null;) {
          localClipBounds = parentSurface.localClipBounds;
          if (localClipBounds != null)
            bounds = bounds == null ? A.transformRect(clipTransform, localClipBounds) : bounds.intersect$1(A.transformRect(clipTransform, localClipBounds));
          localInverse = parentSurface.get$localTransformInverse();
          if (localInverse != null && !localInverse.isIdentity$0(0))
            clipTransform.multiply$1(0, localInverse);
          parentSurface = parentSurface.parent;
        }
        if (bounds != null)
          t1 = bounds.right - bounds.left <= 0 || bounds.bottom - bounds.top <= 0;
        else
          t1 = false;
        if (t1)
          bounds = B.Rect_0_0_0_0;
        t1 = _this.parent;
        t1.projectedClip = bounds;
      } else
        t1 = parentSurface;
      t1 = t1.projectedClip;
      t2 = _this.localPaintBounds;
      if (t1 == null) {
        _this._exactLocalCullRect = t2;
        t1 = t2;
      } else
        t1 = _this._exactLocalCullRect = t2.intersect$1(t1);
      if (t1.right - t1.left <= 0 || t1.bottom - t1.top <= 0)
        _this._exactGlobalCullRect = _this._exactLocalCullRect = B.Rect_0_0_0_0;
    },
    _computeOptimalCullRect$1(oldSurface) {
      var oldOptimalLocalCullRect, t1, t2, t3, t4, t5, t6, t7, t8, t9, newLocalCullRect, _this = this;
      if (oldSurface == null || !oldSurface.picture.recordingCanvas._didDraw) {
        _this._optimalLocalCullRect = _this._exactLocalCullRect;
        _this._requiresRepaint = true;
        return;
      }
      oldOptimalLocalCullRect = oldSurface === _this ? _this._optimalLocalCullRect : oldSurface._optimalLocalCullRect;
      if (J.$eq$(_this._exactLocalCullRect, B.Rect_0_0_0_0)) {
        _this._optimalLocalCullRect = B.Rect_0_0_0_0;
        if (!J.$eq$(oldOptimalLocalCullRect, B.Rect_0_0_0_0))
          _this._requiresRepaint = true;
        return;
      }
      oldOptimalLocalCullRect.toString;
      t1 = _this._exactLocalCullRect;
      t1.toString;
      if (A.rectContainsOther(oldOptimalLocalCullRect, t1)) {
        _this._optimalLocalCullRect = oldOptimalLocalCullRect;
        return;
      }
      t2 = t1.left;
      t3 = t1.top;
      t4 = t1.right;
      t1 = t1.bottom;
      t5 = t4 - t2;
      t6 = A.PersistedPicture__predictTrend(oldOptimalLocalCullRect.left - t2, t5);
      t7 = t1 - t3;
      t8 = A.PersistedPicture__predictTrend(oldOptimalLocalCullRect.top - t3, t7);
      t5 = A.PersistedPicture__predictTrend(t4 - oldOptimalLocalCullRect.right, t5);
      t7 = A.PersistedPicture__predictTrend(t1 - oldOptimalLocalCullRect.bottom, t7);
      t9 = _this.localPaintBounds;
      t9.toString;
      newLocalCullRect = new A.Rect(t2 - t6, t3 - t8, t4 + t5, t1 + t7).intersect$1(t9);
      _this._requiresRepaint = !J.$eq$(_this._optimalLocalCullRect, newLocalCullRect);
      _this._optimalLocalCullRect = newLocalCullRect;
    },
    _applyPaint$1(oldSurface) {
      var t2, t3, domCanvas, _this = this,
        t1 = oldSurface == null,
        oldCanvas = t1 ? null : oldSurface.__engine$_canvas;
      _this._requiresRepaint = false;
      t2 = _this.picture.recordingCanvas;
      if (t2._didDraw) {
        t3 = _this._optimalLocalCullRect;
        t3 = t3.get$isEmpty(t3);
      } else
        t3 = true;
      if (t3) {
        A._recycleCanvas(oldCanvas);
        if (!t1)
          oldSurface.__engine$_canvas = null;
        t1 = _this.rootElement;
        if (t1 != null)
          A.removeAllChildren(t1);
        t1 = _this.__engine$_canvas;
        if (t1 != null && t1 !== oldCanvas)
          A._recycleCanvas(t1);
        _this.__engine$_canvas = null;
        return;
      }
      if (t2.renderStrategy.hasArbitraryPaint)
        _this._applyBitmapPaint$1(oldCanvas);
      else {
        A._recycleCanvas(_this.__engine$_canvas);
        t1 = _this.rootElement;
        t1.toString;
        domCanvas = _this.__engine$_canvas = new A.DomCanvas(t1, A._setArrayType([], type$.JSArray__SaveElementStackEntry), A._setArrayType([], type$.JSArray_JavaScriptObject), A.Matrix4$identity());
        t1 = _this.rootElement;
        t1.toString;
        A.removeAllChildren(t1);
        t1 = _this._optimalLocalCullRect;
        t1.toString;
        t2.applyCommands$2(domCanvas, t1);
        domCanvas.endOfPaint$0();
      }
    },
    matchForUpdate$1(existingSurface) {
      var didRequireBitmap, requiresBitmap, oldCanvas, oldPixelCount, _this = this,
        t1 = existingSurface.picture,
        t2 = _this.picture;
      if (t1 === t2)
        return 0;
      t1 = t1.recordingCanvas;
      if (!t1._didDraw)
        return 1;
      didRequireBitmap = t1.renderStrategy.hasArbitraryPaint;
      requiresBitmap = t2.recordingCanvas.renderStrategy.hasArbitraryPaint;
      if (didRequireBitmap !== requiresBitmap)
        return 1;
      else if (!requiresBitmap)
        return 1;
      else {
        oldCanvas = type$.nullable_BitmapCanvas._as(existingSurface.__engine$_canvas);
        if (oldCanvas == null)
          return 1;
        else {
          t1 = _this._exactLocalCullRect;
          t1.toString;
          if (!oldCanvas.doesFitBounds$2(t1, _this._density))
            return 1;
          else {
            t1 = _this._exactLocalCullRect;
            t1 = A.BitmapCanvas_widthToPhysical(t1.right - t1.left);
            t2 = _this._exactLocalCullRect;
            t2 = A.BitmapCanvas_heightToPhysical(t2.bottom - t2.top);
            oldPixelCount = oldCanvas.widthInBitmapPixels * oldCanvas.heightInBitmapPixels;
            if (oldPixelCount === 0)
              return 1;
            return 1 - t1 * t2 / oldPixelCount;
          }
        }
      }
    },
    _applyBitmapPaint$1(oldCanvas) {
      var t1, t2, _this = this;
      if (oldCanvas instanceof A.BitmapCanvas) {
        t1 = _this._optimalLocalCullRect;
        t1.toString;
        t1 = oldCanvas.doesFitBounds$2(t1, _this._density) && oldCanvas.__engine$_devicePixelRatio === A.EnginePlatformDispatcher_browserDevicePixelRatio();
      } else
        t1 = false;
      if (t1) {
        t1 = _this._optimalLocalCullRect;
        t1.toString;
        oldCanvas.set$bounds(0, t1);
        _this.__engine$_canvas = oldCanvas;
        oldCanvas._elementCache = _this._elementCache;
        oldCanvas.clear$0(0);
        t1 = _this.picture.recordingCanvas;
        t1.toString;
        t2 = _this._optimalLocalCullRect;
        t2.toString;
        t1.applyCommands$2(oldCanvas, t2);
        oldCanvas.endOfPaint$0();
      } else {
        A._recycleCanvas(oldCanvas);
        t1 = _this.__engine$_canvas;
        if (t1 instanceof A.BitmapCanvas)
          t1._elementCache = null;
        _this.__engine$_canvas = null;
        t1 = $.paintQueue;
        t2 = _this._optimalLocalCullRect;
        t1.push(new A.PaintRequest(new A.Size(t2.right - t2.left, t2.bottom - t2.top), new A.PersistedPicture__applyBitmapPaint_closure(_this)));
      }
    },
    _findOrCreateCanvas$1(bounds) {
      var boundsWidth, boundsHeight, requestedPixelCount, t3, bestRecycledCanvas, lastPixelCount, i, candidate, ratio, t4, t5, candidatePixelCount, t6, fits, isSmaller, canvas, _this = this,
        t1 = bounds.right - bounds.left,
        t2 = bounds.bottom - bounds.top;
      for (boundsWidth = t1 + 1, boundsHeight = t2 + 1, requestedPixelCount = t1 * t2, t3 = requestedPixelCount > 1, bestRecycledCanvas = null, lastPixelCount = 1 / 0, i = 0; i < $._recycledCanvases.length; ++i) {
        candidate = $._recycledCanvases[i];
        ratio = window.devicePixelRatio;
        t4 = ratio === 0 ? 1 : ratio;
        if (candidate.__engine$_devicePixelRatio !== t4)
          continue;
        t4 = candidate._bounds;
        t5 = t4.right - t4.left;
        t4 = t4.bottom - t4.top;
        candidatePixelCount = t5 * t4;
        t6 = _this._density;
        ratio = window.devicePixelRatio;
        if (candidate.widthInBitmapPixels >= B.JSNumber_methods.ceil$0(boundsWidth * (ratio === 0 ? 1 : ratio)) + 2) {
          ratio = window.devicePixelRatio;
          fits = candidate.heightInBitmapPixels >= B.JSNumber_methods.ceil$0(boundsHeight * (ratio === 0 ? 1 : ratio)) + 2 && candidate._density === t6;
        } else
          fits = false;
        isSmaller = candidatePixelCount < lastPixelCount;
        if (fits && isSmaller)
          if (!(isSmaller && t3 && candidatePixelCount / requestedPixelCount > 4)) {
            if (t5 === t1 && t4 === t2) {
              bestRecycledCanvas = candidate;
              break;
            }
            lastPixelCount = candidatePixelCount;
            bestRecycledCanvas = candidate;
          }
      }
      if (bestRecycledCanvas != null) {
        B.JSArray_methods.remove$1($._recycledCanvases, bestRecycledCanvas);
        bestRecycledCanvas.set$bounds(0, bounds);
        bestRecycledCanvas._elementCache = _this._elementCache;
        return bestRecycledCanvas;
      }
      canvas = A.BitmapCanvas$(bounds, _this.picture.recordingCanvas.renderStrategy, _this._density);
      canvas._elementCache = _this._elementCache;
      return canvas;
    },
    _applyTranslate$0() {
      A.DomCSSStyleDeclarationExtension_setProperty(this.rootElement.style, "transform", "translate(" + A.S(this.dx) + "px, " + A.S(this.dy) + "px)");
    },
    apply$0() {
      this._applyTranslate$0();
      this._applyPaint$1(null);
    },
    build$0() {
      this._computeOptimalCullRect$1(null);
      this._requiresRepaint = true;
      this.super$PersistedSurface$build();
    },
    update$1(_, oldSurface) {
      var t1, densityChanged, _this = this;
      _this.super$PersistedSurface$update(0, oldSurface);
      _this._elementCache = oldSurface._elementCache;
      if (oldSurface !== _this)
        oldSurface._elementCache = null;
      if (_this.dx !== oldSurface.dx || _this.dy !== oldSurface.dy)
        _this._applyTranslate$0();
      _this._computeOptimalCullRect$1(oldSurface);
      if (_this.picture === oldSurface.picture) {
        t1 = _this.__engine$_canvas;
        densityChanged = t1 instanceof A.BitmapCanvas && _this._density !== t1._density;
        if (_this._requiresRepaint || densityChanged)
          _this._applyPaint$1(oldSurface);
        else
          _this.__engine$_canvas = oldSurface.__engine$_canvas;
      } else
        _this._applyPaint$1(oldSurface);
    },
    retain$0() {
      var _this = this;
      _this.super$PersistedSurface$retain();
      _this._computeOptimalCullRect$1(_this);
      if (_this._requiresRepaint)
        _this._applyPaint$1(_this);
    },
    discard$0() {
      A._recycleCanvas(this.__engine$_canvas);
      this.__engine$_canvas = null;
      this.super$PersistedSurface$discard();
    }
  };
  A.PersistedPicture__applyBitmapPaint_closure.prototype = {
    call$0() {
      var bitmapCanvas,
        t1 = this.$this,
        t2 = t1._optimalLocalCullRect;
      t2.toString;
      bitmapCanvas = t1.__engine$_canvas = t1._findOrCreateCanvas$1(t2);
      bitmapCanvas._elementCache = t1._elementCache;
      t2 = t1.rootElement;
      t2.toString;
      A.removeAllChildren(t2);
      t1.rootElement.append(bitmapCanvas.rootElement);
      bitmapCanvas.clear$0(0);
      t2 = t1.picture.recordingCanvas;
      t2.toString;
      t1 = t1._optimalLocalCullRect;
      t1.toString;
      t2.applyCommands$2(bitmapCanvas, t1);
      bitmapCanvas.endOfPaint$0();
    },
    $signature: 0
  };
  A.RecordingCanvas.prototype = {
    applyCommands$2(engineCanvas, clipRect) {
      var len, i, len0, i0, command, e, t1, t2, len1, exception;
      try {
        t1 = this._pictureBounds;
        t1.toString;
        t1 = A.rectContainsOther(clipRect, t1);
        t2 = this._commands;
        len1 = t2.length;
        if (t1) {
          len = len1;
          for (i = 0; i < len; ++i)
            t2[i].apply$1(engineCanvas);
        } else {
          len0 = len1;
          for (i0 = 0; i0 < len0; ++i0) {
            command = t2[i0];
            if (command instanceof A.DrawCommand)
              if (command.isInvisible$1(clipRect))
                continue;
            command.apply$1(engineCanvas);
          }
        }
      } catch (exception) {
        e = A.unwrapException(exception);
        if (!J.$eq$(e.name, "NS_ERROR_FAILURE"))
          throw exception;
      }
    },
    drawRect$2(rect, paint) {
      var paintSpread, command, _this = this,
        t1 = paint._paintData;
      if (t1.shader != null)
        _this.renderStrategy.hasArbitraryPaint = true;
      _this._didDraw = true;
      paintSpread = A._getPaintSpread(paint);
      paint._frozen = true;
      command = new A.PaintDrawRect(rect, t1);
      t1 = _this._paintBounds;
      if (paintSpread !== 0)
        t1.grow$2(rect.inflate$1(paintSpread), command);
      else
        t1.grow$2(rect, command);
      _this._commands.push(command);
    },
    drawRRect$2(rrect, paint) {
      var paintSpread, t2, t3, t4, t5, t6, t7, command, _this = this,
        t1 = paint._paintData;
      if (t1.shader != null || !rrect.webOnlyUniformRadii)
        _this.renderStrategy.hasArbitraryPaint = true;
      _this._didDraw = true;
      paintSpread = A._getPaintSpread(paint);
      t2 = rrect.left;
      t3 = rrect.right;
      t4 = Math.min(t2, t3);
      t5 = rrect.top;
      t6 = rrect.bottom;
      t7 = Math.min(t5, t6);
      t3 = Math.max(t2, t3);
      t6 = Math.max(t5, t6);
      paint._frozen = true;
      command = new A.PaintDrawRRect(rrect, t1);
      _this._paintBounds.growLTRB$5(t4 - paintSpread, t7 - paintSpread, t3 + paintSpread, t6 + paintSpread, command);
      _this._commands.push(command);
    },
    drawDRRect$3(outer, inner, paint) {
      var scaledOuter, scaledInner, outerTl, outerTr, outerBl, outerBr, innerTl, innerTr, innerBl, innerBr, paintSpread, command, t5, left, right, _this = this,
        innerRect = new A.Rect(inner.left, inner.top, inner.right, inner.bottom),
        t1 = outer.left,
        t2 = outer.top,
        t3 = outer.right,
        t4 = outer.bottom,
        outerRect = new A.Rect(t1, t2, t3, t4);
      if (outerRect.$eq(0, innerRect) || !outerRect.intersect$1(innerRect).$eq(0, innerRect))
        return;
      scaledOuter = outer.scaleRadii$0();
      scaledInner = inner.scaleRadii$0();
      outerTl = A._measureBorderRadius(scaledOuter.tlRadiusX, scaledOuter.tlRadiusY);
      outerTr = A._measureBorderRadius(scaledOuter.trRadiusX, scaledOuter.trRadiusY);
      outerBl = A._measureBorderRadius(scaledOuter.blRadiusX, scaledOuter.blRadiusY);
      outerBr = A._measureBorderRadius(scaledOuter.brRadiusX, scaledOuter.brRadiusY);
      innerTl = A._measureBorderRadius(scaledInner.tlRadiusX, scaledInner.tlRadiusY);
      innerTr = A._measureBorderRadius(scaledInner.trRadiusX, scaledInner.trRadiusY);
      innerBl = A._measureBorderRadius(scaledInner.blRadiusX, scaledInner.blRadiusY);
      innerBr = A._measureBorderRadius(scaledInner.brRadiusX, scaledInner.brRadiusY);
      if (innerTl > outerTl || innerTr > outerTr || innerBl > outerBl || innerBr > outerBr)
        return;
      _this._didDraw = _this.renderStrategy.hasArbitraryPaint = true;
      paintSpread = A._getPaintSpread(paint);
      paint._frozen = true;
      command = new A.PaintDrawDRRect(outer, inner, paint._paintData);
      t5 = A.Path_Path();
      t5.set$fillType(B.PathFillType_1);
      t5.addRRect$1(outer);
      t5.addRRect$1(inner);
      t5.close$0(0);
      command.path = t5;
      left = Math.min(t1, t3);
      right = Math.max(t1, t3);
      _this._paintBounds.growLTRB$5(left - paintSpread, Math.min(t2, t4) - paintSpread, right + paintSpread, Math.max(t2, t4) + paintSpread, command);
      _this._commands.push(command);
    },
    drawPath$2(path, paint) {
      var rect, t1, rrect, pathBounds, paintSpread, t2, t3, clone, command, _this = this;
      if (paint._paintData.shader == null) {
        type$.SurfacePath._as(path);
        rect = path.pathRef.getRect$0();
        if (rect != null) {
          _this.drawRect$2(rect, paint);
          return;
        }
        t1 = path.pathRef;
        rrect = t1.fIsRRect ? t1._getRRect$0() : null;
        if (rrect != null) {
          _this.drawRRect$2(rrect, paint);
          return;
        }
      }
      type$.SurfacePath._as(path);
      if (path.pathRef._fVerbsLength !== 0) {
        _this._didDraw = _this.renderStrategy.hasArbitraryPaint = true;
        pathBounds = path.getBounds$0(0);
        paintSpread = A._getPaintSpread(paint);
        if (paintSpread !== 0)
          pathBounds = pathBounds.inflate$1(paintSpread);
        t1 = path.pathRef;
        t2 = new A.PathRef(t1.fPoints, t1._fVerbs);
        t2._fVerbsCapacity = t1._fVerbsCapacity;
        t2._fVerbsLength = t1._fVerbsLength;
        t2._fPointsCapacity = t1._fPointsCapacity;
        t2._fPointsLength = t1._fPointsLength;
        t2._conicWeightsCapacity = t1._conicWeightsCapacity;
        t2._conicWeightsLength = t1._conicWeightsLength;
        t2._conicWeights = t1._conicWeights;
        t3 = t1.fBoundsIsDirty;
        t2.fBoundsIsDirty = t3;
        if (!t3) {
          t2.fBounds = t1.fBounds;
          t2.cachedBounds = t1.cachedBounds;
          t2.fIsFinite = t1.fIsFinite;
        }
        t2.fSegmentMask = t1.fSegmentMask;
        t2.fIsOval = t1.fIsOval;
        t2.fIsRRect = t1.fIsRRect;
        t2.fIsRect = t1.fIsRect;
        t2.fRRectOrOvalIsCCW = t1.fRRectOrOvalIsCCW;
        t2.fRRectOrOvalStartIdx = t1.fRRectOrOvalStartIdx;
        clone = new A.SurfacePath(t2, B.PathFillType_0);
        clone._copyFields$1(path);
        paint._frozen = true;
        command = new A.PaintDrawPath(clone, paint._paintData);
        _this._paintBounds.grow$2(pathBounds, command);
        clone._fillType = path._fillType;
        _this._commands.push(command);
      }
    },
    drawParagraph$2(paragraph, offset) {
      var t1, command, paragraphBounds, t2, _this = this;
      type$.CanvasParagraph._as(paragraph);
      if (!paragraph.isLaidOut)
        return;
      _this._didDraw = true;
      t1 = _this.renderStrategy;
      t1.hasArbitraryPaint = true;
      t1.hasParagraphs = true;
      command = new A.PaintDrawParagraph(paragraph, offset);
      paragraphBounds = paragraph.get$_layoutService()._paintBounds;
      t1 = offset._dx;
      t2 = offset._dy;
      _this._paintBounds.growLTRB$5(t1 + paragraphBounds.left, t2 + paragraphBounds.top, t1 + paragraphBounds.right, t2 + paragraphBounds.bottom, command);
      _this._commands.push(command);
    }
  };
  A.PaintCommand.prototype = {};
  A.DrawCommand.prototype = {
    isInvisible$1(clipRect) {
      var _this = this;
      if (_this.isClippedOut)
        return true;
      return _this.bottomBound < clipRect.top || _this.topBound > clipRect.bottom || _this.rightBound < clipRect.left || _this.leftBound > clipRect.right;
    }
  };
  A.PaintSave.prototype = {
    apply$1(canvas) {
      canvas.save$0(0);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintRestore.prototype = {
    apply$1(canvas) {
      canvas.restore$0(0);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintTranslate.prototype = {
    apply$1(canvas) {
      canvas.translate$2(0, this.dx, this.dy);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintScale.prototype = {
    apply$1(canvas) {
      canvas.scale$2(0, this.sx, this.sy);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintRotate.prototype = {
    apply$1(canvas) {
      canvas.rotate$1(0, this.radians);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintTransform.prototype = {
    apply$1(canvas) {
      canvas.transform$1(0, this.matrix4);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintClipRect.prototype = {
    apply$1(canvas) {
      canvas.clipRect$2(this.rect, this.clipOp);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintClipRRect.prototype = {
    apply$1(canvas) {
      canvas.clipRRect$1(this.rrect);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintClipPath.prototype = {
    apply$1(canvas) {
      canvas.clipPath$1(0, this.path);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawLine.prototype = {
    apply$1(canvas) {
      canvas.drawLine$3(this.p1, this.p2, this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawPaint.prototype = {
    apply$1(canvas) {
      canvas.drawPaint$1(this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawRect.prototype = {
    apply$1(canvas) {
      canvas.drawRect$2(this.rect, this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawRRect.prototype = {
    apply$1(canvas) {
      canvas.drawRRect$2(this.rrect, this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawDRRect.prototype = {
    apply$1(canvas) {
      var t1 = this.paint;
      if (t1.style == null)
        t1.style = B.PaintingStyle_0;
      canvas.drawPath$2(this.path, t1);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawOval.prototype = {
    apply$1(canvas) {
      canvas.drawOval$2(this.rect, this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawCircle.prototype = {
    apply$1(canvas) {
      canvas.drawCircle$3(this.c, this.radius, this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawPath.prototype = {
    apply$1(canvas) {
      canvas.drawPath$2(this.path, this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawShadow.prototype = {
    apply$1(canvas) {
      var _this = this;
      canvas.drawShadow$4(_this.path, _this.color, _this.elevation, _this.transparentOccluder);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawImageRect.prototype = {
    apply$1(canvas) {
      var _this = this;
      canvas.drawImageRect$4(_this.image, _this.src, _this.dst, _this.paint);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PaintDrawParagraph.prototype = {
    apply$1(canvas) {
      canvas.drawParagraph$2(this.paragraph, this.offset);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A._PaintBounds.prototype = {
    clipRect$2(rect, command) {
      var t1, t4, t3, t2, _this = this,
        left = rect.left,
        $top = rect.top,
        right = rect.right,
        bottom = rect.bottom;
      if (!_this._currentMatrixIsIdentity) {
        t1 = $.$get$_PaintBounds__tempRectData();
        t1[0] = left;
        t1[1] = $top;
        t1[2] = right;
        t1[3] = bottom;
        A.transformLTRB(_this._currentMatrix, t1);
        left = t1[0];
        $top = t1[1];
        right = t1[2];
        bottom = t1[3];
      }
      if (!_this._clipRectInitialized) {
        _this._currentClipLeft = left;
        _this._currentClipTop = $top;
        _this._currentClipRight = right;
        _this._currentClipBottom = bottom;
        _this._clipRectInitialized = true;
        t4 = bottom;
        t3 = right;
        t2 = $top;
        t1 = left;
      } else {
        t1 = _this._currentClipLeft;
        if (left > t1) {
          _this._currentClipLeft = left;
          t1 = left;
        }
        t2 = _this._currentClipTop;
        if ($top > t2) {
          _this._currentClipTop = $top;
          t2 = $top;
        }
        t3 = _this._currentClipRight;
        if (right < t3) {
          _this._currentClipRight = right;
          t3 = right;
        }
        t4 = _this._currentClipBottom;
        if (bottom < t4) {
          _this._currentClipBottom = bottom;
          t4 = bottom;
        }
      }
      if (t1 >= t3 || t2 >= t4)
        command.isClippedOut = true;
      else {
        command.leftBound = t1;
        command.topBound = t2;
        command.rightBound = t3;
        command.bottomBound = t4;
      }
    },
    grow$2(r, command) {
      this.growLTRB$5(r.left, r.top, r.right, r.bottom, command);
    },
    growLTRB$5(left, $top, right, bottom, command) {
      var t1, transformedPointLeft, transformedPointTop, transformedPointRight, transformedPointBottom, transformedPointRight0, transformedPointLeft0, transformedPointBottom0, transformedPointTop0, _this = this;
      if (left === right || $top === bottom) {
        command.isClippedOut = true;
        return;
      }
      if (!_this._currentMatrixIsIdentity) {
        t1 = $.$get$_PaintBounds__tempRectData();
        t1[0] = left;
        t1[1] = $top;
        t1[2] = right;
        t1[3] = bottom;
        A.transformLTRB(_this._currentMatrix, t1);
        transformedPointLeft = t1[0];
        transformedPointTop = t1[1];
        transformedPointRight = t1[2];
        transformedPointBottom = t1[3];
      } else {
        transformedPointBottom = bottom;
        transformedPointRight = right;
        transformedPointTop = $top;
        transformedPointLeft = left;
      }
      if (_this._clipRectInitialized) {
        transformedPointRight0 = _this._currentClipRight;
        if (transformedPointLeft >= transformedPointRight0) {
          command.isClippedOut = true;
          return;
        }
        transformedPointLeft0 = _this._currentClipLeft;
        if (transformedPointRight <= transformedPointLeft0) {
          command.isClippedOut = true;
          return;
        }
        transformedPointBottom0 = _this._currentClipBottom;
        if (transformedPointTop >= transformedPointBottom0) {
          command.isClippedOut = true;
          return;
        }
        transformedPointTop0 = _this._currentClipTop;
        if (transformedPointBottom <= transformedPointTop0) {
          command.isClippedOut = true;
          return;
        }
        if (transformedPointLeft < transformedPointLeft0)
          transformedPointLeft = transformedPointLeft0;
        if (transformedPointRight > transformedPointRight0)
          transformedPointRight = transformedPointRight0;
        if (transformedPointTop < transformedPointTop0)
          transformedPointTop = transformedPointTop0;
        if (transformedPointBottom > transformedPointBottom0)
          transformedPointBottom = transformedPointBottom0;
      }
      command.leftBound = transformedPointLeft;
      command.topBound = transformedPointTop;
      command.rightBound = transformedPointRight;
      command.bottomBound = transformedPointBottom;
      if (_this._didPaintInsideClipArea) {
        _this.__engine$_left = Math.min(Math.min(_this.__engine$_left, transformedPointLeft), transformedPointRight);
        _this.__engine$_right = Math.max(Math.max(_this.__engine$_right, transformedPointLeft), transformedPointRight);
        _this.__engine$_top = Math.min(Math.min(_this.__engine$_top, transformedPointTop), transformedPointBottom);
        _this.__engine$_bottom = Math.max(Math.max(_this.__engine$_bottom, transformedPointTop), transformedPointBottom);
      } else {
        _this.__engine$_left = Math.min(transformedPointLeft, transformedPointRight);
        _this.__engine$_right = Math.max(transformedPointLeft, transformedPointRight);
        _this.__engine$_top = Math.min(transformedPointTop, transformedPointBottom);
        _this.__engine$_bottom = Math.max(transformedPointTop, transformedPointBottom);
      }
      _this._didPaintInsideClipArea = true;
    },
    saveTransformsAndClip$0() {
      var _this = this,
        t1 = _this._currentMatrix,
        t2 = new A.Matrix40(new Float32Array(16));
      t2.setFrom$1(t1);
      _this.__engine$_transforms.push(t2);
      t1 = _this._clipRectInitialized ? new A.Rect(_this._currentClipLeft, _this._currentClipTop, _this._currentClipRight, _this._currentClipBottom) : null;
      _this._clipStack.push(t1);
    },
    computeBounds$0() {
      var t1, maxLeft, maxRight, maxTop, maxBottom, t2, left, right, $top, bottom, _this = this;
      if (!_this._didPaintInsideClipArea)
        return B.Rect_0_0_0_0;
      t1 = _this.maxPaintBounds;
      maxLeft = t1.left;
      if (isNaN(maxLeft))
        maxLeft = -1 / 0;
      maxRight = t1.right;
      if (isNaN(maxRight))
        maxRight = 1 / 0;
      maxTop = t1.top;
      if (isNaN(maxTop))
        maxTop = -1 / 0;
      maxBottom = t1.bottom;
      if (isNaN(maxBottom))
        maxBottom = 1 / 0;
      t1 = _this.__engine$_left;
      t2 = _this.__engine$_right;
      left = Math.min(t1, t2);
      right = Math.max(t1, t2);
      t2 = _this.__engine$_top;
      t1 = _this.__engine$_bottom;
      $top = Math.min(t2, t1);
      bottom = Math.max(t2, t1);
      if (right < maxLeft || bottom < maxTop)
        return B.Rect_0_0_0_0;
      return new A.Rect(Math.max(left, maxLeft), Math.max($top, maxTop), Math.min(right, maxRight), Math.min(bottom, maxBottom));
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.RenderStrategy.prototype = {};
  A._WebGlRenderer.prototype = {
    drawRectToGl$6(targetRect, gl, glProgram, gradient, widthInPixels, heightInPixels) {
      var t1, t2, t3, colorsBuffer, colors, indexBuffer, t4,
        _s9_ = "uniform4f",
        _s10_ = "bindBuffer",
        _s10_0 = "bufferData",
        _s19_ = "vertexAttribPointer",
        _s23_ = "enableVertexAttribArray",
        left = targetRect.left,
        $top = targetRect.top,
        right = targetRect.right,
        bottom = targetRect.bottom,
        vertices = new Float32Array(8);
      vertices[0] = left;
      vertices[1] = $top;
      vertices[2] = right;
      vertices[3] = $top;
      vertices[4] = right;
      vertices[5] = bottom;
      vertices[6] = left;
      vertices[7] = bottom;
      t1 = glProgram.program;
      t2 = gl.glContext;
      A.callMethod(t2, "uniformMatrix4fv", [gl.getUniformLocation$2(0, t1, "u_ctransform"), false, A.Matrix4$identity().__engine$_m4storage]);
      A.callMethod(t2, _s9_, [gl.getUniformLocation$2(0, t1, "u_scale"), 2 / widthInPixels, -2 / heightInPixels, 1, 1]);
      A.callMethod(t2, _s9_, [gl.getUniformLocation$2(0, t1, "u_shift"), -1, 1, 0, 0]);
      t3 = t2.createBuffer();
      t3.toString;
      A.callMethod(t2, _s10_, [gl.get$kArrayBuffer(), t3]);
      t3 = gl.get$kStaticDraw();
      A.callMethod(t2, _s10_0, [gl.get$kArrayBuffer(), vertices, t3]);
      t3 = gl._kFloat;
      A.callMethod(t2, _s19_, [0, 2, t3 == null ? gl._kFloat = t2.FLOAT : t3, false, 0, 0]);
      A.callMethod(t2, _s23_, [0]);
      colorsBuffer = t2.createBuffer();
      A.callMethod(t2, _s10_, [gl.get$kArrayBuffer(), colorsBuffer]);
      colors = new Int32Array(A._ensureNativeList(A._setArrayType([4278255360, 4278190335, 4294967040, 4278255615], type$.JSArray_int)));
      t3 = gl.get$kStaticDraw();
      A.callMethod(t2, _s10_0, [gl.get$kArrayBuffer(), colors, t3]);
      t3 = gl._kUnsignedByte;
      A.callMethod(t2, _s19_, [1, 4, t3 == null ? gl._kUnsignedByte = t2.UNSIGNED_BYTE : t3, true, 0, 0]);
      A.callMethod(t2, _s23_, [1]);
      indexBuffer = t2.createBuffer();
      A.callMethod(t2, _s10_, [gl.get$kElementArrayBuffer(), indexBuffer]);
      t3 = $.$get$VertexShaders_vertexIndicesForRect();
      t4 = gl.get$kStaticDraw();
      A.callMethod(t2, _s10_0, [gl.get$kElementArrayBuffer(), t3, t4]);
      if (A.callMethod(t2, "getUniformLocation", [t1, "u_resolution"]) != null)
        A.callMethod(t2, "uniform2f", [gl.getUniformLocation$2(0, t1, "u_resolution"), widthInPixels, heightInPixels]);
      A.callMethod(t2, "clear", [gl.get$kColorBufferBit()]);
      t2.viewport(0, 0, widthInPixels, heightInPixels);
      t1 = gl._kTriangles;
      if (t1 == null)
        t1 = gl._kTriangles = t2.TRIANGLES;
      t3 = t3.length;
      t4 = gl._kUnsignedShort;
      A.callMethod(t2, "drawElements", [t1, t3, t4 == null ? gl._kUnsignedShort = t2.UNSIGNED_SHORT : t4, 0]);
    }
  };
  A.SurfaceScene.prototype = {
    dispose$0() {
    }
  };
  A.PersistedScene.prototype = {
    recomputeTransformAndClip$0() {
      var t2,
        t1 = self.window.innerWidth;
      t1.toString;
      t2 = self.window.innerHeight;
      t2.toString;
      this.localClipBounds = new A.Rect(0, 0, t1, t2);
      this.projectedClip = null;
    },
    get$localTransformInverse() {
      var t1 = this._localTransformInverse;
      return t1 == null ? this._localTransformInverse = A.Matrix4$identity() : t1;
    },
    createElement$0(_) {
      return this.defaultCreateElement$1("flt-scene");
    },
    apply$0() {
    }
  };
  A.SurfaceSceneBuilder.prototype = {
    _pushSurface$1$1(surface) {
      var t2,
        t1 = surface._oldLayer.value;
      if (t1 != null)
        t1.__engine$_state = B.PersistedSurfaceState_3;
      t1 = this._surfaceStack;
      t2 = B.JSArray_methods.get$last(t1);
      t2.__engine$_children.push(surface);
      surface.parent = t2;
      t1.push(surface);
      return surface;
    },
    _pushSurface$1(surface) {
      return this._pushSurface$1$1(surface, type$.PersistedContainerSurface);
    },
    pushOffset$3$oldLayer(dx, dy, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedOffset._as(oldLayer);
      t1 = A._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === B.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new A.PersistedOffset(dx, dy, t1, t2, B.PersistedSurfaceState_0));
    },
    pushTransform$2$oldLayer(matrix4, oldLayer) {
      var matrix, t1, t2;
      if (this._surfaceStack.length === 1)
        matrix = A.Matrix4$identity().__engine$_m4storage;
      else
        matrix = A.toMatrix32(matrix4);
      type$.nullable_PersistedTransform._as(oldLayer);
      t1 = A._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === B.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new A.PersistedTransform(matrix, t1, t2, B.PersistedSurfaceState_0));
    },
    pushClipRect$3$clipBehavior$oldLayer(rect, clipBehavior, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedClipRect._as(oldLayer);
      t1 = A._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === B.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new A.PersistedClipRect(clipBehavior, rect, null, t1, t2, B.PersistedSurfaceState_0));
    },
    pushClipRRect$3$clipBehavior$oldLayer(rrect, clipBehavior, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedSurface._as(oldLayer);
      t1 = A._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === B.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new A.PersistedClipRRect(rrect, clipBehavior, null, t1, t2, B.PersistedSurfaceState_0));
    },
    pushClipPath$3$clipBehavior$oldLayer(path, clipBehavior, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedClipPath._as(oldLayer);
      t1 = A._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === B.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new A.PersistedClipPath(path, clipBehavior, t1, t2, B.PersistedSurfaceState_0));
    },
    pushOpacity$3$offset$oldLayer(alpha, offset, oldLayer) {
      var t1, t2;
      type$.nullable_PersistedOpacity._as(oldLayer);
      t1 = A._setArrayType([], type$.JSArray_PersistedSurface);
      t2 = oldLayer != null && oldLayer.__engine$_state === B.PersistedSurfaceState_1 ? oldLayer : null;
      t2 = new A.FrameReference(t2, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      return this._pushSurface$1(new A.PersistedOpacity(alpha, offset, t1, t2, B.PersistedSurfaceState_0));
    },
    addRetained$1(retainedLayer) {
      var t1;
      type$.PersistedContainerSurface._as(retainedLayer);
      if (retainedLayer.__engine$_state === B.PersistedSurfaceState_1)
        retainedLayer.__engine$_state = B.PersistedSurfaceState_2;
      else
        retainedLayer.revive$0();
      t1 = B.JSArray_methods.get$last(this._surfaceStack);
      t1.__engine$_children.push(retainedLayer);
      retainedLayer.parent = t1;
    },
    pop$0() {
      this._surfaceStack.pop();
    },
    addPerformanceOverlay$2(enabledOptions, bounds) {
      if (!$.SurfaceSceneBuilder__webOnlyDidWarnAboutPerformanceOverlay) {
        $.SurfaceSceneBuilder__webOnlyDidWarnAboutPerformanceOverlay = true;
        $.$get$printWarning().call$1("The performance overlay isn't supported on the web");
      }
    },
    addPicture$4$isComplexHint$willChangeHint(offset, picture, isComplexHint, willChangeHint) {
      var t1, t2;
      type$.EnginePicture._as(picture);
      t1 = picture.recordingCanvas._pictureBounds;
      t2 = new A.FrameReference(null, type$.FrameReference_PersistedSurface);
      $.frameReferences.push(t2);
      t2 = new A.PersistedPicture(offset._dx, offset._dy, picture, t1, new A.CrossFrameCache(type$.CrossFrameCache_JavaScriptObject), t2, B.PersistedSurfaceState_0);
      t1 = B.JSArray_methods.get$last(this._surfaceStack);
      t1.__engine$_children.push(t2);
      t2.parent = t1;
    },
    setRasterizerTracingThreshold$1(frameInterval) {
    },
    setCheckerboardRasterCacheImages$1(checkerboard) {
    },
    setCheckerboardOffscreenLayers$1(checkerboard) {
    },
    build$0() {
      A.frameTimingsOnBuildFinish();
      A.frameTimingsOnRasterStart();
      A.timeAction("preroll_frame", new A.SurfaceSceneBuilder_build_closure(this));
      return A.timeAction("apply_frame", new A.SurfaceSceneBuilder_build_closure0(this));
    }
  };
  A.SurfaceSceneBuilder_build_closure.prototype = {
    call$0() {
      for (var t1 = this.$this._surfaceStack; t1.length > 1;)
        t1.pop();
      type$.PersistedScene._as(B.JSArray_methods.get$first(t1)).preroll$1(new A.PrerollSurfaceContext());
    },
    $signature: 0
  };
  A.SurfaceSceneBuilder_build_closure0.prototype = {
    call$0() {
      var t3, t4,
        t1 = type$.PersistedScene,
        t2 = this.$this._surfaceStack;
      if ($.SurfaceSceneBuilder__lastFrameScene == null)
        t1._as(B.JSArray_methods.get$first(t2)).build$0();
      else {
        t3 = t1._as(B.JSArray_methods.get$first(t2));
        t4 = $.SurfaceSceneBuilder__lastFrameScene;
        t4.toString;
        t3.update$1(0, t4);
      }
      A.commitScene(t1._as(B.JSArray_methods.get$first(t2)));
      $.SurfaceSceneBuilder__lastFrameScene = t1._as(B.JSArray_methods.get$first(t2));
      return new A.SurfaceScene(t1._as(B.JSArray_methods.get$first(t2)).rootElement);
    },
    $signature: 827
  };
  A.NormalizedGradient.prototype = {
    setupUniforms$2(gl, glProgram) {
      var t1, t2, t3, t4, t5, i, t6, t7, res, result, t8, t9, t10, _this = this;
      for (t1 = _this.thresholdCount, t2 = _this._scale, t3 = gl.glContext, t4 = _this._bias, t5 = glProgram.program, i = 0; i < t1; ++i) {
        t6 = "" + i;
        t7 = "bias_" + t6;
        res = t3.getUniformLocation.apply(t3, [t5, t7]);
        if (res == null) {
          A.throwExpression(A.Exception_Exception(t7 + " not found"));
          result = null;
        } else
          result = res;
        t7 = i * 4;
        t8 = t7 + 1;
        t9 = t7 + 2;
        t10 = t7 + 3;
        t3.uniform4f.apply(t3, [result, t4[t7], t4[t8], t4[t9], t4[t10]]);
        t6 = "scale_" + t6;
        res = t3.getUniformLocation.apply(t3, [t5, t6]);
        if (res == null) {
          A.throwExpression(A.Exception_Exception(t6 + " not found"));
          result = null;
        } else
          result = res;
        t3.uniform4f.apply(t3, [result, t2[t7], t2[t8], t2[t9], t2[t10]]);
      }
      for (t1 = _this._thresholds, t2 = t1.length, i = 0; i < t2; i += 4) {
        t4 = "threshold_" + B.JSInt_methods._tdivFast$1(i, 4);
        res = t3.getUniformLocation.apply(t3, [t5, t4]);
        if (res == null) {
          A.throwExpression(A.Exception_Exception(t4 + " not found"));
          result = null;
        } else
          result = res;
        t3.uniform4f.apply(t3, [result, t1[i], t1[i + 1], t1[i + 2], t1[i + 3]]);
      }
    }
  };
  A.NormalizedGradient_NormalizedGradient_closure.prototype = {
    call$1(c) {
      return (c.get$value(c) >>> 24 & 255) < 1;
    },
    $signature: 775
  };
  A.SharedCanvas.prototype = {};
  A.EngineGradient.prototype = {};
  A.GradientLinear.prototype = {
    createPaintStyle$3(ctx, shaderBounds, density) {
      var matrix4, offsetX, offsetY, t2, t3, t4, t5, centerX, centerY, gradient, _this = this,
        t1 = _this.tileMode;
      if (t1 === B.TileMode_0 || t1 === B.TileMode_3) {
        matrix4 = _this.matrix4;
        offsetX = shaderBounds.left;
        offsetY = shaderBounds.top;
        t2 = _this.from;
        t3 = _this.to;
        t4 = t2._dx;
        t5 = t3._dx;
        t2 = t2._dy;
        t3 = t3._dy;
        if (matrix4 != null) {
          centerX = (t4 + t5) / 2 - offsetX;
          centerY = (t2 + t3) / 2 - offsetY;
          matrix4.transform$2(0, t4 - centerX, t2 - centerY);
          t2 = matrix4.transformedX;
          t4 = matrix4.transformedY;
          matrix4.transform$2(0, t5 - centerX, t3 - centerY);
          gradient = ctx.createLinearGradient(t2 + centerX - offsetX, t4 + centerY - offsetY, matrix4.transformedX + centerX - offsetX, matrix4.transformedY + centerY - offsetY);
        } else
          gradient = ctx.createLinearGradient(t4 - offsetX, t2 - offsetY, t5 - offsetX, t3 - offsetY);
        A._addColorStopsToCanvasGradient(gradient, _this.colors, _this.colorStops, t1 === B.TileMode_3);
        return gradient;
      } else {
        t1 = A.callMethod(ctx, "createPattern", [_this.createImageBitmap$3(shaderBounds, density, false), "no-repeat"]);
        t1.toString;
        return t1;
      }
    },
    createImageBitmap$3(shaderBounds, density, createDataUrl) {
      var widthInPixels, t3, t4, heightInPixels, t5, t6, t7, gl, normalizedGradient, t8, builder, method, t9, t10, fragColor, shader, cacheKey, cachedProgram, vertexShader, fragmentShader, fromX, fromY, toX, toY, dx, dy, $length, sinVal, cosVal, isRepeated, originX, originY, originTranslation, rotationZ, storage, gradientTransform, result, _this = this,
        _s18_ = "premultipliedAlpha",
        _s12_ = "u_resolution",
        _s10_ = "m_gradient",
        _s12_0 = "attachShader",
        t1 = shaderBounds.right,
        t2 = shaderBounds.left;
      t1 -= t2;
      widthInPixels = B.JSNumber_methods.ceil$0(t1);
      t3 = shaderBounds.bottom;
      t4 = shaderBounds.top;
      t3 -= t4;
      heightInPixels = B.JSNumber_methods.ceil$0(t3);
      if ($.glRenderer == null)
        $.glRenderer = new A._WebGlRenderer();
      t5 = $.$get$_sharedCanvas();
      t5._checkedOut = true;
      t6 = t5.__engine$_canvas;
      if (t6 == null) {
        t6 = new A.OffScreenCanvas(widthInPixels, heightInPixels);
        t7 = $.OffScreenCanvas__supported;
        if (t7 == null ? $.OffScreenCanvas__supported = "OffscreenCanvas" in window : t7)
          t6.offScreenCanvas = new OffscreenCanvas(widthInPixels, heightInPixels);
        else {
          t7 = t6.canvasElement = A.CanvasElement_CanvasElement(heightInPixels, widthInPixels);
          t7.className = "gl-canvas";
          t6._updateCanvasCssSize$1(t7);
        }
        t5.__engine$_canvas = t6;
      } else if (widthInPixels !== t6.width && heightInPixels !== t6.height) {
        t6.width = widthInPixels;
        t6.height = heightInPixels;
        t7 = t6.offScreenCanvas;
        if (t7 != null) {
          t7.width = widthInPixels;
          t6.offScreenCanvas.height = heightInPixels;
        } else {
          t7 = t6.canvasElement;
          if (t7 != null) {
            t7.width = widthInPixels;
            t6.canvasElement.height = heightInPixels;
            t7 = t6.canvasElement;
            t7.toString;
            t6._updateCanvasCssSize$1(t7);
          }
        }
      }
      t5 = t5.__engine$_canvas;
      t5.toString;
      t6 = $.OffScreenCanvas__supported;
      if (t6 == null ? $.OffScreenCanvas__supported = "OffscreenCanvas" in window : t6) {
        t5 = t5.offScreenCanvas;
        t5.toString;
        t6 = type$.String;
        t7 = B.OffscreenCanvas_methods.getContext$2(t5, "webgl2", A.LinkedHashMap_LinkedHashMap$_literal([_s18_, false], t6, type$.dynamic));
        t7.toString;
        gl = new A.GlContext(t7);
        $.GlContext____programCache.__late_helper$_value = A.LinkedHashMap_LinkedHashMap$_empty(t6, type$.nullable_GlProgram);
        gl.__engine$_canvas = t5;
        t5 = $.GlContext____programCache;
      } else {
        t5 = t5.canvasElement;
        t5.toString;
        t6 = $._cachedWebGLVersion;
        t6 = (t6 == null ? $._cachedWebGLVersion = A._detectWebGLVersion() : t6) === 1 ? "webgl" : "webgl2";
        t7 = type$.String;
        t6 = B.CanvasElement_methods.getContext$2(t5, t6, A.LinkedHashMap_LinkedHashMap$_literal([_s18_, false], t7, type$.dynamic));
        t6.toString;
        gl = new A.GlContext(t6);
        $.GlContext____programCache.__late_helper$_value = A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.nullable_GlProgram);
        gl.__engine$_canvas = t5;
        t5 = $.GlContext____programCache;
      }
      gl._widthInPixels = widthInPixels;
      gl._heightInPixels = heightInPixels;
      normalizedGradient = A.NormalizedGradient_NormalizedGradient(_this.colors, _this.colorStops);
      t6 = $.VertexShaders__baseVertexShader;
      if (t6 == null) {
        t6 = $._cachedWebGLVersion;
        if (t6 == null)
          t6 = $._cachedWebGLVersion = A._detectWebGLVersion();
        t7 = A._setArrayType([], type$.JSArray_ShaderDeclaration);
        t8 = A._setArrayType([], type$.JSArray_ShaderMethod);
        builder = new A.ShaderBuilder(t7, t8, t6 === 2, false, new A.StringBuffer(""));
        builder.addIn$2$name(11, "position");
        builder.addIn$2$name(11, "color");
        builder.addUniform$2$name(14, "u_ctransform");
        builder.addUniform$2$name(11, "u_scale");
        builder.addUniform$2$name(11, "u_shift");
        t7.push(new A.ShaderDeclaration("v_color", 11, 3));
        method = new A.ShaderMethod("main", A._setArrayType([], type$.JSArray_String));
        t8.push(method);
        method.addStatement$1("gl_Position = ((u_ctransform * position) * u_scale) + u_shift;");
        method.addStatement$1("v_color = color.zyxw;");
        t6 = $.VertexShaders__baseVertexShader = builder.build$0();
      }
      t7 = _this.tileMode;
      t8 = $._cachedWebGLVersion;
      if (t8 == null)
        t8 = $._cachedWebGLVersion = A._detectWebGLVersion();
      t9 = A._setArrayType([], type$.JSArray_ShaderDeclaration);
      t10 = A._setArrayType([], type$.JSArray_ShaderMethod);
      t8 = t8 === 2;
      builder = new A.ShaderBuilder(t9, t10, t8, true, new A.StringBuffer(""));
      builder.floatPrecision = 1;
      builder.addIn$2$name(11, "v_color");
      builder.addUniform$2$name(9, _s12_);
      builder.addUniform$2$name(14, _s10_);
      fragColor = builder._fragmentColorDeclaration;
      if (fragColor == null)
        fragColor = builder._fragmentColorDeclaration = new A.ShaderDeclaration(t8 ? "gFragColor" : "gl_FragColor", 11, 3);
      method = new A.ShaderMethod("main", A._setArrayType([], type$.JSArray_String));
      t10.push(method);
      method.addStatement$1("vec4 localCoord = m_gradient * vec4(gl_FragCoord.x, u_resolution.y - gl_FragCoord.y, 0, 1);");
      method.addStatement$1("float st = localCoord.x;");
      method.addStatement$1(fragColor.name + " = " + A._writeSharedGradientShader(builder, method, normalizedGradient, t7) + " * scale + bias;");
      shader = builder.build$0();
      cacheKey = t6 + "||" + shader;
      cachedProgram = J.$index$asx(t5._readField$0(), cacheKey);
      if (cachedProgram == null) {
        vertexShader = gl.compileShader$2(0, "VERTEX_SHADER", t6);
        fragmentShader = gl.compileShader$2(0, "FRAGMENT_SHADER", shader);
        t6 = gl.glContext;
        t8 = t6.createProgram();
        A.callMethod(t6, _s12_0, [t8, vertexShader]);
        A.callMethod(t6, _s12_0, [t8, fragmentShader]);
        A.callMethod(t6, "linkProgram", [t8]);
        t9 = gl._kLinkStatus;
        if (!A.callMethod(t6, "getProgramParameter", [t8, t9 == null ? gl._kLinkStatus = t6.LINK_STATUS : t9]))
          A.throwExpression(A.Exception_Exception(A.callMethod(t6, "getProgramInfoLog", [t8])));
        cachedProgram = new A.GlProgram(t8);
        J.$indexSet$ax(t5._readField$0(), cacheKey, cachedProgram);
      }
      t5 = gl.glContext;
      t6 = cachedProgram.program;
      A.callMethod(t5, "useProgram", [t6]);
      t8 = _this.from;
      fromX = t8._dx;
      fromY = t8._dy;
      t8 = _this.to;
      toX = t8._dx;
      toY = t8._dy;
      dx = toX - fromX;
      dy = toY - fromY;
      $length = Math.sqrt(dx * dx + dy * dy);
      t8 = $length < 11920929e-14;
      sinVal = t8 ? 0 : -dy / $length;
      cosVal = t8 ? 1 : dx / $length;
      isRepeated = t7 !== B.TileMode_0;
      originX = isRepeated ? t1 / 2 : (fromX + toX) / 2 - t2;
      originY = isRepeated ? t3 / 2 : (fromY + toY) / 2 - t4;
      originTranslation = A.Matrix4$identity();
      originTranslation.setTranslationRaw$3(-originX, -originY, 0);
      rotationZ = A.Matrix4$identity();
      storage = rotationZ.__engine$_m4storage;
      storage[0] = cosVal;
      storage[1] = sinVal;
      storage[4] = -sinVal;
      storage[5] = cosVal;
      gradientTransform = A.Matrix4$identity();
      gradientTransform.translate$2(0, 0.5, 0);
      if ($length > 11920929e-14)
        gradientTransform.scale$1(0, 1 / $length);
      t1 = _this.matrix4;
      if (t1 != null) {
        t1 = t1.matrix;
        gradientTransform.scale$2(0, 1, -1);
        gradientTransform.translate$2(0, -shaderBounds.get$center()._dx, -shaderBounds.get$center()._dy);
        gradientTransform.multiply$1(0, new A.Matrix40(t1));
        gradientTransform.translate$2(0, shaderBounds.get$center()._dx, shaderBounds.get$center()._dy);
        gradientTransform.scale$2(0, 1, -1);
      }
      gradientTransform.multiply$1(0, rotationZ);
      gradientTransform.multiply$1(0, originTranslation);
      normalizedGradient.setupUniforms$2(gl, cachedProgram);
      A.callMethod(t5, "uniformMatrix4fv", [gl.getUniformLocation$2(0, t6, _s10_), false, gradientTransform.__engine$_m4storage]);
      A.callMethod(t5, "uniform2f", [gl.getUniformLocation$2(0, t6, _s12_), widthInPixels, heightInPixels]);
      result = new A.GradientLinear_createImageBitmap_closure(createDataUrl, shaderBounds, gl, cachedProgram, normalizedGradient, widthInPixels, heightInPixels).call$0();
      $.$get$_sharedCanvas()._checkedOut = false;
      return result;
    }
  };
  A.GradientLinear_createImageBitmap_closure.prototype = {
    call$0() {
      var t11, canvas, dataUrl, image, _this = this,
        _s10_ = "bindBuffer",
        t1 = $.glRenderer,
        t2 = _this.shaderBounds,
        t3 = _this.gl,
        t4 = _this.glProgram,
        t5 = _this.normalizedGradient,
        t6 = _this.widthInPixels,
        t7 = _this.heightInPixels,
        t8 = t2.right,
        t9 = t2.left,
        t10 = t2.bottom;
      t2 = t2.top;
      t11 = t3.glContext;
      if (_this.createDataUrl) {
        t1.drawRectToGl$6(new A.Rect(0, 0, 0 + (t8 - t9), 0 + (t10 - t2)), t3, t4, t5, t6, t7);
        t1 = t3._widthInPixels;
        canvas = A.CanvasElement_CanvasElement(t3._heightInPixels, t1);
        t3.drawImage$3(0, canvas.getContext("2d"), 0, 0);
        dataUrl = canvas.toDataURL("image/png", null);
        canvas.width = 0;
        canvas.height = 0;
        A.callMethod(t11, _s10_, [t3.get$kArrayBuffer(), null]);
        A.callMethod(t11, _s10_, [t3.get$kElementArrayBuffer(), null]);
        return dataUrl;
      } else {
        t1.drawRectToGl$6(new A.Rect(0, 0, 0 + (t8 - t9), 0 + (t10 - t2)), t3, t4, t5, t6, t7);
        image = t3.readPatternData$1(t5.isOpaque);
        A.callMethod(t11, _s10_, [t3.get$kArrayBuffer(), null]);
        A.callMethod(t11, _s10_, [t3.get$kElementArrayBuffer(), null]);
        image.toString;
        return image;
      }
    },
    $signature: 175
  };
  A.ShaderBuilder.prototype = {
    addIn$2$name(dataType, $name) {
      var attrib = new A.ShaderDeclaration($name, dataType, 1);
      this.declarations.push(attrib);
      return attrib;
    },
    addUniform$2$name(dataType, $name) {
      var uniform = new A.ShaderDeclaration($name, dataType, 2);
      this.declarations.push(uniform);
      return uniform;
    },
    _writeVariableDeclaration$2(sb, variable) {
      var t2, t3, _this = this,
        _s8_ = "varying ",
        t1 = variable.storage;
      switch (t1) {
        case 0:
          _this.__engine$_buffer._contents += "const ";
          break;
        case 1:
          if (_this.isWebGl2)
            t2 = "in ";
          else
            t2 = _this._isFragmentShader ? _s8_ : "attribute ";
          _this.__engine$_buffer._contents += t2;
          break;
        case 2:
          _this.__engine$_buffer._contents += "uniform ";
          break;
        case 3:
          t2 = _this.isWebGl2 ? "out " : _s8_;
          _this.__engine$_buffer._contents += t2;
          break;
      }
      t2 = _this.__engine$_buffer;
      t3 = t2._contents += A.ShaderBuilder_typeToString(variable.dataType) + " " + variable.name;
      if (t1 === 0)
        t1 = t2._contents = t3 + " = ";
      else
        t1 = t3;
      t2._contents = t1 + ";\n";
    },
    build$0() {
      var t2, t3, _i, t4, method, _this = this,
        t1 = _this.isWebGl2;
      if (t1)
        _this.__engine$_buffer._contents += "#version 300 es\n";
      t2 = _this.floatPrecision;
      if (t2 != null) {
        if (t2 === 0)
          t2 = "lowp";
        else
          t2 = t2 === 1 ? "mediump" : "highp";
        _this.__engine$_buffer._contents += "precision " + t2 + " float;\n";
      }
      if (t1 && _this._fragmentColorDeclaration != null) {
        t1 = _this._fragmentColorDeclaration;
        t1.toString;
        _this._writeVariableDeclaration$2(_this.__engine$_buffer, t1);
      }
      for (t1 = _this.declarations, t2 = t1.length, t3 = _this.__engine$_buffer, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        _this._writeVariableDeclaration$2(t3, t1[_i]);
      for (t1 = _this._methods, t2 = t1.length, t4 = t3.get$writeln(), _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        method = t1[_i];
        t3._contents += "void " + method.name + "() {\n";
        B.JSArray_methods.forEach$1(method._statements, t4);
        t3._contents += "}\n";
      }
      t1 = t3._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.ShaderMethod.prototype = {
    addStatement$1(statement) {
      this._statements.push(statement);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ShaderDeclaration.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.commitScene_closure.prototype = {
    call$2(a, b) {
      var bSize,
        t1 = a.canvasSize,
        aSize = t1._dy * t1._dx;
      t1 = b.canvasSize;
      bSize = t1._dy * t1._dx;
      return J.compareTo$1$ns(bSize, aSize);
    },
    $signature: 665
  };
  A.PersistedSurfaceState.prototype = {
    toString$0(_) {
      return "PersistedSurfaceState." + this._core$_name;
    }
  };
  A.PersistedSurface.prototype = {
    revive$0() {
      this.__engine$_state = B.PersistedSurfaceState_0;
    },
    get$childContainer() {
      return this.rootElement;
    },
    build$0() {
      var t2, _this = this,
        t1 = _this.createElement$0(0);
      _this.rootElement = t1;
      t2 = $.$get$_browserEngine();
      if (t2 === B.BrowserEngine_1)
        A.DomCSSStyleDeclarationExtension_setProperty(t1.style, "z-index", "0");
      _this.apply$0();
      _this.__engine$_state = B.PersistedSurfaceState_1;
    },
    adoptElements$1(oldSurface) {
      this.rootElement = oldSurface.rootElement;
      oldSurface.rootElement = null;
      oldSurface.__engine$_state = B.PersistedSurfaceState_4;
    },
    update$1(_, oldSurface) {
      this.adoptElements$1(oldSurface);
      this.__engine$_state = B.PersistedSurfaceState_1;
    },
    retain$0() {
      if (this.__engine$_state === B.PersistedSurfaceState_2)
        $.retainedSurfaces.push(this);
    },
    discard$0() {
      this.rootElement.remove();
      this.rootElement = null;
      this.__engine$_state = B.PersistedSurfaceState_4;
    },
    dispose$0() {
    },
    defaultCreateElement$1(tagName) {
      var element = A.DomDocumentExtension_createElement(self.document, tagName);
      A.DomCSSStyleDeclarationExtension_setProperty(element.style, "position", "absolute");
      return element;
    },
    get$localTransformInverse() {
      return null;
    },
    recomputeTransformAndClip$0() {
      var _this = this;
      _this.transform = _this.parent.transform;
      _this.projectedClip = _this.localClipBounds = null;
    },
    preroll$1(prerollContext) {
      this.recomputeTransformAndClip$0();
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PersistedLeafSurface.prototype = {};
  A.PersistedContainerSurface.prototype = {
    preroll$1(prerollContext) {
      var t1, $length, i;
      this.super$PersistedSurface$preroll(prerollContext);
      t1 = this.__engine$_children;
      $length = t1.length;
      for (i = 0; i < $length; ++i)
        t1[i].preroll$1(prerollContext);
    },
    recomputeTransformAndClip$0() {
      var _this = this;
      _this.transform = _this.parent.transform;
      _this.projectedClip = _this.localClipBounds = null;
    },
    build$0() {
      var t1, len, containerElement, i, child, t2;
      this.super$PersistedSurface$build();
      t1 = this.__engine$_children;
      len = t1.length;
      containerElement = this.get$childContainer();
      for (i = 0; i < len; ++i) {
        child = t1[i];
        if (child.__engine$_state === B.PersistedSurfaceState_2)
          child.retain$0();
        else if (child instanceof A.PersistedContainerSurface && child._oldLayer.value != null) {
          t2 = child._oldLayer.value;
          t2.toString;
          child.update$1(0, t2);
        } else
          child.build$0();
        containerElement.toString;
        t2 = child.rootElement;
        t2.toString;
        containerElement.append(t2);
        child.__engine$_index = i;
      }
    },
    matchForUpdate$1(existingSurface) {
      return 1;
    },
    update$1(_, oldSurface) {
      var t1, _this = this;
      _this.super$PersistedSurface$update(0, oldSurface);
      if (oldSurface.__engine$_children.length === 0)
        _this._updateZeroToMany$1(oldSurface);
      else {
        t1 = _this.__engine$_children.length;
        if (t1 === 1)
          _this._updateManyToOne$1(oldSurface);
        else if (t1 === 0)
          A.PersistedContainerSurface__discardActiveChildren(oldSurface);
        else
          _this._updateManyToMany$1(oldSurface);
      }
    },
    _updateZeroToMany$1(oldSurface) {
      var i, newChild, t2,
        containerElement = this.get$childContainer(),
        t1 = this.__engine$_children,
        $length = t1.length;
      for (i = 0; i < $length; ++i) {
        newChild = t1[i];
        if (newChild.__engine$_state === B.PersistedSurfaceState_2)
          newChild.retain$0();
        else if (newChild instanceof A.PersistedContainerSurface && newChild._oldLayer.value != null) {
          t2 = newChild._oldLayer.value;
          t2.toString;
          newChild.update$1(0, t2);
        } else
          newChild.build$0();
        newChild.__engine$_index = i;
        containerElement.toString;
        t2 = newChild.rootElement;
        t2.toString;
        containerElement.append(t2);
      }
    },
    _updateManyToOne$1(oldSurface) {
      var t1, t2, oldLayer, bestMatch, bestScore, i, candidate, rti, score, t3, oldChild, _this = this,
        newChild = _this.__engine$_children[0];
      newChild.__engine$_index = 0;
      if (newChild.__engine$_state === B.PersistedSurfaceState_2) {
        if (!J.$eq$(newChild.rootElement.parentElement, _this.get$childContainer())) {
          t1 = _this.get$childContainer();
          t1.toString;
          t2 = newChild.rootElement;
          t2.toString;
          t1.append(t2);
        }
        newChild.retain$0();
        A.PersistedContainerSurface__discardActiveChildren(oldSurface);
        return;
      }
      if (newChild instanceof A.PersistedContainerSurface && newChild._oldLayer.value != null) {
        oldLayer = newChild._oldLayer.value;
        if (!J.$eq$(oldLayer.rootElement.parentElement, _this.get$childContainer())) {
          t1 = _this.get$childContainer();
          t1.toString;
          t2 = oldLayer.rootElement;
          t2.toString;
          t1.append(t2);
        }
        newChild.update$1(0, oldLayer);
        A.PersistedContainerSurface__discardActiveChildren(oldSurface);
        return;
      }
      for (t1 = oldSurface.__engine$_children, bestMatch = null, bestScore = 2, i = 0; i < t1.length; ++i) {
        candidate = t1[i];
        if (candidate.__engine$_state === B.PersistedSurfaceState_1) {
          rti = newChild instanceof A.Closure ? A.closureFunctionType(newChild) : null;
          t2 = A.createRuntimeType(rti == null ? A.instanceType(newChild) : rti);
          rti = candidate instanceof A.Closure ? A.closureFunctionType(candidate) : null;
          t2 = t2 === A.createRuntimeType(rti == null ? A.instanceType(candidate) : rti);
        } else
          t2 = false;
        if (!t2)
          continue;
        score = newChild.matchForUpdate$1(candidate);
        if (score < bestScore) {
          bestScore = score;
          bestMatch = candidate;
        }
      }
      if (bestMatch != null) {
        newChild.update$1(0, bestMatch);
        if (!J.$eq$(newChild.rootElement.parentElement, _this.get$childContainer())) {
          t2 = _this.get$childContainer();
          t2.toString;
          t3 = newChild.rootElement;
          t3.toString;
          t2.append(t3);
        }
      } else {
        newChild.build$0();
        t2 = _this.get$childContainer();
        t2.toString;
        t3 = newChild.rootElement;
        t3.toString;
        t2.append(t3);
      }
      for (i = 0; i < t1.length; ++i) {
        oldChild = t1[i];
        if (oldChild !== bestMatch && oldChild.__engine$_state === B.PersistedSurfaceState_1)
          oldChild.discard$0();
      }
    },
    _updateManyToMany$1(oldSurface) {
      var t1, t2, indexMapNew, indexMapOld, requiresDomInserts, topInNew, newChild, isReparenting, matchedOldChild, oldLayer, indexInOld, backfill, _this = this,
        containerElement = _this.get$childContainer(),
        matches = _this._matchChildren$1(oldSurface);
      for (t1 = _this.__engine$_children, t2 = type$.JSArray_int, indexMapNew = null, indexMapOld = null, requiresDomInserts = false, topInNew = 0; topInNew < t1.length; ++topInNew) {
        newChild = t1[topInNew];
        if (newChild.__engine$_state === B.PersistedSurfaceState_2) {
          isReparenting = !J.$eq$(newChild.rootElement.parentElement, containerElement);
          newChild.retain$0();
          matchedOldChild = newChild;
        } else if (newChild instanceof A.PersistedContainerSurface && newChild._oldLayer.value != null) {
          oldLayer = newChild._oldLayer.value;
          isReparenting = !J.$eq$(oldLayer.rootElement.parentElement, containerElement);
          newChild.update$1(0, oldLayer);
          matchedOldChild = oldLayer;
        } else {
          matchedOldChild = matches.$index(0, newChild);
          if (matchedOldChild != null) {
            isReparenting = !J.$eq$(matchedOldChild.rootElement.parentElement, containerElement);
            newChild.update$1(0, matchedOldChild);
          } else {
            newChild.build$0();
            isReparenting = true;
          }
        }
        indexInOld = matchedOldChild != null && !isReparenting ? matchedOldChild.__engine$_index : -1;
        if (!requiresDomInserts && indexInOld !== topInNew) {
          indexMapNew = A._setArrayType([], t2);
          indexMapOld = A._setArrayType([], t2);
          for (backfill = 0; backfill < topInNew; ++backfill) {
            indexMapNew.push(backfill);
            indexMapOld.push(backfill);
          }
          requiresDomInserts = true;
        }
        if (requiresDomInserts && indexInOld !== -1) {
          indexMapNew.push(topInNew);
          indexMapOld.push(indexInOld);
        }
        newChild.__engine$_index = topInNew;
      }
      if (requiresDomInserts) {
        indexMapOld.toString;
        _this._insertChildDomNodes$2(indexMapNew, indexMapOld);
      }
      A.PersistedContainerSurface__discardActiveChildren(oldSurface);
    },
    _insertChildDomNodes$2(indexMapNew, indexMapOld) {
      var t1, i, containerElement, refNode, isStationary, t2,
        stationaryIndices = A.longestIncreasingSubsequence(indexMapOld);
      for (t1 = stationaryIndices.length, i = 0; i < t1; ++i)
        stationaryIndices[i] = indexMapNew[stationaryIndices[i]];
      containerElement = this.get$childContainer();
      for (t1 = this.__engine$_children, i = t1.length - 1, refNode = null; i >= 0; --i, refNode = t2) {
        indexMapNew.toString;
        isStationary = B.JSArray_methods.indexOf$1(indexMapNew, i) !== -1 && B.JSArray_methods.contains$1(stationaryIndices, i);
        t2 = t1[i].rootElement;
        t2.toString;
        if (!isStationary)
          if (refNode == null)
            containerElement.append(t2);
          else
            containerElement.insertBefore(t2, refNode);
      }
    },
    _matchChildren$1(oldSurface) {
      var i, child, oldChildren, newChildCount, oldChildCount, allMatches, indexInNew, newChild, indexInOld, oldChild, rti, result, match, matchedChild, newChildNeedsMatch,
        t1 = this.__engine$_children,
        newUnfilteredChildCount = t1.length,
        t2 = oldSurface.__engine$_children,
        oldUnfilteredChildCount = t2.length,
        newChildren = A._setArrayType([], type$.JSArray_PersistedSurface);
      for (i = 0; i < newUnfilteredChildCount; ++i) {
        child = t1[i];
        if (child.__engine$_state === B.PersistedSurfaceState_0 && child._oldLayer.value == null)
          newChildren.push(child);
      }
      oldChildren = A._setArrayType([], type$.JSArray_nullable_PersistedSurface);
      for (i = 0; i < oldUnfilteredChildCount; ++i) {
        child = t2[i];
        if (child.__engine$_state === B.PersistedSurfaceState_1)
          oldChildren.push(child);
      }
      newChildCount = newChildren.length;
      oldChildCount = oldChildren.length;
      if (newChildCount === 0 || oldChildCount === 0)
        return B.Map_empty0;
      allMatches = A._setArrayType([], type$.JSArray__PersistedSurfaceMatch);
      for (indexInNew = 0; indexInNew < newChildCount; ++indexInNew) {
        newChild = newChildren[indexInNew];
        for (indexInOld = 0; indexInOld < oldChildCount; ++indexInOld) {
          oldChild = oldChildren[indexInOld];
          if (oldChild != null) {
            if (oldChild.__engine$_state === B.PersistedSurfaceState_1) {
              rti = newChild instanceof A.Closure ? A.closureFunctionType(newChild) : null;
              t1 = A.createRuntimeType(rti == null ? A.instanceType(newChild) : rti);
              rti = oldChild instanceof A.Closure ? A.closureFunctionType(oldChild) : null;
              t1 = t1 === A.createRuntimeType(rti == null ? A.instanceType(oldChild) : rti);
            } else
              t1 = false;
            t1 = !t1;
          } else
            t1 = true;
          if (t1)
            continue;
          allMatches.push(new A._PersistedSurfaceMatch(newChild, indexInOld, newChild.matchForUpdate$1(oldChild)));
        }
      }
      B.JSArray_methods.sort$1(allMatches, new A.PersistedContainerSurface__matchChildren_closure());
      result = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_PersistedSurface, type$.PersistedSurface);
      for (i = 0; i < allMatches.length; ++i) {
        match = allMatches[i];
        t1 = match.oldChildIndex;
        matchedChild = oldChildren[t1];
        t2 = match.newChild;
        newChildNeedsMatch = result.$index(0, t2) == null;
        if (matchedChild != null && newChildNeedsMatch) {
          oldChildren[t1] = null;
          result.$indexSet(0, t2, matchedChild);
        }
      }
      return result;
    },
    retain$0() {
      var t1, len, i;
      this.super$PersistedSurface$retain();
      t1 = this.__engine$_children;
      len = t1.length;
      for (i = 0; i < len; ++i)
        t1[i].retain$0();
    },
    revive$0() {
      var t1, len, i;
      this.super$PersistedSurface$revive();
      t1 = this.__engine$_children;
      len = t1.length;
      for (i = 0; i < len; ++i)
        t1[i].revive$0();
    },
    discard$0() {
      this.super$PersistedSurface$discard();
      A.PersistedContainerSurface__discardActiveChildren(this);
    }
  };
  A.PersistedContainerSurface__matchChildren_closure.prototype = {
    call$2(m1, m2) {
      return B.JSNumber_methods.compareTo$1(m1.matchQuality, m2.matchQuality);
    },
    $signature: 547
  };
  A._PersistedSurfaceMatch.prototype = {
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.PrerollSurfaceContext.prototype = {};
  A.PersistedTransform.prototype = {
    get$matrix4() {
      var t1 = this._matrix4;
      return t1 == null ? this._matrix4 = new A.Matrix40(this._matrixStorage) : t1;
    },
    recomputeTransformAndClip$0() {
      var _this = this,
        t1 = _this.parent.transform;
      t1.toString;
      _this.transform = t1.multiplied$1(_this.get$matrix4());
      _this.projectedClip = null;
    },
    get$localTransformInverse() {
      var t1 = this._localTransformInverse;
      return t1 == null ? this._localTransformInverse = A.Matrix4_tryInvert0(this.get$matrix4()) : t1;
    },
    createElement$0(_) {
      var element = A.DomDocumentExtension_createElement(self.document, "flt-transform");
      A.setElementStyle(element, "position", "absolute");
      A.setElementStyle(element, "transform-origin", "0 0 0");
      return element;
    },
    apply$0() {
      A.DomCSSStyleDeclarationExtension_setProperty(this.rootElement.style, "transform", A.float64ListToCssTransform(this._matrixStorage));
    },
    update$1(_, oldSurface) {
      var t1, t2, matrixChanged, i, _this = this;
      _this.super$PersistedContainerSurface$update(0, oldSurface);
      t1 = oldSurface._matrixStorage;
      t2 = _this._matrixStorage;
      if (t1 === t2) {
        _this._matrix4 = oldSurface._matrix4;
        _this._localTransformInverse = oldSurface._localTransformInverse;
        return;
      }
      i = 0;
      while (true) {
        if (!(i < 16)) {
          matrixChanged = false;
          break;
        }
        if (t2[i] !== t1[i]) {
          matrixChanged = true;
          break;
        }
        ++i;
      }
      if (matrixChanged)
        A.DomCSSStyleDeclarationExtension_setProperty(_this.rootElement.style, "transform", A.float64ListToCssTransform(t2));
      else {
        _this._matrix4 = oldSurface._matrix4;
        _this._localTransformInverse = oldSurface._localTransformInverse;
      }
    },
    $isTransformEngineLayer0: 1
  };
  A.HtmlCodec.prototype = {
    get$frameCount() {
      return 1;
    },
    get$repetitionCount() {
      return 0;
    },
    getNextFrame$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.FrameInfo),
        $async$returnValue, $async$self = this, imgElement, t1, completer, t2;
      var $async$getNextFrame$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_FrameInfo);
              completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_FrameInfo);
              t2 = $async$self.chunkCallback;
              if (t2 != null)
                t2.call$2(0, 100);
              if ($.$get$_supportsDecode()) {
                imgElement = A.ImageElement_ImageElement();
                imgElement.src = $async$self.src;
                imgElement.decoding = "async";
                A.promiseToFuture(imgElement.decode(), type$.dynamic).then$1$1(new A.HtmlCodec_getNextFrame_closure($async$self, imgElement, completer), type$.Null).catchError$1(new A.HtmlCodec_getNextFrame_closure0($async$self, completer));
              } else
                $async$self._decodeUsingOnLoad$1(completer);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getNextFrame$0, $async$completer);
    },
    _decodeUsingOnLoad$1(completer) {
      var errorSubscription, imgElement, t2, t1 = {};
      t1.loadSubscription = null;
      errorSubscription = A._Cell$named("errorSubscription");
      imgElement = A.ImageElement_ImageElement();
      t2 = type$._ElementEventStreamImpl_Event._precomputed1;
      errorSubscription.__late_helper$_value = A._EventStreamSubscription$(imgElement, "error", new A.HtmlCodec__decodeUsingOnLoad_closure(t1, errorSubscription, completer), false, t2);
      t1.loadSubscription = A._EventStreamSubscription$(imgElement, "load", new A.HtmlCodec__decodeUsingOnLoad_closure0(t1, this, errorSubscription, imgElement, completer), false, t2);
      imgElement.src = this.src;
    },
    $isCodec: 1
  };
  A.HtmlCodec_getNextFrame_closure.prototype = {
    call$1(_) {
      var naturalWidth, naturalHeight, t2,
        t1 = this.$this.chunkCallback;
      if (t1 != null)
        t1.call$2(100, 100);
      t1 = this.imgElement;
      naturalWidth = t1.naturalWidth;
      naturalHeight = t1.naturalHeight;
      if (naturalWidth === 0)
        if (naturalHeight === 0) {
          t2 = $.$get$_browserEngine();
          if (t2 !== B.BrowserEngine_2)
            t2 = t2 === B.BrowserEngine_4;
          else
            t2 = true;
        } else
          t2 = false;
      else
        t2 = false;
      if (t2) {
        naturalWidth = 300;
        naturalHeight = 300;
      }
      this.completer.complete$1(0, new A.SingleFrameInfo(new A.HtmlImage(t1, naturalWidth, naturalHeight)));
    },
    $signature: 9
  };
  A.HtmlCodec_getNextFrame_closure0.prototype = {
    call$1(e) {
      this.$this._decodeUsingOnLoad$1(this.completer);
    },
    $signature: 9
  };
  A.HtmlCodec__decodeUsingOnLoad_closure.prototype = {
    call$1($event) {
      var t1 = this._box_0.loadSubscription;
      if (t1 != null)
        t1.cancel$0(0);
      J.cancel$0$z(this.errorSubscription._readLocal$0());
      this.completer.completeError$1($event);
    },
    $signature: 13
  };
  A.HtmlCodec__decodeUsingOnLoad_closure0.prototype = {
    call$1($event) {
      var _this = this,
        t1 = _this.$this.chunkCallback;
      if (t1 != null)
        t1.call$2(100, 100);
      _this._box_0.loadSubscription.cancel$0(0);
      J.cancel$0$z(_this.errorSubscription._readLocal$0());
      t1 = _this.imgElement;
      _this.completer.complete$1(0, new A.SingleFrameInfo(new A.HtmlImage(t1, t1.naturalWidth, t1.naturalHeight)));
    },
    $signature: 13
  };
  A.HtmlBlobCodec.prototype = {};
  A.SingleFrameInfo.prototype = {
    get$duration(_) {
      return B.Duration_0;
    },
    $isFrameInfo: 1,
    get$image(receiver) {
      return this.image;
    }
  };
  A.HtmlImage.prototype = {
    dispose$0() {
    },
    clone$0(_) {
      return this;
    },
    isCloneOf$1(other) {
      return other === this;
    },
    cloneImageElement$0() {
      var t2,
        t1 = this.imgElement;
      if (this._requiresClone)
        return type$.ImageElement._as(t1.cloneNode(true));
      else {
        this._requiresClone = true;
        t2 = t1.style;
        t2.position = "absolute";
        return t1;
      }
    },
    toString$0(_) {
      return "[" + this.width + "\xd7" + this.height + "]";
    },
    $isImage1: 1,
    get$width(receiver) {
      return this.width;
    },
    get$height(receiver) {
      return this.height;
    }
  };
  A.DebugEngineInitializationState.prototype = {
    toString$0(_) {
      return "DebugEngineInitializationState." + this._core$_name;
    }
  };
  A.initializeEngineServices_closure.prototype = {
    call$0() {
      A.ensureLineLookupInitialized();
    },
    $signature: 0
  };
  A.initializeEngineServices_closure0.prototype = {
    call$2(_, __) {
      var t1, _i;
      for (t1 = $._hotRestartListeners.length, _i = 0; _i < $._hotRestartListeners.length; $._hotRestartListeners.length === t1 || (0, A.throwConcurrentModificationError)($._hotRestartListeners), ++_i)
        $._hotRestartListeners[_i].call$0();
      return A.Future_Future$value(A.ServiceExtensionResponse$result("OK"), type$.ServiceExtensionResponse);
    },
    $signature: 234
  };
  A.initializeEngineServices_closure1.prototype = {
    call$0() {
      var t1 = this._box_0;
      if (!t1.waitingForAnimation) {
        t1.waitingForAnimation = true;
        B.Window_methods.requestAnimationFrame$1(window, new A.initializeEngineServices__closure(t1));
      }
    },
    $signature: 0
  };
  A.initializeEngineServices__closure.prototype = {
    call$1(highResTime) {
      var highResTimeMicroseconds, t1, t2, t3;
      A.frameTimingsOnVsync();
      this._box_0.waitingForAnimation = false;
      highResTimeMicroseconds = B.JSNumber_methods.toInt$0(1000 * highResTime);
      A.frameTimingsOnBuildStart();
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t2 = t1._onBeginFrame;
      if (t2 != null) {
        t3 = A.Duration$(highResTimeMicroseconds, 0);
        A.invoke1(t2, t1._onBeginFrameZone, t3, type$.Duration);
      }
      t2 = t1._onDrawFrame;
      if (t2 != null)
        A.invoke(t2, t1._onDrawFrameZone);
    },
    $signature: 212
  };
  A._addUrlStrategyListener_closure.prototype = {
    call$1(jsStrategy) {
      var t1 = jsStrategy == null ? null : new A.CustomUrlStrategy(jsStrategy);
      $._isUrlStrategySet = true;
      $._customUrlStrategy = t1;
    },
    $signature: 393
  };
  A._addUrlStrategyListener_closure0.prototype = {
    call$0() {
      self._flutter_web_set_location_strategy = null;
    },
    $signature: 0
  };
  A.FlutterEngineInitializer.prototype = {};
  A.InitializeEngineFnParameters.prototype = {};
  A.FlutterAppRunner.prototype = {};
  A.RunAppFnParameters.prototype = {};
  A.FlutterApp.prototype = {};
  A.Promise.prototype = {};
  A.Keyboard.prototype = {
    Keyboard$_$1(_onMacOs) {
      var _this = this;
      _this._keydownListener = A.allowInterop(new A.Keyboard$__closure(_this));
      A.DomEventTargetExtension_addEventListener(self.window, "keydown", _this._keydownListener, null);
      _this._keyupListener = A.allowInterop(new A.Keyboard$__closure0(_this));
      A.DomEventTargetExtension_addEventListener(self.window, "keyup", _this._keyupListener, null);
      $._hotRestartListeners.push(new A.Keyboard$__closure1(_this));
    },
    dispose$0() {
      var t1, t2, _this = this;
      A.DomEventTargetExtension_removeEventListener(self.window, "keydown", _this._keydownListener, null);
      A.DomEventTargetExtension_removeEventListener(self.window, "keyup", _this._keyupListener, null);
      for (t1 = _this._keydownTimers, t2 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t2.moveNext$0();)
        t1.$index(0, t2.__js_helper$_current).cancel$0(0);
      t1.clear$0(0);
      $.Keyboard__instance = _this._keyupListener = _this._keydownListener = null;
    },
    _handleHtmlEvent$1($event) {
      var t2, t3, metaState, eventData, _this = this,
        t1 = self.window.KeyboardEvent;
      t1.toString;
      if (!($event instanceof t1))
        return;
      t1 = $event.code;
      t1.toString;
      t2 = $event.key;
      t2.toString;
      if (!(t2 === "Meta" || t2 === "Shift" || t2 === "Alt" || t2 === "Control") && _this._onMacOs) {
        t2 = _this._keydownTimers;
        t3 = t2.$index(0, t1);
        if (t3 != null)
          t3.cancel$0(0);
        if ($event.type === "keydown")
          t3 = $event.ctrlKey || $event.shiftKey || $event.altKey || $event.metaKey;
        else
          t3 = false;
        if (t3)
          t2.$indexSet(0, t1, A.Timer_Timer(B.Duration_2000000, new A.Keyboard__handleHtmlEvent_closure(_this, t1, $event)));
        else
          t2.remove$1(0, t1);
      }
      metaState = $event.getModifierState("Shift") ? 1 : 0;
      if ($event.getModifierState("Alt") || $event.getModifierState("AltGraph"))
        metaState |= 2;
      if ($event.getModifierState("Control"))
        metaState |= 4;
      if ($event.getModifierState("Meta"))
        metaState |= 8;
      _this._lastMetaState = metaState;
      if ($event.type === "keydown")
        if ($event.key === "CapsLock") {
          t1 = metaState | 32;
          _this._lastMetaState = t1;
        } else if ($event.code === "NumLock") {
          t1 = metaState | 16;
          _this._lastMetaState = t1;
        } else if ($event.key === "ScrollLock") {
          t1 = metaState | 64;
          _this._lastMetaState = t1;
        } else
          t1 = metaState;
      else
        t1 = metaState;
      eventData = A.LinkedHashMap_LinkedHashMap$_literal(["type", $event.type, "keymap", "web", "code", $event.code, "key", $event.key, "location", $event.location, "metaState", t1, "keyCode", $event.keyCode], type$.String, type$.dynamic);
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/keyevent", B.C_JSONMessageCodec.encodeMessage$1(eventData), new A.Keyboard__handleHtmlEvent_closure0($event));
    }
  };
  A.Keyboard$__closure.prototype = {
    call$1($event) {
      this.$this._handleHtmlEvent$1($event);
    },
    $signature: 28
  };
  A.Keyboard$__closure0.prototype = {
    call$1($event) {
      this.$this._handleHtmlEvent$1($event);
    },
    $signature: 28
  };
  A.Keyboard$__closure1.prototype = {
    call$0() {
      this.$this.dispose$0();
    },
    $signature: 0
  };
  A.Keyboard__handleHtmlEvent_closure.prototype = {
    call$0() {
      var t2, eventData,
        t1 = this.$this;
      t1._keydownTimers.remove$1(0, this.timerKey);
      t2 = this.event;
      eventData = A.LinkedHashMap_LinkedHashMap$_literal(["type", "keyup", "keymap", "web", "code", t2.code, "key", t2.key, "location", t2.location, "metaState", t1._lastMetaState, "keyCode", t2.keyCode], type$.String, type$.dynamic);
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/keyevent", B.C_JSONMessageCodec.encodeMessage$1(eventData), A._engine___noopCallback$closure());
    },
    $signature: 0
  };
  A.Keyboard__handleHtmlEvent_closure0.prototype = {
    call$1(data) {
      if (data == null)
        return;
      if (A._asBool(J.$index$asx(type$.Map_String_dynamic._as(B.C_JSONMessageCodec.decodeMessage$1(data)), "handled")))
        this.event.preventDefault();
    },
    $signature: 39
  };
  A._kLogicalKeyToModifierGetter_closure.prototype = {
    call$1($event) {
      return $event._event.altKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure0.prototype = {
    call$1($event) {
      return $event._event.altKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure1.prototype = {
    call$1($event) {
      return $event._event.ctrlKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure2.prototype = {
    call$1($event) {
      return $event._event.ctrlKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure3.prototype = {
    call$1($event) {
      return $event._event.shiftKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure4.prototype = {
    call$1($event) {
      return $event._event.shiftKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure5.prototype = {
    call$1($event) {
      return $event._event.metaKey;
    },
    $signature: 50
  };
  A._kLogicalKeyToModifierGetter_closure6.prototype = {
    call$1($event) {
      return $event._event.metaKey;
    },
    $signature: 50
  };
  A.KeyboardBinding.prototype = {
    __engine$_addEventListener$2(_, eventName, handler) {
      var wrappedHandler = A.allowInterop(new A.KeyboardBinding__addEventListener_loggedHandler(handler));
      this._listeners.$indexSet(0, eventName, wrappedHandler);
      A.DomEventTargetExtension_addEventListener(self.window, eventName, wrappedHandler, true);
    },
    _onKeyData$1(data) {
      var t1 = {};
      t1.result = null;
      $.$get$EnginePlatformDispatcher__instance().invokeOnKeyData$2(data, new A.KeyboardBinding__onKeyData_closure(t1));
      t1 = t1.result;
      t1.toString;
      return t1;
    },
    _setup$0() {
      var t1, t2, _this = this;
      _this.__engine$_addEventListener$2(0, "keydown", A.allowInterop(new A.KeyboardBinding__setup_closure(_this)));
      _this.__engine$_addEventListener$2(0, "keyup", A.allowInterop(new A.KeyboardBinding__setup_closure0(_this)));
      t1 = $.$get$_operatingSystem();
      t2 = type$.int;
      _this.__KeyboardBinding__converter = new A.KeyboardConverter(_this.get$_onKeyData(), t1 === B.OperatingSystem_4, A.LinkedHashMap_LinkedHashMap$_empty(t2, t2), A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.void_Function));
    }
  };
  A.KeyboardBinding__addEventListener_loggedHandler.prototype = {
    call$1($event) {
      var t1 = $.EngineSemanticsOwner__instance;
      if (t1 == null)
        t1 = $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_();
      type$.Event._as($event);
      if (t1.receiveGlobalEvent$1($event))
        return this.handler.call$1($event);
      return null;
    },
    $signature: 418
  };
  A.KeyboardBinding__onKeyData_closure.prototype = {
    call$1(handled) {
      this._box_0.result = handled;
    },
    $signature: 10
  };
  A.KeyboardBinding__setup_closure.prototype = {
    call$1($event) {
      var t1 = this.$this.__KeyboardBinding__converter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.handleEvent$1(new A.FlutterHtmlKeyboardEvent($event));
    },
    $signature: 28
  };
  A.KeyboardBinding__setup_closure0.prototype = {
    call$1($event) {
      var t1 = this.$this.__KeyboardBinding__converter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.handleEvent$1(new A.FlutterHtmlKeyboardEvent($event));
    },
    $signature: 28
  };
  A.FlutterHtmlKeyboardEvent.prototype = {
    get$location(_) {
      return this._event.location;
    }
  };
  A.KeyboardConverter.prototype = {
    _scheduleAsyncEvent$3(duration, getData, callback) {
      var t2, t1 = {};
      t1.canceled = false;
      t2 = type$.void;
      A.Future_Future$delayed(duration, null, t2).then$1$1(new A.KeyboardConverter__scheduleAsyncEvent_closure(t1, this, callback, getData), t2);
      return new A.KeyboardConverter__scheduleAsyncEvent_closure0(t1);
    },
    _startGuardingKey$3(physicalKey, logicalKey, currentTimeStamp) {
      var cancelingCallback, t1, t2, _this = this;
      if (!_this.onMacOs)
        return;
      cancelingCallback = _this._scheduleAsyncEvent$3(B.Duration_2000000, new A.KeyboardConverter__startGuardingKey_closure(currentTimeStamp, physicalKey, logicalKey), new A.KeyboardConverter__startGuardingKey_closure0(_this, physicalKey));
      t1 = _this._keyGuards;
      t2 = t1.remove$1(0, physicalKey);
      if (t2 != null)
        t2.call$0();
      t1.$indexSet(0, physicalKey, cancelingCallback);
    },
    _handleEvent$1($event) {
      var ms, timeStamp, t3, physicalKey, logicalKeyIsCharacter, character, logicalKey, isPhysicalDown, type, lastLogicalRecord, nextLogicalRecord, _this = this, _null = null,
        t1 = $event._event,
        t2 = t1.timeStamp;
      t2.toString;
      ms = B.JSNumber_methods.toInt$0(t2);
      timeStamp = A.Duration$(B.JSNumber_methods.toInt$0((t2 - ms) * 1000), ms);
      t2 = t1.key;
      t2.toString;
      t3 = t1.code;
      t3.toString;
      physicalKey = B.Map_KP6BJ.$index(0, t3);
      if (physicalKey == null)
        physicalKey = B.JSString_methods.get$hashCode(t3) + 98784247808;
      t3 = B.JSString_methods._codeUnitAt$1(t2, 0);
      if (!(t3 >= 97 && t3 <= 122))
        t3 = t3 >= 65 && t3 <= 90;
      else
        t3 = true;
      logicalKeyIsCharacter = !(t3 && t2.length > 1);
      if (logicalKeyIsCharacter)
        character = t2;
      else
        character = _null;
      logicalKey = new A.KeyboardConverter__handleEvent_closure($event, character, t2, physicalKey).call$0();
      if (t1.type !== "keydown")
        if (_this.onMacOs) {
          t2 = t1.code;
          t2.toString;
          t2 = t2 === "CapsLock";
          isPhysicalDown = t2;
        } else
          isPhysicalDown = false;
      else
        isPhysicalDown = true;
      if (_this.onMacOs) {
        t2 = t1.code;
        t2.toString;
        t2 = t2 === "CapsLock";
      } else
        t2 = false;
      if (t2) {
        _this._scheduleAsyncEvent$3(B.Duration_0, new A.KeyboardConverter__handleEvent_closure0(timeStamp, physicalKey, logicalKey), new A.KeyboardConverter__handleEvent_closure1(_this, physicalKey));
        type = B.KeyEventType_0;
      } else if (isPhysicalDown) {
        t2 = _this._pressingRecords;
        if (t2.$index(0, physicalKey) != null) {
          t3 = t1.repeat;
          if (t3 === true)
            type = B.KeyEventType_2;
          else {
            _this._dispatchKeyData.call$1(new A.KeyData(timeStamp, B.KeyEventType_1, physicalKey, logicalKey, _null, true));
            t2.remove$1(0, physicalKey);
            type = B.KeyEventType_0;
          }
        } else
          type = B.KeyEventType_0;
      } else {
        if (_this._pressingRecords.$index(0, physicalKey) == null) {
          t1.preventDefault();
          return;
        }
        type = B.KeyEventType_1;
      }
      t2 = _this._pressingRecords;
      lastLogicalRecord = t2.$index(0, physicalKey);
      switch (type.index) {
        case 0:
          nextLogicalRecord = logicalKey;
          break;
        case 1:
          nextLogicalRecord = _null;
          break;
        case 2:
          nextLogicalRecord = lastLogicalRecord;
          break;
        default:
          nextLogicalRecord = _null;
      }
      t3 = nextLogicalRecord == null;
      if (t3)
        t2.remove$1(0, physicalKey);
      else
        t2.$indexSet(0, physicalKey, nextLogicalRecord);
      $.$get$_kLogicalKeyToModifierGetter().forEach$1(0, new A.KeyboardConverter__handleEvent_closure2(_this, logicalKey, $event, timeStamp));
      if (logicalKeyIsCharacter)
        if (!t3)
          _this._startGuardingKey$3(physicalKey, logicalKey, timeStamp);
        else {
          t2 = _this._keyGuards.remove$1(0, physicalKey);
          if (t2 != null)
            t2.call$0();
        }
      t2 = lastLogicalRecord == null ? logicalKey : lastLogicalRecord;
      t3 = type === B.KeyEventType_1 ? _null : character;
      if (_this._dispatchKeyData.call$1(new A.KeyData(timeStamp, type, physicalKey, t2, t3, false)))
        t1.preventDefault();
    },
    handleEvent$1($event) {
      var _this = this, t1 = {};
      t1.sentAnyEvents = false;
      _this._dispatchKeyData = new A.KeyboardConverter_handleEvent_closure(t1, _this);
      try {
        _this._handleEvent$1($event);
      } finally {
        if (!t1.sentAnyEvents)
          _this._dispatchKeyData.call$1(B.KeyData_cgD);
        _this._dispatchKeyData = null;
      }
    }
  };
  A.KeyboardConverter__scheduleAsyncEvent_closure.prototype = {
    call$1(_) {
      var _this = this;
      if (!_this._box_0.canceled && !_this.$this._disposed) {
        _this.callback.call$0();
        _this.$this.performDispatchKeyData.call$1(_this.getData.call$0());
      }
    },
    $signature: 48
  };
  A.KeyboardConverter__scheduleAsyncEvent_closure0.prototype = {
    call$0() {
      this._box_0.canceled = true;
    },
    $signature: 0
  };
  A.KeyboardConverter__startGuardingKey_closure.prototype = {
    call$0() {
      return new A.KeyData(new A.Duration(this.currentTimeStamp._duration + 2000000), B.KeyEventType_1, this.physicalKey, this.logicalKey, null, true);
    },
    $signature: 305
  };
  A.KeyboardConverter__startGuardingKey_closure0.prototype = {
    call$0() {
      this.$this._pressingRecords.remove$1(0, this.physicalKey);
    },
    $signature: 0
  };
  A.KeyboardConverter__handleEvent_closure.prototype = {
    call$0() {
      var result, t3, t4, _this = this,
        t1 = _this.event._event,
        t2 = t1.key;
      t2.toString;
      if (B.Map_8T4QF.containsKey$1(0, t2)) {
        t2 = t1.key;
        t2.toString;
        t2 = B.Map_8T4QF.$index(0, t2);
        result = t2 == null ? null : t2[t1.location];
        result.toString;
        return result;
      }
      t2 = _this.character;
      if (t2 != null) {
        result = B.JSString_methods._codeUnitAt$1(t2, 0) & 65535;
        if (t2.length === 2)
          result += B.JSString_methods._codeUnitAt$1(t2, 1) << 16 >>> 0;
        return result >= 65 && result <= 90 ? result + 97 - 65 : result;
      }
      t2 = _this.eventKey;
      if (t2 === "Dead") {
        t2 = t1.altKey;
        t3 = t1.ctrlKey;
        t4 = t1.shiftKey;
        t1 = t1.metaKey;
        t2 = t2 ? 1073741824 : 0;
        t3 = t3 ? 268435456 : 0;
        t4 = t4 ? 536870912 : 0;
        t1 = t1 ? 2147483648 : 0;
        return _this.physicalKey + (t2 + t3 + t4 + t1) + 98784247808;
      }
      t1 = B.Map_0mogo.$index(0, t2);
      return t1 == null ? B.JSString_methods.get$hashCode(t2) + 98784247808 : t1;
    },
    $signature: 60
  };
  A.KeyboardConverter__handleEvent_closure0.prototype = {
    call$0() {
      return new A.KeyData(this.timeStamp, B.KeyEventType_1, this.physicalKey, this.logicalKey, null, true);
    },
    $signature: 305
  };
  A.KeyboardConverter__handleEvent_closure1.prototype = {
    call$0() {
      this.$this._pressingRecords.remove$1(0, this.physicalKey);
    },
    $signature: 0
  };
  A.KeyboardConverter__handleEvent_closure2.prototype = {
    call$2(testeeLogicalKey, getModifier) {
      var t1, t2, _this = this;
      if (_this.logicalKey === testeeLogicalKey)
        return;
      t1 = _this.$this;
      t2 = t1._pressingRecords;
      if (t2.containsValue$1(0, testeeLogicalKey) && !getModifier.call$1(_this.event))
        t2.removeWhere$1(t2, new A.KeyboardConverter__handleEvent__closure(t1, testeeLogicalKey, _this.timeStamp));
    },
    $signature: 666
  };
  A.KeyboardConverter__handleEvent__closure.prototype = {
    call$2(physicalKey, logicalRecord) {
      var t1 = this.testeeLogicalKey;
      if (logicalRecord !== t1)
        return false;
      this.$this._dispatchKeyData.call$1(new A.KeyData(this.timeStamp, B.KeyEventType_1, physicalKey, t1, null, true));
      return true;
    },
    $signature: 747
  };
  A.KeyboardConverter_handleEvent_closure.prototype = {
    call$1(data) {
      this._box_0.sentAnyEvents = true;
      return this.$this.performDispatchKeyData.call$1(data);
    },
    $signature: 144
  };
  A.MouseCursor.prototype = {};
  A.BrowserHistory.prototype = {
    get$_unsubscribe() {
      var t1 = this.__BrowserHistory__unsubscribe;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    dispose$0() {
      var _this = this;
      if (_this._isDisposed || _this.get$urlStrategy() == null)
        return;
      _this._isDisposed = true;
      _this._unsubscribe$0();
    },
    exit$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$exit$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 = $async$self.get$urlStrategy() != null ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self.tearDown$0(), $async$exit$0);
            case 4:
              // returning from await.
              $async$goto = 5;
              return A._asyncAwait($async$self.get$urlStrategy().go$1(0, -1), $async$exit$0);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$exit$0, $async$completer);
    },
    get$currentPath() {
      var t1 = this.get$urlStrategy();
      t1 = t1 == null ? null : t1.getPath$0(0);
      return t1 == null ? "/" : t1;
    },
    get$currentState() {
      var t1 = this.get$urlStrategy();
      return t1 == null ? null : t1.getState$0(0);
    },
    _unsubscribe$0() {
      return this.get$_unsubscribe().call$0();
    }
  };
  A.MultiEntriesBrowserHistory.prototype = {
    MultiEntriesBrowserHistory$1$urlStrategy(urlStrategy) {
      var t1, _this = this,
        strategy = _this.urlStrategy;
      if (strategy == null)
        return;
      _this.__BrowserHistory__unsubscribe = strategy.addPopStateListener$1(0, type$.dynamic_Function_Event._as(_this.get$onPopState(_this)));
      if (!_this._hasSerialCount$1(_this.get$currentState())) {
        t1 = type$.dynamic;
        strategy.replaceState$3(0, A.LinkedHashMap_LinkedHashMap$_literal(["serialCount", 0, "state", _this.get$currentState()], t1, t1), "flutter", _this.get$currentPath());
      }
      _this.__MultiEntriesBrowserHistory__lastSeenSerialCount = _this.get$_currentSerialCount();
    },
    get$_currentSerialCount() {
      if (this._hasSerialCount$1(this.get$currentState())) {
        var t1 = this.get$currentState();
        t1.toString;
        return A._asInt(J.$index$asx(type$.Map_dynamic_dynamic._as(t1), "serialCount"));
      }
      return 0;
    },
    _hasSerialCount$1(state) {
      return type$.Map_dynamic_dynamic._is(state) && J.$index$asx(state, "serialCount") != null;
    },
    setRouteName$3$replace$state(routeName, replace, state) {
      var t2, t3,
        t1 = this.urlStrategy;
      if (t1 != null) {
        t2 = type$.dynamic;
        t3 = this.__MultiEntriesBrowserHistory__lastSeenSerialCount;
        if (replace) {
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t2 = A.LinkedHashMap_LinkedHashMap$_literal(["serialCount", t3, "state", state], t2, t2);
          routeName.toString;
          t1.replaceState$3(0, t2, "flutter", routeName);
        } else {
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          ++t3;
          this.__MultiEntriesBrowserHistory__lastSeenSerialCount = t3;
          t2 = A.LinkedHashMap_LinkedHashMap$_literal(["serialCount", t3, "state", state], t2, t2);
          routeName.toString;
          t1.pushState$3(0, t2, "flutter", routeName);
        }
      }
    },
    setRouteName$1(routeName) {
      return this.setRouteName$3$replace$state(routeName, false, null);
    },
    onPopState$1(_, $event) {
      var t1, t2, t3, t4, _this = this;
      if (!_this._hasSerialCount$1(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true))) {
        t1 = _this.urlStrategy;
        t1.toString;
        t2 = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true);
        t3 = _this.__MultiEntriesBrowserHistory__lastSeenSerialCount;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t4 = type$.dynamic;
        t1.replaceState$3(0, A.LinkedHashMap_LinkedHashMap$_literal(["serialCount", t3 + 1, "state", t2], t4, t4), "flutter", _this.get$currentPath());
      }
      _this.__MultiEntriesBrowserHistory__lastSeenSerialCount = _this.get$_currentSerialCount();
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t2 = _this.get$currentPath();
      t3 = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true);
      t3 = t3 == null ? null : J.$index$asx(t3, "state");
      t4 = type$.dynamic;
      t1.invokeOnPlatformMessage$3("flutter/navigation", B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall("pushRouteInformation", A.LinkedHashMap_LinkedHashMap$_literal(["location", t2, "state", t3], t4, t4))), new A.MultiEntriesBrowserHistory_onPopState_closure());
    },
    tearDown$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, backCount, t1, t2;
      var $async$tearDown$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$self.dispose$0();
              if ($async$self._isTornDown || $async$self.urlStrategy == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._isTornDown = true;
              backCount = $async$self.get$_currentSerialCount();
              $async$goto = backCount > 0 ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self.urlStrategy.go$1(0, -backCount), $async$tearDown$0);
            case 5:
              // returning from await.
            case 4:
              // join
              t1 = $async$self.get$currentState();
              t1.toString;
              type$.Map_dynamic_dynamic._as(t1);
              t2 = $async$self.urlStrategy;
              t2.toString;
              t2.replaceState$3(0, J.$index$asx(t1, "state"), "flutter", $async$self.get$currentPath());
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$tearDown$0, $async$completer);
    },
    get$urlStrategy() {
      return this.urlStrategy;
    }
  };
  A.MultiEntriesBrowserHistory_onPopState_closure.prototype = {
    call$1(_) {
    },
    $signature: 39
  };
  A.SingleEntryBrowserHistory.prototype = {
    SingleEntryBrowserHistory$1$urlStrategy(urlStrategy) {
      var path, _this = this,
        strategy = _this.urlStrategy;
      if (strategy == null)
        return;
      _this.__BrowserHistory__unsubscribe = strategy.addPopStateListener$1(0, type$.dynamic_Function_Event._as(_this.get$onPopState(_this)));
      path = _this.get$currentPath();
      if (!A.SingleEntryBrowserHistory__isFlutterEntry(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(window.history.state, true))) {
        strategy.replaceState$3(0, A.LinkedHashMap_LinkedHashMap$_literal(["origin", true, "state", _this.get$currentState()], type$.String, type$.dynamic), "origin", "");
        _this._setupFlutterEntry$3$path$replace(strategy, path, false);
      }
    },
    setRouteName$3$replace$state(routeName, replace, state) {
      var t1 = this.urlStrategy;
      if (t1 != null)
        this._setupFlutterEntry$3$path$replace(t1, routeName, true);
    },
    setRouteName$1(routeName) {
      return this.setRouteName$3$replace$state(routeName, false, null);
    },
    onPopState$1(_, $event) {
      var t1, _this = this,
        _s18_ = "flutter/navigation";
      if (A.SingleEntryBrowserHistory__isOriginEntry(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true))) {
        t1 = _this.urlStrategy;
        t1.toString;
        _this._setupFlutterEntry$1(t1);
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3(_s18_, B.C_JSONMethodCodec.encodeMethodCall$1(B.MethodCall_popRoute_null), new A.SingleEntryBrowserHistory_onPopState_closure());
      } else if (A.SingleEntryBrowserHistory__isFlutterEntry(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.state, true))) {
        t1 = _this._userProvidedRouteName;
        t1.toString;
        _this._userProvidedRouteName = null;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3(_s18_, B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall("pushRoute", t1)), new A.SingleEntryBrowserHistory_onPopState_closure0());
      } else {
        _this._userProvidedRouteName = _this.get$currentPath();
        _this.urlStrategy.go$1(0, -1);
      }
    },
    _setupFlutterEntry$3$path$replace(strategy, path, replace) {
      var t1;
      if (path == null)
        path = this.get$currentPath();
      t1 = this._flutterState;
      if (replace)
        strategy.replaceState$3(0, t1, "flutter", path);
      else
        strategy.pushState$3(0, t1, "flutter", path);
    },
    _setupFlutterEntry$1(strategy) {
      return this._setupFlutterEntry$3$path$replace(strategy, null, false);
    },
    tearDown$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$tearDown$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$self.dispose$0();
              if ($async$self._isTornDown || $async$self.urlStrategy == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._isTornDown = true;
              t1 = $async$self.urlStrategy;
              $async$goto = 3;
              return A._asyncAwait(t1.go$1(0, -1), $async$tearDown$0);
            case 3:
              // returning from await.
              t2 = $async$self.get$currentState();
              t2.toString;
              t1.replaceState$3(0, J.$index$asx(type$.Map_dynamic_dynamic._as(t2), "state"), "flutter", $async$self.get$currentPath());
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$tearDown$0, $async$completer);
    },
    get$urlStrategy() {
      return this.urlStrategy;
    }
  };
  A.SingleEntryBrowserHistory_onPopState_closure.prototype = {
    call$1(_) {
    },
    $signature: 39
  };
  A.SingleEntryBrowserHistory_onPopState_closure0.prototype = {
    call$1(_) {
    },
    $signature: 39
  };
  A.JsUrlStrategy.prototype = {};
  A.UrlStrategy.prototype = {};
  A.HashUrlStrategy.prototype = {
    addPopStateListener$1(_, fn) {
      B.Window_methods.addEventListener$2(window, "popstate", fn);
      return new A.HashUrlStrategy_addPopStateListener_closure0(this, fn);
    },
    getPath$0(_) {
      var path = window.location.hash;
      if (path.length === 0 || path === "#")
        return "/";
      return B.JSString_methods.substring$1(path, 1);
    },
    getState$0(_) {
      return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(window.history.state, true);
    },
    prepareExternalUrl$1(_, internalUrl) {
      var t1, t2;
      if (internalUrl.length === 0) {
        t1 = window.location.pathname;
        t1.toString;
        t2 = window.location.search;
        t2.toString;
        t2 = t1 + t2;
        t1 = t2;
      } else
        t1 = "#" + internalUrl;
      return t1;
    },
    pushState$3(_, state, title, url) {
      var t1 = this.prepareExternalUrl$1(0, url);
      window.history.pushState(new A._StructuredCloneDart2Js([], []).walk$1(state), title, t1);
    },
    replaceState$3(_, state, title, url) {
      var t1 = this.prepareExternalUrl$1(0, url);
      window.history.replaceState(new A._StructuredCloneDart2Js([], []).walk$1(state), title, t1);
    },
    go$1(_, count) {
      window.history.go(count);
      return this.__engine$_waitForPopState$0();
    },
    __engine$_waitForPopState$0() {
      var t1 = new A._Future($.Zone__current, type$._Future_void),
        unsubscribe = A._Cell$named("unsubscribe");
      unsubscribe.__late_helper$_value = this.addPopStateListener$1(0, new A.HashUrlStrategy__waitForPopState_closure0(unsubscribe, new A._AsyncCompleter(t1, type$._AsyncCompleter_void)));
      return t1;
    }
  };
  A.HashUrlStrategy_addPopStateListener_closure0.prototype = {
    call$0() {
      B.Window_methods.removeEventListener$2(window, "popstate", this.fn);
      return null;
    },
    $signature: 0
  };
  A.HashUrlStrategy__waitForPopState_closure0.prototype = {
    call$1(_) {
      this.unsubscribe._readLocal$0().call$0();
      this.completer.complete$0(0);
    },
    $signature: 14
  };
  A.CustomUrlStrategy.prototype = {
    addPopStateListener$1(_, fn) {
      return A.callMethod(this.delegate, "addPopStateListener", [A.allowInterop(fn)]);
    },
    getPath$0(_) {
      return this.delegate.getPath();
    },
    getState$0(_) {
      return this.delegate.getState();
    },
    pushState$3(_, state, title, url) {
      return A.callMethod(this.delegate, "pushState", [state, title, url]);
    },
    replaceState$3(_, state, title, url) {
      return A.callMethod(this.delegate, "replaceState", [state, title, url]);
    },
    go$1(_, count) {
      return this.delegate.go(count);
    }
  };
  A.PlatformLocation.prototype = {};
  A.BrowserPlatformLocation.prototype = {};
  A.EnginePictureRecorder.prototype = {
    beginRecording$1(bounds) {
      var t1;
      this.__EnginePictureRecorder_cullRect = bounds;
      this._isRecording = true;
      t1 = A._setArrayType([], type$.JSArray_PaintCommand);
      return this.__engine$_canvas = new A.RecordingCanvas(new A._PaintBounds(bounds, A._setArrayType([], type$.JSArray_Matrix4), A._setArrayType([], type$.JSArray_nullable_Rect), A.Matrix4$identity()), t1, new A.RenderStrategy());
    },
    get$isRecording() {
      return this._isRecording;
    },
    endRecording$0() {
      var t1, _this = this;
      if (!_this._isRecording)
        _this.beginRecording$1(B.Rect_aha);
      _this._isRecording = false;
      t1 = _this.__engine$_canvas;
      t1._pictureBounds = t1._paintBounds.computeBounds$0();
      t1._recordingEnded = true;
      t1 = _this.__engine$_canvas;
      if (_this.__EnginePictureRecorder_cullRect === $)
        A.throwUnnamedLateFieldNI();
      return new A.EnginePicture(t1);
    }
  };
  A.EnginePicture.prototype = {
    dispose$0() {
      this._disposed = true;
    }
  };
  A.EnginePlatformDispatcher.prototype = {
    invokeOnMetricsChanged$0() {
      var t1 = this._onMetricsChanged;
      if (t1 != null)
        A.invoke(t1, this._onMetricsChangedZone);
    },
    invokeOnKeyData$2(data, callback) {
      var onKeyData = this._onKeyData;
      if (onKeyData != null)
        A.invoke(new A.EnginePlatformDispatcher_invokeOnKeyData_closure(callback, onKeyData, data), this._onKeyDataZone);
      else
        callback.call$1(false);
    },
    invokeOnPlatformMessage$3($name, data, callback) {
      var t1, bytes, methodNameLength, t2, methodName, index, channelNameLength, channelName, parts,
        _s143_ = "Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (arguments must be a two-element list, channel name and new capacity)",
        _s143_0 = "Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (arguments must be a two-element list, channel name and flag state)";
      if ($name === "dev.flutter/channel-buffers")
        try {
          t1 = $.$get$channelBuffers();
          bytes = A.NativeUint8List_NativeUint8List$view(data.buffer, data.byteOffset, data.byteLength);
          if (bytes[0] === 7) {
            methodNameLength = bytes[1];
            if (methodNameLength >= 254)
              A.throwExpression(A.Exception_Exception("Unrecognized message sent to dev.flutter/channel-buffers (method name too long)"));
            t2 = 2 + methodNameLength;
            methodName = B.Utf8Codec_false.decode$1(0, B.NativeUint8List_methods.sublist$2(bytes, 2, t2));
            switch (methodName) {
              case "resize":
                if (bytes[t2] !== 12)
                  A.throwExpression(A.Exception_Exception(_s143_));
                index = t2 + 1;
                if (bytes[index] < 2)
                  A.throwExpression(A.Exception_Exception(_s143_));
                ++index;
                if (bytes[index] !== 7)
                  A.throwExpression(A.Exception_Exception("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (first argument must be a string)"));
                ++index;
                channelNameLength = bytes[index];
                if (channelNameLength >= 254)
                  A.throwExpression(A.Exception_Exception("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (channel name must be less than 254 characters long)"));
                ++index;
                t2 = index + channelNameLength;
                channelName = B.Utf8Codec_false.decode$1(0, B.NativeUint8List_methods.sublist$2(bytes, index, t2));
                if (bytes[t2] !== 3)
                  A.throwExpression(A.Exception_Exception("Invalid arguments for 'resize' method sent to dev.flutter/channel-buffers (second argument must be an integer in the range 0 to 2147483647)"));
                t1.resize$2(0, channelName, data.getUint32(t2 + 1, B.C_Endian === $.$get$Endian_host()));
                break;
              case "overflow":
                if (bytes[t2] !== 12)
                  A.throwExpression(A.Exception_Exception(_s143_0));
                index = t2 + 1;
                if (bytes[index] < 2)
                  A.throwExpression(A.Exception_Exception(_s143_0));
                ++index;
                if (bytes[index] !== 7)
                  A.throwExpression(A.Exception_Exception("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (first argument must be a string)"));
                ++index;
                channelNameLength = bytes[index];
                if (channelNameLength >= 254)
                  A.throwExpression(A.Exception_Exception("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (channel name must be less than 254 characters long)"));
                ++index;
                t1 = index + channelNameLength;
                B.Utf8Codec_false.decode$1(0, B.NativeUint8List_methods.sublist$2(bytes, index, t1));
                t1 = bytes[t1];
                if (t1 !== 1 && t1 !== 2)
                  A.throwExpression(A.Exception_Exception("Invalid arguments for 'overflow' method sent to dev.flutter/channel-buffers (second argument must be a boolean)"));
                break;
              default:
                A.throwExpression(A.Exception_Exception("Unrecognized method '" + methodName + "' sent to dev.flutter/channel-buffers"));
            }
          } else {
            parts = A._setArrayType(B.Utf8Codec_false.decode$1(0, bytes).split("\r"), type$.JSArray_String);
            if (parts.length === 3 && J.$eq$(parts[0], "resize"))
              t1.resize$2(0, parts[1], A.int_parse(parts[2], null));
            else
              A.throwExpression(A.Exception_Exception("Unrecognized message " + A.S(parts) + " sent to dev.flutter/channel-buffers."));
          }
        } finally {
          callback.call$1(null);
        }
      else
        $.$get$channelBuffers().push$3($name, data, callback);
    },
    _sendPlatformMessage$3($name, data, callback) {
      var decoded, cacheSizeInBytes, t1, url, $navigator, $arguments, label, primaryColor, theme, e, t2, _this = this;
      switch ($name) {
        case "flutter/skia":
          decoded = B.C_JSONMethodCodec.decodeMethodCall$1(data);
          switch (decoded.method) {
            case "Skia.setResourceCacheMaxBytes":
              if ($.$get$useCanvasKit()) {
                cacheSizeInBytes = A._asInt(decoded.$arguments);
                _this.get$rasterizer().toString;
                t1 = A.SurfaceFactory_instance().baseSurface;
                t1._skiaCacheBytes = cacheSizeInBytes;
                t1._syncCacheBytes$0();
              }
              _this.replyToPlatformMessage$2(callback, B.C_JSONMessageCodec.encodeMessage$1([A._setArrayType([true], type$.JSArray_bool)]));
              break;
          }
          return;
        case "flutter/assets":
          url = B.Utf8Codec_false.decode$1(0, A.NativeUint8List_NativeUint8List$view(data.buffer, 0, null));
          $._assetManager.load$1(0, url).then$1$2$onError(new A.EnginePlatformDispatcher__sendPlatformMessage_closure(_this, callback), new A.EnginePlatformDispatcher__sendPlatformMessage_closure0(_this, callback), type$.Null);
          return;
        case "flutter/platform":
          decoded = B.C_JSONMethodCodec.decodeMethodCall$1(data);
          switch (decoded.method) {
            case "SystemNavigator.pop":
              _this._windows.$index(0, 0).get$browserHistory().exit$0().then$1$1(new A.EnginePlatformDispatcher__sendPlatformMessage_closure1(_this, callback), type$.Null);
              return;
            case "HapticFeedback.vibrate":
              t1 = _this._getHapticFeedbackDuration$1(A._asStringQ(decoded.$arguments));
              $navigator = window.navigator;
              if ("vibrate" in $navigator)
                $navigator.vibrate(t1);
              _this.replyToPlatformMessage$2(callback, B.C_JSONMessageCodec.encodeMessage$1([true]));
              return;
            case string$.System:
              $arguments = type$.Map_String_dynamic._as(decoded.$arguments);
              t1 = J.getInterceptor$asx($arguments);
              label = A._asStringQ(t1.$index($arguments, "label"));
              if (label == null)
                label = "";
              primaryColor = A._asIntQ(t1.$index($arguments, "primaryColor"));
              if (primaryColor == null)
                primaryColor = 4278190080;
              t1 = document;
              t1.title = label;
              theme = type$.nullable_MetaElement._as(t1.querySelector("#flutterweb-theme"));
              if (theme == null) {
                theme = t1.createElement("meta");
                theme.id = "flutterweb-theme";
                theme.name = "theme-color";
                t1.head.appendChild(theme);
              }
              t1 = A.colorToCssString(new A.Color(primaryColor >>> 0));
              t1.toString;
              theme.content = t1;
              _this.replyToPlatformMessage$2(callback, B.C_JSONMessageCodec.encodeMessage$1([true]));
              return;
            case "SystemChrome.setPreferredOrientations":
              $arguments = type$.List_dynamic._as(decoded.$arguments);
              $._flutterViewEmbedder.setPreferredOrientation$1($arguments).then$1$1(new A.EnginePlatformDispatcher__sendPlatformMessage_closure2(_this, callback), type$.Null);
              return;
            case "SystemSound.play":
              _this.replyToPlatformMessage$2(callback, B.C_JSONMessageCodec.encodeMessage$1([true]));
              return;
            case "Clipboard.setData":
              t1 = self.window.navigator.clipboard != null ? new A.ClipboardAPICopyStrategy() : new A.ExecCommandCopyStrategy();
              new A.ClipboardMessageHandler(t1, A.PasteFromClipboardStrategy_PasteFromClipboardStrategy()).setDataMethodCall$2(decoded, callback);
              return;
            case "Clipboard.getData":
              t1 = self.window.navigator.clipboard != null ? new A.ClipboardAPICopyStrategy() : new A.ExecCommandCopyStrategy();
              new A.ClipboardMessageHandler(t1, A.PasteFromClipboardStrategy_PasteFromClipboardStrategy()).getDataMethodCall$1(callback);
              return;
          }
          break;
        case "flutter/service_worker":
          t1 = window;
          e = document.createEvent("Event");
          e.initEvent("flutter-first-frame", true, true);
          t1.dispatchEvent(e);
          return;
        case "flutter/textinput":
          t1 = $.$get$textEditing();
          t1.get$channel(t1).handleTextInput$2(data, callback);
          return;
        case "flutter/mousecursor":
          decoded = B.C_StandardMethodCodec.decodeMethodCall$1(data);
          $arguments = type$.Map_dynamic_dynamic._as(decoded.$arguments);
          switch (decoded.method) {
            case "activateSystemCursor":
              $.MouseCursor__instance.toString;
              t1 = A._asStringQ(J.$index$asx($arguments, "kind"));
              t2 = $._flutterViewEmbedder._glassPaneElement;
              t2.toString;
              t1 = B.Map_gFKQ1.$index(0, t1);
              A.setElementStyle(t2, "cursor", t1 == null ? "default" : t1);
              break;
          }
          return;
        case "flutter/web_test_e2e":
          _this.replyToPlatformMessage$2(callback, B.C_JSONMessageCodec.encodeMessage$1([A._handleWebTestEnd2EndMessage(B.C_JSONMethodCodec, data)]));
          return;
        case "flutter/platform_views":
          t1 = _this._platformViewMessageHandler;
          if (t1 == null)
            t1 = _this._platformViewMessageHandler = new A.PlatformViewMessageHandler($.$get$platformViewManager(), new A.EnginePlatformDispatcher__sendPlatformMessage_closure3());
          callback.toString;
          t1.handlePlatformViewCall$2(data, callback);
          return;
        case "flutter/accessibility":
          $.$get$accessibilityAnnouncements().handleMessage$2(B.C_StandardMessageCodec0, data);
          _this.replyToPlatformMessage$2(callback, B.C_StandardMessageCodec0.encodeMessage$1(true));
          return;
        case "flutter/navigation":
          _this._windows.$index(0, 0).handleNavigationMessage$1(data).then$1$1(new A.EnginePlatformDispatcher__sendPlatformMessage_closure4(_this, callback), type$.Null);
          _this._defaultRouteName = "/";
          return;
      }
      t1 = $.pluginMessageCallHandler;
      if (t1 != null) {
        t1.call$3($name, data, callback);
        return;
      }
      _this.replyToPlatformMessage$2(callback, null);
    },
    _getHapticFeedbackDuration$1(type) {
      switch (type) {
        case "HapticFeedbackType.lightImpact":
          return 10;
        case "HapticFeedbackType.mediumImpact":
          return 20;
        case "HapticFeedbackType.heavyImpact":
          return 30;
        case "HapticFeedbackType.selectionClick":
          return 10;
        default:
          return 50;
      }
    },
    scheduleFrame$0() {
      var t1 = $.scheduleFrameCallback;
      if (t1 == null)
        throw A.wrapException(A.Exception_Exception("scheduleFrameCallback must be initialized first."));
      t1.call$0();
    },
    render$2(scene, view) {
      var embedder;
      if ($.$get$useCanvasKit()) {
        A.frameTimingsOnBuildFinish();
        A.frameTimingsOnRasterStart();
        type$.LayerScene._as(scene);
        this.get$rasterizer().draw$1(scene.layerTree);
      } else {
        type$.SurfaceScene._as(scene);
        embedder = $._flutterViewEmbedder;
        embedder.toString;
        embedder.addSceneToSceneHost$1(type$.nullable_Element._as(scene.webOnlyRootElement));
      }
      A.frameTimingsOnRasterFinish();
    },
    _addFontSizeObserver$0() {
      var t2,
        t1 = new (window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver)(A.convertDartClosureToJS(A._wrapBinaryZone(new A.EnginePlatformDispatcher__addFontSizeObserver_closure(this), type$.List_dynamic, type$.MutationObserver), 2));
      this._fontSizeObserver = t1;
      t2 = document.documentElement;
      t2.toString;
      B.MutationObserver_methods.observe$3$attributeFilter$attributes(t1, t2, A._setArrayType(["style"], type$.JSArray_String), true);
      $._hotRestartListeners.push(new A.EnginePlatformDispatcher__addFontSizeObserver_closure0(this));
    },
    _updatePlatformBrightness$1(value) {
      var _this = this,
        t1 = _this.configuration;
      if (t1.platformBrightness !== value) {
        _this.configuration = t1.copyWith$1$platformBrightness(value);
        A.invoke(null, null);
        A.invoke(_this._onPlatformBrightnessChanged, _this._onPlatformBrightnessChangedZone);
      }
    },
    _addBrightnessMediaQueryListener$0() {
      var t2, _this = this,
        t1 = _this._brightnessMediaQuery;
      _this._updatePlatformBrightness$1(t1.matches ? B.Brightness_0 : B.Brightness_1);
      t2 = new A.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure(_this);
      _this._brightnessMediaQueryListener = t2;
      B.MediaQueryList_methods.addListener$1(t1, t2);
      $._hotRestartListeners.push(new A.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0(_this));
    },
    get$defaultRouteName() {
      var t1 = this._defaultRouteName;
      return t1 == null ? this._defaultRouteName = this._windows.$index(0, 0).get$browserHistory().get$currentPath() : t1;
    },
    get$rasterizer() {
      var value = this.__EnginePlatformDispatcher_rasterizer;
      if (value === $)
        value = this.__EnginePlatformDispatcher_rasterizer = $.$get$useCanvasKit() ? new A.Rasterizer(new A.CompositorContext(), A._setArrayType([], type$.JSArray_of_void_Function)) : null;
      return value;
    },
    replyToPlatformMessage$2(callback, data) {
      A.Future_Future$delayed(B.Duration_0, null, type$.void).then$1$1(new A.EnginePlatformDispatcher_replyToPlatformMessage_closure(callback, data), type$.Null);
    }
  };
  A.EnginePlatformDispatcher_invokeOnKeyData_closure.prototype = {
    call$0() {
      return this.callback.call$1(this.onKeyData.call$1(this.data));
    },
    $signature: 0
  };
  A.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure.prototype = {
    call$1(data) {
      this.registrationZone.runUnaryGuarded$1$2(this.callback, data, type$.nullable_ByteData);
    },
    $signature: 39
  };
  A.EnginePlatformDispatcher__sendPlatformMessage_closure.prototype = {
    call$1(assetData) {
      this.$this.replyToPlatformMessage$2(this.callback, assetData);
    },
    $signature: 859
  };
  A.EnginePlatformDispatcher__sendPlatformMessage_closure0.prototype = {
    call$1(error) {
      $.$get$printWarning().call$1("Error while trying to load an asset: " + A.S(error));
      this.$this.replyToPlatformMessage$2(this.callback, null);
    },
    $signature: 9
  };
  A.EnginePlatformDispatcher__sendPlatformMessage_closure1.prototype = {
    call$1(_) {
      this.$this.replyToPlatformMessage$2(this.callback, B.C_JSONMessageCodec.encodeMessage$1([true]));
    },
    $signature: 48
  };
  A.EnginePlatformDispatcher__sendPlatformMessage_closure2.prototype = {
    call$1(success) {
      this.$this.replyToPlatformMessage$2(this.callback, B.C_JSONMessageCodec.encodeMessage$1([success]));
    },
    $signature: 85
  };
  A.EnginePlatformDispatcher__sendPlatformMessage_closure3.prototype = {
    call$1($content) {
      var t1 = $._flutterViewEmbedder._glassPaneElement;
      t1.toString;
      t1.appendChild(type$.Element._as($content));
    },
    $signature: 28
  };
  A.EnginePlatformDispatcher__sendPlatformMessage_closure4.prototype = {
    call$1(handled) {
      var t1 = this.callback;
      if (handled)
        this.$this.replyToPlatformMessage$2(t1, B.C_JSONMessageCodec.encodeMessage$1([true]));
      else if (t1 != null)
        t1.call$1(null);
    },
    $signature: 85
  };
  A.EnginePlatformDispatcher__addFontSizeObserver_closure.prototype = {
    call$2(mutations, _) {
      var t1, t2, t3, record, t4, fontSize, newTextScaleFactor;
      for (t1 = J.get$iterator$ax(mutations), t2 = type$.MutationRecord, t3 = this.$this; t1.moveNext$0();) {
        record = t2._as(t1.get$current(t1));
        if (record.type === "attributes" && record.attributeName === "style") {
          t4 = document.documentElement;
          t4.toString;
          fontSize = A.parseFontSize(t4);
          newTextScaleFactor = (fontSize == null ? 16 : fontSize) / 16;
          t4 = t3.configuration;
          if (t4.textScaleFactor !== newTextScaleFactor) {
            t3.configuration = t4.copyWith$1$textScaleFactor(newTextScaleFactor);
            A.invoke(null, null);
            A.invoke(t3._onTextScaleFactorChanged, t3._onTextScaleFactorChangedZone);
          }
        }
      }
    },
    $signature: 865
  };
  A.EnginePlatformDispatcher__addFontSizeObserver_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._fontSizeObserver;
      if (t2 != null)
        t2.disconnect();
      t1._fontSizeObserver = null;
    },
    $signature: 0
  };
  A.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure.prototype = {
    call$1($event) {
      var t1 = type$.MediaQueryListEvent._as($event).matches;
      t1.toString;
      t1 = t1 ? B.Brightness_0 : B.Brightness_1;
      this.$this._updatePlatformBrightness$1(t1);
    },
    $signature: 14
  };
  A.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      B.MediaQueryList_methods.removeListener$1(t1._brightnessMediaQuery, t1._brightnessMediaQueryListener);
      t1._brightnessMediaQueryListener = null;
    },
    $signature: 0
  };
  A.EnginePlatformDispatcher_replyToPlatformMessage_closure.prototype = {
    call$1(_) {
      var t1 = this.callback;
      if (t1 != null)
        t1.call$1(this.data);
    },
    $signature: 48
  };
  A.invoke2_closure.prototype = {
    call$0() {
      this.callback.call$2(this.arg1, this.arg2);
    },
    $signature: 0
  };
  A.invoke3_closure.prototype = {
    call$0() {
      var _this = this;
      _this.callback.call$3(_this.arg1, _this.arg2, _this.arg3);
    },
    $signature: 0
  };
  A.PlatformViewManager.prototype = {
    registerFactory$3$isVisible(viewType, factoryFunction, isVisible) {
      var t1 = this._factories;
      if (t1.containsKey$1(0, viewType))
        return false;
      t1.$indexSet(0, viewType, factoryFunction);
      this._invisibleViews.add$1(0, viewType);
      return true;
    },
    renderContent$3(viewType, viewId, params) {
      this._viewIdToType.$indexSet(0, viewId, viewType);
      return this.__engine$_contents.putIfAbsent$2(0, viewId, new A.PlatformViewManager_renderContent_closure(this, "flt-pv-slot-" + viewId, viewType, viewId, params));
    },
    _safelyRemoveSlottedElement$1(element) {
      var t1, tombstoneName, slot,
        _s12_ = "setAttribute";
      if (element == null)
        return;
      t1 = $.$get$_browserEngine();
      if (t1 !== B.BrowserEngine_1) {
        element.remove();
        return;
      }
      tombstoneName = "tombstone-" + A.S(element.getAttribute("slot"));
      slot = A.DomDocumentExtension_createElement(self.document, "slot");
      A.DomCSSStyleDeclarationExtension_setProperty(slot.style, "display", "none");
      A.callMethod(slot, _s12_, ["name", tombstoneName]);
      t1 = $._flutterViewEmbedder._glassPaneShadow;
      t1.toString;
      type$.Node._as(slot);
      t1.append$1(0, slot);
      A.callMethod(element, _s12_, ["slot", tombstoneName]);
      element.remove();
      slot.remove();
    },
    isInvisible$1(viewId) {
      var viewType = this._viewIdToType.$index(0, viewId);
      return viewType != null && this._invisibleViews.contains$1(0, viewType);
    }
  };
  A.PlatformViewManager_renderContent_closure.prototype = {
    call$0() {
      var t1, t2, $content, t3, _this = this,
        wrapper = A.DomDocumentExtension_createElement(self.document, "flt-platform-view");
      A.callMethod(wrapper, "setAttribute", ["slot", _this.slotName]);
      t1 = _this.viewType;
      t2 = _this.$this._factories.$index(0, t1);
      t2.toString;
      $content = A._Cell$named("content");
      t3 = _this.viewId;
      if (type$.JavaScriptObject_Function_int_$named_params_nullable_Object._is(t2))
        $content.__late_helper$_value = t2.call$2$params(t3, _this.params);
      else
        $content.__late_helper$_value = type$.JavaScriptObject_Function_int._as(t2).call$1(t3);
      t2 = $content._readLocal$0();
      if (t2.style.getPropertyValue("height").length === 0) {
        $.$get$printWarning().call$1("Height of Platform View type: [" + t1 + "] may not be set. Defaulting to `height: 100%`.\nSet `style.height` to any appropriate value to stop this message.");
        A.DomCSSStyleDeclarationExtension_setProperty(t2.style, "height", "100%");
      }
      if (t2.style.getPropertyValue("width").length === 0) {
        $.$get$printWarning().call$1("Width of Platform View type: [" + t1 + "] may not be set. Defaulting to `width: 100%`.\nSet `style.width` to any appropriate value to stop this message.");
        A.DomCSSStyleDeclarationExtension_setProperty(t2.style, "width", "100%");
      }
      wrapper.append($content._readLocal$0());
      return wrapper;
    },
    $signature: 124
  };
  A.PlatformViewMessageHandler.prototype = {
    _createPlatformView$2(methodCall, callback) {
      var args = type$.Map_dynamic_dynamic._as(methodCall.$arguments),
        t1 = J.getInterceptor$asx(args),
        viewId = A._asInt(t1.$index(args, "id")),
        viewType = A._asString(t1.$index(args, "viewType"));
      t1 = this._contentManager;
      if (!t1._factories.containsKey$1(0, viewType)) {
        callback.call$1(B.C_StandardMethodCodec.encodeErrorEnvelope$3$code$details$message("unregistered_view_type", "If you are the author of the PlatformView, make sure `registerViewFactory` is invoked.", "A HtmlElementView widget is trying to create a platform view with an unregistered type: <" + viewType + ">."));
        return;
      }
      if (t1.__engine$_contents.containsKey$1(0, viewId)) {
        callback.call$1(B.C_StandardMethodCodec.encodeErrorEnvelope$3$code$details$message("recreating_view", "view id: " + viewId, "trying to create an already created view"));
        return;
      }
      this._contentHandler.call$1(t1.renderContent$3(viewType, viewId, args));
      callback.call$1(B.C_StandardMethodCodec.encodeSuccessEnvelope$1(null));
    },
    handlePlatformViewCall$2(data, callback) {
      var t1,
        decoded = B.C_StandardMethodCodec.decodeMethodCall$1(data);
      switch (decoded.method) {
        case "create":
          this._createPlatformView$2(decoded, callback);
          return;
        case "dispose":
          t1 = this._contentManager;
          t1._safelyRemoveSlottedElement$1(t1.__engine$_contents.remove$1(0, A._asInt(decoded.$arguments)));
          callback.call$1(B.C_StandardMethodCodec.encodeSuccessEnvelope$1(null));
          return;
      }
      callback.call$1(null);
    }
  };
  A.SafariPointerEventWorkaround.prototype = {
    workAroundMissingPointerEvents$0() {
      B.HtmlDocument_methods.addEventListener$2(document, "touchstart", new A.SafariPointerEventWorkaround_workAroundMissingPointerEvents_closure());
    }
  };
  A.SafariPointerEventWorkaround_workAroundMissingPointerEvents_closure.prototype = {
    call$1($event) {
    },
    $signature: 14
  };
  A.PointerBinding.prototype = {
    _createAdapter$0() {
      var t1, _this = this;
      if ("PointerEvent" in window) {
        t1 = new A._PointerAdapter(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._ButtonSanitizer), A._setArrayType([], type$.JSArray__Listener), _this.glassPaneElement, _this.get$_onPointerData(), _this._pointerDataConverter);
        t1.setup$0();
        return t1;
      }
      if ("TouchEvent" in window) {
        t1 = new A._TouchAdapter(A.LinkedHashSet_LinkedHashSet$_empty(type$.int), A._setArrayType([], type$.JSArray__Listener), _this.glassPaneElement, _this.get$_onPointerData(), _this._pointerDataConverter);
        t1.setup$0();
        return t1;
      }
      if ("MouseEvent" in window) {
        t1 = new A._MouseAdapter(new A._ButtonSanitizer(), A._setArrayType([], type$.JSArray__Listener), _this.glassPaneElement, _this.get$_onPointerData(), _this._pointerDataConverter);
        t1.setup$0();
        return t1;
      }
      throw A.wrapException(A.UnsupportedError$("This browser does not support pointer, touch, or mouse events."));
    },
    _onPointerData$1(data) {
      var t1 = A._setArrayType(data.slice(0), A._arrayInstanceType(data)),
        t2 = $.$get$EnginePlatformDispatcher__instance();
      A.invoke1(t2._onPointerDataPacket, t2._onPointerDataPacketZone, new A.PointerDataPacket(t1), type$.PointerDataPacket);
    }
  };
  A.PointerSupportDetector.prototype = {
    toString$0(_) {
      return "pointers:" + ("PointerEvent" in window) + ", touch:" + ("TouchEvent" in window) + ", mouse:" + ("MouseEvent" in window);
    }
  };
  A._Listener.prototype = {};
  A._Listener__Listener$registerNative_closure.prototype = {
    call$1($event) {
      return this.handler.call$1($event);
    },
    $signature: 83
  };
  A._BaseAdapter.prototype = {
    addEventListener$4$useCapture(_, target, eventName, handler, useCapture) {
      var t1 = new A._BaseAdapter_addEventListener_loggedHandler(handler);
      J.addEventListener$3$x(target, eventName, t1, useCapture);
      this._listeners.push(new A._Listener(eventName, target, t1, useCapture, false));
    },
    addEventListener$3($receiver, target, eventName, handler) {
      return this.addEventListener$4$useCapture($receiver, target, eventName, handler, true);
    }
  };
  A._BaseAdapter_addEventListener_loggedHandler.prototype = {
    call$1($event) {
      var t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t1).receiveGlobalEvent$1($event))
        this.handler.call$1($event);
    },
    $signature: 83
  };
  A._WheelEventListenerMixin.prototype = {
    _addWheelEventListener$1(handler) {
      this._listeners.push(A._Listener__Listener$registerNative("wheel", new A._WheelEventListenerMixin__addWheelEventListener_closure(handler), this.glassPaneElement));
    },
    _handleWheelEvent$1(e) {
      var deltaX, deltaY, t1, probe, t2, fontSize, res, data, t3, t4, t5, t6;
      type$.WheelEvent._as(e);
      deltaX = B.WheelEvent_methods.get$deltaX(e);
      deltaY = B.WheelEvent_methods.get$deltaY(e);
      switch (B.WheelEvent_methods.get$deltaMode(e)) {
        case 1:
          t1 = $._WheelEventListenerMixin__defaultScrollLineHeight;
          if (t1 == null) {
            t1 = document;
            probe = t1.createElement("div");
            t2 = probe.style;
            t2.fontSize = "initial";
            t2.display = "none";
            t1.body.appendChild(probe);
            fontSize = B.DivElement_methods.getComputedStyle$0(probe).fontSize;
            if (B.JSString_methods.contains$1(fontSize, "px"))
              res = A.Primitives_parseDouble(A.stringReplaceAllUnchecked(fontSize, "px", ""));
            else
              res = null;
            B.DivElement_methods.remove$0(probe);
            t1 = $._WheelEventListenerMixin__defaultScrollLineHeight = res == null ? 16 : res / 4;
          }
          deltaX *= t1;
          deltaY *= t1;
          break;
        case 2:
          t1 = $.$get$window();
          deltaX *= t1.get$physicalSize()._dx;
          deltaY *= t1.get$physicalSize()._dy;
          break;
        case 0:
        default:
          break;
      }
      data = A._setArrayType([], type$.JSArray_PointerData);
      t1 = e.timeStamp;
      t1.toString;
      t1 = A._BaseAdapter__eventTimeStampToDuration(t1);
      t2 = e.clientX;
      e.clientY;
      t3 = $.$get$window();
      t4 = t3._debugDevicePixelRatio;
      if (t4 == null)
        t4 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      e.clientX;
      t5 = e.clientY;
      t3 = t3._debugDevicePixelRatio;
      if (t3 == null)
        t3 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      t6 = e.buttons;
      t6.toString;
      this._pointerDataConverter.convert$14$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$timeStamp(data, t6, B.PointerChange_3, -1, B.PointerDeviceKind_1, t2 * t4, t5 * t3, 1, 1, 0, deltaX, deltaY, B.PointerSignalKind_1, t1);
      this.__engine$_callback.call$1(data);
      if (e.getModifierState("Control")) {
        t1 = $.$get$_operatingSystem();
        if (t1 !== B.OperatingSystem_4)
          t1 = t1 !== B.OperatingSystem_0;
        else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return;
      e.preventDefault();
    }
  };
  A._WheelEventListenerMixin__addWheelEventListener_closure.prototype = {
    call$1($event) {
      return this.handler.call$1($event);
    },
    $signature: 83
  };
  A._SanitizedDetails.prototype = {
    toString$0(_) {
      return A.getRuntimeType(this).toString$0(0) + "(change: " + this.change.toString$0(0) + ", buttons: " + this.buttons + ")";
    }
  };
  A._ButtonSanitizer.prototype = {
    sanitizeDownEvent$2$button$buttons(button, buttons) {
      var t1;
      if (this._pressedButtons !== 0)
        return this.sanitizeMoveEvent$1$buttons(buttons);
      t1 = (buttons === 0 && button > -1 ? A.convertButtonToButtons(button) : buttons) & 1073741823;
      this._pressedButtons = t1;
      return new A._SanitizedDetails(B.PointerChange_4, t1);
    },
    sanitizeMoveEvent$1$buttons(buttons) {
      var newPressedButtons = buttons & 1073741823,
        t1 = this._pressedButtons;
      if (t1 === 0 && newPressedButtons !== 0)
        return new A._SanitizedDetails(B.PointerChange_3, t1);
      this._pressedButtons = newPressedButtons;
      return new A._SanitizedDetails(newPressedButtons === 0 ? B.PointerChange_3 : B.PointerChange_5, newPressedButtons);
    },
    sanitizeMissingRightClickUp$1$buttons(buttons) {
      if (this._pressedButtons !== 0 && (buttons & 1073741823) === 0) {
        this._pressedButtons = 0;
        return new A._SanitizedDetails(B.PointerChange_6, 0);
      }
      return null;
    },
    sanitizeLeaveEvent$1$buttons(buttons) {
      if ((buttons & 1073741823) === 0) {
        this._pressedButtons = 0;
        return new A._SanitizedDetails(B.PointerChange_3, 0);
      }
      return null;
    },
    sanitizeUpEvent$1$buttons(buttons) {
      var t1;
      if (this._pressedButtons === 0)
        return null;
      t1 = this._pressedButtons = (buttons == null ? 0 : buttons) & 1073741823;
      if (t1 === 0)
        return new A._SanitizedDetails(B.PointerChange_6, t1);
      else
        return new A._SanitizedDetails(B.PointerChange_5, t1);
    }
  };
  A._PointerAdapter.prototype = {
    _ensureSanitizer$1(device) {
      return this._sanitizers.putIfAbsent$2(0, device, new A._PointerAdapter__ensureSanitizer_closure());
    },
    _removePointerIfUnhoverable$1($event) {
      if ($event.pointerType === "touch")
        this._sanitizers.remove$1(0, $event.pointerId);
    },
    _addPointerEventListener$4$useCapture(target, eventName, handler, useCapture) {
      this.addEventListener$4$useCapture(0, target, eventName, new A._PointerAdapter__addPointerEventListener_closure(handler), useCapture);
    },
    _addPointerEventListener$3(target, eventName, handler) {
      return this._addPointerEventListener$4$useCapture(target, eventName, handler, true);
    },
    setup$0() {
      var _this = this,
        t1 = _this.glassPaneElement;
      _this._addPointerEventListener$3(t1, "pointerdown", new A._PointerAdapter_setup_closure(_this));
      _this._addPointerEventListener$3(window, "pointermove", new A._PointerAdapter_setup_closure0(_this));
      _this._addPointerEventListener$4$useCapture(t1, "pointerleave", new A._PointerAdapter_setup_closure1(_this), false);
      _this._addPointerEventListener$3(window, "pointerup", new A._PointerAdapter_setup_closure2(_this));
      _this._addPointerEventListener$3(t1, "pointercancel", new A._PointerAdapter_setup_closure3(_this));
      _this._addWheelEventListener$1(new A._PointerAdapter_setup_closure4(_this));
    },
    _convertEventsToPointerData$3$data$details$event(data, details, $event) {
      var kind, t2, timeStamp, pressure, t3, t4, t5, t6, t7,
        t1 = $event.pointerType;
      t1.toString;
      kind = this._pointerTypeToDeviceKind$1(t1);
      t1 = $event.tiltX;
      t1.toString;
      t2 = $event.tiltY;
      t2.toString;
      if (!(Math.abs(t1) > Math.abs(t2)))
        t1 = t2;
      t2 = $event.timeStamp;
      t2.toString;
      timeStamp = A._BaseAdapter__eventTimeStampToDuration(t2);
      pressure = $event.pressure;
      t2 = this._getPointerId$1($event);
      t3 = $event.clientX;
      $event.clientY;
      t4 = $.$get$window();
      t5 = t4._debugDevicePixelRatio;
      if (t5 == null)
        t5 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      $event.clientX;
      t6 = $event.clientY;
      t4 = t4._debugDevicePixelRatio;
      if (t4 == null)
        t4 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      t7 = pressure == null ? 0 : pressure;
      this._pointerDataConverter.convert$13$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$tilt$timeStamp(data, details.buttons, details.change, t2, kind, t3 * t5, t6 * t4, t7, 1, 0, B.PointerSignalKind_0, t1 / 180 * 3.141592653589793, timeStamp);
    },
    _expandEvents$1($event) {
      var coalescedEvents;
      if ("getCoalescedEvents" in $event) {
        coalescedEvents = J.cast$1$0$ax($event.getCoalescedEvents(), type$.PointerEvent);
        if (!coalescedEvents.get$isEmpty(coalescedEvents))
          return coalescedEvents;
      }
      return A._setArrayType([$event], type$.JSArray_PointerEvent);
    },
    _pointerTypeToDeviceKind$1(pointerType) {
      switch (pointerType) {
        case "mouse":
          return B.PointerDeviceKind_1;
        case "pen":
          return B.PointerDeviceKind_2;
        case "touch":
          return B.PointerDeviceKind_0;
        default:
          return B.PointerDeviceKind_5;
      }
    },
    _getPointerId$1($event) {
      var t1 = $event.pointerType;
      t1.toString;
      if (this._pointerTypeToDeviceKind$1(t1) === B.PointerDeviceKind_1)
        t1 = -1;
      else {
        t1 = $event.pointerId;
        t1.toString;
      }
      return t1;
    }
  };
  A._PointerAdapter__ensureSanitizer_closure.prototype = {
    call$0() {
      return new A._ButtonSanitizer();
    },
    $signature: 876
  };
  A._PointerAdapter__addPointerEventListener_closure.prototype = {
    call$1($event) {
      return this.handler.call$1(type$.PointerEvent._as($event));
    },
    $signature: 83
  };
  A._PointerAdapter_setup_closure.prototype = {
    call$1($event) {
      var up, t3,
        t1 = this.$this,
        device = t1._getPointerId$1($event),
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        sanitizer = t1._ensureSanitizer$1(device),
        t2 = $event.buttons;
      t2.toString;
      up = sanitizer.sanitizeMissingRightClickUp$1$buttons(t2);
      if (up != null)
        t1._convertEventsToPointerData$3$data$details$event(pointerData, up, $event);
      t2 = $event.button;
      t3 = $event.buttons;
      t3.toString;
      t1._convertEventsToPointerData$3$data$details$event(pointerData, sanitizer.sanitizeDownEvent$2$button$buttons(t2, t3), $event);
      t1.__engine$_callback.call$1(pointerData);
    },
    $signature: 91
  };
  A._PointerAdapter_setup_closure0.prototype = {
    call$1($event) {
      var t2, t3, t4, up,
        t1 = this.$this,
        sanitizer = t1._ensureSanitizer$1(t1._getPointerId$1($event)),
        pointerData = A._setArrayType([], type$.JSArray_PointerData);
      for (t2 = J.get$iterator$ax(t1._expandEvents$1($event)); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = t3.buttons;
        t4.toString;
        up = sanitizer.sanitizeMissingRightClickUp$1$buttons(t4);
        if (up != null)
          t1._convertEventsToPointerData$3$data$details$event(pointerData, up, t3);
        t4 = t3.buttons;
        t4.toString;
        t1._convertEventsToPointerData$3$data$details$event(pointerData, sanitizer.sanitizeMoveEvent$1$buttons(t4), t3);
      }
      t1.__engine$_callback.call$1(pointerData);
    },
    $signature: 91
  };
  A._PointerAdapter_setup_closure1.prototype = {
    call$1($event) {
      var details,
        t1 = this.$this,
        sanitizer = t1._ensureSanitizer$1(t1._getPointerId$1($event)),
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t2 = $event.buttons;
      t2.toString;
      details = sanitizer.sanitizeLeaveEvent$1$buttons(t2);
      if (details != null) {
        t1._convertEventsToPointerData$3$data$details$event(pointerData, details, $event);
        t1.__engine$_callback.call$1(pointerData);
      }
    },
    $signature: 91
  };
  A._PointerAdapter_setup_closure2.prototype = {
    call$1($event) {
      var details,
        t1 = this.$this,
        device = t1._getPointerId$1($event),
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t2 = t1._sanitizers.$index(0, device);
      t2.toString;
      details = t2.sanitizeUpEvent$1$buttons($event.buttons);
      t1._removePointerIfUnhoverable$1($event);
      if (details != null) {
        t1._convertEventsToPointerData$3$data$details$event(pointerData, details, $event);
        t1.__engine$_callback.call$1(pointerData);
      }
    },
    $signature: 91
  };
  A._PointerAdapter_setup_closure3.prototype = {
    call$1($event) {
      var t1 = this.$this,
        device = t1._getPointerId$1($event),
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t2 = t1._sanitizers.$index(0, device);
      t2.toString;
      t2._pressedButtons = 0;
      t1._removePointerIfUnhoverable$1($event);
      t1._convertEventsToPointerData$3$data$details$event(pointerData, new A._SanitizedDetails(B.PointerChange_0, 0), $event);
      t1.__engine$_callback.call$1(pointerData);
    },
    $signature: 91
  };
  A._PointerAdapter_setup_closure4.prototype = {
    call$1($event) {
      this.$this._handleWheelEvent$1($event);
    },
    $signature: 14
  };
  A._TouchAdapter.prototype = {
    _addTouchEventListener$3(target, eventName, handler) {
      this.addEventListener$3(0, target, eventName, new A._TouchAdapter__addTouchEventListener_closure(handler));
    },
    setup$0() {
      var _this = this,
        t1 = _this.glassPaneElement;
      _this._addTouchEventListener$3(t1, "touchstart", new A._TouchAdapter_setup_closure(_this));
      _this._addTouchEventListener$3(t1, "touchmove", new A._TouchAdapter_setup_closure0(_this));
      _this._addTouchEventListener$3(t1, "touchend", new A._TouchAdapter_setup_closure1(_this));
      _this._addTouchEventListener$3(t1, "touchcancel", new A._TouchAdapter_setup_closure2(_this));
    },
    _convertEventToPointerData$5$change$data$pressed$timeStamp$touch(change, data, pressed, timeStamp, touch) {
      var t2, t3, t4, t5, t6,
        t1 = touch.identifier;
      t1.toString;
      t2 = B.JSNumber_methods.round$0(touch.clientX);
      B.JSNumber_methods.round$0(touch.clientY);
      t3 = $.$get$window();
      t4 = t3._debugDevicePixelRatio;
      if (t4 == null)
        t4 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      B.JSNumber_methods.round$0(touch.clientX);
      t5 = B.JSNumber_methods.round$0(touch.clientY);
      t3 = t3._debugDevicePixelRatio;
      if (t3 == null)
        t3 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      t6 = pressed ? 1 : 0;
      this._pointerDataConverter.convert$12$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$timeStamp(data, t6, change, t1, B.PointerDeviceKind_0, t2 * t4, t5 * t3, 1, 1, 0, B.PointerSignalKind_0, timeStamp);
    }
  };
  A._TouchAdapter__addTouchEventListener_closure.prototype = {
    call$1($event) {
      return this.handler.call$1(type$.TouchEvent._as($event));
    },
    $signature: 83
  };
  A._TouchAdapter_setup_closure.prototype = {
    call$1($event) {
      var timeStamp, pointerData, t2, t3, t4, _i, touch, t5,
        t1 = $event.timeStamp;
      t1.toString;
      timeStamp = A._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = A._setArrayType([], type$.JSArray_PointerData);
      for (t1 = $event.changedTouches, t2 = t1.length, t3 = this.$this, t4 = t3._pressedTouches, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        touch = t1[_i];
        t5 = touch.identifier;
        t5.toString;
        if (!t4.contains$1(0, t5)) {
          t5 = touch.identifier;
          t5.toString;
          t4.add$1(0, t5);
          t3._convertEventToPointerData$5$change$data$pressed$timeStamp$touch(B.PointerChange_4, pointerData, true, timeStamp, touch);
        }
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 114
  };
  A._TouchAdapter_setup_closure0.prototype = {
    call$1($event) {
      var t1, timeStamp, pointerData, t2, t3, t4, _i, touch, t5;
      $event.preventDefault();
      t1 = $event.timeStamp;
      t1.toString;
      timeStamp = A._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = A._setArrayType([], type$.JSArray_PointerData);
      for (t1 = $event.changedTouches, t2 = t1.length, t3 = this.$this, t4 = t3._pressedTouches, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        touch = t1[_i];
        t5 = touch.identifier;
        t5.toString;
        if (t4.contains$1(0, t5))
          t3._convertEventToPointerData$5$change$data$pressed$timeStamp$touch(B.PointerChange_5, pointerData, true, timeStamp, touch);
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 114
  };
  A._TouchAdapter_setup_closure1.prototype = {
    call$1($event) {
      var t1, timeStamp, pointerData, t2, t3, t4, _i, touch, t5;
      $event.preventDefault();
      t1 = $event.timeStamp;
      t1.toString;
      timeStamp = A._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = A._setArrayType([], type$.JSArray_PointerData);
      for (t1 = $event.changedTouches, t2 = t1.length, t3 = this.$this, t4 = t3._pressedTouches, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        touch = t1[_i];
        t5 = touch.identifier;
        t5.toString;
        if (t4.contains$1(0, t5)) {
          t5 = touch.identifier;
          t5.toString;
          t4.remove$1(0, t5);
          t3._convertEventToPointerData$5$change$data$pressed$timeStamp$touch(B.PointerChange_6, pointerData, false, timeStamp, touch);
        }
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 114
  };
  A._TouchAdapter_setup_closure2.prototype = {
    call$1($event) {
      var timeStamp, pointerData, t2, t3, t4, _i, touch, t5,
        t1 = $event.timeStamp;
      t1.toString;
      timeStamp = A._BaseAdapter__eventTimeStampToDuration(t1);
      pointerData = A._setArrayType([], type$.JSArray_PointerData);
      for (t1 = $event.changedTouches, t2 = t1.length, t3 = this.$this, t4 = t3._pressedTouches, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        touch = t1[_i];
        t5 = touch.identifier;
        t5.toString;
        if (t4.contains$1(0, t5)) {
          t5 = touch.identifier;
          t5.toString;
          t4.remove$1(0, t5);
          t3._convertEventToPointerData$5$change$data$pressed$timeStamp$touch(B.PointerChange_0, pointerData, false, timeStamp, touch);
        }
      }
      t3.__engine$_callback.call$1(pointerData);
    },
    $signature: 114
  };
  A._MouseAdapter.prototype = {
    _addMouseEventListener$4$useCapture(target, eventName, handler, useCapture) {
      this.addEventListener$4$useCapture(0, target, eventName, new A._MouseAdapter__addMouseEventListener_closure(handler), useCapture);
    },
    _addMouseEventListener$3(target, eventName, handler) {
      return this._addMouseEventListener$4$useCapture(target, eventName, handler, true);
    },
    setup$0() {
      var _this = this,
        t1 = _this.glassPaneElement;
      _this._addMouseEventListener$3(t1, "mousedown", new A._MouseAdapter_setup_closure(_this));
      _this._addMouseEventListener$3(window, "mousemove", new A._MouseAdapter_setup_closure0(_this));
      _this._addMouseEventListener$4$useCapture(t1, "mouseleave", new A._MouseAdapter_setup_closure1(_this), false);
      _this._addMouseEventListener$3(window, "mouseup", new A._MouseAdapter_setup_closure2(_this));
      _this._addWheelEventListener$1(new A._MouseAdapter_setup_closure3(_this));
    },
    _convertEventsToPointerData$3$data$details$event(data, details, $event) {
      var t2, t3, t4, t5,
        t1 = $event.timeStamp;
      t1.toString;
      t1 = A._BaseAdapter__eventTimeStampToDuration(t1);
      t2 = $event.clientX;
      $event.clientY;
      t3 = $.$get$window();
      t4 = t3._debugDevicePixelRatio;
      if (t4 == null)
        t4 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      $event.clientX;
      t5 = $event.clientY;
      t3 = t3._debugDevicePixelRatio;
      if (t3 == null)
        t3 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      this._pointerDataConverter.convert$12$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$timeStamp(data, details.buttons, details.change, -1, B.PointerDeviceKind_1, t2 * t4, t5 * t3, 1, 1, 0, B.PointerSignalKind_0, t1);
    }
  };
  A._MouseAdapter__addMouseEventListener_closure.prototype = {
    call$1($event) {
      return this.handler.call$1(type$.MouseEvent._as($event));
    },
    $signature: 83
  };
  A._MouseAdapter_setup_closure.prototype = {
    call$1($event) {
      var up, t4,
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t1 = this.$this,
        t2 = t1._sanitizer,
        t3 = $event.buttons;
      t3.toString;
      up = t2.sanitizeMissingRightClickUp$1$buttons(t3);
      if (up != null)
        t1._convertEventsToPointerData$3$data$details$event(pointerData, up, $event);
      t3 = $event.button;
      t4 = $event.buttons;
      t4.toString;
      t1._convertEventsToPointerData$3$data$details$event(pointerData, t2.sanitizeDownEvent$2$button$buttons(t3, t4), $event);
      t1.__engine$_callback.call$1(pointerData);
    },
    $signature: 120
  };
  A._MouseAdapter_setup_closure0.prototype = {
    call$1($event) {
      var up,
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t1 = this.$this,
        t2 = t1._sanitizer,
        t3 = $event.buttons;
      t3.toString;
      up = t2.sanitizeMissingRightClickUp$1$buttons(t3);
      if (up != null)
        t1._convertEventsToPointerData$3$data$details$event(pointerData, up, $event);
      t3 = $event.buttons;
      t3.toString;
      t1._convertEventsToPointerData$3$data$details$event(pointerData, t2.sanitizeMoveEvent$1$buttons(t3), $event);
      t1.__engine$_callback.call$1(pointerData);
    },
    $signature: 120
  };
  A._MouseAdapter_setup_closure1.prototype = {
    call$1($event) {
      var details,
        pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t1 = this.$this,
        t2 = $event.buttons;
      t2.toString;
      details = t1._sanitizer.sanitizeLeaveEvent$1$buttons(t2);
      if (details != null) {
        t1._convertEventsToPointerData$3$data$details$event(pointerData, details, $event);
        t1.__engine$_callback.call$1(pointerData);
      }
    },
    $signature: 120
  };
  A._MouseAdapter_setup_closure2.prototype = {
    call$1($event) {
      var pointerData = A._setArrayType([], type$.JSArray_PointerData),
        t1 = this.$this,
        sanitizedDetails = t1._sanitizer.sanitizeUpEvent$1$buttons($event.buttons);
      if (sanitizedDetails != null) {
        t1._convertEventsToPointerData$3$data$details$event(pointerData, sanitizedDetails, $event);
        t1.__engine$_callback.call$1(pointerData);
      }
    },
    $signature: 120
  };
  A._MouseAdapter_setup_closure3.prototype = {
    call$1($event) {
      this.$this._handleWheelEvent$1($event);
    },
    $signature: 14
  };
  A._PointerState.prototype = {};
  A.PointerDataConverter.prototype = {
    _ensureStateForPointer$3(device, x, y) {
      return this._pointers.putIfAbsent$2(0, device, new A.PointerDataConverter__ensureStateForPointer_closure(x, y));
    },
    _generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, distance, distanceMax, kind, obscured, orientation, physicalX, physicalY, platformData, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, scrollDeltaX, scrollDeltaY, signalKind, size, tilt, timeStamp) {
      var t2, t3,
        t1 = this._pointers.$index(0, device);
      t1.toString;
      t2 = t1.x;
      t3 = t1.y;
      t1.x = physicalX;
      t1.y = physicalY;
      t1 = t1._pointer;
      if (t1 == null)
        t1 = 0;
      return A.PointerData$(buttons, change, device, distance, distanceMax, kind, false, orientation, physicalX - t2, physicalY - t3, physicalX, physicalY, platformData, t1, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, scrollDeltaX, scrollDeltaY, signalKind, size, false, tilt, timeStamp);
    },
    _locationHasChanged$3(device, physicalX, physicalY) {
      var t1 = this._pointers.$index(0, device);
      t1.toString;
      return t1.x !== physicalX || t1.y !== physicalY;
    },
    _synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(buttons, change, device, distance, distanceMax, kind, obscured, orientation, physicalX, physicalY, platformData, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, scrollDeltaX, scrollDeltaY, size, tilt, timeStamp) {
      var t2, t3,
        t1 = this._pointers.$index(0, device);
      t1.toString;
      t2 = t1.x;
      t3 = t1.y;
      t1.x = physicalX;
      t1.y = physicalY;
      t1 = t1._pointer;
      if (t1 == null)
        t1 = 0;
      return A.PointerData$(buttons, change, device, distance, distanceMax, kind, false, orientation, physicalX - t2, physicalY - t3, physicalX, physicalY, platformData, t1, pressure, pressureMax, pressureMin, radiusMajor, radiusMax, radiusMin, radiusMinor, scrollDeltaX, scrollDeltaY, B.PointerSignalKind_0, size, true, tilt, timeStamp);
    },
    convert$15$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$tilt$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, scrollDeltaX, scrollDeltaY, signalKind, tilt, timeStamp) {
      var alreadyAdded, t1, t2, _this = this;
      if (signalKind === B.PointerSignalKind_0)
        switch (change.index) {
          case 1:
            _this._ensureStateForPointer$3(device, physicalX, physicalY);
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            break;
          case 3:
            alreadyAdded = _this._pointers.containsKey$1(0, device);
            _this._ensureStateForPointer$3(device, physicalX, physicalY);
            if (!alreadyAdded)
              result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(buttons, B.PointerChange_1, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            _this._activeButtons = buttons;
            break;
          case 4:
            alreadyAdded = _this._pointers.containsKey$1(0, device);
            _this._ensureStateForPointer$3(device, physicalX, physicalY)._pointer = $._PointerState__pointerCount = $._PointerState__pointerCount + 1;
            if (!alreadyAdded)
              result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(buttons, B.PointerChange_1, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
            if (_this._locationHasChanged$3(device, physicalX, physicalY))
              result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(0, B.PointerChange_3, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, 0, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            _this._activeButtons = buttons;
            break;
          case 5:
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            _this._activeButtons = buttons;
            break;
          case 6:
          case 0:
            t1 = _this._pointers;
            t2 = t1.$index(0, device);
            t2.toString;
            if (change === B.PointerChange_0) {
              physicalX = t2.x;
              physicalY = t2.y;
            }
            if (_this._locationHasChanged$3(device, physicalX, physicalY))
              result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(_this._activeButtons, B.PointerChange_5, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            if (kind === B.PointerDeviceKind_0) {
              result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(0, B.PointerChange_2, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, 0, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
              t1.remove$1(0, device);
            }
            break;
          case 2:
            t1 = _this._pointers;
            t2 = t1.$index(0, device);
            t2.toString;
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, t2.x, t2.y, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            t1.remove$1(0, device);
            break;
          case 7:
          case 8:
          case 9:
            break;
        }
      else
        switch (signalKind.index) {
          case 1:
            alreadyAdded = _this._pointers.containsKey$1(0, device);
            _this._ensureStateForPointer$3(device, physicalX, physicalY);
            if (!alreadyAdded)
              result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(buttons, B.PointerChange_1, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
            if (_this._locationHasChanged$3(device, physicalX, physicalY))
              if (buttons !== 0)
                result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(buttons, B.PointerChange_5, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
              else
                result.push(_this._synthesizePointerData$23$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$size$tilt$timeStamp(buttons, B.PointerChange_3, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, 0, tilt, timeStamp));
            result.push(_this._generateCompletePointerData$24$buttons$change$device$distance$distanceMax$kind$obscured$orientation$physicalX$physicalY$platformData$pressure$pressureMax$pressureMin$radiusMajor$radiusMax$radiusMin$radiusMinor$scrollDeltaX$scrollDeltaY$signalKind$size$tilt$timeStamp(buttons, change, device, 0, 0, kind, false, 0, physicalX, physicalY, 0, pressure, pressureMax, pressureMin, 0, 0, 0, 0, scrollDeltaX, scrollDeltaY, signalKind, 0, tilt, timeStamp));
            break;
          case 0:
            break;
          case 2:
            break;
        }
    },
    convert$14$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, scrollDeltaX, scrollDeltaY, signalKind, timeStamp) {
      return this.convert$15$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$tilt$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, scrollDeltaX, scrollDeltaY, signalKind, 0, timeStamp);
    },
    convert$12$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, signalKind, timeStamp) {
      return this.convert$15$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$tilt$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, 0, 0, signalKind, 0, timeStamp);
    },
    convert$13$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$tilt$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, signalKind, tilt, timeStamp) {
      return this.convert$15$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$tilt$timeStamp(result, buttons, change, device, kind, physicalX, physicalY, pressure, pressureMax, pressureMin, 0, 0, signalKind, tilt, timeStamp);
    }
  };
  A.PointerDataConverter__ensureStateForPointer_closure.prototype = {
    call$0() {
      return new A._PointerState(this.x, this.y);
    },
    $signature: 915
  };
  A.Profiler.prototype = {};
  A.JsPromise.prototype = {};
  A.ImageDecoder.prototype = {};
  A.ImageDecoderOptions.prototype = {};
  A.DecodeResult.prototype = {};
  A.DecodeOptions.prototype = {};
  A.VideoFrame.prototype = {};
  A.ImageTrackList.prototype = {};
  A.ImageTrack.prototype = {};
  A.GlProgram.prototype = {};
  A.GlContext.prototype = {
    drawImage$3(_, context, left, $top) {
      var t1 = this.__engine$_canvas,
        t2 = this._widthInPixels,
        t3 = this._heightInPixels;
      A.callMethod(context, "drawImage", [t1, 0, 0, t2, t3, left, $top, t2, t3]);
    },
    compileShader$2(_, shaderType, source) {
      var t2,
        t1 = this.glContext,
        shader = t1.createShader(t1[shaderType]);
      if (shader == null)
        throw A.wrapException(A.Exception_Exception(A._callMethodUnchecked0(t1, "getError")));
      A.callMethod(t1, "shaderSource", [shader, source]);
      A.callMethod(t1, "compileShader", [shader]);
      t2 = this._kCompileStatus;
      if (!A.callMethod(t1, "getShaderParameter", [shader, t2 == null ? this._kCompileStatus = t1.COMPILE_STATUS : t2]))
        throw A.wrapException(A.Exception_Exception("Shader compilation failed: " + A.S(A.callMethod(t1, "getShaderInfoLog", [shader]))));
      return shader;
    },
    get$kArrayBuffer() {
      var t1 = this._kArrayBuffer;
      return t1 == null ? this._kArrayBuffer = this.glContext.ARRAY_BUFFER : t1;
    },
    get$kElementArrayBuffer() {
      var t1 = this._kElementArrayBuffer;
      return t1 == null ? this._kElementArrayBuffer = this.glContext.ELEMENT_ARRAY_BUFFER : t1;
    },
    get$kStaticDraw() {
      var t1 = this._kStaticDraw;
      return t1 == null ? this._kStaticDraw = this.glContext.STATIC_DRAW : t1;
    },
    get$kColorBufferBit() {
      var t1 = this._kColorBufferBit;
      return t1 == null ? this._kColorBufferBit = this.glContext.COLOR_BUFFER_BIT : t1;
    },
    getUniformLocation$2(_, program, uniformName) {
      var res = A.callMethod(this.glContext, "getUniformLocation", [program, uniformName]);
      if (res == null)
        throw A.wrapException(A.Exception_Exception(uniformName + " not found"));
      else
        return res;
    },
    readPatternData$1(isOpaque) {
      var canvas, _this = this,
        t1 = "transferToImageBitmap" in _this.__engine$_canvas && isOpaque;
      if (t1) {
        _this.__engine$_canvas.getContext("webgl2");
        return _this.__engine$_canvas.transferToImageBitmap();
      } else {
        t1 = _this._widthInPixels;
        canvas = A.CanvasElement_CanvasElement(_this._heightInPixels, t1);
        _this.drawImage$3(0, canvas.getContext("2d"), 0, 0);
        return canvas;
      }
    }
  };
  A.OffScreenCanvas.prototype = {
    _updateCanvasCssSize$1(element) {
      var t1 = this.width,
        t2 = A.EnginePlatformDispatcher_browserDevicePixelRatio(),
        t3 = this.height,
        t4 = A.EnginePlatformDispatcher_browserDevicePixelRatio(),
        t5 = element.style;
      t5.position = "absolute";
      t5.width = A.S(t1 / t2) + "px";
      t5.height = A.S(t3 / t4) + "px";
    }
  };
  A.AccessibilityAnnouncements.prototype = {
    AccessibilityAnnouncements$_$0() {
      $._hotRestartListeners.push(new A.AccessibilityAnnouncements$__closure(this));
    },
    get$_domElement() {
      var liveRegion,
        t1 = this.__engine$_element;
      if (t1 == null) {
        liveRegion = document.createElement("label");
        liveRegion.setAttribute("id", "accessibility-element");
        t1 = liveRegion.style;
        t1.position = "fixed";
        t1.overflow = "hidden";
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), "translate(-99999px, -99999px)", "");
        t1.width = "1px";
        t1.height = "1px";
        this.__engine$_element = liveRegion;
        t1 = liveRegion;
      }
      return t1;
    },
    handleMessage$2(codec, data) {
      var _this = this,
        t1 = type$.Map_dynamic_dynamic,
        message = A._asStringQ(J.$index$asx(t1._as(J.$index$asx(t1._as(codec.decodeMessage$1(data)), "data")), "message"));
      if (message != null && message.length !== 0) {
        _this.get$_domElement().setAttribute("aria-live", "polite");
        _this.get$_domElement().textContent = message;
        t1 = document.body;
        t1.toString;
        t1.appendChild(_this.get$_domElement());
        _this._removeElementTimer = A.Timer_Timer(B.Duration_5000000, new A.AccessibilityAnnouncements_handleMessage_closure(_this));
      }
    }
  };
  A.AccessibilityAnnouncements$__closure.prototype = {
    call$0() {
      var t1 = this.$this._removeElementTimer;
      if (t1 != null)
        t1.cancel$0(0);
    },
    $signature: 0
  };
  A.AccessibilityAnnouncements_handleMessage_closure.prototype = {
    call$0() {
      var t1 = this.$this.__engine$_element;
      t1.toString;
      B.LabelElement_methods.remove$0(t1);
    },
    $signature: 0
  };
  A._CheckableKind.prototype = {
    toString$0(_) {
      return "_CheckableKind." + this._core$_name;
    }
  };
  A.Checkable.prototype = {
    update$0(_) {
      var element, t2, _s4_ = "true",
        t1 = this.semanticsObject;
      if ((t1._dirtyFields & 1) !== 0) {
        switch (this.__engine$_kind.index) {
          case 0:
            t1.setAriaRole$2("checkbox", true);
            break;
          case 1:
            t1.setAriaRole$2("radio", true);
            break;
          case 2:
            t1.setAriaRole$2("switch", true);
            break;
        }
        if (t1.enabledState$0() === B.EnabledState_2) {
          element = t1.element;
          element.setAttribute("aria-disabled", _s4_);
          element.setAttribute("disabled", _s4_);
        } else
          this._removeDisabledAttribute$0();
        t2 = t1.__engine$_flags;
        t2 = (t2 & 2) !== 0 || (t2 & 131072) !== 0 ? _s4_ : "false";
        t1.element.setAttribute("aria-checked", t2);
      }
    },
    dispose$0() {
      var _this = this;
      switch (_this.__engine$_kind.index) {
        case 0:
          _this.semanticsObject.setAriaRole$2("checkbox", false);
          break;
        case 1:
          _this.semanticsObject.setAriaRole$2("radio", false);
          break;
        case 2:
          _this.semanticsObject.setAriaRole$2("switch", false);
          break;
      }
      _this._removeDisabledAttribute$0();
    },
    _removeDisabledAttribute$0() {
      var element = this.semanticsObject.element;
      element.removeAttribute("aria-disabled");
      element.removeAttribute("disabled");
    }
  };
  A.ImageRoleManager.prototype = {
    update$0(_) {
      var t2, t3, t4, _this = this,
        t1 = _this.semanticsObject;
      if (t1.get$isVisualOnly()) {
        t2 = t1.__engine$_childrenInTraversalOrder;
        t2 = t2 != null && !B.NativeInt32List_methods.get$isEmpty(t2);
      } else
        t2 = false;
      if (t2) {
        if (_this._auxiliaryImageElement == null) {
          _this._auxiliaryImageElement = A._ElementFactoryProvider_createElement_tag("flt-semantics-img", null);
          t2 = t1.__engine$_childrenInTraversalOrder;
          if (t2 != null && !B.NativeInt32List_methods.get$isEmpty(t2)) {
            t2 = _this._auxiliaryImageElement.style;
            t2.position = "absolute";
            t2.top = "0";
            t2.left = "0";
            t3 = t1.__engine$_rect;
            t4 = t3.right;
            t3 = t3.left;
            t2.width = A.S(t4 - t3) + "px";
            t3 = t1.__engine$_rect;
            t4 = t3.bottom;
            t3 = t3.top;
            t2.height = A.S(t4 - t3) + "px";
          }
          t2 = _this._auxiliaryImageElement.style;
          t2.fontSize = "6px";
          t2 = _this._auxiliaryImageElement;
          t2.toString;
          t1.element.appendChild(t2);
        }
        _this._auxiliaryImageElement.setAttribute("role", "img");
        _this._setLabel$1(_this._auxiliaryImageElement);
      } else if (t1.get$isVisualOnly()) {
        t1.setAriaRole$2("img", true);
        _this._setLabel$1(t1.element);
        _this._cleanUpAuxiliaryElement$0();
      } else {
        _this._cleanUpAuxiliaryElement$0();
        _this._cleanupElement$0();
      }
    },
    _setLabel$1(element) {
      var t1 = this.semanticsObject._label;
      if (t1 != null && t1.length !== 0) {
        element.toString;
        t1.toString;
        element.setAttribute("aria-label", t1);
      }
    },
    _cleanUpAuxiliaryElement$0() {
      var t1 = this._auxiliaryImageElement;
      if (t1 != null) {
        J.remove$0$ax(t1);
        this._auxiliaryImageElement = null;
      }
    },
    _cleanupElement$0() {
      var t1 = this.semanticsObject;
      t1.setAriaRole$2("img", false);
      t1.element.removeAttribute("aria-label");
    },
    dispose$0() {
      this._cleanUpAuxiliaryElement$0();
      this._cleanupElement$0();
    }
  };
  A.Incrementable.prototype = {
    Incrementable$1(semanticsObject) {
      var _this = this,
        t1 = _this.__engine$_element;
      semanticsObject.element.appendChild(t1);
      t1.type = "range";
      t1.setAttribute("role", "slider");
      B.InputElement_methods.addEventListener$2(t1, "change", new A.Incrementable_closure(_this, semanticsObject));
      t1 = new A.Incrementable_closure0(_this);
      _this._gestureModeListener = t1;
      semanticsObject.owner._gestureModeListeners.push(t1);
    },
    update$0(_) {
      var _this = this;
      switch (_this.semanticsObject.owner._gestureMode.index) {
        case 1:
          _this._enableBrowserGestureHandling$0();
          _this._updateInputValues$0();
          break;
        case 0:
          _this._disableBrowserGestureHandling$0();
          break;
      }
    },
    _enableBrowserGestureHandling$0() {
      var t1 = this.__engine$_element,
        t2 = t1.disabled;
      t2.toString;
      if (!t2)
        return;
      t1.disabled = false;
    },
    _updateInputValues$0() {
      var t1, updateNeeded, surrogateTextValue, t2, t3, surrogateMaxTextValue, surrogateMinTextValue, _this = this;
      if (!_this._pendingResync) {
        t1 = _this.semanticsObject._dirtyFields;
        updateNeeded = (t1 & 4096) !== 0 || (t1 & 8192) !== 0 || (t1 & 16384) !== 0;
      } else
        updateNeeded = true;
      if (!updateNeeded)
        return;
      _this._pendingResync = false;
      surrogateTextValue = "" + _this._currentSurrogateValue;
      t1 = _this.__engine$_element;
      t1.value = surrogateTextValue;
      t1.setAttribute("aria-valuenow", surrogateTextValue);
      t2 = _this.semanticsObject;
      t3 = t2.__engine$_value;
      t3.toString;
      t1.setAttribute("aria-valuetext", t3);
      surrogateMaxTextValue = t2._increasedValue.length !== 0 ? "" + (_this._currentSurrogateValue + 1) : surrogateTextValue;
      t1.max = surrogateMaxTextValue;
      t1.setAttribute("aria-valuemax", surrogateMaxTextValue);
      surrogateMinTextValue = t2._decreasedValue.length !== 0 ? "" + (_this._currentSurrogateValue - 1) : surrogateTextValue;
      t1.min = surrogateMinTextValue;
      t1.setAttribute("aria-valuemin", surrogateMinTextValue);
    },
    _disableBrowserGestureHandling$0() {
      var t1 = this.__engine$_element,
        t2 = t1.disabled;
      t2.toString;
      if (t2)
        return;
      t1.disabled = true;
    },
    dispose$0() {
      var _this = this;
      B.JSArray_methods.remove$1(_this.semanticsObject.owner._gestureModeListeners, _this._gestureModeListener);
      _this._gestureModeListener = null;
      _this._disableBrowserGestureHandling$0();
      B.InputElement_methods.remove$0(_this.__engine$_element);
    }
  };
  A.Incrementable_closure.prototype = {
    call$1(_) {
      var newInputValue,
        t1 = this.$this,
        t2 = t1.__engine$_element,
        t3 = t2.disabled;
      t3.toString;
      if (t3)
        return;
      t1._pendingResync = true;
      t2 = t2.value;
      t2.toString;
      newInputValue = A.int_parse(t2, null);
      t2 = t1._currentSurrogateValue;
      if (newInputValue > t2) {
        t1._currentSurrogateValue = t2 + 1;
        t1 = $.$get$EnginePlatformDispatcher__instance();
        A.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, this.semanticsObject.id, B.SemanticsAction_64, null);
      } else if (newInputValue < t2) {
        t1._currentSurrogateValue = t2 - 1;
        t1 = $.$get$EnginePlatformDispatcher__instance();
        A.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, this.semanticsObject.id, B.SemanticsAction_128, null);
      }
    },
    $signature: 14
  };
  A.Incrementable_closure0.prototype = {
    call$1(mode) {
      this.$this.update$0(0);
    },
    $signature: 252
  };
  A.LabelAndValue.prototype = {
    update$0(_) {
      var t5, shouldDisplayValue, t6, _this = this,
        t1 = _this.semanticsObject,
        t2 = t1.__engine$_value,
        hasValue = t2 != null && t2.length !== 0,
        t3 = t1._label,
        hasLabel = t3 != null && t3.length !== 0,
        t4 = t1.__engine$_tooltip,
        hasTooltip = t4 != null && t4.length !== 0;
      if (hasValue) {
        t5 = t1.__engine$_actions;
        t5.toString;
        shouldDisplayValue = !((t5 & 64) !== 0 || (t5 & 128) !== 0);
      } else
        shouldDisplayValue = false;
      t5 = !hasLabel;
      if (t5 && !shouldDisplayValue && !hasTooltip) {
        _this._cleanUpDom$0();
        return;
      }
      if (hasTooltip) {
        t4 = "" + A.S(t4);
        if (!t5 || shouldDisplayValue)
          t4 += "\n";
      } else
        t4 = "";
      if (hasLabel) {
        t3 = t4 + A.S(t3);
        if (shouldDisplayValue)
          t3 += " ";
      } else
        t3 = t4;
      t2 = shouldDisplayValue ? t3 + A.S(t2) : t3;
      t3 = t1.element;
      t2 = t2.charCodeAt(0) == 0 ? t2 : t2;
      t3.setAttribute("aria-label", t2);
      if ((t1.__engine$_flags & 512) !== 0)
        t1.setAriaRole$2("heading", true);
      if (_this._auxiliaryValueElement == null) {
        _this._auxiliaryValueElement = A._ElementFactoryProvider_createElement_tag("flt-semantics-value", null);
        t4 = t1.__engine$_childrenInTraversalOrder;
        if (t4 != null && !B.NativeInt32List_methods.get$isEmpty(t4)) {
          t4 = _this._auxiliaryValueElement.style;
          t4.position = "absolute";
          t4.top = "0";
          t4.left = "0";
          t5 = t1.__engine$_rect;
          t6 = t5.right;
          t5 = t5.left;
          t4.width = A.S(t6 - t5) + "px";
          t1 = t1.__engine$_rect;
          t5 = t1.bottom;
          t1 = t1.top;
          t4.height = A.S(t5 - t1) + "px";
        }
        t1 = _this._auxiliaryValueElement.style;
        t4 = $._configuration;
        t4 = (t4 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t4).get$debugShowSemanticsNodes() ? "12px" : "6px";
        t1.fontSize = t4;
        t1 = _this._auxiliaryValueElement;
        t1.toString;
        t3.appendChild(t1);
      }
      _this._auxiliaryValueElement.textContent = t2;
    },
    _cleanUpDom$0() {
      var t1 = this._auxiliaryValueElement;
      if (t1 != null) {
        J.remove$0$ax(t1);
        this._auxiliaryValueElement = null;
      }
      t1 = this.semanticsObject;
      t1.element.removeAttribute("aria-label");
      t1.setAriaRole$2("heading", false);
    },
    dispose$0() {
      this._cleanUpDom$0();
    }
  };
  A.LiveRegion.prototype = {
    update$0(_) {
      var t1 = this.semanticsObject,
        t2 = t1._label;
      t2 = t2 != null && t2.length !== 0;
      t1 = t1.element;
      if (t2)
        t1.setAttribute("aria-live", "polite");
      else
        t1.removeAttribute("aria-live");
    },
    dispose$0() {
      this.semanticsObject.element.removeAttribute("aria-live");
    }
  };
  A.Scrollable.prototype = {
    _recomputeScrollPosition$0() {
      var t1, t2, t3, semanticsId, _this = this, _null = null;
      if (_this.get$_domScrollPosition() !== _this._effectiveNeutralScrollPosition) {
        t1 = _this.semanticsObject;
        if (!t1.owner.shouldAcceptBrowserGesture$1("scroll"))
          return;
        t2 = _this.get$_domScrollPosition();
        t3 = _this._effectiveNeutralScrollPosition;
        _this._neutralizeDomScrollPosition$0();
        t1.recomputePositionAndSize$0();
        semanticsId = t1.id;
        if (t2 > t3) {
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            A.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, B.SemanticsAction_16, _null);
          } else {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            A.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, B.SemanticsAction_4, _null);
          }
        } else {
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            A.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, B.SemanticsAction_32, _null);
          } else {
            t1 = $.$get$EnginePlatformDispatcher__instance();
            A.invoke3(t1._onSemanticsAction, t1._onSemanticsActionZone, semanticsId, B.SemanticsAction_8, _null);
          }
        }
      }
    },
    update$0(_) {
      var t1, t2, t3, _this = this;
      if (_this._scrollListener == null) {
        t1 = _this.semanticsObject;
        t2 = t1.element;
        t3 = t2.style;
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t3, B.CssStyleDeclaration_methods._browserPropertyName$1(t3, "touch-action"), "none", "");
        _this._gestureModeDidChange$0();
        t1 = t1.owner;
        t1._oneTimePostUpdateCallbacks.push(new A.Scrollable_update_closure(_this));
        t3 = new A.Scrollable_update_closure0(_this);
        _this._gestureModeListener = t3;
        t1._gestureModeListeners.push(t3);
        t3 = new A.Scrollable_update_closure1(_this);
        _this._scrollListener = t3;
        J.addEventListener$2$x(t2, "scroll", t3);
      }
    },
    get$_domScrollPosition() {
      var t1 = this.semanticsObject,
        t2 = t1.__engine$_actions;
      t2.toString;
      t2 = (t2 & 32) !== 0 || (t2 & 16) !== 0;
      t1 = t1.element;
      if (t2)
        return B.JSNumber_methods.round$0(t1.scrollTop);
      else
        return B.JSNumber_methods.round$0(t1.scrollLeft);
    },
    _neutralizeDomScrollPosition$0() {
      var t1 = this.semanticsObject,
        element = t1.element,
        t2 = t1.__engine$_actions;
      t2.toString;
      if ((t2 & 32) !== 0 || (t2 & 16) !== 0) {
        element.scrollTop = 10;
        t1.verticalContainerAdjustment = this._effectiveNeutralScrollPosition = B.JSNumber_methods.round$0(element.scrollTop);
        t1.horizontalContainerAdjustment = 0;
      } else {
        element.scrollLeft = 10;
        t2 = B.JSNumber_methods.round$0(element.scrollLeft);
        this._effectiveNeutralScrollPosition = t2;
        t1.verticalContainerAdjustment = 0;
        t1.horizontalContainerAdjustment = t2;
      }
    },
    _gestureModeDidChange$0() {
      var _s10_ = "overflow-y",
        _s10_0 = "overflow-x",
        t1 = this.semanticsObject,
        element = t1.element;
      switch (t1.owner._gestureMode.index) {
        case 1:
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = element.style;
            B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_), "scroll", "");
          } else {
            t1 = element.style;
            B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_0), "scroll", "");
          }
          break;
        case 0:
          t1 = t1.__engine$_actions;
          t1.toString;
          if ((t1 & 32) !== 0 || (t1 & 16) !== 0) {
            t1 = element.style;
            B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_), "hidden", "");
          } else {
            t1 = element.style;
            B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, _s10_0), "hidden", "");
          }
          break;
      }
    },
    dispose$0() {
      var t3, _this = this,
        t1 = _this.semanticsObject,
        t2 = t1.element,
        style = t2.style;
      style.removeProperty("overflowY");
      style.removeProperty("overflowX");
      style.removeProperty("touch-action");
      t3 = _this._scrollListener;
      if (t3 != null)
        J.removeEventListener$2$x(t2, "scroll", t3);
      B.JSArray_methods.remove$1(t1.owner._gestureModeListeners, _this._gestureModeListener);
      _this._gestureModeListener = null;
    }
  };
  A.Scrollable_update_closure.prototype = {
    call$0() {
      this.$this._neutralizeDomScrollPosition$0();
    },
    $signature: 0
  };
  A.Scrollable_update_closure0.prototype = {
    call$1(_) {
      this.$this._gestureModeDidChange$0();
    },
    $signature: 252
  };
  A.Scrollable_update_closure1.prototype = {
    call$1(_) {
      this.$this._recomputeScrollPosition$0();
    },
    $signature: 14
  };
  A.EngineAccessibilityFeatures.prototype = {
    toString$0(_) {
      var features = A._setArrayType([], type$.JSArray_String),
        t1 = this.__engine$_index;
      if ((t1 & 1) !== 0)
        features.push("accessibleNavigation");
      if ((t1 & 2) !== 0)
        features.push("invertColors");
      if ((t1 & 4) !== 0)
        features.push("disableAnimations");
      if ((t1 & 8) !== 0)
        features.push("boldText");
      if ((t1 & 16) !== 0)
        features.push("reduceMotion");
      if ((t1 & 32) !== 0)
        features.push("highContrast");
      if ((t1 & 64) !== 0)
        features.push("onOffSwitchLabels");
      return "AccessibilityFeatures" + A.S(features);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.EngineAccessibilityFeatures && other.__engine$_index === this.__engine$_index;
    },
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this.__engine$_index);
    }
  };
  A.SemanticsUpdate.prototype = {};
  A.SemanticsNodeUpdate.prototype = {};
  A.Role.prototype = {
    toString$0(_) {
      return "Role." + this._core$_name;
    }
  };
  A._roleFactories_closure.prototype = {
    call$1(object) {
      return A.Incrementable$(object);
    },
    $signature: 961
  };
  A._roleFactories_closure0.prototype = {
    call$1(object) {
      return new A.Scrollable(object);
    },
    $signature: 984
  };
  A._roleFactories_closure1.prototype = {
    call$1(object) {
      return new A.LabelAndValue(object);
    },
    $signature: 1060
  };
  A._roleFactories_closure2.prototype = {
    call$1(object) {
      return new A.Tappable(object);
    },
    $signature: 1084
  };
  A._roleFactories_closure3.prototype = {
    call$1(object) {
      var t3, t4, t5,
        t1 = new A.TextField(object),
        t2 = (object.__engine$_flags & 524288) !== 0 ? document.createElement("textarea") : A.InputElement_InputElement(null);
      t1.__TextField_editableElement = t2;
      t2.spellcheck = false;
      t2.setAttribute("autocorrect", "off");
      t2.setAttribute("autocomplete", "off");
      t2.setAttribute("data-semantics-role", "text-field");
      t3 = t2.style;
      t3.position = "absolute";
      t3.top = "0";
      t3.left = "0";
      t4 = object.__engine$_rect;
      t5 = t4.right;
      t4 = t4.left;
      t3.width = A.S(t5 - t4) + "px";
      t4 = object.__engine$_rect;
      t5 = t4.bottom;
      t4 = t4.top;
      t3.height = A.S(t5 - t4) + "px";
      object.element.appendChild(t2);
      t2 = $.$get$_browserEngine();
      switch (t2.index) {
        case 0:
        case 5:
        case 3:
        case 4:
        case 2:
        case 6:
          t1._initializeForBlink$0();
          break;
        case 1:
          t1._initializeForWebkit$0();
          break;
      }
      return t1;
    },
    $signature: 1086
  };
  A._roleFactories_closure4.prototype = {
    call$1(object) {
      return new A.Checkable(A._checkableKindFromSemanticsFlag(object), object);
    },
    $signature: 1087
  };
  A._roleFactories_closure5.prototype = {
    call$1(object) {
      return new A.ImageRoleManager(object);
    },
    $signature: 1095
  };
  A._roleFactories_closure6.prototype = {
    call$1(object) {
      return new A.LiveRegion(object);
    },
    $signature: 1098
  };
  A.RoleManager.prototype = {};
  A.SemanticsObject.prototype = {
    getOrCreateChildContainer$0() {
      var t1, _this = this;
      if (_this._childContainerElement == null) {
        t1 = A._ElementFactoryProvider_createElement_tag("flt-semantics-container", null);
        _this._childContainerElement = t1;
        t1 = t1.style;
        t1.position = "absolute";
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "pointer-events"), "none", "");
        t1 = _this._childContainerElement;
        t1.toString;
        _this.element.appendChild(t1);
      }
      return _this._childContainerElement;
    },
    get$isVisualOnly() {
      var t2,
        t1 = this.__engine$_flags;
      if ((t1 & 16384) !== 0) {
        t2 = this.__engine$_actions;
        t2.toString;
        t1 = (t2 & 1) === 0 && (t1 & 8) === 0;
      } else
        t1 = false;
      return t1;
    },
    enabledState$0() {
      var t1 = this.__engine$_flags;
      if ((t1 & 64) !== 0)
        if ((t1 & 128) !== 0)
          return B.EnabledState_1;
        else
          return B.EnabledState_2;
      else
        return B.EnabledState_0;
    },
    updateChildren$0() {
      var t1, len, t2, i, object, childCount, containerElement, childrenInRenderOrder, t3, t4, previousChildrenInRenderOrder, _i, child, previousCount, intersectionIndicesOld, minLength, newIndex, oldIndex, longestSequence, stationaryIds, refNode, _this = this,
        childrenInHitTestOrder = _this._childrenInHitTestOrder;
      if (childrenInHitTestOrder == null || childrenInHitTestOrder.length === 0) {
        t1 = _this._currentChildrenInRenderOrder;
        if (t1 == null || t1.length === 0) {
          _this._currentChildrenInRenderOrder = null;
          return;
        }
        len = t1.length;
        for (t1 = _this.owner, t2 = t1._semanticsTree, i = 0; i < len; ++i) {
          object = t2.$index(0, _this._currentChildrenInRenderOrder[i].id);
          t1._detachments.push(object);
        }
        t1 = _this._childContainerElement;
        t1.toString;
        J.remove$0$ax(t1);
        _this._currentChildrenInRenderOrder = _this._childContainerElement = null;
        return;
      }
      t1 = _this.__engine$_childrenInTraversalOrder;
      t1.toString;
      childCount = childrenInHitTestOrder.length;
      containerElement = _this.getOrCreateChildContainer$0();
      childrenInRenderOrder = A._setArrayType([], type$.JSArray_SemanticsObject);
      for (t2 = _this.owner, t3 = t2._semanticsTree, i = 0; i < childCount; ++i) {
        t4 = t3.$index(0, t1[i]);
        t4.toString;
        childrenInRenderOrder.push(t4);
      }
      if (childCount > 1)
        for (i = 0; i < childCount; ++i) {
          t1 = t3.$index(0, childrenInHitTestOrder[i]).element.style;
          t1.zIndex = "" + (childCount - i);
        }
      previousChildrenInRenderOrder = _this._currentChildrenInRenderOrder;
      if (previousChildrenInRenderOrder == null || previousChildrenInRenderOrder.length === 0) {
        for (t1 = childrenInRenderOrder.length, _i = 0; _i < childrenInRenderOrder.length; childrenInRenderOrder.length === t1 || (0, A.throwConcurrentModificationError)(childrenInRenderOrder), ++_i) {
          child = childrenInRenderOrder[_i];
          containerElement.appendChild(child.element);
          child.__engine$_parent = _this;
          t2._attachments.$indexSet(0, child.id, _this);
        }
        _this._currentChildrenInRenderOrder = childrenInRenderOrder;
        return;
      }
      previousCount = previousChildrenInRenderOrder.length;
      t1 = type$.JSArray_int;
      intersectionIndicesOld = A._setArrayType([], t1);
      minLength = Math.min(previousCount, childCount);
      newIndex = 0;
      while (true) {
        if (!(newIndex < minLength && previousChildrenInRenderOrder[newIndex] === childrenInRenderOrder[newIndex]))
          break;
        intersectionIndicesOld.push(newIndex);
        ++newIndex;
      }
      if (previousCount === childrenInRenderOrder.length && newIndex === childCount)
        return;
      for (; newIndex < childCount;) {
        for (oldIndex = 0; oldIndex < previousCount; ++oldIndex)
          if (previousChildrenInRenderOrder[oldIndex] === childrenInRenderOrder[newIndex]) {
            intersectionIndicesOld.push(oldIndex);
            break;
          }
        ++newIndex;
      }
      longestSequence = A.longestIncreasingSubsequence(intersectionIndicesOld);
      stationaryIds = A._setArrayType([], t1);
      for (t1 = longestSequence.length, i = 0; i < t1; ++i)
        stationaryIds.push(previousChildrenInRenderOrder[intersectionIndicesOld[longestSequence[i]]].id);
      for (i = 0; i < previousCount; ++i)
        if (!B.JSArray_methods.contains$1(intersectionIndicesOld, i)) {
          object = t3.$index(0, previousChildrenInRenderOrder[i].id);
          t2._detachments.push(object);
        }
      for (i = childCount - 1, refNode = null; i >= 0; --i) {
        child = childrenInRenderOrder[i];
        t1 = child.id;
        if (!B.JSArray_methods.contains$1(stationaryIds, t1)) {
          t3 = child.element;
          if (refNode == null)
            containerElement.appendChild(t3);
          else
            containerElement.insertBefore(t3, refNode);
          child.__engine$_parent = _this;
          t2._attachments.$indexSet(0, t1, _this);
        }
        refNode = child.element;
      }
      _this._currentChildrenInRenderOrder = childrenInRenderOrder;
    },
    setAriaRole$2(ariaRoleName, condition) {
      var t1;
      if (condition)
        this.element.setAttribute("role", ariaRoleName);
      else {
        t1 = this.element;
        if (t1.getAttribute("role") === ariaRoleName)
          t1.removeAttribute("role");
      }
    },
    _updateRole$2(role, enabled) {
      var t1 = this._roleManagers,
        manager = t1.$index(0, role);
      if (enabled) {
        if (manager == null) {
          manager = $.$get$_roleFactories().$index(0, role).call$1(this);
          t1.$indexSet(0, role, manager);
        }
        manager.update$0(0);
      } else if (manager != null) {
        manager.dispose$0();
        t1.remove$1(0, role);
      }
    },
    recomputePositionAndSize$0() {
      var containerElement, hasZeroRectOffset, transform, hasIdentityTransform, effectiveTransform, left, $top, effectiveTransformIsIdentity, t5, _this = this,
        t1 = _this.element,
        t2 = t1.style,
        t3 = _this.__engine$_rect,
        t4 = t3.right;
      t3 = t3.left;
      t2.width = A.S(t4 - t3) + "px";
      t3 = _this.__engine$_rect;
      t4 = t3.bottom;
      t3 = t3.top;
      t2.height = A.S(t4 - t3) + "px";
      t2 = _this.__engine$_childrenInTraversalOrder;
      containerElement = t2 != null && !B.NativeInt32List_methods.get$isEmpty(t2) ? _this.getOrCreateChildContainer$0() : null;
      t2 = _this.__engine$_rect;
      hasZeroRectOffset = t2.top === 0 && t2.left === 0;
      transform = _this.__engine$_transform;
      t2 = transform == null;
      hasIdentityTransform = t2 || A.transformKindOf(transform) === B.TransformKind_0;
      if (hasZeroRectOffset && hasIdentityTransform && _this.verticalContainerAdjustment === 0 && _this.horizontalContainerAdjustment === 0) {
        A.SemanticsObject__clearSemanticElementTransform(t1);
        if (containerElement != null)
          A.SemanticsObject__clearSemanticElementTransform(containerElement);
        return;
      }
      effectiveTransform = A._Cell$named("effectiveTransform");
      if (!hasZeroRectOffset)
        if (t2) {
          t2 = _this.__engine$_rect;
          left = t2.left;
          $top = t2.top;
          t2 = A.Matrix4$identity();
          t2.setTranslationRaw$3(left, $top, 0);
          effectiveTransform.__late_helper$_value = t2;
          effectiveTransformIsIdentity = left === 0 && $top === 0;
        } else {
          t2 = new A.Matrix40(new Float32Array(16));
          t2.setFrom$1(new A.Matrix40(transform));
          t3 = _this.__engine$_rect;
          t2.translate$3(0, t3.left, t3.top, 0);
          effectiveTransform.__late_helper$_value = t2;
          effectiveTransformIsIdentity = J.isIdentity$0$z(effectiveTransform._readLocal$0());
        }
      else if (!hasIdentityTransform) {
        effectiveTransform.__late_helper$_value = new A.Matrix40(transform);
        effectiveTransformIsIdentity = false;
      } else
        effectiveTransformIsIdentity = true;
      if (!effectiveTransformIsIdentity) {
        t1 = t1.style;
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform-origin"), "0 0 0", "");
        t2 = A.float64ListToCssTransform(effectiveTransform._readLocal$0().__engine$_m4storage);
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), t2, "");
      } else
        A.SemanticsObject__clearSemanticElementTransform(t1);
      if (containerElement != null)
        if (!hasZeroRectOffset || _this.verticalContainerAdjustment !== 0 || _this.horizontalContainerAdjustment !== 0) {
          t1 = _this.__engine$_rect;
          t2 = t1.left;
          t3 = _this.horizontalContainerAdjustment;
          t1 = t1.top;
          t4 = _this.verticalContainerAdjustment;
          t5 = containerElement.style;
          t5.top = A.S(-t1 + t4) + "px";
          t5.left = A.S(-t2 + t3) + "px";
        } else
          A.SemanticsObject__clearSemanticElementTransform(containerElement);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.AccessibilityMode.prototype = {
    toString$0(_) {
      return "AccessibilityMode." + this._core$_name;
    }
  };
  A.GestureMode.prototype = {
    toString$0(_) {
      return "GestureMode." + this._core$_name;
    }
  };
  A.EngineSemanticsOwner.prototype = {
    EngineSemanticsOwner$_$0() {
      $._hotRestartListeners.push(new A.EngineSemanticsOwner$__closure(this));
    },
    _finalizeTree$0() {
      var t1, t2, t3, _i, object, t4, t5, _this = this;
      for (t1 = _this._detachments, t2 = t1.length, t3 = _this._semanticsTree, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        object = t1[_i];
        t4 = _this._attachments;
        t5 = object.id;
        if (t4.$index(0, t5) == null) {
          t3.remove$1(0, t5);
          object.__engine$_parent = null;
          t4 = object.element;
          t5 = t4.parentNode;
          if (t5 != null)
            t5.removeChild(t4);
        }
      }
      _this._detachments = A._setArrayType([], type$.JSArray_nullable_SemanticsObject);
      _this._attachments = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_int, type$.SemanticsObject);
      t1 = _this._oneTimePostUpdateCallbacks;
      t2 = t1.length;
      if (t2 !== 0) {
        for (_i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].call$0();
        _this._oneTimePostUpdateCallbacks = A._setArrayType([], type$.JSArray_of_void_Function);
      }
    },
    set$semanticsEnabled(value) {
      var t1, t2, t3;
      if (this._semanticsEnabled)
        return;
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t2 = t1.configuration;
      t3 = t2.accessibilityFeatures.__engine$_index;
      value = (t3 & 2) !== 0 ? 3 : 1;
      if ((t3 & 4) !== 0)
        value |= 4;
      if ((t3 & 8) !== 0)
        value |= 8;
      if ((t3 & 16) !== 0)
        value |= 16;
      if ((t3 & 32) !== 0)
        value |= 32;
      t1.configuration = t2.copyWith$1$accessibilityFeatures(new A.EngineAccessibilityFeatures((t3 & 64) !== 0 ? value | 64 : value));
      this._semanticsEnabled = true;
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t2 = this._semanticsEnabled;
      t3 = t1.configuration;
      if (t2 !== t3.semanticsEnabled) {
        t1.configuration = t3.copyWith$1$semanticsEnabled(t2);
        t2 = t1._onSemanticsEnabledChanged;
        if (t2 != null)
          A.invoke(t2, t1._onSemanticsEnabledChangedZone);
      }
    },
    _getGestureModeClock$0() {
      var _this = this,
        t1 = _this._gestureModeClock;
      if (t1 == null) {
        t1 = _this._gestureModeClock = new A.AlarmClock(_this._now);
        t1.callback = new A.EngineSemanticsOwner__getGestureModeClock_closure(_this);
      }
      return t1;
    },
    receiveGlobalEvent$1($event) {
      var t1, _this = this;
      if (B.JSArray_methods.contains$1(B.List_bG2, $event.type)) {
        t1 = _this._getGestureModeClock$0();
        t1.toString;
        t1.set$datetime(J.add$1$ax(_this._now.call$0(), B.Duration_500000));
        if (_this._gestureMode !== B.GestureMode_0) {
          _this._gestureMode = B.GestureMode_0;
          _this._notifyGestureModeListeners$0();
        }
      }
      return _this.semanticsHelper._semanticsEnabler.shouldEnableSemantics$1($event);
    },
    _notifyGestureModeListeners$0() {
      var t1, i;
      for (t1 = this._gestureModeListeners, i = 0; i < t1.length; ++i)
        t1[i].call$1(this._gestureMode);
    },
    shouldAcceptBrowserGesture$1(eventType) {
      if (B.JSArray_methods.contains$1(B.List_click_scroll, eventType))
        return this._gestureMode === B.GestureMode_1;
      return false;
    },
    updateSemantics$1(uiUpdate) {
      var t1, t2, t3, t4, t5, _i, t6, nodeUpdate, object, t7, t8, t9, _this = this,
        _s14_ = "pointer-events";
      if (!_this._semanticsEnabled) {
        _this.semanticsHelper._semanticsEnabler.dispose$0();
        _this.set$semanticsEnabled(true);
      }
      for (t1 = uiUpdate.__engine$_nodeUpdates, t2 = t1.length, t3 = _this._semanticsTree, t4 = type$.Role, t5 = type$.nullable_RoleManager, _i = 0; t6 = t1.length, _i < t6; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        nodeUpdate = t1[_i];
        t6 = nodeUpdate.id;
        object = t3.$index(0, t6);
        if (object == null) {
          t7 = A._ElementFactoryProvider_createElement_tag("flt-semantics", null);
          object = new A.SemanticsObject(t6, _this, t7, A.LinkedHashMap_LinkedHashMap$_empty(t4, t5));
          t8 = t7.style;
          t8.position = "absolute";
          t7.setAttribute("id", "flt-semantic-node-" + t6);
          if (t6 === 0) {
            t8 = $._configuration;
            t8 = (t8 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t8)._js;
            t8 = t8 == null ? null : t8.debugShowSemanticsNodes;
            t8 = t8 !== true;
          } else
            t8 = false;
          if (t8) {
            t8 = t7.style;
            t9 = B.CssStyleDeclaration_methods._browserPropertyName$1(t8, "filter");
            t8.setProperty(t9, "opacity(0%)", "");
            t8 = t7.style;
            t8.color = "rgba(0,0,0,0)";
          }
          t8 = $._configuration;
          t8 = (t8 == null ? $._configuration = new A.FlutterConfiguration(self.window.flutterConfiguration) : t8)._js;
          t8 = t8 == null ? null : t8.debugShowSemanticsNodes;
          if (t8 === true) {
            t7 = t7.style;
            t7.outline = "1px solid green";
          }
          t3.$indexSet(0, t6, object);
        }
        t6 = nodeUpdate.flags;
        if (object.__engine$_flags !== t6) {
          object.__engine$_flags = t6;
          object._dirtyFields = (object._dirtyFields | 1) >>> 0;
        }
        t6 = nodeUpdate.value;
        if (object.__engine$_value !== t6) {
          object.__engine$_value = t6;
          object._dirtyFields = (object._dirtyFields | 4096) >>> 0;
        }
        t6 = nodeUpdate.valueAttributes;
        if (object._valueAttributes !== t6) {
          object._valueAttributes = t6;
          object._dirtyFields = (object._dirtyFields | 4096) >>> 0;
        }
        t6 = nodeUpdate.label;
        if (object._label !== t6) {
          object._label = t6;
          object._dirtyFields = (object._dirtyFields | 1024) >>> 0;
        }
        t6 = nodeUpdate.labelAttributes;
        if (object._labelAttributes !== t6) {
          object._labelAttributes = t6;
          object._dirtyFields = (object._dirtyFields | 1024) >>> 0;
        }
        t6 = nodeUpdate.rect;
        if (!J.$eq$(object.__engine$_rect, t6)) {
          object.__engine$_rect = t6;
          object._dirtyFields = (object._dirtyFields | 512) >>> 0;
        }
        t6 = nodeUpdate.transform;
        if (object.__engine$_transform !== t6) {
          object.__engine$_transform = t6;
          object._dirtyFields = (object._dirtyFields | 65536) >>> 0;
        }
        t6 = nodeUpdate.scrollPosition;
        if (object.__engine$_scrollPosition !== t6) {
          object.__engine$_scrollPosition = t6;
          object._dirtyFields = (object._dirtyFields | 64) >>> 0;
        }
        t6 = object.__engine$_actions;
        t7 = nodeUpdate.actions;
        if (t6 !== t7) {
          object.__engine$_actions = t7;
          object._dirtyFields = (object._dirtyFields | 2) >>> 0;
          t6 = t7;
        }
        t7 = nodeUpdate.textSelectionBase;
        if (object._textSelectionBase !== t7) {
          object._textSelectionBase = t7;
          object._dirtyFields = (object._dirtyFields | 4) >>> 0;
        }
        t7 = nodeUpdate.textSelectionExtent;
        if (object._textSelectionExtent !== t7) {
          object._textSelectionExtent = t7;
          object._dirtyFields = (object._dirtyFields | 8) >>> 0;
        }
        t7 = nodeUpdate.scrollChildren;
        if (object._scrollChildren !== t7) {
          object._scrollChildren = t7;
          object._dirtyFields = (object._dirtyFields | 16) >>> 0;
        }
        t7 = nodeUpdate.scrollIndex;
        if (object.__engine$_scrollIndex !== t7) {
          object.__engine$_scrollIndex = t7;
          object._dirtyFields = (object._dirtyFields | 32) >>> 0;
        }
        t7 = nodeUpdate.scrollExtentMax;
        if (object.__engine$_scrollExtentMax !== t7) {
          object.__engine$_scrollExtentMax = t7;
          object._dirtyFields = (object._dirtyFields | 128) >>> 0;
        }
        t7 = nodeUpdate.scrollExtentMin;
        if (object.__engine$_scrollExtentMin !== t7) {
          object.__engine$_scrollExtentMin = t7;
          object._dirtyFields = (object._dirtyFields | 256) >>> 0;
        }
        t7 = nodeUpdate.hint;
        if (object._hint !== t7) {
          object._hint = t7;
          object._dirtyFields = (object._dirtyFields | 2048) >>> 0;
        }
        t7 = nodeUpdate.hintAttributes;
        if (object._hintAttributes !== t7) {
          object._hintAttributes = t7;
          object._dirtyFields = (object._dirtyFields | 2048) >>> 0;
        }
        t7 = nodeUpdate.increasedValue;
        if (object._increasedValue !== t7) {
          object._increasedValue = t7;
          object._dirtyFields = (object._dirtyFields | 8192) >>> 0;
        }
        t7 = nodeUpdate.increasedValueAttributes;
        if (object._increasedValueAttributes !== t7) {
          object._increasedValueAttributes = t7;
          object._dirtyFields = (object._dirtyFields | 8192) >>> 0;
        }
        t7 = nodeUpdate.decreasedValue;
        if (object._decreasedValue !== t7) {
          object._decreasedValue = t7;
          object._dirtyFields = (object._dirtyFields | 16384) >>> 0;
        }
        t7 = nodeUpdate.decreasedValueAttributes;
        if (object._decreasedValueAttributes !== t7) {
          object._decreasedValueAttributes = t7;
          object._dirtyFields = (object._dirtyFields | 16384) >>> 0;
        }
        t7 = object.__engine$_tooltip;
        t8 = nodeUpdate.tooltip;
        if (t7 !== t8) {
          object.__engine$_tooltip = t8;
          object._dirtyFields = (object._dirtyFields | 4194304) >>> 0;
          t7 = t8;
        }
        t8 = nodeUpdate.textDirection;
        if (object.__engine$_textDirection != t8) {
          object.__engine$_textDirection = t8;
          object._dirtyFields = (object._dirtyFields | 32768) >>> 0;
        }
        t8 = nodeUpdate.childrenInHitTestOrder;
        if (object._childrenInHitTestOrder !== t8) {
          object._childrenInHitTestOrder = t8;
          object._dirtyFields = (object._dirtyFields | 1048576) >>> 0;
        }
        t8 = nodeUpdate.childrenInTraversalOrder;
        if (object.__engine$_childrenInTraversalOrder !== t8) {
          object.__engine$_childrenInTraversalOrder = t8;
          object._dirtyFields = (object._dirtyFields | 524288) >>> 0;
        }
        t8 = nodeUpdate.additionalActions;
        if (object._additionalActions !== t8) {
          object._additionalActions = t8;
          object._dirtyFields = (object._dirtyFields | 2097152) >>> 0;
        }
        t8 = nodeUpdate.platformViewId;
        if (object.__engine$_platformViewId !== t8) {
          object.__engine$_platformViewId = t8;
          object._dirtyFields = (object._dirtyFields | 8388608) >>> 0;
        }
        t8 = object._label;
        if (!(t8 != null && t8.length !== 0)) {
          t8 = object.__engine$_value;
          if (!(t8 != null && t8.length !== 0))
            t7 = t7 != null && t7.length !== 0;
          else
            t7 = true;
        } else
          t7 = true;
        if (t7) {
          t7 = object.__engine$_flags;
          if ((t7 & 16) === 0) {
            if ((t7 & 16384) !== 0) {
              t6.toString;
              t6 = (t6 & 1) === 0 && (t7 & 8) === 0;
            } else
              t6 = false;
            t6 = !t6;
          } else
            t6 = false;
        } else
          t6 = false;
        object._updateRole$2(B.Role_2, t6);
        object._updateRole$2(B.Role_4, (object.__engine$_flags & 16) !== 0);
        t6 = object.__engine$_actions;
        t6.toString;
        object._updateRole$2(B.Role_3, ((t6 & 1) !== 0 || (object.__engine$_flags & 8) !== 0) && (object.__engine$_flags & 16) === 0);
        t6 = object.__engine$_actions;
        t6.toString;
        object._updateRole$2(B.Role_0, (t6 & 64) !== 0 || (t6 & 128) !== 0);
        t6 = object.__engine$_actions;
        t6.toString;
        object._updateRole$2(B.Role_1, (t6 & 32) !== 0 || (t6 & 16) !== 0 || (t6 & 4) !== 0 || (t6 & 8) !== 0);
        t6 = object.__engine$_flags;
        object._updateRole$2(B.Role_5, (t6 & 1) !== 0 || (t6 & 65536) !== 0);
        t6 = object.__engine$_flags;
        if ((t6 & 16384) !== 0) {
          t7 = object.__engine$_actions;
          t7.toString;
          t6 = (t7 & 1) === 0 && (t6 & 8) === 0;
        } else
          t6 = false;
        object._updateRole$2(B.Role_6, t6);
        t6 = object.__engine$_flags;
        object._updateRole$2(B.Role_7, (t6 & 32768) !== 0 && (t6 & 8192) === 0);
        t6 = object._dirtyFields;
        if ((t6 & 512) !== 0 || (t6 & 65536) !== 0 || (t6 & 64) !== 0)
          object.recomputePositionAndSize$0();
        t6 = object.__engine$_childrenInTraversalOrder;
        t6 = !(t6 != null && !B.NativeInt32List_methods.get$isEmpty(t6)) && object.__engine$_platformViewId === -1;
        t7 = object.element;
        if (t6) {
          t6 = t7.style;
          t7 = B.CssStyleDeclaration_methods._browserPropertyName$1(t6, _s14_);
          t6.setProperty(t7, "all", "");
        } else {
          t6 = t7.style;
          t7 = B.CssStyleDeclaration_methods._browserPropertyName$1(t6, _s14_);
          t6.setProperty(t7, "none", "");
        }
      }
      for (_i = 0; _i < t1.length; t1.length === t6 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        object = t3.$index(0, t1[_i].id);
        object.updateChildren$0();
        object._dirtyFields = 0;
      }
      if (_this._rootSemanticsElement == null) {
        t1 = t3.$index(0, 0).element;
        _this._rootSemanticsElement = t1;
        $._flutterViewEmbedder._semanticsHostElement.appendChild(t1);
      }
      _this._finalizeTree$0();
    }
  };
  A.EngineSemanticsOwner$__closure.prototype = {
    call$0() {
      var t1 = this.$this._rootSemanticsElement;
      if (t1 != null)
        J.remove$0$ax(t1);
    },
    $signature: 0
  };
  A.EngineSemanticsOwner__now_closure.prototype = {
    call$0() {
      return new A.DateTime(Date.now(), false);
    },
    $signature: 263
  };
  A.EngineSemanticsOwner__getGestureModeClock_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1._gestureMode === B.GestureMode_1)
        return;
      t1._gestureMode = B.GestureMode_1;
      t1._notifyGestureModeListeners$0();
    },
    $signature: 0
  };
  A.EnabledState.prototype = {
    toString$0(_) {
      return "EnabledState." + this._core$_name;
    }
  };
  A.SemanticsHelper.prototype = {};
  A.SemanticsEnabler.prototype = {
    shouldEnableSemantics$1($event) {
      if (!this.get$isWaitingToEnableSemantics())
        return true;
      else
        return this.tryEnableSemantics$1($event);
    }
  };
  A.DesktopSemanticsEnabler.prototype = {
    get$isWaitingToEnableSemantics() {
      return this._semanticsPlaceholder != null;
    },
    tryEnableSemantics$1($event) {
      var t1, t2;
      if (this._semanticsPlaceholder == null)
        return true;
      t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t1)._semanticsEnabled)
        return true;
      if (!J.containsKey$1$x(B.Set_Yabt3._collection$_map, $event.type))
        return true;
      t1 = J.get$target$x($event);
      t2 = this._semanticsPlaceholder;
      if (t1 == null ? t2 != null : t1 !== t2)
        return true;
      t1 = $.EngineSemanticsOwner__instance;
      (t1 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t1).set$semanticsEnabled(true);
      this.dispose$0();
      return false;
    },
    prepareAccessibilityPlaceholder$0() {
      var t2,
        t1 = this._semanticsPlaceholder = A._ElementFactoryProvider_createElement_tag("flt-semantics-placeholder", null);
      J.addEventListener$3$x(t1, "click", new A.DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure(this), true);
      t1.setAttribute("role", "button");
      t1.setAttribute("aria-live", "polite");
      t1.setAttribute("tabindex", "0");
      t1.setAttribute("aria-label", "Enable accessibility");
      t2 = t1.style;
      t2.position = "absolute";
      t2.left = "-1px";
      t2.top = "-1px";
      t2.width = "1px";
      t2.height = "1px";
      return t1;
    },
    dispose$0() {
      var t1 = this._semanticsPlaceholder;
      if (t1 != null)
        J.remove$0$ax(t1);
      this._semanticsPlaceholder = null;
    }
  };
  A.DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure.prototype = {
    call$1($event) {
      this.$this.tryEnableSemantics$1($event);
    },
    $signature: 14
  };
  A.MobileSemanticsEnabler.prototype = {
    get$isWaitingToEnableSemantics() {
      return this._semanticsPlaceholder != null;
    },
    tryEnableSemantics$1($event) {
      var t1, removeNow, activationPoint, activatingElementRect, t2, t3, t4, deltaX, deltaY, _this = this;
      if (_this._semanticsPlaceholder == null)
        return true;
      if (_this._schedulePlaceholderRemoval) {
        t1 = $.$get$_browserEngine();
        if (t1 === B.BrowserEngine_1) {
          t1 = $event.type;
          removeNow = t1 === "touchend" || t1 === "pointerup" || t1 === "click";
        } else
          removeNow = true;
        if (removeNow)
          _this.dispose$0();
        return true;
      }
      t1 = $.EngineSemanticsOwner__instance;
      if ((t1 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t1)._semanticsEnabled)
        return true;
      if (++_this.semanticsActivationAttempts >= 20)
        return _this._schedulePlaceholderRemoval = true;
      if (!J.containsKey$1$x(B.Set_2No4._collection$_map, $event.type))
        return true;
      if (_this.semanticsActivationTimer != null)
        return false;
      switch ($event.type) {
        case "click":
          activationPoint = J.get$offset$x(type$.MouseEvent._as($event));
          break;
        case "touchstart":
        case "touchend":
          t1 = type$.TouchEvent._as($event).changedTouches;
          t1.toString;
          t1 = B.TouchList_methods.get$first(t1);
          activationPoint = new A.Point(B.JSNumber_methods.round$0(t1.clientX), B.JSNumber_methods.round$0(t1.clientY), type$.Point_num);
          break;
        case "pointerdown":
        case "pointerup":
          type$.PointerEvent._as($event);
          activationPoint = new A.Point($event.clientX, $event.clientY, type$.Point_num);
          break;
        default:
          return true;
      }
      activatingElementRect = _this._semanticsPlaceholder.getBoundingClientRect();
      t1 = activatingElementRect.left;
      t1.toString;
      t2 = activatingElementRect.right;
      t2.toString;
      t3 = activatingElementRect.top;
      t3.toString;
      t4 = activatingElementRect.bottom;
      t4.toString;
      deltaX = activationPoint.x - (t1 + (t2 - t1) / 2);
      deltaY = activationPoint.y - (t3 + (t4 - t3) / 2);
      if (deltaX * deltaX + deltaY * deltaY < 1 && true) {
        _this._schedulePlaceholderRemoval = true;
        _this.semanticsActivationTimer = A.Timer_Timer(B.Duration_300000, new A.MobileSemanticsEnabler_tryEnableSemantics_closure(_this));
        return false;
      }
      return true;
    },
    prepareAccessibilityPlaceholder$0() {
      var t2,
        t1 = this._semanticsPlaceholder = A._ElementFactoryProvider_createElement_tag("flt-semantics-placeholder", null);
      J.addEventListener$3$x(t1, "click", new A.MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure(this), true);
      t1.setAttribute("role", "button");
      t1.setAttribute("aria-label", "Enable accessibility");
      t2 = t1.style;
      t2.position = "absolute";
      t2.left = "0";
      t2.top = "0";
      t2.right = "0";
      t2.bottom = "0";
      return t1;
    },
    dispose$0() {
      var t1 = this._semanticsPlaceholder;
      if (t1 != null)
        J.remove$0$ax(t1);
      this.semanticsActivationTimer = this._semanticsPlaceholder = null;
    }
  };
  A.MobileSemanticsEnabler_tryEnableSemantics_closure.prototype = {
    call$0() {
      this.$this.dispose$0();
      var t1 = $.EngineSemanticsOwner__instance;
      (t1 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t1).set$semanticsEnabled(true);
    },
    $signature: 0
  };
  A.MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure.prototype = {
    call$1($event) {
      this.$this.tryEnableSemantics$1($event);
    },
    $signature: 14
  };
  A.Tappable.prototype = {
    update$0(_) {
      var t2, _this = this,
        _s13_ = "aria-disabled",
        t1 = _this.semanticsObject,
        element = t1.element;
      element.tabIndex = 0;
      t1.setAriaRole$2("button", (t1.__engine$_flags & 8) !== 0);
      if (t1.enabledState$0() === B.EnabledState_2 && (t1.__engine$_flags & 8) !== 0) {
        element.setAttribute(_s13_, "true");
        _this._stopListening$0();
      } else {
        element.removeAttribute(_s13_);
        t2 = t1.__engine$_actions;
        t2.toString;
        if ((t2 & 1) !== 0 && (t1.__engine$_flags & 16) === 0) {
          if (_this._clickListener == null) {
            t2 = new A.Tappable_update_closure(_this);
            _this._clickListener = t2;
            J.addEventListener$2$x(element, "click", t2);
          }
        } else
          _this._stopListening$0();
      }
      if ((t1._dirtyFields & 1) !== 0 && (t1.__engine$_flags & 32) !== 0)
        J.focus$0$x(element);
    },
    _stopListening$0() {
      var t1 = this._clickListener;
      if (t1 == null)
        return;
      J.removeEventListener$2$x(this.semanticsObject.element, "click", t1);
      this._clickListener = null;
    },
    dispose$0() {
      this._stopListening$0();
      this.semanticsObject.setAriaRole$2("button", false);
    }
  };
  A.Tappable_update_closure.prototype = {
    call$1(_) {
      var t2,
        t1 = this.$this.semanticsObject;
      if (t1.owner._gestureMode !== B.GestureMode_1)
        return;
      t2 = $.$get$EnginePlatformDispatcher__instance();
      A.invoke3(t2._onSemanticsAction, t2._onSemanticsActionZone, t1.id, B.SemanticsAction_1, null);
    },
    $signature: 14
  };
  A.SemanticsTextEditingStrategy.prototype = {
    enable$3$onAction$onChange(_, inputConfig, onAction, onChange) {
      this.inputConfig = inputConfig;
      this.onChange = onChange;
      this.onAction = onAction;
    },
    activate$1(textField) {
      var t2, t3, _this = this,
        t1 = _this.activeTextField;
      if (t1 === textField)
        return;
      else if (t1 != null)
        _this.disable$0(0);
      _this.activeTextField = textField;
      t1 = textField.__TextField_editableElement;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.domElement = t1;
      _this._syncStyle$0();
      t1 = _this.inputConfig;
      t1.toString;
      t2 = _this.onChange;
      t2.toString;
      t3 = _this.onAction;
      t3.toString;
      _this.super$DefaultTextEditingStrategy$enable(0, t1, t3, t2);
    },
    disable$0(_) {
      var t1, i, _this = this;
      if (!_this.isEnabled)
        return;
      _this.isEnabled = false;
      _this.geometry = _this.style = null;
      for (t1 = _this.subscriptions, i = 0; i < t1.length; ++i)
        J.cancel$0$z(t1[i]);
      B.JSArray_methods.clear$0(t1);
      _this.lastEditingState = null;
      t1 = _this.domElement;
      if (t1 != null)
        t1.blur();
      _this._queuedStyle = _this.activeTextField = _this.domElement = null;
    },
    addEventHandlers$0() {
      var t2, t3, _this = this,
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      if (t1 != null)
        B.JSArray_methods.addAll$1(_this.subscriptions, t1.addInputEventListeners$0());
      t1 = _this.subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$handleChange();
      t1.push(A._EventStreamSubscription$(t2, "input", t3, false, type$._ElementEventStreamImpl_Event._precomputed1));
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "keydown", _this.get$maybeSendAction(), false, type$._ElementEventStreamImpl_KeyboardEvent._precomputed1));
      t1.push(A._EventStreamSubscription$(document, "selectionchange", t3, false, type$.Event));
      _this.preventDefaultForMouseEvents$0();
    },
    initializeTextEditing$3$onAction$onChange(inputConfig, onAction, onChange) {
      this.isEnabled = true;
      this.__DefaultTextEditingStrategy_inputConfiguration = inputConfig;
      this.applyConfiguration$1(inputConfig);
    },
    placeElement$0() {
      if (this.__DefaultTextEditingStrategy_inputConfiguration === $)
        A.throwUnnamedLateFieldNI();
      this.domElement.focus();
    },
    initializeElementPlacement$0() {
    },
    updateElementPlacement$1(textGeometry) {
    },
    updateElementStyle$1(textStyle) {
      this._queuedStyle = textStyle;
      this._syncStyle$0();
    },
    _syncStyle$0() {
      var t1 = this._queuedStyle;
      if (t1 == null || this.domElement == null)
        return;
      t1.toString;
      this.super$DefaultTextEditingStrategy$updateElementStyle(t1);
    }
  };
  A.TextField.prototype = {
    _initializeForBlink$0() {
      var t1 = this.__TextField_editableElement;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      J.addEventListener$2$x(t1, "focus", new A.TextField__initializeForBlink_closure(this));
    },
    _initializeForWebkit$0() {
      var _this = this, t1 = {},
        t2 = $.$get$_operatingSystem();
      if (t2 === B.OperatingSystem_4) {
        _this._initializeForBlink$0();
        return;
      }
      t1.lastTouchStartOffsetY = t1.lastTouchStartOffsetX = null;
      t2 = _this.__TextField_editableElement;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      J.addEventListener$3$x(t2, "touchstart", new A.TextField__initializeForWebkit_closure(t1), true);
      t2 = _this.__TextField_editableElement;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      J.addEventListener$3$x(t2, "touchend", new A.TextField__initializeForWebkit_closure0(t1, _this), true);
    },
    update$0(_) {
      var editingState, needsDomFocusRequest, _this = this,
        _s10_ = "aria-label",
        t1 = _this.semanticsObject,
        t2 = t1._label,
        t3 = t2 != null && t2.length !== 0,
        t4 = _this.__TextField_editableElement;
      if (t3) {
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t2.toString;
        t4.setAttribute(_s10_, t2);
      } else {
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4.removeAttribute(_s10_);
      }
      t2 = _this.__TextField_editableElement;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.style;
      t3 = t1.__engine$_rect;
      t4 = t3.right;
      t3 = t3.left;
      t2.width = A.S(t4 - t3) + "px";
      t3 = t1.__engine$_rect;
      t4 = t3.bottom;
      t3 = t3.top;
      t2.height = A.S(t4 - t3) + "px";
      t2 = t1.__engine$_value;
      editingState = A.EditingState$(t1._textSelectionBase, t1._textSelectionExtent, t2);
      if ((t1.__engine$_flags & 32) !== 0) {
        if (!_this._hasFocused) {
          _this._hasFocused = true;
          $.SemanticsTextEditingStrategy__instance.activate$1(_this);
          needsDomFocusRequest = true;
        } else
          needsDomFocusRequest = false;
        t2 = document.activeElement;
        t3 = _this.__TextField_editableElement;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        if (t2 !== t3)
          needsDomFocusRequest = true;
        $.SemanticsTextEditingStrategy__instance.setEditingState$1(editingState);
      } else {
        if (_this._hasFocused) {
          t2 = $.SemanticsTextEditingStrategy__instance;
          if (t2.activeTextField === _this)
            t2.disable$0(0);
          t2 = _this.__TextField_editableElement;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          if (type$.InputElement._is(t2))
            t2.value = editingState.text;
          else if (type$.TextAreaElement._is(t2))
            t2.value = editingState.text;
          else
            A.throwExpression(A.UnsupportedError$("Unsupported DOM element type"));
          if (_this._hasFocused) {
            t2 = document.activeElement;
            t3 = _this.__TextField_editableElement;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t3 = t2 === t3;
            t2 = t3;
          } else
            t2 = false;
          if (t2) {
            t2 = _this.__TextField_editableElement;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2.blur();
          }
          _this._hasFocused = false;
        }
        needsDomFocusRequest = false;
      }
      if (needsDomFocusRequest)
        t1.owner._oneTimePostUpdateCallbacks.push(new A.TextField_update_closure(_this));
    },
    dispose$0() {
      var t1 = this.__TextField_editableElement;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      J.remove$0$ax(t1);
      t1 = $.SemanticsTextEditingStrategy__instance;
      if (t1.activeTextField === this)
        t1.disable$0(0);
    }
  };
  A.TextField__initializeForBlink_closure.prototype = {
    call$1($event) {
      var t2,
        t1 = this.$this.semanticsObject;
      if (t1.owner._gestureMode !== B.GestureMode_1)
        return;
      t2 = $.$get$EnginePlatformDispatcher__instance();
      A.invoke3(t2._onSemanticsAction, t2._onSemanticsActionZone, t1.id, B.SemanticsAction_1, null);
    },
    $signature: 14
  };
  A.TextField__initializeForWebkit_closure.prototype = {
    call$1($event) {
      var t1, t2;
      type$.TouchEvent._as($event);
      t1 = $event.changedTouches;
      t1.toString;
      t1 = B.TouchList_methods.get$last(t1);
      t2 = B.JSNumber_methods.round$0(t1.clientX);
      B.JSNumber_methods.round$0(t1.clientY);
      t1 = this._box_0;
      t1.lastTouchStartOffsetX = t2;
      t2 = $event.changedTouches;
      t2.toString;
      t2 = B.TouchList_methods.get$last(t2);
      B.JSNumber_methods.round$0(t2.clientX);
      t1.lastTouchStartOffsetY = B.JSNumber_methods.round$0(t2.clientY);
    },
    $signature: 14
  };
  A.TextField__initializeForWebkit_closure0.prototype = {
    call$1($event) {
      var t1, t2, t3;
      type$.TouchEvent._as($event);
      t1 = this._box_0;
      if (t1.lastTouchStartOffsetX != null) {
        t2 = $event.changedTouches;
        t2.toString;
        t2 = B.TouchList_methods.get$last(t2);
        t3 = B.JSNumber_methods.round$0(t2.clientX);
        B.JSNumber_methods.round$0(t2.clientY);
        t2 = $event.changedTouches;
        t2.toString;
        t2 = B.TouchList_methods.get$last(t2);
        B.JSNumber_methods.round$0(t2.clientX);
        t2 = B.JSNumber_methods.round$0(t2.clientY);
        if (t3 * t3 + t2 * t2 < 324) {
          t2 = $.$get$EnginePlatformDispatcher__instance();
          A.invoke3(t2._onSemanticsAction, t2._onSemanticsActionZone, this.$this.semanticsObject.id, B.SemanticsAction_1, null);
        }
      }
      t1.lastTouchStartOffsetY = t1.lastTouchStartOffsetX = null;
    },
    $signature: 14
  };
  A.TextField_update_closure.prototype = {
    call$0() {
      var t1 = document.activeElement,
        t2 = this.$this.__TextField_editableElement;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 !== t2)
        t2.focus();
    },
    $signature: 0
  };
  A._TypedDataBuffer.prototype = {
    get$length(_) {
      return this.__engine$_length;
    },
    $index(_, index) {
      if (index >= this.__engine$_length)
        throw A.wrapException(A.IndexError$(index, this, null, null, null));
      return this.__engine$_buffer[index];
    },
    $indexSet(_, index, value) {
      if (index >= this.__engine$_length)
        throw A.wrapException(A.IndexError$(index, this, null, null, null));
      this.__engine$_buffer[index] = value;
    },
    set$length(_, newLength) {
      var t2, i, newBuffer, _this = this,
        t1 = _this.__engine$_length;
      if (newLength < t1)
        for (t2 = _this.__engine$_buffer, i = newLength; i < t1; ++i)
          t2[i] = 0;
      else {
        t1 = _this.__engine$_buffer.length;
        if (newLength > t1) {
          if (t1 === 0)
            newBuffer = new Uint8Array(newLength);
          else
            newBuffer = _this._createBiggerBuffer$1(newLength);
          B.NativeUint8List_methods.setRange$3(newBuffer, 0, _this.__engine$_length, _this.__engine$_buffer);
          _this.__engine$_buffer = newBuffer;
        }
      }
      _this.__engine$_length = newLength;
    },
    __engine$_add$1(_, value) {
      var _this = this,
        t1 = _this.__engine$_length;
      if (t1 === _this.__engine$_buffer.length)
        _this.__engine$_grow$1(t1);
      _this.__engine$_buffer[_this.__engine$_length++] = value;
    },
    add$1(_, value) {
      var _this = this,
        t1 = _this.__engine$_length;
      if (t1 === _this.__engine$_buffer.length)
        _this.__engine$_grow$1(t1);
      _this.__engine$_buffer[_this.__engine$_length++] = value;
    },
    addAll$3(_, values, start, end) {
      A.RangeError_checkNotNegative(start, "start");
      if (end != null && start > end)
        throw A.wrapException(A.RangeError$range(end, start, null, "end", null));
      this.__engine$_addAll$3(values, start, end);
    },
    addAll$1($receiver, values) {
      return this.addAll$3($receiver, values, 0, null);
    },
    insertAll$2(_, index, values) {
      var end, writeIndex, t1, skipCount, value, t2, writeIndex0, _this = this, _null = null;
      A.RangeError_checkValidIndex(index, _this, "index", _this.__engine$_length + 1);
      A.RangeError_checkNotNegative(0, "start");
      if (index === _this.__engine$_length) {
        _this.__engine$_addAll$3(values, 0, _null);
        return;
      }
      end = type$.List_dynamic._is(values) ? J.get$length$asx(values) : _null;
      if (end != null) {
        _this._insertKnownLength$4(index, values, 0, end);
        return;
      }
      writeIndex = _this.__engine$_length;
      for (t1 = J.get$iterator$ax(values), skipCount = 0; t1.moveNext$0();) {
        value = t1.get$current(t1);
        t2 = _this.__engine$_buffer;
        if (writeIndex === t2.length) {
          t2 = _this._createBiggerBuffer$1(_null);
          B.NativeUint8List_methods.setRange$3(t2, 0, writeIndex, _this.__engine$_buffer);
          _this.__engine$_buffer = t2;
        }
        writeIndex0 = writeIndex + 1;
        t2[writeIndex] = value;
        writeIndex = writeIndex0;
      }
      A._TypedDataBuffer__reverse(_this.__engine$_buffer, index, _this.__engine$_length);
      A._TypedDataBuffer__reverse(_this.__engine$_buffer, _this.__engine$_length, writeIndex);
      A._TypedDataBuffer__reverse(_this.__engine$_buffer, index, writeIndex);
      _this.__engine$_length = writeIndex;
      return;
    },
    __engine$_addAll$3(values, start, end) {
      var t1, i, value, _this = this;
      if (A._instanceType(_this)._eval$1("List<_TypedDataBuffer.E>")._is(values))
        end = end == null ? J.get$length$asx(values) : end;
      if (end != null) {
        _this._insertKnownLength$4(_this.__engine$_length, values, start, end);
        return;
      }
      for (t1 = J.get$iterator$ax(values), i = 0; t1.moveNext$0();) {
        value = t1.get$current(t1);
        if (i >= start)
          _this.__engine$_add$1(0, value);
        ++i;
      }
      if (i < start)
        throw A.wrapException(A.StateError$("Too few elements"));
    },
    _insertKnownLength$4(index, values, start, end) {
      var valuesLength, newLength, t2, _this = this,
        t1 = J.getInterceptor$asx(values);
      if (start > t1.get$length(values) || end > t1.get$length(values))
        throw A.wrapException(A.StateError$("Too few elements"));
      valuesLength = end - start;
      newLength = _this.__engine$_length + valuesLength;
      _this._ensureCapacity$1(newLength);
      t1 = _this.__engine$_buffer;
      t2 = index + valuesLength;
      B.NativeUint8List_methods.setRange$4(t1, t2, _this.__engine$_length + valuesLength, t1, index);
      B.NativeUint8List_methods.setRange$4(_this.__engine$_buffer, index, t2, values, start);
      _this.__engine$_length = newLength;
    },
    _ensureCapacity$1(requiredCapacity) {
      var newBuffer, _this = this;
      if (requiredCapacity <= _this.__engine$_buffer.length)
        return;
      newBuffer = _this._createBiggerBuffer$1(requiredCapacity);
      B.NativeUint8List_methods.setRange$3(newBuffer, 0, _this.__engine$_length, _this.__engine$_buffer);
      _this.__engine$_buffer = newBuffer;
    },
    _createBiggerBuffer$1(requiredCapacity) {
      var newLength = this.__engine$_buffer.length * 2;
      if (requiredCapacity != null && newLength < requiredCapacity)
        newLength = requiredCapacity;
      else if (newLength < 8)
        newLength = 8;
      return new Uint8Array(newLength);
    },
    __engine$_grow$1($length) {
      var t1 = this._createBiggerBuffer$1(null);
      B.NativeUint8List_methods.setRange$3(t1, 0, $length, this.__engine$_buffer);
      this.__engine$_buffer = t1;
    },
    setRange$4(_, start, end, source, skipCount) {
      var t1 = this.__engine$_length;
      if (end > t1)
        throw A.wrapException(A.RangeError$range(end, 0, t1, null, null));
      t1 = this.__engine$_buffer;
      if (A._instanceType(this)._eval$1("_TypedDataBuffer<_TypedDataBuffer.E>")._is(source))
        B.NativeUint8List_methods.setRange$4(t1, start, end, source.__engine$_buffer, skipCount);
      else
        B.NativeUint8List_methods.setRange$4(t1, start, end, source, skipCount);
    },
    setRange$3($receiver, start, end, source) {
      return this.setRange$4($receiver, start, end, source, 0);
    }
  };
  A._IntBuffer.prototype = {};
  A.Uint8Buffer.prototype = {};
  A.MethodCall.prototype = {
    toString$0(_) {
      return A.getRuntimeType(this).toString$0(0) + "(" + this.method + ", " + A.S(this.$arguments) + ")";
    }
  };
  A.JSONMessageCodec.prototype = {
    encodeMessage$1(message) {
      return A.NativeByteData_NativeByteData$view(B.C_Utf8Encoder.convert$1(B.C_JsonCodec.encode$1(message)).buffer, 0, null);
    },
    decodeMessage$1(message) {
      if (message == null)
        return message;
      return B.C_JsonCodec.decode$1(0, B.Utf8Decoder_false.convert$1(A.NativeUint8List_NativeUint8List$view(message.buffer, 0, null)));
    }
  };
  A.JSONMethodCodec.prototype = {
    encodeMethodCall$1($call) {
      return B.C_JSONMessageCodec.encodeMessage$1(A.LinkedHashMap_LinkedHashMap$_literal(["method", $call.method, "args", $call.$arguments], type$.String, type$.dynamic));
    },
    decodeMethodCall$1(methodCall) {
      var t1, method, $arguments, _null = null,
        decoded = B.C_JSONMessageCodec.decodeMessage$1(methodCall);
      if (!type$.Map_dynamic_dynamic._is(decoded))
        throw A.wrapException(A.FormatException$("Expected method call Map, got " + A.S(decoded), _null, _null));
      t1 = J.getInterceptor$asx(decoded);
      method = t1.$index(decoded, "method");
      $arguments = t1.$index(decoded, "args");
      if (typeof method == "string")
        return new A.MethodCall(method, $arguments);
      throw A.wrapException(A.FormatException$("Invalid method call: " + A.S(decoded), _null, _null));
    }
  };
  A.StandardMessageCodec.prototype = {
    encodeMessage$1(message) {
      var buffer = A.WriteBuffer_WriteBuffer0();
      this.writeValue$2(0, buffer, true);
      return buffer.done$0();
    },
    decodeMessage$1(message) {
      var buffer, result;
      if (message == null)
        return null;
      buffer = new A.ReadBuffer0(message);
      result = this.readValue$1(0, buffer);
      if (buffer.__engine$_position < message.byteLength)
        throw A.wrapException(B.FormatException_oCg);
      return result;
    },
    writeValue$2(_, buffer, value) {
      var t1, t2, t3, bytes, _this = this;
      if (value == null)
        buffer.__engine$_buffer.__engine$_add$1(0, 0);
      else if (A._isBool(value)) {
        t1 = value ? 1 : 2;
        buffer.__engine$_buffer.__engine$_add$1(0, t1);
      } else if (typeof value == "number") {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 6);
        buffer.__engine$_alignTo$1(8);
        buffer.__engine$_eightBytes.setFloat64(0, value, B.C_Endian === $.$get$Endian_host());
        t1.addAll$1(0, buffer.__engine$_eightBytesAsList);
      } else if (A._isInt(value)) {
        t1 = -2147483648 <= value && value <= 2147483647;
        t2 = buffer.__engine$_buffer;
        t3 = buffer.__engine$_eightBytes;
        if (t1) {
          t2.__engine$_add$1(0, 3);
          t3.setInt32(0, value, B.C_Endian === $.$get$Endian_host());
          t2.addAll$3(0, buffer.__engine$_eightBytesAsList, 0, 4);
        } else {
          t2.__engine$_add$1(0, 4);
          B.NativeByteData_methods.setInt64$3(t3, 0, value, $.$get$Endian_host());
        }
      } else if (typeof value == "string") {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 7);
        bytes = B.C_Utf8Encoder.convert$1(value);
        _this.writeSize$2(buffer, bytes.length);
        t1.addAll$1(0, bytes);
      } else if (type$.Uint8List._is(value)) {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 8);
        _this.writeSize$2(buffer, value.length);
        t1.addAll$1(0, value);
      } else if (type$.Int32List._is(value)) {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 9);
        t2 = value.length;
        _this.writeSize$2(buffer, t2);
        buffer.__engine$_alignTo$1(4);
        t1.addAll$1(0, A.NativeUint8List_NativeUint8List$view(value.buffer, value.byteOffset, 4 * t2));
      } else if (type$.Float64List._is(value)) {
        t1 = buffer.__engine$_buffer;
        t1.__engine$_add$1(0, 11);
        t2 = value.length;
        _this.writeSize$2(buffer, t2);
        buffer.__engine$_alignTo$1(8);
        t1.addAll$1(0, A.NativeUint8List_NativeUint8List$view(value.buffer, value.byteOffset, 8 * t2));
      } else if (type$.List_dynamic._is(value)) {
        buffer.__engine$_buffer.__engine$_add$1(0, 12);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        for (t1 = t1.get$iterator(value); t1.moveNext$0();)
          _this.writeValue$2(0, buffer, t1.get$current(t1));
      } else if (type$.Map_dynamic_dynamic._is(value)) {
        buffer.__engine$_buffer.__engine$_add$1(0, 13);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        t1.forEach$1(value, new A.StandardMessageCodec_writeValue_closure0(_this, buffer));
      } else
        throw A.wrapException(A.ArgumentError$value(value, null, null));
    },
    readValue$1(_, buffer) {
      if (buffer.__engine$_position >= buffer.data.byteLength)
        throw A.wrapException(B.FormatException_oCg);
      return this.readValueOfType$2(buffer.getUint8$0(0), buffer);
    },
    readValueOfType$2(type, buffer) {
      var result, value, $length, t1, list, i, t2, t3, _this = this;
      switch (type) {
        case 0:
          result = null;
          break;
        case 1:
          result = true;
          break;
        case 2:
          result = false;
          break;
        case 3:
          value = buffer.data.getInt32(buffer.__engine$_position, B.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 4;
          result = value;
          break;
        case 4:
          result = buffer.getInt64$0(0);
          break;
        case 5:
          $length = _this.readSize$1(buffer);
          result = A.int_parse(B.Utf8Decoder_false.convert$1(buffer.getUint8List$1($length)), 16);
          break;
        case 6:
          buffer.__engine$_alignTo$1(8);
          value = buffer.data.getFloat64(buffer.__engine$_position, B.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 8;
          result = value;
          break;
        case 7:
          $length = _this.readSize$1(buffer);
          result = B.Utf8Decoder_false.convert$1(buffer.getUint8List$1($length));
          break;
        case 8:
          result = buffer.getUint8List$1(_this.readSize$1(buffer));
          break;
        case 9:
          $length = _this.readSize$1(buffer);
          buffer.__engine$_alignTo$1(4);
          t1 = buffer.data;
          list = A.NativeInt32List_NativeInt32List$view(t1.buffer, t1.byteOffset + buffer.__engine$_position, $length);
          buffer.__engine$_position = buffer.__engine$_position + 4 * $length;
          result = list;
          break;
        case 10:
          result = buffer.getInt64List$1(_this.readSize$1(buffer));
          break;
        case 11:
          $length = _this.readSize$1(buffer);
          buffer.__engine$_alignTo$1(8);
          t1 = buffer.data;
          list = A.NativeFloat64List_NativeFloat64List$view(t1.buffer, t1.byteOffset + buffer.__engine$_position, $length);
          buffer.__engine$_position = buffer.__engine$_position + 8 * $length;
          result = list;
          break;
        case 12:
          $length = _this.readSize$1(buffer);
          result = [];
          for (t1 = buffer.data, i = 0; i < $length; ++i) {
            t2 = buffer.__engine$_position;
            if (t2 >= t1.byteLength)
              A.throwExpression(B.FormatException_oCg);
            buffer.__engine$_position = t2 + 1;
            result.push(_this.readValueOfType$2(t1.getUint8(t2), buffer));
          }
          break;
        case 13:
          $length = _this.readSize$1(buffer);
          t1 = type$.dynamic;
          result = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
          for (t1 = buffer.data, i = 0; i < $length; ++i) {
            t2 = buffer.__engine$_position;
            if (t2 >= t1.byteLength)
              A.throwExpression(B.FormatException_oCg);
            buffer.__engine$_position = t2 + 1;
            t2 = _this.readValueOfType$2(t1.getUint8(t2), buffer);
            t3 = buffer.__engine$_position;
            if (t3 >= t1.byteLength)
              A.throwExpression(B.FormatException_oCg);
            buffer.__engine$_position = t3 + 1;
            result.$indexSet(0, t2, _this.readValueOfType$2(t1.getUint8(t3), buffer));
          }
          break;
        default:
          throw A.wrapException(B.FormatException_oCg);
      }
      return result;
    },
    writeSize$2(buffer, value) {
      var t1, t2, t3;
      if (value < 254)
        buffer.__engine$_buffer.__engine$_add$1(0, value);
      else {
        t1 = buffer.__engine$_buffer;
        t2 = buffer.__engine$_eightBytes;
        t3 = buffer.__engine$_eightBytesAsList;
        if (value <= 65535) {
          t1.__engine$_add$1(0, 254);
          t2.setUint16(0, value, B.C_Endian === $.$get$Endian_host());
          t1.addAll$3(0, t3, 0, 2);
        } else {
          t1.__engine$_add$1(0, 255);
          t2.setUint32(0, value, B.C_Endian === $.$get$Endian_host());
          t1.addAll$3(0, t3, 0, 4);
        }
      }
    },
    readSize$1(buffer) {
      var value = buffer.getUint8$0(0);
      switch (value) {
        case 254:
          value = buffer.data.getUint16(buffer.__engine$_position, B.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 2;
          return value;
        case 255:
          value = buffer.data.getUint32(buffer.__engine$_position, B.C_Endian === $.$get$Endian_host());
          buffer.__engine$_position += 4;
          return value;
        default:
          return value;
      }
    }
  };
  A.StandardMessageCodec_writeValue_closure0.prototype = {
    call$2(key, value) {
      var t1 = this.$this,
        t2 = this.buffer;
      t1.writeValue$2(0, t2, key);
      t1.writeValue$2(0, t2, value);
    },
    $signature: 115
  };
  A.StandardMethodCodec.prototype = {
    decodeMethodCall$1(methodCall) {
      var buffer, method, $arguments;
      methodCall.toString;
      buffer = new A.ReadBuffer0(methodCall);
      method = B.C_StandardMessageCodec0.readValue$1(0, buffer);
      $arguments = B.C_StandardMessageCodec0.readValue$1(0, buffer);
      if (typeof method == "string" && buffer.__engine$_position >= methodCall.byteLength)
        return new A.MethodCall(method, $arguments);
      else
        throw A.wrapException(B.FormatException_Qi2);
    },
    encodeSuccessEnvelope$1(result) {
      var buffer = A.WriteBuffer_WriteBuffer0();
      buffer.__engine$_buffer.__engine$_add$1(0, 0);
      B.C_StandardMessageCodec0.writeValue$2(0, buffer, result);
      return buffer.done$0();
    },
    encodeErrorEnvelope$3$code$details$message(code, details, message) {
      var buffer = A.WriteBuffer_WriteBuffer0();
      buffer.__engine$_buffer.__engine$_add$1(0, 1);
      B.C_StandardMessageCodec0.writeValue$2(0, buffer, code);
      B.C_StandardMessageCodec0.writeValue$2(0, buffer, message);
      B.C_StandardMessageCodec0.writeValue$2(0, buffer, details);
      return buffer.done$0();
    }
  };
  A.WriteBuffer0.prototype = {
    __engine$_alignTo$1(alignment) {
      var t2, i,
        t1 = this.__engine$_buffer,
        mod = B.JSInt_methods.$mod(t1.__engine$_length, alignment);
      if (mod !== 0)
        for (t2 = alignment - mod, i = 0; i < t2; ++i)
          t1.__engine$_add$1(0, 0);
    },
    done$0() {
      var t1, t2;
      this._debugFinalized = true;
      t1 = this.__engine$_buffer;
      t2 = t1.__engine$_buffer;
      return A.NativeByteData_NativeByteData$view(t2.buffer, 0, t1.__engine$_length * t2.BYTES_PER_ELEMENT);
    }
  };
  A.ReadBuffer0.prototype = {
    getUint8$0(_) {
      return this.data.getUint8(this.__engine$_position++);
    },
    getInt64$0(_) {
      B.NativeByteData_methods.getInt64$2(this.data, this.__engine$_position, $.$get$Endian_host());
    },
    getUint8List$1($length) {
      var t1 = this.data,
        list = A.NativeUint8List_NativeUint8List$view(t1.buffer, t1.byteOffset + this.__engine$_position, $length);
      this.__engine$_position += $length;
      return list;
    },
    getInt64List$1($length) {
      var t1;
      this.__engine$_alignTo$1(8);
      t1 = this.data;
      B.NativeByteBuffer_methods.asInt64List$2(t1.buffer, t1.byteOffset + this.__engine$_position, $length);
    },
    __engine$_alignTo$1(alignment) {
      var t1 = this.__engine$_position,
        mod = B.JSInt_methods.$mod(t1, alignment);
      if (mod !== 0)
        this.__engine$_position = t1 + (alignment - mod);
    }
  };
  A.SurfaceShadowData.prototype = {};
  A.SVGElement.prototype = {};
  A.SVGGraphicsElement.prototype = {};
  A.SVGSVGElement.prototype = {};
  A.SVGClipPathElement.prototype = {};
  A.SVGDefsElement.prototype = {};
  A.SVGGeometryElement.prototype = {};
  A.SVGPathElement.prototype = {};
  A.CanvasParagraph.prototype = {
    get$width(_) {
      return this.get$_layoutService().width;
    },
    get$height(_) {
      return this.get$_layoutService().height;
    },
    get$longestLine() {
      var t1 = this.get$_layoutService().longestLine;
      t1 = t1 == null ? null : t1.width;
      return t1 == null ? 0 : t1;
    },
    get$minIntrinsicWidth() {
      return this.get$_layoutService().minIntrinsicWidth;
    },
    get$maxIntrinsicWidth() {
      return this.get$_layoutService().maxIntrinsicWidth;
    },
    get$alphabeticBaseline(_) {
      return this.get$_layoutService().alphabeticBaseline;
    },
    get$ideographicBaseline(_) {
      return this.get$_layoutService().ideographicBaseline;
    },
    get$didExceedMaxLines() {
      this.get$_layoutService();
      return false;
    },
    get$_layoutService() {
      var t1, t2, _this = this,
        value = _this.__CanvasParagraph__layoutService;
      if (value === $) {
        t1 = A.DomCanvasElementExtension_getContext(A.createDomCanvasElement(null, null), "2d");
        t1.toString;
        type$.JavaScriptObject._as(t1);
        t2 = A._setArrayType([], type$.JSArray_EngineLineMetrics);
        if (_this.__CanvasParagraph__layoutService !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__CanvasParagraph__layoutService = new A.TextLayoutService(_this, t1, t2, B.Rect_0_0_0_0);
      }
      return value;
    },
    layout$1(constraints) {
      var _this = this;
      constraints = new A.ParagraphConstraints(Math.floor(constraints.width));
      if (constraints.$eq(0, _this._lastUsedConstraints))
        return;
      A._Cell$named("stopwatch");
      _this.get$_layoutService().performLayout$1(constraints);
      _this.isLaidOut = true;
      _this._lastUsedConstraints = constraints;
      _this._cachedDomElement = null;
    },
    toDomElement$0() {
      var t1,
        domElement = this._cachedDomElement;
      if (domElement == null) {
        t1 = this._createDomElement$0();
        this._cachedDomElement = t1;
        return t1;
      }
      return domElement.cloneNode(true);
    },
    _createDomElement$0() {
      var lines, t2, lastSpanElement, i, line, boxes, buffer, t3, j, j0, box, t4, t5, t6, t7, color, strokeWidth, adaptedWidth, ratio, background, fontSize, updateDecoration, shadows, t8, textDecoration, decorationColor, fontFeatures, t9, ellipsis, _null = null,
        rootElement = A.DomDocumentExtension_createElement(self.document, "flt-paragraph"),
        t1 = rootElement.style;
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "position", "absolute");
      A.DomCSSStyleDeclarationExtension_setProperty(t1, "white-space", "pre");
      lines = this.get$_layoutService().lines;
      for (t1 = type$.JavaScriptObject, t2 = type$.JSArray_Object, lastSpanElement = _null, i = 0; i < lines.length; ++i) {
        line = lines[i];
        boxes = line.boxes;
        buffer = new A.StringBuffer("");
        for (t3 = "" + "underline ", j = 0; j < boxes.length; j = j0) {
          j0 = j + 1;
          box = boxes[j];
          if (box instanceof A.SpanBox) {
            t4 = self.document;
            t5 = A._setArrayType(["flt-span"], t2);
            lastSpanElement = t1._as(t4.createElement.apply(t4, t5));
            t4 = box.span.style;
            t5 = lastSpanElement.style;
            t6 = t4.foreground;
            t7 = t6 == null;
            color = t7 ? _null : t6.get$color(t6);
            if (color == null)
              color = t4.color;
            if ((t7 ? _null : t6.get$style(t6)) === B.PaintingStyle_1) {
              t5.setProperty("color", "transparent", "");
              strokeWidth = t7 ? _null : t6.get$strokeWidth();
              if (strokeWidth != null && strokeWidth > 0)
                adaptedWidth = strokeWidth;
              else {
                t6 = $.$get$window()._debugDevicePixelRatio;
                if (t6 == null) {
                  ratio = window.devicePixelRatio;
                  t6 = ratio === 0 ? 1 : ratio;
                }
                adaptedWidth = 1 / t6;
              }
              t6 = A.colorToCssString(color);
              t5.setProperty("-webkit-text-stroke", A.S(adaptedWidth) + "px " + A.S(t6), "");
            } else if (color != null) {
              t6 = A.colorToCssString(color);
              t6.toString;
              t5.setProperty("color", t6, "");
            }
            t6 = t4.background;
            background = t6 == null ? _null : t6.get$color(t6);
            if (background != null) {
              t6 = A.colorToCssString(background);
              t6.toString;
              t5.setProperty("background-color", t6, "");
            }
            fontSize = t4.fontSize;
            if (fontSize != null) {
              t6 = B.JSNumber_methods.floor$0(fontSize);
              t5.setProperty("font-size", "" + t6 + "px", "");
            }
            t6 = t4.fontWeight;
            if (t6 != null) {
              t6 = A.fontWeightToCss(t6);
              t6.toString;
              t5.setProperty("font-weight", t6, "");
            }
            t6 = t4.fontStyle;
            if (t6 != null) {
              t6 = t6 === B.FontStyle_0 ? "normal" : "italic";
              t5.setProperty("font-style", t6, "");
            }
            t6 = A.canonicalizeFontFamily(t4.fontFamily);
            t6.toString;
            t5.setProperty("font-family", t6, "");
            t6 = t4.letterSpacing;
            if (t6 != null)
              t5.setProperty("letter-spacing", A.S(t6) + "px", "");
            t6 = t4.wordSpacing;
            if (t6 != null)
              t5.setProperty("word-spacing", A.S(t6) + "px", "");
            t6 = t4.decoration;
            t7 = t6 != null;
            updateDecoration = t7 && true;
            shadows = t4.shadows;
            if (shadows != null) {
              t8 = A._shadowListToCss(shadows);
              t5.setProperty("text-shadow", t8, "");
            }
            if (updateDecoration)
              if (t7) {
                t7 = t4.decorationStyle;
                t6 = t6._mask;
                t8 = (t6 | 1) === t6 ? t3 : "";
                if ((t6 | 2) === t6)
                  t8 += "overline ";
                t6 = (t6 | 4) === t6 ? t8 + "line-through " : t8;
                if (t7 != null)
                  t6 += A.S(A._decorationStyleToCssString(t7));
                textDecoration = t6.length === 0 ? _null : t6.charCodeAt(0) == 0 ? t6 : t6;
                if (textDecoration != null) {
                  t6 = $.$get$_browserEngine();
                  if (t6 === B.BrowserEngine_1) {
                    t6 = lastSpanElement.style;
                    t6.setProperty("-webkit-text-decoration", textDecoration, "");
                  } else
                    t5.setProperty("text-decoration", textDecoration, "");
                  decorationColor = t4.decorationColor;
                  if (decorationColor != null) {
                    t6 = A.colorToCssString(decorationColor);
                    t6.toString;
                    t5.setProperty("text-decoration-color", t6, "");
                  }
                }
              }
            fontFeatures = t4.fontFeatures;
            if (fontFeatures != null && true) {
              t4 = A._fontFeatureListToCss(fontFeatures);
              t5.setProperty("font-feature-settings", t4, "");
            }
            t4 = box.start.index;
            t5 = box.end;
            t6 = box.intersect$4$forPainting(line, t4, t5.index, true);
            t7 = t6.left;
            t8 = t6.top;
            t9 = lastSpanElement.style;
            t9.setProperty("position", "absolute", "");
            t9.setProperty("top", A.S(t8) + "px", "");
            t9.setProperty("left", A.S(t7) + "px", "");
            t9.setProperty("width", A.S(t6.right - t7) + "px", "");
            t9.setProperty("line-height", A.S(t6.bottom - t8) + "px", "");
            t4 = B.JSString_methods.substring$2(box.spanometer.paragraph.plainText, t4, t5.indexWithoutTrailingNewlines);
            lastSpanElement.append(self.document.createTextNode(t4));
            rootElement.append(lastSpanElement);
            buffer._contents += t4;
          } else {
            if (!(box instanceof A.PlaceholderBox))
              throw A.wrapException(A.UnimplementedError$("Unknown box type: " + A.getRuntimeType(box).toString$0(0)));
            lastSpanElement = _null;
          }
        }
        ellipsis = line.ellipsis;
        if (ellipsis != null) {
          t3 = lastSpanElement == null ? rootElement : lastSpanElement;
          t3.append(self.document.createTextNode(ellipsis));
        }
      }
      return rootElement;
    },
    getBoxesForPlaceholders$0() {
      return this.get$_layoutService().getBoxesForPlaceholders$0();
    },
    getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, boxWidthStyle) {
      return this.get$_layoutService().getBoxesForRange$4(start, end, boxHeightStyle, boxWidthStyle);
    },
    getBoxesForRange$3$boxHeightStyle(start, end, boxHeightStyle) {
      return this.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(start, end, boxHeightStyle, B.BoxWidthStyle_0);
    },
    getPositionForOffset$1(offset) {
      return this.get$_layoutService().getPositionForOffset$1(offset);
    },
    getWordBoundary$1(position) {
      var text = this.plainText,
        t1 = position.offset;
      return new A.TextRange(A.WordBreaker__findBreakIndex(B._FindBreakDirection_m1, text, t1 + 1), A.WordBreaker__findBreakIndex(B._FindBreakDirection_1, text, t1));
    },
    getLineBoundary$1(position) {
      var t1, i, line,
        index = position.offset,
        lines = this.get$_layoutService().lines;
      for (t1 = lines.length - 1, i = 0; i < t1; ++i) {
        line = lines[i];
        if (index >= line.startIndex && index < line.endIndex)
          break;
      }
      line = lines[i];
      return new A.TextRange(line.startIndex, line.endIndex);
    },
    computeLineMetrics$0() {
      return this.get$_layoutService().lines;
    }
  };
  A.FlatTextSpan.prototype = {$isParagraphSpan: 1,
    get$end(receiver) {
      return this.end;
    }
  };
  A.PlaceholderSpan.prototype = {$isParagraphSpan: 1,
    get$end(receiver) {
      return this.end;
    }
  };
  A.StyleNode.prototype = {
    resolveStyle$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, _this = this,
        style = _this._cachedStyle;
      if (style == null) {
        t1 = _this.get$_color(_this);
        t2 = _this.get$_decoration();
        t3 = _this.get$_decorationColor();
        t4 = _this.get$_decorationStyle();
        t5 = _this.get$_decorationThickness();
        t6 = _this.get$_fontWeight(_this);
        t7 = _this.get$_fontStyle(_this);
        t8 = _this.get$_textBaseline();
        t9 = _this.get$_fontFamily(_this);
        t10 = _this.get$__engine$_fontFamilyFallback();
        t11 = _this.get$_fontFeatures();
        t12 = _this.get$_fontVariations();
        t13 = _this.get$_fontSize(_this);
        t14 = _this.get$_letterSpacing(_this);
        t15 = _this.get$_wordSpacing(_this);
        t16 = _this.get$__engine$_height(_this);
        t17 = _this.get$_locale();
        t15 = A.EngineTextStyle$only(_this.get$_background(_this), t1, t2, t3, t4, t5, t9, t10, t11, t13, t7, t12, t6, _this.get$_foreground(), t16, t14, t17, _this.get$_shadows(), t8, t15);
        _this._cachedStyle = t15;
        return t15;
      }
      return style;
    }
  };
  A.ChildStyleNode.prototype = {
    get$_color(_) {
      var t1 = this.style.color;
      if (t1 == null)
        if (this.get$_foreground() == null) {
          t1 = this.parent;
          t1 = t1.get$_color(t1);
        } else
          t1 = null;
      return t1;
    },
    get$_decoration() {
      var t1 = this.style.decoration;
      return t1 == null ? this.parent.get$_decoration() : t1;
    },
    get$_decorationColor() {
      var t1 = this.style.decorationColor;
      return t1 == null ? this.parent.get$_decorationColor() : t1;
    },
    get$_decorationStyle() {
      var t1 = this.style.decorationStyle;
      return t1 == null ? this.parent.get$_decorationStyle() : t1;
    },
    get$_decorationThickness() {
      var t1 = this.style.decorationThickness;
      return t1 == null ? this.parent.get$_decorationThickness() : t1;
    },
    get$_fontWeight(_) {
      var t1 = this.style.fontWeight;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_fontWeight(t1);
      }
      return t1;
    },
    get$_fontStyle(_) {
      var t1 = this.style.fontStyle;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_fontStyle(t1);
      }
      return t1;
    },
    get$_textBaseline() {
      var t1 = this.style.textBaseline;
      return t1 == null ? this.parent.get$_textBaseline() : t1;
    },
    get$__engine$_fontFamilyFallback() {
      var t1 = this.style.fontFamilyFallback;
      return t1 == null ? this.parent.get$__engine$_fontFamilyFallback() : t1;
    },
    get$_fontFeatures() {
      var t1 = this.style.fontFeatures;
      return t1 == null ? this.parent.get$_fontFeatures() : t1;
    },
    get$_fontVariations() {
      var t1 = this.parent.get$_fontVariations();
      return t1;
    },
    get$_fontSize(_) {
      var t1 = this.style.fontSize;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_fontSize(t1);
      }
      return t1;
    },
    get$_letterSpacing(_) {
      var t1 = this.style.letterSpacing;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_letterSpacing(t1);
      }
      return t1;
    },
    get$_wordSpacing(_) {
      var t1 = this.style.wordSpacing;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_wordSpacing(t1);
      }
      return t1;
    },
    get$__engine$_height(_) {
      var t1 = this.style.height;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$__engine$_height(t1);
      }
      return t1;
    },
    get$_locale() {
      var t1 = this.style.locale;
      return t1 == null ? this.parent.get$_locale() : t1;
    },
    get$_background(_) {
      var t1 = this.style.background;
      if (t1 == null) {
        t1 = this.parent;
        t1 = t1.get$_background(t1);
      }
      return t1;
    },
    get$_foreground() {
      var t1 = this.style.foreground;
      return t1 == null ? this.parent.get$_foreground() : t1;
    },
    get$_shadows() {
      var t1 = this.style.shadows;
      return t1 == null ? this.parent.get$_shadows() : t1;
    },
    get$_fontFamily(_) {
      var t1 = this.style;
      if (t1.isFontFamilyProvided)
        t1 = t1.fontFamily;
      else {
        t1 = this.parent;
        t1 = t1.get$_fontFamily(t1);
      }
      return t1;
    }
  };
  A.RootStyleNode.prototype = {
    get$_decoration() {
      return null;
    },
    get$_decorationColor() {
      return null;
    },
    get$_decorationStyle() {
      return null;
    },
    get$_decorationThickness() {
      return null;
    },
    get$_fontWeight(_) {
      return this.paragraphStyle.fontWeight;
    },
    get$_fontStyle(_) {
      return this.paragraphStyle.fontStyle;
    },
    get$_textBaseline() {
      return null;
    },
    get$_fontFamily(_) {
      var t1 = this.paragraphStyle.fontFamily;
      return t1 == null ? "sans-serif" : t1;
    },
    get$__engine$_fontFamilyFallback() {
      return null;
    },
    get$_fontFeatures() {
      return null;
    },
    get$_fontVariations() {
      return null;
    },
    get$_fontSize(_) {
      var t1 = this.paragraphStyle.fontSize;
      return t1 == null ? 14 : t1;
    },
    get$_letterSpacing(_) {
      return null;
    },
    get$_wordSpacing(_) {
      return null;
    },
    get$__engine$_height(_) {
      return this.paragraphStyle.height;
    },
    get$_locale() {
      return this.paragraphStyle.locale;
    },
    get$_background(_) {
      return null;
    },
    get$_foreground() {
      return null;
    },
    get$_shadows() {
      return null;
    },
    get$_color() {
      return B.Color_4294901760;
    }
  };
  A.CanvasParagraphBuilder.prototype = {
    get$_currentStyleNode() {
      var t1 = this._styleStack,
        t2 = t1.length;
      return t2 === 0 ? this._rootStyleNode : t1[t2 - 1];
    },
    get$placeholderCount() {
      return this._placeholderCount;
    },
    get$placeholderScales() {
      return this._placeholderScales;
    },
    addPlaceholder$6$baseline$baselineOffset$scale(width, height, alignment, baseline, baselineOffset, scale) {
      var t1, t2, _this = this;
      ++_this._placeholderCount;
      _this._placeholderScales.push(scale);
      t1 = _this._plainTextBuffer._contents;
      t2 = baselineOffset == null ? height : baselineOffset;
      _this._spans.push(new A.PlaceholderSpan(t1.length, width * scale, height * scale, alignment, t2 * scale));
    },
    addPlaceholder$4$scale(width, height, alignment, scale) {
      return this.addPlaceholder$6$baseline$baselineOffset$scale(width, height, alignment, null, null, scale);
    },
    pushStyle$1(style) {
      this._styleStack.push(new A.ChildStyleNode(this.get$_currentStyleNode(), type$.EngineTextStyle._as(style)));
    },
    pop$0() {
      var t1 = this._styleStack;
      if (t1.length !== 0)
        t1.pop();
    },
    addText$1(text) {
      var decoration, _this = this,
        style = _this.get$_currentStyleNode().resolveStyle$0(),
        t1 = _this._plainTextBuffer,
        t2 = t1._contents,
        t3 = t2 + text;
      t1._contents = t3;
      t1 = _this._canDrawOnCanvas;
      if (t1) {
        decoration = style.decoration;
        if (decoration != null) {
          t1 = decoration._mask;
          t1 = B.TextDecoration_0._mask !== t1;
        } else
          t1 = false;
        if (t1) {
          _this._canDrawOnCanvas = false;
          t1 = false;
        } else
          t1 = true;
      }
      if (t1)
        if (style.fontFeatures != null && true) {
          _this._canDrawOnCanvas = false;
          t1 = false;
        } else
          t1 = true;
      t1;
      _this._spans.push(new A.FlatTextSpan(style, t2.length, t3.length));
    },
    build$0() {
      var _this = this,
        t1 = _this._plainTextBuffer._contents;
      return new A.CanvasParagraph(_this._spans, _this._paragraphStyle, t1.charCodeAt(0) == 0 ? t1 : t1, _this._canDrawOnCanvas);
    }
  };
  A.FontCollection.prototype = {
    registerFonts$1(assetManager) {
      return this.registerFonts$body$FontCollection(assetManager);
    },
    registerFonts$body$FontCollection(assetManager) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, exception, t1, fontManifest, t2, t3, t4, t5, t6, t7, family, t8, t9, asset, descriptors, t10, t11, byteData, $async$exception;
      var $async$registerFonts$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
              byteData = null;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(assetManager.load$1(0, "FontManifest.json"), $async$registerFonts$1);
            case 7:
              // returning from await.
              byteData = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (t1 instanceof A.AssetManagerException) {
                e = t1;
                if (e.httpStatus === 404) {
                  $.$get$printWarning().call$1("Font manifest does not exist at `" + e.url + "` \u2013 ignoring.");
                  // goto return
                  $async$goto = 1;
                  break;
                } else
                  throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              fontManifest = type$.nullable_List_dynamic._as(B.C_JsonCodec.decode$1(0, B.Utf8Codec_false.decode$1(0, A.NativeUint8List_NativeUint8List$view(byteData.buffer, 0, null))));
              if (fontManifest == null)
                throw A.wrapException(A.AssertionError$(string$.There_));
              if ($.$get$supportsFontLoadingApi())
                $async$self._assetFontManager = A.FontManager_FontManager();
              else
                $async$self._assetFontManager = new A._PolyfillFontManager(A._setArrayType([], type$.JSArray_Future_void));
              for (t1 = type$.Map_String_dynamic, t2 = J.cast$1$0$ax(fontManifest, t1), t3 = A._instanceType(t2), t2 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListMixin.E>")), t4 = type$.String, t5 = type$.List_dynamic, t3 = t3._eval$1("ListMixin.E"); t2.moveNext$0();) {
                t6 = t2.__internal$_current;
                if (t6 == null)
                  t6 = t3._as(t6);
                t7 = J.getInterceptor$asx(t6);
                family = A._asStringQ(t7.$index(t6, "family"));
                t6 = J.cast$1$0$ax(t5._as(t7.$index(t6, "fonts")), t1);
                for (t7 = A._instanceType(t6), t6 = new A.ListIterator(t6, t6.get$length(t6), t7._eval$1("ListIterator<ListMixin.E>")), t7 = t7._eval$1("ListMixin.E"); t6.moveNext$0();) {
                  t8 = t6.__internal$_current;
                  if (t8 == null)
                    t8 = t7._as(t8);
                  t9 = J.getInterceptor$asx(t8);
                  asset = A._asString(t9.$index(t8, "asset"));
                  descriptors = A.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
                  for (t10 = J.get$iterator$ax(t9.get$keys(t8)); t10.moveNext$0();) {
                    t11 = t10.get$current(t10);
                    if (t11 !== "asset")
                      descriptors.$indexSet(0, t11, A.S(t9.$index(t8, t11)));
                  }
                  t8 = $async$self._assetFontManager;
                  t8.toString;
                  family.toString;
                  t8.registerAsset$3(family, "url(" + assetManager.getAssetUrl$1(asset) + ")", descriptors);
                }
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$registerFonts$1, $async$completer);
    },
    ensureFontsLoaded$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$ensureFontsLoaded$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._assetFontManager;
              $async$goto = 2;
              return A._asyncAwait(t1 == null ? null : A.Future_wait(t1._fontLoadingFutures, type$.void), $async$ensureFontsLoaded$0);
            case 2:
              // returning from await.
              t1 = $async$self._testFontManager;
              $async$goto = 3;
              return A._asyncAwait(t1 == null ? null : A.Future_wait(t1._fontLoadingFutures, type$.void), $async$ensureFontsLoaded$0);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$ensureFontsLoaded$0, $async$completer);
    },
    clear$0(_) {
      this._testFontManager = this._assetFontManager = null;
      if ($.$get$supportsFontsClearApi())
        self.document.fonts.clear();
    }
  };
  A.FontManager.prototype = {
    registerAsset$3(family, asset, descriptors) {
      var t1 = $.$get$FontManager_startWithDigit()._nativeRegExp;
      if (t1.test(family) || $.$get$FontManager_notPunctuation().stringMatch$1(family) !== family)
        this._loadFontFace$3("'" + family + "'", asset, descriptors);
      this._loadFontFace$3(family, asset, descriptors);
    },
    _loadFontFace$3(family, asset, descriptors) {
      var fontFace, e, t1, t2, exception;
      try {
        t1 = A._setArrayType([family, asset], type$.JSArray_Object);
        t1.push(A.jsify(descriptors));
        t1 = A.domCallConstructorString("FontFace", t1);
        t1.toString;
        t2 = type$.JavaScriptObject;
        fontFace = t2._as(t1);
        this._fontLoadingFutures.push(A.promiseToFuture(fontFace.load(), t2).then$1$2$onError(new A.FontManager__loadFontFace_closure(fontFace), new A.FontManager__loadFontFace_closure0(family), type$.void));
      } catch (exception) {
        e = A.unwrapException(exception);
        $.$get$printWarning().call$1('Error while loading font family "' + family + '":\n' + A.S(e));
      }
    }
  };
  A.FontManager__loadFontFace_closure.prototype = {
    call$1(_) {
      self.document.fonts.add(this.fontFace);
    },
    $signature: 265
  };
  A.FontManager__loadFontFace_closure0.prototype = {
    call$1(e) {
      $.$get$printWarning().call$1('Error while trying to load font family "' + this.family + '":\n' + A.S(e));
    },
    $signature: 9
  };
  A._PolyfillFontManager.prototype = {
    registerAsset$3(family, asset, descriptors) {
      var t1, fallbackFontName, t2, sansSerifWidth, _fontLoadStart, t3, fontStyleMap, fontFaceDeclaration, fontLoadStyle, _s5_ = "style",
        _s11_ = "font-family",
        _s10_ = "font-style",
        _s6_ = "weight",
        _s11_0 = "font-weight",
        paragraph = A.DomDocumentExtension_createElement(self.document, "p");
      A.DomCSSStyleDeclarationExtension_setProperty(paragraph.style, "position", "absolute");
      A.DomCSSStyleDeclarationExtension_setProperty(paragraph.style, "visibility", "hidden");
      A.DomCSSStyleDeclarationExtension_setProperty(paragraph.style, "font-size", "72px");
      t1 = $.$get$_browserEngine();
      fallbackFontName = t1 === B.BrowserEngine_4 ? "Times New Roman" : "sans-serif";
      A.DomCSSStyleDeclarationExtension_setProperty(paragraph.style, _s11_, fallbackFontName);
      if (descriptors.$index(0, _s5_) != null) {
        t1 = paragraph.style;
        t2 = descriptors.$index(0, _s5_);
        t2.toString;
        A.DomCSSStyleDeclarationExtension_setProperty(t1, _s10_, t2);
      }
      if (descriptors.$index(0, _s6_) != null) {
        t1 = paragraph.style;
        t2 = descriptors.$index(0, _s6_);
        t2.toString;
        A.DomCSSStyleDeclarationExtension_setProperty(t1, _s11_0, t2);
      }
      paragraph.textContent = "giItT1WQy@!-/#";
      self.document.body.append(paragraph);
      sansSerifWidth = A._asInt(paragraph.offsetWidth);
      t1 = "'" + family;
      A.DomCSSStyleDeclarationExtension_setProperty(paragraph.style, _s11_, t1 + "', " + fallbackFontName);
      t2 = new A._Future($.Zone__current, type$._Future_void);
      _fontLoadStart = A._Cell$named("_fontLoadStart");
      t3 = type$.String;
      fontStyleMap = A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_String);
      fontStyleMap.$indexSet(0, _s11_, t1 + "'");
      fontStyleMap.$indexSet(0, "src", asset);
      if (descriptors.$index(0, _s5_) != null)
        fontStyleMap.$indexSet(0, _s10_, descriptors.$index(0, _s5_));
      if (descriptors.$index(0, _s6_) != null)
        fontStyleMap.$indexSet(0, _s11_0, descriptors.$index(0, _s6_));
      t1 = fontStyleMap.$ti._eval$1("LinkedHashMapKeyIterable<1>");
      fontFaceDeclaration = A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(fontStyleMap, t1), new A._PolyfillFontManager_registerAsset_closure(fontStyleMap), t1._eval$1("Iterable.E"), t3).join$1(0, " ");
      fontLoadStyle = A.DomHTMLStyleElement$(null);
      fontLoadStyle.type = "text/css";
      fontLoadStyle.innerHtml = "@font-face { " + fontFaceDeclaration + " }";
      self.document.head.append(fontLoadStyle);
      if (B.JSString_methods.contains$1(family.toLowerCase(), "icon")) {
        paragraph.remove();
        return;
      }
      _fontLoadStart.__late_helper$_value = new A.DateTime(Date.now(), false);
      new A._PolyfillFontManager_registerAsset__watchWidth(paragraph, sansSerifWidth, new A._AsyncCompleter(t2, type$._AsyncCompleter_void), _fontLoadStart, family).call$0();
      this._fontLoadingFutures.push(t2);
    }
  };
  A._PolyfillFontManager_registerAsset__watchWidth.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.paragraph;
      if (A._asInt(t1.offsetWidth) !== _this.sansSerifWidth) {
        t1.remove();
        _this.completer.complete$0(0);
      } else if (A.Duration$(0, Date.now() - _this._fontLoadStart._readLocal$0()._value)._duration > 2000000) {
        _this.completer.complete$0(0);
        throw A.wrapException(A.Exception_Exception("Timed out trying to load font: " + _this.family));
      } else
        A.Timer_Timer(B.Duration_50000, _this);
    },
    $signature: 0
  };
  A._PolyfillFontManager_registerAsset_closure.prototype = {
    call$1($name) {
      return $name + ": " + A.S(this.fontStyleMap.$index(0, $name)) + ";";
    },
    $signature: 15
  };
  A.TextLayoutService.prototype = {
    performLayout$1(constraints) {
      var t4, spanometer, currentLine, t5, t6, t7, t8, t9, spanIndex, span, nextBreak, t10, additionalWidth, revertedToSpan, boundsLeft, boundsRight, _i, line, longestLineWidth, left, right, lastLine, shouldJustifyParagraph, breakToNextLine, widthOfLastSegment, _this = this,
        t1 = _this.paragraph,
        t2 = t1.spans,
        spanCount = t2.length,
        t3 = _this.width = constraints.width;
      _this.height = 0;
      _this.longestLine = null;
      _this.maxIntrinsicWidth = _this.minIntrinsicWidth = 0;
      _this.didExceedMaxLines = false;
      t4 = _this.lines;
      B.JSArray_methods.clear$0(t4);
      if (spanCount === 0)
        return;
      spanometer = new A.Spanometer(t1, _this.context);
      currentLine = A.LineBuilder$_(t1, spanometer, 0, 0, t3, B.LineBreakResult_vhn);
      for (t5 = t1.paragraphStyle, t6 = t5.maxLines, t7 = t5.ellipsis, t8 = t7 != null, t9 = t6 == null, spanIndex = 0; true;) {
        if (spanIndex === spanCount) {
          if (currentLine._segments.length !== 0 || currentLine.__engine$_end.type !== B.LineBreakType_3) {
            currentLine.extendToEndOfText$0();
            t4.push(currentLine.build$0());
          }
          break;
        }
        span = t2[spanIndex];
        if (span instanceof A.PlaceholderSpan) {
          if (currentLine.widthIncludingSpace + span.width <= t3)
            currentLine.addPlaceholder$1(span);
          else {
            if (currentLine._segments.length !== 0) {
              t4.push(currentLine.build$0());
              currentLine = currentLine.nextLine$0();
            }
            currentLine.addPlaceholder$1(span);
          }
          ++spanIndex;
        } else if (span instanceof A.FlatTextSpan) {
          spanometer.set$currentSpan(span);
          nextBreak = currentLine.findNextBreak$0();
          t10 = nextBreak.lineBreak;
          additionalWidth = currentLine.getAdditionalWidthTo$1(t10);
          if (currentLine.width + additionalWidth <= t3) {
            currentLine.extendTo$1(nextBreak);
            if (t10.type === B.LineBreakType_2) {
              t4.push(currentLine.build$0());
              currentLine = currentLine.nextLine$0();
            }
          } else if ((t8 && t9 || t4.length + 1 === t6) && t8) {
            currentLine.forceBreak$3$allowEmpty$ellipsis(nextBreak, true, t7);
            t4.push(currentLine.build$1$ellipsis(t7));
            break;
          } else if (!currentLine.isBreakable) {
            currentLine.forceBreak$2$allowEmpty(nextBreak, false);
            t4.push(currentLine.build$0());
            currentLine = currentLine.nextLine$0();
          } else {
            currentLine.revertToLastBreakOpportunity$0();
            revertedToSpan = B.JSArray_methods.get$last(currentLine._segments).span;
            for (; span !== revertedToSpan;) {
              --spanIndex;
              span = t2[spanIndex];
            }
            t4.push(currentLine.build$0());
            currentLine = currentLine.nextLine$0();
          }
          if (currentLine.__engine$_end.index >= span.get$end(span)) {
            currentLine.createBox$0();
            ++spanIndex;
          }
        } else
          throw A.wrapException(A.UnimplementedError$("Unknown span type: " + A.getRuntimeType(span).toString$0(0)));
        if (t4.length === t6)
          break;
      }
      for (t6 = t4.length, boundsLeft = 1 / 0, boundsRight = -1 / 0, _i = 0; _i < t6; ++_i) {
        line = t4[_i];
        _this.height = _this.height + line.height;
        if (_this.alphabeticBaseline === -1) {
          t7 = line.baseline;
          _this.alphabeticBaseline = t7;
          _this.ideographicBaseline = t7 * 1.1662499904632568;
        }
        t7 = _this.longestLine;
        longestLineWidth = t7 == null ? null : t7.width;
        if (longestLineWidth == null)
          longestLineWidth = 0;
        t7 = line.width;
        if (longestLineWidth < t7)
          _this.longestLine = line;
        left = line.left;
        if (left < boundsLeft)
          boundsLeft = left;
        right = left + t7;
        if (right > boundsRight)
          boundsRight = right;
      }
      _this._paintBounds = new A.Rect(boundsLeft, 0, boundsRight, _this.height);
      if (t6 !== 0) {
        lastLine = B.JSArray_methods.get$last(t4);
        shouldJustifyParagraph = isFinite(_this.width) && t5.textAlign === B.TextAlign_3;
        for (t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          line = t4[_i];
          _this._positionLineBoxes$2$withJustification(line, shouldJustifyParagraph && !line.$eq(0, lastLine));
        }
      }
      currentLine = A.LineBuilder$_(t1, spanometer, 0, 0, t3, B.LineBreakResult_vhn);
      for (spanIndex = 0; spanIndex < spanCount;) {
        span = t2[spanIndex];
        if (span instanceof A.PlaceholderSpan) {
          currentLine.addPlaceholder$1(span);
          ++spanIndex;
          breakToNextLine = false;
        } else if (span instanceof A.FlatTextSpan) {
          spanometer.set$currentSpan(span);
          nextBreak = currentLine.findNextBreak$0();
          currentLine.extendTo$1(nextBreak);
          breakToNextLine = nextBreak.lineBreak.type === B.LineBreakType_2 && true;
          if (currentLine.__engine$_end.index >= span.end)
            ++spanIndex;
        } else
          breakToNextLine = false;
        widthOfLastSegment = B.JSArray_methods.get$last(currentLine._segments).width;
        if (_this.minIntrinsicWidth < widthOfLastSegment)
          _this.minIntrinsicWidth = widthOfLastSegment;
        t1 = _this.maxIntrinsicWidth;
        t3 = currentLine.widthIncludingSpace;
        if (t1 < t3)
          _this.maxIntrinsicWidth = t3;
        if (breakToNextLine)
          currentLine = currentLine.nextLine$0();
      }
    },
    _positionLineBoxes$2$withJustification(line, withJustification) {
      var t1, t2, i, cumulativeWidth, t3, box, t4, t5, i0, lastNonSpaceBox, t6,
        boxes = line.boxes,
        justifyPerSpaceBox = withJustification ? this._calculateJustifyPerSpaceBox$1(line) : 0;
      for (t1 = this.paragraph.paragraphStyle.textDirection, t2 = line.width, i = 0, cumulativeWidth = 0; t3 = boxes.length, i < t3;) {
        box = boxes[i];
        t4 = t1 == null;
        t5 = t4 ? B.TextDirection_1 : t1;
        if (box.boxDirection === t5) {
          if (box.__RangeBox_startOffset !== $)
            A.throwUnnamedLateFieldAI();
          box.__RangeBox_startOffset = cumulativeWidth;
          if (box.__RangeBox_lineWidth !== $)
            A.throwUnnamedLateFieldAI();
          box.__RangeBox_lineWidth = t2;
          if (box instanceof A.SpanBox && box.isSpaceOnly && !box._isTrailingSpace)
            box.__engine$_width += justifyPerSpaceBox;
          cumulativeWidth += box.get$width(box);
          ++i;
          continue;
        }
        i0 = i + 1;
        lastNonSpaceBox = i;
        while (true) {
          if (i0 < t3) {
            t5 = boxes[i0];
            t6 = t4 ? B.TextDirection_1 : t1;
            t6 = t5.boxDirection !== t6;
            t5 = t6;
          } else
            t5 = false;
          if (!t5)
            break;
          box = boxes[i0];
          lastNonSpaceBox = box instanceof A.SpanBox && box.isSpaceOnly ? lastNonSpaceBox : i0;
          ++i0;
        }
        i0 = lastNonSpaceBox + 1;
        cumulativeWidth += this._positionLineBoxesInReverse$5$justifyPerSpaceBox$startOffset(line, i, lastNonSpaceBox, justifyPerSpaceBox, cumulativeWidth);
        i = i0;
      }
    },
    _positionLineBoxesInReverse$5$justifyPerSpaceBox$startOffset(line, first, last, justifyPerSpaceBox, startOffset) {
      var t1, i, cumulativeWidth, box,
        boxes = line.boxes;
      for (t1 = line.width, i = last, cumulativeWidth = 0; i >= first; --i) {
        box = boxes[i];
        if (box.__RangeBox_startOffset !== $)
          A.throwUnnamedLateFieldAI();
        box.__RangeBox_startOffset = startOffset + cumulativeWidth;
        if (box.__RangeBox_lineWidth !== $)
          A.throwUnnamedLateFieldAI();
        box.__RangeBox_lineWidth = t1;
        if (box instanceof A.SpanBox && box.isSpaceOnly && !box._isTrailingSpace)
          box.__engine$_width += justifyPerSpaceBox;
        cumulativeWidth += box.get$width(box);
      }
      return cumulativeWidth;
    },
    _calculateJustifyPerSpaceBox$1(line) {
      var t1 = this.width,
        spaceBoxesToJustify = line.spaceBoxCount - line.trailingSpaceBoxCount;
      if (spaceBoxesToJustify > 0)
        return (t1 - line.width) / spaceBoxesToJustify;
      return 0;
    },
    getBoxesForPlaceholders$0() {
      var t1, t2, _i, line, t3, t4, $top, lineTop, t5, t6, t7, _i0, box, t8, t9, t10, t11, top0,
        boxes = A._setArrayType([], type$.JSArray_TextBox);
      for (t1 = this.lines, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        line = t1[_i];
        for (t3 = line.boxes, t4 = t3.length, $top = line.baseline, lineTop = $top - line.ascent, t5 = line.left, t6 = line.height, t7 = lineTop + t6, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
          box = t3[_i0];
          if (box instanceof A.PlaceholderBox) {
            t8 = box.paragraphDirection;
            t9 = t8 === B.TextDirection_1;
            t10 = box.__RangeBox_startOffset;
            if (t9) {
              if (t10 === $)
                A.throwUnnamedLateFieldNI();
            } else {
              t11 = box.__RangeBox_lineWidth;
              if (t11 === $)
                A.throwUnnamedLateFieldNI();
              if (t10 === $)
                A.throwUnnamedLateFieldNI();
              t10 = t11 - (t10 + box.get$width(box));
            }
            t11 = box.__RangeBox_startOffset;
            if (t9) {
              if (t11 === $)
                A.throwUnnamedLateFieldNI();
              t9 = t11 + box.get$width(box);
            } else {
              t9 = box.__RangeBox_lineWidth;
              if (t9 === $)
                A.throwUnnamedLateFieldNI();
              if (t11 === $)
                A.throwUnnamedLateFieldNI();
              t11 = t9 - t11;
              t9 = t11;
            }
            t11 = box.placeholder;
            switch (t11.alignment.index) {
              case 3:
                top0 = lineTop;
                break;
              case 5:
                top0 = lineTop + (t6 - t11.height) / 2;
                break;
              case 4:
                top0 = t7 - t11.height;
                break;
              case 1:
                top0 = $top - t11.height;
                break;
              case 2:
                top0 = $top;
                break;
              case 0:
                top0 = $top - t11.baselineOffset;
                break;
              default:
                top0 = null;
            }
            boxes.push(new A.TextBox(t5 + t10, top0, t5 + t9, top0 + t11.height, t8));
          }
        }
      }
      return boxes;
    },
    getBoxesForRange$4(start, end, boxHeightStyle, boxWidthStyle) {
      var $length, boxes, t1, t2, _i, line, t3, t4, _i0, box;
      if (start >= end || start < 0 || end < 0)
        return A._setArrayType([], type$.JSArray_TextBox);
      $length = this.paragraph.plainText.length;
      if (start > $length || end > $length)
        return A._setArrayType([], type$.JSArray_TextBox);
      boxes = A._setArrayType([], type$.JSArray_TextBox);
      for (t1 = this.lines, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        line = t1[_i];
        if (start < line.endIndex && line.startIndex < end)
          for (t3 = line.boxes, t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
            box = t3[_i0];
            if (box instanceof A.SpanBox && start < box.end.index && box.start.index < end)
              boxes.push(box.intersect$4$forPainting(line, start, end, false));
          }
      }
      return boxes;
    },
    getPositionForOffset$1(offset) {
      var dx, _i, box, t3, t4, t5,
        line = this._findLineForY$1(offset._dy),
        t1 = offset._dx,
        t2 = line.left;
      if (t1 <= t2)
        return new A.TextPosition(line.startIndex, B.TextAffinity_1);
      if (t1 >= t2 + line.widthWithTrailingSpaces)
        return new A.TextPosition(line.endIndexWithoutNewlines, B.TextAffinity_0);
      dx = t1 - t2;
      for (t1 = line.boxes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        box = t1[_i];
        t3 = box.paragraphDirection === B.TextDirection_1;
        t4 = box.__RangeBox_startOffset;
        if (t3) {
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
        } else {
          t5 = box.__RangeBox_lineWidth;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t4 = t5 - (t4 + box.get$width(box));
        }
        if (t4 <= dx) {
          t4 = box.__RangeBox_startOffset;
          if (t3) {
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t3 = t4 + box.get$width(box);
          } else {
            t3 = box.__RangeBox_lineWidth;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t4 = t3 - t4;
            t3 = t4;
          }
          t3 = dx <= t3;
        } else
          t3 = false;
        if (t3)
          return box.getPositionForX$1(dx);
      }
      return new A.TextPosition(line.startIndex, B.TextAffinity_1);
    },
    _findLineForY$1(y) {
      var t1, t2, _i, line, t3;
      for (t1 = this.lines, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        line = t1[_i];
        t3 = line.height;
        if (y <= t3)
          return line;
        y -= t3;
      }
      return B.JSArray_methods.get$last(t1);
    }
  };
  A.RangeBox.prototype = {
    get$left(_) {
      var t2, _this = this,
        t1 = _this.__RangeBox_startOffset;
      if (_this.paragraphDirection === B.TextDirection_1) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
      } else {
        t2 = _this.__RangeBox_lineWidth;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t2 - (t1 + _this.get$width(_this));
      }
      return t1;
    },
    get$right(_) {
      var t2, _this = this,
        t1 = _this.__RangeBox_startOffset;
      if (_this.paragraphDirection === B.TextDirection_1) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 += _this.get$width(_this);
      } else {
        t2 = _this.__RangeBox_lineWidth;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t2 - t1;
      }
      return t1;
    }
  };
  A.PlaceholderBox.prototype = {
    get$width(_) {
      return this.placeholder.width;
    },
    getPositionForX$1(x) {
      var _this = this,
        t1 = x - _this.get$left(_this) < _this.get$right(_this) - x ? B.TextAffinity_0 : B.TextAffinity_1;
      return new A.TextPosition(_this.start.index, t1);
    }
  };
  A.SpanBox.prototype = {
    get$width(_) {
      return this.__engine$_width;
    },
    intersect$4$forPainting(line, start, end, forPainting) {
      var before, t2, after, left, right, _this = this,
        $top = line.baseline - _this.baseline,
        t1 = _this.start.index;
      if (start <= t1)
        before = 0;
      else {
        t2 = _this.spanometer;
        t2.set$currentSpan(_this.span);
        before = t2._measure$2(t1, start);
      }
      t1 = _this.end.indexWithoutTrailingNewlines;
      if (end >= t1)
        after = 0;
      else {
        t2 = _this.spanometer;
        t2.set$currentSpan(_this.span);
        after = t2._measure$2(end, t1);
      }
      t1 = _this.contentDirection;
      if (t1 === B.TextDirection_1) {
        left = _this.get$left(_this) + before;
        right = _this.get$right(_this) - after;
      } else {
        left = _this.get$left(_this) + after;
        right = _this.get$right(_this) - before;
      }
      if (forPainting && _this._isTrailingSpace)
        if (_this.paragraphDirection === B.TextDirection_1)
          right = left;
        else
          left = right;
      t2 = line.left;
      return new A.TextBox(t2 + left, $top, t2 + right, $top + _this.height, t1);
    },
    getPositionForX$1(x) {
      var startIndex, endIndex, cutoff, t2, _this = this,
        t1 = _this.spanometer;
      t1.set$currentSpan(_this.span);
      x = _this.contentDirection !== B.TextDirection_1 ? _this.get$right(_this) - x : x - _this.get$left(_this);
      startIndex = _this.start.index;
      endIndex = _this.end.indexWithoutTrailingNewlines;
      cutoff = t1.forceBreak$4$allowEmpty$availableWidth(startIndex, endIndex, true, x);
      if (cutoff === endIndex)
        return new A.TextPosition(cutoff, B.TextAffinity_0);
      t2 = cutoff + 1;
      if (x - t1._measure$2(startIndex, cutoff) < t1._measure$2(startIndex, t2) - x)
        return new A.TextPosition(cutoff, B.TextAffinity_1);
      else
        return new A.TextPosition(t2, B.TextAffinity_0);
    }
  };
  A.LineSegment.prototype = {};
  A.LineBuilder.prototype = {
    set$end(_, value) {
      if (value.type !== B.LineBreakType_1)
        this.isBreakable = true;
      this.__engine$_end = value;
    },
    get$alignOffset() {
      var emptySpace = this.maxWidth - this.width,
        t1 = this.paragraph.paragraphStyle;
      switch (t1.textAlign.index) {
        case 2:
          return emptySpace / 2;
        case 1:
          return emptySpace;
        case 4:
          t1 = t1.textDirection;
          return (t1 == null ? B.TextDirection_1 : t1) === B.TextDirection_0 ? emptySpace : 0;
        case 5:
          t1 = t1.textDirection;
          return (t1 == null ? B.TextDirection_1 : t1) === B.TextDirection_0 ? 0 : emptySpace;
        default:
          return 0;
      }
    },
    getAdditionalWidthTo$1(newEnd) {
      var _this = this,
        t1 = _this.__engine$_end.index,
        t2 = newEnd.indexWithoutTrailingSpaces;
      if (t1 === t2)
        return 0;
      return _this.widthIncludingSpace - _this.width + _this.spanometer._measure$2(t1, t2);
    },
    get$_isLastBoxAPlaceholder() {
      var t1 = this._boxes;
      if (t1.length === 0)
        return false;
      return B.JSArray_methods.get$last(t1) instanceof A.PlaceholderBox;
    },
    get$_currentBoxDirection() {
      var value = this.__LineBuilder__currentBoxDirection;
      if (value === $) {
        value = this.paragraph.paragraphStyle.textDirection;
        value = this.__LineBuilder__currentBoxDirection = value == null ? B.TextDirection_1 : value;
      }
      return value;
    },
    get$_currentContentDirection() {
      var value = this.__LineBuilder__currentContentDirection;
      if (value === $) {
        value = this.paragraph.paragraphStyle.textDirection;
        value = this.__LineBuilder__currentContentDirection = value == null ? B.TextDirection_1 : value;
      }
      return value;
    },
    extendTo$1(newEnd) {
      var _this = this,
        t1 = _this.ascent,
        t2 = _this.spanometer,
        t3 = t2._currentRuler;
      _this.ascent = Math.max(t1, t3.get$alphabeticBaseline(t3));
      t3 = _this.descent;
      t1 = t2._currentRuler;
      t1 = t1.get$height(t1);
      t2 = t2._currentRuler;
      _this.descent = Math.max(t3, t1 - t2.get$alphabeticBaseline(t2));
      t1 = newEnd.isSpaceOnly;
      if (!t1) {
        t2 = newEnd.textDirection;
        t2 = _this.get$_currentBoxDirection() !== t2 || _this.get$_currentContentDirection() !== t2;
      } else
        t2 = true;
      if (t2)
        _this.createBox$0();
      t2 = newEnd.textDirection;
      t3 = t2 == null;
      _this.__LineBuilder__currentBoxDirection = t3 ? _this.get$_currentBoxDirection() : t2;
      _this.__LineBuilder__currentContentDirection = t3 ? B.TextDirection_1 : t2;
      _this._addSegment$1(_this._createSegment$1(newEnd.lineBreak));
      if (t1)
        _this.createBox$1$isSpaceOnly(true);
    },
    extendToEndOfText$0() {
      var t1, endOfText, t2, t3, _this = this;
      if (_this.__engine$_end.type === B.LineBreakType_3)
        return;
      t1 = _this.paragraph.plainText.length;
      endOfText = new A.LineBreakResult(t1, t1, t1, B.LineBreakType_3);
      t1 = _this.spanometer;
      if (t1._currentSpan != null) {
        t2 = _this.ascent;
        t3 = t1._currentRuler;
        _this.ascent = Math.max(t2, t3.get$alphabeticBaseline(t3));
        t3 = _this.descent;
        t2 = t1._currentRuler;
        t2 = t2.get$height(t2);
        t1 = t1._currentRuler;
        _this.descent = Math.max(t3, t2 - t1.get$alphabeticBaseline(t1));
        _this._addSegment$1(_this._createSegment$1(endOfText));
      } else
        _this.set$end(0, endOfText);
    },
    addPlaceholder$1(placeholder) {
      var ascent, descent, t1, t2, diff, _this = this;
      switch (placeholder.alignment.index) {
        case 3:
          ascent = _this.ascent;
          descent = placeholder.height - ascent;
          break;
        case 4:
          descent = _this.descent;
          ascent = placeholder.height - descent;
          break;
        case 5:
          t1 = _this.ascent;
          t2 = _this.descent;
          diff = placeholder.height / 2 - (t1 + t2) / 2;
          ascent = t1 + diff;
          descent = t2 + diff;
          break;
        case 1:
          ascent = placeholder.height;
          descent = 0;
          break;
        case 2:
          descent = placeholder.height;
          ascent = 0;
          break;
        case 0:
          ascent = placeholder.baselineOffset;
          descent = placeholder.height - ascent;
          break;
        default:
          ascent = null;
          descent = null;
      }
      _this.ascent = Math.max(_this.ascent, A.checkNum(ascent));
      _this.descent = Math.max(_this.descent, A.checkNum(descent));
      t1 = _this.__engine$_end;
      t2 = placeholder.width;
      _this._addSegment$1(new A.LineSegment(placeholder, t1, t1, t2, t2));
      t2 = _this.get$_currentBoxStart();
      t1 = _this.paragraph.paragraphStyle.textDirection;
      if (t1 == null)
        t1 = B.TextDirection_1;
      _this._boxes.push(new A.PlaceholderBox(placeholder, t2, t2, t1, _this.get$_currentBoxDirection()));
      _this._currentBoxStartOffset = _this.widthIncludingSpace;
      _this.isBreakable = true;
    },
    _createSegment$1(segmentEnd) {
      var t3,
        segmentStart = this.__engine$_end,
        t1 = this.spanometer,
        t2 = t1._currentSpan;
      t2.toString;
      t3 = segmentStart.index;
      return new A.LineSegment(t2, segmentStart, segmentEnd, t1._measure$2(t3, segmentEnd.indexWithoutTrailingSpaces), t1._measure$2(t3, segmentEnd.indexWithoutTrailingNewlines));
    },
    _addSegment$1(segment) {
      var t1, t2, _this = this;
      _this._segments.push(segment);
      t1 = segment.width;
      if (t1 !== 0) {
        t2 = _this.width;
        _this.width = t2 + (_this.widthIncludingSpace - t2 + t1);
      }
      _this.widthIncludingSpace = _this.widthIncludingSpace + segment.widthIncludingSpace;
      _this.set$end(0, segment.end);
    },
    _popSegment$0() {
      var t2, i, widthOfTrailingSpace, poppedBox, _this = this,
        t1 = _this._segments,
        poppedSegment = t1.pop();
      if (t1.length === 0) {
        _this.widthIncludingSpace = _this.width = 0;
        _this.set$end(0, _this.start);
      } else {
        _this.widthIncludingSpace = _this.widthIncludingSpace - poppedSegment.widthIncludingSpace;
        _this.set$end(0, B.JSArray_methods.get$last(t1).end);
        t2 = poppedSegment.width;
        if (t2 !== 0) {
          _this.width -= t2;
          i = t1.length - 1;
          widthOfTrailingSpace = 0;
          while (true) {
            t2 = i >= 0;
            if (!(t2 && t1[i].width === 0))
              break;
            widthOfTrailingSpace += t1[i].widthIncludingSpace;
            --i;
          }
          if (t2) {
            t1 = t1[i];
            widthOfTrailingSpace += t1.widthIncludingSpace - t1.width;
          }
          _this.width -= widthOfTrailingSpace;
        }
      }
      if (_this.get$_currentBoxStart().index > poppedSegment.start.index) {
        poppedBox = _this._boxes.pop();
        _this._currentBoxStartOffset = _this._currentBoxStartOffset - poppedBox.get$width(poppedBox);
        if (poppedBox instanceof A.SpanBox && poppedBox.isSpaceOnly)
          --_this._spaceBoxCount;
      }
      return poppedSegment;
    },
    forceBreak$3$allowEmpty$ellipsis(nextBreak, allowEmpty, ellipsis) {
      var t1, t2, breakingPoint, availableWidth, segmentToBreak, _this = this;
      if (ellipsis == null) {
        t1 = _this.widthIncludingSpace;
        t2 = nextBreak.lineBreak.indexWithoutTrailingSpaces;
        breakingPoint = _this.spanometer.forceBreak$4$allowEmpty$availableWidth(_this.__engine$_end.index, t2, allowEmpty, _this.maxWidth - t1);
        if (breakingPoint === t2)
          _this.extendTo$1(nextBreak);
        else
          _this.extendTo$1(new A.DirectionalPosition(new A.LineBreakResult(breakingPoint, breakingPoint, breakingPoint, B.LineBreakType_1), nextBreak.textDirection, nextBreak.isSpaceOnly));
        return;
      }
      t1 = _this.spanometer;
      availableWidth = _this.maxWidth - A.measureSubstring(t1.context, ellipsis, 0, ellipsis.length, null);
      segmentToBreak = _this._createSegment$1(nextBreak.lineBreak);
      t2 = _this._segments;
      while (true) {
        if (!(t2.length !== 0 && _this.widthIncludingSpace > availableWidth))
          break;
        segmentToBreak = _this._popSegment$0();
      }
      t1.set$currentSpan(type$.FlatTextSpan._as(segmentToBreak.span));
      breakingPoint = t1.forceBreak$4$allowEmpty$availableWidth(segmentToBreak.start.index, segmentToBreak.end.index, allowEmpty, availableWidth - _this.widthIncludingSpace);
      t1 = _this._boxes;
      while (true) {
        if (!(t1.length !== 0 && B.JSArray_methods.get$last(t1).end.index > breakingPoint))
          break;
        t1.pop();
      }
      _this._currentBoxStartOffset = _this.widthIncludingSpace;
      _this.extendTo$1(new A.DirectionalPosition(new A.LineBreakResult(breakingPoint, breakingPoint, breakingPoint, B.LineBreakType_1), nextBreak.textDirection, nextBreak.isSpaceOnly));
    },
    forceBreak$2$allowEmpty(nextBreak, allowEmpty) {
      return this.forceBreak$3$allowEmpty$ellipsis(nextBreak, allowEmpty, null);
    },
    revertToLastBreakOpportunity$0() {
      for (; this.__engine$_end.type === B.LineBreakType_1;)
        this._popSegment$0();
    },
    get$_currentBoxStart() {
      var t1 = this._boxes;
      if (t1.length === 0)
        return this.start;
      return B.JSArray_methods.get$last(t1).end;
    },
    createBox$1$isSpaceOnly(isSpaceOnly) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, _this = this,
        boxStart = _this.get$_currentBoxStart(),
        boxEnd = _this.__engine$_end;
      if (boxStart.index === boxEnd.index)
        return;
      t1 = _this.spanometer;
      t2 = _this.widthIncludingSpace;
      t3 = _this._currentBoxStartOffset;
      t4 = _this.paragraph.paragraphStyle.textDirection;
      if (t4 == null)
        t4 = B.TextDirection_1;
      t5 = _this.get$_currentBoxDirection();
      t6 = _this.get$_currentContentDirection();
      t7 = t1._currentSpan;
      t7.toString;
      t8 = t1._currentRuler;
      t8 = t8.get$height(t8);
      t9 = t1._currentRuler;
      _this._boxes.push(new A.SpanBox(t1, t7, t6, isSpaceOnly, t2 - t3, t8, t9.get$alphabeticBaseline(t9), boxStart, boxEnd, t4, t5));
      if (isSpaceOnly)
        ++_this._spaceBoxCount;
      _this._currentBoxStartOffset = _this.widthIncludingSpace;
    },
    createBox$0() {
      return this.createBox$1$isSpaceOnly(false);
    },
    build$1$ellipsis(ellipsis) {
      var ellipsisWidth, t1, t2, endIndexWithoutNewlines, hardBreak, t3, t4, t5, t6, t7, _this = this;
      _this.createBox$0();
      ellipsisWidth = ellipsis == null ? 0 : A.measureSubstring(_this.spanometer.context, ellipsis, 0, ellipsis.length, null);
      t1 = _this.start.index;
      t2 = _this.__engine$_end;
      endIndexWithoutNewlines = Math.max(t1, t2.indexWithoutTrailingNewlines);
      if (t2.type !== B.LineBreakType_3 && _this.get$_isLastBoxAPlaceholder())
        hardBreak = false;
      else {
        t2 = _this.__engine$_end.type;
        hardBreak = t2 === B.LineBreakType_2 || t2 === B.LineBreakType_3;
      }
      _this._processTrailingSpaces$0();
      t2 = _this.__engine$_end;
      t3 = _this.width;
      t4 = _this.widthIncludingSpace;
      t5 = _this.get$alignOffset();
      t6 = _this.ascent;
      t7 = _this.descent;
      return new A.EngineLineMetrics(ellipsis, t1, t2.index, endIndexWithoutNewlines, _this._boxes, _this._spaceBoxCount, _this._trailingSpaceBoxCount, hardBreak, t6, t7, t6 + t7, t3 + ellipsisWidth, t4 + ellipsisWidth, t5, _this.accumulatedHeight + t6, _this.lineNumber);
    },
    build$0() {
      return this.build$1$ellipsis(null);
    },
    _processTrailingSpaces$0() {
      var t1, i, t2, box;
      this._trailingSpaceBoxCount = 0;
      for (t1 = this._boxes, i = t1.length - 1, t2 = 0; i >= 0; --i) {
        box = t1[i];
        if (!(box instanceof A.SpanBox && box.isSpaceOnly))
          break;
        box._isTrailingSpace = true;
        ++t2;
        this._trailingSpaceBoxCount = t2;
      }
    },
    findNextBreak$0() {
      var maxEnd, _this = this,
        nextBreak = _this._cachedNextBreak,
        text = _this.paragraph.plainText;
      if (nextBreak == null || _this.__engine$_end.index >= nextBreak.index) {
        maxEnd = _this.spanometer._currentSpan.end;
        nextBreak = _this._cachedNextBreak = A.nextLineBreak(text, _this.__engine$_end.index, maxEnd);
      }
      return A.getDirectionalBlockEnd(text, _this.__engine$_end, nextBreak);
    },
    nextLine$0() {
      var _this = this,
        t1 = _this.__engine$_end;
      return A.LineBuilder$_(_this.paragraph, _this.spanometer, _this.accumulatedHeight + (_this.ascent + _this.descent), _this.lineNumber + 1, _this.maxWidth, t1);
    }
  };
  A.Spanometer.prototype = {
    set$currentSpan(span) {
      var t1, value, t2, t3, ruler, cssFontString, _this = this;
      if (span === _this._currentSpan)
        return;
      _this._currentSpan = span;
      t1 = span.style;
      value = t1.__EngineTextStyle_heightStyle;
      if (value === $) {
        t2 = t1.get$effectiveFontFamily();
        t3 = t1.fontSize;
        if (t3 == null)
          t3 = 14;
        if (t1.__EngineTextStyle_heightStyle !== $)
          A.throwUnnamedLateFieldADI();
        value = t1.__EngineTextStyle_heightStyle = new A.TextHeightStyle(t2, t3, t1.height, null, null);
      }
      ruler = $.Spanometer__rulers.$index(0, value);
      if (ruler == null) {
        ruler = new A.TextHeightRuler(value, $.$get$Spanometer__rulerHost(), new A.TextDimensions(A.DomDocumentExtension_createElement(self.document, "flt-paragraph")));
        $.Spanometer__rulers.$indexSet(0, value, ruler);
      }
      _this._currentRuler = ruler;
      cssFontString = t1.get$cssFontString();
      if (_this._cssFontString !== cssFontString) {
        _this._cssFontString = cssFontString;
        _this.context.font = cssFontString;
      }
    },
    forceBreak$4$allowEmpty$availableWidth(start, end, allowEmpty, availableWidth) {
      var high, low, mid, width;
      this._currentSpan.toString;
      if (availableWidth <= 0)
        return allowEmpty ? start : start + 1;
      high = end;
      low = start;
      do {
        mid = B.JSInt_methods._tdivFast$1(low + high, 2);
        width = this._measure$2(start, mid);
        if (width < availableWidth)
          low = mid;
        else {
          low = width > availableWidth ? low : mid;
          high = mid;
        }
      } while (high - low > 1);
      return low === start && !allowEmpty ? low + 1 : low;
    },
    _measure$2(start, end) {
      return A.measureSubstring(this.context, this.paragraph.plainText, start, end, this._currentSpan.style.letterSpacing);
    }
  };
  A.LineCharProperty.prototype = {
    toString$0(_) {
      return "LineCharProperty." + this._core$_name;
    }
  };
  A.LineBreakType.prototype = {
    toString$0(_) {
      return "LineBreakType." + this._core$_name;
    }
  };
  A.LineBreakResult.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.index, _this.indexWithoutTrailingNewlines, _this.indexWithoutTrailingSpaces, _this.type, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.LineBreakResult && other.index === _this.index && other.indexWithoutTrailingNewlines === _this.indexWithoutTrailingNewlines && other.indexWithoutTrailingSpaces === _this.indexWithoutTrailingSpaces && other.type === _this.type;
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.RulerHost.prototype = {
    dispose$0() {
      J.remove$0$ax(this._rulerHost);
    }
  };
  A.TextPaintService.prototype = {
    paint$2(canvas, offset) {
      var t2, _i, line, t3, lastBox, t4, _i0, box, background, t5, rect,
        lines = this.paragraph.get$_layoutService().lines,
        t1 = lines.length;
      if (t1 === 0)
        return;
      for (t2 = type$.nullable_SurfacePaint, _i = 0; _i < lines.length; lines.length === t1 || (0, A.throwConcurrentModificationError)(lines), ++_i) {
        line = lines[_i];
        t3 = line.boxes;
        if (t3.length === 0)
          continue;
        lastBox = B.JSArray_methods.get$last(t3);
        for (t4 = t3.length, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
          box = t3[_i0];
          if (!(box === lastBox && box instanceof A.SpanBox && box.isSpaceOnly))
            if (box instanceof A.SpanBox) {
              background = t2._as(box.span.style.background);
              if (background != null) {
                t5 = box.intersect$4$forPainting(line, box.start.index, box.end.index, true);
                rect = new A.Rect(t5.left, t5.top, t5.right, t5.bottom).shift$1(offset);
                background._frozen = true;
                canvas.drawRect$2(rect, background._paintData);
              }
            }
          this._paintText$4(canvas, offset, line, box);
        }
      }
    },
    _paintText$4(canvas, offset, line, box) {
      var t1, foreground, t2, paint, t3, t4, t5, x, y, text, letterSpacing, len, charX, i, char, ctx, ellipsis, _null = null;
      if (box instanceof A.SpanBox) {
        t1 = box.span.style;
        foreground = t1.foreground;
        t2 = foreground == null;
        if (!t2) {
          type$.SurfacePaint._as(foreground);
          paint = foreground;
        } else {
          t3 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          t4 = t1.color;
          t4.toString;
          t3.set$color(0, t4);
          type$.SurfacePaint._as(t3);
          paint = t3;
        }
        t3 = t1.get$cssFontString();
        if (t3 !== canvas._cachedLastCssFont) {
          t4 = canvas._canvasPool;
          t4.get$context(t4).font = t3;
          canvas._cachedLastCssFont = t3;
        }
        t3 = paint._frozen = true;
        t4 = paint._paintData;
        t5 = canvas._canvasPool;
        t5.get$contextHandle().setUpPaint$2(t4, _null);
        t4 = offset._dx + line.left;
        x = t4 + box.get$left(box);
        y = offset._dy + line.baseline;
        if (!box.isSpaceOnly) {
          text = B.JSString_methods.substring$2(this.paragraph.plainText, box.start.index, box.end.indexWithoutTrailingNewlines);
          letterSpacing = t1.letterSpacing;
          if (letterSpacing != null ? letterSpacing === 0 : t3) {
            t3 = t2 ? _null : foreground.get$style(foreground);
            canvas.drawText$5$shadows$style(text, x, y, t1.shadows, t3);
          } else {
            len = text.length;
            for (t1 = t1.shadows, charX = x, i = 0; i < len; ++i) {
              char = text[i];
              t3 = B.JSNumber_methods.roundToDouble$0(charX);
              canvas.drawText$5$shadows$style(char, t3, y, t1, t2 ? _null : foreground.get$style(foreground));
              ctx = t5.__engine$_context;
              if (ctx == null) {
                t5._createCanvas$0();
                t3 = t5.__engine$_context;
                t3.toString;
                ctx = t3;
              }
              t3 = ctx.measureText(char).width;
              t3.toString;
              charX += letterSpacing + t3;
            }
          }
        }
        ellipsis = line.ellipsis;
        if (ellipsis != null && box === B.JSArray_methods.get$last(line.boxes)) {
          t1 = box.get$right(box);
          t2 = t2 ? _null : foreground.get$style(foreground);
          canvas.drawText$4$style(ellipsis, t4 + t1, y, t2);
        }
        t5.get$contextHandle().tearDownPaint$0();
      }
    }
  };
  A.EngineLineMetrics.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(null, _this.startIndex, _this.endIndex, _this.hardBreak, _this.ascent, _this.descent, 1 / 0, _this.height, _this.width, _this.left, _this.baseline, _this.lineNumber, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.EngineLineMetrics)
        if (other.startIndex === _this.startIndex)
          if (other.endIndex === _this.endIndex)
            if (other.hardBreak === _this.hardBreak)
              if (other.ascent === _this.ascent)
                if (other.descent === _this.descent)
                  t1 = other.height === _this.height && other.width === _this.width && other.left === _this.left && other.baseline === _this.baseline && other.lineNumber === _this.lineNumber;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    $isLineMetrics: 1,
    get$descent() {
      return this.descent;
    },
    get$baseline() {
      return this.baseline;
    },
    get$lineNumber(receiver) {
      return this.lineNumber;
    }
  };
  A.EngineParagraphStyle.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.EngineParagraphStyle && other.textAlign === _this.textAlign && other.textDirection == _this.textDirection && other.fontWeight == _this.fontWeight && other.fontStyle == _this.fontStyle && other.maxLines == _this.maxLines && other.fontFamily == _this.fontFamily && other.fontSize == _this.fontSize && other.height == _this.height && J.$eq$(other.__engine$_textHeightBehavior, _this.__engine$_textHeightBehavior) && other.ellipsis == _this.ellipsis && J.$eq$(other.locale, _this.locale);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.textAlign, _this.textDirection, _this.fontWeight, _this.fontStyle, _this.maxLines, _this.fontFamily, _this.fontSize, _this.height, _this.__engine$_textHeightBehavior, _this.ellipsis, _this.locale, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.EngineTextStyle.prototype = {
    get$effectiveFontFamily() {
      var t1 = this.fontFamily;
      if (t1.length === 0)
        return "sans-serif";
      return t1;
    },
    get$cssFontString() {
      var t2, t3, t4, t5, _this = this,
        t1 = _this._cssFontString;
      if (t1 == null) {
        t1 = _this.fontStyle;
        t2 = _this.fontWeight;
        t3 = _this.fontSize;
        t4 = _this.get$effectiveFontFamily();
        if (t1 != null) {
          t5 = "" + (t1 === B.FontStyle_0 ? "normal" : "italic");
          t1 = t5;
        } else
          t1 = "" + "normal";
        t1 += " ";
        t1 = (t2 != null ? t1 + A.S(A.fontWeightToCss(t2)) : t1 + "normal") + " ";
        t1 = t3 != null ? t1 + B.JSNumber_methods.floor$0(t3) : t1 + "14";
        t4 = t1 + "px " + A.S(A.canonicalizeFontFamily(t4));
        t4 = _this._cssFontString = t4.charCodeAt(0) == 0 ? t4 : t4;
        t1 = t4;
      }
      return t1;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.EngineTextStyle && J.$eq$(other.color, _this.color) && J.$eq$(other.decoration, _this.decoration) && J.$eq$(other.decorationColor, _this.decorationColor) && other.decorationStyle == _this.decorationStyle && other.fontWeight == _this.fontWeight && other.fontStyle == _this.fontStyle && other.textBaseline == _this.textBaseline && other.fontFamily === _this.fontFamily && other.fontSize == _this.fontSize && other.letterSpacing == _this.letterSpacing && other.wordSpacing == _this.wordSpacing && other.height == _this.height && J.$eq$(other.locale, _this.locale) && other.background == _this.background && other.foreground == _this.foreground && A.listEquals0(other.shadows, _this.shadows) && A.listEquals0(other.fontFamilyFallback, _this.fontFamilyFallback);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.color, _this.decoration, _this.decorationColor, _this.decorationStyle, _this.decorationThickness, _this.fontWeight, _this.fontStyle, _this.textBaseline, _this.fontFamily, _this.fontFamilyFallback, _this.fontSize, _this.letterSpacing, _this.wordSpacing, _this.height, _this.locale, _this.background, _this.foreground, _this.shadows, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.EngineStrutStyle.prototype = {
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.EngineStrutStyle)
        if (other._fontFamily == _this._fontFamily)
          if (other._fontSize == _this._fontSize)
            if (other.__engine$_height == _this.__engine$_height)
              t1 = other._fontWeight == _this._fontWeight && other._fontStyle == _this._fontStyle && other._forceStrutHeight == _this._forceStrutHeight && A.listEquals0(other.__engine$_fontFamilyFallback, _this.__engine$_fontFamilyFallback);
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this._fontFamily, _this.__engine$_fontFamilyFallback, _this._fontSize, _this.__engine$_height, _this._leading, _this._leadingDistribution, _this._fontWeight, _this._fontStyle, _this._forceStrutHeight, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.ParagraphPlaceholder.prototype = {};
  A.TextHeightStyle.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      return other instanceof A.TextHeightStyle && other.get$hashCode(other) === this.get$hashCode(this);
    },
    get$hashCode(_) {
      var result, _this = this,
        value = _this.__TextHeightStyle_hashCode;
      if (value === $) {
        result = A.Object_hash(_this.fontFamily, _this.fontSize, _this.height, null, null, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
        if (_this.__TextHeightStyle_hashCode !== $)
          A.throwUnnamedLateFieldADI();
        _this.__TextHeightStyle_hashCode = result;
        value = result;
      }
      return value;
    }
  };
  A.TextDimensions.prototype = {};
  A.TextHeightRuler.prototype = {
    get$__engine$_host() {
      var host, t1, t2, t3, t4, t5, height, _this = this,
        value = _this.__TextHeightRuler__host;
      if (value === $) {
        host = A.DomDocumentExtension_createElement(self.document, "div");
        t1 = host.style;
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "visibility", "hidden");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "position", "absolute");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "top", "0");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "left", "0");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "display", "flex");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "flex-direction", "row");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "align-items", "baseline");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "margin", "0");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "border", "0");
        A.DomCSSStyleDeclarationExtension_setProperty(t1, "padding", "0");
        t1 = _this._dimensions;
        t2 = _this.textHeightStyle;
        t3 = t1.__engine$_element;
        t4 = t3.style;
        A.DomCSSStyleDeclarationExtension_setProperty(t4, "font-size", "" + B.JSNumber_methods.floor$0(t2.fontSize) + "px");
        t5 = A.canonicalizeFontFamily(t2.fontFamily);
        t5.toString;
        A.DomCSSStyleDeclarationExtension_setProperty(t4, "font-family", t5);
        height = t2.height;
        if (height != null)
          A.DomCSSStyleDeclarationExtension_setProperty(t4, "line-height", B.JSNumber_methods.toString$0(height));
        t1._cachedBoundingClientRect = null;
        A.DomCSSStyleDeclarationExtension_setProperty(t3.style, "white-space", "pre");
        t1._cachedBoundingClientRect = null;
        t3.textContent = " ";
        host.append(t3);
        t1._cachedBoundingClientRect = null;
        type$.HtmlElement._as(host);
        _this.rulerHost._rulerHost.appendChild(host);
        if (_this.__TextHeightRuler__host !== $)
          A.throwUnnamedLateFieldADI();
        _this.__TextHeightRuler__host = host;
        value = host;
      }
      return value;
    },
    get$alphabeticBaseline(_) {
      var probe, _this = this,
        value = _this.__TextHeightRuler_alphabeticBaseline;
      if (value === $) {
        value = _this.__TextHeightRuler__probe;
        if (value === $) {
          probe = A.DomDocumentExtension_createElement(self.document, "div");
          _this.get$__engine$_host().append(probe);
          if (_this.__TextHeightRuler__probe !== $)
            A.throwUnnamedLateFieldADI();
          _this.__TextHeightRuler__probe = probe;
          value = probe;
        }
        value = value.getBoundingClientRect().bottom;
        if (_this.__TextHeightRuler_alphabeticBaseline !== $)
          A.throwUnnamedLateFieldADI();
        _this.__TextHeightRuler_alphabeticBaseline = value;
      }
      return value;
    },
    get$height(_) {
      var t1, t2, cachedHeight, _this = this,
        value = _this.__TextHeightRuler_height;
      if (value === $) {
        t1 = _this._dimensions;
        t2 = t1._cachedBoundingClientRect;
        t1 = t2 == null ? t1._cachedBoundingClientRect = t1.__engine$_element.getBoundingClientRect() : t2;
        cachedHeight = t1.height;
        t1 = $.$get$_browserEngine();
        if (t1 === B.BrowserEngine_2 && true)
          ++cachedHeight;
        if (_this.__TextHeightRuler_height !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__TextHeightRuler_height = cachedHeight;
      }
      return value;
    }
  };
  A.DirectionalPosition.prototype = {};
  A._ComparisonResult.prototype = {
    toString$0(_) {
      return "_ComparisonResult." + this._core$_name;
    }
  };
  A.UnicodeRange.prototype = {
    compare$1(value) {
      if (value < this.start)
        return B._ComparisonResult_2;
      if (value > this.end)
        return B._ComparisonResult_1;
      return B._ComparisonResult_0;
    }
  };
  A.UnicodePropertyLookup.prototype = {
    find$2(_, text, index) {
      var codePoint = A.getCodePoint(text, index);
      return codePoint == null ? this.defaultProperty : this.findForChar$1(codePoint);
    },
    findForChar$1(char) {
      var t1, cacheHit, rangeIndex, result, _this = this;
      if (char == null)
        return _this.defaultProperty;
      t1 = _this._cache;
      cacheHit = t1.$index(0, char);
      if (cacheHit != null)
        return cacheHit;
      rangeIndex = _this._binarySearch$1(char);
      result = rangeIndex === -1 ? _this.defaultProperty : _this.ranges[rangeIndex].property;
      t1.$indexSet(0, char, result);
      return result;
    },
    _binarySearch$1(value) {
      var min, mid,
        t1 = this.ranges,
        max = t1.length;
      for (min = 0; min < max;) {
        mid = min + B.JSInt_methods._shrOtherPositive$1(max - min, 1);
        switch (t1[mid].compare$1(value).index) {
          case 1:
            min = mid + 1;
            break;
          case 2:
            max = mid;
            break;
          case 0:
            return mid;
        }
      }
      return -1;
    }
  };
  A.WordCharProperty.prototype = {
    toString$0(_) {
      return "WordCharProperty." + this._core$_name;
    }
  };
  A._FindBreakDirection.prototype = {};
  A.BrowserAutofillHints.prototype = {};
  A.EngineInputType.prototype = {
    createDomElement$0() {
      return A.InputElement_InputElement(null);
    },
    configureInputMode$1(domElement) {
      var t1;
      if (this.get$inputmodeAttribute() == null)
        return;
      t1 = $.$get$_operatingSystem();
      if (t1 !== B.OperatingSystem_0)
        t1 = t1 === B.OperatingSystem_1 || this.get$inputmodeAttribute() === "none";
      else
        t1 = true;
      if (t1) {
        t1 = this.get$inputmodeAttribute();
        t1.toString;
        domElement.setAttribute("inputmode", t1);
      }
    }
  };
  A.NoTextInputType.prototype = {
    get$inputmodeAttribute() {
      return "none";
    }
  };
  A.TextInputType0.prototype = {
    get$inputmodeAttribute() {
      return null;
    }
  };
  A.NumberInputType.prototype = {
    get$inputmodeAttribute() {
      return "numeric";
    }
  };
  A.DecimalInputType.prototype = {
    get$inputmodeAttribute() {
      return "decimal";
    }
  };
  A.PhoneInputType.prototype = {
    get$inputmodeAttribute() {
      return "tel";
    }
  };
  A.EmailInputType.prototype = {
    get$inputmodeAttribute() {
      return "email";
    }
  };
  A.UrlInputType.prototype = {
    get$inputmodeAttribute() {
      return "url";
    }
  };
  A.MultilineInputType.prototype = {
    get$inputmodeAttribute() {
      return null;
    },
    createDomElement$0() {
      return document.createElement("textarea");
    }
  };
  A.TextCapitalization.prototype = {
    toString$0(_) {
      return "TextCapitalization." + this._core$_name;
    }
  };
  A.TextCapitalizationConfig.prototype = {
    setAutocapitalizeAttribute$1(domElement) {
      var t1, autocapitalize,
        _s9_ = "sentences",
        _s14_ = "autocapitalize";
      switch (this.textCapitalization.index) {
        case 0:
          t1 = $.$get$_browserEngine();
          autocapitalize = t1 === B.BrowserEngine_1 ? _s9_ : "words";
          break;
        case 2:
          autocapitalize = "characters";
          break;
        case 1:
          autocapitalize = _s9_;
          break;
        case 3:
        default:
          autocapitalize = "off";
          break;
      }
      if (type$.InputElement._is(domElement))
        domElement.setAttribute(_s14_, autocapitalize);
      else if (type$.TextAreaElement._is(domElement))
        domElement.setAttribute(_s14_, autocapitalize);
    }
  };
  A.EngineAutofillForm.prototype = {
    addInputEventListeners$0() {
      var t1 = this.elements,
        subscriptions = A._setArrayType([], type$.JSArray_StreamSubscription_Event);
      new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).forEach$1(0, new A.EngineAutofillForm_addInputEventListeners_addSubscriptionForKey(this, subscriptions));
      return subscriptions;
    }
  };
  A.EngineAutofillForm_fromFrameworkMessage_closure.prototype = {
    call$1(e) {
      e.preventDefault();
    },
    $signature: 14
  };
  A.EngineAutofillForm_addInputEventListeners_addSubscriptionForKey.prototype = {
    call$1(key) {
      var t1 = this.$this,
        t2 = t1.elements.$index(0, key);
      t2.toString;
      this.subscriptions.push(A._EventStreamSubscription$(t2, "input", new A.EngineAutofillForm_addInputEventListeners_addSubscriptionForKey_closure(t1, key, t2), false, type$._ElementEventStreamImpl_Event._precomputed1));
    },
    $signature: 12
  };
  A.EngineAutofillForm_addInputEventListeners_addSubscriptionForKey_closure.prototype = {
    call$1(e) {
      var newEditingState,
        t1 = this.$this.items,
        t2 = this.key;
      if (t1.$index(0, t2) == null)
        throw A.wrapException(A.StateError$("AutofillInfo must have a valid uniqueIdentifier."));
      else {
        t1 = t1.$index(0, t2);
        t1.toString;
        newEditingState = A.EditingState_EditingState$fromDomElement(this.element);
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall(string$.TextInT, [0, A.LinkedHashMap_LinkedHashMap$_literal([t1.uniqueIdentifier, newEditingState.toFlutter$0()], type$.nullable_String, type$.dynamic)])), A._engine___emptyCallback$closure());
      }
    },
    $signature: 13
  };
  A.AutofillInfo.prototype = {
    applyToDomElement$2$focusedElement(domElement, focusedElement) {
      var t1,
        _s8_ = "password",
        autofillHint = this.autofillHint,
        placeholder = this.placeholder;
      if (type$.InputElement._is(domElement)) {
        if (placeholder != null)
          domElement.placeholder = placeholder;
        t1 = autofillHint == null;
        if (!t1) {
          domElement.name = autofillHint;
          domElement.id = autofillHint;
          if (B.JSString_methods.contains$1(autofillHint, _s8_))
            domElement.type = _s8_;
          else
            domElement.type = "text";
        }
        domElement.autocomplete = t1 ? "on" : autofillHint;
      } else if (type$.TextAreaElement._is(domElement)) {
        if (placeholder != null)
          domElement.placeholder = placeholder;
        t1 = autofillHint == null;
        if (!t1) {
          domElement.name = autofillHint;
          domElement.id = autofillHint;
        }
        domElement.setAttribute("autocomplete", t1 ? "on" : autofillHint);
      }
    },
    applyToDomElement$1(domElement) {
      return this.applyToDomElement$2$focusedElement(domElement, false);
    }
  };
  A.TextEditingDeltaState.prototype = {};
  A.EditingState.prototype = {
    toFlutter$0() {
      return A.LinkedHashMap_LinkedHashMap$_literal(["text", this.text, "selectionBase", this.baseOffset, "selectionExtent", this.extentOffset], type$.String, type$.dynamic);
    },
    get$hashCode(_) {
      return A.Object_hash(this.text, this.baseOffset, this.extentOffset, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (A.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.EditingState && other.text == _this.text && other.baseOffset === _this.baseOffset && other.extentOffset === _this.extentOffset;
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    },
    applyToDomElement$1(domElement) {
      var t1, _this = this;
      if (type$.InputElement._is(domElement)) {
        domElement.value = _this.text;
        domElement.setSelectionRange(_this.baseOffset, _this.extentOffset);
      } else if (type$.TextAreaElement._is(domElement)) {
        domElement.value = _this.text;
        domElement.setSelectionRange(_this.baseOffset, _this.extentOffset);
      } else {
        t1 = domElement == null ? null : domElement.tagName;
        throw A.wrapException(A.UnsupportedError$("Unsupported DOM element type: <" + A.S(t1) + "> (" + J.get$runtimeType$(domElement).toString$0(0) + ")"));
      }
    }
  };
  A.InputConfiguration.prototype = {};
  A.GloballyPositionedTextEditingStrategy.prototype = {
    placeElement$0() {
      var t2, _this = this,
        t1 = _this.geometry;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
      t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.autofillGroup != null) {
        _this.placeForm$0();
        t1 = _this.lastEditingState;
        if (t1 != null)
          t1.applyToDomElement$1(_this.domElement);
        _this.get$focusedFormElement().focus();
        _this.domElement.focus();
      }
    }
  };
  A.SafariDesktopTextEditingStrategy.prototype = {
    placeElement$0() {
      var t2, _this = this,
        t1 = _this.geometry;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
      t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.autofillGroup != null) {
        _this.placeForm$0();
        _this.get$focusedFormElement().focus();
        _this.domElement.focus();
        t1 = _this.lastEditingState;
        if (t1 != null) {
          t2 = _this.domElement;
          t2.toString;
          t1.applyToDomElement$1(t2);
        }
      }
    },
    initializeElementPlacement$0() {
      if (this.geometry != null)
        this.placeElement$0();
      this.domElement.focus();
    }
  };
  A.DefaultTextEditingStrategy.prototype = {
    get$editingDeltaState() {
      var _null = null,
        t1 = this._editingDeltaState;
      if (t1 == null) {
        t1 = this.lastEditingState.text;
        t1.toString;
        t1 = this._editingDeltaState = new A.TextEditingDeltaState(t1, "", -1, -1, _null, _null, _null, _null);
      }
      return t1;
    },
    get$focusedFormElement() {
      var t1 = this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      return t1 == null ? null : t1.formElement;
    },
    initializeTextEditing$3$onAction$onChange(inputConfig, onAction, onChange) {
      var t1, elementStyle, t2, _this = this,
        _s11_ = "transparent",
        _s4_ = "none";
      _this.domElement = inputConfig.inputType.createDomElement$0();
      _this.applyConfiguration$1(inputConfig);
      t1 = _this.domElement;
      t1.classList.add("flt-text-editing");
      elementStyle = t1.style;
      elementStyle.whiteSpace = "pre-wrap";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "align-content"), "center", "");
      elementStyle.position = "absolute";
      elementStyle.top = "0";
      elementStyle.left = "0";
      elementStyle.padding = "0";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "opacity"), "1", "");
      elementStyle.color = _s11_;
      elementStyle.backgroundColor = _s11_;
      elementStyle.background = _s11_;
      elementStyle.outline = _s4_;
      elementStyle.border = _s4_;
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "resize"), _s4_, "");
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "text-shadow"), _s11_, "");
      elementStyle.overflow = "hidden";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "transform-origin"), "0 0 0", "");
      t2 = $.$get$_browserEngine();
      if (t2 !== B.BrowserEngine_0)
        if (t2 !== B.BrowserEngine_5)
          t2 = t2 === B.BrowserEngine_1;
        else
          t2 = true;
      else
        t2 = true;
      if (t2)
        t1.classList.add("transparentTextEditing");
      B.CssStyleDeclaration_methods._setPropertyHelper$3(elementStyle, B.CssStyleDeclaration_methods._browserPropertyName$1(elementStyle, "caret-color"), _s11_, null);
      t1 = _this.style;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
      t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.autofillGroup == null) {
        t1 = $._flutterViewEmbedder._glassPaneShadow;
        t1.toString;
        t2 = _this.domElement;
        t2.toString;
        t1.append$1(0, t2);
        _this._appendedToForm = false;
      }
      _this.initializeElementPlacement$0();
      _this.isEnabled = true;
      _this.onChange = onChange;
      _this.onAction = onAction;
    },
    applyConfiguration$1(config) {
      var t1, autofill, autocorrectValue, _this = this,
        _s8_ = "readonly";
      _this.__DefaultTextEditingStrategy_inputConfiguration = config;
      t1 = _this.domElement;
      if (config.readOnly)
        t1.setAttribute(_s8_, _s8_);
      else
        t1.removeAttribute(_s8_);
      if (config.obscureText)
        _this.domElement.setAttribute("type", "password");
      if (config.inputType === B.C_NoTextInputType)
        _this.domElement.setAttribute("inputmode", "none");
      autofill = config.autofill;
      t1 = _this.domElement;
      if (autofill != null) {
        t1.toString;
        autofill.applyToDomElement$2$focusedElement(t1, true);
      } else
        t1.setAttribute("autocomplete", "off");
      autocorrectValue = config.autocorrect ? "on" : "off";
      _this.domElement.setAttribute("autocorrect", autocorrectValue);
    },
    initializeElementPlacement$0() {
      this.placeElement$0();
    },
    addEventHandlers$0() {
      var t2, t3, t4, _this = this,
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      if (t1 != null)
        B.JSArray_methods.addAll$1(_this.subscriptions, t1.addInputEventListeners$0());
      t1 = _this.subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$handleChange();
      t4 = type$._ElementEventStreamImpl_Event._precomputed1;
      t1.push(A._EventStreamSubscription$(t2, "input", t3, false, t4));
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "keydown", _this.get$maybeSendAction(), false, type$._ElementEventStreamImpl_KeyboardEvent._precomputed1));
      t1.push(A._EventStreamSubscription$(document, "selectionchange", t3, false, type$.Event));
      t3 = _this.domElement;
      t3.toString;
      J.addEventListener$2$x(t3, "beforeinput", _this.get$handleBeforeInput());
      t3 = _this.domElement;
      t3.toString;
      J.addEventListener$2$x(t3, "compositionupdate", _this.get$handleCompositionUpdate());
      t3 = _this.domElement;
      t3.toString;
      t1.push(A._EventStreamSubscription$(t3, "blur", new A.DefaultTextEditingStrategy_addEventHandlers_closure(_this), false, t4));
      _this.preventDefaultForMouseEvents$0();
    },
    updateElementPlacement$1(textGeometry) {
      this.geometry = textGeometry;
      if (this.isEnabled)
        this.placeElement$0();
    },
    updateElementStyle$1(textStyle) {
      var t1;
      this.style = textStyle;
      if (this.isEnabled) {
        t1 = this.domElement;
        t1.toString;
        textStyle.applyToDomElement$1(t1);
      }
    },
    disable$0(_) {
      var t2, i, _this = this,
        t1 = _this.isEnabled = false;
      _this.geometry = _this.style = _this._editingDeltaState = _this.lastEditingState = null;
      for (t2 = _this.subscriptions, i = 0; i < t2.length; ++i)
        J.cancel$0$z(t2[i]);
      B.JSArray_methods.clear$0(t2);
      if (_this._appendedToForm) {
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.autofillGroup;
        t1 = (t1 == null ? null : t1.formElement) != null;
      }
      t2 = _this.domElement;
      if (t1) {
        t2.blur();
        t1 = _this.domElement;
        t1.toString;
        A._hideAutofillElements(t1, true);
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.autofillGroup;
        if (t1 != null) {
          t2 = t1.formIdentifier;
          t1 = t1.formElement;
          $.formsOnTheDom.$indexSet(0, t2, t1);
          A._hideAutofillElements(t1, true);
        }
      } else {
        t2.toString;
        J.remove$0$ax(t2);
      }
      _this.domElement = null;
    },
    setEditingState$1(editingState) {
      var t1;
      this.lastEditingState = editingState;
      if (this.isEnabled)
        t1 = !(editingState.baseOffset >= 0 && editingState.extentOffset >= 0);
      else
        t1 = true;
      if (t1)
        return;
      editingState.applyToDomElement$1(this.domElement);
    },
    placeElement$0() {
      this.domElement.focus();
    },
    placeForm$0() {
      var t2,
        t1 = this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      t1.toString;
      t2 = this.domElement;
      t2.toString;
      t1 = t1.formElement;
      t1.appendChild(t2);
      $._flutterViewEmbedder._glassPaneShadow.append$1(0, t1);
      this._appendedToForm = true;
    },
    handleChange$1($event) {
      var newEditingState, newTextEditingDeltaState, _this = this,
        t1 = _this.domElement;
      t1.toString;
      newEditingState = A.EditingState_EditingState$fromDomElement(t1);
      t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      newTextEditingDeltaState = t1.enableDeltaModel ? A.TextEditingDeltaState_inferDeltaState(newEditingState, _this.lastEditingState, _this.get$editingDeltaState()) : null;
      if (!newEditingState.$eq(0, _this.lastEditingState)) {
        _this.lastEditingState = newEditingState;
        _this._editingDeltaState = newTextEditingDeltaState;
        _this.onChange.call$2(newEditingState, newTextEditingDeltaState);
        _this._editingDeltaState = null;
      }
    },
    handleBeforeInput$1($event) {
      var _this = this,
        eventData = A._asStringQ($event.data),
        inputType = A._asStringQ($event.inputType);
      if (inputType != null)
        if (B.JSString_methods.contains$1(inputType, "delete")) {
          _this.get$editingDeltaState().deltaText = "";
          _this.get$editingDeltaState().deltaEnd = _this.lastEditingState.extentOffset;
        } else if (inputType === "insertLineBreak") {
          _this.get$editingDeltaState().deltaText = "\n";
          _this.get$editingDeltaState().deltaStart = _this.lastEditingState.extentOffset;
          _this.get$editingDeltaState().deltaEnd = _this.lastEditingState.extentOffset;
        } else if (eventData != null) {
          _this.get$editingDeltaState().deltaText = eventData;
          _this.get$editingDeltaState().deltaStart = _this.lastEditingState.extentOffset;
          _this.get$editingDeltaState().deltaEnd = _this.lastEditingState.extentOffset;
        }
    },
    handleCompositionUpdate$1($event) {
      var newEditingState,
        t1 = this.domElement;
      t1.toString;
      newEditingState = A.EditingState_EditingState$fromDomElement(t1);
      this.get$editingDeltaState().composingOffset = newEditingState.baseOffset;
      this.get$editingDeltaState().composingExtent = newEditingState.extentOffset;
    },
    maybeSendAction$1($event) {
      var t1, t2;
      if (type$.KeyboardEvent._is($event) && $event.keyCode === 13) {
        t1 = this.onAction;
        t1.toString;
        t2 = this.__DefaultTextEditingStrategy_inputConfiguration;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1.call$1(t2.inputAction);
      }
    },
    enable$3$onAction$onChange(_, inputConfig, onAction, onChange) {
      var t1, _this = this;
      _this.initializeTextEditing$3$onAction$onChange(inputConfig, onAction, onChange);
      _this.addEventHandlers$0();
      t1 = _this.lastEditingState;
      if (t1 != null)
        _this.setEditingState$1(t1);
      _this.domElement.focus();
    },
    preventDefaultForMouseEvents$0() {
      var t3, _this = this,
        t1 = _this.subscriptions,
        t2 = _this.domElement;
      t2.toString;
      t3 = type$._ElementEventStreamImpl_MouseEvent._precomputed1;
      t1.push(A._EventStreamSubscription$(t2, "mousedown", new A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure(), false, t3));
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "mouseup", new A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0(), false, t3));
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "mousemove", new A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1(), false, t3));
    }
  };
  A.DefaultTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1(_) {
      this.$this.domElement.focus();
    },
    $signature: 13
  };
  A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure.prototype = {
    call$1(_) {
      _.preventDefault();
    },
    $signature: 74
  };
  A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0.prototype = {
    call$1(_) {
      _.preventDefault();
    },
    $signature: 74
  };
  A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1.prototype = {
    call$1(_) {
      _.preventDefault();
    },
    $signature: 74
  };
  A.IOSTextEditingStrategy.prototype = {
    initializeTextEditing$3$onAction$onChange(inputConfig, onAction, onChange) {
      var t1, _this = this;
      _this.super$DefaultTextEditingStrategy$initializeTextEditing(inputConfig, onAction, onChange);
      t1 = _this.domElement;
      t1.toString;
      inputConfig.inputType.configureInputMode$1(t1);
      t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.autofillGroup != null)
        _this.placeForm$0();
      t1 = _this.domElement;
      t1.toString;
      inputConfig.textCapitalization.setAutocapitalizeAttribute$1(t1);
    },
    initializeElementPlacement$0() {
      var t1 = this.domElement.style;
      B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), "translate(-9999px, -9999px)", "");
      this._canPosition = false;
    },
    addEventHandlers$0() {
      var t2, t3, t4, blurWatch, _this = this,
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      if (t1 != null)
        B.JSArray_methods.addAll$1(_this.subscriptions, t1.addInputEventListeners$0());
      t1 = _this.subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$handleChange();
      t4 = type$._ElementEventStreamImpl_Event._precomputed1;
      t1.push(A._EventStreamSubscription$(t2, "input", t3, false, t4));
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "keydown", _this.get$maybeSendAction(), false, type$._ElementEventStreamImpl_KeyboardEvent._precomputed1));
      t1.push(A._EventStreamSubscription$(document, "selectionchange", t3, false, type$.Event));
      t3 = _this.domElement;
      t3.toString;
      J.addEventListener$2$x(t3, "beforeinput", _this.get$handleBeforeInput());
      t3 = _this.domElement;
      t3.toString;
      J.addEventListener$2$x(t3, "compositionupdate", _this.get$handleCompositionUpdate());
      t3 = _this.domElement;
      t3.toString;
      t1.push(A._EventStreamSubscription$(t3, "focus", new A.IOSTextEditingStrategy_addEventHandlers_closure(_this), false, t4));
      _this._addTapListener$0();
      blurWatch = new A.Stopwatch();
      $.$get$Stopwatch__frequency();
      blurWatch.start$0(0);
      t3 = _this.domElement;
      t3.toString;
      t1.push(A._EventStreamSubscription$(t3, "blur", new A.IOSTextEditingStrategy_addEventHandlers_closure0(_this, blurWatch), false, t4));
    },
    updateElementPlacement$1(textGeometry) {
      var _this = this;
      _this.geometry = textGeometry;
      if (_this.isEnabled && _this._canPosition)
        _this.placeElement$0();
    },
    disable$0(_) {
      var t1;
      this.super$DefaultTextEditingStrategy$disable(0);
      t1 = this._positionInputElementTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._positionInputElementTimer = null;
    },
    _addTapListener$0() {
      var t1 = this.domElement;
      t1.toString;
      this.subscriptions.push(A._EventStreamSubscription$(t1, "click", new A.IOSTextEditingStrategy__addTapListener_closure(this), false, type$._ElementEventStreamImpl_MouseEvent._precomputed1));
    },
    _schedulePlacement$0() {
      var t1 = this._positionInputElementTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._positionInputElementTimer = A.Timer_Timer(B.Duration_100000, new A.IOSTextEditingStrategy__schedulePlacement_closure(this));
    },
    placeElement$0() {
      var t1, t2;
      this.domElement.focus();
      t1 = this.geometry;
      if (t1 != null) {
        t2 = this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
    }
  };
  A.IOSTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1(_) {
      this.$this._schedulePlacement$0();
    },
    $signature: 13
  };
  A.IOSTextEditingStrategy_addEventHandlers_closure0.prototype = {
    call$1(_) {
      var isFastCallback = A.Duration$(this.blurWatch.get$elapsedMicroseconds(), 0)._duration < 200000,
        t1 = document.hasFocus() && isFastCallback,
        t2 = this.$this;
      if (t1)
        t2.domElement.focus();
      else
        t2.owner.sendTextConnectionClosedToFrameworkIfAny$0();
    },
    $signature: 13
  };
  A.IOSTextEditingStrategy__addTapListener_closure.prototype = {
    call$1(_) {
      var t2,
        t1 = this.$this;
      if (t1._canPosition) {
        t2 = t1.domElement.style;
        B.CssStyleDeclaration_methods._setPropertyHelper$3(t2, B.CssStyleDeclaration_methods._browserPropertyName$1(t2, "transform"), "translate(-9999px, -9999px)", "");
        t1._canPosition = false;
        t1._schedulePlacement$0();
      }
    },
    $signature: 74
  };
  A.IOSTextEditingStrategy__schedulePlacement_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._canPosition = true;
      t1.placeElement$0();
    },
    $signature: 0
  };
  A.AndroidTextEditingStrategy.prototype = {
    initializeTextEditing$3$onAction$onChange(inputConfig, onAction, onChange) {
      var t1, t2, _this = this;
      _this.super$DefaultTextEditingStrategy$initializeTextEditing(inputConfig, onAction, onChange);
      t1 = _this.domElement;
      t1.toString;
      inputConfig.inputType.configureInputMode$1(t1);
      t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.autofillGroup != null)
        _this.placeForm$0();
      else {
        t1 = $._flutterViewEmbedder._glassPaneShadow;
        t1.toString;
        t2 = _this.domElement;
        t2.toString;
        t1.append$1(0, t2);
      }
      t1 = _this.domElement;
      t1.toString;
      inputConfig.textCapitalization.setAutocapitalizeAttribute$1(t1);
    },
    addEventHandlers$0() {
      var t2, t3, t4, _this = this,
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      if (t1 != null)
        B.JSArray_methods.addAll$1(_this.subscriptions, t1.addInputEventListeners$0());
      t1 = _this.subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$handleChange();
      t4 = type$._ElementEventStreamImpl_Event._precomputed1;
      t1.push(A._EventStreamSubscription$(t2, "input", t3, false, t4));
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "keydown", _this.get$maybeSendAction(), false, type$._ElementEventStreamImpl_KeyboardEvent._precomputed1));
      t1.push(A._EventStreamSubscription$(document, "selectionchange", t3, false, type$.Event));
      t3 = _this.domElement;
      t3.toString;
      J.addEventListener$2$x(t3, "beforeinput", _this.get$handleBeforeInput());
      t3 = _this.domElement;
      t3.toString;
      J.addEventListener$2$x(t3, "compositionupdate", _this.get$handleCompositionUpdate());
      t3 = _this.domElement;
      t3.toString;
      t1.push(A._EventStreamSubscription$(t3, "blur", new A.AndroidTextEditingStrategy_addEventHandlers_closure(_this), false, t4));
    },
    placeElement$0() {
      var t1, t2;
      this.domElement.focus();
      t1 = this.geometry;
      if (t1 != null) {
        t2 = this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
    }
  };
  A.AndroidTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      if (document.hasFocus())
        t1.domElement.focus();
      else
        t1.owner.sendTextConnectionClosedToFrameworkIfAny$0();
    },
    $signature: 13
  };
  A.FirefoxTextEditingStrategy.prototype = {
    initializeTextEditing$3$onAction$onChange(inputConfig, onAction, onChange) {
      var t1;
      this.super$DefaultTextEditingStrategy$initializeTextEditing(inputConfig, onAction, onChange);
      t1 = this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.autofillGroup != null)
        this.placeForm$0();
    },
    addEventHandlers$0() {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.__DefaultTextEditingStrategy_inputConfiguration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.autofillGroup;
      if (t1 != null)
        B.JSArray_methods.addAll$1(_this.subscriptions, t1.addInputEventListeners$0());
      t1 = _this.subscriptions;
      t2 = _this.domElement;
      t2.toString;
      t3 = _this.get$handleChange();
      t4 = type$._ElementEventStreamImpl_Event._precomputed1;
      t1.push(A._EventStreamSubscription$(t2, "input", t3, false, t4));
      t2 = _this.domElement;
      t2.toString;
      t5 = type$._ElementEventStreamImpl_KeyboardEvent._precomputed1;
      t1.push(A._EventStreamSubscription$(t2, "keydown", _this.get$maybeSendAction(), false, t5));
      t2 = _this.domElement;
      t2.toString;
      J.addEventListener$2$x(t2, "beforeinput", _this.get$handleBeforeInput());
      t2 = _this.domElement;
      t2.toString;
      J.addEventListener$2$x(t2, "compositionupdate", _this.get$handleCompositionUpdate());
      t2 = _this.domElement;
      t2.toString;
      t1.push(A._EventStreamSubscription$(t2, "keyup", new A.FirefoxTextEditingStrategy_addEventHandlers_closure(_this), false, t5));
      t5 = _this.domElement;
      t5.toString;
      t1.push(A._EventStreamSubscription$(t5, "select", t3, false, t4));
      t3 = _this.domElement;
      t3.toString;
      t1.push(A._EventStreamSubscription$(t3, "blur", new A.FirefoxTextEditingStrategy_addEventHandlers_closure0(_this), false, t4));
      _this.preventDefaultForMouseEvents$0();
    },
    _postponeFocus$0() {
      A.Timer_Timer(B.Duration_0, new A.FirefoxTextEditingStrategy__postponeFocus_closure(this));
    },
    placeElement$0() {
      var t1, t2, _this = this;
      _this.domElement.focus();
      t1 = _this.geometry;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
      t1 = _this.lastEditingState;
      if (t1 != null) {
        t2 = _this.domElement;
        t2.toString;
        t1.applyToDomElement$1(t2);
      }
    }
  };
  A.FirefoxTextEditingStrategy_addEventHandlers_closure.prototype = {
    call$1($event) {
      this.$this.handleChange$1($event);
    },
    $signature: 204
  };
  A.FirefoxTextEditingStrategy_addEventHandlers_closure0.prototype = {
    call$1(_) {
      this.$this._postponeFocus$0();
    },
    $signature: 13
  };
  A.FirefoxTextEditingStrategy__postponeFocus_closure.prototype = {
    call$0() {
      this.$this.domElement.focus();
    },
    $signature: 0
  };
  A.TextInputCommand.prototype = {};
  A.TextInputSetClient.prototype = {
    run$1(textEditing) {
      var t1 = textEditing._clientId;
      if (t1 != null && t1 !== this.clientId && textEditing.isEditing) {
        textEditing.isEditing = false;
        textEditing.get$strategy().disable$0(0);
      }
      textEditing._clientId = this.clientId;
      textEditing.configuration = this.configuration;
    }
  };
  A.TextInputUpdateConfig.prototype = {
    run$1(textEditing) {
      var t1 = textEditing.get$strategy(),
        t2 = textEditing.configuration;
      t2.toString;
      t1.applyConfiguration$1(t2);
    }
  };
  A.TextInputSetEditingState.prototype = {
    run$1(textEditing) {
      textEditing.get$strategy().setEditingState$1(this.state);
    }
  };
  A.TextInputShow.prototype = {
    run$1(textEditing) {
      if (!textEditing.isEditing)
        textEditing._startEditing$0();
    }
  };
  A.TextInputSetEditableSizeAndTransform.prototype = {
    run$1(textEditing) {
      textEditing.get$strategy().updateElementPlacement$1(this.geometry);
    }
  };
  A.TextInputSetStyle.prototype = {
    run$1(textEditing) {
      textEditing.get$strategy().updateElementStyle$1(this.style);
    }
  };
  A.TextInputClearClient.prototype = {
    run$1(textEditing) {
      if (textEditing.isEditing) {
        textEditing.isEditing = false;
        textEditing.get$strategy().disable$0(0);
      }
    }
  };
  A.TextInputHide.prototype = {
    run$1(textEditing) {
      if (textEditing.isEditing) {
        textEditing.isEditing = false;
        textEditing.get$strategy().disable$0(0);
      }
    }
  };
  A.TextInputSetMarkedTextRect.prototype = {
    run$1(textEditing) {
    }
  };
  A.TextInputSetCaretRect.prototype = {
    run$1(textEditing) {
    }
  };
  A.TextInputRequestAutofill.prototype = {
    run$1(textEditing) {
    }
  };
  A.TextInputFinishAutofillContext.prototype = {
    run$1(textEditing) {
      textEditing.sendTextConnectionClosedToFrameworkIfAny$0();
      if (this.saveForm)
        A.saveForms();
      A.cleanForms();
    }
  };
  A.saveForms_closure.prototype = {
    call$2(identifier, form) {
      type$.InputElement._as(J.get$first$ax(form.getElementsByClassName("submitBtn"))).click();
    },
    $signature: 1137
  };
  A.TextEditingChannel.prototype = {
    handleTextInput$2(data, callback) {
      var t1, t2, command, transformList, textAlignIndex, textDirectionIndex, fontWeightIndex, fontWeight,
        $call = B.C_JSONMethodCodec.decodeMethodCall$1(data);
      switch ($call.method) {
        case "TextInput.setClient":
          t1 = $call.$arguments;
          t2 = J.getInterceptor$asx(t1);
          command = new A.TextInputSetClient(A._asInt(t2.$index(t1, 0)), A.InputConfiguration$fromFrameworkMessage(type$.Map_String_dynamic._as(t2.$index(t1, 1))));
          break;
        case "TextInput.updateConfig":
          this.implementation.configuration = A.InputConfiguration$fromFrameworkMessage(type$.Map_String_dynamic._as($call.$arguments));
          command = B.C_TextInputUpdateConfig;
          break;
        case "TextInput.setEditingState":
          command = new A.TextInputSetEditingState(A.EditingState_EditingState$fromFrameworkMessage(type$.Map_String_dynamic._as($call.$arguments)));
          break;
        case "TextInput.show":
          command = B.C_TextInputShow;
          break;
        case "TextInput.setEditableSizeAndTransform":
          t1 = type$.Map_String_dynamic._as($call.$arguments);
          t2 = J.getInterceptor$asx(t1);
          transformList = A.List_List$from(type$.List_dynamic._as(t2.$index(t1, "transform")), true, type$.double);
          command = new A.TextInputSetEditableSizeAndTransform(new A.EditableTextGeometry(A._asDouble(t2.$index(t1, "width")), A._asDouble(t2.$index(t1, "height")), new Float32Array(A._ensureNativeList(transformList))));
          break;
        case "TextInput.setStyle":
          t1 = type$.Map_String_dynamic._as($call.$arguments);
          t2 = J.getInterceptor$asx(t1);
          textAlignIndex = A._asInt(t2.$index(t1, "textAlignIndex"));
          textDirectionIndex = A._asInt(t2.$index(t1, "textDirectionIndex"));
          fontWeightIndex = A._asIntQ(t2.$index(t1, "fontWeightIndex"));
          fontWeight = fontWeightIndex != null ? A.fontWeightIndexToCss(fontWeightIndex) : "normal";
          command = new A.TextInputSetStyle(new A.EditableTextStyle(A._asDoubleQ(t2.$index(t1, "fontSize")), fontWeight, A._asStringQ(t2.$index(t1, "fontFamily")), B.List_s2p[textAlignIndex], B.List_TextDirection_0_TextDirection_1[textDirectionIndex]));
          break;
        case "TextInput.clearClient":
          command = B.C_TextInputClearClient;
          break;
        case "TextInput.hide":
          command = B.C_TextInputHide;
          break;
        case "TextInput.requestAutofill":
          command = B.C_TextInputRequestAutofill;
          break;
        case "TextInput.finishAutofillContext":
          command = new A.TextInputFinishAutofillContext(A._asBool($call.$arguments));
          break;
        case "TextInput.setMarkedTextRect":
          command = B.C_TextInputSetMarkedTextRect;
          break;
        case "TextInput.setCaretRect":
          command = B.C_TextInputSetCaretRect;
          break;
        default:
          $.$get$EnginePlatformDispatcher__instance().replyToPlatformMessage$2(callback, null);
          return;
      }
      command.run$1(this.implementation);
      new A.TextEditingChannel_handleTextInput_closure(callback).call$0();
    }
  };
  A.TextEditingChannel_handleTextInput_closure.prototype = {
    call$0() {
      $.$get$EnginePlatformDispatcher__instance().replyToPlatformMessage$2(this.callback, B.C_JSONMessageCodec.encodeMessage$1([true]));
    },
    $signature: 0
  };
  A.HybridTextEditing.prototype = {
    get$channel(_) {
      var value = this.__HybridTextEditing_channel;
      if (value === $) {
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = this.__HybridTextEditing_channel = new A.TextEditingChannel(this);
      }
      return value;
    },
    get$strategy() {
      var t1, result, t2, t3, strategy, _this = this,
        value = _this.__HybridTextEditing_strategy;
      if (value === $) {
        t1 = $.EngineSemanticsOwner__instance;
        if ((t1 == null ? $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_() : t1)._semanticsEnabled) {
          t1 = A.SemanticsTextEditingStrategy_ensureInitialized(_this);
          result = t1;
        } else {
          t1 = $.$get$_browserEngine();
          t2 = t1 === B.BrowserEngine_1;
          if (t2) {
            t3 = $.$get$_operatingSystem();
            t3 = t3 === B.OperatingSystem_0;
          } else
            t3 = false;
          if (t3)
            strategy = new A.IOSTextEditingStrategy(_this, A._setArrayType([], type$.JSArray_StreamSubscription_Event));
          else if (t2)
            strategy = new A.SafariDesktopTextEditingStrategy(_this, A._setArrayType([], type$.JSArray_StreamSubscription_Event));
          else {
            if (t1 === B.BrowserEngine_0) {
              t2 = $.$get$_operatingSystem();
              t2 = t2 === B.OperatingSystem_1;
            } else
              t2 = false;
            if (t2)
              strategy = new A.AndroidTextEditingStrategy(_this, A._setArrayType([], type$.JSArray_StreamSubscription_Event));
            else {
              t2 = type$.JSArray_StreamSubscription_Event;
              strategy = t1 === B.BrowserEngine_2 ? new A.FirefoxTextEditingStrategy(_this, A._setArrayType([], t2)) : new A.GloballyPositionedTextEditingStrategy(_this, A._setArrayType([], t2));
            }
          }
          result = strategy;
        }
        if (_this.__HybridTextEditing_strategy !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__HybridTextEditing_strategy = result;
      }
      return value;
    },
    _startEditing$0() {
      var t1, t2, _this = this;
      _this.isEditing = true;
      t1 = _this.get$strategy();
      t2 = _this.configuration;
      t2.toString;
      t1.enable$3$onAction$onChange(0, t2, new A.HybridTextEditing__startEditing_closure(_this), new A.HybridTextEditing__startEditing_closure0(_this));
    },
    sendTextConnectionClosedToFrameworkIfAny$0() {
      var t1, _this = this;
      if (_this.isEditing) {
        _this.isEditing = false;
        _this.get$strategy().disable$0(0);
        _this.get$channel(_this);
        t1 = _this._clientId;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall("TextInputClient.onConnectionClosed", [t1])), A._engine___emptyCallback$closure());
      }
    }
  };
  A.HybridTextEditing__startEditing_closure0.prototype = {
    call$2(editingState, editingDeltaState) {
      var t2, t3,
        _s17_ = "flutter/textinput",
        t1 = this.$this;
      if (t1.configuration.enableDeltaModel) {
        t1.get$channel(t1);
        t1 = t1._clientId;
        t2 = type$.String;
        t3 = type$.dynamic;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3(_s17_, B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall(string$.TextInD, [t1, A.LinkedHashMap_LinkedHashMap$_literal(["deltas", A._setArrayType([A.LinkedHashMap_LinkedHashMap$_literal(["oldText", editingDeltaState.oldText, "deltaText", editingDeltaState.deltaText, "deltaStart", editingDeltaState.deltaStart, "deltaEnd", editingDeltaState.deltaEnd, "selectionBase", editingDeltaState.baseOffset, "selectionExtent", editingDeltaState.extentOffset], t2, t3)], type$.JSArray_Map_String_dynamic)], t2, t3)])), A._engine___emptyCallback$closure());
      } else {
        t1.get$channel(t1);
        t1 = t1._clientId;
        $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3(_s17_, B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall("TextInputClient.updateEditingState", [t1, editingState.toFlutter$0()])), A._engine___emptyCallback$closure());
      }
    },
    $signature: 1130
  };
  A.HybridTextEditing__startEditing_closure.prototype = {
    call$1(inputAction) {
      var t1 = this.$this;
      t1.get$channel(t1);
      t1 = t1._clientId;
      $.$get$EnginePlatformDispatcher__instance().invokeOnPlatformMessage$3("flutter/textinput", B.C_JSONMethodCodec.encodeMethodCall$1(new A.MethodCall("TextInputClient.performAction", [t1, inputAction])), A._engine___emptyCallback$closure());
    },
    $signature: 82
  };
  A.EditableTextStyle.prototype = {
    applyToDomElement$1(domElement) {
      var _this = this,
        t1 = domElement.style,
        t2 = A.textAlignToCssValue(_this.textAlign, _this.textDirection);
      t1.textAlign = t2 == null ? "" : t2;
      t2 = A.canonicalizeFontFamily(_this.fontFamily);
      t1.font = _this.fontWeight + " " + A.S(_this.fontSize) + "px " + A.S(t2);
    }
  };
  A.EditableTextGeometry.prototype = {
    applyToDomElement$1(domElement) {
      var cssTransform = A.float64ListToCssTransform(this.globalTransform),
        t1 = domElement.style;
      t1.width = A.S(this.width) + "px";
      t1.height = A.S(this.height) + "px";
      B.CssStyleDeclaration_methods._setPropertyHelper$3(t1, B.CssStyleDeclaration_methods._browserPropertyName$1(t1, "transform"), cssTransform, "");
    }
  };
  A.futurize_closure.prototype = {
    call$1(t) {
      var _s16_ = "operation failed";
      if (t == null)
        if (this._box_0.sync)
          throw A.wrapException(A.Exception_Exception(_s16_));
        else
          this.completer.completeError$1(new A._Exception(_s16_));
      else
        this.completer.complete$1(0, t);
    },
    $signature() {
      return this.T._eval$1("~(0?)");
    }
  };
  A.TransformKind.prototype = {
    toString$0(_) {
      return "TransformKind." + this._core$_name;
    }
  };
  A.bytesToHexString_closure.prototype = {
    call$1(byte) {
      return "0x" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(byte, 16), 2, "0");
    },
    $signature: 133
  };
  A.Matrix40.prototype = {
    setFrom$1(arg) {
      var argStorage = arg.__engine$_m4storage,
        t1 = this.__engine$_m4storage;
      t1[15] = argStorage[15];
      t1[14] = argStorage[14];
      t1[13] = argStorage[13];
      t1[12] = argStorage[12];
      t1[11] = argStorage[11];
      t1[10] = argStorage[10];
      t1[9] = argStorage[9];
      t1[8] = argStorage[8];
      t1[7] = argStorage[7];
      t1[6] = argStorage[6];
      t1[5] = argStorage[5];
      t1[4] = argStorage[4];
      t1[3] = argStorage[3];
      t1[2] = argStorage[2];
      t1[1] = argStorage[1];
      t1[0] = argStorage[0];
    },
    $index(_, i) {
      return this.__engine$_m4storage[i];
    },
    $indexSet(_, i, v) {
      this.__engine$_m4storage[i] = v;
    },
    translate$3(_, x, y, z) {
      var t1 = this.__engine$_m4storage,
        t2 = t1[0],
        t3 = t1[4],
        t4 = t1[8],
        t5 = t1[12],
        t6 = t1[1],
        t7 = t1[5],
        t8 = t1[9],
        t9 = t1[13],
        t10 = t1[2],
        t11 = t1[6],
        t12 = t1[10],
        t13 = t1[14],
        t14 = t1[3],
        t15 = t1[7],
        t16 = t1[11],
        t17 = t1[15];
      t1[12] = t2 * x + t3 * y + t4 * z + t5;
      t1[13] = t6 * x + t7 * y + t8 * z + t9;
      t1[14] = t10 * x + t11 * y + t12 * z + t13;
      t1[15] = t14 * x + t15 * y + t16 * z + t17;
    },
    translate$2($receiver, x, y) {
      return this.translate$3($receiver, x, y, 0);
    },
    scale$2(_, x, y) {
      var sy = y == null ? x : y,
        t1 = this.__engine$_m4storage;
      t1[15] = t1[15];
      t1[0] = t1[0] * x;
      t1[1] = t1[1] * x;
      t1[2] = t1[2] * x;
      t1[3] = t1[3] * x;
      t1[4] = t1[4] * sy;
      t1[5] = t1[5] * sy;
      t1[6] = t1[6] * sy;
      t1[7] = t1[7] * sy;
      t1[8] = t1[8] * x;
      t1[9] = t1[9] * x;
      t1[10] = t1[10] * x;
      t1[11] = t1[11] * x;
      t1[12] = t1[12];
      t1[13] = t1[13];
      t1[14] = t1[14];
    },
    scale$1($receiver, x) {
      return this.scale$2($receiver, x, null);
    },
    perspectiveTransform$1(arg) {
      var argStorage = arg.__engine$_v3storage,
        t1 = this.__engine$_m4storage,
        t2 = t1[0],
        t3 = argStorage[0],
        t4 = t1[4],
        t5 = argStorage[1],
        t6 = t1[8],
        t7 = argStorage[2],
        t8 = t1[12],
        t9 = t1[1],
        t10 = t1[5],
        t11 = t1[9],
        t12 = t1[13],
        t13 = t1[2],
        t14 = t1[6],
        t15 = t1[10],
        t16 = t1[14],
        w = 1 / (t1[3] * t3 + t1[7] * t5 + t1[11] * t7 + t1[15]);
      argStorage[0] = (t2 * t3 + t4 * t5 + t6 * t7 + t8) * w;
      argStorage[1] = (t9 * t3 + t10 * t5 + t11 * t7 + t12) * w;
      argStorage[2] = (t13 * t3 + t14 * t5 + t15 * t7 + t16) * w;
      return arg;
    },
    isIdentity$0(_) {
      var t1 = this.__engine$_m4storage;
      return t1[0] === 1 && t1[1] === 0 && t1[2] === 0 && t1[3] === 0 && t1[4] === 0 && t1[5] === 1 && t1[6] === 0 && t1[7] === 0 && t1[8] === 0 && t1[9] === 0 && t1[10] === 1 && t1[11] === 0 && t1[12] === 0 && t1[13] === 0 && t1[14] === 0 && t1[15] === 1;
    },
    rotate$2(_, axis, angle) {
      var m23, m31, m32, m33, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13,
        len = Math.sqrt(axis.get$length2()),
        axisStorage = axis.__engine$_v3storage,
        x = axisStorage[0] / len,
        y = axisStorage[1] / len,
        z = axisStorage[2] / len,
        c = Math.cos(angle),
        s = Math.sin(angle),
        $C = 1 - c,
        m11 = x * x * $C + c,
        t1 = z * s,
        m12 = x * y * $C - t1,
        t2 = y * s,
        m13 = x * z * $C + t2,
        m21 = y * x * $C + t1,
        m22 = y * y * $C + c;
      t1 = x * s;
      m23 = y * z * $C - t1;
      m31 = z * x * $C - t2;
      m32 = z * y * $C + t1;
      m33 = z * z * $C + c;
      t1 = this.__engine$_m4storage;
      t2 = t1[0];
      t3 = t1[4];
      t4 = t1[8];
      t5 = t1[1];
      t6 = t1[5];
      t7 = t1[9];
      t8 = t1[2];
      t9 = t1[6];
      t10 = t1[10];
      t11 = t1[3];
      t12 = t1[7];
      t13 = t1[11];
      t1[0] = t2 * m11 + t3 * m21 + t4 * m31;
      t1[1] = t5 * m11 + t6 * m21 + t7 * m31;
      t1[2] = t8 * m11 + t9 * m21 + t10 * m31;
      t1[3] = t11 * m11 + t12 * m21 + t13 * m31;
      t1[4] = t2 * m12 + t3 * m22 + t4 * m32;
      t1[5] = t5 * m12 + t6 * m22 + t7 * m32;
      t1[6] = t8 * m12 + t9 * m22 + t10 * m32;
      t1[7] = t11 * m12 + t12 * m22 + t13 * m32;
      t1[8] = t2 * m13 + t3 * m23 + t4 * m33;
      t1[9] = t5 * m13 + t6 * m23 + t7 * m33;
      t1[10] = t8 * m13 + t9 * m23 + t10 * m33;
      t1[11] = t11 * m13 + t12 * m23 + t13 * m33;
    },
    setTranslationRaw$3(x, y, z) {
      var t1 = this.__engine$_m4storage;
      t1[14] = z;
      t1[13] = y;
      t1[12] = x;
    },
    copyInverse$1(arg) {
      var invDet, t1, t2, t3,
        argStorage = arg.__engine$_m4storage,
        a00 = argStorage[0],
        a01 = argStorage[1],
        a02 = argStorage[2],
        a03 = argStorage[3],
        a10 = argStorage[4],
        a11 = argStorage[5],
        a12 = argStorage[6],
        a13 = argStorage[7],
        a20 = argStorage[8],
        a21 = argStorage[9],
        a22 = argStorage[10],
        a23 = argStorage[11],
        a30 = argStorage[12],
        a31 = argStorage[13],
        a32 = argStorage[14],
        a33 = argStorage[15],
        b00 = a00 * a11 - a01 * a10,
        b01 = a00 * a12 - a02 * a10,
        b02 = a00 * a13 - a03 * a10,
        b03 = a01 * a12 - a02 * a11,
        b04 = a01 * a13 - a03 * a11,
        b05 = a02 * a13 - a03 * a12,
        b06 = a20 * a31 - a21 * a30,
        b07 = a20 * a32 - a22 * a30,
        b08 = a20 * a33 - a23 * a30,
        b09 = a21 * a32 - a22 * a31,
        b10 = a21 * a33 - a23 * a31,
        b11 = a22 * a33 - a23 * a32,
        det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
      if (det === 0) {
        this.setFrom$1(arg);
        return 0;
      }
      invDet = 1 / det;
      t1 = this.__engine$_m4storage;
      t1[0] = (a11 * b11 - a12 * b10 + a13 * b09) * invDet;
      t1[1] = (-a01 * b11 + a02 * b10 - a03 * b09) * invDet;
      t1[2] = (a31 * b05 - a32 * b04 + a33 * b03) * invDet;
      t1[3] = (-a21 * b05 + a22 * b04 - a23 * b03) * invDet;
      t2 = -a10;
      t1[4] = (t2 * b11 + a12 * b08 - a13 * b07) * invDet;
      t1[5] = (a00 * b11 - a02 * b08 + a03 * b07) * invDet;
      t3 = -a30;
      t1[6] = (t3 * b05 + a32 * b02 - a33 * b01) * invDet;
      t1[7] = (a20 * b05 - a22 * b02 + a23 * b01) * invDet;
      t1[8] = (a10 * b10 - a11 * b08 + a13 * b06) * invDet;
      t1[9] = (-a00 * b10 + a01 * b08 - a03 * b06) * invDet;
      t1[10] = (a30 * b04 - a31 * b02 + a33 * b00) * invDet;
      t1[11] = (-a20 * b04 + a21 * b02 - a23 * b00) * invDet;
      t1[12] = (t2 * b09 + a11 * b07 - a12 * b06) * invDet;
      t1[13] = (a00 * b09 - a01 * b07 + a02 * b06) * invDet;
      t1[14] = (t3 * b03 + a31 * b01 - a32 * b00) * invDet;
      t1[15] = (a20 * b03 - a21 * b01 + a22 * b00) * invDet;
      return det;
    },
    multiply$1(_, arg) {
      var t1 = this.__engine$_m4storage,
        m33 = t1[15],
        m00 = t1[0],
        m01 = t1[4],
        m02 = t1[8],
        m03 = t1[12],
        m10 = t1[1],
        m11 = t1[5],
        m12 = t1[9],
        m13 = t1[13],
        m20 = t1[2],
        m21 = t1[6],
        m22 = t1[10],
        m23 = t1[14],
        m30 = t1[3],
        m31 = t1[7],
        m32 = t1[11],
        argStorage = arg.__engine$_m4storage,
        n33 = argStorage[15],
        n00 = argStorage[0],
        n01 = argStorage[4],
        n02 = argStorage[8],
        n03 = argStorage[12],
        n10 = argStorage[1],
        n11 = argStorage[5],
        n12 = argStorage[9],
        n13 = argStorage[13],
        n20 = argStorage[2],
        n21 = argStorage[6],
        n22 = argStorage[10],
        n23 = argStorage[14],
        n30 = argStorage[3],
        n31 = argStorage[7],
        n32 = argStorage[11];
      t1[0] = m00 * n00 + m01 * n10 + m02 * n20 + m03 * n30;
      t1[4] = m00 * n01 + m01 * n11 + m02 * n21 + m03 * n31;
      t1[8] = m00 * n02 + m01 * n12 + m02 * n22 + m03 * n32;
      t1[12] = m00 * n03 + m01 * n13 + m02 * n23 + m03 * n33;
      t1[1] = m10 * n00 + m11 * n10 + m12 * n20 + m13 * n30;
      t1[5] = m10 * n01 + m11 * n11 + m12 * n21 + m13 * n31;
      t1[9] = m10 * n02 + m11 * n12 + m12 * n22 + m13 * n32;
      t1[13] = m10 * n03 + m11 * n13 + m12 * n23 + m13 * n33;
      t1[2] = m20 * n00 + m21 * n10 + m22 * n20 + m23 * n30;
      t1[6] = m20 * n01 + m21 * n11 + m22 * n21 + m23 * n31;
      t1[10] = m20 * n02 + m21 * n12 + m22 * n22 + m23 * n32;
      t1[14] = m20 * n03 + m21 * n13 + m22 * n23 + m23 * n33;
      t1[3] = m30 * n00 + m31 * n10 + m32 * n20 + m33 * n30;
      t1[7] = m30 * n01 + m31 * n11 + m32 * n21 + m33 * n31;
      t1[11] = m30 * n02 + m31 * n12 + m32 * n22 + m33 * n32;
      t1[15] = m30 * n03 + m31 * n13 + m32 * n23 + m33 * n33;
    },
    multiplied$1(arg) {
      var t1 = new A.Matrix40(new Float32Array(16));
      t1.setFrom$1(this);
      t1.multiply$1(0, arg);
      return t1;
    },
    transform2$1(vector) {
      var x = vector[0],
        y = vector[1],
        t1 = this.__engine$_m4storage;
      vector[0] = t1[0] * x + t1[4] * y + t1[12];
      vector[1] = t1[1] * x + t1[5] * y + t1[13];
    },
    toString$0(_) {
      var t1 = this.super$Object$toString(0);
      return t1;
    }
  };
  A.Vector30.prototype = {
    setValues$3(x, y, z) {
      var t1 = this.__engine$_v3storage;
      t1[0] = x;
      t1[1] = y;
      t1[2] = z;
    },
    $index(_, i) {
      return this.__engine$_v3storage[i];
    },
    $indexSet(_, i, v) {
      this.__engine$_v3storage[i] = v;
    },
    get$length(_) {
      var t1 = this.__engine$_v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return Math.sqrt(t2 * t2 + t3 * t3 + t1 * t1);
    },
    get$length2() {
      var t1 = this.__engine$_v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return t2 * t2 + t3 * t3 + t1 * t1;
    }
  };
  A.EngineFlutterWindow.prototype = {
    EngineFlutterWindow$2(_windowId, platformDispatcher) {
      var _this = this,
        engineDispatcher = _this.platformDispatcher,
        t1 = _this._windowId;
      engineDispatcher._windows.$indexSet(0, t1, _this);
      engineDispatcher._windowConfigurations.$indexSet(0, t1, B.C_ViewConfiguration);
      if ($._isUrlStrategySet)
        _this._browserHistory = A.createHistoryForExistingState($._customUrlStrategy);
      $._hotRestartListeners.push(new A.EngineFlutterWindow_closure(_this));
    },
    get$browserHistory() {
      var urlStrategy,
        t1 = this._browserHistory;
      if (t1 == null) {
        if ($._isUrlStrategySet)
          urlStrategy = $._customUrlStrategy;
        else
          urlStrategy = B.C_HashUrlStrategy;
        $._isUrlStrategySet = true;
        t1 = this._browserHistory = A.createHistoryForExistingState(urlStrategy);
      }
      return t1;
    },
    _useSingleEntryBrowserHistory$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, urlStrategy, strategy, t1;
      var $async$_useSingleEntryBrowserHistory$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._browserHistory;
              if (t1 == null) {
                if ($._isUrlStrategySet)
                  urlStrategy = $._customUrlStrategy;
                else
                  urlStrategy = B.C_HashUrlStrategy;
                $._isUrlStrategySet = true;
                t1 = $async$self._browserHistory = A.createHistoryForExistingState(urlStrategy);
              }
              if (t1 instanceof A.SingleEntryBrowserHistory) {
                // goto return
                $async$goto = 1;
                break;
              }
              strategy = t1.get$urlStrategy();
              t1 = $async$self._browserHistory;
              $async$goto = 3;
              return A._asyncAwait(t1 == null ? null : t1.tearDown$0(), $async$_useSingleEntryBrowserHistory$0);
            case 3:
              // returning from await.
              $async$self._browserHistory = A.SingleEntryBrowserHistory$(strategy);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_useSingleEntryBrowserHistory$0, $async$completer);
    },
    _useMultiEntryBrowserHistory$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, urlStrategy, strategy, t1;
      var $async$_useMultiEntryBrowserHistory$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._browserHistory;
              if (t1 == null) {
                if ($._isUrlStrategySet)
                  urlStrategy = $._customUrlStrategy;
                else
                  urlStrategy = B.C_HashUrlStrategy;
                $._isUrlStrategySet = true;
                t1 = $async$self._browserHistory = A.createHistoryForExistingState(urlStrategy);
              }
              if (t1 instanceof A.MultiEntriesBrowserHistory) {
                // goto return
                $async$goto = 1;
                break;
              }
              strategy = t1.get$urlStrategy();
              t1 = $async$self._browserHistory;
              $async$goto = 3;
              return A._asyncAwait(t1 == null ? null : t1.tearDown$0(), $async$_useMultiEntryBrowserHistory$0);
            case 3:
              // returning from await.
              $async$self._browserHistory = A.MultiEntriesBrowserHistory$(strategy);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_useMultiEntryBrowserHistory$0, $async$completer);
    },
    _waitInTheLine$1(callback) {
      return this._waitInTheLine$body$EngineFlutterWindow(callback);
    },
    _waitInTheLine$body$EngineFlutterWindow(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, result, currentPosition, completer;
      var $async$_waitInTheLine$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
              currentPosition = $async$self._endOfTheLine;
              completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              $async$self._endOfTheLine = completer.future;
              $async$goto = 3;
              return A._asyncAwait(currentPosition, $async$_waitInTheLine$1);
            case 3:
              // returning from await.
              result = false;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(callback.call$0(), $async$_waitInTheLine$1);
            case 7:
              // returning from await.
              result = $async$result;
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              J.complete$0$z(completer);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 6:
              // after finally
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_waitInTheLine$1, $async$completer);
    },
    handleNavigationMessage$1(data) {
      return this.handleNavigationMessage$body$EngineFlutterWindow(data);
    },
    handleNavigationMessage$body$EngineFlutterWindow(data) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$handleNavigationMessage$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$returnValue = $async$self._waitInTheLine$1(new A.EngineFlutterWindow_handleNavigationMessage_closure($async$self, data));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleNavigationMessage$1, $async$completer);
    },
    get$viewConfiguration() {
      var t1 = this.platformDispatcher._windowConfigurations.$index(0, this._windowId);
      return t1 == null ? B.C_ViewConfiguration : t1;
    },
    get$physicalSize() {
      if (this._physicalSize == null)
        this.computePhysicalSize$0();
      var t1 = this._physicalSize;
      t1.toString;
      return t1;
    },
    computePhysicalSize$0() {
      var t2, t3, windowInnerWidth, windowInnerHeight, _this = this,
        t1 = self.window;
      t1 = t1.visualViewport;
      if (t1 != null) {
        t2 = $.$get$_operatingSystem();
        if (t2 === B.OperatingSystem_0) {
          t1 = self.document.documentElement.clientWidth;
          t2 = self.document.documentElement.clientHeight;
          t3 = _this._debugDevicePixelRatio;
          windowInnerWidth = t1 * (t3 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t3);
          t1 = _this._debugDevicePixelRatio;
          windowInnerHeight = t2 * (t1 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t1);
        } else {
          t2 = t1.width;
          t2.toString;
          t3 = _this._debugDevicePixelRatio;
          windowInnerWidth = t2 * (t3 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t3);
          t1 = t1.height;
          t1.toString;
          t2 = _this._debugDevicePixelRatio;
          windowInnerHeight = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        }
      } else {
        t1 = self.window.innerWidth;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        windowInnerWidth = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t1 = self.window.innerHeight;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        windowInnerHeight = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      }
      _this._physicalSize = new A.Size(windowInnerWidth, windowInnerHeight);
    },
    computeOnScreenKeyboardInsets$1(isEditingOnMobile) {
      var t2, windowInnerHeight, _this = this,
        t1 = self.window.visualViewport;
      if (t1 != null) {
        t2 = $.$get$_operatingSystem();
        if (t2 === B.OperatingSystem_0 && !isEditingOnMobile) {
          t1 = self.document.documentElement.clientHeight;
          t2 = _this._debugDevicePixelRatio;
          windowInnerHeight = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        } else {
          t1 = t1.height;
          t1.toString;
          t2 = _this._debugDevicePixelRatio;
          windowInnerHeight = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        }
      } else {
        t1 = self.window.innerHeight;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        windowInnerHeight = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      }
      _this._viewInsets = new A.WindowPadding(0, 0, 0, _this._physicalSize._dy - windowInnerHeight);
    },
    isRotation$0() {
      var t1, t2, height, width, _this = this;
      if (self.window.visualViewport != null) {
        t1 = self.window.visualViewport.height;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        height = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t1 = self.window.visualViewport.width;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        width = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      } else {
        t1 = self.window.innerHeight;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        height = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
        t1 = self.window.innerWidth;
        t1.toString;
        t2 = _this._debugDevicePixelRatio;
        width = t1 * (t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2);
      }
      t1 = _this._physicalSize;
      if (t1 != null) {
        t2 = t1._dy;
        if (t2 !== height && t1._dx !== width) {
          t1 = t1._dx;
          if (!(t2 > t1 && height < width))
            t1 = t1 > t2 && width < height;
          else
            t1 = true;
          if (t1)
            return true;
        }
      }
      return false;
    }
  };
  A.EngineFlutterWindow_closure.prototype = {
    call$0() {
      var t1 = this.$this._browserHistory;
      if (t1 != null)
        t1.dispose$0();
    },
    $signature: 0
  };
  A.EngineFlutterWindow_handleNavigationMessage_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, decoded, $arguments;
      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
              decoded = B.C_JSONMethodCodec.decodeMethodCall$1($async$self.data);
              $arguments = type$.nullable_Map_String_dynamic._as(decoded.$arguments);
            case 3:
              // switch
              switch (decoded.method) {
                case "selectMultiEntryHistory":
                  // goto case
                  $async$goto = 5;
                  break;
                case "selectSingleEntryHistory":
                  // goto case
                  $async$goto = 6;
                  break;
                case "routeUpdated":
                  // goto case
                  $async$goto = 7;
                  break;
                case "routeInformationUpdated":
                  // goto case
                  $async$goto = 8;
                  break;
                default:
                  // goto after switch
                  $async$goto = 4;
                  break;
              }
              break;
            case 5:
              // case
              $async$goto = 9;
              return A._asyncAwait($async$self.$this._useMultiEntryBrowserHistory$0(), $async$call$0);
            case 9:
              // returning from await.
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 6:
              // case
              $async$goto = 10;
              return A._asyncAwait($async$self.$this._useSingleEntryBrowserHistory$0(), $async$call$0);
            case 10:
              // returning from await.
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // case
              t1 = $async$self.$this;
              $async$goto = 11;
              return A._asyncAwait(t1._useSingleEntryBrowserHistory$0(), $async$call$0);
            case 11:
              // returning from await.
              t1 = t1.get$browserHistory();
              $arguments.toString;
              t1.setRouteName$1(A._asStringQ(J.$index$asx($arguments, "routeName")));
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // case
              t1 = $async$self.$this.get$browserHistory();
              $arguments.toString;
              t2 = J.getInterceptor$asx($arguments);
              t3 = A._asStringQ(t2.$index($arguments, "location"));
              t4 = t2.$index($arguments, "state");
              t2 = A._asBoolQ(t2.$index($arguments, "replace"));
              t1.setRouteName$3$replace$state(t3, t2 === true, t4);
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // after switch
              $async$returnValue = false;
              // 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: 54
  };
  A.EngineSingletonFlutterWindow.prototype = {
    get$devicePixelRatio(_) {
      var t1 = this._debugDevicePixelRatio;
      return t1 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t1;
    }
  };
  A.WindowPadding.prototype = {};
  A._DomCanvas_EngineCanvas_SaveElementStackTracking.prototype = {};
  A._PersistedClipRRect_PersistedContainerSurface__DomClip.prototype = {
    adoptElements$1(oldSurface) {
      this.super$PersistedSurface$adoptElements(oldSurface);
      this._DomClip__childContainer = oldSurface._DomClip__childContainer;
      oldSurface._DomClip__childContainer = null;
    },
    discard$0() {
      this.super$PersistedContainerSurface$discard();
      this._DomClip__childContainer = null;
    }
  };
  A._PersistedClipRect_PersistedContainerSurface__DomClip.prototype = {
    adoptElements$1(oldSurface) {
      this.super$PersistedSurface$adoptElements(oldSurface);
      this._DomClip__childContainer = oldSurface._DomClip__childContainer;
      oldSurface._DomClip__childContainer = null;
    },
    discard$0() {
      this.super$PersistedContainerSurface$discard();
      this._DomClip__childContainer = null;
    }
  };
  A.__MouseAdapter__BaseAdapter__WheelEventListenerMixin.prototype = {};
  A.__PointerAdapter__BaseAdapter__WheelEventListenerMixin.prototype = {};
  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$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
    },
    get$runtimeType(receiver) {
      return A.getRuntimeType(receiver);
    }
  };
  J.JSBool.prototype = {
    toString$0(receiver) {
      return String(receiver);
    },
    $or(receiver, other) {
      return other || receiver;
    },
    $xor(receiver, other) {
      return receiver;
    },
    get$hashCode(receiver) {
      return receiver ? 519018 : 218159;
    },
    get$runtimeType(receiver) {
      return B.Type_bool_lhE;
    },
    $isbool: 1
  };
  J.JSNull.prototype = {
    $eq(receiver, other) {
      return null == other;
    },
    toString$0(receiver) {
      return "null";
    },
    get$hashCode(receiver) {
      return 0;
    },
    get$runtimeType(receiver) {
      return B.Type_Null_Yyn;
    },
    noSuchMethod$1(receiver, invocation) {
      return this.super$Interceptor$noSuchMethod(receiver, invocation);
    },
    $isNull: 1
  };
  J.JavaScriptObject.prototype = {};
  J.LegacyJavaScriptObject.prototype = {
    get$hashCode(receiver) {
      return 0;
    },
    get$runtimeType(receiver) {
      return B.Type_JSObject_8k0;
    },
    toString$0(receiver) {
      return String(receiver);
    },
    $isJSObject: 1,
    $isSkAnimatedImage: 1,
    $isSkShader: 1,
    $isSkPaint: 1,
    $isSkMaskFilter: 1,
    $isSkColorFilter: 1,
    $isSkPath: 1,
    $isSkPicture: 1,
    $isSkParagraph: 1,
    $isPromise: 1,
    format$1(receiver, p0) {
      return receiver.format(p0);
    },
    format$2(receiver, p0, p1) {
      return receiver.format(p0, p1);
    },
    get$displayWidth(obj) {
      return obj.displayWidth;
    },
    get$displayHeight(obj) {
      return obj.displayHeight;
    },
    get$duration(obj) {
      return obj.duration;
    },
    get$value(obj) {
      return obj.value;
    },
    get$description(obj) {
      return obj.description;
    }
  };
  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 " + A.S(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) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("add"));
      receiver.push(value);
    },
    removeAt$1(receiver, index) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeAt"));
      if (index < 0 || index >= receiver.length)
        throw A.wrapException(A.RangeError$value(index, null, null));
      return receiver.splice(index, 1)[0];
    },
    insert$2(receiver, index, value) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("insert"));
      if (index < 0 || index > receiver.length)
        throw A.wrapException(A.RangeError$value(index, null, null));
      receiver.splice(index, 0, value);
    },
    insertAll$2(receiver, index, iterable) {
      var insertionLength, end;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("insertAll"));
      A.RangeError_checkValueInInterval(index, 0, receiver.length, "index");
      if (!type$.EfficientLengthIterable_dynamic._is(iterable))
        iterable = J.toList$0$ax(iterable);
      insertionLength = J.get$length$asx(iterable);
      receiver.length = receiver.length + insertionLength;
      end = index + insertionLength;
      this.setRange$4(receiver, end, receiver.length, receiver, index);
      this.setRange$3(receiver, index, end, iterable);
    },
    setAll$2(receiver, index, iterable) {
      var t1, t2, index0;
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("setAll"));
      A.RangeError_checkValueInInterval(index, 0, receiver.length, "index");
      for (t1 = J.get$iterator$ax(iterable._source), t2 = A._instanceType(iterable), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._rest[1]; t1.moveNext$0(); index = index0) {
        index0 = index + 1;
        this.$indexSet(receiver, index, t2._as(t1.get$current(t1)));
      }
    },
    removeLast$0(receiver) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeLast"));
      if (receiver.length === 0)
        throw A.wrapException(A.diagnoseIndexError(receiver, -1));
      return receiver.pop();
    },
    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;
    },
    _removeWhere$2(receiver, test, removeMatching) {
      var i, element, t1, retained = [],
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        element = receiver[i];
        if (!test.call$1(element))
          retained.push(element);
        if (receiver.length !== end)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      t1 = retained.length;
      if (t1 === end)
        return;
      this.set$length(receiver, t1);
      for (i = 0; i < retained.length; ++i)
        receiver[i] = retained[i];
    },
    where$1(receiver, f) {
      return new A.WhereIterable(receiver, f, A._arrayInstanceType(receiver)._eval$1("WhereIterable<1>"));
    },
    addAll$1(receiver, collection) {
      var t1;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("addAll"));
      if (Array.isArray(collection)) {
        this._addAllFromArray$1(receiver, collection);
        return;
      }
      for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();)
        receiver.push(t1.get$current(t1));
    },
    _addAllFromArray$1(receiver, array) {
      var i,
        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 i,
        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) {
      return new A.MappedListIterable(receiver, f, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    map$1($receiver, f) {
      return this.map$1$1($receiver, f, type$.dynamic);
    },
    join$1(receiver, separator) {
      var i,
        list = A.List_List$filled(receiver.length, "", false, type$.String);
      for (i = 0; i < receiver.length; ++i)
        list[i] = A.S(receiver[i]);
      return list.join(separator);
    },
    join$0($receiver) {
      return this.join$1($receiver, "");
    },
    take$1(receiver, n) {
      return A.SubListIterable$(receiver, 0, A.checkNotNullable(n, "count", type$.int), A._arrayInstanceType(receiver)._precomputed1);
    },
    skip$1(receiver, n) {
      return A.SubListIterable$(receiver, n, null, A._arrayInstanceType(receiver)._precomputed1);
    },
    reduce$1(receiver, combine) {
      var value, i,
        $length = receiver.length;
      if ($length === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      value = receiver[0];
      for (i = 1; i < $length; ++i) {
        value = combine.call$2(value, receiver[i]);
        if ($length !== receiver.length)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$1$2(receiver, initialValue, combine) {
      var value, i,
        $length = receiver.length;
      for (value = initialValue, i = 0; i < $length; ++i) {
        value = combine.call$2(value, receiver[i]);
        if (receiver.length !== $length)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$2($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    firstWhere$2$orElse(receiver, test, orElse) {
      var i, element,
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        element = receiver[i];
        if (test.call$1(element))
          return element;
        if (receiver.length !== end)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw A.wrapException(A.IterableElementError_noElement());
    },
    firstWhere$1($receiver, test) {
      return this.firstWhere$2$orElse($receiver, test, null);
    },
    lastWhere$2$orElse(receiver, test, orElse) {
      var i, element,
        $length = receiver.length;
      for (i = $length - 1; i >= 0; --i) {
        element = receiver[i];
        if (test.call$1(element))
          return element;
        if ($length !== receiver.length)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw A.wrapException(A.IterableElementError_noElement());
    },
    lastWhere$1($receiver, test) {
      return this.lastWhere$2$orElse($receiver, test, null);
    },
    singleWhere$2$orElse(receiver, test, orElse) {
      var match, matchFound, i, element,
        $length = receiver.length;
      for (match = null, matchFound = false, i = 0; i < $length; ++i) {
        element = receiver[i];
        if (test.call$1(element)) {
          if (matchFound)
            throw A.wrapException(A.IterableElementError_tooMany());
          match = element;
          matchFound = true;
        }
        if ($length !== receiver.length)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      if (matchFound)
        return match == null ? A._arrayInstanceType(receiver)._precomputed1._as(match) : match;
      return orElse.call$0();
    },
    elementAt$1(receiver, index) {
      return receiver[index];
    },
    sublist$2(receiver, start, end) {
      if (start < 0 || start > receiver.length)
        throw A.wrapException(A.RangeError$range(start, 0, receiver.length, "start", null));
      if (end == null)
        end = receiver.length;
      else if (end < start || end > receiver.length)
        throw A.wrapException(A.RangeError$range(end, start, receiver.length, "end", null));
      if (start === end)
        return A._setArrayType([], A._arrayInstanceType(receiver));
      return A._setArrayType(receiver.slice(start, end), A._arrayInstanceType(receiver));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    getRange$2(receiver, start, end) {
      A.RangeError_checkValidRange(start, end, receiver.length, null, null);
      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());
    },
    get$single(receiver) {
      var t1 = receiver.length;
      if (t1 === 1)
        return receiver[0];
      if (t1 === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      throw A.wrapException(A.IterableElementError_tooMany());
    },
    removeRange$2(receiver, start, end) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeRange"));
      A.RangeError_checkValidRange(start, end, receiver.length, null, null);
      receiver.splice(start, end - start);
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      var $length, otherList, otherStart, t1, i;
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("setRange"));
      A.RangeError_checkValidRange(start, end, receiver.length, null, null);
      $length = end - start;
      if ($length === 0)
        return;
      A.RangeError_checkNotNegative(skipCount, "skipCount");
      if (type$.List_dynamic._is(iterable)) {
        otherList = iterable;
        otherStart = skipCount;
      } else {
        t1 = J.skip$1$ax(iterable, skipCount);
        otherList = t1.toList$1$growable(t1, 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)
          receiver[start + i] = t1.$index(otherList, otherStart + i);
      else
        for (i = 0; i < $length; ++i)
          receiver[start + i] = t1.$index(otherList, otherStart + i);
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    fillRange$3(receiver, start, end, fillValue) {
      var checkedFillValue, i;
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("fill range"));
      A.RangeError_checkValidRange(start, end, receiver.length, null, null);
      checkedFillValue = fillValue == null ? A._arrayInstanceType(receiver)._precomputed1._as(fillValue) : fillValue;
      for (i = start; i < end; ++i)
        receiver[i] = checkedFillValue;
    },
    replaceRange$3(receiver, start, end, replacement) {
      var removeLength, insertLength, insertEnd, t1, delta, newLength, _this = this;
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("replaceRange"));
      A.RangeError_checkValidRange(start, end, receiver.length, null, null);
      if (!type$.EfficientLengthIterable_dynamic._is(replacement))
        replacement = J.toList$0$ax(replacement);
      removeLength = end - start;
      insertLength = J.get$length$asx(replacement);
      insertEnd = start + insertLength;
      t1 = receiver.length;
      if (removeLength >= insertLength) {
        delta = removeLength - insertLength;
        newLength = t1 - delta;
        _this.setRange$3(receiver, start, insertEnd, replacement);
        if (delta !== 0) {
          _this.setRange$4(receiver, insertEnd, newLength, receiver, end);
          _this.set$length(receiver, newLength);
        }
      } else {
        newLength = t1 + (insertLength - removeLength);
        receiver.length = newLength;
        _this.setRange$4(receiver, insertEnd, newLength, receiver, end);
        _this.setRange$3(receiver, start, insertEnd, replacement);
      }
    },
    any$1(receiver, test) {
      var i,
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        if (test.call$1(receiver[i]))
          return true;
        if (receiver.length !== end)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    every$1(receiver, test) {
      var i,
        end = receiver.length;
      for (i = 0; i < end; ++i) {
        if (!test.call$1(receiver[i]))
          return false;
        if (receiver.length !== end)
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return true;
    },
    get$reversed(receiver) {
      return new A.ReversedListIterable(receiver, A._arrayInstanceType(receiver)._eval$1("ReversedListIterable<1>"));
    },
    sort$1(receiver, compare) {
      if (!!receiver.immutable$list)
        A.throwExpression(A.UnsupportedError$("sort"));
      A.Sort_sort(receiver, compare == null ? J._interceptors_JSArray__compareAny$closure() : compare);
    },
    sort$0($receiver) {
      return this.sort$1($receiver, null);
    },
    indexOf$1(receiver, element) {
      var i,
        $length = receiver.length;
      if (0 >= $length)
        return -1;
      for (i = 0; i < $length; ++i)
        if (J.$eq$(receiver[i], element))
          return i;
      return -1;
    },
    lastIndexOf$1(receiver, element) {
      var i,
        start = receiver.length - 1;
      if (start < 0)
        return -1;
      for (i = start; i >= 0; --i)
        if (J.$eq$(receiver[i], element))
          return i;
      return -1;
    },
    contains$1(receiver, other) {
      var i;
      for (i = 0; i < receiver.length; ++i)
        if (J.$eq$(receiver[i], other))
          return true;
      return false;
    },
    get$isEmpty(receiver) {
      return receiver.length === 0;
    },
    get$isNotEmpty(receiver) {
      return receiver.length !== 0;
    },
    toString$0(receiver) {
      return A.IterableBase_iterableToFullString(receiver, "[", "]");
    },
    toList$1$growable(receiver, growable) {
      var t1 = A._arrayInstanceType(receiver);
      return growable ? A._setArrayType(receiver.slice(0), t1) : J.JSArray_JSArray$markFixed(receiver.slice(0), t1._precomputed1);
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0(receiver) {
      return A.LinkedHashSet_LinkedHashSet$from(receiver, A._arrayInstanceType(receiver)._precomputed1);
    },
    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;
    },
    set$length(receiver, newLength) {
      if (!!receiver.fixed$length)
        A.throwExpression(A.UnsupportedError$("set length"));
      if (newLength < 0)
        throw A.wrapException(A.RangeError$range(newLength, 0, null, "newLength", null));
      if (newLength > receiver.length)
        A._arrayInstanceType(receiver)._precomputed1._as(null);
      receiver.length = newLength;
    },
    $index(receiver, index) {
      if (!(index >= 0 && index < receiver.length))
        throw A.wrapException(A.diagnoseIndexError(receiver, index));
      return receiver[index];
    },
    $indexSet(receiver, index, 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;
    },
    whereType$1$0(receiver, $T) {
      return new A.WhereTypeIterable(receiver, $T._eval$1("WhereTypeIterable<0>"));
    },
    $add(receiver, other) {
      var t1 = A.List_List$of(receiver, true, A._arrayInstanceType(receiver)._precomputed1);
      this.addAll$1(t1, other);
      return t1;
    },
    indexWhere$1(receiver, test) {
      var i;
      if (0 >= receiver.length)
        return -1;
      for (i = 0; i < receiver.length; ++i)
        if (test.call$1(receiver[i]))
          return i;
      return -1;
    },
    lastIndexWhere$2(receiver, test, start) {
      var i;
      if (start == null)
        start = receiver.length - 1;
      if (start < 0)
        return -1;
      for (i = start; i >= 0; --i)
        if (test.call$1(receiver[i]))
          return i;
      return -1;
    },
    lastIndexWhere$1($receiver, test) {
      return this.lastIndexWhere$2($receiver, test, null);
    },
    set$last(receiver, element) {
      var t1 = receiver.length;
      if (t1 === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      this.$indexSet(receiver, t1 - 1, element);
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  J.JSUnmodifiableArray.prototype = {};
  J.ArrayIterator.prototype = {
    get$current(_) {
      var t1 = this.__interceptors$_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)
        throw A.wrapException(A.throwConcurrentModificationError(t1));
      t2 = _this._index;
      if (t2 >= $length) {
        _this.__interceptors$_current = null;
        return false;
      }
      _this.__interceptors$_current = t1[t2];
      _this._index = t2 + 1;
      return true;
    }
  };
  J.JSNumber.prototype = {
    compareTo$1(receiver, b) {
      var bIsNegative;
      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;
    },
    get$sign(receiver) {
      var t1;
      if (receiver > 0)
        t1 = 1;
      else
        t1 = receiver < 0 ? -1 : receiver;
      return t1;
    },
    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()"));
    },
    floor$0(receiver) {
      var truncated, d;
      if (receiver >= 0) {
        if (receiver <= 2147483647)
          return receiver | 0;
      } else if (receiver >= -2147483648) {
        truncated = receiver | 0;
        return receiver === truncated ? truncated : truncated - 1;
      }
      d = Math.floor(receiver);
      if (isFinite(d))
        return d;
      throw A.wrapException(A.UnsupportedError$("" + receiver + ".floor()"));
    },
    round$0(receiver) {
      if (receiver > 0) {
        if (receiver !== 1 / 0)
          return Math.round(receiver);
      } else if (receiver > -1 / 0)
        return 0 - Math.round(0 - receiver);
      throw A.wrapException(A.UnsupportedError$("" + receiver + ".round()"));
    },
    roundToDouble$0(receiver) {
      if (receiver < 0)
        return -Math.round(-receiver);
      else
        return Math.round(receiver);
    },
    clamp$2(receiver, lowerLimit, upperLimit) {
      if (this.compareTo$1(lowerLimit, upperLimit) > 0)
        throw A.wrapException(A.argumentErrorValue(lowerLimit));
      if (this.compareTo$1(receiver, lowerLimit) < 0)
        return lowerLimit;
      if (this.compareTo$1(receiver, upperLimit) > 0)
        return upperLimit;
      return receiver;
    },
    toDouble$0(receiver) {
      return receiver;
    },
    toStringAsFixed$1(receiver, fractionDigits) {
      var result;
      if (fractionDigits > 20)
        throw A.wrapException(A.RangeError$range(fractionDigits, 0, 20, "fractionDigits", null));
      result = receiver.toFixed(fractionDigits);
      if (receiver === 0 && this.get$isNegative(receiver))
        return "-" + result;
      return result;
    },
    toStringAsPrecision$1(receiver, precision) {
      var result;
      if (precision < 1 || precision > 21)
        throw A.wrapException(A.RangeError$range(precision, 1, 21, "precision", null));
      result = receiver.toPrecision(precision);
      if (receiver === 0 && this.get$isNegative(receiver))
        return "-" + result;
      return result;
    },
    toRadixString$1(receiver, radix) {
      var result, match, exponent, t1;
      if (radix < 2 || radix > 36)
        throw A.wrapException(A.RangeError$range(radix, 2, 36, "radix", null));
      result = receiver.toString(radix);
      if (B.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41)
        return result;
      match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result);
      if (match == null)
        A.throwExpression(A.UnsupportedError$("Unexpected toString result: " + result));
      result = match[1];
      exponent = +match[3];
      t1 = match[2];
      if (t1 != null) {
        result += t1;
        exponent -= t1.length;
      }
      return result + B.JSString_methods.$mul("0", exponent);
    },
    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;
    },
    $add(receiver, other) {
      return receiver + other;
    },
    $sub(receiver, other) {
      return receiver - other;
    },
    $div(receiver, other) {
      return receiver / other;
    },
    $mul(receiver, other) {
      return receiver * other;
    },
    $mod(receiver, other) {
      var result = receiver % other;
      if (result === 0)
        return 0;
      if (result > 0)
        return result;
      if (other < 0)
        return result - other;
      else
        return result + other;
    },
    $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) + " ~/ " + A.S(other)));
    },
    $shl(receiver, other) {
      if (other < 0)
        throw A.wrapException(A.argumentErrorValue(other));
      return other > 31 ? 0 : receiver << other >>> 0;
    },
    _shlPositive$1(receiver, other) {
      return other > 31 ? 0 : receiver << other >>> 0;
    },
    $shr(receiver, other) {
      var t1;
      if (other < 0)
        throw A.wrapException(A.argumentErrorValue(other));
      if (receiver > 0)
        t1 = this._shrBothPositive$1(receiver, other);
      else {
        t1 = other > 31 ? 31 : other;
        t1 = receiver >> t1 >>> 0;
      }
      return t1;
    },
    _shrOtherPositive$1(receiver, other) {
      var t1;
      if (receiver > 0)
        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;
    },
    $lt(receiver, other) {
      return receiver < other;
    },
    $gt(receiver, other) {
      return receiver > other;
    },
    $le(receiver, other) {
      return receiver <= other;
    },
    get$runtimeType(receiver) {
      return B.Type_num_cv7;
    },
    $isComparable: 1,
    $isdouble: 1,
    $isnum: 1
  };
  J.JSInt.prototype = {
    get$sign(receiver) {
      var t1;
      if (receiver > 0)
        t1 = 1;
      else
        t1 = receiver < 0 ? -1 : receiver;
      return t1;
    },
    toSigned$1(receiver, width) {
      var signMask = this.$shl(1, width - 1);
      return ((receiver & signMask - 1) >>> 0) - ((receiver & signMask) >>> 0);
    },
    get$runtimeType(receiver) {
      return B.Type_int_tHn;
    },
    $isint: 1
  };
  J.JSNumNotInt.prototype = {
    get$runtimeType(receiver) {
      return B.Type_double_K1J;
    }
  };
  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$2(receiver, string, start) {
      var t1 = string.length;
      if (start > t1)
        throw A.wrapException(A.RangeError$range(start, 0, t1, null, null));
      return new A._StringAllMatchesIterable(string, receiver, start);
    },
    allMatches$1($receiver, string) {
      return this.allMatches$2($receiver, string, 0);
    },
    matchAsPrefix$2(receiver, string, start) {
      var t1, i, _null = null;
      if (start < 0 || start > string.length)
        throw A.wrapException(A.RangeError$range(start, 0, string.length, _null, _null));
      t1 = receiver.length;
      if (start + t1 > string.length)
        return _null;
      for (i = 0; i < t1; ++i)
        if (this.codeUnitAt$1(string, start + i) !== this._codeUnitAt$1(receiver, i))
          return _null;
      return new A.StringMatch(start, string, receiver);
    },
    $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);
    },
    replaceFirst$2(receiver, from, to) {
      A.RangeError_checkValueInInterval(0, 0, receiver.length, "startIndex");
      return A.stringReplaceFirstUnchecked(receiver, from, to, 0);
    },
    split$1(receiver, pattern) {
      if (typeof pattern == "string")
        return A._setArrayType(receiver.split(pattern), type$.JSArray_String);
      else if (pattern instanceof A.JSSyntaxRegExp && pattern.get$_nativeAnchoredVersion().exec("").length - 2 === 0)
        return A._setArrayType(receiver.split(pattern._nativeRegExp), type$.JSArray_String);
      else
        return this._defaultSplit$1(receiver, pattern);
    },
    replaceRange$3(receiver, start, end, replacement) {
      var e = A.RangeError_checkValidRange(start, end, receiver.length, null, null);
      return A.stringReplaceRangeUnchecked(receiver, start, e, replacement);
    },
    _defaultSplit$1(receiver, pattern) {
      var t1, start, $length, match, matchStart, matchEnd,
        result = A._setArrayType([], type$.JSArray_String);
      for (t1 = J.allMatches$1$s(pattern, receiver), t1 = t1.get$iterator(t1), start = 0, $length = 1; t1.moveNext$0();) {
        match = t1.get$current(t1);
        matchStart = match.get$start(match);
        matchEnd = match.get$end(match);
        $length = matchEnd - matchStart;
        if ($length === 0 && start === matchStart)
          continue;
        result.push(this.substring$2(receiver, start, matchStart));
        start = matchEnd;
      }
      if (start < receiver.length || $length > 0)
        result.push(this.substring$1(receiver, start));
      return result;
    },
    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));
      if (typeof pattern == "string") {
        endIndex = index + pattern.length;
        if (endIndex > receiver.length)
          return false;
        return pattern === receiver.substring(index, endIndex);
      }
      return J.matchAsPrefix$2$s(pattern, receiver, index) != null;
    },
    startsWith$1($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, null, null));
    },
    substring$1($receiver, start) {
      return this.substring$2($receiver, start, null);
    },
    toLowerCase$0(receiver) {
      return receiver.toLowerCase();
    },
    trim$0(receiver) {
      var startIndex, t1, endIndex0,
        result = receiver.trim(),
        endIndex = result.length;
      if (endIndex === 0)
        return result;
      if (this._codeUnitAt$1(result, 0) === 133) {
        startIndex = J.JSString__skipLeadingWhitespace(result, 1);
        if (startIndex === endIndex)
          return "";
      } else
        startIndex = 0;
      t1 = endIndex - 1;
      endIndex0 = this.codeUnitAt$1(result, t1) === 133 ? J.JSString__skipTrailingWhitespace(result, t1) : endIndex;
      if (startIndex === 0 && endIndex0 === endIndex)
        return result;
      return result.substring(startIndex, endIndex0);
    },
    trimLeft$0(receiver) {
      var result, startIndex;
      if (typeof receiver.trimLeft != "undefined") {
        result = receiver.trimLeft();
        if (result.length === 0)
          return result;
        startIndex = this._codeUnitAt$1(result, 0) === 133 ? J.JSString__skipLeadingWhitespace(result, 1) : 0;
      } else {
        startIndex = J.JSString__skipLeadingWhitespace(receiver, 0);
        result = receiver;
      }
      if (startIndex === 0)
        return result;
      if (startIndex === result.length)
        return "";
      return result.substring(startIndex);
    },
    trimRight$0(receiver) {
      var result, endIndex, t1;
      if (typeof receiver.trimRight != "undefined") {
        result = receiver.trimRight();
        endIndex = result.length;
        if (endIndex === 0)
          return result;
        t1 = endIndex - 1;
        if (this.codeUnitAt$1(result, t1) === 133)
          endIndex = J.JSString__skipTrailingWhitespace(result, t1);
      } else {
        endIndex = J.JSString__skipTrailingWhitespace(receiver, receiver.length);
        result = receiver;
      }
      if (endIndex === result.length)
        return result;
      if (endIndex === 0)
        return "";
      return result.substring(0, endIndex);
    },
    $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;
    },
    padLeft$1($receiver, width) {
      return this.padLeft$2($receiver, width, " ");
    },
    padRight$1(receiver, width) {
      var delta = width - receiver.length;
      if (delta <= 0)
        return receiver;
      return receiver + this.$mul(" ", delta);
    },
    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);
    },
    lastIndexOf$2(receiver, pattern, start) {
      var t1, t2, i;
      if (start == null)
        start = receiver.length;
      else if (start < 0 || start > receiver.length)
        throw A.wrapException(A.RangeError$range(start, 0, receiver.length, null, null));
      if (typeof pattern == "string") {
        t1 = pattern.length;
        t2 = receiver.length;
        if (start + t1 > t2)
          start = t2 - t1;
        return receiver.lastIndexOf(pattern, start);
      }
      for (t1 = J.getInterceptor$s(pattern), i = start; i >= 0; --i)
        if (t1.matchAsPrefix$2(pattern, receiver, i) != null)
          return i;
      return -1;
    },
    lastIndexOf$1($receiver, pattern) {
      return this.lastIndexOf$2($receiver, pattern, null);
    },
    contains$2(receiver, other, startIndex) {
      var t1 = receiver.length;
      if (startIndex > t1)
        throw A.wrapException(A.RangeError$range(startIndex, 0, t1, null, null));
      return A.stringContainsUnchecked(receiver, other, startIndex);
    },
    contains$1($receiver, other) {
      return this.contains$2($receiver, other, 0);
    },
    compareTo$1(receiver, other) {
      var t1;
      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 B.Type_String_k8F;
    },
    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,
    $isComparable: 1,
    $isString: 1
  };
  A.CastStream.prototype = {
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      var t1 = this._source.listen$3$cancelOnError$onDone(null, cancelOnError, onDone),
        t2 = this.$ti;
      t2 = new A.CastStreamSubscription(t1, $.Zone__current, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("CastStreamSubscription<1,2>"));
      t1.onData$1(t2.get$__internal$_onData());
      t2.onData$1(onData);
      t2.onError$1(0, onError);
      return t2;
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    listen$3$onDone$onError(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    cast$1$0(_, $R) {
      return new A.CastStream(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastStream<1,2>"));
    }
  };
  A.CastStreamSubscription.prototype = {
    cancel$0(_) {
      return this._source.cancel$0(0);
    },
    onData$1(handleData) {
      this.__internal$_handleData = handleData == null ? null : this.__internal$_zone.registerUnaryCallback$2$1(handleData, type$.dynamic, this.$ti._rest[1]);
    },
    onError$1(_, handleError) {
      var _this = this;
      _this._source.onError$1(0, handleError);
      if (handleError == null)
        _this.__internal$_handleError = null;
      else if (type$.void_Function_Object_StackTrace._is(handleError))
        _this.__internal$_handleError = _this.__internal$_zone.registerBinaryCallback$3$1(handleError, type$.dynamic, type$.Object, type$.StackTrace);
      else if (type$.void_Function_Object._is(handleError))
        _this.__internal$_handleError = _this.__internal$_zone.registerUnaryCallback$2$1(handleError, type$.dynamic, type$.Object);
      else
        throw A.wrapException(A.ArgumentError$(string$.handle, null));
    },
    __internal$_onData$1(data) {
      var targetData, error, stack, handleError, exception, t2, _this = this,
        t1 = _this.__internal$_handleData;
      if (t1 == null)
        return;
      targetData = null;
      try {
        targetData = _this.$ti._rest[1]._as(data);
      } catch (exception) {
        error = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        handleError = _this.__internal$_handleError;
        if (handleError == null)
          _this.__internal$_zone.handleUncaughtError$2(error, stack);
        else {
          t1 = type$.Object;
          t2 = _this.__internal$_zone;
          if (type$.void_Function_Object_StackTrace._is(handleError))
            t2.runBinaryGuarded$2$3(handleError, error, stack, t1, type$.StackTrace);
          else
            t2.runUnaryGuarded$1$2(type$.void_Function_Object._as(handleError), error, t1);
        }
        return;
      }
      _this.__internal$_zone.runUnaryGuarded$1$2(t1, targetData, _this.$ti._rest[1]);
    },
    pause$1(_, resumeSignal) {
      this._source.pause$1(0, resumeSignal);
    },
    pause$0($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0(_) {
      this._source.resume$0(0);
    },
    asFuture$1$1(futureValue, $E) {
      return this._source.asFuture$1$1(futureValue, $E);
    },
    $isStreamSubscription: 1
  };
  A.CastStreamTransformer.prototype = {
    cast$2$0(_, RS, RT) {
      var t1 = this.$ti;
      return new A.CastStreamTransformer(this._source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RS)._bind$1(RT)._eval$1("CastStreamTransformer<1,2,3,4>"));
    }
  };
  A.CastConverter.prototype = {
    convert$1(input) {
      var t1 = this.$ti;
      return t1._rest[3]._as(this._source.convert$1(t1._precomputed1._as(input)));
    },
    cast$2$0(_, RS, RT) {
      var t1 = this.$ti;
      return new A.CastConverter(this._source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RS)._bind$1(RT)._eval$1("CastConverter<1,2,3,4>"));
    }
  };
  A._CastIterableBase.prototype = {
    get$iterator(_) {
      var t1 = A._instanceType(this);
      return new A.CastIterator(J.get$iterator$ax(this.get$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>"));
    },
    get$length(_) {
      return J.get$length$asx(this.get$_source());
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this.get$_source());
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$asx(this.get$_source());
    },
    skip$1(_, count) {
      var t1 = A._instanceType(this);
      return A.CastIterable_CastIterable(J.skip$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]);
    },
    take$1(_, count) {
      var t1 = A._instanceType(this);
      return A.CastIterable_CastIterable(J.take$1$ax(this.get$_source(), count), t1._precomputed1, t1._rest[1]);
    },
    elementAt$1(_, index) {
      return A._instanceType(this)._rest[1]._as(J.elementAt$1$ax(this.get$_source(), index));
    },
    get$first(_) {
      return A._instanceType(this)._rest[1]._as(J.get$first$ax(this.get$_source()));
    },
    get$last(_) {
      return A._instanceType(this)._rest[1]._as(J.get$last$ax(this.get$_source()));
    },
    contains$1(_, other) {
      return J.contains$1$asx(this.get$_source(), other);
    },
    toString$0(_) {
      return J.toString$0$(this.get$_source());
    }
  };
  A.CastIterator.prototype = {
    moveNext$0() {
      return this._source.moveNext$0();
    },
    get$current(_) {
      var t1 = this._source;
      return this.$ti._rest[1]._as(t1.get$current(t1));
    }
  };
  A.CastIterable.prototype = {
    cast$1$0(_, $R) {
      return A.CastIterable_CastIterable(this._source, A._instanceType(this)._precomputed1, $R);
    },
    get$_source() {
      return this._source;
    }
  };
  A._EfficientLengthCastIterable.prototype = {$isEfficientLengthIterable: 1};
  A._CastListBase.prototype = {
    $index(_, index) {
      return this.$ti._rest[1]._as(J.$index$asx(this._source, index));
    },
    $indexSet(_, index, value) {
      J.$indexSet$ax(this._source, index, this.$ti._precomputed1._as(value));
    },
    set$length(_, $length) {
      J.set$length$asx(this._source, $length);
    },
    add$1(_, value) {
      J.add$1$ax(this._source, this.$ti._precomputed1._as(value));
    },
    addAll$1(_, values) {
      var t1 = this.$ti;
      J.addAll$1$ax(this._source, A.CastIterable_CastIterable(values, t1._rest[1], t1._precomputed1));
    },
    sort$1(_, compare) {
      var t1 = compare == null ? null : new A._CastListBase_sort_closure(this, compare);
      J.sort$1$ax(this._source, t1);
    },
    insertAll$2(_, index, elements) {
      var t1 = this.$ti;
      J.insertAll$2$ax(this._source, index, A.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    setAll$2(_, index, elements) {
      var t1 = this.$ti;
      J.setAll$2$ax(this._source, index, A.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    remove$1(_, value) {
      return J.remove$1$ax(this._source, value);
    },
    removeAt$1(_, index) {
      return this.$ti._rest[1]._as(J.removeAt$1$ax(this._source, index));
    },
    removeLast$0(_) {
      return this.$ti._rest[1]._as(J.removeLast$0$ax(this._source));
    },
    getRange$2(_, start, end) {
      var t1 = this.$ti;
      return A.CastIterable_CastIterable(J.getRange$2$ax(this._source, start, end), t1._precomputed1, t1._rest[1]);
    },
    setRange$4(_, start, end, iterable, skipCount) {
      var t1 = this.$ti;
      J.setRange$4$ax(this._source, start, end, A.CastIterable_CastIterable(iterable, t1._rest[1], t1._precomputed1), skipCount);
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    removeRange$2(_, start, end) {
      J.removeRange$2$ax(this._source, start, end);
    },
    fillRange$3(_, start, end, fillValue) {
      J.fillRange$3$ax(this._source, start, end, this.$ti._precomputed1._as(fillValue));
    },
    $isEfficientLengthIterable: 1,
    $isList: 1
  };
  A._CastListBase_sort_closure.prototype = {
    call$2(v1, v2) {
      var t1 = this.$this.$ti._rest[1];
      return this.compare.call$2(t1._as(v1), t1._as(v2));
    },
    $signature() {
      return this.$this.$ti._eval$1("int(1,1)");
    }
  };
  A.CastList.prototype = {
    cast$1$0(_, $R) {
      return new A.CastList(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    get$_source() {
      return this._source;
    }
  };
  A.CastSet.prototype = {
    cast$1$0(_, $R) {
      return new A.CastSet(this._source, this._emptySet, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastSet<1,2>"));
    },
    add$1(_, value) {
      return this._source.add$1(0, this.$ti._precomputed1._as(value));
    },
    addAll$1(_, elements) {
      var t1 = this.$ti;
      this._source.addAll$1(0, A.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    remove$1(_, object) {
      return this._source.remove$1(0, object);
    },
    removeWhere$1(_, test) {
      this._source.removeWhere$1(0, new A.CastSet_removeWhere_closure(this, test));
    },
    intersection$1(_, other) {
      var t1, _this = this;
      if (_this._emptySet != null)
        return _this._conditionalAdd$2(other, true);
      t1 = _this.$ti;
      return new A.CastSet(_this._source.intersection$1(0, other), null, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastSet<1,2>"));
    },
    _conditionalAdd$2(other, otherContains) {
      var castElement,
        emptySet = this._emptySet,
        t1 = this.$ti,
        t2 = t1._rest[1],
        result = emptySet == null ? A.LinkedHashSet_LinkedHashSet(t2) : emptySet.call$1$0(t2);
      for (t2 = this._source, t2 = t2.get$iterator(t2), t1 = t1._rest[1]; t2.moveNext$0();) {
        castElement = t1._as(t2.get$current(t2));
        if (otherContains === other.contains$1(0, castElement))
          result.add$1(0, castElement);
      }
      return result;
    },
    __internal$_clone$0() {
      var emptySet = this._emptySet,
        t1 = this.$ti._rest[1],
        result = emptySet == null ? A.LinkedHashSet_LinkedHashSet(t1) : emptySet.call$1$0(t1);
      result.addAll$1(0, this);
      return result;
    },
    toSet$0(_) {
      return this.__internal$_clone$0();
    },
    $isEfficientLengthIterable: 1,
    $isSet: 1,
    get$_source() {
      return this._source;
    }
  };
  A.CastSet_removeWhere_closure.prototype = {
    call$1(element) {
      return this.test.call$1(this.$this.$ti._rest[1]._as(element));
    },
    $signature() {
      return this.$this.$ti._eval$1("bool(1)");
    }
  };
  A.CastMap.prototype = {
    cast$2$0(_, RK, RV) {
      var t1 = this.$ti;
      return new A.CastMap(this._source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>"));
    },
    containsKey$1(_, key) {
      return J.containsKey$1$x(this._source, key);
    },
    $index(_, key) {
      return this.$ti._eval$1("4?")._as(J.$index$asx(this._source, key));
    },
    $indexSet(_, key, value) {
      var t1 = this.$ti;
      J.$indexSet$ax(this._source, t1._precomputed1._as(key), t1._rest[1]._as(value));
    },
    putIfAbsent$2(_, key, ifAbsent) {
      var t1 = this.$ti;
      return t1._rest[3]._as(J.putIfAbsent$2$x(this._source, t1._precomputed1._as(key), new A.CastMap_putIfAbsent_closure(this, ifAbsent)));
    },
    addAll$1(_, other) {
      var t1 = this.$ti;
      J.addAll$1$ax(this._source, new A.CastMap(other, t1._eval$1("@<3>")._bind$1(t1._rest[3])._bind$1(t1._precomputed1)._bind$1(t1._rest[1])._eval$1("CastMap<1,2,3,4>")));
    },
    remove$1(_, key) {
      return this.$ti._eval$1("4?")._as(J.remove$1$ax(this._source, key));
    },
    clear$0(_) {
      J.clear$0$ax(this._source);
    },
    forEach$1(_, f) {
      J.forEach$1$ax(this._source, new A.CastMap_forEach_closure(this, f));
    },
    get$keys(_) {
      var t1 = this.$ti;
      return A.CastIterable_CastIterable(J.get$keys$x(this._source), t1._precomputed1, t1._rest[2]);
    },
    get$values(_) {
      var t1 = this.$ti;
      return A.CastIterable_CastIterable(J.get$values$x(this._source), t1._rest[1], t1._rest[3]);
    },
    get$length(_) {
      return J.get$length$asx(this._source);
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this._source);
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$asx(this._source);
    },
    get$entries(_) {
      var t1 = J.get$entries$x(this._source);
      return t1.map$1$1(t1, new A.CastMap_entries_closure(this), this.$ti._eval$1("MapEntry<3,4>"));
    }
  };
  A.CastMap_putIfAbsent_closure.prototype = {
    call$0() {
      return this.$this.$ti._rest[1]._as(this.ifAbsent.call$0());
    },
    $signature() {
      return this.$this.$ti._eval$1("2()");
    }
  };
  A.CastMap_forEach_closure.prototype = {
    call$2(key, value) {
      var t1 = this.$this.$ti;
      this.f.call$2(t1._rest[2]._as(key), t1._rest[3]._as(value));
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1,2)");
    }
  };
  A.CastMap_entries_closure.prototype = {
    call$1(e) {
      var t1 = this.$this.$ti,
        t2 = t1._rest[3];
      return new A.MapEntry(t1._rest[2]._as(e.get$key(e)), t2._as(e.get$value(e)), t1._eval$1("@<3>")._bind$1(t2)._eval$1("MapEntry<1,2>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("MapEntry<3,4>(MapEntry<1,2>)");
    }
  };
  A.CastQueue.prototype = {
    cast$1$0(_, $R) {
      return new A.CastQueue(this._source, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastQueue<1,2>"));
    },
    addAll$1(_, elements) {
      var t1 = this.$ti;
      this._source.addAll$1(0, A.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1));
    },
    $isEfficientLengthIterable: 1,
    get$_source() {
      return this._source;
    }
  };
  A.LateError.prototype = {
    toString$0(_) {
      return "LateInitializationError: " + this._message;
    }
  };
  A.CodeUnits.prototype = {
    get$length(_) {
      return this._string.length;
    },
    $index(_, i) {
      return B.JSString_methods.codeUnitAt$1(this._string, i);
    }
  };
  A.nullFuture_closure.prototype = {
    call$0() {
      return A.Future_Future$value(null, type$.Null);
    },
    $signature: 44
  };
  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<ListIterable.E>"));
    },
    forEach$1(_, action) {
      var i, _this = this,
        $length = _this.get$length(_this);
      for (i = 0; i < $length; ++i) {
        action.call$1(_this.elementAt$1(0, i));
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
    },
    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);
    },
    contains$1(_, element) {
      var i, _this = this,
        $length = _this.get$length(_this);
      for (i = 0; i < $length; ++i) {
        if (J.$eq$(_this.elementAt$1(0, i), element))
          return true;
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return false;
    },
    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, "");
    },
    where$1(_, test) {
      return this.super$Iterable$where(0, test);
    },
    map$1$1(_, toElement, $T) {
      return new A.MappedListIterable(this, toElement, A._instanceType(this)._eval$1("@<ListIterable.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    map$1($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    reduce$1(_, combine) {
      var value, i, _this = this,
        $length = _this.get$length(_this);
      if ($length === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      value = _this.elementAt$1(0, 0);
      for (i = 1; i < $length; ++i) {
        value = combine.call$2(value, _this.elementAt$1(0, i));
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return value;
    },
    fold$1$2(_, initialValue, combine) {
      var value, i, _this = this,
        $length = _this.get$length(_this);
      for (value = initialValue, i = 0; i < $length; ++i) {
        value = combine.call$2(value, _this.elementAt$1(0, i));
        if ($length !== _this.get$length(_this))
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
      return value;
    },
    fold$2($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    skip$1(_, count) {
      return A.SubListIterable$(this, count, null, A._instanceType(this)._eval$1("ListIterable.E"));
    },
    take$1(_, count) {
      return A.SubListIterable$(this, 0, A.checkNotNullable(count, "count", type$.int), A._instanceType(this)._eval$1("ListIterable.E"));
    },
    toList$1$growable(_, growable) {
      return A.List_List$of(this, growable, A._instanceType(this)._eval$1("ListIterable.E"));
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0(_) {
      var i, _this = this,
        result = A.LinkedHashSet_LinkedHashSet(A._instanceType(_this)._eval$1("ListIterable.E"));
      for (i = 0; i < _this.get$length(_this); ++i)
        result.add$1(0, _this.elementAt$1(0, i));
      return result;
    }
  };
  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;
      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$(index, _this, "index", null, null));
      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);
    },
    take$1(_, count) {
      var endOrLength, t1, newEnd, _this = this;
      A.RangeError_checkNotNegative(count, "count");
      endOrLength = _this._endOrLength;
      t1 = _this._start;
      newEnd = t1 + count;
      if (endOrLength == null)
        return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _this.$ti._precomputed1);
      else {
        if (endOrLength < newEnd)
          return _this;
        return A.SubListIterable$(_this.__internal$_iterable, t1, newEnd, _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) {
        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.__internal$_current = null;
        return false;
      }
      _this.__internal$_current = t2.elementAt$1(t1, t3);
      ++_this.__internal$_index;
      return true;
    }
  };
  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.__internal$_current = _this._f.call$1(t1.get$current(t1));
        return true;
      }
      _this.__internal$_current = null;
      return false;
    },
    get$current(_) {
      var t1 = this.__internal$_current;
      return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
    }
  };
  A.MappedListIterable.prototype = {
    get$length(_) {
      return J.get$length$asx(this._source);
    },
    elementAt$1(_, index) {
      return this._f.call$1(J.elementAt$1$ax(this._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>"));
    },
    map$1$1(_, toElement, $T) {
      return new A.MappedIterable(this, toElement, this.$ti._eval$1("@<1>")._bind$1($T)._eval$1("MappedIterable<1,2>"));
    },
    map$1($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    }
  };
  A.WhereIterator.prototype = {
    moveNext$0() {
      var t1, t2;
      for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();)
        if (t2.call$1(t1.get$current(t1)))
          return true;
      return false;
    },
    get$current(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  A.ExpandIterable.prototype = {
    get$iterator(_) {
      var t1 = this.$ti;
      return new A.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, B.C_EmptyIterator, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("ExpandIterator<1,2>"));
    }
  };
  A.ExpandIterator.prototype = {
    get$current(_) {
      var t1 = this.__internal$_current;
      return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
    },
    moveNext$0() {
      var t2, t3, _this = this,
        t1 = _this._currentExpansion;
      if (t1 == null)
        return false;
      for (t2 = _this._iterator, t3 = _this._f; !t1.moveNext$0();) {
        _this.__internal$_current = null;
        if (t2.moveNext$0()) {
          _this._currentExpansion = null;
          t1 = J.get$iterator$ax(t3.call$1(t2.get$current(t2)));
          _this._currentExpansion = t1;
        } else
          return false;
      }
      t1 = _this._currentExpansion;
      _this.__internal$_current = t1.get$current(t1);
      return true;
    }
  };
  A.TakeIterable.prototype = {
    get$iterator(_) {
      return new A.TakeIterator(J.get$iterator$ax(this.__internal$_iterable), this._takeCount, A._instanceType(this)._eval$1("TakeIterator<1>"));
    }
  };
  A.EfficientLengthTakeIterable.prototype = {
    get$length(_) {
      var iterableLength = J.get$length$asx(this.__internal$_iterable),
        t1 = this._takeCount;
      if (iterableLength > t1)
        return t1;
      return iterableLength;
    },
    $isEfficientLengthIterable: 1
  };
  A.TakeIterator.prototype = {
    moveNext$0() {
      if (--this._remaining >= 0)
        return this._iterator.moveNext$0();
      this._remaining = -1;
      return false;
    },
    get$current(_) {
      var t1;
      if (this._remaining < 0) {
        this.$ti._precomputed1._as(null);
        return null;
      }
      t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  A.SkipIterable.prototype = {
    skip$1(_, count) {
      A.ArgumentError_checkNotNull(count, "count");
      A.RangeError_checkNotNegative(count, "count");
      return new A.SkipIterable(this.__internal$_iterable, this._skipCount + count, A._instanceType(this)._eval$1("SkipIterable<1>"));
    },
    get$iterator(_) {
      return new A.SkipIterator(J.get$iterator$ax(this.__internal$_iterable), this._skipCount, 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");
      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);
    }
  };
  A.SkipWhileIterable.prototype = {
    get$iterator(_) {
      return new A.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti._eval$1("SkipWhileIterator<1>"));
    }
  };
  A.SkipWhileIterator.prototype = {
    moveNext$0() {
      var t1, t2, _this = this;
      if (!_this._hasSkipped) {
        _this._hasSkipped = true;
        for (t1 = _this._iterator, t2 = _this._f; t1.moveNext$0();)
          if (!t2.call$1(t1.get$current(t1)))
            return true;
      }
      return _this._iterator.moveNext$0();
    },
    get$current(_) {
      var t1 = this._iterator;
      return t1.get$current(t1);
    }
  };
  A.EmptyIterable.prototype = {
    get$iterator(_) {
      return B.C_EmptyIterator;
    },
    forEach$1(_, action) {
    },
    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));
    },
    contains$1(_, element) {
      return false;
    },
    where$1(_, test) {
      return this;
    },
    map$1$1(_, toElement, $T) {
      return new A.EmptyIterable($T._eval$1("EmptyIterable<0>"));
    },
    map$1($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    skip$1(_, count) {
      A.RangeError_checkNotNegative(count, "count");
      return this;
    },
    take$1(_, count) {
      A.RangeError_checkNotNegative(count, "count");
      return this;
    },
    toList$1$growable(_, growable) {
      var t1 = this.$ti._precomputed1;
      return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1);
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet(this.$ti._precomputed1);
    }
  };
  A.EmptyIterator.prototype = {
    moveNext$0() {
      return false;
    },
    get$current(_) {
      throw A.wrapException(A.IterableElementError_noElement());
    }
  };
  A.FollowedByIterable.prototype = {
    get$iterator(_) {
      return new A.FollowedByIterator(J.get$iterator$ax(this.__internal$_first), this._second, A._instanceType(this)._eval$1("FollowedByIterator<1>"));
    },
    get$length(_) {
      var t1 = this._second;
      return J.get$length$asx(this.__internal$_first) + t1.get$length(t1);
    },
    get$isEmpty(_) {
      var t1;
      if (J.get$isEmpty$asx(this.__internal$_first)) {
        t1 = this._second;
        t1 = !t1.get$iterator(t1).moveNext$0();
      } else
        t1 = false;
      return t1;
    },
    get$isNotEmpty(_) {
      var t1;
      if (!J.get$isNotEmpty$asx(this.__internal$_first)) {
        t1 = this._second;
        t1 = !t1.get$isEmpty(t1);
      } else
        t1 = true;
      return t1;
    },
    contains$1(_, value) {
      return J.contains$1$asx(this.__internal$_first, value) || this._second.contains$1(0, value);
    },
    get$first(_) {
      var t1,
        iterator = J.get$iterator$ax(this.__internal$_first);
      if (iterator.moveNext$0())
        return iterator.get$current(iterator);
      t1 = this._second;
      return t1.get$first(t1);
    },
    get$last(_) {
      var iterator, last,
        t1 = this._second,
        t2 = t1.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]);
      iterator = new A.ExpandIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, B.C_EmptyIterator, t2._eval$1("ExpandIterator<1,2>"));
      if (iterator.moveNext$0()) {
        last = iterator.__internal$_current;
        if (last == null)
          last = t2._rest[1]._as(last);
        for (t1 = t2._rest[1]; iterator.moveNext$0();) {
          last = iterator.__internal$_current;
          if (last == null)
            last = t1._as(last);
        }
        return last;
      }
      return J.get$last$ax(this.__internal$_first);
    }
  };
  A.FollowedByIterator.prototype = {
    moveNext$0() {
      var t1, t2, _this = this;
      if (_this._currentIterator.moveNext$0())
        return true;
      t1 = _this._nextIterable;
      if (t1 != null) {
        t2 = t1.$ti;
        t2 = new A.ExpandIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, B.C_EmptyIterator, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("ExpandIterator<1,2>"));
        _this._currentIterator = t2;
        _this._nextIterable = null;
        return t2.moveNext$0();
      }
      return false;
    },
    get$current(_) {
      var t1 = this._currentIterator;
      return t1.get$current(t1);
    }
  };
  A.WhereTypeIterable.prototype = {
    get$iterator(_) {
      return new A.WhereTypeIterator(J.get$iterator$ax(this._source), this.$ti._eval$1("WhereTypeIterator<1>"));
    }
  };
  A.WhereTypeIterator.prototype = {
    moveNext$0() {
      var t1, t2;
      for (t1 = this._source, t2 = this.$ti._precomputed1; t1.moveNext$0();)
        if (t2._is(t1.get$current(t1)))
          return true;
      return false;
    },
    get$current(_) {
      var t1 = this._source;
      return this.$ti._precomputed1._as(t1.get$current(t1));
    }
  };
  A.FixedLengthListMixin.prototype = {
    set$length(receiver, newLength) {
      throw A.wrapException(A.UnsupportedError$("Cannot change the length of a fixed-length list"));
    },
    add$1(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    insertAll$2(receiver, at, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    addAll$1(receiver, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to a fixed-length list"));
    },
    remove$1(receiver, element) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from a fixed-length list"));
    },
    clear$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Cannot clear a fixed-length list"));
    },
    removeAt$1(receiver, index) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from a fixed-length list"));
    },
    removeLast$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from a fixed-length list"));
    },
    removeRange$2(receiver, start, end) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from a fixed-length list"));
    }
  };
  A.UnmodifiableListMixin.prototype = {
    $indexSet(_, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    set$length(_, newLength) {
      throw A.wrapException(A.UnsupportedError$("Cannot change the length of an unmodifiable list"));
    },
    setAll$2(_, at, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    add$1(_, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    insertAll$2(_, at, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    addAll$1(_, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to an unmodifiable list"));
    },
    remove$1(_, element) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    sort$1(_, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    },
    clear$0(_) {
      throw A.wrapException(A.UnsupportedError$("Cannot clear an unmodifiable list"));
    },
    removeAt$1(_, index) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    removeLast$0(_) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    setRange$4(_, start, end, iterable, skipCount) {
      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);
    },
    removeRange$2(_, start, end) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from an unmodifiable list"));
    },
    fillRange$3(_, start, end, fillValue) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an unmodifiable list"));
    }
  };
  A.UnmodifiableListBase.prototype = {};
  A._ListIndicesIterable.prototype = {
    get$length(_) {
      return J.get$length$asx(this._backedList);
    },
    elementAt$1(_, index) {
      A.RangeError_checkValidIndex(index, this, null, null);
      return index;
    }
  };
  A.ListMapView.prototype = {
    $index(_, key) {
      return this.containsKey$1(0, key) ? J.$index$asx(this._values, A._asInt(key)) : null;
    },
    get$length(_) {
      return J.get$length$asx(this._values);
    },
    get$values(_) {
      return A.SubListIterable$(this._values, 0, null, this.$ti._precomputed1);
    },
    get$keys(_) {
      return new A._ListIndicesIterable(this._values);
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this._values);
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$asx(this._values);
    },
    containsKey$1(_, key) {
      return A._isInt(key) && key >= 0 && key < J.get$length$asx(this._values);
    },
    forEach$1(_, f) {
      var i,
        t1 = this._values,
        t2 = J.getInterceptor$asx(t1),
        $length = t2.get$length(t1);
      for (i = 0; i < $length; ++i) {
        f.call$2(i, t2.$index(t1, i));
        if ($length !== t2.get$length(t1))
          throw A.wrapException(A.ConcurrentModificationError$(t1));
      }
    }
  };
  A.ReversedListIterable.prototype = {
    get$length(_) {
      return J.get$length$asx(this._source);
    },
    elementAt$1(_, index) {
      var t1 = this._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._name) & 536870911;
      this._hashCode = hash;
      return hash;
    },
    toString$0(_) {
      return 'Symbol("' + A.S(this._name) + '")';
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Symbol && this._name == other._name;
    },
    $isSymbol0: 1
  };
  A.__CastListBase__CastIterableBase_ListMixin.prototype = {};
  A.ConstantMapView.prototype = {};
  A.ConstantMap.prototype = {
    cast$2$0(_, RK, RV) {
      var t1 = A._instanceType(this);
      return A.Map_castFrom(this, t1._precomputed1, t1._rest[1], RK, RV);
    },
    get$isEmpty(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty(_) {
      return this.get$length(this) !== 0;
    },
    toString$0(_) {
      return A.MapBase_mapToString(this);
    },
    $indexSet(_, key, val) {
      A.ConstantMap__throwUnmodifiable();
    },
    putIfAbsent$2(_, key, ifAbsent) {
      A.ConstantMap__throwUnmodifiable();
    },
    remove$1(_, key) {
      A.ConstantMap__throwUnmodifiable();
    },
    clear$0(_) {
      A.ConstantMap__throwUnmodifiable();
    },
    addAll$1(_, other) {
      A.ConstantMap__throwUnmodifiable();
    },
    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, key;
        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), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._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);
                $async$goto = 4;
                return new A.MapEntry(key, $async$self.$index(0, key), 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);
    },
    map$2$1(_, transform, K2, V2) {
      var result = A.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
      this.forEach$1(0, new A.ConstantMap_map_closure(this, transform, result));
      return result;
    },
    map$1($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    $isMap: 1
  };
  A.ConstantMap_map_closure.prototype = {
    call$2(key, value) {
      var entry = this.transform.call$2(key, value);
      this.result.$indexSet(0, entry.get$key(entry), entry.get$value(entry));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  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[key];
    },
    forEach$1(_, f) {
      var t1, t2, i, key,
        keys = this._keys;
      for (t1 = keys.length, t2 = this._jsObject, i = 0; i < t1; ++i) {
        key = keys[i];
        f.call$2(key, t2[key]);
      }
    },
    get$keys(_) {
      return new A._ConstantMapKeyIterable(this, this.$ti._eval$1("_ConstantMapKeyIterable<1>"));
    },
    get$values(_) {
      var t1 = this.$ti;
      return A.MappedIterable_MappedIterable(this._keys, new A.ConstantStringMap_values_closure(this), t1._precomputed1, t1._rest[1]);
    }
  };
  A.ConstantStringMap_values_closure.prototype = {
    call$1(key) {
      return this.$this._jsObject[key];
    },
    $signature() {
      return this.$this.$ti._eval$1("2(1)");
    }
  };
  A._ConstantMapKeyIterable.prototype = {
    get$iterator(_) {
      var t1 = this._map._keys;
      return new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    },
    get$length(_) {
      return this._map._keys.length;
    }
  };
  A.GeneralConstantMap.prototype = {
    _getMap$0() {
      var t1, t2, t3, _this = this,
        backingMap = _this.$map;
      if (backingMap == null) {
        t1 = _this.$ti;
        t2 = t1._precomputed1;
        t3 = A.GeneralConstantMap__typeTest(t2);
        backingMap = A.LinkedHashMap_LinkedHashMap(null, A._js_helper_GeneralConstantMap__constantMapHashCode$closure(), t3, t2, t1._rest[1]);
        A.fillLiteralMap(_this._jsData, backingMap);
        _this.$map = backingMap;
      }
      return backingMap;
    },
    containsKey$1(_, key) {
      return this._getMap$0().containsKey$1(0, key);
    },
    $index(_, key) {
      return this._getMap$0().$index(0, key);
    },
    forEach$1(_, f) {
      this._getMap$0().forEach$1(0, f);
    },
    get$keys(_) {
      var t1 = this._getMap$0();
      return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
    },
    get$values(_) {
      var t1 = this._getMap$0();
      return t1.get$values(t1);
    },
    get$length(_) {
      return this._getMap$0()._length;
    }
  };
  A.GeneralConstantMap__typeTest_closure.prototype = {
    call$1(o) {
      return this.T._is(o);
    },
    $signature: 37
  };
  A.Instantiation.prototype = {
    Instantiation$1(_genericClosure) {
      if (false)
        A.instantiatedGenericFunctionType(0, 0);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Instantiation && this._genericClosure.$eq(0, other._genericClosure) && A.getRuntimeType(this) === A.getRuntimeType(other);
    },
    get$hashCode(_) {
      return A.Object_hash(this._genericClosure, A.getRuntimeType(this), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1 = B.JSArray_methods.join$1([A.createRuntimeType(this.$ti._precomputed1)], ", ");
      return this._genericClosure.toString$0(0) + " with " + ("<" + t1 + ">");
    }
  };
  A.Instantiation1.prototype = {
    call$1(a0) {
      return this._genericClosure.call$1$1(a0, this.$ti._rest[0]);
    },
    call$2(a0, a1) {
      return this._genericClosure.call$1$2(a0, a1, this.$ti._rest[0]);
    },
    call$0() {
      return this._genericClosure.call$1$0(this.$ti._rest[0]);
    },
    call$4(a0, a1, a2, a3) {
      return this._genericClosure.call$1$4(a0, a1, a2, a3, this.$ti._rest[0]);
    },
    $signature() {
      return A.instantiatedGenericFunctionType(A.closureFunctionType(this._genericClosure), this.$ti);
    }
  };
  A.JSInvocationMirror.prototype = {
    get$memberName() {
      var t1 = this.__js_helper$_memberName;
      if (type$.Symbol._is(t1))
        return t1;
      return this.__js_helper$_memberName = new A.Symbol(t1);
    },
    get$positionalArguments() {
      var t1, t2, argumentCount, list, index, _this = this;
      if (_this.__js_helper$_kind === 1)
        return B.List_empty;
      t1 = _this._arguments;
      t2 = J.getInterceptor$asx(t1);
      argumentCount = t2.get$length(t1) - J.get$length$asx(_this._namedArgumentNames) - _this._typeArgumentCount;
      if (argumentCount === 0)
        return B.List_empty;
      list = [];
      for (index = 0; index < argumentCount; ++index)
        list.push(t2.$index(t1, index));
      return J.JSArray_markUnmodifiableList(list);
    },
    get$namedArguments() {
      var t1, t2, namedArgumentCount, t3, t4, namedArgumentsStartIndex, map, i, _this = this;
      if (_this.__js_helper$_kind !== 0)
        return B.Map_empty;
      t1 = _this._namedArgumentNames;
      t2 = J.getInterceptor$asx(t1);
      namedArgumentCount = t2.get$length(t1);
      t3 = _this._arguments;
      t4 = J.getInterceptor$asx(t3);
      namedArgumentsStartIndex = t4.get$length(t3) - namedArgumentCount - _this._typeArgumentCount;
      if (namedArgumentCount === 0)
        return B.Map_empty;
      map = new A.JsLinkedHashMap(type$.JsLinkedHashMap_Symbol_dynamic);
      for (i = 0; i < namedArgumentCount; ++i)
        map.$indexSet(0, new A.Symbol(t2.$index(t1, i)), t4.$index(t3, namedArgumentsStartIndex + i));
      return new A.ConstantMapView(map, type$.ConstantMapView_Symbol_dynamic);
    }
  };
  A.Primitives_initTicker_closure.prototype = {
    call$0() {
      return B.JSNumber_methods.floor$0(1000 * this.performance.now());
    },
    $signature: 60
  };
  A.Primitives_functionNoSuchMethod_closure.prototype = {
    call$2($name, argument) {
      var t1 = this._box_0;
      t1.names = t1.names + "$" + $name;
      this.namedArgumentList.push($name);
      this.$arguments.push(argument);
      ++t1.argumentCount;
    },
    $signature: 30
  };
  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)";
    },
    $isException: 1
  };
  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.RuntimeError.prototype = {
    toString$0(_) {
      return "RuntimeError: " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A._Required.prototype = {};
  A.JsLinkedHashMap.prototype = {
    get$length(_) {
      return this._length;
    },
    get$isEmpty(_) {
      return this._length === 0;
    },
    get$isNotEmpty(_) {
      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;
    },
    containsValue$1(_, value) {
      return new A.LinkedHashMapKeyIterable(this, A._instanceType(this)._eval$1("LinkedHashMapKeyIterable<1>")).any$1(0, new A.JsLinkedHashMap_containsValue_closure(this, value));
    },
    addAll$1(_, other) {
      J.forEach$1$ax(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;
      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 hash, bucket, index, _this = this,
        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)
        rest[hash] = [_this._newLinkedCell$2(key, value)];
      else {
        index = _this.internalFindBucketIndex$2(bucket, key);
        if (index >= 0)
          bucket[index].hashMapCellValue = value;
        else
          bucket.push(_this._newLinkedCell$2(key, value));
      }
    },
    putIfAbsent$2(_, key, ifAbsent) {
      var t1, value, _this = this;
      if (_this.containsKey$1(0, key)) {
        t1 = _this.$index(0, key);
        return t1 == null ? A._instanceType(_this)._rest[1]._as(t1) : t1;
      }
      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 _this = this,
        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 = 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 t1, _this = this,
        cell = new A.LinkedHashMapCell(key, 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)
        _this._first = next;
      else
        previous._next = next;
      if (next == null)
        _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);
      table["<non-identifier-key>"] = table;
      delete table["<non-identifier-key>"];
      return table;
    },
    $isLinkedHashMap: 1
  };
  A.JsLinkedHashMap_values_closure.prototype = {
    call$1(each) {
      var t1 = this.$this,
        t2 = t1.$index(0, each);
      return t2 == null ? A._instanceType(t1)._rest[1]._as(t2) : t2;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  A.JsLinkedHashMap_containsValue_closure.prototype = {
    call$1(each) {
      return J.$eq$(this.$this.$index(0, each), this.value);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("bool(1)");
    }
  };
  A.JsLinkedHashMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, 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;
    },
    contains$1(_, element) {
      return this._map.containsKey$1(0, element);
    },
    forEach$1(_, f) {
      var t1 = this._map,
        cell = t1._first,
        modifications = t1._modifications;
      for (; cell != null;) {
        f.call$1(cell.hashMapCellKey);
        if (modifications !== t1._modifications)
          throw A.wrapException(A.ConcurrentModificationError$(t1));
        cell = cell._next;
      }
    }
  };
  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.__js_helper$_current = null;
        return false;
      } else {
        _this.__js_helper$_current = cell.hashMapCellKey;
        _this._cell = cell._next;
        return true;
      }
    }
  };
  A.initHooks_closure.prototype = {
    call$1(o) {
      return this.getTag(o);
    },
    $signature: 43
  };
  A.initHooks_closure0.prototype = {
    call$2(o, tag) {
      return this.getUnknownTag(o, tag);
    },
    $signature: 933
  };
  A.initHooks_closure1.prototype = {
    call$1(tag) {
      return this.prototypeForTag(tag);
    },
    $signature: 213
  };
  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);
    },
    get$_nativeAnchoredVersion() {
      var _this = this,
        t1 = _this._nativeAnchoredRegExp;
      if (t1 != null)
        return t1;
      t1 = _this._nativeRegExp;
      return _this._nativeAnchoredRegExp = 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 new A._MatchImplementation(m);
    },
    stringMatch$1(string) {
      var match = this.firstMatch$1(string);
      if (match != null)
        return match._match[0];
      return null;
    },
    allMatches$2(_, string, start) {
      var t1 = string.length;
      if (start > t1)
        throw A.wrapException(A.RangeError$range(start, 0, t1, null, null));
      return new A._AllMatchesIterable(this, string, start);
    },
    allMatches$1($receiver, string) {
      return this.allMatches$2($receiver, string, 0);
    },
    _execGlobal$2(string, start) {
      var match,
        regexp = this.get$_nativeGlobalVersion();
      regexp.lastIndex = start;
      match = regexp.exec(string);
      if (match == null)
        return null;
      return new A._MatchImplementation(match);
    },
    _execAnchored$2(string, start) {
      var match,
        regexp = this.get$_nativeAnchoredVersion();
      regexp.lastIndex = start;
      match = regexp.exec(string);
      if (match == null)
        return null;
      if (match.pop() != null)
        return null;
      return new A._MatchImplementation(match);
    },
    matchAsPrefix$2(_, string, start) {
      if (start < 0 || start > string.length)
        throw A.wrapException(A.RangeError$range(start, 0, string.length, null, null));
      return this._execAnchored$2(string, start);
    },
    matchAsPrefix$1($receiver, string) {
      return this.matchAsPrefix$2($receiver, string, 0);
    },
    $isRegExp: 1
  };
  A._MatchImplementation.prototype = {
    get$start(_) {
      return this._match.index;
    },
    get$end(_) {
      var t1 = this._match;
      return t1.index + t1[0].length;
    },
    group$1(index) {
      return this._match[index];
    },
    $index(_, index) {
      return this._match[index];
    },
    get$groupCount() {
      return this._match.length - 1;
    },
    $isMatch: 1,
    $isRegExpMatch: 1
  };
  A._AllMatchesIterable.prototype = {
    get$iterator(_) {
      return new A._AllMatchesIterator(this._re, this.__js_helper$_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, nextIndex, _this = this,
        string = _this.__js_helper$_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;
          nextIndex = match.get$end(match);
          if (match._match.index === 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.__js_helper$_string = _this.__js_helper$_current = null;
      return false;
    }
  };
  A.StringMatch.prototype = {
    get$end(_) {
      return this.start + this.pattern.length;
    },
    $index(_, g) {
      if (g !== 0)
        A.throwExpression(A.RangeError$value(g, null, null));
      return this.pattern;
    },
    get$groupCount() {
      return 0;
    },
    group$1(group_) {
      if (group_ !== 0)
        throw A.wrapException(A.RangeError$value(group_, null, null));
      return this.pattern;
    },
    $isMatch: 1,
    get$start(receiver) {
      return this.start;
    }
  };
  A._StringAllMatchesIterable.prototype = {
    get$iterator(_) {
      return new A._StringAllMatchesIterator(this._input, this._pattern, this.__js_helper$_index);
    },
    get$first(_) {
      var t1 = this._input,
        t2 = this._pattern,
        index = t1.indexOf(t2, this.__js_helper$_index);
      if (index >= 0)
        return new A.StringMatch(index, t1, t2);
      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, t4, 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;
    }
  };
  A._Cell.prototype = {
    _readLocal$0() {
      var t1 = this.__late_helper$_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.__late_helper$_value;
      if (t1 === this)
        throw A.wrapException(A.LateError$fieldNI(this.__late_helper$_name));
      return t1;
    },
    set$finalLocalValue(v) {
      var _this = this;
      if (_this.__late_helper$_value !== _this)
        throw A.wrapException(new A.LateError("Local '" + _this.__late_helper$_name + "' has already been initialized."));
      _this.__late_helper$_value = v;
    }
  };
  A.NativeByteBuffer.prototype = {
    get$runtimeType(receiver) {
      return B.Type_ByteBuffer_RkP;
    },
    asInt64List$2(receiver, offsetInBytes, $length) {
      throw A.wrapException(A.UnsupportedError$("Int64List not supported by dart2js."));
    },
    $isNativeByteBuffer: 1,
    $isByteBuffer: 1
  };
  A.NativeFloat32x4List.prototype = {
    get$runtimeType(_) {
      return B.Type_Float32x4List_0ez;
    },
    get$buffer(_) {
      return this.__native_typed_data$_storage.buffer;
    },
    get$length(_) {
      return this.__native_typed_data$_storage.length / 4 | 0;
    },
    $index(_, index) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      A._checkValidIndex(index, this, t1.length / 4 | 0);
      t2 = index * 4;
      return new A.NativeFloat32x4(t1[t2], t1[t2 + 1], t1[t2 + 2], t1[t2 + 3]);
    },
    $indexSet(_, index, value) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      A._checkValidIndex(index, this, t1.length / 4 | 0);
      t2 = index * 4;
      t1[t2] = value.x;
      t1[t2 + 1] = value.y;
      t1[t2 + 2] = value.z;
      t1[t2 + 3] = value.w;
    },
    sublist$2(_, start, end) {
      var t1 = this.__native_typed_data$_storage;
      return new A.NativeFloat32x4List(B.NativeFloat32List_methods.sublist$2(t1, start * 4, A._checkValidRange(start, end, t1.length / 4 | 0) * 4));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    $isTypedData: 1
  };
  A.NativeInt32x4List.prototype = {
    get$runtimeType(_) {
      return B.Type_Int32x4List_pCi;
    },
    get$buffer(_) {
      return this.__native_typed_data$_storage.buffer;
    },
    get$length(_) {
      return this.__native_typed_data$_storage.length / 4 | 0;
    },
    $index(_, index) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      A._checkValidIndex(index, this, t1.length / 4 | 0);
      t2 = index * 4;
      return new A.NativeInt32x4(t1[t2], t1[t2 + 1], t1[t2 + 2], t1[t2 + 3]);
    },
    $indexSet(_, index, value) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      A._checkValidIndex(index, this, t1.length / 4 | 0);
      t2 = index * 4;
      t1[t2] = value.x;
      t1[t2 + 1] = value.y;
      t1[t2 + 2] = value.z;
      t1[t2 + 3] = value.w;
    },
    sublist$2(_, start, end) {
      var t1 = this.__native_typed_data$_storage;
      return new A.NativeInt32x4List(B.NativeInt32List_methods.sublist$2(t1, start * 4, A._checkValidRange(start, end, t1.length / 4 | 0) * 4));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    $isTypedData: 1
  };
  A.NativeFloat64x2List.prototype = {
    get$runtimeType(_) {
      return B.Type_Float64x2List_0ez;
    },
    get$buffer(_) {
      return this.__native_typed_data$_storage.buffer;
    },
    get$length(_) {
      return this.__native_typed_data$_storage.length / 2 | 0;
    },
    $index(_, index) {
      var t2, _x, _y,
        t1 = this.__native_typed_data$_storage;
      A._checkValidIndex(index, this, t1.length / 2 | 0);
      t2 = index * 2;
      _x = t1[t2];
      _y = t1[t2 + 1];
      return new A.NativeFloat64x2(_x, _y);
    },
    $indexSet(_, index, value) {
      var t2,
        t1 = this.__native_typed_data$_storage;
      A._checkValidIndex(index, this, t1.length / 2 | 0);
      t2 = index * 2;
      t1[t2] = value.x;
      t1[t2 + 1] = value.y;
    },
    sublist$2(_, start, end) {
      var t1 = this.__native_typed_data$_storage;
      return new A.NativeFloat64x2List(B.NativeFloat64List_methods.sublist$2(t1, start * 2, A._checkValidRange(start, end, t1.length / 2 | 0) * 2));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    $isTypedData: 1
  };
  A.NativeTypedData.prototype = {
    get$buffer(receiver) {
      return receiver.buffer;
    },
    _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,
    $isTypedData: 1
  };
  A.NativeByteData.prototype = {
    get$runtimeType(receiver) {
      return B.Type_ByteData_zNC;
    },
    getInt64$2(receiver, byteOffset, endian) {
      throw A.wrapException(A.UnsupportedError$("Int64 accessor not supported by dart2js."));
    },
    setInt64$3(receiver, byteOffset, value, endian) {
      throw A.wrapException(A.UnsupportedError$("Int64 accessor not supported by dart2js."));
    },
    $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._checkValidIndex(index, receiver, receiver.length);
      receiver[index] = value;
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      if (type$.NativeTypedArrayOfDouble._is(iterable)) {
        this._setRangeFast$4(receiver, start, end, iterable, skipCount);
        return;
      }
      this.super$ListMixin$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._checkValidIndex(index, receiver, receiver.length);
      receiver[index] = value;
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      if (type$.NativeTypedArrayOfInt._is(iterable)) {
        this._setRangeFast$4(receiver, start, end, iterable, skipCount);
        return;
      }
      this.super$ListMixin$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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isFloat32List: 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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isFloat64List: 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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isInt16List: 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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isInt32List: 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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isUint32List: 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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    }
  };
  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)));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    $isNativeUint8List: 1,
    $isUint8List: 1
  };
  A.NativeFloat32x4.prototype = {
    toString$0(_) {
      var _this = this;
      return "[" + A.S(_this.x) + ", " + A.S(_this.y) + ", " + A.S(_this.z) + ", " + A.S(_this.w) + "]";
    },
    $add(_, other) {
      var _this = this;
      return A.NativeFloat32x4$_doubles(_this.x + other.x, _this.y + other.y, _this.z + other.z, _this.w + other.w);
    },
    $sub(_, other) {
      var _this = this;
      return A.NativeFloat32x4$_doubles(_this.x - other.x, _this.y - other.y, _this.z - other.z, _this.w - other.w);
    },
    $mul(_, other) {
      var _this = this;
      return A.NativeFloat32x4$_doubles(B.JSNumber_methods.$mul(_this.x, other.get$x(other)), B.JSNumber_methods.$mul(_this.y, other.get$y(other)), B.JSNumber_methods.$mul(_this.z, other.get$z(other)), B.JSNumber_methods.$mul(_this.w, other.get$w(other)));
    },
    $div(_, other) {
      var _this = this;
      return A.NativeFloat32x4$_doubles(B.JSNumber_methods.$div(_this.x, other.get$x(other)), B.JSNumber_methods.$div(_this.y, other.get$y(other)), B.JSNumber_methods.$div(_this.z, other.get$z(other)), B.JSNumber_methods.$div(_this.w, other.get$w(other)));
    },
    $isFloat32x4: 1
  };
  A.NativeInt32x4.prototype = {
    toString$0(_) {
      var _this = this;
      return "[" + _this.x + ", " + _this.y + ", " + _this.z + ", " + _this.w + "]";
    },
    $add(_, other) {
      var _this = this;
      return new A.NativeInt32x4(_this.x + other.x | 0, _this.y + other.y | 0, _this.z + other.z | 0, _this.w + other.w | 0);
    },
    $sub(_, other) {
      var _this = this;
      return new A.NativeInt32x4(_this.x - other.x | 0, _this.y - other.y | 0, _this.z - other.z | 0, _this.w - other.w | 0);
    },
    $isInt32x4: 1
  };
  A.NativeFloat64x2.prototype = {
    toString$0(_) {
      return "[" + A.S(this.x) + ", " + A.S(this.y) + "]";
    },
    $add(_, other) {
      return new A.NativeFloat64x2(this.x + other.x, this.y + other.y);
    },
    $sub(_, other) {
      return new A.NativeFloat64x2(this.x - other.x, this.y - other.y);
    },
    $mul(_, other) {
      return new A.NativeFloat64x2(B.JSNumber_methods.$mul(this.x, other.get$x(other)), B.JSNumber_methods.$mul(this.y, other.get$y(other)));
    },
    $div(_, other) {
      return new A.NativeFloat64x2(B.JSNumber_methods.$div(this.x, other.get$x(other)), B.JSNumber_methods.$div(this.y, other.get$y(other)));
    },
    $isFloat64x2: 1
  };
  A._NativeFloat32x4List_Object_ListMixin.prototype = {};
  A._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin.prototype = {};
  A._NativeFloat64x2List_Object_ListMixin.prototype = {};
  A._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin.prototype = {};
  A._NativeInt32x4List_Object_ListMixin.prototype = {};
  A._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin.prototype = {};
  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);
    },
    $isType: 1
  };
  A._Error.prototype = {
    toString$0(_) {
      return this.__rti$_message;
    }
  };
  A._TypeError.prototype = {
    get$message(_) {
      return this.__rti$_message;
    },
    $isTypeError: 1
  };
  A._AsyncRun__initializeScheduleImmediate_internalCallback.prototype = {
    call$1(_) {
      var t1 = this._box_0,
        f = t1.storedCallback;
      t1.storedCallback = null;
      f.call$0();
    },
    $signature: 9
  };
  A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
    call$1(callback) {
      var t1, t2;
      this._box_0.storedCallback = callback;
      t1 = this.div;
      t2 = this.span;
      t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
    },
    $signature: 830
  };
  A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
    call$0() {
      this.callback.call$0();
    },
    $signature: 7
  };
  A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback.prototype = {
    call$0() {
      this.callback.call$0();
    },
    $signature: 7
  };
  A._TimerImpl.prototype = {
    _TimerImpl$2(milliseconds, callback) {
      if (self.setTimeout != null)
        this._handle = 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)
        this._handle = self.setInterval(A.convertDartClosureToJS(new A._TimerImpl$periodic_closure(this, milliseconds, Date.now(), callback), 0), milliseconds);
      else
        throw A.wrapException(A.UnsupportedError$("Periodic timer."));
    },
    get$isActive() {
      return this._handle != null;
    },
    cancel$0(_) {
      var t1;
      if (self.setTimeout != null) {
        t1 = this._handle;
        if (t1 == null)
          return;
        if (this._once)
          self.clearTimeout(t1);
        else
          self.clearInterval(t1);
        this._handle = null;
      } else
        throw A.wrapException(A.UnsupportedError$("Canceling a timer."));
    },
    $isTimer: 1
  };
  A._TimerImpl_internalCallback.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._handle = null;
      t1._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: 7
  };
  A._AsyncAwaitCompleter.prototype = {
    complete$1(_, value) {
      var t1, _this = this;
      if (value == null)
        _this.$ti._precomputed1._as(value);
      if (!_this.isSync)
        _this._future._asyncComplete$1(value);
      else {
        t1 = _this._future;
        if (_this.$ti._eval$1("Future<1>")._is(value))
          t1._chainFuture$1(value);
        else
          t1._completeWithValue$1(value);
      }
    },
    complete$0($receiver) {
      return this.complete$1($receiver, null);
    },
    completeError$2(e, st) {
      var t1 = this._future;
      if (this.isSync)
        t1._completeError$2(e, st);
      else
        t1._asyncCompleteError$2(e, st);
    },
    get$future() {
      return this._future;
    },
    get$isCompleted() {
      return (this._future._state & 30) !== 0;
    },
    $isCompleter: 1
  };
  A._awaitOnObject_closure.prototype = {
    call$1(result) {
      return this.bodyFunction.call$2(0, result);
    },
    $signature: 16
  };
  A._awaitOnObject_closure0.prototype = {
    call$2(error, stackTrace) {
      this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, stackTrace));
    },
    $signature: 219
  };
  A._wrapJsFunctionForAsync_closure.prototype = {
    call$2(errorCode, result) {
      this.$protected(errorCode, result);
    },
    $signature: 760
  };
  A._asyncStarHelper_closure.prototype = {
    call$0() {
      var t3,
        t1 = this.controller,
        t2 = t1.___AsyncStarStreamController_controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2._state;
      if ((t3 & 1) !== 0 ? (t2.get$_subscription()._state & 4) !== 0 : (t3 & 2) === 0) {
        t1.isSuspended = true;
        return;
      }
      this.bodyFunction.call$2(0, null);
    },
    $signature: 0
  };
  A._asyncStarHelper_closure0.prototype = {
    call$1(_) {
      var errorCode = this.controller.cancelationFuture != null ? 2 : 0;
      this.bodyFunction.call$2(errorCode, null);
    },
    $signature: 9
  };
  A._AsyncStarStreamController.prototype = {
    _AsyncStarStreamController$1(body, $T) {
      var t1 = new A._AsyncStarStreamController__resumeBody(body);
      this.___AsyncStarStreamController_controller = A.StreamController_StreamController(new A._AsyncStarStreamController_closure(this, body), new A._AsyncStarStreamController_closure0(t1), new A._AsyncStarStreamController_closure1(this, t1), false, $T);
    }
  };
  A._AsyncStarStreamController__resumeBody.prototype = {
    call$0() {
      A.scheduleMicrotask(new A._AsyncStarStreamController__resumeBody_closure(this.body));
    },
    $signature: 7
  };
  A._AsyncStarStreamController__resumeBody_closure.prototype = {
    call$0() {
      this.body.call$2(0, null);
    },
    $signature: 0
  };
  A._AsyncStarStreamController_closure0.prototype = {
    call$0() {
      this._resumeBody.call$0();
    },
    $signature: 0
  };
  A._AsyncStarStreamController_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.isSuspended) {
        t1.isSuspended = false;
        this._resumeBody.call$0();
      }
    },
    $signature: 0
  };
  A._AsyncStarStreamController_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.___AsyncStarStreamController_controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if ((t2._state & 4) === 0) {
        t1.cancelationFuture = new A._Future($.Zone__current, type$._Future_dynamic);
        if (t1.isSuspended) {
          t1.isSuspended = false;
          A.scheduleMicrotask(new A._AsyncStarStreamController__closure(this.body));
        }
        return t1.cancelationFuture;
      }
    },
    $signature: 754
  };
  A._AsyncStarStreamController__closure.prototype = {
    call$0() {
      this.body.call$2(2, null);
    },
    $signature: 0
  };
  A._IterationMarker.prototype = {
    toString$0(_) {
      return "IterationMarker(" + this.state + ", " + A.S(this.value) + ")";
    }
  };
  A._SyncStarIterator.prototype = {
    get$current(_) {
      var nested = this._nestedIterator;
      if (nested == null)
        return this._async$_current;
      return nested.get$current(nested);
    },
    moveNext$0() {
      var t1, value, state, suspendedBodies, inner, _this = this;
      for (; true;) {
        t1 = _this._nestedIterator;
        if (t1 != null)
          if (t1.moveNext$0())
            return true;
          else
            _this._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._async$_current = null;
              return false;
            }
            _this._body = suspendedBodies.pop();
            continue;
          } else {
            t1 = value.value;
            if (state === 3)
              throw t1;
            else {
              inner = J.get$iterator$ax(t1);
              if (inner instanceof A._SyncStarIterator) {
                t1 = _this._suspendedBodies;
                if (t1 == null)
                  t1 = _this._suspendedBodies = [];
                t1.push(_this._body);
                _this._body = inner._body;
                continue;
              } else {
                _this._nestedIterator = inner;
                continue;
              }
            }
          }
        } else {
          _this._async$_current = value;
          return true;
        }
      }
      return false;
    }
  };
  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);
    },
    $isError0: 1,
    get$stackTrace() {
      return this.stackTrace;
    }
  };
  A._BroadcastStream.prototype = {
    get$isBroadcast() {
      return true;
    }
  };
  A._BroadcastSubscription.prototype = {
    _onPause$0() {
    },
    _onResume$0() {
    }
  };
  A._BroadcastStreamController.prototype = {
    get$stream(_) {
      return new A._BroadcastStream(this, A._instanceType(this)._eval$1("_BroadcastStream<1>"));
    },
    get$sink() {
      return new A._StreamSinkWrapper(this, A._instanceType(this)._eval$1("_StreamSinkWrapper<1>"));
    },
    get$_mayAddEvent() {
      return this._state < 4;
    },
    _ensureDoneFuture$0() {
      var t1 = this._doneFuture;
      return t1 == null ? this._doneFuture = new A._Future($.Zone__current, type$._Future_void) : t1;
    },
    _async$_removeListener$1(subscription) {
      var previous = subscription._async$_previous,
        next = subscription._async$_next;
      if (previous == null)
        this._firstSubscription = next;
      else
        previous._async$_next = next;
      if (next == null)
        this._lastSubscription = previous;
      else
        next._async$_previous = previous;
      subscription._async$_previous = subscription;
      subscription._async$_next = subscription;
    },
    _subscribe$4(onData, onError, onDone, cancelOnError) {
      var t1, t2, t3, subscription, oldLast, _this = this;
      if ((_this._state & 4) !== 0)
        return A._DoneStreamSubscription$(onDone, A._instanceType(_this)._precomputed1);
      t1 = A._instanceType(_this);
      t2 = $.Zone__current;
      t3 = cancelOnError ? 1 : 0;
      subscription = new A._BroadcastSubscription(_this, A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._precomputed1), A._BufferingStreamSubscription__registerErrorHandler(t2, onError), A._BufferingStreamSubscription__registerDoneHandler(t2, onDone), t2, t3, t1._eval$1("_BroadcastSubscription<1>"));
      subscription._async$_previous = subscription;
      subscription._async$_next = subscription;
      subscription._eventState = _this._state & 1;
      oldLast = _this._lastSubscription;
      _this._lastSubscription = subscription;
      subscription._async$_next = null;
      subscription._async$_previous = oldLast;
      if (oldLast == null)
        _this._firstSubscription = subscription;
      else
        oldLast._async$_next = subscription;
      if (_this._firstSubscription === subscription)
        A._runGuarded(_this.onListen);
      return subscription;
    },
    _recordCancel$1(sub) {
      var t1, _this = this;
      A._instanceType(_this)._eval$1("_BroadcastSubscription<1>")._as(sub);
      if (sub._async$_next === sub)
        return null;
      t1 = sub._eventState;
      if ((t1 & 2) !== 0)
        sub._eventState = t1 | 4;
      else {
        _this._async$_removeListener$1(sub);
        if ((_this._state & 2) === 0 && _this._firstSubscription == null)
          _this._callOnCancel$0();
      }
      return null;
    },
    _recordPause$1(subscription) {
    },
    _recordResume$1(subscription) {
    },
    _addEventError$0() {
      if ((this._state & 4) !== 0)
        return new A.StateError("Cannot add new events after calling close");
      return new A.StateError("Cannot add new events while doing an addStream");
    },
    add$1(_, 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) {
        t1 = _this._doneFuture;
        t1.toString;
        return t1;
      }
      if (!_this.get$_mayAddEvent())
        throw A.wrapException(_this._addEventError$0());
      _this._state |= 4;
      doneFuture = _this._ensureDoneFuture$0();
      _this._sendDone$0();
      return doneFuture;
    },
    get$done() {
      return this._ensureDoneFuture$0();
    },
    addStream$2$cancelOnError(_, stream, cancelOnError) {
      var addStreamState, _this = this;
      if (!_this.get$_mayAddEvent())
        throw A.wrapException(_this._addEventError$0());
      _this._state |= 8;
      addStreamState = A._AddStreamState$(_this, stream, false, A._instanceType(_this)._precomputed1);
      _this._addStreamState = addStreamState;
      return addStreamState.addStreamFuture;
    },
    addStream$1($receiver, stream) {
      return this.addStream$2$cancelOnError($receiver, stream, null);
    },
    _async$_add$1(_, data) {
      this._sendData$1(data);
    },
    _addError$2(error, stackTrace) {
      this._sendError$2(error, stackTrace);
    },
    _close$0() {
      var t1 = this._addStreamState;
      t1.toString;
      this._addStreamState = null;
      this._state &= 4294967287;
      t1.addStreamFuture._asyncComplete$1(null);
    },
    _forEachListener$1(action) {
      var subscription, id, next, _this = this,
        t1 = _this._state;
      if ((t1 & 2) !== 0)
        throw A.wrapException(A.StateError$(string$.Cannotf));
      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._async$_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() {
      if ((this._state & 4) !== 0) {
        var doneFuture = this._doneFuture;
        if ((doneFuture._state & 30) === 0)
          doneFuture._asyncComplete$1(null);
      }
      A._runGuarded(this.onCancel);
    },
    $isStreamController: 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$.Cannotf);
      return this.super$_BroadcastStreamController$_addEventError();
    },
    _sendData$1(data) {
      var _this = this,
        t1 = _this._firstSubscription;
      if (t1 == null)
        return;
      if (t1 === _this._lastSubscription) {
        _this._state |= 2;
        t1._async$_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 _this = this;
      if (_this._firstSubscription != null)
        _this._forEachListener$1(new A._SyncBroadcastStreamController__sendDone_closure(_this));
      else
        _this._doneFuture._asyncComplete$1(null);
    }
  };
  A._SyncBroadcastStreamController__sendData_closure.prototype = {
    call$1(subscription) {
      subscription._async$_add$1(0, this.data);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(_BufferingStreamSubscription<1>)");
    }
  };
  A._SyncBroadcastStreamController__sendError_closure.prototype = {
    call$1(subscription) {
      subscription._addError$2(this.error, this.stackTrace);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(_BufferingStreamSubscription<1>)");
    }
  };
  A._SyncBroadcastStreamController__sendDone_closure.prototype = {
    call$1(subscription) {
      subscription._close$0();
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(_BufferingStreamSubscription<1>)");
    }
  };
  A._AsyncBroadcastStreamController.prototype = {
    _sendData$1(data) {
      var subscription, t1;
      for (subscription = this._firstSubscription, t1 = this.$ti._eval$1("_DelayedData<1>"); subscription != null; subscription = subscription._async$_next)
        subscription._addPending$1(new A._DelayedData(data, t1));
    },
    _sendError$2(error, stackTrace) {
      var subscription;
      for (subscription = this._firstSubscription; subscription != null; subscription = subscription._async$_next)
        subscription._addPending$1(new A._DelayedError(error, stackTrace));
    },
    _sendDone$0() {
      var subscription = this._firstSubscription;
      if (subscription != null)
        for (; subscription != null; subscription = subscription._async$_next)
          subscription._addPending$1(B.C__DelayedDone);
      else
        this._doneFuture._asyncComplete$1(null);
    }
  };
  A._AsBroadcastStreamController.prototype = {
    _addPendingEvent$1($event) {
      var t1 = this._pending;
      (t1 == null ? this._pending = new A._StreamImplEvents(this.$ti._eval$1("_StreamImplEvents<1>")) : t1).add$1(0, $event);
    },
    add$1(_, data) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 4) === 0 && (t1 & 2) !== 0) {
        _this._addPendingEvent$1(new A._DelayedData(data, _this.$ti._eval$1("_DelayedData<1>")));
        return;
      }
      _this.super$_BroadcastStreamController$add(0, data);
      _this._flushPending$0();
    },
    addError$2(error, stackTrace) {
      var t1, _this = this;
      A.checkNotNullable(error, "error", type$.Object);
      if (stackTrace == null)
        stackTrace = A.AsyncError_defaultStackTrace(error);
      t1 = _this._state;
      if ((t1 & 4) === 0 && (t1 & 2) !== 0) {
        _this._addPendingEvent$1(new A._DelayedError(error, stackTrace));
        return;
      }
      if (!(A._BroadcastStreamController.prototype.get$_mayAddEvent.call(_this) && (_this._state & 2) === 0))
        throw A.wrapException(_this._addEventError$0());
      _this._sendError$2(error, stackTrace);
      _this._flushPending$0();
    },
    addError$1(error) {
      return this.addError$2(error, null);
    },
    _flushPending$0() {
      var $event, nextEvent,
        pending = this._pending;
      while (true) {
        if (!(pending != null && pending.lastPendingEvent != null))
          break;
        $event = pending.firstPendingEvent;
        nextEvent = $event.get$next($event);
        pending.firstPendingEvent = nextEvent;
        if (nextEvent == null)
          pending.lastPendingEvent = null;
        $event.perform$1(this);
        pending = this._pending;
      }
    },
    close$0(_) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 4) === 0 && (t1 & 2) !== 0) {
        _this._addPendingEvent$1(B.C__DelayedDone);
        _this._state |= 4;
        return A._BroadcastStreamController.prototype.get$done.call(_this);
      }
      return _this.super$_BroadcastStreamController$close(0);
    },
    _callOnCancel$0() {
      var pending = this._pending;
      if (pending != null) {
        pending.clear$0(0);
        this._pending = null;
      }
      this.super$_BroadcastStreamController$_callOnCancel();
    }
  };
  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$microtask_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() {
      var e, s, exception, _this = this,
        t1 = _this.computation;
      if (t1 == null) {
        _this.T._as(null);
        _this.result._complete$1(null);
      } else
        try {
          _this.result._complete$1(t1.call$0());
        } catch (exception) {
          e = A.unwrapException(exception);
          s = A.getTraceFromException(exception);
          A._completeWithErrorCallback(_this.result, e, s);
        }
    },
    $signature: 0
  };
  A.Future_wait_handleError.prototype = {
    call$2(theError, theStackTrace) {
      var _this = this,
        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.__late_helper$_value = theError;
          _this.stackTrace.__late_helper$_value = theStackTrace;
        }
      } else if (t2 === 0 && !_this.eagerError)
        _this._future._completeError$2(_this.error._readLocal$0(), _this.stackTrace._readLocal$0());
    },
    $signature: 27
  };
  A.Future_wait_closure.prototype = {
    call$1(value) {
      var valueList, _this = this,
        t1 = _this._box_0;
      --t1.remaining;
      valueList = t1.values;
      if (valueList != null) {
        J.$indexSet$ax(valueList, _this.pos, value);
        if (t1.remaining === 0)
          _this._future._completeWithValue$1(A.List_List$from(valueList, true, _this.T));
      } else if (t1.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.Future_any_onValue.prototype = {
    call$1(value) {
      var t1 = this.completer;
      if ((t1.future._state & 30) === 0)
        t1.complete$1(0, value);
    },
    $signature() {
      return this.T._eval$1("~(0)");
    }
  };
  A.Future_any_onError.prototype = {
    call$2(error, stack) {
      var t1 = this.completer;
      if ((t1.future._state & 30) === 0)
        t1.completeError$2(error, stack);
    },
    $signature: 27
  };
  A.Future_forEach_closure.prototype = {
    call$0() {
      var t2, result,
        t1 = this.iterator;
      if (!t1.moveNext$0())
        return false;
      t2 = t1.__interceptors$_current;
      t1 = t2 == null ? t1.$ti._precomputed1._as(t2) : t2;
      result = this.action.call$1(t1);
      if (type$.Future_dynamic._is(result))
        return result.then$1$1(A.async_Future__kTrue$closure(), type$.bool);
      return true;
    },
    $signature: 628
  };
  A.Future_doWhile_closure.prototype = {
    call$1(keepGoing) {
      var result, error, stackTrace, t1, t2, exception, error0, stackTrace0, replacement, t3, _this = this;
      for (t1 = type$.Future_bool, t2 = _this.action; keepGoing;) {
        result = null;
        try {
          result = t2.call$0();
        } catch (exception) {
          error = A.unwrapException(exception);
          stackTrace = A.getTraceFromException(exception);
          error0 = error;
          stackTrace0 = stackTrace;
          replacement = $.Zone__current.errorCallback$2(error0, stackTrace0);
          if (replacement != null) {
            error = replacement.error;
            stackTrace = replacement.stackTrace;
          } else {
            stackTrace = stackTrace0 == null ? A.AsyncError_defaultStackTrace(error0) : stackTrace0;
            error = error0;
          }
          _this.doneSignal._asyncCompleteError$2(error, stackTrace);
          return;
        }
        if (t1._is(result)) {
          t1 = result;
          t2 = _this.nextIteration;
          t3 = t2.__late_helper$_value;
          if (t3 === t2)
            A.throwExpression(A.LateError$localNI(t2.__late_helper$_name));
          t1.then$1$2$onError(t3, _this.doneSignal.get$_completeError(), type$.void);
          return;
        }
        keepGoing = A._asBool(result);
      }
      _this.doneSignal._complete$1(null);
    },
    $signature: 10
  };
  A.TimeoutException.prototype = {
    toString$0(_) {
      var t1 = this.duration,
        result = t1 != null ? "TimeoutException after " + t1.toString$0(0) : "TimeoutException";
      return result + ": " + this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A._Completer.prototype = {
    completeError$2(error, stackTrace) {
      var replacement;
      A.checkNotNullable(error, "error", type$.Object);
      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);
    },
    get$isCompleted() {
      return (this.future._state & 30) !== 0;
    },
    $isCompleter: 1,
    get$future() {
      return this.future;
    }
  };
  A._AsyncCompleter.prototype = {
    complete$1(_, value) {
      var t1 = this.future;
      if ((t1._state & 30) !== 0)
        throw A.wrapException(A.StateError$("Future already completed"));
      t1._asyncComplete$1(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 t1 = this.future;
      if ((t1._state & 30) !== 0)
        throw A.wrapException(A.StateError$("Future already completed"));
      t1._complete$1(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(this.callback, asyncError.error, type$.bool, type$.Object);
    },
    handleError$1(asyncError) {
      var exception,
        errorCallback = this.errorCallback,
        result = null,
        t1 = type$.dynamic,
        t2 = type$.Object,
        t3 = asyncError.error,
        t4 = this.result._zone;
      if (type$.dynamic_Function_Object_StackTrace._is(errorCallback))
        result = t4.runBinary$3$3(errorCallback, t3, asyncError.stackTrace, t1, t2, type$.StackTrace);
      else
        result = t4.runUnary$2$2(errorCallback, t3, t1, t2);
      try {
        t1 = result;
        return t1;
      } catch (exception) {
        if (type$.TypeError._is(A.unwrapException(exception))) {
          if ((this.state & 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 result, t1,
        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/"), this.$ti._precomputed1);
        if (onError != null)
          onError = A._registerErrorHandler(onError, currentZone);
      }
      result = new A._Future($.Zone__current, $R._eval$1("_Future<0>"));
      t1 = onError == null ? 1 : 3;
      this._addListener$1(new A._FutureListener(result, t1, f, onError, this.$ti._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 = new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._addListener$1(new A._FutureListener(result, 3, f, onError, this.$ti._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    catchError$2$test(onError, test) {
      var t1 = this.$ti,
        t2 = $.Zone__current,
        result = new A._Future(t2, t1);
      if (t2 !== B.C__RootZone)
        onError = A._registerErrorHandler(onError, t2);
      this._addListener$1(new A._FutureListener(result, 2, test, onError, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>")));
      return result;
    },
    catchError$1(onError) {
      return this.catchError$2$test(onError, null);
    },
    whenComplete$1(action) {
      var 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;
    },
    _setErrorObject$1(error) {
      this._state = this._state & 1 | 16;
      this._resultOrListeners = error;
    },
    _cloneResult$1(source) {
      this._state = source._state & 30 | this._state & 1;
      this._resultOrListeners = source._resultOrListeners;
    },
    _addListener$1(listener) {
      var _this = this,
        t1 = _this._state;
      if (t1 <= 3) {
        listener._nextListener = _this._resultOrListeners;
        _this._resultOrListeners = listener;
      } else {
        if ((t1 & 4) !== 0) {
          t1 = _this._resultOrListeners;
          if ((t1._state & 24) === 0) {
            t1._addListener$1(listener);
            return;
          }
          _this._cloneResult$1(t1);
        }
        _this._zone.scheduleMicrotask$1(new A._Future__addListener_closure(_this, listener));
      }
    },
    _prependListeners$1(listeners) {
      var t1, existingListeners, next, cursor, next0, _this = this, _box_0 = {};
      _box_0.listeners = listeners;
      if (listeners == null)
        return;
      t1 = _this._state;
      if (t1 <= 3) {
        existingListeners = _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) {
          t1 = _this._resultOrListeners;
          if ((t1._state & 24) === 0) {
            t1._prependListeners$1(listeners);
            return;
          }
          _this._cloneResult$1(t1);
        }
        _box_0.listeners = _this._reverseListeners$1(listeners);
        _this._zone.scheduleMicrotask$1(new A._Future__prependListeners_closure(_box_0, _this));
      }
    },
    _removeListeners$0() {
      var current = 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;
      _this._state ^= 2;
      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;
      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();
        _this._state = 8;
        _this._resultOrListeners = value;
        A._Future__propagateToListeners(_this, listeners);
      }
    },
    _completeWithValue$1(value) {
      var _this = this,
        listeners = _this._removeListeners$0();
      _this._state = 8;
      _this._resultOrListeners = value;
      A._Future__propagateToListeners(_this, listeners);
    },
    _completeError$2(error, stackTrace) {
      var listeners = this._removeListeners$0();
      this._setErrorObject$1(A.AsyncError$(error, stackTrace));
      A._Future__propagateToListeners(this, listeners);
    },
    _asyncComplete$1(value) {
      if (this.$ti._eval$1("Future<1>")._is(value)) {
        this._chainFuture$1(value);
        return;
      }
      this._asyncCompleteWithValue$1(value);
    },
    _asyncCompleteWithValue$1(value) {
      this._state ^= 2;
      this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteWithValue_closure(this, value));
    },
    _chainFuture$1(value) {
      var _this = this;
      if (_this.$ti._is(value)) {
        if ((value._state & 16) !== 0) {
          _this._state ^= 2;
          _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) {
      this._state ^= 2;
      this._zone.scheduleMicrotask$1(new A._Future__asyncCompleteError_closure(this, error, stackTrace));
    },
    timeout$2$onTimeout(_, timeLimit, onTimeout) {
      var t2, t3, _future, _this = this, t1 = {};
      if ((_this._state & 24) !== 0) {
        t1 = new A._Future($.Zone__current, _this.$ti);
        t1._asyncComplete$1(_this);
        return t1;
      }
      t2 = _this.$ti;
      t3 = $.Zone__current;
      _future = new A._Future(t3, t2);
      t1.timer = null;
      if (onTimeout == null)
        t1.timer = A.Timer_Timer(timeLimit, new A._Future_timeout_closure(_future, timeLimit));
      else
        t1.timer = A.Timer_Timer(timeLimit, new A._Future_timeout_closure0(_this, _future, t3, t3.registerCallback$1$1(onTimeout, t2._eval$1("1/"))));
      _this.then$1$2$onError(new A._Future_timeout_closure1(t1, _this, _future), new A._Future_timeout_closure2(t1, _future), type$.Null);
      return _future;
    },
    timeout$1($receiver, timeLimit) {
      return this.timeout$2$onTimeout($receiver, timeLimit, null);
    },
    $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;
      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: 9
  };
  A._Future__chainForeignFuture_closure0.prototype = {
    call$2(error, stackTrace) {
      this.$this._completeError$2(error, stackTrace);
    },
    $signature: 22
  };
  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 e, s, t1, exception, t2, originalSource, _this = this, completeResult = null;
      try {
        t1 = _this._box_0.listener;
        completeResult = t1.result._zone.run$1$1(t1.callback, type$.dynamic);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        t1 = _this.hasError && _this._box_1.source._resultOrListeners.error === e;
        t2 = _this._box_0;
        if (t1)
          t2.listenerValueOrError = _this._box_1.source._resultOrListeners;
        else
          t2.listenerValueOrError = A.AsyncError$(e, s);
        t2.listenerHasError = true;
        return;
      }
      if (completeResult instanceof A._Future && (completeResult._state & 24) !== 0) {
        if ((completeResult._state & 16) !== 0) {
          t1 = _this._box_0;
          t1.listenerValueOrError = completeResult._resultOrListeners;
          t1.listenerHasError = true;
        }
        return;
      }
      if (type$.Future_dynamic._is(completeResult)) {
        originalSource = _this._box_1.source;
        t1 = _this._box_0;
        t1.listenerValueOrError = completeResult.then$1$1(new 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: 538
  };
  A._Future__propagateToListeners_handleValueCallback.prototype = {
    call$0() {
      var e, s, t1, t2, t3, exception;
      try {
        t1 = this._box_0;
        t2 = t1.listener;
        t3 = t2.$ti;
        t1.listenerValueOrError = t2.result._zone.runUnary$2$2(t2.callback, this.sourceResult, t3._eval$1("2/"), t3._precomputed1);
      } 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, exception, t2, _this = this;
      try {
        asyncError = _this._box_1.source._resultOrListeners;
        t1 = _this._box_0;
        if (t1.listener.matchesErrorTest$1(asyncError) && t1.listener.errorCallback != null) {
          t1.listenerValueOrError = t1.listener.handleError$1(asyncError);
          t1.listenerHasError = false;
        }
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        t1 = _this._box_1.source._resultOrListeners;
        t2 = _this._box_0;
        if (t1.error === e)
          t2.listenerValueOrError = t1;
        else
          t2.listenerValueOrError = A.AsyncError$(e, s);
        t2.listenerHasError = true;
      }
    },
    $signature: 0
  };
  A._Future_timeout_closure.prototype = {
    call$0() {
      this._future._completeError$2(new A.TimeoutException("Future not completed", this.timeLimit), B._StringStackTrace_3uE);
    },
    $signature: 0
  };
  A._Future_timeout_closure0.prototype = {
    call$0() {
      var e, s, exception, _this = this;
      try {
        _this._future._complete$1(_this.zone.run$1$1(_this.onTimeoutHandler, _this.$this.$ti._eval$1("1/")));
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        _this._future._completeError$2(e, s);
      }
    },
    $signature: 0
  };
  A._Future_timeout_closure1.prototype = {
    call$1(v) {
      var t1 = this._box_0;
      if (t1.timer.get$isActive()) {
        t1.timer.cancel$0(0);
        this._future._completeWithValue$1(v);
      }
    },
    $signature() {
      return this.$this.$ti._eval$1("Null(1)");
    }
  };
  A._Future_timeout_closure2.prototype = {
    call$2(e, s) {
      var t1 = this._box_0;
      if (t1.timer.get$isActive()) {
        t1.timer.cancel$0(0);
        this._future._completeError$2(e, s);
      }
    },
    $signature: 22
  };
  A._AsyncCallbackEntry.prototype = {};
  A.Stream.prototype = {
    get$isBroadcast() {
      return false;
    },
    map$1(_, convert) {
      return new A._MapStream(convert, this, A._instanceType(this)._eval$1("_MapStream<Stream.T,@>"));
    },
    handleError$1(onError) {
      var callback;
      if (type$.void_Function_Object_StackTrace._is(onError))
        callback = onError;
      else if (type$.void_Function_Object._is(onError))
        callback = new A.Stream_handleError_closure(onError);
      else
        throw A.wrapException(A.ArgumentError$value(onError, "onError", "Error handler must accept one Object or one Object and a StackTrace as arguments."));
      return new A._HandleErrorStream(callback, null, this, A._instanceType(this)._eval$1("_HandleErrorStream<Stream.T>"));
    },
    pipe$1(streamConsumer) {
      return streamConsumer.addStream$1(0, this).then$1$1(new A.Stream_pipe_closure(streamConsumer), type$.dynamic);
    },
    contains$1(_, needle) {
      var future = new A._Future($.Zone__current, type$._Future_bool),
        subscription = this.listen$4$cancelOnError$onDone$onError(null, true, new A.Stream_contains_closure(future), future.get$_completeError());
      subscription.onData$1(new A.Stream_contains_closure0(this, needle, subscription, future));
      return future;
    },
    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;
    },
    cast$1$0(_, $R) {
      return new A.CastStream(this, A._instanceType(this)._eval$1("@<Stream.T>")._bind$1($R)._eval$1("CastStream<1,2>"));
    },
    toList$0(_) {
      var t1 = A._instanceType(this),
        result = A._setArrayType([], t1._eval$1("JSArray<Stream.T>")),
        future = new A._Future($.Zone__current, t1._eval$1("_Future<List<Stream.T>>"));
      this.listen$4$cancelOnError$onDone$onError(new A.Stream_toList_closure(this, result), true, new A.Stream_toList_closure0(future, result), future.get$_completeError());
      return future;
    },
    drain$1$0($E) {
      var futureValue;
      $E._as(null);
      futureValue = null;
      return this.listen$2$cancelOnError(null, true).asFuture$1$1(futureValue, $E);
    },
    get$first(_) {
      var future = new A._Future($.Zone__current, A._instanceType(this)._eval$1("_Future<Stream.T>")),
        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;
    }
  };
  A.Stream_handleError_closure.prototype = {
    call$2(error, _) {
      this.onError.call$1(error);
    },
    $signature: 27
  };
  A.Stream_pipe_closure.prototype = {
    call$1(_) {
      return this.streamConsumer.close$0(0);
    },
    $signature: 525
  };
  A.Stream_contains_closure.prototype = {
    call$0() {
      this.future._complete$1(false);
    },
    $signature: 0
  };
  A.Stream_contains_closure0.prototype = {
    call$1(element) {
      var t1 = this.subscription,
        t2 = this.future;
      A._runUserCode(new A.Stream_contains__closure(element, this.needle), new A.Stream_contains__closure0(t1, t2), A._cancelAndErrorClosure(t1, t2));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  A.Stream_contains__closure.prototype = {
    call$0() {
      return J.$eq$(this.element, this.needle);
    },
    $signature: 23
  };
  A.Stream_contains__closure0.prototype = {
    call$1(isMatch) {
      if (isMatch)
        A._cancelAndValue(this.subscription, this.future, true);
    },
    $signature: 85
  };
  A.Stream_length_closure.prototype = {
    call$1(_) {
      ++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_toList_closure.prototype = {
    call$1(data) {
      this.result.push(data);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  A.Stream_toList_closure0.prototype = {
    call$0() {
      this.future._complete$1(this.result);
    },
    $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, value);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(Stream.T)");
    }
  };
  A.StreamSubscription.prototype = {};
  A.StreamView.prototype = {
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      return this._async$_stream.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    listen$3$onDone$onError(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    }
  };
  A.StreamTransformerBase.prototype = {
    cast$2$0(_, RS, RT) {
      var t1 = A._instanceType(this);
      return new A.CastStreamTransformer(this, t1._eval$1("@<StreamTransformerBase.S>")._bind$1(t1._eval$1("StreamTransformerBase.T"))._bind$1(RS)._bind$1(RT)._eval$1("CastStreamTransformer<1,2,3,4>"));
    }
  };
  A._StreamController.prototype = {
    get$stream(_) {
      return new A._ControllerStream(this, A._instanceType(this)._eval$1("_ControllerStream<1>"));
    },
    get$sink() {
      return new A._StreamSinkWrapper(this, A._instanceType(this)._eval$1("_StreamSinkWrapper<1>"));
    },
    get$_pendingEvents() {
      if ((this._state & 8) === 0)
        return this._varData;
      return this._varData.varData;
    },
    _ensurePendingEvents$0() {
      var events, state, _this = this;
      if ((_this._state & 8) === 0) {
        events = _this._varData;
        return events == null ? _this._varData = new A._StreamImplEvents(A._instanceType(_this)._eval$1("_StreamImplEvents<1>")) : events;
      }
      state = _this._varData;
      events = state.varData;
      return events == null ? state.varData = new A._StreamImplEvents(A._instanceType(_this)._eval$1("_StreamImplEvents<1>")) : events;
    },
    get$_subscription() {
      var varData = this._varData;
      return (this._state & 8) !== 0 ? varData.varData : varData;
    },
    _badEventState$0() {
      if ((this._state & 4) !== 0)
        return new A.StateError("Cannot add event after closing");
      return new A.StateError("Cannot add event while adding a stream");
    },
    addStream$2$cancelOnError(_, source, cancelOnError) {
      var t2, t3, t4, _this = this,
        t1 = _this._state;
      if (t1 >= 4)
        throw A.wrapException(_this._badEventState$0());
      if ((t1 & 2) !== 0) {
        t1 = new A._Future($.Zone__current, type$._Future_dynamic);
        t1._asyncComplete$1(null);
        return t1;
      }
      t1 = _this._varData;
      t2 = cancelOnError === true;
      t3 = new A._Future($.Zone__current, type$._Future_dynamic);
      t4 = t2 ? A._AddStreamState_makeErrorHandler(_this) : _this.get$_addError();
      t4 = source.listen$4$cancelOnError$onDone$onError(_this.get$_async$_add(_this), t2, _this.get$_close(), t4);
      t2 = _this._state;
      if ((t2 & 1) !== 0 ? (_this.get$_subscription()._state & 4) !== 0 : (t2 & 2) === 0)
        t4.pause$0(0);
      _this._varData = new A._StreamControllerAddStreamState(t1, t3, t4, A._instanceType(_this)._eval$1("_StreamControllerAddStreamState<1>"));
      _this._state |= 8;
      return t3;
    },
    addStream$1($receiver, source) {
      return this.addStream$2$cancelOnError($receiver, source, null);
    },
    get$done() {
      return this._ensureDoneFuture$0();
    },
    _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) {
      if (this._state >= 4)
        throw A.wrapException(this._badEventState$0());
      this._async$_add$1(0, value);
    },
    addError$2(error, stackTrace) {
      var replacement;
      A.checkNotNullable(error, "error", type$.Object);
      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());
      _this._closeUnchecked$0();
      return _this._ensureDoneFuture$0();
    },
    _closeUnchecked$0() {
      var t1 = this._state |= 4;
      if ((t1 & 1) !== 0)
        this._sendDone$0();
      else if ((t1 & 3) === 0)
        this._ensurePendingEvents$0().add$1(0, B.C__DelayedDone);
    },
    _async$_add$1(_, value) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 1) !== 0)
        _this._sendData$1(value);
      else if ((t1 & 3) === 0)
        _this._ensurePendingEvents$0().add$1(0, new A._DelayedData(value, A._instanceType(_this)._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));
    },
    _close$0() {
      var addState = this._varData;
      this._varData = addState.varData;
      this._state &= 4294967287;
      addState.addStreamFuture._asyncComplete$1(null);
    },
    _subscribe$4(onData, onError, onDone, cancelOnError) {
      var subscription, pendingEvents, t1, addState, _this = this;
      if ((_this._state & 3) !== 0)
        throw A.wrapException(A.StateError$("Stream has already been listened to."));
      subscription = A._ControllerSubscription$(_this, onData, onError, onDone, cancelOnError, A._instanceType(_this)._precomputed1);
      pendingEvents = _this.get$_pendingEvents();
      t1 = _this._state |= 1;
      if ((t1 & 8) !== 0) {
        addState = _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 onCancel, cancelResult, e, s, exception, result0, t1, _this = this, result = null;
      if ((_this._state & 8) !== 0)
        result = _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) {
      if ((this._state & 8) !== 0)
        this._varData.addSubscription.pause$0(0);
      A._runGuarded(this.onPause);
    },
    _recordResume$1(subscription) {
      if ((this._state & 8) !== 0)
        this._varData.addSubscription.resume$0(0);
      A._runGuarded(this.onResume);
    },
    $isStreamController: 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.get$_subscription()._async$_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) {
      this.get$_subscription()._addPending$1(new A._DelayedData(data, this.$ti._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, data);
    },
    close$0(_) {
      return this._async$_target.close$0(0);
    },
    addStream$1(_, source) {
      return this._async$_target.addStream$1(0, source);
    }
  };
  A._AddStreamState.prototype = {
    cancel$0(_) {
      var cancel = this.addSubscription.cancel$0(0);
      return cancel.whenComplete$1(new A._AddStreamState_cancel_closure(this));
    }
  };
  A._AddStreamState_makeErrorHandler_closure.prototype = {
    call$2(e, s) {
      var t1 = this.controller;
      t1._addError$2(e, s);
      t1._close$0();
    },
    $signature: 22
  };
  A._AddStreamState_cancel_closure.prototype = {
    call$0() {
      this.$this.addStreamFuture._asyncComplete$1(null);
    },
    $signature: 7
  };
  A._StreamControllerAddStreamState.prototype = {};
  A._BufferingStreamSubscription.prototype = {
    _setPendingEvents$1(pendingEvents) {
      var _this = this;
      if (pendingEvents == null)
        return;
      _this._pending = pendingEvents;
      if (pendingEvents.lastPendingEvent != null) {
        _this._state = (_this._state | 64) >>> 0;
        pendingEvents.schedule$1(_this);
      }
    },
    onData$1(handleData) {
      this._async$_onData = A._BufferingStreamSubscription__registerDataHandler(this._zone, handleData, A._instanceType(this)._eval$1("_BufferingStreamSubscription.T"));
    },
    onError$1(_, handleError) {
      this._onError = A._BufferingStreamSubscription__registerErrorHandler(this._zone, handleError);
    },
    onDone$1(handleDone) {
      this._onDone = A._BufferingStreamSubscription__registerDoneHandler(this._zone, 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 = t1 - 128;
        if (t1 < 128)
          if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent != null)
            _this._pending.schedule$1(_this);
          else {
            t1 = (t1 & 4294967291) >>> 0;
            _this._state = t1;
            if ((t1 & 32) === 0)
              _this._guardCallback$1(_this.get$_onResume());
          }
      }
    },
    cancel$0(_) {
      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;
    },
    asFuture$1$1(futureValue, $E) {
      var result, t1 = {};
      t1.resultValue = null;
      if (!$E._is(null))
        throw A.wrapException(A.ArgumentError$notNull("futureValue"));
      t1.resultValue = futureValue;
      result = new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._onDone = new A._BufferingStreamSubscription_asFuture_closure(t1, result);
      this._onError = new A._BufferingStreamSubscription_asFuture_closure0(this, result);
      return result;
    },
    get$isPaused() {
      return this._state >= 128;
    },
    _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._pending = null;
      _this._cancelFuture = _this._onCancel$0();
    },
    _async$_add$1(_, data) {
      var _this = this,
        t1 = _this._state;
      if ((t1 & 8) !== 0)
        return;
      if (t1 < 32)
        _this._sendData$1(data);
      else
        _this._addPending$1(new A._DelayedData(data, A._instanceType(_this)._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 _this = this,
        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() {
    },
    _onResume$0() {
    },
    _onCancel$0() {
      return null;
    },
    _addPending$1($event) {
      var t1, _this = this,
        pending = _this._pending;
      if (pending == null)
        pending = new A._StreamImplEvents(A._instanceType(_this)._eval$1("_StreamImplEvents<_BufferingStreamSubscription.T>"));
      _this._pending = pending;
      pending.add$1(0, $event);
      t1 = _this._state;
      if ((t1 & 64) === 0) {
        t1 = (t1 | 64) >>> 0;
        _this._state = t1;
        if (t1 < 128)
          pending.schedule$1(_this);
      }
    },
    _sendData$1(data) {
      var _this = this,
        t1 = _this._state;
      _this._state = (t1 | 32) >>> 0;
      _this._zone.runUnaryGuarded$1$2(_this._async$_onData, data, A._instanceType(_this)._eval$1("_BufferingStreamSubscription.T"));
      _this._state = (_this._state & 4294967263) >>> 0;
      _this._checkState$1((t1 & 4) !== 0);
    },
    _sendError$2(error, stackTrace) {
      var cancelFuture, _this = this,
        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 cancelFuture, _this = this,
        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 _this = this,
        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 t2, isInputPaused, _this = this,
        t1 = _this._state;
      if ((t1 & 64) !== 0 && _this._pending.lastPendingEvent == null) {
        t1 = _this._state = (t1 & 4294967231) >>> 0;
        if ((t1 & 4) !== 0)
          if (t1 < 128) {
            t2 = _this._pending;
            t2 = t2 == null ? null : t2.lastPendingEvent == null;
            t2 = t2 !== false;
          } else
            t2 = false;
        else
          t2 = false;
        if (t2) {
          t1 = (t1 & 4294967291) >>> 0;
          _this._state = t1;
        }
      }
      for (; true; wasInputPaused = isInputPaused) {
        if ((t1 & 8) !== 0) {
          _this._pending = null;
          return;
        }
        isInputPaused = (t1 & 4) !== 0;
        if (wasInputPaused === isInputPaused)
          break;
        _this._state = (t1 ^ 32) >>> 0;
        if (isInputPaused)
          _this._onPause$0();
        else
          _this._onResume$0();
        t1 = (_this._state & 4294967263) >>> 0;
        _this._state = t1;
      }
      if ((t1 & 64) !== 0 && t1 < 128)
        _this._pending.schedule$1(_this);
    },
    $isStreamSubscription: 1
  };
  A._BufferingStreamSubscription_asFuture_closure.prototype = {
    call$0() {
      this.result._complete$1(this._box_0.resultValue);
    },
    $signature: 0
  };
  A._BufferingStreamSubscription_asFuture_closure0.prototype = {
    call$2(error, stackTrace) {
      var cancelFuture = this.$this.cancel$0(0),
        t1 = this.result;
      if (cancelFuture !== $.$get$Future__nullFuture())
        cancelFuture.whenComplete$1(new A._BufferingStreamSubscription_asFuture__closure(t1, error, stackTrace));
      else
        t1._completeError$2(error, stackTrace);
    },
    $signature: 22
  };
  A._BufferingStreamSubscription_asFuture__closure.prototype = {
    call$0() {
      this.result._completeError$2(this.error, this.stackTrace);
    },
    $signature: 7
  };
  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(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) {
      return this._controller._subscribe$4(onData, onError, onDone, cancelOnError === true);
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    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);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    }
  };
  A._DelayedEvent.prototype = {
    get$next(receiver) {
      return this.next;
    },
    set$next(receiver, val) {
      return this.next = val;
    }
  };
  A._DelayedData.prototype = {
    perform$1(dispatch) {
      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."));
    }
  };
  A._PendingEvents.prototype = {
    schedule$1(dispatch) {
      var _this = this,
        t1 = _this._state;
      if (t1 === 1)
        return;
      if (t1 >= 1) {
        _this._state = 1;
        return;
      }
      A.scheduleMicrotask(new A._PendingEvents_schedule_closure(_this, dispatch));
      _this._state = 1;
    }
  };
  A._PendingEvents_schedule_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        oldState = t1._state;
      t1._state = 0;
      if (oldState === 3)
        return;
      t1.handleNext$1(this.dispatch);
    },
    $signature: 0
  };
  A._StreamImplEvents.prototype = {
    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;
      }
    },
    handleNext$1(dispatch) {
      var $event = this.firstPendingEvent,
        nextEvent = $event.get$next($event);
      this.firstPendingEvent = nextEvent;
      if (nextEvent == null)
        this.lastPendingEvent = null;
      $event.perform$1(dispatch);
    },
    clear$0(_) {
      var _this = this;
      if (_this._state === 1)
        _this._state = 3;
      _this.firstPendingEvent = _this.lastPendingEvent = null;
    }
  };
  A._DoneStreamSubscription.prototype = {
    get$isPaused() {
      return this._state >= 4;
    },
    _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) {
    },
    onError$1(_, handleError) {
    },
    onDone$1(handleDone) {
      this._onDone = 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();
    },
    asFuture$1$1(futureValue, $E) {
      var result, t1 = {};
      t1.resultValue = null;
      if (!$E._is(null))
        throw A.wrapException(A.ArgumentError$notNull("futureValue"));
      t1.resultValue = futureValue;
      result = new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
      this._onDone = new A._DoneStreamSubscription_asFuture_closure(t1, result);
      return result;
    },
    _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);
    },
    $isStreamSubscription: 1
  };
  A._DoneStreamSubscription_asFuture_closure.prototype = {
    call$0() {
      this.result._completeWithValue$1(this._box_0.resultValue);
    },
    $signature: 0
  };
  A._AsBroadcastStream.prototype = {
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      var t1, t2, _this = this,
        controller = _this._controller;
      if (controller == null || (controller._state & 4) !== 0)
        return A._DoneStreamSubscription$(onDone, _this.$ti._precomputed1);
      if (_this._subscription == null) {
        t1 = controller.get$add(controller);
        t2 = controller.get$addError();
        _this._subscription = _this._async$_source.listen$3$onDone$onError(t1, controller.get$close(controller), t2);
      }
      return controller._subscribe$4(onData, onError, onDone, cancelOnError === true);
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    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);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    _onCancel$0() {
      var t1, subscription, _this = this,
        controller = _this._controller,
        shutdown = controller == null || (controller._state & 4) !== 0,
        cancelHandler = _this._onCancelHandler;
      if (cancelHandler != null) {
        t1 = _this.$ti._eval$1("_BroadcastSubscriptionWrapper<1>");
        _this._zone.runUnary$2$2(cancelHandler, new A._BroadcastSubscriptionWrapper(_this, t1), type$.void, t1);
      }
      if (shutdown) {
        subscription = _this._subscription;
        if (subscription != null) {
          subscription.cancel$0(0);
          _this._subscription = null;
        }
      }
    },
    _onListen$0() {
      var t1, _this = this,
        listenHandler = _this._onListenHandler;
      if (listenHandler != null) {
        t1 = _this.$ti._eval$1("_BroadcastSubscriptionWrapper<1>");
        _this._zone.runUnary$2$2(listenHandler, new A._BroadcastSubscriptionWrapper(_this, t1), type$.void, t1);
      }
    }
  };
  A._BroadcastSubscriptionWrapper.prototype = {
    onData$1(handleData) {
      throw A.wrapException(A.UnsupportedError$(string$.Cannotc));
    },
    onError$1(_, handleError) {
      throw A.wrapException(A.UnsupportedError$(string$.Cannotc));
    },
    pause$1(_, resumeSignal) {
      var t1 = this._async$_stream._subscription;
      if (t1 != null)
        t1.pause$1(0, resumeSignal);
    },
    pause$0($receiver) {
      return this.pause$1($receiver, null);
    },
    resume$0(_) {
      var t1 = this._async$_stream._subscription;
      if (t1 != null)
        t1.resume$0(0);
    },
    cancel$0(_) {
      var t1 = this._async$_stream,
        subscription = t1._subscription;
      if (subscription != null) {
        t1._controller = t1._subscription = null;
        subscription.cancel$0(0);
      }
      return $.$get$Future__nullFuture();
    },
    asFuture$1$1(futureValue) {
      throw A.wrapException(A.UnsupportedError$(string$.Cannotc));
    },
    $isStreamSubscription: 1
  };
  A._StreamIterator.prototype = {};
  A._EmptyStream.prototype = {
    get$isBroadcast() {
      return true;
    },
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      return A._DoneStreamSubscription$(onDone, this.$ti._precomputed1);
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    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$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    }
  };
  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, stackTrace);
    },
    $signature: 27
  };
  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 t1 = A._instanceType(this),
        t2 = t1._eval$1("_ForwardingStream.T"),
        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("@<_ForwardingStream.S>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>"));
      t2._subscription = this._async$_source.listen$3$onDone$onError(t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError());
      return t2;
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    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);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    _handleError$3(error, stackTrace, sink) {
      sink._addError$2(error, stackTrace);
    }
  };
  A._ForwardingStreamSubscription.prototype = {
    _async$_add$1(_, 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._subscription = null;
        return subscription.cancel$0(0);
      }
      return null;
    },
    _handleData$1(data) {
      this._async$_stream._handleData$2(data, this);
    },
    _handleError$2(error, stackTrace) {
      this._async$_stream._handleError$3(error, stackTrace, this);
    },
    _handleDone$0() {
      this._close$0();
    }
  };
  A._WhereStream.prototype = {
    _handleData$2(inputEvent, sink) {
      var e, s, exception, satisfies = null;
      try {
        satisfies = this._test.call$1(inputEvent);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._addErrorWithReplacement(sink, e, s);
        return;
      }
      if (satisfies)
        sink._async$_add$1(0, inputEvent);
    }
  };
  A._MapStream.prototype = {
    _handleData$2(inputEvent, sink) {
      var e, s, exception, outputEvent = null;
      try {
        outputEvent = this._async$_transform.call$1(inputEvent);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._addErrorWithReplacement(sink, e, s);
        return;
      }
      sink._async$_add$1(0, outputEvent);
    }
  };
  A._HandleErrorStream.prototype = {
    _handleData$2(data, sink) {
      sink._async$_add$1(0, data);
    },
    _handleError$3(error, stackTrace, sink) {
      var e, s, e0, s0, exception,
        matches = true,
        test = this._test;
      if (test != null)
        try {
          matches = test.call$1(error);
        } catch (exception) {
          e = A.unwrapException(exception);
          s = A.getTraceFromException(exception);
          A._addErrorWithReplacement(sink, e, s);
          return;
        }
      if (matches)
        try {
          this._onError.call$2(error, stackTrace);
        } catch (exception) {
          e0 = A.unwrapException(exception);
          s0 = A.getTraceFromException(exception);
          if (e0 === error)
            sink._addError$2(error, stackTrace);
          else
            A._addErrorWithReplacement(sink, e0, s0);
          return;
        }
      else
        sink._addError$2(error, stackTrace);
    }
  };
  A._ZoneFunction.prototype = {};
  A._ZoneSpecification.prototype = {$isZoneSpecification: 1};
  A._ZoneDelegate.prototype = {$isZoneDelegate: 1};
  A._Zone.prototype = {
    _processUncaughtError$3(zone, error, stackTrace) {
      var handler, parentDelegate, parentZone, currentZone, e, s, t1, exception,
        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$x(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;
      try {
        this.run$1$1(f, type$.void);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    runUnaryGuarded$1$2(f, arg, $T) {
      var e, s, exception;
      try {
        this.runUnary$2$2(f, arg, type$.void, $T);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        this._processUncaughtError$3(this, e, s);
      }
    },
    runBinaryGuarded$2$3(f, arg1, arg2, T1, T2) {
      var e, s, exception;
      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, e, s);
      }
    },
    bindCallback$1$1(f, $R) {
      return new A._CustomZone_bindCallback_closure(this, this.registerCallback$1$1(f, $R), $R);
    },
    bindUnaryCallback$2$1(f, $R, $T) {
      return new A._CustomZone_bindUnaryCallback_closure(this, this.registerUnaryCallback$2$1(f, $R, $T), $T, $R);
    },
    bindCallbackGuarded$1(f) {
      return new A._CustomZone_bindCallbackGuarded_closure(this, this.registerCallback$1$1(f, type$.void));
    },
    bindUnaryCallbackGuarded$1$1(f, $T) {
      return new A._CustomZone_bindUnaryCallbackGuarded_closure(this, this.registerUnaryCallback$2$1(f, type$.void, $T), $T);
    },
    bindBinaryCallbackGuarded$2$1(f, T1, T2) {
      return new A._CustomZone_bindBinaryCallbackGuarded_closure(this, this.registerBinaryCallback$3$1(f, type$.void, T1, T2), T1, T2);
    },
    $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, 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) {
      var implementation = this._run,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
    },
    runUnary$2$2(f, arg) {
      var implementation = this._runUnary,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, f, arg);
    },
    runBinary$3$3(f, arg1, arg2) {
      var implementation = this._runBinary,
        t1 = implementation.zone;
      return implementation.$function.call$6(t1, t1.get$_parentDelegate(), this, f, arg1, arg2);
    },
    registerCallback$1$1(callback) {
      var implementation = this._registerCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    registerUnaryCallback$2$1(callback) {
      var implementation = this._registerUnaryCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    registerBinaryCallback$3$1(callback) {
      var implementation = this._registerBinaryCallback,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, callback);
    },
    errorCallback$2(error, stackTrace) {
      var implementation, implementationZone;
      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 = this._scheduleMicrotask,
        t1 = implementation.zone;
      return implementation.$function.call$4(t1, t1.get$_parentDelegate(), this, f);
    },
    createTimer$2(duration, f) {
      var implementation = this._createTimer,
        t1 = implementation.zone;
      return implementation.$function.call$5(t1, t1.get$_parentDelegate(), this, duration, f);
    },
    createPeriodicTimer$2(duration, f) {
      var implementation = this._createPeriodicTimer,
        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);
    },
    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;
      return _this.$this.runUnary$2$2(_this.registered, arg, _this.R, _this.T);
    },
    $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) {
      return this.$this.runUnaryGuarded$1$2(this.registered, arg, this.T);
    },
    $signature() {
      return this.T._eval$1("~(0)");
    }
  };
  A._CustomZone_bindBinaryCallbackGuarded_closure.prototype = {
    call$2(arg1, arg2) {
      var _this = this;
      return _this.$this.runBinaryGuarded$2$3(_this.registered, arg1, arg2, _this.T1, _this.T2);
    },
    $signature() {
      return this.T1._eval$1("@<0>")._bind$1(this.T2)._eval$1("~(1,2)");
    }
  };
  A._rootHandleError_closure.prototype = {
    call$0() {
      A.Error_throwWithStackTrace(this.error, this.stackTrace);
    },
    $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;
      try {
        if (B.C__RootZone === $.Zone__current) {
          f.call$0();
          return;
        }
        A._rootRun(null, null, this, f);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._rootHandleError(e, s);
      }
    },
    runUnaryGuarded$1$2(f, arg) {
      var e, s, exception;
      try {
        if (B.C__RootZone === $.Zone__current) {
          f.call$1(arg);
          return;
        }
        A._rootRunUnary(null, null, this, f, arg);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._rootHandleError(e, s);
      }
    },
    runBinaryGuarded$2$3(f, arg1, arg2) {
      var e, s, exception;
      try {
        if (B.C__RootZone === $.Zone__current) {
          f.call$2(arg1, arg2);
          return;
        }
        A._rootRunBinary(null, null, this, f, arg1, arg2);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        A._rootHandleError(e, s);
      }
    },
    bindCallback$1$1(f, $R) {
      return new A._RootZone_bindCallback_closure(this, f, $R);
    },
    bindUnaryCallback$2$1(f, $R, $T) {
      return new A._RootZone_bindUnaryCallback_closure(this, f, $T, $R);
    },
    bindCallbackGuarded$1(f) {
      return new A._RootZone_bindCallbackGuarded_closure(this, f);
    },
    bindUnaryCallbackGuarded$1$1(f, $T) {
      return new A._RootZone_bindUnaryCallbackGuarded_closure(this, f, $T);
    },
    bindBinaryCallbackGuarded$2$1(f, T1, T2) {
      return new A._RootZone_bindBinaryCallbackGuarded_closure(this, f, T1, T2);
    },
    $index(_, key) {
      return null;
    },
    handleUncaughtError$2(error, stackTrace) {
      A._rootHandleError(error, stackTrace);
    },
    fork$2$specification$zoneValues(specification, zoneValues) {
      return A._rootFork(null, null, this, specification, zoneValues);
    },
    run$1$1(f) {
      if ($.Zone__current === B.C__RootZone)
        return f.call$0();
      return A._rootRun(null, null, this, f);
    },
    runUnary$2$2(f, arg) {
      if ($.Zone__current === B.C__RootZone)
        return f.call$1(arg);
      return A._rootRunUnary(null, null, this, f, arg);
    },
    runBinary$3$3(f, arg1, arg2) {
      if ($.Zone__current === B.C__RootZone)
        return f.call$2(arg1, arg2);
      return A._rootRunBinary(null, null, this, f, arg1, arg2);
    },
    registerCallback$1$1(f) {
      return f;
    },
    registerUnaryCallback$2$1(f) {
      return f;
    },
    registerBinaryCallback$3$1(f) {
      return f;
    },
    errorCallback$2(error, stackTrace) {
      return null;
    },
    scheduleMicrotask$1(f) {
      A._rootScheduleMicrotask(null, null, this, f);
    },
    createTimer$2(duration, f) {
      return A.Timer__createTimer(duration, f);
    },
    createPeriodicTimer$2(duration, f) {
      return A.Timer__createPeriodicTimer(duration, 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;
      return _this.$this.runUnary$2$2(_this.f, arg, _this.R, _this.T);
    },
    $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) {
      return this.$this.runUnaryGuarded$1$2(this.f, arg, this.T);
    },
    $signature() {
      return this.T._eval$1("~(0)");
    }
  };
  A._RootZone_bindBinaryCallbackGuarded_closure.prototype = {
    call$2(arg1, arg2) {
      var _this = this;
      return _this.$this.runBinaryGuarded$2$3(_this.f, arg1, arg2, _this.T1, _this.T2);
    },
    $signature() {
      return this.T1._eval$1("@<0>")._bind$1(this.T2)._eval$1("~(1,2)");
    }
  };
  A.runZonedGuarded_closure.prototype = {
    call$5($self, $parent, zone, error, stackTrace) {
      var e, s, exception, t1;
      try {
        this.parentZone.runBinary$3$3(this.onError, error, stackTrace, type$.void, type$.Object, type$.StackTrace);
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        t1 = $parent._delegationTarget;
        if (e === error)
          t1._processUncaughtError$3(zone, error, stackTrace);
        else
          t1._processUncaughtError$3(zone, e, s);
      }
    },
    $signature: 424
  };
  A._HashMap.prototype = {
    get$length(_) {
      return this._collection$_length;
    },
    get$isEmpty(_) {
      return this._collection$_length === 0;
    },
    get$isNotEmpty(_) {
      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 strings, nums;
      if (typeof key == "string" && key !== "__proto__") {
        strings = this._collection$_strings;
        return strings == null ? false : strings[key] != null;
      } else if (typeof key == "number" && (key & 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;
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A._HashMap_addAll_closure(this));
    },
    $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;
      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 hash, bucket, index, _this = this,
        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._collection$_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._collection$_keys = null;
        }
      }
    },
    putIfAbsent$2(_, key, ifAbsent) {
      var t1, value, _this = this;
      if (_this.containsKey$1(0, key)) {
        t1 = _this.$index(0, key);
        return t1 == null ? A._instanceType(_this)._rest[1]._as(t1) : t1;
      }
      value = ifAbsent.call$0();
      _this.$indexSet(0, key, value);
      return value;
    },
    remove$1(_, key) {
      var _this = this;
      if (typeof key == "string" && key !== "__proto__")
        return _this._collection$_removeHashTableEntry$2(_this._collection$_strings, key);
      else if (typeof key == "number" && (key & 1073741823) === key)
        return _this._collection$_removeHashTableEntry$2(_this._collection$_nums, key);
      else
        return _this._remove$1(0, key);
    },
    _remove$1(_, key) {
      var hash, bucket, index, result, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        return null;
      hash = _this._computeHashCode$1(key);
      bucket = rest[hash];
      index = _this._findBucketIndex$2(bucket, key);
      if (index < 0)
        return null;
      --_this._collection$_length;
      _this._collection$_keys = null;
      result = bucket.splice(index, 2)[1];
      if (0 === bucket.length)
        delete rest[hash];
      return result;
    },
    clear$0(_) {
      var _this = this;
      if (_this._collection$_length > 0) {
        _this._collection$_strings = _this._collection$_nums = _this._collection$_rest = _this._collection$_keys = null;
        _this._collection$_length = 0;
      }
    },
    forEach$1(_, action) {
      var $length, t1, i, key, t2, _this = this,
        keys = _this._computeKeys$0();
      for ($length = keys.length, t1 = A._instanceType(_this)._rest[1], i = 0; i < $length; ++i) {
        key = keys[i];
        t2 = _this.$index(0, key);
        action.call$2(key, t2 == null ? t1._as(t2) : t2);
        if (keys !== _this._collection$_keys)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
    },
    _computeKeys$0() {
      var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this,
        result = _this._collection$_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;
          }
        }
      }
      return _this._collection$_keys = result;
    },
    _collection$_addHashTableEntry$3(table, key, value) {
      if (table[key] == null) {
        ++this._collection$_length;
        this._collection$_keys = null;
      }
      A._HashMap__setTableEntry(table, key, value);
    },
    _collection$_removeHashTableEntry$2(table, key) {
      var value;
      if (table != null && table[key] != null) {
        value = A._HashMap__getTableEntry(table, key);
        delete table[key];
        --this._collection$_length;
        this._collection$_keys = null;
        return value;
      } else
        return null;
    },
    _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 = t1.$index(0, each);
      return t2 == null ? A._instanceType(t1)._rest[1]._as(t2) : t2;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("2(1)");
    }
  };
  A._HashMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(1,2)");
    }
  };
  A._IdentityHashMap.prototype = {
    _computeHashCode$1(key) {
      return A.objectHashCode(key) & 1073741823;
    },
    _findBucketIndex$2(bucket, key) {
      var $length, i, t1;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; i += 2) {
        t1 = bucket[i];
        if (t1 == null ? key == null : t1 === key)
          return i;
      }
      return -1;
    }
  };
  A._CustomHashMap.prototype = {
    $index(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$_HashMap$_get(0, key);
    },
    $indexSet(_, key, value) {
      this.super$_HashMap$_set(key, value);
    },
    containsKey$1(_, key) {
      if (!this._validKey.call$1(key))
        return false;
      return this.super$_HashMap$_containsKey(key);
    },
    remove$1(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$_HashMap$_remove(0, key);
    },
    _computeHashCode$1(key) {
      return this._hashCode.call$1(key) & 1073741823;
    },
    _findBucketIndex$2(bucket, key) {
      var $length, t1, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (t1 = this._equals, i = 0; i < $length; i += 2)
        if (t1.call$2(bucket[i], key))
          return i;
      return -1;
    }
  };
  A._CustomHashMap_closure.prototype = {
    call$1(v) {
      return this.K._is(v);
    },
    $signature: 63
  };
  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>"));
    },
    contains$1(_, element) {
      return this._collection$_map.containsKey$1(0, element);
    },
    forEach$1(_, f) {
      var $length, i,
        t1 = this._collection$_map,
        keys = t1._computeKeys$0();
      for ($length = keys.length, i = 0; i < $length; ++i) {
        f.call$1(keys[i]);
        if (keys !== t1._collection$_keys)
          throw A.wrapException(A.ConcurrentModificationError$(t1));
      }
    }
  };
  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._collection$_keys,
        offset = _this._offset,
        t1 = _this._collection$_map;
      if (keys !== t1._collection$_keys)
        throw A.wrapException(A.ConcurrentModificationError$(t1));
      else if (offset >= keys.length) {
        _this._collection$_current = null;
        return false;
      } else {
        _this._collection$_current = keys[offset];
        _this._offset = offset + 1;
        return true;
      }
    }
  };
  A._LinkedIdentityHashMap.prototype = {
    internalComputeHashCode$1(key) {
      return A.objectHashCode(key) & 1073741823;
    },
    internalFindBucketIndex$2(bucket, key) {
      var $length, i, t1;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (i = 0; i < $length; ++i) {
        t1 = bucket[i].hashMapCellKey;
        if (t1 == null ? key == null : t1 === key)
          return i;
      }
      return -1;
    }
  };
  A._LinkedCustomHashMap.prototype = {
    $index(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$JsLinkedHashMap$internalGet(key);
    },
    $indexSet(_, key, value) {
      this.super$JsLinkedHashMap$internalSet(key, value);
    },
    containsKey$1(_, key) {
      if (!this._validKey.call$1(key))
        return false;
      return this.super$JsLinkedHashMap$internalContainsKey(key);
    },
    remove$1(_, key) {
      if (!this._validKey.call$1(key))
        return null;
      return this.super$JsLinkedHashMap$internalRemove(key);
    },
    internalComputeHashCode$1(key) {
      return this._hashCode.call$1(key) & 1073741823;
    },
    internalFindBucketIndex$2(bucket, key) {
      var $length, t1, i;
      if (bucket == null)
        return -1;
      $length = bucket.length;
      for (t1 = this._equals, i = 0; i < $length; ++i)
        if (t1.call$2(bucket[i].hashMapCellKey, key))
          return i;
      return -1;
    }
  };
  A._LinkedCustomHashMap_closure.prototype = {
    call$1(v) {
      return this.K._is(v);
    },
    $signature: 63
  };
  A._HashSet.prototype = {
    _newSet$0() {
      return new A._HashSet(A._instanceType(this)._eval$1("_HashSet<1>"));
    },
    _newSimilarSet$1$0($R) {
      return new A._HashSet($R._eval$1("_HashSet<0>"));
    },
    _newSimilarSet$0() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    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;
    },
    get$isNotEmpty(_) {
      return this._collection$_length !== 0;
    },
    contains$1(_, object) {
      var strings, nums;
      if (typeof object == "string" && object !== "__proto__") {
        strings = this._collection$_strings;
        return strings == null ? false : strings[object] != null;
      } else if (typeof object == "number" && (object & 1073741823) === object) {
        nums = this._collection$_nums;
        return nums == null ? false : nums[object] != null;
      } else
        return this._contains$1(object);
    },
    _contains$1(object) {
      var rest = this._collection$_rest;
      if (rest == null)
        return false;
      return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
    },
    add$1(_, element) {
      var strings, nums, _this = this;
      if (typeof element == "string" && element !== "__proto__") {
        strings = _this._collection$_strings;
        return _this._collection$_addHashTableEntry$2(strings == null ? _this._collection$_strings = A._HashSet__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._HashSet__newHashTable() : nums, element);
      } else
        return _this._add$1(0, element);
    },
    _add$1(_, element) {
      var hash, bucket, _this = this,
        rest = _this._collection$_rest;
      if (rest == null)
        rest = _this._collection$_rest = A._HashSet__newHashTable();
      hash = _this._computeHashCode$1(element);
      bucket = rest[hash];
      if (bucket == null)
        rest[hash] = [element];
      else {
        if (_this._findBucketIndex$2(bucket, element) >= 0)
          return false;
        bucket.push(element);
      }
      ++_this._collection$_length;
      _this._elements = null;
      return true;
    },
    addAll$1(_, objects) {
      var t1;
      for (t1 = J.get$iterator$ax(objects); t1.moveNext$0();)
        this.add$1(0, t1.get$current(t1));
    },
    remove$1(_, object) {
      var _this = this;
      if (typeof object == "string" && object !== "__proto__")
        return _this._collection$_removeHashTableEntry$2(_this._collection$_strings, object);
      else if (typeof object == "number" && (object & 1073741823) === object)
        return _this._collection$_removeHashTableEntry$2(_this._collection$_nums, object);
      else
        return _this._remove$1(0, object);
    },
    _remove$1(_, object) {
      var hash, bucket, index, _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;
      --_this._collection$_length;
      _this._elements = null;
      bucket.splice(index, 1);
      if (0 === bucket.length)
        delete rest[hash];
      return true;
    },
    clear$0(_) {
      var _this = this;
      if (_this._collection$_length > 0) {
        _this._collection$_strings = _this._collection$_nums = _this._collection$_rest = _this._elements = null;
        _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;
          }
        }
      }
      return _this._elements = result;
    },
    _collection$_addHashTableEntry$2(table, element) {
      if (table[element] != null)
        return false;
      table[element] = 0;
      ++this._collection$_length;
      this._elements = null;
      return true;
    },
    _collection$_removeHashTableEntry$2(table, element) {
      if (table != null && table[element] != null) {
        delete table[element];
        --this._collection$_length;
        this._elements = null;
        return true;
      } else
        return false;
    },
    _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))
          return i;
      return -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._collection$_current = null;
        return false;
      } else {
        _this._collection$_current = elements[offset];
        _this._offset = offset + 1;
        return true;
      }
    }
  };
  A._LinkedHashSet.prototype = {
    _newSet$0() {
      return new A._LinkedHashSet(A._instanceType(this)._eval$1("_LinkedHashSet<1>"));
    },
    _newSimilarSet$1$0($R) {
      return new A._LinkedHashSet($R._eval$1("_LinkedHashSet<0>"));
    },
    _newSimilarSet$0() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    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;
    },
    get$isNotEmpty(_) {
      return this._collection$_length !== 0;
    },
    contains$1(_, object) {
      var strings, nums;
      if (typeof object == "string" && object !== "__proto__") {
        strings = this._collection$_strings;
        if (strings == null)
          return false;
        return strings[object] != null;
      } else if (typeof object == "number" && (object & 1073741823) === object) {
        nums = this._collection$_nums;
        if (nums == null)
          return false;
        return nums[object] != null;
      } else
        return this._contains$1(object);
    },
    _contains$1(object) {
      var rest = this._collection$_rest;
      if (rest == null)
        return false;
      return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], object) >= 0;
    },
    forEach$1(_, action) {
      var _this = this,
        cell = _this._collection$_first,
        modifications = _this._collection$_modifications;
      for (; cell != null;) {
        action.call$1(cell._element);
        if (modifications !== _this._collection$_modifications)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
        cell = cell._collection$_next;
      }
    },
    get$first(_) {
      var first = this._collection$_first;
      if (first == null)
        throw A.wrapException(A.StateError$("No elements"));
      return first._element;
    },
    get$last(_) {
      var last = this._collection$_last;
      if (last == null)
        throw A.wrapException(A.StateError$("No elements"));
      return last._element;
    },
    add$1(_, element) {
      var strings, nums, _this = this;
      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._add$1(0, element);
    },
    _add$1(_, element) {
      var hash, bucket, _this = this,
        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)
        rest[hash] = [_this._collection$_newLinkedCell$1(element)];
      else {
        if (_this._findBucketIndex$2(bucket, element) >= 0)
          return false;
        bucket.push(_this._collection$_newLinkedCell$1(element));
      }
      return true;
    },
    remove$1(_, object) {
      var _this = this;
      if (typeof object == "string" && object !== "__proto__")
        return _this._collection$_removeHashTableEntry$2(_this._collection$_strings, object);
      else if (typeof object == "number" && (object & 1073741823) === object)
        return _this._collection$_removeHashTableEntry$2(_this._collection$_nums, object);
      else
        return _this._remove$1(0, object);
    },
    _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;
    },
    removeWhere$1(_, test) {
      this._filterWhere$2(test, true);
    },
    _filterWhere$2(test, removeMatching) {
      var element, next, modifications, t1, _this = this,
        cell = _this._collection$_first;
      for (; cell != null; cell = next) {
        element = cell._element;
        next = cell._collection$_next;
        modifications = _this._collection$_modifications;
        t1 = test.call$1(element);
        if (modifications !== _this._collection$_modifications)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
        if (true === t1)
          _this.remove$1(0, element);
      }
    },
    clear$0(_) {
      var _this = this;
      if (_this._collection$_length > 0) {
        _this._collection$_strings = _this._collection$_nums = _this._collection$_rest = _this._collection$_first = _this._collection$_last = null;
        _this._collection$_length = 0;
        _this._collection$_modified$0();
      }
    },
    _collection$_addHashTableEntry$2(table, element) {
      if (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 = 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(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)
        _this._collection$_first = next;
      else
        previous._collection$_next = next;
      if (next == null)
        _this._collection$_last = previous;
      else
        next._collection$_previous = previous;
      --_this._collection$_length;
      _this._collection$_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;
    },
    $isLinkedHashSet: 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._collection$_current = null;
        return false;
      } else {
        _this._collection$_current = cell._element;
        _this._collection$_cell = cell._collection$_next;
        return true;
      }
    }
  };
  A.UnmodifiableListView.prototype = {
    cast$1$0(_, $R) {
      return new A.UnmodifiableListView(J.cast$1$0$ax(this._collection$_source, $R), $R._eval$1("UnmodifiableListView<0>"));
    },
    get$length(_) {
      return J.get$length$asx(this._collection$_source);
    },
    $index(_, index) {
      return J.elementAt$1$ax(this._collection$_source, index);
    }
  };
  A.IterableMixin.prototype = {
    cast$1$0(_, $R) {
      return A.CastIterable_CastIterable(this, this.$ti._precomputed1, $R);
    },
    map$1$1(_, toElement, $T) {
      return A.MappedIterable_MappedIterable(this, toElement, this.$ti._precomputed1, $T);
    },
    map$1($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    whereType$1$0(_, $T) {
      return new A.WhereTypeIterable(this, $T._eval$1("WhereTypeIterable<0>"));
    },
    contains$1(_, element) {
      var t1;
      for (t1 = this.$ti, t1 = new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")); t1.moveNext$0();)
        if (J.$eq$(t1.get$current(t1), element))
          return true;
      return false;
    },
    forEach$1(_, action) {
      var t1;
      for (t1 = this.$ti, t1 = new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")); t1.moveNext$0();)
        action.call$1(t1.get$current(t1));
    },
    toList$1$growable(_, growable) {
      return A.List_List$from(this, growable, this.$ti._precomputed1);
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet$from(this, this.$ti._precomputed1);
    },
    get$length(_) {
      var count,
        t1 = this.$ti,
        it = new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
      for (count = 0; it.moveNext$0();)
        ++count;
      return count;
    },
    get$isEmpty(_) {
      var t1 = this.$ti;
      return !new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")).moveNext$0();
    },
    get$isNotEmpty(_) {
      return this._collection$_root != null;
    },
    take$1(_, count) {
      return A.TakeIterable_TakeIterable(this, count, this.$ti._precomputed1);
    },
    skip$1(_, count) {
      return A.SkipIterable_SkipIterable(this, count, this.$ti._precomputed1);
    },
    get$first(_) {
      var t1 = this.$ti,
        it = new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      return it.get$current(it);
    },
    get$last(_) {
      var result,
        t1 = this.$ti,
        it = new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
      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 t1, elementIndex, element, _this = this, _s5_ = "index";
      A.checkNotNullable(index, _s5_, type$.int);
      A.RangeError_checkNotNegative(index, _s5_);
      for (t1 = _this.$ti, t1 = new A._SplayTreeKeyIterator(_this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), _this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")), elementIndex = 0; t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (index === elementIndex)
          return element;
        ++elementIndex;
      }
      throw A.wrapException(A.IndexError$(index, _this, _s5_, null, elementIndex));
    },
    toString$0(_) {
      return A.IterableBase_iterableToShortString(this, "(", ")");
    }
  };
  A.IterableBase.prototype = {};
  A.LinkedHashMap_LinkedHashMap$from_closure.prototype = {
    call$2(k, v) {
      this.result.$indexSet(0, this.K._as(k), this.V._as(v));
    },
    $signature: 115
  };
  A.LinkedList.prototype = {
    add$1(_, entry) {
      this._insertBefore$3$updateFirst(this._collection$_first, entry, false);
    },
    addAll$1(_, entries) {
      entries.forEach$1(0, this.get$add(this));
    },
    contains$1(_, entry) {
      return entry instanceof A.LinkedListEntry && this === entry._collection$_list;
    },
    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;
    },
    clear$0(_) {
      var t1, next, t2, _this = this;
      ++_this._modificationCount;
      if (_this._collection$_length === 0)
        return;
      t1 = _this._collection$_first;
      t1.toString;
      next = t1;
      do {
        t2 = next._collection$_next;
        t2.toString;
        next._collection$_next = next._collection$_previous = next._collection$_list = null;
        if (t2 !== t1) {
          next = t2;
          continue;
        } else
          break;
      } while (true);
      _this._collection$_first = null;
      _this._collection$_length = 0;
    },
    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;
    },
    forEach$1(_, action) {
      var t1, current, _this = this,
        modificationCount = _this._modificationCount;
      if (_this._collection$_length === 0)
        return;
      t1 = _this._collection$_first;
      t1.toString;
      current = t1;
      do {
        action.call$1(current);
        if (modificationCount !== _this._modificationCount)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
        t1 = current._collection$_next;
        t1.toString;
        if (t1 !== _this._collection$_first) {
          current = t1;
          continue;
        } else
          break;
      } while (true);
    },
    get$isEmpty(_) {
      return this._collection$_length === 0;
    },
    _insertBefore$3$updateFirst(entry, newEntry, updateFirst) {
      var t1, t2, _this = this;
      if (newEntry._collection$_list != null)
        throw A.wrapException(A.StateError$("LinkedListEntry is already in a LinkedList"));
      ++_this._modificationCount;
      newEntry._collection$_list = _this;
      t1 = _this._collection$_length;
      if (t1 === 0) {
        newEntry._collection$_next = newEntry;
        _this._collection$_first = newEntry._collection$_previous = newEntry;
        _this._collection$_length = t1 + 1;
        return;
      }
      t2 = entry._collection$_previous;
      t2.toString;
      newEntry._collection$_previous = t2;
      newEntry._collection$_next = entry;
      entry._collection$_previous = t2._collection$_next = newEntry;
      _this._collection$_length = t1 + 1;
    },
    _unlink$1(entry) {
      var t1, t2, _this = this;
      ++_this._modificationCount;
      t1 = entry._collection$_next;
      t1._collection$_previous = entry._collection$_previous;
      entry._collection$_previous._collection$_next = t1;
      t2 = --_this._collection$_length;
      entry._collection$_list = entry._collection$_next = entry._collection$_previous = null;
      if (t2 === 0)
        _this._collection$_first = null;
      else if (entry === _this._collection$_first)
        _this._collection$_first = t1;
    }
  };
  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._collection$_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._collection$_current = null;
        return false;
      }
      _this._visitedFirst = true;
      t1 = _this._collection$_next;
      _this._collection$_current = t1;
      _this._collection$_next = t1._collection$_next;
      return true;
    }
  };
  A.LinkedListEntry.prototype = {};
  A.ListBase.prototype = {$isEfficientLengthIterable: 1, $isIterable: 1, $isList: 1};
  A.ListMixin.prototype = {
    get$iterator(receiver) {
      return new A.ListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("ListIterator<ListMixin.E>"));
    },
    elementAt$1(receiver, index) {
      return this.$index(receiver, index);
    },
    forEach$1(receiver, action) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        action.call$1(this.$index(receiver, i));
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
    },
    get$isEmpty(receiver) {
      return this.get$length(receiver) === 0;
    },
    get$isNotEmpty(receiver) {
      return !this.get$isEmpty(receiver);
    },
    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);
    },
    contains$1(receiver, element) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        if (J.$eq$(this.$index(receiver, i), element))
          return true;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    any$1(receiver, test) {
      var i,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        if (test.call$1(this.$index(receiver, i)))
          return true;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return false;
    },
    firstWhere$2$orElse(receiver, test, orElse) {
      var i, element,
        $length = this.get$length(receiver);
      for (i = 0; i < $length; ++i) {
        element = this.$index(receiver, i);
        if (test.call$1(element))
          return element;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return orElse.call$0();
    },
    lastWhere$2$orElse(receiver, test, orElse) {
      var i, element,
        $length = this.get$length(receiver);
      for (i = $length - 1; i >= 0; --i) {
        element = this.$index(receiver, i);
        if (test.call$1(element))
          return element;
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      if (orElse != null)
        return orElse.call$0();
      throw A.wrapException(A.IterableElementError_noElement());
    },
    join$1(receiver, separator) {
      var t1;
      if (this.get$length(receiver) === 0)
        return "";
      t1 = A.StringBuffer__writeAll("", receiver, separator);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    join$0($receiver) {
      return this.join$1($receiver, "");
    },
    where$1(receiver, test) {
      return new A.WhereIterable(receiver, test, A.instanceType(receiver)._eval$1("WhereIterable<ListMixin.E>"));
    },
    whereType$1$0(receiver, $T) {
      return new A.WhereTypeIterable(receiver, $T._eval$1("WhereTypeIterable<0>"));
    },
    map$1$1(receiver, f, $T) {
      return new A.MappedListIterable(receiver, f, A.instanceType(receiver)._eval$1("@<ListMixin.E>")._bind$1($T)._eval$1("MappedListIterable<1,2>"));
    },
    map$1($receiver, f) {
      return this.map$1$1($receiver, f, type$.dynamic);
    },
    fold$1$2(receiver, initialValue, combine) {
      var value, i,
        $length = this.get$length(receiver);
      for (value = initialValue, i = 0; i < $length; ++i) {
        value = combine.call$2(value, this.$index(receiver, i));
        if ($length !== this.get$length(receiver))
          throw A.wrapException(A.ConcurrentModificationError$(receiver));
      }
      return value;
    },
    fold$2($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    skip$1(receiver, count) {
      return A.SubListIterable$(receiver, count, null, A.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    take$1(receiver, count) {
      return A.SubListIterable$(receiver, 0, A.checkNotNullable(count, "count", type$.int), A.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    toList$1$growable(receiver, growable) {
      var t1, first, result, i, _this = this;
      if (_this.get$isEmpty(receiver)) {
        t1 = A.instanceType(receiver)._eval$1("ListMixin.E");
        return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1);
      }
      first = _this.$index(receiver, 0);
      result = A.List_List$filled(_this.get$length(receiver), first, growable, A.instanceType(receiver)._eval$1("ListMixin.E"));
      for (i = 1; i < _this.get$length(receiver); ++i)
        result[i] = _this.$index(receiver, i);
      return result;
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    toSet$0(receiver) {
      var i,
        result = A.LinkedHashSet_LinkedHashSet(A.instanceType(receiver)._eval$1("ListMixin.E"));
      for (i = 0; i < this.get$length(receiver); ++i)
        result.add$1(0, this.$index(receiver, i));
      return result;
    },
    add$1(receiver, element) {
      var t1 = this.get$length(receiver);
      this.set$length(receiver, t1 + 1);
      this.$indexSet(receiver, t1, element);
    },
    addAll$1(receiver, iterable) {
      var t1,
        i = this.get$length(receiver);
      for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0();) {
        this.add$1(receiver, t1.get$current(t1));
        ++i;
      }
    },
    remove$1(receiver, element) {
      var i;
      for (i = 0; i < this.get$length(receiver); ++i)
        if (J.$eq$(this.$index(receiver, i), element)) {
          this._closeGap$2(receiver, i, i + 1);
          return true;
        }
      return false;
    },
    _closeGap$2(receiver, start, end) {
      var i, _this = this,
        $length = _this.get$length(receiver),
        size = end - start;
      for (i = end; i < $length; ++i)
        _this.$indexSet(receiver, i - size, _this.$index(receiver, i));
      _this.set$length(receiver, $length - size);
    },
    clear$0(receiver) {
      this.set$length(receiver, 0);
    },
    cast$1$0(receiver, $R) {
      return new A.CastList(receiver, A.instanceType(receiver)._eval$1("@<ListMixin.E>")._bind$1($R)._eval$1("CastList<1,2>"));
    },
    removeLast$0(receiver) {
      var result, _this = this;
      if (_this.get$length(receiver) === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      result = _this.$index(receiver, _this.get$length(receiver) - 1);
      _this.set$length(receiver, _this.get$length(receiver) - 1);
      return result;
    },
    sort$1(receiver, compare) {
      A.Sort_sort(receiver, compare == null ? A.collection_ListMixin__compareAny$closure() : compare);
    },
    $add(receiver, other) {
      var t1 = A.List_List$of(receiver, true, A.instanceType(receiver)._eval$1("ListMixin.E"));
      B.JSArray_methods.addAll$1(t1, other);
      return t1;
    },
    sublist$2(receiver, start, end) {
      var listLength = this.get$length(receiver);
      if (end == null)
        end = listLength;
      A.RangeError_checkValidRange(start, end, listLength, null, null);
      return A.List_List$from(this.getRange$2(receiver, start, end), true, A.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    sublist$1($receiver, start) {
      return this.sublist$2($receiver, start, null);
    },
    getRange$2(receiver, start, end) {
      A.RangeError_checkValidRange(start, end, this.get$length(receiver), null, null);
      return A.SubListIterable$(receiver, start, end, A.instanceType(receiver)._eval$1("ListMixin.E"));
    },
    removeRange$2(receiver, start, end) {
      A.RangeError_checkValidRange(start, end, this.get$length(receiver), null, null);
      if (end > start)
        this._closeGap$2(receiver, start, end);
    },
    fillRange$3(receiver, start, end, fill) {
      var i,
        value = fill == null ? A.instanceType(receiver)._eval$1("ListMixin.E")._as(fill) : fill;
      A.RangeError_checkValidRange(start, end, this.get$length(receiver), null, null);
      for (i = start; i < end; ++i)
        this.$indexSet(receiver, i, value);
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      var $length, otherStart, otherList, t1, i;
      A.RangeError_checkValidRange(start, end, this.get$length(receiver), null, null);
      $length = end - start;
      if ($length === 0)
        return;
      A.RangeError_checkNotNegative(skipCount, "skipCount");
      if (A.instanceType(receiver)._eval$1("List<ListMixin.E>")._is(iterable)) {
        otherStart = skipCount;
        otherList = iterable;
      } else {
        t1 = J.skip$1$ax(iterable, skipCount);
        otherList = t1.toList$1$growable(t1, 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);
    },
    indexOf$1(receiver, element) {
      var i;
      for (i = 0; i < this.get$length(receiver); ++i)
        if (J.$eq$(this.$index(receiver, i), element))
          return i;
      return -1;
    },
    removeAt$1(receiver, index) {
      var result = this.$index(receiver, index);
      this._closeGap$2(receiver, index, index + 1);
      return result;
    },
    insertAll$2(receiver, index, iterable) {
      var t1, insertionLength, oldLength, i, oldCopyStart, _this = this;
      A.RangeError_checkValueInInterval(index, 0, _this.get$length(receiver), "index");
      if (index === _this.get$length(receiver)) {
        _this.addAll$1(receiver, iterable);
        return;
      }
      if (!type$.EfficientLengthIterable_dynamic._is(iterable) || iterable === receiver)
        iterable = J.toList$0$ax(iterable);
      t1 = J.getInterceptor$asx(iterable);
      insertionLength = t1.get$length(iterable);
      if (insertionLength === 0)
        return;
      oldLength = _this.get$length(receiver);
      for (i = oldLength - insertionLength; i < oldLength; ++i)
        _this.add$1(receiver, _this.$index(receiver, i > 0 ? i : 0));
      if (t1.get$length(iterable) !== insertionLength) {
        _this.set$length(receiver, _this.get$length(receiver) - insertionLength);
        throw A.wrapException(A.ConcurrentModificationError$(iterable));
      }
      oldCopyStart = index + insertionLength;
      if (oldCopyStart < oldLength)
        _this.setRange$4(receiver, oldCopyStart, oldLength, receiver, index);
      _this.setAll$2(receiver, index, iterable);
    },
    setAll$2(receiver, index, iterable) {
      var t1, index0;
      if (type$.List_dynamic._is(iterable))
        this.setRange$3(receiver, index, index + J.get$length$asx(iterable), iterable);
      else
        for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0(); index = index0) {
          index0 = index + 1;
          this.$indexSet(receiver, index, t1.get$current(t1));
        }
    },
    toString$0(receiver) {
      return A.IterableBase_iterableToFullString(receiver, "[", "]");
    }
  };
  A.MapBase.prototype = {};
  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: 105
  };
  A.MapMixin.prototype = {
    cast$2$0(receiver, RK, RV) {
      var t1 = A.instanceType(receiver);
      return A.Map_castFrom(receiver, t1._eval$1("MapMixin.K"), t1._eval$1("MapMixin.V"), RK, RV);
    },
    forEach$1(receiver, action) {
      var t1, t2, key, t3;
      for (t1 = J.get$iterator$ax(this.get$keys(receiver)), t2 = A.instanceType(receiver)._eval$1("MapMixin.V"); t1.moveNext$0();) {
        key = t1.get$current(t1);
        t3 = this.$index(receiver, key);
        action.call$2(key, t3 == null ? t2._as(t3) : t3);
      }
    },
    addAll$1(receiver, other) {
      other.forEach$1(0, new A.MapMixin_addAll_closure(receiver));
    },
    putIfAbsent$2(receiver, key, ifAbsent) {
      var t1;
      if (this.containsKey$1(receiver, key)) {
        t1 = this.$index(receiver, key);
        return t1 == null ? A.instanceType(receiver)._eval$1("MapMixin.V")._as(t1) : t1;
      }
      t1 = ifAbsent.call$0();
      this.$indexSet(receiver, key, t1);
      return t1;
    },
    update$3$ifAbsent(receiver, key, update, ifAbsent) {
      var t1, _this = this;
      if (_this.containsKey$1(receiver, key)) {
        t1 = _this.$index(receiver, key);
        t1 = update.call$1(t1 == null ? A.instanceType(receiver)._eval$1("MapMixin.V")._as(t1) : t1);
        _this.$indexSet(receiver, key, t1);
        return t1;
      }
      if (ifAbsent != null) {
        t1 = ifAbsent.call$0();
        _this.$indexSet(receiver, key, t1);
        return t1;
      }
      throw A.wrapException(A.ArgumentError$value(key, "key", "Key not in map."));
    },
    update$2($receiver, key, update) {
      return this.update$3$ifAbsent($receiver, key, update, null);
    },
    get$entries(receiver) {
      return J.map$1$1$ax(this.get$keys(receiver), new A.MapMixin_entries_closure(receiver), A.instanceType(receiver)._eval$1("MapEntry<MapMixin.K,MapMixin.V>"));
    },
    map$2$1(receiver, transform, K2, V2) {
      var t1, t2, key, t3, entry,
        result = A.LinkedHashMap_LinkedHashMap$_empty(K2, V2);
      for (t1 = J.get$iterator$ax(this.get$keys(receiver)), t2 = A.instanceType(receiver)._eval$1("MapMixin.V"); t1.moveNext$0();) {
        key = t1.get$current(t1);
        t3 = this.$index(receiver, key);
        entry = transform.call$2(key, t3 == null ? t2._as(t3) : t3);
        result.$indexSet(0, entry.get$key(entry), entry.get$value(entry));
      }
      return result;
    },
    map$1($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    addEntries$1(receiver, newEntries) {
      var t1, t2;
      for (t1 = J.get$iterator$ax(newEntries); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        this.$indexSet(receiver, t2.get$key(t2), t2.get$value(t2));
      }
    },
    removeWhere$1(receiver, test) {
      var t2, key, t3, _i,
        t1 = A.instanceType(receiver),
        keysToRemove = A._setArrayType([], t1._eval$1("JSArray<MapMixin.K>"));
      for (t2 = J.get$iterator$ax(this.get$keys(receiver)), t1 = t1._eval$1("MapMixin.V"); t2.moveNext$0();) {
        key = t2.get$current(t2);
        t3 = this.$index(receiver, key);
        if (test.call$2(key, t3 == null ? t1._as(t3) : t3))
          keysToRemove.push(key);
      }
      for (t1 = keysToRemove.length, _i = 0; _i < keysToRemove.length; keysToRemove.length === t1 || (0, A.throwConcurrentModificationError)(keysToRemove), ++_i)
        this.remove$1(receiver, keysToRemove[_i]);
    },
    containsKey$1(receiver, key) {
      return J.contains$1$asx(this.get$keys(receiver), key);
    },
    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$isNotEmpty(receiver) {
      return J.get$isNotEmpty$asx(this.get$keys(receiver));
    },
    get$values(receiver) {
      var t1 = A.instanceType(receiver);
      return new A._MapBaseValueIterable(receiver, t1._eval$1("@<MapMixin.K>")._bind$1(t1._eval$1("MapMixin.V"))._eval$1("_MapBaseValueIterable<1,2>"));
    },
    toString$0(receiver) {
      return A.MapBase_mapToString(receiver);
    },
    $isMap: 1
  };
  A.MapMixin_addAll_closure.prototype = {
    call$2(key, value) {
      J.$indexSet$ax(this.$this, key, value);
    },
    $signature() {
      return A.instanceType(this.$this)._eval$1("~(MapMixin.K,MapMixin.V)");
    }
  };
  A.MapMixin_entries_closure.prototype = {
    call$1(key) {
      var t1 = this.$this,
        t2 = J.$index$asx(t1, key);
      if (t2 == null)
        t2 = A.instanceType(t1)._eval$1("MapMixin.V")._as(t2);
      t1 = A.instanceType(t1);
      return new A.MapEntry(key, t2, t1._eval$1("@<MapMixin.K>")._bind$1(t1._eval$1("MapMixin.V"))._eval$1("MapEntry<1,2>"));
    },
    $signature() {
      return A.instanceType(this.$this)._eval$1("MapEntry<MapMixin.K,MapMixin.V>(MapMixin.K)");
    }
  };
  A.UnmodifiableMapBase.prototype = {};
  A._MapBaseValueIterable.prototype = {
    get$length(_) {
      return J.get$length$asx(this._collection$_map);
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this._collection$_map);
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$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._collection$_keys;
      if (t1.moveNext$0()) {
        _this._collection$_current = J.$index$asx(_this._collection$_map, t1.get$current(t1));
        return true;
      }
      _this._collection$_current = null;
      return false;
    },
    get$current(_) {
      var t1 = this._collection$_current;
      return t1 == null ? this.$ti._rest[1]._as(t1) : t1;
    }
  };
  A._UnmodifiableMapMixin.prototype = {
    $indexSet(_, key, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    addAll$1(_, other) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    clear$0(_) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    remove$1(_, key) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    },
    putIfAbsent$2(_, key, ifAbsent) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify unmodifiable map"));
    }
  };
  A.MapView.prototype = {
    cast$2$0(_, RK, RV) {
      return J.cast$2$0$ax(this._collection$_map, RK, RV);
    },
    $index(_, key) {
      return J.$index$asx(this._collection$_map, key);
    },
    $indexSet(_, key, value) {
      J.$indexSet$ax(this._collection$_map, key, value);
    },
    addAll$1(_, other) {
      J.addAll$1$ax(this._collection$_map, other);
    },
    clear$0(_) {
      J.clear$0$ax(this._collection$_map);
    },
    putIfAbsent$2(_, key, ifAbsent) {
      return J.putIfAbsent$2$x(this._collection$_map, key, ifAbsent);
    },
    containsKey$1(_, key) {
      return J.containsKey$1$x(this._collection$_map, key);
    },
    forEach$1(_, action) {
      J.forEach$1$ax(this._collection$_map, action);
    },
    get$isEmpty(_) {
      return J.get$isEmpty$asx(this._collection$_map);
    },
    get$isNotEmpty(_) {
      return J.get$isNotEmpty$asx(this._collection$_map);
    },
    get$length(_) {
      return J.get$length$asx(this._collection$_map);
    },
    get$keys(_) {
      return J.get$keys$x(this._collection$_map);
    },
    remove$1(_, key) {
      return J.remove$1$ax(this._collection$_map, key);
    },
    toString$0(_) {
      return J.toString$0$(this._collection$_map);
    },
    get$values(_) {
      return J.get$values$x(this._collection$_map);
    },
    get$entries(_) {
      return J.get$entries$x(this._collection$_map);
    },
    map$2$1(_, transform, K2, V2) {
      return J.map$2$1$ax(this._collection$_map, transform, K2, V2);
    },
    map$1($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    $isMap: 1
  };
  A.UnmodifiableMapView.prototype = {
    cast$2$0(_, RK, RV) {
      return new A.UnmodifiableMapView(J.cast$2$0$ax(this._collection$_map, RK, RV), RK._eval$1("@<0>")._bind$1(RV)._eval$1("UnmodifiableMapView<1,2>"));
    }
  };
  A._DoubleLinkedQueueEntry.prototype = {
    _link$2(previous, next) {
      var _this = this;
      _this._nextLink = next;
      _this._previousLink = previous;
      if (previous != null)
        previous._nextLink = _this;
      if (next != null)
        next._previousLink = _this;
    },
    _unlink$0() {
      var t2, _this = this,
        t1 = _this._previousLink;
      if (t1 != null)
        t1._nextLink = _this._nextLink;
      t2 = _this._nextLink;
      if (t2 != null)
        t2._previousLink = t1;
      _this._previousLink = _this._nextLink = null;
    }
  };
  A._DoubleLinkedQueueElement.prototype = {
    _remove$0(_) {
      var t1, t2, _this = this;
      _this._collection$_queue = null;
      t1 = _this._previousLink;
      if (t1 != null)
        t1._nextLink = _this._nextLink;
      t2 = _this._nextLink;
      if (t2 != null)
        t2._previousLink = t1;
      _this._previousLink = _this._nextLink = null;
      return _this.element;
    },
    remove$0(_) {
      var _this = this,
        t1 = _this._collection$_queue;
      if (t1 != null)
        --t1._elementCount;
      _this._collection$_queue = null;
      _this._unlink$0();
      return _this.element;
    },
    _asNonSentinelEntry$0() {
      return this;
    },
    $isDoubleLinkedQueueEntry: 1,
    get$element() {
      return this.element;
    }
  };
  A._DoubleLinkedQueueSentinel.prototype = {
    _asNonSentinelEntry$0() {
      return null;
    },
    _remove$0(_) {
      throw A.wrapException(A.IterableElementError_noElement());
    },
    get$element() {
      throw A.wrapException(A.IterableElementError_noElement());
    }
  };
  A.DoubleLinkedQueue.prototype = {
    cast$1$0(_, $R) {
      return new A.CastQueue(this, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastQueue<1,2>"));
    },
    get$length(_) {
      return this._elementCount;
    },
    addFirst$1(value) {
      var t1 = this._sentinel;
      new A._DoubleLinkedQueueElement(this, value, t1.$ti._eval$1("_DoubleLinkedQueueElement<1>"))._link$2(t1, t1._nextLink);
      ++this._elementCount;
    },
    add$1(_, value) {
      var t1 = this._sentinel;
      new A._DoubleLinkedQueueElement(this, value, t1.$ti._eval$1("_DoubleLinkedQueueElement<1>"))._link$2(t1._previousLink, t1);
      ++this._elementCount;
    },
    addAll$1(_, iterable) {
      var t1, t2, t3, t4;
      for (t1 = J.get$iterator$ax(iterable._source), t2 = A._instanceType(iterable), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._rest[1], t3 = this._sentinel, t4 = t3.$ti._eval$1("_DoubleLinkedQueueElement<1>"); t1.moveNext$0();) {
        new A._DoubleLinkedQueueElement(this, t2._as(t1.get$current(t1)), t4)._link$2(t3._previousLink, t3);
        ++this._elementCount;
      }
    },
    get$first(_) {
      return this._sentinel._nextLink.get$element();
    },
    get$last(_) {
      return this._sentinel._previousLink.get$element();
    },
    get$isEmpty(_) {
      var t1 = this._sentinel;
      return t1._nextLink === t1;
    },
    get$iterator(_) {
      return new A._DoubleLinkedQueueIterator(this, this._sentinel._nextLink, this.$ti._eval$1("_DoubleLinkedQueueIterator<1>"));
    },
    toString$0(_) {
      return A.IterableBase_iterableToFullString(this, "{", "}");
    },
    $isEfficientLengthIterable: 1
  };
  A._DoubleLinkedQueueIterator.prototype = {
    moveNext$0() {
      var _this = this,
        t1 = _this._nextEntry,
        nextElement = t1 == null ? null : t1._asNonSentinelEntry$0();
      if (nextElement == null) {
        _this._collection$_queue = _this._nextEntry = _this._collection$_current = null;
        return false;
      }
      t1 = _this._collection$_queue;
      if (t1 != nextElement._collection$_queue)
        throw A.wrapException(A.ConcurrentModificationError$(t1));
      _this._collection$_current = nextElement.element;
      _this._nextEntry = nextElement._nextLink;
      return true;
    },
    get$current(_) {
      var t1 = this._collection$_current;
      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
    }
  };
  A.ListQueue.prototype = {
    cast$1$0(_, $R) {
      return new A.CastQueue(this, this.$ti._eval$1("@<1>")._bind$1($R)._eval$1("CastQueue<1,2>"));
    },
    get$iterator(_) {
      var _this = this;
      return new A._ListQueueIterator(_this, _this._tail, _this._modificationCount, _this._head, _this.$ti._eval$1("_ListQueueIterator<1>"));
    },
    forEach$1(_, f) {
      var i, t1, t2, _this = this,
        modificationCount = _this._modificationCount;
      for (i = _this._head, t1 = _this.$ti._precomputed1; i !== _this._tail; i = (i + 1 & _this._table.length - 1) >>> 0) {
        t2 = _this._table[i];
        f.call$1(t2 == null ? t1._as(t2) : t2);
        if (modificationCount !== _this._modificationCount)
          A.throwExpression(A.ConcurrentModificationError$(_this));
      }
    },
    get$isEmpty(_) {
      return this._head === this._tail;
    },
    get$length(_) {
      return (this._tail - this._head & this._table.length - 1) >>> 0;
    },
    get$first(_) {
      var _this = this,
        t1 = _this._head;
      if (t1 === _this._tail)
        throw A.wrapException(A.IterableElementError_noElement());
      t1 = _this._table[t1];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    get$last(_) {
      var _this = this,
        t1 = _this._head,
        t2 = _this._tail;
      if (t1 === t2)
        throw A.wrapException(A.IterableElementError_noElement());
      t1 = _this._table;
      t1 = t1[(t2 - 1 & t1.length - 1) >>> 0];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    elementAt$1(_, index) {
      var t1, _this = this;
      A.RangeError_checkValidIndex(index, _this, null, null);
      t1 = _this._table;
      t1 = t1[(_this._head + index & t1.length - 1) >>> 0];
      return t1 == null ? _this.$ti._precomputed1._as(t1) : t1;
    },
    toList$1$growable(_, growable) {
      var t1, list, t2, t3, i, t4, _this = this,
        mask = _this._table.length - 1,
        $length = (_this._tail - _this._head & mask) >>> 0;
      if ($length === 0) {
        t1 = _this.$ti._precomputed1;
        return growable ? J.JSArray_JSArray$growable(0, t1) : J.JSArray_JSArray$fixed(0, t1);
      }
      t1 = _this.$ti._precomputed1;
      list = A.List_List$filled($length, _this.get$first(_this), growable, t1);
      for (t2 = _this._table, t3 = _this._head, i = 0; i < $length; ++i) {
        t4 = t2[(t3 + i & mask) >>> 0];
        list[i] = t4 == null ? t1._as(t4) : t4;
      }
      return list;
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    add$1(_, value) {
      this._add$1(0, value);
    },
    addAll$1(_, elements) {
      var addCount, $length, t2, t3, t4, newTable, endSpace, preSpace, _this = this,
        t1 = _this.$ti;
      if (t1._eval$1("List<1>")._is(elements)) {
        addCount = J.get$length$asx(elements);
        $length = _this.get$length(_this);
        t2 = $length + addCount;
        t3 = _this._table;
        t4 = t3.length;
        if (t2 >= t4) {
          newTable = A.List_List$filled(A.ListQueue__nextPowerOf2(t2 + B.JSInt_methods._shrOtherPositive$1(t2, 1)), null, false, t1._eval$1("1?"));
          _this._tail = _this._writeToList$1(newTable);
          _this._table = newTable;
          _this._head = 0;
          B.JSArray_methods.setRange$4(newTable, $length, t2, elements, 0);
          _this._tail += addCount;
        } else {
          t1 = _this._tail;
          endSpace = t4 - t1;
          if (addCount < endSpace) {
            B.JSArray_methods.setRange$4(t3, t1, t1 + addCount, elements, 0);
            _this._tail += addCount;
          } else {
            preSpace = addCount - endSpace;
            B.JSArray_methods.setRange$4(t3, t1, t1 + endSpace, elements, 0);
            B.JSArray_methods.setRange$4(_this._table, 0, preSpace, elements, endSpace);
            _this._tail = preSpace;
          }
        }
        ++_this._modificationCount;
      } else
        for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
          _this._add$1(0, t1.get$current(t1));
    },
    clear$0(_) {
      var t2, t3, _this = this,
        i = _this._head,
        t1 = _this._tail;
      if (i !== t1) {
        for (t2 = _this._table, t3 = t2.length - 1; i !== t1; i = (i + 1 & t3) >>> 0)
          t2[i] = null;
        _this._head = _this._tail = 0;
        ++_this._modificationCount;
      }
    },
    toString$0(_) {
      return A.IterableBase_iterableToFullString(this, "{", "}");
    },
    addFirst$1(value) {
      var _this = this,
        t1 = _this._head,
        t2 = _this._table;
      t1 = _this._head = (t1 - 1 & t2.length - 1) >>> 0;
      t2[t1] = value;
      if (t1 === _this._tail)
        _this._grow$0();
      ++_this._modificationCount;
    },
    removeFirst$0() {
      var t2, result, _this = this,
        t1 = _this._head;
      if (t1 === _this._tail)
        throw A.wrapException(A.IterableElementError_noElement());
      ++_this._modificationCount;
      t2 = _this._table;
      result = t2[t1];
      if (result == null)
        result = _this.$ti._precomputed1._as(result);
      t2[t1] = null;
      _this._head = (t1 + 1 & t2.length - 1) >>> 0;
      return result;
    },
    removeLast$0(_) {
      var result, _this = this,
        t1 = _this._head,
        t2 = _this._tail;
      if (t1 === t2)
        throw A.wrapException(A.IterableElementError_noElement());
      ++_this._modificationCount;
      t1 = _this._table;
      t2 = _this._tail = (t2 - 1 & t1.length - 1) >>> 0;
      result = t1[t2];
      if (result == null)
        result = _this.$ti._precomputed1._as(result);
      t1[t2] = null;
      return result;
    },
    _add$1(_, element) {
      var _this = this,
        t1 = _this._table,
        t2 = _this._tail;
      t1[t2] = element;
      t1 = (t2 + 1 & t1.length - 1) >>> 0;
      _this._tail = t1;
      if (_this._head === t1)
        _this._grow$0();
      ++_this._modificationCount;
    },
    _grow$0() {
      var _this = this,
        newTable = A.List_List$filled(_this._table.length * 2, null, false, _this.$ti._eval$1("1?")),
        t1 = _this._table,
        t2 = _this._head,
        split = t1.length - t2;
      B.JSArray_methods.setRange$4(newTable, 0, split, t1, t2);
      B.JSArray_methods.setRange$4(newTable, split, split + _this._head, _this._table, 0);
      _this._head = 0;
      _this._tail = _this._table.length;
      _this._table = newTable;
    },
    _writeToList$1(target) {
      var $length, firstPartSize, _this = this,
        t1 = _this._head,
        t2 = _this._tail,
        t3 = _this._table;
      if (t1 <= t2) {
        $length = t2 - t1;
        B.JSArray_methods.setRange$4(target, 0, $length, t3, t1);
        return $length;
      } else {
        firstPartSize = t3.length - t1;
        B.JSArray_methods.setRange$4(target, 0, firstPartSize, t3, t1);
        B.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this._tail, _this._table, 0);
        return _this._tail + firstPartSize;
      }
    }
  };
  A._ListQueueIterator.prototype = {
    get$current(_) {
      var t1 = this._collection$_current;
      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
    },
    moveNext$0() {
      var t2, _this = this,
        t1 = _this._collection$_queue;
      if (_this._modificationCount !== t1._modificationCount)
        A.throwExpression(A.ConcurrentModificationError$(t1));
      t2 = _this._collection$_position;
      if (t2 === _this._end) {
        _this._collection$_current = null;
        return false;
      }
      t1 = t1._table;
      _this._collection$_current = t1[t2];
      _this._collection$_position = (t2 + 1 & t1.length - 1) >>> 0;
      return true;
    }
  };
  A.SetMixin.prototype = {
    get$isEmpty(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty(_) {
      return this.get$length(this) !== 0;
    },
    cast$1$0(_, $R) {
      return A.Set_castFrom(this, null, A._instanceType(this)._eval$1("SetMixin.E"), $R);
    },
    whereType$1$0(_, $T) {
      return new A.WhereTypeIterable(this, $T._eval$1("WhereTypeIterable<0>"));
    },
    addAll$1(_, elements) {
      var t1;
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        this.add$1(0, t1.get$current(t1));
    },
    removeAll$1(elements) {
      var t1, _i;
      for (t1 = elements.length, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i)
        this.remove$1(0, elements[_i]);
    },
    removeWhere$1(_, test) {
      var t1, element, toRemove = [];
      for (t1 = this.get$iterator(this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (test.call$1(element))
          toRemove.push(element);
      }
      this.removeAll$1(toRemove);
    },
    union$1(other) {
      var t1 = this.toSet$0(0);
      t1.addAll$1(0, other);
      return t1;
    },
    intersection$1(_, other) {
      var t1, element,
        result = this.toSet$0(0);
      for (t1 = this.get$iterator(this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (!other.contains$1(0, element))
          result.remove$1(0, element);
      }
      return result;
    },
    toList$1$growable(_, growable) {
      return A.List_List$of(this, growable, A._instanceType(this)._eval$1("SetMixin.E"));
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    },
    map$1$1(_, f, $T) {
      return new A.EfficientLengthMappedIterable(this, f, A._instanceType(this)._eval$1("@<SetMixin.E>")._bind$1($T)._eval$1("EfficientLengthMappedIterable<1,2>"));
    },
    map$1($receiver, f) {
      return this.map$1$1($receiver, f, type$.dynamic);
    },
    toString$0(_) {
      return A.IterableBase_iterableToFullString(this, "{", "}");
    },
    forEach$1(_, f) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        f.call$1(t1.get$current(t1));
    },
    any$1(_, test) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (test.call$1(t1.get$current(t1)))
          return true;
      return false;
    },
    take$1(_, n) {
      return A.TakeIterable_TakeIterable(this, n, A._instanceType(this)._eval$1("SetMixin.E"));
    },
    skip$1(_, n) {
      return A.SkipIterable_SkipIterable(this, n, A._instanceType(this)._eval$1("SetMixin.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 t1, elementIndex, element, _s5_ = "index";
      A.checkNotNullable(index, _s5_, type$.int);
      A.RangeError_checkNotNegative(index, _s5_);
      for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (index === elementIndex)
          return element;
        ++elementIndex;
      }
      throw A.wrapException(A.IndexError$(index, this, _s5_, null, elementIndex));
    }
  };
  A._SetBase.prototype = {
    cast$1$0(_, $R) {
      return A.Set_castFrom(this, this.get$_newSimilarSet(), A._instanceType(this)._precomputed1, $R);
    },
    difference$1(other) {
      var t1, element,
        result = this._newSet$0();
      for (t1 = this.get$iterator(this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (!other.contains$1(0, element))
          result.add$1(0, element);
      }
      return result;
    },
    intersection$1(_, other) {
      var t1, element,
        result = this._newSet$0();
      for (t1 = this.get$iterator(this); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (other.contains$1(0, element))
          result.add$1(0, element);
      }
      return result;
    },
    toSet$0(_) {
      var t1 = this._newSet$0();
      t1.addAll$1(0, this);
      return t1;
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isSet: 1
  };
  A._UnmodifiableSetMixin.prototype = {
    add$1(_, value) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    },
    addAll$1(_, elements) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    },
    removeAll$1(elements) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    },
    removeWhere$1(_, test) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    },
    remove$1(_, value) {
      return A._UnmodifiableSetMixin__throwUnmodifiable();
    }
  };
  A._UnmodifiableSet.prototype = {
    _newSet$0() {
      return A.LinkedHashSet_LinkedHashSet(this.$ti._precomputed1);
    },
    _newSimilarSet$1$0($R) {
      return A.LinkedHashSet_LinkedHashSet($R);
    },
    _newSimilarSet$0() {
      return this._newSimilarSet$1$0(type$.dynamic);
    },
    contains$1(_, element) {
      return J.containsKey$1$x(this._collection$_map, element);
    },
    get$iterator(_) {
      return J.get$iterator$ax(J.get$keys$x(this._collection$_map));
    },
    get$length(_) {
      return J.get$length$asx(this._collection$_map);
    }
  };
  A._SplayTreeNode.prototype = {
    get$key(receiver) {
      return this.key;
    }
  };
  A._SplayTreeSetNode.prototype = {};
  A._SplayTreeMapNode.prototype = {
    _replaceValue$1(value) {
      var _this = this,
        t1 = _this.$ti;
      t1 = new A._SplayTreeMapNode(value, _this.key, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapNode<1,2>"));
      t1._collection$_left = _this._collection$_left;
      t1._collection$_right = _this._collection$_right;
      return t1;
    },
    toString$0(_) {
      return "MapEntry(" + A.S(this.key) + ": " + A.S(this.value) + ")";
    },
    $isMapEntry: 1,
    get$value(receiver) {
      return this.value;
    }
  };
  A._SplayTree.prototype = {
    _splay$1(key) {
      var compare, comp, current, newTreeLeft, left, newTreeRight, right, currentLeft, currentLeft0, currentRight, currentRight0, _this = this, _null = null,
        root = _this.get$_collection$_root();
      if (root == null) {
        _this._compare$2(key, key);
        return -1;
      }
      compare = _this.get$_compare();
      for (comp = _null, current = root, newTreeLeft = comp, left = newTreeLeft, newTreeRight = left, right = newTreeRight; true;) {
        comp = compare.call$2(current.key, key);
        if (comp > 0) {
          currentLeft = current._collection$_left;
          if (currentLeft == null)
            break;
          comp = compare.call$2(currentLeft.key, key);
          if (comp > 0) {
            current._collection$_left = currentLeft._collection$_right;
            currentLeft._collection$_right = current;
            currentLeft0 = currentLeft._collection$_left;
            if (currentLeft0 == null) {
              current = currentLeft;
              break;
            }
            current = currentLeft;
            currentLeft = currentLeft0;
          }
          if (right == null)
            newTreeRight = current;
          else
            right._collection$_left = current;
          right = current;
          current = currentLeft;
        } else {
          if (comp < 0) {
            currentRight = current._collection$_right;
            if (currentRight == null)
              break;
            comp = compare.call$2(currentRight.key, key);
            if (comp < 0) {
              current._collection$_right = currentRight._collection$_left;
              currentRight._collection$_left = current;
              currentRight0 = currentRight._collection$_right;
              if (currentRight0 == null) {
                current = currentRight;
                break;
              }
              current = currentRight;
              currentRight = currentRight0;
            }
            if (left == null)
              newTreeLeft = current;
            else
              left._collection$_right = current;
          } else
            break;
          left = current;
          current = currentRight;
        }
      }
      if (left != null) {
        left._collection$_right = current._collection$_left;
        current._collection$_left = newTreeLeft;
      }
      if (right != null) {
        right._collection$_left = current._collection$_right;
        current._collection$_right = newTreeRight;
      }
      if (_this.get$_collection$_root() !== current) {
        _this.set$_collection$_root(current);
        ++_this._splayCount;
      }
      return comp;
    },
    _splayMin$1(node) {
      var current, nextLeft0,
        nextLeft = node._collection$_left;
      for (current = node; nextLeft != null; current = nextLeft, nextLeft = nextLeft0) {
        current._collection$_left = nextLeft._collection$_right;
        nextLeft._collection$_right = current;
        nextLeft0 = nextLeft._collection$_left;
      }
      return current;
    },
    _splayMax$1(node) {
      var current, nextRight0,
        nextRight = node._collection$_right;
      for (current = node; nextRight != null; current = nextRight, nextRight = nextRight0) {
        current._collection$_right = nextRight._collection$_left;
        nextRight._collection$_left = current;
        nextRight0 = nextRight._collection$_right;
      }
      return current;
    },
    _remove$1(_, key) {
      var root, left, t1, root0, _this = this;
      if (_this.get$_collection$_root() == null)
        return null;
      if (_this._splay$1(key) !== 0)
        return null;
      root = _this.get$_collection$_root();
      left = root._collection$_left;
      --_this._count;
      t1 = root._collection$_right;
      if (left == null)
        _this.set$_collection$_root(t1);
      else {
        root0 = _this._splayMax$1(left);
        root0._collection$_right = t1;
        _this.set$_collection$_root(root0);
      }
      ++_this._modificationCount;
      return root;
    },
    _addNewRoot$2(node, comp) {
      var root, _this = this;
      ++_this._count;
      ++_this._modificationCount;
      root = _this.get$_collection$_root();
      if (root == null) {
        _this.set$_collection$_root(node);
        return;
      }
      if (comp < 0) {
        node._collection$_left = root;
        node._collection$_right = root._collection$_right;
        root._collection$_right = null;
      } else {
        node._collection$_right = root;
        node._collection$_left = root._collection$_left;
        root._collection$_left = null;
      }
      _this.set$_collection$_root(node);
    },
    get$_collection$_first() {
      var _this = this,
        root = _this.get$_collection$_root();
      if (root == null)
        return null;
      _this.set$_collection$_root(_this._splayMin$1(root));
      return _this.get$_collection$_root();
    },
    get$_collection$_last() {
      var _this = this,
        root = _this.get$_collection$_root();
      if (root == null)
        return null;
      _this.set$_collection$_root(_this._splayMax$1(root));
      return _this.get$_collection$_root();
    },
    _clear$0(_) {
      this.set$_collection$_root(null);
      this._count = 0;
      ++this._modificationCount;
    },
    _containsKey$1(key) {
      return this._validKey$1(key) && this._splay$1(key) === 0;
    },
    _compare$2(arg0, arg1) {
      return this.get$_compare().call$2(arg0, arg1);
    },
    _validKey$1(arg0) {
      return this.get$_validKey().call$1(arg0);
    }
  };
  A.SplayTreeMap.prototype = {
    $index(_, key) {
      var _this = this;
      if (!_this._validKey.call$1(key))
        return null;
      if (_this._collection$_root != null)
        if (_this._splay$1(key) === 0)
          return _this._collection$_root.value;
      return null;
    },
    remove$1(_, key) {
      var mapRoot;
      if (!this._validKey.call$1(key))
        return null;
      mapRoot = this._remove$1(0, key);
      if (mapRoot != null)
        return mapRoot.value;
      return null;
    },
    $indexSet(_, key, value) {
      var t1, _this = this,
        comp = _this._splay$1(key);
      if (comp === 0) {
        _this._collection$_root = _this._collection$_root._replaceValue$1(value);
        ++_this._splayCount;
        return;
      }
      t1 = _this.$ti;
      _this._addNewRoot$2(new A._SplayTreeMapNode(value, key, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapNode<1,2>")), comp);
    },
    putIfAbsent$2(_, key, ifAbsent) {
      var modificationCount, splayCount, value, t1, _this = this,
        comp = _this._splay$1(key);
      if (comp === 0)
        return _this._collection$_root.value;
      modificationCount = _this._modificationCount;
      splayCount = _this._splayCount;
      value = ifAbsent.call$0();
      if (modificationCount !== _this._modificationCount)
        throw A.wrapException(A.ConcurrentModificationError$(_this));
      if (splayCount !== _this._splayCount)
        comp = _this._splay$1(key);
      t1 = _this.$ti;
      _this._addNewRoot$2(new A._SplayTreeMapNode(value, key, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapNode<1,2>")), comp);
      return value;
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A.SplayTreeMap_addAll_closure(this));
    },
    get$isEmpty(_) {
      return this._collection$_root == null;
    },
    get$isNotEmpty(_) {
      return this._collection$_root != null;
    },
    forEach$1(_, f) {
      var nodes, node,
        t1 = this.$ti;
      t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]);
      nodes = new A._SplayTreeMapEntryIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeMapNode<1,2>>")), this._splayCount, t1._eval$1("_SplayTreeMapEntryIterator<1,2>"));
      for (; nodes.moveNext$0();) {
        node = nodes.get$current(nodes);
        f.call$2(node.get$key(node), node.get$value(node));
      }
    },
    get$length(_) {
      return this._count;
    },
    clear$0(_) {
      this._clear$0(0);
    },
    containsKey$1(_, key) {
      return this._containsKey$1(key);
    },
    get$keys(_) {
      var t1 = this.$ti;
      return new A._SplayTreeKeyIterable(this, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>"));
    },
    get$values(_) {
      var t1 = this.$ti;
      return new A._SplayTreeValueIterable(this, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeValueIterable<1,2>"));
    },
    get$entries(_) {
      var t1 = this.$ti;
      return new A._SplayTreeMapEntryIterable(this, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_SplayTreeMapEntryIterable<1,2>"));
    },
    firstKey$0() {
      if (this._collection$_root == null)
        return null;
      return this.get$_collection$_first().key;
    },
    lastKey$0() {
      if (this._collection$_root == null)
        return null;
      return this.get$_collection$_last().key;
    },
    lastKeyBefore$1(key) {
      var node, nodeRight, nodeRight0, _this = this;
      if (_this._collection$_root == null)
        return null;
      if (_this._splay$1(key) < 0)
        return _this._collection$_root.key;
      node = _this._collection$_root._collection$_left;
      if (node == null)
        return null;
      nodeRight = node._collection$_right;
      for (; nodeRight != null; node = nodeRight, nodeRight = nodeRight0)
        nodeRight0 = nodeRight._collection$_right;
      return node.key;
    },
    firstKeyAfter$1(key) {
      var node, nodeLeft, nodeLeft0, _this = this;
      if (_this._collection$_root == null)
        return null;
      if (_this._splay$1(key) > 0)
        return _this._collection$_root.key;
      node = _this._collection$_root._collection$_right;
      if (node == null)
        return null;
      nodeLeft = node._collection$_left;
      for (; nodeLeft != null; node = nodeLeft, nodeLeft = nodeLeft0)
        nodeLeft0 = nodeLeft._collection$_left;
      return node.key;
    },
    $isMap: 1,
    _compare$2(arg0, arg1) {
      return this._compare.call$2(arg0, arg1);
    },
    _validKey$1(arg0) {
      return this._validKey.call$1(arg0);
    },
    get$_collection$_root() {
      return this._collection$_root;
    },
    get$_compare() {
      return this._compare;
    },
    set$_collection$_root(val) {
      return this._collection$_root = val;
    }
  };
  A.SplayTreeMap_closure.prototype = {
    call$1(a) {
      return this.K._is(a);
    },
    $signature: 63
  };
  A.SplayTreeMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1,2)");
    }
  };
  A._SplayTreeIterator.prototype = {
    get$current(_) {
      var t1 = this._collection$_path;
      if (t1.length === 0) {
        A._instanceType(this)._eval$1("_SplayTreeIterator.T")._as(null);
        return null;
      }
      return this._getValue$1(B.JSArray_methods.get$last(t1));
    },
    moveNext$0() {
      var node, next, _this = this,
        t1 = _this._modificationCount,
        t2 = _this._tree,
        t3 = t2._modificationCount;
      if (t1 !== t3) {
        if (t1 == null) {
          _this._modificationCount = t3;
          node = t2.get$_collection$_root();
          for (t1 = _this._collection$_path; node != null;) {
            t1.push(node);
            node = node._collection$_left;
          }
          return t1.length !== 0;
        }
        throw A.wrapException(A.ConcurrentModificationError$(t2));
      }
      t1 = _this._collection$_path;
      if (t1.length === 0)
        return false;
      if (_this._splayCount !== t2._splayCount) {
        t3 = B.JSArray_methods.get$last(t1);
        B.JSArray_methods.clear$0(t1);
        t2._splay$1(t3.key);
        t3 = t2.get$_collection$_root();
        t3.toString;
        t1.push(t3);
        _this._splayCount = t2._splayCount;
      }
      node = B.JSArray_methods.get$last(t1);
      next = node._collection$_right;
      if (next != null) {
        for (; next != null;) {
          t1.push(next);
          next = next._collection$_left;
        }
        return true;
      }
      t1.pop();
      while (true) {
        if (!(t1.length !== 0 && B.JSArray_methods.get$last(t1)._collection$_right === node))
          break;
        node = t1.pop();
      }
      return t1.length !== 0;
    }
  };
  A._SplayTreeKeyIterable.prototype = {
    get$length(_) {
      return this._tree._count;
    },
    get$isEmpty(_) {
      return this._tree._count === 0;
    },
    get$iterator(_) {
      var t1 = this._tree,
        t2 = this.$ti;
      return new A._SplayTreeKeyIterator(t1, A._setArrayType([], t2._eval$1("JSArray<2>")), t1._splayCount, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_SplayTreeKeyIterator<1,2>"));
    },
    contains$1(_, o) {
      return this._tree._containsKey$1(o);
    },
    toSet$0(_) {
      var t1 = this._tree,
        t2 = this.$ti,
        set = A.SplayTreeSet$(t1._compare, t1._validKey, t2._precomputed1);
      set._count = t1._count;
      set._collection$_root = set._copyNode$1$1(t1._collection$_root, t2._rest[1]);
      return set;
    }
  };
  A._SplayTreeValueIterable.prototype = {
    get$length(_) {
      return this._collection$_map._count;
    },
    get$isEmpty(_) {
      return this._collection$_map._count === 0;
    },
    get$iterator(_) {
      var t1 = this._collection$_map,
        t2 = this.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]);
      return new A._SplayTreeValueIterator(t1, A._setArrayType([], t2._eval$1("JSArray<_SplayTreeMapNode<1,2>>")), t1._splayCount, t2._eval$1("_SplayTreeValueIterator<1,2>"));
    }
  };
  A._SplayTreeMapEntryIterable.prototype = {
    get$length(_) {
      return this._collection$_map._count;
    },
    get$isEmpty(_) {
      return this._collection$_map._count === 0;
    },
    get$iterator(_) {
      var t1 = this._collection$_map,
        t2 = this.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]);
      return new A._SplayTreeMapEntryIterator(t1, A._setArrayType([], t2._eval$1("JSArray<_SplayTreeMapNode<1,2>>")), t1._splayCount, t2._eval$1("_SplayTreeMapEntryIterator<1,2>"));
    }
  };
  A._SplayTreeKeyIterator.prototype = {
    _getValue$1(node) {
      return node.key;
    }
  };
  A._SplayTreeValueIterator.prototype = {
    _getValue$1(node) {
      return node.value;
    }
  };
  A._SplayTreeMapEntryIterator.prototype = {
    _getValue$1(node) {
      return node;
    }
  };
  A.SplayTreeSet.prototype = {
    _newSet$1$0($T) {
      return A.SplayTreeSet$(new A.SplayTreeSet__newSet_closure(this, $T), this._validKey, $T);
    },
    _newSet$0() {
      return this._newSet$1$0(type$.dynamic);
    },
    cast$1$0(_, $R) {
      return A.Set_castFrom(this, this.get$_newSet(), this.$ti._precomputed1, $R);
    },
    get$iterator(_) {
      var t1 = this.$ti;
      return new A._SplayTreeKeyIterator(this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>"));
    },
    get$length(_) {
      return this._count;
    },
    get$isEmpty(_) {
      return this._collection$_root == null;
    },
    get$isNotEmpty(_) {
      return this._collection$_root != null;
    },
    get$first(_) {
      if (this._count === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      return this.get$_collection$_first().key;
    },
    get$last(_) {
      if (this._count === 0)
        throw A.wrapException(A.IterableElementError_noElement());
      return this.get$_collection$_last().key;
    },
    contains$1(_, element) {
      return this._validKey.call$1(element) && this._splay$1(this.$ti._precomputed1._as(element)) === 0;
    },
    add$1(_, element) {
      return this._add$1(0, element);
    },
    _add$1(_, element) {
      var compare = this._splay$1(element);
      if (compare === 0)
        return false;
      this._addNewRoot$2(new A._SplayTreeSetNode(element, this.$ti._eval$1("_SplayTreeSetNode<1>")), compare);
      return true;
    },
    remove$1(_, object) {
      if (!this._validKey.call$1(object))
        return false;
      return this._remove$1(0, this.$ti._precomputed1._as(object)) != null;
    },
    addAll$1(_, elements) {
      var t1;
      for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();)
        this._add$1(0, t1.get$current(t1));
    },
    removeAll$1(elements) {
      var t1, t2, _i, element;
      for (t1 = elements.length, t2 = this.$ti._precomputed1, _i = 0; _i < elements.length; elements.length === t1 || (0, A.throwConcurrentModificationError)(elements), ++_i) {
        element = elements[_i];
        if (this._validKey.call$1(element))
          this._remove$1(0, t2._as(element));
      }
    },
    intersection$1(_, other) {
      var element, _this = this,
        t1 = _this.$ti,
        result = A.SplayTreeSet$(_this._compare, _this._validKey, t1._precomputed1);
      for (t1 = new A._SplayTreeKeyIterator(_this, A._setArrayType([], t1._eval$1("JSArray<_SplayTreeSetNode<1>>")), _this._splayCount, t1._eval$1("@<1>")._bind$1(t1._eval$1("_SplayTreeSetNode<1>"))._eval$1("_SplayTreeKeyIterator<1,2>")); t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (other.contains$1(0, element))
          result._add$1(0, element);
      }
      return result;
    },
    _clone$0() {
      var _this = this,
        t1 = _this.$ti,
        set = A.SplayTreeSet$(_this._compare, _this._validKey, t1._precomputed1);
      set._count = _this._count;
      set._collection$_root = _this._copyNode$1$1(_this._collection$_root, t1._eval$1("_SplayTreeSetNode<1>"));
      return set;
    },
    _copyNode$1$1(node, $Node) {
      var result;
      if (node == null)
        return null;
      result = new A._SplayTreeSetNode(node.key, this.$ti._eval$1("_SplayTreeSetNode<1>"));
      new A.SplayTreeSet__copyNode_copyChildren(this, $Node).call$2(node, result);
      return result;
    },
    toSet$0(_) {
      return this._clone$0();
    },
    toString$0(_) {
      return A.IterableBase_iterableToFullString(this, "{", "}");
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isSet: 1,
    _compare$2(arg0, arg1) {
      return this._compare.call$2(arg0, arg1);
    },
    _validKey$1(arg0) {
      return this._validKey.call$1(arg0);
    },
    get$_collection$_root() {
      return this._collection$_root;
    },
    get$_compare() {
      return this._compare;
    },
    set$_collection$_root(val) {
      return this._collection$_root = val;
    }
  };
  A.SplayTreeSet_closure.prototype = {
    call$1(v) {
      return this.E._is(v);
    },
    $signature: 63
  };
  A.SplayTreeSet__newSet_closure.prototype = {
    call$2(a, b) {
      var t1 = this.$this,
        t2 = t1.$ti._precomputed1;
      t2._as(a);
      t2._as(b);
      return t1._compare.call$2(a, b);
    },
    $signature() {
      return this.T._eval$1("int(0,0)");
    }
  };
  A.SplayTreeSet__copyNode_copyChildren.prototype = {
    call$2(node, dest) {
      var left, right, newLeft, t2, newRight,
        t1 = this.$this.$ti._eval$1("_SplayTreeSetNode<1>");
      do {
        left = node._collection$_left;
        right = node._collection$_right;
        if (left != null) {
          newLeft = new A._SplayTreeSetNode(left.key, t1);
          dest._collection$_left = newLeft;
          this.call$2(left, newLeft);
        }
        t2 = right != null;
        if (t2) {
          newRight = new A._SplayTreeSetNode(right.key, t1);
          dest._collection$_right = newRight;
          dest = newRight;
          node = right;
        }
      } while (t2);
    },
    $signature() {
      return this.$this.$ti._bind$1(this.Node)._eval$1("~(1,_SplayTreeSetNode<2>)");
    }
  };
  A._ListBase_Object_ListMixin.prototype = {};
  A._SplayTreeMap__SplayTree_MapMixin.prototype = {};
  A._SplayTreeSet__SplayTree_IterableMixin.prototype = {};
  A._SplayTreeSet__SplayTree_IterableMixin_SetMixin.prototype = {};
  A._UnmodifiableMapView_MapView__UnmodifiableMapMixin.prototype = {};
  A.__SetBase_Object_SetMixin.prototype = {};
  A.__UnmodifiableSet__SetBase__UnmodifiableSetMixin.prototype = {};
  A._JsonMap.prototype = {
    $index(_, key) {
      var result,
        t1 = this._processed;
      if (t1 == null)
        return this._data.$index(0, key);
      else if (typeof key != "string")
        return null;
      else {
        result = t1[key];
        return typeof result == "undefined" ? this._process$1(key) : result;
      }
    },
    get$length(_) {
      return this._processed == null ? this._data._length : this._convert$_computeKeys$0().length;
    },
    get$isEmpty(_) {
      return this.get$length(this) === 0;
    },
    get$isNotEmpty(_) {
      return this.get$length(this) > 0;
    },
    get$keys(_) {
      var t1;
      if (this._processed == null) {
        t1 = this._data;
        return new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
      }
      return new A._JsonMapKeyIterable(this);
    },
    get$values(_) {
      var t1, _this = this;
      if (_this._processed == null) {
        t1 = _this._data;
        return t1.get$values(t1);
      }
      return A.MappedIterable_MappedIterable(_this._convert$_computeKeys$0(), new A._JsonMap_values_closure(_this), type$.String, type$.dynamic);
    },
    $indexSet(_, key, value) {
      var processed, original, _this = this;
      if (_this._processed == null)
        _this._data.$indexSet(0, key, value);
      else if (_this.containsKey$1(0, key)) {
        processed = _this._processed;
        processed[key] = value;
        original = _this._original;
        if (original == null ? processed != null : original !== processed)
          original[key] = null;
      } else
        _this._upgrade$0().$indexSet(0, key, value);
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A._JsonMap_addAll_closure(this));
    },
    containsKey$1(_, key) {
      if (this._processed == null)
        return this._data.containsKey$1(0, key);
      if (typeof key != "string")
        return false;
      return Object.prototype.hasOwnProperty.call(this._original, key);
    },
    putIfAbsent$2(_, key, ifAbsent) {
      var value;
      if (this.containsKey$1(0, key))
        return this.$index(0, key);
      value = ifAbsent.call$0();
      this.$indexSet(0, key, value);
      return value;
    },
    remove$1(_, key) {
      if (this._processed != null && !this.containsKey$1(0, key))
        return null;
      return this._upgrade$0().remove$1(0, key);
    },
    clear$0(_) {
      var t1, _this = this;
      if (_this._processed == null)
        _this._data.clear$0(0);
      else {
        t1 = _this._data;
        if (t1 != null)
          J.clear$0$ax(t1);
        _this._original = _this._processed = null;
        t1 = type$.dynamic;
        _this._data = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
    },
    forEach$1(_, f) {
      var keys, i, key, value, _this = this;
      if (_this._processed == null)
        return _this._data.forEach$1(0, f);
      keys = _this._convert$_computeKeys$0();
      for (i = 0; i < keys.length; ++i) {
        key = keys[i];
        value = _this._processed[key];
        if (typeof value == "undefined") {
          value = A._convertJsonToDartLazy(_this._original[key]);
          _this._processed[key] = value;
        }
        f.call$2(key, value);
        if (keys !== _this._data)
          throw A.wrapException(A.ConcurrentModificationError$(_this));
      }
    },
    _convert$_computeKeys$0() {
      var keys = this._data;
      if (keys == null)
        keys = this._data = A._setArrayType(Object.keys(this._original), type$.JSArray_String);
      return keys;
    },
    _upgrade$0() {
      var result, keys, i, t1, key, _this = this;
      if (_this._processed == null)
        return _this._data;
      result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      keys = _this._convert$_computeKeys$0();
      for (i = 0; t1 = keys.length, i < t1; ++i) {
        key = keys[i];
        result.$indexSet(0, key, _this.$index(0, key));
      }
      if (t1 === 0)
        keys.push("");
      else
        B.JSArray_methods.clear$0(keys);
      _this._original = _this._processed = null;
      return _this._data = result;
    },
    _process$1(key) {
      var result;
      if (!Object.prototype.hasOwnProperty.call(this._original, key))
        return null;
      result = A._convertJsonToDartLazy(this._original[key]);
      return this._processed[key] = result;
    }
  };
  A._JsonMap_values_closure.prototype = {
    call$1(each) {
      return this.$this.$index(0, each);
    },
    $signature: 213
  };
  A._JsonMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
    },
    $signature: 30
  };
  A._JsonMapKeyIterable.prototype = {
    get$length(_) {
      var t1 = this._parent;
      return t1.get$length(t1);
    },
    elementAt$1(_, index) {
      var t1 = this._parent;
      return t1._processed == null ? t1.get$keys(t1).elementAt$1(0, index) : t1._convert$_computeKeys$0()[index];
    },
    get$iterator(_) {
      var t1 = this._parent;
      if (t1._processed == null) {
        t1 = t1.get$keys(t1);
        t1 = t1.get$iterator(t1);
      } else {
        t1 = t1._convert$_computeKeys$0();
        t1 = new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
      }
      return t1;
    },
    contains$1(_, key) {
      return this._parent.containsKey$1(0, key);
    }
  };
  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: 92
  };
  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: 92
  };
  A.AsciiCodec.prototype = {
    get$name(_) {
      return "us-ascii";
    },
    encode$1(source) {
      return B.AsciiEncoder_127.convert$1(source);
    },
    decode$2$allowInvalid(_, bytes, allowInvalid) {
      var t1 = B.AsciiDecoder_false_127.convert$1(bytes);
      return t1;
    },
    decode$1($receiver, bytes) {
      return this.decode$2$allowInvalid($receiver, bytes, null);
    },
    get$encoder() {
      return B.AsciiEncoder_127;
    },
    get$decoder() {
      return B.AsciiDecoder_false_127;
    }
  };
  A._UnicodeSubsetEncoder.prototype = {
    convert$1(string) {
      var t1, i, codeUnit,
        $length = A.RangeError_checkValidRange(0, null, string.length, null, null) - 0,
        result = new Uint8Array($length);
      for (t1 = ~this._subsetMask, i = 0; i < $length; ++i) {
        codeUnit = B.JSString_methods._codeUnitAt$1(string, i);
        if ((codeUnit & t1) !== 0)
          throw A.wrapException(A.ArgumentError$value(string, "string", "Contains invalid characters."));
        result[i] = codeUnit;
      }
      return result;
    }
  };
  A.AsciiEncoder.prototype = {};
  A._UnicodeSubsetDecoder.prototype = {
    convert$1(bytes) {
      var t2, i, byte, _null = null,
        t1 = J.getInterceptor$asx(bytes),
        end = A.RangeError_checkValidRange(0, _null, t1.get$length(bytes), _null, _null);
      for (t2 = ~this._subsetMask, i = 0; i < end; ++i) {
        byte = t1.$index(bytes, i);
        if ((byte & t2) >>> 0 !== 0) {
          if (!this._allowInvalid)
            throw A.wrapException(A.FormatException$("Invalid value in input: " + A.S(byte), _null, _null));
          return this._convertInvalid$3(bytes, 0, end);
        }
      }
      return A.String_String$fromCharCodes(bytes, 0, end);
    },
    _convertInvalid$3(bytes, start, end) {
      var t1, t2, i, t3, value;
      for (t1 = ~this._subsetMask, t2 = J.getInterceptor$asx(bytes), i = start, t3 = ""; i < end; ++i) {
        value = t2.$index(bytes, i);
        t3 += A.Primitives_stringFromCharCode((value & t1) >>> 0 !== 0 ? 65533 : value);
      }
      return t3.charCodeAt(0) == 0 ? t3 : t3;
    }
  };
  A.AsciiDecoder.prototype = {};
  A.Base64Codec.prototype = {
    get$encoder() {
      return B.C_Base64Encoder;
    },
    normalize$3(_, source, start, end) {
      var inverseAlphabet, i, sliceStart, buffer, firstPadding, firstPaddingSourceIndex, paddingCount, i0, char, i1, char0, value, t1, t2, endLength, $length, _null = null,
        _s31_ = "Invalid base64 encoding length ";
      end = A.RangeError_checkValidRange(start, end, source.length, _null, _null);
      inverseAlphabet = $.$get$_Base64Decoder__inverseAlphabet();
      for (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) {
            char0 = A.parseHexByte(source, i0);
            if (char0 === 37)
              char0 = -1;
            i0 = i1;
          } else
            char0 = -1;
        } else
          char0 = char;
        if (0 <= char0 && char0 <= 127) {
          value = inverseAlphabet[char0];
          if (value >= 0) {
            char0 = B.JSString_methods.codeUnitAt$1(string$.ABCDEF, value);
            if (char0 === char)
              continue;
            char = char0;
          } else {
            if (value === -1) {
              if (firstPadding < 0) {
                t1 = buffer == null ? _null : buffer._contents.length;
                if (t1 == null)
                  t1 = 0;
                firstPadding = t1 + (i - sliceStart);
                firstPaddingSourceIndex = i;
              }
              ++paddingCount;
              if (char === 61)
                continue;
            }
            char = char0;
          }
          if (value !== -2) {
            if (buffer == null) {
              buffer = new A.StringBuffer("");
              t1 = buffer;
            } else
              t1 = buffer;
            t2 = t1._contents += B.JSString_methods.substring$2(source, sliceStart, i);
            t1._contents = t2 + 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 = {
    convert$1(input) {
      var t1 = J.getInterceptor$asx(input);
      if (t1.get$isEmpty(input))
        return "";
      t1 = new A._Base64Encoder(string$.ABCDEF).encode$4(input, 0, t1.get$length(input), true);
      t1.toString;
      return A.String_String$fromCharCodes(t1, 0, null);
    }
  };
  A._Base64Encoder.prototype = {
    createBuffer$1(_, bufferLength) {
      return new Uint8Array(bufferLength);
    },
    encode$4(bytes, start, end, isLast) {
      var output, _this = this,
        byteCount = (_this._convert$_state & 3) + (end - start),
        fullChunks = B.JSInt_methods._tdivFast$1(byteCount, 3),
        bufferLength = fullChunks * 4;
      if (isLast && byteCount - fullChunks * 3 > 0)
        bufferLength += 4;
      output = _this.createBuffer$1(0, bufferLength);
      _this._convert$_state = A._Base64Encoder_encodeChunk(_this._alphabet, bytes, start, end, isLast, output, 0, _this._convert$_state);
      if (bufferLength > 0)
        return output;
      return null;
    }
  };
  A.Base64Decoder.prototype = {
    convert$2(input, start) {
      var decoder, t1,
        end = A.RangeError_checkValidRange(start, null, input.length, null, null);
      if (start === end)
        return new Uint8Array(0);
      decoder = new A._Base64Decoder();
      t1 = decoder.decode$3(0, input, start, end);
      t1.toString;
      decoder.close$2(0, input, end);
      return t1;
    },
    convert$1(input) {
      return this.convert$2(input, 0);
    }
  };
  A._Base64Decoder.prototype = {
    decode$3(_, input, start, end) {
      var buffer, _this = this,
        t1 = _this._convert$_state;
      if (t1 < 0) {
        _this._convert$_state = A._Base64Decoder__checkPadding(input, start, end, t1);
        return null;
      }
      if (start === end)
        return new Uint8Array(0);
      buffer = A._Base64Decoder__allocateBuffer(input, start, end, t1);
      _this._convert$_state = A._Base64Decoder_decodeChunk(input, start, end, buffer, 0, _this._convert$_state);
      return buffer;
    },
    close$2(_, input, end) {
      var t1 = this._convert$_state;
      if (t1 < -1)
        throw A.wrapException(A.FormatException$("Missing padding character", input, end));
      if (t1 > 0)
        throw A.wrapException(A.FormatException$("Invalid length, must be multiple of four", input, end));
      this._convert$_state = -1;
    }
  };
  A.ByteConversionSink.prototype = {};
  A.ByteConversionSinkBase.prototype = {};
  A._ByteCallbackSink.prototype = {
    add$1(_, chunk) {
      var v, grown, _this = this,
        t1 = _this._buffer,
        t2 = _this._bufferIndex,
        t3 = J.getInterceptor$asx(chunk);
      if (t3.get$length(chunk) > t1.length - t2) {
        t1 = _this._buffer;
        v = t3.get$length(chunk) + t1.length - 1;
        v |= B.JSInt_methods._shrOtherPositive$1(v, 1);
        v |= v >>> 2;
        v |= v >>> 4;
        v |= v >>> 8;
        grown = new Uint8Array((((v | v >>> 16) >>> 0) + 1) * 2);
        t1 = _this._buffer;
        B.NativeUint8List_methods.setRange$3(grown, 0, t1.length, t1);
        _this._buffer = grown;
      }
      t1 = _this._buffer;
      t2 = _this._bufferIndex;
      B.NativeUint8List_methods.setRange$3(t1, t2, t2 + t3.get$length(chunk), chunk);
      _this._bufferIndex = _this._bufferIndex + t3.get$length(chunk);
    },
    close$0(_) {
      this._convert$_callback.call$1(B.NativeUint8List_methods.sublist$2(this._buffer, 0, this._bufferIndex));
    }
  };
  A.ChunkedConversionSink.prototype = {};
  A.Codec0.prototype = {
    encode$1(input) {
      return this.get$encoder().convert$1(input);
    }
  };
  A.Converter.prototype = {
    cast$2$0(_, RS, RT) {
      var t1 = A._instanceType(this);
      return new A.CastConverter(this, t1._eval$1("@<Converter.S>")._bind$1(t1._eval$1("Converter.T"))._bind$1(RS)._bind$1(RT)._eval$1("CastConverter<1,2,3,4>"));
    }
  };
  A.Encoding.prototype = {};
  A.JsonUnsupportedObjectError.prototype = {
    toString$0(_) {
      var safeString = A.Error_safeToString(this.unsupportedObject);
      return (this.cause != null ? "Converting object to an encodable object failed:" : "Converting object did not return an encodable object:") + " " + safeString;
    }
  };
  A.JsonCyclicError.prototype = {
    toString$0(_) {
      return "Cyclic error in JSON stringify";
    }
  };
  A.JsonCodec.prototype = {
    decode$2$reviver(_, source, reviver) {
      var t1 = A._parseJson(source, this.get$decoder()._reviver);
      return t1;
    },
    decode$1($receiver, source) {
      return this.decode$2$reviver($receiver, source, null);
    },
    encode$2$toEncodable(value, toEncodable) {
      var t1;
      if (toEncodable == null)
        toEncodable = null;
      if (toEncodable == null) {
        t1 = this.get$encoder();
        return A._JsonStringStringifier_stringify(value, t1._toEncodable, t1.indent);
      }
      return A._JsonStringStringifier_stringify(value, toEncodable, null);
    },
    encode$1(value) {
      return this.encode$2$toEncodable(value, null);
    },
    get$encoder() {
      return B.JsonEncoder_null_null;
    },
    get$decoder() {
      return B.JsonDecoder_null;
    }
  };
  A.JsonEncoder.prototype = {
    convert$1(object) {
      var t1,
        output = new A.StringBuffer("");
      A._JsonStringStringifier_printOn(object, output, this._toEncodable, this.indent);
      t1 = output._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.JsonDecoder.prototype = {
    convert$1(input) {
      return A._parseJson(input, this._reviver);
    }
  };
  A._JsonStringifier.prototype = {
    writeStringContent$1(s) {
      var offset, i, charCode, t1, t2, _this = this,
        $length = s.length;
      for (offset = 0, i = 0; i < $length; ++i) {
        charCode = B.JSString_methods._codeUnitAt$1(s, i);
        if (charCode > 92) {
          if (charCode >= 55296) {
            t1 = charCode & 64512;
            if (t1 === 55296) {
              t2 = i + 1;
              t2 = !(t2 < $length && (B.JSString_methods._codeUnitAt$1(s, t2) & 64512) === 56320);
            } else
              t2 = false;
            if (!t2)
              if (t1 === 56320) {
                t1 = i - 1;
                t1 = !(t1 >= 0 && (B.JSString_methods.codeUnitAt$1(s, t1) & 64512) === 55296);
              } else
                t1 = false;
            else
              t1 = true;
            if (t1) {
              if (i > offset)
                _this.writeStringSlice$3(s, offset, i);
              offset = i + 1;
              _this.writeCharCode$1(92);
              _this.writeCharCode$1(117);
              _this.writeCharCode$1(100);
              t1 = charCode >>> 8 & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              t1 = charCode >>> 4 & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              t1 = charCode & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
            }
          }
          continue;
        }
        if (charCode < 32) {
          if (i > offset)
            _this.writeStringSlice$3(s, offset, i);
          offset = i + 1;
          _this.writeCharCode$1(92);
          switch (charCode) {
            case 8:
              _this.writeCharCode$1(98);
              break;
            case 9:
              _this.writeCharCode$1(116);
              break;
            case 10:
              _this.writeCharCode$1(110);
              break;
            case 12:
              _this.writeCharCode$1(102);
              break;
            case 13:
              _this.writeCharCode$1(114);
              break;
            default:
              _this.writeCharCode$1(117);
              _this.writeCharCode$1(48);
              _this.writeCharCode$1(48);
              t1 = charCode >>> 4 & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              t1 = charCode & 15;
              _this.writeCharCode$1(t1 < 10 ? 48 + t1 : 87 + t1);
              break;
          }
        } else if (charCode === 34 || charCode === 92) {
          if (i > offset)
            _this.writeStringSlice$3(s, offset, i);
          offset = i + 1;
          _this.writeCharCode$1(92);
          _this.writeCharCode$1(charCode);
        }
      }
      if (offset === 0)
        _this.writeString$1(s);
      else if (offset < $length)
        _this.writeStringSlice$3(s, offset, $length);
    },
    _checkCycle$1(object) {
      var t1, t2, i, t3;
      for (t1 = this._seen, t2 = t1.length, i = 0; i < t2; ++i) {
        t3 = t1[i];
        if (object == null ? t3 == null : object === t3)
          throw A.wrapException(new A.JsonCyclicError(object, null));
      }
      t1.push(object);
    },
    writeObject$1(object) {
      var customJson, e, t1, exception, _this = this;
      if (_this.writeJsonValue$1(object))
        return;
      _this._checkCycle$1(object);
      try {
        customJson = _this._toEncodable.call$1(object);
        if (!_this.writeJsonValue$1(customJson)) {
          t1 = A.JsonUnsupportedObjectError$(object, null, _this.get$_partialResult());
          throw A.wrapException(t1);
        }
        _this._seen.pop();
      } catch (exception) {
        e = A.unwrapException(exception);
        t1 = A.JsonUnsupportedObjectError$(object, e, _this.get$_partialResult());
        throw A.wrapException(t1);
      }
    },
    writeJsonValue$1(object) {
      var success, _this = this;
      if (typeof object == "number") {
        if (!isFinite(object))
          return false;
        _this.writeNumber$1(object);
        return true;
      } else if (object === true) {
        _this.writeString$1("true");
        return true;
      } else if (object === false) {
        _this.writeString$1("false");
        return true;
      } else if (object == null) {
        _this.writeString$1("null");
        return true;
      } else if (typeof object == "string") {
        _this.writeString$1('"');
        _this.writeStringContent$1(object);
        _this.writeString$1('"');
        return true;
      } else if (type$.List_dynamic._is(object)) {
        _this._checkCycle$1(object);
        _this.writeList$1(object);
        _this._seen.pop();
        return true;
      } else if (type$.Map_dynamic_dynamic._is(object)) {
        _this._checkCycle$1(object);
        success = _this.writeMap$1(object);
        _this._seen.pop();
        return success;
      } else
        return false;
    },
    writeList$1(list) {
      var t1, i, _this = this;
      _this.writeString$1("[");
      t1 = J.getInterceptor$asx(list);
      if (t1.get$isNotEmpty(list)) {
        _this.writeObject$1(t1.$index(list, 0));
        for (i = 1; i < t1.get$length(list); ++i) {
          _this.writeString$1(",");
          _this.writeObject$1(t1.$index(list, i));
        }
      }
      _this.writeString$1("]");
    },
    writeMap$1(map) {
      var t2, keyValueList, i, separator, _this = this, _box_0 = {},
        t1 = J.getInterceptor$asx(map);
      if (t1.get$isEmpty(map)) {
        _this.writeString$1("{}");
        return true;
      }
      t2 = t1.get$length(map) * 2;
      keyValueList = A.List_List$filled(t2, null, false, type$.nullable_Object);
      i = _box_0.i = 0;
      _box_0.allStringKeys = true;
      t1.forEach$1(map, new A._JsonStringifier_writeMap_closure(_box_0, keyValueList));
      if (!_box_0.allStringKeys)
        return false;
      _this.writeString$1("{");
      for (separator = '"'; i < t2; i += 2, separator = ',"') {
        _this.writeString$1(separator);
        _this.writeStringContent$1(A._asString(keyValueList[i]));
        _this.writeString$1('":');
        _this.writeObject$1(keyValueList[i + 1]);
      }
      _this.writeString$1("}");
      return true;
    }
  };
  A._JsonStringifier_writeMap_closure.prototype = {
    call$2(key, value) {
      var t1, t2, t3, i;
      if (typeof key != "string")
        this._box_0.allStringKeys = false;
      t1 = this.keyValueList;
      t2 = this._box_0;
      t3 = t2.i;
      i = t2.i = t3 + 1;
      t1[t3] = key;
      t2.i = i + 1;
      t1[i] = value;
    },
    $signature: 105
  };
  A._JsonPrettyPrintMixin.prototype = {
    writeList$1(list) {
      var i, _this = this,
        t1 = J.getInterceptor$asx(list);
      if (t1.get$isEmpty(list))
        _this.writeString$1("[]");
      else {
        _this.writeString$1("[\n");
        _this.writeIndentation$1(++_this._JsonPrettyPrintMixin__indentLevel);
        _this.writeObject$1(t1.$index(list, 0));
        for (i = 1; i < t1.get$length(list); ++i) {
          _this.writeString$1(",\n");
          _this.writeIndentation$1(_this._JsonPrettyPrintMixin__indentLevel);
          _this.writeObject$1(t1.$index(list, i));
        }
        _this.writeString$1("\n");
        _this.writeIndentation$1(--_this._JsonPrettyPrintMixin__indentLevel);
        _this.writeString$1("]");
      }
    },
    writeMap$1(map) {
      var t2, keyValueList, i, separator, _this = this, _box_0 = {},
        t1 = J.getInterceptor$asx(map);
      if (t1.get$isEmpty(map)) {
        _this.writeString$1("{}");
        return true;
      }
      t2 = t1.get$length(map) * 2;
      keyValueList = A.List_List$filled(t2, null, false, type$.nullable_Object);
      i = _box_0.i = 0;
      _box_0.allStringKeys = true;
      t1.forEach$1(map, new A._JsonPrettyPrintMixin_writeMap_closure(_box_0, keyValueList));
      if (!_box_0.allStringKeys)
        return false;
      _this.writeString$1("{\n");
      ++_this._JsonPrettyPrintMixin__indentLevel;
      for (separator = ""; i < t2; i += 2, separator = ",\n") {
        _this.writeString$1(separator);
        _this.writeIndentation$1(_this._JsonPrettyPrintMixin__indentLevel);
        _this.writeString$1('"');
        _this.writeStringContent$1(A._asString(keyValueList[i]));
        _this.writeString$1('": ');
        _this.writeObject$1(keyValueList[i + 1]);
      }
      _this.writeString$1("\n");
      _this.writeIndentation$1(--_this._JsonPrettyPrintMixin__indentLevel);
      _this.writeString$1("}");
      return true;
    }
  };
  A._JsonPrettyPrintMixin_writeMap_closure.prototype = {
    call$2(key, value) {
      var t1, t2, t3, i;
      if (typeof key != "string")
        this._box_0.allStringKeys = false;
      t1 = this.keyValueList;
      t2 = this._box_0;
      t3 = t2.i;
      i = t2.i = t3 + 1;
      t1[t3] = key;
      t2.i = i + 1;
      t1[i] = value;
    },
    $signature: 105
  };
  A._JsonStringStringifier.prototype = {
    get$_partialResult() {
      var t1 = this._sink;
      return t1 instanceof A.StringBuffer ? t1.toString$0(0) : null;
    },
    writeNumber$1(number) {
      this._sink.write$1(0, B.JSNumber_methods.toString$0(number));
    },
    writeString$1(string) {
      this._sink.write$1(0, string);
    },
    writeStringSlice$3(string, start, end) {
      this._sink.write$1(0, B.JSString_methods.substring$2(string, start, end));
    },
    writeCharCode$1(charCode) {
      this._sink.writeCharCode$1(charCode);
    }
  };
  A._JsonStringStringifierPretty.prototype = {
    writeIndentation$1(count) {
      var t1, t2, i;
      for (t1 = this._indent, t2 = this._sink, i = 0; i < count; ++i)
        t2.write$1(0, t1);
    }
  };
  A.Latin1Codec.prototype = {
    get$name(_) {
      return "iso-8859-1";
    },
    encode$1(source) {
      return B.Latin1Encoder_255.convert$1(source);
    },
    decode$2$allowInvalid(_, bytes, allowInvalid) {
      var t1 = B.Latin1Decoder_false_255.convert$1(bytes);
      return t1;
    },
    decode$1($receiver, bytes) {
      return this.decode$2$allowInvalid($receiver, bytes, null);
    },
    get$encoder() {
      return B.Latin1Encoder_255;
    },
    get$decoder() {
      return B.Latin1Decoder_false_255;
    }
  };
  A.Latin1Encoder.prototype = {};
  A.Latin1Decoder.prototype = {};
  A.LineSplitter.prototype = {
    convert$1(data) {
      var sliceStart, char, i, char0,
        lines = A._setArrayType([], type$.JSArray_String),
        end = data.length;
      for (sliceStart = 0, char = 0, i = 0; i < end; ++i, char = char0) {
        char0 = B.JSString_methods._codeUnitAt$1(data, i);
        if (char0 !== 13) {
          if (char0 !== 10)
            continue;
          if (char === 13) {
            sliceStart = i + 1;
            continue;
          }
        }
        lines.push(B.JSString_methods.substring$2(data, sliceStart, i));
        sliceStart = i + 1;
      }
      if (sliceStart < end)
        lines.push(B.JSString_methods.substring$2(data, sliceStart, end));
      return lines;
    }
  };
  A.Utf8Codec.prototype = {
    get$name(_) {
      return "utf-8";
    },
    decode$2$allowMalformed(_, codeUnits, allowMalformed) {
      return ((allowMalformed == null ? this._allowMalformed : allowMalformed) ? B.Utf8Decoder_true : B.Utf8Decoder_false).convert$1(codeUnits);
    },
    decode$1($receiver, codeUnits) {
      return this.decode$2$allowMalformed($receiver, codeUnits, null);
    },
    get$encoder() {
      return B.C_Utf8Encoder;
    },
    get$decoder() {
      return this._allowMalformed ? B.Utf8Decoder_true : B.Utf8Decoder_false;
    }
  };
  A.Utf8Encoder.prototype = {
    convert$1(string) {
      var t1, encoder,
        end = A.RangeError_checkValidRange(0, null, string.length, null, null),
        $length = end - 0;
      if ($length === 0)
        return new Uint8Array(0);
      t1 = new Uint8Array($length * 3);
      encoder = new A._Utf8Encoder(t1);
      if (encoder._fillBuffer$3(string, 0, end) !== end) {
        B.JSString_methods.codeUnitAt$1(string, end - 1);
        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;
      t1[t2] = 239;
      t2 = _this._bufferIndex = t3 + 1;
      t1[t3] = 191;
      _this._bufferIndex = t2 + 1;
      t1[t2] = 189;
    },
    _writeSurrogate$2(leadingSurrogate, nextCodeUnit) {
      var rune, t1, t2, t3, _this = this;
      if ((nextCodeUnit & 64512) === 56320) {
        rune = 65536 + ((leadingSurrogate & 1023) << 10) | nextCodeUnit & 1023;
        t1 = _this._buffer;
        t2 = _this._bufferIndex;
        t3 = _this._bufferIndex = t2 + 1;
        t1[t2] = rune >>> 18 | 240;
        t2 = _this._bufferIndex = t3 + 1;
        t1[t3] = rune >>> 12 & 63 | 128;
        t3 = _this._bufferIndex = t2 + 1;
        t1[t2] = rune >>> 6 & 63 | 128;
        _this._bufferIndex = t3 + 1;
        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;
            t1[t3] = codeUnit >>> 6 | 192;
            _this._bufferIndex = t4 + 1;
            t1[t4] = codeUnit & 63 | 128;
          } else {
            t3 = _this._bufferIndex;
            if (t3 + 2 >= t2)
              break;
            t4 = _this._bufferIndex = t3 + 1;
            t1[t3] = codeUnit >>> 12 | 224;
            t3 = _this._bufferIndex = t4 + 1;
            t1[t4] = codeUnit >>> 6 & 63 | 128;
            _this._bufferIndex = t3 + 1;
            t1[t3] = codeUnit & 63 | 128;
          }
        }
      }
      return stringIndex;
    }
  };
  A.Utf8Decoder.prototype = {
    convert$1(codeUnits) {
      var t1 = this._allowMalformed,
        result = A.Utf8Decoder__convertIntercepted(t1, codeUnits, 0, null);
      if (result != null)
        return result;
      return new A._Utf8Decoder(t1).convertGeneral$4(codeUnits, 0, null, true);
    }
  };
  A._Utf8Decoder.prototype = {
    convertGeneral$4(codeUnits, start, maybeEnd, single) {
      var bytes, errorOffset, result, t1, message, _this = this,
        end = A.RangeError_checkValidRange(start, maybeEnd, J.get$length$asx(codeUnits), null, null);
      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 t1, type, t2, i0, markEnd, i1, m, _this = this, _65533 = 65533,
        state = _this._convert$_state,
        char = _this._charOrIndex,
        buffer = new A.StringBuffer(""),
        i = start + 1,
        byte = bytes[start];
      $label0$0:
        for (t1 = _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 (t1)
                switch (state) {
                  case 69:
                  case 67:
                    buffer._contents += A.Primitives_stringFromCharCode(_65533);
                    break;
                  case 65:
                    buffer._contents += A.Primitives_stringFromCharCode(_65533);
                    --i;
                    break;
                  default:
                    t2 = buffer._contents += A.Primitives_stringFromCharCode(_65533);
                    buffer._contents = t2 + 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;
            byte = bytes[i];
          }
          i0 = i + 1;
          byte = bytes[i];
          if (byte < 128) {
            while (true) {
              if (!(i0 < end)) {
                markEnd = end;
                break;
              }
              i1 = i0 + 1;
              byte = bytes[i0];
              if (byte >= 128) {
                markEnd = i1 - 1;
                i0 = i1;
                break;
              }
              i0 = i1;
            }
            if (markEnd - i < 20)
              for (m = i; m < markEnd; ++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 (t1)
          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.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin.prototype = {};
  A.NoSuchMethodError_toString_closure.prototype = {
    call$2(key, value) {
      var t1 = this.sb,
        t2 = this._box_0,
        t3 = t1._contents += t2.comma;
      t3 += key._name;
      t1._contents = t3;
      t1._contents = t3 + ": ";
      t1._contents += A.Error_safeToString(value);
      t2.comma = ", ";
    },
    $signature: 361
  };
  A.Comparable.prototype = {};
  A.DateTime.prototype = {
    add$1(_, duration) {
      return A.DateTime$_withValue(this._value + B.JSInt_methods._tdivFast$1(duration._duration, 1000), this.isUtc);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.DateTime && this._value === other._value && this.isUtc === other.isUtc;
    },
    compareTo$1(_, other) {
      return B.JSInt_methods.compareTo$1(this._value, other._value);
    },
    DateTime$_withValue$2$isUtc(_value, isUtc) {
      var t2,
        t1 = this._value;
      if (Math.abs(t1) <= 864e13)
        t2 = false;
      else
        t2 = true;
      if (t2)
        throw A.wrapException(A.ArgumentError$("DateTime is outside valid range: " + t1, null));
      A.checkNotNullable(this.isUtc, "isUtc", type$.bool);
    },
    get$hashCode(_) {
      var t1 = this._value;
      return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823;
    },
    toLocal$0() {
      if (this.isUtc)
        return A.DateTime$_withValue(this._value, false);
      return this;
    },
    toUtc$0() {
      if (this.isUtc)
        return this;
      return A.DateTime$_withValue(this._value, true);
    },
    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.DateTime_parse_parseIntOrZero.prototype = {
    call$1(matched) {
      if (matched == null)
        return 0;
      return A.int_parse(matched, null);
    },
    $signature: 355
  };
  A.DateTime_parse_parseMilliAndMicroseconds.prototype = {
    call$1(matched) {
      var t1, result, i;
      if (matched == null)
        return 0;
      for (t1 = matched.length, result = 0, i = 0; i < 6; ++i) {
        result *= 10;
        if (i < t1)
          result += B.JSString_methods._codeUnitAt$1(matched, i) ^ 48;
      }
      return result;
    },
    $signature: 355
  };
  A.Duration.prototype = {
    $add(_, other) {
      return new A.Duration(this._duration + other._duration);
    },
    $sub(_, other) {
      return new A.Duration(this._duration - other._duration);
    },
    $mul(_, factor) {
      return new A.Duration(B.JSNumber_methods.round$0(this._duration * factor));
    },
    $tdiv(_, quotient) {
      if (quotient === 0)
        throw A.wrapException(new A.IntegerDivisionByZeroException());
      return new A.Duration(B.JSInt_methods.$tdiv(this._duration, quotient));
    },
    $lt(_, other) {
      return this._duration < other._duration;
    },
    $gt(_, other) {
      return this._duration > other._duration;
    },
    get$inMinutes() {
      return B.JSInt_methods._tdivFast$1(this._duration, 60000000);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Duration && this._duration === other._duration;
    },
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this._duration);
    },
    compareTo$1(_, other) {
      return B.JSInt_methods.compareTo$1(this._duration, other._duration);
    },
    toString$0(_) {
      var minutes, minutesPadding, seconds, secondsPadding,
        microseconds = this._duration,
        sign = microseconds < 0 ? "-" : "",
        hours = B.JSInt_methods._tdivFast$1(microseconds, 3600000000);
      microseconds %= 3600000000;
      if (microseconds < 0)
        microseconds = -microseconds;
      minutes = B.JSInt_methods._tdivFast$1(microseconds, 60000000);
      microseconds %= 60000000;
      minutesPadding = minutes < 10 ? "0" : "";
      seconds = B.JSInt_methods._tdivFast$1(microseconds, 1000000);
      secondsPadding = seconds < 10 ? "0" : "";
      return sign + Math.abs(hours) + ":" + minutesPadding + minutes + ":" + secondsPadding + seconds + "." + B.JSString_methods.padLeft$2(B.JSInt_methods.toString$0(microseconds % 1000000), 6, "0");
    },
    $isComparable: 1
  };
  A._Enum.prototype = {$isEnum: 1};
  A.Error0.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";
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.TypeError.prototype = {};
  A.NullThrownError.prototype = {
    toString$0(_) {
      return "Throw of null.";
    }
  };
  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.invalidValue);
    },
    get$name(receiver) {
      return this.name;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.RangeError.prototype = {
    get$_errorName() {
      return "RangeError";
    },
    get$_errorExplanation() {
      var explanation,
        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$_errorName() {
      return "RangeError";
    },
    get$_errorExplanation() {
      if (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.FallThroughError.prototype = {
    toString$0(_) {
      return this.super$Object$toString(0);
    }
  };
  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._memberName._name + "'\nReceiver: " + receiverText + "\nArguments: [" + actualParameters + "]";
    }
  };
  A.UnsupportedError.prototype = {
    toString$0(_) {
      return "Unsupported operation: " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.UnimplementedError.prototype = {
    toString$0(_) {
      var message = this.message;
      return message != null ? "UnimplementedError: " + message : "UnimplementedError";
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.StateError.prototype = {
    toString$0(_) {
      return "Bad state: " + this.message;
    },
    get$message(receiver) {
      return 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;
    },
    $isError0: 1
  };
  A.StackOverflowError.prototype = {
    toString$0(_) {
      return "Stack Overflow";
    },
    get$stackTrace() {
      return null;
    },
    $isError0: 1
  };
  A.CyclicInitializationError.prototype = {
    toString$0(_) {
      return "Reading static variable '" + this.variableName + "' during its initialization";
    }
  };
  A._Exception.prototype = {
    toString$0(_) {
      var message = this.message;
      if (message == null)
        return "Exception";
      return "Exception: " + A.S(message);
    },
    $isException: 1,
    get$message(receiver) {
      return 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;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    },
    get$source(receiver) {
      return this.source;
    },
    get$offset(receiver) {
      return this.offset;
    }
  };
  A.IntegerDivisionByZeroException.prototype = {
    get$message(_) {
      return "Division resulted in non-finite value";
    },
    get$stackTrace() {
      return null;
    },
    toString$0(_) {
      return "IntegerDivisionByZeroException";
    },
    $isError0: 1,
    $isException: 1
  };
  A.Iterable.prototype = {
    cast$1$0(_, $R) {
      return A.CastIterable_CastIterable(this, A._instanceType(this)._eval$1("Iterable.E"), $R);
    },
    followedBy$1(_, other) {
      var _this = this,
        t1 = A._instanceType(_this);
      if (t1._eval$1("EfficientLengthIterable<Iterable.E>")._is(_this))
        return A.FollowedByIterable_FollowedByIterable$firstEfficient(_this, other, t1._eval$1("Iterable.E"));
      return new A.FollowedByIterable(_this, other, t1._eval$1("FollowedByIterable<Iterable.E>"));
    },
    map$1$1(_, toElement, $T) {
      return A.MappedIterable_MappedIterable(this, toElement, A._instanceType(this)._eval$1("Iterable.E"), $T);
    },
    map$1($receiver, toElement) {
      return this.map$1$1($receiver, toElement, type$.dynamic);
    },
    where$1(_, test) {
      return new A.WhereIterable(this, test, A._instanceType(this)._eval$1("WhereIterable<Iterable.E>"));
    },
    whereType$1$0(_, $T) {
      return new A.WhereTypeIterable(this, $T._eval$1("WhereTypeIterable<0>"));
    },
    contains$1(_, element) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (J.$eq$(t1.get$current(t1), element))
          return true;
      return false;
    },
    forEach$1(_, action) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        action.call$1(t1.get$current(t1));
    },
    fold$1$2(_, initialValue, combine) {
      var t1, value;
      for (t1 = this.get$iterator(this), value = initialValue; t1.moveNext$0();)
        value = combine.call$2(value, t1.get$current(t1));
      return value;
    },
    fold$2($receiver, initialValue, combine) {
      return this.fold$1$2($receiver, initialValue, combine, type$.dynamic);
    },
    join$1(_, separator) {
      var t1,
        iterator = this.get$iterator(this);
      if (!iterator.moveNext$0())
        return "";
      if (separator === "") {
        t1 = "";
        do
          t1 += A.S(J.toString$0$(iterator.get$current(iterator)));
        while (iterator.moveNext$0());
      } else {
        t1 = "" + A.S(J.toString$0$(iterator.get$current(iterator)));
        for (; iterator.moveNext$0();)
          t1 = t1 + separator + A.S(J.toString$0$(iterator.get$current(iterator)));
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    join$0($receiver) {
      return this.join$1($receiver, "");
    },
    any$1(_, test) {
      var t1;
      for (t1 = this.get$iterator(this); t1.moveNext$0();)
        if (test.call$1(t1.get$current(t1)))
          return true;
      return false;
    },
    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);
    },
    toSet$0(_) {
      return A.LinkedHashSet_LinkedHashSet$of(this, A._instanceType(this)._eval$1("Iterable.E"));
    },
    get$length(_) {
      var count,
        it = this.get$iterator(this);
      for (count = 0; it.moveNext$0();)
        ++count;
      return count;
    },
    get$isEmpty(_) {
      return !this.get$iterator(this).moveNext$0();
    },
    get$isNotEmpty(_) {
      return !this.get$isEmpty(this);
    },
    take$1(_, count) {
      return A.TakeIterable_TakeIterable(this, count, A._instanceType(this)._eval$1("Iterable.E"));
    },
    skip$1(_, count) {
      return A.SkipIterable_SkipIterable(this, count, A._instanceType(this)._eval$1("Iterable.E"));
    },
    skipWhile$1(_, test) {
      return new A.SkipWhileIterable(this, test, A._instanceType(this)._eval$1("SkipWhileIterable<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;
    },
    get$single(_) {
      var result,
        it = this.get$iterator(this);
      if (!it.moveNext$0())
        throw A.wrapException(A.IterableElementError_noElement());
      result = it.get$current(it);
      if (it.moveNext$0())
        throw A.wrapException(A.IterableElementError_tooMany());
      return result;
    },
    elementAt$1(_, index) {
      var t1, elementIndex, element;
      A.RangeError_checkNotNegative(index, "index");
      for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) {
        element = t1.get$current(t1);
        if (index === elementIndex)
          return element;
        ++elementIndex;
      }
      throw A.wrapException(A.IndexError$(index, this, "index", null, elementIndex));
    },
    toString$0(_) {
      return A.IterableBase_iterableToShortString(this, "(", ")");
    },
    single$0($receiver) {
      return this.get$single(this).call$0();
    }
  };
  A._GeneratorIterable.prototype = {
    elementAt$1(_, index) {
      A.RangeError_checkValidIndex(index, this, null, null);
      return this._generator.call$1(index);
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A.BidirectionalIterator.prototype = {};
  A.Iterator.prototype = {};
  A.MapEntry.prototype = {
    toString$0(_) {
      return "MapEntry(" + A.S(this.key) + ": " + A.S(this.value) + ")";
    },
    get$key(receiver) {
      return this.key;
    },
    get$value(receiver) {
      return 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$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments()));
    },
    get$runtimeType(_) {
      return A.getRuntimeType(this);
    },
    toString() {
      return this.toString$0(this);
    },
    call$1($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1", 0, [$0], [], 0));
    },
    call$2($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2", 0, [$0, $1], [], 0));
    },
    call$0() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$0", 0, [], [], 0));
    },
    call$3$1($0, $T1, $T2, $T3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$1", 0, [$0, $T1, $T2, $T3], [], 3));
    },
    call$1$2$onError($0, $1, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$2$onError", 0, [$0, $1, $T1], ["onError"], 1));
    },
    call$2$1($0, $T1, $T2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$1", 0, [$0, $T1, $T2], [], 2));
    },
    call$1$1($0, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$1", 0, [$0, $T1], [], 1));
    },
    call$3($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3", 0, [$0, $1, $2], [], 0));
    },
    call$4($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4", 0, [$0, $1, $2, $3], [], 0));
    },
    call$3$3($0, $1, $2, $T1, $T2, $T3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$3", 0, [$0, $1, $2, $T1, $T2, $T3], [], 3));
    },
    call$2$2($0, $1, $T1, $T2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$2", 0, [$0, $1, $T1, $T2], [], 2));
    },
    call$1$locales($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$locales", 0, [$0], ["locales"], 0));
    },
    call$4$cancelOnError$onDone$onError($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$cancelOnError$onDone$onError", 0, [$0, $1, $2, $3], ["cancelOnError", "onDone", "onError"], 0));
    },
    call$1$2($0, $1, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$2", 0, [$0, $1, $T1], [], 1));
    },
    call$1$growable($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$growable", 0, [$0], ["growable"], 0));
    },
    call$1$textScaleFactor($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$textScaleFactor", 0, [$0], ["textScaleFactor"], 0));
    },
    call$1$platformBrightness($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$platformBrightness", 0, [$0], ["platformBrightness"], 0));
    },
    call$14$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$timeStamp($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$14$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$scrollDeltaX$scrollDeltaY$signalKind$timeStamp", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13], ["buttons", "change", "device", "kind", "physicalX", "physicalY", "pressure", "pressureMax", "pressureMin", "scrollDeltaX", "scrollDeltaY", "signalKind", "timeStamp"], 0));
    },
    call$12$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$timeStamp($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$12$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$timeStamp", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11], ["buttons", "change", "device", "kind", "physicalX", "physicalY", "pressure", "pressureMax", "pressureMin", "signalKind", "timeStamp"], 0));
    },
    call$13$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$tilt$timeStamp($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$13$buttons$change$device$kind$physicalX$physicalY$pressure$pressureMax$pressureMin$signalKind$tilt$timeStamp", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12], ["buttons", "change", "device", "kind", "physicalX", "physicalY", "pressure", "pressureMax", "pressureMin", "signalKind", "tilt", "timeStamp"], 0));
    },
    call$1$0($T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$0", 0, [$T1], [], 1));
    },
    call$1$accessibilityFeatures($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$accessibilityFeatures", 0, [$0], ["accessibilityFeatures"], 0));
    },
    call$1$semanticsEnabled($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$semanticsEnabled", 0, [$0], ["semanticsEnabled"], 0));
    },
    call$3$async($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$async", 0, [$0, $1, $2], ["async"], 0));
    },
    call$2$specification$zoneValues($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$specification$zoneValues", 0, [$0, $1], ["specification", "zoneValues"], 0));
    },
    call$5($0, $1, $2, $3, $4) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$5", 0, [$0, $1, $2, $3, $4], [], 0));
    },
    call$6($0, $1, $2, $3, $4, $5) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$6", 0, [$0, $1, $2, $3, $4, $5], [], 0));
    },
    call$2$withDrive($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$withDrive", 0, [$0, $1], ["withDrive"], 0));
    },
    call$1$style($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$style", 0, [$0], ["style"], 0));
    },
    call$1$parentConfiguration($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$parentConfiguration", 0, [$0], ["parentConfiguration"], 0));
    },
    call$2$priority$scheduler($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$priority$scheduler", 0, [$0, $1], ["priority", "scheduler"], 0));
    },
    call$2$position($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$position", 0, [$0, $1], ["position"], 0));
    },
    call$1$childOrder($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$childOrder", 0, [$0], ["childOrder"], 0));
    },
    call$3$code$details$message($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$code$details$message", 0, [$0, $1, $2], ["code", "details", "message"], 0));
    },
    call$2$code$message($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$code$message", 0, [$0, $1], ["code", "message"], 0));
    },
    call$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result", 0, [$0, $1, $2, $3], ["elevationAdjustment", "parentPaintClipRect", "parentSemanticsClipRect", "result"], 0));
    },
    call$1$range($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$range", 0, [$0], ["range"], 0));
    },
    call$4$curve$descendant$duration$rect($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$curve$descendant$duration$rect", 0, [$0, $1, $2, $3], ["curve", "descendant", "duration", "rect"], 0));
    },
    call$3$onAction$onChange($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$onAction$onChange", 0, [$0, $1, $2], ["onAction", "onChange"], 0));
    },
    call$2$ignoreRasterCache($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$ignoreRasterCache", 0, [$0, $1], ["ignoreRasterCache"], 0));
    },
    call$1$3$onlyFirst($0, $1, $2, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$3$onlyFirst", 0, [$0, $1, $2, $T1], ["onlyFirst"], 1));
    },
    call$1$includeChildren($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$includeChildren", 0, [$0], ["includeChildren"], 0));
    },
    call$1$oldLayer($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$oldLayer", 0, [$0], ["oldLayer"], 0));
    },
    call$3$oldLayer($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$oldLayer", 0, [$0, $1, $2], ["oldLayer"], 0));
    },
    call$2$oldLayer($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$oldLayer", 0, [$0, $1], ["oldLayer"], 0));
    },
    call$3$replace$state($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$replace$state", 0, [$0, $1, $2], ["replace", "state"], 0));
    },
    call$2$params($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$params", 0, [$0, $1], ["params"], 0));
    },
    call$2$cause$from($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$cause$from", 0, [$0, $1], ["cause", "from"], 0));
    },
    call$1$findFirstFocus($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$findFirstFocus", 0, [$0], ["findFirstFocus"], 0));
    },
    call$2$aspect($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$aspect", 0, [$0, $1], ["aspect"], 0));
    },
    call$3$dimensions$textScaleFactor($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$dimensions$textScaleFactor", 0, [$0, $1, $2], ["dimensions", "textScaleFactor"], 0));
    },
    call$2$allowEmpty($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$allowEmpty", 0, [$0, $1], ["allowEmpty"], 0));
    },
    call$3$boxHeightStyle($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$boxHeightStyle", 0, [$0, $1, $2], ["boxHeightStyle"], 0));
    },
    call$4$forPainting($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$forPainting", 0, [$0, $1, $2, $3], ["forPainting"], 0));
    },
    call$3$includePlaceholders$includeSemanticsLabels($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$includePlaceholders$includeSemanticsLabels", 0, [$0, $1, $2], ["includePlaceholders", "includeSemanticsLabels"], 0));
    },
    call$4$boxHeightStyle$boxWidthStyle($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$boxHeightStyle$boxWidthStyle", 0, [$0, $1, $2, $3], ["boxHeightStyle", "boxWidthStyle"], 0));
    },
    call$1$selection($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$selection", 0, [$0], ["selection"], 0));
    },
    call$1$rect($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$rect", 0, [$0], ["rect"], 0));
    },
    call$1$bottom($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$bottom", 0, [$0], ["bottom"], 0));
    },
    call$3$curve$duration$rect($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$curve$duration$rect", 0, [$0, $1, $2], ["curve", "duration", "rect"], 0));
    },
    call$1$composing($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$composing", 0, [$0], ["composing"], 0));
    },
    call$6$alignment$alignmentPolicy$curve$duration$targetRenderObject($0, $1, $2, $3, $4, $5) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$6$alignment$alignmentPolicy$curve$duration$targetRenderObject", 0, [$0, $1, $2, $3, $4, $5], ["alignment", "alignmentPolicy", "curve", "duration", "targetRenderObject"], 0));
    },
    call$4$isComplexHint$willChangeHint($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$isComplexHint$willChangeHint", 0, [$0, $1, $2, $3], ["isComplexHint", "willChangeHint"], 0));
    },
    call$4$style($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$style", 0, [$0, $1, $2, $3], ["style"], 0));
    },
    call$2$parentUsesSize($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$parentUsesSize", 0, [$0, $1], ["parentUsesSize"], 0));
    },
    call$1$fontSizeFactor($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontSizeFactor", 0, [$0], ["fontSizeFactor"], 0));
    },
    call$2$primaryTextTheme$textTheme($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$primaryTextTheme$textTheme", 0, [$0, $1], ["primaryTextTheme", "textTheme"], 0));
    },
    call$1$scrollbars($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$scrollbars", 0, [$0], ["scrollbars"], 0));
    },
    call$1$immediately($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$immediately", 0, [$0], ["immediately"], 0));
    },
    call$1$2$arguments($0, $1, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$2$arguments", 0, [$0, $1, $T1], ["arguments"], 1));
    },
    call$3$forgottenChildren($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$forgottenChildren", 0, [$0, $1, $2], ["forgottenChildren"], 0));
    },
    call$2$after($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$after", 0, [$0, $1], ["after"], 0));
    },
    call$3$clipBehavior$oldLayer($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$clipBehavior$oldLayer", 0, [$0, $1, $2], ["clipBehavior", "oldLayer"], 0));
    },
    call$2$doAntiAlias($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$doAntiAlias", 0, [$0, $1], ["doAntiAlias"], 0));
    },
    call$1$width($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$width", 0, [$0], ["width"], 0));
    },
    call$1$height($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$height", 0, [$0], ["height"], 0));
    },
    call$1$5($0, $1, $2, $3, $4, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$5", 0, [$0, $1, $2, $3, $4, $T1], [], 1));
    },
    call$3$debugReport($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$debugReport", 0, [$0, $1, $2], ["debugReport"], 0));
    },
    call$3$offset$oldLayer($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$offset$oldLayer", 0, [$0, $1, $2], ["offset", "oldLayer"], 0));
    },
    call$2$isAlive($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$isAlive", 0, [$0, $1], ["isAlive"], 0));
    },
    call$2$reversed($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$reversed", 0, [$0, $1], ["reversed"], 0));
    },
    call$1$brightness($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$brightness", 0, [$0], ["brightness"], 0));
    },
    call$1$isBuildFromExternalSources($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$isBuildFromExternalSources", 0, [$0], ["isBuildFromExternalSources"], 0));
    },
    call$1$config($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$config", 0, [$0], ["config"], 0));
    },
    call$2$descendant$rect($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$descendant$rect", 0, [$0, $1], ["descendant", "rect"], 0));
    },
    call$25$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing($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) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$25$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing", 0, [$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], ["background", "backgroundColor", "color", "debugLabel", "decoration", "decorationColor", "decorationStyle", "decorationThickness", "fontFamily", "fontFamilyFallback", "fontFeatures", "fontSize", "fontStyle", "fontVariations", "fontWeight", "foreground", "height", "leadingDistribution", "letterSpacing", "locale", "overflow", "package", "shadows", "textBaseline", "wordSpacing"], 0));
    },
    call$4$color$opacity$shadows$size($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$color$opacity$shadows$size", 0, [$0, $1, $2, $3], ["color", "opacity", "shadows", "size"], 0));
    },
    call$1$color($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$color", 0, [$0], ["color"], 0));
    },
    call$3$cancel$down$reason($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$cancel$down$reason", 0, [$0, $1, $2], ["cancel", "down", "reason"], 0));
    },
    call$2$down$up($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$down$up", 0, [$0, $1], ["down", "up"], 0));
    },
    call$1$down($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$down", 0, [$0], ["down"], 0));
    },
    call$2$value($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$value", 0, [$0, $1], ["value"], 0));
    },
    call$1$details($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$details", 0, [$0], ["details"], 0));
    },
    call$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10], ["borderRadius", "color", "containedInkWell", "controller", "customBorder", "onRemoved", "position", "radius", "rectCallback", "referenceBox", "textDirection"], 0));
    },
    call$1$context($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$context", 0, [$0], ["context"], 0));
    },
    call$2$textDirection($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$textDirection", 0, [$0, $1], ["textDirection"], 0));
    },
    call$2$0($T1, $T2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$0", 0, [$T1, $T2], [], 2));
    },
    call$3$textDirection($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$textDirection", 0, [$0, $1, $2], ["textDirection"], 0));
    },
    call$2$minHeight$minWidth($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$minHeight$minWidth", 0, [$0, $1], ["minHeight", "minWidth"], 0));
    },
    call$1$letterSpacing($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$letterSpacing", 0, [$0], ["letterSpacing"], 0));
    },
    call$5$borderRadius$shape$textDirection($0, $1, $2, $3, $4) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$5$borderRadius$shape$textDirection", 0, [$0, $1, $2, $3, $4], ["borderRadius", "shape", "textDirection"], 0));
    },
    call$4$in1$in2$operator$result($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$in1$in2$operator$result", 0, [$0, $1, $2, $3], ["in1", "in2", "operator", "result"], 0));
    },
    call$2$maxWidth$minWidth($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$maxWidth$minWidth", 0, [$0, $1], ["maxWidth", "minWidth"], 0));
    },
    call$2$maxHeight$minHeight($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$maxHeight$minHeight", 0, [$0, $1], ["maxHeight", "minHeight"], 0));
    },
    call$1$side($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$side", 0, [$0], ["side"], 0));
    },
    call$2$color$fontSize($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$color$fontSize", 0, [$0, $1], ["color", "fontSize"], 0));
    },
    call$2$initialRestore($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$initialRestore", 0, [$0, $1], ["initialRestore"], 0));
    },
    call$3$rect($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$rect", 0, [$0, $1, $2], ["rect"], 0));
    },
    call$2$hitTest$paintTransform($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$hitTest$paintTransform", 0, [$0, $1], ["hitTest", "paintTransform"], 0));
    },
    call$3$crossAxisPosition$mainAxisPosition($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$crossAxisPosition$mainAxisPosition", 0, [$0, $1, $2], ["crossAxisPosition", "mainAxisPosition"], 0));
    },
    call$2$hitTest$paintOffset($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$hitTest$paintOffset", 0, [$0, $1], ["hitTest", "paintOffset"], 0));
    },
    call$4$isScrolling$newPosition$oldPosition$velocity($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$isScrolling$newPosition$oldPosition$velocity", 0, [$0, $1, $2, $3], ["isScrolling", "newPosition", "oldPosition", "velocity"], 0));
    },
    call$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName($0, $1, $2, $3, $4, $5, $6, $7) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName", 0, [$0, $1, $2, $3, $4, $5, $6, $7], ["enableDomStorage", "enableJavaScript", "headers", "universalLinksOnly", "useSafariVC", "useWebView", "webOnlyWindowName"], 0));
    },
    call$2$bottom$top($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$bottom$top", 0, [$0, $1], ["bottom", "top"], 0));
    },
    call$2$left$right($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$left$right", 0, [$0, $1], ["left", "right"], 0));
    },
    call$1$padding($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$padding", 0, [$0], ["padding"], 0));
    },
    call$1$fontFamily($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontFamily", 0, [$0], ["fontFamily"], 0));
    },
    call$3$isAlive$scope($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$isAlive$scope", 0, [$0, $1, $2], ["isAlive", "scope"], 0));
    },
    call$3$context$exception$stack($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$context$exception$stack", 0, [$0, $1, $2], ["context", "exception", "stack"], 0));
    },
    call$2$onError($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$onError", 0, [$0, $1], ["onError"], 0));
    },
    call$2$overscroll$scrollbars($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$overscroll$scrollbars", 0, [$0, $1], ["overscroll", "scrollbars"], 0));
    },
    call$2$selection$text($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$selection$text", 0, [$0, $1], ["selection", "text"], 0));
    },
    call$1$maxWidth($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$maxWidth", 0, [$0], ["maxWidth"], 0));
    },
    call$2$baseOffset$extentOffset($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$baseOffset$extentOffset", 0, [$0, $1], ["baseOffset", "extentOffset"], 0));
    },
    call$3$context$style$withComposing($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$context$style$withComposing", 0, [$0, $1, $2], ["context", "style", "withComposing"], 0));
    },
    call$6$baseline$baselineOffset$scale($0, $1, $2, $3, $4, $5) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$6$baseline$baselineOffset$scale", 0, [$0, $1, $2, $3, $4, $5], ["baseline", "baselineOffset", "scale"], 0));
    },
    call$4$scale($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$scale", 0, [$0, $1, $2, $3], ["scale"], 0));
    },
    call$1$text($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$text", 0, [$0], ["text"], 0));
    },
    call$2$affinity$extentOffset($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$affinity$extentOffset", 0, [$0, $1], ["affinity", "extentOffset"], 0));
    },
    call$2$composing$selection($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$composing$selection", 0, [$0, $1], ["composing", "selection"], 0));
    },
    call$1$extentOffset($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$extentOffset", 0, [$0], ["extentOffset"], 0));
    },
    call$1$fontFeatures($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontFeatures", 0, [$0], ["fontFeatures"], 0));
    },
    call$9$controller$decoration$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField($0, $1, $2, $3, $4, $5, $6, $7, $8) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$9$controller$decoration$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8], ["controller", "decoration", "onSelection", "overlayXPositionBuilder", "searchFieldEnabled", "searchFieldKey", "shouldRequestFocus", "style", "supportClearField"], 0));
    },
    call$2$force($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$force", 0, [$0, $1], ["force"], 0));
    },
    call$6$gapExtent$gapPercentage$gapStart$textDirection($0, $1, $2, $3, $4, $5) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$6$gapExtent$gapPercentage$gapStart$textDirection", 0, [$0, $1, $2, $3, $4, $5], ["gapExtent", "gapPercentage", "gapStart", "textDirection"], 0));
    },
    call$1$borderSide($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$borderSide", 0, [$0], ["borderSide"], 0));
    },
    call$27$alignLabelWithHint$border$constraints$contentPadding$counterStyle$disabledBorder$enabledBorder$errorBorder$errorMaxLines$errorStyle$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$suffixStyle($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, $26) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$27$alignLabelWithHint$border$constraints$contentPadding$counterStyle$disabledBorder$enabledBorder$errorBorder$errorMaxLines$errorStyle$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$suffixStyle", 0, [$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, $26], ["alignLabelWithHint", "border", "constraints", "contentPadding", "counterStyle", "disabledBorder", "enabledBorder", "errorBorder", "errorMaxLines", "errorStyle", "fillColor", "filled", "floatingLabelAlignment", "floatingLabelBehavior", "floatingLabelStyle", "focusColor", "focusedBorder", "focusedErrorBorder", "helperMaxLines", "helperStyle", "hintStyle", "hoverColor", "isCollapsed", "isDense", "labelStyle", "prefixStyle", "suffixStyle"], 0));
    },
    call$2$enabled$hintMaxLines($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$enabled$hintMaxLines", 0, [$0, $1], ["enabled", "hintMaxLines"], 0));
    },
    call$2$child$context($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$child$context", 0, [$0, $1], ["child", "context"], 0));
    },
    call$4$diagnostic$forceScrollIntoView$isolateRef$value($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$diagnostic$forceScrollIntoView$isolateRef$value", 0, [$0, $1, $2, $3], ["diagnostic", "forceScrollIntoView", "isolateRef", "value"], 0));
    },
    call$3$composing$selection$text($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$composing$selection$text", 0, [$0, $1, $2], ["composing", "selection", "text"], 0));
    },
    call$2$searchPreviousMatches($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$searchPreviousMatches", 0, [$0, $1], ["searchPreviousMatches"], 0));
    },
    call$2$color$fontWeight($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$color$fontWeight", 0, [$0, $1], ["color", "fontWeight"], 0));
    },
    call$2$3($0, $1, $2, $T1, $T2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$3", 0, [$0, $1, $2, $T1, $T2], [], 2));
    },
    call$3$onDone$onError($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$onDone$onError", 0, [$0, $1, $2], ["onDone", "onError"], 0));
    },
    call$1$task($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$task", 0, [$0], ["task"], 0));
    },
    call$1$oldWidget($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$oldWidget", 0, [$0], ["oldWidget"], 0));
    },
    call$2$padding$viewPadding($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$padding$viewPadding", 0, [$0, $1], ["padding", "viewPadding"], 0));
    },
    call$4$displayFeatures$padding$viewInsets$viewPadding($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$displayFeatures$padding$viewInsets$viewPadding", 0, [$0, $1, $2, $3], ["displayFeatures", "padding", "viewInsets", "viewPadding"], 0));
    },
    call$1$queryParameters($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$queryParameters", 0, [$0], ["queryParameters"], 0));
    },
    call$2$viewInsets$viewPadding($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$viewInsets$viewPadding", 0, [$0, $1], ["viewInsets", "viewPadding"], 0));
    },
    call$4$isRowSelected$onPressed($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$isRowSelected$onPressed", 0, [$0, $1, $2, $3], ["isRowSelected", "onPressed"], 0));
    },
    call$3$secondarySortColumn($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$secondarySortColumn", 0, [$0, $1, $2], ["secondarySortColumn"], 0));
    },
    call$8$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding($0, $1, $2, $3, $4, $5, $6, $7) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$8$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding", 0, [$0, $1, $2, $3, $4, $5, $6, $7], ["removeBottomInset", "removeBottomPadding", "removeLeftPadding", "removeRightPadding", "removeTopPadding"], 0));
    },
    call$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding($0, $1, $2, $3, $4, $5, $6) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding", 0, [$0, $1, $2, $3, $4, $5, $6], ["removeBottomPadding", "removeLeftPadding", "removeRightPadding", "removeTopPadding"], 0));
    },
    call$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding($0, $1, $2, $3, $4, $5, $6, $7) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding", 0, [$0, $1, $2, $3, $4, $5, $6, $7], ["maintainBottomViewPadding", "removeBottomPadding", "removeLeftPadding", "removeRightPadding", "removeTopPadding"], 0));
    },
    call$1$floatingActionButtonScale($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$floatingActionButtonScale", 0, [$0], ["floatingActionButtonScale"], 0));
    },
    call$1$removeBottom($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$removeBottom", 0, [$0], ["removeBottom"], 0));
    },
    call$2$bottomNavigationBarTop$floatingActionButtonArea($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$bottomNavigationBarTop$floatingActionButtonArea", 0, [$0, $1], ["bottomNavigationBarTop", "floatingActionButtonArea"], 0));
    },
    call$1$floatingActionButtonArea($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$floatingActionButtonArea", 0, [$0], ["floatingActionButtonArea"], 0));
    },
    call$1$maxHeight($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$maxHeight", 0, [$0], ["maxHeight"], 0));
    },
    call$1$inherit($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$inherit", 0, [$0], ["inherit"], 0));
    },
    call$1$end($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$end", 0, [$0], ["end"], 0));
    },
    call$1$line($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$line", 0, [$0], ["line"], 0));
    },
    call$3$enabled$value($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$enabled$value", 0, [$0, $1, $2], ["enabled", "value"], 0));
    },
    call$3$isAlive$shouldLogError($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$isAlive$shouldLogError", 0, [$0, $1, $2], ["isAlive", "shouldLogError"], 0));
    },
    call$2$isolateId($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$isolateId", 0, [$0, $1], ["isolateId"], 0));
    },
    call$2$path$scheme($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$path$scheme", 0, [$0, $1], ["path", "scheme"], 0));
    },
    call$2$onDone($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$onDone", 0, [$0, $1], ["onDone"], 0));
    },
    call$1$scheme($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$scheme", 0, [$0], ["scheme"], 0));
    },
    call$2$cancelOnError($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$cancelOnError", 0, [$0, $1], ["cancelOnError"], 0));
    },
    call$1$path($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$path", 0, [$0], ["path"], 0));
    },
    call$3$acceptedTypeGroups$confirmButtonText$initialDirectory($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$acceptedTypeGroups$confirmButtonText$initialDirectory", 0, [$0, $1, $2], ["acceptedTypeGroups", "confirmButtonText", "initialDirectory"], 0));
    },
    call$1$child($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$child", 0, [$0], ["child"], 0));
    },
    call$3$newFile$oldFile$onError($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$newFile$oldFile$onError", 0, [$0, $1, $2], ["newFile", "oldFile", "onError"], 0));
    },
    call$1$nodes($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$nodes", 0, [$0], ["nodes"], 0));
    },
    call$2$jsonFile$onError($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$jsonFile$onError", 0, [$0, $1], ["jsonFile", "onError"], 0));
    },
    call$4$overscroll$physics$platform$scrollbars($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$overscroll$physics$platform$scrollbars", 0, [$0, $1, $2, $3], ["overscroll", "physics", "platform", "scrollbars"], 0));
    },
    call$1$colorScheme($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$colorScheme", 0, [$0], ["colorScheme"], 0));
    },
    call$1$clearScreenParam($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$clearScreenParam", 0, [$0], ["clearScreenParam"], 0));
    },
    call$4$getChildren($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$getChildren", 0, [$0, $1, $2, $3], ["getChildren"], 0));
    },
    call$3$getChildren($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$getChildren", 0, [$0, $1, $2], ["getChildren"], 0));
    },
    call$3$backgroundColor$fontFamily$fontSize($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$backgroundColor$fontFamily$fontSize", 0, [$0, $1, $2], ["backgroundColor", "fontFamily", "fontSize"], 0));
    },
    call$2$fontSize$fontWeight($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$fontSize$fontWeight", 0, [$0, $1], ["fontSize", "fontWeight"], 0));
    },
    call$1$fontWeight($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontWeight", 0, [$0], ["fontWeight"], 0));
    },
    call$1$fontStyle($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontStyle", 0, [$0], ["fontStyle"], 0));
    },
    call$1$decoration($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$decoration", 0, [$0], ["decoration"], 0));
    },
    call$1$background($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$background", 0, [$0], ["background"], 0));
    },
    call$17$accentColor$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$17$accentColor$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16], ["accentColor", "backgroundColor", "canvasColor", "checkboxTheme", "colorScheme", "elevatedButtonTheme", "indicatorColor", "outlinedButtonTheme", "primaryColor", "primaryColorDark", "primaryColorLight", "radioTheme", "scaffoldBackgroundColor", "selectedRowColor", "switchTheme", "textButtonTheme", "textSelectionTheme"], 0));
    },
    call$3$accentTextTheme$primaryTextTheme$textTheme($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$accentTextTheme$primaryTextTheme$textTheme", 0, [$0, $1, $2], ["accentTextTheme", "primaryTextTheme", "textTheme"], 0));
    },
    call$3$onError($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$onError", 0, [$0, $1, $2], ["onError"], 0));
    },
    call$3$data$error$loading($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$data$error$loading", 0, [$0, $1, $2], ["data", "error", "loading"], 0));
    },
    call$2$data$error($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$data$error", 0, [$0, $1], ["data", "error"], 0));
    },
    call$2$terse($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$terse", 0, [$0, $1], ["terse"], 0));
    },
    call$2$origin$override($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$origin$override", 0, [$0, $1], ["origin", "override"], 0));
    },
    call$3$fireImmediately($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$fireImmediately", 0, [$0, $1, $2], ["fireImmediately"], 0));
    },
    call$1$3$listener$onError($0, $1, $2, $T1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$3$listener$onError", 0, [$0, $1, $2, $T1], ["listener", "onError"], 1));
    },
    call$4$fireImmediately$onError($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$fireImmediately$onError", 0, [$0, $1, $2, $3], ["fireImmediately", "onError"], 0));
    },
    call$8$boolean$enumeration$list$map$nill$number$object$string($0, $1, $2, $3, $4, $5, $6, $7) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$8$boolean$enumeration$list$map$nill$number$object$string", 0, [$0, $1, $2, $3, $4, $5, $6, $7], ["boolean", "enumeration", "list", "map", "nill", "number", "object", "string"], 0));
    },
    call$1$pathToProperty($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$pathToProperty", 0, [$0], ["pathToProperty"], 0));
    },
    call$4$list$map$object$orElse($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$list$map$object$orElse", 0, [$0, $1, $2, $3], ["list", "map", "object", "orElse"], 0));
    },
    call$2$fromInstanceId$fromProviderId($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$fromInstanceId$fromProviderId", 0, [$0, $1], ["fromInstanceId", "fromProviderId"], 0));
    },
    call$3$path($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$path", 0, [$0, $1, $2], ["path"], 0));
    },
    call$3$disableExpand$path($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$disableExpand$path", 0, [$0, $1, $2], ["disableExpand", "path"], 0));
    },
    call$2$dismiss($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$dismiss", 0, [$0, $1], ["dismiss"], 0));
    },
    call$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation($0, $1, $2, $3, $4) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation", 0, [$0, $1, $2, $3, $4], ["controller", "searchFieldEnabled", "searchFieldKey", "shouldRequestFocus", "supportsNavigation"], 0));
    },
    call$2$numeric($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$numeric", 0, [$0, $1], ["numeric"], 0));
    },
    call$2$offset($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$offset", 0, [$0, $1], ["offset"], 0));
    },
    call$3$cancelOnError$onDone($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$cancelOnError$onDone", 0, [$0, $1, $2], ["cancelOnError", "onDone"], 0));
    },
    call$9$controller$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus($0, $1, $2, $3, $4, $5, $6, $7, $8) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$9$controller$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus", 0, [$0, $1, $2, $3, $4, $5, $6, $7, $8], ["controller", "keyEventsToPropagate", "label", "onClose", "onFocusLost", "onSelection", "searchFieldEnabled", "searchFieldKey", "shouldRequestFocus"], 0));
    },
    call$4$forceCompile$scriptId($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$forceCompile$scriptId", 0, [$0, $1, $2, $3], ["forceCompile", "scriptId"], 0));
    },
    call$3$context$onTap$searchFieldKey($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$context$onTap$searchFieldKey", 0, [$0, $1, $2], ["context", "onTap", "searchFieldKey"], 0));
    },
    call$1$allScripts($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$allScripts", 0, [$0], ["allScripts"], 0));
    },
    call$3$exactFileNameMatches$exactFullPathMatches$fuzzyMatches($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$exactFileNameMatches$exactFullPathMatches$fuzzyMatches", 0, [$0, $1, $2], ["exactFileNameMatches", "exactFullPathMatches", "fuzzyMatches"], 0));
    },
    call$2$backgroundColor$color($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$backgroundColor$color", 0, [$0, $1], ["backgroundColor", "color"], 0));
    },
    call$3$curve$duration($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$curve$duration", 0, [$0, $1, $2], ["curve", "duration"], 0));
    },
    call$1$fontSizeDelta($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontSizeDelta", 0, [$0], ["fontSizeDelta"], 0));
    },
    call$6$controller$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField($0, $1, $2, $3, $4, $5) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$6$controller$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField", 0, [$0, $1, $2, $3, $4, $5], ["controller", "onSelection", "searchFieldEnabled", "searchFieldKey", "shouldRequestFocus", "supportClearField"], 0));
    },
    call$1$rebuild($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$rebuild", 0, [$0], ["rebuild"], 0));
    },
    call$1$graph($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$graph", 0, [$0], ["graph"], 0));
    },
    call$1$reset($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$reset", 0, [$0], ["reset"], 0));
    },
    call$2$clipOp($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$clipOp", 0, [$0, $1], ["clipOp"], 0));
    },
    call$3$name($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$name", 0, [$0, $1, $2], ["name"], 0));
    },
    call$7$colorPatch$dashed$hasNumeric$hasUnit$image$name$scaleImage($0, $1, $2, $3, $4, $5, $6) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$7$colorPatch$dashed$hasNumeric$hasUnit$image$name$scaleImage", 0, [$0, $1, $2, $3, $4, $5, $6], ["colorPatch", "dashed", "hasNumeric", "hasUnit", "image", "name", "scaleImage"], 0));
    },
    call$5$colorPatch$dashed$image$leftEdge($0, $1, $2, $3, $4) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$5$colorPatch$dashed$image$leftEdge", 0, [$0, $1, $2, $3, $4], ["colorPatch", "dashed", "image", "leftEdge"], 0));
    },
    call$2$image$name($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$image$name", 0, [$0, $1], ["image", "name"], 0));
    },
    call$3$bold$leftPadding$name($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$bold$leftPadding$name", 0, [$0, $1, $2], ["bold", "leftPadding", "name"], 0));
    },
    call$2$label($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$label", 0, [$0, $1], ["label"], 0));
    },
    call$2$time($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$time", 0, [$0, $1], ["time"], 0));
    },
    call$2$copySampleCountsAndTags$parentId($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$copySampleCountsAndTags$parentId", 0, [$0, $1], ["copySampleCountsAndTags", "parentId"], 0));
    },
    call$2$current$parent($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$current$parent", 0, [$0, $1], ["current", "parent"], 0));
    },
    call$1$label($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$label", 0, [$0], ["label"], 0));
    },
    call$1$copySampleCountsAndTags($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$copySampleCountsAndTags", 0, [$0], ["copySampleCountsAndTags"], 0));
    },
    call$2$jump($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$jump", 0, [$0, $1], ["jump"], 0));
    },
    call$1$resetInclusiveSampleCount($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$resetInclusiveSampleCount", 0, [$0], ["resetInclusiveSampleCount"], 0));
    },
    call$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom", 0, [$0, $1, $2], ["unzoomableOffsetLineEnd", "unzoomableOffsetLineStart", "zoom"], 0));
    },
    call$2$isNext($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$isNext", 0, [$0, $1], ["isNext"], 0));
    },
    call$4$data$durationMicros$jumpZoom$startMicros($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$data$durationMicros$jumpZoom$startMicros", 0, [$0, $1, $2, $3], ["data", "durationMicros", "jumpZoom", "startMicros"], 0));
    },
    call$1$time($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$time", 0, [$0], ["time"], 0));
    },
    call$1$force($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$force", 0, [$0], ["force"], 0));
    },
    call$2$event$type($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$event$type", 0, [$0, $1], ["event", "type"], 0));
    },
    call$1$currentProcessingTime($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$currentProcessingTime", 0, [$0], ["currentProcessingTime"], 0));
    },
    call$1$parent($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$parent", 0, [$0], ["parent"], 0));
    },
    call$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth($0, $1, $2, $3, $4) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth", 0, [$0, $1, $2, $3, $4], ["largestRenderHeight", "largestRenderWidth", "maxSizeAvailable", "smallestRenderHeight", "smallestRenderWidth"], 0));
    },
    call$2$childrenRenderProperties$maxSizeAvailable($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$childrenRenderProperties$maxSizeAvailable", 0, [$0, $1], ["childrenRenderProperties", "maxSizeAvailable"], 0));
    },
    call$3$alignment$duration($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$alignment$duration", 0, [$0, $1, $2], ["alignment", "duration"], 0));
    },
    call$1$mainAxisAlignment($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$mainAxisAlignment", 0, [$0], ["mainAxisAlignment"], 0));
    },
    call$1$crossAxisAlignment($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$crossAxisAlignment", 0, [$0], ["crossAxisAlignment"], 0));
    },
    call$2$subtreeDepth($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$subtreeDepth", 0, [$0, $1], ["subtreeDepth"], 0));
    },
    call$1$fontSize($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$fontSize", 0, [$0], ["fontSize"], 0));
    },
    call$3$isSummaryTree($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$isSummaryTree", 0, [$0, $1, $2], ["isSummaryTree"], 0));
    },
    call$1$firstFrame($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$firstFrame", 0, [$0], ["firstFrame"], 0));
    },
    call$1$opacity($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$opacity", 0, [$0], ["opacity"], 0));
    },
    call$3$showDiff($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$showDiff", 0, [$0, $1, $2], ["showDiff"], 0));
    },
    call$1$data($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$1$data", 0, [$0], ["data"], 0));
    },
    call$2$step($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$step", 0, [$0, $1], ["step"], 0));
    },
    call$2$gc($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$gc", 0, [$0, $1], ["gc"], 0));
    },
    call$2$reset($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$reset", 0, [$0, $1], ["reset"], 0));
    },
    call$3$diagnostic$isolateRef$value($0, $1, $2) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$3$diagnostic$isolateRef$value", 0, [$0, $1, $2], ["diagnostic", "isolateRef", "value"], 0));
    },
    call$4$diagnostic$expandAll$isolateRef$value($0, $1, $2, $3) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$4$diagnostic$expandAll$isolateRef$value", 0, [$0, $1, $2, $3], ["diagnostic", "expandAll", "isolateRef", "value"], 0));
    },
    call$2$path$queryParameters($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("call", "call$2$path$queryParameters", 0, [$0, $1], ["path", "queryParameters"], 0));
    },
    $index($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("[]", "$index", 0, [$0], [], 0));
    },
    remove$0($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("remove", "remove$0", 0, [], [], 0));
    },
    $indexSet($receiver, $0, $1) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("[]=", "$indexSet", 0, [$0, $1], [], 0));
    },
    toList$0($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("toList", "toList$0", 0, [], [], 0));
    },
    toJson$0() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("toJson", "toJson$0", 0, [], [], 0));
    },
    contains$1($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("contains", "contains$1", 0, [$0], [], 0));
    },
    map$1($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("map", "map$1", 0, [$0], [], 0));
    },
    cast$1$0($receiver, $T1) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("cast", "cast$1$0", 0, [$T1], [], 1));
    },
    cast$2$0($receiver, $T1, $T2) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("cast", "cast$2$0", 0, [$T1, $T2], [], 2));
    },
    indexOf$1($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("indexOf", "indexOf$1", 0, [$0], [], 0));
    },
    addAll$1($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("addAll", "addAll$1", 0, [$0], [], 0));
    },
    putIfAbsent$2($receiver, $0, $1) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("putIfAbsent", "putIfAbsent$2", 0, [$0, $1], [], 0));
    },
    didRegisterListener$0() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("didRegisterListener", "didRegisterListener$0", 0, [], [], 0));
    },
    didUnregisterListener$0() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("didUnregisterListener", "didUnregisterListener$0", 0, [], [], 0));
    },
    $sub($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("-", "$sub", 0, [$0], [], 0));
    },
    $mul($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("*", "$mul", 0, [$0], [], 0));
    },
    $add($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("+", "$add", 0, [$0], [], 0));
    },
    $gt($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror(">", "$gt", 0, [$0], [], 0));
    },
    $lt($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("<", "$lt", 0, [$0], [], 0));
    },
    scan$2($0, $1) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("scan", "scan$2", 0, [$0, $1], [], 0));
    },
    $tdiv($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("~/", "$tdiv", 0, [$0], [], 0));
    },
    toDouble$0($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("toDouble", "toDouble$0", 0, [], [], 0));
    },
    $div($receiver, $0) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("/", "$div", 0, [$0], [], 0));
    },
    getInstances$1($0) {
      return this.noSuchMethod$1(this, A.createInvocationMirror("getInstances", "getInstances$1", 0, [$0], [], 0));
    },
    get$keys($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("keys", "get$keys", 1, [], [], 0));
    },
    get$iterator($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("iterator", "get$iterator", 1, [], [], 0));
    },
    get$length($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("length", "get$length", 1, [], [], 0));
    },
    get$location($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("location", "get$location", 1, [], [], 0));
    },
    get$line($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("line", "get$line", 1, [], [], 0));
    },
    get$name($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("name", "get$name", 1, [], [], 0));
    },
    get$message($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("message", "get$message", 1, [], [], 0));
    },
    get$kind($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("kind", "get$kind", 1, [], [], 0));
    },
    get$first($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("first", "get$first", 1, [], [], 0));
    },
    get$notify() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("notify", "get$notify", 1, [], [], 0));
    },
    get$values($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("values", "get$values", 1, [], [], 0));
    },
    get$duration($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("duration", "get$duration", 1, [], [], 0));
    },
    get$displayWidth($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("displayWidth", "get$displayWidth", 1, [], [], 0));
    },
    get$displayHeight($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("displayHeight", "get$displayHeight", 1, [], [], 0));
    },
    get$nodeIndex() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("nodeIndex", "get$nodeIndex", 1, [], [], 0));
    },
    get$major() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("major", "get$major", 1, [], [], 0));
    },
    get$minor() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("minor", "get$minor", 1, [], [], 0));
    },
    get$patch() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("patch", "get$patch", 1, [], [], 0));
    },
    get$preReleaseMajor() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("preReleaseMajor", "get$preReleaseMajor", 1, [], [], 0));
    },
    get$preReleaseMinor() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("preReleaseMinor", "get$preReleaseMinor", 1, [], [], 0));
    },
    get$isPreRelease() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("isPreRelease", "get$isPreRelease", 1, [], [], 0));
    },
    get$extension() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("extension", "get$extension", 1, [], [], 0));
    },
    get$serviceProtocolUri() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("serviceProtocolUri", "get$serviceProtocolUri", 1, [], [], 0));
    },
    get$tokenPos() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("tokenPos", "get$tokenPos", 1, [], [], 0));
    },
    get$script() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("script", "get$script", 1, [], [], 0));
    },
    get$libraryName() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("libraryName", "get$libraryName", 1, [], [], 0));
    },
    get$className($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("className", "get$className", 1, [], [], 0));
    },
    get$isEmptyReference() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("isEmptyReference", "get$isEmptyReference", 1, [], [], 0));
    },
    get$stack() {
      return this.noSuchMethod$1(this, A.createInvocationMirror("stack", "get$stack", 1, [], [], 0));
    },
    get$reversed($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("reversed", "get$reversed", 1, [], [], 0));
    },
    get$json($receiver) {
      return this.noSuchMethod$1($receiver, A.createInvocationMirror("json", "get$json", 1, [], [], 0));
    }
  };
  A._StringStackTrace.prototype = {
    toString$0(_) {
      return this._stackTrace;
    },
    $isStackTrace: 1
  };
  A.Stopwatch.prototype = {
    get$elapsedMicroseconds() {
      var ticks = this.get$elapsedTicks();
      if ($.$get$Stopwatch__frequency() === 1000000)
        return ticks;
      return ticks * 1000;
    },
    start$0(_) {
      var _this = this,
        $stop = _this._stop;
      if ($stop != null) {
        _this._core$_start = _this._core$_start + ($.Primitives_timerTicks.call$0() - $stop);
        _this._stop = null;
      }
    },
    reset$0(_) {
      var t1 = this._stop;
      this._core$_start = t1 == null ? $.Primitives_timerTicks.call$0() : t1;
    },
    get$elapsedTicks() {
      var t1 = this._stop;
      if (t1 == null)
        t1 = $.Primitives_timerTicks.call$0();
      return t1 - this._core$_start;
    }
  };
  A.RuneIterator.prototype = {
    get$current(_) {
      return this._currentCodePoint;
    },
    moveNext$0() {
      var codeUnit, nextPosition, nextCodeUnit, _this = this,
        t1 = _this._core$_position = _this._nextPosition,
        t2 = _this.string,
        t3 = t2.length;
      if (t1 === t3) {
        _this._currentCodePoint = -1;
        return false;
      }
      codeUnit = B.JSString_methods._codeUnitAt$1(t2, t1);
      nextPosition = t1 + 1;
      if ((codeUnit & 64512) === 55296 && nextPosition < t3) {
        nextCodeUnit = B.JSString_methods._codeUnitAt$1(t2, nextPosition);
        if ((nextCodeUnit & 64512) === 56320) {
          _this._nextPosition = nextPosition + 1;
          _this._currentCodePoint = A._combineSurrogatePair(codeUnit, nextCodeUnit);
          return true;
        }
      }
      _this._nextPosition = nextPosition;
      _this._currentCodePoint = codeUnit;
      return true;
    }
  };
  A.StringBuffer.prototype = {
    get$length(_) {
      return this._contents.length;
    },
    write$1(_, obj) {
      this._contents += A.S(obj);
    },
    writeCharCode$1(charCode) {
      this._contents += A.Primitives_stringFromCharCode(charCode);
    },
    writeln$1(obj) {
      this._contents += A.S(obj) + "\n";
    },
    writeln$0() {
      return this.writeln$1("");
    },
    toString$0(_) {
      var t1 = this._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.Uri_splitQueryString_closure.prototype = {
    call$2(map, element) {
      var key, value, t1,
        index = B.JSString_methods.indexOf$1(element, "=");
      if (index === -1) {
        if (element !== "")
          J.$indexSet$ax(map, A._Uri__uriDecode(element, 0, element.length, this.encoding, true), "");
      } else if (index !== 0) {
        key = B.JSString_methods.substring$2(element, 0, index);
        value = B.JSString_methods.substring$1(element, index + 1);
        t1 = this.encoding;
        J.$indexSet$ax(map, A._Uri__uriDecode(key, 0, key.length, t1, true), A._Uri__uriDecode(value, 0, value.length, t1, true));
      }
      return map;
    },
    $signature: 376
  };
  A.Uri__parseIPv4Address_error.prototype = {
    call$2(msg, position) {
      throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
    },
    $signature: 377
  };
  A.Uri_parseIPv6Address_error.prototype = {
    call$2(msg, position) {
      throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
    },
    $signature: 381
  };
  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: 352
  };
  A._Uri.prototype = {
    get$_text() {
      var t1, t2, t3, t4, _this = this,
        value = _this.___Uri__text;
      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;
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.___Uri__text = t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      return value;
    },
    get$pathSegments() {
      var pathToSplit, result, _this = this,
        value = _this.___Uri_pathSegments;
      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), A.core_Uri_decodeComponent$closure(), type$.MappedListIterable_String_dynamic), type$.String);
        if (_this.___Uri_pathSegments !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.___Uri_pathSegments = result;
      }
      return value;
    },
    get$hashCode(_) {
      var result, _this = this,
        value = _this.___Uri_hashCode;
      if (value === $) {
        result = B.JSString_methods.get$hashCode(_this.get$_text());
        if (_this.___Uri_hashCode !== $)
          A.throwUnnamedLateFieldADI();
        _this.___Uri_hashCode = result;
        value = result;
      }
      return value;
    },
    get$queryParameters() {
      var t1, _this = this,
        value = _this.___Uri_queryParameters;
      if (value === $) {
        t1 = _this._query;
        t1 = A.Uri_splitQueryString(t1 == null ? "" : t1);
        if (_this.___Uri_queryParameters !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.___Uri_queryParameters = new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_String);
      }
      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;
    },
    isScheme$1(scheme) {
      var thisScheme = this.scheme;
      if (scheme.length !== thisScheme.length)
        return false;
      return A._caseInsensitiveCompareStart(scheme, thisScheme, 0) >= 0;
    },
    replace$3$path$queryParameters$scheme(_, path, queryParameters, scheme) {
      var schemeChanged, isFile, userInfo, port, host, hasAuthority, t1, currentPath, query, _this = this,
        scheme0 = _this.scheme;
      if (scheme != null) {
        scheme = A._Uri__makeScheme(scheme, 0, scheme.length);
        schemeChanged = scheme !== scheme0;
      } else {
        scheme = scheme0;
        schemeChanged = false;
      }
      isFile = scheme === "file";
      userInfo = _this._userInfo;
      port = _this._port;
      if (schemeChanged)
        port = A._Uri__makePort(port, scheme);
      host = _this._host;
      if (!(host != null))
        host = userInfo.length !== 0 || port != null || isFile ? "" : null;
      hasAuthority = host != null;
      t1 = path == null;
      if (!t1 || false)
        path = A._Uri__makePath(path, 0, t1 ? 0 : path.length, null, scheme, hasAuthority);
      else {
        currentPath = _this.path;
        if (!isFile)
          t1 = hasAuthority && currentPath.length !== 0;
        else
          t1 = true;
        if (t1 && !B.JSString_methods.startsWith$1(currentPath, "/"))
          currentPath = "/" + currentPath;
        path = currentPath;
      }
      if (queryParameters != null)
        query = A._Uri__makeQuery(null, 0, 0, queryParameters);
      else
        query = _this._query;
      return A._Uri$_internal(scheme, userInfo, host, port, path, query, _this._fragment);
    },
    replace$1$queryParameters($receiver, queryParameters) {
      return this.replace$3$path$queryParameters$scheme($receiver, null, queryParameters, null);
    },
    replace$2$path$scheme($receiver, path, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, scheme);
    },
    replace$1$scheme($receiver, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, null, null, scheme);
    },
    replace$1$path($receiver, path) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, null);
    },
    replace$2$path$queryParameters($receiver, path, queryParameters) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, queryParameters, null);
    },
    removeFragment$0() {
      var _this = this;
      if (_this._fragment == null)
        return _this;
      return A._Uri$_internal(_this.scheme, _this._userInfo, _this._host, _this._port, _this.path, _this._query, null);
    },
    get$isAbsolute() {
      if (this.scheme !== "") {
        var t1 = this._fragment;
        t1 = (t1 == null ? "" : t1) === "";
      } else
        t1 = false;
      return t1;
    },
    _mergePaths$2(base, reference) {
      var backCount, refStart, baseEnd, newEnd, delta, t1;
      for (backCount = 0, refStart = 0; B.JSString_methods.startsWith$2(reference, "../", refStart);) {
        refStart += 3;
        ++backCount;
      }
      baseEnd = B.JSString_methods.lastIndexOf$1(base, "/");
      while (true) {
        if (!(baseEnd > 0 && backCount > 0))
          break;
        newEnd = B.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1);
        if (newEnd < 0)
          break;
        delta = baseEnd - newEnd;
        t1 = delta !== 2;
        if (!t1 || delta === 3)
          if (B.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46)
            t1 = !t1 || B.JSString_methods.codeUnitAt$1(base, newEnd + 2) === 46;
          else
            t1 = false;
        else
          t1 = false;
        if (t1)
          break;
        --backCount;
        baseEnd = newEnd;
      }
      return B.JSString_methods.replaceRange$3(base, baseEnd + 1, null, B.JSString_methods.substring$1(reference, refStart - 3 * backCount));
    },
    resolve$1(reference) {
      return this.resolveUri$1(A.Uri_parse(reference, 0, null));
    },
    resolveUri$1(reference) {
      var targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, packageNameEnd, packageName, mergedPath, t1, _this = this, _null = null;
      if (reference.get$scheme().length !== 0) {
        targetScheme = reference.get$scheme();
        if (reference.get$hasAuthority()) {
          targetUserInfo = reference.get$userInfo();
          targetHost = reference.get$host(reference);
          targetPort = reference.get$hasPort() ? reference.get$port(reference) : _null;
        } else {
          targetPort = _null;
          targetHost = targetPort;
          targetUserInfo = "";
        }
        targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
        targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
      } else {
        targetScheme = _this.scheme;
        if (reference.get$hasAuthority()) {
          targetUserInfo = reference.get$userInfo();
          targetHost = reference.get$host(reference);
          targetPort = A._Uri__makePort(reference.get$hasPort() ? reference.get$port(reference) : _null, targetScheme);
          targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
          targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
        } else {
          targetUserInfo = _this._userInfo;
          targetHost = _this._host;
          targetPort = _this._port;
          targetPath = _this.path;
          if (reference.get$path(reference) === "")
            targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _this._query;
          else {
            packageNameEnd = A._Uri__packageNameEnd(_this, targetPath);
            if (packageNameEnd > 0) {
              packageName = B.JSString_methods.substring$2(targetPath, 0, packageNameEnd);
              targetPath = reference.get$hasAbsolutePath() ? packageName + A._Uri__removeDotSegments(reference.get$path(reference)) : packageName + A._Uri__removeDotSegments(_this._mergePaths$2(B.JSString_methods.substring$1(targetPath, packageName.length), reference.get$path(reference)));
            } else if (reference.get$hasAbsolutePath())
              targetPath = A._Uri__removeDotSegments(reference.get$path(reference));
            else if (targetPath.length === 0)
              if (targetHost == null)
                targetPath = targetScheme.length === 0 ? reference.get$path(reference) : A._Uri__removeDotSegments(reference.get$path(reference));
              else
                targetPath = A._Uri__removeDotSegments("/" + reference.get$path(reference));
            else {
              mergedPath = _this._mergePaths$2(targetPath, reference.get$path(reference));
              t1 = targetScheme.length === 0;
              if (!t1 || targetHost != null || B.JSString_methods.startsWith$1(targetPath, "/"))
                targetPath = A._Uri__removeDotSegments(mergedPath);
              else
                targetPath = A._Uri__normalizeRelativePath(mergedPath, !t1 || targetHost != null);
            }
            targetQuery = reference.get$hasQuery() ? reference.get$query(reference) : _null;
          }
        }
      }
      return A._Uri$_internal(targetScheme, targetUserInfo, targetHost, targetPort, targetPath, targetQuery, reference.get$hasFragment() ? reference.get$fragment() : _null);
    },
    get$hasScheme() {
      return this.scheme.length !== 0;
    },
    get$hasAuthority() {
      return this._host != null;
    },
    get$hasPort() {
      return this._port != 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$(string$.Cannotefq));
      t1 = _this._fragment;
      if ((t1 == null ? "" : t1) !== "")
        throw A.wrapException(A.UnsupportedError$(string$.Cannoteff));
      t1 = $.$get$_Uri__isWindowsCached();
      if (t1)
        t1 = A._Uri__toWindowsFilePath(_this);
      else {
        if (_this._host != null && _this.get$host(_this) !== "")
          A.throwExpression(A.UnsupportedError$(string$.Cannoten));
        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;
    },
    get$data(_) {
      return this.scheme === "data" ? A.UriData_UriData$fromUri(this) : null;
    },
    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;
    },
    $isUri: 1,
    get$scheme() {
      return this.scheme;
    },
    get$path(receiver) {
      return this.path;
    }
  };
  A._Uri__makePath_closure.prototype = {
    call$1(s) {
      return A._Uri__uriEncode(B.List_qg40, s, B.Utf8Codec_false, false);
    },
    $signature: 15
  };
  A._Uri__makeQuery_writeParameter.prototype = {
    call$2(key, value) {
      var t1 = this.result,
        t2 = this._box_0;
      t1._contents += t2.separator;
      t2.separator = "&";
      t2 = t1._contents += A._Uri__uriEncode(B.List_nxB, key, B.Utf8Codec_false, true);
      if (value != null && value.length !== 0) {
        t1._contents = t2 + "=";
        t1._contents += A._Uri__uriEncode(B.List_nxB, value, B.Utf8Codec_false, true);
      }
    },
    $signature: 383
  };
  A._Uri__makeQuery_closure.prototype = {
    call$2(key, value) {
      var t1, t2;
      if (value == null || typeof value == "string")
        this.writeParameter.call$2(key, value);
      else
        for (t1 = J.get$iterator$ax(value), t2 = this.writeParameter; t1.moveNext$0();)
          t2.call$2(key, t1.get$current(t1));
    },
    $signature: 30
  };
  A.UriData.prototype = {
    get$uri() {
      var t2, queryIndex, end, query, _this = this, _null = null,
        t1 = _this._uriCache;
      if (t1 == null) {
        t1 = _this._text;
        t2 = _this._separatorIndices[0] + 1;
        queryIndex = B.JSString_methods.indexOf$2(t1, "?", t2);
        end = t1.length;
        if (queryIndex >= 0) {
          query = A._Uri__normalizeOrSubstring(t1, queryIndex + 1, end, B.List_CVk, false);
          end = queryIndex;
        } else
          query = _null;
        t1 = _this._uriCache = new A._DataUri(_this, "data", "", _null, _null, A._Uri__normalizeOrSubstring(t1, t2, end, B.List_qg4, false), query, _null);
      }
      return t1;
    },
    get$mimeType(_) {
      var t1 = this._separatorIndices,
        start = t1[0] + 1,
        end = t1[1];
      if (start === end)
        return "text/plain";
      return A._Uri__uriDecode(this._text, start, end, B.Utf8Codec_false, false);
    },
    get$charset(_) {
      var t1,
        charsetIndex = this._findCharsetIndex$0();
      if (charsetIndex >= 0) {
        t1 = this._separatorIndices;
        return A._Uri__uriDecode(this._text, t1[charsetIndex + 1] + 1, t1[charsetIndex + 2], B.Utf8Codec_false, false);
      }
      return "US-ASCII";
    },
    _findCharsetIndex$0() {
      var t1, i, t2, keyStart,
        separatorIndices = this._separatorIndices;
      for (t1 = this._text, i = 3; i <= separatorIndices.length; i += 2) {
        t2 = i - 2;
        keyStart = separatorIndices[t2] + 1;
        if (separatorIndices[i - 1] === keyStart + 7 && A._caseInsensitiveCompareStart("charset", t1, keyStart) >= 0)
          return t2;
      }
      return -1;
    },
    contentAsBytes$0() {
      var $length, i, result, index, codeUnit, index0, i0, byte,
        text = this._text,
        t1 = this._separatorIndices,
        start = B.JSArray_methods.get$last(t1) + 1;
      if ((t1.length & 1) === 1)
        return B.C_Base64Decoder.convert$2(text, start);
      t1 = text.length;
      $length = t1 - start;
      for (i = start; i < t1; ++i)
        if (B.JSString_methods.codeUnitAt$1(text, i) === 37) {
          i += 2;
          $length -= 2;
        }
      result = new Uint8Array($length);
      if ($length === t1) {
        B.NativeUint8List_methods.setRange$4(result, 0, $length, new A.CodeUnits(text), start);
        return result;
      }
      for (i = start, index = 0; i < t1; ++i) {
        codeUnit = B.JSString_methods.codeUnitAt$1(text, i);
        if (codeUnit !== 37) {
          index0 = index + 1;
          result[index] = codeUnit;
        } else {
          i0 = i + 2;
          if (i0 < t1) {
            byte = A.parseHexByte(text, i + 1);
            if (byte >= 0) {
              index0 = index + 1;
              result[index] = byte;
              i = i0;
              index = index0;
              continue;
            }
          }
          throw A.wrapException(A.FormatException$("Invalid percent escape", text, i));
        }
        index = index0;
      }
      return result;
    },
    contentAsString$0() {
      var text, t1, start, _this = this,
        charset = _this.get$charset(_this),
        encoding = A.Encoding_getByName(charset);
      if (encoding == null)
        throw A.wrapException(A.UnsupportedError$("Unknown charset: " + charset));
      text = _this._text;
      t1 = _this._separatorIndices;
      start = B.JSArray_methods.get$last(t1) + 1;
      if ((t1.length & 1) === 1)
        return encoding.get$decoder().convert$1(B.C_Base64Decoder.convert$1(B.JSString_methods.substring$1(text, start)));
      return A._Uri__uriDecode(text, start, text.length, encoding, false);
    },
    toString$0(_) {
      var t1 = this._text;
      return this._separatorIndices[0] === -1 ? "data:" + t1 : t1;
    }
  };
  A._createTables_build.prototype = {
    call$2(state, defaultTransition) {
      var t1 = this.tables[state];
      B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition);
      return t1;
    },
    $signature: 407
  };
  A._createTables_setChars.prototype = {
    call$3(target, chars, transition) {
      var t1, i;
      for (t1 = chars.length, i = 0; i < t1; ++i)
        target[B.JSString_methods._codeUnitAt$1(chars, i) ^ 96] = transition;
    },
    $signature: 347
  };
  A._createTables_setRange.prototype = {
    call$3(target, range, transition) {
      var i, n;
      for (i = B.JSString_methods._codeUnitAt$1(range, 0), n = B.JSString_methods._codeUnitAt$1(range, 1); i <= n; ++i)
        target[(i ^ 96) >>> 0] = transition;
    },
    $signature: 347
  };
  A._SimpleUri.prototype = {
    get$hasScheme() {
      return this._schemeEnd > 0;
    },
    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;
    },
    isScheme$1(scheme) {
      var t1 = scheme.length;
      if (t1 === 0)
        return this._schemeEnd < 0;
      if (t1 !== this._schemeEnd)
        return false;
      return A._caseInsensitiveCompareStart(scheme, this._uri, 0) >= 0;
    },
    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) {
          parts.push(B.JSString_methods.substring$2(t1, start, i));
          start = i + 1;
        }
      parts.push(B.JSString_methods.substring$2(t1, start, end));
      return A.List_List$unmodifiable(parts, type$.String);
    },
    get$queryParameters() {
      var _this = this;
      if (_this._queryStart >= _this._fragmentStart)
        return B.Map_empty3;
      return new A.UnmodifiableMapView(A.Uri_splitQueryString(_this.get$query(_this)), type$.UnmodifiableMapView_String_String);
    },
    _isPort$1(port) {
      var portDigitStart = this._portStart + 1;
      return portDigitStart + port.length === this._pathStart && B.JSString_methods.startsWith$2(this._uri, port, portDigitStart);
    },
    removeFragment$0() {
      var _this = this,
        t1 = _this._fragmentStart,
        t2 = _this._uri;
      if (t1 >= t2.length)
        return _this;
      return new A._SimpleUri(B.JSString_methods.substring$2(t2, 0, t1), _this._schemeEnd, _this._hostStart, _this._portStart, _this._pathStart, _this._queryStart, t1, _this._schemeCache);
    },
    replace$3$path$queryParameters$scheme(_, path, queryParameters, scheme) {
      var schemeChanged, isFile, t1, userInfo, port, host, hasAuthority, query, t2, fragment, _this = this, _null = null;
      if (scheme != null) {
        scheme = A._Uri__makeScheme(scheme, 0, scheme.length);
        schemeChanged = !(_this._schemeEnd === scheme.length && B.JSString_methods.startsWith$1(_this._uri, scheme));
      } else {
        scheme = _this.get$scheme();
        schemeChanged = false;
      }
      isFile = scheme === "file";
      t1 = _this._hostStart;
      userInfo = t1 > 0 ? B.JSString_methods.substring$2(_this._uri, _this._schemeEnd + 3, t1) : "";
      port = _this.get$hasPort() ? _this.get$port(_this) : _null;
      if (schemeChanged)
        port = A._Uri__makePort(port, scheme);
      t1 = _this._hostStart;
      if (t1 > 0)
        host = B.JSString_methods.substring$2(_this._uri, t1, _this._portStart);
      else
        host = userInfo.length !== 0 || port != null || isFile ? "" : _null;
      hasAuthority = host != null;
      t1 = path == null;
      if (!t1 || false)
        path = A._Uri__makePath(path, 0, t1 ? 0 : path.length, _null, scheme, hasAuthority);
      else {
        path = B.JSString_methods.substring$2(_this._uri, _this._pathStart, _this._queryStart);
        if (!isFile)
          t1 = hasAuthority && path.length !== 0;
        else
          t1 = true;
        if (t1 && !B.JSString_methods.startsWith$1(path, "/"))
          path = "/" + path;
      }
      if (queryParameters != null)
        query = A._Uri__makeQuery(_null, 0, 0, queryParameters);
      else {
        t1 = _this._queryStart;
        t2 = _this._fragmentStart;
        query = t1 < t2 ? B.JSString_methods.substring$2(_this._uri, t1 + 1, t2) : _null;
      }
      t1 = _this._fragmentStart;
      t2 = _this._uri;
      fragment = t1 < t2.length ? B.JSString_methods.substring$1(t2, t1 + 1) : _null;
      return A._Uri$_internal(scheme, userInfo, host, port, path, query, fragment);
    },
    replace$1$queryParameters($receiver, queryParameters) {
      return this.replace$3$path$queryParameters$scheme($receiver, null, queryParameters, null);
    },
    replace$2$path$scheme($receiver, path, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, scheme);
    },
    replace$1$scheme($receiver, scheme) {
      return this.replace$3$path$queryParameters$scheme($receiver, null, null, scheme);
    },
    replace$1$path($receiver, path) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, null, null);
    },
    replace$2$path$queryParameters($receiver, path, queryParameters) {
      return this.replace$3$path$queryParameters$scheme($receiver, path, queryParameters, null);
    },
    resolve$1(reference) {
      return this.resolveUri$1(A.Uri_parse(reference, 0, null));
    },
    resolveUri$1(reference) {
      if (reference instanceof A._SimpleUri)
        return this._simpleMerge$2(this, reference);
      return this._toNonSimple$0().resolveUri$1(reference);
    },
    _simpleMerge$2(base, ref) {
      var t2, t3, t4, isSimple, delta, refStart, basePathStart, packageNameEnd, basePathStart0, baseStart, baseEnd, baseUri, baseStart0, backCount, refStart0, insert,
        t1 = ref._schemeEnd;
      if (t1 > 0)
        return ref;
      t2 = ref._hostStart;
      if (t2 > 0) {
        t3 = base._schemeEnd;
        if (t3 <= 0)
          return ref;
        t4 = t3 === 4;
        if (t4 && B.JSString_methods.startsWith$1(base._uri, "file"))
          isSimple = ref._pathStart !== ref._queryStart;
        else if (t4 && B.JSString_methods.startsWith$1(base._uri, "http"))
          isSimple = !ref._isPort$1("80");
        else
          isSimple = !(t3 === 5 && B.JSString_methods.startsWith$1(base._uri, "https")) || !ref._isPort$1("443");
        if (isSimple) {
          delta = t3 + 1;
          return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, delta) + B.JSString_methods.substring$1(ref._uri, t1 + 1), t3, t2 + delta, ref._portStart + delta, ref._pathStart + delta, ref._queryStart + delta, ref._fragmentStart + delta, base._schemeCache);
        } else
          return this._toNonSimple$0().resolveUri$1(ref);
      }
      refStart = ref._pathStart;
      t1 = ref._queryStart;
      if (refStart === t1) {
        t2 = ref._fragmentStart;
        if (t1 < t2) {
          t3 = base._queryStart;
          delta = t3 - t1;
          return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, t3) + B.JSString_methods.substring$1(ref._uri, t1), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, t1 + delta, t2 + delta, base._schemeCache);
        }
        t1 = ref._uri;
        if (t2 < t1.length) {
          t3 = base._fragmentStart;
          return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, t3) + B.JSString_methods.substring$1(t1, t2), base._schemeEnd, base._hostStart, base._portStart, base._pathStart, base._queryStart, t2 + (t3 - t2), base._schemeCache);
        }
        return base.removeFragment$0();
      }
      t2 = ref._uri;
      if (B.JSString_methods.startsWith$2(t2, "/", refStart)) {
        basePathStart = base._pathStart;
        packageNameEnd = A._SimpleUri__packageNameEnd(this);
        basePathStart0 = packageNameEnd > 0 ? packageNameEnd : basePathStart;
        delta = basePathStart0 - refStart;
        return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, basePathStart0) + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, basePathStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
      }
      baseStart = base._pathStart;
      baseEnd = base._queryStart;
      if (baseStart === baseEnd && base._hostStart > 0) {
        for (; B.JSString_methods.startsWith$2(t2, "../", refStart);)
          refStart += 3;
        delta = baseStart - refStart + 1;
        return new A._SimpleUri(B.JSString_methods.substring$2(base._uri, 0, baseStart) + "/" + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
      }
      baseUri = base._uri;
      packageNameEnd = A._SimpleUri__packageNameEnd(this);
      if (packageNameEnd >= 0)
        baseStart0 = packageNameEnd;
      else
        for (baseStart0 = baseStart; B.JSString_methods.startsWith$2(baseUri, "../", baseStart0);)
          baseStart0 += 3;
      backCount = 0;
      while (true) {
        refStart0 = refStart + 3;
        if (!(refStart0 <= t1 && B.JSString_methods.startsWith$2(t2, "../", refStart)))
          break;
        ++backCount;
        refStart = refStart0;
      }
      for (insert = ""; baseEnd > baseStart0;) {
        --baseEnd;
        if (B.JSString_methods.codeUnitAt$1(baseUri, baseEnd) === 47) {
          if (backCount === 0) {
            insert = "/";
            break;
          }
          --backCount;
          insert = "/";
        }
      }
      if (baseEnd === baseStart0 && base._schemeEnd <= 0 && !B.JSString_methods.startsWith$2(baseUri, "/", baseStart)) {
        refStart -= backCount * 3;
        insert = "";
      }
      delta = baseEnd - refStart + insert.length;
      return new A._SimpleUri(B.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + B.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, t1 + delta, ref._fragmentStart + delta, base._schemeCache);
    },
    toFilePath$0() {
      var t2, t3, _this = this,
        t1 = _this._schemeEnd;
      if (t1 >= 0) {
        t2 = !(t1 === 4 && B.JSString_methods.startsWith$1(_this._uri, "file"));
        t1 = t2;
      } else
        t1 = false;
      if (t1)
        throw A.wrapException(A.UnsupportedError$("Cannot extract a file path from a " + _this.get$scheme() + " URI"));
      t1 = _this._queryStart;
      t2 = _this._uri;
      if (t1 < t2.length) {
        if (t1 < _this._fragmentStart)
          throw A.wrapException(A.UnsupportedError$(string$.Cannotefq));
        throw A.wrapException(A.UnsupportedError$(string$.Cannoteff));
      }
      t3 = $.$get$_Uri__isWindowsCached();
      if (t3)
        t1 = A._Uri__toWindowsFilePath(_this);
      else {
        if (_this._hostStart < _this._portStart)
          A.throwExpression(A.UnsupportedError$(string$.Cannoten));
        t1 = B.JSString_methods.substring$2(t2, _this._pathStart, t1);
      }
      return t1;
    },
    get$data(_) {
      return null;
    },
    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);
    },
    _toNonSimple$0() {
      var _this = this, _null = null,
        t1 = _this.get$scheme(),
        t2 = _this.get$userInfo(),
        t3 = _this._hostStart > 0 ? _this.get$host(_this) : _null,
        t4 = _this.get$hasPort() ? _this.get$port(_this) : _null,
        t5 = _this._uri,
        t6 = _this._queryStart,
        t7 = B.JSString_methods.substring$2(t5, _this._pathStart, t6),
        t8 = _this._fragmentStart;
      t6 = t6 < t8 ? _this.get$query(_this) : _null;
      return A._Uri$_internal(t1, t2, t3, t4, t7, t6, t8 < t5.length ? _this.get$fragment() : _null);
    },
    toString$0(_) {
      return this._uri;
    },
    $isUri: 1
  };
  A._DataUri.prototype = {
    get$data(_) {
      return this._core$_data;
    }
  };
  A.Expando.prototype = {
    $index(_, object) {
      var t1 = A._isBool(object) || typeof object == "number" || typeof object == "string";
      if (t1)
        A.throwExpression(A.ArgumentError$value(object, string$.Expand, null));
      return this._jsWeakMap.get(object);
    },
    $indexSet(_, object, value) {
      this._jsWeakMap.set(object, value);
    },
    toString$0(_) {
      return "Expando:null";
    },
    get$name() {
      return null;
    }
  };
  A._FakeUserTag.prototype = {};
  A.ServiceExtensionResponse.prototype = {};
  A.TimelineTask.prototype = {
    start$2$arguments(_, $name, $arguments) {
      A.ArgumentError_checkNotNull($name, "name");
      this._stack.push(null);
      return;
    },
    start$1($receiver, $name) {
      return this.start$2$arguments($receiver, $name, null);
    },
    finish$1$arguments(_, $arguments) {
      var t1 = this._stack;
      if (t1.length === 0)
        throw A.wrapException(A.StateError$("Uneven calls to start and finish"));
      if (t1.pop() == null)
        return;
      A._argumentsAsJson($arguments);
    },
    finish$0($receiver) {
      return this.finish$1$arguments($receiver, null);
    }
  };
  A.HtmlElement.prototype = {$isHtmlElement: 1};
  A.AccessibleNodeList.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.AnchorElement.prototype = {
    toString$0(receiver) {
      return String(receiver);
    }
  };
  A.ApplicationCacheErrorEvent.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.AreaElement.prototype = {
    toString$0(receiver) {
      return String(receiver);
    }
  };
  A.Blob.prototype = {$isBlob: 1};
  A.Body.prototype = {
    json$0(receiver) {
      return A.promiseToFuture(receiver.json(), type$.dynamic);
    }
  };
  A.BroadcastChannel.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.ButtonElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.CacheStorage.prototype = {
    keys$0(receiver) {
      return A.promiseToFuture(receiver.keys(), type$.dynamic);
    }
  };
  A.CanvasElement.prototype = {
    getContext$2(receiver, contextId, attributes) {
      var t1 = receiver.getContext(contextId, A.convertDartToNative_Dictionary(attributes));
      return t1;
    },
    $isCanvasElement: 1
  };
  A.CanvasRenderingContext2D.prototype = {
    fillText$3(receiver, text, x, y) {
      receiver.fillText(text, x, y);
    }
  };
  A.CharacterData.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.CloseEvent.prototype = {$isCloseEvent: 1};
  A.Credential.prototype = {};
  A.CredentialUserData.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.CssKeyframesRule.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.CssPerspective.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.CssRule.prototype = {$isCssRule: 1};
  A.CssStyleDeclaration.prototype = {
    _browserPropertyName$1(receiver, propertyName) {
      var t1 = $.$get$CssStyleDeclaration__propertyCache(),
        $name = t1[propertyName];
      if (typeof $name == "string")
        return $name;
      $name = this._supportedBrowserPropertyName$1(receiver, propertyName);
      t1[propertyName] = $name;
      return $name;
    },
    _supportedBrowserPropertyName$1(receiver, propertyName) {
      var prefixed;
      if (propertyName.replace(/^-ms-/, "ms-").replace(/-([\da-z])/ig, function(_, letter) {
        return letter.toUpperCase();
      }) in receiver)
        return propertyName;
      prefixed = $.$get$Device_cssPrefix() + propertyName;
      if (prefixed in receiver)
        return prefixed;
      return propertyName;
    },
    _setPropertyHelper$3(receiver, propertyName, value, priority) {
      if (priority == null)
        priority = "";
      receiver.setProperty(propertyName, value, priority);
    },
    get$length(receiver) {
      return receiver.length;
    },
    set$height(receiver, value) {
      receiver.height = value;
    },
    set$left(receiver, value) {
      receiver.left = value;
    },
    set$overflow(receiver, value) {
      receiver.overflow = value;
    },
    set$position(receiver, value) {
      receiver.position = value;
    },
    set$top(receiver, value) {
      receiver.top = value;
    },
    set$width(receiver, value) {
      receiver.width = value;
    }
  };
  A.CssStyleDeclarationBase.prototype = {};
  A.CssStyleSheet.prototype = {$isCssStyleSheet: 1};
  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.DataTransferItem.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    }
  };
  A.DataTransferItemList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      return receiver[index];
    }
  };
  A.DeprecationReport.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.DivElement.prototype = {};
  A.Document0.prototype = {
    createElementNS$2(receiver, namespaceURI, qualifiedName) {
      var t1 = receiver.createElementNS(namespaceURI, qualifiedName);
      return t1;
    },
    $isDocument0: 1
  };
  A.DomError.prototype = {
    get$message(receiver) {
      return receiver.message;
    },
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.DomException0.prototype = {
    get$name(receiver) {
      var errorName = receiver.name,
        t1 = $.$get$Device_isWebKit();
      if (t1 && errorName === "SECURITY_ERR")
        return "SecurityError";
      if (t1 && errorName === "SYNTAX_ERR")
        return "SyntaxError";
      return errorName;
    },
    get$message(receiver) {
      return receiver.message;
    },
    toString$0(receiver) {
      return String(receiver);
    },
    $isDomException0: 1
  };
  A.DomRectList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.DomRectReadOnly0.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 = J.getInterceptor$x(other);
        if (t1 === t2.get$left(other)) {
          t1 = receiver.top;
          t1.toString;
          t1 = t1 === t2.get$top(other) && this.get$width(receiver) === t2.get$width(other) && this.get$height(receiver) === t2.get$height(other);
        } 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), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    get$_height(receiver) {
      return receiver.height;
    },
    get$height(receiver) {
      var t1 = this.get$_height(receiver);
      t1.toString;
      return t1;
    },
    get$left(receiver) {
      var t1 = receiver.left;
      t1.toString;
      return t1;
    },
    get$top(receiver) {
      var t1 = receiver.top;
      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) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.DomTokenList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    contains$1(receiver, token) {
      return receiver.contains(token);
    }
  };
  A._ChildrenElementList.prototype = {
    contains$1(_, element) {
      return J.contains$1$asx(this._html$_childElements, element);
    },
    get$isEmpty(_) {
      return this._html$_element.firstElementChild == null;
    },
    get$length(_) {
      return this._html$_childElements.length;
    },
    $index(_, index) {
      return type$.Element._as(this._html$_childElements[index]);
    },
    $indexSet(_, index, value) {
      this._html$_element.replaceChild(value, this._html$_childElements[index]);
    },
    set$length(_, newLength) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize element lists"));
    },
    add$1(_, value) {
      this._html$_element.appendChild(value);
      return value;
    },
    get$iterator(_) {
      var t1 = this.toList$0(this);
      return new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    },
    addAll$1(_, iterable) {
      A._ChildrenElementList__addAll(this._html$_element, iterable);
    },
    sort$1(_, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot sort element lists"));
    },
    fillRange$3(_, start, end, fillValue) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    removeRange$2(_, start, end) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    setRange$4(_, start, end, iterable, skipCount) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    remove$1(_, object) {
      return A._ChildrenElementList__remove(this._html$_element, object);
    },
    insertAll$2(_, index, iterable) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    setAll$2(_, index, iterable) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    clear$0(_) {
      J._clearChildren$0$x(this._html$_element);
    },
    removeAt$1(_, index) {
      var result = type$.Element._as(this._html$_childElements[index]);
      this._html$_element.removeChild(result);
      return result;
    },
    removeLast$0(_) {
      var result = this.get$last(this);
      this._html$_element.removeChild(result);
      return result;
    },
    get$first(_) {
      return A._ChildrenElementList__first(this._html$_element);
    },
    get$last(_) {
      var result = this._html$_element.lastElementChild;
      if (result == null)
        throw A.wrapException(A.StateError$("No elements"));
      return result;
    }
  };
  A._FrozenElementList.prototype = {
    get$length(_) {
      return this._nodeList.length;
    },
    $index(_, index) {
      return this.$ti._precomputed1._as(this._nodeList[index]);
    },
    $indexSet(_, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify list"));
    },
    set$length(_, newLength) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify list"));
    },
    sort$1(_, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot sort list"));
    },
    get$first(_) {
      return this.$ti._precomputed1._as(B.NodeList_methods.get$first(this._nodeList));
    },
    get$last(_) {
      return this.$ti._precomputed1._as(B.NodeList_methods.get$last(this._nodeList));
    }
  };
  A.Element1.prototype = {
    get$children(receiver) {
      return new A._ChildrenElementList(receiver, receiver.children);
    },
    getComputedStyle$0(receiver) {
      return window.getComputedStyle(receiver, "");
    },
    toString$0(receiver) {
      return receiver.localName;
    },
    click$0(receiver) {
      return receiver.click();
    },
    focus$0(receiver) {
      return receiver.focus();
    },
    get$className(receiver) {
      return receiver.className;
    },
    $isElement1: 1
  };
  A.EmbedElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.Entry.prototype = {
    get$name(receiver) {
      return receiver.name;
    },
    _html$_remove$2(receiver, successCallback, errorCallback) {
      return receiver.remove(A.convertDartClosureToJS(successCallback, 0), A.convertDartClosureToJS(errorCallback, 1));
    },
    remove$0(receiver) {
      var t1 = new A._Future($.Zone__current, type$._Future_dynamic),
        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_dynamic);
      this._html$_remove$2(receiver, new A.Entry_remove_closure(completer), new A.Entry_remove_closure0(completer));
      return t1;
    }
  };
  A.Entry_remove_closure.prototype = {
    call$0() {
      this.completer.complete$0(0);
    },
    $signature: 0
  };
  A.Entry_remove_closure0.prototype = {
    call$1(error) {
      this.completer.completeError$1(error);
    },
    $signature: 412
  };
  A.ErrorEvent.prototype = {
    get$message(receiver) {
      return receiver.message;
    },
    $isErrorEvent: 1
  };
  A.Event0.prototype = {
    get$target(receiver) {
      return A._convertNativeToDart_EventTarget(receiver.target);
    },
    $isEvent0: 1
  };
  A.EventSource.prototype = {};
  A.EventTarget.prototype = {
    addEventListener$3(receiver, type, listener, useCapture) {
      if (listener != null)
        this._addEventListener$3(receiver, type, listener, useCapture);
    },
    addEventListener$2($receiver, type, listener) {
      return this.addEventListener$3($receiver, type, listener, null);
    },
    removeEventListener$3(receiver, type, listener, useCapture) {
      if (listener != null)
        this._removeEventListener$3(receiver, type, listener, useCapture);
    },
    removeEventListener$2($receiver, type, listener) {
      return this.removeEventListener$3($receiver, type, listener, null);
    },
    _addEventListener$3(receiver, type, listener, options) {
      return receiver.addEventListener(type, A.convertDartClosureToJS(listener, 1), options);
    },
    _removeEventListener$3(receiver, type, listener, options) {
      return receiver.removeEventListener(type, A.convertDartClosureToJS(listener, 1), options);
    }
  };
  A.FederatedCredential.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.FieldSetElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.File.prototype = {
    get$name(receiver) {
      return receiver.name;
    },
    $isFile: 1
  };
  A.FileList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1,
    $isFileList: 1
  };
  A.FileReader.prototype = {
    get$result(receiver) {
      var res = receiver.result;
      if (type$.ByteBuffer._is(res))
        return A.NativeUint8List_NativeUint8List$view(res, 0, null);
      return res;
    },
    readAsText$1(receiver, blob) {
      return receiver.readAsText(blob);
    }
  };
  A.FileSystem.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.FileWriter.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.FormElement.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    get$name(receiver) {
      return receiver.name;
    },
    $isFormElement: 1
  };
  A.Gamepad.prototype = {$isGamepad: 1};
  A.History.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.HtmlCollection.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.HtmlDocument.prototype = {};
  A.HttpRequest.prototype = {
    get$responseHeaders(receiver) {
      var _i, header, t2, splitIdx, key, value,
        t1 = type$.String,
        headers = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
        headersString = receiver.getAllResponseHeaders(),
        headersList = headersString.split("\r\n");
      for (t1 = headersList.length, _i = 0; _i < t1; ++_i) {
        header = headersList[_i];
        t2 = J.getInterceptor$asx(header);
        if (t2.get$length(header) === 0)
          continue;
        splitIdx = t2.indexOf$1(header, ": ");
        if (splitIdx === -1)
          continue;
        key = t2.substring$2(header, 0, splitIdx).toLowerCase();
        value = t2.substring$1(header, splitIdx + 2);
        if (headers.containsKey$1(0, key))
          headers.$indexSet(0, key, A.S(headers.$index(0, key)) + ", " + value);
        else
          headers.$indexSet(0, key, value);
      }
      return headers;
    },
    open$3$async(receiver, method, url, async) {
      return receiver.open(method, url, true);
    },
    send$1(receiver, body_OR_data) {
      return receiver.send(body_OR_data);
    },
    setRequestHeader$2(receiver, $name, value) {
      return receiver.setRequestHeader($name, value);
    },
    $isHttpRequest: 1
  };
  A.HttpRequest_request_closure.prototype = {
    call$1(e) {
      var accepted, unknownRedirect, t3,
        t1 = this.xhr,
        t2 = t1.status;
      t2.toString;
      accepted = t2 >= 200 && t2 < 300;
      unknownRedirect = t2 > 307 && t2 < 400;
      t2 = accepted || t2 === 0 || t2 === 304 || unknownRedirect;
      t3 = this.completer;
      if (t2)
        t3.complete$1(0, t1);
      else
        t3.completeError$1(e);
    },
    $signature: 342
  };
  A.HttpRequestEventTarget.prototype = {};
  A.IFrameElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.ImageData.prototype = {$isImageData: 1};
  A.ImageElement.prototype = {$isImageElement: 1};
  A.InputElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    },
    $isInputElement: 1
  };
  A.InterventionReport.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.KeyboardEvent.prototype = {
    get$location(receiver) {
      return receiver.location;
    },
    $isKeyboardEvent: 1
  };
  A.LabelElement.prototype = {};
  A.Location.prototype = {
    toString$0(receiver) {
      return String(receiver);
    }
  };
  A.MapElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.MediaDeviceInfo.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    }
  };
  A.MediaError.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.MediaKeyMessageEvent.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.MediaKeySession.prototype = {
    remove$0(receiver) {
      return A.promiseToFuture(receiver.remove(), type$.dynamic);
    }
  };
  A.MediaList.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.MediaQueryList.prototype = {
    addListener$1(receiver, listener) {
      return receiver.addListener(A.convertDartClosureToJS(listener, 1));
    },
    removeListener$1(receiver, listener) {
      return receiver.removeListener(A.convertDartClosureToJS(listener, 1));
    }
  };
  A.MediaQueryListEvent.prototype = {$isMediaQueryListEvent: 1};
  A.MediaStreamTrack.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    }
  };
  A.MessageEvent.prototype = {$isMessageEvent: 1};
  A.MessagePort.prototype = {
    addEventListener$3(receiver, type, listener, useCapture) {
      if (type === "message")
        receiver.start();
      this.super$EventTarget$addEventListener(receiver, type, listener, false);
    },
    $isMessagePort: 1
  };
  A.MetaElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    },
    $isMetaElement: 1
  };
  A.MidiInputMap.prototype = {
    addAll$1(receiver, other) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    containsKey$1(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], 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) {
      return receiver.size;
    },
    get$isEmpty(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty(receiver) {
      return receiver.size !== 0;
    },
    $indexSet(receiver, key, value) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2(receiver, key, ifAbsent) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    remove$1(receiver, key) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    clear$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  A.MidiInputMap_keys_closure.prototype = {
    call$2(k, v) {
      return this.keys.push(k);
    },
    $signature: 30
  };
  A.MidiInputMap_values_closure.prototype = {
    call$2(k, v) {
      return this.values.push(v);
    },
    $signature: 30
  };
  A.MidiOutputMap.prototype = {
    addAll$1(receiver, other) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    containsKey$1(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], 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) {
      return receiver.size;
    },
    get$isEmpty(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty(receiver) {
      return receiver.size !== 0;
    },
    $indexSet(receiver, key, value) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2(receiver, key, ifAbsent) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    remove$1(receiver, key) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    clear$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  A.MidiOutputMap_keys_closure.prototype = {
    call$2(k, v) {
      return this.keys.push(k);
    },
    $signature: 30
  };
  A.MidiOutputMap_values_closure.prototype = {
    call$2(k, v) {
      return this.values.push(v);
    },
    $signature: 30
  };
  A.MidiPort.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.MimeType.prototype = {$isMimeType: 1};
  A.MimeTypeArray.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.MouseEvent.prototype = {
    get$offset(receiver) {
      var t1, t2, target, t3, t4, t5, point;
      if (!!receiver.offsetX)
        return new A.Point(receiver.offsetX, receiver.offsetY, type$.Point_num);
      else {
        t1 = receiver.target;
        t2 = type$.Element;
        if (!t2._is(A._convertNativeToDart_EventTarget(t1)))
          throw A.wrapException(A.UnsupportedError$("offsetX is only supported on elements"));
        target = t2._as(A._convertNativeToDart_EventTarget(t1));
        t1 = receiver.clientX;
        t2 = receiver.clientY;
        t3 = type$.Point_num;
        t4 = target.getBoundingClientRect();
        t5 = t4.left;
        t5.toString;
        t4 = t4.top;
        t4.toString;
        point = new A.Point(t1, t2, t3).$sub(0, new A.Point(t5, t4, t3));
        return new A.Point(B.JSNumber_methods.toInt$0(point.x), B.JSNumber_methods.toInt$0(point.y), t3);
      }
    },
    $isMouseEvent: 1
  };
  A.MutationObserver.prototype = {
    observe$3$attributeFilter$attributes(receiver, target, attributeFilter, attributes) {
      var _null = null, parsedOptions = {},
        t1 = new A.MutationObserver_observe_override(parsedOptions);
      t1.call$2("childList", _null);
      t1.call$2("attributes", true);
      t1.call$2("characterData", _null);
      t1.call$2("subtree", _null);
      t1.call$2("attributeOldValue", _null);
      t1.call$2("characterDataOldValue", _null);
      t1.call$2("attributeFilter", attributeFilter);
      receiver.observe(target, parsedOptions);
    },
    $isMutationObserver: 1
  };
  A.MutationObserver_observe_override.prototype = {
    call$2(key, value) {
      if (value != null)
        this.parsedOptions[key] = value;
    },
    $signature: 331
  };
  A.MutationRecord.prototype = {$isMutationRecord: 1};
  A.NavigatorUserMediaError.prototype = {
    get$message(receiver) {
      return receiver.message;
    },
    get$name(receiver) {
      return receiver.name;
    }
  };
  A._ChildNodeListLazy.prototype = {
    get$first(_) {
      var result = this._this.firstChild;
      if (result == null)
        throw A.wrapException(A.StateError$("No elements"));
      return result;
    },
    get$last(_) {
      var result = this._this.lastChild;
      if (result == null)
        throw A.wrapException(A.StateError$("No elements"));
      return result;
    },
    add$1(_, value) {
      this._this.appendChild(value);
    },
    addAll$1(_, iterable) {
      var t1, t2, len, i, t3;
      if (iterable instanceof A._ChildNodeListLazy) {
        t1 = iterable._this;
        t2 = this._this;
        if (t1 !== t2)
          for (len = t1.childNodes.length, i = 0; i < len; ++i) {
            t3 = t1.firstChild;
            t3.toString;
            t2.appendChild(t3);
          }
        return;
      }
      for (t1 = J.get$iterator$ax(iterable), t2 = this._this; t1.moveNext$0();)
        t2.appendChild(t1.get$current(t1));
    },
    insertAll$2(_, index, iterable) {
      var t1 = this._this,
        t2 = t1.childNodes;
      if (index === t2.length)
        this.addAll$1(0, iterable);
      else
        J.insertAllBefore$2$x(t1, iterable, t2[index]);
    },
    setAll$2(_, index, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot setAll on Node list"));
    },
    removeLast$0(_) {
      var result = this.get$last(this);
      this._this.removeChild(result);
      return result;
    },
    removeAt$1(_, index) {
      var t1 = this._this,
        result = t1.childNodes[index];
      t1.removeChild(result);
      return result;
    },
    remove$1(_, object) {
      return false;
    },
    clear$0(_) {
      J._clearChildren$0$x(this._this);
    },
    $indexSet(_, index, value) {
      var t1 = this._this;
      t1.replaceChild(value, t1.childNodes[index]);
    },
    get$iterator(_) {
      var t1 = this._this.childNodes;
      return new A.FixedSizeListIterator(t1, t1.length, A.instanceType(t1)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
    },
    sort$1(_, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot sort Node list"));
    },
    setRange$4(_, start, end, iterable, skipCount) {
      throw A.wrapException(A.UnsupportedError$("Cannot setRange on Node list"));
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    fillRange$3(_, start, end, fill) {
      throw A.wrapException(A.UnsupportedError$("Cannot fillRange on Node list"));
    },
    removeRange$2(_, start, end) {
      throw A.wrapException(A.UnsupportedError$("Cannot removeRange on Node list"));
    },
    get$length(_) {
      return this._this.childNodes.length;
    },
    set$length(_, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot set length on immutable List."));
    },
    $index(_, index) {
      return this._this.childNodes[index];
    }
  };
  A.Node0.prototype = {
    remove$0(receiver) {
      var t1 = receiver.parentNode;
      if (t1 != null)
        t1.removeChild(receiver);
    },
    replaceWith$1(receiver, otherNode) {
      var $parent, t1, exception;
      try {
        t1 = receiver.parentNode;
        t1.toString;
        $parent = t1;
        J._replaceChild$2$x($parent, otherNode, receiver);
      } catch (exception) {
      }
      return receiver;
    },
    insertAllBefore$2(receiver, newNodes, child) {
      var t1, len, i, t2;
      if (newNodes instanceof A._ChildNodeListLazy) {
        t1 = newNodes._this;
        if (t1 === receiver)
          throw A.wrapException(A.ArgumentError$(newNodes, null));
        for (len = t1.childNodes.length, i = 0; i < len; ++i) {
          t2 = t1.firstChild;
          t2.toString;
          receiver.insertBefore(t2, child);
        }
      } else
        for (t1 = J.get$iterator$ax(newNodes); t1.moveNext$0();)
          receiver.insertBefore(t1.get$current(t1), child);
    },
    _clearChildren$0(receiver) {
      var t1;
      for (; t1 = receiver.firstChild, t1 != null;)
        receiver.removeChild(t1);
    },
    toString$0(receiver) {
      var value = receiver.nodeValue;
      return value == null ? this.super$Interceptor$toString(receiver) : value;
    },
    contains$1(receiver, other) {
      return receiver.contains(other);
    },
    _replaceChild$2(receiver, node, child) {
      return receiver.replaceChild(node, child);
    },
    $isNode0: 1
  };
  A.NodeList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.Notification_requestPermission_closure.prototype = {
    call$1(value) {
      this.completer.complete$1(0, value);
    },
    $signature: 12
  };
  A.ObjectElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.OffscreenCanvas.prototype = {
    getContext$2(receiver, contextType, attributes) {
      var t1 = receiver.getContext(contextType, A.convertDartToNative_Dictionary(attributes));
      return t1;
    }
  };
  A.OutputElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.OverconstrainedError.prototype = {
    get$message(receiver) {
      return receiver.message;
    },
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.ParamElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.PasswordCredential.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.PaymentInstruments.prototype = {
    keys$0(receiver) {
      return A.promiseToFuture(receiver.keys(), type$.List_dynamic);
    }
  };
  A.PerformanceEntry.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.PerformanceServerTiming.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.Plugin.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    get$name(receiver) {
      return receiver.name;
    },
    $isPlugin: 1
  };
  A.PluginArray.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.PointerEvent0.prototype = {$isPointerEvent0: 1};
  A.PositionError.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.PresentationConnectionCloseEvent.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.ProgressEvent.prototype = {$isProgressEvent: 1};
  A.PushMessageData.prototype = {
    json$0(receiver) {
      return receiver.json();
    }
  };
  A.ReportBody.prototype = {};
  A.RtcStatsReport.prototype = {
    addAll$1(receiver, other) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    containsKey$1(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], 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) {
      return receiver.size;
    },
    get$isEmpty(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty(receiver) {
      return receiver.size !== 0;
    },
    $indexSet(receiver, key, value) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2(receiver, key, ifAbsent) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    remove$1(receiver, key) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    clear$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  A.RtcStatsReport_keys_closure.prototype = {
    call$2(k, v) {
      return this.keys.push(k);
    },
    $signature: 30
  };
  A.RtcStatsReport_values_closure.prototype = {
    call$2(k, v) {
      return this.values.push(v);
    },
    $signature: 30
  };
  A.ScreenOrientation.prototype = {
    unlock$0(receiver) {
      return receiver.unlock();
    }
  };
  A.SelectElement.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.SharedWorkerGlobalScope.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.SlotElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.SourceBuffer.prototype = {$isSourceBuffer: 1};
  A.SourceBufferList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.SpeechGrammar.prototype = {$isSpeechGrammar: 1};
  A.SpeechGrammarList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.SpeechRecognitionError.prototype = {
    get$message(receiver) {
      return receiver.message;
    }
  };
  A.SpeechRecognitionResult.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $isSpeechRecognitionResult: 1
  };
  A.SpeechSynthesisEvent.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.SpeechSynthesisVoice.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.Storage.prototype = {
    addAll$1(receiver, other) {
      other.forEach$1(0, new A.Storage_addAll_closure(receiver));
    },
    containsKey$1(receiver, key) {
      return receiver.getItem(A._asString(key)) != null;
    },
    $index(receiver, key) {
      return receiver.getItem(A._asString(key));
    },
    $indexSet(receiver, key, value) {
      receiver.setItem(key, value);
    },
    putIfAbsent$2(receiver, key, ifAbsent) {
      var t1;
      if (receiver.getItem(key) == null)
        receiver.setItem(key, ifAbsent.call$0());
      t1 = receiver.getItem(key);
      return t1 == null ? A._asString(t1) : t1;
    },
    remove$1(receiver, key) {
      var value;
      A._asString(key);
      value = receiver.getItem(key);
      receiver.removeItem(key);
      return value;
    },
    clear$0(receiver) {
      return receiver.clear();
    },
    forEach$1(receiver, f) {
      var i, key, t1;
      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) {
      return receiver.length;
    },
    get$isEmpty(receiver) {
      return receiver.key(0) == null;
    },
    get$isNotEmpty(receiver) {
      return receiver.key(0) != null;
    },
    $isMap: 1
  };
  A.Storage_addAll_closure.prototype = {
    call$2(k, v) {
      this.$this.setItem(k, v);
    },
    $signature: 71
  };
  A.Storage_keys_closure.prototype = {
    call$2(k, v) {
      return this.keys.push(k);
    },
    $signature: 71
  };
  A.Storage_values_closure.prototype = {
    call$2(k, v) {
      return this.values.push(v);
    },
    $signature: 71
  };
  A.StyleElement.prototype = {};
  A.StyleSheet.prototype = {$isStyleSheet: 1};
  A.TextAreaElement.prototype = {
    get$name(receiver) {
      return receiver.name;
    },
    $isTextAreaElement: 1
  };
  A.TextTrack.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    },
    $isTextTrack: 1
  };
  A.TextTrackCue.prototype = {$isTextTrackCue: 1};
  A.TextTrackCueList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.TextTrackList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.TimeRanges.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.Touch.prototype = {$isTouch: 1};
  A.TouchEvent.prototype = {$isTouchEvent: 1};
  A.TouchList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.TrackDefaultList.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.TrackElement.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    }
  };
  A.UIEvent.prototype = {};
  A.Url.prototype = {
    toString$0(receiver) {
      return String(receiver);
    }
  };
  A.VideoTrack.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    }
  };
  A.VideoTrackList.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.VttCue.prototype = {
    get$line(receiver) {
      return receiver.line;
    }
  };
  A.WebSocket0.prototype = {
    send$1(receiver, data) {
      return receiver.send(data);
    }
  };
  A.WheelEvent.prototype = {
    get$deltaY(receiver) {
      var value = receiver.deltaY;
      if (value != null)
        return value;
      throw A.wrapException(A.UnsupportedError$("deltaY is not supported"));
    },
    get$deltaX(receiver) {
      var value = receiver.deltaX;
      if (value != null)
        return value;
      throw A.wrapException(A.UnsupportedError$("deltaX is not supported"));
    },
    get$deltaMode(receiver) {
      if (!!receiver.deltaMode)
        return receiver.deltaMode;
      return 0;
    },
    $isWheelEvent: 1
  };
  A.Window.prototype = {
    open$2(receiver, url, $name) {
      var t1 = A._DOMWindowCrossFrame__createSafe(receiver.open(url, $name));
      return t1;
    },
    get$location(receiver) {
      return receiver.location;
    },
    requestAnimationFrame$1(receiver, callback) {
      var t1;
      this._ensureRequestAnimationFrame$0(receiver);
      t1 = A._wrapZone(callback, type$.num);
      t1.toString;
      return this._requestAnimationFrame$1(receiver, t1);
    },
    _requestAnimationFrame$1(receiver, callback) {
      return receiver.requestAnimationFrame(A.convertDartClosureToJS(callback, 1));
    },
    _ensureRequestAnimationFrame$0(receiver) {
      if (!!(receiver.requestAnimationFrame && receiver.cancelAnimationFrame))
        return;
      (function($this) {
        var vendors = ["ms", "moz", "webkit", "o"];
        for (var i = 0; i < vendors.length && !$this.requestAnimationFrame; ++i) {
          $this.requestAnimationFrame = $this[vendors[i] + "RequestAnimationFrame"];
          $this.cancelAnimationFrame = $this[vendors[i] + "CancelAnimationFrame"] || $this[vendors[i] + "CancelRequestAnimationFrame"];
        }
        if ($this.requestAnimationFrame && $this.cancelAnimationFrame)
          return;
        $this.requestAnimationFrame = function(callback) {
          return window.setTimeout(function() {
            callback(Date.now());
          }, 16);
        };
        $this.cancelAnimationFrame = function(id) {
          clearTimeout(id);
        };
      })(receiver);
    },
    get$name(receiver) {
      return receiver.name;
    },
    postMessage$2(receiver, message, targetOrigin) {
      receiver.postMessage(new A._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin);
      return;
    },
    $isWindow: 1
  };
  A.WorkerGlobalScope.prototype = {
    get$location(receiver) {
      return receiver.location;
    },
    $isWorkerGlobalScope: 1
  };
  A._Attr.prototype = {
    get$name(receiver) {
      return receiver.name;
    },
    $is_Attr: 1
  };
  A._CssRuleList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      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 = J.getInterceptor$x(other);
        if (t1 === t2.get$left(other)) {
          t1 = receiver.top;
          t1.toString;
          if (t1 === t2.get$top(other)) {
            t1 = receiver.width;
            t1.toString;
            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, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    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) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A._NamedNodeMap.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A._SpeechRecognitionResultList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A._StyleSheetList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver[index];
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return receiver[index];
    },
    $isJSIndexable: 1,
    $isEfficientLengthIterable: 1,
    $isJavaScriptIndexingBehavior: 1,
    $isIterable: 1,
    $isList: 1
  };
  A._AttributeMap.prototype = {
    addAll$1(_, other) {
      other.forEach$1(0, new A._AttributeMap_addAll_closure(this));
    },
    cast$2$0(_, $K, $V) {
      var t1 = type$.String;
      return A.Map_castFrom(this, t1, t1, $K, $V);
    },
    putIfAbsent$2(_, key, ifAbsent) {
      var t1 = this._html$_element,
        t2 = t1.hasAttribute(key);
      if (!t2)
        t1.setAttribute(key, ifAbsent.call$0());
      t1 = t1.getAttribute(key);
      return t1 == null ? A._asString(t1) : t1;
    },
    clear$0(_) {
      var t1, t2, t3, _i, key;
      for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._html$_element, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        key = t1[_i];
        if (typeof key == "string")
          t3.removeAttribute(key);
      }
    },
    forEach$1(_, f) {
      var t1, t2, t3, _i, t4, value;
      for (t1 = this.get$keys(this), t2 = t1.length, t3 = this._html$_element, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        t4 = A._asString(t1[_i]);
        value = t3.getAttribute(t4);
        f.call$2(t4, value == null ? A._asString(value) : value);
      }
    },
    get$keys(_) {
      var keys, len, t2, i, attr, t3,
        t1 = this._html$_element.attributes;
      t1.toString;
      keys = A._setArrayType([], type$.JSArray_String);
      for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) {
        attr = t2._as(t1[i]);
        if (attr.namespaceURI == null) {
          t3 = attr.name;
          t3.toString;
          keys.push(t3);
        }
      }
      return keys;
    },
    get$values(_) {
      var values, len, t2, i, attr, t3,
        t1 = this._html$_element.attributes;
      t1.toString;
      values = A._setArrayType([], type$.JSArray_String);
      for (len = t1.length, t2 = type$._Attr, i = 0; i < len; ++i) {
        attr = t2._as(t1[i]);
        if (attr.namespaceURI == null) {
          t3 = attr.value;
          t3.toString;
          values.push(t3);
        }
      }
      return values;
    },
    get$isEmpty(_) {
      return this.get$keys(this).length === 0;
    },
    get$isNotEmpty(_) {
      return this.get$keys(this).length !== 0;
    }
  };
  A._AttributeMap_addAll_closure.prototype = {
    call$2(k, v) {
      this.$this._html$_element.setAttribute(k, v);
    },
    $signature: 71
  };
  A._ElementAttributeMap.prototype = {
    containsKey$1(_, key) {
      return typeof key == "string" && this._html$_element.hasAttribute(key);
    },
    $index(_, key) {
      return this._html$_element.getAttribute(A._asString(key));
    },
    $indexSet(_, key, value) {
      this._html$_element.setAttribute(key, value);
    },
    remove$1(_, key) {
      var t1, value;
      if (typeof key == "string") {
        t1 = this._html$_element;
        value = t1.getAttribute(key);
        t1.removeAttribute(key);
        t1 = value;
      } else
        t1 = null;
      return t1;
    },
    get$length(_) {
      return this.get$keys(this).length;
    }
  };
  A.EventStreamProvider.prototype = {};
  A._EventStream.prototype = {
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      return A._EventStreamSubscription$(this._target, this._eventType, onData, false, A._instanceType(this)._precomputed1);
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    listen$3$onDone$onError(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    }
  };
  A._ElementEventStreamImpl.prototype = {};
  A._EventStreamSubscription.prototype = {
    cancel$0(_) {
      var _this = this;
      if (_this._target == null)
        return $.$get$nullFuture();
      _this._unlisten$0();
      _this._onData = _this._target = null;
      return $.$get$nullFuture();
    },
    onData$1(handleData) {
      var t1, _this = this;
      if (_this._target == null)
        throw A.wrapException(A.StateError$("Subscription has been canceled."));
      _this._unlisten$0();
      t1 = A._wrapZone(new A._EventStreamSubscription_onData_closure(handleData), type$.Event);
      _this._onData = t1;
      _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._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._onData;
      if (t1 != null) {
        t2 = this._target;
        t2.toString;
        J.removeEventListener$3$x(t2, this._eventType, t1, false);
      }
    },
    asFuture$1$1(futureValue, $E) {
      return new A._Future($.Zone__current, $E._eval$1("_Future<0>"));
    }
  };
  A._EventStreamSubscription_closure.prototype = {
    call$1(e) {
      return this.onData.call$1(e);
    },
    $signature: 13
  };
  A._EventStreamSubscription_onData_closure.prototype = {
    call$1(e) {
      return this.handleData.call$1(e);
    },
    $signature: 13
  };
  A.ImmutableListMixin.prototype = {
    get$iterator(receiver) {
      return new A.FixedSizeListIterator(receiver, this.get$length(receiver), A.instanceType(receiver)._eval$1("FixedSizeListIterator<ImmutableListMixin.E>"));
    },
    add$1(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to immutable List."));
    },
    addAll$1(receiver, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to immutable List."));
    },
    sort$1(receiver, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot sort immutable List."));
    },
    insertAll$2(receiver, index, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot add to immutable List."));
    },
    setAll$2(receiver, index, iterable) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an immutable List."));
    },
    removeAt$1(receiver, pos) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from immutable List."));
    },
    removeLast$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from immutable List."));
    },
    remove$1(receiver, object) {
      throw A.wrapException(A.UnsupportedError$("Cannot remove from immutable List."));
    },
    setRange$4(receiver, start, end, iterable, skipCount) {
      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);
    },
    removeRange$2(receiver, start, end) {
      throw A.wrapException(A.UnsupportedError$("Cannot removeRange on immutable List."));
    },
    fillRange$3(receiver, start, end, fillValue) {
      throw A.wrapException(A.UnsupportedError$("Cannot modify an immutable List."));
    }
  };
  A.FixedSizeListIterator.prototype = {
    moveNext$0() {
      var _this = this,
        nextPosition = _this._position + 1,
        t1 = _this._html$_length;
      if (nextPosition < t1) {
        _this._current = J.$index$asx(_this._array, nextPosition);
        _this._position = nextPosition;
        return true;
      }
      _this._current = null;
      _this._position = t1;
      return false;
    },
    get$current(_) {
      var t1 = this._current;
      return t1 == null ? this.$ti._precomputed1._as(t1) : t1;
    }
  };
  A.Console0.prototype = {
    warn$1(arg) {
      return typeof console != "undefined" ? window.console.warn(arg) : null;
    }
  };
  A._DOMWindowCrossFrame.prototype = {
    get$location(_) {
      return A._LocationCrossFrame__createSafe(this._html$_window.location);
    },
    postMessage$2(_, message, targetOrigin) {
      this._html$_window.postMessage(new A._StructuredCloneDart2Js([], []).walk$1(message), targetOrigin);
    },
    $isJavaScriptObject: 1
  };
  A._LocationCrossFrame.prototype = {};
  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;
      t1.push(value);
      this.copies.push(null);
      return $length;
    },
    walk$1(e) {
      var slot, t2, copy, _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._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))
        return e;
      if (type$.Map_dynamic_dynamic._is(e)) {
        slot = _this.findSlot$1(e);
        t2 = _this.copies;
        copy = t1.copy = t2[slot];
        if (copy != null)
          return copy;
        copy = {};
        t1.copy = copy;
        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);
        copy = _this.copies[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;
        copy = t1.copy = t2[slot];
        if (copy != null)
          return copy;
        copy = {};
        t1.copy = copy;
        t2[slot] = copy;
        _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),
        copy = new Array($length);
      this.copies[slot] = copy;
      for (i = 0; i < $length; ++i)
        copy[i] = this.walk$1(t1.$index(e, i));
      return copy;
    },
    get$values(receiver) {
      return this.values;
    }
  };
  A._StructuredClone_walk_closure.prototype = {
    call$2(key, value) {
      this._box_0.copy[key] = this.$this.walk$1(value);
    },
    $signature: 115
  };
  A._StructuredClone_walk_closure0.prototype = {
    call$2(key, value) {
      this._box_0.copy[key] = this.$this.walk$1(value);
    },
    $signature: 331
  };
  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;
      t1.push(value);
      this.copies.push(null);
      return $length;
    },
    walk$1(e) {
      var slot, t1, copy, t2, l, $length, i, _this = this, _box_0 = {};
      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 Date)
        return A.DateTime$fromMillisecondsSinceEpoch(e.getTime(), true);
      if (e instanceof RegExp)
        throw A.wrapException(A.UnimplementedError$("structured clone of RegExp"));
      if (typeof Promise != "undefined" && e instanceof Promise)
        return A.promiseToFuture(e, type$.dynamic);
      if (A.isJavaScriptSimpleObject(e)) {
        slot = _this.findSlot$1(e);
        t1 = _this.copies;
        copy = _box_0.copy = t1[slot];
        if (copy != null)
          return copy;
        t2 = type$.dynamic;
        copy = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
        _box_0.copy = copy;
        t1[slot] = copy;
        _this.forEachJsField$2(e, new A._AcceptStructuredClone_walk_closure(_box_0, _this));
        return _box_0.copy;
      }
      if (e instanceof Array) {
        l = e;
        slot = _this.findSlot$1(l);
        t1 = _this.copies;
        copy = t1[slot];
        if (copy != null)
          return copy;
        t2 = J.getInterceptor$asx(l);
        $length = t2.get$length(l);
        copy = _this.mustCopy ? new Array($length) : l;
        t1[slot] = copy;
        for (t1 = J.getInterceptor$ax(copy), i = 0; i < $length; ++i)
          t1.$indexSet(copy, i, _this.walk$1(t2.$index(l, i)));
        return copy;
      }
      return e;
    },
    convertNativeToDart_AcceptStructuredClone$2$mustCopy(object, mustCopy) {
      this.mustCopy = mustCopy;
      return this.walk$1(object);
    },
    get$values(receiver) {
      return this.values;
    }
  };
  A._AcceptStructuredClone_walk_closure.prototype = {
    call$2(key, value) {
      var t1 = this._box_0.copy,
        t2 = this.$this.walk$1(value);
      J.$indexSet$ax(t1, key, t2);
      return t2;
    },
    $signature: 454
  };
  A._convertDartToNative_Value_closure.prototype = {
    call$1(element) {
      this.array.push(A._convertDartToNative_Value(element));
    },
    $signature: 16
  };
  A.convertDartToNative_Dictionary_closure.prototype = {
    call$2(key, value) {
      this.object[key] = A._convertDartToNative_Value(value);
    },
    $signature: 115
  };
  A._StructuredCloneDart2Js.prototype = {
    forEachObjectKey$2(object, action) {
      var t1, t2, _i, key;
      for (t1 = Object.keys(object), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        key = t1[_i];
        action.call$2(key, object[key]);
      }
    }
  };
  A._AcceptStructuredCloneDart2Js.prototype = {
    forEachJsField$2(object, action) {
      var t1, t2, _i, key;
      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.FilteredElementList.prototype = {
    get$_html_common$_iterable() {
      var t1 = this._childNodes,
        t2 = A._instanceType(t1);
      return new A.MappedIterable(new A.WhereIterable(t1, new A.FilteredElementList__iterable_closure(), t2._eval$1("WhereIterable<ListMixin.E>")), new A.FilteredElementList__iterable_closure0(), t2._eval$1("MappedIterable<ListMixin.E,Element1>"));
    },
    forEach$1(_, f) {
      B.JSArray_methods.forEach$1(A.List_List$from(this.get$_html_common$_iterable(), false, type$.Element), f);
    },
    $indexSet(_, index, value) {
      var t1 = this.get$_html_common$_iterable();
      J.replaceWith$1$x(t1._f.call$1(J.elementAt$1$ax(t1.__internal$_iterable, index)), value);
    },
    set$length(_, newLength) {
      var len = J.get$length$asx(this.get$_html_common$_iterable().__internal$_iterable);
      if (newLength >= len)
        return;
      else if (newLength < 0)
        throw A.wrapException(A.ArgumentError$("Invalid list length", null));
      this.removeRange$2(0, newLength, len);
    },
    add$1(_, value) {
      this._childNodes._this.appendChild(value);
    },
    addAll$1(_, iterable) {
      var t1, t2;
      for (t1 = J.get$iterator$ax(iterable), t2 = this._childNodes._this; t1.moveNext$0();)
        t2.appendChild(t1.get$current(t1));
    },
    contains$1(_, needle) {
      if (!type$.Element._is(needle))
        return false;
      return needle.parentNode === this._html_common$_node;
    },
    sort$1(_, compare) {
      throw A.wrapException(A.UnsupportedError$("Cannot sort filtered list"));
    },
    setRange$4(_, start, end, iterable, skipCount) {
      throw A.wrapException(A.UnsupportedError$("Cannot setRange on filtered list"));
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    fillRange$3(_, start, end, fillValue) {
      throw A.wrapException(A.UnsupportedError$("Cannot fillRange on filtered list"));
    },
    removeRange$2(_, start, end) {
      var t1 = this.get$_html_common$_iterable();
      t1 = A.SkipIterable_SkipIterable(t1, start, t1.$ti._eval$1("Iterable.E"));
      B.JSArray_methods.forEach$1(A.List_List$from(A.TakeIterable_TakeIterable(t1, end - start, A._instanceType(t1)._eval$1("Iterable.E")), true, type$.dynamic), new A.FilteredElementList_removeRange_closure());
    },
    clear$0(_) {
      J._clearChildren$0$x(this._childNodes._this);
    },
    removeLast$0(_) {
      var t1 = this.get$_html_common$_iterable(),
        result = t1._f.call$1(J.get$last$ax(t1.__internal$_iterable));
      J.remove$0$ax(result);
      return result;
    },
    insertAll$2(_, index, iterable) {
      var t1, element;
      if (index === J.get$length$asx(this.get$_html_common$_iterable().__internal$_iterable))
        this.addAll$1(0, iterable);
      else {
        t1 = this.get$_html_common$_iterable();
        element = t1._f.call$1(J.elementAt$1$ax(t1.__internal$_iterable, index));
        t1 = element.parentNode;
        t1.toString;
        J.insertAllBefore$2$x(t1, iterable, element);
      }
    },
    removeAt$1(_, index) {
      var t1 = this.get$_html_common$_iterable();
      t1 = t1._f.call$1(J.elementAt$1$ax(t1.__internal$_iterable, index));
      J.remove$0$ax(t1);
      return t1;
    },
    remove$1(_, element) {
      return false;
    },
    get$length(_) {
      return J.get$length$asx(this.get$_html_common$_iterable().__internal$_iterable);
    },
    $index(_, index) {
      var t1 = this.get$_html_common$_iterable();
      return t1._f.call$1(J.elementAt$1$ax(t1.__internal$_iterable, index));
    },
    get$iterator(_) {
      var t1 = A.List_List$from(this.get$_html_common$_iterable(), false, type$.Element);
      return new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    }
  };
  A.FilteredElementList__iterable_closure.prototype = {
    call$1(n) {
      return type$.Element._is(n);
    },
    $signature: 473
  };
  A.FilteredElementList__iterable_closure0.prototype = {
    call$1(n) {
      return type$.Element._as(n);
    },
    $signature: 481
  };
  A.FilteredElementList_removeRange_closure.prototype = {
    call$1(el) {
      return J.remove$0$ax(el);
    },
    $signature: 16
  };
  A.Database.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.Index.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.KeyRange.prototype = {$isKeyRange: 1};
  A.ObjectStore.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.VersionChangeEvent.prototype = {
    get$target(receiver) {
      return receiver.target;
    }
  };
  A.JsObject__convertDataTree__convert.prototype = {
    call$1(o) {
      var convertedMap, t2, key, convertedList,
        t1 = this._convertedObjects;
      if (t1.containsKey$1(0, o))
        return t1.$index(0, o);
      if (type$.Map_dynamic_dynamic._is(o)) {
        convertedMap = {};
        t1.$indexSet(0, o, convertedMap);
        for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) {
          key = t2.get$current(t2);
          convertedMap[key] = this.call$1(t1.$index(o, key));
        }
        return convertedMap;
      } else if (type$.Iterable_dynamic._is(o)) {
        convertedList = [];
        t1.$indexSet(0, o, convertedList);
        B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
        return convertedList;
      } else
        return A._convertToJS(o);
    },
    $signature: 485
  };
  A._convertToJS_closure.prototype = {
    call$1(o) {
      var jsFunction = function(_call, f, captureThis) {
        return function() {
          return _call(f, captureThis, this, Array.prototype.slice.apply(arguments));
        };
      }(A._callDartFunction, o, false);
      A._defineProperty(jsFunction, $.$get$DART_CLOSURE_PROPERTY_NAME(), o);
      return jsFunction;
    },
    $signature: 43
  };
  A._convertToJS_closure0.prototype = {
    call$1(o) {
      return new this.ctor(o);
    },
    $signature: 43
  };
  A._wrapToDart_closure.prototype = {
    call$1(o) {
      return new A.JsFunction(o);
    },
    $signature: 488
  };
  A._wrapToDart_closure0.prototype = {
    call$1(o) {
      return new A.JsArray(o, type$.JsArray_dynamic);
    },
    $signature: 521
  };
  A._wrapToDart_closure1.prototype = {
    call$1(o) {
      return new A.JsObject(o);
    },
    $signature: 522
  };
  A.JsObject.prototype = {
    $index(_, property) {
      if (typeof property != "string" && typeof property != "number")
        throw A.wrapException(A.ArgumentError$("property is not a String or num", null));
      return A._convertToDart(this._js$_jsObject[property]);
    },
    $indexSet(_, property, value) {
      if (typeof property != "string" && typeof property != "number")
        throw A.wrapException(A.ArgumentError$("property is not a String or num", null));
      this._js$_jsObject[property] = A._convertToJS(value);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.JsObject && this._js$_jsObject === other._js$_jsObject;
    },
    toString$0(_) {
      var t1, exception;
      try {
        t1 = String(this._js$_jsObject);
        return t1;
      } catch (exception) {
        t1 = this.super$Object$toString(0);
        return t1;
      }
    },
    callMethod$2(method, args) {
      var t1 = this._js$_jsObject,
        t2 = args == null ? null : A.List_List$from(new A.MappedListIterable(args, A.js___convertToJS$closure(), A._arrayInstanceType(args)._eval$1("MappedListIterable<1,@>")), true, type$.dynamic);
      return A._convertToDart(t1[method].apply(t1, t2));
    },
    callMethod$1(method) {
      return this.callMethod$2(method, null);
    },
    get$hashCode(_) {
      return 0;
    }
  };
  A.JsFunction.prototype = {};
  A.JsArray.prototype = {
    _checkIndex$1(index) {
      var _this = this,
        t1 = index < 0 || index >= _this.get$length(_this);
      if (t1)
        throw A.wrapException(A.RangeError$range(index, 0, _this.get$length(_this), null, null));
    },
    $index(_, index) {
      if (A._isInt(index))
        this._checkIndex$1(index);
      return this.super$JsObject$$index(0, index);
    },
    $indexSet(_, index, value) {
      if (A._isInt(index))
        this._checkIndex$1(index);
      this.super$_JsArray_JsObject_ListMixin$$indexSet(0, index, value);
    },
    get$length(_) {
      var len = this._js$_jsObject.length;
      if (typeof len === "number" && len >>> 0 === len)
        return len;
      throw A.wrapException(A.StateError$("Bad JsArray length"));
    },
    set$length(_, $length) {
      this.super$_JsArray_JsObject_ListMixin$$indexSet(0, "length", $length);
    },
    add$1(_, value) {
      this.callMethod$2("push", [value]);
    },
    addAll$1(_, iterable) {
      this.callMethod$2("push", iterable instanceof Array ? iterable : A.List_List$from(iterable, true, type$.dynamic));
    },
    removeAt$1(_, index) {
      this._checkIndex$1(index);
      return J.$index$asx(this.callMethod$2("splice", [index, 1]), 0);
    },
    removeLast$0(_) {
      if (this.get$length(this) === 0)
        throw A.wrapException(A.RangeError$(-1));
      return this.callMethod$1("pop");
    },
    removeRange$2(_, start, end) {
      A.JsArray__checkRange(start, end, this.get$length(this));
      this.callMethod$2("splice", [start, end - start]);
    },
    setRange$4(_, start, end, iterable, skipCount) {
      var $length, args;
      A.JsArray__checkRange(start, end, this.get$length(this));
      $length = end - start;
      if ($length === 0)
        return;
      if (skipCount < 0)
        throw A.wrapException(A.ArgumentError$(skipCount, null));
      args = [start, $length];
      B.JSArray_methods.addAll$1(args, J.skip$1$ax(iterable, skipCount).take$1(0, $length));
      this.callMethod$2("splice", args);
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    sort$1(_, compare) {
      this.callMethod$2("sort", compare == null ? [] : [compare]);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A._JsArray_JsObject_ListMixin.prototype = {
    $indexSet(_, property, value) {
      return this.super$JsObject$$indexSet(0, property, value);
    }
  };
  A._convertDataTree__convert.prototype = {
    call$1(o) {
      var convertedMap, t2, key, convertedList,
        t1 = this._convertedObjects;
      if (t1.containsKey$1(0, o))
        return t1.$index(0, o);
      if (type$.Map_dynamic_dynamic._is(o)) {
        convertedMap = {};
        t1.$indexSet(0, o, convertedMap);
        for (t1 = J.getInterceptor$x(o), t2 = J.get$iterator$ax(t1.get$keys(o)); t2.moveNext$0();) {
          key = t2.get$current(t2);
          convertedMap[key] = this.call$1(t1.$index(o, key));
        }
        return convertedMap;
      } else if (type$.Iterable_dynamic._is(o)) {
        convertedList = [];
        t1.$indexSet(0, o, convertedList);
        B.JSArray_methods.addAll$1(convertedList, J.map$1$1$ax(o, this, type$.dynamic));
        return convertedList;
      } else
        return o;
    },
    $signature: 325
  };
  A.promiseToFuture_closure.prototype = {
    call$1(r) {
      return this.completer.complete$1(0, r);
    },
    $signature: 16
  };
  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: 16
  };
  A.NullRejectionException.prototype = {
    toString$0(_) {
      return "Promise was rejected with a value of `" + (this.isUndefined ? "undefined" : "null") + "`.";
    },
    $isException: 1
  };
  A._JSRandom.prototype = {
    nextInt$1(max) {
      if (max <= 0 || max > 4294967296)
        throw A.wrapException(A.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
      return Math.random() * max >>> 0;
    }
  };
  A.Point.prototype = {
    toString$0(_) {
      return "Point(" + A.S(this.x) + ", " + A.S(this.y) + ")";
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Point && this.x === other.x && this.y === other.y;
    },
    get$hashCode(_) {
      return A.SystemHash_hash2(B.JSNumber_methods.get$hashCode(this.x), B.JSNumber_methods.get$hashCode(this.y), 0);
    },
    $add(_, other) {
      var t1 = this.$ti,
        t2 = t1._precomputed1;
      return new A.Point(t2._as(this.x + other.x), t2._as(this.y + other.y), t1);
    },
    $sub(_, other) {
      var t1 = this.$ti,
        t2 = t1._precomputed1;
      return new A.Point(t2._as(this.x - other.x), t2._as(this.y - other.y), t1);
    },
    $mul(_, factor) {
      var t1 = this.$ti,
        t2 = t1._precomputed1;
      return new A.Point(t2._as(this.x * factor), t2._as(this.y * factor), t1);
    }
  };
  A.ClipPathElement.prototype = {$isClipPathElement: 1};
  A.DefsElement.prototype = {$isDefsElement: 1};
  A.FEBlendElement.prototype = {$isFEBlendElement: 1};
  A.FEColorMatrixElement.prototype = {
    get$values(receiver) {
      return receiver.values;
    },
    $isFEColorMatrixElement: 1
  };
  A.FECompositeElement.prototype = {$isFECompositeElement: 1};
  A.FEFloodElement.prototype = {$isFEFloodElement: 1};
  A.FilterElement.prototype = {$isFilterElement: 1};
  A.GeometryElement.prototype = {};
  A.GraphicsElement.prototype = {};
  A.Length.prototype = {$isLength: 1};
  A.LengthList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return this.$index(receiver, index);
    },
    clear$0(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.Number.prototype = {$isNumber: 1};
  A.NumberList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return this.$index(receiver, index);
    },
    clear$0(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.PathElement.prototype = {$isPathElement: 1};
  A.PointList.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.StringList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return this.$index(receiver, index);
    },
    clear$0(receiver) {
      return receiver.clear();
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1
  };
  A.SvgElement.prototype = {
    get$children(receiver) {
      return new A.FilteredElementList(receiver, new A._ChildNodeListLazy(receiver));
    },
    click$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Cannot invoke click SVG."));
    },
    focus$0(receiver) {
      return receiver.focus();
    },
    $isSvgElement: 1
  };
  A.SvgSvgElement.prototype = {$isSvgSvgElement: 1};
  A.Transform0.prototype = {$isTransform0: 1};
  A.TransformList.prototype = {
    get$length(receiver) {
      return receiver.length;
    },
    $index(receiver, index) {
      if (index >>> 0 !== index || index >= receiver.length)
        throw A.wrapException(A.IndexError$(index, receiver, null, null, null));
      return receiver.getItem(index);
    },
    $indexSet(receiver, index, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot assign element of immutable List."));
    },
    set$length(receiver, value) {
      throw A.wrapException(A.UnsupportedError$("Cannot resize 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) {
      return this.$index(receiver, index);
    },
    clear$0(receiver) {
      return receiver.clear();
    },
    $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.Endian.prototype = {};
  A.ClipOp.prototype = {
    toString$0(_) {
      return "ClipOp." + this._core$_name;
    }
  };
  A.PathFillType.prototype = {
    toString$0(_) {
      return "PathFillType." + this._core$_name;
    }
  };
  A._ChannelCallbackRecord.prototype = {
    invoke$2(dataArg, callbackArg) {
      A.invoke2(this._callback, this._ui$_zone, dataArg, callbackArg);
    }
  };
  A._StoredMessage.prototype = {
    invoke$1(dataArg) {
      A.invoke1(this._callback, this._ui$_zone, dataArg, type$.nullable_ByteData);
    }
  };
  A._Channel.prototype = {
    get$length(_) {
      var t1 = this._queue;
      return t1.get$length(t1);
    },
    push$1(message) {
      var t1, result, _this = this;
      if (!_this._draining && _this._channelCallbackRecord != null) {
        _this._channelCallbackRecord.invoke$2(message.data, message.get$invoke());
        return false;
      }
      t1 = _this._capacity;
      if (t1 <= 0)
        return true;
      result = _this._dropOverflowMessages$1(t1 - 1);
      _this._queue._add$1(0, message);
      return result;
    },
    _dropOverflowMessages$1(lengthLimit) {
      var t1, t2, result, message;
      for (t1 = this._queue, t2 = type$.nullable_ByteData, result = false; (t1._tail - t1._head & t1._table.length - 1) >>> 0 > lengthLimit; result = true) {
        message = t1.removeFirst$0();
        A.invoke1(message._callback, message._ui$_zone, null, t2);
      }
      return result;
    },
    _drainStep$0() {
      var _this = this,
        t1 = _this._queue;
      if (!t1.get$isEmpty(t1) && _this._channelCallbackRecord != null) {
        t1 = t1.removeFirst$0();
        _this._channelCallbackRecord.invoke$2(t1.data, t1.get$invoke());
        A.scheduleMicrotask(_this.get$_drainStep());
      } else
        _this._draining = false;
    }
  };
  A.ChannelBuffers.prototype = {
    push$3($name, data, callback) {
      this._channels.putIfAbsent$2(0, $name, new A.ChannelBuffers_push_closure()).push$1(new A._StoredMessage(data, callback, $.Zone__current));
    },
    setListener$2($name, callback) {
      var channel = this._channels.putIfAbsent$2(0, $name, new A.ChannelBuffers_setListener_closure()),
        t1 = channel._channelCallbackRecord;
      channel._channelCallbackRecord = new A._ChannelCallbackRecord(callback, $.Zone__current);
      if (t1 == null && !channel._draining) {
        channel._draining = true;
        A.scheduleMicrotask(channel.get$_drainStep());
      }
    },
    resize$2(_, $name, newSize) {
      var t1 = this._channels,
        channel = t1.$index(0, $name);
      if (channel == null)
        t1.$indexSet(0, $name, new A._Channel(A.ListQueue$(newSize, type$._StoredMessage), newSize));
      else {
        channel._capacity = newSize;
        channel._dropOverflowMessages$1(newSize);
      }
    }
  };
  A.ChannelBuffers_push_closure.prototype = {
    call$0() {
      return new A._Channel(A.ListQueue$(1, type$._StoredMessage), 1);
    },
    $signature: 320
  };
  A.ChannelBuffers_setListener_closure.prototype = {
    call$0() {
      return new A._Channel(A.ListQueue$(1, type$._StoredMessage), 1);
    },
    $signature: 320
  };
  A.OffsetBase.prototype = {
    $lt(_, other) {
      return B.JSNumber_methods.$lt(this._dx, other.get$_dx()) && B.JSNumber_methods.$lt(this._dy, other.get$_dy());
    },
    $gt(_, other) {
      return this._dx > other._dx && this._dy > other._dy;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.OffsetBase && other._dx === this._dx && other._dy === this._dy;
    },
    get$hashCode(_) {
      return A.Object_hash(this._dx, this._dy, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "OffsetBase(" + B.JSNumber_methods.toStringAsFixed$1(this._dx, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(this._dy, 1) + ")";
    }
  };
  A.Offset.prototype = {
    get$distance() {
      var t1 = this._dx,
        t2 = this._dy;
      return Math.sqrt(t1 * t1 + t2 * t2);
    },
    get$distanceSquared() {
      var t1 = this._dx,
        t2 = this._dy;
      return t1 * t1 + t2 * t2;
    },
    $sub(_, other) {
      return new A.Offset(this._dx - other._dx, this._dy - other._dy);
    },
    $add(_, other) {
      return new A.Offset(this._dx + other._dx, this._dy + other._dy);
    },
    $mul(_, operand) {
      return new A.Offset(this._dx * operand, this._dy * operand);
    },
    $div(_, operand) {
      return new A.Offset(this._dx / operand, this._dy / operand);
    },
    $tdiv(_, operand) {
      return new A.Offset(B.JSNumber_methods.$tdiv(this._dx, operand), B.JSNumber_methods.$tdiv(this._dy, operand));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Offset && other._dx === this._dx && other._dy === this._dy;
    },
    get$hashCode(_) {
      return A.Object_hash(this._dx, this._dy, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "Offset(" + B.JSNumber_methods.toStringAsFixed$1(this._dx, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(this._dy, 1) + ")";
    }
  };
  A.Size.prototype = {
    get$isEmpty(_) {
      return this._dx <= 0 || this._dy <= 0;
    },
    $sub(_, other) {
      var _this = this;
      if (other instanceof A.Size)
        return new A.Offset(_this._dx - other._dx, _this._dy - other._dy);
      if (other instanceof A.Offset)
        return new A.Size(_this._dx - other._dx, _this._dy - other._dy);
      throw A.wrapException(A.ArgumentError$(other, null));
    },
    $add(_, other) {
      return new A.Size(this._dx + other._dx, this._dy + other._dy);
    },
    $mul(_, operand) {
      return new A.Size(this._dx * operand, this._dy * operand);
    },
    $div(_, operand) {
      return new A.Size(this._dx / operand, this._dy / operand);
    },
    $tdiv(_, operand) {
      return new A.Size(B.JSNumber_methods.$tdiv(this._dx, operand), B.JSNumber_methods.$tdiv(this._dy, operand));
    },
    center$1(origin) {
      return new A.Offset(origin._dx + this._dx / 2, origin._dy + this._dy / 2);
    },
    bottomCenter$1(origin) {
      return new A.Offset(origin._dx + this._dx / 2, origin._dy + this._dy);
    },
    bottomRight$1(_, origin) {
      return new A.Offset(origin._dx + this._dx, origin._dy + this._dy);
    },
    contains$1(_, offset) {
      var t1 = offset._dx;
      if (t1 >= 0)
        if (t1 < this._dx) {
          t1 = offset._dy;
          t1 = t1 >= 0 && t1 < this._dy;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Size && other._dx === this._dx && other._dy === this._dy;
    },
    get$hashCode(_) {
      return A.Object_hash(this._dx, this._dy, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "Size(" + B.JSNumber_methods.toStringAsFixed$1(this._dx, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(this._dy, 1) + ")";
    }
  };
  A.Rect.prototype = {
    get$size(_) {
      var _this = this;
      return new A.Size(_this.right - _this.left, _this.bottom - _this.top);
    },
    get$isFinite(_) {
      var _this = this;
      return isFinite(_this.left) && isFinite(_this.top) && isFinite(_this.right) && isFinite(_this.bottom);
    },
    get$isEmpty(_) {
      var _this = this;
      return _this.left >= _this.right || _this.top >= _this.bottom;
    },
    shift$1(offset) {
      var _this = this,
        t1 = offset._dx,
        t2 = offset._dy;
      return new A.Rect(_this.left + t1, _this.top + t2, _this.right + t1, _this.bottom + t2);
    },
    translate$2(_, translateX, translateY) {
      var _this = this;
      return new A.Rect(_this.left + translateX, _this.top + translateY, _this.right + translateX, _this.bottom + translateY);
    },
    inflate$1(delta) {
      var _this = this;
      return new A.Rect(_this.left - delta, _this.top - delta, _this.right + delta, _this.bottom + delta);
    },
    intersect$1(other) {
      var _this = this;
      return new A.Rect(Math.max(_this.left, other.left), Math.max(_this.top, other.top), Math.min(_this.right, other.right), Math.min(_this.bottom, other.bottom));
    },
    expandToInclude$1(other) {
      var _this = this;
      return new A.Rect(Math.min(_this.left, other.left), Math.min(_this.top, other.top), Math.max(_this.right, other.right), Math.max(_this.bottom, other.bottom));
    },
    overlaps$1(other) {
      var _this = this;
      if (_this.right <= other.left || other.right <= _this.left)
        return false;
      if (_this.bottom <= other.top || other.bottom <= _this.top)
        return false;
      return true;
    },
    get$shortestSide() {
      var _this = this;
      return Math.min(Math.abs(_this.right - _this.left), Math.abs(_this.bottom - _this.top));
    },
    get$centerLeft() {
      var t1 = this.top;
      return new A.Offset(this.left, t1 + (this.bottom - t1) / 2);
    },
    get$center() {
      var _this = this,
        t1 = _this.left,
        t2 = _this.top;
      return new A.Offset(t1 + (_this.right - t1) / 2, t2 + (_this.bottom - t2) / 2);
    },
    contains$1(_, offset) {
      var _this = this,
        t1 = offset._dx;
      if (t1 >= _this.left)
        if (t1 < _this.right) {
          t1 = offset._dy;
          t1 = t1 >= _this.top && t1 < _this.bottom;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (A.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.Rect && other.left === _this.left && other.top === _this.top && other.right === _this.right && other.bottom === _this.bottom;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.left, _this.top, _this.right, _this.bottom, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "Rect.fromLTRB(" + B.JSNumber_methods.toStringAsFixed$1(_this.left, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.top, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.right, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.bottom, 1) + ")";
    }
  };
  A.Radius.prototype = {
    $sub(_, other) {
      return new A.Radius(this.x - other.x, this.y - other.y);
    },
    $add(_, other) {
      return new A.Radius(this.x + other.x, this.y + other.y);
    },
    $mul(_, operand) {
      return new A.Radius(this.x * operand, this.y * operand);
    },
    $div(_, operand) {
      return new A.Radius(this.x / operand, this.y / operand);
    },
    $tdiv(_, operand) {
      return new A.Radius(B.JSNumber_methods.$tdiv(this.x, operand), B.JSNumber_methods.$tdiv(this.y, operand));
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (A.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.Radius && other.x === _this.x && other.y === _this.y;
    },
    get$hashCode(_) {
      return A.Object_hash(this.x, this.y, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1 = this.x,
        t2 = this.y;
      return t1 === t2 ? "Radius.circular(" + B.JSNumber_methods.toStringAsFixed$1(t1, 1) + ")" : "Radius.elliptical(" + B.JSNumber_methods.toStringAsFixed$1(t1, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(t2, 1) + ")";
    }
  };
  A.RRect.prototype = {
    shift$1(offset) {
      var _this = this,
        t1 = offset._dx,
        t2 = offset._dy;
      return new A.RRect(_this.left + t1, _this.top + t2, _this.right + t1, _this.bottom + t2, _this.tlRadiusX, _this.tlRadiusY, _this.trRadiusX, _this.trRadiusY, _this.brRadiusX, _this.brRadiusY, _this.blRadiusX, _this.blRadiusY, false);
    },
    inflate$1(delta) {
      var _this = this;
      return new A.RRect(_this.left - delta, _this.top - delta, _this.right + delta, _this.bottom + delta, _this.tlRadiusX + delta, _this.tlRadiusY + delta, _this.trRadiusX + delta, _this.trRadiusY + delta, _this.brRadiusX + delta, _this.brRadiusY + delta, _this.blRadiusX + delta, _this.blRadiusY + delta, false);
    },
    get$shortestSide() {
      var _this = this;
      return Math.min(Math.abs(_this.right - _this.left), Math.abs(_this.bottom - _this.top));
    },
    _getMin$4(min, radius1, radius2, limit) {
      var sum = radius1 + radius2;
      if (sum > limit && sum !== 0)
        return Math.min(min, limit / sum);
      return min;
    },
    scaleRadii$0() {
      var _this = this,
        t1 = _this.right,
        t2 = _this.left,
        absWidth = Math.abs(t1 - t2),
        t3 = _this.bottom,
        t4 = _this.top,
        absHeight = Math.abs(t3 - t4),
        t5 = _this.blRadiusY,
        t6 = _this.tlRadiusY,
        t7 = _this.tlRadiusX,
        t8 = _this.trRadiusX,
        t9 = _this.trRadiusY,
        t10 = _this.brRadiusY,
        t11 = _this.brRadiusX,
        t12 = _this.blRadiusX,
        scale = _this._getMin$4(_this._getMin$4(_this._getMin$4(_this._getMin$4(1, t5, t6, absHeight), t7, t8, absWidth), t9, t10, absHeight), t11, t12, absWidth);
      if (scale < 1)
        return new A.RRect(t2, t4, t1, t3, t7 * scale, t6 * scale, t8 * scale, t9 * scale, t11 * scale, t10 * scale, t12 * scale, t5 * scale, false);
      return new A.RRect(t2, t4, t1, t3, t7, t6, t8, t9, t11, t10, t12, t5, false);
    },
    contains$1(_, point) {
      var t3, scaled, radiusX, x, radiusY, y, _this = this,
        t1 = point._dx,
        t2 = _this.left;
      if (!(t1 < t2))
        if (!(t1 >= _this.right)) {
          t3 = point._dy;
          t3 = t3 < _this.top || t3 >= _this.bottom;
        } else
          t3 = true;
      else
        t3 = true;
      if (t3)
        return false;
      scaled = _this.scaleRadii$0();
      radiusX = scaled.tlRadiusX;
      if (t1 < t2 + radiusX && point._dy < _this.top + scaled.tlRadiusY) {
        x = t1 - t2 - radiusX;
        radiusY = scaled.tlRadiusY;
        y = point._dy - _this.top - radiusY;
      } else {
        t3 = _this.right;
        radiusX = scaled.trRadiusX;
        if (t1 > t3 - radiusX && point._dy < _this.top + scaled.trRadiusY) {
          x = t1 - t3 + radiusX;
          radiusY = scaled.trRadiusY;
          y = point._dy - _this.top - radiusY;
        } else {
          radiusX = scaled.brRadiusX;
          if (t1 > t3 - radiusX && point._dy > _this.bottom - scaled.brRadiusY) {
            x = t1 - t3 + radiusX;
            radiusY = scaled.brRadiusY;
            y = point._dy - _this.bottom + radiusY;
          } else {
            radiusX = scaled.blRadiusX;
            if (t1 < t2 + radiusX && point._dy > _this.bottom - scaled.blRadiusY) {
              x = t1 - t2 - radiusX;
              radiusY = scaled.blRadiusY;
              y = point._dy - _this.bottom + radiusY;
            } else
              return true;
          }
        }
      }
      x /= radiusX;
      y /= radiusY;
      if (x * x + y * y > 1)
        return false;
      return true;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (A.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.RRect && other.left === _this.left && other.top === _this.top && other.right === _this.right && other.bottom === _this.bottom && other.tlRadiusX === _this.tlRadiusX && other.tlRadiusY === _this.tlRadiusY && other.trRadiusX === _this.trRadiusX && other.trRadiusY === _this.trRadiusY && other.blRadiusX === _this.blRadiusX && other.blRadiusY === _this.blRadiusY && other.brRadiusX === _this.brRadiusX && other.brRadiusY === _this.brRadiusY;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.left, _this.top, _this.right, _this.bottom, _this.tlRadiusX, _this.tlRadiusY, _this.trRadiusX, _this.trRadiusY, _this.blRadiusX, _this.blRadiusY, _this.brRadiusX, _this.brRadiusY, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t5, t6, _this = this,
        rect = B.JSNumber_methods.toStringAsFixed$1(_this.left, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.top, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.right, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.bottom, 1),
        t1 = _this.tlRadiusX,
        t2 = _this.tlRadiusY,
        t3 = _this.trRadiusX,
        t4 = _this.trRadiusY;
      if (new A.Radius(t1, t2).$eq(0, new A.Radius(t3, t4))) {
        t5 = _this.brRadiusX;
        t6 = _this.brRadiusY;
        t5 = new A.Radius(t3, t4).$eq(0, new A.Radius(t5, t6)) && new A.Radius(t5, t6).$eq(0, new A.Radius(_this.blRadiusX, _this.blRadiusY));
      } else
        t5 = false;
      if (t5) {
        if (t1 === t2)
          return "RRect.fromLTRBR(" + rect + ", " + B.JSNumber_methods.toStringAsFixed$1(t1, 1) + ")";
        return "RRect.fromLTRBXY(" + rect + ", " + B.JSNumber_methods.toStringAsFixed$1(t1, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(t2, 1) + ")";
      }
      return "RRect.fromLTRBAndCorners(" + rect + ", topLeft: " + new A.Radius(t1, t2).toString$0(0) + ", topRight: " + new A.Radius(t3, t4).toString$0(0) + ", bottomRight: " + new A.Radius(_this.brRadiusX, _this.brRadiusY).toString$0(0) + ", bottomLeft: " + new A.Radius(_this.blRadiusX, _this.blRadiusY).toString$0(0) + ")";
    }
  };
  A.webOnlyWarmupEngine_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null);
      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 = 2;
              return A._asyncAwait(A.initializeEngineServices(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.webOnlyWarmupEngine_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $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$self.registerPlugins.call$0();
              $async$goto = 2;
              return A._asyncAwait(A.initializeEngineUi(), $async$call$0);
            case 2:
              // returning from await.
              $async$self.runApp.call$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.PlatformViewRegistry.prototype = {};
  A.KeyEventType.prototype = {
    toString$0(_) {
      return "KeyEventType." + this._core$_name;
    }
  };
  A.KeyData.prototype = {
    _logicalToString$0() {
      var t1 = this.logical;
      return "0x" + B.JSInt_methods.toRadixString$1(t1, 16) + new A.KeyData__logicalToString_closure(B.JSNumber_methods.floor$0(t1 / 4294967296)).call$0();
    },
    _escapeCharacter$0() {
      var t1 = this.character;
      if (t1 == null)
        return "<none>";
      switch (t1) {
        case "\n":
          return '"\\n"';
        case "\t":
          return '"\\t"';
        case "\r":
          return '"\\r"';
        case "\b":
          return '"\\b"';
        case "\f":
          return '"\\f"';
        default:
          return '"' + t1 + '"';
      }
    },
    _quotedCharCode$0() {
      var t1 = this.character;
      if (t1 == null)
        return "";
      return " (0x" + new A.MappedListIterable(new A.CodeUnits(t1), new A.KeyData__quotedCharCode_closure(), type$.CodeUnits._eval$1("MappedListIterable<ListMixin.E,String>")).join$1(0, " ") + ")";
    },
    toString$0(_) {
      var _this = this,
        t1 = A.KeyData__typeToString(_this.type),
        t2 = B.JSInt_methods.toRadixString$1(_this.physical, 16),
        t3 = _this._logicalToString$0(),
        t4 = _this._escapeCharacter$0(),
        t5 = _this._quotedCharCode$0(),
        t6 = _this.synthesized ? ", synthesized" : "";
      return "KeyData(type: " + A.S(t1) + ", physical: 0x" + t2 + ", logical: " + t3 + ", character: " + t4 + t5 + t6 + ")";
    }
  };
  A.KeyData__logicalToString_closure.prototype = {
    call$0() {
      switch (this.planeNum) {
        case 0:
          return " (Unicode)";
        case 1:
          return " (Unprintable)";
        case 2:
          return " (Flutter)";
        case 23:
          return " (Web)";
      }
      return "";
    },
    $signature: 24
  };
  A.KeyData__quotedCharCode_closure.prototype = {
    call$1(code) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(code, 16), 2, "0");
    },
    $signature: 133
  };
  A.Color.prototype = {
    withOpacity$1(opacity) {
      var _this = this;
      return A.Color$fromARGB(B.JSNumber_methods.round$0(255 * opacity), _this.get$value(_this) >>> 16 & 255, _this.get$value(_this) >>> 8 & 255, _this.get$value(_this) & 255);
    },
    computeLuminance$0() {
      var _this = this;
      return 0.2126 * A.Color__linearizeColorComponent((_this.get$value(_this) >>> 16 & 255) / 255) + 0.7152 * A.Color__linearizeColorComponent((_this.get$value(_this) >>> 8 & 255) / 255) + 0.0722 * A.Color__linearizeColorComponent((_this.get$value(_this) & 255) / 255);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.Color && other.get$value(other) === _this.get$value(_this);
    },
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this.get$value(this));
    },
    toString$0(_) {
      return "Color(0x" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(this.get$value(this), 16), 8, "0") + ")";
    },
    get$value(receiver) {
      return this.value;
    }
  };
  A.StrokeCap.prototype = {
    toString$0(_) {
      return "StrokeCap." + this._core$_name;
    }
  };
  A.StrokeJoin.prototype = {
    toString$0(_) {
      return "StrokeJoin." + this._core$_name;
    }
  };
  A.PaintingStyle.prototype = {
    toString$0(_) {
      return "PaintingStyle." + this._core$_name;
    }
  };
  A.BlendMode.prototype = {
    toString$0(_) {
      return "BlendMode." + this._core$_name;
    }
  };
  A.Clip.prototype = {
    toString$0(_) {
      return "Clip." + this._core$_name;
    }
  };
  A.BlurStyle.prototype = {
    toString$0(_) {
      return "BlurStyle." + this._core$_name;
    }
  };
  A.MaskFilter.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.MaskFilter && other._ui$_style === this._ui$_style && other._sigma === this._sigma;
    },
    get$hashCode(_) {
      return A.Object_hash(this._ui$_style, this._sigma, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "MaskFilter.blur(" + this._ui$_style.toString$0(0) + ", " + B.JSNumber_methods.toStringAsFixed$1(this._sigma, 1) + ")";
    }
  };
  A.FilterQuality.prototype = {
    toString$0(_) {
      return "FilterQuality." + this._core$_name;
    }
  };
  A.ImageByteFormat.prototype = {
    toString$0(_) {
      return "ImageByteFormat." + this._core$_name;
    }
  };
  A.webOnlyInstantiateImageCodecFromUrl_closure.prototype = {
    call$1(callback) {
      callback.call$1(new A.HtmlCodec(this.uri.toString$0(0), this.chunkCallback));
      return null;
    },
    $signature: 615
  };
  A.Shadow.prototype = {
    scale$1(_, factor) {
      return new A.Shadow(this.color, this.offset.$mul(0, factor), this.blurRadius * factor);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof A.Shadow && other.color.$eq(0, _this.color) && other.offset.$eq(0, _this.offset) && other.blurRadius === _this.blurRadius;
    },
    get$hashCode(_) {
      return A.Object_hash(this.color, this.offset, this.blurRadius, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "TextShadow(" + this.color.toString$0(0) + ", " + this.offset.toString$0(0) + ", " + A.S(this.blurRadius) + ")";
    }
  };
  A.ImmutableBuffer.prototype = {
    get$length(_) {
      return this._ui$_length;
    }
  };
  A.PlatformDispatcher.prototype = {};
  A.PlatformConfiguration.prototype = {
    copyWith$5$accessibilityFeatures$locales$platformBrightness$semanticsEnabled$textScaleFactor(accessibilityFeatures, locales, platformBrightness, semanticsEnabled, textScaleFactor) {
      var _this = this,
        t1 = accessibilityFeatures == null ? _this.accessibilityFeatures : accessibilityFeatures,
        t2 = semanticsEnabled == null ? _this.semanticsEnabled : semanticsEnabled,
        t3 = platformBrightness == null ? _this.platformBrightness : platformBrightness,
        t4 = textScaleFactor == null ? _this.textScaleFactor : textScaleFactor,
        t5 = locales == null ? _this.locales : locales;
      return new A.PlatformConfiguration(t1, false, t2, t3, t4, t5, _this.defaultRouteName, _this.systemFontFamily);
    },
    copyWith$1$locales(locales) {
      return this.copyWith$5$accessibilityFeatures$locales$platformBrightness$semanticsEnabled$textScaleFactor(null, locales, null, null, null);
    },
    copyWith$1$textScaleFactor(textScaleFactor) {
      return this.copyWith$5$accessibilityFeatures$locales$platformBrightness$semanticsEnabled$textScaleFactor(null, null, null, null, textScaleFactor);
    },
    copyWith$1$platformBrightness(platformBrightness) {
      return this.copyWith$5$accessibilityFeatures$locales$platformBrightness$semanticsEnabled$textScaleFactor(null, null, platformBrightness, null, null);
    },
    copyWith$1$accessibilityFeatures(accessibilityFeatures) {
      return this.copyWith$5$accessibilityFeatures$locales$platformBrightness$semanticsEnabled$textScaleFactor(accessibilityFeatures, null, null, null, null);
    },
    copyWith$1$semanticsEnabled(semanticsEnabled) {
      return this.copyWith$5$accessibilityFeatures$locales$platformBrightness$semanticsEnabled$textScaleFactor(null, null, null, semanticsEnabled, null);
    }
  };
  A.ViewConfiguration0.prototype = {
    toString$0(_) {
      return A.getRuntimeType(this).toString$0(0) + "[window: null, geometry: " + B.Rect_0_0_0_0.toString$0(0) + "]";
    }
  };
  A.FrameTiming.prototype = {
    toString$0(_) {
      var t9,
        t1 = A.getRuntimeType(this).toString$0(0),
        t2 = this._ui$_data,
        t3 = A.Duration$(t2[2], 0),
        t4 = t2[1],
        t5 = A.Duration$(t4, 0),
        t6 = t2[4],
        t7 = A.Duration$(t6, 0),
        t8 = A.Duration$(t2[3], 0);
      t4 = A.Duration$(t4, 0);
      t9 = t2[0];
      return t1 + "(buildDuration: " + (A.S((t3._duration - t5._duration) * 0.001) + "ms") + ", rasterDuration: " + (A.S((t7._duration - t8._duration) * 0.001) + "ms") + ", vsyncOverhead: " + (A.S((t4._duration - A.Duration$(t9, 0)._duration) * 0.001) + "ms") + ", totalSpan: " + (A.S((A.Duration$(t6, 0)._duration - A.Duration$(t9, 0)._duration) * 0.001) + "ms") + ", layerCacheCount: " + t2[6] + ", layerCacheBytes: " + t2[7] + ", pictureCacheCount: " + t2[8] + ", pictureCacheBytes: " + t2[9] + ", frameNumber: " + B.JSArray_methods.get$last(t2) + ")";
    }
  };
  A.AppLifecycleState.prototype = {
    toString$0(_) {
      return "AppLifecycleState." + this._core$_name;
    }
  };
  A.Locale.prototype = {
    get$languageCode(_) {
      var t1 = this._languageCode,
        t2 = B.Map_YCOho.$index(0, t1);
      return t2 == null ? t1 : t2;
    },
    get$countryCode() {
      var t1 = this._countryCode,
        t2 = B.Map_0Agg9.$index(0, t1);
      return t2 == null ? t1 : t2;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (other instanceof A.Locale)
        if (other.get$languageCode(other) === _this.get$languageCode(_this))
          t1 = other.get$countryCode() == _this.get$countryCode();
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(this.get$languageCode(this), null, this.get$countryCode(), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return this._rawToString$1("_");
    },
    _rawToString$1(separator) {
      var _this = this,
        t1 = _this.get$languageCode(_this);
      if (_this._countryCode != null)
        t1 += separator + A.S(_this.get$countryCode());
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.PointerChange.prototype = {
    toString$0(_) {
      return "PointerChange." + this._core$_name;
    }
  };
  A.PointerDeviceKind.prototype = {
    toString$0(_) {
      return "PointerDeviceKind." + this._core$_name;
    }
  };
  A.PointerSignalKind.prototype = {
    toString$0(_) {
      return "PointerSignalKind." + this._core$_name;
    }
  };
  A.PointerData.prototype = {
    toString$0(_) {
      return "PointerData(x: " + A.S(this.physicalX) + ", y: " + A.S(this.physicalY) + ")";
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.PointerDataPacket.prototype = {};
  A.SemanticsAction.prototype = {
    toString$0(_) {
      switch (this.index) {
        case 1:
          return "SemanticsAction.tap";
        case 2:
          return "SemanticsAction.longPress";
        case 4:
          return "SemanticsAction.scrollLeft";
        case 8:
          return "SemanticsAction.scrollRight";
        case 16:
          return "SemanticsAction.scrollUp";
        case 32:
          return "SemanticsAction.scrollDown";
        case 64:
          return "SemanticsAction.increase";
        case 128:
          return "SemanticsAction.decrease";
        case 256:
          return "SemanticsAction.showOnScreen";
        case 512:
          return "SemanticsAction.moveCursorForwardByCharacter";
        case 1024:
          return "SemanticsAction.moveCursorBackwardByCharacter";
        case 2048:
          return "SemanticsAction.setSelection";
        case 4096:
          return "SemanticsAction.copy";
        case 8192:
          return "SemanticsAction.cut";
        case 16384:
          return "SemanticsAction.paste";
        case 32768:
          return "SemanticsAction.didGainAccessibilityFocus";
        case 65536:
          return "SemanticsAction.didLoseAccessibilityFocus";
        case 131072:
          return "SemanticsAction.customAction";
        case 262144:
          return "SemanticsAction.dismiss";
        case 524288:
          return "SemanticsAction.moveCursorForwardByWord";
        case 1048576:
          return "SemanticsAction.moveCursorBackwardByWord";
        case 2097152:
          return "SemanticsAction.setText";
      }
      return "";
    }
  };
  A.SemanticsFlag.prototype = {
    toString$0(_) {
      switch (this.index) {
        case 1:
          return "SemanticsFlag.hasCheckedState";
        case 2:
          return "SemanticsFlag.isChecked";
        case 4:
          return "SemanticsFlag.isSelected";
        case 8:
          return "SemanticsFlag.isButton";
        case 16:
          return "SemanticsFlag.isTextField";
        case 32:
          return "SemanticsFlag.isFocused";
        case 64:
          return "SemanticsFlag.hasEnabledState";
        case 128:
          return "SemanticsFlag.isEnabled";
        case 256:
          return "SemanticsFlag.isInMutuallyExclusiveGroup";
        case 512:
          return "SemanticsFlag.isHeader";
        case 1024:
          return "SemanticsFlag.isObscured";
        case 2048:
          return "SemanticsFlag.scopesRoute";
        case 4096:
          return "SemanticsFlag.namesRoute";
        case 8192:
          return "SemanticsFlag.isHidden";
        case 16384:
          return "SemanticsFlag.isImage";
        case 32768:
          return "SemanticsFlag.isLiveRegion";
        case 65536:
          return "SemanticsFlag.hasToggledState";
        case 131072:
          return "SemanticsFlag.isToggled";
        case 262144:
          return "SemanticsFlag.hasImplicitScrolling";
        case 524288:
          return "SemanticsFlag.isMultiline";
        case 1048576:
          return "SemanticsFlag.isReadOnly";
        case 2097152:
          return "SemanticsFlag.isFocusable";
        case 4194304:
          return "SemanticsFlag.isLink";
        case 8388608:
          return "SemanticsFlag.isSlider";
        case 16777216:
          return "SemanticsFlag.isKeyboardKey";
      }
      return "";
    }
  };
  A.SemanticsUpdateBuilder.prototype = {};
  A.FontStyle.prototype = {
    toString$0(_) {
      return "FontStyle." + this._core$_name;
    }
  };
  A.PlaceholderAlignment.prototype = {
    toString$0(_) {
      return "PlaceholderAlignment." + this._core$_name;
    }
  };
  A.FontWeight.prototype = {
    toString$0(_) {
      var t1 = B.Map_yXAeS.$index(0, this.index);
      t1.toString;
      return t1;
    }
  };
  A.FontFeature.prototype = {
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      if (other instanceof A.FontFeature)
        t1 = true;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash("liga", 0, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "FontFeature('liga', 0)";
    }
  };
  A.TextAlign.prototype = {
    toString$0(_) {
      return "TextAlign." + this._core$_name;
    }
  };
  A.TextBaseline.prototype = {
    toString$0(_) {
      return "TextBaseline." + this._core$_name;
    }
  };
  A.TextDecoration.prototype = {
    contains$1(_, other) {
      var t1 = this._mask;
      return (t1 | other._mask) === t1;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.TextDecoration && other._mask === this._mask;
    },
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this._mask);
    },
    toString$0(_) {
      var values,
        t1 = this._mask;
      if (t1 === 0)
        return "TextDecoration.none";
      values = A._setArrayType([], type$.JSArray_String);
      if ((t1 & 1) !== 0)
        values.push("underline");
      if ((t1 & 2) !== 0)
        values.push("overline");
      if ((t1 & 4) !== 0)
        values.push("lineThrough");
      if (values.length === 1)
        return "TextDecoration." + values[0];
      return "TextDecoration.combine([" + B.JSArray_methods.join$1(values, ", ") + "])";
    }
  };
  A.TextDecorationStyle.prototype = {
    toString$0(_) {
      return "TextDecorationStyle." + this._core$_name;
    }
  };
  A.TextLeadingDistribution.prototype = {
    toString$0(_) {
      return "TextLeadingDistribution." + this._core$_name;
    }
  };
  A.TextHeightBehavior.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.TextHeightBehavior && other.applyHeightToFirstAscent === _this.applyHeightToFirstAscent && other.applyHeightToLastDescent === _this.applyHeightToLastDescent && other.leadingDistribution === _this.leadingDistribution;
    },
    get$hashCode(_) {
      return A.Object_hash(this.applyHeightToFirstAscent, this.applyHeightToLastDescent, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "TextHeightBehavior(applyHeightToFirstAscent: " + this.applyHeightToFirstAscent + ", applyHeightToLastDescent: " + this.applyHeightToLastDescent + ", leadingDistribution: " + this.leadingDistribution.toString$0(0) + ")";
    }
  };
  A.TextDirection.prototype = {
    toString$0(_) {
      return "TextDirection." + this._core$_name;
    }
  };
  A.TextBox.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.TextBox && other.left === _this.left && other.top === _this.top && other.right === _this.right && other.bottom === _this.bottom && other.direction === _this.direction;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.left, _this.top, _this.right, _this.bottom, _this.direction, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "TextBox.fromLTRBD(" + B.JSNumber_methods.toStringAsFixed$1(_this.left, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.top, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.right, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.bottom, 1) + ", " + _this.direction.toString$0(0) + ")";
    }
  };
  A.TextAffinity.prototype = {
    toString$0(_) {
      return "TextAffinity." + this._core$_name;
    }
  };
  A.TextPosition.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.TextPosition && other.offset === this.offset && other.affinity === this.affinity;
    },
    get$hashCode(_) {
      return A.Object_hash(this.offset, this.affinity, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return A.getRuntimeType(this).toString$0(0) + "(offset: " + this.offset + ", affinity: " + this.affinity.toString$0(0) + ")";
    }
  };
  A.TextRange.prototype = {
    get$isValid() {
      return this.start >= 0 && this.end >= 0;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      return other instanceof A.TextRange && other.start === this.start && other.end === this.end;
    },
    get$hashCode(_) {
      return A.Object_hash(B.JSInt_methods.get$hashCode(this.start), B.JSInt_methods.get$hashCode(this.end), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "TextRange(start: " + this.start + ", end: " + this.end + ")";
    }
  };
  A.ParagraphConstraints.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.ParagraphConstraints && other.width === this.width;
    },
    get$hashCode(_) {
      return B.JSNumber_methods.get$hashCode(this.width);
    },
    toString$0(_) {
      return A.getRuntimeType(this).toString$0(0) + "(width: " + A.S(this.width) + ")";
    }
  };
  A.BoxHeightStyle.prototype = {
    toString$0(_) {
      return "BoxHeightStyle." + this._core$_name;
    }
  };
  A.BoxWidthStyle.prototype = {
    toString$0(_) {
      return "BoxWidthStyle." + this._core$_name;
    }
  };
  A.TileMode.prototype = {
    toString$0(_) {
      return "TileMode." + this._core$_name;
    }
  };
  A.FlutterView.prototype = {};
  A.FlutterWindow.prototype = {};
  A.SingletonFlutterWindow.prototype = {};
  A.Brightness.prototype = {
    toString$0(_) {
      return "Brightness." + this._core$_name;
    }
  };
  A.CallbackHandle.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this === other;
    },
    get$hashCode(_) {
      return A.Object.prototype.get$hashCode.call(this, this);
    }
  };
  A.GestureSettings.prototype = {
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      if (other instanceof A.GestureSettings)
        t1 = true;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(null, null, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "GestureSettings(physicalTouchSlop: null, physicalDoubleTapSlop: null)";
    }
  };
  A.AudioBuffer.prototype = {
    get$length(receiver) {
      return receiver.length;
    }
  };
  A.AudioParamMap.prototype = {
    addAll$1(receiver, other) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    containsKey$1(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key)) != null;
    },
    $index(receiver, key) {
      return A.convertNativeToDart_Dictionary(receiver.get(key));
    },
    forEach$1(receiver, f) {
      var entry,
        entries = receiver.entries();
      for (; true;) {
        entry = entries.next();
        if (entry.done)
          return;
        f.call$2(entry.value[0], 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) {
      return receiver.size;
    },
    get$isEmpty(receiver) {
      return receiver.size === 0;
    },
    get$isNotEmpty(receiver) {
      return receiver.size !== 0;
    },
    $indexSet(receiver, key, value) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    putIfAbsent$2(receiver, key, ifAbsent) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    remove$1(receiver, key) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    clear$0(receiver) {
      throw A.wrapException(A.UnsupportedError$("Not supported"));
    },
    $isMap: 1
  };
  A.AudioParamMap_keys_closure.prototype = {
    call$2(k, v) {
      return this.keys.push(k);
    },
    $signature: 30
  };
  A.AudioParamMap_values_closure.prototype = {
    call$2(k, v) {
      return this.values.push(v);
    },
    $signature: 30
  };
  A.AudioTrack.prototype = {
    get$kind(receiver) {
      return receiver.kind;
    }
  };
  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.ActiveInfo.prototype = {
    get$name(receiver) {
      return receiver.name;
    }
  };
  A.AnsiUp.prototype = {
    _setupPalettes$0() {
      var levels, t2, r, g, b, greyLevel, i,
        _s9_ = "truecolor",
        t1 = this.palette256;
      B.JSArray_methods.forEach$1(this.ansiColors, B.JSArray_methods.get$addAll(t1));
      levels = [0, 95, 135, 175, 215, 255];
      for (t2 = type$.JSArray_int, r = 0; r < 6; ++r)
        for (g = 0; g < 6; ++g)
          for (b = 0; b < 6; ++b)
            t1.push(new A.AnsiUpColor(A._setArrayType([levels[r], levels[g], levels[b]], t2), _s9_));
      for (greyLevel = 8, i = 0; i < 24; ++i, greyLevel += 10)
        t1.push(new A.AnsiUpColor(A._setArrayType([greyLevel, greyLevel, greyLevel], t2), _s9_));
    },
    _getNextPacket$0() {
      var len, pos, nextChar, t2, spacesAndComments, match, match1, match3, text, rpos, _this = this,
        pkt = new A._TextPacket(B.PacketKind_0),
        t1 = _this.__AnsiUp__text;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      len = t1.length;
      if (len === 0)
        return pkt;
      pos = B.JSString_methods.indexOf$1(t1, "\x1b");
      if (pos === -1) {
        pkt.kind = B.PacketKind_1;
        pkt.text = t1;
        _this.__AnsiUp__text = "";
        return pkt;
      }
      if (pos > 0) {
        pkt.kind = B.PacketKind_1;
        pkt.text = B.JSString_methods.substring$2(t1, 0, pos);
        _this.__AnsiUp__text = B.JSString_methods.substring$1(t1, pos);
        return pkt;
      }
      if (pos === 0) {
        if (len === 1) {
          pkt.kind = B.PacketKind_2;
          return pkt;
        }
        nextChar = t1[1];
        t2 = nextChar === "[";
        if (!t2 && nextChar !== "]") {
          pkt.kind = B.PacketKind_3;
          pkt.text = B.JSString_methods.substring$2(t1, 0, 1);
          _this.__AnsiUp__text = B.JSString_methods.substring$1(t1, 1);
          return pkt;
        }
        if (t2) {
          t1 = _this._csiRegex;
          if (t1 == null) {
            spacesAndComments = A.RegExp_RegExp("^\\s+|\\s+\\n|\\s*#[\\s\\S]*?\\n|\\n", true, true);
            t1 = _this._csiRegex = A.RegExp_RegExp(A.stringReplaceAllUnchecked("\n                        ^                           # beginning of line\n                                                    #\n                                                    # First attempt\n                        (?:                         # legal sequence\n                          \\x1b\\[                      # CSI\n                          ([\\x3c-\\x3f]?)              # private-mode char\n                          ([\\d;]*)                    # any digits or semicolons\n                          ([\\x20-\\x2f]?               # an intermediate modifier\n                          [\\x40-\\x7e])                # the command\n                        )\n                        |                           # alternate (second attempt)\n                        (?:                         # illegal sequence\n                          \\x1b\\[                      # CSI\n                          [\\x20-\\x7e]*                # anything legal\n                          ([\\x00-\\x1f:])              # anything illegal\n                        )\n                    ", spacesAndComments, ""), true, false);
          }
          t2 = _this.__AnsiUp__text;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          match = t1.firstMatch$1(t2);
          if (match == null) {
            pkt.kind = B.PacketKind_2;
            return pkt;
          }
          t1 = match._match;
          t2 = t1.length - 1;
          if (t2 > 4) {
            pkt.kind = B.PacketKind_3;
            t1 = _this.__AnsiUp__text;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            pkt.text = B.JSString_methods.substring$2(t1, 0, 1);
            _this.__AnsiUp__text = B.JSString_methods.substring$1(t1, 1);
            return pkt;
          }
          match1 = t2 > 1 ? t1[1] : null;
          match3 = t2 > 3 ? t1[3] : null;
          if (match1 !== "" || match3 !== "m")
            pkt.kind = B.PacketKind_4;
          else
            pkt.kind = B.PacketKind_5;
          text = t2 > 2 ? t1[2] : null;
          if (text != null)
            pkt.text = text;
          rpos = t1[0].length;
          t1 = _this.__AnsiUp__text;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.__AnsiUp__text = B.JSString_methods.substring$1(t1, rpos);
          return pkt;
        }
      }
      return pkt;
    },
    _processAnsi$1(textPacket) {
      var t1, t2, t3, index, t4, index0, num, t5, modeCmd, t6, r, g, b, c, _this = this,
        sgrCmds = textPacket.text.split(";");
      for (t1 = _this.palette256, t2 = type$.JSArray_int, t3 = _this.ansiColors, index = 0; t4 = sgrCmds.length, index < t4;) {
        index0 = index + 1;
        num = A.Primitives_parseInt(sgrCmds[index], 10);
        if (num == null || num === 0) {
          _this.fg = _this.bg = null;
          _this.bold = false;
          index = index0;
        } else if (num === 1) {
          _this.bold = true;
          index = index0;
        } else if (num === 22) {
          _this.bold = false;
          index = index0;
        } else if (num === 39) {
          _this.fg = null;
          index = index0;
        } else if (num === 49) {
          _this.bg = null;
          index = index0;
        } else if (num >= 30 && num < 38) {
          _this.fg = t3[0][num - 30];
          index = index0;
        } else if (num >= 40 && num < 48) {
          _this.bg = t3[0][num - 40];
          index = index0;
        } else if (num >= 90 && num < 98) {
          _this.fg = t3[1][num - 90];
          index = index0;
        } else if (num >= 100 && num < 108) {
          _this.bg = t3[1][num - 100];
          index = index0;
        } else {
          t5 = num === 38;
          if (t5 || num === 48)
            if (index0 < t4) {
              index = index0 + 1;
              modeCmd = sgrCmds[index0];
              if (modeCmd === "5" && index < t4) {
                index0 = index + 1;
                t6 = A.Primitives_parseInt(sgrCmds[index], 10);
                t6.toString;
                if (t6 >= 0 && t6 <= 255)
                  if (t5)
                    _this.fg = t1[t6];
                  else
                    _this.bg = t1[t6];
                index = index0;
              }
              if (modeCmd === "2" && index + 2 < t4) {
                index0 = index + 1;
                r = A.Primitives_parseInt(sgrCmds[index], 10);
                index = index0 + 1;
                g = A.Primitives_parseInt(sgrCmds[index0], 10);
                index0 = index + 1;
                b = A.Primitives_parseInt(sgrCmds[index], 10);
                if (r != null && g != null && b != null && r >= 0 && r <= 255 && g >= 0 && g <= 255 && b >= 0 && b <= 255) {
                  c = new A.AnsiUpColor(A._setArrayType([r, g, b], t2), "truecolor");
                  if (t5)
                    _this.fg = c;
                  else
                    _this.bg = c;
                }
                index = index0;
              }
            } else
              index = index0;
          else
            index = index0;
        }
      }
    }
  };
  A.AnsiUpColor.prototype = {
    get$className(receiver) {
      return this.className;
    }
  };
  A.PacketKind.prototype = {
    toString$0(_) {
      return "PacketKind." + this._core$_name;
    }
  };
  A._TextPacket.prototype = {
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.StyledText.prototype = {
    get$style(_) {
      var _bgColor, t3, _this = this,
        t1 = _this.fgColor,
        t2 = t1 == null;
      if (t2 && _this.bgColor == null && !_this.bold)
        return "";
      _bgColor = _this.bgColor;
      t3 = A._setArrayType([], type$.JSArray_String);
      if (_bgColor != null)
        t3.push("background-color: " + ("rgb(" + B.JSArray_methods.join$1(_bgColor, ",") + ")"));
      if (!t2)
        t3.push("color: " + ("rgb(" + B.JSArray_methods.join$1(t1, ",") + ")"));
      if (_this.bold)
        t3.push("font-weight: bold");
      return B.JSArray_methods.join$1(t3, ";");
    }
  };
  A.ArchiveException.prototype = {};
  A.InputStreamBase.prototype = {};
  A.InputStream.prototype = {
    get$length(_) {
      var t1 = this.__InputStream__length;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1 - (this.offset - this.start);
    },
    get$isEOS() {
      var t1 = this.offset,
        t2 = this.__InputStream__length;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1 >= this.start + t2;
    },
    $index(_, index) {
      return this.buffer[this.offset + index];
    },
    indexOf$1(_, value) {
      var i, end, t1, _this = this;
      for (i = _this.offset, end = i + _this.get$length(_this), t1 = _this.buffer; i < end; ++i)
        if (J.$eq$(t1[i], value))
          return i - _this.start;
      return -1;
    },
    readByte$0() {
      return this.buffer[this.offset++];
    },
    readUint32$0() {
      var b2, b3, b4, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset,
        t3 = _this.offset = t2 + 1,
        b1 = t1[t2] & 255;
      t2 = _this.offset = t3 + 1;
      b2 = t1[t3] & 255;
      t3 = _this.offset = t2 + 1;
      b3 = t1[t2] & 255;
      _this.offset = t3 + 1;
      b4 = t1[t3] & 255;
      if (_this.byteOrder === 1)
        return (b1 << 24 | b2 << 16 | b3 << 8 | b4) >>> 0;
      return (b4 << 24 | b3 << 16 | b2 << 8 | b1) >>> 0;
    }
  };
  A.OutputStreamBase.prototype = {};
  A.OutputStream.prototype = {
    writeBytes$1(bytes) {
      var t1, t2, t3, t4, _this = this,
        len = bytes.length;
      for (; t1 = _this.length, t2 = t1 + len, t3 = _this._output_stream$_buffer, t4 = t3.length, t2 > t4;)
        _this._output_stream$_expandBuffer$1(t2 - t4);
      B.NativeUint8List_methods.setRange$3(t3, t1, t2, bytes);
      _this.length += len;
    },
    writeInputStream$1(stream) {
      var t2, t3, t4, t5, _this = this,
        t1 = stream.start;
      while (true) {
        t2 = _this.length;
        t3 = stream.__InputStream__length;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t2 + (t3 - (stream.offset - t1));
        t4 = _this._output_stream$_buffer;
        t5 = t4.length;
        if (!(t3 > t5))
          break;
        _this._output_stream$_expandBuffer$1(t3 - t5);
      }
      B.NativeUint8List_methods.setRange$4(t4, t2, t2 + stream.get$length(stream), stream.buffer, stream.offset);
      _this.length = _this.length + stream.get$length(stream);
    },
    subset$2(start, end) {
      var _this = this;
      if (start < 0)
        start = _this.length + start;
      if (end == null)
        end = _this.length;
      else if (end < 0)
        end = _this.length + end;
      return A.NativeUint8List_NativeUint8List$view(_this._output_stream$_buffer.buffer, start, end - start);
    },
    subset$1(start) {
      return this.subset$2(start, null);
    },
    _output_stream$_expandBuffer$1(required) {
      var blockSize = required != null ? required > 32768 ? required : 32768 : 32768,
        t1 = this._output_stream$_buffer,
        t2 = t1.length,
        newBuffer = new Uint8Array((t2 + blockSize) * 2);
      B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1);
      this._output_stream$_buffer = newBuffer;
    },
    _output_stream$_expandBuffer$0() {
      return this._output_stream$_expandBuffer$1(null);
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A._ZLibDecoder.prototype = {
    decodeBuffer$2$verify(input, verify) {
      var t1, t2, t3, buffer,
        cmf = input.readByte$0(),
        flg = input.readByte$0(),
        method = cmf & 8;
      B.JSInt_methods._shrOtherPositive$1(cmf, 3);
      if (method !== 8)
        throw A.wrapException(A.ArchiveException$("Only DEFLATE compression supported: " + method));
      if (B.JSInt_methods.$mod((cmf << 8 >>> 0) + flg, 31) !== 0)
        throw A.wrapException(A.ArchiveException$("Invalid FCHECK"));
      if ((flg >>> 5 & 1) !== 0) {
        input.readUint32$0();
        throw A.wrapException(A.ArchiveException$("FDICT Encoding not currently supported"));
      }
      t1 = A.HuffmanTable$(B.List_2Bc);
      t2 = A.HuffmanTable$(B.List_X3d);
      t3 = A.OutputStream$(null);
      t2 = new A.Inflate(input, t3, t1, t2);
      t2.inputSet = true;
      t2._inflate$0();
      buffer = type$.List_int._as(A.NativeUint8List_NativeUint8List$view(t3._output_stream$_buffer.buffer, 0, t3.length));
      input.readUint32$0();
      return buffer;
    }
  };
  A.HuffmanTable.prototype = {
    HuffmanTable$1(lengths) {
      var i, t1, size, t2, bitLength, code, skip, t3, rtemp, reversed, j, t4, _this = this,
        listSize = lengths.length;
      for (i = 0; i < listSize; ++i) {
        t1 = lengths[i];
        if (t1 > _this.maxCodeLength)
          _this.maxCodeLength = t1;
        if (t1 < _this.minCodeLength)
          _this.minCodeLength = t1;
      }
      t1 = _this.maxCodeLength;
      size = B.JSInt_methods._shlPositive$1(1, t1);
      t2 = new Uint32Array(size);
      _this.__HuffmanTable_table = t2;
      for (bitLength = 1, code = 0, skip = 2; bitLength <= t1;) {
        for (t3 = bitLength << 16, i = 0; i < listSize; ++i)
          if (lengths[i] === bitLength) {
            for (rtemp = code, reversed = 0, j = 0; j < bitLength; ++j) {
              reversed = (reversed << 1 | rtemp & 1) >>> 0;
              rtemp = rtemp >>> 1;
            }
            for (t4 = (t3 | i) >>> 0, j = reversed; j < size; j += skip)
              t2[j] = t4;
            ++code;
          }
        ++bitLength;
        code = code << 1 >>> 0;
        skip = skip << 1 >>> 0;
      }
    }
  };
  A.Inflate.prototype = {
    _inflate$0() {
      var t1, t2, t3, t4, _this = this;
      _this._bitBufferLen = _this._bitBuffer = 0;
      if (!_this.inputSet)
        return;
      t1 = _this.__Inflate_input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.start;
      while (true) {
        t3 = t1.offset;
        t4 = t1.__InputStream__length;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        if (!(t3 < t2 + t4))
          break;
        if (!_this._parseBlock$0())
          break;
      }
    },
    _parseBlock$0() {
      var hdr, btype, len, t2, t3, bytes, _this = this,
        t1 = _this.__Inflate_input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.get$isEOS())
        return false;
      hdr = _this._readBits$1(3);
      btype = hdr >>> 1;
      switch (btype) {
        case 0:
          _this._bitBufferLen = _this._bitBuffer = 0;
          len = _this._readBits$1(16);
          t2 = _this._readBits$1(16);
          if (len !== 0 && len !== (t2 ^ 65535) >>> 0)
            A.throwExpression(A.ArchiveException$("Invalid uncompressed block header"));
          if (len > t1.get$length(t1))
            A.throwExpression(A.ArchiveException$("Input buffer is broken"));
          t2 = t1.offset;
          t3 = t1.start;
          bytes = A.InputStream$(t1.buffer, t1.byteOrder, len, t2 - t3 + t3);
          t1.offset = t1.offset + bytes.get$length(bytes);
          _this.output.writeInputStream$1(bytes);
          break;
        case 1:
          _this._decodeHuffman$2(_this._fixedLiteralLengthTable, _this._fixedDistanceTable);
          break;
        case 2:
          _this._parseDynamicHuffmanBlock$0();
          break;
        default:
          throw A.wrapException(A.ArchiveException$("unknown BTYPE: " + btype));
      }
      return (hdr & 1) === 0;
    },
    _readBits$1($length) {
      var t1, t2, t3, t4, _this = this;
      if ($length === 0)
        return 0;
      for (t1 = _this.__Inflate_input; t2 = _this._bitBufferLen, t2 < $length;) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t1.offset;
        t4 = t1.__InputStream__length;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        if (t3 >= t1.start + t4)
          throw A.wrapException(A.ArchiveException$("input buffer is broken"));
        t1.offset = t3 + 1;
        t3 = t1.buffer[t3];
        _this._bitBuffer = (_this._bitBuffer | B.JSInt_methods.$shl(t3, t2)) >>> 0;
        _this._bitBufferLen = t2 + 8;
      }
      t1 = _this._bitBuffer;
      t3 = B.JSInt_methods._shlPositive$1(1, $length);
      _this._bitBuffer = B.JSInt_methods._shrBothPositive$1(t1, $length);
      _this._bitBufferLen = t2 - $length;
      return (t1 & t3 - 1) >>> 0;
    },
    _readCodeByTable$1(table) {
      var maxCodeLength, t2, t3, t4, t5, codeWithLength, codeLength, _this = this,
        t1 = table.__HuffmanTable_table;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      maxCodeLength = table.maxCodeLength;
      for (t2 = _this.__Inflate_input; t3 = _this._bitBufferLen, t3 < maxCodeLength;) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t2.offset;
        t5 = t2.__InputStream__length;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        if (t4 >= t2.start + t5)
          break;
        t2.offset = t4 + 1;
        t4 = t2.buffer[t4];
        _this._bitBuffer = (_this._bitBuffer | B.JSInt_methods.$shl(t4, t3)) >>> 0;
        _this._bitBufferLen = t3 + 8;
      }
      t2 = _this._bitBuffer;
      codeWithLength = t1[(t2 & B.JSInt_methods._shlPositive$1(1, maxCodeLength) - 1) >>> 0];
      codeLength = codeWithLength >>> 16;
      _this._bitBuffer = B.JSInt_methods._shrBothPositive$1(t2, codeLength);
      _this._bitBufferLen = t3 - codeLength;
      return codeWithLength & 65535;
    },
    _parseDynamicHuffmanBlock$0() {
      var i, codeLengthsTable, litlenLengths, distLengths, litlen, dist, _this = this,
        numLitLengthCodes = _this._readBits$1(5) + 257,
        numDistanceCodes = _this._readBits$1(5) + 1,
        numCodeLengths = _this._readBits$1(4) + 4,
        codeLengths = new Uint8Array(19);
      for (i = 0; i < numCodeLengths; ++i)
        codeLengths[B.List_uSC[i]] = _this._readBits$1(3);
      codeLengthsTable = A.HuffmanTable$(codeLengths);
      litlenLengths = new Uint8Array(numLitLengthCodes);
      distLengths = new Uint8Array(numDistanceCodes);
      litlen = _this._decode$3(numLitLengthCodes, codeLengthsTable, litlenLengths);
      dist = _this._decode$3(numDistanceCodes, codeLengthsTable, distLengths);
      _this._decodeHuffman$2(A.HuffmanTable$(litlen), A.HuffmanTable$(dist));
    },
    _decodeHuffman$2(litlen, dist) {
      var t1, code, ti, codeLength, distCode, distance, t2, _this = this;
      for (t1 = _this.output; true;) {
        code = _this._readCodeByTable$1(litlen);
        if (code > 285)
          throw A.wrapException(A.ArchiveException$("Invalid Huffman Code " + code));
        if (code === 256)
          break;
        if (code < 256) {
          if (t1.length === t1._output_stream$_buffer.length)
            t1._output_stream$_expandBuffer$0();
          t1._output_stream$_buffer[t1.length++] = code & 255;
          continue;
        }
        ti = code - 257;
        codeLength = B.List_qQn[ti] + _this._readBits$1(B.List_eea[ti]);
        distCode = _this._readCodeByTable$1(dist);
        if (distCode <= 29) {
          distance = B.List_i3t[distCode] + _this._readBits$1(B.List_X3d0[distCode]);
          for (t2 = -distance; codeLength > distance;) {
            t1.writeBytes$1(t1.subset$1(t2));
            codeLength -= distance;
          }
          if (codeLength === distance)
            t1.writeBytes$1(t1.subset$1(t2));
          else
            t1.writeBytes$1(t1.subset$2(t2, codeLength - distance));
        } else
          throw A.wrapException(A.ArchiveException$("Illegal unused distance symbol"));
      }
      for (t1 = _this.__Inflate_input; t2 = _this._bitBufferLen, t2 >= 8;) {
        _this._bitBufferLen = t2 - 8;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (--t1.offset < 0)
          t1.offset = 0;
      }
    },
    _decode$3(num, table, lengths) {
      var prev, i, code, repeat, repeat0, i0, _this = this;
      for (prev = 0, i = 0; i < num;) {
        code = _this._readCodeByTable$1(table);
        switch (code) {
          case 16:
            repeat = 3 + _this._readBits$1(2);
            for (; repeat0 = repeat - 1, repeat > 0; repeat = repeat0, i = i0) {
              i0 = i + 1;
              lengths[i] = prev;
            }
            break;
          case 17:
            repeat = 3 + _this._readBits$1(3);
            for (; repeat0 = repeat - 1, repeat > 0; repeat = repeat0, i = i0) {
              i0 = i + 1;
              lengths[i] = 0;
            }
            prev = 0;
            break;
          case 18:
            repeat = 11 + _this._readBits$1(7);
            for (; repeat0 = repeat - 1, repeat > 0; repeat = repeat0, i = i0) {
              i0 = i + 1;
              lengths[i] = 0;
            }
            prev = 0;
            break;
          default:
            if (code > 15)
              throw A.wrapException(A.ArchiveException$("Invalid Huffman Code: " + code));
            i0 = i + 1;
            lengths[i] = code;
            i = i0;
            prev = code;
            break;
        }
      }
      return lengths;
    }
  };
  A.ZLibDecoderBase.prototype = {};
  A.ZLibDecoder.prototype = {};
  A.AsyncMemoizer.prototype = {};
  A.CancelableOperation.prototype = {
    get$value(_) {
      var t1 = this._cancelable_operation$_completer._inner;
      t1 = t1 == null ? null : t1.future;
      return t1 == null ? new A._Future($.Zone__current, this.$ti._eval$1("_Future<1>")) : t1;
    }
  };
  A.CancelableCompleter.prototype = {
    complete$1(_, value) {
      var t1, _this = this;
      if (!_this._mayComplete)
        throw A.wrapException(A.StateError$("Operation already completed"));
      _this._mayComplete = false;
      t1 = _this.$ti;
      if (!t1._eval$1("Future<1>")._is(value)) {
        t1 = _this._completeNow$0();
        if (t1 != null)
          t1.complete$1(0, value);
        return;
      }
      if (_this._inner == null) {
        A.FutureExtensions_ignore(value, t1._precomputed1);
        return;
      }
      value.then$1$2$onError(new A.CancelableCompleter_complete_closure(_this), new A.CancelableCompleter_complete_closure0(_this), type$.Null);
    },
    _completeNow$0() {
      var inner = this._inner;
      if (inner == null)
        return null;
      this._cancelCompleter = null;
      return inner;
    },
    _cancelable_operation$_cancel$0() {
      var cancelCompleter = this._cancelCompleter;
      if (cancelCompleter == null)
        return A.Future_Future$value(null, type$.void);
      if (this._inner != null) {
        this._inner = null;
        cancelCompleter.complete$1(0, null);
      }
      return cancelCompleter.future;
    }
  };
  A.CancelableCompleter_complete_closure.prototype = {
    call$1(result) {
      var t1 = this.$this._completeNow$0();
      if (t1 != null)
        t1.complete$1(0, result);
    },
    $signature() {
      return this.$this.$ti._eval$1("Null(1)");
    }
  };
  A.CancelableCompleter_complete_closure0.prototype = {
    call$2(error, stackTrace) {
      var t1 = this.$this._completeNow$0();
      if (t1 != null)
        t1.completeError$2(error, stackTrace);
    },
    $signature: 22
  };
  A.DelegatingStreamSink.prototype = {
    addStream$1(_, stream) {
      return this._stream_sink$_sink.addStream$1(0, stream);
    },
    close$0(_) {
      return this._stream_sink$_sink.close$0(0);
    }
  };
  A.DelegatingStreamSubscription.prototype = {
    onData$1(handleData) {
      this._stream_subscription$_source.onData$1(handleData);
    },
    onError$1(_, handleError) {
      this._stream_subscription$_source.onError$1(0, handleError);
    },
    onDone$1(handleDone) {
      this._stream_subscription$_source.onDone$1(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);
    },
    asFuture$1$1(futureValue, $E) {
      return this._stream_subscription$_source.asFuture$1$1(futureValue, $E);
    },
    $isStreamSubscription: 1
  };
  A.ErrorResult.prototype = {
    complete$1(_, completer) {
      completer.completeError$2(this.error, this.stackTrace);
    },
    addTo$1(sink) {
      sink.addError$2(this.error, this.stackTrace);
    },
    get$hashCode(_) {
      return (J.get$hashCode$(this.error) ^ A.Primitives_objectHashCode(this.stackTrace) ^ 492929599) >>> 0;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ErrorResult && J.$eq$(this.error, other.error) && this.stackTrace === other.stackTrace;
    },
    $isResult: 1
  };
  A.ValueResult.prototype = {
    complete$1(_, completer) {
      completer.complete$1(0, this.value);
    },
    addTo$1(sink) {
      sink.add$1(0, this.value);
    },
    get$hashCode(_) {
      return (J.get$hashCode$(this.value) ^ 842997089) >>> 0;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ValueResult && J.$eq$(this.value, other.value);
    },
    $isResult: 1
  };
  A.StreamCompleter.prototype = {
    setSourceStream$1(sourceStream) {
      var t1 = this._stream;
      if (t1._sourceStream != null)
        throw A.wrapException(A.StateError$("Source stream already set"));
      t1._sourceStream = sourceStream;
      if (t1._stream_completer$_controller != null)
        t1._linkStreamToController$0();
    }
  };
  A._CompleterStream.prototype = {
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      var sourceStream, t1, _this = this;
      if (_this._stream_completer$_controller == null) {
        sourceStream = _this._sourceStream;
        if (sourceStream != null && !sourceStream.get$isBroadcast())
          return sourceStream.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
        _this._ensureController$0();
        if (_this._sourceStream != null)
          _this._linkStreamToController$0();
      }
      t1 = _this._stream_completer$_controller;
      t1.toString;
      return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError);
    },
    listen$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    listen$3$onDone$onError(onData, onDone, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone, onError);
    },
    listen$2$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    },
    _linkStreamToController$0() {
      var t2,
        t1 = this._stream_completer$_controller;
      t1.toString;
      t2 = this._sourceStream;
      t2.toString;
      t1.addStream$2$cancelOnError(0, t2, false).whenComplete$1(t1.get$close(t1));
    },
    _ensureController$0() {
      var t1 = this._stream_completer$_controller;
      return t1 == null ? this._stream_completer$_controller = A.StreamController_StreamController(null, null, null, true, this.$ti._precomputed1) : t1;
    }
  };
  A.StreamQueue.prototype = {
    cancel$0(_) {
      var t1, _this = this;
      if (_this._isClosed)
        A.throwExpression(A.StateError$("Already cancelled"));
      _this._isClosed = true;
      t1 = new A._Future($.Zone__current, type$._Future_void);
      _this._addRequest$1(new A._CancelRequest(new A._AsyncCompleter(t1, type$._AsyncCompleter_void), _this, _this.$ti._eval$1("_CancelRequest<1>")));
      return t1;
    },
    _updateRequests$0() {
      var t1, t2, t3, t4, _this = this;
      for (t1 = _this._requestQueue, t2 = _this._eventQueue, t3 = t1.$ti._precomputed1; !t1.get$isEmpty(t1);) {
        t4 = t1._head;
        if (t4 === t1._tail)
          A.throwExpression(A.IterableElementError_noElement());
        t4 = t1._table[t4];
        if (t4 == null)
          t4 = t3._as(t4);
        if (J.update$2$x(t4, t2, _this._stream_queue$_isDone))
          t1.removeFirst$0();
        else
          return;
      }
      if (!_this._stream_queue$_isDone)
        _this._stream_queue$_subscription.pause$0(0);
    },
    _extractStream$0() {
      var subscription, wasPaused, _this = this;
      if (_this._stream_queue$_isDone)
        return new A._EmptyStream(_this.$ti._eval$1("_EmptyStream<1>"));
      _this._stream_queue$_isDone = true;
      subscription = _this._stream_queue$_subscription;
      if (subscription == null)
        return _this._stream_queue$_source;
      _this._stream_queue$_subscription = null;
      wasPaused = subscription.get$isPaused();
      subscription.pause$0(0);
      subscription.onData$1(null);
      subscription.onError$1(0, null);
      subscription.onDone$1(null);
      if (wasPaused)
        subscription.resume$0(0);
      return new A.SubscriptionStream(subscription, _this.$ti._eval$1("SubscriptionStream<1>"));
    },
    _ensureListening$0() {
      var t1, _this = this;
      if (_this._stream_queue$_isDone)
        return;
      t1 = _this._stream_queue$_subscription;
      if (t1 == null)
        _this._stream_queue$_subscription = _this._stream_queue$_source.listen$3$onDone$onError(new A.StreamQueue__ensureListening_closure(_this), new A.StreamQueue__ensureListening_closure0(_this), new A.StreamQueue__ensureListening_closure1(_this));
      else
        t1.resume$0(0);
    },
    _addResult$1(result) {
      ++this._eventsReceived;
      this._eventQueue._queue_list$_add$1(0, result);
      this._updateRequests$0();
    },
    _addRequest$1(request) {
      var _this = this,
        t1 = _this._requestQueue;
      if (t1._head === t1._tail) {
        if (request.update$2(0, _this._eventQueue, _this._stream_queue$_isDone))
          return;
        _this._ensureListening$0();
      }
      t1._add$1(0, request);
    }
  };
  A.StreamQueue__ensureListening_closure.prototype = {
    call$1(data) {
      var t1 = this.$this;
      t1._addResult$1(new A.ValueResult(data, t1.$ti._eval$1("ValueResult<1>")));
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  A.StreamQueue__ensureListening_closure1.prototype = {
    call$2(error, stackTrace) {
      this.$this._addResult$1(new A.ErrorResult(error, stackTrace));
    },
    $signature: 22
  };
  A.StreamQueue__ensureListening_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._stream_queue$_subscription = null;
      t1._stream_queue$_isDone = true;
      t1._updateRequests$0();
    },
    $signature: 0
  };
  A._PeekRequest.prototype = {
    update$2(_, events, isDone) {
      if (!events.get$isEmpty(events)) {
        J.complete$1$z(events.get$first(events), this._stream_queue$_completer);
        return true;
      }
      if (isDone) {
        this._stream_queue$_completer.completeError$2(new A.StateError("No elements"), A.StackTrace_current());
        return true;
      }
      return false;
    },
    $is_EventRequest: 1
  };
  A._CancelRequest.prototype = {
    update$2(_, events, isDone) {
      var t1 = this._streamQueue,
        t2 = this._stream_queue$_completer;
      if (t1._stream_queue$_isDone)
        t2.complete$0(0);
      else {
        t1._ensureListening$0();
        t2.complete$1(0, t1._extractStream$0().listen$1(null).cancel$0(0));
      }
      return true;
    },
    $is_EventRequest: 1
  };
  A._RestRequest.prototype = {
    update$2(_, events, isDone) {
      var t1, t2, controller, t3, _this = this;
      if (events.get$length(events) === 0) {
        t1 = _this._streamQueue;
        t2 = _this._stream_queue$_completer;
        if (t1._stream_queue$_isDone) {
          t1 = t2._stream;
          if (t1._sourceStream != null)
            A.throwExpression(A.StateError$("Source stream already set"));
          controller = t1._ensureController$0();
          t1._sourceStream = new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>"));
          controller.close$0(0);
        } else
          t2.setSourceStream$1(t1._extractStream$0());
      } else {
        controller = A.StreamController_StreamController(null, null, null, false, _this.$ti._precomputed1);
        for (t1 = events.$ti, t2 = new A.ListIterator(events, events.get$length(events), t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E"); t2.moveNext$0();) {
          t3 = t2.__internal$_current;
          (t3 == null ? t1._as(t3) : t3).addTo$1(controller);
        }
        controller.addStream$2$cancelOnError(0, _this._streamQueue._extractStream$0(), false).whenComplete$1(controller.get$close(controller));
        _this._stream_queue$_completer.setSourceStream$1(new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>")));
      }
      return true;
    },
    $is_EventRequest: 1
  };
  A.SubscriptionStream.prototype = {
    listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, onError) {
      var result,
        subscription = this._subscription_stream$_source;
      if (subscription == null)
        throw A.wrapException(A.StateError$("Stream has already been listened to."));
      this._subscription_stream$_source = null;
      result = true === cancelOnError ? new A._CancelOnErrorSubscriptionWrapper(subscription, this.$ti._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$2$onError(onData, onError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, null, null, onError);
    },
    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$cancelOnError(onData, cancelOnError) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, null, null);
    },
    listen$3$cancelOnError$onDone(onData, cancelOnError, onDone) {
      return this.listen$4$cancelOnError$onDone$onError(onData, cancelOnError, onDone, null);
    }
  };
  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) {
      this.$this.super$DelegatingStreamSubscription$cancel(0).whenComplete$1(new A._CancelOnErrorSubscriptionWrapper_onError__closure(this.handleError, error, stackTrace));
    },
    $signature: 219
  };
  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)
        t1.call$1(_this.error);
    },
    $signature: 7
  };
  A.StringCharacters.prototype = {
    get$iterator(_) {
      return new A.StringCharacterRange(this.string, 0, 0);
    },
    get$first(_) {
      var t1 = this.string,
        t2 = t1.length;
      return t2 === 0 ? A.throwExpression(A.StateError$("No element")) : B.JSString_methods.substring$2(t1, 0, new A.Breaks(t1, t2, 0, 176).nextBreak$0());
    },
    get$last(_) {
      var t1 = this.string,
        t2 = t1.length;
      return t2 === 0 ? A.throwExpression(A.StateError$("No element")) : B.JSString_methods.substring$1(t1, new A.BackBreaks(t1, 0, t2, 176).nextBreak$0());
    },
    get$isEmpty(_) {
      return this.string.length === 0;
    },
    get$isNotEmpty(_) {
      return this.string.length !== 0;
    },
    get$length(_) {
      var brk, $length,
        t1 = this.string,
        t2 = t1.length;
      if (t2 === 0)
        return 0;
      brk = new A.Breaks(t1, t2, 0, 176);
      for ($length = 0; brk.nextBreak$0() >= 0;)
        ++$length;
      return $length;
    },
    whereType$1$0(_, $T) {
      if ($T._eval$1("Iterable<0>")._is(this))
        return A.MappedIterable_MappedIterable(this, new A.StringCharacters_whereType_closure($T), A._instanceType(this)._eval$1("Iterable.E"), $T);
      return new A.EmptyIterable($T._eval$1("EmptyIterable<0>"));
    },
    elementAt$1(_, index) {
      var t1, t2, breaks, count, start, end;
      A.RangeError_checkNotNegative(index, "index");
      t1 = this.string;
      t2 = t1.length;
      if (t2 !== 0) {
        breaks = new A.Breaks(t1, t2, 0, 176);
        for (count = 0, start = 0; end = breaks.nextBreak$0(), end >= 0; start = end) {
          if (count === index)
            return B.JSString_methods.substring$2(t1, start, end);
          ++count;
        }
      } else
        count = 0;
      throw A.wrapException(A.IndexError$(index, this, "index", null, count));
    },
    contains$1(_, singleCharacterString) {
      var t1;
      if (typeof singleCharacterString != "string")
        return false;
      t1 = singleCharacterString.length;
      if (t1 === 0)
        return false;
      if (new A.Breaks(singleCharacterString, t1, 0, 176).nextBreak$0() !== t1)
        return false;
      t1 = this.string;
      return A._indexOf(t1, singleCharacterString, 0, t1.length) >= 0;
    },
    _skipIndices$3(count, cursor, breaks) {
      var t1, nextBreak;
      if (count === 0 || cursor === this.string.length)
        return cursor;
      if (breaks == null) {
        t1 = this.string;
        breaks = new A.Breaks(t1, t1.length, cursor, 176);
      }
      do {
        nextBreak = breaks.nextBreak$0();
        if (nextBreak < 0)
          break;
        if (--count, count > 0) {
          cursor = nextBreak;
          continue;
        } else {
          cursor = nextBreak;
          break;
        }
      } while (true);
      return cursor;
    },
    skip$1(_, count) {
      A.RangeError_checkNotNegative(count, "count");
      return this._skip$1(count);
    },
    _skip$1(count) {
      var start = this._skipIndices$3(count, 0, null),
        t1 = this.string;
      if (start === t1.length)
        return B.StringCharacters_ehH;
      return new A.StringCharacters(B.JSString_methods.substring$1(t1, start));
    },
    take$1(_, count) {
      A.RangeError_checkNotNegative(count, "count");
      return this._take$1(count);
    },
    _take$1(count) {
      var end = this._skipIndices$3(count, 0, null),
        t1 = this.string;
      if (end === t1.length)
        return this;
      return new A.StringCharacters(B.JSString_methods.substring$2(t1, 0, end));
    },
    getRange$2(_, start, end) {
      var t1, t2, breaks, startIndex, _this = this;
      A.RangeError_checkNotNegative(start, "start");
      if (end < start)
        throw A.wrapException(A.RangeError$range(end, start, null, "end", null));
      if (end === start)
        return B.StringCharacters_ehH;
      if (start === 0)
        return _this._take$1(end);
      t1 = _this.string;
      t2 = t1.length;
      if (t2 === 0)
        return _this;
      breaks = new A.Breaks(t1, t2, 0, 176);
      startIndex = _this._skipIndices$3(start, 0, breaks);
      if (startIndex === t2)
        return B.StringCharacters_ehH;
      return new A.StringCharacters(B.JSString_methods.substring$2(t1, startIndex, _this._skipIndices$3(end - start, start, breaks)));
    },
    characterAt$1(position) {
      var start, end,
        _s10_ = "No element",
        t1 = this.string,
        t2 = t1.length,
        breaks = new A.Breaks(t1, t2, 0, 176);
      for (start = 0; position > 0;) {
        --position;
        start = breaks.nextBreak$0();
        if (start < 0)
          throw A.wrapException(A.StateError$(_s10_));
      }
      end = breaks.nextBreak$0();
      if (end < 0)
        throw A.wrapException(A.StateError$(_s10_));
      if (start === 0 && end === t2)
        return this;
      return new A.StringCharacters(B.JSString_methods.substring$2(t1, start, end));
    },
    where$1(_, test) {
      var string = this.super$Iterable$where(0, test).join$0(0);
      if (string.length === 0)
        return B.StringCharacters_ehH;
      return new A.StringCharacters(string);
    },
    $add(_, characters) {
      return new A.StringCharacters(this.string + characters.string);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.Characters._is(other) && this.string === other.string;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.string);
    },
    toString$0(_) {
      return this.string;
    },
    $isCharacters: 1
  };
  A.StringCharacters_whereType_closure.prototype = {
    call$1(x) {
      return x;
    },
    $signature() {
      return this.T._eval$1("0(0)");
    }
  };
  A.StringCharacterRange.prototype = {
    get$current(_) {
      var _this = this,
        t1 = _this._currentCache;
      return t1 == null ? _this._currentCache = B.JSString_methods.substring$2(_this._characters_impl$_string, _this._characters_impl$_start, _this._characters_impl$_end) : t1;
    },
    moveNext$0() {
      return this._advanceEnd$2(1, this._characters_impl$_end);
    },
    _advanceEnd$2(count, newStart) {
      var index, t1, t2, state, char, nextIndex, category, nextChar, t3, _this = this;
      if (count > 0) {
        index = _this._characters_impl$_end;
        for (t1 = _this._characters_impl$_string, t2 = t1.length, state = 176; index < t2; index = nextIndex) {
          char = B.JSString_methods.codeUnitAt$1(t1, index);
          nextIndex = index + 1;
          if ((char & 64512) !== 55296)
            category = A.low(char);
          else if (nextIndex < t2) {
            nextChar = B.JSString_methods.codeUnitAt$1(t1, nextIndex);
            if ((nextChar & 64512) === 56320) {
              ++nextIndex;
              category = A.high(char, nextChar);
            } else
              category = 2;
          } else
            category = 2;
          state = B.JSString_methods._codeUnitAt$1(string$.x200_000, (state & 240 | category) >>> 0);
          if ((state & 1) === 0) {
            --count;
            t3 = count === 0;
          } else
            t3 = false;
          if (t3) {
            _this._characters_impl$_start = newStart;
            _this._characters_impl$_end = index;
            _this._currentCache = null;
            return true;
          }
        }
        _this._characters_impl$_start = newStart;
        _this._characters_impl$_end = t2;
        _this._currentCache = null;
        return count === 1 && state !== 176;
      } else {
        _this._characters_impl$_start = newStart;
        _this._currentCache = null;
        return true;
      }
    },
    _retractStart$2(count, newEnd) {
      var start, breaks, nextBreak, _this = this;
      A.RangeError_checkNotNegative(count, "count");
      start = _this._characters_impl$_start;
      breaks = new A.BackBreaks(_this._characters_impl$_string, 0, start, 176);
      for (; count > 0; start = nextBreak) {
        nextBreak = breaks.nextBreak$0();
        if (nextBreak < 0)
          break;
        --count;
      }
      _this._characters_impl$_start = start;
      _this._characters_impl$_end = newEnd;
      _this._currentCache = null;
      return count === 0;
    }
  };
  A.Breaks.prototype = {
    nextBreak$0() {
      var t1, t2, t3, t4, char, nextChar, category, _this = this,
        _s192_ = string$.x200_000;
      for (t1 = _this.end, t2 = _this.base; t3 = _this.cursor, t3 < t1;) {
        t4 = _this.cursor = t3 + 1;
        char = B.JSString_methods.codeUnitAt$1(t2, t3);
        if ((char & 64512) !== 55296) {
          t4 = B.JSString_methods._codeUnitAt$1(_s192_, _this.state & 240 | A.low(char));
          _this.state = t4;
          if ((t4 & 1) === 0)
            return t3;
          continue;
        }
        if (t4 < t1) {
          nextChar = B.JSString_methods.codeUnitAt$1(t2, t4);
          if ((nextChar & 64512) === 56320) {
            category = A.high(char, nextChar);
            ++_this.cursor;
          } else
            category = 2;
        } else
          category = 2;
        t4 = B.JSString_methods._codeUnitAt$1(_s192_, (_this.state & 240 | category) >>> 0);
        _this.state = t4;
        if ((t4 & 1) === 0)
          return t3;
      }
      t1 = B.JSString_methods._codeUnitAt$1(_s192_, _this.state & 240 | 15);
      _this.state = t1;
      if ((t1 & 1) === 0)
        return t3;
      return -1;
    }
  };
  A.BackBreaks.prototype = {
    nextBreak$0() {
      var t1, t2, t3, t4, char, prevChar, category, t5, _this = this,
        _s208_ = string$.x10__0__;
      for (t1 = _this.start, t2 = _this.base; t3 = _this.cursor, t3 > t1;) {
        t4 = _this.cursor = t3 - 1;
        char = B.JSString_methods.codeUnitAt$1(t2, t4);
        if ((char & 64512) !== 56320) {
          t4 = _this.state = B.JSString_methods._codeUnitAt$1(_s208_, _this.state & 240 | A.low(char));
          if (((t4 >= 208 ? _this.state = A.lookAhead(t2, t1, _this.cursor, t4) : t4) & 1) === 0)
            return t3;
          continue;
        }
        if (t4 >= t1) {
          prevChar = B.JSString_methods.codeUnitAt$1(t2, t4 - 1);
          if ((prevChar & 64512) === 55296) {
            category = A.high(prevChar, char);
            t4 = --_this.cursor;
          } else
            category = 2;
        } else
          category = 2;
        t5 = _this.state = B.JSString_methods._codeUnitAt$1(_s208_, (_this.state & 240 | category) >>> 0);
        if (((t5 >= 208 ? _this.state = A.lookAhead(t2, t1, t4, t5) : t5) & 1) === 0)
          return t3;
      }
      t4 = _this.state = B.JSString_methods._codeUnitAt$1(_s208_, _this.state & 240 | 15);
      if (((t4 >= 208 ? _this.state = A.lookAhead(t2, t1, t3, t4) : t4) & 1) === 0)
        return _this.cursor;
      return -1;
    }
  };
  A.CanonicalizedMap.prototype = {
    $index(_, key) {
      var pair, _this = this;
      if (!_this._isValidKey$1(key))
        return null;
      pair = _this._base.$index(0, _this._canonicalize.call$1(_this.$ti._eval$1("CanonicalizedMap.K")._as(key)));
      return pair == null ? null : pair.get$value(pair);
    },
    $indexSet(_, key, value) {
      var t1, _this = this;
      if (!_this._isValidKey$1(key))
        return;
      t1 = _this.$ti;
      _this._base.$indexSet(0, _this._canonicalize.call$1(key), new A.MapEntry(key, value, t1._eval$1("@<CanonicalizedMap.K>")._bind$1(t1._eval$1("CanonicalizedMap.V"))._eval$1("MapEntry<1,2>")));
    },
    addAll$1(_, other) {
      other.forEach$1(0, new A.CanonicalizedMap_addAll_closure(this));
    },
    cast$2$0(_, K2, V2) {
      var t1 = this._base;
      return t1.cast$2$0(t1, K2, V2);
    },
    clear$0(_) {
      this._base.clear$0(0);
    },
    containsKey$1(_, key) {
      var _this = this;
      if (!_this._isValidKey$1(key))
        return false;
      return _this._base.containsKey$1(0, _this._canonicalize.call$1(_this.$ti._eval$1("CanonicalizedMap.K")._as(key)));
    },
    get$entries(_) {
      var t1 = this._base;
      return t1.get$entries(t1).map$1$1(0, new A.CanonicalizedMap_entries_closure(this), this.$ti._eval$1("MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>"));
    },
    forEach$1(_, f) {
      this._base.forEach$1(0, new A.CanonicalizedMap_forEach_closure(this, f));
    },
    get$isEmpty(_) {
      return this._base._length === 0;
    },
    get$isNotEmpty(_) {
      return this._base._length !== 0;
    },
    get$keys(_) {
      var t1 = this._base;
      t1 = t1.get$values(t1);
      return A.MappedIterable_MappedIterable(t1, new A.CanonicalizedMap_keys_closure(this), A._instanceType(t1)._eval$1("Iterable.E"), this.$ti._eval$1("CanonicalizedMap.K"));
    },
    get$length(_) {
      return this._base._length;
    },
    map$2$1(_, transform, K2, V2) {
      var t1 = this._base;
      return t1.map$2$1(t1, new A.CanonicalizedMap_map_closure(this, transform, K2, V2), K2, V2);
    },
    map$1($receiver, transform) {
      return this.map$2$1($receiver, transform, type$.dynamic, type$.dynamic);
    },
    putIfAbsent$2(_, key, ifAbsent) {
      return J.get$value$x(this._base.putIfAbsent$2(0, this._canonicalize.call$1(key), new A.CanonicalizedMap_putIfAbsent_closure(this, key, ifAbsent)));
    },
    remove$1(_, key) {
      var pair, _this = this;
      if (!_this._isValidKey$1(key))
        return null;
      pair = _this._base.remove$1(0, _this._canonicalize.call$1(_this.$ti._eval$1("CanonicalizedMap.K")._as(key)));
      return pair == null ? null : pair.get$value(pair);
    },
    get$values(_) {
      var t1 = this._base;
      t1 = t1.get$values(t1);
      return A.MappedIterable_MappedIterable(t1, new A.CanonicalizedMap_values_closure(this), A._instanceType(t1)._eval$1("Iterable.E"), this.$ti._eval$1("CanonicalizedMap.V"));
    },
    toString$0(_) {
      return A.MapBase_mapToString(this);
    },
    _isValidKey$1(key) {
      var t1;
      if (this.$ti._eval$1("CanonicalizedMap.K")._is(key))
        t1 = true;
      else
        t1 = false;
      return t1;
    },
    $isMap: 1
  };
  A.CanonicalizedMap_addAll_closure.prototype = {
    call$2(key, value) {
      this.$this.$indexSet(0, key, value);
      return value;
    },
    $signature() {
      return this.$this.$ti._eval$1("~(CanonicalizedMap.K,CanonicalizedMap.V)");
    }
  };
  A.CanonicalizedMap_entries_closure.prototype = {
    call$1(e) {
      var t1 = this.$this.$ti;
      return new A.MapEntry(J.get$key$x(e.get$value(e)), J.get$value$x(e.get$value(e)), t1._eval$1("@<CanonicalizedMap.K>")._bind$1(t1._eval$1("CanonicalizedMap.V"))._eval$1("MapEntry<1,2>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>(MapEntry<CanonicalizedMap.C,MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>>)");
    }
  };
  A.CanonicalizedMap_forEach_closure.prototype = {
    call$2(key, pair) {
      return this.f.call$2(pair.get$key(pair), pair.get$value(pair));
    },
    $signature() {
      return this.$this.$ti._eval$1("~(CanonicalizedMap.C,MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  A.CanonicalizedMap_keys_closure.prototype = {
    call$1(pair) {
      return pair.get$key(pair);
    },
    $signature() {
      return this.$this.$ti._eval$1("CanonicalizedMap.K(MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  A.CanonicalizedMap_map_closure.prototype = {
    call$2(_, pair) {
      return this.transform.call$2(pair.get$key(pair), pair.get$value(pair));
    },
    $signature() {
      return this.$this.$ti._bind$1(this.K2)._bind$1(this.V2)._eval$1("MapEntry<1,2>(CanonicalizedMap.C,MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  A.CanonicalizedMap_putIfAbsent_closure.prototype = {
    call$0() {
      var t1 = this.$this.$ti;
      return new A.MapEntry(this.key, this.ifAbsent.call$0(), t1._eval$1("@<CanonicalizedMap.K>")._bind$1(t1._eval$1("CanonicalizedMap.V"))._eval$1("MapEntry<1,2>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>()");
    }
  };
  A.CanonicalizedMap_values_closure.prototype = {
    call$1(pair) {
      return pair.get$value(pair);
    },
    $signature() {
      return this.$this.$ti._eval$1("CanonicalizedMap.V(MapEntry<CanonicalizedMap.K,CanonicalizedMap.V>)");
    }
  };
  A.DefaultEquality.prototype = {};
  A.IterableEquality.prototype = {
    equals$2(elements1, elements2) {
      var it1, it2, t1, hasNext;
      if (elements1 === elements2)
        return true;
      it1 = J.get$iterator$ax(elements1);
      it2 = J.get$iterator$ax(elements2);
      for (t1 = this._elementEquality; true;) {
        hasNext = it1.moveNext$0();
        if (hasNext !== it2.moveNext$0())
          return false;
        if (!hasNext)
          return true;
        if (!t1.equals$2(it1.get$current(it1), it2.get$current(it2)))
          return false;
      }
    },
    hash$1(_, elements) {
      var t1, t2, hash;
      for (t1 = J.get$iterator$ax(elements), t2 = this._elementEquality, hash = 0; t1.moveNext$0();) {
        hash = hash + t2.hash$1(0, t1.get$current(t1)) & 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.ListEquality.prototype = {
    equals$2(list1, list2) {
      var t1, $length, t2, t3, i;
      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 (t3 = this._elementEquality, i = 0; i < $length; ++i)
        if (!t3.equals$2(t1.$index(list1, i), t2.$index(list2, i)))
          return false;
      return true;
    },
    hash$1(_, list) {
      var t1, t2, hash, i;
      for (t1 = J.getInterceptor$asx(list), t2 = this._elementEquality, hash = 0, i = 0; i < t1.get$length(list); ++i) {
        hash = hash + t2.hash$1(0, 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._UnorderedEquality.prototype = {
    equals$2(elements1, elements2) {
      var t1, counts, $length, e, count;
      if (elements1 === elements2)
        return true;
      t1 = this._elementEquality;
      counts = A.HashMap_HashMap(t1.get$equals(), t1.get$hash(t1), t1.get$isValidKey(), A._instanceType(this)._eval$1("_UnorderedEquality.E"), type$.int);
      for (t1 = J.get$iterator$ax(elements1), $length = 0; t1.moveNext$0();) {
        e = t1.get$current(t1);
        count = counts.$index(0, e);
        counts.$indexSet(0, e, (count == null ? 0 : count) + 1);
        ++$length;
      }
      for (t1 = J.get$iterator$ax(elements2); t1.moveNext$0();) {
        e = t1.get$current(t1);
        count = counts.$index(0, e);
        if (count == null || count === 0)
          return false;
        counts.$indexSet(0, e, count - 1);
        --$length;
      }
      return $length === 0;
    },
    hash$1(_, elements) {
      var t1, t2, hash;
      for (t1 = J.get$iterator$ax(elements), t2 = this._elementEquality, hash = 0; t1.moveNext$0();)
        hash = hash + t2.hash$1(0, t1.get$current(t1)) & 2147483647;
      hash = hash + (hash << 3 >>> 0) & 2147483647;
      hash ^= hash >>> 11;
      return hash + (hash << 15 >>> 0) & 2147483647;
    }
  };
  A.UnorderedIterableEquality.prototype = {};
  A.SetEquality.prototype = {};
  A._MapEntry.prototype = {
    get$hashCode(_) {
      var t1 = this.equality;
      return 3 * t1._keyEquality.hash$1(0, this.key) + 7 * t1._valueEquality.hash$1(0, this.value) & 2147483647;
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof A._MapEntry) {
        t1 = this.equality;
        t1 = t1._keyEquality.equals$2(this.key, other.key) && t1._valueEquality.equals$2(this.value, other.value);
      } else
        t1 = false;
      return t1;
    }
  };
  A.MapEquality.prototype = {
    equals$2(map1, map2) {
      var t1, t2, equalElementCounts, t3, key, entry, count;
      if (map1 === map2)
        return true;
      t1 = J.getInterceptor$asx(map1);
      t2 = J.getInterceptor$asx(map2);
      if (t1.get$length(map1) !== t2.get$length(map2))
        return false;
      equalElementCounts = A.HashMap_HashMap(null, null, null, type$._MapEntry, type$.int);
      for (t3 = J.get$iterator$ax(t1.get$keys(map1)); t3.moveNext$0();) {
        key = t3.get$current(t3);
        entry = new A._MapEntry(this, key, t1.$index(map1, key));
        count = equalElementCounts.$index(0, entry);
        equalElementCounts.$indexSet(0, entry, (count == null ? 0 : count) + 1);
      }
      for (t1 = J.get$iterator$ax(t2.get$keys(map2)); t1.moveNext$0();) {
        key = t1.get$current(t1);
        entry = new A._MapEntry(this, key, t2.$index(map2, key));
        count = equalElementCounts.$index(0, entry);
        if (count == null || count === 0)
          return false;
        equalElementCounts.$indexSet(0, entry, count - 1);
      }
      return true;
    },
    hash$1(_, map) {
      var t1, t2, t3, t4, t5, hash, key, keyHash, t6;
      for (t1 = J.getInterceptor$x(map), t2 = J.get$iterator$ax(t1.get$keys(map)), t3 = this._keyEquality, t4 = this._valueEquality, t5 = this.$ti._rest[1], hash = 0; t2.moveNext$0();) {
        key = t2.get$current(t2);
        keyHash = t3.hash$1(0, key);
        t6 = t1.$index(map, key);
        hash = hash + 3 * keyHash + 7 * t4.hash$1(0, t6 == null ? t5._as(t6) : t6) & 2147483647;
      }
      hash = hash + (hash << 3 >>> 0) & 2147483647;
      hash ^= hash >>> 11;
      return hash + (hash << 15 >>> 0) & 2147483647;
    }
  };
  A.DeepCollectionEquality.prototype = {
    equals$2(e1, e2) {
      var t2, _this = this,
        t1 = type$.Set_dynamic;
      if (t1._is(e1))
        return t1._is(e2) && new A.SetEquality(_this, type$.SetEquality_dynamic).equals$2(e1, e2);
      t1 = type$.Map_dynamic_dynamic;
      if (t1._is(e1))
        return t1._is(e2) && new A.MapEquality(_this, _this, type$.MapEquality_dynamic_dynamic).equals$2(e1, e2);
      if (!_this._unordered) {
        t1 = type$.List_dynamic;
        if (t1._is(e1))
          return t1._is(e2) && new A.ListEquality(_this, type$.ListEquality_dynamic).equals$2(e1, e2);
        t1 = type$.Iterable_dynamic;
        if (t1._is(e1))
          return t1._is(e2) && new A.IterableEquality(_this, type$.IterableEquality_dynamic).equals$2(e1, e2);
      } else {
        t1 = type$.Iterable_dynamic;
        if (t1._is(e1)) {
          t2 = type$.List_dynamic;
          if (t2._is(e1) !== t2._is(e2))
            return false;
          return t1._is(e2) && new A.UnorderedIterableEquality(_this, type$.UnorderedIterableEquality_dynamic).equals$2(e1, e2);
        }
      }
      return J.$eq$(e1, e2);
    },
    hash$1(_, o) {
      var _this = this;
      if (type$.Set_dynamic._is(o))
        return new A.SetEquality(_this, type$.SetEquality_dynamic).hash$1(0, o);
      if (type$.Map_dynamic_dynamic._is(o))
        return new A.MapEquality(_this, _this, type$.MapEquality_dynamic_dynamic).hash$1(0, o);
      if (!_this._unordered) {
        if (type$.List_dynamic._is(o))
          return new A.ListEquality(_this, type$.ListEquality_dynamic).hash$1(0, o);
        if (type$.Iterable_dynamic._is(o))
          return new A.IterableEquality(_this, type$.IterableEquality_dynamic).hash$1(0, o);
      } else if (type$.Iterable_dynamic._is(o))
        return new A.UnorderedIterableEquality(_this, type$.UnorderedIterableEquality_dynamic).hash$1(0, o);
      return J.get$hashCode$(o);
    },
    isValidKey$1(o) {
      !type$.Iterable_dynamic._is(o);
      return true;
    }
  };
  A.HeapPriorityQueue.prototype = {
    _elementAt$1(index) {
      var t1 = this._priority_queue$_queue[index];
      if (t1 == null) {
        this.$ti._precomputed1._as(null);
        t1 = null;
      }
      return t1;
    },
    addAll$1(_, elements) {
      var t1, modified;
      for (t1 = elements.get$iterator(elements), modified = 0; t1.moveNext$0(); modified = 1)
        this._priority_queue$_add$1(0, t1.get$current(t1));
      this._priority_queue$_modificationCount += modified;
    },
    contains$1(_, object) {
      return this._locate$1(object) >= 0;
    },
    get$first(_) {
      if (this._priority_queue$_length === 0)
        throw A.wrapException(A.StateError$("No element"));
      return this._elementAt$1(0);
    },
    get$length(_) {
      return this._priority_queue$_length;
    },
    toList$0(_) {
      var t1 = this._toUnorderedList$0();
      B.JSArray_methods.sort$1(t1, this.comparison);
      return t1;
    },
    _toUnorderedList$0() {
      var i, t3,
        t1 = this.$ti,
        t2 = A._setArrayType([], t1._eval$1("JSArray<1>"));
      for (t1 = t1._precomputed1, i = 0; i < this._priority_queue$_length; ++i) {
        t3 = this._priority_queue$_queue[i];
        if (t3 == null) {
          t1._as(null);
          t3 = null;
        }
        t2.push(t3);
      }
      return t2;
    },
    toString$0(_) {
      var t1 = this._priority_queue$_queue;
      return A.IterableBase_iterableToShortString(A.SubListIterable$(t1, 0, A.checkNotNullable(this._priority_queue$_length, "count", type$.int), A._arrayInstanceType(t1)._precomputed1), "(", ")");
    },
    _priority_queue$_add$1(_, element) {
      var newCapacity, newQueue, _this = this,
        t1 = _this._priority_queue$_length,
        t2 = _this._priority_queue$_queue.length;
      if (t1 === t2) {
        newCapacity = t2 * 2 + 1;
        if (newCapacity < 7)
          newCapacity = 7;
        newQueue = A.List_List$filled(newCapacity, null, false, _this.$ti._eval$1("1?"));
        B.JSArray_methods.setRange$3(newQueue, 0, _this._priority_queue$_length, _this._priority_queue$_queue);
        _this._priority_queue$_queue = newQueue;
      }
      _this._bubbleUp$2(element, _this._priority_queue$_length++);
    },
    _locate$1(object) {
      var t1, position, index, element, comp, leftChildPosition, t2, _this = this;
      if (_this._priority_queue$_length === 0)
        return -1;
      t1 = _this.comparison;
      position = 1;
      do
        c$0: {
          index = position - 1;
          element = _this._elementAt$1(index);
          comp = t1.call$2(element, object);
          if (comp <= 0) {
            if (comp === 0 && J.$eq$(element, object))
              return index;
            leftChildPosition = position * 2;
            if (leftChildPosition <= _this._priority_queue$_length) {
              position = leftChildPosition;
              break c$0;
            }
          }
          t2 = _this._priority_queue$_length;
          do {
            for (; (position & 1) === 1;)
              position = position >>> 1;
            ++position;
          } while (position > t2);
        }
      while (position !== 1);
      return -1;
    },
    _bubbleUp$2(element, index) {
      var t1, t2, parentIndex, $parent, _this = this;
      for (t1 = _this.comparison, t2 = _this.$ti._precomputed1; index > 0; index = parentIndex) {
        parentIndex = B.JSInt_methods._tdivFast$1(index - 1, 2);
        $parent = _this._priority_queue$_queue[parentIndex];
        if ($parent == null) {
          t2._as(null);
          $parent = null;
        }
        if (t1.call$2(element, $parent) > 0)
          break;
        B.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, $parent);
      }
      B.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, element);
    },
    _bubbleDown$2(element, index) {
      var t1, t2, t3, leftChildIndex, leftChild, rightChild, minChild, minChildIndex, child, _this = this,
        rightChildIndex = index * 2 + 2;
      for (t1 = _this.comparison, t2 = _this.$ti._precomputed1; t3 = _this._priority_queue$_length, rightChildIndex < t3; index = minChildIndex) {
        leftChildIndex = rightChildIndex - 1;
        t3 = _this._priority_queue$_queue;
        leftChild = t3[leftChildIndex];
        if (leftChild == null) {
          t2._as(null);
          leftChild = null;
        }
        rightChild = t3[rightChildIndex];
        if (rightChild == null) {
          t2._as(null);
          rightChild = null;
        }
        if (t1.call$2(leftChild, rightChild) < 0) {
          minChild = leftChild;
          minChildIndex = leftChildIndex;
        } else {
          minChild = rightChild;
          minChildIndex = rightChildIndex;
        }
        if (t1.call$2(element, minChild) <= 0) {
          B.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, element);
          return;
        }
        B.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, minChild);
        rightChildIndex = minChildIndex * 2 + 2;
      }
      leftChildIndex = rightChildIndex - 1;
      if (leftChildIndex < t3) {
        child = _this._elementAt$1(leftChildIndex);
        if (t1.call$2(element, child) > 0) {
          B.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, child);
          index = leftChildIndex;
        }
      }
      B.JSArray_methods.$indexSet(_this._priority_queue$_queue, index, element);
    }
  };
  A.QueueList.prototype = {
    add$1(_, element) {
      this._queue_list$_add$1(0, element);
    },
    addAll$1(_, iterable) {
      var addCount, $length, t1, endSpace, t2, preSpace, _this = this;
      if (type$.List_dynamic._is(iterable)) {
        addCount = J.get$length$asx(iterable);
        $length = _this.get$length(_this);
        t1 = $length + addCount;
        if (t1 >= J.get$length$asx(_this._queue_list$_table)) {
          _this._preGrow$1(t1);
          J.setRange$4$ax(_this._queue_list$_table, $length, t1, iterable, 0);
          _this.set$_queue_list$_tail(_this.get$_queue_list$_tail() + addCount);
        } else {
          endSpace = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_tail();
          t1 = _this._queue_list$_table;
          t2 = J.getInterceptor$ax(t1);
          if (addCount < endSpace) {
            t2.setRange$4(t1, _this.get$_queue_list$_tail(), _this.get$_queue_list$_tail() + addCount, iterable, 0);
            _this.set$_queue_list$_tail(_this.get$_queue_list$_tail() + addCount);
          } else {
            preSpace = addCount - endSpace;
            t2.setRange$4(t1, _this.get$_queue_list$_tail(), _this.get$_queue_list$_tail() + endSpace, iterable, 0);
            J.setRange$4$ax(_this._queue_list$_table, 0, preSpace, iterable, endSpace);
            _this.set$_queue_list$_tail(preSpace);
          }
        }
      } else
        for (t1 = J.get$iterator$ax(iterable); t1.moveNext$0();)
          _this._queue_list$_add$1(0, t1.get$current(t1));
    },
    cast$1$0(_, $T) {
      return new A._CastQueueList(this, J.cast$1$0$ax(this._queue_list$_table, $T), -1, -1, A._instanceType(this)._eval$1("@<QueueList.E>")._bind$1($T)._eval$1("_CastQueueList<1,2>"));
    },
    toString$0(_) {
      return A.IterableBase_iterableToFullString(this, "{", "}");
    },
    removeLast$0(_) {
      var result, _this = this;
      if (_this.get$_queue_list$_head(_this) === _this.get$_queue_list$_tail())
        throw A.wrapException(A.StateError$("No element"));
      _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() - 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      result = J.$index$asx(_this._queue_list$_table, _this.get$_queue_list$_tail());
      if (result == null)
        result = A._instanceType(_this)._eval$1("QueueList.E")._as(result);
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), null);
      return result;
    },
    get$length(_) {
      var _this = this;
      return (_this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this) & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0;
    },
    set$length(_, value) {
      var delta, newTail, t1, t2, _this = this;
      if (value < 0)
        throw A.wrapException(A.RangeError$("Length " + value + " may not be negative."));
      if (value > _this.get$length(_this) && !A._instanceType(_this)._eval$1("QueueList.E")._is(null))
        throw A.wrapException(A.UnsupportedError$("The length can only be increased when the element type is nullable, but the current element type is `" + A.createRuntimeType(A._instanceType(_this)._eval$1("QueueList.E")).toString$0(0) + "`."));
      delta = value - _this.get$length(_this);
      if (delta >= 0) {
        if (J.get$length$asx(_this._queue_list$_table) <= value)
          _this._preGrow$1(value);
        _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + delta & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
        return;
      }
      newTail = _this.get$_queue_list$_tail() + delta;
      t1 = _this._queue_list$_table;
      if (newTail >= 0)
        J.fillRange$3$ax(t1, newTail, _this.get$_queue_list$_tail(), null);
      else {
        newTail += J.get$length$asx(t1);
        J.fillRange$3$ax(_this._queue_list$_table, 0, _this.get$_queue_list$_tail(), null);
        t1 = _this._queue_list$_table;
        t2 = J.getInterceptor$asx(t1);
        t2.fillRange$3(t1, newTail, t2.get$length(t1), null);
      }
      _this.set$_queue_list$_tail(newTail);
    },
    $index(_, index) {
      var t1, _this = this;
      if (index < 0 || index >= _this.get$length(_this))
        throw A.wrapException(A.RangeError$("Index " + A.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
      t1 = J.$index$asx(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      return t1 == null ? A._instanceType(_this)._eval$1("QueueList.E")._as(t1) : t1;
    },
    $indexSet(_, index, value) {
      var _this = this;
      if (index < 0 || index >= _this.get$length(_this))
        throw A.wrapException(A.RangeError$("Index " + A.S(index) + " must be in the range [0.." + _this.get$length(_this) + ")."));
      J.$indexSet$ax(_this._queue_list$_table, (_this.get$_queue_list$_head(_this) + index & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0, value);
    },
    _queue_list$_add$1(_, element) {
      var _this = this;
      J.$indexSet$ax(_this._queue_list$_table, _this.get$_queue_list$_tail(), element);
      _this.set$_queue_list$_tail((_this.get$_queue_list$_tail() + 1 & J.get$length$asx(_this._queue_list$_table) - 1) >>> 0);
      if (_this.get$_queue_list$_head(_this) === _this.get$_queue_list$_tail())
        _this._queue_list$_grow$0();
    },
    _queue_list$_grow$0() {
      var _this = this,
        newTable = A.List_List$filled(J.get$length$asx(_this._queue_list$_table) * 2, null, false, A._instanceType(_this)._eval$1("QueueList.E?")),
        split = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this);
      B.JSArray_methods.setRange$4(newTable, 0, split, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
      B.JSArray_methods.setRange$4(newTable, split, split + _this.get$_queue_list$_head(_this), _this._queue_list$_table, 0);
      _this.set$_queue_list$_head(0, 0);
      _this.set$_queue_list$_tail(J.get$length$asx(_this._queue_list$_table));
      _this._queue_list$_table = newTable;
    },
    _queue_list$_writeToList$1(target) {
      var $length, firstPartSize, _this = this;
      if (_this.get$_queue_list$_head(_this) <= _this.get$_queue_list$_tail()) {
        $length = _this.get$_queue_list$_tail() - _this.get$_queue_list$_head(_this);
        B.JSArray_methods.setRange$4(target, 0, $length, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
        return $length;
      } else {
        firstPartSize = J.get$length$asx(_this._queue_list$_table) - _this.get$_queue_list$_head(_this);
        B.JSArray_methods.setRange$4(target, 0, firstPartSize, _this._queue_list$_table, _this.get$_queue_list$_head(_this));
        B.JSArray_methods.setRange$4(target, firstPartSize, firstPartSize + _this.get$_queue_list$_tail(), _this._queue_list$_table, 0);
        return _this.get$_queue_list$_tail() + firstPartSize;
      }
    },
    _preGrow$1(newElementCount) {
      var _this = this,
        newTable = A.List_List$filled(A.QueueList__nextPowerOf2(newElementCount + B.JSInt_methods._shrOtherPositive$1(newElementCount, 1)), null, false, A._instanceType(_this)._eval$1("QueueList.E?"));
      _this.set$_queue_list$_tail(_this._queue_list$_writeToList$1(newTable));
      _this._queue_list$_table = newTable;
      _this.set$_queue_list$_head(0, 0);
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    get$_queue_list$_head(receiver) {
      return this._queue_list$_head;
    },
    get$_queue_list$_tail() {
      return this._queue_list$_tail;
    },
    set$_queue_list$_head(receiver, val) {
      return this._queue_list$_head = val;
    },
    set$_queue_list$_tail(val) {
      return this._queue_list$_tail = val;
    }
  };
  A._CastQueueList.prototype = {
    get$_queue_list$_head(_) {
      var t1 = this._queue_list$_delegate;
      return t1.get$_queue_list$_head(t1);
    },
    set$_queue_list$_head(_, value) {
      this._queue_list$_delegate.set$_queue_list$_head(0, value);
    },
    get$_queue_list$_tail() {
      return this._queue_list$_delegate.get$_queue_list$_tail();
    },
    set$_queue_list$_tail(value) {
      this._queue_list$_delegate.set$_queue_list$_tail(value);
    }
  };
  A._QueueList_Object_ListMixin.prototype = {};
  A.XFileBase.prototype = {
    get$name(_) {
      throw A.wrapException(A.UnimplementedError$(".name has not been implemented."));
    },
    length$0(_) {
      throw A.wrapException(A.UnimplementedError$(".length() has not been implemented."));
    }
  };
  A.XFile.prototype = {
    get$name(_) {
      return this._html1$_name;
    },
    lastModified$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.DateTime),
        $async$returnValue, $async$self = this;
      var $async$lastModified$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$returnValue = $async$self._lastModified;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$lastModified$0, $async$completer);
    },
    get$_blob() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Blob),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, request, e, exception, t1, $async$exception, $async$temp1;
      var $async$get$_blob = 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._browserBlob;
              if (t1 != null) {
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              if (window.navigator.vendor === "Apple Computer, Inc.") {
                t1 = $async$self._html1$_length;
                t1 = t1 != null && t1 >= 4294967296;
              } else
                t1 = false;
              if (t1)
                throw A.wrapException(A.Exception_Exception("Safari cannot handle XFiles larger than 4GB."));
              request = A._Cell$named("request");
              $async$handler = 4;
              t1 = $async$self.__XFile__path;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$temp1 = request;
              $async$goto = 7;
              return A._asyncAwait(A.HttpRequest_request(t1, null, "blob", null, null), $async$get$_blob);
            case 7:
              // returning from await.
              $async$temp1.__late_helper$_value = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.ProgressEvent._is(t1)) {
                e = t1;
                if (e.type === "error")
                  throw A.wrapException(A.Exception_Exception("Could not load Blob from its URL. Has it been revoked?"));
                throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              t1 = A._convertNativeToDart_XHR_Response(request._readLocal$0().response);
              $async$self._browserBlob = t1;
              t1.toString;
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$_blob, $async$completer);
    },
    readAsBytes$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List),
        $async$returnValue, $async$self = this;
      var $async$readAsBytes$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$returnValue = $async$self.get$_blob().then$1$1($async$self.get$_blobToByteBuffer(), type$.Uint8List);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$readAsBytes$0, $async$completer);
    },
    length$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.int),
        $async$returnValue, $async$self = this, t1;
      var $async$length$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._html1$_length;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self.get$_blob(), $async$length$0);
            case 6:
              // returning from await.
              $async$result = $async$result.size;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = t1;
            case 4:
              // join
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$length$0, $async$completer);
    },
    readAsString$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this;
      var $async$readAsString$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$returnValue = $async$self.readAsBytes$0().then$1$1(B.Utf8Codec_false.get$decode(B.Utf8Codec_false), type$.String);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$readAsString$0, $async$completer);
    },
    _blobToByteBuffer$1(blob) {
      return this._blobToByteBuffer$body$XFile(blob);
    },
    _blobToByteBuffer$body$XFile(blob) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Uint8List),
        $async$returnValue, t1, result, reader;
      var $async$_blobToByteBuffer$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
              reader = new FileReader();
              reader.readAsArrayBuffer(blob);
              t1 = new A._EventStream(reader, "loadend", false, type$._EventStream_ProgressEvent);
              $async$goto = 3;
              return A._asyncAwait(t1.get$first(t1), $async$_blobToByteBuffer$1);
            case 3:
              // returning from await.
              result = type$.nullable_Uint8List._as(B.FileReader_methods.get$result(reader));
              if (result == null)
                throw A.wrapException(A.Exception_Exception("Cannot read bytes from Blob. Is it still available?"));
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_blobToByteBuffer$1, $async$completer);
    }
  };
  A.DdsExtension_onEventWithHistory_closure0.prototype = {
    call$0() {
      return this.$call$body$DdsExtension_onEventWithHistory_closure();
    },
    $call$body$DdsExtension_onEventWithHistory_closure() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, $history, t5, t6, t7, _box_0, t1, t2, t3, t4, $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
              _box_0 = {};
              t1 = $async$self.streamEvents;
              t2 = $async$self._this;
              t3 = $async$self.stream;
              t4 = t2._getEventController$1(t3);
              t4 = new A.StreamQueue(new A._BroadcastStream(t4, A._instanceType(t4)._eval$1("_BroadcastStream<1>")), new A.QueueList(A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_Event), 0, 0, type$.QueueList_Result_Event), A.ListQueue$(null, type$._EventRequest_dynamic), type$.StreamQueue_Event);
              t4._ensureListening$0();
              t4._stream_queue$_subscription.pause$0(0);
              t1.__late_helper$_value = t4;
              $async$temp1 = A;
              $async$goto = 2;
              return A._asyncAwait(A.DdsExtension_getStreamHistory(t2, t3), $async$call$0);
            case 2:
              // returning from await.
              $history = new $async$temp1.UnmodifiableListView($async$result._dds_service_extensions$_history, type$.UnmodifiableListView_Event);
              _box_0.firstStreamEvent = null;
              t2 = t1._readLocal$0();
              if (t2._isClosed)
                A.throwExpression(A.StateError$("Already cancelled"));
              t3 = A.instanceType(t2);
              t4 = new A._Future($.Zone__current, t3._eval$1("_Future<1>"));
              t2._addRequest$1(new A._PeekRequest(new A._AsyncCompleter(t4, t3._eval$1("_AsyncCompleter<1>")), t3._eval$1("_PeekRequest<1>")));
              t4.then$1$1(new A.DdsExtension_onEventWithHistory__closure(_box_0), type$.void);
              for (t2 = $history.get$iterator($history), t3 = $async$self.controller, t4 = t3.__late_helper$_name; t2.moveNext$0();) {
                t5 = t2.get$current(t2);
                t6 = _box_0.firstStreamEvent;
                if (t6 != null) {
                  t7 = t5.timestamp;
                  t7.toString;
                  t6 = t6.timestamp;
                  t6.toString;
                  t6 = t7 > t6;
                } else
                  t6 = false;
                if (t6)
                  break;
                t6 = t3.__late_helper$_value;
                if (t6 === t3)
                  A.throwExpression(A.LateError$localNI(t4));
                t6.get$sink()._async$_target.add$1(0, t5);
              }
              t2 = t3._readLocal$0().get$sink();
              t1 = t1._readLocal$0();
              if (t1._isClosed)
                A.throwExpression(A.StateError$("Already cancelled"));
              t3 = A.instanceType(t1);
              t4 = new A._CompleterStream(t3._eval$1("_CompleterStream<1>"));
              t1._isClosed = true;
              t1._addRequest$1(new A._RestRequest(new A.StreamCompleter(t4, t3._eval$1("StreamCompleter<1>")), t1, t3._eval$1("_RestRequest<1>")));
              t2._async$_target.addStream$1(0, t4);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.DdsExtension_onEventWithHistory__closure.prototype = {
    call$1(e) {
      this._box_0.firstStreamEvent = e;
    },
    $signature: 700
  };
  A.DdsExtension_onEventWithHistory_closure.prototype = {
    call$0() {
      var exception;
      try {
        J.cancel$0$z(this.streamEvents._readLocal$0());
      } catch (exception) {
        if (!(A.unwrapException(exception) instanceof A.StateError))
          throw exception;
      }
    },
    $signature: 7
  };
  A.DdsExtension__callHelper_closure.prototype = {
    call$1(e) {
      return this.T._as(e);
    },
    $signature() {
      return this.T._eval$1("0(Response)");
    }
  };
  A.StreamHistory.prototype = {
    get$type(_) {
      return "StreamHistory";
    }
  };
  A.StreamHistory$_fromJson_closure.prototype = {
    call$1(e) {
      return e == null ? null : A.Event$_fromJson(e);
    },
    $signature: 709
  };
  A.CachedCpuSamples.prototype = {
    get$type(_) {
      return "CachedCpuSamples";
    }
  };
  A.AvailableCachedCpuSamples.prototype = {
    get$type(_) {
      return "AvailableCachedUserTagCpuSamples";
    }
  };
  A.main_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        t3, 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
              t1 = A.defaultScreens();
              $async$goto = 2;
              return A._asyncAwait(A.analyticsController(), $async$call$0);
            case 2:
              // returning from await.
              t2 = $async$result;
              if ($.WidgetsBinding__instance == null)
                A.WidgetsFlutterBinding$();
              t3 = $.WidgetsBinding__instance;
              t3.scheduleAttachRootWidget$1(new A.ProviderScope(new A.DevToolsApp(t1, t2, null), B.List_ErrorLoggerObserver, null));
              t3.scheduleWarmUpFrame$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.devToolsAnalyticsController_closure.prototype = {
    call$0() {
      self.initializeGA();
      self.hookupListenerForGA();
    },
    $signature: 0
  };
  A.GtagEventDevTools.prototype = {};
  A.GtagExceptionDevTools.prototype = {};
  A.ScreenAnalyticsMetrics.prototype = {};
  A.AnalyticsController.prototype = {
    toggleAnalyticsEnabled$1(enable) {
      return this.toggleAnalyticsEnabled$body$AnalyticsController(enable);
    },
    toggleAnalyticsEnabled$body$AnalyticsController(enable) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$toggleAnalyticsEnabled$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._analyticsEnabled;
              $async$goto = enable ? 2 : 4;
              break;
            case 2:
              // then
              t1.set$value(0, true);
              if (!$async$self._analyticsInitialized)
                $async$self.setUpAnalytics$0();
              $async$goto = 5;
              return A._asyncAwait($async$self.onEnableAnalytics.call$0(), $async$toggleAnalyticsEnabled$1);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t1.set$value(0, false);
              $async$self._shouldPrompt.set$value(0, false);
              $async$goto = 6;
              return A._asyncAwait($async$self.onDisableAnalytics.call$0(), $async$toggleAnalyticsEnabled$1);
            case 6:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$toggleAnalyticsEnabled$1, $async$completer);
    },
    setUpAnalytics$0() {
      if (this._analyticsInitialized)
        return;
      this.onSetupAnalytics.call$0();
      this._analyticsInitialized = true;
    },
    hidePrompt$0() {
      this._shouldPrompt.set$value(0, false);
    }
  };
  A.AnalyticsPrompt.prototype = {
    createState$0() {
      return new A._AnalyticsPromptState(null, B._StateLifecycle_0);
    }
  };
  A._AnalyticsPromptState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var t6, t7, _this = this, _null = null,
        theme = A.Theme_of(context),
        textTheme = theme.textTheme,
        t1 = _this.ProvidedControllerMixin__controller,
        t2 = t1._shouldPrompt,
        t3 = A.BorderRadius$circular(4),
        t4 = theme.canvasColor,
        t5 = A.Text$("Send usage statistics for DevTools?", _null, _null, _null, _null, _null, textTheme.headlineSmall, _null, _null, _null, _null);
      t1 = t1.get$hidePrompt();
      t6 = theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4293980400;
      t7 = type$.JSArray_Widget;
      return new A.ValueListenableBuilder(t2, new A._AnalyticsPromptState_build_closure(_this), A.Card$(new A.Padding(B.EdgeInsets_16_16_16_16, A.Column$(A._setArrayType([A.Row$(A._setArrayType([t5, new A.CircularIconButton(B.IconData_57706_MaterialIcons_false, t1, t4, t6, _null)], t7), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null), B.Padding_lAj, _this._analyticsDescription$1(textTheme), B.SizedBox_null_6_null_null, _this._actionButtons$0()], t7), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null), _null, t4, _null, B.EdgeInsets_0_0_0_8, new A.RoundedRectangleBorder(t3, new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0))), _null, type$.ValueListenableBuilder_bool);
    },
    _analyticsDescription$1(textTheme) {
      var _null = null,
        t1 = textTheme.titleMedium,
        t2 = A.TextSpan$(_null, _null, _null, t1, "DevTools reports feature usage statistics and basic crash reports to Google in order to help Google improve the tool over time. See Google's "),
        t3 = t1 == null ? _null : t1.copyWith$1$color(B.Color_4283744751),
        t4 = A.TapGestureRecognizer$(_null);
      t4.onTap = new A._AnalyticsPromptState__analyticsDescription_closure(this);
      return A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(A._setArrayType([t2, A.TextSpan$(_null, t4, _null, t3, "privacy policy"), A.TextSpan$(_null, _null, _null, t1, ".")], type$.JSArray_InlineSpan), _null, _null, _null, _null), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
    },
    _actionButtons$0() {
      var _null = null;
      return A.Row$(A._setArrayType([A.ElevatedButton$(false, B.Text_IIf, new A._AnalyticsPromptState__actionButtons_closure(this), A.ElevatedButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.MaterialColor_Map_HFpTk_4288585374, _null, _null, _null, _null, _null, _null)), B.Padding_lAj0, A.ElevatedButton$(false, B.Text_zyl, new A._AnalyticsPromptState__actionButtons_closure0(this), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    }
  };
  A._AnalyticsPromptState_build_closure.prototype = {
    call$3(context, showPrompt, child) {
      var t1 = A._setArrayType([], type$.JSArray_Widget);
      if (showPrompt) {
        child.toString;
        t1.push(child);
      }
      t1.push(A.Expanded$(this.$this._widget.child, 1));
      return A.Column$(t1, B.CrossAxisAlignment_0, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 295
  };
  A._AnalyticsPromptState__analyticsDescription_closure.prototype = {
    call$0() {
      var t1 = this.$this._framework$_element;
      t1.toString;
      A.launchUrl("https://www.google.com/intl/en/policies/privacy", t1);
    },
    $signature: 0
  };
  A._AnalyticsPromptState__actionButtons_closure.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.toggleAnalyticsEnabled$1(false);
    },
    $signature: 0
  };
  A._AnalyticsPromptState__actionButtons_closure0.prototype = {
    call$0() {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toggleAnalyticsEnabled$1(true);
      t1._shouldPrompt.set$value(0, false);
    },
    $signature: 0
  };
  A.__AnalyticsPromptState_State_ProvidedControllerMixin.prototype = {};
  A.DevToolsApp.prototype = {
    createState$0() {
      return new A.DevToolsAppState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.DevToolsAppState.prototype = {
    get$_screens() {
      var t1 = this._widget.screens,
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Screen>");
      return A.List_List$of(new A.MappedListIterable(t1, new A.DevToolsAppState__screens_closure(), t2), true, t2._eval$1("ListIterable.E"));
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      A.setupDimensions();
      _this.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate, new A.DevToolsAppState_initState_closure(_this));
      _this._isDarkThemeEnabled = $.globals.$index(0, B.Type_PreferencesController_1KB)._darkModeTheme._change_notifier$_value;
      $.globals.$index(0, B.Type_PreferencesController_1KB)._darkModeTheme.addListener$1(0, new A.DevToolsAppState_initState_closure0(_this));
      $.globals.$index(0, B.Type_PreferencesController_1KB);
      $.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode.addListener$1(0, new A.DevToolsAppState_initState_closure1(_this));
      $.globals.$index(0, B.Type_PreferencesController_1KB);
      $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode.addListener$1(0, new A.DevToolsAppState_initState_closure2(_this));
      t1 = $.$get$ChangeNotifier__emptyListeners();
      t1 = new A.ReleaseNotesController(new A.ValueNotifier(null, t1, type$.ValueNotifier_nullable_String), new A.ValueNotifier(false, t1, type$.ValueNotifier_bool));
      t1._maybeFetchReleaseNotes$0();
      _this.__DevToolsAppState_releaseNotesController = t1;
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._routes = null;
    },
    _getPage$3(context, page, args) {
      var t1;
      if (this.get$pages().containsKey$1(0, page)) {
        t1 = this.get$pages();
        page.toString;
        return A.MaterialPage$(t1.$index(0, page).call$3(context, page, args), type$.dynamic);
      }
      return A.MaterialPage$(A.DevToolsScaffold$withChild(null, new A.CenteredMessage("'" + A.S(page) + "' not found.", null), $.globals.$index(0, B.Type_IdeTheme_NnV), B.ValueKey_2bx), type$.dynamic);
    },
    _buildTabbedPage$3(context, page, params) {
      var t1, vmServiceUri, t2, embed, t3, _i, _null = null, _box_0 = {};
      _box_0.page = page;
      t1 = J.getInterceptor$asx(params);
      vmServiceUri = t1.$index(params, "uri");
      t2 = vmServiceUri == null ? _null : vmServiceUri.length === 0;
      if (t2 !== false) {
        t1 = $.globals.$index(0, B.Type_IdeTheme_NnV);
        return A.DevToolsScaffold$withChild(A._setArrayType([new A.OpenSettingsAction(_null), new A.ReportFeedbackButton(_null), new A.OpenAboutAction(_null)], type$.JSArray_Widget), new A.LandingScreenBody(_null), t1, B.ValueKey_landing);
      }
      t2 = page == null ? _null : page.length === 0;
      if (t2 !== false)
        _box_0.page = t1.$index(params, "page");
      embed = J.$eq$(t1.$index(params, "embed"), "true");
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      t1 = t1.$index(params, "hide");
      t1 = t1 == null ? _null : J.split$1$s(t1, ",");
      if (t1 != null)
        for (t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t2.add$1(0, t1[_i]);
      return new A.Initializer(new A.DevToolsAppState__buildTabbedPage_closure(_box_0, this, embed, t2), vmServiceUri, !embed, _null);
    },
    get$pages() {
      var t2, t3, t4, _i, _this = this,
        t1 = _this._routes;
      if (t1 == null) {
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Widget_Function_3_BuildContext_and_nullable_String_and_Map_of_String_and_nullable_String);
        t2 = _this.get$_buildTabbedPage();
        t1.$indexSet(0, "", t2);
        for (t3 = _this._widget.screens, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i)
          t1.$indexSet(0, t3[_i].screen.screenId, t2);
        t1.$indexSet(0, "snapshot", new A.DevToolsAppState_pages_closure(_this));
        t1.$indexSet(0, "appsize", new A.DevToolsAppState_pages_closure0(_this));
        _this._routes = t1;
      }
      return t1;
    },
    _providedControllers$2$child$offline(child, offline) {
      var t1 = this._widget.screens,
        t2 = A._arrayInstanceType(t1),
        t3 = t2._eval$1("MappedIterable<1,Provider<@>>");
      return A.MultiProvider$(child, A.List_List$of(new A.MappedIterable(new A.WhereIterable(t1, new A.DevToolsAppState__providedControllers_closure(offline), t2._eval$1("WhereIterable<1>")), new A.DevToolsAppState__providedControllers_closure0(), t3), true, t3._eval$1("Iterable.E")));
    },
    _providedControllers$1$child(child) {
      return this._providedControllers$2$child$offline(child, false);
    },
    build$1(context) {
      var colorTheme,
        t1 = this._isDarkThemeEnabled,
        t2 = $.globals.$index(0, B.Type_IdeTheme_NnV),
        t3 = A.Theme_of(context),
        t4 = t2.backgroundColor;
      if (A.isValidDarkColor(t4))
        colorTheme = A._darkTheme(t2);
      else if (A.isValidLightColor(t4))
        colorTheme = A._lightTheme(t2);
      else
        colorTheme = t1 ? A._darkTheme(t2) : A._lightTheme(t2);
      t1 = t3.primaryTextTheme.merge$1(colorTheme.primaryTextTheme);
      t2 = t2.fontSize / 14;
      t1 = t1.apply$1$fontSizeFactor(t2);
      t3 = t3.textTheme.merge$1(colorTheme.textTheme);
      t1 = colorTheme.copyWith$2$primaryTextTheme$textTheme(t1, t3.apply$1$fontSizeFactor(t2));
      t2 = A.ListQueue$(null, type$.DevToolsRouteConfiguration);
      return new A.MaterialApp(new A.DevToolsRouteInformationParser(), new A.DevToolsRouterDelegate(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_NavigatorState), this.get$_getPage(), t2, $.$get$ChangeNotifier__emptyListeners()), new A.DevToolsAppState_build_closure(this), t1, false, B.C_MaterialScrollBehavior.copyWith$1$scrollbars(false), null);
    }
  };
  A.DevToolsAppState__screens_closure.prototype = {
    call$1(s) {
      return s.screen;
    },
    $signature: 734
  };
  A.DevToolsAppState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.DevToolsAppState_initState__closure2(t1));
    },
    $signature: 0
  };
  A.DevToolsAppState_initState__closure2.prototype = {
    call$0() {
      this.$this._routes = null;
    },
    $signature: 0
  };
  A.DevToolsAppState_initState_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.DevToolsAppState_initState__closure1(t1));
    },
    $signature: 0
  };
  A.DevToolsAppState_initState__closure1.prototype = {
    call$0() {
      this.$this._isDarkThemeEnabled = $.globals.$index(0, B.Type_PreferencesController_1KB)._darkModeTheme._change_notifier$_value;
    },
    $signature: 0
  };
  A.DevToolsAppState_initState_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.DevToolsAppState_initState__closure0(t1));
    },
    $signature: 0
  };
  A.DevToolsAppState_initState__closure0.prototype = {
    call$0() {
      $.globals.$index(0, B.Type_PreferencesController_1KB);
    },
    $signature: 0
  };
  A.DevToolsAppState_initState_closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.DevToolsAppState_initState__closure(t1));
    },
    $signature: 0
  };
  A.DevToolsAppState_initState__closure.prototype = {
    call$0() {
      $.globals.$index(0, B.Type_PreferencesController_1KB);
    },
    $signature: 0
  };
  A.DevToolsAppState__buildTabbedPage_closure.prototype = {
    call$1(_) {
      var _this = this, _null = null,
        t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode,
        t2 = _this._box_0,
        t3 = $.globals.$index(0, B.Type_IdeTheme_NnV),
        t4 = t2.page;
      return new A.ValueListenableBuilder(t1, new A.DevToolsAppState__buildTabbedPage__closure(t2, _this.$this, _this.embed, _this.hide), A.DevToolsScaffold$withChild(_null, new A.CenteredMessage(t4 != null ? 'The "' + t4 + '" screen is not available for this application.' : "No tabs available for this application.", _null), t3, _null), _null, type$.ValueListenableBuilder_bool);
    },
    $signature: 746
  };
  A.DevToolsAppState__buildTabbedPage__closure.prototype = {
    call$3(_, __, child) {
      var t4, t5, t6, tabs, _this = this, _null = null,
        t1 = _this.$this,
        t2 = t1.get$_screens(),
        t3 = A._arrayInstanceType(t2)._eval$1("WhereIterable<1>");
      t3 = A.List_List$of(new A.WhereIterable(t2, A.screen__shouldShowScreen$closure(), t3), true, t3._eval$1("Iterable.E"));
      t2 = _this._box_0;
      t4 = _this.embed;
      t5 = A._arrayInstanceType(t3)._eval$1("WhereIterable<1>");
      t6 = t5._eval$1("WhereIterable<Iterable.E>");
      tabs = A.List_List$of(new A.WhereIterable(new A.WhereIterable(t3, new A.DevToolsAppState__buildTabbedPage___closure(t2, t4), t5), new A.DevToolsAppState__buildTabbedPage___closure0(_this.hide), t6), true, t6._eval$1("Iterable.E"));
      if (tabs.length === 0)
        return child == null ? B.SizedBox_0_0_null_null : child;
      $.globals.$index(0, B.Type_IdeTheme_NnV);
      t2 = t2.page;
      t3 = type$.JSArray_Widget;
      t5 = A._setArrayType([], t3);
      t6 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
      t6.toString;
      if (t6)
        B.JSArray_methods.addAll$1(t5, A._setArrayType([new A.HotReloadButton(_null), new A.HotRestartButton(_null)], t3));
      t5.push(new A.OpenSettingsAction(_null));
      t5.push(new A.ReportFeedbackButton(_null));
      t5.push(new A.OpenAboutAction(_null));
      return t1._providedControllers$1$child(new A.DevToolsScaffold(tabs, t2, t4, t5, _null));
    },
    $signature: 99
  };
  A.DevToolsAppState__buildTabbedPage___closure.prototype = {
    call$1(p) {
      return !(this.embed && this._box_0.page != null) || p.screenId === this._box_0.page;
    },
    $signature: 64
  };
  A.DevToolsAppState__buildTabbedPage___closure0.prototype = {
    call$1(p) {
      return !this.hide.contains$1(0, p.screenId);
    },
    $signature: 64
  };
  A.DevToolsAppState_pages_closure.prototype = {
    call$3(_, __, args) {
      var t1 = J.$index$asx(args, "screen"),
        t2 = $.globals.$index(0, B.Type_IdeTheme_NnV),
        t3 = this.$this;
      return A.DevToolsScaffold$withChild(null, t3._providedControllers$2$child$offline(new A.SnapshotScreenBody(new A.SnapshotArguments(t1), t3.get$_screens(), null), true), t2, new A.UniqueKey());
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 292
  };
  A.DevToolsAppState_pages_closure0.prototype = {
    call$3(_, __, ___) {
      var t1 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      return A.DevToolsScaffold$withChild(A._setArrayType([new A.OpenSettingsAction(null), new A.ReportFeedbackButton(null), new A.OpenAboutAction(null)], type$.JSArray_Widget), this.$this._providedControllers$1$child(B.AppSizeBody_null), t1, B.ValueKey_appsize);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 292
  };
  A.DevToolsAppState__providedControllers_closure.prototype = {
    call$1(s) {
      var t1;
      if (s.createController != null || s.controller != null)
        t1 = !this.offline || s.supportsOffline;
      else
        t1 = false;
      return t1;
    },
    $signature: 763
  };
  A.DevToolsAppState__providedControllers_closure0.prototype = {
    call$1(s) {
      return s.get$controllerProvider();
    },
    $signature: 764
  };
  A.DevToolsAppState_build_closure.prototype = {
    call$2(context, child) {
      var t1 = this.$this,
        t2 = t1._widget.analyticsController;
      t1 = t1.__DevToolsAppState_releaseNotesController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.Provider$value(null, new A.Notifications(new A.ReleaseNotesViewer(t1, child, null), null), t2, type$.AnalyticsController);
    },
    $signature: 768
  };
  A.DevToolsScreen.prototype = {
    get$controllerProvider() {
      var _this = this,
        controllerLocal = _this.controller;
      if (controllerLocal != null)
        return A.Provider$value(null, null, controllerLocal, _this.$ti._precomputed1);
      return A.Provider$(null, new A.DevToolsScreen_controllerProvider_closure(_this), _this.$ti._precomputed1);
    }
  };
  A.DevToolsScreen_controllerProvider_closure.prototype = {
    call$1(_) {
      return this.$this.createController.call$0();
    },
    $signature() {
      return this.$this.$ti._eval$1("1(BuildContext)");
    }
  };
  A.OpenSettingsAction.prototype = {
    build$1(context) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.DevToolsTooltip$(A.InkWell$(false, _null, true, A.Container$(B.Alignment_0_0, A.Icon$(B.IconData_58751_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, t1), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.OpenSettingsAction_build_closure(context), _null, _null, _null, _null, _null, _null), _null, _null, "Settings", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.OpenSettingsAction_build_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              A.showDialog(true, new A.OpenSettingsAction_build__closure(), $async$self.context, type$.void);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.OpenSettingsAction_build__closure.prototype = {
    call$1(context) {
      return new A.SettingsDialog(null);
    },
    $signature: 769
  };
  A.SettingsDialog.prototype = {
    build$1(context) {
      var _null = null,
        analyticsController = A.Provider_of(context, true, type$.AnalyticsController),
        t1 = A.Text$("Settings", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null),
        t2 = type$.JSArray_Widget,
        t3 = A._setArrayType([new A.CheckboxSetting(B.Text_q3P, $.globals.$index(0, B.Type_PreferencesController_1KB)._darkModeTheme, $.globals.$index(0, B.Type_PreferencesController_1KB).get$toggleDarkModeTheme(), "darkTheme", _null), new A.CheckboxSetting(B.Text_C9n, $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode, $.globals.$index(0, B.Type_PreferencesController_1KB).get$toggleDenseMode(), "denseMode", _null)], t2);
      t3.push(new A.CheckboxSetting(B.Text_yuU, analyticsController._analyticsEnabled, analyticsController.get$toggleAnalyticsEnabled(), "analytics", _null));
      t3.push(new A.CheckboxSetting(B.Text_bFE, $.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode, $.globals.$index(0, B.Type_PreferencesController_1KB).get$toggleVmDeveloperMode(), "vmDeveloperMode", _null));
      t3 = A.Column$(t3, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t2), t3, true, true, t1);
    }
  };
  A.CheckboxSetting.prototype = {
    build$1(context) {
      var _this = this, _null = null;
      return A.InkWell$(false, _null, true, A.Row$(A._setArrayType([new A.ValueListenableBuilder(_this.listenable, new A.CheckboxSetting_build_closure(_this), _null, _null, type$.ValueListenableBuilder_bool), _this.label], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.CheckboxSetting_build_closure0(_this), _null, _null, _null, _null, _null, _null);
    },
    toggleSetting$1(newValue) {
      var t1 = newValue === true,
        t2 = t1 ? "enabled" : "disabled";
      A.select("settings", this.gaItem + "-" + t2, false, null);
      this.toggle.call$1(t1);
    }
  };
  A.CheckboxSetting_build_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.toggleSetting$1(!t1.listenable._change_notifier$_value);
    },
    $signature: 0
  };
  A.CheckboxSetting_build_closure.prototype = {
    call$3(context, value, _) {
      return A.Checkbox$(null, this.$this.get$toggleSetting(), false, value);
    },
    $signature: 784
  };
  A.defaultScreens_closure.prototype = {
    call$0() {
      var t1 = $.$get$ChangeNotifier__emptyListeners(),
        t2 = type$.ValueNotifier_bool;
      return new A.InspectorSettingsController(new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(true, t1, t2));
    },
    $signature: 785
  };
  A.defaultScreens_closure0.prototype = {
    call$0() {
      var _null = null,
        t1 = A.CpuProfilerController$("performance"),
        t2 = A._setArrayType([], type$.JSArray_LayerSnapshot),
        t3 = $.$get$ChangeNotifier__emptyListeners(),
        t4 = type$.ValueNotifier_bool,
        t5 = type$.ValueNotifier_nullable_TimelineEvent,
        t6 = type$.JSArray_FlutterFrame,
        t7 = type$.FlutterFrame,
        t8 = type$.int,
        t9 = type$.String,
        t10 = type$.RebuildLocation,
        t11 = type$.ValueNotifier_double;
      t5 = new A.PerformanceController(t1, new A.RasterMetricsController(new A.ValueNotifier(t2, t3, type$.ValueNotifier_List_LayerSnapshot), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_LayerSnapshot), new A.ValueNotifier(false, t3, t4), B.Duration_0), new A.ExportControllerWeb(), new A.ValueNotifier(_null, t3, t5), new A.ValueNotifier(_null, t3, type$.ValueNotifier_nullable_FlutterFrame), A.ListValueNotifier$(A._setArrayType([], t6), t7), new A.ValueNotifier(false, t3, t4), new A.ValueNotifier(false, t3, t4), new A.ValueNotifier(false, t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t8, t9), A._setArrayType([], type$.JSArray_TraceEventWrapper), new A.ValueNotifier(true, t3, t4), A._setArrayType([], t6), A.LinkedHashMap_LinkedHashMap$_empty(t8, type$.FrameTimelineEventData), A.LinkedHashMap_LinkedHashMap$_empty(t8, t7), new A.RebuildCountModel(A.LinkedHashMap_LinkedHashMap$_empty(t8, t10), A.ListValueNotifier$(A._setArrayType([], type$.JSArray_RebuildLocation), t10)), new A.ValueNotifier(60, t3, t11), A.Disposer$(), new A.ValueNotifier("", t3, type$.ValueNotifier_String), new A.ValueNotifier(false, t3, t4), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], type$.JSArray_TimelineEvent), t3, type$.ValueNotifier_List_TimelineEvent), new A.ValueNotifier(_null, t3, t5), new A.ValueNotifier(0, t3, type$.ValueNotifier_int));
      t5.__PerformanceController_processor = new A.TimelineEventProcessor(t5, new A.ValueNotifier(0, t3, t11), A.LinkedHashMap_LinkedHashMap$_empty(t9, type$.AsyncTimelineEvent), A.LinkedHashMap_LinkedHashMap$_empty(t8, type$.nullable_SyncTimelineEvent), A.LinkedHashMap_LinkedHashMap$_empty(t8, type$.TraceEvent));
      t8 = t5._performance_controller$_initHelper$0();
      if (t5.__PerformanceController__initialized !== $)
        A.throwUnnamedLateFieldAI();
      t5.__PerformanceController__initialized = t8;
      return t5;
    },
    $signature: 786
  };
  A.defaultScreens_closure1.prototype = {
    call$0() {
      return A.ProfilerScreenController$();
    },
    $signature: 832
  };
  A.defaultScreens_closure2.prototype = {
    call$0() {
      var _null = null,
        t1 = $.$get$ChangeNotifier__emptyListeners(),
        t2 = type$.ValueNotifier_bool,
        t3 = type$.ValueNotifier_nullable_DateTime,
        t4 = new A.ValueNotifier(false, t1, t2),
        t5 = type$.ValueNotifier_String,
        t6 = type$.ValueNotifier_int,
        t7 = type$.ClassRef;
      t5 = new A.MemoryController(new A.ValueNotifier(true, t1, t2), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(true, t1, t2), A._setArrayType([], type$.JSArray_Snapshot), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(_null, t1, t3), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_HeapGraphElementLive), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_AnalysisInstance), A._setArrayType([], type$.JSArray_AnalysisSnapshotReference), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), t4, new A.ValueNotifier("Live Feed", t1, t5), new A.ValueNotifier(0, t1, t6), new A.ValueNotifier(B.ChartInterval_0, t1, type$.ValueNotifier_ChartInterval), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), new A.SettingsModel(), new A.ValueNotifier(new A.Selection(_null, _null, false, type$.Selection_Reference), t1, type$.ValueNotifier_Selection_Reference), new A.ValueNotifier(0, t1, t6), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, t7), A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.CpuSamples), A._setArrayType([], type$.JSArray_AllocationSamples), new A.FilterConfig(new A.ValueNotifier(true, t1, t2), new A.ValueNotifier(true, t1, t2), new A.ValueNotifier(true, t1, t2), new A.FilteredLibraries(A._setArrayType(["dart:", "package:collection", "package:flutter", "package:intl", "package:vector_math"], type$.JSArray_String))), new A.ValueNotifier(0, t1, t6), new A.ValueNotifier("Library", t1, t5), A.StreamController_StreamController$broadcast(false, type$.nullable_MemoryTracker), A.StreamController_StreamController$broadcast(false, type$.void), new A.ValueNotifier(0, t1, t6), new A.ValueNotifier(_null, t1, t3), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_ClassHeapDetailStats), A._setArrayType([], type$.JSArray_ClassHeapDetailStats), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(A._setArrayType([], type$.JSArray_AutoCompleteMatch), t1, type$.ValueNotifier_List_AutoCompleteMatch), new A.LayerLink(), _null, new A.ValueNotifier(0, t1, t6), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_String), new A.ValueNotifier("", t1, t5), new A.ValueNotifier(false, t1, t2), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], type$.JSArray_DataSearchStateMixin), t1, type$.ValueNotifier_List_DataSearchStateMixin), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_DataSearchStateMixin), new A.ValueNotifier(0, t1, t6), A.Disposer$());
      t3 = type$.JSArray_HeapSample;
      t5.__MemoryController_memoryTimeline = new A.MemoryTimeline(t4, A._setArrayType([], t3), A._setArrayType([], t3), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_Event), new A.ValueNotifier(_null, t1, type$.ValueNotifier_nullable_HeapSample), A._setArrayType([], type$.JSArray_EventSample), B.ContinuesState_0, new A.ValueNotifier(0, t1, t6), new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), A._setArrayType([], type$.JSArray_ExtensionEvent));
      t5.__MemoryController_memoryLog = new A.MemoryLog(t5);
      return t5;
    },
    $signature: 836
  };
  A.defaultScreens_closure3.prototype = {
    call$0() {
      return A.DebuggerController$();
    },
    $signature: 837
  };
  A.defaultScreens_closure4.prototype = {
    call$0() {
      var t2, t3, t4, t5, _null = null,
        t1 = type$.JSArray_String;
      t1 = A.LinkedHashMap_LinkedHashMap$_literal(["network-method-filter", new A.QueryFilterArgument(A._setArrayType(["method", "m"], t1), B.List_empty0), "network-status-filter", new A.QueryFilterArgument(A._setArrayType(["status", "s"], t1), B.List_empty0), "network-type-filter", new A.QueryFilterArgument(A._setArrayType(["type", "t"], t1), B.List_empty0)], type$.String, type$.QueryFilterArgument);
      t2 = $.$get$ChangeNotifier__emptyListeners();
      t3 = type$.ValueNotifier_nullable_NetworkRequest;
      t4 = type$.ValueNotifier_bool;
      t5 = type$.JSArray_NetworkRequest;
      t2 = new A.NetworkController(t1, new A.ValueNotifier(new A.NetworkRequests(B.List_empty29, B.Map_empty11), t2, type$.ValueNotifier_NetworkRequests), new A.ValueNotifier(_null, t2, t3), new A.ValueNotifier(false, t2, t4), A.ListValueNotifier$(A._setArrayType([], t5), type$.NetworkRequest), new A.ValueNotifier(_null, t2, type$.ValueNotifier_nullable_Filter_NetworkRequest), new A.ValueNotifier("", t2, type$.ValueNotifier_String), new A.ValueNotifier(false, t2, t4), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], t5), t2, type$.ValueNotifier_List_NetworkRequest), new A.ValueNotifier(_null, t2, t3), new A.ValueNotifier(0, t2, type$.ValueNotifier_int));
      t2.__NetworkController__networkService = new A.NetworkService(t2);
      return t2;
    },
    $signature: 838
  };
  A.defaultScreens_closure5.prototype = {
    call$0() {
      var t3, t4, t5, t6, t7, _null = null,
        t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_literal(["logging-kind-filter", new A.QueryFilterArgument(A._setArrayType(["kind", "k"], type$.JSArray_String), B.List_empty0)], t1, type$.QueryFilterArgument);
      t1 = A.StreamController_StreamController$broadcast(false, t1);
      t3 = type$.JSArray_LogData;
      t4 = A._setArrayType([], t3);
      t5 = $.$get$ChangeNotifier__emptyListeners();
      t6 = type$.ValueNotifier_nullable_LogData;
      t7 = A.Disposer$();
      t5 = new A.LoggingController(t2, t1, t4, new A.ValueNotifier(_null, t5, t6), t7, A.ListValueNotifier$(A._setArrayType([], t3), type$.LogData), new A.ValueNotifier(_null, t5, type$.ValueNotifier_nullable_Filter_LogData), new A.ValueNotifier("", t5, type$.ValueNotifier_String), new A.ValueNotifier(false, t5, type$.ValueNotifier_bool), 0, _null, _null, new A.ValueNotifier(A._setArrayType([], t3), t5, type$.ValueNotifier_List_LogData), new A.ValueNotifier(_null, t5, t6), new A.ValueNotifier(0, t5, type$.ValueNotifier_int));
      t6 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      t7 = t7._auto_dispose$_subscriptions;
      t7.push(new A._BroadcastStream(t6, A._instanceType(t6)._eval$1("_BroadcastStream<1>")).listen$1(t5.get$_logging_controller$_handleConnectionStart()));
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized()) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
        t1.toString;
        t5._logging_controller$_handleConnectionStart$1(t1);
      }
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionClosedController;
      t7.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(t5.get$_logging_controller$_handleConnectionStop()));
      t5._handleBusEvents$0();
      return t5;
    },
    $signature: 847
  };
  A.defaultScreens_closure6.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.defaultScreens_closure7.prototype = {
    call$0() {
      var _null = null,
        t1 = $.$get$ChangeNotifier__emptyListeners(),
        t2 = type$.ValueNotifier_nullable_CallGraphNode,
        t3 = type$.ValueNotifier_nullable_TreemapNode,
        t4 = type$.ValueNotifier_nullable_DevToolsJsonFile;
      return new A.AppSizeController(new A.ValueNotifier(_null, t1, t2), new A.ValueNotifier(_null, t1, t2), new A.ValueNotifier(_null, t1, t3), new A.ValueNotifier(_null, t1, t4), new A.ValueNotifier(_null, t1, t3), new A.ValueNotifier(_null, t1, t4), new A.ValueNotifier(_null, t1, t4), new A.ValueNotifier(B.DiffTreeType_2, t1, type$.ValueNotifier_DiffTreeType), new A.ValueNotifier(false, t1, type$.ValueNotifier_bool));
    },
    $signature: 850
  };
  A._DevToolsAppState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.Chart.prototype = {
    createState$0() {
      return new A.ChartState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.ChartState.prototype = {
    _initSetup$0() {
      this.addAutoDisposeListener$2(this._widget.controller._traceNotifier, new A.ChartState__initSetup_closure(this));
    },
    initState$0() {
      this.super$State$initState();
      this._initSetup$0();
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.controller !== this._widget.controller)
        this._initSetup$0();
    },
    build$1(context) {
      return new A.RepaintBoundary(new A.LayoutBuilder(new A.ChartState_build_closure(this, A.Theme_of(context).colorScheme), null), null);
    }
  };
  A.ChartState__initSetup_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.ChartState__initSetup__closure(t1));
    },
    $signature: 0
  };
  A.ChartState__initSetup__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.controller;
      if (t2._zoomDuration == null)
        t2.computeZoomRatio$0();
      t1._widget.controller.computeChartArea$0();
    },
    $signature: 0
  };
  A.ChartState_build_closure.prototype = {
    call$2(_, constraints) {
      var _null = null,
        t1 = this.$this;
      return A.GestureDetector$(_null, A.Container$(_null, A.CustomPaint$(_null, _null, _null, new A.ChartPainter(t1._widget.controller, this.colorScheme, _null), B.Size_0_0), B.Clip_0, _null, _null, _null, _null, 1 / 0, _null, _null, _null, _null, _null, constraints.maxWidth), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.ChartState_build__closure(t1), _null, _null, _null, _null);
    },
    $signature: 854
  };
  A.ChartState_build__closure.prototype = {
    call$1(details) {
      var xLocalPosition = details.localPosition._dx,
        t1 = this.$this,
        timestampIndex = t1._widget.controller.xCoordToTimestampIndex$1(xLocalPosition),
        t2 = t1._widget.controller;
      t2 = A.SafeAccessList_safeGet(t2._timestamps, t2.xCoordToTimestampIndex$1(xLocalPosition));
      t1._widget.controller.tapLocation.set$value(0, new A.TapLocation(details, t2, timestampIndex));
    },
    $signature: 35
  };
  A.PointAndBase.prototype = {};
  A.ChartPainter.prototype = {
    paint$2(canvas, size) {
      var t2, traces, t3, tracesDataIndex, t4, previousTracesData, currentTracesData, xTickIndex, endVisibleIndex, indexOffset, yTranslation, _box_0, currentTimestamp, tracesLength, leftSideSide, topChartSide, t5, t6, index, traceDataIndex, trace, traceData, yValue, yValue0, xTimestamp, xCanvasCoord, tapLocation, tp, _this = this, _box_1 = {},
        t1 = Date.now(),
        axis = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      axis.set$strokeWidth(2);
      axis.set$color(0, B.MaterialColor_Map_HFpTk_4288585374);
      t2 = _this.chartController;
      if (!size.$eq(0, t2.size)) {
        t2.size = size;
        t2.computeChartArea$0();
      }
      A.drawTranslate(canvas, t2.xCanvasChart, t2.yCanvasChart, new A.ChartPainter_paint_closure(_this, canvas, size, axis));
      traces = t2.traces;
      t3 = type$.int;
      tracesDataIndex = A.List_List$generate(traces.length, new A.ChartPainter_paint_closure0(traces), true, t3);
      t4 = type$.PointAndBase;
      previousTracesData = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      currentTracesData = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4);
      _box_1.visibleYMax = 0;
      t4 = t2._timestamps;
      xTickIndex = t4.length;
      t3 = t2.__ChartController_visibleXAxisTicks;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      endVisibleIndex = xTickIndex - t3;
      indexOffset = t2.xCanvasChart;
      if (xTickIndex < t3)
        indexOffset += (t3 - xTickIndex) * t2._tickWidth;
      yTranslation = t2.yCanvasChart + t2.canvasChartHeight;
      for (t3 = t2.tapLocation; --xTickIndex, xTickIndex >= 0;) {
        _box_0 = {};
        currentTimestamp = t4[xTickIndex];
        if (xTickIndex < endVisibleIndex)
          break;
        tracesLength = traces.length;
        if (!B.JSArray_methods.any$1(tracesDataIndex, new A.ChartPainter_paint_closure1()))
          continue;
        canvas.save$0(0);
        leftSideSide = t2.xCanvasChart;
        topChartSide = t2.yCanvasChart;
        t5 = t2.__ChartController_canvasChartWidth;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        t6 = t2.__ChartController_xPaddingRight;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        canvas.clipRect$2$clipOp(new A.Rect(leftSideSide, topChartSide, t5 + leftSideSide - t6, topChartSide + t2.canvasChartHeight), B.ClipOp_1);
        _box_0.stackedY = 0;
        for (index = 0; index < tracesLength; ++index) {
          traceDataIndex = tracesDataIndex[index];
          if (traceDataIndex >= 0) {
            trace = traces[index];
            traceData = trace._chart_trace$_data[traceDataIndex];
            t5 = trace.__Trace_stacked;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            yValue = traceData.y;
            yValue0 = t5 ? _box_0.stackedY + yValue : yValue;
            xTimestamp = traceData.timestamp;
            xCanvasCoord = t2.timestampToXCanvasCoord$1(xTimestamp);
            if (currentTimestamp === xTimestamp) {
              canvas.save$0(0);
              canvas.translate$2(0, indexOffset, yTranslation);
              new A.ChartPainter_paint_closure2(_box_1, _box_0, _this, xCanvasCoord, yValue0, traceData, currentTracesData, index, trace, previousTracesData, tracesDataIndex).call$1(canvas);
              canvas.restore$0(0);
              tapLocation = t3._change_notifier$_value;
              t5 = tapLocation == null;
              if ((t5 ? null : tapLocation.index) !== xTickIndex) {
                t6 = (t5 ? null : tapLocation.timestamp) === currentTimestamp;
                t5 = t6;
              } else
                t5 = true;
              if (t5) {
                canvas.save$0(0);
                canvas.translate$2(0, indexOffset, yTranslation);
                new A.ChartPainter_paint_closure3(_this, canvas, xCanvasCoord).call$1(canvas);
                canvas.restore$0(0);
              }
            }
            t5 = trace.__Trace_stacked;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            if (t5)
              _box_0.stackedY += yValue;
          }
          previousTracesData.addAll$1(0, currentTracesData);
          currentTracesData.clear$0(0);
        }
        canvas.restore$0(0);
      }
      t2.computeChartArea$0();
      t2.buildLabelTimestamps$0();
      if (t2.displayXAxis || t2.displayXLabels) {
        A.drawTranslate(canvas, indexOffset, t2.yCanvasChart + t2.canvasChartHeight + 1, new A.ChartPainter_paint_closure4(_this, axis));
        A.drawTranslate(canvas, t2.xCanvasChart, yTranslation, new A.ChartPainter_paint_closure5(_box_1, _this, axis));
      }
      tp = _this.createText$2(t2._title, 1.5);
      tp.paint$2(canvas, new A.Offset(size._dx / 2 - tp.get$width(tp) / 2, 0));
      B.JSInt_methods._tdivFast$1(A.Duration$(0, Date.now() - new A.DateTime(t1, false)._value)._duration, 1000);
      t2.dirty = false;
    },
    drawYTicks$3(canvas, chartController, axis) {
      var labelIndex, unit, yCoord, labelValue, unitExponent, label, labelName, tp, t2, t3, _null = null,
        yScale = chartController.yScale,
        t1 = yScale.__AxisScale_labelTicks;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      labelIndex = t1;
      for (; labelIndex >= 0; --labelIndex) {
        t1 = yScale.__AxisScale_labelUnitExponent;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        unit = B.JSNumber_methods.floor$0(Math.pow(10, t1));
        t1 = chartController.yScale._tickSpacing;
        t1.toString;
        t1 = labelIndex * unit / t1;
        yCoord = -(t1 < 0 ? Math.ceil(t1) : Math.floor(t1));
        labelValue = B.JSNumber_methods.floor$0(labelIndex);
        t1 = yScale.__AxisScale_labelUnitExponent;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        unitExponent = B.JSNumber_methods.floor$0(t1);
        switch (unitExponent) {
          case 0:
          case 1:
          case 2:
          case 3:
            labelValue *= A._asInt(Math.pow(10, unitExponent));
            unit = "";
            break;
          case 4:
          case 5:
            labelValue *= A._asInt(Math.pow(10, unitExponent - 4));
            unit = "K";
            break;
          case 6:
          case 7:
          case 8:
            labelValue *= A._asInt(Math.pow(10, unitExponent - 6));
            unit = "M";
            break;
          case 9:
          case 10:
          case 11:
            labelValue *= A._asInt(Math.pow(10, unitExponent - 9));
            unit = "B";
            break;
          case 12:
          case 13:
          case 14:
            labelValue *= A._asInt(Math.pow(10, unitExponent - 12));
            unit = "T";
            break;
          default:
            unit = "e+" + unitExponent;
        }
        label = B.JSInt_methods.toInt$0(labelValue);
        labelName = label === 0 ? "0" : "" + label + unit;
        t1 = chartController.xCanvasChart;
        tp = new A.TextPainter(A.TextSpan$(_null, _null, _null, new A.TextStyle(true, B.Color_4285887861, _null, _null, _null, _null, 10, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), labelName), B.TextAlign_1, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        tp.layout$0();
        t2 = tp._textWidthBasis;
        t3 = tp._paragraph;
        t2 = t2 === B.TextWidthBasis_1 ? t3.get$longestLine() : t3.get$width(t3);
        t2 = Math.ceil(t2);
        t3 = tp._paragraph;
        tp.paint$2(canvas, new A.Offset(-t1 / 2 + -t2 / 2, yCoord - Math.ceil(t3.get$height(t3)) / 2));
        canvas.drawLine$3(new A.Offset(0, yCoord), new A.Offset(-6, yCoord), axis);
      }
    },
    createText$2(textValue, scale) {
      var _null = null,
        tp = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_4285887861, _null, _null, _null, _null, _null, _null, _null, _null, 10, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), textValue), B.TextAlign_1, B.TextDirection_1, _null, scale, B.TextWidthBasis_0);
      tp.layout$0();
      return tp;
    },
    drawSymbol$6(canvas, characteristics, x, y, aggregateEvents, symbolPathToDraw) {
      var t3, paintFirst, t4, paintSecond,
        firstStyle = A._Cell$named("firstStyle"),
        secondStyle = A._Cell$named("secondStyle"),
        t1 = characteristics.symbol,
        t2 = t1.index;
      switch (t2) {
        case 1:
        case 4:
        case 6:
        case 8:
          firstStyle.__late_helper$_value = B.PaintingStyle_0;
          break;
        case 0:
        case 3:
        case 5:
        case 7:
          firstStyle.__late_helper$_value = B.PaintingStyle_1;
          break;
        case 2:
          firstStyle.__late_helper$_value = B.PaintingStyle_1;
          secondStyle.__late_helper$_value = B.PaintingStyle_0;
          break;
        case 9:
          break;
      }
      t3 = $.$get$useCanvasKit();
      paintFirst = t3 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paintFirst.set$style(0, firstStyle._readLocal$0());
      paintFirst.set$strokeWidth(characteristics.strokeWidth);
      if (aggregateEvents) {
        t4 = characteristics.colorAggregate;
        t4.toString;
      } else
        t4 = characteristics.color;
      paintFirst.set$color(0, t4);
      switch (t2) {
        case 9:
          this.drawLine$5(canvas, characteristics, x, y, this.chartController._tickWidth - 4);
          break;
        case 1:
        case 0:
          canvas.drawCircle$3(new A.Offset(x, y), characteristics.diameter, paintFirst);
          break;
        case 2:
          canvas.drawCircle$3(new A.Offset(x, y), characteristics.diameter, paintFirst);
          paintSecond = t3 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          paintSecond.set$style(0, secondStyle._readLocal$0());
          paintSecond.set$strokeWidth(0);
          if (aggregateEvents) {
            t1 = characteristics.colorAggregate;
            t1.toString;
          } else
            t1 = characteristics.concentricCenterColor;
          paintSecond.set$color(0, t1);
          canvas.drawCircle$3(new A.Offset(x, y), characteristics.concentricCenterDiameter, paintSecond);
          break;
        case 4:
        case 6:
        case 8:
        case 3:
        case 5:
        case 7:
          canvas.drawPath$2(symbolPathToDraw.shift$1(new A.Offset(x - characteristics.width / 2, y - characteristics.height / 2)), paintFirst);
          break;
        default:
          A.log("Unknown symbol " + t1.toString$0(0), B.LogLevel_2);
      }
    },
    drawLine$5(canvas, characteristics, x, y, tickWidth) {
      var paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$style(0, B.PaintingStyle_1);
      paint.set$strokeWidth(characteristics.strokeWidth);
      paint.set$color(0, characteristics.color);
      canvas.drawLine$3(new A.Offset(x, y), new A.Offset(x + tickWidth, y), paint);
    },
    shouldRepaint$1(oldDelegate) {
      return this.chartController.dirty;
    }
  };
  A.ChartPainter_paint_closure.prototype = {
    call$1(canavas) {
      var t5, chartWidthPosition, chartHeight,
        t1 = this.canvas,
        t2 = this.axis,
        t3 = this.$this.chartController,
        t4 = t3.__ChartController_canvasChartWidth;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t3.__ChartController_xPaddingRight;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      chartWidthPosition = t4 - t5;
      chartHeight = t3.canvasChartHeight;
      if (t3.displayTopLine)
        t1.drawLine$3(B.Offset_0_0, new A.Offset(chartWidthPosition, 0), t2);
      t1.drawLine$3(B.Offset_0_0, new A.Offset(0, chartHeight), t2);
      if (t3.displayXAxis)
        t1.drawLine$3(new A.Offset(0, chartHeight), new A.Offset(chartWidthPosition, chartHeight), t2);
    },
    $signature: 94
  };
  A.ChartPainter_paint_closure0.prototype = {
    call$1(index) {
      var $length = this.traces[index]._chart_trace$_data.length;
      return $length > 0 ? $length - 1 : -1;
    },
    $signature: 32
  };
  A.ChartPainter_paint_closure1.prototype = {
    call$1(element) {
      return element >= 0;
    },
    $signature: 41
  };
  A.ChartPainter_paint_closure2.prototype = {
    call$1(canvas) {
      var yCoord, hasMultipleExtensionEvents, t5, t6, t7, t8, t9, paint, t10, t11, fillArea, _this = this,
        xCoord = _this.xCanvasCoord,
        t1 = _this.$this,
        t2 = t1.chartController,
        t3 = _this.yValue,
        t4 = t2.yScale._tickSpacing;
      t4.toString;
      t4 = t3 / t4;
      yCoord = -(t4 < 0 ? Math.ceil(t4) : Math.floor(t4));
      t4 = _this.traceData;
      hasMultipleExtensionEvents = t4 instanceof A.DataAggregate && t4.count > 1;
      t4 = _this._box_1;
      if (t3 > t4.visibleYMax)
        t4.visibleYMax = t3;
      t3 = _this.currentTracesData;
      t4 = _this.index;
      t5 = _this._box_0.stackedY;
      t6 = t2.yScale._tickSpacing;
      t6.toString;
      t6 = t5 / t6;
      t3.$indexSet(0, t4, new A.PointAndBase(xCoord, yCoord, -(t6 < 0 ? Math.ceil(t6) : Math.floor(t6))));
      t5 = _this.trace;
      t6 = t5._chartType;
      if (t6 === B.ChartType_0)
        t1.drawSymbol$6(canvas, t5.characteristics, xCoord, yCoord, hasMultipleExtensionEvents, t5.get$symbolPath());
      else if (t6 === B.ChartType_1) {
        t6 = t5.characteristics;
        if (t6.symbol === B.ChartSymbol_9)
          t1.drawLine$5(canvas, t6, xCoord, yCoord, t2._tickWidth - 4);
        else {
          t2 = _this.previousTracesData;
          if (t2.$index(0, t4) != null) {
            t2 = t2.$index(0, t4);
            t2.toString;
            t3 = t3.$index(0, t4);
            t3.toString;
            t7 = t2.x;
            t8 = t2.y;
            t9 = $.$get$useCanvasKit();
            paint = t9 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            paint.set$style(0, B.PaintingStyle_1);
            t10 = t6.strokeWidth;
            paint.set$strokeWidth(t10);
            t11 = t6.color;
            paint.set$color(0, t11);
            canvas.drawLine$3(new A.Offset(xCoord, yCoord), new A.Offset(t7, t8), paint);
            t1.drawSymbol$6(canvas, t6, xCoord, yCoord, hasMultipleExtensionEvents, t5.get$symbolPath());
            t2 = t2.base;
            t5 = t3.x;
            paint = t9 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            paint.set$style(0, B.PaintingStyle_0);
            paint.set$strokeWidth(t10);
            paint.set$color(0, A.Color$fromARGB(140, t11.get$value(t11) >>> 16 & 255, t11.get$value(t11) >>> 8 & 255, t11.get$value(t11) & 255));
            fillArea = A.Path_Path();
            fillArea.moveTo$2(0, t7, t2);
            fillArea.lineTo$2(0, t7, t8);
            fillArea.lineTo$2(0, t5, t3.y);
            fillArea.lineTo$2(0, t5, t3.base);
            fillArea.lineTo$2(0, t7, t2);
            fillArea.close$0(0);
            canvas.drawPath$2(fillArea, paint);
            fillArea.reset$0(0);
          } else
            t1.drawSymbol$6(canvas, t6, xCoord, yCoord, hasMultipleExtensionEvents, t5.get$symbolPath());
        }
      }
      t1 = _this.tracesDataIndex;
      t1[t4] = t1[t4] - 1;
    },
    $signature: 94
  };
  A.ChartPainter_paint_closure3.prototype = {
    call$1(canavas) {
      var t1 = this.$this,
        t2 = this.xCanvasCoord,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$strokeWidth(2);
      paint.set$color(0, t1.colorScheme.brightness === B.Brightness_1 ? B.Color_4290824755 : B.MaterialAccentColor_Map_iTwHq_4294967040);
      this.canvas.drawLine$3(new A.Offset(t2, 0), new A.Offset(t2, -t1.chartController.canvasChartHeight), paint);
    },
    $signature: 94
  };
  A.ChartPainter_paint_closure4.prototype = {
    call$1(canvas) {
      var t1, t2, t3, t4, _i, timestamp, xCoord, t5, tp, t6, _null = null;
      for (t1 = this.$this.chartController, t2 = t1.labelTimestamps, t3 = t2.length, t4 = this.axis, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        timestamp = t2[_i];
        xCoord = t1.timestampToXCanvasCoord$1(timestamp);
        canvas.drawLine$3(new A.Offset(xCoord, 0), new A.Offset(xCoord, 2), t4);
        t5 = A.prettyTimestamp(timestamp);
        tp = new A.TextPainter(A.TextSpan$(_null, _null, _null, new A.TextStyle(true, B.Color_4285887861, _null, _null, _null, _null, 10, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), t5), B.TextAlign_1, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        tp.layout$0();
        t5 = tp._textWidthBasis;
        t6 = tp._paragraph;
        t5 = t5 === B.TextWidthBasis_1 ? t6.get$longestLine() : t6.get$width(t6);
        t5 = B.JSNumber_methods._tdivFast$1(Math.ceil(t5), 2);
        t6 = tp._paragraph;
        tp.paint$2(canvas, new A.Offset(xCoord - t5, 15 - B.JSNumber_methods._tdivFast$1(Math.ceil(t6.get$height(t6)), 2)));
      }
    },
    $signature: 94
  };
  A.ChartPainter_paint_closure5.prototype = {
    call$1(canvas) {
      var t1 = this.$this,
        t2 = t1.chartController,
        t3 = this._box_1.visibleYMax;
      t2._yMaxValue = 0;
      t2.set$yMaxValue(t3);
      if (t2.displayYLabels)
        t1.drawYTicks$3(canvas, t2, this.axis);
    },
    $signature: 94
  };
  A._ChartState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.ChartController.prototype = {
    ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(displayTopLine, displayXAxis, displayXLabels, displayYLabels, $name, sharedLabelimestamps) {
      var _this = this;
      _this.bottomPadding = !_this.displayXLabels ? 0 : 40;
      if (sharedLabelimestamps != null) {
        _this.labelTimestamps = sharedLabelimestamps;
        _this._labelsShared = true;
      }
    },
    set$yMaxValue(value) {
      var _this = this;
      if (value > _this._yMaxValue) {
        _this._yMaxValue = value;
        _this.yScale = A.AxisScale$(0, value, _this.canvasChartHeight);
      }
    },
    computeZoomRatio$0() {
      var t1, _this = this;
      if (_this.size == null)
        return;
      if (_this._zoomDuration == null) {
        t1 = _this.__ChartController_canvasChartWidth;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._tickWidth = t1 / _this._timestamps.length;
      }
    },
    set$zoomDuration(duration) {
      var t1, t2, firstDT, lastDT, startOfLastNMinutes, ticksVisible, $length, t3, _this = this;
      if (duration != null) {
        t1 = B.JSInt_methods._tdivFast$1(duration._duration, 60000000);
        if (t1 === 0)
          _this._tickWidth = 10;
        else {
          t2 = _this._timestamps;
          if (t2.length !== 0 && t1 > 0) {
            firstDT = A.DateTime$fromMillisecondsSinceEpoch(B.JSArray_methods.get$first(t2), false);
            lastDT = A.DateTime$fromMillisecondsSinceEpoch(B.JSArray_methods.get$last(t2), false);
            if (B.JSInt_methods._tdivFast$1(A.Duration$(0, lastDT._value - firstDT._value)._duration, 60000000) >= t1) {
              startOfLastNMinutes = A.IterableExtension_firstWhereOrNull(new A.ReversedListIterable(t2, A._arrayInstanceType(t2)._eval$1("ReversedListIterable<1>")), new A.ChartController_zoomDuration_closure(lastDT, duration));
              t1 = t2.length;
              ticksVisible = startOfLastNMinutes != null ? t1 - B.JSArray_methods.indexOf$1(t2, startOfLastNMinutes) : t1 + 1;
              t1 = _this.__ChartController_canvasChartWidth;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              _this._tickWidth = t1 / ticksVisible;
            } else {
              $length = t2.length;
              if ($length > 1) {
                t2 = B.JSInt_methods._tdivFast$1(A.Duration$(0, A.DateTime$fromMillisecondsSinceEpoch(B.JSArray_methods.get$last(t2), false)._value - A.DateTime$fromMillisecondsSinceEpoch(t2[$length - 2], false)._value)._duration, 1000);
                t3 = _this.__ChartController_canvasChartWidth;
                if (t3 === $)
                  A.throwUnnamedLateFieldNI();
                _this._tickWidth = t3 / (60000 / t2 * t1);
              }
            }
          }
        }
      }
      _this._zoomDuration = duration;
      _this.computeZoomRatio$0();
      _this.computeChartArea$0();
      _this.computeLabelInterval$0();
      _this.dirty = true;
    },
    computeLabelInterval$0() {
      var firstDT, totalHours, totalMinutes, rangeInMinutes, _this = this,
        t1 = _this._zoomDuration,
        t2 = t1 == null;
      if (t2 && _this._timestamps.length !== 0) {
        t1 = _this._timestamps;
        firstDT = A.DateTime$fromMillisecondsSinceEpoch(B.JSArray_methods.get$first(t1), false);
        t1 = A.Duration$(0, A.DateTime$fromMillisecondsSinceEpoch(B.JSArray_methods.get$last(t1), false)._value - firstDT._value)._duration;
        totalHours = B.JSInt_methods._tdivFast$1(t1, 3600000000);
        if (totalHours === 0) {
          totalMinutes = B.JSInt_methods._tdivFast$1(t1, 60000000);
          if (totalMinutes === 0)
            _this.labelInterval = 30;
          else if (totalMinutes < 10)
            _this.labelInterval = 60;
          else
            _this.labelInterval = 120;
        } else if (totalHours > 0 && totalHours < 8)
          _this.labelInterval = 3600;
        else if (totalHours < 24)
          _this.labelInterval = 14400;
        else
          _this.labelInterval = 43200;
      } else {
        rangeInMinutes = t2 ? null : B.JSInt_methods._tdivFast$1(t1._duration, 60000000);
        if (rangeInMinutes == null)
          return;
        switch (rangeInMinutes) {
          case 0:
            _this.labelInterval = 20;
            break;
          case 1:
            _this.labelInterval = 15;
            break;
          case 5:
            _this.labelInterval = 60;
            break;
          case 10:
            _this.labelInterval = 120;
            break;
        }
      }
      _this.buildLabelTimestamps$1$refresh(true);
    },
    buildLabelTimestamps$1$refresh(refresh) {
      var leftMostTimestamp, t1, lastTimestamp, lastLabelDT, index, currentTimestamp, currentDT, t2, leftEdge, rightLabelTimestamp, rightMostLableDT, nSeconds, foundTimestamp, startIndex, t3, _this = this, _1000000 = 1000000;
      if (_this._labelsShared || _this._timestamps.length === 0)
        return;
      if (refresh) {
        B.JSArray_methods.clear$0(_this.labelTimestamps);
        leftMostTimestamp = _this.get$leftMostVisibleTimestampIndex();
        t1 = _this._timestamps;
        lastTimestamp = t1[leftMostTimestamp];
        _this.labelTimestamps.push(lastTimestamp);
        lastLabelDT = A.DateTime$fromMillisecondsSinceEpoch(lastTimestamp, false);
        for (index = leftMostTimestamp; index < t1.length; ++index) {
          currentTimestamp = t1[index];
          currentDT = new A.DateTime(currentTimestamp, false);
          currentDT.DateTime$_withValue$2$isUtc(currentTimestamp, false);
          if (B.JSInt_methods._tdivFast$1(1000 * (currentTimestamp - lastLabelDT._value), _1000000) >= _this.labelInterval) {
            _this.labelTimestamps.push(currentTimestamp);
            lastLabelDT = currentDT;
          }
        }
        return;
      }
      t1 = _this.labelTimestamps;
      if (t1.length === 0) {
        t2 = _this._timestamps;
        t1.push(B.JSArray_methods.get$last(t2));
        t1 = t2;
      } else {
        leftEdge = _this.get$leftMostVisibleTimestampIndex();
        t1 = _this._timestamps;
        if (B.JSArray_methods.get$first(_this.labelTimestamps) < t1[leftEdge])
          B.JSArray_methods.removeAt$1(_this.labelTimestamps, 0);
      }
      t2 = _this.labelTimestamps;
      if (t2.length === 0)
        return;
      rightLabelTimestamp = B.JSArray_methods.get$last(t2);
      rightMostLableDT = A.DateTime$fromMillisecondsSinceEpoch(rightLabelTimestamp, false);
      t2 = A.DateTime$fromMillisecondsSinceEpoch(B.JSArray_methods.get$last(t1), false)._value;
      nSeconds = B.JSInt_methods._tdivFast$1(A.Duration$(0, t2 - rightMostLableDT._value)._duration, _1000000);
      if (nSeconds >= _this.labelInterval) {
        foundTimestamp = A._Cell$named("foundTimestamp");
        if (nSeconds === _this.labelInterval)
          foundTimestamp.__late_helper$_value = B.JSArray_methods.get$last(t1);
        else {
          startIndex = B.JSArray_methods.indexOf$1(t1, rightLabelTimestamp);
          for (index = startIndex; index < t1.length; ++index) {
            t3 = foundTimestamp.__late_helper$_value = t1[index];
            new A.DateTime(t3, false).DateTime$_withValue$2$isUtc(t3, false);
            if (B.JSInt_methods._tdivFast$1(1000 * (t3 - t2), _1000000) >= _this.labelInterval)
              break;
          }
        }
        _this.labelTimestamps.push(foundTimestamp._readLocal$0());
      }
    },
    buildLabelTimestamps$0() {
      return this.buildLabelTimestamps$1$refresh(false);
    },
    reset$0(_) {
      var t1, t2, _i, trace, _this = this;
      for (t1 = _this.traces, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        trace = t1[_i];
        B.JSArray_methods.clear$0(trace._chart_trace$_data);
        trace.controller.dirty = true;
      }
      B.JSArray_methods.clear$0(_this._timestamps);
      _this.dirty = true;
      B.JSArray_methods.clear$0(_this.labelTimestamps);
    },
    computeChartArea$0() {
      var width, t2, t3, _this = this,
        t1 = _this.size;
      if (t1 == null)
        return;
      _this.xCanvasChart = 50;
      width = t1._dx - 50 - 25;
      t2 = _this._tickWidth;
      t3 = B.JSNumber_methods.toInt$0(width / t2);
      _this.__ChartController_visibleXAxisTicks = t3;
      t2 = t3 * t2;
      _this.__ChartController_canvasChartWidth = t2;
      _this.__ChartController_xPaddingRight = width - t2;
      t2 = _this.topPadding;
      _this.yCanvasChart = t2;
      t2 = _this.canvasChartHeight = t1._dy - t2 - _this.bottomPadding;
      t1 = _this._fixedMinY;
      if (t1 != null && _this._fixedMaxY != null) {
        t1.toString;
        t3 = _this._fixedMaxY;
        t3.toString;
        _this.yScale = A.AxisScale$(t1, t3, t2);
      } else
        _this.yScale = A.AxisScale$(0, _this._yMaxValue, t2 - 5);
    },
    createTrace$4$name$stacked(chartType, characteristics, $name, stacked) {
      var maxY,
        t1 = this.traces,
        traceIndex = t1.length,
        trace = new A.Trace0(this, chartType, characteristics, A._setArrayType([], type$.JSArray_Data)),
        minY = characteristics.fixedMinY;
      if (minY == null)
        minY = 0;
      maxY = characteristics.fixedMaxY;
      A.AxisScale$(minY, maxY == null ? 0 : maxY, 30);
      trace.__Trace_stacked = stacked;
      trace.name = $name;
      t1.push(trace);
      return traceIndex;
    },
    createTrace$3$name(chartType, characteristics, $name) {
      return this.createTrace$4$name$stacked(chartType, characteristics, $name, false);
    },
    get$leftVisibleIndex() {
      var leftIndex,
        t1 = this._timestamps.length,
        t2 = this.__ChartController_visibleXAxisTicks;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      leftIndex = t1 - t2;
      if (leftIndex > 0)
        return leftIndex;
      return t2 - t1;
    },
    normalizeTimestampIndex$1(index) {
      var firstVisibleIndex, _this = this,
        leftMostIndex = _this.get$leftVisibleIndex(),
        t1 = _this._timestamps,
        t2 = t1.length,
        t3 = _this.__ChartController_visibleXAxisTicks;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 - t3 <= 0 || index >= leftMostIndex) {
        firstVisibleIndex = _this.get$leftVisibleIndex();
        t1 = t1.length;
        t2 = _this.__ChartController_visibleXAxisTicks;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 - t2 < 0)
          return index;
        else if (index >= firstVisibleIndex)
          return index - firstVisibleIndex;
      }
      return -1;
    },
    get$leftMostVisibleTimestampIndex() {
      var t1 = this._timestamps.length,
        t2 = this.__ChartController_visibleXAxisTicks;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1 > t2 ? t1 - t2 : 0;
    },
    timestampToXCanvasCoord$1(timestamp) {
      var visibleIndex,
        index = B.JSArray_methods.indexOf$1(this._timestamps, timestamp);
      if (index >= 0) {
        visibleIndex = this.normalizeTimestampIndex$1(index);
        if (visibleIndex >= 0)
          return visibleIndex * this._tickWidth;
      }
      return -1;
    },
    xCoordToTimestampIndex$1(xCoord) {
      var timestampedIndex, _this = this,
        firstVisibleIndex = _this.get$leftVisibleIndex(),
        index = B.JSNumber_methods.$tdiv(xCoord - 50, _this._tickWidth),
        t1 = _this._timestamps.length,
        t2 = _this.__ChartController_visibleXAxisTicks;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1 - t2;
      if (t2 < 0)
        timestampedIndex = index + t2;
      else
        timestampedIndex = index >= firstVisibleIndex ? index - firstVisibleIndex : index + firstVisibleIndex;
      return timestampedIndex >= 0 ? timestampedIndex : 0;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ChartController_zoomDuration_closure.prototype = {
    call$1(timestamp) {
      if (B.JSInt_methods._tdivFast$1(A.Duration$(0, this.lastDT._value - A.DateTime$fromMillisecondsSinceEpoch(timestamp, false)._value)._duration, 60000000) >= B.JSInt_methods._tdivFast$1(this.duration._duration, 60000000))
        return true;
      return false;
    },
    $signature: 41
  };
  A.TapLocation.prototype = {};
  A._ChartController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A.Data.prototype = {};
  A.DataAggregate.prototype = {};
  A.PaintCharacteristics.prototype = {};
  A.Trace0.prototype = {
    get$symbolPath() {
      var t2, width, height, _this = this,
        t1 = _this._symbolPath;
      if (t1 != null)
        return t1;
      t1 = _this.characteristics;
      switch (t1.symbol.index) {
        case 4:
        case 3:
          t2 = A.Path_Path();
          _this._symbolPath = t2;
          t2.addRect$1(new A.Rect(0, 0, t1.width, t1.height));
          _this._symbolPath.close$0(0);
          t1 = _this._symbolPath;
          t1.toString;
          t1 = _this._symbolPath = t1;
          break;
        case 6:
        case 5:
          width = t1.width;
          height = t1.height;
          t1 = A.Path_Path();
          _this._symbolPath = t1;
          t1.moveTo$2(0, width / 2, 0);
          _this._symbolPath.lineTo$2(0, width, height);
          _this._symbolPath.lineTo$2(0, 0, height);
          _this._symbolPath.close$0(0);
          t1 = _this._symbolPath;
          t1.toString;
          t1 = _this._symbolPath = t1;
          break;
        case 8:
        case 7:
          width = t1.width;
          t2 = A.Path_Path();
          _this._symbolPath = t2;
          t2.lineTo$2(0, width, 0);
          _this._symbolPath.lineTo$2(0, width / 2, t1.height);
          _this._symbolPath.close$0(0);
          t1 = _this._symbolPath;
          t1.toString;
          t1 = _this._symbolPath = t1;
          break;
        default:
          t1 = _this._symbolPath = null;
      }
      return t1;
    },
    addDatum$1(datum) {
      var t1, t2, _this = this;
      _this._chart_trace$_data.push(datum);
      t1 = _this.controller;
      t1.dirty = true;
      if (_this.characteristics.fixedMaxY == null) {
        t2 = datum.y;
        if (t2 > _this.dataYMax) {
          _this.dataYMax = t2;
          A.AxisScale$(0, t2, 30);
        }
      }
      t2 = datum.y;
      if (t2 > t1._yMaxValue)
        t1.set$yMaxValue(t2);
      B.JSArray_methods.indexOf$1(t1.traces, _this);
      t1._traceNotifier.set$value(0, new A.TraceNotifier());
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.TraceNotifier.prototype = {};
  A.ChartType.prototype = {
    toString$0(_) {
      return "ChartType." + this._core$_name;
    }
  };
  A.ChartSymbol.prototype = {
    toString$0(_) {
      return "ChartSymbol." + this._core$_name;
    }
  };
  A.AxisScale.prototype = {
    _exponentFraction$1(range) {
      var t1, exponent;
      if (range === 0) {
        t1 = type$.dynamic;
        return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
      exponent = B.JSNumber_methods.floor$0(Math.log(range) / 2.302585092994046);
      t1 = type$.dynamic;
      return A.LinkedHashMap_LinkedHashMap$_literal(["exponent", exponent, "fraction", range / Math.pow(10, exponent)], t1, t1);
    },
    _niceNum$2(range, round) {
      var niceFraction, exponent, fraction;
      if (range === 0)
        return 0;
      niceFraction = A._Cell$named("niceFraction");
      exponent = B.JSNumber_methods.floor$0(Math.log(range) / 2.302585092994046);
      fraction = range / Math.pow(10, exponent);
      if (fraction <= 1)
        niceFraction.__late_helper$_value = 1;
      else if (fraction <= 2)
        niceFraction.__late_helper$_value = 2;
      else if (fraction <= 3)
        niceFraction.__late_helper$_value = 3;
      else if (fraction <= 5)
        niceFraction.__late_helper$_value = 5;
      else if (fraction <= 7)
        niceFraction.__late_helper$_value = 7;
      else if (fraction <= 10)
        niceFraction.__late_helper$_value = 10;
      return niceFraction._readLocal$0() * Math.pow(10, exponent);
    }
  };
  A.FlameChart.prototype = {
    get$startingContentWidth() {
      return this.containerWidth - this.startInset - this.endInset;
    }
  };
  A.FlameChartState.prototype = {
    get$rowOffsetForTopPadding() {
      return 2;
    },
    get$widthWithZoom() {
      var t1 = this._widget.get$startingContentWidth(),
        t2 = this.currentZoom,
        t3 = this._widget;
      return t1 * t2 + t3.startInset + t3.endInset;
    },
    get$visibleTimeRange() {
      var t2, t3, startMicros, t4, t5, t6, t7, _this = this,
        t1 = _this.__FlameChartState_horizontalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      t1 = J.get$position$x(t1.get$first(t1))._pixels;
      t1.toString;
      t2 = _this._widget;
      t3 = t2.startInset;
      t2 = t2.time._utils$_start;
      startMicros = t1 < t3 ? t2._duration : t2._duration + (t1 - t3) / _this.currentZoom / _this.get$startingPxPerMicro();
      t2 = _this._widget;
      t3 = t2.time._utils$_start._duration;
      t4 = t2.startInset;
      t2 = t2.containerWidth;
      t5 = _this.currentZoom;
      t6 = _this.get$startingPxPerMicro();
      t7 = new A.TimeRange();
      t7.set$start(0, A.Duration$(B.JSNumber_methods.round$0(startMicros), 0));
      t7.set$end(0, A.Duration$(B.JSNumber_methods.round$0(t3 + (t1 - t4 + t2) / t5 / t6), 0));
      return t7;
    },
    get$startingPxPerMicro() {
      var t1 = this._widget.get$startingContentWidth(),
        t2 = this._widget.time,
        t3 = t2._utils$_end;
      t3.toString;
      return t1 / (t3._duration - t2._utils$_start._duration);
    },
    get$maxZoomLevel() {
      var t1 = B.JSNumber_methods.roundToDouble$0(150 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = this._widget,
        t3 = t2.time,
        t4 = t3._utils$_end;
      t4.toString;
      return t1 * (t4._duration - t3._utils$_start._duration) / t2.get$startingContentWidth();
    },
    buildChartOverlays$2(constraints, buildContext) {
      return B.List_empty17;
    },
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      _this.initFlameChartElements$0();
      t1 = A.LinkedScrollControllerGroup$();
      if (_this.__FlameChartState_horizontalControllerGroup !== $)
        A.throwUnnamedLateFieldAI();
      _this.__FlameChartState_horizontalControllerGroup = t1;
      t1 = A.LinkedScrollControllerGroup$();
      if (_this.__FlameChartState_verticalControllerGroup !== $)
        A.throwUnnamedLateFieldAI();
      _this.__FlameChartState_verticalControllerGroup = t1;
      t1 = _this.__FlameChartState_horizontalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__LinkedScrollControllerGroup__offsetNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1, new A.FlameChartState_initState_closure(_this));
      t1 = _this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__LinkedScrollControllerGroup__offsetNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1, new A.FlameChartState_initState_closure0(_this));
      t1 = _this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.addAndGet$0();
      if (_this.__FlameChartState__flameChartScrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__FlameChartState__flameChartScrollController = t1;
      t1 = A.AnimationController$(null, null, 1, null, _this.get$maxZoomLevel(), 1, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_handleZoomControllerValueUpdate());
      if (_this.__FlameChartState_zoomController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__FlameChartState_zoomController = t1;
      t1 = new A.FixedExtentDelegate(new A.FlameChartState_initState_closure1(_this), new A.FlameChartState_initState_closure2(_this), new A._ExtentDelegateChangeNotifier($.$get$ChangeNotifier__emptyListeners()));
      t1.recompute$0();
      t1.recompute$0();
      if (_this.__FlameChartState_verticalExtentDelegate !== $)
        A.throwUnnamedLateFieldAI();
      _this.__FlameChartState_verticalExtentDelegate = t1;
      _this.addAutoDisposeListener$2(_this._widget.activeSearchMatchNotifier, new A.FlameChartState_initState_closure3(_this));
      _this.AutoDisposeMixin__delegate.autoDisposeFocusNode$1(_this.focusNode);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      if (_this._widget.data !== oldWidget.data) {
        _this.initFlameChartElements$0();
        t1 = _this.__FlameChartState_horizontalControllerGroup;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.jumpTo$1(0);
        t1 = _this.__FlameChartState_verticalControllerGroup;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.jumpTo$1(0);
        t1 = _this.__FlameChartState_zoomController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, t1.lowerBound);
        t1 = _this.__FlameChartState_verticalExtentDelegate;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.recompute$0();
      }
      t1 = _this._framework$_element;
      t1.toString;
      A.FocusScope_of(t1).requestFocus$1(_this.focusNode);
      _this.super$State$didUpdateWidget(oldWidget);
    },
    dispose$0() {
      var t1 = this.__FlameChartState_zoomController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.__FlameChartState__flameChartScrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.MouseRegion$(A.RawKeyboardListener$(true, A.Scrollbar$(new A.LayoutBuilder(new A.FlameChartState_build_closure(_this), _null), t1, _null, _null, true), _this.focusNode, new A.FlameChartState_build_closure0(_this)), B.C__DeferringMouseCursor, _null, _null, _null, _this.get$_handleMouseHover());
    },
    _buildFlameChart$1(constraints) {
      var t2, _this = this,
        t1 = _this.__FlameChartState__flameChartScrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.__FlameChartState_verticalExtentDelegate;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.ExtentDelegateListView$(new A.SliverChildBuilderDelegate(new A.FlameChartState__buildFlameChart_closure(_this, constraints), _this.rows.length, false, true, true, A.sliver___kDefaultSemanticIndexCallback$closure(), null), t1, _this.get$_handlePointerSignal(), t2, B.ClampingScrollPhysics_null, B.Axis_1);
    },
    initFlameChartElements$0() {
      B.JSArray_methods.clear$0(this.rows);
      B.JSArray_methods.clear$0(this.sections);
    },
    expandRows$1(newRowLength) {
      var t2, t3, i,
        t1 = this.rows,
        currentLength = t1.length;
      for (t2 = A._instanceType(this), t3 = t2._eval$1("JSArray<FlameChartNode<FlameChartState.V>>"), t2 = t2._eval$1("FlameChartRow<FlameChartState.V>"), i = currentLength; i < newRowLength; ++i)
        t1.push(new A.FlameChartRow(A._setArrayType([], t3), i, t2));
    },
    _handleMouseHover$1($event) {
      this.mouseHoverX = $event.get$localPosition()._dx;
    },
    _handlePointerSignal$1($event) {
      return this._handlePointerSignal$body$FlameChartState($event);
    },
    _handlePointerSignal$body$FlameChartState($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, deltaY, t2, t3, t4, newZoomLevel;
      var $async$_handlePointerSignal$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 = type$.PointerScrollEvent._is($event) ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $event.get$scrollDelta();
              deltaY = $event.get$scrollDelta()._dy;
              $async$goto = Math.abs(deltaY) >= Math.abs(t1._dx) ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = $async$self._altKeyPressed ? 6 : 8;
              break;
            case 6:
              // then
              t1 = $async$self.__FlameChartState_verticalControllerGroup;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t1.get$_attachedControllers();
              t2 = J.get$position$x(t2.get$first(t2))._pixels;
              t2.toString;
              t3 = $async$self.__FlameChartState_verticalControllerGroup;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t3 = t3.get$_attachedControllers();
              t3 = t3.get$first(t3);
              t4 = J.getInterceptor$x(t3);
              t3 = type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(t4, t3))._maxScrollExtent;
              t3.toString;
              t1.jumpTo$1(Math.max(Math.min(t2 + deltaY, t3), 0));
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              deltaY = B.JSNumber_methods.clamp$2(deltaY, -20, 20);
              t1 = $async$self.currentZoom;
              newZoomLevel = B.JSNumber_methods.clamp$2(t1 + deltaY * (0.01 * t1), 1, $async$self.get$maxZoomLevel());
              $async$goto = 9;
              return A._asyncAwait($async$self.zoomTo$2$jump(newZoomLevel, true), $async$_handlePointerSignal$1);
            case 9:
              // returning from await.
              if (newZoomLevel === 1) {
                t1 = $async$self.__FlameChartState_horizontalControllerGroup;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1 = t1.get$_attachedControllers();
                t1 = J.get$position$x(t1.get$first(t1))._pixels;
                t1.toString;
                t1 = t1 !== 0;
              } else
                t1 = false;
              $async$goto = t1 ? 10 : 11;
              break;
            case 10:
              // then
              $async$goto = 12;
              return A._asyncAwait($async$self.scrollToX$1(0), $async$_handlePointerSignal$1);
            case 12:
              // returning from await.
            case 11:
              // join
            case 7:
              // join
            case 5:
              // join
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handlePointerSignal$1, $async$completer);
    },
    _handleZoomControllerValueUpdate$0() {
      var t2, safeMouseHoverX, t3, fixedX, newScrollOffset, _this = this,
        previousZoom = _this.currentZoom,
        t1 = _this.__FlameChartState_zoomController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (previousZoom === t1)
        return;
      t2 = _this.__FlameChartState_horizontalControllerGroup;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.get$_attachedControllers();
      t2 = J.get$position$x(t2.get$first(t2))._pixels;
      t2.toString;
      safeMouseHoverX = _this.mouseHoverX;
      if (safeMouseHoverX == null)
        safeMouseHoverX = _this._widget.containerWidth / 2;
      t3 = _this._widget.startInset;
      fixedX = safeMouseHoverX + t2 - t3;
      if (fixedX >= 0)
        newScrollOffset = fixedX * t1 / previousZoom + t3 - safeMouseHoverX;
      else
        newScrollOffset = t2;
      _this.setState$1(new A.FlameChartState__handleZoomControllerValueUpdate_closure(_this, newScrollOffset));
    },
    zoomTo$3$forceMouseX$jump(zoom, forceMouseX, jump) {
      return this.zoomTo$body$FlameChartState(zoom, forceMouseX, jump);
    },
    zoomTo$1(zoom) {
      return this.zoomTo$3$forceMouseX$jump(zoom, null, false);
    },
    zoomTo$2$jump(zoom, jump) {
      return this.zoomTo$3$forceMouseX$jump(zoom, null, jump);
    },
    zoomTo$body$FlameChartState(zoom, forceMouseX, jump) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3;
      var $async$zoomTo$3$forceMouseX$jump = 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 (forceMouseX != null)
                $async$self.mouseHoverX = forceMouseX;
              t1 = $async$self.__FlameChartState_zoomController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = B.JSNumber_methods.clamp$2(zoom, 1, $async$self.get$maxZoomLevel());
              t3 = jump ? B.Duration_0 : B.Duration_50000;
              t1._direction = B._AnimationDirection_0;
              $async$goto = 2;
              return A._asyncAwait(t1._animateToInternal$3$curve$duration(t2, B.C__Linear, t3), $async$zoomTo$3$forceMouseX$jump);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$zoomTo$3$forceMouseX$jump, $async$completer);
    },
    scrollToX$2$jump(offset, jump) {
      return this.scrollToX$body$FlameChartState(offset, jump);
    },
    scrollToX$1(offset) {
      return this.scrollToX$2$jump(offset, false);
    },
    scrollToX$body$FlameChartState(offset, jump) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, target, t1;
      var $async$scrollToX$2$jump = 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.__FlameChartState_horizontalControllerGroup;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1.get$_attachedControllers();
              t1 = t1.get$first(t1);
              t2 = J.getInterceptor$x(t1);
              t1 = type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(t2, t1))._maxScrollExtent;
              t1.toString;
              target = B.JSNumber_methods.clamp$2(offset, 0, t1);
              t1 = $async$self.__FlameChartState_horizontalControllerGroup;
              $async$goto = jump ? 2 : 4;
              break;
            case 2:
              // then
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.jumpTo$1(target);
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.animateTo$3$curve$duration(target, B.Cubic_oKc, B.Duration_50000), $async$scrollToX$2$jump);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$scrollToX$2$jump, $async$completer);
    },
    scrollVerticallyToData$1(data) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, t5, t1;
      var $async$scrollVerticallyToData$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.__FlameChartState_verticalControllerGroup;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = $async$self.topYForData$1(data);
              t3 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
              t4 = $async$self.__FlameChartState_verticalControllerGroup;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t4 = t4.get$_attachedControllers();
              t4 = t4.get$first(t4);
              t5 = J.getInterceptor$x(t4);
              t4 = type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(t5, t4))._maxScrollExtent;
              t4.toString;
              $async$goto = 2;
              return A._asyncAwait(t1.animateTo$3$curve$duration(B.JSNumber_methods.clamp$2(t2 - 2 * (t3 + 2), 0, t4), B.Cubic_oKc, B.Duration_50000), $async$scrollVerticallyToData$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$scrollVerticallyToData$1, $async$completer);
    },
    scrollHorizontallyToData$1(data) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$scrollHorizontallyToData$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.startXForData$1(data);
              t2 = $async$self._widget;
              $async$goto = 2;
              return A._asyncAwait($async$self.scrollToX$1(t1 + t2.startInset - t2.containerWidth * 0.1), $async$scrollHorizontallyToData$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$scrollHorizontallyToData$1, $async$completer);
    },
    zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros(data, durationMicros, jumpZoom, scrollVertically, startMicros) {
      return this.zoomAndScrollToData$body$FlameChartState(data, durationMicros, true, scrollVertically, startMicros);
    },
    zoomAndScrollToData$4$data$durationMicros$jumpZoom$startMicros(data, durationMicros, jumpZoom, startMicros) {
      return this.zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros(data, durationMicros, jumpZoom, true, startMicros);
    },
    zoomAndScrollToData$body$FlameChartState(data, durationMicros, jumpZoom, scrollVertically, startMicros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros = 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.zoomToTimeRange$3$durationMicros$jump$startMicros(durationMicros, true, startMicros), $async$zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros);
            case 2:
              // returning from await.
              $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.FlameChartState_zoomAndScrollToData_closure($async$self, data, scrollVertically));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros, $async$completer);
    },
    zoomToTimeRange$3$durationMicros$jump$startMicros(durationMicros, jump, startMicros) {
      return this.zoomToTimeRange$body$FlameChartState(durationMicros, true, startMicros);
    },
    zoomToTimeRange$body$FlameChartState(durationMicros, jump, startMicros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$zoomToTimeRange$3$durationMicros$jump$startMicros = 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._widget.containerWidth;
              $async$goto = 2;
              return A._asyncAwait($async$self.zoomTo$3$forceMouseX$jump(t1 * 0.8 / (durationMicros * $async$self.get$startingPxPerMicro()), (startMicros - $async$self._widget.time._utils$_start._duration + durationMicros / 2) * $async$self.get$startingPxPerMicro() + $async$self._widget.startInset, true), $async$zoomToTimeRange$3$durationMicros$jump$startMicros);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$zoomToTimeRange$3$durationMicros$jump$startMicros, $async$completer);
    }
  };
  A.FlameChartState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.FlameChartState_initState__closure0(t1));
    },
    $signature: 0
  };
  A.FlameChartState_initState__closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__FlameChartState_horizontalControllerGroup;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.get$_attachedControllers();
      t2 = J.get$position$x(t2.get$first(t2))._pixels;
      t2.toString;
      t1.horizontalScrollOffset = t2;
    },
    $signature: 0
  };
  A.FlameChartState_initState_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.FlameChartState_initState__closure(t1));
    },
    $signature: 0
  };
  A.FlameChartState_initState__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__FlameChartState_verticalControllerGroup;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.get$_attachedControllers();
      t2 = J.get$position$x(t2.get$first(t2))._pixels;
      t2.toString;
      t1.verticalScrollOffset = t2;
    },
    $signature: 0
  };
  A.FlameChartState_initState_closure1.prototype = {
    call$1(index) {
      return this.$this.rows[index].nodes.length === 0 ? B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2;
    },
    $signature: 45
  };
  A.FlameChartState_initState_closure2.prototype = {
    call$0() {
      return this.$this.rows.length;
    },
    $signature: 60
  };
  A.FlameChartState_initState_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, activeSearch;
      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;
              activeSearch = A._instanceType(t1)._eval$1("FlameChartState.V?")._as(t1._widget.activeSearchMatchNotifier._change_notifier$_value);
              if (activeSearch == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = !t1.isDataVerticallyInView$1(activeSearch) ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1.scrollVerticallyToData$1(activeSearch), $async$call$0);
            case 5:
              // returning from await.
            case 4:
              // join
              $async$goto = !t1.isDataHorizontallyInView$1(activeSearch) ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait(t1.scrollHorizontallyToData$1(activeSearch), $async$call$0);
            case 8:
              // returning from await.
            case 7:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.FlameChartState_build_closure0.prototype = {
    call$1($event) {
      var keyLabel,
        t1 = this.$this,
        t2 = $.$get$RawKeyboard_instance()._keysPressed,
        t3 = t2.get$values(t2);
      if (!A.LinkedHashSet_LinkedHashSet$of(t3, A._instanceType(t3)._eval$1("Iterable.E")).contains$1(0, B.LogicalKeyboardKey_8589934852)) {
        t2 = t2.get$values(t2);
        t2 = A.LinkedHashSet_LinkedHashSet$of(t2, A._instanceType(t2)._eval$1("Iterable.E")).contains$1(0, B.LogicalKeyboardKey_8589934853);
      } else
        t2 = true;
      if (t2)
        t1._altKeyPressed = true;
      else
        t1._altKeyPressed = false;
      if ($event instanceof A.RawKeyDownEvent) {
        keyLabel = $event.data.get$keyLabel();
        if (keyLabel === "w") {
          t2 = t1.get$maxZoomLevel();
          t3 = t1.currentZoom;
          t1.zoomTo$1(Math.min(t2, t3 + t3 * 0.5));
        } else if (keyLabel === "s") {
          t2 = t1.currentZoom;
          t1.zoomTo$1(Math.max(1, t2 - t2 / 3));
        } else if (keyLabel === "a") {
          t2 = t1.__FlameChartState_horizontalControllerGroup;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2 = t2.get$_attachedControllers();
          t2 = J.get$position$x(t2.get$first(t2))._pixels;
          t2.toString;
          t1.scrollToX$1(t2 - t1._widget.containerWidth * 0.25);
        } else if (keyLabel === "d") {
          t2 = t1.__FlameChartState_horizontalControllerGroup;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2 = t2.get$_attachedControllers();
          t2 = J.get$position$x(t2.get$first(t2))._pixels;
          t2.toString;
          t1.scrollToX$1(t2 + t1._widget.containerWidth * 0.25);
        }
      }
      return null;
    },
    $signature: 113
  };
  A.FlameChartState_build_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this,
        chartOverlays = t1.buildChartOverlays$2(constraints, context),
        flameChart = t1._buildFlameChart$1(constraints);
      if (chartOverlays.length !== 0) {
        t1 = A._setArrayType([flameChart], type$.JSArray_Widget);
        B.JSArray_methods.addAll$1(t1, chartOverlays);
        t1 = new A.Stack(B.AlignmentDirectional_m1_m1, null, B.StackFit_0, B.Clip_1, t1, null);
      } else
        t1 = flameChart;
      return t1;
    },
    $signature: 75
  };
  A.FlameChartState__buildFlameChart_closure.prototype = {
    call$2(context, index) {
      var rowBackgroundColor, i, t3, t4, t5,
        t1 = this.$this,
        t2 = t1.rows,
        nodes = t2[index].nodes;
      if (index >= t1.get$rowOffsetForTopPadding() && nodes.length === 0) {
        i = index;
        while (true) {
          if (!(i >= t1.get$rowOffsetForTopPadding())) {
            rowBackgroundColor = B.Color_0;
            break;
          }
          t3 = t2[i].nodes;
          if (t3.length !== 0) {
            t2 = B.JSArray_methods.get$first(t3).sectionIndex;
            t3 = A.Theme_of(context).colorScheme;
            if (B.JSInt_methods.$mod(t2, 2) === 1)
              rowBackgroundColor = t3.brightness === B.Brightness_1 ? B.Color_4294638330 : B.Color_4281348144;
            else if (t3.brightness === B.Brightness_1) {
              t2 = A.ColorExtension_darken(B.Color_4294638330, 0.05);
              rowBackgroundColor = t2;
            } else {
              t2 = A.ColorExtension_brighten(B.Color_4281348144);
              rowBackgroundColor = t2;
            }
            break;
          }
          --i;
        }
      } else if (nodes.length !== 0) {
        t2 = B.JSArray_methods.get$first(nodes).sectionIndex;
        t3 = A.Theme_of(context).colorScheme;
        if (B.JSInt_methods.$mod(t2, 2) === 1)
          rowBackgroundColor = A.DevToolsColorScheme_get_defaultBackgroundColor(t3);
        else
          rowBackgroundColor = t3.brightness === B.Brightness_1 ? A.ColorExtension_darken(A.DevToolsColorScheme_get_defaultBackgroundColor(t3), 0.05) : A.ColorExtension_brighten(A.DevToolsColorScheme_get_defaultBackgroundColor(t3));
      } else
        rowBackgroundColor = B.Color_0;
      t2 = t1.__FlameChartState_horizontalControllerGroup;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = Math.max(this.constraints.maxWidth, t1.get$widthWithZoom());
      t4 = t1._widget;
      t5 = A._instanceType(t1);
      return new A.ScrollingFlameChartRow(t2, nodes, t3, t4.startInset, t5._eval$1("ValueListenable<FlameChartState.V?>")._as(t4.selectionNotifier), t5._eval$1("ValueListenable<List<FlameChartState.V>>?")._as(t4.searchMatchesNotifier), t5._eval$1("ValueListenable<FlameChartState.V?>?")._as(t4.activeSearchMatchNotifier), t1.focusNode.get$requestFocus(), rowBackgroundColor, t1.currentZoom, null, t5._eval$1("ScrollingFlameChartRow<FlameChartState.V>"));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("ScrollingFlameChartRow<FlameChartState.V>(BuildContext,int)");
    }
  };
  A.FlameChartState__handleZoomControllerValueUpdate_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__FlameChartState_zoomController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.currentZoom = t2;
      t1.scrollToX$2$jump(this.newScrollOffset, true);
    },
    $signature: 0
  };
  A.FlameChartState_zoomAndScrollToData_closure.prototype = {
    call$1(_) {
      return this.$call$body$FlameChartState_zoomAndScrollToData_closure(_);
    },
    $call$body$FlameChartState_zoomAndScrollToData_closure(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3;
      var $async$call$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.$this;
              t2 = $async$self.data;
              t3 = A._setArrayType([t1.scrollHorizontallyToData$1(t2)], type$.JSArray_Future_void);
              if ($async$self.scrollVertically)
                t3.push(t1.scrollVerticallyToData$1(t2));
              $async$goto = 2;
              return A._asyncAwait(A.Future_wait(t3, type$.void), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 259
  };
  A.ScrollingFlameChartRow.prototype = {
    createState$0() {
      return new A.ScrollingFlameChartRowState(A.Disposer$(), B._StateLifecycle_0, this.$ti._eval$1("ScrollingFlameChartRowState<1>"));
    },
    onTapUp$0() {
      return this.onTapUp.call$0();
    }
  };
  A.ScrollingFlameChartRowState.prototype = {
    initState$0() {
      var t1, t2, t3, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.linkedScrollControllerGroup.addAndGet$0();
      if (_this.__ScrollingFlameChartRowState_scrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__ScrollingFlameChartRowState_scrollController = t1;
      t1 = _this._widget;
      t2 = t1.nodes;
      t3 = t1.zoom;
      t3 = A.NodeListExtension_toPaddedZoomedIntervals(t2, t1.startInset, t1.width, t3);
      _this._widget.toString;
      t1 = new A._ExtentDelegateChangeNotifier($.$get$ChangeNotifier__emptyListeners());
      t1.notifyListeners$0();
      if (_this.__ScrollingFlameChartRowState_extentDelegate !== $)
        A.throwUnnamedLateFieldAI();
      _this.__ScrollingFlameChartRowState_extentDelegate = new A._ScrollingFlameChartRowExtentDelegate(t3, t1);
      _this._initNodeDataList$0();
      t1 = _this._widget.selectionNotifier;
      _this.selected = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A.ScrollingFlameChartRowState_initState_closure(_this));
      _this.addAutoDisposeListener$1(_this._widget.searchMatchesNotifier);
      _this.addAutoDisposeListener$1(_this._widget.activeSearchMatchNotifier);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, t4, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.nodes;
      if (t1 !== _this._widget.nodes)
        _this._initNodeDataList$0();
      t2 = _this._widget;
      t3 = t2.nodes;
      if (t1 !== t3 || oldWidget.zoom !== t2.zoom || oldWidget.width !== t2.width || oldWidget.startInset !== t2.startInset) {
        t1 = _this.__ScrollingFlameChartRowState_extentDelegate;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t2.zoom;
        t4 = A.NodeListExtension_toPaddedZoomedIntervals(t3, t2.startInset, t2.width, t4);
        _this._widget.toString;
        t1.nodeIntervals = t4;
        t1._layoutDirty.notifyListeners$0();
      }
      _this.hovered = null;
    },
    dispose$0() {
      this.super$_ScrollingFlameChartRowState_State_AutoDisposeMixin$dispose();
      var t1 = this.__ScrollingFlameChartRowState_scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose();
      this.hovered = null;
    },
    _initNodeDataList$0() {
      var _this = this,
        t1 = _this._widget.nodes,
        t2 = A._arrayInstanceType(t1)._eval$1("@<1>")._bind$1(_this.$ti._precomputed1)._eval$1("MappedListIterable<1,2>");
      _this.__ScrollingFlameChartRowState__nodeData = A.List_List$of(new A.MappedListIterable(t1, new A.ScrollingFlameChartRowState__initNodeDataList_closure(_this), t2), true, t2._eval$1("ListIterable.E"));
    },
    build$1(context) {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      if (_this._widget.nodes.length === 0) {
        t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t2 = _this._widget;
        return new A.EmptyFlameChartRow(t1, t2.width, t2.backgroundColor, _null);
      }
      t1 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = _this._widget;
      t3 = t2.width;
      t4 = t2.backgroundColor;
      t5 = _this.__ScrollingFlameChartRowState_scrollController;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = _this.__ScrollingFlameChartRowState_extentDelegate;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      return A.MouseRegion$(A.GestureDetector$(B.HitTestBehavior_1, A.Container$(_null, A.ExtentDelegateListView$(new A.SliverChildBuilderDelegate(new A.ScrollingFlameChartRowState_build_closure(_this), t2.nodes.length, false, false, true, A.sliver___kDefaultSemanticIndexCallback$closure(), _null), t5, _null, t6, _null, B.Axis_0), B.Clip_0, t4, _null, _null, _null, t1 + 2, _null, _null, _null, _null, _null, t3), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_flame_chart$_handleTapUp(), _null, _null, _null), B.C__DeferringMouseCursor, _null, _null, _null, _this.get$_handleMouseHover());
    },
    _handleMouseHover$1($event) {
      var hoverNodeData, _this = this,
        t1 = $event.get$localPosition(),
        t2 = _this.__ScrollingFlameChartRowState_scrollController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      t2 = _this.binarySearchForNode$1(t1._dx + t2);
      hoverNodeData = t2 == null ? null : t2.data;
      if (hoverNodeData != _this.hovered)
        _this.setState$1(new A.ScrollingFlameChartRowState__handleMouseHover_closure(_this, hoverNodeData));
    },
    _flame_chart$_handleTapUp$1(details) {
      var nodeToSelect, _this = this,
        tapPosition = type$.RenderBox._as(_this._framework$_element.get$renderObject()).globalToLocal$1(details.globalPosition),
        t1 = _this.__ScrollingFlameChartRowState_scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$position(t1)._pixels;
      t1.toString;
      nodeToSelect = _this.binarySearchForNode$1(tapPosition._dx + t1);
      if (nodeToSelect != null) {
        t1 = nodeToSelect.data;
        nodeToSelect.onSelected.call$1(t1);
      }
      _this._widget.onTapUp$0();
    },
    binarySearchForNode$1(x) {
      var min, mid, t1, node, zoomedNodeRect,
        max = this._widget.nodes.length;
      for (min = 0; min < max;) {
        mid = min + B.JSInt_methods._shrOtherPositive$1(max - min, 1);
        t1 = this._widget;
        node = t1.nodes[mid];
        zoomedNodeRect = node.zoomedRect$2(t1.zoom, t1.startInset);
        t1 = zoomedNodeRect.left;
        if (x >= t1 && x <= zoomedNodeRect.right)
          return node;
        if (x < t1)
          max = mid;
        if (x > zoomedNodeRect.right)
          min = mid + 1;
      }
      return null;
    }
  };
  A.ScrollingFlameChartRowState_initState_closure.prototype = {
    call$0() {
      var t3, containsPreviousSelected, containsNewSelected,
        t1 = this.$this,
        t2 = t1.selected;
      if (t2 != null) {
        t3 = t1.__ScrollingFlameChartRowState__nodeData;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        containsPreviousSelected = B.JSArray_methods.contains$1(t3, t2);
      } else
        containsPreviousSelected = false;
      t2 = t1._widget.selectionNotifier._change_notifier$_value;
      t1.selected = t2;
      t3 = t1.__ScrollingFlameChartRowState__nodeData;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      containsNewSelected = B.JSArray_methods.contains$1(t3, t2);
      if (containsPreviousSelected || containsNewSelected)
        t1.setState$1(new A.ScrollingFlameChartRowState_initState__closure());
    },
    $signature: 0
  };
  A.ScrollingFlameChartRowState_initState__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.ScrollingFlameChartRowState__initNodeDataList_closure.prototype = {
    call$1(node) {
      return node.data;
    },
    $signature() {
      return this.$this.$ti._eval$1("1(FlameChartNode<1>)");
    }
  };
  A.ScrollingFlameChartRowState_build_closure.prototype = {
    call$2(context, index) {
      var t1 = this.$this,
        t2 = t1._widget,
        t3 = t2.nodes,
        t4 = t3[index].data;
      return new A.FlameChartNodeWidget(index, t3, t2.zoom, t2.startInset, t2.width, t4 === t1.selected, t4 === t1.hovered, null);
    },
    $signature: 932
  };
  A.ScrollingFlameChartRowState__handleMouseHover_closure.prototype = {
    call$0() {
      this.$this.hovered = this.hoverNodeData;
    },
    $signature: 0
  };
  A.FlameChartNodeWidget.prototype = {
    build$1(context) {
      var _this = this,
        t1 = _this.nodes,
        t2 = _this.index,
        node = t1[t2],
        t3 = _this.zoom,
        t4 = _this.startInset,
        t5 = A.FlameChartUtils_leftPaddingForNode(t2, t1, t4, t3);
      t4 = A.FlameChartUtils_rightPaddingForNode(t2, t1, t4, _this.chartWidth, t3);
      t1 = node.data;
      t2 = t1.DataSearchStateMixin_isSearchMatch;
      t1 = t1.DataSearchStateMixin_isActiveSearchMatch;
      return new A.Padding(new A.EdgeInsets(t5, 0, t4, 2), node.buildWidget$6$activeSearchMatch$colorScheme$hovered$searchMatch$selected$zoom(t1, A.Theme_of(context).colorScheme, _this.hovered, t2, _this.selected, t3), null);
    }
  };
  A.FlameChartSection.prototype = {};
  A.FlameChartRow.prototype = {
    addNode$1(node) {
      this.nodes.push(node);
      node.__FlameChartNode_row = this;
    }
  };
  A.FlameChartDataMixin.prototype = {$isDataSearchStateMixin: 1};
  A.FlameChartNode.prototype = {
    buildWidget$6$activeSearchMatch$colorScheme$hovered$searchMatch$selected$zoom(activeSearchMatch, colorScheme, hovered, searchMatch, selected, zoom) {
      var t2, t3, t4, node, _this = this, _null = null,
        t1 = _this.rect,
        zoomedWidth = Math.max(0, (t1.right - t1.left) * zoom);
      if (zoomedWidth < 0.5)
        return A.SizedBox$(_null, _null, zoomedWidth);
      t2 = hovered ? _null : _this.key;
      t3 = _this._flame_chart$_backgroundColor$4$activeSearchMatch$colorScheme$searchMatch$selected(0, activeSearchMatch, colorScheme, searchMatch, selected);
      t4 = zoomedWidth >= 30 ? A.Text$(_this.text, _null, _null, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, _this._flame_chart$_textColor$4$activeSearchMatch$colorScheme$searchMatch$selected(activeSearchMatch, colorScheme, searchMatch, selected), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_0, _null, _null, _null) : B.SizedBox_null_null_null_null;
      node = A.Container$(B.Alignment_m1_0, t4, B.Clip_0, t3, _null, _null, _null, t1.bottom - t1.top, t2, _null, B.EdgeInsets_6_0_6_0, _null, _null, zoomedWidth);
      if (hovered || false)
        return A.DevToolsTooltip$(node, _null, _this.key, _this.data.get$tooltip(), B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
      else
        return node;
    },
    _flame_chart$_backgroundColor$4$activeSearchMatch$colorScheme$searchMatch$selected(_, activeSearchMatch, colorScheme, searchMatch, selected) {
      var t1;
      if (selected)
        return B.Color_4281779956;
      if (activeSearchMatch)
        return B.MaterialAccentColor_Map_iTsEs_4294945600;
      if (searchMatch)
        return B.MaterialColor_Map_JNHRl_4294961979;
      t1 = this.colorPair.background;
      return colorScheme.brightness === B.Brightness_1 ? t1.light : t1.dark;
    },
    _flame_chart$_textColor$4$activeSearchMatch$colorScheme$searchMatch$selected(activeSearchMatch, colorScheme, searchMatch, selected) {
      var t1;
      if (selected || searchMatch || activeSearchMatch)
        return B.Color_4278190080;
      t1 = this.colorPair.foreground;
      return colorScheme.brightness === B.Brightness_1 ? t1.light : t1.dark;
    },
    zoomedRect$2(zoom, chartStartInset) {
      var t1 = this.rect,
        t2 = t1.left,
        zoomedLeft = Math.max(0, (t2 - chartStartInset) * zoom + chartStartInset),
        t3 = t1.top;
      return new A.Rect(zoomedLeft, t3, zoomedLeft + Math.max(0, (t1.right - t2) * zoom), t3 + (t1.bottom - t3));
    }
  };
  A.FlameChartColorMixin.prototype = {};
  A._ScrollingFlameChartRowExtentDelegate.prototype = {
    itemExtent$1(index) {
      var t1 = this.nodeIntervals;
      if (index >= t1.length)
        return 0;
      t1 = t1[index];
      return t1.end - t1.begin;
    },
    layoutOffset$1(index) {
      var t1;
      index.toString;
      if (index <= 0)
        return 0;
      t1 = this.nodeIntervals;
      if (index >= t1.length)
        return B.JSArray_methods.get$last(t1).end;
      return t1[index].begin;
    },
    get$length(_) {
      return this.nodeIntervals.length;
    },
    minChildIndexForScrollOffset$1(scrollOffset) {
      var t1,
        index = A.lowerBound(this.nodeIntervals, new A.Range(scrollOffset, scrollOffset + 1), new A._ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure(), type$.Range);
      if (index === 0)
        return 0;
      t1 = this.nodeIntervals;
      return index >= t1.length || Math.abs(t1[index].begin - scrollOffset) > 1e-10 ? index - 1 : index;
    },
    maxChildIndexForScrollOffset$1(endScrollOffset) {
      var index = A.lowerBound(this.nodeIntervals, new A.Range(endScrollOffset, endScrollOffset + 1), new A._ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure(), type$.Range);
      if (index === 0)
        return 0;
      return index - 1;
    }
  };
  A._ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(a.begin, b.begin);
    },
    $signature: 146
  };
  A._ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(a.begin, b.begin);
    },
    $signature: 146
  };
  A.FlameChartPainter.prototype = {
    get$visibleRect() {
      var t1 = this.horizontalScrollOffset,
        t2 = this.verticalScrollOffset,
        t3 = this.constraints;
      return new A.Rect(t1, t2, t1 + t3.maxWidth, t2 + t3.maxHeight);
    },
    shouldRepaint$1(oldDelegate) {
      var _this = this;
      if (oldDelegate instanceof A.FlameChartPainter)
        return _this.verticalScrollOffset !== oldDelegate.verticalScrollOffset || _this.horizontalScrollOffset !== oldDelegate.horizontalScrollOffset || !_this.constraints.$eq(0, oldDelegate.constraints) || _this.zoom !== oldDelegate.zoom || _this.chartStartInset !== oldDelegate.chartStartInset || !oldDelegate.colorScheme.$eq(0, _this.colorScheme);
      return true;
    }
  };
  A.TimelineGridPainter.prototype = {
    paint$2(canvas, size) {
      var t3, t4, t5, t6, gridZoomFactor, intervalWidth, contentWidth, numCompleteIntervals, microsPerInterval, timestampMicros, lineX, t7, textPainter, xOffset, _this = this, _null = null,
        visible = _this.get$visibleRect(),
        t1 = _this.constraints,
        t2 = t1.maxWidth;
      t1 = t1.maxHeight;
      t3 = Math.min(t1, B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      t4 = $.$get$useCanvasKit();
      t5 = t4 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t6 = _this.colorScheme;
      t5.set$color(0, A.DevToolsColorScheme_get_defaultBackgroundColor(t6));
      canvas.drawRect$2(new A.Rect(0, 0, 0 + t2, 0 + t3), t5);
      t5 = _this.zoom;
      gridZoomFactor = Math.pow(2, B.JSNumber_methods.floor$0(Math.log(B.JSNumber_methods.floor$0(t5)) / Math.log(2)));
      intervalWidth = B.JSNumber_methods.roundToDouble$0(150 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) / gridZoomFactor * t5;
      t5 = _this.chartStartInset;
      contentWidth = _this.flameChartWidth - t5 - _this.chartEndInset;
      numCompleteIntervals = B.JSNumber_methods.$tdiv(contentWidth, intervalWidth);
      t3 = _this.duration._duration;
      microsPerInterval = B.JSNumber_methods.round$0((t3 - (contentWidth - numCompleteIntervals * intervalWidth) * t3 / contentWidth) / numCompleteIntervals);
      t3 = _this.horizontalScrollOffset;
      timestampMicros = (t3 < t5 ? 0 : B.JSNumber_methods.$tdiv(t3 - t5, intervalWidth) + 1) * microsPerInterval;
      t3 = visible.left;
      lineX = t3 <= t5 ? t5 - t3 : intervalWidth - B.JSNumber_methods.$mod(t3 - t5, intervalWidth);
      for (t3 = t6.brightness === B.Brightness_1; lineX < t2;) {
        t5 = timestampMicros === 0 ? 1 : 3;
        t5 = B.JSNumber_methods.toStringAsFixed$1(timestampMicros / 1000, t5);
        t6 = t3 ? B.Color_4278190080 : B.Color_4294967295;
        t7 = B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        textPainter = new A.TextPainter(A.TextSpan$(_null, _null, _null, new A.TextStyle(true, t6, _null, _null, _null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), t5 + " ms"), B.TextAlign_1, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        textPainter.layout$1$maxWidth(intervalWidth);
        t5 = textPainter._textWidthBasis;
        t6 = textPainter._paragraph;
        t5 = t5 === B.TextWidthBasis_1 ? t6.get$longestLine() : t6.get$width(t6);
        xOffset = lineX - Math.ceil(t5) - 6;
        if (xOffset > 0)
          textPainter.paint$2(canvas, new A.Offset(xOffset, 2));
        t5 = t4 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t5.set$color(0, t3 ? B.Color_4291611852 : B.Color_4283979864);
        canvas.drawLine$3(new A.Offset(lineX, 0), new A.Offset(lineX, t1), t5);
        lineX += intervalWidth;
        timestampMicros += microsPerInterval;
      }
    },
    shouldRepaint$1(oldDelegate) {
      return !this.$eq(0, oldDelegate);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (!(other instanceof A.TimelineGridPainter))
        return false;
      if (_this.zoom === other.zoom)
        if (_this.constraints.$eq(0, other.constraints))
          if (_this.flameChartWidth === other.flameChartWidth)
            if (_this.horizontalScrollOffset === other.horizontalScrollOffset) {
              t1 = other.duration;
              t1 = _this.duration._duration === t1._duration && _this.colorScheme.$eq(0, other.colorScheme);
            } else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.zoom, _this.constraints, _this.flameChartWidth, _this.horizontalScrollOffset, _this.duration, _this.colorScheme, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.FlameChartHelpButton.prototype = {
    build$1(context) {
      return new A.HelpButton(new A.FlameChartHelpButton_build_closure(this, context), this.gaScreen, this.gaSelection, null);
    }
  };
  A.FlameChartHelpButton_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      A.select(t1.gaScreen, t1.gaSelection, false, null);
      A.showDialog(true, new A.FlameChartHelpButton_build__closure(t1), this.context, type$.dynamic);
    },
    $signature: 0
  };
  A.FlameChartHelpButton_build__closure.prototype = {
    call$1(context) {
      return new A._FlameChartHelpDialog(this.$this.additionalInfo, null);
    },
    $signature: 944
  };
  A._FlameChartHelpDialog.prototype = {
    build$1(context) {
      var t7, _null = null,
        _s10_ = "RobotoMono",
        _s22_ = "Pan chart left / right",
        _s13_ = "zoom in / out",
        theme = A.Theme_of(context),
        t1 = theme.textTheme,
        t2 = A.Text$("Flame Chart Help", _null, _null, _null, _null, _null, t1.titleLarge, _null, _null, _null, _null),
        t3 = t1.titleMedium,
        t4 = type$.JSArray_Widget,
        t5 = A.List_List$of(A._setArrayType([A.Text$("Navigation", _null, _null, _null, _null, _null, t3, _null, _null, _null, _null), B.PaddedDivider_wEo], t4), true, type$.Widget),
        t6 = B.JSNumber_methods.roundToDouble$0(190 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t1 = t1.bodyMedium;
      t7 = theme.unselectedWidgetColor;
      t5.push(A.Row$(A._setArrayType([A.SizedBox$(A.Column$(A._setArrayType([A.Text$("click + drag \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null), A.Text$("click + fling \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null), A.Text$("alt/option + scroll \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null), A.Text$("scroll left / right \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null), A.Text$("a / d \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null)], t4), B.CrossAxisAlignment_1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null, t6), A.Column$(A._setArrayType([A.Text$("Pan chart up / down / left / right", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), A.Text$("Fling chart up / down / left / right", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), A.Text$("Pan chart up / down", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), A.Text$(_s22_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), A.Text$(_s22_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], t4), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
      t5.push(B.SizedBox_null_8_null_null);
      B.JSArray_methods.addAll$1(t5, A._setArrayType([A.Text$("Zoom", _null, _null, _null, _null, _null, t3, _null, _null, _null, _null), B.PaddedDivider_wEo], t4));
      t3 = B.JSNumber_methods.roundToDouble$0(190 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t5.push(A.Row$(A._setArrayType([A.SizedBox$(A.Column$(A._setArrayType([A.Text$("scroll up / down \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null), A.Text$("w / s \u2022 ", _null, _null, _null, _null, _null, t1.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null)], t4), B.CrossAxisAlignment_1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null, t3), A.Column$(A._setArrayType([A.Text$(_s13_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), A.Text$(_s13_, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t7, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], t4), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
      t1 = this.additionalInfo;
      if (t1.length !== 0)
        t5.push(B.SizedBox_null_8_null_null);
      B.JSArray_methods.addAll$1(t5, t1);
      t1 = A.Column$(t5, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t4), t1, false, true, t2);
    }
  };
  A.EmptyFlameChartRow.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(_null, _null, B.Clip_0, this.backgroundColor, _null, _null, _null, this.height, _null, _null, _null, _null, _null, this.width);
    }
  };
  A._FlameChartState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin.prototype = {};
  A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$_FlameChartState_State_AutoDisposeMixin$dispose();
    }
  };
  A._ScrollingFlameChartRowState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.Treemap.prototype = {
    createState$0() {
      return new A._TreemapState(B._StateLifecycle_0);
    },
    onRootChangedCallback$1(arg0) {
      return this.onRootChangedCallback.call$1(arg0);
    }
  };
  A._TreemapState.prototype = {
    computeByteSizeForNodes$3$endIndex$nodes$startIndex(endIndex, nodes, startIndex) {
      var i, sum;
      if (endIndex == null)
        endIndex = nodes.length - 1;
      for (i = startIndex, sum = 0; i <= endIndex; ++i)
        sum += Math.abs(nodes[i].byteSize);
      return sum;
    },
    computeByteSizeForNodes$1$nodes(nodes) {
      return this.computeByteSizeForNodes$3$endIndex$nodes$startIndex(null, nodes, 0);
    },
    computePivot$1(children) {
      switch (0) {
        case 0:
          return B.JSNumber_methods.floor$0(children.length / 2);
      }
    },
    buildTreemaps$5$children$height$width$x$y(children, height, width, x, y) {
      var positionedChildren, t1, offset, _i, child, ratio, newWidth, newHeight, t2, t3, t4, pivotIndex, pivotNode, pivotByteSize, list1, list1ByteSize, list3, i, i0, bestIndex, pivotBestWidth, pivotBestHeight, pivotBestAspectRatio, pivotAndList2Ratio, pivotRatio, pivotWidth, pivotHeight, pivotAspectRatio, list2, list3ByteSize, positionedTreemaps, list1SizeRatio, list1Width, list1Height, list2Width, list2Height, list2XCoord, list2YCoord, pivotXCoord, pivotYCoord, list3Ratio, list3Width, list3Height, list3XCoord, list3YCoord, _this = this,
        isHorizontalRectangle = width > height,
        totalByteSize = _this.computeByteSizeForNodes$1$nodes(children);
      if (children.length === 0)
        return A._setArrayType([], type$.JSArray_PositionedCell);
      B.JSArray_methods.sort$1(children, new A._TreemapState_buildTreemaps_closure());
      if (children.length <= 2) {
        positionedChildren = A._setArrayType([], type$.JSArray_PositionedCell);
        for (t1 = children.length, offset = 0, _i = 0; _i < children.length; children.length === t1 || (0, A.throwConcurrentModificationError)(children), ++_i) {
          child = children[_i];
          ratio = Math.abs(child.byteSize) / totalByteSize;
          newWidth = isHorizontalRectangle ? ratio * width : width;
          newHeight = isHorizontalRectangle ? height : ratio * height;
          t2 = isHorizontalRectangle ? x + offset : x;
          t3 = isHorizontalRectangle ? y : y + offset;
          t4 = _this._widget;
          positionedChildren.push(A.PositionedCell$(new A.Treemap(child, null, t4.levelsVisible - 1, false, newWidth, newHeight, t4.onRootChangedCallback, null), child, new A.Rect(t2, t3, t2 + newWidth, t3 + newHeight)));
          offset += isHorizontalRectangle ? ratio * width : ratio * height;
        }
        return positionedChildren;
      }
      pivotIndex = _this.computePivot$1(children);
      pivotNode = children[pivotIndex];
      pivotByteSize = Math.abs(pivotNode.byteSize);
      list1 = B.JSArray_methods.sublist$2(children, 0, pivotIndex);
      list1ByteSize = _this.computeByteSizeForNodes$1$nodes(list1);
      list3 = A._setArrayType([], type$.JSArray_TreemapNode);
      if (children.length - pivotIndex - 1 >= 3) {
        for (i = pivotIndex + 1, i0 = i, bestIndex = 0, pivotBestWidth = 0, pivotBestHeight = 0, pivotBestAspectRatio = 1 / 0; i0 < children.length; ++i0) {
          t1 = pivotByteSize + _this.computeByteSizeForNodes$3$endIndex$nodes$startIndex(i0, children, i);
          pivotAndList2Ratio = t1 / totalByteSize;
          pivotRatio = pivotByteSize / t1;
          pivotWidth = isHorizontalRectangle ? pivotAndList2Ratio * width : pivotRatio * width;
          pivotHeight = isHorizontalRectangle ? pivotRatio * height : pivotAndList2Ratio * height;
          pivotAspectRatio = pivotWidth / pivotHeight;
          if (Math.abs(1 - pivotAspectRatio) < Math.abs(1 - pivotBestAspectRatio)) {
            pivotBestAspectRatio = pivotAspectRatio;
            pivotBestHeight = pivotHeight;
            pivotBestWidth = pivotWidth;
            bestIndex = i0;
          }
        }
        t1 = bestIndex + 1;
        list2 = B.JSArray_methods.sublist$2(children, i, t1);
        _this.computeByteSizeForNodes$1$nodes(list2);
        list3 = B.JSArray_methods.sublist$1(children, t1);
        list3ByteSize = _this.computeByteSizeForNodes$1$nodes(list3);
      } else {
        list2 = B.JSArray_methods.sublist$1(children, pivotIndex + 1);
        t1 = pivotByteSize + _this.computeByteSizeForNodes$1$nodes(list2);
        pivotAndList2Ratio = t1 / totalByteSize;
        pivotRatio = pivotByteSize / t1;
        pivotBestWidth = isHorizontalRectangle ? pivotAndList2Ratio * width : pivotRatio * width;
        pivotBestHeight = isHorizontalRectangle ? pivotRatio * height : pivotAndList2Ratio * height;
        list3ByteSize = 0;
      }
      positionedTreemaps = A._setArrayType([], type$.JSArray_PositionedCell);
      list1SizeRatio = list1ByteSize / totalByteSize;
      list1Width = isHorizontalRectangle ? width * list1SizeRatio : width;
      list1Height = isHorizontalRectangle ? height : height * list1SizeRatio;
      if (list1.length !== 0)
        B.JSArray_methods.addAll$1(positionedTreemaps, _this.buildTreemaps$5$children$height$width$x$y(list1, list1Height, list1Width, x, y));
      list2Width = isHorizontalRectangle ? pivotBestWidth : width - pivotBestWidth;
      list2Height = isHorizontalRectangle ? height - pivotBestHeight : pivotBestHeight;
      list2XCoord = isHorizontalRectangle ? list1Width : 0;
      list2YCoord = isHorizontalRectangle ? pivotBestHeight : list1Height;
      if (list2.length !== 0)
        B.JSArray_methods.addAll$1(positionedTreemaps, _this.buildTreemaps$5$children$height$width$x$y(list2, list2Height, list2Width, x + list2XCoord, y + list2YCoord));
      pivotXCoord = isHorizontalRectangle ? list1Width : list2Width;
      pivotYCoord = isHorizontalRectangle ? 0 : list1Height;
      t1 = x + pivotXCoord;
      t2 = y + pivotYCoord;
      t3 = _this._widget;
      positionedTreemaps.push(A.PositionedCell$(A.Treemap$fromRoot(height, false, t3.levelsVisible - 1, t3.onRootChangedCallback, pivotNode, width), pivotNode, new A.Rect(t1, t2, t1 + pivotBestWidth, t2 + pivotBestHeight)));
      list3Ratio = list3ByteSize / totalByteSize;
      list3Width = isHorizontalRectangle ? list3Ratio * width : width;
      list3Height = isHorizontalRectangle ? height : list3Ratio * height;
      list3XCoord = isHorizontalRectangle ? list1Width + pivotBestWidth : 0;
      list3YCoord = isHorizontalRectangle ? 0 : list1Height + pivotBestHeight;
      if (list3.length !== 0)
        B.JSArray_methods.addAll$1(positionedTreemaps, _this.buildTreemaps$5$children$height$width$x$y(list3, list3Height, list3Width, x + list3XCoord, y + list3YCoord));
      return positionedTreemaps;
    },
    build$1(context) {
      var t1 = this._widget;
      if (t1.rootNode == null && t1.nodes.length !== 0)
        return this.buildSubTreemaps$0();
      else
        return this.buildTreemap$1(context);
    },
    buildSubTreemaps$0() {
      return new A.LayoutBuilder(new A._TreemapState_buildSubTreemaps_closure(this), null);
    },
    buildTreemap$1(context) {
      var t2, t3, t4, t5, _this = this, _null = null,
        t1 = type$.JSArray_Widget;
      if (_this._widget.rootNode.children.length !== 0) {
        t1 = A._setArrayType([], t1);
        if (_this._widget.height > 100)
          t1.push(_this.buildTitleText$1(context));
        t2 = _this._widget;
        t3 = t2.rootNode.children;
        t4 = t2.levelsVisible;
        t5 = t2.onRootChangedCallback;
        t1.push(A.Expanded$(new A.Treemap(_null, t3, t4, false, t2.width, t2.height, t5, _null), 1));
        return new A.Padding(B.EdgeInsets_1_1_1_1, A.Column$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
      } else {
        t1 = A._setArrayType([], t1);
        if (_this._widget.isOutermostLevel)
          t1.push(_this.buildTitleText$1(context));
        t1.push(A.Expanded$(_this._widget.isOutermostLevel ? _this.buildCell$0() : _this.buildSelectable$1$child(_this.buildCell$0()), 1));
        return A.Column$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
      }
    },
    buildCell$0() {
      var t4, _null = null,
        t1 = this._widget.rootNode.get$displayColor(),
        t2 = A.Border_Border$all(B.Color_3707764736, 1),
        t3 = this._widget;
      if (t3.height > 50) {
        t4 = this.buildNameAndSizeText$2$oneLine$textColor(false, t3.rootNode.showDiff ? B.Color_4294967295 : B.Color_4278190080);
        t3 = t4;
      } else
        t3 = B.SizedBox_null_null_null_null;
      return A.Container$(_null, A.Center$(t3, _null, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(t1, _null, t2, _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    },
    buildTitleText$1(context) {
      var t1, t2, _this = this, _null = null;
      if (_this._widget.isOutermostLevel)
        return _this.buildBreadcrumbNavigator$0();
      else {
        t1 = A.Border_Border$all(B.Color_3707764736, 1);
        t2 = A.Theme_of(context).textTheme.bodyMedium;
        return _this.buildSelectable$1$child(A.Container$(_null, _this.buildNameAndSizeText$2$oneLine$textColor(true, (t2 == null ? B.TextStyle_SVP0 : t2).color), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, t1, _null, _null, _null, _null, B.BoxShape_0), _null, 20, _null, _null, _null, _null, _null, 1 / 0));
      }
    },
    buildNameAndSizeText$2$oneLine$textColor(oneLine, textColor) {
      var _null = null;
      return A.Text$(this._widget.rootNode.displayText$1$oneLine(oneLine), _null, _null, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, textColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null);
    },
    buildBreadcrumbNavigator$0() {
      var pathFromRoot = this._widget.rootNode.pathFromRoot$0();
      return new A.Padding(B.EdgeInsets_0_0_0_6, new A.BreadcrumbNavigator(pathFromRoot.length, new A._TreemapState_buildBreadcrumbNavigator_closure(this, pathFromRoot), null), null);
    },
    buildSelectable$1$child(child) {
      var newRoot, t2, _null = null, t1 = {};
      t1.newRoot = newRoot;
      t1.newRoot = null;
      t1.newRoot = this._widget.rootNode;
      t2 = this._widget.rootNode.displayText$0();
      return A.DevToolsTooltip$(A.InkWell$(false, _null, true, child, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._TreemapState_buildSelectable_closure(t1, this), _null, _null, _null, _null, _null, _null), _null, _null, t2, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_1000000);
    },
    _treemap$_onHover$2($event, positionedCells) {
      var t1, _i, cell,
        touchPoint = new A.Offset($event.get$localPosition()._dx, $event.get$localPosition()._dy);
      for (t1 = positionedCells.length, _i = 0; _i < positionedCells.length; positionedCells.length === t1 || (0, A.throwConcurrentModificationError)(positionedCells), ++_i) {
        cell = positionedCells[_i];
        if (cell.rect.contains$1(0, touchPoint)) {
          new A._TreemapState__onHover_closure(this, cell).call$0();
          this._framework$_element.markNeedsBuild$0();
        }
      }
    }
  };
  A._TreemapState_buildTreemaps_closure.prototype = {
    call$2(a, b) {
      return B.JSInt_methods.compareTo$1(Math.abs(b.byteSize), Math.abs(a.byteSize));
    },
    $signature: 954
  };
  A._TreemapState_buildSubTreemaps_closure.prototype = {
    call$2(context, constraints) {
      var t2, t3, t4, positionedChildren, tooltipMessage, _null = null,
        t1 = constraints.maxHeight;
      if (t1 === 0 || constraints.maxWidth === 0)
        return B.SizedBox_null_null_null_null;
      t2 = this.$this;
      t3 = t2._widget.nodes;
      t3.toString;
      t4 = constraints.maxWidth;
      positionedChildren = t2.buildTreemaps$5$children$height$width$x$y(t3, t1, t4, 0, 0);
      if (t2._widget.levelsVisible === 1) {
        t3 = t2.hoveredNode;
        tooltipMessage = t3 == null ? _null : t3.displayText$0();
        if (tooltipMessage == null)
          tooltipMessage = "";
        return A.DevToolsTooltip$(A.MouseRegion$(A.GestureDetector$(_null, A.CustomPaint$(_null, _null, _null, new A.MultiCellPainter(positionedChildren, _null), new A.Size(t4, t1)), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._TreemapState_buildSubTreemaps__closure(t2), _null, _null, _null, _null), B.SystemMouseCursor_click, _null, _null, _null, new A._TreemapState_buildSubTreemaps__closure0(t2, positionedChildren)), _null, new A.ValueKey(tooltipMessage, type$.ValueKey_String), tooltipMessage, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_1000000);
      } else
        return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, positionedChildren, _null);
    },
    $signature: 75
  };
  A._TreemapState_buildSubTreemaps__closure0.prototype = {
    call$1($event) {
      return this.$this._treemap$_onHover$2($event, this.positionedChildren);
    },
    $signature: 67
  };
  A._TreemapState_buildSubTreemaps__closure.prototype = {
    call$1(details) {
      var t1 = this.$this;
      t1._widget.onRootChangedCallback$1(t1.hoveredNode);
    },
    $signature: 35
  };
  A._TreemapState_buildBreadcrumbNavigator_closure.prototype = {
    call$2(context, index) {
      var t1 = this.pathFromRoot,
        node = t1[index];
      t1 = index < t1.length - 1 ? node.name : node.displayText$0();
      return new A.Breadcrumb(t1, index === 0, new A._TreemapState_buildBreadcrumbNavigator__closure(this.$this, node), null);
    },
    $signature: 958
  };
  A._TreemapState_buildBreadcrumbNavigator__closure.prototype = {
    call$0() {
      return this.$this._widget.onRootChangedCallback$1(this.node);
    },
    $signature: 0
  };
  A._TreemapState_buildSelectable_closure.prototype = {
    call$0() {
      this.$this._widget.onRootChangedCallback$1(this._box_0.newRoot);
    },
    $signature: 0
  };
  A._TreemapState__onHover_closure.prototype = {
    call$0() {
      this.$this.hoveredNode = this.cell.node;
    },
    $signature: 0
  };
  A.TreemapNode.prototype = {
    get$displayColor() {
      if (!this.showDiff)
        return B.Color_4287148510;
      if (this.byteSize < 0)
        return B.Color_4285993007;
      else
        return B.Color_4282365257;
    },
    displayText$1$oneLine(oneLine) {
      var t2, separator,
        displayName = this.name,
        t1 = this.parent;
      if (t1 != null) {
        t2 = t1.name;
        t2 = B.JSString_methods.startsWith$1(displayName, t2) && displayName !== t2;
      } else
        t2 = false;
      if (t2) {
        displayName = B.JSString_methods.replaceFirst$2(displayName, t1.name, "");
        if (B.JSString_methods.startsWith$1(displayName, "/"))
          displayName = B.JSString_methods.replaceFirst$2(displayName, "/", "");
      }
      separator = oneLine ? " " : "\n";
      return displayName + separator + "[" + this.prettyByteSize$0() + "]";
    },
    displayText$0() {
      return this.displayText$1$oneLine(true);
    },
    prettyByteSize$0() {
      var plusSign = this.showDiff && this.byteSize > 0 ? "+" : "";
      return plusSign + A.S(A.prettyPrintBytes(this.byteSize, true, 1, 1, 1));
    },
    pathFromRoot$0() {
      var node, t1,
        path = A._setArrayType([], type$.JSArray_TreemapNode);
      for (node = this; node != null;) {
        path.push(node);
        node = node.parent;
      }
      t1 = type$.ReversedListIterable_TreemapNode;
      return A.List_List$of(new A.ReversedListIterable(path, t1), true, t1._eval$1("ListIterable.E"));
    },
    packagePath$0() {
      var current, t2, t3,
        t1 = type$.JSArray_String,
        reversedPath = A._setArrayType([], t1);
      for (current = this; current != null;) {
        t2 = current.name;
        if (A.stringContainsUnchecked(t2, "(Dart AOT)", 0)) {
          t1 = type$.ReversedListIterable_String;
          return A.List_List$of(new A.ReversedListIterable(reversedPath, t1), true, t1._eval$1("ListIterable.E"));
        }
        if (B.JSString_methods.startsWith$1(t2, "package:") || B.JSString_methods.startsWith$1(t2, "dart:"))
          t3 = reversedPath.length === 0 || B.JSArray_methods.get$last(reversedPath) !== t2;
        else
          t3 = false;
        if (t3)
          reversedPath.push(t2);
        current = current.parent;
      }
      return A._setArrayType([], t1);
    },
    toString$0(_) {
      return "{name: " + this.name + ", size: " + this.byteSize + "}";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.PositionedCell.prototype = {};
  A.MultiCellPainter.prototype = {
    paint$2(canvas, size) {
      var t1, t2, _i, positionedCell, t3, t4, node, t5, t6, t7, t8, bounds, t9, rectPaint, borderPaint, textPainter, _null = null;
      for (t1 = this.nodes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        positionedCell = t1[_i];
        t3 = positionedCell.width;
        t3.toString;
        t4 = positionedCell.height;
        t4.toString;
        node = positionedCell.node;
        t5 = positionedCell.left;
        t5.toString;
        t6 = positionedCell.top;
        t6.toString;
        t7 = t5 + t3;
        t8 = t6 + t4;
        bounds = new A.Rect(t5, t6, t7, t8);
        t9 = $.$get$useCanvasKit();
        rectPaint = t9 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        rectPaint.set$color(0, node.get$displayColor());
        canvas.drawRect$2(bounds, rectPaint);
        borderPaint = t9 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        borderPaint.set$color(0, B.Color_1929379840);
        borderPaint.set$style(0, B.PaintingStyle_1);
        canvas.drawRect$2(bounds, borderPaint);
        if (t3 > 40 && t4 > 50) {
          t4 = node.displayText$1$oneLine(false);
          t9 = node.showDiff ? B.Color_4294967295 : B.Color_4278190080;
          textPainter = new A.TextPainter(A.TextSpan$(_null, _null, _null, new A.TextStyle(true, t9, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), t4), B.TextAlign_2, B.TextDirection_1, 1, "...", _null, _null, _null, B.TextWidthBasis_0, _null);
          textPainter.layout$1$maxWidth(t3);
          t3 = textPainter._textWidthBasis;
          t4 = textPainter._paragraph;
          t3 = t3 === B.TextWidthBasis_1 ? t4.get$longestLine() : t4.get$width(t4);
          t3 = Math.ceil(t3);
          t4 = textPainter._paragraph;
          textPainter.paint$2(canvas, new A.Offset(t5 + (t7 - t5) / 2 - t3 / 2, t6 + (t8 - t6) / 2 - Math.ceil(t4.get$height(t4)) / 2));
        }
      }
    },
    shouldRepaint$1(oldDelegate) {
      return false;
    }
  };
  A.DragAndDropManagerWeb.prototype = {
    init$0() {
      var t3, _this = this,
        t1 = document,
        t2 = t1.body;
      t2.toString;
      t3 = type$._ElementEventStreamImpl_MouseEvent._precomputed1;
      t2 = A._EventStreamSubscription$(t2, "dragover", _this.get$_onDragOver(), false, t3);
      if (_this.__DragAndDropManagerWeb_onDragOverSubscription !== $)
        A.throwUnnamedLateFieldAI();
      _this.__DragAndDropManagerWeb_onDragOverSubscription = t2;
      t2 = t1.body;
      t2.toString;
      t2 = A._EventStreamSubscription$(t2, "dragleave", _this.get$_onDragLeave(), false, t3);
      if (_this.__DragAndDropManagerWeb_onDragLeaveSubscription !== $)
        A.throwUnnamedLateFieldAI();
      _this.__DragAndDropManagerWeb_onDragLeaveSubscription = t2;
      t1 = t1.body;
      t1.toString;
      t3 = A._EventStreamSubscription$(t1, "drop", _this.get$_onDrop(), false, t3);
      if (_this.__DragAndDropManagerWeb_onDropSubscription !== $)
        A.throwUnnamedLateFieldAI();
      _this.__DragAndDropManagerWeb_onDropSubscription = t3;
    },
    _onDragOver$1($event) {
      var t1 = J.getInterceptor$x($event);
      this.hitTestAndUpdateActiveId$2(t1.get$offset($event).x, t1.get$offset($event).y);
      t1 = this.activeState;
      if (t1 != null)
        t1._dragging.set$value(0, t1._isActive);
      $event.preventDefault();
      $event.dataTransfer.dropEffect = "move";
    },
    _onDragLeave$1($event) {
      var t1 = this.activeState;
      if (t1 != null)
        t1._dragging.set$value(0, false);
    },
    _onDrop$1($event) {
      return this._onDrop$body$DragAndDropManagerWeb($event);
    },
    _onDrop$body$DragAndDropManagerWeb($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, droppedFile, reader, e, files, exception, t1;
      var $async$_onDrop$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.activeState;
              if (t1 != null)
                t1._dragging.set$value(0, false);
              $event.preventDefault();
              t1 = $async$self.activeState;
              if ((t1 == null ? null : t1._widget.handleDrop) == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              files = $event.dataTransfer.files;
              if (files.length > 1) {
                t1 = t1.__DragAndDropState_notifications;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.push$1("You cannot import more than one file.");
                // goto return
                $async$goto = 1;
                break;
              }
              droppedFile = B.FileList_methods.get$first(files);
              if (droppedFile.type !== "application/json") {
                t1 = $async$self.activeState.__DragAndDropState_notifications;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.push$1(droppedFile.type + " is not a supported file type. Please import a .json file that was exported from Dart DevTools.");
                // goto return
                $async$goto = 1;
                break;
              }
              reader = new FileReader();
              A._EventStreamSubscription$(reader, "load", new A.DragAndDropManagerWeb__onDrop_closure($async$self, reader, droppedFile), false, type$.ProgressEvent);
              try {
                J.readAsText$1$x(reader, droppedFile);
              } catch (exception) {
                e = A.unwrapException(exception);
                t1 = $async$self.activeState.__DragAndDropState_notifications;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.push$1("Could not import file: " + A.S(e));
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onDrop$1, $async$completer);
    }
  };
  A.DragAndDropManagerWeb__onDrop_closure.prototype = {
    call$1(_) {
      var json, devToolsJsonFile, e, t1, exception, _this = this;
      try {
        json = B.C_JsonCodec.decode$2$reviver(0, A._asString(B.FileReader_methods.get$result(_this.reader)), null);
        t1 = _this.droppedFile;
        devToolsJsonFile = new A.DevToolsJsonFile(t1.name, A.DateTime$fromMillisecondsSinceEpoch(t1.lastModifiedDate.getTime(), true), json);
        _this.$this.activeState._widget.handleDrop.call$1(devToolsJsonFile);
      } catch (exception) {
        t1 = A.unwrapException(exception);
        if (type$.FormatException._is(t1)) {
          e = t1;
          t1 = _this.$this.activeState.__DragAndDropState_notifications;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.push$1('JSON syntax error in imported file: "' + A.S(e) + '". Please make sure the imported file is a Dart DevTools file, and check that it has not been modified.');
          return;
        } else
          throw exception;
      }
    },
    $signature: 342
  };
  A.DragAndDropManager.prototype = {
    hitTestAndUpdateActiveId$2(x, y) {
      var previousActiveState, _i, target, newActiveState,
        hitTestResult = A.HitTestResult$(),
        t1 = $.RendererBinding__instance,
        t2 = new A.Offset(x, y),
        t3 = t1.RendererBinding___RendererBinding__pipelineOwner;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3._rootNode.hitTest$2$position(hitTestResult, t2);
      t1.super$GestureBinding$hitTest(hitTestResult, t2);
      for (t1 = hitTestResult._path, t2 = t1.length, previousActiveState = this.activeState, _i = 0; _i < t2; ++_i) {
        target = t1[_i].target;
        if (target instanceof A.RenderMetaData) {
          newActiveState = target.metaData.state;
          if (previousActiveState != null) {
            previousActiveState._isActive = false;
            previousActiveState._dragging.set$value(0, false);
          }
          this.activeState = newActiveState;
          newActiveState._isActive = true;
          return;
        }
      }
    }
  };
  A.DragAndDrop.prototype = {
    createState$0() {
      return new A.DragAndDropState(new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), B._StateLifecycle_0);
    }
  };
  A.DragAndDropState.prototype = {
    initState$0() {
      this.super$State$initState();
      $.$get$DragAndDropManager__instance()._dragAndDropStates.add$1(0, this);
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      var t1 = this._framework$_element;
      t1.toString;
      t1 = A.Notifications_of(t1);
      t1.toString;
      this.__DragAndDropState_notifications = t1;
    },
    dispose$0() {
      $.$get$DragAndDropManager__instance()._dragAndDropStates.remove$1(0, this);
      this.super$State$dispose();
    },
    build$1(context) {
      var _this = this,
        t1 = _this._widget;
      t1 = t1.handleDrop != null ? new A.ValueListenableBuilder(_this._dragging, new A.DragAndDropState_build_closure(_this), null, null, type$.ValueListenableBuilder_bool) : t1.child;
      return new A.MetaData(new A.DragAndDropMetaData(_this), t1, null);
    }
  };
  A.DragAndDropState_build_closure.prototype = {
    call$3(context, dragging, _) {
      var t1 = dragging ? 0.5 : 1;
      return A.Opacity$(false, this.$this._widget.child, t1);
    },
    $signature: 959
  };
  A.DragAndDropMetaData.prototype = {};
  A.FileSystemWeb.prototype = {
    writeStringToFile$3$isMemory(filename, contents, isMemory) {
      this._files.putIfAbsent$2(0, filename, new A.FileSystemWeb_writeStringToFile_closure(contents));
    }
  };
  A.FileSystemWeb_writeStringToFile_closure.prototype = {
    call$0() {
      return this.contents;
    },
    $signature: 24
  };
  A.initializePlatform_closure.prototype = {
    call$1($event) {
      A._sendKeyPressToParent($event);
      if (!$event.metaKey)
        return;
      if (!B.JSString_methods.contains$1(window.navigator.userAgent, "Macintosh"))
        return;
      if ($event.key === "p")
        $event.preventDefault();
    },
    $signature: 204
  };
  A.ServerConnectionStorage.prototype = {
    getValue$1(key) {
      return this.getValue$body$ServerConnectionStorage(key);
    },
    getValue$body$ServerConnectionStorage(key) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, t1;
      var $async$getValue$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 = type$.String;
              $async$returnValue = $async$self.connection._callMethod$1$2("getPreferenceValue", A.LinkedHashMap_LinkedHashMap$_literal(["key", key], t1, type$.dynamic), t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getValue$1, $async$completer);
    },
    setValue$2(key, value) {
      return this.setValue$body$ServerConnectionStorage(key, value);
    },
    setValue$body$ServerConnectionStorage(key, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$setValue$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.connection.setPreferenceValue$2(key, value), $async$setValue$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setValue$2, $async$completer);
    }
  };
  A.BrowserStorage.prototype = {
    getValue$1(key) {
      return this.getValue$body$BrowserStorage(key);
    },
    getValue$body$BrowserStorage(key) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_String),
        $async$returnValue;
      var $async$getValue$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$returnValue = window.localStorage.getItem(key);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getValue$1, $async$completer);
    },
    setValue$2(key, value) {
      return this.setValue$body$BrowserStorage(key, value);
    },
    setValue$body$BrowserStorage(key, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$setValue$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
              window.localStorage.setItem(key, value);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setValue$2, $async$completer);
    }
  };
  A.HostPlatform.prototype = {
    get$_isMacOS() {
      var t1 = this.__HostPlatform__isMacOS;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    }
  };
  A.IdeTheme.prototype = {};
  A.ExportControllerWeb.prototype = {
    downloadFile$1(contents) {
      var t1 = document,
        element = t1.createElement("a"),
        t2 = Date.now(),
        now = new A.DateTime(t2, false),
        fileName = "dart_devtools_" + ("" + A.Primitives_getYear(now) + "_" + A.Primitives_getMonth(now) + "_" + A.Primitives_getDay(now) + "-" + 1000 * t2) + ".json";
      element.setAttribute("href", (self.URL || self.webkitURL).createObjectURL(A.Blob_Blob([contents], null)));
      element.setAttribute("download", fileName);
      t2 = element.style;
      t2.display = "none";
      t1.body.appendChild(element);
      t1 = J.getInterceptor$x(element);
      t1.click$0(element);
      t1.remove$0(element);
      return fileName;
    }
  };
  A.ImportController.prototype = {
    importData$1(jsonFile) {
      var activeScreenId, connectedApp, _this = this,
        _json = jsonFile.data,
        t1 = Date.now(),
        t2 = _this.previousImportTime;
      if (t2 != null && Math.abs(t1 - t2._value) < 500)
        return;
      _this.previousImportTime = new A.DateTime(t1, false);
      if (!(type$.Map_String_dynamic._is(_json) && J.$eq$(J.$index$asx(_json, "devToolsSnapshot"), true))) {
        _this._notifications.push$1("The imported file is not a Dart DevTools file. At this time, DevTools only supports importing files that were originally exported from DevTools.");
        return;
      }
      t1 = J.getInterceptor$asx(_json);
      activeScreenId = t1.$index(_json, "activeScreenId");
      t1 = t1.$index(_json, "connectedApp");
      if (t1 == null)
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Object);
      connectedApp = J.cast$2$0$ax(t1, type$.String, type$.Object);
      t1 = $.globals.$index(0, B.Type_OfflineModeController_ECL);
      t1._previousConnectedApp = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      t1._offlineMode.set$value(0, true);
      t1.offlineDataJson = _json;
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp = A.OfflineConnectedApp_OfflineConnectedApp$parse(connectedApp);
      _this._notifications.push$1('Attempting to import file for screen with id "' + activeScreenId + '".');
      _this._import_export$_pushSnapshotScreenForImport.call$1(activeScreenId);
    }
  };
  A.ExportController.prototype = {
    encode$2(activeScreenId, contents) {
      var t4, t5,
        _s11_ = "traceEvents",
        t1 = type$.String,
        t2 = type$.nullable_Object,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t3.$indexSet(0, "devToolsSnapshot", true);
      t3.$indexSet(0, "activeScreenId", activeScreenId);
      t3.$indexSet(0, "devtoolsVersion", "2.15.0");
      t3.$indexSet(0, "connectedApp", A.LinkedHashMap_LinkedHashMap$_literal(["isFlutterApp", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow(), "isProfileBuild", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuildNow(), "isDartWebApp", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isDartWebAppNow(), "isRunningOnDartVM", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isRunningOnDartVM()], t1, type$.nullable_bool));
      t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
      t5 = t4.get$isFlutterAppNow();
      t5.toString;
      if ((t5 ? t4._flutterVersion : null) != null) {
        t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
        t5 = t4.get$isFlutterAppNow();
        t5.toString;
        t3.$indexSet(0, "flutterVersion", (t5 ? t4._flutterVersion : null).version);
      }
      if (activeScreenId === "performance") {
        t3.$indexSet(0, _s11_, A.List_List$from(contents.$index(0, _s11_), true, type$.Map_String_dynamic));
        contents.remove$1(0, _s11_);
      }
      t3.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal([activeScreenId, contents], t1, t2));
      return B.C_JsonCodec.encode$2$toEncodable(t3, null);
    }
  };
  A.OfflineModeController.prototype = {
    shouldLoadOfflineData$1(screenId) {
      return this._offlineMode._change_notifier$_value && J.get$isNotEmpty$asx(this.offlineDataJson) && J.$index$asx(this.offlineDataJson, screenId) != null;
    }
  };
  A.allowedError_closure.prototype = {
    call$1(error) {
      var t1, errorLines, t2;
      if (this.logError) {
        t1 = J.getInterceptor$(error);
        errorLines = A._setArrayType(t1.toString$0(error).split("\n"), type$.JSArray_String);
        window;
        t1 = t1.get$runtimeType(error).toString$0(0);
        t2 = A.S(B.JSArray_methods.get$first(errorLines));
        if (typeof console != "undefined")
          window.console.groupCollapsed("[" + t1 + "] " + t2);
        window;
        t1 = A.SubListIterable$(errorLines, 1, null, type$.String).join$1(0, "\n");
        if (typeof console != "undefined")
          window.console.log(t1);
        window;
        if (typeof console != "undefined")
          window.console.groupEnd();
      }
    },
    $signature: 247
  };
  A.LogLevel.prototype = {
    toString$0(_) {
      return "LogLevel." + this._core$_name;
    }
  };
  A.Notification.prototype = {};
  A.ExternalDevToolsExtensionPoints.prototype = {
    issueTrackerLink$0() {
      var issueBody = B.JSArray_methods.join$1(A.issueLinkDetails(), "\n");
      return new A.Link("github.com/flutter/devtools/issues/new", A.Uri_parse("https://github.com/flutter/devtools/issues/new", 0, null).replace$1$queryParameters(0, A.LinkedHashMap_LinkedHashMap$_literal(["body", issueBody], type$.String, type$.dynamic)).get$_text());
    }
  };
  A.CurlCommand.prototype = {
    toString$0(_) {
      return A.CurlCommand__buildCommandString(this.commandParts);
    }
  };
  A.Cookie.prototype = {
    get$name(_) {
      return this._http$_name;
    },
    _parseSetCookieValue$1(s) {
      var t2, _this = this, t1 = {};
      t1.index = 0;
      t2 = new A.Cookie__parseSetCookieValue_done(t1, s);
      _this._http$_name = A.Cookie__validateName(new A.Cookie__parseSetCookieValue_parseName(t1, t2, s).call$0());
      if (t2.call$0() || _this._http$_name.length === 0)
        throw A.wrapException(A.HttpException$("Failed to parse header value [" + s + "]"));
      ++t1.index;
      _this._http$_value = A.Cookie__validateValue(new A.Cookie__parseSetCookieValue_parseValue(t1, t2, s).call$0());
      if (t2.call$0())
        return;
      ++t1.index;
      new A.Cookie__parseSetCookieValue_parseAttributes(t1, _this, t2, s).call$0();
    },
    toString$0(_) {
      var d, t3, t4, t5, t6, t7, t8, t9, t10, t11, _this = this,
        t1 = "" + A.S(_this._http$_name) + "=" + A.S(_this._http$_value),
        t2 = _this.expires;
      if (t2 != null) {
        d = t2.toUtc$0();
        t2 = B.List_ECn[A.Primitives_getWeekday(d) - 1];
        t3 = A.Primitives_getDay(d) <= 9 ? "0" : "";
        t4 = B.JSInt_methods.toString$0(A.Primitives_getDay(d));
        t5 = B.List_h8w0[A.Primitives_getMonth(d) - 1];
        t6 = B.JSInt_methods.toString$0(A.Primitives_getYear(d));
        t7 = A.Primitives_getHours(d) <= 9 ? " 0" : " ";
        t8 = B.JSInt_methods.toString$0(A.Primitives_getHours(d));
        t9 = A.Primitives_getMinutes(d) <= 9 ? ":0" : ":";
        t10 = B.JSInt_methods.toString$0(A.Primitives_getMinutes(d));
        t11 = A.Primitives_getSeconds(d) <= 9 ? ":0" : ":";
        t11 = "" + t2 + ", " + t3 + t4 + " " + t5 + " " + t6 + t7 + t8 + t9 + t10 + t11 + B.JSInt_methods.toString$0(A.Primitives_getSeconds(d)) + " GMT";
        t11 = t1 + "; Expires=" + (t11.charCodeAt(0) == 0 ? t11 : t11);
        t1 = t11;
      }
      t2 = _this.maxAge;
      if (t2 != null)
        t1 = t1 + "; Max-Age=" + A.S(t2);
      t2 = _this.domain;
      if (t2 != null)
        t1 = t1 + "; Domain=" + t2;
      t2 = _this.path;
      if (t2 != null)
        t1 = t1 + "; Path=" + t2;
      if (_this.secure)
        t1 += "; Secure";
      if (_this.httpOnly)
        t1 += "; HttpOnly";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.Cookie__parseSetCookieValue_done.prototype = {
    call$0() {
      return this._box_0.index === this.s.length;
    },
    $signature: 23
  };
  A.Cookie__parseSetCookieValue_parseName.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this._box_0,
        start = t1.index;
      for (t2 = this.done, t3 = this.s; !t2.call$0();) {
        t4 = t1.index;
        if (t3[t4] === "=")
          break;
        t1.index = t4 + 1;
      }
      return B.JSString_methods.trim$0(B.JSString_methods.substring$2(t3, start, t1.index));
    },
    $signature: 24
  };
  A.Cookie__parseSetCookieValue_parseValue.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this._box_0,
        start = t1.index;
      for (t2 = this.done, t3 = this.s; !t2.call$0();) {
        t4 = t1.index;
        if (t3[t4] === ";")
          break;
        t1.index = t4 + 1;
      }
      return B.JSString_methods.trim$0(B.JSString_methods.substring$2(t3, start, t1.index));
    },
    $signature: 24
  };
  A.Cookie__parseSetCookieValue_parseAttributes.prototype = {
    call$0() {
      var t4, $name, value, _this = this,
        t1 = _this._box_0,
        t2 = _this.done,
        t3 = _this.s,
        parseAttributeName = new A.Cookie__parseSetCookieValue_parseAttributes_parseAttributeName(t1, t2, t3),
        parseAttributeValue = new A.Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue(t1, t2, t3);
      for (t4 = _this.$this; !t2.call$0();) {
        $name = parseAttributeName.call$0();
        if (!t2.call$0() && t3[t1.index] === "=") {
          ++t1.index;
          value = parseAttributeValue.call$0();
        } else
          value = "";
        if ($name === "expires")
          t4.expires = A.HttpDate__parseCookieDate(value);
        else if ($name === "max-age")
          t4.maxAge = A.int_parse(value, null);
        else if ($name === "domain")
          t4.domain = value;
        else if ($name === "path")
          t4.path = value;
        else if ($name === "httponly")
          t4.httpOnly = true;
        else if ($name === "secure")
          t4.secure = true;
        if (!t2.call$0())
          ++t1.index;
      }
    },
    $signature: 0
  };
  A.Cookie__parseSetCookieValue_parseAttributes_parseAttributeName.prototype = {
    call$0() {
      var t2, t3, t4, t5,
        t1 = this._box_0,
        start = t1.index;
      for (t2 = this.done, t3 = this.s; !t2.call$0();) {
        t4 = t1.index;
        t5 = t3[t4];
        if (t5 === "=" || t5 === ";")
          break;
        t1.index = t4 + 1;
      }
      return B.JSString_methods.trim$0(B.JSString_methods.substring$2(t3, start, t1.index)).toLowerCase();
    },
    $signature: 24
  };
  A.Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue.prototype = {
    call$0() {
      var t2, t3, t4,
        t1 = this._box_0,
        start = t1.index;
      for (t2 = this.done, t3 = this.s; !t2.call$0();) {
        t4 = t1.index;
        if (t3[t4] === ";")
          break;
        t1.index = t4 + 1;
      }
      return B.JSString_methods.trim$0(B.JSString_methods.substring$2(t3, start, t1.index)).toLowerCase();
    },
    $signature: 24
  };
  A.HttpDate__parseCookieDate_error.prototype = {
    call$0() {
      throw A.wrapException(A.HttpException$("Invalid cookie date " + this.date));
    },
    $signature: 0
  };
  A.HttpDate__parseCookieDate_isEnd.prototype = {
    call$0() {
      return this._box_0.position === this.date.length;
    },
    $signature: 23
  };
  A.HttpDate__parseCookieDate_isDelimiter.prototype = {
    call$1(s) {
      var char = B.JSString_methods._codeUnitAt$1(s, 0);
      if (char === 9)
        return true;
      if (char >= 32 && char <= 47)
        return true;
      if (char >= 59 && char <= 64)
        return true;
      if (char >= 91 && char <= 96)
        return true;
      if (char >= 123 && char <= 126)
        return true;
      return false;
    },
    $signature: 6
  };
  A.HttpDate__parseCookieDate_isNonDelimiter.prototype = {
    call$1(s) {
      var char = B.JSString_methods._codeUnitAt$1(s, 0);
      if (char <= 8)
        return true;
      if (char >= 10 && char <= 31)
        return true;
      if (char >= 48 && char <= 57)
        return true;
      if (char === 58)
        return true;
      if (char >= 65 && char <= 90)
        return true;
      if (char >= 97 && char <= 122)
        return true;
      if (char >= 127 && char <= 255)
        return true;
      return false;
    },
    $signature: 6
  };
  A.HttpDate__parseCookieDate_isDigit.prototype = {
    call$1(s) {
      var char = B.JSString_methods._codeUnitAt$1(s, 0);
      if (char > 47 && char < 58)
        return true;
      return false;
    },
    $signature: 6
  };
  A.HttpDate__parseCookieDate_getMonth.prototype = {
    call$1(month) {
      if (month.length < 3)
        return -1;
      return B.JSArray_methods.indexOf$1(B.List_UI5, B.JSString_methods.substring$2(month, 0, 3));
    },
    $signature: 158
  };
  A.HttpDate__parseCookieDate_toInt.prototype = {
    call$1(s) {
      var t1 = s.length,
        t2 = this.isDigit,
        index = 0;
      while (true) {
        if (!(index < t1 && t2.call$1(s[index])))
          break;
        ++index;
      }
      return A.int_parse(B.JSString_methods.substring$2(s, 0, index), null);
    },
    $signature: 158
  };
  A.HttpException.prototype = {
    toString$0(_) {
      var t1 = "" + "HttpException: " + this.message;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.DartIOHttpInstantEvent.prototype = {
    get$name(_) {
      return this._http_request_data$_event.event;
    }
  };
  A.DartIOHttpRequestData.prototype = {
    getFullRequestData$0() {
      var t2,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      t2 = this._request;
      return t1.getHttpProfileRequest$2(t2.isolateId, t2.id).then$1$1(new A.DartIOHttpRequestData_getFullRequestData_closure(this), type$.void);
    },
    get$_hasError() {
      var t1 = this._request.request;
      t1 = t1 == null ? null : t1.error != null;
      return t1 === true;
    },
    get$_endTime() {
      var t1 = this.get$_hasError(),
        t2 = this._request;
      if (t1)
        t1 = t2.endTime;
      else {
        t1 = t2.response;
        t1 = t1 == null ? null : t1.endTime;
      }
      return t1;
    },
    get$duration(_) {
      var range, t1;
      if (this.get$inProgress() || false)
        return null;
      range = new A.TimeRange();
      range.set$start(0, A.Duration$(this._request.startTime, 0));
      t1 = this.get$_endTime();
      t1.toString;
      range.set$end(0, A.Duration$(t1, 0));
      t1 = range._utils$_end;
      t1.toString;
      return new A.Duration(t1._duration - range._utils$_start._duration);
    },
    get$general() {
      var t4, t5, t6, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t3.$indexSet(0, "method", _this._request.method);
      t3.$indexSet(0, "uri", _this._request.uri.toString$0(0));
      if (!_this.get$didFail()) {
        t4 = _this._request.request;
        t5 = t4 == null;
        if (t5)
          t6 = null;
        else
          t6 = new A.UnmodifiableMapView(t4._connectionInfo, type$.UnmodifiableMapView_String_dynamic);
        t4 = A.LinkedHashMap_LinkedHashMap$_literal(["connectionInfo", t6, "contentLength", t5 ? null : t4._returnIfNoError$1(t4._contentLength)], t1, t2);
        t4 = t4.get$entries(t4);
        t4 = t4.get$iterator(t4);
        for (; t4.moveNext$0();) {
          t5 = t4.get$current(t4);
          t3.$indexSet(0, t5.get$key(t5), t5.get$value(t5));
        }
      }
      t4 = _this._request.response;
      if (t4 != null)
        for (t1 = A.LinkedHashMap_LinkedHashMap$_literal(["compressionState", t4.compressionState, "isRedirect", t4.isRedirect, "persistentConnection", t4.persistentConnection, "reasonPhrase", t4.reasonPhrase, "redirects", t4.redirects, "statusCode", t4.statusCode], t1, t2), t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          t3.$indexSet(0, t2.get$key(t2), t2.get$value(t2));
        }
      return t3;
    },
    get$contentType(_) {
      var _s12_ = "content-type",
        _headers = this.get$responseHeaders(this);
      if (_headers == null || J.$index$asx(_headers, _s12_) == null)
        return null;
      return J.toString$0$(J.$index$asx(_headers, _s12_));
    },
    get$type(_) {
      var mime = this.get$contentType(this);
      if (mime == null)
        return "http";
      mime = B.JSArray_methods.get$first(mime.split(";"));
      if (J.startsWith$1$s(mime, "["))
        mime = B.JSString_methods.substring$1(mime, 1);
      return this._extensionFromMime$1(B.JSString_methods.endsWith$1(mime, "]") ? B.JSString_methods.substring$2(mime, 0, mime.length - 1) : mime);
    },
    _extensionFromMime$1(mime) {
      var extension = A.extensionFromMime(mime);
      if (extension === "jpe")
        return "jpeg";
      if (extension === "htm")
        return "html";
      if (extension === "conf")
        return "txt";
      return extension;
    },
    get$method(_) {
      return this._request.method;
    },
    get$port(_) {
      var connectionInfo = this.get$general().$index(0, "connectionInfo");
      return connectionInfo != null ? J.$index$asx(connectionInfo, "localPort") : null;
    },
    get$inProgress() {
      var t1 = this.get$_hasError(),
        t2 = this._request;
      return t1 ? t2.endTime == null : !t2.get$isResponseComplete();
    },
    get$instantEvents() {
      var t1, t2, _this = this;
      if (_this._instantEvents == null) {
        t1 = A._setArrayType([], type$.JSArray_DartIOHttpInstantEvent);
        t2 = _this._request.request;
        t2 = t2 == null ? null : t2.events;
        t2 = J.get$iterator$ax(t2 == null ? [] : t2);
        for (; t2.moveNext$0();)
          t1.push(new A.DartIOHttpInstantEvent(t2.get$current(t2)));
        _this._instantEvents = t1;
        _this._recalculateInstantEventTimes$0();
      }
      t1 = _this._instantEvents;
      t1.toString;
      return t1;
    },
    get$requestCookies() {
      if (this.get$_hasError())
        var t1 = A._setArrayType([], type$.JSArray_Cookie);
      else {
        t1 = this._request.request;
        t1 = A.DartIOHttpRequestData__parseCookies(t1 == null ? null : t1._returnIfNoError$1(t1._cookies));
      }
      return t1;
    },
    get$responseCookies() {
      var t1 = this._request.response;
      return A.DartIOHttpRequestData__parseCookies(t1 == null ? null : t1.cookies);
    },
    get$requestHeaders() {
      if (this.get$_hasError())
        var t1 = null;
      else {
        t1 = this._request.request;
        t1 = t1 == null ? null : new A.UnmodifiableMapView(t1._returnIfNoError$1(t1._headers), type$.UnmodifiableMapView_String_dynamic);
      }
      return t1;
    },
    get$responseHeaders(_) {
      var t1 = this._request.response;
      return t1 == null ? null : t1.headers;
    },
    get$didFail() {
      var code, t1, exception, _this = this;
      if (_this.get$status(_this) == null)
        return false;
      if (_this.get$status(_this) === "Error")
        return true;
      try {
        t1 = _this.get$status(_this);
        t1.toString;
        code = A.int_parse(t1, null);
        if (code >= 400)
          return true;
      } catch (exception) {
        if (type$.Exception._is(A.unwrapException(exception))) {
          A.log("Could not parse HTTP request status: " + A.S(_this.get$status(_this)), B.LogLevel_2);
          return true;
        } else
          throw exception;
      }
      return false;
    },
    get$endTimestamp() {
      var endTime = this.get$_endTime();
      return endTime == null ? null : A.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + endTime);
    },
    get$startTimestamp() {
      return A.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + this._request.startTime);
    },
    get$status(_) {
      var t1;
      if (this.get$_hasError())
        t1 = "Error";
      else {
        t1 = this._request.response;
        t1 = t1 == null ? null : B.JSInt_methods.toString$0(t1.statusCode);
      }
      return t1;
    },
    get$uri() {
      return this._request.uri.toString$0(0);
    },
    get$responseBody() {
      var fullRequest, exception,
        t1 = this._request;
      if (!(t1 instanceof A.HttpProfileRequest))
        return null;
      fullRequest = t1;
      try {
        if (!t1.get$isResponseComplete())
          return null;
        t1 = this._responseBody;
        if (t1 != null)
          return t1;
        t1 = B.Utf8Codec_false.decode$1(0, fullRequest.responseBody);
        this._responseBody = t1;
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception)))
          return "<binary data>";
        else
          throw exception;
      }
    },
    get$encodedResponse() {
      if (!this._request.get$isResponseComplete())
        return null;
      return type$.HttpProfileRequest._as(this._request).responseBody;
    },
    get$requestBody() {
      var fullRequest, acceptedMethods, exception, _this = this, _null = null,
        t1 = _this._request;
      if (!(t1 instanceof A.HttpProfileRequest))
        return _null;
      fullRequest = t1;
      try {
        if (!t1.get$isResponseComplete())
          return _null;
        acceptedMethods = A.LinkedHashSet_LinkedHashSet$_literal(["POST", "PUT", "PATCH"], type$.String);
        if (!J.contains$1$asx(acceptedMethods, _this._request.method))
          return _null;
        t1 = _this._requestBody;
        if (t1 != null)
          return t1;
        fullRequest.toString;
        t1 = B.Utf8Codec_false.decode$1(0, fullRequest.requestBody);
        _this._requestBody = t1;
        return t1;
      } catch (exception) {
        if (type$.FormatException._is(A.unwrapException(exception)))
          return "<binary data>";
        else
          throw exception;
      }
    },
    _recalculateInstantEventTimes$0() {
      var t1, t2, _i, instant, instantTime, t3,
        lastTime = this._request.startTime;
      for (t1 = this.get$instantEvents(), t2 = t1.length, _i = 0; _i < t2; ++_i, lastTime = instantTime) {
        instant = t1[_i];
        instantTime = instant._http_request_data$_event.timestamp;
        t3 = new A.TimeRange();
        t3._utils$_start = new A.Duration(lastTime);
        t3._utils$_end = new A.Duration(instantTime);
        instant._timeRange = t3;
      }
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.DartIOHttpRequestData && this.wrapperId === other.wrapperId && this.super$NetworkRequest$$eq(0, other);
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this._request;
      return A.Object_hash(_this.wrapperId, t1.method, t1.uri.toString$0(0), _this.get$contentType(_this), _this.get$type(_this), _this.get$port(_this), A.DateTime$fromMicrosecondsSinceEpoch(_this._timelineMicrosBase + _this._request.startTime), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.DartIOHttpRequestData_getFullRequestData_closure.prototype = {
    call$1(updated) {
      return this.$this._request = updated;
    },
    $signature: 987
  };
  A.DartIOHttpRequestData__parseCookies_closure.prototype = {
    call$1(cookie) {
      var t1 = new A.Cookie();
      t1._parseSetCookieValue$1(cookie);
      return t1;
    },
    $signature: 1031
  };
  A.HttpService_toggleHttpRequestLogging_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$HttpService_toggleHttpRequestLogging_closure(isolate);
    },
    $call$body$HttpService_toggleHttpRequestLogging_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$call$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = isolate.get$id(isolate);
              t2.toString;
              $async$goto = 4;
              return A._asyncAwait(t1.isHttpTimelineLoggingAvailable$1(t2), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = $async$result ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = isolate.get$id(isolate);
              t2.toString;
              $async$goto = 5;
              return A._asyncAwait(A.timeout(t1.httpEnableTimelineLogging$2(t2, $async$self.state), 500, type$.HttpTimelineLoggingState), $async$call$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.Disposer.prototype = {
    autoDisposeFocusNode$1(node) {
      this._focusNodes.push(node);
    },
    addAutoDisposeListener$2(listenable, listener) {
      if (listenable == null || false)
        return;
      this._listenables.push(listenable);
      this._auto_dispose$_listeners.push(listener);
      listenable.addListener$1(0, listener);
    },
    cancelStreamSubscriptions$0() {
      var t1, t2, _i;
      for (t1 = this._auto_dispose$_subscriptions, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].cancel$0(0);
      B.JSArray_methods.clear$0(t1);
    },
    cancelListeners$0() {
      var t1, t2, i;
      for (t1 = this._listenables, t2 = this._auto_dispose$_listeners, i = 0; i < t1.length; ++i)
        t1[i].removeListener$1(0, t2[i]);
      B.JSArray_methods.clear$0(t1);
      B.JSArray_methods.clear$0(t2);
    },
    cancelFocusNodes$0() {
      var t1, t2, _i, focusNode, t3;
      for (t1 = this._focusNodes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        focusNode = t1[_i];
        t3 = focusNode._attachment;
        if (t3 != null)
          t3.detach$0(0);
        focusNode.super$ChangeNotifier$dispose();
      }
      B.JSArray_methods.clear$0(t1);
    }
  };
  A.DisposableController.prototype = {
    dispose$0() {
    }
  };
  A.AutoDisposeControllerMixin.prototype = {};
  A.AutoDisposeMixin.prototype = {
    _refresh$0() {
      return this.setState$1(new A.AutoDisposeMixin__refresh_closure());
    },
    addAutoDisposeListener$2(listenable, listener) {
      var t1 = listener == null ? this.get$_refresh() : listener;
      this.AutoDisposeMixin__delegate.addAutoDisposeListener$2(listenable, t1);
    },
    addAutoDisposeListener$1(listenable) {
      return this.addAutoDisposeListener$2(listenable, null);
    }
  };
  A.AutoDisposeMixin__refresh_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.BlockingActionMixin.prototype = {
    blockWhileInProgress$1(callback) {
      return this.blockWhileInProgress$body$BlockingActionMixin(callback);
    },
    blockWhileInProgress$body$BlockingActionMixin(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this;
      var $async$blockWhileInProgress$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
              $async$self.setState$1(new A.BlockingActionMixin_blockWhileInProgress_closure($async$self));
              $async$handler = 2;
              $async$goto = 5;
              return A._asyncAwait(A.Future_any(A._setArrayType([callback.call$0(), $async$self.BlockingActionMixin__disposed.future], type$.JSArray_Future_dynamic), type$.dynamic), $async$blockWhileInProgress$1);
            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;
              if (($async$self.BlockingActionMixin__disposed.future._state & 30) === 0)
                $async$self.setState$1(new A.BlockingActionMixin_blockWhileInProgress_closure0($async$self));
              // 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$blockWhileInProgress$1, $async$completer);
    }
  };
  A.BlockingActionMixin_blockWhileInProgress_closure.prototype = {
    call$0() {
      this.$this.BlockingActionMixin__actionInProgress = true;
    },
    $signature: 0
  };
  A.BlockingActionMixin_blockWhileInProgress_closure0.prototype = {
    call$0() {
      this.$this.BlockingActionMixin__actionInProgress = false;
    },
    $signature: 0
  };
  A.CustomPointerScrollView.prototype = {
    build$1(context) {
      var _this = this,
        slivers = _this.buildSlivers$1(context),
        t1 = A.getAxisDirectionFromAxisReverseAndDirectionality(context, _this.scrollDirection, false),
        t2 = _this._custom_pointer_scroll_view$_primary,
        scrollController = t2 ? A.PrimaryScrollController_of(context) : _this.controller,
        scrollable = new A.CustomPointerScrollable(t1, scrollController, _this.physics, new A.CustomPointerScrollView_build_closure(_this, t1, slivers), _this.semanticChildCount, _this.dragStartBehavior, _this.customPointerSignalHandler, null);
      return t2 ? A.PrimaryScrollController$none(scrollable) : scrollable;
    }
  };
  A.CustomPointerScrollView_build_closure.prototype = {
    call$2(context, offset) {
      return this.$this.buildViewport$4(context, offset, this.axisDirection, this.slivers);
    },
    $signature: 340
  };
  A.CustomPointerScrollable.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.LabeledGlobalKey_State_StatefulWidget;
      return new A._CustomPointerScrollableState(new A.LabeledGlobalKey(_null, t1), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_RawGestureDetectorState), new A.LabeledGlobalKey(_null, t1), B.Map_empty6, _null, _null, B._StateLifecycle_0);
    },
    viewportBuilder$2(arg0, arg1) {
      return this.viewportBuilder.call$2(arg0, arg1);
    }
  };
  A._CustomPointerScrollableState.prototype = {
    get$axisDirection() {
      return this._widget.axisDirection;
    },
    _custom_pointer_scroll_view$_updatePosition$0() {
      var t2, controller, oldPosition, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = A.ScrollConfiguration_of(t1);
      _this.___CustomPointerScrollableState__configuration = t1;
      t2 = _this._framework$_element;
      t2.toString;
      t2 = t1.getScrollPhysics$1(t2);
      _this._custom_pointer_scroll_view$_physics = t2;
      t1 = _this._widget.physics;
      if (t1 != null)
        _this._custom_pointer_scroll_view$_physics = t1.applyTo$1(t2);
      controller = _this._widget.controller;
      oldPosition = _this._custom_pointer_scroll_view$_position;
      if (oldPosition != null) {
        if (controller != null)
          controller.detach$1(0, oldPosition);
        A.scheduleMicrotask(oldPosition.get$dispose());
      }
      t1 = controller == null;
      if (t1)
        t2 = null;
      else {
        t2 = _this._custom_pointer_scroll_view$_physics;
        t2.toString;
        t2 = controller.createScrollPosition$3(t2, _this, oldPosition);
      }
      if (t2 == null) {
        t2 = _this._custom_pointer_scroll_view$_physics;
        t2.toString;
        t2 = A.ScrollPositionWithSingleContext$(_this, null, 0, true, oldPosition, t2);
      }
      _this._custom_pointer_scroll_view$_position = t2;
      if (!t1)
        controller.attach$1(t2);
    },
    saveOffset$1(offset) {
    },
    didChangeDependencies$0() {
      this._custom_pointer_scroll_view$_updatePosition$0();
      this.super$State$didChangeDependencies();
    },
    _custom_pointer_scroll_view$_shouldUpdatePosition$1(oldWidget) {
      var t1, t2, t3, _null = null,
        newPhysics = this._widget.physics,
        oldPhysics = oldWidget.physics;
      do {
        t1 = newPhysics == null;
        t2 = t1 ? _null : A.getRuntimeType(newPhysics);
        t3 = oldPhysics == null;
        if (t2 != (t3 ? _null : A.getRuntimeType(oldPhysics)))
          return true;
        newPhysics = t1 ? _null : newPhysics.parent;
        oldPhysics = t3 ? _null : oldPhysics.parent;
      } while (newPhysics != null || oldPhysics != null);
      t1 = this._widget.controller;
      t1 = t1 == null ? _null : A.getRuntimeType(t1);
      t2 = oldWidget.controller;
      return t1 != (t2 == null ? _null : A.getRuntimeType(t2));
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.controller;
      if (_this._widget.controller != t1) {
        if (t1 != null) {
          t2 = _this._custom_pointer_scroll_view$_position;
          t2.toString;
          t1.detach$1(0, t2);
        }
        t1 = _this._widget.controller;
        if (t1 != null) {
          t2 = _this._custom_pointer_scroll_view$_position;
          t2.toString;
          t1.attach$1(t2);
        }
      }
      if (_this._custom_pointer_scroll_view$_shouldUpdatePosition$1(oldWidget))
        _this._custom_pointer_scroll_view$_updatePosition$0();
    },
    dispose$0() {
      var t2, _this = this,
        t1 = _this._widget.controller;
      if (t1 != null) {
        t2 = _this._custom_pointer_scroll_view$_position;
        t2.toString;
        t1.detach$1(0, t2);
      }
      _this._custom_pointer_scroll_view$_position.dispose$0();
      _this.super$__CustomPointerScrollableState_State_TickerProviderStateMixin$dispose();
    },
    setSemanticsActions$1(actions) {
      var t1 = this._custom_pointer_scroll_view$_gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceSemanticsActions$1(actions);
    },
    setCanDrag$1(canDrag) {
      var t1, _this = this;
      if (canDrag === _this._custom_pointer_scroll_view$_lastCanDrag)
        t1 = !canDrag || A.axisDirectionToAxis(_this._widget.axisDirection) === _this._custom_pointer_scroll_view$_lastAxisDirection;
      else
        t1 = false;
      if (t1)
        return;
      if (!canDrag)
        _this._custom_pointer_scroll_view$_gestureRecognizers = B.Map_empty6;
      else {
        switch (A.axisDirectionToAxis(_this._widget.axisDirection).index) {
          case 1:
            _this._custom_pointer_scroll_view$_gestureRecognizers = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_mLh, new A.GestureRecognizerFactoryWithHandlers(new A._CustomPointerScrollableState_setCanDrag_closure(), new A._CustomPointerScrollableState_setCanDrag_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_VerticalDragGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
            break;
          case 0:
            _this._custom_pointer_scroll_view$_gestureRecognizers = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_Vq1, new A.GestureRecognizerFactoryWithHandlers(new A._CustomPointerScrollableState_setCanDrag_closure1(), new A._CustomPointerScrollableState_setCanDrag_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
            break;
        }
        canDrag = true;
      }
      _this._custom_pointer_scroll_view$_lastCanDrag = canDrag;
      _this._custom_pointer_scroll_view$_lastAxisDirection = A.axisDirectionToAxis(_this._widget.axisDirection);
      t1 = _this._custom_pointer_scroll_view$_gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceGestureRecognizers$1(_this._custom_pointer_scroll_view$_gestureRecognizers);
    },
    get$vsync() {
      return this;
    },
    setIgnorePointer$1(value) {
      var t1, _this = this;
      if (_this._custom_pointer_scroll_view$_shouldIgnorePointer === value)
        return;
      _this._custom_pointer_scroll_view$_shouldIgnorePointer = value;
      t1 = _this._custom_pointer_scroll_view$_ignorePointerKey;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1) != null)
        type$.RenderIgnorePointer._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject()).set$ignoring(_this._custom_pointer_scroll_view$_shouldIgnorePointer);
    },
    get$notificationContext() {
      return $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._custom_pointer_scroll_view$_gestureDetectorKey);
    },
    get$storageContext() {
      var t1 = this._framework$_element;
      t1.toString;
      return t1;
    },
    _custom_pointer_scroll_view$_handleDragDown$1(details) {
      this._custom_pointer_scroll_view$_hold = this._custom_pointer_scroll_view$_position.hold$1(this.get$_custom_pointer_scroll_view$_disposeHold());
    },
    _custom_pointer_scroll_view$_handleDragStart$1(details) {
      this._custom_pointer_scroll_view$_drag = this._custom_pointer_scroll_view$_position.drag$2(details, this.get$_custom_pointer_scroll_view$_disposeDrag());
    },
    _custom_pointer_scroll_view$_handleDragUpdate$1(details) {
      var t1 = this._custom_pointer_scroll_view$_drag;
      if (t1 != null)
        t1.update$1(0, details);
    },
    _custom_pointer_scroll_view$_handleDragEnd$1(details) {
      var t1 = this._custom_pointer_scroll_view$_drag;
      if (t1 != null)
        t1.end$1(0, details);
    },
    _custom_pointer_scroll_view$_handleDragCancel$0() {
      var t1 = this._custom_pointer_scroll_view$_hold;
      if (t1 != null)
        t1._scroll_activity$_delegate.goBallistic$1(0);
      t1 = this._custom_pointer_scroll_view$_drag;
      if (t1 != null)
        t1._scroll_activity$_delegate.goBallistic$1(0);
    },
    _custom_pointer_scroll_view$_disposeHold$0() {
      this._custom_pointer_scroll_view$_hold = null;
    },
    _custom_pointer_scroll_view$_disposeDrag$0() {
      this._custom_pointer_scroll_view$_drag = null;
    },
    _custom_pointer_scroll_view$_targetScrollOffsetForPointerScroll$1($event) {
      var t1, t2, t3,
        delta = A.axisDirectionToAxis(this._widget.axisDirection) === B.Axis_0 ? $event.get$scrollDelta()._dx : $event.get$scrollDelta()._dy;
      if (A.axisDirectionIsReversed(this._widget.axisDirection))
        delta *= -1;
      t1 = this._custom_pointer_scroll_view$_position;
      t2 = t1._pixels;
      t2.toString;
      t3 = t1._minScrollExtent;
      t3.toString;
      t3 = Math.max(t2 + delta, t3);
      t1 = t1._maxScrollExtent;
      t1.toString;
      return Math.min(t3, t1);
    },
    _custom_pointer_scroll_view$_receivedPointerSignal$1($event) {
      var targetScrollOffset, t1, _this = this;
      if (type$.PointerScrollEvent._is($event) && _this._custom_pointer_scroll_view$_position != null) {
        targetScrollOffset = _this._custom_pointer_scroll_view$_targetScrollOffsetForPointerScroll$1($event);
        t1 = _this._custom_pointer_scroll_view$_position._pixels;
        t1.toString;
        if (targetScrollOffset !== t1)
          $.GestureBinding__instance.GestureBinding_pointerSignalResolver.register$2(0, $event, _this.get$_custom_pointer_scroll_view$_handlePointerScroll());
      }
    },
    _custom_pointer_scroll_view$_handlePointerScroll$1($event) {
      var t2, targetScrollOffset, _this = this,
        t1 = _this._custom_pointer_scroll_view$_physics;
      if (t1 != null) {
        t2 = _this._custom_pointer_scroll_view$_position;
        t2.toString;
        t2 = !t1.shouldAcceptUserOffset$1(t2);
        t1 = t2;
      } else
        t1 = false;
      if (t1)
        return;
      targetScrollOffset = _this._custom_pointer_scroll_view$_targetScrollOffsetForPointerScroll$1($event);
      t1 = _this._custom_pointer_scroll_view$_position;
      t2 = t1._pixels;
      t2.toString;
      if (targetScrollOffset !== t2)
        t1.jumpTo$1(targetScrollOffset);
    },
    build$1(context) {
      var t2, t3, t4, t5, result, _this = this, _null = null,
        t1 = _this._custom_pointer_scroll_view$_position;
      t1.toString;
      t2 = _this._widget;
      t3 = t2.customPointerSignalHandler;
      if (t3 == null)
        t3 = _this.get$_custom_pointer_scroll_view$_receivedPointerSignal();
      t4 = _this._custom_pointer_scroll_view$_gestureRecognizers;
      t5 = _this._custom_pointer_scroll_view$_shouldIgnorePointer;
      t2 = t2.viewportBuilder$2(context, t1);
      t2 = A.Listener$(B.HitTestBehavior_0, new A.RawGestureDetector(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, new A.IgnorePointer(t5, false, t2, _this._custom_pointer_scroll_view$_ignorePointerKey), _null), t4, B.HitTestBehavior_1, false, _null, _this._custom_pointer_scroll_view$_gestureDetectorKey), _null, _null, _null, t3, _null);
      t3 = _this._widget;
      t3.toString;
      t4 = _this._custom_pointer_scroll_view$_position;
      t4.toString;
      t5 = t3.physics != null || _null;
      if (t5 == null) {
        _this._custom_pointer_scroll_view$_physics.toString;
        t5 = true;
      }
      result = new A._ScrollSemantics0(t4, t5, t3.semanticChildCount, new A._ScrollableScope0(t1, t2, _null), _this._custom_pointer_scroll_view$_scrollSemanticsKey);
      t1 = _this.___CustomPointerScrollableState__configuration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t3.controller;
      t2.toString;
      return t1.buildOverscrollIndicator$3(context, result, new A.ScrollableDetails(t3.axisDirection, t2));
    }
  };
  A._CustomPointerScrollableState_setCanDrag_closure.prototype = {
    call$0() {
      return A.VerticalDragGestureRecognizer$(null, null);
    },
    $signature: 145
  };
  A._CustomPointerScrollableState_setCanDrag_closure0.prototype = {
    call$1(instance) {
      var t2,
        t1 = this.$this;
      instance.onDown = t1.get$_custom_pointer_scroll_view$_handleDragDown();
      instance.onStart = t1.get$_custom_pointer_scroll_view$_handleDragStart();
      instance.onUpdate = t1.get$_custom_pointer_scroll_view$_handleDragUpdate();
      instance.onEnd = t1.get$_custom_pointer_scroll_view$_handleDragEnd();
      instance.onCancel = t1.get$_custom_pointer_scroll_view$_handleDragCancel();
      t2 = t1._custom_pointer_scroll_view$_physics;
      instance.minFlingDistance = t2 == null ? null : t2.get$minFlingDistance();
      t2 = t1._custom_pointer_scroll_view$_physics;
      instance.minFlingVelocity = t2 == null ? null : t2.get$minFlingVelocity();
      t2 = t1._custom_pointer_scroll_view$_physics;
      instance.maxFlingVelocity = t2 == null ? null : t2.get$maxFlingVelocity();
      instance.dragStartBehavior = t1._widget.dragStartBehavior;
    },
    $signature: 148
  };
  A._CustomPointerScrollableState_setCanDrag_closure1.prototype = {
    call$0() {
      return A.HorizontalDragGestureRecognizer$(null, null);
    },
    $signature: 152
  };
  A._CustomPointerScrollableState_setCanDrag_closure2.prototype = {
    call$1(instance) {
      var t2,
        t1 = this.$this;
      instance.onDown = t1.get$_custom_pointer_scroll_view$_handleDragDown();
      instance.onStart = t1.get$_custom_pointer_scroll_view$_handleDragStart();
      instance.onUpdate = t1.get$_custom_pointer_scroll_view$_handleDragUpdate();
      instance.onEnd = t1.get$_custom_pointer_scroll_view$_handleDragEnd();
      instance.onCancel = t1.get$_custom_pointer_scroll_view$_handleDragCancel();
      t2 = t1._custom_pointer_scroll_view$_physics;
      instance.minFlingDistance = t2 == null ? null : t2.get$minFlingDistance();
      t2 = t1._custom_pointer_scroll_view$_physics;
      instance.minFlingVelocity = t2 == null ? null : t2.get$minFlingVelocity();
      t2 = t1._custom_pointer_scroll_view$_physics;
      instance.maxFlingVelocity = t2 == null ? null : t2.get$maxFlingVelocity();
      instance.dragStartBehavior = t1._widget.dragStartBehavior;
    },
    $signature: 153
  };
  A._ScrollableScope0.prototype = {
    updateShouldNotify$1(old) {
      return this.position !== old.position;
    }
  };
  A._ScrollSemantics0.prototype = {
    createRenderObject$1(context) {
      var t1 = this.position,
        t2 = new A._RenderScrollSemantics0(t1, true, this.semanticChildCount, null, A.LayerHandle$(type$.ContainerLayer_2));
      t2.RenderObject$0();
      t2.set$child(null);
      t1.addListener$1(0, t2.get$markNeedsSemanticsUpdate());
      return t2;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$allowImplicitScrolling(true);
      renderObject.set$position(0, this.position);
      renderObject.set$semanticChildCount(this.semanticChildCount);
    }
  };
  A._RenderScrollSemantics0.prototype = {
    set$position(_, value) {
      var t2, _this = this,
        t1 = _this._custom_pointer_scroll_view$_position;
      if (value === t1)
        return;
      t2 = _this.get$markNeedsSemanticsUpdate();
      t1.removeListener$1(0, t2);
      _this._custom_pointer_scroll_view$_position = value;
      value.addListener$1(0, t2);
      _this.markNeedsSemanticsUpdate$0();
    },
    set$allowImplicitScrolling(value) {
      return;
    },
    set$semanticChildCount(value) {
      if (value == this._custom_pointer_scroll_view$_semanticChildCount)
        return;
      this._custom_pointer_scroll_view$_semanticChildCount = value;
      this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1(config) {
      var t1, t2, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      config._isSemanticBoundary = true;
      if (_this._custom_pointer_scroll_view$_position._haveDimensions) {
        config._setFlag$2(B.SemanticsFlag_262144, true);
        t1 = _this._custom_pointer_scroll_view$_position;
        t2 = t1._pixels;
        t2.toString;
        config._scrollPosition = t2;
        config._hasBeenAnnotated = true;
        t2 = t1._maxScrollExtent;
        t2.toString;
        config._scrollExtentMax = t2;
        t1 = t1._minScrollExtent;
        t1.toString;
        config._scrollExtentMin = t1;
        config.set$scrollChildCount(_this._custom_pointer_scroll_view$_semanticChildCount);
      }
    },
    assembleSemanticsNode$3(node, config, children) {
      var t1, t2, excluded, included, firstVisibleIndex, _i, child, _this = this;
      if (children.length !== 0) {
        t1 = B.JSArray_methods.get$first(children).tags;
        t1 = !(t1 != null && t1.contains$1(0, B.SemanticsTag_FIw));
      } else
        t1 = true;
      if (t1) {
        _this.super$RenderObject$assembleSemanticsNode(node, config, children);
        return;
      }
      t1 = _this._custom_pointer_scroll_view$_innerNode;
      if (t1 == null)
        t1 = _this._custom_pointer_scroll_view$_innerNode = A.SemanticsNode$(null, _this.get$showOnScreen());
      t1.set$isMergedIntoParent(node._mergeAllDescendantsIntoThisNode || node._isMergedIntoParent);
      t2 = node._rect;
      t1.set$rect(0, new A.Rect(0, 0, 0 + (t2.right - t2.left), 0 + (t2.bottom - t2.top)));
      t2 = _this._custom_pointer_scroll_view$_innerNode;
      t2.toString;
      t1 = type$.JSArray_SemanticsNode;
      excluded = A._setArrayType([t2], t1);
      included = A._setArrayType([], t1);
      for (t1 = children.length, firstVisibleIndex = null, _i = 0; _i < children.length; children.length === t1 || (0, A.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        t2 = child.tags;
        if (t2 != null && t2.contains$1(0, B.SemanticsTag_bQQ))
          excluded.push(child);
        else {
          if ((child._flags & 8192) === 0)
            firstVisibleIndex = firstVisibleIndex == null ? child.indexInParent : firstVisibleIndex;
          included.push(child);
        }
      }
      config.set$scrollIndex(firstVisibleIndex);
      node.updateWith$2$childrenInInversePaintOrder$config(0, excluded, null);
      _this._custom_pointer_scroll_view$_innerNode.updateWith$2$childrenInInversePaintOrder$config(0, included, config);
    },
    clearSemantics$0() {
      this.super$RenderObject$clearSemantics();
      this._custom_pointer_scroll_view$_innerNode = null;
    }
  };
  A.__CustomPointerScrollableState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.EnumUtils.prototype = {
    EnumUtils$1(enumValues, $T) {
      var t1, t2, t3, _i, val, enumDescription;
      for (t1 = enumValues.length, t2 = this._lookupTable, t3 = this._reverseLookupTable, _i = 0; _i < t1; ++_i) {
        val = enumValues[_i];
        enumDescription = A.describeEnum(val);
        t2.$indexSet(0, enumDescription, val);
        t3.$indexSet(0, val, enumDescription);
      }
    },
    name$1(_, enumEntry) {
      return this._reverseLookupTable.$index(0, enumEntry);
    }
  };
  A.EnumIndexOrdering.prototype = {
    compareTo$1(_, other) {
      return B.JSInt_methods.compareTo$1(this.index, other.index);
    },
    $lt(_, other) {
      return B.JSInt_methods.$lt(this.index, B.JSInt_methods.get$index(other));
    },
    $gt(_, other) {
      return this.index > other.index;
    }
  };
  A._ExtentDelegateChangeNotifier.prototype = {};
  A.ExtentDelegate.prototype = {
    recompute$0() {
      this._layoutDirty.notifyListeners$0();
    }
  };
  A.FixedExtentDelegateBase.prototype = {
    get$length(_) {
      var t1 = this.__FixedExtentDelegateBase__offsets;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.length - 1;
    },
    recompute$0() {
      var offset, i, t3, _this = this,
        t1 = _this._computeLength.call$0(),
        t2 = A.List_List$filled(t1 + 1, 0, false, type$.double);
      _this.__FixedExtentDelegateBase__offsets = t2;
      t2[0] = 0;
      for (t2 = _this._computeExtent, offset = 0, i = 0; i < t1;) {
        offset += t2.call$1(i);
        t3 = _this.__FixedExtentDelegateBase__offsets;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        ++i;
        t3[i] = offset;
      }
      _this.super$ExtentDelegate$recompute();
    },
    itemExtent$1(index) {
      var t1 = this.__FixedExtentDelegateBase__offsets;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (index >= t1.length - 1)
        return 0;
      return t1[index + 1] - t1[index];
    },
    layoutOffset$1(index) {
      var t1;
      index.toString;
      t1 = this.__FixedExtentDelegateBase__offsets;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (index >= t1.length)
        return B.JSArray_methods.get$last(t1);
      return t1[index];
    },
    minChildIndexForScrollOffset$1(scrollOffset) {
      var index,
        t1 = this.__FixedExtentDelegateBase__offsets;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      index = A.lowerBound(t1, scrollOffset, null, type$.double);
      if (index === 0)
        return 0;
      t1 = this.__FixedExtentDelegateBase__offsets;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return index >= t1.length || Math.abs(t1[index] - scrollOffset) > 1e-10 ? index - 1 : index;
    },
    maxChildIndexForScrollOffset$1(endScrollOffset) {
      var index,
        t1 = this.__FixedExtentDelegateBase__offsets;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      index = A.lowerBound(t1, endScrollOffset, null, type$.double);
      if (index === 0)
        return 0;
      return index - 1;
    }
  };
  A.FixedExtentDelegate.prototype = {};
  A.ExtentDelegateListView.prototype = {
    buildChildLayout$1(context) {
      return new A.SliverExtentDelegateList(this.extentDelegate, this.childrenDelegate, null);
    }
  };
  A.SliverExtentDelegateList.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderSliverExtentDelegateBoxAdaptor(type$.SliverMultiBoxAdaptorElement._as(context), A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1._markNeedsLayout = t1.get$markNeedsLayout();
      t1.set$extentDelegate(this.extentDelegate);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.markNeedsLayout$0();
      renderObject.set$extentDelegate(this.extentDelegate);
    }
  };
  A.RenderSliverExtentDelegateBoxAdaptor.prototype = {
    set$extentDelegate(delegate) {
      var t2, _this = this,
        t1 = _this._extentDelegate;
      if (delegate === t1)
        return;
      if (t1 != null) {
        t1 = t1._layoutDirty;
        t2 = _this._markNeedsLayout;
        t2.toString;
        t1.removeListener$1(0, t2);
      }
      t1 = _this._markNeedsLayout;
      t1.toString;
      delegate._layoutDirty.addListener$1(0, t1);
      _this._extentDelegate = delegate;
    },
    _extent_delegate_list$_calculateLeadingGarbage$1(firstIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__firstChild,
        t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"),
        t2 = type$.SliverMultiBoxAdaptorParentData,
        leadingGarbage = 0;
      while (true) {
        if (walker != null) {
          t3 = walker.parentData;
          t3.toString;
          t3 = t2._as(t3).index;
          t3.toString;
          t3 = t3 < firstIndex;
        } else
          t3 = false;
        if (!t3)
          break;
        ++leadingGarbage;
        t3 = walker.parentData;
        t3.toString;
        walker = t1._as(t3).ContainerParentDataMixin_nextSibling;
      }
      return leadingGarbage;
    },
    _extent_delegate_list$_calculateTrailingGarbage$1(targetLastIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__lastChild,
        t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"),
        t2 = type$.SliverMultiBoxAdaptorParentData,
        trailingGarbage = 0;
      while (true) {
        if (walker != null) {
          t3 = walker.parentData;
          t3.toString;
          t3 = t2._as(t3).index;
          t3.toString;
          targetLastIndex.toString;
          t3 = t3 > targetLastIndex;
        } else
          t3 = false;
        if (!t3)
          break;
        ++trailingGarbage;
        t3 = walker.parentData;
        t3.toString;
        walker = t1._as(t3).ContainerParentDataMixin_previousSibling;
      }
      return trailingGarbage;
    },
    buildChildConstraints$1(index) {
      var currentItemExtent = this._extentDelegate.itemExtent$1(index);
      return type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent);
    },
    performLayout$0() {
      var t2, scrollOffset, targetEndScrollOffset, firstIndex, targetLastIndex, max, t3, t4, index, trailingChildWithLayout, currentItemExtent, child, estimatedMaxScrollOffset, t5, t6, t7, childParentData, leadingScrollOffset, trailingScrollOffset, paintExtent, cacheExtent, targetEndScrollOffsetForPaint, targetLastIndexForPaint, _this = this, _null = null,
        t1 = _this._childManager;
      t1._didUnderflow = false;
      t2 = type$.SliverConstraints;
      scrollOffset = t2._as(A.RenderObject.prototype.get$constraints.call(_this)).scrollOffset + t2._as(A.RenderObject.prototype.get$constraints.call(_this)).cacheOrigin;
      targetEndScrollOffset = scrollOffset + t2._as(A.RenderObject.prototype.get$constraints.call(_this)).remainingCacheExtent;
      firstIndex = _this._extentDelegate.minChildIndexForScrollOffset$1(scrollOffset);
      targetLastIndex = isFinite(targetEndScrollOffset) ? _this._extentDelegate.maxChildIndexForScrollOffset$1(targetEndScrollOffset) : _null;
      if (_this.ContainerRenderObjectMixin__firstChild != null)
        _this.collectGarbage$2(_this._extent_delegate_list$_calculateLeadingGarbage$1(firstIndex), _this._extent_delegate_list$_calculateTrailingGarbage$1(targetLastIndex));
      else
        _this.collectGarbage$2(0, 0);
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        if (!_this.addInitialChild$2$index$layoutOffset(firstIndex, _this._extentDelegate.layoutOffset$1(firstIndex))) {
          t2 = _this._extentDelegate;
          t2.toString;
          max = t2.layoutOffset$1(t1.get$childCount());
          t2 = _this._extentDelegate;
          _this._geometry = A.SliverGeometry$(_null, false, _null, _null, max, 0, 0, t2.layoutOffset$1(t2.get$length(t2)), _null);
          t1.didFinishLayout$0();
          return;
        }
      t3 = _this.ContainerRenderObjectMixin__firstChild;
      t3.toString;
      t3 = t3.parentData;
      t3.toString;
      t4 = type$.SliverMultiBoxAdaptorParentData;
      t3 = t4._as(t3).index;
      t3.toString;
      index = t3 - 1;
      trailingChildWithLayout = _null;
      for (; index >= firstIndex; --index) {
        currentItemExtent = _this._extentDelegate.itemExtent$1(index);
        child = _this.insertAndLayoutLeadingChild$1(t2._as(A.RenderObject.prototype.get$constraints.call(_this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent));
        if (child == null) {
          _this._geometry = A.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, _this._extentDelegate.layoutOffset$1(index));
          return;
        }
        t4._as(child.parentData).layoutOffset = _this._extentDelegate.layoutOffset$1(index);
        if (trailingChildWithLayout == null)
          trailingChildWithLayout = child;
      }
      if (trailingChildWithLayout == null) {
        t3 = _this.ContainerRenderObjectMixin__firstChild;
        t3.toString;
        t3.layout$1(_this.buildChildConstraints$1(firstIndex));
        t4._as(_this.ContainerRenderObjectMixin__firstChild.parentData).layoutOffset = _this._extentDelegate.layoutOffset$1(firstIndex);
        trailingChildWithLayout = _this.ContainerRenderObjectMixin__firstChild;
      }
      t3 = _this._extentDelegate;
      estimatedMaxScrollOffset = t3.layoutOffset$1(t3.get$length(t3));
      t3 = trailingChildWithLayout.parentData;
      t3.toString;
      t3 = t4._as(t3).index;
      t3.toString;
      index = t3 + 1;
      t3 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      t5 = targetLastIndex != null;
      while (true) {
        if (!(!t5 || index <= targetLastIndex))
          break;
        t6 = trailingChildWithLayout.parentData;
        t6.toString;
        child = t3._as(t6).ContainerParentDataMixin_nextSibling;
        if (child != null) {
          t6 = child.parentData;
          t6.toString;
          t6 = t4._as(t6).index;
          t6.toString;
          t6 = t6 !== index;
        } else
          t6 = true;
        t7 = _this._extentDelegate;
        if (t6) {
          currentItemExtent = t7.itemExtent$1(index);
          child = _this.insertAndLayoutChild$2$after(t2._as(A.RenderObject.prototype.get$constraints.call(_this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent), trailingChildWithLayout);
          if (child == null) {
            estimatedMaxScrollOffset = _this._extentDelegate.layoutOffset$1(index + 1);
            break;
          }
        } else {
          currentItemExtent = t7.itemExtent$1(index);
          child.layout$1(t2._as(A.RenderObject.prototype.get$constraints.call(_this)).asBoxConstraints$2$maxExtent$minExtent(currentItemExtent, currentItemExtent));
        }
        childParentData = t4._as(child.parentData);
        childParentData.layoutOffset = _this._extentDelegate.layoutOffset$1(childParentData.index);
        ++index;
        trailingChildWithLayout = child;
      }
      t3 = _this.ContainerRenderObjectMixin__lastChild;
      t3.toString;
      t3 = t3.parentData;
      t3.toString;
      t3 = t4._as(t3).index;
      t3.toString;
      leadingScrollOffset = _this._extentDelegate.layoutOffset$1(firstIndex);
      trailingScrollOffset = _this._extentDelegate.layoutOffset$1(t3 + 1);
      estimatedMaxScrollOffset = Math.min(estimatedMaxScrollOffset, t1.estimateMaxScrollOffset$5$firstIndex$lastIndex$leadingScrollOffset$trailingScrollOffset(t2._as(A.RenderObject.prototype.get$constraints.call(_this)), firstIndex, t3, leadingScrollOffset, trailingScrollOffset));
      paintExtent = _this.calculatePaintOffset$3$from$to(t2._as(A.RenderObject.prototype.get$constraints.call(_this)), leadingScrollOffset, trailingScrollOffset);
      cacheExtent = _this.calculateCacheOffset$3$from$to(t2._as(A.RenderObject.prototype.get$constraints.call(_this)), leadingScrollOffset, trailingScrollOffset);
      targetEndScrollOffsetForPaint = t2._as(A.RenderObject.prototype.get$constraints.call(_this)).scrollOffset + t2._as(A.RenderObject.prototype.get$constraints.call(_this)).remainingPaintExtent;
      targetLastIndexForPaint = isFinite(targetEndScrollOffsetForPaint) ? _this._extentDelegate.maxChildIndexForScrollOffset$1(targetEndScrollOffsetForPaint) : _null;
      t4 = _this._extentDelegate;
      t4 = t4.layoutOffset$1(t4.get$length(t4));
      _this._geometry = A.SliverGeometry$(cacheExtent, targetLastIndexForPaint != null && t3 >= targetLastIndexForPaint || t2._as(A.RenderObject.prototype.get$constraints.call(_this)).scrollOffset > 0, _null, _null, estimatedMaxScrollOffset, paintExtent, 0, t4, _null);
      if (estimatedMaxScrollOffset === trailingScrollOffset)
        t1._didUnderflow = true;
      t1.didFinishLayout$0();
    }
  };
  A.LinkedScrollControllerGroup.prototype = {
    addAndGet$0() {
      var initialScrollOffset, t2, controller, _this = this,
        t1 = _this.get$_attachedControllers();
      if (!t1.get$iterator(t1).moveNext$0())
        initialScrollOffset = 0;
      else {
        t1 = _this.get$_attachedControllers();
        t1 = t1.get$first(t1);
        t2 = J.getInterceptor$x(t1);
        t1 = type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(t2, t1))._pixels;
        t1.toString;
        initialScrollOffset = t1;
      }
      controller = new A._LinkedScrollController(_this, initialScrollOffset, A._setArrayType([], type$.JSArray_ScrollPosition), $.$get$ChangeNotifier__emptyListeners());
      _this._allControllers.push(controller);
      t1 = _this.__LinkedScrollControllerGroup__offsetNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      controller.addListener$1(0, t1.get$notifyListeners());
      return controller;
    },
    get$_attachedControllers() {
      var t1 = this._allControllers;
      return new A.WhereIterable(t1, new A.LinkedScrollControllerGroup__attachedControllers_closure(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
    },
    animateTo$3$curve$duration(offset, curve, duration) {
      return this.animateTo$body$LinkedScrollControllerGroup(offset, curve, duration);
    },
    animateTo$body$LinkedScrollControllerGroup(offset, curve, duration) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$animateTo$3$curve$duration = 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.get$_attachedControllers();
              $async$goto = !t1.get$isEmpty(t1) ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $async$self.get$_attachedControllers();
              $async$goto = 4;
              return A._asyncAwait(t1.get$first(t1).animateTo$3$curve$duration(offset, curve, duration), $async$animateTo$3$curve$duration);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$animateTo$3$curve$duration, $async$completer);
    },
    jumpTo$1(value) {
      var t1 = this.get$_attachedControllers();
      if (!t1.get$isEmpty(t1)) {
        t1 = this.get$_attachedControllers();
        t1.get$first(t1).jumpTo$1(value);
      }
    }
  };
  A.LinkedScrollControllerGroup__attachedControllers_closure.prototype = {
    call$1(controller) {
      return controller._positions.length !== 0;
    },
    $signature: 237
  };
  A._LinkedScrollControllerGroupOffsetNotifier.prototype = {
    notifyListeners$0() {
      var _this = this,
        t1 = _this.controllerGroup.get$_attachedControllers();
      t1 = J.get$position$x(t1.get$first(t1))._pixels;
      t1.toString;
      if (t1 !== _this._cachedOffset) {
        _this._cachedOffset = t1;
        _this.super$ChangeNotifier$notifyListeners();
      }
    }
  };
  A._LinkedScrollController.prototype = {
    dispose$0() {
      B.JSArray_methods.remove$1(this._controllers._allControllers, this);
      this.super$ScrollController$dispose();
    },
    attach$1(position) {
      this.super$ScrollController$attach(type$._LinkedScrollPosition._as(position));
    },
    createScrollPosition$3(physics, context, oldPosition) {
      var t1 = $.$get$ChangeNotifier__emptyListeners();
      t1 = new A._LinkedScrollPosition(this, A.LinkedHashSet_LinkedHashSet$_empty(type$._LinkedScrollActivity), B.ScrollDirection_0, physics, context, true, null, new A.ValueNotifier(false, t1, type$.ValueNotifier_bool), t1);
      t1.ScrollPosition$5$context$debugLabel$keepScrollOffset$oldPosition$physics(context, null, true, oldPosition, physics);
      t1.ScrollPositionWithSingleContext$6$context$debugLabel$initialPixels$keepScrollOffset$oldPosition$physics(context, null, this._initialScrollOffset, true, oldPosition, physics);
      return t1;
    },
    get$position(_) {
      return type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(this, this));
    },
    get$_allPeersWithClients() {
      var t1 = this._controllers.get$_attachedControllers();
      return new A.WhereIterable(t1, new A._LinkedScrollController__allPeersWithClients_closure(this), t1.$ti._eval$1("WhereIterable<Iterable.E>"));
    },
    linkWithPeers$1(driver) {
      var t1 = this.get$_allPeersWithClients(),
        t2 = t1.$ti._eval$1("MappedIterable<1,Iterable<_LinkedScrollActivity>>");
      return new A.ExpandIterable(new A.MappedIterable(t1, new A._LinkedScrollController_linkWithPeers_closure(driver), t2), new A._LinkedScrollController_linkWithPeers_closure0(), t2._eval$1("ExpandIterable<Iterable.E,_LinkedScrollActivity>"));
    },
    link$1(driver) {
      var t1, t2, t3, t4, _i, t5, activity,
        activities = A._setArrayType([], type$.JSArray__LinkedScrollActivity);
      for (t1 = this._positions, t2 = t1.length, t3 = type$._LinkedScrollActivity, t4 = type$._LinkedScrollPosition, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        t5 = t4._as(t1[_i]);
        if (!(t5._activity instanceof A._LinkedScrollActivity))
          t5.beginActivity$1(new A._LinkedScrollActivity(A.LinkedHashSet_LinkedHashSet$_empty(t4), t5));
        activity = t3._as(t5._activity);
        activity.drivers.add$1(0, driver);
        activities.push(activity);
      }
      return activities;
    }
  };
  A._LinkedScrollController__allPeersWithClients_closure.prototype = {
    call$1(peer) {
      return peer !== this.$this;
    },
    $signature: 237
  };
  A._LinkedScrollController_linkWithPeers_closure.prototype = {
    call$1(peer) {
      return peer.link$1(this.driver);
    },
    $signature: 1197
  };
  A._LinkedScrollController_linkWithPeers_closure0.prototype = {
    call$1(e) {
      return e;
    },
    $signature: 1198
  };
  A._LinkedScrollPosition.prototype = {
    hold$1(holdCancelCallback) {
      var t1, t2, t3, t4;
      for (t1 = this.owner.get$_allPeersWithClients(), t2 = J.get$iterator$ax(t1.__internal$_iterable), t1 = new A.WhereIterator(t2, t1._f, t1.$ti._eval$1("WhereIterator<1>")), t3 = type$._LinkedScrollPosition; t1.moveNext$0();) {
        t4 = t2.get$current(t2);
        t3._as(A.ScrollController.prototype.get$position.call(t4, t4))._holdInternal$0();
      }
      return this.super$ScrollPositionWithSingleContext$hold(holdCancelCallback);
    },
    _holdInternal$0() {
      this.super$ScrollPositionWithSingleContext$hold(new A._LinkedScrollPosition__holdInternal_closure());
    },
    beginActivity$1(newActivity) {
      var t1, t2, t3, t4, t5, t6;
      for (t1 = this._peerActivities, t2 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t3 = t2.$ti._precomputed1, t4 = type$._LinkedScrollPosition; t2.moveNext$0();) {
        t5 = t2._collection$_current;
        if (t5 == null)
          t5 = t3._as(t5);
        t6 = t5.drivers;
        t6.remove$1(0, this);
        if (t6._collection$_length === 0) {
          t5 = t4._as(A.ScrollActivity.prototype.get$delegate.call(t5));
          t5.beginActivity$1(new A.IdleScrollActivity(t5));
        }
      }
      t1.clear$0(0);
      this.super$ScrollPositionWithSingleContext$beginActivity(newActivity);
    },
    setPixels$1(newPixels) {
      var t2, t3, t4, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (newPixels === t1)
        return 0;
      _this.super$ScrollPositionWithSingleContext$updateUserScrollDirection(newPixels - t1 > 0 ? B.ScrollDirection_1 : B.ScrollDirection_2);
      t1 = _this.owner;
      t2 = t1.get$_allPeersWithClients();
      if (!t2.get$isEmpty(t2)) {
        t2 = _this._peerActivities;
        t2.addAll$1(0, t1.linkWithPeers$1(_this));
        for (t1 = A._LinkedHashSetIterator$(t2, t2._collection$_modifications, A._instanceType(t2)._precomputed1), t2 = type$._LinkedScrollPosition, t3 = t1.$ti._precomputed1; t1.moveNext$0();) {
          t4 = t1._collection$_current;
          if (t4 == null)
            t4 = t3._as(t4);
          t4._updateUserScrollDirection$0();
          t2._as(A.ScrollActivity.prototype.get$delegate.call(t4)).super$ScrollPositionWithSingleContext$setPixels(newPixels);
        }
      }
      return _this.super$ScrollPositionWithSingleContext$setPixels(newPixels);
    },
    forcePixels$1(value) {
      var t2, t3, t4, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (value === t1)
        return;
      _this.super$ScrollPositionWithSingleContext$updateUserScrollDirection(value - t1 > 0 ? B.ScrollDirection_1 : B.ScrollDirection_2);
      t1 = _this.owner;
      t2 = t1.get$_allPeersWithClients();
      if (!t2.get$isEmpty(t2)) {
        t2 = _this._peerActivities;
        t2.addAll$1(0, t1.linkWithPeers$1(_this));
        for (t1 = A._LinkedHashSetIterator$(t2, t2._collection$_modifications, A._instanceType(t2)._precomputed1), t2 = type$._LinkedScrollPosition, t3 = t1.$ti._precomputed1; t1.moveNext$0();) {
          t4 = t1._collection$_current;
          if (t4 == null)
            t4 = t3._as(t4);
          t4._updateUserScrollDirection$0();
          t2._as(A.ScrollActivity.prototype.get$delegate.call(t4)).super$ScrollPosition$forcePixels(value);
        }
      }
      _this.super$ScrollPosition$forcePixels(value);
    },
    updateUserScrollDirection$1(value) {
      this.super$ScrollPositionWithSingleContext$updateUserScrollDirection(value);
    },
    debugFillDescription$1(description) {
      this.super$ScrollPositionWithSingleContext$debugFillDescription(description);
      description.push("owner: " + this.owner.toString$0(0));
    }
  };
  A._LinkedScrollPosition__holdInternal_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._LinkedScrollActivity.prototype = {
    get$shouldIgnorePointer() {
      return true;
    },
    get$isScrolling() {
      return true;
    },
    get$velocity() {
      return 0;
    },
    _updateUserScrollDirection$0() {
      var t1, t2, commonDirection, t3;
      for (t1 = this.drivers, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1, commonDirection = null; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (commonDirection == null)
          commonDirection = t3._userScrollDirection;
        if (t3._userScrollDirection !== commonDirection)
          commonDirection = B.ScrollDirection_0;
      }
      t1 = type$._LinkedScrollPosition._as(A.ScrollActivity.prototype.get$delegate.call(this));
      commonDirection.toString;
      t1.super$ScrollPositionWithSingleContext$updateUserScrollDirection(commonDirection);
    },
    dispose$0() {
      var t1, t2, t3;
      for (t1 = this.drivers, 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)._peerActivities.remove$1(0, this);
      }
      this.super$ScrollActivity$dispose();
    }
  };
  A.LineSegment0.prototype = {
    toString$0(_) {
      return this.start.toString$0(0) + " --> " + this.end.toString$0(0);
    }
  };
  A.HorizontalLineSegment.prototype = {
    crossAxisIntersects$1(rect) {
      var t1 = this.start._dy;
      return t1 >= rect.top && t1 <= rect.bottom;
    },
    compareTo$1(_, other) {
      var t1 = this.start,
        t2 = other.start,
        compare = B.JSNumber_methods.compareTo$1(t1._dy, t2._dy);
      if (compare === 0)
        return B.JSNumber_methods.compareTo$1(t1._dx, t2._dx);
      return compare;
    },
    toZoomed$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom(unzoomableOffsetLineEnd, unzoomableOffsetLineStart, zoom) {
      var t1 = this.start,
        t2 = this.end;
      return new A.HorizontalLineSegment(new A.Offset((t1._dx - unzoomableOffsetLineStart) * zoom + unzoomableOffsetLineStart, t1._dy), new A.Offset((t2._dx - unzoomableOffsetLineEnd) * zoom + unzoomableOffsetLineEnd, t2._dy), this.opacity);
    },
    $isComparable: 1
  };
  A.VerticalLineSegment.prototype = {
    crossAxisIntersects$1(rect) {
      var t1 = this.start._dx;
      return t1 >= rect.left && t1 <= rect.right;
    },
    compareTo$1(_, other) {
      var t1 = this.start,
        t2 = other.start,
        compare = B.JSNumber_methods.compareTo$1(t1._dx, t2._dx);
      if (compare === 0)
        return B.JSNumber_methods.compareTo$1(t1._dy, t2._dy);
      return compare;
    },
    toZoomed$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom(unzoomableOffsetLineEnd, unzoomableOffsetLineStart, zoom) {
      var t1 = this.start,
        zoomedLineStartX = (t1._dx - unzoomableOffsetLineStart) * zoom + unzoomableOffsetLineStart;
      return new A.VerticalLineSegment(new A.Offset(zoomedLineStartX, t1._dy), new A.Offset(zoomedLineStartX, this.end._dy), this.opacity);
    },
    $isComparable: 1
  };
  A.HistoryManager.prototype = {
    clear$0(_) {
      B.JSArray_methods.clear$0(this._history_manager$_history);
      this._historyIndex = -1;
      this._history_manager$_current.set$value(0, null);
    },
    get$hasNext() {
      var t1 = this._history_manager$_history.length;
      return t1 !== 0 && this._historyIndex < t1 - 1;
    },
    pop$0() {
      var t3, _this = this,
        t1 = _this._history_manager$_history,
        t2 = t1.length;
      if (t2 === 0)
        throw A.wrapException(A.StateError$("no history available"));
      if (t2 === 1) {
        _this.clear$0(0);
        return;
      }
      t1.pop();
      t2 = t1.length;
      t3 = _this._historyIndex;
      if (t2 === t3) {
        t2 = t3 - 1;
        _this._historyIndex = t2;
        _this._history_manager$_current.set$value(0, t1[t2]);
      }
    },
    push$1(value) {
      var t2,
        t1 = this._history_manager$_history;
      t1.push(value);
      t2 = t1.length - 1;
      this._historyIndex = t2;
      this._history_manager$_current.set$value(0, t1[t2]);
    }
  };
  A.FixedValueListenable.prototype = {
    addListener$1(_, listener) {
      return null;
    },
    removeListener$1(_, listener) {
      return null;
    },
    get$value(_) {
      return this._listenable$_value;
    }
  };
  A.sum_closure.prototype = {
    call$2(sum, cur) {
      return sum + cur;
    },
    $signature: 79
  };
  A.min_closure.prototype = {
    call$2(minimum, cur) {
      return Math.min(minimum, cur);
    },
    $signature: 79
  };
  A.max_closure.prototype = {
    call$2(minimum, cur) {
      return Math.max(minimum, cur);
    },
    $signature: 79
  };
  A.BusEvent.prototype = {
    toString$0(_) {
      return this.type;
    }
  };
  A.MessageBus.prototype = {
    onEvent$1$type(type) {
      var t2,
        t1 = this.__MessageBus__controller;
      if (type == null) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        return new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>"));
      } else {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = A._instanceType(t1)._eval$1("_BroadcastStream<1>");
        return new A._WhereStream(new A.MessageBus_onEvent_closure(type), new A._BroadcastStream(t1, t2), t2._eval$1("_WhereStream<Stream.T>"));
      }
    },
    onEvent$0() {
      return this.onEvent$1$type(null);
    }
  };
  A.MessageBus_onEvent_closure.prototype = {
    call$1($event) {
      return $event.type === this.type;
    },
    $signature: 157
  };
  A.SliverIterableChildDelegate.prototype = {
    build$2(context, index) {
      var _this = this,
        t1 = _this._lastAccessedIndex;
      if (t1 == null || t1 > index) {
        _this._lastAccessedIndex = -1;
        _this.__SliverIterableChildDelegate__lastAccessedIterator = J.get$iterator$ax(_this.children);
      }
      while (true) {
        t1 = _this._lastAccessedIndex;
        t1.toString;
        if (!(t1 < index))
          break;
        t1 = _this.__SliverIterableChildDelegate__lastAccessedIterator;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.moveNext$0();
        t1 = _this._lastAccessedIndex;
        t1.toString;
        _this._lastAccessedIndex = t1 + 1;
      }
      t1 = _this.__SliverIterableChildDelegate__lastAccessedIterator;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.get$current(t1);
    },
    shouldRebuild$1(oldDelegate) {
      var t1, t2;
      if (J.$eq$(this.children, oldDelegate.children))
        if (this._lastAccessedIndex == oldDelegate._lastAccessedIndex) {
          t1 = this.__SliverIterableChildDelegate__lastAccessedIterator;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t2 = oldDelegate.__SliverIterableChildDelegate__lastAccessedIterator;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2 = t1 !== t2;
          t1 = t2;
        } else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    get$estimatedChildCount() {
      return this.estimatedChildCount;
    }
  };
  A.TraceEvent.prototype = {
    get$asyncUID() {
      var t1 = this.json,
        t2 = J.getInterceptor$asx(t1);
      return A.generateAsyncUID(this.category, t2.$index(t1, "id"), t2.$index(t1, "scope"));
    },
    get$type(_) {
      var t1 = this._trace_event$_type;
      return t1 == null ? this._trace_event$_type = B.TimelineEventType_3 : t1;
    },
    toString$0(_) {
      var _this = this;
      return _this.get$type(_this).toString$0(0) + " event [id: " + A.S(J.$index$asx(_this.json, "id")) + "] [ph: " + A.S(_this.phase) + "] " + A.S(_this.name) + " - [ts: " + A.S(_this.timestampMicros) + "] [dur: " + A.S(_this.duration) + "]";
    },
    get$json(receiver) {
      return this.json;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.TraceEventWrapper.prototype = {
    get$json(_) {
      return this.event.json;
    },
    compareTo$1(_, other) {
      var t2, compare,
        t1 = this.event.timestampMicros;
      if (t1 == null)
        t1 = 0;
      t2 = other.event.timestampMicros;
      compare = B.JSInt_methods.compareTo$1(t1, t2 == null ? 0 : t2);
      return compare !== 0 ? compare : B.JSInt_methods.compareTo$1(this.wrapperId, other.wrapperId);
    },
    $isComparable: 1
  };
  A.TimelineEventType.prototype = {
    toString$0(_) {
      return "TimelineEventType." + this._core$_name;
    }
  };
  A.TreeNode.prototype = {
    get$depth() {
      var t2, t3, _i, _this = this,
        t1 = _this._trees$_depth;
      if (t1 !== 0)
        return t1;
      for (t2 = _this.children, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        t1 = Math.max(t1, t2[_i].get$depth());
        _this._trees$_depth = t1;
      }
      return _this._trees$_depth = t1 + 1;
    },
    get$root(_) {
      var _this = this,
        t1 = _this._trees$_root;
      if (t1 != null)
        return t1;
      t1 = _this.parent;
      if (t1 == null)
        return _this._trees$_root = A._instanceType(_this)._eval$1("TreeNode.T")._as(_this);
      return _this._trees$_root = t1.get$root(t1);
    },
    get$level(_) {
      var _this = this,
        t1 = _this._level;
      if (t1 != null)
        return t1;
      t1 = _this.parent;
      if (t1 == null)
        return _this._level = 0;
      return _this._level = 1 + t1.get$level(t1);
    },
    get$isExpandable() {
      return this.children.length !== 0;
    },
    expand$0(_) {
      this._isExpanded = true;
    },
    shouldShow$0() {
      var t1 = this.parent;
      if (t1 != null)
        t1 = t1._isExpanded && t1.shouldShow$0();
      else
        t1 = true;
      return t1;
    },
    leaf$0() {
    },
    addChild$2$index(child, index) {
      var t1, i, _this = this;
      if (index == null)
        index = _this.children.length;
      t1 = _this.children;
      B.JSArray_methods.insert$2(t1, index, child);
      child.parent = A._instanceType(_this)._eval$1("TreeNode.T?")._as(_this);
      child.index = index;
      for (i = index + 1; i < t1.length; ++i)
        ++t1[i].index;
    },
    addChild$1(child) {
      return this.addChild$2$index(child, null);
    },
    removeChildAtIndex$1(index) {
      var i, t1;
      for (i = index + 1, t1 = this.children; i < t1.length; ++i)
        --t1[i].index;
      return B.JSArray_methods.removeAt$1(t1, index);
    },
    expandCascading$0() {
      var t1 = A._instanceType(this)._eval$1("TreeNode.T");
      A.breadthFirstTraversal(t1._as(this), new A.TreeNode_expandCascading_closure(this), null, t1);
    },
    expandAscending$0() {
      this.expand$0(0);
      var t1 = this.parent;
      if (t1 != null)
        t1.expandAscending$0();
    },
    collapseCascading$0() {
      var t1 = A._instanceType(this)._eval$1("TreeNode.T");
      A.breadthFirstTraversal(t1._as(this), new A.TreeNode_collapseCascading_closure(this), null, t1);
    },
    childrenWithCondition$1(condition) {
      var t1 = A._instanceType(this),
        _children = A._setArrayType([], t1._eval$1("JSArray<TreeNode.T>"));
      t1 = t1._eval$1("TreeNode.T");
      A.breadthFirstTraversal(t1._as(this), new A.TreeNode_childrenWithCondition_closure(this, condition, _children), null, t1);
      return _children;
    }
  };
  A.TreeNode_expandCascading_closure.prototype = {
    call$1(node) {
      node.expand$0(0);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(TreeNode.T)");
    }
  };
  A.TreeNode_collapseCascading_closure.prototype = {
    call$1(node) {
      node._isExpanded = false;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(TreeNode.T)");
    }
  };
  A.TreeNode_childrenWithCondition_closure.prototype = {
    call$1(node) {
      if (this.condition.call$1(node))
        this._children.push(node);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(TreeNode.T)");
    }
  };
  A.timeout_closure.prototype = {
    call$0() {
      return A.Future_Future$value(null, this.T._eval$1("0?"));
    },
    $signature() {
      return this.T._eval$1("Future<0?>()");
    }
  };
  A.parseCssHexColor_closure.prototype = {
    call$1(c) {
      return c + c;
    },
    $signature: 15
  };
  A.toCssHexColor_hex.prototype = {
    call$1(val) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(val, 16), 2, "0");
    },
    $signature: 133
  };
  A.RateLimiter.prototype = {
    scheduleRequest$0() {
      var t1, t2, _this = this;
      if (_this.requestScheduledButNotStarted)
        return;
      t1 = _this._pendingRequest;
      if (t1 != null && (t1.future._state & 30) === 0) {
        _this.requestScheduledButNotStarted = true;
        t1.future.whenComplete$1(new A.RateLimiter_scheduleRequest_closure(_this));
        return;
      }
      t1 = Date.now();
      t2 = _this._lastRequestTime;
      if (t2 == null || t2 + _this.delayBetweenRequests <= t1) {
        _this._performRequest$0();
        return;
      }
      _this.requestScheduledButNotStarted = true;
      t2.toString;
      _this._activeTimer = A.Timer_Timer(A.Duration$(0, t1 - t2 + _this.delayBetweenRequests), new A.RateLimiter_scheduleRequest_closure0(_this));
    },
    _performRequest$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this;
      var $async$_performRequest$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 = 2;
              $async$self._lastRequestTime = Date.now();
              $async$self._pendingRequest = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
              $async$goto = 5;
              return A._asyncAwait($async$self.callback.call$0(), $async$_performRequest$0);
            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;
              $async$self._pendingRequest.complete$1(0, null);
              // 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$_performRequest$0, $async$completer);
    },
    dispose$0() {
      var t1 = this._activeTimer;
      if (t1 != null)
        t1.cancel$0(0);
    }
  };
  A.RateLimiter_scheduleRequest_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._pendingRequest = null;
      t1.requestScheduledButNotStarted = false;
      t1.scheduleRequest$0();
    },
    $signature: 7
  };
  A.RateLimiter_scheduleRequest_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._activeTimer = null;
      t1.requestScheduledButNotStarted = false;
      t1._performRequest$0();
    },
    $signature: 0
  };
  A.TimeRange.prototype = {
    set$start(_, value) {
      this._utils$_start = value;
    },
    set$end(_, value) {
      this._utils$_end = value;
    },
    contains$1(_, target) {
      var t1 = target._duration;
      return this._utils$_start._duration <= t1 && this._utils$_end._duration >= t1;
    },
    toString$0(_) {
      var t1, t2, _this = this, _null = null;
      switch (0) {
        case 0:
          t1 = _this._utils$_start;
          t1 = t1 == null ? _null : t1._duration;
          t2 = _this._utils$_end;
          t2 = t2 == null ? _null : t2._duration;
          return "[" + A.S(t1) + " \u03bcs - " + A.S(t2) + " \u03bcs]";
        case 1:
        default:
          t1 = _this._utils$_start;
          t1 = t1 == null ? _null : B.JSInt_methods._tdivFast$1(t1._duration, 1000);
          t2 = _this._utils$_end;
          t2 = t2 == null ? _null : B.JSInt_methods._tdivFast$1(t2._duration, 1000);
          return "[" + A.S(t1) + " ms - " + A.S(t2) + " ms]";
      }
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (!(other instanceof A.TimeRange))
        return false;
      return J.$eq$(this._utils$_start, other._utils$_start) && J.$eq$(this._utils$_end, other._utils$_end);
    },
    get$hashCode(_) {
      return A.Object_hash(this._utils$_start, this._utils$_end, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.ImmediateValueNotifier.prototype = {
    addListener$1(_, listener) {
      this.super$ChangeNotifier$addListener(0, listener);
      listener.call$0();
    }
  };
  A.Range.prototype = {
    contains$1(_, target) {
      return target >= this.begin && target <= this.end;
    },
    toString$0(_) {
      return "Range(" + A.S(this.begin) + ", " + A.S(this.end) + ")";
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (!(other instanceof A.Range))
        return false;
      return this.begin === other.begin && this.end === other.end;
    },
    get$hashCode(_) {
      return A.Object_hash(this.begin, this.end, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.SortDirection.prototype = {
    toString$0(_) {
      return "SortDirection." + this._core$_name;
    }
  };
  A.DebugTimingLogger.prototype = {
    log$1(message) {
      return;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.MovingAverage.prototype = {
    MovingAverage$3$averagePeriod$newDataSet$ratio(averagePeriod, newDataSet, ratio) {
    },
    get$mean() {
      var t1 = this.dataSet,
        periodRange = Math.min(this.averagePeriod, t1.get$length(t1));
      return periodRange > 0 ? this.averageSum / periodRange : 0;
    }
  };
  A.processAnsiTerminalCodes_closure.prototype = {
    call$1(entry) {
      var t2, t3, _null = null,
        t1 = entry.text;
      if (entry.get$style(entry).length === 0)
        t2 = this.defaultStyle;
      else {
        t2 = entry.fgColor;
        t2 = t2 != null ? A.colorFromAnsi(t2) : _null;
        t3 = entry.bgColor;
        t3 = t3 != null ? A.colorFromAnsi(t3) : _null;
        t2 = A.TextStyle$(_null, t3, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, entry.bold ? B.FontWeight_6 : B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      }
      return A.TextSpan$(_null, _null, _null, t2, t1);
    },
    $signature: 1176
  };
  A.LogicalKeySetExtension_describeKeys_closure.prototype = {
    call$2(a, b) {
      var aIsModifier = a.get$synonyms()._collection$_length !== 0 || $.$get$LogicalKeySetExtension__modifiers().contains$1(0, a),
        bIsModifier = b.get$synonyms()._collection$_length !== 0 || $.$get$LogicalKeySetExtension__modifiers().contains$1(0, b);
      if (aIsModifier && !bIsModifier)
        return -1;
      else if (bIsModifier && !aIsModifier)
        return 1;
      return B.JSString_methods.compareTo$1(a.get$keyLabel(), b.get$keyLabel());
    },
    $signature: 1151
  };
  A.LogicalKeySetExtension_describeKeys_closure0.prototype = {
    call$1(key) {
      if ($.$get$LogicalKeySetExtension__modifiers().contains$1(0, key)) {
        if (this.isMacOS && key.$eq(0, B.LogicalKeyboardKey_8589935094))
          return "Command-";
        return A.S($.$get$LogicalKeySetExtension__modifierNames().$index(0, key)) + "-";
      } else
        return key.get$keyLabel().toUpperCase();
    },
    $signature: 1143
  };
  A.DevToolsJsonFile.prototype = {};
  A.DevToolsFile.prototype = {};
  A.StringExtension_caseInsensitiveContains_closure.prototype = {
    call$0() {
      return this._this.toLowerCase();
    },
    $signature: 24
  };
  A.StringExtension_caseInsensitiveContains_closure0.prototype = {
    call$0() {
      return this.pattern.toLowerCase();
    },
    $signature: 24
  };
  A.ListValueNotifier.prototype = {
    get$value(_) {
      var t1 = this.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _listChanged$0() {
      var _this = this,
        t1 = _this._rawList;
      _this.__ListValueNotifier__currentList = new A.ImmutableList(t1, t1.length, _this.$ti._eval$1("ImmutableList<1>"));
      _this.super$ChangeNotifier$notifyListeners();
    },
    replaceAll$1(_, elements) {
      var t1 = A._setArrayType([], this.$ti._eval$1("JSArray<1>"));
      this._rawList = t1;
      B.JSArray_methods.addAll$1(t1, elements);
      this._listChanged$0();
    },
    addAll$1(_, elements) {
      B.JSArray_methods.addAll$1(this._rawList, elements);
      this._listChanged$0();
    },
    trimToSublist$2(start, end) {
      this._rawList = B.JSArray_methods.sublist$2(this._rawList, start, end);
      this._listChanged$0();
    },
    trimToSublist$1(start) {
      return this.trimToSublist$2(start, null);
    },
    remove$1(_, value) {
      var t1, _this = this,
        index = B.JSArray_methods.indexOf$1(_this._rawList, value);
      if (index === -1)
        return false;
      t1 = _this._rawList;
      t1 = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      _this._rawList = t1;
      B.JSArray_methods.removeAt$1(t1, index);
      _this._listChanged$0();
      return true;
    },
    $isValueListenable: 1
  };
  A.ImmutableList.prototype = {
    $index(_, index) {
      if (index >= 0 && index < this.length)
        return this._rawList[index];
      else
        throw A.wrapException(A.Exception_Exception("Index out of range [0-" + (this.length - 1) + "]: " + A.S(index)));
    },
    $indexSet(_, index, value) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    add$1(_, element) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    addAll$1(_, iterable) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    remove$1(_, element) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    removeAt$1(_, index) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    removeLast$0(_) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    removeRange$2(_, start, end) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    insertAll$2(_, index, iterable) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    clear$0(_) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    fillRange$3(_, start, end, fill) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    setRange$4(_, start, end, iterable, skipCount) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    setRange$3($receiver, start, end, iterable) {
      return this.setRange$4($receiver, start, end, iterable, 0);
    },
    setAll$2(_, index, iterable) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    sort$1(_, compare) {
      throw A.wrapException(A.Exception_Exception(string$.Cannotm));
    },
    $isEfficientLengthIterable: 1,
    $isIterable: 1,
    $isList: 1,
    get$length(receiver) {
      return this.length;
    },
    set$length(receiver, val) {
      return this.length = val;
    }
  };
  A.whenValueNonNull_listener.prototype = {
    call$0() {
      var t1 = this.listenable,
        value = t1._change_notifier$_value;
      if (value != null) {
        this.completer.complete$1(0, value);
        t1.removeListener$1(0, this);
      }
    },
    $signature: 0
  };
  A.ProcessCancelledException.prototype = {$isException: 1};
  A._ImmutableList_Object_ListMixin.prototype = {};
  A.DiffTreeType.prototype = {
    toString$0(_) {
      return "DiffTreeType." + this._core$_name;
    }
  };
  A.AppSizeController.prototype = {
    changeAnalysisRoot$1(newRoot) {
      var t1, programInfoNode, _this = this;
      _this._analysisRoot.set$value(0, newRoot);
      if (newRoot == null)
        return;
      t1 = _this._analysisCallGraph;
      programInfoNode = t1 == null ? null : t1.program.lookup$1(newRoot.packagePath$0());
      if (programInfoNode == null) {
        t1 = _this._analysisCallGraph;
        programInfoNode = t1 == null ? null : t1.program.root;
      }
      if (programInfoNode != null) {
        t1 = _this._analysisCallGraph._graphNodeByEntityId[programInfoNode.id];
        t1.toString;
        _this._analysisCallGraphRoot.set$value(0, t1);
      }
    },
    changeDiffRoot$1(newRoot) {
      var packagePath, t1, newProgramInfoNode, newProgramInfoNodeRoot, oldProgramInfoNode, _this = this;
      _this._diffRoot.set$value(0, newRoot);
      if (newRoot == null)
        return;
      packagePath = newRoot.packagePath$0();
      t1 = _this._newDiffCallGraph;
      newProgramInfoNode = t1 == null ? null : t1.program.lookup$1(packagePath);
      t1 = _this._newDiffCallGraph;
      newProgramInfoNodeRoot = t1 == null ? null : t1.program.root;
      t1 = _this._oldDiffCallGraph;
      oldProgramInfoNode = t1 == null ? null : t1.program.lookup$1(packagePath);
      if (newProgramInfoNode != null) {
        t1 = _this._newDiffCallGraph._graphNodeByEntityId[newProgramInfoNode.id];
        t1.toString;
        _this._diffCallGraphRoot.set$value(0, t1);
      } else if (oldProgramInfoNode != null) {
        t1 = _this._oldDiffCallGraph._graphNodeByEntityId[oldProgramInfoNode.id];
        t1.toString;
        _this._diffCallGraphRoot.set$value(0, t1);
      } else if (newProgramInfoNodeRoot != null) {
        t1 = _this._newDiffCallGraph._graphNodeByEntityId[newProgramInfoNodeRoot.id];
        t1.toString;
        _this._diffCallGraphRoot.set$value(0, t1);
      }
    },
    get$_activeDiffRoot() {
      var _this = this;
      switch (_this._activeDiffTreeType._change_notifier$_value) {
        case B.DiffTreeType_0:
          return _this._increasedDiffTreeRoot;
        case B.DiffTreeType_1:
          return _this._decreasedDiffTreeRoot;
        case B.DiffTreeType_2:
        default:
          return _this._combinedDiffTreeRoot;
      }
    },
    clear$1(_, activeTabKey) {
      var _this = this, _null = null;
      if (activeTabKey.$eq(0, B.ValueKey_e0h)) {
        _this._diffRoot.set$value(0, _null);
        _this._oldDiffJsonFile.set$value(0, _null);
        _this._newDiffJsonFile.set$value(0, _null);
        _this._combinedDiffTreeRoot = _this._decreasedDiffTreeRoot = _this._increasedDiffTreeRoot = null;
        _this._diffCallGraphRoot.set$value(0, _null);
        _this._newDiffCallGraph = _this._oldDiffCallGraph = null;
      } else if (activeTabKey.$eq(0, B.ValueKey_M88)) {
        _this._analysisRoot.set$value(0, _null);
        _this._analysisJsonFile.set$value(0, _null);
        _this._analysisCallGraphRoot.set$value(0, _null);
        _this._analysisCallGraph = null;
      }
    },
    loadTreeFromJsonFile$2$jsonFile$onError(jsonFile, onError) {
      return this.loadTreeFromJsonFile$body$AppSizeController(jsonFile, onError);
    },
    loadTreeFromJsonFile$body$AppSizeController(jsonFile, onError) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, processedJson, precompilerTrace, exception, t2, t1;
      var $async$loadTreeFromJsonFile$2$jsonFile$onError = 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._processingNotifier;
              t1.set$value(0, true);
              $async$goto = 3;
              return A._asyncAwait(A.delayForBatchProcessing(10000), $async$loadTreeFromJsonFile$2$jsonFile$onError);
            case 3:
              // returning from await.
              processedJson = null;
              if (A.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(jsonFile)) {
                processedJson = type$.Map_String_dynamic._as(jsonFile.data);
                precompilerTrace = J.remove$1$ax(processedJson, "precompiler-trace");
                if (precompilerTrace != null)
                  $async$self._analysisCallGraph = A.generateCallGraphWithDominators(precompilerTrace, B.NodeType_0);
              } else
                try {
                  processedJson = A.treemapFromJson(jsonFile.data);
                } catch (exception) {
                  onError.call$1(string$.Faileds);
                  t1.set$value(0, false);
                  // goto return
                  $async$goto = 1;
                  break;
                }
              $async$self._analysisJsonFile.set$value(0, jsonFile);
              J.$indexSet$ax(processedJson, "n", "Root");
              t2 = $async$self.generateTree$1(processedJson);
              t2.toString;
              $async$self.changeAnalysisRoot$1(t2);
              t1.set$value(0, false);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadTreeFromJsonFile$2$jsonFile$onError, $async$completer);
    },
    loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError(newFile, oldFile, onError) {
      return this.loadDiffTreeFromJsonFiles$body$AppSizeController(newFile, oldFile, onError);
    },
    loadDiffTreeFromJsonFiles$body$AppSizeController(newFile, oldFile, onError) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, diffMap, t1, t2, t3, oldApkProgramInfo, oldFileJson, oldPrecompilerTrace, newApkProgramInfo, newFileJson, newPrecompilerTrace, exception;
      var $async$loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError = 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.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(oldFile) === A.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(newFile)) {
                t1 = oldFile.data;
                t2 = type$.Map_String_dynamic;
                t1 = t2._is(t1) && J.containsKey$1$x(t1, "snapshot");
                t3 = newFile.data;
                t1 = t1 !== (t2._is(t3) && J.containsKey$1$x(t3, "snapshot"));
              } else
                t1 = true;
              if (t1) {
                onError.call$1("Failed to load diff: OLD and NEW files are different types.");
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._processingNotifier;
              t1.set$value(0, true);
              $async$goto = 3;
              return A._asyncAwait(A.delayForBatchProcessing(10000), $async$loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError);
            case 3:
              // returning from await.
              diffMap = null;
              if (A.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(oldFile) && A.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(newFile)) {
                oldApkProgramInfo = A.ProgramInfo_ProgramInfo();
                t2 = type$.Map_String_dynamic;
                oldFileJson = t2._as(oldFile.data);
                $async$self._apkJsonToProgramInfo$3$json$parent$program(oldFileJson, oldApkProgramInfo.root, oldApkProgramInfo);
                oldPrecompilerTrace = J.remove$1$ax(oldFileJson, "precompiler-trace");
                if (oldPrecompilerTrace != null)
                  $async$self._oldDiffCallGraph = A.generateCallGraphWithDominators(oldPrecompilerTrace, B.NodeType_0);
                newApkProgramInfo = A.ProgramInfo_ProgramInfo();
                newFileJson = t2._as(newFile.data);
                $async$self._apkJsonToProgramInfo$3$json$parent$program(newFileJson, newApkProgramInfo.root, newApkProgramInfo);
                newPrecompilerTrace = J.remove$1$ax(newFileJson, "precompiler-trace");
                if (newPrecompilerTrace != null)
                  $async$self._newDiffCallGraph = A.generateCallGraphWithDominators(newPrecompilerTrace, B.NodeType_0);
                diffMap = A.treemapFromInfo(A.computeDiff(oldApkProgramInfo, newApkProgramInfo), B.TreemapFormat_0);
              } else
                try {
                  diffMap = A.treemapFromInfo(A.computeDiff(A.loadProgramInfoFromJson(oldFile.data, false), A.loadProgramInfoFromJson(newFile.data, false)), B.TreemapFormat_0);
                } catch (exception) {
                  onError.call$1(string$.Faileds);
                  t1.set$value(0, false);
                  // goto return
                  $async$goto = 1;
                  break;
                }
              if (J.get$isEmpty$asx(type$.List_dynamic._as(J.$index$asx(diffMap, "children")))) {
                onError.call$1("Failed to load diff: OLD and NEW files are identical.");
                t1.set$value(0, false);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._oldDiffJsonFile.set$value(0, oldFile);
              $async$self._newDiffJsonFile.set$value(0, newFile);
              J.$indexSet$ax(diffMap, "n", "Root");
              $async$self._combinedDiffTreeRoot = $async$self.generateDiffTree$2(diffMap, B.DiffTreeType_2);
              $async$self._increasedDiffTreeRoot = $async$self.generateDiffTree$2(diffMap, B.DiffTreeType_0);
              $async$self._decreasedDiffTreeRoot = $async$self.generateDiffTree$2(diffMap, B.DiffTreeType_1);
              $async$self.changeDiffRoot$1($async$self.get$_activeDiffRoot());
              t1.set$value(0, false);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError, $async$completer);
    },
    _apkJsonToProgramInfo$3$json$parent$program(json, $parent, program) {
      var t3,
        _s8_ = "children",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, _s8_),
        node = program.makeNode$3$name$parent$type(t1.$index(json, "n"), $parent, B.NodeType_4);
      if (t2 != null)
        for (t1 = J.cast$1$0$ax(type$.List_dynamic._as(t1.$index(json, _s8_)), type$.Map_String_dynamic), t2 = A._instanceType(t1), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          this._apkJsonToProgramInfo$3$json$parent$program(t3 == null ? t2._as(t3) : t3, node, program);
        }
      else {
        t1 = t1.$index(json, "value");
        node.size = t1 == null ? 0 : t1;
      }
      return node;
    },
    generateTree$1(treeJson) {
      var byteSize,
        t1 = J.getInterceptor$asx(treeJson);
      if (t1.$index(treeJson, "children") != null)
        return this._buildNodeWithChildren$1(treeJson);
      else {
        byteSize = t1.$index(treeJson, "value");
        if (byteSize == null)
          return null;
        return this._buildNode$2(treeJson, byteSize);
      }
    },
    generateDiffTree$2(treeJson, diffTreeType) {
      var byteSize,
        t1 = J.getInterceptor$asx(treeJson);
      if (t1.$index(treeJson, "children") != null)
        return this._buildNodeWithChildren$3$diffTreeType$showDiff(treeJson, diffTreeType, true);
      else {
        byteSize = t1.$index(treeJson, "value");
        if (byteSize == null)
          return null;
        switch (diffTreeType.index) {
          case 0:
            if (J.$lt$n(byteSize, 0))
              return null;
            break;
          case 1:
            if (J.$gt$n(byteSize, 0))
              return null;
            break;
          case 2:
            break;
        }
        return this._buildNode$3$showDiff(treeJson, byteSize, true);
      }
    },
    _buildNodeWithChildren$3$diffTreeType$showDiff(treeJson, diffTreeType, showDiff) {
      var t1, totalByteSize, t2, childTreemapNode,
        rawChildren = J.$index$asx(treeJson, "children"),
        treemapNodeChildren = A._setArrayType([], type$.JSArray_TreemapNode);
      for (t1 = J.get$iterator$ax(rawChildren), totalByteSize = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (showDiff) {
          diffTreeType.toString;
          childTreemapNode = this.generateDiffTree$2(t2, diffTreeType);
        } else
          childTreemapNode = this.generateTree$1(t2);
        if (childTreemapNode == null)
          continue;
        treemapNodeChildren.push(childTreemapNode);
        totalByteSize += childTreemapNode.byteSize;
      }
      if (totalByteSize === 0)
        return null;
      else
        return this._buildNode$4$children$showDiff(treeJson, totalByteSize, treemapNodeChildren, showDiff);
    },
    _buildNodeWithChildren$1(treeJson) {
      return this._buildNodeWithChildren$3$diffTreeType$showDiff(treeJson, null, false);
    },
    _buildNode$4$children$showDiff(treeJson, byteSize, children, showDiff) {
      var childrenMap, t1, _i, child,
        $name = J.$index$asx(treeJson, "n");
      if (J.$eq$($name, ""))
        $name = "Unnamed";
      childrenMap = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.TreemapNode);
      for (t1 = children.length, _i = 0; _i < children.length; children.length === t1 || (0, A.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        childrenMap.$indexSet(0, child.name, child);
      }
      t1 = new A.TreemapNode($name, childrenMap, byteSize, showDiff, A._setArrayType([], type$.JSArray_TreemapNode));
      B.JSArray_methods.forEach$1(children, t1.get$addChild());
      return t1;
    },
    _buildNode$3$showDiff(treeJson, byteSize, showDiff) {
      return this._buildNode$4$children$showDiff(treeJson, byteSize, B.List_empty34, showDiff);
    },
    _buildNode$2(treeJson, byteSize) {
      return this._buildNode$4$children$showDiff(treeJson, byteSize, B.List_empty34, false);
    }
  };
  A.AppSizeScreen.prototype = {
    get$docPageId() {
      return "app-size";
    },
    build$1(context) {
      return B.DragAndDrop_null_AppSizeBody_null_null;
    }
  };
  A.AppSizeBody.prototype = {
    createState$0() {
      return new A._AppSizeBodyState(null, null, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._AppSizeBodyState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      A.screen("app-size");
      $.$get$_AppSizeBodyState_tabs();
      t1 = A.TabController$(2, _this);
      if (_this.___AppSizeBodyState__tabController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___AppSizeBodyState__tabController = t1;
      _this.addAutoDisposeListener$1(t1);
    },
    maybeLoadAppSizeFiles$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, baseAppSizeFile, testFilePath, testAppSizeFile, t1, t2, queryParams, baseFilePath;
      var $async$maybeLoadAppSizeFiles$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
              queryParams = A.devToolsQueryParams(String(window.location));
              baseFilePath = queryParams.$index(0, "appSizeBase");
              $async$goto = baseFilePath != null ? 2 : 3;
              break;
            case 2:
              // then
              $async$self._preLoadingData = true;
              $async$goto = 4;
              return A._asyncAwait(A.requestBaseAppSizeFile(baseFilePath), $async$maybeLoadAppSizeFiles$0);
            case 4:
              // returning from await.
              baseAppSizeFile = $async$result;
              testFilePath = queryParams.$index(0, "appSizeTest");
              $async$goto = testFilePath != null ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return A._asyncAwait(A.requestTestAppSizeFile(testFilePath), $async$maybeLoadAppSizeFiles$0);
            case 8:
              // returning from await.
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              $async$result = null;
            case 6:
              // join
              testAppSizeFile = $async$result;
              if (baseAppSizeFile != null) {
                t1 = $async$self.get$_pushErrorMessage();
                t2 = $async$self.ProvidedControllerMixin__controller;
                if (testAppSizeFile != null) {
                  t2.loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError(testAppSizeFile, baseAppSizeFile, t1);
                  t1 = $async$self.___AppSizeBodyState__tabController;
                  if (t1 === $)
                    A.throwUnnamedLateFieldNI();
                  t1.animateTo$1(B.JSArray_methods.indexOf$1($.$get$_AppSizeBodyState_tabs(), $.$get$_AppSizeBodyState_diffTab()));
                } else {
                  t2.loadTreeFromJsonFile$2$jsonFile$onError(baseAppSizeFile, t1);
                  t1 = $async$self.___AppSizeBodyState__tabController;
                  if (t1 === $)
                    A.throwUnnamedLateFieldNI();
                  t1.animateTo$1(B.JSArray_methods.indexOf$1($.$get$_AppSizeBodyState_tabs(), $.$get$_AppSizeBodyState_analysisTab()));
                }
              }
            case 3:
              // join
              if ($async$self._preLoadingData)
                $async$self.setState$1(new A._AppSizeBodyState_maybeLoadAppSizeFiles_closure($async$self));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$maybeLoadAppSizeFiles$0, $async$completer);
    },
    dispose$0() {
      this.super$__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose();
      var t1 = this.___AppSizeBodyState__tabController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
    },
    _pushErrorMessage$1(error) {
      var t1 = this._framework$_element;
      if (t1 != null)
        A.Notifications_of(t1).push$1(error);
    },
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.maybeLoadAppSizeFiles$0();
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._activeDiffTreeType);
    },
    build$1(context) {
      var t1, t2, currentTab, t3, t4, t5, _this = this, _null = null;
      if (_this._preLoadingData) {
        $.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS);
        return A.Center$(A.Column$(A._setArrayType([A.Text$("Loading app size data. Please wait...", _null, _null, _null, _null, _null, _null, B.TextAlign_2, _null, _null, _null), B.SizedBox_null_16_null_null, B.CircularProgressIndicator_MQk], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_0, B.VerticalDirection_1), _null, _null, _null);
      }
      t1 = $.$get$_AppSizeBodyState_tabs();
      t2 = _this.___AppSizeBodyState__tabController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      currentTab = t1[t2._tab_controller$_index];
      t2 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = A.Theme_of(context).textTheme.bodyLarge.color;
      t4 = _this.___AppSizeBodyState__tabController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.TabBar$(t4, true, t3, t1);
      t3 = type$.JSArray_Widget;
      t4 = A._setArrayType([], t3);
      t5 = currentTab.key;
      if (J.$eq$(t5, B.ValueKey_e0h))
        t4.push(_this._buildDiffTreeTypeDropdown$0());
      t4.push(B.SizedBox_16_null_null_null);
      t5.toString;
      t4.push(_this._buildClearButton$1(t5));
      t1 = A.SizedBox$(A.Row$(A._setArrayType([t1, A.Row$(t4, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null), t2, _null);
      t2 = _this.___AppSizeBodyState__tabController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.Column$(A._setArrayType([t1, A.Expanded$(A.TabBarView$(B.List_AnalysisView_null_DiffView_null, t2, B.NeverScrollableScrollPhysics_null), 1)], t3), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _buildDiffTreeTypeDropdown$0() {
      var _null = null,
        t1 = this.ProvidedControllerMixin__controller._activeDiffTreeType._change_notifier$_value,
        t2 = type$.DiffTreeType;
      return new A.DropdownButtonHideUnderline(A.DropdownButton$(_null, false, false, A._setArrayType([A.DropdownMenuItem$(A.Text$(A.DiffTreeTypeExtension_get_display(B.DiffTreeType_2), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, B.DiffTreeType_2, t2), A.DropdownMenuItem$(A.Text$(A.DiffTreeTypeExtension_get_display(B.DiffTreeType_0), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, B.DiffTreeType_0, t2), A.DropdownMenuItem$(A.Text$(A.DiffTreeTypeExtension_get_display(B.DiffTreeType_1), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, B.DiffTreeType_1, t2)], type$.JSArray_DropdownMenuItem_DiffTreeType), _null, new A._AppSizeBodyState__buildDiffTreeTypeDropdown_closure(this), _null, _null, _null, t1, t2), B.ValueKey_Ia3);
    },
    _buildClearButton$1(activeTabKey) {
      return A.ClearButton$(null, new A._AppSizeBodyState__buildClearButton_closure(this, activeTabKey), true);
    }
  };
  A._AppSizeBodyState_maybeLoadAppSizeFiles_closure.prototype = {
    call$0() {
      this.$this._preLoadingData = false;
    },
    $signature: 0
  };
  A._AppSizeBodyState__buildDiffTreeTypeDropdown_closure.prototype = {
    call$1(newDiffTreeType) {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toString;
      newDiffTreeType.toString;
      t1._activeDiffTreeType.set$value(0, newDiffTreeType);
      t1.changeDiffRoot$1(t1.get$_activeDiffRoot());
    },
    $signature: 1131
  };
  A._AppSizeBodyState__buildClearButton_closure.prototype = {
    call$0() {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toString;
      return J.clear$1$ax(t1, this.activeTabKey);
    },
    $signature: 0
  };
  A.AnalysisView.prototype = {
    createState$0() {
      return new A._AnalysisViewState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._AnalysisViewState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      t1 = _this.ProvidedControllerMixin__controller._analysisRoot;
      _this.analysisRoot = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._AnalysisViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._analysisJsonFile);
    },
    build$1(context) {
      var t1, analysisCallGraphRoot, output, t2, t3, treeColumn, sizeColumn, t4, _this = this, _null = null;
      if (_this.analysisRoot != null) {
        t1 = _this.ProvidedControllerMixin__controller;
        analysisCallGraphRoot = t1._analysisCallGraphRoot._change_notifier$_value;
        t1 = t1._analysisJsonFile._change_notifier$_value;
        t1.toString;
        output = A.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(t1) ? "Total size analysis: " : "Dart AOT snapshot: ";
        t1 = A.AreaPaneHeader$(B.List_empty17, 2, true, false, false, 4, A.Text$(output + (t1.path + " - " + A.DateFormat$yMd().addPattern$1("jm").format$1(0, t1.lastModifiedTime)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
        t2 = _this._buildTreemap$0();
        t3 = _this.analysisRoot;
        treeColumn = A._NameColumn$(t3.get$level(t3));
        sizeColumn = new A._SizeColumn("Size", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1);
        t4 = type$.JSArray_Widget;
        t3 = A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.AppSizeAnalysisTable(t3, treeColumn, sizeColumn, A.List_List$unmodifiable([treeColumn, sizeColumn, new A._SizePercentageColumn(t3.get$root(t3).byteSize, "% of Total Size", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1)], type$.ColumnData_TreemapNode), _null), _null)], t4);
        if (analysisCallGraphRoot != null)
          t3.push(new A.Flexible(1, B.FlexFit_1, new A.CallGraphWithDominators(analysisCallGraphRoot, _null), _null));
        t1 = new A.OutlineDecoration(A.Column$(A._setArrayType([t1, A.Expanded$(A.Split$(B.Axis_1, A._setArrayType([t2, A.Row$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t4), B.List_O9m, _null, _null), 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
      } else
        t1 = _this._buildImportFileView$0();
      return A.Column$(A._setArrayType([A.Expanded$(t1, 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _buildTreemap$0() {
      return new A.LayoutBuilder(new A._AnalysisViewState__buildTreemap_closure(this), B.ValueKey_xwz);
    },
    _buildImportFileView$0() {
      return new A.ValueListenableBuilder(this.ProvidedControllerMixin__controller._processingNotifier, new A._AnalysisViewState__buildImportFileView_closure(this), null, null, type$.ValueListenableBuilder_bool);
    }
  };
  A._AnalysisViewState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._AnalysisViewState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._AnalysisViewState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.analysisRoot = t1.ProvidedControllerMixin__controller._analysisRoot._change_notifier$_value;
    },
    $signature: 0
  };
  A._AnalysisViewState__buildTreemap_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this,
        t2 = t1.analysisRoot;
      return A.Treemap$fromRoot(constraints.maxHeight, true, 2, t1.ProvidedControllerMixin__controller.get$changeAnalysisRoot(), t2, constraints.maxWidth);
    },
    $signature: 163
  };
  A._AnalysisViewState__buildImportFileView_closure.prototype = {
    call$3(context, processing, _) {
      var _null = null;
      if (processing)
        return A.Center$(A.Text$(string$.Loadin, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).textTheme.displayLarge.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null), _null, _null, _null);
      else
        return A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, A.FileImportContainer$("Analyze Size", "Drag and drop an AOT snapshot or size analysis file for debugging", new A._AnalysisViewState__buildImportFileView__closure(this.$this, context), _null, _null, "Size analysis"), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 205
  };
  A._AnalysisViewState__buildImportFileView__closure.prototype = {
    call$1(jsonFile) {
      var t1 = this.$this;
      t1.ProvidedControllerMixin__controller.loadTreeFromJsonFile$2$jsonFile$onError(jsonFile, new A._AnalysisViewState__buildImportFileView___closure(t1, this.context));
    },
    $signature: 87
  };
  A._AnalysisViewState__buildImportFileView___closure.prototype = {
    call$1(error) {
      if (this.$this._framework$_element != null)
        A.Notifications_of(this.context).push$1(error);
    },
    $signature: 12
  };
  A.DiffView.prototype = {
    createState$0() {
      return new A._DiffViewState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._DiffViewState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      t1 = _this.ProvidedControllerMixin__controller._diffRoot;
      _this.diffRoot = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._DiffViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._activeDiffTreeType);
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._oldDiffJsonFile);
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._newDiffJsonFile);
    },
    build$1(context) {
      var t1, diffCallGraphRoot, t2, t3, treeColumn, diffColumn, t4, _this = this, _null = null;
      if (_this.diffRoot != null) {
        t1 = _this.ProvidedControllerMixin__controller;
        diffCallGraphRoot = t1._diffCallGraphRoot._change_notifier$_value;
        t2 = t1._oldDiffJsonFile._change_notifier$_value;
        t2.toString;
        t1 = t1._newDiffJsonFile._change_notifier$_value;
        t1.toString;
        t3 = A.AppSizeJsonFileExtension_get_isAnalyzeSizeFile(t2) ? "total size analyses: " : "Dart AOT snapshots: ";
        t1 = A.AreaPaneHeader$(B.List_empty17, 2, true, false, false, 4, A.Text$("Diffing " + t3 + (t2.path + " - " + A.DateFormat$yMd().addPattern$1("jm").format$1(0, t2.lastModifiedTime)) + " (OLD)    vs    (NEW) " + (t1.path + " - " + A.DateFormat$yMd().addPattern$1("jm").format$1(0, t1.lastModifiedTime)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
        t2 = _this._buildTreemap$0();
        t3 = _this.diffRoot;
        treeColumn = A._NameColumn$(t3.get$level(t3));
        diffColumn = new A._DiffColumn("Change", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1);
        t4 = type$.JSArray_Widget;
        t3 = A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.AppSizeDiffTable(t3, treeColumn, diffColumn, A.List_List$unmodifiable([treeColumn, diffColumn], type$.ColumnData_TreemapNode), _null), _null)], t4);
        if (diffCallGraphRoot != null)
          t3.push(new A.Flexible(1, B.FlexFit_1, new A.CallGraphWithDominators(diffCallGraphRoot, _null), _null));
        t1 = new A.OutlineDecoration(A.Column$(A._setArrayType([t1, A.Expanded$(A.Split$(B.Axis_1, A._setArrayType([t2, A.Row$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t4), B.List_O9m, _null, _null), 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
      } else
        t1 = _this._buildImportDiffView$0();
      return A.Column$(A._setArrayType([A.Expanded$(t1, 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _buildImportDiffView$0() {
      return new A.ValueListenableBuilder(this.ProvidedControllerMixin__controller._processingNotifier, new A._DiffViewState__buildImportDiffView_closure(this), null, null, type$.ValueListenableBuilder_bool);
    },
    _buildTreemap$0() {
      return new A.LayoutBuilder(new A._DiffViewState__buildTreemap_closure(this), B.ValueKey_cMb);
    }
  };
  A._DiffViewState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._DiffViewState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._DiffViewState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.diffRoot = t1.ProvidedControllerMixin__controller._diffRoot._change_notifier$_value;
    },
    $signature: 0
  };
  A._DiffViewState__buildImportDiffView_closure.prototype = {
    call$3(context, processing, _) {
      var _null = null,
        t1 = this.$this;
      if (processing) {
        t1 = t1._framework$_element;
        t1.toString;
        return A.Center$(A.Text$(string$.Loadin, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(t1).textTheme.displayLarge.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null), _null, _null, _null);
      } else
        return A.Column$(A._setArrayType([A.Expanded$(new A.DualFileImportContainer("Old", "New", "Drag and drop an original (old) AOT snapshot or size analysis file for debugging", "Drag and drop a modified (new) AOT snapshot or size analysis file for debugging", "Analyze Diff", new A._DiffViewState__buildImportDiffView__closure(t1), _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 99
  };
  A._DiffViewState__buildImportDiffView__closure.prototype = {
    call$3(oldFile, newFile, onError) {
      return this.$this.ProvidedControllerMixin__controller.loadDiffTreeFromJsonFiles$3$newFile$oldFile$onError(newFile, oldFile, onError);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 1128
  };
  A._DiffViewState__buildTreemap_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this,
        t2 = t1.diffRoot;
      return A.Treemap$fromRoot(constraints.maxHeight, true, 2, t1.ProvidedControllerMixin__controller.get$changeDiffRoot(), t2, constraints.maxWidth);
    },
    $signature: 163
  };
  A.__AnalysisViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__AnalysisViewState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.__AppSizeBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$__AppSizeBodyState_State_AutoDisposeMixin$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin.prototype = {};
  A.__DiffViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__DiffViewState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.AppSizeAnalysisTable.prototype = {
    build$1(context) {
      var _this = this;
      return A.TreeTable$(true, _this.columns, A._setArrayType([_this.rootNode], type$.JSArray_TreemapNode), null, new A.AppSizeAnalysisTable_build_closure(), null, _this.sortColumn, B.SortDirection_1, _this.treeColumn, type$.TreemapNode);
    }
  };
  A.AppSizeAnalysisTable_build_closure.prototype = {
    call$1(node) {
      return new A.PageStorageKey(node.name, type$.PageStorageKey_String);
    },
    $signature: 206
  };
  A._NameColumn0.prototype = {
    getValue$1(dataObject) {
      return dataObject.name;
    },
    getTooltip$1(dataObject) {
      return dataObject.displayText$0();
    },
    getNodeIndentPx$1(dataObject) {
      return (dataObject.get$level(dataObject) - this.currentRootLevel) * B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    }
  };
  A._SizeColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.byteSize;
    },
    getDisplayValue$1(dataObject) {
      var t1 = A.prettyPrintBytes(dataObject.byteSize, true, 1, 1, 1);
      t1.toString;
      return t1;
    },
    compare$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.byteSize, b.byteSize);
    }
  };
  A._SizePercentageColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.byteSize / this.totalSize * 100;
    },
    getDisplayValue$1(dataObject) {
      return B.JSNumber_methods.toStringAsFixed$1(dataObject.byteSize / this.totalSize * 100, 2) + " %";
    },
    compare$2(a, b) {
      var t1 = this.totalSize;
      return B.JSNumber_methods.compareTo$1(a.byteSize / t1 * 100, b.byteSize / t1 * 100);
    }
  };
  A.AppSizeDiffTable.prototype = {
    build$1(context) {
      var _this = this;
      return A.TreeTable$(true, _this.columns, A._setArrayType([_this.rootNode], type$.JSArray_TreemapNode), null, new A.AppSizeDiffTable_build_closure(), null, _this.sortColumn, B.SortDirection_1, _this.treeColumn, type$.TreemapNode);
    }
  };
  A.AppSizeDiffTable_build_closure.prototype = {
    call$1(node) {
      return new A.PageStorageKey(node.name, type$.PageStorageKey_String);
    },
    $signature: 206
  };
  A._DiffColumn.prototype = {
    getValue$1(dataObject) {
      return Math.abs(dataObject.byteSize);
    },
    getDisplayValue$1(dataObject) {
      return dataObject.prettyByteSize$0();
    },
    compare$2(a, b) {
      return B.JSInt_methods.compareTo$1(Math.abs(a.byteSize), Math.abs(b.byteSize));
    },
    getTextColor$1(dataObject) {
      if (dataObject.byteSize < 0)
        return B.Color_4293797967;
      else
        return B.Color_4285775683;
    }
  };
  A.CallGraphWithDominators.prototype = {
    createState$0() {
      return new A._CallGraphWithDominatorsState(B._StateLifecycle_0);
    }
  };
  A._CallGraphWithDominatorsState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.___CallGraphWithDominatorsState_dominatorTreeRoot = A.DominatorTreeNode_DominatorTreeNode$from(A.CallGraphNodeDisplay_get_dominatorRoot(this._widget.callGraphRoot));
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.callGraphRoot;
      if (oldWidget.callGraphRoot !== t1)
        this.___CallGraphWithDominatorsState_dominatorTreeRoot = A.DominatorTreeNode_DominatorTreeNode$from(A.CallGraphNodeDisplay_get_dominatorRoot(t1));
    },
    build$1(context) {
      var t4, t5, _this = this, _null = null,
        t1 = _this.showCallGraph,
        t2 = A.Text$(t1 ? "Call Graph" : "Dominator Tree", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null),
        t3 = type$.JSArray_Widget;
      t2 = A.AreaPaneHeader$(A._setArrayType([B.Text_0eF, A.Switch$(_this.get$_toggleShowCallGraph(), t1)], t3), 1, false, true, false, 4, t2);
      t1 = _this.showCallGraph;
      t4 = _this._widget;
      if (t1)
        t1 = new A.CallGraphView(t4.callGraphRoot, _null);
      else {
        t1 = _this.___CallGraphWithDominatorsState_dominatorTreeRoot;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t5 = type$.DominatorTreeNode;
        t5 = new A.DominatorTree(t1, t4.callGraphRoot, new A._PackageColumn(A.StreamController_StreamController$broadcast(false, t5), A.StreamController_StreamController$broadcast(false, t5), "Package", _null, _null, _null, B.ColumnAlignment_0), _null);
        t1 = t5;
      }
      return A.Column$(A._setArrayType([t2, A.Expanded$(t1, 1)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _toggleShowCallGraph$1(shouldShow) {
      this.setState$1(new A._CallGraphWithDominatorsState__toggleShowCallGraph_closure(this, shouldShow));
    }
  };
  A._CallGraphWithDominatorsState__toggleShowCallGraph_closure.prototype = {
    call$0() {
      this.$this.showCallGraph = this.shouldShow;
    },
    $signature: 0
  };
  A.CallGraphView.prototype = {
    createState$0() {
      var _null = null;
      return new A._CallGraphViewState(new A.FromColumn("From", _null, _null, _null, B.ColumnAlignment_0), new A.ToColumn("To", _null, _null, _null, B.ColumnAlignment_0), B._StateLifecycle_0);
    }
  };
  A._CallGraphViewState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.___CallGraphViewState_selectedNode = this._widget.node;
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.node;
      if (oldWidget.node !== t1)
        this.___CallGraphViewState_selectedNode = t1;
    },
    build$1(context) {
      return new A.LayoutBuilder(new A._CallGraphViewState_build_closure(this), null);
    },
    _buildFromTable$0() {
      var _null = null,
        t1 = this._fromColumn,
        t2 = A._setArrayType([t1], type$.JSArray_ColumnData_CallGraphNode),
        t3 = this.___CallGraphViewState_selectedNode;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return A.FlatTable$(_null, false, t2, t3.pred, B.ValueKey_8eb, new A._CallGraphViewState__buildFromTable_closure(), this.get$_selectMainNode(), _null, _null, _null, _null, t1, B.SortDirection_1, type$.CallGraphNode);
    },
    _buildToTable$0() {
      var _null = null,
        t1 = this._toColumn,
        t2 = A._setArrayType([t1], type$.JSArray_ColumnData_CallGraphNode),
        t3 = this.___CallGraphViewState_selectedNode;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return A.FlatTable$(_null, false, t2, t3.succ, B.ValueKey_6ch, new A._CallGraphViewState__buildToTable_closure(), this.get$_selectMainNode(), _null, _null, _null, _null, t1, B.SortDirection_1, type$.CallGraphNode);
    },
    _selectMainNode$1(node) {
      this.setState$1(new A._CallGraphViewState__selectMainNode_closure(this, node));
    }
  };
  A._CallGraphViewState_build_closure.prototype = {
    call$2(context, constraints) {
      var _null = null,
        t1 = this.$this,
        t2 = type$.JSArray_Widget,
        t3 = A.Row$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, t1._buildFromTable$0(), _null), A.Container$(_null, _null, B.Clip_0, A.ThemeDataExtension_get_titleSolidBackgroundColor(A.Theme_of(context)), _null, _null, _null, constraints.maxHeight, _null, _null, _null, _null, _null, 4), new A.Flexible(1, B.FlexFit_1, t1._buildToTable$0(), _null)], t2), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null),
        t4 = t1.___CallGraphViewState_selectedNode;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = J.toString$0$(t4.data);
      t1 = t1.___CallGraphViewState_selectedNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([t3, A.Positioned$(_null, A.Row$(A._setArrayType([B.Padding_ClQ, A.DevToolsTooltip$(A.Container$(_null, A.Text$(A.CallGraphNodeDisplay_get_display(t1), _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_4_4_4_4, _null, _null, _null), _null, _null, t4, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000), B.Padding_ClQ], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), _null, _null, _null, _null, 0, constraints.maxWidth)], t2), _null);
    },
    $signature: 102
  };
  A._CallGraphViewState__buildFromTable_closure.prototype = {
    call$1(node) {
      return new A.ValueKey(node, type$.ValueKey_CallGraphNode);
    },
    $signature: 207
  };
  A._CallGraphViewState__buildToTable_closure.prototype = {
    call$1(node) {
      return new A.ValueKey(node, type$.ValueKey_CallGraphNode);
    },
    $signature: 207
  };
  A._CallGraphViewState__selectMainNode_closure.prototype = {
    call$0() {
      this.$this.___CallGraphViewState_selectedNode = this.node;
    },
    $signature: 0
  };
  A.FromColumn.prototype = {
    getValue$1(dataObject) {
      return A.CallGraphNodeDisplay_get_display(dataObject);
    }
  };
  A.ToColumn.prototype = {
    get$alignment() {
      return B.ColumnAlignment_1;
    },
    getValue$1(dataObject) {
      return A.CallGraphNodeDisplay_get_display(dataObject);
    }
  };
  A.DominatorTree.prototype = {
    build$1(context) {
      var t1, t2;
      this._expandToSelected$0();
      t1 = A._setArrayType([this.dominatorTreeRoot], type$.JSArray_DominatorTreeNode);
      t2 = this._packageColumn;
      return A.TreeTable$(true, A._setArrayType([t2], type$.JSArray_ColumnData_DominatorTreeNode), t1, B.ValueKey_Ak1, new A.DominatorTree_build_closure(), null, t2, B.SortDirection_1, t2, type$.DominatorTreeNode);
    },
    _expandToSelected$0() {
      var t1 = this.dominatorTreeRoot,
        t2 = A._instanceType(t1)._eval$1("TreeNode.T"),
        selected = A.breadthFirstTraversal(t2._as(t1), null, new A.DominatorTree__expandToSelected_closure(this), t2);
      for (; selected != null;) {
        selected._isExpanded = true;
        selected = selected.parent;
      }
    }
  };
  A.DominatorTree_build_closure.prototype = {
    call$1(node) {
      return new A.PageStorageKey("" + node.callGraphNode.id, type$.PageStorageKey_String);
    },
    $signature: 1103
  };
  A.DominatorTree__expandToSelected_closure.prototype = {
    call$1(node) {
      return node.callGraphNode.id === this.$this.selectedNode.id;
    },
    $signature: 1102
  };
  A._PackageColumn.prototype = {
    getValue$1(dataObject) {
      return A.CallGraphNodeDisplay_get_display(dataObject.callGraphNode);
    }
  };
  A.DominatorTreeNode.prototype = {};
  A.Breakpoints.prototype = {
    createState$0() {
      return new A._BreakpointsState(null, B._StateLifecycle_0);
    }
  };
  A._BreakpointsState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var t1 = this.ProvidedControllerMixin__controller;
      return new A.DualValueListenableBuilder(t1._breakpointsWithLocation, t1._selectedBreakpoint, new A._BreakpointsState_build_closure(this), null, null, type$.DualValueListenableBuilder_of_List_BreakpointAndSourcePosition_and_nullable_BreakpointAndSourcePosition);
    },
    buildBreakpoint$2(bp, selectedBreakpoint) {
      var theme, isSelected, t2, scriptUri, fileName, t3, t4, t5, t6, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      theme = A.Theme_of(t1);
      t1 = bp.breakpoint.id;
      isSelected = t1 == (selectedBreakpoint == null ? _null : selectedBreakpoint.breakpoint.id);
      t1 = isSelected ? theme.selectedRowColor : _null;
      t2 = B.JSNumber_methods.roundToDouble$0(6 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = A.Container$(_null, _null, B.Clip_0, _null, _null, new A.BoxDecoration((isSelected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null)).color, _null, _null, _null, _null, _null, _null, B.BoxShape_1), _null, t2, _null, _null, _null, _null, _null, t2);
      scriptUri = bp.get$scriptUri();
      fileName = scriptUri == null ? "file" : B.JSArray_methods.get$last(scriptUri.split("/"));
      t3 = bp.get$line(bp);
      t4 = isSelected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t5 = bp.get$scriptUri();
      t6 = isSelected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      return A.Material$(B.Duration_200000, true, _null, A.InkWell$(false, _null, true, new A.Padding(B.EdgeInsets_2_2_2_2, A.Row$(A._setArrayType([new A.Padding(B.EdgeInsets_2_0_4_0, t2, _null), new A.Flexible(1, B.FlexFit_1, A.RichText$(_null, _null, 1, B.TextOverflow_2, _null, _null, true, _null, A.TextSpan$(A._setArrayType([A.TextSpan$(_null, _null, _null, t6, " (" + A.S(t5) + ")")], type$.JSArray_InlineSpan), _null, _null, t4, fileName + ":" + A.S(t3)), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._BreakpointsState_buildBreakpoint_closure(this, bp), _null, _null, _null, _null, _null, _null), B.Clip_0, t1, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
    }
  };
  A._BreakpointsState_build_closure.prototype = {
    call$4(context, breakpoints, selectedBreakpoint, _) {
      return A.ListView$builder(null, new A._BreakpointsState_build__closure(this.$this, breakpoints, selectedBreakpoint), J.get$length$asx(breakpoints), B.JSNumber_methods.roundToDouble$0(28 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), null, null, B.Axis_1, false);
    },
    $signature: 1101
  };
  A._BreakpointsState_build__closure.prototype = {
    call$2(_, index) {
      return this.$this.buildBreakpoint$2(J.$index$asx(this.breakpoints, index), this.selectedBreakpoint);
    },
    $signature: 47
  };
  A._BreakpointsState_buildBreakpoint_closure.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.selectBreakpoint$1(this.bp);
      return null;
    },
    $signature: 0
  };
  A.BreakpointsCountBadge.prototype = {
    build$1(context) {
      return new A.Badge($.$get$nf().format$1(0, J.get$length$asx(this.breakpoints)), null);
    }
  };
  A.__BreakpointsState_State_ProvidedControllerMixin.prototype = {};
  A.CallStack.prototype = {
    createState$0() {
      return new A._CallStackState(null, B._StateLifecycle_0);
    }
  };
  A._CallStackState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var t1 = this.ProvidedControllerMixin__controller;
      return new A.DualValueListenableBuilder(t1._stackFramesWithLocation, t1._selectedStackFrame, new A._CallStackState_build_closure(this), null, null, type$.DualValueListenableBuilder_of_List_StackFrameAndSourcePosition_and_nullable_StackFrameAndSourcePosition);
    },
    _buildStackFrame$2(frame, selected) {
      var theme, t2, asyncMarker, asyncFrame, noLineInfo, frameDescription, locationDescription, child, t3, result, _null = null,
        _s21_ = "AsyncSuspensionMarker",
        t1 = this._framework$_element;
      t1.toString;
      theme = A.Theme_of(t1);
      t1 = frame.frame;
      t2 = t1.kind;
      asyncMarker = t2 === _s21_;
      asyncFrame = t2 === "AsyncActivation" || asyncMarker;
      t2 = frame.position;
      noLineInfo = (t2 == null ? _null : t2.line) == null;
      frameDescription = frame.get$description(frame);
      locationDescription = frame.get$location(frame);
      if (asyncMarker)
        child = A.Row$(A._setArrayType([B.SizedBox_Otz, new A.Padding(B.EdgeInsets_4_0_4_0, A.Text$(frameDescription, _null, _null, _null, _null, _null, selected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), _null), B.Expanded_MMm], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      else {
        if (selected) {
          t2 = A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
          t3 = $.globals;
        } else {
          t2 = asyncFrame || noLineInfo;
          t2 = t2 ? A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
          t3 = $.globals;
        }
        t3 = selected ? A.TextStyle$(_null, _null, theme.textSelectionTheme.selectionColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * (t3.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * (t3.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        child = A.RichText$(_null, _null, 1, B.TextOverflow_2, _null, _null, true, _null, A.TextSpan$(A._setArrayType([A.TextSpan$(_null, _null, _null, t3, " " + A.S(locationDescription))], type$.JSArray_InlineSpan), _null, _null, t2, frameDescription), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
      }
      t1 = t1.kind;
      t2 = selected ? theme.selectedRowColor : _null;
      result = A.Material$(B.Duration_200000, true, _null, A.InkWell$(false, _null, true, A.Container$(B.Alignment_m1_0, child, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_4_0_4_0, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._CallStackState__buildStackFrame_closure(this, frame), _null, _null, _null, _null, _null, _null), B.Clip_0, t2, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
      if (t1 === _s21_)
        return result;
      else
        return A.DevToolsTooltip$(result, _null, _null, locationDescription == null ? frameDescription : frameDescription + " " + locationDescription, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_1000000);
    },
    _onStackFrameSelected$1(frame) {
      return this._onStackFrameSelected$body$_CallStackState(frame);
    },
    _onStackFrameSelected$body$_CallStackState(frame) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_onStackFrameSelected$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.ProvidedControllerMixin__controller.selectStackFrame$1(frame);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onStackFrameSelected$1, $async$completer);
    }
  };
  A._CallStackState_build_closure.prototype = {
    call$4(context, stackFrames, selectedFrame, _) {
      return A.ListView$builder(null, new A._CallStackState_build__closure(this.$this, stackFrames, selectedFrame), J.get$length$asx(stackFrames), B.JSNumber_methods.roundToDouble$0(28 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), null, null, B.Axis_1, false);
    },
    $signature: 1096
  };
  A._CallStackState_build__closure.prototype = {
    call$2(_, index) {
      var frame = J.$index$asx(this.stackFrames, index);
      return this.$this._buildStackFrame$2(frame, frame === this.selectedFrame);
    },
    $signature: 47
  };
  A._CallStackState__buildStackFrame_closure.prototype = {
    call$0() {
      return this.$this._onStackFrameSelected$1(this.frame);
    },
    $signature: 0
  };
  A.__CallStackState_State_ProvidedControllerMixin.prototype = {};
  A.CodeView.prototype = {
    createState$0() {
      return new A._CodeViewState($, $, $, $, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._CodeViewState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      t1 = A.LinkedScrollControllerGroup$();
      if (_this.___CodeViewState_verticalController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___CodeViewState_verticalController = t1;
      t1 = t1.addAndGet$0();
      if (_this.___CodeViewState_gutterController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___CodeViewState_gutterController = t1;
      t1 = _this.___CodeViewState_verticalController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.addAndGet$0();
      if (_this.___CodeViewState_textController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___CodeViewState_textController = t1;
      t1 = A.ScrollController$(0);
      if (_this.___CodeViewState_horizontalController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___CodeViewState_horizontalController = t1;
      t1 = _this._widget;
      _this._lastScriptRef = t1.scriptRef;
      _this.addAutoDisposeListener$2(t1.controller._scriptLocation, _this.get$_handleScriptLocationChanged());
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.controller !== oldWidget.controller) {
        _this.AutoDisposeMixin__delegate.cancelListeners$0();
        _this.addAutoDisposeListener$2(_this._widget.controller._scriptLocation, _this.get$_handleScriptLocationChanged());
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this.___CodeViewState_gutterController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose();
      t1 = _this.___CodeViewState_textController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose();
      t1 = _this.___CodeViewState_horizontalController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this._widget.controller._scriptLocation.removeListener$1(0, _this.get$_handleScriptLocationChanged());
      _this.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$dispose();
    },
    _handleScriptLocationChanged$0() {
      if (this._framework$_element != null)
        this._updateScrollPosition$0();
    },
    _updateScrollPosition$1$animate(animate) {
      var t2, line, extent, lineCount, scrollPosition, _this = this, _null = null,
        t1 = _this._widget.controller._scriptLocation._change_notifier$_value;
      t1 = t1 == null ? _null : t1.scriptRef.get$uri();
      t2 = _this._widget.scriptRef;
      if (t1 != (t2 == null ? _null : t2.get$uri()))
        return;
      t1 = _this.___CodeViewState_verticalController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      if (t1.get$isEmpty(t1)) {
        A.log("LinkedScrollControllerGroup has no attached controllers", B.LogLevel_0);
        return;
      }
      t1 = _this._widget.controller._scriptLocation._change_notifier$_value;
      if (t1 == null)
        line = _null;
      else {
        t1 = t1.location;
        line = t1 == null ? _null : t1.line;
      }
      if (line == null) {
        t1 = _this._lastScriptRef;
        t1 = t1 == null ? _null : t1.get$uri();
        t2 = _this._widget.scriptRef;
        if (t1 != (t2 == null ? _null : t2.get$uri())) {
          t1 = _this.___CodeViewState_verticalController;
          if (animate) {
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1.animateTo$3$curve$duration(0, B.Cubic_oKc, B.Duration_400000);
          } else {
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1.jumpTo$1(0);
          }
          _this._lastScriptRef = _this._widget.scriptRef;
        }
        return;
      }
      t1 = _this.___CodeViewState_verticalController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      t1 = t1.get$first(t1);
      t2 = J.getInterceptor$x(t1);
      extent = type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(t2, t1)).get$extentInside();
      t1 = _this._widget.parsedScript;
      lineCount = t1 == null ? _null : t1.lines.length;
      if (lineCount != null && lineCount * B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) > extent) {
        scrollPosition = (line - 1) * B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) - (extent - B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))) / 2;
        t1 = _this.___CodeViewState_verticalController;
        if (animate) {
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.animateTo$3$curve$duration(scrollPosition, B.Cubic_oKc, B.Duration_400000);
        } else {
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.jumpTo$1(scrollPosition);
        }
      }
      _this._lastScriptRef = _this._widget.scriptRef;
    },
    _updateScrollPosition$0() {
      return this._updateScrollPosition$1$animate(true);
    },
    _onPressed$1(line) {
      var t1 = this._widget,
        onSelected = t1.onSelected,
        script = t1.scriptRef;
      if (onSelected != null && script != null)
        onSelected.call$2(script, line);
    },
    build$1(context) {
      var t1 = this._widget;
      if (t1.parsedScript == null)
        return B.CenteredCircularProgressIndicator_null;
      t1 = t1.controller;
      return new A.DualValueListenableBuilder(t1._showFileOpener, t1._showSearchInFileField, new A._CodeViewState_build_closure(this), null, null, type$.DualValueListenableBuilder_bool_bool);
    },
    buildCodeArea$1(context) {
      var highlighted, t3, t4, _i, line, t5, _this = this, _null = null,
        _s10_ = "RobotoMono",
        _box_0 = {},
        theme = A.Theme_of(context),
        t1 = type$.JSArray_TextSpan,
        lines = A._setArrayType([], t1),
        script = _this._widget.parsedScript,
        t2 = script == null,
        scriptSource = t2 ? _null : script.script.source;
      if (!t2 && scriptSource != null)
        if (scriptSource.length < 500000) {
          highlighted = script.highlighter.highlight$1(0, context);
          _box_0.currentLine = A._setArrayType([], type$.JSArray_InlineSpan);
          highlighted.visitChildren$1(new A._CodeViewState_buildCodeArea_closure(_box_0, lines, theme));
          t1 = theme.textTheme.bodyMedium.copyWith$1$fontFamily(_s10_);
          lines.push(A.TextSpan$(_box_0.currentLine, _null, _null, t1, _null));
        } else {
          t1 = A._setArrayType([], t1);
          for (t2 = scriptSource.split("\n"), t3 = t2.length, t4 = theme.textTheme.bodyMedium, _i = 0; _i < t3; ++_i) {
            line = t2[_i];
            t1.push(A.TextSpan$(_null, _null, _null, t4.copyWith$1$fontFamily(_s10_), line));
          }
          B.JSArray_methods.addAll$1(lines, t1);
        }
      t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = 0.001 + Math.log(Math.max(lines.length, 100)) / 2.302585092994046;
      t3 = t3 < 0 ? Math.ceil(t3) : Math.floor(t3);
      _this._updateScrollPosition$1$animate(false);
      t4 = _this._widget.controller;
      t5 = t4.scriptsHistory;
      return A.HistoryViewport$(new A._CodeViewState_buildCodeArea_closure0(_this, lines, theme, t1 * 1.5 + t2 * t3), A._setArrayType([new A.ScriptPopupMenu(t4, _null), new A.ScriptHistoryPopupMenu(_this.get$_buildScriptMenuFromHistory(), new A._CodeViewState_buildCodeArea_closure1(_this), t5._openedScripts._collection$_length !== 0, _null)], type$.JSArray_Widget), new A._CodeViewState_buildCodeArea_closure2(), t5, new A._CodeViewState_buildCodeArea_closure3(_this), type$.ScriptRef);
    },
    buildSearchInFileField$0() {
      var t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = this._widget,
        t3 = t2.controller,
        t4 = $.$get$debuggerCodeViewSearchKey();
      return new A.ElevatedCard(this.buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t3, new A._CodeViewState_buildSearchInFileField_closure(this), t2.parsedScript != null, t4, true, true), 400, t1 + 16, null, null);
    },
    buildEmptyState$1(context) {
      var _null = null,
        theme = A.Theme_of(context);
      return A.Center$(A.ElevatedButton$(true, A.Text$("Open a file (" + A.S($.$get$openFileKeySetDescription()) + ")", _null, _null, _null, _null, _null, theme.textTheme.titleMedium, _null, _null, _null, _null), new A._CodeViewState_buildEmptyState_closure(this), _null), _null, _null, _null);
    },
    _buildScriptMenuFromHistory$1(context) {
      var t2,
        t1 = this._widget.controller.scriptsHistory._openedScripts;
      t1 = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
      t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      t2 = A.SubListIterable$(new A.ReversedListIterable(t1, t2), 0, A.checkNotNullable(16, "count", type$.int), t2._eval$1("ListIterable.E"));
      t1 = t2.$ti._eval$1("MappedListIterable<ListIterable.E,PopupMenuItem<ScriptRef>>");
      return A.List_List$of(new A.MappedListIterable(t2, new A._CodeViewState__buildScriptMenuFromHistory_closure(context), t1), true, t1._eval$1("ListIterable.E"));
    }
  };
  A._CodeViewState_build_closure.prototype = {
    call$4(context, showFileOpener, showSearch, _) {
      var t3, _null = null,
        t1 = this.$this,
        t2 = A._setArrayType([t1._widget.scriptRef == null ? t1.buildEmptyState$1(context) : t1.buildCodeArea$1(context)], type$.JSArray_Widget);
      if (showFileOpener) {
        t3 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t2.push(A.Positioned$(_null, new A.ElevatedCard(new A.FileSearchField(t1._widget.controller, _null), 600, t3, B.EdgeInsets_0_0_0_0, _null), _null, _null, 0, 0, _null, _null));
      }
      if (showSearch && t1._widget.scriptRef != null)
        t2.push(A.Positioned$(_null, t1.buildSearchInFileField$0(), _null, _null, _null, 75, 8, _null));
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t2, _null);
    },
    $signature: 1089
  };
  A._CodeViewState_buildCodeArea_closure.prototype = {
    call$1(span) {
      var t2,
        t1 = this._box_0;
      t1.currentLine.push(span);
      if (span.toPlainText$0() === "\n") {
        t2 = this.theme.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono");
        this.lines.push(A.TextSpan$(t1.currentLine, null, null, t2, null));
        t1.currentLine = A._setArrayType([], type$.JSArray_InlineSpan);
      }
      return true;
    },
    $signature: 65
  };
  A._CodeViewState_buildCodeArea_closure2.prototype = {
    call$1(script) {
      var scriptUri = script == null ? null : script.get$uri();
      if (scriptUri == null)
        return "";
      return scriptUri;
    },
    $signature: 1083
  };
  A._CodeViewState_buildCodeArea_closure3.prototype = {
    call$0() {
      this.$this._widget.controller._showFileOpener.set$value(0, true);
      return null;
    },
    $signature: 0
  };
  A._CodeViewState_buildCodeArea_closure1.prototype = {
    call$1(scriptRef) {
      this.$this._widget.controller.showScriptLocation$1(new A.ScriptLocation(scriptRef, null));
    },
    $signature: 209
  };
  A._CodeViewState_buildCodeArea_closure0.prototype = {
    call$2(context, script) {
      var t3, t4, _this = this, _null = null,
        t1 = _this.lines,
        t2 = _this.theme.textTheme;
      if (t1.length !== 0) {
        t2 = t2.bodyMedium.copyWith$1$fontFamily("RobotoMono");
        t3 = _this.$this;
        t4 = t3.___CodeViewState_textController;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        return A.DefaultTextStyle$(A.Expanded$(A.Scrollbar$(new A.ValueListenableBuilder(t3._widget.controller._selectedStackFrame, new A._CodeViewState_buildCodeArea__closure(t3, _this.gutterWidth, t1), _null, _null, type$.ValueListenableBuilder_nullable_StackFrameAndSourcePosition), t4, B.ValueKey_4Kc, new A._CodeViewState_buildCodeArea__closure0(), true), 1), _null, _null, B.TextOverflow_0, true, t2, _null, _null, B.TextWidthBasis_0);
      } else
        return A.Expanded$(A.Center$(A.Text$("No source available", _null, _null, _null, _null, _null, t2.titleMedium, _null, _null, _null, _null), _null, _null, _null), 1);
    },
    $signature: 1081
  };
  A._CodeViewState_buildCodeArea__closure0.prototype = {
    call$1(notification) {
      return notification.ViewportNotificationMixin__depth === 1;
    },
    $signature: 52
  };
  A._CodeViewState_buildCodeArea__closure.prototype = {
    call$3(context, frame, _) {
      var pausedFrame, t1, t2, _this = this, _null = null;
      if (frame == null)
        pausedFrame = _null;
      else
        pausedFrame = J.$eq$(frame.get$scriptRef(), _this.$this._widget.scriptRef) ? frame : _null;
      t1 = _this.$this;
      t2 = _this.lines;
      return A.Row$(A._setArrayType([new A.ValueListenableBuilder(t1._widget.controller._breakpointsWithLocation, new A._CodeViewState_buildCodeArea___closure(t1, _this.gutterWidth, t2, pausedFrame), _null, _null, type$.ValueListenableBuilder_List_BreakpointAndSourcePosition), B.SizedBox_8_null_null_null, A.Expanded$(new A.LayoutBuilder(new A._CodeViewState_buildCodeArea___closure0(t1, t2, pausedFrame), _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 1074
  };
  A._CodeViewState_buildCodeArea___closure.prototype = {
    call$3(context, breakpoints, _) {
      var t3, t4, t5, t6, _this = this,
        t1 = _this.$this,
        t2 = t1.___CodeViewState_gutterController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this.lines.length;
      t4 = J.where$1$ax(breakpoints, new A._CodeViewState_buildCodeArea____closure(t1));
      t4 = A.List_List$of(t4, true, t4.$ti._eval$1("Iterable.E"));
      t5 = t1._widget;
      t6 = t5.parsedScript;
      t6 = t6 != null ? t6.executableLines : A.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      return new A.Gutter(_this.gutterWidth, t2, t3, _this.pausedFrame, t4, t6, t1.get$_onPressed(), !t5.controller.get$isSystemIsolate(), null);
    },
    $signature: 1067
  };
  A._CodeViewState_buildCodeArea____closure.prototype = {
    call$1(bp) {
      return J.$eq$(bp.get$scriptRef(), this.$this._widget.scriptRef);
    },
    $signature: 188
  };
  A._CodeViewState_buildCodeArea___closure0.prototype = {
    call$2(context, constraints) {
      var t4, t5, _null = null,
        t1 = this.lines,
        fileWidth = A.calculateTextSpanWidth(A.findLongestTextSpan(t1)),
        t2 = this.$this,
        t3 = t2.___CodeViewState_horizontalController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = constraints.maxHeight;
      t5 = t2._widget.controller;
      t2 = t2.___CodeViewState_textController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.Scrollbar$(A.SingleChildScrollView$(A.SizedBox$(new A.Lines(t4, t5, t2, t1, this.pausedFrame, t5.SearchControllerMixin__searchMatches, t5.SearchControllerMixin__activeSearchMatch, _null), t4, fileWidth), t3, B.DragStartBehavior_1, _null, _null, false, B.Axis_0), t3, B.ValueKey_cJC, _null, true);
    },
    $signature: 211
  };
  A._CodeViewState_buildSearchInFileField_closure.prototype = {
    call$0() {
      return this.$this._widget.controller.toggleSearchInFileVisibility$1(false);
    },
    $signature: 0
  };
  A._CodeViewState_buildEmptyState_closure.prototype = {
    call$0() {
      this.$this._widget.controller._showFileOpener.set$value(0, true);
      return null;
    },
    $signature: 0
  };
  A._CodeViewState__buildScriptMenuFromHistory_closure.prototype = {
    call$1(scriptRef) {
      var t2, _null = null,
        t1 = scriptRef.get$uri();
      t1.toString;
      t1 = A.Uri_parse(t1, 0, _null);
      t1 = A.Text$(B.JSArray_methods.get$last(t1.get$path(t1).split("/")), _null, 1, B.TextOverflow_2, _null, _null, _null, _null, _null, _null, _null);
      t2 = scriptRef.get$uri();
      if (t2 == null)
        t2 = "";
      return A.PopupMenuItem$(A.Column$(A._setArrayType([t1, A.Text$(t2, _null, 1, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(this.context).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1), _null, scriptRef, type$.ScriptRef);
    },
    $signature: 1064
  };
  A.Gutter.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.breakpoints,
        bpLineSet = A.LinkedHashSet_LinkedHashSet$from(new A.MappedListIterable(t1, new A.Gutter_build_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,@>")), type$.dynamic),
        theme = A.Theme_of(context);
      t1 = A.ThemeDataExtension_get_titleSolidBackgroundColor(A.Theme_of(context));
      return A.Container$(_null, A.ListView$builder(_this.scrollController, new A.Gutter_build_closure0(_this, bpLineSet), _this.lineCount, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.Axis_1, false), B.Clip_0, _null, _null, new A.BoxDecoration(t1, _null, new A.Border(B.BorderSide_aLd, new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd, B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _this.gutterWidth);
    }
  };
  A.Gutter_build_closure.prototype = {
    call$1(bp) {
      return bp.get$line(bp);
    },
    $signature: 1055
  };
  A.Gutter_build_closure0.prototype = {
    call$2(context, index) {
      var lineNum = index + 1,
        t1 = this.$this,
        t2 = this.bpLineSet.contains$1(0, lineNum),
        t3 = t1.executableLines.contains$1(0, lineNum),
        t4 = t1.pausedFrame;
      if (t4 == null)
        t4 = null;
      else {
        t4 = t4.position;
        t4 = t4 == null ? null : t4.line;
      }
      return new A.GutterItem(lineNum, t2, t3, t1.allowInteraction, t4 === lineNum, new A.Gutter_build__closure(t1, lineNum), null);
    },
    $signature: 1047
  };
  A.Gutter_build__closure.prototype = {
    call$0() {
      return this.$this.onPressed.call$1(this.lineNum);
    },
    $signature: 0
  };
  A.GutterItem.prototype = {
    build$1(context) {
      var t5, _this = this, _null = null,
        theme = A.Theme_of(context),
        breakpointColor = theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4278285762 : B.Color_4294967295,
        subtleColor = theme.unselectedWidgetColor,
        bpBoxSize = B.JSNumber_methods.roundToDouble$0(6 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 2,
        executionPointIndent = B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t1 = _this.allowInteraction,
        t2 = t1 ? _null : B.SystemMouseCursor_basic,
        t3 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t4 = A._setArrayType([], type$.JSArray_Widget);
      if (t1)
        t1 = _this.isExecutable || _this.isBreakpoint;
      else
        t1 = false;
      if (t1) {
        t1 = _this.isBreakpoint;
        t5 = t1 ? B.JSNumber_methods.roundToDouble$0(6 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(1.5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t1 = t1 ? breakpointColor : subtleColor;
        t5 = A.BoxConstraints$tightFor(t5, t5);
        t4.push(new A.Align(B.Alignment_m1_0, _null, _null, A.SizedBox$(A.Center$(new A.AnimatedContainer(new A.BoxDecoration(t1, _null, _null, _null, _null, _null, _null, B.BoxShape_1), t5, B.Cubic_oKc, B.Duration_200000, _null, _null), _null, _null, _null), bpBoxSize, bpBoxSize), _null));
      }
      t4.push(A.Text$("" + _this.lineNumber, _null, _null, _null, _null, _null, _null, B.TextAlign_5, _null, _null, _null));
      t1 = _this.isPausedHere ? 1 : 0;
      t4.push(A.Container$(B.Alignment_m1_0, A.AnimatedOpacity$(false, A.Icon$(B.IconData_58208_MaterialIcons_true, breakpointColor, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.Cubic_oKc, B.Duration_200000, _null, t1), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(executionPointIndent, 0, 0, 0), _null, _null, _null));
      return A.InkWell$(false, _null, true, A.Container$(_null, new A.Stack(B.AlignmentDirectional_m1_0, _null, B.StackFit_1, B.Clip_1, t4, _null), B.Clip_0, _null, _null, _null, _null, t3, _null, _null, B.EdgeInsets_0_0_4_0, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _this.onPressed, _null, _null, _null, _null, _null, _null);
    }
  };
  A.Lines.prototype = {
    createState$0() {
      return new A._LinesState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._LinesState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      t1 = _this._widget.searchMatchesNotifier;
      _this.___LinesState_searchMatches = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._LinesState_initState_closure(_this));
      t1 = _this._widget.activeSearchMatchNotifier;
      _this.activeSearch = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._LinesState_initState_closure0(_this));
    },
    build$1(context) {
      var pausedLine, _null = null,
        t1 = this._widget,
        t2 = t1.pausedFrame;
      if (t2 == null)
        pausedLine = _null;
      else {
        t2 = t2.position;
        pausedLine = t2 == null ? _null : t2.line;
      }
      t1 = t1.scrollController;
      t2 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.ListView$builder(t1, new A._LinesState_build_closure(this, pausedLine), this._widget.lines.length, t2, _null, _null, B.Axis_1, false);
    },
    searchMatchesForLine$1(index) {
      var t1 = this.___LinesState_searchMatches;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = J.where$1$ax(t1, new A._LinesState_searchMatchesForLine_closure(index));
      return A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    }
  };
  A._LinesState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._LinesState_initState__closure0(t1));
    },
    $signature: 0
  };
  A._LinesState_initState__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.___LinesState_searchMatches = t1._widget.searchMatchesNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._LinesState_initState_closure0.prototype = {
    call$0() {
      var t2, activeSearchLine, t3, t4, t5, t6, isOutOfViewBottom, targetOffset,
        t1 = this.$this;
      t1.setState$1(new A._LinesState_initState__closure(t1));
      t2 = t1.activeSearch;
      activeSearchLine = t2 == null ? null : t2.position.line;
      if (activeSearchLine != null) {
        t2 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t3 = t1._widget.scrollController;
        t3 = t3.get$position(t3)._pixels;
        t3.toString;
        t4 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t5 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t6 = t1._widget.scrollController;
        t6 = t6.get$position(t6)._pixels;
        t6.toString;
        isOutOfViewBottom = activeSearchLine * t5 > t6 + t1._widget.height - B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        if (activeSearchLine * t2 < t3 + t4 || isOutOfViewBottom) {
          t2 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
          t1 = t1._widget;
          targetOffset = Math.max(activeSearchLine * t2 - t1.height / 2, 0);
          t1.scrollController.animateTo$3$curve$duration(targetOffset, B.Cubic_oKc, B.Duration_200000);
        }
      }
    },
    $signature: 0
  };
  A._LinesState_initState__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.activeSearch = t1._widget.activeSearchMatchNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._LinesState_build_closure.prototype = {
    call$2(context, index) {
      var lineNum = index + 1,
        t1 = this.$this,
        t2 = t1._widget.debugController.__DebuggerController_programExplorerController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return new A.ValueListenableBuilder(t2._outlineSelection, new A._LinesState_build__closure(t1, lineNum, index, this.pausedLine === lineNum), null, null, type$.ValueListenableBuilder_nullable_VMServiceObjectNode);
    },
    $signature: 1045
  };
  A._LinesState_build__closure.prototype = {
    call$3(context, outlineNode, _) {
      var t1, isFocusedLine, t2, t3, t4, t5, t6, _this = this, _null = null;
      if (outlineNode == null)
        t1 = _null;
      else {
        t1 = outlineNode.location;
        if (t1 == null)
          t1 = _null;
        else {
          t1 = t1.location;
          t1 = t1 == null ? _null : t1.line;
        }
      }
      if (t1 == null)
        t1 = -1;
      isFocusedLine = t1 === _this.lineNum;
      t1 = _this.$this;
      t2 = t1._widget;
      t3 = _this.index;
      t4 = t2.lines[t3];
      t5 = _this.isPausedLine;
      t2 = t5 ? t2.pausedFrame : _null;
      t5 = t5 || isFocusedLine;
      t6 = t1.searchMatchesForLine$1(t3);
      t1 = t1.activeSearch;
      return new A.LineItem(t4, t2, t5, t6, (t1 == null ? _null : t1.position.line) === t3 ? t1 : _null, _null);
    },
    $signature: 1044
  };
  A._LinesState_searchMatchesForLine_closure.prototype = {
    call$1(searchToken) {
      return searchToken.position.line === this.index;
    },
    $signature: 1040
  };
  A.LineItem.prototype = {
    createState$0() {
      return new A._LineItemState(null, B._StateLifecycle_0);
    }
  };
  A._LineItemState.prototype = {
    _codeview$_onHoverExit$0() {
      var _this = this,
        t1 = _this._codeview$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hasMouseExited = true;
      _this._codeview$_removeTimer = A.Timer_Timer(B.Duration_50000, new A._LineItemState__onHoverExit_closure(_this));
    },
    _codeview$_onHover$2($event, context) {
      var _this = this,
        t1 = _this._codeview$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._codeview$_removeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hasMouseExited = false;
      if (!_this.ProvidedControllerMixin__controller._debugger_controller$_isPaused._change_notifier$_value)
        return;
      _this._codeview$_showTimer = A.Timer_Timer(B.Duration_150000, new A._LineItemState__onHover_closure(_this, $event, context));
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this._codeview$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._codeview$_removeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._codeview$_hoverCard;
      if (t1 != null)
        t1.remove$0(0);
      _this.super$State$dispose();
    },
    build$1(context) {
      var column, breakpointColor, child, backgroundColor, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = theme.colorScheme.brightness,
        t2 = _this._widget,
        t3 = t2.pausedFrame;
      if (t3 == null)
        column = _null;
      else {
        t3 = t3.position;
        column = t3 == null ? _null : t3.column;
      }
      if (column != null) {
        breakpointColor = t1 === B.Brightness_1 ? B.Color_4278285762 : B.Color_4294967295;
        t3 = type$.JSArray_Widget;
        child = new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([A.Row$(A._setArrayType([A.Opacity$(false, A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.truncateTextSpan(t2.lineContents, column - 1), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0), 0), A.Transform$translate(A.Transform$rotate(B.Alignment_0_0, -1.5707963267948966, A.Icon$(B.IconData_58209_MaterialIcons_true, breakpointColor, 13), _null), B.Offset_m3_13)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _this._hoverableLine$0()], t3), _null);
      } else
        child = _this._hoverableLine$0();
      if (_this._widget.focused) {
        t2 = theme.canvasColor;
        backgroundColor = t1 === B.Brightness_0 ? A.ColorExtension_brighten(t2) : A.ColorExtension_darken(t2, 0.05);
      } else
        backgroundColor = _null;
      return A.Container$(B.Alignment_m1_0, child, B.Clip_0, backgroundColor, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, _null);
    },
    searchAwareLineContents$0() {
      var _this = this,
        children = _this._widget.lineContents.children;
      if (children == null)
        return B.TextSpan_CPm;
      return A.TextSpan$(_this._searchMatchAwareLineContents$1(_this._activeSearchAwareLineContents$1(children)), null, null, _this._widget.lineContents.style, null);
    },
    _contentsWithMatch$3(startingContents, match, matchColor) {
      var t2, t3, startColumnForSpan, _i, span, buffer, t4, spanText, t5, matchStartInSpan, t6, matchEndInSpan, t7, t8, matchStyle, matchText, trailingText, remainingMatchLength, _null = null,
        t1 = type$.JSArray_InlineSpan,
        contentsWithMatch = A._setArrayType([], t1);
      for (t2 = startingContents.length, t3 = type$.DefaultTextStyle, startColumnForSpan = 0, _i = 0; _i < startingContents.length; startingContents.length === t2 || (0, A.throwConcurrentModificationError)(startingContents), ++_i) {
        span = startingContents[_i];
        buffer = new A.StringBuffer("");
        span.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, true);
        t4 = buffer._contents;
        spanText = t4.charCodeAt(0) == 0 ? t4 : t4;
        t4 = match.position;
        t5 = t4.column;
        t5.toString;
        if (startColumnForSpan <= t5 && startColumnForSpan + spanText.length > t5) {
          matchStartInSpan = t5 - startColumnForSpan;
          t6 = match.length;
          matchEndInSpan = matchStartInSpan + t6;
          t7 = B.JSString_methods.substring$2(spanText, 0, matchStartInSpan);
          t8 = span.style;
          contentsWithMatch.push(A.TextSpan$(_null, _null, _null, t8, t7));
          if (t8 == null) {
            t7 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(t3);
            t7 = (t7 == null ? B.DefaultTextStyle_MTi : t7).style;
          } else
            t7 = t8;
          matchStyle = t7.copyWith$2$backgroundColor$color(matchColor, B.Color_4278190080);
          t7 = spanText.length;
          if (matchEndInSpan <= t7) {
            matchText = B.JSString_methods.substring$2(spanText, matchStartInSpan, matchEndInSpan);
            trailingText = B.JSString_methods.substring$1(spanText, matchEndInSpan);
            t4 = A._setArrayType([A.TextSpan$(_null, _null, _null, matchStyle, matchText)], t1);
            if (trailingText.length !== 0)
              t4.push(A.TextSpan$(_null, _null, _null, t8, trailingText));
            B.JSArray_methods.addAll$1(contentsWithMatch, t4);
          } else {
            contentsWithMatch.push(A.TextSpan$(_null, _null, _null, matchStyle, B.JSString_methods.substring$1(spanText, matchStartInSpan)));
            remainingMatchLength = t6 - (t7 - matchStartInSpan);
            match = new A.SourceToken(new A.SourcePosition(t4.line, t5 + t6 - remainingMatchLength, _null), remainingMatchLength, false, false);
          }
        } else
          contentsWithMatch.push(span);
        startColumnForSpan += spanText.length;
      }
      return contentsWithMatch;
    },
    _activeSearchAwareLineContents$1(startingContents) {
      var activeSearchMatch = this._widget.activeSearchMatch;
      if (activeSearchMatch == null)
        return startingContents;
      return this._contentsWithMatch$3(startingContents, activeSearchMatch, B.MaterialAccentColor_Map_iTsEs_4294945600);
    },
    _searchMatchAwareLineContents$1(startingContents) {
      var searchMatchesToFind, contentsWithMatch, _i,
        searchMatches = this._widget.searchMatches,
        t1 = searchMatches.length;
      if (t1 === 0)
        return startingContents;
      searchMatchesToFind = A.List_List$from(searchMatches, true, type$.SourceToken);
      B.JSArray_methods.remove$1(searchMatchesToFind, this._widget.activeSearchMatch);
      for (t1 = searchMatchesToFind.length, contentsWithMatch = startingContents, _i = 0; _i < searchMatchesToFind.length; searchMatchesToFind.length === t1 || (0, A.throwConcurrentModificationError)(searchMatchesToFind), ++_i)
        contentsWithMatch = this._contentsWithMatch$3(contentsWithMatch, searchMatchesToFind[_i], B.MaterialColor_Map_JNHRl_4294961979);
      return contentsWithMatch;
    },
    _hoverableLine$0() {
      var _null = null;
      return A.MouseRegion$(A.SelectableText$rich(this.searchAwareLineContents$0(), _null, 1, _null, B.NeverScrollableScrollPhysics_null, _null, _null, _null), B.C__DeferringMouseCursor, _null, _null, new A._LineItemState__hoverableLine_closure(this), new A._LineItemState__hoverableLine_closure0(this));
    }
  };
  A._LineItemState__onHoverExit_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._codeview$_hoverCard;
      if (t2 != null)
        if (!t2._hasMouseEntered)
          t2.remove$0(0);
      t1._previousHoverWord = "";
    },
    $signature: 0
  };
  A._LineItemState__onHover_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, response, isolateRef, variable, t3, exception, t1, t2, word, $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
              t1 = $async$self.event;
              t2 = $async$self.$this;
              word = A.wordForHover(t1.get$localPosition()._dx, t2._widget.lineContents);
              if (J.$eq$(word, t2._previousHoverWord)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2._previousHoverWord = word;
              t3 = t2._codeview$_hoverCard;
              if (t3 != null)
                t3.remove$0(0);
              $async$goto = !J.$eq$(word, "") ? 3 : 4;
              break;
            case 3:
              // then
              $async$handler = 6;
              $async$goto = 9;
              return A._asyncAwait(t2.ProvidedControllerMixin__controller.evalAtCurrentFrame$1(word), $async$call$0);
            case 9:
              // returning from await.
              response = $async$result;
              isolateRef = t2.ProvidedControllerMixin__controller.isolateRef;
              if (!type$.InstanceRef._is(response)) {
                // goto return
                $async$goto = 1;
                break;
              }
              variable = A.DartObjectNode_DartObjectNode$fromValue(false, null, isolateRef, null, response);
              $async$goto = 10;
              return A._asyncAwait(A.buildVariablesTree(variable, false), $async$call$0);
            case 10:
              // returning from await.
              if (t2._hasMouseExited) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = t2._codeview$_hoverCard;
              if (t3 != null)
                t3.remove$0(0);
              t3 = t2.ProvidedControllerMixin__controller;
              t3.toString;
              t2._codeview$_hoverCard = A.HoverCard$fromHoverEvent(A.Material$(B.Duration_200000, true, null, new A.ExpandableVariable(variable, t3, null), B.Clip_0, null, 0, null, null, null, null, null, B.MaterialType_0), $async$self.context, t1, word, B.JSNumber_methods.roundToDouble$0(400 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
              $async$handler = 2;
              // goto after finally
              $async$goto = 8;
              break;
            case 6:
              // catch
              $async$handler = 5;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 8;
              break;
            case 5:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 8:
              // after finally
            case 4:
              // join
            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$0, $async$completer);
    },
    $signature: 2
  };
  A._LineItemState__hoverableLine_closure.prototype = {
    call$1(_) {
      return this.$this._codeview$_onHoverExit$0();
    },
    $signature: 34
  };
  A._LineItemState__hoverableLine_closure0.prototype = {
    call$1(e) {
      var t1 = this.$this,
        t2 = t1._framework$_element;
      t2.toString;
      return t1._codeview$_onHover$2(e, t2);
    },
    $signature: 67
  };
  A.ScriptPopupMenu.prototype = {
    build$1(context) {
      var _null = null;
      return A.PopupMenuButton$(A.Icon$(B.IconData_58372_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), true, _null, _null, new A.ScriptPopupMenu_build_closure(context), B.Offset_0_0, new A.ScriptPopupMenu_build_closure0(this, context), B.EdgeInsets_8_8_8_8, _null, _null, type$.ScriptPopupMenuOption);
    }
  };
  A.ScriptPopupMenu_build_closure0.prototype = {
    call$1(option) {
      return option.onSelected.call$2(this.context, this.$this._codeview$_controller);
    },
    $signature: 1032
  };
  A.ScriptPopupMenu_build_closure.prototype = {
    call$1(_) {
      var t2, t3, _i,
        t1 = A._setArrayType([], type$.JSArray_PopupMenuEntry_ScriptPopupMenuOption);
      for (t2 = $.$get$defaultScriptPopupMenuOptions(), t3 = this.context, _i = 0; _i < 4; ++_i)
        t1.push(t2[_i].build$1(t3));
      for ($.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS), t2 = [], _i = 0; false; ++_i)
        t1.push(t2[_i].build$1(t3));
      return t1;
    },
    $signature: 1027
  };
  A.ScriptHistoryPopupMenu.prototype = {
    build$1(context) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.PopupMenuButton$(A.Icon$(B.IconData_58132_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), this.enabled, _null, _null, this.itemBuilder, new A.Offset(t1 + 8, t2 + 8), this.onSelected, B.EdgeInsets_8_8_8_8, _null, "Select recent script", type$.ScriptRef);
    }
  };
  A.ScriptPopupMenuOption.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A._setArrayType([A.Text$(this.label, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], type$.JSArray_Widget),
        t2 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      t1.push(A.Icon$(this.icon, _null, B.JSNumber_methods.roundToDouble$0(20 * (t2.fontSize / 14))));
      return A.PopupMenuItem$(A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null), _null, this, type$.ScriptPopupMenuOption);
    }
  };
  A.copyPackagePathOption_closure.prototype = {
    call$2(_, controller) {
      var t1 = controller._scriptLocation._change_notifier$_value;
      return A.Clipboard_setData(new A.ClipboardData(t1 == null ? null : t1.scriptRef.get$uri()));
    },
    $signature: 143
  };
  A.copyFilePathOption_closure.prototype = {
    call$2(_, controller) {
      return this.$call$body$copyFilePathOption_closure(_, controller);
    },
    $call$body$copyFilePathOption_closure(_, controller) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$temp1, $async$temp2;
      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
              $async$temp1 = A;
              $async$temp2 = A;
              $async$goto = 3;
              return A._asyncAwait(A.fetchScriptLocationFullFilePath(controller), $async$call$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.Clipboard_setData(new $async$temp2.ClipboardData($async$result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 1023
  };
  A.showGoToLineDialog_closure.prototype = {
    call$1(context) {
      return new A.GoToLineDialog(this.controller, null);
    },
    $signature: 1016
  };
  A.GoToLineDialog.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.Text$("Go To", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null),
        t2 = B.JSNumber_methods.roundToDouble$0(5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.DevToolsDialog$(B.List_DialogCancelButton_null_null, A.Column$(A._setArrayType([A.TextField$(true, _null, _null, A.InputDecoration$(_null, _null, _null, new A.EdgeInsets(t2, t2, t2, t2), _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, _null, "Line Number", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, A._setArrayType([$.$get$FilteringTextInputFormatter_digitsOnly()], type$.JSArray_TextInputFormatter), _null, B.TextInputType_2_false_false, _null, _null, new A.GoToLineDialog_build_closure(this, context), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), true, true, t1);
    }
  };
  A.GoToLineDialog_build_closure.prototype = {
    call$1(value) {
      var t1 = this.$this._debuggerController,
        t2 = t1._scriptLocation._change_notifier$_value,
        scriptRef = t2 == null ? null : t2.scriptRef;
      if (value.length !== 0 && scriptRef != null) {
        A.Navigator_of(this.context, false).pop$1("dialog");
        t1.showScriptLocation$1(new A.ScriptLocation(scriptRef, new A.SourcePosition(A.int_parse(value, null), 0, null)));
      }
    },
    $signature: 12
  };
  A.__CodeViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$__CodeViewState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.__LineItemState_State_ProvidedControllerMixin.prototype = {};
  A.__LinesState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.DebuggerConsole.prototype = {
    createState$0() {
      return new A._DebuggerConsoleState(B._StateLifecycle_0);
    }
  };
  A.DebuggerConsole_buildHeader_closure.prototype = {
    call$0() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService._stdio.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.join$1(t1, "\n");
    },
    $signature: 24
  };
  A.DebuggerConsole_buildHeader_closure0.prototype = {
    call$0() {
      return $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.clearStdio$0();
    },
    $signature: 0
  };
  A._DebuggerConsoleState.prototype = {
    initState$0() {
      this.super$State$initState();
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.ensureServiceInitialized$0();
    },
    build$1(context) {
      var _null = null,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService,
        t2 = B.JSNumber_methods.roundToDouble$0(18 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = A.Provider_of(context, false, type$.DebuggerController);
      return A.Column$(A._setArrayType([A.Expanded$(new A.Console(A.SizedBox$(new A.ExpressionEvalField(t3, A.evaluate__autoCompleteResultsFor$closure(), _null), t2, _null), t1._stdio, _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.DebuggingControls.prototype = {
    createState$0() {
      return new A._DebuggingControlsState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._DebuggingControlsState.prototype = {
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._debugger_controller$_isPaused);
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._resuming);
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._stackFramesWithLocation);
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this.ProvidedControllerMixin__controller,
        isPaused = t1._debugger_controller$_isPaused._change_notifier$_value,
        resuming = t1._resuming._change_notifier$_value,
        hasStackFrames = J.get$isNotEmpty$asx(t1._stackFramesWithLocation._change_notifier$_value),
        isSystemIsolate = _this.ProvidedControllerMixin__controller.get$isSystemIsolate(),
        canStep = isPaused && !resuming && hasStackFrames && !isSystemIsolate;
      t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      isSystemIsolate = _this.ProvidedControllerMixin__controller.get$isSystemIsolate();
      if (isPaused || isSystemIsolate)
        t2 = _null;
      else {
        t2 = _this.ProvidedControllerMixin__controller;
        t2.toString;
        t2 = J.get$pause$z(t2);
      }
      if (isPaused && !resuming && !isSystemIsolate) {
        t3 = _this.ProvidedControllerMixin__controller;
        t3.toString;
        t3 = J.get$resume$z(t3);
      } else
        t3 = _null;
      t4 = type$.JSArray_Widget;
      t3 = A.Row$(A._setArrayType([new A.DebuggerButton("Pause", B.IconData_60113_Codicon_false, t2, true, _null), new A.LeftBorder(new A.DebuggerButton("Resume", B.IconData_60111_Codicon_false, t3, false, _null), _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t2 = canStep ? _this.ProvidedControllerMixin__controller.get$stepOver() : _null;
      t5 = canStep ? _this.ProvidedControllerMixin__controller.get$stepIn() : _null;
      t6 = canStep ? _this.ProvidedControllerMixin__controller.get$stepOut() : _null;
      t6 = A.Row$(A._setArrayType([new A.DebuggerButton("Step Over", B.IconData_60118_Codicon_false, t2, false, _null), new A.LeftBorder(new A.DebuggerButton("Step In", B.IconData_60116_Codicon_false, t5, false, _null), _null), new A.LeftBorder(new A.DebuggerButton("Step Out", B.IconData_60117_Codicon_false, t6, false, _null), _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t5 = _this.ProvidedControllerMixin__controller;
      t5.toString;
      return A.SizedBox$(A.Row$(A._setArrayType([new A.RoundedOutlinedBorder(t3, _null), B.SizedBox_8_null_null_null, new A.RoundedOutlinedBorder(t6, _null), B.SizedBox_8_null_null_null, new A.BreakOnExceptionsControl(t5, _null), B.Expanded_EsU, _this._librariesButton$0()], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), t1, _null);
    },
    _librariesButton$0() {
      return new A.ValueListenableBuilder(this.ProvidedControllerMixin__controller._librariesVisible, new A._DebuggingControlsState__librariesButton_closure(this), null, null, type$.ValueListenableBuilder_bool);
    }
  };
  A._DebuggingControlsState__librariesButton_closure.prototype = {
    call$3(context, visible, _) {
      var _null = null,
        t1 = visible ? A.Theme_of(context).highlightColor : _null;
      return new A.RoundedOutlinedBorder(A.Container$(_null, new A.DebuggerButton("File Explorer", B.IconData_58019_MaterialIcons_false, this.$this.ProvidedControllerMixin__controller.get$toggleLibrariesVisible(), false, _null), B.Clip_0, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    $signature: 980
  };
  A.BreakOnExceptionsControl.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller._exceptionPauseMode, new A.BreakOnExceptionsControl_build_closure(this, context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dx < 1300), null, null, type$.ValueListenableBuilder_nullable_String);
    }
  };
  A.BreakOnExceptionsControl_build_closure.prototype = {
    call$3(context, modeId, _) {
      var t3, t4, t5, t6, _i, mode, _null = null,
        t1 = A.ExceptionMode_from(modeId),
        t2 = this.$this;
      t2 = t2.controller.get$isSystemIsolate() ? _null : new A.BreakOnExceptionsControl_build__closure(t2);
      t3 = A._setArrayType([], type$.JSArray_DropdownMenuItem_ExceptionMode);
      for (t4 = $.$get$ExceptionMode_modes(), t5 = type$.DropdownMenuItem_ExceptionMode, t6 = this.isInSmallMode, _i = 0; _i < 3; ++_i) {
        mode = t4[_i];
        t3.push(new A.DropdownMenuItem(mode, new A.Text(t6 ? mode.name : mode.description, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.AlignmentDirectional_m1_0, _null, t5));
      }
      return A.RoundedDropDownButton$(true, t3, _null, t2, _null, t1, type$.ExceptionMode);
    },
    $signature: 976
  };
  A.BreakOnExceptionsControl_build__closure.prototype = {
    call$1(mode) {
      this.$this.controller.setIsolatePauseMode$1(mode.id);
    },
    $signature: 975
  };
  A.ExceptionMode.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.ExceptionMode_from_closure.prototype = {
    call$1(mode) {
      return mode.id === this.id;
    },
    $signature: 945
  };
  A.ExceptionMode_from_closure0.prototype = {
    call$0() {
      return B.JSArray_methods.get$first($.$get$ExceptionMode_modes());
    },
    $signature: 943
  };
  A.DebuggerButton.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.title;
      return A.DevToolsTooltip$(A.OutlinedButton$(_this.autofocus, new A.MaterialIconLabel(_this.icon, _null, _null, t1, 1300, _null), _null, _this.onPressed, A.OutlinedButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.ContinuousRectangleBorder_A4v, B.BorderSide_aLd, _null, _null, _null, _null)), _null, _null, t1, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.__DebuggingControlsState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__DebuggingControlsState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.DebuggerController.prototype = {
    DebuggerController$1$initialSwitchToIsolate(initialSwitchToIsolate) {
      var _this = this,
        t1 = A.ProgramExplorerController$();
      if (_this.__DebuggerController_programExplorerController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__DebuggerController_programExplorerController = t1;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      _this.AutoDisposeControllerMixin__delegate._auto_dispose$_subscriptions.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_handleConnectionAvailable()));
      if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service != null)
        _this.initialize$0(0);
      t1 = new A.DebuggerController_closure(_this);
      _this.__DebuggerController__scriptHistoryListener = t1;
      _this.scriptsHistory._history_manager$_current.addListener$1(0, t1);
    },
    onFirstDebuggerScreenLoad$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$onFirstDebuggerScreenLoad$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 = !$async$self._firstDebuggerScreenLoaded ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self._maybeSetUpProgramExplorer$0(), $async$onFirstDebuggerScreenLoad$0);
            case 4:
              // returning from await.
              $async$self.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2($async$self._currentScriptRef, $async$self.get$_maybeSetUpProgramExplorer());
              $async$self._firstDebuggerScreenLoaded = true;
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$onFirstDebuggerScreenLoad$0, $async$completer);
    },
    _maybeSetUpProgramExplorer$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$_maybeSetUpProgramExplorer$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.__DebuggerController_programExplorerController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if (!t1._initialized._change_notifier$_value) {
                t1.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2($.globals.$index(0, B.Type_ScriptManager_AHF)._sortedScripts, t1.get$refresh(t1));
                t1.initialize$0(0);
              }
              t1 = $async$self._currentScriptRef._change_notifier$_value;
              $async$goto = t1 != null ? 2 : 3;
              break;
            case 2:
              // then
              t2 = $async$self.__DebuggerController_programExplorerController;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 4;
              return A._asyncAwait(t2.selectScriptNode$1(t1), $async$_maybeSetUpProgramExplorer$0);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_maybeSetUpProgramExplorer$0, $async$completer);
    },
    _handleConnectionAvailable$1(service) {
      var t1, _this = this, _null = null;
      if (service === _this._lastService)
        return;
      _this._lastService = service;
      _this._clearCaches$0();
      _this._hasTruncatedFrames.set$value(0, false);
      t1 = _this._getStackOperation;
      if (t1 != null)
        t1._cancelable_operation$_completer._cancelable_operation$_cancel$0();
      _this._getStackOperation = null;
      _this.scriptsHistory.clear$0(0);
      _this.isolateRef = null;
      _this._debugger_controller$_isPaused.set$value(0, false);
      _this._resuming.set$value(0, false);
      _this._lastEvent = null;
      _this._currentScriptRef.set$value(0, _null);
      _this._scriptLocation.set$value(0, _null);
      _this._stackFramesWithLocation.set$value(0, A._setArrayType([], type$.JSArray_StackFrameAndSourcePosition));
      _this._selectedStackFrame.set$value(0, _null);
      _this._variables.set$value(0, A._setArrayType([], type$.JSArray_DartObjectNode));
      _this._breakpoints.set$value(0, A._setArrayType([], type$.JSArray_Breakpoint));
      _this._breakpointsWithLocation.set$value(0, A._setArrayType([], type$.JSArray_BreakpointAndSourcePosition));
      _this._selectedBreakpoint.set$value(0, _null);
      _this._librariesVisible.set$value(0, false);
      _this._firstDebuggerScreenLoaded = false;
      _this.initialize$0(0);
    },
    initialize$0(_) {
      var t2, _this = this,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      _this.switchToIsolate$1(t1.isolateManager._selectedIsolate._change_notifier$_value);
      t1 = _this.AutoDisposeControllerMixin__delegate;
      t1.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate, new A.DebuggerController_initialize_closure(_this));
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1("Debug");
      t1 = t1._auto_dispose$_subscriptions;
      t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_debugger_controller$_handleDebugEvent()));
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1("Isolate");
      t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_debugger_controller$_handleIsolateEvent()));
    },
    showScriptLocation$1(scriptLocation) {
      var t1, t2, t3, _this = this;
      _this._showFileOpener.set$value(0, false);
      _this._showScriptLocation$1(scriptLocation);
      t1 = _this.scriptsHistory;
      t2 = t1._history_manager$_current;
      t3 = _this.__DebuggerController__scriptHistoryListener;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2.removeListener$1(0, t3);
      t1.pushEntry$1(scriptLocation.scriptRef);
      t1 = _this.__DebuggerController__scriptHistoryListener;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.addListener$1(0, t1);
    },
    _showScriptLocation$1(scriptLocation) {
      var t1 = this._currentScriptRef;
      t1.set$value(0, scriptLocation.scriptRef);
      if (t1._change_notifier$_value == null)
        A.log("Trying to show a location with a null script ref", B.LogLevel_2);
      this._parseCurrentScript$0();
      t1 = this._scriptLocation;
      t1.set$value(0, null);
      t1.set$value(0, scriptLocation);
    },
    getScriptForRef$1(ref) {
      return this.getScriptForRef$body$DebuggerController(ref);
    },
    getScriptForRef$body$DebuggerController(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Script),
        $async$returnValue, t1, t2, t3, cachedScript;
      var $async$getScriptForRef$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
              cachedScript = $.globals.$index(0, B.Type_ScriptManager_AHF)._scriptCache._scripts.$index(0, ref.get$id(ref));
              $async$goto = cachedScript == null ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $.globals.$index(0, B.Type_ScriptManager_AHF)._scriptCache;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t3.toString;
              $async$goto = 5;
              return A._asyncAwait(t1.getScript$3(t2, t3, ref), $async$getScriptForRef$1);
            case 5:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$returnValue = cachedScript;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getScriptForRef$1, $async$completer);
    },
    _parseCurrentScript$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, script, executableLines, positions, e, t3, t4, scriptRef, exception, t5, t6, t1, t2, $async$exception;
      var $async$_parseCurrentScript$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
              t1 = $async$self.parsedScript;
              t2 = t1._change_notifier$_value;
              t2 = t2 == null ? null : t2.script.id;
              t3 = $async$self._currentScriptRef;
              t4 = t3._change_notifier$_value;
              if (t2 == (t4 == null ? null : J.get$id$x(t4))) {
                // goto return
                $async$goto = 1;
                break;
              }
              scriptRef = t3._change_notifier$_value;
              if (scriptRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self.getScriptForRef$1(scriptRef), $async$_parseCurrentScript$0);
            case 3:
              // returning from await.
              script = $async$result;
              t2 = script;
              t2 = t2 == null ? null : t2.source;
              if (t2 == null)
                t2 = "";
              t3 = A.ListQueue$(null, type$.ScopeSpan);
              t4 = type$.int;
              executableLines = A.LinkedHashSet_LinkedHashSet$_empty(t4);
              $async$goto = script != null ? 4 : 5;
              break;
            case 4:
              // then
              $async$handler = 7;
              $async$goto = 10;
              return A._asyncAwait($async$self.getBreakablePositions$1(script), $async$_parseCurrentScript$0);
            case 10:
              // returning from await.
              positions = $async$result;
              executableLines = A.LinkedHashSet_LinkedHashSet$from(J.map$1$1$ax(positions, new A.DebuggerController__parseCurrentScript_closure(), type$.dynamic), t4);
              $async$handler = 2;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              A.log(A.S(e), B.LogLevel_0);
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 9:
              // after finally
              t4 = script;
              t5 = executableLines;
              t6 = t4.source;
              t6 = t6 == null ? null : A._setArrayType(t6.split("\n"), type$.JSArray_String);
              if (t6 == null)
                t6 = B.List_empty0;
              t6 = A._setArrayType(t6.slice(0), A._arrayInstanceType(t6));
              t1.set$value(0, new A.ParsedScript(t4, new A.SyntaxHighlighter(t2, t3), t5, t6));
            case 5:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_parseCurrentScript$0, $async$completer);
    },
    findOwnerLibrary$1(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_LibraryRef),
        $async$returnValue, $async$self = this, clazz;
      var $async$findOwnerLibrary$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 (type$.LibraryRef._is(ref)) {
                $async$returnValue = ref;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = type$.ClassRef._is(ref) ? 3 : 4;
              break;
            case 3:
              // then
              if (ref.get$library() != null) {
                $async$returnValue = ref.get$library();
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 5;
              return A._asyncAwait($async$self.classFor$1(ref), $async$findOwnerLibrary$1);
            case 5:
              // returning from await.
              clazz = $async$result;
              $async$returnValue = clazz == null ? null : clazz.library;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              if (type$.FuncRef._is(ref)) {
                $async$returnValue = $async$self.findOwnerLibrary$1(ref.get$owner());
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$findOwnerLibrary$1, $async$completer);
    },
    classFor$1(classRef) {
      return this.classFor$body$DebuggerController(classRef);
    },
    classFor$body$DebuggerController(classRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Class),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, t1, t2, t3, t4, exception, $async$exception, $async$temp1;
      var $async$classFor$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
              $async$handler = 4;
              t1 = $async$self._clazzCache;
              t2 = t1.$index(0, classRef);
              $async$goto = t2 == null ? 7 : 9;
              break;
            case 7:
              // then
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = $async$self.get$_isolateRefId();
              t4 = classRef.get$id(classRef);
              t4.toString;
              $async$temp1 = type$.Class;
              $async$goto = 10;
              return A._asyncAwait(t2.getObject$2(0, t3, t4), $async$classFor$1);
            case 10:
              // returning from await.
              t4 = $async$temp1._as($async$result);
              t1.$indexSet(0, classRef, t4);
              t1 = t4;
              // goto join
              $async$goto = 8;
              break;
            case 9:
              // else
              t1 = t2;
            case 8:
              // join
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$classFor$1, $async$completer);
    },
    get$frameForEval() {
      var t2,
        t1 = this._selectedStackFrame._change_notifier$_value;
      t1 = t1 == null ? null : t1.frame;
      if (t1 == null) {
        t1 = this._stackFramesWithLocation._change_notifier$_value;
        t2 = J.getInterceptor$asx(t1);
        t1 = t2.get$isNotEmpty(t1) ? t2.get$first(t1) : null;
        t1 = t1 == null ? null : t1.frame;
      }
      return t1;
    },
    toggleLibrariesVisible$0() {
      this._showFileOpener.set$value(0, false);
      var t1 = this._librariesVisible;
      t1.set$value(0, !t1._change_notifier$_value);
    },
    get$isSystemIsolate() {
      var t1 = this.isolateRef;
      t1 = t1 == null ? null : t1.get$isSystemIsolate();
      return t1 === true;
    },
    get$_isolateRefId() {
      var t1 = this.isolateRef,
        id = t1 == null ? null : t1.get$id(t1);
      if (id == null)
        return "";
      return id;
    },
    switchToIsolate$1(ref) {
      return this.switchToIsolate$body$DebuggerController(ref);
    },
    switchToIsolate$body$DebuggerController(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, isolate;
      var $async$switchToIsolate$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.isolateRef = ref;
              $async$self._debugger_controller$_isPaused.set$value(0, false);
              $async$goto = 3;
              return A._asyncAwait($async$self._pause$1(false), $async$switchToIsolate$1);
            case 3:
              // returning from await.
              $async$self._clearCaches$0();
              $async$goto = ref == null ? 4 : 5;
              break;
            case 4:
              // then
              $async$self._breakpoints.set$value(0, A._setArrayType([], type$.JSArray_Breakpoint));
              $async$self._breakpointsWithLocation.set$value(0, A._setArrayType([], type$.JSArray_BreakpointAndSourcePosition));
              t1 = $async$self._getStackOperation;
              $async$goto = 6;
              return A._asyncAwait(t1 == null ? null : t1._cancelable_operation$_completer._cancelable_operation$_cancel$0(), $async$switchToIsolate$1);
            case 6:
              // returning from await.
              $async$self._populateFrameInfo$2$truncated(A._setArrayType([], type$.JSArray_StackFrameAndSourcePosition), false);
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateRefId();
              t3 = t1.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t4 = type$.dynamic;
              t5 = type$.Isolate;
              $async$goto = 7;
              return A._asyncAwait(t1.trackFuture$1$2("getIsolate", t3._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), t5), t5), $async$switchToIsolate$1);
            case 7:
              // returning from await.
              isolate = $async$result;
              if (isolate.id !== $async$self.get$_isolateRefId()) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = isolate.pauseEvent;
              $async$goto = t1 != null && t1.kind !== "Resume" ? 8 : 9;
              break;
            case 8:
              // then
              $async$self._lastEvent = t1;
              $async$goto = 10;
              return A._asyncAwait($async$self._pause$2$pauseEvent(true, t1), $async$switchToIsolate$1);
            case 10:
              // returning from await.
            case 9:
              // join
              if (isolate.id !== $async$self.get$_isolateRefId()) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._breakpoints;
              t2 = isolate.breakpoints;
              t1.set$value(0, t2 == null ? A._setArrayType([], type$.JSArray_Breakpoint) : t2);
              A.Future_wait(J.map$1$1$ax(t1._change_notifier$_value, $async$self.get$_createBreakpointWithLocation(), type$.Future_BreakpointAndSourcePosition), type$.BreakpointAndSourcePosition).then$1$1(new A.DebuggerController_switchToIsolate_closure($async$self, isolate), type$.Null);
              t1 = isolate.exceptionPauseMode;
              if (t1 == null)
                t1 = "Unhandled";
              $async$self._exceptionPauseMode.set$value(0, t1);
              if (isolate.id !== $async$self.get$_isolateRefId()) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 11;
              return A._asyncAwait($async$self._populateScripts$1(isolate), $async$switchToIsolate$1);
            case 11:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$switchToIsolate$1, $async$completer);
    },
    pause$0(_) {
      var t2, t3, t4, t5,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      t2 = this.get$_isolateRefId();
      t3 = t1.__VmServiceWrapper__vmService;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = type$.dynamic;
      t5 = type$.Success;
      return t1.trackFuture$1$2("pause", t3._call$1$2(0, "pause", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), t5), t5);
    },
    resume$0(_) {
      var t1;
      $.$get$_log().log$1("resume()");
      this._resuming.set$value(0, true);
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      return t1.resume$1(0, this.get$_isolateRefId());
    },
    stepOver$0() {
      var t1, t2, t3;
      $.$get$_log().log$1("stepOver()");
      this._resuming.set$value(0, true);
      t1 = this._lastEvent;
      t1 = t1 == null ? null : t1.atAsyncSuspension;
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t2.toString;
      t3 = this.get$_isolateRefId();
      return t2.resume$2$step(0, t3, t1 === true ? "OverAsyncSuspension" : "Over").whenComplete$1(new A.DebuggerController_stepOver_closure());
    },
    stepIn$0() {
      this._resuming.set$value(0, true);
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      return t1.resume$2$step(0, this.get$_isolateRefId(), "Into");
    },
    stepOut$0() {
      this._resuming.set$value(0, true);
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      return t1.resume$2$step(0, this.get$_isolateRefId(), "Out");
    },
    evalAtCurrentFrame$1(expression) {
      return this.evalAtCurrentFrame$body$DebuggerController(expression);
    },
    evalAtCurrentFrame$body$DebuggerController(expression) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this, t1, t2, frame, t3, t4, t5;
      var $async$evalAtCurrentFrame$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._debugger_controller$_isPaused._change_notifier$_value) {
                $async$returnValue = A.Future_Future$error(A.RPCError$withDetails("evaluateInFrame", -32602, "Isolate not paused", null), null, type$.Response);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._stackFramesWithLocation;
              if (J.get$isEmpty$asx(t1._change_notifier$_value)) {
                $async$returnValue = A.Future_Future$error(A.RPCError$withDetails("evaluateInFrame", -32602, "No frames available", null), null, type$.Response);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self._selectedStackFrame._change_notifier$_value;
              frame = t2 == null ? null : t2.frame;
              if (frame == null)
                frame = J.get$first$ax(t1._change_notifier$_value).frame;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateRefId();
              t3 = frame.index;
              t3.toString;
              t4 = t1.__VmServiceWrapper__vmService;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t5 = type$.dynamic;
              t5 = A.LinkedHashMap_LinkedHashMap$_empty(t5, t5);
              t5.$indexSet(0, "isolateId", t2);
              t5.$indexSet(0, "frameIndex", t3);
              t5.$indexSet(0, "expression", expression);
              t5.$indexSet(0, "disableBreakpoints", true);
              t2 = type$.Response;
              $async$returnValue = t1.trackFuture$1$2("evaluateInFrame " + expression, t4._call$1$2(0, "evaluateInFrame", t5, t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$evalAtCurrentFrame$1, $async$completer);
    },
    clearBreakpoints$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clearBreakpoints$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(A.Future_forEach(J.toList$0$ax($async$self._breakpoints._change_notifier$_value), new A.DebuggerController_clearBreakpoints_closure($async$self)), $async$clearBreakpoints$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearBreakpoints$0, $async$completer);
    },
    toggleBreakpoint$2(script, line) {
      return this.toggleBreakpoint$body$DebuggerController(script, line);
    },
    toggleBreakpoint$body$DebuggerController(script, line) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, t1, bp, t2, t3, t4, t5, t6, exception, $async$exception;
      var $async$toggleBreakpoint$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
              if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value.get$isSystemIsolate();
              t1.toString;
              if (t1) {
                // goto return
                $async$goto = 1;
                break;
              }
              bp = A.IterableExtension_firstWhereOrNull($async$self._breakpointsWithLocation._change_notifier$_value, new A.DebuggerController_toggleBreakpoint_closure(script, line));
              $async$goto = bp != null ? 3 : 5;
              break;
            case 3:
              // then
              t1 = bp.breakpoint;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = $async$self.get$_isolateRefId();
              t1 = t1.id;
              t1.toString;
              t4 = t2.__VmServiceWrapper__vmService;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t5 = type$.dynamic;
              t6 = type$.Success;
              $async$goto = 6;
              return A._asyncAwait(t2.trackFuture$1$2("removeBreakpoint", t4._call$1$2(0, "removeBreakpoint", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t3, "breakpointId", t1], t5, t5), t6), t6), $async$toggleBreakpoint$2);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$handler = 8;
              t1 = script.get$id(script);
              t1.toString;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              $async$goto = 11;
              return A._asyncAwait(t2.addBreakpoint$3($async$self.get$_isolateRefId(), t1, line), $async$toggleBreakpoint$2);
            case 11:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 10;
              break;
            case 8:
              // catch
              $async$handler = 7;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 10;
              break;
            case 7:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 10:
              // after finally
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$toggleBreakpoint$2, $async$completer);
    },
    setIsolatePauseMode$1(mode) {
      return this.setIsolatePauseMode$body$DebuggerController(mode);
    },
    setIsolatePauseMode$body$DebuggerController(mode) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, t1;
      var $async$setIsolatePauseMode$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateRefId();
              t3 = t1.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t4 = type$.dynamic;
              t4 = A.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
              t4.$indexSet(0, "isolateId", t2);
              t4.$indexSet(0, "exceptionPauseMode", mode);
              t2 = type$.Success;
              $async$goto = 2;
              return A._asyncAwait(t1.trackFuture$1$2("setIsolatePauseMode", t3._call$1$2(0, "setIsolatePauseMode", t4, t2), t2), $async$setIsolatePauseMode$1);
            case 2:
              // returning from await.
              $async$self._exceptionPauseMode.set$value(0, mode);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setIsolatePauseMode$1, $async$completer);
    },
    _debugger_controller$_handleDebugEvent$1($event) {
      var t2, t3, t4, t5, breakpoint, _this = this,
        t1 = $.$get$_log();
      t1.log$1("event: " + A.S($event.kind));
      t2 = _this._resuming;
      if (t2._change_notifier$_value) {
        t3 = $event.isolate;
        t3 = t3.get$id(t3) !== _this.get$_isolateRefId() && $event.kind === "PauseStart";
      } else
        t3 = false;
      if (t3) {
        t3 = $event.isolate;
        t3 = t3.get$id(t3);
        t3.toString;
        t1.log$1("resume() " + t3);
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.resume$1(0, t3);
      }
      t1 = $event.isolate;
      if (t1.get$id(t1) !== _this.get$_isolateRefId())
        return;
      _this._lastEvent = $event;
      switch ($event.kind) {
        case "Resume":
          _this._pause$1(false);
          break;
        case "PauseStart":
        case "PauseExit":
        case "PauseBreakpoint":
        case "PauseInterrupted":
        case "PauseException":
        case "PausePostRequest":
          t2.set$value(0, false);
          _this._pause$2$pauseEvent(true, $event);
          break;
        case "BreakpointAdded":
          t1 = $event.breakpoint;
          t1.toString;
          t2 = _this._breakpoints;
          t3 = A.List_List$of(t2._change_notifier$_value, true, type$.Breakpoint);
          t3.push(t1);
          t2.set$value(0, t3);
          _this._createBreakpointWithLocation$1(t1).then$1$1(new A.DebuggerController__handleDebugEvent_closure(_this), type$.Null);
          break;
        case "BreakpointResolved":
          t1 = $event.breakpoint;
          t1.toString;
          t2 = _this._breakpoints;
          t3 = A._setArrayType([], type$.JSArray_Breakpoint);
          for (t4 = J.get$iterator$ax(t2._change_notifier$_value); t4.moveNext$0();) {
            t5 = t4.get$current(t4);
            if (!t5.$eq(0, $event.breakpoint))
              t3.push(t5);
          }
          t3.push(t1);
          t2.set$value(0, t3);
          _this._createBreakpointWithLocation$1(t1).then$1$1(new A.DebuggerController__handleDebugEvent_closure0(_this), type$.Null);
          break;
        case "BreakpointRemoved":
          breakpoint = $event.breakpoint;
          t1 = _this._selectedBreakpoint;
          t2 = t1._change_notifier$_value;
          if (J.$eq$(t2 == null ? null : t2.breakpoint, breakpoint))
            t1.set$value(0, null);
          t1 = _this._breakpoints;
          t2 = A._setArrayType([], type$.JSArray_Breakpoint);
          for (t3 = J.get$iterator$ax(t1._change_notifier$_value); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            if (!t4.$eq(0, breakpoint))
              t2.push(t4);
          }
          t1.set$value(0, t2);
          t1 = _this._breakpointsWithLocation;
          t2 = A._setArrayType([], type$.JSArray_BreakpointAndSourcePosition);
          for (t3 = J.get$iterator$ax(t1._change_notifier$_value); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            if (!t4.breakpoint.$eq(0, breakpoint))
              t2.push(t4);
          }
          t1.set$value(0, t2);
          break;
      }
    },
    _debugger_controller$_handleIsolateEvent$1($event) {
      var t1 = $event.isolate,
        eventId = t1 == null ? null : t1.get$id(t1);
      if (eventId !== this.get$_isolateRefId())
        return;
      switch ($event.kind) {
        case "IsolateReload":
          this._updateAfterIsolateReload$1($event);
          break;
      }
    },
    _updateAfterIsolateReload$1(reloadEvent) {
      return this._updateAfterIsolateReload$body$DebuggerController(reloadEvent);
    },
    _updateAfterIsolateReload$body$DebuggerController(reloadEvent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, previousScriptRefs, t1, t2, currentScriptRefs, removedScripts, addedScripts, count, t3, newScriptRef;
      var $async$_updateAfterIsolateReload$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._clearAutocompleteCaches$0();
              if ($async$self.isolateRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              previousScriptRefs = $.globals.$index(0, B.Type_ScriptManager_AHF)._sortedScripts._change_notifier$_value;
              t1 = $.globals.$index(0, B.Type_ScriptManager_AHF);
              t2 = $async$self.isolateRef;
              t2.toString;
              $async$goto = 3;
              return A._asyncAwait(t1.retrieveAndSortScripts$1(t2), $async$_updateAfterIsolateReload$1);
            case 3:
              // returning from await.
              currentScriptRefs = $async$result;
              t2 = type$.ScriptRef;
              t1 = type$.nullable_Object;
              removedScripts = A.LinkedHashSet_LinkedHashSet$of(previousScriptRefs, t2).difference$1(A.LinkedHashSet_LinkedHashSet$of(currentScriptRefs, t1));
              addedScripts = A.LinkedHashSet_LinkedHashSet$of(currentScriptRefs, t2).difference$1(A.LinkedHashSet_LinkedHashSet$of(previousScriptRefs, t1));
              count = removedScripts.get$length(removedScripts) + addedScripts.get$length(addedScripts);
              t1 = $.globals.$index(0, B.Type_MessageBus_MAi);
              t2 = $.$get$nf().format$1(0, count);
              t3 = A.pluralize("script", count, null);
              t1 = t1.__MessageBus__controller;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.add$1(0, new A.BusEvent("toast", t2 + " " + t3 + " updated."));
              $async$self._updateBreakpointsAfterReload$2(removedScripts, addedScripts);
              t1 = $async$self._currentScriptRef;
              if (removedScripts.contains$1(0, t1._change_notifier$_value)) {
                newScriptRef = A.IterableExtension_firstWhereOrNull(addedScripts, new A.DebuggerController__updateAfterIsolateReload_closure(t1._change_notifier$_value.get$uri()));
                if (newScriptRef != null)
                  $async$self._populateScriptAndShowLocation$1(newScriptRef);
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_updateAfterIsolateReload$1, $async$completer);
    },
    _populateScriptAndShowLocation$1(scriptRef) {
      var t3,
        t1 = $.globals.$index(0, B.Type_ScriptManager_AHF)._scriptCache,
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t2.toString;
      t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
      t3.toString;
      t1.getScript$3(t2, t3, scriptRef).then$1$1(new A.DebuggerController__populateScriptAndShowLocation_closure(this, scriptRef), type$.Null);
    },
    _updateBreakpointsAfterReload$2(removedScripts, addedScripts) {
      var t1, t2, t3, t4, t5, _i, bp, t6, t7, t8, t9,
        _s16_ = "removeBreakpoint",
        breakpointsToRemove = A._setArrayType([], type$.JSArray_BreakpointAndSourcePosition);
      for (t1 = removedScripts.get$iterator(removedScripts), t2 = this._breakpointsWithLocation; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = J.get$iterator$ax(t2._change_notifier$_value); t4.moveNext$0();) {
          t5 = t4.get$current(t4);
          if (J.$eq$(t5.get$scriptRef(), t3))
            breakpointsToRemove.push(t5);
        }
      }
      for (t1 = breakpointsToRemove.length, t2 = type$.dynamic, t3 = type$.Success, _i = 0; _i < breakpointsToRemove.length; breakpointsToRemove.length === t1 || (0, A.throwConcurrentModificationError)(breakpointsToRemove), ++_i) {
        bp = breakpointsToRemove[_i];
        t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
        t4.toString;
        t5 = this.get$_isolateRefId();
        t6 = bp.breakpoint.id;
        t6.toString;
        t7 = t4.__VmServiceWrapper__vmService;
        if (t7 === $)
          A.throwUnnamedLateFieldNI();
        t4.trackFuture$1$2(_s16_, t7._call$1$2(0, _s16_, A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t5, "breakpointId", t6], t2, t2), t3), t3);
      }
      for (t1 = addedScripts.get$iterator(addedScripts), t2 = type$.Breakpoint; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        for (t4 = breakpointsToRemove.length, _i = 0; _i < breakpointsToRemove.length; breakpointsToRemove.length === t4 || (0, A.throwConcurrentModificationError)(breakpointsToRemove), ++_i) {
          bp = breakpointsToRemove[_i];
          if (t3.get$uri() == bp.get$scriptUri()) {
            t5 = t3.get$id(t3);
            t5.toString;
            t6 = bp.get$line(bp);
            t6.toString;
            t7 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
            t7.toString;
            t8 = this.get$_isolateRefId();
            t9 = t7.__VmServiceWrapper__vmService;
            if (t9 === $)
              A.throwUnnamedLateFieldNI();
            t7.trackFuture$1$2("addBreakpoint", t9.addBreakpoint$4$column(t8, t5, t6, null), t2);
          }
        }
      }
    },
    _pause$2$pauseEvent(paused, pauseEvent) {
      return this._pause$body$DebuggerController(paused, pauseEvent);
    },
    _pause$1(paused) {
      return this._pause$2$pauseEvent(paused, null);
    },
    _pause$body$DebuggerController(paused, pauseEvent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, stackInfo, t2, t1, $async$temp1;
      var $async$_pause$2$pauseEvent = 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._getStackOperation;
              $async$goto = 3;
              return A._asyncAwait(t1 == null ? null : t1._cancelable_operation$_completer._cancelable_operation$_cancel$0(), $async$_pause$2$pauseEvent);
            case 3:
              // returning from await.
              $async$self._debugger_controller$_isPaused.set$value(0, paused);
              t1 = !paused;
              $.$get$_log().log$1("_pause(running: " + t1 + ")");
              if (t1) {
                $async$self._populateFrameInfo$2$truncated(A._setArrayType([], type$.JSArray_StackFrameAndSourcePosition), false);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isDartWebApp(), $async$_pause$2$pauseEvent);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 4 : 5;
              break;
            case 4:
              // then
              t1 = pauseEvent.topFrame;
              t1.toString;
              $async$temp1 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self._createStackFrameWithLocation$1(t1), $async$_pause$2$pauseEvent);
            case 7:
              // returning from await.
              $async$self._populateFrameInfo$2$truncated($async$temp1._setArrayType([$async$result], type$.JSArray_StackFrameAndSourcePosition), true);
              $async$self._getFullStack$0();
              // goto return
              $async$goto = 1;
              break;
            case 5:
              // join
              t1 = $async$self._getStackOperation = A.CancelableOperation_CancelableOperation$fromFuture($async$self._getStackInfo$1$limit(12), type$._StackInfo);
              $async$goto = 8;
              return A._asyncAwait(t1.get$value(t1), $async$_pause$2$pauseEvent);
            case 8:
              // returning from await.
              stackInfo = $async$result;
              t1 = stackInfo.frames;
              t2 = stackInfo.truncated;
              $async$self._populateFrameInfo$2$truncated(t1, t2);
              if (t2)
                $async$self._getFullStack$0();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_pause$2$pauseEvent, $async$completer);
    },
    _getStackInfo$1$limit(limit) {
      return this._getStackInfo$body$DebuggerController(limit);
    },
    _getStackInfo$0() {
      return this._getStackInfo$1$limit(null);
    },
    _getStackInfo$body$DebuggerController(limit) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$._StackInfo),
        $async$returnValue, $async$self = this, t2, stack, $frames, frames0, frame, newFrame, t3, t1;
      var $async$_getStackInfo$1$limit = 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 = $.$get$_log();
              t1.log$1("getStack() with limit: " + A.S(limit));
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              $async$goto = 3;
              return A._asyncAwait(t2.getStack$2$limit($async$self.get$_isolateRefId(), limit), $async$_getStackInfo$1$limit);
            case 3:
              // returning from await.
              stack = $async$result;
              t1.log$1("getStack() completed (frames: " + stack.frames.length + ")");
              t1 = stack.frames;
              $frames = t1 == null ? A._setArrayType([], type$.JSArray_Frame) : t1;
              t1 = stack.asyncCausalFrames;
              frames0 = t1 == null ? A._setArrayType([], type$.JSArray_Frame) : t1;
              t1 = $async$self._lastEvent;
              t1 = t1 == null ? null : t1.exception;
              t2 = frames0.length;
              if (t2 !== 0)
                $frames = frames0;
              if (t1 != null && $frames.length !== 0) {
                frame = B.JSArray_methods.get$first($frames);
                newFrame = new A.Frame1(frame.index, frame.$function, frame.code, frame.location, frame.kind, null);
                t2 = type$.JSArray_BoundVariable;
                t1 = A._setArrayType([new A.BoundVariable("<exception>", t1, null, null, null, null)], t2);
                t3 = frame.vars;
                B.JSArray_methods.addAll$1(t1, t3 == null ? A._setArrayType([], t2) : t3);
                newFrame.vars = t1;
                t1 = A._setArrayType([newFrame], type$.JSArray_Frame);
                B.JSArray_methods.addAll$1(t1, B.JSArray_methods.sublist$1($frames, 1));
                $frames = t1;
              }
              $async$goto = 4;
              return A._asyncAwait(A.Future_wait(new A.MappedListIterable($frames, $async$self.get$_createStackFrameWithLocation(), A._arrayInstanceType($frames)._eval$1("MappedListIterable<1,Future<StackFrameAndSourcePosition>>")), type$.StackFrameAndSourcePosition), $async$_getStackInfo$1$limit);
            case 4:
              // returning from await.
              t1 = $async$result;
              t2 = stack.truncated;
              $async$returnValue = new A._StackInfo(t1, t2 === true);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_getStackInfo$1$limit, $async$completer);
    },
    _populateFrameInfo$2$truncated($frames, truncated) {
      var t1, _this = this;
      $.$get$_log().log$1("populated frame info");
      _this._stackFramesWithLocation.set$value(0, $frames);
      _this._hasTruncatedFrames.set$value(0, truncated);
      t1 = J.getInterceptor$asx($frames);
      if (t1.get$isEmpty($frames))
        _this.selectStackFrame$1(null);
      else
        _this.selectStackFrame$1(t1.get$first($frames));
    },
    _getFullStack$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, stackInfo, t1;
      var $async$_getFullStack$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._getStackOperation;
              $async$goto = 2;
              return A._asyncAwait(t1 == null ? null : t1._cancelable_operation$_completer._cancelable_operation$_cancel$0(), $async$_getFullStack$0);
            case 2:
              // returning from await.
              t1 = $async$self._getStackOperation = A.CancelableOperation_CancelableOperation$fromFuture($async$self._getStackInfo$0(), type$._StackInfo);
              $async$goto = 3;
              return A._asyncAwait(t1.get$value(t1), $async$_getFullStack$0);
            case 3:
              // returning from await.
              stackInfo = $async$result;
              $async$self._populateFrameInfo$2$truncated(stackInfo.frames, stackInfo.truncated);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_getFullStack$0, $async$completer);
    },
    _clearCaches$0() {
      this._lastEvent = null;
      this._breakPositionsMap.clear$0(0);
      this._clearAutocompleteCaches$0();
    },
    _clearAutocompleteCaches$0() {
      this._clazzCache.clear$0(0);
      this.libraryMemberAutocompleteCache.clear$0(0);
      this.libraryMemberAndImportsAutocompleteCache.clear$0(0);
    },
    _populateScripts$1(isolate) {
      return this._populateScripts$body$DebuggerController(isolate);
    },
    _populateScripts$body$DebuggerController(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, mainScriptRef, $async$temp1;
      var $async$_populateScripts$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.isolateRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ScriptManager_AHF);
              t2 = $async$self.isolateRef;
              t2.toString;
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait(t1.retrieveAndSortScripts$1(t2), $async$_populateScripts$1);
            case 3:
              // returning from await.
              mainScriptRef = $async$temp1.IterableExtension_firstWhereOrNull($async$result, new A.DebuggerController__populateScripts_closure(isolate));
              if (mainScriptRef != null)
                $async$self._populateScriptAndShowLocation$1(mainScriptRef);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_populateScripts$1, $async$completer);
    },
    _createBreakpointWithLocation$1(breakpoint) {
      return this._createBreakpointWithLocation$body$DebuggerController(breakpoint);
    },
    _createBreakpointWithLocation$body$DebuggerController(breakpoint) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.BreakpointAndSourcePosition),
        $async$returnValue, bp, t2, t3, t4, t1;
      var $async$_createBreakpointWithLocation$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 = breakpoint.resolved;
              t1.toString;
              if (t1) {
                bp = A.BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(breakpoint, null);
                t1 = $.globals.$index(0, B.Type_ScriptManager_AHF);
                t2 = bp.get$scriptRef();
                t2.toString;
                t1 = t1._scriptCache;
                t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
                t3.toString;
                t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
                t4.toString;
                $async$returnValue = t1.getScript$3(t3, t4, t2).then$1$1(new A.DebuggerController__createBreakpointWithLocation_closure(bp, breakpoint), type$.BreakpointAndSourcePosition);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = A.BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(breakpoint, null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_createBreakpointWithLocation$1, $async$completer);
    },
    _createStackFrameWithLocation$1(frame) {
      return this._createStackFrameWithLocation$body$DebuggerController(frame);
    },
    _createStackFrameWithLocation$body$DebuggerController(frame) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.StackFrameAndSourcePosition),
        $async$returnValue, t1, t2, t3, t4, script, $location;
      var $async$_createStackFrameWithLocation$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
              $location = frame.location;
              if ($location == null) {
                $async$returnValue = new A.StackFrameAndSourcePosition(frame, null);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ScriptManager_AHF);
              t2 = $location.script;
              t2.toString;
              t1 = t1._scriptCache;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t3.toString;
              t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t4.toString;
              $async$goto = 3;
              return A._asyncAwait(t1.getScript$3(t3, t4, t2), $async$_createStackFrameWithLocation$1);
            case 3:
              // returning from await.
              script = $async$result;
              t2 = $location.tokenPos;
              t2.toString;
              $async$returnValue = new A.StackFrameAndSourcePosition(frame, A.SourcePosition_SourcePosition$calculatePosition(script, t2));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_createStackFrameWithLocation$1, $async$completer);
    },
    selectBreakpoint$1(bp) {
      var scriptRef, t1;
      this._selectedBreakpoint.set$value(0, bp);
      scriptRef = bp.get$scriptRef();
      if (scriptRef == null)
        return;
      t1 = bp.sourcePosition;
      if (t1 == null)
        this.showScriptLocation$1(new A.ScriptLocation(scriptRef, null));
      else
        this.showScriptLocation$1(new A.ScriptLocation(scriptRef, t1));
    },
    selectStackFrame$1(frame) {
      var t1, t2, scriptRef, position, _this = this;
      _this._selectedStackFrame.set$value(0, frame);
      t1 = frame == null;
      t2 = _this._variables;
      if (!t1)
        t2.set$value(0, _this._createVariablesForFrame$1(frame.frame));
      else
        t2.set$value(0, A._setArrayType([], type$.JSArray_DartObjectNode));
      scriptRef = t1 ? null : frame.get$scriptRef();
      position = t1 ? null : frame.position;
      if (scriptRef != null && position != null)
        _this.showScriptLocation$1(new A.ScriptLocation(scriptRef, position));
    },
    _createVariablesForFrame$1(frame) {
      var t2, variables,
        t1 = frame.vars;
      if (t1 == null)
        return A._setArrayType([], type$.JSArray_DartObjectNode);
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,DartObjectNode>");
      variables = A.List_List$of(new A.MappedListIterable(t1, new A.DebuggerController__createVariablesForFrame_closure(this), t2), true, t2._eval$1("ListIterable.E"));
      B.JSArray_methods.forEach$1(variables, A.object_tree__buildVariablesTree$closure());
      B.JSArray_methods.sort$1(variables, new A.DebuggerController__createVariablesForFrame_closure0());
      return variables;
    },
    getBreakablePositions$1(script) {
      return this.getBreakablePositions$body$DebuggerController(script);
    },
    getBreakablePositions$body$DebuggerController(script) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_SourcePosition),
        $async$returnValue, $async$self = this, t1, key, $async$temp1, $async$temp2;
      var $async$getBreakablePositions$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
              key = script.id;
              if (key == null) {
                $async$returnValue = A._setArrayType([], type$.JSArray_SourcePosition);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._breakPositionsMap;
              $async$goto = !t1.containsKey$1(0, key) ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = t1;
              $async$temp2 = key;
              $async$goto = 5;
              return A._asyncAwait($async$self._getBreakablePositions$1(script), $async$getBreakablePositions$1);
            case 5:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, $async$result);
            case 4:
              // join
              t1 = t1.$index(0, key);
              $async$returnValue = t1 == null ? A._setArrayType([], type$.JSArray_SourcePosition) : t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getBreakablePositions$1, $async$completer);
    },
    _getBreakablePositions$1(script) {
      return this._getBreakablePositions$body$DebuggerController(script);
    },
    _getBreakablePositions$body$DebuggerController(script) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_SourcePosition),
        $async$returnValue, $async$self = this, report, positions, t2, t3, t4, _i, possibleBreakpoints, t5, _i0, tokenPos, t1;
      var $async$_getBreakablePositions$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait(t1.getSourceReport$4$forceCompile$scriptId($async$self.get$_isolateRefId(), A._setArrayType(["PossibleBreakpoints"], type$.JSArray_String), true, script.id), $async$_getBreakablePositions$1);
            case 3:
              // returning from await.
              report = $async$result;
              positions = A._setArrayType([], type$.JSArray_SourcePosition);
              for (t1 = report.ranges, t2 = t1.length, t3 = script._tokenToLine, t4 = script._tokenToColumn, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                possibleBreakpoints = t1[_i].possibleBreakpoints;
                if (possibleBreakpoints != null)
                  for (t5 = possibleBreakpoints.length, _i0 = 0; _i0 < possibleBreakpoints.length; possibleBreakpoints.length === t5 || (0, A.throwConcurrentModificationError)(possibleBreakpoints), ++_i0) {
                    tokenPos = possibleBreakpoints[_i0];
                    positions.push(new A.SourcePosition(t3.$index(0, tokenPos), t4.$index(0, tokenPos), tokenPos));
                  }
              }
              $async$returnValue = positions;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_getBreakablePositions$1, $async$completer);
    },
    toggleSearchInFileVisibility$1(visible) {
      this._showSearchInFileField.set$value(0, visible);
      if (!visible) {
        this.SearchControllerMixin__searchNotifier.set$value(0, "");
        this.refreshSearchMatches$0();
      }
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      var matches, caseInsensitiveSearch, t1, t2, i, matchesForLine;
      if (search.length === 0 || this.parsedScript._change_notifier$_value == null)
        return A._setArrayType([], type$.JSArray_SourceToken);
      matches = A._setArrayType([], type$.JSArray_SourceToken);
      caseInsensitiveSearch = search.toLowerCase();
      t1 = this.parsedScript._change_notifier$_value;
      t1.toString;
      for (t1 = t1.lines, t2 = type$.SourceToken, i = 0; i < t1.length; ++i) {
        matchesForLine = B.JSString_methods.allMatches$1(caseInsensitiveSearch, t1[i].toLowerCase());
        if (!matchesForLine.get$isEmpty(matchesForLine))
          B.JSArray_methods.addAll$1(matches, A.MappedIterable_MappedIterable(matchesForLine, new A.DebuggerController_matchesForSearch_closure(i), A._instanceType(matchesForLine)._eval$1("Iterable.E"), t2));
      }
      return matches;
    }
  };
  A.DebuggerController_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        currentScriptValue = t1.scriptsHistory._history_manager$_current._change_notifier$_value;
      if (currentScriptValue != null)
        t1._showScriptLocation$1(new A.ScriptLocation(currentScriptValue, null));
    },
    $signature: 0
  };
  A.DebuggerController_initialize_closure.prototype = {
    call$0() {
      this.$this.switchToIsolate$1($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value);
    },
    $signature: 0
  };
  A.DebuggerController__parseCurrentScript_closure.prototype = {
    call$1(p) {
      return p.line;
    },
    $signature: 926
  };
  A.DebuggerController_switchToIsolate_closure.prototype = {
    call$1(list) {
      var t2,
        t1 = this.$this;
      if (this.isolate.id !== t1.get$_isolateRefId())
        return;
      t2 = J.toList$0$ax(list);
      B.JSArray_methods.sort$0(t2);
      t1._breakpointsWithLocation.set$value(0, t2);
    },
    $signature: 918
  };
  A.DebuggerController_stepOver_closure.prototype = {
    call$0() {
      return $.$get$_log().log$1("stepOver() completed");
    },
    $signature: 0
  };
  A.DebuggerController_clearBreakpoints_closure.prototype = {
    call$1(breakpoint) {
      var t2, t3, t4, t5, t6,
        _s16_ = "removeBreakpoint",
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      t2 = this.$this.get$_isolateRefId();
      t3 = breakpoint.id;
      t3.toString;
      t4 = t1.__VmServiceWrapper__vmService;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = type$.dynamic;
      t6 = type$.Success;
      return t1.trackFuture$1$2(_s16_, t4._call$1$2(0, _s16_, A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2, "breakpointId", t3], t5, t5), t6), t6);
    },
    $signature: 910
  };
  A.DebuggerController_toggleBreakpoint_closure.prototype = {
    call$1(bp) {
      return J.$eq$(bp.get$scriptRef(), this.script) && bp.get$line(bp) === this.line;
    },
    $signature: 188
  };
  A.DebuggerController__handleDebugEvent_closure.prototype = {
    call$1(bp) {
      var t1 = this.$this._breakpointsWithLocation,
        t2 = A.List_List$of(t1._change_notifier$_value, true, type$.BreakpointAndSourcePosition);
      t2.push(bp);
      B.JSArray_methods.sort$0(t2);
      t1.set$value(0, t2);
    },
    $signature: 214
  };
  A.DebuggerController__handleDebugEvent_closure0.prototype = {
    call$1(bp) {
      var t1 = this.$this._breakpointsWithLocation,
        list = J.toList$0$ax(t1._change_notifier$_value);
      if (!!list.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeWhere"));
      B.JSArray_methods._removeWhere$2(list, new A.DebuggerController__handleDebugEvent__closure(bp), true);
      B.JSArray_methods.add$1(list, bp);
      B.JSArray_methods.sort$0(list);
      t1.set$value(0, list);
    },
    $signature: 214
  };
  A.DebuggerController__handleDebugEvent__closure.prototype = {
    call$1(breakpoint) {
      return true;
    },
    $signature: 188
  };
  A.DebuggerController__updateAfterIsolateReload_closure.prototype = {
    call$1(script) {
      return script.get$uri() == this.uri;
    },
    $signature: 215
  };
  A.DebuggerController__populateScriptAndShowLocation_closure.prototype = {
    call$1(script) {
      this.$this.showScriptLocation$1(new A.ScriptLocation(this.scriptRef, null));
    },
    $signature: 216
  };
  A.DebuggerController__populateScripts_closure.prototype = {
    call$1(ref) {
      var t1 = ref.get$uri(),
        t2 = this.isolate.rootLib;
      return t1 == (t2 == null ? null : t2.get$uri());
    },
    $signature: 215
  };
  A.DebuggerController__createBreakpointWithLocation_closure.prototype = {
    call$1(script) {
      var t1 = this.bp.get$tokenPos();
      t1.toString;
      return A.BreakpointAndSourcePosition_BreakpointAndSourcePosition$create(this.breakpoint, A.SourcePosition_SourcePosition$calculatePosition(script, t1));
    },
    $signature: 890
  };
  A.DebuggerController__createVariablesForFrame_closure.prototype = {
    call$1(v) {
      var _null = null,
        t1 = this.$this.isolateRef,
        value = v.value;
      return A.DartObjectNode$_(false, _null, v.name, _null, new A.GenericInstanceRef(value, _null, t1), _null);
    },
    $signature: 888
  };
  A.DebuggerController__createVariablesForFrame_closure0.prototype = {
    call$2(a, b) {
      var t2,
        t1 = a.name;
      t1.toString;
      t2 = b.name;
      t2.toString;
      return A.sortFieldsByName(t1, t2);
    },
    $signature: 881
  };
  A.DebuggerController_matchesForSearch_closure.prototype = {
    call$1(m) {
      return new A.SourceToken(new A.SourcePosition(this.i, m.get$start(m), null), m.get$end(m) - m.get$start(m), false, false);
    },
    $signature: 870
  };
  A.ScriptsHistory.prototype = {
    pushEntry$1(ref) {
      var t1, t2, _this = this;
      if (ref.$eq(0, _this._history_manager$_current._change_notifier$_value))
        return;
      t1 = _this._history_manager$_history;
      while (true) {
        t2 = t1.length;
        if (!(t2 !== 0 && _this._historyIndex < t2 - 1))
          break;
        _this.pop$0();
      }
      t1 = _this._openedScripts;
      t1.remove$1(0, ref);
      t1.add$1(0, ref);
      _this.push$1(ref);
    }
  };
  A.EvalHistory.prototype = {
    pushEvalHistory$1(expression) {
      var t1 = this._evalHistory;
      if (t1.length !== 0 && B.JSArray_methods.get$last(t1) === expression)
        return;
      t1.push(expression);
      this._historyPosition = -1;
    },
    get$currentText() {
      var t1 = this._historyPosition;
      return t1 === -1 ? null : this._evalHistory[t1];
    }
  };
  A._StackInfo.prototype = {};
  A.ParsedScript.prototype = {
    get$script() {
      return this.script;
    }
  };
  A._DebuggerController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin.prototype = {};
  A.GenericInstanceRef.prototype = {};
  A.ScriptLocation.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ScriptLocation && other.scriptRef.$eq(0, this.scriptRef) && J.$eq$(other.location, this.location);
    },
    get$hashCode(_) {
      return A.Object_hash(this.scriptRef, this.location, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return A.S(this.scriptRef.get$uri()) + " " + A.S(this.location);
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.SourcePosition.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.SourcePosition && other.line == this.line && other.column == this.column && other.tokenPos == this.tokenPos;
    },
    get$hashCode(_) {
      var t2, _this = this,
        t1 = _this.line;
      if (t1 != null && _this.column != null) {
        t1.toString;
        t2 = _this.column;
        t2.toString;
        t2 = (t1 << 7 ^ t2) >>> 0;
        t1 = t2;
      } else
        t1 = A.Object.prototype.get$hashCode.call(_this, _this);
      return t1;
    },
    toString$0(_) {
      return A.S(this.line) + ":" + A.S(this.column);
    },
    get$line(receiver) {
      return this.line;
    },
    get$tokenPos() {
      return this.tokenPos;
    }
  };
  A.SourceToken.prototype = {
    toString$0(_) {
      var t1 = this.position,
        t2 = t1.toString$0(0);
      t1 = t1.column;
      t1.toString;
      return t2 + "-" + (t1 + this.length);
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A.BreakpointAndSourcePosition.prototype = {
    get$hashCode(_) {
      return J.get$hashCode$(this.breakpoint.id);
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (other instanceof A.BreakpointAndSourcePosition)
        t1 = other.breakpoint.id == this.breakpoint.id;
      else
        t1 = false;
      return t1;
    },
    compareTo$1(_, other) {
      var t2, result, otherTokenPos, otherLine, _this = this,
        t1 = _this.get$scriptUri();
      t1.toString;
      t2 = other.get$scriptUri();
      t2.toString;
      result = B.JSString_methods.compareTo$1(t1, t2);
      if (result !== 0)
        return result;
      t1 = _this.breakpoint.resolved;
      t1 = t1 === true;
      t2 = other.breakpoint.resolved;
      if (t1 !== (t2 === true))
        return t1 ? 1 : -1;
      if (t1) {
        otherTokenPos = other.get$tokenPos();
        if (_this.get$tokenPos() != null && otherTokenPos != null) {
          t1 = _this.get$tokenPos();
          t1.toString;
          return t1 - otherTokenPos;
        }
      } else {
        otherLine = other.get$line(other);
        if (_this.get$line(_this) != null && otherLine != null) {
          t1 = _this.get$line(_this);
          t1.toString;
          return t1 - otherLine;
        }
      }
      return 0;
    },
    $isComparable: 1
  };
  A._BreakpointAndSourcePositionResolved.prototype = {
    get$scriptRef() {
      return this.location.script;
    },
    get$scriptUri() {
      var t1 = this.location.script;
      return t1 == null ? null : t1.get$uri();
    },
    get$tokenPos() {
      return this.location.tokenPos;
    },
    get$line(_) {
      var t1 = this.sourcePosition;
      return t1 == null ? null : t1.line;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A._BreakpointAndSourcePositionUnresolved.prototype = {
    get$scriptRef() {
      return this.location.script;
    },
    get$scriptUri() {
      var t1 = this.location,
        t2 = t1.script;
      t2 = t2 == null ? null : t2.get$uri();
      return t2 == null ? t1.scriptUri : t2;
    },
    get$tokenPos() {
      return this.location.tokenPos;
    },
    get$line(_) {
      var t1 = this.sourcePosition;
      t1 = t1 == null ? null : t1.line;
      return t1 == null ? this.location.line : t1;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.StackFrameAndSourcePosition.prototype = {
    get$scriptRef() {
      var t1 = this.frame.location;
      return t1 == null ? null : t1.script;
    },
    get$line(_) {
      var t1 = this.position;
      return t1 == null ? null : t1.line;
    },
    get$description(_) {
      var $name,
        t1 = this.frame;
      if (t1.kind === "AsyncSuspensionMarker")
        return "<async break>";
      t1 = t1.code;
      $name = t1 == null ? null : t1.get$name(t1);
      if ($name == null)
        $name = "<none>";
      if (B.JSString_methods.startsWith$1($name, "[Unoptimized] "))
        $name = B.JSString_methods.substring$1($name, 14);
      $name = A.stringReplaceAllUnchecked($name, "<anonymous closure>", "<closure>");
      return $name;
    },
    get$location(_) {
      var uri, file, t2, _null = null,
        t1 = this.frame.location;
      if (t1 == null)
        uri = _null;
      else {
        t1 = t1.script;
        uri = t1 == null ? _null : t1.get$uri();
      }
      if (uri == null)
        return uri;
      file = B.JSArray_methods.get$last(uri.split("/"));
      t1 = this.position;
      t2 = t1 == null;
      if ((t2 ? _null : t1.line) == null)
        t1 = file;
      else {
        t1 = t2 ? _null : t1.line;
        t1 = file + ":" + A.S(t1);
      }
      return t1;
    }
  };
  A._SourceToken_Object_DataSearchStateMixin.prototype = {};
  A.DebuggerScreen.prototype = {
    showConsole$1(embed) {
      return true;
    },
    buildKeyboardShortcuts$1(context) {
      var controller = A.Provider_of(context, true, type$.DebuggerController),
        t1 = type$.JSArray_of_void_Function_Action_Intent,
        t2 = type$.ObserverList_of_void_Function_Action_Intent;
      return new A.ShortcutsConfiguration(A.LinkedHashMap_LinkedHashMap$_literal([$.$get$goToLineNumberKeySet(), new A.GoToLineNumberIntent(context, controller), $.$get$searchInFileKeySet(), new A.SearchInFileIntent(controller), $.$get$escapeKeySet(), new A.EscapeIntent(controller), $.$get$openFileKeySet(), new A.OpenFileIntent(controller)], type$.LogicalKeySet, type$.Intent), A.LinkedHashMap_LinkedHashMap$_literal([B.Type_GoToLineNumberIntent_RkP, new A.GoToLineNumberAction(new A.ObserverList(A._setArrayType([], t1), t2)), B.Type_SearchInFileIntent_K4v, new A.SearchInFileAction(new A.ObserverList(A._setArrayType([], t1), t2)), B.Type_EscapeIntent_2GA, new A.EscapeAction(new A.ObserverList(A._setArrayType([], t1), t2)), B.Type_OpenFileIntent_6Vn, new A.OpenFileAction(new A.ObserverList(A._setArrayType([], t1), t2))], type$.Type, type$.Action_Intent));
    },
    get$docPageId() {
      return this.screenId;
    },
    get$showIsolateSelector() {
      return B.FixedValueListenable_true;
    },
    build$1(context) {
      return B.DebuggerScreenBody_null;
    },
    buildStatus$1(context) {
      return new A.DebuggerStatus(A.Provider_of(context, true, type$.DebuggerController), null);
    }
  };
  A.DebuggerScreenBody.prototype = {
    createState$0() {
      return new A.DebuggerScreenBodyState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.DebuggerScreenBodyState.prototype = {
    initState$0() {
      var _s8_ = "debugger";
      this.super$State$initState();
      A.screen(_s8_);
      A.timeStart(_s8_, "pageReady");
      this.__DebuggerScreenBodyState__shownFirstScript = false;
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      if (!this.initController$0())
        return;
      this.ProvidedControllerMixin__controller.onFirstDebuggerScreenLoad$0();
    },
    _onLocationSelected$1($location) {
      this.ProvidedControllerMixin__controller.showScriptLocation$1($location);
    },
    build$1(context) {
      var t4, _this = this, _null = null,
        t1 = _this.ProvidedControllerMixin__controller,
        t2 = t1._librariesVisible,
        t3 = t1._currentScriptRef;
      t1 = t1.parsedScript;
      t4 = type$.JSArray_Widget;
      return A.Split$(B.Axis_0, A._setArrayType([new A.OutlineDecoration(_this.debuggerPanes$0(), _null), A.Column$(A._setArrayType([B.DebuggingControls_null, B.SizedBox_null_6_null_null, A.Expanded$(new A.ValueListenableBuilder(t2, new A.DebuggerScreenBodyState_build_closure(_this), new A.DualValueListenableBuilder(t3, t1, new A.DebuggerScreenBodyState_build_closure0(_this), _null, _null, type$.DualValueListenableBuilder_of_nullable_ScriptRef_and_nullable_ParsedScript), _null, type$.ValueListenableBuilder_bool), 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t4), B.List_O9m2, _null, _null);
    },
    debuggerPanes$0() {
      return new A.LayoutBuilder(new A.DebuggerScreenBodyState_debuggerPanes_closure(this), null);
    },
    _breakpointsRightChild$0() {
      return new A.ValueListenableBuilder(this.ProvidedControllerMixin__controller._breakpointsWithLocation, new A.DebuggerScreenBodyState__breakpointsRightChild_closure(this), null, null, type$.ValueListenableBuilder_List_BreakpointAndSourcePosition);
    }
  };
  A.DebuggerScreenBodyState_build_closure.prototype = {
    call$3(context, visible, child) {
      var t1, t2, _null = null;
      if (visible) {
        child.toString;
        t1 = this.$this;
        t2 = t1.ProvidedControllerMixin__controller.__DebuggerController_programExplorerController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        return A.Split$(B.Axis_0, A._setArrayType([child, new A.ProgramExplorer(t2, t1.get$_onLocationSelected(), "File Explorer", _null, _null)], type$.JSArray_Widget), B.List_ynv, _null, _null);
      } else {
        child.toString;
        return child;
      }
    },
    $signature: 99
  };
  A.DebuggerScreenBodyState_build_closure0.prototype = {
    call$4(context, scriptRef, parsedScript, _) {
      var t1, t2,
        _s8_ = "debugger",
        _s9_ = "pageReady";
      if (scriptRef != null)
        if (parsedScript != null) {
          t1 = this.$this.__DebuggerScreenBodyState__shownFirstScript;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = !t1;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        A.timeEnd(_s8_, _s9_);
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).sendDwdsEvent$2$action$screen(_s9_, _s8_);
        this.$this.__DebuggerScreenBodyState__shownFirstScript = true;
      }
      t1 = $.$get$DebuggerScreenBody_codeViewKey();
      t2 = this.$this.ProvidedControllerMixin__controller;
      return new A.CodeView(t2, scriptRef, parsedScript, t2.get$toggleBreakpoint(), t1);
    },
    $signature: 862
  };
  A.DebuggerScreenBodyState_debuggerPanes_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this,
        t2 = type$.JSArray_Widget;
      return A.FlexSplitColumn$(B.List_ES1, A._setArrayType([A.AreaPaneHeader$(A._setArrayType([A.CopyToClipboardControl$(B.ValueKey_rNu, new A.DebuggerScreenBodyState_debuggerPanes__closure(t1))], t2), 1, true, false, false, 4, B.Text_JFX), B.AreaPaneHeader_6xV, A.AreaPaneHeader$(A._setArrayType([t1._breakpointsRightChild$0()], t2), 1, true, false, true, 0, B.Text_sdc)], type$.JSArray_PreferredSizeWidget), B.List_a1A, B.List_0_0_0, constraints.maxHeight);
    },
    $signature: 853
  };
  A.DebuggerScreenBodyState_debuggerPanes__closure.prototype = {
    call$0() {
      var i,
        callStackList = J.map$1$1$ax(this.$this.ProvidedControllerMixin__controller._stackFramesWithLocation._change_notifier$_value, new A.DebuggerScreenBodyState_debuggerPanes___closure(), type$.String).toList$0(0);
      for (i = 0; i < callStackList.length; ++i)
        callStackList[i] = "#" + i + " " + A.S(callStackList[i]);
      return B.JSArray_methods.join$1(callStackList, "\n");
    },
    $signature: 24
  };
  A.DebuggerScreenBodyState_debuggerPanes___closure.prototype = {
    call$1(frame) {
      var t1 = frame.frame.kind,
        t2 = frame.get$description(frame);
      return t2 + A.S(t1 === "AsyncSuspensionMarker" ? null : " (" + A.S(frame.get$location(frame)) + ")");
    },
    $signature: 843
  };
  A.DebuggerScreenBodyState__breakpointsRightChild_closure.prototype = {
    call$3(context, breakpoints, _) {
      var _null = null;
      return A.Row$(A._setArrayType([new A.BreakpointsCountBadge(breakpoints, _null), A.DevToolsTooltip$(new A.ToolbarAction(B.IconData_57785_MaterialIcons_false, _null, J.get$isNotEmpty$asx(breakpoints) ? this.$this.ProvidedControllerMixin__controller.get$clearBreakpoints() : _null, _null), _null, _null, "Remove all breakpoints", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 842
  };
  A.GoToLineNumberIntent.prototype = {};
  A.GoToLineNumberAction.prototype = {
    invoke$1(intent) {
      var t1 = intent._debugger_screen$_controller;
      A.showGoToLineDialog(intent._debugger_screen$_context, t1);
      t1._showFileOpener.set$value(0, false);
      t1.toggleSearchInFileVisibility$1(false);
    }
  };
  A.SearchInFileIntent.prototype = {};
  A.SearchInFileAction.prototype = {
    invoke$1(intent) {
      var t1 = intent._debugger_screen$_controller;
      t1.toggleSearchInFileVisibility$1(true);
      t1._showFileOpener.set$value(0, false);
    }
  };
  A.EscapeIntent.prototype = {};
  A.EscapeAction.prototype = {
    invoke$1(intent) {
      var t1 = intent._debugger_screen$_controller;
      t1.toggleSearchInFileVisibility$1(false);
      t1._showFileOpener.set$value(0, false);
    }
  };
  A.OpenFileIntent.prototype = {};
  A.OpenFileAction.prototype = {
    invoke$1(intent) {
      var t1 = intent._debugger_screen$_controller;
      t1._showFileOpener.set$value(0, true);
      t1.toggleSearchInFileVisibility$1(false);
    }
  };
  A.DebuggerStatus.prototype = {
    createState$0() {
      return new A._DebuggerStatusState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._DebuggerStatusState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.addAutoDisposeListener$2(_this._widget.controller._debugger_controller$_isPaused, _this.get$_updateStatus());
      _this._updateStatus$0();
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this.addAutoDisposeListener$2(_this._widget.controller._debugger_controller$_isPaused, _this.get$_updateStatus());
    },
    build$1(context) {
      var _null = null;
      return A.Text$(this._debugger_screen$_status, _null, 1, B.TextOverflow_2, _null, _null, _null, _null, _null, _null, _null);
    },
    _updateStatus$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, $status;
      var $async$_updateStatus$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._computeStatus$0(), $async$_updateStatus$0);
            case 2:
              // returning from await.
              $status = $async$result;
              if ($status !== $async$self._debugger_screen$_status)
                $async$self.setState$1(new A._DebuggerStatusState__updateStatus_closure($async$self, $status));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_updateStatus$0, $async$completer);
    },
    _computeStatus$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, $event, frame, reason, scriptUri, t2, fileName, tokenPos, scriptRef, t3, t1, $async$temp1, $async$temp2;
      var $async$_computeStatus$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._widget.controller;
              if (!t1._debugger_controller$_isPaused._change_notifier$_value) {
                $async$returnValue = "running";
                // goto return
                $async$goto = 1;
                break;
              }
              $event = t1._lastEvent;
              frame = $event.topFrame;
              reason = $event.kind === "PauseException" ? " on exception" : "";
              t1 = frame == null;
              if (t1)
                scriptUri = null;
              else {
                t2 = frame.location;
                if (t2 == null)
                  scriptUri = null;
                else {
                  t2 = t2.script;
                  t2 = t2 == null ? null : t2.get$uri();
                  scriptUri = t2;
                }
              }
              if (scriptUri == null) {
                $async$returnValue = "paused" + reason;
                // goto return
                $async$goto = 1;
                break;
              }
              fileName = B.JSString_methods.$add(" at ", B.JSArray_methods.get$last(scriptUri.split("/")));
              if (t1)
                tokenPos = null;
              else {
                t2 = frame.location;
                tokenPos = t2 == null ? null : t2.tokenPos;
              }
              if (t1)
                scriptRef = null;
              else {
                t1 = frame.location;
                scriptRef = t1 == null ? null : t1.script;
              }
              if (tokenPos == null || scriptRef == null) {
                $async$returnValue = "paused" + reason + fileName;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ScriptManager_AHF)._scriptCache;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t3.toString;
              $async$temp1 = "paused" + reason + fileName + " ";
              $async$temp2 = A;
              $async$goto = 3;
              return A._asyncAwait(t1.getScript$3(t2, t3, scriptRef), $async$_computeStatus$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1 + $async$temp2.SourcePosition_SourcePosition$calculatePosition($async$result, tokenPos).toString$0(0);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_computeStatus$0, $async$completer);
    }
  };
  A._DebuggerStatusState__updateStatus_closure.prototype = {
    call$0() {
      this.$this._debugger_screen$_status = this.status;
    },
    $signature: 0
  };
  A.FloatingDebuggerControls.prototype = {
    createState$0() {
      return new A._FloatingDebuggerControlsState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._FloatingDebuggerControlsState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      t1 = _this.ProvidedControllerMixin__controller._debugger_controller$_isPaused._change_notifier$_value;
      _this.___FloatingDebuggerControlsState_paused = t1;
      _this.___FloatingDebuggerControlsState_controlHeight = t1 ? B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : 0;
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._debugger_controller$_isPaused, new A._FloatingDebuggerControlsState_didChangeDependencies_closure(_this));
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this.___FloatingDebuggerControlsState_paused;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1 ? 1 : 0;
      t2 = _this.___FloatingDebuggerControlsState_controlHeight;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = A.Color$fromARGB(31, 0, 0, 0);
      t4 = A.Container$(B.Alignment_m1_0, B.Text_69P, B.Clip_0, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.EdgeInsets_16_0_16_0, _null, _null, _null);
      t5 = _this.ProvidedControllerMixin__controller;
      t5.toString;
      t5 = J.get$resume$z(t5);
      t5 = A.DevToolsTooltip$(A.TextButton$(A.Icon$(B.IconData_60111_Codicon_false, B.MaterialColor_Map_JNEaM_4283215696, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, t5, _null), _null, _null, "Resume", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
      t6 = _this.ProvidedControllerMixin__controller.get$stepOver();
      return A.AnimatedOpacity$(false, A.Container$(_null, new A.OutlinedRowGroup(A._setArrayType([t4, t5, A.DevToolsTooltip$(A.TextButton$(A.Icon$(B.IconData_60118_Codicon_false, B.Color_4278190080, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, t6, _null), _null, _null, "Step over", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000)], type$.JSArray_Widget), t3, _null), B.Clip_0, B.Color_4294834901, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null), B.C__Linear, B.Duration_400000, new A._FloatingDebuggerControlsState_build_closure(_this), t1);
    }
  };
  A._FloatingDebuggerControlsState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._FloatingDebuggerControlsState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._FloatingDebuggerControlsState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller._debugger_controller$_isPaused._change_notifier$_value;
      t1.___FloatingDebuggerControlsState_paused = t2;
      if (t2)
        t1.___FloatingDebuggerControlsState_controlHeight = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    $signature: 0
  };
  A._FloatingDebuggerControlsState_build_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.___FloatingDebuggerControlsState_paused;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (!t2)
        t1.setState$1(new A._FloatingDebuggerControlsState_build__closure(t1));
    },
    $signature: 0
  };
  A._FloatingDebuggerControlsState_build__closure.prototype = {
    call$0() {
      this.$this.___FloatingDebuggerControlsState_controlHeight = 0;
    },
    $signature: 0
  };
  A._DebuggerScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._DebuggerScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.__DebuggerStatusState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__FloatingDebuggerControlsState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__FloatingDebuggerControlsState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.ExpressionEvalField.prototype = {
    createState$0() {
      return new A.ExpressionEvalFieldState(A._setArrayType([], type$.JSArray_String), new A.LabeledGlobalKey("evalTextFieldKey", type$.LabeledGlobalKey_State_StatefulWidget), $, $, $, $, A.Disposer$(), B._StateLifecycle_0);
    },
    getAutoCompleteResults$2(arg0, arg1) {
      return this.getAutoCompleteResults.call$2(arg0, arg1);
    }
  };
  A.ExpressionEvalFieldState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$_ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.ensureServiceInitialized$0();
      t1 = A.AutoCompleteController$();
      _this.__ExpressionEvalFieldState__autoCompleteController = t1;
      _this.addAutoDisposeListener$2(t1.SearchControllerMixin__searchNotifier, new A.ExpressionEvalFieldState_initState_closure(_this));
      t1 = _this.__ExpressionEvalFieldState__autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.get$_handleSearch();
      _this.addAutoDisposeListener$2(t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier, t2);
      t1 = _this.__ExpressionEvalFieldState__autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1.SearchControllerMixin__searchNotifier, t2);
      t2 = _this.__ExpressionEvalFieldState__autoCompleteController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t2.AutoCompleteSearchControllerMixin__currentSuggestionNotifier, _this.get$_handleSuggestionTextChange());
      t2 = _this.__ExpressionEvalFieldState__autoCompleteController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t2.AutoCompleteSearchControllerMixin__currentHoveredIndex, _this.get$_handleHoverChange());
    },
    _handleHoverChange$0() {
      var t1,
        editingParts = this._currentEditingParts$0();
      if (!(editingParts.activeWord.length !== 0 || B.JSString_methods.endsWith$1(editingParts.leftSide, ".")))
        return;
      t1 = this.__ExpressionEvalFieldState__autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.updateCurrentSuggestion$1(this._activeWord);
    },
    _currentEditingParts$0() {
      var isField, t2,
        t1 = this.__ExpressionEvalFieldState__autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.SearchControllerMixin__searchNotifier._change_notifier$_value;
      isField = B.JSString_methods.endsWith$1(t1, ".");
      t2 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.AutoCompleteSearchControllerMixin_activeEditingParts(t1, t2._change_notifier$_value.selection, isField);
    },
    _handleSuggestionTextChange$0() {
      var t2,
        t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1._change_notifier$_value;
      if (t2.text.length <= t2.selection.end) {
        t2 = this.__ExpressionEvalFieldState__autoCompleteController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1._suggestionText = t2.AutoCompleteSearchControllerMixin__currentSuggestionNotifier._change_notifier$_value;
        t1.notifyListeners$0();
      } else {
        t1._suggestionText = null;
        t1.notifyListeners$0();
      }
    },
    _handleSearch$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t2, parts, matches, results, t1;
      var $async$_handleSearch$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.__ExpressionEvalFieldState__autoCompleteController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t1.SearchControllerMixin__searchNotifier._change_notifier$_value;
              t1.AutoCompleteSearchControllerMixin__currentSuggestionNotifier.set$value(0, null);
              $async$goto = t2.length !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if (t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier._change_notifier$_value) {
                t1.SearchControllerMixin__searchNotifier.set$value(0, "");
                t1.refreshSearchMatches$0();
                // goto return
                $async$goto = 1;
                break;
              }
              parts = $async$self._currentEditingParts$0();
              t1 = parts.activeWord;
              if (!(t1.length !== 0 || B.JSString_methods.endsWith$1(parts.leftSide, "."))) {
                t1 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
                t1.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2.updateCurrentSuggestion$1(t1);
              t2 = $async$self._activeWord;
              $async$goto = B.JSString_methods.startsWith$1(t1, t2) && t2.length !== 0 ? 6 : 8;
              break;
            case 6:
              // then
              matches = $async$self._filterMatches$2($async$self._matches, t1);
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              t2 = $async$self._widget;
              $async$goto = 9;
              return A._asyncAwait(t2.getAutoCompleteResults$2(parts, t2.controller), $async$_handleSearch$0);
            case 9:
              // returning from await.
              matches = $async$result;
            case 7:
              // join
              $async$self._matches = matches;
              $async$self._activeWord = t1;
              t2 = J.getInterceptor$asx(matches);
              if (t2.get$length(matches) === 1 && J.$eq$(t2.get$first(matches), t1)) {
                t1 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
                t1.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
                t1 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.AutoCompleteSearchControllerMixin__currentSuggestionNotifier.set$value(0, null);
              } else {
                results = J.map$1$1$ax(t2.sublist$2(matches, 0, Math.min(10, t2.get$length(matches))), new A.ExpressionEvalFieldState__handleSearch_closure(), type$.AutoCompleteMatch).toList$0(0);
                t2 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
                if (t2 === $)
                  A.throwUnnamedLateFieldNI();
                t2.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, results);
                t2 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
                if (t2 === $)
                  A.throwUnnamedLateFieldNI();
                t2.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
                t2 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
                if (t2 === $)
                  A.throwUnnamedLateFieldNI();
                t2.updateCurrentSuggestion$1(t1);
              }
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.closeAutoCompleteOverlay$0();
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleSearch$0, $async$completer);
    },
    build$1(context) {
      var t2, _this = this, _null = null,
        t1 = _this.__ExpressionEvalFieldState__autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.Theme_of(context).textTheme.titleMedium;
      t2 = t2 == null ? _null : t2.copyWith$1$fontFeatures(A._setArrayType([B.C_FontFeature], type$.JSArray_FontFeature));
      return A.Row$(A._setArrayType([B.Text_NqF, B.SizedBox_8_null_null_null, A.Expanded$(A.Focus$(false, _null, _this.buildAutoCompleteSearchField$9$controller$decoration$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField(t1, B.InputDecoration_oe2, _this.get$_onSelection(), new A.ExpressionEvalFieldState_build_closure(), true, _this.evalTextFieldKey, false, t2, true), _null, _null, _null, _null, true, _null, _null, new A.ExpressionEvalFieldState_build_closure0(_this), _null, _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    _onSelection$1(word) {
      this.setState$1(new A.ExpressionEvalFieldState__onSelection_closure(this, word));
    },
    _filterMatches$2(previousMatches, activeWord) {
      var t1 = J.where$1$ax(previousMatches, new A.ExpressionEvalFieldState__filterMatches_closure(activeWord));
      return A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
    },
    _handleExpressionEval$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, expressionText, isolateRef, response, value, e, exception, t1, $async$exception;
      var $async$_handleExpressionEval$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
              t1 = $async$self.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              expressionText = B.JSString_methods.trim$0(t1._change_notifier$_value.text);
              if ($async$self.__ExpressionEvalFieldState__autoCompleteController === $)
                A.throwUnnamedLateFieldNI();
              t1.set$text(0, "");
              t1 = $async$self.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.set$selection(A.TextSelection$collapsed(B.TextAffinity_1, 0));
              t1 = $async$self.__ExpressionEvalFieldState__autoCompleteController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$self.clearSearchField$2$force(t1, true);
              if (J.get$length$asx(expressionText) === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager.get$mainIsolateDebuggerState()._isPaused._change_notifier$_value;
              t1.toString;
              if (!t1) {
                t1 = $async$self._framework$_element;
                t1.toString;
                A.Notifications_of(t1).push$1("Application must be paused to support expression evaluation.");
                // goto return
                $async$goto = 1;
                break;
              }
              $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.appendStdio$1("> " + A.S(expressionText) + "\n");
              $async$self.setState$1(new A.ExpressionEvalFieldState__handleExpressionEval_closure($async$self, expressionText));
              $async$handler = 4;
              t1 = $async$self._widget.controller;
              isolateRef = t1.isolateRef;
              $async$goto = 7;
              return A._asyncAwait(t1.evalAtCurrentFrame$1(expressionText), $async$_handleExpressionEval$0);
            case 7:
              // returning from await.
              response = $async$result;
              if (type$.InstanceRef._is(response))
                $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.appendInstanceRef$4$diagnostic$forceScrollIntoView$isolateRef$value(null, true, isolateRef, response);
              else {
                value = J.toString$0$(response);
                if (type$.ErrorRef._is(response))
                  value = J.get$message$x(response);
                else if (response instanceof A.Sentinel)
                  value = response.valueAsString;
                t1 = value;
                t1.toString;
                $async$self._emitToConsole$1(t1);
              }
              $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);
              $async$self._emitToConsole$1(A.S(e));
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // 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$_handleExpressionEval$0, $async$completer);
    },
    _emitToConsole$1(text) {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService;
      t1.appendStdio$2$forceScrollIntoView("  " + A.stringReplaceAllUnchecked(text, "\n", "\n  ") + "\n", true);
    },
    dispose$0() {
      if (this.__ExpressionEvalFieldState__autoCompleteController === $)
        A.throwUnnamedLateFieldNI();
      this.super$_ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin$dispose();
    },
    _historyNavUp$0() {
      var evalHistory = this._widget.controller.evalHistory;
      if (!(evalHistory._evalHistory.length !== 0 && evalHistory._historyPosition !== 0))
        return;
      this.setState$1(new A.ExpressionEvalFieldState__historyNavUp_closure(this, evalHistory));
    },
    _historyNavDown$0() {
      var evalHistory = this._widget.controller.evalHistory;
      if (!(evalHistory._evalHistory.length !== 0 && evalHistory._historyPosition !== -1))
        return;
      this.setState$1(new A.ExpressionEvalFieldState__historyNavDown_closure(this, evalHistory));
    }
  };
  A.ExpressionEvalFieldState_initState_closure.prototype = {
    call$0() {
      var t3,
        t1 = this.$this,
        t2 = t1.__ExpressionEvalFieldState__autoCompleteController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1._framework$_element;
      t3.toString;
      t2.handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(false, t3, false, t1.get$_onSelection(), t1.evalTextFieldKey);
    },
    $signature: 0
  };
  A.ExpressionEvalFieldState__handleSearch_closure.prototype = {
    call$1(match) {
      return new A.AutoCompleteMatch(match, B.List_empty21);
    },
    $signature: 194
  };
  A.ExpressionEvalFieldState_build_closure0.prototype = {
    call$2(_, $event) {
      var t1 = $.$get$RawKeyboard_instance()._keysPressed,
        t2 = t1.get$values(t1);
      if (A.LinkedHashSet_LinkedHashSet$of(t2, A._instanceType(t2)._eval$1("Iterable.E")).contains$1(0, B.LogicalKeyboardKey_4294968068)) {
        this.$this._historyNavUp$0();
        return B.KeyEventResult_0;
      } else {
        t2 = t1.get$values(t1);
        if (A.LinkedHashSet_LinkedHashSet$of(t2, A._instanceType(t2)._eval$1("Iterable.E")).contains$1(0, B.LogicalKeyboardKey_4294968065)) {
          this.$this._historyNavDown$0();
          return B.KeyEventResult_0;
        } else {
          t1 = t1.get$values(t1);
          if (A.LinkedHashSet_LinkedHashSet$of(t1, A._instanceType(t1)._eval$1("Iterable.E")).contains$1(0, B.LogicalKeyboardKey_4294967309)) {
            this.$this._handleExpressionEval$0();
            return B.KeyEventResult_0;
          }
        }
      }
      return B.KeyEventResult_1;
    },
    $signature: 72
  };
  A.ExpressionEvalFieldState_build_closure.prototype = {
    call$2(inputValue, inputStyle) {
      var indexOfDot = B.JSString_methods.lastIndexOf$1(inputValue, ".");
      return A.calculateTextSpanWidth(A.TextSpan$(null, null, null, inputStyle, indexOfDot !== -1 ? B.JSString_methods.substring$2(inputValue, 0, indexOfDot + 1) : inputValue));
    },
    $signature: 815
  };
  A.ExpressionEvalFieldState__onSelection_closure.prototype = {
    call$0() {
      var textFieldEditingValue, editingValue, selection, parts, t4,
        t1 = this.$this,
        t2 = this.word,
        t3 = t1.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      textFieldEditingValue = t3._change_notifier$_value;
      editingValue = textFieldEditingValue.text;
      selection = textFieldEditingValue.selection;
      t3 = t1.__ExpressionEvalFieldState__autoCompleteController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      parts = A.AutoCompleteSearchControllerMixin_activeEditingParts(editingValue, selection, B.JSString_methods.endsWith$1(t3.SearchControllerMixin__searchNotifier._change_notifier$_value, "."));
      t3 = parts.leftSide;
      t4 = t1.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4.super$ValueNotifier$value(0, new A.TextEditingValue(t3 + t2 + parts.rightSide, A.TextSelection$fromPosition(new A.TextPosition(t3.length + t2.length, B.TextAffinity_1)), B.TextRange_m1_m1));
      t2 = t1.__ExpressionEvalFieldState__autoCompleteController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, false);
      t2 = t1.__ExpressionEvalFieldState__autoCompleteController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.closeAutoCompleteOverlay$0();
      t1 = t1.__ExpressionEvalFieldState__autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.AutoCompleteSearchControllerMixin__currentSuggestionNotifier.set$value(0, null);
    },
    $signature: 0
  };
  A.ExpressionEvalFieldState__filterMatches_closure.prototype = {
    call$1(match) {
      return B.JSString_methods.startsWith$1(match, this.activeWord);
    },
    $signature: 6
  };
  A.ExpressionEvalFieldState__handleExpressionEval_closure.prototype = {
    call$0() {
      this.$this._widget.controller.evalHistory.pushEvalHistory$1(this.expressionText);
    },
    $signature: 0
  };
  A.ExpressionEvalFieldState__historyNavUp_closure.prototype = {
    call$0() {
      var text,
        t1 = this.evalHistory,
        t2 = t1._historyPosition;
      if (t2 === -1)
        t1._historyPosition = t1._evalHistory.length - 1;
      else if (t2 > 0)
        t1._historyPosition = t2 - 1;
      text = t1.get$currentText();
      if (text == null)
        text = "";
      t1 = this.$this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.super$ValueNotifier$value(0, new A.TextEditingValue(text, A.TextSelection$collapsed(B.TextAffinity_1, text.length), B.TextRange_m1_m1));
    },
    $signature: 0
  };
  A.ExpressionEvalFieldState__historyNavDown_closure.prototype = {
    call$0() {
      var text,
        t1 = this.evalHistory,
        t2 = t1._historyPosition;
      if (t2 !== -1)
        t2 = t1._historyPosition = t2 + 1;
      if (t2 >= t1._evalHistory.length)
        t1._historyPosition = -1;
      text = t1.get$currentText();
      if (text == null)
        text = "";
      t1 = this.$this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.super$ValueNotifier$value(0, new A.TextEditingValue(text, A.TextSelection$collapsed(B.TextAffinity_1, text.length), B.TextRange_m1_m1));
    },
    $signature: 0
  };
  A.autoCompleteResultsFor_closure.prototype = {
    call$1(variable) {
      return variable.name;
    },
    $signature: 813
  };
  A.autoCompleteResultsFor_closure0.prototype = {
    call$1(variable) {
      return variable.name === "this";
    },
    $signature: 807
  };
  A.autoCompleteResultsFor_closure1.prototype = {
    call$1($name) {
      return B.JSString_methods.startsWith$1($name, this.parts.activeWord);
    },
    $signature: 6
  };
  A.libraryMemberAndImportsAutocompletes_closure.prototype = {
    call$0() {
      return A._libraryMemberAndImportsAutocompletes(this.libraryRef, this.controller);
    },
    $signature: 217
  };
  A.libraryMemberAutocompletes_closure.prototype = {
    call$0() {
      return A._libraryMemberAutocompletes(this.controller, this.libraryRef);
    },
    $signature: 217
  };
  A.libraryMemberAutocompletes_closure0.prototype = {
    call$1($name) {
      return !B.JSString_methods.startsWith$1($name, "_");
    },
    $signature: 6
  };
  A._libraryMemberAutocompletes_closure.prototype = {
    call$1(field) {
      return field.get$name(field);
    },
    $signature: 218
  };
  A._libraryMemberAutocompletes_closure0.prototype = {
    call$1(funcRef) {
      var t1 = funcRef.get$name(funcRef);
      t1.toString;
      return A.stringReplaceAllUnchecked(t1, "=", "");
    },
    $signature: 787
  };
  A._libraryMemberAutocompletes_closure1.prototype = {
    call$1(clazz) {
      return clazz.get$name(clazz);
    },
    $signature: 781
  };
  A._addAllInstanceMembersToAutocompleteList_closure.prototype = {
    call$1(field) {
      var t1 = field.decl;
      if ((t1 == null ? null : t1.get$isStatic()) != null) {
        t1 = field.decl.get$isStatic();
        t1.toString;
        t1 = !t1;
      } else
        t1 = false;
      return t1;
    },
    $signature: 193
  };
  A._addAllInstanceMembersToAutocompleteList_closure0.prototype = {
    call$1(field) {
      var t1 = field.decl;
      return t1 == null ? null : t1.get$name(t1);
    },
    $signature: 774
  };
  A._addAllInstanceMembersToAutocompleteList_closure1.prototype = {
    call$1(member) {
      return A._isAccessible(member, this.clazz, this.controller);
    },
    $signature: 6
  };
  A._autoCompleteMembersFor_closure.prototype = {
    call$1(f) {
      return f.get$isStatic() === this.staticContext;
    },
    $signature: 765
  };
  A._autoCompleteMembersFor_closure0.prototype = {
    call$1(field) {
      return field.get$name(field);
    },
    $signature: 218
  };
  A._autoCompleteMembersFor_closure1.prototype = {
    call$1(member) {
      return !A._isAccessible(member, this.clazz, this.controller);
    },
    $signature: 6
  };
  A._ExpressionEvalFieldState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$_ExpressionEvalFieldState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.FileSearchField.prototype = {
    createState$0() {
      return new A.FileSearchFieldState(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ScriptRef), new A.LabeledGlobalKey("fileSearchFieldKey", type$.LabeledGlobalKey_State_StatefulWidget), $, $, $, $, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.FileSearchFieldState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$_FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      t1 = A.AutoCompleteController$();
      _this.__FileSearchFieldState_autoCompleteController = t1;
      t1.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
      t1 = _this.__FileSearchFieldState_autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1.SearchControllerMixin__searchNotifier, _this.get$_file_search$_handleSearch());
      t1 = _this.__FileSearchFieldState_autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1.AutoCompleteSearchControllerMixin_searchAutoComplete, _this.get$_handleAutoCompleteOverlay());
      t1 = _this.__FileSearchFieldState_autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__FileSearchFieldState__query = t1.SearchControllerMixin__searchNotifier._change_notifier$_value;
      _this.__FileSearchFieldState__searchResults = A.FileSearchResults_FileSearchResults$emptyQuery($.globals.$index(0, B.Type_ScriptManager_AHF)._sortedScripts._change_notifier$_value);
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.FileSearchFieldState_initState_closure(_this));
    },
    build$1(context) {
      var t2, _this = this,
        t1 = _this.__FileSearchFieldState_autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.get$_onClose();
      return _this.buildAutoCompleteSearchField$9$controller$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus(t1, A.LinkedHashSet_LinkedHashSet$_literal([B.LogicalKeyboardKey_4294967323], type$.LogicalKeyboardKey), "Open file", t2, t2, _this.get$_file_search$_onSelection(), true, _this.fileSearchFieldKey, true);
    },
    dispose$0() {
      this._onClose$0();
      if (this.__FileSearchFieldState_autoCompleteController === $)
        A.throwUnnamedLateFieldNI();
      this.super$_FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin$dispose();
    },
    _file_search$_handleSearch$0() {
      var t2, currentQuery, scripts, searchResults, _this = this,
        t1 = _this.__FileSearchFieldState__query;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.__FileSearchFieldState_autoCompleteController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      currentQuery = B.JSString_methods.trim$0(t2.SearchControllerMixin__searchNotifier._change_notifier$_value);
      if (B.JSString_methods.startsWith$1(currentQuery, t1)) {
        t1 = _this.__FileSearchFieldState__searchResults;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        scripts = t1.get$scriptRefs();
      } else
        scripts = $.globals.$index(0, B.Type_ScriptManager_AHF)._sortedScripts._change_notifier$_value;
      searchResults = _this._createSearchResults$2(currentQuery, scripts);
      if (J.get$isEmpty$asx(searchResults.get$scriptRefs())) {
        t1 = _this.__FileSearchFieldState_autoCompleteController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
      } else {
        J.forEach$1$ax(searchResults._buildTopMatches$0().get$scriptRefs(), _this.get$_addScriptRefToCache());
        t1 = _this.__FileSearchFieldState_autoCompleteController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, searchResults._buildTopMatches$0().get$autoCompleteMatches());
      }
      _this.__FileSearchFieldState__query = currentQuery;
      _this.__FileSearchFieldState__searchResults = searchResults;
    },
    _handleAutoCompleteOverlay$0() {
      var t2, _this = this,
        t1 = _this.__FileSearchFieldState_autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._framework$_element;
      t2.toString;
      t1.handleAutoCompleteOverlay$3$context$onTap$searchFieldKey(t2, _this.get$_file_search$_onSelection(), _this.fileSearchFieldKey);
    },
    _addScriptRefToCache$1(scriptRef) {
      var uri = scriptRef.get$uri();
      if (uri == null)
        return;
      this._scriptsCache.putIfAbsent$2(0, uri, new A.FileSearchFieldState__addScriptRefToCache_closure(scriptRef));
    },
    _file_search$_onSelection$1(scriptUri) {
      var t1 = this._scriptsCache.$index(0, scriptUri);
      t1.toString;
      this._widget.debuggerController.showScriptLocation$1(new A.ScriptLocation(t1, null));
      this._onClose$0();
    },
    _onClose$0() {
      var t1 = this.__FileSearchFieldState_autoCompleteController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.closeAutoCompleteOverlay$0();
      this._widget.debuggerController._showFileOpener.set$value(0, false);
      $._fileNamesCache.clear$0(0);
      this._scriptsCache.clear$0(0);
    },
    _createSearchResults$2(query, scriptRefs) {
      if (query.length === 0)
        return A.FileSearchResults_FileSearchResults$emptyQuery(scriptRefs);
      return A.FileSearchResults_FileSearchResults$withQuery(scriptRefs, new A.FileQuery(query));
    }
  };
  A.FileSearchFieldState_initState_closure.prototype = {
    call$1(_) {
      return this.$this._file_search$_handleSearch$0();
    },
    $signature: 3
  };
  A.FileSearchFieldState__addScriptRefToCache_closure.prototype = {
    call$0() {
      return this.scriptRef;
    },
    $signature: 761
  };
  A.FileQuery.prototype = {
    isExactFileNameMatch$1(script) {
      var t2, fileName,
        t1 = this.query;
      if (t1.length === 0)
        return false;
      t2 = script.get$uri();
      t2.toString;
      fileName = this._fileName$1(t2);
      if (B.JSString_methods.contains$1(t1, " "))
        return B.JSArray_methods.every$1(A._setArrayType(t1.split(" "), type$.JSArray_String), new A.FileQuery_isExactFileNameMatch_closure(fileName));
      return A.StringExtension_caseInsensitiveContains(fileName, t1);
    },
    createExactFileNameAutoCompleteMatch$1(script) {
      var fileName, fileNameIndex, t2, t3,
        t1 = script.get$uri();
      t1.toString;
      if (this.query.length === 0)
        return new A.AutoCompleteMatch(t1, B.List_empty21);
      fileName = this._fileName$1(t1);
      fileNameIndex = B.JSString_methods.lastIndexOf$1(t1, fileName);
      t2 = this._findExactSegments$1(fileName);
      t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Range>");
      return new A.AutoCompleteMatch(t1, A.List_List$of(new A.MappedListIterable(t2, new A.FileQuery_createExactFileNameAutoCompleteMatch_closure(fileNameIndex), t3), true, t3._eval$1("ListIterable.E")));
    },
    isExactFullPathMatch$1(script) {
      var t2,
        t1 = this.query;
      if (t1.length === 0)
        return false;
      t2 = script.get$uri();
      t2.toString;
      if (B.JSString_methods.contains$1(t1, " "))
        return B.JSArray_methods.every$1(A._setArrayType(t1.split(" "), type$.JSArray_String), new A.FileQuery_isExactFullPathMatch_closure(t2));
      return A.StringExtension_caseInsensitiveContains(t2, t1);
    },
    createExactFullPathAutoCompleteMatch$1(script) {
      var t1 = script.get$uri();
      t1.toString;
      if (this.query.length === 0)
        return new A.AutoCompleteMatch(t1, B.List_empty21);
      return new A.AutoCompleteMatch(t1, this._findExactSegments$1(t1));
    },
    isFuzzyMatch$1(script) {
      var t2,
        t1 = this.query;
      if (t1.length === 0)
        return false;
      t2 = script.get$uri();
      t2.toString;
      if (B.JSString_methods.contains$1(t1, " "))
        return A.StringExtension_caseInsensitiveFuzzyMatch(t2, A.stringReplaceAllUnchecked(t1, " ", ""));
      return A.StringExtension_caseInsensitiveFuzzyMatch(this._fileName$1(t2), t1);
    },
    createFuzzyMatchAutoCompleteMatch$1(script) {
      var t2, matchedSegments, fileName, fileNameIndex, t3, _this = this,
        t1 = script.get$uri();
      t1.toString;
      t2 = _this.query;
      if (t2.length === 0)
        return new A.AutoCompleteMatch(t1, B.List_empty21);
      if (B.JSString_methods.contains$1(t2, " "))
        matchedSegments = _this._findFuzzySegments$2(t1, A.stringReplaceAllUnchecked(t2, " ", ""));
      else {
        fileName = _this._fileName$1(t1);
        fileNameIndex = B.JSString_methods.lastIndexOf$1(t1, fileName);
        t2 = _this._findFuzzySegments$2(fileName, t2);
        t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Range>");
        matchedSegments = A.List_List$of(new A.MappedListIterable(t2, new A.FileQuery_createFuzzyMatchAutoCompleteMatch_closure(fileNameIndex), t3), true, t3._eval$1("ListIterable.E"));
      }
      return new A.AutoCompleteMatch(t1, matchedSegments);
    },
    _findExactSegments$1(file) {
      var _i, token, start,
        matchedSegments = A._setArrayType([], type$.JSArray_Range),
        t1 = this.query,
        t2 = type$.JSArray_String;
      t1 = B.JSString_methods.contains$1(t1, " ") ? A._setArrayType(t1.split(" "), t2) : A._setArrayType([t1], t2);
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        token = t1[_i];
        start = B.JSString_methods.indexOf$1(file, token);
        matchedSegments.push(new A.Range(start, start + J.get$length$asx(token)));
      }
      B.JSArray_methods.sort$1(matchedSegments, new A.FileQuery__findExactSegments_closure());
      return matchedSegments;
    },
    _findFuzzySegments$2(file, query) {
      var t1, t2, queryIndex, matchIndex,
        autoCompleteResultSegments = A._setArrayType([], type$.JSArray_Range);
      for (t1 = file.length, t2 = query.length, queryIndex = 0, matchIndex = 0; matchIndex < t1; ++matchIndex) {
        if (queryIndex === t2)
          break;
        if (file[matchIndex] === query[queryIndex]) {
          autoCompleteResultSegments.push(new A.Range(matchIndex, matchIndex + 1));
          ++queryIndex;
        }
      }
      return autoCompleteResultSegments;
    },
    _fileName$1(fullPath) {
      var t1 = $._fileNamesCache.$index(0, fullPath);
      if (t1 == null) {
        t1 = B.JSArray_methods.get$last(fullPath.split("/"));
        $._fileNamesCache.$indexSet(0, fullPath, t1);
      }
      return t1;
    }
  };
  A.FileQuery_isExactFileNameMatch_closure.prototype = {
    call$1(token) {
      return A.StringExtension_caseInsensitiveContains(this.fileName, token);
    },
    $signature: 6
  };
  A.FileQuery_createExactFileNameAutoCompleteMatch_closure.prototype = {
    call$1(range) {
      var t1 = this.fileNameIndex;
      return new A.Range(range.begin + t1, range.end + t1);
    },
    $signature: 220
  };
  A.FileQuery_isExactFullPathMatch_closure.prototype = {
    call$1(token) {
      return A.StringExtension_caseInsensitiveContains(this.scriptUri, token);
    },
    $signature: 6
  };
  A.FileQuery_createFuzzyMatchAutoCompleteMatch_closure.prototype = {
    call$1(range) {
      var t1 = this.fileNameIndex;
      return new A.Range(range.begin + t1, range.end + t1);
    },
    $signature: 220
  };
  A.FileQuery__findExactSegments_closure.prototype = {
    call$2(rangeA, rangeB) {
      return B.JSNumber_methods.compareTo$1(rangeA.begin, rangeB.begin);
    },
    $signature: 146
  };
  A.FileSearchResults.prototype = {
    get$scriptRefs() {
      var t1, _this = this;
      if (_this.query.query.length === 0)
        t1 = _this.allScripts;
      else {
        t1 = A.List_List$of(_this._exactFileNameMatches, true, type$.ScriptRef);
        B.JSArray_methods.addAll$1(t1, _this._exactFullPathMatches);
        B.JSArray_methods.addAll$1(t1, _this._fuzzyMatches);
      }
      return t1;
    },
    get$autoCompleteMatches() {
      var t3, _this = this,
        t1 = _this.query,
        t2 = type$.AutoCompleteMatch;
      if (t1.query.length === 0)
        t1 = J.map$1$1$ax(_this.allScripts, new A.FileSearchResults_autoCompleteMatches_closure(), t2).toList$0(0);
      else {
        t3 = A.List_List$of(J.map$1$1$ax(_this._exactFileNameMatches, t1.get$createExactFileNameAutoCompleteMatch(), t2).toList$0(0), true, t2);
        B.JSArray_methods.addAll$1(t3, J.map$1$1$ax(_this._exactFullPathMatches, t1.get$createExactFullPathAutoCompleteMatch(), t2).toList$0(0));
        B.JSArray_methods.addAll$1(t3, J.map$1$1$ax(_this._fuzzyMatches, t1.get$createFuzzyMatchAutoCompleteMatch(), t2).toList$0(0));
        t1 = t3;
      }
      return t1;
    },
    copyWith$4$allScripts$exactFileNameMatches$exactFullPathMatches$fuzzyMatches(allScripts, exactFileNameMatches, exactFullPathMatches, fuzzyMatches) {
      var _this = this,
        t1 = allScripts == null ? _this.allScripts : allScripts,
        t2 = exactFileNameMatches == null ? _this._exactFileNameMatches : exactFileNameMatches,
        t3 = exactFullPathMatches == null ? _this._exactFullPathMatches : exactFullPathMatches,
        t4 = fuzzyMatches == null ? _this._fuzzyMatches : fuzzyMatches;
      return new A.FileSearchResults(t1, _this.query, t2, t3, t4);
    },
    copyWith$0() {
      return this.copyWith$4$allScripts$exactFileNameMatches$exactFullPathMatches$fuzzyMatches(null, null, null, null);
    },
    copyWith$1$allScripts(allScripts) {
      return this.copyWith$4$allScripts$exactFileNameMatches$exactFullPathMatches$fuzzyMatches(allScripts, null, null, null);
    },
    copyWith$3$exactFileNameMatches$exactFullPathMatches$fuzzyMatches(exactFileNameMatches, exactFullPathMatches, fuzzyMatches) {
      return this.copyWith$4$allScripts$exactFileNameMatches$exactFullPathMatches$fuzzyMatches(null, exactFileNameMatches, exactFullPathMatches, fuzzyMatches);
    },
    _buildTopMatches$0() {
      var topMatches, t1, matchesLeft, _i, selected, _this = this;
      if (_this.query.query.length === 0)
        return _this.copyWith$1$allScripts(J.sublist$2$ax(_this.allScripts, 0, 10));
      if (J.get$length$asx(_this.get$scriptRefs()) <= 10)
        return _this.copyWith$0();
      topMatches = [];
      for (t1 = [_this._exactFileNameMatches, _this._exactFullPathMatches, _this._fuzzyMatches], matchesLeft = 10, _i = 0; _i < 3; ++_i) {
        selected = _this._takeMatches$2(t1[_i], matchesLeft);
        topMatches.push(selected);
        matchesLeft -= J.get$length$asx(selected);
      }
      return _this.copyWith$3$exactFileNameMatches$exactFullPathMatches$fuzzyMatches(topMatches[0], topMatches[1], topMatches[2]);
    },
    _takeMatches$2(matches, numToTake) {
      var t1;
      if (numToTake <= 0)
        return A._setArrayType([], type$.JSArray_ScriptRef);
      t1 = J.getInterceptor$asx(matches);
      if (t1.get$length(matches) > numToTake)
        return t1.sublist$2(matches, 0, numToTake);
      return matches;
    }
  };
  A.FileSearchResults_autoCompleteMatches_closure.prototype = {
    call$1(script) {
      var t1 = script.get$uri();
      t1.toString;
      return new A.AutoCompleteMatch(t1, B.List_empty21);
    },
    $signature: 126
  };
  A._FileSearchFieldState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$_FileSearchFieldState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A._ProgramExplorerRow.prototype = {
    build$1(context) {
      var t3, t4, t5, t6, _null = null,
        _s10_ = "RobotoMono",
        theme = A.Theme_of(context),
        t1 = this.node,
        text = t1.name,
        toolTip = this._tooltipForNode$0(),
        t2 = t1.object,
        text0 = type$.ClassRef._is(t2) || t2 instanceof A.Func || t2 instanceof A.Field ? toolTip : text;
      t2 = toolTip == null ? text : toolTip;
      t3 = theme.textTheme.bodyMedium;
      t4 = t3.copyWith$1$fontFamily(_s10_);
      t4 = t4.copyWith$1$color(theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4294967295 : B.Color_4278190080);
      t5 = t1.object;
      text0.toString;
      t6 = t3.copyWith$1$fontFamily(_s10_);
      return A.DevToolsTooltip$(A.InkWell$(false, _null, true, A.Row$(A._setArrayType([new A.ProgramStructureIcon(t5, _null), B.SizedBox_4_null_null_null, new A.Flexible(1, B.FlexFit_1, A.Text$(text0, _null, 1, B.TextOverflow_2, _null, _null, t6.copyWith$1$color(t1._selected ? B.Color_4294967295 : t3.copyWith$1$fontFamily(_s10_).color), _null, _null, _null, _null), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, this.onTap, _null, _null, _null, _null, _null, _null), _null, _null, t2, B.EdgeInsets_16_16_16_16, false, t4, B.Duration_500000);
    },
    _tooltipForNode$0() {
      var toolTip, t4, t5, subtext,
        t1 = this.node,
        t2 = t1.object,
        t3 = type$.ClassRef;
      if (t3._is(t2)) {
        toolTip = A.S(t2.get$name(t2));
        if (t2.get$typeParameters() != null) {
          t1 = t2.get$typeParameters();
          t1.toString;
          toolTip += "<" + new A.MappedListIterable(t1, new A._ProgramExplorerRow__tooltipForNode_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String?>")).join$1(0, ", ") + ">";
        }
      } else if (t2 instanceof A.Func) {
        t1 = t2.owner;
        t4 = t2.name;
        t5 = t2.signature;
        t5.toString;
        subtext = this._buildFunctionTypeText$3$isInstanceMethod(t4, t5, t3._is(t1));
        toolTip = A.S(t2.name) + subtext;
      } else if (t2 instanceof A.Field) {
        t1 = t2.isStatic;
        t1.toString;
        t1 = t1 ? "" + "static " : "";
        t3 = t2.isConst;
        t3.toString;
        if (t3)
          t1 += "const ";
        t4 = t2.isFinal;
        t4.toString;
        if (t4 && !t3)
          t1 += "final ";
        t3 = t2.declaredType;
        if (t3.get$name(t3) != null) {
          t3 = t2.declaredType;
          t3 = t1 + (A.S(t3.get$name(t3)) + " ");
          t1 = t3;
        }
        toolTip = (t1.charCodeAt(0) == 0 ? t1 : t1) + A.S(t2.name);
      } else {
        t1 = t1.script;
        toolTip = t1 != null ? t1.get$uri() : null;
      }
      return toolTip;
    },
    _buildFunctionTypeText$3$isInstanceMethod(functionName, signature, isInstanceMethod) {
      var t1, t2, i, params, closingTag, param, paramRequired, paramType, paramTypeName, returnType, returnTypeName,
        _s8_ = "Function",
        buffer = new A.StringBuffer("");
      if (signature.get$typeParameters() != null) {
        t1 = signature.get$typeParameters();
        t1.toString;
        t2 = buffer._contents = "" + "<";
        for (i = 0; i < t1.length;) {
          t2 = buffer._contents = t2 + A.S(J.get$name$x(t1[i]));
          ++i;
          if (i !== t1.length) {
            t2 += ", ";
            buffer._contents = t2;
          }
        }
        t1 = buffer._contents = t2 + ">";
      } else
        t1 = "";
      buffer._contents = t1 + "(";
      params = signature.get$parameters(signature);
      if (params == null)
        params = A._setArrayType([], type$.JSArray_Parameter);
      i = isInstanceMethod ? 1 : 0;
      closingTag = null;
      for (; i < params.length;) {
        param = params[i];
        t1 = param.fixed;
        t1.toString;
        if (!t1 && closingTag == null) {
          t1 = param.name;
          t2 = buffer._contents;
          if (t1 == null) {
            buffer._contents = t2 + "[";
            closingTag = "]";
          } else {
            buffer._contents = t2 + "{";
            closingTag = "}";
          }
        }
        paramRequired = param.required;
        if (paramRequired === true)
          buffer._contents += "required ";
        paramType = param.parameterType;
        if (paramType != null) {
          paramTypeName = paramType.get$name(paramType);
          if (paramTypeName == null)
            buffer._contents += this._buildFunctionTypeText$2(_s8_, paramType);
          else
            buffer._contents += paramTypeName;
        }
        t1 = param.name;
        if (t1 != null)
          buffer._contents += " " + t1;
        ++i;
        if (i !== params.length)
          buffer._contents += ", ";
        else if (closingTag != null)
          buffer._contents += closingTag;
      }
      t1 = buffer._contents += ") -> ";
      returnType = signature.get$returnType();
      if (returnType != null) {
        t2 = signature.get$returnType();
        returnTypeName = t2 == null ? null : t2.get$name(t2);
        if (returnTypeName == null) {
          t1 += this._buildFunctionTypeText$2(_s8_, returnType);
          buffer._contents = t1;
        } else {
          t1 += returnTypeName;
          buffer._contents = t1;
        }
      }
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _buildFunctionTypeText$2(functionName, signature) {
      return this._buildFunctionTypeText$3$isInstanceMethod(functionName, signature, false);
    }
  };
  A._ProgramExplorerRow__tooltipForNode_closure.prototype = {
    call$1(e) {
      return e.get$name(e);
    },
    $signature: 757
  };
  A.ProgramStructureIcon.prototype = {
    build$1(context) {
      var icon, character, isShortCharacter, t3, t4, _null = null,
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme,
        t1 = colorScheme.brightness === B.Brightness_1,
        color = t1 ? B.Color_4286144038 : B.Color_4292664490,
        t2 = this.object;
      if (type$.ClassRef._is(t2)) {
        color = t1 ? B.Color_4280713113 : B.Color_4283353520;
        icon = _null;
        character = "c";
        isShortCharacter = true;
      } else if (type$.FuncRef._is(t2)) {
        color = t1 ? B.Color_4286144038 : B.Color_4292664490;
        icon = _null;
        character = "m";
        isShortCharacter = true;
      } else if (type$.FieldRef._is(t2)) {
        color = t1 ? B.Color_4278194304 : B.Color_4288470270;
        icon = _null;
        character = "f";
        isShortCharacter = false;
      } else {
        if (type$.LibraryRef._is(t2)) {
          color = t1 ? B.Color_4278190335 : B.Color_4283866326;
          icon = B.IconData_57583_MaterialIcons_false;
        } else if (type$.ScriptRef._is(t2)) {
          color = t1 ? B.Color_4289855489 : B.Color_4292382323;
          icon = B.IconData_58178_MaterialIcons_false;
        } else
          icon = B.IconData_58019_MaterialIcons_false;
        isShortCharacter = _null;
        character = isShortCharacter;
      }
      t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = icon == null;
      t4 = t3 ? new A.BoxDecoration(color, _null, _null, _null, _null, _null, _null, B.BoxShape_1) : _null;
      if (t3) {
        character.toString;
        t3 = theme.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono");
        t3 = A.TextStyle$(_null, _null, A.DevToolsColorScheme_get_defaultBackgroundColor(colorScheme), _null, _null, _null, _null, _null, t3.fontFamily, _null, _null, B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, 1, true, _null, _null, _null, _null, _null, _null, _null, _null);
        isShortCharacter.toString;
        t3 = A.Center$(A.Text$(character, _null, _null, _null, _null, _null, t3, _null, _null, new A.TextHeightBehavior(isShortCharacter, false, B.TextLeadingDistribution_0), _null), _null, _null, _null);
      } else
        t3 = A.Icon$(icon, color, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      return A.SizedBox$(A.Container$(_null, t3, B.Clip_0, _null, _null, t4, _null, _null, _null, _null, _null, _null, _null, _null), t1, t2);
    }
  };
  A._FileExplorer.prototype = {
    createState$0() {
      return new A._FileExplorerState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._FileExplorerState.prototype = {
    get$selectedNodeOffset() {
      return J.$eq$(this._widget.controller._selectedNodeIndex._change_notifier$_value, -1) ? -1 : this._widget.controller._selectedNodeIndex._change_notifier$_value * B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.ScrollController$(0);
      if (_this.___FileExplorerState__scrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___FileExplorerState__scrollController = t1;
      _this.addAutoDisposeListener$2(_this._widget.controller._selectedNodeIndex, _this.get$_maybeScrollToSelectedNode());
    },
    dispose$0() {
      var t1 = this.___FileExplorerState__scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__FileExplorerState_State_AutoDisposeMixin$dispose();
    },
    build$1(context) {
      var t5,
        t1 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = this._widget,
        t3 = t2.controller,
        t4 = t2.onItemSelected;
      t2 = t2.onItemExpanded;
      t5 = this.___FileExplorerState__scrollController;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      return A.TreeView$(new A._FileExplorerState_build_closure(this), t3._rootObjectNodes, null, true, t1, t2, t4, t5, false, type$.VMServiceObjectNode);
    },
    _maybeScrollToSelectedNode$0() {
      var t1, t2, t3, t4, _this = this;
      if (_this.get$selectedNodeOffset() < 0)
        return;
      t1 = _this.___FileExplorerState__scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$position(t1)._pixels;
      t1.toString;
      t2 = _this.___FileExplorerState__scrollController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      t3 = _this.___FileExplorerState__scrollController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = B.JSArray_methods.get$single(t3._positions).get$extentInside();
      t4 = _this.get$selectedNodeOffset();
      if (!(t4 >= t1 && t4 <= t2 + t3)) {
        t1 = _this.___FileExplorerState__scrollController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.animateTo$3$curve$duration(_this.get$selectedNodeOffset() - B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 3, B.Cubic_oKc, B.Duration_400000);
      }
    }
  };
  A._FileExplorerState_build_closure.prototype = {
    call$2(node, onTap) {
      var t1 = this.$this;
      return new A._ProgramExplorerRow(t1._widget.controller, node, new A._FileExplorerState_build__closure(t1, node, onTap), null);
    },
    $signature: 221
  };
  A._FileExplorerState_build__closure.prototype = {
    call$0() {
      this.$this._widget.controller.selectNode$1(0, this.node);
      this.onTap.call$0();
    },
    $signature: 0
  };
  A._ProgramOutlineView.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller._isLoadingOutline, new A._ProgramOutlineView_build_closure(this), null, null, type$.ValueListenableBuilder_bool);
    }
  };
  A._ProgramOutlineView_build_closure.prototype = {
    call$3(context, isLoadingOutline, _) {
      var t1;
      if (isLoadingOutline)
        return B.CenteredCircularProgressIndicator_null;
      t1 = this.$this;
      return A.TreeView$(new A._ProgramOutlineView_build__closure(t1), t1.controller._outlineNodes, new A._ProgramOutlineView_build__closure0(), false, B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t1.onItemExpanded, t1.onItemSelected, null, false, type$.VMServiceObjectNode);
    },
    $signature: 99
  };
  A._ProgramOutlineView_build__closure.prototype = {
    call$2(node, onTap) {
      var t1 = this.$this;
      return new A._ProgramExplorerRow(t1.controller, node, new A._ProgramOutlineView_build___closure(t1, node, onTap), null);
    },
    $signature: 221
  };
  A._ProgramOutlineView_build___closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, 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.node;
              $async$goto = 2;
              return A._asyncAwait(t1.populateLocation$0(), $async$call$0);
            case 2:
              // returning from await.
              $async$self.$this.controller.selectOutlineNode$1(t1);
              $async$self.onTap.call$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._ProgramOutlineView_build__closure0.prototype = {
    call$0() {
      return B.Center_KwH;
    },
    $signature: 222
  };
  A.ProgramExplorer.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller._initialized, new A.ProgramExplorer_build_closure(this), null, null, type$.ValueListenableBuilder_bool);
    },
    onItemSelected$1(node) {
      return this.onItemSelected$body$ProgramExplorer(node);
    },
    onItemSelected$body$ProgramExplorer(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$onItemSelected$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 (!node.isSelectable) {
                node._isExpanded = !node._isExpanded;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(node.populateLocation$0(), $async$onItemSelected$1);
            case 3:
              // returning from await.
              t1 = node.object;
              $async$goto = t1 != null && !(t1 instanceof A.Obj) ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self.controller.populateNode$1(node), $async$onItemSelected$1);
            case 6:
              // returning from await.
            case 5:
              // join
              if (!node._isExpanded)
                node._isExpanded = true;
              t1 = $async$self.onSelected;
              if (t1 != null) {
                t2 = node.location;
                t2.toString;
                t1.call$1(t2);
              }
              t1 = $async$self.onNodeSelected;
              if (t1 != null)
                t1.call$1(node);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$onItemSelected$1, $async$completer);
    },
    onItemExpanded$1(node) {
      return this.onItemExpanded$body$ProgramExplorer(node);
    },
    onItemExpanded$body$ProgramExplorer(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$onItemExpanded$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 = node.object;
              $async$goto = t1 != null && !(t1 instanceof A.Obj) ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self.controller.populateNode$1(node), $async$onItemExpanded$1);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$onItemExpanded$1, $async$completer);
    }
  };
  A.ProgramExplorer_build_closure.prototype = {
    call$3(context, initialized, _) {
      var body, t1, _null = null;
      if (!initialized)
        body = B.CenteredCircularProgressIndicator_null;
      else {
        t1 = this.$this;
        body = new A.LayoutBuilder(new A.ProgramExplorer_build__closure(t1, A.AreaPaneHeader$(B.List_empty17, 1, true, false, false, 4, A.Text$(t1.title, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)), new A._FileExplorer(t1.controller, t1.get$onItemSelected(), t1.get$onItemExpanded(), _null)), _null);
      }
      return new A.OutlineDecoration(body, _null);
    },
    $signature: 752
  };
  A.ProgramExplorer_build__closure.prototype = {
    call$2(context, constraints) {
      var t2, t3, t4,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isDartWebAppNow();
      t1.toString;
      t2 = this.fileExplorerHeader;
      t3 = this.fileExplorer;
      t4 = type$.JSArray_Widget;
      if (t1)
        t1 = A.Column$(A._setArrayType([t2, A.Expanded$(t3, 1)], t4), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
      else {
        t1 = A._setArrayType([t2, B.AreaPaneHeader_yHF], type$.JSArray_PreferredSizeWidget);
        t2 = this.$this;
        t1 = A.FlexSplitColumn$(A._setArrayType([t3, new A._ProgramOutlineView(t2.controller, t2.get$onItemSelected(), t2.get$onItemExpanded(), null)], t4), t1, B.List_ynv, B.List_0_0, constraints.maxHeight);
      }
      return t1;
    },
    $signature: 75
  };
  A.__FileExplorerState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.ProgramExplorerController.prototype = {
    initialize$0(_) {
      var t1, t2, libraries, _this = this;
      if (_this._initializing)
        return;
      _this._initializing = true;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
      _this._program_explorer_controller$_isolate = t1;
      if (t1 != null) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager;
        t2 = _this._program_explorer_controller$_isolate;
        t1 = (t2 != null ? t1._isolateStates.$index(0, t2) : null)._isolateNow.libraries;
        t1.toString;
        libraries = t1;
      } else
        libraries = A._setArrayType([], type$.JSArray_LibraryRef);
      _this._rootObjectNodes.replaceAll$1(0, A.VMServiceObjectNode_createRootsFrom(_this, libraries));
      _this._initialized.set$value(0, true);
    },
    selectScriptNode$1(script) {
      return this.selectScriptNode$body$ProgramExplorerController(script);
    },
    selectScriptNode$body$ProgramExplorerController(script) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$selectScriptNode$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._initialized._change_notifier$_value) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._rootObjectNodes;
              t2 = t1.__ListValueNotifier__currentList;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 3;
              return A._asyncAwait($async$self._selectScriptNode$2(script, t2), $async$selectScriptNode$1);
            case 3:
              // returning from await.
              t1.super$ChangeNotifier$notifyListeners();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$selectScriptNode$1, $async$completer);
    },
    _selectScriptNode$2(script, nodes) {
      return this._selectScriptNode$body$ProgramExplorerController(script, nodes);
    },
    _selectScriptNode$body$ProgramExplorerController(script, nodes) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, result, searchCondition;
      var $async$_selectScriptNode$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
              searchCondition = new A.ProgramExplorerController__selectScriptNode_closure(script);
              t1 = nodes.$ti, t2 = new A.ListIterator(nodes, nodes.length, t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E");
            case 3:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              t3 = t2.__internal$_current;
              if (t3 == null)
                t3 = t1._as(t3);
              t4 = A._instanceType(t3)._eval$1("TreeNode.T");
              result = A._treeTraversal(t4._as(t3), null, true, null, searchCondition, t4);
              $async$goto = result != null ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return A._asyncAwait($async$self.selectNode$1(0, result), $async$_selectScriptNode$2);
            case 7:
              // returning from await.
              result.expand$0(0);
              t1 = result.parent;
              if (t1 != null)
                t1.expandAscending$0();
              $async$self._selectedNodeIndex.set$value(0, $async$self._calculateNodeIndex$2$includeCollapsedNodes$matchingNodeCondition(false, searchCondition));
              // goto return
              $async$goto = 1;
              break;
            case 6:
              // join
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_selectScriptNode$2, $async$completer);
    },
    _calculateNodeIndex$2$includeCollapsedNodes$matchingNodeCondition(includeCollapsedNodes, matchingNodeCondition) {
      var t1, t2, t3, t4, _box_0 = {};
      _box_0.index = 0;
      t1 = this._rootObjectNodes.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.$ti;
      t1 = new A.ListIterator(t1, t1.length, t2._eval$1("ListIterator<ListMixin.E>"));
      t3 = type$.VMServiceObjectNode;
      t2 = t2._eval$1("ListMixin.E");
      for (; t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        if (A._treeTraversal(t4, new A.ProgramExplorerController__calculateNodeIndex_closure(_box_0), false, new A.ProgramExplorerController__calculateNodeIndex_closure0(), matchingNodeCondition, t3) != null)
          return _box_0.index;
      }
      return -1;
    },
    refresh$0(_) {
      var t1, _this = this;
      _this._scriptSelection = null;
      _this._outlineSelection.set$value(0, null);
      _this._isLoadingOutline.set$value(0, true);
      t1 = _this._outlineNodes;
      t1._rawList = A._setArrayType([], t1.$ti._eval$1("JSArray<1>"));
      t1._listChanged$0();
      _this._initialized.set$value(0, false);
      _this._initializing = false;
      return _this.initialize$0(0);
    },
    selectNode$1(_, node) {
      return this.selectNode$body$ProgramExplorerController(0, node);
    },
    selectNode$body$ProgramExplorerController(_, node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, newOutlineNodes;
      var $async$selectNode$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 (!node.isSelectable) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = !J.$eq$($async$self._scriptSelection, node) ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self.populateNode$1(node), $async$selectNode$1);
            case 5:
              // returning from await.
              node._selected = true;
              t1 = $async$self._scriptSelection;
              if (t1 != null)
                t1._selected = false;
              $async$self._scriptSelection = node;
              t1 = $async$self._isLoadingOutline;
              t1.set$value(0, true);
              $async$self._outlineSelection.set$value(0, null);
              t2 = $async$self._scriptSelection;
              $async$goto = 6;
              return A._asyncAwait(t2.get$outline(t2), $async$selectNode$1);
            case 6:
              // returning from await.
              newOutlineNodes = $async$result;
              if (newOutlineNodes != null)
                $async$self._outlineNodes.replaceAll$1(0, newOutlineNodes);
              t1.set$value(0, false);
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$selectNode$1, $async$completer);
    },
    selectOutlineNode$1(node) {
      var t1, t2;
      if (!node.isSelectable)
        return;
      t1 = this._outlineSelection;
      if (!J.$eq$(t1._change_notifier$_value, node)) {
        node._selected = true;
        t2 = t1._change_notifier$_value;
        if (t2 != null)
          t2._selected = false;
        t1.set$value(0, node);
      }
    },
    populateNode$1(node) {
      return this.populateNode$body$ProgramExplorerController(node);
    },
    populateNode$body$ProgramExplorerController(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, isolateId, t2, t3, lib, results, clazz, object, service, t1, $async$temp1;
      var $async$populateNode$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
              object = node.object;
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t1.toString;
              isolateId = J.get$id$x(t1);
              t1 = new A.ProgramExplorerController_populateNode_getObjects(service, isolateId);
              t2 = new A.ProgramExplorerController_populateNode_getFuncs(t1);
              $async$goto = object == null || object instanceof A.Obj ? 3 : 5;
              break;
            case 3:
              // then
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = type$.LibraryRef._is(object) ? 6 : 8;
              break;
            case 6:
              // then
              service.toString;
              isolateId.toString;
              t3 = object.get$id(object);
              t3.toString;
              $async$temp1 = type$.Library;
              $async$goto = 9;
              return A._asyncAwait(service.getObject$2(0, isolateId, t3), $async$populateNode$1);
            case 9:
              // returning from await.
              lib = $async$temp1._as($async$result);
              t3 = lib.variables;
              t3.toString;
              t3 = t1.call$1(t3);
              t1 = lib.functions;
              t1.toString;
              $async$goto = 10;
              return A._asyncAwait(A.Future_wait(A._setArrayType([t3, t2.call$2(t1, lib.variables)], type$.JSArray_Future_List_Obj), type$.List_Obj), $async$populateNode$1);
            case 10:
              // returning from await.
              results = $async$result;
              t1 = J.getInterceptor$asx(results);
              lib.variables = J.cast$1$0$ax(t1.$index(results, 0), type$.Field);
              lib.functions = J.cast$1$0$ax(t1.$index(results, 1), type$.Func);
              node.updateObject$1(lib);
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = type$.ClassRef._is(object) ? 11 : 13;
              break;
            case 11:
              // then
              service.toString;
              isolateId.toString;
              t3 = object.get$id(object);
              t3.toString;
              $async$temp1 = type$.Class;
              $async$goto = 14;
              return A._asyncAwait(service.getObject$2(0, isolateId, t3), $async$populateNode$1);
            case 14:
              // returning from await.
              clazz = $async$temp1._as($async$result);
              t3 = clazz.fields;
              t3.toString;
              t3 = t1.call$1(t3);
              t1 = clazz.functions;
              t1.toString;
              $async$goto = 15;
              return A._asyncAwait(A.Future_wait(A._setArrayType([t3, t2.call$2(t1, clazz.fields)], type$.JSArray_Future_List_Obj), type$.List_Obj), $async$populateNode$1);
            case 15:
              // returning from await.
              results = $async$result;
              t1 = J.getInterceptor$asx(results);
              clazz.fields = J.cast$1$0$ax(t1.$index(results, 0), type$.Field);
              clazz.functions = J.cast$1$0$ax(t1.$index(results, 1), type$.Func);
              node.updateObject$1(clazz);
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              service.toString;
              isolateId.toString;
              t1 = object.get$id(object);
              t1.toString;
              $async$temp1 = node;
              $async$goto = 16;
              return A._asyncAwait(service.getObject$2(0, isolateId, t1), $async$populateNode$1);
            case 16:
              // returning from await.
              $async$temp1.updateObject$1($async$result);
            case 12:
              // join
            case 7:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$populateNode$1, $async$completer);
    }
  };
  A.ProgramExplorerController__selectScriptNode_closure.prototype = {
    call$1(node) {
      var t1 = node.get$script();
      t1 = t1 == null ? null : t1.get$uri();
      return t1 == this.script.get$uri();
    },
    $signature: 63
  };
  A.ProgramExplorerController__calculateNodeIndex_closure0.prototype = {
    call$1(node) {
      return node._isExpanded;
    },
    $signature: 751
  };
  A.ProgramExplorerController__calculateNodeIndex_closure.prototype = {
    call$1(_) {
      return this._box_0.index++;
    },
    $signature: 192
  };
  A.ProgramExplorerController_populateNode_getObjects.prototype = {
    call$1(objs) {
      return A.Future_wait(J.map$1$1$ax(objs, new A.ProgramExplorerController_populateNode_getObjects_closure(this.service, this.isolateId), type$.Future_Obj), type$.Obj);
    },
    $signature: 712
  };
  A.ProgramExplorerController_populateNode_getObjects_closure.prototype = {
    call$1(o) {
      var t2, t3,
        t1 = this.service;
      t1.toString;
      t2 = this.isolateId;
      t2.toString;
      t3 = o.get$id(o);
      t3.toString;
      return t1.getObject$2(0, t2, t3);
    },
    $signature: 711
  };
  A.ProgramExplorerController_populateNode_getFuncs.prototype = {
    $call$body$ProgramExplorerController_populateNode_getFuncs(funcs, fields) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_Func),
        $async$returnValue, $async$self = this, $async$temp1;
      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
              $async$temp1 = J;
              $async$goto = 3;
              return A._asyncAwait($async$self.getObjects.call$1(J.where$1$ax(funcs, new A.ProgramExplorerController_populateNode_getFuncs_closure(fields))), $async$call$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.cast$1$0$ax($async$result, type$.Func);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    call$2(funcs, fields) {
      return this.$call$body$ProgramExplorerController_populateNode_getFuncs(funcs, fields);
    },
    $signature: 702
  };
  A.ProgramExplorerController_populateNode_getFuncs_closure.prototype = {
    call$1(f) {
      return !A.ProgramExplorerController__isSyntheticAccessor(f, type$.List_FieldRef._as(this.fields));
    },
    $signature: 689
  };
  A._ProgramExplorerController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A.VMServiceObjectNode.prototype = {
    shouldShow$0() {
      return true;
    },
    get$isExpandable() {
      return A.TreeNode.prototype.get$isExpandable.call(this) || type$.ClassRef._is(this.object);
    },
    get$outline(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_List_VMServiceObjectNode),
        $async$returnValue, $async$self = this, root, lib, uri, libNode, t2, t3, t4, libRef, s, t5, t6, _i, clazzRef, t7, t8, clazzNode, node, t1, $async$temp1;
      var $async$get$outline = 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._program_explorer_model$_outline;
              if (t1 != null) {
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.controller;
              root = A.VMServiceObjectNode$(t1, "<root>", new A.ObjRef("0", null), true);
              lib = $async$self.object;
              $async$goto = lib instanceof A.Library ? 3 : 5;
              break;
            case 3:
              // then
              uri = lib.uri;
              if (uri == null)
                uri = "";
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              libNode = $async$self;
              while (true) {
                t2 = libNode == null;
                if (!(!t2 && !(libNode.object instanceof A.Library)))
                  break;
                libNode = libNode.parent;
              }
              $async$goto = t2 ? 6 : 8;
              break;
            case 6:
              // then
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t3.toString;
              t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._isolateStates.$index(0, t3);
              t4 = t4._isolateNow.libraries;
              t4.toString;
              libRef = B.JSArray_methods.firstWhere$1(t4, new A.VMServiceObjectNode_outline_closure($async$self));
              t3 = t3.get$id(t3);
              t3.toString;
              t4 = libRef.get$id(libRef);
              t4.toString;
              $async$temp1 = type$.Library;
              $async$goto = 9;
              return A._asyncAwait(t2.getObject$2(0, t3, t4), $async$get$outline);
            case 9:
              // returning from await.
              lib = $async$temp1._as($async$result);
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              lib = type$.Library._as(libNode.object);
            case 7:
              // join
              s = $async$self.object;
              if (!type$.ScriptRef._is(s)) {
                t2 = $async$self.script;
                t2.toString;
                s = t2;
              }
              uri = s.get$uri();
              if (uri == null)
                uri = "";
            case 4:
              // join
              t2 = lib.classes, t3 = t2.length, t4 = type$.JSArray_VMServiceObjectNode, t5 = type$.String, t6 = type$.VMServiceObjectNode, _i = 0;
            case 10:
              // for condition
              if (!(_i < t2.length)) {
                // goto after for
                $async$goto = 12;
                break;
              }
              clazzRef = t2[_i];
              t7 = J.getInterceptor$x(clazzRef);
              t8 = t7.get$name(clazzRef);
              t8.toString;
              if (A.stringContainsUnchecked(t8, "&", 0)) {
                // goto for update
                $async$goto = 11;
                break;
              }
              t8 = t7.get$location(clazzRef);
              if (t8 == null)
                t8 = null;
              else {
                t8 = t8.script;
                t8 = t8 == null ? null : t8.get$uri();
              }
              $async$goto = t8 === uri ? 13 : 14;
              break;
            case 13:
              // then
              t7 = t7.get$name(clazzRef);
              if (t7 == null)
                t7 = "";
              clazzNode = new A.VMServiceObjectNode(t1, t7, true, clazzRef, A.LinkedHashMap_LinkedHashMap$_empty(t5, t6), A._setArrayType([], t4));
              $async$goto = 15;
              return A._asyncAwait(t1.populateNode$1(clazzNode), $async$get$outline);
            case 15:
              // returning from await.
              root.addChild$1(clazzNode);
            case 14:
              // join
            case 11:
              // for update
              t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i;
              // goto for condition
              $async$goto = 10;
              break;
            case 12:
              // after for
              t2 = lib.functions;
              t2.toString;
              t2 = J.get$iterator$ax(t2);
            case 16:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 17;
                break;
              }
              t3 = t2.get$current(t2);
              t7 = t3.get$location(t3);
              if (t7 == null)
                t7 = null;
              else {
                t7 = t7.script;
                t7 = t7 == null ? null : t7.get$uri();
              }
              $async$goto = t7 === uri ? 18 : 19;
              break;
            case 18:
              // then
              t7 = t3.get$name(t3);
              if (t7 == null)
                t7 = "";
              node = new A.VMServiceObjectNode(t1, t7, true, t3, A.LinkedHashMap_LinkedHashMap$_empty(t5, t6), A._setArrayType([], t4));
              $async$goto = 20;
              return A._asyncAwait(t1.populateNode$1(node), $async$get$outline);
            case 20:
              // returning from await.
              root.addChild$1(node);
            case 19:
              // join
              // goto for condition
              $async$goto = 16;
              break;
            case 17:
              // after for
              t2 = lib.variables;
              t2.toString;
              t2 = J.get$iterator$ax(t2);
            case 21:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 22;
                break;
              }
              t3 = t2.get$current(t2);
              t7 = t3.get$location(t3);
              if (t7 == null)
                t7 = null;
              else {
                t7 = t7.script;
                t7 = t7 == null ? null : t7.get$uri();
              }
              $async$goto = t7 === uri ? 23 : 24;
              break;
            case 23:
              // then
              t7 = t3.get$name(t3);
              if (t7 == null)
                t7 = "";
              node = new A.VMServiceObjectNode(t1, t7, true, t3, A.LinkedHashMap_LinkedHashMap$_empty(t5, t6), A._setArrayType([], t4));
              $async$goto = 25;
              return A._asyncAwait(t1.populateNode$1(node), $async$get$outline);
            case 25:
              // returning from await.
              root.addChild$1(node);
            case 24:
              // join
              // goto for condition
              $async$goto = 21;
              break;
            case 22:
              // after for
              root._trimChildrenAsMapEntries$0();
              root._sortEntriesByType$0();
              $async$returnValue = $async$self._program_explorer_model$_outline = root.children;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$outline, $async$completer);
    },
    _lookupOrCreateChild$3$isSelectable($name, object, isSelectable) {
      return this._childrenAsMap.putIfAbsent$2(0, $name, new A.VMServiceObjectNode__lookupOrCreateChild_closure(this, $name, object, isSelectable));
    },
    _lookupOrCreateChild$2($name, object) {
      return this._lookupOrCreateChild$3$isSelectable($name, object, true);
    },
    _createChild$3$isSelectable($name, object, isSelectable) {
      var child = A.VMServiceObjectNode$(this.controller, $name, object, isSelectable);
      this.addChild$1(child);
      return child;
    },
    _collapseSingleChildDirectoryNodes$0() {
      var child, collapsed, t2, updated, _this = this,
        t1 = _this.children;
      if (t1.length === 1) {
        child = B.JSArray_methods.get$first(t1);
        if (child.script == null && child.object == null) {
          collapsed = A.VMServiceObjectNode$(_this.controller, _this.name + "/" + child.name, null, false);
          B.JSArray_methods.forEach$1(child.children, collapsed.get$addChild());
          return collapsed._collapseSingleChildDirectoryNodes$0();
        }
        return _this;
      }
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,VMServiceObjectNode>");
      updated = A.List_List$of(new A.MappedListIterable(t1, new A.VMServiceObjectNode__collapseSingleChildDirectoryNodes_closure(), t2), true, t2._eval$1("ListIterable.E"));
      B.JSArray_methods.clear$0(t1);
      B.JSArray_methods.forEach$1(updated, _this.get$addChild());
      return _this;
    },
    updateObject$1(object) {
      var t1, t2, t3, t4, t5, $function, t6, field, _this = this;
      if (!(_this.object instanceof A.Class) && object instanceof A.Class) {
        t1 = object.functions;
        t1 = J.get$iterator$ax(t1 == null ? [] : t1);
        t2 = type$.JSArray_VMServiceObjectNode;
        t3 = _this.controller;
        t4 = type$.String;
        t5 = type$.VMServiceObjectNode;
        for (; t1.moveNext$0();) {
          $function = t1.get$current(t1);
          t6 = J.get$name$x($function);
          if (t6 == null)
            t6 = "";
          _this.addChild$1(new A.VMServiceObjectNode(t3, t6, true, $function, A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), A._setArrayType([], t2)));
        }
        t1 = object.fields;
        t1 = J.get$iterator$ax(t1 == null ? [] : t1);
        for (; t1.moveNext$0();) {
          field = t1.get$current(t1);
          t6 = J.get$name$x(field);
          if (t6 == null)
            t6 = "";
          _this.addChild$1(new A.VMServiceObjectNode(t3, t6, true, field, A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), A._setArrayType([], t2)));
        }
        _this._sortEntriesByType$0();
      }
      _this.object = object;
    },
    populateLocation$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, $location, tokenPos, t3, fetchedScript, position, scriptRef, t1;
      var $async$populateLocation$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
              scriptRef = $async$self.script;
              t1 = $async$self.object;
              if (t1 != null)
                t2 = type$.FieldRef._is(t1) || type$.FuncRef._is(t1) || type$.ClassRef._is(t1);
              else
                t2 = false;
              if (t2) {
                $location = t1.get$location(t1);
                tokenPos = $location.get$tokenPos();
                scriptRef = $location.get$script();
              } else
                tokenPos = 0;
              $async$goto = scriptRef != null ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $.globals.$index(0, B.Type_ScriptManager_AHF)._scriptCache;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2.toString;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t3.toString;
              $async$goto = 4;
              return A._asyncAwait(t1.getScript$3(t2, t3, scriptRef), $async$populateLocation$0);
            case 4:
              // returning from await.
              fetchedScript = $async$result;
              if (tokenPos === 0)
                position = null;
              else {
                tokenPos.toString;
                position = A.SourcePosition_SourcePosition$calculatePosition(fetchedScript, tokenPos);
              }
              $async$self.location = new A.ScriptLocation(scriptRef, position);
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$populateLocation$0, $async$completer);
    },
    _trimChildrenAsMapEntries$0() {
      var t1, t2, _i;
      this._childrenAsMap.clear$0(0);
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i]._trimChildrenAsMapEntries$0();
    },
    _sortEntriesByType$0() {
      var t2, t3, _i, child, t4, obj,
        _s8_ = "package:",
        t1 = type$.JSArray_VMServiceObjectNode,
        userDirectoryNodes = A._setArrayType([], t1),
        userLibraryNodes = A._setArrayType([], t1),
        scriptNodes = A._setArrayType([], t1),
        classNodes = A._setArrayType([], t1),
        functionNodes = A._setArrayType([], t1),
        variableNodes = A._setArrayType([], t1),
        packageAndCoreLibLibraryNodes = A._setArrayType([], t1),
        packageAndCoreLibDirectoryNodes = A._setArrayType([], t1);
      for (t1 = this.children, t2 = t1.length, t3 = type$.LibraryRef, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t4 = child.object;
        if (t4 == null && child.script == null) {
          t4 = child.name;
          if (B.JSString_methods.startsWith$1(t4, "dart:") || B.JSString_methods.startsWith$1(t4, _s8_))
            packageAndCoreLibDirectoryNodes.push(child);
          else
            userDirectoryNodes.push(child);
        } else
          switch (J.get$runtimeType$(t4)) {
            case B.Type_ScriptRef_ww8:
            case B.Type_Script_MvE:
              scriptNodes.push(child);
              break;
            case B.Type_LibraryRef_Jue:
            case B.Type_Library_kaI:
              obj = t3._as(child.object);
              t4 = obj.get$uri();
              t4.toString;
              if (!B.JSString_methods.startsWith$1(t4, "dart:")) {
                t4 = obj.get$uri();
                t4.toString;
                t4 = B.JSString_methods.startsWith$1(t4, _s8_);
              } else
                t4 = true;
              if (t4)
                packageAndCoreLibLibraryNodes.push(child);
              else
                userLibraryNodes.push(child);
              break;
            case B.Type_ClassRef_GDB:
            case B.Type_Class_gFs:
              classNodes.push(child);
              break;
            case B.Type_FuncRef_ibp:
            case B.Type_Func_2Gp:
              functionNodes.push(child);
              break;
            case B.Type_FieldRef_YUI:
            case B.Type_Field_BKu:
              variableNodes.push(child);
              break;
            default:
              throw A.wrapException(A.StateError$("Unexpected type: " + J.get$runtimeType$(child.object).toString$0(0)));
          }
        child._sortEntriesByType$0();
      }
      B.JSArray_methods.sort$1(userDirectoryNodes, new A.VMServiceObjectNode__sortEntriesByType_closure());
      B.JSArray_methods.sort$1(scriptNodes, new A.VMServiceObjectNode__sortEntriesByType_closure0());
      B.JSArray_methods.sort$1(userLibraryNodes, new A.VMServiceObjectNode__sortEntriesByType_closure1());
      B.JSArray_methods.sort$1(classNodes, new A.VMServiceObjectNode__sortEntriesByType_closure2());
      B.JSArray_methods.sort$1(functionNodes, new A.VMServiceObjectNode__sortEntriesByType_closure3());
      B.JSArray_methods.sort$1(variableNodes, new A.VMServiceObjectNode__sortEntriesByType_closure4());
      B.JSArray_methods.sort$1(packageAndCoreLibDirectoryNodes, new A.VMServiceObjectNode__sortEntriesByType_closure5());
      B.JSArray_methods.sort$1(packageAndCoreLibLibraryNodes, new A.VMServiceObjectNode__sortEntriesByType_closure6());
      B.JSArray_methods.clear$0(t1);
      t2 = A.List_List$of(userLibraryNodes, true, type$.VMServiceObjectNode);
      B.JSArray_methods.addAll$1(t2, userDirectoryNodes);
      B.JSArray_methods.addAll$1(t2, scriptNodes);
      B.JSArray_methods.addAll$1(t2, classNodes);
      B.JSArray_methods.addAll$1(t2, functionNodes);
      B.JSArray_methods.addAll$1(t2, variableNodes);
      B.JSArray_methods.addAll$1(t2, packageAndCoreLibLibraryNodes);
      B.JSArray_methods.addAll$1(t2, packageAndCoreLibDirectoryNodes);
      B.JSArray_methods.addAll$1(t1, t2);
    },
    get$hashCode(_) {
      var t1 = this.script;
      t1 = t1 == null ? null : J.get$hashCode$(t1.get$uri());
      if (t1 == null) {
        t1 = this.object;
        t1 = t1 == null ? null : t1.get$hashCode(t1);
      }
      return t1 == null ? B.JSString_methods.get$hashCode(this.name) : t1;
    },
    $eq(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (!(other instanceof A.VMServiceObjectNode))
        return false;
      if (other.name === this.name)
        if (J.$eq$(other.object, this.object)) {
          t1 = other.script;
          t1 = t1 == null ? null : t1.get$uri();
          t2 = this.script;
          t1 = t1 == (t2 == null ? null : t2.get$uri());
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$name(receiver) {
      return this.name;
    },
    get$script() {
      return this.script;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.VMServiceObjectNode_outline_closure.prototype = {
    call$1(lib) {
      var t2,
        t1 = this.$this.script.get$uri();
      t1.toString;
      t2 = lib.get$uri();
      t2.toString;
      return B.JSString_methods.startsWith$1(t1, t2);
    },
    $signature: 679
  };
  A.VMServiceObjectNode_createRootsFrom_closure.prototype = {
    call$1(e) {
      return e._collapseSingleChildDirectoryNodes$0();
    },
    $signature: 223
  };
  A.VMServiceObjectNode__lookupOrCreateChild_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this._createChild$3$isSelectable(_this.name, _this.object, _this.isSelectable);
    },
    $signature: 671
  };
  A.VMServiceObjectNode__collapseSingleChildDirectoryNodes_closure.prototype = {
    call$1(e) {
      return e._collapseSingleChildDirectoryNodes$0();
    },
    $signature: 223
  };
  A.VMServiceObjectNode__sortEntriesByType_closure.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure0.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure1.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure2.prototype = {
    call$2(a, b) {
      var t2,
        t1 = type$.ClassRef,
        objA = t1._as(a.object),
        objB = t1._as(b.object);
      t1 = objA.get$name(objA);
      t1.toString;
      t2 = objB.get$name(objB);
      t2.toString;
      return B.JSString_methods.compareTo$1(t1, t2);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure3.prototype = {
    call$2(a, b) {
      var t2,
        t1 = type$.FuncRef,
        objA = t1._as(a.object),
        objB = t1._as(b.object);
      t1 = objA.get$name(objA);
      t1.toString;
      t2 = objB.get$name(objB);
      t2.toString;
      return B.JSString_methods.compareTo$1(t1, t2);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure4.prototype = {
    call$2(a, b) {
      var t2,
        t1 = type$.FieldRef,
        objA = t1._as(a.object),
        objB = t1._as(b.object);
      t1 = objA.get$name(objA);
      t1.toString;
      t2 = objB.get$name(objB);
      t2.toString;
      return B.JSString_methods.compareTo$1(t1, t2);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure5.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    $signature: 55
  };
  A.VMServiceObjectNode__sortEntriesByType_closure6.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    $signature: 55
  };
  A.Grammar.prototype = {
    toString$0(_) {
      var t2, _this = this,
        t1 = _this.topLevelMatchers;
      t1.toString;
      t2 = t1.$ti._eval$1("MappedListIterable<ListMixin.E,Map<String,@>>");
      return A._JsonStringStringifier_stringify(A.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "scopeName", _this.scopeName, "patterns", A.List_List$of(new A.MappedListIterable(t1, new A.Grammar_toString_closure(), t2), true, t2._eval$1("ListIterable.E")), "repository", _this.repository.toJson$0()], type$.String, type$.nullable_Object), null, "  ");
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.Grammar_Grammar$fromJson_closure.prototype = {
    call$1(e) {
      return A._Matcher__Matcher$parse(e);
    },
    $signature: 225
  };
  A.Grammar_toString_closure.prototype = {
    call$1(e) {
      return e.toJson$0();
    },
    $signature: 191
  };
  A.ScopeSpan.prototype = {
    get$length(_) {
      return this._span_parser$_end - this._span_parser$_start;
    },
    contains$1(_, token) {
      return this._span_parser$_start <= token && token < this._span_parser$_end;
    },
    split$2(_, scanner, cond) {
      var t5, t6, _this = this,
        splitSpans = A._setArrayType([], type$.JSArray_ScopeSpan),
        t1 = _this._span_parser$_start,
        splitScanner = A.LineScanner$(scanner.substring$2(0, 0, _this._span_parser$_end), t1),
        t2 = _this.scopes,
        t3 = A._arrayInstanceType(t2),
        t4 = A._setArrayType(t2.slice(0), t3),
        current = new A.ScopeSpan(t1, _this._span_parser$_end, _this.line, _this.column, t4);
      for (t1 = splitScanner.string, t4 = t1.length; t5 = splitScanner._string_scanner$_position, t5 !== t4;) {
        t5 = cond.matchAsPrefix$2(0, t1, t5);
        splitScanner._lastMatch = t5;
        t6 = splitScanner._string_scanner$_position;
        splitScanner._lastMatchPosition = t6;
        if (t5 != null) {
          current._span_parser$_end = t6;
          splitSpans.push(current);
          splitScanner.scan$1(cond);
          t5 = A._setArrayType(t2.slice(0), t3);
          current = new A.ScopeSpan(splitScanner._string_scanner$_position, -1, splitScanner._line + 1, splitScanner._column + 1, t5);
        } else
          splitScanner._adjustLineAndColumn$1(splitScanner.super$StringScanner$readChar());
      }
      current._span_parser$_end = _this._span_parser$_end;
      splitSpans.push(current);
      return splitSpans;
    },
    toString$0(_) {
      var _this = this,
        t1 = _this._span_parser$_start,
        t2 = _this._span_parser$_end;
      return "[" + t1 + ", " + t2 + ", " + _this.line + ":" + _this.column + " (len: " + (t2 - t1) + ")] = " + A.S(_this.scopes);
    },
    get$line(receiver) {
      return this.line;
    }
  };
  A.Repository.prototype = {
    Repository$build$1(grammarJson) {
      var t1, t2, t3, t4, subRepo, t5, t6,
        repositoryJson = J.cast$2$0$ax(J.$index$asx(grammarJson, "repository"), type$.String, type$.dynamic);
      if (repositoryJson == null)
        return;
      for (t1 = J.get$iterator$ax(repositoryJson.get$keys(repositoryJson)), t2 = type$.Map_String_dynamic, t3 = this.patterns, t4 = type$.JSArray__Matcher; t1.moveNext$0();) {
        subRepo = t1.get$current(t1);
        t5 = A._setArrayType([], t4);
        for (t6 = J.get$iterator$ax(J.cast$1$0$ax(J.$index$asx(repositoryJson.$index(0, subRepo), "patterns"), t2)); t6.moveNext$0();)
          t5.push(A._Matcher__Matcher$parse(t6.get$current(t6)));
        t3.$indexSet(0, subRepo, t5);
      }
    },
    toJson$0() {
      var t2, t3, t4, t5,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      for (t2 = this.patterns, t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2), t3 = type$.Map_String_dynamic; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        if (t4.get$key(t4) != null) {
          t5 = t4.get$key(t4);
          t5.toString;
          t1.$indexSet(0, t5, J.map$1$1$ax(t4.get$value(t4), new A.Repository_toJson_closure(), t3).toList$0(0));
        }
      }
      return t1;
    }
  };
  A.Repository_toJson_closure.prototype = {
    call$1(e) {
      return e.toJson$0();
    },
    $signature: 191
  };
  A._Matcher.prototype = {
    _applyCapture$4(scanner, captures, line, column) {
      var match, t1, t2, t3, i, capture, startOffset, t4, t5, t6, t7,
        spans = A._setArrayType([], type$.JSArray_ScopeSpan),
        lastMatch = scanner.get$lastMatch(),
        start = lastMatch.get$start(lastMatch),
        end = lastMatch.get$end(lastMatch);
      if (captures != null)
        if (lastMatch.get$groupCount() <= 1)
          spans.push(A.ScopeSpan$(column + 1, end, line + 1, J.$index$asx(J.$index$asx(captures, "0"), "name"), start));
        else {
          match = scanner.substring$2(0, start, end);
          t1 = J.getInterceptor$x(captures);
          t2 = line + 1;
          t3 = type$.nullable_String;
          i = 1;
          while (true) {
            if (scanner._string_scanner$_position !== scanner._lastMatchPosition)
              scanner._lastMatch = null;
            if (!(i <= scanner._lastMatch.get$groupCount()))
              break;
            c$0:
              if (t1.containsKey$1(captures, B.JSInt_methods.toString$0(i))) {
                if (scanner._string_scanner$_position !== scanner._lastMatchPosition)
                  scanner._lastMatch = null;
                capture = scanner._lastMatch.group$1(i);
                if (capture == null)
                  break c$0;
                startOffset = B.JSString_methods.indexOf$1(match, capture);
                t4 = J.$index$asx(t1.$index(captures, B.JSInt_methods.toString$0(i)), "name");
                t5 = start + startOffset;
                t6 = capture.length;
                t7 = A.List_List$of($.$get$ScopeSpan__scopeStack().toList$0(0), true, t3);
                if (t4 != null)
                  t7.push(t4);
                spans.push(new A.ScopeSpan(t5, t5 + t6, t2, column + startOffset + 1, t7));
              }
            ++i;
          }
        }
      else
        spans.push(A.ScopeSpan$(column + 1, end, line + 1, null, start));
      return spans;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A._SimpleMatcher.prototype = {
    scan$2(grammar, scanner) {
      var line = scanner._line,
        column = scanner._column;
      if (scanner.scan$1(this.match))
        return A.ScopeSpan_applyScope(this, new A._SimpleMatcher_scan_closure(this, scanner, line, column));
      return null;
    },
    toJson$0() {
      var t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic),
        t2 = this.name;
      if (t2 != null)
        t1.$indexSet(0, "name", t2);
      t1.$indexSet(0, "match", this.match.pattern);
      t2 = this.captures;
      if (t2 != null)
        t1.$indexSet(0, "captures", t2);
      return t1;
    }
  };
  A._SimpleMatcher_scan_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      return t1._applyCapture$4(_this.scanner, t1.captures, _this.line, _this.column);
    },
    $signature: 226
  };
  A._MultilineMatcher.prototype = {
    _scanToEndOfLine$2(grammar, scanner) {
      var t1, t2, t3, foundMatch, result,
        results = A._setArrayType([], type$.JSArray_ScopeSpan);
      for (t1 = scanner.string.length, t2 = this.patterns; scanner._string_scanner$_position !== t1;) {
        t3 = scanner.peekChar$0();
        t3.toString;
        if (A.Primitives_stringFromCharCode(t3) === "\n") {
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
          break;
        }
        t3 = J.get$iterator$ax(t2 == null ? [] : t2);
        while (true) {
          if (!t3.moveNext$0()) {
            foundMatch = false;
            break;
          }
          result = t3.get$current(t3).scan$2(grammar, scanner);
          if (result != null) {
            B.JSArray_methods.addAll$1(results, result);
            foundMatch = true;
            break;
          }
        }
        if (!foundMatch)
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
      }
      return results;
    },
    _scanUpToEndMatch$2(grammar, scanner) {
      var t6, foundMatch, result,
        results = A._setArrayType([], type$.JSArray_ScopeSpan),
        t1 = this.patterns,
        t2 = scanner.string,
        t3 = t2.length,
        t4 = this.end,
        t5 = t4 != null;
      while (true) {
        t6 = scanner._string_scanner$_position;
        if (t6 !== t3)
          if (t5) {
            t6 = t4.matchAsPrefix$2(0, t2, t6);
            scanner._lastMatch = t6;
            scanner._lastMatchPosition = scanner._string_scanner$_position;
            t6 = t6 == null;
          } else
            t6 = false;
        else
          t6 = false;
        if (!t6)
          break;
        t6 = J.get$iterator$ax(t1 == null ? [] : t1);
        while (true) {
          if (!t6.moveNext$0()) {
            foundMatch = false;
            break;
          }
          result = t6.get$current(t6).scan$2(grammar, scanner);
          if (result != null) {
            B.JSArray_methods.addAll$1(results, result);
            foundMatch = true;
            break;
          }
        }
        if (!foundMatch)
          scanner._adjustLineAndColumn$1(scanner.super$StringScanner$readChar());
      }
      return results;
    },
    _scanEnd$1(scanner) {
      var line = scanner._line,
        column = scanner._column,
        t1 = this.end;
      if (t1 != null && !scanner.scan$1(t1))
        return null;
      return this._processCaptureHelper$4(scanner, this.beginCaptures, line, column);
    },
    _processCaptureHelper$4(scanner, customCaptures, line, column) {
      var t1, _this = this;
      if (_this.contentName != null)
        t1 = (customCaptures == null ? _this.captures : customCaptures) != null;
      else
        t1 = true;
      if (t1)
        return _this._applyCapture$4(scanner, customCaptures == null ? _this.captures : customCaptures, line, column);
      else
        return A._setArrayType([], type$.JSArray_ScopeSpan);
    },
    scan$2(grammar, scanner) {
      if (!scanner.matches$1(0, this.begin))
        return null;
      return A.ScopeSpan_applyScope(this, new A._MultilineMatcher_scan_closure(this, scanner, grammar));
    },
    toJson$0() {
      var t3, _this = this,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic),
        t2 = _this.name;
      if (t2 != null)
        t1.$indexSet(0, "name", t2);
      t1.$indexSet(0, "begin", _this.begin.pattern);
      t2 = _this.beginCaptures;
      if (t2 != null)
        t1.$indexSet(0, "beginCaptures", t2);
      t2 = _this.end;
      if (t2 != null)
        t1.$indexSet(0, "end", t2.pattern);
      t2 = _this.endCaptures;
      if (t2 != null)
        t1.$indexSet(0, "endCaptures", t2);
      t2 = _this.whileCond;
      if (t2 != null)
        t1.$indexSet(0, "while", t2.pattern);
      t2 = _this.patterns;
      if (t2 != null) {
        t3 = t2.$ti._eval$1("MappedListIterable<ListMixin.E,Map<String,@>>");
        t1.$indexSet(0, "patterns", A.List_List$of(new A.MappedListIterable(t2, new A._MultilineMatcher_toJson_closure(), t3), true, t3._eval$1("ListIterable.E")));
      }
      return t1;
    }
  };
  A._MultilineMatcher_closure.prototype = {
    call$1(e) {
      return A._Matcher__Matcher$parse(e);
    },
    $signature: 225
  };
  A._MultilineMatcher_scan_closure.prototype = {
    call$0() {
      var beginSpans, t4, t5, t6, t7, t8, start, endSpans, end, contentScanner, contentResults, _this = this,
        t1 = _this.$this,
        t2 = _this.scanner,
        line = t2._line,
        column = t2._column,
        t3 = t1.begin;
      if (!t2.scan$1(t3))
        A.throwExpression(A.StateError$("Expected " + t3.pattern + " to match."));
      t3 = t1.beginCaptures;
      beginSpans = t1._processCaptureHelper$4(t2, t3, line, column);
      t4 = type$.JSArray_ScopeSpan;
      t5 = A._setArrayType([], t4);
      t6 = t1.contentName;
      t7 = t6 == null;
      if (t7)
        B.JSArray_methods.addAll$1(t5, beginSpans);
      if (t1.end != null) {
        t4 = _this.grammar;
        if (!t7) {
          t7 = t2._line;
          t8 = t2._column;
          start = t2._string_scanner$_position;
          t1._scanUpToEndMatch$2(t4, t2);
          t5.push(A.ScopeSpan$(t8 + 1, t2._string_scanner$_position, t7 + 1, t6, start));
        } else
          B.JSArray_methods.addAll$1(t5, t1._scanUpToEndMatch$2(t4, t2));
        endSpans = t1._scanEnd$1(t2);
        if (beginSpans.length !== 0) {
          t4 = t1.captures;
          t1 = t4 == null ? t1.endCaptures : t4;
          t1 = (t1 == null ? t3 : t1) == null;
        } else
          t1 = false;
        if (t1)
          B.JSArray_methods.get$first(beginSpans)._span_parser$_end = t2._string_scanner$_position;
        else if (endSpans != null)
          B.JSArray_methods.addAll$1(t5, endSpans);
        return t5;
      } else {
        t3 = t1.whileCond;
        if (t3 != null) {
          start = t2._string_scanner$_position;
          t2.scan$1(A.RegExp_RegExp(".*\n", true, false));
          t6 = t2.string.length;
          while (true) {
            if (t2._string_scanner$_position !== t6)
              t7 = t2.scan$1(t3);
            else
              t7 = false;
            if (!t7)
              break;
            t2.scan$1(A.RegExp_RegExp(".*\n", true, false));
          }
          end = t2._string_scanner$_position;
          contentScanner = A.LineScanner$(t2.substring$2(0, 0, end), start);
          contentResults = A._setArrayType([], t4);
          t4 = _this.grammar;
          B.JSArray_methods.addAll$1(contentResults, t1._scanToEndOfLine$2(t4, contentScanner));
          t6 = contentScanner.string.length;
          while (true) {
            if (contentScanner._string_scanner$_position !== t6)
              t7 = contentScanner.scan$1(t3);
            else
              t7 = false;
            if (!t7)
              break;
            B.JSArray_methods.addAll$1(contentResults, t1._scanToEndOfLine$2(t4, contentScanner));
          }
          B.JSArray_methods.addAll$1(t5, new A.ExpandIterable(contentResults, new A._MultilineMatcher_scan__closure(t1, t2), type$.ExpandIterable_ScopeSpan_ScopeSpan));
          if (beginSpans.length !== 0)
            B.JSArray_methods.get$first(beginSpans)._span_parser$_end = end;
          return t5;
        } else
          throw A.wrapException(A.StateError$("One of 'end' or 'while' must be provided for rule: " + A.S(t1.name)));
      }
    },
    $signature: 226
  };
  A._MultilineMatcher_scan__closure.prototype = {
    call$1(e) {
      var t1 = this.$this.whileCond;
      t1.toString;
      return e.split$2(0, this.scanner, t1);
    },
    $signature: 643
  };
  A._MultilineMatcher_toJson_closure.prototype = {
    call$1(e) {
      return e.toJson$0();
    },
    $signature: 191
  };
  A._IncludeMatcher.prototype = {
    scan$2(grammar, scanner) {
      var result,
        t1 = this.include,
        patterns = grammar.repository.patterns.$index(0, t1);
      if (patterns == null)
        throw A.wrapException(A.StateError$("Could not find " + t1 + " in the repository."));
      for (t1 = J.get$iterator$ax(patterns); t1.moveNext$0();) {
        result = t1.get$current(t1).scan$2(grammar, scanner);
        if (result != null)
          return result;
      }
      return null;
    },
    toJson$0() {
      return A.LinkedHashMap_LinkedHashMap$_literal(["include", this.include], type$.String, type$.dynamic);
    }
  };
  A.SyntaxHighlighter.prototype = {
    highlight$1(_, context) {
      var t1, _this = this, _null = null;
      _this.__SyntaxHighlighter__scopeStyles = _this._buildSyntaxColorTable$1(A.Theme_of(context));
      _this._currentPosition = 0;
      t1 = $.SyntaxHighlighter__grammar;
      t1.toString;
      return A.TextSpan$(_this._highlightLoopHelper$3$currentScope$loopCondition$scopes(_null, new A.SyntaxHighlighter_highlight_closure(_this), A.SpanParser_parse(t1, _this.source)), _null, _null, _null, _null);
    },
    _getStyleForSpan$0() {
      var scopes, t2, style, _i, scope,
        t1 = this._spanStack;
      if (t1._head === t1._tail)
        return B.TextStyle_SVP0;
      scopes = t1.get$last(t1).scopes;
      t1 = scopes.length;
      if (t1 === 0)
        return B.TextStyle_SVP0;
      else if (t1 === 1) {
        t1 = this.__SyntaxHighlighter__scopeStyles;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = B.JSArray_methods.get$first(scopes);
        t2.toString;
        t2 = t1.$index(0, t2);
        return t2 == null ? B.TextStyle_SVP0 : t2;
      } else {
        for (style = B.TextStyle_SVP0, _i = 0; _i < scopes.length; scopes.length === t1 || (0, A.throwConcurrentModificationError)(scopes), ++_i) {
          scope = scopes[_i];
          t2 = this.__SyntaxHighlighter__scopeStyles;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          scope.toString;
          t2 = t2.$index(0, scope);
          style = style.merge$1(t2 == null ? B.TextStyle_SVP0 : t2);
        }
        return style;
      }
    },
    _scope$2(currentScope, scopes) {
      return this._highlightLoopHelper$3$currentScope$loopCondition$scopes(currentScope, new A.SyntaxHighlighter__scope_closure(this, currentScope), scopes);
    },
    _highlightLoopHelper$3$currentScope$loopCondition$scopes(currentScope, loopCondition, scopes) {
      var t2, t3, t4, text, _this = this, _null = null,
        sourceSpans = A._setArrayType([], type$.JSArray_TextSpan),
        currentScopeBegin = _this._currentPosition,
        t1 = currentScope != null;
      if (t1)
        _this._spanStack._add$1(0, currentScope);
      for (t2 = _this.source; loopCondition.call$0();) {
        if (scopes.length !== 0) {
          t3 = B.JSArray_methods.get$first(scopes);
          t4 = _this._currentPosition;
          t3 = t3._span_parser$_start <= t4 && t4 < t3._span_parser$_end;
        } else
          t3 = false;
        if (t3) {
          text = B.JSString_methods.substring$2(t2, currentScopeBegin, _this._currentPosition);
          if (text.length !== 0)
            sourceSpans.push(A.TextSpan$(_null, _null, _null, _this._getStyleForSpan$0(), text));
          B.JSArray_methods.addAll$1(sourceSpans, _this._scope$2(B.JSArray_methods.removeAt$1(scopes, 0), scopes));
          currentScopeBegin = _this._currentPosition;
        } else {
          t3 = _this._currentPosition;
          if (A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(t2, t3)) === "\n")
            currentScopeBegin = _this._processNewlines$2(sourceSpans, currentScopeBegin);
          else
            _this._currentPosition = t3 + 1;
        }
      }
      text = B.JSString_methods.substring$2(t2, currentScopeBegin, _this._currentPosition);
      if (text.length !== 0)
        sourceSpans.push(A.TextSpan$(_null, _null, _null, _this._getStyleForSpan$0(), text));
      if (t1)
        _this._spanStack.removeLast$0(0);
      return sourceSpans;
    },
    _processNewlines$2(sourceSpans, currentScopeBegin) {
      var t2, t3, _this = this,
        t1 = _this.source;
      if (B.JSString_methods.substring$2(t1, currentScopeBegin, _this._currentPosition).length !== 0)
        sourceSpans.push(A.TextSpan$(null, null, null, _this._getStyleForSpan$0(), B.JSString_methods.substring$2(t1, currentScopeBegin, _this._currentPosition)));
      t2 = t1.length;
      do {
        sourceSpans.push(B.TextSpan_mpm);
        t3 = ++_this._currentPosition;
      } while (t3 < t2 && A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(t1, t3)) === "\n");
      return t3;
    },
    _buildSyntaxColorTable$1(theme) {
      var t3, _null = null,
        t1 = theme.colorScheme.brightness === B.Brightness_1,
        commentStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4278222848 : B.Color_4285176149, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        functionStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4286144038 : B.Color_4292664490, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        declarationStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4280713113 : B.Color_4283353520, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        modifierStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4278190335 : B.Color_4283866326, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        controlFlowStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4289659099 : B.Color_4291135168, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        variableStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4278194304 : B.Color_4288470270, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        stringStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4289855489 : B.Color_4292382323, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        numericConstantStyle = A.TextStyle$(_null, _null, t1 ? B.Color_4278814296 : B.Color_4290105000, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        _scopeTextStyleMapper = new A.SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper(),
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.TextStyle);
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_AuK, modifierStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_wsa, commentStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_9Qo, declarationStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_Jeh, numericConstantStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_urY, functionStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_7Qs, controlFlowStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_uUr, stringStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = J.get$entries$x(_scopeTextStyleMapper.call$2(B.List_cUH, variableStyle)), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      return t2;
    }
  };
  A.SyntaxHighlighter_highlight_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1._currentPosition < t1.source.length;
    },
    $signature: 23
  };
  A.SyntaxHighlighter__scope_closure.prototype = {
    call$0() {
      var t1 = this.currentScope,
        t2 = this.$this._currentPosition;
      return t1._span_parser$_start <= t2 && t2 < t1._span_parser$_end;
    },
    $signature: 23
  };
  A.SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper.prototype = {
    call$2(scopes, style) {
      var t2, _i,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.TextStyle);
      for (t2 = scopes.length, _i = 0; _i < t2; ++_i)
        t1.$indexSet(0, scopes[_i], style);
      return t1;
    },
    $signature: 637
  };
  A.Variables.prototype = {
    build$1(context) {
      var _null = null,
        controller = A.Provider_of(context, true, type$.DebuggerController);
      return A.TreeView$(new A.Variables_build_closure(context, controller), controller._variables, _null, false, _null, _null, new A.Variables_build_closure0(this, controller), _null, false, type$.DartObjectNode);
    }
  };
  A.Variables_build_closure.prototype = {
    call$2(variable, onPressed) {
      return A.displayProvider(this.context, variable, onPressed, this.controller);
    },
    $signature: 227
  };
  A.Variables_build_closure0.prototype = {
    call$1(variable) {
      if (variable._isExpanded)
        B.JSArray_methods.forEach$1(variable.children, A.object_tree__buildVariablesTree$closure());
      return null;
    },
    $signature: 228
  };
  A.ExpandableVariable.prototype = {
    build$1(context) {
      var _null = null;
      return A.TreeView$(new A.ExpandableVariable_build_closure(this, context), new A.FixedValueListenable(A._setArrayType([this.variable], type$.JSArray_DartObjectNode), type$.FixedValueListenable_List_DartObjectNode), _null, false, _null, _null, new A.ExpandableVariable_build_closure0(this), _null, true, type$.DartObjectNode);
    }
  };
  A.ExpandableVariable_build_closure.prototype = {
    call$2(variable, onPressed) {
      return A.displayProvider(this.context, variable, onPressed, this.$this.debuggerController);
    },
    $signature: 227
  };
  A.ExpandableVariable_build_closure0.prototype = {
    call$1(variable) {
      if (variable._isExpanded)
        B.JSArray_methods.forEach$1(variable.children, A.object_tree__buildVariablesTree$closure());
      return null;
    },
    $signature: 228
  };
  A.displayProvider_variableDisplayStyle.prototype = {
    call$0() {
      var t1 = this.theme,
        style = t1.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(t1.unselectedWidgetColor),
        t2 = this.variable._ref.value;
      t2 = type$.InstanceRef._is(t2) ? t2 : null;
      switch (t2.get$kind(t2)) {
        case "String":
          return style.apply$1$color(t1.colorScheme.brightness === B.Brightness_1 ? B.Color_4289855489 : B.Color_4292382323);
        case "Int":
          return style.apply$1$color(t1.colorScheme.brightness === B.Brightness_1 ? B.Color_4278814296 : B.Color_4290105000);
        case "Bool":
        case "Null":
          return style.apply$1$color(t1.colorScheme.brightness === B.Brightness_1 ? B.Color_4278190335 : B.Color_4283866326);
        default:
          return style;
      }
    },
    $signature: 229
  };
  A.displayProvider_closure.prototype = {
    call$1(delegate) {
      return this.$call$body$displayProvider_closure(delegate);
    },
    $call$body$displayProvider_closure(delegate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, notifications, inspectorService, isInspectable;
      var $async$call$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
              delegate.hideToolbar$0();
              t1 = $async$self.context;
              t2 = A.Router_of(t1, type$.nullable_Object);
              notifications = A.Notifications_of(t1);
              inspectorService = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
              t1 = $async$self.variable;
              $async$goto = 6;
              return A._asyncAwait(t1.inspectWidget$0(), $async$call$1);
            case 6:
              // returning from await.
              $async$goto = $async$result ? 3 : 5;
              break;
            case 3:
              // then
              t2.routerDelegate.navigateIfNotCurrent$1("inspector");
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              if (inspectorService._inspector_service$_isDisposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 7;
              return A._asyncAwait(t1.get$isInspectable(), $async$call$1);
            case 7:
              // returning from await.
              isInspectable = $async$result;
              if (inspectorService._inspector_service$_isDisposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (isInspectable) {
                if (notifications != null)
                  notifications.push$1("Widget is already the current inspector selection.");
              } else if (notifications != null)
                notifications.push$1("Only Elements and RenderObjects can currently be inspected");
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 634
  };
  A.VariableSelectionControls.prototype = {};
  A.DiagnosticsNodeDescription.prototype = {
    _buildDescriptionTextSpans$3(description, textStyle, colorScheme) {
      return this._buildDescriptionTextSpans$body$DiagnosticsNodeDescription(description, textStyle, colorScheme);
    },
    _buildDescriptionTextSpans$body$DiagnosticsNodeDescription($async$description, $async$textStyle, $async$colorScheme) {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var description = $async$description,
          textStyle = $async$textStyle,
          colorScheme = $async$colorScheme;
        var $async$goto = 0, $async$handler = 2, $async$currentError, match, t1, t2, textPreview, preview, diagnosticLocal;
        return function $async$_buildDescriptionTextSpans$3($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
                diagnosticLocal = $async$self.diagnostic;
                $async$goto = diagnosticLocal.getBooleanMember$2("isDiagnosticableValue", false) ? 3 : 5;
                break;
              case 3:
                // then
                match = $.$get$treeNodePrimaryDescriptionPattern().firstMatch$1(description);
                $async$goto = match != null ? 6 : 7;
                break;
              case 6:
                // then
                t1 = match._match;
                $async$goto = 8;
                return A.TextSpan$(null, null, null, textStyle, t1[1]);
              case 8:
                // after yield
                t1 = t1[2];
                t2 = t1;
                $async$goto = (t2 == null ? null : t2.length !== 0) === true ? 9 : 10;
                break;
              case 9:
                // then
                $async$goto = 11;
                return A.TextSpan$(null, null, null, textStyle.merge$1(A.TextStyle$(null, null, colorScheme.brightness === B.Brightness_1 ? B.Color_4288585374 : B.Color_4285887861, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true, null, null, null, null, null, null, null, null)), t1);
              case 11:
                // after yield
              case 10:
                // join
                // goto return
                $async$goto = 1;
                break;
              case 7:
                // join
                // goto join
                $async$goto = 4;
                break;
              case 5:
                // else
                $async$goto = A._asStringQ(J.$index$asx(diagnosticLocal.json, "type")) === "ErrorDescription" ? 12 : 13;
                break;
              case 12:
                // then
                match = $.$get$assertionThrownBuildingError().firstMatch$1(description);
                $async$goto = match != null ? 14 : 15;
                break;
              case 14:
                // then
                t1 = match._match;
                $async$goto = 16;
                return A.TextSpan$(null, null, null, textStyle, t1[1]);
              case 16:
                // after yield
                $async$goto = 17;
                return A.TextSpan$(null, null, null, textStyle, t1[3]);
              case 17:
                // after yield
                // goto return
                $async$goto = 1;
                break;
              case 15:
                // join
              case 13:
                // join
              case 4:
                // join
                $async$goto = description.length !== 0 ? 18 : 19;
                break;
              case 18:
                // then
                $async$goto = 20;
                return A.TextSpan$(null, null, null, textStyle, description);
              case 20:
                // after yield
              case 19:
                // join
                textPreview = J.$index$asx(diagnosticLocal.json, "textPreview");
                $async$goto = typeof textPreview == "string" ? 21 : 22;
                break;
              case 21:
                // then
                preview = A.stringReplaceAllUnchecked(textPreview, "\n", " ");
                $async$goto = 23;
                return A.TextSpan$(A._setArrayType([A.TextSpan$(null, null, null, textStyle, ": "), $async$self._buildHighlightedSearchPreview$4(preview, $async$self.searchValue, textStyle, textStyle.merge$1($async$self.nodeDescriptionHighlightStyle))], type$.JSArray_InlineSpan), null, null, null, null);
              case 23:
                // after yield
              case 22:
                // join
              case 1:
                // return
                return A._IterationMarker_endOfIteration();
              case 2:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.TextSpan);
    },
    buildDescription$4(description, textStyle, context, colorScheme) {
      var t2, t3, _this = this, _null = null,
        t1 = _this._buildDescriptionTextSpans$3(description, textStyle, colorScheme),
        textSpan = A.TextSpan$(A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E")), _null, _null, _null, _null);
      t1 = _this.diagnostic;
      t1.toString;
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
      t2.toString;
      t3 = _this.multiline ? A.SelectableText$rich(textSpan, _null, _null, _null, _null, _null, _null, _null) : A.RichText$(_null, _null, _null, B.TextOverflow_2, _null, _null, true, _null, textSpan, B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
      return A.HoverCardTooltip$(t3, new A.DiagnosticsNodeDescription_buildDescription_closure(t1), new A.DiagnosticsNodeDescription_buildDescription_closure0(_this, t2, t1));
    },
    build$1(context) {
      var theme, colorScheme, icon, t1, children, t2, t3, $name, t4, defaultStyle, baseStyle, textStyle, propertyType, properties, descriptionTextStyle, description, alpha, red, green, blue, color, codePoint, diagnosticDescription, $location, t5, _this = this, _null = null,
        _s8_ = "showName",
        _s13_ = "showSeparator",
        _s21_ = "createdByLocalProject",
        _s11_ = "description",
        diagnosticLocal = _this.diagnostic;
      if (diagnosticLocal == null)
        return B.SizedBox_null_null_null_null;
      theme = A.Theme_of(context);
      colorScheme = theme.colorScheme;
      icon = diagnosticLocal.get$icon(diagnosticLocal);
      t1 = type$.JSArray_Widget;
      children = A._setArrayType([], t1);
      if (icon != null)
        children.push(new A.Padding(B.EdgeInsets_0_0_4_0, icon, _null));
      t2 = diagnosticLocal.json;
      t3 = J.getInterceptor$asx(t2);
      $name = A._asStringQ(t3.$index(t2, "name"));
      t4 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      defaultStyle = (t4 == null ? B.DefaultTextStyle_MTi : t4).style;
      baseStyle = _this.style;
      if (baseStyle == null)
        baseStyle = defaultStyle;
      textStyle = baseStyle.merge$1(A.textStyleForLevel(diagnosticLocal.getLevelMember$2("level", B.DiagnosticLevel_3), colorScheme));
      if (diagnosticLocal.isProperty) {
        propertyType = A._asStringQ(t3.$index(t2, "propertyType"));
        properties = type$.nullable_Map_of_String_and_nullable_Object._as(t3.$index(t2, "valueProperties"));
        if (($name == null ? _null : $name.length !== 0) === true && diagnosticLocal.getBooleanMember$2(_s8_, true)) {
          t1 = diagnosticLocal.getBooleanMember$2(_s13_, true) ? ":" : "";
          children.push(A.Text$(A.S($name) + t1 + " ", _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null));
          descriptionTextStyle = textStyle.merge$1(A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
        } else
          descriptionTextStyle = textStyle;
        if (diagnosticLocal.getBooleanMember$2(_s21_, false))
          textStyle.merge$1(B.TextStyle_ia3);
        description = A._asStringQ(t3.$index(t2, _s11_));
        if (description == null)
          description = "";
        if (propertyType != null && properties != null)
          switch (propertyType) {
            case "Color":
              alpha = A.JsonUtils_getIntMember(properties, "alpha");
              red = A.JsonUtils_getIntMember(properties, "red");
              green = A.JsonUtils_getIntMember(properties, "green");
              blue = A.JsonUtils_getIntMember(properties, "blue");
              t1 = new A.DiagnosticsNodeDescription_build_radix();
              description = alpha === 255 ? "#" + A.S(t1.call$1(red)) + A.S(t1.call$1(green)) + A.S(t1.call$1(blue)) : "#" + A.S(t1.call$1(alpha)) + A.S(t1.call$1(red)) + A.S(t1.call$1(green)) + A.S(t1.call$1(blue));
              color = A.Color$fromARGB(alpha, red, green, blue);
              children.push(new A.Padding(B.EdgeInsets_0_0_4_0, $.$get$_colorIconMaker().getCustomIcon$1(color), _null));
              break;
            case "IconData":
              codePoint = A.JsonUtils_getIntMember(properties, "codePoint");
              if (codePoint > 0) {
                t1 = colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
                children.push(new A.Padding(B.EdgeInsets_0_0_4_0, A.Icon$(new A.IconData(codePoint, _null, false), t1, _null), _null));
              }
              break;
          }
        children.push(new A.Flexible(1, B.FlexFit_1, _this.buildDescription$4(description, descriptionTextStyle, context, colorScheme), _null));
        if (diagnosticLocal.getLevelMember$2("level", B.DiagnosticLevel_3) === B.DiagnosticLevel_1 && t3.containsKey$1(t2, "defaultValue")) {
          children.push(B.Text_Wzb);
          children.push(new A.Padding(B.EdgeInsets_0_0_4_0, $.$get$defaultIcon(), _null));
        }
      } else {
        if ($name != null && $name.length !== 0 && diagnosticLocal.getBooleanMember$2(_s8_, true) && $name !== "child") {
          if (J.startsWith$1$s($name, "child "))
            children.push(A.Text$($name, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4288585374 : B.Color_4285887861, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null));
          else
            children.push(A.Text$($name, _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null));
          if (diagnosticLocal.getBooleanMember$2(_s13_, true)) {
            children.push(A.Text$(diagnosticLocal.getBooleanMember$2(_s13_, true) ? ":" : "", _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null));
            if ((diagnosticLocal.getBooleanMember$2(_s13_, true) ? ":" : "") !== " ") {
              t4 = A._asStringQ(t3.$index(t2, _s11_));
              t4 = t4 == null ? _null : t4.length !== 0;
              t4 = t4 === true;
            } else
              t4 = false;
            if (t4)
              children.push(A.Text$(" ", _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null));
          }
        }
        if (!diagnosticLocal.getBooleanMember$2("summaryTree", false) && diagnosticLocal.getBooleanMember$2(_s21_, false))
          textStyle.merge$1(B.TextStyle_ia3);
        t4 = A._asStringQ(t3.$index(t2, _s11_));
        diagnosticDescription = _this.buildDescription$4(t4 == null ? "" : t4, textStyle, context, colorScheme);
        t4 = _this.errorText;
        if (t4 != null) {
          if (_this.isSelected)
            t2 = $.$get$regular();
          else
            t2 = A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4294198070 : B.Color_4293874512, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
          diagnosticDescription = A.Row$(A._setArrayType([diagnosticDescription, new A.Flexible(1, B.FlexFit_1, A.RichText$(_null, _null, _null, B.TextOverflow_2, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, t2, t4), B.TextAlign_1, _null, _null, 1, B.TextWidthBasis_0), _null)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
        } else {
          if (_this.multiline)
            t2 = (diagnosticLocal._creationLocation != null || t3.containsKey$1(t2, "creationLocation")) && true;
          else
            t2 = false;
          if (t2) {
            theme = A.Theme_of(context);
            $location = diagnosticLocal.get$creationLocation();
            t2 = A.S(B.JSArray_methods.get$last($location.getFile$0(0).split("/")));
            t3 = $location.json;
            t4 = A.JsonUtils_getIntMember(t3, "line");
            t3 = A.JsonUtils_getIntMember(t3, "column");
            t5 = $.$get$regular();
            diagnosticDescription = A.Row$(A._setArrayType([diagnosticDescription, new A.Flexible(1, B.FlexFit_1, A.RichText$(_null, _null, _null, B.TextOverflow_2, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, t5.copyWith$1$color(theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371), t2 + ":" + t4 + ":" + t3 + "            "), B.TextAlign_1, _null, _null, 1, B.TextWidthBasis_0), _null)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
          }
        }
        children.push(A.Expanded$(diagnosticDescription, 1));
      }
      return A.Row$(children, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
    },
    _buildHighlightedSearchPreview$4(textPreview, searchValue, textStyle, highlightTextStyle) {
      var matches, t1, quoteSpan, spans, previousItemEnd, t2, _null = null;
      if (searchValue == null || searchValue.length === 0)
        return A.TextSpan$(_null, _null, _null, textStyle, '"' + textPreview + '"');
      if (A.StringExtension_caseInsensitiveEquals(textPreview, searchValue))
        return A.TextSpan$(_null, _null, _null, highlightTextStyle, '"' + textPreview + '"');
      matches = A.StringExtension_caseInsensitiveAllMatches(searchValue, textPreview);
      t1 = J.getInterceptor$asx(matches);
      if (t1.get$isEmpty(matches))
        return A.TextSpan$(_null, _null, _null, textStyle, '"' + textPreview + '"');
      quoteSpan = A.TextSpan$(_null, _null, _null, textStyle, '"');
      spans = A._setArrayType([quoteSpan], type$.JSArray_TextSpan);
      for (t1 = t1.get$iterator(matches), previousItemEnd = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (t2.get$start(t2) > previousItemEnd)
          spans.push(A.TextSpan$(_null, _null, _null, textStyle, B.JSString_methods.substring$2(textPreview, previousItemEnd, t2.get$start(t2))));
        spans.push(A.TextSpan$(_null, _null, _null, highlightTextStyle, B.JSString_methods.substring$2(textPreview, t2.get$start(t2), t2.get$end(t2))));
        previousItemEnd = t2.get$end(t2);
      }
      spans.push(A.TextSpan$(_null, _null, _null, textStyle, B.JSString_methods.substring$2(textPreview, previousItemEnd, textPreview.length)));
      spans.push(quoteSpan);
      return A.TextSpan$(spans, _null, _null, _null, _null);
    }
  };
  A.DiagnosticsNodeDescription_buildDescription_closure.prototype = {
    call$0() {
      return $.globals.$index(0, B.Type_PreferencesController_1KB)._inspector._hoverEvalMode._change_notifier$_value && this.diagnosticLocal.inspectorService != null;
    },
    $signature: 23
  };
  A.DiagnosticsNodeDescription_buildDescription_closure0.prototype = {
    call$1($event) {
      return this.$call$body$DiagnosticsNodeDescription_buildDescription_closure($event);
    },
    $call$body$DiagnosticsNodeDescription_buildDescription_closure($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HoverCardData),
        $async$returnValue, $async$self = this, _i, t1, t2, t3, t4, value, variable;
      var $async$call$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.inspectorService;
              t2 = $async$self.diagnosticLocal;
              t3 = t2.json;
              t4 = J.getInterceptor$asx(t3);
              $async$goto = 3;
              return A._asyncAwait(A.ObjectGroup$("hover", t1).toObservatoryInstanceRef$1(new A.InspectorInstanceRef(A._asStringQ(t4.$index(t3, "valueId")))), $async$call$1);
            case 3:
              // returning from await.
              value = $async$result;
              variable = A.DartObjectNode_DartObjectNode$fromValue(false, t2, t1.inspectorLibrary._isolateRef, null, value);
              $async$goto = 4;
              return A._asyncAwait(A.buildVariablesTree(variable, false), $async$call$1);
            case 4:
              // returning from await.
              t1 = variable.children, t2 = t1.length, _i = 0;
            case 5:
              // for condition
              if (!(_i < t1.length)) {
                // goto after for
                $async$goto = 7;
                break;
              }
              $async$goto = 8;
              return A._asyncAwait(A.buildVariablesTree(t1[_i], false), $async$call$1);
            case 8:
              // returning from await.
            case 6:
              // for update
              t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i;
              // goto for condition
              $async$goto = 5;
              break;
            case 7:
              // after for
              variable._isExpanded = true;
              t1 = A._asStringQ(t4.$index(t3, "description"));
              if (t1 == null)
                t1 = "";
              t2 = A.Material$(B.Duration_200000, true, null, new A.ExpandableVariable(variable, $async$self.$this.debuggerController, null), B.Clip_0, null, 0, null, null, null, null, null, B.MaterialType_0);
              t3 = $.globals.$index(0, B.Type_IdeTheme_NnV);
              $async$returnValue = new A.HoverCardData(t1, t2, B.JSNumber_methods.roundToDouble$0(450 * (t3.fontSize / 14)), B.HoverCardPosition_0);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 201
  };
  A.DiagnosticsNodeDescription_build_radix.prototype = {
    call$1(chan) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(chan, 16), 2, "0");
    },
    $signature: 133
  };
  A.RemoteDiagnosticsNode.prototype = {
    get$renderObject() {
      var data, _this = this,
        t1 = _this._diagnostics_node$_renderObject;
      if (t1 != null)
        return t1;
      data = J.$index$asx(_this.json, "renderObject");
      if (data == null)
        return null;
      type$.nullable_Map_of_String_and_nullable_Object._as(data);
      return _this._diagnostics_node$_renderObject = new A.RemoteDiagnosticsNode(null, _this.inspectorService, data, false);
    },
    get$parentRenderElement() {
      var data = J.$index$asx(this.json, "parentRenderElement");
      if (data == null)
        return null;
      type$.nullable_Map_of_String_and_nullable_Object._as(data);
      return this._parentRenderElement = new A.RemoteDiagnosticsNode(null, this.inspectorService, data, false);
    },
    get$parentData() {
      var t2, t3, t4,
        t1 = type$.nullable_Map_of_String_and_nullable_Object._as(J.$index$asx(this.json, "parentData"));
      if (t1 == null)
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
      t2 = new A.BoxParentData(B.Offset_0_0);
      t3 = J.getInterceptor$asx(t1);
      t4 = A._asStringQ(t3.$index(t1, "offsetX"));
      t4 = A.double_parse(t4 == null ? "0.0" : t4);
      t1 = A._asStringQ(t3.$index(t1, "offsetY"));
      t2.offset = new A.Offset(t4, A.double_parse(t1 == null ? "0.0" : t1));
      return t2;
    },
    get$size(_) {
      var t1 = type$.nullable_Map_dynamic_dynamic._as(J.$index$asx(this.json, "size"));
      t1 = t1 == null ? null : J.cast$2$0$ax(t1, type$.String, type$.Object);
      if (t1 == null)
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Object);
      return new A.Size(A.double_parse(A._asString(t1.$index(0, "width"))), A.double_parse(A._asString(t1.$index(0, "height"))));
    },
    $eq(_, other) {
      var _s8_ = "objectId";
      if (other == null)
        return false;
      if (!(other instanceof A.RemoteDiagnosticsNode))
        return false;
      return new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(this.json, _s8_))).$eq(0, new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(other.json, _s8_))));
    },
    get$hashCode(_) {
      return J.get$hashCode$(A._asStringQ(J.$index$asx(this.json, "objectId")));
    },
    get$name(_) {
      return A._asStringQ(J.$index$asx(this.json, "name"));
    },
    get$style(_) {
      var value = this.__RemoteDiagnosticsNode_style;
      return value === $ ? this.__RemoteDiagnosticsNode_style = this.getStyleMember$2("style", B.DiagnosticsTreeStyle_1) : value;
    },
    get$values(_) {
      var rawValues = type$.nullable_List_Object._as(J.$index$asx(this.json, "values"));
      if (rawValues == null)
        return null;
      return A.List_List$from(rawValues, true, type$.String);
    },
    get$creationLocation() {
      var t2,
        _s16_ = "creationLocation",
        t1 = this._creationLocation;
      if (t1 != null)
        return t1;
      t1 = this.json;
      t2 = J.containsKey$1$x(t1, _s16_);
      if (!t2)
        return null;
      t1 = type$.nullable_Map_of_String_and_nullable_Object._as(J.$index$asx(t1, _s16_));
      return this._creationLocation = new A.InspectorSourceLocation(t1 == null ? A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object) : t1, null);
    },
    getBooleanMember$2(memberName, defaultValue) {
      var t1 = this.json,
        t2 = J.getInterceptor$asx(t1);
      if (t2.$index(t1, memberName) == null)
        return defaultValue;
      return A._asBool(t2.$index(t1, memberName));
    },
    getLevelMember$2(memberName, defaultValue) {
      var t1,
        value = A._asStringQ(J.$index$asx(this.json, memberName));
      if (value == null)
        return defaultValue;
      t1 = $.$get$diagnosticLevelUtils()._lookupTable.$index(0, value);
      t1.toString;
      return t1;
    },
    getStyleMember$2(memberName, defaultValue) {
      var value,
        t1 = this.json,
        t2 = J.getInterceptor$x(t1);
      if (!t2.containsKey$1(t1, memberName))
        return defaultValue;
      value = A._asStringQ(t2.$index(t1, memberName));
      if (value == null)
        return defaultValue;
      t1 = $.$get$treeStyleUtils()._lookupTable.$index(0, value);
      t1.toString;
      return t1;
    },
    get$hasChildren() {
      var children = type$.nullable_List_dynamic._as(J.$index$asx(this.json, "children"));
      if (children != null)
        return J.get$isNotEmpty$asx(children);
      return this.getBooleanMember$2("hasChildren", false);
    },
    get$childrenReady() {
      return J.containsKey$1$x(this.json, "children") || this._diagnostics_node$_children != null || !this.get$hasChildren();
    },
    get$children(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_List_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t1;
      var $async$get$children = 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._computeChildren$0(), $async$get$children);
            case 3:
              // returning from await.
              t1 = $async$self._diagnostics_node$_children;
              if (t1 != null) {
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait($async$self._childrenFuture, $async$get$children);
            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$get$children, $async$completer);
    },
    get$childrenNow() {
      this._maybePopulateChildren$0();
      var t1 = this._diagnostics_node$_children;
      return t1 == null ? A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode) : t1;
    },
    _computeChildren$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1;
      var $async$_computeChildren$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$self._maybePopulateChildren$0();
              if (!$async$self.get$hasChildren() || $async$self._diagnostics_node$_children != null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._childrenFuture;
              $async$goto = t1 != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1, $async$_computeChildren$0);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t1 = $async$self._getChildrenHelper$0();
              $async$self._childrenFuture = t1;
              $async$handler = 6;
              $async$goto = 9;
              return A._asyncAwait(t1, $async$_computeChildren$0);
            case 9:
              // returning from await.
              $async$self._diagnostics_node$_children = $async$result;
              $async$next.push(8);
              // goto finally
              $async$goto = 7;
              break;
            case 6:
              // uncaught
              $async$next = [2];
            case 7:
              // finally
              $async$handler = 2;
              if ($async$self._diagnostics_node$_children == null)
                $async$self._diagnostics_node$_children = A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 8:
              // 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$_computeChildren$0, $async$completer);
    },
    _getChildrenHelper$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$_getChildrenHelper$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.inspectorService;
              t1.toString;
              t2 = A._asStringQ(J.$index$asx($async$self.json, "objectId"));
              t3 = $async$self.getBooleanMember$2("summaryTree", false) ? "getChildrenSummaryTree" : "getChildrenDetailsSubtree";
              $async$returnValue = t1.getListHelper$4(new A.InspectorInstanceRef(t2), t3, $async$self, false);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_getChildrenHelper$0, $async$completer);
    },
    _maybePopulateChildren$0() {
      var jsonArray, nodes, t1, t2, t3, t4, child, _this = this;
      if (!_this.get$hasChildren() || _this._diagnostics_node$_children != null)
        return;
      jsonArray = type$.nullable_List_nullable_Object._as(J.$index$asx(_this.json, "children"));
      if ((jsonArray == null ? null : J.get$isNotEmpty$asx(jsonArray)) === true) {
        nodes = A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode);
        jsonArray.toString;
        t1 = J.cast$1$0$ax(jsonArray, type$.Map_of_String_and_nullable_Object);
        t2 = A._instanceType(t1);
        t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>"));
        t3 = _this.inspectorService;
        t2 = t2._eval$1("ListMixin.E");
        for (; t1.moveNext$0();) {
          t4 = t1.__internal$_current;
          if (t4 == null)
            t4 = t2._as(t4);
          child = new A.RemoteDiagnosticsNode(_this.parent, t3, t4, false);
          child.parent = _this;
          nodes.push(child);
        }
        _this._diagnostics_node$_children = nodes;
      }
    },
    get$inlineProperties() {
      var t1, t2, t3, t4, _this = this,
        _s10_ = "properties";
      if (_this.cachedProperties == null) {
        _this.cachedProperties = A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode);
        t1 = _this.json;
        t2 = J.getInterceptor$x(t1);
        if (t2.containsKey$1(t1, _s10_))
          for (t1 = J.cast$1$0$ax(type$.List_nullable_Object._as(t2.$index(t1, _s10_)), type$.Map_of_String_and_nullable_Object), t2 = A._instanceType(t1), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t3 = _this.inspectorService, t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
            t4 = t1.__internal$_current;
            if (t4 == null)
              t4 = t2._as(t4);
            _this.cachedProperties.push(new A.RemoteDiagnosticsNode(_this.parent, t3, t4, true));
          }
      }
      t1 = _this.cachedProperties;
      t1.toString;
      return t1;
    },
    getProperties$1(_, objectGroup) {
      return this.getProperties$body$RemoteDiagnosticsNode(0, objectGroup);
    },
    getProperties$body$RemoteDiagnosticsNode(_, objectGroup) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$getProperties$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(objectGroup.getListHelper$4(new A.InspectorInstanceRef(A._asStringQ(J.$index$asx($async$self.json, "objectId"))), "getProperties", null, true), $async$getProperties$1);
            case 3:
              // 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$getProperties$1, $async$completer);
    },
    get$icon(_) {
      if (this.isProperty)
        return null;
      return $.$get$RemoteDiagnosticsNode_iconMaker().fromWidgetName$1(A._asStringQ(J.$index$asx(this.json, "widgetRuntimeType")));
    },
    debugDescribeChildren$0() {
      var regularChildren, t2, t3,
        children = this.get$childrenNow(),
        t1 = J.getInterceptor$asx(children);
      if (t1.get$isEmpty(children))
        return B.List_empty1;
      regularChildren = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      for (t1 = t1.get$iterator(children); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = A._asStringQ(J.$index$asx(t2.json, "name"));
        regularChildren.push(t2.super$DiagnosticableTree$toDiagnosticsNode(t3, B.DiagnosticsTreeStyle_1));
      }
      return regularChildren;
    },
    toDiagnosticsNode$2$name$style($name, style) {
      var t1 = A._asStringQ(J.$index$asx(this.json, "name"));
      return this.super$DiagnosticableTree$toDiagnosticsNode(t1, style == null ? B.DiagnosticsTreeStyle_1 : style);
    },
    toDiagnosticsNode$0() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    toStringShort$0() {
      var t1 = A._asStringQ(J.$index$asx(this.json, "description"));
      return t1 == null ? "" : t1;
    },
    setSelectionInspector$1(uiAlreadyUpdated) {
      return this.setSelectionInspector$body$RemoteDiagnosticsNode(true);
    },
    setSelectionInspector$body$RemoteDiagnosticsNode(uiAlreadyUpdated) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, objectGroup;
      var $async$setSelectionInspector$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
              objectGroup = $async$self.inspectorService;
              $async$goto = objectGroup instanceof A.ObjectGroup ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait(objectGroup.setSelectionInspector$2(new A.InspectorInstanceRef(A._asStringQ(J.$index$asx($async$self.json, "valueId"))), true), $async$setSelectionInspector$1);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setSelectionInspector$1, $async$completer);
    },
    get$json(receiver) {
      return this.json;
    }
  };
  A.InspectorSourceLocation.prototype = {
    getFile$0(_) {
      var fileName = A._asStringQ(J.$index$asx(this.json, "file"));
      if (fileName == null)
        return null;
      return fileName;
    },
    get$json(receiver) {
      return this.json;
    }
  };
  A.InspectorBreadcrumbNavigator.prototype = {
    build$1(context) {
      var breadcrumbs, t2, _null = null,
        t1 = this.items;
      if (t1.length === 0)
        return B.SizedBox_null_null_null_null;
      breadcrumbs = this._generateBreadcrumbs$1(t1);
      t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 24 : 28;
      t2 = A._arrayInstanceType(breadcrumbs)._eval$1("MappedListIterable<1,Widget>");
      return A.SizedBox$(new A.Padding(B.EdgeInsets_6_0_6_0, A.Row$(A.List_List$of(new A.MappedListIterable(breadcrumbs, new A.InspectorBreadcrumbNavigator_build_closure(this), t2), true, t2._eval$1("ListIterable.E")), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null), t1, _null);
    },
    _generateBreadcrumbs$1(nodes) {
      var t2, breadcrumbs,
        lastNode = B.JSArray_methods.get$isNotEmpty(nodes) ? B.JSArray_methods.get$last(nodes) : null,
        t1 = A._arrayInstanceType(nodes)._eval$1("MappedListIterable<1,_InspectorBreadcrumbData>"),
        items = A.List_List$of(new A.MappedListIterable(nodes, new A.InspectorBreadcrumbNavigator__generateBreadcrumbs_closure(lastNode), t1), true, t1._eval$1("ListIterable.E"));
      t1 = items.length;
      if (t1 > 5) {
        t2 = A._setArrayType([items[0], B._InspectorBreadcrumbData_iHf], type$.JSArray__InspectorBreadcrumbData);
        B.JSArray_methods.addAll$1(t2, B.JSArray_methods.sublist$2(items, t1 - 5 + 1, t1));
        breadcrumbs = t2;
      } else
        breadcrumbs = items;
      return A.ListExtension_joinWith(breadcrumbs, B._InspectorBreadcrumbData_yXb, type$._InspectorBreadcrumbData);
    }
  };
  A.InspectorBreadcrumbNavigator_build_closure.prototype = {
    call$1(item) {
      if (item.node == null && J.$eq$(item.alternativeIcon, B.IconData_57695_MaterialIcons_true))
        return A.Icon$(B.IconData_57695_MaterialIcons_true, null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      return new A.Flexible(1, B.FlexFit_1, new A._InspectorBreadcrumb(item, new A.InspectorBreadcrumbNavigator_build__closure(this.$this, item), null), null);
    },
    $signature: 621
  };
  A.InspectorBreadcrumbNavigator_build__closure.prototype = {
    call$0() {
      return this.$this.onTap.call$1(this.item.node);
    },
    $signature: 0
  };
  A.InspectorBreadcrumbNavigator__generateBreadcrumbs_closure.prototype = {
    call$1(node) {
      return new A._InspectorBreadcrumbData(node, null, null, node === this.lastNode);
    },
    $signature: 604
  };
  A._InspectorBreadcrumb.prototype = {
    build$1(context) {
      var t3, text, icon, _null = null,
        t1 = this.data,
        t2 = t1.alternativeText;
      if (t2 == null) {
        t3 = t1.node;
        if (t3 == null)
          t3 = _null;
        else {
          t3 = t3._diagnostic;
          t3 = t3 == null ? _null : A._asStringQ(J.$index$asx(t3.json, "description"));
        }
      } else
        t3 = t2;
      if (t3 == null)
        t3 = "";
      text = A.Text$(t3, _null, 1, B.TextOverflow_2, _null, _null, $.$get$regular().copyWith$1$fontSize(B.JSNumber_methods.roundToDouble$0(11 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, _null, _null, _null);
      icon = t1.get$icon(t1) == null ? _null : A.Transform$scale(B.Alignment_0_0, new A.Padding(B.EdgeInsets_0_0_4_0, t1.get$icon(t1), _null), _null, 0.75);
      t3 = t1.isSelected;
      if (!t3) {
        t2 = !(t1.node == null && t2 === "\u2026");
        t1 = t2;
      } else
        t1 = false;
      t1 = t1 ? this.onTap : _null;
      if (t3)
        t2 = A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4292664540 : B.Color_4282992969;
      else
        t2 = B.Color_0;
      t3 = A._setArrayType([], type$.JSArray_Widget);
      if (icon != null)
        t3.push(icon);
      t3.push(new A.Flexible(1, B.FlexFit_1, text, _null));
      return A.InkWell$(false, B.BorderRadius_tLn0, true, A.Container$(_null, A.Row$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(t2, _null, _null, B.BorderRadius_tLn0, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_4_2_4_2, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null);
    }
  };
  A._InspectorBreadcrumbData.prototype = {
    get$icon(_) {
      var t1;
      if (this.alternativeIcon != null)
        return A.Icon$(B.IconData_57695_MaterialIcons_true, null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      t1 = this.node;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1._diagnostic;
        t1 = t1 == null ? null : t1.get$icon(t1);
      }
      return t1;
    }
  };
  A.InspectorSettingsController.prototype = {};
  A.InspectorController.prototype = {
    InspectorController$5$detailsTree$inspectorTree$isSummaryTree$parent$treeType(detailsTree, inspectorTree, isSummaryTree, $parent, treeType) {
      var t1, t2, _this = this;
      _this.__InspectorController__refreshRateLimiter = new A.RateLimiter(_this.get$refresh(_this), 200);
      t1 = _this.inspectorTree;
      if (t1.__InspectorTreeController_config !== $)
        A.throwUnnamedLateFieldAI();
      t1.__InspectorTreeController_config = new A.InspectorTreeConfig(_this.get$_onNodeAdded(), _this.get$selectionChanged(), _this.get$_onClientChange(), _this.get$_onExpand());
      if (_this.isSummaryTree) {
        detailsTree.toString;
        _this.details = A.InspectorController$(null, detailsTree, false, _this, _this.treeType);
      } else
        _this.details = null;
      t1 = _this.AutoDisposeControllerMixin__delegate;
      t1.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate, new A.InspectorController_closure(_this));
      if (_this.parent == null) {
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1.addAutoDisposeListener$2(t2._hasServiceExtension$1($.$get$toggleSelectWidgetMode().extension), new A.InspectorController_closure0(_this));
      }
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      t1 = t1._auto_dispose$_subscriptions;
      t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_handleConnectionStart()));
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (t2.service != null && t2.connectedApp != null && t2.connectedApp.get$connectedAppInitialized()) {
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
        t2.toString;
        _this._handleConnectionStart$1(t2);
      }
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionClosedController;
      t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_handleConnectionStop()));
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.ensureServiceInitialized$0();
    },
    _handleConnectionStart$1(service) {
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.InspectorController__handleConnectionStart_closure());
      this.filterErrors$0();
    },
    _handleConnectionStop$1($event) {
      this.setActivate$1(false);
      if (this.isSummaryTree)
        this.dispose$0();
    },
    _onClientChange$1(added) {
      var _this = this,
        t1 = _this._clientCount;
      t1 = _this._clientCount = t1 + (added ? 1 : -1);
      if (t1 === 1) {
        _this.setVisibleToUser$1(true);
        _this.setActivate$1(true);
      } else if (t1 === 0)
        _this.setVisibleToUser$1(false);
    },
    get$selectedDiagnostic() {
      var t1 = this._selectedNode._change_notifier$_value;
      return t1 == null ? null : t1._diagnostic;
    },
    setVisibleToUser$1(visible) {
      var _this = this;
      if (_this.visibleToUser === visible)
        return;
      _this.visibleToUser = visible;
      if (visible) {
        if (_this.parent == null)
          _this.maybeLoadUI$0();
      } else
        _this.shutdownTree$1(false);
    },
    highlightShowNode$1(node) {
      var t1 = this.parent;
      if (t1 != null)
        node = this.findMatchingInspectorTreeNode$1(t1.get$selectedDiagnostic());
      this.inspectorTree.set$hover(node);
      return true;
    },
    findMatchingInspectorTreeNode$1(node) {
      var valueRef = node == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(node.json, "valueId")));
      if (valueRef == null)
        return null;
      return this.valueToInspectorTreeNode.$index(0, valueRef);
    },
    _waitForPendingUpdateDone$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$_waitForPendingUpdateDone$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._inspector_controller$_selectionGroups;
              $async$goto = 2;
              return A._asyncAwait(t1 == null ? null : t1.get$pendingUpdateDone(), $async$_waitForPendingUpdateDone$0);
            case 2:
              // returning from await.
              t1 = $async$self._treeGroups;
              $async$goto = 3;
              return A._asyncAwait(t1 == null ? null : t1.get$pendingUpdateDone(), $async$_waitForPendingUpdateDone$0);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_waitForPendingUpdateDone$0, $async$completer);
    },
    refresh$0(_) {
      var detailsLocal, _this = this;
      if (!_this.visibleToUser)
        return A.Future_Future$value(null, type$.void);
      detailsLocal = _this.details;
      if (detailsLocal == null)
        return _this._waitForPendingUpdateDone$0();
      return A.Future_wait(A._setArrayType([_this._waitForPendingUpdateDone$0(), detailsLocal._waitForPendingUpdateDone$0()], type$.JSArray_Future_void), type$.void);
    },
    shutdownTree$1(isolateStopped) {
      var t1, _this = this;
      _this.programaticSelectionChangeInProgress = true;
      t1 = _this._treeGroups;
      if (t1 != null)
        t1.clear$1(0, isolateStopped);
      t1 = _this._inspector_controller$_selectionGroups;
      if (t1 != null)
        t1.clear$1(0, isolateStopped);
      t1 = _this.inspectorTree;
      t1.set$hover(null);
      _this._selectedNode.set$value(0, null);
      _this.subtreeRoot = null;
      t1.set$root(0, new A.InspectorTreeNode(A._setArrayType([], type$.JSArray_InspectorTreeNode)));
      _this.programaticSelectionChangeInProgress = false;
      _this.valueToInspectorTreeNode.clear$0(0);
    },
    onIsolateStopped$0() {
      this.treeLoadStarted = this.flutterAppFrameReady = false;
      this.shutdownTree$1(true);
    },
    onForceRefresh$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$onForceRefresh$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.visibleToUser || $async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self._recomputeTreeRoot$3(null, null, false), $async$onForceRefresh$0);
            case 3:
              // returning from await.
              if ($async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.filterErrors$0();
              $async$returnValue = $async$self._waitForPendingUpdateDone$0();
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$onForceRefresh$0, $async$completer);
    },
    filterErrors$0() {
      if (this.isSummaryTree)
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.filterErrors$2("inspector", new A.InspectorController_filterErrors_closure(this));
    },
    setActivate$1(enabled) {
      var _this = this;
      if (!enabled) {
        _this.onIsolateStopped$0();
        _this.isActive = false;
        return;
      }
      if (_this.isActive)
        return;
      _this.isActive = true;
      type$.InspectorService._as($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService).clients.add$1(0, _this);
      _this.maybeLoadUI$0();
    },
    maybeLoadUI$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, queryParams, ready;
      var $async$maybeLoadUI$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.parent != null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.visibleToUser || !$async$self.isActive) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = $async$self.flutterAppFrameReady ? 3 : 5;
              break;
            case 3:
              // then
              if ($async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              queryParams = A.devToolsQueryParams(String(window.location));
              $async$goto = 6;
              return A._asyncAwait($async$self.updateSelectionFromService$2$firstFrame$inspectorRef(true, queryParams.containsKey$1(0, "inspectorRef") ? queryParams.$index(0, "inspectorRef") : null), $async$maybeLoadUI$0);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return A._asyncAwait(type$.InspectorService._as($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService).invokeBoolServiceMethodNoArgs$1("isWidgetTreeReady"), $async$maybeLoadUI$0);
            case 7:
              // returning from await.
              ready = $async$result;
              if ($async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.flutterAppFrameReady = ready;
              $async$goto = $async$self.isActive && ready ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = 10;
              return A._asyncAwait($async$self.maybeLoadUI$0(), $async$maybeLoadUI$0);
            case 10:
              // returning from await.
            case 9:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$maybeLoadUI$0, $async$completer);
    },
    _recomputeTreeRoot$4$subtreeDepth(newSelection, detailsSelection, setSubtreeRoot, subtreeDepth) {
      return this._recomputeTreeRoot$body$InspectorController(newSelection, detailsSelection, setSubtreeRoot, subtreeDepth);
    },
    _recomputeTreeRoot$3(newSelection, detailsSelection, setSubtreeRoot) {
      return this._recomputeTreeRoot$4$subtreeDepth(newSelection, detailsSelection, setSubtreeRoot, 2);
    },
    _recomputeTreeRoot$body$InspectorController(newSelection, detailsSelection, setSubtreeRoot, subtreeDepth) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, group, node, rootNode, error, t1, exception, $async$exception;
      var $async$_recomputeTreeRoot$4$subtreeDepth = 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._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._treeGroups.cancelNext$0();
              $async$handler = 4;
              t1 = $async$self._treeGroups;
              group = t1.get$next(t1);
              $async$goto = 7;
              return A._asyncAwait($async$self.parent != null ? group.getDetailsSubtree$2$subtreeDepth($async$self.subtreeRoot, subtreeDepth) : group.getRoot$1($async$self.treeType), $async$_recomputeTreeRoot$4$subtreeDepth);
            case 7:
              // returning from await.
              node = $async$result;
              if (node == null || group.disposed || $async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._treeGroups.promoteNext$0();
              $async$self.valueToInspectorTreeNode.clear$0(0);
              t1 = $async$self.inspectorTree;
              rootNode = t1.setupInspectorTreeNode$4$expandChildren$expandProperties(new A.InspectorTreeNode(A._setArrayType([], type$.JSArray_InspectorTreeNode)), node, true, false);
              t1.set$root(0, rootNode);
              $async$self.refreshSelection$3(newSelection, detailsSelection, setSubtreeRoot);
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              error = A.unwrapException($async$exception);
              A.log(J.toString$0$(error), B.LogLevel_2);
              $async$self._treeGroups.cancelNext$0();
              // 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
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_recomputeTreeRoot$4$subtreeDepth, $async$completer);
    },
    setSubtreeRoot$2(node, selection) {
      var t1, _this = this;
      if (selection == null)
        selection = node;
      t1 = node == null;
      if (!t1 && node.$eq(0, _this.subtreeRoot)) {
        _this.applyNewSelection$3(selection, null, false);
        return;
      }
      _this.subtreeRoot = node;
      if (t1) {
        _this.shutdownTree$1(false);
        return;
      }
      _this.valueToInspectorTreeNode.clear$0(0);
      _this._recomputeTreeRoot$3(selection, null, false);
    },
    getSubtreeRootNode$0() {
      var t1 = this.subtreeRoot;
      if (t1 == null)
        return null;
      return this.valueToInspectorTreeNode.$index(0, new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t1.json, "valueId"))));
    },
    refreshSelection$3(newSelection, detailsSelection, setSubtreeRoot) {
      var detailsLocal, _this = this;
      if (newSelection == null)
        newSelection = _this.get$selectedDiagnostic();
      _this.setSelectedNode$1(_this.findMatchingInspectorTreeNode$1(newSelection));
      _this.syncSelectionHelper$3$detailsSelection$maybeRerootDetailsTree$selection(detailsSelection, setSubtreeRoot, newSelection);
      detailsLocal = _this.details;
      if (detailsLocal != null)
        if (_this.subtreeRoot != null && _this.getSubtreeRootNode$0() == null) {
          _this.subtreeRoot = newSelection;
          detailsLocal.setSubtreeRoot$2(newSelection, detailsSelection);
        }
      _this.syncTreeSelection$0();
    },
    syncTreeSelection$0() {
      var t1, t2, _this = this;
      _this.programaticSelectionChangeInProgress = true;
      t1 = _this.inspectorTree;
      t2 = _this._selectedNode;
      t1.set$selection(t2._change_notifier$_value);
      t1.expandPath$1(t2._change_notifier$_value);
      _this.programaticSelectionChangeInProgress = false;
      _this.animateTo$1(t2._change_notifier$_value);
    },
    selectAndShowNode$1(node) {
      if (node == null)
        return;
      this.selectAndShowInspectorInstanceRef$1(new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(node.json, "valueId"))));
    },
    selectAndShowInspectorInstanceRef$1(ref) {
      var node = this.valueToInspectorTreeNode.$index(0, ref);
      if (node == null)
        return;
      this.setSelectedNode$1(node);
      this.syncTreeSelection$0();
    },
    onFlutterFrame$0() {
      var t1, _this = this;
      _this.flutterAppFrameReady = true;
      if (!_this.visibleToUser)
        return;
      if (!_this.treeLoadStarted) {
        _this.treeLoadStarted = true;
        _this.maybeLoadUI$0();
      }
      t1 = _this.__InspectorController__refreshRateLimiter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.scheduleRequest$0();
    },
    onInspectorSelectionChanged$0() {
      if (!this.visibleToUser)
        return;
      if (this.parent != null)
        return;
      this.updateSelectionFromService$1$firstFrame(false);
    },
    updateSelectionFromService$2$firstFrame$inspectorRef(firstFrame, inspectorRef) {
      return this.updateSelectionFromService$body$InspectorController(firstFrame, inspectorRef);
    },
    updateSelectionFromService$1$firstFrame(firstFrame) {
      return this.updateSelectionFromService$2$firstFrame$inspectorRef(firstFrame, null);
    },
    updateSelectionFromService$body$InspectorController(firstFrame, inspectorRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, group, pendingSelectionFuture, pendingDetailsFuture, newSelection, detailsSelection, error, t1, t2, exception, $async$exception;
      var $async$updateSelectionFromService$2$firstFrame$inspectorRef = 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.parent != null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._inspector_controller$_selectionGroups;
              if (t1 == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.treeLoadStarted = true;
              t1.cancelNext$0();
              t1 = $async$self._inspector_controller$_selectionGroups;
              group = t1.get$next(t1);
              $async$goto = inspectorRef != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(group.setSelectionInspector$2(new A.InspectorInstanceRef(inspectorRef), false), $async$updateSelectionFromService$2$firstFrame$inspectorRef);
            case 5:
              // returning from await.
              if ($async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              t1 = $async$self.treeType;
              t2 = $async$self.isSummaryTree;
              pendingSelectionFuture = J.getSelection$3$isSummaryTree$z(group, $async$self.get$selectedDiagnostic(), t1, t2);
              pendingDetailsFuture = t2 ? J.getSelection$3$isSummaryTree$z(group, $async$self.get$selectedDiagnostic(), t1, false) : null;
              $async$handler = 7;
              $async$goto = 10;
              return A._asyncAwait(pendingSelectionFuture, $async$updateSelectionFromService$2$firstFrame$inspectorRef);
            case 10:
              // returning from await.
              newSelection = $async$result;
              if ($async$self._inspector_controller$_disposed || group.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              detailsSelection = null;
              $async$goto = pendingDetailsFuture != null ? 11 : 12;
              break;
            case 11:
              // then
              $async$goto = 13;
              return A._asyncAwait(pendingDetailsFuture, $async$updateSelectionFromService$2$firstFrame$inspectorRef);
            case 13:
              // returning from await.
              detailsSelection = $async$result;
              if ($async$self._inspector_controller$_disposed || group.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 12:
              // join
              if (!firstFrame) {
                t1 = detailsSelection;
                t1 = t1 == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t1.json, "valueId")));
                t2 = $async$self.details;
                if (t2 == null)
                  t2 = null;
                else {
                  t2 = t2.get$selectedDiagnostic();
                  t2 = t2 == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t2.json, "valueId")));
                }
                if (J.$eq$(t1, t2)) {
                  t1 = newSelection;
                  t1 = t1 == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t1.json, "valueId")));
                  t2 = $async$self.get$selectedDiagnostic();
                  t1 = J.$eq$(t1, t2 == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t2.json, "valueId"))));
                } else
                  t1 = false;
              } else
                t1 = false;
              if (t1) {
                $async$self._inspector_controller$_selectionGroups.cancelNext$0();
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._inspector_controller$_selectionGroups.promoteNext$0();
              $async$self.subtreeRoot = newSelection;
              $async$self.applyNewSelection$3(newSelection, detailsSelection, true);
              $async$handler = 2;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              error = A.unwrapException($async$exception);
              t1 = $async$self._inspector_controller$_selectionGroups;
              if (t1.get$next(t1) === group) {
                A.log(J.toString$0$(error), B.LogLevel_2);
                $async$self._inspector_controller$_selectionGroups.cancelNext$0();
              }
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 9:
              // 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$updateSelectionFromService$2$firstFrame$inspectorRef, $async$completer);
    },
    applyNewSelection$3(newSelection, detailsSelection, setSubtreeRoot) {
      if (this.findMatchingInspectorTreeNode$1(newSelection) == null)
        this._recomputeTreeRoot$3(newSelection, detailsSelection, setSubtreeRoot);
      this.refreshSelection$3(newSelection, detailsSelection, setSubtreeRoot);
    },
    animateTo$1(node) {
      var targets, node0, t1, t2, _i, child, diagnosticsNode;
      if (node == null)
        return;
      targets = A._setArrayType([node], type$.JSArray_InspectorTreeNode);
      while (true) {
        node0 = node._inspector_tree$_parent;
        if (node0 != null) {
          t1 = node._diagnostic;
          t1 = (t1 == null ? null : t1.isProperty) === true;
        } else
          t1 = false;
        if (!t1)
          break;
        node = node0;
      }
      for (t1 = node._inspector_tree$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        diagnosticsNode = child._diagnostic;
        targets.push(child);
        if (child._inspector_tree$_children.length !== 0 && child._inspector_tree$_isExpanded)
          break;
        if (diagnosticsNode != null && !diagnosticsNode.isProperty)
          break;
      }
      this.inspectorTree.animateToTargets$1(targets);
    },
    setSelectedNode$1(newSelection) {
      var detailsLocal, parantLocal, inspectorRef, errors, errorIndex, t3, _this = this, _null = null,
        _s9_ = "inspector",
        t1 = _this._selectedNode,
        t2 = t1._change_notifier$_value;
      if (newSelection == null ? t2 == null : newSelection === t2)
        return;
      t1.set$value(0, newSelection);
      _this.highlightShowNode$1(_null);
      detailsLocal = _this.details;
      parantLocal = _this.parent;
      if (detailsLocal != null)
        detailsLocal.highlightShowNode$1(_null);
      else if (parantLocal != null)
        parantLocal.highlightShowNode$1(_null);
      t2 = t1._change_notifier$_value;
      if (t2 == null)
        inspectorRef = _null;
      else {
        t2 = t2._diagnostic;
        inspectorRef = t2 == null ? _null : A._asStringQ(J.$index$asx(t2.json, "valueId"));
      }
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.erroredItemsForPage$1(_s9_);
      errors = t2.get$value(t2);
      if (inspectorRef != null) {
        t2 = A._instanceType(errors)._eval$1("LinkedHashMapKeyIterable<1>");
        errorIndex = B.JSArray_methods.indexOf$1(A.List_List$of(new A.LinkedHashMapKeyIterable(errors, t2), true, t2._eval$1("Iterable.E")), inspectorRef);
      } else
        errorIndex = _null;
      if (errorIndex === -1)
        errorIndex = _null;
      _this._selectedErrorIndex.set$value(0, errorIndex);
      if (errorIndex != null) {
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager;
        inspectorRef.toString;
        t3 = errors.$index(0, inspectorRef);
        t3.toString;
        t2.markErrorAsRead$2(_s9_, t3);
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1(_s9_);
      }
      _this.animateTo$1(t1._change_notifier$_value);
    },
    selectErrorByIndex$1(index) {
      var t1, errors;
      this._selectedErrorIndex.set$value(0, index);
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.erroredItemsForPage$1("inspector");
      errors = t1.get$value(t1);
      this.updateSelectionFromService$2$firstFrame$inspectorRef(false, new A.LinkedHashMapKeyIterable(errors, A._instanceType(errors)._eval$1("LinkedHashMapKeyIterable<1>")).elementAt$1(0, index));
    },
    _onExpand$1(node) {
      this.inspectorTree.maybePopulateChildren$1(node);
    },
    _addNodeToConsole$1(node) {
      return this._addNodeToConsole$body$InspectorController(node);
    },
    _addNodeToConsole$body$InspectorController(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, isolateRef, t2, instanceRef;
      var $async$_addNodeToConsole$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 = A._asStringQ(J.$index$asx(node._diagnostic.json, "valueId"));
              isolateRef = type$.InspectorService._as($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService).inspectorLibrary._isolateRef;
              t2 = node._diagnostic.inspectorService;
              $async$goto = 3;
              return A._asyncAwait(t2 == null ? null : t2.toObservatoryInstanceRef$1(new A.InspectorInstanceRef(t1)), $async$_addNodeToConsole$1);
            case 3:
              // returning from await.
              instanceRef = $async$result;
              if ($async$self._inspector_controller$_disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (instanceRef != null)
                $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.appendInstanceRef$4$diagnostic$forceScrollIntoView$isolateRef$value(node._diagnostic, true, isolateRef, instanceRef);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_addNodeToConsole$1, $async$completer);
    },
    selectionChanged$0() {
      var t1, node, t2, maybeReroot, parantLocal, detailsLocal, _this = this;
      if (!_this.visibleToUser)
        return;
      t1 = _this.inspectorTree;
      node = t1._inspector_tree_controller$_selection;
      t2 = node != null;
      if (t2)
        t1.maybePopulateChildren$1(node);
      if (_this.programaticSelectionChangeInProgress)
        return;
      if (t2) {
        _this.setSelectedNode$1(node);
        _this._addNodeToConsole$1(node);
        t1 = _this.isSummaryTree;
        if (t1)
          if (_this.details != null) {
            if (_this.get$selectedDiagnostic() != null) {
              t2 = _this.details;
              t2.toString;
              t2 = !t2.valueToInspectorTreeNode.containsKey$1(0, new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(_this.get$selectedDiagnostic().json, "valueId"))));
            } else
              t2 = false;
            maybeReroot = t2;
          } else
            maybeReroot = false;
        else
          maybeReroot = false;
        t2 = _this.get$selectedDiagnostic();
        _this.syncSelectionHelper$3$detailsSelection$maybeRerootDetailsTree$selection(_this.get$selectedDiagnostic(), maybeReroot, t2);
        if (!maybeReroot) {
          parantLocal = _this.parent;
          detailsLocal = _this.details;
          if (t1 && detailsLocal != null)
            detailsLocal.selectAndShowNode$1(_this.get$selectedDiagnostic());
          else if (parantLocal != null)
            parantLocal.selectAndShowNode$1(_this.firstAncestorInParentTree$1(_this._selectedNode._change_notifier$_value));
        }
      }
    },
    firstAncestorInParentTree$1(node) {
      var t1, diagnostic, t2,
        parentLocal = this.parent;
      if (parentLocal == null)
        return node == null ? null : node._diagnostic;
      for (t1 = parentLocal.valueToInspectorTreeNode; node != null;) {
        diagnostic = node._diagnostic;
        if (diagnostic != null && t1.containsKey$1(0, new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(diagnostic.json, "valueId"))))) {
          t2 = t1.$index(0, new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(diagnostic.json, "valueId"))));
          return t2 == null ? null : t2._diagnostic;
        }
        node = node._inspector_tree$_parent;
      }
      return null;
    },
    syncSelectionHelper$3$detailsSelection$maybeRerootDetailsTree$selection(detailsSelection, maybeRerootDetailsTree, selection) {
      var toSelect, _this = this,
        t1 = selection != null;
      if (t1)
        selection.getBooleanMember$2("createdByLocalProject", false);
      if (_this.parent != null || _this.details == null)
        if (t1) {
          toSelect = _this._selectedNode._change_notifier$_value;
          while (true) {
            t1 = toSelect != null;
            if (!(t1 && toSelect._diagnostic.isProperty))
              break;
            toSelect = toSelect._inspector_tree$_parent;
          }
          if (t1)
            toSelect._diagnostic.setSelectionInspector$1(true);
        }
      if (maybeRerootDetailsTree) {
        _this.subtreeRoot = selection;
        t1 = _this.details;
        if (t1 != null)
          t1.setSubtreeRoot$2(selection, detailsSelection);
      } else if (selection != null)
        selection.setSelectionInspector$1(true);
    },
    dispose$0() {
      var t1, _this = this;
      _this._inspector_controller$_disposed = true;
      if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService != null)
        _this.shutdownTree$1(false);
      t1 = _this._treeGroups;
      if (t1 != null)
        t1.clear$1(0, false);
      _this._treeGroups = null;
      t1 = _this._inspector_controller$_selectionGroups;
      if (t1 != null)
        t1.clear$1(0, false);
      _this._inspector_controller$_selectionGroups = null;
      t1 = _this.details;
      if (t1 != null)
        t1.dispose$0();
      _this.super$_InspectorController_DisposableController_AutoDisposeControllerMixin$dispose();
    },
    _onNodeAdded$2(node, diagnosticsNode) {
      var t1 = A._asStringQ(J.$index$asx(diagnosticsNode.json, "valueId"));
      if (t1 != null && !diagnosticsNode.isProperty)
        this.valueToInspectorTreeNode.$indexSet(0, new A.InspectorInstanceRef(t1), node);
    },
    expandAllNodesInDetailsTree$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, t1;
      var $async$expandAllNodesInDetailsTree$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.details;
              t1.toString;
              t2 = $async$self.inspectorTree._inspector_tree_controller$_selection;
              t2 = t2 == null ? null : t2._diagnostic;
              t3 = t1.inspectorTree;
              t4 = t3._inspector_tree_controller$_selection;
              t4 = t4 == null ? null : t4._diagnostic;
              if (t4 == null) {
                t3 = t3._inspector_tree_controller$_root;
                t3 = t3 == null ? null : t3._diagnostic;
              } else
                t3 = t4;
              $async$goto = 2;
              return A._asyncAwait(t1._recomputeTreeRoot$4$subtreeDepth(t2, t3, false, $.$get$maxJsInt()), $async$expandAllNodesInDetailsTree$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$expandAllNodesInDetailsTree$0, $async$completer);
    },
    collapseDetailsToSelected$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, detailsLocal, t1;
      var $async$collapseDetailsToSelected$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
              detailsLocal = $async$self.details;
              t1 = detailsLocal.inspectorTree;
              t1.collapseToSelected$0();
              detailsLocal.animateTo$1(t1._inspector_tree_controller$_selection);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$collapseDetailsToSelected$0, $async$completer);
    },
    $isInspectorServiceClient: 1
  };
  A.InspectorController_closure.prototype = {
    call$0() {
      var isolate = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate._change_notifier$_value,
        t1 = this.$this;
      if (!J.$eq$(isolate, t1._inspector_controller$_mainIsolate))
        t1.onIsolateStopped$0();
      t1._inspector_controller$_mainIsolate = isolate;
    },
    $signature: 0
  };
  A.InspectorController_closure0.prototype = {
    call$0() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1._hasServiceExtension$1($.$get$toggleSelectWidgetMode().extension)._change_notifier$_value) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.setServiceExtensionState$3$enabled$value($.$get$enableOnDeviceInspector().extension, true, true);
      }
    },
    $signature: 0
  };
  A.InspectorController__handleConnectionStart_closure.prototype = {
    call$1(_) {
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("inspector");
    },
    $signature: 3
  };
  A.InspectorController_filterErrors_closure.prototype = {
    call$1(id) {
      return this.$this.valueToInspectorTreeNode.containsKey$1(0, new A.InspectorInstanceRef(id));
    },
    $signature: 6
  };
  A._InspectorController_DisposableController_AutoDisposeControllerMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeControllerMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$DisposableController$dispose();
    }
  };
  A.computeRenderSizes_transformToRenderSize.prototype = {
    call$1(largestRenderSize) {
      var t2, t3, t4, t5, t6, t7, _i, _this = this,
        t1 = A._setArrayType([], type$.JSArray_double);
      for (t2 = _this.sizes, t3 = t2.length, t4 = _this.smallestSize, t5 = _this.smallestRenderSize, t6 = largestRenderSize - t5, t7 = _this.largestSize - t4, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
        t1.push((t2[_i] - t4) * t6 / t7 + t5);
      return t1;
    },
    $signature: 593
  };
  A.LayoutProperties.prototype = {
    LayoutProperties$2$copyLevel(node, copyLevel) {
      var t1, t2, _i;
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        J.set$parent$x(t1[_i], this);
    },
    LayoutProperties$values$8$children$constraints$description$flexFactor$flexFit$isFlex$node$size(children, constraints, description, flexFactor, flexFit, isFlex, node, size) {
      var t1, t2, _i;
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        J.set$parent$x(t1[_i], this);
    },
    get$displayChildren() {
      return this.children;
    },
    get$hasFlexFactor() {
      var flexFactorLocal = this.flexFactor;
      if (flexFactorLocal == null)
        return false;
      return flexFactorLocal > 0;
    },
    get$hasChildren() {
      return this.children.length !== 0;
    },
    get$width(_) {
      return this.size._dx;
    },
    dimension$1(axis) {
      var t1 = this.size;
      return axis === B.Axis_0 ? t1._dx : t1._dy;
    },
    childrenDimensions$1(axis) {
      var t1 = this.get$displayChildren(),
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,double>");
      return A.List_List$of(new A.MappedListIterable(t1, new A.LayoutProperties_childrenDimensions_closure(axis), t2), true, t2._eval$1("ListIterable.E"));
    },
    get$childrenWidths() {
      return this.childrenDimensions$1(B.Axis_0);
    },
    get$childrenHeights() {
      return this.childrenDimensions$1(B.Axis_1);
    },
    describeWidthConstraints$0() {
      var t1,
        constraintsLocal = this.constraints;
      if (constraintsLocal == null)
        return "";
      t1 = constraintsLocal.maxWidth;
      return t1 < 1 / 0 ? A.LayoutProperties_describeAxis(constraintsLocal.minWidth, t1, "w") : "width is unconstrained";
    },
    describeHeightConstraints$0() {
      var t1,
        constraintsLocal = this.constraints;
      if (constraintsLocal == null)
        return "";
      t1 = constraintsLocal.maxHeight;
      return t1 < 1 / 0 ? A.LayoutProperties_describeAxis(constraintsLocal.minHeight, t1, "h") : "height is unconstrained";
    },
    describeWidth$0() {
      return "w=" + B.JSNumber_methods.toStringAsFixed$1(this.size._dx, 1);
    },
    describeHeight$0() {
      return "h=" + B.JSNumber_methods.toStringAsFixed$1(this.size._dy, 1);
    },
    get$isOverflowWidth() {
      var t1 = this.parent,
        parentWidth = t1 == null ? null : t1.size._dx;
      if (parentWidth == null)
        return false;
      return this.size._dx + this.node.get$parentData().offset._dx > parentWidth + 0.1;
    },
    get$isOverflowHeight() {
      var t1 = this.parent,
        parentHeight = t1 == null ? null : t1.size._dy;
      if (parentHeight == null)
        return false;
      return this.size._dy + this.node.get$parentData().offset._dy > parentHeight + 0.1;
    },
    get$node() {
      return this.node;
    },
    get$children(receiver) {
      return this.children;
    },
    get$constraints() {
      return this.constraints;
    },
    get$description(receiver) {
      return this.description;
    },
    get$flexFactor() {
      return this.flexFactor;
    },
    get$flexFit() {
      return this.flexFit;
    },
    get$isFlex() {
      return this.isFlex;
    },
    get$size(receiver) {
      return this.size;
    },
    set$parent(receiver, val) {
      return this.parent = val;
    }
  };
  A.LayoutProperties_closure.prototype = {
    call$1(child) {
      return A.LayoutProperties$(child, this.copyLevel - 1);
    },
    $signature: 586
  };
  A.LayoutProperties_childrenDimensions_closure.prototype = {
    call$1(child) {
      return child.dimension$1(this.axis);
    },
    $signature: 566
  };
  A.OverflowSide.prototype = {
    toString$0(_) {
      return "OverflowSide." + this._core$_name;
    }
  };
  A.FlexLayoutProperties.prototype = {
    copyWith$2$crossAxisAlignment$mainAxisAlignment(crossAxisAlignment, mainAxisAlignment) {
      var _this = this,
        t1 = mainAxisAlignment == null ? _this.mainAxisAlignment : mainAxisAlignment,
        t2 = crossAxisAlignment == null ? _this.crossAxisAlignment : crossAxisAlignment;
      return A.FlexLayoutProperties$(_this.children, _this.constraints, t2, _this.description, _this.direction, _this.flexFactor, _this.flexFit, _this.isFlex, t1, _this.mainAxisSize, _this.node, _this.size, _this.textBaseline, _this.textDirection, _this.verticalDirection);
    },
    copyWith$1$mainAxisAlignment(mainAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(null, mainAxisAlignment);
    },
    copyWith$1$crossAxisAlignment(crossAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(crossAxisAlignment, null);
    },
    get$displayChildren() {
      var t1, t2, _this = this,
        displayChildren = _this._displayChildren;
      if (displayChildren != null)
        return displayChildren;
      t1 = _this.children;
      if (!_this.get$startIsTopLeft()) {
        t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
        t2 = A.List_List$of(new A.ReversedListIterable(t1, t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      return _this._displayChildren = t1;
    },
    get$isMainAxisHorizontal() {
      return this.direction === B.Axis_0;
    },
    get$isMainAxisVertical() {
      return this.direction === B.Axis_1;
    },
    get$horizontalDirectionDescription() {
      return this.direction === B.Axis_0 ? "Main Axis" : "Cross Axis";
    },
    get$verticalDirectionDescription() {
      return this.direction === B.Axis_1 ? "Main Axis" : "Cross Axis";
    },
    get$type(_) {
      return A.AxisExtension_get_flexType(this.direction);
    },
    get$totalFlex() {
      var t2,
        t1 = this.children;
      if (t1.length === 0)
        return 0;
      t2 = this._totalFlex;
      return t2 == null ? this._totalFlex = J.toInt$0$n(new A.MappedListIterable(t1, new A.FlexLayoutProperties_totalFlex_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,num>")).reduce$1(0, new A.FlexLayoutProperties_totalFlex_closure0())) : t2;
    },
    get$isOverflowWidth() {
      var _this = this;
      if (_this.direction === B.Axis_0)
        return _this.size._dx + 0.1 < A.sum(_this.childrenDimensions$1(B.Axis_0));
      return _this.size._dx + 0.1 < A.max(_this.childrenDimensions$1(B.Axis_0));
    },
    get$isOverflowHeight() {
      var _this = this;
      if (_this.direction === B.Axis_1)
        return _this.size._dy + 0.1 < A.sum(_this.childrenDimensions$1(B.Axis_1));
      return _this.size._dy + 0.1 < A.max(_this.childrenDimensions$1(B.Axis_1));
    },
    get$startIsTopLeft() {
      switch (this.direction.index) {
        case 0:
          switch (this.textDirection.index) {
            case 1:
              return true;
            case 0:
              return false;
          }
          break;
        case 1:
          switch (this.verticalDirection.index) {
            case 1:
              return true;
            case 0:
              return false;
          }
          break;
      }
    },
    childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth(largestRenderHeight, largestRenderWidth, maxSizeAvailable, smallestRenderHeight, smallestRenderWidth) {
      var leadingSpace, betweenSpace, renderSizes, widths, heights, renderFreeSpace, renderLeadingSpace, renderBetweenSpace, childrenRenderProps, calculateMainAxisOffset, calculateCrossAxisOffset, t5, t6, t7, i, t8, t9, t10, spaces, actualLeadingSpace, actualBetweenSpace, renderPropsWithFullCrossAxisDimension, child, _this = this, _null = null,
        t1 = _this.direction,
        t2 = t1 === B.Axis_0,
        t3 = _this.size,
        t4 = t2 ? t3._dx : t3._dy,
        freeSpace = t4 - A.sum(_this.childrenDimensions$1(t1)),
        displayMainAxisAlignment = _this.mainAxisAlignment;
      if (!_this.get$startIsTopLeft())
        displayMainAxisAlignment = displayMainAxisAlignment == null ? _null : A.MainAxisAlignmentExtension_get_reversed(displayMainAxisAlignment);
      leadingSpace = new A.FlexLayoutProperties_childrenRenderProperties_leadingSpace(_this, displayMainAxisAlignment);
      betweenSpace = new A.FlexLayoutProperties_childrenRenderProperties_betweenSpace(_this, displayMainAxisAlignment);
      renderSizes = new A.FlexLayoutProperties_childrenRenderProperties_renderSizes(_this, freeSpace, new A.FlexLayoutProperties_childrenRenderProperties_smallestRenderSize(smallestRenderWidth, smallestRenderHeight), new A.FlexLayoutProperties_childrenRenderProperties_largestRenderSize(_this, largestRenderWidth, largestRenderHeight, maxSizeAvailable), maxSizeAvailable);
      widths = renderSizes.call$1(B.Axis_0);
      heights = renderSizes.call$1(B.Axis_1);
      if (freeSpace > 0)
        renderFreeSpace = t2 ? J.get$last$ax(widths) : J.get$last$ax(heights);
      else
        renderFreeSpace = 0;
      renderLeadingSpace = leadingSpace.call$1(renderFreeSpace);
      renderBetweenSpace = betweenSpace.call$1(renderFreeSpace);
      t4 = type$.JSArray_RenderProperties;
      childrenRenderProps = A._setArrayType([], t4);
      calculateMainAxisOffset = new A.FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset(new A.FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset(childrenRenderProps), new A.FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension(childrenRenderProps), new A.FlexLayoutProperties_childrenRenderProperties_space(displayMainAxisAlignment, renderLeadingSpace, renderBetweenSpace));
      calculateCrossAxisOffset = new A.FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset(_this, maxSizeAvailable, widths, heights);
      for (t5 = _this.children, t6 = J.getInterceptor$asx(widths), t7 = J.getInterceptor$asx(heights), i = 0; i < t5.length; ++i) {
        t8 = t6.$index(widths, i);
        t9 = t7.$index(heights, i);
        t9 = A.RenderProperties$(t1, false, _null, B.Offset_0_0, J.get$size$x(_this.get$displayChildren()[i]), new A.Size(t8, t9));
        t8 = calculateMainAxisOffset.call$1(i);
        t10 = t9.axis === B.Axis_0;
        if (t10)
          t9.dx = t8;
        else
          t9.dy = t8;
        t8 = calculateCrossAxisOffset.call$1(i);
        if (t10)
          t9.dy = t8;
        else
          t9.dx = t8;
        t9.layoutProperties = _this.get$displayChildren()[i];
        childrenRenderProps.push(t9);
      }
      spaces = A._setArrayType([], t4);
      actualLeadingSpace = leadingSpace.call$1(freeSpace);
      actualBetweenSpace = betweenSpace.call$1(freeSpace);
      renderPropsWithFullCrossAxisDimension = A.RenderProperties$(t1, false, _null, _null, _null, _null);
      renderPropsWithFullCrossAxisDimension.set$crossAxisDimension(maxSizeAvailable.call$1(t2 ? B.Axis_1 : B.Axis_0));
      renderPropsWithFullCrossAxisDimension.set$crossAxisRealDimension((t2 ? B.Axis_1 : B.Axis_0) === B.Axis_0 ? t3._dx : t3._dy);
      renderPropsWithFullCrossAxisDimension.set$crossAxisOffset(0);
      renderPropsWithFullCrossAxisDimension.isFreeSpace = true;
      renderPropsWithFullCrossAxisDimension.layoutProperties = _this;
      t1 = actualLeadingSpace > 0;
      if (t1 && displayMainAxisAlignment !== B.MainAxisAlignment_0) {
        t2 = renderPropsWithFullCrossAxisDimension.clone$0(0);
        t2.set$mainAxisOffset(0);
        t2.set$mainAxisDimension(renderLeadingSpace);
        t2.set$mainAxisRealDimension(actualLeadingSpace);
        spaces.push(t2);
      }
      if (actualBetweenSpace > 0)
        for (t2 = renderPropsWithFullCrossAxisDimension.axis, i = 0; i < childrenRenderProps.length - 1; ++i) {
          child = childrenRenderProps[i];
          t3 = renderPropsWithFullCrossAxisDimension.width;
          t4 = renderPropsWithFullCrossAxisDimension.height;
          t5 = renderPropsWithFullCrossAxisDimension.dx;
          t6 = renderPropsWithFullCrossAxisDimension.dy;
          t7 = renderPropsWithFullCrossAxisDimension.realWidth;
          t8 = renderPropsWithFullCrossAxisDimension.realHeight;
          t9 = renderPropsWithFullCrossAxisDimension.layoutProperties;
          t4 = A.RenderProperties$(t2, renderPropsWithFullCrossAxisDimension.isFreeSpace, t9, new A.Offset(t5, t6), new A.Size(t7, t8), new A.Size(t3, t4));
          t3 = t4.axis === B.Axis_0;
          if (t3)
            t4.width = renderBetweenSpace;
          else
            t4.height = renderBetweenSpace;
          if (t3)
            t4.realWidth = actualBetweenSpace;
          else
            t4.realHeight = actualBetweenSpace;
          t5 = child.axis === B.Axis_0;
          t6 = t5 ? child.dx : child.dy;
          t6 += t5 ? child.width : child.height;
          if (t3)
            t4.dx = t6;
          else
            t4.dy = t6;
          spaces.push(t4);
        }
      if (t1 && displayMainAxisAlignment !== B.MainAxisAlignment_1) {
        t1 = renderPropsWithFullCrossAxisDimension.clone$0(0);
        t2 = B.JSArray_methods.get$last(childrenRenderProps);
        t2 = t2.axis === B.Axis_0 ? t2.width : t2.height;
        t3 = B.JSArray_methods.get$last(childrenRenderProps);
        t1.set$mainAxisOffset(t2 + (t3.axis === B.Axis_0 ? t3.dx : t3.dy));
        t1.set$mainAxisDimension(renderLeadingSpace);
        t1.set$mainAxisRealDimension(actualLeadingSpace);
        spaces.push(t1);
      }
      t1 = A.List_List$of(childrenRenderProps, true, type$.RenderProperties);
      B.JSArray_methods.addAll$1(t1, spaces);
      return t1;
    },
    crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable(childrenRenderProperties, maxSizeAvailable) {
      var spaces, t2, t3, t4, t5, t6, i, t7, t8, renderProperties, t9, t10, t11, t12, t13, t14, space, t15, _this = this,
        t1 = _this.crossAxisAlignment;
      if (t1 === B.CrossAxisAlignment_3)
        return A._setArrayType([], type$.JSArray_RenderProperties);
      spaces = A._setArrayType([], type$.JSArray_RenderProperties);
      for (t2 = _this.children, t3 = t1 === B.CrossAxisAlignment_1, t1 = t1 === B.CrossAxisAlignment_2, t4 = _this.direction === B.Axis_0, t5 = _this.size, t6 = t5._dy, t5 = t5._dx, i = 0; i < t2.length; ++i) {
        t7 = (t4 ? B.Axis_1 : B.Axis_0) === B.Axis_0 ? t5 : t6;
        t8 = _this.get$displayChildren()[i];
        if (t7 !== t8.dimension$1(t4 ? B.Axis_1 : B.Axis_0)) {
          t7 = childrenRenderProperties[i];
          t7 = t7.axis === B.Axis_0 ? t7.height : t7.width;
          t7 = t7 === maxSizeAvailable.call$1(t4 ? B.Axis_1 : B.Axis_0);
        } else
          t7 = true;
        if (t7)
          continue;
        renderProperties = childrenRenderProperties[i];
        t7 = renderProperties.axis;
        t8 = renderProperties.width;
        t9 = renderProperties.height;
        t10 = renderProperties.dx;
        t11 = renderProperties.dy;
        t12 = renderProperties.realWidth;
        t13 = renderProperties.realHeight;
        t14 = renderProperties.layoutProperties;
        space = A.RenderProperties$(t7, renderProperties.isFreeSpace, t14, new A.Offset(t10, t11), new A.Size(t12, t13), new A.Size(t8, t9));
        space.isFreeSpace = true;
        t8 = (t4 ? B.Axis_1 : B.Axis_0) === B.Axis_0 ? t5 : t6;
        t9 = space.axis;
        t10 = t9 === B.Axis_0;
        t8 -= t10 ? space.realHeight : space.realWidth;
        if (t10)
          space.realHeight = t8;
        else
          space.realWidth = t8;
        t8 = maxSizeAvailable.call$1(t4 ? B.Axis_1 : B.Axis_0);
        t8 -= t10 ? space.height : space.width;
        if (t10)
          space.height = t8;
        else
          space.width = t8;
        if ((t10 ? space.height : space.width) <= 0)
          continue;
        if (t1) {
          t8 = (t10 ? space.height : space.width) * 0.5;
          if (t10)
            space.height = t8;
          else
            space.width = t8;
          t8 = (t10 ? space.realHeight : space.realWidth) * 0.5;
          if (t10)
            space.realHeight = t8;
          else
            space.realWidth = t8;
          t8 = space.width;
          t10 = space.height;
          t11 = space.dx;
          t12 = space.dy;
          t13 = space.realWidth;
          t14 = space.realHeight;
          t15 = space.layoutProperties;
          t10 = A.RenderProperties$(t9, space.isFreeSpace, t15, new A.Offset(t11, t12), new A.Size(t13, t14), new A.Size(t8, t10));
          if (t10.axis === B.Axis_0)
            t10.dy = 0;
          else
            t10.dx = 0;
          spaces.push(t10);
          t8 = space.width;
          t10 = space.height;
          t11 = space.dx;
          t12 = space.dy;
          t13 = space.realWidth;
          t14 = space.realHeight;
          t15 = space.layoutProperties;
          t10 = A.RenderProperties$(t9, space.isFreeSpace, t15, new A.Offset(t11, t12), new A.Size(t13, t14), new A.Size(t8, t10));
          t7 = t7 === B.Axis_0;
          t8 = t7 ? renderProperties.height : renderProperties.width;
          t8 += t7 ? renderProperties.dy : renderProperties.dx;
          if (t10.axis === B.Axis_0)
            t10.dy = t8;
          else
            t10.dx = t8;
          spaces.push(t10);
        } else {
          if (t3)
            t7 = 0;
          else
            t7 = t7 === B.Axis_0 ? renderProperties.height : renderProperties.width;
          if (t10)
            space.dy = t7;
          else
            space.dx = t7;
          spaces.push(space);
        }
      }
      return spaces;
    },
    get$direction(receiver) {
      return this.direction;
    },
    get$mainAxisAlignment() {
      return this.mainAxisAlignment;
    },
    get$crossAxisAlignment() {
      return this.crossAxisAlignment;
    },
    get$mainAxisSize() {
      return this.mainAxisSize;
    },
    get$textDirection() {
      return this.textDirection;
    },
    get$verticalDirection() {
      return this.verticalDirection;
    },
    get$textBaseline(receiver) {
      return this.textBaseline;
    }
  };
  A.FlexLayoutProperties__buildNode_closure.prototype = {
    call$1(property) {
      return J.$index$asx(property, "name");
    },
    $signature: 70
  };
  A.FlexLayoutProperties__buildNode_closure0.prototype = {
    call$1(property) {
      return J.$index$asx(property, "description");
    },
    $signature: 43
  };
  A.FlexLayoutProperties_totalFlex_closure.prototype = {
    call$1(child) {
      var t1 = child.get$flexFactor();
      return t1 == null ? 0 : t1;
    },
    $signature: 562
  };
  A.FlexLayoutProperties_totalFlex_closure0.prototype = {
    call$2(value, element) {
      return value + element;
    },
    $signature: 186
  };
  A.FlexLayoutProperties_childrenRenderProperties_leadingSpace.prototype = {
    call$1(freeSpace) {
      var t1 = this.$this.children.length;
      if (t1 === 0)
        return 0;
      switch (this.displayMainAxisAlignment) {
        case B.MainAxisAlignment_0:
        case B.MainAxisAlignment_1:
          return freeSpace;
        case B.MainAxisAlignment_2:
          return freeSpace * 0.5;
        case B.MainAxisAlignment_3:
          return 0;
        case B.MainAxisAlignment_4:
          return freeSpace / t1 * 0.5;
        case B.MainAxisAlignment_5:
          return freeSpace / (t1 + 1);
        default:
          return 0;
      }
    },
    $signature: 1
  };
  A.FlexLayoutProperties_childrenRenderProperties_betweenSpace.prototype = {
    call$1(freeSpace) {
      var t1 = this.$this.children.length;
      if (t1 === 0)
        return 0;
      switch (this.displayMainAxisAlignment) {
        case B.MainAxisAlignment_0:
        case B.MainAxisAlignment_1:
        case B.MainAxisAlignment_2:
          return 0;
        case B.MainAxisAlignment_3:
          if (t1 === 1)
            return freeSpace;
          return freeSpace / (t1 - 1);
        case B.MainAxisAlignment_4:
          return freeSpace / t1;
        case B.MainAxisAlignment_5:
          return freeSpace / (t1 + 1);
        default:
          return 0;
      }
    },
    $signature: 1
  };
  A.FlexLayoutProperties_childrenRenderProperties_smallestRenderSize.prototype = {
    call$1(axis) {
      return axis === B.Axis_0 ? this.smallestRenderWidth : this.smallestRenderHeight;
    },
    $signature: 181
  };
  A.FlexLayoutProperties_childrenRenderProperties_largestRenderSize.prototype = {
    call$1(axis) {
      var _this = this,
        lrs = axis === B.Axis_0 ? _this.largestRenderWidth : _this.largestRenderHeight;
      return axis === _this.$this.direction ? lrs : _this.maxSizeAvailable.call$1(axis);
    },
    $signature: 181
  };
  A.FlexLayoutProperties_childrenRenderProperties_renderSizes.prototype = {
    call$1(axis) {
      var smallestSize, largestSize, size, _this = this, t1 = {},
        t2 = _this.$this,
        sizes = t2.childrenDimensions$1(axis),
        t3 = _this.freeSpace;
      if (t3 > 0 && axis === t2.direction)
        B.JSArray_methods.add$1(sizes, t3);
      smallestSize = A.min(sizes);
      largestSize = A.max(sizes);
      if (axis !== t2.direction)
        t3 = t2.crossAxisAlignment !== B.CrossAxisAlignment_3 && smallestSize !== largestSize;
      else
        t3 = true;
      if (t3) {
        t1 = _this.smallestRenderSize.call$1(axis);
        return A.computeRenderSizes(_this.largestRenderSize.call$1(axis), largestSize, _this.maxSizeAvailable.call$1(axis), sizes, t1, smallestSize);
      } else {
        if (t2.crossAxisAlignment === B.CrossAxisAlignment_3)
          size = _this.maxSizeAvailable.call$1(axis);
        else {
          t2 = t2.size;
          t2 = axis === B.Axis_0 ? t2._dx : t2._dy;
          size = largestSize / Math.max(t2, 1) * _this.maxSizeAvailable.call$1(axis);
        }
        t1.size = size;
        t1.size = Math.max(size, A.checkNum(_this.smallestRenderSize.call$1(axis)));
        t2 = A._arrayInstanceType(sizes)._eval$1("MappedListIterable<1,double>");
        return A.List_List$of(new A.MappedListIterable(sizes, new A.FlexLayoutProperties_childrenRenderProperties_renderSizes_closure(t1), t2), true, t2._eval$1("ListIterable.E"));
      }
    },
    $signature: 534
  };
  A.FlexLayoutProperties_childrenRenderProperties_renderSizes_closure.prototype = {
    call$1(_) {
      return this._box_0.size;
    },
    $signature: 1
  };
  A.FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset.prototype = {
    call$0() {
      var t1 = this.childrenRenderProps;
      if (t1.length === 0)
        return 0;
      t1 = B.JSArray_methods.get$last(t1);
      return t1.axis === B.Axis_0 ? t1.dx : t1.dy;
    },
    $signature: 98
  };
  A.FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension.prototype = {
    call$0() {
      var t1 = this.childrenRenderProps;
      if (t1.length === 0)
        return 0;
      t1 = B.JSArray_methods.get$last(t1);
      return t1.axis === B.Axis_0 ? t1.width : t1.height;
    },
    $signature: 98
  };
  A.FlexLayoutProperties_childrenRenderProperties_space.prototype = {
    call$1(index) {
      if (index === 0) {
        if (this.displayMainAxisAlignment === B.MainAxisAlignment_0)
          return 0;
        return this.renderLeadingSpace;
      }
      return this.renderBetweenSpace;
    },
    $signature: 45
  };
  A.FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset.prototype = {
    call$1(i) {
      return this.lastMainAxisOffset.call$0() + this.lastMainAxisDimension.call$0() + this.space.call$1(i);
    },
    $signature: 45
  };
  A.FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset.prototype = {
    call$1(i) {
      var emptySpace, _this = this,
        t1 = _this.$this,
        t2 = t1.direction === B.Axis_0,
        t3 = t2 ? B.Axis_1 : B.Axis_0,
        maxDimension = _this.maxSizeAvailable.call$1(t3),
        usedDimension = (t2 ? B.Axis_1 : B.Axis_0) === B.Axis_0 ? _this.widths[i] : _this.heights[i];
      t1 = t1.crossAxisAlignment;
      if (t1 === B.CrossAxisAlignment_0 || t1 === B.CrossAxisAlignment_3 || maxDimension === usedDimension)
        return 0;
      emptySpace = Math.max(0, maxDimension - usedDimension);
      if (t1 === B.CrossAxisAlignment_1)
        return emptySpace;
      return emptySpace * 0.5;
    },
    $signature: 45
  };
  A.RenderProperties.prototype = {
    set$mainAxisDimension(dim) {
      if (this.axis === B.Axis_0)
        this.width = dim;
      else
        this.height = dim;
    },
    set$crossAxisDimension(dim) {
      if (this.axis === B.Axis_0)
        this.height = dim;
      else
        this.width = dim;
    },
    set$mainAxisOffset(offset) {
      if (this.axis === B.Axis_0)
        this.dx = offset;
      else
        this.dy = offset;
    },
    set$crossAxisOffset(offset) {
      if (this.axis === B.Axis_0)
        this.dy = offset;
      else
        this.dx = offset;
    },
    set$mainAxisRealDimension(newVal) {
      if (this.axis === B.Axis_0)
        this.realWidth = newVal;
      else
        this.realHeight = newVal;
    },
    set$crossAxisRealDimension(newVal) {
      if (this.axis === B.Axis_0)
        this.realHeight = newVal;
      else
        this.realWidth = newVal;
    },
    clone$0(_) {
      var _this = this,
        t1 = _this.width,
        t2 = _this.height,
        t3 = _this.dx,
        t4 = _this.dy,
        t5 = _this.realWidth,
        t6 = _this.realHeight,
        t7 = _this.layoutProperties;
      return A.RenderProperties$(_this.axis, _this.isFreeSpace, t7, new A.Offset(t3, t4), new A.Size(t5, t6), new A.Size(t1, t2));
    },
    get$hashCode(_) {
      var _this = this,
        t1 = A.Primitives_objectHashCode(_this.axis),
        t2 = A.Object_hash(_this.width, _this.height, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue),
        t3 = A.Object_hash(_this.dx, _this.dy, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue),
        t4 = A.Object_hash(_this.realWidth, _this.realHeight, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue),
        t5 = _this.isFreeSpace ? 519018 : 218159;
      return (t1 ^ t2 ^ t3 ^ t4 ^ t5) >>> 0;
    },
    $eq(_, other) {
      var t1, t2, t3, t4, _this = this;
      if (other == null)
        return false;
      if (other instanceof A.RenderProperties)
        if (_this.axis === other.axis)
          if (A._extension_0_closeTo(new A.Size(_this.width, _this.height), new A.Size(other.width, other.height))) {
            t1 = _this.dx;
            t2 = _this.dy;
            t3 = other.dx;
            t4 = other.dy;
            t1 = B.JSNumber_methods.toStringAsPrecision$1(t1, 1) === B.JSNumber_methods.toStringAsPrecision$1(t3, 1) && B.JSNumber_methods.toStringAsPrecision$1(t2, 1) === B.JSNumber_methods.toStringAsPrecision$1(t4, 1) && A._extension_0_closeTo(new A.Size(_this.realWidth, _this.realHeight), new A.Size(other.realWidth, other.realHeight)) && _this.isFreeSpace === other.isFreeSpace;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    toString$0(_) {
      var _this = this;
      return "{ axis: " + _this.axis.toString$0(0) + ", size: " + new A.Size(_this.width, _this.height).toString$0(0) + ", offset: " + new A.Offset(_this.dx, _this.dy).toString$0(0) + ", realSize: " + new A.Size(_this.realWidth, _this.realHeight).toString$0(0) + ", isFreeSpace: " + _this.isFreeSpace + " }";
    }
  };
  A.InspectorScreen.prototype = {
    showConsole$1(embed) {
      return !embed;
    },
    get$docPageId() {
      return this.screenId;
    },
    build$1(context) {
      return B.InspectorScreenBody_null;
    }
  };
  A.InspectorScreenBody.prototype = {
    createState$0() {
      return new A.InspectorScreenBodyState($, $, $, $, null, A.Disposer$(), false, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool), B._StateLifecycle_0);
    }
  };
  A.InspectorScreenBodyState.prototype = {
    dispose$0() {
      var t1 = this.__InspectorScreenBodyState_inspectorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.inspectorTree.disposeSearch$0();
      t1 = this.__InspectorScreenBodyState_inspectorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.isSummaryTree && t1.details != null)
        t1.details.inspectorTree.disposeSearch$0();
      this.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$dispose();
    },
    initState$0() {
      var inspectorTreeController, t1, _this = this,
        _s9_ = "inspector";
      _this.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$initState();
      A.screen(_s9_);
      if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService == null)
        return;
      inspectorTreeController = A.InspectorTreeController$();
      _this.__InspectorScreenBodyState_inspectorController = A.InspectorController$(A.InspectorTreeController$(), inspectorTreeController, true, null, B.FlutterTreeType_0);
      if (!$.firstInspectorTreeLoadCompleted)
        A.timeStart(_s9_, "pageReady");
      t1 = _this.__InspectorScreenBodyState_inspectorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.inspectorTree;
      t1._searchTarget = B.SearchTargetType_0;
      t1.refreshSearchMatches$0();
      t1 = _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1, new A.InspectorScreenBodyState_initState_closure(_this));
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var summaryTree, t2, t3, splitAxis, t4, t5, widgetTrees, _this = this, _null = null,
        t1 = _this.ProvidedControllerMixin__controller;
      t1.toString;
      summaryTree = _this._buildSummaryTreeColumn$1(t1);
      t1 = _this.__InspectorScreenBodyState_inspectorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.details.inspectorTree;
      t3 = _this.ProvidedControllerMixin__controller;
      t3.toString;
      splitAxis = A.Split_axisFor(context, 0.85);
      t4 = _this.__InspectorScreenBodyState_inspectorController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = type$.JSArray_Widget;
      widgetTrees = A.Split$(splitAxis, A._setArrayType([summaryTree, new A.InspectorDetails(new A.InspectorTree(t2, t1.inspectorTree, t3, false, _null, B.ValueKey_jvN), t4, _null)], t5), B.List_O9m0, _null, _null);
      t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      return A.Column$(A._setArrayType([A.Row$(A._setArrayType([new A.ValueListenableBuilder(t4._hasServiceExtension$1($.$get$toggleSelectWidgetMode().extension), new A.InspectorScreenBodyState_build_closure(), _null, _null, type$.ValueListenableBuilder_bool), B.Spacer_null, A.Row$(_this.getServiceExtensionWidgets$0(), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t5), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.SizedBox_null_6_null_null, A.Expanded$(widgetTrees, 1)], t5), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _buildSummaryTreeColumn$1(debuggerController) {
      return new A.LayoutBuilder(new A.InspectorScreenBodyState__buildSummaryTreeColumn_closure(this, debuggerController), null);
    },
    _onSearchVisibleToggle$0() {
      var t1, _this = this;
      _this.setState$1(new A.InspectorScreenBodyState__onSearchVisibleToggle_closure(_this));
      t1 = _this.__InspectorScreenBodyState_inspectorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.inspectorTree;
      t1.SearchControllerMixin__searchNotifier.set$value(0, "");
      t1.refreshSearchMatches$0();
      t1 = _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.super$ValueNotifier$value(0, B.TextEditingValue_cKo);
    },
    getServiceExtensionWidgets$0() {
      return A._setArrayType([new A.ServiceExtensionButtonGroup(1160, A._setArrayType([$.$get$slowAnimations(), $.$get$debugPaint(), $.$get$debugPaintBaselines(), $.$get$repaintRainbow(), $.$get$invertOversizedImages()], type$.JSArray_ToggleableServiceExtensionDescription_dynamic), null), B.SizedBox_16_null_null_null, A.SettingsOutlinedButton$(new A.InspectorScreenBodyState_getServiceExtensionWidgets_closure(this), "Flutter Inspector Settings")], type$.JSArray_Widget);
    },
    _refreshInspector$0() {
      A.select("inspector", "refresh", false, null);
      this.blockWhileInProgress$1(new A.InspectorScreenBodyState__refreshInspector_closure(this));
    }
  };
  A.InspectorScreenBodyState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (!t2.get$hasFocus()) {
        t2 = t1.__InspectorScreenBodyState_inspectorController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.inspectorTree.SearchControllerMixin__searchNotifier._change_notifier$_value.length === 0 && true;
      } else
        t2 = false;
      if (t2)
        t1.setState$1(new A.InspectorScreenBodyState_initState__closure(t1));
      t2 = t1.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2.get$hasFocus())
        t1.searchPreventClose = false;
    },
    $signature: 0
  };
  A.InspectorScreenBodyState_initState__closure.prototype = {
    call$0() {
      this.$this.searchVisible = false;
    },
    $signature: 0
  };
  A.InspectorScreenBodyState_build_closure.prototype = {
    call$3(_, selectModeSupported, __) {
      return new A.ServiceExtensionButtonGroup(900, A._setArrayType([selectModeSupported ? $.$get$toggleSelectWidgetMode() : $.$get$toggleOnDeviceWidgetInspector()], type$.JSArray_ToggleableServiceExtensionDescription_dynamic), null);
    },
    $signature: 519
  };
  A.InspectorScreenBodyState__buildSummaryTreeColumn_closure.prototype = {
    call$2(context, constraints) {
      var _null = null,
        t1 = this.$this;
      return new A.OutlineDecoration(A.Column$(A._setArrayType([new A.InspectorSummaryTreeControls(t1.searchVisible, constraints, t1.get$_refreshInspector(), t1.get$_onSearchVisibleToggle(), new A.InspectorScreenBodyState__buildSummaryTreeColumn__closure(t1), _null), A.Expanded$(new A.ValueListenableBuilder($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.erroredItemsForPage$1("inspector"), new A.InspectorScreenBodyState__buildSummaryTreeColumn__closure0(t1, this.debuggerController), _null, _null, type$.ValueListenableBuilder_LinkedHashMap_String_DevToolsError), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    },
    $signature: 518
  };
  A.InspectorScreenBodyState__buildSummaryTreeColumn__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__InspectorScreenBodyState_inspectorController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t2.inspectorTree, t1.get$_onSearchVisibleToggle(), true, new A.LabeledGlobalKey("inspectorScreenSearch", type$.LabeledGlobalKey_State_StatefulWidget), t1.searchVisible, true);
    },
    $signature: 490
  };
  A.InspectorScreenBodyState__buildSummaryTreeColumn__closure0.prototype = {
    call$3(_, errors, __) {
      var t3, _null = null,
        inspectableErrors = type$.LinkedHashMap_String_InspectableWidgetError._as(errors.map$2$1(errors, new A.InspectorScreenBodyState__buildSummaryTreeColumn___closure(), type$.String, type$.InspectableWidgetError)),
        t1 = this.$this,
        t2 = t1.__InspectorScreenBodyState_inspectorController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A._setArrayType([new A.InspectorTree(t2.inspectorTree, _null, this.debuggerController, true, inspectableErrors, B.ValueKey_mDl)], type$.JSArray_Widget);
      if (errors._length !== 0) {
        t3 = t1.__InspectorScreenBodyState_inspectorController;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t2.push(new A.ValueListenableBuilder(t3._selectedErrorIndex, new A.InspectorScreenBodyState__buildSummaryTreeColumn___closure0(t1, inspectableErrors), _null, _null, type$.ValueListenableBuilder_nullable_int));
      }
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t2, _null);
    },
    $signature: 482
  };
  A.InspectorScreenBodyState__buildSummaryTreeColumn___closure.prototype = {
    call$2(key, value) {
      return new A.MapEntry(key, type$.InspectableWidgetError._as(value), type$.MapEntry_String_InspectableWidgetError);
    },
    $signature: 480
  };
  A.InspectorScreenBodyState__buildSummaryTreeColumn___closure0.prototype = {
    call$3(_, selectedErrorIndex, __) {
      var _null = null,
        t1 = this.$this.__InspectorScreenBodyState_inspectorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.Positioned$(_null, new A.ErrorNavigator(this.inspectableErrors, selectedErrorIndex, t1.get$selectErrorByIndex(), _null), _null, _null, _null, 0, 0, _null);
    },
    $signature: 450
  };
  A.InspectorScreenBodyState__onSearchVisibleToggle_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.searchVisible = !t1.searchVisible;
    },
    $signature: 0
  };
  A.InspectorScreenBodyState_getServiceExtensionWidgets_closure.prototype = {
    call$0() {
      var t1 = this.$this._framework$_element;
      t1.toString;
      A.showDialog(true, new A.InspectorScreenBodyState_getServiceExtensionWidgets__closure(), t1, type$.dynamic);
    },
    $signature: 0
  };
  A.InspectorScreenBodyState_getServiceExtensionWidgets__closure.prototype = {
    call$1(context) {
      return new A.FlutterInspectorSettingsDialog(null);
    },
    $signature: 449
  };
  A.InspectorScreenBodyState__refreshInspector_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$self = this, 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
              if (!$.firstInspectorTreeLoadCompleted) {
                $._timedOperationsInProgress.remove$1(0, "inspector-pageReady");
                A.select("inspector", "refreshEmptyTree", false, null);
                $.firstInspectorTreeLoadCompleted = true;
              }
              t1 = $async$self.$this.__InspectorScreenBodyState_inspectorController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(t1.onForceRefresh$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.FlutterInspectorSettingsDialog.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.Text$("Flutter Inspector Settings", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null),
        t2 = type$.JSArray_Widget,
        t3 = A.Column$(A._setArrayType([A.CheckboxSetting$("Hovering over any widget displays its properties and values.", true, "inspectorHoverEvalMode", _null, type$.ValueNotifier_nullable_bool._as($.globals.$index(0, B.Type_PreferencesController_1KB)._inspector._hoverEvalMode), _null, "Enable hover inspection", _null)], t2), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t2), t3, true, true, t1);
    }
  };
  A.InspectorSummaryTreeControls.prototype = {
    build$1(context) {
      var t4, _this = this, _null = null,
        t1 = type$.JSArray_Widget,
        t2 = A._setArrayType([B.Padding_lAj3], t1),
        t3 = _this.isSearchVisible;
      if (!t3)
        t4 = A._setArrayType([B.Spacer_null, new A.ToolbarAction(B.IconData_58727_MaterialIcons_false, "Search Tree", _this.onSearchVisibleToggle, _null)], t1);
      else {
        if (_this.constraints.maxWidth >= 375) {
          t4 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
          t4 = A.Expanded$(A.Container$(_null, _this.searchFieldBuilder.call$0(), B.Clip_0, _null, _null, _null, _null, t4, _null, _null, _null, _null, _null, _null), 1);
        } else
          t4 = B.Spacer_null;
        t4 = A._setArrayType([t4], t1);
      }
      B.JSArray_methods.addAll$1(t2, t4);
      t2.push(new A.ToolbarAction(B.IconData_58644_MaterialIcons_false, "Refresh Tree", _this.onRefreshInspectorPressed, _null));
      t2 = A._setArrayType([_this._controlsContainer$2(context, A.Row$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null))], t1);
      if (t3 && _this.constraints.maxWidth < 375) {
        t3 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t2.push(_this._controlsContainer$2(context, A.Row$(A._setArrayType([A.Expanded$(A.Container$(_null, _this.searchFieldBuilder.call$0(), B.Clip_0, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, _null), 1)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)));
      }
      return A.Column$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _controlsContainer$2(context, child) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 2 : 8;
      return A.Container$(_null, child, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, new A.BorderSide(A.Theme_of(context).focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, t1 + t2, _null, _null, _null, _null, _null, _null);
    }
  };
  A.ErrorNavigator.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.errorIndex,
        t2 = _this.errors._length;
      return A.Container$(_null, new A.Padding(B.EdgeInsets_16_8_16_8, A.Row$(A._setArrayType([new A.Padding(B.EdgeInsets_0_0_8_0, A.Text$(t1 != null ? "Error " + (t1 + 1) + "/" + t2 : "Errors: " + t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null), A.IconButton$(_null, B.BoxConstraints_mlX, true, B.Icon_us1, _null, _this.get$_previousError(), B.EdgeInsets_0_0_0_0, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null), A.IconButton$(_null, B.BoxConstraints_mlX, true, B.Icon_udS, _null, _this.get$_nextError(), B.EdgeInsets_0_0_0_0, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null), B.Clip_0, B.Color_4289675348, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    _previousError$0() {
      var _this = this,
        t1 = _this.errorIndex,
        newIndex = t1 == null ? _this.errors._length - 1 : t1 - 1;
      for (t1 = _this.errors._length; newIndex < 0;)
        newIndex += t1;
      _this.onSelectError.call$1(newIndex);
    },
    _nextError$0() {
      var t1 = this.errorIndex,
        newIndex = t1 == null ? 0 : B.JSInt_methods.$mod(t1 + 1, this.errors._length);
      this.onSelectError.call$1(newIndex);
    }
  };
  A._InspectorScreenBodyState_State_BlockingActionMixin.prototype = {
    dispose$0() {
      this.BlockingActionMixin__actionInProgress = false;
      this.BlockingActionMixin__disposed.complete$1(0, true);
      this.super$State$dispose();
    }
  };
  A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$_InspectorScreenBodyState_State_BlockingActionMixin$dispose();
    }
  };
  A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.InspectorDetails.prototype = {
    build$1(context) {
      var _null = null,
        _s19_ = "inspectorDetailsTab",
        t1 = this.controller,
        tabs = A._setArrayType([A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Layout Explorer", _null), A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Widget Details Tree", new A.InspectorExpandCollapseButtons(t1, _null))], type$.JSArray_DevToolsTab);
      return A.AnalyticsTabbedView$("inspector", true, A._setArrayType([new A.LayoutExplorerTab(t1, _null), this.detailsTree], type$.JSArray_Widget), tabs, type$.dynamic);
    }
  };
  A.InspectorExpandCollapseButtons.prototype = {
    createState$0() {
      return new A._InspectorExpandCollapseButtonsState(false, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool), B._StateLifecycle_0);
    }
  };
  A._InspectorExpandCollapseButtonsState.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.Theme_of(context),
        t2 = !this.BlockingActionMixin__actionInProgress,
        t3 = A.SizedBox$(A.IconLabelButton$(false, B.IconData_59022_MaterialIcons_false, _null, _null, "Expand all", 900, t2 ? this.get$_onExpandClick() : _null, false, _null, _null), _null, _null);
      return A.Container$(B.Alignment_1_0, A.Row$(A._setArrayType([t3, B.SizedBox_8_null_null_null, A.SizedBox$(A.IconLabelButton$(false, B.IconData_59021_MaterialIcons_false, _null, _null, "Collapse to selected", 900, t2 ? this.get$_onCollapseClick() : _null, false, _null, _null), _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_0, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd, new A.BorderSide(t1.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0)), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    },
    _onExpandClick$0() {
      this.blockWhileInProgress$1(new A._InspectorExpandCollapseButtonsState__onExpandClick_closure(this));
    },
    _onCollapseClick$0() {
      this.blockWhileInProgress$1(new A._InspectorExpandCollapseButtonsState__onCollapseClick_closure(this));
    }
  };
  A._InspectorExpandCollapseButtonsState__onExpandClick_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $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
              A.select("inspector", "expandAll", false, null);
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._widget.controller.expandAllNodesInDetailsTree$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A._InspectorExpandCollapseButtonsState__onCollapseClick_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $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
              A.select("inspector", "collapseAll", false, null);
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._widget.controller.collapseDetailsToSelected$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.__InspectorExpandCollapseButtonsState_State_BlockingActionMixin.prototype = {
    dispose$0() {
      this.BlockingActionMixin__actionInProgress = false;
      this.BlockingActionMixin__disposed.complete$1(0, true);
      this.super$State$dispose();
    }
  };
  A.RegistrableServiceExtension.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.InspectorServiceBase.prototype = {
    InspectorServiceBase$3$clientInspectorName$inspectorLibraryUri$serviceExtensionPrefix(clientInspectorName, inspectorLibraryUri, serviceExtensionPrefix) {
      this._lastMainIsolate = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate._change_notifier$_value;
      this.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate, new A.InspectorServiceBase_closure(this));
    },
    get$useDaemonApi() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager.get$mainIsolateDebuggerState();
      t1 = t1 == null ? null : t1._isPaused._change_notifier$_value;
      return !(t1 == null ? false : t1);
    },
    dispose$0() {
      this._inspector_service$_isDisposed = true;
      this.inspectorLibrary.dispose$0();
      this.super$_InspectorServiceBase_DisposableController_AutoDisposeControllerMixin$dispose();
    },
    invokeBoolServiceMethodNoArgs$1(methodName) {
      return this.invokeBoolServiceMethodNoArgs$body$InspectorServiceBase(methodName);
    },
    invokeBoolServiceMethodNoArgs$body$InspectorServiceBase(methodName) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$invokeBoolServiceMethodNoArgs$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 = $async$self.get$useDaemonApi() ? 3 : 5;
              break;
            case 3:
              // then
              $async$temp1 = J;
              $async$goto = 6;
              return A._asyncAwait($async$self.invokeServiceMethodDaemonNoGroupArgs$1(methodName), $async$invokeBoolServiceMethodNoArgs$1);
            case 6:
              // returning from await.
              $async$returnValue = $async$temp1.$eq$($async$result, true);
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return A._asyncAwait($async$self.inspectorLibrary.eval$2$isAlive($async$self.clientInspectorName + ".instance." + methodName + "()", null), $async$invokeBoolServiceMethodNoArgs$1);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = (t1 == null ? null : J.get$valueAsString$x(t1)) === "true";
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeBoolServiceMethodNoArgs$1, $async$completer);
    },
    invokeServiceMethodDaemonNoGroupArgs$1(methodName) {
      return this.invokeServiceMethodDaemonNoGroup$2$args(methodName, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Object));
    },
    invokeServiceMethodDaemonNoGroup$2$args(methodName, args) {
      return this.invokeServiceMethodDaemonNoGroup$body$InspectorServiceBase(methodName, args);
    },
    invokeServiceMethodDaemonNoGroup$body$InspectorServiceBase(methodName, args) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Object),
        $async$returnValue, $async$self = this, t2, callMethodName, t1;
      var $async$invokeServiceMethodDaemonNoGroup$2$args = 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
              callMethodName = $async$self.serviceExtensionPrefix + "." + methodName;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = !t1.isServiceExtensionAvailable$1(callMethodName) ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.waitForServiceExtensionAvailable$1(callMethodName), $async$invokeServiceMethodDaemonNoGroup$2$args);
            case 5:
              // returning from await.
              if (!$async$result) {
                $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["result", null], type$.String, type$.Null);
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.inspectorLibrary._isolateRef;
              $async$goto = 6;
              return A._asyncAwait(t1.callServiceExtension$3$args$isolateId(callMethodName, args, t2.get$id(t2)), $async$invokeServiceMethodDaemonNoGroup$2$args);
            case 6:
              // returning from await.
              t2 = $async$result.json;
              t2.toString;
              t1 = J.getInterceptor$asx(t2);
              if (t1.$index(t2, "errorMessage") != null)
                throw A.wrapException(A.Exception_Exception(methodName + " -- " + A.S(t1.$index(t2, "errorMessage"))));
              $async$returnValue = t1.$index(t2, "result");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeServiceMethodDaemonNoGroup$2$args, $async$completer);
    }
  };
  A.InspectorServiceBase_closure.prototype = {
    call$0() {
      var mainIsolate = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate._change_notifier$_value,
        t1 = this.$this;
      if (!J.$eq$(mainIsolate, t1._lastMainIsolate))
        t1.onIsolateStopped$0();
      t1._lastMainIsolate = mainIsolate;
    },
    $signature: 0
  };
  A.InspectorService.prototype = {
    onIsolateStopped$0() {
      this._currentSelection = null;
      var t1 = this._cachedSelectionGroups;
      if (t1 != null)
        t1.clear$1(0, true);
      this._expectedSelectionChanges.clear$0(0);
    },
    dispose$0() {
      var t1 = this._cachedSelectionGroups;
      if (t1 != null)
        t1.clear$1(0, false);
      this._cachedSelectionGroups = null;
      this.super$InspectorServiceBase$dispose();
    },
    onExtensionVmServiceReceived$1(e) {
      var client, e0, t1, t2, t3, exception;
      if ("Flutter.Frame" === e.extensionKind)
        for (t1 = this.clients, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
          t3 = t1._collection$_current;
          client = t3 == null ? t2._as(t3) : t3;
          try {
            client.onFlutterFrame$0();
          } catch (exception) {
            e0 = A.unwrapException(exception);
          }
        }
    },
    onDebugVmServiceReceived$1($event) {
      if ($event.kind === "Inspect")
        this.notifySelectionChanged$0();
    },
    _trackClientSelfTriggeredSelection$1(ref) {
      J.add$1$ax(this._expectedSelectionChanges.putIfAbsent$2(0, ref, new A.InspectorService__trackClientSelfTriggeredSelection_closure()), Date.now());
    },
    _isClientTriggeredSelectionChange$1(ref) {
      var t2, t3,
        t1 = Date.now();
      if (ref != null) {
        t2 = this._expectedSelectionChanges;
        if (t2.containsKey$1(0, ref)) {
          t2 = t2.remove$1(0, ref);
          t2.toString;
          for (t3 = J.getInterceptor$asx(t2); t3.get$isNotEmpty(t2);)
            if (t3.removeAt$1(t2, 0) + 5000 >= t1)
              return true;
        }
      }
      return false;
    },
    get$_selectionGroups() {
      var t1 = this._cachedSelectionGroups;
      return t1 == null ? this._cachedSelectionGroups = new A.InspectorObjectGroupManager(this, "selection") : t1;
    },
    notifySelectionChanged$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, group, pendingSelection, t2, t3;
      var $async$notifySelectionChanged$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$self.get$_selectionGroups().cancelNext$0();
              t1 = $async$self.get$_selectionGroups();
              group = t1.get$next(t1);
              $async$goto = 2;
              return A._asyncAwait(group.getSelection$3$isSummaryTree(0, $async$self._currentSelection, B.FlutterTreeType_0, false), $async$notifySelectionChanged$0);
            case 2:
              // returning from await.
              pendingSelection = $async$result;
              if (!group.disposed) {
                t1 = $async$self.get$_selectionGroups();
                if (group === t1.get$next(t1))
                  t1 = !$async$self._isClientTriggeredSelectionChange$1(pendingSelection == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(pendingSelection.json, "valueId"))));
                else
                  t1 = false;
              } else
                t1 = false;
              if (t1) {
                $async$self._currentSelection = pendingSelection;
                $async$self.get$_selectionGroups().promoteNext$0();
                for (t1 = $async$self.clients, 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).onInspectorSelectionChanged$0();
                }
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$notifySelectionChanged$0, $async$completer);
    }
  };
  A.InspectorService__trackClientSelfTriggeredSelection_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_int);
    },
    $signature: 232
  };
  A.ObjectGroupBase.prototype = {
    dispose$0() {
      var _this = this,
        disposeComplete = _this.inspectorService.inspectorLibrary._isolateRef != null ? _this.invokeVoidServiceMethod$2("disposeGroup", _this.groupName) : A.Future_Future$value(null, type$.dynamic);
      _this.disposed = true;
      return disposeComplete;
    },
    invokeServiceMethodReturningNode$1(methodName) {
      return this.invokeServiceMethodReturningNode$body$ObjectGroupBase(methodName);
    },
    invokeServiceMethodReturningNode$body$ObjectGroupBase(methodName) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$invokeServiceMethodReturningNode$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.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self.inspectorService.get$useDaemonApi()) {
                $async$returnValue = $async$self.parseDiagnosticsNodeDaemon$1($async$self.invokeServiceMethodDaemon$1(methodName));
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = $async$self.parseDiagnosticsNodeObservatory$1($async$self.invokeServiceMethodObservatory1$2(methodName, $async$self.groupName));
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeServiceMethodReturningNode$1, $async$completer);
    },
    invokeServiceMethodReturningNodeInspectorRef$2(methodName, ref) {
      return this.invokeServiceMethodReturningNodeInspectorRef$body$ObjectGroupBase(methodName, ref);
    },
    invokeServiceMethodReturningNodeInspectorRef$body$ObjectGroupBase(methodName, ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$invokeServiceMethodReturningNodeInspectorRef$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 ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self.inspectorService.get$useDaemonApi()) {
                $async$returnValue = $async$self.parseDiagnosticsNodeDaemon$1($async$self.invokeServiceMethodDaemonInspectorRef$2(methodName, ref));
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = $async$self.parseDiagnosticsNodeObservatory$1($async$self.invokeServiceMethodObservatoryInspectorRef$2(methodName, ref));
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeServiceMethodReturningNodeInspectorRef$2, $async$completer);
    },
    invokeServiceMethodDaemonInspectorRef$2(methodName, arg) {
      var t1 = arg == null ? null : arg.id,
        t2 = type$.String,
        args = A.LinkedHashMap_LinkedHashMap$_literal(["objectGroup", this.groupName], t2, t2);
      if (t1 != null)
        args.$indexSet(0, "arg", t1);
      return this.invokeServiceMethodDaemonParams$2(methodName, args);
    },
    invokeServiceMethodObservatoryInspectorRef$2(methodName, arg) {
      var t1 = this.inspectorService,
        t2 = arg == null ? null : arg.id;
      return t1.inspectorLibrary.eval$2$isAlive(t1.clientInspectorName + ".instance." + methodName + "('" + A.S(t2) + "', '" + this.groupName + "')", this);
    },
    invokeVoidServiceMethod$2(methodName, arg1) {
      return this.invokeVoidServiceMethod$body$ObjectGroupBase(methodName, arg1);
    },
    invokeVoidServiceMethod$body$ObjectGroupBase(methodName, arg1) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$invokeVoidServiceMethod$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 ($async$self.disposed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = $async$self.inspectorService.get$useDaemonApi() ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self.invokeServiceMethodDaemon$2(methodName, arg1), $async$invokeVoidServiceMethod$2);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return A._asyncAwait($async$self.invokeServiceMethodObservatory1$2(methodName, arg1), $async$invokeVoidServiceMethod$2);
            case 7:
              // returning from await.
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeVoidServiceMethod$2, $async$completer);
    },
    invokeServiceMethodDaemon$2(methodName, objectGroup) {
      return this.invokeServiceMethodDaemonParams$2(methodName, A.LinkedHashMap_LinkedHashMap$_literal(["objectGroup", objectGroup == null ? this.groupName : objectGroup], type$.String, type$.nullable_Object));
    },
    invokeServiceMethodDaemon$1(methodName) {
      return this.invokeServiceMethodDaemon$2(methodName, null);
    },
    invokeServiceMethodObservatory1$2(methodName, arg1) {
      var t1 = this.inspectorService;
      return t1.inspectorLibrary.eval$2$isAlive(t1.clientInspectorName + ".instance." + methodName + "('" + arg1 + "')", this);
    },
    invokeServiceMethodDaemonParams$2(methodName, params) {
      return this.invokeServiceMethodDaemonParams$body$ObjectGroupBase(methodName, params);
    },
    invokeServiceMethodDaemonParams$body$ObjectGroupBase(methodName, params) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Object),
        $async$returnValue, $async$self = this, callMethodName, t1;
      var $async$invokeServiceMethodDaemonParams$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
              callMethodName = $async$self.inspectorService.serviceExtensionPrefix + "." + methodName;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = !t1.isServiceExtensionAvailable$1(callMethodName) ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.waitForServiceExtensionAvailable$1(callMethodName), $async$invokeServiceMethodDaemonParams$2);
            case 5:
              // returning from await.
              if (!$async$result) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              $async$goto = 6;
              return A._asyncAwait($async$self._callServiceExtension$2(callMethodName, params), $async$invokeServiceMethodDaemonParams$2);
            case 6:
              // 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$invokeServiceMethodDaemonParams$2, $async$completer);
    },
    _callServiceExtension$2(extension, args) {
      var _this = this;
      if (_this.disposed)
        return A.Future_Future$value(null, type$.nullable_Object);
      return _this.inspectorService.inspectorLibrary.addRequest$1$2(_this, new A.ObjectGroupBase__callServiceExtension_closure(_this, extension, args), type$.Object);
    },
    parseDiagnosticsNodeDaemon$1(json) {
      return this.parseDiagnosticsNodeDaemon$body$ObjectGroupBase(json);
    },
    parseDiagnosticsNodeDaemon$body$ObjectGroupBase(json) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$parseDiagnosticsNodeDaemon$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.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = type$.nullable_Map_of_String_and_nullable_Object;
              $async$goto = 3;
              return A._asyncAwait(json, $async$parseDiagnosticsNodeDaemon$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodeHelper$1($async$temp1._as($async$result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$parseDiagnosticsNodeDaemon$1, $async$completer);
    },
    parseDiagnosticsNodeObservatory$1(instanceRefFuture) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$parseDiagnosticsNodeObservatory$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$temp1 = type$.nullable_Map_of_String_and_nullable_Object;
              $async$goto = 4;
              return A._asyncAwait(instanceRefFuture, $async$parseDiagnosticsNodeObservatory$1);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self.instanceRefToJson$1($async$result), $async$parseDiagnosticsNodeObservatory$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodeHelper$1($async$temp1._as($async$result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$parseDiagnosticsNodeObservatory$1, $async$completer);
    },
    parseDiagnosticsNodeHelper$1(jsonElement) {
      if (this.disposed)
        return null;
      if (jsonElement == null)
        return null;
      return new A.RemoteDiagnosticsNode(null, this, jsonElement, false);
    },
    parseDiagnosticsNodesObservatory$3(instanceRefFuture, $parent, isProperty) {
      return this.parseDiagnosticsNodesObservatory$body$ObjectGroupBase(instanceRefFuture, $parent, isProperty);
    },
    parseDiagnosticsNodesObservatory$body$ObjectGroupBase(instanceRefFuture, $parent, isProperty) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, instanceRef, $async$temp1;
      var $async$parseDiagnosticsNodesObservatory$3 = 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.disposed || instanceRefFuture == null) {
                $async$returnValue = A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(instanceRefFuture, $async$parseDiagnosticsNodesObservatory$3);
            case 3:
              // returning from await.
              instanceRef = $async$result;
              if ($async$self.disposed || false) {
                $async$returnValue = A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = type$.nullable_List_Object;
              $async$goto = 4;
              return A._asyncAwait($async$self.instanceRefToJson$1(instanceRef), $async$parseDiagnosticsNodesObservatory$3);
            case 4:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodesHelper$3($async$temp1._as($async$result), $parent, isProperty);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$parseDiagnosticsNodesObservatory$3, $async$completer);
    },
    parseDiagnosticsNodesHelper$3(jsonObject, $parent, isProperty) {
      var nodes, t1, t2, t3;
      if (this.disposed || jsonObject == null)
        return B.List_empty19;
      nodes = A._setArrayType([], type$.JSArray_RemoteDiagnosticsNode);
      for (t1 = J.cast$1$0$ax(jsonObject, type$.Map_of_String_and_nullable_Object), t2 = A._instanceType(t1), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        nodes.push(new A.RemoteDiagnosticsNode($parent, this, t3 == null ? t2._as(t3) : t3, isProperty));
      }
      return nodes;
    },
    parseDiagnosticsNodesDaemon$3(jsonFuture, $parent, isProperty) {
      return this.parseDiagnosticsNodesDaemon$body$ObjectGroupBase(jsonFuture, $parent, isProperty);
    },
    parseDiagnosticsNodesDaemon$body$ObjectGroupBase(jsonFuture, $parent, isProperty) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$parseDiagnosticsNodesDaemon$3 = 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.disposed || jsonFuture == null) {
                $async$returnValue = B.List_empty19;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = type$.nullable_List_nullable_Object;
              $async$goto = 3;
              return A._asyncAwait(jsonFuture, $async$parseDiagnosticsNodesDaemon$3);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodesHelper$3($async$temp1._as($async$result), $parent, isProperty);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$parseDiagnosticsNodesDaemon$3, $async$completer);
    },
    instanceRefToJson$1(instanceRef) {
      return this.instanceRefToJson$body$ObjectGroupBase(instanceRef);
    },
    instanceRefToJson$body$ObjectGroupBase(instanceRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Object),
        $async$returnValue, $async$self = this, instance, json;
      var $async$instanceRefToJson$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.disposed || instanceRef == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self.inspectorService.inspectorLibrary.getInstance$2(instanceRef, $async$self), $async$instanceRefToJson$1);
            case 3:
              // returning from await.
              instance = $async$result;
              if ($async$self.disposed || instance == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              json = instance.get$valueAsString(instance);
              if (json == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = B.C_JsonCodec.decode$2$reviver(0, json, null);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$instanceRefToJson$1, $async$completer);
    },
    toObservatoryInstanceRef$1(inspectorInstanceRef) {
      return this.toObservatoryInstanceRef$body$ObjectGroupBase(inspectorInstanceRef);
    },
    toObservatoryInstanceRef$body$ObjectGroupBase(inspectorInstanceRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_InstanceRef),
        $async$returnValue, $async$self = this;
      var $async$toObservatoryInstanceRef$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 (inspectorInstanceRef.id == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self.invokeServiceMethodObservatoryInspectorRef$2("toObject", inspectorInstanceRef), $async$toObservatoryInstanceRef$1);
            case 3:
              // 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$toObservatoryInstanceRef$1, $async$completer);
    },
    getListHelper$4(instanceRef, methodName, $parent, isProperty) {
      return this.getListHelper$body$ObjectGroupBase(instanceRef, methodName, $parent, isProperty);
    },
    getListHelper$body$ObjectGroupBase(instanceRef, methodName, $parent, isProperty) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$getListHelper$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
              if ($async$self.disposed) {
                $async$returnValue = B.List_empty19;
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self.inspectorService.get$useDaemonApi()) {
                $async$returnValue = $async$self.parseDiagnosticsNodesDaemon$3($async$self.invokeServiceMethodDaemonInspectorRef$2(methodName, instanceRef), $parent, isProperty);
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = $async$self.parseDiagnosticsNodesObservatory$3($async$self.invokeServiceMethodObservatoryInspectorRef$2(methodName, instanceRef), $parent, isProperty);
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getListHelper$4, $async$completer);
    },
    evalOnRef$2(expression, ref) {
      return this.evalOnRef$body$ObjectGroupBase(expression, ref);
    },
    evalOnRef$body$ObjectGroupBase(expression, ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_InstanceRef),
        $async$returnValue, $async$self = this, instanceRef, t2, t1, inspectorRef;
      var $async$evalOnRef$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 = ref.diagnostic;
              inspectorRef = t1 == null ? null : new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t1.json, "valueId")));
              $async$goto = inspectorRef != null && inspectorRef.id != null ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $async$self.inspectorService;
              $async$goto = 5;
              return A._asyncAwait(t1.inspectorLibrary.eval$2$isAlive("((object) => " + expression + ")(" + t1.clientInspectorName + ".instance.toObject('" + A.S(inspectorRef.id) + "'))", $async$self), $async$evalOnRef$2);
            case 5:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              instanceRef = ref.value;
              instanceRef = type$.InstanceRef._is(instanceRef) ? instanceRef : null;
              t1 = instanceRef.get$id(instanceRef);
              t1.toString;
              t2 = type$.String;
              $async$goto = 6;
              return A._asyncAwait($async$self.inspectorService.inspectorLibrary.eval$3$isAlive$scope(expression, $async$self, A.LinkedHashMap_LinkedHashMap$_literal(["object", t1], t2, t2)), $async$evalOnRef$2);
            case 6:
              // 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$evalOnRef$2, $async$completer);
    },
    isInspectable$1(ref) {
      return this.isInspectable$body$ObjectGroupBase(ref);
    },
    isInspectable$body$ObjectGroupBase(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, t1, exception, $async$exception;
      var $async$isInspectable$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
              if ($async$self.disposed) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait($async$self.evalOnRef$2("object is Element || object is RenderObject", ref), $async$isInspectable$1);
            case 7:
              // returning from await.
              result = $async$result;
              if ($async$self.disposed) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = result;
              t1 = t1 == null ? null : J.get$valueAsString$x(t1);
              $async$returnValue = "true" === t1;
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              $async$returnValue = false;
              // 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
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$isInspectable$1, $async$completer);
    },
    get$disposed() {
      return this.disposed;
    }
  };
  A.ObjectGroupBase__callServiceExtension_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t2, t3, t4, r, 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.extension;
              t3 = $async$self.$this;
              t4 = t3.inspectorService.inspectorLibrary._isolateRef;
              $async$goto = 3;
              return A._asyncAwait(t1.callServiceExtension$3$args$isolateId(t2, $async$self.args, t4.get$id(t4)), $async$call$0);
            case 3:
              // returning from await.
              r = $async$result;
              if (t3.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = r.json;
              t1.toString;
              t3 = J.getInterceptor$asx(t1);
              if (t3.$index(t1, "errorMessage") != null)
                throw A.wrapException(A.Exception_Exception(t2 + " -- " + A.S(t3.$index(t1, "errorMessage"))));
              $async$returnValue = t3.$index(t1, "result");
              // 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: 33
  };
  A.ObjectGroup.prototype = {
    invokeServiceExtensionMethod$2(extension, parameters) {
      return this.invokeServiceExtensionMethod$body$ObjectGroup(extension, parameters);
    },
    invokeServiceExtensionMethod$body$ObjectGroup(extension, parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Object),
        $async$returnValue, $async$self = this, $name, t1, fullName, t2;
      var $async$invokeServiceExtensionMethod$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
              $name = extension.name;
              t1 = $async$self.inspectorService.serviceExtensionPrefix;
              fullName = t1 + "." + $name;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = !t2.isServiceExtensionAvailable$1(fullName) ? 3 : 4;
              break;
            case 3:
              // then
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t2.waitForServiceExtensionAvailable$1(t1 + ".isWidgetCreationTracked"), $async$invokeServiceExtensionMethod$2);
            case 5:
              // returning from await.
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = !t1.isServiceExtensionAvailable$1(fullName) ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait(A.invokeInspectorPolyfill($async$self), $async$invokeServiceExtensionMethod$2);
            case 8:
              // returning from await.
            case 7:
              // join
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              $async$returnValue = $async$self.invokeServiceMethodDaemonParams$2($name, parameters);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeServiceExtensionMethod$2, $async$completer);
    },
    getRoot$1(type) {
      var _this = this;
      switch (type.index) {
        case 0:
          return _this.parseDiagnosticsNodeDaemon$1(_this.invokeServiceExtensionMethod$2(B.RegistrableServiceExtension_kUZ, A.LinkedHashMap_LinkedHashMap$_literal(["groupName", _this.groupName], type$.String, type$.nullable_String)));
        case 1:
          return _this.invokeServiceMethodReturningNode$1("getRootRenderObject");
      }
    },
    getSelection$3$isSummaryTree(_, previousSelection, treeType, isSummaryTree) {
      return this.getSelection$body$ObjectGroup(0, previousSelection, treeType, isSummaryTree);
    },
    getSelection$body$ObjectGroup(_, previousSelection, treeType, isSummaryTree) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, previousSelectionRef, newSelection;
      var $async$getSelection$3$isSummaryTree = 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.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              previousSelectionRef = previousSelection != null ? new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(previousSelection.json, "objectId"))) : null;
            case 3:
              // switch
              switch (treeType.index) {
                case 0:
                  // goto case
                  $async$goto = 5;
                  break;
                case 1:
                  // goto case
                  $async$goto = 6;
                  break;
                default:
                  // goto default
                  $async$goto = 7;
                  break;
              }
              break;
            case 5:
              // case
              $async$goto = 8;
              return A._asyncAwait($async$self.invokeServiceMethodReturningNodeInspectorRef$2(isSummaryTree ? "getSelectedSummaryWidget" : "getSelectedWidget", previousSelectionRef), $async$getSelection$3$isSummaryTree);
            case 8:
              // returning from await.
              newSelection = $async$result;
              // goto after switch
              $async$goto = 4;
              break;
            case 6:
              // case
              $async$goto = 9;
              return A._asyncAwait($async$self.invokeServiceMethodReturningNodeInspectorRef$2("getSelectedRenderObject", previousSelectionRef), $async$getSelection$3$isSummaryTree);
            case 9:
              // returning from await.
              newSelection = $async$result;
              // goto after switch
              $async$goto = 4;
              break;
            case 7:
              // default
              newSelection = null;
            case 4:
              // after switch
              if ($async$self.disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (newSelection != null && new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(newSelection.json, "objectId"))).$eq(0, previousSelectionRef)) {
                $async$returnValue = previousSelection;
                // goto return
                $async$goto = 1;
                break;
              } else {
                $async$returnValue = newSelection;
                // goto return
                $async$goto = 1;
                break;
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getSelection$3$isSummaryTree, $async$completer);
    },
    setSelectionInspector$2(selection, uiAlreadyUpdated) {
      var _this = this,
        _s16_ = "setSelectionById";
      if (_this.disposed)
        return A.Future_Future$value(false, type$.bool);
      if (uiAlreadyUpdated)
        _this.inspectorService._trackClientSelfTriggeredSelection$1(selection);
      if (_this.inspectorService.get$useDaemonApi())
        return _this.handleSetSelectionDaemon$2(_this.invokeServiceMethodDaemonInspectorRef$2(_s16_, selection), uiAlreadyUpdated);
      else
        return _this.handleSetSelectionObservatory$2(_this.invokeServiceMethodObservatoryInspectorRef$2(_s16_, selection), uiAlreadyUpdated);
    },
    setSelection$1(selection) {
      return this.setSelection$body$ObjectGroup(selection);
    },
    setSelection$body$ObjectGroup(selection) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$setSelection$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.disposed) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self.handleSetSelectionObservatory$2($async$self.evalOnRef$2($async$self.inspectorService.clientInspectorName + ".instance.setSelection(object, '" + $async$self.groupName + "')", selection), false);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$setSelection$1, $async$completer);
    },
    handleSetSelectionObservatory$2(setSelectionResult, uiAlreadyUpdated) {
      return this.handleSetSelectionObservatory$body$ObjectGroup(setSelectionResult, uiAlreadyUpdated);
    },
    handleSetSelectionObservatory$body$ObjectGroup(setSelectionResult, uiAlreadyUpdated) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, instanceRef;
      var $async$handleSetSelectionObservatory$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 ($async$self.disposed) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(setSelectionResult, $async$handleSetSelectionObservatory$2);
            case 3:
              // returning from await.
              instanceRef = $async$result;
              if ($async$self.disposed) {
                $async$returnValue = true;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self.handleSetSelectionHelper$2("true" === (instanceRef == null ? null : instanceRef.get$valueAsString(instanceRef)), uiAlreadyUpdated);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleSetSelectionObservatory$2, $async$completer);
    },
    handleSetSelectionHelper$2(selectionChanged, uiAlreadyUpdated) {
      if (selectionChanged && !uiAlreadyUpdated && !this.disposed)
        this.inspectorService.notifySelectionChanged$0();
      return selectionChanged && !this.disposed;
    },
    handleSetSelectionDaemon$2(setSelectionResult, uiAlreadyUpdated) {
      return this.handleSetSelectionDaemon$body$ObjectGroup(setSelectionResult, uiAlreadyUpdated);
    },
    handleSetSelectionDaemon$body$ObjectGroup(setSelectionResult, uiAlreadyUpdated) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, isSelectionChanged;
      var $async$handleSetSelectionDaemon$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 ($async$self.disposed) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(setSelectionResult, $async$handleSetSelectionDaemon$2);
            case 3:
              // returning from await.
              isSelectionChanged = $async$result;
              if ($async$self.disposed) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self.handleSetSelectionHelper$2(A._asBool(isSelectionChanged), uiAlreadyUpdated);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleSetSelectionDaemon$2, $async$completer);
    },
    getDetailsSubtree$2$subtreeDepth(node, subtreeDepth) {
      return this.getDetailsSubtree$body$ObjectGroup(node, subtreeDepth);
    },
    getDetailsSubtree$body$ObjectGroup(node, subtreeDepth) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$getDetailsSubtree$2$subtreeDepth = 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 (node == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = type$.nullable_Map_of_String_and_nullable_Object;
              $async$goto = 3;
              return A._asyncAwait($async$self.invokeServiceMethodDaemonParams$2("getDetailsSubtree", A.LinkedHashMap_LinkedHashMap$_literal(["objectGroup", $async$self.groupName, "arg", A._asStringQ(J.$index$asx(node.json, "objectId")), "subtreeDepth", B.JSInt_methods.toString$0(subtreeDepth)], type$.String, type$.nullable_String)), $async$getDetailsSubtree$2$subtreeDepth);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.parseDiagnosticsNodeHelper$1($async$temp1._as($async$result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getDetailsSubtree$2$subtreeDepth, $async$completer);
    },
    invokeSetFlexProperties$3(ref, mainAxisAlignment, crossAxisAlignment) {
      return this.invokeSetFlexProperties$body$ObjectGroup(ref, mainAxisAlignment, crossAxisAlignment);
    },
    invokeSetFlexProperties$body$ObjectGroup(ref, mainAxisAlignment, crossAxisAlignment) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$invokeSetFlexProperties$3 = 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.invokeServiceExtensionMethod$2(B.RegistrableServiceExtension_setFlexProperties, A.LinkedHashMap_LinkedHashMap$_literal(["id", ref.id, "mainAxisAlignment", A.S(mainAxisAlignment), "crossAxisAlignment", A.S(crossAxisAlignment)], type$.String, type$.nullable_String)), $async$invokeSetFlexProperties$3);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeSetFlexProperties$3, $async$completer);
    },
    invokeSetFlexFactor$2(ref, flexFactor) {
      return this.invokeSetFlexFactor$body$ObjectGroup(ref, flexFactor);
    },
    invokeSetFlexFactor$body$ObjectGroup(ref, flexFactor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$invokeSetFlexFactor$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.invokeServiceExtensionMethod$2(B.RegistrableServiceExtension_setFlexFactor, A.LinkedHashMap_LinkedHashMap$_literal(["id", ref.id, "flexFactor", A.S(flexFactor)], type$.String, type$.nullable_String)), $async$invokeSetFlexFactor$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeSetFlexFactor$2, $async$completer);
    },
    invokeSetFlexFit$2(ref, flexFit) {
      return this.invokeSetFlexFit$body$ObjectGroup(ref, flexFit);
    },
    invokeSetFlexFit$body$ObjectGroup(ref, flexFit) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$invokeSetFlexFit$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.invokeServiceExtensionMethod$2(B.RegistrableServiceExtension_setFlexFit, A.LinkedHashMap_LinkedHashMap$_literal(["id", ref.id, "flexFit", flexFit.toString$0(0)], type$.String, type$.nullable_String)), $async$invokeSetFlexFit$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeSetFlexFit$2, $async$completer);
    },
    getLayoutExplorerNode$1(node) {
      return this.getLayoutExplorerNode$body$ObjectGroup(node);
    },
    getLayoutExplorerNode$body$ObjectGroup(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RemoteDiagnosticsNode),
        $async$returnValue, $async$self = this;
      var $async$getLayoutExplorerNode$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 (node == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self.parseDiagnosticsNodeDaemon$1($async$self.invokeServiceExtensionMethod$2(B.RegistrableServiceExtension_getLayoutExplorerNode, A.LinkedHashMap_LinkedHashMap$_literal(["groupName", $async$self.groupName, "id", A._asStringQ(J.$index$asx(node.json, "objectId")), "subtreeDepth", "1"], type$.String, type$.nullable_String)));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getLayoutExplorerNode$1, $async$completer);
    }
  };
  A.FlutterTreeType.prototype = {
    toString$0(_) {
      return "FlutterTreeType." + this._core$_name;
    }
  };
  A.InspectorInstanceRef.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (other instanceof A.InspectorInstanceRef)
        return this.id == other.id;
      return false;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    toString$0(_) {
      return A.S(this.id);
    }
  };
  A.InspectorObjectGroupManager.prototype = {
    get$pendingUpdateDone() {
      var t1 = this._pendingNext;
      if (t1 != null)
        return t1.future;
      if (this._inspector_service$_next == null)
        return A.Future_Future$value(null, type$.void);
      t1 = new A._Future($.Zone__current, type$._Future_void);
      this._pendingNext = new A._AsyncCompleter(t1, type$._AsyncCompleter_void);
      return t1;
    },
    get$next(_) {
      var _this = this,
        t1 = _this._inspector_service$_next;
      return t1 == null ? _this._inspector_service$_next = A.ObjectGroup$(_this.debugName, _this.inspectorService) : t1;
    },
    clear$1(_, isolateStopped) {
      var _this = this;
      if (isolateStopped) {
        _this._inspector_service$_current = null;
        _this._setNextNull$0();
      } else {
        _this.clearCurrent$0();
        _this.cancelNext$0();
      }
    },
    promoteNext$0() {
      var _this = this;
      _this.clearCurrent$0();
      _this._inspector_service$_current = _this._inspector_service$_next;
      _this._setNextNull$0();
    },
    clearCurrent$0() {
      var t1 = this._inspector_service$_current;
      if (t1 != null) {
        t1.dispose$0();
        this._inspector_service$_current = null;
      }
    },
    cancelNext$0() {
      var t1 = this._inspector_service$_next;
      if (t1 != null) {
        t1.dispose$0();
        this._setNextNull$0();
      }
    },
    _setNextNull$0() {
      this._inspector_service$_next = null;
      var t1 = this._pendingNext;
      if (t1 != null) {
        t1.complete$1(0, null);
        this._pendingNext = null;
      }
    }
  };
  A._InspectorServiceBase_DisposableController_AutoDisposeControllerMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeControllerMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$DisposableController$dispose();
    }
  };
  A.InspectorTreeNode.prototype = {
    set$isDirty(dirty) {
      var t1, _this = this;
      if (dirty) {
        _this._inspector_tree$_isDirty = true;
        _this._shouldShow = null;
        if (_this._childrenCount == null)
          return;
        _this._childrenCount = null;
        t1 = _this._inspector_tree$_parent;
        if (t1 != null)
          t1.set$isDirty(true);
      } else
        _this._inspector_tree$_isDirty = false;
    },
    updateShouldShow$1(value) {
      var t1, t2, _i;
      if (value !== this._shouldShow) {
        this._shouldShow = value;
        for (t1 = this._inspector_tree$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].updateShouldShow$1(value);
      }
    },
    get$showExpandCollapse() {
      var t1 = this._diagnostic;
      return ((t1 == null ? null : t1.get$hasChildren()) === true || this._inspector_tree$_children.length !== 0) && true;
    },
    set$isExpanded(value) {
      var t1, t2, _i, _this = this;
      if (value !== _this._inspector_tree$_isExpanded) {
        _this._inspector_tree$_isExpanded = value;
        _this.set$isDirty(true);
        t1 = _this._shouldShow;
        if (t1 === true)
          for (t1 = _this._inspector_tree$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
            t1[_i].updateShouldShow$1(value);
      }
    },
    set$parent(_, value) {
      this._inspector_tree$_parent = value;
      if (value != null)
        value.set$isDirty(true);
    },
    get$childrenCount() {
      var childrenCountLocal, t1, t2, count, _i, _this = this;
      if (!_this._inspector_tree$_isExpanded)
        _this._childrenCount = 0;
      childrenCountLocal = _this._childrenCount;
      if (childrenCountLocal != null)
        return childrenCountLocal;
      for (t1 = _this._inspector_tree$_children, t2 = t1.length, count = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        count += t1[_i].get$childrenCount() + 1;
      return _this._childrenCount = count;
    },
    get$hasPlaceholderChildren() {
      var t1 = this._inspector_tree$_children;
      return t1.length === 1 && B.JSArray_methods.get$first(t1)._diagnostic == null;
    },
    getRowIndex$1(node) {
      var index, $parent, t1, t2, _i, sibling;
      for (index = 0; true; node = $parent) {
        $parent = node._inspector_tree$_parent;
        if ($parent == null)
          break;
        for (t1 = $parent._inspector_tree$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          sibling = t1[_i];
          if (sibling === node)
            break;
          index += sibling.get$childrenCount() + 1;
        }
        ++index;
      }
      return index;
    },
    getRow$1(index) {
      var ticks, node, current, depth, t1, style, value, indented, diagnosticLocal, children, i, child, current0;
      if (this.get$childrenCount() + 1 <= index)
        return null;
      ticks = A._setArrayType([], type$.JSArray_int);
      for (node = this, current = 0, depth = 0; true;) {
        t1 = node._diagnostic;
        if (t1 == null)
          style = null;
        else {
          value = t1.__RemoteDiagnosticsNode_style;
          if (value === $) {
            value = t1.getStyleMember$2("style", B.DiagnosticsTreeStyle_1);
            t1.__RemoteDiagnosticsNode_style = value;
          }
          style = value;
        }
        indented = style !== B.DiagnosticsTreeStyle_7 && style !== B.DiagnosticsTreeStyle_5;
        if (current === index) {
          diagnosticLocal = node._diagnostic;
          if (!(diagnosticLocal == null || diagnosticLocal.isProperty))
            if (index !== 0) {
              t1 = node._inspector_tree$_parent._inspector_tree$_children;
              if (t1.length > 1) {
                diagnosticLocal = B.JSArray_methods.get$last(t1)._diagnostic;
                t1 = !(diagnosticLocal == null || diagnosticLocal.isProperty);
              } else
                t1 = false;
            } else
              t1 = false;
          else
            t1 = false;
          return new A.InspectorTreeRow(node, ticks, depth, index, t1, false, false);
        }
        ++current;
        children = node._inspector_tree$_children;
        for (i = 0; i < children.length; ++i, current = current0) {
          child = children[i];
          current0 = current + (child.get$childrenCount() + 1);
          if (current0 > index) {
            t1 = children.length;
            if (t1 > 1)
              if (i + 1 !== t1) {
                diagnosticLocal = B.JSArray_methods.get$last(children)._diagnostic;
                t1 = !(diagnosticLocal == null || diagnosticLocal.isProperty);
              } else
                t1 = false;
            else
              t1 = false;
            if (t1)
              if (indented)
                ticks.push(depth);
            node = child;
            break;
          }
        }
        if (indented)
          ++depth;
      }
    },
    appendChild$1(_, child) {
      this._inspector_tree$_children.push(child);
      child.set$parent(0, this);
      this.set$isDirty(true);
    }
  };
  A.InspectorTreeRow.prototype = {};
  A.InspectorTreeConfig.prototype = {};
  A.SearchTargetType.prototype = {
    toString$0(_) {
      return "SearchTargetType." + this._core$_name;
    }
  };
  A._InspectorTreeRow_Object_DataSearchStateMixin.prototype = {};
  A._InspectorTreeRowWidget.prototype = {
    createState$0() {
      return new A._InspectorTreeRowState($, $, $, null, null, B._StateLifecycle_0);
    }
  };
  A._InspectorTreeRowState.prototype = {
    build$1(context) {
      var t2, t3, t4, t5, t6, t7, t8,
        t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
      t1 = B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = this._widget;
      t3 = t2.row;
      t4 = t2.error;
      t5 = this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = t2.inspectorTreeState._widget.controller;
      t7 = t2.scrollControllerX;
      t8 = t2.viewportWidth;
      return A.SizedBox$(new A.InspectorRowContent(t3, t6, t2.debuggerController, new A._InspectorTreeRowState_build_closure(this), t5, t7, t8, t4, null), t1, null);
    },
    onExpandChanged$1(expanded) {
      this.setState$1(new A._InspectorTreeRowState_onExpandChanged_closure(this, expanded));
    }
  };
  A._InspectorTreeRowState_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setExpanded$1(!t1._widget.row.node._inspector_tree$_isExpanded);
    },
    $signature: 0
  };
  A._InspectorTreeRowState_onExpandChanged_closure.prototype = {
    call$0() {
      var t1 = this.$this._widget,
        row = t1.row;
      t1 = t1.inspectorTreeState._widget;
      if (this.expanded)
        t1.controller.onExpandRow$1(row);
      else
        t1.controller.onCollapseRow$1(row);
    },
    $signature: 0
  };
  A.InspectorTreeController.prototype = {
    removeClient$1(value) {
      var t1 = this._clients;
      t1.remove$1(0, value);
      if (t1._collection$_length === 0) {
        t1 = this.__InspectorTreeController_config;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.onClientActiveChange.call$1(false);
      }
    },
    setState$1(fn) {
      var t1, t2, t3;
      fn.call$0();
      for (t1 = this._clients, 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).onChanged$0();
      }
    },
    requestFocus$0() {
      var t1, t2, t3;
      for (t1 = this._clients, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        t3 = (t3 == null ? t2._as(t3) : t3).___InspectorTreeState__focusNode;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.requestFocus$0();
      }
    },
    set$root(_, node) {
      this.setState$1(new A.InspectorTreeController_root_closure(this, node));
    },
    set$selection(node) {
      if (node == this._inspector_tree_controller$_selection)
        return;
      this.setState$1(new A.InspectorTreeController_selection_closure(this, node));
    },
    _populateSearchableCachedRows$0() {
      var i, t2,
        t1 = this._searchableCachedRows;
      B.JSArray_methods.clear$0(t1);
      i = 0;
      while (true) {
        t2 = this._inspector_tree_controller$_root;
        t2 = t2 == null ? null : t2.get$childrenCount() + 1;
        if (!(i < (t2 == null ? 0 : t2)))
          break;
        t1.push(this.getCachedRow$1(i));
        ++i;
      }
    },
    getCachedRow$1(index) {
      var rootLocal, t1, t2, t3, _this = this, _null = null;
      if (index < 0)
        return _null;
      rootLocal = _this._inspector_tree_controller$_root;
      if (rootLocal != null && rootLocal._inspector_tree$_isDirty) {
        B.JSArray_methods.clear$0(_this.cachedRows);
        _this._cachedSelectedRow = null;
        rootLocal.set$isDirty(false);
        _this.lastContentWidth = null;
      }
      for (t1 = _this.cachedRows; t1.length <= index;)
        t1.push(_null);
      t2 = t1[index];
      if (t2 == null) {
        t2 = _this._inspector_tree_controller$_root;
        t2 = t2 == null ? _null : t2.getRow$1(index);
        t1[index] = t2;
        t1 = t2;
      } else
        t1 = t2;
      t2 = t1 == null;
      if (!t2) {
        t3 = A.SafeAccessList_safeGet(_this._searchableCachedRows, index);
        t3 = t3 == null ? _null : t3.DataSearchStateMixin_isSearchMatch;
        t1.DataSearchStateMixin_isSearchMatch = t3 === true;
      }
      if ((t2 ? _null : t1.node.selected) === true)
        _this._cachedSelectedRow = t1;
      return t1;
    },
    getPathFromSelectedRowToRoot$0() {
      var pathToRoot, nextParentNode,
        t1 = this._cachedSelectedRow,
        selectedItem = t1 == null ? null : t1.node;
      if (selectedItem == null)
        return A._setArrayType([], type$.JSArray_InspectorTreeNode);
      pathToRoot = A._setArrayType([selectedItem], type$.JSArray_InspectorTreeNode);
      nextParentNode = selectedItem._inspector_tree$_parent;
      for (; nextParentNode != null;) {
        pathToRoot.push(nextParentNode);
        nextParentNode = nextParentNode._inspector_tree$_parent;
      }
      t1 = type$.ReversedListIterable_InspectorTreeNode;
      return A.List_List$of(new A.ReversedListIterable(pathToRoot, t1), true, t1._eval$1("ListIterable.E"));
    },
    set$hover(node) {
      if (node == this._hover)
        return;
      this.setState$1(new A.InspectorTreeController_hover_closure(this, node));
    },
    navigateLeft$0() {
      var t1, _this = this,
        selectionLocal = _this._inspector_tree_controller$_selection;
      if (selectionLocal == null) {
        _this._navigateHelper$1(-1);
        return;
      }
      if (selectionLocal._inspector_tree$_isExpanded) {
        _this.setState$1(new A.InspectorTreeController_navigateLeft_closure(selectionLocal));
        return;
      }
      t1 = selectionLocal._inspector_tree$_parent;
      if (t1 != null)
        _this.set$selection(t1);
    },
    navigateRight$0() {
      var selectionLocal = this._inspector_tree_controller$_selection;
      if (selectionLocal == null || selectionLocal._inspector_tree$_isExpanded) {
        this._navigateHelper$1(1);
        return;
      }
      this.setState$1(new A.InspectorTreeController_navigateRight_closure(selectionLocal));
    },
    _navigateHelper$1(indexOffset) {
      var t1, rootLocal, _this = this;
      if (_this.get$numRows() === 0)
        return;
      t1 = _this._inspector_tree_controller$_selection;
      if (t1 == null) {
        _this.set$selection(_this._inspector_tree_controller$_root);
        return;
      }
      rootLocal = _this._inspector_tree_controller$_root;
      t1 = rootLocal.getRow$1(B.JSInt_methods.clamp$2(rootLocal.getRowIndex$1(t1) + indexOffset, 0, _this.get$numRows() - 1));
      _this.set$selection(t1 == null ? null : t1.node);
    },
    getDepthIndent$1(depth) {
      var t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
      return (depth + 1) * B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 10;
    },
    nodeChanged$1(node) {
      this.setState$1(new A.InspectorTreeController_nodeChanged_closure(node));
    },
    removeNodeFromParent$1(node) {
      this.setState$1(new A.InspectorTreeController_removeNodeFromParent_closure(node));
    },
    appendChild$2(_, node, child) {
      this.setState$1(new A.InspectorTreeController_appendChild_closure(node, child));
    },
    expandPath$1(node) {
      this.setState$1(new A.InspectorTreeController_expandPath_closure(this, node));
    },
    _expandPath$1(node) {
      for (; node != null;) {
        if (!node._inspector_tree$_isExpanded)
          node.set$isExpanded(true);
        node = node._inspector_tree$_parent;
      }
    },
    collapseToSelected$0() {
      this.setState$1(new A.InspectorTreeController_collapseToSelected_closure(this));
    },
    _collapseAllNodes$1(root) {
      root.set$isExpanded(false);
      B.JSArray_methods.forEach$1(root._inspector_tree$_children, this.get$_collapseAllNodes());
    },
    get$numRows() {
      var t1 = this._inspector_tree_controller$_root;
      t1 = t1 == null ? null : t1.get$childrenCount() + 1;
      return t1 == null ? 0 : t1;
    },
    getRowForNode$1(node) {
      var rootLocal = this._inspector_tree_controller$_root;
      if (rootLocal == null)
        return null;
      return this.getCachedRow$1(rootLocal.getRowIndex$1(node));
    },
    onExpandRow$1(row) {
      this.setState$1(new A.InspectorTreeController_onExpandRow_closure(this, row));
    },
    onCollapseRow$1(row) {
      this.setState$1(new A.InspectorTreeController_onCollapseRow_closure(row));
    },
    onSelectNode$1(node) {
      this.set$selection(node);
      A.select("inspector", "treeNodeSelection", false, null);
      this.expandPath$1(node);
    },
    scrollToRect$1(targetRect) {
      var t1, t2, t3;
      for (t1 = this._clients, 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).scrollToRect$1(targetRect);
      }
    },
    get$maxRowIndent() {
      var maxIndent, i, t1, row, t2, _this = this;
      if (_this.lastContentWidth == null) {
        maxIndent = 0;
        i = 0;
        while (true) {
          t1 = _this._inspector_tree_controller$_root;
          t1 = t1 == null ? null : t1.get$childrenCount() + 1;
          if (!(i < (t1 == null ? 0 : t1)))
            break;
          row = _this.getCachedRow$1(i);
          if (row != null) {
            t1 = row.depth;
            t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
            maxIndent = Math.max(maxIndent, (t1 + 1) * B.JSNumber_methods.roundToDouble$0(t2 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 10);
          }
          ++i;
        }
        _this.lastContentWidth = maxIndent + maxIndent;
        _this._maxIndent = maxIndent;
      }
      t1 = _this._maxIndent;
      t1.toString;
      return t1;
    },
    animateToTargets$1(targets) {
      var t1, targetRect, _i, row, t2, t3, t4, rowRect;
      for (t1 = targets.length, targetRect = null, _i = 0; _i < targets.length; targets.length === t1 || (0, A.throwConcurrentModificationError)(targets), ++_i) {
        row = this.getRowForNode$1(targets[_i]);
        if (row != null) {
          t2 = row.depth;
          t3 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
          t3 = (t2 + 1) * B.JSNumber_methods.roundToDouble$0(t3 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 10;
          t2 = row.index;
          t4 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
          t2 = B.JSNumber_methods.roundToDouble$0(t4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * t2 + B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
          t4 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
          rowRect = new A.Rect(t3, t2, t3 + 1200, t2 + B.JSNumber_methods.roundToDouble$0(t4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
          targetRect = targetRect == null ? rowRect : targetRect.expandToInclude$1(rowRect);
        }
      }
      if (targetRect == null || targetRect.get$isEmpty(targetRect))
        return;
      this.scrollToRect$1(targetRect.inflate$1(20));
    },
    expandPropertiesByDefault$1(style) {
      switch (style.index) {
        case 0:
        case 8:
        case 9:
          return false;
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
        case 10:
        case 11:
          return true;
      }
    },
    setupInspectorTreeNode$4$expandChildren$expandProperties(node, diagnosticsNode, expandChildren, expandProperties) {
      var t1, styleIsMultiline, t2;
      node._diagnostic = diagnosticsNode;
      node._inspector_tree$_isExpanded = diagnosticsNode.get$childrenReady();
      node.set$isDirty(true);
      t1 = this.__InspectorTreeController_config;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.onNodeAdded.call$2(node, diagnosticsNode);
      if (diagnosticsNode.get$hasChildren() || diagnosticsNode.get$inlineProperties().length !== 0)
        if (diagnosticsNode.get$childrenReady() || !diagnosticsNode.get$hasChildren()) {
          styleIsMultiline = this.expandPropertiesByDefault$1(diagnosticsNode.get$style(diagnosticsNode));
          t1 = node._diagnostic.get$childrenNow();
          t2 = expandChildren && styleIsMultiline;
          this.setupChildren$5$expandChildren$expandProperties(diagnosticsNode, node, t1, t2, expandProperties && styleIsMultiline);
        } else {
          B.JSArray_methods.clear$0(node._inspector_tree$_children);
          node.set$isDirty(true);
          node.appendChild$1(0, new A.InspectorTreeNode(A._setArrayType([], type$.JSArray_InspectorTreeNode)));
        }
      return node;
    },
    setupChildren$5$expandChildren$expandProperties($parent, treeNode, children, expandChildren, expandProperties) {
      var t1, inlineProperties, t2, _i, property, t3, _this = this;
      treeNode.set$isExpanded(expandChildren);
      t1 = treeNode._inspector_tree$_children;
      if (t1.length !== 0)
        _this.removeNodeFromParent$1(B.JSArray_methods.get$first(t1));
      inlineProperties = $parent.get$inlineProperties();
      for (t1 = inlineProperties.length, t2 = type$.JSArray_InspectorTreeNode, _i = 0; _i < inlineProperties.length; inlineProperties.length === t1 || (0, A.throwConcurrentModificationError)(inlineProperties), ++_i) {
        property = inlineProperties[_i];
        _this.appendChild$2(0, treeNode, _this.setupInspectorTreeNode$4$expandChildren$expandProperties(new A.InspectorTreeNode(A._setArrayType([], t2)), property, expandProperties, expandProperties));
      }
      if (children != null)
        for (t1 = J.get$iterator$ax(children); t1.moveNext$0();) {
          t3 = t1.get$current(t1);
          _this.appendChild$2(0, treeNode, _this.setupInspectorTreeNode$4$expandChildren$expandProperties(new A.InspectorTreeNode(A._setArrayType([], t2)), t3, expandChildren, expandProperties));
        }
    },
    maybePopulateChildren$1(treeNode) {
      return this.maybePopulateChildren$body$InspectorTreeController(treeNode);
    },
    maybePopulateChildren$body$InspectorTreeController(treeNode) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, children, e, t1, exception, diagnostic, $async$exception;
      var $async$maybePopulateChildren$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
              diagnostic = treeNode._diagnostic;
              if (diagnostic != null)
                if (diagnostic.get$hasChildren())
                  t1 = treeNode.get$hasPlaceholderChildren() || treeNode._inspector_tree$_children.length === 0;
                else
                  t1 = false;
              else
                t1 = false;
              $async$goto = t1 ? 2 : 3;
              break;
            case 2:
              // then
              $async$handler = 5;
              $async$goto = 8;
              return A._asyncAwait(J.get$children$x(diagnostic), $async$maybePopulateChildren$1);
            case 8:
              // returning from await.
              children = $async$result;
              if (treeNode.get$hasPlaceholderChildren() || treeNode._inspector_tree$_children.length === 0) {
                $async$self.setupChildren$5$expandChildren$expandProperties(diagnostic, treeNode, children, true, false);
                $async$self.nodeChanged$1(treeNode);
                if (treeNode === $async$self._inspector_tree_controller$_selection)
                  $async$self.expandPath$1(treeNode);
              }
              $async$handler = 1;
              // goto after finally
              $async$goto = 7;
              break;
            case 5:
              // catch
              $async$handler = 4;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              A.log(J.toString$0$(e), B.LogLevel_2);
              // goto after finally
              $async$goto = 7;
              break;
            case 4:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 7:
              // after finally
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$maybePopulateChildren$1, $async$completer);
    },
    onMatchChanged$1(index) {
      this.onSelectNode$1(J.$index$asx(this.SearchControllerMixin__searchMatches._change_notifier$_value, index).node);
    },
    get$debounceDelay() {
      return B.Duration_300000;
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      var t1, t2, t3, t4, description, textPreview, inspectorService, _i, row, diagnostic,
        _s11_ = "description",
        _s11_0 = "textPreview",
        _box_0 = {},
        matches = A._setArrayType([], type$.JSArray_InspectorTreeRow);
      if (searchPreviousMatches) {
        for (t1 = J.get$iterator$ax(this.SearchControllerMixin__searchMatches._change_notifier$_value); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          t3 = t2.node._diagnostic.json;
          t4 = J.getInterceptor$asx(t3);
          description = A._asStringQ(t4.$index(t3, _s11_));
          if (description == null)
            description = "";
          textPreview = t4.$index(t3, _s11_0);
          if (typeof textPreview == "string")
            t3 = description + " " + A.stringReplaceAllUnchecked(textPreview, "\n", " ");
          else
            t3 = description;
          if (A.StringExtension_caseInsensitiveContains(t3, search))
            matches.push(t2);
        }
        if (matches.length !== 0)
          return matches;
      }
      _box_0._debugStatsSearchOps = 0;
      inspectorService = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
      if (search.length === 0 || inspectorService == null || inspectorService._inspector_service$_isDisposed)
        return matches;
      for (t1 = this._searchableCachedRows, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        row = t1[_i];
        diagnostic = row.node._diagnostic;
        if (diagnostic == null)
          continue;
        if (this._searchTarget === B.SearchTargetType_0) {
          ++_box_0._debugStatsSearchOps;
          t3 = diagnostic.json;
          t4 = J.getInterceptor$asx(t3);
          description = A._asStringQ(t4.$index(t3, _s11_));
          if (description == null)
            description = "";
          textPreview = t4.$index(t3, _s11_0);
          if (typeof textPreview == "string")
            t3 = description + " " + A.stringReplaceAllUnchecked(textPreview, "\n", " ");
          else
            t3 = description;
          if (A.StringExtension_caseInsensitiveContains(t3, search)) {
            matches.push(row);
            continue;
          }
        }
      }
      return matches;
    }
  };
  A.InspectorTreeController_root_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._inspector_tree_controller$_root = this.node;
      t1._populateSearchableCachedRows$0();
    },
    $signature: 0
  };
  A.InspectorTreeController_selection_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._inspector_tree_controller$_selection;
      if (t2 != null)
        t2.selected = false;
      t2 = t1._inspector_tree_controller$_selection = this.node;
      if (t2 != null)
        t2.selected = true;
      t1 = t1.__InspectorTreeController_config;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.onSelectionChange.call$0();
    },
    $signature: 0
  };
  A.InspectorTreeController_hover_closure.prototype = {
    call$0() {
      this.$this._hover = this.node;
    },
    $signature: 0
  };
  A.InspectorTreeController_navigateLeft_closure.prototype = {
    call$0() {
      this.selectionLocal.set$isExpanded(false);
    },
    $signature: 0
  };
  A.InspectorTreeController_navigateRight_closure.prototype = {
    call$0() {
      this.selectionLocal.set$isExpanded(true);
    },
    $signature: 0
  };
  A.InspectorTreeController_nodeChanged_closure.prototype = {
    call$0() {
      this.node.set$isDirty(true);
    },
    $signature: 0
  };
  A.InspectorTreeController_removeNodeFromParent_closure.prototype = {
    call$0() {
      var t1 = this.node,
        t2 = t1._inspector_tree$_parent;
      if (t2 != null) {
        t1.set$parent(0, null);
        B.JSArray_methods.remove$1(t2._inspector_tree$_children, t1);
        t2.set$isDirty(true);
      }
    },
    $signature: 0
  };
  A.InspectorTreeController_appendChild_closure.prototype = {
    call$0() {
      this.node.appendChild$1(0, this.child);
    },
    $signature: 0
  };
  A.InspectorTreeController_expandPath_closure.prototype = {
    call$0() {
      this.$this._expandPath$1(this.node);
    },
    $signature: 0
  };
  A.InspectorTreeController_collapseToSelected_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._inspector_tree_controller$_root;
      t2.set$isExpanded(false);
      B.JSArray_methods.forEach$1(t2._inspector_tree$_children, t1.get$_collapseAllNodes());
      t2 = t1._inspector_tree_controller$_selection;
      if (t2 == null)
        return;
      t1._expandPath$1(t2);
    },
    $signature: 0
  };
  A.InspectorTreeController_onExpandRow_closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this.__InspectorTreeController_config;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = this.row.node;
      t2.set$isExpanded(true);
      t1.onExpand.call$1(t2);
    },
    $signature: 0
  };
  A.InspectorTreeController_onCollapseRow_closure.prototype = {
    call$0() {
      this.row.node.set$isExpanded(false);
    },
    $signature: 0
  };
  A.InspectorTree.prototype = {
    createState$0() {
      return new A._InspectorTreeState(A.Disposer$(), null, null, null, B._StateLifecycle_0);
    }
  };
  A._InspectorTreeState.prototype = {
    initState$0() {
      var t1, _this = this, _null = null;
      _this.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState();
      _this.___InspectorTreeState__scrollControllerX = A.ScrollController$(0);
      _this.___InspectorTreeState__scrollControllerY = A.ScrollController$(0);
      if (_this._widget.isSummaryTree)
        _this._constraintDisplayController = A.AnimationController$(_null, B.Duration_400000, 0, _null, 1, _null, _this);
      t1 = A.FocusNode$(true, "inspector-tree", true, true, _null, _null, false);
      _this.___InspectorTreeState__focusNode = t1;
      _this.AutoDisposeMixin__delegate.autoDisposeFocusNode$1(t1);
      _this._bindToController$0();
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this,
        t1 = oldWidget.controller;
      if (t1 !== _this._widget.controller) {
        t1.removeClient$1(_this);
        _this.AutoDisposeMixin__delegate.cancelListeners$0();
        _this._bindToController$0();
      }
      _this.super$State$didUpdateWidget(oldWidget);
    },
    dispose$0() {
      var t1, _this = this;
      _this.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin$dispose();
      _this._widget.controller.removeClient$1(_this);
      t1 = _this.___InspectorTreeState__scrollControllerX;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.___InspectorTreeState__scrollControllerY;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this._constraintDisplayController;
      if (t1 != null)
        t1.dispose$0();
    },
    _computeTargetX$1(y) {
      var requiredOffset, minOffset, row, rowOffset,
        controllerLocal = this._widget.controller,
        t1 = B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24,
        i = Math.max(0, B.JSNumber_methods.$tdiv(y - t1, B.JSNumber_methods.roundToDouble$0(t2 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))));
      if (i === controllerLocal.get$numRows())
        return 0;
      y += this.get$safeViewportHeight();
      requiredOffset = null;
      minOffset = 1 / 0;
      while (true) {
        t1 = controllerLocal._inspector_tree_controller$_root;
        t1 = t1 == null ? null : t1.get$childrenCount() + 1;
        if (!(i < (t1 == null ? 0 : t1)))
          break;
        c$0: {
          t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
          if (B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * i + B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) >= y)
            break;
          row = controllerLocal.getCachedRow$1(i);
          if (row == null)
            break c$0;
          t1 = controllerLocal.getCachedRow$1(i);
          t1 = t1 == null ? null : t1.depth;
          if (t1 == null)
            t1 = 0;
          t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
          rowOffset = t1 * B.JSNumber_methods.roundToDouble$0(t2 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
          if (row.node.selected)
            requiredOffset = rowOffset;
          minOffset = Math.min(minOffset, rowOffset);
        }
        ++i;
      }
      if (requiredOffset == null)
        return minOffset;
      return minOffset;
    },
    scrollToRect$1(rect) {
      return this.scrollToRect$body$_InspectorTreeState(rect);
    },
    scrollToRect$body$_InspectorTreeState(rect) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, targetY, t1, targetX, exception, $async$exception;
      var $async$scrollToRect$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
              if (rect.$eq(0, $async$self._currentAnimateTarget)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._currentAnimateTarget = rect;
              targetY = $async$self._computeTargetOffsetY$2(rect.top, rect.bottom);
              t1 = $async$self.___InspectorTreeState__scrollControllerY;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if (t1._positions.length !== 0)
                $async$self._currentAnimateY = t1.animateTo$3$curve$duration(targetY, B.Cubic_oKc, B.Duration_400000);
              else {
                $async$self._currentAnimateY = null;
                $async$self.___InspectorTreeState__scrollControllerY = A.ScrollController$(targetY);
              }
              targetX = $async$self._computeTargetX$1(targetY);
              t1 = $async$self.___InspectorTreeState__scrollControllerX;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if (t1._positions.length !== 0)
                t1.animateTo$3$curve$duration(targetX, B.Cubic_oKc, B.Duration_400000);
              else
                $async$self.___InspectorTreeState__scrollControllerX = A.ScrollController$(targetX);
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait($async$self._currentAnimateY, $async$scrollToRect$1);
            case 7:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$self._currentAnimateTarget = $async$self._currentAnimateY = null;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$scrollToRect$1, $async$completer);
    },
    get$safeViewportHeight() {
      var t1 = this.___InspectorTreeState__scrollControllerY;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._positions;
      if (t1.length !== 0) {
        t1 = B.JSArray_methods.get$single(t1)._viewportDimension;
        t1.toString;
      } else
        t1 = 1000;
      return t1;
    },
    _computeTargetOffsetY$2(minOffset, maxOffset) {
      var currentOffset, viewportDimension,
        t1 = this.___InspectorTreeState__scrollControllerY;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1._positions.length !== 0) {
        t1 = t1.get$position(t1)._pixels;
        t1.toString;
        currentOffset = t1;
      } else
        currentOffset = t1._initialScrollOffset;
      viewportDimension = this.get$safeViewportHeight();
      maxOffset = Math.min(viewportDimension + minOffset, maxOffset);
      if (currentOffset <= minOffset && viewportDimension + currentOffset >= maxOffset)
        return currentOffset;
      if (currentOffset > minOffset)
        return minOffset;
      return maxOffset - viewportDimension;
    },
    _inspector_tree_controller$_handleKeyEvent$2(_, $event) {
      var t1, _this = this;
      if (!($event instanceof A.RawKeyDownEvent))
        return B.KeyEventResult_1;
      t1 = $event.data;
      if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968065)) {
        _this._widget.controller._navigateHelper$1(1);
        return B.KeyEventResult_0;
      } else if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968068)) {
        _this._widget.controller._navigateHelper$1(-1);
        return B.KeyEventResult_0;
      } else if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968066)) {
        _this._widget.controller.navigateLeft$0();
        return B.KeyEventResult_0;
      } else if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968067)) {
        _this._widget.controller.navigateRight$0();
        return B.KeyEventResult_0;
      }
      return B.KeyEventResult_1;
    },
    _bindToController$0() {
      var t1 = this._widget.controller,
        t2 = t1._clients,
        t3 = t2._collection$_length;
      t2.add$1(0, this);
      if (t3 === 0) {
        t1 = t1.__InspectorTreeController_config;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.onClientActiveChange.call$1(true);
      }
    },
    onChanged$0() {
      this.setState$1(new A._InspectorTreeState_onChanged_closure());
    },
    build$1(context) {
      var controllerLocal, _this = this,
        _s9_ = "inspector",
        _s9_0 = "pageReady";
      _this.super$AutomaticKeepAliveClientMixin$build(context);
      controllerLocal = _this._widget.controller;
      if (controllerLocal.get$numRows() === 0)
        return B.SizedBox_null_null_null_null;
      if (!$.firstInspectorTreeLoadCompleted && _this._widget.isSummaryTree) {
        A.timeEnd(_s9_, _s9_0);
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).sendDwdsEvent$2$action$screen(_s9_0, _s9_);
        $.firstInspectorTreeLoadCompleted = true;
      }
      return new A.LayoutBuilder(new A._InspectorTreeState_build_closure(_this, controllerLocal), null);
    },
    get$wantKeepAlive() {
      return true;
    },
    $isInspectorControllerClient: 1
  };
  A._InspectorTreeState_onChanged_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._InspectorTreeState_build_closure.prototype = {
    call$2(context, constraints) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, tree, inspectorTreeController, _null = null,
        viewportWidth = constraints.maxWidth,
        t1 = this.$this,
        t2 = t1.___InspectorTreeState__scrollControllerX;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = this.controllerLocal;
      t4 = t3.get$maxRowIndent();
      t5 = t1.___InspectorTreeState__focusNode;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = t1._widget.isSummaryTree;
      t7 = t1.___InspectorTreeState__scrollControllerY;
      if (t7 === $)
        A.throwUnnamedLateFieldNI();
      t8 = t1.___InspectorTreeState__scrollControllerX;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t9 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
      t9 = B.JSNumber_methods.roundToDouble$0(t9 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t10 = t3.get$numRows();
      t11 = t1.___InspectorTreeState__scrollControllerY;
      if (t11 === $)
        A.throwUnnamedLateFieldNI();
      tree = A.Scrollbar$(A.SingleChildScrollView$(new A.ConstrainedBox(new A.BoxConstraints(0, 1200 + t4, 0, 1 / 0), A.GestureDetector$(_null, A.Focus$(t6, _null, new A.OffsetScrollbar(true, B.Axis_1, t7, t8, A.ListView$custom(new A.SliverChildBuilderDelegate(new A._InspectorTreeState_build__closure(t1, t3, viewportWidth), t10 + 1, true, true, true, A.sliver___kDefaultSemanticIndexCallback$closure(), _null), t11, t9, _null), viewportWidth, _null), _null, _null, _null, t5, true, _null, _null, t1.get$_inspector_tree_controller$_handleKeyEvent(), _null, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5.get$requestFocus(), _null, _null, _null, _null, _null, _null), _null), t2, B.DragStartBehavior_1, _null, _null, false, B.Axis_0), t2, _null, _null, true);
      t1 = t1._widget;
      if (!t1.isSummaryTree) {
        inspectorTreeController = t1.inspectorTreeController;
        return A.Column$(A._setArrayType([new A.InspectorBreadcrumbNavigator(inspectorTreeController.getPathFromSelectedRowToRoot$0(), new A._InspectorTreeState_build__closure0(inspectorTreeController), _null), A.Expanded$(tree, 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
      }
      return tree;
    },
    $signature: 75
  };
  A._InspectorTreeState_build__closure.prototype = {
    call$2(context, index) {
      var row, t2, inspectorRef, t3, t4, _null = null,
        t1 = this.controllerLocal;
      if (index === t1.get$numRows()) {
        t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
        return A.SizedBox$(_null, B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null);
      }
      row = t1.getCachedRow$1(index);
      t1 = row.node;
      t2 = t1._diagnostic;
      inspectorRef = t2 == null ? _null : A._asStringQ(J.$index$asx(t2.json, "valueId"));
      t2 = this.$this;
      t3 = t2.___InspectorTreeState__scrollControllerX;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t2._widget.widgetErrors;
      t4 = t4 != null && inspectorRef != null ? t4.$index(0, inspectorRef) : _null;
      return new A._InspectorTreeRowWidget(t2, row, t2._widget.debuggerController, t3, this.viewportWidth, t4, new A.PageStorageKey(t1, type$.PageStorageKey_InspectorTreeNode));
    },
    $signature: 47
  };
  A._InspectorTreeState_build__closure0.prototype = {
    call$1(node) {
      return this.inspectorTreeController.onSelectNode$1(node);
    },
    $signature: 447
  };
  A._RowPainter.prototype = {
    paint$2(canvas, size) {
      var t1, showExpandCollapse, t2, t3, _i, tick, t4, t5, currentX, width,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, this.colorScheme.brightness === B.Brightness_1 ? B.Color_2315255808 : B.Color_4291348680);
      paint.set$strokeWidth(1);
      t1 = this.row;
      showExpandCollapse = t1.node.get$showExpandCollapse();
      for (t2 = t1.ticks, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        tick = t2[_i];
        t4 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
        t4 = B.JSNumber_methods.roundToDouble$0(t4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t5 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
        currentX = (tick + 1) * t4 + 10 - B.JSNumber_methods.roundToDouble$0(t5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 0.5;
        t4 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
        canvas.drawLine$3(new A.Offset(currentX, 0), new A.Offset(currentX, B.JSNumber_methods.roundToDouble$0(t4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), paint);
      }
      if (t1.lineToParent) {
        t1 = this._inspector_tree_controller$_controller.getDepthIndent$1(t1.depth - 1);
        t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
        currentX = t1 - B.JSNumber_methods.roundToDouble$0(t2 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 0.5;
        if (showExpandCollapse) {
          t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
          width = B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 0.5;
        } else {
          t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16;
          width = B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        }
        t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
        canvas.drawLine$3(new A.Offset(currentX, 0), new A.Offset(currentX, B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 0.5), paint);
        t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
        t1 = B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
        canvas.drawLine$3(new A.Offset(currentX, t1 * 0.5), new A.Offset(currentX + width, B.JSNumber_methods.roundToDouble$0(t2 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 0.5), paint);
      }
    },
    shouldRepaint$1(oldDelegate) {
      if (oldDelegate instanceof A._RowPainter)
        return oldDelegate.colorScheme.brightness === B.Brightness_1 !== (this.colorScheme.brightness === B.Brightness_1);
      return true;
    }
  };
  A.InspectorRowContent.prototype = {
    build$1(context) {
      var backgroundColor, rowWidget, _this = this, _null = null, t1 = {},
        t2 = _this.controller,
        t3 = _this.row,
        t4 = t2.getDepthIndent$1(t3.depth),
        t5 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 12 : 16,
        currentX = t4 - B.JSNumber_methods.roundToDouble$0(t5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme;
      t1.backgroundColor = null;
      t4 = t3.node;
      if (t4.selected) {
        if (_this.error != null)
          backgroundColor = B.Color_4289675348;
        else
          backgroundColor = colorScheme.brightness === B.Brightness_1 ? B.Color_4292664540 : B.Color_4282992969;
        t1.backgroundColor = backgroundColor;
      } else if (t4 === t2._hover)
        t1.backgroundColor = colorScheme.brightness === B.Brightness_1 ? B.MaterialAccentColor_Map_iTwHq_4294967040 : B.Color_4282796364;
      rowWidget = new A.Padding(new A.EdgeInsets(currentX, 0, 0, 0), new A.ValueListenableBuilder(t2.SearchControllerMixin__searchNotifier, new A.InspectorRowContent_build_closure(t1, _this, t4, theme), _null, _null, type$.ValueListenableBuilder_String), _null);
      t1 = _this.error;
      if (t1 != null)
        rowWidget = A.DevToolsTooltip$(rowWidget, _null, _null, t1.errorMessage, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
      t1 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
      t1 = B.JSNumber_methods.roundToDouble$0(t1 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.CustomPaint$(new A.Align(B.Alignment_m1_m1, _null, _null, A.AnimatedBuilder$(_this.scrollControllerX, new A.InspectorRowContent_build_closure0(_this, currentX), rowWidget), _null), _null, _null, new A._RowPainter(t2, t3, colorScheme, _null), new A.Size(currentX, t1));
    }
  };
  A.InspectorRowContent_build_closure.prototype = {
    call$3(context, searchValue, _) {
      var t4, t5, t6, t7, t8, t9, t10, t11, t12, _this = this, _null = null,
        t1 = searchValue.length !== 0,
        t2 = !t1 || _this.$this.row.DataSearchStateMixin_isSearchMatch ? 1 : 0.2,
        t3 = _this.node;
      if (t3.get$showExpandCollapse()) {
        t4 = _this.$this;
        t4 = A.InkWell$(false, _null, true, A.RotationTransition$(A.Icon$(B.IconData_57926_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), t4.expandArrowAnimation), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t4.onToggle, _null, _null, _null, _null, _null, _null);
      } else
        t4 = B.SizedBox_16_16_null_null;
      t5 = _this._box_0.backgroundColor;
      t6 = _this.$this;
      t7 = t6.error;
      t8 = t7 == null;
      t9 = !t8 ? A.Border_Border$all(B.Color_4289675348, 1) : _null;
      t10 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 20 : 24;
      t10 = B.JSNumber_methods.roundToDouble$0(t10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = t3._diagnostic;
      t11 = t6.row;
      t12 = t11.node.selected;
      t7 = t8 ? _null : t7.errorMessage;
      if (!t1 || !t11.DataSearchStateMixin_isSearchMatch)
        t1 = $.$get$regular();
      else
        t1 = t12 ? B.TextStyle_KL4 : B.TextStyle_bLJ;
      return A.Opacity$(false, A.Row$(A._setArrayType([t4, A.Expanded$(A.DecoratedBox$(A.InkWell$(false, _null, true, A.Container$(_null, A.DiagnosticsNodeDescription$(t3, t6.debuggerController, t7, t12, false, t1, searchValue, _null), B.Clip_0, _null, _null, _null, _null, t10, _null, _null, _null, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.InspectorRowContent_build__closure(t6), _null, _null, _null, _null, _null, _null), new A.BoxDecoration(t5, _null, t9, _null, _null, _null, _null, B.BoxShape_0), B.DecorationPosition_0), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null), t2);
    },
    $signature: 442
  };
  A.InspectorRowContent_build__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.controller;
      t2.onSelectNode$1(t1.row.node);
      t2.requestFocus$0();
    },
    $signature: 0
  };
  A.InspectorRowContent_build_closure0.prototype = {
    call$2(context, child) {
      var rowWidth,
        t1 = this.$this,
        t2 = t1.scrollControllerX;
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      rowWidth = t2 + t1.viewportWidth - 16;
      t1 = this.currentX;
      t2 = Math.max(rowWidth, t1 + 100);
      return A.SizedBox$(rowWidth > t1 ? child : B.SizedBox_null_null_null_null, null, t2);
    },
    $signature: 438
  };
  A._InspectorTreeController_Object_SearchControllerMixin.prototype = {};
  A.__InspectorTreeRowState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController = t1;
      t1 = A.CurvedAnimation$(B.Cubic_oKc, t1, _null);
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve = t1;
      t2 = type$.Tween_double;
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation = new A._AnimatedEvaluation(t1, new A.Tween(0.75, 1, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (_this._widget.row.node._inspector_tree$_isExpanded) {
        t1 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 1);
      }
    },
    dispose$0() {
      var t1 = this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__InspectorTreeRowState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(type$._InspectorTreeRowWidget._as(oldWidget));
      t1 = this._widget.row.node._inspector_tree$_isExpanded;
      t2 = this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.forward$0(0);
      } else {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.reverse$0(0);
      }
    }
  };
  A.__InspectorTreeState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$__InspectorTreeState_State_SingleTickerProviderStateMixin$dispose();
    }
  };
  A.BoxLayoutExplorerWidget.prototype = {
    createState$0() {
      var t1 = new A._BoxLayoutExplorerWidgetState(null, null, B._StateLifecycle_0);
      t1.__LayoutExplorerWidgetState__onSelectionChangedCallback = t1.get$onSelectionChanged();
      return t1;
    }
  };
  A._BoxLayoutExplorerWidgetState.prototype = {
    getRoot$1(node) {
      if (node == null)
        return null;
      if (!this.shouldDisplay$1(node))
        return null;
      return node;
    },
    shouldDisplay$1(node) {
      if (this.get$selectedNode() == null)
        return false;
      return true;
    },
    computeAnimatedProperties$1(nextProperties) {
      var t2,
        t1 = this._animatedProperties;
      t1 = t1 == null ? null : t1.copyWith$0();
      if (t1 == null) {
        t1 = this.get$properties();
        t1.toString;
      }
      t2 = this.__LayoutExplorerWidgetState_changeAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.AnimatedLayoutProperties$(t1, nextProperties, t2, type$.LayoutProperties);
    },
    computeLayoutProperties$1(node) {
      return A.LayoutProperties$(node, 1);
    },
    updateHighlighted$1(newProperties) {
      this.setState$1(new A._BoxLayoutExplorerWidgetState_updateHighlighted_closure(this, newProperties));
    },
    build$1(context) {
      var t1, _null = null;
      if (this.get$properties() == null)
        return B.SizedBox_null_null_null_null;
      t1 = this.__LayoutExplorerWidgetState_changeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.Container$(_null, A.AnimatedBuilder$(t1, new A._BoxLayoutExplorerWidgetState_build_closure(this), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, B.EdgeInsets_8_8_8_8, B.EdgeInsets_0_0_8_8, _null, _null, _null);
    },
    _buildChild$1(context) {
      var theme, parentProperties, parentSize,
        t1 = this.get$properties();
      t1.toString;
      theme = A.Theme_of(context);
      parentProperties = this.get$parentProperties();
      if (parentProperties == null)
        parentProperties = t1;
      parentSize = parentProperties.get$size(parentProperties);
      return new A.LayoutBuilder(new A._BoxLayoutExplorerWidgetState__buildChild_closure(this, t1.get$node().get$parentData(), t1, parentSize, theme.colorScheme), null);
    },
    get$parentProperties() {
      var t1 = this.get$properties(),
        parentElement = t1 == null ? null : t1.get$node().get$parentRenderElement();
      if (parentElement == null)
        return null;
      return A.LayoutProperties$(parentElement, 1);
    },
    _box0$_buildLayout$2(context, constraints) {
      var t1, _null = null,
        widget = this._buildChild$1(context),
        parentProperties = this.get$parentProperties();
      if (parentProperties != null) {
        t1 = A.describeBoxName(parentProperties);
        widget = A.WidgetVisualizer$(A.VisualizeWidthAndHeightWithConstraints$(_null, new A.Padding(B.EdgeInsets_8_8_8_8, widget, _null), parentProperties, false), _null, false, true, parentProperties, _null, t1);
      }
      return A.Container$(_null, widget, B.Clip_0, _null, new A.BoxConstraints(0, constraints.maxWidth, 0, constraints.maxHeight), _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A._BoxLayoutExplorerWidgetState_updateHighlighted_closure.prototype = {
    call$0() {
      var t1 = this.newProperties,
        t2 = t1 != null && J.$eq$(this.$this.get$selectedNode(), t1.get$node()),
        t3 = this.$this;
      if (t2)
        t3.highlighted = t1;
      else
        t3.highlighted = null;
    },
    $signature: 0
  };
  A._BoxLayoutExplorerWidgetState_build_closure.prototype = {
    call$2(context, _) {
      return new A.LayoutBuilder(this.$this.get$_box0$_buildLayout(), null);
    },
    $signature: 233
  };
  A._BoxLayoutExplorerWidgetState__buildChild_closure.prototype = {
    call$2(context, constraints) {
      var heights, displayWidths, displayHeights, widgetWidth, widgetHeight, width0, width2, height0, height2, _this = this, _null = null,
        t1 = constraints.maxHeight,
        t2 = constraints.maxWidth,
        minFractions = A._setArrayType([0.2, 0.5, 0.2], type$.JSArray_double),
        t3 = new A._BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero(),
        t4 = _this.offset,
        t5 = _this.propertiesLocal,
        t6 = _this.parentSize,
        t7 = t6._dx,
        t8 = type$.JSArray_nullable_double,
        widths = A._setArrayType([t3.call$1(t4.offset._dx), t5.get$size(t5)._dx, t3.call$1(t7 - (t5.get$size(t5)._dx + t4.offset._dx))], t8);
      t6 = t6._dy;
      heights = A._setArrayType([t3.call$1(t4.offset._dy), t5.get$size(t5)._dy, t3.call$1(t6 - (t5.get$size(t5)._dy + t4.offset._dy))], t8);
      displayWidths = A._BoxLayoutExplorerWidgetState_minFractionLayout(t2 - 2, minFractions, widths);
      displayHeights = A._BoxLayoutExplorerWidgetState_minFractionLayout(t1 - 2, minFractions, heights);
      widgetWidth = displayWidths[1];
      widgetHeight = displayHeights[1];
      width0 = widths[0];
      width2 = widths[2];
      height0 = heights[0];
      height2 = heights[2];
      t8 = A.Border_Border$all(A.WidgetTheme_fromName(A._asStringQ(J.$index$asx(t5.get$node().json, "description"))).color, 1);
      t4 = A._setArrayType([new A.LayoutExplorerBackground(_this.colorScheme, _null)], type$.JSArray_Widget);
      if (width0 != null) {
        t3 = displayWidths[0];
        t4.push(new A.PaddingVisualizerWidget(A.RenderProperties$(B.Axis_0, true, t5, new A.Offset(0, displayHeights[0]), new A.Size(width0, t6), new A.Size(t3, widgetHeight)), true, _null));
      }
      if (height0 != null) {
        t3 = displayHeights[0];
        t4.push(new A.PaddingVisualizerWidget(A.RenderProperties$(B.Axis_0, true, t5, new A.Offset(displayWidths[0], 0), new A.Size(t7, height0), new A.Size(widgetWidth, t3)), false, _null));
      }
      if (width2 != null) {
        t3 = displayWidths[2];
        t4.push(new A.PaddingVisualizerWidget(A.RenderProperties$(B.Axis_0, true, t5, new A.Offset(displayWidths[0] + displayWidths[1], displayHeights[0]), new A.Size(width2, t6), new A.Size(t3, widgetHeight)), true, _null));
      }
      if (height2 != null) {
        t3 = displayHeights[2];
        t4.push(new A.PaddingVisualizerWidget(A.RenderProperties$(B.Axis_0, true, t5, new A.Offset(displayWidths[0], displayHeights[0] + displayHeights[1]), new A.Size(t7, height2), new A.Size(widgetWidth, t3)), false, _null));
      }
      t4.push(new A.BoxChildVisualizer(_this.$this, true, t5, A.RenderProperties$(B.Axis_0, false, t5, new A.Offset(displayWidths[0], displayHeights[0]), t5.get$size(t5), new A.Size(widgetWidth, widgetHeight)), _null));
      return A.Container$(_null, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t4, _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, t8, _null, _null, _null, _null, B.BoxShape_0), _null, t1, _null, _null, _null, _null, _null, t2);
    },
    $signature: 437
  };
  A._BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero.prototype = {
    call$1(value) {
      return value !== 0 ? value : null;
    },
    $signature: 435
  };
  A.BoxChildVisualizer.prototype = {
    build$1(context) {
      var t6, t7, t8, t9, _this = this, _null = null,
        t1 = _this.renderProperties,
        t2 = t1.width,
        t3 = t1.height,
        t4 = t1.dx,
        t5 = t1.dy;
      t1 = t1.layoutProperties;
      t1.toString;
      t6 = A.safePositiveDouble(t2);
      t7 = A.safePositiveDouble(t3);
      t8 = _this.state.__LayoutExplorerWidgetState_entranceController;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t9 = A.describeBoxName(t1);
      return A.Positioned$(_null, A.InkWell$(false, _null, true, A.SizedBox$(A.AnimatedBuilder$(t8, new A.BoxChildVisualizer_build_buildEntranceAnimation(_this, new A.Size(t2, t3)), A.WidgetVisualizer$(A.VisualizeWidthAndHeightWithConstraints$(B.JSNumber_methods.roundToDouble$0(8 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.SizedBox_0_0_null_null, t1, false), _null, true, true, _this.layoutProperties, _null, t9)), t7, t6), _null, true, _null, _null, _null, _null, _null, _null, new A.BoxChildVisualizer_build_closure(_this, t1), _null, _null, _null, new A.BoxChildVisualizer_build_closure0(_this, t1), new A.BoxChildVisualizer_build_closure1(_this, t1), _null, _null, _null, _null, _null, _null), _null, _null, t4, _null, t5, _null);
    }
  };
  A.BoxChildVisualizer_build_buildEntranceAnimation.prototype = {
    call$2(context, child) {
      var t2, t3,
        size = this.renderSize,
        t1 = this.$this.state.__LayoutExplorerWidgetState_entranceCurve;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.min(A._setArrayType([t1.get$value(t1) * 5, 1], type$.JSArray_double));
      t2 = size._dx;
      t2 = Math.max(0, (t2 - t2) / 2);
      t3 = size._dy;
      t3 = Math.max(0, (t3 - t3) / 2);
      return A.Opacity$(false, new A.Padding(new A.EdgeInsets(t2, t3, t2, t3), child, null), t1);
    },
    $signature: 56
  };
  A.BoxChildVisualizer_build_closure1.prototype = {
    call$0() {
      return this.$this.state.onTap$1(this.propertiesLocal);
    },
    $signature: 0
  };
  A.BoxChildVisualizer_build_closure.prototype = {
    call$0() {
      var t1 = this.propertiesLocal.get$node();
      this.$this.state._widget.inspectorController.refreshSelection$3(t1, t1, true);
      return null;
    },
    $signature: 0
  };
  A.BoxChildVisualizer_build_closure0.prototype = {
    call$0() {
      var t1 = this.propertiesLocal.get$node();
      this.$this.state._widget.inspectorController.refreshSelection$3(t1, t1, true);
      return null;
    },
    $signature: 0
  };
  A.FlexLayoutExplorerWidget.prototype = {
    createState$0() {
      var t1 = new A._FlexLayoutExplorerWidgetState(A.ScrollController$(0), null, null, B._StateLifecycle_0);
      t1.__LayoutExplorerWidgetState__onSelectionChangedCallback = t1.get$onSelectionChanged();
      return t1;
    }
  };
  A._FlexLayoutExplorerWidgetState.prototype = {
    getRoot$1(node) {
      if (node == null)
        return null;
      if (!this.shouldDisplay$1(node))
        return null;
      if (B.JSArray_methods.contains$1(A._setArrayType(["Row", "Column", "Flex"], type$.JSArray_String), A._asStringQ(J.$index$asx(node.json, "widgetRuntimeType"))))
        return node;
      return node.parent;
    },
    shouldDisplay$1(node) {
      var selectedNodeLocal = this.get$selectedNode();
      if (selectedNodeLocal == null)
        return false;
      return A.FlexLayoutExplorerWidget_shouldDisplay(selectedNodeLocal);
    },
    computeAnimatedProperties$1(nextProperties) {
      var t2,
        t1 = this._animatedProperties;
      t1 = t1 == null ? null : t1.copyWith$0();
      type$.nullable_FlexLayoutProperties._as(t1);
      if (t1 == null) {
        t1 = this.get$properties();
        t1.toString;
      }
      t2 = this.__LayoutExplorerWidgetState_changeAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.AnimatedFlexLayoutProperties$(t1, nextProperties, t2);
    },
    computeLayoutProperties$1(node) {
      var t2,
        t1 = $.$get$_flexLayoutExpando();
      A.Expando__checkType(node);
      t1 = t1._jsWeakMap;
      t2 = t1.get(node);
      if (t2 == null) {
        t2 = A.FlexLayoutProperties__buildNode(node);
        t1.set(node, t2);
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    updateHighlighted$1(newProperties) {
      this.setState$1(new A._FlexLayoutExplorerWidgetState_updateHighlighted_closure(this, newProperties));
    },
    _buildAxisAlignmentDropdown$2(axis, colorScheme) {
      var color, t2, selected, alignmentEnumEntries, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _i, alignment, t14, t15, t16, _this = this, _null = null, _box_0 = {},
        t1 = _this.get$properties();
      if (axis === t1.get$direction(t1))
        color = B.Color_4279465404;
      else
        color = colorScheme.brightness === B.Brightness_1 ? B.Color_4284901164 : B.Color_4289974874;
      _box_0.alignmentEnumEntries = null;
      t1 = _this.get$properties();
      t1.toString;
      t2 = _this.get$properties();
      if (axis === t2.get$direction(t2)) {
        _box_0.alignmentEnumEntries = B.List_MvE;
        selected = t1.get$mainAxisAlignment();
      } else {
        alignmentEnumEntries = A._setArrayType(B.List_yjx.slice(0), type$.JSArray_CrossAxisAlignment);
        _box_0.alignmentEnumEntries = alignmentEnumEntries;
        if (t1.get$textBaseline(t1) == null)
          B.JSArray_methods.remove$1(alignmentEnumEntries, B.CrossAxisAlignment_4);
        selected = t1.get$crossAxisAlignment();
      }
      t2 = axis === B.Axis_1 ? 3 : 0;
      t3 = B.JSNumber_methods.roundToDouble$0(220 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = B.JSNumber_methods.roundToDouble$0(220 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      if (axis === t1.get$direction(t1))
        t5 = B.Color_4281097642;
      else
        t5 = B.Color_4287284818;
      t6 = A._setArrayType([], type$.JSArray_DropdownMenuItem_Object);
      for (t7 = _box_0.alignmentEnumEntries, t8 = t7.length, t9 = type$.JSArray_Widget, t10 = type$.DropdownMenuItem_Object, t11 = type$.CrossAxisAlignment, t12 = A._instanceType(_this)._eval$1("LayoutExplorerWidgetState.L?"), t13 = type$.MainAxisAlignment, _i = 0; _i < t7.length; t7.length === t8 || (0, A.throwConcurrentModificationError)(t7), ++_i) {
        alignment = t7[_i];
        t14 = A.describeEnum(alignment);
        t15 = _this._previousProperties;
        if (t15 == null)
          t15 = t12._as(_this._animatedProperties);
        if (t15 == null)
          t15 = _this._layout_explorer_widget$_properties;
        t15 = t15.get$direction(t15);
        t16 = _this._previousProperties;
        if (axis === t15) {
          t15 = t16 == null ? t12._as(_this._animatedProperties) : t16;
          if (t15 == null)
            t15 = _this._layout_explorer_widget$_properties;
          t15 = t15.get$direction(t15);
          t13._as(alignment);
          t15 = string$.assetsam + A.AxisExtension_get_flexType(t15).toLowerCase() + "_" + A.describeEnum(alignment) + ".png";
        } else {
          t15 = t16 == null ? t12._as(_this._animatedProperties) : t16;
          if (t15 == null)
            t15 = _this._layout_explorer_widget$_properties;
          t15 = t15.get$direction(t15);
          t11._as(alignment);
          t15 = string$.assetsac + A.AxisExtension_get_flexType(t15).toLowerCase() + "_" + A.describeEnum(alignment) + ".png";
        }
        t6.push(new A.DropdownMenuItem(alignment, A.Container$(_null, new A.Row(B.Axis_0, B.MainAxisAlignment_1, B.MainAxisSize_1, B.CrossAxisAlignment_2, _null, B.VerticalDirection_1, _null, A._setArrayType([new A.Expanded(1, B.FlexFit_0, new A.Text(t14, _null, new A.TextStyle(true, color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null), _null), new A.Flexible(1, B.FlexFit_1, A.Image$asset(t15, B.Alignment_0_0, color, B.BoxFit_4, _null, B.ImageRepeat_3, _null), _null)], t9), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_8_0_8, _null, _null, _null), B.AlignmentDirectional_m1_0, _null, t10));
      }
      return new A.RotatedBox(t2, A.Container$(_null, A.DropdownButton$(t5, false, true, t6, _null, new A._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure(_this, axis, t1), new A._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0(_box_0, _this, color, axis), _null, B.SizedBox_null_null_null_null, selected, type$.Object), B.Clip_0, _null, new A.BoxConstraints(0, t3, 0, t4), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    build$1(context) {
      var t1, _null = null;
      if (this.get$properties() == null)
        return B.SizedBox_null_null_null_null;
      t1 = this.__LayoutExplorerWidgetState_changeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.Container$(_null, A.AnimatedBuilder$(t1, new A._FlexLayoutExplorerWidgetState_build_closure(this), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, B.EdgeInsets_8_8_8_8, B.EdgeInsets_0_0_8_8, _null, _null, _null);
    },
    _flex0$_buildLayout$2(context, constraints) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _this = this, _null = null,
        colorScheme = A.Theme_of(context).colorScheme,
        maxHeight = constraints.maxHeight,
        maxWidth = constraints.maxWidth,
        t1 = _this.get$properties();
      t1.toString;
      t2 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = _this.get$properties();
      t4 = t4.get$type(t4);
      t5 = _this.highlighted;
      t6 = _this.get$properties();
      t7 = A.LayoutPropertiesExtension_get_overflowSide(t1);
      t8 = A.Container$(_null, A.Text$("Total Flex Factor: " + B.JSNumber_methods.toInt$0(t1.get$totalFlex()), _null, _null, B.TextOverflow_2, _null, _null, B.TextStyle_ato, _null, _null, _null, 1.2), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_4_4_4_4, _null, _null, _null);
      t9 = _this.get$properties().get$displayChildren();
      t10 = _this.highlighted;
      t11 = _this.get$properties();
      t2 = A.Container$(_null, A.InkWell$(false, _null, true, A.WidgetVisualizer$(new A.VisualizeFlexChildren(t1, t9, t10, _this.scrollController, t11.get$direction(t11), _this, _null), t8, t5 == t6, false, t1, t7, t4), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._FlexLayoutExplorerWidgetState__buildLayout_closure(_this, t1), _null, _null, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(t3 + 8, t2, 0, 0), _null, _null, _null, _null);
      t3 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      if (_this.get$properties().get$isMainAxisVertical())
        t5 = B.Color_4281097642;
      else
        t5 = B.Color_4287284818;
      t6 = B.JSNumber_methods.roundToDouble$0(375 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t7 = t1.get$verticalDirectionDescription();
      if (_this.get$properties().get$isMainAxisVertical())
        t8 = B.Color_4279465404;
      else
        t8 = colorScheme.brightness === B.Brightness_1 ? B.Color_4284901164 : B.Color_4289974874;
      t6 = A.Expanded$(A.ArrowWrapper$unidirectional(t5, new A.Truncateable(new A.RotatedBox(3, A.Text$(t7, _null, _null, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, t8, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, 1.2), _null), maxHeight <= t6, _null), B.ArrowType_3), 1);
      t8 = B.JSNumber_methods.roundToDouble$0(375 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t7 = type$.JSArray_Widget;
      t4 = A.Container$(_null, A.Column$(A._setArrayType([t6, new A.Truncateable(_this._buildAxisAlignmentDropdown$2(B.Axis_1, colorScheme), maxHeight <= t8, _null)], t7), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, t3 + 8, 0, 0), _null, _null, _null, t4);
      t3 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t8 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      if (_this.get$properties().get$isMainAxisHorizontal())
        t5 = B.Color_4281097642;
      else
        t5 = B.Color_4287284818;
      t6 = B.JSNumber_methods.roundToDouble$0(375 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t1 = t1.get$horizontalDirectionDescription();
      if (_this.get$properties().get$isMainAxisHorizontal())
        t9 = B.Color_4279465404;
      else
        t9 = colorScheme.brightness === B.Brightness_1 ? B.Color_4284901164 : B.Color_4289974874;
      t6 = A.Expanded$(A.ArrowWrapper$unidirectional(t5, new A.Truncateable(A.Text$(t1, _null, _null, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, t9, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, 1.2), maxWidth <= t6, _null), B.ArrowType_2), 1);
      t9 = B.JSNumber_methods.roundToDouble$0(375 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Container$(_null, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([new A.Align(B.Alignment_m1_0, _null, _null, t2, _null), new A.Align(B.Alignment_m1_1, _null, _null, t4, _null), new A.Align(B.Alignment_1_m1, _null, _null, A.Container$(_null, A.Row$(A._setArrayType([t6, new A.Truncateable(_this._buildAxisAlignmentDropdown$2(B.Axis_0, colorScheme), maxWidth <= t9, _null)], t7), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, _null, _null, t8, _null, new A.EdgeInsets(t3 + 8, 0, 0, 0), _null, _null, _null, _null), _null)], t7), _null), B.Clip_0, _null, new A.BoxConstraints(0, maxWidth, 0, maxHeight), _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A._FlexLayoutExplorerWidgetState_updateHighlighted_closure.prototype = {
    call$0() {
      var idx, t3,
        t1 = this.$this,
        t2 = t1.get$selectedNode();
      t2.toString;
      if (B.JSArray_methods.contains$1(A._setArrayType(["Row", "Column", "Flex"], type$.JSArray_String), A._asStringQ(J.$index$asx(t2.json, "widgetRuntimeType"))))
        t1.highlighted = this.newProperties;
      else {
        t2 = t1.get$selectedNode();
        if (t2 == null)
          idx = null;
        else {
          t2 = t2.parent;
          if (t2 == null)
            t2 = null;
          else {
            t2 = t2.get$childrenNow();
            t3 = t1.get$selectedNode();
            t3.toString;
            t3 = J.indexOf$1$asx(t2, t3);
            t2 = t3;
          }
          idx = t2;
        }
        if (idx == null)
          idx = -1;
        t2 = this.newProperties;
        if (t2 == null)
          return;
        if (idx !== -1)
          t1.highlighted = t2.get$children(t2)[idx];
      }
    },
    $signature: 0
  };
  A._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0.prototype = {
    call$1(context) {
      var t3, t4, t5, t6, t7, t8, t9, t10, _i, alignment, t11, t12, t13, _this = this, _null = null,
        t1 = type$.JSArray_Widget,
        t2 = A._setArrayType([], t1);
      for (t3 = _this._box_0.alignmentEnumEntries, t4 = t3.length, t5 = _this.color, t6 = type$.CrossAxisAlignment, t7 = _this.$this, t8 = _this.axis, t9 = A._instanceType(t7)._eval$1("LayoutExplorerWidgetState.L?"), t10 = type$.MainAxisAlignment, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        alignment = t3[_i];
        t11 = A.describeEnum(alignment);
        t12 = t7._previousProperties;
        if (t12 == null)
          t12 = t9._as(t7._animatedProperties);
        if (t12 == null)
          t12 = t7._layout_explorer_widget$_properties;
        t12 = t12.get$direction(t12);
        t13 = t7._previousProperties;
        if (t8 === t12) {
          t12 = t13 == null ? t9._as(t7._animatedProperties) : t13;
          if (t12 == null)
            t12 = t7._layout_explorer_widget$_properties;
          t12 = t12.get$direction(t12);
          t10._as(alignment);
          t12 = string$.assetsam + A.AxisExtension_get_flexType(t12).toLowerCase() + "_" + A.describeEnum(alignment) + ".png";
        } else {
          t12 = t13 == null ? t9._as(t7._animatedProperties) : t13;
          if (t12 == null)
            t12 = t7._layout_explorer_widget$_properties;
          t12 = t12.get$direction(t12);
          t6._as(alignment);
          t12 = string$.assetsac + A.AxisExtension_get_flexType(t12).toLowerCase() + "_" + A.describeEnum(alignment) + ".png";
        }
        t2.push(new A.Row(B.Axis_0, B.MainAxisAlignment_2, B.MainAxisSize_1, B.CrossAxisAlignment_2, _null, B.VerticalDirection_1, _null, A._setArrayType([new A.Expanded(2, B.FlexFit_0, new A.Text(t11, _null, new A.TextStyle(true, t5, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null), _null), new A.Flexible(1, B.FlexFit_1, A.Image$asset(t12, B.Alignment_0_0, t5, B.BoxFit_4, B.JSNumber_methods.roundToDouble$0(24 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.ImageRepeat_3, _null), _null)], t1), _null));
      }
      return t2;
    },
    $signature: 434
  };
  A._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure.prototype = {
    call$1(newSelection) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, changedProperties;
      var $async$call$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.$this;
              t2 = t1.get$properties();
              t3 = $async$self.propertiesLocal;
              changedProperties = $async$self.axis === t2.get$direction(t2) ? t3.copyWith$1$mainAxisAlignment(type$.nullable_MainAxisAlignment._as(newSelection)) : t3.copyWith$1$crossAxisAlignment(type$.nullable_CrossAxisAlignment._as(newSelection));
              t2 = A._asStringQ(J.$index$asx(t3.get$node().json, "valueId"));
              t1._layout_explorer_widget$_dirty = true;
              $async$goto = 2;
              return A._asyncAwait(t1.get$properties().get$node().inspectorService.invokeSetFlexProperties$3(new A.InspectorInstanceRef(t2), changedProperties.mainAxisAlignment, changedProperties.crossAxisAlignment), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 127
  };
  A._FlexLayoutExplorerWidgetState_build_closure.prototype = {
    call$2(context, _) {
      return new A.LayoutBuilder(this.$this.get$_flex0$_buildLayout(), null);
    },
    $signature: 233
  };
  A._FlexLayoutExplorerWidgetState__buildLayout_closure.prototype = {
    call$0() {
      return this.$this.onTap$1(this.propertiesLocal);
    },
    $signature: 0
  };
  A.VisualizeFlexChildren.prototype = {
    createState$0() {
      return new A._VisualizeFlexChildrenState(B._StateLifecycle_0);
    }
  };
  A._VisualizeFlexChildrenState.prototype = {
    build$1(context) {
      var theme, _this = this, _null = null,
        t1 = _this.lastHighlighted,
        t2 = _this._widget.highlighted;
      if (t1 != t2) {
        _this.lastHighlighted = t2;
        if (t2 != null)
          $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._VisualizeFlexChildrenState_build_closure(_this));
      }
      if (!_this._widget.properties.get$hasChildren())
        return B.Center_nZd;
      theme = A.Theme_of(context);
      return A.VisualizeWidthAndHeightWithConstraints$(_null, A.Container$(_null, new A.LayoutBuilder(new A._VisualizeFlexChildrenState_build_closure0(_this, theme.colorScheme), _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, A.Border_Border$all(theme.primaryColorLight, 1), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, B.EdgeInsets_8_8_0_0, _null, _null, _null, _null), _this._widget.properties, true);
    }
  };
  A._VisualizeFlexChildrenState_build_closure.prototype = {
    call$1(_) {
      var selectedRenderObject,
        t1 = $.$get$_VisualizeFlexChildrenState_selectedChildKey();
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1);
      selectedRenderObject = t1 == null ? null : t1.get$renderObject();
      if (selectedRenderObject != null && this.$this._widget.scrollController._positions.length !== 0)
        B.JSArray_methods.get$single(this.$this._widget.scrollController._positions).ensureVisible$3$alignment$duration(selectedRenderObject, 0.5, B.Duration_200000);
    },
    $signature: 3
  };
  A._VisualizeFlexChildrenState_build_closure0.prototype = {
    call$2(context, constraints) {
      var renderProperties, mainAxisSpaces, crossAxisSpaces, childrenRenderWidgets, selectedWidget, i, child, isSelected, visualizer, t6, _i, t7, t8, _null = null,
        maxWidth = constraints.maxWidth,
        maxHeight = constraints.maxHeight,
        maxSizeAvailable = new A._VisualizeFlexChildrenState_build_closure_maxSizeAvailable(maxWidth, maxHeight),
        t1 = this.$this,
        t2 = t1._widget.properties,
        t3 = B.JSNumber_methods.roundToDouble$0(250 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t4 = B.JSNumber_methods.roundToDouble$0(400 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t5 = B.JSNumber_methods.roundToDouble$0(250 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        childrenAndMainAxisSpacesRenderProps = t2.childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth(B.JSNumber_methods.roundToDouble$0(400 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t4, maxSizeAvailable, t5, t3);
      t3 = A._arrayInstanceType(childrenAndMainAxisSpacesRenderProps);
      t5 = t3._eval$1("WhereIterable<1>");
      t4 = t5._eval$1("Iterable.E");
      renderProperties = A.List_List$of(new A.WhereIterable(childrenAndMainAxisSpacesRenderProps, new A._VisualizeFlexChildrenState_build__closure(), t5), true, t4);
      mainAxisSpaces = A.List_List$of(new A.WhereIterable(childrenAndMainAxisSpacesRenderProps, new A._VisualizeFlexChildrenState_build__closure0(), t5), true, t4);
      crossAxisSpaces = t1._widget.properties.crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable(renderProperties, maxSizeAvailable);
      t4 = type$.JSArray_Widget;
      childrenRenderWidgets = A._setArrayType([], t4);
      for (selectedWidget = _null, i = 0; t2 = t1._widget, t5 = t2.children, i < t5.length; ++i) {
        child = t5[i];
        isSelected = t2.highlighted === child;
        t5 = isSelected ? $.$get$_VisualizeFlexChildrenState_selectedChildKey() : _null;
        visualizer = new A.FlexChildVisualizer(t2.state, isSelected, child, renderProperties[i], t5);
        if (isSelected)
          selectedWidget = visualizer;
        else
          childrenRenderWidgets.push(visualizer);
      }
      if (selectedWidget != null)
        childrenRenderWidgets.push(selectedWidget);
      t2 = A._setArrayType([], type$.JSArray_FreeSpaceVisualizerWidget);
      for (t5 = A.List_List$of(mainAxisSpaces, true, type$.RenderProperties), B.JSArray_methods.addAll$1(t5, crossAxisSpaces), t6 = t5.length, _i = 0; _i < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i)
        t2.push(new A.FreeSpaceVisualizerWidget(t5[_i], _null));
      t5 = t1._widget;
      t6 = t5.scrollController;
      t5 = t5.properties;
      t5 = t5.get$direction(t5);
      t7 = t1._widget;
      t8 = t7.scrollController;
      t7 = t7.direction === B.Axis_0 ? A.sum(new A.MappedListIterable(childrenAndMainAxisSpacesRenderProps, new A._VisualizeFlexChildrenState_build__closure1(), t3._eval$1("MappedListIterable<1,double>"))) : maxWidth;
      t3 = new A.BoxConstraints(maxWidth, t7, maxHeight, t1._widget.direction === B.Axis_1 ? A.sum(new A.MappedListIterable(childrenAndMainAxisSpacesRenderProps, new A._VisualizeFlexChildrenState_build__closure2(), t3._eval$1("MappedListIterable<1,double>"))) : maxHeight).normalize$0(0);
      t4 = A._setArrayType([new A.LayoutExplorerBackground(this.colorScheme, _null)], t4);
      B.JSArray_methods.addAll$1(t4, t2);
      B.JSArray_methods.addAll$1(t4, childrenRenderWidgets);
      return A.Scrollbar$(A.SingleChildScrollView$(new A.ConstrainedBox(t3, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t4, _null), _null), t8, B.DragStartBehavior_1, _null, _null, false, t5), t6, _null, _null, true);
    },
    $signature: 211
  };
  A._VisualizeFlexChildrenState_build_closure_maxSizeAvailable.prototype = {
    call$1(axis) {
      return axis === B.Axis_0 ? this.maxWidth : this.maxHeight;
    },
    $signature: 181
  };
  A._VisualizeFlexChildrenState_build__closure.prototype = {
    call$1(renderProps) {
      return !renderProps.isFreeSpace;
    },
    $signature: 176
  };
  A._VisualizeFlexChildrenState_build__closure0.prototype = {
    call$1(renderProps) {
      return renderProps.isFreeSpace;
    },
    $signature: 176
  };
  A._VisualizeFlexChildrenState_build__closure1.prototype = {
    call$1(renderSize) {
      return renderSize.width;
    },
    $signature: 235
  };
  A._VisualizeFlexChildrenState_build__closure2.prototype = {
    call$1(renderSize) {
      return renderSize.height;
    },
    $signature: 235
  };
  A.FlexChildVisualizer.prototype = {
    onChangeFlexFactor$1(newFlexFactor) {
      return this.onChangeFlexFactor$body$FlexChildVisualizer(newFlexFactor);
    },
    onChangeFlexFactor$body$FlexChildVisualizer(newFlexFactor) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2;
      var $async$onChangeFlexFactor$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.state._layout_explorer_widget$_dirty = true;
              t1 = $async$self.renderProperties;
              t2 = t1.layoutProperties.get$node().inspectorService;
              t2.toString;
              $async$goto = 2;
              return A._asyncAwait(t2.invokeSetFlexFactor$2(new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(t1.layoutProperties.get$node().json, "valueId"))), newFlexFactor), $async$onChangeFlexFactor$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$onChangeFlexFactor$1, $async$completer);
    },
    onChangeFlexFit$1(newFlexFit) {
      return this.onChangeFlexFit$body$FlexChildVisualizer(newFlexFit);
    },
    onChangeFlexFit$body$FlexChildVisualizer(newFlexFit) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2;
      var $async$onChangeFlexFit$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.state._layout_explorer_widget$_dirty = true;
              t1 = $async$self.renderProperties;
              t2 = t1.layoutProperties.get$node().inspectorService;
              t2.toString;
              t1 = A._asStringQ(J.$index$asx(t1.layoutProperties.get$node().json, "valueId"));
              newFlexFit.toString;
              $async$goto = 2;
              return A._asyncAwait(t2.invokeSetFlexFit$2(new A.InspectorInstanceRef(t1), newFlexFit), $async$onChangeFlexFit$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$onChangeFlexFit$1, $async$completer);
    },
    _buildFlexFactorChangerDropdown$1(maximumFlexFactor) {
      var t2, t3, i, _null = null,
        propertiesLocal = this.renderProperties.layoutProperties,
        buildMenuItem = new A.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem(new A.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild(propertiesLocal)),
        t1 = propertiesLocal.get$flexFactor();
      t1 = t1 == null ? _null : B.JSInt_methods.clamp$2(B.JSNumber_methods.toInt$0(t1), 0, maximumFlexFactor);
      t2 = A.Container$(_null, _null, B.Clip_0, _null, _null, B.BoxDecoration_cwZ, _null, 1, _null, _null, _null, _null, _null, _null);
      t3 = A._setArrayType([buildMenuItem.call$1(_null)], type$.JSArray_DropdownMenuItem_int);
      for (i = 0; i <= maximumFlexFactor; ++i)
        t3.push(buildMenuItem.call$1(i));
      return A.DropdownButton$(B.Color_4283790975, false, false, t3, _null, this.get$onChangeFlexFactor(), _null, _null, t2, t1, type$.int);
    },
    _buildFlexFitChangerDropdown$0() {
      var t2, t3, t4, _null = null,
        t1 = new A.FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription(),
        propertiesLocal = this.renderProperties.layoutProperties;
      if (propertiesLocal.get$description(propertiesLocal) === "Expanded")
        return t1.call$1(B.FlexFit_0);
      t1 = new A.FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem(t1);
      t2 = propertiesLocal.get$flexFit();
      t3 = A.Container$(_null, _null, B.Clip_0, _null, _null, B.BoxDecoration_cwZ, _null, 1, _null, _null, _null, _null, _null, _null);
      t4 = A._setArrayType([t1.call$1(B.FlexFit_1)], type$.JSArray_DropdownMenuItem_FlexFit);
      if (propertiesLocal.get$description(propertiesLocal) !== "Expanded")
        t4.push(t1.call$1(B.FlexFit_0));
      return A.DropdownButton$(B.Color_4278229706, false, false, t4, _null, this.get$onChangeFlexFit(), _null, _null, t3, t2, type$.FlexFit);
    },
    build$1(context) {
      var t7, t8, t9, t10, t11, t12, t13, t14, currentFlexFactor, _this = this, _null = null,
        t1 = _this.renderProperties,
        t2 = t1.width,
        t3 = t1.height,
        t4 = t1.dx,
        t5 = t1.dy,
        t6 = t1.layoutProperties;
      t6.toString;
      t7 = _this.state;
      t8 = t7.get$properties();
      t8.toString;
      t9 = A.Theme_of(context);
      t10 = t7.__LayoutExplorerWidgetState_entranceController;
      if (t10 === $)
        A.throwUnnamedLateFieldNI();
      t11 = t6.get$description(t6);
      if (t11 == null)
        t11 = "";
      t12 = A.LayoutPropertiesExtension_get_overflowSide(t6);
      t13 = B.JSNumber_methods.roundToDouble$0(8 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t14 = t1.layoutProperties.get$flexFactor();
      currentFlexFactor = t14 == null ? _null : B.JSNumber_methods.toInt$0(t14);
      if (currentFlexFactor == null)
        currentFlexFactor = 0;
      t14 = A._setArrayType([new A.Flexible(1, B.FlexFit_1, _this._buildFlexFactorChangerDropdown$1(Math.max(currentFlexFactor, 5)), _null)], type$.JSArray_Widget);
      if (!t1.layoutProperties.get$hasFlexFactor()) {
        t1 = t7.get$properties();
        t1.toString;
        t1 = t1.get$isMainAxisHorizontal() ? "horizontal" : "vertical";
        t14.push(A.Text$("unconstrained " + t1, _null, 2, B.TextOverflow_2, _null, true, A.TextStyle$(_null, _null, t9.colorScheme.brightness === B.Brightness_1 ? B.Color_4294280299 : B.Color_4292780169, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.FontStyle_1, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, 0.8));
      }
      t14.push(_this._buildFlexFitChangerDropdown$0());
      return A.Positioned$(_null, A.GestureDetector$(_null, A.SizedBox$(A.AnimatedBuilder$(t10, new A.FlexChildVisualizer_build_buildEntranceAnimation(_this, t8, t6, new A.Size(t2, t3)), A.WidgetVisualizer$(A.VisualizeWidthAndHeightWithConstraints$(t13, new A.Align(B.Alignment_1_m1, _null, _null, A.Container$(_null, A.Column$(t14, B.CrossAxisAlignment_1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, _null, _null, _null, _null, _null, _null, B.EdgeInsets_8_8_0_0, _null, _null, _null, _null), _null), t6, true), _null, _this.isSelected, false, _this.layoutProperties, t12, t11)), t3, t2), B.DragStartBehavior_1, false, _null, new A.FlexChildVisualizer_build_closure(_this, t6), _null, _null, _null, _null, _null, new A.FlexChildVisualizer_build_closure0(_this, t6), _null, _null, _null, new A.FlexChildVisualizer_build_closure1(_this, t6), _null, _null, _null, _null, _null, _null), _null, _null, t4, _null, t5, _null);
    }
  };
  A.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild.prototype = {
    call$1(flexFactor) {
      var _null = null,
        t1 = flexFactor == this.propertiesLocal.get$flexFactor() ? B.TextStyle_ato : B.TextStyle_yrN;
      return A.Text$("flex: " + A.S(flexFactor), _null, _null, _null, _null, _null, t1, _null, _null, _null, _null);
    },
    $signature: 409
  };
  A.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem.prototype = {
    call$1(flexFactor) {
      return A.DropdownMenuItem$(this.buildMenuitemChild.call$1(flexFactor), null, flexFactor, type$.int);
    },
    $signature: 405
  };
  A.FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription.prototype = {
    call$1(flexFit) {
      var _null = null;
      return A.Text$("fit: " + A.describeEnum(flexFit), _null, _null, _null, _null, _null, B.TextStyle_yrN, _null, _null, _null, _null);
    },
    $signature: 402
  };
  A.FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem.prototype = {
    call$1(flexFit) {
      return A.DropdownMenuItem$(this.flexFitDescription.call$1(flexFit), null, flexFit, type$.FlexFit);
    },
    $signature: 396
  };
  A.FlexChildVisualizer_build_buildEntranceAnimation.prototype = {
    call$2(context, child) {
      var t2, t3, t4, _this = this,
        t1 = _this.rootLocal,
        vertical = t1.get$isMainAxisVertical(),
        horizontal = t1.get$isMainAxisHorizontal(),
        size = A._Cell$named("size");
      if (_this.propertiesLocal.get$hasFlexFactor()) {
        t1 = horizontal ? B.JSNumber_methods.roundToDouble$0(250 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) - 50 : _this.renderSize._dx;
        t2 = vertical ? B.JSNumber_methods.roundToDouble$0(250 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) - 50 : _this.renderSize._dy;
        t3 = _this.renderSize;
        t4 = _this.$this.state.__LayoutExplorerWidgetState_entranceCurve;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4 = new A.SizeTween(new A.Size(t1, t2), t3).transform$1(0, t4.get$value(t4));
        t4.toString;
        size.__late_helper$_value = t4;
        t1 = t3;
      } else
        t1 = size.__late_helper$_value = _this.renderSize;
      t2 = _this.$this.state.__LayoutExplorerWidgetState_entranceCurve;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.min(A._setArrayType([t2.get$value(t2) * 5, 1], type$.JSArray_double));
      t3 = Math.max(0, (t1._dx - size._readLocal$0()._dx) / 2);
      t1 = Math.max(0, (t1._dy - size._readLocal$0()._dy) / 2);
      return A.Opacity$(false, new A.Padding(new A.EdgeInsets(t3, t1, t3, t1), child, null), t2);
    },
    $signature: 56
  };
  A.FlexChildVisualizer_build_closure1.prototype = {
    call$0() {
      return this.$this.state.onTap$1(this.propertiesLocal);
    },
    $signature: 0
  };
  A.FlexChildVisualizer_build_closure.prototype = {
    call$0() {
      var t1 = this.propertiesLocal.get$node();
      this.$this.state._widget.inspectorController.refreshSelection$3(t1, t1, true);
      return null;
    },
    $signature: 0
  };
  A.FlexChildVisualizer_build_closure0.prototype = {
    call$0() {
      var t1 = this.propertiesLocal.get$node();
      this.$this.state._widget.inspectorController.refreshSelection$3(t1, t1, true);
      return null;
    },
    $signature: 0
  };
  A.AnimatedFlexLayoutProperties.prototype = {
    get$crossAxisAlignment() {
      return this.end.get$crossAxisAlignment();
    },
    get$mainAxisAlignment() {
      return this.end.get$mainAxisAlignment();
    },
    childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth(largestRenderHeight, largestRenderWidth, maxSizeAvailable, smallestRenderHeight, smallestRenderWidth) {
      var t1, t2, t3, i, beginProps, endProps, t, t4, t5, t6, t7, t8, t9, _this = this,
        beginRenderProperties = _this.begin.childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth(largestRenderHeight, largestRenderWidth, maxSizeAvailable, smallestRenderHeight, smallestRenderWidth),
        endRenderProperties = _this.end.childrenRenderProperties$5$largestRenderHeight$largestRenderWidth$maxSizeAvailable$smallestRenderHeight$smallestRenderWidth(largestRenderHeight, largestRenderWidth, maxSizeAvailable, smallestRenderHeight, smallestRenderWidth),
        result = A._setArrayType([], type$.JSArray_RenderProperties);
      for (t1 = _this._utils1$_children, t2 = _this.animation, t3 = type$.LayoutProperties, i = 0; i < t1.length; ++i) {
        beginProps = beginRenderProperties[i];
        endProps = endRenderProperties[i];
        t = t2.get$value(t2);
        t4 = endProps.axis;
        t5 = A.Offset_lerp(new A.Offset(beginProps.dx, beginProps.dy), new A.Offset(endProps.dx, endProps.dy), t);
        t6 = A.Size_lerp(new A.Size(beginProps.width, beginProps.height), new A.Size(endProps.width, endProps.height), t);
        t7 = A.Size_lerp(new A.Size(beginProps.realWidth, beginProps.realHeight), new A.Size(endProps.realWidth, endProps.realHeight), t);
        t8 = beginProps.layoutProperties;
        t8.toString;
        t9 = endProps.layoutProperties;
        t9.toString;
        result.push(A.RenderProperties$(t4, false, A.AnimatedLayoutProperties$(t8, t9, t2, t3), t5, t7, t6));
      }
      B.JSArray_methods.addAll$1(result, new A.WhereIterable(endRenderProperties, new A.AnimatedFlexLayoutProperties_childrenRenderProperties_closure(), A._arrayInstanceType(endRenderProperties)._eval$1("WhereIterable<1>")));
      return result;
    },
    crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable(childrenRenderProperties, maxSizeAvailable) {
      return this.end.crossAxisSpaces$2$childrenRenderProperties$maxSizeAvailable(childrenRenderProperties, maxSizeAvailable);
    },
    get$direction(_) {
      var t1 = this.end;
      return t1.get$direction(t1);
    },
    get$horizontalDirectionDescription() {
      return this.end.get$horizontalDirectionDescription();
    },
    get$isMainAxisHorizontal() {
      return this.end.get$isMainAxisHorizontal();
    },
    get$isMainAxisVertical() {
      return this.end.get$isMainAxisVertical();
    },
    get$mainAxisSize() {
      return this.end.get$mainAxisSize();
    },
    get$textBaseline(_) {
      var t1 = this.end;
      return t1.get$textBaseline(t1);
    },
    get$textDirection() {
      return this.end.get$textDirection();
    },
    get$totalFlex() {
      var t1 = this.animation;
      t1 = A.lerpDouble(this.begin.get$totalFlex(), this.end.get$totalFlex(), t1.get$value(t1));
      t1.toString;
      return t1;
    },
    get$type(_) {
      var t1 = this.end;
      return t1.get$type(t1);
    },
    get$verticalDirection() {
      return this.end.get$verticalDirection();
    },
    get$verticalDirectionDescription() {
      return this.end.get$verticalDirectionDescription();
    },
    copyWith$2$crossAxisAlignment$mainAxisAlignment(crossAxisAlignment, mainAxisAlignment) {
      var _this = this,
        t1 = _this.get$size(_this),
        t2 = _this.end,
        t3 = t2.get$node(),
        t4 = _this.get$constraints(),
        t5 = _this.begin.get$isFlex() && t2.get$isFlex(),
        t6 = t2.get$description(t2),
        t7 = _this.get$flexFactor(),
        t8 = t2.get$direction(t2),
        t9 = mainAxisAlignment == null ? t2.get$mainAxisAlignment() : mainAxisAlignment,
        t10 = t2.get$mainAxisSize(),
        t11 = crossAxisAlignment == null ? t2.get$crossAxisAlignment() : crossAxisAlignment,
        t12 = t2.get$textDirection(),
        t13 = t2.get$verticalDirection();
      t2 = t2.get$textBaseline(t2);
      return A.FlexLayoutProperties$(_this._utils1$_children, t4, t11, t6, t8, t7, null, t5, t9, t10, t3, t1, t2, t12, t13);
    },
    copyWith$0() {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(null, null);
    },
    copyWith$1$mainAxisAlignment(mainAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(null, mainAxisAlignment);
    },
    copyWith$1$crossAxisAlignment(crossAxisAlignment) {
      return this.copyWith$2$crossAxisAlignment$mainAxisAlignment(crossAxisAlignment, null);
    },
    $isFlexLayoutProperties: 1
  };
  A.AnimatedFlexLayoutProperties_childrenRenderProperties_closure.prototype = {
    call$1(prop) {
      return prop.isFreeSpace;
    },
    $signature: 176
  };
  A.LayoutExplorerTab.prototype = {
    createState$0() {
      return new A._LayoutExplorerTabState(A.Disposer$(), null, B._StateLifecycle_0);
    }
  };
  A._LayoutExplorerTabState.prototype = {
    get$selected(_) {
      var t1 = this._widget.controller._selectedNode._change_notifier$_value;
      return t1 == null ? null : t1._diagnostic;
    },
    rootWidget$1(node) {
      var _null = null,
        t1 = node != null;
      if (t1 && A.FlexLayoutExplorerWidget_shouldDisplay(node))
        return new A.FlexLayoutExplorerWidget(this._widget.controller, _null);
      if (t1 && true)
        return new A.BoxLayoutExplorerWidget(this._widget.controller, _null);
      return A.Center$(A.Text$(t1 ? "Currently, Layout Explorer only supports Box and Flex-based widgets." : "Select a widget to view its layout.", _null, _null, B.TextOverflow_0, _null, _null, _null, B.TextAlign_2, _null, _null, _null), _null, _null, _null);
    },
    onSelectionChanged$0() {
      var _this = this;
      if (A.getRuntimeType(_this.rootWidget$1(_this.previousSelection)) !== A.getRuntimeType(_this.rootWidget$1(_this.get$selected(_this))))
        _this.setState$1(new A._LayoutExplorerTabState_onSelectionChanged_closure(_this));
    },
    initState$0() {
      var _this = this;
      _this.super$__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin$initState();
      _this.addAutoDisposeListener$2(_this._widget.controller._selectedNode, _this.get$onSelectionChanged());
    },
    build$1(context) {
      var _this = this;
      _this.super$AutomaticKeepAliveClientMixin$build(context);
      return _this.rootWidget$1(_this.get$selected(_this));
    },
    get$wantKeepAlive() {
      return true;
    }
  };
  A._LayoutExplorerTabState_onSelectionChanged_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.previousSelection = t1.get$selected(t1);
    },
    $signature: 0
  };
  A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.ArrowType.prototype = {
    toString$0(_) {
      return "ArrowType." + this._core$_name;
    }
  };
  A.ArrowWrapper.prototype = {
    get$verticalMarginFromArrow() {
      if (this.child == null || this.direction === B.Axis_0)
        return 0;
      return this.childMarginFromArrow;
    },
    get$horizontalMarginFromArrow() {
      if (this.child == null || this.direction === B.Axis_1)
        return 0;
      return this.childMarginFromArrow;
    },
    build$1(context) {
      var t8, _this = this, _null = null,
        t1 = _this.get$verticalMarginFromArrow(),
        t2 = _this.get$horizontalMarginFromArrow(),
        t3 = _this.arrowColor,
        t4 = _this.arrowHeadSize,
        t5 = _this.arrowStrokeWidth,
        t6 = _this.startArrowType,
        t7 = _this.isBidirectional;
      if (t7)
        t8 = true;
      else
        t8 = t6 === B.ArrowType_1 || t6 === B.ArrowType_0;
      t1 = A._setArrayType([A.Expanded$(A.Container$(_null, A.ArrowWidget$(t3, t4, t8, t5, t6), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, 0, t2, t1), _null, _null, _null, _null), 1)], type$.JSArray_Widget);
      t2 = _this.child;
      if (t2 != null)
        t1.push(t2);
      t2 = _this.get$verticalMarginFromArrow();
      t6 = _this.get$horizontalMarginFromArrow();
      t8 = _this.endArrowType;
      if (t7)
        t7 = true;
      else
        t7 = t8 === B.ArrowType_2 || t8 === B.ArrowType_3;
      t1.push(A.Expanded$(A.Container$(_null, A.ArrowWidget$(t3, t4, t7, t5, t8), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(t6, t2, 0, 0), _null, _null, _null, _null), 1));
      return A.Flex$(t1, B.CrossAxisAlignment_2, _this.direction, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null, B.VerticalDirection_1);
    }
  };
  A.ArrowWidget.prototype = {
    build$1(context) {
      var _null = null;
      return A.CustomPaint$(A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, this._arrow$_painter, B.Size_0_0);
    }
  };
  A._ArrowPainter.prototype = {
    headIsGreaterThanConstraint$1(size) {
      var t1 = this.type;
      if (t1 === B.ArrowType_1 || t1 === B.ArrowType_2)
        return this.headHeight >= size._dx;
      return this.headHeight >= size._dy;
    },
    shouldRepaint$1(oldDelegate) {
      var _this = this;
      return !(oldDelegate instanceof A._ArrowPainter && _this.headSize === oldDelegate.headSize && _this.strokeWidth === oldDelegate.strokeWidth && _this.color.$eq(0, oldDelegate.color) && _this.type === oldDelegate.type);
    },
    paint$2(canvas, size) {
      var t1, originX, t2, originY, headSizeDividedBy2, t3, p1, t4, p2, p3, startingX, startingY, path, lineStartingPoint, lineEndingPoint, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, _this.color);
      paint.set$strokeWidth(_this.strokeWidth);
      t1 = size._dx;
      originX = t1 / 2;
      t2 = size._dy;
      originY = t2 / 2;
      if (!_this.headIsGreaterThanConstraint$1(size) && _this.shouldDrawHead) {
        headSizeDividedBy2 = _this.headSize / 2;
        t3 = _this.type.index;
        switch (t3) {
          case 0:
            p1 = new A.Offset(originX, 0);
            t4 = _this.headHeight;
            p2 = new A.Offset(originX - headSizeDividedBy2, t4);
            p3 = new A.Offset(originX + headSizeDividedBy2, t4);
            break;
          case 1:
            p1 = new A.Offset(0, originY);
            t4 = _this.headHeight;
            p2 = new A.Offset(t4, originY - headSizeDividedBy2);
            p3 = new A.Offset(t4, originY + headSizeDividedBy2);
            break;
          case 2:
            startingX = t1 - _this.headHeight;
            p1 = new A.Offset(t1, originY);
            p2 = new A.Offset(startingX, originY - headSizeDividedBy2);
            p3 = new A.Offset(startingX, originY + headSizeDividedBy2);
            break;
          case 3:
            startingY = t2 - _this.headHeight;
            p1 = new A.Offset(originX, t2);
            p2 = new A.Offset(originX - headSizeDividedBy2, startingY);
            p3 = new A.Offset(originX + headSizeDividedBy2, startingY);
            break;
          default:
            p1 = null;
            p2 = null;
            p3 = null;
        }
        path = A.Path_Path();
        path.moveTo$2(0, p1._dx, p1._dy);
        path.lineTo$2(0, p2._dx, p2._dy);
        path.lineTo$2(0, p3._dx, p3._dy);
        path.close$0(0);
        canvas.drawPath$2(path, paint);
        switch (t3) {
          case 0:
            lineStartingPoint = new A.Offset(originX, _this.headHeight);
            lineEndingPoint = new A.Offset(originX, t2);
            break;
          case 1:
            lineStartingPoint = new A.Offset(_this.headHeight, originY);
            lineEndingPoint = new A.Offset(t1, originY);
            break;
          case 2:
            lineStartingPoint = new A.Offset(0, originY);
            lineEndingPoint = new A.Offset(t1 - _this.headHeight, originY);
            break;
          case 3:
            lineStartingPoint = new A.Offset(originX, 0);
            lineEndingPoint = new A.Offset(originX, t2 - _this.headHeight);
            break;
          default:
            lineStartingPoint = B.Offset_0_0;
            lineEndingPoint = B.Offset_0_0;
        }
      } else
        switch (_this.type.index) {
          case 0:
          case 3:
            lineStartingPoint = new A.Offset(originX, 0);
            lineEndingPoint = new A.Offset(originX, t2);
            break;
          case 1:
          case 2:
            lineStartingPoint = new A.Offset(0, originY);
            lineEndingPoint = new A.Offset(t1, originY);
            break;
          default:
            lineStartingPoint = B.Offset_0_0;
            lineEndingPoint = B.Offset_0_0;
        }
      canvas.drawLine$3(lineStartingPoint, lineEndingPoint, paint);
    }
  };
  A.FreeSpaceVisualizerWidget.prototype = {
    build$1(context) {
      var t4, t5, t6, widthWidget, t7, heightWidget, _null = null,
        colorScheme = A.Theme_of(context).colorScheme,
        t1 = this.renderProperties,
        heightDescription = "h=" + B.JSNumber_methods.toStringAsFixed$1(t1.realHeight, 1),
        widthDescription = "w=" + B.JSNumber_methods.toStringAsFixed$1(t1.realWidth, 1),
        t2 = t1.realWidth,
        t3 = t1.layoutProperties;
      t3 = t3 == null ? _null : t3.get$width(t3);
      t4 = A.dimensionDescription(A.TextSpan$(_null, _null, _null, _null, widthDescription), false, colorScheme);
      t5 = B.JSNumber_methods.roundToDouble$0(4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t6 = type$.JSArray_Widget;
      widthWidget = A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, t4, _null), A.Container$(_null, A.ArrowWrapper$bidirectional(B.Color_4283790975, B.JSNumber_methods.roundToDouble$0(8 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 2, _null, 4, B.Axis_0), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, t5, 0, t5), _null, _null, _null, _null)], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
      t5 = B.JSNumber_methods.roundToDouble$0(72 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = A.dimensionDescription(A.TextSpan$(_null, _null, _null, _null, heightDescription), false, colorScheme);
      t7 = B.JSNumber_methods.roundToDouble$0(4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      heightWidget = A.Container$(_null, A.Row$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, t4, _null), A.Container$(_null, A.ArrowWrapper$bidirectional(B.Color_4283790975, B.JSNumber_methods.roundToDouble$0(8 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 2, _null, 0, B.Axis_1), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(t7, 0, t7, 0), _null, _null, _null, _null)], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5);
      t5 = t1.dx;
      t6 = t1.dy;
      t7 = t1.width;
      t1 = t1.height;
      t2 = t2 !== t3 ? widthWidget : heightWidget;
      return A.Positioned$(_null, A.Container$(_null, A.DevToolsTooltip$(t2, _null, _null, widthDescription + "\n" + heightDescription, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000), B.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, t7), _null, _null, t5, _null, t6, _null);
    }
  };
  A.PaddingVisualizerWidget.prototype = {
    build$1(context) {
      var heightWidget, _null = null,
        colorScheme = A.Theme_of(context).colorScheme,
        t1 = this.renderProperties,
        t2 = B.JSNumber_methods.toStringAsFixed$1(t1.realHeight, 1),
        t3 = A.dimensionDescription(A.TextSpan$(_null, _null, _null, _null, "w=" + B.JSNumber_methods.toStringAsFixed$1(t1.realWidth, 1)), false, colorScheme),
        t4 = B.JSNumber_methods.roundToDouble$0(4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t5 = type$.JSArray_Widget,
        widthWidget = A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, t3, _null), A.Container$(_null, A.ArrowWrapper$bidirectional(B.Color_4283790975, B.JSNumber_methods.roundToDouble$0(8 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 2, _null, 4, B.Axis_0), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, t4, 0, t4), _null, _null, _null, _null)], t5), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
      t4 = B.JSNumber_methods.roundToDouble$0(72 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = A.dimensionDescription(A.TextSpan$(_null, _null, _null, _null, "h=" + t2), false, colorScheme);
      t3 = B.JSNumber_methods.roundToDouble$0(4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      heightWidget = A.Container$(_null, A.Row$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, t2, _null), A.Container$(_null, A.ArrowWrapper$bidirectional(B.Color_4283790975, B.JSNumber_methods.roundToDouble$0(8 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 2, _null, 0, B.Axis_1), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(t3, 0, t3, 0), _null, _null, _null, _null)], t5), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t4);
      t4 = t1.dx;
      t5 = t1.dy;
      t3 = A.safePositiveDouble(t1.width);
      t1 = A.safePositiveDouble(t1.height);
      return A.Positioned$(_null, A.Container$(_null, this.horizontal ? widthWidget : heightWidget, B.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, t3), _null, _null, t4, _null, t5, _null);
    }
  };
  A.LayoutExplorerWidget.prototype = {};
  A.LayoutExplorerWidgetState.prototype = {
    get$properties() {
      var _this = this,
        t1 = _this._previousProperties;
      if (t1 == null)
        t1 = A._instanceType(_this)._eval$1("LayoutExplorerWidgetState.L?")._as(_this._animatedProperties);
      return t1 == null ? _this._layout_explorer_widget$_properties : t1;
    },
    get$selectedNode() {
      var t1 = this._widget.inspectorController._selectedNode._change_notifier$_value;
      return t1 == null ? null : t1._diagnostic;
    },
    onSelectionChanged$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, selectedNodeLocal, t1, prevRootId, newSelection;
      var $async$onSelectionChanged$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._framework$_element == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              selectedNodeLocal = $async$self.get$selectedNode();
              if (selectedNodeLocal == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.shouldDisplay$1(selectedNodeLocal)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._layout_explorer_widget$_properties;
              t1 = t1 == null ? null : t1.get$node();
              prevRootId = t1 == null ? null : A._asStringQ(J.$index$asx(t1.json, "objectId"));
              t1 = $async$self.getRoot$1(selectedNodeLocal);
              $async$goto = prevRootId != (t1 == null ? null : A._asStringQ(J.$index$asx(t1.json, "objectId"))) ? 3 : 5;
              break;
            case 3:
              // then
              $async$self._layout_explorer_widget$_dirty = false;
              $async$goto = 6;
              return A._asyncAwait($async$self.fetchLayoutProperties$0(), $async$onSelectionChanged$0);
            case 6:
              // returning from await.
              newSelection = $async$result;
              if (newSelection != null)
                $async$self._setProperties$1(newSelection);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$self.updateHighlighted$1($async$self._layout_explorer_widget$_properties);
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$onSelectionChanged$0, $async$completer);
    },
    fetchLayoutProperties$0() {
      return this.fetchLayoutProperties$body$LayoutExplorerWidgetState(A._instanceType(this)._eval$1("LayoutExplorerWidgetState.L?"));
    },
    fetchLayoutProperties$body$LayoutExplorerWidgetState($async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, manager, nextObjectGroup, node, t1;
      var $async$fetchLayoutProperties$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.objectGroupManager;
              if (t1 != null)
                t1.cancelNext$0();
              manager = $async$self.objectGroupManager;
              nextObjectGroup = manager.get$next(manager);
              $async$goto = 3;
              return A._asyncAwait(nextObjectGroup.getLayoutExplorerNode$1($async$self.getRoot$1($async$self.get$selectedNode())), $async$fetchLayoutProperties$0);
            case 3:
              // returning from await.
              node = $async$result;
              if (node == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (!nextObjectGroup.disposed)
                manager.promoteNext$0();
              $async$returnValue = $async$self.computeLayoutProperties$1(node);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$fetchLayoutProperties$0, $async$completer);
    },
    _registerInspectorControllerService$0() {
      var t1 = this._widget.inspectorController,
        t2 = this.__LayoutExplorerWidgetState__onSelectionChangedCallback;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1._selectedNode.addListener$1(0, t2);
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
      if (t2 != null)
        t2.clients.add$1(0, this);
    },
    _unregisterInspectorControllerService$0() {
      var t1 = this._widget.inspectorController,
        t2 = this.__LayoutExplorerWidgetState__onSelectionChangedCallback;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1._selectedNode.removeListener$1(0, t2);
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
      if (t2 != null)
        t2.clients.remove$1(0, this);
    },
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.__LayoutExplorerWidgetState_rateLimiter = new A.RateLimiter(_this.get$refresh(_this), 333);
      _this._registerInspectorControllerService$0();
      _this._initAnimationStates$0();
      _this._updateObjectGroupManager$0();
      _this._animateProperties$0();
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this._updateObjectGroupManager$0();
      _this._animateProperties$0();
      if (oldWidget.inspectorController !== _this._widget.inspectorController) {
        _this._unregisterInspectorControllerService$0();
        _this._registerInspectorControllerService$0();
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this.__LayoutExplorerWidgetState_entranceController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.__LayoutExplorerWidgetState_changeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this._unregisterInspectorControllerService$0();
      _this.super$_LayoutExplorerWidgetState_State_TickerProviderStateMixin$dispose();
    },
    _animateProperties$0() {
      var t1, t2, _this = this;
      if (_this._animatedProperties != null) {
        t1 = _this.__LayoutExplorerWidgetState_changeController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
      }
      t1 = _this._previousProperties;
      t2 = _this.__LayoutExplorerWidgetState_entranceController;
      if (t1 != null) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.reverse$0(0);
      } else {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.forward$0(0);
      }
    },
    setSelectionInspector$1(node) {
      return this.setSelectionInspector$body$LayoutExplorerWidgetState(node);
    },
    setSelectionInspector$body$LayoutExplorerWidgetState(node) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        service;
      var $async$setSelectionInspector$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
              service = node.inspectorService;
              $async$goto = service instanceof A.ObjectGroup ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait(service.setSelectionInspector$2(new A.InspectorInstanceRef(A._asStringQ(J.$index$asx(node.json, "valueId"))), false), $async$setSelectionInspector$1);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setSelectionInspector$1, $async$completer);
    },
    onTap$1(properties) {
      return this.onTap$body$LayoutExplorerWidgetState(properties);
    },
    onTap$body$LayoutExplorerWidgetState(properties) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$onTap$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.setState$1(new A.LayoutExplorerWidgetState_onTap_closure($async$self, properties));
              $async$goto = 2;
              return A._asyncAwait($async$self.setSelectionInspector$1(properties.get$node()), $async$onTap$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$onTap$1, $async$completer);
    },
    refresh$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, updatedProperties;
      var $async$refresh$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._layout_explorer_widget$_dirty) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._layout_explorer_widget$_dirty = false;
              $async$goto = 3;
              return A._asyncAwait($async$self.fetchLayoutProperties$0(), $async$refresh$0);
            case 3:
              // returning from await.
              updatedProperties = $async$result;
              if (updatedProperties != null)
                $async$self._changeProperties$1(updatedProperties);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$refresh$0, $async$completer);
    },
    _changeProperties$1(nextProperties) {
      var _this = this;
      if (_this._framework$_element == null)
        return;
      _this.updateHighlighted$1(nextProperties);
      _this.setState$1(new A.LayoutExplorerWidgetState__changeProperties_closure(_this, nextProperties));
    },
    _setProperties$1(newProperties) {
      var _this = this;
      if (_this._framework$_element == null)
        return;
      _this.updateHighlighted$1(newProperties);
      if (_this._layout_explorer_widget$_properties === newProperties)
        return;
      _this.setState$1(new A.LayoutExplorerWidgetState__setProperties_closure(_this, newProperties));
      _this._animateProperties$0();
    },
    _initAnimationStates$0() {
      var t2, _this = this, _null = null,
        t1 = A.AnimationController$(_null, B.Duration_400000, 0, _null, 1, _null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(new A.LayoutExplorerWidgetState__initAnimationStates_closure(_this));
      _this.__LayoutExplorerWidgetState_entranceController = t1;
      _this.__LayoutExplorerWidgetState_entranceCurve = A.CurvedAnimation$(B.Cubic_oKc, t1, _null);
      t1 = A.AnimationController$(_null, B.Duration_400000, 0, _null, 1, _null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(new A.LayoutExplorerWidgetState__initAnimationStates_closure0(_this));
      _this.__LayoutExplorerWidgetState_changeController = t1;
      _this.__LayoutExplorerWidgetState_changeAnimation = A.CurvedAnimation$(B.Cubic_oKc, t1, _null);
    },
    _updateObjectGroupManager$0() {
      var service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService,
        t1 = this.objectGroupManager;
      if (service != (t1 == null ? null : t1.inspectorService))
        this.objectGroupManager = new A.InspectorObjectGroupManager(type$.InspectorService._as(service), "flex-layout");
      this.onSelectionChanged$0();
    },
    onFlutterFrame$0() {
      if (this._framework$_element == null)
        return;
      if (this._layout_explorer_widget$_dirty) {
        var t1 = this.__LayoutExplorerWidgetState_rateLimiter;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.scheduleRequest$0();
      }
    },
    onInspectorSelectionChanged$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$onInspectorSelectionChanged$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$onInspectorSelectionChanged$0, $async$completer);
    },
    $isInspectorServiceClient: 1
  };
  A.LayoutExplorerWidgetState_onTap_closure.prototype = {
    call$0() {
      return this.$this.highlighted = this.properties;
    },
    $signature: 0
  };
  A.LayoutExplorerWidgetState__changeProperties_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._animatedProperties = t1.computeAnimatedProperties$1(this.nextProperties);
      t1 = t1.__LayoutExplorerWidgetState_changeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$1$from(0, 0);
    },
    $signature: 0
  };
  A.LayoutExplorerWidgetState__setProperties_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1._previousProperties == null)
        t1._previousProperties = t1._layout_explorer_widget$_properties;
      t1._layout_explorer_widget$_properties = this.newProperties;
    },
    $signature: 0
  };
  A.LayoutExplorerWidgetState__initAnimationStates_closure.prototype = {
    call$1($status) {
      var t1;
      if ($status === B.AnimationStatus_0) {
        t1 = this.$this;
        t1.setState$1(new A.LayoutExplorerWidgetState__initAnimationStates__closure0(t1));
      }
    },
    $signature: 5
  };
  A.LayoutExplorerWidgetState__initAnimationStates__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._previousProperties = null;
      t1 = t1.__LayoutExplorerWidgetState_entranceController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0);
    },
    $signature: 0
  };
  A.LayoutExplorerWidgetState__initAnimationStates_closure0.prototype = {
    call$1($status) {
      var t1;
      if ($status === B.AnimationStatus_3) {
        t1 = this.$this;
        t1.setState$1(new A.LayoutExplorerWidgetState__initAnimationStates__closure(t1));
      }
    },
    $signature: 5
  };
  A.LayoutExplorerWidgetState__initAnimationStates__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._layout_explorer_widget$_properties = t1._animatedProperties.end;
      t1._animatedProperties = null;
      t1 = t1.__LayoutExplorerWidgetState_changeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.set$value(0, 0);
    },
    $signature: 0
  };
  A._LayoutExplorerWidgetState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.OverflowIndicatorPainter.prototype = {
    paint$2(canvas, size) {
      var t1 = this.side,
        bottomOverflow = B.OverflowSide_1 === t1,
        width = bottomOverflow ? size._dx : this.size,
        height = !bottomOverflow ? size._dy : this.size,
        left = bottomOverflow ? 0 : size._dx - width,
        $top = t1 === B.OverflowSide_0 ? 0 : size._dy - height;
      canvas.drawRect$2(new A.Rect(left, $top, left + width, $top + height), $.$get$OverflowIndicatorPainter_indicatorPaint());
    },
    shouldRepaint$1(oldDelegate) {
      var t1;
      if (oldDelegate instanceof A.OverflowIndicatorPainter)
        t1 = this.side !== oldDelegate.side || this.size !== oldDelegate.size;
      else
        t1 = false;
      return t1;
    }
  };
  A.BorderLayout.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.rightWidth,
        t2 = _this.bottomHeight,
        t3 = A._setArrayType([A.Center$(A.Container$(_null, _this.center, B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, 0, t1, t2), _null, _null, _null, _null), _null, _null, _null)], type$.JSArray_Widget);
      t3.push(new A.Align(B.Alignment_1_0, _null, _null, A.Container$(_null, _this.right, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1), _null));
      t3.push(new A.Align(B.Alignment_0_1, _null, _null, A.Container$(_null, _this.bottom, B.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null), _null));
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t3, _null);
    }
  };
  A.Truncateable.prototype = {
    build$1(context) {
      var t1 = this.truncate ? 1 : 0;
      return new A.Flexible(t1, B.FlexFit_1, this.child, null);
    }
  };
  A.WidgetVisualizer.prototype = {
    build$1(context) {
      var theme = A.Theme_of(context),
        t1 = A.WidgetTheme_fromName(A._asStringQ(J.$index$asx(this.layoutProperties.get$node().json, "description"))),
        boxAdjust = this.isSelected ? 4 : 0;
      return new A.LayoutBuilder(new A.WidgetVisualizer_build_closure(this, boxAdjust, t1.color, theme, theme.colorScheme), null);
    }
  };
  A.WidgetVisualizer_build_closure.prototype = {
    call$2(context, constraints) {
      var t7, t8, t9, t10, t11, _this = this, _null = null,
        t1 = _this.$this,
        hintLocal = t1.hint,
        t2 = _this.boxAdjust,
        t3 = _this.borderColor,
        t4 = t1.isSelected,
        t5 = A.Border_Border$all(t3, t4 ? 3 : 1),
        t6 = _this.theme.canvasColor;
      t6 = t4 ? A.ColorExtension_brighten(t6) : A.ColorExtension_darken(t6, 0.05);
      t4 = t4 ? A._setArrayType([new A.BoxShadow(0, B.BlurStyle_0, A.Color$fromARGB(B.JSNumber_methods.round$0(127.5), 0, 0, 0), B.Offset_0_0, 20)], type$.JSArray_BoxShadow) : _null;
      t7 = type$.JSArray_Widget;
      t8 = A._setArrayType([], t7);
      t9 = t1.overflowSide;
      if (t9 != null)
        t8.push(A.Positioned$fill(0, A.CustomPaint$(_null, _null, _null, new A.OverflowIndicatorPainter(t9, 20, _null), B.Size_0_0)));
      t10 = t9 === B.OverflowSide_0 ? 20 : 0;
      t9 = t9 === B.OverflowSide_1 ? 20 : 0;
      t11 = t1.largeTitle ? B.JSNumber_methods.roundToDouble$0(400 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(250 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 0.75;
      t3 = A._setArrayType([new A.Flexible(1, B.FlexFit_1, A.Container$(_null, A.Center$(A.Text$(t1.title, _null, _null, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, _this.colorScheme.brightness === B.Brightness_1 ? B.Color_4294967295 : B.Color_4278190080, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), _null, _null, _null), B.Clip_0, _null, new A.BoxConstraints(0, t11, 0, 1 / 0), new A.BoxDecoration(t3, _null, _null, _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_4_4_4_4, _null, _null, _null), _null)], t7);
      if (hintLocal != null)
        t3.push(new A.Flexible(1, B.FlexFit_1, hintLocal, _null));
      t8.push(A.Container$(_null, A.Column$(A._setArrayType([new A.IntrinsicHeight(A.Row$(t3, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null), _null), A.Expanded$(t1.child, 1)], t7), B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, 0, t10, t9), _null, _null, _null, _null));
      return A.OverflowBox$(B.Alignment_0_0, A.Container$(_null, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t8, _null), B.Clip_0, _null, _null, new A.BoxDecoration(t6, _null, t5, _null, t4, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null), constraints.maxHeight + t2, constraints.maxWidth + t2, constraints.minHeight + t2, constraints.minWidth + t2);
    },
    $signature: 382
  };
  A.AnimatedLayoutProperties.prototype = {
    set$parent(_, _parent) {
      this.end.set$parent(0, _parent);
    },
    get$children(_) {
      return this._utils1$_children;
    },
    _lerpList$2(l1, l2) {
      var animationLocal, t2, t3, t4, i, t5,
        t1 = J.getInterceptor$asx(l1);
      if (t1.get$isEmpty(l1))
        return A._setArrayType([], type$.JSArray_double);
      animationLocal = this.animation;
      t2 = A._setArrayType([], type$.JSArray_double);
      for (t3 = this._utils1$_children, t4 = J.getInterceptor$asx(l2), i = 0; i < t3.length; ++i) {
        t5 = A.lerpDouble(t1.$index(l1, i), t4.$index(l2, i), animationLocal.get$value(animationLocal));
        t5.toString;
        t2.push(t5);
      }
      return t2;
    },
    get$childrenHeights() {
      var t1 = this._lerpList$2(this.begin.get$childrenHeights(), this.end.get$childrenHeights());
      return new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,double>"));
    },
    get$childrenWidths() {
      var t1 = this._lerpList$2(this.begin.get$childrenWidths(), this.end.get$childrenWidths());
      return new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,double>"));
    },
    get$constraints() {
      var t1, exception, _this = this;
      try {
        t1 = _this.animation;
        t1 = A.BoxConstraints_lerp(_this.begin.get$constraints(), _this.end.get$constraints(), t1.get$value(t1));
        return t1;
      } catch (exception) {
        t1 = _this.end.get$constraints();
        return t1;
      }
    },
    describeWidthConstraints$0() {
      var constraintsLocal = this.get$constraints(),
        t1 = constraintsLocal.maxWidth;
      return t1 < 1 / 0 ? A.LayoutProperties_describeAxis(constraintsLocal.minWidth, t1, "w") : "w=unconstrained";
    },
    describeHeightConstraints$0() {
      var constraintsLocal = this.get$constraints(),
        t1 = constraintsLocal.maxHeight;
      return t1 < 1 / 0 ? A.LayoutProperties_describeAxis(constraintsLocal.minHeight, t1, "h") : "h=unconstrained";
    },
    describeWidth$0() {
      return "w=" + B.JSNumber_methods.toStringAsFixed$1(this.get$size(this)._dx, 1);
    },
    describeHeight$0() {
      return "h=" + B.JSNumber_methods.toStringAsFixed$1(this.get$size(this)._dy, 1);
    },
    get$description(_) {
      var t1 = this.end;
      return t1.get$description(t1);
    },
    dimension$1(axis) {
      var t1 = this.animation;
      t1 = A.lerpDouble(this.begin.dimension$1(axis), this.end.dimension$1(axis), t1.get$value(t1));
      t1.toString;
      return t1;
    },
    get$flexFactor() {
      var t1 = this.animation;
      return A.lerpDouble(this.begin.get$flexFactor(), this.end.get$flexFactor(), t1.get$value(t1));
    },
    get$hasChildren() {
      return this._utils1$_children.length !== 0;
    },
    get$isFlex() {
      return this.begin.get$isFlex() && this.end.get$isFlex();
    },
    get$node() {
      return this.end.get$node();
    },
    get$size(_) {
      var t1 = this.begin,
        t2 = this.end,
        t3 = this.animation;
      t3 = A.Size_lerp(t1.get$size(t1), t2.get$size(t2), t3.get$value(t3));
      t3.toString;
      return t3;
    },
    get$width(_) {
      return this.get$size(this)._dx;
    },
    get$hasFlexFactor() {
      return this.begin.get$hasFlexFactor() && this.end.get$hasFlexFactor();
    },
    copyWith$0() {
      var t7, _this = this,
        t1 = _this.end,
        t2 = t1.get$node(),
        t3 = _this.get$constraints(),
        t4 = t1.get$description(t1),
        t5 = _this.get$flexFactor(),
        t6 = t1.get$flexFit();
      t1 = _this.begin.get$isFlex() && t1.get$isFlex();
      t7 = _this.get$size(_this);
      return A.LayoutProperties$values(_this._utils1$_children, t3, t4, t5, t6, t1, t2, t7);
    },
    get$isOverflowWidth() {
      return this.end.get$isOverflowWidth();
    },
    get$isOverflowHeight() {
      return this.end.get$isOverflowHeight();
    },
    get$flexFit() {
      return this.end.get$flexFit();
    },
    get$displayChildren() {
      return this.end.get$displayChildren();
    },
    $isLayoutProperties: 1
  };
  A.LayoutExplorerBackground.prototype = {
    build$1(context) {
      var t1 = this.colorScheme.brightness === B.Brightness_1,
        t2 = t1 ? 0.3 : 0.2;
      return A.Positioned$fill(0, A.Opacity$(false, A.Image$asset(t1 ? "assets/img/layout_explorer/negative_space_light.png" : "assets/img/layout_explorer/negative_space_dark.png", B.Alignment_m1_m1, null, B.BoxFit_5, null, B.ImageRepeat_0, null), t2));
    }
  };
  A.VisualizeWidthAndHeightWithConstraints.prototype = {
    build$1(context) {
      var t2, t3, t4, t5, right, _this = this, _null = null,
        propertiesLocal = _this.properties,
        t1 = type$.FlexLayoutProperties._is(propertiesLocal),
        showChildrenWidthsSum = t1 && propertiesLocal.get$isOverflowWidth(),
        bottomHeight = B.JSNumber_methods.roundToDouble$0(56 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        rightWidth = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        colorScheme = A.Theme_of(context).colorScheme,
        showOverflowHeight = t1 && propertiesLocal.get$isOverflowHeight();
      t1 = type$.JSArray_InlineSpan;
      t2 = A._setArrayType([A.TextSpan$(_null, _null, _null, _null, propertiesLocal.describeHeight$0())], t1);
      if (propertiesLocal.get$constraints() != null) {
        t3 = A._setArrayType([], t1);
        if (!showOverflowHeight)
          t3.push(B.TextSpan_mpm);
        t4 = propertiesLocal.describeHeightConstraints$0();
        if (propertiesLocal.get$constraints().maxHeight < 1 / 0 || !_this.warnIfUnconstrained)
          t5 = _null;
        else
          t5 = A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4294280299 : B.Color_4292780169, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t3.push(A.TextSpan$(_null, _null, _null, t5, " (" + t4 + ")"));
        B.JSArray_methods.addAll$1(t2, t3);
      }
      if (showOverflowHeight)
        t2.push(A.TextSpan$(_null, _null, _null, _null, "\nchildren take: " + B.JSNumber_methods.toStringAsFixed$1(A.sum(J.cast$1$0$ax(propertiesLocal.get$childrenHeights(), type$.double)), 1)));
      right = A.Container$(_null, new A.LayoutBuilder(new A.VisualizeWidthAndHeightWithConstraints_build_closure(_this, new A.RotatedBox(1, A.dimensionDescription(A.TextSpan$(t2, _null, _null, _null, _null), propertiesLocal.get$isOverflowHeight(), colorScheme), _null)), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(8, 8, 2, bottomHeight), _null, _null, _null, _null);
      t2 = A._setArrayType([A.TextSpan$(_null, _null, _null, _null, propertiesLocal.describeWidth$0() + "; ")], t1);
      if (propertiesLocal.get$constraints() != null) {
        t1 = A._setArrayType([], t1);
        if (!showChildrenWidthsSum)
          t1.push(B.TextSpan_mpm);
        t3 = propertiesLocal.describeWidthConstraints$0();
        if (propertiesLocal.get$constraints().maxWidth < 1 / 0 || !_this.warnIfUnconstrained)
          t4 = _null;
        else
          t4 = A.TextStyle$(_null, _null, colorScheme.brightness === B.Brightness_1 ? B.Color_4294280299 : B.Color_4292780169, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t1.push(A.TextSpan$(_null, _null, _null, t4, "(" + t3 + ")"));
        B.JSArray_methods.addAll$1(t2, t1);
      }
      if (showChildrenWidthsSum)
        t2.push(A.TextSpan$(_null, _null, _null, _null, "\nchildren take " + B.JSNumber_methods.toStringAsFixed$1(A.sum(J.cast$1$0$ax(propertiesLocal.get$childrenWidths(), type$.double)), 1)));
      return new A.BorderLayout(_this.child, right, A.Container$(_null, new A.LayoutBuilder(new A.VisualizeWidthAndHeightWithConstraints_build_closure0(_this, A.dimensionDescription(A.TextSpan$(t2, _null, _null, _null, _null), propertiesLocal.get$isOverflowWidth(), colorScheme)), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(8, 8, rightWidth, 2), _null, _null, _null, _null), rightWidth, bottomHeight, _null);
    }
  };
  A.VisualizeWidthAndHeightWithConstraints_build_closure.prototype = {
    call$2(context, constraints) {
      var _null = null,
        displayHeightOutsideArrow = constraints.maxHeight < B.JSNumber_methods.roundToDouble$0(200 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t1 = B.JSNumber_methods.roundToDouble$0(4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = displayHeightOutsideArrow ? _null : this.heightDescription;
      t1 = A._setArrayType([new A.Truncateable(A.Container$(_null, A.ArrowWrapper$bidirectional(B.Color_4283790975, this.$this.arrowHeadSize, 1.5, t2, 4, B.Axis_1), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(t1, 0, t1, 0), _null, _null, _null, _null), !displayHeightOutsideArrow, _null)], type$.JSArray_Widget);
      if (displayHeightOutsideArrow)
        t1.push(new A.Flexible(1, B.FlexFit_1, this.heightDescription, _null));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 375
  };
  A.VisualizeWidthAndHeightWithConstraints_build_closure0.prototype = {
    call$2(context, constraints) {
      var _null = null,
        displayWidthOutsideArrow = constraints.maxWidth < B.JSNumber_methods.roundToDouble$0(200 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t1 = B.JSNumber_methods.roundToDouble$0(4 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = displayWidthOutsideArrow ? _null : this.widthDescription;
      t1 = A._setArrayType([new A.Truncateable(A.Container$(_null, A.ArrowWrapper$bidirectional(B.Color_4283790975, this.$this.arrowHeadSize, 1.5, t2, 4, B.Axis_0), B.Clip_0, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(0, t1, 0, t1), _null, _null, _null, _null), !displayWidthOutsideArrow, _null)], type$.JSArray_Widget);
      if (displayWidthOutsideArrow)
        t1.push(new A.Flexible(1, B.FlexFit_1, A.Container$(_null, this.widthDescription, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_2_0_0, _null, _null, _null), _null));
      return A.Column$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 373
  };
  A.WidgetTheme.prototype = {};
  A.KindColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.kind;
    },
    build$4$isRowSelected$onPressed(context, item, isRowSelected, onPressed) {
      var color, textStyle, t1, _null = null,
        kind = item.kind;
      if (kind === "stderr" || item.isError || kind === "flutter.error")
        color = B.Color_4294198070;
      else if (kind === "stdout")
        color = B.Color_4286091420;
      else if (B.JSString_methods.startsWith$1(kind, "flutter"))
        color = B.Color_4278227434;
      else
        color = kind === "gc" ? B.Color_4282532418 : B.Color_4284572001;
      textStyle = A.Theme_of(context).textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono");
      t1 = A.BorderRadius$circular(3);
      return A.Container$(_null, A.Text$(kind, _null, _null, B.TextOverflow_2, _null, _null, textStyle, _null, _null, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(color, _null, _null, t1, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_3_0_3_0, _null, _null, _null);
    },
    $isColumnRenderer: 1
  };
  A.LogDetails.prototype = {
    createState$0() {
      return new A._LogDetailsState(null, null, B._StateLifecycle_0);
    }
  };
  A._LogDetailsState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.ScrollController$(0);
      if (_this.___LogDetailsState_scrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___LogDetailsState_scrollController = t1;
      _this._computeLogDetails$0();
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (this._widget.log != oldWidget.log)
        this._computeLogDetails$0();
    },
    _computeLogDetails$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$_computeLogDetails$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._widget.log;
              t2 = t1 == null ? null : t1.detailsComputer != null;
              $async$goto = t2 === true ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait(t1.compute$0(), $async$_computeLogDetails$0);
            case 4:
              // returning from await.
              $async$self.setState$1(new A._LogDetailsState__computeLogDetails_closure());
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_computeLogDetails$0, $async$completer);
    },
    build$1(context) {
      var t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this._widget.log,
        t2 = t1 == null,
        _dataProvider = (t2 ? _null : t1._logging_controller$_details) != null && t1._logging_controller$_details.length !== 0 ? t1.get$prettyPrinted() : _null,
        details = t2 ? _null : t1._logging_controller$_details;
      if (details != _this.__log_details$_lastDetails) {
        t3 = _this.___LogDetailsState_scrollController;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        if (t3._positions.length !== 0)
          t3.jumpTo$1(0);
        _this.__log_details$_lastDetails = details;
      }
      t3 = type$.JSArray_Widget;
      t4 = A.AreaPaneHeader$(A._setArrayType([A.CopyToClipboardControl$(B.ValueKey_ebu, _dataProvider)], t3), 1, true, false, false, 4, B.Text_03O);
      t5 = _this.___LogDetailsState_scrollController;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = t2 ? _null : t1.prettyPrinted$0();
      if (t6 == null)
        t6 = "";
      t3 = A._setArrayType([new A.OutlineDecoration(new A.ConsoleFrame(t4, new A.Padding(B.EdgeInsets_8_8_8_8, A.SingleChildScrollView$(A.SelectableText$(t6, _null, _null, _null, A.Theme_of(context).textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono"), B.TextAlign_0), t5, B.DragStartBehavior_1, _null, _null, false, B.Axis_1), _null), B.List_empty17, _null), _null)], t3);
      if (!t2 && t1.detailsComputer != null)
        t3.push(B.CenteredCircularProgressIndicator_null);
      return A.Container$(_null, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t3, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A._LogDetailsState__computeLogDetails_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.__LogDetailsState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.LogsTable.prototype = {
    build$1(context) {
      var _this = this,
        t1 = _this.when,
        t2 = _this.message;
      return A.FlatTable$(_this.activeSearchMatchNotifier, true, A._setArrayType([t1, _this.kind, t2], type$.JSArray_ColumnData_LogData), _this.data, null, new A.LogsTable_build_closure(), _this.onItemSelected, null, _this.searchMatchesNotifier, t2, _this.selectionNotifier, t1, B.SortDirection_0, type$.LogData);
    },
    get$kind(receiver) {
      return this.kind;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.LogsTable_build_closure.prototype = {
    call$1(data) {
      return new A.ValueKey(data, type$.ValueKey_LogData);
    },
    $signature: 369
  };
  A.MessageColumn.prototype = {
    getValue$1(dataObject) {
      var t1 = dataObject.summary;
      if (t1 == null)
        t1 = dataObject._logging_controller$_details;
      return t1 == null ? "" : t1;
    },
    compare$2(a, b) {
      var t1, t2,
        valueA = this.getValue$1(a),
        valueB = this.getValue$1(b),
        regex = A.RegExp_RegExp("#(\\d+)\\s+\\d+.\\d+ms\\s*", true, false),
        valueAIsFrameLog = B.JSString_methods.startsWith$1(valueA, regex),
        valueBIsFrameLog = B.JSString_methods.startsWith$1(valueB, regex);
      if (valueAIsFrameLog && valueBIsFrameLog) {
        t1 = regex.firstMatch$1(valueA)._match[1];
        t1.toString;
        t2 = regex.firstMatch$1(valueB)._match[1];
        t2.toString;
        return B.JSInt_methods.compareTo$1(A.int_parse(t1, null), A.int_parse(t2, null));
      } else if (valueAIsFrameLog && !valueBIsFrameLog)
        return -1;
      else if (!valueAIsFrameLog && valueBIsFrameLog)
        return 1;
      return B.JSString_methods.compareTo$1(valueA, valueB);
    },
    build$4$isRowSelected$onPressed(context, data, isRowSelected, onPressed) {
      var frameLength, micros, t1, text, exception, _null = null,
        textStyle = A.Theme_of(context).textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono");
      if (isRowSelected)
        textStyle = textStyle.copyWith$1$color(B.Color_4294967295);
      t1 = data.kind;
      if (t1 === "flutter.frame") {
        text = A.Text$(this.getDisplayValue$1(data), _null, _null, B.TextOverflow_2, _null, _null, textStyle, _null, _null, _null, _null);
        frameLength = 0;
        try {
          t1 = data._logging_controller$_details;
          t1.toString;
          micros = J.$index$asx(B.C_JsonCodec.decode$2$reviver(0, t1, _null), "elapsed");
          frameLength = micros * 3 / 1000;
        } catch (exception) {
        }
        return A.Row$(A._setArrayType([text, new A.Flexible(1, B.FlexFit_1, A.Container$(_null, _null, B.Clip_0, _null, _null, B.BoxDecoration_89U, _null, 12, _null, _null, _null, _null, _null, frameLength), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      } else if (t1 === "stdout")
        return A.RichText$(_null, _null, 1, B.TextOverflow_2, _null, _null, true, _null, A.TextSpan$(A.processAnsiTerminalCodes(this.getDisplayValue$1(data), textStyle), _null, _null, _null, _null), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
      else
        return B.SizedBox_0_0_null_null;
    },
    $isColumnRenderer: 1
  };
  A.WhenColumn.prototype = {
    getValue$1(dataObject) {
      var t1 = dataObject.timestamp;
      return t1 == null ? "" : $.$get$timeFormat().format$1(0, A.DateTime$fromMillisecondsSinceEpoch(t1, false));
    }
  };
  A._retrieveFullStringValue_closure.prototype = {
    call$1(truncatedValue) {
      return this.fallback;
    },
    $signature: 174
  };
  A._retrieveFullStringValue_closure0.prototype = {
    call$1(value) {
      return value != null ? value : this.fallback;
    },
    $signature: 174
  };
  A.LoggingController.prototype = {
    selectLog$1(data) {
      this._selectedLog.set$value(0, data);
    },
    _logging_controller$_updateData$1(logs) {
      var t1, selected, t2, _this = this;
      _this.data = logs;
      _this.filterData$1(_this.FilterControllerMixin_activeFilter._change_notifier$_value);
      _this.refreshSearchMatches$0();
      t1 = _this._selectedLog;
      selected = t1._change_notifier$_value;
      if (selected != null) {
        t2 = _this.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (!t2.contains$1(t2, selected))
          t1.set$value(0, null);
      }
      _this._logStatusController.add$1(0, _this.get$statusText(_this));
    },
    get$statusText(_) {
      var showingCount, label,
        totalCount = this.data.length,
        t1 = this.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      showingCount = t1.length;
      if (totalCount === showingCount)
        label = $.$get$nf().format$1(0, totalCount);
      else {
        t1 = $.$get$nf();
        label = "showing " + t1.format$1(0, showingCount) + " of " + t1.format$1(0, totalCount);
      }
      return label + " " + A.pluralize("event", totalCount, null);
    },
    clear$0(_) {
      this.FilterControllerMixin_activeFilter.set$value(0, null);
      this._logging_controller$_updateData$1(A._setArrayType([], type$.JSArray_LogData));
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("logging");
    },
    _logging_controller$_handleConnectionStart$1(service) {
      return this._handleConnectionStart$body$LoggingController(service);
    },
    _handleConnectionStart$body$LoggingController(service) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, t3, t1;
      var $async$_logging_controller$_handleConnectionStart$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.AutoDisposeControllerMixin__delegate._auto_dispose$_subscriptions;
              t1.push(service.get$onStdoutEventWithHistory().listen$1(new A._StdoutEventHandler($async$self, "stdout", false).get$handle()));
              t1.push(service.get$onStderrEventWithHistory().listen$1(new A._StdoutEventHandler($async$self, "stderr", true).get$handle()));
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t2._getEventController$1("GC");
              t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_handleGCEvent()));
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2 = A.DdsExtension_onEventWithHistory(t2, "Logging");
              t3 = service.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t3 = t3._getEventController$1("Logging");
              t1.push(service._maybeReturnStreamWithHistory$2$fallbackStream(t2, new A._BroadcastStream(t3, A._instanceType(t3)._eval$1("_BroadcastStream<1>"))).listen$1($async$self.get$_handleDeveloperLogEvent()));
              t1.push(service.get$onExtensionEventWithHistory().listen$1($async$self.get$_logging_controller$_handleExtensionEvent()));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_logging_controller$_handleConnectionStart$1, $async$completer);
    },
    _logging_controller$_handleExtensionEvent$1(e) {
      return this._handleExtensionEvent$body$LoggingController(e);
    },
    _handleExtensionEvent$body$LoggingController(e) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, images, _i, image, t5, t6, file, displaySizeInBytes, decodedSizeInBytes, t7, t8, t9, t10, node, summary;
      var $async$_logging_controller$_handleExtensionEvent$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 (J.containsKey$1$x(B.Set_ijvA._collection$_map, e.extensionKind)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = e.extensionKind;
              if (t1 === "Flutter.Frame") {
                t1 = e.extensionData.data;
                t2 = J.getInterceptor$asx(t1);
                t3 = t2.$index(t1, "number");
                t4 = J.$div$n(t2.$index(t1, "elapsed"), 1000);
                J.$div$n(t2.$index(t1, "startTime"), 1000);
                t4.toString;
                t4 = B.JSString_methods.padLeft$1(B.JSNumber_methods.toStringAsFixed$1(t4, 1), 4);
                t1 = e.extensionKind.toLowerCase();
                t2 = B.C_JsonCodec.encode$2$toEncodable(e.extensionData.data, null);
                $async$self.log$1(new A.LogData(t1, e.timestamp, false, "#" + A.S(t3) + " " + t4 + "ms ", t2, null, false, false));
              } else if (t1 === "Flutter.ImageSizesForFrame") {
                images = A.ImageSizesForFrame_from(e.extensionData.data);
                for (t1 = images.length, _i = 0; _i < images.length; images.length === t1 || (0, A.throwConcurrentModificationError)(images), ++_i) {
                  image = images[_i];
                  t2 = e.extensionKind.toLowerCase();
                  t3 = image.rawJson;
                  t4 = B.C_JsonCodec.encode$2$toEncodable(t3, null);
                  t5 = e.timestamp;
                  t6 = image.source;
                  t6.toString;
                  file = A.ParsedPath_ParsedPath$parse(t6, $.$get$context().style).get$basename();
                  t6 = J.getInterceptor$asx(t3);
                  displaySizeInBytes = A._asIntQ(t6.$index(t3, "displaySizeInBytes"));
                  decodedSizeInBytes = A._asIntQ(t6.$index(t3, "decodedSizeInBytes"));
                  t3 = decodedSizeInBytes == null ? 0 : decodedSizeInBytes;
                  t3 = Math.sqrt(t3);
                  t6 = displaySizeInBytes == null ? 1 : displaySizeInBytes;
                  t6 = Math.sqrt(t6);
                  t7 = image.displaySize;
                  t7.toString;
                  t8 = J.getInterceptor$asx(t7);
                  t9 = B.JSNumber_methods.round$0(A._asDouble(t8.$index(t7, "width")));
                  t7 = B.JSNumber_methods.round$0(A._asDouble(t8.$index(t7, "height")));
                  t8 = image.imageSize;
                  t8.toString;
                  t10 = J.getInterceptor$asx(t8);
                  $async$self.log$1(new A.LogData(t2, t5, false, "Image " + file + " \u2022 displayed at " + t9 + "x" + t7 + " \u2022 created at " + B.JSNumber_methods.round$0(A._asDouble(t10.$index(t8, "width"))) + "x" + B.JSNumber_methods.round$0(A._asDouble(t10.$index(t8, "height"))) + " \u2022 " + B.JSNumber_methods.toStringAsFixed$1(t3 / t6, 1) + "x", t4, null, false, false));
                }
              } else if (t1 === "Flutter.Navigation") {
                t1 = J.$index$asx(e.extensionData.data, "route");
                t2 = e.extensionKind.toLowerCase();
                t3 = B.C_JsonCodec.encode$2$toEncodable(e.json, null);
                t4 = e.timestamp;
                $async$self.log$1(new A.LogData(t2, t4, false, t1 == null ? null : J.$index$asx(t1, "description"), t3, null, false, false));
              } else if (J.containsKey$1$x(B.Set_nPXOm._collection$_map, t1)) {
                t1 = e.extensionKind.toLowerCase();
                t2 = B.C_JsonCodec.encode$2$toEncodable(e.json, null);
                $async$self.log$1(new A.LogData(t1, e.timestamp, false, "", t2, null, false, false));
              } else {
                t1 = e.extensionKind;
                if (t1 === "Flutter.ServiceExtensionStateChanged") {
                  t1 = e.extensionData.data;
                  t2 = J.getInterceptor$asx(t1);
                  t3 = t2.$index(t1, "extension");
                  t1 = t2.$index(t1, "value");
                  t2 = e.extensionKind.toLowerCase();
                  t4 = B.C_JsonCodec.encode$2$toEncodable(e.json, null);
                  $async$self.log$1(new A.LogData(t2, e.timestamp, false, A.S(t3) + ": " + A.S(t1), t4, null, false, false));
                } else if (t1 === "Flutter.Error") {
                  t1 = e.extensionData.data;
                  node = new A.RemoteDiagnosticsNode(null, $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).consoleService.get$objectGroup(), t1, false);
                  node.__RemoteDiagnosticsNode_style = B.DiagnosticsTreeStyle_5;
                  summary = A.LoggingController__findFirstSummary(node);
                  if (summary == null)
                    summary = node;
                  t1 = e.extensionKind.toLowerCase();
                  t2 = B.C_JsonCodec.encode$2$toEncodable(e.extensionData.data, null);
                  $async$self.log$1(new A.LogData(t1, e.timestamp, false, summary.toDiagnosticsNode$0().super$Object$toString(0), t2, null, false, false));
                } else {
                  t1 = t1.toLowerCase();
                  t2 = B.C_JsonCodec.encode$2$toEncodable(e.json, null);
                  $async$self.log$1(new A.LogData(t1, e.timestamp, false, J.toString$0$(e.json), t2, null, false, false));
                }
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_logging_controller$_handleExtensionEvent$1, $async$completer);
    },
    _handleGCEvent$1(e) {
      var t2, t3, isolateRef, t4, t5, t6, t7, t8, time, message, _null = null,
        t1 = e.json;
      t1.toString;
      t1 = J.$index$asx(t1, "new");
      t1 = t1 == null ? _null : A.HeapSpace$_fromJson(t1);
      t1.toString;
      t2 = e.json;
      t2.toString;
      t2 = J.$index$asx(t2, "old");
      t2 = t2 == null ? _null : A.HeapSpace$_fromJson(t2);
      t2.toString;
      t3 = e.json;
      t3.toString;
      isolateRef = J.$index$asx(t3, "isolate");
      t3 = t1.used;
      t3.toString;
      t4 = t2.used;
      t4.toString;
      t5 = t1.capacity;
      t5.toString;
      t6 = t2.capacity;
      t6.toString;
      t7 = t1.time;
      t7.toString;
      t8 = t2.time;
      t8.toString;
      time = B.JSNumber_methods.round$0((t7 + t8) * 1000);
      t8 = A.S(J.$index$asx(isolateRef, "name"));
      t7 = e.json;
      t7.toString;
      t7 = A.S(J.$index$asx(t7, "reason"));
      t4 = A.printMB(t3 + t4, 1, true);
      t6 = A.printMB(t5 + t6, 1, true);
      t5 = e.json;
      t5.toString;
      message = B.C_JsonCodec.encode$2$toEncodable(A.LinkedHashMap_LinkedHashMap$_literal(["reason", J.$index$asx(t5, "reason"), "new", t1.json, "old", t2.json, "isolate", isolateRef], type$.String, type$.dynamic), _null);
      this.log$1(new A.LogData("gc", e.timestamp, false, t8 + " \u2022 " + t7 + " collection in " + time + " ms \u2022 " + t4 + " used of " + t6, message, _null, false, false));
    },
    _handleDeveloperLogEvent$1(e) {
      var logRecord, t2, loggerName, level, summary, t3, error, stackTrace, detailsComputer, isError, _null = null,
        service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service,
        t1 = e.json;
      t1.toString;
      logRecord = J.$index$asx(t1, "logRecord");
      t1 = J.getInterceptor$asx(logRecord);
      t2 = t1.$index(logRecord, "loggerName");
      loggerName = A._valueAsString(t2 == null ? _null : A.InstanceRef$_fromJson(t2));
      if (loggerName == null || loggerName.length === 0)
        loggerName = "log";
      level = t1.$index(logRecord, "level");
      t2 = t1.$index(logRecord, "message");
      t2 = t2 == null ? _null : A.InstanceRef$_fromJson(t2);
      t2.toString;
      summary = A._valueAsString(t2);
      if (t2.valueAsStringIsTruncated === true) {
        summary.toString;
        summary += "...";
      }
      t3 = t1.$index(logRecord, "error");
      error = t3 == null ? _null : A.InstanceRef$_fromJson(t3);
      t1 = t1.$index(logRecord, "stackTrace");
      stackTrace = t1 == null ? _null : A.InstanceRef$_fromJson(t1);
      if (t2.valueAsStringIsTruncated !== true)
        if (!(error != null && error.kind !== "Null"))
          t1 = stackTrace != null && stackTrace.kind !== "Null";
        else
          t1 = true;
      else
        t1 = true;
      detailsComputer = t1 ? new A.LoggingController__handleDeveloperLogEvent_closure(service, e, t2, error, stackTrace) : _null;
      isError = level != null && level >= 1000 && true;
      this.log$1(new A.LogData(loggerName, e.timestamp, isError, summary, summary, detailsComputer, false, false));
    },
    _logging_controller$_handleConnectionStop$1($event) {
    },
    log$1(log) {
      var t1, itemsToRemove,
        currentLogs = A.List_List$from(this.data, true, type$.LogData);
      currentLogs.push(log);
      t1 = currentLogs.length;
      if (t1 > 5500) {
        itemsToRemove = t1 - 5000;
        currentLogs = B.JSArray_methods.sublist$1(currentLogs, B.JSInt_methods.$mod(itemsToRemove, 2) === 1 ? itemsToRemove - 1 : itemsToRemove);
      }
      this._logging_controller$_updateData$1(currentLogs);
    },
    _handleBusEvents$0() {
      var t2, _this = this,
        t1 = _this.AutoDisposeControllerMixin__delegate._auto_dispose$_subscriptions;
      t1.push($.globals.$index(0, B.Type_MessageBus_MAi).onEvent$1$type("reload.end").listen$1(new A.LoggingController__handleBusEvents_closure(_this)));
      t1.push($.globals.$index(0, B.Type_MessageBus_MAi).onEvent$1$type("restart.end").listen$1(new A.LoggingController__handleBusEvents_closure0(_this)));
      t2 = $.globals.$index(0, B.Type_MessageBus_MAi).onEvent$0();
      t1.push(new A._WhereStream(new A.LoggingController__handleBusEvents_closure1(), t2, A._instanceType(t2)._eval$1("_WhereStream<Stream.T>")).listen$1(_this.get$_handleDebuggerEvent()));
      t2 = $.globals.$index(0, B.Type_MessageBus_MAi).onEvent$0();
      t1.push(new A._WhereStream(new A.LoggingController__handleBusEvents_closure2(), t2, A._instanceType(t2)._eval$1("_WhereStream<Stream.T>")).listen$1(_this.get$_handleDevToolsEvent()));
    },
    _handleDebuggerEvent$1($event) {
      var t1, t2, t3, t4, t5,
        debuggerEvent = type$.Event_2._as($event.data);
      if (debuggerEvent.kind === "ServiceExtensionAdded")
        return;
      t1 = $event.type;
      t2 = B.C_JsonCodec.encode$2$toEncodable(debuggerEvent.json, null);
      t3 = debuggerEvent.timestamp;
      t4 = debuggerEvent.kind;
      t5 = debuggerEvent.isolate;
      this.log$1(new A.LogData(t1, t3, false, A.S(t4) + " " + A.S(t5.get$id(t5)), t2, null, false, false));
    },
    _handleDevToolsEvent$1($event) {
      var lines, summary,
        details = J.toString$0$($event.data);
      if (B.JSString_methods.contains$1(details, "\n")) {
        lines = A._setArrayType(details.split("\n"), type$.JSArray_String);
        summary = B.JSArray_methods.get$first(lines);
        details = B.JSArray_methods.join$1(B.JSArray_methods.sublist$1(lines, 1), "\n");
      } else
        summary = null;
      this.log$1(new A.LogData($event.type, Date.now(), false, summary, details, null, false, false));
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      var matches, caseInsensitiveSearch, t1, t2, t3, t4;
      if (search.length === 0)
        return A._setArrayType([], type$.JSArray_LogData);
      matches = A._setArrayType([], type$.JSArray_LogData);
      caseInsensitiveSearch = search.toLowerCase();
      t1 = this.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      for (t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.length, t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        t4 = t3.summary;
        if (t4 != null) {
          t4 = t4.toLowerCase();
          t4 = A.stringContainsUnchecked(t4, caseInsensitiveSearch, 0);
        } else
          t4 = false;
        if (!t4) {
          t4 = t3._logging_controller$_details;
          if (t4 != null) {
            t4 = t4.toLowerCase();
            t4 = A.stringContainsUnchecked(t4, caseInsensitiveSearch, 0);
          } else
            t4 = false;
        } else
          t4 = true;
        if (t4)
          matches.push(t3);
      }
      return matches;
    },
    filterData$1(filter) {
      var _this = this,
        t1 = filter == null ? null : filter.queryFilter,
        t2 = _this.FilterControllerMixin_filteredData,
        t3 = t2.$ti;
      if (t1 == null) {
        t2._rawList = A._setArrayType([], t3._eval$1("JSArray<1>"));
        t2._listChanged$0();
        t1 = _this.data;
        B.JSArray_methods.addAll$1(t2._rawList, t1);
        t2._listChanged$0();
      } else {
        t2._rawList = A._setArrayType([], t3._eval$1("JSArray<1>"));
        t2._listChanged$0();
        t1 = _this.data;
        t3 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        t3 = A.List_List$of(new A.WhereIterable(t1, new A.LoggingController_filterData_closure(filter), t3), true, t3._eval$1("Iterable.E"));
        B.JSArray_methods.addAll$1(t2._rawList, t3);
        t2._listChanged$0();
      }
      _this.FilterControllerMixin_activeFilter.set$value(0, filter);
    }
  };
  A.LoggingController__handleDeveloperLogEvent_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, result, t4, t5, toStringResult, t1, t2, t3;
      var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $async$self.service;
              t2 = $async$self.e;
              t3 = t2.isolate;
              t3.toString;
              $async$goto = 3;
              return A._asyncAwait(A._retrieveFullStringValue(t1, t3, $async$self.messageRef), $async$call$0);
            case 3:
              // returning from await.
              result = $async$result;
              t3 = $async$self.error;
              $async$goto = t3 != null && t3.kind !== "Null" ? 4 : 5;
              break;
            case 4:
              // then
              t4 = t3.valueAsString;
              t5 = t2.isolate;
              $async$goto = t4 != null ? 6 : 8;
              break;
            case 6:
              // then
              t5.toString;
              $async$goto = 9;
              return A._asyncAwait(A._retrieveFullStringValue(t1, t5, t3), $async$call$0);
            case 9:
              // returning from await.
              result += "\n\n" + $async$result;
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              t1.toString;
              t4 = t5.get$id(t5);
              t4.toString;
              t5 = t3.id;
              t5.toString;
              $async$goto = 10;
              return A._asyncAwait(t1.invoke$5$disableBreakpoints(t4, t5, "toString", A._setArrayType([], type$.JSArray_String), true), $async$call$0);
            case 10:
              // returning from await.
              toStringResult = $async$result;
              $async$goto = type$.ErrorRef._is(toStringResult) ? 11 : 13;
              break;
            case 11:
              // then
              result += "\n\n" + A.S(A._valueAsString(t3));
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              $async$goto = type$.InstanceRef._is(toStringResult) ? 14 : 15;
              break;
            case 14:
              // then
              t2 = t2.isolate;
              t2.toString;
              $async$goto = 16;
              return A._asyncAwait(A._retrieveFullStringValue(t1, t2, toStringResult), $async$call$0);
            case 16:
              // returning from await.
              result += "\n\n" + $async$result;
            case 15:
              // join
            case 12:
              // join
            case 7:
              // join
            case 5:
              // join
              t1 = $async$self.stackTrace;
              $async$returnValue = t1 != null && t1.kind !== "Null" ? result + ("\n\n" + A.S(A._valueAsString(t1))) : result;
              // 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: 111
  };
  A.LoggingController__handleBusEvents_closure.prototype = {
    call$1($event) {
      var t1 = A._asStringQ($event.data);
      this.$this.log$1(new A.LogData("hot.reload", Date.now(), false, null, t1, null, false, false));
    },
    $signature: 110
  };
  A.LoggingController__handleBusEvents_closure0.prototype = {
    call$1($event) {
      var t1 = A._asStringQ($event.data);
      this.$this.log$1(new A.LogData("hot.restart", Date.now(), false, null, t1, null, false, false));
    },
    $signature: 110
  };
  A.LoggingController__handleBusEvents_closure1.prototype = {
    call$1($event) {
      var t1 = $event.type;
      return t1 === "debugger" || B.JSString_methods.startsWith$1(t1, "debugger.");
    },
    $signature: 157
  };
  A.LoggingController__handleBusEvents_closure2.prototype = {
    call$1($event) {
      return B.JSString_methods.startsWith$1($event.type, "devtools.");
    },
    $signature: 157
  };
  A.LoggingController_filterData_closure.prototype = {
    call$1(log) {
      var t2, t3, t4, t5, _i, caseInsensitiveSubstring, t6, matchesSummary, matchesDetails,
        t1 = this.filter.queryFilter,
        kindArg = t1.filterArguments.$index(0, "logging-kind-filter");
      if (kindArg != null && !kindArg.matchesValue$1(log.kind.toLowerCase()))
        return false;
      t1 = t1.substrings;
      t2 = t1.length;
      if (t2 !== 0) {
        for (t3 = log.summary, t4 = t3 != null, t5 = log.kind, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          caseInsensitiveSubstring = t1[_i].toLowerCase();
          if (A.stringContainsUnchecked(t5.toLowerCase(), caseInsensitiveSubstring, 0))
            return true;
          if (t4) {
            t6 = t3.toLowerCase();
            matchesSummary = A.stringContainsUnchecked(t6, caseInsensitiveSubstring, 0);
          } else
            matchesSummary = false;
          if (matchesSummary)
            return true;
          if (log._logging_controller$_details != null) {
            t6 = t3.toLowerCase();
            matchesDetails = A.stringContainsUnchecked(t6, caseInsensitiveSubstring, 0);
          } else
            matchesDetails = false;
          if (matchesDetails)
            return true;
        }
        return false;
      }
      return true;
    },
    $signature: 360
  };
  A._StdoutEventHandler.prototype = {
    handle$1(e) {
      var message, t2, t3, t4, t5, summary, data, _this = this,
        t1 = e.bytes;
      t1.toString;
      message = B.Utf8Codec_false.decode$1(0, B.C_Base64Decoder.convert$1(t1));
      if (_this.buffer != null) {
        t1 = _this.timer;
        if (t1 != null)
          t1.cancel$0(0);
        if (message === "\n") {
          t1 = _this.buffer;
          t2 = t1.kind;
          t3 = t1._logging_controller$_details;
          t3.toString;
          t4 = t1.timestamp;
          t5 = t1.summary;
          t5.toString;
          _this.loggingController.log$1(new A.LogData(t2, t4, t1.isError, t5 + message, t3 + message, null, false, false));
          _this.buffer = null;
          return;
        }
        t1 = _this.buffer;
        t1.toString;
        _this.loggingController.log$1(t1);
        _this.buffer = null;
      }
      summary = message.length > 200 ? B.JSString_methods.substring$2(message, 0, 200) : message;
      data = new A.LogData(_this.name, e.timestamp, _this.isError, summary, message, null, false, false);
      if (message === "\n")
        _this.loggingController.log$1(data);
      else {
        _this.buffer = data;
        _this.timer = A.Timer_Timer(B.Duration_1000, new A._StdoutEventHandler_handle_closure(_this));
      }
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A._StdoutEventHandler_handle_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.buffer;
      t2.toString;
      t1.loggingController.log$1(t2);
      t1.buffer = null;
    },
    $signature: 0
  };
  A.LogData.prototype = {
    compute$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$compute$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.detailsComputer.call$0(), $async$compute$0);
            case 2:
              // returning from await.
              $async$self._logging_controller$_details = $async$result;
              $async$self.detailsComputer = null;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$compute$0, $async$completer);
    },
    prettyPrinted$0() {
      var t1, exception, _this = this;
      if (_this.detailsComputer != null)
        return _this._logging_controller$_details;
      try {
        t1 = _this._logging_controller$_details;
        t1.toString;
        t1 = A._JsonStringStringifier_stringify(B.C_JsonCodec.decode$2$reviver(0, t1, null), null, "  ");
        t1 = A.stringReplaceAllUnchecked(t1, "\\n", "\n");
        return t1;
      } catch (exception) {
        t1 = _this._logging_controller$_details;
        return t1;
      }
    },
    toString$0(_) {
      return "LogData(" + this.kind + ", " + A.S(this.timestamp) + ")";
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.ImageSizesForFrame.prototype = {
    toString$0(_) {
      var t2,
        t1 = this.displaySize;
      t1.toString;
      t2 = J.getInterceptor$asx(t1);
      return A.S(this.source) + " " + A.S(t2.$index(t1, "width")) + "x" + A.S(t2.$index(t1, "height"));
    }
  };
  A.ImageSizesForFrame_from_closure.prototype = {
    call$1(entry) {
      var t1 = J.getInterceptor$asx(entry);
      return new A.ImageSizesForFrame(t1.$index(entry, "source"), t1.$index(entry, "displaySize"), t1.$index(entry, "imageSize"), entry);
    },
    $signature: 362
  };
  A._LogData_Object_DataSearchStateMixin.prototype = {};
  A._LoggingController_DisposableController_SearchControllerMixin.prototype = {};
  A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin.prototype = {};
  A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin.prototype = {};
  A.LoggingScreen.prototype = {
    get$docPageId() {
      return this.screenId;
    },
    build$1(context) {
      return B.LoggingScreenBody_null;
    },
    buildStatus$1(context) {
      var controller = A.Provider_of(context, true, type$.LoggingController),
        t1 = controller.get$statusText(controller),
        t2 = controller._logStatusController;
      return new A.StreamBuilder(new A.LoggingScreen_buildStatus_closure(), t1, new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")), null, type$.StreamBuilder_String);
    }
  };
  A.LoggingScreen_buildStatus_closure.prototype = {
    call$2(context, snapshot) {
      var _null = null,
        t1 = snapshot.data;
      return A.Text$(t1 == null ? "" : t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    $signature: 363
  };
  A.LoggingScreenBody.prototype = {
    createState$0() {
      return new A._LoggingScreenState($, $, $, $, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._LoggingScreenState.prototype = {
    initState$0() {
      this.super$__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$initState();
      A.screen("logging");
    },
    didChangeDependencies$0() {
      var t1, t2, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      t1 = _this.ProvidedControllerMixin__controller.FilterControllerMixin_filteredData;
      t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      _this.___LoggingScreenState_filteredLogs = t2;
      _this.addAutoDisposeListener$2(t1, new A._LoggingScreenState_didChangeDependencies_closure(_this));
      t1 = _this.ProvidedControllerMixin__controller._selectedLog;
      _this.selected = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._LoggingScreenState_didChangeDependencies_closure0(_this));
    },
    build$1(context) {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this.ProvidedControllerMixin__controller.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$isEmpty(t1);
      t2 = _this.ProvidedControllerMixin__controller;
      t2.toString;
      t2 = A.ClearButton$(_null, J.get$clear$ax(t2), true);
      t3 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = _this.ProvidedControllerMixin__controller;
      t4.toString;
      t3 = A.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t4, !t1, $.$get$loggingSearchFieldKey(), false, true), B.Clip_0, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, 400);
      t1 = _this.___LoggingScreenState_filteredLogs;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t4 = type$.JSArray_Widget;
      t1 = A.Row$(A._setArrayType([t2, B.Spacer_null, new A.StructuredErrorsToggle(_null), B.SizedBox_8_null_null_null, t3, B.SizedBox_8_null_null_null, new A.FilterButton(_this.get$_showFilterDialog(), t1.length !== _this.ProvidedControllerMixin__controller.data.length, _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t3 = _this.___LoggingScreenState_filteredLogs;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.ProvidedControllerMixin__controller;
      return A.Column$(A._setArrayType([t1, B.SizedBox_null_6_null_null, A.Expanded$(A.Split$(B.Axis_1, A._setArrayType([new A.OutlineDecoration(new A.LogsTable(t3, t2.get$selectLog(), t2._selectedLog, t2.SearchControllerMixin__searchMatches, t2.SearchControllerMixin__activeSearchMatch, new A.WhenColumn("When", _null, B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A.KindColumn("Kind", _null, B.JSNumber_methods.roundToDouble$0(155 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A.MessageColumn("Message", _null, _null, _null, B.ColumnAlignment_0), _null), _null), new A.LogDetails(_this.selected, _null)], t4), B.List_sxw, _null, _null), 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _showFilterDialog$0() {
      var t1 = this._framework$_element;
      t1.toString;
      A.showDialog(true, new A._LoggingScreenState__showFilterDialog_closure(this), t1, type$.dynamic);
    }
  };
  A._LoggingScreenState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._LoggingScreenState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A._LoggingScreenState_didChangeDependencies__closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.___LoggingScreenState_filteredLogs = t2;
    },
    $signature: 0
  };
  A._LoggingScreenState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._LoggingScreenState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._LoggingScreenState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.selected = t1.ProvidedControllerMixin__controller._selectedLog._change_notifier$_value;
    },
    $signature: 0
  };
  A._LoggingScreenState__showFilterDialog_closure.prototype = {
    call$1(context) {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      return A.FilterDialog$(t1, null, true, null, t1.filterArgs, "Type a filter query to show or hide specific logs.\n\nAny text that is not paired with an available filter key below will be queried against all categories (kind, message).\n\nAvailable filters:\n    'kind', 'k'       (e.g. 'k:flutter.frame', '-k:gc,stdout')\n\nExample queries:\n    'my log message k:stdout,stdin'\n    'flutter -k:gc'\n", null, type$.LoggingController, type$.LogData);
    },
    $signature: 364
  };
  A.__LoggingScreenState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$__LoggingScreenState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.FieldTrack.prototype = {
    getValue$1(dataObject) {
      return dataObject.isStacktraced ? 1 : 0;
    },
    compare$2(a, b) {
      var valueA = a.isStacktraced ? 1 : 0;
      return B.JSInt_methods.compareTo$1(valueA, b.isStacktraced ? 1 : 0);
    },
    build$4$isRowSelected$onPressed(context, item, isRowSelected, onPressed) {
      return A.Checkbox$(null, new A.FieldTrack_build_closure(A.Provider_of(context, true, type$.MemoryController), item), false, item.isStacktraced);
    },
    $isColumnRenderer: 1
  };
  A.FieldTrack_build_closure.prototype = {
    call$1(value) {
      value.toString;
      this.controller.toggleAllocationTracking$2(this.item, value);
    },
    $signature: 31
  };
  A.FieldClassName.prototype = {
    getValue$1(dataObject) {
      return dataObject.classRef.name;
    },
    getDisplayValue$1(dataObject) {
      return A.S(dataObject.classRef.name);
    },
    compare$2(a, b) {
      var t2,
        t1 = a.classRef.name;
      t1.toString;
      t2 = b.classRef.name;
      t2.toString;
      return B.JSString_methods.compareTo$1(t1, t2);
    }
  };
  A.FieldInstanceCountColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.instancesCurrent;
    },
    getDisplayValue$1(dataObject) {
      return "" + dataObject.instancesCurrent;
    },
    get$numeric() {
      return true;
    },
    compare$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.instancesCurrent, b.instancesCurrent);
    }
  };
  A.FieldInstanceDeltaColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.instancesDelta;
    },
    getDisplayValue$1(dataObject) {
      return A.S(Math.max(0, dataObject.instancesDelta));
    },
    get$numeric() {
      return true;
    },
    compare$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.instancesDelta, b.instancesDelta);
    }
  };
  A.FieldSizeColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.bytesCurrent;
    },
    getDisplayValue$1(dataObject) {
      return "" + dataObject.bytesCurrent;
    },
    get$numeric() {
      return true;
    },
    compare$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.bytesCurrent, b.bytesCurrent);
    }
  };
  A.FieldSizeDeltaColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.bytesDelta;
    },
    getDisplayValue$1(dataObject) {
      return A.S(Math.max(0, dataObject.bytesDelta));
    },
    get$numeric() {
      return true;
    },
    compare$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.bytesDelta, b.bytesDelta);
    }
  };
  A.AllocationTableView.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.Tracker;
      return new A.AllocationTableViewState(A._setArrayType([], type$.JSArray_ColumnData_ClassHeapDetailStats), A.LinkedHashMap_LinkedHashMap$_empty(type$.ClassRef, type$.CpuSamples), new A.TreeTracker(new A._TrackerClassColumn(A.StreamController_StreamController$broadcast(false, t1), A.StreamController_StreamController$broadcast(false, t1), "Tracking", _null, _null, _null, B.ColumnAlignment_0), new A.ValueNotifier(new A.Selection(_null, _null, false, type$.Selection_Tracker), $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_Selection_Tracker)), _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.AllocationTableViewState.prototype = {
    initState$0() {
      var _null = null;
      this.super$State$initState();
      B.JSArray_methods.addAll$1(this.columns, A._setArrayType([new A.FieldTrack("Track", "Track Class Allocations", B.JSNumber_methods.roundToDouble$0(55 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A.FieldClassName("Class", _null, B.JSNumber_methods.roundToDouble$0(200 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A.FieldInstanceCountColumn("Instances", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1), new A.FieldInstanceDeltaColumn("Delta", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1), new A.FieldSizeColumn("Bytes", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1), new A.FieldSizeDeltaColumn("Delta", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1)], type$.JSArray_ColumnData_ClassHeapDetailStats));
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedSnapshotNotifier, new A.AllocationTableViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._updateClassStackTraces, new A.AllocationTableViewState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._treeChangedNotifier);
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._monitorAllocationsNotifier);
      _this.addAutoDisposeListener$1(_this.trackerData.selectionNotifier);
      t1 = _this.get$_memory_allocation_table_view$_handleSearch();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier, t1);
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.SearchControllerMixin__searchNotifier, t1);
    },
    _memory_allocation_table_view$_handleSearch$0() {
      var matches, sortedAllocationMatches, t3, _this = this,
        t1 = _this.ProvidedControllerMixin__controller,
        t2 = t1.SearchControllerMixin__searchNotifier._change_notifier$_value;
      if (t2.length !== 0) {
        if (t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier._change_notifier$_value) {
          t1.selectItemInAllocationTable$1(t2);
          _this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, false);
          t1 = _this.ProvidedControllerMixin__controller;
          t1.SearchControllerMixin__searchNotifier.set$value(0, "");
          t1.refreshSearchMatches$0();
          return;
        }
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
        t1.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
        matches = _this._allocationMatches$1(t2);
        t1 = A.LinkedHashSet_LinkedHashSet$from(matches, A._arrayInstanceType(matches)._precomputed1);
        sortedAllocationMatches = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
        B.JSArray_methods.sort$0(sortedAllocationMatches);
        t1 = _this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_searchAutoComplete;
        t2 = B.JSArray_methods.sublist$2(sortedAllocationMatches, 0, Math.min($.topMatchesLimit, sortedAllocationMatches.length));
        t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,AutoCompleteMatch>");
        t1.set$value(0, A.List_List$of(new A.MappedListIterable(t2, new A.AllocationTableViewState__handleSearch_closure(), t3), true, t3._eval$1("ListIterable.E")));
      }
    },
    _allocationMatches$1(searchingValue) {
      var t2,
        t1 = type$.JSArray_String,
        matches = A._setArrayType([], t1),
        lcSearchingValue = searchingValue.toLowerCase(),
        startMatches = A._setArrayType([], t1);
      for (t1 = J.get$iterator$ax(this.ProvidedControllerMixin__controller._monitorAllocations); t1.moveNext$0();) {
        t2 = t1.get$current(t1).classRef.name;
        t2.toString;
        if (B.JSString_methods.startsWith$1(t2, searchingValue))
          startMatches.push(t2);
        else if (A.stringContainsUnchecked(t2, searchingValue, 0))
          startMatches.push(t2);
        else if (A.stringContainsUnchecked(t2.toLowerCase(), lcSearchingValue, 0))
          matches.push(t2);
      }
      B.JSArray_methods.insertAll$2(matches, 0, startMatches);
      return matches;
    },
    build$1(context) {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this.ProvidedControllerMixin__controller;
      if (t1.allocationsFieldsTable == null) {
        t1.__MemoryController_sortedMonitorColumn = _this.columns[1];
        t1.__MemoryController_sortedMonitorDirection = B.SortDirection_0;
      }
      if (J.get$isEmpty$asx(t1._monitorAllocations))
        return new A.OutlineDecoration(A.Center$(A.Row$(A._setArrayType([B.Text_f1j, B.ThemedImageIcon_ouN, B.Text_AGi], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), _null, _null, _null), _null);
      _this.ProvidedControllerMixin__controller.searchMatchMonitorAllocationsNotifier.set$value(0, _null);
      t1 = _this.ProvidedControllerMixin__controller;
      t2 = t1._monitorAllocations;
      t3 = t1.__MemoryController_sortedMonitorColumn;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t1.__MemoryController_sortedMonitorDirection;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = A.FlatTable$(t1.searchMatchMonitorAllocationsNotifier, false, _this.columns, t2, _null, new A.AllocationTableViewState_build_closure(), new A.AllocationTableViewState_build_closure0(_this), new A.AllocationTableViewState_build_closure1(_this), _null, _null, _null, t3, t4, type$.nullable_ClassHeapDetailStats);
      t1.allocationsFieldsTable = t4;
      return A.Split$(B.Axis_1, A._setArrayType([new A.OutlineDecoration(t4, _null), _this.trackerData.createTrackingTable$3(context, t1, A.ScrollController$(0))], type$.JSArray_Widget), B.List_qFu, B.List_200_0, _null);
    }
  };
  A.AllocationTableViewState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.AllocationTableViewState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A.AllocationTableViewState_didChangeDependencies__closure0.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.AllocationTableViewState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.AllocationTableViewState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.AllocationTableViewState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller;
      t1.trackerData.createTrackerTree$2(t2.trackAllocations, t2.allocationSamples);
    },
    $signature: 0
  };
  A.AllocationTableViewState__handleSearch_closure.prototype = {
    call$1(match) {
      return new A.AutoCompleteMatch(match, B.List_empty21);
    },
    $signature: 194
  };
  A.AllocationTableViewState_build_closure.prototype = {
    call$1(d) {
      var t1 = d.classRef.name;
      t1.toString;
      return new A.ValueKey(t1, type$.ValueKey_String);
    },
    $signature: 365
  };
  A.AllocationTableViewState_build_closure0.prototype = {
    call$1(ref) {
      return this.$this.ProvidedControllerMixin__controller.toggleAllocationTracking$2(ref, !ref.isStacktraced);
    },
    $signature: 366
  };
  A.AllocationTableViewState_build_closure1.prototype = {
    call$3$secondarySortColumn(column, direction, secondarySortColumn) {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      t1.__MemoryController_sortedMonitorColumn = column;
      t1.__MemoryController_sortedMonitorDirection = direction;
    },
    call$2(column, direction) {
      return this.call$3$secondarySortColumn(column, direction, null);
    },
    $signature: 367
  };
  A._AllocationTableViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._AllocationTableViewState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.Bucket.prototype = {};
  A.imageAnalysis_closure.prototype = {
    call$2(key, value) {
      var externalsNode, t1, t2, t3, t4, t5, liveExternal, t6, t7, objectNode, bucketSizes, childExternalSizes, bucketNode, librariesNode, imageCacheNode, _null = null, _s6_ = "1..10K",
        _s8_ = "10K..50K",
        _s9_ = "50K..100K",
        _s10_ = "100K..500K",
        _s8_0 = "500K..1M",
        _s7_ = "1M..10M",
        _s8_1 = "10M..50M",
        _s4_ = "50M+";
      switch (key) {
        case "externals":
          externalsNode = A.AnalysisReference$("Externals", _null, _null);
          this.analysisSnapshot.addChild$1(externalsNode);
          for (t1 = J.cast$1$0$ax(value, type$.ExternalReference), t2 = A._instanceType(t1), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t3 = type$.String, t4 = type$.Bucket, t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
            t5 = t1.__internal$_current;
            if (t5 == null)
              t5 = t2._as(t5);
            liveExternal = t5.liveExternal;
            t6 = t5.name;
            t7 = liveExternal.live.theClass._instances.length;
            objectNode = A.AnalysisReference$(t6, t7, _null);
            externalsNode.addChild$1(objectNode);
            bucketSizes = A.SplayTreeMap$(_null, t3, t4);
            for (t5 = t5.children, t6 = A._arrayInstanceType(t5)._eval$1("CastList<1,ExternalObjectReference>"), t5 = new A.CastList(t5, t6), t5 = new A.ListIterator(t5, t5.get$length(t5), t6._eval$1("ListIterator<ListMixin.E>")), t6 = t6._eval$1("ListMixin.E"), childExternalSizes = 0; t5.moveNext$0();) {
              t7 = t5.__internal$_current;
              t7 = (t7 == null ? t6._as(t7) : t7).externalSize;
              if (t7 < 10000) {
                bucketSizes.putIfAbsent$2(0, _s6_, new A.imageAnalysis__closure());
                ++bucketSizes.$index(0, _s6_).totalCount;
                bucketSizes.$index(0, _s6_).totalBytes += t7;
              } else if (t7 < 50000) {
                bucketSizes.putIfAbsent$2(0, _s8_, new A.imageAnalysis__closure0());
                ++bucketSizes.$index(0, _s8_).totalCount;
                bucketSizes.$index(0, _s8_).totalBytes += t7;
              } else if (t7 < 100000) {
                bucketSizes.putIfAbsent$2(0, _s9_, new A.imageAnalysis__closure1());
                ++bucketSizes.$index(0, _s9_).totalCount;
                bucketSizes.$index(0, _s9_).totalBytes += t7;
              } else if (t7 < 500000) {
                bucketSizes.putIfAbsent$2(0, _s10_, new A.imageAnalysis__closure2());
                ++bucketSizes.$index(0, _s10_).totalCount;
                bucketSizes.$index(0, _s10_).totalBytes += t7;
              } else if (t7 < 1000000) {
                bucketSizes.putIfAbsent$2(0, _s8_0, new A.imageAnalysis__closure3());
                ++bucketSizes.$index(0, _s8_0).totalCount;
                bucketSizes.$index(0, _s8_0).totalBytes += t7;
              } else if (t7 < 10000000) {
                bucketSizes.putIfAbsent$2(0, _s7_, new A.imageAnalysis__closure4());
                ++bucketSizes.$index(0, _s7_).totalCount;
                bucketSizes.$index(0, _s7_).totalBytes += t7;
              } else if (t7 < 50000000) {
                bucketSizes.putIfAbsent$2(0, _s8_1, new A.imageAnalysis__closure5());
                ++bucketSizes.$index(0, _s8_1).totalCount;
                bucketSizes.$index(0, _s8_1).totalBytes += t7;
              } else {
                bucketSizes.putIfAbsent$2(0, _s4_, new A.imageAnalysis__closure6());
                ++bucketSizes.$index(0, _s4_).totalCount;
                bucketSizes.$index(0, _s4_).totalBytes += t7;
              }
              childExternalSizes += t7;
            }
            bucketNode = A.AnalysisReference$("Buckets", _null, childExternalSizes);
            bucketSizes.forEach$1(0, new A.imageAnalysis__closure7(bucketNode));
            objectNode.addChild$1(bucketNode);
          }
          break;
        case "filters":
        case "libraries":
          librariesNode = A.AnalysisReference$("Library " + key, _null, _null);
          t1 = this.controller;
          imageCacheNode = A.processMatches(t1, A.drillIn(t1, librariesNode, value));
          if (imageCacheNode != null)
            librariesNode.addChild$1(imageCacheNode);
          this.analysisSnapshot.addChild$1(librariesNode);
          break;
      }
    },
    $signature: 368
  };
  A.imageAnalysis__closure.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure0.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure1.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure2.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure3.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure4.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure5.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure6.prototype = {
    call$0() {
      return new A.Bucket(0, 0);
    },
    $signature: 58
  };
  A.imageAnalysis__closure7.prototype = {
    call$2(key, value) {
      this.bucketNode.addChild$1(A.AnalysisReference$(key, value.totalCount, value.totalBytes));
    },
    $signature: 370
  };
  A.processMatches_closure.prototype = {
    call$2(key, values) {
      var t2, t3, t4, t5, t6, t7, _this = this,
        fields = key.split("."),
        t1 = _this._box_0;
      t1.imageCacheFound = J.$eq$(fields[0], "ImageCache");
      for (t2 = J.get$iterator$ax(values), t3 = _this.live, t4 = type$.JSArray_AnalysisField, t5 = _this.cache, t6 = _this.pending; t2.moveNext$0();) {
        t7 = t2.get$current(t2);
        switch (fields[1]) {
          case "_pendingImages":
            ++t1.countPending;
            t6.addChild$1(new A.AnalysisField("url", t7, A._setArrayType([], t4)));
            break;
          case "_cache":
            ++t1.countCache;
            t5.addChild$1(new A.AnalysisField("url", t7, A._setArrayType([], t4)));
            break;
          case "_liveImages":
            ++t1.countLive;
            t3.addChild$1(new A.AnalysisField("url", t7, A._setArrayType([], t4)));
            break;
        }
      }
    },
    $signature: 371
  };
  A.drillIn_closure.prototype = {
    call$3(className, fields, value) {
      var key = className + "." + J.join$1$ax(fields, "."),
        t1 = this.result;
      t1.putIfAbsent$2(0, key, new A.drillIn__closure());
      t1 = t1.$index(0, key);
      t1.toString;
      J.add$1$ax(t1, value);
    },
    $signature: 372
  };
  A.drillIn__closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_String);
    },
    $signature: 354
  };
  A.AnalysisInstanceViewTable.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.AnalysisField;
      return new A.AnalysisInstanceViewState(new A._AnalysisFieldNameColumn(A.StreamController_StreamController$broadcast(false, t1), A.StreamController_StreamController$broadcast(false, t1), "Name", _null, _null, _null, B.ColumnAlignment_0), A._setArrayType([], type$.JSArray_ColumnData_AnalysisField), _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.AnalysisInstanceViewState.prototype = {
    initState$0() {
      this.super$State$initState();
      B.JSArray_methods.addAll$1(this._memory_analyzer$_columns, A._setArrayType([this._memory_analyzer$_treeColumn, new A._AnalysisFieldValueColumn("Value", null, B.JSNumber_methods.roundToDouble$0(350 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), null, B.ColumnAlignment_0)], type$.JSArray_ColumnData_AnalysisField));
    },
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedSnapshotNotifier, new A.AnalysisInstanceViewState_didChangeDependencies_closure(_this));
    },
    build$1(context) {
      var t3,
        t1 = this.ProvidedControllerMixin__controller,
        t2 = t1._analysisInstanceRoot;
      t2.toString;
      t3 = this._memory_analyzer$_columns;
      return t1.__MemoryController_analysisFieldsTreeTable = A.TreeTable$(false, t3, t2, null, new A.AnalysisInstanceViewState_build_closure(), null, t3[0], B.SortDirection_0, this._memory_analyzer$_treeColumn, type$.AnalysisField);
    }
  };
  A.AnalysisInstanceViewState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.AnalysisInstanceViewState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.AnalysisInstanceViewState_didChangeDependencies__closure.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.AnalysisInstanceViewState_build_closure.prototype = {
    call$1(typeRef) {
      var t1 = typeRef.name;
      if (t1 == null)
        t1 = "";
      return new A.PageStorageKey(t1, type$.PageStorageKey_String);
    },
    $signature: 374
  };
  A._AnalysisFieldNameColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.name;
    },
    getDisplayValue$1(dataObject) {
      return A.S(dataObject.name);
    },
    compare$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    get$fixedWidthPx() {
      return 250;
    }
  };
  A._AnalysisFieldValueColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.value;
    },
    getDisplayValue$1(dataObject) {
      var value = dataObject.value;
      return A.S(typeof value == "string" && value.length > 30 ? J.substring$2$s(value, 0, 13) + "\u2026" + B.JSString_methods.substring$1(value, value.length - 17) : value);
    },
    compare$2(a, b) {
      return B.JSString_methods.compareTo$1(a.value, b.value);
    }
  };
  A.ClassFields.prototype = {
    get$length(_) {
      return this._fields.length;
    }
  };
  A.ObjectMatcher.prototype = {
    findFieldMatch$2(classFields, value) {
      var t2, matched, _i, fieldsToMatch, index, index0,
        t1 = classFields._fields,
        className = t1[0],
        listOfFieldsToMatch = B.Map_UqKiG.$index(0, className);
      if (listOfFieldsToMatch != null)
        for (t2 = 5 === t1.length - 1, matched = false, _i = 0; _i < 3; ++_i) {
          fieldsToMatch = listOfFieldsToMatch[_i];
          if (t2)
            for (index = 0; index < 5; index = index0, matched = true) {
              index0 = index + 1;
              if (fieldsToMatch[index] !== t1[index0]) {
                matched = false;
                break;
              }
            }
          if (matched) {
            this._matchCompleted.call$3(className, fieldsToMatch, value);
            break;
          }
        }
      else
        matched = false;
      return matched;
    }
  };
  A._AnalysisInstanceViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._AnalysisInstanceViewState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.ChartInterval.prototype = {
    toString$0(_) {
      return "ChartInterval." + this._core$_name;
    }
  };
  A.OfflineFileException.prototype = {
    toString$0(_) {
      return this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.AllocationStackTrace.prototype = {
    computeStacktrace$2$functions(cpuSample, functions) {
      var stackLength, t2, t3, t4, t5, stackIndex, profileFunc, ownerName, functionName, t6, t7, t8,
        t1 = cpuSample.stack;
      if ((t1 == null ? null : t1.length !== 0) === true) {
        stackLength = t1.length;
        for (t1 = type$.FuncRef, t2 = type$.LibraryRef, t3 = type$.ClassRef, t4 = this.sources, t5 = this.stacktrace, stackIndex = 0; stackIndex < stackLength; ++stackIndex) {
          profileFunc = functions[cpuSample.stack[stackIndex]];
          ownerName = A._Cell$named("ownerName");
          functionName = A._Cell$named("functionName");
          t6 = profileFunc.$function;
          if (t1._is(t6)) {
            if (t3._is(t6.get$owner())) {
              t7 = J.get$name$x(t6.get$owner());
              if (t7 == null)
                t7 = "";
              if (ownerName.__late_helper$_value !== ownerName)
                A.throwExpression(A.LateError$localAI(ownerName.__late_helper$_name));
              ownerName.__late_helper$_value = t7;
            } else if (t2._is(t6.get$owner())) {
              t7 = J.get$name$x(t6.get$owner());
              if (t7 == null)
                t7 = "";
              if (ownerName.__late_helper$_value !== ownerName)
                A.throwExpression(A.LateError$localAI(ownerName.__late_helper$_name));
              ownerName.__late_helper$_value = t7;
            } else {
              t7 = A.S(J.get$name$x(t6.get$owner()));
              if (ownerName.__late_helper$_value !== ownerName)
                A.throwExpression(A.LateError$localAI(ownerName.__late_helper$_name));
              ownerName.__late_helper$_value = t7 + ".";
            }
            t6 = t6.get$name(t6);
            if (t6 == null)
              t6 = "";
            if (functionName.__late_helper$_value !== functionName)
              A.throwExpression(A.LateError$localAI(functionName.__late_helper$_name));
            functionName.__late_helper$_value = t6;
          } else {
            if (ownerName.__late_helper$_value !== ownerName)
              A.throwExpression(A.LateError$localAI(ownerName.__late_helper$_name));
            t7 = ownerName.__late_helper$_value = "";
            t6 = t6.name;
            if (t6 == null)
              t6 = t7;
            if (functionName.__late_helper$_value !== functionName)
              A.throwExpression(A.LateError$localAI(functionName.__late_helper$_name));
            functionName.__late_helper$_value = t6;
          }
          t6 = ownerName.__late_helper$_value;
          if (t6 === ownerName)
            A.throwExpression(A.LateError$localNI(ownerName.__late_helper$_name));
          t7 = J.getInterceptor$asx(t6);
          t8 = t7.get$length(t6);
          if (0 > t8)
            A.throwExpression(A.RangeError$range(0, 0, t7.get$length(t6), null, null));
          if (!A.stringContainsUnchecked(t6, "&", 0)) {
            this.timestamp = cpuSample.timestamp;
            t6 = ownerName.__late_helper$_value;
            if (t6 === ownerName)
              A.throwExpression(A.LateError$localNI(ownerName.__late_helper$_name));
            if (J.$eq$(t6, "<anonymous closure>.")) {
              t6 = functionName.__late_helper$_value;
              if (t6 === functionName)
                A.throwExpression(A.LateError$localNI(functionName.__late_helper$_name));
              t6 = J.$eq$(t6, "<anonymous closure>");
            } else
              t6 = false;
            if (t6) {
              t6 = functionName.__late_helper$_value;
              if (t6 === functionName)
                A.throwExpression(A.LateError$localNI(functionName.__late_helper$_name));
              t5.push(t6);
            } else {
              t6 = ownerName.__late_helper$_value;
              if (t6 === ownerName)
                A.throwExpression(A.LateError$localNI(ownerName.__late_helper$_name));
              t6 = A.S(t6);
              t7 = functionName.__late_helper$_value;
              if (t7 === functionName)
                A.throwExpression(A.LateError$localNI(functionName.__late_helper$_name));
              t5.push(t6 + "." + A.S(t7));
            }
            t4.push(profileFunc.resolvedUrl);
          }
        }
      }
    }
  };
  A.AllocationSamples.prototype = {
    _computeCpuSamples$1(cpuSamples) {
      var t1, t2, t3, index, cpuSample, t4, t5,
        samplesLength = cpuSamples.samples.length;
      for (t1 = this.stacktraces, t2 = type$.JSArray_String, t3 = type$.JSArray_nullable_String, index = 0; index < samplesLength; ++index) {
        cpuSample = cpuSamples.samples[index];
        if (cpuSample.stack.length !== 0) {
          t4 = cpuSamples.functions;
          t5 = new A.AllocationStackTrace(A._setArrayType([], t2), A._setArrayType([], t3));
          t5.computeStacktrace$2$functions(cpuSample, t4);
          t1.push(t5);
        }
      }
    }
  };
  A.ChartControllers.prototype = {
    resetAll$0() {
      this.event.reset$0(0);
      this.vm.reset$0(0);
      this.android.reset$0(0);
    }
  };
  A.MemoryController.prototype = {
    toggleLegendVisibility$0() {
      var t1 = this._legendVisibleNotifier,
        t2 = !t1._change_notifier$_value;
      t1.set$value(0, t2);
      return t2;
    },
    updatedMemorySource$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$updatedMemorySource$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._memorySourceNotifier._change_notifier$_value;
              $async$goto = t1 === "Live Feed" ? 2 : 4;
              break;
            case 2:
              // then
              t1 = $async$self.offline;
              if (t1._change_notifier$_value) {
                t2 = $async$self.__MemoryController_memoryTimeline;
                if (t2 === $)
                  A.throwUnnamedLateFieldNI();
                B.JSArray_methods.clear$0(t2.offlineData);
                t1.set$value(0, false);
              }
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = $async$self.__MemoryController_memoryLog;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t2.loadOffline$1(t1).catchError$1(new A.MemoryController_updatedMemorySource_closure()), $async$updatedMemorySource$0);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$updatedMemorySource$0, $async$completer);
    },
    toggleAndroidChartVisibility$0() {
      var t1 = this._androidChartVisibleNotifier,
        t2 = !t1._change_notifier$_value;
      t1.set$value(0, t2);
      return t2;
    },
    changeStackTraces$0() {
      var t1 = this._updateClassStackTraces;
      t1.set$value(0, t1._change_notifier$_value + 1);
    },
    setTracking$2(classRef, enable) {
      var foundClass = A.IterableExtension_firstWhereOrNull(this._monitorAllocations, new A.MemoryController_setTracking_closure(classRef));
      if (foundClass != null) {
        foundClass.isStacktraced = enable;
        this._setTracking$2(foundClass.classRef, enable).catchError$1(new A.MemoryController_setTracking_closure0()).whenComplete$1(new A.MemoryController_setTracking_closure1(this));
      }
    },
    _setTracking$2(ref, enable) {
      return this._setTracking$body$MemoryController(ref, enable);
    },
    _setTracking$body$MemoryController(ref, enable) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3;
      var $async$_setTracking$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 = $async$self.get$_isolateId() != null ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $async$self.get$_isolateId();
              t1.toString;
              $async$goto = 6;
              return A._asyncAwait($async$self.isIsolateLive$1(t1), $async$_setTracking$2);
            case 6:
              // returning from await.
              t1 = !$async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1 = true;
            case 4:
              // join
              if (t1) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateId();
              t2.toString;
              t3 = ref.id;
              t3.toString;
              $async$goto = 7;
              return A._asyncAwait(t1.setTraceClassAllocation$3(t2, t3, enable), $async$_setTracking$2);
            case 7:
              // returning from await.
              if (enable) {
                t1 = $async$self.trackAllocations;
                if (t1.containsKey$1(0, ref.name)) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t2 = ref.name;
                if (t2 != null)
                  t1.$indexSet(0, t2, ref);
              } else
                $async$self.trackAllocations.remove$1(0, ref.name);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_setTracking$2, $async$completer);
    },
    getAllocationTraces$1(ref) {
      return this.getAllocationTraces$body$MemoryController(ref);
    },
    getAllocationTraces$body$MemoryController(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_CpuSamples),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, t1;
      var $async$getAllocationTraces$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.get$_isolateId();
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait($async$self.isIsolateLive$1(t1), $async$getAllocationTraces$1);
            case 3:
              // returning from await.
              if (!$async$result) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateId();
              t2.toString;
              t3 = ref.get$id(ref);
              t4 = t1.__VmServiceWrapper__vmService;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t5 = type$.dynamic;
              t5 = A.LinkedHashMap_LinkedHashMap$_empty(t5, t5);
              t5.$indexSet(0, "isolateId", t2);
              if (t3 != null)
                t5.$indexSet(0, "classId", t3);
              t2 = type$.CpuSamples;
              $async$goto = 4;
              return A._asyncAwait(t1.trackFuture$1$2("getAllocationTraces", t4._call$1$2(0, "getAllocationTraces", t5, t2), t2), $async$getAllocationTraces$1);
            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$getAllocationTraces$1, $async$completer);
    },
    computeAllAllocationSamples$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_ClassRef_CpuSamples),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, samples, t1;
      var $async$computeAllAllocationSamples$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._allAllocationSamples;
              t1.clear$0(0);
              t2 = $async$self.trackAllocations;
              t3 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1);
            case 3:
              // for condition
              if (!t3.moveNext$0()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              t4 = t3.__js_helper$_current;
              t5 = t2.$index(0, t4);
              t5.toString;
              $async$goto = 5;
              return A._asyncAwait($async$self.getAllocationTraces$1(t5), $async$computeAllAllocationSamples$0);
            case 5:
              // returning from await.
              samples = $async$result;
              if (samples != null) {
                t4 = t2.$index(0, t4);
                t4.toString;
                t1.$indexSet(0, t4, samples);
              }
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$computeAllAllocationSamples$0, $async$completer);
    },
    get$libraryRoot() {
      var snapshot = this.getSnapshot$1(this.selectionSnapshotNotifier._change_notifier$_value.node);
      if (snapshot != null)
        return snapshot.libraryRoot;
      return null;
    },
    set$libraryRoot(newRoot) {
      var t1 = this.snapshots,
        snapshot = t1.length !== 0 ? B.JSArray_methods.get$isNotEmpty(t1) ? B.JSArray_methods.get$last(t1) : null : null;
      if (snapshot == null)
        snapshot = this.getSnapshot$1(this.selectionSnapshotNotifier._change_notifier$_value.node);
      if (snapshot != null)
        snapshot.libraryRoot = newRoot;
    },
    get$activeSnapshot() {
      var t2, t3, _i, topLevel, snapshot, t4, t5, _this = this,
        t1 = _this.__MemoryController_groupByTreeTable;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.dataRoots;
      t2 = t1.length;
      t3 = _this.selectionSnapshotNotifier;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        topLevel = t1[_i];
        if (topLevel instanceof A.SnapshotReference) {
          snapshot = _this.getSnapshot$1(t3._change_notifier$_value.node);
          if (snapshot != null) {
            t4 = topLevel.snapshot.collectedTimestamp;
            t5 = snapshot.collectedTimestamp;
            t4 = t4._value === t5._value && t4.isUtc === t5.isUtc;
          } else
            t4 = false;
          if (t4)
            return topLevel;
        }
      }
      t1 = _this.__MemoryController_groupByTreeTable;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.dataRoots;
      t1 = B.JSArray_methods.get$isNotEmpty(t1) ? B.JSArray_methods.get$last(t1) : null;
      t1.toString;
      return type$.SnapshotReference._as(t1);
    },
    getSnapshot$1(reference) {
      for (; reference != null;) {
        if (reference instanceof A.SnapshotReference)
          return reference.snapshot;
        reference = reference.parent;
      }
      return null;
    },
    get$_isolateId() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
      return t1 == null ? null : J.get$id$x(t1);
    },
    _handleIsolateChanged$0() {
    },
    _memory_controller$_handleConnectionStart$1(serviceManager) {
      return this._handleConnectionStart$body$MemoryController(serviceManager);
    },
    _handleConnectionStart$body$MemoryController(serviceManager) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, t1;
      var $async$_memory_controller$_handleConnectionStart$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$self._shouldShowLeaksTab.set$value(0, t1._hasServiceExtension$1("ext.dart.memoryLeakTracking")._change_notifier$_value);
              t1 = $async$self._memoryTracker = new A.MemoryTracker($async$self, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.MemoryUsage), A.StreamController_StreamController$broadcast(false, type$.void));
              t1._updateLiveDataPolling$0();
              $async$self._paused.addListener$1(0, t1.get$_updateLiveDataPolling());
              t1 = serviceManager.service.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._getEventController$1("Extension");
              t2 = $async$self.AutoDisposeControllerMixin__delegate._auto_dispose$_subscriptions;
              t2.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.MemoryController__handleConnectionStart_closure($async$self)));
              t1 = $async$self._memoryTracker._changeController;
              t2.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.MemoryController__handleConnectionStart_closure0($async$self)));
              t1 = $async$self._memoryTracker._changeController;
              t2.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.MemoryController__handleConnectionStart_closure1($async$self)));
              t1 = $async$self._memoryTrackerController;
              new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$2$onDone(new A.MemoryController__handleConnectionStart_closure2(), new A.MemoryController__handleConnectionStart_closure3($async$self));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_memory_controller$_handleConnectionStart$1, $async$completer);
    },
    _memory_controller$_handleConnectionStop$1($event) {
      var _this = this,
        t1 = _this._memoryTracker;
      if (t1 != null)
        t1.stop$0(0);
      _this._memoryTrackerController.add$1(0, _this._memoryTracker);
      _this._disconnectController.add$1(0, null);
    },
    startTimeline$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$startTimeline$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.AutoDisposeControllerMixin__delegate;
              t1.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate, $async$self.get$_handleIsolateChanged());
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
              t1 = t1._auto_dispose$_subscriptions;
              t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(new A.MemoryController_startTimeline_closure($async$self)));
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
              if (t2.service != null && t2.connectedApp != null && t2.connectedApp.get$connectedAppInitialized())
                $async$self._memory_controller$_handleConnectionStart$1($.globals.$index(0, B.Type_ServiceConnectionManager_qdG));
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionClosedController;
              t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_memory_controller$_handleConnectionStop()));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$startTimeline$0, $async$completer);
    },
    snapshotMemory$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_HeapSnapshotGraph),
        $async$returnValue, t1, isolate;
      var $async$snapshotMemory$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
              isolate = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              if (isolate == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 3;
              return A._asyncAwait(t1 == null ? null : t1.getHeapSnapshotGraph$1(isolate), $async$snapshotMemory$0);
            case 3:
              // 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$snapshotMemory$0, $async$completer);
    },
    selectItemInAllocationTable$1(searchingValue) {
      var t1;
      for (t1 = J.get$iterator$ax(this._monitorAllocations); t1.moveNext$0();)
        if (this._selectAllocationInTable$2(t1.get$current(t1), searchingValue))
          return true;
      return false;
    },
    _selectAllocationInTable$2(reference, search) {
      if (reference.classRef.name === search) {
        this.searchMatchMonitorAllocationsNotifier.set$value(0, reference);
        this.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
        this.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
        return true;
      }
      return false;
    },
    set$monitorAllocations(allocations) {
      var t1, t2, t3, trackedClass, _this = this;
      _this._monitorAllocations = allocations;
      t1 = _this._monitorAllocationsNotifier;
      if (J.get$isEmpty$asx(allocations))
        t1.set$value(0, 0);
      else
        t1.set$value(0, t1._change_notifier$_value + 1);
      for (t1 = J.get$iterator$ax(_this._monitorAllocations), t2 = _this.trackAllocations; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        trackedClass = A.IterableExtension_firstWhereOrNull(t2.get$entries(t2), new A.MemoryController_monitorAllocations_closure(t3));
        if (trackedClass != null) {
          t3.isStacktraced = true;
          _this.setTracking$2(trackedClass.get$value(trackedClass), true);
        }
      }
    },
    toggleAllocationTracking$2(item, isStacktraced) {
      item.isStacktraced = isStacktraced;
      this.setTracking$2(item.classRef, isStacktraced);
      this.changeStackTraces$0();
    },
    getAllocationProfile$1$reset(reset) {
      return this.getAllocationProfile$body$MemoryController(reset);
    },
    getAllocationProfile$0() {
      return this.getAllocationProfile$1$reset(false);
    },
    getAllocationProfile$body$MemoryController(reset) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_ClassHeapDetailStats),
        $async$returnValue, $async$self = this, t1, t2, allocationProfile, lastReset, resetTimestamp, allocations, allSamples, allClassRefTracked, t3, t4, t5, t6;
      var $async$getAllocationProfile$1$reset = 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 = $async$self.get$_isolateId() != null ? 3 : 5;
              break;
            case 3:
              // then
              t1 = $async$self.get$_isolateId();
              t1.toString;
              $async$goto = 6;
              return A._asyncAwait($async$self.isIsolateLive$1(t1), $async$getAllocationProfile$1$reset);
            case 6:
              // returning from await.
              t1 = !$async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              t1 = true;
            case 4:
              // join
              if (t1) {
                $async$returnValue = A._setArrayType([], type$.JSArray_ClassHeapDetailStats);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateId();
              t2.toString;
              $async$goto = 7;
              return A._asyncAwait(t1.getAllocationProfile$2$reset(t2, reset), $async$getAllocationProfile$1$reset);
            case 7:
              // returning from await.
              allocationProfile = $async$result;
              lastReset = allocationProfile.dateLastAccumulatorReset;
              if (lastReset != null) {
                resetTimestamp = A.DateTime$fromMillisecondsSinceEpoch(lastReset, false);
                A.DateFormat$("MMM dd HH:mm:ss", null).format$1(0, resetTimestamp);
              }
              t1 = allocationProfile.members;
              t1.toString;
              t1 = new A.MappedListIterable(t1, new A.MemoryController_getAllocationProfile_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ClassHeapDetailStats>")).super$Iterable$where(0, new A.MemoryController_getAllocationProfile_closure0());
              allocations = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
              $async$goto = !reset ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = 10;
              return A._asyncAwait($async$self.computeAllAllocationSamples$0(), $async$getAllocationProfile$1$reset);
            case 10:
              // returning from await.
              allSamples = $async$result;
              t1 = J.getInterceptor$x(allSamples);
              allClassRefTracked = t1.get$keys(allSamples);
              t2 = $async$self.allocationSamples;
              B.JSArray_methods.clear$0(t2);
              for (t3 = J.get$iterator$ax(allClassRefTracked), t4 = type$.JSArray_AllocationStackTrace; t3.moveNext$0();) {
                t5 = t3.get$current(t3);
                t6 = t1.$index(allSamples, t5);
                t6.toString;
                t5 = new A.AllocationSamples(t5, A._setArrayType([], t4));
                t5._computeCpuSamples$1(t6);
                t2.push(t5);
              }
            case 9:
              // join
              $async$returnValue = allocations;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getAllocationProfile$1$reset, $async$completer);
    },
    computeAllLibraries$2$graph$rebuild(graph, rebuild) {
      var snapshotGraph, t1, newLibraryRoot, t2, externalReferences, t3, t4, t5, t6, _i, liveExternal, t7, classLive, externalReference, t8, t9, t10, filteredReference, groupBy, _this = this, _null = null;
      if (graph != null)
        snapshotGraph = graph;
      else {
        t1 = _this.snapshots;
        t1 = B.JSArray_methods.get$isNotEmpty(t1) ? B.JSArray_methods.get$last(t1) : _null;
        snapshotGraph = t1 == null ? _null : t1.snapshotGraph;
      }
      if (snapshotGraph == null)
        return _null;
      t1 = _this.get$libraryRoot() != null && !rebuild;
      if (t1)
        return _this.get$libraryRoot();
      newLibraryRoot = A.LibraryReference$(_this, "___LIBRARY___", _null);
      _this.classRoot = A.LibraryReference$(_this, "___CLASSES___", _null);
      t1 = type$.JSArray_Reference;
      t2 = A._setArrayType([], t1);
      externalReferences = new A.ExternalReferences(_this, _null, "External", false, false, false, false, false, true, false, false, false, false, _null, _null, t2);
      t3 = _this.heapGraph;
      t3 = t3 == null ? _null : t3.externals;
      if (t3 == null)
        t3 = A._setArrayType([], type$.JSArray_HeapGraphExternalLive);
      t4 = t3.length;
      t5 = type$.nullable_HeapGraphClassLive;
      t6 = type$.nullable_ExternalReference;
      _i = 0;
      for (; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        liveExternal = t3[_i];
        if (liveExternal == null)
          continue;
        t7 = liveExternal.live;
        classLive = t5._as(t7.theClass);
        externalReference = t2.length !== 0 ? t6._as(A.IterableExtension_singleWhereOrNull(t2, new A.MemoryController_computeAllLibraries_closure(classLive))) : _null;
        if (externalReference == null) {
          t8 = classLive == null ? _null : classLive.origin._snapshot_graph$_name;
          externalReference = A.ExternalReference$(_this, t8 == null ? "" : t8, liveExternal);
          externalReferences.addChild$1(externalReference);
        }
        t8 = externalReference.children.length;
        t9 = liveExternal.externalProperty.externalSize;
        t10 = A._setArrayType([], t1);
        externalReference.sumExternalSizes += t9;
        externalReference.addChild$1(new A.ExternalObjectReference(t9, t7, _this, _null, "Instance " + t8, false, false, false, false, false, false, false, false, false, true, _null, _null, t10));
      }
      newLibraryRoot.addChild$1(externalReferences);
      filteredReference = new A.FilteredReference(_this, _null, "Filtered", false, false, false, false, false, false, false, true, false, false, _null, _null, A._setArrayType([], t1));
      _this.addAllToNode$2(filteredReference, _this.heapGraph.filteredLibraries);
      newLibraryRoot.addChild$1(filteredReference);
      groupBy = _this.heapGraph.groupByLibrary;
      groupBy.forEach$1(0, new A.MemoryController_computeAllLibraries_closure0(_this, newLibraryRoot));
      _this.set$libraryRoot(newLibraryRoot);
      return newLibraryRoot;
    },
    computeAllLibraries$1$rebuild(rebuild) {
      return this.computeAllLibraries$2$graph$rebuild(null, rebuild);
    },
    computeAllLibraries$1$graph(graph) {
      return this.computeAllLibraries$2$graph$rebuild(graph, false);
    },
    addAllToNode$2(root, allItems) {
      allItems.forEach$1(0, new A.MemoryController_addAllToNode_closure(this, root));
    },
    findAnalysesNode$0() {
      var t2, _i, child,
        t1 = this.topNode;
      if (t1 == null)
        return null;
      for (t1 = t1.children, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        child = t1[_i];
        if (child instanceof A.AnalysesReference)
          return child;
      }
      return null;
    },
    createSnapshotEntries$1($parent) {
      var t1, t2, _i, snapshot, displayTimestamp, snapshotNode, _null = null;
      for (t1 = this.snapshots, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        snapshot = t1[_i];
        if (A.IterableExtension_firstWhereOrNull($parent.children, new A.MemoryController_createSnapshotEntries_closure(snapshot)) == null) {
          displayTimestamp = A.DateFormat$("MMM dd HH:mm:ss", _null).format$1(0, snapshot.collectedTimestamp);
          t1 = snapshot.snapshotGraph;
          t2 = t1._snapshot_graph$_name;
          t2 = snapshot.autoSnapshot ? "Snapshot (" + t2 + ") " + displayTimestamp + " Auto" : "Snapshot (" + t2 + ") " + displayTimestamp;
          snapshotNode = new A.SnapshotReference(snapshot, _null, _null, t2, false, false, false, true, false, false, false, false, false, false, _null, _null, A._setArrayType([], type$.JSArray_Reference));
          $parent.addChild$1(snapshotNode);
          B.JSArray_methods.forEach$1(this.computeAllLibraries$1$graph(t1).children, snapshotNode.get$addChild());
          return;
        }
      }
    },
    treeChanged$0() {
      var t1 = this._treeChangedNotifier;
      if (t1._change_notifier$_value)
        t1.set$value(0, false);
      t1.set$value(0, true);
    },
    buildTreeFromAllData$0() {
      var analysesRoot, _this = this, _null = null,
        t1 = _this.topNode,
        oldChildren = t1 == null ? _null : t1.children,
        t2 = _this._treeChangedNotifier._change_notifier$_value;
      if (t2) {
        _this.topNode = null;
        t1 = _null;
      }
      if (t1 == null)
        t1 = _this.topNode = A.LibraryReference$(_this, "___LIBRARY___", _null);
      if (t2 && oldChildren != null)
        B.JSArray_methods.forEach$1(oldChildren, t1.get$addChild());
      t1 = A.IterableExtension_firstWhereOrNull(_this.topNode.children, new A.MemoryController_buildTreeFromAllData_closure()) == null;
      if (_this.snapshots.length !== 0 && t1) {
        analysesRoot = new A.AnalysesReference(_null, _null, "Analysis", false, false, true, false, false, false, false, false, false, false, _null, _null, A._setArrayType([], type$.JSArray_Reference));
        analysesRoot.addChild$1(A.AnalysisReference$("", _null, _null));
        _this.topNode.addChild$1(analysesRoot);
      }
      _this.createSnapshotEntries$1(_this.topNode);
      return _this.topNode;
    },
    gc$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, t1, t2;
      var $async$gc$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$self._gcing = true;
              $async$handler = 2;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $async$self.get$_isolateId();
              t2.toString;
              $async$goto = 5;
              return A._asyncAwait(t1.getAllocationProfile$2$gc(t2, true), $async$gc$0);
            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;
              $async$self._gcing = false;
              // 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$gc$0, $async$completer);
    },
    isIsolateLive$1(isolateId) {
      return this.isIsolateLive$body$MemoryController(isolateId);
    },
    isIsolateLive$body$MemoryController(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, service, e, sentinelErr, message, t1, t2, t3, t4, exception, $async$exception;
      var $async$isIsolateLive$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
              $async$handler = 4;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              service = t1;
              t1 = service;
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.dynamic;
              t4 = type$.Isolate;
              $async$goto = 7;
              return A._asyncAwait(t1.trackFuture$1$2("getIsolate", t2._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t3, t3), t4), t4), $async$isIsolateLive$1);
            case 7:
              // returning from await.
              $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);
              if (e instanceof A.SentinelException) {
                sentinelErr = e;
                message = "isIsolateLive: Isolate sentinel " + isolateId + " " + A.S(sentinelErr.sentinel.kind);
                $async$returnValue = false;
                // 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
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$isIsolateLive$1, $async$completer);
    }
  };
  A.MemoryController_updatedMemorySource_closure.prototype = {
    call$1(e) {
      throw A.wrapException(A.OfflineFileException$(J.toString$0$(e)));
    },
    $signature: 353
  };
  A.MemoryController_setTracking_closure.prototype = {
    call$1(element) {
      var t1 = this.classRef,
        t2 = element.classRef.id;
      t1 = t1.get$id(t1);
      return t2 == t1;
    },
    $signature: 170
  };
  A.MemoryController_setTracking_closure0.prototype = {
    call$1(e) {
      A.S(J.get$message$x(e));
    },
    $signature: 9
  };
  A.MemoryController_setTracking_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.changeStackTraces$0();
      t1.treeChanged$0();
    },
    $signature: 7
  };
  A.MemoryController__handleConnectionStart_closure.prototype = {
    call$1($event) {
      var customEventKind, jsonData, t1,
        _s15_ = "DevTools.Event_",
        extensionEventKind = $event.extensionKind;
      extensionEventKind.toString;
      if (B.JSString_methods.startsWith$1(extensionEventKind, _s15_)) {
        customEventKind = B.JSString_methods.substring$1(extensionEventKind, 15);
        extensionEventKind = _s15_;
      } else
        customEventKind = null;
      jsonData = J.cast$2$0$ax($event.extensionData.data, type$.String, type$.Object);
      switch (extensionEventKind) {
        case "Flutter.ImageSizesForFrame":
          t1 = this.$this.__MemoryController_memoryTimeline;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.addExtensionEvent$3($event.timestamp, $event.extensionKind, jsonData);
          break;
        case "DevTools.Event_":
          t1 = this.$this.__MemoryController_memoryTimeline;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.addExtensionEvent$4$customEventName($event.timestamp, "DevTools.Event", jsonData, customEventKind);
          break;
      }
    },
    $signature: 11
  };
  A.MemoryController__handleConnectionStart_closure0.prototype = {
    call$1(_) {
      var t1 = this.$this;
      t1._memoryTrackerController.add$1(0, t1._memoryTracker);
    },
    $signature: 86
  };
  A.MemoryController__handleConnectionStart_closure1.prototype = {
    call$1(_) {
      var t1 = this.$this;
      t1._memoryTrackerController.add$1(0, t1._memoryTracker);
    },
    $signature: 86
  };
  A.MemoryController__handleConnectionStart_closure2.prototype = {
    call$1(_) {
    },
    $signature: 378
  };
  A.MemoryController__handleConnectionStart_closure3.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._memoryTracker.stop$0(0);
      t1._memoryTracker = null;
    },
    $signature: 0
  };
  A.MemoryController_startTimeline_closure.prototype = {
    call$1(_) {
      return this.$this._memory_controller$_handleConnectionStart$1($.globals.$index(0, B.Type_ServiceConnectionManager_qdG));
    },
    $signature: 89
  };
  A.MemoryController_monitorAllocations_closure.prototype = {
    call$1(trackRef) {
      return this.monitorAllocation.classRef.id == J.get$id$x(trackRef.get$value(trackRef));
    },
    $signature: 379
  };
  A.MemoryController_getAllocationProfile_closure.prototype = {
    call$1(stats) {
      var t2, t3,
        t1 = stats.json;
      t1.toString;
      t2 = J.getInterceptor$asx(t1);
      t3 = t2.$index(t1, "class");
      t3 = t3 == null ? null : A.ClassRef$_fromJson(t3);
      t3.toString;
      return new A.ClassHeapDetailStats(t3, t2.$index(t1, "instancesCurrent"), t2.$index(t1, "instancesAccumulated"), t2.$index(t1, "bytesCurrent"), t2.$index(t1, "accumulatedSize"));
    },
    $signature: 380
  };
  A.MemoryController_getAllocationProfile_closure0.prototype = {
    call$1(stats) {
      return stats.instancesCurrent > 0 || stats.instancesDelta > 0;
    },
    $signature: 170
  };
  A.MemoryController_computeAllLibraries_closure.prototype = {
    call$1(knownClass) {
      var t1 = knownClass.name,
        t2 = this.classLive;
      return t1 === (t2 == null ? null : t2.origin._snapshot_graph$_name);
    },
    $signature: 59
  };
  A.MemoryController_computeAllLibraries_closure0.prototype = {
    call$2(libraryName, classes) {
      var t2, actualClass, classRef, classRefClassGroupBy,
        t1 = this.newLibraryRoot,
        libReference = type$.nullable_LibraryReference._as(A.IterableExtension_singleWhereOrNull(t1.children, new A.MemoryController_computeAllLibraries__closure(libraryName)));
      if (libReference == null) {
        libReference = A.LibraryReference$(this.$this, libraryName, classes);
        t1.addChild$1(libReference);
      }
      t1 = libReference.actualClasses;
      if (t1 == null)
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.dynamic);
      t1 = t1.get$iterator(t1);
      t2 = this.$this;
      for (; t1.moveNext$0();) {
        actualClass = t1.get$current(t1);
        actualClass.toString;
        A.monitorClass(null, J.get$name$x(actualClass), "computeAllLibraries");
        classRef = A.ClassReference$(t2, actualClass);
        classRef.addChild$1($.$get$Reference_empty());
        libReference.addChild$1(classRef);
        classRefClassGroupBy = A.ClassReference$(t2, actualClass);
        classRefClassGroupBy.addChild$1($.$get$Reference_empty());
        t2.classRoot.addChild$1(classRefClassGroupBy);
      }
    },
    $signature: 117
  };
  A.MemoryController_computeAllLibraries__closure.prototype = {
    call$1(library) {
      return this.libraryName === library.name;
    },
    $signature: 59
  };
  A.MemoryController_addAllToNode_closure.prototype = {
    call$2(libraryName, classes) {
      var t2, actualClass, classRef, classRefClassGroupBy,
        t1 = this.root,
        libReference = type$.nullable_LibraryReference._as(A.IterableExtension_singleWhereOrNull(t1.children, new A.MemoryController_addAllToNode__closure(libraryName)));
      if (libReference == null)
        libReference = A.LibraryReference$(this.$this, libraryName, classes);
      t1.addChild$1(libReference);
      t1 = libReference.actualClasses;
      if (t1 == null)
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.dynamic);
      t1 = t1.get$iterator(t1);
      t2 = this.$this;
      for (; t1.moveNext$0();) {
        actualClass = t1.get$current(t1);
        actualClass.toString;
        A.monitorClass(null, J.get$name$x(actualClass), "computeAllLibraries");
        classRef = A.ClassReference$(t2, actualClass);
        classRef.addChild$1($.$get$Reference_empty());
        libReference.addChild$1(classRef);
        classRefClassGroupBy = A.ClassReference$(t2, actualClass);
        classRefClassGroupBy.addChild$1($.$get$Reference_empty());
        t2.classRoot.addChild$1(classRefClassGroupBy);
      }
    },
    $signature: 117
  };
  A.MemoryController_addAllToNode__closure.prototype = {
    call$1(library) {
      return this.libraryName === library.name;
    },
    $signature: 59
  };
  A.MemoryController_createSnapshotEntries_closure.prototype = {
    call$1(element) {
      return element instanceof A.SnapshotReference && element.snapshot === this.snapshot;
    },
    $signature: 59
  };
  A.MemoryController_buildTreeFromAllData_closure.prototype = {
    call$1(reference) {
      return reference instanceof A.AnalysesReference;
    },
    $signature: 59
  };
  A.SettingsModel.prototype = {};
  A.MemoryLog.prototype = {
    offlineFiles$0() {
      var t1 = $.$get$MemoryLog__fs()._files,
        t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"),
        memoryLogs = A.List_List$of(new A.LinkedHashMapKeyIterable(t1, t2), true, t2._eval$1("Iterable.E"));
      B.JSArray_methods.sort$1(memoryLogs, new A.MemoryLog_offlineFiles_closure());
      return memoryLogs;
    },
    loadOffline$1(filename) {
      return this.loadOffline$body$MemoryLog(filename);
    },
    loadOffline$body$MemoryLog(filename) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, memoryJson, e, t2, t1;
      var $async$loadOffline$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 = $.$get$MemoryLog__fs()._files;
              if (t1.containsKey$1(0, filename)) {
                t1 = t1.$index(0, filename);
                t1.toString;
              } else
                t1 = null;
              t1.toString;
              memoryJson = A.SamplesMemoryJson$decode(t1);
              t1 = memoryJson.__MemoryJson__payloadVersion;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if (t1 !== 1) {
                e = "Error loading file " + filename + " version " + t1;
                A.log(e, B.LogLevel_1);
                throw A.wrapException(A.OfflineFileException$(e));
              }
              t1 = $async$self.controller;
              t1.offline.set$value(0, true);
              t2 = t1.__MemoryController_memoryTimeline;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              B.JSArray_methods.clear$0(t2.offlineData);
              t1 = t1.__MemoryController_memoryTimeline;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              B.JSArray_methods.addAll$1(t1.offlineData, memoryJson.data);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadOffline$1, $async$completer);
    }
  };
  A.MemoryLog_offlineFiles_closure.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(b, a);
    },
    $signature: 161
  };
  A._MemoryController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin.prototype = {};
  A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin.prototype = {};
  A.LibraryFilter.prototype = {};
  A.SnapshotFilterDialog.prototype = {
    createState$0() {
      return new A.SnapshotFilterState(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.bool), A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.SnapshotFilterState.prototype = {
    didChangeDependencies$0() {
      var parameters, t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (_this._intitialized)
        return;
      _this._intitialized = true;
      _this.buildFilters$0();
      parameters = _this._widget.controller.filterConfig;
      t1 = parameters.filterPrivateClasses._change_notifier$_value;
      if (_this.__SnapshotFilterState_oldFilterPrivateClassesValue !== $)
        A.throwUnnamedLateFieldAI();
      _this.__SnapshotFilterState_oldFilterPrivateClassesValue = t1;
      t1 = parameters.filterZeroInstances._change_notifier$_value;
      if (_this.__SnapshotFilterState_oldFilterZeroInstancesValue !== $)
        A.throwUnnamedLateFieldAI();
      _this.__SnapshotFilterState_oldFilterZeroInstancesValue = t1;
      t1 = parameters.filterLibraryNoInstances._change_notifier$_value;
      if (_this.__SnapshotFilterState_oldFilterLibraryNoInstancesValue !== $)
        A.throwUnnamedLateFieldAI();
      _this.__SnapshotFilterState_oldFilterLibraryNoInstancesValue = t1;
    },
    addLibrary$2$hideState(libraryName, hideState) {
      var groupedName,
        filteredGroup = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.List_LibraryFilter);
      if (this._widget.controller.filterConfig.libraryFilters.isLibraryFiltered$1(libraryName))
        if (B.JSString_methods.startsWith$1(libraryName, "dart:"))
          groupedName = "dart:*";
        else
          groupedName = B.JSString_methods.startsWith$1(libraryName, "package:flutter") ? "package:flutter*" : libraryName;
      else
        groupedName = libraryName;
      if (filteredGroup.$index(0, groupedName) == null)
        filteredGroup.$indexSet(0, groupedName, A._setArrayType([], type$.JSArray_LibraryFilter));
      filteredGroup.$index(0, groupedName).push(new A.LibraryFilter());
    },
    addLibrary$1(libraryName) {
      return this.addLibrary$2$hideState(libraryName, false);
    },
    buildFilters$0() {
      var t2, _i, libraries, _this = this,
        t1 = _this._widget.controller.filterConfig.libraryFilters._filteredLibraries;
      t1 = J.JSArray_JSArray$markFixed(t1.slice(0), A._arrayInstanceType(t1)._precomputed1);
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        _this.addLibrary$2$hideState(t1[_i], true);
      t1 = _this._widget.controller;
      if (t1.snapshots.length === 0)
        return;
      t1 = t1.get$libraryRoot();
      t2 = _this._widget;
      libraries = t1 == null ? t2.controller.get$activeSnapshot().children : t2.controller.get$libraryRoot().children;
      B.JSArray_methods.sort$1(libraries, new A.SnapshotFilterState_buildFilters_closure());
      for (t1 = libraries.length, _i = 0; _i < libraries.length; libraries.length === t1 || (0, A.throwConcurrentModificationError)(libraries), ++_i) {
        t2 = libraries[_i].name;
        if (t2 !== "External" && t2 !== "Filtered")
          _this.addLibrary$1(t2);
      }
    },
    applyAndCancelButton$0() {
      var _null = null;
      return A.Row$(A._setArrayType([new A.DialogApplyButton(new A.SnapshotFilterState_applyAndCancelButton_closure(this), _null), B.SizedBox_16_null_null_null, new A.DialogCancelButton(new A.SnapshotFilterState_applyAndCancelButton_closure0(this), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null);
    },
    build$1(context) {
      var _this = this, _null = null,
        t1 = A.Theme_of(context).textTheme,
        t2 = A.Text$("Memory Filter Libraries and Classes", _null, _null, _null, _null, _null, t1.titleLarge, _null, _null, _null, _null),
        t3 = B.JSNumber_methods.roundToDouble$0(700 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t4 = type$.JSArray_Widget;
      t1 = A.List_List$of(A._setArrayType([A.Text$("Snapshot Filters", _null, _null, _null, _null, _null, t1.titleMedium, _null, _null, _null, _null), B.PaddedDivider_wEo], t4), true, type$.Widget);
      t1.push(A.Row$(A._setArrayType([new A.NotifierCheckbox(_this._widget.controller.filterConfig.filterPrivateClasses, _null, true, _null), B.DevToolsTooltip_Tvq], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
      t1.push(A.Row$(A._setArrayType([new A.NotifierCheckbox(_this._widget.controller.filterConfig.filterZeroInstances, _null, true, _null), B.Text_AKg], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
      t1.push(A.Row$(A._setArrayType([new A.NotifierCheckbox(_this._widget.controller.filterConfig.filterLibraryNoInstances, _null, true, _null), B.Text_RkP], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
      t1.push(_this.applyAndCancelButton$0());
      return A.DevToolsDialog$(_null, A.Container$(_null, new A.Padding(B.EdgeInsets_15_0_0_0, A.Column$(A._setArrayType([A.Column$(t1, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t4), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3), false, true, t2);
    }
  };
  A.SnapshotFilterState_buildFilters_closure.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.name, b.name);
    },
    $signature: 384
  };
  A.SnapshotFilterState_applyAndCancelButton_closure.prototype = {
    call$0() {
      var t2, t3,
        t1 = this.$this;
      B.JSArray_methods.clear$0(t1._widget.controller.filterConfig.libraryFilters._filteredLibraries);
      t1._widget.controller.set$libraryRoot(null);
      t2 = t1._widget.controller.snapshots;
      if ((B.JSArray_methods.get$isNotEmpty(t2) ? B.JSArray_methods.get$last(t2) : null) != null) {
        t1._widget.controller.heapGraph.computeFilteredGroups$0();
        t2 = t1._widget.controller;
        t3 = t2.snapshots;
        t2.computeAllLibraries$1$graph((B.JSArray_methods.get$isNotEmpty(t3) ? B.JSArray_methods.get$last(t3) : null).snapshotGraph);
      }
      t1 = t1._widget.controller._filterNotifier;
      t1.set$value(0, t1._change_notifier$_value + 1);
    },
    $signature: 7
  };
  A.SnapshotFilterState_applyAndCancelButton_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.controller,
        t3 = t1.__SnapshotFilterState_oldFilterPrivateClassesValue;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2.filterConfig.filterPrivateClasses.set$value(0, t3);
      t3 = t1._widget.controller;
      t2 = t1.__SnapshotFilterState_oldFilterZeroInstancesValue;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3.filterConfig.filterZeroInstances.set$value(0, t2);
      t2 = t1._widget.controller;
      t1 = t1.__SnapshotFilterState_oldFilterLibraryNoInstancesValue;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.filterConfig.filterLibraryNoInstances.set$value(0, t1);
    },
    $signature: 0
  };
  A._SnapshotFilterState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.convertHeapGraph_closure.prototype = {
    call$0() {
      return this.i;
    },
    $signature: 60
  };
  A.convertHeapGraph_closure0.prototype = {
    call$0() {
      var t1, t2, t3, t4, t5, _i, refId, ref, t6;
      for (t1 = this.o._snapshot_graph$_references, t2 = t1.length, t3 = this.converted, t4 = this.elements, t5 = type$.JSArray_HeapGraphElement, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        refId = t1[_i];
        if (refId === 0)
          ref = $.$get$HeapGraph_elementSentinel();
        else {
          t6 = t4[refId];
          t6.toString;
          ref = t6;
        }
        if (t3._references == null && t3.referencesFiller != null) {
          t3._references = A._setArrayType([], t5);
          t3.referencesFiller.call$0();
        }
        t3._references.push(ref);
      }
    },
    $signature: 0
  };
  A.HeapGraph.prototype = {
    normalizeLibraryName$1(theClass) {
      var scheme,
        t1 = theClass.__HeapSnapshotClass__libraryUri;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      scheme = t1.get$scheme();
      if (scheme === "package" || scheme === "dart")
        return scheme + ":" + A.S(t1.get$pathSegments()[0]);
      return "src";
    },
    computeRawGroups$0() {
      var t2, t3, t4, t5, t6, _i, c, t7, t8, librarySbToString, t9, _i0, instance, t10, classSbToString, _this = this,
        t1 = _this.rawGroupByLibrary;
      if (t1._length !== 0 || _this.rawGroupByClass._length !== 0)
        return;
      for (t2 = _this.classes, t3 = t2.length, t4 = _this.rawGroupByClass, t5 = type$.nullable_HeapGraphElementLive, t6 = type$.HeapGraphClassLive, _i = 0; _i < t3; ++_i) {
        c = t2[_i];
        if (c == null)
          continue;
        t7 = c.origin;
        t8 = "" + _this.normalizeLibraryName$1(t7);
        librarySbToString = t8.charCodeAt(0) == 0 ? t8 : t8;
        if (t1.$index(0, librarySbToString) == null)
          t1.$indexSet(0, librarySbToString, A.LinkedHashSet_LinkedHashSet$_empty(t6));
        t1.$index(0, librarySbToString).add$1(0, c);
        for (t8 = c.getInstances$1(_this), t9 = t8.length, _i0 = 0; _i0 < t8.length; t8.length === t9 || (0, A.throwConcurrentModificationError)(t8), ++_i0) {
          instance = t8[_i0];
          t10 = "" + t7._snapshot_graph$_name;
          c.instancesTotalShallowSizes = c.instancesTotalShallowSizes + instance.origin._shallowSize;
          classSbToString = t10.charCodeAt(0) == 0 ? t10 : t10;
          if (t4.$index(0, classSbToString) == null)
            t4.$indexSet(0, classSbToString, A.LinkedHashSet_LinkedHashSet$_empty(t5));
          t4.$index(0, classSbToString).add$1(0, instance);
        }
      }
    },
    computeFilteredGroups$0() {
      var _this = this,
        t1 = _this.groupByClass;
      t1.clear$0(0);
      _this.rawGroupByClass.forEach$1(0, new A.HeapGraph_computeFilteredGroups_closure(_this));
      _this.filteredElements.clear$0(0);
      t1.removeWhere$1(t1, new A.HeapGraph_computeFilteredGroups_closure0(_this));
      t1 = _this.groupByLibrary;
      t1.clear$0(0);
      _this.rawGroupByLibrary.forEach$1(0, new A.HeapGraph_computeFilteredGroups_closure1(_this));
      _this.filteredLibraries.clear$0(0);
      t1.removeWhere$1(t1, new A.HeapGraph_computeFilteredGroups_closure2(_this));
    },
    computeInstancesForClasses$0() {
      var t1, t2, _i, instance;
      if (!this._instancesComputed) {
        for (t1 = this.elements, t2 = t1.length, _i = 0; _i < t2; ++_i) {
          instance = t1[_i];
          if (instance != null)
            instance.theClass._instances.push(instance);
        }
        this._instancesComputed = true;
      }
    }
  };
  A.HeapGraph_computeFilteredGroups_closure.prototype = {
    call$2(key, value) {
      this.$this.groupByClass.$indexSet(0, key, value.cast$1$0(0, type$.HeapGraphElementLive).__internal$_clone$0());
    },
    $signature: 385
  };
  A.HeapGraph_computeFilteredGroups_closure0.prototype = {
    call$2(className, instances) {
      var remove,
        t1 = this.$this,
        t2 = t1.filterConfig;
      if (!(t2.filterZeroInstances._change_notifier$_value && instances.get$isEmpty(instances)))
        remove = t2.filterPrivateClasses._change_notifier$_value && B.JSString_methods.startsWith$1(className, "_") || className === "::";
      else
        remove = true;
      if (remove)
        t1.filteredElements.putIfAbsent$2(0, className, new A.HeapGraph_computeFilteredGroups__closure1(instances));
      return remove;
    },
    $signature: 386
  };
  A.HeapGraph_computeFilteredGroups__closure1.prototype = {
    call$0() {
      return this.instances;
    },
    $signature: 387
  };
  A.HeapGraph_computeFilteredGroups_closure1.prototype = {
    call$2(key, value) {
      this.$this.groupByLibrary.$indexSet(0, key, value.cast$1$0(0, type$.HeapGraphClassLive).__internal$_clone$0());
    },
    $signature: 117
  };
  A.HeapGraph_computeFilteredGroups_closure2.prototype = {
    call$2(libraryName, classes) {
      var t2, result,
        t1 = this.$this;
      classes.removeWhere$1(0, new A.HeapGraph_computeFilteredGroups__closure(t1));
      t2 = t1.filterConfig;
      if (!t2.libraryFilters.isLibraryFiltered$1(libraryName))
        result = t2.filterLibraryNoInstances._change_notifier$_value && classes.get$isEmpty(classes);
      else
        result = true;
      if (result)
        t1.filteredLibraries.putIfAbsent$2(0, libraryName, new A.HeapGraph_computeFilteredGroups__closure0(classes));
      return result;
    },
    $signature: 388
  };
  A.HeapGraph_computeFilteredGroups__closure.prototype = {
    call$1(actual) {
      var result,
        t1 = this.$this,
        t2 = t1.filterConfig;
      if (!(t2.filterZeroInstances._change_notifier$_value && actual.getInstances$1(t1).length === 0))
        result = t2.filterPrivateClasses._change_notifier$_value && B.JSString_methods.startsWith$1(actual.origin._snapshot_graph$_name, "_") || actual.origin._snapshot_graph$_name === "::";
      else
        result = true;
      return result;
    },
    $signature: 389
  };
  A.HeapGraph_computeFilteredGroups__closure0.prototype = {
    call$0() {
      return this.classes;
    },
    $signature: 390
  };
  A.HeapGraphElement.prototype = {
    get$references() {
      var _this = this;
      if (_this._references == null && _this.referencesFiller != null) {
        _this._references = A._setArrayType([], type$.JSArray_HeapGraphElement);
        _this.referencesFiller.call$0();
      }
      return _this._references;
    }
  };
  A.HeapGraphElementSentinel.prototype = {
    get$isSentinel() {
      return true;
    },
    toString$0(_) {
      return "HeapGraphElementSentinel";
    }
  };
  A.HeapGraphElementLive.prototype = {
    get$isSentinel() {
      return false;
    },
    getFields$0() {
      var t2, t3, t4, _i, field, t5, _this = this,
        result = A._setArrayType([], type$.JSArray_MapEntry_String_HeapGraphElement),
        t1 = _this.theClass;
      if (t1 instanceof A.HeapGraphClassLive)
        for (t1 = t1.origin._snapshot_graph$_fields, t2 = t1.length, t3 = type$.JSArray_HeapGraphElement, t4 = type$.MapEntry_String_HeapGraphElement, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          field = t1[_i];
          t5 = field._snapshot_graph$_index;
          if (_this._references == null && _this.referencesFiller != null) {
            _this._references = A._setArrayType([], t3);
            _this.referencesFiller.call$0();
          }
          if (t5 < _this._references.length) {
            t5 = field._snapshot_graph$_name;
            result.push(new A.MapEntry(t5, _this._references[field._snapshot_graph$_index], t4));
          }
        }
      return result;
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.origin,
        t2 = t1.__HeapSnapshotObject__data;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 instanceof A.HeapSnapshotObjectNoData)
        return "Instance of " + A.S(_this.theClass);
      if (t2 instanceof A.HeapSnapshotObjectLengthData)
        return "Instance of " + A.S(_this.theClass) + " length = " + t2.length;
      t2 = A.S(_this.theClass);
      t1 = t1.__HeapSnapshotObject__data;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return "Instance of " + t2 + "; data: '" + A.S(t1) + "'";
    }
  };
  A.HeapGraphExternalLive.prototype = {
    get$isSentinel() {
      return false;
    },
    toString$0(_) {
      var t1 = this.live,
        t2 = t1.origin,
        t3 = t2.__HeapSnapshotObject__data;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (t3 instanceof A.HeapSnapshotObjectNoData)
        return "Instance of " + A.S(t1.theClass);
      if (t3 instanceof A.HeapSnapshotObjectLengthData)
        return "Instance of " + A.S(t1.theClass) + " length = " + t3.length;
      t1 = A.S(t1.theClass);
      t2 = t2.__HeapSnapshotObject__data;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return "Instance of " + t1 + "; data: '" + A.S(t2) + "'";
    }
  };
  A.HeapGraphClass.prototype = {
    getInstances$1(graph) {
      return this._instances;
    }
  };
  A.HeapGraphClassSentinel.prototype = {
    toString$0(_) {
      return "HeapGraphClassSentinel";
    }
  };
  A.HeapGraphClassLive.prototype = {
    get$name(_) {
      return this.origin._snapshot_graph$_name;
    },
    toString$0(_) {
      return this.origin._snapshot_graph$_name;
    }
  };
  A.HeapTree.prototype = {
    createState$0() {
      var _null = null,
        t1 = new A.MovingAverage(A.ListQueue$(_null, type$.int), 100);
      t1.MovingAverage$3$averagePeriod$newDataSet$ratio(100, _null, 0.5);
      return new A.HeapTreeViewState(t1, B.SnapshotStatus_0, _null, _null, $, $, $, $, _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.SnapshotStatus.prototype = {
    toString$0(_) {
      return "SnapshotStatus." + this._core$_name;
    }
  };
  A.WildcardMatch.prototype = {
    toString$0(_) {
      return "WildcardMatch." + this._core$_name;
    }
  };
  A.buildRegExs_closure.prototype = {
    call$2(key, value) {
      var regEx,
        t1 = J.getInterceptor$asx(value);
      if (t1.get$isNotEmpty(value)) {
        regEx = A._Cell$named("regEx");
        switch (key.index) {
          case 0:
            regEx.__late_helper$_value = "^" + t1.join$1(value, "$|^") + "$";
            break;
          case 1:
            regEx.__late_helper$_value = "^" + t1.join$1(value, "|^");
            break;
          case 2:
            regEx.__late_helper$_value = "^[_A-Za-z0-9]*" + t1.join$1(value, "|[_A-Za-z0-9]*") + "$";
            break;
          case 3:
            regEx.__late_helper$_value = t1.join$1(value, "|");
            break;
        }
        t1 = this.resultRegEx;
        t1._contents += t1._contents.length === 0 ? "(" + A.S(regEx._readLocal$0()) : "|" + A.S(regEx._readLocal$0());
      }
    },
    $signature: 391
  };
  A.HeapTreeViewState.prototype = {
    initState$0() {
      var bubbleAnimation, t1, _this = this;
      _this.super$_HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$initState();
      bubbleAnimation = A.AnimationController$(null, B.Duration_500000, 0, B.Duration_500000, 15, null, _this);
      bubbleAnimation.didRegisterListener$0();
      t1 = bubbleAnimation.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(_this.get$_animationStatusListener());
      _this.__HeapTreeViewState__animation = bubbleAnimation;
    },
    _initTabs$0() {
      var _this = this,
        _s9_ = "memoryTab",
        t1 = A._setArrayType([A.DevToolsTab_DevToolsTab$create(_s9_, B.ValueKey_qpY, "Analysis", null), A.DevToolsTab_DevToolsTab$create(_s9_, B.ValueKey_e0h0, "Allocations", null)], type$.JSArray_Tab);
      if (_this._widget.controller._shouldShowLeaksTab._change_notifier$_value)
        t1.push(A.DevToolsTab_DevToolsTab$create(_s9_, B.ValueKey_oVV, "Leaks", null));
      _this.__HeapTreeViewState__tabs = t1;
      _this.__HeapTreeViewState__tabController = A.TabController$(t1.length, _this);
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this._initTabs$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._shouldShowLeaksTab, new A.HeapTreeViewState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedSnapshotNotifier, new A.HeapTreeViewState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.selectionSnapshotNotifier, new A.HeapTreeViewState_didChangeDependencies_closure1(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._filterNotifier, new A.HeapTreeViewState_didChangeDependencies_closure2(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._leafSelectedNotifier, new A.HeapTreeViewState_didChangeDependencies_closure3(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._leafAnalysisSelectedNotifier, new A.HeapTreeViewState_didChangeDependencies_closure4(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.SearchControllerMixin__searchNotifier, new A.HeapTreeViewState_didChangeDependencies_closure5(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_searchAutoComplete, new A.HeapTreeViewState_didChangeDependencies_closure6(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._monitorAllocationsNotifier, new A.HeapTreeViewState_didChangeDependencies_closure7(_this));
      t1 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1._sampleAddedNotifier, new A.HeapTreeViewState_didChangeDependencies_closure8(_this));
      t1 = _this.ProvidedControllerMixin__controller._treeMapVisible;
      _this.__HeapTreeViewState_treeMapVisible = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A.HeapTreeViewState_didChangeDependencies_closure9(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller.lastMonitorTimestamp);
    },
    dispose$0() {
      var t1 = this.__HeapTreeViewState__animation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$_HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin$dispose();
    },
    autoSnapshot$0() {
      var heapSum, t2, t3, t4, startDateTime, sampleTime, rssPercentIncrease, takeSnapshot, first, last, snapshotTime, _this = this, _null = null,
        t1 = _this.ProvidedControllerMixin__controller;
      if (!t1._autoSnapshotEnabled._change_notifier$_value)
        return;
      t1 = t1.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._sampleAddedNotifier._change_notifier$_value;
      t1.toString;
      heapSum = t1.external + t1.used;
      t2 = _this.heapMovingAverage;
      t2.averageSum += heapSum;
      t3 = t2.dataSet;
      t3._add$1(0, heapSum);
      if (t3.get$length(t3) > t2.averagePeriod)
        t2.averageSum = t2.averageSum - t3.removeFirst$0();
      t4 = t1.timestamp;
      startDateTime = A.DateFormat$("HH:mm:ss.SSS", _null).format$1(0, A.DateTime$fromMillisecondsSinceEpoch(t4, false));
      sampleTime = A.Duration$(0, t4);
      if (heapSum > t1.rss) {
        t1 = _this.lastSnapshotMemoryTotal;
        rssPercentIncrease = t1 > 0 ? (heapSum - t1) / t1 * 100 : 0;
        if (B.JSInt_methods._tdivFast$1(sampleTime._duration - A.Duration$(0, _this.rssSnapshotTime)._duration, 1000000) > 30)
          if (rssPercentIncrease > 30) {
            _this.rssSnapshotTime = t4;
            _this.lastSnapshotMemoryTotal = heapSum;
            takeSnapshot = true;
          } else
            takeSnapshot = false;
        else
          takeSnapshot = false;
      } else
        takeSnapshot = false;
      if (!takeSnapshot) {
        first = t3.get$isNotEmpty(t3) ? t3.get$first(t3) : _null;
        if (first == null)
          first = 0;
        last = t3.get$isNotEmpty(t3) ? t3.get$last(t3) : _null;
        if (last == null)
          last = 0;
        t1 = last - t2.get$mean() > first * 0.5;
      } else
        t1 = false;
      if (t1) {
        t1 = _this.spikeSnapshotTime;
        snapshotTime = A.Duration$(0, t1 == null ? t4 : t1);
        _this.spikeSnapshotTime = t4;
        A.log("AutoSnapshot - memory spike @ " + startDateTime + "} last snapshot " + B.JSInt_methods._tdivFast$1(sampleTime._duration - snapshotTime._duration, 1000000) + " seconds ago.", B.LogLevel_0);
        takeSnapshot = true;
      }
      if (takeSnapshot) {
        t3.clear$0(0);
        t2.averageSum = 0;
        _this.lastSnapshotMemoryTotal = heapSum;
        _this._takeHeapSnapshot$1$userGenerated(false);
      } else {
        last = t3.get$isNotEmpty(t3) ? t3.get$last(t3) : _null;
        if (last == null)
          last = 0;
        if (t2.get$mean() * 0.5 > last) {
          t3.clear$0(0);
          t2.averageSum = 0;
          _this.lastSnapshotMemoryTotal = heapSum;
        }
      }
    },
    build$1(context) {
      var t3, t4, t5, t6, _this = this, _null = null,
        themeData = A.Theme_of(context),
        t1 = _this.snapshotState,
        t2 = t1 === B.SnapshotStatus_4;
      if (!t2 && t1 !== B.SnapshotStatus_0) {
        _this.snapshotDisplay = B.CircularProgressIndicator_MQk;
        if (t1 === B.SnapshotStatus_1)
          t1 = "Processing...";
        else if (t1 === B.SnapshotStatus_2)
          t1 = "Graphing...";
        else if (t1 === B.SnapshotStatus_3)
          t1 = "Grouping...";
        else
          t1 = t2 ? "Done" : "...";
        _this.snapshotDisplay = A.Column$(A._setArrayType([B.SizedBox_null_50_null_null, B.CircularProgressIndicator_MQk, B.SizedBox_null_8_null_null, A.Text$(t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
      } else if (_this.ProvidedControllerMixin__controller.snapshotByLibraryData != null) {
        t1 = _this.__HeapTreeViewState_treeMapVisible;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this.snapshotDisplay = t1 ? B.MemoryHeapTreemap_null : new A.MemoryHeapTable(_null);
      } else
        _this.snapshotDisplay = null;
      t1 = themeData.textTheme;
      t2 = t1.bodyLarge.color;
      t3 = _this.__HeapTreeViewState__tabController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this.__HeapTreeViewState__tabs;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = A.TabBar$(t3, true, t2, t4);
      t2 = $.$get$memorySearchFieldKey();
      t3 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t5 = _this.ProvidedControllerMixin__controller;
      t5.toString;
      t6 = type$.JSArray_Widget;
      t3 = A.Row$(A._setArrayType([t4, A.Row$(A._setArrayType([A.Container$(_null, _this.buildAutoCompleteSearchField$6$controller$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField(t5, _this.get$selectTheMatch(), _this.get$_isSearchable(), t2, _this.get$_isSearchable(), true), B.Clip_0, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, 400), B.SizedBox_8_null_null_null, new A.FilterButton(_this.get$_filter(_this), false, B.ValueKey_YAS)], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_0, _null, _null)], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
      t2 = _this.__HeapTreeViewState__tabController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A._setArrayType([new A.KeepAliveWrapper(A.Column$(A._setArrayType([_this._buildSnapshotControls$1(t1), B.SizedBox_null_6_null_null, A.Expanded$(_this.buildSnapshotTables$1(_this.snapshotDisplay), 1)], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null), new A.KeepAliveWrapper(A.Column$(A._setArrayType([_this._buildAllocationsControls$0(), B.SizedBox_null_6_null_null, B.Expanded_Eot], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null)], t6);
      if (_this.ProvidedControllerMixin__controller._shouldShowLeaksTab._change_notifier$_value)
        t1.push(B.KeepAliveWrapper_LeaksPane_null_null);
      return new A.Padding(B.EdgeInsets_0_6_0_0, A.Column$(A._setArrayType([B.SizedBox_null_16_null_null, t3, B.SizedBox_null_4_null_null, A.Expanded$(A.TabBarView$(t1, t2, B.NeverScrollableScrollPhysics_null), 1)], t6), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    },
    buildSnapshotTables$1(snapshotDisplay) {
      var t1, rightSideTable, _this = this, _null = null;
      if (snapshotDisplay == null)
        return new A.OutlineDecoration(A.Center$(A.Row$(B.List_Mfs, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), _null, _null, _null), _null);
      t1 = _this.ProvidedControllerMixin__controller;
      if (t1._leafSelectedNotifier._change_notifier$_value != null)
        rightSideTable = new A.InstanceTreeView(_null);
      else
        rightSideTable = t1._leafAnalysisSelectedNotifier._change_notifier$_value != null ? A.Expanded$(new A.AnalysisInstanceViewTable(_null), 1) : A.Column$(A._setArrayType([B.Text_qrL, B.SizedBox_null_16_null_null, _this.tableExample$2(B.IconData_57926_MaterialIcons_false, "dart:collection"), _this.tableExample$2(B.IconData_57926_MaterialIcons_false, "SplayTreeMap"), B.SizedBox_null_6_null_null, _this.tableExample$2(_null, "Instance 0")], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
      t1 = _this.__HeapTreeViewState_treeMapVisible;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1 ? snapshotDisplay : A.Split$(B.Axis_0, A._setArrayType([snapshotDisplay, new A.OutlineDecoration(rightSideTable, _null)], type$.JSArray_Widget), B.List_O9m1, B.List_300_300, _null);
    },
    tableExample$2(iconData, entry) {
      var themeData, _null = null,
        _s10_ = "RobotoMono",
        t1 = this._framework$_element;
      t1.toString;
      themeData = A.Theme_of(t1);
      t1 = iconData == null ? A.Text$(" ", _null, _null, _null, _null, _null, themeData.textTheme.bodyMedium.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null) : A.Icon$(iconData, _null, _null);
      return A.Row$(A._setArrayType([t1, A.Text$(entry, _null, _null, _null, _null, _null, themeData.textTheme.bodyMedium.copyWith$1$fontFamily(_s10_), _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null);
    },
    _groupByDropdown$1(textTheme) {
      var _null = null,
        t1 = type$.MappedListIterable_of_String_and_DropdownMenuItem_String;
      return new A.DropdownButtonHideUnderline(A.DropdownButton$(_null, false, false, A.List_List$of(new A.MappedListIterable(A._setArrayType(["Library", "Class", "Instance"], type$.JSArray_String), new A.HeapTreeViewState__groupByDropdown_closure(), t1), true, t1._eval$1("ListIterable.E")), B.ValueKey_I2O, new A.HeapTreeViewState__groupByDropdown_closure0(this), _null, textTheme.bodyMedium, _null, this.ProvidedControllerMixin__controller.groupingBy._change_notifier$_value, type$.String), _null);
    },
    _buildSnapshotControls$1(textTheme) {
      var _this = this, _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = _this.snapshotState,
        t3 = A.IconLabelButton$(false, B.IconData_57647_MaterialIcons_false, _null, _null, "Take Heap Snapshot", _null, t2 !== B.SnapshotStatus_4 && t2 !== B.SnapshotStatus_0 ? _null : _this.get$_takeHeapSnapshot(), true, "Take a memory profile snapshot", _null),
        t4 = _this.__HeapTreeViewState_treeMapVisible;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.JSArray_Widget;
      t4 = A._setArrayType([t3, B.SizedBox_16_null_null_null, A.Row$(A._setArrayType([B.Text_LRl, A.Switch$(_this.ProvidedControllerMixin__controller.snapshotByLibraryData != null ? new A.HeapTreeViewState__buildSnapshotControls_closure(_this) : _null, t4)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null)], t2);
      t3 = _this.__HeapTreeViewState_treeMapVisible;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (!t3)
        B.JSArray_methods.addAll$1(t4, A._setArrayType([B.SizedBox_16_null_null_null, _this._groupByDropdown$1(textTheme), B.SizedBox_16_null_null_null, new A.ExpandAllButton(new A.HeapTreeViewState__buildSnapshotControls_closure0(_this), _null), B.SizedBox_8_null_null_null, new A.CollapseAllButton(new A.HeapTreeViewState__buildSnapshotControls_closure1(_this), _null)], t2));
      return A.SizedBox$(A.Row$(t4, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), t1, _null);
    },
    _animationStatusListener$1($status) {
      var t1;
      if ($status === B.AnimationStatus_3) {
        t1 = this.__HeapTreeViewState__animation;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.reverse$0(0);
      }
    },
    displayTimestampUpdateBubble$0() {
      var bubble,
        t1 = this.__HeapTreeViewState__animation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      bubble = A.AnimatedBuilder$(t1, new A.HeapTreeViewState_displayTimestampUpdateBubble_closure(this), null);
      t1.forward$0(0);
      return bubble;
    },
    _buildAllocationsControls$0() {
      var _this = this, _null = null,
        updateCircle = _this.displayTimestampUpdateBubble$0();
      _this._framework$_element.toString;
      return A.Row$(A._setArrayType([A.IconLabelButton$(false, _null, B.ThemedImageIcon_ouN, _null, "Track", _null, new A.HeapTreeViewState__buildAllocationsControls_closure(_this), true, "Collect Allocation Statistics", _null), B.SizedBox_8_null_null_null, A.IconLabelButton$(false, _null, B.ThemedImageIcon_RWS, _null, "Reset", _null, new A.HeapTreeViewState__buildAllocationsControls_closure0(_this), true, "Reset all accumulators", _null), B.Spacer_null, updateCircle], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    _allocationStart$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, currentAllocations, previousSize, t2, currentSize, previousIndex, currentIndex, previousAllocation, currentAllocation, t3, t4, instancesCurrent, bytesCurrent, t1;
      var $async$_allocationStart$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.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1._eventSamples.push(new A.EventSample(Date.now(), false, false, false, new A.AllocationAccumulator(true, false, false), t1.get$extensionEvents()));
              t1 = Date.now();
              $async$goto = 2;
              return A._asyncAwait($async$self.ProvidedControllerMixin__controller.getAllocationProfile$0(), $async$_allocationStart$0);
            case 2:
              // returning from await.
              currentAllocations = $async$result;
              if (J.get$isNotEmpty$asx($async$self.ProvidedControllerMixin__controller._monitorAllocations)) {
                previousSize = J.get$length$asx($async$self.ProvidedControllerMixin__controller._monitorAllocations);
                t2 = J.getInterceptor$asx(currentAllocations);
                currentSize = t2.get$length(currentAllocations);
                previousIndex = 0;
                currentIndex = 0;
                while (true) {
                  if (!(currentIndex < currentSize && previousIndex < previousSize))
                    break;
                  previousAllocation = J.$index$asx($async$self.ProvidedControllerMixin__controller._monitorAllocations, previousIndex);
                  currentAllocation = t2.$index(currentAllocations, currentIndex);
                  t3 = previousAllocation.classRef.id;
                  t4 = currentAllocation.classRef.id;
                  if (t3 == t4) {
                    instancesCurrent = currentAllocation.instancesCurrent;
                    bytesCurrent = currentAllocation.bytesCurrent;
                    currentAllocation.instancesDelta = previousAllocation.instancesDelta + (instancesCurrent - previousAllocation.instancesCurrent);
                    currentAllocation.bytesDelta = previousAllocation.bytesDelta + (bytesCurrent - previousAllocation.bytesCurrent);
                    ++previousIndex;
                    ++currentIndex;
                  } else if (A.IterableExtension_firstWhereOrNull($async$self.ProvidedControllerMixin__controller._monitorAllocations, new A.HeapTreeViewState__allocationStart_closure(t4)) != null)
                    ++previousIndex;
                  else
                    ++currentIndex;
                }
              }
              t2 = $async$self.ProvidedControllerMixin__controller;
              t2.monitorTimestamp = new A.DateTime(t1, false);
              t2.set$monitorAllocations(currentAllocations);
              $async$self.ProvidedControllerMixin__controller.treeChanged$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_allocationStart$0, $async$completer);
    },
    _allocationReset$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, currentAllocations, t2, t1;
      var $async$_allocationReset$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.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1._eventSamples.push(new A.EventSample(Date.now(), false, false, false, new A.AllocationAccumulator(false, false, true), t1.get$extensionEvents()));
              $async$goto = 2;
              return A._asyncAwait($async$self.ProvidedControllerMixin__controller.getAllocationProfile$1$reset(true), $async$_allocationReset$0);
            case 2:
              // returning from await.
              currentAllocations = $async$result;
              for (t1 = J.get$iterator$ax(currentAllocations); t1.moveNext$0();) {
                t2 = t1.get$current(t1);
                t2.instancesDelta = t2.bytesDelta = 0;
              }
              $async$self.ProvidedControllerMixin__controller.set$monitorAllocations(currentAllocations);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_allocationReset$0, $async$completer);
    },
    selectTheMatch$1(foundName) {
      var t1, t2, _this = this;
      A.select("memory", "autoCompleteSearchSelect", false, null);
      _this.setState$1(new A.HeapTreeViewState_selectTheMatch_closure(_this, foundName));
      t1 = _this.ProvidedControllerMixin__controller;
      t1.toString;
      t2 = _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.super$ValueNotifier$value(0, B.TextEditingValue_cKo);
      t1.set$search(0, foundName);
      _this.clearSearchField$2$force(t1, true);
      if (type$.AutoCompleteSearchControllerMixin._is(t1)) {
        t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, true);
        t1.closeAutoCompleteOverlay$0();
      }
      t1 = _this.ProvidedControllerMixin__controller;
      t1.toString;
      _this.clearSearchField$1(t1);
    },
    get$_isSearchable() {
      var t2,
        t1 = this.__HeapTreeViewState__tabController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._tab_controller$_index;
      if (t1 === 0) {
        t2 = this.__HeapTreeViewState_treeMapVisible;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = !t2;
      } else
        t2 = false;
      if (!t2)
        t1 = t1 === 1 && J.get$isNotEmpty$asx(this.ProvidedControllerMixin__controller._monitorAllocations);
      else
        t1 = true;
      return t1;
    },
    _takeHeapSnapshot$1$userGenerated(userGenerated) {
      return this._takeHeapSnapshot$body$HeapTreeViewState(userGenerated);
    },
    _takeHeapSnapshot$0() {
      return this._takeHeapSnapshot$1$userGenerated(true);
    },
    _takeHeapSnapshot$body$HeapTreeViewState(userGenerated) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, t2, snapshotTimestamp, graph, t3, t4, t5, t6, snapshot, analysesNode, analyzeSnapshot, collectedData;
      var $async$_takeHeapSnapshot$1$userGenerated = 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.select("memory", "takeSnapshot", false, null);
              if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.snapshotState;
              if (t1 !== B.SnapshotStatus_0 && t1 !== B.SnapshotStatus_4) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = !userGenerated;
              t1._eventSamples.push(new A.EventSample(Date.now(), false, userGenerated, t2, null, t1.get$extensionEvents()));
              $async$self.setState$1(new A.HeapTreeViewState__takeHeapSnapshot_closure($async$self));
              t1 = Date.now();
              snapshotTimestamp = new A.DateTime(t1, false);
              $async$goto = 3;
              return A._asyncAwait($async$self.ProvidedControllerMixin__controller.snapshotMemory$0(), $async$_takeHeapSnapshot$1$userGenerated);
            case 3:
              // returning from await.
              graph = $async$result;
              if (graph == null) {
                $async$self.setState$1(new A.HeapTreeViewState__takeHeapSnapshot_closure0($async$self));
                t1 = $async$self.ProvidedControllerMixin__controller;
                t1.toString;
                t1._selectedSnapshotNotifier.set$value(0, new A.DateTime(Date.now(), false));
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = Date.now();
              $async$self.setState$1(new A.HeapTreeViewState__takeHeapSnapshot_closure1($async$self));
              t4 = $async$self.ProvidedControllerMixin__controller;
              t4.heapGraph = A.convertHeapGraph(t4.filterConfig, graph, A._setArrayType([], type$.JSArray_String));
              t4 = Date.now();
              $async$self.setState$1(new A.HeapTreeViewState__takeHeapSnapshot_closure2($async$self));
              $async$goto = 4;
              return A._asyncAwait($async$self.doGroupBy$0(), $async$_takeHeapSnapshot$1$userGenerated);
            case 4:
              // returning from await.
              t5 = $async$self.ProvidedControllerMixin__controller.computeAllLibraries$1$graph(graph);
              t5.toString;
              t6 = $async$self.ProvidedControllerMixin__controller;
              t6.toString;
              snapshot = new A.Snapshot(t2, t6, snapshotTimestamp, graph, t5, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.LibraryReference));
              t6.snapshots.push(snapshot);
              t6 = Date.now();
              $async$self.ProvidedControllerMixin__controller._selectedSnapshotNotifier.set$value(0, snapshotTimestamp);
              B.JSInt_methods._tdivFast$1(A.Duration$(0, t6 - t1)._duration, 1000);
              B.JSInt_methods._tdivFast$1(A.Duration$(0, t3 - t1)._duration, 1000);
              B.JSInt_methods._tdivFast$1(A.Duration$(0, t4 - t3)._duration, 1000);
              B.JSInt_methods._tdivFast$1(A.Duration$(0, t6 - t4)._duration, 1000);
              $async$self.setState$1(new A.HeapTreeViewState__takeHeapSnapshot_closure3($async$self));
              $async$self.ProvidedControllerMixin__controller.buildTreeFromAllData$0();
              analysesNode = $async$self.ProvidedControllerMixin__controller.findAnalysesNode$0();
              t1 = analysesNode.children;
              if (t1.length === 1 && B.JSArray_methods.get$first(t1).name.length === 0)
                B.JSArray_methods.clear$0(t1);
              t1 = A.DateFormat$("MMM dd HH:mm:ss", null).format$1(0, snapshotTimestamp);
              analyzeSnapshot = new A.AnalysisSnapshotReference(snapshotTimestamp, null, null, "Analyzed " + t1, false, false, true, false, false, false, false, false, false, false, null, null, A._setArrayType([], type$.JSArray_Reference));
              analysesNode.addChild$1(analyzeSnapshot);
              t1 = $async$self.ProvidedControllerMixin__controller;
              t1.toString;
              collectedData = A.collect(t1, snapshot);
              t1 = $async$self.ProvidedControllerMixin__controller;
              t1.toString;
              A.imageAnalysis(t1, analyzeSnapshot, collectedData);
              $async$self.ProvidedControllerMixin__controller.completedAnalyses.push(analyzeSnapshot);
              if (!analysesNode._isExpanded)
                analysesNode.expand$0(0);
              $async$self.ProvidedControllerMixin__controller.selectionSnapshotNotifier.set$value(0, new A.Selection(analyzeSnapshot, analyzeSnapshot.index, true, type$.Selection_Reference));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_takeHeapSnapshot$1$userGenerated, $async$completer);
    },
    doGroupBy$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$doGroupBy$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.ProvidedControllerMixin__controller.heapGraph;
              t1.computeInstancesForClasses$0();
              t1.computeRawGroups$0();
              t1.computeFilteredGroups$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$doGroupBy$0, $async$completer);
    },
    _filter$0(_) {
      var t1;
      A.select("memory", "snapshotFilterDialog", false, null);
      t1 = this._framework$_element;
      t1.toString;
      A.showDialog(false, new A.HeapTreeViewState__filter_closure(this), t1, type$.dynamic);
    }
  };
  A.HeapTreeViewState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure6(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure6.prototype = {
    call$0() {
      this.$this._initTabs$0();
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure5(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure5.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure4(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure4.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure3(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure3.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure3.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure2(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure2.prototype = {
    call$0() {
      var root,
        t1 = this.$this.ProvidedControllerMixin__controller,
        t2 = t1._leafSelectedNotifier._change_notifier$_value;
      if (t2 != null) {
        root = A.instanceToFieldNodes(t1, t2);
        t1._instanceRoot = root.length !== 0 ? root : A._setArrayType([$.$get$FieldReference_empty()], type$.JSArray_FieldReference);
      } else
        t1._instanceRoot = A._setArrayType([$.$get$FieldReference_empty()], type$.JSArray_FieldReference);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure4.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure1(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure1.prototype = {
    call$0() {
      var analysisFields,
        t1 = this.$this.ProvidedControllerMixin__controller,
        t2 = t1._leafAnalysisSelectedNotifier._change_notifier$_value;
      if (t2 != null) {
        analysisFields = t2.fieldsRoot.children;
        t1._analysisInstanceRoot = analysisFields.length !== 0 ? analysisFields : A._setArrayType([$.$get$AnalysisField_empty()], type$.JSArray_AnalysisField);
      } else
        t1._analysisInstanceRoot = A._setArrayType([$.$get$AnalysisField_empty()], type$.JSArray_AnalysisField);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure5.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.ProvidedControllerMixin__controller.closeAutoCompleteOverlay$0();
      t1.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure6.prototype = {
    call$0() {
      var t1, t2, t3;
      A.select("memory", "snapshotFilterDialog", false, null);
      t1 = this.$this;
      t2 = t1.ProvidedControllerMixin__controller;
      t2.toString;
      t3 = t1._framework$_element;
      t3.toString;
      t2.handleAutoCompleteOverlay$3$context$onTap$searchFieldKey(t3, t1.get$selectTheMatch(), $.$get$memorySearchFieldKey());
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure7.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure0.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure8.prototype = {
    call$0() {
      this.$this.autoSnapshot$0();
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies_closure9.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.HeapTreeViewState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.__HeapTreeViewState_treeMapVisible = t1.ProvidedControllerMixin__controller._treeMapVisible._change_notifier$_value;
    },
    $signature: 0
  };
  A.HeapTreeViewState__groupByDropdown_closure.prototype = {
    call$1(value) {
      var _null = null;
      return A.DropdownMenuItem$(A.Text$("Group by " + value, B.ValueKey_qtp, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.ValueKey_yx3, value, type$.String);
    },
    $signature: 351
  };
  A.HeapTreeViewState__groupByDropdown_closure0.prototype = {
    call$1(newValue) {
      var t1 = this.$this;
      t1.setState$1(new A.HeapTreeViewState__groupByDropdown__closure(t1, newValue));
    },
    $signature: 82
  };
  A.HeapTreeViewState__groupByDropdown__closure.prototype = {
    call$0() {
      var t2, t3,
        t1 = this.newValue;
      A.select("memory", "groupBy" + A.S(t1), false, null);
      t2 = this.$this;
      t2.ProvidedControllerMixin__controller._leafSelectedNotifier.set$value(0, null);
      t3 = t2.ProvidedControllerMixin__controller.groupingBy;
      t1.toString;
      t3.set$value(0, t1);
      if (B.JSArray_methods.get$isNotEmpty(t2.ProvidedControllerMixin__controller.snapshots))
        t2.doGroupBy$0();
    },
    $signature: 0
  };
  A.HeapTreeViewState__buildSnapshotControls_closure.prototype = {
    call$1(value) {
      A.select("memory", "treemap-" + (value ? "show" : "hide"), false, null);
      this.$this.ProvidedControllerMixin__controller._treeMapVisible.set$value(0, value);
    },
    $signature: 10
  };
  A.HeapTreeViewState__buildSnapshotControls_closure0.prototype = {
    call$0() {
      var t1, t2;
      A.select("memory", "expandAll", false, null);
      t1 = this.$this;
      if (t1.snapshotDisplay instanceof A.MemoryHeapTable) {
        t2 = t1.ProvidedControllerMixin__controller.__MemoryController_groupByTreeTable;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        B.JSArray_methods.every$1(t2.dataRoots, new A.HeapTreeViewState__buildSnapshotControls__closure0());
      }
      t1.ProvidedControllerMixin__controller.treeChanged$0();
    },
    $signature: 0
  };
  A.HeapTreeViewState__buildSnapshotControls__closure0.prototype = {
    call$1(element) {
      element.expandCascading$0();
      return true;
    },
    $signature: 59
  };
  A.HeapTreeViewState__buildSnapshotControls_closure1.prototype = {
    call$0() {
      var t1, t2;
      A.select("memory", "collapseAll", false, null);
      t1 = this.$this;
      if (t1.snapshotDisplay instanceof A.MemoryHeapTable) {
        t2 = t1.ProvidedControllerMixin__controller.__MemoryController_groupByTreeTable;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        B.JSArray_methods.every$1(t2.dataRoots, new A.HeapTreeViewState__buildSnapshotControls__closure());
        t2 = t1.ProvidedControllerMixin__controller;
        if (t2.instanceFieldsTreeTable != null)
          t2._leafSelectedNotifier.set$value(0, null);
        t1.ProvidedControllerMixin__controller.treeChanged$0();
      }
    },
    $signature: 0
  };
  A.HeapTreeViewState__buildSnapshotControls__closure.prototype = {
    call$1(element) {
      element.collapseCascading$0();
      return true;
    },
    $signature: 59
  };
  A.HeapTreeViewState_displayTimestampUpdateBubble_closure.prototype = {
    call$2(context, widget) {
      var t3, t4, circleSize, t5, t6, richTextWidget, renderObject, textWidth, _null = null,
        t1 = this.$this,
        t2 = t1.__HeapTreeViewState__animation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.__AnimationController__value;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t2.__AnimationController__status;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      if (t4 === B.AnimationStatus_2 && t3 < 8) {
        t2.stop$0(0);
        t2 = t1.removeUpdateBubble;
        if (t2 != null)
          t2.cancel$0(0);
        t1.removeUpdateBubble = A.Timer_Timer(B.Duration_5000000, new A.HeapTreeViewState_displayTimestampUpdateBubble__closure(t1));
        circleSize = 8;
      } else
        circleSize = t3;
      t2 = t1.ProvidedControllerMixin__controller.monitorTimestamp;
      if (t2 == null)
        t2 = "No allocations tracked";
      else
        t2 = "Allocations Tracked at " + A.DateFormat$("MMM dd HH:mm:ss", _null).format$1(0, t2);
      t3 = A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      t3 = A.TextStyle$(_null, _null, t3, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.FontStyle_1, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t4 = t1.ProvidedControllerMixin__controller;
      t4 = J.$eq$(t4.lastMonitorTimestamp._change_notifier$_value, t4.monitorTimestamp) ? 0 : circleSize;
      t5 = A.Text$rich(A.TextSpan$(_null, _null, _null, _null, t2), _null, _null, t3, _null);
      t6 = t1._framework$_element;
      t6.toString;
      richTextWidget = type$.RichText._as(t5.build$1(t6));
      t1 = t1._framework$_element;
      t1.toString;
      renderObject = richTextWidget.createRenderObject$1(t1);
      renderObject.layout$1(B.BoxConstraints_EcO0);
      textWidth = B.JSArray_methods.get$last(renderObject.getBoxesForSelection$1(A.TextSelection$(B.TextAffinity_1, 0, A.TextSpan$(_null, _null, _null, _null, t2).toPlainText$0().length, false))).right;
      if (textWidth > 800)
        A.log("Computed text width > 800 (" + A.S(textWidth) + ")\nmessage=" + t2 + ".", B.LogLevel_1);
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([A.Positioned$(_null, A.Container$(_null, A.Text$(t2, _null, _null, _null, _null, _null, t3, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, textWidth + 10), _null, _null, _null, _null, _null, _null), A.Positioned$(_null, A.Container$(B.Alignment_1_m1, B.Icon_NYu, B.Clip_0, _null, _null, new A.BoxDecoration(B.Color_4282557941, _null, _null, _null, _null, _null, _null, B.BoxShape_1), _null, t4, _null, _null, _null, _null, _null, t4), _null, _null, _null, 0, _null, _null)], type$.JSArray_Widget), _null);
    },
    $signature: 56
  };
  A.HeapTreeViewState_displayTimestampUpdateBubble__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller;
      t2.lastMonitorTimestamp.set$value(0, t2.monitorTimestamp);
      t1.removeUpdateBubble = null;
    },
    $signature: 0
  };
  A.HeapTreeViewState__buildAllocationsControls_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              A.select("memory", "trackAllocations", false, null);
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._allocationStart$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.HeapTreeViewState__buildAllocationsControls_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              A.select("memory", "resetAllocationAccumulators", false, null);
              $async$goto = 2;
              return A._asyncAwait($async$self.$this._allocationReset$0(), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.HeapTreeViewState__allocationStart_closure.prototype = {
    call$1(element) {
      return element.classRef.id == this.currentClassId;
    },
    $signature: 170
  };
  A.HeapTreeViewState_selectTheMatch_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__HeapTreeViewState__tabController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._tab_controller$_index;
      if (t2 === 1)
        t1.ProvidedControllerMixin__controller.selectItemInAllocationTable$1(this.foundName);
      else if (t2 === 0 && t1.snapshotDisplay instanceof A.MemoryHeapTable) {
        t1 = t1.ProvidedControllerMixin__controller.__MemoryController_groupByTreeTable;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        B.JSArray_methods.every$1(t1.dataRoots, new A.HeapTreeViewState_selectTheMatch__closure());
      }
    },
    $signature: 0
  };
  A.HeapTreeViewState_selectTheMatch__closure.prototype = {
    call$1(element) {
      element.collapseCascading$0();
      return true;
    },
    $signature: 59
  };
  A.HeapTreeViewState__takeHeapSnapshot_closure.prototype = {
    call$0() {
      this.$this.snapshotState = B.SnapshotStatus_1;
    },
    $signature: 0
  };
  A.HeapTreeViewState__takeHeapSnapshot_closure0.prototype = {
    call$0() {
      this.$this.snapshotState = B.SnapshotStatus_4;
    },
    $signature: 0
  };
  A.HeapTreeViewState__takeHeapSnapshot_closure1.prototype = {
    call$0() {
      this.$this.snapshotState = B.SnapshotStatus_2;
    },
    $signature: 0
  };
  A.HeapTreeViewState__takeHeapSnapshot_closure2.prototype = {
    call$0() {
      this.$this.snapshotState = B.SnapshotStatus_3;
    },
    $signature: 0
  };
  A.HeapTreeViewState__takeHeapSnapshot_closure3.prototype = {
    call$0() {
      this.$this.snapshotState = B.SnapshotStatus_4;
    },
    $signature: 0
  };
  A.HeapTreeViewState__filter_closure.prototype = {
    call$1(context) {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toString;
      return new A.SnapshotFilterDialog(t1, null);
    },
    $signature: 394
  };
  A.MemoryHeapTable.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.Reference;
      return new A.MemoryHeapTableState(new A._LibraryRefColumn(A.StreamController_StreamController$broadcast(false, t1), A.StreamController_StreamController$broadcast(false, t1), "Library or Class", _null, _null, _null, B.ColumnAlignment_0), A._setArrayType([], type$.JSArray_ColumnData_Reference), _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.MemoryHeapTableState.prototype = {
    initState$0() {
      var _null = null;
      this.super$State$initState();
      B.JSArray_methods.addAll$1(this._memory_heap_tree_view$_columns, A._setArrayType([this._treeColumn, new A._ClassOrInstanceCountColumn("Count", _null, B.JSNumber_methods.roundToDouble$0(75 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1), new A._ShallowSizeColumn("Shallow", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1)], type$.JSArray_ColumnData_Reference));
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._treeChangedNotifier, new A.MemoryHeapTableState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedSnapshotNotifier, new A.MemoryHeapTableState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._filterNotifier, new A.MemoryHeapTableState_didChangeDependencies_closure1(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_searchAutoComplete);
      t1 = _this.get$_memory_heap_tree_view$_handleSearch();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier, t1);
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.SearchControllerMixin__searchNotifier, t1);
    },
    _memory_heap_tree_view$_handleSearch$0() {
      var matches, normalizedMatches, t3, _this = this,
        t1 = _this.ProvidedControllerMixin__controller,
        t2 = t1.SearchControllerMixin__searchNotifier._change_notifier$_value;
      if (t2.length !== 0) {
        if (t1.AutoCompleteSearchControllerMixin_selectTheSearchNotifier._change_notifier$_value) {
          _this.selectItemInTree$1(t2);
          _this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, false);
          t1 = _this.ProvidedControllerMixin__controller;
          t1.SearchControllerMixin__searchNotifier.set$value(0, "");
          t1.refreshSearchMatches$0();
          return;
        }
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
        t1.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
        matches = _this._snapshotMatches$1(t2);
        t1 = A.LinkedHashSet_LinkedHashSet$from(matches, A._arrayInstanceType(matches)._precomputed1);
        normalizedMatches = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
        B.JSArray_methods.sort$0(normalizedMatches);
        t1 = _this.ProvidedControllerMixin__controller.AutoCompleteSearchControllerMixin_searchAutoComplete;
        t2 = B.JSArray_methods.sublist$2(normalizedMatches, 0, Math.min($.topMatchesLimit, normalizedMatches.length));
        t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,AutoCompleteMatch>");
        t1.set$value(0, A.List_List$of(new A.MappedListIterable(t2, new A.MemoryHeapTableState__handleSearch_closure(), t3), true, t3._eval$1("ListIterable.E")));
      }
    },
    _snapshotMatches$1(searchingValue) {
      var t3, t4, t5, t6, _i, reference, matches0, match, t7, t8, t9, _i0, _this = this,
        t1 = type$.JSArray_String,
        matches = A._setArrayType([], t1),
        externalMatches = A._setArrayType([], t1),
        filteredMatches = A._setArrayType([], t1),
        t2 = _this.ProvidedControllerMixin__controller;
      switch (t2.groupingBy._change_notifier$_value) {
        case "Library":
          for (t2 = t2.get$activeSnapshot().children, t3 = t2.length, t4 = type$.LibraryReference, t5 = type$.FilteredReference, t6 = type$.ExternalReferences, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
            reference = t2[_i];
            if (reference.isLibrary) {
              t4._as(reference);
              matches0 = A._setArrayType([], t1);
              match = _this.matchSearch$2(reference, searchingValue);
              if (match != null)
                matches0.push(match);
              B.JSArray_methods.addAll$1(matches0, _this.matchClasses$2(reference.children, searchingValue));
              B.JSArray_methods.addAll$1(matches, matches0);
            } else if (reference.isExternals)
              for (t7 = t6._as(reference).children, t8 = A._arrayInstanceType(t7)._eval$1("CastList<1,ExternalReference>"), t7 = new A.CastList(t7, t8), t7 = new A.ListIterator(t7, t7.get$length(t7), t8._eval$1("ListIterator<ListMixin.E>")), t8 = t8._eval$1("ListMixin.E"); t7.moveNext$0();) {
                t9 = t7.__internal$_current;
                match = _this.matchSearch$2(t9 == null ? t8._as(t9) : t9, searchingValue);
                if (match != null)
                  externalMatches.push(match);
              }
            else if (reference.isFiltered)
              for (t7 = t5._as(reference).children, t8 = t7.length, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, A.throwConcurrentModificationError)(t7), ++_i0) {
                t9 = t4._as(t7[_i0]);
                matches0 = A._setArrayType([], t1);
                match = _this.matchSearch$2(t9, searchingValue);
                if (match != null)
                  matches0.push(match);
                B.JSArray_methods.addAll$1(matches0, _this.matchClasses$2(t9.children, searchingValue));
                B.JSArray_methods.addAll$1(filteredMatches, matches0);
              }
          }
          break;
        case "Class":
          t1 = t2.__MemoryController_groupByTreeTable;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          B.JSArray_methods.addAll$1(matches, _this.matchClasses$2(t1.dataRoots, searchingValue));
          break;
        case "Instance":
          break;
      }
      B.JSArray_methods.addAll$1(matches, externalMatches);
      B.JSArray_methods.addAll$1(matches, filteredMatches);
      return matches;
    },
    matchClasses$2(classReferences, searchingValue) {
      var t2, t3, t4, matches0, match,
        t1 = type$.JSArray_String,
        matches = A._setArrayType([], t1);
      for (t2 = A._arrayInstanceType(classReferences)._eval$1("CastList<1,ClassReference>"), t3 = new A.CastList(classReferences, t2), t3 = new A.ListIterator(t3, t3.get$length(t3), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t3.moveNext$0();) {
        t4 = t3.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        matches0 = A._setArrayType([], t1);
        match = this.matchSearch$2(t4, searchingValue);
        if (match != null)
          matches0.push(match);
        B.JSArray_methods.addAll$1(matches, matches0);
      }
      return matches;
    },
    matchSearch$2(ref, matchString) {
      var t1 = ref.name;
      if (B.JSString_methods.contains$1(t1.toLowerCase(), matchString.toLowerCase()))
        return t1;
      return null;
    },
    selectItemInTree$1(searchingValue) {
      var searchRoot, t2, t3, t4, _i, reference, t5, t6, _i0, t7, _this = this,
        t1 = _this.ProvidedControllerMixin__controller;
      switch (t1.groupingBy._change_notifier$_value) {
        case "Library":
          searchRoot = t1.get$activeSnapshot();
          t1 = _this.ProvidedControllerMixin__controller.selectionSnapshotNotifier;
          if (t1._change_notifier$_value.node == null)
            t1.set$value(0, new A.Selection(searchRoot, searchRoot.index, true, type$.Selection_Reference));
          for (t1 = searchRoot.children, t2 = t1.length, t3 = type$.ExternalReferences, t4 = type$.FilteredReference, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
            reference = t1[_i];
            if (reference.isLibrary) {
              if (_this._selectItemInTree$2(reference, searchingValue))
                return true;
            } else if (reference.isFiltered) {
              for (t5 = t4._as(reference).children, t6 = t5.length, _i0 = 0; _i0 < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i0)
                if (_this._selectItemInTree$2(t5[_i0], searchingValue))
                  return true;
            } else if (reference.isExternals)
              for (t5 = t3._as(reference).children, t6 = A._arrayInstanceType(t5)._eval$1("CastList<1,ExternalReference>"), t5 = new A.CastList(t5, t6), t5 = new A.ListIterator(t5, t5.get$length(t5), t6._eval$1("ListIterator<ListMixin.E>")), t6 = t6._eval$1("ListMixin.E"); t5.moveNext$0();) {
                t7 = t5.__internal$_current;
                if (_this._selectItemInTree$2(t7 == null ? t6._as(t7) : t7, searchingValue))
                  return true;
              }
          }
          break;
        case "Class":
          t1 = t1.__MemoryController_groupByTreeTable;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.dataRoots;
          t2 = t1.length;
          _i = 0;
          for (; _i < t2; ++_i) {
            reference = t1[_i];
            if (reference.isClass)
              return _this._selecteClassInTree$2(reference, searchingValue);
          }
          break;
        case "Instance":
          break;
      }
      return false;
    },
    _selectInTree$2(reference, search) {
      var t1;
      if (reference.name === search) {
        this.ProvidedControllerMixin__controller.selectionSnapshotNotifier.set$value(0, new A.Selection(reference, reference.index, true, type$.Selection_Reference));
        t1 = this.ProvidedControllerMixin__controller;
        t1.AutoCompleteSearchControllerMixin_searchAutoComplete.set$value(0, A._setArrayType([], type$.JSArray_AutoCompleteMatch));
        t1.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, 0);
        return true;
      }
      return false;
    },
    _selectItemInTree$2(reference, searchingValue) {
      if (this._selectInTree$2(reference, searchingValue))
        return true;
      return this._selecteClassInTree$2(reference, searchingValue);
    },
    _selecteClassInTree$2(reference, searchingValue) {
      var t1, t2, _i;
      for (t1 = reference.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        if (this._selectInTree$2(t1[_i], searchingValue))
          return true;
      return false;
    },
    build$1(context) {
      var t1, t2, result, _this = this,
        root = _this.ProvidedControllerMixin__controller.buildTreeFromAllData$0();
      if (root != null && root.children.length !== 0) {
        t1 = _this.ProvidedControllerMixin__controller;
        t1.toString;
        t2 = _this._memory_heap_tree_view$_columns;
        result = t1.__MemoryController_groupByTreeTable = A.TreeTable$(false, t2, root.children, null, new A.MemoryHeapTableState_build_closure(), t1.selectionSnapshotNotifier, t2[0], B.SortDirection_0, _this._treeColumn, type$.Reference);
      } else
        result = B.SizedBox_null_null_null_null;
      return new A.OutlineDecoration(result, null);
    }
  };
  A.MemoryHeapTableState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.ProvidedControllerMixin__controller._treeChangedNotifier._change_notifier$_value)
        t1.setState$1(new A.MemoryHeapTableState_didChangeDependencies__closure1());
    },
    $signature: 0
  };
  A.MemoryHeapTableState_didChangeDependencies__closure1.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.MemoryHeapTableState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.MemoryHeapTableState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A.MemoryHeapTableState_didChangeDependencies__closure0.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.MemoryHeapTableState_didChangeDependencies_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.MemoryHeapTableState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.MemoryHeapTableState_didChangeDependencies__closure.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.MemoryHeapTableState__handleSearch_closure.prototype = {
    call$1(match) {
      return new A.AutoCompleteMatch(match, B.List_empty21);
    },
    $signature: 194
  };
  A.MemoryHeapTableState_build_closure.prototype = {
    call$1(libRef) {
      return new A.PageStorageKey(libRef.name, type$.PageStorageKey_nullable_String);
    },
    $signature: 395
  };
  A._LibraryRefColumn.prototype = {
    getValue$1(dataObject) {
      var splitValues, t1;
      if (dataObject.isLibrary) {
        type$.LibraryReference._as(dataObject);
        splitValues = dataObject.name.split("/");
        return splitValues.length > 1 ? A.S(splitValues[0]) + "/" + A.S(splitValues[1]) : splitValues[0];
      }
      t1 = dataObject.name;
      return t1;
    },
    getDisplayValue$1(dataObject) {
      return this.getValue$1(dataObject);
    },
    getTooltip$1(dataObject) {
      return dataObject.name;
    }
  };
  A._ClassOrInstanceCountColumn.prototype = {
    getValue$1(dataObject) {
      var t2, count, _i,
        t1 = dataObject.name;
      if (t1 === "___LIBRARY___" || t1 === "___CLASSES___")
        return 0;
      if (dataObject.isExternal)
        return dataObject.children.length;
      if (dataObject.isAnalysis && dataObject instanceof A.AnalysisReference) {
        t1 = dataObject.countNote;
        return t1 == null ? 0 : t1;
      }
      if (dataObject.isSnapshot && dataObject instanceof A.SnapshotReference) {
        for (t1 = dataObject.children, t2 = t1.length, count = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          count += this._computeCount$1(t1[_i]);
        return count;
      }
      return this._computeCount$1(dataObject);
    },
    _computeCount$1(ref) {
      var count, t2, t3, t4,
        t1 = ref.count;
      if (t1 != null)
        return t1;
      if (ref.isClass)
        count = type$.ClassReference._as(ref).actualClass._instances.length;
      else if (ref.isLibrary)
        for (t1 = type$.LibraryReference._as(ref).actualClasses, t1 = t1.get$iterator(t1), count = 0; t1.moveNext$0();) {
          t2 = t1.get$current(t1)._instances.length;
          count += t2;
        }
      else if (ref.isFiltered)
        for (t1 = type$.FilteredReference._as(ref).children, t2 = A._arrayInstanceType(t1)._eval$1("CastList<1,LibraryReference>"), t1 = new A.CastList(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"), count = 0; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          for (t3 = (t3 == null ? t2._as(t3) : t3).actualClasses, t3 = t3.get$iterator(t3); t3.moveNext$0();) {
            t4 = t3.get$current(t3)._instances.length;
            count += t4;
          }
        }
      else if (ref.isExternals)
        for (t1 = ref.children, t2 = A._arrayInstanceType(t1)._eval$1("CastList<1,ExternalReference>"), t1 = new A.CastList(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"), count = 0; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          count += (t3 == null ? t2._as(t3) : t3).children.length;
        }
      else
        count = ref.isExternal ? type$.ExternalReference._as(ref).children.length : 0;
      return ref.count = count;
    },
    getDisplayValue$1(dataObject) {
      var t1 = this.getValue$1(dataObject);
      return "" + t1;
    },
    compare$2(a, b) {
      var valueA = a.isAnalysis ? 0 : this.getValue$1(a);
      return B.JSInt_methods.compareTo$1(valueA, b.isAnalysis ? 0 : this.getValue$1(b));
    }
  };
  A._ShallowSizeColumn.prototype = {
    sizeAllVisibleLibraries$1(references) {
      var t1, t2, sum, _i, ref, t3;
      for (t1 = references.length, t2 = type$.LibraryReference, sum = 0, _i = 0; _i < references.length; references.length === t1 || (0, A.throwConcurrentModificationError)(references), ++_i) {
        ref = references[_i];
        if (ref.isLibrary)
          for (t3 = t2._as(ref).actualClasses, t3 = t3.get$iterator(t3); t3.moveNext$0();)
            sum += t3.get$current(t3).instancesTotalShallowSizes;
      }
      return sum;
    },
    getValue$1(dataObject) {
      var snapshotGraph, size, t2, sum, _i, t3,
        t1 = dataObject.name;
      if (t1 === "___LIBRARY___" || t1 === "___CLASSES___") {
        snapshotGraph = dataObject.controller.getSnapshot$1(dataObject).snapshotGraph;
        return snapshotGraph._shallowSize + snapshotGraph._externalSize;
      }
      if (dataObject.isAnalysis && dataObject instanceof A.AnalysisReference) {
        size = dataObject.sizeNote;
        return size == null ? "" : size;
      } else if (dataObject.isSnapshot && dataObject instanceof A.SnapshotReference) {
        for (t1 = dataObject.children, t2 = t1.length, sum = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          t3 = this._sumShallowSize$1(t1[_i]);
          sum += t3 == null ? 0 : t3;
        }
        return sum;
      } else {
        sum = this._sumShallowSize$1(dataObject);
        return sum == null ? "" : sum;
      }
    },
    _sumShallowSize$1(ref) {
      var t1, sum, size, snapshot;
      if (ref.isLibrary) {
        for (t1 = type$.LibraryReference._as(ref).actualClasses, t1 = t1.get$iterator(t1), sum = 0; t1.moveNext$0();)
          sum += t1.get$current(t1).instancesTotalShallowSizes;
        return sum;
      } else if (ref.isClass)
        return type$.ClassReference._as(ref).actualClass.instancesTotalShallowSizes;
      else if (ref.isObject) {
        type$.ObjectReference._as(ref);
        size = ref.instance.origin._shallowSize;
        return ref instanceof A.ExternalObjectReference ? size + ref.externalSize : size;
      } else if (ref.isFiltered) {
        snapshot = ref.controller.getSnapshot$1(ref);
        t1 = snapshot.libraryRoot;
        t1 = t1 == null ? null : t1.children;
        sum = this.sizeAllVisibleLibraries$1(t1 == null ? A._setArrayType([], type$.JSArray_Reference) : t1);
        return snapshot.snapshotGraph._shallowSize - sum;
      } else if (ref.isExternals)
        return ref.controller.getSnapshot$1(ref).snapshotGraph._externalSize;
      else if (ref.isExternal)
        return type$.ExternalReference._as(ref).sumExternalSizes;
      return null;
    },
    getDisplayValue$1(dataObject) {
      var t1,
        value = this.getValue$1(dataObject);
      if (!dataObject.isAnalysis)
        t1 = false;
      else
        t1 = true;
      if (t1 && !A._isInt(value))
        return "";
      t1 = A.prettyPrintBytes(A._asInt(value), true, 1, 1, 1);
      t1.toString;
      return t1;
    },
    compare$2(a, b) {
      var valueA = a.isAnalysis ? 0 : this.getValue$1(a);
      return J.compareTo$1$ns(valueA, b.isAnalysis ? 0 : this.getValue$1(b));
    }
  };
  A._HeapTreeViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$_HeapTreeViewState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$_HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$dispose();
    }
  };
  A._MemoryHeapTableState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._MemoryHeapTableState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.MemoryHeapTreemap.prototype = {
    createState$0() {
      return new A.MemoryHeapTreemapState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.MemoryHeapTreemapState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      t1 = _this.ProvidedControllerMixin__controller;
      if (t1.heapGraph != null) {
        t1 = A.InstructionsSize_InstructionsSize$fromSnapshot(t1);
        _this._sizes = t1;
        _this.root = t1.root;
      }
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedSnapshotNotifier, new A.MemoryHeapTreemapState_didChangeDependencies_closure(_this));
    },
    _onRootChanged$1(newRoot) {
      this.setState$1(new A.MemoryHeapTreemapState__onRootChanged_closure(this, newRoot));
    },
    build$1(context) {
      var _null = null;
      return new A.OutlineDecoration(this._sizes == null ? A.Column$(A._setArrayType([B.SizedBox_null_6_null_null, A.Expanded$(new A.OutlineDecoration(A.Row$(B.List_KeE, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1) : new A.Padding(B.EdgeInsets_0_6_0_0, new A.LayoutBuilder(new A.MemoryHeapTreemapState_build_closure(this), _null), _null), _null);
    }
  };
  A.MemoryHeapTreemapState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.MemoryHeapTreemapState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.MemoryHeapTreemapState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
      t2 = t1.ProvidedControllerMixin__controller;
      t2.toString;
      t1._sizes = A.InstructionsSize_InstructionsSize$fromSnapshot(t2);
    },
    $signature: 0
  };
  A.MemoryHeapTreemapState__onRootChanged_closure.prototype = {
    call$0() {
      this.$this.root = this.newRoot;
    },
    $signature: 0
  };
  A.MemoryHeapTreemapState_build_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this;
      return A.Treemap$fromRoot(constraints.maxHeight, true, 2, t1.get$_onRootChanged(), t1.root, constraints.maxWidth);
    },
    $signature: 163
  };
  A.InstructionsSize.prototype = {};
  A.InstructionsSize_InstructionsSize$fromSnapshot_closure.prototype = {
    call$2(libraryGroup, value) {
      var t1, t2, t3, currentChildren, t4, shallowSize, className, libraryName, predefined, parentReset, t5, currentChildren0, _i, pathPart;
      for (t1 = value.get$iterator(value), t2 = this._box_0, t3 = type$.JSArray_String, currentChildren = this.rootChildren; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        shallowSize = t4.instancesTotalShallowSizes;
        t4 = t4.origin;
        className = t4._snapshot_graph$_name;
        if (shallowSize === 0 || className === "::")
          continue;
        t4 = t4.__HeapSnapshotClass__libraryUri;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        libraryName = t4.toString$0(0);
        if (libraryName.length === 0)
          libraryName = libraryGroup;
        predefined = $.$get$predefinedClasses().$index(0, new A.LibraryClass(libraryName, className));
        if (predefined != null)
          className = predefined.prettyName;
        parentReset = t2.currentParent;
        t4 = A._setArrayType([], t3);
        B.JSArray_methods.addAll$1(t4, A._setArrayType(libraryName.split("/"), t3));
        if (className.length !== 0)
          t4.push(className);
        t4.push("new " + className);
        t5 = t4.length;
        currentChildren0 = currentChildren;
        _i = 0;
        for (; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          pathPart = t4[_i];
          currentChildren0.putIfAbsent$2(0, pathPart, new A.InstructionsSize_InstructionsSize$fromSnapshot__closure(t2, pathPart));
          currentChildren0.$index(0, pathPart).byteSize += shallowSize;
          t2.currentParent = currentChildren0.$index(0, pathPart);
          currentChildren0 = currentChildren0.$index(0, pathPart).childrenMap;
        }
        t2.currentParent = parentReset;
      }
    },
    $signature: 117
  };
  A.InstructionsSize_InstructionsSize$fromSnapshot__closure.prototype = {
    call$0() {
      var node = new A.TreemapNode(this.pathPart, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.TreemapNode), 0, false, A._setArrayType([], type$.JSArray_TreemapNode));
      this._box_0.currentParent.addChild$1(node);
      return node;
    },
    $signature: 350
  };
  A.InstructionsSize_InstructionsSize$fromSnapshot_closure0.prototype = {
    call$2(current, node) {
      return current + node.byteSize;
    },
    $signature: 397
  };
  A.InstructionsSize_InstructionsSize$fromSnapshot_closure1.prototype = {
    call$0() {
      var node = new A.TreemapNode("External Heap", A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.TreemapNode), 0, false, A._setArrayType([], type$.JSArray_TreemapNode));
      node.byteSize = this.snapshotGraph._externalSize;
      this.root.addChild$1(node);
      return node;
    },
    $signature: 350
  };
  A._MemoryHeapTreemapState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._MemoryHeapTreemapState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.InstanceTreeView.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.FieldReference;
      return new A.InstanceTreeViewState(new A._FieldTypeColumn(A.StreamController_StreamController$broadcast(false, t1), A.StreamController_StreamController$broadcast(false, t1), "Type", _null, _null, _null, B.ColumnAlignment_0), A._setArrayType([], type$.JSArray_ColumnData_FieldReference), _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.InstanceTreeViewState.prototype = {
    initState$0() {
      var _null = null;
      this.super$State$initState();
      B.JSArray_methods.addAll$1(this.columns, A._setArrayType([this.treeColumn, new A._FieldNameColumn("Name", _null, B.JSNumber_methods.roundToDouble$0(150 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A._FieldValueColumn("Value", _null, B.JSNumber_methods.roundToDouble$0(350 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0)], type$.JSArray_ColumnData_FieldReference));
    },
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedSnapshotNotifier, new A.InstanceTreeViewState_didChangeDependencies_closure(_this));
    },
    build$1(context) {
      var t3,
        t1 = this.ProvidedControllerMixin__controller,
        t2 = t1._instanceRoot;
      t2.toString;
      t3 = this.columns;
      return t1.instanceFieldsTreeTable = A.TreeTable$(false, t3, t2, null, new A.InstanceTreeViewState_build_closure(), null, t3[0], B.SortDirection_0, this.treeColumn, type$.FieldReference);
    }
  };
  A.InstanceTreeViewState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.InstanceTreeViewState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.InstanceTreeViewState_didChangeDependencies__closure.prototype = {
    call$0() {
      this.$this.ProvidedControllerMixin__controller.computeAllLibraries$1$rebuild(true);
    },
    $signature: 0
  };
  A.InstanceTreeViewState_build_closure.prototype = {
    call$1(typeRef) {
      return new A.PageStorageKey(typeRef.name, type$.PageStorageKey_String);
    },
    $signature: 398
  };
  A._FieldTypeColumn.prototype = {
    getValue$1(dataObject) {
      var t1;
      if (dataObject === $.$get$FieldReference_empty() || dataObject === $.$get$FieldReference_sentinel())
        t1 = "";
      else {
        t1 = dataObject.type;
        if (t1 == null)
          t1 = "";
      }
      return t1;
    },
    getDisplayValue$1(dataObject) {
      return this.getValue$1(dataObject);
    },
    compare$2(a, b) {
      return B.JSString_methods.compareTo$1(this.getValue$1(a), this.getValue$1(b));
    },
    get$fixedWidthPx() {
      return 250;
    }
  };
  A._FieldNameColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject === $.$get$FieldReference_empty() ? "" : dataObject.name;
    },
    getDisplayValue$1(dataObject) {
      return dataObject === $.$get$FieldReference_empty() ? "" : dataObject.name;
    },
    compare$2(a, b) {
      var t1 = $.$get$FieldReference_empty(),
        valueA = a === t1 ? "" : a.name;
      return B.JSString_methods.compareTo$1(valueA, b === t1 ? "" : b.name);
    }
  };
  A._FieldValueColumn.prototype = {
    getValue$1(dataObject) {
      var t1;
      if (dataObject === $.$get$FieldReference_empty() || dataObject === $.$get$FieldReference_sentinel())
        t1 = "";
      else {
        t1 = dataObject.value;
        if (t1 == null)
          t1 = "";
      }
      return t1;
    },
    getDisplayValue$1(dataObject) {
      var value, t1;
      if (dataObject instanceof A.ObjectFieldReference && !dataObject.isNull)
        return "";
      value = this.getValue$1(dataObject);
      t1 = value.length;
      return t1 > 30 ? B.JSString_methods.substring$2(value, 0, 13) + "\u2026" + B.JSString_methods.substring$1(value, t1 - 17) : value;
    },
    compare$2(a, b) {
      return B.JSString_methods.compareTo$1(this.getValue$1(a), this.getValue$1(b));
    }
  };
  A._InstanceTreeViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._InstanceTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.MemoryTracker.prototype = {
    _updateLiveDataPolling$0() {
      var t1, _this = this;
      if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service == null)
        _this.memoryController._paused.set$value(0, true);
      if (_this._memory_protocol$_pollingTimer == null)
        _this._memory_protocol$_pollingTimer = A.Timer_Timer(B.Duration_500000, _this.get$_pollMemory());
      if (_this._gcStreamListener == null) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.__VmServiceWrapper__vmService;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1._getEventController$1("GC");
          t1 = new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_memory_protocol$_handleGCEvent());
        }
        _this._gcStreamListener = t1;
      }
    },
    stop$0(_) {
      var t1, _this = this;
      _this._updateLiveDataPolling$0();
      _this.memoryController._paused.removeListener$1(0, _this.get$_updateLiveDataPolling());
      t1 = _this._memory_protocol$_pollingTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._gcStreamListener;
      if (t1 != null)
        t1.cancel$0(0);
      _this._memory_protocol$_pollingTimer = _this._gcStreamListener = null;
    },
    _memory_protocol$_handleGCEvent$1($event) {
      var t2, t3, t4, t5, t6, t7,
        t1 = $event.json;
      t1.toString;
      t1 = J.$index$asx(t1, "new");
      t1 = t1 == null ? null : A.HeapSpace$_fromJson(t1);
      t1.toString;
      t2 = $event.json;
      t2.toString;
      t2 = J.$index$asx(t2, "old");
      t2 = t2 == null ? null : A.HeapSpace$_fromJson(t2);
      t2.toString;
      t3 = t1.external;
      t3.toString;
      t4 = t2.external;
      t4.toString;
      t5 = t1.capacity;
      t5.toString;
      t6 = t2.capacity;
      t6.toString;
      t1 = t1.used;
      t1.toString;
      t2 = t2.used;
      t2.toString;
      t7 = $event.isolate;
      t7 = t7.get$id(t7);
      t7.toString;
      this.isolateHeaps.$indexSet(0, t7, new A.MemoryUsage(t3 + t4, t5 + t6, t1 + t2, null));
      this._recalculate$1(true);
    },
    _pollMemory$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1, isolateMemory, t2, t3, t4, t5, t6, t7, t8, t9, vm, $async$temp1, $async$temp2;
      var $async$_pollMemory$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$self._memory_protocol$_pollingTimer = null;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
              if (!(t1.service != null && t1.connectedApp != null) || $async$self.memoryController._memoryTracker == null) {
                A.log("VM service connection and/or MemoryTracker lost.", B.LogLevel_0);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$.MemoryUsage;
              isolateMemory = A.LinkedHashMap_LinkedHashMap$_empty(type$.IsolateRef, t1);
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._isolates.__ListValueNotifier__currentList;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = t2.$ti;
              t2 = new A.ListIterator(t2, t2.length, t3._eval$1("ListIterator<ListMixin.E>"));
              t4 = $async$self.memoryController;
              t3 = t3._eval$1("ListMixin.E");
              t5 = type$.dynamic;
            case 3:
              // for condition
              if (!t2.moveNext$0()) {
                // goto after for
                $async$goto = 4;
                break;
              }
              t6 = t2.__internal$_current;
              if (t6 == null)
                t6 = t3._as(t6);
              t7 = t6.get$id(t6);
              t7.toString;
              $async$goto = 7;
              return A._asyncAwait(t4.isIsolateLive$1(t7), $async$_pollMemory$0);
            case 7:
              // returning from await.
              $async$goto = $async$result ? 5 : 6;
              break;
            case 5:
              // then
              t7 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t7.toString;
              t8 = t6.get$id(t6);
              t8.toString;
              t9 = t7.__VmServiceWrapper__vmService;
              if (t9 === $)
                A.throwUnnamedLateFieldNI();
              $async$temp1 = isolateMemory;
              $async$temp2 = t6;
              $async$goto = 8;
              return A._asyncAwait(t7.trackFuture$1$2("getMemoryUsage", t9._call$1$2(0, "getMemoryUsage", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t8], t5, t5), t1), t1), $async$_pollMemory$0);
            case 8:
              // returning from await.
              $async$temp1.$indexSet(0, $async$temp2, $async$result);
            case 6:
              // join
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
              $async$goto = t1.service != null && t1.connectedApp != null && $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm.operatingSystem === "android" && t4._androidCollectionEnabled._change_notifier$_value ? 9 : 11;
              break;
            case 9:
              // then
              $async$goto = 12;
              return A._asyncAwait($async$self._fetchAdbInfo$0(), $async$_pollMemory$0);
            case 12:
              // returning from await.
              $async$self.adbMemoryInfo = $async$result;
              // goto join
              $async$goto = 10;
              break;
            case 11:
              // else
              $async$self.adbMemoryInfo = new A.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0);
            case 10:
              // join
              $async$goto = 13;
              return A._asyncAwait($async$self._fetchRasterCacheInfo$0(), $async$_pollMemory$0);
            case 13:
              // returning from await.
              $async$self.rasterCache = $async$result;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.VM;
              $async$goto = 14;
              return A._asyncAwait(t1.trackFuture$1$2("getVM", t2._call$1$1(0, "getVM", t3), t3), $async$_pollMemory$0);
            case 14:
              // returning from await.
              vm = $async$result;
              $async$self._memory_protocol$_update$2(0, vm, isolateMemory);
              t1 = vm.json;
              t1.toString;
              if (J.containsKey$1$x(t1, "_FAKE_VM")) {
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self._memory_protocol$_pollingTimer == null)
                $async$self._memory_protocol$_pollingTimer = A.Timer_Timer(B.Duration_500000, $async$self.get$_pollMemory());
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_pollMemory$0, $async$completer);
    },
    _memory_protocol$_update$2(_, vm, isolateMemory) {
      var t2, t3, t4,
        t1 = vm.json;
      t1.toString;
      this.processRss = J.$index$asx(t1, "_currentRSS");
      t1 = this.isolateHeaps;
      t1.clear$0(0);
      for (t2 = A.LinkedHashMapKeyIterator$(isolateMemory, isolateMemory._modifications, A._instanceType(isolateMemory)._precomputed1); t2.moveNext$0();) {
        t3 = t2.__js_helper$_current;
        t4 = t3.get$id(t3);
        t4.toString;
        t3 = isolateMemory.$index(0, t3);
        t3.toString;
        t1.$indexSet(0, t4, t3);
      }
      this._recalculate$0();
    },
    _fetchRasterCacheInfo$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_RasterCache),
        $async$returnValue, t1, response;
      var $async$_fetchRasterCacheInfo$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($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$rasterCacheMetrics(), $async$_fetchRasterCacheInfo$0);
            case 3:
              // returning from await.
              response = $async$result;
              if (response == null) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = response.json;
              $async$returnValue = t1 == null ? null : A.RasterCache_RasterCache$fromJson(t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_fetchRasterCacheInfo$0, $async$completer);
    },
    _fetchAdbInfo$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.AdbMemoryInfo),
        $async$returnValue, t2, t1;
      var $async$_fetchAdbInfo$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($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$adbMemoryInfo(), $async$_fetchAdbInfo$0);
            case 3:
              // returning from await.
              t1 = $async$result.json;
              t1.toString;
              t2 = J.getInterceptor$asx(t1);
              $async$returnValue = new A.AdbMemoryInfo(t2.$index(t1, "Realtime"), t2.$index(t1, "Java Heap") * 1024, t2.$index(t1, "Native Heap") * 1024, t2.$index(t1, "Code") * 1024, t2.$index(t1, "Stack") * 1024, t2.$index(t1, "Graphics") * 1024, t2.$index(t1, "Private Other") * 1024, t2.$index(t1, "System") * 1024, t2.$index(t1, "Total") * 1024);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_fetchAdbInfo$0, $async$completer);
    },
    _isolateMemoryUsage$2(id, usage) {
      return this._isolateMemoryUsage$body$MemoryTracker(id, usage);
    },
    _isolateMemoryUsage$body$MemoryTracker(id, usage) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_MemoryUsage),
        $async$returnValue, $async$self = this;
      var $async$_isolateMemoryUsage$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.memoryController.isIsolateLive$1(id), $async$_isolateMemoryUsage$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$result ? usage : null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_isolateMemoryUsage$2, $async$completer);
    },
    _recalculate$1(fromGC) {
      return this._recalculate$body$MemoryTracker(fromGC);
    },
    _recalculate$0() {
      return this._recalculate$1(false);
    },
    _recalculate$body$MemoryTracker(fromGC) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, used, capacity, $external, index, isolateId, usage, time, t3, eventSample, t4, sample, keysToRemove, t1, isolateCount, t2, keys;
      var $async$_recalculate$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
              keysToRemove = A._setArrayType([], type$.JSArray_String);
              t1 = $async$self.isolateHeaps;
              isolateCount = t1._length;
              t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
              keys = A.List_List$of(new A.LinkedHashMapKeyIterable(t1, t2), true, t2._eval$1("Iterable.E"));
              used = 0, capacity = 0, $external = 0, index = 0;
            case 2:
              // for condition
              if (!(index < isolateCount)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              isolateId = keys[index];
              usage = t1.$index(0, isolateId);
              $async$goto = 5;
              return A._asyncAwait($async$self._isolateMemoryUsage$2(isolateId, usage), $async$_recalculate$1);
            case 5:
              // returning from await.
              if ($async$result == null && !B.JSArray_methods.contains$1(keysToRemove, isolateId)) {
                keysToRemove.push(isolateId);
                usage = null;
              }
              if (usage != null) {
                t2 = usage.heapUsage;
                t2.toString;
                used += t2;
                t2 = usage.heapCapacity;
                t2.toString;
                capacity += t2;
                t2 = usage.externalUsage;
                t2.toString;
                $external += t2;
              }
            case 3:
              // for update
              ++index;
              // goto for condition
              $async$goto = 2;
              break;
            case 4:
              // after for
              t1.removeWhere$1(t1, new A.MemoryTracker__recalculate_closure(keysToRemove));
              t1 = $async$self.memoryController.__MemoryController_memoryTimeline;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              time = Date.now();
              t2 = t1.offline;
              t3 = t2._change_notifier$_value;
              if ((t3 ? t1.offlineData : t1.liveData).length !== 0)
                time = Math.max(time, B.JSArray_methods.get$last(t3 ? t1.offlineData : t1.liveData).timestamp);
              eventSample = $async$self.processEventSample$2(t1, time);
              t3 = eventSample != null;
              if (t3 && eventSample.allocationAccumulator != null) {
                if (eventSample.allocationAccumulator._event_sample$_start)
                  t1.monitorContinuesState = B.ContinuesState_2;
              } else if (t1.monitorContinuesState === B.ContinuesState_3) {
                t4 = $async$self._monitorContinues;
                if (t4 != null) {
                  t4.cancel$0(0);
                  t4 = $async$self._monitorContinues = null;
                }
                if (t4 == null)
                  $async$self._monitorContinues = A.Timer_Timer(B.Duration_300000, $async$self.get$_recalculate());
              }
              sample = A.HeapSample$(time, $async$self.processRss, capacity + $external, used, $external, fromGC, $async$self.adbMemoryInfo, eventSample, $async$self.rasterCache);
              t1.liveData.push(sample);
              if (!t2._change_notifier$_value) {
                t1._sampleAddedNotifier.set$value(0, sample);
                t2 = t1._sampleEventNotifier;
                t2.set$value(0, t2._change_notifier$_value + 1);
              }
              $async$self._changeController.add$1(0, null);
              if (t3) {
                t2 = eventSample.allocationAccumulator;
                t2 = t2 != null && t2._event_sample$_start;
              } else
                t2 = false;
              if (t2)
                t1.monitorContinuesState = B.ContinuesState_3;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_recalculate$1, $async$completer);
    },
    pullClone$2(memoryTimeline, time) {
      var pulledEvent = memoryTimeline.pullEventSample$0(),
        extensionEvents = memoryTimeline.get$extensionEvents();
      return new A.EventSample(time, pulledEvent.isEventGC, pulledEvent.isEventSnapshot, pulledEvent.isEventSnapshotAuto, pulledEvent.allocationAccumulator, extensionEvents);
    },
    processEventSample$2(memoryTimeline, time) {
      var eventTime, t1, t2, compared, ignoreEvent, _null = null;
      if (memoryTimeline.get$peekEventTimestamp() !== -1) {
        eventTime = memoryTimeline.get$peekEventTimestamp();
        t1 = A.Duration$(0, time)._duration;
        t2 = A.Duration$(0, eventTime)._duration;
        compared = B.JSInt_methods.compareTo$1(t1, t2);
        if (compared < 0) {
          if (B.JSInt_methods.compareTo$1(t1 + 500000, t2) >= 0)
            return this.pullClone$2(memoryTimeline, time);
          ignoreEvent = memoryTimeline.pullEventSample$0();
          t1 = $.$get$MemoryTimeline__milliFormat();
          A.log("Event duration is lagging ignore eventtimestamp: " + t1.format$1(0, A.DateTime$fromMillisecondsSinceEpoch(time, false)) + " event: " + t1.format$1(0, A.DateTime$fromMillisecondsSinceEpoch(eventTime, false)) + "\n" + ignoreEvent.toString$0(0), B.LogLevel_0);
          return _null;
        }
        if (compared > 0) {
          if (time - eventTime > 500) {
            if (B.JSInt_methods.compareTo$1(t1 - 500000, t2) >= 0)
              return this.pullClone$2(memoryTimeline, time);
            return _null;
          }
          return this.pullClone$2(memoryTimeline, time);
        }
      }
      if (memoryTimeline._extensionEvents.length !== 0)
        return new A.EventSample(time, false, false, false, _null, memoryTimeline.get$extensionEvents());
      return _null;
    }
  };
  A.MemoryTracker__recalculate_closure.prototype = {
    call$2(key, value) {
      return B.JSArray_methods.contains$1(this.keysToRemove, key);
    },
    $signature: 400
  };
  A.MemoryScreen.prototype = {
    get$showIsolateSelector() {
      return B.FixedValueListenable_true;
    },
    get$docPageId() {
      return "memory";
    },
    build$1(context) {
      return B.MemoryBody_null;
    }
  };
  A.MemoryBody.prototype = {
    createState$0() {
      var _null = null;
      return new A.MemoryBodyState(A.FocusNode$(true, "memory", true, true, _null, _null, false), _null, _null, _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.MemoryBodyState.prototype = {
    initState$0() {
      this.super$State$initState();
      A.screen("memory");
      this.AutoDisposeMixin__delegate.autoDisposeFocusNode$1(this._memory_screen$_focusNode);
    },
    didChangeDependencies$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, vmChartController, _this = this, _null = null,
        _s9_ = "VM Memory",
        _s10_ = "Event Pane";
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      A.maybePushDebugModeMemoryMessage(t1, "memory");
      if (!_this.initController$0())
        return;
      t1 = _this.ProvidedControllerMixin__controller;
      t1.toString;
      t2 = type$.JSArray_nullable_int;
      t3 = A._setArrayType([null, null, null], t2);
      t4 = type$.JSArray_int;
      t5 = A._setArrayType([], t4);
      t6 = type$.JSArray_Trace;
      t7 = A._setArrayType([], t6);
      t8 = $.$get$ChangeNotifier__emptyListeners();
      t9 = type$.ValueNotifier_TraceNotifier;
      t10 = type$.ValueNotifier_nullable_TapLocation;
      vmChartController = new A.VMChartController(t1, _s9_, t3, false, true, true, true, t5, t7, new A.ValueNotifier(new A.TraceNotifier(), t8, t9), A.AxisScale$(0, 0, 30), new A.ValueNotifier(_null, t8, t10), B.Duration_0, A._setArrayType([], t4), A.Disposer$());
      vmChartController.ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(false, true, true, true, _s9_, _null);
      t7 = _this.ProvidedControllerMixin__controller;
      t7.toString;
      t7 = new A.EventChartController(t7, _s10_, A._setArrayType([null, null, null], t2), true, false, false, false, A._setArrayType([], t4), A._setArrayType([], t6), new A.ValueNotifier(new A.TraceNotifier(), t8, t9), A.AxisScale$(0, 0, 30), new A.ValueNotifier(_null, t8, t10), B.Duration_0, A._setArrayType([], t4), A.Disposer$());
      t7.ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(true, false, false, false, _s10_, _null);
      t5 = _this.ProvidedControllerMixin__controller;
      t5.toString;
      t3 = vmChartController.labelTimestamps;
      t4 = new A.AndroidChartController(t5, "Android", A._setArrayType([null, null, null], t2), false, true, true, true, A._setArrayType([], t4), A._setArrayType([], t6), new A.ValueNotifier(new A.TraceNotifier(), t8, t9), A.AxisScale$(0, 0, 30), new A.ValueNotifier(_null, t8, t10), B.Duration_0, A._setArrayType([], t4), A.Disposer$());
      t4.ChartController$6$displayTopLine$displayXAxis$displayXLabels$displayYLabels$name$sharedLabelimestamps(false, true, true, true, "Android", t3);
      _this.__MemoryBodyState__chartControllers = new A.ChartControllers(t7, vmChartController, t4);
      t4 = _this.ProvidedControllerMixin__controller;
      t4.toString;
      _this.addAutoDisposeListener$2(t4._selectedSnapshotNotifier, new A.MemoryBodyState_didChangeDependencies_closure(_this));
    },
    build$1(context) {
      var t3,
        t1 = $.$get$MemoryChartPane_hoverKey(),
        t2 = this.__MemoryBodyState__chartControllers;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = this.ProvidedControllerMixin__controller;
      t3.toString;
      return A.Column$(A._setArrayType([new A.MemoryControlPane(t2, null), B.SizedBox_null_6_null_null, new A.MemoryChartPane(t2, this._memory_screen$_focusNode, null), B.SizedBox_16_null_null_null, A.Expanded$(new A.HeapTree(t3, null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, t1, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.MemoryBodyState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.MemoryBodyState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.MemoryBodyState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toString;
      if (t1.snapshotByLibraryData == null) {
        t2 = t1.snapshots;
        t2 = B.JSArray_methods.get$isNotEmpty(t2) ? B.JSArray_methods.get$last(t2) : null;
        t1.snapshotByLibraryData = t2 == null ? null : t2.librariesToList$0();
      }
    },
    $signature: 0
  };
  A._MemoryBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$_MemoryBodyState_State_AutoDisposeMixin$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin.prototype = {};
  A.Reference.prototype = {
    get$isEmptyReference() {
      return this === $.$get$Reference_empty();
    },
    expand$0(_) {
      var _this = this,
        t1 = _this.onExpand;
      if (t1 != null) {
        t1.call$1(_this);
        _this.controller._leafSelectedNotifier.set$value(0, null);
      }
      _this.super$TreeNode$expand(0);
    },
    leaf$0() {
      var t1, t2, _this = this;
      if (_this.isObject) {
        type$.ObjectReference._as(_this);
        t1 = _this.controller;
        t2 = t1._leafAnalysisSelectedNotifier;
        if (t2._change_notifier$_value != null)
          t2.set$value(0, null);
        t1._leafSelectedNotifier.set$value(0, _this.instance);
      } else if (_this.isAnalysis && _this instanceof A.AnalysisInstance) {
        t1 = _this.controller;
        t2 = t1._leafSelectedNotifier;
        if (t2._change_notifier$_value != null)
          t2.set$value(0, null);
        t1._leafAnalysisSelectedNotifier.set$value(0, _this);
      }
      _this.super$TreeNode$leaf();
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.AnalysesReference.prototype = {};
  A.AnalysisSnapshotReference.prototype = {};
  A.AnalysisReference.prototype = {};
  A.AnalysisInstance.prototype = {};
  A.AnalysisField.prototype = {
    get$isEmptyReference() {
      return this === $.$get$AnalysisField_empty();
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.SnapshotReference.prototype = {};
  A.LibraryReference.prototype = {};
  A.LibraryReference_closure.prototype = {
    call$1(reference) {
      var t2, t3, actualClass, classRef,
        t1 = reference.children;
      if (t1.length !== 0 && B.JSArray_methods.get$first(t1).get$isEmptyReference()) {
        B.JSArray_methods.clear$0(t1);
        type$.LibraryReference._as(reference);
        t1 = reference.actualClasses;
        if (t1 == null)
          t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.dynamic);
        t1 = t1.get$iterator(t1);
        t2 = this.controller;
        t3 = type$.Reference;
        for (; t1.moveNext$0();) {
          actualClass = t1.get$current(t1);
          classRef = A.ClassReference$(t2, actualClass);
          reference.addChild$1(classRef);
          B.JSArray_methods.forEach$1(A.List_List$filled(actualClass.getInstances$1(t2.heapGraph).length, $.$get$Reference_empty(), false, t3), classRef.get$addChild());
        }
      }
    },
    $signature: 9
  };
  A.ExternalReferences.prototype = {};
  A.ExternalReference.prototype = {};
  A.ExternalReference_closure.prototype = {
    call$1(reference) {
      var t1 = reference.children;
      if (t1.length !== 0 && B.JSArray_methods.get$first(t1).get$isEmptyReference()) {
        B.JSArray_methods.clear$0(t1);
        type$.ExternalReference._as(reference);
        reference.addChild$1(A.ObjectReference$(this.controller, 0, reference.liveExternal.live));
      }
    },
    $signature: 9
  };
  A.FilteredReference.prototype = {};
  A.ClassReference.prototype = {};
  A.ClassReference_closure.prototype = {
    call$1(reference) {
      A.computeInstanceForClassReference(this.controller, reference);
    },
    $signature: 9
  };
  A.ObjectReference.prototype = {};
  A.ExternalObjectReference.prototype = {};
  A.Snapshot.prototype = {
    librariesToList$0() {
      var t1 = this.libraries;
      return t1.get$entries(t1).map$1$1(0, new A.Snapshot_librariesToList_closure(), type$.LibraryReference).toList$0(0);
    }
  };
  A.Snapshot_librariesToList_closure.prototype = {
    call$1(entry) {
      return entry.get$value(entry);
    },
    $signature: 401
  };
  A.FieldReference.prototype = {
    get$isEmptyReference() {
      return this === $.$get$FieldReference_empty();
    },
    expand$0(_) {
      var t1 = this.onExpand;
      if (t1 != null)
        t1.call$1(this);
      this.super$TreeNode$expand(0);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ObjectFieldReference.prototype = {
    _expandObjectFieldRef$1(reference) {
      var t2, t3, objFields, computedFields, t4, _i, ref, live, theClass, t5, t6, t7, predefined,
        t1 = reference.children;
      if (t1.length !== 0 && B.JSArray_methods.get$first(t1).get$isEmptyReference()) {
        B.JSArray_methods.clear$0(t1);
        if (reference.isScaler)
          return;
      }
      t2 = this.controller;
      t3 = reference.instance;
      t3.toString;
      objFields = A.instanceToFieldNodes(t2, t3);
      if (objFields.length !== 0) {
        computedFields = A._setArrayType([], type$.JSArray_FieldReference);
        for (t3 = objFields.length, t4 = type$.HeapGraphClassLive, _i = 0; _i < objFields.length; objFields.length === t3 || (0, A.throwConcurrentModificationError)(objFields), ++_i) {
          ref = objFields[_i];
          if (A.IterableExtension_singleWhereOrNull(t1, new A.ObjectFieldReference__expandObjectFieldRef_closure(ref)) == null)
            if (ref instanceof A.ObjectFieldReference && !ref.isNull)
              computedFields.push(ref);
            else {
              live = ref.instance;
              theClass = t4._as(live.theClass);
              t5 = $.$get$predefinedClasses();
              t6 = theClass.origin;
              t7 = t6.__HeapSnapshotClass__libraryUri;
              if (t7 === $)
                A.throwUnnamedLateFieldNI();
              predefined = t5.$index(0, new A.LibraryClass(t7.toString$0(0), t6._snapshot_graph$_name));
              if (predefined != null && predefined.isScalar)
                computedFields.push(A.createScalar(t2, ref.name, live));
            }
        }
        objFields = computedFields;
      }
      B.JSArray_methods.forEach$1(objFields, reference.get$addChild());
    }
  };
  A.ObjectFieldReference__expandObjectFieldRef_closure.prototype = {
    call$1(element) {
      return element.name === this.ref.name;
    },
    $signature: 349
  };
  A.instanceToFieldNodes_closure.prototype = {
    call$1(e) {
      return e === $.$get$FieldReference_sentinel();
    },
    $signature: 349
  };
  A.Tracker.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.TrackerClass.prototype = {
    toString$0(_) {
      return this.name;
    }
  };
  A.TrackerAllocation.prototype = {
    toString$0(_) {
      return A.S(this.timestamp);
    }
  };
  A._TrackerClassColumn.prototype = {
    getValue$1(dataObject) {
      if (dataObject instanceof A.TrackerClass)
        return dataObject.name;
      else if (dataObject instanceof A.TrackerAllocation)
        return "Instance " + dataObject.index + " @ " + A.prettyTimestamp(dataObject.timestamp);
    },
    compare$2(a, b) {
      var valueA = this.getValue$1(a),
        valueB = this.getValue$1(b);
      return B.JSString_methods.compareTo$1(valueA, valueB);
    },
    get$fixedWidthPx() {
      return 300;
    }
  };
  A._TrackerCountColumn.prototype = {
    getValue$1(dataObject) {
      if (dataObject instanceof A.TrackerClass)
        return "" + dataObject.children.length;
      return "";
    },
    get$fixedWidthPx() {
      return 100;
    }
  };
  A.TreeTracker.prototype = {
    createTrackerTree$2(classesTracked, allocationSamples) {
      var t1, t2, t3, classEntry, allocationSample, t4, _i, stacktrace,
        tree1Local = this.tree1;
      if (tree1Local == null)
        tree1Local = this.tree1 = new A.TrackerClass("_ROOT_tracking", A._setArrayType([], type$.JSArray_Tracker));
      B.JSArray_methods.clear$0(tree1Local.children);
      for (t1 = A.LinkedHashMapKeyIterator$(classesTracked, classesTracked._modifications, A._instanceType(classesTracked)._precomputed1), t2 = type$.JSArray_Tracker; t1.moveNext$0();) {
        t3 = t1.__js_helper$_current;
        classEntry = new A.TrackerClass(t3, A._setArrayType([], t2));
        tree1Local.addChild$1(classEntry);
        t3 = classesTracked.$index(0, t3);
        t3.toString;
        allocationSample = A.IterableExtension_singleWhereOrNull(allocationSamples, new A.TreeTracker_createTrackerTree_closure(J.get$id$x(t3)));
        if (allocationSample != null)
          for (t3 = allocationSample.stacktraces, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
            stacktrace = t3[_i];
            classEntry.addChild$1(new A.TrackerAllocation(stacktrace.timestamp, stacktrace, "", A._setArrayType([], t2)));
          }
      }
    },
    displaySelectedStackTrace$4(context, controller, scroller, tracker) {
      var _null = null,
        t1 = A.Theme_of(context),
        allocationStacktrace = tracker.stacktrace,
        stackTrace = allocationStacktrace.stacktrace,
        callstackLength = stackTrace.length,
        titleBackground = A.ThemeDataExtension_get_titleSolidBackgroundColor(A.Theme_of(context)),
        t2 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = tracker.parent.name,
        t4 = tracker.index,
        t5 = tracker.timestamp;
      t5.toString;
      return A.Column$(A._setArrayType([A.SizedBox$(A.Container$(_null, new A.Align(B.Alignment_0_0, _null, _null, A.Text$(t3 + " Call Stack for Instance " + t4 + " @ " + A.prettyTimestamp(t5), _null, _null, _null, _null, _null, A.TextStyle$(_null, titleBackground, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null), _null), B.Clip_0, titleBackground, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), t2 + 4, 1 / 0), A.Expanded$(A.Scrollbar$(A.ListView$separated(scroller, new A.TreeTracker_displaySelectedStackTrace_closure(stackTrace, t1.colorScheme, allocationStacktrace.sources), callstackLength, B.EdgeInsets_0_0_0_0, _null, new A.TreeTracker_displaySelectedStackTrace_closure0(), true), scroller, _null, _null, true), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    createTrackingTable$3(context, controller, scroller) {
      var t2, t3, _this = this, _null = null,
        t1 = _this.selectionNotifier,
        trackerAllocation = t1._change_notifier$_value.node;
      trackerAllocation = trackerAllocation instanceof A.TrackerAllocation ? trackerAllocation : _null;
      if (controller.trackAllocations._length === 0) {
        t1 = type$.JSArray_Widget;
        return A.Column$(A._setArrayType([B.Text_F4Q, A.Row$(A._setArrayType([B.Text_gg4, B.ThemedImageIcon_ouN], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), B.Text_zPV], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
      }
      t2 = _this.tree1;
      t2.toString;
      t3 = _this.treeColumn;
      t3 = A.TreeTable$(false, A._setArrayType([t3, new A._TrackerCountColumn("Count", _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1)], type$.JSArray_ColumnData_Tracker), t2.children, _null, new A.TreeTracker_createTrackingTable_closure(), t1, t3, B.SortDirection_0, t3, type$.Tracker);
      t1 = trackerAllocation == null ? A.Column$(B.List_cg9, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1) : _this.displaySelectedStackTrace$4(context, controller, scroller, trackerAllocation);
      return A.Split$(B.Axis_0, A._setArrayType([new A.OutlineDecoration(t3, _null), t1], type$.JSArray_Widget), B.List_O9m1, B.List_200_280, _null);
    }
  };
  A.TreeTracker_createTrackerTree_closure.prototype = {
    call$1(sample) {
      var allocationClassRef;
      if (sample.stacktraces.length === 0)
        return false;
      allocationClassRef = sample.classRef;
      return allocationClassRef.get$id(allocationClassRef) == this.trackedClassId;
    },
    $signature: 403
  };
  A.TreeTracker_displaySelectedStackTrace_closure.prototype = {
    call$2(context, index) {
      var _null = null,
        t1 = this.stackTrace[index],
        t2 = this.colorScheme.brightness === B.Brightness_1,
        t3 = t2 ? B.Color_4278190080 : B.Color_4290493371;
      t3 = A.Text$("#" + index + " " + t1, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t3, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null);
      t1 = this.sources[index];
      t1.toString;
      t2 = t2 ? B.Color_4278190080 : B.Color_4290493371;
      return A.Column$(A._setArrayType([t3, A.Text$(t1, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t2, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_0, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 404
  };
  A.TreeTracker_displaySelectedStackTrace_closure0.prototype = {
    call$2(context, index) {
      return A.Divider$(null, 12);
    },
    $signature: 348
  };
  A.TreeTracker_createTrackingTable_closure.prototype = {
    call$1(d) {
      return new A.ValueKey(d.name, type$.ValueKey_String);
    },
    $signature: 406
  };
  A.MemoryChartPane.prototype = {
    createState$0() {
      return new A._MemoryChartPaneState(null, null, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._MemoryChartPaneState.prototype = {
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.addAutoDisposeListener$2(_this._widget.chartControllers.event.tapLocation, new A._MemoryChartPaneState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this._widget.chartControllers.vm.tapLocation, new A._MemoryChartPaneState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this._widget.chartControllers.android.tapLocation, new A._MemoryChartPaneState_didChangeDependencies_closure1(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._refreshCharts, new A._MemoryChartPaneState_didChangeDependencies_closure2(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._androidChartVisibleNotifier);
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._memorySourceNotifier, new A._MemoryChartPaneState_didChangeDependencies_closure3(_this));
      _this._updateListeningState$0();
    },
    _updateListeningState$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$_updateListeningState$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($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._serviceAvailable.future, $async$_updateListeningState$0);
            case 2:
              // returning from await.
              t1 = $async$self.ProvidedControllerMixin__controller;
              $async$goto = t1._memoryTracker == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1.startTimeline$0(), $async$_updateListeningState$0);
            case 5:
              // returning from await.
            case 4:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_updateListeningState$0, $async$completer);
    },
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this._widget.keyFocusNode,
        t2 = B.JSNumber_methods.roundToDouble$0(70 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = _this._widget.chartControllers;
      t3 = A._setArrayType([A.SizedBox$(new A.MemoryEventsPane(t3.event, _null), t2, _null), A.SizedBox$(new A.MemoryVMChart(t3.vm, _null), _null, _null)], type$.JSArray_Widget);
      if (_this.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value) {
        t2 = B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t3.push(A.SizedBox$(new A.MemoryAndroidChart(_this._widget.chartControllers.android, _null), t2, _null));
      }
      return A.RawKeyboardListener$(true, A.Column$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), t1, new A._MemoryChartPaneState_build_closure(_this));
    },
    dispose$0() {
      this._hideHover$0();
      this.super$__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose();
    },
    _displayAndroidDataInHover$1(chartsValues) {
      var t1, androidDataDisplayed, data, _null = null;
      if (!this.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value)
        return A._setArrayType([], type$.JSArray_Widget);
      t1 = this._widget.chartControllers.android.traces;
      androidDataDisplayed = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Map_of_String_and_nullable_Object);
      if (chartsValues.controller._androidChartVisibleNotifier._change_notifier$_value) {
        data = chartsValues._android;
        androidDataDisplayed.$indexSet(0, "Total " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "total")))), A.traceRender(t1[7].characteristics.color, true, _null));
        androidDataDisplayed.$indexSet(0, "Other " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "other")))), A.traceRender(t1[5].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Native " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "nativeHeap")))), A.traceRender(t1[4].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Graphics " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "graphics")))), A.traceRender(t1[3].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Code " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "code")))), A.traceRender(t1[2].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Java " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "javaHeap")))), A.traceRender(t1[1].characteristics.color, false, _null));
        androidDataDisplayed.$indexSet(0, "Stack " + A.S(chartsValues.formatNumeric$1(A._asNumQ(data.$index(0, "stack")))), A.traceRender(t1[0].characteristics.color, false, _null));
      }
      return this._dataToDisplay$2$firstWidget(androidDataDisplayed, new A.Align(B.Alignment_m1_m1, _null, _null, new A.Padding(B.EdgeInsets_20_2_20_2, A.CustomPaint$(_null, _null, _null, A.DashedLine$(B.JSNumber_methods.roundToDouble$0(225 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) - 40 - 5, B.Color_4285887861, 1, 5, 5), B.Size_0_0), _null), _null));
    },
    _showHover$3(context, chartsValues, position) {
      var xPosition, t4, t5, totalTraces, t6, t7, t8, t9, displayTimestamp, hoverHeading, result, _this = this, _null = null,
        _s15_ = "extensionEvents",
        t1 = {},
        t2 = A.Theme_of(context),
        colorScheme = A.Theme_of(context).colorScheme,
        t3 = $.$get$MemoryChartPane_hoverKey(),
        renderBoxWidth = type$.RenderBox._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t3).get$renderObject())._box$_size._dx;
      t3 = position._dx;
      xPosition = t3 + 10;
      t1.xPosition = xPosition;
      if (xPosition + B.JSNumber_methods.roundToDouble$0(225 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) > renderBoxWidth)
        t1.xPosition = t3 - B.JSNumber_methods.roundToDouble$0(225 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) - 10;
      t1.totalHoverHeight = null;
      t3 = chartsValues._vm;
      if (_this.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value) {
        t4 = t3.get$entries(t3);
        t4 = t4.get$length(t4);
        t5 = chartsValues._android;
        t5 = t5.get$entries(t5);
        totalTraces = t4 - 1 + t5.get$length(t5);
      } else {
        t4 = t3.get$entries(t3);
        totalTraces = t4.get$length(t4) - 1;
      }
      t4 = chartsValues._memory_charts$_event;
      t5 = t4.get$entries(t4);
      t5 = t5.get$length(t5);
      t6 = (t4.containsKey$1(0, _s15_) ? chartsValues.get$extensionEvents().length : 0) > 0 ? 1 : 0;
      t3 = A._asBool(t3.$index(0, "gc")) ? 1 : 0;
      t4 = t4.containsKey$1(0, _s15_) ? chartsValues.get$extensionEvents().length : 0;
      t7 = B.JSNumber_methods.roundToDouble$0(42 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t8 = B.JSNumber_methods.roundToDouble$0(18 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t9 = B.JSNumber_methods.roundToDouble$0(18 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      if (t4 > 0)
        t4 = t4 === 1 ? B.JSNumber_methods.roundToDouble$0(82 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      else
        t4 = 0;
      t1.totalHoverHeight = t7 + (t5 - t6 + t3) * t8 + 2 + totalTraces * t9 + t4;
      displayTimestamp = A.prettyTimestamp(chartsValues.timestamp);
      t3 = colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      hoverHeading = A.TextStyle$(_null, _null, t3, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(15 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      result = context.findAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      t3 = _this._hoverOverlayEntry;
      result.insert$1(0, t3 == null ? _this._hoverOverlayEntry = A.OverlayEntry$(new A._MemoryChartPaneState__showHover_closure(t1, _this, position, colorScheme, t2.focusColor, displayTimestamp, hoverHeading, chartsValues), false, false) : t3);
    },
    _dataToDisplay$2$firstWidget(dataToDisplay, firstWidget) {
      var t1, t2, t3, image, color, dashedLine,
        results = A._setArrayType([], type$.JSArray_Widget);
      if (firstWidget != null)
        results.push(firstWidget);
      for (t1 = dataToDisplay.get$entries(dataToDisplay), t1 = t1.get$iterator(t1), t2 = type$.nullable_Color; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        image = J.contains$1$asx(J.get$keys$x(t3.get$value(t3)), "image") ? A._asStringQ(J.$index$asx(t3.get$value(t3), "image")) : null;
        color = J.contains$1$asx(J.get$keys$x(t3.get$value(t3)), "color") ? t2._as(J.$index$asx(t3.get$value(t3), "color")) : null;
        dashedLine = J.contains$1$asx(J.get$keys$x(t3.get$value(t3)), "dashed") && J.$index$asx(t3.get$value(t3), "dashed");
        t3 = t3.get$key(t3);
        results.push(this._hoverRow$7$colorPatch$dashed$hasNumeric$hasUnit$image$name$scaleImage(color, J.$eq$(dashedLine, true), true, this.ProvidedControllerMixin__controller._unitDisplayed._change_notifier$_value, image, t3, true));
      }
      return results;
    },
    _dataToDisplay$1(dataToDisplay) {
      return this._dataToDisplay$2$firstWidget(dataToDisplay, null);
    },
    _hoverRow$9$bold$colorPatch$dashed$hasNumeric$hasUnit$image$leftPadding$name$scaleImage(bold, colorPatch, dashed, hasNumeric, hasUnit, image, leftPadding, $name, scaleImage) {
      var hoverTitleEntry, hoverValueEntry, hoverSmallEntry, rowChildren, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1).colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      hoverTitleEntry = A.TextStyle$(_null, _null, t1, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(11.5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t1 = this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1).colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4293980400;
      hoverValueEntry = A.TextStyle$(_null, _null, t1, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(11.5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t1 = this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1).colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      hoverSmallEntry = A.TextStyle$(_null, _null, t1, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      rowChildren = A._setArrayType([], type$.JSArray_Widget);
      B.JSArray_methods.addAll$1(rowChildren, new A._MemoryChartPaneState__hoverRow_hoverPartImageLine(hasNumeric, hasUnit, scaleImage, bold, hoverTitleEntry, hoverSmallEntry, hoverValueEntry).call$5$colorPatch$dashed$image$leftEdge($name, colorPatch, dashed, image, leftPadding));
      return A.Container$(_null, A.Row$(rowChildren, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_5_0_0_2, _null, _null, _null);
    },
    _hoverRow$7$colorPatch$dashed$hasNumeric$hasUnit$image$name$scaleImage(colorPatch, dashed, hasNumeric, hasUnit, image, $name, scaleImage) {
      return this._hoverRow$9$bold$colorPatch$dashed$hasNumeric$hasUnit$image$leftPadding$name$scaleImage(true, colorPatch, dashed, hasNumeric, hasUnit, image, 5, $name, scaleImage);
    },
    _hoverRow$2$image$name(image, $name) {
      return this._hoverRow$9$bold$colorPatch$dashed$hasNumeric$hasUnit$image$leftPadding$name$scaleImage(true, null, false, false, false, image, 5, $name, false);
    },
    _hoverRow$3$bold$leftPadding$name(bold, leftPadding, $name) {
      return this._hoverRow$9$bold$colorPatch$dashed$hasNumeric$hasUnit$image$leftPadding$name$scaleImage(bold, null, false, false, false, null, leftPadding, $name, false);
    },
    _hideHover$0() {
      var t1, _this = this;
      if (_this._hoverOverlayEntry != null) {
        _this._widget.chartControllers.event.tapLocation.set$value(0, null);
        _this._widget.chartControllers.vm.tapLocation.set$value(0, null);
        _this._widget.chartControllers.android.tapLocation.set$value(0, null);
        t1 = _this._hoverOverlayEntry;
        if (t1 != null)
          t1.remove$0(0);
        _this._hoverOverlayEntry = null;
      }
    },
    _displayExtensionEventsInHover$1(chartsValues) {
      var eventLength, t3, t4, _this = this, _null = null,
        _s15_ = "extensionEvents",
        t1 = type$.JSArray_Widget,
        widgets = A._setArrayType([], t1),
        t2 = type$.String,
        eventsDisplayed = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2 = chartsValues._memory_charts$_event;
      if (t2.containsKey$1(0, _s15_)) {
        eventLength = t2.containsKey$1(0, _s15_) ? chartsValues.get$extensionEvents().length : 0;
        if (eventLength > 0) {
          t2 = eventLength === 1;
          t3 = t2 ? " Event" : " Events";
          t2 = t2 ? "assets/img/legend/event_glyph.png" : "assets/img/legend/events_glyph.png";
          eventsDisplayed.$indexSet(0, "" + eventLength + t3, t2);
        }
      }
      for (t2 = eventsDisplayed.get$entries(eventsDisplayed), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (J.endsWith$1$s(t3.get$key(t3), " Events")) {
          t4 = B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
          widgets.push(A.Container$(_null, A.ListView$(A._setArrayType([_this._listItem$3$allEvents$icon$title(chartsValues.get$extensionEvents(), B.IconData_57777_MaterialIcons_false, t3.get$key(t3))], t1), _null, _null, _null, _null, false, true), B.Clip_0, _null, _null, _null, _null, t4, _null, _null, _null, _null, _null, _null));
        } else {
          t4 = t3.get$key(t3);
          widgets.push(_this._hoverRow$2$image$name(t3.get$value(t3), t4));
          widgets.push(_this._hoverRow$3$bold$leftPadding$name(false, 0, B.JSString_methods.trim$0(_this._displayEvent$2(_null, B.JSArray_methods.get$first(chartsValues.get$extensionEvents())))));
        }
      }
      return widgets;
    },
    _displayEventsInHover$1(chartsValues) {
      var t2, eventsDisplayed, t3,
        results = A._setArrayType([], type$.JSArray_Widget),
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1);
      t2 = type$.String;
      eventsDisplayed = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2 = chartsValues._memory_charts$_event;
      if (t2.containsKey$1(0, "snapshot"))
        eventsDisplayed.$indexSet(0, "Snapshot", string$.assetsem);
      else if (t2.containsKey$1(0, "autoSnapshot"))
        eventsDisplayed.$indexSet(0, "Auto Snapshot", string$.assetsea);
      else if (t2.containsKey$1(0, "monitorStart"))
        eventsDisplayed.$indexSet(0, "Monitor Start", "assets/img/legend/monitor_glyph.png");
      else if (t2.containsKey$1(0, "monitorReset"))
        eventsDisplayed.$indexSet(0, "Monitor Reset", t1.colorScheme.brightness === B.Brightness_1 ? "assets/img/legend/reset_glyph_light.png" : "assets/img/legend/reset_glyph_dark.png");
      if (A._asBool(chartsValues._vm.$index(0, "gc")))
        eventsDisplayed.$indexSet(0, "GC", "assets/img/legend/gc_vm_glyph.png");
      if (t2.containsKey$1(0, "manualGC"))
        eventsDisplayed.$indexSet(0, "User GC", "assets/img/legend/gc_manual_glyph.png");
      for (t1 = eventsDisplayed.get$entries(eventsDisplayed), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t3 = A.S(t2.get$key(t2));
        results.push(this._hoverRow$2$image$name(t2.get$value(t2), " " + t3));
      }
      return results;
    },
    _listItem$3$allEvents$icon$title(allEvents, icon, title) {
      var t2, t3, index, _i, output, t4, t5, t6, t7, t8, colorScheme, hoverTextStyle, contrastForeground, collapsedColor, _null = null,
        t1 = type$.JSArray_Widget,
        widgets = A._setArrayType([], t1);
      for (t2 = allEvents.length, t3 = type$.JSArray_Color, index = 1, _i = 0; _i < allEvents.length; allEvents.length === t2 || (0, A.throwConcurrentModificationError)(allEvents), ++_i) {
        output = this._displayEvent$2(index, allEvents[_i]);
        t4 = this._framework$_element;
        t4.toString;
        t4 = A.Theme_of(t4).colorScheme.brightness === B.Brightness_1;
        t5 = t4 ? B.Color_4278190080 : B.Color_4290493371;
        t6 = B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t7 = t4 ? B.Color_4294638330 : B.Color_4281348144;
        t7 = A._setArrayType([t7, t4 ? B.Color_4293848814 : B.Color_4282532418], t3);
        t8 = B.JSNumber_methods.roundToDouble$0(225 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        widgets.push(new A.Padding(B.EdgeInsets_0_0_0_8, A.Container$(_null, new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, _null, B.VerticalDirection_1, _null, A._setArrayType([B.SizedBox_10_null_null_null, new A.Text(output, _null, new A.TextStyle(true, t5, _null, _null, _null, _null, t6, B.FontWeight_3, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null)], t1), _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, _null, _null, _null, new A.LinearGradient(B.Alignment_0_m1, B.Alignment_0_1, B.TileMode_1, t7, _null, _null), _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, t8), _null));
        ++index;
      }
      t1 = this._framework$_element;
      t1.toString;
      colorScheme = A.Theme_of(t1).colorScheme;
      t1 = colorScheme.brightness === B.Brightness_1;
      t2 = t1 ? B.Color_4278190080 : B.Color_4290493371;
      hoverTextStyle = A.TextStyle$(_null, _null, t2, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(11.5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      contrastForeground = t1 ? B.Color_4278190080 : B.Color_4293980400;
      collapsedColor = A.DevToolsColorScheme_get_defaultBackgroundColor(colorScheme);
      t1 = A.ThemeData_ThemeData(_null, contrastForeground);
      return A.Material$(B.Duration_200000, true, _null, new A.Theme(t1, A.ExpansionTile$(collapsedColor, widgets, B.EdgeInsets_0_0_0_0, collapsedColor, _null, false, _null, A.Container$(_null, A.Image$(_null, _null, allEvents.length > 1 ? B.AssetImage_46y : B.AssetImage_usD, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_5_4_0_0, _null, _null, _null), B.EdgeInsets_0_0_0_0, A.Text$(title, _null, _null, _null, _null, _null, hoverTextStyle, _null, _null, _null, _null)), _null), B.Clip_0, B.Color_0, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
    },
    _displayEvent$2(index, $event) {
      var _s4_ = "name",
        t1 = J.getInterceptor$asx($event),
        $name = J.$eq$(t1.$index($event, _s4_), "DevTools.Event") && t1.containsKey$1($event, "custom") ? J.$index$asx(type$.Map_dynamic_dynamic._as(t1.$index($event, "custom")), _s4_) : A._asStringQ(t1.$index($event, _s4_));
      t1 = index == null ? $name : A.S(index) + ". " + A.S($name);
      t1 = "" + (A.S(t1) + "\n") + this._decodeEventValues$1($event);
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _decodeEventValues$1($event) {
      var t2, data, key, values, displaySize, decodeSize, outputSizes, t3, _s4_ = "name",
        t1 = J.getInterceptor$asx($event);
      if (J.$eq$(t1.$index($event, _s4_), "Flutter.ImageSizesForFrame")) {
        t2 = type$.Map_dynamic_dynamic;
        data = J.cast$2$0$ax(t2._as(t1.$index($event, "data")), type$.String, type$.Object);
        key = J.get$first$ax(data.get$keys(data));
        t1 = "" + (this._longValueToShort$1(key) + "\n");
        values = t2._as(data.$index(0, key));
        t2 = J.getInterceptor$asx(values);
        displaySize = t2.$index(values, "displaySizeInBytes");
        decodeSize = t2.$index(values, "decodedSizeInBytes");
        outputSizes = A.S(displaySize) + "/" + A.S(decodeSize);
        t1 = outputSizes.length > 10 ? t1 + "Display/Decode Size=\n" + ("    " + outputSizes) : t1 + ("Display/Decode Size=" + outputSizes);
      } else if (J.$eq$(t1.$index($event, _s4_), "DevTools.Event") && t1.containsKey$1($event, "custom")) {
        data = J.$index$asx(type$.Map_dynamic_dynamic._as(t1.$index($event, "custom")), "data");
        for (t1 = J.getInterceptor$x(data), t2 = J.get$iterator$ax(t1.get$keys(data)), t3 = ""; t2.moveNext$0();) {
          key = t2.get$current(t2);
          t3 = t3 + (A.S(key) + "=") + (this._longValueToShort$1(t1.$index(data, key)) + "\n");
        }
        t1 = t3;
      } else
        t1 = "" + ("Unknown Event " + A.S(t1.$index($event, _s4_)) + "\n");
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _longValueToShort$1(longValue) {
      var t1 = longValue.length;
      return t1 > 34 ? B.JSString_methods.substring$2(longValue, 0, 9) + "..." + B.JSString_methods.substring$1(longValue, t1 - 20) : longValue;
    }
  };
  A._MemoryChartPaneState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t2, tapLocation, index, t3, copied, allValues,
        t1 = this.$this;
      if (t1._widget.chartControllers.event.tapLocation._change_notifier$_value != null) {
        if (t1._hoverOverlayEntry != null)
          t1._hideHover$0();
        t2 = t1._widget.chartControllers;
        tapLocation = t2.event.tapLocation._change_notifier$_value;
        if ((tapLocation == null ? null : tapLocation.tapDownDetails) != null) {
          index = tapLocation.index;
          t3 = tapLocation.timestamp;
          t3.toString;
          copied = new A.TapLocation(null, t3, index);
          t2.vm.tapLocation.set$value(0, copied);
          t1._widget.chartControllers.android.tapLocation.set$value(0, copied);
          t2 = t1.ProvidedControllerMixin__controller;
          t2.toString;
          allValues = A.ChartsValues$(t2, index, t3);
          t3 = t1._framework$_element;
          t3.toString;
          t1._showHover$3(t3, allValues, tapLocation.tapDownDetails.globalPosition);
        }
      }
    },
    $signature: 0
  };
  A._MemoryChartPaneState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t2, tapLocation, index, t3, copied, allValues,
        t1 = this.$this;
      if (t1._widget.chartControllers.vm.tapLocation._change_notifier$_value != null) {
        if (t1._hoverOverlayEntry != null)
          t1._hideHover$0();
        t2 = t1._widget.chartControllers;
        tapLocation = t2.vm.tapLocation._change_notifier$_value;
        if ((tapLocation == null ? null : tapLocation.tapDownDetails) != null) {
          index = tapLocation.index;
          t3 = tapLocation.timestamp;
          t3.toString;
          copied = new A.TapLocation(null, t3, index);
          t2.event.tapLocation.set$value(0, copied);
          t1._widget.chartControllers.android.tapLocation.set$value(0, copied);
          t2 = t1.ProvidedControllerMixin__controller;
          t2.toString;
          allValues = A.ChartsValues$(t2, index, t3);
          t3 = t1._framework$_element;
          t3.toString;
          t1._showHover$3(t3, allValues, tapLocation.tapDownDetails.globalPosition);
        }
      }
    },
    $signature: 0
  };
  A._MemoryChartPaneState_didChangeDependencies_closure1.prototype = {
    call$0() {
      var t2, tapLocation, index, t3, copied, allValues,
        t1 = this.$this;
      if (t1._widget.chartControllers.android.tapLocation._change_notifier$_value != null) {
        if (t1._hoverOverlayEntry != null)
          t1._hideHover$0();
        t2 = t1._widget.chartControllers;
        tapLocation = t2.android.tapLocation._change_notifier$_value;
        if ((tapLocation == null ? null : tapLocation.tapDownDetails) != null) {
          index = tapLocation.index;
          t3 = tapLocation.timestamp;
          t3.toString;
          copied = new A.TapLocation(null, t3, index);
          t2.event.tapLocation.set$value(0, copied);
          t1._widget.chartControllers.vm.tapLocation.set$value(0, copied);
          t2 = t1.ProvidedControllerMixin__controller;
          t2.toString;
          allValues = A.ChartsValues$(t2, index, t3);
          t3 = t1._framework$_element;
          t3.toString;
          t1._showHover$3(t3, allValues, tapLocation.tapDownDetails.globalPosition);
        }
      }
    },
    $signature: 0
  };
  A._MemoryChartPaneState_didChangeDependencies_closure2.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._MemoryChartPaneState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._MemoryChartPaneState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this._widget.chartControllers;
      t1.resetAll$0();
      t2 = t1.event;
      t2.setupData$0();
      t2.dirty = true;
      t2 = t1.vm;
      t2.setupData$0();
      t2.dirty = true;
      t1 = t1.android;
      t1.setupData$0();
      t1.dirty = true;
    },
    $signature: 0
  };
  A._MemoryChartPaneState_didChangeDependencies_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, errorMessage, notificationsState, exception, t1, $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 = 4;
              $async$goto = 7;
              return A._asyncAwait($async$self.$this.ProvidedControllerMixin__controller.updatedMemorySource$0(), $async$call$0);
            case 7:
              // returning from await.
              $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);
              errorMessage = A.S(e);
              t1 = $async$self.$this;
              t1.ProvidedControllerMixin__controller._memorySourceNotifier.set$value(0, "Live Feed");
              t1 = t1._framework$_element;
              t1.toString;
              notificationsState = A.Notifications_of(t1);
              if (notificationsState != null)
                notificationsState.push$1(errorMessage);
              else
                throw A.wrapException(A.OfflineFileException$(errorMessage));
              // 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.ProvidedControllerMixin__controller._refreshCharts;
              t1.set$value(0, t1._change_notifier$_value + 1);
            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$0, $async$completer);
    },
    $signature: 2
  };
  A._MemoryChartPaneState_build_closure.prototype = {
    call$1($event) {
      var t1 = $.$get$RawKeyboard_instance()._keysPressed;
      t1 = t1.get$values(t1);
      if (A.LinkedHashSet_LinkedHashSet$of(t1, A._instanceType(t1)._eval$1("Iterable.E")).contains$1(0, B.LogicalKeyboardKey_4294967323))
        this.$this._hideHover$0();
    },
    $signature: 113
  };
  A._MemoryChartPaneState__showHover_closure.prototype = {
    call$1(context) {
      var t3, t4, t5, t6, t7, t8, t9, t10, vmDataDisplayed, t11, _this = this, _null = null,
        t1 = _this._box_0,
        t2 = t1.xPosition;
      t1 = t1.totalHoverHeight;
      t3 = A.DevToolsColorScheme_get_defaultBackgroundColor(_this.colorScheme);
      t4 = A.Border_Border$all(_this.focusColor, 2);
      t5 = A.BorderRadius$circular(10);
      t6 = B.JSNumber_methods.roundToDouble$0(225 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t7 = B.JSNumber_methods.roundToDouble$0(225 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t7 = A._setArrayType([A.Container$(_null, A.Text$("Time " + _this.displayTimestamp, _null, _null, _null, _null, _null, _this.hoverHeading, B.TextAlign_2, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_0_0_4, _null, _null, t7)], type$.JSArray_Widget);
      t8 = _this.$this;
      t9 = _this.chartsValues;
      B.JSArray_methods.addAll$1(t7, t8._displayEventsInHover$1(t9));
      t10 = t8._widget.chartControllers.vm.traces;
      vmDataDisplayed = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Map_of_String_and_nullable_Object);
      t11 = t9._vm;
      vmDataDisplayed.$indexSet(0, "RSS " + A.S(t9.formatNumeric$1(A._asNumQ(t11.$index(0, "rss")))), A.traceRender(t10[3].characteristics.color, true, _null));
      vmDataDisplayed.$indexSet(0, "Allocated " + A.S(t9.formatNumeric$1(A._asNumQ(t11.$index(0, "capacity")))), A.traceRender(t10[2].characteristics.color, true, _null));
      vmDataDisplayed.$indexSet(0, "Dart/Flutter " + A.S(t9.formatNumeric$1(A._asNumQ(t11.$index(0, "used")))), A.traceRender(t10[1].characteristics.color, false, _null));
      vmDataDisplayed.$indexSet(0, "Dart/Flutter Native " + A.S(t9.formatNumeric$1(A._asNumQ(t11.$index(0, "external")))), A.traceRender(t10[0].characteristics.color, false, _null));
      vmDataDisplayed.$indexSet(0, "Raster Layer " + A.S(t9.formatNumeric$1(A._asNumQ(t11.$index(0, "rasterPicture")))), A.traceRender(t10[4].characteristics.color, true, _null));
      vmDataDisplayed.$indexSet(0, "Raster Picture " + A.S(t9.formatNumeric$1(A._asNumQ(t11.$index(0, "rasterLayer")))), A.traceRender(t10[5].characteristics.color, true, _null));
      B.JSArray_methods.addAll$1(t7, t8._dataToDisplay$1(vmDataDisplayed));
      B.JSArray_methods.addAll$1(t7, t8._displayAndroidDataInHover$1(t9));
      B.JSArray_methods.addAll$1(t7, t8._displayExtensionEventsInHover$1(t9));
      return A.Positioned$(_null, A.Container$(_null, A.Column$(t7, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, _null, _null, new A.BoxDecoration(t3, _null, t4, t5, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_0_5_0_8, _null, _null, t6), t1, _null, t2, _null, _this.position._dy + 0, _null);
    },
    $signature: 159
  };
  A._MemoryChartPaneState__hoverRow_hoverPartImageLine.prototype = {
    call$5$colorPatch$dashed$image$leftEdge($name, colorPatch, dashed, image, leftEdge) {
      var startOfNumber, displayName, displayValue, traceColor, _this = this, _null = null;
      if (_this.hasNumeric) {
        startOfNumber = B.JSString_methods.lastIndexOf$1($name, " ");
        if (_this.hasUnit)
          if (A.Primitives_parseInt(B.JSString_methods.substring$1($name, startOfNumber + 1), _null) == null)
            startOfNumber = B.JSString_methods.lastIndexOf$2($name, " ", startOfNumber - 1);
        displayName = B.JSString_methods.substring$2($name, 0, startOfNumber) + " ";
        displayValue = B.JSString_methods.substring$1($name, startOfNumber + 1);
      } else {
        displayName = $name;
        displayValue = " ";
      }
      if (colorPatch != null)
        traceColor = dashed ? A.createDashWidget(colorPatch) : new A.Padding(B.EdgeInsets_1_0_1_0, A.Container$(_null, _null, B.Clip_0, colorPatch, _null, _null, _null, 6, _null, _null, _null, _null, _null, 20), _null);
      else if (image == null)
        traceColor = B.SizedBox_null_null_null_null;
      else
        traceColor = _this.scaleImage ? A.Image$(_null, 10, new A.AssetImage(image, _null, _null), 20) : A.Image$(_null, _null, new A.AssetImage(image, _null, _null), _null);
      return A._setArrayType([traceColor, B.PaddedDivider_wEo1, A.Text$(displayName, _null, _null, _null, _null, _null, _this.bold ? _this.hoverTitleEntry : _this.hoverSmallEntry, _null, _null, _null, _null), A.Text$(displayValue, _null, _null, _null, _null, _null, _this.hoverValueEntry, _null, _null, _null, _null)], type$.JSArray_Widget);
    },
    call$1($name) {
      return this.call$5$colorPatch$dashed$image$leftEdge($name, null, false, null, 5);
    },
    $signature: 408
  };
  A.__MemoryChartPaneState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$__MemoryChartPaneState_State_AutoDisposeMixin$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin.prototype = {};
  A.AndroidChartController.prototype = {
    setupData$0() {
      var chartDataLength, t1, t2, dataLength, _this = this;
      if (_this.traces.length !== 0) {
        chartDataLength = _this._timestamps.length;
        t1 = _this._memoryController.__MemoryController_memoryTimeline;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.offline._change_notifier$_value;
        dataLength = (t2 ? t1.offlineData : t1.liveData).length;
        t1 = t2 ? t1.offlineData : t1.liveData;
        A.RangeError_checkValidRange(chartDataLength, dataLength, t1.length, null, null);
        A.SubListIterable$(t1, chartDataLength, dataLength, A._arrayInstanceType(t1)._precomputed1).forEach$1(0, _this.get$addSample());
      }
    },
    addSample$1(sample) {
      var t1, adb, t2, _this = this;
      if (_this._memoryController._paused._change_notifier$_value)
        return;
      t1 = sample.timestamp;
      _this._timestamps.push(t1);
      _this.dirty = true;
      adb = sample.adbMemoryInfo;
      t2 = _this.traces;
      t2[0].addDatum$1(new A.Data(t1, adb.stack));
      t2[3].addDatum$1(new A.Data(t1, adb.graphics));
      t2[4].addDatum$1(new A.Data(t1, adb.nativeHeap));
      t2[1].addDatum$1(new A.Data(t1, adb.javaHeap));
      t2[2].addDatum$1(new A.Data(t1, adb.code));
      t2[5].addDatum$1(new A.Data(t1, adb.other));
      t2[6].addDatum$1(new A.Data(t1, adb.system));
      t2[7].addDatum$1(new A.Data(t1, adb.total));
    }
  };
  A.MemoryAndroidChart.prototype = {
    createState$0() {
      return new A.MemoryAndroidChartState(B.Color_4278249078, B.Color_4291811548, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.MemoryAndroidChartState.prototype = {
    initState$0() {
      this.super$State$initState();
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.setupTraces$0();
      _this._widget.chartController.setupData$0();
      t1 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._sampleAddedNotifier;
      if (t1._change_notifier$_value != null)
        _this.addAutoDisposeListener$2(t1, new A.MemoryAndroidChartState_didChangeDependencies_closure(_this));
    },
    build$1(context) {
      var t1, _null = null;
      if (this._widget.chartController._timestamps.length !== 0) {
        t1 = B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        return A.Container$(_null, A.Chart$(this._widget.chartController), B.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null);
      }
      return B.SizedBox_8_null_null_null;
    },
    setupTraces$0() {
      var _this = this, _null = null,
        t1 = _this._widget.chartController;
      if (t1.traces.length !== 0)
        return;
      t1.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.MaterialAccentColor_Map_iTYZn_4284809178, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.stack", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.MaterialColor_Map_JNHRl_4294961979, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.javaHeap", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.Color_4289357516, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.code", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(_this.graphicColor, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.graphics", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.Color_4281578981, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.nativeHeap", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.Color_4294936576, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.other", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.Color_4284913920, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "AndroidTraceName.system", true);
      _this._widget.chartController.createTrace$3$name(B.ChartType_1, A.PaintCharacteristics$(_this.totalColor, _null, 1, _null, _null, 1, 2, B.ChartSymbol_9, 1), "AndroidTraceName.total");
    },
    _processHeapSample$1(sample) {
      if (this.ProvidedControllerMixin__controller._paused._change_notifier$_value)
        return;
      this._widget.chartController.addSample$1(sample);
    }
  };
  A.MemoryAndroidChartState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._sampleAddedNotifier._change_notifier$_value;
      t2.toString;
      t1._processHeapSample$1(t2);
    },
    $signature: 0
  };
  A._MemoryAndroidChartState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._MemoryAndroidChartState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.ChartsValues.prototype = {
    toJson$0() {
      var _this = this,
        t1 = _this.timestamp;
      return A.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index, "timestamp", t1, "prettyTimestamp", A.prettyTimestamp(t1), "event", _this._memory_charts$_event, "vm", _this._vm, "android", _this._android], type$.String, type$.nullable_Object);
    },
    get$extensionEvents() {
      var t1 = this._memory_charts$_extensionEvents;
      if (t1.length === 0)
        B.JSArray_methods.addAll$1(t1, type$.List_Map_String_bool._as(this._memory_charts$_event.$index(0, "extensionEvents")));
      return t1;
    },
    _getEventData$1(results) {
      var eventInfo, events, t2, t3, t4, t5, t6, _i, $event, t7, t8, t9,
        t1 = this.controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.offline._change_notifier$_value ? t1.offlineData : t1.liveData;
      eventInfo = t1[this.index].memoryEventInfo;
      if (eventInfo.timestamp === -1)
        return;
      if (eventInfo.isEventGC)
        results.$indexSet(0, "manualGC", true);
      if (eventInfo.isEventSnapshot)
        results.$indexSet(0, "snapshot", true);
      if (eventInfo.isEventSnapshotAuto)
        results.$indexSet(0, "autoSnapshot", true);
      t1 = eventInfo.allocationAccumulator;
      if (t1 != null) {
        if (t1._event_sample$_start)
          results.$indexSet(0, "monitorStart", true);
        if (t1._event_sample$_reset)
          results.$indexSet(0, "monitorReset", true);
      }
      t1 = eventInfo.extensionEvents;
      if (t1 != null) {
        events = A._setArrayType([], type$.JSArray_Map_String_Object);
        t1 = t1.theEvents;
        t2 = t1.length;
        t3 = type$.String;
        t4 = type$.Object;
        t5 = type$.dynamic;
        t6 = type$.nullable_Object;
        _i = 0;
        for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          $event = t1[_i];
          t7 = $event.customEventName;
          t8 = $event.eventKind;
          t9 = $event.data;
          if (t7 != null) {
            t8.toString;
            events.push(A.LinkedHashMap_LinkedHashMap$_literal(["name", t8, "custom", A.LinkedHashMap_LinkedHashMap$_literal(["name", t7, "data", t9], t3, t6)], t3, t4));
          } else {
            t8.toString;
            events.push(A.LinkedHashMap_LinkedHashMap$_literal(["name", t8, "data", t9 == null ? A.LinkedHashMap_LinkedHashMap$_empty(t5, t5) : t9], t3, t4));
          }
        }
        if (events.length !== 0)
          results.$indexSet(0, "extensionEvents", events);
      }
    },
    formatNumeric$1(number) {
      return this.controller._unitDisplayed._change_notifier$_value ? A.prettyPrintBytes(number, true, 1, 2, 0.7) : $.$get$nf().format$1(0, number);
    }
  };
  A.EventChartController.prototype = {
    setupData$0() {
      var t2, dataLength,
        chartDataLength = this._timestamps.length,
        t1 = this._memory_events_pane$_memoryController.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.offline._change_notifier$_value;
      dataLength = (t2 ? t1.offlineData : t1.liveData).length;
      t1 = t2 ? t1.offlineData : t1.liveData;
      A.RangeError_checkValidRange(chartDataLength, dataLength, t1.length, null, null);
      A.SubListIterable$(t1, chartDataLength, dataLength, A._arrayInstanceType(t1)._precomputed1).forEach$1(0, this.get$addSample());
    },
    addSample$1(sample) {
      var t1, events, t2, data, _this = this;
      if (_this._memory_events_pane$_memoryController._paused._change_notifier$_value)
        return;
      t1 = sample.timestamp;
      _this._timestamps.push(t1);
      _this.dirty = true;
      if (sample.isGC)
        _this.traces[6].addDatum$1(new A.Data(t1, 0.4));
      events = sample.memoryEventInfo;
      t2 = events.extensionEvents;
      if (t2 != null) {
        t2 = t2.theEvents;
        t2 = t2.length;
        _this.traces[0].addDatum$1(new A.DataAggregate(t2, t1, 3.7));
      }
      data = new A.Data(t1, 2.4);
      if (events.isEventGC)
        _this.traces[3].addDatum$1(data);
      if (events.isEventSnapshot)
        _this.traces[1].addDatum$1(data);
      if (events.isEventSnapshotAuto)
        _this.traces[2].addDatum$1(data);
      t2 = events.allocationAccumulator;
      if (t2 != null) {
        data = new A.Data(t1, 1.4);
        if (t2._event_sample$_reset)
          _this.traces[5].addDatum$1(data);
        else if (t2._event_sample$_start)
          _this.traces[4].addDatum$1(data);
      }
    }
  };
  A.MemoryEventsPane.prototype = {
    createState$0() {
      return new A.MemoryEventsPaneState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.MemoryEventsPaneState.prototype = {
    initState$0() {
      this.super$State$initState();
      var t1 = this._widget.chartController;
      t1._fixedMinY = 0.4;
      t1._fixedMaxY = 3.7;
    },
    didChangeDependencies$0() {
      var t1, themeData, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      t1 = _this._framework$_element;
      t1.toString;
      themeData = A.Theme_of(t1);
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.setupTraces$1$isDarkMode(themeData.colorScheme.brightness === B.Brightness_0);
      _this._widget.chartController.setupData$0();
      t1 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1._sampleAddedNotifier, new A.MemoryEventsPaneState_didChangeDependencies_closure(_this));
      t1 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1._eventFiredNotifier, new A.MemoryEventsPaneState_didChangeDependencies_closure0(_this));
    },
    build$1(context) {
      var t1 = this._widget.chartController;
      if (t1._timestamps.length !== 0)
        return A.Chart$(t1);
      return B.SizedBox_8_null_null_null;
    },
    setupTraces$1$isDarkMode(isDarkMode) {
      var mainMonitorColor, _this = this, _null = null,
        t1 = _this._widget.chartController;
      if (t1.traces.length !== 0)
        return;
      t1.createTrace$3$name(B.ChartType_0, A.PaintCharacteristics$(B.Color_4293558524, B.Color_4292149497, 1, 3.7, 0.4, 20, 1, B.ChartSymbol_6, 20), "EventsTraceName.extensionEvents");
      _this._widget.chartController.createTrace$3$name(B.ChartType_0, A.PaintCharacteristics$(B.MaterialColor_Map_JNEaM_4283215696, _null, 6, 3.7, 0.4, 1, 3, B.ChartSymbol_0, 1), "EventsTraceName.snapshot");
      _this._widget.chartController.createTrace$3$name(B.ChartType_0, A.PaintCharacteristics$(B.MaterialColor_Map_JNc9P_4294198070, _null, 6, 3.7, 0.4, 1, 3, B.ChartSymbol_0, 1), "EventsTraceName.autoSnapshot");
      _this._widget.chartController.createTrace$3$name(B.ChartType_0, A.PaintCharacteristics$(B.MaterialColor_Map_JNwaj_4280391411, _null, 6, 3.7, 0.4, 1, 3, B.ChartSymbol_0, 1), "EventsTraceName.manualGC");
      mainMonitorColor = isDarkMode ? B.MaterialAccentColor_Map_iTwHq_4294967040 : B.Color_4294961664;
      _this._widget.chartController.createTrace$3$name(B.ChartType_0, A.PaintCharacteristics$(mainMonitorColor, _null, 6, 3.7, 0.4, 1, 3, B.ChartSymbol_0, 1), "EventsTraceName.monitor");
      _this._widget.chartController.createTrace$3$name(B.ChartType_0, new A.PaintCharacteristics(0.4, 3.7, B.Color_4285887861, mainMonitorColor, 4, _null, B.ChartSymbol_2, 4, 6, 1, 1), "EventsTraceName.monitorReset");
      _this._widget.chartController.createTrace$3$name(B.ChartType_0, A.PaintCharacteristics$(B.MaterialColor_Map_JNwaj_4280391411, _null, 4, 3.7, 0.4, 1, 1, B.ChartSymbol_1, 1), "EventsTraceName.gc");
    },
    _memory_events_pane$_processHeapSample$1(sample) {
      if (this.ProvidedControllerMixin__controller._paused._change_notifier$_value)
        return;
      this._widget.chartController.addSample$1(sample);
    }
  };
  A.MemoryEventsPaneState_didChangeDependencies_closure.prototype = {
    call$0() {
      var value,
        t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      value = t2._sampleAddedNotifier._change_notifier$_value;
      if (value == null)
        return;
      t1.setState$1(new A.MemoryEventsPaneState_didChangeDependencies__closure0(t1, value));
    },
    $signature: 0
  };
  A.MemoryEventsPaneState_didChangeDependencies__closure0.prototype = {
    call$0() {
      return this.$this._memory_events_pane$_processHeapSample$1(this.value);
    },
    $signature: 0
  };
  A.MemoryEventsPaneState_didChangeDependencies_closure0.prototype = {
    call$0() {
      this.$this.setState$1(new A.MemoryEventsPaneState_didChangeDependencies__closure());
    },
    $signature: 0
  };
  A.MemoryEventsPaneState_didChangeDependencies__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._MemoryEventsPaneState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._MemoryEventsPaneState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.VMChartController.prototype = {
    setupData$0() {
      var t2, dataLength,
        chartDataLength = this._timestamps.length,
        t1 = this._memory_vm_chart$_memoryController.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.offline._change_notifier$_value;
      dataLength = (t2 ? t1.offlineData : t1.liveData).length;
      t1 = t2 ? t1.offlineData : t1.liveData;
      A.RangeError_checkValidRange(chartDataLength, dataLength, t1.length, null, null);
      A.SubListIterable$(t1, chartDataLength, dataLength, A._arrayInstanceType(t1)._precomputed1).forEach$1(0, this.get$addSample());
    },
    addSample$1(sample) {
      var t1, externalValue, t2, usedValue, capacityValue, rssValue, t3, _this = this;
      if (_this._memory_vm_chart$_memoryController._paused._change_notifier$_value)
        return;
      t1 = sample.timestamp;
      _this._timestamps.push(t1);
      _this.dirty = true;
      externalValue = sample.external;
      t2 = _this.traces;
      t2[0].addDatum$1(new A.Data(t1, externalValue));
      usedValue = sample.used;
      t2[1].addDatum$1(new A.Data(t1, usedValue));
      capacityValue = sample.capacity;
      t2[2].addDatum$1(new A.Data(t1, capacityValue));
      rssValue = sample.rss;
      t2[3].addDatum$1(new A.Data(t1, rssValue));
      t3 = sample.rasterCache;
      t2[4].addDatum$1(new A.Data(t1, t3.layerBytes));
      t2[5].addDatum$1(new A.Data(t1, t3.pictureBytes));
    }
  };
  A.MemoryVMChart.prototype = {
    createState$0() {
      return new A.MemoryVMChartState(B.Color_4278249078, B.Color_4294278144, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.MemoryVMChartState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.setupTraces$0();
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.setupTraces$0();
      _this._widget.chartController.setupData$0();
      t1 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1._sampleAddedNotifier, new A.MemoryVMChartState_didChangeDependencies_closure(_this));
    },
    build$1(context) {
      var t1, _null = null;
      if (this._widget.chartController._timestamps.length !== 0) {
        t1 = B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        return A.Container$(_null, A.Chart$(this._widget.chartController), B.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null);
      }
      return B.SizedBox_8_null_null_null;
    },
    setupTraces$0() {
      var _this = this, _null = null,
        t1 = _this._widget.chartController;
      if (t1.traces.length !== 0)
        return;
      t1.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.Color_4283293439, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "VmTraceName.external", true);
      _this._widget.chartController.createTrace$4$name$stacked(B.ChartType_1, A.PaintCharacteristics$(B.Color_4281578981, _null, 1.5, _null, _null, 1, 1, B.ChartSymbol_1, 1), "VmTraceName.used", true);
      _this._widget.chartController.createTrace$3$name(B.ChartType_1, A.PaintCharacteristics$($.$get$MemoryVMChartState_capacityColor(), _null, 0, _null, _null, 1, 1, B.ChartSymbol_9, 1), "VmTraceName.capacity");
      _this._widget.chartController.createTrace$3$name(B.ChartType_1, A.PaintCharacteristics$(_this.rssColor, _null, 1, _null, _null, 1, 2, B.ChartSymbol_9, 1), "VmTraceName.rSS");
      _this._widget.chartController.createTrace$3$name(B.ChartType_1, A.PaintCharacteristics$(_this.rasterLayerColor, _null, 1, _null, _null, 1, 2, B.ChartSymbol_9, 1), "VmTraceName.rasterLayer");
      _this._widget.chartController.createTrace$3$name(B.ChartType_1, A.PaintCharacteristics$(B.Color_4294919236, _null, 1, _null, _null, 1, 2, B.ChartSymbol_9, 1), "VmTraceName.rasterPicture");
    },
    _memory_vm_chart$_processHeapSample$1(sample) {
      if (this.ProvidedControllerMixin__controller._paused._change_notifier$_value)
        return;
      this._widget.chartController.addSample$1(sample);
    }
  };
  A.MemoryVMChartState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2._sampleAddedNotifier._change_notifier$_value != null)
        t1.setState$1(new A.MemoryVMChartState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.MemoryVMChartState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._sampleAddedNotifier._change_notifier$_value;
      t2.toString;
      t1._memory_vm_chart$_processHeapSample$1(t2);
    },
    $signature: 0
  };
  A._MemoryVMChartState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._MemoryVMChartState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.ToggleAdbMemoryButton.prototype = {
    createState$0() {
      return new A._ToggleAdbMemoryButtonState(null, B._StateLifecycle_0);
    }
  };
  A._ToggleAdbMemoryButtonState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var _null = null,
        t1 = this.ProvidedControllerMixin__controller,
        t2 = t1._androidChartVisibleNotifier._change_notifier$_value ? B.IconData_57706_MaterialIcons_false : B.IconData_58783_MaterialIcons_true;
      return A.IconLabelButton$(false, t2, _null, _null, "Android Memory", 900, this._widget.isAndroidCollection ? t1.get$toggleAndroidChartVisibility() : _null, true, _null, _null);
    }
  };
  A.__ToggleAdbMemoryButtonState_State_ProvidedControllerMixin.prototype = {};
  A.MemoryControlPane.prototype = {
    createState$0() {
      return new A._MemoryControlPaneState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._MemoryControlPaneState.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this._widget.chartControllers;
      return A.Row$(A._setArrayType([new A.PrimaryControls(t1, _null), B.Spacer_null, new A.SecondaryControls(this._isAndroidCollection, t1, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
    },
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._androidCollectionEnabled, new A._MemoryControlPaneState_didChangeDependencies_closure(_this));
    }
  };
  A._MemoryControlPaneState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._isAndroidCollection = t1.ProvidedControllerMixin__controller._androidCollectionEnabled._change_notifier$_value;
      t1.setState$1(new A._MemoryControlPaneState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._MemoryControlPaneState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (!t1._isAndroidCollection && t1.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value) {
        t1 = t1.ProvidedControllerMixin__controller._androidChartVisibleNotifier;
        t1.set$value(0, !t1._change_notifier$_value);
      }
    },
    $signature: 0
  };
  A.__MemoryControlPaneState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__MemoryControlPaneState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.IntervalDropdown.prototype = {
    createState$0() {
      return new A._IntervalDropdownState(null, B._StateLifecycle_0);
    }
  };
  A._IntervalDropdownState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var t1 = A.Theme_of(context),
        t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        displayOneMinute = B.JSInt_methods.toString$0(1),
        t3 = $.$get$displayDurationsStrings(),
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,DropdownMenuItem<String>>");
      return A.RoundedDropDownButton$(true, A.List_List$of(new A.MappedListIterable(t3, new A._IntervalDropdownState_build_closure(displayOneMinute, t2.size._dx > 950), t4), true, t4._eval$1("ListIterable.E")), null, new A._IntervalDropdownState_build_closure0(this), t1.textTheme.bodyMedium, t3[this.ProvidedControllerMixin__controller._displayIntervalNotifier._change_notifier$_value.index], type$.String);
    }
  };
  A._IntervalDropdownState_build_closure.prototype = {
    call$1(value) {
      var unit, _null = null;
      if (value === "Default" || value === "All")
        unit = "";
      else
        unit = "Minute" + (value === this.displayOneMinute ? "" : "s");
      return A.DropdownMenuItem$(A.Text$((this.isVerboseDropdown ? "Display" : "") + " " + value + " " + unit, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, value, type$.String);
    },
    $signature: 351
  };
  A._IntervalDropdownState_build_closure0.prototype = {
    call$1(newValue) {
      var t1 = this.$this;
      t1.setState$1(new A._IntervalDropdownState_build__closure(t1, newValue));
    },
    $signature: 82
  };
  A._IntervalDropdownState_build__closure.prototype = {
    call$0() {
      var t2, t3, duration,
        t1 = this.newValue;
      A.select("memory", "chartInterval-" + A.S(t1), false, null);
      t2 = this.$this;
      t3 = t2.ProvidedControllerMixin__controller;
      t3.toString;
      t1.toString;
      t3._displayIntervalNotifier.set$value(0, A.chartInterval(t1));
      duration = B.List_sLJ[t2.ProvidedControllerMixin__controller._displayIntervalNotifier._change_notifier$_value.index];
      t2._widget.chartControllers.event.set$zoomDuration(duration);
      t2._widget.chartControllers.vm.set$zoomDuration(duration);
      t2._widget.chartControllers.android.set$zoomDuration(duration);
    },
    $signature: 0
  };
  A.__IntervalDropdownState_State_ProvidedControllerMixin.prototype = {};
  A.LegendRow.prototype = {
    build$1(context) {
      var t2, rowChildren, t3, entry2Local, _null = null,
        t1 = A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      t1 = new A.LegendRow_build_legendPart(A.TextStyle$(_null, _null, t1, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(10 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null));
      t2 = new A.LegendRow_build_legendSymbol();
      rowChildren = A._setArrayType([], type$.JSArray_Widget);
      t3 = this.entry1;
      B.JSArray_methods.addAll$1(rowChildren, t1.call$2(t3.get$key(t3), t2.call$1(t3.get$value(t3))));
      entry2Local = this.entry2;
      if (entry2Local != null)
        B.JSArray_methods.addAll$1(rowChildren, t1.call$3(entry2Local.get$key(entry2Local), t2.call$1(entry2Local.get$value(entry2Local)), 20));
      return A.Expanded$(A.Container$(_null, A.Row$(rowChildren, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_10_0_0_2, _null, _null, _null), 1);
    }
  };
  A.LegendRow_build_legendPart.prototype = {
    call$3($name, widget, leftEdge) {
      var _null = null,
        t1 = type$.JSArray_Widget,
        rightSide = A._setArrayType([], t1),
        t2 = B.JSNumber_methods.roundToDouble$0(55 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      B.JSArray_methods.addAll$1(rightSide, A._setArrayType([A.Expanded$(A.Container$(_null, A.Text$($name, _null, _null, _null, _null, _null, this.legendEntry, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(leftEdge, 0, 0, 2), _null, _null, t2 + leftEdge), 1), B.PaddedDivider_wEo1, widget], t1));
      return rightSide;
    },
    call$2($name, widget) {
      return this.call$3($name, widget, 5);
    },
    $signature: 410
  };
  A.LegendRow_build_legendSymbol.prototype = {
    call$1(dataToDisplay) {
      var traceColor, _null = null,
        t1 = J.getInterceptor$x(dataToDisplay),
        image = t1.containsKey$1(dataToDisplay, "image") ? A._asStringQ(t1.$index(dataToDisplay, "image")) : _null,
        color = t1.containsKey$1(dataToDisplay, "color") ? type$.nullable_Color._as(t1.$index(dataToDisplay, "color")) : _null,
        dashedLine = t1.containsKey$1(dataToDisplay, "dashed") && t1.$index(dataToDisplay, "dashed");
      if (color != null)
        traceColor = A._asBool(dashedLine) ? A.createDashWidget(color) : new A.Padding(B.EdgeInsets_1_0_1_0, A.Container$(_null, _null, B.Clip_0, color, _null, _null, _null, 6, _null, _null, _null, _null, _null, 20), _null);
      else
        traceColor = image == null ? B.SizedBox_null_null_null_null : A.Image$(_null, _null, new A.AssetImage(image, _null, _null), _null);
      return traceColor;
    },
    $signature: 411
  };
  A.PrimaryControls.prototype = {
    createState$0() {
      return new A._PrimaryControlsState(null, B._StateLifecycle_0);
    }
  };
  A._PrimaryControlsState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    _primary_controls$_onPause$0() {
      A.select("memory", "pause", false, null);
      this.ProvidedControllerMixin__controller._paused.set$value(0, true);
    },
    _primary_controls$_onResume$0() {
      A.select("memory", "resume", false, null);
      this.ProvidedControllerMixin__controller._paused.set$value(0, false);
    },
    _clearTimeline$0() {
      var t1, _this = this, _null = null;
      A.select("memory", "clear", false, _null);
      t1 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.clear$0(t1.liveData);
      t1 = _this.ProvidedControllerMixin__controller;
      t1.toString;
      t1.set$monitorAllocations(A._setArrayType([], type$.JSArray_ClassHeapDetailStats));
      t1 = _this.ProvidedControllerMixin__controller;
      t1.monitorTimestamp = null;
      t1.lastMonitorTimestamp.set$value(0, _null);
      _this.ProvidedControllerMixin__controller.trackAllocations.clear$0(0);
      B.JSArray_methods.clear$0(_this.ProvidedControllerMixin__controller.allocationSamples);
      t1 = _this.ProvidedControllerMixin__controller;
      B.JSArray_methods.clear$0(t1.snapshots);
      t1.snapshotByLibraryData = null;
      t1 = _this.ProvidedControllerMixin__controller;
      t1.topNode = t1.classRoot = null;
      t1._selectedSnapshotNotifier.set$value(0, _null);
      _this.ProvidedControllerMixin__controller._leafSelectedNotifier.set$value(0, _null);
      _this._widget.chartControllers.resetAll$0();
    },
    build$1(context) {
      return new A.ValueListenableBuilder(this.ProvidedControllerMixin__controller._paused, new A._PrimaryControlsState_build_closure(this), null, null, type$.ValueListenableBuilder_bool);
    }
  };
  A._PrimaryControlsState_build_closure.prototype = {
    call$3(context, paused, _) {
      var _null = null,
        t1 = A.PauseButton$(1100, paused ? _null : this.$this.get$_primary_controls$_onPause(), "Pause"),
        t2 = A.ResumeButton$(1100, paused ? this.$this.get$_primary_controls$_onResume() : _null, "Resume"),
        t3 = this.$this;
      return A.Row$(A._setArrayType([t1, B.SizedBox_8_null_null_null, t2, B.SizedBox_16_null_null_null, A.ClearButton$(1100, t3.ProvidedControllerMixin__controller._memorySourceNotifier._change_notifier$_value === "Live Feed" ? t3.get$_clearTimeline() : _null, true), B.SizedBox_16_null_null_null, new A.IntervalDropdown(t3._widget.chartControllers, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
    },
    $signature: 121
  };
  A.__PrimaryControlsState_State_ProvidedControllerMixin.prototype = {};
  A.SecondaryControls.prototype = {
    createState$0() {
      return new A._SecondaryControlsState(A.Disposer$(), null, B._StateLifecycle_0);
    }
  };
  A._SecondaryControlsState.prototype = {
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._legendVisibleNotifier, new A._SecondaryControlsState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._androidChartVisibleNotifier, new A._SecondaryControlsState_didChangeDependencies_closure0(_this));
    },
    _showLegend$1(context) {
      var t2, legendHeading, position, legendRows, t3, t4, t5, t6, events, iterator, leftEntry, rightEntry, traces, vms, legendEntry, androids, result, _this = this, _null = null,
        t1 = $.$get$legendKey(),
        box = type$.RenderBox._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject()),
        colorScheme = A.Theme_of(context).colorScheme;
      t1 = colorScheme.brightness === B.Brightness_1;
      t2 = t1 ? B.Color_4278190080 : B.Color_4290493371;
      legendHeading = A.TextStyle$(_null, _null, t2, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(11.5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      position = A.MatrixUtils_transformPoint(box.getTransformTo$1(0, _null), B.Offset_0_0);
      legendRows = A._setArrayType([], type$.JSArray_Widget);
      t2 = A.traceRender(_null, false, string$.assetsem);
      t3 = A.traceRender(_null, false, string$.assetsea);
      t4 = A.traceRender(_null, false, "assets/img/legend/monitor_glyph.png");
      t5 = type$.String;
      t6 = type$.Map_of_String_and_nullable_Object;
      events = A.LinkedHashMap_LinkedHashMap$_literal(["Snapshot", t2, "Auto", t3, "Monitor", t4, "Reset", A.traceRender(_null, false, t1 ? "assets/img/legend/reset_glyph_light.png" : "assets/img/legend/reset_glyph_dark.png"), "GC VM", A.traceRender(_null, false, "assets/img/legend/gc_vm_glyph.png"), "Manual", A.traceRender(_null, false, "assets/img/legend/gc_manual_glyph.png"), "Event", A.traceRender(_null, false, "assets/img/legend/event_glyph.png"), "Events", A.traceRender(_null, false, "assets/img/legend/events_glyph.png")], t5, t6);
      legendRows.push(A.Container$(_null, A.Text$("Events Legend", _null, _null, _null, _null, _null, legendHeading, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_5_0_0_4, _null, _null, _null));
      t4 = events.get$entries(events);
      iterator = t4.get$iterator(t4);
      for (; iterator.moveNext$0();) {
        leftEntry = iterator.get$current(iterator);
        rightEntry = iterator.moveNext$0() ? iterator.get$current(iterator) : _null;
        _this._widget.toString;
        legendRows.push(new A.LegendRow(leftEntry, rightEntry, _null));
      }
      traces = _this._widget.chartControllers.vm.traces;
      vms = A.LinkedHashMap_LinkedHashMap$_literal(["RSS", A.traceRender(traces[3].characteristics.color, true, _null), "Allocated", A.traceRender(traces[2].characteristics.color, true, _null), "Dart/Flutter", A.traceRender(traces[1].characteristics.color, false, _null), "Dart/Flutter Native", A.traceRender(traces[0].characteristics.color, false, _null), "Raster Layer", A.traceRender(traces[4].characteristics.color, true, _null), "Raster Picture", A.traceRender(traces[5].characteristics.color, true, _null)], t5, t6);
      legendRows.push(A.Container$(_null, A.Text$("Memory Legend", _null, _null, _null, _null, _null, legendHeading, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_5_0_0_4, _null, _null, _null));
      t1 = vms.get$entries(vms);
      iterator = t1.get$iterator(t1);
      for (; iterator.moveNext$0();) {
        legendEntry = iterator.get$current(iterator);
        _this._widget.toString;
        legendRows.push(new A.LegendRow(legendEntry, _null, _null));
      }
      if (_this.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value) {
        traces = _this._widget.chartControllers.android.traces;
        androids = A.LinkedHashMap_LinkedHashMap$_literal(["Total", A.traceRender(traces[7].characteristics.color, true, _null), "Other", A.traceRender(traces[5].characteristics.color, false, _null), "Native", A.traceRender(traces[4].characteristics.color, false, _null), "Graphics", A.traceRender(traces[3].characteristics.color, false, _null), "Code", A.traceRender(traces[2].characteristics.color, false, _null), "Java", A.traceRender(traces[1].characteristics.color, false, _null), "Stack", A.traceRender(traces[0].characteristics.color, false, _null)], t5, t6);
        legendRows.push(A.Container$(_null, A.Text$("Android Legend", _null, _null, _null, _null, _null, legendHeading, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_5_0_0_4, _null, _null, _null));
        t1 = androids.get$entries(androids);
        iterator = t1.get$iterator(t1);
        for (; iterator.moveNext$0();) {
          legendEntry = iterator.get$current(iterator);
          _this._widget.toString;
          legendRows.push(new A.LegendRow(legendEntry, _null, _null));
        }
      }
      result = context.findAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      t1 = _this._legendOverlayEntry;
      result.insert$1(0, t1 == null ? _this._legendOverlayEntry = A.OverlayEntry$(new A._SecondaryControlsState__showLegend_closure(_this, position, box, colorScheme, legendRows), false, false) : t1);
    },
    _hideLegend$0() {
      var t1 = this._legendOverlayEntry;
      if (t1 != null)
        t1.remove$0(0);
      this._legendOverlayEntry = null;
    },
    build$1(context) {
      var t3, _this = this, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        t2 = _this.ProvidedControllerMixin__controller;
      t2.toString;
      t2.memorySourcePrefix = t1.size._dx > 950 ? "Source: " : "";
      t2 = A._setArrayType([B.MemorySourceDropdown_null, B.SizedBox_16_null_null_null], type$.JSArray_Widget);
      _this.ProvidedControllerMixin__controller.toString;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm;
      if ((t1 == null ? _null : t1.operatingSystem) !== "android") {
        t1 = _this.ProvidedControllerMixin__controller;
        if (t1.offline._change_notifier$_value) {
          t1 = t1.__MemoryController_memoryTimeline;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = B.JSArray_methods.get$first(t1.offline._change_notifier$_value ? t1.offlineData : t1.liveData).adbMemoryInfo.realtime > 0;
        } else
          t1 = false;
      } else
        t1 = true;
      if (t1)
        t2.push(new A.ToggleAdbMemoryButton(_this._widget.isAndroidCollection, _null));
      t2.push(B.SizedBox_8_null_null_null);
      t2.push(new A.ValueListenableBuilder(_this.ProvidedControllerMixin__controller._advancedSettingsEnabled, new A._SecondaryControlsState_build_closure(_this), _null, _null, type$.ValueListenableBuilder_bool));
      t2.push(A.ExportButton$(1100, _this.ProvidedControllerMixin__controller.offline._change_notifier$_value ? _null : _this.get$_exportToFile()));
      t2.push(B.SizedBox_8_null_null_null);
      t1 = $.$get$legendKey();
      t3 = _this.ProvidedControllerMixin__controller.get$toggleLegendVisibility();
      t2.push(A.IconLabelButton$(false, _this._legendOverlayEntry == null ? B.IconData_58889_MaterialIcons_false : B.IconData_57706_MaterialIcons_false, _null, t1, "Legend", 1100, t3, true, "Legend", _null));
      t2.push(B.SizedBox_8_null_null_null);
      t2.push(A.SettingsOutlinedButton$(_this.get$_openSettingsDialog(), _null));
      return A.Row$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
    },
    _openSettingsDialog$0() {
      var t1 = this._framework$_element;
      t1.toString;
      A.showDialog(true, new A._SecondaryControlsState__openSettingsDialog_closure(this), t1, type$.dynamic);
    },
    _exportToFile$0() {
      var liveData, pseudoData, jsonPayload, t2, outputPath, notificationsState,
        t1 = this.ProvidedControllerMixin__controller.__MemoryController_memoryLog;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      A.select("memory", "export", false, null);
      t1 = t1.controller.__MemoryController_memoryTimeline;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      liveData = t1.liveData;
      if (liveData.length === 0) {
        liveData.push(A.HeapSample$(Date.now(), 0, 0, 0, 0, false, new A.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0), new A.EventSample(-1, false, false, false, new A.AllocationAccumulator(false, false, false), null), new A.RasterCache(0, 0)));
        pseudoData = true;
      } else
        pseudoData = false;
      jsonPayload = A.SamplesMemoryJson_encodeList(liveData);
      t1 = $.$get$MemoryLog__fs();
      t2 = $.$get$_memoryLogFilename();
      t1.writeStringToFile$3$isMemory(t2, jsonPayload, true);
      if (pseudoData)
        B.JSArray_methods.clear$0(liveData);
      outputPath = ["LocalStorage", t2];
      t1 = this._framework$_element;
      t1.toString;
      notificationsState = A.Notifications_of(t1);
      if (notificationsState != null)
        notificationsState.push$1("Successfully exported file " + B.JSArray_methods.get$last(outputPath) + " to " + B.JSArray_methods.get$first(outputPath) + " directory");
    },
    _gc$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, e, t1, exception, $async$exception;
      var $async$_gc$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;
              A.select("memory", "gc", false, null);
              t1 = $async$self.ProvidedControllerMixin__controller.__MemoryController_memoryTimeline;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1._eventSamples.push(new A.EventSample(Date.now(), true, false, false, null, t1.get$extensionEvents()));
              $async$goto = 6;
              return A._asyncAwait($async$self.ProvidedControllerMixin__controller.gc$0(), $async$_gc$0);
            case 6:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              A.log("Unable to GC " + A.S(J.toString$0$(e)), B.LogLevel_2);
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_gc$0, $async$completer);
    }
  };
  A._SecondaryControlsState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._SecondaryControlsState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A._SecondaryControlsState_didChangeDependencies__closure0.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      if (t1.ProvidedControllerMixin__controller._legendVisibleNotifier._change_notifier$_value) {
        A.select("memory", "memoryLegend", false, null);
        t2 = t1._framework$_element;
        t2.toString;
        t1._showLegend$1(t2);
      } else
        t1._hideLegend$0();
    },
    $signature: 0
  };
  A._SecondaryControlsState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._SecondaryControlsState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._SecondaryControlsState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      if (t1.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value)
        A.select("memory", "androidChart", false, null);
      if (t1.ProvidedControllerMixin__controller._legendVisibleNotifier._change_notifier$_value) {
        t1._hideLegend$0();
        t2 = t1._framework$_element;
        t2.toString;
        t1._showLegend$1(t2);
      }
    },
    $signature: 0
  };
  A._SecondaryControlsState__showLegend_closure.prototype = {
    call$1(context) {
      var t5, t6, t7, t8, t9, _this = this, _null = null,
        t1 = _this.position,
        t2 = _this.box,
        t3 = t2._box$_size._dy,
        t4 = B.JSNumber_methods.roundToDouble$0(200 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = t2._box$_size._dx;
      t5 = _this.$this.ProvidedControllerMixin__controller._androidChartVisibleNotifier._change_notifier$_value ? B.JSNumber_methods.roundToDouble$0(323 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(200 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t6 = A.DevToolsColorScheme_get_defaultBackgroundColor(_this.colorScheme);
      t7 = A.Border_Border$all(B.MaterialColor_Map_JNHRl_4294961979, 1);
      t8 = A.BorderRadius$circular(10);
      t9 = B.JSNumber_methods.roundToDouble$0(200 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Positioned$(_null, A.Container$(_null, A.Column$(_this.legendRows, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, _null, _null, new A.BoxDecoration(t6, _null, t7, t8, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_0_5_5_8, _null, _null, t9), t5, _null, t1._dx - t4 + t2 - 20, _null, t1._dy + t3 + 7, _null);
    },
    $signature: 159
  };
  A._SecondaryControlsState_build_closure.prototype = {
    call$3(context, paused, _) {
      var _null = null,
        t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller;
      if (t2._advancedSettingsEnabled._change_notifier$_value)
        t1 = A.Row$(A._setArrayType([A.IconLabelButton$(false, B.IconData_57785_MaterialIcons_false, _null, _null, "GC", 1100, t2._gcing ? _null : t1.get$_gc(), true, _null, _null), B.SizedBox_8_null_null_null], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      else
        t1 = B.SizedBox_null_null_null_null;
      return t1;
    },
    $signature: 205
  };
  A._SecondaryControlsState__openSettingsDialog_closure.prototype = {
    call$1(context) {
      var t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toString;
      return new A.MemorySettingsDialog(t1, null);
    },
    $signature: 413
  };
  A.__SecondaryControlsState_State_ProvidedControllerMixin.prototype = {};
  A.__SecondaryControlsState_State_ProvidedControllerMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.MemorySettingsDialog.prototype = {
    build$1(context) {
      var t4, t5, t6, t7, _null = null,
        t1 = A.Theme_of(context).textTheme,
        t2 = A.Text$("Memory Settings", _null, _null, _null, _null, _null, t1.titleLarge, _null, _null, _null, _null),
        t3 = B.JSNumber_methods.roundToDouble$0(700 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t1 = t1.titleMedium;
      t4 = type$.JSArray_Widget;
      t5 = A.List_List$of(A._setArrayType([A.Text$("Android", _null, _null, _null, _null, _null, t1, _null, _null, _null, _null), B.PaddedDivider_wEo], t4), true, type$.Widget);
      t6 = this.controller;
      t7 = type$.ValueNotifier_nullable_bool;
      t5.push(A.Column$(A._setArrayType([A.CheckboxSetting$(_null, true, _null, _null, t7._as(t6._androidCollectionEnabled), _null, "Collect Android Memory Statistics using ADB", _null), A.CheckboxSetting$(_null, true, _null, _null, t7._as(t6._unitDisplayed), _null, "Display Data In Units (B, KB, MB, and GB)", _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1));
      t5.push(B.SizedBox_null_16_null_null);
      B.JSArray_methods.addAll$1(t5, A._setArrayType([A.Text$("General", _null, _null, _null, _null, _null, t1, _null, _null, _null, _null), B.PaddedDivider_wEo], t4));
      t5.push(A.CheckboxSetting$(_null, true, _null, _null, t7._as(t6._advancedSettingsEnabled), _null, "Enable advanced memory settings", _null));
      t5.push(A.CheckboxSetting$(_null, true, _null, _null, t7._as(t6._autoSnapshotEnabled), _null, "Automatically take snapshot when memory usage spikes", _null));
      t3 = A.Container$(_null, A.Column$(t5, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t4), t3, false, true, t2);
    }
  };
  A.SourceDropdownMenuItem.prototype = {};
  A.MemorySourceDropdown.prototype = {
    createState$0() {
      return new A._MemorySourceDropdownState(null, B._StateLifecycle_0);
    }
  };
  A._MemorySourceDropdownState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var files, t3, _this = this,
        t1 = A.Theme_of(context),
        t2 = _this.ProvidedControllerMixin__controller.__MemoryController_memoryLog;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      files = t2.offlineFiles$0();
      t2 = _this.ProvidedControllerMixin__controller.memorySourcePrefix;
      B.JSArray_methods.insert$2(files, 0, "Live Feed");
      t3 = A._arrayInstanceType(files)._eval$1("MappedListIterable<1,DropdownMenuItem<String>>");
      return A.RoundedDropDownButton$(true, A.List_List$of(new A.MappedListIterable(files, new A._MemorySourceDropdownState_build_closure(_this, t2 === "Source: "), t3), true, t3._eval$1("ListIterable.E")), B.ValueKey_pEq, new A._MemorySourceDropdownState_build_closure0(_this), t1.textTheme.bodyMedium, _this.ProvidedControllerMixin__controller._memorySourceNotifier._change_notifier$_value, type$.String);
    }
  };
  A._MemorySourceDropdownState_build_closure.prototype = {
    call$1(value) {
      var _null = null,
        displayValue = !this.isVerbose && B.JSString_methods.startsWith$1(value, "memory_log_") ? B.JSString_methods.substring$1(value, 11) : value;
      return new A.SourceDropdownMenuItem(value, A.Text$(A.S(this.$this.ProvidedControllerMixin__controller.memorySourcePrefix) + displayValue, B.ValueKey_Sources, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.AlignmentDirectional_m1_0, _null, type$.SourceDropdownMenuItem_String);
    },
    $signature: 414
  };
  A._MemorySourceDropdownState_build_closure0.prototype = {
    call$1(newValue) {
      var t1 = this.$this;
      t1.setState$1(new A._MemorySourceDropdownState_build__closure(t1, newValue));
    },
    $signature: 82
  };
  A._MemorySourceDropdownState_build__closure.prototype = {
    call$0() {
      var t1, t2;
      A.select("memory", "sourcesDropDown", false, null);
      t1 = this.$this.ProvidedControllerMixin__controller;
      t1.toString;
      t2 = this.newValue;
      t2.toString;
      t1._memorySourceNotifier.set$value(0, t2);
    },
    $signature: 0
  };
  A.__MemorySourceDropdownState_State_ProvidedControllerMixin.prototype = {};
  A.LeaksPane.prototype = {
    createState$0() {
      return new A._LeaksPaneState(B._StateLifecycle_0);
    }
  };
  A._LeaksPaneState.prototype = {
    build$1(context) {
      return A.Column$(B.List_7h5, B.CrossAxisAlignment_0, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.FilterConfig.prototype = {};
  A.FilteredLibraries.prototype = {
    isLibraryFiltered$1(libraryName) {
      var _s15_ = "package:flutter",
        t1 = this._filteredLibraries;
      if (!(B.JSArray_methods.contains$1(t1, "dart:") && B.JSString_methods.startsWith$1(libraryName, "dart:")))
        t1 = B.JSArray_methods.contains$1(t1, _s15_) && B.JSString_methods.startsWith$1(libraryName, _s15_) || B.JSArray_methods.contains$1(t1, libraryName);
      else
        t1 = true;
      return t1;
    }
  };
  A.ContinuesState.prototype = {
    toString$0(_) {
      return "ContinuesState." + this._core$_name;
    }
  };
  A.MemoryTimeline.prototype = {
    get$peekEventTimestamp() {
      var t1 = this._eventSamples,
        $event = B.JSArray_methods.get$isNotEmpty(t1) ? B.JSArray_methods.get$first(t1) : null;
      return $event != null ? $event.timestamp : -1;
    },
    pullEventSample$0() {
      var t1 = this._eventSamples,
        result = B.JSArray_methods.get$first(t1);
      B.JSArray_methods.removeAt$1(t1, 0);
      return result;
    },
    get$extensionEvents() {
      var t2, t3,
        t1 = this._extensionEvents;
      if (t1.length !== 0) {
        t2 = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
        t3 = A._setArrayType([], type$.JSArray_ExtensionEvent);
        B.JSArray_methods.addAll$1(t3, t2);
        B.JSArray_methods.clear$0(t1);
        return new A.ExtensionEvents(t3);
      }
      return null;
    },
    addExtensionEvent$4$customEventName(timestamp, eventKind, json, customEventName) {
      var extensionEvent = customEventName == null ? new A.ExtensionEvent(timestamp, eventKind, json, null) : new A.ExtensionEvent(timestamp, eventKind, json, customEventName);
      this._extensionEvents.push(extensionEvent);
    },
    addExtensionEvent$3(timestamp, eventKind, json) {
      return this.addExtensionEvent$4$customEventName(timestamp, eventKind, json, null);
    }
  };
  A.DashedLine.prototype = {
    paint$2(canvas, size) {
      var space, startX, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()),
        t1 = _this.__DashedLine__color;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      paint.set$color(0, t1);
      paint.set$strokeWidth(_this._dashHeight);
      for (t1 = _this._dashWidth, space = _this._dashSpace + t1, startX = 0; _this._totalWidth >= 0;) {
        canvas.drawLine$3(new A.Offset(startX, 0), new A.Offset(startX + t1, 0), paint);
        startX += space;
        _this._totalWidth -= space;
      }
    },
    shouldRepaint$1(oldDelegate) {
      return true;
    }
  };
  A.LibraryClass.prototype = {
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      t1 = J.getInterceptor$(other);
      if (t1.get$runtimeType(other) !== B.Type_LibraryClass_qph)
        return false;
      return this.libraryName === other.get$libraryName() && this.className === t1.get$className(other);
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.libraryName) ^ B.JSString_methods.get$hashCode(this.className);
    },
    get$libraryName() {
      return this.libraryName;
    },
    get$className(receiver) {
      return this.className;
    }
  };
  A.Predefined.prototype = {};
  A.NetworkController.prototype = {
    _processHttpProfileRequests$4$currentValues$httpRequests$outstandingRequestsMap$timelineMicrosOffset(currentValues, httpRequests, outstandingRequestsMap, timelineMicrosOffset) {
      var t1, t2, t3, t4, t5, wrapped, id, data, _null = null;
      for (t1 = J.get$iterator$ax(httpRequests), t2 = type$.void, t3 = type$.DartIOHttpRequestData; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        t5 = $._dartIoHttpRequestWrapperId;
        $._dartIoHttpRequestWrapperId = t5 + 1;
        wrapped = new A.DartIOHttpRequestData(t4, t5, timelineMicrosOffset, false, false);
        t5 = t4.response;
        t5 = t5 == null ? _null : t5.endTime != null;
        t5 = t5 === true;
        if (t5)
          wrapped.getFullRequestData$0();
        id = B.JSInt_methods.toString$0(t4.id);
        if (outstandingRequestsMap.containsKey$1(0, id)) {
          t4 = outstandingRequestsMap.$index(0, id);
          t4.toString;
          t4 = t4._request = wrapped._request;
          t5 = t4.request;
          t5 = t5 == null ? _null : t5.error != null;
          if (t5 === true)
            t4 = t4.endTime == null;
          else {
            t4 = t4.response;
            t4 = t4 == null ? _null : t4.endTime != null;
            t4 = t4 !== true;
          }
          if (!t4) {
            data = outstandingRequestsMap.remove$1(0, id);
            (data == null ? t3._as(data) : data).getFullRequestData$0().then$1$1(new A.NetworkController__processHttpProfileRequests_closure(this), t2);
          }
          continue;
        } else {
          t4 = wrapped._request;
          t5 = t4.request;
          t5 = t5 == null ? _null : t5.error != null;
          if (t5 === true)
            t4 = t4.endTime == null;
          else {
            t4 = t4.response;
            t4 = t4 == null ? _null : t4.endTime != null;
            t4 = t4 !== true;
          }
          if (t4)
            outstandingRequestsMap.putIfAbsent$2(0, id, new A.NetworkController__processHttpProfileRequests_closure0(wrapped));
          else
            wrapped.getFullRequestData$0().then$1$1(new A.NetworkController__processHttpProfileRequests_closure1(this), t2);
        }
        currentValues.push(wrapped);
      }
    },
    processNetworkTrafficHelper$6$currentValues$invalidRequests$outstandingRequestsMap(sockets, httpRequests, timelineMicrosOffset, currentValues, invalidRequests, outstandingRequestsMap) {
      var t1, t2, t3, webSocket, t4;
      if (!!currentValues.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeWhere"));
      B.JSArray_methods._removeWhere$2(currentValues, new A.NetworkController_processNetworkTrafficHelper_closure(), true);
      for (t1 = J.get$iterator$ax(sockets), t2 = this._selectedRequest; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        webSocket = new A.WebSocket(t3, timelineMicrosOffset, false, false);
        t4 = t2._change_notifier$_value;
        if (t4 instanceof A.WebSocket && t4._socket.id === t3.id)
          t2.set$value(0, webSocket);
        currentValues.push(webSocket);
      }
      httpRequests.toString;
      this._processHttpProfileRequests$4$currentValues$httpRequests$outstandingRequestsMap$timelineMicrosOffset(currentValues, httpRequests, outstandingRequestsMap, timelineMicrosOffset);
      return new A.NetworkRequests(currentValues, outstandingRequestsMap);
    },
    _updatePollingState$1(recording) {
      var t1, _this = this;
      if (recording) {
        if (_this._pollingTimer == null)
          _this._pollingTimer = A.Timer_Timer$periodic(B.Duration_2000000, new A.NetworkController__updatePollingState_closure(_this));
      } else {
        t1 = _this._pollingTimer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._pollingTimer = null;
      }
    },
    startRecording$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$startRecording$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.recordingHttpTraffic$0(), $async$startRecording$0);
            case 3:
              // returning from await.
              $async$goto = 2;
              return A._asyncAwait($async$self._startRecording$1$alreadyRecordingHttp($async$result), $async$startRecording$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$startRecording$0, $async$completer);
    },
    _startRecording$1$alreadyRecordingHttp(alreadyRecordingHttp) {
      return this._startRecording$body$NetworkController(alreadyRecordingHttp);
    },
    _startRecording$body$NetworkController(alreadyRecordingHttp) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, timestamp, t2;
      var $async$_startRecording$1$alreadyRecordingHttp = 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._updatePollingState$1(false);
              t1 = $async$self.__NetworkController__networkService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(t1.updateLastRefreshTime$1$alreadyRecordingHttp(alreadyRecordingHttp), $async$_startRecording$1$alreadyRecordingHttp);
            case 2:
              // returning from await.
              timestamp = $async$result;
              $async$self.__NetworkController__timelineMicrosOffset = 1000 * Date.now() - timestamp;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait(A.allowedError(t1.setVMTimelineFlags$1(A._setArrayType(["GC", "Dart", "Embedder"], type$.JSArray_String)), true), $async$_startRecording$1$alreadyRecordingHttp);
            case 3:
              // returning from await.
              t1 = A.HttpService_toggleHttpRequestLogging(true);
              t2 = $async$self.__NetworkController__networkService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 4;
              return A._asyncAwait(A.Future_wait(A._setArrayType([t1, t2.toggleSocketProfiling$1(true)], type$.JSArray_Future_void), type$.void), $async$_startRecording$1$alreadyRecordingHttp);
            case 4:
              // returning from await.
              $async$self._updatePollingState$1(true);
              $async$self._recordingNotifier.set$value(0, true);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_startRecording$1$alreadyRecordingHttp, $async$completer);
    },
    recordingHttpTraffic$0() {
      return this.recordingHttpTraffic$body$NetworkController();
    },
    recordingHttpTraffic$body$NetworkController() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, service, t1;
      var $async$recordingHttpTraffic$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 = {};
              t1.enabled = true;
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 3;
              return A._asyncAwait(service.forEachIsolate$1(new A.NetworkController_recordingHttpTraffic_closure(t1, service)), $async$recordingHttpTraffic$0);
            case 3:
              // returning from await.
              $async$returnValue = t1.enabled;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$recordingHttpTraffic$0, $async$completer);
    },
    clear$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$clear$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.__NetworkController__networkService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(t1.clearData$0(0), $async$clear$0);
            case 2:
              // returning from await.
              $async$self._requests.set$value(0, new A.NetworkRequests(B.List_empty29, B.Map_empty11));
              $async$self.FilterControllerMixin_activeFilter.set$value(0, null);
              $async$self._updateData$0();
              $async$self._network_controller$_updateSelection$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$clear$0, $async$completer);
    },
    _updateData$0() {
      this.filterData$1(this.FilterControllerMixin_activeFilter._change_notifier$_value);
      this.refreshSearchMatches$0();
    },
    _network_controller$_updateSelection$0() {
      var t2,
        t1 = this._selectedRequest,
        selected = t1._change_notifier$_value;
      if (selected != null) {
        t2 = this.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (!t2.contains$1(t2, selected))
          t1.set$value(0, null);
      }
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      var matches, caseInsensitiveSearch, t1, t2, t3, t4;
      if (search.length === 0)
        return A._setArrayType([], type$.JSArray_NetworkRequest);
      matches = A._setArrayType([], type$.JSArray_NetworkRequest);
      caseInsensitiveSearch = search.toLowerCase();
      t1 = this.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      for (t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.length, t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        t4 = t3.get$uri();
        if (A.stringContainsUnchecked(t4.toLowerCase(), caseInsensitiveSearch, 0))
          matches.push(t3);
      }
      return matches;
    },
    filterData$1(filter) {
      var queryFilter, t1, t2, t3, _this = this;
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("network");
      queryFilter = filter == null ? null : filter.queryFilter;
      t1 = _this.FilterControllerMixin_filteredData;
      t2 = _this._requests;
      t3 = t1.$ti;
      if (queryFilter == null) {
        B.JSArray_methods.forEach$1(t2._change_notifier$_value.requests, _this.get$_checkForError());
        t1._rawList = A._setArrayType([], t3._eval$1("JSArray<1>"));
        t1._listChanged$0();
        t2 = t2._change_notifier$_value.requests;
        B.JSArray_methods.addAll$1(t1._rawList, t2);
        t1._listChanged$0();
      } else {
        t1._rawList = A._setArrayType([], t3._eval$1("JSArray<1>"));
        t1._listChanged$0();
        t2 = t2._change_notifier$_value.requests;
        t3 = A._arrayInstanceType(t2)._eval$1("WhereIterable<1>");
        t3 = A.List_List$of(new A.WhereIterable(t2, new A.NetworkController_filterData_closure(_this, queryFilter), t3), true, t3._eval$1("Iterable.E"));
        B.JSArray_methods.addAll$1(t1._rawList, t3);
        t1._listChanged$0();
      }
      _this.FilterControllerMixin_activeFilter.set$value(0, filter);
    },
    _checkForError$1(r) {
      if (r.get$didFail())
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("network");
    }
  };
  A.NetworkController__processHttpProfileRequests_closure.prototype = {
    call$1(value) {
      return this.$this._updateData$0();
    },
    $signature: 86
  };
  A.NetworkController__processHttpProfileRequests_closure0.prototype = {
    call$0() {
      return this.wrapped;
    },
    $signature: 416
  };
  A.NetworkController__processHttpProfileRequests_closure1.prototype = {
    call$1(value) {
      return this.$this._updateData$0();
    },
    $signature: 86
  };
  A.NetworkController_processNetworkTrafficHelper_closure.prototype = {
    call$1(value) {
      return value instanceof A.WebSocket;
    },
    $signature: 346
  };
  A.NetworkController__updatePollingState_closure.prototype = {
    call$1(_) {
      var t1 = this.$this.__NetworkController__networkService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.refreshNetworkData$0();
    },
    $signature: 84
  };
  A.NetworkController_recordingHttpTraffic_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$NetworkController_recordingHttpTraffic_closure(isolate);
    },
    $call$body$NetworkController_recordingHttpTraffic_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, state, t1;
      var $async$call$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 = isolate.get$id(isolate);
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait(A.timeout($async$self.service.httpEnableTimelineLogging$1(t1), 500, type$.HttpTimelineLoggingState), $async$call$1);
            case 2:
              // returning from await.
              state = $async$result;
              if ((state == null ? null : state.enabled) !== true)
                $async$self._box_0.enabled = false;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.NetworkController_filterData_closure.prototype = {
    call$1(r) {
      var statusArg, t3, typeArg, _i, t4,
        t1 = this.queryFilter,
        t2 = t1.filterArguments,
        methodArg = t2.$index(0, "network-method-filter");
      if (methodArg != null && !methodArg.matchesValue$1(r.get$method(r).toLowerCase()))
        return false;
      statusArg = t2.$index(0, "network-status-filter");
      if (statusArg != null) {
        t3 = r.get$status(r);
        t3 = !statusArg.matchesValue$1(t3 == null ? null : t3.toLowerCase());
      } else
        t3 = false;
      if (t3)
        return false;
      typeArg = t2.$index(0, "network-type-filter");
      if (typeArg != null && !typeArg.matchesValue$1(r.get$type(r).toLowerCase()))
        return false;
      t1 = t1.substrings;
      t2 = t1.length;
      if (t2 !== 0) {
        for (t3 = this.$this, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          t4 = new A.NetworkController_filterData_closure_matches(t3, t1[_i].toLowerCase(), r);
          if (t4.call$1(r.get$uri()))
            return true;
          if (t4.call$1(r.get$method(r)))
            return true;
          if (t4.call$1(r.get$status(r)))
            return true;
          if (t4.call$1(r.get$type(r)))
            return true;
        }
        return false;
      }
      if (r.get$didFail())
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("network");
      return true;
    },
    $signature: 346
  };
  A.NetworkController_filterData_closure_matches.prototype = {
    call$1(stringToMatch) {
      if ((stringToMatch == null ? null : B.JSString_methods.contains$1(stringToMatch.toLowerCase(), this.caseInsensitiveSubstring)) === true) {
        if (this.r.get$didFail())
          $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("network");
        return true;
      }
      return false;
    },
    $signature: 155
  };
  A._NetworkController_Object_SearchControllerMixin.prototype = {};
  A._NetworkController_Object_SearchControllerMixin_FilterControllerMixin.prototype = {};
  A.NetworkRequest.prototype = {
    toString$0(_) {
      return this.get$method(this) + " " + this.get$uri();
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (other instanceof A.NetworkRequest)
        if (A.getRuntimeType(_this) === A.getRuntimeType(other))
          if (_this.get$startTimestamp().$eq(0, other.get$startTimestamp()))
            if (_this.get$method(_this) === other.get$method(other))
              if (_this.get$uri() === other.get$uri())
                if (_this.get$contentType(_this) == other.get$contentType(other))
                  if (_this.get$type(_this) === other.get$type(other))
                    if (_this.get$port(_this) == other.get$port(other))
                      if (_this.get$inProgress() === other.get$inProgress())
                        t1 = J.$eq$(_this.get$endTimestamp(), other.get$endTimestamp()) && J.$eq$(_this.get$duration(_this), other.get$duration(other)) && _this.get$status(_this) == other.get$status(other) && _this.get$didFail() === other.get$didFail();
                      else
                        t1 = true;
                    else
                      t1 = false;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$method(_this), _this.get$uri(), _this.get$contentType(_this), _this.get$type(_this), _this.get$port(_this), _this.get$startTimestamp(), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.WebSocket.prototype = {
    get$duration(_) {
      var t1 = this._socket,
        endTime = t1.endTime;
      if (endTime == null)
        return null;
      return A.Duration$(endTime - t1.startTime, 0);
    },
    get$startTimestamp() {
      return A.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + this._socket.startTime);
    },
    get$endTimestamp() {
      var endTime = this._socket.endTime;
      return endTime != null ? A.DateTime$fromMicrosecondsSinceEpoch(this._timelineMicrosBase + endTime) : null;
    },
    get$contentType(_) {
      return "websocket";
    },
    get$type(_) {
      return "ws";
    },
    get$uri() {
      return this._socket.address;
    },
    get$port(_) {
      return this._socket.port;
    },
    get$didFail() {
      return false;
    },
    get$method(_) {
      return "GET";
    },
    get$status(_) {
      return "101";
    },
    get$inProgress() {
      return false;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.WebSocket && this._socket.id === other._socket.id;
    },
    get$hashCode(_) {
      return this._socket.id;
    }
  };
  A.NetworkRequests.prototype = {};
  A._NetworkRequest_Object_DataSearchStateMixin.prototype = {};
  A.NetworkRequestInspector.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller._selectedRequest, new A.NetworkRequestInspector_build_closure(this), null, null, type$.ValueListenableBuilder_nullable_NetworkRequest);
    }
  };
  A.NetworkRequestInspector_build_closure.prototype = {
    call$3(context, data, _) {
      var t4, t5, _null = null,
        _s19_ = "requestInspectorTab",
        t1 = type$.JSArray_DevToolsTab,
        t2 = A._setArrayType([A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Overview", _null)], t1),
        t3 = data instanceof A.DartIOHttpRequestData;
      if (t3) {
        t1 = A._setArrayType([A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Headers", _null)], t1);
        if (data.get$requestBody() != null)
          t1.push(A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Request", _null));
        if (data.get$responseBody() != null)
          t1.push(A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Response", A.Row$(A._setArrayType([A.CopyToClipboardControl$(_null, new A.NetworkRequestInspector_build__closure(data))], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null)));
        if (data.get$requestCookies().length !== 0 || data.get$responseCookies().length !== 0)
          t1.push(A.DevToolsTab_DevToolsTab$create(_s19_, _null, "Cookies", _null));
        B.JSArray_methods.addAll$1(t2, t1);
      }
      t1 = A.Theme_of(context);
      if (data == null)
        t2 = A.Center$(A.Text$("No request selected", B.ValueKey_CJJ, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null), _null, _null, _null);
      else {
        t4 = type$.JSArray_Widget;
        t5 = A._setArrayType([new A.NetworkRequestOverviewView(data, _null)], t4);
        if (t3) {
          t3 = A._setArrayType([new A.HttpRequestHeadersView(data, _null)], t4);
          if (data.get$requestBody() != null)
            t3.push(new A.HttpRequestView(data, _null));
          if (data.get$responseBody() != null)
            t3.push(new A.HttpResponseView(data, _null));
          if (data.get$requestCookies().length !== 0 || data.get$responseCookies().length !== 0)
            t3.push(new A.HttpRequestCookiesView(data, _null));
          B.JSArray_methods.addAll$1(t5, t3);
        }
        t2 = A.AnalyticsTabbedView$("network", false, t5, t2, type$.dynamic);
      }
      return A.Card$(new A.RoundedOutlinedBorder(t2, _null), _null, t1.canvasColor, _null, B.EdgeInsets_0_0_0_0, _null);
    },
    $signature: 419
  };
  A.NetworkRequestInspector_build__closure.prototype = {
    call$0() {
      return this.data.get$responseBody();
    },
    $signature: 173
  };
  A.HttpRequestHeadersView.prototype = {
    build$1(context) {
      var t1 = this.data;
      return new A.LayoutBuilder(new A.HttpRequestHeadersView_build_closure(this, t1.get$general(), t1.get$responseHeaders(t1), t1.get$requestHeaders()), null);
    }
  };
  A.HttpRequestHeadersView_build_closure.prototype = {
    call$2(context, constraints) {
      var t3, t4, t5, t6, t7, t8, _null = null,
        t1 = type$.JSArray_Widget,
        t2 = A._setArrayType([], t1);
      for (t3 = this.general, t3 = t3.get$entries(t3), t3 = t3.get$iterator(t3), t4 = constraints.minWidth; t3.moveNext$0();) {
        t5 = t3.get$current(t3);
        t6 = t5.get$key(t5);
        t5 = J.toString$0$(t5.get$value(t5));
        t2.push(A.Container$(_null, new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_0, _null, B.VerticalDirection_1, _null, A._setArrayType([A.SelectableText$(t6 + ": ", _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null), new A.Expanded(1, B.FlexFit_0, A.SelectableText$(t5, _null, 1, _null, _null, _null), _null)], t1), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_30_0_0_15, _null, _null, t4));
      }
      t2 = A.ExpansionTile$(_null, t2, _null, _null, _null, true, B.ValueKey_General, _null, _null, A.Text$("General", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      t3 = A._setArrayType([], t1);
      t5 = this.responseHeaders;
      if (t5 != null)
        for (t5 = J.get$entries$x(t5), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
          t6 = t5.get$current(t5);
          t7 = t6.get$key(t6);
          t6 = J.toString$0$(t6.get$value(t6));
          t3.push(A.Container$(_null, new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_0, _null, B.VerticalDirection_1, _null, A._setArrayType([A.SelectableText$(t7 + ": ", _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null), new A.Expanded(1, B.FlexFit_0, A.SelectableText$(t6, _null, 1, _null, _null, _null), _null)], t1), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_30_0_0_15, _null, _null, t4));
        }
      t3 = A.ExpansionTile$(_null, t3, _null, _null, _null, true, B.ValueKey_QSK, _null, _null, A.Text$("Response Headers", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      t5 = A._setArrayType([], t1);
      t6 = this.requestHeaders;
      if (t6 != null)
        for (t6 = J.get$entries$x(t6._collection$_map), t6 = t6.get$iterator(t6); t6.moveNext$0();) {
          t7 = t6.get$current(t6);
          t8 = t7.get$key(t7);
          t7 = J.toString$0$(t7.get$value(t7));
          t5.push(A.Container$(_null, new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_0, _null, B.VerticalDirection_1, _null, A._setArrayType([A.SelectableText$(t8 + ": ", _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null), new A.Expanded(1, B.FlexFit_0, A.SelectableText$(t7, _null, 1, _null, _null, _null), _null)], t1), _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_30_0_0_15, _null, _null, t4));
        }
      return A.ListView$(A._setArrayType([t2, t3, A.ExpansionTile$(_null, t5, _null, _null, _null, true, B.ValueKey_A2Y, _null, _null, A.Text$("Request Headers", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null))], t1), _null, _null, _null, _null, _null, false);
    },
    $signature: 345
  };
  A.HttpRequestView.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.data.get$requestBody();
      t1.toString;
      return new A.Padding(B.EdgeInsets_8_8_8_8, A.SingleChildScrollView$(new A.JsonViewer(t1, _null), _null, B.DragStartBehavior_1, _null, _null, false, B.Axis_1), _null);
    }
  };
  A.HttpResponseView.prototype = {
    build$1(context) {
      var t3, child, _null = null,
        theme = A.Theme_of(context),
        t1 = this.data,
        contentType = t1.get$contentType(t1),
        t2 = t1.get$responseBody();
      t2.toString;
      t3 = contentType != null;
      if (t3 && B.JSString_methods.contains$1(contentType, "image"))
        child = new A.ImageResponseView(t1, _null);
      else
        child = t3 && B.JSString_methods.contains$1(contentType, "json") && t2.length !== 0 ? new A.JsonViewer(t2, _null) : A.Text$(t2, _null, _null, _null, _null, _null, theme.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono"), _null, _null, _null, _null);
      return new A.Padding(B.EdgeInsets_8_8_8_8, A.SingleChildScrollView$(child, _null, B.DragStartBehavior_1, _null, _null, false, B.Axis_1), _null);
    }
  };
  A.ImageResponseView.prototype = {
    build$1(context) {
      var t3, t4, t5, _this = this, _null = null,
        t1 = _this.data,
        t2 = t1.get$encodedResponse();
      t2.toString;
      t3 = A.decodeImage(t2);
      t3.toString;
      t4 = type$.JSArray_Widget;
      t5 = A.ExpansionTile$(_null, A._setArrayType([new A.Padding(B.EdgeInsets_8_8_8_8, A.Image$memory(t2, _null, _null), _null)], t4), _null, _null, _null, true, _null, _null, _null, A.Text$("Image Preview", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      t1 = _this._network_request_inspector_views$_buildRow$3(context, "Format", t1.get$type(t1));
      t2 = A.prettyPrintBytes(t2.byteLength, true, 0, 1, 1);
      t2.toString;
      return A.Column$(A._setArrayType([t5, A.ExpansionTile$(_null, A._setArrayType([t1, _this._network_request_inspector_views$_buildRow$3(context, "Size", t2), _this._network_request_inspector_views$_buildRow$3(context, "Dimensions", "" + t3.width + " x " + t3.height)], t4), _null, _null, _null, true, _null, _null, _null, A.Text$("Metadata", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null))], t4), B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _network_request_inspector_views$_buildRow$3(context, key, value) {
      var _null = null;
      return new A.Padding(B.EdgeInsets_30_0_0_15, A.Row$(A._setArrayType([A.SelectableText$(key + ": ", _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null), A.Expanded$(A.SelectableText$(value, _null, _null, _null, _null, _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null), _null);
    }
  };
  A.HttpRequestCookiesView.prototype = {
    _buildCookiesTable$6$requestCookies(context, title, cookies, constraints, key, requestCookies) {
      var t6, t7, i, t8, t9, t10, t11, t12, t13, t14, t15, _null = null, _s2_ = "--",
        _buildColumn = new A.HttpRequestCookiesView__buildCookiesTable__buildColumn(A.Theme_of(context)),
        t1 = requestCookies ? B.BoxConstraints_mlX : new A.BoxConstraints(constraints.minWidth, 1 / 0, 0, 1 / 0),
        t2 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = type$.JSArray_DataColumn,
        t4 = A._setArrayType([_buildColumn.call$1("Name"), _buildColumn.call$1("Value")], t3),
        t5 = !requestCookies;
      if (t5)
        B.JSArray_methods.addAll$1(t4, A._setArrayType([_buildColumn.call$1("Domain"), _buildColumn.call$1("Path"), _buildColumn.call$1("Expires / Max Age"), _buildColumn.call$2$numeric("Size", true), _buildColumn.call$1("HttpOnly"), _buildColumn.call$1("Secure")], t3));
      t3 = A._setArrayType([], type$.JSArray_DataRow);
      for (t6 = type$.ValueKey_nullable_int, t7 = type$.JSArray_DataCell, i = 0; i < cookies.length; ++i) {
        t8 = cookies[i];
        t9 = t8._http$_name;
        t9 = A.SelectableText$(t9 == null ? _s2_ : t9, _null, _null, _null, _null, _null);
        t10 = t8._http$_value;
        t9 = A._setArrayType([new A.DataCell(t9), new A.DataCell(A.SelectableText$(t10 == null ? _s2_ : t10, _null, _null, _null, _null, _null))], t7);
        if (t5) {
          t10 = t8.domain;
          t10 = A.SelectableText$(t10 == null ? _s2_ : t10, _null, _null, _null, _null, _null);
          t11 = t8.path;
          t11 = A.SelectableText$(t11 == null ? _s2_ : t11, _null, _null, _null, _null, _null);
          t12 = t8.expires;
          t12 = t12 == null ? _null : t12.toString$0(0);
          t12 = A.SelectableText$(t12 == null ? _s2_ : t12, _null, _null, _null, _null, _null);
          t13 = B.JSInt_methods.toString$0(t8._http$_value.length);
          t13 = A.SelectableText$(t13, _null, _null, _null, _null, _null);
          t14 = !t8.httpOnly ? B.IconData_57686_MaterialIcons_false : B.IconData_57706_MaterialIcons_false;
          t15 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
          t8 = !t8.secure ? B.IconData_57686_MaterialIcons_false : B.IconData_57706_MaterialIcons_false;
          B.JSArray_methods.addAll$1(t9, A._setArrayType([new A.DataCell(t10), new A.DataCell(t11), new A.DataCell(t12), new A.DataCell(t13), new A.DataCell(new A.Icon(t14, t15, _null, _null)), new A.DataCell(new A.Icon(t8, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null))], t7));
        }
        t3.push(new A.DataRow(new A.ValueKey(i, t6), t9));
      }
      return A.ExpansionTile$(_null, A._setArrayType([B.Divider_0_null_null_null, new A.Align(B.Alignment_m1_0, _null, _null, A.SingleChildScrollView$(new A.ConstrainedBox(t1, new A.DataTable(t4, t2, t3, A.DataTable__initOnlyTextColumn(t4), key), _null), _null, B.DragStartBehavior_1, _null, _null, false, B.Axis_0), _null)], type$.JSArray_Widget), _null, _null, _null, true, _null, _null, _null, A.Text$(title, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
    },
    _buildCookiesTable$5(context, title, cookies, constraints, key) {
      return this._buildCookiesTable$6$requestCookies(context, title, cookies, constraints, key, false);
    },
    build$1(context) {
      var t1 = this.data,
        requestCookies = t1.get$requestCookies();
      return new A.LayoutBuilder(new A.HttpRequestCookiesView_build_closure(this, t1.get$responseCookies(), requestCookies), null);
    }
  };
  A.HttpRequestCookiesView__buildCookiesTable__buildColumn.prototype = {
    call$2$numeric(title, numeric) {
      var _null = null;
      return new A.DataColumn(A.Expanded$(A.SelectableText$(title, _null, _null, _null, this.theme.textTheme.titleMedium, _null), 1), numeric);
    },
    call$1(title) {
      return this.call$2$numeric(title, false);
    },
    $signature: 421
  };
  A.HttpRequestCookiesView_build_closure.prototype = {
    call$2(context, constraints) {
      var _this = this, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Widget),
        t2 = _this.responseCookies;
      if (t2.length !== 0)
        t1.push(_this.$this._buildCookiesTable$5(context, "Response Cookies", t2, constraints, B.ValueKey_GRu));
      if (t2.length !== 0 && _this.requestCookies.length !== 0)
        t1.push(B.Padding_lAj2);
      t2 = _this.requestCookies;
      if (t2.length !== 0)
        t1.push(_this.$this._buildCookiesTable$6$requestCookies(context, "Request Cookies", t2, constraints, B.ValueKey_8xL, true));
      return A.ListView$(t1, _null, _null, _null, _null, _null, false);
    },
    $signature: 345
  };
  A.NetworkRequestOverviewView.prototype = {
    build$1(context) {
      var duration, lastReadTime, lastReadTimestamp, lastWriteTime, lastWriteTimestamp, _this = this, _null = null,
        _s9_ = "H:mm:ss.S",
        t1 = _this.data,
        t2 = _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(t1.get$uri(), _null, 1, _null, _null, _null), context, "Request uri"),
        t3 = _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(t1.get$method(t1), _null, 1, _null, _null, _null), context, "Method"),
        t4 = t1.get$status(t1),
        t5 = type$.JSArray_Widget;
      t4 = A._setArrayType([t2, B.SizedBox_null_16_null_null, t3, B.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(t4 == null ? "--" : t4, _null, 1, _null, _null, _null), context, "Status"), B.SizedBox_null_16_null_null], t5);
      if (t1.get$port(t1) != null)
        B.JSArray_methods.addAll$1(t4, A._setArrayType([_this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(A.S(t1.get$port(t1)), _null, 1, _null, _null, _null), context, "Port"), B.SizedBox_null_16_null_null], t5));
      if (t1.get$contentType(t1) != null) {
        t2 = t1.get$contentType(t1);
        B.JSArray_methods.addAll$1(t4, A._setArrayType([_this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(t2 == null ? "null" : t2, _null, 1, _null, _null, _null), context, "Content type"), B.SizedBox_null_16_null_null], t5));
      }
      t2 = A.List_List$of(t4, true, type$.Widget);
      t3 = t1 instanceof A.WebSocket;
      if (t3) {
        t4 = t1._socket;
        B.JSArray_methods.addAll$1(t2, A._setArrayType([_this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$("" + t4.id, _null, 1, _null, _null, _null), context, "Socket id"), B.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(t4.socketType, _null, 1, _null, _null, _null), context, "Socket type"), B.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$("" + t4.readBytes, _null, 1, _null, _null, _null), context, "Read bytes"), B.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$("" + t4.writeBytes, _null, 1, _null, _null, _null), context, "Write bytes"), B.SizedBox_null_16_null_null], t5));
      }
      t2.push(B.PaddedDivider_wEo);
      t4 = _this._network_request_inspector_views$_buildRow$3$child$context$title(t3 ? A.Container$(_null, _null, B.Clip_0, B.Color_4287148510, _null, _null, _null, 18, B.ValueKey_AKA, _null, _null, _null, _null, _null) : _this._buildHttpTimeGraph$1(context), context, "Timing");
      duration = t1.get$duration(t1);
      t4 = A._setArrayType([t4, B.SizedBox_null_8_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$("Duration: " + (duration != null ? A.msText(duration, 1) : "Pending"), _null, 1, _null, _null, _null), context, ""), B.SizedBox_null_16_null_null], t5);
      if (t3) {
        t3 = t1._socket;
        lastReadTime = t3.lastReadTime;
        lastReadTimestamp = lastReadTime != null ? A.DateTime$fromMicrosecondsSinceEpoch(t1._timelineMicrosBase + lastReadTime) : _null;
        lastWriteTime = t3.lastWriteTime;
        lastWriteTimestamp = lastWriteTime != null ? A.DateTime$fromMicrosecondsSinceEpoch(t1._timelineMicrosBase + lastWriteTime) : _null;
        t3 = _this._network_request_inspector_views$_buildRow$3$child$context$title(lastReadTimestamp != null ? A.SelectableText$(A.DateFormat$(_s9_, _null).format$1(0, lastReadTimestamp), _null, 1, _null, _null, _null) : A.SelectableText$("--", _null, 1, _null, _null, _null), context, "Last read time");
        t3 = A._setArrayType([t3, B.SizedBox_null_16_null_null, _this._network_request_inspector_views$_buildRow$3$child$context$title(lastWriteTimestamp != null ? A.SelectableText$(A.DateFormat$(_s9_, _null).format$1(0, lastWriteTimestamp), _null, 1, _null, _null, _null) : A.SelectableText$("--", _null, 1, _null, _null, _null), context, "Last write time")], t5);
      } else
        t3 = _this._buildHttpTimingRows$1(context);
      B.JSArray_methods.addAll$1(t4, t3);
      t4.push(B.SizedBox_null_16_null_null);
      t3 = t1.get$startTimestamp();
      t4.push(_this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(A.DateFormat$(_s9_, _null).format$1(0, t3), _null, 1, _null, _null, _null), context, "Start time"));
      t4.push(B.SizedBox_null_16_null_null);
      if (t1.get$endTimestamp() != null) {
        t1 = t1.get$endTimestamp();
        t1.toString;
        t1 = A.DateFormat$(_s9_, _null).format$1(0, t1);
      } else
        t1 = "Pending";
      t4.push(_this._network_request_inspector_views$_buildRow$3$child$context$title(A.SelectableText$(t1, _null, 1, _null, _null, _null), context, "End time"));
      B.JSArray_methods.addAll$1(t2, t4);
      return A.ListView$(t2, _null, _null, B.EdgeInsets_16_16_16_16, _null, _null, false);
    },
    _buildTimingRow$3(color, label, duration) {
      var _null = null,
        t1 = this.data,
        flex = B.JSNumber_methods.round$0(duration._duration / t1.get$duration(t1)._duration * 100);
      t1 = A.msText(duration, 1);
      return new A.Flexible(flex, B.FlexFit_1, A.DevToolsTooltip$(A.Container$(_null, _null, B.Clip_0, color, _null, _null, _null, 18, _null, _null, _null, _null, _null, _null), _null, _null, label + " - " + t1, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000), _null);
    },
    _buildHttpTimeGraph$1(context) {
      var _nextColor, timingWidgets, t1, t2, _i, instant, t3, t4, duration, _null = null, _box_0 = {},
        data = type$.DartIOHttpRequestData._as(this.data);
      if (data.get$duration(data) == null || data.get$instantEvents().length === 0)
        return A.Container$(_null, _null, B.Clip_0, B.Color_4281097642, _null, _null, _null, 18, B.ValueKey_JQR, _null, _null, _null, _null, _null);
      _box_0._colorIndex = 0;
      _nextColor = new A.NetworkRequestOverviewView__buildHttpTimeGraph__nextColor(_box_0);
      timingWidgets = A._setArrayType([], type$.JSArray_Widget);
      for (t1 = data.get$instantEvents(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        instant = t1[_i];
        t3 = instant._timeRange;
        t4 = t3._utils$_end;
        t4.toString;
        t3 = t3._utils$_start._duration;
        timingWidgets.push(this._buildTimingRow$3(_nextColor.call$0(), instant._http_request_data$_event.event, new A.Duration(t4._duration - t3)));
      }
      duration = A.Duration$(1000 * data.get$endTimestamp()._value - B.JSArray_methods.get$last(data.get$instantEvents())._http_request_data$_event.timestamp - data._timelineMicrosBase, 0);
      timingWidgets.push(this._buildTimingRow$3(_nextColor.call$0(), "Response", duration));
      return A.Row$(timingWidgets, B.CrossAxisAlignment_2, B.ValueKey_JQR, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    _buildHttpTimingRows$1(context) {
      var t2, t3, _i, instant, t4, timeRange, t5, t6, t7, _null = null,
        data = type$.DartIOHttpRequestData._as(this.data),
        t1 = type$.JSArray_Widget,
        result = A._setArrayType([], t1);
      for (t2 = data.get$instantEvents(), t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        instant = t2[_i];
        t4 = B.JSArray_methods.get$first(data.get$instantEvents())._timeRange._utils$_start;
        t4.toString;
        timeRange = instant._timeRange;
        t5 = instant._http_request_data$_event.event;
        t4 = t4._duration;
        t6 = B.JSNumber_methods.toStringAsFixed$1((timeRange._utils$_start._duration - t4) / 1000, 1);
        t4 = B.JSNumber_methods.toStringAsFixed$1((timeRange._utils$_end._duration - t4) / 1000, 1);
        t7 = timeRange._utils$_end;
        t7.toString;
        t7 = B.JSNumber_methods.toStringAsFixed$1((t7._duration - timeRange._utils$_start._duration) / 1000, 1);
        t4 = A.SelectableText$("[" + (t6 + " ms") + " - " + (t4 + " ms") + "] \u2192 " + (t7 + " ms") + " total", _null, 1, _null, _null, _null);
        t5 = t5.length === 0 ? "" : t5 + ": ";
        t4 = A._setArrayType([new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_0, _null, B.VerticalDirection_1, _null, A._setArrayType([A.Container$(_null, A.SelectableText$(t5, _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 110), new A.Expanded(1, B.FlexFit_0, t4, _null)], t1), _null)], t1);
        if (instant !== B.JSArray_methods.get$last(data.get$instantEvents()))
          t4.push(B.SizedBox_null_16_null_null);
        B.JSArray_methods.addAll$1(result, t4);
      }
      return result;
    },
    _network_request_inspector_views$_buildRow$3$child$context$title(child, context, title) {
      var _null = null,
        t1 = title.length === 0 ? "" : title + ": ";
      return A.Row$(A._setArrayType([A.Container$(_null, A.SelectableText$(t1, _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, 110), A.Expanded$(child, 1)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    }
  };
  A.NetworkRequestOverviewView__buildHttpTimeGraph__nextColor.prototype = {
    call$0() {
      var t1 = this._box_0,
        t2 = t1._colorIndex,
        color = B.List_itQ[B.JSInt_methods.$mod(t2, 3)];
      t1._colorIndex = t2 + 1;
      return color;
    },
    $signature: 422
  };
  A.NetworkScreen.prototype = {
    get$docPageId() {
      return this.screenId;
    },
    build$1(context) {
      return B.NetworkScreenBody_null;
    },
    buildStatus$1(context) {
      var networkController = A.Provider_of(context, true, type$.NetworkController),
        t1 = A.Theme_of(context).textTheme.bodyMedium.color;
      t1.toString;
      return new A.DualValueListenableBuilder(networkController._requests, networkController.FilterControllerMixin_filteredData, new A.NetworkScreen_buildStatus_closure(), new A.ValueListenableBuilder(networkController._recordingNotifier, new A.NetworkScreen_buildStatus_closure0(t1), null, null, type$.ValueListenableBuilder_bool), null, type$.DualValueListenableBuilder_of_NetworkRequests_and_List_NetworkRequest);
    }
  };
  A.NetworkScreen_buildStatus_closure.prototype = {
    call$4(context, networkRequests, filteredRequests, child) {
      var _null = null,
        filteredCount = J.get$length$asx(filteredRequests),
        totalCount = networkRequests.requests.length,
        t1 = $.$get$nf();
      t1 = A.Text$("Showing " + t1.format$1(0, filteredCount) + " of " + t1.format$1(0, totalCount) + " " + A.pluralize("request", totalCount, _null), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      child.toString;
      return A.Row$(A._setArrayType([t1, B.SizedBox_8_null_null_null, child], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
    },
    $signature: 423
  };
  A.NetworkScreen_buildStatus_closure0.prototype = {
    call$3(context, recording, _) {
      var t1 = B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.SizedBox$(recording ? new A.SmallCircularProgressIndicator(new A.AlwaysStoppedAnimation(this.color, type$.AlwaysStoppedAnimation_Color), null) : B.SizedBox_null_null_null_null, t2, t1);
    },
    $signature: 343
  };
  A.NetworkScreenBody.prototype = {
    createState$0() {
      return new A._NetworkScreenBodyState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._NetworkScreenBodyState.prototype = {
    initState$0() {
      this.super$State$initState();
      A.screen("network");
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      if (!this.initController$0())
        return;
      this.ProvidedControllerMixin__controller.startRecording$0();
    },
    dispose$0() {
      var t1 = this.ProvidedControllerMixin__controller;
      t1._updatePollingState$1(false);
      t1._recordingNotifier.set$value(0, false);
      this.super$__NetworkScreenBodyState_State_AutoDisposeMixin$dispose();
    },
    build$1(context) {
      var t1 = this.ProvidedControllerMixin__controller;
      t1.toString;
      return A.Column$(A._setArrayType([new A._NetworkProfilerControls(t1, null), B.SizedBox_null_6_null_null, A.Expanded$(new A._NetworkProfilerBody(t1, null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A._NetworkProfilerControls.prototype = {
    createState$0() {
      return new A._NetworkProfilerControlsState($, $, $, $, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._NetworkProfilerControlsState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      t1 = _this._widget.controller._recordingNotifier;
      _this._recording = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._NetworkProfilerControlsState_initState_closure(_this));
      t1 = _this._widget.controller._requests;
      _this.___NetworkProfilerControlsState__requests = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._NetworkProfilerControlsState_initState_closure0(_this));
      t1 = _this._widget.controller.FilterControllerMixin_filteredData;
      t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      _this.___NetworkProfilerControlsState__filteredRequests = t2;
      _this.addAutoDisposeListener$2(t1, new A._NetworkProfilerControlsState_initState_closure1(_this));
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        t1 = _this.___NetworkProfilerControlsState__filteredRequests;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$isEmpty(t1);
      t2 = _this._recording;
      t3 = A.PauseButton$(810, t2 ? new A._NetworkProfilerControlsState_build_closure(_this) : _null, "Pause recording network traffic");
      t4 = A.ResumeButton$(810, t2 ? _null : new A._NetworkProfilerControlsState_build_closure0(_this), "Resume recording network traffic");
      t5 = A.ClearButton$(810, new A._NetworkProfilerControlsState_build_closure1(_this), true);
      t6 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t6 = A.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(_this._widget.controller, !t1, $.$get$networkSearchFieldKey(), false, true), B.Clip_0, _null, _null, _null, _null, t6, _null, _null, _null, _null, _null, 400);
      t1 = _this.___NetworkProfilerControlsState__filteredRequests;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.length;
      t7 = _this.___NetworkProfilerControlsState__requests;
      if (t7 === $)
        A.throwUnnamedLateFieldNI();
      return A.Row$(A._setArrayType([t3, B.SizedBox_8_null_null_null, t4, B.SizedBox_8_null_null_null, t5, B.SizedBox_16_null_null_null, B.Expanded_EsU0, t6, B.SizedBox_8_null_null_null, new A.FilterButton(_this.get$_network_screen$_showFilterDialog(), t1 !== t7.requests.length, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    _network_screen$_showFilterDialog$0() {
      var t1 = this._framework$_element;
      t1.toString;
      A.showDialog(true, new A._NetworkProfilerControlsState__showFilterDialog_closure(this), t1, type$.dynamic);
    }
  };
  A._NetworkProfilerControlsState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._NetworkProfilerControlsState_initState__closure1(t1));
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_initState__closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._recording = t1._widget.controller._recordingNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_initState_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._NetworkProfilerControlsState_initState__closure0(t1));
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_initState__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.___NetworkProfilerControlsState__requests = t1._widget.controller._requests._change_notifier$_value;
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_initState_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._NetworkProfilerControlsState_initState__closure(t1));
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_initState__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.controller.FilterControllerMixin_filteredData.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.___NetworkProfilerControlsState__filteredRequests = t2;
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_build_closure.prototype = {
    call$0() {
      A.select("network", "pause", false, null);
      var t1 = this.$this._widget.controller;
      t1._updatePollingState$1(false);
      t1._recordingNotifier.set$value(0, false);
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_build_closure0.prototype = {
    call$0() {
      A.select("network", "resume", false, null);
      var t1 = this.$this._widget.controller;
      t1._updatePollingState$1(true);
      t1._recordingNotifier.set$value(0, true);
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState_build_closure1.prototype = {
    call$0() {
      A.select("network", "clear", false, null);
      this.$this._widget.controller.clear$0(0);
    },
    $signature: 0
  };
  A._NetworkProfilerControlsState__showFilterDialog_closure.prototype = {
    call$1(context) {
      var t1 = this.$this._widget.controller;
      return A.FilterDialog$(t1, null, true, null, t1.filterArgs, "Type a filter query to show or hide specific requests.\n\nAny text that is not paired with an available filter key below will be queried against all categories (method, uri, status, type).\n\nAvailable filters:\n    'method', 'm'       (e.g. 'm:get', '-m:put,patch')\n    'status', 's'           (e.g. 's:200', '-s:404')\n    'type', 't'               (e.g. 't:json', '-t:ws')\n\nExample queries:\n    'my-endpoint method:put,post -status:404 type:json'\n    'example.com -m:get s:200,201 t:htm,html,json'\n    'http s:404'\n    'POST'\n", null, type$.NetworkController, type$.NetworkRequest);
    },
    $signature: 425
  };
  A._NetworkProfilerBody.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.controller;
      return A.GestureDetector$(_null, A.Split$(B.Axis_0, A._setArrayType([new A.ValueListenableBuilder(t1.FilterControllerMixin_filteredData, new A._NetworkProfilerBody_build_closure(this), _null, _null, type$.ValueListenableBuilder_List_NetworkRequest), new A.NetworkRequestInspector(t1, _null)], type$.JSArray_Widget), B.List_O9m1, B.List_200_200, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._NetworkProfilerBody_build_closure0(context), _null, _null, _null, _null, _null, _null);
    }
  };
  A._NetworkProfilerBody_build_closure0.prototype = {
    call$0() {
      return A.FocusScope_of(this.context).unfocus$0();
    },
    $signature: 0
  };
  A._NetworkProfilerBody_build_closure.prototype = {
    call$3(context, filteredRequests, _) {
      var t1 = this.$this.controller;
      return new A.NetworkRequestsTable(t1, filteredRequests, t1.SearchControllerMixin__searchMatches, t1.SearchControllerMixin__activeSearchMatch, null);
    },
    $signature: 426
  };
  A.NetworkRequestsTable.prototype = {
    build$1(context) {
      var _this = this, _null = null;
      return new A.OutlineDecoration(A.FlatTable$(_this.activeSearchMatchNotifier, true, A._setArrayType([$.$get$NetworkRequestsTable_methodColumn(), $.$get$NetworkRequestsTable_addressColumn(), $.$get$NetworkRequestsTable_statusColumn(), $.$get$NetworkRequestsTable_typeColumn(), $.$get$NetworkRequestsTable_durationColumn(), $.$get$NetworkRequestsTable_timestampColumn(), $.$get$NetworkRequestsTable_actionsColumn()], type$.JSArray_ColumnData_nullable_NetworkRequest), _this.requests, _null, new A.NetworkRequestsTable_build_closure(), new A.NetworkRequestsTable_build_closure0(_this), _null, _this.searchMatchesNotifier, _null, _this.networkController._selectedRequest, $.$get$NetworkRequestsTable_timestampColumn(), B.SortDirection_0, type$.nullable_NetworkRequest), _null);
    }
  };
  A.NetworkRequestsTable_build_closure.prototype = {
    call$1(data) {
      return new A.ValueKey(data, type$.ValueKey_nullable_NetworkRequest);
    },
    $signature: 427
  };
  A.NetworkRequestsTable_build_closure0.prototype = {
    call$1(item) {
      this.$this.networkController._selectedRequest.set$value(0, item);
    },
    $signature: 428
  };
  A.UriColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.get$uri();
    },
    build$4$isRowSelected$onPressed(context, data, isRowSelected, onPressed) {
      return A.SelectableText$(this.getDisplayValue$1(data), 1, null, onPressed, B.TextStyle_u97, null);
    },
    $isColumnRenderer: 1
  };
  A.MethodColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.get$method(dataObject);
    }
  };
  A.ActionsColumn.prototype = {
    get$includeHeader() {
      return false;
    },
    getValue$1(dataObject) {
      return "";
    },
    _buildOptions$2(context, data) {
      var t3,
        t1 = type$.JSArray_PopupMenuItem_dynamic,
        t2 = A._setArrayType([], t1);
      if (data instanceof A.DartIOHttpRequestData) {
        t3 = type$.dynamic;
        B.JSArray_methods.addAll$1(t2, A._setArrayType([A.PopupMenuItem$(B.Text_4AN, new A.ActionsColumn__buildOptions_closure(data, context), null, t3), A.PopupMenuItem$(B.Text_3bx, new A.ActionsColumn__buildOptions_closure0(data, context), null, t3)], t1));
      }
      return t2;
    },
    build$4$isRowSelected$onPressed(context, data, isRowSelected, onPressed) {
      var options = this._buildOptions$2(context, data);
      if (options.length === 0 || !isRowSelected)
        return B.SizedBox_0_0_null_null;
      return A.PopupMenuButton$(null, true, B.Icon_Ulp0, null, new A.ActionsColumn_build_closure(options), B.Offset_0_0, null, B.EdgeInsets_4_0_4_0, 16, "", type$.dynamic);
    },
    $isColumnRenderer: 1
  };
  A.ActionsColumn__buildOptions_closure.prototype = {
    call$0() {
      A.copyToClipboard(this.data._request.uri.toString$0(0), "Copied the URL to the clipboard", this.context);
    },
    $signature: 0
  };
  A.ActionsColumn__buildOptions_closure0.prototype = {
    call$0() {
      var t3,
        t1 = this.data,
        t2 = A._setArrayType(["curl"], type$.JSArray_String);
      t2.push("--location");
      t2.push("--request");
      t2.push(t1._request.method);
      t3 = t1._request.uri.toString$0(0);
      t2.push("'" + A.stringReplaceAllUnchecked(t3, "'", "'\\''") + "'");
      B.JSArray_methods.addAll$1(t2, A.CurlCommand__headers(t1, true));
      B.JSArray_methods.addAll$1(t2, A.CurlCommand__body(t1, true));
      A.copyToClipboard(A.CurlCommand__buildCommandString(t2), "Copied the cURL command to the clipboard", this.context);
    },
    $signature: 0
  };
  A.ActionsColumn_build_closure.prototype = {
    call$1(context) {
      return this.options;
    },
    $signature: 429
  };
  A.StatusColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.get$status(dataObject);
    },
    getDisplayValue$1(dataObject) {
      return dataObject.get$status(dataObject) == null ? "--" : J.toString$0$(dataObject.get$status(dataObject));
    },
    build$4$isRowSelected$onPressed(context, data, isRowSelected, onPressed) {
      var _null = null,
        theme = A.Theme_of(context),
        t1 = data.get$status(data) == null ? "--" : J.toString$0$(data.get$status(data)),
        t2 = theme.textTheme.bodyMedium;
      return A.Text$(t1, _null, _null, _null, _null, _null, data.get$didFail() ? A.TextStyle$(_null, _null, t2.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null).copyWith$1$color(B.Color_4289675348) : A.TextStyle$(_null, _null, t2.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null);
    },
    $isColumnRenderer: 1
  };
  A.TypeColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.get$type(dataObject);
    },
    getDisplayValue$1(dataObject) {
      return dataObject.get$type(dataObject);
    }
  };
  A.DurationColumn.prototype = {
    getValue$1(dataObject) {
      var t1 = dataObject.get$duration(dataObject);
      return t1 == null ? null : B.JSInt_methods._tdivFast$1(t1._duration, 1000);
    },
    getDisplayValue$1(dataObject) {
      var t1 = dataObject.get$duration(dataObject),
        ms = t1 == null ? null : B.JSInt_methods._tdivFast$1(t1._duration, 1000);
      return ms == null ? "Pending" : A.msText(A.Duration$(0, ms), 0);
    }
  };
  A.TimestampColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.get$startTimestamp();
    },
    getDisplayValue$1(dataObject) {
      var t1 = dataObject.get$startTimestamp();
      return A.DateFormat$("H:mm:ss.S", null).format$1(0, t1);
    }
  };
  A.__NetworkProfilerControlsState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$__NetworkProfilerControlsState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.__NetworkScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__NetworkScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.NetworkService.prototype = {
    updateLastRefreshTime$1$alreadyRecordingHttp(alreadyRecordingHttp) {
      return this.updateLastRefreshTime$body$NetworkService(alreadyRecordingHttp);
    },
    updateLastRefreshTime$0() {
      return this.updateLastRefreshTime$1$alreadyRecordingHttp(false);
    },
    updateLastRefreshTime$body$NetworkService(alreadyRecordingHttp) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.int),
        $async$returnValue, $async$self = this, t1;
      var $async$updateLastRefreshTime$1$alreadyRecordingHttp = 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($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.getVMTimelineMicros$0(), $async$updateLastRefreshTime$1$alreadyRecordingHttp);
            case 3:
              // returning from await.
              t1 = $async$result.timestamp;
              t1.toString;
              if (!alreadyRecordingHttp)
                $async$self.networkController.lastRefreshMicros = t1;
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$updateLastRefreshTime$1$alreadyRecordingHttp, $async$completer);
    },
    refreshNetworkData$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, sockets, httpRequests, t2, t3;
      var $async$refreshNetworkData$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 ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.getVMTimelineMicros$0(), $async$refreshNetworkData$0);
            case 3:
              // returning from await.
              t1 = $async$result.timestamp;
              t1.toString;
              $async$goto = 4;
              return A._asyncAwait($async$self._refreshSockets$0(), $async$refreshNetworkData$0);
            case 4:
              // returning from await.
              sockets = $async$result;
              $async$goto = 5;
              return A._asyncAwait($async$self._refreshHttpProfile$0(), $async$refreshNetworkData$0);
            case 5:
              // returning from await.
              httpRequests = $async$result;
              t2 = $async$self.networkController;
              t2.lastRefreshMicros = t1;
              t1 = t2._requests;
              t3 = t2.__NetworkController__timelineMicrosOffset;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t1.set$value(0, t2.processNetworkTrafficHelper$6$currentValues$invalidRequests$outstandingRequestsMap(sockets, httpRequests, t3, A.List_List$from(t1._change_notifier$_value.requests, true, type$.NetworkRequest), A._setArrayType([], type$.JSArray_DartIOHttpRequestData), A.LinkedHashMap_LinkedHashMap$from(t1._change_notifier$_value.outstandingHttpRequests, type$.String, type$.DartIOHttpRequestData)));
              t2._updateData$0();
              t2._network_controller$_updateSelection$0();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$refreshNetworkData$0, $async$completer);
    },
    _refreshHttpProfile$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_HttpProfileRequest),
        $async$returnValue, $async$self = this, requests, service;
      var $async$_refreshHttpProfile$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
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              if (service == null) {
                $async$returnValue = A._setArrayType([], type$.JSArray_HttpProfileRequest);
                // goto return
                $async$goto = 1;
                break;
              }
              requests = A._setArrayType([], type$.JSArray_HttpProfileRequest);
              $async$goto = 3;
              return A._asyncAwait(service.forEachIsolate$1(new A.NetworkService__refreshHttpProfile_closure($async$self, service, requests)), $async$_refreshHttpProfile$0);
            case 3:
              // returning from await.
              $async$returnValue = requests;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_refreshHttpProfile$0, $async$completer);
    },
    _clearHttpProfile$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, service;
      var $async$_clearHttpProfile$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
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              if (service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(service.forEachIsolate$1(new A.NetworkService__clearHttpProfile_closure(service)), $async$_clearHttpProfile$0);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_clearHttpProfile$0, $async$completer);
    },
    _refreshSockets$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_SocketStatistic),
        $async$returnValue, sockets, service;
      var $async$_refreshSockets$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
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              if (service == null) {
                $async$returnValue = A._setArrayType([], type$.JSArray_SocketStatistic);
                // goto return
                $async$goto = 1;
                break;
              }
              sockets = A._setArrayType([], type$.JSArray_SocketStatistic);
              $async$goto = 3;
              return A._asyncAwait(service.forEachIsolate$1(new A.NetworkService__refreshSockets_closure(service, sockets)), $async$_refreshSockets$0);
            case 3:
              // returning from await.
              $async$returnValue = sockets;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_refreshSockets$0, $async$completer);
    },
    _clearSocketProfile$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, service;
      var $async$_clearSocketProfile$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
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              if (service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(service.forEachIsolate$1(new A.NetworkService__clearSocketProfile_closure(service)), $async$_clearSocketProfile$0);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_clearSocketProfile$0, $async$completer);
    },
    toggleSocketProfiling$1(state) {
      return this.toggleSocketProfiling$body$NetworkService(true);
    },
    toggleSocketProfiling$body$NetworkService(state) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, service;
      var $async$toggleSocketProfiling$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
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              if (service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(service.forEachIsolate$1(new A.NetworkService_toggleSocketProfiling_closure(service, true)), $async$toggleSocketProfiling$1);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$toggleSocketProfiling$1, $async$completer);
    },
    clearData$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clearData$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.updateLastRefreshTime$0(), $async$clearData$0);
            case 2:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self._clearSocketProfile$0(), $async$clearData$0);
            case 3:
              // returning from await.
              $async$goto = 4;
              return A._asyncAwait($async$self._clearHttpProfile$0(), $async$clearData$0);
            case 4:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearData$0, $async$completer);
    }
  };
  A.NetworkService__refreshHttpProfile_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$NetworkService__refreshHttpProfile_closure(isolate);
    },
    $call$body$NetworkService__refreshHttpProfile_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$call$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 = isolate.get$id(isolate);
              t1.toString;
              $async$temp1 = B.JSArray_methods;
              $async$temp2 = $async$self.requests;
              $async$goto = 2;
              return A._asyncAwait($async$self.service.getHttpProfile$2$updatedSince(t1, $async$self.$this.networkController.lastRefreshMicros), $async$call$1);
            case 2:
              // returning from await.
              $async$temp1.addAll$1($async$temp2, $async$result.requests);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.NetworkService__clearHttpProfile_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$NetworkService__clearHttpProfile_closure(isolate);
    },
    $call$body$NetworkService__clearHttpProfile_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$call$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 = isolate.get$id(isolate);
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait(A.timeout($async$self.service.clearHttpProfile$1(t1), 500, type$.Success), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.NetworkService__refreshSockets_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$NetworkService__refreshSockets_closure(isolate);
    },
    $call$body$NetworkService__refreshSockets_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$call$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 = isolate.get$id(isolate);
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait($async$self.service.getSocketProfile$1(t1), $async$call$1);
            case 2:
              // returning from await.
              t1 = $async$result.__SocketProfile_sockets;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              B.JSArray_methods.addAll$1($async$self.sockets, t1);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.NetworkService__clearSocketProfile_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$NetworkService__clearSocketProfile_closure(isolate);
    },
    $call$body$NetworkService__clearSocketProfile_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$call$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 = isolate.get$id(isolate);
              t1.toString;
              t2 = $async$self.service;
              $async$goto = 4;
              return A._asyncAwait(t2.isSocketProfilingAvailable$1(t1), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = $async$result ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.timeout(t2.clearSocketProfile$1(t1), 500, type$.Success), $async$call$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.NetworkService_toggleSocketProfiling_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$NetworkService_toggleSocketProfiling_closure(isolate);
    },
    $call$body$NetworkService_toggleSocketProfiling_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$call$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 = isolate.get$id(isolate);
              t1.toString;
              t2 = $async$self.service;
              $async$goto = 4;
              return A._asyncAwait(t2.isSocketProfilingAvailable$1(t1), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = $async$result ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(A.timeout(t2.socketProfilingEnabled$2(t1, $async$self.state), 500, type$.SocketProfilingState), $async$call$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.EnhanceTracingButton.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        textStyle = A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        t1 = $.$get$profileWidgetBuilds(),
        t2 = $.$get$profileUserWidgetBuilds(),
        t3 = A._setArrayType([t1, t2, $.$get$profileRenderObjectLayouts(), $.$get$profileRenderObjectPaints()], type$.JSArray_ToggleableServiceExtensionDescription_dynamic);
      t2 = A.LinkedHashMap_LinkedHashMap$_literal([t1.extension, B.TrackWidgetBuildsSetting_null, t2.extension, B.SizedBox_null_null_null_null], type$.String, type$.Widget);
      return A.ServiceExtensionCheckboxGroupButton$(t2, t3, B.IconData_57527_MaterialIcons_false, 1075, A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(A._setArrayType([A.TextSpan$(_null, _null, _null, textStyle.copyWith$1$color(theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4289017637 : B.Color_4292908944), "frame times may be negatively affected"), A.TextSpan$(_null, _null, _null, textStyle, ".\n\n"), A.TextSpan$(_null, _null, _null, textStyle, "When toggling on/off a tracing option, you will need to reproduce activity in your app to see the enhanced tracing in the timeline.")], type$.JSArray_InlineSpan), _null, _null, textStyle, "These options can be used to add more detail to the timeline, but be aware that "), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0), 700, "Enhance Tracing", "Add more detail to the Timeline trace");
    }
  };
  A.TrackWidgetBuildsScope.prototype = {
    toString$0(_) {
      return "TrackWidgetBuildsScope." + this._core$_name;
    }
  };
  A.TrackWidgetBuildsSetting.prototype = {
    createState$0() {
      var t1 = A.LinkedHashMap_LinkedHashMap$_literal([B.TrackWidgetBuildsScope_0, $.$get$profileWidgetBuilds(), B.TrackWidgetBuildsScope_1, $.$get$profileUserWidgetBuilds()], type$.TrackWidgetBuildsScope, type$.ToggleableServiceExtensionDescription_bool),
        t2 = $.$get$ChangeNotifier__emptyListeners(),
        t3 = type$.ValueNotifier_bool;
      return new A._TrackWidgetBuildsSettingState(t1, new A.ValueNotifier(null, t2, type$.ValueNotifier_nullable_TrackWidgetBuildsScope), new A.ValueNotifier(false, t2, t3), new A.ValueNotifier(false, t2, t3), A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._TrackWidgetBuildsSettingState.prototype = {
    initState$0() {
      var t1, t2, _i, type, t3, t4;
      this.super$State$initState();
      for (t1 = this._trackWidgetBuildsExtensions, t2 = type$.Null, _i = 0; _i < 2; ++_i) {
        type = B.List_4m9[_i];
        t3 = t1.$index(0, type);
        t3.toString;
        t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4.waitForServiceExtensionAvailable$1(t3.extension).then$1$1(new A._TrackWidgetBuildsSettingState_initState_closure(this, t3, type), t2);
      }
    },
    _updateForServiceExtensionState$2(newState, type) {
      return this._updateForServiceExtensionState$body$_TrackWidgetBuildsSettingState(newState, type);
    },
    _updateForServiceExtensionState$body$_TrackWidgetBuildsSettingState(newState, type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, otherState, trackAllWidgets, t1;
      var $async$_updateForServiceExtensionState$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              otherState = t1._serviceExtensionState$1(A.TrackWidgetBuildsScopeExtension_get_extensionForScope(A.TrackWidgetBuildsScopeExtension_get_opposite(type)).extension)._change_notifier$_value.enabled;
              trackAllWidgets = type === B.TrackWidgetBuildsScope_0 ? newState.enabled : otherState;
              $async$goto = 2;
              return A._asyncAwait($async$self._updateTracking$2$trackAllWidgets$trackUserWidgets(trackAllWidgets, type === B.TrackWidgetBuildsScope_1 ? newState.enabled : otherState), $async$_updateForServiceExtensionState$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_updateForServiceExtensionState$2, $async$completer);
    },
    _updateTracking$2$trackAllWidgets$trackUserWidgets(trackAllWidgets, trackUserWidgets) {
      return this._updateTracking$body$_TrackWidgetBuildsSettingState(trackAllWidgets, trackUserWidgets);
    },
    _updateTracking$body$_TrackWidgetBuildsSettingState(trackAllWidgets, trackUserWidgets) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$_updateTracking$2$trackAllWidgets$trackUserWidgets = 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 = trackUserWidgets && trackAllWidgets ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = $.$get$profileWidgetBuilds();
              $async$goto = 4;
              return A._asyncAwait(t1.setServiceExtensionState$3$enabled$value(t2.extension, false, t2.values[1]), $async$_updateTracking$2$trackAllWidgets$trackUserWidgets);
            case 4:
              // returning from await.
              trackAllWidgets = false;
            case 3:
              // join
              t1 = $async$self._tracked;
              t1.set$value(0, trackUserWidgets || trackAllWidgets);
              t2 = $async$self._selectedScope;
              if (t1._change_notifier$_value)
                t2.set$value(0, trackUserWidgets ? B.TrackWidgetBuildsScope_1 : B.TrackWidgetBuildsScope_0);
              else
                t2.set$value(0, null);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_updateTracking$2$trackAllWidgets$trackUserWidgets, $async$completer);
    },
    build$1(context) {
      var _this = this, _null = null;
      return A.Column$(A._setArrayType([new A.ValueListenableBuilder(_this._trackingAvailable, new A._TrackWidgetBuildsSettingState_build_closure(_this), _null, _null, type$.ValueListenableBuilder_bool), new A.DualValueListenableBuilder(_this._tracked, _this._selectedScope, new A._TrackWidgetBuildsSettingState_build_closure0(), _null, _null, type$.DualValueListenableBuilder_of_bool_and_nullable_TrackWidgetBuildsScope)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A._TrackWidgetBuildsSettingState_initState_closure.prototype = {
    call$1(isServiceAvailable) {
      var t1, t2, state;
      if (isServiceAvailable) {
        t1 = this.$this;
        t1._trackingAvailable.set$value(0, true);
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        state = t2._serviceExtensionState$1(this.extension.extension);
        t2 = this.type;
        t1._updateForServiceExtensionState$2(state._change_notifier$_value, t2);
        t1.addAutoDisposeListener$2(state, new A._TrackWidgetBuildsSettingState_initState__closure(t1, state, t2));
      }
    },
    $signature: 85
  };
  A._TrackWidgetBuildsSettingState_initState__closure.prototype = {
    call$0() {
      this.$this._updateForServiceExtensionState$2(this.state._change_notifier$_value, this.type);
    },
    $signature: 0
  };
  A._TrackWidgetBuildsSettingState_build_closure.prototype = {
    call$3(context, trackingAvailable, _) {
      return new A.TrackWidgetBuildsCheckbox(this.$this._tracked, trackingAvailable, null);
    },
    $signature: 430
  };
  A._TrackWidgetBuildsSettingState_build_closure0.prototype = {
    call$4(context, tracked, selectedScope, _) {
      return new A.Padding(B.EdgeInsets_32_0_0_0, new A.TrackWidgetBuildsScopeSelector(selectedScope, tracked, null), null);
    },
    $signature: 431
  };
  A.TrackWidgetBuildsCheckbox.prototype = {
    build$1(context) {
      var _null = null,
        extension = $.$get$profileWidgetBuilds(),
        docsUrl = extension.documentationUrl,
        t1 = extension.title,
        t2 = extension.description,
        t3 = extension.tooltip,
        t4 = extension.gaScreenName;
      t3 = A._setArrayType([A.Expanded$(A.CheckboxSetting$(t2, this.enabled, extension.gaItem, t4, this.trackingNotifier, this.get$_checkboxChanged(), t1, t3), 1)], type$.JSArray_Widget);
      if (docsUrl != null) {
        t4.toString;
        t1 = extension.gaDocsItem;
        t1.toString;
        t3.push(new A.MoreInfoLink(docsUrl, t4, t1, B.EdgeInsets_0_8_0_8, _null));
      }
      return A.Row$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    _checkboxChanged$1(value) {
      return this._checkboxChanged$body$TrackWidgetBuildsCheckbox(value);
    },
    _checkboxChanged$body$TrackWidgetBuildsCheckbox(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        extension, t2, t3, t4, t5, t1, trackingExtensions;
      var $async$_checkboxChanged$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 = type$.MappedListIterable_of_TrackWidgetBuildsScope_and_ToggleableServiceExtensionDescription_bool;
              trackingExtensions = new A.MappedListIterable(B.List_4m9, new A.TrackWidgetBuildsCheckbox__checkboxChanged_closure(), t1);
              $async$goto = value === true ? 2 : 4;
              break;
            case 2:
              // then
              extension = $.$get$profileUserWidgetBuilds();
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.setServiceExtensionState$3$enabled$value(extension.extension, true, extension.values[0]), $async$_checkboxChanged$1);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              t2 = A._setArrayType([], type$.JSArray_Future_void);
              for (t3 = new A.ListIterator(trackingExtensions, trackingExtensions.get$length(trackingExtensions), t1._eval$1("ListIterator<ListIterable.E>")), t1 = t1._eval$1("ListIterable.E"); t3.moveNext$0();) {
                t4 = t3.__internal$_current;
                if (t4 == null)
                  t4 = t1._as(t4);
                t5 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
                if (t5 === $)
                  A.throwUnnamedLateFieldNI();
                t2.push(t5.setServiceExtensionState$3$enabled$value(t4.extension, false, t4.values[1]));
              }
              $async$goto = 6;
              return A._asyncAwait(A.Future_wait(t2, type$.void), $async$_checkboxChanged$1);
            case 6:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_checkboxChanged$1, $async$completer);
    }
  };
  A.TrackWidgetBuildsCheckbox__checkboxChanged_closure.prototype = {
    call$1(scope) {
      return A.TrackWidgetBuildsScopeExtension_get_extensionForScope(scope);
    },
    $signature: 432
  };
  A.TrackWidgetBuildsScopeSelector.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        textStyle = this.enabled ? A.TextStyle$(_null, _null, theme.textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        t1 = A.List_List$of(this._scopeSetting$2$textStyle(B.TrackWidgetBuildsScope_1, textStyle), true, type$.Widget);
      t1.push(B.SizedBox_16_null_null_null);
      B.JSArray_methods.addAll$1(t1, this._scopeSetting$2$textStyle(B.TrackWidgetBuildsScope_0, textStyle));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    _scopeSetting$2$textStyle(type, textStyle) {
      var _null = null,
        t1 = this.enabled ? this.get$_changeScope() : _null;
      return A._setArrayType([new A.Radio(type, this.scope, t1, B.MaterialTapTargetSize_1, _null, type$.Radio_TrackWidgetBuildsScope), A.Text$(A.TrackWidgetBuildsScopeExtension_get_radioDisplay(type), _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null)], type$.JSArray_Widget);
    },
    _changeScope$1(type) {
      return this._changeScope$body$TrackWidgetBuildsScopeSelector(type);
    },
    _changeScope$body$TrackWidgetBuildsScopeSelector(type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        extension, opposite, t1, t2;
      var $async$_changeScope$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
              type.toString;
              extension = A.TrackWidgetBuildsScopeExtension_get_extensionForScope(type);
              opposite = A.TrackWidgetBuildsScopeExtension_get_extensionForScope(A.TrackWidgetBuildsScopeExtension_get_opposite(type));
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1.setServiceExtensionState$3$enabled$value(opposite.extension, false, opposite.values[1]);
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(A.Future_wait(A._setArrayType([t1, t2.setServiceExtensionState$3$enabled$value(extension.extension, true, extension.values[0])], type$.JSArray_Future_void), type$.void), $async$_changeScope$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_changeScope$1, $async$completer);
    }
  };
  A.__TrackWidgetBuildsSettingState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.EventDetails.prototype = {
    build$1(context) {
      var _null = null,
        controller = A.Provider_of(context, true, type$.PerformanceController),
        theme = A.Theme_of(context),
        t1 = A.AreaPaneHeader$(B.List_empty17, 1, true, false, false, 4, A.Text$(this._generateHeaderText$0(), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      return new A.OutlineDecoration(A.Column$(A._setArrayType([t1, A.Expanded$(this.selectedEvent != null ? new A.ValueListenableBuilder($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode, new A.EventDetails_build_closure(this, controller), _null, _null, type$.ValueListenableBuilder_bool) : A.Center$(A.Text$("Select an event from the Timeline to view details", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), _null, _null, _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    },
    _generateHeaderText$0() {
      var t2, t3, t4,
        t1 = this.selectedEvent;
      if (t1 == null)
        return "[No event selected]";
      t2 = t1.type === B.TimelineEventType_0 ? "CPU Profile: " : "";
      t3 = B.JSArray_methods.get$first(t1.traceEvents).event;
      t1 = t1.time;
      t4 = t1._utils$_end;
      t4.toString;
      return t2 + A.S(t3.name) + " (" + A.msText(new A.Duration(t4._duration - t1._utils$_start._duration), 1) + ")";
    },
    _buildDetails$2(controller, offlineMode) {
      var t1,
        selected = this.selectedEvent;
      if (selected.type === B.TimelineEventType_0) {
        if (offlineMode)
          return this._buildCpuProfiler$1(controller.cpuProfilerController);
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager.flag$1("profiler");
        t1.toString;
        return new A.ValueListenableBuilder(t1, new A.EventDetails__buildDetails_closure(this, controller), null, null, type$.ValueListenableBuilder_Flag);
      }
      return A.EventSummary$(selected);
    },
    _buildCpuProfiler$1(cpuProfilerController) {
      return new A.ValueListenableBuilder(cpuProfilerController._dataNotifier, new A.EventDetails__buildCpuProfiler_closure(this, cpuProfilerController), this._buildProcessingInfo$1(cpuProfilerController), null, type$.ValueListenableBuilder_nullable_CpuProfileData);
    },
    _buildProcessingInfo$1(cpuProfilerController) {
      return new A.ValueListenableBuilder(cpuProfilerController.transformer._progressNotifier, new A.EventDetails__buildProcessingInfo_closure(), null, null, type$.ValueListenableBuilder_double);
    }
  };
  A.EventDetails_build_closure.prototype = {
    call$3(context, offline, _) {
      return this.$this._buildDetails$2(this.controller, offline);
    },
    $signature: 99
  };
  A.EventDetails__buildDetails_closure.prototype = {
    call$3(context, profilerFlag, _) {
      var t1 = this.controller.cpuProfilerController;
      return profilerFlag.valueAsString === "true" ? this.$this._buildCpuProfiler$1(t1) : new A.CpuProfilerDisabled(t1, null);
    },
    $signature: 341
  };
  A.EventDetails__buildCpuProfiler_closure.prototype = {
    call$3(context, cpuProfileData, child) {
      var t1;
      if (cpuProfileData == null) {
        child.toString;
        return child;
      }
      t1 = this.$this.selectedEvent;
      t1.toString;
      return A.CpuProfiler$(this.cpuProfilerController, cpuProfileData, null, A.EventSummary$(t1));
    },
    $signature: 339
  };
  A.EventDetails__buildProcessingInfo_closure.prototype = {
    call$3(context, progress, _) {
      return new A.ProcessingInfo(progress, "CPU samples", null);
    },
    $signature: 436
  };
  A.EventSummary.prototype = {
    build$1(context) {
      var t4, t5, t6, asyncId, _this = this, _null = null,
        t1 = _this.event,
        t2 = t1.time,
        t3 = t2._utils$_end;
      t3.toString;
      t2 = A.msText(new A.Duration(t3._duration - t2._utils$_start._duration), 1);
      t3 = t1.time;
      t4 = t3._utils$_start._duration;
      t3 = t3._utils$_end._duration;
      t5 = A.Theme_of(context);
      t5 = A.SelectableText$("[" + t4 + " \u03bcs \u2014  " + t3 + " \u03bcs]", _null, _null, _null, t5.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(t5.unselectedWidgetColor), _null);
      t3 = t1.traceEvents;
      t4 = type$.JSArray_Widget;
      t6 = A._setArrayType([new A.Flexible(1, B.FlexFit_0, new A.EventMetaData("Category", A.S(B.JSArray_methods.get$first(t3).event.category), _null, _null), _null)], t4);
      if (t1.type === B.TimelineEventType_2) {
        asyncId = A._Cell$named("asyncId");
        if (t1 instanceof A.OfflineTimelineEvent)
          asyncId.set$finalLocalValue(J.$index$asx(B.JSArray_methods.get$first(t3).event.json, "id"));
        else {
          type$.AsyncTimelineEvent._as(t1);
          t1 = J.$index$asx(B.JSArray_methods.get$first(t3).event.json, "id");
          t1.toString;
          asyncId.set$finalLocalValue(t1);
        }
        t6.push(new A.Flexible(1, B.FlexFit_0, new A.EventMetaData("Async id", asyncId._readLocal$0(), _null, _null), _null));
      }
      t6.push(new A.Flexible(1, B.FlexFit_0, new A.EventMetaData("Thread id", A.S(B.JSArray_methods.get$first(t3).event.threadId), _null, _null), _null));
      t6.push(new A.Flexible(1, B.FlexFit_0, new A.EventMetaData("Process id", A.S(B.JSArray_methods.get$first(t3).event.processId), _null, _null), _null));
      t1 = A._setArrayType([new A.Padding(B.EdgeInsets_16_0_16_0, new A.EventMetaData("Time", t2, t5, _null), _null), new A.Padding(B.EdgeInsets_16_0_16_0, A.Row$(t6, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null)], t4);
      if (_this._connectedEvents.length !== 0)
        t1.push(_this._buildConnectedEvents$1(context));
      t2 = _this._eventArgs;
      if (t2._length !== 0)
        t1.push(new A.ExpandingEventMetaData("Arguments", A._setArrayType([new A.FormattedJson(t2, true, _null)], t4), _null));
      return A.ListView$(t1, _null, _null, B.EdgeInsets_0_8_0_8, _null, _null, false);
    },
    _buildConnectedEvents$1(context) {
      var t2, t3, t4, t5, t6, _i, e, t7, t8, eventArgs, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Widget);
      for (t2 = this._connectedEvents, t3 = t2.length, t4 = type$.String, t5 = type$.nullable_Object, t6 = this.event, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        e = t2[_i];
        t7 = e.time._utils$_start;
        t7.toString;
        t7 = B.JSNumber_methods.toStringAsFixed$1((t7._duration - t6.time._utils$_start._duration) / 1000, 1);
        t8 = e.traceEvents;
        eventArgs = A.LinkedHashMap_LinkedHashMap$_literal(["startTime", t7 + " ms", "args", B.JSArray_methods.get$first(t8).event.args], t4, t5);
        t8 = B.JSArray_methods.get$first(t8).event.name;
        t7 = t8 == null ? "" : t8;
        t1.push(new A.EventMetaData(t7, _null, new A.FormattedJson(eventArgs, true, _null), _null));
      }
      return new A.ExpandingEventMetaData("Connected events", t1, _null);
    }
  };
  A.EventSummary_closure.prototype = {
    call$1(e) {
      return B.JSArray_methods.get$first(e.traceEvents).event.phase === "n";
    },
    $signature: 338
  };
  A.EventMetaData.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        t1 = this.inlineValue,
        t2 = t1 != null,
        t3 = t2 ? ":  " : "",
        t4 = theme.textTheme,
        t5 = A._setArrayType([], type$.JSArray_InlineSpan);
      if (t2)
        t5.push(A.TextSpan$(_null, _null, _null, t4.bodyMedium.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(theme.unselectedWidgetColor), t1));
      t1 = type$.JSArray_Widget;
      t3 = A._setArrayType([A.SelectableText$rich(A.TextSpan$(t5, _null, _null, t4.titleSmall, this.title + t3), _null, _null, _null, _null, _null, _null, _null)], t1);
      t2 = this.child;
      if (t2 != null)
        B.JSArray_methods.addAll$1(t3, A._setArrayType([B.SizedBox_null_4_null_null, t2], t1));
      return new A.Padding(B.EdgeInsets_0_8_0_8, A.Column$(t3, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null);
    }
  };
  A.ExpandingEventMetaData.prototype = {
    build$1(context) {
      var _null = null;
      return A.ExpansionTile$(_null, this.children, B.EdgeInsets_16_0_16_0, _null, B.Alignment_m1_m1, false, _null, _null, _null, A.Text$(this.title, _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleSmall, _null, _null, _null, _null));
    }
  };
  A.FlutterFramesChart.prototype = {
    createState$0() {
      return new A._FlutterFramesChartState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._FlutterFramesChartState.prototype = {
    get$_msPerPx() {
      return 1 / this._widget.displayRefreshRate * 1000 * 2 / B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.LinkedScrollControllerGroup$();
      if (_this.___FlutterFramesChartState__linkedScrollControllerGroup !== $)
        A.throwUnnamedLateFieldAI();
      _this.___FlutterFramesChartState__linkedScrollControllerGroup = t1;
      t1 = t1.addAndGet$0();
      if (_this.___FlutterFramesChartState__framesScrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___FlutterFramesChartState__framesScrollController = t1;
      t1 = _this.___FlutterFramesChartState__linkedScrollControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.addAndGet$0();
      if (_this.___FlutterFramesChartState__frameNumbersScrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___FlutterFramesChartState__frameNumbersScrollController = t1;
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      t1 = _this.ProvidedControllerMixin__controller._selectedFrameNotifier;
      _this._flutter_frames_chart$_selectedFrame = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._FlutterFramesChartState_didChangeDependencies_closure(_this));
      _this._maybeShowShaderJankMessage$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, pos, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this.___FlutterFramesChartState__linkedScrollControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      if (!t1.get$isEmpty(t1)) {
        t1 = _this.___FlutterFramesChartState__linkedScrollControllerGroup;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.get$_attachedControllers();
        t1 = t1.get$first(t1);
        t2 = J.getInterceptor$x(t1);
        pos = type$._LinkedScrollPosition._as(A.ScrollController.prototype.get$position.call(t2, t1));
        t1 = pos._pixels;
        t1.toString;
        t2 = pos._maxScrollExtent;
        t2.toString;
        t2 = t1 === t2;
        t1 = t2;
      } else
        t1 = false;
      if (t1) {
        t1 = _this.___FlutterFramesChartState__linkedScrollControllerGroup;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        A.LinkedScrollControllerGroupExtension_autoScrollToBottom(t1);
      }
      if (!A.collectionEquals(oldWidget.frames, _this._widget.frames))
        _this._maybeShowShaderJankMessage$0();
    },
    _maybeShowShaderJankMessage$0() {
      var shaderJankDuration, t2, t3, t4, t5, t6, _this = this, _null = null,
        t1 = J.where$1$ax(_this._widget.frames, new A._FlutterFramesChartState__maybeShowShaderJankMessage_closure(_this)),
        shaderJankFrames = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E"));
      if (shaderJankFrames.length !== 0) {
        shaderJankDuration = B.JSArray_methods.fold$2(shaderJankFrames, B.Duration_0, new A._FlutterFramesChartState__maybeShowShaderJankMessage_closure0());
        t1 = _this._framework$_element;
        t1.toString;
        t1 = A.Provider_of(t1, true, type$.BannerMessagesController);
        t2 = $.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value ? "simple" : "performance";
        t3 = shaderJankFrames.length;
        t4 = _this._framework$_element;
        t4.toString;
        t5 = A.pluralize("frame", t3, _null);
        t6 = A.msText(shaderJankDuration, 1);
        t6 = A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_4294967295, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Shader compilation jank detected. " + t3 + " " + t5 + " janked with a total of " + t6 + " spent in shader compilation.\n\nTo pre-compile shaders, see the instructions at ");
        A.Theme_of(t4);
        t1.addMessage$1(A._BannerError$(new A.ValueKey("ShaderJankMessage - " + t2, type$.ValueKey_String), t2, A._setArrayType([t6, A.LinkTextSpan$(t4, B.Link_jzQ, _null, A.TextStyle$(_null, _null, B.Color_4283744751, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null)), A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_4294967295, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), ".")], type$.JSArray_TextSpan)));
      }
    },
    dispose$0() {
      var t1 = this.___FlutterFramesChartState__framesScrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose();
      t1 = this.___FlutterFramesChartState__frameNumbersScrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose();
      this.super$__FlutterFramesChartState_State_AutoDisposeMixin$dispose();
    },
    build$1(context) {
      var t7, _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = A.Expanded$(this._buildChart$0(), 1),
        t4 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t5 = type$.JSArray_Widget,
        t6 = A._setArrayType([new A.Legend(A._setArrayType([B.LegendEntry_EYv, B.LegendEntry_EOZ, B.LegendEntry_Drm, new A.LegendEntry("Shader Compilation", B.Color_4285993007)], type$.JSArray_LegendEntry), B.ValueKey_I3N)], t5);
      if (J.get$isNotEmpty$asx(this._widget.frames)) {
        t7 = this._widget;
        t6.push(new A.AverageFPS(t7.frames, t7.displayRefreshRate, _null));
      }
      return A.Container$(_null, A.Row$(A._setArrayType([t3, B.SizedBox_16_null_null_null, new A.Padding(new A.EdgeInsets(0, 0, 0, 10 + t4), A.Column$(t6, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, B.VerticalDirection_1), _null)], t5), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, _null, _null, t1 + (10 + t2), _null, B.EdgeInsets_8_0_8_8, _null, _null, _null, _null);
    },
    _buildChart$0() {
      return new A.LayoutBuilder(new A._FlutterFramesChartState__buildChart_closure(this), null);
    }
  };
  A._FlutterFramesChartState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._FlutterFramesChartState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._FlutterFramesChartState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._flutter_frames_chart$_selectedFrame = t1.ProvidedControllerMixin__controller._selectedFrameNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._FlutterFramesChartState__maybeShowShaderJankMessage_closure.prototype = {
    call$1(frame) {
      return frame.hasShaderJank$1(this.$this._widget.displayRefreshRate);
    },
    $signature: 336
  };
  A._FlutterFramesChartState__maybeShowShaderJankMessage_closure0.prototype = {
    call$2(prev, frame) {
      var t1 = frame.get$shaderDuration();
      return new A.Duration(prev._duration + t1._duration);
    },
    $signature: 439
  };
  A._FlutterFramesChartState__buildChart_closure.prototype = {
    call$2(context, constraints) {
      var t3, t4, chart, frameNumbers, chartAxisPainter, fpsLinePainter, _null = null,
        themeData = A.Theme_of(context),
        t1 = this.$this,
        t2 = t1.___FlutterFramesChartState__framesScrollController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = t1.___FlutterFramesChartState__framesScrollController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      chart = A.Scrollbar$(new A.Padding(new A.EdgeInsets(0, 0, 0, 10 + t3), new A.RoundedOutlinedBorder(A.ListView$builder(t4, new A._FlutterFramesChartState__buildChart__closure(t1), J.get$length$asx(t1._widget.frames), 32, _null, _null, B.Axis_0, false), _null), _null), t2, _null, _null, true);
      t2 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t4 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = t1.___FlutterFramesChartState__frameNumbersScrollController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      frameNumbers = A.Container$(_null, A.ListView$builder(t3, new A._FlutterFramesChartState__buildChart__closure0(t1, themeData), J.get$length$asx(t1._widget.frames), 32, _null, _null, B.Axis_0, true), B.Clip_0, _null, _null, _null, _null, t2, _null, _null, new A.EdgeInsets(t4, 0, 0, 0), _null, _null, _null);
      chartAxisPainter = A.CustomPaint$(_null, _null, _null, new A.ChartAxisPainter(constraints, B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t1._widget.displayRefreshRate, t1.get$_msPerPx(), themeData, 10 + B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null), B.Size_0_0);
      fpsLinePainter = A.CustomPaint$(_null, _null, _null, new A.FPSLinePainter(constraints, B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t1._widget.displayRefreshRate, t1.get$_msPerPx(), themeData, 10 + B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null), B.Size_0_0);
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([chartAxisPainter, A.Positioned$(_null, frameNumbers, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null), new A.Padding(new A.EdgeInsets(B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 0, 0, 0), chart, _null), fpsLinePainter], type$.JSArray_Widget), _null);
    },
    $signature: 102
  };
  A._FlutterFramesChartState__buildChart__closure.prototype = {
    call$2(context, index) {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller;
      t2.toString;
      return new A.FlutterFramesChartItem(t2, J.$index$asx(t1._widget.frames, index), J.$eq$(J.$index$asx(t1._widget.frames, index), t1._flutter_frames_chart$_selectedFrame), t1.get$_msPerPx(), B.JSNumber_methods.roundToDouble$0(120 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) - 2, t1._widget.displayRefreshRate, null);
    },
    $signature: 440
  };
  A._FlutterFramesChartState__buildChart__closure0.prototype = {
    call$2(context, index) {
      var t1, t2, _null = null;
      if (B.JSInt_methods.$mod(index, 2) === 1)
        return B.SizedBox_32_null_null_null;
      t1 = J.$index$asx(this.$this._widget.frames, index).id;
      t2 = this.themeData.colorScheme.brightness === B.Brightness_1 ? B.Color_4288256409 : B.Color_4287269514;
      return A.Center$(A.Text$("" + t1, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t2, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), _null, _null, _null);
    },
    $signature: 441
  };
  A.FlutterFramesChartItem.prototype = {
    build$1(context) {
      var t7, t8, ui, shaderToRasterRatio, t9, raster, _this = this, _null = null, _1000 = 1000,
        t1 = A.Theme_of(context),
        t2 = _this.frame,
        t3 = _this.displayRefreshRate,
        t4 = B.JSInt_methods._tdivFast$1(t2.buildTime._duration, _1000),
        t5 = 1 / t3 * 1000,
        t6 = B.JSInt_methods._tdivFast$1(t2.rasterTime._duration, _1000),
        hasShaderJank = t2.hasShaderJank$1(t3),
        uiColor = t4 > t5 ? B.Color_4294280299 : B.Color_4287148510,
        rasterColor = t6 > t5 ? B.Color_4290992474 : B.Color_4281097642;
      t3 = "frame " + t2.id;
      t5 = type$.ValueKey_String;
      t7 = _this.msPerPx;
      t8 = _this.availableChartHeight;
      ui = A.Container$(_null, _null, B.Clip_0, uiColor, _null, _null, _null, B.JSNumber_methods.clamp$2(t4 / t7, 0, t8), new A.ValueKey(t3 + " - ui", t5), _null, _null, _null, _null, 12);
      shaderToRasterRatio = B.JSInt_methods._tdivFast$1(t2.get$shaderDuration()._duration, _1000) / t6;
      t4 = type$.JSArray_Widget;
      t6 = A._setArrayType([A.Container$(_null, _null, B.Clip_0, rasterColor, _null, _null, _null, B.JSNumber_methods.clamp$2((t6 - B.JSInt_methods._tdivFast$1(t2.get$shaderDuration()._duration, _1000)) / t7, 0, t8 * (1 - shaderToRasterRatio)), new A.ValueKey(t3 + " - raster", t5), _null, _null, _null, _null, 12)], t4);
      if (t2.timelineEventData._eventFlows[1] != null) {
        t9 = t2.get$shaderDuration();
        t9 = t9._duration !== B.Duration_0._duration;
      } else
        t9 = false;
      if (t9)
        t6.push(A.Container$(_null, _null, B.Clip_0, B.Color_4285993007, _null, _null, _null, B.JSNumber_methods.clamp$2(B.JSInt_methods._tdivFast$1(t2.get$shaderDuration()._duration, _1000) / t7, 0, t8 * shaderToRasterRatio), new A.ValueKey(t3 + " - shaders", t5), _null, _null, _null, _null, 12));
      raster = A.Column$(t6, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
      t3 = _this.selected;
      if (t3)
        t1 = t1.colorScheme.brightness === B.Brightness_1 ? B.Color_4292599261 : B.Color_4283322191;
      else
        t1 = _null;
      t4 = A._setArrayType([new A.FlutterFrameTooltip(A.Container$(_null, A.Column$(A._setArrayType([B.Expanded_EsU0, A.Row$(A._setArrayType([ui, raster], t4), B.CrossAxisAlignment_1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, t1, _null, _null, _null, _null, _null, _null, B.EdgeInsets_4_0_4_0, _null, _null, _null), t2, hasShaderJank, _null)], t4);
      if (t3)
        t4.push(A.Container$(_null, _null, B.Clip_0, B.Color_4281779956, _null, _null, _null, 8, B.ValueKey_6y6, _null, _null, _null, _null, _null));
      if (hasShaderJank)
        t4.push(B.Padding_2No);
      return A.InkWell$(false, _null, true, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t4, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_selectFrame(), _null, _null, _null, _null, _null, _null);
    },
    _selectFrame$0() {
      var t1 = this.frame,
        t2 = this.controller;
      if (t1 !== t2._selectedFrameNotifier._change_notifier$_value)
        A.select("performance", "selectFlutterFrame", false, new A.FlutterFramesChartItem__selectFrame_closure(this));
      t2.toggleSelectedFrame$1(t1);
    }
  };
  A.FlutterFramesChartItem__selectFrame_closure.prototype = {
    call$0() {
      var t1 = this.$this.frame;
      return new A.PerformanceScreenMetrics(t1.buildTime, t1.rasterTime, t1.get$shaderDuration(), null);
    },
    $signature: 335
  };
  A.FlutterFrameTooltip.prototype = {
    build$1(context) {
      return A.HoverCardTooltip$(this.child, new A.FlutterFrameTooltip_build_closure(), new A.FlutterFrameTooltip_build_closure0(this, context));
    },
    _calculateTooltipWidth$1(lines) {
      var maxWidth, _i, textPainter, t1, t2, _null = null;
      for (maxWidth = 0, _i = 0; _i < 3; ++_i) {
        textPainter = new A.TextPainter(A.TextSpan$(_null, _null, _null, _null, lines[_i]), B.TextAlign_0, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        textPainter.layout$0();
        t1 = textPainter._textWidthBasis;
        t2 = textPainter._paragraph;
        t1 = t1 === B.TextWidthBasis_1 ? t2.get$longestLine() : t2.get$width(t2);
        maxWidth = Math.max(maxWidth, Math.ceil(t1));
      }
      maxWidth += 20;
      if (this.hasShaderJank)
        return maxWidth + 16 + 85;
      return maxWidth;
    }
  };
  A.FlutterFrameTooltip_build_closure.prototype = {
    call$0() {
      return true;
    },
    $signature: 23
  };
  A.FlutterFrameTooltip_build_closure0.prototype = {
    call$1(_) {
      var t4, _null = null,
        t1 = this.$this,
        textColor = A.Theme_of(this.context).colorScheme.brightness === B.Brightness_1 ? B.Color_4282795590 : B.Color_4289638065,
        textStyle = A.TextStyle$(_null, _null, textColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        t2 = t1.frame,
        uiText = "UI: " + A.msText(t2.buildTime, 1),
        rasterText = "Raster: " + A.msText(t2.rasterTime, 1),
        t3 = t1.hasShaderJank,
        shaderText = t3 ? "Shader Compilation: " + A.msText(t2.get$shaderDuration(), 1) + "  -" : "";
      t1 = t1._calculateTooltipWidth$1(A._setArrayType([uiText, rasterText, shaderText], type$.JSArray_String));
      t2 = type$.JSArray_Widget;
      t4 = A._setArrayType([A.Text$(uiText, _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null), B.SizedBox_null_4_null_null, A.Text$(rasterText, _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null)], t2);
      if (t3)
        t4.push(A.Row$(A._setArrayType([A.Icon$(B.IconData_58901_MaterialIcons_false, textColor, 16), A.Text$(shaderText, _null, _null, _null, _null, _null, textStyle, _null, _null, _null, _null), B.MoreInfoLink_IRg], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
      t2 = A.Material$(B.Duration_200000, true, _null, A.Column$(t4, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
      return A.Future_Future$value(new A.HoverCardData(_null, t2, t1, B.HoverCardPosition_1), type$.HoverCardData);
    },
    $signature: 201
  };
  A.AverageFPS.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.frames,
        t2 = J.getInterceptor$ax(t1);
      return A.Text$("" + B.JSNumber_methods.round$0(1 / (t2.fold$2(t1, 0, new A.AverageFPS_build_closure(this)) / t2.get$length(t1)) * 1000) + " FPS (average)", _null, 2, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.AverageFPS_build_closure.prototype = {
    call$2(sum, frame) {
      return sum + Math.max(1000 / this.$this.displayRefreshRate, Math.max(B.JSInt_methods._tdivFast$1(frame.buildTime._duration, 1000), B.JSInt_methods._tdivFast$1(frame.rasterTime._duration, 1000)));
    },
    $signature: 443
  };
  A.ShaderJankWarningIcon.prototype = {
    build$1(context) {
      return A.Row$(B.List_BlinkingIcon_null, B.CrossAxisAlignment_2, null, B.MainAxisAlignment_2, B.MainAxisSize_1, null, null);
    }
  };
  A.ChartAxisPainter.prototype = {
    paint$2(canvas, size) {
      var _this = this,
        t1 = _this.yAxisUnitsSpace,
        t2 = _this.constraints;
      _this._paintYAxisLabels$2(canvas, new A.Rect(t1, 0, t1 + (t2.maxWidth - t1), 0 + (t2.maxHeight - _this.bottomMargin)));
    },
    _paintYAxisLabels$2(canvas, chartArea) {
      var timeMs, t2, _i, _this = this,
        totalMs = _this.msPerPx * _this.constraints.maxHeight,
        timeUnitMs = B.JSNumber_methods._tdivFast$1(totalMs, 4),
        targetMsPerFrameRounded = B.JSNumber_methods.round$0(1 / _this.displayRefreshRate * 1000),
        t1 = A._setArrayType([0], type$.JSArray_int);
      for (timeMs = targetMsPerFrameRounded - timeUnitMs; timeMs > 0; timeMs -= timeUnitMs)
        t1.push(timeMs);
      t1.push(targetMsPerFrameRounded);
      for (timeMs = targetMsPerFrameRounded + timeUnitMs; timeMs < totalMs; timeMs += timeUnitMs)
        t1.push(timeMs);
      for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        _this._paintYAxisLabel$3$timeMs(canvas, chartArea, t1[_i]);
    },
    _paintYAxisLabel$3$timeMs(canvas, chartArea, timeMs) {
      var t2, t3, textPainter, _null = null,
        labelText = A.msText(A.Duration$(0, timeMs), 0),
        t1 = chartArea.bottom - chartArea.top,
        tickY = t1 - timeMs / this.msPerPx;
      if (timeMs !== 0)
        t1 = tickY > t1 - 10 || tickY < 10;
      else
        t1 = false;
      if (t1)
        return;
      t1 = chartArea.left;
      t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t3 = this.themeData.colorScheme.brightness === B.Brightness_1;
      t2.set$color(0, t3 ? B.Color_4291611852 : B.Color_4283979864);
      canvas.drawLine$3(new A.Offset(t1 - 4, tickY), new A.Offset(t1 + 4, tickY), t2);
      t1 = t3 ? B.Color_4288256409 : B.Color_4287269514;
      textPainter = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), labelText), B.TextAlign_5, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      textPainter.layout$0();
      t1 = textPainter.get$width(textPainter);
      t2 = textPainter._paragraph;
      textPainter.paint$2(canvas, new A.Offset(this.yAxisUnitsSpace - 4 - 4 - t1, tickY - Math.ceil(t2.get$height(t2)) / 2 - 2));
    },
    shouldRepaint$1(oldDelegate) {
      return this.themeData.colorScheme.brightness === B.Brightness_0 !== (oldDelegate.themeData.colorScheme.brightness === B.Brightness_0);
    }
  };
  A.FPSLinePainter.prototype = {
    paint$2(canvas, size) {
      var t5, textPainter, _this = this, _null = null,
        t1 = _this.yAxisUnitsSpace,
        t2 = _this.constraints,
        t3 = t1 + (t2.maxWidth - t1),
        t4 = _this.displayRefreshRate,
        targetLineY = 0 + (t2.maxHeight - _this.bottomMargin) - 0 - 1000 / t4 / _this.msPerPx;
      t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t5 = _this.themeData.colorScheme.brightness === B.Brightness_1;
      t2.set$color(0, t5 ? B.Color_4291611852 : B.Color_4283979864);
      canvas.drawLine$3(new A.Offset(t1, targetLineY), new A.Offset(t3, targetLineY), t2);
      t1 = B.JSNumber_methods.toStringAsFixed$1(t4, 0);
      t2 = t5 ? B.Color_4288256409 : B.Color_4287269514;
      textPainter = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t2, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t1 + " FPS"), B.TextAlign_1, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      textPainter.layout$0();
      textPainter.paint$2(canvas, new A.Offset(t3 - B.JSNumber_methods.roundToDouble$0(45 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), targetLineY + 2));
    },
    shouldRepaint$1(oldDelegate) {
      return this.themeData.colorScheme.brightness === B.Brightness_0 !== (oldDelegate.themeData.colorScheme.brightness === B.Brightness_0);
    }
  };
  A.__FlutterFramesChartState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__FlutterFramesChartState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.FlutterFrameAnalysisView.prototype = {
    build$1(context) {
      var _null = null,
        frameAnalysis = this.frameAnalysis;
      if (frameAnalysis == null)
        return B.Center_c8x;
      return new A.Padding(B.EdgeInsets_16_16_16_16, A.Column$(A._setArrayType([new A.IntelligentFrameFindings(frameAnalysis, _null), B.PaddedDivider_wEo2, A.Expanded$(new A.FrameTimeVisualizer(frameAnalysis, _null), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    }
  };
  A.FrameTimeVisualizer.prototype = {
    createState$0() {
      return new A._FrameTimeVisualizerState(B._StateLifecycle_0);
    }
  };
  A._FrameTimeVisualizerState.prototype = {
    initState$0() {
      this.super$State$initState();
      var t1 = this.___FrameTimeVisualizerState_frameAnalysis = this._widget.frameAnalysis;
      t1._selectedPhase.set$value(0, t1.get$longestFramePhase());
    },
    build$1(context) {
      var t1 = this.___FrameTimeVisualizerState_frameAnalysis;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A.ValueListenableBuilder(t1._selectedPhase, new A._FrameTimeVisualizerState_build_closure(this), null, null, type$.ValueListenableBuilder_nullable_FramePhase);
    }
  };
  A._FrameTimeVisualizerState_build_closure.prototype = {
    call$3(context, selectedPhase, _) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, _null = null,
        t1 = this.$this,
        t2 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.get$buildPhase();
      t3 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t3.get$buildPhase();
      t4 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t4.get$layoutPhase();
      t6 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t6 = t6.get$layoutPhase();
      t7 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t7 === $)
        A.throwUnnamedLateFieldNI();
      t8 = t7.get$paintPhase();
      t9 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t9 === $)
        A.throwUnnamedLateFieldNI();
      t9 = t9.get$paintPhase();
      t10 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t10 === $)
        A.throwUnnamedLateFieldNI();
      t11 = type$.JSArray_Widget;
      t10 = A.Row$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.FramePhaseBlock(t2, B.IconData_57622_MaterialIcons_false, selectedPhase === t3, t4.get$selectFramePhase(), _null), _null), new A.Flexible(1, B.FlexFit_1, new A.FramePhaseBlock(t5, B.IconData_57528_MaterialIcons_false, selectedPhase === t6, t7.get$selectFramePhase(), _null), _null), new A.Flexible(1, B.FlexFit_0, new A.FramePhaseBlock(t8, B.IconData_58043_MaterialIcons_false, selectedPhase === t9, t10.get$selectFramePhase(), _null), _null)], t11), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t9 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t9 === $)
        A.throwUnnamedLateFieldNI();
      t9 = t9.get$rasterPhase();
      t8 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t8 = t8.get$rasterPhase();
      t1 = t1.___FrameTimeVisualizerState_frameAnalysis;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.Column$(A._setArrayType([B.Text_6Pi, B.SizedBox_null_8_null_null, t10, B.SizedBox_null_8_null_null, B.Text_qRH, B.SizedBox_null_8_null_null, A.Row$(A._setArrayType([A.Expanded$(new A.FramePhaseBlock(t9, B.IconData_58089_MaterialIcons_false, selectedPhase === t8, t1.get$selectFramePhase(), _null), 1)], t11), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t11), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 444
  };
  A.FramePhaseBlock.prototype = {
    build$1(context) {
      var t3, t4, _this = this, _null = null,
        colorScheme = A.Theme_of(context).colorScheme,
        t1 = _this.framePhase,
        t2 = t1.duration,
        durationText = t2._duration !== B.Duration_0._duration ? A.msText(t2, 1) : "--";
      t2 = _this.isSelected;
      if (t2)
        t3 = colorScheme.brightness === B.Brightness_1 ? B.Color_4294967295 : B.Color_4284441447;
      else
        t3 = colorScheme.brightness === B.Brightness_1 ? B.Color_4293848814 : B.Color_4282138691;
      t4 = type$.JSArray_Widget;
      t4 = A._setArrayType([A.Container$(_null, A.Row$(A._setArrayType([A.Icon$(_this.icon, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.SizedBox_8_null_null_null, A.Text$(t1.title + " - " + durationText, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), B.Clip_0, t3, _null, _null, _null, 30, _null, _null, B.EdgeInsets_4_0_4_0, _null, _null, _null)], t4);
      if (t2)
        t4.push(A.Container$(_null, _null, B.Clip_0, B.Color_4281779956, _null, _null, _null, 4, _null, _null, _null, _null, _null, _null));
      return A.InkWell$(false, _null, true, new A.Stack(B.AlignmentDirectional_m1_1, _null, B.StackFit_0, B.Clip_1, t4, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.FramePhaseBlock_build_closure(_this), _null, _null, _null, _null, _null, _null);
    }
  };
  A.FramePhaseBlock_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.onSelected.call$1(t1.framePhase);
    },
    $signature: 0
  };
  A.IntelligentFrameFindings.prototype = {
    build$1(context) {
      return A.Column$(A._setArrayType([B.Text_Tz1, B.SizedBox_null_8_null_null, new A._Hint(new A._EnhanceTracingHint(this.frameAnalysis.get$longestFramePhase(), null), null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A._Hint.prototype = {
    build$1(context) {
      var _null = null;
      return A.Row$(A._setArrayType([A.Icon$(B.IconData_58236_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.SizedBox_8_null_null_null, A.Expanded$(this.message, 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A._EnhanceTracingHint.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        t1 = this.longestPhase,
        t2 = t1.title,
        phasePrefix = t2 !== "Raster" ? "UI " : "",
        t3 = theme.textTheme.bodyMedium;
      t3 = A._setArrayType([A.TextSpan$(_null, _null, _null, t3.copyWith$1$fontFamily("RobotoMono"), t2), A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t3.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), " was the longest " + phasePrefix + "phase in this frame. ")], type$.JSArray_InlineSpan);
      B.JSArray_methods.addAll$1(t3, this._hintForPhase$2(t1, theme));
      return A.RichText$(_null, _null, 2, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(t3, _null, _null, _null, ""), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
    },
    _hintForPhase$2(phase, theme) {
      switch (phase.title) {
        case "Build":
          return this._enhanceTracingHint$2($.$get$profileWidgetBuilds().title, theme);
        case "Layout":
          return this._enhanceTracingHint$2($.$get$profileRenderObjectLayouts().title, theme);
        case "Paint":
          return this._enhanceTracingHint$2($.$get$profileRenderObjectPaints().title, theme);
        case "Raster":
          return A._setArrayType([], type$.JSArray_InlineSpan);
        default:
          return A._setArrayType([], type$.JSArray_InlineSpan);
      }
    },
    _enhanceTracingHint$2(settingTitle, theme) {
      var _null = null,
        t1 = theme.textTheme.bodyMedium.color;
      return A._setArrayType([A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), 'Consider enabling "' + settingTitle + '" from the '), B.WidgetSpan_1Oc, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), " options above and reproducing the behavior in your app.")], type$.JSArray_InlineSpan);
    }
  };
  A._SmallEnhanceTracingButton.prototype = {
    build$1(context) {
      var _null = null;
      return new A.RoundedOutlinedBorder(new A.Padding(B.EdgeInsets_6_6_6_6, new A.MaterialIconLabel(B.IconData_57527_MaterialIcons_false, _null, A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4282795590 : B.Color_4289638065, "Enhance Tracing", _null, _null), _null), _null);
    }
  };
  A.RefreshTimelineEventsButton.prototype = {
    build$1(context) {
      return A.DevToolsIconButton$("performance", "refreshTimelineEvents", B.IconData_58644_MaterialIcons_false, this.controller.get$processAvailableEvents(), "Refresh timeline events");
    }
  };
  A.PerformanceController.prototype = {
    _performance_controller$_initHelper$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, t4, $async$temp1;
      var $async$_performance_controller$_initHelper$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 = !$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._serviceAvailable.future, $async$_performance_controller$_initHelper$0);
            case 4:
              // returning from await.
              $async$goto = 5;
              return A._asyncAwait($async$self._performance_controller$_initData$0(), $async$_performance_controller$_initHelper$0);
            case 5:
              // returning from await.
              $async$temp1 = $async$self._badgeTabForJankyFrames;
              $async$goto = 6;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuild(), $async$_performance_controller$_initHelper$0);
            case 6:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
              $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.toString;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.dynamic;
              t4 = type$.Response;
              A.allowedError(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", A.LinkedHashMap_LinkedHashMap$_literal(["name", "profile_period", "value", "250"], t3, t3), t4), t4), false);
              $async$goto = 7;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).timelineStreamManager.setDefaultTimelineStreams$0(), $async$_performance_controller$_initHelper$0);
            case 7:
              // returning from await.
              $async$goto = 8;
              return A._asyncAwait($async$self.toggleHttpRequestLogging$1(true), $async$_performance_controller$_initHelper$0);
            case 8:
              // returning from await.
              t4 = $async$self._displayRefreshRate;
              $async$goto = 9;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$queryDisplayRefreshRate(), $async$_performance_controller$_initHelper$0);
            case 9:
              // returning from await.
              t3 = $async$result;
              t4.set$value(0, t3 == null ? 60 : t3);
              t1 = $async$self.data;
              if (t1 != null)
                t1.displayRefreshRate = t4._change_notifier$_value;
              t1 = $async$self.AutoDisposeControllerMixin__delegate._auto_dispose$_subscriptions;
              t1.push($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.get$onExtensionEventWithHistory().listen$1(new A.PerformanceController__initHelper_closure($async$self)));
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionClosedController;
              t1.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(new A.PerformanceController__initHelper_closure0($async$self)));
              $async$goto = 10;
              return A._asyncAwait($async$self._pullTraceEventsFromVmTimeline$1$isInitialPull(true), $async$_performance_controller$_initHelper$0);
            case 10:
              // returning from await.
              t2 = $async$self._processing;
              t2.set$value(0, true);
              $async$goto = 11;
              return A._asyncAwait($async$self.processTraceEvents$1($async$self.allTraceEvents), $async$_performance_controller$_initHelper$0);
            case 11:
              // returning from await.
              t2.set$value(0, false);
              $async$self._timelinePollingRateLimiter = new A.RateLimiter($async$self.get$_pullTraceEventsFromVmTimeline(), 200);
              $async$self._performance_controller$_pollingTimer = A.Timer_Timer$periodic(B.Duration_1000000, new A.PerformanceController__initHelper_closure1($async$self));
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_performance_controller$_initHelper$0, $async$completer);
    },
    _performance_controller$_initData$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, connectedApp, $async$temp1;
      var $async$_performance_controller$_initData$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
              connectedApp = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
              $async$goto = 2;
              return A._asyncAwait(connectedApp.initialized.future, $async$_performance_controller$_initData$0);
            case 2:
              // returning from await.
              t1 = connectedApp.get$isFlutterAppNow();
              t1.toString;
              $async$goto = t1 ? 3 : 5;
              break;
            case 3:
              // then
              $async$temp1 = A;
              $async$goto = 6;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$queryDisplayRefreshRate(), $async$_performance_controller$_initData$0);
            case 6:
              // returning from await.
              $async$result = $async$temp1.PerformanceData$(null, $async$result, null, null, null, null);
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = A.PerformanceData$(null, null, null, null, null, null);
            case 4:
              // join
              $async$self.data = $async$result;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_performance_controller$_initData$0, $async$completer);
    },
    _pullTraceEventsFromVmTimeline$1$isInitialPull(isInitialPull) {
      return this._pullTraceEventsFromVmTimeline$body$PerformanceController(isInitialPull);
    },
    _pullTraceEventsFromVmTimeline$0() {
      return this._pullTraceEventsFromVmTimeline$1$isInitialPull(false);
    },
    _pullTraceEventsFromVmTimeline$body$PerformanceController(isInitialPull) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, timeline, threadNameEvents, t3, _i, t4, traceEvent, t5, service, currentVmTime, t1, t2;
      var $async$_pullTraceEventsFromVmTimeline$1$isInitialPull = 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
              service = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              $async$goto = 2;
              return A._asyncAwait(service.getVMTimelineMicros$0(), $async$_pullTraceEventsFromVmTimeline$1$isInitialPull);
            case 2:
              // returning from await.
              currentVmTime = $async$result;
              t1 = $async$self._nextPollStartMicros;
              t2 = currentVmTime.timestamp;
              t2.toString;
              $async$goto = 3;
              return A._asyncAwait(service.getVMTimeline$2$timeExtentMicros$timeOriginMicros(t2 - t1, t1), $async$_pullTraceEventsFromVmTimeline$1$isInitialPull);
            case 3:
              // returning from await.
              timeline = $async$result;
              t1 = currentVmTime.timestamp;
              t1.toString;
              $async$self._nextPollStartMicros = t1 + 1;
              threadNameEvents = A._setArrayType([], type$.JSArray_TraceEvent);
              t1 = timeline.traceEvents;
              if (t1 == null)
                t1 = [];
              t2 = t1.length;
              t3 = $async$self.allTraceEvents;
              _i = 0;
              for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                t4 = J.get$json$x(t1[_i]);
                t4.toString;
                traceEvent = A.TraceEvent$(t4);
                t4 = Date.now();
                t5 = $._traceEventWrapperId;
                $._traceEventWrapperId = t5 + 1;
                if (traceEvent.phase === "M" && traceEvent.name === "thread_name")
                  threadNameEvents.push(traceEvent);
                t3.push(new A.TraceEventWrapper(traceEvent, t4, t5));
              }
              $async$self.updateThreadIds$2$isInitialUpdate(threadNameEvents, isInitialPull);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_pullTraceEventsFromVmTimeline$1$isInitialPull, $async$completer);
    },
    processAvailableEvents$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$processAvailableEvents$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._processing;
              t1.set$value(0, true);
              $async$goto = 2;
              return A._asyncAwait($async$self.processTraceEvents$1($async$self.allTraceEvents), $async$processAvailableEvents$0);
            case 2:
              // returning from await.
              t1.set$value(0, false);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$processAvailableEvents$0, $async$completer);
    },
    selectTimelineEvent$2$updateProfiler($event, updateProfiler) {
      return this.selectTimelineEvent$body$PerformanceController($event, updateProfiler);
    },
    selectTimelineEvent$1($event) {
      return this.selectTimelineEvent$2$updateProfiler($event, true);
    },
    selectTimelineEvent$body$PerformanceController($event, updateProfiler) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, storedProfile, t3, t4, t1;
      var $async$selectTimelineEvent$2$updateProfiler = 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.data;
              t1.toString;
              if ($event == null || t1.selectedEvent === $event) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.selectedEvent = $event;
              $async$self._selectedTimelineEventNotifier.set$value(0, $event);
              $async$goto = $event.type === B.TimelineEventType_0 && updateProfiler ? 3 : 4;
              break;
            case 3:
              // then
              t2 = $async$self.cpuProfilerController;
              storedProfile = t2.get$cpuProfileStore().lookupProfile$1$time($event.time);
              $async$goto = storedProfile != null ? 5 : 7;
              break;
            case 5:
              // then
              $async$goto = 8;
              return A._asyncAwait(t2.processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone(storedProfile, "Stored profile for " + $event.time.toString$0(0), true, true, true), $async$selectTimelineEvent$2$updateProfiler);
            case 8:
              // returning from await.
              t1.cpuProfileData = t2._dataNotifier._change_notifier$_value;
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              $async$goto = (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value || $async$self.offlinePerformanceData == null) && t2.get$profilerEnabled() ? 9 : 10;
              break;
            case 9:
              // then
              t2.reset$0(0);
              t3 = $event.time;
              t4 = t3._utils$_start._duration;
              $async$goto = 11;
              return A._asyncAwait(t2.pullAndProcessProfile$3$extentMicros$processId$startMicros(t3._utils$_end._duration - t4, "" + B.JSArray_methods.get$first($event.traceEvents).wrapperId, t4), $async$selectTimelineEvent$2$updateProfiler);
            case 11:
              // returning from await.
              t1.cpuProfileData = t2._dataNotifier._change_notifier$_value;
            case 10:
              // join
            case 6:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$selectTimelineEvent$2$updateProfiler, $async$completer);
    },
    toggleSelectedFrame$1(frame) {
      return this.toggleSelectedFrame$body$PerformanceController(frame);
    },
    toggleSelectedFrame$body$PerformanceController(frame) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, frameBeforeFirstWellFormedFrame, t3, storedProfileForFrame, t4, t1;
      var $async$toggleSelectedFrame$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.data;
              if (t1 == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._currentFrameBeingSelected = frame;
              if (t1.selectedFrame === frame) {
                t1.selectedFrame = null;
                $async$self._selectedFrameNotifier.set$value(0, null);
                // goto return
                $async$goto = 1;
                break;
              }
              t1.selectedFrame = frame;
              $async$self._selectedFrameNotifier.set$value(0, frame);
              $async$goto = !$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value ? 3 : 4;
              break;
            case 3:
              // then
              t2 = $async$self.firstWellFormedFrameMicros;
              frameBeforeFirstWellFormedFrame = t2 != null && frame.timeFromFrameTiming._utils$_start._duration < t2;
              t2 = frame.timelineEventData._eventFlows;
              $async$goto = !(t2[0] != null && t2[1] != null) && !frameBeforeFirstWellFormedFrame ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return A._asyncAwait($async$self.processAvailableEvents$0(), $async$toggleSelectedFrame$1);
            case 7:
              // returning from await.
            case 6:
              // join
              if ($async$self._currentFrameBeingSelected !== frame) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = !(t2[0] != null && t2[1] != null) && !frameBeforeFirstWellFormedFrame ? 8 : 9;
              break;
            case 8:
              // then
              $async$self._processing.set$value(0, true);
              $async$goto = 10;
              return A._asyncAwait(A.Future_Future$delayed(B.Duration_1000000, new A.PerformanceController_toggleSelectedFrame_closure($async$self, frame), type$.Null), $async$toggleSelectedFrame$1);
            case 10:
              // returning from await.
            case 9:
              // join
              if ($async$self._currentFrameBeingSelected !== frame) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // join
              t2 = frame.timelineEventData;
              $async$goto = 11;
              return A._asyncAwait($async$self.selectTimelineEvent$2$updateProfiler(t2._eventFlows[0], false), $async$toggleSelectedFrame$1);
            case 11:
              // returning from await.
              if ($async$self._currentFrameBeingSelected !== frame) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = $async$self.cpuProfilerController;
              t2 = t2.time;
              storedProfileForFrame = t3.get$cpuProfileStore().lookupProfile$1$time(t2);
              $async$goto = storedProfileForFrame == null ? 12 : 14;
              break;
            case 12:
              // then
              t3.reset$0(0);
              $async$goto = !$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value && t2._utils$_start != null && t2._utils$_end != null ? 15 : 16;
              break;
            case 15:
              // then
              t4 = t2._utils$_start._duration;
              $async$goto = 17;
              return A._asyncAwait(t3.pullAndProcessProfile$3$extentMicros$processId$startMicros(t2._utils$_end._duration - t4, "Flutter frame " + frame.id, t4), $async$toggleSelectedFrame$1);
            case 17:
              // returning from await.
            case 16:
              // join
              if ($async$self._currentFrameBeingSelected !== frame) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.cpuProfileData = t3._dataNotifier._change_notifier$_value;
              // goto join
              $async$goto = 13;
              break;
            case 14:
              // else
              $async$goto = !storedProfileForFrame.processed ? 18 : 19;
              break;
            case 18:
              // then
              $async$goto = 20;
              return A._asyncAwait(t3.transformer.processData$2$processId(storedProfileForFrame, "Flutter frame " + frame.id + " - stored profile "), $async$toggleSelectedFrame$1);
            case 20:
              // returning from await.
            case 19:
              // join
              if ($async$self._currentFrameBeingSelected !== frame) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.cpuProfileData = storedProfileForFrame;
              t3.loadProcessedData$2$storeAsUserTagNone(storedProfileForFrame, true);
            case 13:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$toggleSelectedFrame$1, $async$completer);
    },
    _updateFirstWellFormedFrameMicros$1(frame) {
      var t1 = this.firstWellFormedFrameMicros;
      if (t1 == null)
        t1 = $.$get$maxJsInt();
      this.firstWellFormedFrameMicros = Math.min(t1, frame.timeFromFrameTiming._utils$_start._duration);
    },
    _assignEventsToFrame$1(frame) {
      var t3, _this = this,
        t1 = _this._unassignedFlutterFrameEvents,
        t2 = frame.id;
      if (t1.containsKey$1(0, t2)) {
        _this._maybeAddUnassignedEventToFrame$2(frame, B.TimelineEventType_0);
        _this._maybeAddUnassignedEventToFrame$2(frame, B.TimelineEventType_1);
        t3 = frame.timelineEventData._eventFlows;
        if (t3[0] != null && t3[1] != null)
          t1.remove$1(0, t2);
      }
      t1 = frame.timelineEventData._eventFlows;
      if (t1[0] != null && t1[1] != null)
        _this._updateFirstWellFormedFrameMicros$1(frame);
      else
        _this._unassignedFlutterFrames.$indexSet(0, t2, frame);
    },
    _maybeAddUnassignedEventToFrame$2(frame, type) {
      var $event = this._unassignedFlutterFrameEvents.$index(0, frame.id).eventByType$1(type);
      if ($event != null)
        frame.setEventFlow$2$type($event, type);
    },
    _maybeAddEventToUnassignedFrame$3(frameNumber, $event, type) {
      var t1, frame, t2;
      if (frameNumber != null) {
        t1 = $event.type;
        t1 = t1 === B.TimelineEventType_0 || t1 === B.TimelineEventType_1;
      } else
        t1 = false;
      if (t1) {
        t1 = this._unassignedFlutterFrames;
        if (t1.containsKey$1(0, frameNumber)) {
          frame = t1.$index(0, frameNumber);
          frame.setEventFlow$2$type($event, type);
          t2 = frame.timelineEventData._eventFlows;
          if (t2[0] != null && t2[1] != null) {
            t1.remove$1(0, frameNumber);
            this._updateFirstWellFormedFrameMicros$1(frame);
          }
        } else
          this._unassignedFlutterFrameEvents.putIfAbsent$2(0, frameNumber, new A.PerformanceController__maybeAddEventToUnassignedFrame_closure()).setEventFlow$3$event$setTimeData$type($event, false, $event.type);
      }
    },
    _addPendingFlutterFrames$0() {
      var t2, _this = this,
        t1 = _this._pendingFlutterFrames;
      B.JSArray_methods.forEach$1(t1, _this.get$_maybeBadgeTabForJankyFrame());
      B.JSArray_methods.addAll$1(_this.data.frames, t1);
      t2 = _this._flutterFrames;
      B.JSArray_methods.addAll$1(t2._rawList, t1);
      t2._listChanged$0();
      B.JSArray_methods.clear$0(t1);
    },
    _maybeBadgeTabForJankyFrame$1(frame) {
      var t1;
      if (this._badgeTabForJankyFrames._change_notifier$_value) {
        t1 = 1 / this._displayRefreshRate._change_notifier$_value * 1000;
        if (B.JSInt_methods._tdivFast$1(frame.buildTime._duration, 1000) > t1 || B.JSInt_methods._tdivFast$1(frame.rasterTime._duration, 1000) > t1)
          $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.incrementBadgeCount$1("performance");
      }
    },
    updateThreadIds$2$isInitialUpdate(threadNameEvents, isInitialUpdate) {
      var t1, isFlutterApp, t2, uiThreadId, rasterThreadId, _i, $event, t3, $name;
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
        t1 = this.offlinePerformanceData;
        isFlutterApp = t1 != null && t1.frames.length !== 0;
      } else {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
        t1.toString;
        isFlutterApp = t1;
      }
      for (t1 = threadNameEvents.length, t2 = this.threadNamesById, uiThreadId = null, rasterThreadId = null, _i = 0; _i < threadNameEvents.length; threadNameEvents.length === t1 || (0, A.throwConcurrentModificationError)(threadNameEvents), ++_i) {
        $event = threadNameEvents[_i];
        t3 = $event.args;
        t3.toString;
        $name = J.$index$asx(t3, "name");
        if (isFlutterApp && isInitialUpdate) {
          t3 = J.getInterceptor$asx($name);
          if (t3.contains$1($name, ".ui"))
            uiThreadId = $event.threadId;
          if (t3.contains$1($name, ".raster") || t3.contains$1($name, ".gpu"))
            rasterThreadId = $event.threadId;
          if (t3.contains$1($name, ".platform"))
            rasterThreadId = rasterThreadId == null ? $event.threadId : rasterThreadId;
        }
        t3 = $event.threadId;
        t3.toString;
        t2.$indexSet(0, t3, $name);
      }
      if (isFlutterApp && isInitialUpdate) {
        if (uiThreadId == null || rasterThreadId == null)
          A.log("Could not find UI thread and / or Raster thread from names: " + t2.get$values(t2).toString$0(0), B.LogLevel_0);
        t1 = this.__PerformanceController_processor;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.uiThreadId = uiThreadId;
        t1.rasterThreadId = rasterThreadId;
      }
    },
    addTimelineEvent$1($event) {
      var t2, _i, frameEvent,
        t1 = this.data;
      t1.timelineEvents.push($event);
      t1._endTimestampMicros = Math.max(t1._endTimestampMicros, $event.get$maxEndMicros());
      if ($event instanceof A.SyncTimelineEvent) {
        if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
          t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
          if (t1.service != null && t1.connectedApp != null) {
            t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
            t1.toString;
            t1 = !t1;
          } else
            t1 = false;
        } else
          t1 = false;
        if (t1)
          return;
        for (t1 = $event.uiFrameEvents, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          frameEvent = t1[_i];
          this._maybeAddEventToUnassignedFrame$3(frameEvent.get$flutterFrameNumber(), frameEvent, B.TimelineEventType_0);
        }
        for (t1 = $event.rasterFrameEvents, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          frameEvent = t1[_i];
          this._maybeAddEventToUnassignedFrame$3(frameEvent.get$flutterFrameNumber(), frameEvent, B.TimelineEventType_1);
        }
      }
    },
    processTraceEvents$1(traceEvents) {
      return this.processTraceEvents$body$PerformanceController(traceEvents);
    },
    processTraceEvents$body$PerformanceController(traceEvents) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, traceEventCount, t1;
      var $async$processTraceEvents$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 = {};
              t1.traceEvents = traceEvents;
              $async$goto = $async$self.data == null ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self._performance_controller$_initData$0(), $async$processTraceEvents$1);
            case 4:
              // returning from await.
            case 3:
              // join
              t2 = $async$self.data;
              t2.toString;
              traceEventCount = traceEvents.length;
              $async$goto = 5;
              return A._asyncAwait(A.timeAsync("performance", "traceEventProcessingTime", new A.PerformanceController_processTraceEvents_processTraceEventsHelper(t1, $async$self, traceEventCount, t2), new A.PerformanceController_processTraceEvents_closure(traceEventCount - $async$self._nextTraceIndexToProcess)), $async$processTraceEvents$1);
            case 5:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$processTraceEvents$1, $async$completer);
    },
    processOfflineData$1(offlineData) {
      return this.processOfflineData$body$PerformanceController(offlineData);
    },
    processOfflineData$body$PerformanceController(offlineData) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2, t3, t4, t5, uiThreadId, rasterThreadId;
      var $async$processOfflineData$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 = 2;
              return A._asyncAwait($async$self.clearData$0(0), $async$processOfflineData$1);
            case 2:
              // returning from await.
              t1 = A._setArrayType([], type$.JSArray_TraceEventWrapper);
              for (t2 = J.get$iterator$ax(offlineData.traceEvents); t2.moveNext$0();) {
                t3 = A.TraceEvent$(t2.get$current(t2));
                t4 = Date.now();
                t5 = $._traceEventWrapperId;
                $._traceEventWrapperId = t5 + 1;
                t1.push(new A.TraceEventWrapper(t3, 1000 * t4, t5));
              }
              t2 = type$.String;
              uiThreadId = $async$self._threadIdForEvents$2(A.LinkedHashSet_LinkedHashSet$_literal(["Animator::BeginFrame"], t2), t1);
              rasterThreadId = $async$self._threadIdForEvents$2(A.LinkedHashSet_LinkedHashSet$_literal(["GPURasterizer::Draw"], t2), t1);
              $async$self.offlinePerformanceData = offlineData.shallowClone$0();
              $async$self.data = offlineData.shallowClone$0();
              t2 = $async$self.__PerformanceController_processor;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2.uiThreadId = uiThreadId;
              t2.rasterThreadId = rasterThreadId;
              $async$goto = 3;
              return A._asyncAwait($async$self.processTraceEvents$1(t1), $async$processOfflineData$1);
            case 3:
              // returning from await.
              $async$goto = $async$self.data.cpuProfileData != null ? 4 : 5;
              break;
            case 4:
              // then
              t1 = $async$self.offlinePerformanceData.cpuProfileData;
              t1.toString;
              $async$goto = 6;
              return A._asyncAwait($async$self.cpuProfilerController.transformer.processData$2$processId(t1, "process offline data"), $async$processOfflineData$1);
            case 6:
              // returning from await.
            case 5:
              // join
              B.JSArray_methods.forEach$1($async$self.offlinePerformanceData.frames, $async$self.get$_assignEventsToFrame());
              $async$self.setOfflineData$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$processOfflineData$1, $async$completer);
    },
    _threadIdForEvents$2(targetEventNames, traceEvents) {
      var t1 = A.IterableExtension_firstWhereOrNull(traceEvents, new A.PerformanceController__threadIdForEvents_closure(targetEventNames));
      t1 = t1 == null ? null : t1.event.threadId;
      return t1 == null ? -1 : t1;
    },
    setOfflineData$0() {
      var t2, t3, t4, frameToSelect, _i, timelineEvent, t5, eventToSelect, _this = this,
        t1 = _this.data;
      t1.toString;
      t2 = _this.offlinePerformanceData;
      t2.toString;
      t3 = _this._flutterFrames;
      t3._rawList = A._setArrayType([], t3.$ti._eval$1("JSArray<1>"));
      t3._listChanged$0();
      t4 = t2.frames;
      B.JSArray_methods.addAll$1(t3._rawList, t4);
      t3._listChanged$0();
      frameToSelect = A.IterableExtension_firstWhereOrNull(t4, new A.PerformanceController_setOfflineData_closure(t2));
      if (frameToSelect != null) {
        t1.selectedFrame = frameToSelect;
        _this._selectedFrameNotifier.set$value(0, frameToSelect);
      }
      if (t2.selectedEvent != null)
        for (t3 = t1.timelineEvents, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
          timelineEvent = t3[_i];
          t5 = A._instanceType(timelineEvent)._eval$1("TreeNode.T");
          eventToSelect = A._treeTraversal(t5._as(timelineEvent), null, true, null, new A.PerformanceController_setOfflineData_closure0(t2), t5);
          if (eventToSelect != null) {
            t1.selectedEvent = eventToSelect;
            t1.cpuProfileData = t2.cpuProfileData;
            _this._selectedTimelineEventNotifier.set$value(0, eventToSelect);
            break;
          }
        }
      t1 = t2.cpuProfileData;
      if (t1 != null)
        _this.cpuProfilerController.loadProcessedData$2$storeAsUserTagNone(t1, true);
      _this._displayRefreshRate.set$value(0, t2.displayRefreshRate);
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      var matches, t1, t2, t3, events, _i;
      if (search.length === 0)
        return A._setArrayType([], type$.JSArray_TimelineEvent);
      matches = A._setArrayType([], type$.JSArray_TimelineEvent);
      if (searchPreviousMatches)
        for (t1 = J.get$iterator$ax(this.SearchControllerMixin__searchMatches._change_notifier$_value); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          t3 = B.JSArray_methods.get$first(t2.traceEvents).event.name;
          t3.toString;
          if (A.StringExtension_caseInsensitiveContains(t3, search))
            matches.push(t2);
        }
      else {
        t1 = type$.TimelineEvent;
        events = A.List_List$from(this.data.timelineEvents, true, t1);
        for (t2 = events.length, _i = 0; _i < t2; ++_i)
          A._treeTraversal(events[_i], new A.PerformanceController_matchesForSearch_closure(search, matches), true, null, null, t1);
      }
      return matches;
    },
    toggleHttpRequestLogging$1(state) {
      return this.toggleHttpRequestLogging$body$PerformanceController(state);
    },
    toggleHttpRequestLogging$body$PerformanceController(state) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$toggleHttpRequestLogging$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 = 2;
              return A._asyncAwait(A.HttpService_toggleHttpRequestLogging(state), $async$toggleHttpRequestLogging$1);
            case 2:
              // returning from await.
              $async$self._httpTimelineLoggingEnabled.set$value(0, state);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$toggleHttpRequestLogging$1, $async$completer);
    },
    clearData$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$clearData$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
              $async$goto = t1.service != null && t1.connectedApp != null && t1.connectedApp.get$connectedAppInitialized() ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.clearVMTimeline$0(), $async$clearData$0);
            case 4:
              // returning from await.
            case 3:
              // join
              B.JSArray_methods.clear$0($async$self.allTraceEvents);
              $async$self.offlinePerformanceData = null;
              $async$self.cpuProfilerController.reset$0(0);
              $async$self.threadNamesById.clear$0(0);
              t1 = $async$self.data;
              if (t1 != null)
                t1.clear$0(0);
              t1 = $async$self.__PerformanceController_processor;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1._asyncEventsById.clear$0(0);
              t1.currentDurationEventNodes.clear$0(0);
              t1._previousDurationEndEvents.clear$0(0);
              t1._pendingRootCompleteEvent = null;
              t1._traceEventsProcessed = 0;
              t1._timeline_event_processor$_progressNotifier.set$value(0, 0);
              t1 = $async$self._flutterFrames;
              t1._rawList = A._setArrayType([], t1.$ti._eval$1("JSArray<1>"));
              t1._listChanged$0();
              $async$self._nextTimelineEventIndexToProcess = $async$self._nextTraceIndexToProcess = 0;
              $async$self._unassignedFlutterFrameEvents.clear$0(0);
              $async$self._unassignedFlutterFrames.clear$0(0);
              $async$self.firstWellFormedFrameMicros = null;
              $async$self._selectedTimelineEventNotifier.set$value(0, null);
              $async$self._selectedFrameNotifier.set$value(0, null);
              $async$self._processing.set$value(0, false);
              $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1("performance");
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearData$0, $async$completer);
    }
  };
  A.PerformanceController__initHelper_closure.prototype = {
    call$1($event) {
      var frame,
        t1 = $event.extensionKind;
      if (t1 === "Flutter.Frame") {
        frame = A.FlutterFrame_FlutterFrame$parse($event.extensionData.data);
        t1 = this.$this;
        t1._assignEventsToFrame$1(frame);
        if (t1._recordingFrames._change_notifier$_value) {
          if (t1._pendingFlutterFrames.length !== 0)
            t1._addPendingFlutterFrames$0();
          t1._maybeBadgeTabForJankyFrame$1(frame);
          B.JSArray_methods.add$1(t1.data.frames, frame);
          t1 = t1._flutterFrames;
          B.JSArray_methods.add$1(t1._rawList, frame);
          t1._listChanged$0();
        } else
          t1._pendingFlutterFrames.push(frame);
      } else if (t1 === "Flutter.RebuiltWidgets")
        this.$this.rebuildCountModel.processRebuildEvent$1($event.extensionData.data);
    },
    $signature: 11
  };
  A.PerformanceController__initHelper_closure0.prototype = {
    call$1(_) {
      var t1 = this.$this,
        t2 = t1._performance_controller$_pollingTimer;
      if (t2 != null)
        t2.cancel$0(0);
      t1 = t1._timelinePollingRateLimiter;
      if (t1 != null)
        t1.dispose$0();
    },
    $signature: 86
  };
  A.PerformanceController__initHelper_closure1.prototype = {
    call$1(_) {
      this.$this._timelinePollingRateLimiter.scheduleRequest$0();
    },
    $signature: 84
  };
  A.PerformanceController_toggleSelectedFrame_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$returnValue, $async$self = this, 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._currentFrameBeingSelected !== $async$self.frame) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(t1.processTraceEvents$1(t1.allTraceEvents), $async$call$0);
            case 3:
              // returning from await.
              t1._processing.set$value(0, false);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.PerformanceController__maybeAddEventToUnassignedFrame_closure.prototype = {
    call$0() {
      return A.FrameTimelineEventData$();
    },
    $signature: 448
  };
  A.PerformanceController_processTraceEvents_processTraceEventsHelper.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, 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
              t1 = $async$self.$this;
              t2 = t1.__PerformanceController_processor;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(t2.processTraceEvents$2$startIndex($async$self._box_0.traceEvents, t1._nextTraceIndexToProcess), $async$call$0);
            case 2:
              // returning from await.
              t1._nextTraceIndexToProcess = $async$self.traceEventCount;
              t2 = $async$self._data;
              t2.initializeEventGroups$2$startIndex(t1.threadNamesById, t1._nextTimelineEventIndexToProcess);
              t1._nextTimelineEventIndexToProcess = t2.timelineEvents.length;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.PerformanceController_processTraceEvents_closure.prototype = {
    call$0() {
      return new A.PerformanceScreenMetrics(null, null, null, this.processingTraceCount);
    },
    $signature: 335
  };
  A.PerformanceController__threadIdForEvents_closure.prototype = {
    call$1(trace) {
      return this.targetEventNames.contains$1(0, trace.event.name);
    },
    $signature: 332
  };
  A.PerformanceController_setOfflineData_closure.prototype = {
    call$1(frame) {
      return frame.id === this._offlineData._selectedFrameId;
    },
    $signature: 336
  };
  A.PerformanceController_setOfflineData_closure0.prototype = {
    call$1($event) {
      var t1 = this._offlineData;
      return B.JSArray_methods.get$first($event.traceEvents).event.name == B.JSArray_methods.get$first(t1.selectedEvent.traceEvents).event.name && $event.time.$eq(0, t1.selectedEvent.time);
    },
    $signature: 61
  };
  A.PerformanceController_matchesForSearch_closure.prototype = {
    call$1(e) {
      var t1 = B.JSArray_methods.get$first(e.traceEvents).event.name;
      t1.toString;
      if (A.StringExtension_caseInsensitiveContains(t1, this.search))
        this.matches.push(e);
    },
    $signature: 125
  };
  A._PerformanceController_DisposableController_SearchControllerMixin.prototype = {};
  A._PerformanceController_DisposableController_SearchControllerMixin_AutoDisposeControllerMixin.prototype = {};
  A.PerformanceData.prototype = {
    initializeEventGroups$2$startIndex(threadNamesById, startIndex) {
      var t1, t2, i, $event;
      for (t1 = this.timelineEvents, t2 = this.eventGroups, i = startIndex; i < t1.length; ++i) {
        $event = t1[i];
        t2.putIfAbsent$2(0, A.PerformanceUtils_computeEventGroupKey($event, threadNamesById), new A.PerformanceData_initializeEventGroups_closure()).addEventAtCalculatedRow$1($event);
      }
    },
    clear$0(_) {
      var _this = this;
      J.clear$0$ax(_this.traceEvents);
      _this.cpuProfileData = _this.selectedEvent = null;
      B.JSArray_methods.clear$0(_this.timelineEvents);
      _this.eventGroups._clear$0(0);
      _this.time = new A.TimeRange();
      _this._endTimestampMicros = -1;
      B.JSArray_methods.clear$0(_this.frames);
      _this.selectedFrame = null;
    },
    get$json(_) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.selectedFrame;
      t1 = t1 == null ? null : t1.id;
      t2 = _this.frames;
      t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
      t3 = A.List_List$of(new A.MappedListIterable(t2, new A.PerformanceData_json_closure(), t3), true, t3._eval$1("ListIterable.E"));
      t2 = _this.displayRefreshRate;
      t4 = _this.cpuProfileData;
      t4 = t4 == null ? null : t4.get$toJson();
      if (t4 == null) {
        t4 = type$.dynamic;
        t4 = A.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
      }
      t5 = _this.selectedEvent;
      t5 = t5 == null ? null : t5.get$json(t5);
      if (t5 == null) {
        t5 = type$.dynamic;
        t5 = A.LinkedHashMap_LinkedHashMap$_empty(t5, t5);
      }
      return A.LinkedHashMap_LinkedHashMap$_literal(["selectedFrameId", t1, "flutterFrames", t3, "displayRefreshRate", t2, "traceEvents", _this.traceEvents, "cpuProfile", t4, "selectedEvent", t5], type$.String, type$.dynamic);
    }
  };
  A.PerformanceData_initializeEventGroups_closure.prototype = {
    call$0() {
      return new A.TimelineEventGroup(A._setArrayType([], type$.JSArray_TimelineRowData), A.LinkedHashMap_LinkedHashMap$_empty(type$.TimelineEvent, type$.int));
    },
    $signature: 452
  };
  A.PerformanceData_json_closure.prototype = {
    call$1(frame) {
      return frame.get$json(frame);
    },
    $signature: 453
  };
  A.TimelineEventGroup.prototype = {
    get$sortedEventRoots() {
      var t2,
        t1 = this._sortedEventRoots;
      if (t1 == null) {
        t1 = this.rowIndexForEvent;
        t1 = A.List_List$from(new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")), true, type$.TimelineEvent);
        t2 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        t2 = A.List_List$of(new A.WhereIterable(t1, new A.TimelineEventGroup_sortedEventRoots_closure(), t2), true, t2._eval$1("Iterable.E"));
        B.JSArray_methods.sort$1(t2, new A.TimelineEventGroup_sortedEventRoots_closure0());
        this._sortedEventRoots = t2;
        t1 = t2;
      }
      return t1;
    },
    addEventAtCalculatedRow$1($event) {
      var displayRow,
        currentLargestRowIndex = this.rows.length;
      for (displayRow = 0; displayRow < currentLargestRowIndex;) {
        if (this._eventFitsAtDisplayRow$3($event, displayRow, currentLargestRowIndex))
          break;
        ++displayRow;
      }
      this._addEventAtDisplayRow$2$row($event, displayRow);
    },
    _eventFitsAtDisplayRow$3($event, displayRow, currentLargestRowIndex) {
      var t1, level, t2, lastEventAtLevel, value, firstNewEventAtLevel, t3, t4, t5,
        maxLevelToVerify = Math.min($event.get$displayRows().length, currentLargestRowIndex - displayRow);
      for (t1 = this.rows, level = 0; level < maxLevelToVerify; ++level) {
        t2 = displayRow + level;
        lastEventAtLevel = t2 < t1.length ? t1[t2].lastEvent : null;
        value = $event.__TimelineEvent_displayRows;
        t2 = (value === $ ? $event.__TimelineEvent_displayRows = $event._calculateDisplayRows$0() : value)[level];
        firstNewEventAtLevel = B.JSArray_methods.get$isNotEmpty(t2) ? B.JSArray_methods.get$first(t2) : null;
        if (lastEventAtLevel != null && firstNewEventAtLevel != null) {
          t2 = lastEventAtLevel.time;
          t3 = firstNewEventAtLevel.time;
          t4 = t3._utils$_end;
          t4.toString;
          t4 = t4._duration;
          t5 = t2._utils$_start._duration;
          if (t4 > t5) {
            t3 = t3._utils$_start;
            t3.toString;
            t2 = t3._duration < t2._utils$_end._duration;
          } else
            t2 = false;
          if (t2)
            return false;
          if (t4 < t5)
            return false;
        }
      }
      return true;
    },
    _addEventAtDisplayRow$2$row($event, row) {
      var value, value0, displayRow, t3, t4, _i, e, t5, t6, t7, t8, t0, _this = this,
        t1 = $event.get$displayRows().length,
        t2 = _this.rows,
        i = t2.length;
      if (row + t1 >= i) {
        t1 = type$.JSArray_TimelineEvent;
        while (true) {
          value = $event.__TimelineEvent_displayRows;
          if (!(i < row + (value === $ ? $event.__TimelineEvent_displayRows = $event._calculateDisplayRows$0() : value).length))
            break;
          t2.push(new A.TimelineRowData(A._setArrayType([], t1)));
          ++i;
        }
      }
      t1 = _this.rowIndexForEvent;
      i = 0;
      while (true) {
        value = $event.__TimelineEvent_displayRows;
        if (value === $) {
          value = $event.__TimelineEvent_displayRows = $event._calculateDisplayRows$0();
          value0 = value;
        } else
          value0 = value;
        if (!(i < value.length))
          break;
        displayRow = (value0 === $ ? $event.__TimelineEvent_displayRows = $event._calculateDisplayRows$0() : value0)[i];
        for (t3 = displayRow.length, t4 = row + i, _i = 0; _i < displayRow.length; displayRow.length === t3 || (0, A.throwConcurrentModificationError)(displayRow), ++_i) {
          e = displayRow[_i];
          t5 = _this._timestampsInitialized;
          if (t5) {
            t6 = e.time;
            t7 = t6._utils$_start._duration;
            t8 = _this.__TimelineEventGroup_earliestTimestampMicros;
            if (t8 === $)
              A.throwUnnamedLateFieldNI();
            t8 = Math.min(t7, t8);
            t7 = t6;
            t6 = t8;
          } else {
            t6 = e.time;
            t7 = t6._utils$_start._duration;
            t0 = t7;
            t7 = t6;
            t6 = t0;
          }
          _this.__TimelineEventGroup_earliestTimestampMicros = t6;
          t6 = t7._utils$_end;
          if (t5) {
            e.toString;
            t5 = t6._duration;
            t6 = _this.__TimelineEventGroup_latestTimestampMicros;
            if (t6 === $)
              A.throwUnnamedLateFieldNI();
            t6 = Math.max(t5, t6);
            t5 = t6;
          } else {
            e.toString;
            t5 = t6._duration;
          }
          _this.__TimelineEventGroup_latestTimestampMicros = t5;
          _this._timestampsInitialized = true;
          t2[t4].events.push(e);
          t1.$indexSet(0, e, t4);
          t5 = e.time._utils$_end;
          t5.toString;
          t6 = t2[t4];
          t7 = t6.lastEvent;
          t7 = t7 == null ? null : t7.time._utils$_end;
          if (t7 == null)
            t7 = B.Duration_0;
          if (t5._duration > t7._duration)
            t6.lastEvent = e;
        }
        ++i;
      }
    }
  };
  A.TimelineEventGroup_sortedEventRoots_closure.prototype = {
    call$1($event) {
      return $event.parent == null;
    },
    $signature: 61
  };
  A.TimelineEventGroup_sortedEventRoots_closure0.prototype = {
    call$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.time._utils$_start._duration, b.time._utils$_start._duration);
    },
    $signature: 109
  };
  A.TimelineRowData.prototype = {};
  A.OfflinePerformanceData.prototype = {
    shallowClone$0() {
      var _this = this,
        t1 = _this.selectedFrame,
        t2 = _this.selectedEvent,
        t3 = _this.displayRefreshRate;
      return A.OfflinePerformanceData$_(_this.cpuProfileData, t3, _this.frames, t2, t1, _this._selectedFrameId, _this.traceEvents);
    }
  };
  A.OfflinePerformanceData_parse_closure.prototype = {
    call$1(f) {
      return type$.Map_String_dynamic._as(f);
    },
    $signature: 455
  };
  A.OfflinePerformanceData_parse_closure0.prototype = {
    call$1(f) {
      return A.FlutterFrame_FlutterFrame$parse(f);
    },
    $signature: 456
  };
  A.OfflineTimelineEvent.prototype = {
    OfflineTimelineEvent$1(firstTrace) {
      this.time.set$end(0, A.Duration$(J.$add$ansx(firstTrace.$index(0, "ts"), firstTrace.$index(0, "dur")), 0));
      this.type = B.JSArray_methods.firstWhere$2$orElse(B.List_UWS, new A.OfflineTimelineEvent_closure(firstTrace), new A.OfflineTimelineEvent_closure0());
    },
    couldBeParentOf$1(e) {
      throw A.wrapException(A.UnimplementedError$(string$.This_m));
    },
    _calculateDisplayRows$0() {
      return A.throwExpression(A.UnimplementedError$(string$.This_m));
    }
  };
  A.OfflineTimelineEvent_closure.prototype = {
    call$1(t) {
      return "TimelineEventType." + t._core$_name === J.toString$0$(J.$index$asx(this.firstTrace.$index(0, "args"), "type"));
    },
    $signature: 457
  };
  A.OfflineTimelineEvent_closure0.prototype = {
    call$0() {
      return B.TimelineEventType_3;
    },
    $signature: 458
  };
  A.FlutterFrame.prototype = {
    get$frameAnalysis() {
      var t1, _this = this,
        frameAnalysis_ = _this._frameAnalysis;
      if (frameAnalysis_ != null)
        return frameAnalysis_;
      t1 = _this.timelineEventData._eventFlows;
      if (t1[0] != null || t1[1] != null)
        return _this._frameAnalysis = new A.FrameAnalysis(_this, new A.ValueNotifier(null, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_nullable_FramePhase));
      return null;
    },
    get$shaderDuration() {
      var t1 = {},
        t2 = this._shaderTime;
      if (t2 != null)
        return t2;
      t2 = this.timelineEventData._eventFlows[1];
      if (t2 == null)
        return B.Duration_0;
      t1.sumShaderMicros = 0;
      A.breadthFirstTraversal(t2, new A.FlutterFrame_shaderDuration_closure(t1), null, type$.TimelineEvent);
      return this._shaderTime = A.Duration$(t1.sumShaderMicros, 0);
    },
    setEventFlow$2$type($event, type) {
      this.timelineEventData.setEventFlow$2$event$type($event, type);
    },
    hasShaderJank$1(displayRefreshRate) {
      var _this = this,
        t1 = 1 / displayRefreshRate * 1000,
        quarterFrame = B.JSNumber_methods.round$0(t1 / 4);
      if (B.JSInt_methods._tdivFast$1(_this.rasterTime._duration, 1000) > t1) {
        if (_this.timelineEventData._eventFlows[1] != null) {
          t1 = _this.get$shaderDuration();
          t1 = t1._duration !== B.Duration_0._duration;
        } else
          t1 = false;
        t1 = t1 && _this.get$shaderDuration()._duration > A.Duration$(0, quarterFrame)._duration;
      } else
        t1 = false;
      return t1;
    },
    get$json(_) {
      var _this = this,
        t1 = _this.timeFromFrameTiming,
        t2 = t1._utils$_start._duration;
      return A.LinkedHashMap_LinkedHashMap$_literal(["number", _this.id, "startTime", t2, "elapsed", t1._utils$_end._duration - t2, "build", _this.buildTime._duration, "raster", _this.rasterTime._duration, "vsyncOverhead", _this.vsyncOverheadTime._duration], type$.String, type$.dynamic);
    },
    toString$0(_) {
      var t1 = this.timeFromFrameTiming.toString$0(0),
        t2 = this.timelineEventData._eventFlows,
        t3 = t2[0];
      t3 = A.S(t3 == null ? null : t3.time);
      t2 = t2[1];
      return "Frame " + this.id + " - " + t1 + ", ui: " + t3 + ", raster: " + A.S(t2 == null ? null : t2.time);
    }
  };
  A.FlutterFrame_shaderDuration_closure.prototype = {
    call$1($event) {
      var t1, t2, t3, t4;
      if ($event.get$isShaderEvent()) {
        t1 = $event.parent;
        t1 = t1 == null || !t1.get$isShaderEvent();
      } else
        t1 = false;
      if (t1) {
        t1 = this._box_0;
        t2 = t1.sumShaderMicros;
        t3 = $event.time;
        t4 = t3._utils$_end;
        t4.toString;
        t1.sumShaderMicros = t2 + (t4._duration - t3._utils$_start._duration);
      }
    },
    $signature: 125
  };
  A.FrameTimelineEventData.prototype = {
    setEventFlow$3$event$setTimeData$type($event, setTimeData, type) {
      var t2, _uiEvent,
        t1 = this._eventFlows;
      t1[type.index] = $event;
      if (setTimeData)
        if (type === B.TimelineEventType_0) {
          t2 = this.time;
          t2.set$start(0, $event.time._utils$_start);
          if (t1[1] != null)
            t2.set$end(0, $event.time._utils$_end);
        } else if (type === B.TimelineEventType_1) {
          _uiEvent = t1[0];
          if (_uiEvent != null) {
            t1 = _uiEvent.time._utils$_end._duration;
            t2 = $event.time._utils$_end;
            t2 = t2 == null ? null : t2._duration;
            if (t2 == null)
              t2 = 0;
            this.time.set$end(0, A.Duration$(Math.max(t1, t2), 0));
          }
        }
    },
    setEventFlow$2$event$type($event, type) {
      return this.setEventFlow$3$event$setTimeData$type($event, true, type);
    },
    eventByType$1(type) {
      if (type === B.TimelineEventType_0)
        return this._eventFlows[0];
      if (type === B.TimelineEventType_1)
        return this._eventFlows[1];
      return null;
    }
  };
  A.TimelineEvent0.prototype = {
    get$traceWrapperId() {
      var t1 = this._traceWrapperId;
      return t1 == null ? this._traceWrapperId = B.JSArray_methods.get$first(this.traceEvents).wrapperId : t1;
    },
    get$name(_) {
      return B.JSArray_methods.get$first(this.traceEvents).event.name;
    },
    get$groupKey() {
      var t1 = B.JSArray_methods.get$first(this.traceEvents).event.args;
      t1.toString;
      return J.$index$asx(t1, "filterKey");
    },
    get$endTraceEventJson() {
      var t1 = this.traceEvents;
      return t1.length > 1 ? B.JSArray_methods.get$last(t1).event.json : null;
    },
    get$isShaderEvent() {
      var _s11_ = "devtoolsTag",
        t1 = this.traceEvents,
        t2 = B.JSArray_methods.get$first(t1).event.args;
      t2.toString;
      if (!J.$eq$(J.$index$asx(t2, _s11_), "shaders")) {
        t1 = B.JSArray_methods.get$last(t1).event.args;
        t1.toString;
        t1 = J.$eq$(J.$index$asx(t1, _s11_), "shaders");
      } else
        t1 = true;
      return t1;
    },
    get$isWellFormed() {
      var t1 = this.time;
      return t1._utils$_start != null && t1._utils$_end != null;
    },
    get$tooltip() {
      var t1 = B.JSArray_methods.get$first(this.traceEvents).event,
        t2 = this.time,
        t3 = t2._utils$_end;
      t3.toString;
      return A.S(t1.name) + " - " + A.msText(new A.Duration(t3._duration - t2._utils$_start._duration), 1);
    },
    _isWellFormedDeep$1($event) {
      var t1 = A._instanceType(this)._eval$1("TreeNode.T");
      return A.breadthFirstTraversal(t1._as(this), null, new A.TimelineEvent__isWellFormedDeep_closure(), t1) == null;
    },
    get$displayRows() {
      var value = this.__TimelineEvent_displayRows;
      return value === $ ? this.__TimelineEvent_displayRows = this._calculateDisplayRows$0() : value;
    },
    _expandDisplayRows$2$newRowLength$rows(newRowLength, rows) {
      var t1, i,
        currentLength = rows.length;
      for (t1 = type$.JSArray_TimelineEvent, i = currentLength; i < newRowLength; ++i)
        rows.push(A._setArrayType([], t1));
    },
    _mergeChildDisplayRows$3$child$mergeStartLevel$rows(child, mergeStartLevel, rows) {
      var i, _this = this,
        childDisplayRows = child.get$displayRows();
      _this._expandDisplayRows$2$newRowLength$rows(mergeStartLevel + childDisplayRows.length, rows);
      for (i = 0; i < childDisplayRows.length; ++i)
        B.JSArray_methods.addAll$1(rows[mergeStartLevel + i], childDisplayRows[i]);
      if (mergeStartLevel >= _this._lowestDisplayChildRow) {
        _this._lowestDisplayChildRow = mergeStartLevel;
        _this.__TimelineEvent__lowestDisplayChild = child;
      }
    },
    addEndEvent$1(eventWrapper) {
      var t1 = this.time,
        t2 = eventWrapper.event.timestampMicros;
      t2.toString;
      t1.set$end(0, A.Duration$(t2, 0));
      this.traceEvents.push(eventWrapper);
    },
    maybeRemoveDuplicate$0() {
      var t2,
        t1 = new A.TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate();
      if (this.children.length !== 0)
        t1.call$1$parent(this);
      t2 = this.parent;
      if (t2 != null)
        t1.call$1$parent(t2);
    },
    removeChild$1(childToRemove) {
      B.JSArray_methods.forEach$1(A.List_List$from(childToRemove.children, true, type$.TimelineEvent), this.get$_addChild());
      B.JSArray_methods.remove$1(this.children, childToRemove);
    },
    addChild$2$index(child, index) {
      new A.TimelineEvent_addChild__putChildInTree(child).call$1(this);
    },
    addChild$1(child) {
      return this.addChild$2$index(child, null);
    },
    _addChild$1(child) {
      this.children.push(child);
      child.parent = this;
    },
    format$2(_, buf, indent) {
      var t1, t2, t3, _i;
      buf._contents += indent + A.S(B.JSArray_methods.get$first(this.traceEvents).event.name) + " " + this.time.toString$0(0) + "\n";
      for (t1 = this.children, t2 = t1.length, t3 = "  " + indent, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        J.format$2$x(t1[_i], buf, t3);
    },
    get$json(_) {
      var t3, t4,
        t1 = type$.dynamic,
        modifiedTrace = A.LinkedHashMap_LinkedHashMap$from(B.JSArray_methods.get$first(this.traceEvents).event.json, t1, t1),
        t2 = type$.String;
      J.addAll$1$ax(modifiedTrace.$index(0, "args"), A.LinkedHashMap_LinkedHashMap$_literal(["type", "TimelineEventType." + this.type._core$_name], t2, t2));
      if (!modifiedTrace.containsKey$1(0, "dur")) {
        t3 = this.time;
        t4 = t3._utils$_end;
        t4.toString;
        modifiedTrace.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["dur", t4._duration - t3._utils$_start._duration], t1, t1));
      }
      return A.LinkedHashMap_LinkedHashMap$_literal(["firstTrace", modifiedTrace], t2, t1);
    },
    toString$0(_) {
      var t1,
        buf = new A.StringBuffer("");
      this.format$2(0, buf, "  ");
      t1 = buf._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.TimelineEvent__isWellFormedDeep_closure.prototype = {
    call$1(e) {
      return !e.get$isWellFormed();
    },
    $signature: 61
  };
  A.TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate.prototype = {
    call$1$parent($parent) {
      var t1 = $parent.children;
      if (t1.length === 1 && A.collectionEquals(B.JSArray_methods.get$first($parent.traceEvents).event.json, B.JSArray_methods.get$first(B.JSArray_methods.get$first(t1).traceEvents).event.json) && A.collectionEquals($parent.get$endTraceEventJson(), B.JSArray_methods.get$first(t1).get$endTraceEventJson()))
        $parent.removeChild$1(B.JSArray_methods.get$first(t1));
    },
    $signature: 459
  };
  A.TimelineEvent_addChild__putChildInTree.prototype = {
    call$1(root) {
      var t2, _children, childrenToReorder, t3, _i, otherChild, t4, t5,
        t1 = root.children;
      if (t1.length === 0) {
        t2 = this.child;
        t1.push(t2);
        t2.parent = root;
        return;
      }
      _children = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      childrenToReorder = A._setArrayType([], type$.JSArray_TimelineEvent);
      for (t2 = _children.length, t3 = this.child, _i = 0; _i < _children.length; _children.length === t2 || (0, A.throwConcurrentModificationError)(_children), ++_i) {
        otherChild = _children[_i];
        if (t3.couldBeParentOf$1(otherChild))
          childrenToReorder.push(otherChild);
      }
      if (childrenToReorder.length !== 0) {
        t1.push(t3);
        t3.parent = root;
        for (t2 = childrenToReorder.length, t4 = t3.children, _i = 0; _i < childrenToReorder.length; childrenToReorder.length === t2 || (0, A.throwConcurrentModificationError)(childrenToReorder), ++_i) {
          otherChild = childrenToReorder[_i];
          t4.push(otherChild);
          otherChild.parent = t3;
          B.JSArray_methods.remove$1(t1, otherChild);
        }
        return;
      }
      for (t2 = A._arrayInstanceType(_children)._eval$1("ReversedListIterable<1>"), t4 = new A.ReversedListIterable(_children, t2), t4 = new A.ListIterator(t4, t4.get$length(t4), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t4.moveNext$0();) {
        t5 = t4.__internal$_current;
        if (t5 == null)
          t5 = t2._as(t5);
        if (t5.couldBeParentOf$1(t3)) {
          this.call$1(t5);
          return;
        }
      }
      t1.push(t3);
      t3.parent = root;
    },
    $signature: 125
  };
  A.SyncTimelineEvent.prototype = {
    get$flutterFrameNumber() {
      var frameNumber,
        t1 = this._flutterFrameNumber;
      if (t1 != null)
        return t1;
      t1 = B.JSArray_methods.get$first(this.traceEvents).event.args;
      t1.toString;
      frameNumber = J.$index$asx(t1, "frame_number");
      return this._flutterFrameNumber = frameNumber != null ? A.Primitives_parseInt(frameNumber, null) : null;
    },
    get$maxEndMicros() {
      return this.time._utils$_end._duration;
    },
    _calculateDisplayRows$0() {
      var t1, t2, _i, _this = this,
        rows = A._setArrayType([], type$.JSArray_List_TimelineEvent);
      _this._expandDisplayRows$2$newRowLength$rows(_this.get$depth(), rows);
      rows[0].push(_this);
      for (t1 = _this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        _this._mergeChildDisplayRows$3$child$mergeStartLevel$rows(t1[_i], 1, rows);
      return rows;
    },
    couldBeParentOf$1(e) {
      var endTime, eStartTime, eEndTime, eFirstTraceId,
        t1 = this.time,
        startTime = t1._utils$_start._duration;
      t1 = t1._utils$_end;
      endTime = t1 == null ? null : t1._duration;
      t1 = e.time;
      eStartTime = t1._utils$_start._duration;
      t1 = t1._utils$_end;
      eEndTime = t1 == null ? null : t1._duration;
      eFirstTraceId = e.get$traceWrapperId();
      t1 = endTime != null;
      if (t1 && eEndTime != null) {
        if (startTime === eStartTime && endTime === eEndTime)
          return this.get$traceWrapperId() < eFirstTraceId;
        return startTime <= eStartTime && endTime >= eEndTime;
      } else if (t1)
        return startTime <= eStartTime && endTime > eStartTime;
      else if (startTime === eStartTime)
        return this.get$traceWrapperId() < eFirstTraceId;
      else
        return startTime < eStartTime;
    }
  };
  A.AsyncTimelineEvent.prototype = {
    get$parentAsyncUID() {
      return A.generateAsyncUID(B.JSArray_methods.get$first(this.traceEvents).event.category, this._parentId, null);
    },
    get$maxEndMicros() {
      var t1 = this._maxEndMicros;
      return t1 == null ? this._calculateMaxEndMicros$0() : t1;
    },
    _calculateMaxEndMicros$0() {
      var maxEnd, t2, t3, _this = this,
        t1 = _this.children;
      if (t1.length === 0)
        return _this.time._utils$_end._duration;
      maxEnd = _this.time._utils$_end._duration;
      for (t2 = A._arrayInstanceType(t1)._eval$1("CastList<1,AsyncTimelineEvent>"), t1 = new A.CastList(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        maxEnd = Math.max(maxEnd, (t3 == null ? t2._as(t3) : t3)._calculateMaxEndMicros$0());
      }
      return _this._maxEndMicros = maxEnd;
    },
    _calculateDisplayRows$0() {
      var t1, t2, i, child, _this = this,
        rows = A._setArrayType([], type$.JSArray_List_TimelineEvent);
      _this._expandDisplayRows$2$newRowLength$rows(1, rows);
      rows[0].push(_this);
      for (t1 = _this.children, t2 = type$.AsyncTimelineEvent, i = 0; i < t1.length; ++i) {
        child = t2._as(t1[i]);
        if (i === 0 || _this._eventFitsAtDisplayRow$4$currentLargestRowIndex$displayRow$event$rows(rows.length, 1, child, rows))
          _this._mergeChildDisplayRows$3$child$mergeStartLevel$rows(child, 1, rows);
        else
          _this._mergeChildDisplayRows$3$child$mergeStartLevel$rows(child, rows.length, rows);
      }
      return rows;
    },
    _eventFitsAtDisplayRow$4$currentLargestRowIndex$displayRow$event$rows(currentLargestRowIndex, displayRow, $event, rows) {
      var level, t1, lastEventAtLevel, value, firstNewEventAtLevel, t2, t3, t4, lastEventParent, firstNewEventParent,
        maxLevelToVerify = Math.min($event.get$displayRows().length, currentLargestRowIndex - displayRow);
      for (level = 0; level < maxLevelToVerify; ++level) {
        t1 = rows[displayRow + level];
        lastEventAtLevel = B.JSArray_methods.get$isNotEmpty(t1) ? B.JSArray_methods.get$last(t1) : null;
        value = $event.__TimelineEvent_displayRows;
        t1 = (value === $ ? $event.__TimelineEvent_displayRows = $event._calculateDisplayRows$0() : value)[level];
        firstNewEventAtLevel = B.JSArray_methods.get$isNotEmpty(t1) ? B.JSArray_methods.get$first(t1) : null;
        if (lastEventAtLevel != null && firstNewEventAtLevel != null) {
          t1 = lastEventAtLevel.time;
          t2 = firstNewEventAtLevel.time;
          t3 = t2._utils$_end;
          t3.toString;
          t3 = t3._duration;
          t4 = t1._utils$_start._duration;
          if (t3 > t4) {
            t2 = t2._utils$_start;
            t2.toString;
            t2 = t2._duration < t1._utils$_end._duration;
          } else
            t2 = false;
          if (t2)
            return false;
          if (t3 < t4)
            return false;
          lastEventParent = lastEventAtLevel.parent;
          firstNewEventParent = firstNewEventAtLevel.parent;
          if (lastEventParent != null)
            if (firstNewEventParent != null)
              if (lastEventParent === firstNewEventParent) {
                t1 = t1._utils$_end;
                t1.toString;
                t1 = t1._duration >= lastEventParent.time._utils$_end._duration;
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
          if (t1)
            return false;
        }
      }
      return true;
    },
    addChild$2$index(child, index) {
      var _this = this;
      type$.AsyncTimelineEvent._as(child);
      if (child._parentId != null && child.get$parentAsyncUID() === B.JSArray_methods.get$first(_this.traceEvents).event.get$asyncUID()) {
        _this.children.push(child);
        child.parent = _this;
      } else
        _this.super$TimelineEvent$addChild(child, null);
    },
    addChild$1(child) {
      return this.addChild$2$index(child, null);
    },
    couldBeParentOf$1(e) {
      var t1, t2, t3, startTime, endTime, eStartTime, eEndTime, _s2_ = "id";
      type$.AsyncTimelineEvent._as(e);
      if (e._parentId != null)
        return B.JSArray_methods.get$first(this.traceEvents).event.get$asyncUID() === e.get$parentAsyncUID();
      t1 = this.traceEvents;
      t2 = e.traceEvents;
      if (B.JSArray_methods.get$first(t1).event.get$asyncUID() !== B.JSArray_methods.get$first(t2).event.get$asyncUID())
        return false;
      t3 = this.time;
      startTime = t3._utils$_start._duration;
      t3 = t3._utils$_end;
      endTime = t3 == null ? null : t3._duration;
      t3 = e.time;
      eStartTime = t3._utils$_start._duration;
      t3 = t3._utils$_end;
      eEndTime = t3 == null ? null : t3._duration;
      t3 = endTime != null;
      if (t3 && eEndTime != null) {
        if (startTime === eStartTime && endTime === eEndTime) {
          t1 = J.$index$asx(B.JSArray_methods.get$first(t1).event.json, _s2_);
          t1.toString;
          t1 = A.int_parse(t1, 16);
          t2 = J.$index$asx(B.JSArray_methods.get$first(t2).event.json, _s2_);
          t2.toString;
          return t1 < A.int_parse(t2, 16);
        }
        return startTime <= eStartTime && endTime >= eEndTime;
      } else if (t3)
        return startTime <= eStartTime && endTime > eStartTime;
      else if (startTime === eStartTime) {
        t1 = J.$index$asx(B.JSArray_methods.get$first(t1).event.json, _s2_);
        t1.toString;
        t1 = A.int_parse(t1, 16);
        t2 = J.$index$asx(B.JSArray_methods.get$first(t2).event.json, _s2_);
        t2.toString;
        return t1 < A.int_parse(t2, 16);
      } else
        return startTime < eStartTime;
    },
    endAsyncEvent$1(eventWrapper) {
      var t1, t2, t3, _this = this;
      if (_this.get$endTraceEventJson() != null)
        return false;
      if (B.JSArray_methods.get$first(_this.traceEvents).event.name == eventWrapper.event.name) {
        _this.addEndEvent$1(eventWrapper);
        return true;
      }
      for (t1 = _this.children, t2 = A._arrayInstanceType(t1)._eval$1("CastList<1,AsyncTimelineEvent>"), t1 = new A.CastList(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if ((t3 == null ? t2._as(t3) : t3).endAsyncEvent$1(eventWrapper))
          return true;
      }
      return false;
    }
  };
  A.FrameAnalysis.prototype = {
    selectFramePhase$1(block) {
      this._selectedPhase.set$value(0, block);
    },
    get$buildPhase() {
      var value = this.__FrameAnalysis_buildPhase;
      return value === $ ? this.__FrameAnalysis_buildPhase = this._generateBuildPhase$0() : value;
    },
    _generateBuildPhase$0() {
      var t1,
        uiEvent = this.frame.timelineEventData._eventFlows[0];
      if (uiEvent == null)
        return A.FramePhase$_(null, A._setArrayType([], type$.JSArray_SyncTimelineEvent), "Build");
      t1 = uiEvent.childrenWithCondition$1(new A.FrameAnalysis__generateBuildPhase_closure());
      return A.FramePhase$_(null, new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,SyncTimelineEvent>")), "Build");
    },
    get$layoutPhase() {
      var value = this.__FrameAnalysis_layoutPhase;
      return value === $ ? this.__FrameAnalysis_layoutPhase = this._generateLayoutPhase$0() : value;
    },
    _generateLayoutPhase$0() {
      var t1, layoutEvent,
        uiEvent = this.frame.timelineEventData._eventFlows[0];
      if (uiEvent == null)
        return A.FramePhase$_(null, A._setArrayType([], type$.JSArray_SyncTimelineEvent), "Layout");
      t1 = A._instanceType(uiEvent)._eval$1("TreeNode.T");
      layoutEvent = A.breadthFirstTraversal(t1._as(uiEvent), null, new A.FrameAnalysis__generateLayoutPhase_closure(), t1);
      t1 = A._setArrayType([], type$.JSArray_SyncTimelineEvent);
      if (layoutEvent != null)
        t1.push(type$.SyncTimelineEvent._as(layoutEvent));
      return A.FramePhase$_(null, t1, "Layout");
    },
    get$paintPhase() {
      var value = this.__FrameAnalysis_paintPhase;
      return value === $ ? this.__FrameAnalysis_paintPhase = this._generatePaintPhase$0() : value;
    },
    _generatePaintPhase$0() {
      var t1, paintEvent,
        uiEvent = this.frame.timelineEventData._eventFlows[0];
      if (uiEvent == null)
        return A.FramePhase$_(null, A._setArrayType([], type$.JSArray_SyncTimelineEvent), "Paint");
      t1 = A._instanceType(uiEvent)._eval$1("TreeNode.T");
      paintEvent = A.breadthFirstTraversal(t1._as(uiEvent), null, new A.FrameAnalysis__generatePaintPhase_closure(), t1);
      t1 = A._setArrayType([], type$.JSArray_SyncTimelineEvent);
      if (paintEvent != null)
        t1.push(type$.SyncTimelineEvent._as(paintEvent));
      return A.FramePhase$_(null, t1, "Paint");
    },
    get$rasterPhase() {
      var t1, t2,
        value = this.__FrameAnalysis_rasterPhase;
      if (value === $) {
        t1 = A._setArrayType([], type$.JSArray_SyncTimelineEvent);
        t2 = this.frame.timelineEventData._eventFlows[1];
        if (t2 != null)
          t1.push(t2);
        value = this.__FrameAnalysis_rasterPhase = A.FramePhase$_(null, t1, "Raster");
      }
      return value;
    },
    get$longestFramePhase() {
      var value = this.__FrameAnalysis_longestFramePhase;
      return value === $ ? this.__FrameAnalysis_longestFramePhase = this._calculateLongestFramePhase$0() : value;
    },
    _calculateLongestFramePhase$0() {
      var longestPhase, t1, longestPhaseTime, _i, block, longestPhaseTime0, _this = this;
      if (_this.get$rasterPhase().duration._duration > _this.frame.buildTime._duration)
        return _this.get$rasterPhase();
      longestPhase = A._Cell$named("longestPhase");
      for (t1 = [_this.get$buildPhase(), _this.get$layoutPhase(), _this.get$paintPhase()], longestPhaseTime = B.Duration_0, _i = 0; _i < 3; ++_i) {
        block = t1[_i];
        longestPhaseTime0 = block.duration;
        if (longestPhaseTime0._duration > longestPhaseTime._duration) {
          longestPhase.__late_helper$_value = block;
          longestPhaseTime = longestPhaseTime0;
        }
      }
      return longestPhase._readLocal$0();
    }
  };
  A.FrameAnalysis__generateBuildPhase_closure.prototype = {
    call$1($event) {
      var t1 = B.JSArray_methods.get$first($event.traceEvents).event.name;
      t1 = t1 == null ? null : A.StringExtension_caseInsensitiveEquals(t1, "Build");
      return t1 === true;
    },
    $signature: 61
  };
  A.FrameAnalysis__generateLayoutPhase_closure.prototype = {
    call$1($event) {
      var t1 = B.JSArray_methods.get$first($event.traceEvents).event.name;
      t1 = t1 == null ? null : A.StringExtension_caseInsensitiveEquals(t1, "Layout");
      return t1 === true;
    },
    $signature: 61
  };
  A.FrameAnalysis__generatePaintPhase_closure.prototype = {
    call$1($event) {
      var t1 = B.JSArray_methods.get$first($event.traceEvents).event.name;
      t1 = t1 == null ? null : A.StringExtension_caseInsensitiveEquals(t1, "Paint");
      return t1 === true;
    },
    $signature: 61
  };
  A.FramePhase.prototype = {};
  A.FramePhase$__closure.prototype = {
    call$2(previous, $event) {
      var t1 = $event.time,
        t2 = t1._utils$_end;
      t2.toString;
      t1 = t1._utils$_start._duration;
      return new A.Duration(previous._duration + (t2._duration - t1));
    },
    $signature: 461
  };
  A._TimelineEvent_TreeNode_DataSearchStateMixin.prototype = {};
  A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin.prototype = {};
  A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin.prototype = {};
  A.PerformanceScreen.prototype = {
    get$docPageId() {
      return "performance";
    },
    build$1(context) {
      return B.PerformanceScreenBody_null;
    }
  };
  A.PerformanceScreenBody.prototype = {
    createState$0() {
      return new A.PerformanceScreenBodyState(null, false, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.PerformanceScreenBodyState.prototype = {
    initState$0() {
      this.super$State$initState();
      A.screen("performance");
      this.addAutoDisposeListener$1($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode);
    },
    didChangeDependencies$0() {
      var t1, t2, timelineJson, offlinePerformanceData, _this = this,
        _s11_ = "performance",
        _s11_0 = "traceEvents";
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      A.maybePushUnsupportedFlutterVersionWarning(t1, _s11_, new A.SemanticVersion(2, 3, 0, 16, 0));
      t1 = _this._framework$_element;
      t1.toString;
      A.maybePushDebugModePerformanceMessage(t1, _s11_);
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      t1 = _this.ProvidedControllerMixin__controller._processing;
      _this.processing = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A.PerformanceScreenBodyState_didChangeDependencies_closure(_this));
      t1 = _this.ProvidedControllerMixin__controller.__PerformanceController_processor;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._timeline_event_processor$_progressNotifier;
      _this.processingProgress = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A.PerformanceScreenBodyState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$1(_this.ProvidedControllerMixin__controller._selectedFrameNotifier);
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL).shouldLoadOfflineData$1(_s11_) && J.$index$asx($.globals.$index(0, B.Type_OfflineModeController_ECL).offlineDataJson, _s11_0) != null) {
        t1 = type$.String;
        t2 = type$.dynamic;
        timelineJson = A.LinkedHashMap_LinkedHashMap$from(J.$index$asx($.globals.$index(0, B.Type_OfflineModeController_ECL).offlineDataJson, _s11_), t1, t2);
        timelineJson.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["traceEvents", J.$index$asx($.globals.$index(0, B.Type_OfflineModeController_ECL).offlineDataJson, _s11_0)], t1, t2));
        offlinePerformanceData = A.OfflinePerformanceData_parse(timelineJson);
        if (!J.get$isEmpty$asx(offlinePerformanceData.traceEvents))
          _this.loadOfflineData$1(offlinePerformanceData);
      }
    },
    build$1(context) {
      var t1, isOfflineFlutterApp, t2, t3, _this = this, _null = null;
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
        t1 = _this.ProvidedControllerMixin__controller.offlinePerformanceData;
        isOfflineFlutterApp = t1 != null && t1.frames.length !== 0;
      } else
        isOfflineFlutterApp = false;
      t1 = type$.JSArray_Widget;
      t2 = A._setArrayType([], t1);
      if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        t2.push(_this._buildPerformanceControls$0());
      t2.push(B.SizedBox_null_6_null_null);
      if (!isOfflineFlutterApp)
        if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
          t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
          t3.toString;
        } else
          t3 = false;
      else
        t3 = true;
      if (t3) {
        t3 = _this.ProvidedControllerMixin__controller;
        t2.push(new A.DualValueListenableBuilder(t3._flutterFrames, t3._displayRefreshRate, new A.PerformanceScreenBodyState_build_closure(), _null, _null, type$.DualValueListenableBuilder_of_List_FlutterFrame_and_double));
      }
      t3 = _this.ProvidedControllerMixin__controller;
      t3.toString;
      t2.push(A.Expanded$(A.Split$(B.Axis_1, A._setArrayType([new A.TabbedPerformanceView(t3, _this.processing, _this.processingProgress, _null), new A.ValueListenableBuilder(t3._selectedTimelineEventNotifier, new A.PerformanceScreenBodyState_build_closure0(), _null, _null, type$.ValueListenableBuilder_nullable_TimelineEvent)], t1), B.List_ynv, _null, _null), 1));
      t1 = A._setArrayType([A.Column$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t1);
      if (_this.OfflineScreenMixin__loadingOfflineData)
        t1.push(A.Container$(_null, B.CenteredCircularProgressIndicator_null, B.Clip_0, A.Theme_of(context).scaffoldBackgroundColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t1, _null);
    },
    _buildPerformanceControls$0() {
      var _null = null,
        t1 = this.ProvidedControllerMixin__controller;
      t1.toString;
      return A.Row$(A._setArrayType([new A._PrimaryControls0(t1, this.processing, new A.PerformanceScreenBodyState__buildPerformanceControls_closure(this), _null), B.SizedBox_16_null_null_null, new A.SecondaryPerformanceControls(t1, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
    },
    processOfflineData$1(offlineData) {
      return this.processOfflineData$body$PerformanceScreenBodyState(offlineData);
    },
    processOfflineData$body$PerformanceScreenBodyState(offlineData) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processOfflineData$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 = 2;
              return A._asyncAwait($async$self.ProvidedControllerMixin__controller.processOfflineData$1(offlineData), $async$processOfflineData$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$processOfflineData$1, $async$completer);
    }
  };
  A.PerformanceScreenBodyState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.PerformanceScreenBodyState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A.PerformanceScreenBodyState_didChangeDependencies__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.processing = t1.ProvidedControllerMixin__controller._processing._change_notifier$_value;
    },
    $signature: 0
  };
  A.PerformanceScreenBodyState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.PerformanceScreenBodyState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A.PerformanceScreenBodyState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.ProvidedControllerMixin__controller.__PerformanceController_processor;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.processingProgress = t2._timeline_event_processor$_progressNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A.PerformanceScreenBodyState_build_closure.prototype = {
    call$4(context, $frames, displayRefreshRate, child) {
      return new A.FlutterFramesChart($frames, displayRefreshRate, null);
    },
    $signature: 462
  };
  A.PerformanceScreenBodyState_build_closure0.prototype = {
    call$3(context, selectedEvent, _) {
      return new A.EventDetails(selectedEvent, null);
    },
    $signature: 463
  };
  A.PerformanceScreenBodyState__buildPerformanceControls_closure.prototype = {
    call$0() {
      return this.$this.setState$1(new A.PerformanceScreenBodyState__buildPerformanceControls__closure());
    },
    $signature: 0
  };
  A.PerformanceScreenBodyState__buildPerformanceControls__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._PrimaryControls0.prototype = {
    build$1(context) {
      var _this = this;
      return new A.ValueListenableBuilder(_this.controller._recordingFrames, new A._PrimaryControls_build_closure2(_this), A.OutlinedIconButton$(B.IconData_57569_MaterialIcons_false, _this.processing ? null : _this.get$_clearPerformanceData(), "Clear"), null, type$.ValueListenableBuilder_bool);
    },
    _pauseFrameRecording$0() {
      A.select("performance", "pause", false, null);
      this.controller._recordingFrames.set$value(0, false);
    },
    _resumeFrameRecording$0() {
      A.select("performance", "resume", false, null);
      var t1 = this.controller;
      t1._recordingFrames.set$value(0, true);
      t1._addPendingFlutterFrames$0();
    },
    _clearPerformanceData$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_clearPerformanceData$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
              A.select("performance", "clear", false, null);
              $async$goto = 2;
              return A._asyncAwait($async$self.controller.clearData$0(0), $async$_clearPerformanceData$0);
            case 2:
              // returning from await.
              $async$self.onClear.call$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_clearPerformanceData$0, $async$completer);
    }
  };
  A._PrimaryControls_build_closure2.prototype = {
    call$3(context, recording, child) {
      var _null = null,
        t1 = A.OutlinedIconButton$(B.IconData_58492_MaterialIcons_false, recording ? this.$this.get$_pauseFrameRecording() : _null, "Pause frame recording"),
        t2 = A.OutlinedIconButton$(B.IconData_58571_MaterialIcons_false, recording ? _null : this.$this.get$_resumeFrameRecording(), "Resume frame recording");
      child.toString;
      return A.Row$(A._setArrayType([t1, B.SizedBox_8_null_null_null, t2, B.SizedBox_8_null_null_null, child], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 121
  };
  A.SecondaryPerformanceControls.prototype = {
    build$1(context) {
      var _null = null,
        t1 = type$.JSArray_Widget,
        t2 = A._setArrayType([], t1),
        t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
      t3.toString;
      if (t3)
        B.JSArray_methods.addAll$1(t2, A._setArrayType([new A.ServiceExtensionButtonGroup(1075, A._setArrayType([$.$get$performanceOverlay()], type$.JSArray_ToggleableServiceExtensionDescription_dynamic), _null), B.SizedBox_8_null_null_null, B.EnhanceTracingButton_null, B.SizedBox_8_null_null_null, B.MoreDebuggingOptionsButton_null], t1));
      t2.push(B.SizedBox_8_null_null_null);
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager.flag$1("profile_period");
      t1.toString;
      t2.push(new A.ProfileGranularityDropdown("performance", t1, _null));
      t2.push(B.SizedBox_16_null_null_null);
      t2.push(A.OutlinedIconButton$(B.IconData_57962_MaterialIcons_false, new A.SecondaryPerformanceControls_build_closure(this, context), "Export data"));
      t2.push(B.SizedBox_8_null_null_null);
      t2.push(A.SettingsOutlinedButton$(new A.SecondaryPerformanceControls_build_closure0(this, context), _null));
      return A.Row$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null);
    },
    _performance_screen$_openSettingsDialog$1(context) {
      A.showDialog(true, new A.SecondaryPerformanceControls__openSettingsDialog_closure(this), context, type$.dynamic);
    }
  };
  A.SecondaryPerformanceControls_build_closure.prototype = {
    call$0() {
      var t1, t2, exportedFile,
        _s11_ = "performance";
      A.select(_s11_, "export", false, null);
      t1 = this.$this.controller;
      t2 = t1._performance_controller$_exportController;
      t1 = t1.data;
      exportedFile = t2.downloadFile$1(t2.encode$2(_s11_, t1.get$json(t1)));
      A.Notifications_of(this.context).push$1("Successfully exported " + exportedFile + " to ~/Downloads directory");
      return null;
    },
    $signature: 0
  };
  A.SecondaryPerformanceControls_build_closure0.prototype = {
    call$0() {
      return this.$this._performance_screen$_openSettingsDialog$1(this.context);
    },
    $signature: 0
  };
  A.SecondaryPerformanceControls__openSettingsDialog_closure.prototype = {
    call$1(context) {
      return new A.PerformanceSettingsDialog(this.$this.controller, null);
    },
    $signature: 464
  };
  A.MoreDebuggingOptionsButton.prototype = {
    build$1(context) {
      var t5, _null = null,
        t1 = A._setArrayType([$.$get$disableClipLayers(), $.$get$disableOpacityLayers(), $.$get$disablePhysicalShapeLayers()], type$.JSArray_ToggleableServiceExtensionDescription_dynamic),
        t2 = type$.JSArray_Widget,
        t3 = A._setArrayType([A.Text$("After toggling a rendering layer on/off, reproduce the activity in your app to see the effects. All layers are rendered by default - disabling a layer might help identify expensive operations in your app.", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], t2),
        t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuildNow();
      t4.toString;
      if (t4) {
        t4 = A.Theme_of(context);
        t5 = A.TextStyle$(_null, _null, t4.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        B.JSArray_methods.addAll$1(t3, A._setArrayType([B.SizedBox_null_8_null_null, A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, t5.copyWith$1$color(t4.colorScheme.brightness === B.Brightness_1 ? B.Color_4289017637 : B.Color_4292908944), "These debugging options aren't available in profile mode. To use them, run your app in debug mode."), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0)], t2));
      }
      return A.ServiceExtensionCheckboxGroupButton$(B.Map_empty12, t1, B.IconData_57622_MaterialIcons_false, 1075, A.Column$(t3, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), 720, "More debugging options", "Opens a list of options you can use to help debug performance");
    }
  };
  A.PerformanceSettingsDialog.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.Text$("Performance Settings", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null),
        t2 = B.JSNumber_methods.roundToDouble$0(700 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = this.controller,
        t4 = type$.JSArray_Widget,
        t5 = A._setArrayType([new A.TimelineStreamSettings(t3, _null)], t4),
        t6 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
      t6.toString;
      if (t6)
        B.JSArray_methods.addAll$1(t5, A._setArrayType([B.SizedBox_null_8_null_null, new A.FlutterSettings(t3, _null)], t4));
      t2 = A.Container$(_null, A.Column$(t5, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t4), t2, false, true, t1);
    }
  };
  A.TimelineStreamSettings.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        t1 = type$.JSArray_Widget,
        t2 = A.List_List$of(A._setArrayType([A.Text$("Recorded Timeline Streams", _null, _null, _null, _null, _null, theme.textTheme.titleMedium, _null, _null, _null, _null), B.PaddedDivider_wEo], t1), true, type$.Widget);
      B.JSArray_methods.addAll$1(t2, this._defaultRecordedStreams$1(theme));
      t1 = A._setArrayType([A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Advanced"), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0)], t1);
      B.JSArray_methods.addAll$1(t1, this._timelineStreams$2$advanced(theme, true));
      B.JSArray_methods.addAll$1(t2, t1);
      return A.Column$(t2, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _defaultRecordedStreams$1(theme) {
      var _null = null,
        t1 = A._setArrayType([A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "Default"), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0)], type$.JSArray_Widget);
      B.JSArray_methods.addAll$1(t1, this._timelineStreams$2$advanced(theme, false));
      t1.push(A.CheckboxSetting$("Http traffic", true, _null, _null, type$.ValueNotifier_nullable_bool._as(this.controller._httpTimelineLoggingEnabled), new A.TimelineStreamSettings__defaultRecordedStreams_closure(this), "Network", _null));
      return t1;
    },
    _timelineStreams$2$advanced(theme, advanced) {
      var streams = advanced ? $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).timelineStreamManager.get$advancedStreams() : $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).timelineStreamManager.get$basicStreams(),
        t1 = A._arrayInstanceType(streams)._eval$1("MappedListIterable<1,CheckboxSetting0>");
      return A.List_List$of(new A.MappedListIterable(streams, new A.TimelineStreamSettings__timelineStreams_closure(), t1), true, t1._eval$1("ListIterable.E"));
    }
  };
  A.TimelineStreamSettings__defaultRecordedStreams_closure.prototype = {
    call$1(value) {
      return this.$this.controller.toggleHttpRequestLogging$1(value === true);
    },
    $signature: 31
  };
  A.TimelineStreamSettings__timelineStreams_closure.prototype = {
    call$1(stream) {
      var t1 = stream.name;
      return A.CheckboxSetting$(stream.description, true, null, null, type$.ValueNotifier_nullable_bool._as(stream._recorded), new A.TimelineStreamSettings__timelineStreams__closure(stream), t1, null);
    },
    $signature: 465
  };
  A.TimelineStreamSettings__timelineStreams__closure.prototype = {
    call$1(newValue) {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).timelineStreamManager;
      return t1.updateTimelineStream$2(this.stream, newValue === true);
    },
    $signature: 31
  };
  A.FlutterSettings.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.List_List$of(A._setArrayType([A.Text$("Additional Settings", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleMedium, _null, _null, _null, _null), B.PaddedDivider_wEo], type$.JSArray_Widget), true, type$.Widget);
      t1.push(A.CheckboxSetting$(_null, true, _null, _null, type$.ValueNotifier_nullable_bool._as(this.controller._badgeTabForJankyFrames), _null, "Badge Performance tab when Flutter UI jank is detected", _null));
      return A.Column$(t1, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.PerformanceScreenMetrics.prototype = {};
  A._PerformanceScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin.prototype = {};
  A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin.prototype = {};
  A.RenderingLayerVisualizer.prototype = {
    build$1(context) {
      var t1 = this.rasterMetricsController;
      return new A.DualValueListenableBuilder(t1._layerSnapshots, t1._loadingSnapshot, new A.RenderingLayerVisualizer_build_closure(this), null, null, type$.DualValueListenableBuilder_of_List_LayerSnapshot_and_bool);
    }
  };
  A.RenderingLayerVisualizer_build_closure.prototype = {
    call$4(context, snapshots, loading, _) {
      var t1, t2, _null = null;
      if (loading)
        return B.CenteredCircularProgressIndicator_null;
      if (J.get$isEmpty$asx(snapshots))
        return B.Center_pVn;
      t1 = this.$this;
      t2 = t1.rasterMetricsController;
      return A.Split$(B.Axis_0, A._setArrayType([new A.LayerSnapshotTable(t2, snapshots, new A._LayerColumn("Layer", _null, B.JSNumber_methods.roundToDouble$0(150 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A._RenderingTimePercentageColumn("Percent rendering time", _null, B.JSNumber_methods.roundToDouble$0(180 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), _null), new A.ValueListenableBuilder(t2._selectedSnapshot, new A.RenderingLayerVisualizer_build__closure(t1), _null, _null, type$.ValueListenableBuilder_nullable_LayerSnapshot)], type$.JSArray_Widget), B.List_O9m1, _null, _null);
    },
    $signature: 466
  };
  A.RenderingLayerVisualizer_build__closure.prototype = {
    call$3(context, snapshot, _) {
      return new A.LayerImage(snapshot, this.$this.rasterMetricsController.originalFrameSize, true, null);
    },
    $signature: 467
  };
  A.LayerSnapshotTable.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = A.Theme_of(context),
        t2 = _this._percentageColumn,
        t3 = _this.controller;
      return A.Container$(_null, A.FlatTable$(_null, false, A._setArrayType([_this._layerColumn, t2], type$.JSArray_ColumnData_LayerSnapshot), _this.snapshots, _null, new A.LayerSnapshotTable_build_closure(), t3.get$selectSnapshot(), _null, _null, _null, t3._selectedSnapshot, t2, B.SortDirection_1, type$.LayerSnapshot), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, new A.BorderSide(t1.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd, B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.LayerSnapshotTable_build_closure.prototype = {
    call$1(snapshot) {
      return new A.ValueKey("" + snapshot.id, type$.ValueKey_nullable_String);
    },
    $signature: 468
  };
  A._LayerColumn.prototype = {
    getValue$1(dataObject) {
      return "Layer " + dataObject.id;
    }
  };
  A._RenderingTimePercentageColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.duration._duration / dataObject.totalRenderingDuration._duration;
    },
    getDisplayValue$1(dataObject) {
      return B.JSNumber_methods.toStringAsFixed$1(dataObject.duration._duration / dataObject.totalRenderingDuration._duration * 100, 2) + "%";
    },
    get$numeric() {
      return true;
    }
  };
  A.LayerImage.prototype = {
    build$1(context) {
      var t1, t2, t3, _this = this, _null = null,
        snapshot = _this.snapshot,
        originalFrameSize = _this.originalFrameSize;
      if (snapshot == null || originalFrameSize == null)
        return B.Icon_oyJ;
      t1 = _this.includeFullscreenButton;
      t2 = A.SizedBox$(_null, _null, t1 ? B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 16 : 16);
      t3 = A.Container$(_null, new A.LayoutBuilder(new A.LayerImage_build_closure(_this, originalFrameSize, snapshot), _null), B.Clip_0, A.Theme_of(context).focusColor, _null, _null, _null, _null, _null, B.EdgeInsets_16_0_16_0, _null, _null, _null, _null);
      t1 = t1 ? A.Container$(B.Alignment_1_1, A.IconButton$(_null, _null, true, A.Icon$(B.IconData_58059_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, new A.LayerImage_build_closure0(context, snapshot, originalFrameSize), B.EdgeInsets_8_8_8_8, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_0_0_8, _null, _null, _null) : B.SizedBox_16_null_null_null;
      return A.Row$(A._setArrayType([t2, new A.Flexible(1, B.FlexFit_1, t3, _null), t1], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_0, _null, _null);
    }
  };
  A.LayerImage_build_closure.prototype = {
    call$2(context, constraints) {
      var t2, _null = null,
        t1 = this.originalFrameSize,
        scaleFactor = Math.min(constraints.maxWidth / t1._dx, constraints.maxHeight / t1._dy),
        layerSnapshot = this.$this.snapshot;
      t1 = layerSnapshot.size;
      t2 = layerSnapshot.offset;
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([A.Image$memory(this.snapshot.bytes, _null, _null), A.Positioned$(_null, A.Container$(_null, _null, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, A.Border_Border$all(B.Color_4281779956, 1), _null, _null, _null, _null, B.BoxShape_0), _null, t1._dy * scaleFactor, _null, _null, _null, _null, _null, t1._dx * scaleFactor), _null, _null, t2._dx * scaleFactor, _null, t2._dy * scaleFactor, _null)], type$.JSArray_Widget), _null);
    },
    $signature: 102
  };
  A.LayerImage_build_closure0.prototype = {
    call$0() {
      A.showDialog(true, new A.LayerImage_build__closure(this.snapshot, this.originalFrameSize), this.context, type$.dynamic);
    },
    $signature: 0
  };
  A.LayerImage_build__closure.prototype = {
    call$1(context) {
      return new A.LayerImageDialog(this.snapshot, this.originalFrameSize, null);
    },
    $signature: 469
  };
  A.LayerImageDialog.prototype = {
    build$1(context) {
      var _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size;
      t1 = A.Container$(_null, new A.LayerImage(this.snapshot, this.originalFrameSize, false, _null), B.Clip_0, _null, _null, _null, _null, t1._dy - 300, _null, _null, _null, _null, _null, t1._dx - 300);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], type$.JSArray_Widget), t1, false, false, _null);
    }
  };
  A.RasterMetricsController.prototype = {
    selectSnapshot$1(snapshot) {
      this._selectedSnapshot.set$value(0, snapshot);
    },
    collectRasterStats$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, response, json, e, t1, t2, json0, exception, $async$exception;
      var $async$collectRasterStats$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$self.clear$0(0);
              t1 = $async$self._loadingSnapshot;
              t1.set$value(0, true);
              $async$handler = 3;
              $async$goto = 6;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$renderFrameWithRasterStats(), $async$collectRasterStats$0);
            case 6:
              // returning from await.
              response = $async$result;
              t2 = response;
              json0 = t2 == null ? null : t2.json;
              json = json0 == null ? A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object) : json0;
              $async$goto = 7;
              return A._asyncAwait($async$self.initDataFromJson$1(json), $async$collectRasterStats$0);
            case 7:
              // returning from await.
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              A.log("Error collecting raster stats: " + A.S(e), B.LogLevel_0);
              $async$self.clear$0(0);
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 2:
              // uncaught
              $async$next = [1];
            case 4:
              // finally
              $async$handler = 1;
              t1.set$value(0, false);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$collectRasterStats$0, $async$completer);
    },
    clear$0(_) {
      var _this = this;
      _this._layerSnapshots.set$value(0, A._setArrayType([], type$.JSArray_LayerSnapshot));
      _this.originalFrameSize = null;
      _this._selectedSnapshot.set$value(0, null);
      _this._sumRasterTime = B.Duration_0;
    },
    initDataFromJson$1(json) {
      return this.initDataFromJson$body$RasterMetricsController(json);
    },
    initDataFromJson$body$RasterMetricsController(json) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, snapshotsFromJson, snapshots, t3, t4, t5, t6, id, t7, imageBytes, t8, t9, t10, _i, t1;
      var $async$initDataFromJson$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 = J.getInterceptor$asx(json);
              $async$self.originalFrameSize = new A.Size(A._asInt(t1.$index(json, "frame_width")), A._asInt(t1.$index(json, "frame_height")));
              t2 = type$.List_dynamic;
              snapshotsFromJson = J.cast$1$0$ax(t2._as(t1.$index(json, "snapshots")), type$.Map_String_dynamic);
              snapshots = A._setArrayType([], type$.JSArray_LayerSnapshot);
              t1 = A._instanceType(snapshotsFromJson), t3 = new A.ListIterator(snapshotsFromJson, snapshotsFromJson.get$length(snapshotsFromJson), t1._eval$1("ListIterator<ListMixin.E>")), t4 = type$.int, t1 = t1._eval$1("ListMixin.E");
            case 2:
              // for condition
              if (!t3.moveNext$0()) {
                // goto after for
                $async$goto = 3;
                break;
              }
              t5 = t3.__internal$_current;
              if (t5 == null)
                t5 = t1._as(t5);
              t6 = J.getInterceptor$asx(t5);
              id = t6.$index(t5, "layer_unique_id");
              t7 = A._asInt(t6.$index(t5, "duration_micros"));
              imageBytes = new Uint8Array(A._ensureNativeList(J.cast$1$0$ax(t2._as(t6.$index(t5, "snapshot")), t4)));
              t8 = A._asInt(t6.$index(t5, "width"));
              t9 = A._asInt(t6.$index(t5, "height"));
              t10 = A._asInt(t6.$index(t5, "left"));
              t5 = A._asInt(t6.$index(t5, "top"));
              $async$goto = 4;
              return A._asyncAwait($async$self.imageFromBytes$1(imageBytes), $async$initDataFromJson$1);
            case 4:
              // returning from await.
              snapshots.push(new A.LayerSnapshot(id, new A.Duration(t7), new A.Size(t8, t9), new A.Offset(t10, t5), imageBytes));
              $async$self._sumRasterTime = new A.Duration($async$self._sumRasterTime._duration + t7);
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              for (t1 = snapshots.length, _i = 0; _i < t1; ++_i)
                snapshots[_i].totalRenderingDuration = $async$self._sumRasterTime;
              B.JSArray_methods.sort$1(snapshots, new A.RasterMetricsController_initDataFromJson_closure());
              $async$self._layerSnapshots.set$value(0, snapshots);
              t1 = B.JSArray_methods.get$isNotEmpty(snapshots) ? B.JSArray_methods.get$first(snapshots) : null;
              $async$self._selectedSnapshot.set$value(0, t1);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$initDataFromJson$1, $async$completer);
    },
    imageFromBytes$1(bytes) {
      return this.imageFromBytes$body$RasterMetricsController(bytes);
    },
    imageFromBytes$body$RasterMetricsController(bytes) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Image),
        $async$returnValue;
      var $async$imageFromBytes$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(A.decodeImageFromList(bytes), $async$imageFromBytes$1);
            case 3:
              // 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$imageFromBytes$1, $async$completer);
    }
  };
  A.RasterMetricsController_initDataFromJson_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(b.duration._duration / b.totalRenderingDuration._duration, a.duration._duration / a.totalRenderingDuration._duration);
    },
    $signature: 471
  };
  A.LayerSnapshot.prototype = {};
  A.RebuildCountModel.prototype = {
    processRebuildEvent$1(json) {
      var t2, t3, fileLocationsMap, t4, t5, t6, t7, t8, t9, entries, t10, ids, lines, columns, names, i, $location, shortName, id, line, events, count, _this = this,
        _s9_ = "locations",
        _s12_ = "newLocations",
        t1 = J.getInterceptor$x(json);
      if (t1.containsKey$1(json, _s9_)) {
        t2 = type$.Map_dynamic_dynamic;
        t3 = type$.String;
        fileLocationsMap = J.cast$2$0$ax(t2._as(t1.$index(json, _s9_)), t3, type$.dynamic);
        for (t4 = J.get$iterator$ax(fileLocationsMap.get$keys(fileLocationsMap)), t5 = _this._locationMap, t6 = _this._locations, t7 = t6.$ti._eval$1("ImmutableList<1>"), t8 = type$.List_dynamic, t9 = type$.int; t4.moveNext$0();) {
          entries = J.cast$2$0$ax(t2._as(fileLocationsMap.$index(0, t4.get$current(t4))), t3, t8);
          t10 = entries.$index(0, "ids");
          t10.toString;
          ids = J.cast$1$0$ax(t10, t9);
          t10 = entries.$index(0, "lines");
          t10.toString;
          lines = J.cast$1$0$ax(t10, t9);
          t10 = entries.$index(0, "columns");
          t10.toString;
          columns = J.cast$1$0$ax(t10, t9);
          t10 = entries.$index(0, "names");
          t10.toString;
          names = J.cast$1$0$ax(t10, t3);
          for (i = 0; i < ids.get$length(ids); ++i) {
            ids.$index(0, i);
            t10 = lines.$index(0, i);
            columns.$index(0, i);
            $location = new A.RebuildLocation(t10, names.$index(0, i));
            t5.$indexSet(0, ids.$index(0, i), $location);
            B.JSArray_methods.add$1(t6._rawList, $location);
            t10 = t6._rawList;
            t6.__ListValueNotifier__currentList = new A.ImmutableList(t10, t10.length, t7);
            t6.super$ChangeNotifier$notifyListeners();
          }
        }
      } else if (t1.containsKey$1(json, _s12_)) {
        fileLocationsMap = J.cast$2$0$ax(type$.Map_dynamic_dynamic._as(t1.$index(json, _s12_)), type$.String, type$.dynamic);
        for (t2 = J.get$iterator$ax(fileLocationsMap.get$keys(fileLocationsMap)), t3 = _this._locationMap, t4 = _this._locations, t5 = t4.$ti._eval$1("ImmutableList<1>"), t6 = type$.List_dynamic, t7 = type$.int; t2.moveNext$0();) {
          t8 = t2.get$current(t2);
          entries = J.cast$1$0$ax(t6._as(fileLocationsMap.$index(0, t8)), t7);
          shortName = B.JSArray_methods.get$last($.$get$posix().split$1(0, t8));
          for (t8 = B.JSInt_methods._tdivFast$1(entries.get$length(entries), 3) * 3, t9 = shortName + ":", i = 0; i < t8; i += 3) {
            id = entries.$index(0, i);
            line = entries.$index(0, i + 1);
            entries.$index(0, i + 2);
            $location = new A.RebuildLocation(line, t9 + A.S(line));
            t3.$indexSet(0, id, $location);
            B.JSArray_methods.add$1(t4._rawList, $location);
            t10 = t4._rawList;
            t4.__ListValueNotifier__currentList = new A.ImmutableList(t10, t10.length, t5);
            t4.super$ChangeNotifier$notifyListeners();
          }
        }
      }
      events = J.cast$1$0$ax(type$.List_dynamic._as(t1.$index(json, "events")), type$.int);
      for (t1 = _this._locationMap, i = 0; i < events.get$length(events); i += 2) {
        id = events.$index(0, i);
        count = events.$index(0, i + 1);
        $location = t1.$index(0, id);
        if ($location != null)
          $location.buildCount += count;
      }
      _this._locations.super$ChangeNotifier$notifyListeners();
    }
  };
  A.RebuildLocation.prototype = {
    get$line(receiver) {
      return this.line;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.TabbedPerformanceView.prototype = {
    createState$0() {
      return new A._TabbedPerformanceViewState($, $, $, $, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._TabbedPerformanceViewState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin$initState();
      t1 = _this._widget.controller._selectedFrameNotifier;
      _this._selectedFlutterFrame = t1._change_notifier$_value;
      _this.addAutoDisposeListener$2(t1, new A._TabbedPerformanceViewState_initState_closure(_this));
    },
    build$1(context) {
      var rasterMetrics, t1, t2, _this = this, _null = null,
        frameAnalysisView = A._Cell$named("frameAnalysisView"),
        selectedFrame = _this._selectedFlutterFrame;
      if (selectedFrame != null)
        frameAnalysisView.__late_helper$_value = new A.FlutterFrameAnalysisView(selectedFrame.get$frameAnalysis(), _null);
      else
        frameAnalysisView.__late_helper$_value = B.Center_SUw;
      rasterMetrics = A.Center$(new A.RenderingLayerVisualizer(_this._widget.controller.rasterMetricsController, _null), _null, _null, _null);
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow();
      t1.toString;
      t2 = _this._widget;
      t2 = A._setArrayType([new A.KeepAliveWrapper(new A.TimelineEventsView(t2.controller, t2.processing, t2.processingProgress, _null), _null)], type$.JSArray_KeepAliveWrapper);
      if (t1)
        t2.push(new A.KeepAliveWrapper(rasterMetrics, _null));
      return A.AnalyticsTabbedView$("performance", true, t2, _this._generateTabs$1$isFlutterApp(t1), type$.dynamic);
    },
    _generateTabs$1$isFlutterApp(isFlutterApp) {
      var t3, t4, _this = this, _null = null,
        _s14_ = "performanceTab",
        data = _this._widget.controller.data,
        searchFieldEnabled = data != null && !J.get$isEmpty$asx(data.traceEvents) && !_this._widget.processing,
        t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = type$.JSArray_Widget;
      t1 = A._setArrayType([A.DevToolsTab_DevToolsTab$create(_s14_, _null, "Timeline Events", A.Row$(A._setArrayType([A.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(_this._widget.controller, searchFieldEnabled, $.$get$timelineSearchFieldKey(), false, true), B.Clip_0, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, 200), B.FlameChartHelpButton_pP4, new A.RefreshTimelineEventsButton(_this._widget.controller, _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null))], type$.JSArray_DevToolsTab);
      if (isFlutterApp) {
        t3 = A.IconLabelButton$(false, B.IconData_57647_MaterialIcons_false, _null, _null, "Take Snapshot", _null, new A._TabbedPerformanceViewState__generateTabs_closure(_this), false, "Take a snapshot of the rendering layers on the current screen", _null);
        t4 = _this._widget.controller.rasterMetricsController;
        t1.push(A.DevToolsTab_DevToolsTab$create(_s14_, _null, "Raster Metrics", A.Row$(A._setArrayType([t3, B.SizedBox_8_null_null_null, A.ClearButton$(_null, t4.get$clear(t4), false), B.SizedBox_4_null_null_null], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null)));
      }
      return t1;
    }
  };
  A._TabbedPerformanceViewState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._TabbedPerformanceViewState_initState__closure(t1));
    },
    $signature: 0
  };
  A._TabbedPerformanceViewState_initState__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._selectedFlutterFrame = t1._widget.controller._selectedFrameNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._TabbedPerformanceViewState__generateTabs_closure.prototype = {
    call$0() {
      A.select("performance", "collectRasterStats", false, null);
      this.$this._widget.controller.rasterMetricsController.collectRasterStats$0();
    },
    $signature: 0
  };
  A.__TabbedPerformanceViewState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$__TabbedPerformanceViewState_State_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.TimelineEventProcessor.prototype = {
    processTraceEvents$2$startIndex(traceEvents, startIndex) {
      return this.processTraceEvents$body$TimelineEventProcessor(traceEvents, startIndex);
    },
    processTraceEvents$body$TimelineEventProcessor(traceEvents, startIndex) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, _traceEvents, _i, t4, batchSize, idsToRemove, t5, t6, t7, t8, _data;
      var $async$processTraceEvents$2$startIndex = 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._traceEventsProcessed = 0;
              t1 = $async$self._timeline_event_processor$_progressNotifier;
              t1.set$value(0, 0);
              t2 = B.JSArray_methods.sublist$1(traceEvents, startIndex);
              B.JSArray_methods.sort$0(t2);
              t3 = A._arrayInstanceType(t2)._eval$1("WhereIterable<1>");
              _traceEvents = A.List_List$of(new A.WhereIterable(t2, new A.TimelineEventProcessor_processTraceEvents_closure(), t3), true, t3._eval$1("Iterable.E"));
              for (t2 = _traceEvents.length, t3 = $async$self.performanceController, _i = 0; t4 = _traceEvents.length, _i < t4; _traceEvents.length === t2 || (0, A.throwConcurrentModificationError)(_traceEvents), ++_i) {
                t4 = _traceEvents[_i].event;
                J.add$1$ax(t3.data.traceEvents, t4.json);
              }
              batchSize = B.JSNumber_methods.round$0(Math.min(2000, Math.max(1, t4 / 4)));
            case 2:
              // for condition
              if (!($async$self._traceEventsProcessed < _traceEvents.length)) {
                // goto after for
                $async$goto = 3;
                break;
              }
              $async$self._timeline_event_processor$_processBatch$2(batchSize, _traceEvents);
              t1.set$value(0, $async$self._traceEventsProcessed / _traceEvents.length);
              $async$goto = 4;
              return A._asyncAwait(A.delayForBatchProcessing(0), $async$processTraceEvents$2$startIndex);
            case 4:
              // returning from await.
              // goto for condition
              $async$goto = 2;
              break;
            case 3:
              // after for
              idsToRemove = A._setArrayType([], type$.JSArray_String);
              for (t2 = $async$self._asyncEventsById, t4 = t2.get$values(t2), t5 = t4.get$iterator(t4), t4 = new A.WhereIterator(t5, new A.TimelineEventProcessor_processTraceEvents_closure0(), A._instanceType(t4)._eval$1("WhereIterator<Iterable.E>")); t4.moveNext$0();) {
                t6 = t5.get$current(t5);
                if (!t6._isWellFormedDeep$1(t6))
                  continue;
                t3.addTimelineEvent$1(t6);
                t6 = B.JSArray_methods.get$first(t6.traceEvents).event;
                t7 = t6.json;
                t8 = J.getInterceptor$asx(t7);
                idsToRemove.push(A.generateAsyncUID(t6.category, t8.$index(t7, "id"), t8.$index(t7, "scope")));
              }
              B.JSArray_methods.forEach$1(idsToRemove, t2.get$remove(t2));
              $async$self._addPendingCompleteRootToTimeline$1$force(true);
              _data = t3.data;
              t2 = _data.timelineEvents;
              B.JSArray_methods.sort$1(t2, new A.TimelineEventProcessor_processTraceEvents_closure1());
              if (t2.length !== 0) {
                t3 = new A.TimeRange();
                t3.set$start(0, A.Duration$(B.JSArray_methods.get$first(t2).time._utils$_start._duration, 0));
                t3.set$end(0, A.Duration$(_data._endTimestampMicros, 0));
                _data.time = t3;
              } else {
                t2 = new A.TimeRange();
                t2.set$start(0, B.Duration_0);
                t2.set$end(0, B.Duration_0);
                _data.time = t2;
              }
              $async$self._traceEventsProcessed = 0;
              t1.set$value(0, 0);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$processTraceEvents$2$startIndex, $async$completer);
    },
    _timeline_event_processor$_processBatch$2(batchSize, traceEvents) {
      var t1, t2, eventWrapper, t3, current, timelineEvent, t4, _this = this,
        _s12_ = "frame_number",
        i = _this._traceEventsProcessed,
        batchEnd = Math.min(i + batchSize, traceEvents.length);
      for (t1 = _this.currentDurationEventNodes, t2 = type$.SyncTimelineEvent; i < batchEnd; ++i) {
        eventWrapper = traceEvents[i];
        ++_this._traceEventsProcessed;
        t3 = eventWrapper.event;
        t3._trace_event$_type = _this.inferEventType$1(t3);
        _this._addPendingCompleteRootToTimeline$1$currentProcessingTime(t3.timestampMicros);
        switch (t3.phase) {
          case "b":
          case "n":
            _this._addAsyncEvent$1(eventWrapper);
            break;
          case "e":
            _this._endAsyncEvent$1(eventWrapper);
            break;
          case "B":
            t3 = t3.threadId;
            t3.toString;
            current = t1.$index(0, t3);
            timelineEvent = A.SyncTimelineEvent$(eventWrapper);
            if (current != null)
              current.addChild$1(timelineEvent);
            t4 = timelineEvent._isUiFrameIdentifier;
            if (t4 == null) {
              t4 = timelineEvent.traceEvents;
              if (B.JSArray_methods.get$first(t4).event.name === "Animator::BeginFrame") {
                t4 = B.JSArray_methods.get$first(t4).event.args;
                t4.toString;
                t4 = J.containsKey$1$x(t4, _s12_);
              } else
                t4 = false;
              t4 = timelineEvent._isUiFrameIdentifier = t4;
            }
            if (t4)
              t2._as(timelineEvent.get$root(timelineEvent)).uiFrameEvents.push(timelineEvent);
            else {
              t4 = timelineEvent._isRasterFrameIdentifier;
              if (t4 == null) {
                t4 = timelineEvent.traceEvents;
                if (B.JSArray_methods.get$first(t4).event.name === "GPURasterizer::Draw" || B.JSArray_methods.get$first(t4).event.name === "Rasterizer::DoDraw") {
                  t4 = B.JSArray_methods.get$first(t4).event.args;
                  t4.toString;
                  t4 = J.containsKey$1$x(t4, _s12_);
                } else
                  t4 = false;
                t4 = timelineEvent._isRasterFrameIdentifier = t4;
              }
              if (t4)
                t2._as(timelineEvent.get$root(timelineEvent)).rasterFrameEvents.push(timelineEvent);
            }
            t1.$indexSet(0, t3, timelineEvent);
            break;
          case "E":
            _this._handleDurationEndEvent$1(eventWrapper);
            break;
          case "X":
            _this._handleDurationCompleteEvent$1(eventWrapper);
            break;
          default:
            break;
        }
      }
    },
    _addPendingCompleteRootToTimeline$2$currentProcessingTime$force(currentProcessingTime, force) {
      var t2,
        t1 = this._pendingRootCompleteEvent;
      if (t1 != null)
        if (!force) {
          currentProcessingTime.toString;
          t2 = currentProcessingTime > t1.time._utils$_end._duration;
        } else
          t2 = true;
      else
        t2 = false;
      if (t2) {
        t1.toString;
        this.performanceController.addTimelineEvent$1(t1);
        this._pendingRootCompleteEvent = null;
      }
    },
    _addPendingCompleteRootToTimeline$1$force(force) {
      return this._addPendingCompleteRootToTimeline$2$currentProcessingTime$force(null, force);
    },
    _addPendingCompleteRootToTimeline$1$currentProcessingTime(currentProcessingTime) {
      return this._addPendingCompleteRootToTimeline$2$currentProcessingTime$force(currentProcessingTime, false);
    },
    _addAsyncEvent$1(eventWrapper) {
      var t3, $parent, currentEventWithId,
        timelineEvent = A.AsyncTimelineEvent$(eventWrapper),
        t1 = eventWrapper.event,
        t2 = t1.phase === "n";
      if (t2) {
        t3 = timelineEvent.time;
        t3.set$end(0, t3._utils$_start);
      }
      if (timelineEvent._parentId != null) {
        t2 = this._asyncEventsById;
        $parent = t2.$index(0, timelineEvent.get$parentAsyncUID());
        if ($parent != null)
          $parent.addChild$1(timelineEvent);
        t2.$indexSet(0, t1.get$asyncUID(), timelineEvent);
        return;
      }
      t3 = this._asyncEventsById;
      currentEventWithId = t3.$index(0, t1.get$asyncUID());
      if (currentEventWithId != null)
        if (currentEventWithId._isWellFormedDeep$1(currentEventWithId)) {
          this.performanceController.addTimelineEvent$1(currentEventWithId);
          t3.$indexSet(0, t1.get$asyncUID(), timelineEvent);
        } else if (!t2 && currentEventWithId.get$isWellFormed())
          A.log("Id collision on id " + A.S(J.$index$asx(t1.json, "id")), B.LogLevel_1);
        else
          currentEventWithId.addChild$1(timelineEvent);
      else
        t3.$indexSet(0, t1.get$asyncUID(), timelineEvent);
    },
    _endAsyncEvent$1(eventWrapper) {
      var root = this._asyncEventsById.$index(0, eventWrapper.event.get$asyncUID());
      if (root == null)
        return;
      root.endAsyncEvent$1(eventWrapper);
    },
    _handleDurationEndEvent$1(eventWrapper) {
      var t2, current, t3, t4, t5, t6, currentBeginTrace, lastChildOfCurrentEndTime, fakeTimestampMicros, fakeEndEvent, _this = this, _null = null,
        $event = eventWrapper.event,
        t1 = $event.threadId;
      t1.toString;
      t2 = _this.currentDurationEventNodes;
      current = t2.$index(0, t1);
      if (current == null)
        return;
      t3 = $event.name;
      t4 = current.traceEvents;
      if (t3 != B.JSArray_methods.get$first(t4).event.name) {
        t5 = _this._previousDurationEndEvents;
        t6 = t5.$index(0, t1);
        t6 = t6 == null ? _null : t6.json;
        if (A.collectionEquals($event.json, t6))
          return;
        else {
          t6 = current.parent;
          if ((t6 == null ? _null : B.JSArray_methods.get$first(t6.traceEvents).event.name) == t3) {
            t3 = B.JSArray_methods.get$first(t4).event;
            t5 = t5.$index(0, t1);
            t5 = t5 == null ? _null : t5.name;
            if (t3.name == t5) {
              t3 = current.children;
              t3 = t3.length === 1 && A.collectionEquals(B.JSArray_methods.get$first(t4).event.json, B.JSArray_methods.get$first(B.JSArray_methods.get$first(t3).traceEvents).event.json);
            } else
              t3 = false;
            if (t3) {
              current.parent.removeChild$1(current);
              current = type$.nullable_SyncTimelineEvent._as(current.parent);
              t2.$indexSet(0, t1, current);
              t3 = current;
            } else {
              currentBeginTrace = B.JSArray_methods.get$first(t4).event;
              t3 = current.children;
              t3 = B.JSArray_methods.get$isNotEmpty(t3) ? B.JSArray_methods.get$last(t3) : _null;
              if (t3 == null)
                lastChildOfCurrentEndTime = _null;
              else {
                t3 = t3.get$endTraceEventJson();
                lastChildOfCurrentEndTime = t3 == null ? _null : J.$index$asx(t3, "ts");
              }
              t3 = $event.timestampMicros;
              t3.toString;
              fakeTimestampMicros = lastChildOfCurrentEndTime != null ? t3 - B.JSNumber_methods.round$0((t3 - lastChildOfCurrentEndTime) / 2) : t3 - 1;
              t3 = type$.String;
              t4 = type$.dynamic;
              t5 = A.LinkedHashMap_LinkedHashMap$_literal(["message", "Warning - the end time of this event may be innacurate. The end trace event was missing, so the end time was inferred."], t3, t4);
              fakeEndEvent = A.TraceEventWrapper$(A.TraceEvent$(A.LinkedHashMap_LinkedHashMap$_literal(["name", currentBeginTrace.name, "cat", currentBeginTrace.category, "ph", "E", "pid", currentBeginTrace.processId, "tid", currentBeginTrace.threadId, "dur", currentBeginTrace.duration, "ts", fakeTimestampMicros, "args", t5], t3, t4)), eventWrapper.timeReceived);
              current.addEndEvent$1(fakeEndEvent);
              current = type$.nullable_SyncTimelineEvent._as(current.parent);
              t3 = current;
            }
          } else {
            t2.$indexSet(0, t1, _null);
            return;
          }
        }
      } else
        t3 = current;
      _this._previousDurationEndEvents.$indexSet(0, t1, $event);
      t3.addEndEvent$1(eventWrapper);
      t3.maybeRemoveDuplicate$0();
      t4 = type$.nullable_SyncTimelineEvent;
      while (true) {
        t5 = t3.parent;
        if (t5 != null) {
          t6 = t5.time._utils$_end;
          t6 = (t6 == null ? _null : t6._duration) != null;
        } else
          t6 = false;
        if (!t6)
          break;
        t4._as(t5);
        t3 = t5;
      }
      t2.$indexSet(0, t1, t4._as(t5));
      if (t3.parent == null)
        _this.performanceController.addTimelineEvent$1(t3);
    },
    _handleDurationCompleteEvent$1(eventWrapper) {
      var t3, current,
        $event = eventWrapper.event,
        timelineEvent = A.SyncTimelineEvent$(eventWrapper),
        t1 = timelineEvent.time,
        t2 = $event.timestampMicros;
      t2.toString;
      t3 = $event.duration;
      t3.toString;
      t1.set$end(0, A.Duration$(t2 + t3, 0));
      current = this.currentDurationEventNodes.$index(0, $event.threadId);
      if (current != null) {
        t1 = A._instanceType(current)._eval$1("TreeNode.T");
        if (A.breadthFirstTraversal(t1._as(current), null, new A.TimelineEventProcessor__handleDurationCompleteEvent_closure(timelineEvent), t1) != null)
          return;
        current.addChild$1(timelineEvent);
      } else {
        t1 = this._pendingRootCompleteEvent;
        if (t1 == null)
          this._pendingRootCompleteEvent = timelineEvent;
        else
          t1.addChild$1(timelineEvent);
      }
    },
    inferEventType$1($event) {
      var t2,
        t1 = $event.phase;
      if (t1 === "b" || t1 === "n" || t1 === "e")
        return B.TimelineEventType_2;
      else {
        t1 = $event.threadId;
        t2 = t1 != null;
        if (t2 && t1 === this.uiThreadId)
          return B.TimelineEventType_0;
        else if (t2 && t1 === this.rasterThreadId)
          return B.TimelineEventType_1;
        else
          return B.TimelineEventType_3;
      }
    }
  };
  A.TimelineEventProcessor_processTraceEvents_closure.prototype = {
    call$1($event) {
      return $event.event.timestampMicros != null;
    },
    $signature: 332
  };
  A.TimelineEventProcessor_processTraceEvents_closure0.prototype = {
    call$1(e) {
      return e.parent == null;
    },
    $signature: 338
  };
  A.TimelineEventProcessor_processTraceEvents_closure1.prototype = {
    call$2(a, b) {
      return B.JSInt_methods.compareTo$1(a.time._utils$_start._duration, b.time._utils$_start._duration);
    },
    $signature: 109
  };
  A.TimelineEventProcessor__handleDurationCompleteEvent_closure.prototype = {
    call$1($event) {
      return A.collectionEquals(B.JSArray_methods.get$first($event.traceEvents).event.json, B.JSArray_methods.get$first(this.timelineEvent.traceEvents).event.json);
    },
    $signature: 61
  };
  A.TimelineEventsView.prototype = {
    build$1(context) {
      var timelineEmpty, _this = this, _null = null,
        t1 = _this.controller,
        t2 = t1.data;
      t2 = t2 == null ? _null : J.get$isEmpty$asx(t2.traceEvents);
      timelineEmpty = t2 !== false || t1.data.eventGroups._collection$_root == null;
      if (_this.processing)
        return new A.ProcessingInfo(_this.processingProgress, "timeline trace", _null);
      else if (timelineEmpty)
        return A.Center$(A.Row$(A._setArrayType([A.Text$("No timeline events. Try clicking the refresh button ", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), A.Icon$(B.IconData_58644_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), A.Text$(" to load more data.", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), _null, B.ValueKey_2ec, _null);
      else
        return new A.LayoutBuilder(new A.TimelineEventsView_build_closure(_this), _null);
    }
  };
  A.TimelineEventsView_build_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this.controller,
        t2 = t1.data;
      return new A.TimelineFlameChart(t2, t2.time, constraints.maxWidth, constraints.maxHeight, A.TimelineFlameChart__calculateStartInset(t2), 70, t1._selectedTimelineEventNotifier, t1.SearchControllerMixin__searchMatches, t1.SearchControllerMixin__activeSearchMatch, t1.get$selectTimelineEvent(), null);
    },
    $signature: 472
  };
  A.TimelineFlameChart.prototype = {
    createState$0() {
      var _null = null;
      return new A.TimelineFlameChartState(A.LinkedHashMap_LinkedHashMap$_empty(type$.TimelineEvent, type$.FlameChartNode_FlameChartDataMixin_dynamic), A._setArrayType([], type$.JSArray_HorizontalLineSegment), A._setArrayType([], type$.JSArray_VerticalLineSegment), new A.Expando(new WeakMap(), type$.Expando_double), _null, A._setArrayType([], type$.JSArray_FlameChartRow_TimelineEvent), A._setArrayType([], type$.JSArray_FlameChartSection), A.FocusNode$(true, "flame-chart", true, true, _null, _null, false), _null, _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.TimelineFlameChartState.prototype = {
    get$rowOffsetForTopPadding() {
      return 3;
    },
    initState$0() {
      var t1, _this = this;
      _this.super$FlameChartState$initState();
      t1 = _this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.addAndGet$0();
      if (_this.__TimelineFlameChartState__groupLabelScrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__TimelineFlameChartState__groupLabelScrollController = t1;
      t1 = _this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.addAndGet$0();
      if (_this.__TimelineFlameChartState__previousInGroupButtonsScrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__TimelineFlameChartState__previousInGroupButtonsScrollController = t1;
      t1 = _this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.addAndGet$0();
      if (_this.__TimelineFlameChartState__nextInGroupButtonsScrollController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__TimelineFlameChartState__nextInGroupButtonsScrollController = t1;
    },
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (!_this.initController$0())
        return;
      _this._selectedFrame = _this.ProvidedControllerMixin__controller._selectedFrameNotifier._change_notifier$_value;
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.TimelineFlameChartState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._selectedFrameNotifier, _this.get$_handleSelectedFrame());
    },
    isDataVerticallyInView$1(data) {
      var eventTopY = this.topYForData$1(data),
        t1 = this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      t1 = J.get$position$x(t1.get$first(t1))._pixels;
      t1.toString;
      return eventTopY > t1 && eventTopY + (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) < t1 + this._widget.containerHeight;
    },
    isDataHorizontallyInView$1(data) {
      var _this = this,
        t1 = _this.get$visibleTimeRange(),
        t2 = data.time._utils$_start;
      t2.toString;
      if (t1.contains$1(0, t2)) {
        t1 = _this.get$visibleTimeRange();
        t2 = data.time._utils$_end;
        t2.toString;
        t2 = t1.contains$1(0, t2);
        t1 = t2;
      } else
        t1 = false;
      if (!t1) {
        t1 = data.time._utils$_start;
        t1.toString;
        if (t1._duration <= _this.get$visibleTimeRange()._utils$_start._duration) {
          t1 = data.time._utils$_end;
          t1.toString;
          t1 = t1._duration >= _this.get$visibleTimeRange()._utils$_end._duration;
        } else
          t1 = false;
      } else
        t1 = true;
      return t1;
    },
    topYForData$1(data) {
      var t2,
        eventGroupKey = A.PerformanceUtils_computeEventGroupKey(data, this.ProvidedControllerMixin__controller.threadNamesById),
        t1 = this._widget.data.eventGroups.$index(0, eventGroupKey);
      t1.toString;
      t2 = t1.rowIndexForEvent.$index(0, data);
      t2.toString;
      A.Expando__checkType(t1);
      t1 = this.eventGroupStartYValues._jsWeakMap.get(t1);
      t1.toString;
      return t1 + t2 * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2);
    },
    startXForData$1(data) {
      var timeMicros = data.time._utils$_start._duration,
        t1 = this._widget,
        t2 = t1.time._utils$_start._duration,
        t3 = t1.data.time,
        t4 = t3._utils$_end;
      t4.toString;
      t3 = t3._utils$_start._duration;
      return t1.get$startingContentWidth() * this.currentZoom * ((timeMicros - t2) / (t4._duration - t3));
    },
    _indexOfFirstEventInView$1(group) {
      var boundEvent,
        t1 = A.TraceEvent$(A.LinkedHashMap_LinkedHashMap$_literal(["ts", this.get$visibleTimeRange()._utils$_start._duration], type$.String, type$.dynamic));
      t1._trace_event$_type = B.TimelineEventType_3;
      boundEvent = A.SyncTimelineEvent$(A.TraceEventWrapper$(t1, 0));
      boundEvent.time = this.get$visibleTimeRange();
      return A.lowerBound(group.get$sortedEventRoots(), boundEvent, new A.TimelineFlameChartState__indexOfFirstEventInView_closure(), type$.TimelineEvent);
    },
    _viewPreviousEventInGroup$1(group) {
      return this._viewPreviousEventInGroup$body$TimelineFlameChartState(group);
    },
    _viewPreviousEventInGroup$body$TimelineFlameChartState(group) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, $event, t1, t2, firstInViewIndex;
      var $async$_viewPreviousEventInGroup$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
              firstInViewIndex = $async$self._indexOfFirstEventInView$1(group);
              $async$goto = firstInViewIndex > 0 ? 3 : 4;
              break;
            case 3:
              // then
              $event = group.get$sortedEventRoots()[firstInViewIndex - 1];
              t1 = $event.time;
              t2 = t1._utils$_start._duration;
              $async$goto = 5;
              return A._asyncAwait($async$self.zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros($event, t1._utils$_end._duration - t2, true, false, t2), $async$_viewPreviousEventInGroup$1);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t1 = $async$self._framework$_element;
              t1.toString;
              A.Notifications_of(t1).push$1("There are no events on this thread that occurred before this time range.");
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_viewPreviousEventInGroup$1, $async$completer);
    },
    _viewNextEventInGroup$1(group) {
      return this._viewNextEventInGroup$body$TimelineFlameChartState(group);
    },
    _viewNextEventInGroup$body$TimelineFlameChartState(group) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, boundEvent, firstOutOfViewIndex, zoomTo, t2, t1;
      var $async$_viewNextEventInGroup$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 = A.TraceEvent$(A.LinkedHashMap_LinkedHashMap$_literal(["ts", $async$self.get$visibleTimeRange()._utils$_end._duration], type$.String, type$.dynamic));
              t1._trace_event$_type = B.TimelineEventType_3;
              boundEvent = A.SyncTimelineEvent$(A.TraceEventWrapper$(t1, 0));
              t1 = new A.TimeRange();
              t1.set$start(0, $async$self.get$visibleTimeRange()._utils$_end);
              t1.set$end(0, $async$self.get$visibleTimeRange()._utils$_end);
              boundEvent.time = t1;
              firstOutOfViewIndex = A.lowerBound(group.get$sortedEventRoots(), boundEvent, new A.TimelineFlameChartState__viewNextEventInGroup_closure(), type$.TimelineEvent);
              if (firstOutOfViewIndex === group.get$sortedEventRoots().length)
                zoomTo = $async$self._indexOfFirstEventInView$1(group) === 0 ? B.JSArray_methods.get$first(group.get$sortedEventRoots()) : null;
              else
                zoomTo = firstOutOfViewIndex < group.get$sortedEventRoots().length ? group.get$sortedEventRoots()[firstOutOfViewIndex] : null;
              $async$goto = zoomTo != null ? 3 : 4;
              break;
            case 3:
              // then
              t1 = zoomTo.time;
              t2 = t1._utils$_start._duration;
              $async$goto = 5;
              return A._asyncAwait($async$self.zoomAndScrollToData$5$data$durationMicros$jumpZoom$scrollVertically$startMicros(zoomTo, t1._utils$_end._duration - t2, true, false, t2), $async$_viewNextEventInGroup$1);
            case 5:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              t1 = $async$self._framework$_element;
              t1.toString;
              A.Notifications_of(t1).push$1("There are no events on this thread that occurred after this time range.");
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_viewNextEventInGroup$1, $async$completer);
    },
    _handleSelectedFrame$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, selectedFrame;
      var $async$_handleSelectedFrame$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
              selectedFrame = $async$self.ProvidedControllerMixin__controller._selectedFrameNotifier._change_notifier$_value;
              if (selectedFrame == $async$self._selectedFrame) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new A.TimelineFlameChartState__handleSelectedFrame_closure($async$self, selectedFrame));
              $async$goto = 3;
              return A._asyncAwait($async$self._centerSelectedFrame$0(), $async$_handleSelectedFrame$0);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleSelectedFrame$0, $async$completer);
    },
    _centerSelectedFrame$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, time, $event, t1, _selected;
      var $async$_centerSelectedFrame$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
              _selected = $async$self._selectedFrame;
              $async$goto = _selected != null ? 3 : 4;
              break;
            case 3:
              // then
              time = A.FlutterFrameExtension_timeToCenterFrame(_selected);
              $event = A.FlutterFrameExtension_eventToCenterFrame(_selected);
              if (time == null || $event == null) {
                t1 = $async$self.ProvidedControllerMixin__controller.firstWellFormedFrameMicros;
                if (t1 != null && _selected.timeFromFrameTiming._utils$_start._duration < t1) {
                  t1 = $async$self._framework$_element;
                  t1.toString;
                  A.Notifications_of(t1).push$1("No timeline events available for the selected frame. Timeline events occurred too long ago before DevTools could access them. To avoid this, open the DevTools Performance page sooner.");
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1 = $async$self._framework$_element;
                t1.toString;
                A.Notifications_of(t1).push$1("No timeline events available for the selected frame");
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = time._utils$_start._duration;
              $async$goto = 5;
              return A._asyncAwait($async$self.zoomAndScrollToData$4$data$durationMicros$jumpZoom$startMicros($event, time._utils$_end._duration - t1, true, t1), $async$_centerSelectedFrame$0);
            case 5:
              // returning from await.
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_centerSelectedFrame$0, $async$completer);
    },
    initFlameChartElements$0() {
      var createChartNode, yOffset, t1, t2, t3, t4, currentRowIndex, currentSectionIndex, t5, t6, i, t7, t8, _i, _this = this, _box_0 = {};
      _this.super$FlameChartState$initFlameChartElements();
      _box_0.maxRight = -1;
      createChartNode = new A.TimelineFlameChartState_initFlameChartElements_createChartNode(_box_0, _this, new A.TimelineFlameChartState_initFlameChartElements_leftForEvent(_this), new A.TimelineFlameChartState_initFlameChartElements_rightForEvent(_this));
      _this.expandRows$1(3);
      yOffset = 3 * B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      for (t1 = _this._widget.data.eventGroups, t2 = t1.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>")), t2 = new A._SplayTreeKeyIterator(t1, A._setArrayType([], t2._eval$1("JSArray<2>")), t1._splayCount, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_SplayTreeKeyIterator<1,2>")), t1 = _this.sections, t3 = _this.rows, t4 = _this.eventGroupStartYValues._jsWeakMap, currentRowIndex = 3, currentSectionIndex = 0; t2.moveNext$0();) {
        t5 = t2.get$current(t2);
        t5 = _this._widget.data.eventGroups.$index(0, t5);
        t5.toString;
        t6 = t5.rows;
        _this.expandRows$1(t3.length + (t6.length + 1));
        t4.set(t5, yOffset);
        for (i = 0; i < t6.length; ++i)
          for (t5 = t6[i].events, t7 = t5.length, t8 = currentRowIndex + i, _i = 0; _i < t5.length; t5.length === t7 || (0, A.throwConcurrentModificationError)(t5), ++_i)
            createChartNode.call$3(t5[_i], t8, currentSectionIndex);
        t1.push(new A.FlameChartSection(currentSectionIndex));
        t5 = t6.length;
        currentRowIndex += t5 + 1;
        ++currentSectionIndex;
        yOffset += t5 * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) + B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      }
      for (t1 = t3.length, _i = 0; _i < t3.length; t3.length === t1 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        t2 = t3[_i].nodes;
        t4 = new A.TimelineFlameChartState_initFlameChartElements_closure();
        if (!!t2.immutable$list)
          A.throwExpression(A.UnsupportedError$("sort"));
        t5 = t2.length - 1;
        if (t5 - 0 <= 32)
          A.Sort__insertionSort(t2, 0, t5, t4);
        else
          A.Sort__dualPivotQuicksort(t2, 0, t5, t4);
      }
      _this._calculateAsyncGuidelines$0();
    },
    buildChartOverlays$2(constraints, buildContext) {
      var colorScheme, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      colorScheme = A.Theme_of(t1).colorScheme;
      t1 = _this.currentZoom;
      t2 = _this.verticalScrollOffset;
      t3 = _this.horizontalScrollOffset;
      t4 = _this._widget;
      t5 = t4.startInset;
      t6 = A.CustomPaint$(_null, _null, _null, new A.AsyncGuidelinePainter(_this.verticalGuidelines, _this.horizontalGuidelines, t1, constraints, t2, t3, t5, colorScheme, _null), B.Size_0_0);
      t4 = t4.endInset;
      t7 = _this.get$widthWithZoom();
      t8 = _this._widget;
      t9 = t8.time;
      t10 = t9._utils$_end;
      t10.toString;
      t9 = t9._utils$_start._duration;
      t1 = A.CustomPaint$(_null, _null, _null, A.TimelineGridPainter$(t4, t5, colorScheme, constraints, new A.Duration(t10._duration - t9), t7, t3, t2, t1), B.Size_0_0);
      t2 = _this._selectedFrame;
      t3 = _this.currentZoom;
      t7 = _this.verticalScrollOffset;
      t10 = _this.horizontalScrollOffset;
      t8 = t8.startInset;
      t8 = A._setArrayType([t6, t1, A.CustomPaint$(_null, _null, _null, new A.SelectedFrameBracketPainter(t2, t9, _this.get$startingPxPerMicro(), new A.TimelineFlameChartState_buildChartOverlays_closure(_this), t3, constraints, t7, t10, t8, colorScheme, _null), B.Size_0_0), _this._buildSectionLabels$1$constraints(constraints)], type$.JSArray_Widget);
      B.JSArray_methods.addAll$1(t8, _this._buildEventThreadNavigationButtons$1$constraints(constraints));
      return t8;
    },
    _buildSectionLabels$1$constraints(constraints) {
      var eventGroups, children, t2, i, topSpacer, bottomSpacer, groupName, t3, backgroundColor, t4, backgroundWithOpacity, t5, t6, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1);
      eventGroups = _this.ProvidedControllerMixin__controller.data.eventGroups;
      children = A._setArrayType([], type$.JSArray_Widget);
      for (t1 = t1.colorScheme.brightness === B.Brightness_1, t2 = eventGroups.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>"), i = 0; i < eventGroups._count; ++i) {
        topSpacer = i === 0 ? 0 + (B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 3 - B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))) : 0;
        bottomSpacer = i === eventGroups._count - 1 ? B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : 0;
        groupName = new A._SplayTreeKeyIterable(eventGroups, t2).elementAt$1(0, i);
        t3 = eventGroups.$index(0, groupName);
        t3.toString;
        if (B.JSInt_methods.$mod(i, 2) === 1)
          backgroundColor = t1 ? B.Color_4294638330 : B.Color_4281348144;
        else if (t1) {
          t4 = A.ColorExtension_darken(B.Color_4294638330, 0.05);
          backgroundColor = t4;
        } else {
          t4 = A.ColorExtension_brighten(B.Color_4281348144);
          backgroundColor = t4;
        }
        t4 = backgroundColor.value;
        backgroundWithOpacity = A.Color$fromRGBO(t4 >>> 16 & 255, t4 >>> 8 & 255, t4 & 255, 0.85);
        t3 = t3.rows.length;
        t4 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t5 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t6 = t1 ? B.Color_4278190080 : B.Color_4294967295;
        children.push(A.Container$(B.Alignment_m1_m1, A.Container$(_null, new A.Text(groupName, _null, new A.TextStyle(true, t6, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null, _null, _null, _null), B.Clip_0, backgroundWithOpacity, _null, _null, _null, _null, _null, _null, B.EdgeInsets_4_2_4_2, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, t3 * (t4 + 2) + t5 + topSpacer + bottomSpacer, _null, _null, new A.EdgeInsets(0, topSpacer, 0, bottomSpacer), _null, _null, _null));
      }
      t1 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = _this._widget.startInset;
      t3 = _this.__TimelineFlameChartState__groupLabelScrollController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return A.Positioned$(_null, new A.IgnorePointer(true, _null, A.ListView$(children, t3, _null, _null, B.ClampingScrollPhysics_null, _null, false), _null), constraints.maxHeight, _null, 0, _null, t1, t2);
    },
    _buildEventThreadNavigationButtons$1$constraints(constraints) {
      var t5, _this = this, _null = null,
        threadButtonContainerWidth = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 16,
        eventGroups = _this.ProvidedControllerMixin__controller.data.eventGroups,
        t1 = new A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton(_this, eventGroups, threadButtonContainerWidth),
        t2 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = constraints.maxHeight,
        t4 = _this.__TimelineFlameChartState__previousInGroupButtonsScrollController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.Positioned$(_null, A.ListView$builder(t4, new A.TimelineFlameChartState__buildEventThreadNavigationButtons_closure(t1), eventGroups._count, _null, B.ClampingScrollPhysics_null, _null, B.Axis_1, false), t3, _null, 0, _null, t2, threadButtonContainerWidth);
      t4 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t5 = _this.__TimelineFlameChartState__nextInGroupButtonsScrollController;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      return A._setArrayType([t2, A.Positioned$(_null, A.ListView$builder(t5, new A.TimelineFlameChartState__buildEventThreadNavigationButtons_closure0(t1), eventGroups._count, _null, B.ClampingScrollPhysics_null, _null, B.Axis_1, false), t3, _null, _null, 0, t4, threadButtonContainerWidth)], type$.JSArray_Widget);
    },
    _calculateAsyncGuidelines$0() {
      var t2, t3, t4, t5, t6, _i, t7, t8, _i0, node, t9, allChildrenAreAsyncInstantEvents, t10, t11, _i1, verticalGuidelineX, verticalGuidelineStartY, firstChild, horizontalGuidelineY, i, _box_0, child, childNode, previousSiblingInRow, t12, previousSibling, _this = this,
        t1 = _this.verticalGuidelines;
      B.JSArray_methods.clear$0(t1);
      t2 = _this.horizontalGuidelines;
      B.JSArray_methods.clear$0(t2);
      for (t3 = _this.rows, t4 = t3.length, t5 = _this.chartNodesByEvent, t6 = type$.AsyncTimelineEvent, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i)
        for (t7 = t3[_i].nodes, t8 = t7.length, _i0 = 0; _i0 < t7.length; t7.length === t8 || (0, A.throwConcurrentModificationError)(t7), ++_i0) {
          node = t7[_i0];
          t9 = node.data;
          if (t9 instanceof A.AsyncTimelineEvent) {
            t10 = t9.children;
            t11 = t10.length;
            _i1 = 0;
            while (true) {
              if (!(_i1 < t10.length)) {
                allChildrenAreAsyncInstantEvents = true;
                break;
              }
              if (B.JSArray_methods.get$first(t10[_i1].traceEvents).event.phase !== "n") {
                allChildrenAreAsyncInstantEvents = false;
                break;
              }
              t10.length === t11 || (0, A.throwConcurrentModificationError)(t10);
              ++_i1;
            }
            if (t10.length === 0 || allChildrenAreAsyncInstantEvents)
              continue;
            verticalGuidelineX = node.rect.left + 1;
            verticalGuidelineStartY = _this._calculateVerticalGuidelineStartY$1(t9);
            t11 = t9.__TimelineEvent__lowestDisplayChild;
            if (t11 === $)
              A.throwUnnamedLateFieldNI();
            t1.push(new A.VerticalLineSegment(new A.Offset(verticalGuidelineX, verticalGuidelineStartY), new A.Offset(verticalGuidelineX, _this._calculateHorizontalGuidelineY$1(t11)), 1));
            firstChild = B.JSArray_methods.firstWhere$1(t10, new A.TimelineFlameChartState__calculateAsyncGuidelines_closure());
            t11 = t5.$index(0, firstChild).rect;
            horizontalGuidelineY = _this._calculateHorizontalGuidelineY$1(firstChild);
            t2.push(new A.HorizontalLineSegment(new A.Offset(verticalGuidelineX, horizontalGuidelineY), new A.Offset(t11.left, horizontalGuidelineY), 1));
            for (i = 1; i < t10.length; ++i) {
              _box_0 = {};
              _box_0.horizontalGuidelineStartX = verticalGuidelineX;
              child = t10[i];
              if (B.JSArray_methods.get$first(child.traceEvents).event.phase === "n")
                continue;
              childNode = t5.$index(0, child);
              previousSiblingInRow = new A.TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow(node);
              t11 = childNode.__FlameChartNode_row;
              if (t11 === $)
                A.throwUnnamedLateFieldNI();
              t12 = node.__FlameChartNode_row;
              if (t12 === $)
                A.throwUnnamedLateFieldNI();
              if (t11.index === t12.index + 1) {
                previousSibling = previousSiblingInRow.call$1(childNode);
                while (true) {
                  t11 = previousSibling != null;
                  if (!(t11 && B.JSArray_methods.get$first(t6._as(previousSibling.data).traceEvents).event.phase === "n"))
                    break;
                  previousSibling = previousSiblingInRow.call$1(previousSibling);
                }
                if (t11)
                  new A.TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline(_box_0, _this, t9, child, node, childNode, verticalGuidelineStartY).call$1(previousSibling.rect.right);
              }
              t11 = childNode.rect;
              horizontalGuidelineY = _this._calculateHorizontalGuidelineY$1(child);
              t2.push(new A.HorizontalLineSegment(new A.Offset(_box_0.horizontalGuidelineStartX, horizontalGuidelineY), new A.Offset(t11.left, horizontalGuidelineY), 1));
            }
          }
        }
      B.JSArray_methods.sort$0(t1);
      B.JSArray_methods.sort$0(t2);
    },
    _spacerRowsBeforeEvent$1($event) {
      return this.chartNodesByEvent.$index(0, $event).sectionIndex + 3;
    },
    _calculateVerticalGuidelineStartY$1($event) {
      var spacerRowsBeforeEvent = this._spacerRowsBeforeEvent$1($event),
        t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = this.chartNodesByEvent.$index(0, $event).__FlameChartNode_row;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return spacerRowsBeforeEvent * t1 + (t2.index - spacerRowsBeforeEvent) * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) + B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    _calculateHorizontalGuidelineY$1($event) {
      var spacerRowsBeforeEvent = this._spacerRowsBeforeEvent$1($event),
        t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = this.chartNodesByEvent.$index(0, $event).__FlameChartNode_row;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return spacerRowsBeforeEvent * t1 + (t2.index - spacerRowsBeforeEvent) * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) + B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) / 2;
    }
  };
  A.TimelineFlameChartState_didChangeDependencies_closure.prototype = {
    call$1(_) {
      return this.$call$body$TimelineFlameChartState_didChangeDependencies_closure(_);
    },
    $call$body$TimelineFlameChartState_didChangeDependencies_closure(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$call$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 = 2;
              return A._asyncAwait($async$self.$this._centerSelectedFrame$0(), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 259
  };
  A.TimelineFlameChartState__indexOfFirstEventInView_closure.prototype = {
    call$2(a, b) {
      var t1 = a.time._utils$_start;
      t1.toString;
      return B.JSInt_methods.compareTo$1(t1._duration, b.time._utils$_start._duration);
    },
    $signature: 109
  };
  A.TimelineFlameChartState__viewNextEventInGroup_closure.prototype = {
    call$2(a, b) {
      var t1 = a.time._utils$_end;
      t1.toString;
      return B.JSInt_methods.compareTo$1(t1._duration, b.time._utils$_end._duration);
    },
    $signature: 109
  };
  A.TimelineFlameChartState__handleSelectedFrame_closure.prototype = {
    call$0() {
      this.$this._selectedFrame = this.selectedFrame;
    },
    $signature: 0
  };
  A.TimelineFlameChartState_initFlameChartElements_leftForEvent.prototype = {
    call$1($event) {
      var t1 = this.$this;
      return ($event.time._utils$_start._duration - t1._widget.time._utils$_start._duration) * t1.get$startingPxPerMicro() + t1._widget.startInset;
    },
    $signature: 142
  };
  A.TimelineFlameChartState_initFlameChartElements_rightForEvent.prototype = {
    call$1($event) {
      var t1 = this.$this;
      return ($event.time._utils$_end._duration - t1._widget.time._utils$_start._duration) * t1.get$startingPxPerMicro() + t1._widget.startInset;
    },
    $signature: 142
  };
  A.TimelineFlameChartState_initFlameChartElements_createChartNode.prototype = {
    call$3($event, row, section) {
      var left, right, t1, colorPair, t2, t3, t4, t5, t6, node, _this = this;
      if (!$event.get$isWellFormed())
        return;
      left = _this.leftForEvent.call$1($event);
      right = _this.rightForEvent.call$1($event);
      t1 = _this._box_0;
      if (right > t1.maxRight)
        t1.maxRight = right;
      if ($event.get$isShaderEvent())
        colorPair = B.ColorPair_Color_4293980400_Color_4285993007;
      else if ($event.type === B.TimelineEventType_2)
        colorPair = B.List_M6L[B.JSInt_methods.$mod(row, 2)];
      else if (B.JSArray_methods.get$first($event.traceEvents).event.category === "GC")
        colorPair = B.List_9sM[B.JSInt_methods.$mod(row, 2)];
      else {
        t1 = $event.type;
        if (t1 === B.TimelineEventType_0)
          colorPair = $.uiColorPalette[B.JSInt_methods.$mod(row, 2)];
        else
          colorPair = t1 === B.TimelineEventType_1 ? $.rasterColorPalette[B.JSInt_methods.$mod(row, 2)] : B.List_9sM[B.JSInt_methods.$mod(row, 2)];
      }
      t1 = $event.traceEvents;
      t2 = B.JSArray_methods.get$first(t1).event;
      t3 = B.JSArray_methods.get$first(t1).wrapperId;
      t1 = B.JSArray_methods.get$first(t1).event.name;
      t1.toString;
      t4 = colorPair.foreground;
      t5 = colorPair.background;
      t6 = _this.$this;
      node = A.FlameChartNode$(new A.ThemedColorPair(new A.ThemedColor(t4, t4), new A.ThemedColor(t5, t5)), $event, new A.ValueKey(A.S(t2.name) + " " + t3, type$.ValueKey_String), new A.TimelineFlameChartState_initFlameChartElements_createChartNode_closure(t6), new A.Rect(left, 0, right, B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), section, t1, type$.TimelineEvent);
      t6.chartNodesByEvent.$indexSet(0, $event, node);
      t6.rows[row].addNode$1(node);
    },
    $signature: 474
  };
  A.TimelineFlameChartState_initFlameChartElements_createChartNode_closure.prototype = {
    call$1($event) {
      return this.$this._widget.onDataSelected.call$1($event);
    },
    $signature: 16
  };
  A.TimelineFlameChartState_initFlameChartElements_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(a.rect.left, b.rect.left);
    },
    $signature: 475
  };
  A.TimelineFlameChartState_buildChartOverlays_closure.prototype = {
    call$1($event) {
      return this.$this._calculateVerticalGuidelineStartY$1($event) - B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    },
    $signature: 142
  };
  A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton.prototype = {
    call$2$isNext(index, isNext) {
      var t3, backgroundColor, backgroundWithOpacity,
        topSpacer = index === 0 ? B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * 3 - B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : 0,
        t1 = this.eventGroups,
        bottomSpacer = index === t1._count - 1 ? B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : 0,
        t2 = t1.$ti;
      t2 = t1.$index(0, new A._SplayTreeKeyIterable(t1, t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>")).elementAt$1(0, index));
      t2.toString;
      t1 = this.$this;
      t3 = t1._framework$_element;
      t3.toString;
      t3 = A.Theme_of(t3).colorScheme;
      if (B.JSInt_methods.$mod(index + 1, 2) === 1)
        backgroundColor = A.DevToolsColorScheme_get_defaultBackgroundColor(t3);
      else
        backgroundColor = t3.brightness === B.Brightness_1 ? A.ColorExtension_darken(A.DevToolsColorScheme_get_defaultBackgroundColor(t3), 0.05) : A.ColorExtension_brighten(A.DevToolsColorScheme_get_defaultBackgroundColor(t3));
      t3 = backgroundColor.value;
      backgroundWithOpacity = A.Color$fromRGBO(t3 >>> 16 & 255, t3 >>> 8 & 255, t3 & 255, 0.85);
      t3 = t1.__FlameChartState_horizontalControllerGroup;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return new A.NavigateInThreadInButton(t2, isNext, topSpacer, bottomSpacer, backgroundWithOpacity, this.threadButtonContainerWidth, new A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure(t1, isNext, t2), new A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0(t1, isNext), t3, null);
    },
    $signature: 476
  };
  A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.group;
      return this.isNext ? t1._viewNextEventInGroup$1(t2) : t1._viewPreviousEventInGroup$1(t2);
    },
    $signature: 0
  };
  A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0.prototype = {
    call$1(g) {
      var firstEventInView, t2, noEventsAfterVisibleTimeRange,
        t1 = this.$this;
      if (this.isNext) {
        firstEventInView = t1._indexOfFirstEventInView$1(g);
        t2 = t1.__FlameChartState_horizontalControllerGroup;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.get$_attachedControllers();
        if (!t2.get$isEmpty(t2)) {
          t2 = g.__TimelineEventGroup_latestTimestampMicros;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          noEventsAfterVisibleTimeRange = t2 <= t1.get$visibleTimeRange()._utils$_end._duration;
        } else
          noEventsAfterVisibleTimeRange = false;
        if (!(firstEventInView === 0 && noEventsAfterVisibleTimeRange)) {
          t2 = t1.__FlameChartState_horizontalControllerGroup;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2 = t2.get$_attachedControllers();
          if (!t2.get$isEmpty(t2)) {
            t2 = g.__TimelineEventGroup_latestTimestampMicros;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t1 = t2 > t1.get$visibleTimeRange()._utils$_end._duration;
          } else
            t1 = false;
        } else
          t1 = true;
      } else {
        t2 = t1.__FlameChartState_horizontalControllerGroup;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.get$_attachedControllers();
        if (!t2.get$isEmpty(t2)) {
          t2 = g.__TimelineEventGroup_earliestTimestampMicros;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t2 < t1.get$visibleTimeRange()._utils$_start._duration;
        } else
          t1 = false;
      }
      return t1;
    },
    $signature: 477
  };
  A.TimelineFlameChartState__buildEventThreadNavigationButtons_closure.prototype = {
    call$2(context, i) {
      return this.buildNavigatorButton.call$2$isNext(i, false);
    },
    $signature: 47
  };
  A.TimelineFlameChartState__buildEventThreadNavigationButtons_closure0.prototype = {
    call$2(context, i) {
      return this.buildNavigatorButton.call$2$isNext(i, true);
    },
    $signature: 47
  };
  A.TimelineFlameChartState__calculateAsyncGuidelines_closure.prototype = {
    call$1(e) {
      return B.JSArray_methods.get$first(e.traceEvents).event.phase !== "n";
    },
    $signature: 61
  };
  A.TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline.prototype = {
    call$1(previousXInRow) {
      var t2, newVerticalGuidelineX, _this = this,
        t1 = _this.event.time._utils$_end;
      t1.toString;
      t2 = _this.child;
      if (t1._duration < t2.time._utils$_start._duration)
        newVerticalGuidelineX = _this.node.rect.right;
      else {
        t1 = _this.childNode.rect.left;
        newVerticalGuidelineX = t1 - Math.min(8, (t1 - previousXInRow) / 2);
      }
      t1 = _this.$this;
      t1.verticalGuidelines.push(new A.VerticalLineSegment(new A.Offset(newVerticalGuidelineX, _this.verticalGuidelineStartY), new A.Offset(newVerticalGuidelineX, t1._calculateHorizontalGuidelineY$1(t2)), 1));
      _this._box_0.horizontalGuidelineStartX = newVerticalGuidelineX;
    },
    $signature: 478
  };
  A.TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow.prototype = {
    call$1(child) {
      var previousNodeIndex, previousNode,
        t1 = child.__FlameChartNode_row;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      previousNodeIndex = B.JSArray_methods.indexOf$1(t1.nodes, child) - 1;
      if (previousNodeIndex >= 0) {
        t1 = child.__FlameChartNode_row;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        previousNode = t1.nodes[previousNodeIndex];
      } else
        previousNode = null;
      t1 = previousNode == null ? null : previousNode.data.parent;
      return J.$eq$(t1, this.node.data) ? previousNode : null;
    },
    $signature: 479
  };
  A.AsyncGuidelinePainter.prototype = {
    paint$2(canvas, size) {
      var t3, firstVerticalGuidelineIndex, t4, firstHorizontalGuidelineIndex, _this = this,
        visible = _this.get$visibleRect(),
        t1 = visible.left,
        t2 = _this.chartStartInset,
        leftBoundWithoutZoom = t2 + Math.max(0, t1 - t2) / _this.zoom;
      t2 = _this.verticalGuidelines;
      t3 = visible.top;
      firstVerticalGuidelineIndex = A.lowerBound(t2, new A.VerticalLineSegment(new A.Offset(leftBoundWithoutZoom, t3), new A.Offset(leftBoundWithoutZoom, visible.bottom), 1), null, type$.VerticalLineSegment);
      t4 = _this.horizontalGuidelines;
      firstHorizontalGuidelineIndex = A.lowerBound(t4, new A.HorizontalLineSegment(new A.Offset(t1, t3), new A.Offset(visible.right, t3), 1), null, type$.HorizontalLineSegment);
      if (firstVerticalGuidelineIndex !== -1)
        _this._paintGuidelines$4(canvas, visible, t2, firstVerticalGuidelineIndex);
      if (firstHorizontalGuidelineIndex !== -1)
        _this._paintGuidelines$4(canvas, visible, t4, firstHorizontalGuidelineIndex);
    },
    _paintGuidelines$4(canvas, visible, guidelines, firstLineIndex) {
      var t2, t3, unzoomableOffsetLineStart, t4, t5, t6, t7, i, lastOpacity, line, zoomedLine, t8, t9, intersectRect, opacity, t10, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()),
        t1 = _this.colorScheme.brightness === B.Brightness_1;
      paint.set$color(0, t1 ? B.Color_2315255808 : B.Color_4291348680);
      for (t2 = _this.zoom, t3 = _this.chartStartInset, unzoomableOffsetLineStart = 1 + t3, t4 = _this.horizontalScrollOffset, t5 = _this.constraints, t6 = t5.maxWidth, t7 = _this.verticalScrollOffset, t5 = t5.maxHeight, i = firstLineIndex, lastOpacity = 1; i < guidelines.length; ++i) {
        line = guidelines[i];
        zoomedLine = line instanceof A.VerticalLineSegment ? line.toZoomed$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom(unzoomableOffsetLineStart, unzoomableOffsetLineStart, t2) : line.toZoomed$3$unzoomableOffsetLineEnd$unzoomableOffsetLineStart$zoom(t3, unzoomableOffsetLineStart, t2);
        if (!zoomedLine.crossAxisIntersects$1(visible))
          break;
        t8 = zoomedLine.start;
        t9 = zoomedLine.end;
        intersectRect = A.Rect$fromPoints(t8, t9).intersect$1(visible);
        if (intersectRect.right - intersectRect.left >= 0 && intersectRect.bottom - intersectRect.top >= 0) {
          opacity = zoomedLine.opacity;
          if (opacity !== lastOpacity) {
            t10 = t1 ? B.Color_2315255808 : B.Color_4291348680;
            t10 = t10.value;
            paint.set$color(0, A.Color$fromARGB(B.JSInt_methods.round$0(255 * opacity), t10 >>> 16 & 255, t10 >>> 8 & 255, t10 & 255));
            lastOpacity = opacity;
          }
          canvas.drawLine$3(new A.Offset(B.JSNumber_methods.clamp$2(t8._dx - t4, 0, t6), B.JSNumber_methods.clamp$2(t8._dy - t7, 0, t5)), new A.Offset(B.JSNumber_methods.clamp$2(t9._dx - t4, 0, t6), B.JSNumber_methods.clamp$2(t9._dy - t7, 0, t5)), paint);
        }
      }
    },
    shouldRepaint$1(oldDelegate) {
      return true;
    }
  };
  A.SelectedFrameBracketPainter.prototype = {
    paint$2(canvas, size) {
      var t3, paint, _this = this,
        t1 = _this.selectedFrame,
        t2 = t1 == null;
      if ((t2 ? null : t1.timelineEventData._eventFlows[0]) == null) {
        t3 = (t2 ? null : t1.timelineEventData._eventFlows[1]) == null;
        t2 = t3;
      } else
        t2 = false;
      if (t2)
        return;
      t1.toString;
      t2 = B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = _this.constraints;
      canvas.clipRect$1(new A.Rect(0, t2, 0 + t3.maxWidth, t2 + (t3.maxHeight - B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)))));
      paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, B.Color_4281779956);
      paint.set$style(0, B.PaintingStyle_1);
      paint.set$strokeWidth(4);
      t1 = t1.timelineEventData._eventFlows;
      t2 = t1[0];
      if (t2 != null)
        _this._paintBrackets$3$event(canvas, paint, t2);
      t1 = t1[1];
      if (t1 != null)
        _this._paintBrackets$3$event(canvas, paint, t1);
    },
    _paintBrackets$3$event(canvas, paint, $event) {
      var t7, t8, _this = this,
        visible = _this.get$visibleRect(),
        t1 = $event.time,
        t2 = _this.startTimeOffsetMicros,
        t3 = _this.startingPxPerMicro,
        t4 = _this.zoom,
        t5 = _this.chartStartInset,
        t6 = visible.left,
        startBracketX = (t1._utils$_start._duration - t2) * t3 * t4 + t5 - t6 + 16,
        endBracketX = (t1._utils$_end._duration - t2) * t3 * t4 + t5 - t6 - 16,
        bracketTopY = _this.yForEvent.call$1($event) - visible.top - 8,
        bracketBottomY = bracketTopY + $event.get$depth() * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) - 2 + 16;
      t6 = A.Path_Path();
      t6.moveTo$2(0, startBracketX, bracketTopY);
      t5 = startBracketX - 24;
      t6.lineTo$2(0, t5 + 8, bracketTopY);
      t4 = t5 + 16;
      t3 = bracketTopY + 16;
      t6.arcTo$4(0, new A.Rect(t5, bracketTopY, t4, t3), 4.71238898038469, -1.5707963267948966, false);
      t2 = bracketBottomY - 24;
      t6.lineTo$2(0, t5, t2);
      t1 = bracketBottomY - 16;
      t7 = t1 + 16;
      t6.arcTo$4(0, new A.Rect(t5, t1, t4, t7), 3.141592653589793, -1.5707963267948966, false);
      t6.lineTo$2(0, startBracketX, bracketBottomY);
      canvas.drawPath$2(t6, paint);
      t6 = A.Path_Path();
      t6.moveTo$2(0, endBracketX, bracketTopY);
      t4 = endBracketX + 24;
      t6.lineTo$2(0, t4 - 8, bracketTopY);
      t5 = t4 - 16;
      t8 = t5 + 16;
      t6.arcTo$4(0, new A.Rect(t5, bracketTopY, t8, t3), 4.71238898038469, 1.5707963267948966, false);
      t6.lineTo$2(0, t4, t2);
      t6.arcTo$4(0, new A.Rect(t5, t1, t8, t7), 0, 1.5707963267948966, false);
      t6.lineTo$2(0, endBracketX, bracketBottomY);
      canvas.drawPath$2(t6, paint);
    },
    shouldRepaint$1(oldDelegate) {
      return !this.$eq(0, oldDelegate);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.SelectedFrameBracketPainter && _this.selectedFrame == other.selectedFrame && _this.zoom === other.zoom && _this.constraints.$eq(0, other.constraints) && _this.verticalScrollOffset === other.verticalScrollOffset && _this.horizontalScrollOffset === other.horizontalScrollOffset && _this.colorScheme.$eq(0, other.colorScheme);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.selectedFrame, _this.zoom, _this.constraints, _this.verticalScrollOffset, _this.horizontalScrollOffset, _this.colorScheme, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.NavigateInThreadInButton.prototype = {
    createState$0() {
      return new A._NavigateInThreadInButtonState(A.Disposer$(), B._StateLifecycle_0);
    },
    shouldEnableButton$1(arg0) {
      return this.shouldEnableButton.call$1(arg0);
    }
  };
  A._NavigateInThreadInButtonState.prototype = {
    initState$0() {
      this.super$State$initState();
      var t1 = this._widget.horizontalController.__LinkedScrollControllerGroup__offsetNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      this.addAutoDisposeListener$1(t1);
    },
    build$1(context) {
      var t4, t5, t6, t7, t8, t9, t10, t11, t12, _null = null,
        t1 = this._widget,
        t2 = t1.isNext,
        t3 = !t2,
        useSmallButton = t3 && t1.group.rows.length <= 1,
        topPadding = t3 && t1.group.rows.length === 2 ? 20 : 0;
      t3 = t1.topSpacer;
      t4 = t1.bottomSpacer;
      t5 = useSmallButton ? 2 : 0;
      t6 = t2 ? 16 : 0;
      t2 = t2 ? 0 : 16;
      t1 = A.TimelineEventGroupDisplayExtension_get_displaySizePx(t1.group);
      t7 = this._widget;
      t8 = t7.threadButtonContainerWidth;
      t9 = useSmallButton ? B.Alignment_0_1 : B.Alignment_0_0;
      t10 = t7.backgroundColor;
      t11 = t7.isNext;
      t12 = t11 ? "Next event in thread" : "Previous event in thread";
      t11 = t11 ? B.IconData_57695_MaterialIcons_true : B.IconData_57694_MaterialIcons_true;
      return A.Container$(t9, new A.ThreadNavigatorButton(useSmallButton, t10, t12, t11, t7.shouldEnableButton$1(t7.group) ? this._widget.onPressed : _null, _null), B.Clip_0, _null, _null, _null, _null, t1, _null, new A.EdgeInsets(0, t3, 0, t4), new A.EdgeInsets(t2, topPadding, t6, t5), _null, _null, t8);
    }
  };
  A.ThreadNavigatorButton.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = A.Border_Border$all(A.Theme_of(context).focusColor, 1),
        t2 = A.BorderRadius$circular(4),
        t3 = _this.useSmallButton ? B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t4 = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Container$(_null, A.DevToolsTooltip$(A.IconButton$(_null, _null, true, A.Icon$(_this.icon, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, _this.onPressed, B.EdgeInsets_0_0_0_0, _null, _null), _null, _null, _this.tooltip, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000), B.Clip_0, _null, _null, new A.BoxDecoration(_this.backgroundColor, _null, t1, t2, _null, _null, _null, B.BoxShape_0), _null, t3, _null, _null, _null, _null, _null, t4);
    }
  };
  A._TimelineFlameChartState_FlameChartState_ProvidedControllerMixin.prototype = {};
  A.__NavigateInThreadInButtonState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.TimelineStreamManager.prototype = {
    get$basicStreams() {
      return this._streamsWhere$1(new A.TimelineStreamManager_basicStreams_closure());
    },
    get$advancedStreams() {
      return this._streamsWhere$1(new A.TimelineStreamManager_advancedStreams_closure());
    },
    _streamsWhere$1(condition) {
      var t2,
        t1 = this._streams;
      t1 = t1.get$values(t1);
      t2 = A._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      return A.List_List$of(new A.WhereIterable(t1, condition, t2), true, t2._eval$1("Iterable.E"));
    },
    _initStreams$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t3, timelineFlags, t4, t5, t6, t7, t8, _i, streamName, t9, t10, t11, t1, t2;
      var $async$_initStreams$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._service;
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.TimelineFlags;
              $async$goto = 2;
              return A._asyncAwait(t1.trackFuture$1$2("getVMTimelineFlags", t2._call$1$1(0, "getVMTimelineFlags", t3), t3), $async$_initStreams$0);
            case 2:
              // returning from await.
              timelineFlags = $async$result;
              t3 = $async$self._streams;
              t3.clear$0(0);
              t2 = A._setArrayType([], type$.JSArray_MapEntry_String_TimelineStream);
              t1 = timelineFlags.availableStreams;
              if (t1 == null)
                t1 = A._setArrayType([], type$.JSArray_String);
              t4 = t1.length;
              t5 = type$.ValueNotifier_bool;
              t6 = type$.MapEntry_String_TimelineStream;
              t7 = $async$self._advancedStreams;
              t8 = $async$self._streamDescriptions;
              _i = 0;
              for (; _i < t1.length; t1.length === t4 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                streamName = t1[_i];
                t9 = t8.$index(0, streamName);
                if (t9 == null)
                  t9 = "";
                t10 = t7.contains$1(0, streamName);
                t11 = timelineFlags.recordedStreams;
                t11 = t11 == null ? null : B.JSArray_methods.contains$1(t11, streamName);
                t2.push(new A.MapEntry(streamName, new A.TimelineStream(streamName, t9, t10, new A.ValueNotifier(t11 === true, $.$get$ChangeNotifier__emptyListeners(), t5)), t6));
              }
              t3.addEntries$1(t3, t2);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_initStreams$0, $async$completer);
    },
    handleTimelineEvent$1($event) {
      return this.handleTimelineEvent$body$TimelineStreamManager($event);
    },
    handleTimelineEvent$body$TimelineStreamManager($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, newRecordedStreams, t1, t2, t3, t4, t5, t6, _i, unknownStream;
      var $async$handleTimelineEvent$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 ($event.kind === "TimelineStreamSubscriptionsUpdate") {
                newRecordedStreams = $event.updatedStreams;
                if (newRecordedStreams == null)
                  newRecordedStreams = A._setArrayType([], type$.JSArray_String);
                for (t1 = $async$self._streams, 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.name;
                  t6 = B.JSArray_methods.contains$1(newRecordedStreams, t5);
                  t4._recorded.set$value(0, t6);
                  B.JSArray_methods.remove$1(newRecordedStreams, t5);
                }
                t2 = newRecordedStreams.length;
                if (t2 !== 0)
                  for (t3 = type$.ValueNotifier_bool, t4 = $async$self._streamDescriptions, _i = 0; _i < newRecordedStreams.length; newRecordedStreams.length === t2 || (0, A.throwConcurrentModificationError)(newRecordedStreams), ++_i) {
                    unknownStream = newRecordedStreams[_i];
                    t5 = t4.$index(0, unknownStream);
                    if (t5 == null)
                      t5 = "";
                    t1.$indexSet(0, unknownStream, new A.TimelineStream(unknownStream, t5, true, new A.ValueNotifier(true, $.$get$ChangeNotifier__emptyListeners(), t3)));
                  }
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleTimelineEvent$1, $async$completer);
    },
    vmServiceOpened$2(service, connectedApp) {
      return this.vmServiceOpened$body$TimelineStreamManager(service, connectedApp);
    },
    vmServiceOpened$body$TimelineStreamManager(service, connectedApp) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$vmServiceOpened$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$self.cancelStreamSubscriptions$0();
              $async$self._service = service;
              t1 = service.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._getEventController$1("Timeline");
              $async$self._auto_dispose$_subscriptions.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$handleTimelineEvent()));
              connectedApp.initialized.future.then$1$1(new A.TimelineStreamManager_vmServiceOpened_closure($async$self, connectedApp), type$.void);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$vmServiceOpened$2, $async$completer);
    },
    setDefaultTimelineStreams$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        t1;
      var $async$setDefaultTimelineStreams$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait(t1.setVMTimelineFlags$1(A._setArrayType(["Dart", "Embedder", "GC"], type$.JSArray_String)), $async$setDefaultTimelineStreams$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setDefaultTimelineStreams$0, $async$completer);
    },
    updateTimelineStream$2(stream, value) {
      return this.updateTimelineStream$body$TimelineStreamManager(stream, value);
    },
    updateTimelineStream$body$TimelineStreamManager(stream, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, alreadyBeingRecorded, t1, t2, t3, recordedStreamNames;
      var $async$updateTimelineStream$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._streams;
              t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
              t3 = t2._eval$1("WhereIterable<Iterable.E>");
              recordedStreamNames = A.List_List$of(new A.WhereIterable(new A.LinkedHashMapKeyIterable(t1, t2), new A.TimelineStreamManager_updateTimelineStream_closure($async$self), t3), true, t3._eval$1("Iterable.E"));
              t3 = stream.name;
              alreadyBeingRecorded = B.JSArray_methods.contains$1(recordedStreamNames, t3);
              if (alreadyBeingRecorded && !value)
                B.JSArray_methods.remove$1(recordedStreamNames, t3);
              else if (!alreadyBeingRecorded && value)
                B.JSArray_methods.add$1(recordedStreamNames, t3);
              $async$goto = 2;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.setVMTimelineFlags$1(recordedStreamNames), $async$updateTimelineStream$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$updateTimelineStream$2, $async$completer);
    }
  };
  A.TimelineStreamManager_basicStreams_closure.prototype = {
    call$1(stream) {
      return !stream.advanced;
    },
    $signature: 330
  };
  A.TimelineStreamManager_advancedStreams_closure.prototype = {
    call$1(stream) {
      return stream.advanced;
    },
    $signature: 330
  };
  A.TimelineStreamManager_vmServiceOpened_closure.prototype = {
    call$1(_) {
      return this.$call$body$TimelineStreamManager_vmServiceOpened_closure(_);
    },
    $call$body$TimelineStreamManager_vmServiceOpened_closure(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$call$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.connectedApp.get$isDartWebAppNow();
              t1.toString;
              $async$goto = !t1 ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self.$this._initStreams$0(), $async$call$1);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 107
  };
  A.TimelineStreamManager_updateTimelineStream_closure.prototype = {
    call$1(streamName) {
      return this.$this._streams.$index(0, streamName)._recorded._change_notifier$_value;
    },
    $signature: 6
  };
  A.TimelineStream.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.CpuBottomUpTable.prototype = {
    build$1(context) {
      var _this = this;
      return A.TreeTable$(false, _this.columns, _this.bottomUpRoots, null, new A.CpuBottomUpTable_build_closure(), null, _this.sortColumn, B.SortDirection_1, _this.treeColumn, type$.CpuStackFrame);
    }
  };
  A.CpuBottomUpTable_build_closure.prototype = {
    call$1(frame) {
      return new A.PageStorageKey(frame.id, type$.PageStorageKey_String);
    },
    $signature: 329
  };
  A.CpuCallTreeTable.prototype = {
    build$1(context) {
      var _this = this;
      return A.TreeTable$(false, _this.columns, _this.dataRoots, null, new A.CpuCallTreeTable_build_closure(), null, _this.sortColumn, B.SortDirection_1, _this.treeColumn, type$.CpuStackFrame);
    }
  };
  A.CpuCallTreeTable_build_closure.prototype = {
    call$1(frame) {
      return new A.PageStorageKey(frame.id, type$.PageStorageKey_String);
    },
    $signature: 329
  };
  A.SelfTimeColumn.prototype = {
    get$numeric() {
      return true;
    },
    compare$2(a, b) {
      var result = this.super$ColumnData$compare(a, b);
      if (result === 0)
        return B.JSString_methods.compareTo$1(a.name, b.name);
      return result;
    },
    getValue$1(dataObject) {
      return dataObject.get$selfTime()._duration;
    },
    getDisplayValue$1(dataObject) {
      return A.msText(dataObject.get$selfTime(), 2) + " (" + (B.JSNumber_methods.toStringAsFixed$1(dataObject.get$selfTimeRatio() * 100, 2) + "%") + ")";
    },
    getTooltip$1(dataObject) {
      return "";
    }
  };
  A.TotalTimeColumn.prototype = {
    get$numeric() {
      return true;
    },
    compare$2(a, b) {
      var result = this.super$ColumnData$compare(a, b);
      if (result === 0)
        return B.JSString_methods.compareTo$1(a.name, b.name);
      return result;
    },
    getValue$1(dataObject) {
      return dataObject.get$totalTime()._duration;
    },
    getDisplayValue$1(dataObject) {
      return A.msText(dataObject.get$totalTime(), 2) + " (" + (B.JSNumber_methods.toStringAsFixed$1(dataObject.get$totalTimeRatio() * 100, 2) + "%") + ")";
    },
    getTooltip$1(dataObject) {
      return "";
    }
  };
  A.MethodNameColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.name;
    },
    getDisplayValue$1(dataObject) {
      return dataObject.name;
    },
    getTooltip$1(dataObject) {
      return dataObject.name;
    }
  };
  A.SourceColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.get$packageUriWithSourceLine();
    },
    getDisplayValue$1(dataObject) {
      return dataObject.get$packageUriWithSourceLine();
    },
    getTooltip$1(dataObject) {
      return dataObject.get$packageUriWithSourceLine();
    }
  };
  A.CpuProfilerController.prototype = {
    get$cpuProfileStore() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
      t1 = t1 == null ? null : J.get$id$x(t1);
      if (t1 == null)
        t1 = "";
      return this._cpuProfileStoreByIsolateId.putIfAbsent$2(0, t1, new A.CpuProfilerController_cpuProfileStore_closure());
    },
    get$isToggleFilterActive() {
      return B.JSArray_methods.any$1(this.get$toggleFilters(), new A.CpuProfilerController_isToggleFilterActive_closure());
    },
    get$toggleFilters() {
      var t2, t3, t4, t5,
        t1 = this._toggleFilters;
      if (t1 == null) {
        t1 = $.$get$ChangeNotifier__emptyListeners();
        t2 = type$.ValueNotifier_bool;
        t3 = type$.ToggleFilter_CpuStackFrame;
        t4 = A._setArrayType([new A.ToggleFilter("Hide Native code", new A.CpuProfilerController_toggleFilters_closure(), true, new A.ValueNotifier(true, t1, t2), t3), new A.ToggleFilter("Hide core Dart libraries", new A.CpuProfilerController_toggleFilters_closure0(), false, new A.ValueNotifier(false, t1, t2), t3)], type$.JSArray_ToggleFilter_CpuStackFrame);
        t5 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
        t5 = t5 == null ? null : t5.get$isFlutterAppNow();
        if (t5 !== false)
          t4.push(new A.ToggleFilter("Hide core Flutter libraries", new A.CpuProfilerController_toggleFilters_closure1(), false, new A.ValueNotifier(false, t1, t2), t3));
        this._toggleFilters = t4;
        t1 = t4;
      }
      return t1;
    },
    get$profilerEnabled() {
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        var t1 = true;
      else {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager.flag$1("profiler");
        t1 = (t1 == null ? null : t1._change_notifier$_value.valueAsString) === "true";
      }
      return t1;
    },
    enableCpuProfiler$0() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      return A.CpuProfilerExtension_enableCpuProfiler(t1);
    },
    pullAndProcessProfile$3$extentMicros$processId$startMicros(extentMicros, processId, startMicros) {
      return this.pullAndProcessProfile$body$CpuProfilerController(extentMicros, processId, startMicros);
    },
    pullAndProcessProfile$body$CpuProfilerController(extentMicros, processId, startMicros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, pullAndProcessHelper, t2, exception, t1, $async$exception;
      var $async$pullAndProcessProfile$3$extentMicros$processId$startMicros = 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 = {};
              if (!$async$self.get$profilerEnabled()) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._cpu_profile_controller$_processingNotifier.set$value(0, true);
              t1.cpuProfileData = $.$get$CpuProfilerController_baseStateCpuProfileData();
              $async$self._dataNotifier.set$value(0, null);
              pullAndProcessHelper = new A.CpuProfilerController_pullAndProcessProfile_pullAndProcessHelper(t1, $async$self, startMicros, extentMicros, processId);
              t2 = $async$self.analyticsScreenId;
              $async$goto = t2 != null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait(A.timeAsync(t2, "cpuProfileProcessingTime", pullAndProcessHelper, new A.CpuProfilerController_pullAndProcessProfile_closure(t1)), $async$pullAndProcessProfile$3$extentMicros$processId$startMicros);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$handler = 8;
              $async$goto = 11;
              return A._asyncAwait(pullAndProcessHelper.call$0(), $async$pullAndProcessProfile$3$extentMicros$processId$startMicros);
            case 11:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 10;
              break;
            case 8:
              // catch
              $async$handler = 7;
              $async$exception = $async$currentError;
              if (!(A.unwrapException($async$exception) instanceof A.ProcessCancelledException))
                throw $async$exception;
              // goto after finally
              $async$goto = 10;
              break;
            case 7:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 10:
              // after finally
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$pullAndProcessProfile$3$extentMicros$processId$startMicros, $async$completer);
    },
    processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone(cpuProfileData, processId, shouldApplyFilters, shouldRefreshSearchMatches, storeAsUserTagNone) {
      return this.processAndSetData$body$CpuProfilerController(cpuProfileData, processId, shouldApplyFilters, true, storeAsUserTagNone);
    },
    processAndSetData$body$CpuProfilerController(cpuProfileData, processId, shouldApplyFilters, shouldRefreshSearchMatches, storeAsUserTagNone) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, t1, t2, t3, exception, $async$exception;
      var $async$processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone = 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
              cpuProfileData = cpuProfileData;
              t1 = $async$self._cpu_profile_controller$_processingNotifier;
              t1.set$value(0, true);
              t2 = $async$self._dataNotifier;
              t2.set$value(0, null);
              $async$handler = 3;
              t3 = $async$self.transformer;
              $async$goto = 6;
              return A._asyncAwait(t3.processData$2$processId(cpuProfileData, processId), $async$processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone);
            case 6:
              // returning from await.
              if (storeAsUserTagNone) {
                $async$self.get$cpuProfileStore().storeProfile$2$label(cpuProfileData, "none");
                $async$self.get$cpuProfileStore().storeProfile$2$time(cpuProfileData, cpuProfileData.profileMetaData.time);
              }
              $async$goto = shouldApplyFilters ? 7 : 8;
              break;
            case 7:
              // then
              cpuProfileData = $async$self._filterData$2(cpuProfileData, new A.Filter(null, $async$self.get$toggleFilters(), type$.Filter_CpuStackFrame));
              $async$goto = 9;
              return A._asyncAwait(t3.processData$2$processId(cpuProfileData, processId), $async$processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone);
            case 9:
              // returning from await.
              if (storeAsUserTagNone)
                $async$self.get$cpuProfileStore().storeProfile$2$label(cpuProfileData, $async$self._wrapWithFilterSuffix$1("none"));
            case 8:
              // join
              t2.set$value(0, cpuProfileData);
              $async$self.refreshSearchMatches$0();
              t1.set$value(0, false);
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              if (type$.AssertionError._is(A.unwrapException($async$exception))) {
                t2.set$value(0, cpuProfileData);
                t1.set$value(0, false);
                throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone, $async$completer);
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      var regexSearch, matches, t1, currentStackFrames, t2;
      if (search.length === 0)
        return A._setArrayType([], type$.JSArray_CpuStackFrame);
      regexSearch = A.RegExp_RegExp(search, false, false);
      matches = A._setArrayType([], type$.JSArray_CpuStackFrame);
      t1 = this._dataNotifier._change_notifier$_value.stackFrames;
      currentStackFrames = t1.get$values(t1);
      for (t1 = currentStackFrames.get$iterator(currentStackFrames); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        if (A.StringExtension_caseInsensitiveContains(t2.name, regexSearch) || A.StringExtension_caseInsensitiveContains(t2.packageUri, regexSearch))
          matches.push(t2);
      }
      return matches;
    },
    loadAllSamples$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$loadAllSamples$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$self.reset$0(0);
              $async$goto = 2;
              return A._asyncAwait($async$self.pullAndProcessProfile$3$extentMicros$processId$startMicros($.$get$maxJsInt(), "Load all samples", 0), $async$loadAllSamples$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadAllSamples$0, $async$completer);
    },
    generateToggleFilterSuffix$0() {
      var t1, t2, _i, toggleFilter,
        suffixList = A._setArrayType([], type$.JSArray_String);
      for (t1 = this.get$toggleFilters(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        toggleFilter = t1[_i];
        if (toggleFilter.enabled._change_notifier$_value)
          suffixList.push(toggleFilter.name);
      }
      return B.JSArray_methods.join$1(suffixList, ",");
    },
    _wrapWithFilterSuffix$1(label) {
      var filterSuffix = this.generateToggleFilterSuffix$0();
      return label + (filterSuffix.length !== 0 ? "-" + filterSuffix : "");
    },
    loadAppStartUpProfile$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, storedProfileWithFilters, appStartUpProfile, t3, filteredAppStartUpProfile, $async$temp1;
      var $async$loadAppStartUpProfile$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$self.reset$0(0);
              t1 = $async$self._cpu_profile_controller$_processingNotifier;
              t1.set$value(0, true);
              t2 = $async$self._dataNotifier;
              t2.set$value(0, null);
              storedProfileWithFilters = $async$self.get$cpuProfileStore().lookupProfile$1$label($async$self._wrapWithFilterSuffix$1("AppStartUp"));
              if (storedProfileWithFilters != null) {
                t2.set$value(0, storedProfileWithFilters);
                $async$self.refreshSearchMatches$0();
                t1.set$value(0, false);
                // goto return
                $async$goto = 1;
                break;
              }
              appStartUpProfile = $async$self.get$cpuProfileStore().lookupProfile$1$label("AppStartUp");
              $async$goto = appStartUpProfile == null ? 3 : 4;
              break;
            case 3:
              // then
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t3.toString;
              $async$temp1 = A;
              $async$goto = 5;
              return A._asyncAwait(A.CpuProfilerExtension_getCpuProfile(t3, $.$get$maxJsInt(), 0), $async$loadAppStartUpProfile$0);
            case 5:
              // returning from await.
              appStartUpProfile = $async$temp1.CpuProfileData_CpuProfileData$fromUserTag($async$result, "AppStartUp");
              $async$self.get$cpuProfileStore().storeProfile$2$label(appStartUpProfile, "none");
              $async$self.get$cpuProfileStore().storeProfile$2$label(appStartUpProfile, "AppStartUp");
            case 4:
              // join
              if (appStartUpProfile.profileMetaData.sampleCount === 0) {
                t1.set$value(0, false);
                t2.set$value(0, $.$get$CpuProfilerController_emptyAppStartUpProfile());
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._userTagFilter.set$value(0, "AppStartUp");
              $async$goto = $async$self.get$isToggleFilterActive() ? 6 : 7;
              break;
            case 6:
              // then
              filteredAppStartUpProfile = $async$self._filterData$2(appStartUpProfile, new A.Filter(null, $async$self.get$toggleFilters(), type$.Filter_CpuStackFrame));
              $async$goto = 8;
              return A._asyncAwait($async$self.processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone(filteredAppStartUpProfile, "filter app start up profile", false, true, false), $async$loadAppStartUpProfile$0);
            case 8:
              // returning from await.
              $async$self.get$cpuProfileStore().storeProfile$2$label(filteredAppStartUpProfile, $async$self._wrapWithFilterSuffix$1("AppStartUp"));
              // goto return
              $async$goto = 1;
              break;
            case 7:
              // join
              $async$goto = !appStartUpProfile.processed ? 9 : 10;
              break;
            case 9:
              // then
              $async$goto = 11;
              return A._asyncAwait($async$self.transformer.processData$2$processId(appStartUpProfile, "appStartUpProfile"), $async$loadAppStartUpProfile$0);
            case 11:
              // returning from await.
            case 10:
              // join
              t1.set$value(0, false);
              t2.set$value(0, appStartUpProfile);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadAppStartUpProfile$0, $async$completer);
    },
    loadProcessedData$2$storeAsUserTagNone(data, storeAsUserTagNone) {
      this._dataNotifier.set$value(0, data);
      this.get$cpuProfileStore().storeProfile$2$label(data, "none");
    },
    loadDataWithTag$1(tag) {
      return this.loadDataWithTag$body$CpuProfilerController(tag);
    },
    loadDataWithTag$body$CpuProfilerController(tag) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, e, filteredOriginalData, t1, t2, exception, t3, $async$exception, $async$temp1;
      var $async$loadDataWithTag$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
              $async$self._userTagFilter.set$value(0, tag);
              t1 = $async$self._dataNotifier;
              t1.set$value(0, null);
              t2 = $async$self._cpu_profile_controller$_processingNotifier;
              t2.set$value(0, true);
              $async$handler = 3;
              $async$temp1 = t1;
              $async$goto = 6;
              return A._asyncAwait($async$self.processDataForTag$1(tag), $async$loadDataWithTag$1);
            case 6:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              t3 = $async$self.get$cpuProfileStore().lookupProfile$1$label($async$self._wrapWithFilterSuffix$1("none"));
              t3.toString;
              filteredOriginalData = t3;
              t1.set$value(0, filteredOriginalData);
              t1 = A.Exception_Exception('Error loading data with tag "' + tag + '": ' + A.S(J.toString$0$(e)));
              throw A.wrapException(t1);
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 2:
              // uncaught
              $async$next = [1];
            case 4:
              // finally
              $async$handler = 1;
              t2.set$value(0, false);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadDataWithTag$1, $async$completer);
    },
    processDataForTag$1(tag) {
      return this.processDataForTag$body$CpuProfilerController(tag);
    },
    processDataForTag$body$CpuProfilerController(tag) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CpuProfileData),
        $async$returnValue, $async$self = this, data, t1, profileLabel, filteredDataForTag;
      var $async$processDataForTag$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
              profileLabel = $async$self._wrapWithFilterSuffix$1(tag);
              filteredDataForTag = $async$self.get$cpuProfileStore().lookupProfile$1$label(profileLabel);
              $async$goto = filteredDataForTag != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = !filteredDataForTag.processed ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return A._asyncAwait($async$self.transformer.processData$2$processId(filteredDataForTag, profileLabel), $async$processDataForTag$1);
            case 7:
              // returning from await.
            case 6:
              // join
              $async$returnValue = filteredDataForTag;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              data = $async$self.get$cpuProfileStore().lookupProfile$1$label(tag);
              if (data == null) {
                t1 = $async$self.get$cpuProfileStore().lookupProfile$1$label("none");
                t1.toString;
                data = A.CpuProfileData_CpuProfileData$fromUserTag(t1, tag);
                $async$self.get$cpuProfileStore().storeProfile$2$label(data, tag);
              }
              data = $async$self._filterData$2(data, new A.Filter(null, $async$self.get$toggleFilters(), type$.Filter_CpuStackFrame));
              $async$goto = !data.processed ? 8 : 9;
              break;
            case 8:
              // then
              $async$goto = 10;
              return A._asyncAwait($async$self.transformer.processData$2$processId(data, "data with toggle filters applied"), $async$processDataForTag$1);
            case 10:
              // returning from await.
            case 9:
              // join
              $async$self.get$cpuProfileStore().storeProfile$2$label(data, $async$self._wrapWithFilterSuffix$1(tag));
              $async$returnValue = data;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$processDataForTag$1, $async$completer);
    },
    selectCpuStackFrame$1(stackFrame) {
      var t1 = this._dataNotifier._change_notifier$_value;
      if (stackFrame === t1.selectedStackFrame)
        return;
      t1.selectedStackFrame = stackFrame;
      this._selectedCpuStackFrameNotifier.set$value(0, stackFrame);
    },
    clear$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$clear$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$self.reset$0(0);
              t1 = $async$self.get$cpuProfileStore();
              t1._profilesByTime.clear$0(0);
              t1._profilesByLabel.clear$0(0);
              $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.toString;
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
              t2.toString;
              t2 = J.get$id$x(t2);
              t2.toString;
              $async$goto = 2;
              return A._asyncAwait(t1.clearCpuSamples$1(t2), $async$clear$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$clear$0, $async$completer);
    },
    reset$1$data(_, data) {
      var t1, _this = this;
      _this._selectedCpuStackFrameNotifier.set$value(0, null);
      t1 = data == null ? $.$get$CpuProfilerController_baseStateCpuProfileData() : data;
      _this._dataNotifier.set$value(0, t1);
      _this._cpu_profile_controller$_processingNotifier.set$value(0, false);
      _this._userTagFilter.set$value(0, "none");
      _this.transformer.reset$0(0);
      _this.SearchControllerMixin__searchNotifier.set$value(0, "");
      _this.refreshSearchMatches$0();
    },
    reset$0($receiver) {
      return this.reset$1$data($receiver, null);
    },
    filterData$1(filter) {
      var _this = this,
        t1 = _this._userTagFilter,
        dataLabel = _this._wrapWithFilterSuffix$1(t1._change_notifier$_value),
        filteredData = _this.get$cpuProfileStore().lookupProfile$1$label(dataLabel);
      if (filteredData == null) {
        t1 = _this.get$cpuProfileStore().lookupProfile$1$label(t1._change_notifier$_value);
        t1.toString;
        filteredData = _this._filterData$2(t1, filter);
        _this.get$cpuProfileStore().storeProfile$2$label(filteredData, dataLabel);
      }
      _this.processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone(filteredData, "filter " + _this._filterIdentifier, false, true, false);
      ++_this._filterIdentifier;
    },
    _filterData$2(originalData, filter) {
      return A.CpuProfileData_CpuProfileData$filterFrom(originalData, new A.CpuProfilerController__filterData_closure(filter));
    }
  };
  A.CpuProfilerController_cpuProfileStore_closure.prototype = {
    call$0() {
      var t1 = type$.CpuProfileData;
      return new A.CpuProfileStore(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, t1), A.LinkedHashMap_LinkedHashMap$_empty(type$.TimeRange, t1));
    },
    $signature: 483
  };
  A.CpuProfilerController_isToggleFilterActive_closure.prototype = {
    call$1(filter) {
      return filter.enabled._change_notifier$_value;
    },
    $signature: 484
  };
  A.CpuProfilerController_toggleFilters_closure.prototype = {
    call$1(stackFrame) {
      return !stackFrame.get$isNative();
    },
    $signature: 108
  };
  A.CpuProfilerController_toggleFilters_closure0.prototype = {
    call$1(stackFrame) {
      return !stackFrame.get$isDartCore();
    },
    $signature: 108
  };
  A.CpuProfilerController_toggleFilters_closure1.prototype = {
    call$1(stackFrame) {
      return !stackFrame.get$isFlutterCore();
    },
    $signature: 108
  };
  A.CpuProfilerController_pullAndProcessProfile_pullAndProcessHelper.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, cpuProfileData, 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait(A.CpuProfilerExtension_getCpuProfile(t1, $async$self.extentMicros, $async$self.startMicros), $async$call$0);
            case 2:
              // returning from await.
              cpuProfileData = $async$result;
              $async$self._box_0.cpuProfileData = cpuProfileData;
              $async$goto = 3;
              return A._asyncAwait($async$self.$this.processAndSetData$5$processId$shouldApplyFilters$shouldRefreshSearchMatches$storeAsUserTagNone(cpuProfileData, $async$self.processId, true, true, true), $async$call$0);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.CpuProfilerController_pullAndProcessProfile_closure.prototype = {
    call$0() {
      var t1 = this._box_0.cpuProfileData.profileMetaData;
      return new A.ProfilerScreenMetrics(t1.sampleCount, t1.stackDepth);
    },
    $signature: 486
  };
  A.CpuProfilerController__filterData_closure.prototype = {
    call$1(stackFrame) {
      var t1, t2, shouldInclude, _i, toggleFilter;
      for (t1 = this.filter.toggleFilters, t2 = t1.length, shouldInclude = true, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        toggleFilter = t1[_i];
        if (toggleFilter.enabled._change_notifier$_value) {
          shouldInclude = shouldInclude && toggleFilter.includeCallback.call$1(stackFrame);
          if (!shouldInclude)
            return false;
        }
      }
      return shouldInclude;
    },
    $signature: 108
  };
  A._CpuProfilerController_Object_SearchControllerMixin.prototype = {};
  A._CpuProfilerController_Object_SearchControllerMixin_FilterControllerMixin.prototype = {};
  A.CpuProfileFlameChart.prototype = {
    createState$0() {
      var _null = null;
      return new A._CpuProfileFlameChartState(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.double), A._setArrayType([], type$.JSArray_FlameChartRow_CpuStackFrame), A._setArrayType([], type$.JSArray_FlameChartSection), A.FocusNode$(true, "flame-chart", true, true, _null, _null, false), _null, _null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._CpuProfileFlameChartState.prototype = {
    initFlameChartElements$0() {
      var t1, _this = this;
      _this.super$FlameChartState$initFlameChartElements();
      t1 = _this._widget.data.__CpuProfileData__cpuProfileRoot;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.expandRows$1(t1.get$depth() + 2 + 1);
      t1 = _this._widget.data.__CpuProfileData__cpuProfileRoot;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      new A._CpuProfileFlameChartState_initFlameChartElements_createChartNodes(_this).call$2(t1, 2);
    },
    buildChartOverlays$2(constraints, buildContext) {
      var t2, t3, t4, t5, t6, t7, t8, t9, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1);
      t2 = _this.currentZoom;
      t3 = _this.verticalScrollOffset;
      t4 = _this.horizontalScrollOffset;
      t5 = _this._widget;
      t6 = t5.startInset;
      t5 = t5.endInset;
      t7 = _this.get$widthWithZoom();
      t8 = _this._widget.time;
      t9 = t8._utils$_end;
      t9.toString;
      return A._setArrayType([A.CustomPaint$(null, null, null, A.TimelineGridPainter$(t5, t6, t1.colorScheme, constraints, new A.Duration(t9._duration - t8._utils$_start._duration), t7, t4, t3, t2), B.Size_0_0)], type$.JSArray_Widget);
    },
    isDataVerticallyInView$1(data) {
      var stackFrameTopY,
        t1 = this.__FlameChartState_verticalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      t1 = J.get$position$x(t1.get$first(t1))._pixels;
      t1.toString;
      stackFrameTopY = data.get$level(data) * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2);
      return stackFrameTopY > t1 && stackFrameTopY + (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2) < t1 + this._widget.containerHeight;
    },
    isDataHorizontallyInView$1(data) {
      var startX,
        t1 = this.__FlameChartState_horizontalControllerGroup;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_attachedControllers();
      t1 = J.get$position$x(t1.get$first(t1))._pixels;
      t1.toString;
      startX = this.startXForData$1(data);
      return startX >= t1 && startX <= t1 + this._widget.containerWidth;
    },
    topYForData$1(data) {
      return data.get$level(data) * (B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 2);
    },
    startXForData$1(data) {
      var t1 = this.stackFrameLefts.$index(0, data.id);
      t1.toString;
      return (t1 - this._widget.startInset) * this.currentZoom;
    },
    _colorPairForStackFrame$1(stackFrame) {
      if (stackFrame.get$isNative())
        return B.ThemedColorPair_YM6;
      if (stackFrame.get$isDartCore())
        return B.ThemedColorPair_O9m;
      if (stackFrame.get$isFlutterCore())
        return B.ThemedColorPair_6TA;
      return B.ThemedColorPair_iEE;
    }
  };
  A._CpuProfileFlameChartState_initFlameChartElements_createChartNodes.prototype = {
    call$2(stackFrame, row) {
      var stackFrameIndex, t4, previous, t5, node, _i,
        t1 = this.$this,
        t2 = t1._widget.get$startingContentWidth(),
        t3 = stackFrame.get$totalTimeRatio(),
        $parent = stackFrame.parent,
        left = A._Cell$named("left");
      if ($parent == null)
        left.__late_helper$_value = t1._widget.startInset;
      else {
        stackFrameIndex = stackFrame.index;
        t4 = t1.stackFrameLefts;
        if (stackFrameIndex === 0) {
          t4 = t4.$index(0, $parent.id);
          t4.toString;
          left.__late_helper$_value = t4;
        } else {
          previous = $parent.children[stackFrameIndex - 1];
          t4 = t4.$index(0, previous.id);
          t4.toString;
          left.__late_helper$_value = t4 + t1._widget.get$startingContentWidth() * previous.get$totalTimeRatio();
        }
      }
      t4 = stackFrame.id;
      t1.stackFrameLefts.$indexSet(0, t4, left._readLocal$0());
      t5 = left._readLocal$0();
      node = A.FlameChartNode$(t1._colorPairForStackFrame$1(stackFrame), stackFrame, new A.ValueKey(t4, type$.ValueKey_String), new A._CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure(t1), new A.Rect(t5, 0, t5 + (t2 * t3 - 1), 0 + B.JSNumber_methods.roundToDouble$0(22 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), 0, stackFrame.name, type$.CpuStackFrame);
      _i = node.sectionIndex = 0;
      t1.rows[row].addNode$1(node);
      for (t1 = stackFrame.children, t2 = t1.length, t3 = row + 1; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        this.call$2(t1[_i], t3);
    },
    $signature: 487
  };
  A._CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure.prototype = {
    call$1(frame) {
      return this.$this._widget.onDataSelected.call$1(frame);
    },
    $signature: 130
  };
  A.CpuProfileData.prototype = {
    get$callTreeRoots() {
      var t1, _this = this;
      if (!_this.processed)
        return A._setArrayType([], type$.JSArray_CpuStackFrame);
      t1 = _this._callTreeRoots;
      if (t1 == null) {
        t1 = _this.__CpuProfileData__cpuProfileRoot;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = _this._callTreeRoots = A._setArrayType([t1.deepCopy$0()], type$.JSArray_CpuStackFrame);
      }
      return t1;
    },
    get$bottomUpRoots() {
      var t1, t2, bottomUpRoots, _this = this;
      if (!_this.processed)
        return A._setArrayType([], type$.JSArray_CpuStackFrame);
      t1 = _this._bottomUpRoots;
      if (t1 == null) {
        t1 = new A.BottomUpTransformer(type$.BottomUpTransformer_CpuStackFrame);
        t2 = _this.__CpuProfileData__cpuProfileRoot;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        bottomUpRoots = t1.generateBottomUpRoots$3$bottomUpRoots$currentBottomUpRoot$node(A._setArrayType([], type$.JSArray_CpuStackFrame), null, t2);
        B.JSArray_methods.forEach$1(bottomUpRoots, t1.get$cascadeSampleCounts());
        A.mergeCpuProfileRoots(bottomUpRoots);
        _this._bottomUpRoots = bottomUpRoots;
        t1 = bottomUpRoots;
      }
      return t1;
    },
    get$userTags() {
      var tags, tag,
        t1 = this._userTags;
      if (t1 != null)
        return t1;
      tags = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      for (t1 = J.get$iterator$ax(this.cpuSamples); t1.moveNext$0();) {
        tag = t1.get$current(t1).userTag;
        if (tag != null)
          tags.add$1(0, tag);
      }
      return this._userTags = tags;
    },
    get$toJson() {
      var t2, t3,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
      t1.$indexSet(0, "type", "_CpuProfileTimeline");
      t2 = this.profileMetaData;
      t1.$indexSet(0, "samplePeriod", t2.samplePeriod);
      t1.$indexSet(0, "sampleCount", t2.sampleCount);
      t1.$indexSet(0, "stackDepth", t2.stackDepth);
      t2 = t2.time;
      t3 = t2 == null;
      if ((t3 ? null : t2._utils$_start) != null)
        t1.$indexSet(0, "timeOriginMicros", t2._utils$_start._duration);
      if (t3)
        t3 = null;
      else {
        t3 = t2._utils$_end;
        t3.toString;
        t3 = new A.Duration(t3._duration - t2._utils$_start._duration);
      }
      if (t3 != null) {
        t3 = t2._utils$_end;
        t3.toString;
        t1.$indexSet(0, "timeExtentMicros", t3._duration - t2._utils$_start._duration);
      }
      t1.$indexSet(0, "stackFrames", this.get$stackFramesJson());
      t2 = J.map$1$1$ax(this.cpuSamples, new A.CpuProfileData_toJson_closure(), type$.Map_String_dynamic);
      t1.$indexSet(0, "traceEvents", A.List_List$of(t2, true, t2.$ti._eval$1("ListIterable.E")));
      return t1;
    },
    get$stackFramesJson() {
      var t1,
        framesJson = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      for (t1 = this.stackFrames, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();)
        framesJson.addAll$1(0, t1.get$current(t1).get$toJson());
      return framesJson;
    },
    toJson$0() {
      return this.get$toJson().call$0();
    }
  };
  A.CpuProfileData_CpuProfileData$parse_closure.prototype = {
    call$1(trace) {
      var t1 = J.getInterceptor$asx(trace),
        leafId = t1.$index(trace, "sf");
      return A.CpuSample$(leafId, trace, t1.$index(trace, "args") != null ? J.$index$asx(t1.$index(trace, "args"), "userTag") : null);
    },
    $signature: 489
  };
  A.CpuProfileData_CpuProfileData$subProfile_closure.prototype = {
    call$1(sample) {
      var t1 = sample.timestampMicros;
      t1.toString;
      return this.subTimeRange.contains$1(0, A.Duration$(t1, 0));
    },
    $signature: 328
  };
  A.CpuProfileData_CpuProfileData$fromUserTag_closure.prototype = {
    call$1(sample) {
      return sample.userTag === this.tag;
    },
    $signature: 328
  };
  A.CpuProfileData_CpuProfileData$filterFrom_includeSampleOrWalkUp.prototype = {
    call$3(sample, sampleJson, stackFrame) {
      var t1, _this = this;
      if (_this.includeFilter.call$1(stackFrame))
        _this.filteredCpuSamples.push(A.CpuSample$(stackFrame.id, sampleJson, sample.userTag));
      else {
        t1 = stackFrame.parentId;
        if (t1 !== "cpuProfileRoot") {
          t1 = _this.originalData.stackFrames.$index(0, t1);
          t1.toString;
          _this.call$3(sample, sampleJson, t1);
        }
      }
    },
    $signature: 491
  };
  A.CpuProfileData_CpuProfileData$filterFrom_filteredParentStackFrameId.prototype = {
    call$1(candidateParentFrame) {
      var t1;
      if (candidateParentFrame == null)
        return null;
      if (this.includeFilter.call$1(candidateParentFrame))
        return candidateParentFrame.id;
      else {
        t1 = candidateParentFrame.parentId;
        if (t1 !== "cpuProfileRoot") {
          t1 = this.originalData.stackFrames.$index(0, t1);
          t1.toString;
          return this.call$1(t1);
        }
      }
      return null;
    },
    $signature: 492
  };
  A.CpuProfileData_CpuProfileData$filterFrom_walkAndFilter.prototype = {
    call$1(stackFrame) {
      var t1, filteredParentId, _this = this;
      if (_this.includeFilter.call$1(stackFrame)) {
        t1 = _this.originalData.stackFrames;
        filteredParentId = _this.filteredParentStackFrameId.call$1(t1.$index(0, stackFrame.parentId));
        _this.filteredStackFrames.$indexSet(0, stackFrame.id, stackFrame.shallowCopy$2$copySampleCountsAndTags$parentId(false, filteredParentId));
        if (filteredParentId != null) {
          t1 = t1.$index(0, filteredParentId);
          t1.toString;
          _this.call$1(t1);
        }
      } else {
        t1 = stackFrame.parentId;
        if (t1 !== "cpuProfileRoot") {
          t1 = _this.originalData.stackFrames.$index(0, t1);
          t1.toString;
          _this.call$1(t1);
        }
      }
    },
    $signature: 130
  };
  A.CpuProfileData_generateFromCpuSamples_nameForStackFrame.prototype = {
    call$1(current) {
      var className = current.get$className(current);
      if (className != null)
        return className + "." + A.S(current.get$name(current));
      return current.get$name(current);
    },
    $signature: 493
  };
  A.CpuProfileData_generateFromCpuSamples_processStackFrame.prototype = {
    call$2$current$parent(current, $parent) {
      var t2, t3, t4, _i, _this = this,
        t1 = current.frameId = _this._box_0.nextId++;
      if (t1 !== 0) {
        t2 = _this.isolateId + "-";
        t3 = _this.traceObject.$index(0, "stackFrames");
        t4 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_Object);
        t4.$indexSet(0, "category", "Dart");
        t4.$indexSet(0, "name", _this.nameForStackFrame.call$1(current));
        t4.$indexSet(0, "resolvedUrl", current.samples.functions[current.index].resolvedUrl);
        t4.$indexSet(0, "sourceLine", current.get$sourceLine());
        if ($parent != null && $parent.frameId !== 0)
          t4.$indexSet(0, "parent", t2 + $parent.frameId);
        J.$indexSet$ax(t3, t2 + t1, t4);
      }
      for (t1 = current.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        _this.call$2$current$parent(t1[_i], current);
    },
    $signature: 494
  };
  A.CpuProfileData_toJson_closure.prototype = {
    call$1(sample) {
      return sample.get$toJson();
    },
    $signature: 495
  };
  A.CpuProfileMetaData.prototype = {};
  A.CpuSample0.prototype = {
    get$toJson() {
      var _this = this;
      J.$indexSet$ax(_this.json, "sf", _this.leafId);
      return _this.json;
    },
    toJson$0() {
      return this.get$toJson().call$0();
    }
  };
  A.CpuStackFrame.prototype = {
    get$packageUriWithSourceLine() {
      var t1 = this.sourceLine;
      t1 = t1 != null ? ":" + A.S(t1) : "";
      return this.packageUri + t1;
    },
    get$isNative() {
      var _this = this,
        t1 = _this._isNative;
      if (t1 == null)
        t1 = _this._isNative = _this.id !== "cpuProfileRoot" && _this.packageUri.length === 0 && !B.JSString_methods.startsWith$1(_this.name, "flutter::");
      return t1;
    },
    get$isDartCore() {
      var t1 = this._isDartCore;
      if (t1 == null) {
        t1 = this.packageUri;
        t1 = this._isDartCore = B.JSString_methods.startsWith$1(t1, "dart:") && !B.JSString_methods.startsWith$1(t1, "dart:ui");
      }
      return t1;
    },
    get$isFlutterCore() {
      var _this = this,
        t1 = _this._isFlutterCore;
      if (t1 == null) {
        t1 = _this.packageUri;
        t1 = _this._isFlutterCore = B.JSString_methods.startsWith$1(t1, "package:flutter/") || B.JSString_methods.startsWith$1(_this.name, "flutter::") || B.JSString_methods.startsWith$1(t1, "dart:ui");
      }
      return t1;
    },
    incrementTagSampleCount$2$increment(userTag, increment) {
      var t1 = this._userTagSampleCount;
      t1.$indexSet(0, userTag, t1.putIfAbsent$2(0, userTag, new A.CpuStackFrame_incrementTagSampleCount_closure()) + increment);
      t1 = this.parent;
      if (t1 != null)
        t1.incrementTagSampleCount$1(userTag);
    },
    incrementTagSampleCount$1(userTag) {
      return this.incrementTagSampleCount$2$increment(userTag, 1);
    },
    get$tooltip() {
      var prefix, t1, _this = this;
      if (_this.get$isNative())
        prefix = "[Native]";
      else if (_this.get$isDartCore())
        prefix = "[Dart]";
      else
        prefix = _this.get$isFlutterCore() ? "[Flutter]" : "";
      t1 = type$.JSArray_String;
      t1 = A._setArrayType([B.JSArray_methods.join$1(A._setArrayType([prefix, _this.name], t1), " "), A.msText(_this.get$totalTime(), 1)], t1);
      if (_this.get$packageUriWithSourceLine().length !== 0)
        t1.push(_this.get$packageUriWithSourceLine());
      return B.JSArray_methods.join$1(t1, " - ");
    },
    shallowCopy$3$copySampleCountsAndTags$parentId$resetInclusiveSampleCount(copySampleCountsAndTags, parentId, resetInclusiveSampleCount) {
      var t2, _this = this,
        t1 = parentId == null ? _this.parentId : parentId,
        copy = A.CpuStackFrame$_(_this.category, _this.id, _this.name, _this.packageUri, t1, _this._profileMetaData, _this.rawUrl, _this.sourceLine, _this.verboseName);
      if (copySampleCountsAndTags) {
        copy.ProfilableDataMixin_exclusiveSampleCount = _this.ProfilableDataMixin_exclusiveSampleCount;
        copy.ProfilableDataMixin__inclusiveSampleCount = resetInclusiveSampleCount ? null : _this.get$inclusiveSampleCount();
        for (t1 = _this._userTagSampleCount, t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
          t2 = t1.get$current(t1);
          copy.incrementTagSampleCount$2$increment(t2.get$key(t2), t2.get$value(t2));
        }
      }
      return copy;
    },
    shallowCopy$2$copySampleCountsAndTags$parentId(copySampleCountsAndTags, parentId) {
      return this.shallowCopy$3$copySampleCountsAndTags$parentId$resetInclusiveSampleCount(copySampleCountsAndTags, parentId, true);
    },
    shallowCopy$1$copySampleCountsAndTags(copySampleCountsAndTags) {
      return this.shallowCopy$3$copySampleCountsAndTags$parentId$resetInclusiveSampleCount(copySampleCountsAndTags, null, true);
    },
    shallowCopy$0() {
      return this.shallowCopy$3$copySampleCountsAndTags$parentId$resetInclusiveSampleCount(true, null, true);
    },
    shallowCopy$1$resetInclusiveSampleCount(resetInclusiveSampleCount) {
      return this.shallowCopy$3$copySampleCountsAndTags$parentId$resetInclusiveSampleCount(true, null, resetInclusiveSampleCount);
    },
    deepCopy$0() {
      var t1, t2, _i,
        copy = this.shallowCopy$1$resetInclusiveSampleCount(false);
      for (t1 = this.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        copy.addChild$1(t1[_i].deepCopy$0());
      return copy;
    },
    get$toJson() {
      var t3, _this = this,
        t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_Object);
      t2.$indexSet(0, "name", _this.verboseName);
      t2.$indexSet(0, "category", _this.category);
      t2.$indexSet(0, "resolvedUrl", _this.rawUrl);
      t2.$indexSet(0, "packageUri", _this.packageUri);
      t2.$indexSet(0, "sourceLine", _this.sourceLine);
      t3 = _this.parentId;
      if (t3 != null)
        t2.$indexSet(0, "parent", t3);
      return A.LinkedHashMap_LinkedHashMap$_literal([_this.id, t2], t1, type$.Object);
    },
    toString$0(_) {
      var _this = this,
        t1 = A.msText(_this.get$totalTime(), 2),
        t2 = _this.get$inclusiveSampleCount(),
        t3 = _this.get$inclusiveSampleCount() === 1 ? "sample" : "samples";
      t3 = "" + (_this.name + " ") + ("- " + t1 + " ") + ("(" + t2 + " ") + t3 + (", " + (B.JSNumber_methods.toStringAsFixed$1(_this.get$totalTimeRatio() * 100, 2) + "%") + ")");
      return t3.charCodeAt(0) == 0 ? t3 : t3;
    },
    toJson$0() {
      return this.get$toJson().call$0();
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.CpuStackFrame_incrementTagSampleCount_closure.prototype = {
    call$0() {
      return 0;
    },
    $signature: 60
  };
  A.CpuProfileStore.prototype = {
    lookupProfile$2$label$time(label, time) {
      if (label != null)
        return this._profilesByLabel.$index(0, label);
      if (!(time._utils$_start != null && time._utils$_end != null))
        return null;
      this._maybeGenerateSubProfile$1(time);
      return this._profilesByTime.$index(0, time);
    },
    lookupProfile$1$label(label) {
      return this.lookupProfile$2$label$time(label, null);
    },
    lookupProfile$1$time(time) {
      return this.lookupProfile$2$label$time(null, time);
    },
    storeProfile$3$label$time(profile, label, time) {
      if (label != null) {
        this._profilesByLabel.$indexSet(0, label, profile);
        return;
      }
      time.toString;
      this._profilesByTime.$indexSet(0, time, profile);
    },
    storeProfile$2$label(profile, label) {
      return this.storeProfile$3$label$time(profile, label, null);
    },
    storeProfile$2$time(profile, time) {
      return this.storeProfile$3$label$time(profile, null, time);
    },
    _maybeGenerateSubProfile$1(time) {
      var encompassingTimeRange, t2,
        t1 = this._profilesByTime;
      if (t1.containsKey$1(0, time))
        return;
      encompassingTimeRange = this._encompassingTimeRange$1(time);
      if (encompassingTimeRange != null) {
        t2 = t1.$index(0, encompassingTimeRange);
        t2.toString;
        t1.$indexSet(0, time, A.CpuProfileData_CpuProfileData$subProfile(t2, time));
      }
    },
    _encompassingTimeRange$1(time) {
      var t1, encompassingTimeRange, encompassingTimeRange0, t2, t3,
        shortestDurationMicros = $.$get$maxJsInt();
      for (t1 = this._profilesByTime, t1 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1), encompassingTimeRange = null; t1.moveNext$0();) {
        encompassingTimeRange0 = t1.__js_helper$_current;
        t2 = encompassingTimeRange0._utils$_start;
        t2.toString;
        t2 = t2._duration;
        if (t2 <= time._utils$_start._duration) {
          t3 = encompassingTimeRange0._utils$_end;
          t3.toString;
          t3 = t3._duration >= time._utils$_end._duration;
        } else
          t3 = false;
        if (t3 && encompassingTimeRange0._utils$_end._duration - t2 < shortestDurationMicros) {
          shortestDurationMicros = encompassingTimeRange0._utils$_end._duration - t2;
          encompassingTimeRange = encompassingTimeRange0;
        }
      }
      return encompassingTimeRange;
    }
  };
  A._CpuProfileTimelineTree.prototype = {
    get$name(_) {
      return J.get$name$x(this.samples.functions[this.index].$function);
    },
    get$className(_) {
      var owner,
        $function = this.samples.functions[this.index].$function;
      if (type$.FuncRef._is($function)) {
        owner = $function.get$owner();
        if (type$.ClassRef._is(owner))
          return owner.get$name(owner);
      }
      return null;
    },
    get$sourceLine() {
      var t1, exception,
        $function = this.samples.functions[this.index].$function;
      try {
        t1 = J.get$location$x($function);
        t1 = t1 == null ? null : J.get$line$x(t1);
        return t1;
      } catch (exception) {
        return null;
      }
    },
    _getChild$1(index) {
      var i, t2, child, childIndex,
        t1 = this.children,
        $length = t1.length;
      for (i = 0; t2 = i < $length, t2; ++i) {
        child = t1[i];
        childIndex = child.index;
        if (childIndex === index)
          return child;
        if (childIndex > index)
          break;
      }
      child = new A._CpuProfileTimelineTree(this.samples, index, A._setArrayType([], type$.JSArray__CpuProfileTimelineTree));
      if (t2)
        B.JSArray_methods.insert$2(t1, i, child);
      else
        t1.push(child);
      return child;
    }
  };
  A._CpuStackFrame_TreeNode_ProfilableDataMixin.prototype = {};
  A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin.prototype = {};
  A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin.prototype = {};
  A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin.prototype = {};
  A.CpuProfileTransformer.prototype = {
    processData$2$processId(cpuProfileData, processId) {
      return this.processData$body$CpuProfileTransformer(cpuProfileData, processId);
    },
    processData$body$CpuProfileTransformer(cpuProfileData, processId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, quarterBatchSize, batchSize, t3;
      var $async$processData$2$processId = 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 (cpuProfileData.processed) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.reset$0(0);
              $async$self._activeProcessId = processId;
              t1 = cpuProfileData.stackFrames;
              $async$self.__CpuProfileTransformer__stackFramesCount = t1.get$length(t1);
              t2 = t1.get$keys(t1);
              $async$self._stackFrameKeys = A.List_List$of(t2, true, A._instanceType(t2)._eval$1("Iterable.E"));
              t1 = t1.get$values(t1);
              $async$self._stackFrameValues = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
              t1 = $async$self.__CpuProfileTransformer__stackFramesCount;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              quarterBatchSize = B.JSNumber_methods.round$0(t1 / 4);
              t1 = quarterBatchSize === 0 ? 1 : quarterBatchSize;
              batchSize = Math.min(100, t1);
              t1 = $async$self._progressNotifier;
            case 3:
              // while condition
              t2 = $async$self._stackFramesProcessed;
              t3 = $async$self.__CpuProfileTransformer__stackFramesCount;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              if (!(t2 < t3)) {
                // goto after while
                $async$goto = 4;
                break;
              }
              $async$self._processBatch$3$processId(batchSize, cpuProfileData, processId);
              t2 = $async$self._stackFramesProcessed;
              t3 = $async$self.__CpuProfileTransformer__stackFramesCount;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t1.set$value(0, t2 / t3);
              $async$goto = 5;
              return A._asyncAwait(A.delayForBatchProcessing(5000), $async$processData$2$processId);
            case 5:
              // returning from await.
              if (processId !== $async$self._activeProcessId)
                throw A.wrapException(new A.ProcessCancelledException());
              // goto while condition
              $async$goto = 3;
              break;
            case 4:
              // after while
              $async$self._setExclusiveSampleCountsAndTags$1(cpuProfileData);
              cpuProfileData.processed = true;
              $async$self.reset$0(0);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$processData$2$processId, $async$completer);
    },
    _processBatch$3$processId(batchSize, cpuProfileData, processId) {
      var batchEnd, key, value, t2, $parent, t3, _this = this,
        i = _this._stackFramesProcessed,
        t1 = _this.__CpuProfileTransformer__stackFramesCount;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      batchEnd = Math.min(i + batchSize, t1);
      for (t1 = cpuProfileData.stackFrames; i < batchEnd; ++i) {
        if (processId !== _this._activeProcessId)
          throw A.wrapException(new A.ProcessCancelledException());
        key = _this._stackFrameKeys[i];
        value = _this._stackFrameValues[i];
        t2 = t1.$index(0, key);
        t2.toString;
        $parent = t1.$index(0, value.parentId);
        if ($parent == null) {
          t3 = cpuProfileData.__CpuProfileData__cpuProfileRoot;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3.addChild$1(t2);
        } else
          $parent.addChild$1(t2);
        ++_this._stackFramesProcessed;
      }
    },
    _setExclusiveSampleCountsAndTags$1(cpuProfileData) {
      var t1, t2, t3, stackFrame, userTag;
      for (t1 = J.get$iterator$ax(cpuProfileData.cpuSamples), t2 = cpuProfileData.stackFrames; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        stackFrame = t2.$index(0, t3.leafId);
        if (stackFrame != null) {
          ++stackFrame.ProfilableDataMixin_exclusiveSampleCount;
          userTag = t3.userTag;
          if (userTag != null)
            stackFrame.incrementTagSampleCount$1(userTag);
        }
      }
    },
    reset$0(_) {
      var _this = this;
      _this._activeProcessId = null;
      _this._stackFramesProcessed = 0;
      _this._stackFrameValues = _this._stackFrameKeys = null;
      _this._progressNotifier.set$value(0, 0);
    }
  };
  A.mergeCpuProfileRoots_closure.prototype = {
    call$1(other) {
      var t1 = this.root;
      return other.name === t1.name && other.rawUrl === t1.rawUrl && other.category == t1.category && other.sourceLine == t1.sourceLine && other !== t1;
    },
    $signature: 108
  };
  A.CpuProfiler.prototype = {
    createState$0() {
      return new A._CpuProfilerState($, $, $, $, A.Disposer$(), null, null, B._StateLifecycle_0);
    }
  };
  A._CpuProfilerState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$initState();
      _this.___CpuProfilerState_data = _this._widget.data;
      _this._cpu_profiler$_initTabController$0();
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.tabs.length !== oldWidget.tabs.length)
        _this._cpu_profiler$_initTabController$0();
      if (_this._widget.data !== oldWidget.data)
        _this.setState$1(new A._CpuProfilerState_didUpdateWidget_closure(_this));
    },
    dispose$0() {
      var _this = this,
        t1 = _this.___CpuProfilerState__tabController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.removeListener$1(0, _this.get$_cpu_profiler$_onTabChanged());
      t1 = _this.___CpuProfilerState__tabController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$dispose();
    },
    _cpu_profiler$_initTabController$0() {
      var t1, t2, t3, _this = this;
      if (_this._tabControllerInitialized) {
        t1 = _this.___CpuProfilerState__tabController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.removeListener$1(0, _this.get$_cpu_profiler$_onTabChanged());
        t1 = _this.___CpuProfilerState__tabController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.dispose$0();
      }
      t1 = _this.___CpuProfilerState__tabController = A.TabController$(_this._widget.tabs.length, _this);
      _this._tabControllerInitialized = true;
      t2 = _this._widget.controller;
      t3 = t2.selectedProfilerTabIndex;
      t1._changeIndex$1(t3 >= t1.length ? t2.selectedProfilerTabIndex = 0 : t3);
      t1.addListener$1(0, _this.get$_cpu_profiler$_onTabChanged());
    },
    _cpu_profiler$_onTabChanged$0() {
      this.setState$1(new A._CpuProfilerState__onTabChanged_closure(this));
    },
    build$1(context) {
      var t2, currentTab, hasData, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, _this = this, _null = null,
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme,
        t1 = _this._widget.tabs;
      if (t1.length !== 0) {
        t2 = _this.___CpuProfilerState__tabController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        currentTab = t1[t2._tab_controller$_index];
      } else
        currentTab = _null;
      t1 = _this.___CpuProfilerState_data;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      hasData = t1 !== $.$get$CpuProfilerController_baseStateCpuProfileData() && t1.profileMetaData.sampleCount !== 0;
      t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = theme.textTheme.bodyLarge;
      t2 = t2 == null ? _null : t2.color;
      if (t2 == null)
        t2 = colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      t3 = _this.___CpuProfilerState__tabController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = type$.JSArray_Widget;
      t2 = A._setArrayType([A.TabBar$(t3, true, t2, _this._widget.tabs), B.Spacer_null], t4);
      if (hasData) {
        t3 = A._setArrayType([], t4);
        t5 = currentTab.key;
        t6 = J.getInterceptor$(t5);
        if (!t6.$eq(t5, B.ValueKey_OO7))
          B.JSArray_methods.addAll$1(t3, A._setArrayType([new A.FilterButton(_this.get$_cpu_profiler$_showFilterDialog(), _this._widget.controller.get$isToggleFilterActive(), _null), B.SizedBox_8_null_null_null, new A.UserTagDropdown(_this._widget.controller, _null), B.SizedBox_8_null_null_null], t4));
        if (t6.$eq(t5, B.ValueKey_ojS)) {
          t7 = A._setArrayType([], t4);
          if (_this._widget.searchFieldKey != null) {
            t8 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
            t9 = _this._widget;
            t10 = t9.controller;
            t9 = t9.searchFieldKey;
            t9.toString;
            t7.push(A.Container$(_null, _this.buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(t10, true, t9, false, true), B.Clip_0, _null, _null, _null, _null, t8, _null, _null, _null, _null, _null, 400));
          }
          _this._widget.toString;
          t8 = A.List_List$of(A._setArrayType([A.Text$("Legend", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleMedium, _null, _null, _null, _null), B.PaddedDivider_wEo], t4), true, type$.Widget);
          t9 = colorScheme.brightness === B.Brightness_1;
          t10 = t9 ? B.Color_4294605591 : B.Color_4294749552;
          t11 = t9 ? B.Color_4278221699 : B.Color_4285707974;
          t12 = t9 ? B.Color_4280116380 : B.Color_4285040631;
          t9 = t9 ? B.Color_4285031635 : B.Color_4287794937;
          t8.push(new A.Legend(A._setArrayType([new A.LegendEntry("App code (code from your app and imported packages)", t10), new A.LegendEntry("Native code (code from the native runtime - Android, iOS, etc.)", t11), new A.LegendEntry("Dart core libraries (code from the Dart SDK)", t12), new A.LegendEntry("Flutter Framework (code from the Flutter SDK)", t9)], type$.JSArray_LegendEntry), _null));
          t7.push(new A.FlameChartHelpButton("cpu-profiler", "cpuProfileFlameChartHelp", t8, _null));
          t3.push(A.Row$(t7, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
        }
        if (!t6.$eq(t5, B.ValueKey_ojS) && !t6.$eq(t5, B.ValueKey_OO7)) {
          t5 = A._setArrayType([new A.ExpandAllButton(new A._CpuProfilerState_build_closure(_this, currentTab), _null), B.SizedBox_8_null_null_null, new A.CollapseAllButton(new A._CpuProfilerState_build_closure0(_this, currentTab), _null)], t4);
          _this._widget.toString;
          t3.push(A.Row$(t5, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null));
        }
        B.JSArray_methods.addAll$1(t2, t3);
      }
      t1 = A.SizedBox$(A.Row$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), t1, _null);
      t2 = _this.___CpuProfilerState__tabController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.Column$(A._setArrayType([t1, A.Expanded$(A.TabBarView$(_this._buildProfilerViews$0(), t2, B.NeverScrollableScrollPhysics_null), 1)], t4), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _cpu_profiler$_showFilterDialog$0() {
      var t1 = this._framework$_element;
      t1.toString;
      A.showDialog(true, new A._CpuProfilerState__showFilterDialog_closure(this), t1, type$.dynamic);
    },
    _buildProfilerViews$0() {
      var t4, t5, _this = this, _null = null,
        t1 = _this._widget.bottomUpRoots,
        treeColumn = A.MethodNameColumn$(),
        startingSortColumn = A.SelfTimeColumn$("For top-level methods in the bottom-up tree (leaf stack frames in the CPU profile),\nthis is the time the method spent executing only its own code. For sub nodes (the\ncallers in the CPU profile), this is the self time of the callee when being called by\nthe caller. "),
        t2 = type$.ColumnData_CpuStackFrame,
        columns = A.List_List$unmodifiable([A.TotalTimeColumn$("Time that a method spent executing its own code as well as the code for the\nmethod that it called (which is displayed as an ancestor in the bottom up tree)."), startingSortColumn, treeColumn, A.SourceColumn$()], t2),
        t3 = _this._widget.callTreeRoots,
        treeColumn0 = A.MethodNameColumn$(),
        startingSortColumn0 = A.TotalTimeColumn$("Time that a method spent executing its own code\nas well as the code for any methods it called."),
        columns0 = A.List_List$unmodifiable([startingSortColumn0, A.SelfTimeColumn$("Time that a method spent executing only its own code."), treeColumn0, A.SourceColumn$()], t2),
        summaryView = _this._widget.summaryView;
      t2 = type$.JSArray_Widget;
      t4 = A._setArrayType([], t2);
      if (summaryView != null)
        t4.push(summaryView);
      t5 = _this.___CpuProfilerState_data;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      if (t5.profileMetaData.sampleCount !== 0)
        B.JSArray_methods.addAll$1(t4, A._setArrayType([new A.KeepAliveWrapper(new A.CpuBottomUpTable(treeColumn, startingSortColumn, columns, t1, _null), _null), new A.KeepAliveWrapper(new A.CpuCallTreeTable(treeColumn0, startingSortColumn0, columns0, t3, _null), _null), new A.KeepAliveWrapper(new A.LayoutBuilder(new A._CpuProfilerState__buildProfilerViews_closure(_this), _null), _null)], t2));
      return t4;
    },
    _performOnDataRoots$2(callback, currentTab) {
      var t1 = J.$eq$(currentTab.key, B.ValueKey_yHZ),
        t2 = this._widget;
      this.setState$1(new A._CpuProfilerState__performOnDataRoots_closure(t1 ? t2.callTreeRoots : t2.bottomUpRoots, callback));
    }
  };
  A._CpuProfilerState_didUpdateWidget_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.___CpuProfilerState_data = t1._widget.data;
    },
    $signature: 0
  };
  A._CpuProfilerState__onTabChanged_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.controller;
      t1 = t1.___CpuProfilerState__tabController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.selectedProfilerTabIndex = t1._tab_controller$_index;
    },
    $signature: 0
  };
  A._CpuProfilerState_build_closure.prototype = {
    call$0() {
      this.$this._performOnDataRoots$2(new A._CpuProfilerState_build__closure0(), this.currentTab);
    },
    $signature: 0
  };
  A._CpuProfilerState_build__closure0.prototype = {
    call$1(root) {
      return root.expandCascading$0();
    },
    $signature: 130
  };
  A._CpuProfilerState_build_closure0.prototype = {
    call$0() {
      this.$this._performOnDataRoots$2(new A._CpuProfilerState_build__closure(), this.currentTab);
    },
    $signature: 0
  };
  A._CpuProfilerState_build__closure.prototype = {
    call$1(root) {
      return root.collapseCascading$0();
    },
    $signature: 130
  };
  A._CpuProfilerState__showFilterDialog_closure.prototype = {
    call$1(context) {
      return A.CpuProfileFilterDialog$(this.$this._widget.controller);
    },
    $signature: 496
  };
  A._CpuProfilerState__buildProfilerViews_closure.prototype = {
    call$2(context, constraints) {
      var t3, t4,
        t1 = this.$this,
        t2 = t1.___CpuProfilerState_data;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1._widget.controller;
      t4 = t2.profileMetaData.time;
      t4.toString;
      return new A.CpuProfileFlameChart(t3, t2, t4, constraints.maxWidth, constraints.maxHeight, 60, 60, t3._selectedCpuStackFrameNotifier, t3.SearchControllerMixin__searchMatches, t3.SearchControllerMixin__activeSearchMatch, new A._CpuProfilerState__buildProfilerViews__closure(t1), null);
    },
    $signature: 497
  };
  A._CpuProfilerState__buildProfilerViews__closure.prototype = {
    call$1(sf) {
      return this.$this._widget.controller.selectCpuStackFrame$1(sf);
    },
    $signature: 498
  };
  A._CpuProfilerState__performOnDataRoots_closure.prototype = {
    call$0() {
      B.JSArray_methods.forEach$1(this.roots, this.callback);
    },
    $signature: 0
  };
  A.CpuProfileFilterDialog.prototype = {
    build$1(context) {
      var t1 = this.controller;
      return A.FilterDialog$(t1, B.JSNumber_methods.roundToDouble$0(400 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), false, this.get$restoreOldValues(), null, null, t1.get$toggleFilters(), type$.CpuProfilerController, type$.CpuStackFrame);
    },
    restoreOldValues$0() {
      var t1, t2, i;
      for (t1 = this.controller, t2 = this.oldToggleFilterValues, i = 0; i < t1.get$toggleFilters().length; ++i)
        t1.get$toggleFilters()[i].enabled.set$value(0, t2[i]);
    }
  };
  A.CpuProfilerDisabled.prototype = {
    build$1(context) {
      var _null = null;
      return A.Center$(A.Column$(A._setArrayType([B.Text_TLI, new A.Padding(B.EdgeInsets_8_8_8_8, A.ElevatedButton$(false, B.Text_g8A, this.controller.get$enableCpuProfiler(), _null), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1), _null, _null, _null);
    }
  };
  A.UserTagDropdown.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller._userTagFilter, new A.UserTagDropdown_build_closure(this), null, null, type$.ValueListenableBuilder_String);
    },
    _onUserTagChanged$2(newTag, context) {
      return this._onUserTagChanged$body$UserTagDropdown(newTag, context);
    },
    _onUserTagChanged$body$UserTagDropdown(newTag, context) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$handler = 1, $async$currentError, $async$self = this, e, exception, t1, $async$exception;
      var $async$_onUserTagChanged$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
              $async$handler = 3;
              $async$goto = 6;
              return A._asyncAwait($async$self.controller.loadDataWithTag$1(newTag), $async$_onUserTagChanged$2);
            case 6:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              t1 = A.Notifications_of(context);
              t1.toString;
              t1.push$1(J.toString$0$(e));
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onUserTagChanged$2, $async$completer);
    }
  };
  A.UserTagDropdown_build_closure.prototype = {
    call$3(context, userTag, _) {
      var tooltip, t3, t4, t5, t6, t7, t8, _null = null,
        t1 = this.$this,
        t2 = t1.controller.get$cpuProfileStore().lookupProfile$1$label("none"),
        userTags = t2 == null ? _null : t2.get$userTags();
      if (userTags == null)
        userTags = B.List_empty0;
      t2 = J.getInterceptor$asx(userTags);
      tooltip = t2.get$isNotEmpty(userTags) ? "Filter the CPU profile by the given UserTag" : "No UserTags found for this CPU profile";
      t3 = A.Theme_of(context);
      t4 = type$.String;
      t5 = A._setArrayType([A.DropdownMenuItem$(A.Text$("Filter by tag: none", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, "none", t4)], type$.JSArray_DropdownMenuItem_String);
      if (!(t2.get$length(userTags) === 1 && J.$eq$(t2.get$first(userTags), $.$get$_FakeUserTag__defaultTag().label)))
        for (t6 = t2.get$iterator(userTags), t7 = type$.DropdownMenuItem_String; t6.moveNext$0();) {
          t8 = t6.get$current(t6);
          t5.push(new A.DropdownMenuItem(t8, new A.Text("Filter by tag: " + t8, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.AlignmentDirectional_m1_0, _null, t7));
        }
      if (!t2.get$isEmpty(userTags))
        t2 = t2.get$length(userTags) === 1 && J.$eq$(t2.get$first(userTags), $.$get$_FakeUserTag__defaultTag().label);
      else
        t2 = true;
      t1 = t2 ? _null : new A.UserTagDropdown_build__closure(t1, context);
      return A.DevToolsTooltip$(A.RoundedDropDownButton$(true, t5, _null, t1, t3.textTheme.bodyMedium, userTag, t4), _null, _null, tooltip, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    },
    $signature: 499
  };
  A.UserTagDropdown_build__closure.prototype = {
    call$1(tag) {
      tag.toString;
      return this.$this._onUserTagChanged$2(tag, this.context);
    },
    $signature: 82
  };
  A.__CpuProfilerState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$__CpuProfilerState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "search-field", true, true, _null, _null, false);
      _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode = t1;
      _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode = A.FocusNode$(true, "search-raw-keyboard", true, true, _null, _null, false);
      t2 = _this.AutoDisposeMixin__delegate;
      t2.autoDisposeFocusNode$1(t1);
      t1 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.autoDisposeFocusNode$1(t1);
      t1 = A.SearchTextEditingController$();
      if (_this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController = t1;
    },
    dispose$0() {
      this.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin$dispose();
      var t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
    }
  };
  A.ProfileGranularity.prototype = {
    toString$0(_) {
      return "ProfileGranularity." + this._core$_name;
    }
  };
  A.ProfilerScreen.prototype = {
    get$docPageId() {
      return "cpu-profiler";
    },
    get$showIsolateSelector() {
      return B.FixedValueListenable_true;
    },
    build$1(context) {
      return B.ProfilerScreenBody_null;
    }
  };
  A.ProfilerScreenBody.prototype = {
    createState$0() {
      return new A._ProfilerScreenBodyState(null, false, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._ProfilerScreenBodyState.prototype = {
    initState$0() {
      this.super$State$initState();
      A.screen("cpu-profiler");
      this.addAutoDisposeListener$1($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode);
    },
    didChangeDependencies$0() {
      var t1, offlineProfilerData, _this = this,
        _s12_ = "cpu-profiler";
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      A.maybePushDebugModePerformanceMessage(t1, _s12_);
      if (!_this.initController$0())
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller._profiler_screen_controller$_recordingNotifier, new A._ProfilerScreenBodyState_didChangeDependencies_closure(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.cpuProfilerController._cpu_profile_controller$_processingNotifier, new A._ProfilerScreenBodyState_didChangeDependencies_closure0(_this));
      _this.addAutoDisposeListener$2(_this.ProvidedControllerMixin__controller.cpuProfilerController.transformer._progressNotifier, new A._ProfilerScreenBodyState_didChangeDependencies_closure1(_this));
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL).shouldLoadOfflineData$1(_s12_)) {
        offlineProfilerData = A.CpuProfileData_CpuProfileData$parse(A.LinkedHashMap_LinkedHashMap$from(J.$index$asx($.globals.$index(0, B.Type_OfflineModeController_ECL).offlineDataJson, _s12_), type$.String, type$.dynamic));
        if (offlineProfilerData.profileMetaData.sampleCount !== 0)
          _this.loadOfflineData$1(offlineProfilerData);
      }
    },
    build$1(context) {
      var t1, _this = this;
      if ($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
        t1 = _this.ProvidedControllerMixin__controller;
        t1.toString;
        return _this._buildProfilerScreenBody$1(t1);
      }
      _this.ProvidedControllerMixin__controller.toString;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager.flag$1("profiler");
      t1.toString;
      return new A.ValueListenableBuilder(t1, new A._ProfilerScreenBodyState_build_closure(_this), null, null, type$.ValueListenableBuilder_Flag);
    },
    _buildProfilerScreenBody$1(controller) {
      var t2, emptyProfileView, _this = this, _null = null,
        emptyAppStartUpProfileView = A.Center$(A.Column$(B.List_S0N, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1), _null, _null, _null),
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm;
      t1 = t1 == null ? _null : t1.operatingSystem;
      t2 = type$.JSArray_InlineSpan;
      if (t1 === "ios") {
        t1 = _this._framework$_element;
        t1.toString;
        t2 = A._setArrayType([B.TextSpan_3Nb, A.LinkTextSpan$(t1, B.Link_ib6, _null, _null), B.TextSpan_QOM], t2);
        t1 = t2;
      } else
        t1 = A._setArrayType([], t2);
      emptyProfileView = A.Center$(A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(t1, _null, _null, _null, "No CPU samples recorded."), B.TextAlign_2, _null, _null, 1, B.TextWidthBasis_0), _null, _null, _null);
      t1 = type$.JSArray_Widget;
      t2 = A._setArrayType([], t1);
      if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        t2.push(new A.ProfilerScreenControls(controller, _this.recording, _this.processing, _null));
      t2.push(B.SizedBox_null_6_null_null);
      t2.push(A.Expanded$(new A.ValueListenableBuilder(controller.cpuProfilerController._dataNotifier, new A._ProfilerScreenBodyState__buildProfilerScreenBody_closure(_this, emptyAppStartUpProfileView, emptyProfileView, controller), _null, _null, type$.ValueListenableBuilder_nullable_CpuProfileData), 1));
      t1 = A._setArrayType([A.Column$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1)], t1);
      if (_this.OfflineScreenMixin__loadingOfflineData) {
        t2 = _this._framework$_element;
        t2.toString;
        t1.push(A.Container$(_null, B.CenteredCircularProgressIndicator_null, B.Clip_0, A.Theme_of(t2).scaffoldBackgroundColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      }
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t1, _null);
    },
    processOfflineData$1(offlineData) {
      return this.processOfflineData$body$_ProfilerScreenBodyState(offlineData);
    },
    processOfflineData$body$_ProfilerScreenBodyState(offlineData) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$processOfflineData$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 = 2;
              return A._asyncAwait($async$self.ProvidedControllerMixin__controller.cpuProfilerController.transformer.processData$2$processId(offlineData, "offline data processing"), $async$processOfflineData$1);
            case 2:
              // returning from await.
              $async$self.ProvidedControllerMixin__controller.cpuProfilerController.loadProcessedData$2$storeAsUserTagNone(offlineData, true);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$processOfflineData$1, $async$completer);
    }
  };
  A._ProfilerScreenBodyState_didChangeDependencies_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._ProfilerScreenBodyState_didChangeDependencies__closure1(t1));
    },
    $signature: 0
  };
  A._ProfilerScreenBodyState_didChangeDependencies__closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.recording = t1.ProvidedControllerMixin__controller._profiler_screen_controller$_recordingNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._ProfilerScreenBodyState_didChangeDependencies_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._ProfilerScreenBodyState_didChangeDependencies__closure0(t1));
    },
    $signature: 0
  };
  A._ProfilerScreenBodyState_didChangeDependencies__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.processing = t1.ProvidedControllerMixin__controller.cpuProfilerController._cpu_profile_controller$_processingNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._ProfilerScreenBodyState_didChangeDependencies_closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._ProfilerScreenBodyState_didChangeDependencies__closure(t1));
    },
    $signature: 0
  };
  A._ProfilerScreenBodyState_didChangeDependencies__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.processingProgress = t1.ProvidedControllerMixin__controller.cpuProfilerController.transformer._progressNotifier._change_notifier$_value;
    },
    $signature: 0
  };
  A._ProfilerScreenBodyState_build_closure.prototype = {
    call$3(context, profilerFlag, _) {
      var t1 = profilerFlag.valueAsString,
        t2 = this.$this,
        t3 = t2.ProvidedControllerMixin__controller;
      if (t1 === "true") {
        t3.toString;
        t1 = t2._buildProfilerScreenBody$1(t3);
      } else
        t1 = new A.CpuProfilerDisabled(t3.cpuProfilerController, null);
      return t1;
    },
    $signature: 341
  };
  A._ProfilerScreenBodyState__buildProfilerScreenBody_closure.prototype = {
    call$3(context, cpuProfileData, _) {
      var t1, _this = this;
      if (cpuProfileData == $.$get$CpuProfilerController_baseStateCpuProfileData() || cpuProfileData == null) {
        t1 = _this.$this;
        return new A.RecordingInfo(B.ValueKey_22h, B.ValueKey_IWk, t1.recording, "CPU samples", t1.processing, t1.processingProgress, null);
      }
      if (cpuProfileData === $.$get$CpuProfilerController_emptyAppStartUpProfile())
        return _this.emptyAppStartUpProfileView;
      if (cpuProfileData.profileMetaData.sampleCount === 0)
        return _this.emptyProfileView;
      return A.CpuProfiler$(_this.controller.cpuProfilerController, cpuProfileData, $.$get$profilerScreenSearchFieldKey(), null);
    },
    $signature: 339
  };
  A.ProfilerScreenControls.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.controller,
        t2 = this.recording,
        t3 = t2 || this.processing;
      return A.Row$(A._setArrayType([new A._PrimaryControls(t1, t2, _null), B.SizedBox_16_null_null_null, new A._SecondaryControls(t1, t3, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
    }
  };
  A._PrimaryControls.prototype = {
    build$1(context) {
      var t3, _this = this, _null = null,
        t1 = _this.recording,
        t2 = new A._PrimaryControls_build_closure(_this);
      if (t1)
        t2 = _null;
      t3 = new A._PrimaryControls_build_closure0(_this);
      if (!t1)
        t3 = _null;
      return A.Row$(A._setArrayType([new A.RecordButton(B.IconData_57957_MaterialIcons_false, _null, "Record", 1050, t2, false, "Start recording", _null, true, _null), B.SizedBox_8_null_null_null, new A.StopRecordingButton(B.IconData_58886_MaterialIcons_false, _null, "Stop", 1050, t3, false, "Stop recording", _null, true, _null), B.SizedBox_8_null_null_null, A.ClearButton$(1050, t1 ? _null : new A._PrimaryControls_build_closure1(_this), true)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    }
  };
  A._PrimaryControls_build_closure.prototype = {
    call$0() {
      A.select("cpu-profiler", "record", false, null);
      this.$this.controller.startRecording$0();
    },
    $signature: 0
  };
  A._PrimaryControls_build_closure0.prototype = {
    call$0() {
      A.select("cpu-profiler", "stop", false, null);
      this.$this.controller.stopRecording$0();
    },
    $signature: 0
  };
  A._PrimaryControls_build_closure1.prototype = {
    call$0() {
      A.select("cpu-profiler", "clear", false, null);
      this.$this.controller.clear$0(0);
    },
    $signature: 0
  };
  A._SecondaryControls.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Widget),
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp,
        t3 = t2.get$isFlutterAppNow();
      t3.toString;
      if (t3) {
        t2 = t2.get$isDartWebAppNow();
        t2.toString;
        t2 = !t2;
      } else
        t2 = false;
      if (t2)
        t1.push(A.IconLabelButton$(false, B.IconData_58978_MaterialIcons_false, _null, _null, "Profile app start up", 815, !_this.profilerBusy ? new A._SecondaryControls_build_closure(_this) : _null, true, "Load all Dart CPU samples that occurred before \nthe first Flutter frame was drawn (if available)", B.EdgeInsets_8_8_8_8));
      t1.push(B.SizedBox_8_null_null_null);
      t2 = !_this.profilerBusy;
      t1.push(A.RefreshButton$("Load all CPU samples", 815, t2 ? new A._SecondaryControls_build_closure0(_this) : _null, "Load all available CPU samples from the profiler"));
      t1.push(B.SizedBox_8_null_null_null);
      t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager.flag$1("profile_period");
      t3.toString;
      t1.push(new A.ProfileGranularityDropdown("cpu-profiler", t3, _null));
      t1.push(B.SizedBox_8_null_null_null);
      if (t2) {
        t2 = _this.controller.cpuProfilerController._dataNotifier._change_notifier$_value;
        if (t2 != null)
          t2 = !(t2.profileMetaData.sampleCount === 0);
        else
          t2 = false;
      } else
        t2 = false;
      t1.push(A.ExportButton$(1050, t2 ? new A._SecondaryControls_build_closure1(_this, context) : _null));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null);
    }
  };
  A._SecondaryControls_build_closure.prototype = {
    call$0() {
      A.select("cpu-profiler", "profileAppStartUp", false, null);
      this.$this.controller.cpuProfilerController.loadAppStartUpProfile$0();
    },
    $signature: 0
  };
  A._SecondaryControls_build_closure0.prototype = {
    call$0() {
      A.select("cpu-profiler", "loadAllCpuSamples", false, null);
      this.$this.controller.cpuProfilerController.loadAllSamples$0();
    },
    $signature: 0
  };
  A._SecondaryControls_build_closure1.prototype = {
    call$0() {
      var t1, t2, exportedFile,
        _s12_ = "cpu-profiler";
      A.select(_s12_, "export", false, null);
      t1 = this.$this.controller;
      t2 = t1._exportController;
      exportedFile = t2.downloadFile$1(t2.encode$2(_s12_, t1.cpuProfilerController._dataNotifier._change_notifier$_value.get$toJson()));
      A.Notifications_of(this.context).push$1("Successfully exported " + exportedFile + " to ~/Downloads directory");
    },
    $signature: 0
  };
  A.ProfilerScreenMetrics.prototype = {};
  A.__ProfilerScreenBodyState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin.prototype = {};
  A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin.prototype = {};
  A.ProfilerScreenController.prototype = {
    ProfilerScreenController$0() {
      var t1, t2, t3, t4;
      if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.toString;
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
        t2 = t1.__VmServiceWrapper__vmService;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = type$.dynamic;
        t4 = type$.Response;
        A.allowedError(t1.trackFuture$1$2("setFlag", t2._call$1$2(0, "setFlag", A.LinkedHashMap_LinkedHashMap$_literal(["name", "profile_period", "value", "250"], t3, t3), t4), t4), false);
        this._currentIsolate = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
        this.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate, new A.ProfilerScreenController_closure(this));
      }
    },
    startRecording$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$startRecording$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.clear$0(0), $async$startRecording$0);
            case 2:
              // returning from await.
              $async$self._profiler_screen_controller$_recordingNotifier.set$value(0, true);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$startRecording$0, $async$completer);
    },
    stopRecording$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$stopRecording$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$self._profiler_screen_controller$_recordingNotifier.set$value(0, false);
              $async$goto = 2;
              return A._asyncAwait($async$self.cpuProfilerController.pullAndProcessProfile$3$extentMicros$processId$startMicros($.$get$maxJsInt(), "Profile 0", 0), $async$stopRecording$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$stopRecording$0, $async$completer);
    },
    clear$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$clear$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.cpuProfilerController.clear$0(0), $async$clear$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$clear$0, $async$completer);
    }
  };
  A.ProfilerScreenController_closure.prototype = {
    call$0() {
      var previousData,
        t1 = this.$this,
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value,
        t3 = t1._currentIsolate;
      if ((t3 == null ? null : t3.get$id(t3)) != null) {
        t3 = t1._currentIsolate;
        t3 = t3 == null ? null : t3.get$id(t3);
        t1._previousProfileByIsolateId.$indexSet(0, t3, t1.cpuProfilerController._dataNotifier._change_notifier$_value);
      }
      t1._currentIsolate = t2;
      t2 = t2 == null ? null : t2.get$id(t2);
      previousData = t1._previousProfileByIsolateId.$index(0, t2);
      t1._profiler_screen_controller$_recordingNotifier.set$value(0, false);
      t1.cpuProfilerController.reset$1$data(0, previousData);
    },
    $signature: 0
  };
  A._ProfilerScreenController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A.serviceProvider_closure.prototype = {
    call$1(ref) {
      return this.$call$body$serviceProvider_closure(ref);
    },
    $call$body$serviceProvider_closure(ref) {
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        switch ($async$errorCode) {
          case 2:
            $async$next = $async$nextWhenCanceled;
            $async$goto = $async$next.pop();
            break;
          case 1:
            $async$currentError = $async$result;
            $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              $async$goto = 3;
              $async$nextWhenCanceled = [1];
              return A._asyncStarHelper(A._IterationMarker_yieldSingle(t1), $async$call$1, $async$controller);
            case 3:
              // after yield
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
              $async$goto = 4;
              $async$nextWhenCanceled = [1];
              return A._asyncStarHelper(A._IterationMarker_yieldStar(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>"))), $async$call$1, $async$controller);
            case 4:
              // after yield
            case 1:
              // return
              return A._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return A._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = A._makeAsyncStarStreamController($async$call$1, type$.VmServiceWrapper),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], t1;
      return A._streamOfController($async$controller);
    },
    $signature: 500
  };
  A.libraryEvalProvider_closure.prototype = {
    call$2(ref, libraryPath) {
      return this.$call$body$libraryEvalProvider_closure(ref, libraryPath);
    },
    $call$body$libraryEvalProvider_closure(ref, libraryPath) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.EvalOnDartLibrary),
        $async$returnValue, $eval, $async$temp1, $async$temp2;
      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
              $async$temp1 = A;
              $async$temp2 = libraryPath;
              $async$goto = 3;
              return A._asyncAwait(ref.watch$1$1($.$get$serviceProvider().get$future(), type$.Future_VmServiceWrapper), $async$call$2);
            case 3:
              // returning from await.
              $eval = $async$temp1.EvalOnDartLibrary$($async$temp2, $async$result, null, false);
              ref.onDispose$1($eval.get$dispose());
              $async$returnValue = $eval;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 501
  };
  A.hotRestartEventProvider_closure.prototype = {
    call$1(ref) {
      var selectedIsolateListenable = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate,
        notifier = new A.ValueNotifier(selectedIsolateListenable._change_notifier$_value, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_nullable_IsolateRef),
        t1 = new A.hotRestartEventProvider_closure_listener(notifier, selectedIsolateListenable);
      selectedIsolateListenable.addListener$1(0, t1);
      ref.onDispose$1(new A.hotRestartEventProvider__closure(selectedIsolateListenable, t1));
      return notifier;
    },
    $signature: 502
  };
  A.hotRestartEventProvider_closure_listener.prototype = {
    call$0() {
      var t1 = this.selectedIsolateListenable._change_notifier$_value;
      this.notifier.set$value(0, t1);
      return t1;
    },
    $signature: 0
  };
  A.hotRestartEventProvider__closure.prototype = {
    call$0() {
      return this.selectedIsolateListenable.removeListener$1(0, this.listener);
    },
    $signature: 0
  };
  A.PathToProperty.prototype = {};
  A.ObjectField.prototype = {};
  A.InstanceDetails.prototype = {
    get$isExpandable() {
      var t1 = new A.InstanceDetails_isExpandable_falsy();
      return this.map$8$boolean$enumeration$list$map$nill$number$object$string(0, t1, t1, new A.InstanceDetails_isExpandable_closure(), new A.InstanceDetails_isExpandable_closure0(), t1, t1, new A.InstanceDetails_isExpandable_closure1(), t1);
    },
    get$instanceRefId() {
      return this.map$8$boolean$enumeration$list$map$nill$number$object$string(0, new A.InstanceDetails_instanceRefId_closure(), new A.InstanceDetails_instanceRefId_closure0(), new A.InstanceDetails_instanceRefId_closure1(), new A.InstanceDetails_instanceRefId_closure2(), new A.InstanceDetails_instanceRefId_closure3(), new A.InstanceDetails_instanceRefId_closure4(), new A.InstanceDetails_instanceRefId_closure5(), new A.InstanceDetails_instanceRefId_closure6());
    }
  };
  A.InstanceDetails_isExpandable_falsy.prototype = {
    call$1(obj) {
      return false;
    },
    $signature: 503
  };
  A.InstanceDetails_isExpandable_closure0.prototype = {
    call$1(instance) {
      return J.get$isNotEmpty$asx(instance.keys);
    },
    $signature: 504
  };
  A.InstanceDetails_isExpandable_closure.prototype = {
    call$1(instance) {
      return instance.length > 0;
    },
    $signature: 505
  };
  A.InstanceDetails_isExpandable_closure1.prototype = {
    call$1(instance) {
      return instance.fields.length !== 0;
    },
    $signature: 506
  };
  A.InstanceDetails_instanceRefId_closure3.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 507
  };
  A.InstanceDetails_instanceRefId_closure.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 508
  };
  A.InstanceDetails_instanceRefId_closure4.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 509
  };
  A.InstanceDetails_instanceRefId_closure6.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 510
  };
  A.InstanceDetails_instanceRefId_closure2.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 511
  };
  A.InstanceDetails_instanceRefId_closure1.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 512
  };
  A.InstanceDetails_instanceRefId_closure5.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 513
  };
  A.InstanceDetails_instanceRefId_closure0.prototype = {
    call$1(a) {
      return a.instanceRefId;
    },
    $signature: 514
  };
  A.InstancePath.prototype = {
    get$parent(_) {
      var t1, i, i0, _this = this;
      if (J.get$isEmpty$asx(_this.get$pathToProperty()))
        return null;
      t1 = A._setArrayType([], type$.JSArray_PathToProperty);
      for (i = 0; i0 = i + 1, i0 < J.get$length$asx(_this.get$pathToProperty()); i = i0)
        t1.push(J.$index$asx(_this.get$pathToProperty(), i));
      return _this.copyWith$1$pathToProperty(t1);
    },
    pathForChild$1(property) {
      var t1 = A.List_List$of(this.get$pathToProperty(), true, type$.PathToProperty);
      t1.push(property);
      return this.copyWith$1$pathToProperty(t1);
    }
  };
  A._$PathToPropertyTearOff.prototype = {
    listIndex$1(index) {
      return new A._$ListIndexPath(index);
    }
  };
  A._$PathToProperty.prototype = {};
  A._$ListIndexPath.prototype = {
    toString$0(_) {
      return "PathToProperty.listIndex(index: " + this.index + ")";
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(this) && type$.ListIndexPath._is(other) && B.DeepCollectionEquality_false.equals$2(other.index, this.index);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), B.DeepCollectionEquality_false.hash$1(0, this.index), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $isPathToProperty: 1,
    $isListIndexPath: 1,
    $isDiagnosticableTree: 1
  };
  A._$MapKeyPath.prototype = {
    toString$0(_) {
      return "PathToProperty.mapKey(ref: " + A.S(this.ref) + ")";
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(this) && type$.MapKeyPath._is(other) && B.DeepCollectionEquality_false.equals$2(other.ref, this.ref);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), B.DeepCollectionEquality_false.hash$1(0, this.ref), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $isPathToProperty: 1,
    $isMapKeyPath: 1,
    $isDiagnosticableTree: 1
  };
  A._$PropertyPath.prototype = {
    toString$0(_) {
      return "PathToProperty.objectProperty(name: " + this.name + ", ownerUri: " + this.ownerUri + ", ownerName: " + this.ownerName + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(_this) && type$.PropertyPath._is(other) && B.DeepCollectionEquality_false.equals$2(other.name, _this.name) && B.DeepCollectionEquality_false.equals$2(other.ownerUri, _this.ownerUri) && B.DeepCollectionEquality_false.equals$2(other.ownerName, _this.ownerName);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.name), B.DeepCollectionEquality_false.hash$1(0, _this.ownerUri), B.DeepCollectionEquality_false.hash$1(0, _this.ownerName), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $isPathToProperty: 1,
    $isPropertyPath: 1,
    $isDiagnosticableTree: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A._$ObjectField.prototype = {
    get$name(_) {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    }
  };
  A._$_ObjectField.prototype = {
    toString$0(_) {
      var _this = this;
      return "ObjectField(name: " + _this.name + ", isFinal: " + _this.isFinal + ", ownerName: " + _this.ownerName + ", ownerUri: " + _this.ownerUri + ", ref: " + _this.ref.toString$0(0) + ", eval: " + _this.$eval.toString$0(0) + ", isDefinedByDependency: " + _this.isDefinedByDependency + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(_this) && other instanceof A._ObjectField && B.DeepCollectionEquality_false.equals$2(other.name, _this.name) && B.DeepCollectionEquality_false.equals$2(other.isFinal, _this.isFinal) && B.DeepCollectionEquality_false.equals$2(other.ownerName, _this.ownerName) && B.DeepCollectionEquality_false.equals$2(other.ownerUri, _this.ownerUri) && B.DeepCollectionEquality_false.equals$2(other.ref, _this.ref) && B.DeepCollectionEquality_false.equals$2(other.$eval, _this.$eval) && B.DeepCollectionEquality_false.equals$2(other.isDefinedByDependency, _this.isDefinedByDependency);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.name), B.DeepCollectionEquality_false.hash$1(0, _this.isFinal), B.DeepCollectionEquality_false.hash$1(0, _this.ownerName), B.DeepCollectionEquality_false.hash$1(0, _this.ownerUri), B.DeepCollectionEquality_false.hash$1(0, _this.ref), B.DeepCollectionEquality_false.hash$1(0, _this.$eval), B.DeepCollectionEquality_false.hash$1(0, _this.isDefinedByDependency), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $isDiagnosticableTree: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A._ObjectField.prototype = {};
  A._$InstanceDetails.prototype = {
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    }
  };
  A._$NullInstance.prototype = {
    toString$0(_) {
      return "InstanceDetails.nill(setter: " + A.S(this.setter) + ")";
    },
    $eq(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(this))
          if (other instanceof A.NullInstance) {
            t1 = other.setter;
            t2 = this.setter;
            t1 = (t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2);
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), this.setter, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return nill.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1
  };
  A.NullInstance.prototype = {};
  A._$BoolInstance.prototype = {
    toString$0(_) {
      return "InstanceDetails.boolean(displayString: " + this.displayString + ", instanceRefId: " + this.instanceRefId + ", setter: " + A.S(this.setter) + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.BoolInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.displayString, _this.displayString))
              if (B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId)) {
                t1 = other.setter;
                t2 = _this.setter;
                t1 = (t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2);
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.displayString), B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), _this.setter, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return boolean.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.BoolInstance.prototype = {};
  A._$NumInstance.prototype = {
    toString$0(_) {
      return "InstanceDetails.number(displayString: " + this.displayString + ", instanceRefId: " + this.instanceRefId + ", setter: " + A.S(this.setter) + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.NumInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.displayString, _this.displayString))
              if (B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId)) {
                t1 = other.setter;
                t2 = _this.setter;
                t1 = (t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2);
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.displayString), B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), _this.setter, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return number.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.NumInstance.prototype = {};
  A._$StringInstance.prototype = {
    toString$0(_) {
      return "InstanceDetails.string(displayString: " + this.displayString + ", instanceRefId: " + this.instanceRefId + ", setter: " + A.S(this.setter) + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.StringInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.displayString, _this.displayString))
              if (B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId)) {
                t1 = other.setter;
                t2 = _this.setter;
                t1 = (t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2);
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.displayString), B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), _this.setter, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return string.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.StringInstance.prototype = {};
  A._$MapInstance.prototype = {
    toString$0(_) {
      var _this = this;
      return "InstanceDetails.map(keys: " + A.S(_this.keys) + ", hash: " + _this.hash + ", instanceRefId: " + _this.instanceRefId + ", setter: " + A.S(_this.setter) + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.MapInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.keys, _this.keys))
              if (B.DeepCollectionEquality_false.equals$2(other.hash, _this.hash))
                if (B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId)) {
                  t1 = other.setter;
                  t2 = _this.setter;
                  t1 = (t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2);
                } else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.keys), B.DeepCollectionEquality_false.hash$1(0, _this.hash), B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), _this.setter, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return map.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      var t1 = map.call$1(this);
      return t1;
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$keys(receiver) {
      return this.keys;
    },
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.MapInstance.prototype = {};
  A._$ListInstance.prototype = {
    toString$0(_) {
      var _this = this;
      return "InstanceDetails.list(length: " + _this.length + ", hash: " + _this.hash + ", instanceRefId: " + _this.instanceRefId + ", setter: " + A.S(_this.setter) + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.ListInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.length, _this.length))
              if (B.DeepCollectionEquality_false.equals$2(other.hash, _this.hash))
                if (B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId)) {
                  t1 = other.setter;
                  t2 = _this.setter;
                  t1 = (t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2);
                } else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.length), B.DeepCollectionEquality_false.hash$1(0, _this.hash), B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), _this.setter, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return list.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      var t1 = list.call$1(this);
      return t1;
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$length(receiver) {
      return this.length;
    },
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.ListInstance.prototype = {};
  A._$ObjectInstance.prototype = {
    toString$0(_) {
      var _this = this;
      return "InstanceDetails.object(fields: " + A.S(_this.fields) + ", type: " + _this.type + ", hash: " + _this.hash + ", instanceRefId: " + _this.instanceRefId + ", setter: " + A.S(_this.setter) + ", evalForInstance: " + _this.evalForInstance.toString$0(0) + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.ObjectInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.fields, _this.fields))
              if (B.DeepCollectionEquality_false.equals$2(other.type, _this.type))
                if (B.DeepCollectionEquality_false.equals$2(other.hash, _this.hash))
                  if (B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId)) {
                    t1 = other.setter;
                    t2 = _this.setter;
                    t1 = ((t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2)) && B.DeepCollectionEquality_false.equals$2(other.evalForInstance, _this.evalForInstance);
                  } else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.fields), B.DeepCollectionEquality_false.hash$1(0, _this.type), B.DeepCollectionEquality_false.hash$1(0, _this.hash), B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), _this.setter, B.DeepCollectionEquality_false.hash$1(0, _this.evalForInstance), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return object.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      var t1 = object.call$1(this);
      return t1;
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.ObjectInstance.prototype = {};
  A._$EnumInstance.prototype = {
    toString$0(_) {
      var _this = this;
      return "InstanceDetails.enumeration(type: " + _this.type + ", value: " + _this.value + ", setter: " + A.S(_this.setter) + ", instanceRefId: " + _this.instanceRefId + ")";
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        if (J.get$runtimeType$(other) === A.getRuntimeType(_this))
          if (other instanceof A.EnumInstance)
            if (B.DeepCollectionEquality_false.equals$2(other.type, _this.type))
              if (B.DeepCollectionEquality_false.equals$2(other.value, _this.value)) {
                t1 = other.setter;
                t2 = _this.setter;
                t1 = ((t1 == null ? t2 == null : t1 === t2) || J.$eq$(t1, t2)) && B.DeepCollectionEquality_false.equals$2(other.instanceRefId, _this.instanceRefId);
              } else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.getRuntimeType(_this), B.DeepCollectionEquality_false.hash$1(0, _this.type), B.DeepCollectionEquality_false.hash$1(0, _this.value), _this.setter, B.DeepCollectionEquality_false.hash$1(0, _this.instanceRefId), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    map$1$8$boolean$enumeration$list$map$nill$number$object$string(_, boolean, enumeration, list, map, nill, number, object, string) {
      return enumeration.call$1(this);
    },
    map$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string) {
      return this.map$1$8$boolean$enumeration$list$map$nill$number$object$string($receiver, boolean, enumeration, list, map, nill, number, object, string, type$.nullable_Object);
    },
    maybeMap$1$4$list$map$object$orElse(list, map, object, orElse) {
      return orElse.call$0();
    },
    maybeMap$4$list$map$object$orElse(list, map, object, orElse) {
      return this.maybeMap$1$4$list$map$object$orElse(list, map, object, orElse, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    get$instanceRefId() {
      return this.instanceRefId;
    }
  };
  A.EnumInstance.prototype = {};
  A._$InstancePath.prototype = {
    get$pathToProperty() {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    map$1$2$fromInstanceId$fromProviderId(_, fromInstanceId, fromProviderId) {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    map$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId) {
      return this.map$1$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId, type$.nullable_Object);
    },
    get$copyWith() {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    copyWith$1$pathToProperty(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    }
  };
  A._$InstancePathCopyWithImpl.prototype = {
    call$1$pathToProperty(pathToProperty) {
      var t1 = this.get$_instance_details$_value();
      return this._then.call$1(t1.copyWith$1$pathToProperty(J.$eq$(pathToProperty, B.C_Object) ? this.get$_instance_details$_value().get$pathToProperty() : type$.List_PathToProperty._as(pathToProperty)));
    },
    call$0() {
      return this.call$1$pathToProperty(B.C_Object);
    },
    get$_instance_details$_value() {
      return this._instance_details$_value;
    }
  };
  A.__$InstancePathFromInstanceIdCopyWithImpl.prototype = {
    get$_instance_details$_value() {
      return type$._InstancePathFromInstanceId._as(this._instance_details$_value);
    },
    call$1$pathToProperty(pathToProperty) {
      var t1 = type$._InstancePathFromInstanceId,
        t2 = t1._as(this._instance_details$_value);
      t1 = J.$eq$(pathToProperty, B.C_Object) ? t1._as(this._instance_details$_value).pathToProperty : type$.List_PathToProperty._as(pathToProperty);
      return this._then.call$1(new A._$_InstancePathFromInstanceId(t2.instanceId, t1));
    },
    call$0() {
      return this.call$1$pathToProperty(B.C_Object);
    }
  };
  A.__$InstancePathFromInstanceIdCopyWithImpl_closure.prototype = {
    call$1(v) {
      return this._then.call$1(type$._InstancePathFromInstanceId._as(v));
    },
    $signature() {
      return this.$$Res._eval$1("0(InstancePath)");
    }
  };
  A._$_InstancePathFromInstanceId.prototype = {
    toString$0(_) {
      return "InstancePath.fromInstanceId(instanceId: " + this.instanceId + ", pathToProperty: " + A.S(this.pathToProperty) + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(_this) && other instanceof A._InstancePathFromInstanceId && B.DeepCollectionEquality_false.equals$2(other.instanceId, _this.instanceId) && B.DeepCollectionEquality_false.equals$2(other.pathToProperty, _this.pathToProperty);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), B.DeepCollectionEquality_false.hash$1(0, this.instanceId), B.DeepCollectionEquality_false.hash$1(0, this.pathToProperty), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    get$copyWith() {
      return A.__$InstancePathFromInstanceIdCopyWithImpl$(this, B.CONSTANT2, type$._InstancePathFromInstanceId);
    },
    map$1$2$fromInstanceId$fromProviderId(_, fromInstanceId, fromProviderId) {
      return fromInstanceId.call$1(this);
    },
    map$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId) {
      return this.map$1$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    copyWith$1$pathToProperty(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    },
    get$pathToProperty() {
      return this.pathToProperty;
    }
  };
  A._InstancePathFromInstanceId.prototype = {
    get$copyWith() {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    copyWith$1$pathToProperty(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    }
  };
  A.__$InstancePathFromProviderIdCopyWithImpl.prototype = {
    get$_instance_details$_value() {
      return type$._InstancePathFromProviderId._as(this._instance_details$_value);
    },
    call$1$pathToProperty(pathToProperty) {
      var t1 = type$._InstancePathFromProviderId,
        t2 = t1._as(this._instance_details$_value);
      t1 = J.$eq$(pathToProperty, B.C_Object) ? t1._as(this._instance_details$_value).pathToProperty : type$.List_PathToProperty._as(pathToProperty);
      return this._then.call$1(new A._$_InstancePathFromProviderId(t2.providerId, t1));
    },
    call$0() {
      return this.call$1$pathToProperty(B.C_Object);
    }
  };
  A.__$InstancePathFromProviderIdCopyWithImpl_closure.prototype = {
    call$1(v) {
      return this._then.call$1(type$._InstancePathFromProviderId._as(v));
    },
    $signature() {
      return this.$$Res._eval$1("0(InstancePath)");
    }
  };
  A._$_InstancePathFromProviderId.prototype = {
    toString$0(_) {
      return "InstancePath.fromProviderId(providerId: " + this.providerId + ", pathToProperty: " + A.S(this.pathToProperty) + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(_this) && other instanceof A._InstancePathFromProviderId && B.DeepCollectionEquality_false.equals$2(other.providerId, _this.providerId) && B.DeepCollectionEquality_false.equals$2(other.pathToProperty, _this.pathToProperty);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), B.DeepCollectionEquality_false.hash$1(0, this.providerId), B.DeepCollectionEquality_false.hash$1(0, this.pathToProperty), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    get$copyWith() {
      return A.__$InstancePathFromProviderIdCopyWithImpl$(this, B.CONSTANT1, type$._InstancePathFromProviderId);
    },
    map$1$2$fromInstanceId$fromProviderId(_, fromInstanceId, fromProviderId) {
      return fromProviderId.call$1(this);
    },
    map$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId) {
      return this.map$1$2$fromInstanceId$fromProviderId($receiver, fromInstanceId, fromProviderId, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1,
    copyWith$1$pathToProperty(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    },
    get$pathToProperty() {
      return this.pathToProperty;
    }
  };
  A._InstancePathFromProviderId.prototype = {
    get$copyWith() {
      return A.throwExpression($.$get$_privateConstructorUsedError());
    },
    copyWith$1$pathToProperty(arg0) {
      return this.get$copyWith().call$1$pathToProperty(arg0);
    }
  };
  A._InstanceDetails_Object__$InstanceDetails.prototype = {};
  A._InstancePath_Object__$InstancePath.prototype = {};
  A._ObjectField_Object__$ObjectField.prototype = {};
  A._PathToProperty_Object__$PathToProperty.prototype = {};
  A.__$BoolInstance_BoolInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$EnumInstance_EnumInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$ListIndexPath_Object_DiagnosticableTreeMixin.prototype = {};
  A.__$ListInstance_ListInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$MapInstance_MapInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$MapKeyPath_Object_DiagnosticableTreeMixin.prototype = {};
  A.__$NullInstance_NullInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$NumInstance_NumInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$ObjectInstance_ObjectInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$PropertyPath_Object_DiagnosticableTreeMixin.prototype = {};
  A.__$StringInstance_StringInstance_DiagnosticableTreeMixin.prototype = {};
  A.__$_InstancePathFromInstanceId__InstancePathFromInstanceId_DiagnosticableTreeMixin.prototype = {};
  A.__$_InstancePathFromProviderId__InstancePathFromProviderId_DiagnosticableTreeMixin.prototype = {};
  A.__$_ObjectField__ObjectField_DiagnosticableTreeMixin.prototype = {};
  A._resolveInstanceRefForPath_closure0.prototype = {
    call$1(path) {
      return this.$call$body$_resolveInstanceRefForPath_closure0(path);
    },
    $call$body$_resolveInstanceRefForPath_closure0(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceRef),
        $async$returnValue, $async$self = this, t1, $eval, t2;
      var $async$call$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.ref;
              $async$goto = 3;
              return A._asyncAwait(t1.watch$1$1($.$get$providerEvalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $eval = $async$result;
              t2 = path.providerId;
              t1.watch$1$1($.$get$_providerChanged().create$1(0, t2), type$.AsyncValue_void);
              $async$returnValue = $eval.safeEval$2$isAlive('ProviderBinding.debugInstance.providerDetails["' + t2 + '"]?.value', $async$self.isAlive);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 516
  };
  A._resolveInstanceRefForPath_closure.prototype = {
    call$1(path) {
      return this.$call$body$_resolveInstanceRefForPath_closure1(path);
    },
    $call$body$_resolveInstanceRefForPath_closure1(path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceRef),
        $async$returnValue, $async$self = this, t1;
      var $async$call$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 = type$.String;
              $async$goto = 3;
              return A._asyncAwait($async$self.ref.watch$1$1($.$get$evalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.safeEval$3$isAlive$scope("value", $async$self.isAlive, A.LinkedHashMap_LinkedHashMap$_literal(["value", path.instanceId], t1, t1));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 517
  };
  A._resolveInstanceRefForPath_closure2.prototype = {
    call$1($parent) {
      var t1 = type$.MapKeyPath._as(J.get$last$ax(this.path.get$pathToProperty())).ref,
        t2 = t1 == null,
        key = t2 ? "null" : "key",
        t3 = type$.String;
      t3 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      t3.$indexSet(0, "parent", $parent.instanceRefId);
      if (!t2)
        t3.$indexSet(0, "key", t1);
      return this.$eval.safeEval$3$isAlive$scope("parent[" + key + "]", this.isAlive, t3);
    },
    $signature: 327
  };
  A._resolveInstanceRefForPath_closure1.prototype = {
    call$1($parent) {
      var t1 = type$.String;
      return this.$eval.safeEval$3$isAlive$scope("parent[" + type$.ListIndexPath._as(J.get$last$ax(this.path.get$pathToProperty())).index + "]", this.isAlive, A.LinkedHashMap_LinkedHashMap$_literal(["parent", $parent.instanceRefId], t1, t1));
    },
    $signature: 326
  };
  A._resolveInstanceRefForPath_closure3.prototype = {
    call$1($parent) {
      return this.$call$body$_resolveInstanceRefForPath_closure($parent);
    },
    $call$body$_resolveInstanceRefForPath_closure($parent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Instance),
        $async$returnValue, $async$self = this;
      var $async$call$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$returnValue = $async$self.$eval.safeGetInstance$2(B.JSArray_methods.firstWhere$1($parent.fields, new A._resolveInstanceRefForPath__closure(type$.PropertyPath._as(J.get$last$ax($async$self.path.get$pathToProperty())))).ref.get$dataOrThrow(), $async$self.isAlive);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 520
  };
  A._resolveInstanceRefForPath__closure.prototype = {
    call$1(element) {
      var t1 = this.propertyPath;
      return element.name === t1.name && element.ownerName === t1.ownerName && element.ownerUri === t1.ownerUri;
    },
    $signature: 141
  };
  A._resolveInstanceRefForPath_closure4.prototype = {
    call$0() {
      return A.throwExpression(new A.FallThroughError());
    },
    $signature: 139
  };
  A._mutate_closure.prototype = {
    call$1($parent) {
      return this.$call$body$_mutate_closure0($parent);
    },
    $call$body$_mutate_closure0($parent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceRef),
        $async$returnValue, $async$self = this, t1;
      var $async$call$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 = type$.String;
              $async$goto = 3;
              return A._asyncAwait($async$self.ref.watch$1$1($.$get$evalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$result.safeEval$3$isAlive$scope("parent[" + type$.ListIndexPath._as(J.get$last$ax($async$self.path.get$pathToProperty())).index + "] = " + $async$self.newValueExpression, $async$self.isAlive, A.LinkedHashMap_LinkedHashMap$_literal(["parent", $parent.instanceRefId], t1, t1));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 326
  };
  A._mutate_closure0.prototype = {
    call$1($parent) {
      return this.$call$body$_mutate_closure($parent);
    },
    $call$body$_mutate_closure($parent) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceRef),
        $async$returnValue, $async$self = this, $eval, t1, t2, keyRefVar, t3;
      var $async$call$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.ref.watch$1$1($.$get$evalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $eval = $async$result;
              t1 = type$.MapKeyPath._as(J.get$last$ax($async$self.path.get$pathToProperty())).ref;
              t2 = t1 == null;
              keyRefVar = t2 ? "null" : "key";
              t3 = type$.String;
              t3 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
              t3.$indexSet(0, "parent", $parent.instanceRefId);
              if (!t2)
                t3.$indexSet(0, "key", t1);
              $async$returnValue = $eval.safeEval$3$isAlive$scope("parent[" + keyRefVar + "] = " + $async$self.newValueExpression, $async$self.isAlive, t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 327
  };
  A._mutate_closure1.prototype = {
    call$1($parent) {
      var propertyPath = type$.PropertyPath._as(J.get$last$ax(this.path.get$pathToProperty())),
        t1 = type$.String;
      return B.JSArray_methods.firstWhere$1($parent.fields, new A._mutate__closure(propertyPath)).$eval.safeEval$3$isAlive$scope("(parent as " + propertyPath.ownerName + ")." + propertyPath.name + " = " + this.newValueExpression, this.isAlive, A.LinkedHashMap_LinkedHashMap$_literal(["parent", $parent.instanceRefId], t1, t1));
    },
    $signature: 523
  };
  A._mutate__closure.prototype = {
    call$1(f) {
      var t1 = this.propertyPath;
      return f.name === t1.name && f.ownerName === t1.ownerName;
    },
    $signature: 141
  };
  A._mutate_closure2.prototype = {
    call$0() {
      return A.throwExpression(A.StateError$("Can only mutate lists/maps/objects"));
    },
    $signature: 139
  };
  A._tryParseEnum_findPropertyWithName.prototype = {
    call$1($name) {
      var t1 = this.instance.fields;
      if (t1 == null)
        t1 = null;
      else {
        t1 = A.IterableExtension_firstWhereOrNull(t1, new A._tryParseEnum_findPropertyWithName_closure($name));
        t1 = t1 == null ? null : t1.value;
      }
      return t1;
    },
    $signature: 524
  };
  A._tryParseEnum_findPropertyWithName_closure.prototype = {
    call$1(element) {
      var t1 = element.decl;
      t1 = t1 == null ? null : t1.get$name(t1);
      return t1 === this.name;
    },
    $signature: 193
  };
  A._parseSetter_mutate.prototype = {
    call$1(expression) {
      var _this = this;
      return A._mutate(expression, _this.isAlive, _this.parent, _this.path, _this.ref);
    },
    $signature: 128
  };
  A._parseSetter_closure0.prototype = {
    call$1($parent) {
      return this.mutate;
    },
    $signature: 526
  };
  A._parseSetter_closure.prototype = {
    call$1($parent) {
      return this.mutate;
    },
    $signature: 527
  };
  A._parseSetter_closure1.prototype = {
    call$1($parent) {
      if (B.JSArray_methods.firstWhere$1($parent.fields, new A._parseSetter__closure(type$.PropertyPath._as(J.get$last$ax(this.path.get$pathToProperty())))).isFinal)
        return null;
      return this.mutate;
    },
    $signature: 528
  };
  A._parseSetter__closure.prototype = {
    call$1(field) {
      var t1 = this.keyPath;
      return field.name === t1.name && field.ownerName === t1.ownerName;
    },
    $signature: 141
  };
  A._parseSetter_closure2.prototype = {
    call$0() {
      return A.throwExpression(new A.FallThroughError());
    },
    $signature: 139
  };
  A.instanceProvider_closure.prototype = {
    call$2(ref, path) {
      return this.$call$body$instanceProvider_closure(ref, path);
    },
    $call$body$instanceProvider_closure(ref, path) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceDetails),
        $async$returnValue, t1, $eval, isAlive, $parent, instanceRef, setter, instance, t2, keysRef, t3, t4, t5, t6, enumDetails, classInstance, evalForInstance, $async$temp1, $async$temp2, $async$temp3, $async$temp4, $async$temp5, $async$temp6;
      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
              ref.watch$1$1($.$get$hotRestartEventProvider(), type$.ValueNotifier_void);
              t1 = type$.Future_EvalOnDartLibrary;
              $async$goto = 3;
              return A._asyncAwait(ref.watch$1$1($.$get$evalProvider().get$future(), t1), $async$call$2);
            case 3:
              // returning from await.
              $eval = $async$result;
              isAlive = new A.Disposable();
              ref.onDispose$1(isAlive.get$dispose());
              $async$goto = 4;
              return A._asyncAwait(A._resolveParent(ref, path), $async$call$2);
            case 4:
              // returning from await.
              $parent = $async$result;
              $async$goto = 5;
              return A._asyncAwait(A._resolveInstanceRefForPath(path, isAlive, $parent, ref), $async$call$2);
            case 5:
              // returning from await.
              instanceRef = $async$result;
              setter = A._parseSetter(isAlive, $parent, path, ref);
              $async$goto = 6;
              return A._asyncAwait($eval.safeGetInstance$2(instanceRef, isAlive), $async$call$2);
            case 6:
              // returning from await.
              instance = $async$result;
            case 7:
              // switch
              switch (instance.kind) {
                case "Null":
                  // goto case
                  $async$goto = 9;
                  break;
                case "Bool":
                  // goto case
                  $async$goto = 10;
                  break;
                case "Int":
                  // goto case
                  $async$goto = 11;
                  break;
                case "Double":
                  // goto case
                  $async$goto = 12;
                  break;
                case "String":
                  // goto case
                  $async$goto = 13;
                  break;
                case "Map":
                  // goto case
                  $async$goto = 14;
                  break;
                case "List":
                  // goto case
                  $async$goto = 15;
                  break;
                case "PlainInstance":
                  // goto case
                  $async$goto = 16;
                  break;
                default:
                  // goto default
                  $async$goto = 17;
                  break;
              }
              break;
            case 9:
              // case
              $async$returnValue = new A._$NullInstance(setter);
              // goto return
              $async$goto = 1;
              break;
            case 10:
              // case
              t1 = instance.get$valueAsString(instance);
              t1.toString;
              t2 = instanceRef.get$id(instanceRef);
              t2.toString;
              $async$returnValue = new A._$BoolInstance(t1, t2, setter);
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // case
            case 12:
              // case
              t1 = instance.get$valueAsString(instance);
              t1.toString;
              t2 = instanceRef.get$id(instanceRef);
              t2.toString;
              $async$returnValue = new A._$NumInstance(t1, t2, setter);
              // goto return
              $async$goto = 1;
              break;
            case 13:
              // case
              t1 = instance.get$valueAsString(instance);
              t1.toString;
              t2 = instanceRef.get$id(instanceRef);
              t2.toString;
              $async$returnValue = new A._$StringInstance(t1, t2, setter);
              // goto return
              $async$goto = 1;
              break;
            case 14:
              // case
              t1 = instance.associations;
              t1.toString;
              t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,InstanceRef>");
              keysRef = new A.MappedListIterable(t1, new A.instanceProvider__closure(), t2);
              t1 = A._setArrayType([], type$.JSArray_Future_InstanceDetails);
              for (t3 = new A.ListIterator(keysRef, keysRef.get$length(keysRef), t2._eval$1("ListIterator<ListIterable.E>")), t4 = type$.Future_InstanceDetails, t2 = t2._eval$1("ListIterable.E"); t3.moveNext$0();) {
                t5 = t3.__internal$_current;
                if (t5 == null)
                  t5 = t2._as(t5);
                t6 = $.$get$instanceProvider();
                t5 = t5.get$id(t5);
                t5.toString;
                t1.push(ref.watch$1$1(t6.create$1(0, new A._$_InstancePathFromInstanceId(t5, B.List_empty27)).get$future(), t4));
              }
              $async$goto = 18;
              return A._asyncAwait(A.Future_wait(t1, type$.InstanceDetails), $async$call$2);
            case 18:
              // returning from await.
              t1 = $async$result;
              $async$goto = 19;
              return A._asyncAwait($eval.getHashCode$2$isAlive(instance, isAlive), $async$call$2);
            case 19:
              // returning from await.
              t2 = $async$result;
              t3 = instanceRef.get$id(instanceRef);
              t3.toString;
              $async$returnValue = new A._$MapInstance(t1, t2, t3, setter);
              // goto return
              $async$goto = 1;
              break;
            case 15:
              // case
              t1 = instance.length;
              t1.toString;
              $async$goto = 20;
              return A._asyncAwait($eval.getHashCode$2$isAlive(instance, isAlive), $async$call$2);
            case 20:
              // returning from await.
              t2 = $async$result;
              t3 = instanceRef.get$id(instanceRef);
              t3.toString;
              $async$returnValue = new A._$ListInstance(t1, t2, t3, setter);
              // goto return
              $async$goto = 1;
              break;
            case 16:
              // case
            case 17:
              // default
              t2 = instanceRef.get$id(instanceRef);
              t2.toString;
              $async$goto = 21;
              return A._asyncAwait(A._tryParseEnum(instance, $eval, t2, isAlive, setter), $async$call$2);
            case 21:
              // returning from await.
              enumDetails = $async$result;
              if (enumDetails != null) {
                $async$returnValue = enumDetails;
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = instance.Instance_classRef;
              t2.toString;
              $async$goto = 22;
              return A._asyncAwait($eval.safeGetClass$2(t2, isAlive), $async$call$2);
            case 22:
              // returning from await.
              classInstance = $async$result;
              t2 = $.$get$libraryEvalProvider();
              t3 = classInstance.library.get$uri();
              t3.toString;
              evalForInstance = ref.watch$1$1(t2.create$1(0, t3).get$future(), t1);
              t1 = $eval._isolate.rootLib.get$uri();
              t1.toString;
              $async$temp1 = A;
              $async$goto = 23;
              return A._asyncAwait(A._parseFields(ref, $eval, instance, classInstance, A.tryParsePackageName(t1), isAlive), $async$call$2);
            case 23:
              // returning from await.
              t1 = $async$temp1.List_List$of($async$result, true, type$.ObjectField);
              B.JSArray_methods.sort$1(t1, new A.instanceProvider__closure0());
              $async$goto = 24;
              return A._asyncAwait($eval.getHashCode$2$isAlive(instance, isAlive), $async$call$2);
            case 24:
              // returning from await.
              t3 = $async$result;
              t2 = classInstance.name;
              t2.toString;
              t4 = instanceRef.get$id(instanceRef);
              t4.toString;
              $async$temp1 = A;
              $async$temp2 = t1;
              $async$temp3 = t2;
              $async$temp4 = t3;
              $async$temp5 = t4;
              $async$temp6 = setter;
              $async$goto = 25;
              return A._asyncAwait(evalForInstance, $async$call$2);
            case 25:
              // returning from await.
              $async$returnValue = new $async$temp1._$ObjectInstance($async$temp2, $async$temp3, $async$temp4, $async$temp5, $async$temp6, $async$result);
              // goto return
              $async$goto = 1;
              break;
            case 8:
              // after switch
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 529
  };
  A.instanceProvider__closure.prototype = {
    call$1(e) {
      return type$.InstanceRef._as(e.key);
    },
    $signature: 530
  };
  A.instanceProvider__closure0.prototype = {
    call$2(a, b) {
      return A.sortFieldsByName(a.name, b.name);
    },
    $signature: 531
  };
  A._parseFields_closure.prototype = {
    call$1(field) {
      return this.$call$body$_parseFields_closure(field);
    },
    $call$body$_parseFields_closure(field) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ObjectField),
        $async$returnValue, $async$self = this, owner, t2, ownerName, ownerPackageName, t3, fieldDeclaration, t1, $async$temp1, $async$temp2, $async$temp3, $async$temp4, $async$temp5, $async$temp6;
      var $async$call$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
              fieldDeclaration = field.decl;
              t1 = fieldDeclaration.get$owner();
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait($async$self.$eval.safeGetClass$2(type$.ClassRef._as(t1), $async$self.isAlive), $async$call$1);
            case 3:
              // returning from await.
              owner = $async$result;
              t1 = fieldDeclaration.get$location(fieldDeclaration).script.get$uri();
              t1.toString;
              t2 = owner.mixin;
              ownerName = t2 == null ? null : t2.get$name(t2);
              if (ownerName == null) {
                t2 = owner.name;
                t2.toString;
                ownerName = t2;
              }
              ownerPackageName = A.tryParsePackageName(t1);
              t2 = fieldDeclaration.get$name(fieldDeclaration);
              t2.toString;
              t3 = fieldDeclaration.get$isFinal(fieldDeclaration);
              t3.toString;
              $async$temp1 = A;
              $async$temp2 = t2;
              $async$temp3 = t3;
              $async$temp4 = ownerName;
              $async$temp5 = t1;
              $async$temp6 = A.parseSentinel(field.value, type$.InstanceRef);
              $async$goto = 4;
              return A._asyncAwait($async$self.ref.watch$1$1($.$get$libraryEvalProvider().create$1(0, t1).get$future(), type$.FutureOr_EvalOnDartLibrary), $async$call$1);
            case 4:
              // returning from await.
              $async$returnValue = new $async$temp1._$_ObjectField($async$temp2, $async$temp3, $async$temp4, $async$temp5, $async$temp6, $async$result, ownerPackageName != $async$self.appName);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 532
  };
  A._providerChanged_closure.prototype = {
    call$2(ref, id) {
      return this.$call$body$_providerChanged_closure(ref, id);
    },
    $call$body$_providerChanged_closure(ref, id) {
      var $async$call$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        switch ($async$errorCode) {
          case 2:
            $async$next = $async$nextWhenCanceled;
            $async$goto = $async$next.pop();
            break;
          case 1:
            $async$currentError = $async$result;
            $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncStarHelper(ref.watch$1$1($.$get$serviceProvider().get$future(), type$.Future_VmServiceWrapper), $async$call$2, $async$controller);
            case 3:
              // returning from await.
              t1 = $async$result.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._getEventController$1("Extension");
              t2 = A._instanceType(t1)._eval$1("_BroadcastStream<1>");
              $async$goto = 4;
              $async$nextWhenCanceled = [1];
              return A._asyncStarHelper(A._IterationMarker_yieldStar(new A._WhereStream(new A._providerChanged__closure(id), new A._BroadcastStream(t1, t2), t2._eval$1("_WhereStream<Stream.T>"))), $async$call$2, $async$controller);
            case 4:
              // after yield
            case 1:
              // return
              return A._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return A._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = A._makeAsyncStarStreamController($async$call$2, type$.Event_2),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], t2, t1;
      return A._streamOfController($async$controller);
    },
    $signature: 533
  };
  A._providerChanged__closure.prototype = {
    call$1($event) {
      var t1;
      if ($event.extensionKind === "provider:provider_changed") {
        t1 = $event.extensionData;
        t1 = t1 == null ? null : J.$index$asx(t1.data, "id");
        t1 = J.$eq$(t1, this.id);
      } else
        t1 = false;
      return t1;
    },
    $signature: 324
  };
  A.isExpandedProvider_closure.prototype = {
    call$2(ref, path) {
      return J.get$isEmpty$asx(path.get$pathToProperty());
    },
    $signature: 535
  };
  A.estimatedChildCountProvider_closure.prototype = {
    call$2(ref, rootPath) {
      return new A.estimatedChildCountProvider_closure_estimatedChildCount(ref).call$1(rootPath);
    },
    $signature: 536
  };
  A.estimatedChildCountProvider_closure_estimatedChildCount.prototype = {
    call$1(path) {
      var t1 = this.ref;
      return A.AsyncValueX_when(t1.watch$1$1($.$get$instanceProvider().create$1(0, path), type$.AsyncValue_InstanceDetails), new A.estimatedChildCountProvider__estimatedChildCount_closure(new A.estimatedChildCountProvider_closure_estimatedChildCount_one(), new A.estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount(t1, path, this)), new A.estimatedChildCountProvider__estimatedChildCount_closure0(), new A.estimatedChildCountProvider__estimatedChildCount_closure1(), type$.InstanceDetails, type$.int);
    },
    $signature: 537
  };
  A.estimatedChildCountProvider_closure_estimatedChildCount_one.prototype = {
    call$1(instance) {
      return 1;
    },
    $signature: 323
  };
  A.estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount.prototype = {
    call$1(keys) {
      var t1 = this.path;
      if (!this.ref.watch$1$1($.$get$isExpandedProvider().create$1(0, t1), type$.bool))
        return 1;
      return J.fold$2$ax(keys, 1, new A.estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure(this.estimatedChildCount, t1));
    },
    $signature: 539
  };
  A.estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure.prototype = {
    call$2(acc, element) {
      return acc + this.estimatedChildCount.call$1(this.path.pathForChild$1(element));
    },
    $signature: 540
  };
  A.estimatedChildCountProvider__estimatedChildCount_closure1.prototype = {
    call$0() {
      return 1;
    },
    $signature: 60
  };
  A.estimatedChildCountProvider__estimatedChildCount_closure0.prototype = {
    call$2(err, stack) {
      return 1;
    },
    $signature: 541
  };
  A.estimatedChildCountProvider__estimatedChildCount_closure.prototype = {
    call$1(instance) {
      var t1 = this.one,
        t2 = this.expandableEstimatedChildCount;
      return instance.map$8$boolean$enumeration$list$map$nill$number$object$string(0, t1, t1, new A.estimatedChildCountProvider__estimatedChildCount__closure(t2), new A.estimatedChildCountProvider__estimatedChildCount__closure0(t2), t1, t1, new A.estimatedChildCountProvider__estimatedChildCount__closure1(t2), t1);
    },
    $signature: 323
  };
  A.estimatedChildCountProvider__estimatedChildCount__closure0.prototype = {
    call$1(instance) {
      return this.expandableEstimatedChildCount.call$1(J.map$1$1$ax(instance.keys, new A.estimatedChildCountProvider__estimatedChildCount___closure0(), type$.PathToProperty));
    },
    $signature: 542
  };
  A.estimatedChildCountProvider__estimatedChildCount___closure0.prototype = {
    call$1(key) {
      return new A._$MapKeyPath(key.get$instanceRefId());
    },
    $signature: 543
  };
  A.estimatedChildCountProvider__estimatedChildCount__closure.prototype = {
    call$1(instance) {
      return this.expandableEstimatedChildCount.call$1(A.List_List$generate(instance.length, B.C__$PathToPropertyTearOff.get$listIndex(), true, type$.PathToProperty));
    },
    $signature: 544
  };
  A.estimatedChildCountProvider__estimatedChildCount__closure1.prototype = {
    call$1(instance) {
      var t1 = instance.fields;
      return this.expandableEstimatedChildCount.call$1(new A.MappedListIterable(t1, new A.estimatedChildCountProvider__estimatedChildCount___closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,PathToProperty>")));
    },
    $signature: 545
  };
  A.estimatedChildCountProvider__estimatedChildCount___closure.prototype = {
    call$1(field) {
      return new A._$PropertyPath(field.name, field.ownerUri, field.ownerName);
    },
    $signature: 546
  };
  A.InstanceViewer.prototype = {
    createState$0() {
      return new A._InstanceViewerState(A.ScrollController$(0), B._StateLifecycle_0);
    }
  };
  A._InstanceViewerState.prototype = {
    dispose$0() {
      this.scrollController.dispose$0();
      this.super$State$dispose();
    },
    _instance_viewer$_buildError$3(error, stackTrace, path) {
      var valueAsString, _null = null;
      if (error instanceof A.SentinelException0) {
        valueAsString = error.sentinel.valueAsString;
        if (valueAsString != null)
          return A._setArrayType([A.Text$(valueAsString, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_Widget);
      }
      return B.List_oVV;
    },
    _buildListViewItems$4$disableExpand$path(context, ref, disableExpand, path) {
      return A.AsyncValueX_when(ref.watch$1$1($.$get$instanceProvider().create$1(0, path), type$.AsyncValue_InstanceDetails), new A._InstanceViewerState__buildListViewItems_closure(this, ref, path, disableExpand, context), new A._InstanceViewerState__buildListViewItems_closure0(this, path), new A._InstanceViewerState__buildListViewItems_closure1(), type$.InstanceDetails, type$.Iterable_nullable_Widget);
    },
    _buildListViewItems$3$path(context, ref, path) {
      return this._buildListViewItems$4$disableExpand$path(context, ref, false, path);
    },
    _buildHeader$4$disableExpand$isExpanded$path(instance, disableExpand, isExpanded, path) {
      var t1 = !disableExpand && instance.get$isExpandable();
      return new A._Expandable(isExpanded, t1, instance.map$8$boolean$enumeration$list$map$nill$number$object$string(0, new A._InstanceViewerState__buildHeader_closure(), new A._InstanceViewerState__buildHeader_closure0(), new A._InstanceViewerState__buildHeader_closure1(), new A._InstanceViewerState__buildHeader_closure2(), new A._InstanceViewerState__buildHeader_closure3(), new A._InstanceViewerState__buildHeader_closure4(), new A._InstanceViewerState__buildHeader_closure5(), new A._InstanceViewerState__buildHeader_closure6()), new A.ValueKey(path, type$.ValueKey_InstancePath));
    },
    _buildHeader$3$disableExpand$path(instance, disableExpand, path) {
      return this._buildHeader$4$disableExpand$isExpanded$path(instance, disableExpand, null, path);
    },
    _buildMapItem$4$path(context, ref, instance, path) {
      return this._buildMapItem$body$_InstanceViewerState(context, ref, instance, path);
    },
    _buildMapItem$body$_InstanceViewerState($async$context, $async$ref, $async$instance, $async$path) {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var context = $async$context,
          ref = $async$ref,
          instance = $async$instance,
          path = $async$path;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4, t5, t6, value, keyHeader, isFirstItem;
        return function $async$_buildMapItem$4$path($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 = J.get$iterator$ax(instance.keys), t2 = type$.JSArray_Widget, t3 = type$.PathToProperty;
              case 2:
                // for condition
                if (!t1.moveNext$0()) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                t4 = t1.get$current(t1);
                t5 = t4.get$instanceRefId();
                t6 = A.List_List$of(path.get$pathToProperty(), true, t3);
                t6.push(new A._$MapKeyPath(t5));
                value = $async$self._buildListViewItems$3$path(context, ref, path.copyWith$1$pathToProperty(t6));
                keyHeader = $async$self._buildHeader$3$disableExpand$path(t4, true, path);
                t4 = J.get$iterator$ax(value), isFirstItem = true;
              case 4:
                // for condition
                if (!t4.moveNext$0()) {
                  // goto after for
                  $async$goto = 6;
                  break;
                }
                t5 = t4.get$current(t4);
                if (t5 != null)
                  t5 = new A.Padding(B.EdgeInsets_16_0_0_0, isFirstItem ? new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, null, B.VerticalDirection_1, null, A._setArrayType([keyHeader, B.Text_UWX, new A.Expanded(1, B.FlexFit_0, t5, null)], t2), null) : t5, null);
                else
                  t5 = B.SizedBox_null_null_null_null;
                $async$goto = 7;
                return t5;
              case 7:
                // after yield
              case 5:
                // for update
                isFirstItem = false;
                // goto for condition
                $async$goto = 4;
                break;
              case 6:
                // after for
                // 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);
            }
        };
      }, type$.Widget);
    },
    _buildListItem$4$path(context, ref, instance, path) {
      return this._buildListItem$body$_InstanceViewerState(context, ref, instance, path);
    },
    _buildListItem$body$_InstanceViewerState($async$context, $async$ref, $async$instance, $async$path) {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var context = $async$context,
          ref = $async$ref,
          instance = $async$instance,
          path = $async$path;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, index, t4, t5, isFirst, rowItem;
        return function $async$_buildListItem$4$path($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 = instance.length, t2 = type$.JSArray_Widget, t3 = type$.PathToProperty, index = 0;
              case 2:
                // for condition
                if (!(index < t1)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t4 = A.List_List$of(path.get$pathToProperty(), true, t3);
                t4.push(new A._$ListIndexPath(index));
                t4 = J.get$iterator$ax($async$self._buildListViewItems$3$path(context, ref, path.copyWith$1$pathToProperty(t4))), t5 = "[" + index + "]: ", isFirst = true;
              case 5:
                // for condition
                if (!t4.moveNext$0()) {
                  // goto after for
                  $async$goto = 6;
                  break;
                }
                rowItem = t4.get$current(t4);
                if (isFirst && rowItem != null) {
                  rowItem = new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, null, B.VerticalDirection_1, null, A._setArrayType([new A.Text(t5, null, null, null, null, null, null, null, null, null, null, null), new A.Expanded(1, B.FlexFit_0, rowItem, null)], t2), null);
                  isFirst = false;
                }
                $async$goto = 7;
                return rowItem != null ? new A.Padding(B.EdgeInsets_16_0_0_0, rowItem, null) : B.SizedBox_null_null_null_null;
              case 7:
                // after yield
                // goto for condition
                $async$goto = 5;
                break;
              case 6:
                // after for
              case 3:
                // for update
                ++index;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return A._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.Widget);
    },
    _buildObjectItem$4$path(context, ref, instance, path) {
      return this._buildObjectItem$body$_InstanceViewerState(context, ref, instance, path);
    },
    _buildObjectItem$body$_InstanceViewerState($async$context, $async$ref, $async$instance, $async$path) {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var context = $async$context,
          ref = $async$ref,
          instance = $async$instance,
          path = $async$path;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4, _i, field, t5, t6, t7, t8, isFirst, rowItem, t9;
        return function $async$_buildObjectItem$4$path($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 = instance.fields, t2 = t1.length, t3 = type$.JSArray_Widget, t4 = type$.PathToProperty, _i = 0;
              case 2:
                // for condition
                if (!(_i < t1.length)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                field = t1[_i];
                if (!$async$self._widget.showInternalProperties && field.isDefinedByDependency && B.JSString_methods.startsWith$1(field.name, "_")) {
                  // goto for update
                  $async$goto = 3;
                  break;
                }
                t5 = field.name;
                t6 = field.ownerUri;
                t7 = field.ownerName;
                t8 = A.List_List$of(path.get$pathToProperty(), true, t4);
                t8.push(new A._$PropertyPath(t5, t6, t7));
                t6 = J.get$iterator$ax($async$self._buildListViewItems$3$path(context, ref, path.copyWith$1$pathToProperty(t8))), t5 += ": ", t7 = field.isFinal, isFirst = true;
              case 5:
                // for condition
                if (!t6.moveNext$0()) {
                  // goto after for
                  $async$goto = 6;
                  break;
                }
                rowItem = t6.get$current(t6);
                if (isFirst && rowItem != null) {
                  t8 = A._setArrayType([], t3);
                  if (t7) {
                    t9 = A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4288585374 : B.Color_4285887861;
                    t8.push(new A.Text("final ", null, new A.TextStyle(true, t9, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null), null, null, null, null, null, null, null, null, null));
                  }
                  t8.push(new A.Text(t5, null, null, null, null, null, null, null, null, null, null, null));
                  t8.push(new A.Expanded(1, B.FlexFit_0, rowItem, null));
                  rowItem = new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, null, B.VerticalDirection_1, null, t8, null);
                  isFirst = false;
                }
                $async$goto = 7;
                return rowItem != null ? new A.Padding(B.EdgeInsets_16_0_0_0, rowItem, null) : B.SizedBox_null_null_null_null;
              case 7:
                // after yield
                // goto for condition
                $async$goto = 5;
                break;
              case 6:
                // after for
              case 3:
                // for update
                t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return A._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.Widget);
    },
    build$1(context) {
      var _this = this,
        t1 = _this.scrollController;
      return A.Scrollbar$(A.ListView$custom(new A.SliverIterableChildDelegate(J.cast$1$0$ax(_this._buildListViewItems$4$disableExpand$path(context, _this.get$ref(), true, _this._widget.rootPath), type$.nullable_Widget), _this.get$ref().watch$1$1($.$get$estimatedChildCountProvider().create$1(0, _this._widget.rootPath), type$.nullable_int)), t1, 20, B.EdgeInsets_16_8_16_8), t1, null, null, true);
    }
  };
  A._InstanceViewerState__buildListViewItems_closure1.prototype = {
    call$0() {
      return B.List_v1E;
    },
    $signature: 322
  };
  A._InstanceViewerState__buildListViewItems_closure0.prototype = {
    call$2(err, stack) {
      return this.$this._instance_viewer$_buildError$3(err, stack, this.path);
    },
    $signature: 548
  };
  A._InstanceViewerState__buildListViewItems_closure.prototype = {
    call$1(instance) {
      return this.$call$body$_InstanceViewerState__buildListViewItems_closure(instance);
    },
    $call$body$_InstanceViewerState__buildListViewItems_closure($async$instance) {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var instance = $async$instance;
        var $async$goto = 0, $async$handler = 1, $async$currentError, t4, t1, t2, t3, isExpanded;
        return function $async$call$1($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.ref;
                t2 = $async$self.path;
                t3 = $.$get$isExpandedProvider().create$1(0, t2);
                isExpanded = t1.watch$1$1(t3.get$state(t3), type$.StateController_bool);
                t3 = $async$self.$this;
                $async$goto = 2;
                return t3._buildHeader$4$disableExpand$isExpanded$path(instance, $async$self.disableExpand, isExpanded, t2);
              case 2:
                // after yield
                $async$goto = A.StateNotifier.prototype.get$state.call(isExpanded, isExpanded) ? 3 : 4;
                break;
              case 3:
                // then
                t4 = $async$self.context;
                $async$goto = 5;
                return A._IterationMarker_yieldStar(instance.maybeMap$4$list$map$object$orElse(new A._InstanceViewerState__buildListViewItems__closure(t3, t4, t1, t2), new A._InstanceViewerState__buildListViewItems__closure0(t3, t4, t1, t2), new A._InstanceViewerState__buildListViewItems__closure1(t3, t4, t1, t2), new A._InstanceViewerState__buildListViewItems__closure2()));
              case 5:
                // after yield
              case 4:
                // join
                // implicit return
                return A._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.nullable_Widget);
    },
    $signature: 549
  };
  A._InstanceViewerState__buildListViewItems__closure1.prototype = {
    call$1(instance) {
      var _this = this;
      return _this.$this._buildObjectItem$4$path(_this.context, _this.ref, instance, _this.path);
    },
    $signature: 550
  };
  A._InstanceViewerState__buildListViewItems__closure.prototype = {
    call$1(list) {
      var _this = this;
      return _this.$this._buildListItem$4$path(_this.context, _this.ref, list, _this.path);
    },
    $signature: 551
  };
  A._InstanceViewerState__buildListViewItems__closure0.prototype = {
    call$1(map) {
      var _this = this;
      return _this.$this._buildMapItem$4$path(_this.context, _this.ref, map, _this.path);
    },
    $signature: 552
  };
  A._InstanceViewerState__buildListViewItems__closure2.prototype = {
    call$0() {
      return B.List_empty28;
    },
    $signature: 322
  };
  A._InstanceViewerState__buildHeader_closure0.prototype = {
    call$1(instance) {
      var _null = null,
        t1 = instance.type,
        t2 = instance.value;
      return new A._EditableField(A.Text$rich(A.TextSpan$(A._setArrayType([A.TextSpan$(_null, _null, _null, B.TextStyle_MU4, t1), A.TextSpan$(_null, _null, _null, _null, "." + t2)], type$.JSArray_InlineSpan), _null, _null, _null, _null), _null, _null, _null, _null), t1 + "." + t2, instance.setter, _null);
    },
    $signature: 553
  };
  A._InstanceViewerState__buildHeader_closure3.prototype = {
    call$1(instance) {
      return new A._EditableField(B.Text_DSD, "null", instance.setter, null);
    },
    $signature: 554
  };
  A._InstanceViewerState__buildHeader_closure6.prototype = {
    call$1(instance) {
      var _null = null,
        t1 = instance.displayString;
      return new A._EditableField(A.Text$rich(A.TextSpan$(A._setArrayType([B.TextSpan_waZ, A.TextSpan$(_null, _null, _null, B.TextStyle_mT6, t1), B.TextSpan_waZ], type$.JSArray_InlineSpan), _null, _null, _null, _null), _null, _null, _null, _null), '"' + t1 + '"', instance.setter, _null);
    },
    $signature: 555
  };
  A._InstanceViewerState__buildHeader_closure4.prototype = {
    call$1(instance) {
      var _null = null,
        t1 = instance.displayString;
      return new A._EditableField(A.Text$(t1, _null, _null, _null, _null, _null, B.TextStyle_ifn, _null, _null, _null, _null), t1, instance.setter, _null);
    },
    $signature: 556
  };
  A._InstanceViewerState__buildHeader_closure.prototype = {
    call$1(instance) {
      var _null = null,
        t1 = instance.displayString;
      return new A._EditableField(A.Text$(t1, _null, _null, _null, _null, _null, B.TextStyle_1qL, _null, _null, _null, _null), t1, instance.setter, _null);
    },
    $signature: 557
  };
  A._InstanceViewerState__buildHeader_closure2.prototype = {
    call$1(instance) {
      var t1 = instance.keys,
        t2 = J.getInterceptor$asx(t1);
      if (t2.get$isEmpty(t1))
        t1 = null;
      else
        t1 = t2.get$length(t1) === 1 ? "1 element" : "" + t2.get$length(t1) + " elements";
      return new A._ObjectHeader(null, instance.hash, t1, "{", "}", null);
    },
    $signature: 558
  };
  A._InstanceViewerState__buildHeader_closure1.prototype = {
    call$1(instance) {
      var t1 = instance.length;
      if (t1 === 0)
        t1 = null;
      else
        t1 = t1 === 1 ? "1 element" : "" + t1 + " elements";
      return new A._ObjectHeader(null, instance.hash, t1, "[", "]", null);
    },
    $signature: 559
  };
  A._InstanceViewerState__buildHeader_closure5.prototype = {
    call$1(instance) {
      return new A._ObjectHeader(instance.type, instance.hash, null, "", "", null);
    },
    $signature: 560
  };
  A._ObjectHeader.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = A.Theme_of(context),
        t2 = A._setArrayType([], type$.JSArray_InlineSpan),
        t3 = _this.type;
      if (t3 != null)
        t2.push(A.TextSpan$(_null, _null, _null, B.TextStyle_MU4, t3));
      t3 = A.shortHash(_this.hash);
      t2.push(A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1.colorScheme.brightness === B.Brightness_1 ? B.Color_4288585374 : B.Color_4285887861, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "#" + t3));
      t2.push(A.TextSpan$(_null, _null, _null, _null, _this.startToken));
      t1 = _this.meta;
      if (t1 != null)
        t2.push(A.TextSpan$(_null, _null, _null, _null, t1));
      t2.push(A.TextSpan$(_null, _null, _null, _null, _this.endToken));
      return A.Text$rich(A.TextSpan$(t2, _null, _null, _null, _null), _null, _null, _null, _null);
    }
  };
  A._EditableField.prototype = {
    createState$0() {
      var _null = null;
      return new A._EditableFieldState(new A.TextEditingController(B.TextEditingValue_li8, $.$get$ChangeNotifier__emptyListeners()), A.FocusNode$(true, "editable-field", true, true, _null, _null, false), A.FocusNode$(true, "text-field", true, true, _null, _null, false), new A.Disposable(), B._StateLifecycle_0);
    }
  };
  A._EditableFieldState.prototype = {
    dispose$0() {
      var t1, _this = this;
      _this._isAlive.disposed = true;
      t1 = _this.controller;
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      _this.focusNode.dispose$0();
      _this.textFieldFocusNode.dispose$0();
      _this.super$State$dispose();
    },
    build$1(context) {
      var editingChild, t2, _this = this, _null = null,
        t1 = _this._widget;
      if (t1.setter == null)
        return t1.child;
      t1 = A.Theme_of(context).colorScheme.surface;
      editingChild = A.TextField$(true, _this.controller, _null, A.InputDecoration$(_null, new A.OutlineInputBorder(4, B.BorderRadius_tLn3, new A.BorderSide(t1, 1, B.BorderStyle_1, B.StrokeAlign_0)), _null, B.EdgeInsets_4_4_4_4, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _this.textFieldFocusNode, _null, _null, _null, _null, _null, new A._EditableFieldState_build_closure(_this, context), _null);
      t2 = A._setArrayType([], type$.JSArray_Widget);
      if (_this.isHovering)
        t2.push(A.Positioned$(-5, A.DecoratedBox$(_null, new A.BoxDecoration(_null, _null, A.Border_Border$all(t1, 1), B.BorderRadius_tLn0, _null, _null, _null, B.BoxShape_0), B.DecorationPosition_0), _null, _null, -5, -5, -5, _null));
      t2.push(A.GestureDetector$(B.HitTestBehavior_1, new A.Align(B.Alignment_m1_0, _null, 1, _this._widget.child, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._EditableFieldState_build_closure0(_this), _null, _null, _null, _null, _null, _null));
      return A.AnimatedBuilder$(_this.focusNode, new A._EditableFieldState_build_closure1(_this, editingChild, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_0, t2, _null)), _null);
    }
  };
  A._EditableFieldState_build_closure.prototype = {
    call$1(value) {
      return this.$call$body$_EditableFieldState_build_closure(value);
    },
    $call$body$_EditableFieldState_build_closure(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, setter, err, exception, t1, $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
              $async$handler = 3;
              setter = $async$self.$this._widget.setter;
              $async$goto = setter != null ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait(setter.call$1(value), $async$call$1);
            case 8:
              // returning from await.
            case 7:
              // join
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              err = A.unwrapException($async$exception);
              t1 = $async$self.context.dependOnInheritedWidgetOfExactType$1$0(type$._ScaffoldMessengerScope);
              t1.toString;
              t1._scaffoldMessengerState.showSnackBar$1(A.SnackBar$(null, null, null, null, B.Clip_1, A.Text$("Error: " + A.S(err), null, null, null, null, null, null, null, null, null, null), B.DismissDirection_5, B.Duration_4000000, null, null, null, null, null, null, null));
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 128
  };
  A._EditableFieldState_build_closure0.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1.focusNode.requestFocus$0();
      t1.textFieldFocusNode.requestFocus$0();
      t2 = t1.controller;
      t2.set$text(0, t1._widget.initialEditString);
      t2.set$selection(A.TextSelection$(B.TextAffinity_1, 0, t1._widget.initialEditString.length, false));
    },
    $signature: 0
  };
  A._EditableFieldState_build_closure1.prototype = {
    call$2(context, _) {
      var _null = null,
        t1 = this.$this,
        t2 = t1.focusNode,
        t3 = t2.get$hasFocus() ? this.editingChild : this.displayChild;
      return A.Focus$(false, _null, A.MouseRegion$(t3, B.C__DeferringMouseCursor, _null, new A._EditableFieldState_build__closure(t1), new A._EditableFieldState_build__closure0(t1), _null), _null, _null, _null, t2, true, _null, _null, new A._EditableFieldState_build__closure1(t1), _null, _null);
    },
    $signature: 561
  };
  A._EditableFieldState_build__closure1.prototype = {
    call$2(node, key) {
      if (key.data.get$physicalKey().$eq(0, B.PhysicalKeyboardKey_458793)) {
        this.$this.focusNode.unfocus$0();
        return B.KeyEventResult_0;
      }
      return B.KeyEventResult_1;
    },
    $signature: 72
  };
  A._EditableFieldState_build__closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      return t1.setState$1(new A._EditableFieldState_build___closure0(t1));
    },
    $signature: 49
  };
  A._EditableFieldState_build___closure0.prototype = {
    call$0() {
      return this.$this.isHovering = true;
    },
    $signature: 0
  };
  A._EditableFieldState_build__closure0.prototype = {
    call$1(_) {
      var t1 = this.$this;
      return t1.setState$1(new A._EditableFieldState_build___closure(t1));
    },
    $signature: 34
  };
  A._EditableFieldState_build___closure.prototype = {
    call$0() {
      return this.$this.isHovering = false;
    },
    $signature: 0
  };
  A._Expandable.prototype = {
    build$1(context) {
      var t1, t2, _this = this, _null = null;
      if (!_this.isExpandable)
        return new A.Align(B.Alignment_m1_0, _null, _null, _this.title, _null);
      t1 = _this.isExpanded;
      t1.toString;
      t2 = A.StateNotifier.prototype.get$state.call(t1, t1) ? 0 : -1.5707963267948966;
      return A.GestureDetector$(B.HitTestBehavior_1, A.Row$(A._setArrayType([new A.TweenAnimationBuilder(new A.Tween(_null, t2, type$.Tween_double), new A._Expandable_build_closure(), B.C__Linear, B.Duration_200000, _null, _null, type$.TweenAnimationBuilder_double), _this.title], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._Expandable_build_closure0(t1), _null, _null, _null, _null, _null, _null);
    }
  };
  A._Expandable_build_closure0.prototype = {
    call$0() {
      var t1 = this.isExpanded,
        t2 = !A.StateNotifier.prototype.get$state.call(t1, t1);
      t1.super$StateNotifier$state(0, t2);
      return t2;
    },
    $signature: 0
  };
  A._Expandable_build_closure.prototype = {
    call$3(context, angle, _) {
      return A.Transform$rotate(B.Alignment_0_0, angle, A.Icon$(B.IconData_57926_MaterialIcons_false, null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), null);
    },
    $signature: 563
  };
  A.Result0.prototype = {
    get$dataOrThrow() {
      return this.when$2$data$error(new A.Result_dataOrThrow_closure(this), A.core_Error_throwWithStackTrace$closure());
    }
  };
  A.Result_dataOrThrow_closure.prototype = {
    call$1(value) {
      return value;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("1(1)");
    }
  };
  A._$Result.prototype = {
    when$1$2$data$error(data, error) {
      return A.throwExpression($.$get$_privateConstructorUsedError0());
    },
    when$2$data$error(data, error) {
      return this.when$1$2$data$error(data, error, type$.nullable_Object);
    }
  };
  A._$_ResultData.prototype = {
    toString$0(_) {
      return "Result<" + A.createRuntimeType(this.$ti._precomputed1).toString$0(0) + ">.data(value: " + A.S(this.value) + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(_this) && _this.$ti._eval$1("_ResultData<1>")._is(other) && B.DeepCollectionEquality_false.equals$2(other.value, _this.value);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), B.DeepCollectionEquality_false.hash$1(0, this.value), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    when$1$2$data$error(data, error) {
      return data.call$1(this.value);
    },
    when$2$data$error(data, error) {
      return this.when$1$2$data$error(data, error, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1
  };
  A._ResultData.prototype = {};
  A._$_ResultError.prototype = {
    toString$0(_) {
      return "Result<" + A.createRuntimeType(this.$ti._precomputed1).toString$0(0) + ">.error(error: " + A.S(this.error) + ", stackTrace: " + this.stackTrace.toString$0(0) + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this !== other)
        t1 = J.get$runtimeType$(other) === A.getRuntimeType(_this) && _this.$ti._eval$1("_ResultError<1>")._is(other) && B.DeepCollectionEquality_false.equals$2(other.error, _this.error) && B.DeepCollectionEquality_false.equals$2(other.stackTrace, _this.stackTrace);
      else
        t1 = true;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), B.DeepCollectionEquality_false.hash$1(0, this.error), B.DeepCollectionEquality_false.hash$1(0, this.stackTrace), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    when$1$2$data$error(data, error) {
      return error.call$2(this.error, this.stackTrace);
    },
    when$2$data$error(data, error) {
      return this.when$1$2$data$error(data, error, type$.nullable_Object);
    },
    $isDiagnosticableTree: 1
  };
  A._ResultError.prototype = {};
  A._Result_Object__$Result.prototype = {};
  A.__$_ResultData__ResultData_DiagnosticableTreeMixin.prototype = {};
  A.__$_ResultError__ResultError_DiagnosticableTreeMixin.prototype = {};
  A.selectedProviderIdProvider_closure.prototype = {
    call$1(ref) {
      var controller = new A.StateController(new A.LinkedList(type$.LinkedList__ListenerEntry_nullable_String), null, type$.StateController_nullable_String);
      ref.listen$3$fireImmediately($.$get$sortedProviderNodesProvider(), new A.selectedProviderIdProvider__closure(controller), true);
      return controller;
    },
    $signature: 564
  };
  A.selectedProviderIdProvider__closure.prototype = {
    call$2(prev, value) {
      var t2,
        t1 = A.AsyncValueX_get_asData(value, type$.List_ProviderNode),
        nodes = t1 == null ? null : t1.value;
      if (nodes == null)
        return;
      t1 = this.controller;
      if (A.StateNotifier.prototype.get$state.call(t1, t1) == null) {
        t2 = J.getInterceptor$asx(nodes);
        if (t2.get$isNotEmpty(nodes))
          t1.super$StateNotifier$state(0, t2.get$first(nodes).id);
        return;
      }
      t2 = J.getInterceptor$asx(nodes);
      if (t2.get$isEmpty(nodes))
        t1.super$StateNotifier$state(0, null);
      else if (!t2.any$1(nodes, new A.selectedProviderIdProvider___closure(t1)))
        t1.super$StateNotifier$state(0, t2.get$first(nodes).id);
    },
    $signature: 565
  };
  A.selectedProviderIdProvider___closure.prototype = {
    call$1(node) {
      var t1 = this.controller;
      return node.id === A.StateNotifier.prototype.get$state.call(t1, t1);
    },
    $signature: 319
  };
  A.ProviderList.prototype = {
    createState$0() {
      return new A._ProviderListState(A.ScrollController$(0), B._StateLifecycle_0);
    }
  };
  A._ProviderListState.prototype = {
    dispose$0() {
      this.scrollController.dispose$0();
      this.super$State$dispose();
    },
    build$1(context) {
      return A.AsyncValueX_when(this.get$ref().watch$1$1($.$get$sortedProviderNodesProvider(), type$.AsyncValue_List_ProviderNode), new A._ProviderListState_build_closure(this), new A._ProviderListState_build_closure0(), new A._ProviderListState_build_closure1(), type$.List_ProviderNode, type$.Widget);
    }
  };
  A._ProviderListState_build_closure1.prototype = {
    call$0() {
      return B.Center_mtF;
    },
    $signature: 222
  };
  A._ProviderListState_build_closure0.prototype = {
    call$2(err, stack) {
      return B.Padding_SkJ;
    },
    $signature: 567
  };
  A._ProviderListState_build_closure.prototype = {
    call$1(nodes) {
      var _null = null,
        t1 = this.$this.scrollController;
      return A.Scrollbar$(A.ListView$builder(t1, new A._ProviderListState_build__closure(nodes), J.get$length$asx(nodes), _null, _null, false, B.Axis_1, false), t1, _null, _null, true);
    },
    $signature: 568
  };
  A._ProviderListState_build__closure.prototype = {
    call$2(context, index) {
      var node = J.$index$asx(this.nodes, index);
      return new A.ProviderNodeItem(node, new A.ValueKey("provider-" + node.id, type$.ValueKey_String));
    },
    $signature: 569
  };
  A.ProviderNodeItem.prototype = {
    build$2(context, ref) {
      var backgroundColor, _null = null,
        t1 = this.node,
        isSelected = J.$eq$(ref.watch$1$1($.$get$selectedProviderIdProvider(), type$.nullable_String), t1.id),
        t2 = A.Theme_of(context);
      if (isSelected)
        backgroundColor = t2.colorScheme.brightness === B.Brightness_1 ? B.Color_4292664540 : B.Color_4282992969;
      else
        backgroundColor = _null;
      return A.GestureDetector$(B.HitTestBehavior_1, A.Container$(_null, A.Text$(t1.type + "()", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.Clip_0, backgroundColor, _null, _null, _null, _null, _null, _null, B.EdgeInsets_16_4_4_4, _null, _null, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.ProviderNodeItem_build_closure(this, ref), _null, _null, _null, _null, _null, _null);
    }
  };
  A.ProviderNodeItem_build_closure.prototype = {
    call$0() {
      var t1 = $.$get$selectedProviderIdProvider().notifier;
      t1 = A.ProviderScope_containerOf(this.ref, false).read$1$1(0, t1, type$.StateController_nullable_String);
      J.getInterceptor$x(t1).super$StateNotifier$state(t1, this.$this.node.id);
    },
    $signature: 0
  };
  A.ProviderNode.prototype = {};
  A._providerListChanged_closure.prototype = {
    call$1(ref) {
      return this.$call$body$_providerListChanged_closure(ref);
    },
    $call$body$_providerListChanged_closure(ref) {
      var $async$call$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        switch ($async$errorCode) {
          case 2:
            $async$next = $async$nextWhenCanceled;
            $async$goto = $async$next.pop();
            break;
          case 1:
            $async$currentError = $async$result;
            $async$goto = $async$handler;
        }
        while (true)
          switch ($async$goto) {
            case 0:
              // Function start
              $async$goto = 3;
              return A._asyncStarHelper(ref.watch$1$1($.$get$serviceProvider().get$future(), type$.Future_VmServiceWrapper), $async$call$1, $async$controller);
            case 3:
              // returning from await.
              t1 = $async$result.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._getEventController$1("Extension");
              t2 = A._instanceType(t1)._eval$1("_BroadcastStream<1>");
              $async$goto = 4;
              $async$nextWhenCanceled = [1];
              return A._asyncStarHelper(A._IterationMarker_yieldStar(new A._WhereStream(new A._providerListChanged__closure(), new A._BroadcastStream(t1, t2), t2._eval$1("_WhereStream<Stream.T>"))), $async$call$1, $async$controller);
            case 4:
              // after yield
            case 1:
              // return
              return A._asyncStarHelper(null, 0, $async$controller);
            case 2:
              // rethrow
              return A._asyncStarHelper($async$currentError, 1, $async$controller);
          }
      });
      var $async$goto = 0,
        $async$controller = A._makeAsyncStarStreamController($async$call$1, type$.Event_2),
        $async$nextWhenCanceled, $async$handler = 2, $async$currentError, $async$next = [], t2, t1;
      return A._streamOfController($async$controller);
    },
    $signature: 570
  };
  A._providerListChanged__closure.prototype = {
    call$1($event) {
      return $event.extensionKind === "provider:provider_list_changed";
    },
    $signature: 324
  };
  A._rawProviderIdsProvider_closure.prototype = {
    call$1(ref) {
      return this.$call$body$_rawProviderIdsProvider_closure(ref);
    },
    $call$body$_rawProviderIdsProvider_closure(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_String),
        $async$returnValue, isAlive, $eval, providerIdRefs, t1, t2, t3, t4, providerIdInstances;
      var $async$call$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
              ref.watch$1$1($.$get$hotRestartEventProvider(), type$.ValueNotifier_void);
              ref.watch$1$1($.$get$_providerListChanged(), type$.AsyncValue_void);
              isAlive = new A.Disposable();
              ref.onDispose$1(isAlive.get$dispose());
              $async$goto = 3;
              return A._asyncAwait(ref.watch$1$1($.$get$providerEvalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$call$1);
            case 3:
              // returning from await.
              $eval = $async$result;
              $async$goto = 4;
              return A._asyncAwait($eval.evalInstance$2$isAlive("ProviderBinding.debugInstance.providerDetails.keys.toList()", isAlive), $async$call$1);
            case 4:
              // returning from await.
              providerIdRefs = $async$result;
              t1 = A._setArrayType([], type$.JSArray_Future_Instance);
              t2 = providerIdRefs.elements;
              t2.toString;
              t3 = A._arrayInstanceType(t2)._eval$1("CastList<1,InstanceRef>");
              t2 = new A.CastList(t2, t3);
              t2 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListMixin.E>"));
              t3 = t3._eval$1("ListMixin.E");
              for (; t2.moveNext$0();) {
                t4 = t2.__internal$_current;
                t1.push($eval.safeGetInstance$2(t4 == null ? t3._as(t4) : t4, isAlive));
              }
              $async$goto = 5;
              return A._asyncAwait(A.Future_wait(t1, type$.Instance), $async$call$1);
            case 5:
              // returning from await.
              providerIdInstances = $async$result;
              t1 = A._setArrayType([], type$.JSArray_String);
              for (t2 = J.get$iterator$ax(providerIdInstances); t2.moveNext$0();) {
                t3 = t2.get$current(t2);
                t3 = t3.get$valueAsString(t3);
                t3.toString;
                t1.push(t3);
              }
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 571
  };
  A._rawProviderNodeProvider_closure.prototype = {
    call$2(ref, id) {
      return this.$call$body$_rawProviderNodeProvider_closure(ref, id);
    },
    $call$body$_rawProviderNodeProvider_closure(ref, id) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ProviderNode),
        $async$returnValue, isAlive, $eval, type, t1, $async$temp1, $async$temp2;
      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
              ref.watch$1$1($.$get$hotRestartEventProvider(), type$.ValueNotifier_void);
              isAlive = new A.Disposable();
              ref.onDispose$1(isAlive.get$dispose());
              $async$goto = 3;
              return A._asyncAwait(ref.watch$1$1($.$get$providerEvalProvider().get$future(), type$.Future_EvalOnDartLibrary), $async$call$2);
            case 3:
              // returning from await.
              $eval = $async$result;
              $async$temp1 = A;
              $async$temp2 = $eval;
              $async$goto = 5;
              return A._asyncAwait($eval.evalInstance$2$isAlive("ProviderBinding.debugInstance.providerDetails['" + id + "']", isAlive), $async$call$2);
            case 5:
              // returning from await.
              $async$goto = 4;
              return A._asyncAwait(new $async$temp1._rawProviderNodeProvider_closure_getFieldWithName($async$temp2, $async$result, isAlive).call$1("type"), $async$call$2);
            case 4:
              // returning from await.
              type = $async$result;
              t1 = type.get$valueAsString(type);
              t1.toString;
              $async$returnValue = new A.ProviderNode(id, t1);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 572
  };
  A._rawProviderNodeProvider_closure_getFieldWithName.prototype = {
    call$1($name) {
      var t1 = this.providerNodeInstance.fields;
      t1.toString;
      return this.$eval.safeGetInstance$2(type$.InstanceRef._as(B.JSArray_methods.firstWhere$1(t1, new A._rawProviderNodeProvider__getFieldWithName_closure($name)).value), this.isAlive);
    },
    $signature: 573
  };
  A._rawProviderNodeProvider__getFieldWithName_closure.prototype = {
    call$1(e) {
      var t1 = e.decl;
      t1 = t1 == null ? null : t1.get$name(t1);
      return t1 === this.name;
    },
    $signature: 193
  };
  A.sortedProviderNodesProvider_closure.prototype = {
    call$1(ref) {
      return this.$call$body$sortedProviderNodesProvider_closure(ref);
    },
    $call$body$sortedProviderNodesProvider_closure(ref) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_ProviderNode),
        $async$returnValue, t1, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$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$temp1 = J;
              $async$temp2 = A;
              $async$temp3 = J;
              $async$goto = 4;
              return A._asyncAwait(ref.watch$1$1($.$get$_rawProviderIdsProvider().get$future(), type$.Future_List_String), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$temp2.Future_wait($async$temp3.map$1$1$ax($async$result, new A.sortedProviderNodesProvider__closure(ref), type$.Future_ProviderNode), type$.ProviderNode), $async$call$1);
            case 3:
              // returning from await.
              t1 = $async$temp1.toList$0$ax($async$result);
              B.JSArray_methods.sort$1(t1, new A.sortedProviderNodesProvider__closure0());
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 574
  };
  A.sortedProviderNodesProvider__closure.prototype = {
    call$1(id) {
      return this.ref.watch$1$1($.$get$_rawProviderNodeProvider().create$1(0, id).get$future(), type$.Future_ProviderNode);
    },
    $signature: 575
  };
  A.sortedProviderNodesProvider__closure0.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.type, b.type);
    },
    $signature: 576
  };
  A._hasErrorProvider_closure.prototype = {
    call$1(ref) {
      var selectedProviderId;
      if (ref.watch$1$1($.$get$sortedProviderNodesProvider(), type$.AsyncValue_List_ProviderNode) instanceof A.AsyncError0)
        return true;
      selectedProviderId = ref.watch$1$1($.$get$selectedProviderIdProvider(), type$.nullable_String);
      if (selectedProviderId == null)
        return false;
      return ref.watch$1$1($.$get$instanceProvider().create$1(0, new A._$_InstancePathFromProviderId(selectedProviderId, B.List_empty27)), type$.AsyncValue_InstanceDetails) instanceof A.AsyncError0;
    },
    $signature: 577
  };
  A._selectedProviderNode_closure.prototype = {
    call$1(ref) {
      var selectedId = ref.watch$1$1($.$get$selectedProviderIdProvider(), type$.nullable_String),
        t1 = A.AsyncValueX_get_asData(ref.watch$1$1($.$get$sortedProviderNodesProvider(), type$.AsyncValue_List_ProviderNode), type$.List_ProviderNode);
      return t1 == null ? null : A.IterableExtension_firstWhereOrNull(t1.value, new A._selectedProviderNode__closure(selectedId));
    },
    $signature: 578
  };
  A._selectedProviderNode__closure.prototype = {
    call$1(node) {
      return node.id === this.selectedId;
    },
    $signature: 319
  };
  A._showInternals_closure.prototype = {
    call$1(ref) {
      return false;
    },
    $signature: 579
  };
  A.ProviderScreen.prototype = {
    build$1(context) {
      return B.ProviderScreenWrapper_null;
    }
  };
  A.ProviderScreenWrapper.prototype = {
    createState$0() {
      return new A._ProviderScreenWrapperState(B._StateLifecycle_0);
    }
  };
  A._ProviderScreenWrapperState.prototype = {
    initState$0() {
      this.super$State$initState();
      A.screen("provider");
    },
    build$1(context) {
      return B.ProviderScreenBody_null;
    }
  };
  A.ProviderScreenBody.prototype = {
    build$2(context, ref) {
      var t2, detailsTitleText, t3, t4, _null = null,
        splitAxis = A.Split_axisFor(context, 0.85),
        selectedProviderId = ref.watch$1$1($.$get$selectedProviderIdProvider(), type$.nullable_String),
        t1 = selectedProviderId != null;
      if (t1) {
        t2 = ref.watch$1$1($.$get$_selectedProviderNode(), type$.nullable_ProviderNode);
        t2 = t2 == null ? _null : t2.type;
        detailsTitleText = t2 == null ? "" : t2;
      } else
        detailsTitleText = "[No provider selected]";
      t2 = $.$get$_hasErrorProvider();
      ref._consumer$_listeners.push(ref.get$_consumer$_container().listen$3$onError(t2, new A.ProviderScreenBody_build_closure(context), _null));
      t2 = A.Column$(B.List_YiR, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
      t3 = A.Text$(detailsTitleText, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t4 = type$.JSArray_Widget;
      t3 = A._setArrayType([A.AreaPaneHeader$(A._setArrayType([A.SettingsOutlinedButton$(new A.ProviderScreenBody_build_closure0(context), _null)], t4), 1, true, false, false, 4, t3)], t4);
      if (t1)
        t3.push(A.Expanded$(new A.InstanceViewer(new A._$_InstancePathFromProviderId(selectedProviderId, B.List_empty27), ref.watch$1$1($.$get$_showInternals(), type$.bool), _null), 1));
      return A.Split$(splitAxis, A._setArrayType([new A.OutlineDecoration(t2, _null), new A.OutlineDecoration(A.Column$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null)], t4), B.List_O9m0, _null, _null);
    }
  };
  A.ProviderScreenBody_build_closure.prototype = {
    call$2(_, hasError) {
      var _null = null;
      if (hasError)
        A.Provider_of(this.context, false, type$.BannerMessagesController).addMessage$1(A._BannerError$(new A.ValueKey("ProviderUnknownErrorBanner - provider", type$.ValueKey_String), "provider", A._setArrayType([A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_4294967295, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "DevTools failed to connect with package:provider.\n\nThis could be caused by an older version of package:provider; please make sure that you are using version >=5.0.0.")], type$.JSArray_TextSpan)));
    },
    $signature: 580
  };
  A.ProviderScreenBody_build_closure0.prototype = {
    call$0() {
      A.showDialog(true, new A.ProviderScreenBody_build__closure(), this.context, type$.dynamic);
    },
    $signature: 0
  };
  A.ProviderScreenBody_build__closure.prototype = {
    call$1(_) {
      return new A._StateInspectorSettingsDialog(null);
    },
    $signature: 581
  };
  A._StateInspectorSettingsDialog.prototype = {
    build$2(context, ref) {
      var _null = null,
        t1 = A.Text$("State inspector configurations", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null),
        t2 = type$.JSArray_Widget,
        t3 = A.Column$(A._setArrayType([A.InkWell$(false, _null, true, A.Row$(A._setArrayType([A.Checkbox$(_null, new A._StateInspectorSettingsDialog_build_closure(ref), false, ref.watch$1$1($.$get$_showInternals(), type$.nullable_bool)), B.Text_K7U], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._StateInspectorSettingsDialog_build_closure0(ref), _null, _null, _null, _null, _null, _null)], t2), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t2), t3, true, true, t1);
    }
  };
  A._StateInspectorSettingsDialog_build_closure0.prototype = {
    call$0() {
      var t2, t3,
        t1 = $.$get$_showInternals().notifier;
      t1 = A.ProviderScope_containerOf(this.ref, false).read$1$1(0, t1, type$.StateController_bool);
      t2 = J.getInterceptor$x(t1);
      t3 = new A._StateInspectorSettingsDialog_build__closure().call$1(A.StateNotifier.prototype.get$state.call(t2, t1));
      t2.super$StateNotifier$state(t1, t3);
      return t3;
    },
    $signature: 0
  };
  A._StateInspectorSettingsDialog_build__closure.prototype = {
    call$1(state) {
      return !state;
    },
    $signature: 156
  };
  A._StateInspectorSettingsDialog_build_closure.prototype = {
    call$1(_) {
      var t2, t3,
        t1 = $.$get$_showInternals().notifier;
      t1 = A.ProviderScope_containerOf(this.ref, false).read$1$1(0, t1, type$.StateController_bool);
      t2 = J.getInterceptor$x(t1);
      t3 = new A._StateInspectorSettingsDialog_build__closure0().call$1(A.StateNotifier.prototype.get$state.call(t2, t1));
      t2.super$StateNotifier$state(t1, t3);
      return t3;
    },
    $signature: 31
  };
  A._StateInspectorSettingsDialog_build__closure0.prototype = {
    call$1(state) {
      return !state;
    },
    $signature: 156
  };
  A.ErrorLoggerObserver.prototype = {
    didAddProvider$3(provider, value, container) {
      this._maybeLogError$2(provider, value);
    },
    didUpdateProvider$4(provider, previousValue, newValue, container) {
      this._maybeLogError$2(provider, newValue);
    },
    _maybeLogError$2(provider, value) {
      var t1, stackTrace;
      if (value instanceof A.AsyncError0) {
        t1 = value.error;
        if (t1 instanceof A.SentinelException0)
          return;
        A.log("Provider " + provider.toString$0(0) + ' failed with "' + A.S(t1) + '"', B.LogLevel_2);
        stackTrace = value.stackTrace;
        if (stackTrace != null)
          A.log(stackTrace, B.LogLevel_0);
      }
    }
  };
  A.IsolateStatisticsView.prototype = {
    get$showIsolateSelector() {
      return true;
    },
    build$1(context) {
      return new A.IsolateStatisticsViewBody(A.IsolateStatisticsViewController$(), null);
    }
  };
  A.IsolateStatisticsViewBody.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller._refreshing, new A.IsolateStatisticsViewBody_build_closure(this), null, null, type$.ValueListenableBuilder_bool);
    }
  };
  A.IsolateStatisticsViewBody_build_closure.prototype = {
    call$3(context, refreshing, _) {
      var _null = null,
        t1 = this.$this.controller,
        t2 = type$.JSArray_Widget;
      return A.Column$(A._setArrayType([A.Row$(A._setArrayType([A.RefreshButton$("Refresh", _null, t1.get$refresh(t1), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), new A.Flexible(1, B.FlexFit_1, A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, A.Row$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.GeneralIsolateStatisticsWidget(t1, _null), _null), new A.Flexible(1, B.FlexFit_1, new A.IsolateMemoryStatisticsWidget(t1, _null), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null), new A.Flexible(1, B.FlexFit_1, new A.TagStatisticsWidget(new A._TagColumn("Tag", _null, _null, _null, B.ColumnAlignment_0), new A._PercentageColumn("Percentage", _null, _null, _null, B.ColumnAlignment_1), t1, _null), _null), new A.Flexible(1, B.FlexFit_1, new A.ServiceExtensionsWidget(new A._ServiceExtensionNameColumn("Name", _null, _null, _null, B.ColumnAlignment_0), t1, _null), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null), new A.Flexible(1, B.FlexFit_1, new A.IsolatePortsWidget(t1, _null), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 295
  };
  A.GeneralIsolateStatisticsWidget.prototype = {
    _isolate_statistics_view$_startTime$1(isolate) {
      var startedAtFormatter, t1;
      if (isolate == null)
        return null;
      startedAtFormatter = A.DateFormat$yMMMMd().addPattern$1("jms");
      t1 = isolate.startTime;
      t1.toString;
      return startedAtFormatter.format$1(0, A.DateTime$fromMillisecondsSinceEpoch(t1, false).toLocal$0());
    },
    _uptime$1(isolate) {
      var uptimeFormatter, t1, t2;
      if (isolate == null)
        return null;
      uptimeFormatter = A.DateFormat$Hms();
      t1 = Date.now();
      t2 = isolate.startTime;
      t2.toString;
      return uptimeFormatter.format$1(0, A.DateTime$_withValue(t1 - B.JSInt_methods._tdivFast$1(A.Duration$(0, t2)._duration, 1000), false).toUtc$0());
    },
    build$1(context) {
      var t6, _null = null,
        isolate = this.controller._isolate_statistics_view_controller$_isolate,
        t1 = isolate == null,
        t2 = t1 ? _null : isolate.name,
        t3 = type$.MapEntry_dynamic_dynamic,
        t4 = this._isolate_statistics_view$_startTime$1(isolate),
        t5 = this._uptime$1(isolate);
      if (t1)
        t6 = _null;
      else {
        t6 = isolate.rootLib;
        t6 = t6 == null ? _null : t6.get$uri();
      }
      t1 = t1 ? _null : isolate.id;
      return new A.VMInfoCard("General", A._setArrayType([new A.MapEntry("Name", t2, t3), new A.MapEntry("Started at", t4, t3), new A.MapEntry("Uptime", t5, t3), new A.MapEntry("Root Library", t6, t3), new A.MapEntry("ID", t1, t3)], type$.JSArray_MapEntry_dynamic_dynamic), _null, _null);
    }
  };
  A.IsolateMemoryStatisticsWidget.prototype = {
    _buildMemoryString$2(usage, capacity) {
      if (usage == null || capacity == null)
        return "--";
      return A.S(A.prettyPrintBytes(usage, true, 0, 1, 1)) + " of " + A.S(A.prettyPrintBytes(capacity, true, 0, 1, 1));
    },
    build$1(context) {
      var t3, t4, t5, _this = this, _null = null,
        isolate = _this.controller._isolate_statistics_view_controller$_isolate,
        t1 = isolate == null,
        t2 = t1 ? _null : A.IsolatePrivateViewExtension_get_newSpaceUsage(isolate) + A.IsolatePrivateViewExtension_get_oldSpaceUsage(isolate);
      t2 = _this._buildMemoryString$2(t2, t1 ? _null : A.IsolatePrivateViewExtension_get_newSpaceCapacity(isolate) + A.IsolatePrivateViewExtension_get_oldSpaceCapacity(isolate));
      t3 = type$.MapEntry_dynamic_dynamic;
      t4 = t1 ? _null : A.IsolatePrivateViewExtension_get_newSpaceUsage(isolate);
      t4 = _this._buildMemoryString$2(t4, t1 ? _null : A.IsolatePrivateViewExtension_get_newSpaceUsage(isolate));
      t5 = t1 ? _null : A.IsolatePrivateViewExtension_get_oldSpaceUsage(isolate);
      return A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.VMInfoCard("Memory", A._setArrayType([new A.MapEntry("Dart Heap", t2, t3), new A.MapEntry("New Space", t4, t3), new A.MapEntry("Old Space", _this._buildMemoryString$2(t5, t1 ? _null : A.IsolatePrivateViewExtension_get_oldSpaceCapacity(isolate)), t3)], type$.JSArray_MapEntry_dynamic_dynamic), _null, _null), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.TagStatisticsWidget.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.controller,
        t2 = t1.cpuProfilerController;
      if (t2.get$profilerEnabled()) {
        t2 = this.percentage;
        t2 = A.FlatTable$(_null, false, A._setArrayType([this.name, t2], type$.JSArray_ColumnData_VMTag), new A.UnmodifiableListView(t1._tags, type$.UnmodifiableListView_VMTag), _null, new A.TagStatisticsWidget_build_closure(), new A.TagStatisticsWidget_build_closure0(), _null, _null, _null, _null, t2, B.SortDirection_1, type$.VMTag);
        t1 = t2;
      } else
        t1 = new A.CpuProfilerDisabled(t2, _null);
      return new A.VMInfoCard("Execution Time", _null, new A.Flexible(1, B.FlexFit_1, t1, _null), _null);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.TagStatisticsWidget_build_closure.prototype = {
    call$1(tag) {
      return new A.ValueKey(tag.name, type$.ValueKey_String);
    },
    $signature: 584
  };
  A.TagStatisticsWidget_build_closure0.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 585
  };
  A._TagColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.name;
    }
  };
  A._PercentageColumn.prototype = {
    getValue$1(dataObject) {
      return dataObject.percentage;
    },
    getDisplayValue$1(dataObject) {
      return B.JSNumber_methods.toStringAsFixed$1(dataObject.percentage * 100, 2) + "%";
    }
  };
  A._PortIDColumn.prototype = {
    getValue$1(port) {
      return J.toString$0$(port.get$portId());
    }
  };
  A._PortNameColumn.prototype = {
    getValue$1(port) {
      var debugName = port.get$debugName();
      return debugName.length === 0 ? "N/A" : debugName;
    }
  };
  A._StackTraceViewerFrameColumn.prototype = {
    getValue$1(frame) {
      return frame;
    },
    compare$2(f1, f2) {
      return B.JSInt_methods.compareTo$1(A.int_parse(J.substring$1$s(B.JSArray_methods.get$first(f1.split(" ")), 1), null), A.int_parse(J.substring$1$s(B.JSArray_methods.get$first(f2.split(" ")), 1), null));
    }
  };
  A.StackTraceViewerWidget.prototype = {
    build$1(context) {
      var lines, t2, _null = null,
        t1 = this.stackTrace;
      if (t1 == null)
        lines = _null;
      else {
        t1 = t1.get$allocationLocation();
        if (t1 == null)
          lines = _null;
        else {
          t1 = t1.get$valueAsString(t1);
          if (t1 == null)
            t1 = _null;
          else {
            t2 = type$.WhereIterable_String;
            t2 = A.List_List$of(new A.WhereIterable(A._setArrayType(t1.split("\n"), type$.JSArray_String), new A.StackTraceViewerWidget_build_closure(), t2), true, t2._eval$1("Iterable.E"));
            t1 = t2;
          }
          lines = t1;
        }
      }
      if (lines == null)
        t1 = B.Expanded_AKW;
      else {
        t1 = this.frame;
        t1 = new A.Flexible(1, B.FlexFit_1, A.FlatTable$(_null, false, A._setArrayType([t1], type$.JSArray_ColumnData_String), lines, _null, new A.StackTraceViewerWidget_build_closure0(), new A.StackTraceViewerWidget_build_closure1(), _null, _null, _null, _null, t1, B.SortDirection_0, type$.String), _null);
      }
      return new A.VMInfoList("Allocation Location", _null, t1, _null);
    }
  };
  A.StackTraceViewerWidget_build_closure.prototype = {
    call$1(e) {
      return e.length !== 0;
    },
    $signature: 6
  };
  A.StackTraceViewerWidget_build_closure0.prototype = {
    call$1(s) {
      return new A.ValueKey(s, type$.ValueKey_String);
    },
    $signature: 318
  };
  A.StackTraceViewerWidget_build_closure1.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 12
  };
  A.IsolatePortsWidget.prototype = {
    createState$0() {
      var _null = null;
      return new A._IsolatePortsWidgetState(new A._PortIDColumn("ID", _null, _null, _null, B.ColumnAlignment_0), new A._PortNameColumn("Name", _null, _null, _null, B.ColumnAlignment_0), new A.ValueNotifier(_null, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_nullable_InstanceRef), B._StateLifecycle_0);
    }
  };
  A._IsolatePortsWidgetState.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this._widget.controller._ports,
        t2 = _this.id,
        t3 = _this.selectedPort,
        t4 = type$.JSArray_Widget;
      return A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.VMInfoCard("Open Ports (" + J.get$length$asx(t1) + ")", _null, new A.Flexible(1, B.FlexFit_1, A.Split$(B.Axis_0, A._setArrayType([A.FlatTable$(_null, false, A._setArrayType([_this.name, t2], type$.JSArray_ColumnData_InstanceRef), new A.UnmodifiableListView(t1, type$.UnmodifiableListView_InstanceRef), _null, new A._IsolatePortsWidgetState_build_closure(), new A._IsolatePortsWidgetState_build_closure0(_this), _null, _null, _null, t3, t2, B.SortDirection_0, type$.nullable_InstanceRef), new A.StackTraceViewerWidget(t3._change_notifier$_value, new A._StackTraceViewerFrameColumn("Frame", _null, _null, _null, B.ColumnAlignment_0), _null)], t4), B.List_ckG, _null, _null), _null), _null), _null)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A._IsolatePortsWidgetState_build_closure.prototype = {
    call$1(port) {
      var t1 = port.get$debugName();
      t1.toString;
      return new A.ValueKey(t1, type$.ValueKey_String);
    },
    $signature: 587
  };
  A._IsolatePortsWidgetState_build_closure0.prototype = {
    call$1(port) {
      var t1 = this.$this;
      return t1.setState$1(new A._IsolatePortsWidgetState_build__closure(t1, port));
    },
    $signature: 588
  };
  A._IsolatePortsWidgetState_build__closure.prototype = {
    call$0() {
      var t1 = this.port,
        t2 = this.$this.selectedPort;
      if (t1.$eq(0, t2._change_notifier$_value))
        t2.set$value(0, null);
      else
        t2.set$value(0, t1);
    },
    $signature: 0
  };
  A._ServiceExtensionNameColumn.prototype = {
    getValue$1(s) {
      return s;
    }
  };
  A.ServiceExtensionsWidget.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.controller._isolate_statistics_view_controller$_isolate,
        extensions = t1 == null ? _null : t1.extensionRPCs;
      if (extensions == null)
        extensions = A._setArrayType([], type$.JSArray_String);
      t1 = this.name;
      return new A.VMInfoCard("Service Extensions (" + extensions.length + ")", _null, new A.Flexible(1, B.FlexFit_1, A.FlatTable$(_null, false, A._setArrayType([t1], type$.JSArray_ColumnData_String), extensions, _null, new A.ServiceExtensionsWidget_build_closure(), new A.ServiceExtensionsWidget_build_closure0(), _null, _null, _null, _null, t1, B.SortDirection_0, type$.String), _null), _null);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ServiceExtensionsWidget_build_closure.prototype = {
    call$1(extension) {
      return new A.ValueKey(extension, type$.ValueKey_String);
    },
    $signature: 318
  };
  A.ServiceExtensionsWidget_build_closure0.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 12
  };
  A.IsolateStatisticsViewController.prototype = {
    IsolateStatisticsViewController$0() {
      var _this = this,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager.flag$1("profiler");
      if (t1 != null)
        t1.addListener$1(0, new A.IsolateStatisticsViewController_closure(_this));
      _this.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate, new A.IsolateStatisticsViewController_closure0(_this));
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
      t1.toString;
      _this.switchToIsolate$1(t1);
    },
    refresh$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$refresh$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._isolate_statistics_view_controller$_isolate;
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait($async$self.switchToIsolate$1(t1), $async$refresh$0);
            case 3:
              // 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$refresh$0, $async$completer);
    },
    switchToIsolate$1(isolateRef) {
      return this.switchToIsolate$body$IsolateStatisticsViewController(isolateRef);
    },
    switchToIsolate$body$IsolateStatisticsViewController(isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, t5, t6, t1;
      var $async$switchToIsolate$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._refreshing;
              t1.set$value(0, true);
              t2 = isolateRef.get$id(isolateRef);
              t2.toString;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t4 = t3.__VmServiceWrapper__vmService;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t5 = type$.dynamic;
              t6 = type$.Isolate;
              $async$goto = 2;
              return A._asyncAwait(t3.trackFuture$1$2("getIsolate", t4._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t5, t5), t6), t6), $async$switchToIsolate$1);
            case 2:
              // returning from await.
              t6 = $async$result;
              $async$self._isolate_statistics_view_controller$_isolate = t6;
              t6.toString;
              $async$self._updateTagCounters$1(t6);
              $async$goto = 3;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.getPorts$1(t2), $async$switchToIsolate$1);
            case 3:
              // returning from await.
              t2 = $async$result.ports;
              t2.toString;
              $async$self._ports = t2;
              t6 = t6.extensionRPCs;
              t2 = t6 == null ? A._setArrayType([], type$.JSArray_String) : t6;
              $async$self._isolate_statistics_view_controller$_serviceExtensions = t2;
              B.JSArray_methods.sort$0(t2);
              t1.set$value(0, false);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$switchToIsolate$1, $async$completer);
    },
    _updateTagCounters$1(isolate) {
      var t2, names, counters, percentages, totalTickCount, i, t3, t4,
        t1 = isolate.json;
      t1.toString;
      t1 = J.$index$asx(t1, "_tagCounters");
      t2 = J.getInterceptor$asx(t1);
      names = t2.$index(t1, "names");
      counters = J.cast$1$0$ax(t2.$index(t1, "counters"), type$.int);
      percentages = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.double);
      for (t1 = J.getInterceptor$asx(counters), t2 = J.getInterceptor$asx(names), totalTickCount = 0, i = 0; i < t1.get$length(counters); ++i) {
        if (J.$eq$(t1.$index(counters, i), 0))
          continue;
        percentages.$indexSet(0, t2.$index(names, i), t1.$index(counters, i));
        totalTickCount += t1.$index(counters, i);
      }
      t1 = A._setArrayType([], type$.JSArray_VMTag);
      for (t2 = A.LinkedHashMapKeyIterator$(percentages, percentages._modifications, percentages.$ti._precomputed1); t2.moveNext$0();) {
        t3 = t2.__js_helper$_current;
        t4 = percentages.$index(0, t3);
        t4.toString;
        t1.push(new A.VMTag(t3, t4 / totalTickCount));
      }
      this._tags = t1;
    }
  };
  A.IsolateStatisticsViewController_closure.prototype = {
    call$0() {
      return this.$this.refresh$0(0);
    },
    $signature: 0
  };
  A.IsolateStatisticsViewController_closure0.prototype = {
    call$0() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate._change_notifier$_value;
      t1.toString;
      this.$this.switchToIsolate$1(t1);
    },
    $signature: 0
  };
  A.VMTag.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A._IsolateStatisticsViewController_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A.VMInfoCard.prototype = {
    build$1(context) {
      var _null = null;
      return A.Card$(new A.VMInfoList(this.title, this.rowKeyValues, this.table, _null), _null, _null, _null, _null, _null);
    }
  };
  A.VMInfoList.prototype = {
    build$1(context) {
      var t3, t4, t5, _i, row, t6, t7, _this = this, _null = null,
        _s10_ = "RobotoMono",
        theme = A.Theme_of(context),
        rowKeyValues = _this.rowKeyValues,
        table = _this.table,
        listScrollController = A.ScrollController$(0),
        t1 = type$.JSArray_Widget,
        t2 = A._setArrayType([A.AreaPaneHeader$(B.List_empty17, 1, true, false, false, 4, A.Text$(_this.title, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null))], t1);
      if (rowKeyValues != null) {
        t3 = A._setArrayType([], type$.JSArray_Row);
        for (t4 = rowKeyValues.length, t5 = theme.textTheme.bodyMedium, _i = 0; _i < rowKeyValues.length; rowKeyValues.length === t4 || (0, A.throwConcurrentModificationError)(rowKeyValues), ++_i) {
          row = rowKeyValues[_i];
          t6 = A.SelectableText$(A.S(J.toString$0$(row.key)) + ":", _null, _null, _null, t5.copyWith$1$fontFamily(_s10_), _null);
          t7 = row.value;
          t7 = t7 == null ? _null : J.toString$0$(t7);
          if (t7 == null)
            t7 = "--";
          t3.push(new A.Row(B.Axis_0, B.MainAxisAlignment_3, B.MainAxisSize_1, B.CrossAxisAlignment_2, _null, B.VerticalDirection_1, _null, A._setArrayType([t6, B.SizedBox_8_null_null_null, new A.Flexible(1, B.FlexFit_1, A.SelectableText$(t7, _null, _null, _null, t5.copyWith$1$fontFamily(_s10_), _null), _null)], t1), _null));
        }
        t2.push(A.Expanded$(A.Scrollbar$(A.ListView$(_this._prettyRows$2(context, t3), listScrollController, _null, _null, _null, _null, false), listScrollController, _null, _null, true), 1));
      }
      if (table != null)
        t2.push(table);
      return A.Column$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _prettyRows$2(context, rows) {
      var i, t2, t3, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Widget);
      for (i = 0; i < rows.length; ++i) {
        t2 = rows[i];
        t3 = A.Theme_of(context).colorScheme;
        if (B.JSInt_methods.$mod(i, 2) === 1)
          t3 = t3.brightness === B.Brightness_1 ? B.Color_4294638330 : B.Color_4281348144;
        else if (t3.brightness === B.Brightness_1)
          t3 = A.ColorExtension_darken(B.Color_4294638330, 0.05);
        else
          t3 = A.ColorExtension_brighten(B.Color_4281348144);
        t1.push(A.Container$(_null, t2, B.Clip_0, t3, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.EdgeInsets_16_0_16_0, _null, _null, _null));
      }
      return t1;
    }
  };
  A.VMDeveloperToolsController.prototype = {
    selectIndex$1(index) {
      this._vm_developer_tools_controller$_selectedIndex.set$value(0, index);
      this._showIsolateSelector.set$value(0, $.$get$VMDeveloperToolsScreenBody_views()[index].get$showIsolateSelector());
    }
  };
  A.VMDeveloperView.prototype = {
    get$showIsolateSelector() {
      return false;
    }
  };
  A.VMDeveloperToolsScreen.prototype = {
    get$showIsolateSelector() {
      return this.controller._showIsolateSelector;
    },
    build$1(context) {
      return B.VMDeveloperToolsScreenBody_null;
    }
  };
  A.VMDeveloperToolsScreenBody.prototype = {
    createState$0() {
      return new A._VMDeveloperToolsScreenState(null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._VMDeveloperToolsScreenState.prototype = {
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      return new A.ValueListenableBuilder(this.ProvidedControllerMixin__controller._vm_developer_tools_controller$_selectedIndex, new A._VMDeveloperToolsScreenState_build_closure(this), null, null, type$.ValueListenableBuilder_int);
    }
  };
  A._VMDeveloperToolsScreenState_build_closure.prototype = {
    call$3(context, selectedIndex, _) {
      var t2, t3, t4, t5, _i, view, t6, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Widget);
      if ($.$get$VMDeveloperToolsScreenBody_views().length > 1) {
        t2 = this.$this.ProvidedControllerMixin__controller.get$selectIndex();
        t3 = A._setArrayType([], type$.JSArray_NavigationRailDestination);
        for (t4 = $.$get$VMDeveloperToolsScreenBody_views(), t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          view = t4[_i];
          t6 = new A.Icon(view.icon, _null, _null, _null);
          t3.push(new A.NavigationRailDestination(t6, t6, new A.Text(view.title, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)));
        }
        t1.push(new A.NavigationRail(t3, selectedIndex, t2, 10, B.NavigationRailLabelType_2, _null));
      }
      t1.push(A.Expanded$(new A.Padding(B.EdgeInsets_16_0_0_0, $.$get$VMDeveloperToolsScreenBody_views()[selectedIndex].build$1(context), _null), 1));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 589
  };
  A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.VMStatisticsView.prototype = {
    build$1(context) {
      var t1 = type$.JSArray_Isolate;
      t1 = new A.VMStatisticsViewController(new A.ValueNotifier(true, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), A._setArrayType([], t1), A._setArrayType([], t1));
      t1.refresh$0(0);
      return new A.VMStatisticsViewBody(t1, null);
    }
  };
  A.VMStatisticsViewBody.prototype = {
    build$1(context) {
      var t1 = this.controller;
      return new A.ValueListenableBuilder(t1._vm_statistics_view_controller$_refreshing, new A.VMStatisticsViewBody_build_closure(this), A.RefreshButton$("Refresh", null, t1.get$refresh(t1), null), null, type$.ValueListenableBuilder_bool);
    }
  };
  A.VMStatisticsViewBody_build_closure.prototype = {
    call$3(context, refreshing, child) {
      var t1, _null = null;
      child.toString;
      t1 = type$.JSArray_Widget;
      return A.Column$(A._setArrayType([A.Row$(A._setArrayType([child], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), A.Expanded$(new A.VMStatisticsWidget(this.$this.controller, _null), 1)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 590
  };
  A.VMStatisticsWidget.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.controller,
        t2 = type$.JSArray_Widget;
      return A.Row$(A._setArrayType([new A.Flexible(3, B.FlexFit_1, A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, new A.GeneralVMStatisticsWidget(t1, _null), _null), new A.Flexible(1, B.FlexFit_1, new A.ProcessStatisticsWidget(t1, _null), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null), new A.Flexible(4, B.FlexFit_1, A.Column$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, A.IsolatesPreviewWidget$(t1, false), _null), new A.Flexible(1, B.FlexFit_1, A.IsolatesPreviewWidget$(t1, true), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    }
  };
  A.GeneralVMStatisticsWidget.prototype = {
    build$1(context) {
      var t5, t6, t7, _null = null,
        vm = this.controller._vm_statistics_view_controller$_vm,
        t1 = vm == null,
        t2 = t1 ? _null : vm.name,
        t3 = type$.MapEntry_dynamic_dynamic,
        t4 = t1 ? _null : vm.version;
      if (t1)
        t5 = _null;
      else {
        t5 = vm.json;
        t5.toString;
        t5 = J.$index$asx(t5, "_embedder");
      }
      if (t1)
        t6 = _null;
      else {
        t6 = vm.startTime;
        t6.toString;
        t6 = A.DateTime$fromMillisecondsSinceEpoch(t6, false);
        t6 = A.DateFormat$("H:mm:ss.S", _null).format$1(0, t6);
      }
      if (t1)
        t7 = _null;
      else {
        t7 = vm.json;
        t7.toString;
        t7 = J.$index$asx(t7, "_profilerMode");
      }
      if (t1)
        t1 = _null;
      else {
        t1 = vm.json;
        t1.toString;
        t1 = J.$index$asx(t1, "_currentMemory");
      }
      return new A.VMInfoCard("VM", A._setArrayType([new A.MapEntry("Name", t2, t3), new A.MapEntry("Version", t4, t3), new A.MapEntry("Embedder", t5, t3), new A.MapEntry("Started", t6, t3), new A.MapEntry("Profiler Mode", t7, t3), new A.MapEntry("Current Memory", A.prettyPrintBytes(t1, true, 0, 1, 1), t3)], type$.JSArray_MapEntry_dynamic_dynamic), _null, _null);
    }
  };
  A.ProcessStatisticsWidget.prototype = {
    build$1(context) {
      var t7, t8, _null = null,
        vm = this.controller._vm_statistics_view_controller$_vm,
        t1 = vm == null,
        t2 = t1 ? _null : vm.pid,
        t3 = type$.MapEntry_dynamic_dynamic,
        t4 = t1 ? _null : A.S(vm.hostCPU) + " (" + A.S(vm.architectureBits) + "-bits)",
        t5 = t1 ? _null : vm.targetCPU,
        t6 = t1 ? _null : vm.operatingSystem;
      if (t1)
        t7 = _null;
      else {
        t7 = vm.json;
        t7.toString;
        t7 = J.$index$asx(t7, "_maxRSS");
      }
      t7 = A.prettyPrintBytes(t7, true, 0, 1, 1);
      if (t1)
        t8 = _null;
      else {
        t8 = vm.json;
        t8.toString;
        t8 = J.$index$asx(t8, "_currentRSS");
      }
      t8 = A.prettyPrintBytes(t8, true, 0, 1, 1);
      if (t1)
        t1 = _null;
      else {
        t1 = vm.json;
        t1.toString;
        t1 = J.$index$asx(t1, "_nativeZoneMemoryUsage");
      }
      return new A.VMInfoCard("Process", A._setArrayType([new A.MapEntry("PID", t2, t3), new A.MapEntry("Host CPU", t4, t3), new A.MapEntry("Target CPU", t5, t3), new A.MapEntry("Operating System", t6, t3), new A.MapEntry("Max Memory (RSS)", t7, t3), new A.MapEntry("Current Memory (RSS)", t8, t3), new A.MapEntry("Zone Memory", A.prettyPrintBytes(t1, true, 0, 1, 1), t3)], type$.JSArray_MapEntry_dynamic_dynamic), _null, _null);
    }
  };
  A._IsolateNameColumn.prototype = {
    getValue$1(i) {
      var t1 = i.name;
      t1.toString;
      return t1;
    }
  };
  A._IsolateIDColumn.prototype = {
    getValue$1(i) {
      var t1 = i.number;
      t1.toString;
      return t1;
    }
  };
  A._IsolateMemoryColumn.prototype = {
    getValue$1(i) {
      return A.S(A.prettyPrintBytes(this.getUsage$1(i), true, 0, 1, 1)) + " of " + A.S(A.prettyPrintBytes(this.getCapacity$1(i), true, 0, 1, 1));
    }
  };
  A._IsolateNewSpaceColumn.prototype = {
    getCapacity$1(i) {
      return A.IsolatePrivateViewExtension_get_newSpaceCapacity(i);
    },
    getUsage$1(i) {
      return A.IsolatePrivateViewExtension_get_newSpaceUsage(i);
    }
  };
  A._IsolateOldSpaceColumn.prototype = {
    getCapacity$1(i) {
      return A.IsolatePrivateViewExtension_get_oldSpaceCapacity(i);
    },
    getUsage$1(i) {
      return A.IsolatePrivateViewExtension_get_oldSpaceUsage(i);
    }
  };
  A._IsolateHeapColumn.prototype = {
    getCapacity$1(i) {
      return A.IsolatePrivateViewExtension_get_newSpaceCapacity(i) + A.IsolatePrivateViewExtension_get_oldSpaceCapacity(i);
    },
    getUsage$1(i) {
      return A.IsolatePrivateViewExtension_get_newSpaceUsage(i) + A.IsolatePrivateViewExtension_get_oldSpaceUsage(i);
    }
  };
  A.IsolatesPreviewWidget.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.systemIsolates,
        title = t1 ? "System Isolates" : "Isolates",
        t2 = _this.controller,
        t3 = type$.UnmodifiableListView_Isolate,
        isolates = t1 ? new A.UnmodifiableListView(t2._systemIsolates, t3) : new A.UnmodifiableListView(t2._vm_statistics_view_controller$_isolates, t3);
      t1 = _this.name;
      return new A.VMInfoCard(title + " (" + J.get$length$asx(isolates._collection$_source) + ")", _null, new A.Flexible(1, B.FlexFit_1, A.FlatTable$(_null, false, A._setArrayType([t1, _this.number, _this.newSpace, _this.oldSpace, _this.heap], type$.JSArray_ColumnData_Isolate), isolates, _null, new A.IsolatesPreviewWidget_build_closure(), new A.IsolatesPreviewWidget_build_closure0(), _null, _null, _null, _null, t1, B.SortDirection_1, type$.Isolate), _null), _null);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.IsolatesPreviewWidget_build_closure.prototype = {
    call$1(i) {
      var t1 = i.id;
      t1.toString;
      return new A.ValueKey(t1, type$.ValueKey_String);
    },
    $signature: 591
  };
  A.IsolatesPreviewWidget_build_closure0.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 592
  };
  A.VMStatisticsViewController.prototype = {
    refresh$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, vm, t1;
      var $async$refresh$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._vm_statistics_view_controller$_refreshing;
              t1.set$value(0, true);
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t3 = t2.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t4 = type$.VM;
              $async$goto = 2;
              return A._asyncAwait(t2.trackFuture$1$2("getVM", t3._call$1$1(0, "getVM", t4), t4), $async$refresh$0);
            case 2:
              // returning from await.
              vm = $async$self._vm_statistics_view_controller$_vm = $async$result;
              t4 = vm.isolates;
              t4.toString;
              t3 = type$.Isolate;
              $async$goto = 3;
              return A._asyncAwait(A.Future_wait(new A.MappedListIterable(t4, new A.VMStatisticsViewController_refresh_closure($async$self), A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Future<Isolate>>")), t3), $async$refresh$0);
            case 3:
              // returning from await.
              $async$self._vm_statistics_view_controller$_isolates = $async$result;
              t4 = vm.systemIsolates;
              t4.toString;
              $async$goto = 4;
              return A._asyncAwait(A.Future_wait(new A.MappedListIterable(t4, new A.VMStatisticsViewController_refresh_closure0($async$self), A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Future<Isolate>>")), t3), $async$refresh$0);
            case 4:
              // returning from await.
              $async$self._systemIsolates = $async$result;
              t1.set$value(0, false);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$refresh$0, $async$completer);
    }
  };
  A.VMStatisticsViewController_refresh_closure.prototype = {
    call$1(i) {
      var t2, t3, t4, t5,
        _s10_ = "getIsolate",
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      t2 = i.get$id(i);
      t2.toString;
      t3 = t1.__VmServiceWrapper__vmService;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = type$.dynamic;
      t5 = type$.Isolate;
      return t1.trackFuture$1$2(_s10_, t3._call$1$2(0, _s10_, A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), t5), t5);
    },
    $signature: 357
  };
  A.VMStatisticsViewController_refresh_closure0.prototype = {
    call$1(i) {
      var t2, t3, t4, t5,
        _s10_ = "getIsolate",
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
      t1.toString;
      t2 = i.get$id(i);
      t2.toString;
      t3 = t1.__VmServiceWrapper__vmService;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = type$.dynamic;
      t5 = type$.Isolate;
      return t1.trackFuture$1$2(_s10_, t3._call$1$2(0, _s10_, A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), t5), t5);
    },
    $signature: 357
  };
  A.ScriptManager.prototype = {
    ScriptManager$0() {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController,
        t2 = this.AutoDisposeControllerMixin__delegate;
      t2._auto_dispose$_subscriptions.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.ScriptManager_closure(this)));
      t2.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate, new A.ScriptManager_closure0(this));
    },
    retrieveAndSortScripts$1(isolateRef) {
      return this.retrieveAndSortScripts$body$ScriptManager(isolateRef);
    },
    retrieveAndSortScripts$body$ScriptManager(isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_ScriptRef),
        $async$returnValue, $async$self = this, t2, t3, t4, t5, scriptRefs, t1;
      var $async$retrieveAndSortScripts$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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              t2 = isolateRef.get$id(isolateRef);
              t2.toString;
              t3 = t1.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t4 = type$.dynamic;
              t5 = type$.ScriptList;
              $async$goto = 3;
              return A._asyncAwait(t1.trackFuture$1$2("getScripts", t3._call$1$2(0, "getScripts", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t4, t4), t5), t5), $async$retrieveAndSortScripts$1);
            case 3:
              // returning from await.
              t5 = $async$result.scripts;
              t5.toString;
              t5 = A.LinkedHashSet_LinkedHashSet$of(t5, type$.ScriptRef);
              scriptRefs = A.List_List$of(t5, true, A._instanceType(t5)._eval$1("SetMixin.E"));
              B.JSArray_methods.sort$1(scriptRefs, new A.ScriptManager_retrieveAndSortScripts_closure());
              $async$self._sortedScripts.set$value(0, scriptRefs);
              $async$returnValue = scriptRefs;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$retrieveAndSortScripts$1, $async$completer);
    }
  };
  A.ScriptManager_closure.prototype = {
    call$1(service) {
      var t1 = this.$this;
      if (service === t1._script_manager$_lastService)
        return;
      t1._script_manager$_lastService = service;
      t1 = t1._scriptCache;
      t1._scripts.clear$0(0);
      t1._inProgress.clear$0(0);
    },
    $signature: 89
  };
  A.ScriptManager_closure0.prototype = {
    call$0() {
      var t1 = this.$this._scriptCache;
      t1._scripts.clear$0(0);
      t1._inProgress.clear$0(0);
    },
    $signature: 0
  };
  A.ScriptManager_retrieveAndSortScripts_closure.prototype = {
    call$2(a, b) {
      return B.JSString_methods.compareTo$1(a.get$uri().toUpperCase(), b.get$uri().toUpperCase());
    },
    $signature: 594
  };
  A._ScriptCache.prototype = {
    getScript$3(vmService, isolateRef, scriptRef) {
      var t2, t3, t4, scriptFuture,
        t1 = scriptRef.get$id(scriptRef);
      t1.toString;
      t2 = this._scripts;
      if (t2.containsKey$1(0, t1))
        return A.Future_Future$value(t2.$index(0, t1), type$.Script);
      t3 = this._inProgress;
      if (t3.containsKey$1(0, t1)) {
        t1 = t3.$index(0, t1);
        t1.toString;
        return t1;
      }
      t4 = isolateRef.get$id(isolateRef);
      t4.toString;
      scriptFuture = vmService.getObject$2(0, t4, t1).then$1$1(new A._ScriptCache_getScript_closure(), type$.Script);
      t3.$indexSet(0, t1, scriptFuture);
      scriptFuture.then$1$1(new A._ScriptCache_getScript_closure0(t2, t1), type$.void);
      return scriptFuture;
    }
  };
  A._ScriptCache_getScript_closure.prototype = {
    call$1(obj) {
      return type$.Script._as(obj);
    },
    $signature: 595
  };
  A._ScriptCache_getScript_closure0.prototype = {
    call$1(script) {
      this.scripts.$indexSet(0, this.scriptId, script);
    },
    $signature: 216
  };
  A._ScriptManager_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A.IsolateManager.prototype = {
    init$1(isolates) {
      return this.init$body$IsolateManager(isolates);
    },
    init$body$IsolateManager(isolates) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$init$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.addAutoDisposeListener$2($.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode, new A.IsolateManager_init_closure($async$self));
              $async$goto = 2;
              return A._asyncAwait($async$self._initIsolates$1(isolates), $async$init$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$init$1, $async$completer);
    },
    get$mainIsolateDebuggerState() {
      var t1 = this._mainIsolate._change_notifier$_value;
      return t1 != null ? this._isolateStates.$index(0, t1) : null;
    },
    isolateIndex$1(isolateRef) {
      var t1 = this._isolateIndexMap;
      if (!t1.containsKey$1(0, isolateRef.get$id(isolateRef)))
        t1.$indexSet(0, isolateRef.get$id(isolateRef), ++this._lastIsolateIndex);
      return t1.$index(0, isolateRef.get$id(isolateRef));
    },
    selectIsolate$1(isolateRef) {
      this._selectedIsolate.set$value(0, isolateRef);
    },
    _initIsolates$1(isolates) {
      return this._initIsolates$body$IsolateManager(isolates);
    },
    _initIsolates$body$IsolateManager(isolates) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, _i;
      var $async$_initIsolates$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._clearIsolateStates$0();
              t1 = A._setArrayType([], type$.JSArray_Future_void);
              for (t2 = isolates.length, _i = 0; _i < isolates.length; isolates.length === t2 || (0, A.throwConcurrentModificationError)(isolates), ++_i)
                t1.push($async$self._registerIsolate$1(isolates[_i]));
              $async$goto = 2;
              return A._asyncAwait(A.Future_wait(t1, type$.void), $async$_initIsolates$1);
            case 2:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self._initSelectedIsolate$0(), $async$_initIsolates$1);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_initIsolates$1, $async$completer);
    },
    _registerIsolate$1(isolateRef) {
      return this._registerIsolate$body$IsolateManager(isolateRef);
    },
    _registerIsolate$body$IsolateManager(isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$_registerIsolate$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._isolateStates.$indexSet(0, isolateRef, new A.IsolateState(isolateRef, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_nullable_Isolate), type$._AsyncCompleter_nullable_Isolate), new A.ValueNotifier(null, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_nullable_bool)));
              t1 = $async$self._isolates;
              B.JSArray_methods.add$1(t1._rawList, isolateRef);
              t1._listChanged$0();
              $async$self.isolateIndex$1(isolateRef);
              $async$goto = 2;
              return A._asyncAwait($async$self._loadIsolateState$1(isolateRef), $async$_registerIsolate$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_registerIsolate$1, $async$completer);
    },
    _loadIsolateState$1(isolateRef) {
      return this._loadIsolateState$body$IsolateManager(isolateRef);
    },
    _loadIsolateState$body$IsolateManager(isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, isolate, isolateRunnableCompleter, t5, state, service;
      var $async$_loadIsolateState$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
              service = $async$self._isolate_manager$_service;
              service.toString;
              t1 = isolateRef.get$id(isolateRef);
              t1.toString;
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.dynamic;
              t4 = type$.Isolate;
              $async$goto = 3;
              return A._asyncAwait(service.trackFuture$1$2("getIsolate", t2._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t1], t3, t3), t4), t4), $async$_loadIsolateState$1);
            case 3:
              // returning from await.
              isolate = $async$result;
              $async$goto = isolate.runnable === false ? 4 : 5;
              break;
            case 4:
              // then
              isolateRunnableCompleter = $async$self._isolateRunnableCompleters.putIfAbsent$2(0, isolate.id, new A.IsolateManager__loadIsolateState_closure());
              $async$goto = !isolateRunnableCompleter.get$isCompleted() ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait(isolateRunnableCompleter.get$future(), $async$_loadIsolateState$1);
            case 8:
              // returning from await.
              t1 = $async$self._isolate_manager$_service;
              t1.toString;
              t2 = isolate.id;
              t2.toString;
              t5 = t1.__VmServiceWrapper__vmService;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 9;
              return A._asyncAwait(t1.trackFuture$1$2("getIsolate", t5._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", t2], t3, t3), t4), t4), $async$_loadIsolateState$1);
            case 9:
              // returning from await.
              isolate = $async$result;
            case 7:
              // join
            case 5:
              // join
              if (service !== $async$self._isolate_manager$_service) {
                // goto return
                $async$goto = 1;
                break;
              }
              state = $async$self._isolateStates.$index(0, isolateRef);
              if (state != null) {
                state._isolateNow = isolate;
                state._isolate_state$_completer.complete$1(0, isolate);
                t1 = state._isPaused;
                if (t1._change_notifier$_value == null) {
                  t2 = isolate.pauseEvent;
                  if (t2 != null && t2.kind !== "Resume")
                    t1.set$value(0, true);
                  else
                    t1.set$value(0, false);
                }
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_loadIsolateState$1, $async$completer);
    },
    _handleIsolateEvent$1($event) {
      return this._handleIsolateEvent$body$IsolateManager($event);
    },
    _handleIsolateEvent$body$IsolateManager($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t1;
      var $async$_handleIsolateEvent$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 = $.globals.$index(0, B.Type_MessageBus_MAi).__MessageBus__controller;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1.add$1(0, new A.BusEvent("debugger", $event));
              t1 = $event.kind;
              $async$goto = t1 === "IsolateRunnable" ? 2 : 4;
              break;
            case 2:
              // then
              t1 = $event.isolate;
              $async$self._isolateRunnableCompleters.putIfAbsent$2(0, t1.get$id(t1), new A.IsolateManager__handleIsolateEvent_closure()).complete$0(0);
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              if (t1 === "IsolateStart") {
                t1 = $event.isolate.get$isSystemIsolate();
                t1.toString;
                t1 = !t1;
              } else
                t1 = false;
              $async$goto = t1 ? 5 : 7;
              break;
            case 5:
              // then
              t1 = $event.isolate;
              t1.toString;
              $async$goto = 8;
              return A._asyncAwait($async$self._registerIsolate$1(t1), $async$_handleIsolateEvent$1);
            case 8:
              // returning from await.
              $async$self._isolateCreatedController.add$1(0, $event.isolate);
              t1 = $async$self._mainIsolate;
              if (t1._change_notifier$_value == null)
                t1.set$value(0, $event.isolate);
              t1 = $async$self._selectedIsolate;
              if (t1._change_notifier$_value == null)
                t1.set$value(0, $event.isolate);
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              t1 = $event.kind;
              if (t1 === "ServiceExtensionAdded") {
                t1 = $async$self._selectedIsolate;
                if (t1._change_notifier$_value == null) {
                  t2 = $event.extensionRPC;
                  t2.toString;
                  t2 = B.JSString_methods.startsWith$1(t2, "ext.flutter.");
                } else
                  t2 = false;
                if (t2)
                  t1.set$value(0, $event.isolate);
              } else if (t1 === "IsolateExit") {
                t1 = $async$self._isolateStates;
                t2 = t1.remove$1(0, $event.isolate);
                if (t2 != null)
                  t2.dispose$0();
                t2 = $event.isolate;
                if (t2 != null)
                  $async$self._isolates.remove$1(0, t2);
                $async$self._isolateExitedController.add$1(0, $event.isolate);
                t2 = $async$self._mainIsolate;
                if (J.$eq$(t2._change_notifier$_value, $event.isolate))
                  t2.set$value(0, null);
                t2 = $async$self._selectedIsolate;
                if (J.$eq$(t2._change_notifier$_value, $event.isolate)) {
                  if (t1._length === 0)
                    t1 = null;
                  else {
                    t1 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
                    t1 = t1.get$first(t1);
                  }
                  t2.set$value(0, t1);
                }
                t1 = $event.isolate;
                $async$self._isolateRunnableCompleters.remove$1(0, t1.get$id(t1));
              }
            case 6:
              // join
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleIsolateEvent$1, $async$completer);
    },
    _initSelectedIsolate$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, service, mainIsolate;
      var $async$_initSelectedIsolate$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._isolateStates._length === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._mainIsolate;
              t1.set$value(0, null);
              service = $async$self._isolate_manager$_service;
              $async$goto = 3;
              return A._asyncAwait($async$self._computeMainIsolate$0(), $async$_initSelectedIsolate$0);
            case 3:
              // returning from await.
              mainIsolate = $async$result;
              if (service != $async$self._isolate_manager$_service) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.set$value(0, mainIsolate);
              $async$self._selectedIsolate.set$value(0, t1._change_notifier$_value);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_initSelectedIsolate$0, $async$completer);
    },
    _computeMainIsolate$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_IsolateRef),
        $async$returnValue, $async$self = this, service, t2, t3, t4, t5, t6, isolate, t7, t8, _i, ref, t1;
      var $async$_computeMainIsolate$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = $async$self._isolateStates;
                if (t1._length === 0) {
                  $async$returnValue = null;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                service = $async$self._isolate_manager$_service;
                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>")), t4 = $async$self._selectedIsolate, t3 = t3._rest[1], t5 = type$.JSArray_String;
              case 3:
                // for condition
                if (!t2.moveNext$0()) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t6 = t2.__internal$_current;
                if (t6 == null)
                  t6 = t3._as(t6);
                $async$goto = t4._change_notifier$_value == null ? 5 : 6;
                break;
              case 5:
                // then
                $async$goto = 7;
                return A._asyncAwait(t6._isolate_state$_completer.future, $async$_computeMainIsolate$0);
              case 7:
                // returning from await.
                isolate = $async$result;
                if (service != $async$self._isolate_manager$_service) {
                  $async$returnValue = null;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t7 = isolate == null ? null : isolate.extensionRPCs;
                if (t7 == null)
                  t7 = A._setArrayType([], t5);
                t8 = t7.length;
                _i = 0;
                for (; _i < t8; ++_i)
                  if (B.JSString_methods.startsWith$1(t7[_i], "ext.flutter.")) {
                    $async$returnValue = t6.isolateRef;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  }
              case 6:
                // join
                // goto for condition
                $async$goto = 3;
                break;
              case 4:
                // after for
                t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
                ref = A.IterableExtension_firstWhereOrNull(new A.LinkedHashMapKeyIterable(t1, t2), new A.IsolateManager__computeMainIsolate_closure());
                if (ref == null) {
                  t1 = new A.LinkedHashMapKeyIterable(t1, t2);
                  t1 = t1.get$first(t1);
                } else
                  t1 = ref;
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              case 1:
                // return
                return A._asyncReturn($async$returnValue, $async$completer);
            }
      });
      return A._asyncStartSync($async$_computeMainIsolate$0, $async$completer);
    },
    _clearIsolateStates$0() {
      var t1, t2, t3, t4;
      for (t1 = this._isolateStates, 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;
        (t4 == null ? t3._as(t4) : t4).dispose$0();
      }
      t1.clear$0(0);
      t1 = this._isolates;
      t1._rawList = A._setArrayType([], t1.$ti._eval$1("JSArray<1>"));
      t1._listChanged$0();
    },
    getIsolateCached$1(isolateRef) {
      return this._isolateStates.putIfAbsent$2(0, isolateRef, new A.IsolateManager_getIsolateCached_closure(isolateRef))._isolate_state$_completer.future;
    },
    _handleDebugEvent$1($event) {
      var isolateState,
        isolate = $event.isolate;
      if (isolate == null)
        return;
      isolateState = this._isolateStates.$index(0, isolate);
      if (isolateState == null)
        return;
      switch ($event.kind) {
        case "Resume":
          isolateState._isPaused.set$value(0, false);
          break;
        case "PauseStart":
        case "PauseExit":
        case "PauseBreakpoint":
        case "PauseInterrupted":
        case "PauseException":
        case "PausePostRequest":
          isolateState._isPaused.set$value(0, true);
          break;
      }
    }
  };
  A.IsolateManager_init_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t3, isolates, vmDeveloperModeEnabled, t1, t2, $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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.VM;
              $async$temp1 = A;
              $async$goto = 2;
              return A._asyncAwait(t1.trackFuture$1$2("getVM", t2._call$1$1(0, "getVM", t3), t3), $async$call$0);
            case 2:
              // returning from await.
              isolates = $async$temp1.VmExtension_isolatesForDevToolsMode($async$result);
              vmDeveloperModeEnabled = $.globals.$index(0, B.Type_PreferencesController_1KB)._vmDeveloperMode._change_notifier$_value;
              t1 = $async$self.$this;
              t2 = t1._selectedIsolate;
              t3 = t2._change_notifier$_value.get$isSystemIsolate();
              t3.toString;
              if (t3 && !vmDeveloperModeEnabled) {
                t3 = t1._isolates.__ListValueNotifier__currentList;
                if (t3 === $)
                  A.throwUnnamedLateFieldNI();
                t2.set$value(0, t3.get$first(t3));
              }
              $async$goto = 3;
              return A._asyncAwait(t1._initIsolates$1(isolates), $async$call$0);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.IsolateManager__loadIsolateState_closure.prototype = {
    call$0() {
      return new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
    },
    $signature: 316
  };
  A.IsolateManager__handleIsolateEvent_closure.prototype = {
    call$0() {
      return new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
    },
    $signature: 316
  };
  A.IsolateManager__computeMainIsolate_closure.prototype = {
    call$1(ref) {
      var t1 = ref.get$name(ref);
      t1.toString;
      return B.JSString_methods.contains$1(t1, ":main(");
    },
    $signature: 599
  };
  A.IsolateManager_getIsolateCached_closure.prototype = {
    call$0() {
      return new A.IsolateState(this.isolateRef, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_nullable_Isolate), type$._AsyncCompleter_nullable_Isolate), new A.ValueNotifier(null, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_nullable_bool));
    },
    $signature: 600
  };
  A.IsolateState.prototype = {
    dispose$0() {
      this._isolateNow = null;
      var t1 = this._isolate_state$_completer;
      if ((t1.future._state & 30) === 0)
        t1.complete$1(0, null);
      else {
        t1 = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_nullable_Isolate), type$._AsyncCompleter_nullable_Isolate);
        t1.complete$1(0, null);
        this._isolate_state$_completer = t1;
      }
    }
  };
  A.JsonToServiceCache.prototype = {
    _nextId$0() {
      return "json-cache-" + this._idCount++;
    },
    get$length(_) {
      return this._json_to_service_cache$_cache._length - 3;
    },
    getObject$3$count$objectId$offset(_, count, objectId, offset) {
      var t1, t2, t3, t4, _null = null,
        obj = this._json_to_service_cache$_cache.$index(0, objectId);
      if (obj == null)
        return _null;
      if (offset != null && count != null) {
        t1 = obj.kind;
        if (t1 === "List") {
          t1 = $.$get$JsonToServiceCache__kListClass();
          t2 = this._nextId$0();
          t3 = obj.elements;
          t3.toString;
          t4 = offset + count;
          A.RangeError_checkValidRange(offset, t4, t3.length, _null, _null);
          return A.Instance$(_null, t1, count, A.SubListIterable$(t3, offset, t4, A._arrayInstanceType(t3)._precomputed1).toList$0(0), t2, -1, "List", offset, _null);
        } else if (t1 === "Map") {
          t1 = $.$get$JsonToServiceCache__kMapClass();
          t2 = this._nextId$0();
          t3 = obj.associations;
          t3.toString;
          t4 = offset + count;
          A.RangeError_checkValidRange(offset, t4, t3.length, _null, _null);
          return A.Instance$(A.SubListIterable$(t3, offset, t4, A._arrayInstanceType(t3)._precomputed1).toList$0(0), t1, count, _null, t2, -1, "Map", offset, _null);
        }
      }
      return obj;
    },
    insertJsonObject$1(json) {
      var instance, t1, t2, _this = this, _null = null;
      if (type$.List_dynamic._is(json))
        return _this._insertList$1(json);
      else if (type$.Map_dynamic_dynamic._is(json))
        return _this._insertMap$1(J.cast$2$0$ax(json, type$.String, type$.dynamic));
      if (json == null)
        instance = $.$get$JsonToServiceCache__kNull();
      else if (typeof json == "string")
        instance = A.Instance$(_null, A.ClassRef$("json-cache-string", _null, "String"), _null, _null, _this._nextId$0(), -1, "String", _null, json);
      else if (A._isInt(json)) {
        t1 = A.ClassRef$("json-cache-int", _null, "int");
        t2 = B.JSInt_methods.toString$0(json);
        instance = A.Instance$(_null, t1, _null, _null, _this._nextId$0(), json, "Int", _null, t2);
      } else if (typeof json == "number") {
        t1 = A.ClassRef$("json-cache-double", _null, "double");
        t2 = B.JSNumber_methods.toString$0(json);
        instance = A.Instance$(_null, t1, _null, _null, _this._nextId$0(), -1, "Double", _null, t2);
      } else if (A._isBool(json))
        instance = json ? $.$get$JsonToServiceCache__kTrue() : $.$get$JsonToServiceCache__kFalse();
      else {
        A.throwExpression("");
        instance = _null;
      }
      t1 = instance.id;
      t1.toString;
      _this._json_to_service_cache$_cache.$indexSet(0, t1, instance);
      return instance;
    },
    removeJsonObject$1(root) {
      var t2, _i, entry, _this = this,
        t1 = root.kind;
      if (t1 === "Bool" || t1 === "Null")
        return;
      _this._json_to_service_cache$_cache.remove$1(0, root.id);
      t1 = root.kind;
      if (t1 === "Map")
        for (t1 = root.associations, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          entry = t1[_i];
          _this.removeJsonObject$1(entry.key);
          _this.removeJsonObject$1(entry.value);
        }
      else if (t1 === "List")
        for (t1 = root.elements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          _this.removeJsonObject$1(t1[_i]);
    },
    _insertMap$1(json) {
      var t2, t3, _this = this, _null = null,
        map = A.Instance$(_null, $.$get$JsonToServiceCache__kMapClass(), _null, _null, _this._nextId$0(), -1, "Map", _null, _null),
        t1 = A._setArrayType([], type$.JSArray_MapAssociation);
      for (t2 = json.get$entries(json), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.push(new A.MapAssociation(_this.insertJsonObject$1(t3.get$key(t3)), _this.insertJsonObject$1(t3.get$value(t3))));
      }
      map.associations = t1;
      map.length = json.get$length(json);
      t1 = map.id;
      t1.toString;
      _this._json_to_service_cache$_cache.$indexSet(0, t1, map);
      return map;
    },
    _insertList$1(json) {
      var t2, t3, _null = null,
        list = A.Instance$(_null, $.$get$JsonToServiceCache__kListClass(), _null, _null, this._nextId$0(), -1, "List", _null, _null),
        t1 = A._setArrayType([], type$.JSArray_Instance);
      for (t2 = J.getInterceptor$ax(json), t3 = t2.get$iterator(json); t3.moveNext$0();)
        t1.push(this.insertJsonObject$1(t3.get$current(t3)));
      list.elements = t1;
      list.length = t2.get$length(json);
      t1 = list.id;
      t1.toString;
      this._json_to_service_cache$_cache.$indexSet(0, t1, list);
      return list;
    }
  };
  A.ResolvedUriManager.prototype = {
    fetchPackageUris$2(isolateId, uris) {
      return this.fetchPackageUris$body$ResolvedUriManager(isolateId, uris);
    },
    fetchPackageUris$body$ResolvedUriManager(isolateId, uris) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, packageUris;
      var $async$fetchPackageUris$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 (uris.length === 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = $async$self._packagePathMappings != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.lookupPackageUris$2(isolateId, uris), $async$fetchPackageUris$2);
            case 5:
              // returning from await.
              packageUris = $async$result.uris;
              if (packageUris != null)
                $async$self._packagePathMappings.addMappings$3$fullPaths$isolateId$packagePaths(uris, isolateId, packageUris);
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$fetchPackageUris$2, $async$completer);
    },
    fetchFileUris$2(isolateId, packageUris) {
      return this.fetchFileUris$body$ResolvedUriManager(isolateId, packageUris);
    },
    fetchFileUris$body$ResolvedUriManager(isolateId, packageUris) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, fileUris;
      var $async$fetchFileUris$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 = $async$self._packagePathMappings != null ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.lookupResolvedPackageUris$2(isolateId, packageUris), $async$fetchFileUris$2);
            case 4:
              // returning from await.
              fileUris = $async$result.uris;
              if (fileUris != null)
                $async$self._packagePathMappings.addMappings$3$fullPaths$isolateId$packagePaths(fileUris, isolateId, packageUris);
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$fetchFileUris$2, $async$completer);
    },
    lookupFileUri$2(isolateId, packageUri) {
      var t1 = this._packagePathMappings;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1._isolatePackageToFullPathMappings.$index(0, isolateId);
        t1 = t1 == null ? null : J.$index$asx(t1, packageUri);
      }
      return t1;
    }
  };
  A._PackagePathMappings.prototype = {
    addMappings$3$fullPaths$isolateId$packagePaths(fullPaths, isolateId, packagePaths) {
      var t1, t2, i, fullPath, packagePath,
        fullPathToPackageMappings = this._isolateFullPathToPackageMappings.putIfAbsent$2(0, isolateId, new A._PackagePathMappings_addMappings_closure()),
        packageToFullPathMappings = this._isolatePackageToFullPathMappings.putIfAbsent$2(0, isolateId, new A._PackagePathMappings_addMappings_closure0());
      for (t1 = J.getInterceptor$ax(fullPathToPackageMappings), t2 = J.getInterceptor$ax(packageToFullPathMappings), i = 0; i < fullPaths.length; ++i) {
        fullPath = fullPaths[i];
        packagePath = packagePaths[i];
        if (fullPath != null)
          t1.$indexSet(fullPathToPackageMappings, fullPath, packagePath);
        if (packagePath != null)
          t2.$indexSet(packageToFullPathMappings, packagePath, fullPath);
      }
    }
  };
  A._PackagePathMappings_addMappings_closure.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String);
    },
    $signature: 314
  };
  A._PackagePathMappings_addMappings_closure0.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String);
    },
    $signature: 314
  };
  A._connectWithSse_closure.prototype = {
    call$0() {
      this.finishedCompleter.complete$0(0);
      var t1 = this.service.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
    },
    $signature: 7
  };
  A._connectWithWebSocket_closure.prototype = {
    call$1(message) {
      this.ws.get$sink()._stream_sink$_sink.add$1(0, message);
    },
    $signature: 12
  };
  A._connectWithWebSocket_closure0.prototype = {
    call$1(_) {
      var t1;
      this.finishedCompleter.complete$0(0);
      t1 = this.service.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
    },
    $signature: 9
  };
  A.connect_onError.prototype = {
    call$1(error) {
      var t1 = this.connectedCompleter;
      if ((t1.future._state & 30) === 0)
        t1.completeError$1(error);
    },
    $signature: 16
  };
  A.connect_connectHelper.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.VmServiceWrapper),
        $async$returnValue, $async$self = this, t1, t2, t3, t4, service;
      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.uri;
              t2 = t1.get$scheme() === "sse" || t1.get$scheme() === "sses";
              t3 = $async$self.onError;
              t4 = $async$self.finishedCompleter;
              $async$goto = t2 ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait(A._connectWithSse(t1, t3, t4), $async$call$0);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return A._asyncAwait(A._connectWithWebSocket(t1, t3, t4), $async$call$0);
            case 7:
              // returning from await.
            case 4:
              // join
              service = $async$result;
              $async$goto = 8;
              return A._asyncAwait(service.getVersion$0(), $async$call$0);
            case 8:
              // returning from await.
              $async$returnValue = service;
              // 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: 602
  };
  A.connect_closure.prototype = {
    call$1(service) {
      var t1 = this.connectedCompleter;
      if ((t1.future._state & 30) === 0)
        t1.complete$1(0, service);
    },
    $signature: 603
  };
  A.connect_closure0.prototype = {
    call$1(_) {
      if ((this.connectedCompleter.future._state & 30) === 0)
        this.onError.call$1(null);
    },
    $signature: 48
  };
  A.ServiceExtensionManager.prototype = {
    _service_extension_manager$_handleIsolateEvent$1($event) {
      return this._handleIsolateEvent$body$ServiceExtensionManager($event);
    },
    _handleIsolateEvent$body$ServiceExtensionManager($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_service_extension_manager$_handleIsolateEvent$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 = $event.kind === "ServiceExtensionAdded" ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self._maybeAddServiceExtension$1($event.extensionRPC), $async$_service_extension_manager$_handleIsolateEvent$1);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_service_extension_manager$_handleIsolateEvent$1, $async$completer);
    },
    _service_extension_manager$_handleExtensionEvent$1($event) {
      return this._handleExtensionEvent$body$ServiceExtensionManager($event);
    },
    _handleExtensionEvent$body$ServiceExtensionManager($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, $name;
      var $async$_service_extension_manager$_handleExtensionEvent$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
            case 2:
              // switch
              switch ($event.extensionKind) {
                case "Flutter.FirstFrame":
                  // goto case
                  $async$goto = 4;
                  break;
                case "Flutter.Frame":
                  // goto case
                  $async$goto = 5;
                  break;
                case "Flutter.ServiceExtensionStateChanged":
                  // goto case
                  $async$goto = 6;
                  break;
                case "HttpTimelineLoggingStateChange":
                  // goto case
                  $async$goto = 7;
                  break;
                case "SocketProfilingStateChange":
                  // goto case
                  $async$goto = 8;
                  break;
                default:
                  // goto after switch
                  $async$goto = 3;
                  break;
              }
              break;
            case 4:
              // case
            case 5:
              // case
              $async$goto = 9;
              return A._asyncAwait($async$self._onFrameEventReceived$0(), $async$_service_extension_manager$_handleExtensionEvent$1);
            case 9:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 6:
              // case
              t1 = $event.json;
              t1.toString;
              $name = J.toString$0$(J.$index$asx(J.$index$asx(t1, "extensionData"), "extension"));
              t1 = $event.json;
              t1.toString;
              $async$goto = 10;
              return A._asyncAwait($async$self._updateServiceExtensionForStateChange$2($name, J.toString$0$(J.$index$asx(J.$index$asx(t1, "extensionData"), "value"))), $async$_service_extension_manager$_handleExtensionEvent$1);
            case 10:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 7:
              // case
              $name = $.$get$httpEnableTimelineLogging().extension;
              t1 = $event.json;
              t1.toString;
              $async$goto = 11;
              return A._asyncAwait($async$self._updateServiceExtensionForStateChange$2($name, J.toString$0$(J.$index$asx(J.$index$asx(t1, "extensionData"), "enabled"))), $async$_service_extension_manager$_handleExtensionEvent$1);
            case 11:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 8:
              // case
              $name = $.$get$socketProfiling().extension;
              t1 = $event.json;
              t1.toString;
              $async$goto = 12;
              return A._asyncAwait($async$self._updateServiceExtensionForStateChange$2($name, J.toString$0$(J.$index$asx(J.$index$asx(t1, "extensionData"), "enabled"))), $async$_service_extension_manager$_handleExtensionEvent$1);
            case 12:
              // returning from await.
              // goto after switch
              $async$goto = 3;
              break;
            case 3:
              // after switch
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_service_extension_manager$_handleExtensionEvent$1, $async$completer);
    },
    _service_extension_manager$_handleDebugEvent$1($event) {
      return this._handleDebugEvent$body$ServiceExtensionManager($event);
    },
    _handleDebugEvent$body$ServiceExtensionManager($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, callback, e, t1, callbacks, exception, $async$exception;
      var $async$_service_extension_manager$_handleDebugEvent$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
              $async$goto = $event.kind === "Resume" ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $event.isolate;
              t1.toString;
              callbacks = $async$self._callbacksOnIsolateResume.$index(0, t1);
              if (callbacks == null)
                callbacks = A._setArrayType([], type$.JSArray_of_Future_void_Function);
              $async$self._callbacksOnIsolateResume = A.LinkedHashMap_LinkedHashMap$_empty(type$.IsolateRef, type$.List_of_Future_void_Function);
              t1 = J.get$iterator$ax(callbacks);
            case 4:
              // for condition
              if (!t1.moveNext$0()) {
                // goto after for
                $async$goto = 5;
                break;
              }
              callback = t1.get$current(t1);
              $async$handler = 7;
              $async$goto = 10;
              return A._asyncAwait(callback.call$0(), $async$_service_extension_manager$_handleDebugEvent$1);
            case 10:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              A.log("Error running isolate callback: " + A.S(e), B.LogLevel_2);
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 9:
              // after finally
              // goto for condition
              $async$goto = 4;
              break;
            case 5:
              // after for
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_service_extension_manager$_handleDebugEvent$1, $async$completer);
    },
    _updateServiceExtensionForStateChange$2($name, encodedValue) {
      return this._updateServiceExtensionForStateChange$body$ServiceExtensionManager($name, encodedValue);
    },
    _updateServiceExtensionForStateChange$body$ServiceExtensionManager($name, encodedValue) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, extensionValue, extension;
      var $async$_updateServiceExtensionForStateChange$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
              extension = $.$get$serviceExtensionsAllowlist().$index(0, $name);
              $async$goto = extension != null ? 2 : 3;
              break;
            case 2:
              // then
              extensionValue = $async$self._getExtensionValue$2($name, encodedValue);
              $async$goto = 4;
              return A._asyncAwait($async$self.setServiceExtensionState$4$callExtension$enabled$value($name, false, !(extension instanceof A.ToggleableServiceExtensionDescription) || extensionValue === extension.values[0], extensionValue), $async$_updateServiceExtensionForStateChange$2);
            case 4:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_updateServiceExtensionForStateChange$2, $async$completer);
    },
    _getExtensionValue$2($name, encodedValue) {
      switch (J.get$runtimeType$(B.JSArray_methods.get$first($.$get$serviceExtensionsAllowlist().$index(0, $name).values))) {
        case B.Type_bool_lhE:
          return encodedValue === "true";
        case B.Type_int_tHn:
        case B.Type_double_K1J:
          return A.num_parse(encodedValue);
        default:
          return encodedValue;
      }
    },
    _onFrameEventReceived$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, extensionsToProcess, t2, _i, t1;
      var $async$_onFrameEventReceived$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._firstFrameReceived;
              if ((t1.future._state & 30) !== 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1.complete$0(0);
              t1 = $async$self._pendingServiceExtensions;
              extensionsToProcess = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
              t1.clear$0(0);
              t1 = A._setArrayType([], type$.JSArray_Future_void);
              for (t2 = extensionsToProcess.length, _i = 0; _i < t2; ++_i)
                t1.push($async$self._addServiceExtension$1(extensionsToProcess[_i]));
              $async$goto = 3;
              return A._asyncAwait(A.Future_wait(t1, type$.void), $async$_onFrameEventReceived$0);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onFrameEventReceived$0, $async$completer);
    },
    _onMainIsolateChanged$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, isolate, t1, t2;
      var $async$_onMainIsolateChanged$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._isolateManager;
              t2 = t1._mainIsolate._change_notifier$_value;
              if (t2 == null) {
                $async$self._mainIsolateClosed$0();
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._checkForFirstFrameStarted = false;
              $async$goto = 3;
              return A._asyncAwait(t1.getIsolateCached$1(t2), $async$_onMainIsolateChanged$0);
            case 3:
              // returning from await.
              isolate = $async$result;
              if (isolate == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait($async$self._registerMainIsolate$2(isolate, t2), $async$_onMainIsolateChanged$0);
            case 4:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onMainIsolateChanged$0, $async$completer);
    },
    _registerMainIsolate$2(mainIsolate, expectedMainIsolateRef) {
      return this._registerMainIsolate$body$ServiceExtensionManager(mainIsolate, expectedMainIsolateRef);
    },
    _registerMainIsolate$body$ServiceExtensionManager(mainIsolate, expectedMainIsolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, t3, _i, t1;
      var $async$_registerMainIsolate$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._isolateManager._mainIsolate;
              if (!expectedMainIsolateRef.$eq(0, t1._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = mainIsolate.extensionRPCs != null ? 3 : 4;
              break;
            case 3:
              // then
              t2 = $async$self.__ServiceExtensionManager__connectedApp;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 8;
              return A._asyncAwait(t2.get$isFlutterApp(), $async$_registerMainIsolate$2);
            case 8:
              // returning from await.
              $async$goto = $async$result ? 5 : 7;
              break;
            case 5:
              // then
              if (!expectedMainIsolateRef.$eq(0, t1._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = A._setArrayType([], type$.JSArray_Future_void);
              for (t2 = mainIsolate.extensionRPCs, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
                t1.push($async$self._maybeAddServiceExtension$1(t2[_i]));
              $async$goto = 9;
              return A._asyncAwait(A.Future_wait(t1, type$.void), $async$_registerMainIsolate$2);
            case 9:
              // returning from await.
              // goto join
              $async$goto = 6;
              break;
            case 7:
              // else
              t1 = A._setArrayType([], type$.JSArray_Future_void);
              for (t2 = mainIsolate.extensionRPCs, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
                t1.push($async$self._addServiceExtension$1(t2[_i]));
              $async$goto = 10;
              return A._asyncAwait(A.Future_wait(t1, type$.void), $async$_registerMainIsolate$2);
            case 10:
              // returning from await.
            case 6:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_registerMainIsolate$2, $async$completer);
    },
    _maybeCheckForFirstFlutterFrame$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, value, t1, _lastMainIsolate;
      var $async$_maybeCheckForFirstFlutterFrame$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._isolateManager._mainIsolate;
              _lastMainIsolate = t1._change_notifier$_value;
              if ($async$self._checkForFirstFrameStarted || ($async$self._firstFrameReceived.future._state & 30) !== 0 || _lastMainIsolate == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.isServiceExtensionAvailable$1("ext.flutter.didSendFirstFrameEvent")) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._checkForFirstFrameStarted = true;
              t2 = $async$self._service_extension_manager$_service;
              t2.toString;
              $async$goto = 3;
              return A._asyncAwait(t2.callServiceExtension$2$isolateId("ext.flutter.didSendFirstFrameEvent", _lastMainIsolate.get$id(_lastMainIsolate)), $async$_maybeCheckForFirstFlutterFrame$0);
            case 3:
              // returning from await.
              value = $async$result;
              if (!_lastMainIsolate.$eq(0, t1._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = value.json;
              t1.toString;
              $async$goto = J.$eq$(J.$index$asx(t1, "enabled"), "true") ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._onFrameEventReceived$0(), $async$_maybeCheckForFirstFlutterFrame$0);
            case 6:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_maybeCheckForFirstFlutterFrame$0, $async$completer);
    },
    _maybeAddServiceExtension$1($name) {
      return this._maybeAddServiceExtension$body$ServiceExtensionManager($name);
    },
    _maybeAddServiceExtension$body$ServiceExtensionManager($name) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$_maybeAddServiceExtension$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 ($name == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = ($async$self._firstFrameReceived.future._state & 30) !== 0 || !$.$get$_unsafeBeforeFirstFrameFlutterExtensions().contains$1(0, $name) ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._addServiceExtension$1($name), $async$_maybeAddServiceExtension$1);
            case 6:
              // returning from await.
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$self._pendingServiceExtensions.add$1(0, $name);
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_maybeAddServiceExtension$1, $async$completer);
    },
    _addServiceExtension$1($name) {
      return this._addServiceExtension$body$ServiceExtensionManager($name);
    },
    _addServiceExtension$body$ServiceExtensionManager($name) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$_addServiceExtension$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._serviceExtensions.add$1(0, $name)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._hasServiceExtension$1($name).set$value(0, true);
              t1 = $async$self._enabledServiceExtensions;
              $async$goto = t1.containsKey$1(0, $name) ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._service_extension_manager$_callServiceExtension$2($name, t1.$index(0, $name).value), $async$_addServiceExtension$1);
            case 6:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = 7;
              return A._asyncAwait($async$self._restoreExtensionFromDevice$1($name), $async$_addServiceExtension$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_addServiceExtension$1, $async$completer);
    },
    _restoreExtensionFromDevice$1($name) {
      return this._restoreExtensionFromDevice$body$ServiceExtensionManager($name);
    },
    _restoreExtensionFromDevice$body$ServiceExtensionManager($name) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t3, isolate, t1, t2, isolateRef;
      var $async$_restoreExtensionFromDevice$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._isolateManager;
              t2 = t1._mainIsolate;
              isolateRef = t2._change_notifier$_value;
              if (isolateRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = $.$get$serviceExtensionsAllowlist();
              if (!t3.containsKey$1(0, $name)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = new A.ServiceExtensionManager__restoreExtensionFromDevice_restore($async$self, isolateRef, $name, J.get$runtimeType$(B.JSArray_methods.get$first(t3.$index(0, $name).values)));
              if (!isolateRef.$eq(0, t2._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(t1.getIsolateCached$1(isolateRef), $async$_restoreExtensionFromDevice$1);
            case 3:
              // returning from await.
              isolate = $async$result;
              if (!isolateRef.$eq(0, t2._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (B.JSString_methods.startsWith$1($name, "ext.dart.io.")) {
                if (isolate == null)
                  t1 = null;
                else {
                  t1 = isolate.pauseEvent;
                  if (t1 == null)
                    t1 = null;
                  else {
                    t1 = t1.kind;
                    t1 = t1 == null ? null : B.JSString_methods.contains$1(t1, "Pause");
                  }
                }
                t1 = t1 === true;
              } else
                t1 = false;
              $async$goto = t1 ? 4 : 6;
              break;
            case 4:
              // then
              J.add$1$ax($async$self._callbacksOnIsolateResume.putIfAbsent$2(0, isolateRef, new A.ServiceExtensionManager__restoreExtensionFromDevice_closure()), t3);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$goto = 7;
              return A._asyncAwait(t3.call$0(), $async$_restoreExtensionFromDevice$1);
            case 7:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_restoreExtensionFromDevice$1, $async$completer);
    },
    _maybeRestoreExtension$2($name, value) {
      return this._maybeRestoreExtension$body$ServiceExtensionManager($name, value);
    },
    _maybeRestoreExtension$body$ServiceExtensionManager($name, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, extensionDescription;
      var $async$_maybeRestoreExtension$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
              extensionDescription = $.$get$serviceExtensionsAllowlist().$index(0, $name);
              $async$goto = extensionDescription instanceof A.ToggleableServiceExtensionDescription ? 2 : 4;
              break;
            case 2:
              // then
              t1 = extensionDescription.values[0];
              $async$goto = (value == null ? t1 == null : value === t1) ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return A._asyncAwait($async$self.setServiceExtensionState$4$callExtension$enabled$value($name, false, true, value), $async$_maybeRestoreExtension$2);
            case 7:
              // returning from await.
            case 6:
              // join
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 8;
              return A._asyncAwait($async$self.setServiceExtensionState$4$callExtension$enabled$value($name, false, true, value), $async$_maybeRestoreExtension$2);
            case 8:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_maybeRestoreExtension$2, $async$completer);
    },
    _service_extension_manager$_callServiceExtension$2($name, value) {
      return this._callServiceExtension$body$ServiceExtensionManager($name, value);
    },
    _callServiceExtension$body$ServiceExtensionManager($name, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, mainIsolate, t3, isolate;
      var $async$_service_extension_manager$_callServiceExtension$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 ($async$self._service_extension_manager$_service == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._isolateManager;
              t2 = t1._mainIsolate;
              mainIsolate = t2._change_notifier$_value;
              t3 = new A.ServiceExtensionManager__callServiceExtension_callExtension($async$self, mainIsolate, value, $name);
              if (mainIsolate == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(t1.getIsolateCached$1(mainIsolate), $async$_service_extension_manager$_callServiceExtension$2);
            case 3:
              // returning from await.
              isolate = $async$result;
              if (!J.$eq$(t2._change_notifier$_value, mainIsolate)) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (B.JSString_methods.startsWith$1($name, "ext.dart.io.")) {
                if (isolate == null)
                  t1 = null;
                else {
                  t1 = isolate.pauseEvent;
                  if (t1 == null)
                    t1 = null;
                  else {
                    t1 = t1.kind;
                    t1 = t1 == null ? null : B.JSString_methods.contains$1(t1, "Pause");
                  }
                }
                t1 = t1 === true;
              } else
                t1 = false;
              $async$goto = t1 ? 4 : 6;
              break;
            case 4:
              // then
              J.add$1$ax($async$self._callbacksOnIsolateResume.putIfAbsent$2(0, mainIsolate, new A.ServiceExtensionManager__callServiceExtension_closure()), t3);
              // goto join
              $async$goto = 5;
              break;
            case 6:
              // else
              $async$goto = 7;
              return A._asyncAwait(t3.call$0(), $async$_service_extension_manager$_callServiceExtension$2);
            case 7:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_service_extension_manager$_callServiceExtension$2, $async$completer);
    },
    _mainIsolateClosed$0() {
      var t1, t2, t3, t4, _this = this;
      _this._firstFrameReceived = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
      _this._checkForFirstFrameStarted = false;
      _this._pendingServiceExtensions.clear$0(0);
      _this._serviceExtensions.clear$0(0);
      for (t1 = _this._maybeRegisteringServiceExtensions, 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);
        if (!t4.get$isCompleted())
          t4.complete$1(0, false);
      }
      t1.clear$0(0);
      for (t1 = _this._serviceExtensionAvailable, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).set$value(0, false);
      }
    },
    setServiceExtensionState$4$callExtension$enabled$value($name, callExtension, enabled, value) {
      return this.setServiceExtensionState$body$ServiceExtensionManager($name, callExtension, enabled, value);
    },
    setServiceExtensionState$3$enabled$value($name, enabled, value) {
      return this.setServiceExtensionState$4$callExtension$enabled$value($name, true, enabled, value);
    },
    setServiceExtensionState$body$ServiceExtensionManager($name, callExtension, enabled, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, state, t1;
      var $async$setServiceExtensionState$4$callExtension$enabled$value = 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 = callExtension && $async$self._serviceExtensions.contains$1(0, $name) ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._service_extension_manager$_callServiceExtension$2($name, value), $async$setServiceExtensionState$4$callExtension$enabled$value);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              if (callExtension)
                A.log("Attempted to call extension '" + $name + "', but no service with that name exists", B.LogLevel_0);
            case 3:
              // join
              state = A.ServiceExtensionState$(enabled, value);
              $async$self._serviceExtensionState$1($name).set$value(0, state);
              t1 = $async$self._enabledServiceExtensions;
              if (enabled)
                t1.$indexSet(0, $name, state);
              else
                t1.remove$1(0, $name);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setServiceExtensionState$4$callExtension$enabled$value, $async$completer);
    },
    isServiceExtensionAvailable$1($name) {
      return this._serviceExtensions.contains$1(0, $name) || this._pendingServiceExtensions.contains$1(0, $name);
    },
    waitForServiceExtensionAvailable$1($name) {
      var t1;
      if (this.isServiceExtensionAvailable$1($name))
        return A.Future_Future$value(true, type$.bool);
      t1 = this._maybeRegisteringServiceExtensions;
      if (t1.$index(0, $name) == null)
        t1.$indexSet(0, $name, new A.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter(this, $name).call$0());
      return t1.$index(0, $name).future;
    },
    _hasServiceExtension$1($name) {
      return this._serviceExtensionAvailable.putIfAbsent$2(0, $name, new A.ServiceExtensionManager__hasServiceExtension_closure(this, $name));
    },
    _serviceExtensionState$1($name) {
      return this._serviceExtensionStateController.putIfAbsent$2(0, $name, new A.ServiceExtensionManager__serviceExtensionState_closure(this, $name));
    },
    vmServiceOpened$2(service, connectedApp) {
      return this.vmServiceOpened$body$ServiceExtensionManager(service, connectedApp);
    },
    vmServiceOpened$body$ServiceExtensionManager(service, connectedApp) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2, t3, t4, mainIsolateRef, mainIsolate;
      var $async$vmServiceOpened$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$self._checkForFirstFrameStarted = false;
              $async$self.cancelStreamSubscriptions$0();
              $async$self.cancelListeners$0();
              $async$self.__ServiceExtensionManager__connectedApp = connectedApp;
              $async$self._service_extension_manager$_service = service;
              t1 = service.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._getEventController$1("Extension");
              t2 = $async$self._auto_dispose$_subscriptions;
              t2.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_service_extension_manager$_handleExtensionEvent()));
              $async$self.addAutoDisposeListener$2($async$self._hasServiceExtension$1("ext.flutter.didSendFirstFrameEvent"), $async$self.get$_maybeCheckForFirstFlutterFrame());
              t1 = $async$self._isolateManager;
              t3 = t1._mainIsolate;
              $async$self.addAutoDisposeListener$2(t3, $async$self.get$_onMainIsolateChanged());
              t4 = service.__VmServiceWrapper__vmService;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t4 = t4._getEventController$1("Debug");
              t2.push(new A._BroadcastStream(t4, A._instanceType(t4)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_service_extension_manager$_handleDebugEvent()));
              t4 = service.__VmServiceWrapper__vmService;
              if (t4 === $)
                A.throwUnnamedLateFieldNI();
              t4 = t4._getEventController$1("Isolate");
              t2.push(new A._BroadcastStream(t4, A._instanceType(t4)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$_service_extension_manager$_handleIsolateEvent()));
              mainIsolateRef = t3._change_notifier$_value;
              $async$goto = mainIsolateRef != null ? 2 : 3;
              break;
            case 2:
              // then
              $async$self._checkForFirstFrameStarted = false;
              $async$goto = 4;
              return A._asyncAwait(t1.getIsolateCached$1(mainIsolateRef), $async$vmServiceOpened$2);
            case 4:
              // returning from await.
              mainIsolate = $async$result;
              $async$goto = mainIsolate != null ? 5 : 6;
              break;
            case 5:
              // then
              $async$goto = 7;
              return A._asyncAwait($async$self._registerMainIsolate$2(mainIsolate, mainIsolateRef), $async$vmServiceOpened$2);
            case 7:
              // returning from await.
            case 6:
              // join
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$vmServiceOpened$2, $async$completer);
    }
  };
  A.ServiceExtensionManager__restoreExtensionFromDevice_restore.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, response, enabled, value, value0, t4, t5, exception, t1, t2, t3, $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
              t1 = $async$self.isolateRef;
              t2 = $async$self.$this;
              t3 = t2._isolateManager._mainIsolate;
              if (!t1.$eq(0, t3._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              t4 = t2._service_extension_manager$_service;
              t4.toString;
              t5 = $async$self.name;
              $async$goto = 7;
              return A._asyncAwait(t4.callServiceExtension$2$isolateId(t5, t1.get$id(t1)), $async$call$0);
            case 7:
              // returning from await.
              response = $async$result;
              if (!t1.$eq(0, t3._change_notifier$_value)) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 8:
              // switch
              switch ($async$self.expectedValueType) {
                case B.Type_bool_lhE:
                  // goto case
                  $async$goto = 10;
                  break;
                case B.Type_String_k8F:
                  // goto case
                  $async$goto = 11;
                  break;
                case B.Type_int_tHn:
                  // goto case
                  $async$goto = 12;
                  break;
                case B.Type_double_K1J:
                  // goto case
                  $async$goto = 13;
                  break;
                default:
                  // goto default
                  $async$goto = 14;
                  break;
              }
              break;
            case 10:
              // case
              t1 = response.json;
              t1.toString;
              enabled = J.$eq$(J.$index$asx(t1, "enabled"), "true") && true;
              $async$goto = 15;
              return A._asyncAwait(t2._maybeRestoreExtension$2(t5, enabled), $async$call$0);
            case 15:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 11:
              // case
              t1 = response.json;
              t1.toString;
              value = J.$index$asx(t1, "value");
              $async$goto = 16;
              return A._asyncAwait(t2._maybeRestoreExtension$2(t5, value), $async$call$0);
            case 16:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 12:
              // case
            case 13:
              // case
              t1 = response.json;
              t1.toString;
              value0 = A.num_parse(J.$index$asx(t1, B.JSString_methods.substring$1(t5, B.JSString_methods.lastIndexOf$1(t5, ".") + 1)));
              $async$goto = 17;
              return A._asyncAwait(t2._maybeRestoreExtension$2(t5, value0), $async$call$0);
            case 17:
              // returning from await.
              // goto return
              $async$goto = 1;
              break;
            case 14:
              // default
              // goto return
              $async$goto = 1;
              break;
            case 9:
              // after switch
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // 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$call$0, $async$completer);
    },
    $signature: 2
  };
  A.ServiceExtensionManager__restoreExtensionFromDevice_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_of_Future_void_Function);
    },
    $signature: 313
  };
  A.ServiceExtensionManager__callServiceExtension_callExtension.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t3, t4, t5, description, 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
              t1 = $async$self.$this;
              t2 = $async$self.mainIsolate;
              if (!J.$eq$(t1._isolateManager._mainIsolate._change_notifier$_value, t2)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t3 = $async$self.value;
              $async$goto = A._isBool(t3) ? 3 : 5;
              break;
            case 3:
              // then
              t4 = $async$self.name;
              t5 = new A.ServiceExtensionManager__callServiceExtension_callExtension_call(t1, t4);
              description = $.$get$serviceExtensionsAllowlist().$index(0, t4);
              t4 = description == null ? null : description.shouldCallOnAllIsolates;
              $async$goto = t4 === true ? 6 : 8;
              break;
            case 6:
              // then
              $async$goto = 9;
              return A._asyncAwait(t1._service_extension_manager$_service.forEachIsolate$1(new A.ServiceExtensionManager__callServiceExtension_callExtension_closure(t5, t3)), $async$call$0);
            case 9:
              // returning from await.
              // goto join
              $async$goto = 7;
              break;
            case 8:
              // else
              $async$goto = 10;
              return A._asyncAwait(t5.call$2(t2 == null ? null : t2.get$id(t2), t3), $async$call$0);
            case 10:
              // returning from await.
            case 7:
              // join
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$goto = typeof t3 == "string" ? 11 : 13;
              break;
            case 11:
              // then
              t1 = t1._service_extension_manager$_service;
              t1.toString;
              t2 = t2 == null ? null : t2.get$id(t2);
              $async$goto = 14;
              return A._asyncAwait(t1.callServiceExtension$3$args$isolateId($async$self.name, A.LinkedHashMap_LinkedHashMap$_literal(["value", t3], type$.String, type$.dynamic), t2), $async$call$0);
            case 14:
              // returning from await.
              // goto join
              $async$goto = 12;
              break;
            case 13:
              // else
              $async$goto = typeof t3 == "number" ? 15 : 16;
              break;
            case 15:
              // then
              t1 = t1._service_extension_manager$_service;
              t1.toString;
              t4 = $async$self.name;
              if (t2 == null)
                t2 = null;
              else {
                t2 = t2.get$id(t2);
                t2.toString;
              }
              $async$goto = 17;
              return A._asyncAwait(t1.callServiceExtension$3$args$isolateId(t4, A.LinkedHashMap_LinkedHashMap$_literal([B.JSString_methods.substring$1(t4, B.JSString_methods.lastIndexOf$1(t4, ".") + 1), t3], type$.String, type$.dynamic), t2), $async$call$0);
            case 17:
              // returning from await.
            case 16:
              // join
            case 12:
              // join
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.ServiceExtensionManager__callServiceExtension_callExtension_call.prototype = {
    $call$body$ServiceExtensionManager__callServiceExtension_callExtension_call(isolateId, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      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
              t1 = $async$self.$this._service_extension_manager$_service;
              t1.toString;
              $async$goto = 2;
              return A._asyncAwait(t1.callServiceExtension$3$args$isolateId($async$self.name, A.LinkedHashMap_LinkedHashMap$_literal(["enabled", value], type$.String, type$.dynamic), isolateId), $async$call$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    call$2(isolateId, value) {
      return this.$call$body$ServiceExtensionManager__callServiceExtension_callExtension_call(isolateId, value);
    },
    $signature: 605
  };
  A.ServiceExtensionManager__callServiceExtension_callExtension_closure.prototype = {
    call$1(isolate) {
      return this.$call$body$ServiceExtensionManager__callServiceExtension_callExtension_closure(isolate);
    },
    $call$body$ServiceExtensionManager__callServiceExtension_callExtension_closure(isolate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$call$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 = 2;
              return A._asyncAwait($async$self.$call.call$2(isolate.get$id(isolate), $async$self.value), $async$call$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 62
  };
  A.ServiceExtensionManager__callServiceExtension_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_of_Future_void_Function);
    },
    $signature: 313
  };
  A.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter.prototype = {
    call$0() {
      var completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool),
        t1 = this.$this,
        t2 = this.name,
        listenable = t1._hasServiceExtension$1(t2),
        listener = A._Cell$named("listener");
      listener.__late_helper$_value = new A.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure(listenable, completer, listener);
      t1._hasServiceExtension$1(t2).addListener$1(0, listener._readLocal$0());
      return completer;
    },
    $signature: 606
  };
  A.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.listenable;
      if (t1._change_notifier$_value || (_this.completer.future._state & 30) !== 0) {
        t1.removeListener$1(0, _this.listener._readLocal$0());
        _this.completer.complete$1(0, true);
      }
    },
    $signature: 0
  };
  A.ServiceExtensionManager__hasServiceExtension_closure.prototype = {
    call$0() {
      return new A.ValueNotifier(this.$this._serviceExtensions.contains$1(0, this.name), $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool);
    },
    $signature: 607
  };
  A.ServiceExtensionManager__serviceExtensionState_closure.prototype = {
    call$0() {
      var t1 = this.$this._enabledServiceExtensions,
        t2 = this.name;
      if (t1.containsKey$1(0, t2)) {
        t1 = t1.$index(0, t2);
        t1.toString;
      } else
        t1 = A.ServiceExtensionState$(false, null);
      return new A.ValueNotifier(t1, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_ServiceExtensionState);
    },
    $signature: 608
  };
  A.ServiceExtensionState.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.ServiceExtensionState && this.enabled === other.enabled && J.$eq$(this.value, other.value);
    },
    get$hashCode(_) {
      return A.Object_hash(this.enabled, this.value, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "ServiceExtensionState(enabled: " + this.enabled + ", value: " + A.S(this.value) + ")";
    }
  };
  A.ServiceExtensionButtonGroup.prototype = {
    createState$0() {
      return new A._ServiceExtensionButtonGroupState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.ExtensionState.prototype = {};
  A._ServiceExtensionButtonGroupState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._initExtensionState$0();
    },
    _initExtensionState$0() {
      var t2, t3, _i, extension, extensionName, t4, state, listenable, _this = this,
        t1 = A._setArrayType([], type$.JSArray_ExtensionState);
      for (t2 = _this._widget.extensions, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
        t1.push(new A.ExtensionState(t2[_i]));
      _this.___ServiceExtensionButtonGroupState__extensionStates = t1;
      for (t2 = t1.length, t3 = _this.AutoDisposeMixin__delegate, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        extension = t1[_i];
        extensionName = extension.description.extension;
        t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        state = t4._serviceExtensionState$1(extensionName);
        extension.isSelected = state._change_notifier$_value.enabled;
        t3.addAutoDisposeListener$2(state, new A._ServiceExtensionButtonGroupState__initExtensionState_closure(_this, extension, state));
        t4 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        listenable = t4._hasServiceExtension$1(extensionName);
        extension.isAvailable = listenable._change_notifier$_value;
        t3.addAutoDisposeListener$2(listenable, new A._ServiceExtensionButtonGroupState__initExtensionState_closure0(_this, extension, listenable));
      }
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      if (!A.listEquals(oldWidget.extensions, _this._widget.extensions)) {
        _this.AutoDisposeMixin__delegate.cancelListeners$0();
        _this._initExtensionState$0();
        _this.setState$1(new A._ServiceExtensionButtonGroupState_didUpdateWidget_closure());
      }
      _this.super$State$didUpdateWidget(oldWidget);
    },
    build$1(context) {
      var available, t2, t3, t4, _i, t5, t6, t7, extensionState, description, t8, t9, t10, t11, _this = this, _null = null,
        t1 = _this.___ServiceExtensionButtonGroupState__extensionStates;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      available = B.JSArray_methods.any$1(t1, new A._ServiceExtensionButtonGroupState_build_closure());
      t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = A._setArrayType([], type$.JSArray_bool);
      t3 = _this.___ServiceExtensionButtonGroupState__extensionStates;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t3.length;
      _i = 0;
      for (; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i)
        t2.push(t3[_i].isSelected);
      t3 = available ? _this.get$_service_extension_widgets$_onPressed() : _null;
      t4 = A._setArrayType([], type$.JSArray_Widget);
      t5 = _this.___ServiceExtensionButtonGroupState__extensionStates;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = t5.length;
      t7 = type$.MediaQuery;
      _i = 0;
      for (; _i < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i) {
        extensionState = t5[_i];
        description = extensionState.description;
        t8 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t9 = _this._framework$_element;
        t9.toString;
        t10 = _this._widget.minScreenWidthForTextBeforeScaling;
        t9 = t9.dependOnInheritedWidgetOfExactType$1$0(t7).data;
        t11 = $.globals.$index(0, B.Type_IdeTheme_NnV);
        t9 = t9.size._dx > B.JSNumber_methods.roundToDouble$0(t10 * (t11.fontSize / 14)) ? 16 : 0;
        t10 = extensionState.isSelected ? description.enabledIcon : description.disabledIcon;
        t4.push(new A.ServiceExtensionTooltip(description, A.Container$(_null, new A.ImageIconLabel(t10, description.title, _this._widget.minScreenWidthForTextBeforeScaling, _null), B.Clip_0, _null, _null, _null, _null, t8, _null, _null, new A.EdgeInsets(t9, 0, t9, 0), _null, _null, _null), _null));
      }
      return A.SizedBox$(new A.DevToolsToggleButtonGroup(t4, t2, t3, _null), t1, _null);
    },
    _service_extension_widgets$_onPressed$1(index) {
      var extensionState,
        t1 = this.___ServiceExtensionButtonGroupState__extensionStates;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      extensionState = t1[index];
      if (extensionState.isAvailable)
        this.setState$1(new A._ServiceExtensionButtonGroupState__onPressed_closure(extensionState));
    }
  };
  A._ServiceExtensionButtonGroupState__initExtensionState_closure.prototype = {
    call$0() {
      this.$this.setState$1(new A._ServiceExtensionButtonGroupState__initExtensionState__closure0(this.extension, this.state));
    },
    $signature: 0
  };
  A._ServiceExtensionButtonGroupState__initExtensionState__closure0.prototype = {
    call$0() {
      this.extension.isSelected = this.state._change_notifier$_value.enabled;
    },
    $signature: 0
  };
  A._ServiceExtensionButtonGroupState__initExtensionState_closure0.prototype = {
    call$0() {
      this.$this.setState$1(new A._ServiceExtensionButtonGroupState__initExtensionState__closure(this.extension, this.listenable));
    },
    $signature: 0
  };
  A._ServiceExtensionButtonGroupState__initExtensionState__closure.prototype = {
    call$0() {
      this.extension.isAvailable = this.listenable._change_notifier$_value;
    },
    $signature: 0
  };
  A._ServiceExtensionButtonGroupState_didUpdateWidget_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._ServiceExtensionButtonGroupState_build_closure.prototype = {
    call$1(e) {
      return e.isAvailable;
    },
    $signature: 609
  };
  A._ServiceExtensionButtonGroupState__onPressed_closure.prototype = {
    call$0() {
      var wasSelected, t3,
        t1 = this.extensionState,
        t2 = t1.description,
        gaScreenName = t2.gaScreenName,
        gaItem = t2.gaItem;
      if (gaScreenName != null && gaItem != null)
        A.select(gaScreenName, gaItem, false, null);
      wasSelected = t1.isSelected;
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.values;
      t3 = wasSelected ? t3[1] : t3[0];
      t1.setServiceExtensionState$3$enabled$value(t2.extension, !wasSelected, t3);
    },
    $signature: 0
  };
  A.HotReloadButton.prototype = {
    build$1(context) {
      return A.DevToolsTooltip$(A._RegisteredServiceExtensionButton$_(new A.HotReloadButton_build_closure(), "Hot reload completed.", new A.HotReloadButton_build_closure0(), $.$get$hotReload()), null, null, "Hot reload", B.EdgeInsets_16_16_16_16, false, null, B.Duration_500000);
    }
  };
  A.HotReloadButton_build_closure.prototype = {
    call$0() {
      return $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).runDeviceBusyTask$1$1(A._wrapReloadCall("reload", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$performHotReload()), type$.void);
    },
    $signature: 2
  };
  A.HotReloadButton_build_closure0.prototype = {
    call$1(error) {
      return "Unable to hot reload the app: " + A.S(error);
    },
    $signature: 70
  };
  A.HotRestartButton.prototype = {
    build$1(context) {
      return A.DevToolsTooltip$(A._RegisteredServiceExtensionButton$_(new A.HotRestartButton_build_closure(), "Hot restart completed.", new A.HotRestartButton_build_closure0(), $.$get$hotRestart()), null, null, "Hot restart", B.EdgeInsets_16_16_16_16, false, null, B.Duration_500000);
    }
  };
  A.HotRestartButton_build_closure.prototype = {
    call$0() {
      return $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).runDeviceBusyTask$1$1(A._wrapReloadCall("restart", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$performHotRestart()), type$.void);
    },
    $signature: 2
  };
  A.HotRestartButton_build_closure0.prototype = {
    call$1(error) {
      return "Unable to hot restart the app: " + A.S(error);
    },
    $signature: 70
  };
  A._RegisteredServiceExtensionButton.prototype = {
    createState$0() {
      return new A._RegisteredServiceExtensionButtonState(A.Disposer$(), false, B._StateLifecycle_0);
    },
    action$0($receiver) {
      return this.action.call$0();
    }
  };
  A._RegisteredServiceExtensionButtonState.prototype = {
    initState$0() {
      var serviceRegisteredListenable, _this = this;
      _this.super$State$initState();
      serviceRegisteredListenable = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).registeredServiceListenable$1(_this._widget.serviceDescription.service);
      _this.addAutoDisposeListener$2(serviceRegisteredListenable, new A._RegisteredServiceExtensionButtonState_initState_closure(_this, serviceRegisteredListenable));
    },
    build$1(context) {
      var t1, _null = null;
      if (this._hidden)
        return B.SizedBox_null_null_null_null;
      t1 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t1 = A.BoxConstraints$tightFor(B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t1);
      return A.InkWell$(false, _null, true, A.Container$(B.Alignment_0_0, this._widget.serviceDescription.icon, B.Clip_0, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._RegisteredServiceExtensionButtonState_build_closure(this), _null, _null, _null, _null, _null, _null);
    }
  };
  A._RegisteredServiceExtensionButtonState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._RegisteredServiceExtensionButtonState_initState__closure(t1, this.serviceRegisteredListenable._change_notifier$_value));
    },
    $signature: 0
  };
  A._RegisteredServiceExtensionButtonState_initState__closure.prototype = {
    call$0() {
      this.$this._hidden = !this.registered;
    },
    $signature: 0
  };
  A._RegisteredServiceExtensionButtonState_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.invokeAndCatchErrors$1(new A._RegisteredServiceExtensionButtonState_build__closure(t1));
    },
    $signature: 0
  };
  A._RegisteredServiceExtensionButtonState_build__closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, 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
              t1 = $async$self.$this;
              t2 = t1._widget.serviceDescription;
              A.select(t2.gaScreenName, t2.gaItem, false, null);
              $async$goto = 2;
              return A._asyncAwait(t1._widget.action$0(0), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.StructuredErrorsToggle.prototype = {
    build$1(context) {
      return new A._ServiceExtensionToggle($.$get$structuredErrors(), null, new A.StructuredErrorsToggle_build_closure(), null);
    }
  };
  A.StructuredErrorsToggle_build_closure.prototype = {
    call$1(error) {
      return "Failed to update structuredError settings: " + A.S(error);
    },
    $signature: 70
  };
  A._ServiceExtensionToggle.prototype = {
    createState$0() {
      return new A._ServiceExtensionToggleState(A.Disposer$(), false, B._StateLifecycle_0);
    }
  };
  A._ServiceExtensionToggleState.prototype = {
    initState$0() {
      var t1, state, _this = this;
      _this.super$State$initState();
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      state = t1._serviceExtensionState$1(_this._widget.service.extension);
      _this.value = state._change_notifier$_value.enabled;
      _this.addAutoDisposeListener$2(state, new A._ServiceExtensionToggleState_initState_closure(_this, state));
    },
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this._widget.service,
        t2 = _this.get$_onClick(),
        t3 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return new A.ServiceExtensionTooltip(t1, A.InkWell$(false, _null, true, A.Row$(A._setArrayType([A.SizedBox$(A.Switch$(t2, _this.value), t3, _null), A.Text$(_this._widget.service.title, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.Padding_lAj0], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null), _null);
    },
    _onClick$1(_) {
      var _this = this;
      _this.setState$1(new A._ServiceExtensionToggleState__onClick_closure(_this));
      _this.invokeAndCatchErrors$1(new A._ServiceExtensionToggleState__onClick_closure0(_this));
    },
    _onClick$0() {
      return this._onClick$1(null);
    }
  };
  A._ServiceExtensionToggleState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._ServiceExtensionToggleState_initState__closure(t1, this.state));
    },
    $signature: 0
  };
  A._ServiceExtensionToggleState_initState__closure.prototype = {
    call$0() {
      this.$this.value = this.state._change_notifier$_value.enabled;
    },
    $signature: 0
  };
  A._ServiceExtensionToggleState__onClick_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.value = !t1.value;
    },
    $signature: 0
  };
  A._ServiceExtensionToggleState__onClick_closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, 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 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = $async$self.$this;
              t3 = t2._widget.service;
              t2 = t2.value;
              t4 = t3.values;
              t4 = t2 ? t4[0] : t4[1];
              $async$goto = 2;
              return A._asyncAwait(t1.setServiceExtensionState$3$enabled$value(t3.extension, t2, t4), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.ServiceExtensionCheckbox.prototype = {
    createState$0() {
      var t1 = $.$get$ChangeNotifier__emptyListeners(),
        t2 = type$.ValueNotifier_bool;
      return new A._ServiceExtensionCheckboxState(new A.ValueNotifier(false, t1, t2), new A.ValueNotifier(false, t1, t2), A.Disposer$(), false, B._StateLifecycle_0);
    }
  };
  A.ServiceExtensionCheckbox_closure.prototype = {
    call$1(error) {
      return "Failed to update " + this.serviceExtension.extension + " setting: " + A.S(error);
    },
    $signature: 70
  };
  A._ServiceExtensionCheckboxState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.isServiceExtensionAvailable$1(_this._widget.serviceExtension.extension)) {
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._setValueFromState$1(t1._serviceExtensionState$1(_this._widget.serviceExtension.extension)._change_notifier$_value);
      }
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.waitForServiceExtensionAvailable$1(_this._widget.serviceExtension.extension).then$1$1(new A._ServiceExtensionCheckboxState_initState_closure(_this), type$.Null);
    },
    _setValueFromState$1(state) {
      var valueFromState = state.enabled,
        t1 = this._widget.serviceExtension.inverted ? !valueFromState : valueFromState;
      this.value.set$value(0, t1);
    },
    build$1(context) {
      return new A.ValueListenableBuilder(this.extensionAvailable, new A._ServiceExtensionCheckboxState_build_closure(this, this._widget.serviceExtension.documentationUrl), null, null, type$.ValueListenableBuilder_bool);
    },
    _service_extension_widgets$_onChanged$1(value) {
      this.invokeAndCatchErrors$1(new A._ServiceExtensionCheckboxState__onChanged_closure(this, value));
    }
  };
  A._ServiceExtensionCheckboxState_initState_closure.prototype = {
    call$1(isServiceAvailable) {
      var t1, t2, state;
      if (isServiceAvailable) {
        t1 = this.$this;
        t1.extensionAvailable.set$value(0, true);
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        state = t2._serviceExtensionState$1(t1._widget.serviceExtension.extension);
        t1._setValueFromState$1(state._change_notifier$_value);
        t1.addAutoDisposeListener$2(state, new A._ServiceExtensionCheckboxState_initState__closure(t1, state));
      }
    },
    $signature: 85
  };
  A._ServiceExtensionCheckboxState_initState__closure.prototype = {
    call$0() {
      this.$this._setValueFromState$1(this.state._change_notifier$_value);
    },
    $signature: 0
  };
  A._ServiceExtensionCheckboxState_build_closure.prototype = {
    call$3(context, available, _) {
      var t3, t4, _null = null,
        t1 = this.$this,
        t2 = t1._widget.serviceExtension;
      t2 = A._setArrayType([A.Expanded$(A.CheckboxSetting$(t2.description, available, t2.gaItem, t2.gaScreenName, t1.value, t1.get$_service_extension_widgets$_onChanged(), t2.title, t2.tooltip), 1)], type$.JSArray_Widget);
      t3 = this.docsUrl;
      if (t3 != null) {
        t1 = t1._widget.serviceExtension;
        t4 = t1.gaScreenName;
        t4.toString;
        t1 = t1.gaDocsItem;
        t1.toString;
        t2.push(new A.MoreInfoLink(t3, t4, t1, B.EdgeInsets_0_8_0_8, _null));
      }
      return A.Row$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 121
  };
  A._ServiceExtensionCheckboxState__onChanged_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, enabled, 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
              enabled = $async$self.value === true;
              t1 = $async$self.$this;
              if (t1._widget.serviceExtension.inverted)
                enabled = !enabled;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._widget.serviceExtension;
              t3 = t1.values;
              t3 = enabled ? t3[0] : t3[1];
              $async$goto = 2;
              return A._asyncAwait(t2.setServiceExtensionState$3$enabled$value(t1.extension, enabled, t3), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.ServiceExtensionCheckboxGroupButton.prototype = {
    createState$0() {
      return new A._ServiceExtensionCheckboxGroupButtonState(new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._ServiceExtensionCheckboxGroupButtonState.prototype = {
    initState$0() {
      var t1, i, t2, extension, state, _this = this;
      _this.super$State$initState();
      _this.___ServiceExtensionCheckboxGroupButtonState__extensionStates = A.List_List$filled(_this._widget.extensions.length, false, false, type$.bool);
      for (t1 = _this.AutoDisposeMixin__delegate, i = 0; t2 = _this._widget.extensions, i < t2.length; ++i) {
        extension = t2[i];
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        state = t2._serviceExtensionState$1(extension.extension);
        t2 = _this.___ServiceExtensionCheckboxGroupButtonState__extensionStates;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2[i] = state._change_notifier$_value.enabled;
        t1.addAutoDisposeListener$2(state, new A._ServiceExtensionCheckboxGroupButtonState_initState_closure(_this, i, state));
      }
      _this._service_extension_widgets$_enabled.set$value(0, _this._service_extension_widgets$_isEnabled$0());
    },
    _service_extension_widgets$_isEnabled$0() {
      var t2, _i,
        t1 = this.___ServiceExtensionCheckboxGroupButtonState__extensionStates;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        if (t1[_i])
          return true;
      return false;
    },
    build$1(context) {
      var _null = null, t1 = {},
        t2 = this._widget,
        t3 = t2.title,
        label = new A.Padding(B.EdgeInsets_16_0_16_0, new A.MaterialIconLabel(t2.icon, _null, _null, t3, t2.minScreenWidthForTextBeforeScaling, _null), _null);
      t1.label = label;
      t2 = t2.tooltip;
      if (t2.length !== 0)
        t1.label = A.DevToolsTooltip$(label, _null, _null, t2, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
      return new A.ValueListenableBuilder(this._service_extension_widgets$_enabled, new A._ServiceExtensionCheckboxGroupButtonState_build_closure(t1, this), _null, _null, type$.ValueListenableBuilder_bool);
    },
    _insertOverlay$1(context) {
      var t4, maxY, offset, _this = this,
        t1 = _this._widget.overlayWidth,
        t2 = type$.OverlayState,
        result = context.findAncestorStateOfType$1$0(t2),
        t3 = type$.RenderBox,
        overlayBox = t3._as(result._framework$_element.get$renderObject()),
        box = t3._as(context.get$renderObject());
      t3 = overlayBox._box$_size;
      t4 = t3._dx;
      maxY = t3._dy;
      t3 = box._box$_size.bottomCenter$1(B.Offset_0_0);
      offset = A.MatrixUtils_transformPoint(box.getTransformTo$1(0, overlayBox), new A.Offset(t3._dx + -t1 / 2, t3._dy + 10));
      t1 = B.JSNumber_methods.clamp$2(offset._dx, 0, t4 - t1);
      t4 = B.JSNumber_methods.clamp$2(offset._dy, 0, maxY);
      t3 = _this._service_extension_widgets$_overlay;
      if (t3 != null)
        t3.remove$0(0);
      result = context.findAncestorStateOfType$1$0(t2);
      result.toString;
      t1 = A.OverlayEntry$(new A._ServiceExtensionCheckboxGroupButtonState__insertOverlay_closure(_this, new A.Offset(t1, t4)), true, false);
      _this._service_extension_widgets$_overlay = t1;
      result.insert$1(0, t1);
    },
    _mouseEnter$1($event) {
      this._overlayHovered = true;
    },
    _mouseExit$1($event) {
      this._overlayHovered = false;
    },
    _maybeRemoveOverlay$0() {
      if (!this._overlayHovered) {
        var t1 = this._service_extension_widgets$_overlay;
        if (t1 != null)
          t1.remove$0(0);
        this._service_extension_widgets$_overlay = null;
      }
    }
  };
  A._ServiceExtensionCheckboxGroupButtonState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.___ServiceExtensionCheckboxGroupButtonState__extensionStates;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2[this.i] = this.state._change_notifier$_value.enabled;
      t1._service_extension_widgets$_enabled.set$value(0, t1._service_extension_widgets$_isEnabled$0());
    },
    $signature: 0
  };
  A._ServiceExtensionCheckboxGroupButtonState_build_closure.prototype = {
    call$3(context, enabled, _) {
      var t1 = A._setArrayType([enabled], type$.JSArray_bool);
      return new A.DevToolsToggleButtonGroup(A._setArrayType([this._box_0.label], type$.JSArray_Widget), t1, new A._ServiceExtensionCheckboxGroupButtonState_build__closure(this.$this, context), null);
    },
    $signature: 611
  };
  A._ServiceExtensionCheckboxGroupButtonState_build__closure.prototype = {
    call$1(_) {
      return this.$this._insertOverlay$1(this.context);
    },
    $signature: 26
  };
  A._ServiceExtensionCheckboxGroupButtonState__insertOverlay_closure.prototype = {
    call$1(context) {
      var _null = null,
        t1 = this.$this,
        t2 = this.offset,
        t3 = t1._widget;
      return A.GestureDetector$(B.HitTestBehavior_2, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([A.Positioned$(_null, A.MouseRegion$(new A._ServiceExtensionCheckboxGroupOverlay(t3.overlayDescription, t3.extensions, t3.overlayWidth, t3.customExtensionUi, _null), B.C__DeferringMouseCursor, _null, t1.get$_mouseEnter(), t1.get$_mouseExit(), _null), _null, _null, t2._dx, _null, t2._dy, _null)], type$.JSArray_Widget), _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1.get$_maybeRemoveOverlay(), _null, _null, _null, _null, _null, _null);
    },
    $signature: 612
  };
  A._ServiceExtensionCheckboxGroupOverlay.prototype = {
    build$1(context) {
      var t5, t6, t7, _i, serviceExtension, customUi, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = A.DevToolsColorScheme_get_defaultBackgroundColor(theme.colorScheme),
        t2 = A.Border_Border$all(theme.focusColor, 2),
        t3 = A.BorderRadius$circular(4),
        t4 = A._setArrayType([_this.description, B.SizedBox_null_8_null_null], type$.JSArray_Widget);
      for (t5 = _this.extensions, t6 = t5.length, t7 = _this.customExtensionUi, _i = 0; _i < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i) {
        serviceExtension = t5[_i];
        customUi = t7.$index(0, serviceExtension.extension);
        t4.push(customUi == null ? A.ServiceExtensionCheckbox$(serviceExtension) : customUi);
      }
      return A.Material$(B.Duration_200000, true, _null, A.Container$(_null, A.Column$(t4, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, _null, new A.BoxDecoration(t1, _null, t2, t3, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_16_16_16_16, _null, _null, _this.width), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
    }
  };
  A._ServiceExtensionWidget.prototype = {
    describeError$1(arg0) {
      return this.describeError.call$1(arg0);
    }
  };
  A._ServiceExtensionMixin.prototype = {
    invokeAndCatchErrors$1(action) {
      return this.invokeAndCatchErrors$body$_ServiceExtensionMixin(action);
    },
    invokeAndCatchErrors$body$_ServiceExtensionMixin(action) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, e, st, t1, t2, exception, $async$exception;
      var $async$invokeAndCatchErrors$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
              if ($async$self._ServiceExtensionMixin_disabled) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new A._ServiceExtensionMixin_invokeAndCatchErrors_closure($async$self));
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(action.call$0(), $async$invokeAndCatchErrors$1);
            case 7:
              // returning from await.
              t1 = $async$self._framework$_element;
              if (t1 != null && $async$self._widget.completedText != null) {
                t1.toString;
                t1 = A.Notifications_of(t1);
                t1.toString;
                t2 = $async$self._widget.completedText;
                t2.toString;
                t1.push$1(t2);
              }
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              st = A.getTraceFromException($async$exception);
              A.log(A.S(e) + "\n" + A.S(st), B.LogLevel_0);
              t1 = $async$self._framework$_element;
              if (t1 != null) {
                t1 = A.Notifications_of(t1);
                t1.toString;
                t1.push$1($async$self._widget.describeError$1(e));
              }
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              if ($async$self._framework$_element != null)
                $async$self.setState$1(new A._ServiceExtensionMixin_invokeAndCatchErrors_closure0($async$self));
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 6:
              // 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$invokeAndCatchErrors$1, $async$completer);
    }
  };
  A._ServiceExtensionMixin_invokeAndCatchErrors_closure.prototype = {
    call$0() {
      this.$this._ServiceExtensionMixin_disabled = true;
    },
    $signature: 0
  };
  A._ServiceExtensionMixin_invokeAndCatchErrors_closure0.prototype = {
    call$0() {
      this.$this._ServiceExtensionMixin_disabled = false;
    },
    $signature: 0
  };
  A.ServiceExtensionTooltip.prototype = {
    build$1(context) {
      var colorScheme, t2, t3, t4, textStyle, _null = null,
        t1 = this.description;
      if (t1.documentationUrl != null)
        return new A.ServiceExtensionRichTooltip(t1, this.child, _null);
      colorScheme = A.Theme_of(context).colorScheme;
      t2 = A.Theme_of(context);
      t3 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t3 == null)
        t3 = B.DefaultTextStyle_MTi;
      t4 = colorScheme.brightness === B.Brightness_1 ? B.Color_4282795590 : B.Color_4289638065;
      textStyle = t3.style.copyWith$1$color(t4);
      return A.DevToolsTooltip$(this.child, new A.BoxDecoration(A.DevToolsColorScheme_get_defaultBackgroundColor(colorScheme), _null, A.Border_Border$all(t2.focusColor, 2), A.BorderRadius$circular(4), _null, _null, _null, B.BoxShape_0), _null, t1.tooltip, B.EdgeInsets_16_16_16_16, true, textStyle, B.Duration_500000);
    }
  };
  A.ServiceExtensionRichTooltip.prototype = {
    build$1(context) {
      return A.HoverCardTooltip$(this.child, new A.ServiceExtensionRichTooltip_build_closure(), new A.ServiceExtensionRichTooltip_build_closure0(this, context));
    }
  };
  A.ServiceExtensionRichTooltip_build_closure.prototype = {
    call$0() {
      return true;
    },
    $signature: 23
  };
  A.ServiceExtensionRichTooltip_build_closure0.prototype = {
    call$1(_) {
      var t4, _null = null,
        textColor = A.Theme_of(this.context).colorScheme.brightness === B.Brightness_1 ? B.Color_4282795590 : B.Color_4289638065,
        t1 = this.$this.description,
        t2 = A._setArrayType([A.Text$(t1.tooltip, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, textColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null)], type$.JSArray_Widget),
        t3 = t1.documentationUrl;
      if (t3 != null && t1.gaScreenName != null) {
        t3.toString;
        t4 = t1.gaScreenName;
        t4.toString;
        t2.push(new A.Align(B.Alignment_1_1, _null, _null, new A.MoreInfoLink(t3, t4, A.S(t1.gaItem) + "TooltipLink", _null, _null), _null));
      }
      t1 = A.Material$(B.Duration_200000, true, _null, A.Column$(t2, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
      return A.Future_Future$value(new A.HoverCardData(_null, t1, 300, B.HoverCardPosition_1), type$.HoverCardData);
    },
    $signature: 201
  };
  A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin.prototype = {};
  A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ServiceExtensionCheckboxGroupButtonState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin.prototype = {};
  A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ServiceExtensionToggleState_State__ServiceExtensionMixin.prototype = {};
  A.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.ToggleableServiceExtensionDescription.prototype = {};
  A.ServiceExtensionDescription.prototype = {
    get$extension() {
      return this.extension;
    },
    get$values(receiver) {
      return this.values;
    }
  };
  A.ServiceExtensionDescription_closure.prototype = {
    call$1(v) {
      return J.toString$0$(v);
    },
    $signature() {
      return this.T._eval$1("String(0)");
    }
  };
  A.serviceExtensionsAllowlist_closure.prototype = {
    call$1(extension) {
      return extension.get$extension();
    },
    $signature: 70
  };
  A.serviceExtensionsAllowlist_closure0.prototype = {
    call$1(extension) {
      return extension;
    },
    $signature: 613
  };
  A._unsafeBeforeFirstFrameFlutterExtensions_closure.prototype = {
    call$1(extension) {
      return extension.extension;
    },
    $signature: 614
  };
  A.ServiceConnectionManager.prototype = {
    runDeviceBusyTask$1$1(task, $T) {
      return this.runDeviceBusyTask$body$ServiceConnectionManager(task, $T, $T);
    },
    runDeviceBusyTask$body$ServiceConnectionManager(task, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1;
      var $async$runDeviceBusyTask$1$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
              $async$handler = 3;
              $async$self._deviceBusy.set$value(0, true);
              $async$goto = 6;
              return A._asyncAwait(task, $async$runDeviceBusyTask$1$1);
            case 6:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $async$next = [1];
              // goto finally
              $async$goto = 4;
              break;
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 4:
              // finally
              $async$handler = 2;
              $async$self._deviceBusy.set$value(0, false);
              // 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$runDeviceBusyTask$1$1, $async$completer);
    },
    callService$2$isolateId($name, isolateId) {
      return this.callService$body$ServiceConnectionManager($name, isolateId);
    },
    callService$body$ServiceConnectionManager($name, isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this, t1, t2, t3, registered;
      var $async$callService$2$isolateId = 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
              registered = $async$self._registeredMethodsForService.$index(0, $name);
              if (registered == null)
                registered = B.List_empty0;
              t1 = J.getInterceptor$asx(registered);
              if (t1.get$isEmpty(registered))
                throw A.wrapException(A.Exception_Exception('There are no registered methods for service "' + $name + '"'));
              t2 = $async$self.service;
              t2.toString;
              t1 = t1.get$first(registered);
              t3 = t2.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              $async$returnValue = t2.trackFuture$1$2("callMethod " + t1, t3.callServiceExtension$3$args$isolateId(t1, null, isolateId), type$.Response);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$callService$2$isolateId, $async$completer);
    },
    registeredServiceListenable$1($name) {
      return this._registeredServiceNotifiers.putIfAbsent$2(0, $name, new A.ServiceConnectionManager_registeredServiceListenable_closure());
    },
    vmServiceOpened$2$onClosed(service, onClosed) {
      return this.vmServiceOpened$body$ServiceConnectionManager(service, onClosed);
    },
    vmServiceOpened$body$ServiceConnectionManager(service, onClosed) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, id, e, t1, t2, t3, streamIds, _i, exception, isolates;
      var $async$vmServiceOpened$2$onClosed = 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 (service === $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.service = service;
              if (($async$self._serviceAvailable.future._state & 30) !== 0)
                $async$self._serviceAvailable = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_VmService), type$._AsyncCompleter_VmService);
              t1 = $.Zone__current;
              $async$self.connectedApp = new A.ConnectedApp(new A._AsyncCompleter(new A._Future(t1, type$._Future_bool), type$._AsyncCompleter_bool), new A._AsyncCompleter(new A._Future(t1, type$._Future_nullable_FlutterVersion), type$._AsyncCompleter_nullable_FlutterVersion));
              t1 = $async$self.isolateManager;
              t1._selectedIsolate.set$value(0, null);
              t1.cancelStreamSubscriptions$0();
              t1._isolate_manager$_service = service;
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t2._getEventController$1("Isolate");
              t3 = t1._auto_dispose$_subscriptions;
              t3.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(t1.get$_handleIsolateEvent()));
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t2._getEventController$1("Debug");
              t3.push(new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(t1.get$_handleDebugEvent()));
              t1._mainIsolate.set$value(0, null);
              $async$self.consoleService.vmServiceOpened$1(service);
              t2 = $async$self.__ServiceConnectionManager__serviceExtensionManager;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = $async$self.connectedApp;
              t3.toString;
              t2.vmServiceOpened$2(service, t3);
              t3 = type$.String;
              t2 = type$.Map_of_String_and_nullable_String;
              $async$self.resolvedUriManager._packagePathMappings = new A._PackagePathMappings(A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2));
              $async$goto = 3;
              return A._asyncAwait($async$self.vmFlagManager.vmServiceOpened$1(service), $async$vmServiceOpened$2$onClosed);
            case 3:
              // returning from await.
              t2 = $async$self.connectedApp;
              t2.toString;
              $async$goto = 4;
              return A._asyncAwait($async$self.timelineStreamManager.vmServiceOpened$2(service, t2), $async$vmServiceOpened$2$onClosed);
            case 4:
              // returning from await.
              t2 = $async$self._errorBadgeManager;
              t3 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).__ServiceConnectionManager__serviceExtensionManager;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t3.setServiceExtensionState$3$enabled$value($.$get$structuredErrors().extension, true, true);
              t3 = t2.AutoDisposeControllerMixin__delegate._auto_dispose$_subscriptions;
              t3.push(service.get$onExtensionEventWithHistory().listen$1(t2.get$_error_badge_manager$_handleExtensionEvent()));
              t3.push(service.get$onStderrEventWithHistory().listen$1(t2.get$_handleStdErr()));
              t2 = $async$self._inspectorService;
              if (t2 != null)
                t2.dispose$0();
              $async$self._inspectorService = null;
              if (service !== $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.VM;
              $async$goto = 5;
              return A._asyncAwait(service.trackFuture$1$2("getVM", t2._call$1$1(0, "getVM", t3), t3), $async$vmServiceOpened$2$onClosed);
            case 5:
              // returning from await.
              t3 = $async$result;
              $async$self.vm = t3;
              if (service !== $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = $async$self.sdkVersion = t3.version;
              if ((t2 == null ? null : B.JSString_methods.contains$1(t2, " ")) === true) {
                t2.toString;
                $async$self.sdkVersion = B.JSString_methods.substring$2(t2, 0, B.JSString_methods.indexOf$1(t2, " "));
              }
              t2 = $async$self._serviceAvailable;
              if ((t2.future._state & 30) !== 0) {
                // goto return
                $async$goto = 1;
                break;
              }
              t2.complete$1(0, service);
              $async$self._deviceBusy.set$value(0, false);
              onClosed.then$1$1(new A.ServiceConnectionManager_vmServiceOpened_closure($async$self), type$.void);
              t2 = service.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t2._getEventController$1("Service");
              new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")).listen$1(new A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent($async$self));
              streamIds = ["Debug", "Extension", "GC", "Isolate", "Logging", "Stderr", "Stdout", "Timeline", "VM", "Service"];
              for (_i = 0; _i < 10; ++_i) {
                id = streamIds[_i];
                try {
                  service.streamListen$1(id);
                } catch (exception) {
                  e = A.unwrapException(exception);
                  if (!J.endsWith$1$s(id, "Logging"))
                    A.log("Service client stream not supported: '" + A.S(id) + "'\n  " + A.S(e), B.LogLevel_2);
                }
              }
              if (service !== $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._connectedState.set$value(0, B.ConnectedState_true_false);
              t2 = $async$self.vm;
              isolates = t2 == null ? null : A.VmExtension_isolatesForDevToolsMode(t2);
              $async$goto = 6;
              return A._asyncAwait(t1.init$1(isolates == null ? A._setArrayType([], type$.JSArray_IsolateRef) : isolates), $async$vmServiceOpened$2$onClosed);
            case 6:
              // returning from await.
              if (service !== $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 7;
              return A._asyncAwait($async$self.connectedApp.initializeValues$0(), $async$vmServiceOpened$2$onClosed);
            case 7:
              // returning from await.
              if (service !== $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              $.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS);
              $async$self._inspectorService = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isFlutterAppNow() === true ? A.InspectorService$() : null;
              if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp != null && !$._userApplicationDimensionsComputed && !$._computingUserApplicationDimensions) {
                $._computingUserApplicationDimensions = true;
                A._computeUserApplicationCustomGTagData();
                $._userApplicationDimensionsComputed = true;
              }
              if (service !== $async$self.service) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._connectionAvailableController.add$1(0, service);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$vmServiceOpened$2$onClosed, $async$completer);
    },
    vmServiceClosed$1$connectionState(connectionState) {
      var t1, t2, _this = this, _null = null;
      _this._serviceAvailable = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_VmService), type$._AsyncCompleter_VmService);
      _this.connectedApp = _this.sdkVersion = _this.vm = _this.service = null;
      A.generateDevToolsTitle();
      _this.vmFlagManager._vm_flags$_flags.set$value(0, _null);
      t1 = _this.timelineStreamManager;
      t1._streams.clear$0(0);
      t1._service = null;
      t1 = _this.__ServiceConnectionManager__serviceExtensionManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.cancelStreamSubscriptions$0();
      t1._mainIsolateClosed$0();
      _this.resolvedUriManager._packagePathMappings = null;
      t1 = _this.serviceTrafficLogger;
      if (t1 != null) {
        t2 = t1.__VmServiceTrafficLogger__sendSub;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.cancel$0(0);
        t1 = t1.__VmServiceTrafficLogger__receiveSub;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.cancel$0(0);
      }
      t1 = _this.isolateManager;
      t1.cancelStreamSubscriptions$0();
      t2 = t1._selectedIsolate;
      t2.set$value(0, _null);
      t1._isolate_manager$_service = null;
      t1._lastIsolateIndex = 0;
      t2.set$value(0, _null);
      t1._isolateIndexMap.clear$0(0);
      t1._clearIsolateStates$0();
      t1._mainIsolate.set$value(0, _null);
      t1._isolateRunnableCompleters.clear$0(0);
      t1 = _this.consoleService;
      t1.cancelStreamSubscriptions$0();
      t1._serviceInitialized = false;
      _this._deviceBusy.set$value(0, false);
      _this._connectedState.set$value(0, connectionState);
      _this._connectionClosedController.add$1(0, _null);
      t1 = _this._inspectorService;
      if (t1 != null)
        t1.onIsolateStopped$0();
      t1 = _this._inspectorService;
      if (t1 != null)
        t1.dispose$0();
      _this._inspectorService = null;
    },
    vmServiceClosed$0() {
      return this.vmServiceClosed$1$connectionState(B.ConnectedState_false_false);
    },
    performHotReload$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$performHotReload$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._callServiceOnMainIsolate$1($.$get$hotReload().service), $async$performHotReload$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$performHotReload$0, $async$completer);
    },
    performHotRestart$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$performHotRestart$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._callServiceOnMainIsolate$1($.$get$hotRestart().service), $async$performHotRestart$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$performHotRestart$0, $async$completer);
    },
    get$flutterVersion() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this;
      var $async$get$flutterVersion = 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._callServiceOnMainIsolate$1("flutterVersion"), $async$get$flutterVersion);
            case 3:
              // 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$get$flutterVersion, $async$completer);
    },
    sendDwdsEvent$2$action$screen(action, $screen) {
      return this.sendDwdsEvent$body$ServiceConnectionManager(action, $screen);
    },
    sendDwdsEvent$body$ServiceConnectionManager(action, $screen) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$sendDwdsEvent$2$action$screen = 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 (!$.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._registeredMethodsForService.containsKey$1(0, "ext.dwds.sendEvent")) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$.String;
              $async$goto = 3;
              return A._asyncAwait($async$self._callServiceExtensionOnMainIsolate$2$args("ext.dwds.sendEvent", A.LinkedHashMap_LinkedHashMap$_literal(["type", "DevtoolsEvent", "payload", A.LinkedHashMap_LinkedHashMap$_literal(["screen", $screen, "action", action], t1, t1)], t1, type$.dynamic)), $async$sendDwdsEvent$2$action$screen);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$sendDwdsEvent$2$action$screen, $async$completer);
    },
    _callServiceOnMainIsolate$1($name) {
      return this._callServiceOnMainIsolate$body$ServiceConnectionManager($name);
    },
    _callServiceOnMainIsolate$body$ServiceConnectionManager($name) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this, isolate;
      var $async$_callServiceOnMainIsolate$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(A.whenValueNonNull($async$self.isolateManager._mainIsolate, type$.nullable_IsolateRef), $async$_callServiceOnMainIsolate$1);
            case 3:
              // returning from await.
              isolate = $async$result;
              $async$goto = 4;
              return A._asyncAwait($async$self.callService$2$isolateId($name, isolate == null ? null : isolate.get$id(isolate)), $async$_callServiceOnMainIsolate$1);
            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$_callServiceOnMainIsolate$1, $async$completer);
    },
    _callServiceExtensionOnMainIsolate$2$args(method, args) {
      return this._callServiceExtensionOnMainIsolate$body$ServiceConnectionManager(method, args);
    },
    _callServiceExtensionOnMainIsolate$1(method) {
      return this._callServiceExtensionOnMainIsolate$2$args(method, null);
    },
    _callServiceExtensionOnMainIsolate$body$ServiceConnectionManager(method, args) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this, isolate, t1;
      var $async$_callServiceExtensionOnMainIsolate$2$args = 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.whenValueNonNull($async$self.isolateManager._mainIsolate, type$.nullable_IsolateRef), $async$_callServiceExtensionOnMainIsolate$2$args);
            case 3:
              // returning from await.
              isolate = $async$result;
              t1 = $async$self.service;
              t1.toString;
              $async$goto = 4;
              return A._asyncAwait(t1.callServiceExtension$3$args$isolateId(method, args, isolate == null ? null : isolate.get$id(isolate)), $async$_callServiceExtensionOnMainIsolate$2$args);
            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$_callServiceExtensionOnMainIsolate$2$args, $async$completer);
    },
    get$adbMemoryInfo() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this;
      var $async$get$adbMemoryInfo = 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._callServiceOnMainIsolate$1("flutterMemoryInfo"), $async$get$adbMemoryInfo);
            case 3:
              // 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$get$adbMemoryInfo, $async$completer);
    },
    get$flutterViewId() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, flutterView, message, flutterViewListResponse, t1;
      var $async$get$flutterViewId = 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._callServiceExtensionOnMainIsolate$1("_flutter.listViews"), $async$get$flutterViewId);
            case 3:
              // returning from await.
              flutterViewListResponse = $async$result;
              t1 = flutterViewListResponse.json;
              t1.toString;
              flutterView = A.IterableExtension_firstWhereOrNull(J.cast$1$0$ax(J.$index$asx(t1, "views"), type$.Map_String_dynamic), new A.ServiceConnectionManager_flutterViewId_closure());
              if (flutterView == null) {
                message = "No Flutter Views to query: " + A.S(flutterViewListResponse.json);
                A.log(message, B.LogLevel_2);
                throw A.wrapException(A.Exception_Exception(message));
              }
              $async$returnValue = J.$index$asx(flutterView, "id");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$flutterViewId, $async$completer);
    },
    get$rasterCacheMetrics() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Response),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$get$rasterCacheMetrics = 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.connectedApp;
              $async$temp1 = t1 == null;
              if ($async$temp1)
                $async$result = $async$temp1;
              else {
                // goto then
                $async$goto = 3;
                break;
              }
              // goto join
              $async$goto = 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1.get$isFlutterApp(), $async$get$rasterCacheMetrics);
            case 5:
              // returning from await.
              $async$result = !$async$result;
            case 4:
              // join
              if ($async$result) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = "_flutter.estimateRasterCacheMemory";
              $async$temp2 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self.get$flutterViewId(), $async$get$rasterCacheMetrics);
            case 7:
              // returning from await.
              $async$goto = 6;
              return A._asyncAwait($async$self._callServiceExtensionOnMainIsolate$2$args($async$temp1, $async$temp2.LinkedHashMap_LinkedHashMap$_literal(["viewId", $async$result], type$.String, type$.dynamic)), $async$get$rasterCacheMetrics);
            case 6:
              // 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$get$rasterCacheMetrics, $async$completer);
    },
    get$renderFrameWithRasterStats() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Response),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$get$renderFrameWithRasterStats = 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.connectedApp;
              $async$temp1 = t1 == null;
              if ($async$temp1)
                $async$result = $async$temp1;
              else {
                // goto then
                $async$goto = 3;
                break;
              }
              // goto join
              $async$goto = 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1.get$isFlutterApp(), $async$get$renderFrameWithRasterStats);
            case 5:
              // returning from await.
              $async$result = !$async$result;
            case 4:
              // join
              if ($async$result) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = "_flutter.renderFrameWithRasterStats";
              $async$temp2 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self.get$flutterViewId(), $async$get$renderFrameWithRasterStats);
            case 7:
              // returning from await.
              $async$goto = 6;
              return A._asyncAwait($async$self._callServiceExtensionOnMainIsolate$2$args($async$temp1, $async$temp2.LinkedHashMap_LinkedHashMap$_literal(["viewId", $async$result], type$.String, type$.dynamic)), $async$get$renderFrameWithRasterStats);
            case 6:
              // 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$get$renderFrameWithRasterStats, $async$completer);
    },
    get$queryDisplayRefreshRate() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_double),
        $async$returnValue, $async$self = this, fps, t1, $async$temp1, $async$temp2;
      var $async$get$queryDisplayRefreshRate = 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.connectedApp;
              $async$temp1 = t1 == null;
              if ($async$temp1)
                $async$result = $async$temp1;
              else {
                // goto then
                $async$goto = 3;
                break;
              }
              // goto join
              $async$goto = 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait(t1.get$isFlutterApp(), $async$get$queryDisplayRefreshRate);
            case 5:
              // returning from await.
              $async$result = !$async$result;
            case 4:
              // join
              if ($async$result) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = "_flutter.getDisplayRefreshRate";
              $async$temp2 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self.get$flutterViewId(), $async$get$queryDisplayRefreshRate);
            case 7:
              // returning from await.
              $async$goto = 6;
              return A._asyncAwait($async$self._callServiceExtensionOnMainIsolate$2$args($async$temp1, $async$temp2.LinkedHashMap_LinkedHashMap$_literal(["viewId", $async$result], type$.String, type$.dynamic)), $async$get$queryDisplayRefreshRate);
            case 6:
              // returning from await.
              t1 = $async$result.json;
              t1.toString;
              fps = J.$index$asx(t1, "fps");
              if (fps === 0) {
                $async$returnValue = 60;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = B.JSNumber_methods.roundToDouble$0(fps);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$queryDisplayRefreshRate, $async$completer);
    },
    libraryUriAvailableNow$1(uri) {
      var isolate, t1, t2;
      if (uri == null)
        return false;
      isolate = this.isolateManager.get$mainIsolateDebuggerState()._isolateNow;
      t1 = isolate == null ? null : isolate.libraries;
      if (t1 == null)
        t1 = A._setArrayType([], type$.JSArray_LibraryRef);
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String?>");
      return B.JSArray_methods.any$1(A.List_List$of(new A.MappedListIterable(t1, new A.ServiceConnectionManager_libraryUriAvailableNow_closure(), t2), true, t2._eval$1("ListIterable.E")), new A.ServiceConnectionManager_libraryUriAvailableNow_closure0(uri));
    },
    libraryUriAvailable$1(uri) {
      return this.libraryUriAvailable$body$ServiceConnectionManager(uri);
    },
    libraryUriAvailable$body$ServiceConnectionManager(uri) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$libraryUriAvailable$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(A.whenValueNonNull($async$self.isolateManager._mainIsolate, type$.nullable_IsolateRef), $async$libraryUriAvailable$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$self.libraryUriAvailableNow$1(uri);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$libraryUriAvailable$1, $async$completer);
    }
  };
  A.ServiceConnectionManager_registeredServiceListenable_closure.prototype = {
    call$0() {
      return new A.ImmediateValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ImmediateValueNotifier_bool);
    },
    $signature: 178
  };
  A.ServiceConnectionManager_vmServiceOpened_closure.prototype = {
    call$1(_) {
      return this.$this.vmServiceClosed$0();
    },
    $signature: 86
  };
  A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent.prototype = {
    call$1(e) {
      var t1, t2, t3, t4;
      if (e.kind === "ServiceRegistered") {
        t1 = e.service;
        t1.toString;
        t2 = this.$this;
        t3 = t2._registeredMethodsForService.putIfAbsent$2(0, t1, new A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure());
        t4 = e.method;
        t4.toString;
        J.add$1$ax(t3, t4);
        t2._registeredServiceNotifiers.putIfAbsent$2(0, t1, new A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0()).set$value(0, true);
      }
      if (e.kind === "ServiceUnregistered") {
        t1 = e.service;
        t1.toString;
        t2 = this.$this;
        t2._registeredMethodsForService.remove$1(0, t1);
        t2._registeredServiceNotifiers.putIfAbsent$2(0, t1, new A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1()).set$value(0, false);
      }
    },
    $signature: 11
  };
  A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_String);
    },
    $signature: 354
  };
  A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0.prototype = {
    call$0() {
      return new A.ImmediateValueNotifier(true, $.$get$ChangeNotifier__emptyListeners(), type$.ImmediateValueNotifier_bool);
    },
    $signature: 178
  };
  A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1.prototype = {
    call$0() {
      return new A.ImmediateValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ImmediateValueNotifier_bool);
    },
    $signature: 178
  };
  A.ServiceConnectionManager_flutterViewId_closure.prototype = {
    call$1(view) {
      return J.$eq$(J.$index$asx(view, "type"), "FlutterView");
    },
    $signature: 63
  };
  A.ServiceConnectionManager_libraryUriAvailableNow_closure.prototype = {
    call$1(ref) {
      return ref.get$uri();
    },
    $signature: 616
  };
  A.ServiceConnectionManager_libraryUriAvailableNow_closure0.prototype = {
    call$1(u) {
      return (u == null ? null : B.JSString_methods.startsWith$1(u, this.uri)) === true;
    },
    $signature: 155
  };
  A.ConnectedState.prototype = {};
  A.RegisteredServiceDescription.prototype = {};
  A.VmFlagManager.prototype = {
    flag$1($name) {
      var t1 = this._flagNotifiers;
      return t1.containsKey$1(0, $name) ? t1.$index(0, $name) : null;
    },
    _initFlags$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, flagList, t4, _i, flag, t5, t1;
      var $async$_initFlags$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.__VmFlagManager__service;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.FlagList;
              $async$goto = 2;
              return A._asyncAwait(t1.trackFuture$1$2("getFlagList", t2._call$1$1(0, "getFlagList", t3), t3), $async$_initFlags$0);
            case 2:
              // returning from await.
              flagList = $async$result;
              $async$self._vm_flags$_flags.set$value(0, flagList);
              t1 = flagList.flags;
              if (t1 == null)
                t1 = A._setArrayType([], type$.JSArray_Flag);
              t2 = t1.length;
              t3 = type$.ValueNotifier_Flag;
              t4 = $async$self._flagNotifiers;
              _i = 0;
              for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                flag = t1[_i];
                t5 = flag.name;
                if (t5 == null)
                  t5 = "";
                t4.$indexSet(0, t5, new A.ValueNotifier(flag, $.$get$ChangeNotifier__emptyListeners(), t3));
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_initFlags$0, $async$completer);
    },
    handleVmEvent$1($event) {
      return this.handleVmEvent$body$VmFlagManager($event);
    },
    handleVmEvent$body$VmFlagManager($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, currentFlag, t2, t3, $async$temp1;
      var $async$handleVmEvent$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 = $event.kind === "VMFlagUpdate" ? 2 : 3;
              break;
            case 2:
              // then
              t1 = $async$self._flagNotifiers;
              $async$goto = t1.containsKey$1(0, $event.flag) ? 4 : 5;
              break;
            case 4:
              // then
              currentFlag = t1.$index(0, $event.flag)._change_notifier$_value;
              t1 = t1.$index(0, $event.flag);
              t1.toString;
              t2 = A.Flag$_fromJson(A.LinkedHashMap_LinkedHashMap$_literal(["name", currentFlag.name, "comment", currentFlag.comment, "modified", true, "valueAsString", $event.newValue], type$.String, type$.dynamic));
              t1.set$value(0, t2);
              t1 = $async$self.__VmFlagManager__service;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t1.__VmServiceWrapper__vmService;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = type$.FlagList;
              $async$temp1 = $async$self._vm_flags$_flags;
              $async$goto = 6;
              return A._asyncAwait(t1.trackFuture$1$2("getFlagList", t2._call$1$1(0, "getFlagList", t3), t3), $async$handleVmEvent$1);
            case 6:
              // returning from await.
              $async$temp1.set$value(0, $async$result);
            case 5:
              // join
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleVmEvent$1, $async$completer);
    },
    vmServiceOpened$1(service) {
      return this.vmServiceOpened$body$VmFlagManager(service);
    },
    vmServiceOpened$body$VmFlagManager(service) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$vmServiceOpened$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.cancelStreamSubscriptions$0();
              $async$self.__VmFlagManager__service = service;
              $async$goto = 2;
              return A._asyncAwait($async$self._initFlags$0(), $async$vmServiceOpened$1);
            case 2:
              // returning from await.
              t1 = service.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._getEventController$1("VM");
              $async$self._auto_dispose$_subscriptions.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1($async$self.get$handleVmEvent()));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$vmServiceOpened$1, $async$completer);
    }
  };
  A.VmServiceWrapper.prototype = {
    _initSupportedProtocols$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$_initSupportedProtocols$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.getSupportedProtocols$0(), $async$_initSupportedProtocols$0);
            case 2:
              // returning from await.
              t1 = $async$result.protocols;
              $async$self._ddsSupported = (t1 == null ? null : A.IterableExtension_firstWhereOrNull(t1, new A.VmServiceWrapper__initSupportedProtocols_closure())) != null;
              $async$self._supportedProtocolsInitialized.complete$0(0);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_initSupportedProtocols$0, $async$completer);
    },
    forEachIsolate$1(callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, vm, futures, t2, _i, t1;
      var $async$forEachIsolate$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(t1._call$1$1(0, "getVM", type$.VM), $async$forEachIsolate$1);
            case 2:
              // returning from await.
              vm = $async$result;
              futures = A._setArrayType([], type$.JSArray_Future_dynamic);
              t1 = vm.isolates;
              if (t1 == null)
                t1 = [];
              t2 = t1.length;
              _i = 0;
              for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
                futures.push(callback.call$1(t1[_i]));
              $async$goto = 3;
              return A._asyncAwait(A.Future_wait(futures, type$.dynamic), $async$forEachIsolate$1);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$forEachIsolate$1, $async$completer);
    },
    addBreakpoint$4$column(isolateId, scriptId, line, column) {
      var t2, t3,
        _s13_ = "addBreakpoint",
        t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.dynamic;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "isolateId", isolateId);
      t2.$indexSet(0, "scriptId", scriptId);
      t2.$indexSet(0, "line", line);
      t3 = type$.Breakpoint;
      return this.trackFuture$1$2(_s13_, t1._call$1$2(0, _s13_, t2, t3), t3);
    },
    addBreakpoint$3(isolateId, scriptId, line) {
      return this.addBreakpoint$4$column(isolateId, scriptId, line, null);
    },
    callServiceExtension$3$args$isolateId(method, args, isolateId) {
      var t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return this.trackFuture$1$2("callServiceExtension " + method, t1.callServiceExtension$3$args$isolateId(method, args, isolateId), type$.Response);
    },
    callServiceExtension$2$isolateId(method, isolateId) {
      return this.callServiceExtension$3$args$isolateId(method, null, isolateId);
    },
    clearCpuSamples$1(isolateId) {
      return this.clearCpuSamples$body$VmServiceWrapper(isolateId);
    },
    clearCpuSamples$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Success),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$clearCpuSamples$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.Success;
              $async$returnValue = $async$self.trackFuture$1$2("clearCpuSamples", t1._call$1$2(0, "clearCpuSamples", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearCpuSamples$1, $async$completer);
    },
    clearVMTimeline$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Success),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$clearVMTimeline$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.Success;
              $async$returnValue = $async$self.trackFuture$1$2("clearVMTimeline", t1._call$1$1(0, "clearVMTimeline", t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearVMTimeline$0, $async$completer);
    },
    evaluate$5$disableBreakpoints$scope(_, isolateId, targetId, expression, disableBreakpoints, scope) {
      var t2, t3,
        t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.dynamic;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "isolateId", isolateId);
      t2.$indexSet(0, "targetId", targetId);
      t2.$indexSet(0, "expression", expression);
      if (scope != null)
        t2.$indexSet(0, "scope", scope);
      t2.$indexSet(0, "disableBreakpoints", true);
      t3 = type$.Response;
      return this.trackFuture$1$2("evaluate " + expression, t1._call$1$2(0, "evaluate", t2, t3), t3);
    },
    getAllocationProfile$3$gc$reset(isolateId, gc, reset) {
      return this.getAllocationProfile$body$VmServiceWrapper(isolateId, gc, reset);
    },
    getAllocationProfile$2$gc(isolateId, gc) {
      return this.getAllocationProfile$3$gc$reset(isolateId, gc, null);
    },
    getAllocationProfile$2$reset(isolateId, reset) {
      return this.getAllocationProfile$3$gc$reset(isolateId, null, reset);
    },
    getAllocationProfile$body$VmServiceWrapper(isolateId, gc, reset) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.AllocationProfile),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getAllocationProfile$3$gc$reset = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              t2.$indexSet(0, "isolateId", isolateId);
              if (reset === true)
                t2.$indexSet(0, "reset", reset);
              if (gc === true)
                t2.$indexSet(0, "gc", gc);
              t3 = type$.AllocationProfile;
              $async$returnValue = $async$self.trackFuture$1$2("getAllocationProfile", t1._call$1$2(0, "getAllocationProfile", t2, t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getAllocationProfile$3$gc$reset, $async$completer);
    },
    getCpuSamples$3(isolateId, timeOriginMicros, timeExtentMicros) {
      return this.getCpuSamples$body$VmServiceWrapper(isolateId, timeOriginMicros, timeExtentMicros);
    },
    getCpuSamples$body$VmServiceWrapper(isolateId, timeOriginMicros, timeExtentMicros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.CpuSamples),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getCpuSamples$3 = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.CpuSamples;
              $async$returnValue = $async$self.trackFuture$1$2("getCpuSamples", t1._call$1$2(0, "getCpuSamples", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId, "timeOriginMicros", timeOriginMicros, "timeExtentMicros", timeExtentMicros], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getCpuSamples$3, $async$completer);
    },
    getObject$4$count$offset(_, isolateId, objectId, count, offset) {
      var t1, t2, t3,
        _s9_ = "getObject",
        cachedObj = this.fakeServiceCache.getObject$3$count$objectId$offset(0, count, objectId, offset);
      if (cachedObj != null)
        return A.Future_Future$value(cachedObj, type$.Obj);
      t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.dynamic;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "isolateId", isolateId);
      t2.$indexSet(0, "objectId", objectId);
      if (offset != null)
        t2.$indexSet(0, "offset", offset);
      if (count != null)
        t2.$indexSet(0, "count", count);
      t3 = type$.Obj;
      return this.trackFuture$1$2(_s9_, t1._call$1$2(0, _s9_, t2, t3), t3);
    },
    getObject$2($receiver, isolateId, objectId) {
      return this.getObject$4$count$offset($receiver, isolateId, objectId, null, null);
    },
    getSourceReport$8$endTokenPos$forceCompile$libraryFilters$reportLines$scriptId$tokenPos(isolateId, reports, endTokenPos, forceCompile, libraryFilters, reportLines, scriptId, tokenPos) {
      return this.getSourceReport$body$VmServiceWrapper(isolateId, reports, endTokenPos, true, libraryFilters, reportLines, scriptId, tokenPos);
    },
    getSourceReport$4$forceCompile$scriptId(isolateId, reports, forceCompile, scriptId) {
      return this.getSourceReport$8$endTokenPos$forceCompile$libraryFilters$reportLines$scriptId$tokenPos(isolateId, reports, null, forceCompile, null, null, scriptId, null);
    },
    getSourceReport$body$VmServiceWrapper(isolateId, reports, endTokenPos, forceCompile, libraryFilters, reportLines, scriptId, tokenPos) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SourceReport),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getSourceReport$8$endTokenPos$forceCompile$libraryFilters$reportLines$scriptId$tokenPos = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              t2.$indexSet(0, "isolateId", isolateId);
              t2.$indexSet(0, "reports", reports);
              if (scriptId != null)
                t2.$indexSet(0, "scriptId", scriptId);
              t2.$indexSet(0, "forceCompile", true);
              t3 = type$.SourceReport;
              $async$returnValue = $async$self.trackFuture$1$2("getSourceReport", t1._call$1$2(0, "getSourceReport", t2, t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getSourceReport$8$endTokenPos$forceCompile$libraryFilters$reportLines$scriptId$tokenPos, $async$completer);
    },
    getStack$2$limit(isolateId, limit) {
      return this.getStack$body$VmServiceWrapper(isolateId, limit);
    },
    getStack$body$VmServiceWrapper(isolateId, limit) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Stack),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getStack$2$limit = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              t2.$indexSet(0, "isolateId", isolateId);
              if (limit != null)
                t2.$indexSet(0, "limit", limit);
              t3 = type$.Stack;
              $async$returnValue = $async$self.trackFuture$1$2("getStack", t1._call$1$2(0, "getStack", t2, t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getStack$2$limit, $async$completer);
    },
    getVMTimeline$2$timeExtentMicros$timeOriginMicros(timeExtentMicros, timeOriginMicros) {
      return this.getVMTimeline$body$VmServiceWrapper(timeExtentMicros, timeOriginMicros);
    },
    getVMTimeline$body$VmServiceWrapper(timeExtentMicros, timeOriginMicros) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Timeline),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getVMTimeline$2$timeExtentMicros$timeOriginMicros = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              t2.$indexSet(0, "timeOriginMicros", timeOriginMicros);
              t2.$indexSet(0, "timeExtentMicros", timeExtentMicros);
              t3 = type$.Timeline;
              $async$returnValue = $async$self.trackFuture$1$2("getVMTimeline", t1._call$1$2(0, "getVMTimeline", t2, t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getVMTimeline$2$timeExtentMicros$timeOriginMicros, $async$completer);
    },
    getVMTimelineMicros$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Timestamp),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$getVMTimelineMicros$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.Timestamp;
              $async$returnValue = $async$self.trackFuture$1$2("getVMTimelineMicros", t1._call$1$1(0, "getVMTimelineMicros", t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getVMTimelineMicros$0, $async$completer);
    },
    getVersion$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Version),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$getVersion$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.Version;
              $async$returnValue = $async$self.trackFuture$1$2("getVersion", t1._call$1$1(0, "getVersion", t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getVersion$0, $async$completer);
    },
    invoke$5$disableBreakpoints(isolateId, targetId, selector, argumentIds, disableBreakpoints) {
      var t2, t3,
        t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.dynamic;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "isolateId", isolateId);
      t2.$indexSet(0, "targetId", targetId);
      t2.$indexSet(0, "selector", selector);
      t2.$indexSet(0, "argumentIds", argumentIds);
      t2.$indexSet(0, "disableBreakpoints", true);
      t3 = type$.Response;
      return this.trackFuture$1$2("invoke " + selector, t1._call$1$2(0, "invoke", t2, t3), t3);
    },
    getHeapSnapshotGraph$1(isolateRef) {
      return this.getHeapSnapshotGraph$body$VmServiceWrapper(isolateRef);
    },
    getHeapSnapshotGraph$body$VmServiceWrapper(isolateRef) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HeapSnapshotGraph),
        $async$returnValue, $async$self = this, t1;
      var $async$getHeapSnapshotGraph$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 3;
              return A._asyncAwait(A.HeapSnapshotGraph_getSnapshot(t1, isolateRef), $async$getHeapSnapshotGraph$1);
            case 3:
              // 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$getHeapSnapshotGraph$1, $async$completer);
    },
    resume$3$frameIndex$step(_, isolateId, frameIndex, step) {
      var t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return this.trackFuture$1$2("resume", t1.resume$3$frameIndex$step(0, isolateId, frameIndex, step), type$.Success);
    },
    resume$2$step($receiver, isolateId, step) {
      return this.resume$3$frameIndex$step($receiver, isolateId, null, step);
    },
    resume$1($receiver, isolateId) {
      return this.resume$3$frameIndex$step($receiver, isolateId, null, null);
    },
    setVMTimelineFlags$1(recordedStreams) {
      return this.setVMTimelineFlags$body$VmServiceWrapper(recordedStreams);
    },
    setVMTimelineFlags$body$VmServiceWrapper(recordedStreams) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Success),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$setVMTimelineFlags$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.Success;
              $async$returnValue = $async$self.trackFuture$1$2("setVMTimelineFlags", t1._call$1$2(0, "setVMTimelineFlags", A.LinkedHashMap_LinkedHashMap$_literal(["recordedStreams", recordedStreams], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$setVMTimelineFlags$1, $async$completer);
    },
    streamListen$1(streamId) {
      var t3, t4, future,
        _s12_ = "streamListen",
        t1 = this._activeStreams,
        t2 = type$.Success;
      if (!t1.containsKey$1(0, streamId)) {
        t3 = this.__VmServiceWrapper__vmService;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t4 = type$.dynamic;
        future = this.trackFuture$1$2(_s12_, t3._call$1$2(0, _s12_, A.LinkedHashMap_LinkedHashMap$_literal(["streamId", streamId], t4, t4), t2), t2);
        t1.$indexSet(0, streamId, future);
        return future;
      } else
        return t1.$index(0, streamId).then$1$1(new A.VmServiceWrapper_streamListen_closure(), t2);
    },
    setTraceClassAllocation$3(isolateId, classId, enable) {
      return this.setTraceClassAllocation$body$VmServiceWrapper(isolateId, classId, enable);
    },
    setTraceClassAllocation$body$VmServiceWrapper(isolateId, classId, enable) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Success),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$setTraceClassAllocation$3 = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.Success;
              $async$returnValue = $async$self.trackFuture$1$2("setTraceClassAllocation", t1._call$1$2(0, "setTraceClassAllocation", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId, "classId", classId, "enable", enable], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$setTraceClassAllocation$3, $async$completer);
    },
    getSupportedProtocols$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ProtocolList),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$getSupportedProtocols$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.ProtocolList;
              $async$returnValue = $async$self.trackFuture$1$2("getSupportedProtocols", t1._call$1$1(0, "getSupportedProtocols", t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getSupportedProtocols$0, $async$completer);
    },
    getPorts$1(isolateId) {
      return this.getPorts$body$VmServiceWrapper(isolateId);
    },
    getPorts$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.PortList),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getPorts$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.PortList;
              $async$returnValue = $async$self.trackFuture$1$2("getPorts", t1._call$1$2(0, "getPorts", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getPorts$1, $async$completer);
    },
    lookupPackageUris$2(isolateId, uris) {
      return this.lookupPackageUris$body$VmServiceWrapper(isolateId, uris);
    },
    lookupPackageUris$body$VmServiceWrapper(isolateId, uris) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.UriList),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$lookupPackageUris$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.UriList;
              $async$returnValue = $async$self.trackFuture$1$2("lookupPackageUris", t1._call$1$2(0, "lookupPackageUris", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId, "uris", uris], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$lookupPackageUris$2, $async$completer);
    },
    lookupResolvedPackageUris$3$local(isolateId, uris, local) {
      return this.lookupResolvedPackageUris$body$VmServiceWrapper(isolateId, uris, local);
    },
    lookupResolvedPackageUris$2(isolateId, uris) {
      return this.lookupResolvedPackageUris$3$local(isolateId, uris, null);
    },
    lookupResolvedPackageUris$body$VmServiceWrapper(isolateId, uris, local) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.UriList),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$lookupResolvedPackageUris$3$local = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              t2.$indexSet(0, "isolateId", isolateId);
              t2.$indexSet(0, "uris", uris);
              t3 = type$.UriList;
              $async$returnValue = $async$self.trackFuture$1$2("lookupResolvedPackageUris", t1._call$1$2(0, "lookupResolvedPackageUris", t2, t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$lookupResolvedPackageUris$3$local, $async$completer);
    },
    get$onExtensionEventWithHistory() {
      var t2,
        _s9_ = "Extension",
        t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.DdsExtension_onEventWithHistory(t1, _s9_);
      t2 = this.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1(_s9_);
      return this._maybeReturnStreamWithHistory$2$fallbackStream(t1, new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")));
    },
    get$onStderrEventWithHistory() {
      var t2,
        t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.DdsExtension_onEventWithHistory(t1, "Stderr");
      t2 = this.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1("Stderr");
      return this._maybeReturnStreamWithHistory$2$fallbackStream(t1, new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")));
    },
    get$onStdoutEventWithHistory() {
      var t2,
        t1 = this.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.DdsExtension_onEventWithHistory(t1, "Stdout");
      t2 = this.__VmServiceWrapper__vmService;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._getEventController$1("Stdout");
      return this._maybeReturnStreamWithHistory$2$fallbackStream(t1, new A._BroadcastStream(t2, A._instanceType(t2)._eval$1("_BroadcastStream<1>")));
    },
    _maybeReturnStreamWithHistory$2$fallbackStream(ddsStream, fallbackStream) {
      if (this._ddsSupported)
        return ddsStream;
      return fallbackStream;
    },
    socketProfilingEnabled$2(isolateId, enabled) {
      return this.socketProfilingEnabled$body$VmServiceWrapper(isolateId, true);
    },
    socketProfilingEnabled$body$VmServiceWrapper(isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SocketProfilingState),
        $async$returnValue, $async$self = this, t1;
      var $async$socketProfilingEnabled$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$returnValue = $async$self.trackFuture$1$2("socketProfilingEnabled", A.DartIOExtension_socketProfilingEnabled(t1, isolateId, true), type$.SocketProfilingState);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$socketProfilingEnabled$2, $async$completer);
    },
    clearSocketProfile$1(isolateId) {
      return this.clearSocketProfile$body$VmServiceWrapper(isolateId);
    },
    clearSocketProfile$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Success),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$clearSocketProfile$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.Success;
              $async$returnValue = $async$self.trackFuture$1$2("clearSocketProfile", A.DartIOExtension__callHelper(t1, "ext.dart.io.clearSocketProfile", isolateId, B.Map_empty7, t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearSocketProfile$1, $async$completer);
    },
    getSocketProfile$1(isolateId) {
      return this.getSocketProfile$body$VmServiceWrapper(isolateId);
    },
    getSocketProfile$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.SocketProfile),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$getSocketProfile$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.SocketProfile;
              $async$returnValue = $async$self.trackFuture$1$2("getSocketProfile", A.DartIOExtension__callHelper(t1, "ext.dart.io.getSocketProfile", isolateId, B.Map_empty7, t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getSocketProfile$1, $async$completer);
    },
    httpEnableTimelineLogging$2(isolateId, enabled) {
      return this.httpEnableTimelineLogging$body$VmServiceWrapper(isolateId, enabled);
    },
    httpEnableTimelineLogging$1(isolateId) {
      return this.httpEnableTimelineLogging$2(isolateId, null);
    },
    httpEnableTimelineLogging$body$VmServiceWrapper(isolateId, enabled) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HttpTimelineLoggingState),
        $async$returnValue, $async$self = this, t1;
      var $async$httpEnableTimelineLogging$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$returnValue = $async$self.trackFuture$1$2("httpEnableTimelineLogging", A.DartIOExtension_httpEnableTimelineLogging(t1, isolateId, enabled), type$.HttpTimelineLoggingState);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$httpEnableTimelineLogging$2, $async$completer);
    },
    getHttpProfile$2$updatedSince(isolateId, updatedSince) {
      return this.getHttpProfile$body$VmServiceWrapper(isolateId, updatedSince);
    },
    getHttpProfile$body$VmServiceWrapper(isolateId, updatedSince) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HttpProfile),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getHttpProfile$2$updatedSince = 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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              t2.$indexSet(0, "updatedSince", updatedSince);
              t3 = type$.HttpProfile;
              $async$returnValue = $async$self.trackFuture$1$2("getHttpProfile", A.DartIOExtension__callHelper(t1, "ext.dart.io.getHttpProfile", isolateId, t2, t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getHttpProfile$2$updatedSince, $async$completer);
    },
    getHttpProfileRequest$2(isolateId, id) {
      return this.getHttpProfileRequest$body$VmServiceWrapper(isolateId, id);
    },
    getHttpProfileRequest$body$VmServiceWrapper(isolateId, id) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.HttpProfileRequest),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$getHttpProfileRequest$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.HttpProfileRequest;
              $async$returnValue = $async$self.trackFuture$1$2("getHttpProfileRequest", A.DartIOExtension__callHelper(t1, "ext.dart.io.getHttpProfileRequest", isolateId, A.LinkedHashMap_LinkedHashMap$_literal(["id", id], t2, t2), t3), t3);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getHttpProfileRequest$2, $async$completer);
    },
    clearHttpProfile$1(isolateId) {
      return this.clearHttpProfile$body$VmServiceWrapper(isolateId);
    },
    clearHttpProfile$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Success),
        $async$returnValue, $async$self = this, t2, t1;
      var $async$clearHttpProfile$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.Success;
              $async$returnValue = $async$self.trackFuture$1$2("clearHttpProfile", A.DartIOExtension__callHelper(t1, "ext.dart.io.clearHttpProfile", isolateId, B.Map_empty7, t2), t2);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$clearHttpProfile$1, $async$completer);
    },
    isSocketProfilingAvailable$1(isolateId) {
      return this.isSocketProfilingAvailable$body$VmServiceWrapper(isolateId);
    },
    isSocketProfilingAvailable$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t2, t3, t1;
      var $async$isSocketProfilingAvailable$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.Isolate;
              $async$goto = 3;
              return A._asyncAwait($async$self.trackFuture$1$2("getIsolate", t1._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), t3), t3), $async$isSocketProfilingAvailable$1);
            case 3:
              // returning from await.
              t3 = $async$result.extensionRPCs;
              $async$returnValue = B.JSArray_methods.contains$1(t3 == null ? A._setArrayType([], type$.JSArray_String) : t3, "ext.dart.io.getSocketProfile");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$isSocketProfilingAvailable$1, $async$completer);
    },
    isHttpTimelineLoggingAvailable$1(isolateId) {
      return this.isHttpTimelineLoggingAvailable$body$VmServiceWrapper(isolateId);
    },
    isHttpTimelineLoggingAvailable$body$VmServiceWrapper(isolateId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t2, t3, rpcs, t1;
      var $async$isHttpTimelineLoggingAvailable$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.__VmServiceWrapper__vmService;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = type$.dynamic;
              t3 = type$.Isolate;
              $async$goto = 3;
              return A._asyncAwait($async$self.trackFuture$1$2("getIsolate", t1._call$1$2(0, "getIsolate", A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), t3), t3), $async$isHttpTimelineLoggingAvailable$1);
            case 3:
              // returning from await.
              rpcs = $async$result.extensionRPCs;
              $async$returnValue = B.JSArray_methods.contains$1(rpcs == null ? A._setArrayType([], type$.JSArray_String) : rpcs, "ext.dart.io.httpEnableTimelineLogging");
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$isHttpTimelineLoggingAvailable$1, $async$completer);
    },
    retrieveFullStringValue$3$onUnavailable(isolateId, stringRef, onUnavailable) {
      return this.retrieveFullStringValue$body$VmServiceWrapper(isolateId, stringRef, onUnavailable);
    },
    retrieveFullStringValue$2(isolateId, stringRef) {
      return this.retrieveFullStringValue$3$onUnavailable(isolateId, stringRef, null);
    },
    retrieveFullStringValue$body$VmServiceWrapper(isolateId, stringRef, onUnavailable) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_String),
        $async$returnValue, $async$self = this, t1, result;
      var $async$retrieveFullStringValue$3$onUnavailable = 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 (stringRef.get$valueAsStringIsTruncated() !== true) {
                $async$returnValue = stringRef.get$valueAsString(stringRef);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = stringRef.get$id(stringRef);
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait($async$self.getObject$4$count$offset(0, isolateId, t1, stringRef.get$length(stringRef), 0), $async$retrieveFullStringValue$3$onUnavailable);
            case 3:
              // returning from await.
              result = $async$result;
              if (result instanceof A.Instance) {
                $async$returnValue = result.get$valueAsString(result);
                // goto return
                $async$goto = 1;
                break;
              } else if (onUnavailable != null) {
                $async$returnValue = onUnavailable.call$1(stringRef.get$valueAsString(stringRef));
                // goto return
                $async$goto = 1;
                break;
              } else
                throw A.wrapException(A.Exception_Exception('The full string for "{stringRef.valueAsString}..." is unavailable'));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$retrieveFullStringValue$3$onUnavailable, $async$completer);
    },
    trackFuture$1$2($name, future, $T) {
      return future;
    },
    noSuchMethod$1(_, invocation) {
      return this.super$Object$noSuchMethod(0, invocation);
    },
    $isVmService: 1
  };
  A.VmServiceWrapper__initSupportedProtocols_closure.prototype = {
    call$1(p) {
      var t1 = p.protocolName;
      t1 = t1 == null ? null : A.StringExtension_caseInsensitiveEquals(t1, "DDS");
      return t1 === true;
    },
    $signature: 617
  };
  A.VmServiceWrapper_streamListen_closure.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 618
  };
  A.DevToolsAboutDialog.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.Theme_of(context).textTheme,
        t2 = A.Text$("About DevTools", _null, _null, _null, _null, _null, t1.titleLarge, _null, _null, _null, _null),
        t3 = type$.JSArray_Widget,
        t4 = A._setArrayType([B.SelectableText_NLA, B.SizedBox_null_16_null_null], t3);
      B.JSArray_methods.addAll$1(t4, A._setArrayType([A.Text$("Feedback", _null, _null, _null, _null, _null, t1.titleMedium, _null, _null, _null, _null), B.PaddedDivider_wEo], t3));
      t4.push(A.Wrap$(B.WrapAlignment_0, B.List_s8I, B.WrapCrossAlignment_0));
      t4.push(A.Wrap$(B.WrapAlignment_0, B.List_kaS, B.WrapCrossAlignment_0));
      t4 = A.Column$(t4, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t3), t4, true, true, t2);
    }
  };
  A._FeedbackLink.prototype = {
    build$1(context) {
      var _null = null;
      return A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.LinkTextSpan$(context, $.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS).issueTrackerLink$0(), new A._FeedbackLink_build_closure(), _null), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
    }
  };
  A._FeedbackLink_build_closure.prototype = {
    call$0() {
      A.select("main", "feedback", false, null);
    },
    $signature: 0
  };
  A._DiscordLink.prototype = {
    build$1(context) {
      var _null = null;
      return A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.LinkTextSpan$(context, B.Link_oea, new A._DiscordLink_build_closure(), _null), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
    }
  };
  A._DiscordLink_build_closure.prototype = {
    call$0() {
      A.select("main", "discord", false, null);
    },
    $signature: 0
  };
  A.OpenAboutAction.prototype = {
    build$1(context) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.DevToolsTooltip$(A.InkWell$(false, _null, true, A.Container$(B.Alignment_0_0, A.Icon$(B.IconData_58123_MaterialIcons_true, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, t1), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.OpenAboutAction_build_closure(context), _null, _null, _null, _null, _null, _null), _null, _null, "About DevTools", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.OpenAboutAction_build_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              A.showDialog(true, new A.OpenAboutAction_build__closure(), $async$self.context, type$.void);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.OpenAboutAction_build__closure.prototype = {
    call$1(context) {
      return new A.DevToolsAboutDialog(null);
    },
    $signature: 619
  };
  A.setupErrorHandling_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              if ($.WidgetsBinding__instance == null)
                A.WidgetsFlutterBinding$();
              $.WidgetsBinding__instance.toString;
              $.FlutterError_onError = new A.setupErrorHandling__closure($.$get$FlutterError_onError());
              $async$returnValue = $async$self.appStartCallback.call$0();
              // 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: 2
  };
  A.setupErrorHandling__closure.prototype = {
    call$1(details) {
      var t1 = details.stack;
      if (t1 == null)
        t1 = B._StringStackTrace_3uE;
      A._reportError(details.exception, t1);
      t1 = this.oldHandler;
      if (t1 != null)
        t1.call$1(details);
    },
    $signature: 620
  };
  A.setupErrorHandling_closure0.prototype = {
    call$2(error, stack) {
      A._reportError(error, stack);
    },
    $signature: 27
  };
  A.BannerMessagesController.prototype = {
    addMessage$1(message) {
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.BannerMessagesController_addMessage_closure(this, message));
    },
    removeMessage$2$dismiss(message, dismiss) {
      $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.BannerMessagesController_removeMessage_closure(this, dismiss, message));
    },
    removeMessage$1(message) {
      return this.removeMessage$2$dismiss(message, false);
    },
    removeMessageByKey$2(key, screenId) {
      var messageWithKey = A.IterableExtension_firstWhereOrNull(this._messagesForScreen$1(screenId)._change_notifier$_value, new A.BannerMessagesController_removeMessageByKey_closure(key));
      if (messageWithKey != null)
        this.removeMessage$1(messageWithKey);
    },
    isMessageVisible$1(message) {
      var t1 = J.where$1$ax(this._messagesForScreen$1(message.screenId)._change_notifier$_value, new A.BannerMessagesController_isMessageVisible_closure(message));
      return !t1.get$isEmpty(t1);
    },
    _messagesForScreen$1(screenId) {
      return this._messages.putIfAbsent$2(0, screenId, new A.BannerMessagesController__messagesForScreen_closure());
    }
  };
  A.BannerMessagesController_addMessage_closure.prototype = {
    call$1(_) {
      var messages,
        t1 = this.$this,
        t2 = this.message;
      if (t1._dismissedMessageKeys.contains$1(0, t2.key) || t1.isMessageVisible$1(t2))
        return;
      messages = t1._messagesForScreen$1(t2.screenId);
      J.add$1$ax(messages._change_notifier$_value, t2);
      messages.notifyListeners$0();
    },
    $signature: 3
  };
  A.BannerMessagesController_removeMessage_closure.prototype = {
    call$1(_) {
      var t1, messages, _this = this;
      if (_this.dismiss)
        _this.$this._dismissedMessageKeys.add$1(0, _this.message.key);
      t1 = _this.message;
      messages = _this.$this._messagesForScreen$1(t1.screenId);
      J.remove$1$ax(messages._change_notifier$_value, t1);
      messages.notifyListeners$0();
    },
    $signature: 3
  };
  A.BannerMessagesController_removeMessageByKey_closure.prototype = {
    call$1(m) {
      return J.$eq$(m.key, this.key);
    },
    $signature: 312
  };
  A.BannerMessagesController_isMessageVisible_closure.prototype = {
    call$1(m) {
      return J.$eq$(m.key, this.message.key);
    },
    $signature: 312
  };
  A.BannerMessagesController__messagesForScreen_closure.prototype = {
    call$0() {
      return new A.ValueNotifier(A._setArrayType([], type$.JSArray_BannerMessage), $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_List_BannerMessage);
    },
    $signature: 622
  };
  A.BannerMessages.prototype = {
    build$1(context) {
      var t1 = this.screen;
      return A.Column$(A._setArrayType([new A.ValueListenableBuilder(A.Provider_of(context, true, type$.BannerMessagesController)._messagesForScreen$1(t1.screenId), new A.BannerMessages_build_closure(), null, null, type$.ValueListenableBuilder_List_BannerMessage), A.Expanded$(t1.build$1(context), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.BannerMessages_build_closure.prototype = {
    call$3(context, messages, _) {
      return A.Column$(messages, B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature: 623
  };
  A.BannerMessage.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.backgroundColor,
        t2 = _this.foregroundColor,
        t3 = type$.JSArray_Widget;
      return A.Card$(new A.Padding(B.EdgeInsets_16_16_16_16, A.Column$(A._setArrayType([A.Row$(A._setArrayType([A.Text$(_this.headerText, _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.bodyLarge.copyWith$1$color(t2), _null, _null, _null, _null), B.SizedBox_16_null_null_null, A.Expanded$(A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.TextSpan$(_this.textSpans, _null, _null, _null, _null), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0), 1), B.SizedBox_16_null_null_null, new A.CircularIconButton(B.IconData_57706_MaterialIcons_false, new A.BannerMessage_build_closure(_this, context), t1, t2, _null)], t3), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null)], t3), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null), _null, t1, _null, B.EdgeInsets_0_0_0_6, _null);
    }
  };
  A.BannerMessage_build_closure.prototype = {
    call$0() {
      return A.Provider_of(this.context, false, type$.BannerMessagesController).removeMessage$2$dismiss(this.$this, true);
    },
    $signature: 0
  };
  A._BannerError.prototype = {};
  A._BannerWarning.prototype = {};
  A.HighProfileGranularityMessage.prototype = {};
  A.CollapsibleAnimationMixin.prototype = {
    setExpanded$1(expanded) {
      this.setState$1(new A.CollapsibleAnimationMixin_setExpanded_closure(this, expanded));
    }
  };
  A.CollapsibleAnimationMixin_setExpanded_closure.prototype = {
    call$0() {
      var t1 = this.expanded,
        t2 = this.$this,
        t3 = t2.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1) {
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.forward$0(0);
      } else {
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.reverse$0(0);
      }
      t2.onExpandChanged$1(t1);
    },
    $signature: 0
  };
  A.PaddedDivider.prototype = {
    build$1(context) {
      return new A.Padding(this.padding, B.Divider_null_1_null_null, null);
    }
  };
  A.OutlinedIconButton.prototype = {};
  A.IconLabelButton.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.minScreenWidthForTextBeforeScaling,
        iconLabel = new A.MaterialIconLabel(_this.icon, _this.imageIcon, _null, _this.label, t1, _null),
        t2 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = !A.includeText(context, t1) ? B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : _null,
        t4 = _this.onPressed;
      return A.maybeWrapWithTooltip(A.SizedBox$(_this.outlined ? A.OutlinedButton$(false, iconLabel, _null, t4, A.denseAwareOutlinedButtonStyle(context, t1)) : A.TextButton$(iconLabel, _null, t4, A.denseAwareOutlinedButtonStyle(context, t1)), t2, t3), _this.tooltip, _this.tooltipPadding);
    }
  };
  A.PauseButton.prototype = {};
  A.ResumeButton.prototype = {};
  A.ClearButton.prototype = {};
  A.RefreshButton.prototype = {};
  A.RecordButton.prototype = {};
  A.StopRecordingButton.prototype = {};
  A.SettingsOutlinedButton.prototype = {};
  A.HelpButton.prototype = {
    build$1(context) {
      return A.DevToolsIconButton$(this.gaScreen, this.gaSelection, B.IconData_58123_MaterialIcons_true, this.onPressed, "Help");
    }
  };
  A.ExpandAllButton.prototype = {
    build$1(context) {
      return A.OutlinedButton$(false, B.Text_WPx, null, this.onPressed, null);
    }
  };
  A.CollapseAllButton.prototype = {
    build$1(context) {
      return A.OutlinedButton$(false, B.Text_eus, null, this.onPressed, null);
    }
  };
  A.RecordingInfo.prototype = {
    build$1(context) {
      var child, t1, _this = this, _null = null;
      if (_this.processing)
        child = new A.ProcessingInfo(_this.progressValue, _this.recordedObject, _null);
      else {
        t1 = _this.recordedObject;
        child = _this.recording ? new A.RecordingStatus(t1, _this.recordingStatusKey) : new A.RecordingInstructions(t1, false, _this.instructionsKey);
      }
      return A.Center$(child, _null, _null, _null);
    }
  };
  A.RecordingStatus.prototype = {
    build$1(context) {
      var _null = null;
      return A.Column$(A._setArrayType([A.Text$("Recording " + this.recordedObject, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), B.SizedBox_null_16_null_null, B.CircularProgressIndicator_MQk], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.RecordingInstructions.prototype = {
    build$1(context) {
      var _null = null,
        stopOrPauseRow = A.Row$(B.List_o2l, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null),
        t1 = type$.JSArray_Widget;
      return A.Column$(A._setArrayType([A.Row$(A._setArrayType([B.Text_zpi, B.Icon_NYu0, A.Text$(" to start recording " + this.recordedObject + ".", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null), stopOrPauseRow], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.ProcessingInfo.prototype = {
    build$1(context) {
      var _null = null;
      return A.Center$(A.Column$(A._setArrayType([A.Text$("Processing " + this.processedObject, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), B.SizedBox_null_16_null_null, A.SizedBox$(new A.LinearProgressIndicator(this.progressValue, _null, _null, _null, _null, _null, _null), 16, 200)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1), _null, _null, _null);
    }
  };
  A.ExitOfflineButton.prototype = {};
  A.BulletSpacer.prototype = {
    build$1(context) {
      var t1, mutedColor, t2, t3, _null = null,
        theme = A.Theme_of(context),
        textStyle = A._Cell$named("textStyle");
      if (this.useAccentColor) {
        t1 = theme.appBarTheme.toolbarTextStyle;
        textStyle.__late_helper$_value = t1 == null ? theme.primaryTextTheme.bodyMedium : t1;
      } else
        textStyle.__late_helper$_value = theme.textTheme.bodyMedium;
      t1 = textStyle._readLocal$0();
      if (t1 == null)
        mutedColor = _null;
      else {
        t1 = t1.color;
        mutedColor = t1 == null ? _null : A.Color$fromARGB(144, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      t1 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = textStyle._readLocal$0();
      return A.Container$(B.Alignment_0_0, A.Text$("\u2022", _null, _null, _null, _null, _null, t3 == null ? _null : t3.copyWith$1$color(mutedColor), _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, t1 / 2);
    }
  };
  A.Badge.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        t1 = A.BorderRadius$circular(12),
        t2 = theme.primaryTextTheme.bodyMedium;
      return A.Container$(_null, A.Text$(this.text, _null, _null, _null, _null, _null, (t2 == null ? B.TextStyle_SVP0 : t2).apply$1$fontSizeDelta(-1), _null, _null, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(theme.primaryColor, _null, _null, t1, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_6_2_6_2, _null, _null, _null);
    }
  };
  A.DevToolsTooltip.prototype = {
    build$1(context) {
      var t1, _this = this, _null = null,
        style = _this.textStyle;
      if (style == null) {
        t1 = A.Theme_of(context).colorScheme.brightness === B.Brightness_1 ? B.Color_4294967295 : B.Color_4278190080;
        style = A.TextStyle$(_null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      }
      return A.Tooltip$(_this.child, _this.decoration, _this.message, _this.padding, _this.preferBelow, _null, style, _this.waitDuration);
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.DevToolsIconButton.prototype = {
    build$1(context) {
      var _null = null,
        t1 = $.globals.$index(0, B.Type_IdeTheme_NnV),
        icon = A.Icon$(this.iconData, _null, B.JSNumber_methods.roundToDouble$0(16 * (t1.fontSize / 14)));
      return A.DevToolsTooltip$(A.TextButton$(A.Container$(_null, icon, B.Clip_0, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, new A.DevToolsIconButton_build_closure(this), _null), _null, _null, this.tooltip, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.DevToolsIconButton_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      A.select(t1.gaScreen, t1.gaSelection, false, null);
      t1.onPressed.call$0();
    },
    $signature: 0
  };
  A.ToolbarAction.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.TextButton_styleFrom(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_0_0_0, _null, _null, _null, _null, B.MaterialTapTargetSize_1, _null, _null),
        button = A.TextButton$(A.Icon$(this.icon, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, this.onPressed, t1);
      t1 = this.tooltip;
      return t1 == null ? button : A.DevToolsTooltip$(button, _null, _null, t1, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.AreaPaneHeader.prototype = {
    build$1(context) {
      var t2, t3, t4, t5, t6, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      t1 = B.JSNumber_methods.roundToDouble$0(36 * (t1.fontSize / 14));
      t2 = _this.needsTopBorder ? new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0) : B.BorderSide_aLd;
      t3 = _this.needsBottomBorder ? new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0) : B.BorderSide_aLd;
      t4 = _this.needsLeftBorder ? new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0) : B.BorderSide_aLd;
      t5 = A.ThemeDataExtension_get_titleSolidBackgroundColor(theme);
      t6 = theme.textTheme.titleSmall;
      t6.toString;
      t6 = A._setArrayType([A.Expanded$(A.DefaultTextStyle$(_this.title, _null, _this.maxLines, B.TextOverflow_2, true, t6, _null, _null, B.TextWidthBasis_0), 1)], type$.JSArray_Widget);
      B.JSArray_methods.addAll$1(t6, _this.actions);
      return A.SizedBox$fromSize(A.Container$(B.Alignment_m1_0, A.Row$(t6, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(t5, _null, new A.Border(t2, B.BorderSide_aLd, t3, t4), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, new A.EdgeInsets(16, 0, _this.rightPadding, 0), _null, _null, _null), new A.Size(1 / 0, t1));
    },
    get$preferredSize() {
      var t1 = $.globals.$index(0, B.Type_IdeTheme_NnV);
      return new A.Size(1 / 0, B.JSNumber_methods.roundToDouble$0(36 * (t1.fontSize / 14)));
    },
    $isPreferredSizeWidget: 1
  };
  A.DevToolsToggleButtonGroup.prototype = {
    build$1(context) {
      var theme = A.Theme_of(context),
        t1 = theme.colorScheme.brightness === B.Brightness_1,
        t2 = t1 ? B.Color_4282795590 : B.Color_4289638065;
      t1 = t1 ? B.Color_4294967295 : B.Color_4282795590;
      return new A.ToggleButtons(this.children, this.selectedStates, this.onPressed, theme.textTheme.bodyLarge, new A.BoxConstraints(B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 1 / 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), 1 / 0), t2, t1, B.Color_4279482877, B.BorderRadius_tLn0, null);
    }
  };
  A.ExportButton.prototype = {};
  A.FilterButton.prototype = {
    build$1(context) {
      var t3, t4, _null = null,
        theme = A.Theme_of(context),
        t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = this.isFilterActive;
      if (t2)
        t3 = theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4292931322 : B.Color_4281220168;
      else
        t3 = B.Color_0;
      t3 = A.TextButton_styleFrom(_null, _null, t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t4 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      if (t2)
        t2 = B.Color_4280391411;
      else
        t2 = theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4293980400;
      return A.DevToolsTooltip$(A.SizedBox$(A.OutlinedButton$(false, A.Icon$(B.IconData_57984_MaterialIcons_false, t2, t4), this.key, this.onPressed, t3), t1, _null), _null, _null, "Filter", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.RoundedDropDownButton.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return new A.RoundedOutlinedBorder(A.Center$(A.Container$(_null, new A.DropdownButtonHideUnderline(A.DropdownButton$(_null, true, false, _this.items, _null, _this.onChanged, _null, _this.style, _null, _this.value, _this.$ti._precomputed1), _null), B.Clip_0, _null, _null, _null, _null, t1 - 2, _null, _null, B.EdgeInsets_16_0_2_0, _null, _null, _null), _null, _null, _null), _null);
    }
  };
  A.OutlinedRowGroup.prototype = {
    build$1(context) {
      var t2, i, t3, _null = null,
        color = this.borderColor,
        t1 = type$.JSArray_Widget,
        childrenWithOutlines = A._setArrayType([], t1);
      for (t2 = this.children, i = 0; i < t2.length; ++i) {
        t3 = i === 0 ? new A.BorderSide(color, 1, B.BorderStyle_1, B.StrokeAlign_0) : B.BorderSide_aLd;
        B.JSArray_methods.addAll$1(childrenWithOutlines, A._setArrayType([A.Container$(_null, t2[i], B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(new A.BorderSide(color, 1, B.BorderStyle_1, B.StrokeAlign_0), new A.BorderSide(color, 1, B.BorderStyle_1, B.StrokeAlign_0), new A.BorderSide(color, 1, B.BorderStyle_1, B.StrokeAlign_0), t3), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null)], t1));
      }
      return A.Row$(childrenWithOutlines, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
    }
  };
  A.OutlineDecoration.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(_null, this.child, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, A.Border_Border$all(A.Theme_of(context).focusColor, 1), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.RoundedOutlinedBorder.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(_null, this.child, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, A.Border_Border$all(A.Theme_of(context).focusColor, 1), A.BorderRadius$circular(4), _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.LeftBorder.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(_null, this.child, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd, new A.BorderSide(A.Theme_of(context).focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0)), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.CenteredMessage.prototype = {
    build$1(context) {
      var _null = null;
      return A.Center$(A.Text$(this.message, _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null), _null, _null, _null);
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.CenteredCircularProgressIndicator.prototype = {
    build$1(context) {
      return B.Center_mtF;
    }
  };
  A.CircularIconButton.prototype = {
    build$1(context) {
      var t3, t4, _this = this, _null = null,
        t1 = A.Theme_of(context),
        t2 = B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = A.BoxConstraints$tightFor(B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t2);
      t3 = A.BorderRadius$circular(20);
      t4 = _this.foregroundColor;
      return A.RawMaterialButton$(false, A.Icon$(_this.icon, t4, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.Clip_0, t2, 0, 0, true, _this.backgroundColor, _null, 4, _null, 8, t1.hoverColor, 4, B.MaterialTapTargetSize_1, _null, _this.onPressed, new A.RoundedRectangleBorder(t3, new A.BorderSide(t4, 2, B.BorderStyle_1, B.StrokeAlign_0)), _null, _null);
    }
  };
  A.BreadcrumbNavigator.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(B.Alignment_m1_0, A.ListView$builder(_null, this.builder, this.itemCount, _null, _null, _null, B.Axis_0, false), B.Clip_0, _null, _null, _null, _null, 32, _null, _null, _null, _null, _null, _null);
    }
  };
  A.Breadcrumb.prototype = {
    build$1(context) {
      var t2, caretWidth, breadcrumbWidth, _null = null,
        t1 = A.Theme_of(context).colorScheme,
        textPainter = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, t1.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4294967295, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), this.text), B.TextAlign_1, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      textPainter.layout$0();
      t2 = this.isRoot;
      caretWidth = t2 ? 4 : 8;
      breadcrumbWidth = textPainter.get$width(textPainter) + caretWidth + 8;
      return A.InkWell$(false, _null, true, A.Container$(_null, A.CustomPaint$(_null, _null, _null, new A._BreadcrumbPainter(textPainter, t2, breadcrumbWidth, t1, _null), B.Size_0_0), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_2_2_2_2, _null, _null, breadcrumbWidth), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, this.onPressed, _null, _null, _null, _null, _null, _null);
    }
  };
  A._BreadcrumbPainter.prototype = {
    paint$2(canvas, size) {
      var path, t1, t2, t3, textXOffset, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, _this.colorScheme.brightness === B.Brightness_1 ? B.Color_4291611852 : B.Color_4283979864);
      path = A.Path_Path();
      path.moveTo$2(0, 0, 0);
      t1 = _this.isRoot;
      if (t1)
        path.lineTo$2(0, 0, 28);
      else {
        path.lineTo$2(0, 4, 14);
        path.lineTo$2(0, 0, 28);
      }
      t2 = _this.breadcrumbWidth;
      t3 = t2 - 4;
      path.lineTo$2(0, t3, 28);
      path.lineTo$2(0, t2, 14);
      path.lineTo$2(0, t3, 0);
      canvas.drawPath$2(path, paint);
      textXOffset = t1 ? 4 : 8;
      t1 = _this.textPainter;
      t2 = t1._paragraph;
      t1.paint$2(canvas, new A.Offset(textXOffset, (28 - Math.ceil(t2.get$height(t2))) / 2));
    },
    shouldRepaint$1(oldDelegate) {
      var _this = this;
      return _this.textPainter !== oldDelegate.textPainter || _this.isRoot !== oldDelegate.isRoot || _this.breadcrumbWidth !== oldDelegate.breadcrumbWidth || !_this.colorScheme.$eq(0, oldDelegate.colorScheme);
    }
  };
  A.FormattedJson.prototype = {
    build$1(context) {
      var _null = null,
        theme = A.Theme_of(context),
        t1 = A._JsonStringStringifier_stringify(this.json, _null, "  "),
        t2 = theme.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono").copyWith$1$color(theme.unselectedWidgetColor);
      return A.SelectableText$(t1, _null, _null, _null, t2, _null);
    },
    get$json(receiver) {
      return this.json;
    }
  };
  A.JsonViewer.prototype = {
    createState$0() {
      return new A._JsonViewerState(null, B._StateLifecycle_0);
    }
  };
  A._JsonViewerState.prototype = {
    initState$0() {
      var responseJson, t1, _this = this,
        _s12_ = "fake-isolate";
      _this.super$State$initState();
      responseJson = B.C_JsonCodec.decode$1(0, _this._widget.encodedJson);
      t1 = A.DartObjectNode_DartObjectNode$fromValue(true, null, new A.IsolateRef(_s12_, _s12_, "local-cache", true, null), "[root]", $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.fakeServiceCache.insertJsonObject$1(responseJson));
      _this.___JsonViewerState_variable = t1;
      _this.___JsonViewerState__initializeTree = A.buildVariablesTree(t1, false);
    },
    dispose$0() {
      var t1, t2;
      this.super$State$dispose();
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.fakeServiceCache;
      t2 = this.___JsonViewerState_variable;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._ref;
      t2 = t2 == null ? null : t2.value;
      t1.removeJsonObject$1(type$.Instance._as(t2));
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      if (!this.initController$0())
        return;
    },
    build$1(context) {
      var _null = null,
        t1 = this.___JsonViewerState__initializeTree;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A.Padding(B.EdgeInsets_8_8_8_8, A.SingleChildScrollView$(new A.FutureBuilder(t1, new A._JsonViewerState_build_closure(this), _null, type$.FutureBuilder_void), _null, B.DragStartBehavior_1, _null, _null, false, B.Axis_1), _null);
    }
  };
  A._JsonViewerState_build_closure.prototype = {
    call$2(context, snapshot) {
      var t1, t2, _null = null;
      if (snapshot.connectionState !== B.ConnectionState_3)
        return A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t1 = this.$this;
      t2 = t1.___JsonViewerState_variable;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.ProvidedControllerMixin__controller;
      t1.toString;
      return new A.ExpandableVariable(t2, t1, _null);
    },
    $signature: 624
  };
  A.MoreInfoLink.prototype = {
    build$1(context) {
      var t3, t4, t5, _null = null,
        theme = A.Theme_of(context),
        t1 = A.BorderRadius$circular(4),
        t2 = this.padding;
      if (t2 == null)
        t2 = B.EdgeInsets_8_8_8_8;
      t3 = theme.colorScheme.brightness === B.Brightness_1;
      t4 = t3 ? B.Color_4279858898 : B.MaterialAccentColor_Map_iTyLX_4282434815;
      t4 = A.Text$("More info", _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, t4, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null);
      t5 = B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.InkWell$(false, t1, true, new A.Padding(t2, A.Row$(A._setArrayType([t4, B.SizedBox_4_null_null_null, A.Icon$(B.IconData_58220_MaterialIcons_true, t3 ? B.Color_4282795590 : B.Color_4289638065, t5)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_0, _null, _null), _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.MoreInfoLink_build_closure(this, context), _null, _null, _null, _null, _null, _null);
    }
  };
  A.MoreInfoLink_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      A.launchUrl(t1.url, this.context);
      A.select(t1.gaScreenName, t1.gaSelectedItemDescription, false, null);
      return null;
    },
    $signature: 0
  };
  A.LinkTextSpan.prototype = {};
  A.LinkTextSpan_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, 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.onTap;
              if (t1 != null)
                t1.call$0();
              $async$goto = 2;
              return A._asyncAwait(A.launchUrl($async$self.link.url, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.Link.prototype = {};
  A.Legend.prototype = {
    build$1(context) {
      var t1 = this.entries,
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Widget>");
      return A.Column$(A.ListExtension_joinWith(A.List_List$of(new A.MappedListIterable(t1, new A.Legend_build_closure(this), t2), true, t2._eval$1("ListIterable.E")), B.SizedBox_null_6_null_null, type$.Widget), B.CrossAxisAlignment_0, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.Legend_build_closure.prototype = {
    call$1(entry) {
      var _null = null,
        t1 = entry.description;
      return A.Row$(A._setArrayType([A.Container$(_null, _null, B.Clip_0, entry.color, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.SizedBox_8_null_null_null, A.Text$(t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    $signature: 625
  };
  A.LegendEntry.prototype = {};
  A.CopyToClipboardControl.prototype = {
    build$1(context) {
      var t1 = this.dataProvider == null ? null : new A.CopyToClipboardControl_build_closure(this, context);
      return new A.ToolbarAction(B.IconData_57744_MaterialIcons_false, "Copy to clipboard", t1, this.buttonKey);
    }
  };
  A.CopyToClipboardControl_build_closure.prototype = {
    call$0() {
      var t1 = this.$this.dataProvider.call$0();
      if (t1 == null)
        t1 = "";
      return A.copyToClipboard(t1, "Copied to clipboard.", this.context);
    },
    $signature: 0
  };
  A.NotifierCheckbox.prototype = {
    _updateValue$1(value) {
      var t1 = this.notifier;
      if (!J.$eq$(t1._change_notifier$_value, value)) {
        t1.set$value(0, value);
        t1 = this.onChanged;
        if (t1 != null)
          t1.call$1(value);
      }
    },
    build$1(context) {
      return new A.ValueListenableBuilder(this.notifier, new A.NotifierCheckbox_build_closure(this), null, null, type$.ValueListenableBuilder_nullable_bool);
    }
  };
  A.NotifierCheckbox_build_closure.prototype = {
    call$3(context, value, _) {
      var t1 = this.$this;
      return A.Checkbox$(B.MaterialTapTargetSize_1, t1.enabled ? t1.get$_updateValue() : null, false, value);
    },
    $signature: 626
  };
  A.CheckboxSetting0.prototype = {
    build$1(context) {
      var $content, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = _this.enabled,
        t2 = t1 ? A.TextStyle$(_null, _null, theme.textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null) : A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        textContent = A.RichText$(_null, _null, _null, B.TextOverflow_3, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, t2, _this.title), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
      t2 = _this.description;
      if (t2 != null)
        textContent = A.Row$(A._setArrayType([textContent, A.Expanded$(A.RichText$(_null, _null, 2, B.TextOverflow_2, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, theme.unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), " \u2022 " + t2), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      $content = A.Row$(A._setArrayType([new A.NotifierCheckbox(_this.notifier, new A.CheckboxSetting_build_closure1(_this), t1, _null), new A.Flexible(1, B.FlexFit_1, textContent, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t1 = _this.tooltip;
      if (t1 != null && t1.length !== 0)
        return A.DevToolsTooltip$($content, _null, _null, t1, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
      return $content;
    }
  };
  A.CheckboxSetting_build_closure1.prototype = {
    call$1(value) {
      var onChanged,
        t1 = this.$this,
        gaScreenName = t1.gaScreenName,
        gaItem = t1.gaItem;
      if (gaScreenName != null && gaItem != null)
        A.select(gaScreenName, gaItem, false, null);
      onChanged = t1.onChanged;
      if (onChanged != null)
        onChanged.call$1(value);
    },
    $signature: 31
  };
  A.BlinkingIcon.prototype = {
    createState$0() {
      return new A._BlinkingIconState(B._StateLifecycle_0);
    }
  };
  A._BlinkingIconState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.___BlinkingIconState_showFirst = true;
      _this.___BlinkingIconState_timer = A.Timer_Timer$periodic(B.Duration_1000000, new A._BlinkingIconState_initState_closure(_this));
    },
    dispose$0() {
      var t1 = this.___BlinkingIconState_timer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.cancel$0(0);
      this.super$State$dispose();
    },
    build$1(context) {
      var t2, t3, _this = this,
        t1 = _this._icon$0();
      _this._widget.toString;
      t2 = _this._icon$1$color(B.MaterialColor_Map_JNsy5_4294951175);
      t3 = _this.___BlinkingIconState_showFirst;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return new A.AnimatedCrossFade(t1, t2, t3 ? B.CrossFadeState_0 : B.CrossFadeState_1, B.Duration_1000000, null);
    },
    _icon$1$color(color) {
      this._widget.toString;
      return A.Icon$(B.IconData_983712_MaterialIcons_false, color, 20);
    },
    _icon$0() {
      return this._icon$1$color(null);
    }
  };
  A._BlinkingIconState_initState_closure.prototype = {
    call$1(timer) {
      var t1 = this.$this;
      t1.setState$1(new A._BlinkingIconState_initState__closure(t1));
    },
    $signature: 84
  };
  A._BlinkingIconState_initState__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.___BlinkingIconState_showFirst;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.___BlinkingIconState_showFirst = !t2;
    },
    $signature: 0
  };
  A.DualValueListenableBuilder.prototype = {
    createState$0() {
      var t1 = this.$ti;
      return new A._DualValueListenableBuilderState(A.Disposer$(), B._StateLifecycle_0, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_DualValueListenableBuilderState<1,2>"));
    }
  };
  A._DualValueListenableBuilderState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.addAutoDisposeListener$1(_this._widget.firstListenable);
      _this.addAutoDisposeListener$1(_this._widget.secondListenable);
    },
    build$1(context) {
      var t3, t4,
        t1 = this._widget,
        t2 = t1.firstListenable;
      t2 = t2.get$value(t2);
      t3 = this._widget.secondListenable;
      t3 = t3.get$value(t3);
      t4 = this._widget.child;
      return t1.builder.call$4(context, t2, t3, t4);
    }
  };
  A.SmallCircularProgressIndicator.prototype = {
    build$1(context) {
      var _null = null;
      return new A.CircularProgressIndicator(2, _null, _null, _null, this.valueColor, _null, _null, _null);
    }
  };
  A.ElevatedCard.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = A.Theme_of(context),
        t2 = A.BorderRadius$circular(4),
        t3 = _this.padding;
      if (t3 == null)
        t3 = B.EdgeInsets_8_8_8_8;
      return A.Card$(A.Container$(_null, _this.child, B.Clip_0, _null, _null, _null, _null, _this.height, _null, _null, t3, _null, _null, _this.width), _null, t1.scaffoldBackgroundColor, 4, _null, new A.RoundedRectangleBorder(t2, B.BorderSide_aLd));
    }
  };
  A.KeepAliveWrapper.prototype = {
    createState$0() {
      return new A._KeepAliveWrapperState(null, B._StateLifecycle_0);
    }
  };
  A._KeepAliveWrapperState.prototype = {
    build$1(context) {
      this.super$AutomaticKeepAliveClientMixin$build(context);
      return this._widget.child;
    },
    get$wantKeepAlive() {
      return true;
    }
  };
  A.__DualValueListenableBuilderState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__JsonViewerState_State_ProvidedControllerMixin.prototype = {};
  A.__KeepAliveWrapperState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A.ConnectedApp.prototype = {
    get$connectedAppInitialized() {
      var _this = this,
        t1 = _this._isFlutterApp;
      if (t1 != null)
        t1 = (!t1 || _this._isDartWebApp === true || _this._flutterVersion != null) && _this._isProfileBuild != null && _this._isDartWebApp != null;
      else
        t1 = false;
      return t1;
    },
    get$isFlutterApp() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1;
      var $async$get$isFlutterApp = 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._isFlutterApp;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).libraryUriAvailable$1("package:flutter/src/widgets/binding.dart"), $async$get$isFlutterApp);
            case 6:
              // returning from await.
              $async$result = $async$self._isFlutterApp = $async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = t1;
            case 4:
              // join
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$isFlutterApp, $async$completer);
    },
    get$isFlutterAppNow() {
      return this._isFlutterApp === true;
    },
    get$isProfileBuild() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1;
      var $async$get$isProfileBuild = 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._isProfileBuild;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._connectedToProfileBuild$0(), $async$get$isProfileBuild);
            case 5:
              // returning from await.
              t1 = $async$self._isProfileBuild = $async$result;
            case 4:
              // join
              t1.toString;
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$isProfileBuild, $async$completer);
    },
    get$isProfileBuildNow() {
      var t1 = this._isProfileBuild;
      t1.toString;
      return t1;
    },
    get$isDartWebApp() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1;
      var $async$get$isDartWebApp = 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._isDartWebApp;
              $async$goto = t1 == null ? 3 : 5;
              break;
            case 3:
              // then
              $async$goto = 6;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).libraryUriAvailable$1("dart:html"), $async$get$isDartWebApp);
            case 6:
              // returning from await.
              $async$result = $async$self._isDartWebApp = $async$result;
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              $async$result = t1;
            case 4:
              // join
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$isDartWebApp, $async$completer);
    },
    get$isDartWebAppNow() {
      var t1 = this._isDartWebApp;
      t1.toString;
      return t1;
    },
    get$isRunningOnDartVM() {
      return $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm.name !== "ChromeDebugProxy";
    },
    _connectedToProfileBuild$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, value, t1;
      var $async$_connectedToProfileBuild$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.get$isRunningOnDartVM();
              t1.toString;
              if (!t1) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t1.toString;
              $async$goto = 3;
              return A._asyncAwait(A.EvalOnDartLibrary$("dart:io", t1, null, false).eval$3$isAlive$shouldLogError("Platform.isAndroid", null, false), $async$_connectedToProfileBuild$0);
            case 3:
              // returning from await.
              value = $async$result;
              $async$returnValue = (value == null ? null : value.get$kind(value)) !== "Bool";
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_connectedToProfileBuild$0, $async$completer);
    },
    initializeValues$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, flutterVersionServiceListenable, listener;
      var $async$initializeValues$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(A.Future_wait(A._setArrayType([$async$self.get$isFlutterApp(), $async$self.get$isProfileBuild(), $async$self.get$isDartWebApp()], type$.JSArray_Future_bool), type$.bool), $async$initializeValues$0);
            case 2:
              // returning from await.
              t1 = $async$self.get$isFlutterAppNow();
              t1.toString;
              $async$goto = t1 ? 3 : 4;
              break;
            case 3:
              // then
              flutterVersionServiceListenable = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).registeredServiceListenable$1("flutterVersion");
              listener = new A.ConnectedApp_initializeValues_closure($async$self, flutterVersionServiceListenable);
              flutterVersionServiceListenable.super$ChangeNotifier$addListener(0, listener);
              listener.call$0();
              $async$goto = 5;
              return A._asyncAwait($async$self._flutterVersionCompleter.future.timeout$2$onTimeout(0, B.Duration_3000000, new A.ConnectedApp_initializeValues_closure0()), $async$initializeValues$0);
            case 5:
              // returning from await.
              $async$self._flutterVersion = $async$result;
              flutterVersionServiceListenable.removeListener$1(0, listener);
            case 4:
              // join
              A.generateDevToolsTitle();
              $async$self.initialized.complete$1(0, true);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$initializeValues$0, $async$completer);
    }
  };
  A.ConnectedApp_initializeValues_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2, t3, semVer;
      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 = $async$self.flutterVersionServiceListenable._change_notifier$_value ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).get$flutterVersion(), $async$call$0);
            case 4:
              // returning from await.
              t1 = $async$result.json;
              t1.toString;
              t2 = J.getInterceptor$asx(t1);
              t3 = t2.$index(t1, "frameworkVersion");
              t1 = new A.FlutterVersion(t3, t2.$index(t1, "channel"), t2.$index(t1, "repositoryUrl"), t2.$index(t1, "frameworkRevisionShort"), t2.$index(t1, "frameworkCommitDate"), t2.$index(t1, "engineRevisionShort"), A.FlutterVersion__parseDartVersion(t2.$index(t1, "dartSdkVersion")), 0, 0, 0, null, null);
              semVer = A.SemanticVersion_SemanticVersion$parse(t3);
              t1.major = semVer.major;
              t1.minor = semVer.minor;
              t1.patch = semVer.patch;
              t1.preReleaseMajor = semVer.preReleaseMajor;
              t1.preReleaseMinor = semVer.preReleaseMinor;
              $async$self.$this._flutterVersionCompleter.complete$1(0, t1);
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.ConnectedApp_initializeValues_closure0.prototype = {
    call$0() {
      A.log("Timed out trying to fetch flutter version from `ConnectedApp.initializeValues`.", B.LogLevel_0);
      return A.Future_Future$value(null, type$.nullable_FlutterVersion);
    },
    $signature: 627
  };
  A.OfflineConnectedApp.prototype = {
    get$isFlutterAppNow() {
      return this.isFlutterAppNow;
    },
    get$isProfileBuildNow() {
      return this.isProfileBuildNow;
    },
    get$isDartWebAppNow() {
      return this.isDartWebAppNow;
    },
    get$isRunningOnDartVM() {
      return this.isRunningOnDartVM;
    }
  };
  A.Console.prototype = {
    build$1(context) {
      return new A.ConsoleFrame(null, new A._ConsoleOutput(this.lines, this.footer, null), B.List_empty17, null);
    }
  };
  A.ConsoleFrame.prototype = {
    build$1(context) {
      var _null = null,
        t1 = type$.JSArray_Widget,
        t2 = A._setArrayType([], t1),
        t3 = this.title;
      if (t3 != null)
        t2.push(t3);
      t1 = A._setArrayType([this.child], t1);
      t2.push(A.Expanded$(A.Material$(B.Duration_200000, true, _null, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t1, _null), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_0), 1));
      return A.Column$(t2, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A._ConsoleOutput.prototype = {
    createState$0() {
      return new A._ConsoleOutputState(A.ScrollController$(0), B.List_empty18, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._ConsoleOutputState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._initHelper$0();
    },
    _onScrollChanged$0() {
      var pos, t3, _this = this,
        t1 = _this._console$_scroll,
        t2 = t1._positions;
      if (t2.length !== 0) {
        pos = B.JSArray_methods.get$single(t2);
        t2 = pos._pixels;
        t2.toString;
        t3 = pos._maxScrollExtent;
        t3.toString;
        if (t2 === t3)
          _this._considerScrollAtBottom = true;
        else {
          t2 = _this._lastScrollOffset;
          t3 = t1.get$position(t1)._pixels;
          t3.toString;
          if (t2 > t3)
            _this._considerScrollAtBottom = false;
        }
        t1 = t1.get$position(t1)._pixels;
        t1.toString;
        _this._lastScrollOffset = t1;
      }
    },
    didUpdateWidget$1(oldWidget) {
      if (oldWidget.lines !== this._widget.lines)
        this._initHelper$0();
      this.super$State$didUpdateWidget(oldWidget);
    },
    _initHelper$0() {
      var _this = this;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(_this._widget.lines, _this.get$_onConsoleLinesChanged());
      _this.addAutoDisposeListener$2(_this._console$_scroll, _this.get$_onScrollChanged());
      _this._onConsoleLinesChanged$0();
    },
    _onConsoleLinesChanged$0() {
      var t2, forceScrollIntoView, i, pos, _this = this,
        t1 = _this._widget.lines.__ListValueNotifier__currentList;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._currentLines;
      if (t1 === t2)
        return;
      i = J.get$length$asx(t2);
      while (true) {
        if (!(i < t1.length)) {
          forceScrollIntoView = false;
          break;
        }
        if (t1.$index(0, i).forceScrollIntoView) {
          forceScrollIntoView = true;
          break;
        }
        ++i;
      }
      _this.setState$1(new A._ConsoleOutputState__onConsoleLinesChanged_closure(_this, t1));
      if (!forceScrollIntoView)
        if (!_this._considerScrollAtBottom) {
          t1 = _this._console$_scroll._positions;
          if (t1.length !== 0) {
            pos = B.JSArray_methods.get$single(t1);
            t1 = pos._pixels;
            t1.toString;
            t2 = pos._maxScrollExtent;
            t2.toString;
            t2 = t1 === t2;
            t1 = t2;
          } else
            t1 = false;
        } else
          t1 = true;
      else
        t1 = true;
      if (t1)
        _this._scrollToBottom = true;
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this.initController$0();
    },
    build$1(context) {
      var t1, t2, _this = this,
        theme = A.Theme_of(context);
      if (_this._scrollToBottom) {
        _this._scrollToBottom = false;
        $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._ConsoleOutputState_build_closure(_this));
      }
      t1 = _this._console$_scroll;
      t2 = J.get$length$asx(_this._currentLines);
      _this._widget.toString;
      return A.Scrollbar$(A.ListView$separated(t1, new A._ConsoleOutputState_build_closure0(_this, theme), t2 + 1, B.EdgeInsets_8_8_8_8, B.ClampingScrollPhysics_KYr, new A._ConsoleOutputState_build_closure1(), false), t1, B.ValueKey_U43, null, true);
    }
  };
  A._ConsoleOutputState__onConsoleLinesChanged_closure.prototype = {
    call$0() {
      this.$this._currentLines = this.nextLines;
    },
    $signature: 0
  };
  A._ConsoleOutputState_build_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this,
        t2 = t1._console$_scroll;
      if (t2._positions.length !== 0)
        A.ScrollControllerAutoScroll_autoScrollToBottom(t2);
      else
        t1._scrollToBottom = true;
    },
    $signature: 3
  };
  A._ConsoleOutputState_build_closure1.prototype = {
    call$2(_, __) {
      return B.Divider_null_null_null_null;
    },
    $signature: 348
  };
  A._ConsoleOutputState_build_closure0.prototype = {
    call$2(context, index) {
      var t2, line, _null = null,
        t1 = this.$this;
      if (index === J.get$length$asx(t1._currentLines)) {
        t1._widget.toString;
        t2 = true;
      } else
        t2 = false;
      if (t2)
        return t1._widget.footer;
      line = J.$index$asx(t1._currentLines, index);
      if (line instanceof A.TextConsoleLine)
        return A.SelectableText$rich(A.TextSpan$(A.processAnsiTerminalCodes(line.text, this.theme.textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono")), _null, _null, _null, _null), _null, _null, _null, _null, _null, _null, _null);
      else if (line instanceof A.VariableConsoleLine) {
        t2 = line.variable;
        t1 = t1.ProvidedControllerMixin__controller;
        t1.toString;
        return new A.ExpandableVariable(t2, t1, _null);
      } else
        return B.SizedBox_null_null_null_null;
    },
    $signature: 47
  };
  A.DeleteControl.prototype = {
    build$1(context) {
      return new A.ToolbarAction(B.IconData_57785_MaterialIcons_false, this.tooltip, this.onPressed, this.buttonKey);
    }
  };
  A.__ConsoleOutputState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ConsoleOutputState_State_AutoDisposeMixin_ProvidedControllerMixin.prototype = {};
  A.ConsoleLine.prototype = {};
  A.TextConsoleLine.prototype = {
    toString$0(_) {
      return this.text;
    }
  };
  A.VariableConsoleLine.prototype = {
    toString$0(_) {
      return this.variable.toString$0(0);
    }
  };
  A.ConsoleService.prototype = {
    appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value(diagnostic, expandAll, forceScrollIntoView, isolateRef, value) {
      return this.appendInstanceRef$body$ConsoleService(diagnostic, expandAll, forceScrollIntoView, isolateRef, value);
    },
    appendInstanceRef$4$diagnostic$forceScrollIntoView$isolateRef$value(diagnostic, forceScrollIntoView, isolateRef, value) {
      return this.appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value(diagnostic, false, forceScrollIntoView, isolateRef, value);
    },
    appendInstanceRef$3$diagnostic$isolateRef$value(diagnostic, isolateRef, value) {
      return this.appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value(diagnostic, false, false, isolateRef, value);
    },
    appendInstanceRef$4$diagnostic$expandAll$isolateRef$value(diagnostic, expandAll, isolateRef, value) {
      return this.appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value(diagnostic, expandAll, false, isolateRef, value);
    },
    appendInstanceRef$body$ConsoleService(diagnostic, expandAll, forceScrollIntoView, isolateRef, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, variable, t1;
      var $async$appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value = 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._stdioTrailingNewline = false;
              variable = A.DartObjectNode_DartObjectNode$fromValue(false, diagnostic, isolateRef, null, value);
              $async$goto = 2;
              return A._asyncAwait(A.buildVariablesTree(variable, expandAll), $async$appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value);
            case 2:
              // returning from await.
              if (expandAll)
                variable.expandCascading$0();
              t1 = $async$self._stdio;
              B.JSArray_methods.add$1(t1._rawList, new A.VariableConsoleLine(variable, forceScrollIntoView));
              t1._listChanged$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$appendInstanceRef$5$diagnostic$expandAll$forceScrollIntoView$isolateRef$value, $async$completer);
    },
    get$objectGroup() {
      var t2, t3,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
      t1.toString;
      t2 = this._objectGroup;
      t3 = t2 == null;
      if ((t3 ? null : t2.inspectorService) === t1) {
        t2.toString;
        return t2;
      }
      if (!t3)
        t2.dispose$0();
      return this._objectGroup = A.ObjectGroup$("console", t1);
    },
    clearStdio$0() {
      var t1 = this._stdio,
        t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (!t2.get$isEmpty(t2)) {
        t1._rawList = A._setArrayType([], t1.$ti._eval$1("JSArray<1>"));
        t1._listChanged$0();
      }
    },
    appendStdio$2$forceScrollIntoView(text, forceScrollIntoView) {
      var last, t3, t4,
        newLines = A._setArrayType(text.split("\n"), type$.JSArray_String),
        t1 = this._stdio,
        t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      last = t2.get$isNotEmpty(t2) ? t2.get$last(t2) : null;
      t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (!t2.get$isEmpty(t2) && !this._stdioTrailingNewline && last instanceof A.TextConsoleLine) {
        t2 = last.text;
        t3 = A.S(B.JSArray_methods.get$first(newLines));
        t4 = t1._rawList;
        t4 = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
        t1._rawList = t4;
        B.JSArray_methods.set$last(t4, new A.TextConsoleLine(t2 + t3, false));
        t1._listChanged$0();
        if (newLines.length > 1) {
          t2 = B.JSArray_methods.sublist$1(newLines, 1);
          B.JSArray_methods.addAll$1(t1._rawList, new A.MappedListIterable(t2, new A.ConsoleService_appendStdio_closure(), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,ConsoleLine>")));
          t1._listChanged$0();
        }
      } else {
        B.JSArray_methods.addAll$1(t1._rawList, new A.MappedListIterable(newLines, new A.ConsoleService_appendStdio_closure0(), type$.MappedListIterable_String_ConsoleLine));
        t1._listChanged$0();
      }
      this._stdioTrailingNewline = B.JSString_methods.endsWith$1(text, "\n");
      t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      last = t2.get$isNotEmpty(t2) ? t2.get$last(t2) : null;
      t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (!t2.get$isEmpty(t2) && last instanceof A.TextConsoleLine && last.text.length === 0) {
        t2 = t1.__ListValueNotifier__currentList;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1.trimToSublist$2(0, t2.length - 1);
      }
      t2 = t1.__ListValueNotifier__currentList;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.length;
      if (t2 > 5500)
        t1.trimToSublist$1(t2 - 5000);
    },
    appendStdio$1(text) {
      return this.appendStdio$2$forceScrollIntoView(text, false);
    },
    _handleStdoutEvent$1($event) {
      var t1 = $event.bytes;
      t1.toString;
      this.appendStdio$1(B.Utf8Codec_false.decode$1(0, B.C_Base64Decoder.convert$1(t1)));
    },
    _handleStderrEvent$1($event) {
      var t1 = $event.bytes;
      t1.toString;
      this.appendStdio$1(B.Utf8Codec_false.decode$1(0, B.C_Base64Decoder.convert$1(t1)));
    },
    vmServiceOpened$1(service) {
      var t1, _this = this;
      _this.cancelStreamSubscriptions$0();
      _this.cancelListeners$0();
      t1 = service.__VmServiceWrapper__vmService;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._getEventController$1("Debug");
      _this._auto_dispose$_subscriptions.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_console_service$_handleDebugEvent()));
      _this.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._mainIsolate, new A.ConsoleService_vmServiceOpened_closure(_this));
    },
    ensureServiceInitialized$0() {
      var t1, _this = this;
      if (!_this._serviceInitialized && ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._serviceAvailable.future._state & 30) !== 0) {
        t1 = _this._auto_dispose$_subscriptions;
        t1.push($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.get$onStdoutEventWithHistory().listen$1(_this.get$_handleStdoutEvent()));
        t1.push($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.get$onStderrEventWithHistory().listen$1(_this.get$_handleStderrEvent()));
        t1.push($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.get$onExtensionEventWithHistory().listen$1(_this.get$_handleExtensionEvent()));
        _this._serviceInitialized = true;
      }
    },
    _handleExtensionEvent$1(e) {
      return this._handleExtensionEvent$body$ConsoleService(e);
    },
    _handleExtensionEvent$body$ConsoleService(e) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, t1;
      var $async$_handleExtensionEvent$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 = e.extensionKind;
              if (t1 === "Flutter.Error" || t1 === "Flutter.Print") {
                t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
                if ((t1 == null ? null : t1.get$isProfileBuildNow()) !== true) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1 = e.extensionData.data;
                $async$self.appendInstanceRef$4$diagnostic$expandAll$isolateRef$value(new A.RemoteDiagnosticsNode(null, $async$self.get$objectGroup(), t1, false), true, $async$self.get$objectGroup().inspectorService.inspectorLibrary._isolateRef, null);
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleExtensionEvent$1, $async$completer);
    },
    _console_service$_handleDebugEvent$1($event) {
      return this._handleDebugEvent$body$ConsoleService($event);
    },
    _handleDebugEvent$body$ConsoleService($event) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, inspector, t1, exception, $async$exception;
      var $async$_console_service$_handleDebugEvent$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
              $async$goto = $event.kind === "Inspect" ? 3 : 4;
              break;
            case 3:
              // then
              inspector = $async$self.get$objectGroup();
              $async$goto = J.$eq$($event.isolate, inspector.inspectorService.inspectorLibrary._isolateRef) ? 5 : 6;
              break;
            case 5:
              // then
              $async$handler = 8;
              t1 = $event.isolate;
              $async$goto = 11;
              return A._asyncAwait(inspector.isInspectable$1(new A.GenericInstanceRef($event.inspectee, null, t1)), $async$_console_service$_handleDebugEvent$1);
            case 11:
              // returning from await.
              if ($async$result) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 2;
              // goto after finally
              $async$goto = 10;
              break;
            case 8:
              // catch
              $async$handler = 7;
              $async$exception = $async$currentError;
              // goto after finally
              $async$goto = 10;
              break;
            case 7:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 10:
              // after finally
            case 6:
              // join
              t1 = $event.inspectee;
              $async$self.appendInstanceRef$3$diagnostic$isolateRef$value(null, $event.isolate, t1);
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_console_service$_handleDebugEvent$1, $async$completer);
    }
  };
  A.ConsoleService_appendStdio_closure.prototype = {
    call$1(text) {
      return new A.TextConsoleLine(text, false);
    },
    $signature: 311
  };
  A.ConsoleService_appendStdio_closure0.prototype = {
    call$1(text) {
      return new A.TextConsoleLine(text, false);
    },
    $signature: 311
  };
  A.ConsoleService_vmServiceOpened_closure.prototype = {
    call$0() {
      this.$this.clearStdio$0();
    },
    $signature: 0
  };
  A.DeviceDialog.prototype = {
    build$1(context) {
      var t1, items, t2, t3, t4, t5, t6, t7, t8, t9, _null = null,
        theme = A.Theme_of(context),
        vm = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm;
      if (vm == null)
        return B.SizedBox_null_null_null_null;
      t1 = this.connectedApp;
      items = A.generateDeviceDescription(vm, t1, true);
      t2 = A.Text$("Device Info", _null, _null, _null, _null, _null, theme.textTheme.titleLarge, _null, _null, _null, _null);
      t3 = type$.JSArray_Widget;
      t4 = A._setArrayType([], t3);
      for (t5 = A.LinkedHashMapKeyIterator$(items, items._modifications, A._instanceType(items)._precomputed1), t6 = theme.unselectedWidgetColor; t5.moveNext$0();) {
        t7 = t5.__js_helper$_current;
        t8 = items.$index(0, t7);
        t8.toString;
        t9 = B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t4.push(new A.Padding(B.EdgeInsets_0_0_0_6, new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, _null, B.VerticalDirection_1, _null, A._setArrayType([new A.Text(t7 + ": ", _null, B.TextStyle_ia3, _null, _null, _null, _null, _null, _null, _null, _null, _null), A.SelectableText$(t8, _null, _null, _null, new A.TextStyle(true, t6, _null, _null, _null, _null, t9, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null)], t3), _null), _null));
      }
      t4 = A.Column$(t4, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      t3 = A._setArrayType([this._connectToNewAppButton$1(context)], t3);
      t1 = t1.get$isRunningOnDartVM();
      t1.toString;
      if (t1)
        t3.push(new A._ViewVMFlagsButton(_null));
      t3.push(new A.DialogCloseButton(_null));
      return A.DevToolsDialog$(t3, t4, true, true, t2);
    },
    _connectToNewAppButton$1(context) {
      var _null = null;
      return A.ElevatedButton$(false, A.Text$("Connect to a new app".toUpperCase(), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), new A.DeviceDialog__connectToNewAppButton_closure(context), _null);
    }
  };
  A.DeviceDialog__connectToNewAppButton_closure.prototype = {
    call$0() {
      var t1 = this.context;
      A.Router_of(t1, type$.nullable_Object).routerDelegate.navigateHome$2$clearScreenParam$clearUriParam(true, true);
      A.Navigator_of(t1, true).pop$1("dialog");
    },
    $signature: 0
  };
  A._ViewVMFlagsButton.prototype = {
    build$1(context) {
      var _null = null;
      return new A.DialogTextButton(new A._ViewVMFlagsButton_build_closure(context), A.Text$("View VM Flags".toUpperCase(), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    }
  };
  A._ViewVMFlagsButton_build_closure.prototype = {
    call$0() {
      var t1 = this.context;
      A.Navigator_of(t1, true).pop$1("dialog");
      A.showDialog(true, new A._ViewVMFlagsButton_build__closure(), t1, type$.void);
    },
    $signature: 0
  };
  A._ViewVMFlagsButton_build__closure.prototype = {
    call$1(context) {
      return new A.VMFlagsDialog(null);
    },
    $signature: 629
  };
  A.VMFlagsDialog.prototype = {
    createState$0() {
      var t1 = type$.JSArray__DialogFlag;
      return new A._VMFlagsDialogState(A._setArrayType([], t1), A._setArrayType([], t1), A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._VMFlagsDialogState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = new A.TextEditingController(B.TextEditingValue_li8, $.$get$ChangeNotifier__emptyListeners());
      if (_this.___VMFlagsDialogState_filterController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___VMFlagsDialogState_filterController = t1;
      t1.addListener$1(0, new A._VMFlagsDialogState_initState_closure(_this));
      _this._updateFromController$0();
      _this.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager._vm_flags$_flags, new A._VMFlagsDialogState_initState_closure0(_this));
    },
    _updateFromController$0() {
      var t2,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmFlagManager._vm_flags$_flags._change_notifier$_value;
      t1 = t1 == null ? null : t1.flags;
      if (t1 == null)
        t1 = A._setArrayType([], type$.JSArray_Flag);
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,_DialogFlag>");
      this.flags = A.List_List$of(new A.MappedListIterable(t1, new A._VMFlagsDialogState__updateFromController_closure(), t2), true, t2._eval$1("ListIterable.E"));
      this._refilter$0();
    },
    _refilter$0() {
      var filter, t2, _this = this,
        t1 = _this.___VMFlagsDialogState_filterController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      filter = B.JSString_methods.trim$0(t1._change_notifier$_value.text).toLowerCase();
      t1 = _this.flags;
      if (filter.length === 0)
        _this.filteredFlags = t1;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
        _this.filteredFlags = A.List_List$of(new A.WhereIterable(t1, new A._VMFlagsDialogState__refilter_closure(filter), t2), true, t2._eval$1("Iterable.E"));
      }
    },
    build$1(context) {
      var t4, _null = null,
        t1 = A.Text$("VM Flags", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleLarge, _null, _null, _null, _null),
        t2 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = this.___VMFlagsDialogState_filterController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = type$.JSArray_Widget;
      t2 = A.Row$(A._setArrayType([t1, B.Expanded_EsU, A.Container$(_null, A.TextField$(false, t3, _null, B.InputDecoration_VOZ, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, 200)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t3 = A.Column$(A._setArrayType([A.SizedBox$(new A._FlagTable(this.filteredFlags, new A._NameColumn("Name", _null, B.JSNumber_methods.roundToDouble$0(180 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_0), new A._DescriptionColumn("Description", _null, _null, B.JSNumber_methods.roundToDouble$0(100 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.ColumnAlignment_0), new A._ValueColumn("Value", _null, B.JSNumber_methods.roundToDouble$0(160 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, B.ColumnAlignment_1), _null), 375, 875)], t4), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogCloseButton(_null)], t4), t3, true, true, t2);
    }
  };
  A._VMFlagsDialogState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._VMFlagsDialogState_initState__closure0(t1));
    },
    $signature: 0
  };
  A._VMFlagsDialogState_initState__closure0.prototype = {
    call$0() {
      this.$this._refilter$0();
    },
    $signature: 0
  };
  A._VMFlagsDialogState_initState_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._VMFlagsDialogState_initState__closure(t1));
    },
    $signature: 0
  };
  A._VMFlagsDialogState_initState__closure.prototype = {
    call$0() {
      this.$this._updateFromController$0();
    },
    $signature: 0
  };
  A._VMFlagsDialogState__updateFromController_closure.prototype = {
    call$1(flag) {
      var t2, t3,
        t1 = flag.name;
      t1 = t1 == null ? null : t1.toLowerCase();
      t2 = flag.comment;
      t2 = t2 == null ? null : t2.toLowerCase();
      t3 = flag.valueAsString;
      t3 = t3 == null ? null : t3.toLowerCase();
      return new A._DialogFlag(flag, A.S(t1) + "\n" + A.S(t2) + "\n" + A.S(t3));
    },
    $signature: 630
  };
  A._VMFlagsDialogState__refilter_closure.prototype = {
    call$1(flag) {
      return B.JSString_methods.contains$1(flag.filterText, this.filter);
    },
    $signature: 631
  };
  A._FlagTable.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.name;
      return new A.OutlineDecoration(A.FlatTable$(_null, false, A._setArrayType([t1, _this.description, _this.value], type$.JSArray_ColumnData__DialogFlag), _this.flags, _null, new A._FlagTable_build_closure(), new A._FlagTable_build_closure0(), _null, _null, _null, _null, t1, B.SortDirection_0, type$._DialogFlag), _null);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A._FlagTable_build_closure.prototype = {
    call$1(flag) {
      return new A.ValueKey(flag.flag.name, type$.ValueKey_nullable_String);
    },
    $signature: 632
  };
  A._FlagTable_build_closure0.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 633
  };
  A._NameColumn.prototype = {
    getValue$1(dataObject) {
      var t1 = dataObject.flag.name;
      return t1 == null ? "" : t1;
    }
  };
  A._DescriptionColumn.prototype = {
    getValue$1(dataObject) {
      var t1 = dataObject.flag.comment;
      return t1 == null ? "" : t1;
    },
    getTooltip$1(dataObject) {
      var t1 = dataObject.flag.comment;
      return t1 == null ? "" : t1;
    }
  };
  A._ValueColumn.prototype = {
    getValue$1(dataObject) {
      var t1 = dataObject.flag.valueAsString;
      return t1 == null ? "" : t1;
    }
  };
  A._DialogFlag.prototype = {
    get$name(_) {
      return this.flag.name;
    }
  };
  A.__VMFlagsDialogState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.DevToolsDialog.prototype = {
    build$1(context) {
      var _this = this,
        t1 = _this.includeDivider ? B.PaddedDivider_wEo : B.SizedBox_null_16_null_null;
      return new A.AlertDialog(A.Column$(A._setArrayType([_this.titleContent, t1], type$.JSArray_Widget), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _this.content, B.EdgeInsets_24_0_24_24, _this.actions, B.EdgeInsets_16_0_16_0, _this.scrollable, null);
    }
  };
  A.DialogCloseButton.prototype = {
    build$1(context) {
      return new A.DialogTextButton(new A.DialogCloseButton_build_closure(context), B.Text_gix, null);
    }
  };
  A.DialogCloseButton_build_closure.prototype = {
    call$0() {
      A.Navigator_of(this.context, true).pop$1("dialog");
    },
    $signature: 0
  };
  A.DialogCancelButton.prototype = {
    build$1(context) {
      return new A.DialogTextButton(new A.DialogCancelButton_build_closure(this, context), B.Text_wIv, null);
    }
  };
  A.DialogCancelButton_build_closure.prototype = {
    call$0() {
      var t1 = this.$this.cancelAction;
      if (t1 != null)
        t1.call$0();
      A.Navigator_of(this.context, false).pop$1("dialog");
    },
    $signature: 0
  };
  A.DialogApplyButton.prototype = {
    build$1(context) {
      return new A.DialogTextButton(new A.DialogApplyButton_build_closure(this, context), B.Text_cGl, null);
    }
  };
  A.DialogApplyButton_build_closure.prototype = {
    call$0() {
      this.$this.onPressed.call$0();
      A.Navigator_of(this.context, false).pop$1("dialog");
    },
    $signature: 0
  };
  A.DialogTextButton.prototype = {
    build$1(context) {
      var t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.SizedBox$(A.TextButton$(this.child, null, this.onPressed, null), t1, null);
    }
  };
  A.ErrorBadgeManager.prototype = {
    _error_badge_manager$_handleExtensionEvent$1(e) {
      return this._handleExtensionEvent$body$ErrorBadgeManager(e);
    },
    _handleExtensionEvent$body$ErrorBadgeManager(e) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, inspectableError;
      var $async$_error_badge_manager$_handleExtensionEvent$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 (e.extensionKind === "Flutter.Error") {
                $async$self.incrementBadgeCount$1("logging");
                inspectableError = $async$self._extractInspectableError$1(e);
                if (inspectableError != null) {
                  $async$self.incrementBadgeCount$1("inspector");
                  $async$self.appendError$2("inspector", inspectableError);
                }
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_error_badge_manager$_handleExtensionEvent$1, $async$completer);
    },
    _extractInspectableError$1(error) {
      var devToolsUrlNode, t1, inspectorRef, _null = null,
        node = new A.RemoteDiagnosticsNode(_null, _null, error.extensionData.data, false),
        errorSummaryNode = A.IterableExtension_firstWhereOrNull(node.get$inlineProperties(), new A.ErrorBadgeManager__extractInspectableError_closure()),
        errorMessage = errorSummaryNode == null ? _null : A._asStringQ(J.$index$asx(errorSummaryNode.json, "description"));
      if (errorMessage == null)
        return _null;
      devToolsUrlNode = A.IterableExtension_firstWhereOrNull(node.get$inlineProperties(), new A.ErrorBadgeManager__extractInspectableError_closure0());
      if (devToolsUrlNode == null)
        return _null;
      t1 = A._asStringQ(J.$index$asx(devToolsUrlNode.json, "value"));
      t1.toString;
      inspectorRef = A.devToolsQueryParams(t1).$index(0, "inspectorRef");
      return new A.InspectableWidgetError(errorMessage, inspectorRef == null ? "" : inspectorRef, false);
    },
    _handleStdErr$1(e) {
      this.incrementBadgeCount$1("logging");
    },
    incrementBadgeCount$1(screenId) {
      var notifier = this._activeErrorCounts.$index(0, screenId);
      if (notifier == null)
        return;
      notifier.set$value(0, notifier._change_notifier$_value + 1);
    },
    appendError$2(screenId, error) {
      var newValue,
        errors = this._activeErrors.$index(0, screenId);
      if (errors == null)
        return;
      newValue = A.LinkedHashMap_LinkedHashMap$from(errors._change_notifier$_value, type$.String, type$.DevToolsError);
      newValue.$indexSet(0, error.id, error);
      errors.set$value(0, newValue);
    },
    erroredItemsForPage$1(screenId) {
      var t1 = this._activeErrors.$index(0, screenId);
      return t1 == null ? new A.FixedValueListenable(A.LinkedHashMap_LinkedHashMap(null, null, null, type$.String, type$.DevToolsError), type$.FixedValueListenable_LinkedHashMap_String_DevToolsError) : t1;
    },
    clearErrors$1(screenId) {
      var t1 = this._activeErrorCounts.$index(0, screenId);
      if (t1 != null)
        t1.set$value(0, 0);
    },
    filterErrors$2(screenId, isValid) {
      var t1, oldCount, newValue,
        errors = this._activeErrors.$index(0, screenId);
      if (errors == null)
        return;
      t1 = errors._change_notifier$_value;
      oldCount = t1._length;
      newValue = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.DevToolsError);
      newValue.addEntries$1(newValue, J.get$entries$x(t1).where$1(0, new A.ErrorBadgeManager_filterErrors_closure(isValid)));
      if (newValue._length !== oldCount)
        errors.set$value(0, type$.LinkedHashMap_String_DevToolsError._as(newValue));
    },
    markErrorAsRead$2(screenId, error) {
      var t1, t2, _null = null,
        errors = this._activeErrors.$index(0, screenId);
      if (errors == null)
        return;
      t1 = J.$index$asx(errors._change_notifier$_value, error.id);
      t1 = t1 == null ? _null : t1.read;
      if (t1 !== false)
        return;
      t1 = J.get$entries$x(errors._change_notifier$_value).map$1$1(0, new A.ErrorBadgeManager_markErrorAsRead_closure(error), type$.MapEntry_String_DevToolsError);
      t2 = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.String, type$.DevToolsError);
      t2.addEntries$1(t2, t1);
      errors.set$value(0, t2);
    }
  };
  A.ErrorBadgeManager__extractInspectableError_closure.prototype = {
    call$1(p) {
      return A._asStringQ(J.$index$asx(p.json, "type")) === "ErrorSummary";
    },
    $signature: 310
  };
  A.ErrorBadgeManager__extractInspectableError_closure0.prototype = {
    call$1(p) {
      var t1 = p.json,
        t2 = J.getInterceptor$asx(t1);
      return A._asStringQ(t2.$index(t1, "type")) === "DevToolsDeepLinkProperty" && A._asStringQ(t2.$index(t1, "value")) != null;
    },
    $signature: 310
  };
  A.ErrorBadgeManager_filterErrors_closure.prototype = {
    call$1(e) {
      return this.isValid.call$1(e.get$key(e));
    },
    $signature: 635
  };
  A.ErrorBadgeManager_markErrorAsRead_closure.prototype = {
    call$1(e) {
      if (e.get$value(e) !== this.error)
        return e;
      return new A.MapEntry(e.get$key(e), e.get$value(e).asRead$0(), type$.MapEntry_String_DevToolsError);
    },
    $signature: 636
  };
  A.DevToolsError.prototype = {
    asRead$0() {
      return new A.DevToolsError(this.errorMessage, this.id, true);
    }
  };
  A.InspectableWidgetError.prototype = {
    asRead$0() {
      return new A.InspectableWidgetError(this.errorMessage, this.id, true);
    }
  };
  A._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin.prototype = {};
  A.Disposable.prototype = {
    dispose$0() {
      this.disposed = true;
    },
    get$disposed() {
      return this.disposed;
    }
  };
  A.EvalOnDartLibrary.prototype = {
    EvalOnDartLibrary$5$disableBreakpoints$isolate$oneRequestAtATime(libraryName, service, disableBreakpoints, oneRequestAtATime, _box_0) {
      var t1, _this = this;
      _this.__EvalOnDartLibrary__libraryRef = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_LibraryRef), type$._AsyncCompleter_LibraryRef);
      t1 = _box_0.isolate;
      if (t1 == null)
        t1 = _box_0.isolate = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager._selectedIsolate;
      _this.AutoDisposeControllerMixin__delegate.addAutoDisposeListener$2(t1, new A.EvalOnDartLibrary_closure(_box_0, _this));
      _this._init$1(_box_0.isolate._change_notifier$_value);
    },
    _init$1(isolateRef) {
      var t1, t2, _this = this;
      if (J.$eq$(_this._isolateRef, isolateRef))
        return;
      t1 = ++_this._currentRequestId;
      _this._isolateRef = isolateRef;
      t2 = _this.__EvalOnDartLibrary__libraryRef;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if ((t2.future._state & 30) !== 0)
        _this.__EvalOnDartLibrary__libraryRef = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_LibraryRef), type$._AsyncCompleter_LibraryRef);
      if (isolateRef != null)
        _this._eval_on_dart_library$_initialize$2(isolateRef, t1);
    },
    dispose$0() {
      this._eval_on_dart_library$_disposed = true;
      this.super$_EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin$dispose();
    },
    _eval_on_dart_library$_initialize$2(isolateRef, requestId) {
      return this._initialize$body$EvalOnDartLibrary(isolateRef, requestId);
    },
    _initialize$body$EvalOnDartLibrary(isolateRef, requestId) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, isolate, library, e, stack, t1, t2, t3, _i, exception, $async$exception;
      var $async$_eval_on_dart_library$_initialize$2 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1) {
          $async$currentError = $async$result;
          $async$goto = $async$handler;
        }
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                if ($async$self._currentRequestId !== requestId) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                $async$handler = 4;
                $async$goto = 7;
                return A._asyncAwait($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager.getIsolateCached$1(isolateRef), $async$_eval_on_dart_library$_initialize$2);
              case 7:
                // returning from await.
                isolate = $async$result;
                if ($async$self._currentRequestId !== requestId) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                $async$self._isolate = isolate;
                t1 = isolate;
                t1 = t1 == null ? null : t1.libraries;
                if (t1 == null)
                  t1 = A._setArrayType([], type$.JSArray_LibraryRef);
                t2 = t1.length;
                t3 = $async$self.libraryName;
                _i = 0;
                for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
                  library = t1[_i];
                  if (t3 === library.get$uri()) {
                    t1 = $async$self.__EvalOnDartLibrary__libraryRef;
                    if (t1 === $)
                      A.throwUnnamedLateFieldNI();
                    t1 = t1.future;
                    if ((t1._state & 30) !== 0)
                      A.throwExpression(A.StateError$("Future already completed"));
                    t1._asyncComplete$1(library);
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  }
                }
                t1 = $async$self.__EvalOnDartLibrary__libraryRef;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.completeError$1(new A.LibraryNotFound(t3));
                $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);
                stack = A.getTraceFromException($async$exception);
                $async$self._eval_on_dart_library$_handleError$2(e, stack);
                // goto after finally
                $async$goto = 6;
                break;
              case 3:
                // uncaught
                // goto rethrow
                $async$goto = 2;
                break;
              case 6:
                // 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$_eval_on_dart_library$_initialize$2, $async$completer);
    },
    eval$4$isAlive$scope$shouldLogError(expression, isAlive, scope, shouldLogError) {
      return this.eval$body$EvalOnDartLibrary(expression, isAlive, scope, shouldLogError);
    },
    eval$2$isAlive(expression, isAlive) {
      return this.eval$4$isAlive$scope$shouldLogError(expression, isAlive, null, true);
    },
    eval$3$isAlive$scope(expression, isAlive, scope) {
      return this.eval$4$isAlive$scope$shouldLogError(expression, isAlive, scope, true);
    },
    eval$3$isAlive$shouldLogError(expression, isAlive, shouldLogError) {
      return this.eval$4$isAlive$scope$shouldLogError(expression, isAlive, null, shouldLogError);
    },
    eval$body$EvalOnDartLibrary(expression, isAlive, scope, shouldLogError) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_InstanceRef),
        $async$returnValue, $async$self = this, result, t1;
      var $async$eval$4$isAlive$scope$shouldLogError = 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 = scope == null ? null : scope._length !== 0;
              if (t1 === true) {
                t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isDartWebAppNow();
                t1.toString;
              } else
                t1 = false;
              $async$goto = t1 ? 3 : 4;
              break;
            case 3:
              // then
              scope.toString;
              $async$goto = 5;
              return A._asyncAwait($async$self.eval$3$isAlive$shouldLogError("(" + new A.LinkedHashMapKeyIterable(scope, A._instanceType(scope)._eval$1("LinkedHashMapKeyIterable<1>")).join$1(0, ",") + ") => " + expression, isAlive, shouldLogError), $async$eval$4$isAlive$scope$shouldLogError);
            case 5:
              // returning from await.
              result = $async$result;
              if (result != null) {
                t1 = isAlive == null ? null : isAlive.disposed;
                t1 = t1 !== false;
              } else
                t1 = true;
              if (t1) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = scope.get$values(scope);
              $async$goto = 6;
              return A._asyncAwait($async$self.invoke$5$isAlive$shouldLogError(result, "call", A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E")), isAlive, shouldLogError), $async$eval$4$isAlive$scope$shouldLogError);
            case 6:
              // returning from await.
              $async$returnValue = $async$result;
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$goto = 7;
              return A._asyncAwait($async$self.addRequest$1$2(isAlive, new A.EvalOnDartLibrary_eval_closure($async$self, expression, scope, shouldLogError), type$.nullable_InstanceRef), $async$eval$4$isAlive$scope$shouldLogError);
            case 7:
              // 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$eval$4$isAlive$scope$shouldLogError, $async$completer);
    },
    invoke$5$isAlive$shouldLogError(instanceRef, $name, argRefs, isAlive, shouldLogError) {
      return this.addRequest$1$2(isAlive, new A.EvalOnDartLibrary_invoke_closure(this, instanceRef, $name, argRefs, shouldLogError), type$.InstanceRef);
    },
    _waitForLibraryRef$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.LibraryRef),
        $async$returnValue, $async$self = this, id, t1, libraryRef;
      var $async$_waitForLibraryRef$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
            case 3:
              // for condition
              // trivial condition
              id = $async$self._currentRequestId;
              t1 = $async$self.__EvalOnDartLibrary__libraryRef;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.future, $async$_waitForLibraryRef$0);
            case 5:
              // returning from await.
              libraryRef = $async$result;
              t1 = $async$self.__EvalOnDartLibrary__libraryRef;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if ((t1.future._state & 30) !== 0 && $async$self._currentRequestId === id) {
                $async$returnValue = libraryRef;
                // goto return
                $async$goto = 1;
                break;
              }
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_waitForLibraryRef$0, $async$completer);
    },
    _eval_on_dart_library$_eval$3$scope$shouldLogError(expression, scope, shouldLogError) {
      return this._eval$body$EvalOnDartLibrary(expression, scope, shouldLogError);
    },
    _eval$body$EvalOnDartLibrary(expression, scope, shouldLogError) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_InstanceRef),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, libraryRef, result, e, stack, t1, t2, exception, $async$exception;
      var $async$_eval_on_dart_library$_eval$3$scope$shouldLogError = 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._eval_on_dart_library$_disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait($async$self._waitForLibraryRef$0(), $async$_eval_on_dart_library$_eval$3$scope$shouldLogError);
            case 7:
              // returning from await.
              libraryRef = $async$result;
              t1 = $async$self._isolateRef;
              t1 = t1.get$id(t1);
              t1.toString;
              t2 = J.get$id$x(libraryRef);
              t2.toString;
              $async$goto = 8;
              return A._asyncAwait($async$self.service.evaluate$5$disableBreakpoints$scope(0, t1, t2, expression, true, scope), $async$_eval_on_dart_library$_eval$3$scope$shouldLogError);
            case 8:
              // returning from await.
              result = $async$result;
              if (result instanceof A.Sentinel) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (type$.ErrorRef._is(result))
                throw A.wrapException(result);
              t1 = type$.FutureOr_nullable_InstanceRef._as(result);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
              $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);
              stack = A.getTraceFromException($async$exception);
              if (shouldLogError)
                $async$self._eval_on_dart_library$_handleError$2(A.S(e) + " - " + expression, stack);
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_eval_on_dart_library$_eval$3$scope$shouldLogError, $async$completer);
    },
    _invoke$4$shouldLogError(instanceRef, $name, argRefs, shouldLogError) {
      return this._invoke$body$EvalOnDartLibrary(instanceRef, $name, argRefs, shouldLogError);
    },
    _invoke$body$EvalOnDartLibrary(instanceRef, $name, argRefs, shouldLogError) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_InstanceRef),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, e, stack, t1, t2, exception, $async$exception;
      var $async$_invoke$4$shouldLogError = 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._eval_on_dart_library$_disposed) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              t1 = $async$self._isolateRef;
              t1 = t1.get$id(t1);
              t1.toString;
              t2 = instanceRef.get$id(instanceRef);
              t2.toString;
              $async$goto = 7;
              return A._asyncAwait($async$self.service.invoke$5$disableBreakpoints(t1, t2, $name, argRefs, true), $async$_invoke$4$shouldLogError);
            case 7:
              // returning from await.
              result = $async$result;
              if (result instanceof A.Sentinel) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (type$.ErrorRef._is(result))
                throw A.wrapException(result);
              t1 = type$.FutureOr_nullable_InstanceRef._as(result);
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
              $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);
              stack = A.getTraceFromException($async$exception);
              if (shouldLogError)
                $async$self._eval_on_dart_library$_handleError$2(A.S(e) + " - " + $name, stack);
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_invoke$4$shouldLogError, $async$completer);
    },
    _eval_on_dart_library$_handleError$2(e, stack) {
      var t1;
      if (this._eval_on_dart_library$_disposed)
        return;
      t1 = J.getInterceptor$(e);
      switch (t1.get$runtimeType(e)) {
        case B.Type_RPCError_Tnu:
          A.log("RPCError: " + A.S(e), B.LogLevel_2);
          break;
        case B.Type_Error_9Cx:
          A.log(A.S(t1.get$kind(e)) + ": " + A.S(t1.get$message(e)), B.LogLevel_2);
          break;
        default:
          A.log("Unrecognized error: " + A.S(e), B.LogLevel_2);
      }
      A.log(stack.toString$0(0), B.LogLevel_2);
    },
    _verifySaneValue$1$2(value, isAlive, $T) {
      var t1 = isAlive.disposed;
      if (t1)
        throw A.wrapException(new A.CancelledException());
      if (value == null)
        throw A.wrapException(A.StateError$("Expected an instance of " + A.createRuntimeType($T).toString$0(0) + " but received null"));
      return value;
    },
    safeGetClass$2(instance, isAlive) {
      return this.safeGetClass$body$EvalOnDartLibrary(instance, isAlive);
    },
    safeGetClass$body$EvalOnDartLibrary(instance, isAlive) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Class),
        $async$returnValue, $async$self = this;
      var $async$safeGetClass$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.getObjHelper$1$2(instance, isAlive, type$.Class), $async$safeGetClass$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._verifySaneValue$1$2($async$result, isAlive, type$.FutureOr_Class);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$safeGetClass$2, $async$completer);
    },
    getInstance$2(instanceRefFuture, isAlive) {
      return this.getInstance$body$EvalOnDartLibrary(instanceRefFuture, isAlive);
    },
    getInstance$body$EvalOnDartLibrary(instanceRefFuture, isAlive) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Instance),
        $async$returnValue, $async$self = this;
      var $async$getInstance$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 = 4;
              return A._asyncAwait(instanceRefFuture, $async$getInstance$2);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self.getObjHelper$1$2($async$result, isAlive, type$.Instance), $async$getInstance$2);
            case 3:
              // 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$getInstance$2, $async$completer);
    },
    safeGetInstance$2(instanceRefFuture, isAlive) {
      return this.safeGetInstance$body$EvalOnDartLibrary(instanceRefFuture, isAlive);
    },
    safeGetInstance$body$EvalOnDartLibrary(instanceRefFuture, isAlive) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Instance),
        $async$returnValue, $async$self = this;
      var $async$safeGetInstance$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 = 4;
              return A._asyncAwait(instanceRefFuture, $async$safeGetInstance$2);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$self.getObjHelper$1$2($async$result, isAlive, type$.Instance), $async$safeGetInstance$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$self._verifySaneValue$1$2($async$result, isAlive, type$.FutureOr_Instance);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$safeGetInstance$2, $async$completer);
    },
    getHashCode$2$isAlive(instance, isAlive) {
      return this.getHashCode$body$EvalOnDartLibrary(instance, isAlive);
    },
    getHashCode$body$EvalOnDartLibrary(instance, isAlive) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.int),
        $async$returnValue, $async$self = this, t2, hash, t1;
      var $async$getHashCode$2$isAlive = 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 = instance.identityHashCode;
              if (t1 !== -1 && t1 != null) {
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = instance.id;
              t1.toString;
              t2 = type$.String;
              $async$goto = 3;
              return A._asyncAwait($async$self.evalInstance$3$isAlive$scope("instance.hashCode", isAlive, A.LinkedHashMap_LinkedHashMap$_literal(["instance", t1], t2, t2)), $async$getHashCode$2$isAlive);
            case 3:
              // returning from await.
              hash = $async$result;
              t2 = hash.get$valueAsString(hash);
              t2.toString;
              $async$returnValue = A.int_parse(t2, null);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$getHashCode$2$isAlive, $async$completer);
    },
    evalInstance$3$isAlive$scope(expression, isAlive, scope) {
      return this.safeGetInstance$2(this.safeEval$3$isAlive$scope(expression, isAlive, scope), isAlive);
    },
    evalInstance$2$isAlive(expression, isAlive) {
      return this.evalInstance$3$isAlive$scope(expression, isAlive, null);
    },
    safeEval$3$isAlive$scope(expression, isAlive, scope) {
      return this.safeEval$body$EvalOnDartLibrary(expression, isAlive, scope);
    },
    safeEval$2$isAlive(expression, isAlive) {
      return this.safeEval$3$isAlive$scope(expression, isAlive, null);
    },
    safeEval$body$EvalOnDartLibrary(expression, isAlive, scope) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.InstanceRef),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, err, stack, t1, exception, result, $async$exception;
      var $async$safeEval$3$isAlive$scope = 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
              result = null;
              $async$handler = 4;
              if ($async$self._eval_on_dart_library$_disposed) {
                t1 = A.StateError$("Called `safeEval` on a disposed `EvalOnDartLibrary` instance");
                throw A.wrapException(t1);
              }
              $async$goto = 7;
              return A._asyncAwait($async$self.addRequest$1$2(isAlive, new A.EvalOnDartLibrary_safeEval_closure($async$self, expression, scope), type$.Object), $async$safeEval$3$isAlive$scope);
            case 7:
              // returning from await.
              result = $async$result;
              if (!type$.InstanceRef._is(result)) {
                if (type$.ErrorRef._is(result)) {
                  t1 = result;
                  throw A.wrapException(new A.EvalErrorException(t1, expression));
                }
                if (result instanceof A.Sentinel) {
                  t1 = result;
                  throw A.wrapException(new A.EvalSentinelException(expression, t1));
                }
                t1 = result;
                throw A.wrapException(new A.UnknownEvalException(expression, t1));
              }
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              err = A.unwrapException($async$exception);
              stack = A.getTraceFromException($async$exception);
              t1 = isAlive.disposed;
              if (t1)
                throw A.wrapException(new A.CancelledException());
              $async$self._eval_on_dart_library$_handleError$2(err, stack);
              throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = result;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$safeEval$3$isAlive$scope, $async$completer);
    },
    addRequest$1$2(isAlive, request, $T) {
      return this.addRequest$body$EvalOnDartLibrary(isAlive, request, $T, $T._eval$1("0?"));
    },
    addRequest$body$EvalOnDartLibrary(isAlive, request, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, previousDone, e, t2, response, t3, t4, exception, t1, $async$exception;
      var $async$addRequest$1$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 = isAlive != null;
              if (t1 && isAlive.get$disposed()) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              }
              if (!$async$self.oneRequestAtATime) {
                $async$returnValue = request.call$0();
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = new A._Future($.Zone__current, $T._eval$1("_Future<0?>"));
              response = new A._AsyncCompleter(t2, $T._eval$1("_AsyncCompleter<0?>"));
              t3 = new A.EvalOnDartLibrary_addRequest_wrappedRequest($async$self, isAlive, response, request);
              t4 = $async$self.allPendingRequestsDone;
              $async$goto = t4 == null || (t4.future._state & 30) !== 0 ? 3 : 5;
              break;
            case 3:
              // then
              $async$self.allPendingRequestsDone = response;
              t3.call$0();
              // goto join
              $async$goto = 4;
              break;
            case 5:
              // else
              if (t1 && isAlive.get$disposed() || $async$self._eval_on_dart_library$_disposed) {
                response.complete$1(0, null);
                $async$returnValue = t2;
                // goto return
                $async$goto = 1;
                break;
              }
              previousDone = $async$self.allPendingRequestsDone.future;
              $async$self.allPendingRequestsDone = response;
              $async$handler = 7;
              $async$goto = 10;
              return A._asyncAwait(previousDone, $async$addRequest$1$2);
            case 10:
              // returning from await.
              $async$handler = 2;
              // goto after finally
              $async$goto = 9;
              break;
            case 7:
              // catch
              $async$handler = 6;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              if (!$async$self._eval_on_dart_library$_disposed)
                A.log(J.toString$0$(e), B.LogLevel_2);
              // goto after finally
              $async$goto = 9;
              break;
            case 6:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 9:
              // after finally
              t3.call$0();
            case 4:
              // join
              $async$returnValue = response.future;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$addRequest$1$2, $async$completer);
    },
    getObjHelper$1$2(instance, isAlive, $T) {
      return this.addRequest$1$2(isAlive, new A.EvalOnDartLibrary_getObjHelper_closure(this, instance, null, null, $T), $T);
    },
    get$libraryName() {
      return this.libraryName;
    }
  };
  A.EvalOnDartLibrary_closure.prototype = {
    call$0() {
      return this.$this._init$1(this._box_0.isolate._change_notifier$_value);
    },
    $signature: 0
  };
  A.EvalOnDartLibrary_eval_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this._eval_on_dart_library$_eval$3$scope$shouldLogError(_this.expression, _this.scope, _this.shouldLogError);
    },
    $signature: 306
  };
  A.EvalOnDartLibrary_invoke_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this._invoke$4$shouldLogError(_this.instanceRef, _this.name, _this.argRefs, _this.shouldLogError).then$1$1(new A.EvalOnDartLibrary_invoke__closure(), type$.nullable_InstanceRef);
    },
    $signature: 306
  };
  A.EvalOnDartLibrary_invoke__closure.prototype = {
    call$1(value) {
      value.toString;
      return value;
    },
    $signature: 638
  };
  A.EvalOnDartLibrary_safeEval_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response),
        $async$returnValue, $async$self = this, t3, t1, libraryRef, 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
              t1 = $async$self.$this;
              $async$goto = 3;
              return A._asyncAwait(t1._waitForLibraryRef$0(), $async$call$0);
            case 3:
              // returning from await.
              libraryRef = $async$result;
              t2 = t1._isolateRef;
              t2 = t2.get$id(t2);
              t2.toString;
              t3 = J.get$id$x(libraryRef);
              t3.toString;
              $async$goto = 4;
              return A._asyncAwait(t1.service.evaluate$5$disableBreakpoints$scope(0, t2, t3, $async$self.expression, true, $async$self.scope), $async$call$0);
            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$call$0, $async$completer);
    },
    $signature: 639
  };
  A.EvalOnDartLibrary_addRequest_wrappedRequest.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, value, e, t3, t4, exception, t1, t2, $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
              t1 = $async$self.isAlive;
              t2 = t1 == null;
              if (!t2 && t1.get$disposed() || $async$self.$this._eval_on_dart_library$_disposed) {
                $async$self.response.complete$1(0, null);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait($async$self.request.call$0(), $async$call$0);
            case 7:
              // returning from await.
              value = $async$result;
              t3 = !$async$self.$this._eval_on_dart_library$_disposed && !(value instanceof A.Sentinel);
              t4 = $async$self.response;
              if (t3)
                t4.complete$1(0, value);
              else
                t4.complete$1(0, null);
              $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);
              if (!$async$self.$this._eval_on_dart_library$_disposed)
                t1 = (t2 ? null : t1.get$disposed()) === true;
              else
                t1 = true;
              t2 = $async$self.response;
              if (t1)
                t2.complete$1(0, null);
              else
                t2.completeError$1(e);
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // 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$call$0, $async$completer);
    },
    $signature: 0
  };
  A.EvalOnDartLibrary_getObjHelper_closure.prototype = {
    call$0() {
      return this.$call$body$EvalOnDartLibrary_getObjHelper_closure(this.T);
    },
    $call$body$EvalOnDartLibrary_getObjHelper_closure($async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t3, t1, t2, $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;
              t2 = t1._isolateRef;
              t2 = t2.get$id(t2);
              t2.toString;
              t3 = $async$self.instance;
              t3 = t3.get$id(t3);
              t3.toString;
              $async$temp1 = $async$self.T;
              $async$goto = 3;
              return A._asyncAwait(t1.service.getObject$4$count$offset(0, t2, t3, $async$self.count, $async$self.offset), $async$call$0);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1._as($async$result);
              // 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() {
      return this.T._eval$1("Future<0>()");
    }
  };
  A.LibraryNotFound.prototype = {
    get$message(_) {
      return "Library matchining " + this.name + " not found";
    },
    $isException: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.CancelledException.prototype = {$isException: 1};
  A.UnknownEvalException.prototype = {
    toString$0(_) {
      return "Unknown error during the evaluation of `" + this.expression + "`: " + A.S(this.exception);
    },
    $isException: 1
  };
  A.SentinelException0.prototype = {
    toString$0(_) {
      return "SentinelException(sentinel: " + this.sentinel.toString$0(0) + ")";
    },
    $isException: 1
  };
  A.EvalSentinelException.prototype = {
    toString$0(_) {
      return "Evaluation `" + this.expression + "` returned the Sentinel " + this.sentinel.toString$0(0);
    }
  };
  A.EvalErrorException.prototype = {
    toString$0(_) {
      return "Evaluation `" + this.expression + "` failed with " + this.errorRef.toString$0(0);
    },
    $isException: 1
  };
  A._EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeControllerMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$DisposableController$dispose();
    }
  };
  A.FileImportContainer.prototype = {
    createState$0() {
      return new A._FileImportContainerState(B._StateLifecycle_0);
    }
  };
  A._FileImportContainerState.prototype = {
    build$1(context) {
      var rowHeight, theme, t5, t6, t7, t8, _this = this, _null = null,
        t1 = A.Text$(_this._widget.title, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(18 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null),
        t2 = A.Theme_of(context),
        t3 = _this._widget.instructions,
        t4 = _this._framework$_element;
      t4.toString;
      t4 = A.Text$(t3, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(t4).textTheme.displayLarge.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null);
      rowHeight = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = _this._framework$_element;
      t3.toString;
      theme = A.Theme_of(t3);
      t3 = A.SizedBox$(_null, rowHeight, _null);
      t5 = theme.focusColor;
      t6 = _this.importedFile;
      t6 = t6 == null ? _null : t6.path;
      if (t6 == null)
        t6 = "No File Selected";
      t7 = _this._framework$_element;
      t7.toString;
      t8 = type$.JSArray_Widget;
      t7 = A._setArrayType([A.Expanded$(A.Text$(t6, _null, _null, B.TextOverflow_2, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(t7).textTheme.displayLarge.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_0, _null, _null, _null), 1)], t8);
      if (_this.importedFile != null)
        t7.push(A.inputDecorationSuffixButton(B.IconData_57704_MaterialIcons_false, _this.get$_clearFile()));
      t3 = A._setArrayType([new A.Padding(B.EdgeInsets_16_16_16_16, t4, _null), A.Row$(A._setArrayType([new A.Flexible(1, B.FlexFit_1, t3, _null), new A.Flexible(4, B.FlexFit_0, A.Container$(_null, A.Row$(t7, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(new A.BorderSide(t5, 1, B.BorderStyle_1, B.StrokeAlign_0), new A.BorderSide(t5, 1, B.BorderStyle_1, B.StrokeAlign_0), new A.BorderSide(t5, 1, B.BorderStyle_1, B.StrokeAlign_0), new A.BorderSide(t5, 1, B.BorderStyle_1, B.StrokeAlign_0)), B.BorderRadius_tLn0, _null, _null, _null, B.BoxShape_0), _null, rowHeight, _null, _null, B.EdgeInsets_8_8_8_8, _null, _null, _null), _null), B.SizedBox_8_null_null_null, new A.FileImportButton(_this.get$_file_import$_importFile(), _null), new A.Flexible(1, B.FlexFit_1, A.SizedBox$(_null, rowHeight, _null), _null)], t8), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null)], t8);
      t4 = _this._widget;
      if (t4.actionText != null && t4.onAction != null)
        t3.push(_this._buildActionButton$0());
      return A.Column$(A._setArrayType([t1, B.SizedBox_null_16_null_null, A.Expanded$(new A.DragAndDrop(_this.get$_handleImportedFile(), new A.RoundedOutlinedBorder(A.Container$(_null, A.Column$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, t2.scaffoldBackgroundColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null), _null), 1)], t8), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _buildActionButton$0() {
      var t3, _null = null,
        t1 = this.importedFile != null ? new A._FileImportContainerState__buildActionButton_closure(this) : _null,
        t2 = this._widget.actionText;
      t2.toString;
      t3 = type$.JSArray_Widget;
      return A.Column$(A._setArrayType([B.SizedBox_null_16_null_null, A.Row$(A._setArrayType([A.ElevatedButton$(false, new A.MaterialIconLabel(B.IconData_58128_MaterialIcons_false, _null, _null, t2, _null, _null), t1, _null)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _file_import$_importFile$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, importedFile;
      var $async$_file_import$_importFile$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$self._widget.toString;
              $async$goto = 2;
              return A._asyncAwait(A.importFileFromPicker(B.List_json), $async$_file_import$_importFile$0);
            case 2:
              // returning from await.
              importedFile = $async$result;
              if (importedFile != null)
                $async$self._handleImportedFile$1(importedFile);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_file_import$_importFile$0, $async$completer);
    },
    _clearFile$0() {
      var t1, _this = this;
      if (_this._framework$_element != null)
        _this.setState$1(new A._FileImportContainerState__clearFile_closure(_this));
      t1 = _this._widget.onFileCleared;
      if (t1 != null)
        t1.call$0();
    },
    _handleImportedFile$1(file) {
      var t1, _this = this;
      if (_this._framework$_element != null)
        _this.setState$1(new A._FileImportContainerState__handleImportedFile_closure(_this, file));
      t1 = _this._widget.onFileSelected;
      if (t1 != null)
        t1.call$1(file);
    }
  };
  A._FileImportContainerState__buildActionButton_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.onAction;
      t2.toString;
      t1 = t1.importedFile;
      t1.toString;
      return t2.call$1(t1);
    },
    $signature: 0
  };
  A._FileImportContainerState__clearFile_closure.prototype = {
    call$0() {
      this.$this.importedFile = null;
    },
    $signature: 0
  };
  A._FileImportContainerState__handleImportedFile_closure.prototype = {
    call$0() {
      this.$this.importedFile = this.file;
    },
    $signature: 0
  };
  A.FileImportButton.prototype = {
    build$1(context) {
      var _null = null;
      return A.IconLabelButton$(false, B.IconData_57966_MaterialIcons_false, _null, _null, "Import File", _null, this.onPressed, true, _null, _null);
    }
  };
  A.DualFileImportContainer.prototype = {
    createState$0() {
      return new A._DualFileImportContainerState(B._StateLifecycle_0);
    },
    onAction$3(arg0, arg1, arg2) {
      return this.onAction.call$3(arg0, arg1, arg2);
    }
  };
  A._DualFileImportContainerState.prototype = {
    build$1(context) {
      var t3, t4, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.firstFileTitle;
      t2 = A.Expanded$(A.FileImportContainer$(_null, t1.firstInstructions, _null, _this.get$onFirstFileCleared(), _this.get$onFirstFileSelected(), t2), 1);
      t1 = A.Center$(_this._buildActionButton$0(), _null, _null, _null);
      t3 = _this._widget;
      t4 = t3.secondFileTitle;
      return A.Row$(A._setArrayType([t2, B.SizedBox_16_null_null_null, t1, B.SizedBox_16_null_null_null, A.Expanded$(A.FileImportContainer$(_null, t3.secondInstructions, _null, _this.get$onSecondFileCleared(), _this.get$onSecondFileSelected(), t4), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    },
    onFirstFileSelected$1(selectedFile) {
      if (this._framework$_element != null)
        this.setState$1(new A._DualFileImportContainerState_onFirstFileSelected_closure(this, selectedFile));
    },
    onSecondFileSelected$1(selectedFile) {
      if (this._framework$_element != null)
        this.setState$1(new A._DualFileImportContainerState_onSecondFileSelected_closure(this, selectedFile));
    },
    onFirstFileCleared$0() {
      if (this._framework$_element != null)
        this.setState$1(new A._DualFileImportContainerState_onFirstFileCleared_closure(this));
    },
    onSecondFileCleared$0() {
      if (this._framework$_element != null)
        this.setState$1(new A._DualFileImportContainerState_onSecondFileCleared_closure(this));
    },
    _buildActionButton$0() {
      var t2, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = A.Notifications_of(t1);
      t1.toString;
      t1 = _this.firstImportedFile != null && _this.secondImportedFile != null ? new A._DualFileImportContainerState__buildActionButton_closure(_this, t1) : _null;
      t2 = type$.JSArray_Widget;
      return A.Column$(A._setArrayType([B.SizedBox_null_16_null_null, A.Row$(A._setArrayType([A.ElevatedButton$(false, new A.MaterialIconLabel(B.IconData_58128_MaterialIcons_false, _null, _null, _this._widget.actionText, _null, _null), t1, _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, _null, _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A._DualFileImportContainerState_onFirstFileSelected_closure.prototype = {
    call$0() {
      this.$this.firstImportedFile = this.selectedFile;
    },
    $signature: 0
  };
  A._DualFileImportContainerState_onSecondFileSelected_closure.prototype = {
    call$0() {
      this.$this.secondImportedFile = this.selectedFile;
    },
    $signature: 0
  };
  A._DualFileImportContainerState_onFirstFileCleared_closure.prototype = {
    call$0() {
      this.$this.firstImportedFile = null;
    },
    $signature: 0
  };
  A._DualFileImportContainerState_onSecondFileCleared_closure.prototype = {
    call$0() {
      this.$this.secondImportedFile = null;
    },
    $signature: 0
  };
  A._DualFileImportContainerState__buildActionButton_closure.prototype = {
    call$0() {
      var t3,
        t1 = this.$this,
        t2 = t1._widget;
      t2.toString;
      t3 = t1.firstImportedFile;
      t3.toString;
      t1 = t1.secondImportedFile;
      t1.toString;
      return t2.onAction$3(t3, t1, new A._DualFileImportContainerState__buildActionButton__closure(this.notifications));
    },
    $signature: 0
  };
  A._DualFileImportContainerState__buildActionButton__closure.prototype = {
    call$1(error) {
      return this.notifications.push$1(error);
    },
    $signature: 12
  };
  A.FlexSplitColumn.prototype = {
    build$1(context) {
      var _this = this;
      return A.Split$(B.Axis_1, _this._flex_split_column$_children, _this._initialFractions, _this._minSizes, B.JSArray_methods.sublist$1(_this.headers, 1));
    }
  };
  A.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure.prototype = {
    call$1(i) {
      var t1, t2, _this = this;
      if (i === 0) {
        t1 = _this.intendedChildHeights[i];
        t2 = $.globals.$index(0, B.Type_IdeTheme_NnV);
        return (t1 + B.JSNumber_methods.roundToDouble$0(36 * (t2.fontSize / 14))) / _this.trueContentHeight;
      }
      return _this.intendedChildHeights[i] / _this.trueContentHeight;
    },
    $signature: 45
  };
  A.FrameworkController.prototype = {
    _framework_controller$_init$0() {
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState.addListener$1(0, new A.FrameworkController__init_closure(this));
    }
  };
  A.FrameworkController__init_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState._change_notifier$_value.connected)
        t1._connectedController.add$1(0, $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service._connectedUri);
      else
        t1._disconnectedController.add$1(0, null);
    },
    $signature: 0
  };
  A.ConnectVmEvent.prototype = {
    get$serviceProtocolUri() {
      return this.serviceProtocolUri;
    },
    get$notify() {
      return this.notify;
    }
  };
  A.PageChangeEvent.prototype = {};
  A.HistoryViewport.prototype = {
    createState$0() {
      return new A._HistoryViewportState(B._StateLifecycle_0, this.$ti._eval$1("_HistoryViewportState<1>"));
    }
  };
  A._HistoryViewportState.prototype = {
    _updateTitleStyle$1(style) {
      this.setState$1(new A._HistoryViewportState__updateTitleStyle_closure(this, style));
    },
    build$1(context) {
      var theme = A.Theme_of(context);
      return new A.OutlineDecoration(new A.ValueListenableBuilder(this._widget.history._history_manager$_current, new A._HistoryViewportState_build_closure(this, theme), null, null, this.$ti._eval$1("ValueListenableBuilder<1?>")), null);
    },
    _buildTitle$2(context, theme) {
      var t2, t3, t4, t5, _i, _this = this, _null = null,
        t1 = _this._widget,
        title = t1.generateTitle.call$1(t1.history._history_manager$_current._change_notifier$_value),
        defaultTitleStyle = theme.textTheme.titleSmall,
        defaultTitleStyle0 = defaultTitleStyle == null ? B.TextStyle_SVP0 : defaultTitleStyle;
      t1 = type$.JSArray_Widget;
      t2 = A._setArrayType([], t1);
      t3 = _this._widget;
      t3 = t3.history;
      t4 = t3._history_manager$_history.length !== 0 && t3._historyIndex > 0 ? new A._HistoryViewportState__buildTitle_closure(_this) : _null;
      t3 = t3.get$hasNext() ? new A._HistoryViewportState__buildTitle_closure0(_this) : _null;
      B.JSArray_methods.addAll$1(t2, A._setArrayType([new A.ToolbarAction(B.IconData_57694_MaterialIcons_true, _null, t4, _null), new A.ToolbarAction(B.IconData_57695_MaterialIcons_true, _null, t3, _null), B.SizedBox_8_null_null_null, B.VerticalDivider_null, B.SizedBox_16_null_null_null], t1));
      t3 = _this._widget.onTitleTap;
      if (t3 == null)
        t3 = A.Text$(title, _null, _null, _null, _null, _null, defaultTitleStyle0, _null, _null, _null, _null);
      else {
        t4 = _this._titleStyle;
        t3 = A.MouseRegion$(A.GestureDetector$(_null, A.Text$(title, _null, _null, _null, _null, _null, t4 == null ? defaultTitleStyle : t4, _null, _null, _null, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, _null), B.SystemMouseCursor_click, _null, new A._HistoryViewportState__buildTitle_closure1(_this, defaultTitleStyle0, theme), new A._HistoryViewportState__buildTitle_closure2(_this, defaultTitleStyle0), _null);
      }
      t2.push(A.Expanded$(t3, 1));
      _this._widget.toString;
      t3 = A._setArrayType([B.SizedBox_8_null_null_null], t1);
      for (t4 = _this._widget.controls, t5 = t4.length, _i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i)
        B.JSArray_methods.addAll$1(t3, A._setArrayType([t4[_i], B.SizedBox_8_null_null_null], t1));
      B.JSArray_methods.addAll$1(t2, t3);
      t1 = A.Row$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t2 = A.ThemeDataExtension_get_titleSolidBackgroundColor(theme);
      t3 = B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Container$(B.Alignment_m1_0, t1, B.Clip_0, _null, _null, new A.BoxDecoration(t2, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, t3, _null, _null, B.EdgeInsets_16_0_0_0, _null, _null, _null);
    }
  };
  A._HistoryViewportState__updateTitleStyle_closure.prototype = {
    call$0() {
      this.$this._titleStyle = this.style;
    },
    $signature: 0
  };
  A._HistoryViewportState_build_closure.prototype = {
    call$3(context, current, _) {
      var t1 = this.$this;
      return A.Column$(A._setArrayType([t1._buildTitle$2(context, this.theme), t1._widget.contentBuilder.call$2(context, current)], type$.JSArray_Widget), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    $signature() {
      return this.$this.$ti._eval$1("Column(BuildContext,1?,Widget?)");
    }
  };
  A._HistoryViewportState__buildTitle_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.history,
        t3 = t2._history_manager$_history;
      if (!(t3.length !== 0 && t2._historyIndex > 0))
        A.throwExpression(A.StateError$("no previous history item"));
      t2._history_manager$_current.set$value(0, t3[--t2._historyIndex]);
      t1._widget.toString;
    },
    $signature: 0
  };
  A._HistoryViewportState__buildTitle_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.history,
        t3 = t2._history_manager$_current;
      t3._change_notifier$_value.toString;
      if (!t2.get$hasNext())
        A.throwExpression(A.StateError$("no next history item"));
      t3.set$value(0, t2._history_manager$_history[++t2._historyIndex]);
      t1._widget.toString;
    },
    $signature: 0
  };
  A._HistoryViewportState__buildTitle_closure2.prototype = {
    call$1(_) {
      return this.$this._updateTitleStyle$1(this.defaultTitleStyle);
    },
    $signature: 34
  };
  A._HistoryViewportState__buildTitle_closure1.prototype = {
    call$1(_) {
      var t1 = this.theme.colorScheme.brightness === B.Brightness_1 ? B.Color_4279858898 : B.MaterialAccentColor_Map_iTyLX_4282434815;
      this.$this._updateTitleStyle$1(this.defaultTitleStyle.copyWith$1$color(t1));
    },
    $signature: 49
  };
  A.Initializer.prototype = {
    createState$0() {
      return new A._InitializerState(A.Disposer$(), null, null, B._StateLifecycle_0);
    },
    builder$1(arg0) {
      return this.builder.call$1(arg0);
    }
  };
  A._InitializerState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = $.globals.$index(0, B.Type_FrameworkController_QHx)._connectVmController;
      t2 = _this.AutoDisposeMixin__delegate._auto_dispose$_subscriptions;
      t2.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_connectVm()));
      _this.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState, new A._InitializerState_initState_closure(_this));
      t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectionAvailableController;
      t2.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A._InitializerState_initState_closure0(_this)));
      _this._attemptUrlConnection$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.url;
      if (t1 != null && t1 !== oldWidget.url)
        this._attemptUrlConnection$0();
    },
    _connectVm$1($event) {
      var t2,
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.Router_of(t1, type$.nullable_Object);
      t2 = type$.String;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "uri", J.toString$0$($event.get$serviceProtocolUri()));
      if ($event.get$notify())
        t2.$indexSet(0, "notify", "true");
      t1.routerDelegate.updateArgsIfNotCurrent$1(t2);
    },
    _attemptUrlConnection$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      var $async$_attemptUrlConnection$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._widget.url;
              if (t1 == null) {
                $async$self._handleNoConnection$0();
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(A.FrameworkCore_initVmService("", new A._InitializerState__attemptUrlConnection_closure($async$self), A.normalizeVmServiceUri(t1)), $async$_attemptUrlConnection$0);
            case 3:
              // returning from await.
              if (!$async$result)
                $async$self._handleNoConnection$0();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_attemptUrlConnection$0, $async$completer);
    },
    _handleNoConnection$0() {
      $.WidgetsBinding__instance.scheduleFrameCallback$1(new A._InitializerState__handleNoConnection_closure(this));
    },
    hideDisconnectedOverlay$0() {
      var t1 = this.currentDisconnectedOverlay;
      if (t1 != null)
        t1.remove$0(0);
      this.currentDisconnectedOverlay = null;
    },
    _createDisconnectedOverlay$0() {
      var t1 = this._framework$_element;
      t1.toString;
      return this.currentDisconnectedOverlay = A.OverlayEntry$(new A._InitializerState__createDisconnectedOverlay_closure(this, A.Theme_of(t1)), false, false);
    },
    build$1(context) {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (t1.service != null && t1.connectedApp != null)
        t1 = this._widget.builder$1(context);
      else
        t1 = A.Scaffold$(null, this.currentDisconnectedOverlay != null ? B.SizedBox_null_null_null_null : B.CenteredCircularProgressIndicator_null, null);
      return t1;
    }
  };
  A._InitializerState_initState_closure.prototype = {
    call$0() {
      var connectionState = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState._change_notifier$_value;
      if (!connectionState.connected && !connectionState.userInitiatedConnectionState)
        this.$this._attemptUrlConnection$0();
    },
    $signature: 0
  };
  A._InitializerState_initState_closure0.prototype = {
    call$1(_) {
      return this.$this.setState$1(new A._InitializerState_initState__closure());
    },
    $signature: 89
  };
  A._InitializerState_initState__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._InitializerState__attemptUrlConnection_closure.prototype = {
    call$2(message, error) {
      var t1 = this.$this._framework$_element;
      t1.toString;
      t1 = A.Notifications_of(t1);
      t1.toString;
      return t1.push$1(message + ", " + A.S(error));
    },
    $signature: 30
  };
  A._InitializerState__handleNoConnection_closure.prototype = {
    call$1(_) {
      var t2, result,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (!(t1.service != null && t1.connectedApp != null)) {
        t1 = this.$this;
        t2 = t1._framework$_element;
        t2.toString;
        t1 = A.ModalRoute_of(t2, type$.nullable_Object).get$isCurrent() && t1.currentDisconnectedOverlay == null;
      } else
        t1 = false;
      if (t1) {
        A.select("main", "appDisconnected", false, null);
        t1 = this.$this;
        result = t1._framework$_element.findAncestorStateOfType$1$0(type$.OverlayState);
        result.toString;
        result.insert$1(0, t1._createDisconnectedOverlay$0());
        t1.addAutoDisposeListener$2($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState, new A._InitializerState__handleNoConnection__closure(t1));
      }
    },
    $signature: 3
  };
  A._InitializerState__handleNoConnection__closure.prototype = {
    call$0() {
      if ($.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState._change_notifier$_value.connected)
        this.$this.hideDisconnectedOverlay$0();
    },
    $signature: 0
  };
  A._InitializerState__createDisconnectedOverlay_closure.prototype = {
    call$1(context) {
      var _null = null,
        t1 = this.theme.textTheme,
        t2 = A._setArrayType([B.Spacer_null, A.Text$("Disconnected", _null, _null, _null, _null, _null, t1.displaySmall, _null, _null, _null, _null), B.SizedBox_null_16_null_null], type$.JSArray_Widget),
        t3 = this.$this;
      if (t3._widget.allowConnectionScreenOnDisconnect)
        t2.push(A.ElevatedButton$(false, B.Text_nxd, new A._InitializerState__createDisconnectedOverlay__closure(t3, context), _null));
      else
        t2.push(A.Text$("Run a new debug session to reconnect", _null, _null, _null, _null, _null, t1.bodyMedium, _null, _null, _null, _null));
      t2.push(B.Spacer_null);
      t2.push(A.ElevatedButton$(false, B.Text_1kE, t3.get$hideDisconnectedOverlay(), _null));
      t2.push(B.SizedBox_null_16_null_null);
      return A.Container$(_null, A.Center$(A.Column$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null, _null, _null), B.Clip_0, B.Color_2130706432, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    },
    $signature: 640
  };
  A._InitializerState__createDisconnectedOverlay__closure.prototype = {
    call$0() {
      this.$this.hideDisconnectedOverlay$0();
      A.Router_of(this.context, type$.nullable_Object).routerDelegate.navigateHome$2$clearScreenParam$clearUriParam(true, true);
    },
    $signature: 0
  };
  A.__InitializerState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$__InitializerState_State_SingleTickerProviderStateMixin$dispose();
    }
  };
  A.LandingScreenBody.prototype = {
    createState$0() {
      return new A._LandingScreenBodyState(B._StateLifecycle_0);
    }
  };
  A._LandingScreenBodyState.prototype = {
    initState$0() {
      this.super$State$initState();
      A.screen("landing");
    },
    build$1(context) {
      var _null = null;
      return A.Scrollbar$(A.ListView$(B.List_urR, _null, _null, _null, _null, _null, false), _null, _null, _null, _null);
    }
  };
  A.LandingScreenSection.prototype = {
    build$1(context) {
      var _null = null;
      return A.Column$(A._setArrayType([A.Text$(this.title, _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.headlineSmall, _null, _null, _null, _null), B.PaddedDivider_wEo0, this.child, new A.PaddedDivider(new A.EdgeInsets(0, 10, 0, 10), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A.ConnectDialog.prototype = {
    createState$0() {
      return new A._ConnectDialogState(false, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_bool), type$._AsyncCompleter_bool), B._StateLifecycle_0);
    }
  };
  A._ConnectDialogState.prototype = {
    initState$0() {
      this.super$State$initState();
      var t1 = $.$get$ChangeNotifier__emptyListeners();
      if (this.___ConnectDialogState_connectDialogController !== $)
        A.throwUnnamedLateFieldAI();
      this.___ConnectDialogState_connectDialogController = new A.TextEditingController(B.TextEditingValue_li8, t1);
    },
    dispose$0() {
      var t1 = this.___ConnectDialogState_connectDialogController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      this.super$__ConnectDialogState_State_BlockingActionMixin$dispose();
    },
    build$1(context) {
      var _null = null;
      return new A.LandingScreenSection("Connect", A.Column$(A._setArrayType([A.Text$("Connect to a Running App", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleMedium, _null, _null, _null, _null), B.SizedBox_null_6_null_null, A.Text$("Enter a URL to a running Dart or Flutter application", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.bodySmall, _null, _null, _null, _null), B.Padding_lAj1, this._buildConnectInput$0()], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    },
    _buildConnectInput$0() {
      var _this = this, _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(350 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = _this.BlockingActionMixin__actionInProgress,
        t3 = t2 ? _null : new A._ConnectDialogState__buildConnectInput_closure(_this),
        t4 = _this.___ConnectDialogState_connectDialogController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.SizedBox$(A.TextField$(true, t4, _null, B.InputDecoration_aZE, _null, _null, _null, _null, _null, _null, _null, t3, _null), _null, t1);
      t3 = type$.JSArray_Widget;
      t1 = A.Row$(A._setArrayType([t1, B.SizedBox_16_null_null_null, A.ElevatedButton$(false, B.Text_iml, t2 ? _null : _this.get$_connect(_this), _null)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
      t4 = _this._framework$_element;
      t4.toString;
      return A.Column$(A._setArrayType([t1, new A.Padding(B.EdgeInsets_0_8_0_8, A.Text$("(e.g., http://127.0.0.1:12345/auth_code=...)", _null, _null, _null, _null, _null, A.Theme_of(t4).textTheme.bodySmall, B.TextAlign_4, _null, _null, _null), _null)], t3), B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    _connect$0(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_connect$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.blockWhileInProgress$1($async$self.get$_connectHelper()), $async$_connect$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_connect$0, $async$completer);
    },
    _connectHelper$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, uri, t2, connectedUri, t3;
      var $async$_connectHelper$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
              A.select("landing", "connectToApp", false, null);
              t1 = $async$self.___ConnectDialogState_connectDialogController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._change_notifier$_value.text;
              if (t1.length === 0) {
                t1 = $async$self._framework$_element;
                t1.toString;
                A.Notifications_of(t1).push$1("Please enter a VM Service URL.");
                // goto return
                $async$goto = 1;
                break;
              }
              uri = A.normalizeVmServiceUri(t1);
              t1 = $async$self._framework$_element;
              t1.toString;
              t1 = A.Router_of(t1, type$.nullable_Object);
              t2 = $async$self._framework$_element;
              t2.toString;
              t2 = A.Notifications_of(t2);
              t2.toString;
              $async$goto = 3;
              return A._asyncAwait(A.FrameworkCore_initVmService("", new A._ConnectDialogState__connectHelper_closure(t2), uri), $async$_connectHelper$0);
            case 3:
              // returning from await.
              if ($async$result) {
                connectedUri = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service._connectedUri;
                t3 = type$.String;
                t1.routerDelegate.updateArgsIfNotCurrent$1(A.LinkedHashMap_LinkedHashMap$_literal(["uri", connectedUri.toString$0(0)], t3, t3));
                t2.push$1("Successfully connected to " + connectedUri.replace$1$path(0, "").toString$0(0) + ".");
              } else if (uri == null) {
                t1 = $async$self.___ConnectDialogState_connectDialogController;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t2.push$1('Failed to connect to the VM Service at "' + t1._change_notifier$_value.text + '".\nThe link was not valid.');
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_connectHelper$0, $async$completer);
    }
  };
  A._ConnectDialogState__buildConnectInput_closure.prototype = {
    call$1(str) {
      return this.$this._connect$0(0);
    },
    $signature: 12
  };
  A._ConnectDialogState__connectHelper_closure.prototype = {
    call$2(message, error) {
      this.notifications.push$1(message + " " + A.S(error));
    },
    $signature: 30
  };
  A.ImportFileInstructions.prototype = {
    build$1(context) {
      var _null = null;
      return new A.LandingScreenSection("Load DevTools Data", A.Column$(A._setArrayType([A.Text$("Import a data file to use DevTools without an app connection.", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleMedium, _null, _null, _null, _null), B.SizedBox_null_6_null_null, A.Text$("At this time, DevTools only supports importing files that were originally exported from DevTools.", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.bodySmall, _null, _null, _null, _null), B.SizedBox_null_16_null_null, A.ElevatedButton$(false, B.MaterialIconLabel_Db0, new A.ImportFileInstructions_build_closure(this, context), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    },
    _importFile$1(context) {
      return this._importFile$body$ImportFileInstructions(context);
    },
    _importFile$body$ImportFileInstructions(context) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        importedFile;
      var $async$_importFile$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.select("landing", "importFile", false, null);
              $async$goto = 2;
              return A._asyncAwait(A.importFileFromPicker(A._setArrayType(["json"], type$.JSArray_String)), $async$_importFile$1);
            case 2:
              // returning from await.
              importedFile = $async$result;
              if (importedFile != null)
                A.Provider_of(context, false, type$.ImportController).importData$1(importedFile);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_importFile$1, $async$completer);
    }
  };
  A.ImportFileInstructions_build_closure.prototype = {
    call$0() {
      return this.$this._importFile$1(this.context);
    },
    $signature: 0
  };
  A.AppSizeToolingInstructions.prototype = {
    build$1(context) {
      var _null = null;
      return new A.LandingScreenSection("App Size Tooling", A.Column$(A._setArrayType([A.Text$("Analyze and view diffs for your app's size", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.titleMedium, _null, _null, _null, _null), B.SizedBox_null_6_null_null, A.Text$("Load Dart AOT snapshots or app size analysis files to track down size issues in your app.", _null, _null, _null, _null, _null, A.Theme_of(context).textTheme.bodySmall, _null, _null, _null, _null), B.SizedBox_null_16_null_null, A.ElevatedButton$(false, B.Text_s4B, new A.AppSizeToolingInstructions_build_closure(this, context), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null);
    }
  };
  A.AppSizeToolingInstructions_build_closure.prototype = {
    call$0() {
      A.select("landing", "openAppSizeTool", false, null);
      A.Router_of(this.context, type$.nullable_Object).routerDelegate.navigate$1(0, "appsize");
      return null;
    },
    $signature: 0
  };
  A.__ConnectDialogState_State_BlockingActionMixin.prototype = {
    dispose$0() {
      this.BlockingActionMixin__actionInProgress = false;
      this.BlockingActionMixin__disposed.complete$1(0, true);
      this.super$State$dispose();
    }
  };
  A.Notifications.prototype = {
    build$1(context) {
      return new A.Overlay(A._setArrayType([A.OverlayEntry$(new A.Notifications_build_closure(this), true, true)], type$.JSArray_OverlayEntry), null);
    }
  };
  A.Notifications_build_closure.prototype = {
    call$1(context) {
      return new A._NotificationsProvider(this.$this.child, null);
    },
    $signature: 641
  };
  A._NotificationsProvider.prototype = {
    createState$0() {
      return new A.NotificationsState(A._setArrayType([], type$.JSArray__Notification), B._StateLifecycle_0);
    }
  };
  A._InheritedNotifications.prototype = {
    updateShouldNotify$1(oldWidget) {
      return oldWidget.data !== this.data;
    }
  };
  A.NotificationsState.prototype = {
    didChangeDependencies$0() {
      var _this = this;
      _this.super$State$didChangeDependencies();
      if (_this._overlayEntry == null) {
        _this._overlayEntry = A.OverlayEntry$(_this.get$_notifications$_buildOverlay(), true, false);
        $.SchedulerBinding__instance.scheduleFrameCallback$1(new A.NotificationsState_didChangeDependencies_closure(_this));
      }
    },
    dispose$0() {
      this._overlayEntry.remove$0(0);
      this.super$State$dispose();
    },
    push$4$actions$allowDuplicates$duration(message, actions, allowDuplicates, duration) {
      var t1;
      if (!allowDuplicates) {
        t1 = this._notifications$_notifications;
        if (t1.length !== 0) {
          t1 = new A.WhereIterable(t1, new A.NotificationsState_push_closure(message), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
          t1 = !t1.get$isEmpty(t1);
        } else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        return false;
      this.setState$1(new A.NotificationsState_push_closure0(this, message, actions, duration));
      return true;
    },
    push$1(message) {
      return this.push$4$actions$allowDuplicates$duration(message, B.List_empty17, true, B.Duration_7000000);
    },
    dismiss$1(message) {
      var t2, didDismiss, _i, notification,
        t1 = this._notifications$_notifications,
        notifications = A.List_List$from(t1, true, type$.dynamic);
      for (t2 = notifications.length, didDismiss = false, _i = 0; _i < t2; ++_i) {
        notification = notifications[_i];
        if (J.$eq$(J.get$message$x(notification), message)) {
          B.JSArray_methods.remove$1(t1, notification);
          didDismiss = true;
        }
      }
      if (didDismiss)
        this.setState$1(new A.NotificationsState_dismiss_closure(this));
    },
    _removeNotification$1(notification) {
      this.setState$1(new A.NotificationsState__removeNotification_closure(this, notification));
    },
    _notifications$_buildOverlay$1(context) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(24 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = $.$get$_notificationWidth();
      return new A.Align(B.Alignment_1_1, _null, _null, new A.Padding(new A.EdgeInsets(0, 0, 16, t1 + 16), A.SizedBox$(A.SingleChildScrollView$(A.Column$(this._notifications$_notifications, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null, B.DragStartBehavior_1, _null, _null, true, B.Axis_1), _null, t2), _null), _null);
    },
    build$1(context) {
      return new A._InheritedNotifications(this, this._widget.child, null);
    }
  };
  A.NotificationsState_didChangeDependencies_closure.prototype = {
    call$1(_) {
      var t1 = this.$this,
        result = t1._framework$_element.findAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      t1 = t1._overlayEntry;
      t1.toString;
      result.insert$1(0, t1);
    },
    $signature: 3
  };
  A.NotificationsState_push_closure.prototype = {
    call$1(n) {
      return n.message === this.message;
    },
    $signature: 644
  };
  A.NotificationsState_push_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      t1._notifications$_notifications.push(new A._Notification(_this.duration, _this.message, _this.actions, t1.get$_removeNotification(), null));
      t1 = t1._overlayEntry;
      if (t1 != null)
        t1.markNeedsBuild$0();
    },
    $signature: 0
  };
  A.NotificationsState_dismiss_closure.prototype = {
    call$0() {
      var t1 = this.$this._overlayEntry;
      if (t1 != null)
        t1.markNeedsBuild$0();
    },
    $signature: 0
  };
  A.NotificationsState__removeNotification_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (B.JSArray_methods.remove$1(t1._notifications$_notifications, this.notification)) {
        t1 = t1._overlayEntry;
        if (t1 != null)
          t1.markNeedsBuild$0();
      }
    },
    $signature: 0
  };
  A._Notification.prototype = {
    createState$0() {
      return new A._NotificationState(null, null, B._StateLifecycle_0);
    },
    remove$0($receiver) {
      return this.remove.call$0();
    },
    remove$1($receiver, arg0) {
      return this.remove.call$1(arg0);
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A._NotificationState.prototype = {
    initState$0() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, B.Duration_400000, 0, _null, 1, _null, _this);
      _this.___NotificationState_controller = t1;
      _this.___NotificationState_curve = A.CurvedAnimation$(B.Cubic_QB2, t1, _null);
      _this.___NotificationState__dismissTimer = A.Timer_Timer(_this._widget.duration, new A._NotificationState_initState_closure(_this));
      t1 = _this.___NotificationState_controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0);
    },
    dispose$0() {
      var t1 = this.___NotificationState_controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = this.___NotificationState__dismissTimer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.cancel$0(0);
      this.super$__NotificationState_State_SingleTickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var t2, t3, t4, t5, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = _this.___NotificationState_controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = theme.snackBarTheme;
      t3 = t2.contentTextStyle;
      if (t3 == null) {
        t3 = theme.primaryTextTheme.titleMedium;
        t3.toString;
      }
      t4 = _this._widget.message;
      t5 = _this._framework$_element;
      t5.toString;
      return A.AnimatedBuilder$(t1, new A._NotificationState_build_closure(_this), new A.Padding(B.EdgeInsets_8_8_8_8, A.Card$(A.DefaultTextStyle$(new A.Padding(B.EdgeInsets_8_8_8_8, A.Column$(A._setArrayType([A.Text$(t4, _null, 6, B.TextOverflow_3, _null, _null, A.Theme_of(t5).textTheme.bodyLarge, _null, _null, _null, _null), B.SizedBox_null_16_null_null, _this._buildActions$0()], type$.JSArray_Widget), B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null), _null, _null, B.TextOverflow_0, true, t3, _null, _null, B.TextWidthBasis_0), _null, t2.backgroundColor, _null, _null, _null), _null));
    },
    _buildActions$0() {
      var t1 = this._widget.actions;
      if (t1.length === 0)
        return B.SizedBox_null_null_null_null;
      return A.Row$(A.ListExtension_joinWith(t1, B.SizedBox_8_null_null_null, type$.Widget), B.CrossAxisAlignment_2, null, B.MainAxisAlignment_1, B.MainAxisSize_1, null, null);
    }
  };
  A._NotificationState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.___NotificationState_controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.didRegisterListener$0();
      t2 = t2.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(new A._NotificationState_initState__closure(t1));
      t1 = t1.___NotificationState_controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.reverse$0(0);
    },
    $signature: 0
  };
  A._NotificationState_initState__closure.prototype = {
    call$1($status) {
      var t1;
      if ($status === B.AnimationStatus_0) {
        t1 = this.$this._widget;
        t1.remove$1(0, t1);
      }
    },
    $signature: 5
  };
  A._NotificationState_build_closure.prototype = {
    call$2(context, child) {
      var t1 = this.$this.___NotificationState_curve;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.Opacity$(false, child, t1.get$value(t1));
    },
    $signature: 645
  };
  A.NotificationAction.prototype = {
    build$1(context) {
      var _null = null,
        labelText = A.Text$(this.label, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null),
        t1 = this.onAction;
      return this.isPrimary ? A.ElevatedButton$(false, labelText, t1, _null) : A.OutlinedButton$(false, labelText, _null, t1, _null);
    }
  };
  A.__NotificationState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.buildVariablesTree__addPropertiesHelper.prototype = {
    $call$body$buildVariablesTree__addPropertiesHelper(properties) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, $async$temp1, $async$temp2;
      var $async$call$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 (properties == null || $async$self.service == null || $async$self.isolateRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$temp1 = A;
              $async$temp2 = $async$self.variable;
              $async$goto = 4;
              return A._asyncAwait(A._createVariablesForDiagnostics($async$self.service, properties, $async$self.isolateRef), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait($async$temp1.addExpandableChildren($async$temp2, $async$result, true), $async$call$1);
            case 3:
              // returning from await.
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    call$1(properties) {
      return this.$call$body$buildVariablesTree__addPropertiesHelper(properties);
    },
    $signature: 646
  };
  A.buildVariablesTree__maybeUpdateRef.prototype = {
    $call$body$buildVariablesTree__maybeUpdateRef(child) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, valueInstanceRef, e, instanceRef, t1, t2, exception, childRef, $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
              childRef = child._ref;
              if (childRef == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = childRef.diagnostic == null ? 3 : 4;
              break;
            case 3:
              // then
              instanceRef = childRef.value;
              instanceRef = type$.InstanceRef._is(instanceRef) ? instanceRef : null;
              if (instanceRef != null) {
                t1 = instanceRef.get$classRef();
                if ((t1 == null ? null : t1.get$name(t1)) !== "DiagnosticableTreeNode") {
                  t1 = instanceRef.get$classRef();
                  t1 = (t1 == null ? null : t1.get$name(t1)) === "DiagnosticsProperty";
                } else
                  t1 = true;
              } else
                t1 = false;
              $async$goto = t1 ? 5 : 6;
              break;
            case 5:
              // then
              $async$handler = 8;
              t1 = $async$self._box_0;
              t2 = t1.group;
              t1 = t2 == null ? t1.group = A.ObjectGroup$("temp", $async$self.inspectorService) : t2;
              $async$goto = 11;
              return A._asyncAwait(t1.evalOnRef$2("object.value", childRef), $async$call$1);
            case 11:
              // returning from await.
              valueInstanceRef = $async$result;
              child._ref = new A.GenericInstanceRef(valueInstanceRef, null, $async$self.isolateRef);
              $async$handler = 2;
              // goto after finally
              $async$goto = 10;
              break;
            case 8:
              // catch
              $async$handler = 7;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              if (!(e instanceof A.SentinelException))
                A.log("Caught " + A.S(e) + " accessing the value of an object", B.LogLevel_1);
              // goto after finally
              $async$goto = 10;
              break;
            case 7:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 10:
              // after finally
            case 6:
              // join
            case 4:
              // join
            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);
    },
    call$1(child) {
      return this.$call$body$buildVariablesTree__maybeUpdateRef(child);
    },
    $signature: 647
  };
  A._createVariablesForAssociations_closure.prototype = {
    call$2(p, e) {
      var t1;
      if (!p) {
        t1 = J.get$kind$x(e.key);
        t1 = t1 === "Bool" || t1 === "Double" || t1 === "Int" || t1 === "Null" || t1 === "String";
      } else
        t1 = true;
      return t1;
    },
    $signature: 648
  };
  A.DartObjectNode.prototype = {
    get$childCount() {
      var value,
        t1 = this._childCount;
      if (t1 != null)
        return t1;
      t1 = this._ref;
      value = t1 == null ? null : t1.value;
      if (type$.InstanceRef._is(value)) {
        if (value.get$kind(value) != null) {
          t1 = value.get$kind(value);
          t1.toString;
          t1 = B.JSString_methods.endsWith$1(t1, "List") || value.get$kind(value) === "List" || value.get$kind(value) === "Map";
        } else
          t1 = false;
        if (t1) {
          t1 = value.get$length(value);
          return t1 == null ? 0 : t1;
        }
      }
      return 0;
    },
    get$isExpandable() {
      var t1, diagnostic, instanceRef, _this = this;
      if (_this.treeInitializeComplete || _this.children.length !== 0 || _this.get$childCount() > 0)
        return _this.children.length !== 0 || _this.get$childCount() > 0;
      t1 = _this._ref;
      diagnostic = t1 == null ? null : t1.diagnostic;
      if (diagnostic != null)
        t1 = diagnostic.get$inlineProperties().length !== 0 || diagnostic.get$hasChildren();
      else
        t1 = false;
      if (t1)
        return true;
      t1 = _this._ref;
      if (t1 == null)
        instanceRef = null;
      else {
        t1 = t1.value;
        instanceRef = type$.InstanceRef._is(t1) ? t1 : null;
      }
      return instanceRef != null && instanceRef.get$valueAsString(instanceRef) == null;
    },
    get$displayValue() {
      var value, kind, valueStr, itemLength, _null = null,
        t1 = this.text;
      if (t1 != null)
        return t1;
      t1 = this._ref;
      value = t1 == null ? _null : t1.value;
      if (value == null)
        return _null;
      if (type$.InstanceRef._is(value)) {
        kind = value.get$kind(value);
        if (value.get$valueAsString(value) == null) {
          t1 = value.get$classRef();
          valueStr = t1 == null ? _null : t1.get$name(t1);
          if (valueStr == null)
            valueStr = "";
        } else {
          valueStr = value.get$valueAsString(value);
          if (valueStr == null)
            valueStr = "";
          if (value.get$valueAsStringIsTruncated() === true)
            valueStr += "...";
          if (kind === "String")
            valueStr = "'" + valueStr + "'";
        }
        if (!(kind != null && kind === "List"))
          if (kind !== "Map") {
            kind.toString;
            t1 = B.JSString_methods.endsWith$1(kind, "List");
          } else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          itemLength = value.get$length(value);
          if (itemLength == null)
            return valueStr;
          return valueStr + " (" + ($.$get$nf().format$1(0, itemLength) + " " + A.pluralize("item", itemLength, _null)) + ")";
        }
      } else if (value instanceof A.Sentinel)
        valueStr = value.valueAsString;
      else
        valueStr = type$.TypeArgumentsRef._is(value) ? value.get$name(value) : J.toString$0$(value);
      return valueStr;
    },
    toString$0(_) {
      var instanceRef, value,
        t1 = this.text;
      if (t1 != null)
        return t1;
      instanceRef = this._ref.value;
      t1 = type$.InstanceRef;
      instanceRef = t1._is(instanceRef) ? instanceRef : null;
      value = t1._is(instanceRef) ? instanceRef.get$valueAsString(instanceRef) : instanceRef;
      return A.S(this.name) + " - " + A.S(value);
    },
    inspectWidget$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, group, inspectorService, exception, t1, $async$exception;
      var $async$inspectWidget$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
              t1 = $async$self._ref;
              if (t1 == null)
                t1 = null;
              else {
                t1 = t1.value;
                t1 = type$.InstanceRef._is(t1) ? t1 : null;
              }
              if (t1 == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              inspectorService = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
              if (inspectorService == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              group = A.ObjectGroup$("inspect-variables", inspectorService);
              $async$goto = group instanceof A.ObjectGroup ? 3 : 4;
              break;
            case 3:
              // then
              $async$handler = 6;
              t1 = $async$self._ref;
              t1.toString;
              $async$goto = 9;
              return A._asyncAwait(group.setSelection$1(t1), $async$inspectWidget$0);
            case 9:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $async$next = [1];
              // goto finally
              $async$goto = 7;
              break;
              $async$next.push(8);
              // goto finally
              $async$goto = 7;
              break;
            case 6:
              // catch
              $async$handler = 5;
              $async$exception = $async$currentError;
              $async$returnValue = false;
              $async$next = [1];
              // goto finally
              $async$goto = 7;
              break;
              $async$next.push(8);
              // goto finally
              $async$goto = 7;
              break;
            case 5:
              // uncaught
              $async$next = [2];
            case 7:
              // finally
              $async$handler = 2;
              group.dispose$0();
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 8:
              // after finally
            case 4:
              // join
              $async$returnValue = false;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$inspectWidget$0, $async$completer);
    },
    get$isInspectable() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, group, inspectorService, exception, t1, $async$exception;
      var $async$get$isInspectable = 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._isInspectable;
              if (t1 != null) {
                $async$returnValue = t1;
                // goto return
                $async$goto = 1;
                break;
              }
              if ($async$self._ref == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              inspectorService = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._inspectorService;
              if (inspectorService == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              group = A.ObjectGroup$("inspect-variables", inspectorService);
              $async$handler = 4;
              t1 = $async$self._ref;
              t1.toString;
              $async$goto = 7;
              return A._asyncAwait(group.isInspectable$1(t1), $async$get$isInspectable);
            case 7:
              // returning from await.
              $async$self._isInspectable = $async$result;
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              $async$self._isInspectable = false;
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 3:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              group.dispose$0();
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 6:
              // after finally
              t1 = $async$self._isInspectable;
              $async$returnValue = t1 === true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$isInspectable, $async$completer);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.PreferencesController.prototype = {
    init$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, value, t1, t2, $async$temp1;
      var $async$init$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($.globals.$index(0, B.Type_Storage_uL6).getValue$1("ui.darkMode"), $async$init$0);
            case 2:
              // returning from await.
              value = $async$result;
              t1 = value == null || value === "true";
              t2 = $async$self._darkModeTheme;
              t2.set$value(0, t1);
              t2.addListener$1(0, new A.PreferencesController_init_closure($async$self));
              t2 = $async$self._vmDeveloperMode;
              $async$temp1 = t2;
              $async$goto = 3;
              return A._asyncAwait($.globals.$index(0, B.Type_Storage_uL6).getValue$1("ui.vmDeveloperMode"), $async$init$0);
            case 3:
              // returning from await.
              $async$temp1.set$value(0, $async$result === "true");
              t2.addListener$1(0, new A.PreferencesController_init_closure0($async$self));
              t2 = $async$self._denseMode;
              $async$temp1 = t2;
              $async$goto = 4;
              return A._asyncAwait($.globals.$index(0, B.Type_Storage_uL6).getValue$1("ui.denseMode"), $async$init$0);
            case 4:
              // returning from await.
              $async$temp1.set$value(0, $async$result === "true");
              t2.addListener$1(0, new A.PreferencesController_init_closure1($async$self));
              $async$goto = 5;
              return A._asyncAwait($async$self._inspector.init$0(), $async$init$0);
            case 5:
              // returning from await.
              $.globals.$indexSet(0, B.Type_PreferencesController_1KB, $async$self);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$init$0, $async$completer);
    },
    toggleDarkModeTheme$1(useDarkMode) {
      this._darkModeTheme.set$value(0, useDarkMode);
    },
    toggleVmDeveloperMode$1(enableVmDeveloperMode) {
      this._vmDeveloperMode.set$value(0, enableVmDeveloperMode);
    },
    toggleDenseMode$1(enableDenseMode) {
      this._denseMode.set$value(0, enableDenseMode);
    }
  };
  A.PreferencesController_init_closure.prototype = {
    call$0() {
      $.globals.$index(0, B.Type_Storage_uL6).setValue$2("ui.darkMode", A.S(this.$this._darkModeTheme._change_notifier$_value));
    },
    $signature: 0
  };
  A.PreferencesController_init_closure0.prototype = {
    call$0() {
      $.globals.$index(0, B.Type_Storage_uL6).setValue$2("ui.vmDeveloperMode", A.S(this.$this._vmDeveloperMode._change_notifier$_value));
    },
    $signature: 0
  };
  A.PreferencesController_init_closure1.prototype = {
    call$0() {
      $.globals.$index(0, B.Type_Storage_uL6).setValue$2("ui.denseMode", A.S(this.$this._denseMode._change_notifier$_value));
    },
    $signature: 0
  };
  A.InspectorPreferencesController.prototype = {
    init$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, hoverEvalModeEnabledValue;
      var $async$init$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($.globals.$index(0, B.Type_Storage_uL6).getValue$1("inspector.hoverEvalMode"), $async$init$0);
            case 2:
              // returning from await.
              hoverEvalModeEnabledValue = $async$result;
              if (hoverEvalModeEnabledValue == null)
                hoverEvalModeEnabledValue = String(!$.globals.$index(0, B.Type_IdeTheme_NnV).embed);
              t1 = $async$self._hoverEvalMode;
              t1.set$value(0, hoverEvalModeEnabledValue === "true");
              t1.addListener$1(0, new A.InspectorPreferencesController_init_closure($async$self));
              $.globals.$indexSet(0, B.Type_8sC, $async$self);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$init$0, $async$completer);
    }
  };
  A.InspectorPreferencesController_init_closure.prototype = {
    call$0() {
      $.globals.$index(0, B.Type_Storage_uL6).setValue$2("inspector.hoverEvalMode", J.toString$0$(this.$this._hoverEvalMode._change_notifier$_value));
    },
    $signature: 0
  };
  A.ProfilableDataMixin.prototype = {
    get$inclusiveSampleCount() {
      var inclusiveSampleCountLocal = this.ProfilableDataMixin__inclusiveSampleCount;
      if (inclusiveSampleCountLocal != null)
        return inclusiveSampleCountLocal;
      return this.calculateInclusiveSampleCount$0();
    },
    get$totalTimeRatio() {
      var _this = this,
        value = _this.ProfilableDataMixin___ProfilableDataMixin_totalTimeRatio;
      return value === $ ? _this.ProfilableDataMixin___ProfilableDataMixin_totalTimeRatio = A.safeDivide(_this.get$inclusiveSampleCount(), _this._profileMetaData.sampleCount) : value;
    },
    get$totalTime() {
      var t1, t2, t3, _this = this,
        value = _this.ProfilableDataMixin___ProfilableDataMixin_totalTime;
      if (value === $) {
        t1 = _this.get$totalTimeRatio();
        t2 = _this._profileMetaData.time;
        t3 = t2._utils$_end;
        t3.toString;
        value = _this.ProfilableDataMixin___ProfilableDataMixin_totalTime = A.Duration$(B.JSNumber_methods.round$0(t1 * (t3._duration - t2._utils$_start._duration)), 0);
      }
      return value;
    },
    get$selfTimeRatio() {
      var _this = this,
        value = _this.ProfilableDataMixin___ProfilableDataMixin_selfTimeRatio;
      return value === $ ? _this.ProfilableDataMixin___ProfilableDataMixin_selfTimeRatio = A.safeDivide(_this.ProfilableDataMixin_exclusiveSampleCount, _this._profileMetaData.sampleCount) : value;
    },
    get$selfTime() {
      var t1, t2, t3, _this = this,
        value = _this.ProfilableDataMixin___ProfilableDataMixin_selfTime;
      if (value === $) {
        t1 = _this.get$selfTimeRatio();
        t2 = _this._profileMetaData.time;
        t3 = t2._utils$_end;
        t3.toString;
        value = _this.ProfilableDataMixin___ProfilableDataMixin_selfTime = A.Duration$(B.JSNumber_methods.round$0(t1 * (t3._duration - t2._utils$_start._duration)), 0);
      }
      return value;
    },
    calculateInclusiveSampleCount$0() {
      var t1, t2, i, _this = this,
        count = _this.ProfilableDataMixin_exclusiveSampleCount;
      for (t1 = _this.children, t2 = A._instanceType(_this)._eval$1("ProfilableDataMixin<ProfilableDataMixin.T>"), i = 0; i < t1.length; ++i)
        count += t2._as(t1[i]).get$inclusiveSampleCount();
      return _this.ProfilableDataMixin__inclusiveSampleCount = count;
    }
  };
  A.ProfileMetaData.prototype = {};
  A.BottomUpTransformer.prototype = {
    generateBottomUpRoots$3$bottomUpRoots$currentBottomUpRoot$node(bottomUpRoots, currentBottomUpRoot, node) {
      var t2, child,
        t1 = this.$ti._precomputed1,
        copy = t1._as(node.shallowCopy$0());
      if (currentBottomUpRoot != null)
        copy.addChild$1(currentBottomUpRoot.deepCopy$0());
      if (node.ProfilableDataMixin_exclusiveSampleCount > 0)
        bottomUpRoots.push(copy);
      for (t2 = node.children, t1 = A._arrayInstanceType(t2)._eval$1("@<1>")._bind$1(t1)._eval$1("CastList<1,2>"), t2 = new A.CastList(t2, t1), t2 = new A.ListIterator(t2, t2.get$length(t2), t1._eval$1("ListIterator<ListMixin.E>")), t1 = t1._eval$1("ListMixin.E"); t2.moveNext$0();) {
        child = t2.__internal$_current;
        this.generateBottomUpRoots$3$bottomUpRoots$currentBottomUpRoot$node(bottomUpRoots, copy, child == null ? t1._as(child) : child);
      }
      return bottomUpRoots;
    },
    cascadeSampleCounts$1(node) {
      var t1, t2, child;
      node.ProfilableDataMixin__inclusiveSampleCount = node.ProfilableDataMixin_exclusiveSampleCount;
      for (t1 = node.children, t2 = A._arrayInstanceType(t1)._eval$1("@<1>")._bind$1(this.$ti._precomputed1)._eval$1("CastList<1,2>"), t1 = new A.CastList(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        child = t1.__internal$_current;
        if (child == null)
          child = t2._as(child);
        child.ProfilableDataMixin_exclusiveSampleCount = node.ProfilableDataMixin_exclusiveSampleCount;
        this.cascadeSampleCounts$1(child);
      }
    }
  };
  A.ReleaseNotesViewer.prototype = {
    createState$0() {
      return new A._ReleaseNotesViewerState(null, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A._ReleaseNotesViewerState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.releaseNotesController;
      _this.___ReleaseNotesViewerState_isVisible = t1._releaseNotesVisible._change_notifier$_value;
      _this.markdownData = t1._releaseNotesMarkdown._change_notifier$_value;
      t1 = A.AnimationController$(null, B.Duration_400000, 0, null, 1, null, _this);
      _this.___ReleaseNotesViewerState_visibilityController = t1;
      t2 = type$.Tween_double;
      _this.___ReleaseNotesViewerState_visibilityAnimation = new A._AnimatedEvaluation(t1, new A.Tween(1, 0, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      _this.addAutoDisposeListener$2(_this._widget.releaseNotesController._releaseNotesVisible, new A._ReleaseNotesViewerState_initState_closure(_this));
      t2 = _this._widget.releaseNotesController._releaseNotesMarkdown;
      _this.markdownData = t2._change_notifier$_value;
      _this.addAutoDisposeListener$2(t2, new A._ReleaseNotesViewerState_initState_closure0(_this));
    },
    build$1(context) {
      var _null = null;
      return A.Material$(B.Duration_200000, true, _null, new A.LayoutBuilder(new A._ReleaseNotesViewerState_build_closure(this, this._widget.child), _null), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_0);
    }
  };
  A._ReleaseNotesViewerState_initState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._ReleaseNotesViewerState_initState__closure0(t1));
    },
    $signature: 0
  };
  A._ReleaseNotesViewerState_initState__closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.releaseNotesController._releaseNotesVisible._change_notifier$_value;
      t1.___ReleaseNotesViewerState_isVisible = t2;
      t1 = t1.___ReleaseNotesViewerState_visibilityController;
      if (t2) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
      } else {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.reverse$0(0);
      }
    },
    $signature: 0
  };
  A._ReleaseNotesViewerState_initState_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._ReleaseNotesViewerState_initState__closure(t1));
    },
    $signature: 0
  };
  A._ReleaseNotesViewerState_initState__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.markdownData = t1._widget.releaseNotesController._releaseNotesMarkdown._change_notifier$_value;
    },
    $signature: 0
  };
  A._ReleaseNotesViewerState_build_closure.prototype = {
    call$2(context, constraints) {
      var t3, t4,
        width = Math.min(600, constraints.maxWidth - 8),
        t1 = A._setArrayType([], type$.JSArray_Widget),
        t2 = this.child;
      if (t2 != null)
        t1.push(t2);
      t2 = this.$this;
      t3 = t2._widget.releaseNotesController;
      t4 = t2.___ReleaseNotesViewerState_visibilityAnimation;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t1.push(new A.ReleaseNotes(t3, t2.markdownData, width, t4, null));
      return new A.Stack(B.AlignmentDirectional_m1_m1, null, B.StackFit_0, B.Clip_1, t1, null);
    },
    $signature: 102
  };
  A.ReleaseNotes.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        animation = type$.Animation_double._as(_this.listenable),
        theme = A.Theme_of(context),
        t1 = _this.width,
        t2 = animation.get$value(animation),
        t3 = A.BorderRadius$circular(4),
        t4 = type$.JSArray_Widget,
        t5 = A.AreaPaneHeader$(A._setArrayType([A.IconButton$(_null, _null, true, B.Icon_gkc, _null, new A.ReleaseNotes_build_closure(_this), B.EdgeInsets_0_0_0_0, _null, _null)], t4), 1, true, false, false, 4, B.Text_4YG),
        t6 = _this.markdownData;
      return A.Positioned$(4, A.Card$(A.Column$(A._setArrayType([t5, t6 == null ? B.Text_Okq : A.Expanded$(new A.Markdown(t6, false, _null, _null, _null, new A.ReleaseNotes_build_closure0(context), _null, _null, _null, _null, _null, _null, _null, _null, B.Map_empty8, B.Map_empty9, B.MarkdownListItemCrossAxisAlignment_0, false, _null), 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_1, theme.scaffoldBackgroundColor, 4, _null, new A.RoundedRectangleBorder(t3, new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0))), _null, _null, _null, 4 - t1 * t2, 4, t1);
    }
  };
  A.ReleaseNotes_build_closure.prototype = {
    call$0() {
      this.$this.releaseNotesController._releaseNotesVisible.set$value(0, false);
      return null;
    },
    $signature: 0
  };
  A.ReleaseNotes_build_closure0.prototype = {
    call$3(_, href, __) {
      href.toString;
      return A.launchUrl(href, this.context);
    },
    $signature: 1298
  };
  A.ReleaseNotesController.prototype = {
    _maybeFetchReleaseNotes$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$handler = 1, $async$currentError, $async$self = this, e, exception, lastReleaseNotesShownVersion, t1, previousVersion, parsedCurrentVersion, parsedCurrentVersionStr, $async$exception;
      var $async$_maybeFetchReleaseNotes$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$goto = 2;
              return A._asyncAwait(A.getLastShownReleaseNotesVersion(), $async$_maybeFetchReleaseNotes$0);
            case 2:
              // returning from await.
              lastReleaseNotesShownVersion = $async$result;
              t1 = lastReleaseNotesShownVersion.length;
              previousVersion = t1 === 0 ? new A.SemanticVersion(0, 0, 0, null, null) : A.SemanticVersion_SemanticVersion$parse(lastReleaseNotesShownVersion);
              parsedCurrentVersion = A.SemanticVersion_SemanticVersion$parse("2.15.0");
              parsedCurrentVersionStr = J.toString$0$(parsedCurrentVersion);
              $async$goto = J.compareTo$1$ns(parsedCurrentVersion, previousVersion) > 0 ? 3 : 4;
              break;
            case 3:
              // then
              $async$handler = 6;
              $async$goto = 9;
              return A._asyncAwait($async$self._fetchReleaseNotes$1(parsedCurrentVersion), $async$_maybeFetchReleaseNotes$0);
            case 9:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 8;
              break;
            case 6:
              // catch
              $async$handler = 5;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              $async$self._releaseNotesMarkdown.set$value(0, null);
              $async$self._releaseNotesVisible.set$value(0, false);
              A.log("Warning: could not find release notes for DevTools version " + A.S(parsedCurrentVersionStr) + ". " + A.S(e), B.LogLevel_1);
              // goto after finally
              $async$goto = 8;
              break;
            case 5:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 8:
              // after finally
            case 4:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_maybeFetchReleaseNotes$0, $async$completer);
    },
    _fetchReleaseNotes$1(version) {
      return this._fetchReleaseNotes$body$ReleaseNotesController(version);
    },
    _fetchReleaseNotes$body$ReleaseNotesController(version) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, currentVersionString, attempts, versionString, releaseNotesMarkdown, t1, t2, t3, exception, _major, _minor, _patch, $async$exception;
      var $async$_fetchReleaseNotes$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
              version = version;
              currentVersionString = J.toString$0$(version);
              attempts = version.patch;
              t1 = $async$self._releaseNotesMarkdown, t2 = $async$self._releaseNotesVisible;
            case 3:
              // for condition
              if (!(attempts >= 0)) {
                // goto after for
                $async$goto = 4;
                break;
              }
              versionString = J.toString$0$(version);
              $async$handler = 6;
              $async$goto = 9;
              return A._asyncAwait(A.read(A.Uri_parse("https://docs.flutter.dev/development/tools/devtools/release-notes/release-notes-" + versionString + "-src.md", 0, null)), $async$_fetchReleaseNotes$1);
            case 9:
              // returning from await.
              releaseNotesMarkdown = $async$result;
              t3 = releaseNotesMarkdown;
              releaseNotesMarkdown = A.stringReplaceAllUnchecked(t3, "{{site.url}}", "https://docs.flutter.dev");
              t1.set$value(0, releaseNotesMarkdown);
              t2.set$value(0, true);
              A.setLastShownReleaseNotesVersion(currentVersionString);
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 8;
              break;
            case 6:
              // catch
              $async$handler = 5;
              $async$exception = $async$currentError;
              t3 = attempts;
              attempts = t3 - 1;
              if (attempts < 0)
                throw $async$exception;
              t3 = version;
              _major = t3.major;
              _minor = t3.minor;
              _patch = t3.patch;
              _patch = Math.max(0, _patch - 1);
              version = new A.SemanticVersion(_major, _minor, _patch, null, null);
              // goto after finally
              $async$goto = 8;
              break;
            case 5:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 8:
              // after finally
              // goto for condition
              $async$goto = 3;
              break;
            case 4:
              // after for
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_fetchReleaseNotes$1, $async$completer);
    }
  };
  A.__ReleaseNotesViewerState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__ReleaseNotesViewerState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$__ReleaseNotesViewerState_State_AutoDisposeMixin$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.ReportFeedbackButton.prototype = {
    build$1(context) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.DevToolsTooltip$(A.InkWell$(false, _null, true, A.Container$(B.Alignment_0_0, A.Icon$(B.IconData_57621_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), B.Clip_0, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, t1), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.ReportFeedbackButton_build_closure(context), _null, _null, _null, _null, _null, _null), _null, _null, "Report feedback", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000);
    }
  };
  A.ReportFeedbackButton_build_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              A.select("main", "feedbackButton", false, null);
              $async$goto = 2;
              return A._asyncAwait(A.launchUrl($.globals.$index(0, B.Type_DevToolsExtensionPoints_RWS).issueTrackerLink$0().url, $async$self.context), $async$call$0);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.DevToolsRouteConfiguration.prototype = {};
  A.DevToolsRouteInformationParser.prototype = {
    restoreRouteInformation$1(configuration) {
      var t2, t3, _null = null,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String);
      for (t2 = configuration.args, t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      t1.removeWhere$1(t1, new A.DevToolsRouteInformationParser_restoreRouteInformation_closure());
      return new A.RouteInformation(A._Uri__Uri(_null, _null, "/" + configuration.page, _null, _null, _null, t1, _null, _null).get$_text(), _null);
    }
  };
  A.DevToolsRouteInformationParser_restoreRouteInformation_closure.prototype = {
    call$2(key, value) {
      return value == null;
    },
    $signature: 650
  };
  A.DevToolsRouterDelegate.prototype = {
    build$1(context) {
      var t2, page, args, _this = this, _null = null,
        t1 = _this.routes;
      t1 = t1._head === t1._tail ? _null : t1.get$last(t1);
      t2 = t1 == null;
      page = t2 ? _null : t1.page;
      args = t2 ? _null : t1.args;
      if (args == null)
        args = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String);
      return A.Navigator$(_null, _this.navigatorKey, B.List_empty14, A.navigator_Navigator_defaultGenerateInitialRoutes$closure(), _null, _this.get$_handleOnPopPage(), _null, A._setArrayType([_this._routing$_getPage.call$3(context, page, args)], type$.JSArray_Page_dynamic), false, _null);
    },
    _handleOnPopPage$2(route, result) {
      var t1 = this.routes;
      if (t1.get$length(t1) <= 1)
        return false;
      t1.removeLast$0(0);
      this.notifyListeners$0();
      return true;
    },
    navigateIfNotCurrent$2(page, argUpdates) {
      var argsChanged,
        t1 = this.routes;
      t1 = (t1._head === t1._tail ? null : t1.get$last(t1)).page;
      argsChanged = this._changesArgs$1(argUpdates);
      if (page === t1 && !argsChanged)
        return;
      this.navigate$2(0, page, argUpdates);
    },
    navigateIfNotCurrent$1(page) {
      return this.navigateIfNotCurrent$2(page, null);
    },
    navigate$2(_, page, argUpdates) {
      var t3,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String),
        t2 = this.routes;
      t2 = (t2._head === t2._tail ? null : t2.get$last(t2)).args;
      t2 = t2.get$entries(t2);
      t2 = t2.get$iterator(t2);
      for (; t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      if (argUpdates != null)
        for (t2 = argUpdates.get$entries(argUpdates), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
          t3 = t2.get$current(t2);
          t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
        }
      if (page !== "snapshot" && t1.$index(0, "uri") == null)
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmServiceClosed$1$connectionState(B.ConnectedState_false_true);
      this._replaceStack$1(new A.DevToolsRouteConfiguration(page, t1));
      this.notifyListeners$0();
    },
    navigate$1($receiver, page) {
      return this.navigate$2($receiver, page, null);
    },
    navigateHome$2$clearScreenParam$clearUriParam(clearScreenParam, clearUriParam) {
      var t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String);
      if (clearUriParam)
        t1.$indexSet(0, "uri", null);
      t1.$indexSet(0, "screen", null);
      this.navigate$2(0, "", t1);
    },
    navigateHome$1$clearScreenParam(clearScreenParam) {
      return this.navigateHome$2$clearScreenParam$clearUriParam(clearScreenParam, false);
    },
    _replaceStack$1(configuration) {
      var t1 = this.routes;
      t1.clear$0(0);
      t1._add$1(0, configuration);
    },
    setNewRoutePath$1(configuration) {
      this._replaceStack$1(configuration);
      return new A.SynchronousFuture(null, type$.SynchronousFuture_void);
    },
    updateArgsIfNotCurrent$1(argUpdates) {
      var t1, currentPage, t2, t3, _this = this;
      if (!_this._changesArgs$1(argUpdates))
        return;
      t1 = _this.routes;
      currentPage = (t1._head === t1._tail ? null : t1.get$last(t1)).page;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.nullable_String);
      t1 = (t1._head === t1._tail ? null : t1.get$last(t1)).args;
      t1 = t1.get$entries(t1);
      t1 = t1.get$iterator(t1);
      for (; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      for (t1 = argUpdates.get$entries(argUpdates), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t2.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      _this._replaceStack$1(new A.DevToolsRouteConfiguration(currentPage, t2));
      _this.notifyListeners$0();
    },
    _changesArgs$1(changes) {
      var t6,
        t1 = type$.String,
        t2 = type$.nullable_String,
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t4 = this.routes,
        t5 = (t4._head === t4._tail ? null : t4.get$last(t4)).args;
      t5 = t5.get$entries(t5);
      t5 = t5.get$iterator(t5);
      for (; t5.moveNext$0();) {
        t6 = t5.get$current(t5);
        t3.$indexSet(0, t6.get$key(t6), t6.get$value(t6));
      }
      if (changes != null)
        for (t5 = changes.get$entries(changes), t5 = t5.get$iterator(t5); t5.moveNext$0();) {
          t6 = t5.get$current(t5);
          t3.$indexSet(0, t6.get$key(t6), t6.get$value(t6));
        }
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      t2 = (t4._head === t4._tail ? null : t4.get$last(t4)).args;
      t2 = t2.get$entries(t2);
      t2 = t2.get$iterator(t2);
      for (; t2.moveNext$0();) {
        t4 = t2.get$current(t2);
        t1.$indexSet(0, t4.get$key(t4), t4.get$value(t4));
      }
      return !A.mapEquals(t3, t1);
    }
  };
  A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier.prototype = {};
  A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin.prototype = {};
  A.DevToolsScaffold.prototype = {
    createState$0() {
      return new A.DevToolsScaffoldState(null, null, A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.DevToolsScaffoldState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.addAutoDisposeListener$1($.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode);
      _this._setupTabController$0();
      t1 = $.globals.$index(0, B.Type_FrameworkController_QHx)._showPageIdController;
      _this.AutoDisposeMixin__delegate._auto_dispose$_subscriptions.push(new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(_this.get$_showPageById()));
      _this._initTitle$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, newIndex, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.tabs;
      t3 = oldWidget.tabs;
      if (t2.length !== t3.length) {
        t1 = _this._tabController;
        newIndex = t1 != null && B.JSArray_methods.contains$1(t2, t3[t1._tab_controller$_index]) ? B.JSArray_methods.indexOf$1(_this._widget.tabs, t3[_this._tabController._tab_controller$_index]) : 0;
        _this._setupTabController$0();
        _this._tabController._changeIndex$1(newIndex);
      } else {
        t3 = t2[_this._tabController._tab_controller$_index].screenId;
        t1 = t1.page;
        if (t3 !== t1) {
          newIndex = t1 == null ? 0 : B.JSArray_methods.indexWhere$1(t2, new A.DevToolsScaffoldState_didUpdateWidget_closure(_this));
          _this._tabController.animateTo$1(newIndex);
        }
      }
    },
    didChangeDependencies$0() {
      var t1, t2, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.Notifications_of(t1);
      t1.toString;
      _this.__DevToolsScaffoldState__importController = new A.ImportController(_this.get$_pushSnapshotScreenForImport(), t1);
      t1 = $.globals.$index(0, B.Type_SurveyService_bLu);
      t2 = _this._framework$_element;
      t2.toString;
      t1.maybeShowSurveyPrompt$1(t2);
    },
    dispose$0() {
      var t1 = this._tabController;
      if (t1 != null)
        t1.dispose$0();
      this.super$_DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin$dispose();
    },
    _initTitle$0() {
      var t1 = $.$get$_devToolsTitle();
      this.__DevToolsScaffoldState_scaffoldTitle = t1._change_notifier$_value;
      this.addAutoDisposeListener$2(t1, new A.DevToolsScaffoldState__initTitle_closure(this));
    },
    _setupTabController$0() {
      var initialIndex, t2, t3, _this = this,
        t1 = _this._tabController;
      if (t1 != null)
        t1.dispose$0();
      _this._tabController = A.TabController$(_this._widget.tabs.length, _this);
      t1 = _this._widget;
      if (t1.page != null) {
        initialIndex = B.JSArray_methods.indexWhere$1(t1.tabs, new A.DevToolsScaffoldState__setupTabController_closure(_this));
        if (initialIndex !== -1)
          _this._tabController._changeIndex$1(initialIndex);
      }
      t1 = _this._widget.tabs;
      t2 = _this._tabController;
      _this.__DevToolsScaffoldState__currentScreen = t1[t2._tab_controller$_index];
      t2.addListener$1(0, new A.DevToolsScaffoldState__setupTabController_closure0(_this));
      if (_this._widget.page == null) {
        t1 = _this.__DevToolsScaffoldState__currentScreen;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = !(t1 instanceof A.SimpleScreen);
      } else
        t1 = false;
      if (t1)
        $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.DevToolsScaffoldState__setupTabController_closure1(_this));
      t1 = $.globals.$index(0, B.Type_FrameworkController_QHx);
      t2 = _this.__DevToolsScaffoldState__currentScreen;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this._widget.embed;
      t1._pageChangeController.add$1(0, new A.PageChangeEvent(t2.screenId, t3));
    },
    _showPageById$1(pageId) {
      var t1,
        existingTabIndex = this._tabController._tab_controller$_index,
        newIndex = B.JSArray_methods.indexWhere$1(this._widget.tabs, new A.DevToolsScaffoldState__showPageById_closure(pageId));
      if (newIndex !== -1 && newIndex !== existingTabIndex) {
        t1 = this._framework$_element;
        t1.toString;
        A.Router_of(t1, type$.nullable_Object).routerDelegate.navigateIfNotCurrent$1(pageId);
      }
    },
    _pushSnapshotScreenForImport$1(screenId) {
      var routerDelegate,
        t1 = type$.String,
        args = A.LinkedHashMap_LinkedHashMap$_literal(["screen", screenId], t1, t1);
      t1 = this._framework$_element;
      t1.toString;
      routerDelegate = A.Router_of(t1, type$.nullable_Object).routerDelegate;
      if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value)
        routerDelegate.navigate$2(0, "snapshot", args);
      else {
        t1 = this._framework$_element;
        t1.toString;
        A.Router_neglect(t1, new A.DevToolsScaffoldState__pushSnapshotScreenForImport_closure(routerDelegate, args));
      }
    },
    build$1(context) {
      var t2, t3, _i, $screen, t4, t5, t6, t7, theme, _this = this, _null = null,
        t1 = A._setArrayType([], type$.JSArray_Container);
      for (t2 = _this._widget.tabs, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        $screen = t2[_i];
        _this._widget.toString;
        t4 = $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 2 : 16;
        t5 = $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 2 : 16;
        t6 = $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 2 : 16;
        t7 = $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 0 : 8;
        t1.push(A.Container$(B.Alignment_m1_m1, A.FocusScope$(false, new A.AnalyticsPrompt(new A.BannerMessages($screen, _null), _null), _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, new A.EdgeInsets(t4, t5, t6, t7), _null, _null, _null));
      }
      t1 = A._setArrayType([A.TabBarView$(t1, _this._tabController, B.NeverScrollableScrollPhysics_null)], type$.JSArray_Widget);
      t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (t2.service != null && t2.connectedApp != null && t2.connectedApp.get$connectedAppInitialized()) {
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuildNow();
        t2.toString;
        if (!t2)
          if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
            t2 = _this.__DevToolsScaffoldState__currentScreen;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t2.showFloatingDebuggerControls;
          } else
            t2 = false;
        else
          t2 = false;
      } else
        t2 = false;
      if (t2)
        t1.push(A.Container$(B.Alignment_0_m1, new A.FloatingDebuggerControls(_null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null));
      theme = A.Theme_of(context);
      t2 = _this.__DevToolsScaffoldState__importController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.Provider$(A.Provider$value(new A.DevToolsScaffoldState_build_closure(_this, theme, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t1, _null)), _null, t2, type$.ImportController), new A.DevToolsScaffoldState_build_closure0(), type$.BannerMessagesController);
    },
    _buildAppBar$1(title) {
      var isNarrow, actions, hasMultipleTabs, t3, t4, _i, $screen, t5, tabBar, alignment, rightAdjust, rightPadding, flexibleSpace, appBar, _this = this, _null = null,
        preferredSize = A._Cell$named("preferredSize"),
        t1 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        t2 = _this._widget;
      t2.toString;
      isNarrow = t1.size._dx <= _this._wideWidth$2(title, t2);
      t2 = _this._widget.actions;
      t1 = t2 == null ? [] : t2;
      actions = A.List_List$from(t1, true, type$.Widget);
      if (!isNarrow && actions.length !== 0 && _this._widget.tabs.length > 1)
        B.JSArray_methods.insert$2(actions, 0, B.BulletSpacer_true_null);
      hasMultipleTabs = _this._widget.tabs.length > 1;
      if (hasMultipleTabs) {
        t1 = _this._tabController;
        t2 = A._setArrayType([], type$.JSArray_Widget);
        for (t3 = _this._widget.tabs, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
          $screen = t3[_i];
          t5 = _this._framework$_element;
          t5.toString;
          t2.push($screen.buildTab$1(t5));
        }
        tabBar = A.TabBar$(t1, true, _null, t2);
        preferredSize.set$finalLocalValue(isNarrow ? new A.Size(1 / 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 4) : new A.Size(1 / 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))));
        alignment = isNarrow ? B.Alignment_m1_1 : B.Alignment_1_0;
        rightAdjust = isNarrow ? 0 : B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) / 2;
        rightPadding = isNarrow ? 0 : Math.max(0, B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * actions.length - rightAdjust);
        flexibleSpace = new A.Align(alignment, _null, _null, new A.Padding(new A.EdgeInsets(0, isNarrow ? B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 4 : 4, rightPadding, 0), tabBar, _null), _null);
        hasMultipleTabs = true;
      } else
        flexibleSpace = _null;
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.Text$(title, _null, _null, _null, _null, _null, A.Theme_of(t1).textTheme.titleLarge.copyWith$1$color(B.Color_4294967295), _null, _null, _null, _null);
      t2 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      appBar = new A.AppBar(false, t1, actions, flexibleSpace, false, new A._PreferredAppBarSize(t2, _null, 1 / 0, t2 + 0), t2, _null);
      if (!hasMultipleTabs)
        return appBar;
      t1 = isNarrow ? B.ValueKey_kUZ : B.ValueKey_G79;
      t2 = preferredSize._readLocal$0();
      return new A.PreferredSize(A.Hero$(appBar, "DevTools AppBar"), t2, t1);
    },
    _wideWidth$2(title, widget) {
      var textTheme, painter, wideWidth, t2, t3, _i, t4, t5, actionsLength, _null = null,
        t1 = this._framework$_element;
      t1.toString;
      textTheme = A.Theme_of(t1).textTheme;
      painter = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, textTheme.titleLarge, title), B.TextAlign_4, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      painter.layout$0();
      wideWidth = painter.get$width(painter) + 16;
      for (t1 = widget.tabs, t2 = t1.length, t3 = textTheme.bodyLarge, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        painter = new A.TextPainter(A.TextSpan$(_null, _null, _null, t3, t1[_i].title), B.TextAlign_4, B.TextDirection_1, 1, _null, _null, _null, _null, B.TextWidthBasis_0, _null);
        painter.layout$0();
        t4 = painter._textWidthBasis;
        t5 = painter._paragraph;
        t4 = t4 === B.TextWidthBasis_1 ? t5.get$longestLine() : t5.get$width(t5);
        wideWidth += Math.ceil(t4) + 8 + B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 32;
      }
      t1 = widget.actions;
      actionsLength = t1 == null ? _null : t1.length;
      if (actionsLength == null)
        actionsLength = 0;
      return actionsLength > 0 ? wideWidth + (actionsLength * B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + B.JSNumber_methods.roundToDouble$0(48 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) / 2) : wideWidth;
    }
  };
  A.DevToolsScaffoldState_didUpdateWidget_closure.prototype = {
    call$1(t) {
      return t.screenId === this.$this._widget.page;
    },
    $signature: 64
  };
  A.DevToolsScaffoldState__initTitle_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.DevToolsScaffoldState__initTitle__closure(t1));
    },
    $signature: 0
  };
  A.DevToolsScaffoldState__initTitle__closure.prototype = {
    call$0() {
      this.$this.__DevToolsScaffoldState_scaffoldTitle = $.$get$_devToolsTitle()._change_notifier$_value;
    },
    $signature: 0
  };
  A.DevToolsScaffoldState__setupTabController_closure.prototype = {
    call$1($screen) {
      return $screen.screenId === this.$this._widget.page;
    },
    $signature: 64
  };
  A.DevToolsScaffoldState__setupTabController_closure0.prototype = {
    call$0() {
      var t3, t4,
        t1 = this.$this,
        $screen = t1._widget.tabs[t1._tabController._tab_controller$_index],
        t2 = t1.__DevToolsScaffoldState__currentScreen;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 !== $screen) {
        t1.setState$1(new A.DevToolsScaffoldState__setupTabController__closure0(t1, $screen));
        t2 = $.globals.$index(0, B.Type_FrameworkController_QHx);
        t3 = $screen.screenId;
        t4 = t1._widget.embed;
        t2._pageChangeController.add$1(0, new A.PageChangeEvent(t3, t4));
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager.clearErrors$1(t3);
        t1 = t1._framework$_element;
        t1.toString;
        A.Router_of(t1, type$.nullable_Object).routerDelegate.navigateIfNotCurrent$1(t3);
      }
    },
    $signature: 0
  };
  A.DevToolsScaffoldState__setupTabController__closure0.prototype = {
    call$0() {
      this.$this.__DevToolsScaffoldState__currentScreen = this.screen;
    },
    $signature: 0
  };
  A.DevToolsScaffoldState__setupTabController_closure1.prototype = {
    call$1(_) {
      var t3,
        t1 = this.$this,
        t2 = t1._framework$_element;
      t2.toString;
      t2 = A.Router_of(t2, type$.nullable_Object);
      t3 = t1._framework$_element;
      t3.toString;
      A.Router_neglect(t3, new A.DevToolsScaffoldState__setupTabController__closure(t1, t2.routerDelegate));
    },
    $signature: 3
  };
  A.DevToolsScaffoldState__setupTabController__closure.prototype = {
    call$0() {
      var t3,
        t1 = this.routerDelegate,
        t2 = this.$this.__DevToolsScaffoldState__currentScreen;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1.routes;
      t3 = t3._head === t3._tail ? null : t3.get$last(t3);
      t3 = t3 == null ? null : t3.args;
      t1.navigateIfNotCurrent$2(t2.screenId, t3);
    },
    $signature: 0
  };
  A.DevToolsScaffoldState__showPageById_closure.prototype = {
    call$1($screen) {
      return $screen.screenId === this.pageId;
    },
    $signature: 64
  };
  A.DevToolsScaffoldState__pushSnapshotScreenForImport_closure.prototype = {
    call$0() {
      return this.routerDelegate.navigate$2(0, "snapshot", this.args);
    },
    $signature: 0
  };
  A.DevToolsScaffoldState_build_closure0.prototype = {
    call$1(_) {
      return new A.BannerMessagesController(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ValueNotifier_List_BannerMessage), A.LinkedHashSet_LinkedHashSet$_empty(type$.nullable_Key));
    },
    $signature: 652
  };
  A.DevToolsScaffoldState_build_closure.prototype = {
    call$2(context, _) {
      var t3, t4, t5, t6, t7, t8, t9, _null = null,
        t1 = this.$this,
        t2 = t1.__DevToolsScaffoldState__importController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1.__DevToolsScaffoldState_scaffoldTitle;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = this.theme.primaryColor;
      t4 = A.Color$fromARGB(255, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255);
      t5 = t1.__DevToolsScaffoldState__currentScreen;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t5.buildKeyboardShortcuts$1(context);
      if (t1._widget.embed)
        t6 = _null;
      else {
        t6 = t1.__DevToolsScaffoldState_scaffoldTitle;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        t6 = t1._buildAppBar$1(t6);
      }
      t7 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG);
      if (t7.service != null && t7.connectedApp != null && t7.connectedApp.get$connectedAppInitialized()) {
        t7 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp.get$isProfileBuildNow();
        t7.toString;
        if (!t7)
          if (!$.globals.$index(0, B.Type_OfflineModeController_ECL)._offlineMode._change_notifier$_value) {
            t7 = t1.__DevToolsScaffoldState__currentScreen;
            if (t7 === $)
              A.throwUnnamedLateFieldNI();
            t7 = t7.showConsole$1(t1._widget.embed);
          } else
            t7 = false;
        else
          t7 = false;
      } else
        t7 = false;
      t8 = this.content;
      if (t7) {
        t7 = A._setArrayType([A.DebuggerConsole_buildHeader()], type$.JSArray_PreferredSizeWidget);
        t9 = $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 2 : 16;
        t7 = A.Split$(B.Axis_1, A._setArrayType([t8, new A.Padding(new A.EdgeInsets(t9, 0, t9, 0), B.DebuggerConsole_null, _null)], type$.JSArray_Widget), B.List_qFu, _null, t7);
      } else
        t7 = t8;
      t8 = t1.__DevToolsScaffoldState__currentScreen;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      return new A.DragAndDrop(t2.get$importData(), new A.Title(t3, t4, new A.KeyboardShortcuts(t5, A.Scaffold$(t6, t7, new A.StatusLine(t8, t1._widget.embed, _null)), _null), _null), _null);
    },
    $signature: 653
  };
  A.KeyboardShortcuts.prototype = {
    createState$0() {
      return new A.KeyboardShortcutsState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.KeyboardShortcutsState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.FocusNode$(true, "keyboard-shortcuts", true, true, null, null, false);
      if (_this.__KeyboardShortcutsState__focusNode !== $)
        A.throwUnnamedLateFieldAI();
      _this.__KeyboardShortcutsState__focusNode = t1;
      _this.AutoDisposeMixin__delegate.autoDisposeFocusNode$1(t1);
    },
    build$1(context) {
      var t4, _null = null,
        t1 = this._widget,
        t2 = t1.keyboardShortcuts,
        t3 = t2.shortcuts;
      if (t3._length === 0 && t2.actions._length === 0)
        return t1.child;
      t4 = this.__KeyboardShortcutsState__focusNode;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      return A.GestureDetector$(B.HitTestBehavior_1, A.FocusableActionDetector$(t2.actions, true, t1.child, true, t4, B.C__DeferringMouseCursor, _null, _null, t3), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.KeyboardShortcutsState_build_closure(this, context), _null, _null, _null, _null, _null, _null);
    }
  };
  A.KeyboardShortcutsState_build_closure.prototype = {
    call$0() {
      var t1 = A.FocusScope_of(this.context),
        t2 = this.$this.__KeyboardShortcutsState__focusNode;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.requestFocus$1(t2);
    },
    $signature: 0
  };
  A.SimpleScreen.prototype = {
    build$1(context) {
      return this.child;
    }
  };
  A._DevToolsScaffoldState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$_DevToolsScaffoldState_State_AutoDisposeMixin$dispose();
    }
  };
  A._KeyboardShortcutsState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.Screen.prototype = {
    showConsole$1(embed) {
      return false;
    },
    buildKeyboardShortcuts$1(context) {
      return new A.ShortcutsConfiguration(A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, type$.Intent), A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.Action_Intent));
    },
    get$showIsolateSelector() {
      return B.FixedValueListenable_false;
    },
    get$docPageId() {
      return null;
    },
    buildTab$1(context) {
      var t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._errorBadgeManager._activeErrorCounts.$index(0, this.screenId);
      if (t1 == null)
        t1 = B.FixedValueListenable_0;
      return new A.ValueListenableBuilder(t1, new A.Screen_buildTab_closure(this), null, null, type$.ValueListenableBuilder_int);
    },
    buildStatus$1(context) {
      return null;
    }
  };
  A.Screen_buildTab_closure.prototype = {
    call$3(context, count, _) {
      var painter, _null = null,
        t1 = this.$this,
        t2 = t1.title,
        tab = new A.Tab(_null, A.Row$(A._setArrayType([A.Icon$(t1.icon, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), new A.Padding(B.EdgeInsets_8_0_0_0, A.Text$(t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, B.EdgeInsets_0_0_0_10, _null, t1.tabKey);
      if (count > 0) {
        painter = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(context).textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), t2), B.TextAlign_4, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
        painter.layout$0();
        return new A.LayoutBuilder(new A.Screen_buildTab__closure(painter.get$width(painter), count, tab), _null);
      }
      return tab;
    },
    $signature: 654
  };
  A.Screen_buildTab__closure.prototype = {
    call$2(context, constraints) {
      var _null = null;
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([A.CustomPaint$(_null, _null, _null, new A.BadgePainter(this.count, _null), new A.Size(B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) + 8 + this.titleWidth, 0)), this.tab], type$.JSArray_Widget), _null);
    },
    $signature: 102
  };
  A.OfflineScreenMixin.prototype = {
    loadOfflineData$1(offlineData) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$loadOfflineData$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.setState$1(new A.OfflineScreenMixin_loadOfflineData_closure($async$self));
              $async$goto = 2;
              return A._asyncAwait($async$self.processOfflineData$1(offlineData), $async$loadOfflineData$1);
            case 2:
              // returning from await.
              $async$self.setState$1(new A.OfflineScreenMixin_loadOfflineData_closure0($async$self));
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadOfflineData$1, $async$completer);
    }
  };
  A.OfflineScreenMixin_loadOfflineData_closure.prototype = {
    call$0() {
      this.$this.OfflineScreenMixin__loadingOfflineData = true;
    },
    $signature: 0
  };
  A.OfflineScreenMixin_loadOfflineData_closure0.prototype = {
    call$0() {
      this.$this.OfflineScreenMixin__loadingOfflineData = false;
    },
    $signature: 0
  };
  A.BadgePainter.prototype = {
    paint$2(canvas, size) {
      var countPainter, badgeWidth, t1, _null = null,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, B.Color_4289675348);
      paint.set$style(0, B.PaintingStyle_0);
      countPainter = A.TextPainter$(_null, _null, _null, _null, A.TextSpan$(_null, _null, _null, B.TextStyle_E9t, "" + this.number), B.TextAlign_4, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      countPainter.layout$0();
      badgeWidth = Math.max(B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), countPainter.get$width(countPainter) + 8);
      t1 = size._dx;
      canvas.drawOval$2(new A.Rect(t1, 0, t1 + badgeWidth, 0 + B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), paint);
      countPainter.paint$2(canvas, new A.Offset(t1 + (badgeWidth - countPainter.get$width(countPainter)) / 2, 0));
    },
    shouldRepaint$1(oldDelegate) {
      if (oldDelegate instanceof A.BadgePainter)
        return this.number !== oldDelegate.number;
      return true;
    }
  };
  A.ShortcutsConfiguration.prototype = {};
  A.DevToolsServerConnection.prototype = {
    DevToolsServerConnection$_$1(sseClient) {
      var t1 = this.sseClient._incomingController;
      new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$1(new A.DevToolsServerConnection$__closure(this));
      this.initFrameworkController$0();
    },
    initFrameworkController$0() {
      var t1 = $.globals.$index(0, B.Type_FrameworkController_QHx)._connectedController;
      new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.DevToolsServerConnection_initFrameworkController_closure(this));
      t1 = $.globals.$index(0, B.Type_FrameworkController_QHx)._pageChangeController;
      new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.DevToolsServerConnection_initFrameworkController_closure0(this));
      t1 = $.globals.$index(0, B.Type_FrameworkController_QHx)._disconnectedController;
      new A._BroadcastStream(t1, A._instanceType(t1)._eval$1("_BroadcastStream<1>")).listen$1(new A.DevToolsServerConnection_initFrameworkController_closure1(this));
    },
    notify$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, parsedOptions;
      var $async$notify$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.Notification_requestPermission(), $async$notify$0);
            case 3:
              // returning from await.
              if ($async$result !== "granted") {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._server_api_client$_lastNotification;
              if (t1 != null) {
                t1 = t1.__Notification__impl;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.close();
              }
              t1 = new A.Notification();
              t2 = type$.dynamic;
              parsedOptions = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
              parsedOptions.$indexSet(0, "body", "DevTools is available in this existing browser window");
              t1.__Notification__impl = A.Notification__factoryNotification("Dart DevTools", parsedOptions);
              $async$self._server_api_client$_lastNotification = t1;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$notify$0, $async$completer);
    },
    _callMethod$1$2(method, params, $T) {
      var json,
        id = "" + this._nextRequestId++,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Object);
      t1.$indexSet(0, "jsonrpc", "2.0");
      t1.$indexSet(0, "id", id);
      t1.$indexSet(0, "method", method);
      if (params != null)
        t1.$indexSet(0, "params", params);
      json = B.C_JsonCodec.encode$2$toEncodable(t1, null);
      t1 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      this._completers.$indexSet(0, id, new A._AsyncCompleter(t1, $T._eval$1("_AsyncCompleter<0>")));
      this.sseClient._outgoingController.add$1(0, json);
      return t1;
    },
    _callMethod$1$1(method, $T) {
      return this._callMethod$1$2(method, null, $T);
    },
    _handleMessage$1(msg) {
      var request, method, params, e, params0, t1, t2, completer, exception;
      try {
        request = B.C_JsonCodec.decode$2$reviver(0, msg, null);
        if (J.containsKey$1$x(request, "method")) {
          method = J.$index$asx(request, "method");
          params0 = J.$index$asx(request, "params");
          params = params0 == null ? A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic) : params0;
          this._handleMethod$2(method, params);
        } else if (J.containsKey$1$x(request, "id")) {
          t1 = J.$index$asx(request, "id");
          t1.toString;
          t2 = J.$index$asx(request, "result");
          completer = this._completers.remove$1(0, t1);
          if (completer != null)
            completer.complete$1(0, t2);
        } else
          A.print("Unable to parse API message from server:\n\n" + msg);
      } catch (exception) {
        e = A.unwrapException(exception);
        A.print("Failed to handle API message from server:\n\n" + msg + "\n\n" + A.S(e));
      }
    },
    _handleMethod$2(method, params) {
      var t1, uri, notify, t2, pageId;
      switch (method) {
        case "connectToVm":
          t1 = J.getInterceptor$asx(params);
          uri = t1.$index(params, "uri");
          notify = J.$eq$(t1.$index(params, "notify"), true);
          t1 = $.globals.$index(0, B.Type_FrameworkController_QHx);
          t2 = A.Uri_parse(uri, 0, null);
          t1._connectVmController.add$1(0, new A.ConnectVmEvent(t2, notify));
          return;
        case "showPage":
          pageId = J.$index$asx(params, "page");
          $.globals.$index(0, B.Type_FrameworkController_QHx)._showPageIdController.add$1(0, pageId);
          return;
        case "enableNotifications":
          A.Notification_requestPermission();
          return;
        case "notify":
          this.notify$0();
          return;
        default:
          A.print("Unknown request " + method + " from server");
      }
    },
    setPreferenceValue$2(key, value) {
      return this.setPreferenceValue$body$DevToolsServerConnection(key, value);
    },
    setPreferenceValue$body$DevToolsServerConnection(key, value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$setPreferenceValue$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 = type$.dynamic;
              $async$goto = 2;
              return A._asyncAwait($async$self._callMethod$1$2("setPreferenceValue", A.LinkedHashMap_LinkedHashMap$_literal(["key", key, "value", value], type$.String, t1), t1), $async$setPreferenceValue$2);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$setPreferenceValue$2, $async$completer);
    }
  };
  A.DevToolsServerConnection$__closure.prototype = {
    call$1(msg) {
      this.$this._handleMessage$1(msg);
    },
    $signature: 12
  };
  A.DevToolsServerConnection_connect_closure.prototype = {
    call$1(e) {
      return e.length !== 0;
    },
    $signature: 6
  };
  A.DevToolsServerConnection_initFrameworkController_closure.prototype = {
    call$1(vmServiceUri) {
      var t1 = type$.dynamic;
      this.$this._callMethod$1$2("connected", A.LinkedHashMap_LinkedHashMap$_literal(["uri", vmServiceUri.toString$0(0)], type$.String, t1), t1);
    },
    $signature: 655
  };
  A.DevToolsServerConnection_initFrameworkController_closure0.prototype = {
    call$1(page) {
      var t1 = type$.dynamic;
      this.$this._callMethod$1$2("currentPage", A.LinkedHashMap_LinkedHashMap$_literal(["id", page.id, "embedded", page.embedded], type$.String, t1), t1);
    },
    $signature: 656
  };
  A.DevToolsServerConnection_initFrameworkController_closure1.prototype = {
    call$1(_) {
      this.$this._callMethod$1$1("disconnected", type$.dynamic);
    },
    $signature: 16
  };
  A.SnapshotScreenBody.prototype = {
    createState$0() {
      return new A._SnapshotScreenBodyState(B._StateLifecycle_0);
    }
  };
  A._SnapshotScreenBodyState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._initScreen$0();
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget;
      if (t1.args !== oldWidget.args || t1.possibleScreens !== oldWidget.possibleScreens)
        this._initScreen$0();
    },
    _initScreen$0() {
      this._screen = A.IterableExtension_firstWhereOrNull(this._widget.possibleScreens, new A._SnapshotScreenBodyState__initScreen_closure(this));
    },
    build$1(context) {
      var _null = null,
        t1 = type$.JSArray_Widget,
        t2 = A.Row$(A._setArrayType([new A.ExitOfflineButton(B.IconData_57704_MaterialIcons_false, _null, "Exit offline mode", _null, new A._SnapshotScreenBodyState_build_closure(this, context, A.Router_of(context, type$.nullable_Object).routerDelegate), false, _null, _null, true, B.ValueKey_OhV)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null),
        t3 = this._screen;
      return A.Column$(A._setArrayType([t2, B.SizedBox_null_6_null_null, A.Expanded$(t3 != null ? t3.build$1(context) : new A.CenteredMessage("Cannot load snapshot for screen '" + A.S(this._widget.args.screenId) + "'", _null), 1)], t1), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    },
    reset$0(_) {
      this.setState$1(new A._SnapshotScreenBodyState_reset_closure(this));
    }
  };
  A._SnapshotScreenBodyState__initScreen_closure.prototype = {
    call$1(s) {
      return s.screenId === this.$this._widget.args.screenId;
    },
    $signature: 64
  };
  A._SnapshotScreenBodyState_build_closure.prototype = {
    call$0() {
      var t1 = $.globals.$index(0, B.Type_OfflineModeController_ECL);
      $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp = t1._previousConnectedApp;
      t1._offlineMode.set$value(0, false);
      this.$this.reset$0(0);
      A.Router_neglect(this.context, new A._SnapshotScreenBodyState_build__closure(this.routerDelegate));
    },
    $signature: 0
  };
  A._SnapshotScreenBodyState_build__closure.prototype = {
    call$0() {
      return this.routerDelegate.navigateHome$1$clearScreenParam(true);
    },
    $signature: 0
  };
  A._SnapshotScreenBodyState_reset_closure.prototype = {
    call$0() {
      J.clear$0$ax($.globals.$index(0, B.Type_OfflineModeController_ECL).offlineDataJson);
      this.$this._screen = null;
    },
    $signature: 0
  };
  A.SnapshotArguments.prototype = {};
  A.Split.prototype = {
    createState$0() {
      return new A._SplitState(B._StateLifecycle_0);
    }
  };
  A._SplitState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.List_List$from(_this._widget.initialFractions, true, type$.double);
      if (_this.___SplitState_fractions !== $)
        A.throwUnnamedLateFieldAI();
      _this.___SplitState_fractions = t1;
    },
    build$1(context) {
      return new A.LayoutBuilder(this.get$_buildLayout(), null);
    },
    _buildLayout$2(context, constraints) {
      var t1, delta, scaleFactor, _length, sizes, updateSpacing, children, t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        width = constraints.maxWidth,
        height = constraints.maxHeight,
        axisSize = _this._widget.axis === B.Axis_0 ? width : height,
        availableSize = axisSize - _this._totalSplitterSize$0(),
        _minFractionForIndex = new A._SplitState__buildLayout__minFractionForIndex(new A._SplitState__buildLayout__minSizeForIndex(_this, availableSize), availableSize),
        _sizeForIndex = new A._SplitState__buildLayout__sizeForIndex(_this, availableSize),
        deltaFromMinimumSize = new A._SplitState__buildLayout_deltaFromMinimumSize(_this, _minFractionForIndex),
        fractionDeltaRequired = 0, fractionDeltaAvailable = 0, i = 0;
      while (true) {
        t1 = _this.___SplitState_fractions;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!(i < t1.length))
          break;
        delta = deltaFromMinimumSize.call$1(i);
        if (delta < 0)
          fractionDeltaRequired -= delta;
        else
          fractionDeltaAvailable += delta;
        ++i;
      }
      if (fractionDeltaRequired > 0) {
        scaleFactor = Math.min(fractionDeltaRequired / fractionDeltaAvailable, 1);
        i = 0;
        while (true) {
          t1 = _this.___SplitState_fractions;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (!(i < t1.length))
            break;
          delta = deltaFromMinimumSize.call$1(i);
          t1 = _this.___SplitState_fractions;
          if (delta < 0) {
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1[i] = _minFractionForIndex.call$1(i);
          } else {
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1[i] = t1[i] - delta * scaleFactor;
          }
          ++i;
        }
      }
      _length = t1.length;
      sizes = J.JSArray_JSArray$allocateGrowable(_length, type$.double);
      for (i = 0; i < _length; ++i)
        sizes[i] = _sizeForIndex.call$1(i);
      updateSpacing = new A._SplitState__buildLayout_updateSpacing(_this, axisSize, _minFractionForIndex, new A._SplitState__buildLayout__clampFraction(_this, _minFractionForIndex));
      t1 = type$.JSArray_Widget;
      children = A._setArrayType([], t1);
      for (t2 = type$.ValueKey_String, i = 0; t3 = _this._widget, t4 = t3.children, i < t4.length; ++i) {
        t3 = t3.axis === B.Axis_0;
        t5 = t3 ? sizes[i] : width;
        t3 = t3 ? height : sizes[i];
        t4 = A._setArrayType([new A.SizedBox(t5, t3, t4[i], _null)], t1);
        t3 = _this._widget;
        if (i < t3.children.length - 1) {
          t5 = t3.axis === B.Axis_0 ? B.SystemMouseCursor_resizeColumn : B.SystemMouseCursor_resizeRow;
          t3 = t3.toString$0(0);
          t6 = _this._widget;
          t7 = t6.splitters;
          t6 = t7 != null ? t7[i] : new A.DefaultSplitter(t6.axis === B.Axis_0, _null);
          t4.push(new A.MouseRegion(_null, _null, _null, t5, A.GestureDetector$(B.HitTestBehavior_2, t6, B.DragStartBehavior_0, false, new A.ValueKey(t3 + " dividerKey " + i, t2), _null, _null, _null, _null, _null, new A._SplitState__buildLayout_closure(_this, updateSpacing, i), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._SplitState__buildLayout_closure0(_this, updateSpacing, i)), _null));
        }
        B.JSArray_methods.addAll$1(children, t4);
      }
      return A.Flex$(children, B.CrossAxisAlignment_3, t3.axis, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null, B.VerticalDirection_1);
    },
    _totalSplitterSize$0() {
      var totalSize, _i, splitter,
        t1 = this._widget,
        t2 = t1.children.length;
      t1 = t1.splitters;
      if (t1 == null)
        return (t2 - 1) * 12;
      else {
        for (t2 = t1.length, totalSize = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          splitter = t1[_i];
          totalSize += this._widget.axis === B.Axis_0 ? splitter.get$preferredSize()._dx : splitter.get$preferredSize()._dy;
        }
        return totalSize;
      }
    }
  };
  A._SplitState__buildLayout__minSizeForIndex.prototype = {
    call$1(index) {
      var t2, totalMinSize, _i,
        t1 = this.$this._widget.minSizes;
      if (t1 == null)
        return 0;
      for (t2 = t1.length, totalMinSize = 0, _i = 0; _i < t2; ++_i)
        totalMinSize += t1[_i];
      t2 = this.availableSize;
      if (totalMinSize > t2)
        return t1[index] * t2 / totalMinSize;
      else
        return t1[index];
    },
    $signature: 45
  };
  A._SplitState__buildLayout__minFractionForIndex.prototype = {
    call$1(index) {
      return this._minSizeForIndex.call$1(index) / this.availableSize;
    },
    $signature: 45
  };
  A._SplitState__buildLayout__clampFraction.prototype = {
    call$1(index) {
      var t1 = this.$this.___SplitState_fractions;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1[index] = J.clamp$2$n(t1[index], this._minFractionForIndex.call$1(index), 1);
    },
    $signature: 26
  };
  A._SplitState__buildLayout__sizeForIndex.prototype = {
    call$1(index) {
      var t1 = this.$this.___SplitState_fractions;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return this.availableSize * t1[index];
    },
    $signature: 45
  };
  A._SplitState__buildLayout_deltaFromMinimumSize.prototype = {
    call$1(index) {
      var t1 = this.$this.___SplitState_fractions;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1[index] - this._minFractionForIndex.call$1(index);
    },
    $signature: 45
  };
  A._SplitState__buildLayout_updateSpacing.prototype = {
    call$2(dragDetails, splitterIndex) {
      var t3, _this = this,
        t1 = _this.$this,
        t2 = dragDetails.delta,
        dragDelta = t1._widget.axis === B.Axis_0 ? t2._dx : t2._dy;
      t2 = _this._minFractionForIndex;
      t3 = _this._clampFraction;
      t1.setState$1(new A._SplitState__buildLayout_updateSpacing_closure(dragDelta / _this.axisSize, new A._SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex(t1, splitterIndex, t2, t3), new A._SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex(t1, splitterIndex, t2, t3)));
      t1 = t1.___SplitState_fractions;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      A._verifyFractionsSumTo1(t1);
    },
    $signature: 657
  };
  A._SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex.prototype = {
    call$1(delta) {
      var t1, t2, t3, delta0, t4, minFractionForIndex, _this = this,
        index = _this.splitterIndex;
      for (t1 = _this.$this, t2 = _this._clampFraction, t3 = _this._minFractionForIndex, delta0 = delta; index >= 0;) {
        t4 = t1.___SplitState_fractions;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4[index] = t4[index] + delta0;
        minFractionForIndex = t3.call$1(index);
        t4 = t1.___SplitState_fractions;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t4[index];
        if (t4 >= minFractionForIndex) {
          t2.call$1(index);
          return delta;
        }
        delta0 = t4 - minFractionForIndex;
        t2.call$1(index);
        --index;
      }
      return delta - delta0;
    },
    $signature: 1
  };
  A._SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex.prototype = {
    call$1(delta) {
      var t4, minFractionForIndex, _this = this,
        index = _this.splitterIndex + 1,
        t1 = _this.$this,
        t2 = _this._clampFraction,
        t3 = _this._minFractionForIndex,
        delta0 = delta;
      while (true) {
        t4 = t1.___SplitState_fractions;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        if (!(index < t4.length))
          break;
        t4[index] = t4[index] + delta0;
        minFractionForIndex = t3.call$1(index);
        t4 = t1.___SplitState_fractions;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t4[index];
        if (t4 >= minFractionForIndex) {
          t2.call$1(index);
          return delta;
        }
        delta0 = t4 - minFractionForIndex;
        t2.call$1(index);
        ++index;
      }
      return delta - delta0;
    },
    $signature: 1
  };
  A._SplitState__buildLayout_updateSpacing_closure.prototype = {
    call$0() {
      var t1 = this.fractionalDelta,
        t2 = this.updateSpacingBeforeSplitterIndex,
        t3 = this.updateSpacingAfterSplitterIndex;
      if (t1 <= 0)
        t3.call$1(-t2.call$1(t1));
      else
        t2.call$1(-t3.call$1(-t1));
    },
    $signature: 0
  };
  A._SplitState__buildLayout_closure.prototype = {
    call$1(details) {
      return this.$this._widget.axis === B.Axis_0 ? this.updateSpacing.call$2(details, this.i) : null;
    },
    $signature: 20
  };
  A._SplitState__buildLayout_closure0.prototype = {
    call$1(details) {
      return this.$this._widget.axis === B.Axis_0 ? null : this.updateSpacing.call$2(details, this.i);
    },
    $signature: 20
  };
  A.DefaultSplitter.prototype = {
    build$1(context) {
      var t1 = this.isHorizontal ? 1.5707963267948966 : 0;
      return A.Transform$rotate(B.Alignment_0_0, t1, new A.Align(B.Alignment_0_0, 0.5, 0.5, A.Icon$(B.IconData_57862_MaterialIcons_false, A.Theme_of(context).focusColor, 24), null), null);
    }
  };
  A.StatusLine.prototype = {
    build$1(context) {
      var t1 = B.JSNumber_methods.roundToDouble$0(24 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return new A.ValueListenableBuilder(this.currentScreen.get$showIsolateSelector(), new A.StatusLine_build_closure(this, t1 + 16 + 8), null, null, type$.ValueListenableBuilder_bool);
    },
    buildHelpUrlStatus$3(context, currentScreen, screenWidth) {
      var t1, _null = null,
        docPageId = currentScreen.get$docPageId();
      if (docPageId != null) {
        t1 = screenWidth.index <= 1 ? docPageId : "flutter.dev/devtools/" + docPageId;
        return A.RichText$(_null, _null, _null, B.TextOverflow_0, _null, _null, true, _null, A.LinkTextSpan$(context, new A.Link(t1, "https://flutter.dev/devtools/" + docPageId), new A.StatusLine_buildHelpUrlStatus_closure(currentScreen), _null), B.TextAlign_4, _null, _null, 1, B.TextWidthBasis_0);
      } else
        return new A.Flexible(1, B.FlexFit_1, A.Text$((screenWidth.index <= 1 ? "" : "DevTools ") + "2.15.0", _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    buildConnectionStatus$2(context, screenWidth) {
      var _null = null,
        _s20_ = "No client connection",
        textTheme = A.Theme_of(context).textTheme,
        t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._connectedState,
        t2 = screenWidth.index <= 0 ? A.DevToolsTooltip$(A.Icon$(B.IconData_983712_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), _null, _null, _s20_, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000) : A.Text$(_s20_, _null, _null, _null, _null, _null, textTheme.bodyMedium, _null, _null, _null, _null);
      return new A.ValueListenableBuilder(t1, new A.StatusLine_buildConnectionStatus_closure(textTheme, screenWidth), t2, _null, type$.ValueListenableBuilder_ConnectedState);
    }
  };
  A.StatusLine_build_closure.prototype = {
    call$3(context, showIsolateSelector, _) {
      var screenWidth, pageStatus, t4, widerThanXxs, t5, _null = null,
        t1 = A.Divider_createBorderSide(context, _null, 1),
        t2 = this.$this,
        t3 = new A.ScreenSize();
      t3.__ScreenSize__height = t3._calculateHeight$1(context);
      screenWidth = t3.__ScreenSize__width = t3._calculateWidth$1(context);
      t3 = t2.currentScreen;
      pageStatus = t3.buildStatus$1(context);
      t4 = screenWidth.index;
      widerThanXxs = t4 > 0;
      t5 = type$.JSArray_Widget;
      t3 = A._setArrayType([t2.buildHelpUrlStatus$3(context, t3, screenWidth), B.BulletSpacer_false_null], t5);
      if (widerThanXxs && showIsolateSelector)
        B.JSArray_methods.addAll$1(t3, A._setArrayType([B.IsolateSelector_null, B.BulletSpacer_false_null], t5));
      if (t4 > 1 && pageStatus != null)
        B.JSArray_methods.addAll$1(t3, A._setArrayType([pageStatus, B.BulletSpacer_false_null], t5));
      t3.push(t2.buildConnectionStatus$2(context, screenWidth));
      if (widerThanXxs && t2.isEmbedded)
        B.JSArray_methods.addAll$1(t3, A._setArrayType([B.BulletSpacer_false_null, A.Row$(A._setArrayType([new A.ReportFeedbackButton(_null), new A.OpenAboutAction(_null)], t5), B.CrossAxisAlignment_1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null)], t5));
      return A.Container$(B.Alignment_m1_0, A.Row$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(t1, B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, this.height, _null, _null, new A.EdgeInsets(16, 0, 16, 0), _null, _null, _null);
    },
    $signature: 658
  };
  A.StatusLine_buildHelpUrlStatus_closure.prototype = {
    call$0() {
      A.select(this.currentScreen.screenId, "documentationLink", false, null);
    },
    $signature: 0
  };
  A.StatusLine_buildConnectionStatus_closure.prototype = {
    call$3(context, connectedState, child) {
      var app, t1, description, color, t2, t3, t4, _null = null;
      if (connectedState.connected) {
        app = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).connectedApp;
        t1 = app.get$isRunningOnDartVM();
        t1.toString;
        if (!t1)
          description = "web app";
        else {
          t1 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vm;
          t1.toString;
          description = A.VmExtension_get_deviceDisplay(t1);
        }
        t1 = this.textTheme.bodyMedium;
        color = t1.color;
        t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG)._deviceBusy;
        t3 = type$.JSArray_Widget;
        t4 = A._setArrayType([A.Icon$(B.IconData_58173_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(20 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)))], t3);
        if (this.screenWidth.index > 0)
          B.JSArray_methods.addAll$1(t4, A._setArrayType([B.SizedBox_8_null_null_null, A.Text$(description, _null, _null, B.TextOverflow_0, _null, _null, t1, _null, _null, _null, _null)], t3));
        return A.Row$(A._setArrayType([new A.ValueListenableBuilder(t2, new A.StatusLine_buildConnectionStatus__closure(color), _null, _null, type$.ValueListenableBuilder_bool), B.SizedBox_8_null_null_null, A.DevToolsTooltip$(A.InkWell$(false, _null, true, A.Row$(t4, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.StatusLine_buildConnectionStatus__closure0(context, app), _null, _null, _null, _null, _null, _null), _null, _null, "Device Info", B.EdgeInsets_16_16_16_16, false, _null, B.Duration_500000)], t3), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_1, _null, _null);
      } else {
        child.toString;
        return child;
      }
    },
    $signature: 659
  };
  A.StatusLine_buildConnectionStatus__closure.prototype = {
    call$3(context, isBusy, _) {
      var t1 = B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.SizedBox$(isBusy ? new A.SmallCircularProgressIndicator(new A.AlwaysStoppedAnimation(this.color, type$.AlwaysStoppedAnimation_nullable_Color), null) : B.SizedBox_null_null_null_null, t2, t1);
    },
    $signature: 343
  };
  A.StatusLine_buildConnectionStatus__closure0.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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
              A.showDialog(true, new A.StatusLine_buildConnectionStatus___closure($async$self.app), $async$self.context, type$.void);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.StatusLine_buildConnectionStatus___closure.prototype = {
    call$1(context) {
      return new A.DeviceDialog(this.app, null);
    },
    $signature: 660
  };
  A.IsolateSelector.prototype = {
    build$1(context) {
      var isolateManager = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager;
      return new A.DualValueListenableBuilder(isolateManager._isolates, isolateManager._selectedIsolate, new A.IsolateSelector_build_closure(isolateManager), null, null, type$.DualValueListenableBuilder_of_List_nullable_IsolateRef_and_nullable_IsolateRef);
    }
  };
  A.IsolateSelector_build_closure.prototype = {
    call$4(context, isolates, selectedIsolateRef, _) {
      var t1 = this.isolateManager;
      return A.PopupMenuButton$(new A.IsolateOption(t1._selectedIsolate._change_notifier$_value, null), true, null, selectedIsolateRef, new A.IsolateSelector_build__closure(isolates), B.Offset_0_0, t1.get$selectIsolate(), B.EdgeInsets_8_8_8_8, null, "Selected Isolate", type$.nullable_IsolateRef);
    },
    $signature: 661
  };
  A.IsolateSelector_build__closure.prototype = {
    call$1(context) {
      var t1 = J.where$1$ax(this.isolates, new A.IsolateSelector_build___closure()),
        t2 = t1.$ti._eval$1("MappedIterable<1,PopupMenuItem<IsolateRef>>");
      return A.List_List$of(new A.MappedIterable(t1, new A.IsolateSelector_build___closure0(), t2), true, t2._eval$1("Iterable.E"));
    },
    $signature: 662
  };
  A.IsolateSelector_build___closure.prototype = {
    call$1(ref) {
      return ref != null;
    },
    $signature: 663
  };
  A.IsolateSelector_build___closure0.prototype = {
    call$1(ref) {
      ref.toString;
      return A.PopupMenuItem$(new A.IsolateOption(ref, null), null, ref, type$.IsolateRef);
    },
    $signature: 664
  };
  A.IsolateOption.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A.Theme_of(context),
        t2 = this.ref,
        t3 = t2 == null,
        t4 = t3 ? _null : t2.get$isSystemIsolate();
      t4 = t4 === true ? B.Icon_gvg : B.Icon_nZ3;
      t2 = t3 ? "isolate" : A.S(t2.get$name(t2)) + " #" + A.S($.globals.$index(0, B.Type_ServiceConnectionManager_qdG).isolateManager.isolateIndex$1(t2));
      return A.Row$(A._setArrayType([t4, B.SizedBox_8_null_null_null, A.Text$(t2, _null, _null, _null, _null, _null, t1.textTheme.bodyMedium, _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    }
  };
  A.SurveyService.prototype = {
    get$activeSurvey() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsSurvey),
        $async$returnValue, $async$self = this, t1;
      var $async$get$activeSurvey = 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._cachedSurvey;
              $async$goto = t1 == null ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self._fetchSurveyContent$0(), $async$get$activeSurvey);
            case 5:
              // returning from await.
              t1 = $async$self._cachedSurvey = $async$result;
            case 4:
              // join
              $async$goto = (t1 == null ? null : t1.id) != null ? 6 : 7;
              break;
            case 6:
              // then
              t1 = t1.id;
              t1.toString;
              $async$goto = 8;
              return A._asyncAwait(A.setActiveSurvey(t1), $async$get$activeSurvey);
            case 8:
              // returning from await.
            case 7:
              // join
              $async$goto = 9;
              return A._asyncAwait($async$self._shouldShowSurvey$0(), $async$get$activeSurvey);
            case 9:
              // returning from await.
              if ($async$result) {
                $async$returnValue = $async$self._cachedSurvey;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$get$activeSurvey, $async$completer);
    },
    maybeShowSurveyPrompt$1(context) {
      return this.maybeShowSurveyPrompt$body$SurveyService(context);
    },
    maybeShowSurveyPrompt$body$SurveyService(context) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, actions, survey;
      var $async$maybeShowSurveyPrompt$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 = 2;
              return A._asyncAwait($async$self.get$activeSurvey(), $async$maybeShowSurveyPrompt$1);
            case 2:
              // returning from await.
              survey = $async$result;
              if (survey != null) {
                t1 = survey.title;
                t1.toString;
                actions = A._setArrayType([new A.NotificationAction("NO THANKS", new A.SurveyService_maybeShowSurveyPrompt_closure($async$self, t1, context), false, null), new A.NotificationAction("TAKE SURVEY", new A.SurveyService_maybeShowSurveyPrompt_closure0($async$self, survey, t1, context), true, null)], type$.JSArray_NotificationAction);
                $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.SurveyService_maybeShowSurveyPrompt_closure1(context, t1, actions));
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$maybeShowSurveyPrompt$1, $async$completer);
    },
    _shouldShowSurvey$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, t2, t3;
      var $async$_shouldShowSurvey$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._cachedSurvey == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(A.surveyShownCount(), $async$_shouldShowSurvey$0);
            case 3:
              // returning from await.
              if ($async$result >= 5) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 4;
              return A._asyncAwait(A.surveyActionTaken(), $async$_shouldShowSurvey$0);
            case 4:
              // returning from await.
              if ($async$result) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = Date.now();
              t2 = $async$self._cachedSurvey;
              t3 = t2.startDate._value;
              t2 = t2.endDate._value;
              $async$returnValue = t1 >= t3 && t1 <= t2;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_shouldShowSurvey$0, $async$completer);
    },
    _fetchSurveyContent$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_DevToolsSurvey),
        $async$returnValue, $async$handler = 2, $async$currentError, response, contents, e, t1, t2, id, startDate, endDate, title, surveyUrl, exception, $async$exception;
      var $async$_fetchSurveyContent$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 = 4;
              $async$goto = 7;
              return A._asyncAwait(A.get($.$get$SurveyService__metadataUrl()), $async$_fetchSurveyContent$0);
            case 7:
              // returning from await.
              response = $async$result;
              if (response.statusCode === 200) {
                t1 = response;
                contents = B.C_JsonCodec.decode$1(0, A.encodingForCharset(J.$index$asx(A._contentTypeForHeaders(t1.headers).parameters._collection$_map, "charset")).decode$1(0, t1.bodyBytes));
                t1 = contents;
                t2 = J.getInterceptor$asx(t1);
                id = t2.$index(t1, "uniqueId");
                startDate = t2.$index(t1, "startDate") != null ? A.DateTime_parse(t2.$index(t1, "startDate")) : null;
                endDate = t2.$index(t1, "startDate") != null ? A.DateTime_parse(t2.$index(t1, "endDate")) : null;
                title = t2.$index(t1, "title");
                surveyUrl = t2.$index(t1, "url");
                $async$returnValue = new A.DevToolsSurvey(id, startDate, endDate, title, surveyUrl);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t1 = A.unwrapException($async$exception);
              if (type$.Error._is(t1)) {
                e = t1;
                A.log("Error fetching survey content: " + A.S(e), B.LogLevel_0);
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 6;
              break;
            case 3:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 6:
              // after finally
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_fetchSurveyContent$0, $async$completer);
    },
    _noThanksPressed$2$context$message(context, message) {
      return this._noThanksPressed$body$SurveyService(context, message);
    },
    _noThanksPressed$body$SurveyService(context, message) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$_noThanksPressed$2$context$message = 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(A.setSurveyActionTaken(), $async$_noThanksPressed$2$context$message);
            case 2:
              // returning from await.
              A.Notifications_of(context).dismiss$1(message);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_noThanksPressed$2$context$message, $async$completer);
    },
    _takeSurveyPressed$3$context$message$surveyUrl(context, message, surveyUrl) {
      return this._takeSurveyPressed$body$SurveyService(context, message, surveyUrl);
    },
    _takeSurveyPressed$body$SurveyService(context, message, surveyUrl) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic);
      var $async$_takeSurveyPressed$3$context$message$surveyUrl = 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(A.launchUrl(surveyUrl, context), $async$_takeSurveyPressed$3$context$message$surveyUrl);
            case 2:
              // returning from await.
              $async$goto = 3;
              return A._asyncAwait(A.setSurveyActionTaken(), $async$_takeSurveyPressed$3$context$message$surveyUrl);
            case 3:
              // returning from await.
              A.Notifications_of(context).dismiss$1(message);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_takeSurveyPressed$3$context$message$surveyUrl, $async$completer);
    }
  };
  A.SurveyService_maybeShowSurveyPrompt_closure.prototype = {
    call$0() {
      return this.$this._noThanksPressed$2$context$message(this.context, this.message);
    },
    $signature: 0
  };
  A.SurveyService_maybeShowSurveyPrompt_closure0.prototype = {
    call$0() {
      var uri, internalValue, uri0, queryParams, _this = this, _null = null,
        t1 = _this.survey.url;
      t1.toString;
      uri = A.Uri_parse(t1, 0, _null);
      internalValue = String(false);
      uri0 = A.Uri_parse(String(window.location), 0, _null);
      if (uri0.get$path(uri0) === "/") {
        t1 = uri0.get$queryParameters().$index(0, "page");
        if (t1 == null)
          t1 = "";
      } else
        t1 = B.JSString_methods.substring$1(uri0.get$path(uri0), 1);
      queryParams = A.LinkedHashMap_LinkedHashMap$_literal(["IDE", $._ideLaunched, "From", t1, "Internal", internalValue], type$.String, type$.dynamic);
      t1 = uri.get$scheme();
      return _this.$this._takeSurveyPressed$3$context$message$surveyUrl(_this.context, _this.message, A._Uri__Uri(_null, uri.get$host(uri), uri.get$path(uri), _null, _null, _null, queryParams, t1, _null).get$_text());
    },
    $signature: 0
  };
  A.SurveyService_maybeShowSurveyPrompt_closure1.prototype = {
    call$1(_) {
      if (A.Notifications_of(this.context).push$4$actions$allowDuplicates$duration(this.message, this.actions, false, B.Duration_86400000000))
        A.incrementSurveyShownCount();
    },
    $signature: 3
  };
  A.DevToolsSurvey.prototype = {};
  A.ScrollKind.prototype = {
    toString$0(_) {
      return "ScrollKind." + this._core$_name;
    }
  };
  A.FlatTable.prototype = {
    createState$0() {
      return new A.FlatTableState(B._StateLifecycle_0, this.$ti._eval$1("FlatTableState<1>"));
    }
  };
  A.FlatTableState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._initData$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget;
      if (t1.sortColumn !== oldWidget.sortColumn || t1.sortDirection !== oldWidget.sortDirection || !A.collectionEquals(t1.data, oldWidget.data))
        this._initData$0();
    },
    _initData$0() {
      var t1, _this = this;
      _this.__FlatTableState_data = A.List_List$from(_this._widget.data, true, _this.$ti._precomputed1);
      t1 = _this._widget;
      _this.sortData$3$secondarySortColumn(t1.sortColumn, t1.sortDirection, t1.secondarySortColumn);
    },
    computeColumnWidths$1(maxWidth) {
      var sortedColumns, t2, available, _i, col, t3, unconstrainedCount, column, available0, unconstrainedCount0, unconstrainedWidth, widths, unconstrainedFound, width, _this = this,
        t1 = _this._widget;
      t1 = t1.columns;
      maxWidth = Math.max(0, maxWidth - 32 - (Math.max(0, t1.length - 1) - 0) * 16 - 0);
      sortedColumns = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      B.JSArray_methods.sort$1(sortedColumns, new A.FlatTableState_computeColumnWidths_closure(_this));
      for (t1 = _this._widget.columns, t2 = t1.length, available = maxWidth, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        col = t1[_i];
        if (col.get$fixedWidthPx() != null) {
          t3 = col.get$fixedWidthPx();
          t3.toString;
          available -= t3;
        } else {
          t3 = col.minWidthPx;
          if (t3 != null)
            available -= t3;
        }
      }
      available = Math.max(available, 0);
      for (t1 = sortedColumns.length, unconstrainedCount = 0, _i = 0; t2 = sortedColumns.length, _i < t2; sortedColumns.length === t1 || (0, A.throwConcurrentModificationError)(sortedColumns), ++_i) {
        column = sortedColumns[_i];
        if (column.get$fixedWidthPx() == null && column.minWidthPx == null)
          ++unconstrainedCount;
      }
      if (available > 0)
        for (_i = 0; _i < sortedColumns.length; sortedColumns.length === t2 || (0, A.throwConcurrentModificationError)(sortedColumns), ++_i) {
          column = sortedColumns[_i];
          if (column.get$fixedWidthPx() == null && column.minWidthPx != null) {
            t1 = column.minWidthPx;
            t1.toString;
            available0 = available + t1;
            unconstrainedCount0 = unconstrainedCount + 1;
            if (available0 / unconstrainedCount0 < t1)
              break;
            unconstrainedCount = unconstrainedCount0;
            available = available0;
          }
        }
      unconstrainedWidth = unconstrainedCount > 0 ? available / unconstrainedCount : available;
      widths = A._setArrayType([], type$.JSArray_double);
      for (t1 = _this._widget.columns, t2 = t1.length, unconstrainedFound = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        column = t1[_i];
        width = column.get$fixedWidthPx();
        if (width == null) {
          t3 = column.minWidthPx;
          if (t3 != null && t3 > unconstrainedWidth) {
            t3.toString;
            width = t3;
          } else {
            ++unconstrainedFound;
            width = unconstrainedWidth;
          }
        }
        widths.push(width);
      }
      return widths;
    },
    build$1(context) {
      return new A.LayoutBuilder(new A.FlatTableState_build_closure(this), null);
    },
    _buildRow$4(context, linkedScrollControllerGroup, index, columnWidths) {
      var node, selectionNotifier, _this = this,
        t1 = _this.__FlatTableState_data;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      node = t1[index];
      selectionNotifier = _this._widget.selectionNotifier;
      if (selectionNotifier == null)
        selectionNotifier = new A.FixedValueListenable(null, _this.$ti._eval$1("FixedValueListenable<1?>"));
      return new A.ValueListenableBuilder(selectionNotifier, new A.FlatTableState__buildRow_closure(_this, node, linkedScrollControllerGroup, columnWidths, index), null, null, _this.$ti._eval$1("ValueListenableBuilder<1?>"));
    },
    _sortDataAndUpdate$3$secondarySortColumn(column, direction, secondarySortColumn) {
      this.setState$1(new A.FlatTableState__sortDataAndUpdate_closure(this, column, direction, secondarySortColumn));
    },
    _sortDataAndUpdate$2(column, direction) {
      return this._sortDataAndUpdate$3$secondarySortColumn(column, direction, null);
    },
    sortData$3$secondarySortColumn(column, direction, secondarySortColumn) {
      var t1 = this.__FlatTableState_data;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.sort$1(t1, new A.FlatTableState_sortData_closure(this, column, direction, secondarySortColumn));
    }
  };
  A.FlatTableState_computeColumnWidths_closure.prototype = {
    call$2(a, b) {
      var t1 = a.minWidthPx,
        t2 = t1 != null;
      if (t2 && b.minWidthPx != null) {
        t1.toString;
        t2 = b.minWidthPx;
        t2.toString;
        return B.JSNumber_methods.compareTo$1(t1, t2);
      }
      if (t2)
        return -1;
      if (b.minWidthPx != null)
        return 1;
      return 0;
    },
    $signature() {
      return this.$this.$ti._eval$1("int(ColumnData<1>,ColumnData<1>)");
    }
  };
  A.FlatTableState_build_closure.prototype = {
    call$2(context, constraints) {
      var t3, t4, t5, t6, t7, t8, _null = null,
        t1 = this.$this,
        columnWidths = t1.computeColumnWidths$1(constraints.maxWidth),
        t2 = t1.__FlatTableState_data;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1._widget;
      t4 = t3.columns;
      t5 = t3.autoScrollContent;
      t6 = t3.sortColumn;
      t7 = t3.sortDirection;
      t8 = t3.secondarySortColumn;
      return A._Table$(t3.activeSearchMatchNotifier, t5, _null, columnWidths, t4, t2, _null, _null, t1.get$_sortDataAndUpdate(), t1.get$_buildRow(), B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t8, _null, t6, t7, t1.$ti._precomputed1);
    },
    $signature() {
      return this.$this.$ti._eval$1("_Table<1>(BuildContext,BoxConstraints)");
    }
  };
  A.FlatTableState__buildRow_closure.prototype = {
    call$3(context, selected, _) {
      var t6, t7, t8, t9, _this = this, _null = null,
        t1 = _this.$this,
        t2 = _this.node,
        t3 = t1._widget.keyFactory.call$1(t2),
        t4 = t1._widget,
        t5 = t4.onItemSelected;
      t4 = t4.columns;
      t6 = A.Theme_of(context).colorScheme;
      if (B.JSInt_methods.$mod(_this.index, 2) === 1)
        t6 = A.DevToolsColorScheme_get_defaultBackgroundColor(t6);
      else
        t6 = t6.brightness === B.Brightness_1 ? A.ColorExtension_darken(A.DevToolsColorScheme_get_defaultBackgroundColor(t6), 0.05) : A.ColorExtension_brighten(A.DevToolsColorScheme_get_defaultBackgroundColor(t6));
      t7 = t2 != null && J.$eq$(t2, selected);
      t8 = t1._widget;
      t9 = t8.searchMatchesNotifier;
      return A.TableRow$(t8.activeSearchMatchNotifier, t6, _null, _this.columnWidths, t4, _null, _null, false, false, t7, true, t3, _this.linkedScrollControllerGroup, t2, _null, t5, t9, t1.$ti._precomputed1);
    },
    $signature() {
      return this.$this.$ti._eval$1("TableRow<1>(BuildContext,1?,Widget?)");
    }
  };
  A.FlatTableState__sortDataAndUpdate_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = _this.column,
        t3 = _this.direction,
        t4 = _this.secondarySortColumn;
      t1.sortData$3$secondarySortColumn(t2, t3, t4);
      t1 = t1._widget.onSortChanged;
      if (t1 != null)
        t1.call$3$secondarySortColumn(t2, t3, t4);
    },
    $signature: 0
  };
  A.FlatTableState_sortData_closure.prototype = {
    call$2(a, b) {
      return A._compareData(a, b, this.column, this.direction, this.secondarySortColumn);
    },
    $signature() {
      return this.$this.$ti._eval$1("int(1,1)");
    }
  };
  A.Selection.prototype = {};
  A.TreeTable.prototype = {
    createState$0() {
      var t1 = this.$ti;
      return new A.TreeTableState(A._setArrayType([], t1._eval$1("JSArray<1>")), A.LinkedHashSet_LinkedHashSet$_empty(t1._precomputed1), A.Disposer$(), $, $, null, null, B._StateLifecycle_0, t1._eval$1("TreeTableState<1>"));
    }
  };
  A.TreeTableState.prototype = {
    initState$0() {
      var t1, _length, _list, index, _this = this;
      _this.super$State$initState();
      _this._initData$0();
      t1 = _this.TreeMixin___TreeMixin_dataRoots;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _length = t1.length;
      _list = J.JSArray_JSArray$allocateGrowable(_length, type$.bool);
      for (t1 = _this.TreeMixin___TreeMixin_dataRoots, index = 0; index < _length; ++index) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _list[index] = t1[index]._isExpanded;
      }
      _this.__TreeTableState_rootsExpanded = _list;
      _this._table$_updateItems$0();
      t1 = A.FocusNode$(true, "table", true, true, null, null, false);
      _this.__TreeTableState__focusNode = t1;
      _this.AutoDisposeMixin__delegate.autoDisposeFocusNode$1(t1);
    },
    expandParents$1($parent) {
      var t1;
      if ($parent == null)
        return;
      t1 = $parent.parent;
      if ((t1 == null ? null : t1.index) !== -1)
        this.expandParents$1(t1);
      if (!$parent._isExpanded)
        this._toggleNode$1($parent);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _length, _list, index, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t1.toString;
      if (t1.super$Object$$eq(0, oldWidget))
        return;
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      t1 = _this.__TreeTableState_selectionNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.addAutoDisposeListener$2(t1, new A.TreeTableState_didUpdateWidget_closure(_this));
      t1 = _this._widget;
      if (t1.sortColumn !== oldWidget.sortColumn || t1.sortDirection !== oldWidget.sortDirection || !A.collectionEquals(t1.dataRoots, oldWidget.dataRoots))
        _this._initData$0();
      t1 = _this.TreeMixin___TreeMixin_dataRoots;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _length = t1.length;
      _list = J.JSArray_JSArray$allocateGrowable(_length, type$.bool);
      for (t1 = _this.TreeMixin___TreeMixin_dataRoots, index = 0; index < _length; ++index) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _list[index] = t1[index]._isExpanded;
      }
      _this.__TreeTableState_rootsExpanded = _list;
      _this._table$_updateItems$0();
    },
    _initData$0() {
      var _this = this,
        t1 = _this.$ti,
        t2 = t1._precomputed1;
      _this.TreeMixin___TreeMixin_dataRoots = A.List_List$generate(_this._widget.dataRoots.length, new A.TreeTableState__initData_closure(_this), true, t2);
      _this.TreeMixin___TreeMixin_dataRoots = A.List_List$from(_this._widget.dataRoots, true, t2);
      t2 = _this._widget;
      _this.sortData$3$secondarySortColumn(t2.sortColumn, t2.sortDirection, null);
      t2 = _this._widget.selectionNotifier;
      _this.__TreeTableState_selectionNotifier = t2 == null ? new A.ValueNotifier(new A.Selection(null, null, false, t1._eval$1("Selection<1>")), $.$get$ChangeNotifier__emptyListeners(), t1._eval$1("ValueNotifier<Selection<1>>")) : t2;
    },
    _table$_updateItems$0() {
      this.setState$1(new A.TreeTableState__updateItems_closure(this));
    },
    _onItemsAnimated$0() {
      this.setState$1(new A.TreeTableState__onItemsAnimated_closure(this));
    },
    _toggleNode$1(node) {
      var _this = this;
      if (!node.get$isExpandable()) {
        node.leaf$0();
        _this._table$_updateItems$0();
        return;
      }
      _this.setState$1(new A.TreeTableState__toggleNode_closure(_this, node));
      _this._table$_updateItems$0();
    },
    _computeColumnWidths$1(flattenedList) {
      var firstRoot, deepest, _i, node, widths, t2, column, width, t3,
        t1 = this.TreeMixin___TreeMixin_dataRoots;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      firstRoot = B.JSArray_methods.get$first(t1);
      for (t1 = flattenedList.length, deepest = firstRoot, _i = 0; _i < flattenedList.length; flattenedList.length === t1 || (0, A.throwConcurrentModificationError)(flattenedList), ++_i) {
        node = flattenedList[_i];
        if (J.get$level$x(node) > J.get$level$x(deepest))
          deepest = node;
      }
      widths = A._setArrayType([], type$.JSArray_double);
      for (t1 = this._widget.columns, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        column = t1[_i];
        width = column.getNodeIndentPx$1(deepest);
        if (column.get$fixedWidthPx() != null) {
          t3 = column.get$fixedWidthPx();
          t3.toString;
          width += t3;
        } else
          width += 500;
        widths.push(width);
      }
      return widths;
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        t1 = _this.TreeMixin___TreeMixin_items;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._widget;
      t3 = t2.columns;
      t4 = _this.__TreeTableState_columnWidths;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t2.sortColumn;
      t2 = t2.sortDirection;
      t6 = _this.__TreeTableState__focusNode;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t7 = _this.__TreeTableState_selectionNotifier;
      if (t7 === $)
        A.throwUnnamedLateFieldNI();
      return A._Table$(_null, false, _null, t4, t3, t1, t6, _this.get$_handleKeyEvent(), _this.get$_sortDataAndUpdate(), _this.get$_buildRow(), _null, _null, t7, t5, t2, _this.$ti._precomputed1);
    },
    _buildRow$4(context, linkedScrollControllerGroup, index, columnWidths) {
      var node,
        t1 = this.TreeMixin___TreeMixin_items;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      node = t1[index];
      if (this.animatingChildrenSet.contains$1(0, node))
        return B.SizedBox_null_null_null_null;
      return new A.TreeTableState__buildRow_rowForNode(this, index, linkedScrollControllerGroup, context, columnWidths).call$1(node);
    },
    sortData$3$secondarySortColumn(column, direction, secondarySortColumn) {
      var sortFunction = new A.TreeTableState_sortData_closure(this, column, direction, secondarySortColumn),
        t1 = this.TreeMixin___TreeMixin_dataRoots;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.sort$1(t1, sortFunction);
      B.JSArray_methods.forEach$1(t1, new A.TreeTableState_sortData__sort(this, sortFunction));
    },
    _handleKeyEvent$3($event, scrollController, constraints) {
      var t1, t2, t3, _this = this;
      if (!($event instanceof A.RawKeyDownEvent))
        return B.KeyEventResult_1;
      t1 = $event.data;
      if (!B.JSArray_methods.contains$1(A._setArrayType([B.LogicalKeyboardKey_4294968065, B.LogicalKeyboardKey_4294968068, B.LogicalKeyboardKey_4294968066, B.LogicalKeyboardKey_4294968067], type$.JSArray_LogicalKeyboardKey), t1.get$logicalKey()))
        return B.KeyEventResult_1;
      t2 = _this.__TreeTableState_selectionNotifier;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2._change_notifier$_value.node == null) {
        t3 = _this.TreeMixin___TreeMixin_items;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t2.set$value(0, new A.Selection(t3[0], 0, false, _this.$ti._eval$1("Selection<1>")));
      }
      if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968065))
        _this._moveSelection$3(B.ScrollKind_1, scrollController, constraints.maxHeight);
      else if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968068))
        _this._moveSelection$3(B.ScrollKind_0, scrollController, constraints.maxHeight);
      else if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968066)) {
        t1 = _this.__TreeTableState_selectionNotifier;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._change_notifier$_value.node;
        if (t1._isExpanded)
          _this._toggleNode$1(t1);
        else
          _this._moveSelection$3(B.ScrollKind_2, scrollController, constraints.maxHeight);
      } else if (t1.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294968067)) {
        t1 = _this.__TreeTableState_selectionNotifier;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1._change_notifier$_value.node.get$isExpandable()) {
          t1 = _this.__TreeTableState_selectionNotifier;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = !t1._change_notifier$_value.node._isExpanded;
        } else
          t1 = false;
        if (t1) {
          t1 = _this.__TreeTableState_selectionNotifier;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1._change_notifier$_value.node;
          t1.toString;
          _this._toggleNode$1(t1);
        } else
          _this._moveSelection$3(B.ScrollKind_1, scrollController, constraints.maxHeight);
      }
      return B.KeyEventResult_0;
    },
    _moveSelection$3(scrollKind, scrollController, viewportHeight) {
      var firstItemIndex, minCompleteItemsInView, newSelectedNodeIndex, selectionValue, selectedNodeIndex, t2, newSelectedNode, _this = this,
        t1 = scrollController.get$position(scrollController)._pixels;
      t1.toString;
      firstItemIndex = B.JSNumber_methods.ceil$0(t1 / B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      minCompleteItemsInView = Math.max(B.JSNumber_methods.floor$0(viewportHeight / B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))) - 2, 0);
      newSelectedNodeIndex = A._Cell$named("newSelectedNodeIndex");
      t1 = _this.__TreeTableState_selectionNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      selectionValue = t1._change_notifier$_value;
      selectedNodeIndex = selectionValue.nodeIndex;
      switch (scrollKind.index) {
        case 1:
          selectedNodeIndex.toString;
          t1 = _this.TreeMixin___TreeMixin_items;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          newSelectedNodeIndex.__late_helper$_value = Math.min(selectedNodeIndex + 1, t1.length - 1);
          break;
        case 0:
          selectedNodeIndex.toString;
          newSelectedNodeIndex.__late_helper$_value = Math.max(selectedNodeIndex - 1, 0);
          break;
        case 2:
          t1 = selectionValue.node.parent;
          if (t1 != null) {
            t2 = _this.TreeMixin___TreeMixin_items;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t1 = Math.max(B.JSArray_methods.indexOf$1(t2, t1), 0);
          } else
            t1 = 0;
          newSelectedNodeIndex.__late_helper$_value = t1;
          break;
      }
      t1 = _this.TreeMixin___TreeMixin_items;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      newSelectedNode = t1[newSelectedNodeIndex._readLocal$0()];
      t1 = newSelectedNodeIndex._readLocal$0();
      t2 = newSelectedNodeIndex._readLocal$0();
      if (t1 > firstItemIndex + minCompleteItemsInView - 1)
        scrollController.animateTo$3$curve$duration((newSelectedNodeIndex._readLocal$0() - minCompleteItemsInView + 1) * B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.Cubic_oKc, B.Duration_200000);
      else if (t2 < firstItemIndex)
        scrollController.animateTo$3$curve$duration(newSelectedNodeIndex._readLocal$0() * B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.Cubic_oKc, B.Duration_200000);
      _this.setState$1(new A.TreeTableState__moveSelection_closure(_this, newSelectedNode, newSelectedNodeIndex));
    },
    _sortDataAndUpdate$3$secondarySortColumn(column, direction, secondarySortColumn) {
      this.sortData$3$secondarySortColumn(column, direction, secondarySortColumn);
      this._table$_updateItems$0();
    },
    _sortDataAndUpdate$2(column, direction) {
      return this._sortDataAndUpdate$3$secondarySortColumn(column, direction, null);
    }
  };
  A.TreeTableState_didUpdateWidget_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A.TreeTableState_didUpdateWidget__closure(t1));
    },
    $signature: 0
  };
  A.TreeTableState_didUpdateWidget__closure.prototype = {
    call$0() {
      var node,
        t1 = this.$this,
        t2 = t1.__TreeTableState_selectionNotifier;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      node = t2._change_notifier$_value.node;
      t1.expandParents$1(node == null ? null : node.parent);
    },
    $signature: 0
  };
  A.TreeTableState__initData_closure.prototype = {
    call$1(index) {
      var t1 = this.$this._widget,
        root = t1.dataRoots[index];
      if (t1.autoExpandRoots)
        J.expand$0$ax(root);
      return root;
    },
    $signature() {
      return this.$this.$ti._eval$1("1(int)");
    }
  };
  A.TreeTableState__updateItems_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.TreeMixin___TreeMixin_dataRoots;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.buildFlatList$1(t2);
      t1.TreeMixin___TreeMixin_items = t2;
      t2 = A.List_List$of(t2, true, t1.$ti._precomputed1);
      B.JSArray_methods.addAll$1(t2, t1.animatingChildren);
      t1.__TreeTableState_columnWidths = t1._computeColumnWidths$1(t2);
    },
    $signature: 0
  };
  A.TreeTableState__onItemsAnimated_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.$ti;
      t1.animatingChildren = A._setArrayType([], t2._eval$1("JSArray<1>"));
      t1.animatingChildrenSet = A.LinkedHashSet_LinkedHashSet$_empty(t2._precomputed1);
      t2 = t1.TreeMixin___TreeMixin_items;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.__TreeTableState_columnWidths = t1._computeColumnWidths$1(t2);
    },
    $signature: 0
  };
  A.TreeTableState__toggleNode_closure.prototype = {
    call$0() {
      var t2, t3, t4, nodeChildren, rootIndex,
        t1 = this.node;
      if (!t1.get$isExpandable())
        return;
      t2 = this.$this;
      t2.animatingNode = t1;
      t3 = t2.$ti;
      t4 = t3._eval$1("JSArray<1>");
      if (t1._isExpanded) {
        nodeChildren = t2.buildFlatList$1(A._setArrayType([t1], t4));
        t1._isExpanded = false;
      } else {
        t1.expand$0(0);
        nodeChildren = t2.buildFlatList$1(A._setArrayType([t1], t4));
      }
      t4 = A.SubListIterable$(nodeChildren, 1, null, A._arrayInstanceType(nodeChildren)._precomputed1).take$1(0, 50).toList$0(0);
      t2.animatingChildren = t4;
      t2.animatingChildrenSet = A.LinkedHashSet_LinkedHashSet$of(t4, t3._precomputed1);
      t3 = t2.TreeMixin___TreeMixin_dataRoots;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (B.JSArray_methods.contains$1(t3, t1)) {
        t3 = t2.TreeMixin___TreeMixin_dataRoots;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        rootIndex = B.JSArray_methods.indexOf$1(t3, t1);
        t2 = t2.__TreeTableState_rootsExpanded;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2[rootIndex] = t1._isExpanded;
      }
    },
    $signature: 0
  };
  A.TreeTableState__buildRow_rowForNode.prototype = {
    call$1(node) {
      var t5, t6, t7, t8, t9, t10, t11, t12, t13, _i, _this = this, _null = null,
        t1 = node.index = _this.index,
        t2 = _this.$this,
        t3 = t2._widget.keyFactory.call$1(node),
        t4 = A.Theme_of(_this.context).colorScheme;
      if (B.JSInt_methods.$mod(t1, 2) === 1)
        t4 = A.DevToolsColorScheme_get_defaultBackgroundColor(t4);
      else
        t4 = t4.brightness === B.Brightness_1 ? A.ColorExtension_darken(A.DevToolsColorScheme_get_defaultBackgroundColor(t4), 0.05) : A.ColorExtension_brighten(A.DevToolsColorScheme_get_defaultBackgroundColor(t4));
      t5 = t2._widget;
      t6 = t5.columns;
      t5 = t5.treeColumn;
      t7 = t2.__TreeTableState_selectionNotifier;
      if (t7 === $)
        A.throwUnnamedLateFieldNI();
      t7 = J.$eq$(t7._change_notifier$_value.node, node);
      t8 = node._isExpanded;
      t9 = node.get$isExpandable();
      t10 = node.shouldShow$0();
      if (!node.$eq(0, t2.animatingNode) || t2.animatingChildrenSet.contains$1(0, node))
        t11 = _null;
      else {
        t11 = A._setArrayType([], type$.JSArray_Widget);
        for (t12 = t2.animatingChildren, t13 = t12.length, _i = 0; _i < t12.length; t12.length === t13 || (0, A.throwConcurrentModificationError)(t12), ++_i)
          t11.push(_this.call$1(t12[_i]));
      }
      return A.TableRow$(_null, t4, _null, _this.columnWidths, t6, t5, t11, t9, t8, t7, t10, t3, _this.linkedScrollControllerGroup, node, t2.get$_onItemsAnimated(), new A.TreeTableState__buildRow_rowForNode_closure(t2, t1), _null, t2.$ti._precomputed1);
    },
    $signature() {
      return this.$this.$ti._eval$1("Widget(1)");
    }
  };
  A.TreeTableState__buildRow_rowForNode_closure.prototype = {
    call$1(item) {
      var t1 = this.$this,
        t2 = t1.__TreeTableState_selectionNotifier;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.set$value(0, new A.Selection(item, this.index, false, t1.$ti._eval$1("Selection<1>")));
      t1._toggleNode$1(item);
      return null;
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  A.TreeTableState_sortData_closure.prototype = {
    call$2(a, b) {
      return A._compareData(a, b, this.column, this.direction, this.secondarySortColumn);
    },
    $signature() {
      return this.$this.$ti._eval$1("int(1,1)");
    }
  };
  A.TreeTableState_sortData__sort.prototype = {
    call$1(dataObject) {
      var t1 = dataObject.children;
      B.JSArray_methods.sort$1(t1, this.sortFunction);
      B.JSArray_methods.forEach$1(t1, this);
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  A.TreeTableState__moveSelection_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__TreeTableState_selectionNotifier;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.set$value(0, new A.Selection(this.newSelectedNode, this.newSelectedNodeIndex._readLocal$0(), false, t1.$ti._eval$1("Selection<1>")));
    },
    $signature: 0
  };
  A._Table.prototype = {
    createState$0() {
      return new A._TableState(A.Disposer$(), B._StateLifecycle_0, this.$ti._eval$1("_TableState<1>"));
    },
    rowBuilder$4(arg0, arg1, arg2, arg3) {
      return this.rowBuilder.call$4(arg0, arg1, arg2, arg3);
    }
  };
  A._TableState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.___TableState__linkedHorizontalScrollControllerGroup = A.LinkedScrollControllerGroup$();
      t1 = _this._widget;
      _this.___TableState_sortColumn = t1.sortColumn;
      _this.___TableState_sortDirection = t1.sortDirection;
      _this.___TableState_scrollController = A.ScrollController$(0);
      _this._initSearchListener$0();
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this.addAutoDisposeListener$2(oldWidget.selectionNotifier, new A._TableState_didUpdateWidget_closure(_this, oldWidget));
      _this._initSearchListener$0();
    },
    _initSearchListener$0() {
      var t1 = this._widget.activeSearchMatchNotifier;
      if (t1 != null)
        this.addAutoDisposeListener$2(t1, this.get$_onActiveSearchChange());
    },
    _onActiveSearchChange$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, index, y, t2, indexInView, t1, activeSearch;
      var $async$_onActiveSearchChange$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._widget.activeSearchMatchNotifier;
              activeSearch = t1.get$value(t1);
              if (activeSearch == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              index = B.JSArray_methods.indexOf$1($async$self._widget.data, activeSearch);
              if (index === -1) {
                // goto return
                $async$goto = 1;
                break;
              }
              y = index * B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
              t1 = $async$self.___TableState_scrollController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1.get$position(t1)._pixels;
              t1.toString;
              if (y > t1) {
                t1 = $async$self.___TableState_scrollController;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1 = t1.get$position(t1)._pixels;
                t1.toString;
                t2 = $async$self.___TableState_scrollController;
                if (t2 === $)
                  A.throwUnnamedLateFieldNI();
                indexInView = y < t1 + B.JSArray_methods.get$single(t2._positions).get$extentInside();
              } else
                indexInView = false;
              $async$goto = !indexInView ? 3 : 4;
              break;
            case 3:
              // then
              t1 = $async$self.___TableState_scrollController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.animateTo$3$curve$duration(index * B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.Cubic_oKc, B.Duration_200000), $async$_onActiveSearchChange$0);
            case 5:
              // returning from await.
            case 4:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onActiveSearchChange$0, $async$completer);
    },
    dispose$0() {
      var t1 = this.___TableState_scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__TableState_State_AutoDisposeMixin$dispose();
    },
    get$tableWidth() {
      var t2, _i,
        t1 = this._widget,
        tableWidth = 32 + (Math.max(0, t1.columns.length - 1) - 0) * 16;
      for (t1 = t1.columnWidths, t2 = t1.length, _i = 0; _i < t2; ++_i)
        tableWidth += t1[_i];
      return tableWidth;
    },
    _buildItem$2(context, index) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this.___TableState__linkedHorizontalScrollControllerGroup;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.rowBuilder$4(context, t2, index, t1.columnWidths);
    },
    build$1(context) {
      var t1, pos, t2, _this = this;
      if (_this._widget.autoScrollContent) {
        t1 = _this.___TableState_scrollController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._positions;
        if (t1.length !== 0) {
          pos = B.JSArray_methods.get$single(t1);
          t1 = pos._pixels;
          t1.toString;
          t2 = pos._maxScrollExtent;
          t2.toString;
          t2 = t1 === t2;
          t1 = t2;
        } else
          t1 = false;
        if (t1) {
          t1 = _this.___TableState_scrollController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          A.ScrollControllerAutoScroll_autoScrollToBottom(t1);
        }
      }
      return new A.LayoutBuilder(new A._TableState_build_closure(_this, _this._widget.columnGroups), null);
    },
    _sortData$3$secondarySortColumn(column, direction, secondarySortColumn) {
      this.___TableState_sortDirection = direction;
      this.___TableState_sortColumn = column;
      this._widget.onSortChanged.call$3$secondarySortColumn(column, direction, secondarySortColumn);
    },
    _sortData$2(column, direction) {
      return this._sortData$3$secondarySortColumn(column, direction, null);
    }
  };
  A._TableState_didUpdateWidget_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._TableState_didUpdateWidget__closure(t1, this.oldWidget));
    },
    $signature: 0
  };
  A._TableState_didUpdateWidget__closure.prototype = {
    call$0() {
      var newPos, t1,
        selection = this.oldWidget.selectionNotifier._change_notifier$_value;
      if (selection.scrollIntoView) {
        newPos = selection.node.get$nodeIndex().$mul(0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
        t1 = this.$this.___TableState_scrollController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.jumpTo$1(newPos);
      }
    },
    $signature: 0
  };
  A._TableState_build_closure.prototype = {
    call$2(context, constraints) {
      var t5, t6, t7, t8, t9, _null = null,
        t1 = this.$this,
        t2 = Math.max(constraints.maxWidth, t1.get$tableWidth()),
        t3 = A._setArrayType([], type$.JSArray_Widget),
        t4 = t1.___TableState__linkedHorizontalScrollControllerGroup;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t1._widget;
      t6 = t5.columns;
      t7 = t5.columnWidths;
      t8 = t1.___TableState_sortColumn;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t9 = t1.___TableState_sortDirection;
      if (t9 === $)
        A.throwUnnamedLateFieldNI();
      t3.push(new A.TableRow(t4, _null, t6, this.columnGroups, _null, t7, false, B._TableRowType_1, _null, false, false, true, _null, _null, _null, t8, t9, t5.secondarySortColumn, t1.get$_sortData(), _null, _null, B.ValueKey_ibz, t1.$ti._eval$1("TableRow<1>")));
      t5 = t1.___TableState_scrollController;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t9 = t1._widget;
      t8 = t9.focusNode;
      t3.push(A.Expanded$(A.Scrollbar$(A.GestureDetector$(B.HitTestBehavior_2, A.Focus$(true, _null, A.ListView$builder(t5, t1.get$_buildItem(), t9.data.length, t9.rowItemExtent, _null, _null, B.Axis_1, false), _null, _null, _null, t8, true, _null, _null, new A._TableState_build__closure(t1, constraints), _null, _null), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._TableState_build__closure0(t1), _null, _null, _null, _null), t5, _null, _null, true), 1));
      return A.SizedBox$(A.Column$(t3, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null, t2);
    },
    $signature: 668
  };
  A._TableState_build__closure0.prototype = {
    call$1(a) {
      var t1 = this.$this._widget.focusNode;
      return t1 == null ? null : t1.requestFocus$0();
    },
    $signature: 35
  };
  A._TableState_build__closure.prototype = {
    call$2(_, $event) {
      var t1 = this.$this,
        t2 = t1._widget.handleKeyEvent;
      if (t2 != null) {
        t1 = t1.___TableState_scrollController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t2.call$3($event, t1, this.constraints);
      } else
        t1 = B.KeyEventResult_1;
      return t1;
    },
    $signature: 72
  };
  A.TableRow.prototype = {
    createState$0() {
      return new A._TableRowState([], null, A.Disposer$(), $, $, $, null, null, B._StateLifecycle_0, this.$ti._eval$1("_TableRowState<1>"));
    }
  };
  A._TableRowState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$initState();
      _this.contentKey = new A.ValueKey(_this, _this.$ti._eval$1("ValueKey<0>"));
      _this.___TableRowState_scrollController = _this._widget.linkedScrollControllerGroup.addAndGet$0();
      t1 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(new A._TableRowState_initState_closure(_this));
      _this._initSearchListeners$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$didUpdateWidget(oldWidget);
      _this.setExpanded$1(_this._widget.isExpanded);
      if (oldWidget.linkedScrollControllerGroup !== _this._widget.linkedScrollControllerGroup) {
        t1 = _this.___TableRowState_scrollController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
        t1.super$ScrollController$dispose();
        _this.___TableRowState_scrollController = _this._widget.linkedScrollControllerGroup.addAndGet$0();
      }
      _this.AutoDisposeMixin__delegate.cancelListeners$0();
      _this._initSearchListeners$0();
    },
    dispose$0() {
      this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin$dispose();
      var t1 = this.___TableRowState_scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.remove$1(t1._controllers._allControllers, t1);
      t1.super$ScrollController$dispose();
    },
    build$1(context) {
      var t2, box, _this = this, _null = null,
        t1 = _this._widget,
        node = t1.node,
        widgetOnPressed = t1.onPressed,
        onPressed = node != null && widgetOnPressed != null ? new A._TableRowState_build_closure(widgetOnPressed, node) : _null,
        row = _this.tableRowFor$2$onPressed(context, onPressed);
      t1 = _this._widget.rowType === B._TableRowType_0 ? B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) : B.JSNumber_methods.roundToDouble$0(36 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = _this._searchAwareBackgroundColor$0();
      box = A.SizedBox$(A.Material$(B.Duration_200000, true, _null, onPressed != null ? A.InkWell$(false, _null, false, row, _null, true, _null, _null, _null, _null, _this.contentKey, _null, _null, _null, _null, _null, _null, onPressed, _null, _null, _null, _null, _null, _null) : row, B.Clip_0, t2, 0, _null, _null, _null, _null, _null, B.MaterialType_0), t1, _null);
      if (_this._widget.expansionChildren == null)
        return box;
      t1 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.AnimatedBuilder$(t1, new A._TableRowState_build_closure0(_this, box), _null);
    },
    _initSearchListeners$0() {
      var _this = this,
        t1 = _this._widget,
        t2 = t1.searchMatchesNotifier;
      if (t2 != null) {
        t2 = t2._change_notifier$_value;
        _this.SearchableMixin_searchMatches = t2;
        _this.isSearchMatch = J.contains$1$asx(t2, t1.node);
        _this.addAutoDisposeListener$2(_this._widget.searchMatchesNotifier, new A._TableRowState__initSearchListeners_closure(_this));
      }
      t1 = _this._widget.activeSearchMatchNotifier;
      if (t1 != null) {
        t1 = t1.get$value(t1);
        _this.SearchableMixin_activeSearchMatch = t1;
        _this.isActiveSearchMatch = J.$eq$(t1, _this._widget.node);
        _this.addAutoDisposeListener$2(_this._widget.activeSearchMatchNotifier, new A._TableRowState__initSearchListeners_closure0(_this));
      }
    },
    _searchAwareBackgroundColor$0() {
      var t1, searchAwareBackgroundColor, _this = this,
        backgroundColor = _this._widget.backgroundColor;
      if (backgroundColor == null) {
        t1 = _this._framework$_element;
        t1.toString;
        backgroundColor = A.ThemeDataExtension_get_titleSolidBackgroundColor(A.Theme_of(t1));
      }
      if (_this._widget.isSelected) {
        t1 = _this._framework$_element;
        t1.toString;
        return A.Theme_of(t1).selectedRowColor;
      }
      if (_this.isSearchMatch)
        searchAwareBackgroundColor = A.Color_alphaBlend(_this.isActiveSearchMatch ? $.$get$activeSearchMatchColorOpaque() : $.$get$searchMatchColorOpaque(), backgroundColor);
      else
        searchAwareBackgroundColor = backgroundColor;
      return searchAwareBackgroundColor;
    },
    _alignmentFor$1(column) {
      switch (column.get$alignment().index) {
        case 2:
          return B.Alignment_0_0;
        case 1:
          return B.Alignment_1_0;
        case 0:
        default:
          return B.Alignment_m1_0;
      }
    },
    _textAlignmentFor$1(column) {
      switch (column.get$alignment().index) {
        case 2:
          return B.TextAlign_2;
        case 1:
          return B.TextAlign_1;
        case 0:
        default:
          return B.TextAlign_0;
      }
    },
    _mainAxisAlignmentFor$1(column) {
      switch (column.get$alignment().index) {
        case 2:
          return B.MainAxisAlignment_2;
        case 1:
          return B.MainAxisAlignment_1;
        case 0:
        default:
          return B.MainAxisAlignment_0;
      }
    },
    tableRowFor$2$onPressed(context, onPressed) {
      var t2, t3, rowDisplayParts, _length, _list, index, _this = this, _null = null, _box_0 = {},
        t1 = _this._widget;
      if (t1.rowType === B._TableRowType_2) {
        t2 = t1.columnGroups;
        t2.toString;
        t1 = t1.columnWidths;
        t3 = _this.___TableRowState_scrollController;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        return new A._ColumnGroupHeaderRow(t2, t1, t3, _null);
      }
      rowDisplayParts = A._setArrayType([], type$.JSArray__TableRowPartDisplayType);
      t1 = _this._widget;
      _length = t1.columns.length;
      t1 = type$._TableRowPartDisplayType;
      _list = J.JSArray_JSArray$allocateGrowable(_length, t1);
      for (index = 0; index < _length; ++index)
        _list[index] = B._TableRowPartDisplayType_0;
      B.JSArray_methods.addAll$1(rowDisplayParts, A.ListExtension_joinWith(_list, B._TableRowPartDisplayType_1, t1));
      _box_0.columnIndexTracker = 0;
      t1 = _this.___TableRowState_scrollController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._widget.columns.length;
      return new A.Padding(B.EdgeInsets_16_0_16_0, A.ListView$builder(t1, new A._TableRowState_tableRowFor_closure(_box_0, _this, rowDisplayParts, new A._TableRowState_tableRowFor_columnFor(_this, context, onPressed)), t2 + Math.max(0, t2 - 1), _null, _null, _null, B.Axis_0, false), _null);
    },
    onExpandChanged$1(expanded) {
    }
  };
  A._TableRowState_initState_closure.prototype = {
    call$1($status) {
      var t1 = this.$this;
      t1.setState$1(new A._TableRowState_initState__closure());
      if (B.JSArray_methods.contains$1(A._setArrayType([B.AnimationStatus_3, B.AnimationStatus_0], type$.JSArray_AnimationStatus), $status) && t1._widget.onExpansionCompleted != null)
        t1._widget.onExpansionCompleted.call$0();
    },
    $signature: 5
  };
  A._TableRowState_initState__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._TableRowState_build_closure.prototype = {
    call$0() {
      return this.widgetOnPressed.call$1(this.node);
    },
    $signature: 0
  };
  A._TableRowState_build_closure0.prototype = {
    call$2(context, child) {
      var t2, t3, t4, _i, c, t5, t6, _null = null,
        t1 = A._setArrayType([this.box], type$.JSArray_Widget);
      for (t2 = this.$this, t3 = t2._widget.expansionChildren, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        c = t3[_i];
        t5 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t6 = t2.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        t1.push(new A.SizedBox(_null, t5 * t6.get$value(t6), new A.OverflowBox(B.Alignment_0_m1, _null, _null, 0, B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), c, _null), _null));
      }
      return A.Column$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1);
    },
    $signature: 669
  };
  A._TableRowState__initSearchListeners_closure.prototype = {
    call$0() {
      var isNewMatch,
        t1 = this.$this,
        isPreviousMatch = J.contains$1$asx(t1.SearchableMixin_searchMatches, t1._widget.node),
        t2 = t1._widget,
        t3 = t2.searchMatchesNotifier._change_notifier$_value;
      t1.SearchableMixin_searchMatches = t3;
      isNewMatch = J.contains$1$asx(t3, t2.node);
      if (isPreviousMatch !== isNewMatch)
        t1.setState$1(new A._TableRowState__initSearchListeners__closure0(t1, isNewMatch));
    },
    $signature: 0
  };
  A._TableRowState__initSearchListeners__closure0.prototype = {
    call$0() {
      this.$this.isSearchMatch = this.isNewMatch;
    },
    $signature: 0
  };
  A._TableRowState__initSearchListeners_closure0.prototype = {
    call$0() {
      var isNewActiveSearchMatch,
        t1 = this.$this,
        isPreviousActiveSearchMatch = J.$eq$(t1.SearchableMixin_activeSearchMatch, t1._widget.node),
        t2 = t1._widget.activeSearchMatchNotifier;
      t2 = t2.get$value(t2);
      t1.SearchableMixin_activeSearchMatch = t2;
      isNewActiveSearchMatch = J.$eq$(t2, t1._widget.node);
      if (isPreviousActiveSearchMatch !== isNewActiveSearchMatch)
        t1.setState$1(new A._TableRowState__initSearchListeners__closure(t1, isNewActiveSearchMatch));
    },
    $signature: 0
  };
  A._TableRowState__initSearchListeners__closure.prototype = {
    call$0() {
      this.$this.isActiveSearchMatch = this.isNewActiveSearchMatch;
    },
    $signature: 0
  };
  A._TableRowState_tableRowFor_columnFor.prototype = {
    call$2(column, columnWidth) {
      var isSortColumn, title, t3, t4, headerContent, padding, textColor, fontStyle, tooltip, expandIndicator, _null = null,
        $content = A._Cell$named("content"),
        t1 = this.$this,
        t2 = t1._widget,
        node = t2.node;
      if (t2.rowType === B._TableRowType_1) {
        isSortColumn = column === t2.sortColumn;
        title = A.Text$(column.title, _null, _null, B.TextOverflow_2, _null, _null, _null, _null, _null, _null, _null);
        t2 = t1._mainAxisAlignmentFor$1(column);
        t3 = A._setArrayType([], type$.JSArray_Widget);
        if (isSortColumn) {
          t4 = t1._widget.sortDirection === B.SortDirection_0 ? B.IconData_57925_MaterialIcons_false : B.IconData_57926_MaterialIcons_false;
          t3.push(A.Icon$(t4, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))));
        }
        if (isSortColumn)
          t3.push(B.SizedBox_4_null_null_null);
        t4 = column.titleTooltip;
        t3.push(new A.Flexible(1, B.FlexFit_1, t4 != null ? A.DevToolsTooltip$(title, _null, _null, t4, B.EdgeInsets_8_8_8_8, false, _null, B.Duration_500000) : title, _null));
        headerContent = A.Row$(t3, B.CrossAxisAlignment_2, _null, t2, B.MainAxisSize_1, _null, _null);
        $content.__late_helper$_value = column.get$includeHeader() ? A.InkWell$(false, _null, false, headerContent, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._TableRowState_tableRowFor_columnFor_closure(t1, column), _null, _null, _null, _null, _null, _null) : headerContent;
      } else if (node != null) {
        padding = column.getNodeIndentPx$1(node);
        if (type$.ColumnRenderer_dynamic._is(column))
          $content.__late_helper$_value = column.build$4$isRowSelected$onPressed(this.context, node, t1._widget.isSelected, this.onPressed);
        else {
          t2 = column.getDisplayValue$1(node);
          t3 = t1._widget;
          if (t3.isSelected)
            textColor = B.Color_4294967295;
          else {
            t3 = t3.node;
            t3.toString;
            textColor = column.getTextColor$1(t3);
          }
          t3 = t1._framework$_element;
          t3.toString;
          fontStyle = A.Theme_of(t3).textTheme.bodyMedium.copyWith$1$fontFamily("RobotoMono");
          t3 = textColor == null ? fontStyle : fontStyle.copyWith$1$color(textColor);
          $content.__late_helper$_value = A.Text$(t2, _null, 1, B.TextOverflow_2, _null, _null, t3, t1._textAlignmentFor$1(column), _null, _null, _null);
        }
        tooltip = column.getTooltip$1(node);
        if (tooltip.length !== 0)
          $content.__late_helper$_value = A.DevToolsTooltip$($content._readLocal$0(), _null, _null, tooltip, B.EdgeInsets_16_16_16_16, false, _null, B.Duration_1000000);
        t2 = t1._widget;
        if (column === t2.expandableColumn) {
          if (t2.isExpandable) {
            t3 = t1.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t2.isSelected ? B.Color_4294967295 : _null;
            expandIndicator = A.RotationTransition$(A.Icon$(B.IconData_57926_MaterialIcons_false, t2, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), t3);
          } else {
            t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
            expandIndicator = A.SizedBox$(_null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), t2);
          }
          $content.__late_helper$_value = A.Row$(A._setArrayType([expandIndicator, A.Expanded$($content._readLocal$0(), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
        }
        $content.__late_helper$_value = new A.Padding(new A.EdgeInsets(padding, 0, 0, 0), A.ClipRect$($content._readLocal$0(), B.Clip_1, _null), _null);
      } else
        throw A.wrapException(A.Exception_Exception("Expected a non-null node for this table column, but node == null."));
      $content.__late_helper$_value = A.SizedBox$(new A.Align(t1._alignmentFor$1(column), _null, _null, $content._readLocal$0(), _null), _null, columnWidth);
      return $content._readLocal$0();
    },
    $signature() {
      return this.$this.$ti._eval$1("Widget(ColumnData<1>,double)");
    }
  };
  A._TableRowState_tableRowFor_columnFor_closure.prototype = {
    call$0() {
      var direction,
        t1 = this.$this,
        t2 = this.column,
        t3 = t1._widget,
        t4 = t3.secondarySortColumn;
      if (t2.title === t3.sortColumn.title) {
        t3 = t3.sortDirection;
        t3.toString;
        direction = t3 === B.SortDirection_0 ? B.SortDirection_1 : B.SortDirection_0;
      } else
        direction = t2.get$numeric() ? B.SortDirection_1 : B.SortDirection_0;
      t1._widget.onSortChanged.call$3$secondarySortColumn(t2, direction, t4);
      return null;
    },
    $signature: 0
  };
  A._TableRowState_tableRowFor_closure.prototype = {
    call$2(context, i) {
      var t1, t2, _this = this;
      switch (_this.rowDisplayParts[i].index) {
        case 0:
          t1 = _this._box_0.columnIndexTracker++;
          t2 = _this.$this._widget;
          return _this.columnFor.call$2(t2.columns[t1], J.$index$asx(t2.columnWidths, t1));
        case 1:
          return B.SizedBox_16_null_null_null;
        case 2:
          return B._ColumnGroupSpacer_null;
      }
    },
    $signature: 47
  };
  A._ColumnGroupHeaderRow.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.groups;
      return new A.Padding(B.EdgeInsets_16_0_16_0, A.ListView$builder(this.scrollController, new A._ColumnGroupHeaderRow_build_closure(this), t1.get$length(t1).$add(0, Math.max(0, t1.get$length(t1) - 1)), _null, _null, _null, B.Axis_0, false), _null);
    }
  };
  A._ColumnGroupHeaderRow_build_closure.prototype = {
    call$2(context, i) {
      var t1, group, groupRange, j, t2, groupWidth, _null = null;
      if (B.JSInt_methods.$mod(i, 2) === 1)
        return B._ColumnGroupSpacer_null;
      t1 = this.$this;
      group = t1.groups.$index(0, B.JSInt_methods._tdivFast$1(i, 2));
      groupRange = group.get$range();
      for (j = groupRange.get$begin(), t1 = t1.columnWidths, t2 = J.getInterceptor$asx(t1), groupWidth = 0; j.$lt(0, groupRange.get$end(groupRange)); j = j.$add(0, 1)) {
        groupWidth += t2.$index(t1, j);
        if (j.$lt(0, groupRange.get$end(groupRange).$sub(0, 1)))
          groupWidth += 16;
      }
      t1 = A.Theme_of(context);
      return A.Container$(B.Alignment_0_0, A.Text$(group.get$title(group), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, new A.BorderSide(t1.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, groupWidth);
    },
    $signature: 670
  };
  A._ColumnGroupSpacer.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(_null, A.Container$(_null, _null, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, _null, _null, _null, new A.LinearGradient(B.Alignment_m1_0, B.Alignment_1_0, B.TileMode_0, A._setArrayType([B.Color_4278190080, A.Theme_of(context).focusColor, B.Color_4278190080], type$.JSArray_Color), _null, _null), _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, 4), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_32_0_32_0, _null, _null, _null);
    }
  };
  A._TableRowType.prototype = {
    toString$0(_) {
      return "_TableRowType." + this._core$_name;
    }
  };
  A._TableRowPartDisplayType.prototype = {
    toString$0(_) {
      return "_TableRowPartDisplayType." + this._core$_name;
    }
  };
  A._TreeTableState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._TreeTableState_State_TickerProviderStateMixin_TreeMixin.prototype = {};
  A._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$_TreeTableState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.__TableRowState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController = t1;
      t1 = A.CurvedAnimation$(B.Cubic_oKc, t1, _null);
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve = t1;
      t2 = type$.Tween_double;
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation = new A._AnimatedEvaluation(t1, new A.Tween(0.75, 1, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (_this._widget.isExpanded) {
        t1 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 1);
      }
    },
    dispose$0() {
      var t1 = this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__TableRowState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(_this.$ti._eval$1("TableRow<1>")._as(oldWidget));
      t1 = _this._widget.isExpanded;
      t2 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.forward$0(0);
      } else {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.reverse$0(0);
      }
    }
  };
  A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$dispose();
    }
  };
  A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin.prototype = {};
  A.__TableState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.ColumnData.prototype = {
    getNodeIndentPx$1(dataObject) {
      return 0;
    },
    get$numeric() {
      return false;
    },
    get$includeHeader() {
      return true;
    },
    compare$2(a, b) {
      var t1 = type$.Comparable_dynamic;
      return J.compareTo$1$ns(t1._as(this.getValue$1(a)), t1._as(this.getValue$1(b)));
    },
    getDisplayValue$1(dataObject) {
      var t1 = this.getValue$1(dataObject);
      t1 = t1 == null ? null : J.toString$0$(t1);
      return t1 == null ? "" : t1;
    },
    getTooltip$1(dataObject) {
      return this.getDisplayValue$1(dataObject);
    },
    getTextColor$1(dataObject) {
      return null;
    },
    toString$0(_) {
      return this.title;
    },
    get$fixedWidthPx() {
      return this.fixedWidthPx;
    },
    get$alignment() {
      return this.alignment;
    }
  };
  A.TreeColumnData.prototype = {
    getNodeIndentPx$1(dataObject) {
      return J.get$level$x(dataObject) * B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
    }
  };
  A.ColumnAlignment.prototype = {
    toString$0(_) {
      return "ColumnAlignment." + this._core$_name;
    }
  };
  A._baseTheme_closure1.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_4) && !states.contains$1(0, B.MaterialState_6))
        return B.Color_4279482877;
      return null;
    },
    $signature: 42
  };
  A._baseTheme_closure2.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_4) && !states.contains$1(0, B.MaterialState_6))
        return A.Color$fromARGB(128, 19, 185, 253);
      return null;
    },
    $signature: 42
  };
  A._baseTheme_closure0.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_4) && !states.contains$1(0, B.MaterialState_6))
        return B.Color_4279482877;
      return null;
    },
    $signature: 42
  };
  A._baseTheme_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_4) && !states.contains$1(0, B.MaterialState_6))
        return B.Color_4279482877;
      return null;
    },
    $signature: 42
  };
  A.denseAwareOutlinedButtonStyle_closure.prototype = {
    call$1(_) {
      return B.EdgeInsets_0_0_0_0;
    },
    $signature: 672
  };
  A.TreeView.prototype = {
    createState$0() {
      return new A._TreeViewState(A.Disposer$(), $, $, B._StateLifecycle_0, this.$ti._eval$1("_TreeViewState<1>"));
    }
  };
  A._TreeViewState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.addAutoDisposeListener$2(_this._widget.dataRootsListenable, _this.get$_updateTreeView());
      _this._updateTreeView$0();
    },
    _updateTreeView$0() {
      var _this = this,
        t1 = _this._widget.dataRootsListenable;
      _this.TreeMixin___TreeMixin_dataRoots = A.List_List$from(t1.get$value(t1), true, _this.$ti._precomputed1);
      _this._updateItems$0();
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, $content, _this = this, _null = null,
        t1 = _this.TreeMixin___TreeMixin_items;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.length;
      if (t1 === 0)
        return _this._emptyTreeViewBuilder$0();
      t2 = _this._widget;
      t3 = t2.itemExtent;
      t4 = t2.shrinkWrap;
      t5 = t4 ? B.ClampingScrollPhysics_null : _null;
      t6 = t2.scrollController;
      $content = A.ListView$builder(t6, new A._TreeViewState_build_closure(_this), t1, t3, t5, _null, B.Axis_1, t4);
      if (t2.includeScrollbar)
        return A.Scrollbar$($content, t6, _null, _null, true);
      return $content;
    },
    _emptyTreeViewBuilder$0() {
      var t1 = this._widget.emptyTreeViewBuilder;
      if (t1 != null)
        return t1.call$0();
      return B.SizedBox_null_null_null_null;
    },
    _onItemSelected$1(item) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this;
      var $async$_onItemSelected$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._widget.onItemExpanded == null && item.get$isExpandable())
                item._isExpanded = !item._isExpanded;
              $async$goto = 2;
              return A._asyncAwait($async$self._widget.onItemSelected.call$1(item), $async$_onItemSelected$1);
            case 2:
              // returning from await.
              $async$self._updateItems$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onItemSelected$1, $async$completer);
    },
    _onItemExpanded$1(item) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1, t2;
      var $async$_onItemExpanded$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 (item.get$isExpandable())
                item._isExpanded = !item._isExpanded;
              t1 = $async$self._widget;
              t2 = t1.onItemExpanded;
              $async$goto = t2 != null ? 2 : 4;
              break;
            case 2:
              // then
              $async$goto = 5;
              return A._asyncAwait(t2.call$1(item), $async$_onItemExpanded$1);
            case 5:
              // returning from await.
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 6;
              return A._asyncAwait(t1.onItemSelected.call$1(item), $async$_onItemExpanded$1);
            case 6:
              // returning from await.
            case 3:
              // join
              $async$self._updateItems$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onItemExpanded$1, $async$completer);
    },
    _updateItems$0() {
      this.setState$1(new A._TreeViewState__updateItems_closure(this));
    }
  };
  A._TreeViewState_build_closure.prototype = {
    call$2(context, index) {
      var item,
        t1 = this.$this,
        t2 = t1.TreeMixin___TreeMixin_items;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      item = t2[index];
      return new A._TreeViewItem(item, new A._TreeViewState_build__closure(t1, item), t1.get$_onItemSelected(), t1.get$_onItemExpanded(), null, t1.$ti._eval$1("_TreeViewItem<1>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("_TreeViewItem<1>(BuildContext,int)");
    }
  };
  A._TreeViewState_build__closure.prototype = {
    call$1(onPressed) {
      return this.$this._widget.dataDisplayProvider.call$2(this.item, onPressed);
    },
    $signature: 673
  };
  A._TreeViewState__updateItems_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.TreeMixin___TreeMixin_dataRoots;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1._widget.toString;
      t1.TreeMixin___TreeMixin_items = t1.buildFlatList$2$onTraverse(t2, null);
    },
    $signature: 0
  };
  A._TreeViewItem.prototype = {
    createState$0() {
      return new A._TreeViewItemState($, $, $, null, null, B._StateLifecycle_0, this.$ti._eval$1("_TreeViewItemState<1>"));
    },
    buildDisplay$1(arg0) {
      return this.buildDisplay.call$1(arg0);
    }
  };
  A._TreeViewItemState.prototype = {
    build$1(context) {
      var t2, t3, _this = this, _null = null,
        t1 = _this._widget.data;
      t1 = t1.get$level(t1);
      t2 = _this._widget.data._selected ? A.Theme_of(context).selectedRowColor : _null;
      if (_this._widget.data.get$isExpandable()) {
        t3 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3 = A.InkWell$(false, _null, true, A.RotationTransition$(A.Icon$(B.IconData_58195_MaterialIcons_false, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))), t3), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_onExpanded(), _null, _null, _null, _null, _null, _null);
      } else
        t3 = A.SizedBox$(_null, _null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      return new A.Padding(new A.EdgeInsets(t1 * 16, 0, 0, 0), A.Container$(_null, A.Row$(A._setArrayType([t3, A.Expanded$(_this._widget.buildDisplay$1(_this.get$_onSelected()), 1)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null), B.Clip_0, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null);
    },
    onExpandChanged$1(expanded) {
    },
    _onExpanded$0() {
      var t1 = this._widget,
        t2 = t1.data;
      t1.onItemExpanded.call$1(t2);
      this.setExpanded$1(this._widget.data._isExpanded);
    },
    _onSelected$0() {
      var t1 = this._widget,
        t2 = t1.data;
      t1.onItemSelected.call$1(t2);
      this.setExpanded$1(this._widget.data._isExpanded);
    }
  };
  A.TreeMixin.prototype = {
    buildFlatList$2$onTraverse(roots, onTraverse) {
      var t1, _i,
        flatList = A._setArrayType([], A._instanceType(this)._eval$1("JSArray<1>"));
      for (t1 = roots.length, _i = 0; _i < roots.length; roots.length === t1 || (0, A.throwConcurrentModificationError)(roots), ++_i)
        this.traverse$2(roots[_i], new A.TreeMixin_buildFlatList_closure(this, onTraverse, flatList));
      return flatList;
    },
    buildFlatList$1(roots) {
      return this.buildFlatList$2$onTraverse(roots, null);
    },
    traverse$2(node, callback) {
      var t1, t2, _i;
      if (callback.call$1(node))
        for (t1 = node.children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          this.traverse$2(t1[_i], callback);
    }
  };
  A.TreeMixin_buildFlatList_closure.prototype = {
    call$1(n) {
      this.flatList.push(n);
      return n._isExpanded;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("bool(1)");
    }
  };
  A.__TreeViewItemState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController = t1;
      t1 = A.CurvedAnimation$(B.Cubic_oKc, t1, _null);
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandCurve = t1;
      t2 = type$.Tween_double;
      if (_this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation !== $)
        A.throwUnnamedLateFieldAI();
      _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandArrowAnimation = new A._AnimatedEvaluation(t1, new A.Tween(0.75, 1, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (_this._widget.data._isExpanded) {
        t1 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 1);
      }
    },
    dispose$0() {
      var t1 = this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__TreeViewItemState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(_this.$ti._eval$1("_TreeViewItem<1>")._as(oldWidget));
      t1 = _this._widget.data._isExpanded;
      t2 = _this.CollapsibleAnimationMixin___CollapsibleAnimationMixin_expandController;
      if (t1) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.forward$0(0);
      } else {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.reverse$0(0);
      }
    }
  };
  A.__TreeViewState_State_TreeMixin.prototype = {};
  A.__TreeViewState_State_TreeMixin_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.CompareMixin.prototype = {
    $lt(_, other) {
      return this.compareTo$1(0, other) < 0;
    },
    $gt(_, other) {
      return this.compareTo$1(0, other) > 0;
    }
  };
  A.issueLinkDetails_closure.prototype = {
    call$1(key) {
      return key + ": " + A.S(this.deviceDescriptionMap.$index(0, key));
    },
    $signature: 15
  };
  A.ProvidedControllerMixin.prototype = {
    initController$0() {
      var newController, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      newController = A.Provider_of(t1, true, A._instanceType(_this)._eval$1("ProvidedControllerMixin.T"));
      if (J.$eq$(newController, _this.ProvidedControllerMixin__controller))
        return false;
      _this.ProvidedControllerMixin__controller = newController;
      return true;
    }
  };
  A.FlutterVersion.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (!(other instanceof A.FlutterVersion))
        return false;
      return _this.version == other.version && _this.channel == other.channel && _this.repositoryUrl == other.repositoryUrl && _this.frameworkRevision == other.frameworkRevision && _this.frameworkCommitDate == other.frameworkCommitDate && _this.engineRevision == other.engineRevision && _this.dartSdkVersion == other.dartSdkVersion;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.version, _this.channel, _this.repositoryUrl, _this.frameworkRevision, _this.frameworkCommitDate, _this.engineRevision, _this.dartSdkVersion, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.SemanticVersion.prototype = {
    get$isPreRelease() {
      return this.preReleaseMajor != null || this.preReleaseMinor != null;
    },
    compareTo$1(_, other) {
      var t1, t2, _this = this;
      if (_this.major === other.get$major())
        if (_this.minor === other.get$minor())
          if (_this.patch === other.get$patch()) {
            t1 = _this.preReleaseMajor;
            if (t1 == null)
              t1 = 0;
            t2 = other.get$preReleaseMajor();
            if (t1 === (t2 == null ? 0 : t2)) {
              t1 = _this.preReleaseMinor;
              if (t1 == null)
                t1 = 0;
              t2 = other.get$preReleaseMinor();
              t1 = t1 === (t2 == null ? 0 : t2);
            } else
              t1 = false;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return 0;
      if (!(_this.major > other.get$major()))
        if (!(_this.major === other.get$major() && _this.minor > other.get$minor()))
          t1 = _this.major === other.get$major() && _this.minor === other.get$minor() && _this.patch > other.get$patch();
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return 1;
      if (_this.major === other.get$major() && _this.minor === other.get$minor() && _this.patch === other.get$patch()) {
        t1 = _this.preReleaseMajor != null || _this.preReleaseMinor != null;
        if (t1 !== other.get$isPreRelease())
          return _this.preReleaseMajor != null || _this.preReleaseMinor != null ? -1 : 1;
        t1 = _this.preReleaseMajor;
        t1.toString;
        if (!(t1 > other.get$preReleaseMajor()))
          if (_this.preReleaseMajor == other.get$preReleaseMajor()) {
            t1 = _this.preReleaseMinor;
            if (t1 == null)
              t1 = 0;
            t2 = other.get$preReleaseMinor();
            t1 = t1 > (t2 == null ? 0 : t2);
          } else
            t1 = false;
        else
          t1 = true;
        if (t1)
          return 1;
      }
      return -1;
    },
    toString$0(_) {
      var t4, _this = this,
        t1 = A._setArrayType([B.JSArray_methods.join$1(A._setArrayType([_this.major, _this.minor, _this.patch], type$.JSArray_int), ".")], type$.JSArray_String),
        t2 = _this.preReleaseMajor,
        t3 = t2 == null;
      if (!t3 || _this.preReleaseMinor != null) {
        t4 = [];
        if (!t3)
          t4.push(t2);
        if (_this.preReleaseMajor == null && _this.preReleaseMinor != null)
          t4.push("0");
        t2 = _this.preReleaseMinor;
        if (t2 != null)
          t4.push(t2);
        t1.push(B.JSArray_methods.join$1(t4, "."));
      }
      return B.JSArray_methods.join$1(t1, "-");
    },
    $isComparable: 1,
    get$major() {
      return this.major;
    },
    get$minor() {
      return this.minor;
    },
    get$patch() {
      return this.patch;
    },
    get$preReleaseMajor() {
      return this.preReleaseMajor;
    },
    get$preReleaseMinor() {
      return this.preReleaseMinor;
    }
  };
  A.SemanticVersion_SemanticVersion$parse_closure.prototype = {
    call$1(part) {
      var t1 = A.RegExp_RegExp("\\d+", true, false).stringMatch$1(part);
      return t1 == null ? "" : t1;
    },
    $signature: 15
  };
  A.SemanticVersion_SemanticVersion$parse_closure0.prototype = {
    call$1(part) {
      return part.length === 0;
    },
    $signature: 6
  };
  A._SemanticVersion_Object_CompareMixin.prototype = {};
  A.FilterControllerMixin.prototype = {};
  A.FilterDialog.prototype = {
    createState$0() {
      return new A._FilterDialogState(A.Disposer$(), B._StateLifecycle_0, this.$ti._eval$1("_FilterDialogState<2>"));
    }
  };
  A._FilterDialogState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.controller.FilterControllerMixin_activeFilter._change_notifier$_value;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.queryFilter;
        t1 = t1 == null ? null : t1.get$query(t1);
      }
      if (t1 == null)
        t1 = "";
      t2 = $.$get$ChangeNotifier__emptyListeners();
      if (_this.___FilterDialogState_queryTextFieldController !== $)
        A.throwUnnamedLateFieldAI();
      _this.___FilterDialogState_queryTextFieldController = new A.TextEditingController(new A.TextEditingValue(t1, B.TextSelection_ke5, B.TextRange_m1_m1), t2);
    },
    dispose$0() {
      var t1 = this.___FilterDialogState_queryTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      this.super$__FilterDialogState_State_AutoDisposeMixin$dispose();
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, t7, _i, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      t2 = type$.JSArray_Widget;
      t1 = A.Row$(A._setArrayType([A.Text$("Filters", _null, _null, _null, _null, _null, A.Theme_of(t1).textTheme.titleLarge, _null, _null, _null, _null), A.TextButton$(B.MaterialIconLabel_C8U, _null, _this.get$_resetFilters(), _null)], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
      t3 = _this._widget.dialogWidth;
      t4 = A._setArrayType([], t2);
      if (_this._widget.includeQueryFilter) {
        t5 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t6 = _this.___FilterDialogState_queryTextFieldController;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        t5 = A.Container$(_null, A.TextField$(true, t6, _null, A.InputDecoration$(_null, B.OutlineInputBorder_2jN, _null, B.EdgeInsets_8_8_8_8, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, _null, "Filter query", _null, _null, _null, _null, _null, _null, _null, A.inputDecorationSuffixButton(B.IconData_57704_MaterialIcons_false, t6.get$clear(t6)), _null, _null, _null, _null, _null), _null, _null, _null, _null, _null, _null, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, t5, _null, _null, _null, _null, _null, _null);
        t6 = _this._widget.queryInstructions;
        t6.toString;
        t7 = _this._framework$_element;
        t7.toString;
        B.JSArray_methods.addAll$1(t4, A._setArrayType([t5, B.SizedBox_null_16_null_null, A.Text$(t6, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, A.Theme_of(t7).unselectedWidgetColor, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), B.SizedBox_null_16_null_null], t2));
      }
      t5 = _this._widget.toggleFilters;
      if (t5 != null)
        for (t6 = t5.length, _i = 0; _i < t5.length; t5.length === t6 || (0, A.throwConcurrentModificationError)(t5), ++_i)
          B.JSArray_methods.addAll$1(t4, A._setArrayType([new A.ToggleFilterElement(t5[_i], _null)], t2));
      t3 = A.Container$(_null, A.Column$(t4, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_16_0_16_0, _null, _null, t3);
      return A.DevToolsDialog$(A._setArrayType([new A.DialogApplyButton(new A._FilterDialogState_build_closure(_this), _null), new A.DialogCancelButton(_this._widget.onCancel, _null)], t2), t3, true, true, t1);
    },
    _resetFilters$0() {
      var t2, _i, toggleFilter,
        t1 = this.___FilterDialogState_queryTextFieldController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.super$ValueNotifier$value(0, B.TextEditingValue_cKo);
      t1 = this._widget.toggleFilters;
      if (t1 == null)
        t1 = [];
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        toggleFilter = t1[_i];
        toggleFilter.enabled.set$value(0, toggleFilter.enabledByDefault);
      }
    }
  };
  A._FilterDialogState_build_closure.prototype = {
    call$0() {
      var t4,
        t1 = this.$this,
        t2 = t1._widget,
        t3 = t2.controller;
      if (t2.includeQueryFilter) {
        t4 = t1.___FilterDialogState_queryTextFieldController;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t4._change_notifier$_value.text;
        t2 = t2.queryFilterArguments;
        t2.toString;
        t2 = A.QueryFilter_QueryFilter$parse(t4, t2);
      } else
        t2 = null;
      return t3.filterData$1(new A.Filter(t2, t1._widget.toggleFilters, t1.$ti._eval$1("Filter<1>")));
    },
    $signature: 0
  };
  A.ToggleFilterElement.prototype = {
    build$1(context) {
      var _null = null,
        t1 = this.filter,
        $content = A.InkWell$(false, _null, true, A.Row$(A._setArrayType([new A.NotifierCheckbox(t1.enabled, _null, true, _null), A.Text$(t1.name, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.ToggleFilterElement_build_closure(this), _null, _null, _null, _null, _null, _null);
      return $content;
    }
  };
  A.ToggleFilterElement_build_closure.prototype = {
    call$0() {
      var t1 = this.$this.filter.enabled,
        t2 = !t1._change_notifier$_value;
      t1.set$value(0, t2);
      return t2;
    },
    $signature: 0
  };
  A.Filter.prototype = {};
  A.ToggleFilter.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.QueryFilter.prototype = {
    get$query(_) {
      var t2, t3, t4, t5,
        t1 = A.List_List$of(this.substrings, true, type$.String);
      for (t2 = this.filterArguments, t2 = t2.get$values(t2), 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);
        if (t4.values.length !== 0) {
          t5 = t4.isNegative ? "-" : "";
          t4 = t5 + B.JSArray_methods.get$first(t4.keys) + ":" + B.JSArray_methods.join$1(t4.values, ",");
        } else
          t4 = "";
        t1.push(t4);
      }
      return B.JSString_methods.trim$0(B.JSArray_methods.join$1(t1, " "));
    }
  };
  A.QueryFilterArgument.prototype = {
    matchesKey$1(query) {
      var t1, _i, key;
      for (t1 = this.keys, _i = 0; _i < 2; ++_i) {
        key = t1[_i];
        if (B.JSString_methods.startsWith$1(query, key + ":") || B.JSString_methods.startsWith$1(query, "-" + key + ":"))
          return true;
      }
      return false;
    },
    matchesValue$1(dataValue) {
      var matches, _i,
        t1 = this.values,
        t2 = t1.length;
      if (t2 === 0)
        return true;
      if (dataValue == null)
        return this.isNegative;
      for (matches = false, _i = 0; _i < t2; ++_i) {
        matches = dataValue === t1[_i].toLowerCase();
        if (matches)
          break;
      }
      return this.isNegative ? !matches : matches;
    },
    get$keys(receiver) {
      return this.keys;
    },
    get$values(receiver) {
      return this.values;
    }
  };
  A.__FilterDialogState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.GtagEvent.prototype = {};
  A.GtagException.prototype = {};
  A.HoverCardPosition.prototype = {
    toString$0(_) {
      return "HoverCardPosition." + this._core$_name;
    }
  };
  A.HoverCardData.prototype = {};
  A.HoverCard.prototype = {
    HoverCard$6$contents$context$maxCardHeight$position$title$width(contents, context, position, title, width, _box_0) {
      var result, colorScheme, t1, t2, _null = null;
      if (_box_0.maxCardHeight == null)
        _box_0.maxCardHeight = B.JSNumber_methods.roundToDouble$0(250 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      result = context.findAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      colorScheme = A.Theme_of(context).colorScheme;
      t1 = A.Theme_of(context);
      t2 = colorScheme.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
      t2 = A.OverlayEntry$(new A.HoverCard_closure(_box_0, this, position, colorScheme, t1.focusColor, width, title, A.TextStyle$(_null, _null, t2, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(15 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), contents), false, false);
      this.__HoverCard__overlayEntry = t2;
      result.insert$1(0, t2);
    },
    remove$0(_) {
      var t1;
      if (!this._isRemoved) {
        t1 = this.__HoverCard__overlayEntry;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.remove$0(0);
      }
      this._isRemoved = true;
    }
  };
  A.HoverCard_closure.prototype = {
    call$1(context) {
      var _this = this, _null = null,
        t1 = _this.position,
        t2 = _this.$this,
        t3 = _this.colorScheme,
        t4 = A.DevToolsColorScheme_get_defaultBackgroundColor(t3),
        t5 = A.Border_Border$all(_this.focusColor, 2),
        t6 = A.BorderRadius$circular(4),
        t7 = _this.width,
        t8 = type$.JSArray_Widget,
        t9 = A._setArrayType([], t8),
        t10 = _this.title;
      if (t10 != null) {
        t10 = A.Container$(_null, A.Text$(t10, _null, _null, B.TextOverflow_2, _null, _null, _this.hoverHeading, B.TextAlign_2, _null, _null, _null), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t7);
        t3 = t3.brightness === B.Brightness_1 ? B.Color_4278190080 : B.Color_4290493371;
        B.JSArray_methods.addAll$1(t9, A._setArrayType([t10, A.Divider$(A.TextStyle$(_null, _null, t3, _null, B.TextDecoration_0, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(11.5 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, B.FontWeight_3, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null).color, _null)], t8));
      }
      t3 = _this._box_0.maxCardHeight;
      t3.toString;
      t9.push(A.SingleChildScrollView$(A.Container$(_null, _this.contents, B.Clip_0, _null, new A.BoxConstraints(0, 1 / 0, 0, t3), _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, B.DragStartBehavior_1, _null, _null, false, B.Axis_1));
      return A.Positioned$(_null, A.MouseRegion$(A.Container$(_null, A.Column$(t9, B.CrossAxisAlignment_0, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, _null, _null, new A.BoxDecoration(t4, _null, t5, t6, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, B.EdgeInsets_8_8_8_8, _null, _null, t7), B.C__DeferringMouseCursor, _null, new A.HoverCard__closure(t2), new A.HoverCard__closure0(t2), _null), _null, _null, t1._dx, _null, t1._dy, _null);
    },
    $signature: 159
  };
  A.HoverCard__closure0.prototype = {
    call$1(_) {
      this.$this.remove$0(0);
    },
    $signature: 34
  };
  A.HoverCard__closure.prototype = {
    call$1(_) {
      this.$this._hasMouseEntered = true;
    },
    $signature: 49
  };
  A.HoverCardTooltip.prototype = {
    createState$0() {
      return new A._HoverCardTooltipState(B._StateLifecycle_0);
    },
    enabled$0($receiver) {
      return this.enabled.call$0();
    },
    onHover$1(arg0) {
      return this.onHover.call$1(arg0);
    }
  };
  A._HoverCardTooltipState.prototype = {
    _onHoverExit$0() {
      var t1 = this._hover$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._removeTimer = A.Timer_Timer(B.Duration_500000, new A._HoverCardTooltipState__onHoverExit_closure(this));
    },
    _onHover$1($event) {
      var _this = this,
        t1 = _this._hover$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._hover$_showTimer = null;
      t1 = _this._removeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._removeTimer = null;
      if (!_this._widget.enabled$0(0))
        return;
      _this._hover$_showTimer = A.Timer_Timer(B.Duration_500000, new A._HoverCardTooltipState__onHover_closure(_this, $event));
    },
    dispose$0() {
      var _this = this,
        t1 = _this._hover$_showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._removeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this._hoverCard;
      if (t1 != null)
        t1.remove$0(0);
      _this._widget.toString;
      _this.super$State$dispose();
    },
    build$1(context) {
      return A.MouseRegion$(this._widget.child, B.C__DeferringMouseCursor, null, null, new A._HoverCardTooltipState_build_closure(this), this.get$_onHover());
    }
  };
  A._HoverCardTooltipState__onHoverExit_closure.prototype = {
    call$0() {
      var t1 = this.$this._hoverCard;
      if (t1 != null)
        if (!t1._hasMouseEntered)
          t1.remove$0(0);
    },
    $signature: 0
  };
  A._HoverCardTooltipState__onHover_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, hoverCardData, t3, t4, t5, t6, t7, result, overlayBox, box, t8, offset, 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
              t1 = $async$self.$this;
              t2 = t1._hoverCard;
              if (t2 != null)
                t2.remove$0(0);
              t1._hoverCard = null;
              t2 = $async$self.event;
              $async$goto = 3;
              return A._asyncAwait(t1._widget.onHover$1(t2), $async$call$0);
            case 3:
              // returning from await.
              hoverCardData = $async$result;
              t3 = t1._framework$_element;
              if (t3 == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              t4 = hoverCardData.position;
              t5 = hoverCardData.title;
              t6 = hoverCardData.contents;
              t7 = hoverCardData.width;
              if (t4 === B.HoverCardPosition_0)
                t1._hoverCard = A.HoverCard$fromHoverEvent(t6, t3, t2, t5, t7);
              else {
                result = t3.findAncestorStateOfType$1$0(type$.OverlayState);
                t2 = type$.RenderBox;
                overlayBox = t2._as(result._framework$_element.get$renderObject());
                box = t2._as(t1._framework$_element.get$renderObject());
                t2 = overlayBox._box$_size;
                t4 = t2._dx;
                t2 = t2._dy;
                t8 = box._box$_size.bottomCenter$1(B.Offset_0_0);
                offset = A.MatrixUtils_transformPoint(box.getTransformTo$1(0, overlayBox), new A.Offset(t8._dx + -t7 / 2, t8._dy + 10));
                t1._hoverCard = A.HoverCard$(t6, t3, new A.Offset(B.JSNumber_methods.clamp$2(offset._dx, 16, t4 - 16 - t7), B.JSNumber_methods.clamp$2(offset._dy, 16, t2 - 16)), t5, t7);
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._HoverCardTooltipState_build_closure.prototype = {
    call$1(_) {
      return this.$this._onHoverExit$0();
    },
    $signature: 34
  };
  A.CustomIcon.prototype = {
    build$1(context) {
      var t3, _null = null,
        t1 = this.kind.icon,
        t2 = t1._icons$_width;
      if (t2 == null)
        t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t3 = t1._icons$_height;
      if (t3 == null)
        t3 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Container$(_null, new A.Stack(B.AlignmentDirectional_0_0, _null, B.StackFit_0, B.Clip_1, A._setArrayType([t1, A.Text$(this.text, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, B.Color_4280491808, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(9 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null)], type$.JSArray_Widget), _null), B.Clip_0, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, t2);
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.CircleIcon.prototype = {
    build$1(context) {
      var _null = null,
        t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Container$(B.Alignment_0_0, A.Text$(this.text, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, B.Color_4280491808, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(9 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), B.TextAlign_2, _null, _null, _null), B.Clip_0, _null, _null, new A.BoxDecoration(this.color, _null, _null, _null, _null, _null, _null, B.BoxShape_1), _null, t2 - 1, _null, _null, _null, _null, _null, t1 - 1);
    }
  };
  A.CustomIconMaker.prototype = {
    getCustomIcon$2$kind(fromText, kind) {
      var text;
      if (fromText.length === 0)
        return null;
      text = fromText[0].toUpperCase();
      return this.iconCache.putIfAbsent$2(0, text + "_" + kind.name + "_false", new A.CustomIconMaker_getCustomIcon_closure(kind, text, false));
    },
    fromWidgetName$1($name) {
      var t1, t2, widgetTheme, icon;
      if ($name == null)
        return null;
      while (true) {
        t1 = $name.length === 0;
        if (!t1) {
          t2 = B.JSString_methods._codeUnitAt$1($name, 0);
          t2 = !((t2 < 48 || t2 > 57) && t2 !== 95 && t2 !== 36);
        } else
          t2 = false;
        if (!t2)
          break;
        $name = B.JSString_methods.substring$1($name, 1);
      }
      if (t1)
        return null;
      widgetTheme = A.WidgetTheme_fromName($name);
      icon = widgetTheme.iconAsset;
      if (icon != null)
        return this.iconCache.putIfAbsent$2(0, $name, new A.CustomIconMaker_fromWidgetName_closure(icon));
      return this.iconCache.putIfAbsent$2(0, $name, new A.CustomIconMaker_fromWidgetName_closure0($name[0].toUpperCase(), widgetTheme));
    }
  };
  A.CustomIconMaker_getCustomIcon_closure.prototype = {
    call$0() {
      return new A.CustomIcon(this.theKind, this.text, null);
    },
    $signature: 674
  };
  A.CustomIconMaker_fromWidgetName_closure.prototype = {
    call$0() {
      return new A.AssetImageIcon(this.icon, null, null, null);
    },
    $signature: 675
  };
  A.CustomIconMaker_fromWidgetName_closure0.prototype = {
    call$0() {
      return new A.CircleIcon(this.text, this.widgetTheme.color, null);
    },
    $signature: 676
  };
  A.IconKind.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.ColorIcon.prototype = {
    build$1(context) {
      var _null = null;
      return A.CustomPaint$(_null, _null, _null, new A._ColorIconPainter(this.color, A.Theme_of(context).colorScheme, _null), new A.Size(B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14))));
    }
  };
  A.ColorIconMaker.prototype = {
    getCustomIcon$1(color) {
      return this.iconCache.putIfAbsent$2(0, color, new A.ColorIconMaker_getCustomIcon_closure(color));
    }
  };
  A.ColorIconMaker_getCustomIcon_closure.prototype = {
    call$0() {
      return new A.ColorIcon(this.color, null);
    },
    $signature: 677
  };
  A._ColorIconPainter.prototype = {
    paint$2(canvas, size) {
      var t2, t3, t4, t5, iconRect, t6, t7,
        t1 = $.$get$useCanvasKit(),
        greyPaint = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      greyPaint.set$color(0, B.Color_4286611584);
      t2 = size._dx;
      t3 = t2 - 1;
      t4 = size._dy;
      t5 = t4 - 1;
      iconRect = new A.Rect(1, 1, t3, t5);
      t6 = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t7 = this.colorScheme.brightness === B.Brightness_1;
      t6.set$color(0, t7 ? B.Color_4294967295 : B.Color_4278190080);
      canvas.drawRect$2(new A.Rect(1, 1, t3, t5), t6);
      t2 *= 0.5;
      t4 *= 0.5;
      canvas.drawRect$2(new A.Rect(1, 1, t2, t4), greyPaint);
      canvas.drawRect$2(new A.Rect(t2, t4, t3, t5), greyPaint);
      t2 = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t2.set$color(0, this.color);
      canvas.drawRect$2(iconRect, t2);
      t1 = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t1.set$style(0, B.PaintingStyle_1);
      t1.set$color(0, t7 ? B.Color_4278190080 : B.Color_4290493371);
      canvas.drawRect$2(iconRect, t1);
    },
    shouldRepaint$1(oldDelegate) {
      if (oldDelegate instanceof A._ColorIconPainter)
        return oldDelegate.colorScheme.brightness === B.Brightness_1 !== (this.colorScheme.brightness === B.Brightness_1);
      return true;
    }
  };
  A.AssetImageIcon.prototype = {
    build$1(context) {
      var t2,
        t1 = this._icons$_height;
      if (t1 == null)
        t1 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t2 = this._icons$_width;
      if (t2 == null)
        t2 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      return A.Image$(B.BoxFit_0, t1, new A.AssetImage(this.asset, null, null), t2);
    }
  };
  A.ThemedImageIcon.prototype = {
    build$1(context) {
      var t1 = A.Theme_of(context).colorScheme.brightness === B.Brightness_0 ? this.darkModeAsset : this.lightModeAsset;
      return A.Image$(null, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), new A.AssetImage(t1, null, null), B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
    }
  };
  A.ImageIconLabel.prototype = {
    build$1(context) {
      var _null = null,
        t1 = A._setArrayType([this.icon], type$.JSArray_Widget);
      if (A.includeText(context, this.unscaledMinIncludeTextWidth))
        t1.push(new A.Padding(B.EdgeInsets_8_0_0_0, A.Text$(this.text, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null);
    }
  };
  A.MaterialIconLabel.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.iconData;
      if (t1 != null)
        t1 = A.Icon$(t1, _this.color, B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)));
      else {
        t1 = _this.imageIcon;
        t1.toString;
      }
      t1 = A._setArrayType([t1], type$.JSArray_Widget);
      if (A.includeText(context, _this.minScreenWidthForTextBeforeScaling))
        t1.push(new A.Padding(B.EdgeInsets_8_0_0_0, A.Text$(_this.label, _null, _null, _null, _null, _null, A.TextStyle$(_null, _null, _this.color, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, _null, _null), _null));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
    }
  };
  A.SearchControllerMixin.prototype = {
    set$search(_, value) {
      var t1 = this.SearchControllerMixin__searchNotifier,
        previousSearchValue = t1._change_notifier$_value,
        shouldSearchPreviousMatches = previousSearchValue.length !== 0 && A.StringExtension_caseInsensitiveContains(value, previousSearchValue);
      t1.set$value(0, value);
      this.refreshSearchMatches$1$searchPreviousMatches(shouldSearchPreviousMatches);
    },
    get$debounceDelay() {
      return null;
    },
    refreshSearchMatches$1$searchPreviousMatches(searchPreviousMatches) {
      var t2, _this = this,
        t1 = _this.SearchControllerMixin__searchNotifier;
      if (J.get$length$asx(t1._change_notifier$_value) !== 0) {
        t2 = _this.get$debounceDelay();
        t1 = t1._change_notifier$_value;
        if (t2 != null)
          _this._startDebounceTimer$2$searchPreviousMatches(t1, searchPreviousMatches);
        else
          _this._updateMatches$1(_this.matchesForSearch$2$searchPreviousMatches(t1, searchPreviousMatches));
      } else
        _this._updateMatches$1(A._setArrayType([], A._instanceType(_this)._eval$1("JSArray<SearchControllerMixin.T>")));
    },
    refreshSearchMatches$0() {
      return this.refreshSearchMatches$1$searchPreviousMatches(false);
    },
    _startDebounceTimer$2$searchPreviousMatches(search, searchPreviousMatches) {
      var t1, _this = this;
      _this.SearchControllerMixin__searchInProgress.set$value(0, true);
      t1 = _this.SearchControllerMixin__searchDebounce;
      t1 = t1 == null ? null : t1.get$isActive();
      if (t1 === true)
        _this.SearchControllerMixin__searchDebounce.cancel$0(0);
      if (search.length === 0)
        t1 = B.Duration_0;
      else {
        t1 = _this.get$debounceDelay();
        t1.toString;
      }
      _this.SearchControllerMixin__searchDebounce = A.Timer_Timer(t1, new A.SearchControllerMixin__startDebounceTimer_closure(_this, searchPreviousMatches));
    },
    _updateMatches$1(matches) {
      var t1, t2, t3, _this = this;
      for (t1 = _this.SearchControllerMixin__searchMatches, t2 = J.get$iterator$ax(t1._change_notifier$_value); t2.moveNext$0();)
        t2.get$current(t2).DataSearchStateMixin_isSearchMatch = false;
      for (t2 = J.getInterceptor$ax(matches), t3 = t2.get$iterator(matches); t3.moveNext$0();)
        t3.get$current(t3).DataSearchStateMixin_isSearchMatch = true;
      if (t2.get$isEmpty(matches))
        _this.SearchControllerMixin_matchIndex.set$value(0, 0);
      if (t2.get$isNotEmpty(matches) && J.$eq$(_this.SearchControllerMixin_matchIndex._change_notifier$_value, 0))
        _this.SearchControllerMixin_matchIndex.set$value(0, 1);
      t1.set$value(0, matches);
      _this._updateActiveSearchMatch$0();
    },
    previousMatch$0() {
      var t1 = this.SearchControllerMixin_matchIndex,
        previousMatchIndex = t1._change_notifier$_value - 1;
      t1.set$value(0, previousMatchIndex < 1 ? J.get$length$asx(this.SearchControllerMixin__searchMatches._change_notifier$_value) : previousMatchIndex);
      this._updateActiveSearchMatch$0();
    },
    nextMatch$0() {
      var t1 = this.SearchControllerMixin_matchIndex,
        nextMatchIndex = t1._change_notifier$_value + 1;
      t1.set$value(0, nextMatchIndex > J.get$length$asx(this.SearchControllerMixin__searchMatches._change_notifier$_value) ? 1 : nextMatchIndex);
      this._updateActiveSearchMatch$0();
    },
    _updateActiveSearchMatch$0() {
      var t2, t3, _this = this,
        t1 = _this.SearchControllerMixin_matchIndex,
        activeMatchIndex = t1._change_notifier$_value - 1;
      if (activeMatchIndex < 0) {
        t1 = _this.SearchControllerMixin__activeSearchMatch;
        t2 = t1._change_notifier$_value;
        if (t2 != null)
          t2.DataSearchStateMixin_isActiveSearchMatch = false;
        t1.set$value(0, null);
        return;
      }
      t2 = _this.SearchControllerMixin__searchMatches;
      if (J.get$isNotEmpty$asx(t2._change_notifier$_value) && activeMatchIndex >= J.get$length$asx(t2._change_notifier$_value)) {
        t1.set$value(0, 1);
        activeMatchIndex = 0;
      }
      t1 = _this.SearchControllerMixin__activeSearchMatch;
      t3 = t1._change_notifier$_value;
      if (t3 != null)
        t3.DataSearchStateMixin_isActiveSearchMatch = false;
      t2 = J.$index$asx(t2._change_notifier$_value, activeMatchIndex);
      t2.DataSearchStateMixin_isActiveSearchMatch = true;
      t1.set$value(0, t2);
      _this.onMatchChanged$1(activeMatchIndex);
    },
    matchesForSearch$2$searchPreviousMatches(search, searchPreviousMatches) {
      return A._setArrayType([], A._instanceType(this)._eval$1("JSArray<SearchControllerMixin.T>"));
    },
    onMatchChanged$1(index) {
    },
    disposeSearch$0() {
      var t1 = this.SearchControllerMixin__searchOperation;
      if (t1 != null)
        t1._cancelable_operation$_completer._cancelable_operation$_cancel$0();
      t1 = this.SearchControllerMixin__searchDebounce;
      t1 = t1 == null ? null : t1.get$isActive();
      if (t1 === true)
        this.SearchControllerMixin__searchDebounce.cancel$0(0);
    }
  };
  A.SearchControllerMixin__startDebounceTimer_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$self = this, e, t1, exception, t2, $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.SearchControllerMixin__searchOperation;
              $async$goto = 6;
              return A._asyncAwait(t1 == null ? null : t1._cancelable_operation$_completer._cancelable_operation$_cancel$0(), $async$call$0);
            case 6:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e = A.unwrapException($async$exception);
              A.log(e, B.LogLevel_2);
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              t1 = $async$self.$this;
              t2 = t1.SearchControllerMixin__searchInProgress;
              t2.set$value(0, true);
              t1 = t1.SearchControllerMixin__searchOperation = A.CancelableOperation_CancelableOperation$fromFuture(A.Future_Future(new A.SearchControllerMixin__startDebounceTimer__closure(t1, $async$self.searchPreviousMatches), A._instanceType(t1)._eval$1("List<SearchControllerMixin.T>")).then$1$1(new A.SearchControllerMixin__startDebounceTimer__closure0(t1), type$.Null), type$.void);
              $async$goto = 7;
              return A._asyncAwait(t1.get$value(t1), $async$call$0);
            case 7:
              // returning from await.
              t2.set$value(0, false);
              // 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: 2
  };
  A.SearchControllerMixin__startDebounceTimer__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.matchesForSearch$2$searchPreviousMatches(t1.SearchControllerMixin__searchNotifier._change_notifier$_value, this.searchPreviousMatches);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("List<SearchControllerMixin.T>()");
    }
  };
  A.SearchControllerMixin__startDebounceTimer__closure0.prototype = {
    call$1(matches) {
      var t1 = this.$this;
      t1.SearchControllerMixin__searchInProgress.set$value(0, false);
      t1._updateMatches$1(matches);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(List<SearchControllerMixin.T>)");
    }
  };
  A.AutoComplete.prototype = {
    createState$0() {
      return new A.AutoCompleteState(A.Disposer$(), B._StateLifecycle_0);
    }
  };
  A.AutoCompleteState.prototype = {
    didChangeDependencies$0() {
      var t1, controller, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element._widget;
      t1.toString;
      type$.AutoComplete._as(t1);
      controller = t1.controller;
      _this.addAutoDisposeListener$2(controller.AutoCompleteSearchControllerMixin_searchAutoComplete, new A.AutoCompleteState_didChangeDependencies_closure(_this, controller, t1.searchFieldKey, t1.onTap, t1.isBottom, t1.isMaxWidth));
    },
    build$1(context) {
      var controller, bottom, searchAutoComplete, t2, t3, autoCompleteTextStyle, autoCompleteHighlightedTextStyle, tileContents, textPainter, tileEntryHeight, box, totalTiles, autoCompleteTiles, count, index, textSpan, t4, yCoord, xCoord, _null = null,
        t1 = context._widget;
      t1.toString;
      type$.AutoComplete._as(t1);
      controller = t1.controller;
      bottom = t1.isBottom;
      searchAutoComplete = controller.AutoCompleteSearchControllerMixin_searchAutoComplete;
      t2 = A.Theme_of(context);
      t3 = A.TextStyle$(_null, _null, A.Theme_of(context).textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t2 = t2.colorScheme.brightness === B.Brightness_1;
      autoCompleteTextStyle = t3.copyWith$1$color(t2 ? B.Color_4278190080 : B.Color_4294967295);
      autoCompleteHighlightedTextStyle = A.TextStyle$(_null, _null, A.Theme_of(context).textTheme.bodyMedium.color, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null).copyWith$2$color$fontWeight(B.MaterialColor_Map_JNwaj_4280391411, B.FontWeight_6);
      tileContents = J.map$1$1$ax(searchAutoComplete._change_notifier$_value, new A.AutoCompleteState_build_closure(this, autoCompleteTextStyle, autoCompleteHighlightedTextStyle), type$.TextSpan).toList$0(0);
      if (tileContents.length === 0)
        return B.SizedBox_0_0_null_null;
      t3 = B.JSArray_methods.get$first(tileContents);
      textPainter = A.TextPainter$(_null, _null, _null, _null, t3, B.TextAlign_0, B.TextDirection_1, _null, 1, B.TextWidthBasis_0);
      textPainter.layout$0();
      t3 = textPainter._paragraph;
      tileEntryHeight = Math.ceil(t3.get$height(t3)) + 8;
      box = type$.RenderBox._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1.searchFieldKey).get$renderObject());
      t3 = (A.MatrixUtils_transformPoint(box.getTransformTo$1(0, _null), B.Offset_0_0)._dy - tileEntryHeight) / tileEntryHeight;
      $.topMatchesLimit = B.JSNumber_methods.toInt$0(Math.min(10, t3 - 1));
      if (bottom)
        totalTiles = J.get$length$asx(searchAutoComplete._change_notifier$_value);
      else
        totalTiles = t3 < 0 ? Math.ceil(t3) : Math.floor(t3);
      autoCompleteTiles = A._setArrayType([], type$.JSArray_AutoCompleteTile);
      count = Math.min(J.get$length$asx(searchAutoComplete._change_notifier$_value), totalTiles);
      for (t3 = t1.onTap, index = 0; index < count; ++index) {
        textSpan = tileContents[index];
        t4 = t2 ? B.Color_4292927712 : B.Color_4284572001;
        autoCompleteTiles.push(new A.AutoCompleteTile(textSpan, index, controller, t3, t4, t2 ? B.Color_4294638330 : B.Color_4281348144, _null));
      }
      yCoord = bottom ? 0 : -(count * tileEntryHeight + box._box$_size._dy + 1);
      xCoord = controller.SearchControllerMixin_xPosition;
      t2 = $.$get$searchAutoCompleteKey();
      t1 = t1.isMaxWidth ? box._box$_size._dx : 300;
      t3 = bottom ? _null : count * tileEntryHeight;
      return A.Positioned$(_null, A.CompositedTransformFollower$(A.Material$(B.Duration_200000, true, _null, A.ListView$(autoCompleteTiles, _null, tileEntryHeight, B.EdgeInsets_0_0_0_0, _null, _null, true), B.Clip_0, _null, 4, _null, _null, _null, _null, _null, B.MaterialType_0), controller.AutoCompleteSearchControllerMixin_autoCompleteLayerLink, new A.Offset(xCoord, yCoord), false, B.Alignment_m1_1), t3, t2, _null, _null, _null, t1);
    },
    _maybeHighlightMatchText$3(match, regularTextStyle, highlightedTextStyle) {
      return match.transformAutoCompleteMatch$1$3$combineSegments$transformMatchedSegment$transformUnmatchedSegment(new A.AutoCompleteState__maybeHighlightMatchText_closure(), new A.AutoCompleteState__maybeHighlightMatchText_closure0(highlightedTextStyle), new A.AutoCompleteState__maybeHighlightMatchText_closure1(regularTextStyle), type$.TextSpan);
    }
  };
  A.AutoCompleteState_didChangeDependencies_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this._framework$_element;
      t1.toString;
      _this.controller.handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(_this.bottom, t1, _this.isMaxWidth, _this.onTap, _this.searchFieldKey);
    },
    $signature: 0
  };
  A.AutoCompleteState_build_closure.prototype = {
    call$1(match) {
      return this.$this._maybeHighlightMatchText$3(match, this.autoCompleteTextStyle, this.autoCompleteHighlightedTextStyle);
    },
    $signature: 678
  };
  A.AutoCompleteState__maybeHighlightMatchText_closure0.prototype = {
    call$1(segment) {
      return A.TextSpan$(null, null, null, this.highlightedTextStyle, segment);
    },
    $signature: 298
  };
  A.AutoCompleteState__maybeHighlightMatchText_closure1.prototype = {
    call$1(segment) {
      return A.TextSpan$(null, null, null, this.regularTextStyle, segment);
    },
    $signature: 298
  };
  A.AutoCompleteState__maybeHighlightMatchText_closure.prototype = {
    call$1(segments) {
      var t1 = B.JSArray_methods.get$first(segments).text,
        t2 = B.JSArray_methods.get$first(segments).style;
      return A.TextSpan$(B.JSArray_methods.sublist$1(segments, 1), null, null, t2, t1);
    },
    $signature: 680
  };
  A.AutoCompleteTile.prototype = {
    build$1(context) {
      var _this = this, _null = null;
      return A.MouseRegion$(A.GestureDetector$(_null, new A.ValueListenableBuilder(_this.controller.AutoCompleteSearchControllerMixin__currentHoveredIndex, new A.AutoCompleteTile_build_closure(_this), _null, _null, type$.ValueListenableBuilder_int), B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.AutoCompleteTile_build_closure0(_this), _null, _null, _null, _null, _null, _null), B.SystemMouseCursor_click, _null, _null, _null, new A.AutoCompleteTile_build_closure1(_this));
    }
  };
  A.AutoCompleteTile_build_closure1.prototype = {
    call$1(_) {
      var t1 = this.$this;
      t1.controller.AutoCompleteSearchControllerMixin__currentHoveredIndex.set$value(0, t1.index);
    },
    $signature: 67
  };
  A.AutoCompleteTile_build_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        selected = t1.textSpan.toPlainText$0(),
        t2 = t1.controller;
      t2.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, true);
      t2.set$search(0, selected);
      t1.onTap.call$1(selected);
    },
    $signature: 0
  };
  A.AutoCompleteTile_build_closure.prototype = {
    call$3(context, currentHoveredIndex, _) {
      var _null = null,
        t1 = this.$this,
        t2 = J.$eq$(currentHoveredIndex, t1.index) ? t1.highlightColor : t1.defaultColor;
      return A.Container$(B.Alignment_m1_0, A.Text$rich(t1.textSpan, 1, _null, _null, _null), B.Clip_0, t2, _null, _null, _null, _null, _null, _null, B.EdgeInsets_8_0_8_0, _null, _null, _null);
    },
    $signature: 681
  };
  A.EditingParts.prototype = {};
  A.AutoCompleteSearchControllerMixin.prototype = {
    updateCurrentSuggestion$1(activeWord) {
      var _this = this,
        t1 = _this.AutoCompleteSearchControllerMixin_searchAutoComplete,
        hoveredText = J.get$isNotEmpty$asx(t1._change_notifier$_value) ? J.$index$asx(t1._change_notifier$_value, _this.AutoCompleteSearchControllerMixin__currentHoveredIndex._change_notifier$_value).text : null,
        suggestion = hoveredText == null ? null : B.JSString_methods.substring$1(hoveredText, Math.min(activeWord.length, hoveredText.length));
      if (suggestion == null || suggestion.length === 0) {
        _this.AutoCompleteSearchControllerMixin__currentSuggestionNotifier.set$value(0, null);
        return;
      }
      _this.AutoCompleteSearchControllerMixin__currentSuggestionNotifier.set$value(0, suggestion);
    },
    createAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(bottom, context, maxWidth, onTap, searchFieldKey) {
      return A.OverlayEntry$(new A.AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure(this, searchFieldKey, onTap, bottom, maxWidth), false, false);
    },
    closeAutoCompleteOverlay$0() {
      var t1 = this.AutoCompleteSearchControllerMixin_autoCompleteOverlay;
      if (t1 != null)
        t1.remove$0(0);
      this.AutoCompleteSearchControllerMixin_autoCompleteOverlay = null;
    },
    handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(bottom, context, maxWidth, onTap, searchFieldKey) {
      var result, t1, _this = this;
      if (_this.AutoCompleteSearchControllerMixin_autoCompleteOverlay != null)
        _this.closeAutoCompleteOverlay$0();
      _this.AutoCompleteSearchControllerMixin_autoCompleteOverlay = _this.createAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(bottom, context, maxWidth, onTap, searchFieldKey);
      result = context.findAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      t1 = _this.AutoCompleteSearchControllerMixin_autoCompleteOverlay;
      t1.toString;
      result.insert$1(0, t1);
    },
    handleAutoCompleteOverlay$3$context$onTap$searchFieldKey(context, onTap, searchFieldKey) {
      return this.handleAutoCompleteOverlay$5$bottom$context$maxWidth$onTap$searchFieldKey(true, context, true, onTap, searchFieldKey);
    },
    $isSearchControllerMixin: 1
  };
  A.AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure.prototype = {
    call$1(context) {
      var _this = this;
      return new A.AutoComplete(_this.$this, _this.searchFieldKey, _this.onTap, _this.bottom, _this.maxWidth, null);
    },
    $signature: 682
  };
  A.SearchableMixin.prototype = {};
  A.SearchTextEditingController.prototype = {
    get$suggestionText() {
      var t2,
        t1 = this._suggestionText;
      if (t1 == null)
        return null;
      t2 = this._change_notifier$_value;
      if (t2.selection.end < t2.text.length)
        return null;
      return t1;
    },
    buildTextSpan$3$context$style$withComposing(context, style, withComposing) {
      var t1, t2, t3, _this = this, _null = null;
      if (_this.get$suggestionText() == null)
        return _this.super$TextEditingController$buildTextSpan(context, style, withComposing);
      t1 = A.TextSpan$(_null, _null, _null, _null, _this._change_notifier$_value.text);
      t2 = _this.get$suggestionText();
      A.Theme_of(context);
      t3 = style.copyWith$1$color(B.Color_4286611584);
      return A.TextSpan$(A._setArrayType([t1, A.TextSpan$(_null, _null, _null, t3, t2)], type$.JSArray_InlineSpan), _null, _null, style, _null);
    }
  };
  A.SearchFieldMixin.prototype = {
    buildAutoCompleteSearchField$13$controller$decoration$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField(controller, decoration, keyEventsToPropagate, label, onClose, onFocusLost, onSelection, overlayXPositionBuilder, searchFieldEnabled, searchFieldKey, shouldRequestFocus, style, supportClearField) {
      var t1, t2, searchField, _this = this, _null = null;
      _this.SearchFieldMixin___SearchFieldMixin__onSelection = onSelection;
      t1 = _this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      searchField = A._SearchField$(controller, decoration, label, onClose, overlayXPositionBuilder, _null, searchFieldEnabled, t1, searchFieldKey, t2, shouldRequestFocus, style, _null, false);
      t2 = _this.SearchFieldMixin___SearchFieldMixin__rawKeyboardFocusNode;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return new A._AutoCompleteSearchField(controller, searchField, t1, t2, controller.AutoCompleteSearchControllerMixin_autoCompleteLayerLink, onSelection, _null, _this.get$clearSearchField(), keyEventsToPropagate, supportClearField, onFocusLost, _null);
    },
    buildAutoCompleteSearchField$9$controller$decoration$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField(controller, decoration, onSelection, overlayXPositionBuilder, searchFieldEnabled, searchFieldKey, shouldRequestFocus, style, supportClearField) {
      return this.buildAutoCompleteSearchField$13$controller$decoration$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField(controller, decoration, B.Set_empty, "Search", null, null, onSelection, overlayXPositionBuilder, searchFieldEnabled, searchFieldKey, shouldRequestFocus, style, supportClearField);
    },
    buildAutoCompleteSearchField$9$controller$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus(controller, keyEventsToPropagate, label, onClose, onFocusLost, onSelection, searchFieldEnabled, searchFieldKey, shouldRequestFocus) {
      return this.buildAutoCompleteSearchField$13$controller$decoration$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField(controller, null, keyEventsToPropagate, label, onClose, onFocusLost, onSelection, null, searchFieldEnabled, searchFieldKey, shouldRequestFocus, null, false);
    },
    buildAutoCompleteSearchField$6$controller$onSelection$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportClearField(controller, onSelection, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportClearField) {
      return this.buildAutoCompleteSearchField$13$controller$decoration$keyEventsToPropagate$label$onClose$onFocusLost$onSelection$overlayXPositionBuilder$searchFieldEnabled$searchFieldKey$shouldRequestFocus$style$supportClearField(controller, null, B.Set_empty, "Search", null, null, onSelection, null, searchFieldEnabled, searchFieldKey, shouldRequestFocus, null, supportClearField);
    },
    buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(controller, onClose, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation) {
      var t2, _null = null,
        t1 = this.SearchFieldMixin___SearchFieldMixin__searchFieldFocusNode;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A._SearchField$(controller, _null, "Search", onClose, _null, _null, searchFieldEnabled, t1, searchFieldKey, t2, shouldRequestFocus, _null, _null, true);
    },
    buildSearchField$5$controller$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(controller, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation) {
      return this.buildSearchField$6$controller$onClose$searchFieldEnabled$searchFieldKey$shouldRequestFocus$supportsNavigation(controller, null, searchFieldEnabled, searchFieldKey, shouldRequestFocus, supportsNavigation);
    },
    clearSearchField$2$force(controller, force) {
      var t1;
      if (force || controller.SearchControllerMixin__searchNotifier._change_notifier$_value.length !== 0) {
        t1 = this.SearchFieldMixin___SearchFieldMixin_searchTextFieldController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.super$ValueNotifier$value(0, B.TextEditingValue_cKo);
        controller.SearchControllerMixin__searchNotifier.set$value(0, "");
        controller.refreshSearchMatches$0();
        if (type$.AutoCompleteSearchControllerMixin._is(controller))
          controller.closeAutoCompleteOverlay$0();
      }
    },
    clearSearchField$1(controller) {
      return this.clearSearchField$2$force(controller, false);
    }
  };
  A._SearchField.prototype = {
    build$1(context) {
      var t1, t2, t3, t4, searchField, _this = this, _null = null,
        textStyle = _this.style;
      if (textStyle == null)
        textStyle = A.Theme_of(context).textTheme.titleMedium;
      t1 = _this.searchFieldFocusNode;
      t2 = _this.decoration;
      if (t2 == null) {
        t2 = $.$get$searchFocusBorderColor();
        t3 = A.TextStyle$(_null, _null, B.MaterialColor_Map_JNwaj_4280391411, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
        t4 = _this.supportsNavigation;
        t4 = t4 || _this.onClose != null ? new A._SearchFieldSuffix(_this.controller, t4, _this.onClose, _null) : _null;
        t4 = A.InputDecoration$(_null, B.OutlineInputBorder_2jN, _null, B.EdgeInsets_8_8_8_8, _null, _null, _null, _null, true, new A.OutlineInputBorder(4, B.BorderRadius_tLn0, t2), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.OutlineInputBorder(4, B.BorderRadius_tLn0, t2), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, t3, _this.label, _null, _null, _null, _null, _null, _null, _null, t4, _null, _null, _null, _null, _null);
        t2 = t4;
      }
      searchField = A.TextField$(true, _this.searchTextFieldController, B.MaterialColor_Map_JNwaj_4280391411, t2, _this.searchFieldEnabled, t1, _null, _this.searchFieldKey, _null, new A._SearchField_build_closure(_this, textStyle), new A._SearchField_build_closure0(_this), _null, textStyle);
      if (_this.shouldRequestFocus)
        t1.requestFocus$0();
      return searchField;
    }
  };
  A._SearchField_build_closure.prototype = {
    call$1(value) {
      var t1 = this.$this,
        t2 = t1.overlayXPositionBuilder;
      if (t2 != null)
        t1.controller.SearchControllerMixin_xPosition = t2.call$2(value, this.textStyle);
      t1.controller.set$search(0, value);
    },
    $signature: 12
  };
  A._SearchField_build_closure0.prototype = {
    call$0() {
      this.$this.searchFieldFocusNode.requestFocus$0();
    },
    $signature: 0
  };
  A._AutoCompleteSearchField.prototype = {
    createState$0() {
      return new A._AutoCompleteSearchFieldState(A.Disposer$(), B._StateLifecycle_0);
    },
    onSelection$1(arg0) {
      return this.onSelection.call$1(arg0);
    },
    clearSearchField$2$force(arg0, arg1) {
      return this.clearSearchField.call$2$force(arg0, arg1);
    }
  };
  A._AutoCompleteSearchFieldState.prototype = {
    get$_highlightDropdown() {
      this._widget.toString;
      return this.get$_highlightDropdownDefault();
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this.get$_handleLostFocus();
      _this.addAutoDisposeListener$2(_this._widget.searchFieldFocusNode, t1);
      _this.addAutoDisposeListener$2(_this._widget.rawKeyboardFocusNode, t1);
      _this._widget.rawKeyboardFocusNode.onKey = _this.get$_handleKeyStrokes();
    },
    build$1(context) {
      var t1 = this._widget,
        t2 = t1.rawKeyboardFocusNode;
      return A.RawKeyboardListener$(false, new A.CompositedTransformTarget(t1.autoCompleteLayerLink, t1.searchField, null), t2, null);
    },
    _handleLostFocus$0() {
      var t1, t2;
      if (this._widget.searchFieldFocusNode.get$hasPrimaryFocus() || this._widget.rawKeyboardFocusNode.get$hasPrimaryFocus())
        return;
      t1 = this._widget;
      t2 = t1.onFocusLost;
      if (t2 != null)
        t2.call$0();
      else
        t1.controller.closeAutoCompleteOverlay$0();
    },
    _handleKeyStrokes$2(node, $event) {
      var key, t1, t2, searchToMatch, foundExact, autoCompleteList, _this = this;
      if ($event instanceof A.RawKeyDownEvent) {
        key = $event.data.get$logicalKey().keyId >>> 0;
        if (key === 27) {
          t1 = _this._widget;
          t2 = t1.controller;
          if (t2.AutoCompleteSearchControllerMixin_autoCompleteOverlay != null)
            t2.closeAutoCompleteOverlay$0();
          else if (t1.supportClearField)
            t1.clearSearchField$2$force(t2, true);
          return _this._determineKeyEventResult$2(key, _this._widget.keyEventsToPropagate);
        } else {
          t1 = _this._widget;
          t2 = t1.controller;
          if (t2.AutoCompleteSearchControllerMixin_autoCompleteOverlay != null) {
            if (key !== 13)
              if (key !== 9)
                if (key === 771) {
                  t1 = t1.searchField.searchTextFieldController._change_notifier$_value;
                  t1 = t1.text.length <= t1.selection.end;
                } else
                  t1 = false;
              else
                t1 = true;
            else
              t1 = true;
            if (t1) {
              searchToMatch = t2.SearchControllerMixin__searchNotifier._change_notifier$_value.toLowerCase();
              t1 = J.get$iterator$ax(t2.AutoCompleteSearchControllerMixin_searchAutoComplete._change_notifier$_value);
              while (true) {
                if (!t1.moveNext$0()) {
                  foundExact = null;
                  break;
                }
                foundExact = t1.get$current(t1).text;
                if (searchToMatch === foundExact.toLowerCase())
                  break;
              }
              t1 = _this._widget.controller;
              autoCompleteList = t1.AutoCompleteSearchControllerMixin_searchAutoComplete._change_notifier$_value;
              if (foundExact == null || J.$index$asx(autoCompleteList, t1.AutoCompleteSearchControllerMixin__currentHoveredIndex._change_notifier$_value).text !== foundExact) {
                t1 = J.getInterceptor$asx(autoCompleteList);
                if (t1.get$isNotEmpty(autoCompleteList))
                  foundExact = t1.$index(autoCompleteList, _this._widget.controller.AutoCompleteSearchControllerMixin__currentHoveredIndex._change_notifier$_value).text;
              }
              if (foundExact != null) {
                _this._widget.controller.AutoCompleteSearchControllerMixin_selectTheSearchNotifier.set$value(0, true);
                _this._widget.controller.set$search(0, foundExact);
                _this._widget.onSelection$1(foundExact);
                return _this._determineKeyEventResult$2(key, _this._widget.keyEventsToPropagate);
              }
            } else {
              t1 = key === 769;
              if (t1 || key === 772) {
                _this._highlightDropdown$2(t2, t1);
                return _this._determineKeyEventResult$2(key, _this._widget.keyEventsToPropagate);
              }
            }
          }
        }
        if (key === 9)
          _this._determineKeyEventResult$2(key, _this._widget.keyEventsToPropagate);
      }
      return B.KeyEventResult_1;
    },
    _determineKeyEventResult$2(keyEventId, keyEventsToPropagate) {
      return keyEventsToPropagate.any$1(0, new A._AutoCompleteSearchFieldState__determineKeyEventResult_closure(keyEventId)) ? B.KeyEventResult_1 : B.KeyEventResult_0;
    },
    _highlightDropdownDefault$2(controller, directionDown) {
      var numItems = J.get$length$asx(controller.AutoCompleteSearchControllerMixin_searchAutoComplete._change_notifier$_value) - 1,
        t1 = controller.AutoCompleteSearchControllerMixin__currentHoveredIndex,
        indexToSelect = t1._change_notifier$_value;
      if (directionDown) {
        ++indexToSelect;
        if (indexToSelect > numItems)
          indexToSelect = 0;
      } else {
        --indexToSelect;
        if (indexToSelect < 0)
          indexToSelect = numItems;
      }
      t1.set$value(0, indexToSelect);
    },
    _highlightDropdown$2(arg0, arg1) {
      return this.get$_highlightDropdown().call$2(arg0, arg1);
    }
  };
  A._AutoCompleteSearchFieldState__determineKeyEventResult_closure.prototype = {
    call$1(key) {
      return key.keyId >>> 0 === this.keyEventId;
    },
    $signature: 685
  };
  A._SearchFieldSuffix.prototype = {
    build$1(context) {
      var t1 = this.onClose;
      if (this.supportsNavigation)
        return new A.SearchNavigationControls(this.controller, t1, null);
      else
        return A.inputDecorationSuffixButton(B.IconData_57706_MaterialIcons_false, t1);
    }
  };
  A.SearchNavigationControls.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.controller.SearchControllerMixin__searchMatches, new A.SearchNavigationControls_build_closure(this), null, null, type$.ValueListenableBuilder_List_DataSearchStateMixin);
    },
    _matchesStatus$1(numMatches) {
      return new A.ValueListenableBuilder(this.controller.SearchControllerMixin_matchIndex, new A.SearchNavigationControls__matchesStatus_closure(numMatches), null, null, type$.ValueListenableBuilder_int);
    }
  };
  A.SearchNavigationControls_build_closure.prototype = {
    call$3(context, matches, _) {
      var t1 = this.$this;
      return new A.ValueListenableBuilder(t1.controller.SearchControllerMixin__searchInProgress, new A.SearchNavigationControls_build__closure(t1, J.get$length$asx(matches)), null, null, type$.ValueListenableBuilder_bool);
    },
    $signature: 686
  };
  A.SearchNavigationControls_build__closure.prototype = {
    call$3(context, isSearchInProgress, _) {
      var t4, t5, t6, _null = null,
        t1 = isSearchInProgress ? 1 : 0,
        t2 = B.JSNumber_methods.roundToDouble$0(B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)),
        t3 = B.JSNumber_methods.roundToDouble$0(B.JSNumber_methods.roundToDouble$0(12 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)) * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t1 = A.Opacity$(false, A.SizedBox$(isSearchInProgress ? new A.SmallCircularProgressIndicator(new A.AlwaysStoppedAnimation(A.Theme_of(context).textTheme.bodyMedium.color, type$.AlwaysStoppedAnimation_nullable_Color), _null) : B.SizedBox_null_null_null_null, t3, t2), t1);
      t2 = this.$this;
      t3 = this.numMatches;
      t4 = t2._matchesStatus$1(t3);
      t5 = B.JSNumber_methods.roundToDouble$0(16 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
      t5 = A.SizedBox$(A.Transform$rotate(B.Alignment_0_0, 1.5707963267948966, new A.PaddedDivider(new A.EdgeInsets(0, 4, 0, 4), _null), _null), 24, t5);
      t3 = t3 > 1;
      t6 = A.inputDecorationSuffixButton(B.IconData_58198_MaterialIcons_false, t3 ? t2.controller.get$previousMatch() : _null);
      t1 = A._setArrayType([t1, t4, t5, t6, A.inputDecorationSuffixButton(B.IconData_58195_MaterialIcons_false, t3 ? t2.controller.get$nextMatch() : _null)], type$.JSArray_Widget);
      t2 = t2.onClose;
      if (t2 != null)
        t1.push(A.inputDecorationSuffixButton(B.IconData_57706_MaterialIcons_false, t2));
      return A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_1, B.MainAxisSize_0, _null, _null);
    },
    $signature: 121
  };
  A.SearchNavigationControls__matchesStatus_closure.prototype = {
    call$3(context, index, _) {
      var _null = null;
      return new A.Padding(B.EdgeInsets_4_0_4_0, A.Text$(A.S(index) + "/" + this.numMatches, _null, _null, _null, _null, _null, B.TextStyle_SVP, _null, _null, _null, _null), _null);
    },
    $signature: 687
  };
  A.DataSearchStateMixin.prototype = {};
  A.TreeDataSearchStateMixin.prototype = {};
  A.AutoCompleteController.prototype = {};
  A.AutoCompleteMatch.prototype = {
    transformAutoCompleteMatch$1$3$combineSegments$transformMatchedSegment$transformUnmatchedSegment(combineSegments, transformMatchedSegment, transformUnmatchedSegment, $T) {
      var segments, t2, t3, previousEndIndex, _i, segment, t4,
        t1 = this.matchedSegments;
      if (t1.length === 0)
        return transformUnmatchedSegment.call$1(this.text);
      segments = A._setArrayType([], $T._eval$1("JSArray<0>"));
      for (t2 = t1.length, t3 = this.text, previousEndIndex = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        segment = t1[_i];
        t4 = segment.begin;
        if (previousEndIndex < t4)
          segments.push(transformUnmatchedSegment.call$1(B.JSString_methods.substring$2(t3, previousEndIndex, A._asInt(t4))));
        A._asInt(t4);
        previousEndIndex = A._asInt(segment.end);
        segments.push(transformMatchedSegment.call$1(B.JSString_methods.substring$2(t3, t4, previousEndIndex)));
      }
      if (previousEndIndex < t3.length - 1)
        segments.push(transformUnmatchedSegment.call$1(B.JSString_methods.substring$1(t3, previousEndIndex)));
      return combineSegments.call$1(segments);
    }
  };
  A._AutoCompleteController_DisposableController_SearchControllerMixin.prototype = {};
  A._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin.prototype = {};
  A._AutoCompleteState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.__AutoCompleteSearchFieldState_State_AutoDisposeMixin.prototype = {
    dispose$0() {
      var t1 = this.AutoDisposeMixin__delegate;
      t1.cancelStreamSubscriptions$0();
      t1.cancelListeners$0();
      t1.cancelFocusNodes$0();
      this.super$State$dispose();
    }
  };
  A.DevToolsTab.prototype = {};
  A.AnalyticsTabbedView.prototype = {
    createState$0() {
      return new A._AnalyticsTabbedViewState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnalyticsTabbedViewState.prototype = {
    _initTabController$0() {
      var t2, _this = this,
        t1 = _this._tab$_tabController;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_onTabChanged());
      t1 = _this._tab$_tabController;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this._tab$_tabController = A.TabController$(_this._widget.tabs.length, _this);
      t2 = _this._currentTabControllerIndex;
      t1._changeIndex$1(t2 >= t1.length ? _this._currentTabControllerIndex = 0 : t2);
      t1.addListener$1(0, _this.get$_onTabChanged());
      t1 = _this._widget;
      A.select(t1.gaScreen, t1.tabs[_this._currentTabControllerIndex].gaId, true, null);
    },
    _onTabChanged$0() {
      var t1, _this = this;
      if (_this._currentTabControllerIndex !== _this._tab$_tabController._tab_controller$_index) {
        _this.setState$1(new A._AnalyticsTabbedViewState__onTabChanged_closure(_this));
        t1 = _this._widget;
        A.select(t1.gaScreen, t1.tabs[_this._currentTabControllerIndex].gaId, false, null);
      }
    },
    initState$0() {
      this.super$State$initState();
      this._initTabController$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget;
      if (oldWidget.tabs !== t1.tabs || oldWidget.gaScreen !== t1.gaScreen)
        this._initTabController$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this._tab$_tabController;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_onTabChanged());
      t1 = _this._tab$_tabController;
      if (t1 != null)
        t1.dispose$0();
      _this.super$__AnalyticsTabbedViewState_State_TickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var t2, t3, t4, tabBar, tabView, _this = this, _null = null,
        theme = A.Theme_of(context),
        borderSide = new A.BorderSide(theme.focusColor, 1, B.BorderStyle_1, B.StrokeAlign_0),
        t1 = theme.textTheme.bodyLarge;
      t1 = t1 == null ? _null : t1.color;
      t2 = _this._tab$_tabController;
      t3 = _this._widget;
      t4 = type$.JSArray_Widget;
      tabBar = A.Row$(A._setArrayType([A.TabBar$(t2, true, t1, t3.tabs), A.Expanded$(t3.trailingWidgets[_this._currentTabControllerIndex], 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_1, _null, _null);
      if (_this._widget.outlined) {
        t1 = B.JSNumber_methods.roundToDouble$0(32 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14));
        t2 = $.globals.$index(0, B.Type_PreferencesController_1KB)._denseMode._change_notifier$_value || $.globals.$index(0, B.Type_IdeTheme_NnV).embed ? 2 : 8;
        tabBar = A.Container$(_null, tabBar, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, A.Border_Border$all(A.Theme_of(context).focusColor, 1), _null, _null, _null, _null, B.BoxShape_0), _null, t1 + t2, _null, _null, _null, _null, _null, _null);
      }
      t1 = _this._tab$_tabController;
      t2 = _this._widget;
      tabView = A.TabBarView$(t2.tabViews, t1, B.NeverScrollableScrollPhysics_null);
      return A.Column$(A._setArrayType([tabBar, A.Expanded$(t2.outlined ? A.Container$(_null, tabView, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, borderSide, borderSide, borderSide), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null) : tabView, 1)], t4), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
    }
  };
  A._AnalyticsTabbedViewState__onTabChanged_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._currentTabControllerIndex = t1._tab$_tabController._tab_controller$_index;
    },
    $signature: 0
  };
  A.__AnalyticsTabbedViewState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.truncateTextSpan_truncateHelper.prototype = {
    call$1(span) {
      var t1, t2, t3, children, t4, _i, child,
        text = span.text;
      if (text != null) {
        t1 = text.length;
        t2 = this._box_0;
        t3 = t2.available;
        if (t1 > t3)
          text = B.JSString_methods.substring$2(text, 0, t3);
        t2.available = t3 - text.length;
      }
      t1 = span.children;
      if (t1 != null) {
        children = A._setArrayType([], type$.JSArray_TextSpan);
        for (t2 = t1.length, t3 = type$.TextSpan, t4 = this._box_0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          if (t4.available <= 0)
            break;
          children.push(this.call$1(t3._as(child)));
        }
        if (children.length === 0)
          children = null;
      } else
        children = null;
      return A.TextSpan$(children, span.recognizer, span.semanticsLabel, span.style, text);
    },
    $signature: 688
  };
  A.OffsetScrollbar.prototype = {
    createState$0() {
      return new A._OffsetScrollbarState(B._StateLifecycle_0);
    }
  };
  A._OffsetScrollbarState.prototype = {
    build$1(context) {
      var _this = this,
        t1 = B.JSArray_methods.get$single(_this._widget.offsetController._positions);
      if (!(t1._minScrollExtent != null && t1._maxScrollExtent != null))
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._OffsetScrollbarState_build_closure(_this));
      t1 = _this._widget;
      return A.AnimatedBuilder$(t1.offsetController, new A._OffsetScrollbarState_build_closure0(_this), t1.child);
    }
  };
  A._OffsetScrollbarState_build_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this;
      if (B.JSArray_methods.get$single(t1._widget.offsetController._positions)._viewportDimension != null && t1._framework$_element != null)
        t1.setState$1(new A._OffsetScrollbarState_build__closure());
    },
    $signature: 3
  };
  A._OffsetScrollbarState_build__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._OffsetScrollbarState_build_closure0.prototype = {
    call$2(context, child) {
      var t3, t4, delta, offset,
        t1 = this.$this,
        t2 = B.JSArray_methods.get$single(t1._widget.offsetController._positions);
      if (t2._minScrollExtent != null && t2._maxScrollExtent != null) {
        t2 = t1._widget.offsetController;
        t2 = t2.get$position(t2)._pixels;
        t2.toString;
        t3 = B.JSArray_methods.get$single(t1._widget.offsetController._positions)._maxScrollExtent;
        t3.toString;
        t4 = B.JSArray_methods.get$single(t1._widget.offsetController._positions)._minScrollExtent;
        t4.toString;
        delta = t2 - t3 + t4;
        if (B.JSArray_methods.get$single(t1._widget.offsetController._positions)._viewportDimension != null) {
          t2 = t1._widget;
          t3 = t2.offsetControllerViewportDimension;
          t2 = B.JSArray_methods.get$single(t2.offsetController._positions)._viewportDimension;
          t2.toString;
          delta += t3 - t2;
        }
      } else
        delta = 0;
      t1 = t1._widget;
      offset = t1.axis === B.Axis_1 ? new A.Offset(delta, 0) : new A.Offset(0, delta);
      t1 = t1.controller;
      return A.Transform$translate(A.Scrollbar$(A.Transform$translate(child, new A.Offset(-offset._dx, -offset._dy)), t1, null, null, true), offset);
    },
    $signature: 297
  };
  A.ColorPair.prototype = {};
  A.ThemedColorPair.prototype = {};
  A.ThemedColor.prototype = {};
  A.MediaSize.prototype = {
    toString$0(_) {
      return "MediaSize." + this._core$_name;
    },
    $isComparable: 1
  };
  A.ScreenSize.prototype = {
    _calculateWidth$1(context) {
      var width = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dx;
      if (width < 300)
        return B.MediaSize_0;
      if (width < 600)
        return B.MediaSize_1;
      if (width < 900)
        return B.MediaSize_2;
      if (width < 1200)
        return B.MediaSize_3;
      if (width < 1500)
        return B.MediaSize_4;
      else
        return B.MediaSize_5;
    },
    _calculateHeight$1(context) {
      var height = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.size._dy;
      if (height < 300)
        return B.MediaSize_0;
      if (height < 450)
        return B.MediaSize_1;
      if (height < 600)
        return B.MediaSize_2;
      if (height < 750)
        return B.MediaSize_3;
      if (height < 900)
        return B.MediaSize_4;
      else
        return B.MediaSize_5;
    }
  };
  A._MediaSize__Enum_EnumIndexOrdering.prototype = {};
  A.ProfileGranularityDropdown.prototype = {
    build$1(context) {
      return new A.ValueListenableBuilder(this.profileGranularityFlagNotifier, new A.ProfileGranularityDropdown_build_closure(this), null, null, type$.ValueListenableBuilder_Flag);
    },
    _onProfileGranularityChanged$1(newValue) {
      return this._onProfileGranularityChanged$body$ProfileGranularityDropdown(newValue);
    },
    _onProfileGranularityChanged$body$ProfileGranularityDropdown(newValue) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, t3, t4, t5, t1;
      var $async$_onProfileGranularityChanged$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 = newValue == null;
              A.select($async$self.screenId, "profileGranularity" + A.ProfileGranularityExtension_get_displayShort(A.ProfileGranularityExtension_fromValue(t1 ? "" : newValue)), false, null);
              $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service.toString;
              t1 = t1 ? "250" : newValue;
              t2 = $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).service;
              t3 = t2.__VmServiceWrapper__vmService;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t4 = type$.dynamic;
              t5 = type$.Response;
              $async$goto = 2;
              return A._asyncAwait(t2.trackFuture$1$2("setFlag", t3._call$1$2(0, "setFlag", A.LinkedHashMap_LinkedHashMap$_literal(["name", "profile_period", "value", t1], t4, t4), t5), t5), $async$_onProfileGranularityChanged$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onProfileGranularityChanged$1, $async$completer);
    }
  };
  A.ProfileGranularityDropdown_build_closure.prototype = {
    call$3(context, flag, _) {
      var bannerMessageController, t2, t3, t4, t5, t6, _null = null,
        _s32_ = "HighProfileGranularityMessage - ",
        t1 = flag.valueAsString,
        safeValue = A.ProfileGranularityExtension_get_value(A.ProfileGranularityExtension_fromValue(t1 == null ? "" : t1));
      if (safeValue !== t1)
        this.$this._onProfileGranularityChanged$1(safeValue);
      bannerMessageController = A.Provider_of(context, true, type$.BannerMessagesController);
      t1 = this.$this;
      t2 = type$.ValueKey_String;
      t3 = t1.screenId;
      if (safeValue === "50") {
        t4 = A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_3707764736, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), "You are opting in to a high CPU sampling rate. This may affect the performance of your application. Please read our ");
        A.Theme_of(context);
        bannerMessageController.addMessage$1(A._BannerWarning$(new A.ValueKey(_s32_ + t3, t2), t3, A._setArrayType([t4, A.LinkTextSpan$(context, B.Link_qFx, _null, A.TextStyle$(_null, _null, B.Color_4283744751, _null, B.TextDecoration_1, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null)), A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, B.Color_3707764736, _null, _null, _null, _null, _null, _null, _null, _null, B.JSNumber_methods.roundToDouble$0(14 * ($.globals.$index(0, B.Type_IdeTheme_NnV).fontSize / 14)), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null), " to understand the trade-offs associated with this setting.")], type$.JSArray_TextSpan)));
      } else
        bannerMessageController.removeMessageByKey$2(new A.ValueKey(_s32_ + t3, t2), t3);
      t2 = A.Theme_of(context);
      t3 = A.ProfileGranularityExtension_get_value(B.ProfileGranularity_0);
      t4 = type$.String;
      t3 = A.DropdownMenuItem$(A.Text$(A.ProfileGranularityExtension_get_display(B.ProfileGranularity_0), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, t3, t4);
      t5 = A.ProfileGranularityExtension_get_value(B.ProfileGranularity_1);
      t5 = A.DropdownMenuItem$(A.Text$(A.ProfileGranularityExtension_get_display(B.ProfileGranularity_1), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, t5, t4);
      t6 = A.ProfileGranularityExtension_get_value(B.ProfileGranularity_2);
      return A.RoundedDropDownButton$(true, A._setArrayType([t3, t5, A.DropdownMenuItem$(A.Text$(A.ProfileGranularityExtension_get_display(B.ProfileGranularity_2), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), _null, t6, t4)], type$.JSArray_DropdownMenuItem_String), B.ValueKey_4CA, t1.get$_onProfileGranularityChanged(), t2.textTheme.bodyMedium, safeValue, t4);
    },
    $signature: 691
  };
  A.AdbMemoryInfo.prototype = {
    toJson$0() {
      var _this = this;
      return A.LinkedHashMap_LinkedHashMap$_literal(["Realtime", _this.realtime, "Java Heap", _this.javaHeap, "Native Heap", _this.nativeHeap, "Code", _this.code, "Stack", _this.stack, "Graphics", _this.graphics, "Private Other", _this.other, "System", _this.system, "Total", _this.total], type$.String, type$.dynamic);
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.realtime;
      return "[AdbMemoryInfo Realtime: " + t1 + ", realtimeDT: " + A.DateTime$fromMillisecondsSinceEpoch(t1, false).toString$0(0) + ", durationBoot: " + A.Duration$(0, t1).toString$0(0) + ", Java Heap: " + _this.javaHeap + ", Native Heap: " + _this.nativeHeap + ", Code: " + _this.code + ", Stack: " + _this.stack + ", Graphics: " + _this.graphics + ", Private Other: " + _this.other + ", System: " + _this.system + ", Total: " + _this.total + "]";
    },
    get$stack() {
      return this.stack;
    }
  };
  A.ClassHeapDetailStats.prototype = {
    toJson$0() {
      var _this = this,
        t1 = _this.classRef,
        t2 = type$.String;
      return A.LinkedHashMap_LinkedHashMap$_literal(["class", A.LinkedHashMap_LinkedHashMap$_literal(["id", t1.id, "name", t1.name], t2, type$.nullable_String), "bytesCurrent", _this.bytesCurrent, "bytesDelta", _this.bytesDelta, "instancesCurrent", _this.instancesCurrent, "instancesDelta", _this.instancesDelta, "isStackedTraced", _this.isStacktraced], t2, type$.dynamic);
    },
    toString$0(_) {
      return "[ClassHeapDetailStats class: " + A.S(this.classRef.name) + ", count: " + this.instancesCurrent + ", bytes: " + this.bytesCurrent + "]";
    }
  };
  A.AllocationAccumulator.prototype = {
    toJson$0() {
      return A.LinkedHashMap_LinkedHashMap$_literal(["start", this._event_sample$_start, "continues", this._continues, "reset", this._event_sample$_reset], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "[AllocationAccumulator " + A._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  A.ExtensionEvent.prototype = {
    toJson$0() {
      var _this = this;
      return A.LinkedHashMap_LinkedHashMap$_literal(["timestamp", _this.timestamp, "eventKind", _this.eventKind, "data", _this.data, "customEventName", _this.customEventName], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "[ExtensionEvent " + A._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  A.ExtensionEvents.prototype = {
    toJson$0() {
      var t3, t4, index, _i, $event,
        t1 = type$.String,
        t2 = type$.dynamic,
        eventsAsJson = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      for (t3 = this.theEvents, t4 = t3.length, index = 0, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        $event = t3[_i];
        eventsAsJson.$indexSet(0, "" + index, A.LinkedHashMap_LinkedHashMap$_literal(["timestamp", $event.timestamp, "eventKind", $event.eventKind, "data", $event.data, "customEventName", $event.customEventName], t1, t2));
        ++index;
      }
      return eventsAsJson;
    },
    toString$0(_) {
      return "[ExtensionEvents = " + A._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  A.ExtensionEvents_ExtensionEvents$fromJson_closure.prototype = {
    call$2(key, value) {
      var t1, t2, t3, t4;
      type$.Map_String_dynamic._as(value);
      t1 = J.getInterceptor$asx(value);
      t2 = A._asIntQ(t1.$index(value, "timestamp"));
      t3 = A._asStringQ(t1.$index(value, "eventKind"));
      t4 = A._asStringQ(t1.$index(value, "customEventName"));
      t1 = type$.nullable_Map_dynamic_dynamic._as(t1.$index(value, "data"));
      t1 = t1 == null ? null : J.cast$2$0$ax(t1, type$.String, type$.Object);
      this.events.push(new A.ExtensionEvent(t2, t3, t1, t4));
    },
    $signature: 692
  };
  A.EventSample.prototype = {
    toJson$0() {
      var t2, _this = this,
        t1 = _this.allocationAccumulator;
      t1 = t1 == null ? null : t1.toJson$0();
      t2 = _this.extensionEvents;
      t2 = t2 == null ? null : t2.toJson$0();
      return A.LinkedHashMap_LinkedHashMap$_literal(["timestamp", _this.timestamp, "gcEvent", _this.isEventGC, "snapshotEvent", _this.isEventSnapshot, "snapshotAutoEvent", _this.isEventSnapshotAuto, "allocationAccumulatorEvent", t1, "extensionEvents", t2], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "[EventSample timestamp: " + this.timestamp + " = " + A._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  A.RasterCache.prototype = {
    toJson$0() {
      return A.LinkedHashMap_LinkedHashMap$_literal(["layerBytes", this.layerBytes, "pictureBytes", this.pictureBytes], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "[RasterCache " + A._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  A.HeapSample.prototype = {
    toJson$0() {
      var _this = this;
      return A.LinkedHashMap_LinkedHashMap$_literal(["timestamp", _this.timestamp, "rss", _this.rss, "capacity", _this.capacity, "used", _this.used, "external", _this.external, "gc", _this.isGC, "adb_memoryInfo", _this.adbMemoryInfo.toJson$0(), "memory_eventInfo", _this.memoryEventInfo.toJson$0(), "raster_cache", _this.rasterCache.toJson$0()], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "[HeapSample timestamp: " + this.timestamp + ", " + A._JsonStringStringifier_stringify(this.toJson$0(), null, "  ") + "]";
    }
  };
  A.HeapSpace.prototype = {
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "HeapSpace");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["avgCollectionPeriodMillis", _this.avgCollectionPeriodMillis, "capacity", _this.capacity, "collections", _this.collections, "external", _this.external, "name", _this.name, "time", _this.time, "used", _this.used], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[HeapSpace]";
    },
    get$json(receiver) {
      return this.json;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.MemoryJson.prototype = {
    MemoryJson$decode$3$argDecodedMap$argJsonString(payloadName, argDecodedMap, argJsonString, $T) {
      var t2, dynamicList, t3, t4, t5, index, t6, t7, adbMemoryInfo, memoryEventInfo, rasterCache, t8, t9, t10, t11, t12, t13, t14, extensionEvents, t15, t16, t17, t18, _this = this, _null = null,
        _s9_ = "timestamp",
        _s26_ = "allocationAccumulatorEvent",
        decodedMap = B.C_JsonCodec.decode$2$reviver(0, argJsonString, _null),
        samplesPayload = J.$index$asx(decodedMap, payloadName),
        t1 = J.getInterceptor$asx(samplesPayload),
        payloadVersion = t1.$index(samplesPayload, "version"),
        payloadDevToolsScreen = t1.$index(samplesPayload, "dartDevToolsScreen");
      if (!J.$eq$(payloadVersion, 1))
        A.print("WARNING: Unable to convert JSON memory file payload version=" + A.S(payloadVersion) + ".");
      t2 = J.$eq$(payloadDevToolsScreen, "memory");
      if (_this.__MemoryJson__memoryPayload !== $)
        A.throwUnnamedLateFieldAI();
      _this.__MemoryJson__memoryPayload = t2;
      if (_this.__MemoryJson__payloadVersion !== $)
        A.throwUnnamedLateFieldAI();
      _this.__MemoryJson__payloadVersion = payloadVersion;
      if (payloadVersion !== 1 || !t2)
        return;
      dynamicList = t1.$index(samplesPayload, "data");
      for (t1 = J.getInterceptor$asx(dynamicList), t2 = _this.data, t3 = type$.String, t4 = type$.Object, t5 = type$.nullable_Map_dynamic_dynamic, index = 0; index < t1.get$length(dynamicList); ++index) {
        t6 = t1.$index(dynamicList, index);
        t7 = J.getInterceptor$asx(t6);
        adbMemoryInfo = t7.$index(t6, "adb_memoryInfo");
        memoryEventInfo = t7.$index(t6, "memory_eventInfo");
        rasterCache = t7.$index(t6, "raster_cache");
        t8 = A._asInt(t7.$index(t6, _s9_));
        t9 = A._asInt(t7.$index(t6, "rss"));
        t10 = A._asInt(t7.$index(t6, "capacity"));
        t11 = A._asInt(t7.$index(t6, "used"));
        t12 = A._asInt(t7.$index(t6, "external"));
        t6 = A._asBool(t7.$index(t6, "gc"));
        if (adbMemoryInfo != null) {
          t7 = J.getInterceptor$asx(adbMemoryInfo);
          t7 = new A.AdbMemoryInfo(A._asInt(t7.$index(adbMemoryInfo, "Realtime")), A._asInt(t7.$index(adbMemoryInfo, "Java Heap")), A._asInt(t7.$index(adbMemoryInfo, "Native Heap")), A._asInt(t7.$index(adbMemoryInfo, "Code")), A._asInt(t7.$index(adbMemoryInfo, "Stack")), A._asInt(t7.$index(adbMemoryInfo, "Graphics")), A._asInt(t7.$index(adbMemoryInfo, "Private Other")), A._asInt(t7.$index(adbMemoryInfo, "System")), A._asInt(t7.$index(adbMemoryInfo, "Total")));
        } else
          t7 = new A.AdbMemoryInfo(0, 0, 0, 0, 0, 0, 0, 0, 0);
        if (memoryEventInfo != null) {
          t13 = J.getInterceptor$asx(memoryEventInfo);
          t14 = t5._as(t13.$index(memoryEventInfo, "extensionEvents"));
          extensionEvents = t14 == null ? _null : J.cast$2$0$ax(t14, t3, t4);
          t14 = A._asInt(t13.$index(memoryEventInfo, _s9_));
          t15 = A._asBoolQ(t13.$index(memoryEventInfo, "gcEvent"));
          t16 = A._asBoolQ(t13.$index(memoryEventInfo, "snapshotEvent"));
          t17 = A._asBoolQ(t13.$index(memoryEventInfo, "snapshotAutoEvent"));
          if (t13.$index(memoryEventInfo, _s26_) != null) {
            t13 = t13.$index(memoryEventInfo, _s26_);
            t18 = J.getInterceptor$asx(t13);
            t13 = new A.AllocationAccumulator(A._asBool(t18.$index(t13, "start")), A._asBool(t18.$index(t13, "continues")), A._asBool(t18.$index(t13, "reset")));
          } else
            t13 = _null;
          t18 = extensionEvents != null ? A.ExtensionEvents_ExtensionEvents$fromJson(extensionEvents) : _null;
          t18 = new A.EventSample(t14, t15 === true, t16 === true, t17 === true, t13, t18);
          t13 = t18;
        } else
          t13 = new A.EventSample(-1, false, false, false, new A.AllocationAccumulator(false, false, false), _null);
        if (rasterCache != null) {
          t14 = J.getInterceptor$asx(rasterCache);
          t14 = new A.RasterCache(t14.$index(rasterCache, "layerBytes"), t14.$index(rasterCache, "pictureBytes"));
        } else
          t14 = new A.RasterCache(0, 0);
        t2.push(new A.HeapSample(t8, t9, t10, t11, t12, t6, t13, t7, t14));
      }
    }
  };
  A.SamplesMemoryJson.prototype = {};
  A.SamplesMemoryJson_encodeList_closure.prototype = {
    call$1(f) {
      var t1 = this.result;
      t1._contents += t1._contents.length !== 0 ? ",\n" + B.C_JsonCodec.encode$2$toEncodable(f, null) : B.C_JsonCodec.encode$2$toEncodable(f, null);
    },
    $signature: 693
  };
  A.RegisteredService.prototype = {};
  A.MethodChannelFileSelector.prototype = {
    openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      return this.openFile$body$MethodChannelFileSelector(acceptedTypeGroups, confirmButtonText, initialDirectory);
    },
    openFile$body$MethodChannelFileSelector(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_XFile),
        $async$returnValue, t2, path, t1;
      var $async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory = 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 = A._arrayInstanceType(acceptedTypeGroups)._eval$1("MappedListIterable<1,Map<String,@>>");
              t1 = A.List_List$of(new A.MappedListIterable(acceptedTypeGroups, new A.MethodChannelFileSelector_openFile_closure(), t1), true, t1._eval$1("ListIterable.E"));
              t2 = type$.String;
              $async$goto = 3;
              return A._asyncAwait(B.MethodChannel_qBr.invokeListMethod$1$2("openFile", A.LinkedHashMap_LinkedHashMap$_literal(["acceptedTypeGroups", t1, "initialDirectory", initialDirectory, "confirmButtonText", confirmButtonText, "multiple", false], t2, type$.dynamic), t2), $async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory);
            case 3:
              // returning from await.
              path = $async$result;
              $async$returnValue = path == null ? null : A.XFile$(J.get$first$ax(path), null, null, null);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory, $async$completer);
    }
  };
  A.MethodChannelFileSelector_openFile_closure.prototype = {
    call$1(group) {
      return A.LinkedHashMap_LinkedHashMap$_literal(["label", null, "extensions", group.extensions, "mimeTypes", null, "macUTIs", null, "webWildCards", null], type$.String, type$.dynamic);
    },
    $signature: 694
  };
  A.FileSelectorPlatform.prototype = {};
  A.XTypeGroup.prototype = {};
  A.XTypeGroup__removeLeadingDots_closure.prototype = {
    call$1(ext) {
      return B.JSString_methods.startsWith$1(ext, ".") ? B.JSString_methods.substring$1(ext, 1) : ext;
    },
    $signature: 15
  };
  A.FileSelectorWeb.prototype = {
    openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      return this.openFile$body$FileSelectorWeb(acceptedTypeGroups, confirmButtonText, initialDirectory);
    },
    openFile$body$FileSelectorWeb(acceptedTypeGroups, confirmButtonText, initialDirectory) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.XFile),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory = 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 = J;
              $async$goto = 3;
              return A._asyncAwait($async$self._openFiles$1$acceptedTypeGroups(acceptedTypeGroups), $async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.get$first$ax($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$openFile$3$acceptedTypeGroups$confirmButtonText$initialDirectory, $async$completer);
    },
    _openFiles$1$acceptedTypeGroups(acceptedTypeGroups) {
      return this._openFiles$body$FileSelectorWeb(acceptedTypeGroups);
    },
    _openFiles$body$FileSelectorWeb(acceptedTypeGroups) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.List_XFile),
        $async$returnValue, $async$self = this;
      var $async$_openFiles$1$acceptedTypeGroups = 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$returnValue = $async$self._domHelper.getFiles$2$accept$multiple(A.acceptedTypesToString(acceptedTypeGroups), false);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_openFiles$1$acceptedTypeGroups, $async$completer);
    }
  };
  A.DomHelper.prototype = {
    getFiles$2$accept$multiple(accept, multiple) {
      var t3, t4,
        t1 = new A._Future($.Zone__current, type$._Future_List_XFile),
        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_List_XFile),
        inputElement = A.InputElement_InputElement("file"),
        t2 = J.get$children$x(this._dom_helper$_container);
      inputElement.accept = accept;
      inputElement.multiple = false;
      t2.add$1(0, inputElement);
      t2 = type$._ElementEventStreamImpl_Event;
      t3 = new A._ElementEventStreamImpl(inputElement, "change", false, t2);
      t4 = type$.Null;
      t3.get$first(t3).then$1$1(new A.DomHelper_getFiles_closure(this, inputElement, completer), t4);
      t2 = new A._ElementEventStreamImpl(inputElement, "error", false, t2);
      t2.get$first(t2).then$1$1(new A.DomHelper_getFiles_closure0(inputElement, completer), t4);
      inputElement.click();
      return t1;
    },
    _convertFileToXFile$1(file) {
      var t1 = (self.URL || self.webkitURL).createObjectURL(file),
        t2 = file.name,
        t3 = file.size,
        t4 = file.lastModified;
      return A.XFile$(t1, A.DateTime$fromMillisecondsSinceEpoch(t4 == null ? Date.now() : t4, false), t3, t2);
    }
  };
  A.DomHelper_getFiles_closure.prototype = {
    call$1(_) {
      var t3, files,
        t1 = this.inputElement,
        t2 = t1.files;
      t2.toString;
      t3 = A.instanceType(t2)._eval$1("MappedListIterable<ListMixin.E,XFile>");
      files = A.List_List$of(new A.MappedListIterable(t2, this.$this.get$_convertFileToXFile(), t3), true, t3._eval$1("ListIterable.E"));
      B.InputElement_methods.remove$0(t1);
      this.completer.complete$1(0, files);
    },
    $signature: 14
  };
  A.DomHelper_getFiles_closure0.prototype = {
    call$1($event) {
      var t1, t2;
      type$.ErrorEvent._as($event);
      t1 = $event.type;
      t2 = $event.message;
      B.InputElement_methods.remove$0(this.inputElement);
      this.completer.completeError$1(new A.PlatformException(t1, t2, null, null));
    },
    $signature: 14
  };
  A.AnimationStatus.prototype = {
    toString$0(_) {
      return "AnimationStatus." + this._core$_name;
    }
  };
  A.Animation.prototype = {
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this) + "(" + A.S(this.toStringDetails$0()) + ")";
    },
    toStringDetails$0() {
      switch (this.get$status(this)) {
        case B.AnimationStatus_1:
          return "\u25b6";
        case B.AnimationStatus_2:
          return "\u25c0";
        case B.AnimationStatus_3:
          return "\u23ed";
        case B.AnimationStatus_0:
          return "\u23ee";
      }
    },
    $isValueListenable: 1
  };
  A._AnimationDirection.prototype = {
    toString$0(_) {
      return "_AnimationDirection." + this._core$_name;
    }
  };
  A.AnimationBehavior.prototype = {
    toString$0(_) {
      return "AnimationBehavior." + this._core$_name;
    }
  };
  A.AnimationController.prototype = {
    get$value(_) {
      var t1 = this.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    set$value(_, newValue) {
      var _this = this;
      _this.stop$0(0);
      _this._internalSetValue$1(newValue);
      _this.notifyListeners$0();
      _this._checkStatusChanged$0();
    },
    get$velocity() {
      var t1 = this._ticker;
      if (!(t1 != null && t1._ticker$_future != null))
        return 0;
      t1 = this._simulation;
      t1.toString;
      return t1.dx$1(0, this._lastElapsedDuration._duration / 1000000);
    },
    _internalSetValue$1(newValue) {
      var _this = this,
        t1 = _this.lowerBound,
        t2 = _this.upperBound,
        t3 = _this.__AnimationController__value = A.clampDouble(newValue, t1, t2);
      if (t3 === t1)
        _this.__AnimationController__status = B.AnimationStatus_0;
      else if (t3 === t2)
        _this.__AnimationController__status = B.AnimationStatus_3;
      else
        _this.__AnimationController__status = _this._direction === B._AnimationDirection_0 ? B.AnimationStatus_1 : B.AnimationStatus_2;
    },
    get$status(_) {
      var t1 = this.__AnimationController__status;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    forward$1$from(_, from) {
      var _this = this;
      _this._direction = B._AnimationDirection_0;
      if (from != null)
        _this.set$value(0, from);
      return _this._animateToInternal$1(_this.upperBound);
    },
    forward$0($receiver) {
      return this.forward$1$from($receiver, null);
    },
    reverse$1$from(_, from) {
      var _this = this;
      _this._direction = B._AnimationDirection_1;
      if (from != null)
        _this.set$value(0, from);
      return _this._animateToInternal$1(_this.lowerBound);
    },
    reverse$0($receiver) {
      return this.reverse$1$from($receiver, null);
    },
    _animateToInternal$3$curve$duration(target, curve, duration) {
      var scale, range, remainingFraction, directionDuration, simulationDuration, t2, _this = this,
        t1 = $.SemanticsBinding__instance.SemanticsBinding___SemanticsBinding__accessibilityFeatures;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if ((t1.__engine$_index & 4) !== 0)
        switch (_this.animationBehavior.index) {
          case 0:
            scale = 0.05;
            break;
          case 1:
            scale = 1;
            break;
          default:
            scale = 1;
        }
      else
        scale = 1;
      if (duration == null) {
        range = _this.upperBound - _this.lowerBound;
        if (isFinite(range)) {
          t1 = _this.__AnimationController__value;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          remainingFraction = Math.abs(target - t1) / range;
        } else
          remainingFraction = 1;
        if (_this._direction === B._AnimationDirection_1 && _this.reverseDuration != null) {
          t1 = _this.reverseDuration;
          t1.toString;
          directionDuration = t1;
        } else {
          t1 = _this.duration;
          t1.toString;
          directionDuration = t1;
        }
        simulationDuration = new A.Duration(B.JSNumber_methods.round$0(directionDuration._duration * remainingFraction));
      } else {
        t1 = _this.__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        simulationDuration = target === t1 ? B.Duration_0 : duration;
      }
      _this.stop$0(0);
      t1 = simulationDuration._duration;
      if (t1 === B.Duration_0._duration) {
        t1 = _this.__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 !== target) {
          _this.__AnimationController__value = A.clampDouble(target, _this.lowerBound, _this.upperBound);
          _this.notifyListeners$0();
        }
        _this.__AnimationController__status = _this._direction === B._AnimationDirection_0 ? B.AnimationStatus_3 : B.AnimationStatus_0;
        _this._checkStatusChanged$0();
        return A.TickerFuture$complete();
      }
      t2 = _this.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return _this._startSimulation$1(new A._InterpolationSimulation(t1 * scale / 1000000, t2, target, curve, B.Tolerance_Gdw));
    },
    _animateToInternal$1(target) {
      return this._animateToInternal$3$curve$duration(target, B.C__Linear, null);
    },
    repeat$0(_) {
      var t1, t2, _this = this,
        min = _this.lowerBound,
        max = _this.upperBound,
        period = _this.duration;
      _this.stop$0(0);
      t1 = _this.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = period._duration / 1000000;
      t1 = max === min ? 0 : t1 / (max - min) * t2;
      return _this._startSimulation$1(new A._RepeatingSimulation(min, max, false, _this.get$_directionSetter(), t2, t1, B.Tolerance_Gdw));
    },
    _directionSetter$1(direction) {
      this._direction = direction;
      this.__AnimationController__status = direction === B._AnimationDirection_0 ? B.AnimationStatus_1 : B.AnimationStatus_2;
      this._checkStatusChanged$0();
    },
    fling$1$velocity(velocity) {
      var target, scale, simulation, _this = this,
        springDescription = $.$get$_kFlingSpringDescription(),
        t1 = velocity < 0;
      _this._direction = t1 ? B._AnimationDirection_1 : B._AnimationDirection_0;
      target = t1 ? _this.lowerBound - 0.01 : _this.upperBound + 0.01;
      t1 = $.SemanticsBinding__instance.SemanticsBinding___SemanticsBinding__accessibilityFeatures;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if ((t1.__engine$_index & 4) !== 0)
        switch (_this.animationBehavior.index) {
          case 0:
            scale = 200;
            break;
          case 1:
            scale = 1;
            break;
          default:
            scale = 1;
        }
      else
        scale = 1;
      t1 = _this.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      simulation = new A.SpringSimulation(target, A._SpringSolution__SpringSolution(springDescription, t1 - target, velocity * scale), B.Tolerance_Gdw);
      simulation.tolerance = B.Tolerance_qbZ;
      _this.stop$0(0);
      return _this._startSimulation$1(simulation);
    },
    _startSimulation$1(simulation) {
      var result, _this = this;
      _this._simulation = simulation;
      _this._lastElapsedDuration = B.Duration_0;
      _this.__AnimationController__value = A.clampDouble(simulation.x$1(0, 0), _this.lowerBound, _this.upperBound);
      result = _this._ticker.start$0(0);
      _this.__AnimationController__status = _this._direction === B._AnimationDirection_0 ? B.AnimationStatus_1 : B.AnimationStatus_2;
      _this._checkStatusChanged$0();
      return result;
    },
    stop$1$canceled(_, canceled) {
      this._lastElapsedDuration = this._simulation = null;
      this._ticker.stop$1$canceled(0, canceled);
    },
    stop$0($receiver) {
      return this.stop$1$canceled($receiver, true);
    },
    dispose$0() {
      var _this = this;
      _this._ticker.dispose$0();
      _this._ticker = null;
      _this.AnimationLocalStatusListenersMixin__statusListeners.clear$0(0);
      _this.AnimationLocalListenersMixin__listeners.clear$0(0);
      _this.super$AnimationEagerListenerMixin$dispose();
    },
    _checkStatusChanged$0() {
      var _this = this,
        t1 = _this.__AnimationController__status;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (_this._lastReportedStatus !== t1) {
        _this._lastReportedStatus = t1;
        _this.notifyStatusListeners$1(t1);
      }
    },
    _animation_controller$_tick$1(elapsed) {
      var elapsedInSeconds, _this = this;
      _this._lastElapsedDuration = elapsed;
      elapsedInSeconds = elapsed._duration / 1000000;
      _this.__AnimationController__value = A.clampDouble(_this._simulation.x$1(0, elapsedInSeconds), _this.lowerBound, _this.upperBound);
      if (_this._simulation.isDone$1(elapsedInSeconds)) {
        _this.__AnimationController__status = _this._direction === B._AnimationDirection_0 ? B.AnimationStatus_3 : B.AnimationStatus_0;
        _this.stop$1$canceled(0, false);
      }
      _this.notifyListeners$0();
      _this._checkStatusChanged$0();
    },
    toStringDetails$0() {
      var ticker, label, _this = this,
        t1 = _this._ticker,
        t2 = t1 == null,
        paused = !t2 && t1._ticker$_future != null ? "" : "; paused";
      if (t2)
        ticker = "; DISPOSED";
      else
        ticker = t1._muted ? "; silenced" : "";
      t1 = _this.debugLabel;
      label = t1 == null ? "" : "; for " + t1;
      t1 = _this.super$Animation$toStringDetails();
      t2 = _this.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.S(t1) + " " + B.JSNumber_methods.toStringAsFixed$1(t2, 3) + paused + ticker + label;
    }
  };
  A._InterpolationSimulation.prototype = {
    x$1(_, timeInSeconds) {
      var t1, t2, _this = this,
        t = A.clampDouble(timeInSeconds / _this._durationInSeconds, 0, 1);
      if (t === 0)
        return _this._begin;
      else {
        t1 = _this._animation_controller$_end;
        if (t === 1)
          return t1;
        else {
          t2 = _this._begin;
          return t2 + (t1 - t2) * _this._curve.transform$1(0, t);
        }
      }
    },
    dx$1(_, timeInSeconds) {
      return (this.x$1(0, timeInSeconds + 0.001) - this.x$1(0, timeInSeconds - 0.001)) / 0.002;
    },
    isDone$1(timeInSeconds) {
      return timeInSeconds > this._durationInSeconds;
    }
  };
  A._RepeatingSimulation.prototype = {
    x$1(_, timeInSeconds) {
      var _this = this,
        totalTimeInSeconds = timeInSeconds + _this._initialT,
        t1 = _this._periodInSeconds,
        t = B.JSNumber_methods.$mod(totalTimeInSeconds / t1, 1);
      B.JSNumber_methods.$tdiv(totalTimeInSeconds, t1);
      _this.directionSetter.call$1(B._AnimationDirection_0);
      t1 = A.lerpDouble(_this.min, _this.max, t);
      t1.toString;
      return t1;
    },
    dx$1(_, timeInSeconds) {
      return (this.max - this.min) / this._periodInSeconds;
    },
    isDone$1(timeInSeconds) {
      return false;
    }
  };
  A._AnimationController_Animation_AnimationEagerListenerMixin.prototype = {};
  A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin.prototype = {};
  A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  A._AlwaysCompleteAnimation.prototype = {
    addListener$1(_, listener) {
    },
    removeListener$1(_, listener) {
    },
    addStatusListener$1(listener) {
    },
    removeStatusListener$1(listener) {
    },
    get$status(_) {
      return B.AnimationStatus_3;
    },
    get$value(_) {
      return 1;
    },
    toString$0(_) {
      return "kAlwaysCompleteAnimation";
    }
  };
  A._AlwaysDismissedAnimation.prototype = {
    addListener$1(_, listener) {
    },
    removeListener$1(_, listener) {
    },
    addStatusListener$1(listener) {
    },
    removeStatusListener$1(listener) {
    },
    get$status(_) {
      return B.AnimationStatus_0;
    },
    get$value(_) {
      return 0;
    },
    toString$0(_) {
      return "kAlwaysDismissedAnimation";
    }
  };
  A.AlwaysStoppedAnimation.prototype = {
    addListener$1(_, listener) {
    },
    removeListener$1(_, listener) {
    },
    addStatusListener$1(listener) {
    },
    removeStatusListener$1(listener) {
    },
    get$status(_) {
      return B.AnimationStatus_1;
    },
    toStringDetails$0() {
      return A.S(this.super$Animation$toStringDetails()) + " " + A.S(this.value) + "; paused";
    },
    get$value(receiver) {
      return this.value;
    }
  };
  A.AnimationWithParentMixin.prototype = {
    addListener$1(_, listener) {
      return this.get$parent(this).addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      return this.get$parent(this).removeListener$1(0, listener);
    },
    addStatusListener$1(listener) {
      return this.get$parent(this).addStatusListener$1(listener);
    },
    removeStatusListener$1(listener) {
      return this.get$parent(this).removeStatusListener$1(listener);
    },
    get$status(_) {
      var t1 = this.get$parent(this);
      return t1.get$status(t1);
    }
  };
  A.ProxyAnimation.prototype = {
    set$parent(_, value) {
      var t2, _this = this,
        t1 = _this._animations$_parent;
      if (value == t1)
        return;
      if (t1 != null) {
        _this._status = t1.get$status(t1);
        t1 = _this._animations$_parent;
        _this._animations$_value = t1.get$value(t1);
        if (_this.AnimationLazyListenerMixin__listenerCounter > 0)
          _this.didStopListening$0();
      }
      _this._animations$_parent = value;
      if (value != null) {
        if (_this.AnimationLazyListenerMixin__listenerCounter > 0)
          _this.didStartListening$0();
        t1 = _this._animations$_value;
        t2 = _this._animations$_parent;
        t2 = t2.get$value(t2);
        if (t1 == null ? t2 != null : t1 !== t2)
          _this.notifyListeners$0();
        t1 = _this._status;
        t2 = _this._animations$_parent;
        if (t1 != t2.get$status(t2)) {
          t1 = _this._animations$_parent;
          _this.notifyStatusListeners$1(t1.get$status(t1));
        }
        _this._animations$_value = _this._status = null;
      }
    },
    didStartListening$0() {
      var _this = this,
        t1 = _this._animations$_parent;
      if (t1 != null) {
        t1.addListener$1(0, _this.get$notifyListeners());
        _this._animations$_parent.addStatusListener$1(_this.get$notifyStatusListeners());
      }
    },
    didStopListening$0() {
      var _this = this,
        t1 = _this._animations$_parent;
      if (t1 != null) {
        t1.removeListener$1(0, _this.get$notifyListeners());
        _this._animations$_parent.removeStatusListener$1(_this.get$notifyStatusListeners());
      }
    },
    get$status(_) {
      var t1 = this._animations$_parent;
      if (t1 != null)
        t1 = t1.get$status(t1);
      else {
        t1 = this._status;
        t1.toString;
      }
      return t1;
    },
    get$value(_) {
      var t1 = this._animations$_parent;
      if (t1 != null)
        t1 = t1.get$value(t1);
      else {
        t1 = this._animations$_value;
        t1.toString;
      }
      return t1;
    },
    toString$0(_) {
      var _this = this,
        t1 = _this._animations$_parent;
      if (t1 == null)
        return "ProxyAnimation(null; " + A.S(_this.super$Animation$toStringDetails()) + " " + B.JSNumber_methods.toStringAsFixed$1(_this.get$value(_this), 3) + ")";
      return t1.toString$0(0) + "\u27a9ProxyAnimation";
    }
  };
  A.ReverseAnimation.prototype = {
    addListener$1(_, listener) {
      this.didRegisterListener$0();
      this.parent.addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      this.parent.removeListener$1(0, listener);
      this.didUnregisterListener$0();
    },
    didStartListening$0() {
      this.parent.addStatusListener$1(this.get$_statusChangeHandler());
    },
    didStopListening$0() {
      this.parent.removeStatusListener$1(this.get$_statusChangeHandler());
    },
    _statusChangeHandler$1($status) {
      this.notifyStatusListeners$1(this._reverseStatus$1($status));
    },
    get$status(_) {
      var t1 = this.parent;
      return this._reverseStatus$1(t1.get$status(t1));
    },
    get$value(_) {
      var t1 = this.parent;
      return 1 - t1.get$value(t1);
    },
    _reverseStatus$1($status) {
      switch ($status.index) {
        case 1:
          return B.AnimationStatus_2;
        case 2:
          return B.AnimationStatus_1;
        case 3:
          return B.AnimationStatus_0;
        case 0:
          return B.AnimationStatus_3;
      }
    },
    toString$0(_) {
      return this.parent.toString$0(0) + "\u27aaReverseAnimation";
    }
  };
  A.CurvedAnimation.prototype = {
    _updateCurveDirection$1($status) {
      var _this = this;
      switch ($status.index) {
        case 0:
        case 3:
          _this._curveDirection = null;
          break;
        case 1:
          if (_this._curveDirection == null)
            _this._curveDirection = B.AnimationStatus_1;
          break;
        case 2:
          if (_this._curveDirection == null)
            _this._curveDirection = B.AnimationStatus_2;
          break;
      }
    },
    get$_useForwardCurve() {
      if (this.reverseCurve != null) {
        var t1 = this._curveDirection;
        if (t1 == null) {
          t1 = this.parent;
          t1 = t1.get$status(t1);
        }
        t1 = t1 !== B.AnimationStatus_2;
      } else
        t1 = true;
      return t1;
    },
    dispose$0() {
      this.parent.removeStatusListener$1(this.get$_updateCurveDirection());
    },
    get$value(_) {
      var _this = this,
        activeCurve = _this.get$_useForwardCurve() ? _this.curve : _this.reverseCurve,
        t1 = _this.parent,
        t = t1.get$value(t1);
      if (activeCurve == null)
        return t;
      if (t === 0 || t === 1)
        return t;
      return activeCurve.transform$1(0, t);
    },
    toString$0(_) {
      var _this = this;
      if (_this.reverseCurve == null)
        return _this.parent.toString$0(0) + "\u27a9" + _this.curve.toString$0(0);
      if (_this.get$_useForwardCurve())
        return _this.parent.toString$0(0) + "\u27a9" + _this.curve.toString$0(0) + "\u2092\u2099/" + A.S(_this.reverseCurve);
      return _this.parent.toString$0(0) + "\u27a9" + _this.curve.toString$0(0) + "/" + A.S(_this.reverseCurve) + "\u2092\u2099";
    },
    get$parent(receiver) {
      return this.parent;
    }
  };
  A._TrainHoppingMode.prototype = {
    toString$0(_) {
      return "_TrainHoppingMode." + this._core$_name;
    }
  };
  A.TrainHoppingAnimation.prototype = {
    _statusChangeHandler$1($status) {
      if ($status !== this._lastStatus) {
        this.notifyListeners$0();
        this._lastStatus = $status;
      }
    },
    get$status(_) {
      var t1 = this._currentTrain;
      return t1.get$status(t1);
    },
    _valueChangeHandler$0() {
      var t2, hop, _this = this,
        t1 = _this._nextTrain;
      if (t1 != null) {
        switch (_this._mode.index) {
          case 0:
            t1 = t1.get$value(t1);
            t2 = _this._currentTrain;
            hop = t1 <= t2.get$value(t2);
            break;
          case 1:
            t1 = t1.get$value(t1);
            t2 = _this._currentTrain;
            hop = t1 >= t2.get$value(t2);
            break;
          default:
            hop = false;
        }
        if (hop) {
          t1 = _this._currentTrain;
          t2 = _this.get$_statusChangeHandler();
          t1.removeStatusListener$1(t2);
          t1.removeListener$1(0, _this.get$_valueChangeHandler());
          t1 = _this._nextTrain;
          _this._currentTrain = t1;
          _this._nextTrain = null;
          t1.addStatusListener$1(t2);
          t2 = _this._currentTrain;
          _this._statusChangeHandler$1(t2.get$status(t2));
        }
      } else
        hop = false;
      t1 = _this._currentTrain;
      t1 = t1.get$value(t1);
      if (t1 !== _this._lastValue) {
        _this.notifyListeners$0();
        _this._lastValue = t1;
      }
      if (hop && _this.onSwitchedTrain != null)
        _this.onSwitchedTrain.call$0();
    },
    get$value(_) {
      var t1 = this._currentTrain;
      return t1.get$value(t1);
    },
    dispose$0() {
      var t1, t2, _this = this;
      _this._currentTrain.removeStatusListener$1(_this.get$_statusChangeHandler());
      t1 = _this.get$_valueChangeHandler();
      _this._currentTrain.removeListener$1(0, t1);
      _this._currentTrain = null;
      t2 = _this._nextTrain;
      if (t2 != null)
        t2.removeListener$1(0, t1);
      _this._nextTrain = null;
      _this.AnimationLocalListenersMixin__listeners.clear$0(0);
      _this.AnimationLocalStatusListenersMixin__statusListeners.clear$0(0);
      _this.super$AnimationEagerListenerMixin$dispose();
    },
    toString$0(_) {
      var _this = this;
      if (_this._nextTrain != null)
        return A.S(_this._currentTrain) + "\u27a9TrainHoppingAnimation(next: " + A.S(_this._nextTrain) + ")";
      return A.S(_this._currentTrain) + "\u27a9TrainHoppingAnimation(no next)";
    }
  };
  A.CompoundAnimation.prototype = {
    didStartListening$0() {
      var t3, _this = this,
        t1 = _this.first,
        t2 = _this.get$_maybeNotifyListeners();
      t1.addListener$1(0, t2);
      t3 = _this.get$_maybeNotifyStatusListeners();
      t1.addStatusListener$1(t3);
      t1 = _this.next;
      t1.addListener$1(0, t2);
      t1.addStatusListener$1(t3);
    },
    didStopListening$0() {
      var t3, _this = this,
        t1 = _this.first,
        t2 = _this.get$_maybeNotifyListeners();
      t1.removeListener$1(0, t2);
      t3 = _this.get$_maybeNotifyStatusListeners();
      t1.removeStatusListener$1(t3);
      t1 = _this.next;
      t1.removeListener$1(0, t2);
      t1.removeStatusListener$1(t3);
    },
    get$status(_) {
      var t1 = this.next;
      if (t1.get$status(t1) === B.AnimationStatus_1 || t1.get$status(t1) === B.AnimationStatus_2)
        return t1.get$status(t1);
      t1 = this.first;
      return t1.get$status(t1);
    },
    toString$0(_) {
      return "CompoundAnimation(" + this.first.toString$0(0) + ", " + this.next.toString$0(0) + ")";
    },
    _maybeNotifyStatusListeners$1(_) {
      var _this = this;
      if (_this.get$status(_this) != _this._lastStatus) {
        _this._lastStatus = _this.get$status(_this);
        _this.notifyStatusListeners$1(_this.get$status(_this));
      }
    },
    _maybeNotifyListeners$0() {
      var _this = this;
      if (!J.$eq$(_this.get$value(_this), _this._lastValue)) {
        _this._lastValue = _this.get$value(_this);
        _this.notifyListeners$0();
      }
    },
    get$first(receiver) {
      return this.first;
    }
  };
  A.AnimationMin.prototype = {
    get$value(_) {
      var t2,
        t1 = this.first;
      t1 = t1.get$value(t1);
      t2 = this.next;
      t2 = t2.get$value(t2);
      return Math.min(A.checkNum(t1), A.checkNum(t2));
    }
  };
  A._CompoundAnimation_Animation_AnimationLazyListenerMixin.prototype = {};
  A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin.prototype = {};
  A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  A._CurvedAnimation_Animation_AnimationWithParentMixin.prototype = {};
  A._ProxyAnimation_Animation_AnimationLazyListenerMixin.prototype = {};
  A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin.prototype = {};
  A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  A._ReverseAnimation_Animation_AnimationLazyListenerMixin.prototype = {};
  A._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin.prototype = {};
  A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin.prototype = {};
  A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin.prototype = {};
  A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin.prototype = {};
  A.ParametricCurve.prototype = {
    transform$1(_, t) {
      return this.transformInternal$1(t);
    },
    transformInternal$1(t) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    toString$0(_) {
      return "ParametricCurve";
    }
  };
  A.Curve.prototype = {
    transform$1(_, t) {
      if (t === 0 || t === 1)
        return t;
      return this.super$ParametricCurve$transform(0, t);
    }
  };
  A._Linear.prototype = {
    transformInternal$1(t) {
      return t;
    }
  };
  A.SawTooth.prototype = {
    transformInternal$1(t) {
      t *= this.count;
      return t - (t < 0 ? Math.ceil(t) : Math.floor(t));
    },
    toString$0(_) {
      return "SawTooth(" + this.count + ")";
    }
  };
  A.Interval.prototype = {
    transformInternal$1(t) {
      var t1 = this.begin;
      t = A.clampDouble((t - t1) / (this.end - t1), 0, 1);
      if (t === 0 || t === 1)
        return t;
      return this.curve.transform$1(0, t);
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.curve;
      if (!(t1 instanceof A._Linear))
        return "Interval(" + A.S(_this.begin) + "\u22ef" + A.S(_this.end) + ")\u27a9" + t1.toString$0(0);
      return "Interval(" + A.S(_this.begin) + "\u22ef" + A.S(_this.end) + ")";
    }
  };
  A.Threshold.prototype = {
    transformInternal$1(t) {
      return t < this.threshold ? 0 : 1;
    }
  };
  A.Cubic.prototype = {
    _evaluateCubic$3(a, b, m) {
      var t1 = 1 - m;
      return 3 * a * t1 * t1 * m + 3 * b * t1 * m * m + m * m * m;
    },
    transformInternal$1(t) {
      var t1, t2, start, end, midpoint, estimate, _this = this;
      for (t1 = _this.a, t2 = _this.c, start = 0, end = 1; true;) {
        midpoint = (start + end) / 2;
        estimate = _this._evaluateCubic$3(t1, t2, midpoint);
        if (Math.abs(t - estimate) < 0.001)
          return _this._evaluateCubic$3(_this.b, _this.d, midpoint);
        if (estimate < t)
          start = midpoint;
        else
          end = midpoint;
      }
    },
    toString$0(_) {
      var _this = this;
      return "Cubic(" + B.JSNumber_methods.toStringAsFixed$1(_this.a, 2) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.b, 2) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.c, 2) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.d, 2) + ")";
    }
  };
  A.ThreePointCubic.prototype = {
    transformInternal$1(t) {
      var firstCurve = t < 0.166666,
        scaleX = firstCurve ? 0.166666 : 0.833334,
        scaleY = firstCurve ? 0.4 : 0.6,
        scaledT = (t - (firstCurve ? 0 : 0.166666)) / scaleX;
      if (firstCurve)
        return new A.Cubic(0.05 / scaleX, 0 / scaleY, 0.133333 / scaleX, 0.06 / scaleY).transform$1(0, scaledT) * scaleY;
      else
        return new A.Cubic(0.04166699999999998 / scaleX, 0.41999999999999993 / scaleY, 0.08333399999999999 / scaleX, 0.6 / scaleY).transform$1(0, scaledT) * scaleY + 0.4;
    },
    toString$0(_) {
      return "ThreePointCubic(" + B.Offset_ILV.toString$0(0) + ", " + B.Offset_dGA.toString$0(0) + ", " + B.Offset_GNx.toString$0(0) + ", " + B.Offset_Muk.toString$0(0) + ", " + B.Offset_chs.toString$0(0) + ") ";
    }
  };
  A.FlippedCurve.prototype = {
    transformInternal$1(t) {
      return 1 - this.curve.transform$1(0, 1 - t);
    },
    toString$0(_) {
      return "FlippedCurve(" + this.curve.toString$0(0) + ")";
    }
  };
  A._DecelerateCurve.prototype = {
    transformInternal$1(t) {
      t = 1 - t;
      return 1 - t * t;
    }
  };
  A.AnimationLazyListenerMixin.prototype = {
    didRegisterListener$0() {
      if (this.AnimationLazyListenerMixin__listenerCounter === 0)
        this.didStartListening$0();
      ++this.AnimationLazyListenerMixin__listenerCounter;
    },
    didUnregisterListener$0() {
      if (--this.AnimationLazyListenerMixin__listenerCounter === 0)
        this.didStopListening$0();
    }
  };
  A.AnimationEagerListenerMixin.prototype = {
    didRegisterListener$0() {
    },
    didUnregisterListener$0() {
    },
    dispose$0() {
    }
  };
  A.AnimationLocalListenersMixin.prototype = {
    addListener$1(_, listener) {
      var t1;
      this.didRegisterListener$0();
      t1 = this.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(listener);
    },
    removeListener$1(_, listener) {
      if (this.AnimationLocalListenersMixin__listeners.remove$1(0, listener))
        this.didUnregisterListener$0();
    },
    notifyListeners$0() {
      var listener, exception, stack, _i, t3, exception0, rti, t4, t5, _this = this,
        t1 = _this.AnimationLocalListenersMixin__listeners,
        t2 = t1._list,
        localListeners = J.JSArray_JSArray$markFixed(t2.slice(0), A._arrayInstanceType(t2)._precomputed1);
      for (t2 = localListeners.length, _i = 0; _i < localListeners.length; localListeners.length === t2 || (0, A.throwConcurrentModificationError)(localListeners), ++_i) {
        t3 = {};
        listener = localListeners[_i];
        t3.collector = null;
        try {
          if (t1.contains$1(0, listener))
            listener.call$0();
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          rti = _this instanceof A.Closure ? A.closureFunctionType(_this) : null;
          t4 = A.ErrorDescription$("while notifying listeners for " + A.createRuntimeType(rti == null ? A.instanceType(_this) : rti).toString$0(0));
          t3 = t3.collector;
          t5 = $.$get$FlutterError_onError();
          if (t5 != null)
            t5.call$1(new A.FlutterErrorDetails(exception, stack, "animation library", t4, t3, false));
        }
      }
    }
  };
  A.AnimationLocalStatusListenersMixin.prototype = {
    addStatusListener$1(listener) {
      var t1;
      this.didRegisterListener$0();
      t1 = this.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(listener);
    },
    removeStatusListener$1(listener) {
      if (this.AnimationLocalStatusListenersMixin__statusListeners.remove$1(0, listener))
        this.didUnregisterListener$0();
    },
    notifyStatusListeners$1($status) {
      var listener, exception, stack, _i, exception0, rti, t3, t4, _this = this,
        t1 = _this.AnimationLocalStatusListenersMixin__statusListeners,
        t2 = t1._list,
        localListeners = J.JSArray_JSArray$markFixed(t2.slice(0), A._arrayInstanceType(t2)._precomputed1);
      for (t2 = localListeners.length, _i = 0; _i < localListeners.length; localListeners.length === t2 || (0, A.throwConcurrentModificationError)(localListeners), ++_i) {
        listener = localListeners[_i];
        try {
          if (t1.contains$1(0, listener))
            listener.call$1($status);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          rti = _this instanceof A.Closure ? A.closureFunctionType(_this) : null;
          t3 = A.ErrorDescription$("while notifying status listeners for " + A.createRuntimeType(rti == null ? A.instanceType(_this) : rti).toString$0(0));
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new A.FlutterErrorDetails(exception, stack, "animation library", t3, null, false));
        }
      }
    }
  };
  A.Animatable.prototype = {
    chain$1($parent) {
      return new A._ChainedEvaluation($parent, this, A._instanceType(this)._eval$1("_ChainedEvaluation<Animatable.T>"));
    }
  };
  A._AnimatedEvaluation.prototype = {
    get$value(_) {
      var t1 = this.parent;
      return this._evaluatable.transform$1(0, t1.get$value(t1));
    },
    toString$0(_) {
      var t1 = this.parent,
        t2 = this._evaluatable;
      return t1.toString$0(0) + "\u27a9" + t2.toString$0(0) + "\u27a9" + A.S(t2.transform$1(0, t1.get$value(t1)));
    },
    toStringDetails$0() {
      return A.S(this.super$Animation$toStringDetails()) + " " + this._evaluatable.toString$0(0);
    },
    get$parent(receiver) {
      return this.parent;
    }
  };
  A._ChainedEvaluation.prototype = {
    transform$1(_, t) {
      return this._evaluatable.transform$1(0, this._tween$_parent.transform$1(0, t));
    },
    toString$0(_) {
      return this._tween$_parent.toString$0(0) + "\u27a9" + this._evaluatable.toString$0(0);
    }
  };
  A.Tween.prototype = {
    lerp$1(t) {
      var t1 = this.begin;
      return A._instanceType(this)._eval$1("Tween.T")._as(J.$add$ansx(t1, J.$mul$ns(J.$sub$n(this.end, t1), t)));
    },
    transform$1(_, t) {
      var t1, _this = this;
      if (t === 0) {
        t1 = _this.begin;
        return t1 == null ? A._instanceType(_this)._eval$1("Tween.T")._as(t1) : t1;
      }
      if (t === 1) {
        t1 = _this.end;
        return t1 == null ? A._instanceType(_this)._eval$1("Tween.T")._as(t1) : t1;
      }
      return _this.lerp$1(t);
    },
    toString$0(_) {
      return "Animatable(" + A.S(this.begin) + " \u2192 " + A.S(this.end) + ")";
    },
    set$begin(val) {
      return this.begin = val;
    },
    set$end(receiver, val) {
      return this.end = val;
    }
  };
  A.ReverseTween.prototype = {
    lerp$1(t) {
      return this.parent.lerp$1(1 - t);
    }
  };
  A.ColorTween.prototype = {
    lerp$1(t) {
      return A.Color_lerp(this.begin, this.end, t);
    }
  };
  A.SizeTween.prototype = {
    lerp$1(t) {
      return A.Size_lerp(this.begin, this.end, t);
    }
  };
  A.RectTween.prototype = {
    lerp$1(t) {
      return A.Rect_lerp(this.begin, this.end, t);
    }
  };
  A.IntTween.prototype = {
    lerp$1(t) {
      var t2,
        t1 = this.begin;
      t1.toString;
      t2 = this.end;
      t2.toString;
      return B.JSNumber_methods.round$0(t1 + (t2 - t1) * t);
    }
  };
  A.CurveTween.prototype = {
    transform$1(_, t) {
      if (t === 0 || t === 1)
        return t;
      return this.curve.transform$1(0, t);
    },
    toString$0(_) {
      return "CurveTween(curve: " + this.curve.toString$0(0) + ")";
    }
  };
  A.__AnimatedEvaluation_Animation_AnimationWithParentMixin.prototype = {};
  A.TweenSequence.prototype = {
    TweenSequence$1(items, $T) {
      var t2, totalWeight, _i, start, i, t3, end,
        t1 = this._items;
      B.JSArray_methods.addAll$1(t1, items);
      for (t2 = t1.length, totalWeight = 0, _i = 0; _i < t2; ++_i)
        totalWeight += t1[_i].weight;
      for (t2 = this._intervals, start = 0, i = 0; t3 = t1.length, i < t3; ++i, start = end) {
        end = i === t3 - 1 ? 1 : start + t1[i].weight / totalWeight;
        t2.push(new A._Interval(start, end));
      }
    },
    _evaluateAt$2(t, index) {
      var element = this._items[index],
        tInterval = this._intervals[index].value$1(0, t);
      return element.tween.transform$1(0, tInterval);
    },
    transform$1(_, t) {
      var t1, t2, t3, index, t4, t5, _this = this;
      if (t === 1)
        return _this._evaluateAt$2(t, _this._items.length - 1);
      for (t1 = _this._items, t2 = t1.length, t3 = _this._intervals, index = 0; index < t2; ++index) {
        t4 = t3[index];
        t5 = t4.start;
        if (t >= t5 && t < t4.end)
          return t1[index].tween.transform$1(0, (t - t5) / (t4.end - t5));
      }
      throw A.wrapException(A.StateError$("TweenSequence.evaluate() could not find an interval for " + A.S(t)));
    },
    toString$0(_) {
      return "TweenSequence(" + this._items.length + " items)";
    }
  };
  A.TweenSequenceItem.prototype = {};
  A._Interval.prototype = {
    contains$1(_, t) {
      return t >= this.start && t < this.end;
    },
    value$1(_, t) {
      var t1 = this.start;
      return (t - t1) / (this.end - t1);
    },
    toString$0(_) {
      return "<" + A.S(this.start) + ", " + A.S(this.end) + ">";
    }
  };
  A.CupertinoDynamicColor.prototype = {
    get$value(_) {
      return this._effectiveColor.value;
    },
    get$_isPlatformBrightnessDependent() {
      var _this = this;
      return !_this.color.$eq(0, _this.darkColor) || !_this.elevatedColor.$eq(0, _this.darkElevatedColor) || !_this.highContrastColor.$eq(0, _this.darkHighContrastColor) || !_this.highContrastElevatedColor.$eq(0, _this.darkHighContrastElevatedColor);
    },
    get$_isHighContrastDependent() {
      var _this = this;
      return !_this.color.$eq(0, _this.highContrastColor) || !_this.darkColor.$eq(0, _this.darkHighContrastColor) || !_this.elevatedColor.$eq(0, _this.highContrastElevatedColor) || !_this.darkElevatedColor.$eq(0, _this.darkHighContrastElevatedColor);
    },
    get$_isInterfaceElevationDependent() {
      var _this = this;
      return !_this.color.$eq(0, _this.elevatedColor) || !_this.darkColor.$eq(0, _this.darkElevatedColor) || !_this.highContrastColor.$eq(0, _this.highContrastElevatedColor) || !_this.darkHighContrastColor.$eq(0, _this.darkHighContrastElevatedColor);
    },
    resolveFrom$1(context) {
      var inheritedTheme, t1, brightness, isHighContrastEnabled, resolved, _this = this, _null = null;
      if (_this.get$_isPlatformBrightnessDependent()) {
        inheritedTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$._InheritedCupertinoTheme);
        t1 = inheritedTheme == null ? _null : inheritedTheme.theme.data.get$brightness();
        if (t1 == null) {
          t1 = A.MediaQuery_maybeOf(context);
          t1 = t1 == null ? _null : t1.platformBrightness;
          brightness = t1;
        } else
          brightness = t1;
        if (brightness == null)
          brightness = B.Brightness_1;
      } else
        brightness = B.Brightness_1;
      if (_this.get$_isHighContrastDependent()) {
        t1 = A.MediaQuery_maybeOf(context);
        t1 = t1 == null ? _null : t1.highContrast;
        isHighContrastEnabled = t1 === true;
      } else
        isHighContrastEnabled = false;
      if (_this.get$_isInterfaceElevationDependent())
        A.CupertinoUserInterfaceLevel_maybeOf(context);
      switch (brightness.index) {
        case 1:
          switch (0) {
            case 0:
              resolved = isHighContrastEnabled ? _this.highContrastColor : _this.color;
              break;
          }
          break;
        case 0:
          switch (0) {
            case 0:
              resolved = isHighContrastEnabled ? _this.darkHighContrastColor : _this.darkColor;
              break;
          }
          break;
        default:
          resolved = _null;
      }
      return new A.CupertinoDynamicColor(resolved, _this._colors$_debugLabel, _null, _this.color, _this.darkColor, _this.highContrastColor, _this.darkHighContrastColor, _this.elevatedColor, _this.darkElevatedColor, _this.highContrastElevatedColor, _this.darkHighContrastElevatedColor, 0);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.CupertinoDynamicColor && other._effectiveColor.value === _this._effectiveColor.value && other.color.$eq(0, _this.color) && other.darkColor.$eq(0, _this.darkColor) && other.highContrastColor.$eq(0, _this.highContrastColor) && other.darkHighContrastColor.$eq(0, _this.darkHighContrastColor) && other.elevatedColor.$eq(0, _this.elevatedColor) && other.darkElevatedColor.$eq(0, _this.darkElevatedColor) && other.highContrastElevatedColor.$eq(0, _this.highContrastElevatedColor) && other.darkHighContrastElevatedColor.$eq(0, _this.darkHighContrastElevatedColor);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this._effectiveColor.value, _this.color, _this.darkColor, _this.highContrastColor, _this.elevatedColor, _this.darkElevatedColor, _this.darkHighContrastColor, _this.darkHighContrastElevatedColor, _this.highContrastElevatedColor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this,
        t1 = new A.CupertinoDynamicColor_toString_toString(_this),
        t2 = A._setArrayType([t1.call$2("color", _this.color)], type$.JSArray_String);
      if (_this.get$_isPlatformBrightnessDependent())
        t2.push(t1.call$2("darkColor", _this.darkColor));
      if (_this.get$_isHighContrastDependent())
        t2.push(t1.call$2("highContrastColor", _this.highContrastColor));
      if (_this.get$_isPlatformBrightnessDependent() && _this.get$_isHighContrastDependent())
        t2.push(t1.call$2("darkHighContrastColor", _this.darkHighContrastColor));
      if (_this.get$_isInterfaceElevationDependent())
        t2.push(t1.call$2("elevatedColor", _this.elevatedColor));
      if (_this.get$_isPlatformBrightnessDependent() && _this.get$_isInterfaceElevationDependent())
        t2.push(t1.call$2("darkElevatedColor", _this.darkElevatedColor));
      if (_this.get$_isHighContrastDependent() && _this.get$_isInterfaceElevationDependent())
        t2.push(t1.call$2("highContrastElevatedColor", _this.highContrastElevatedColor));
      if (_this.get$_isPlatformBrightnessDependent() && _this.get$_isHighContrastDependent() && _this.get$_isInterfaceElevationDependent())
        t2.push(t1.call$2("darkHighContrastElevatedColor", _this.darkHighContrastElevatedColor));
      t1 = _this._colors$_debugLabel;
      if (t1 == null)
        t1 = "CupertinoDynamicColor";
      t2 = B.JSArray_methods.join$1(t2, ", ");
      return t1 + "(" + t2 + ", resolved by: UNRESOLVED)";
    }
  };
  A.CupertinoDynamicColor_toString_toString.prototype = {
    call$2($name, color) {
      var marker = color.$eq(0, this.$this._effectiveColor) ? "*" : "";
      return marker + $name + " = " + color.toString$0(0) + marker;
    },
    $signature: 698
  };
  A._CupertinoDynamicColor_Color_Diagnosticable.prototype = {};
  A._CupertinoDesktopTextSelectionControls.prototype = {
    getHandleSize$1(textLineHeight) {
      return B.Size_0_0;
    },
    buildHandle$4(context, type, textLineHeight, onTap) {
      return B.SizedBox_0_0_null_null;
    },
    getHandleAnchor$2(type, textLineHeight) {
      return B.Offset_0_0;
    }
  };
  A.CupertinoIconThemeData.prototype = {
    resolve$1(context) {
      var t1 = this.color,
        resolvedColor = A.CupertinoDynamicColor_maybeResolve(t1, context);
      return J.$eq$(resolvedColor, t1) ? this : this.copyWith$1$color(resolvedColor);
    },
    copyWith$4$color$opacity$shadows$size(color, opacity, shadows, size) {
      var t2, t3, _this = this,
        t1 = color == null ? _this.color : color;
      if (opacity == null) {
        t2 = _this._opacity;
        t2 = t2 == null ? null : A.clampDouble(t2, 0, 1);
      } else
        t2 = opacity;
      t3 = size == null ? _this.size : size;
      return new A.CupertinoIconThemeData(t1, t2, t3, shadows == null ? _this.shadows : shadows);
    },
    copyWith$1$color(color) {
      return this.copyWith$4$color$opacity$shadows$size(color, null, null, null);
    }
  };
  A._CupertinoIconThemeData_IconThemeData_Diagnosticable.prototype = {};
  A._CupertinoLocalizationsDelegate.prototype = {
    isSupported$1(locale) {
      return locale.get$languageCode(locale) === "en";
    },
    load$1(_, locale) {
      return new A.SynchronousFuture(B.C_DefaultCupertinoLocalizations, type$.SynchronousFuture_CupertinoLocalizations);
    },
    shouldReload$1(old) {
      return false;
    },
    toString$0(_) {
      return "DefaultCupertinoLocalizations.delegate(en_US)";
    }
  };
  A.DefaultCupertinoLocalizations.prototype = {$isCupertinoLocalizations: 1};
  A.CupertinoRouteTransitionMixin_buildPageTransitions_closure.prototype = {
    call$0() {
      return A.CupertinoRouteTransitionMixin__isPopGestureEnabled(this.route);
    },
    $signature: 23
  };
  A.CupertinoRouteTransitionMixin_buildPageTransitions_closure0.prototype = {
    call$0() {
      var t1 = this.route,
        t2 = t1._navigator$_navigator;
      t2.toString;
      t1 = t1._routes$_controller;
      t1.toString;
      t2.didStartUserGesture$0();
      return new A._CupertinoBackGestureController(t1, t2, this.T._eval$1("_CupertinoBackGestureController<0>"));
    },
    $signature() {
      return this.T._eval$1("_CupertinoBackGestureController<0>()");
    }
  };
  A.CupertinoPageTransition.prototype = {
    build$1(context) {
      var textDirection, _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      t1 = _this._primaryShadowAnimation;
      return A.SlideTransition$(A.SlideTransition$(new A.DecoratedBoxTransition(t1, _this.child, t1, null), _this._primaryPositionAnimation, textDirection, true), _this._secondaryPositionAnimation, textDirection, false);
    }
  };
  A._CupertinoBackGestureDetector.prototype = {
    createState$0() {
      return new A._CupertinoBackGestureDetectorState(B._StateLifecycle_0, this.$ti._eval$1("_CupertinoBackGestureDetectorState<1>"));
    },
    enabledCallback$0() {
      return this.enabledCallback.call$0();
    },
    onStartPopGesture$0() {
      return this.onStartPopGesture.call$0();
    }
  };
  A._CupertinoBackGestureDetectorState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.HorizontalDragGestureRecognizer$(_this, null);
      t1.onStart = _this.get$_handleDragStart();
      t1.onUpdate = _this.get$_handleDragUpdate();
      t1.onEnd = _this.get$_handleDragEnd();
      t1.onCancel = _this.get$_handleDragCancel();
      _this.___CupertinoBackGestureDetectorState__recognizer = t1;
    },
    dispose$0() {
      var t1 = this.___CupertinoBackGestureDetectorState__recognizer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._velocityTrackers.clear$0(0);
      t1.super$OneSequenceGestureRecognizer$dispose();
      this.super$State$dispose();
    },
    _handleDragStart$1(details) {
      this._backGestureController = this._widget.onStartPopGesture$0();
    },
    _handleDragUpdate$1(details) {
      var t2, t3,
        t1 = this._backGestureController;
      t1.toString;
      t2 = details.primaryDelta;
      t2.toString;
      t3 = this._framework$_element;
      t3 = this._convertToLogical$1(t2 / t3.get$size(t3)._dx);
      t1 = t1.controller;
      t2 = t1.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.set$value(0, t2 - t3);
    },
    _handleDragEnd$1(details) {
      var t2, _this = this,
        t1 = _this._backGestureController;
      t1.toString;
      t2 = _this._framework$_element;
      t1.dragEnd$1(_this._convertToLogical$1(details.velocity.pixelsPerSecond._dx / t2.get$size(t2)._dx));
      _this._backGestureController = null;
    },
    _handleDragCancel$0() {
      var t1 = this._backGestureController;
      if (t1 != null)
        t1.dragEnd$1(0);
      this._backGestureController = null;
    },
    _handlePointerDown$1($event) {
      var t1;
      if (this._widget.enabledCallback$0()) {
        t1 = this.___CupertinoBackGestureDetectorState__recognizer;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.addPointer$1($event);
      }
    },
    _convertToLogical$1(value) {
      var t1 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      switch (t1.textDirection.index) {
        case 0:
          return -value;
        case 1:
          return value;
      }
    },
    build$1(context) {
      var t2, dragAreaWidth, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t2 = type$.MediaQuery;
      dragAreaWidth = t1.textDirection === B.TextDirection_1 ? context.dependOnInheritedWidgetOfExactType$1$0(t2).data.padding.left : context.dependOnInheritedWidgetOfExactType$1$0(t2).data.padding.right;
      dragAreaWidth = Math.max(dragAreaWidth, 20);
      return new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_2, B.Clip_1, A._setArrayType([this._widget.child, new A.PositionedDirectional(0, 0, 0, dragAreaWidth, A.Listener$(B.HitTestBehavior_2, _null, _null, this.get$_handlePointerDown(), _null, _null, _null), _null)], type$.JSArray_Widget), _null);
    }
  };
  A._CupertinoBackGestureController.prototype = {
    dragEnd$1(velocity) {
      var animateForward, t1, t2, animationStatusCallback, _this = this;
      if (Math.abs(velocity) >= 1)
        animateForward = velocity <= 0;
      else {
        t1 = _this.controller.__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        animateForward = t1 > 0.5;
      }
      if (animateForward) {
        t1 = _this.controller;
        t2 = t1.__AnimationController__value;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = A.lerpDouble(800, 0, t2);
        t2.toString;
        t2 = A.Duration$(0, Math.min(B.JSNumber_methods.floor$0(t2), 300));
        t1._direction = B._AnimationDirection_0;
        t1._animateToInternal$3$curve$duration(1, B.Cubic_2Vk, t2);
      } else {
        _this.navigator.pop$0();
        t1 = _this.controller;
        t2 = t1._ticker;
        if (t2 != null && t2._ticker$_future != null) {
          t2 = t1.__AnimationController__value;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2 = A.lerpDouble(0, 800, t2);
          t2.toString;
          t2 = A.Duration$(0, B.JSNumber_methods.floor$0(t2));
          t1._direction = B._AnimationDirection_1;
          t1._animateToInternal$3$curve$duration(0, B.Cubic_2Vk, t2);
        }
      }
      t2 = t1._ticker;
      if (t2 != null && t2._ticker$_future != null) {
        animationStatusCallback = A._Cell$named("animationStatusCallback");
        animationStatusCallback.__late_helper$_value = new A._CupertinoBackGestureController_dragEnd_closure(_this, animationStatusCallback);
        t2 = animationStatusCallback._readLocal$0();
        t1.didRegisterListener$0();
        t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
        t1._isDirty = true;
        t1._list.push(t2);
      } else
        _this.navigator.didStopUserGesture$0();
    }
  };
  A._CupertinoBackGestureController_dragEnd_closure.prototype = {
    call$1($status) {
      var t1 = this.$this;
      t1.navigator.didStopUserGesture$0();
      t1.controller.removeStatusListener$1(this.animationStatusCallback._readLocal$0());
    },
    $signature: 5
  };
  A._CupertinoEdgeShadowDecoration.prototype = {
    lerpFrom$2(a, t) {
      var t1;
      if (a instanceof A._CupertinoEdgeShadowDecoration) {
        t1 = A._CupertinoEdgeShadowDecoration_lerp(a, this, t);
        t1.toString;
        return t1;
      }
      t1 = A._CupertinoEdgeShadowDecoration_lerp(null, this, t);
      t1.toString;
      return t1;
    },
    lerpTo$2(b, t) {
      var t1;
      if (b instanceof A._CupertinoEdgeShadowDecoration) {
        t1 = A._CupertinoEdgeShadowDecoration_lerp(this, b, t);
        t1.toString;
        return t1;
      }
      t1 = A._CupertinoEdgeShadowDecoration_lerp(this, null, t);
      t1.toString;
      return t1;
    },
    createBoxPainter$1(onChanged) {
      return new A._CupertinoEdgeShadowPainter(this, onChanged);
    },
    $eq(_, other) {
      var t1, t2;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      if (other instanceof A._CupertinoEdgeShadowDecoration) {
        t1 = other._colors;
        t2 = this._colors;
        t2 = t1 == null ? t2 == null : t1 === t2;
        t1 = t2;
      } else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this._colors);
    }
  };
  A._CupertinoEdgeShadowDecoration_lerp_closure.prototype = {
    call$1(color) {
      var t1 = A.Color_lerp(null, color, this.t);
      t1.toString;
      return t1;
    },
    $signature: 131
  };
  A._CupertinoEdgeShadowDecoration_lerp_closure0.prototype = {
    call$1(color) {
      var t1 = A.Color_lerp(null, color, 1 - this.t);
      t1.toString;
      return t1;
    },
    $signature: 131
  };
  A._CupertinoEdgeShadowPainter.prototype = {
    paint$3(canvas, offset, configuration) {
      var t1, t2, shadowWidth, shadowHeight, bandWidth, start, shadowDirection, bandColorIndex, dx, paint, t3,
        colors = this._route$_decoration._colors;
      if (colors == null)
        return;
      t1 = configuration.size;
      t2 = t1._dx;
      shadowWidth = 0.05 * t2;
      shadowHeight = t1._dy;
      bandWidth = shadowWidth / (colors.length - 1);
      switch (configuration.textDirection.index) {
        case 0:
          start = offset._dx + t2;
          shadowDirection = 1;
          break;
        case 1:
          start = offset._dx;
          shadowDirection = -1;
          break;
        default:
          start = null;
          shadowDirection = null;
      }
      for (t1 = offset._dy, t2 = t1 + shadowHeight, bandColorIndex = 0, dx = 0; dx < shadowWidth; ++dx) {
        if (B.JSInt_methods.$tdiv(dx, bandWidth) !== bandColorIndex)
          ++bandColorIndex;
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t3 = A.Color_lerp(colors[bandColorIndex], colors[bandColorIndex + 1], B.JSInt_methods.$mod(dx, bandWidth) / bandWidth);
        t3.toString;
        paint.set$color(0, t3);
        t3 = start + shadowDirection * dx - 1;
        canvas.drawRect$2(new A.Rect(t3, t1, t3 + 1, t2), paint);
      }
    }
  };
  A.CupertinoScrollbar.prototype = {
    createState$0() {
      return new A._CupertinoScrollbarState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), null, null, B._StateLifecycle_0);
    }
  };
  A._CupertinoScrollbarState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$RawScrollbarState$initState();
      t1 = _this.___CupertinoScrollbarState__thicknessAnimationController = A.AnimationController$(null, B.Duration_100000, 0, null, 1, null, _this);
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(new A._CupertinoScrollbarState_initState_closure(_this));
    },
    updateScrollbarPainter$0() {
      var t2, t3, t4, _this = this,
        t1 = _this.__RawScrollbarState_scrollbarPainter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._framework$_element;
      t2.toString;
      t2 = B.CupertinoDynamicColor_zPV.resolveFrom$1(t2);
      t1.set$color(0, t2);
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1.set$textDirection(t2.textDirection);
      t2 = _this._widget;
      t3 = t2.thickness;
      t3.toString;
      t4 = _this.___CupertinoScrollbarState__thicknessAnimationController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t4.__AnimationController__value;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t1.set$thickness(t3 + t4 * (t2.thicknessWhileDragging - t3));
      t1.set$mainAxisMargin(3);
      t1.set$crossAxisMargin(3);
      t3 = _this._widget;
      t2 = t3.radius;
      t3 = t3.radiusWhileDragging;
      t4 = _this.___CupertinoScrollbarState__thicknessAnimationController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t4.__AnimationController__value;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = A.Radius_lerp(t2, t3, t4);
      t4.toString;
      t1.set$radius(t4);
      t1.set$padding(0, _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.padding);
      t1.set$minLength(0, 36);
      t1.set$minOverscrollLength(8);
      t1.set$scrollbarOrientation(_this._widget.scrollbarOrientation);
    },
    handleThumbPressStart$1(localPosition) {
      var _this = this;
      _this.super$RawScrollbarState$handleThumbPressStart(localPosition);
      switch (_this.getScrollbarDirection$0().index) {
        case 1:
          _this._pressStartAxisPosition = localPosition._dy;
          break;
        case 0:
          _this._pressStartAxisPosition = localPosition._dx;
          break;
      }
    },
    handleThumbPress$0() {
      if (this.getScrollbarDirection$0() == null)
        return;
      this.super$RawScrollbarState$handleThumbPress();
      var t1 = this.___CupertinoScrollbarState__thicknessAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0).then$1$1(new A._CupertinoScrollbarState_handleThumbPress_closure(), type$.void);
    },
    handleThumbPressEnd$2(localPosition, velocity) {
      var t1, _this = this,
        direction = _this.getScrollbarDirection$0();
      if (direction == null)
        return;
      t1 = _this.___CupertinoScrollbarState__thicknessAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.reverse$0(0);
      _this.super$RawScrollbarState$handleThumbPressEnd(localPosition, velocity);
      switch (direction.index) {
        case 1:
          if (Math.abs(velocity.pixelsPerSecond._dy) < 10 && Math.abs(localPosition._dy - _this._pressStartAxisPosition) > 0)
            A.HapticFeedback_mediumImpact();
          break;
        case 0:
          if (Math.abs(velocity.pixelsPerSecond._dx) < 10 && Math.abs(localPosition._dx - _this._pressStartAxisPosition) > 0)
            A.HapticFeedback_mediumImpact();
          break;
      }
    },
    dispose$0() {
      var t1 = this.___CupertinoScrollbarState__thicknessAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$RawScrollbarState$dispose();
    }
  };
  A._CupertinoScrollbarState_initState_closure.prototype = {
    call$0() {
      this.$this.updateScrollbarPainter$0();
    },
    $signature: 0
  };
  A._CupertinoScrollbarState_handleThumbPress_closure.prototype = {
    call$1(_) {
      return A.HapticFeedback_mediumImpact();
    },
    $signature: 701
  };
  A._TextSelectionHandlePainter.prototype = {
    paint$2(canvas, size) {
      var circle, line, path,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, this.color);
      circle = A.Rect$fromCircle(B.Offset_6_6, 6);
      line = A.Rect$fromPoints(B.Offset_6pl, new A.Offset(7, size._dy));
      path = A.Path_Path();
      path.addOval$1(circle);
      path.addRect$1(line);
      canvas.drawPath$2(path, paint);
    },
    shouldRepaint$1(oldPainter) {
      return !this.color.$eq(0, oldPainter.color);
    }
  };
  A.CupertinoTextSelectionControls.prototype = {
    getHandleSize$1(textLineHeight) {
      return new A.Size(12, textLineHeight + 12 - 1.5);
    },
    buildHandle$4(context, type, textLineHeight, onTap) {
      var t1, handle, t2, _null = null,
        customPaint = A.CustomPaint$(_null, _null, _null, new A._TextSelectionHandlePainter(A.CupertinoTheme_of(context).get$primaryColor(), _null), B.Size_0_0);
      switch (type.index) {
        case 0:
          return A.SizedBox$fromSize(customPaint, new A.Size(12, textLineHeight + 12 - 1.5));
        case 1:
          t1 = textLineHeight + 12 - 1.5;
          handle = A.SizedBox$fromSize(customPaint, new A.Size(12, t1));
          t2 = new A.Matrix4(new Float64Array(16));
          t2.setIdentity$0();
          t2.translate$2(0, 6, t1 / 2);
          t2.rotateZ$1(3.141592653589793);
          t2.translate$2(0, -6, -t1 / 2);
          return A.Transform$(_null, handle, t2, true);
        case 2:
          return B.SizedBox_null_null_null_null;
      }
    },
    getHandleAnchor$2(type, textLineHeight) {
      switch (type.index) {
        case 0:
          return new A.Offset(6, textLineHeight + 12 - 1.5);
        case 1:
          return new A.Offset(6, textLineHeight + 12 - 1.5 - 12 + 1.5);
        case 2:
          return new A.Offset(6, textLineHeight + (textLineHeight + 12 - 1.5 - textLineHeight) / 2);
      }
    }
  };
  A.CupertinoTextThemeData.prototype = {
    get$textStyle() {
      var t1 = this._text_theme$_defaults.labelColor;
      t1 = B.CupertinoDynamicColor_qQo.$eq(0, t1) ? B.TextStyle_c8s : B.TextStyle_c8s.copyWith$1$color(t1);
      return t1;
    },
    resolveFrom$1(context) {
      var _this = this,
        t1 = _this._text_theme$_defaults,
        resolvedLabelColor = t1.labelColor,
        resolvedLabelColor0 = resolvedLabelColor instanceof A.CupertinoDynamicColor ? resolvedLabelColor.resolveFrom$1(context) : resolvedLabelColor,
        resolvedInactiveGray = t1.inactiveGrayColor;
      if (resolvedInactiveGray instanceof A.CupertinoDynamicColor)
        resolvedInactiveGray = resolvedInactiveGray.resolveFrom$1(context);
      t1 = resolvedLabelColor0.$eq(0, resolvedLabelColor) && resolvedInactiveGray.$eq(0, B.CupertinoDynamicColor_YIZ) ? t1 : new A._TextThemeDefaultsBuilder(resolvedLabelColor0, resolvedInactiveGray);
      return new A.CupertinoTextThemeData(t1, A.CupertinoDynamicColor_maybeResolve(_this._primaryColor, context), A._resolveTextStyle(_this._textStyle, context), A._resolveTextStyle(_this._actionTextStyle, context), A._resolveTextStyle(_this._tabLabelTextStyle, context), A._resolveTextStyle(_this._navTitleTextStyle, context), A._resolveTextStyle(_this._navLargeTitleTextStyle, context), A._resolveTextStyle(_this._navActionTextStyle, context), A._resolveTextStyle(_this._pickerTextStyle, context), A._resolveTextStyle(_this._dateTimePickerTextStyle, context));
    }
  };
  A._TextThemeDefaultsBuilder.prototype = {};
  A._CupertinoTextThemeData_Object_Diagnosticable.prototype = {};
  A.CupertinoTheme.prototype = {
    build$1(context) {
      var _null = null;
      return new A._InheritedCupertinoTheme(this, A.IconTheme$(this.child, new A.CupertinoIconThemeData(this.data.get$primaryColor(), _null, _null, _null), _null), _null);
    }
  };
  A._InheritedCupertinoTheme.prototype = {
    updateShouldNotify$1(old) {
      return this.theme.data !== old.theme.data;
    }
  };
  A.CupertinoThemeData.prototype = {
    get$primaryColor() {
      var t1 = this.primaryColor;
      return t1 == null ? this._defaults.primaryColor : t1;
    },
    get$primaryContrastingColor() {
      var t1 = this.primaryContrastingColor;
      return t1 == null ? this._defaults.primaryContrastingColor : t1;
    },
    get$textTheme() {
      var _null = null,
        t1 = this.textTheme;
      if (t1 == null) {
        t1 = this._defaults.textThemeDefaults;
        t1 = new A._DefaultCupertinoTextThemeData(t1.labelColor, t1.inactiveGray, B._TextThemeDefaultsBuilder_1yH, this.get$primaryColor(), _null, _null, _null, _null, _null, _null, _null, _null);
      }
      return t1;
    },
    get$barBackgroundColor() {
      var t1 = this.barBackgroundColor;
      return t1 == null ? this._defaults.barBackgroundColor : t1;
    },
    get$scaffoldBackgroundColor() {
      var t1 = this.scaffoldBackgroundColor;
      return t1 == null ? this._defaults.scaffoldBackgroundColor : t1;
    },
    resolveFrom$1(context) {
      var _this = this,
        t1 = new A.CupertinoThemeData_resolveFrom_convertColor(context),
        t2 = _this.get$brightness(),
        t3 = t1.call$1(_this.primaryColor),
        t4 = t1.call$1(_this.primaryContrastingColor),
        t5 = _this.textTheme;
      t5 = t5 == null ? null : t5.resolveFrom$1(context);
      return A.CupertinoThemeData$_rawWithDefaults(t2, t3, t4, t5, t1.call$1(_this.barBackgroundColor), t1.call$1(_this.scaffoldBackgroundColor), _this._defaults.resolveFrom$2(context, _this.textTheme == null));
    }
  };
  A.CupertinoThemeData_resolveFrom_convertColor.prototype = {
    call$1(color) {
      return A.CupertinoDynamicColor_maybeResolve(color, this.context);
    },
    $signature: 296
  };
  A.NoDefaultCupertinoThemeData.prototype = {
    resolveFrom$1(context) {
      var _this = this,
        t1 = new A.NoDefaultCupertinoThemeData_resolveFrom_convertColor(context),
        t2 = _this.get$brightness(),
        t3 = t1.call$1(_this.get$primaryColor()),
        t4 = t1.call$1(_this.get$primaryContrastingColor()),
        t5 = _this.get$textTheme();
      t5 = t5 == null ? null : t5.resolveFrom$1(context);
      return new A.NoDefaultCupertinoThemeData(t2, t3, t4, t5, t1.call$1(_this.get$barBackgroundColor()), t1.call$1(_this.get$scaffoldBackgroundColor()));
    },
    get$brightness() {
      return this.brightness;
    },
    get$primaryColor() {
      return this.primaryColor;
    },
    get$primaryContrastingColor() {
      return this.primaryContrastingColor;
    },
    get$textTheme() {
      return this.textTheme;
    },
    get$barBackgroundColor() {
      return this.barBackgroundColor;
    },
    get$scaffoldBackgroundColor() {
      return this.scaffoldBackgroundColor;
    }
  };
  A.NoDefaultCupertinoThemeData_resolveFrom_convertColor.prototype = {
    call$1(color) {
      return A.CupertinoDynamicColor_maybeResolve(color, this.context);
    },
    $signature: 296
  };
  A._CupertinoThemeDefaults.prototype = {
    resolveFrom$2(context, resolveTextTheme) {
      var t5, t6, _this = this,
        t1 = new A._CupertinoThemeDefaults_resolveFrom_convertColor(context),
        t2 = t1.call$1(_this.primaryColor),
        t3 = t1.call$1(_this.primaryContrastingColor),
        t4 = t1.call$1(_this.barBackgroundColor);
      t1 = t1.call$1(_this.scaffoldBackgroundColor);
      t5 = _this.textThemeDefaults;
      if (resolveTextTheme) {
        t6 = t5.labelColor;
        if (t6 instanceof A.CupertinoDynamicColor)
          t6 = t6.resolveFrom$1(context);
        t5 = t5.inactiveGray;
        t5 = new A._CupertinoTextThemeDefaults(t6, t5 instanceof A.CupertinoDynamicColor ? t5.resolveFrom$1(context) : t5);
      }
      return new A._CupertinoThemeDefaults(_this.brightness, t2, t3, t4, t1, t5);
    }
  };
  A._CupertinoThemeDefaults_resolveFrom_convertColor.prototype = {
    call$1(color) {
      return color instanceof A.CupertinoDynamicColor ? color.resolveFrom$1(this.context) : color;
    },
    $signature: 131
  };
  A._CupertinoTextThemeDefaults.prototype = {};
  A._DefaultCupertinoTextThemeData.prototype = {
    get$textStyle() {
      return A.CupertinoTextThemeData.prototype.get$textStyle.call(this).copyWith$1$color(this.labelColor);
    }
  };
  A._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable.prototype = {};
  A._testPlatform_closure.prototype = {
    call$0() {
      return null;
    },
    $signature: 703
  };
  A._browserPlatform_closure.prototype = {
    call$0() {
      var t1 = window.navigator.platform,
        navigatorPlatform = t1 == null ? null : t1.toLowerCase();
      if (navigatorPlatform == null)
        navigatorPlatform = "";
      if (B.JSString_methods.startsWith$1(navigatorPlatform, "mac"))
        return B.TargetPlatform_4;
      if (B.JSString_methods.startsWith$1(navigatorPlatform, "win"))
        return B.TargetPlatform_5;
      if (B.JSString_methods.contains$1(navigatorPlatform, "iphone") || B.JSString_methods.contains$1(navigatorPlatform, "ipad") || B.JSString_methods.contains$1(navigatorPlatform, "ipod"))
        return B.TargetPlatform_2;
      if (B.JSString_methods.contains$1(navigatorPlatform, "android"))
        return B.TargetPlatform_0;
      if (window.matchMedia("only screen and (pointer: fine)").matches)
        return B.TargetPlatform_3;
      return B.TargetPlatform_0;
    },
    $signature: 704
  };
  A._ErrorDiagnostic.prototype = {
    get$value(_) {
      var t1 = A.DiagnosticsProperty.prototype.get$value.call(this, this);
      t1.toString;
      return t1;
    },
    valueToString$1$parentConfiguration(parentConfiguration) {
      var t1 = A.DiagnosticsProperty.prototype.get$value.call(this, this);
      t1.toString;
      return J.join$0$ax(t1);
    }
  };
  A.ErrorDescription.prototype = {};
  A.ErrorSummary.prototype = {};
  A.ErrorHint.prototype = {};
  A.ErrorSpacer.prototype = {};
  A.FlutterErrorDetails.prototype = {
    exceptionAsString$0() {
      var message, fullMessage, t1, t2, position, body, splitPoint,
        longMessage = this.exception;
      if (type$.AssertionError._is(longMessage)) {
        message = longMessage.get$message(longMessage);
        fullMessage = longMessage.toString$0(0);
        if (typeof message == "string" && message !== fullMessage) {
          t1 = fullMessage.length;
          t2 = J.getInterceptor$asx(message);
          if (t1 > t2.get$length(message)) {
            position = B.JSString_methods.lastIndexOf$1(fullMessage, message);
            if (position === t1 - t2.get$length(message) && position > 2 && B.JSString_methods.substring$2(fullMessage, position - 2, position) === ": ") {
              body = B.JSString_methods.substring$2(fullMessage, 0, position - 2);
              splitPoint = B.JSString_methods.indexOf$1(body, " Failed assertion:");
              if (splitPoint >= 0)
                body = B.JSString_methods.substring$2(body, 0, splitPoint) + "\n" + B.JSString_methods.substring$1(body, splitPoint + 1);
              longMessage = t2.trimRight$0(message) + "\n" + body;
            } else
              longMessage = null;
          } else
            longMessage = null;
        } else
          longMessage = null;
        if (longMessage == null)
          longMessage = fullMessage;
      } else if (!(typeof longMessage == "string"))
        longMessage = type$.Error._is(longMessage) || type$.Exception._is(longMessage) ? J.toString$0$(longMessage) : "  " + A.S(longMessage);
      longMessage = J.trimRight$0$s(longMessage);
      return longMessage.length === 0 ? "  <no message available>" : longMessage;
    },
    _exceptionToDiagnosticable$0() {
      var t1,
        exception = this.exception;
      if (exception instanceof A.FlutterError)
        return exception;
      if (type$.AssertionError._is(exception) && exception.get$message(exception) instanceof A.FlutterError) {
        t1 = J.get$message$x(exception);
        t1.toString;
        return type$.FlutterError._as(t1);
      }
      return null;
    },
    get$summary() {
      var t1, summary;
      if (this._exceptionToDiagnosticable$0() != null) {
        t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode);
        this.debugFillProperties$1(new A.DiagnosticPropertiesBuilder(t1, B.DiagnosticsTreeStyle_1));
        t1 = new A.CastList(t1, type$.CastList_of_DiagnosticsNode_and_nullable_DiagnosticsNode);
        summary = t1.firstWhere$2$orElse(t1, new A.FlutterErrorDetails_summary_closure(), new A.FlutterErrorDetails_summary_closure0());
      } else
        summary = null;
      return summary == null ? A.ErrorSummary$(new A.FlutterErrorDetails_summary_formatException(this).call$0()) : summary;
    },
    debugFillProperties$1(properties) {
      var t1, verb, diagnosticable, errorName, t2, t3, prefix, message, stackFrames, _this = this;
      _this.super$Diagnosticable$debugFillProperties(properties);
      t1 = _this.context;
      verb = A.ErrorDescription$("thrown" + A.S(t1 != null ? A.ErrorDescription$(" " + t1.toString$0(0)) : ""));
      diagnosticable = _this._exceptionToDiagnosticable$0();
      t1 = _this.exception;
      if (t1 instanceof A.NullThrownError)
        A.ErrorDescription$("The null value was " + verb.toString$0(0) + ".");
      else if (typeof t1 == "number")
        A.ErrorDescription$("The number " + A.S(t1) + " was " + verb.toString$0(0) + ".");
      else {
        if (type$.AssertionError._is(t1))
          errorName = A.ErrorDescription$("assertion");
        else if (typeof t1 == "string")
          errorName = A.ErrorDescription$("message");
        else {
          t2 = type$.Error._is(t1) || type$.Exception._is(t1);
          t3 = J.getInterceptor$(t1);
          errorName = t2 ? A.ErrorDescription$(t3.get$runtimeType(t1).toString$0(0)) : A.ErrorDescription$(t3.get$runtimeType(t1).toString$0(0) + " object");
        }
        A.ErrorDescription$("The following " + errorName.toString$0(0) + " was " + verb.toString$0(0) + ":");
        if (diagnosticable != null)
          B.JSArray_methods.forEach$1(diagnosticable.diagnostics, properties.get$add(properties));
        else {
          prefix = J.get$runtimeType$(t1).toString$0(0) + ": ";
          message = _this.exceptionAsString$0();
          A.ErrorSummary$(B.JSString_methods.startsWith$1(message, prefix) ? B.JSString_methods.substring$1(message, prefix.length) : message);
        }
      }
      t2 = _this.stack;
      if (t2 != null) {
        if (type$.AssertionError._is(t1) && diagnosticable == null) {
          t1 = A.StackFrame_fromStackString(A.FlutterError__defaultStackTraceDemangler(t2).toString$0(0));
          t3 = A._arrayInstanceType(t1)._eval$1("SkipWhileIterable<1>");
          stackFrames = A.List_List$of(new A.SkipWhileIterable(t1, new A.FlutterErrorDetails_debugFillProperties_closure(), t3), true, t3._eval$1("Iterable.E"));
          if (stackFrames.length >= 2 && stackFrames[0].$package === "flutter" && stackFrames[1].$package === "flutter") {
            A.ErrorSpacer$();
            A.ErrorHint$("Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.\nIn either case, please report this assertion by filing a bug on GitHub:\n  https://github.com/flutter/flutter/issues/new?template=2_bug.md");
          }
        }
        A.ErrorSpacer$();
        A.DiagnosticsStackTrace$("When the exception was thrown, this was the stack", t2, null);
      }
      t1 = _this.informationCollector;
      if (t1 != null) {
        A.ErrorSpacer$();
        J.forEach$1$ax(t1.call$0(), properties.get$add(properties));
      }
    },
    toStringShort$0() {
      return "Exception caught by " + this.library;
    },
    toString$0(_) {
      A._FlutterErrorDetailsNode$(null, B.DiagnosticsTreeStyle_5, this);
      return "";
    },
    get$stack() {
      return this.stack;
    }
  };
  A.FlutterErrorDetails_summary_formatException.prototype = {
    call$0() {
      return J.trimLeft$0$s(this.$this.exceptionAsString$0().split("\n")[0]);
    },
    $signature: 24
  };
  A.FlutterErrorDetails_summary_closure.prototype = {
    call$1(node) {
      return node.get$level(node) === B.DiagnosticLevel_6;
    },
    $signature: 705
  };
  A.FlutterErrorDetails_summary_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.FlutterErrorDetails_debugFillProperties_closure.prototype = {
    call$1(frame) {
      return frame.packageScheme === "dart";
    },
    $signature: 706
  };
  A.FlutterError.prototype = {
    get$message(_) {
      return this.toString$0(0);
    },
    toStringShort$0() {
      return "FlutterError";
    },
    toString$0(_) {
      var t1 = this.diagnostics;
      return new A.MappedListIterable(t1, new A.FlutterError_toString_closure(new A.TextTreeRenderer(4000000000, 65, B.DiagnosticLevel_2, -1)), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, "\n");
    },
    $isAssertionError: 1,
    $isDiagnosticableTree: 1
  };
  A.FlutterError_FlutterError_closure.prototype = {
    call$1(line) {
      return A.ErrorDescription$(line);
    },
    $signature: 707
  };
  A.FlutterError_defaultStackFilter_closure.prototype = {
    call$1(value) {
      return value + 1;
    },
    $signature: 32
  };
  A.FlutterError_defaultStackFilter_closure0.prototype = {
    call$1(value) {
      return value + 1;
    },
    $signature: 32
  };
  A.FlutterError_toString_closure.prototype = {
    call$1(node) {
      return B.JSString_methods.trimRight$0(this.renderer.render$1(node));
    },
    $signature: 708
  };
  A.debugPrintStack_closure.prototype = {
    call$1(line) {
      return B.JSString_methods.contains$1(line, "StackTrace.current") || B.JSString_methods.contains$1(line, "dart-sdk/lib/_internal") || B.JSString_methods.contains$1(line, "dart:sdk_internal");
    },
    $signature: 6
  };
  A.DiagnosticsStackTrace.prototype = {
    get$allowTruncate() {
      return false;
    }
  };
  A._FlutterErrorDetailsNode.prototype = {
    get$builder() {
      A.DiagnosticableNode.prototype.get$builder.call(this);
      return null;
    }
  };
  A._FlutterError_Error_DiagnosticableTreeMixin.prototype = {};
  A._FlutterErrorDetails_Object_Diagnosticable.prototype = {};
  A.BindingBase.prototype = {
    BindingBase$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, _this = this, _null = null;
      A.Timeline_startSync("Framework initialization", _null, _null);
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$initInstances();
      $.WidgetsBinding__instance = _this;
      t1 = type$.Element_2;
      t2 = A.HashSet_HashSet(t1);
      t3 = A._setArrayType([], type$.JSArray_Element);
      t4 = type$.int;
      t5 = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.void_Function_FocusHighlightMode, t4);
      t6 = A.FocusScopeNode$(true, "Root Focus Scope", false);
      t7 = A._setArrayType([], type$.JSArray__Autofocus);
      t8 = $.$get$ChangeNotifier__emptyListeners();
      t5 = t6._manager = new A.FocusManager(new A.HashedObserverList(t5, type$.HashedObserverList_of_void_Function_FocusHighlightMode), t6, A.LinkedHashSet_LinkedHashSet$_empty(type$.FocusNode), t7, t8);
      t6 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__keyEventManager;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t6.keyMessageHandler = t5.get$_handleKeyMessage();
      $.GestureBinding__instance.GestureBinding_pointerRouter._globalRoutes.$indexSet(0, t5.get$_handlePointerEvent(), _null);
      t1 = new A.BuildOwner(new A._InactiveElements(t2), t3, t5, A.LinkedHashMap_LinkedHashMap$_empty(type$.GlobalKey_State_StatefulWidget, t1));
      _this.WidgetsBinding__buildOwner = t1;
      t1.onBuildScheduled = _this.get$_handleBuildScheduled();
      $.$get$EnginePlatformDispatcher__instance()._onLocaleChanged = _this.get$handleLocaleChanged();
      B.OptionalMethodChannel_urv.setMethodCallHandler$1(_this.get$_handleNavigationInvocation());
      t1 = new A.DefaultPlatformMenuDelegate(A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.MenuItem), B.OptionalMethodChannel_SON);
      B.OptionalMethodChannel_SON.setMethodCallHandler$1(t1.get$_methodCallHandler());
      _this.WidgetsBinding___WidgetsBinding_platformMenuDelegate = t1;
      _this.initServiceExtensions$0();
      t1 = type$.String;
      A.postEvent("Flutter.FrameworkInitialization", A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
      A.Timeline_finishSync();
    },
    initInstances$0() {
    },
    initServiceExtensions$0() {
      this.registerStringServiceExtension$3$getter$name$setter(new A.BindingBase_initServiceExtensions_closure(), "connectedVmServiceUri", new A.BindingBase_initServiceExtensions_closure0());
      this.registerStringServiceExtension$3$getter$name$setter(new A.BindingBase_initServiceExtensions_closure1(), "activeDevToolsServerAddress", new A.BindingBase_initServiceExtensions_closure2());
    },
    lockEvents$1(callback) {
      var future,
        timelineTask = new A.TimelineTask(null, 0, A._setArrayType([], type$.JSArray_nullable__AsyncBlock));
      timelineTask.start$1(0, "Lock events");
      ++this._lockCount;
      future = callback.call$0();
      future.whenComplete$1(new A.BindingBase_lockEvents_closure(this, timelineTask));
      return future;
    },
    unlocked$0() {
    },
    performReassemble$0() {
      $.FlutterError__errorCount = 0;
      return A.Future_Future$value(null, type$.void);
    },
    registerBoolServiceExtension$3$getter$name$setter(getter, $name, setter) {
      this.registerServiceExtension$2$callback$name(new A.BindingBase_registerBoolServiceExtension_closure(this, setter, $name, getter), $name);
    },
    registerNumericServiceExtension$3$getter$name$setter(getter, $name, setter) {
      this.registerServiceExtension$2$callback$name(new A.BindingBase_registerNumericServiceExtension_closure(this, $name, setter, getter), $name);
    },
    _postExtensionStateChangedEvent$2($name, value) {
      A.postEvent("Flutter.ServiceExtensionStateChanged", A.LinkedHashMap_LinkedHashMap$_literal(["extension", "ext.flutter." + $name, "value", value], type$.String, type$.dynamic));
    },
    registerStringServiceExtension$3$getter$name$setter(getter, $name, setter) {
      this.registerServiceExtension$2$callback$name(new A.BindingBase_registerStringServiceExtension_closure(this, setter, $name, getter), $name);
    },
    registerServiceExtension$2$callback$name(callback, $name) {
      var methodName = "ext.flutter." + $name;
      A.registerExtension(methodName, new A.BindingBase_registerServiceExtension_closure(methodName, callback));
    },
    toString$0(_) {
      return "<BindingBase>";
    }
  };
  A.BindingBase_initServiceExtensions_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, 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 = $.connectedVmServiceUri;
              $async$returnValue = t1 == null ? "" : t1;
              // 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: 111
  };
  A.BindingBase_initServiceExtensions_closure0.prototype = {
    call$1(uri) {
      return this.$call$body$BindingBase_initServiceExtensions_closure0(uri);
    },
    $call$body$BindingBase_initServiceExtensions_closure0(uri) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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
              $.connectedVmServiceUri = uri;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 128
  };
  A.BindingBase_initServiceExtensions_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, 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 = $.activeDevToolsServerAddress;
              $async$returnValue = t1 == null ? "" : t1;
              // 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: 111
  };
  A.BindingBase_initServiceExtensions_closure2.prototype = {
    call$1(serverAddress) {
      return this.$call$body$BindingBase_initServiceExtensions_closure(serverAddress);
    },
    $call$body$BindingBase_initServiceExtensions_closure(serverAddress) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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
              $.activeDevToolsServerAddress = serverAddress;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 128
  };
  A.BindingBase_lockEvents_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (--t1._lockCount <= 0) {
        this.timelineTask.finish$0(0);
        t1.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$unlocked();
        if (t1.SchedulerBinding__taskQueue._priority_queue$_length !== 0)
          t1._ensureEventLoopCallback$0();
      }
    },
    $signature: 7
  };
  A.BindingBase_registerBoolServiceExtension_closure.prototype = {
    call$1(parameters) {
      return this.$call$body$BindingBase_registerBoolServiceExtension_closure(parameters);
    },
    $call$body$BindingBase_registerBoolServiceExtension_closure(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$call$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 = J.getInterceptor$x(parameters);
              $async$goto = t1.containsKey$1(parameters, "enabled") ? 3 : 4;
              break;
            case 3:
              // then
              $async$goto = 5;
              return A._asyncAwait($async$self.setter.call$1(J.$eq$(t1.$index(parameters, "enabled"), "true")), $async$call$1);
            case 5:
              // returning from await.
              $async$goto = 6;
              return A._asyncAwait($async$self.getter.call$0(), $async$call$1);
            case 6:
              // returning from await.
              t1 = $async$result ? "true" : "false";
              $async$self.$this._postExtensionStateChangedEvent$2($async$self.name, t1);
            case 4:
              // join
              $async$temp1 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self.getter.call$0(), $async$call$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1.LinkedHashMap_LinkedHashMap$_literal(["enabled", $async$result ? "true" : "false"], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 106
  };
  A.BindingBase_registerNumericServiceExtension_closure.prototype = {
    call$1(parameters) {
      return this.$call$body$BindingBase_registerNumericServiceExtension_closure(parameters);
    },
    $call$body$BindingBase_registerNumericServiceExtension_closure(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this, t1, t2, $async$temp1, $async$temp2, $async$temp3;
      var $async$call$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.name;
              t2 = J.getInterceptor$x(parameters);
              $async$goto = t2.containsKey$1(parameters, t1) ? 3 : 4;
              break;
            case 3:
              // then
              t2 = t2.$index(parameters, t1);
              t2.toString;
              $async$goto = 5;
              return A._asyncAwait($async$self.setter.call$1(A.double_parse(t2)), $async$call$1);
            case 5:
              // returning from await.
              $async$temp1 = $async$self.$this;
              $async$temp2 = t1;
              $async$temp3 = J;
              $async$goto = 6;
              return A._asyncAwait($async$self.getter.call$0(), $async$call$1);
            case 6:
              // returning from await.
              $async$temp1._postExtensionStateChangedEvent$2($async$temp2, $async$temp3.toString$0$($async$result));
            case 4:
              // join
              $async$temp1 = A;
              $async$temp2 = t1;
              $async$temp3 = J;
              $async$goto = 7;
              return A._asyncAwait($async$self.getter.call$0(), $async$call$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1.LinkedHashMap_LinkedHashMap$_literal([$async$temp2, $async$temp3.toString$0$($async$result)], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 106
  };
  A.BindingBase_registerStringServiceExtension_closure.prototype = {
    call$1(parameters) {
      return this.$call$body$BindingBase_registerStringServiceExtension_closure(parameters);
    },
    $call$body$BindingBase_registerStringServiceExtension_closure(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2;
      var $async$call$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 = J.getInterceptor$x(parameters);
              $async$goto = t1.containsKey$1(parameters, "value") ? 3 : 4;
              break;
            case 3:
              // then
              t1 = t1.$index(parameters, "value");
              t1.toString;
              $async$goto = 5;
              return A._asyncAwait($async$self.setter.call$1(t1), $async$call$1);
            case 5:
              // returning from await.
              $async$temp1 = $async$self.$this;
              $async$temp2 = $async$self.name;
              $async$goto = 6;
              return A._asyncAwait($async$self.getter.call$0(), $async$call$1);
            case 6:
              // returning from await.
              $async$temp1._postExtensionStateChangedEvent$2($async$temp2, $async$result);
            case 4:
              // join
              $async$temp1 = A;
              $async$goto = 7;
              return A._asyncAwait($async$self.getter.call$0(), $async$call$1);
            case 7:
              // returning from await.
              $async$returnValue = $async$temp1.LinkedHashMap_LinkedHashMap$_literal(["value", $async$result], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 106
  };
  A.BindingBase_registerServiceExtension_closure.prototype = {
    call$2(method, parameters) {
      return this.$call$body$BindingBase_registerServiceExtension_closure(method, parameters);
    },
    $call$body$BindingBase_registerServiceExtension_closure(method, parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ServiceExtensionResponse),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, exception, stack, exception0, t1, t2, $async$exception0, $async$temp1;
      var $async$call$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
              $async$goto = 3;
              return A._asyncAwait(A.debugInstrumentAction("Wait for outer event loop", new A.BindingBase_registerServiceExtension__closure(), type$.void), $async$call$2);
            case 3:
              // returning from await.
              result = A._Cell$named("result");
              $async$handler = 5;
              $async$temp1 = result;
              $async$goto = 8;
              return A._asyncAwait($async$self.callback.call$1(parameters), $async$call$2);
            case 8:
              // returning from await.
              $async$temp1.__late_helper$_value = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 7;
              break;
            case 5:
              // catch
              $async$handler = 4;
              $async$exception0 = $async$currentError;
              exception = A.unwrapException($async$exception0);
              stack = A.getTraceFromException($async$exception0);
              t1 = A.ErrorDescription$('during a service extension callback for "' + method + '"');
              A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "Flutter framework", t1, null, false));
              t1 = type$.String;
              t2 = B.C_JsonCodec.encode$1(A.LinkedHashMap_LinkedHashMap$_literal(["exception", J.toString$0$(exception), "stack", J.toString$0$(stack), "method", method], t1, t1));
              A.ServiceExtensionResponse__validateErrorCode(-32000);
              A.checkNotNullable(t2, "errorDetail", t1);
              $async$returnValue = new A.ServiceExtensionResponse();
              // goto return
              $async$goto = 1;
              break;
              // goto after finally
              $async$goto = 7;
              break;
            case 4:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 7:
              // after finally
              J.$indexSet$ax(result._readLocal$0(), "type", "_extensionType");
              J.$indexSet$ax(result._readLocal$0(), "method", method);
              $async$returnValue = A.ServiceExtensionResponse$result(B.C_JsonCodec.encode$1(result._readLocal$0()));
              // goto return
              $async$goto = 1;
              break;
            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$2, $async$completer);
    },
    $signature: 234
  };
  A.BindingBase_registerServiceExtension__closure.prototype = {
    call$0() {
      return A.Future_Future$delayed(B.Duration_0, null, type$.void);
    },
    $signature: 2
  };
  A.DebugReassembleConfig.prototype = {};
  A.Listenable.prototype = {};
  A.ValueListenable.prototype = {};
  A.ChangeNotifier.prototype = {
    addListener$1(_, listener) {
      var newListeners, i, _this = this,
        t1 = _this.ChangeNotifier__count,
        t2 = _this.ChangeNotifier__listeners,
        t3 = t2.length;
      if (t1 === t3) {
        t2 = type$.nullable_void_Function;
        if (t1 === 0) {
          t1 = A.List_List$filled(1, null, false, t2);
          _this.ChangeNotifier__listeners = t1;
        } else {
          newListeners = A.List_List$filled(t3 * 2, null, false, t2);
          for (t1 = _this.ChangeNotifier__count, t2 = _this.ChangeNotifier__listeners, i = 0; i < t1; ++i)
            newListeners[i] = t2[i];
          _this.ChangeNotifier__listeners = newListeners;
          t1 = newListeners;
        }
      } else
        t1 = t2;
      t1[_this.ChangeNotifier__count++] = listener;
    },
    _removeAt$1(index) {
      var newListeners, i, i0, _this = this,
        t1 = --_this.ChangeNotifier__count,
        t2 = _this.ChangeNotifier__listeners;
      if (t1 * 2 <= t2.length) {
        newListeners = A.List_List$filled(t1, null, false, type$.nullable_void_Function);
        for (t1 = _this.ChangeNotifier__listeners, i = 0; i < index; ++i)
          newListeners[i] = t1[i];
        for (t2 = _this.ChangeNotifier__count, i = index; i < t2; i = i0) {
          i0 = i + 1;
          newListeners[i] = t1[i0];
        }
        _this.ChangeNotifier__listeners = newListeners;
      } else {
        for (i = index; i < t1; i = i0) {
          i0 = i + 1;
          t2[i] = t2[i0];
        }
        t2[t1] = null;
      }
    },
    removeListener$1(_, listener) {
      var i, _this = this;
      for (i = 0; i < _this.ChangeNotifier__count; ++i)
        if (J.$eq$(_this.ChangeNotifier__listeners[i], listener)) {
          if (_this.ChangeNotifier__notificationCallStackDepth > 0) {
            _this.ChangeNotifier__listeners[i] = null;
            ++_this.ChangeNotifier__reentrantlyRemovedListeners;
          } else
            _this._removeAt$1(i);
          break;
        }
    },
    dispose$0() {
      this.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      this.ChangeNotifier__count = 0;
    },
    notifyListeners$0() {
      var i, exception, stack, t2, exception0, rti, t3, newLength, newListeners, newIndex, listener, newIndex0, swapIndex, _this = this,
        t1 = _this.ChangeNotifier__count;
      if (t1 === 0)
        return;
      ++_this.ChangeNotifier__notificationCallStackDepth;
      for (i = 0; i < t1; ++i)
        try {
          t2 = _this.ChangeNotifier__listeners[i];
          if (t2 != null)
            t2.call$0();
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          rti = _this instanceof A.Closure ? A.closureFunctionType(_this) : null;
          t2 = A.ErrorDescription$("while dispatching notifications for " + A.createRuntimeType(rti == null ? A.instanceType(_this) : rti).toString$0(0));
          t3 = $.$get$FlutterError_onError();
          if (t3 != null)
            t3.call$1(new A.FlutterErrorDetails(exception, stack, "foundation library", t2, new A.ChangeNotifier_notifyListeners_closure(_this), false));
        }
      if (--_this.ChangeNotifier__notificationCallStackDepth === 0 && _this.ChangeNotifier__reentrantlyRemovedListeners > 0) {
        newLength = _this.ChangeNotifier__count - _this.ChangeNotifier__reentrantlyRemovedListeners;
        t1 = _this.ChangeNotifier__listeners;
        if (newLength * 2 <= t1.length) {
          newListeners = A.List_List$filled(newLength, null, false, type$.nullable_void_Function);
          for (t1 = _this.ChangeNotifier__count, t2 = _this.ChangeNotifier__listeners, newIndex = 0, i = 0; i < t1; ++i) {
            listener = t2[i];
            if (listener != null) {
              newIndex0 = newIndex + 1;
              newListeners[newIndex] = listener;
              newIndex = newIndex0;
            }
          }
          _this.ChangeNotifier__listeners = newListeners;
        } else
          for (i = 0; i < newLength; ++i)
            if (t1[i] == null) {
              swapIndex = i + 1;
              for (; t2 = t1[swapIndex], t2 == null;)
                ++swapIndex;
              t1[i] = t2;
              t1[swapIndex] = null;
            }
        _this.ChangeNotifier__reentrantlyRemovedListeners = 0;
        _this.ChangeNotifier__count = newLength;
      }
    },
    $isListenable: 1
  };
  A.ChangeNotifier_notifyListeners_closure.prototype = {
    call$0() {
      var _null = null,
        t1 = this.$this;
      return A._setArrayType([A.DiagnosticsProperty$("The " + A.getRuntimeType(t1).toString$0(0) + " sending notification was", t1, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.ChangeNotifier)], type$.JSArray_DiagnosticsNode);
    },
    $signature: 36
  };
  A._MergingListenable.prototype = {
    addListener$1(_, listener) {
      var t1, t2, _i;
      for (t1 = this._change_notifier$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      var t1, t2, _i;
      for (t1 = this._change_notifier$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].removeListener$1(0, listener);
    },
    toString$0(_) {
      return "Listenable.merge([" + B.JSArray_methods.join$1(this._change_notifier$_children, ", ") + "])";
    }
  };
  A.ValueNotifier.prototype = {
    get$value(_) {
      return this._change_notifier$_value;
    },
    set$value(_, newValue) {
      if (J.$eq$(this._change_notifier$_value, newValue))
        return;
      this._change_notifier$_value = newValue;
      this.notifyListeners$0();
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this) + "(" + A.S(this._change_notifier$_value) + ")";
    },
    $isValueListenable: 1
  };
  A.DiagnosticLevel.prototype = {
    toString$0(_) {
      return "DiagnosticLevel." + this._core$_name;
    }
  };
  A.DiagnosticsTreeStyle.prototype = {
    toString$0(_) {
      return "DiagnosticsTreeStyle." + this._core$_name;
    }
  };
  A.TextTreeConfiguration.prototype = {};
  A._WordWrapParseMode.prototype = {
    toString$0(_) {
      return "_WordWrapParseMode." + this._core$_name;
    }
  };
  A._PrefixedStringBuilder.prototype = {
    incrementPrefixOtherLines$2$updateCurrentLine(suffix, updateCurrentLine) {
      var _this = this,
        t1 = _this._currentLine._contents.length === 0 || updateCurrentLine,
        t2 = _this._nextPrefixOtherLines;
      if (t1) {
        t1 = t2 == null ? _this._prefixOtherLines : t2;
        t1.toString;
        _this._prefixOtherLines = t1 + suffix;
        _this._nextPrefixOtherLines = null;
      } else {
        t1 = t2 == null ? _this._prefixOtherLines : t2;
        t1.toString;
        _this._nextPrefixOtherLines = t1 + suffix;
      }
    },
    get$requiresMultipleLines() {
      var _this = this,
        t1 = _this._numLines;
      if (t1 <= 1)
        if (!(t1 === 1 && _this._currentLine._contents.length !== 0)) {
          t1 = _this._currentLine._contents;
          t1 = t1.length + (_this._diagnostics$_buffer._contents.length === 0 ? _this.prefixLineOne : _this._prefixOtherLines).length > _this.wrapWidth;
        } else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    _finalizeLine$1(addTrailingLineBreak) {
      var lines, $length, i, _i, line, _this = this,
        firstLine = _this._diagnostics$_buffer._contents.length === 0,
        t1 = _this._currentLine,
        t2 = t1._contents,
        text = t2.charCodeAt(0) == 0 ? t2 : t2;
      t1._contents = "";
      t1 = _this._wrappableRanges;
      if (t1.length === 0) {
        _this._writeLine$3$firstLine$includeLineBreak(text, firstLine, addTrailingLineBreak);
        return;
      }
      t2 = firstLine ? _this.prefixLineOne.length : _this._prefixOtherLines.length;
      lines = A._PrefixedStringBuilder__wordWrapLine(text, t1, _this.wrapWidth, _this._prefixOtherLines.length, t2);
      $length = lines.length;
      for (t2 = !addTrailingLineBreak, i = 0, _i = 0; _i < lines.length; lines.length === $length || (0, A.throwConcurrentModificationError)(lines), ++_i) {
        line = lines[_i];
        ++i;
        _this._writeLine$3$firstLine$includeLineBreak(line, firstLine, !t2 || i < $length);
      }
      B.JSArray_methods.clear$0(t1);
    },
    write$2$allowWrap(_, s, allowWrap) {
      var lines, t1, t2, i, t3, line, wrapStart, wrapEnd, _this = this;
      if (s.length === 0)
        return;
      lines = s.split("\n");
      for (t1 = _this._currentLine, t2 = _this._wrappableRanges, i = 0; i < lines.length; ++i) {
        if (i > 0) {
          _this._finalizeLine$1(true);
          t3 = _this._nextPrefixOtherLines;
          if (t3 != null) {
            _this._prefixOtherLines = t3;
            _this._nextPrefixOtherLines = null;
          }
        }
        line = lines[i];
        t3 = line.length;
        if (t3 !== 0) {
          if (allowWrap && true) {
            wrapStart = t1._contents.length;
            wrapEnd = wrapStart + t3;
            if (t2.length !== 0 && B.JSArray_methods.get$last(t2) === wrapStart)
              B.JSArray_methods.set$last(t2, wrapEnd);
            else {
              t2.push(wrapStart);
              t2.push(wrapEnd);
            }
          }
          t1._contents += line;
        }
      }
    },
    write$1($receiver, s) {
      return this.write$2$allowWrap($receiver, s, false);
    },
    _updatePrefix$0() {
      var t1 = this._nextPrefixOtherLines;
      if (t1 != null) {
        this._prefixOtherLines = t1;
        this._nextPrefixOtherLines = null;
      }
    },
    _writeLine$3$firstLine$includeLineBreak(line, firstLine, includeLineBreak) {
      var _this = this,
        t1 = _this._diagnostics$_buffer,
        t2 = t1._contents += B.JSString_methods.trimRight$0(A.S(t1._contents.length === 0 ? _this.prefixLineOne : _this._prefixOtherLines) + line);
      if (includeLineBreak)
        t1._contents = t2 + "\n";
      ++_this._numLines;
    },
    writeRawLines$1(lines) {
      var t1, t2, _this = this;
      if (lines.length === 0)
        return;
      if (_this._currentLine._contents.length !== 0)
        _this._finalizeLine$1(true);
      t1 = _this._diagnostics$_buffer;
      t2 = t1._contents += lines;
      if (!B.JSString_methods.endsWith$1(lines, "\n"))
        t1._contents = t2 + "\n";
      ++_this._numLines;
      _this._updatePrefix$0();
    },
    writeStretched$2(text, targetLineLength) {
      var t1, t2, targetLength, _this = this;
      _this.write$1(0, text);
      t1 = _this._currentLine;
      t2 = t1._contents;
      targetLength = targetLineLength - (t2.length + (_this._diagnostics$_buffer._contents.length === 0 ? _this.prefixLineOne : _this._prefixOtherLines).length);
      if (targetLength > 0)
        t1._contents += B.JSString_methods.$mul(text[text.length - 1], targetLength);
      B.JSArray_methods.clear$0(_this._wrappableRanges);
    }
  };
  A._PrefixedStringBuilder__wordWrapLine_noWrap.prototype = {
    call$1(index) {
      var t1, t2, t3;
      for (t1 = this._box_0, t2 = this.wrapRanges; true;) {
        t3 = t1.currentChunk;
        if (t3 >= t2.length)
          return true;
        if (index < t2[t3 + 1])
          break;
        t1.currentChunk = t3 + 2;
      }
      return index < t2[t1.currentChunk];
    },
    $signature: 41
  };
  A._NoDefaultValue.prototype = {};
  A.TextTreeRenderer.prototype = {
    render$4$parentConfiguration$prefixLineOne$prefixOtherLines(node, parentConfiguration, prefixLineOne, prefixOtherLines) {
      var t1 = this._debugRender$4$parentConfiguration$prefixLineOne$prefixOtherLines(node, parentConfiguration, prefixLineOne, prefixOtherLines);
      return t1;
    },
    render$1(node) {
      return this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(node, null, "", null);
    },
    _debugRender$4$parentConfiguration$prefixLineOne$prefixOtherLines(node, parentConfiguration, prefixLineOne, prefixOtherLines) {
      var isSingleLine, t1, t2, descendants, t3, t4, t5, builder, children, description, wrapName, wrapDescription, uppercaseTitle, $name, includeName, propertiesIterable, properties, i, t6, property, propertyRender, propertyLines, t7, t8, t9, prefixChildrenRaw, child, childStyle, childPrefixOtherLines, nextChildStyle, _this = this, _s1_ = "\n", _box_0 = {};
      _box_0.prefixOtherLines = prefixOtherLines;
      if (node.get$style(node) === B.DiagnosticsTreeStyle_8)
        isSingleLine = (parentConfiguration == null ? null : parentConfiguration.lineBreakProperties) !== true;
      else
        isSingleLine = false;
      if (prefixOtherLines == null) {
        _box_0.prefixOtherLines = prefixLineOne;
        t1 = prefixLineOne;
      } else
        t1 = prefixOtherLines;
      t2 = node.get$textTreeConfiguration();
      t2.toString;
      if (t1.length === 0)
        t1 = _box_0.prefixOtherLines = t1 + t2.prefixOtherLinesRootNode;
      if (node.get$style(node) === B.DiagnosticsTreeStyle_11) {
        descendants = A._setArrayType([], type$.JSArray_String);
        _box_0.lines = _box_0.depth = 0;
        new A.TextTreeRenderer__debugRender_visitor(_box_0, descendants).call$1(node);
        if (_box_0.lines > 1)
          t1 = prefixLineOne + ("This " + A.S(node.name) + " had the following descendants (showing up to depth 5):\n");
        else {
          t1 = A.S(node.name);
          t1 = descendants.length === 1 ? prefixLineOne + ("This " + t1 + " had the following child:\n") : prefixLineOne + ("This " + t1 + " has no descendants.\n");
        }
        t1 = A.StringBuffer__writeAll(t1, descendants, _s1_);
        return t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      t3 = _this._wrapWidthProperties;
      t4 = Math.max(_this._wrapWidth, t1.length + t3);
      t5 = new A.StringBuffer("");
      builder = new A._PrefixedStringBuilder(prefixLineOne, t1, t4, new A.StringBuffer(""), t5, A._setArrayType([], type$.JSArray_int));
      children = node.getChildren$0();
      description = node.toDescription$1$parentConfiguration(parentConfiguration);
      t1 = t2.beforeName;
      if (t1.length !== 0)
        builder.write$1(0, t1);
      t1 = !isSingleLine;
      wrapName = t1 && node.get$allowNameWrap();
      wrapDescription = t1 && node.get$allowWrap();
      uppercaseTitle = node.get$style(node) === B.DiagnosticsTreeStyle_5;
      $name = node.name;
      if (uppercaseTitle)
        $name = $name == null ? null : $name.toUpperCase();
      if (description.length === 0) {
        if (node.get$showName() && $name != null)
          builder.write$2$allowWrap(0, $name, wrapName);
      } else {
        if ($name != null && $name.length !== 0 && node.get$showName()) {
          builder.write$2$allowWrap(0, $name, wrapName);
          if (node.showSeparator)
            builder.write$2$allowWrap(0, t2.afterName, wrapName);
          builder.write$2$allowWrap(0, t2.isNameOnOwnLine || B.JSString_methods.contains$1(description, _s1_) ? _s1_ : " ", wrapName);
          includeName = true;
        } else
          includeName = false;
        if (t1 && builder.get$requiresMultipleLines() && t5._contents.length !== 0)
          builder.write$1(0, _s1_);
        if (includeName)
          builder.incrementPrefixOtherLines$2$updateCurrentLine(children.length === 0 ? t2.propertyPrefixNoChildren : t2.propertyPrefixIfChildren, true);
        if (uppercaseTitle)
          description = description.toUpperCase();
        builder.write$2$allowWrap(0, B.JSString_methods.trimRight$0(description), wrapDescription);
        if (!includeName)
          builder.incrementPrefixOtherLines$2$updateCurrentLine(children.length === 0 ? t2.propertyPrefixNoChildren : t2.propertyPrefixIfChildren, false);
      }
      t1 = t2.suffixLineOne;
      if (t1.length !== 0)
        builder.writeStretched$2(t1, t4);
      t1 = node.getProperties$0(0);
      t4 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
      propertiesIterable = new A.WhereIterable(t1, new A.TextTreeRenderer__debugRender_closure(_this), t4);
      t1 = _this._maxDescendentsTruncatableNode;
      if (t1 >= 0 && node.get$allowTruncate()) {
        t4 = t4._eval$1("Iterable.E");
        if (propertiesIterable.get$length(propertiesIterable) < t1) {
          t4 = A.TakeIterable_TakeIterable(propertiesIterable, t1, t4);
          properties = A.List_List$of(t4, true, A._instanceType(t4)._eval$1("Iterable.E"));
          B.JSArray_methods.add$1(properties, A.DiagnosticsNode_DiagnosticsNode$message("...", true, B.DiagnosticsTreeStyle_8));
        } else
          properties = A.List_List$of(propertiesIterable, true, t4);
        if (t1 < children.length) {
          children = A.SubListIterable$(children, 0, A.checkNotNullable(t1, "count", type$.int), A._arrayInstanceType(children)._precomputed1).toList$0(0);
          B.JSArray_methods.add$1(children, A.DiagnosticsNode_DiagnosticsNode$message("...", true, B.DiagnosticsTreeStyle_8));
        }
      } else
        properties = A.List_List$of(propertiesIterable, true, t4._eval$1("Iterable.E"));
      if (properties.length !== 0 || children.length !== 0 || node.get$emptyBodyDescription() != null)
        t1 = node.showSeparator || description.length !== 0;
      else
        t1 = false;
      if (t1)
        builder.write$1(0, t2.afterDescriptionIfBody);
      t1 = t2.lineBreakProperties;
      if (t1)
        builder.write$1(0, t2.lineBreak);
      if (properties.length !== 0)
        builder.write$1(0, t2.beforeProperties);
      t4 = t2.bodyIndent;
      builder.incrementPrefixOtherLines$2$updateCurrentLine(t4, false);
      if (node.get$emptyBodyDescription() != null && properties.length === 0 && children.length === 0 && prefixLineOne.length !== 0) {
        t5 = node.get$emptyBodyDescription();
        t5.toString;
        builder.write$1(0, t5);
        if (t1)
          builder.write$1(0, t2.lineBreak);
      }
      for (t5 = t2.propertySeparator, t1 = !t1, i = 0; t6 = properties.length, i < t6; ++i) {
        property = properties[i];
        if (i > 0)
          builder.write$1(0, t5);
        t6 = property.get$textTreeConfiguration();
        t6.toString;
        if (property.get$style(property) === B.DiagnosticsTreeStyle_8) {
          propertyRender = _this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(property, t2, t6.prefixLineOne, t6.childLinkSpace + t6.prefixOtherLines);
          propertyLines = propertyRender.split(_s1_);
          if (propertyLines.length === 1 && t1)
            builder.write$1(0, B.JSArray_methods.get$first(propertyLines));
          else {
            builder.write$1(0, propertyRender);
            if (!B.JSString_methods.endsWith$1(propertyRender, _s1_))
              builder.write$1(0, _s1_);
          }
        } else {
          t7 = builder._nextPrefixOtherLines;
          t8 = t7 == null;
          t9 = t8 ? builder._prefixOtherLines : t7;
          if (t8)
            t7 = builder._prefixOtherLines;
          builder.writeRawLines$1(_this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(property, t2, A.S(t9) + t6.prefixLineOne, A.S(t7) + t6.childLinkSpace + t6.prefixOtherLines));
        }
      }
      if (t6 !== 0)
        builder.write$1(0, t2.afterProperties);
      builder.write$1(0, "");
      if (t1)
        builder.write$1(0, t2.lineBreak);
      prefixChildrenRaw = A.S(_box_0.prefixOtherLines) + t4;
      if (children.length === 0)
        if (t2.addBlankLineIfNoChildren)
          if (builder.get$requiresMultipleLines()) {
            t1 = builder._nextPrefixOtherLines;
            if (t1 == null)
              t1 = builder._prefixOtherLines;
            t1.toString;
            t1 = B.JSString_methods.trimRight$0(t1).length !== 0;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        builder.write$1(0, t2.lineBreak);
      if (children.length !== 0 && t2.showChildren) {
        if (t2.isBlankLineBetweenPropertiesAndChildren && properties.length !== 0 && B.JSArray_methods.get$first(children).get$textTreeConfiguration().isBlankLineBetweenPropertiesAndChildren)
          builder.write$1(0, t2.lineBreak);
        builder._prefixOtherLines = _box_0.prefixOtherLines;
        builder._nextPrefixOtherLines = null;
        for (t1 = t2.lineBreak, t4 = builder.wrapWidth, i = 0; i < children.length; ++i) {
          child = children[i];
          childStyle = child.get$style(child);
          if (childStyle === B.DiagnosticsTreeStyle_8 || childStyle === B.DiagnosticsTreeStyle_9)
            t5 = t2;
          else
            t5 = child.get$textTreeConfiguration();
          t5.toString;
          if (i === children.length - 1) {
            t6 = t5.childLinkSpace;
            childPrefixOtherLines = prefixChildrenRaw + t6 + t5.prefixOtherLines;
            builder.writeRawLines$1(_this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(child, t2, prefixChildrenRaw + t5.prefixLastChildLineOne, childPrefixOtherLines));
            t7 = t5.footer;
            if (t7.length !== 0) {
              builder._prefixOtherLines = prefixChildrenRaw;
              builder._nextPrefixOtherLines = null;
              builder.write$1(0, t6 + t7);
              t5 = t5.mandatoryFooter;
              if (t5.length !== 0)
                builder.writeStretched$2(t5, Math.max(t4, t3 + childPrefixOtherLines.length));
              builder.write$1(0, t1);
            }
          } else {
            t6 = children[i + 1];
            childStyle = t6.get$style(t6);
            if (childStyle === B.DiagnosticsTreeStyle_8 || childStyle === B.DiagnosticsTreeStyle_9)
              nextChildStyle = t2;
            else
              nextChildStyle = t6.get$textTreeConfiguration();
            childPrefixOtherLines = prefixChildrenRaw + nextChildStyle.linkCharacter + t5.prefixOtherLines;
            builder.writeRawLines$1(_this.render$4$parentConfiguration$prefixLineOne$prefixOtherLines(child, t2, prefixChildrenRaw + t5.prefixLineOne, childPrefixOtherLines));
            t6 = t5.footer;
            if (t6.length !== 0) {
              builder._prefixOtherLines = prefixChildrenRaw;
              builder._nextPrefixOtherLines = null;
              builder.write$1(0, t5.linkCharacter + t6);
              t5 = t5.mandatoryFooter;
              if (t5.length !== 0)
                builder.writeStretched$2(t5, Math.max(t4, t3 + childPrefixOtherLines.length));
              builder.write$1(0, t1);
            }
          }
        }
      }
      if (parentConfiguration == null && t2.mandatoryFooter.length !== 0) {
        builder.writeStretched$2(t2.mandatoryFooter, builder.wrapWidth);
        builder.write$1(0, t2.lineBreak);
      }
      if (builder._currentLine._contents.length !== 0)
        builder._finalizeLine$1(false);
      t1 = builder._diagnostics$_buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.TextTreeRenderer__debugRender_visitor.prototype = {
    call$1(node) {
      var t1, t2, t3, t4, _i, child, t5;
      for (t1 = node.getChildren$0(), t2 = t1.length, t3 = this._box_0, t4 = this.descendants, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t5 = t3.lines;
        if (t5 < 25) {
          t5 = ++t3.depth;
          t4.push(A.S(t3.prefixOtherLines) + B.JSString_methods.$mul("  ", t5) + A.S(child));
          if (t3.depth < 5)
            this.call$1(child);
          --t3.depth;
        } else if (t5 === 25)
          t4.push(A.S(t3.prefixOtherLines) + "  ...(descendants list truncated after " + t5 + " lines)");
        ++t3.lines;
      }
    },
    $signature: 294
  };
  A.TextTreeRenderer__debugRender_closure.prototype = {
    call$1(n) {
      var t1 = n.get$level(n);
      return t1.index >= this.$this._minLevel.index;
    },
    $signature: 713
  };
  A.DiagnosticsNode.prototype = {
    get$level(_) {
      return B.DiagnosticLevel_3;
    },
    get$emptyBodyDescription() {
      return null;
    },
    get$allowWrap() {
      return false;
    },
    get$allowNameWrap() {
      return false;
    },
    get$allowTruncate() {
      return false;
    },
    toString$1$minLevel(_, minLevel) {
      return this.super$Object$toString(0);
    },
    toString$0($receiver) {
      return this.toString$1$minLevel($receiver, B.DiagnosticLevel_3);
    },
    get$textTreeConfiguration() {
      switch (this.get$style(this).index) {
        case 0:
          return null;
        case 3:
          return $.$get$denseTextConfiguration();
        case 1:
          return $.$get$sparseTextConfiguration();
        case 2:
          return $.$get$dashedTextConfiguration();
        case 6:
          return $.$get$whitespaceTextConfiguration();
        case 4:
          return $.$get$transitionTextConfiguration();
        case 8:
          return $.$get$singleLineTextConfiguration();
        case 9:
          return $.$get$errorPropertyTextConfiguration();
        case 10:
          return $.$get$shallowTextConfiguration();
        case 5:
          return $.$get$errorTextConfiguration();
        case 11:
          return $.$get$whitespaceTextConfiguration();
        case 7:
          return $.$get$flatTextConfiguration();
      }
    },
    get$name(receiver) {
      return this.name;
    },
    get$showName() {
      return this.showName;
    },
    get$style(receiver) {
      return this.style;
    }
  };
  A.DiagnosticsProperty.prototype = {
    valueToString$1$parentConfiguration(parentConfiguration) {
      var v = this.get$value(this);
      return type$.DiagnosticableTree._is(v) ? v.toStringShort$0() : J.toString$0$(v);
    },
    toDescription$1$parentConfiguration(parentConfiguration) {
      var t2, result, _this = this,
        t1 = _this._description;
      if (t1 != null) {
        t2 = _this.tooltip;
        return t2 == null ? t1 : t1 + " (" + t2 + ")";
      }
      _this._maybeCacheValue$0();
      if (_this._diagnostics$_exception != null) {
        _this._maybeCacheValue$0();
        return "EXCEPTION (" + J.get$runtimeType$(_this._diagnostics$_exception).toString$0(0) + ")";
      }
      t1 = _this.ifNull;
      if (t1 != null && _this.get$value(_this) == null) {
        t1.toString;
        t2 = _this.tooltip;
        if (!(t2 == null))
          t1 = t1 + " (" + t2 + ")";
        return t1;
      }
      result = _this.valueToString$1$parentConfiguration(parentConfiguration);
      if (result.length === 0 && _this.ifEmpty != null) {
        t1 = _this.ifEmpty;
        t1.toString;
        result = t1;
      }
      t1 = _this.tooltip;
      return t1 == null ? result : result + " (" + t1 + ")";
    },
    get$value(_) {
      this._maybeCacheValue$0();
      return this._diagnostics$_value;
    },
    _maybeCacheValue$0() {
      return;
    },
    get$isInteresting() {
      var t1 = this.defaultValue;
      return J.$eq$(t1, B.C__NoDefaultValue) || !J.$eq$(this.get$value(this), t1);
    },
    get$level(_) {
      var _this = this,
        t1 = _this._defaultLevel;
      if (t1 === B.DiagnosticLevel_0)
        return t1;
      _this._maybeCacheValue$0();
      if (_this._diagnostics$_exception != null)
        return B.DiagnosticLevel_7;
      if (_this.get$value(_this) == null && _this.missingIfNull)
        return B.DiagnosticLevel_4;
      if (!_this.get$isInteresting())
        return B.DiagnosticLevel_1;
      return t1;
    },
    getProperties$0(_) {
      return B.List_empty1;
    },
    getChildren$0() {
      return B.List_empty1;
    },
    get$allowWrap() {
      return this.allowWrap;
    },
    get$allowNameWrap() {
      return true;
    }
  };
  A.DiagnosticableNode.prototype = {
    get$builder() {
      var t1 = this._cachedBuilder;
      return t1;
    },
    get$style(_) {
      var t1 = this.style;
      if (t1 == null)
        t1 = this.get$builder().defaultDiagnosticsTreeStyle;
      return t1;
    },
    get$emptyBodyDescription() {
      return "";
    },
    getProperties$0(_) {
      return B.List_empty1;
    },
    getChildren$0() {
      return B.List_empty1;
    },
    toDescription$1$parentConfiguration(parentConfiguration) {
      return "";
    }
  };
  A.DiagnosticableTreeNode.prototype = {
    getChildren$0() {
      return this.value.debugDescribeChildren$0();
    }
  };
  A.DiagnosticPropertiesBuilder.prototype = {
    add$1(_, property) {
    }
  };
  A.Diagnosticable.prototype = {
    toStringShort$0() {
      return "<optimized out>#" + A.shortHash(this);
    },
    toString$1$minLevel(_, minLevel) {
      var t1 = this.toStringShort$0();
      return t1;
    },
    toString$0($receiver) {
      return this.toString$1$minLevel($receiver, B.DiagnosticLevel_3);
    },
    debugFillProperties$1(properties) {
    }
  };
  A.DiagnosticableTree.prototype = {
    toStringDeep$0() {
      this.toDiagnosticsNode$0();
      return "";
    },
    toStringShort$0() {
      return "<optimized out>#" + A.shortHash(this);
    },
    toDiagnosticsNode$2$name$style($name, style) {
      return A.DiagnosticableTreeNode$($name, style, this);
    },
    toDiagnosticsNode$0() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    debugDescribeChildren$0() {
      return B.List_empty1;
    }
  };
  A.DiagnosticableTreeMixin.prototype = {
    toString$0(_) {
      return this.toDiagnosticsNode$1$style(B.DiagnosticsTreeStyle_8).super$Object$toString(0);
    },
    toStringDeep$3$minLevel$prefixLineOne$prefixOtherLines(minLevel, prefixLineOne, prefixOtherLines) {
      this.toDiagnosticsNode$0();
      return "";
    },
    toStringShort$0() {
      return "<optimized out>#" + A.shortHash(this);
    },
    toDiagnosticsNode$2$name$style($name, style) {
      return A.DiagnosticableTreeNode$($name, style, this);
    },
    toDiagnosticsNode$1$style(style) {
      return this.toDiagnosticsNode$2$name$style(null, style);
    },
    toDiagnosticsNode$0() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    debugDescribeChildren$0() {
      return B.List_empty1;
    }
  };
  A.DiagnosticsBlock.prototype = {
    getChildren$0() {
      return this._diagnostics$_children;
    },
    getProperties$0(_) {
      return this._properties;
    },
    toDescription$1$parentConfiguration(parentConfiguration) {
      return this._description;
    },
    get$level() {
      return B.DiagnosticLevel_3;
    },
    get$allowTruncate() {
      return this.allowTruncate;
    }
  };
  A._DiagnosticableTree_Object_Diagnosticable.prototype = {};
  A.Key.prototype = {};
  A.LocalKey.prototype = {};
  A.UniqueKey.prototype = {
    toString$0(_) {
      return "[#" + A.shortHash(this) + "]";
    }
  };
  A.ValueKey.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return A._instanceType(this)._eval$1("ValueKey<ValueKey.T>")._is(other) && J.$eq$(other.value, this.value);
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), this.value, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1 = A._instanceType(this),
        t2 = t1._eval$1("ValueKey.T"),
        t3 = this.value,
        valueString = A.createRuntimeType(t2) === B.Type_String_k8F ? "<'" + A.S(t3) + "'>" : "<" + A.S(t3) + ">";
      if (A.getRuntimeType(this) === A.createRuntimeType(t1._eval$1("ValueKey<ValueKey.T>")))
        return "[" + valueString + "]";
      return "[" + A.createRuntimeType(t2).toString$0(0) + " " + valueString + "]";
    }
  };
  A._TypeLiteral.prototype = {};
  A.LicenseEntry.prototype = {};
  A.LicenseEntryWithLineBreaks.prototype = {};
  A.AbstractNode.prototype = {
    redepthChild$1(child) {
      var t1 = child._depth,
        t2 = this._depth;
      if (t1 <= t2) {
        child._depth = t2 + 1;
        child.redepthChildren$0();
      }
    },
    redepthChildren$0() {
    },
    get$owner() {
      return this._owner;
    },
    attach$1(owner) {
      this._owner = owner;
    },
    detach$0(_) {
      this._owner = null;
    },
    get$parent(_) {
      return this._node$_parent;
    },
    adoptChild$1(child) {
      var t1;
      child._node$_parent = this;
      t1 = this._owner;
      if (t1 != null)
        child.attach$1(t1);
      this.redepthChild$1(child);
    },
    dropChild$1(child) {
      child._node$_parent = null;
      if (this._owner != null)
        child.detach$0(0);
    }
  };
  A.ObserverList.prototype = {
    get$_observer_list$_set() {
      var result, _this = this,
        value = _this.__ObserverList__set;
      if (value === $) {
        result = A.HashSet_HashSet(_this.$ti._precomputed1);
        if (_this.__ObserverList__set !== $)
          A.throwUnnamedLateFieldADI();
        _this.__ObserverList__set = result;
        value = result;
      }
      return value;
    },
    remove$1(_, item) {
      this._isDirty = true;
      this.get$_observer_list$_set().clear$0(0);
      return B.JSArray_methods.remove$1(this._list, item);
    },
    clear$0(_) {
      this._isDirty = false;
      B.JSArray_methods.clear$0(this._list);
      this.get$_observer_list$_set().clear$0(0);
    },
    contains$1(_, element) {
      var _this = this,
        t1 = _this._list;
      if (t1.length < 3)
        return B.JSArray_methods.contains$1(t1, element);
      if (_this._isDirty) {
        _this.get$_observer_list$_set().addAll$1(0, t1);
        _this._isDirty = false;
      }
      return _this.get$_observer_list$_set().contains$1(0, element);
    },
    get$iterator(_) {
      var t1 = this._list;
      return new J.ArrayIterator(t1, t1.length, A._arrayInstanceType(t1)._eval$1("ArrayIterator<1>"));
    },
    get$isEmpty(_) {
      return this._list.length === 0;
    },
    get$isNotEmpty(_) {
      return this._list.length !== 0;
    },
    toList$1$growable(_, growable) {
      var t1 = this._list,
        t2 = A._arrayInstanceType(t1);
      return growable ? A._setArrayType(t1.slice(0), t2) : J.JSArray_JSArray$markFixed(t1.slice(0), t2._precomputed1);
    },
    toList$0($receiver) {
      return this.toList$1$growable($receiver, true);
    }
  };
  A.HashedObserverList.prototype = {
    add$1(_, item) {
      var t1 = this._observer_list$_map,
        t2 = t1.$index(0, item);
      t1.$indexSet(0, item, (t2 == null ? 0 : t2) + 1);
    },
    remove$1(_, item) {
      var t1 = this._observer_list$_map,
        value = t1.$index(0, item);
      if (value == null)
        return false;
      if (value === 1)
        t1.remove$1(0, item);
      else
        t1.$indexSet(0, item, value - 1);
      return true;
    },
    contains$1(_, element) {
      return this._observer_list$_map.containsKey$1(0, element);
    },
    get$iterator(_) {
      var t1 = this._observer_list$_map;
      return A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1);
    },
    get$isEmpty(_) {
      return this._observer_list$_map._length === 0;
    },
    get$isNotEmpty(_) {
      return this._observer_list$_map._length !== 0;
    }
  };
  A.TargetPlatform.prototype = {
    toString$0(_) {
      return "TargetPlatform." + this._core$_name;
    }
  };
  A.WriteBuffer.prototype = {
    _serialization$_add$1(_, byte) {
      var t1, t2, _this = this;
      if (_this._currentSize === _this._serialization$_buffer.length)
        _this._resize$0();
      t1 = _this._serialization$_buffer;
      t2 = _this._currentSize;
      t1[t2] = byte;
      _this._currentSize = t2 + 1;
    },
    _append$1(other) {
      var _this = this,
        t1 = other.length,
        newSize = _this._currentSize + t1;
      if (newSize >= _this._serialization$_buffer.length)
        _this._resize$1(newSize);
      B.NativeUint8List_methods.setRange$3(_this._serialization$_buffer, _this._currentSize, newSize, other);
      _this._currentSize += t1;
    },
    _addAll$3(data, start, end) {
      var _this = this,
        newEnd = end == null ? _this._eightBytesAsList.length : end,
        newSize = _this._currentSize + (newEnd - start);
      if (newSize >= _this._serialization$_buffer.length)
        _this._resize$1(newSize);
      B.NativeUint8List_methods.setRange$3(_this._serialization$_buffer, _this._currentSize, newSize, data);
      _this._currentSize = newSize;
    },
    _addAll$1(data) {
      return this._addAll$3(data, 0, null);
    },
    _resize$1(requiredLength) {
      var t1 = this._serialization$_buffer,
        t2 = t1.length,
        t3 = requiredLength == null ? 0 : requiredLength,
        newLength = Math.max(t3, t2 * 2),
        newBuffer = new Uint8Array(newLength);
      B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1);
      this._serialization$_buffer = newBuffer;
    },
    _resize$0() {
      return this._resize$1(null);
    },
    _alignTo$1(alignment) {
      var mod = B.JSInt_methods.$mod(this._currentSize, alignment);
      if (mod !== 0)
        this._addAll$3($.$get$WriteBuffer__zeroBuffer(), 0, alignment - mod);
    },
    done$0() {
      var result, _this = this;
      if (_this._isDone)
        throw A.wrapException(A.StateError$("done() must not be called more than once on the same " + A.getRuntimeType(_this).toString$0(0) + "."));
      result = A.NativeByteData_NativeByteData$view(_this._serialization$_buffer.buffer, 0, _this._currentSize);
      _this._serialization$_buffer = new Uint8Array(0);
      _this._isDone = true;
      return result;
    }
  };
  A.ReadBuffer.prototype = {
    getUint8$0(_) {
      return this.data.getUint8(this._serialization$_position++);
    },
    getInt64$0(_) {
      var t1 = this._serialization$_position,
        t2 = $.$get$Endian_host();
      B.NativeByteData_methods.getInt64$2(this.data, t1, t2);
    },
    getUint8List$1($length) {
      var t1 = this.data,
        list = A.NativeUint8List_NativeUint8List$view(t1.buffer, t1.byteOffset + this._serialization$_position, $length);
      this._serialization$_position += $length;
      return list;
    },
    getInt64List$1($length) {
      var t1;
      this._alignTo$1(8);
      t1 = this.data;
      B.NativeByteBuffer_methods.asInt64List$2(t1.buffer, t1.byteOffset + this._serialization$_position, $length);
    },
    _alignTo$1(alignment) {
      var t1 = this._serialization$_position,
        mod = B.JSInt_methods.$mod(t1, alignment);
      if (mod !== 0)
        this._serialization$_position = t1 + (alignment - mod);
    }
  };
  A.StackFrame.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.number, _this.$package, _this.line, _this.column, _this.className, _this.method, _this.source, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.StackFrame && other.number === _this.number && other.$package === _this.$package && other.line === _this.line && other.column === _this.column && other.className === _this.className && other.method === _this.method && other.source === _this.source;
    },
    toString$0(_) {
      var _this = this;
      return "StackFrame(#" + _this.number + ", " + _this.packageScheme + ":" + _this.$package + "/" + _this.packagePath + ":" + _this.line + ":" + _this.column + ", className: " + _this.className + ", method: " + _this.method + ")";
    },
    get$line(receiver) {
      return this.line;
    },
    get$className(receiver) {
      return this.className;
    }
  };
  A.StackFrame_fromStackString_closure.prototype = {
    call$1(line) {
      return line.length !== 0;
    },
    $signature: 6
  };
  A.SynchronousFuture.prototype = {
    catchError$2$test(onError, test) {
      return new A._Future($.Zone__current, this.$ti._eval$1("_Future<1>"));
    },
    catchError$1(onError) {
      return this.catchError$2$test(onError, null);
    },
    then$1$2$onError(onValue, onError, $R) {
      var result = onValue.call$1(this._synchronous_future$_value);
      if ($R._eval$1("Future<0>")._is(result))
        return result;
      return new A.SynchronousFuture($R._as(result), $R._eval$1("SynchronousFuture<0>"));
    },
    then$1$1(onValue, $R) {
      return this.then$1$2$onError(onValue, null, $R);
    },
    timeout$2$onTimeout(_, timeLimit, onTimeout) {
      return A.Future_Future$value(this._synchronous_future$_value, this.$ti._precomputed1).timeout$2$onTimeout(0, timeLimit, onTimeout);
    },
    timeout$1($receiver, timeLimit) {
      return this.timeout$2$onTimeout($receiver, timeLimit, null);
    },
    whenComplete$1(action) {
      var result, e, stack, t1, exception, _this = this;
      try {
        result = action.call$0();
        if (type$.Future_dynamic._is(result)) {
          t1 = result.then$1$1(new A.SynchronousFuture_whenComplete_closure(_this), _this.$ti._precomputed1);
          return t1;
        }
        return _this;
      } catch (exception) {
        e = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        t1 = A.Future_Future$error(e, stack, _this.$ti._precomputed1);
        return t1;
      }
    },
    $isFuture: 1
  };
  A.SynchronousFuture_whenComplete_closure.prototype = {
    call$1(value) {
      return this.$this._synchronous_future$_value;
    },
    $signature() {
      return this.$this.$ti._eval$1("1(@)");
    }
  };
  A.GestureDisposition.prototype = {
    toString$0(_) {
      return "GestureDisposition." + this._core$_name;
    }
  };
  A.GestureArenaMember.prototype = {};
  A.GestureArenaEntry.prototype = {};
  A._GestureArena.prototype = {
    toString$0(_) {
      var _this = this,
        t1 = _this.members;
      t1 = t1.length === 0 ? "" + "<empty>" : "" + new A.MappedListIterable(t1, new A._GestureArena_toString_closure(_this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, ", ");
      if (_this.isOpen)
        t1 += " [open]";
      if (_this.isHeld)
        t1 += " [held]";
      if (_this.hasPendingSweep)
        t1 += " [hasPendingSweep]";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A._GestureArena_toString_closure.prototype = {
    call$1(member) {
      if (member === this.$this.eagerWinner)
        return member.toString$0(0) + " (eager winner)";
      return member.toString$0(0);
    },
    $signature: 715
  };
  A.GestureArenaManager.prototype = {
    add$2(_, pointer, member) {
      this._arenas.putIfAbsent$2(0, pointer, new A.GestureArenaManager_add_closure(this, pointer)).members.push(member);
      return new A.GestureArenaEntry(this, pointer, member);
    },
    close$1(_, pointer) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      state.isOpen = false;
      this._tryToResolveArena$2(pointer, state);
    },
    sweep$1(pointer) {
      var i,
        t1 = this._arenas,
        state = t1.$index(0, pointer);
      if (state == null)
        return;
      if (state.isHeld) {
        state.hasPendingSweep = true;
        return;
      }
      t1.remove$1(0, pointer);
      t1 = state.members;
      if (t1.length !== 0) {
        B.JSArray_methods.get$first(t1).acceptGesture$1(pointer);
        for (i = 1; i < t1.length; ++i)
          t1[i].rejectGesture$1(pointer);
      }
    },
    hold$1(pointer) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      state.isHeld = true;
    },
    release$1(_, pointer) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      state.isHeld = false;
      if (state.hasPendingSweep)
        this.sweep$1(pointer);
    },
    _arena$_resolve$3(pointer, member, disposition) {
      var state = this._arenas.$index(0, pointer);
      if (state == null)
        return;
      if (disposition === B.GestureDisposition_1) {
        B.JSArray_methods.remove$1(state.members, member);
        member.rejectGesture$1(pointer);
        if (!state.isOpen)
          this._tryToResolveArena$2(pointer, state);
      } else if (state.isOpen) {
        if (state.eagerWinner == null)
          state.eagerWinner = member;
      } else
        this._resolveInFavorOf$3(pointer, state, member);
    },
    _tryToResolveArena$2(pointer, state) {
      var t1 = state.members.length;
      if (t1 === 1)
        A.scheduleMicrotask(new A.GestureArenaManager__tryToResolveArena_closure(this, pointer, state));
      else if (t1 === 0)
        this._arenas.remove$1(0, pointer);
      else {
        t1 = state.eagerWinner;
        if (t1 != null)
          this._resolveInFavorOf$3(pointer, state, t1);
      }
    },
    _resolveByDefault$2(pointer, state) {
      var t1 = this._arenas;
      if (!t1.containsKey$1(0, pointer))
        return;
      t1.remove$1(0, pointer);
      B.JSArray_methods.get$first(state.members).acceptGesture$1(pointer);
    },
    _resolveInFavorOf$3(pointer, state, member) {
      var t1, t2, _i, rejectedMember;
      this._arenas.remove$1(0, pointer);
      for (t1 = state.members, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        rejectedMember = t1[_i];
        if (rejectedMember !== member)
          rejectedMember.rejectGesture$1(pointer);
      }
      member.acceptGesture$1(pointer);
    }
  };
  A.GestureArenaManager_add_closure.prototype = {
    call$0() {
      return new A._GestureArena(A._setArrayType([], type$.JSArray_GestureArenaMember));
    },
    $signature: 716
  };
  A.GestureArenaManager__tryToResolveArena_closure.prototype = {
    call$0() {
      return this.$this._resolveByDefault$2(this.pointer, this.state);
    },
    $signature: 0
  };
  A._Resampler.prototype = {
    stop$0(_) {
      var t1, t2, t3, t4, t5, _this = this;
      for (t1 = _this._resamplers, 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>")), t4 = _this._binding0$_handlePointerEvent, t3 = t3._rest[1]; t2.moveNext$0();) {
        t5 = t2.__internal$_current;
        (t5 == null ? t3._as(t5) : t5).stop$1(0, t4);
      }
      t1.clear$0(0);
      _this._frameTime = B.Duration_0;
      t1 = _this._binding0$_timer;
      if (t1 != null)
        t1.cancel$0(0);
    }
  };
  A.GestureBinding.prototype = {
    _handlePointerDataPacket$1(packet) {
      var t1 = packet.data,
        t2 = $.$get$window()._debugDevicePixelRatio;
      this.GestureBinding__pendingPointerEvents.addAll$1(0, A.PointerEventConverter_expand(t1, t2 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t2));
      if (this._lockCount <= 0)
        this._flushPointerEventQueue$0();
    },
    cancelPointer$1(pointer) {
      var t1 = this.GestureBinding__pendingPointerEvents;
      if (t1._head === t1._tail && this._lockCount <= 0)
        A.scheduleMicrotask(this.get$_flushPointerEventQueue());
      t1.addFirst$1(A.PointerCancelEvent$(0, 0, 0, 0, 0, B.PointerDeviceKind_0, false, 0, pointer, B.Offset_0_0, 1, 1, 0, 0, 0, 0, 0, 0, B.Duration_0));
    },
    _flushPointerEventQueue$0() {
      for (var t1 = this.GestureBinding__pendingPointerEvents; !t1.get$isEmpty(t1);)
        this.handlePointerEvent$1(t1.removeFirst$0());
    },
    handlePointerEvent$1($event) {
      this.get$_resampler().stop$0(0);
      this._handlePointerEventImmediately$1($event);
    },
    _handlePointerEventImmediately$1($event) {
      var hitTestResult, t2, t3, _this = this,
        t1 = !type$.PointerDownEvent._is($event);
      if (!t1 || type$.PointerSignalEvent._is($event) || type$.PointerHoverEvent._is($event) || type$.PointerPanZoomStartEvent._is($event)) {
        hitTestResult = A.HitTestResult$();
        t2 = $event.get$position($event);
        t3 = _this.RendererBinding___RendererBinding__pipelineOwner;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3._rootNode.hitTest$2$position(hitTestResult, t2);
        _this.super$GestureBinding$hitTest(hitTestResult, t2);
        if (!t1 || type$.PointerPanZoomStartEvent._is($event))
          _this.GestureBinding__hitTests.$indexSet(0, $event.get$pointer(), hitTestResult);
        t1 = hitTestResult;
      } else if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event) || type$.PointerPanZoomEndEvent._is($event)) {
        hitTestResult = _this.GestureBinding__hitTests.remove$1(0, $event.get$pointer());
        t1 = hitTestResult;
      } else
        t1 = $event.get$down() || type$.PointerPanZoomUpdateEvent._is($event) ? _this.GestureBinding__hitTests.$index(0, $event.get$pointer()) : null;
      if (t1 != null || type$.PointerAddedEvent._is($event) || type$.PointerRemovedEvent._is($event))
        _this.dispatchEvent$2(0, $event, t1);
    },
    hitTest$2(result, position) {
      result.add$1(0, new A.HitTestEntry(this, type$.HitTestEntry_HitTestTarget));
    },
    dispatchEvent$2(_, $event, hitTestResult) {
      var exception, stack, entry, exception0, stack0, t1, t2, _i, t3, t4,
        _s15_ = "gesture library";
      if (hitTestResult == null) {
        try {
          this.GestureBinding_pointerRouter.route$1($event);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          A.FlutterError_reportError(A.FlutterErrorDetailsForPointerEventDispatcher$(A.ErrorDescription$("while dispatching a non-hit-tested pointer event"), $event, exception, null, new A.GestureBinding_dispatchEvent_closure($event), _s15_, stack));
        }
        return;
      }
      for (t1 = hitTestResult._path, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        entry = t1[_i];
        try {
          entry.target.handleEvent$2($event.transformed$1(entry._transform), entry);
        } catch (exception) {
          exception0 = A.unwrapException(exception);
          stack0 = A.getTraceFromException(exception);
          t3 = A.ErrorDescription$("while dispatching a pointer event");
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new A.FlutterErrorDetailsForPointerEventDispatcher(exception0, stack0, _s15_, t3, new A.GestureBinding_dispatchEvent_closure0($event, entry), false));
        }
      }
    },
    handleEvent$2($event, entry) {
      var _this = this;
      _this.GestureBinding_pointerRouter.route$1($event);
      if (type$.PointerDownEvent._is($event) || type$.PointerPanZoomStartEvent._is($event))
        _this.GestureBinding_gestureArena.close$1(0, $event.get$pointer());
      else if (type$.PointerUpEvent._is($event) || type$.PointerPanZoomEndEvent._is($event))
        _this.GestureBinding_gestureArena.sweep$1($event.get$pointer());
      else if (type$.PointerSignalEvent._is($event))
        _this.GestureBinding_pointerSignalResolver.resolve$1($event);
    },
    _handleSampleTimeChanged$0() {
      if (this._lockCount <= 0)
        this.get$_resampler().stop$0(0);
    },
    get$_resampler() {
      var _this = this,
        value = _this.GestureBinding___GestureBinding__resampler;
      if (value === $) {
        $.$get$Stopwatch__frequency();
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.GestureBinding___GestureBinding__resampler = new A._Resampler(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.PointerEventResampler), B.Duration_0, new A.Stopwatch(), B.Duration_0, B.Duration_0, _this.get$_handlePointerEventImmediately(), _this.get$_handleSampleTimeChanged(), B.Duration_16667);
      }
      return value;
    },
    $isHitTestTarget: 1
  };
  A.GestureBinding_dispatchEvent_closure.prototype = {
    call$0() {
      var _null = null;
      return A._setArrayType([A.DiagnosticsProperty$("Event", this.event, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.PointerEvent_2)], type$.JSArray_DiagnosticsNode);
    },
    $signature: 36
  };
  A.GestureBinding_dispatchEvent_closure0.prototype = {
    call$0() {
      var _null = null;
      return A._setArrayType([A.DiagnosticsProperty$("Event", this.event, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.PointerEvent_2), A.DiagnosticsProperty$("Target", this.entry.target, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.HitTestTarget)], type$.JSArray_DiagnosticsNode);
    },
    $signature: 36
  };
  A.FlutterErrorDetailsForPointerEventDispatcher.prototype = {};
  A.PointerEventConverter_expand_closure.prototype = {
    call$1(datum) {
      return datum.signalKind !== B.PointerSignalKind_2;
    },
    $signature: 718
  };
  A.PointerEventConverter_expand_closure0.prototype = {
    call$1(datum) {
      var t3, t4, t5, t6, t7, t8, t9, t10, pan, panDelta, scrollDelta,
        t1 = this.devicePixelRatio,
        position = new A.Offset(datum.physicalX, datum.physicalY).$div(0, t1),
        delta = new A.Offset(datum.physicalDeltaX, datum.physicalDeltaY).$div(0, t1),
        radiusMinor = datum.radiusMinor / t1,
        radiusMajor = datum.radiusMajor / t1,
        radiusMin = datum.radiusMin / t1,
        radiusMax = datum.radiusMax / t1,
        timeStamp = datum.timeStamp,
        kind = datum.kind,
        t2 = datum.signalKind;
      switch ((t2 == null ? B.PointerSignalKind_0 : t2).index) {
        case 0:
          switch (datum.change.index) {
            case 1:
              t1 = datum.device;
              t2 = datum.pressureMin;
              t3 = datum.pressureMax;
              return A.PointerAddedEvent$(t1, datum.distance, datum.distanceMax, 0, kind, false, datum.orientation, position, t3, t2, radiusMax, radiusMin, datum.tilt, timeStamp);
            case 3:
              t1 = datum.device;
              t2 = datum.buttons;
              t3 = datum.pressureMin;
              t4 = datum.pressureMax;
              t5 = datum.distance;
              t6 = datum.distanceMax;
              t7 = datum.size;
              t8 = datum.orientation;
              t9 = datum.tilt;
              return A.PointerHoverEvent$(t2, delta, t1, t5, t6, 0, kind, false, t8, position, t4, t3, radiusMajor, radiusMax, radiusMin, radiusMinor, t7, datum.synthesized, t9, timeStamp);
            case 4:
              t1 = datum.pointerIdentifier;
              t2 = datum.device;
              t3 = A._synthesiseDownButtons(datum.buttons, kind);
              t4 = datum.pressure;
              t5 = datum.pressureMin;
              t6 = datum.pressureMax;
              t7 = datum.distanceMax;
              t8 = datum.size;
              return A.PointerDownEvent$(t3, t2, t7, 0, kind, false, datum.orientation, t1, position, t4, t6, t5, radiusMajor, radiusMax, radiusMin, radiusMinor, t8, datum.tilt, timeStamp);
            case 5:
              t1 = datum.pointerIdentifier;
              t2 = datum.device;
              t3 = A._synthesiseDownButtons(datum.buttons, kind);
              t4 = datum.pressure;
              t5 = datum.pressureMin;
              t6 = datum.pressureMax;
              t7 = datum.distanceMax;
              t8 = datum.size;
              t9 = datum.orientation;
              t10 = datum.tilt;
              return A.PointerMoveEvent$(t3, delta, t2, t7, 0, kind, false, t9, datum.platformData, t1, position, t4, t6, t5, radiusMajor, radiusMax, radiusMin, radiusMinor, t8, datum.synthesized, t10, timeStamp);
            case 6:
              t1 = datum.pointerIdentifier;
              t2 = datum.device;
              t3 = datum.buttons;
              t4 = datum.pressure;
              t5 = datum.pressureMin;
              t6 = datum.pressureMax;
              t7 = datum.distance;
              t8 = datum.distanceMax;
              t9 = datum.size;
              return A.PointerUpEvent$(t3, t2, t7, t8, 0, kind, false, datum.orientation, t1, position, t4, t6, t5, radiusMajor, radiusMax, radiusMin, radiusMinor, t9, datum.tilt, timeStamp);
            case 0:
              t1 = datum.pointerIdentifier;
              t2 = datum.device;
              t3 = datum.buttons;
              t4 = datum.pressureMin;
              t5 = datum.pressureMax;
              t6 = datum.distance;
              t7 = datum.distanceMax;
              t8 = datum.size;
              return A.PointerCancelEvent$(t3, t2, t6, t7, 0, kind, false, datum.orientation, t1, position, t5, t4, radiusMajor, radiusMax, radiusMin, radiusMinor, t8, datum.tilt, timeStamp);
            case 2:
              t1 = datum.device;
              t2 = datum.pressureMin;
              t3 = datum.pressureMax;
              return A.PointerRemovedEvent$(t1, datum.distanceMax, 0, kind, false, position, t3, t2, radiusMax, radiusMin, timeStamp);
            case 7:
              t1 = datum.pointerIdentifier;
              return A.PointerPanZoomStartEvent$(datum.device, 0, kind, t1, position, datum.synthesized, timeStamp);
            case 8:
              pan = new A.Offset(0, 0).$div(0, t1);
              panDelta = new A.Offset(0, 0).$div(0, t1);
              t1 = datum.pointerIdentifier;
              return A.PointerPanZoomUpdateEvent$(datum.device, 0, kind, pan, panDelta, t1, position, 0, 0, datum.synthesized, timeStamp);
            case 9:
              t1 = datum.pointerIdentifier;
              return A.PointerPanZoomEndEvent$(datum.device, 0, kind, t1, position, datum.synthesized, timeStamp);
          }
          break;
        case 1:
          scrollDelta = new A.Offset(datum.scrollDeltaX, datum.scrollDeltaY).$div(0, t1);
          return A.PointerScrollEvent$(datum.device, 0, kind, position, scrollDelta, timeStamp);
        case 2:
          throw A.wrapException(A.StateError$("Unreachable"));
      }
    },
    $signature: 719
  };
  A.DragDownDetails.prototype = {
    toString$0(_) {
      return "DragDownDetails(" + this.globalPosition.toString$0(0) + ")";
    }
  };
  A.DragStartDetails.prototype = {
    toString$0(_) {
      return "DragStartDetails(" + this.globalPosition.toString$0(0) + ")";
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.DragUpdateDetails.prototype = {
    toString$0(_) {
      return "DragUpdateDetails(" + this.delta.toString$0(0) + ")";
    }
  };
  A.DragEndDetails.prototype = {
    toString$0(_) {
      return "DragEndDetails(" + this.velocity.toString$0(0) + ")";
    }
  };
  A.PointerEvent.prototype = {
    get$localPosition() {
      return this.position;
    },
    get$localDelta() {
      return this.delta;
    },
    get$timeStamp(receiver) {
      return this.timeStamp;
    },
    get$pointer() {
      return this.pointer;
    },
    get$kind(receiver) {
      return this.kind;
    },
    get$device(receiver) {
      return this.device;
    },
    get$position(receiver) {
      return this.position;
    },
    get$delta() {
      return this.delta;
    },
    get$buttons(receiver) {
      return this.buttons;
    },
    get$down() {
      return this.down;
    },
    get$obscured() {
      return this.obscured;
    },
    get$pressure(receiver) {
      return this.pressure;
    },
    get$pressureMin() {
      return this.pressureMin;
    },
    get$pressureMax() {
      return this.pressureMax;
    },
    get$distance() {
      return this.distance;
    },
    get$distanceMax() {
      return this.distanceMax;
    },
    get$size(receiver) {
      return this.size;
    },
    get$radiusMajor() {
      return this.radiusMajor;
    },
    get$radiusMinor() {
      return this.radiusMinor;
    },
    get$radiusMin() {
      return this.radiusMin;
    },
    get$radiusMax() {
      return this.radiusMax;
    },
    get$orientation(receiver) {
      return this.orientation;
    },
    get$tilt() {
      return this.tilt;
    },
    get$synthesized() {
      return this.synthesized;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._PointerEventDescription.prototype = {$isPointerEvent: 1};
  A._AbstractPointerEvent.prototype = {$isPointerEvent: 1};
  A._TransformedPointerEvent.prototype = {
    get$timeStamp(_) {
      return this.get$original().timeStamp;
    },
    get$pointer() {
      return this.get$original().pointer;
    },
    get$kind(_) {
      return this.get$original().kind;
    },
    get$device(_) {
      return this.get$original().device;
    },
    get$position(_) {
      return this.get$original().position;
    },
    get$delta() {
      return this.get$original().delta;
    },
    get$buttons(_) {
      return this.get$original().buttons;
    },
    get$down() {
      return this.get$original().down;
    },
    get$obscured() {
      this.get$original();
      return false;
    },
    get$pressure(_) {
      return this.get$original().pressure;
    },
    get$pressureMin() {
      return this.get$original().pressureMin;
    },
    get$pressureMax() {
      return this.get$original().pressureMax;
    },
    get$distance() {
      return this.get$original().distance;
    },
    get$distanceMax() {
      return this.get$original().distanceMax;
    },
    get$size(_) {
      return this.get$original().size;
    },
    get$radiusMajor() {
      return this.get$original().radiusMajor;
    },
    get$radiusMinor() {
      return this.get$original().radiusMinor;
    },
    get$radiusMin() {
      return this.get$original().radiusMin;
    },
    get$radiusMax() {
      return this.get$original().radiusMax;
    },
    get$orientation(_) {
      return this.get$original().orientation;
    },
    get$tilt() {
      return this.get$original().tilt;
    },
    get$synthesized() {
      return this.get$original().synthesized;
    },
    get$localPosition() {
      var result, _this = this,
        value = _this.___TransformedPointerEvent_localPosition;
      if (value === $) {
        result = A.PointerEvent_transformPosition(_this.get$transform(_this), _this.get$original().position);
        if (_this.___TransformedPointerEvent_localPosition !== $)
          A.throwUnnamedLateFieldADI();
        _this.___TransformedPointerEvent_localPosition = result;
        value = result;
      }
      return value;
    },
    get$localDelta() {
      var t1, t2, t3, result, _this = this,
        value = _this.___TransformedPointerEvent_localDelta;
      if (value === $) {
        t1 = _this.get$transform(_this);
        t2 = _this.get$original();
        t3 = _this.get$original();
        result = A.PointerEvent_transformDeltaViaPositions(t1, _this.get$localPosition(), t2.delta, t3.position);
        if (_this.___TransformedPointerEvent_localDelta !== $)
          A.throwUnnamedLateFieldADI();
        _this.___TransformedPointerEvent_localDelta = result;
        value = result;
      }
      return value;
    }
  };
  A._CopyPointerAddedEvent.prototype = {};
  A.PointerAddedEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerAddedEvent(this, transform);
    }
  };
  A._TransformedPointerAddedEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerAddedEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerRemovedEvent.prototype = {};
  A.PointerRemovedEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerRemovedEvent(this, transform);
    }
  };
  A._TransformedPointerRemovedEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerRemovedEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerHoverEvent.prototype = {};
  A.PointerHoverEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerHoverEvent(this, transform);
    }
  };
  A._TransformedPointerHoverEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerHoverEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerEnterEvent.prototype = {};
  A.PointerEnterEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerEnterEvent(this, transform);
    }
  };
  A._TransformedPointerEnterEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerEnterEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerExitEvent.prototype = {};
  A.PointerExitEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerExitEvent(this, transform);
    }
  };
  A._TransformedPointerExitEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerExitEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerDownEvent.prototype = {};
  A.PointerDownEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerDownEvent(this, transform);
    }
  };
  A._TransformedPointerDownEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerDownEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerMoveEvent.prototype = {};
  A.PointerMoveEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerMoveEvent(this, transform);
    }
  };
  A._TransformedPointerMoveEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerMoveEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerUpEvent.prototype = {};
  A.PointerUpEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerUpEvent(this, transform);
    }
  };
  A._TransformedPointerUpEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerUpEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A.PointerSignalEvent.prototype = {};
  A._CopyPointerScrollEvent.prototype = {};
  A.PointerScrollEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerScrollEvent(this, transform);
    },
    get$scrollDelta() {
      return this.scrollDelta;
    }
  };
  A._TransformedPointerScrollEvent.prototype = {
    get$scrollDelta() {
      return this.original.scrollDelta;
    },
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerSignalEvent: 1,
    $isPointerScrollEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerPanZoomStartEvent.prototype = {};
  A.PointerPanZoomStartEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerPanZoomStartEvent(this, transform);
    }
  };
  A._TransformedPointerPanZoomStartEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerPanZoomStartEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerPanZoomUpdateEvent.prototype = {};
  A.PointerPanZoomUpdateEvent.prototype = {
    get$localPan() {
      return this.pan;
    },
    get$localPanDelta() {
      return this.panDelta;
    },
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerPanZoomUpdateEvent(this, transform);
    },
    get$pan(receiver) {
      return this.pan;
    },
    get$panDelta() {
      return this.panDelta;
    }
  };
  A._TransformedPointerPanZoomUpdateEvent.prototype = {
    get$pan(_) {
      return this.original.pan;
    },
    get$localPan() {
      var result, _this = this,
        value = _this.___TransformedPointerPanZoomUpdateEvent_localPan;
      if (value === $) {
        result = A.PointerEvent_transformPosition(_this.transform, _this.original.pan);
        if (_this.___TransformedPointerPanZoomUpdateEvent_localPan !== $)
          A.throwUnnamedLateFieldADI();
        _this.___TransformedPointerPanZoomUpdateEvent_localPan = result;
        value = result;
      }
      return value;
    },
    get$panDelta() {
      return this.original.panDelta;
    },
    get$localPanDelta() {
      var t1, result, _this = this,
        value = _this.___TransformedPointerPanZoomUpdateEvent_localPanDelta;
      if (value === $) {
        t1 = _this.original;
        result = A.PointerEvent_transformDeltaViaPositions(_this.transform, _this.get$localPan(), t1.panDelta, t1.pan);
        if (_this.___TransformedPointerPanZoomUpdateEvent_localPanDelta !== $)
          A.throwUnnamedLateFieldADI();
        _this.___TransformedPointerPanZoomUpdateEvent_localPanDelta = result;
        value = result;
      }
      return value;
    },
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerPanZoomUpdateEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerPanZoomEndEvent.prototype = {};
  A.PointerPanZoomEndEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerPanZoomEndEvent(this, transform);
    }
  };
  A._TransformedPointerPanZoomEndEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerPanZoomEndEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._CopyPointerCancelEvent.prototype = {};
  A.PointerCancelEvent.prototype = {
    transformed$1(transform) {
      if (transform == null || transform.$eq(0, this.transform))
        return this;
      return new A._TransformedPointerCancelEvent(this, transform);
    }
  };
  A._TransformedPointerCancelEvent.prototype = {
    transformed$1(transform) {
      return this.original.transformed$1(transform);
    },
    $isPointerCancelEvent: 1,
    get$original() {
      return this.original;
    },
    get$transform(receiver) {
      return this.transform;
    }
  };
  A._PointerAddedEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent.prototype = {};
  A._PointerCancelEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent.prototype = {};
  A._PointerDownEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent.prototype = {};
  A._PointerEnterEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent.prototype = {};
  A._PointerEvent_Object_Diagnosticable.prototype = {};
  A._PointerExitEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent.prototype = {};
  A._PointerHoverEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent.prototype = {};
  A._PointerMoveEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent.prototype = {};
  A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomEndEvent.prototype = {};
  A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomStartEvent.prototype = {};
  A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomUpdateEvent.prototype = {};
  A._PointerRemovedEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent.prototype = {};
  A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription.prototype = {};
  A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent.prototype = {};
  A._PointerUpEvent_PointerEvent__PointerEventDescription.prototype = {};
  A._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent.prototype = {};
  A.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent.prototype = {};
  A.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent.prototype = {};
  A.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent.prototype = {};
  A.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent.prototype = {};
  A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable.prototype = {};
  A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription.prototype = {};
  A.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent.prototype = {};
  A.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent.prototype = {};
  A.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent.prototype = {};
  A.__TransformedPointerPanZoomEndEvent__TransformedPointerEvent__CopyPointerPanZoomEndEvent.prototype = {};
  A.__TransformedPointerPanZoomStartEvent__TransformedPointerEvent__CopyPointerPanZoomStartEvent.prototype = {};
  A.__TransformedPointerPanZoomUpdateEvent__TransformedPointerEvent__CopyPointerPanZoomUpdateEvent.prototype = {};
  A.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent.prototype = {};
  A.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent.prototype = {};
  A.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent.prototype = {};
  A._ForceState.prototype = {
    toString$0(_) {
      return "_ForceState." + this._core$_name;
    }
  };
  A.ForcePressDetails.prototype = {};
  A.ForcePressGestureRecognizer.prototype = {
    addAllowedPointer$1($event) {
      var _this = this;
      if ($event.get$pressureMax() <= 1)
        _this.resolve$1(B.GestureDisposition_1);
      else {
        _this.super$OneSequenceGestureRecognizer$addAllowedPointer($event);
        if (_this._force_press$_state === B._ForceState_0) {
          _this._force_press$_state = B._ForceState_1;
          _this.__ForcePressGestureRecognizer__lastPosition = new A.OffsetPair($event.get$localPosition(), $event.get$position($event));
        }
      }
    },
    handleEvent$1($event) {
      var pressure, _this = this;
      if (type$.PointerMoveEvent._is($event) || type$.PointerDownEvent._is($event)) {
        pressure = A.ForcePressGestureRecognizer__inverseLerp($event.get$pressureMin(), $event.get$pressureMax(), $event.get$pressure($event));
        _this.__ForcePressGestureRecognizer__lastPosition = new A.OffsetPair($event.get$localPosition(), $event.get$position($event));
        _this.__ForcePressGestureRecognizer__lastPressure = pressure;
        if (_this._force_press$_state === B._ForceState_1)
          if (pressure > 0.4) {
            _this._force_press$_state = B._ForceState_3;
            _this.resolve$1(B.GestureDisposition_0);
          } else if ($event.get$delta().get$distanceSquared() > A.computeHitSlop($event.get$kind($event), _this.gestureSettings))
            _this.resolve$1(B.GestureDisposition_1);
        if (pressure > 0.4 && _this._force_press$_state === B._ForceState_2) {
          _this._force_press$_state = B._ForceState_3;
          if (_this.onStart != null)
            _this.invokeCallback$2("onStart", new A.ForcePressGestureRecognizer_handleEvent_closure(_this, pressure));
        }
      }
      _this.stopTrackingIfPointerNoLongerDown$1($event);
    },
    acceptGesture$1(pointer) {
      var _this = this,
        t1 = _this._force_press$_state;
      if (t1 === B._ForceState_1)
        t1 = _this._force_press$_state = B._ForceState_2;
      if (_this.onStart != null && t1 === B._ForceState_3)
        _this.invokeCallback$2("onStart", new A.ForcePressGestureRecognizer_acceptGesture_closure(_this));
    },
    didStopTrackingLastPointer$1(pointer) {
      var _this = this,
        t1 = _this._force_press$_state,
        wasAccepted = t1 === B._ForceState_3 || t1 === B._ForceState_4;
      if (t1 === B._ForceState_1) {
        _this.resolve$1(B.GestureDisposition_1);
        return;
      }
      if (wasAccepted && _this.onEnd != null)
        if (_this.onEnd != null)
          _this.invokeCallback$2("onEnd", new A.ForcePressGestureRecognizer_didStopTrackingLastPointer_closure(_this));
      _this._force_press$_state = B._ForceState_0;
    },
    rejectGesture$1(pointer) {
      this.stopTrackingPointer$1(pointer);
      this.didStopTrackingLastPointer$1(pointer);
    }
  };
  A.ForcePressGestureRecognizer_handleEvent_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.onStart;
      t2.toString;
      t1 = t1.__ForcePressGestureRecognizer__lastPosition;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t2.call$1(new A.ForcePressDetails(t1.global));
    },
    $signature: 0
  };
  A.ForcePressGestureRecognizer_acceptGesture_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.onStart;
      t2.toString;
      if (t1.__ForcePressGestureRecognizer__lastPressure === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__ForcePressGestureRecognizer__lastPosition;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t2.call$1(new A.ForcePressDetails(t1.global));
    },
    $signature: 0
  };
  A.ForcePressGestureRecognizer_didStopTrackingLastPointer_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.onEnd;
      t2.toString;
      t1 = t1.__ForcePressGestureRecognizer__lastPosition;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t2.call$1(new A.ForcePressDetails(t1.global));
    },
    $signature: 0
  };
  A.DeviceGestureSettings.prototype = {
    get$hashCode(_) {
      return A.Object_hash(this.touchSlop, 23, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.DeviceGestureSettings && other.touchSlop == this.touchSlop;
    },
    toString$0(_) {
      return "DeviceGestureSettings(touchSlop: " + A.S(this.touchSlop) + ")";
    }
  };
  A.HitTestEntry.prototype = {
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this) + "(" + this.target.toString$0(0) + ")";
    }
  };
  A._TransformPart.prototype = {};
  A._MatrixTransformPart.prototype = {
    multiply$1(_, rhs) {
      return this.matrix.multiplied$1(rhs);
    }
  };
  A._OffsetTransformPart.prototype = {
    multiply$1(_, rhs) {
      var t3, tx, ty, t4,
        t1 = new Float64Array(16),
        t2 = new A.Matrix4(t1);
      t2.setFrom$1(rhs);
      t3 = this.offset;
      tx = t3._dx;
      ty = t3._dy;
      t3 = t1[0];
      t4 = t1[3];
      t1[0] = t3 + tx * t4;
      t1[1] = t1[1] + ty * t4;
      t1[2] = t1[2] + 0 * t4;
      t1[3] = t4;
      t4 = t1[4];
      t3 = t1[7];
      t1[4] = t4 + tx * t3;
      t1[5] = t1[5] + ty * t3;
      t1[6] = t1[6] + 0 * t3;
      t1[7] = t3;
      t3 = t1[8];
      t4 = t1[11];
      t1[8] = t3 + tx * t4;
      t1[9] = t1[9] + ty * t4;
      t1[10] = t1[10] + 0 * t4;
      t1[11] = t4;
      t4 = t1[12];
      t3 = t1[15];
      t1[12] = t4 + tx * t3;
      t1[13] = t1[13] + ty * t3;
      t1[14] = t1[14] + 0 * t3;
      t1[15] = t3;
      return t2;
    }
  };
  A.HitTestResult.prototype = {
    _globalizeTransforms$0() {
      var t2, last, t3, _i,
        t1 = this._localTransforms;
      if (t1.length === 0)
        return;
      t2 = this._transforms;
      last = B.JSArray_methods.get$last(t2);
      for (t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        last = t1[_i].multiply$1(0, last);
        t2.push(last);
      }
      B.JSArray_methods.clear$0(t1);
    },
    add$1(_, entry) {
      this._globalizeTransforms$0();
      entry._transform = B.JSArray_methods.get$last(this._transforms);
      this._path.push(entry);
    },
    popTransform$0() {
      var t1 = this._localTransforms;
      if (t1.length !== 0)
        t1.pop();
      else
        this._transforms.pop();
    },
    toString$0(_) {
      var t1 = this._path;
      return "HitTestResult(" + (t1.length === 0 ? "<empty path>" : B.JSArray_methods.join$1(t1, ", ")) + ")";
    }
  };
  A.LongPressStartDetails.prototype = {};
  A.LongPressMoveUpdateDetails.prototype = {};
  A.LongPressEndDetails.prototype = {};
  A.LongPressGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      var t1, _this = this;
      switch ($event.get$buttons($event)) {
        case 1:
          t1 = _this.onLongPressStart == null && _this.onLongPress == null && _this.onLongPressMoveUpdate == null && _this.onLongPressEnd == null && true;
          if (t1)
            return false;
          break;
        case 2:
          return false;
        case 4:
          return false;
        default:
          return false;
      }
      return _this.super$GestureRecognizer$isPointerAllowed($event);
    },
    didExceedDeadline$0() {
      var t1, _this = this;
      _this.resolve$1(B.GestureDisposition_0);
      _this._longPressAccepted = true;
      t1 = _this._primaryPointer;
      t1.toString;
      _this.super$PrimaryPointerGestureRecognizer$acceptGesture(t1);
      _this._checkLongPressStart$0();
    },
    handlePrimaryPointer$1($event) {
      var t1, _this = this;
      if (!$event.get$synthesized()) {
        if (type$.PointerDownEvent._is($event)) {
          t1 = new A.VelocityTracker($event.get$kind($event), A.List_List$filled(20, null, false, type$.nullable__PointAtTime));
          _this._velocityTracker = t1;
          t1.addPosition$2($event.get$timeStamp($event), $event.get$localPosition());
        }
        if (type$.PointerMoveEvent._is($event)) {
          t1 = _this._velocityTracker;
          t1.toString;
          t1.addPosition$2($event.get$timeStamp($event), $event.get$localPosition());
        }
      }
      if (type$.PointerUpEvent._is($event)) {
        if (_this._longPressAccepted)
          _this._checkLongPressEnd$1($event);
        else
          _this.resolve$1(B.GestureDisposition_1);
        _this._reset$0();
      } else if (type$.PointerCancelEvent._is($event)) {
        _this._checkLongPressCancel$0();
        _this._reset$0();
      } else if (type$.PointerDownEvent._is($event)) {
        _this._longPressOrigin = new A.OffsetPair($event.get$localPosition(), $event.get$position($event));
        _this._long_press$_initialButtons = $event.get$buttons($event);
        _this._checkLongPressDown$1($event);
      } else if (type$.PointerMoveEvent._is($event))
        if ($event.get$buttons($event) !== _this._long_press$_initialButtons) {
          _this.resolve$1(B.GestureDisposition_1);
          t1 = _this._primaryPointer;
          t1.toString;
          _this.stopTrackingPointer$1(t1);
        } else if (_this._longPressAccepted)
          _this._checkLongPressMoveUpdate$1($event);
    },
    _checkLongPressDown$1($event) {
      this._longPressOrigin.toString;
      this._pointerToKind.$index(0, $event.get$pointer()).toString;
      switch (this._long_press$_initialButtons) {
        case 1:
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _checkLongPressCancel$0() {
      if (this._recognizer$_state === B.GestureRecognizerState_1)
        switch (this._long_press$_initialButtons) {
          case 1:
            break;
          case 2:
            break;
          case 4:
            break;
        }
    },
    _checkLongPressStart$0() {
      var t1, t2, _this = this;
      switch (_this._long_press$_initialButtons) {
        case 1:
          if (_this.onLongPressStart != null) {
            t1 = _this._longPressOrigin;
            t2 = t1.global;
            t1 = t1.local;
            _this.invokeCallback$2("onLongPressStart", new A.LongPressGestureRecognizer__checkLongPressStart_closure(_this, new A.LongPressStartDetails(t2, t1)));
          }
          t1 = _this.onLongPress;
          if (t1 != null)
            _this.invokeCallback$2("onLongPress", t1);
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _checkLongPressMoveUpdate$1($event) {
      var _this = this,
        t1 = $event.get$position($event),
        t2 = $event.get$localPosition(),
        t3 = $event.get$position($event).$sub(0, _this._longPressOrigin.global);
      $event.get$localPosition().$sub(0, _this._longPressOrigin.local);
      switch (_this._long_press$_initialButtons) {
        case 1:
          if (_this.onLongPressMoveUpdate != null)
            _this.invokeCallback$2("onLongPressMoveUpdate", new A.LongPressGestureRecognizer__checkLongPressMoveUpdate_closure(_this, new A.LongPressMoveUpdateDetails(t1, t2, t3)));
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _checkLongPressEnd$1($event) {
      var t1, _this = this,
        estimate = _this._velocityTracker.getVelocityEstimate$0(),
        velocity = estimate == null ? B.Velocity_Offset_0_0 : new A.Velocity(estimate.pixelsPerSecond);
      $event.get$position($event);
      t1 = $event.get$localPosition();
      _this._velocityTracker = null;
      switch (_this._long_press$_initialButtons) {
        case 1:
          if (_this.onLongPressEnd != null)
            _this.invokeCallback$2("onLongPressEnd", new A.LongPressGestureRecognizer__checkLongPressEnd_closure(_this, new A.LongPressEndDetails(t1, velocity)));
          break;
        case 2:
          break;
        case 4:
          break;
      }
    },
    _reset$0() {
      var _this = this;
      _this._longPressAccepted = false;
      _this._velocityTracker = _this._long_press$_initialButtons = _this._longPressOrigin = null;
    },
    resolve$1(disposition) {
      var _this = this;
      if (disposition === B.GestureDisposition_1)
        if (_this._longPressAccepted)
          _this._reset$0();
        else
          _this._checkLongPressCancel$0();
      _this.super$OneSequenceGestureRecognizer$resolve(disposition);
    },
    acceptGesture$1(pointer) {
    }
  };
  A.LongPressGestureRecognizer__checkLongPressStart_closure.prototype = {
    call$0() {
      return this.$this.onLongPressStart.call$1(this.details);
    },
    $signature: 0
  };
  A.LongPressGestureRecognizer__checkLongPressMoveUpdate_closure.prototype = {
    call$0() {
      return this.$this.onLongPressMoveUpdate.call$1(this.details);
    },
    $signature: 0
  };
  A.LongPressGestureRecognizer__checkLongPressEnd_closure.prototype = {
    call$0() {
      return this.$this.onLongPressEnd.call$1(this.details);
    },
    $signature: 0
  };
  A._Vector.prototype = {
    $index(_, i) {
      return this._lsq_solver$_elements[i + this._lsq_solver$_offset];
    },
    $indexSet(_, i, value) {
      this._lsq_solver$_elements[i + this._lsq_solver$_offset] = value;
    },
    $mul(_, a) {
      var t1, t2, t3, t4, t5, result, i;
      for (t1 = this._lsq_solver$_length, t2 = this._lsq_solver$_elements, t3 = this._lsq_solver$_offset, t4 = a._lsq_solver$_elements, t5 = a._lsq_solver$_offset, result = 0, i = 0; i < t1; ++i)
        result += t2[i + t3] * t4[i + t5];
      return result;
    }
  };
  A._Matrix.prototype = {};
  A.PolynomialFit.prototype = {};
  A.LeastSquaresSolver.prototype = {
    solve$1(degree) {
      var t3, result, t4, t5, t6, t7, h, i, j, t8, t9, dot, t10, norm, inverseNorm, wy, i0, yMean, sumSquaredError, sumSquaredTotal, err, term, v,
        t1 = this.x,
        t2 = t1.length;
      if (degree > t2)
        return null;
      t3 = degree + 1;
      result = new A.PolynomialFit(new Float64Array(t3));
      t4 = t3 * t2;
      t5 = new Float64Array(t4);
      for (t6 = this.w, t7 = 0 * t2, h = 0; h < t2; ++h) {
        t5[t7 + h] = t6[h];
        for (i = 1; i < t3; ++i)
          t5[i * t2 + h] = t5[(i - 1) * t2 + h] * t1[h];
      }
      t4 = new Float64Array(t4);
      t7 = new Float64Array(t3 * t3);
      for (j = 0; j < t3; ++j) {
        for (t8 = j * t2, h = 0; h < t2; ++h) {
          t9 = t8 + h;
          t4[t9] = t5[t9];
        }
        for (i = 0; i < j; ++i) {
          t9 = i * t2;
          dot = new A._Vector(t8, t2, t4).$mul(0, new A._Vector(t9, t2, t4));
          for (h = 0; h < t2; ++h) {
            t10 = t8 + h;
            t4[t10] = t4[t10] - dot * t4[t9 + h];
          }
        }
        t9 = new A._Vector(t8, t2, t4);
        norm = Math.sqrt(t9.$mul(0, t9));
        if (norm < 1e-10)
          return null;
        inverseNorm = 1 / norm;
        for (h = 0; h < t2; ++h) {
          t9 = t8 + h;
          t4[t9] = t4[t9] * inverseNorm;
        }
        for (t9 = j * t3, i = 0; i < t3; ++i) {
          t10 = i < j ? 0 : new A._Vector(t8, t2, t4).$mul(0, new A._Vector(i * t2, t2, t5));
          t7[t9 + i] = t10;
        }
      }
      t5 = new Float64Array(t2);
      wy = new A._Vector(0, t2, t5);
      for (t8 = this.y, h = 0; h < t2; ++h)
        t5[h] = t8[h] * t6[h];
      for (i = t3 - 1, t5 = result.coefficients, i0 = i; i0 >= 0; --i0) {
        t5[i0] = new A._Vector(i0 * t2, t2, t4).$mul(0, wy);
        for (t9 = i0 * t3, j = i; j > i0; --j)
          t5[i0] = t5[i0] - t7[t9 + j] * t5[j];
        t5[i0] = t5[i0] / t7[t9 + i0];
      }
      for (yMean = 0, h = 0; h < t2; ++h)
        yMean += t8[h];
      yMean /= t2;
      for (sumSquaredError = 0, sumSquaredTotal = 0, h = 0; h < t2; ++h) {
        t4 = t8[h];
        err = t4 - t5[0];
        for (term = 1, i = 1; i < t3; ++i) {
          term *= t1[h];
          err -= term * t5[i];
        }
        t7 = t6[h];
        t7 *= t7;
        sumSquaredError += t7 * err * err;
        v = t4 - yMean;
        sumSquaredTotal += t7 * v * v;
      }
      result.__PolynomialFit_confidence = sumSquaredTotal <= 1e-10 ? 1 : 1 - sumSquaredError / sumSquaredTotal;
      return result;
    }
  };
  A._DragState.prototype = {
    toString$0(_) {
      return "_DragState." + this._core$_name;
    }
  };
  A.DragGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      var _this = this;
      if (_this._initialButtons == null)
        switch ($event.get$buttons($event)) {
          case 1:
            if (_this.onDown == null && _this.onStart == null && _this.onUpdate == null && _this.onEnd == null && _this.onCancel == null)
              return false;
            break;
          default:
            return false;
        }
      else if ($event.get$buttons($event) !== _this._initialButtons)
        return false;
      return _this.super$GestureRecognizer$isPointerAllowed($event);
    },
    _addPointer$1($event) {
      var t1, _this = this;
      _this._velocityTrackers.$indexSet(0, $event.get$pointer(), _this.velocityTrackerBuilder.call$1($event));
      t1 = _this._monodrag$_state;
      if (t1 === B._DragState_0) {
        _this._monodrag$_state = B._DragState_1;
        t1 = $event.get$position($event);
        _this.__DragGestureRecognizer__initialPosition = new A.OffsetPair($event.get$localPosition(), t1);
        _this.__DragGestureRecognizer__pendingDragOffset = B.OffsetPair_G6F;
        _this.__DragGestureRecognizer__globalDistanceMoved = 0;
        _this._lastPendingEventTimestamp = $event.get$timeStamp($event);
        _this._lastTransform = $event.get$transform($event);
        _this._checkDown$0();
      } else if (t1 === B._DragState_2)
        _this.resolve$1(B.GestureDisposition_0);
    },
    addAllowedPointer$1($event) {
      var _this = this;
      _this.super$OneSequenceGestureRecognizer$addAllowedPointer($event);
      if (_this._monodrag$_state === B._DragState_0)
        _this._initialButtons = $event.get$buttons($event);
      _this._addPointer$1($event);
    },
    addAllowedPointerPanZoom$1($event) {
      var _this = this;
      _this.super$GestureRecognizer$addAllowedPointerPanZoom($event);
      _this.startTrackingPointer$2($event.get$pointer(), $event.get$transform($event));
      if (_this._monodrag$_state === B._DragState_0)
        _this._initialButtons = 1;
      _this._addPointer$1($event);
    },
    handleEvent$1($event) {
      var t1, delta, localDelta, position, t2, localPosition, movedLocally, localToGlobalTransform, t3, _this = this;
      if (!$event.get$synthesized())
        t1 = type$.PointerDownEvent._is($event) || type$.PointerMoveEvent._is($event) || type$.PointerPanZoomStartEvent._is($event) || type$.PointerPanZoomUpdateEvent._is($event);
      else
        t1 = false;
      if (t1) {
        t1 = _this._velocityTrackers.$index(0, $event.get$pointer());
        t1.toString;
        if (type$.PointerPanZoomStartEvent._is($event))
          t1.addPosition$2($event.get$timeStamp($event), B.Offset_0_0);
        else if (type$.PointerPanZoomUpdateEvent._is($event))
          t1.addPosition$2($event.get$timeStamp($event), $event.get$pan($event));
        else
          t1.addPosition$2($event.get$timeStamp($event), $event.get$localPosition());
      }
      t1 = type$.PointerMoveEvent._is($event);
      if (t1 && $event.get$buttons($event) !== _this._initialButtons) {
        _this._giveUpPointer$1($event.get$pointer());
        return;
      }
      if (t1 || type$.PointerPanZoomUpdateEvent._is($event)) {
        delta = t1 ? $event.get$delta() : type$.PointerPanZoomUpdateEvent._as($event).get$panDelta();
        localDelta = t1 ? $event.get$localDelta() : type$.PointerPanZoomUpdateEvent._as($event).get$localPanDelta();
        if (t1)
          position = $event.get$position($event);
        else {
          t2 = $event.get$position($event);
          type$.PointerPanZoomUpdateEvent._as($event);
          position = t2.$add(0, $event.get$pan($event));
        }
        localPosition = t1 ? $event.get$localPosition() : $event.get$localPosition().$add(0, type$.PointerPanZoomUpdateEvent._as($event).get$localPan());
        if (_this._monodrag$_state === B._DragState_2) {
          t1 = $event.get$timeStamp($event);
          _this._checkUpdate$5$delta$globalPosition$localPosition$primaryDelta$sourceTimeStamp(_this._getDeltaForDetails$1(localDelta), position, localPosition, _this._getPrimaryValueFromOffset$1(localDelta), t1);
        } else {
          t1 = _this.__DragGestureRecognizer__pendingDragOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.__DragGestureRecognizer__pendingDragOffset = t1.$add(0, new A.OffsetPair(localDelta, delta));
          _this._lastPendingEventTimestamp = $event.get$timeStamp($event);
          _this._lastTransform = $event.get$transform($event);
          movedLocally = _this._getDeltaForDetails$1(localDelta);
          if ($event.get$transform($event) == null)
            localToGlobalTransform = null;
          else {
            t1 = $event.get$transform($event);
            t1.toString;
            localToGlobalTransform = A.Matrix4_tryInvert(t1);
          }
          t1 = _this.__DragGestureRecognizer__globalDistanceMoved;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t2 = A.PointerEvent_transformDeltaViaPositions(localToGlobalTransform, null, movedLocally, localPosition).get$distance();
          t3 = _this._getPrimaryValueFromOffset$1(movedLocally);
          _this.__DragGestureRecognizer__globalDistanceMoved = t1 + t2 * J.get$sign$in(t3 == null ? 1 : t3);
          t1 = $event.get$kind($event);
          t2 = _this.gestureSettings;
          if (_this._hasSufficientGlobalDistanceToAccept$2(t1, t2 == null ? null : t2.touchSlop))
            _this.resolve$1(B.GestureDisposition_0);
        }
      }
      if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event) || type$.PointerPanZoomEndEvent._is($event))
        _this._giveUpPointer$1($event.get$pointer());
    },
    acceptGesture$1(pointer) {
      var t1, t2, transform, t3, localUpdateDelta, localToGlobal, globalUpdateDelta, correctedPosition, _this = this;
      _this._acceptedActivePointers.add$1(0, pointer);
      if (_this._monodrag$_state !== B._DragState_2) {
        _this._monodrag$_state = B._DragState_2;
        t1 = _this.__DragGestureRecognizer__pendingDragOffset;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this._lastPendingEventTimestamp;
        t2.toString;
        transform = _this._lastTransform;
        switch (_this.dragStartBehavior.index) {
          case 1:
            t3 = _this.__DragGestureRecognizer__initialPosition;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            _this.__DragGestureRecognizer__initialPosition = t3.$add(0, t1);
            localUpdateDelta = B.Offset_0_0;
            break;
          case 0:
            localUpdateDelta = _this._getDeltaForDetails$1(t1.local);
            break;
          default:
            localUpdateDelta = null;
        }
        _this.__DragGestureRecognizer__pendingDragOffset = B.OffsetPair_G6F;
        _this._lastTransform = _this._lastPendingEventTimestamp = null;
        _this._checkStart$2(t2, pointer);
        if (!J.$eq$(localUpdateDelta, B.Offset_0_0) && _this.onUpdate != null) {
          localToGlobal = transform != null ? A.Matrix4_tryInvert(transform) : null;
          t1 = _this.__DragGestureRecognizer__initialPosition;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          globalUpdateDelta = A.PointerEvent_transformDeltaViaPositions(localToGlobal, null, localUpdateDelta, t1.local.$add(0, localUpdateDelta));
          t1 = _this.__DragGestureRecognizer__initialPosition;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          correctedPosition = t1.$add(0, new A.OffsetPair(localUpdateDelta, globalUpdateDelta));
          _this._checkUpdate$5$delta$globalPosition$localPosition$primaryDelta$sourceTimeStamp(localUpdateDelta, correctedPosition.global, correctedPosition.local, _this._getPrimaryValueFromOffset$1(localUpdateDelta), t2);
        }
        _this.resolve$1(B.GestureDisposition_0);
      }
    },
    rejectGesture$1(pointer) {
      this._giveUpPointer$1(pointer);
    },
    didStopTrackingLastPointer$1(pointer) {
      var t1, _this = this;
      switch (_this._monodrag$_state.index) {
        case 0:
          break;
        case 1:
          _this.resolve$1(B.GestureDisposition_1);
          t1 = _this.onCancel;
          if (t1 != null)
            _this.invokeCallback$2("onCancel", t1);
          break;
        case 2:
          _this._checkEnd$1(pointer);
          break;
      }
      _this._velocityTrackers.clear$0(0);
      _this._initialButtons = null;
      _this._monodrag$_state = B._DragState_0;
    },
    _giveUpPointer$1(pointer) {
      var t1, entry;
      this.stopTrackingPointer$1(pointer);
      if (!this._acceptedActivePointers.remove$1(0, pointer)) {
        t1 = this._recognizer$_entries;
        entry = t1.$index(0, pointer);
        if (entry != null) {
          t1.remove$1(0, pointer);
          entry._arena._arena$_resolve$3(entry._arena$_pointer, entry._member, B.GestureDisposition_1);
        }
      }
    },
    _checkDown$0() {
      var t1, _this = this;
      if (_this.onDown != null) {
        t1 = _this.__DragGestureRecognizer__initialPosition;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this.invokeCallback$2("onDown", new A.DragGestureRecognizer__checkDown_closure(_this, new A.DragDownDetails(t1.global)));
      }
    },
    _checkStart$2(timestamp, pointer) {
      var t1, t2, _this = this;
      if (_this.onStart != null) {
        t1 = _this.__DragGestureRecognizer__initialPosition;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this._pointerToKind.$index(0, pointer);
        t2.toString;
        _this.invokeCallback$2("onStart", new A.DragGestureRecognizer__checkStart_closure(_this, new A.DragStartDetails(timestamp, t1.global, t2)));
      }
    },
    _checkUpdate$5$delta$globalPosition$localPosition$primaryDelta$sourceTimeStamp(delta, globalPosition, localPosition, primaryDelta, sourceTimeStamp) {
      if (this.onUpdate != null)
        this.invokeCallback$2("onUpdate", new A.DragGestureRecognizer__checkUpdate_closure(this, new A.DragUpdateDetails(sourceTimeStamp, delta, primaryDelta, globalPosition)));
    },
    _checkEnd$1(pointer) {
      var t2, estimate, t3, t4, velocity, debugReport, _this = this, t1 = {};
      if (_this.onEnd == null)
        return;
      t2 = _this._velocityTrackers.$index(0, pointer);
      t2.toString;
      t1.details = null;
      estimate = t2.getVelocityEstimate$0();
      if (estimate != null && _this.isFlingGesture$2(estimate, t2.kind)) {
        t2 = estimate.pixelsPerSecond;
        t3 = _this.minFlingVelocity;
        if (t3 == null)
          t3 = 50;
        t4 = _this.maxFlingVelocity;
        if (t4 == null)
          t4 = 8000;
        velocity = new A.Velocity(t2).clampMagnitude$2(t3, t4);
        t1.details = new A.DragEndDetails(velocity, _this._getPrimaryValueFromOffset$1(velocity.pixelsPerSecond));
        debugReport = new A.DragGestureRecognizer__checkEnd_closure(estimate, velocity);
      } else {
        t1.details = new A.DragEndDetails(B.Velocity_Offset_0_0, 0);
        debugReport = new A.DragGestureRecognizer__checkEnd_closure0(estimate);
      }
      _this.invokeCallback$3$debugReport("onEnd", new A.DragGestureRecognizer__checkEnd_closure1(t1, _this), debugReport);
    },
    dispose$0() {
      this._velocityTrackers.clear$0(0);
      this.super$OneSequenceGestureRecognizer$dispose();
    }
  };
  A.DragGestureRecognizer__checkDown_closure.prototype = {
    call$0() {
      return this.$this.onDown.call$1(this.details);
    },
    $signature: 0
  };
  A.DragGestureRecognizer__checkStart_closure.prototype = {
    call$0() {
      return this.$this.onStart.call$1(this.details);
    },
    $signature: 0
  };
  A.DragGestureRecognizer__checkUpdate_closure.prototype = {
    call$0() {
      return this.$this.onUpdate.call$1(this.details);
    },
    $signature: 0
  };
  A.DragGestureRecognizer__checkEnd_closure.prototype = {
    call$0() {
      return this.estimate.toString$0(0) + "; fling at " + this.velocity.toString$0(0) + ".";
    },
    $signature: 24
  };
  A.DragGestureRecognizer__checkEnd_closure0.prototype = {
    call$0() {
      var t1 = this.estimate;
      if (t1 == null)
        return "Could not estimate velocity.";
      return t1.toString$0(0) + "; judged to not be a fling.";
    },
    $signature: 24
  };
  A.DragGestureRecognizer__checkEnd_closure1.prototype = {
    call$0() {
      return this.$this.onEnd.call$1(this._box_0.details);
    },
    $signature: 0
  };
  A.VerticalDragGestureRecognizer.prototype = {
    isFlingGesture$2(estimate, kind) {
      var minDistance,
        minVelocity = this.minFlingVelocity;
      if (minVelocity == null)
        minVelocity = 50;
      minDistance = this.minFlingDistance;
      if (minDistance == null)
        minDistance = A.computeHitSlop(kind, this.gestureSettings);
      return Math.abs(estimate.pixelsPerSecond._dy) > minVelocity && Math.abs(estimate.offset._dy) > minDistance;
    },
    _hasSufficientGlobalDistanceToAccept$2(pointerDeviceKind, deviceTouchSlop) {
      var t1 = this.__DragGestureRecognizer__globalDistanceMoved;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return Math.abs(t1) > A.computeHitSlop(pointerDeviceKind, this.gestureSettings);
    },
    _getDeltaForDetails$1(delta) {
      return new A.Offset(0, delta._dy);
    },
    _getPrimaryValueFromOffset$1(value) {
      return value._dy;
    }
  };
  A.HorizontalDragGestureRecognizer.prototype = {
    isFlingGesture$2(estimate, kind) {
      var minDistance,
        minVelocity = this.minFlingVelocity;
      if (minVelocity == null)
        minVelocity = 50;
      minDistance = this.minFlingDistance;
      if (minDistance == null)
        minDistance = A.computeHitSlop(kind, this.gestureSettings);
      return Math.abs(estimate.pixelsPerSecond._dx) > minVelocity && Math.abs(estimate.offset._dx) > minDistance;
    },
    _hasSufficientGlobalDistanceToAccept$2(pointerDeviceKind, deviceTouchSlop) {
      var t1 = this.__DragGestureRecognizer__globalDistanceMoved;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return Math.abs(t1) > A.computeHitSlop(pointerDeviceKind, this.gestureSettings);
    },
    _getDeltaForDetails$1(delta) {
      return new A.Offset(delta._dx, 0);
    },
    _getPrimaryValueFromOffset$1(value) {
      return value._dx;
    }
  };
  A.PanGestureRecognizer.prototype = {
    isFlingGesture$2(estimate, kind) {
      var minDistance,
        minVelocity = this.minFlingVelocity;
      if (minVelocity == null)
        minVelocity = 50;
      minDistance = this.minFlingDistance;
      if (minDistance == null)
        minDistance = A.computeHitSlop(kind, this.gestureSettings);
      return estimate.pixelsPerSecond.get$distanceSquared() > minVelocity * minVelocity && estimate.offset.get$distanceSquared() > minDistance * minDistance;
    },
    _hasSufficientGlobalDistanceToAccept$2(pointerDeviceKind, deviceTouchSlop) {
      var t1 = this.__DragGestureRecognizer__globalDistanceMoved;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return Math.abs(t1) > A.computePanSlop(pointerDeviceKind, this.gestureSettings);
    },
    _getDeltaForDetails$1(delta) {
      return delta;
    },
    _getPrimaryValueFromOffset$1(value) {
      return null;
    }
  };
  A._CountdownZoned.prototype = {
    _onTimeout$0() {
      this._timeout = true;
    }
  };
  A._TapTracker.prototype = {
    stopTrackingPointer$1(route) {
      if (this._isTrackingPointer) {
        this._isTrackingPointer = false;
        $.GestureBinding__instance.GestureBinding_pointerRouter.removeRoute$2(this.pointer, route);
      }
    },
    isWithinGlobalTolerance$2($event, tolerance) {
      return $event.get$position($event).$sub(0, this._initialGlobalPosition).get$distance() <= tolerance;
    }
  };
  A.DoubleTapGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      var t1;
      if (this._firstTap == null)
        switch ($event.get$buttons($event)) {
          case 1:
            t1 = this.onDoubleTap == null && true;
            if (t1)
              return false;
            break;
          default:
            return false;
        }
      return this.super$GestureRecognizer$isPointerAllowed($event);
    },
    addAllowedPointer$1($event) {
      var _this = this,
        t1 = _this._firstTap;
      if (t1 != null)
        if (!t1.isWithinGlobalTolerance$2($event, 100))
          return;
        else {
          t1 = _this._firstTap;
          if (!t1._doubleTapMinTimeCountdown._timeout || $event.get$buttons($event) !== t1.initialButtons) {
            _this._multitap$_reset$0();
            return _this._trackTap$1($event);
          }
        }
      _this._trackTap$1($event);
    },
    _trackTap$1($event) {
      var t1, t2, t3, t4, t5, tracker, _this = this;
      _this._stopDoubleTapTimer$0();
      t1 = $.GestureBinding__instance.GestureBinding_gestureArena.add$2(0, $event.get$pointer(), _this);
      t2 = $event.get$pointer();
      t3 = $event.get$position($event);
      t4 = $event.get$buttons($event);
      t5 = new A._CountdownZoned();
      A.Timer_Timer(B.Duration_40000, t5.get$_onTimeout());
      tracker = new A._TapTracker(t2, t1, t3, t4, t5);
      _this._trackers.$indexSet(0, $event.get$pointer(), tracker);
      t5 = $event.get$transform($event);
      if (!tracker._isTrackingPointer) {
        tracker._isTrackingPointer = true;
        $.GestureBinding__instance.GestureBinding_pointerRouter.addRoute$3(t2, _this.get$_multitap$_handleEvent(), t5);
      }
    },
    _multitap$_handleEvent$1($event) {
      var t3, _this = this,
        t1 = _this._trackers,
        t2 = t1.$index(0, $event.get$pointer());
      t2.toString;
      if (type$.PointerUpEvent._is($event)) {
        t3 = _this._firstTap;
        if (t3 == null) {
          if (_this._doubleTapTimer == null)
            _this._doubleTapTimer = A.Timer_Timer(B.Duration_300000, _this.get$_multitap$_reset());
          t3 = t2.pointer;
          $.GestureBinding__instance.GestureBinding_gestureArena.hold$1(t3);
          t2.stopTrackingPointer$1(_this.get$_multitap$_handleEvent());
          t1.remove$1(0, t3);
          _this._clearTrackers$0();
          _this._firstTap = t2;
        } else {
          t3 = t3.entry;
          t3._arena._arena$_resolve$3(t3._arena$_pointer, t3._member, B.GestureDisposition_0);
          t3 = t2.entry;
          t3._arena._arena$_resolve$3(t3._arena$_pointer, t3._member, B.GestureDisposition_0);
          t2.stopTrackingPointer$1(_this.get$_multitap$_handleEvent());
          t1.remove$1(0, t2.pointer);
          t1 = _this.onDoubleTap;
          if (t1 != null)
            _this.invokeCallback$2("onDoubleTap", t1);
          _this._multitap$_reset$0();
        }
      } else if (type$.PointerMoveEvent._is($event)) {
        if (!t2.isWithinGlobalTolerance$2($event, 18))
          _this._reject$1(t2);
      } else if (type$.PointerCancelEvent._is($event))
        _this._reject$1(t2);
    },
    acceptGesture$1(pointer) {
    },
    rejectGesture$1(pointer) {
      var t1, _this = this,
        tracker = _this._trackers.$index(0, pointer);
      if (tracker == null) {
        t1 = _this._firstTap;
        t1 = t1 != null && t1.pointer === pointer;
      } else
        t1 = false;
      if (t1)
        tracker = _this._firstTap;
      if (tracker != null)
        _this._reject$1(tracker);
    },
    _reject$1(tracker) {
      var t2, _this = this,
        t1 = _this._trackers;
      t1.remove$1(0, tracker.pointer);
      t2 = tracker.entry;
      t2._arena._arena$_resolve$3(t2._arena$_pointer, t2._member, B.GestureDisposition_1);
      tracker.stopTrackingPointer$1(_this.get$_multitap$_handleEvent());
      t2 = _this._firstTap;
      if (t2 != null)
        if (tracker === t2)
          _this._multitap$_reset$0();
        else {
          _this._checkCancel$0();
          if (t1._length === 0)
            _this._multitap$_reset$0();
        }
    },
    dispose$0() {
      this._multitap$_reset$0();
      this.super$GestureRecognizer$dispose();
    },
    _multitap$_reset$0() {
      var t1, _this = this;
      _this._stopDoubleTapTimer$0();
      if (_this._firstTap != null) {
        if (_this._trackers._length !== 0)
          _this._checkCancel$0();
        t1 = _this._firstTap;
        t1.toString;
        _this._firstTap = null;
        _this._reject$1(t1);
        $.GestureBinding__instance.GestureBinding_gestureArena.release$1(0, t1.pointer);
      }
      _this._clearTrackers$0();
    },
    _clearTrackers$0() {
      var t1 = this._trackers;
      t1 = t1.get$values(t1);
      B.JSArray_methods.forEach$1(A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E")), this.get$_reject());
    },
    _stopDoubleTapTimer$0() {
      var t1 = this._doubleTapTimer;
      if (t1 != null) {
        t1.cancel$0(0);
        this._doubleTapTimer = null;
      }
    },
    _checkCancel$0() {
    }
  };
  A.PointerRouter.prototype = {
    addRoute$3(pointer, route, transform) {
      J.$indexSet$ax(this._routeMap.putIfAbsent$2(0, pointer, new A.PointerRouter_addRoute_closure()), route, transform);
    },
    removeRoute$2(pointer, route) {
      var t3,
        t1 = this._routeMap,
        t2 = t1.$index(0, pointer);
      t2.toString;
      t3 = J.getInterceptor$ax(t2);
      t3.remove$1(t2, route);
      if (t3.get$isEmpty(t2))
        t1.remove$1(0, pointer);
    },
    _dispatch$3($event, route, transform) {
      var exception, stack, exception0, t1;
      try {
        route.call$1($event.transformed$1(transform));
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("while routing a pointer event");
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "gesture library", t1, null, false));
      }
    },
    route$1($event) {
      var _this = this,
        routes = _this._routeMap.$index(0, $event.get$pointer()),
        t1 = _this._globalRoutes,
        t2 = type$.void_Function_PointerEvent,
        t3 = type$.nullable_Matrix4,
        copiedGlobalRoutes = A.LinkedHashMap_LinkedHashMap$of(t1, t2, t3);
      if (routes != null)
        _this._dispatchEventToRoutes$3($event, routes, A.LinkedHashMap_LinkedHashMap$of(routes, t2, t3));
      _this._dispatchEventToRoutes$3($event, t1, copiedGlobalRoutes);
    },
    _dispatchEventToRoutes$3($event, referenceRoutes, copiedRoutes) {
      copiedRoutes.forEach$1(0, new A.PointerRouter__dispatchEventToRoutes_closure(this, referenceRoutes, $event));
    }
  };
  A.PointerRouter_addRoute_closure.prototype = {
    call$0() {
      return A.LinkedHashMap_LinkedHashMap$_empty(type$.void_Function_PointerEvent, type$.nullable_Matrix4);
    },
    $signature: 721
  };
  A.PointerRouter__dispatchEventToRoutes_closure.prototype = {
    call$2(route, transform) {
      if (J.containsKey$1$x(this.referenceRoutes, route))
        this.$this._dispatch$3(this.event, route, transform);
    },
    $signature: 722
  };
  A.PointerSignalResolver.prototype = {
    register$2(_, $event, callback) {
      if (this._firstRegisteredCallback != null)
        return;
      this._currentEvent = $event;
      this._firstRegisteredCallback = callback;
    },
    resolve$1($event) {
      var exception, stack, t2, exception0, _this = this,
        t1 = _this._firstRegisteredCallback;
      if (t1 == null)
        return;
      try {
        t2 = _this._currentEvent;
        t2.toString;
        t1.call$1(t2);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("while resolving a PointerSignalEvent");
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "gesture library", t1, null, false));
      }
      _this._currentEvent = _this._firstRegisteredCallback = null;
    }
  };
  A.DragStartBehavior.prototype = {
    toString$0(_) {
      return "DragStartBehavior." + this._core$_name;
    }
  };
  A.GestureRecognizer.prototype = {
    addAllowedPointerPanZoom$1($event) {
    },
    addPointer$1($event) {
      var _this = this;
      _this._pointerToKind.$indexSet(0, $event.get$pointer(), $event.get$kind($event));
      if (_this.isPointerAllowed$1($event))
        _this.addAllowedPointer$1($event);
      else
        _this.handleNonAllowedPointer$1($event);
    },
    addAllowedPointer$1($event) {
    },
    handleNonAllowedPointer$1($event) {
    },
    isPointerAllowed$1($event) {
      var t1 = this._supportedDevices;
      return t1 == null || t1.contains$1(0, $event.get$kind($event));
    },
    isPointerPanZoomAllowed$1($event) {
      var t1 = this._supportedDevices;
      return t1 == null || t1.contains$1(0, $event.get$kind($event));
    },
    dispose$0() {
    },
    invokeCallback$1$3$debugReport($name, callback, debugReport) {
      var exception, stack, exception0, t1, result = null;
      try {
        result = callback.call$0();
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("while handling a gesture");
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "gesture", t1, null, false));
      }
      return result;
    },
    invokeCallback$2($name, callback) {
      return this.invokeCallback$1$3$debugReport($name, callback, null, type$.dynamic);
    },
    invokeCallback$3$debugReport($name, callback, debugReport) {
      return this.invokeCallback$1$3$debugReport($name, callback, debugReport, type$.dynamic);
    },
    $isDiagnosticableTree: 1
  };
  A.OneSequenceGestureRecognizer.prototype = {
    addAllowedPointer$1($event) {
      this.startTrackingPointer$2($event.get$pointer(), $event.get$transform($event));
    },
    handleNonAllowedPointer$1($event) {
      this.resolve$1(B.GestureDisposition_1);
    },
    acceptGesture$1(pointer) {
    },
    rejectGesture$1(pointer) {
    },
    resolve$1(disposition) {
      var _i, entry,
        t1 = this._recognizer$_entries,
        localEntries = A.List_List$of(t1.get$values(t1), true, type$.GestureArenaEntry);
      t1.clear$0(0);
      for (t1 = localEntries.length, _i = 0; _i < t1; ++_i) {
        entry = localEntries[_i];
        entry._arena._arena$_resolve$3(entry._arena$_pointer, entry._member, disposition);
      }
    },
    dispose$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, _this = this;
      _this.resolve$1(B.GestureDisposition_1);
      for (t1 = _this._trackedPointers, t2 = A._instanceType(t1), t3 = new A._HashSetIterator(t1, t1._computeElements$0(), t2._eval$1("_HashSetIterator<1>")), t2 = t2._precomputed1; t3.moveNext$0();) {
        t4 = t3._collection$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        t5 = $.GestureBinding__instance.GestureBinding_pointerRouter;
        t6 = _this.get$handleEvent();
        t5 = t5._routeMap;
        t7 = t5.$index(0, t4);
        t7.toString;
        t8 = J.getInterceptor$ax(t7);
        t8.remove$1(t7, t6);
        if (t8.get$isEmpty(t7))
          t5.remove$1(0, t4);
      }
      t1.clear$0(0);
      _this.super$GestureRecognizer$dispose();
    },
    _addPointerToArena$1(pointer) {
      return $.GestureBinding__instance.GestureBinding_gestureArena.add$2(0, pointer, this);
    },
    startTrackingPointer$2(pointer, transform) {
      var _this = this;
      $.GestureBinding__instance.GestureBinding_pointerRouter.addRoute$3(pointer, _this.get$handleEvent(), transform);
      _this._trackedPointers.add$1(0, pointer);
      _this._recognizer$_entries.$indexSet(0, pointer, _this._addPointerToArena$1(pointer));
    },
    stopTrackingPointer$1(pointer) {
      var t1 = this._trackedPointers;
      if (t1.contains$1(0, pointer)) {
        $.GestureBinding__instance.GestureBinding_pointerRouter.removeRoute$2(pointer, this.get$handleEvent());
        t1.remove$1(0, pointer);
        if (t1._collection$_length === 0)
          this.didStopTrackingLastPointer$1(pointer);
      }
    },
    stopTrackingIfPointerNoLongerDown$1($event) {
      if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event) || type$.PointerPanZoomEndEvent._is($event))
        this.stopTrackingPointer$1($event.get$pointer());
    }
  };
  A.GestureRecognizerState.prototype = {
    toString$0(_) {
      return "GestureRecognizerState." + this._core$_name;
    }
  };
  A.PrimaryPointerGestureRecognizer.prototype = {
    addAllowedPointer$1($event) {
      var _this = this;
      _this.super$OneSequenceGestureRecognizer$addAllowedPointer($event);
      if (_this._recognizer$_state === B.GestureRecognizerState_0) {
        _this._recognizer$_state = B.GestureRecognizerState_1;
        _this._primaryPointer = $event.get$pointer();
        _this._initialPosition = new A.OffsetPair($event.get$localPosition(), $event.get$position($event));
        _this._recognizer$_timer = A.Timer_Timer(_this.deadline, new A.PrimaryPointerGestureRecognizer_addAllowedPointer_closure(_this, $event));
      }
    },
    handleNonAllowedPointer$1($event) {
      if (!this._gestureAccepted)
        this.super$OneSequenceGestureRecognizer$handleNonAllowedPointer($event);
    },
    handleEvent$1($event) {
      var isPreAcceptSlopPastTolerance, t1, isPostAcceptSlopPastTolerance, _this = this;
      if (_this._recognizer$_state === B.GestureRecognizerState_1 && $event.get$pointer() === _this._primaryPointer) {
        if (!_this._gestureAccepted)
          isPreAcceptSlopPastTolerance = _this._getGlobalDistance$1($event) > 18;
        else
          isPreAcceptSlopPastTolerance = false;
        if (_this._gestureAccepted) {
          t1 = _this.postAcceptSlopTolerance;
          isPostAcceptSlopPastTolerance = t1 != null && _this._getGlobalDistance$1($event) > t1;
        } else
          isPostAcceptSlopPastTolerance = false;
        if (type$.PointerMoveEvent._is($event))
          t1 = isPreAcceptSlopPastTolerance || isPostAcceptSlopPastTolerance;
        else
          t1 = false;
        if (t1) {
          _this.resolve$1(B.GestureDisposition_1);
          t1 = _this._primaryPointer;
          t1.toString;
          _this.stopTrackingPointer$1(t1);
        } else
          _this.handlePrimaryPointer$1($event);
      }
      _this.stopTrackingIfPointerNoLongerDown$1($event);
    },
    didExceedDeadline$0() {
    },
    acceptGesture$1(pointer) {
      if (pointer === this._primaryPointer) {
        this._stopTimer$0();
        this._gestureAccepted = true;
      }
    },
    rejectGesture$1(pointer) {
      var _this = this;
      if (pointer === _this._primaryPointer && _this._recognizer$_state === B.GestureRecognizerState_1) {
        _this._stopTimer$0();
        _this._recognizer$_state = B.GestureRecognizerState_2;
      }
    },
    didStopTrackingLastPointer$1(pointer) {
      var _this = this;
      _this._stopTimer$0();
      _this._recognizer$_state = B.GestureRecognizerState_0;
      _this._initialPosition = null;
      _this._gestureAccepted = false;
    },
    dispose$0() {
      this._stopTimer$0();
      this.super$OneSequenceGestureRecognizer$dispose();
    },
    _stopTimer$0() {
      var t1 = this._recognizer$_timer;
      if (t1 != null) {
        t1.cancel$0(0);
        this._recognizer$_timer = null;
      }
    },
    _getGlobalDistance$1($event) {
      return $event.get$position($event).$sub(0, this._initialPosition.global).get$distance();
    }
  };
  A.PrimaryPointerGestureRecognizer_addAllowedPointer_closure.prototype = {
    call$0() {
      this.$this.didExceedDeadline$0();
      return null;
    },
    $signature: 0
  };
  A.OffsetPair.prototype = {
    $add(_, other) {
      return new A.OffsetPair(this.local.$add(0, other.local), this.global.$add(0, other.global));
    },
    $sub(_, other) {
      return new A.OffsetPair(this.local.$sub(0, other.local), this.global.$sub(0, other.global));
    },
    toString$0(_) {
      return "OffsetPair(local: " + this.local.toString$0(0) + ", global: " + this.global.toString$0(0) + ")";
    }
  };
  A._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin.prototype = {};
  A.TapDownDetails.prototype = {
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.TapUpDetails.prototype = {
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.BaseTapGestureRecognizer.prototype = {
    addAllowedPointer$1($event) {
      var _this = this;
      if (_this._recognizer$_state === B.GestureRecognizerState_0) {
        if (_this._down != null && _this._up != null)
          _this._tap$_reset$0();
        _this._down = $event;
      }
      if (_this._down != null)
        _this.super$PrimaryPointerGestureRecognizer$addAllowedPointer($event);
    },
    startTrackingPointer$2(pointer, transform) {
      this.super$OneSequenceGestureRecognizer$startTrackingPointer(pointer, transform);
    },
    handlePrimaryPointer$1($event) {
      var t1, t2, _this = this;
      if (type$.PointerUpEvent._is($event)) {
        _this._up = $event;
        _this._checkUp$0();
      } else if (type$.PointerCancelEvent._is($event)) {
        _this.resolve$1(B.GestureDisposition_1);
        if (_this._sentTapDown) {
          t1 = _this._down;
          t1.toString;
          _this.handleTapCancel$3$cancel$down$reason($event, t1, "");
        }
        _this._tap$_reset$0();
      } else {
        t1 = $event.get$buttons($event);
        t2 = _this._down;
        if (t1 !== t2.get$buttons(t2)) {
          _this.resolve$1(B.GestureDisposition_1);
          t1 = _this._primaryPointer;
          t1.toString;
          _this.stopTrackingPointer$1(t1);
        }
      }
    },
    resolve$1(disposition) {
      var t1, _this = this;
      if (_this._wonArenaForPrimaryPointer && disposition === B.GestureDisposition_1) {
        t1 = _this._down;
        t1.toString;
        _this.handleTapCancel$3$cancel$down$reason(null, t1, "spontaneous");
        _this._tap$_reset$0();
      }
      _this.super$OneSequenceGestureRecognizer$resolve(disposition);
    },
    didExceedDeadline$0() {
      this._tap$_checkDown$0();
    },
    acceptGesture$1(pointer) {
      var _this = this;
      _this.super$PrimaryPointerGestureRecognizer$acceptGesture(pointer);
      if (pointer === _this._primaryPointer) {
        _this._tap$_checkDown$0();
        _this._wonArenaForPrimaryPointer = true;
        _this._checkUp$0();
      }
    },
    rejectGesture$1(pointer) {
      var t1, _this = this;
      _this.super$PrimaryPointerGestureRecognizer$rejectGesture(pointer);
      if (pointer === _this._primaryPointer) {
        if (_this._sentTapDown) {
          t1 = _this._down;
          t1.toString;
          _this.handleTapCancel$3$cancel$down$reason(null, t1, "forced");
        }
        _this._tap$_reset$0();
      }
    },
    _tap$_checkDown$0() {
      var t1, _this = this;
      if (_this._sentTapDown)
        return;
      t1 = _this._down;
      t1.toString;
      _this.handleTapDown$1$down(t1);
      _this._sentTapDown = true;
    },
    _checkUp$0() {
      var t1, t2, _this = this;
      if (!_this._wonArenaForPrimaryPointer || _this._up == null)
        return;
      t1 = _this._down;
      t1.toString;
      t2 = _this._up;
      t2.toString;
      _this.handleTapUp$2$down$up(t1, t2);
      _this._tap$_reset$0();
    },
    _tap$_reset$0() {
      var _this = this;
      _this._wonArenaForPrimaryPointer = _this._sentTapDown = false;
      _this._down = _this._up = null;
    }
  };
  A.TapGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      var t1, _this = this;
      switch ($event.get$buttons($event)) {
        case 1:
          if (_this.onTapDown == null && _this.onTap == null && _this.onTapUp == null && _this.onTapCancel == null)
            return false;
          break;
        case 2:
          if (_this.onSecondaryTap == null)
            if (_this.onSecondaryTapDown == null)
              t1 = true;
            else
              t1 = false;
          else
            t1 = false;
          if (t1)
            return false;
          break;
        case 4:
          return false;
        default:
          return false;
      }
      return _this.super$GestureRecognizer$isPointerAllowed($event);
    },
    handleTapDown$1$down(down) {
      var details, _this = this,
        t1 = down.get$position(down),
        t2 = down.get$localPosition(),
        t3 = _this._pointerToKind.$index(0, down.get$pointer());
      t3.toString;
      details = new A.TapDownDetails(t1, t3, t2);
      switch (down.get$buttons(down)) {
        case 1:
          if (_this.onTapDown != null)
            _this.invokeCallback$2("onTapDown", new A.TapGestureRecognizer_handleTapDown_closure(_this, details));
          break;
        case 2:
          if (_this.onSecondaryTapDown != null)
            _this.invokeCallback$2("onSecondaryTapDown", new A.TapGestureRecognizer_handleTapDown_closure0(_this, details));
          break;
        case 4:
          break;
      }
    },
    handleTapUp$2$down$up(down, up) {
      var _this = this,
        t1 = up.get$kind(up),
        t2 = up.get$position(up);
      up.get$localPosition();
      switch (down.get$buttons(down)) {
        case 1:
          if (_this.onTapUp != null)
            _this.invokeCallback$2("onTapUp", new A.TapGestureRecognizer_handleTapUp_closure(_this, new A.TapUpDetails(t2, t1)));
          t1 = _this.onTap;
          if (t1 != null)
            _this.invokeCallback$2("onTap", t1);
          break;
        case 2:
          if (_this.onSecondaryTap != null)
            _this.invokeCallback$2("onSecondaryTap", new A.TapGestureRecognizer_handleTapUp_closure0(_this));
          break;
        case 4:
          break;
      }
    },
    handleTapCancel$3$cancel$down$reason(cancel, down, reason) {
      var t1,
        note = reason === "" ? reason : reason + " ";
      switch (down.get$buttons(down)) {
        case 1:
          t1 = this.onTapCancel;
          if (t1 != null)
            this.invokeCallback$2(note + "onTapCancel", t1);
          break;
        case 2:
          break;
        case 4:
          break;
      }
    }
  };
  A.TapGestureRecognizer_handleTapDown_closure.prototype = {
    call$0() {
      return this.$this.onTapDown.call$1(this.details);
    },
    $signature: 0
  };
  A.TapGestureRecognizer_handleTapDown_closure0.prototype = {
    call$0() {
      return this.$this.onSecondaryTapDown.call$1(this.details);
    },
    $signature: 0
  };
  A.TapGestureRecognizer_handleTapUp_closure.prototype = {
    call$0() {
      return this.$this.onTapUp.call$1(this.details);
    },
    $signature: 0
  };
  A.TapGestureRecognizer_handleTapUp_closure0.prototype = {
    call$0() {
      return this.$this.onSecondaryTap.call$0();
    },
    $signature: 0
  };
  A.Velocity.prototype = {
    $sub(_, other) {
      return new A.Velocity(this.pixelsPerSecond.$sub(0, other.pixelsPerSecond));
    },
    $add(_, other) {
      return new A.Velocity(this.pixelsPerSecond.$add(0, other.pixelsPerSecond));
    },
    clampMagnitude$2(minValue, maxValue) {
      var t1 = this.pixelsPerSecond,
        valueSquared = t1.get$distanceSquared();
      if (valueSquared > maxValue * maxValue)
        return new A.Velocity(t1.$div(0, t1.get$distance()).$mul(0, maxValue));
      if (valueSquared < minValue * minValue)
        return new A.Velocity(t1.$div(0, t1.get$distance()).$mul(0, minValue));
      return this;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Velocity && other.pixelsPerSecond.$eq(0, this.pixelsPerSecond);
    },
    get$hashCode(_) {
      var t1 = this.pixelsPerSecond;
      return A.Object_hash(t1._dx, t1._dy, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1 = this.pixelsPerSecond;
      return "Velocity(" + B.JSNumber_methods.toStringAsFixed$1(t1._dx, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(t1._dy, 1) + ")";
    }
  };
  A.VelocityEstimate.prototype = {
    toString$0(_) {
      var _this = this,
        t1 = _this.pixelsPerSecond;
      return "VelocityEstimate(" + B.JSNumber_methods.toStringAsFixed$1(t1._dx, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(t1._dy, 1) + "; offset: " + _this.offset.toString$0(0) + ", duration: " + _this.duration.toString$0(0) + ", confidence: " + B.JSNumber_methods.toStringAsFixed$1(_this.confidence, 1) + ")";
    }
  };
  A._PointAtTime.prototype = {
    toString$0(_) {
      return "_PointAtTime(" + this.point.toString$0(0) + " at " + this.time.toString$0(0) + ")";
    }
  };
  A.VelocityTracker.prototype = {
    addPosition$2(time, position) {
      var t1 = ++this._velocity_tracker$_index;
      if (t1 === 20)
        t1 = this._velocity_tracker$_index = 0;
      this._samples[t1] = new A._PointAtTime(time, position);
    },
    getVelocityEstimate$0() {
      var newestSample, t2, oldestSample, previousSample, sampleCount, sample, t3, age, position, xFit, yFit, t4, t5,
        t1 = type$.JSArray_double,
        x = A._setArrayType([], t1),
        y = A._setArrayType([], t1),
        w = A._setArrayType([], t1),
        time = A._setArrayType([], t1),
        index = this._velocity_tracker$_index;
      t1 = this._samples;
      newestSample = t1[index];
      if (newestSample == null)
        return null;
      t2 = newestSample.time._duration;
      oldestSample = newestSample;
      previousSample = oldestSample;
      sampleCount = 0;
      do {
        sample = t1[index];
        if (sample == null)
          break;
        t3 = sample.time._duration;
        age = (t2 - t3) / 1000;
        if (age > 100 || Math.abs(t3 - previousSample.time._duration) / 1000 > 40)
          break;
        position = sample.point;
        x.push(position._dx);
        y.push(position._dy);
        w.push(1);
        time.push(-age);
        index = (index === 0 ? 20 : index) - 1;
        ++sampleCount;
        if (sampleCount < 20) {
          oldestSample = sample;
          previousSample = oldestSample;
          continue;
        } else {
          oldestSample = sample;
          break;
        }
      } while (true);
      if (sampleCount >= 3) {
        xFit = new A.LeastSquaresSolver(time, x, w).solve$1(2);
        if (xFit != null) {
          yFit = new A.LeastSquaresSolver(time, y, w).solve$1(2);
          if (yFit != null) {
            t1 = xFit.coefficients[1];
            t3 = yFit.coefficients[1];
            t4 = xFit.__PolynomialFit_confidence;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t5 = yFit.__PolynomialFit_confidence;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            return new A.VelocityEstimate(new A.Offset(t1 * 1000, t3 * 1000), t4 * t5, new A.Duration(t2 - oldestSample.time._duration), newestSample.point.$sub(0, oldestSample.point));
          }
        }
      }
      return new A.VelocityEstimate(B.Offset_0_0, 1, new A.Duration(t2 - oldestSample.time._duration), newestSample.point.$sub(0, oldestSample.point));
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.IOSScrollViewFlingVelocityTracker.prototype = {
    addPosition$2(time, position) {
      var t1 = (this._velocity_tracker$_index + 1) % 20;
      this._velocity_tracker$_index = t1;
      this._touchSamples[t1] = new A._PointAtTime(time, position);
    },
    _previousVelocityAt$1(index) {
      var end, start,
        t1 = this._velocity_tracker$_index + index,
        endIndex = B.JSInt_methods.$mod(t1, 20),
        startIndex = B.JSInt_methods.$mod(t1 - 1, 20);
      t1 = this._touchSamples;
      end = t1[endIndex];
      start = t1[startIndex];
      if (end == null || start == null)
        return B.Offset_0_0;
      t1 = end.time._duration - start.time._duration;
      return t1 > 0 ? end.point.$sub(0, start.point).$mul(0, 1000).$div(0, t1 / 1000) : B.Offset_0_0;
    },
    getVelocityEstimate$0() {
      var oldestNonNullSample, i, _this = this,
        estimatedVelocity = _this._previousVelocityAt$1(-2).$mul(0, 0.6).$add(0, _this._previousVelocityAt$1(-1).$mul(0, 0.35)).$add(0, _this._previousVelocityAt$1(0).$mul(0, 0.05)),
        t1 = _this._touchSamples,
        t2 = _this._velocity_tracker$_index,
        newestSample = t1[t2];
      for (oldestNonNullSample = null, i = 1; i <= 20; ++i) {
        oldestNonNullSample = t1[B.JSInt_methods.$mod(t2 + i, 20)];
        if (oldestNonNullSample != null)
          break;
      }
      if (oldestNonNullSample == null || newestSample == null)
        return B.VelocityEstimate_MMm;
      else
        return new A.VelocityEstimate(estimatedVelocity, 1, new A.Duration(newestSample.time._duration - oldestNonNullSample.time._duration), newestSample.point.$sub(0, oldestNonNullSample.point));
    }
  };
  A.ThemeMode.prototype = {
    toString$0(_) {
      return "ThemeMode." + this._core$_name;
    }
  };
  A.MaterialApp.prototype = {
    createState$0() {
      return new A._MaterialAppState(B._StateLifecycle_0);
    }
  };
  A.MaterialApp_createMaterialHeroController_closure.prototype = {
    call$2(begin, end) {
      return new A.MaterialRectArcTween(begin, end);
    },
    $signature: 723
  };
  A.MaterialScrollBehavior.prototype = {
    getPlatform$1(context) {
      return A.Theme_of(context).platform;
    },
    buildScrollbar$3(context, child, details) {
      switch (A.axisDirectionToAxis(details.direction)) {
        case B.Axis_0:
          return child;
        case B.Axis_1:
          switch (A.Theme_of(context).platform.index) {
            case 3:
            case 4:
            case 5:
              return A.Scrollbar$(child, details.controller, null, null, null);
            case 0:
            case 1:
            case 2:
              return child;
          }
          break;
      }
    },
    buildOverscrollIndicator$3(context, child, details) {
      var target, t1, t2, _null = null,
        indicator = A._Cell$named("indicator");
      A.Theme_of(context);
      A.Theme_of(context);
      indicator.set$finalLocalValue(B.AndroidOverscrollIndicator_1);
      switch (A.Theme_of(context).platform.index) {
        case 2:
        case 3:
        case 4:
        case 5:
          target = 1;
          break;
        case 0:
          target = 2;
          break;
        case 1:
          target = 3;
          break;
        default:
          target = _null;
          break;
      }
      if (target)
        c$0:
          for (t1 = indicator.__late_helper$_name; true;)
            switch (target) {
              case 1:
                return child;
              case 2:
                t2 = indicator.__late_helper$_value;
                if (t2 === indicator)
                  A.throwExpression(A.LateError$localNI(t1));
                switch (t2) {
                  case B.AndroidOverscrollIndicator_0:
                    target = 1;
                    break;
                  case B.AndroidOverscrollIndicator_1:
                    target = 2;
                    break;
                  default:
                    target = _null;
                    break;
                }
                if (target)
                  c$1:
                    for (; true;)
                      switch (target) {
                        case 1:
                          return new A.StretchingOverscrollIndicator(details.direction, child, _null);
                        case 2:
                          target = 3;
                          continue c$0;
                      }
                break c$0;
              case 3:
                return new A.GlowingOverscrollIndicator(details.direction, A.Theme_of(context).colorScheme.secondary, child, _null);
            }
    }
  };
  A._MaterialAppState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.___MaterialAppState__heroController = A.MaterialApp_createMaterialHeroController();
    },
    get$_localizationsDelegates() {
      var t1 = A._setArrayType([], type$.JSArray_LocalizationsDelegate_dynamic);
      this._widget.toString;
      t1.push(B.C__MaterialLocalizationsDelegate);
      t1.push(B.C__CupertinoLocalizationsDelegate);
      return t1;
    },
    _inspectorSelectButtonBuilder$2(context, onPressed) {
      return new A.FloatingActionButton(B.Icon_f1Q, onPressed, B._FloatingActionButtonType_1, null);
    },
    _materialBuilder$2(context, child) {
      var t1, platformBrightness, useDarkTheme, highContrast, theme, effectiveSelectionColor, t2, effectiveCursorColor, _this = this, _null = null;
      _this._widget.toString;
      t1 = A.MediaQuery_maybeOf(context);
      platformBrightness = t1 == null ? _null : t1.platformBrightness;
      if (platformBrightness == null)
        platformBrightness = B.Brightness_1;
      useDarkTheme = platformBrightness === B.Brightness_0;
      t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? _null : t1.highContrast;
      highContrast = t1 === true;
      if (useDarkTheme)
        if (highContrast)
          _this._widget.toString;
      if (useDarkTheme)
        _this._widget.toString;
      if (highContrast)
        _this._widget.toString;
      theme = _this._widget.theme;
      t1 = theme.textSelectionTheme;
      effectiveSelectionColor = t1.selectionColor;
      if (effectiveSelectionColor == null) {
        t2 = theme.colorScheme.primary;
        effectiveSelectionColor = A.Color$fromARGB(102, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
      }
      effectiveCursorColor = t1.cursorColor;
      if (effectiveCursorColor == null)
        effectiveCursorColor = theme.colorScheme.primary;
      _this._widget.toString;
      return new A.ScaffoldMessenger(A.DefaultSelectionStyle$(new A.AnimatedTheme(theme, new A.Builder(new A._MaterialAppState__materialBuilder_closure(_this, child), _null), B.C__Linear, B.Duration_200000, _null, _null), effectiveCursorColor, effectiveSelectionColor), _null);
    },
    _buildWidgetApp$1(context) {
      var materialColor, t3, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.theme;
      t2 = t2.primaryColor;
      materialColor = t2;
      t2 = t1.routeInformationParser;
      t1 = t1.routerDelegate;
      t3 = _this.get$_localizationsDelegates();
      _this._widget.toString;
      return new A.WidgetsApp(_null, _null, _null, _null, t2, t1, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_materialBuilder(), "", _null, B.TextStyle_86y, materialColor, _null, t3, _null, _null, B.List_Locale_en_US, false, false, false, false, _this.get$_inspectorSelectButtonBuilder(), false, _null, _null, _null, false, new A.GlobalObjectKey(_this, type$.GlobalObjectKey_State_StatefulWidget));
    },
    build$1(context) {
      var _null = null,
        result = A.Focus$(false, false, this._buildWidgetApp$1(context), _null, _null, _null, _null, true, _null, _null, new A._MaterialAppState_build_closure(), _null, _null),
        t1 = this._widget.scrollBehavior,
        t2 = this.___MaterialAppState__heroController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.ScrollConfiguration$(t1, new A.HeroControllerScope(t2, result, _null));
    }
  };
  A._MaterialAppState__materialBuilder_closure.prototype = {
    call$1(context) {
      return this.$this._widget.builder.call$2(context, this.child);
    },
    $signature: 29
  };
  A._MaterialAppState_build_closure.prototype = {
    call$2(node, $event) {
      if (!($event instanceof A.RawKeyDownEvent) || !$event.data.get$logicalKey().$eq(0, B.LogicalKeyboardKey_4294967323))
        return B.KeyEventResult_1;
      return A.Tooltip_dismissAllToolTips() ? B.KeyEventResult_0 : B.KeyEventResult_1;
    },
    $signature: 72
  };
  A._ToolbarContainerLayout.prototype = {
    getConstraintsForChild$1(constraints) {
      return constraints.tighten$1$height(this.toolbarHeight);
    },
    getSize$1(constraints) {
      return new A.Size(constraints.maxWidth, this.toolbarHeight);
    },
    getPositionForChild$2(size, childSize) {
      return new A.Offset(0, size._dy - childSize._dy);
    },
    shouldRelayout$1(oldDelegate) {
      return this.toolbarHeight !== oldDelegate.toolbarHeight;
    }
  };
  A._PreferredAppBarSize.prototype = {};
  A.AppBar.prototype = {
    _getEffectiveCenterTitle$1(theme) {
      return false;
    },
    createState$0() {
      return new A._AppBarState(B._StateLifecycle_0);
    },
    $isPreferredSizeWidget: 1,
    notificationPredicate$1(arg0) {
      return A.scroll_notification__defaultScrollNotificationPredicate$closure().call$1(arg0);
    },
    get$preferredSize() {
      return this.preferredSize;
    }
  };
  A._AppBarState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._scrollNotificationObserver;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_app_bar$_handleScrollNotification());
      t1 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$._ScrollNotificationObserverScope);
      t1 = t1 == null ? null : t1._scrollNotificationObserverState;
      _this._scrollNotificationObserver = t1;
      if (t1 != null) {
        t1 = t1._scroll_notification_observer$_listeners;
        t1._insertBefore$3$updateFirst(t1._collection$_first, new A._ListenerEntry(_this.get$_app_bar$_handleScrollNotification()), false);
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this._scrollNotificationObserver;
      if (t1 != null) {
        t1.removeListener$1(0, _this.get$_app_bar$_handleScrollNotification());
        _this._scrollNotificationObserver = null;
      }
      _this.super$State$dispose();
    },
    _handleDrawerButtonEnd$0() {
      var t2, t3, t4,
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.Scaffold_of(t1);
      t2 = t1._drawerKey;
      if (t2.get$currentState() != null) {
        t3 = t1._drawerOpened;
        t4 = t3._restoration_properties$_value;
        t3 = t4 == null ? A._instanceType(t3)._eval$1("RestorableValue.T")._as(t4) : t4;
      } else
        t3 = false;
      if (t3)
        t2.get$currentState().close$0(0);
      t1 = t1._endDrawerKey.get$currentState();
      if (t1 != null)
        t1.open$0(0);
    },
    _app_bar$_handleScrollNotification$1(notification) {
      var oldScrolledUnder, metrics, t1, _this = this;
      if (notification instanceof A.ScrollUpdateNotification && _this._widget.notificationPredicate$1(notification)) {
        oldScrolledUnder = _this._scrolledUnder;
        metrics = notification.metrics;
        switch (metrics.axisDirection.index) {
          case 0:
            t1 = _this._scrolledUnder = Math.max(metrics.get$maxScrollExtent() - metrics.get$pixels(), 0) > 0;
            break;
          case 2:
            t1 = _this._scrolledUnder = Math.max(metrics.get$pixels() - metrics.get$minScrollExtent(), 0) > 0;
            break;
          case 1:
          case 3:
            t1 = _this._scrolledUnder = false;
            break;
          default:
            t1 = oldScrolledUnder;
        }
        if (t1 !== oldScrolledUnder)
          _this.setState$1(new A._AppBarState__handleScrollNotification_closure());
      }
    },
    build$1(context) {
      var t2, t3, t4, toolbarHeight, t5, t6, backgroundColor, foregroundColor, elevation, effectiveElevation, overallIconTheme, actionsIconTheme, toolbarTextStyle, titleTextStyle, title, namesRoute, mediaQueryData, actions, appBar, overlayStyle, _this = this, _null = null,
        theme = A.Theme_of(context),
        appBarTheme = A.Theme_of(context).appBarTheme,
        defaults = new A._DefaultsM21(context, _null, _null, _null, 4, _null, B.Color_4278190080, _null, _null, _null, _null, _null, _null, 16, 56, _null, _null, _null, _null),
        t1 = context.findAncestorStateOfType$1$0(type$.ScaffoldState),
        parentRoute = A.ModalRoute_of(context, type$.nullable_Object);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.FlexibleSpaceBarSettings);
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      t3 = _this._scrolledUnder;
      if (t3)
        t2.add$1(0, B.MaterialState_5);
      t3 = t1 == null;
      if (t3)
        t4 = _null;
      else {
        t1._widget.toString;
        t4 = false;
      }
      if (t3)
        t1 = _null;
      else {
        t1._widget.toString;
        t1 = false;
      }
      if (parentRoute != null)
        !parentRoute.get$hasActiveRouteBelow();
      if (parentRoute instanceof A.PageRoute)
        parentRoute.get$fullscreenDialog();
      toolbarHeight = _this._widget.toolbarHeight;
      t3 = defaults.get$backgroundColor(defaults);
      t5 = type$.nullable_Color;
      t6 = A.MaterialStateProperty_resolveAs(_null, t2, t5);
      t5 = t6 == null ? A.MaterialStateProperty_resolveAs(appBarTheme.backgroundColor, t2, t5) : t6;
      backgroundColor = t5 == null ? A.MaterialStateProperty_resolveAs(t3, t2, type$.Color) : t5;
      _this._widget.toString;
      foregroundColor = appBarTheme.foregroundColor;
      if (foregroundColor == null)
        foregroundColor = defaults.get$foregroundColor();
      _this._widget.toString;
      elevation = appBarTheme.elevation;
      if (elevation == null) {
        t3 = defaults.elevation;
        t3.toString;
        elevation = t3;
      }
      if (t2.contains$1(0, B.MaterialState_5)) {
        _this._widget.toString;
        t2 = appBarTheme.scrolledUnderElevation;
        if (t2 == null)
          t2 = defaults.scrolledUnderElevation;
        effectiveElevation = t2 == null ? elevation : t2;
      } else
        effectiveElevation = elevation;
      _this._widget.toString;
      t2 = appBarTheme.iconTheme;
      overallIconTheme = t2 == null ? defaults.get$iconTheme().copyWith$1$color(foregroundColor) : t2;
      _this._widget.toString;
      t3 = appBarTheme.actionsIconTheme;
      if (t3 == null)
        t3 = _null;
      t2 = t3 == null ? t2 : t3;
      if (t2 == null) {
        t2 = defaults.actionsIconTheme;
        t2 = t2 == null ? _null : t2.copyWith$1$color(foregroundColor);
        actionsIconTheme = t2;
      } else
        actionsIconTheme = t2;
      if (actionsIconTheme == null)
        actionsIconTheme = overallIconTheme;
      _this._widget.toString;
      t2 = appBarTheme.toolbarTextStyle;
      if (t2 == null) {
        t2 = defaults.get$toolbarTextStyle();
        t2 = t2 == null ? _null : t2.copyWith$1$color(foregroundColor);
        toolbarTextStyle = t2;
      } else
        toolbarTextStyle = t2;
      _this._widget.toString;
      t2 = appBarTheme.titleTextStyle;
      if (t2 == null) {
        t2 = defaults.get$titleTextStyle();
        t2 = t2 == null ? _null : t2.copyWith$1$color(foregroundColor);
        titleTextStyle = t2;
      } else
        titleTextStyle = t2;
      t2 = _this._widget;
      title = t2.title;
      switch (theme.platform.index) {
        case 0:
        case 1:
        case 3:
        case 5:
          namesRoute = true;
          break;
        case 2:
        case 4:
          namesRoute = _null;
          break;
        default:
          namesRoute = _null;
      }
      title = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, namesRoute, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, new A._AppBarTitleBox(title, _null), _null);
      titleTextStyle.toString;
      title = A.DefaultTextStyle$(title, _null, _null, B.TextOverflow_2, false, titleTextStyle, _null, _null, B.TextWidthBasis_0);
      mediaQueryData = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      title = new A.MediaQuery(mediaQueryData.copyWith$1$textScaleFactor(Math.min(mediaQueryData.textScaleFactor, 1.34)), title, _null);
      t2 = _this._widget.actions;
      t3 = t2.length;
      if (t3 !== 0)
        actions = A.Row$(t2, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null);
      else if (t1 === true) {
        t1 = overallIconTheme.size;
        if (t1 == null)
          t1 = 24;
        A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
        actions = A.IconButton$(_null, _null, true, B.Icon_Ulp, t1, _this.get$_handleDrawerButtonEnd(), B.EdgeInsets_8_8_8_8, _null, "Open navigation menu");
      } else
        actions = _null;
      if (actions != null)
        actions = A.IconTheme_merge(actions, actionsIconTheme);
      t1 = _this._widget._getEffectiveCenterTitle$1(theme);
      t2 = _this._widget;
      t2.toString;
      t3 = appBarTheme.titleSpacing;
      if (t3 == null)
        t3 = 16;
      toolbarTextStyle.toString;
      appBar = A.ClipRect$(new A.CustomSingleChildLayout(new A._ToolbarContainerLayout(toolbarHeight), A.IconTheme_merge(A.DefaultTextStyle$(new A.NavigationToolbar(_null, title, actions, t1, t3, _null), _null, _null, B.TextOverflow_0, true, toolbarTextStyle, _null, _null, B.TextWidthBasis_0), overallIconTheme), _null), B.Clip_1, _null);
      appBar = A.SafeArea$(false, appBar, B.EdgeInsets_0_0_0_0, true);
      appBar = new A.Align(B.Alignment_0_m1, _null, _null, appBar, _null);
      t1 = t2.flexibleSpace;
      if (t1 != null) {
        t2 = A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.OrdinalSortKey_1_null, _null, _null, _null, _null, _null, _null);
        t3 = A.Material$(B.Duration_200000, true, _null, appBar, B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_4);
        appBar = new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_2, B.Clip_1, A._setArrayType([new A.Semantics(t2, false, true, false, t1, _null), new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.OrdinalSortKey_0_null, _null, _null, _null, _null, _null, _null), false, true, false, t3, _null)], type$.JSArray_Widget), _null);
      }
      _this._widget.toString;
      t1 = A.ThemeData_estimateBrightnessForColor(backgroundColor);
      t2 = (t1 === B.Brightness_0 ? B.SystemUiOverlayStyle_6UD : B.SystemUiOverlayStyle_qsc).copyWith$1$statusBarColor(_null);
      overlayStyle = t2;
      _this._widget.toString;
      t1 = appBarTheme.shadowColor;
      if (t1 == null)
        t1 = defaults.shadowColor;
      t2 = appBarTheme.surfaceTintColor;
      if (t2 == null)
        t2 = defaults.surfaceTintColor;
      t3 = appBarTheme.shape;
      if (t3 == null)
        t3 = defaults.shape;
      t1 = A.Material$(B.Duration_200000, true, _null, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, appBar, _null), B.Clip_0, backgroundColor, effectiveElevation, _null, t1, t3, t2, _null, B.MaterialType_0);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A.AnnotatedRegion(overlayStyle, t1, _null, type$.AnnotatedRegion_SystemUiOverlayStyle), _null);
    }
  };
  A._AppBarState__handleScrollNotification_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._AppBarTitleBox.prototype = {
    createRenderObject$1(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new A._RenderAppBarTitleBox(B.Alignment_0_0, t1.textDirection, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
    }
  };
  A._RenderAppBarTitleBox.prototype = {
    computeDryLayout$1(constraints) {
      var innerConstraints = constraints.copyWith$1$maxHeight(1 / 0);
      return constraints.constrain$1(this.RenderObjectWithChildMixin__child.getDryLayout$1(innerConstraints));
    },
    performLayout$0() {
      var t2, _this = this,
        t1 = type$.BoxConstraints,
        innerConstraints = t1._as(A.RenderObject.prototype.get$constraints.call(_this)).copyWith$1$maxHeight(1 / 0);
      _this.RenderObjectWithChildMixin__child.layout$2$parentUsesSize(innerConstraints, true);
      t1 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      t2 = _this.RenderObjectWithChildMixin__child._box$_size;
      t2.toString;
      _this._box$_size = t1.constrain$1(t2);
      _this.alignChild$0();
    }
  };
  A._DefaultsM21.prototype = {
    get$_app_bar$_theme() {
      var result, _this = this,
        value = _this.___DefaultsM2__theme;
      if (value === $) {
        result = A.Theme_of(_this.context);
        if (_this.___DefaultsM2__theme !== $)
          A.throwUnnamedLateFieldADI();
        _this.___DefaultsM2__theme = result;
        value = result;
      }
      return value;
    },
    get$_app_bar$_colors() {
      var t1, _this = this,
        value = _this.___DefaultsM2__colors;
      if (value === $) {
        t1 = _this.get$_app_bar$_theme();
        if (_this.___DefaultsM2__colors !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.___DefaultsM2__colors = t1.colorScheme;
      }
      return value;
    },
    get$backgroundColor(_) {
      return this.get$_app_bar$_colors().brightness === B.Brightness_0 ? this.get$_app_bar$_colors().surface : this.get$_app_bar$_colors().primary;
    },
    get$foregroundColor() {
      return this.get$_app_bar$_colors().brightness === B.Brightness_0 ? this.get$_app_bar$_colors().onSurface : this.get$_app_bar$_colors().onPrimary;
    },
    get$iconTheme() {
      return this.get$_app_bar$_theme().iconTheme;
    },
    get$toolbarTextStyle() {
      return this.get$_app_bar$_theme().textTheme.bodyMedium;
    },
    get$titleTextStyle() {
      return this.get$_app_bar$_theme().textTheme.titleLarge;
    }
  };
  A.AppBarTheme.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.brightness, _this.get$backgroundColor(_this), _this.get$foregroundColor(), _this.elevation, _this.scrolledUnderElevation, _this.shadowColor, _this.get$surfaceTintColor(), _this.shape, _this.get$iconTheme(), _this.get$actionsIconTheme(), _this.textTheme, _this.centerTitle, _this.titleSpacing, _this.toolbarHeight, _this.get$toolbarTextStyle(), _this.get$titleTextStyle(), _this.systemOverlayStyle, _this.backwardsCompatibility, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.AppBarTheme)
        if (J.$eq$(other.get$backgroundColor(other), _this.get$backgroundColor(_this)))
          if (J.$eq$(other.get$foregroundColor(), _this.get$foregroundColor()))
            if (other.elevation == _this.elevation)
              if (other.scrolledUnderElevation == _this.scrolledUnderElevation)
                if (J.$eq$(other.shadowColor, _this.shadowColor))
                  if (J.$eq$(other.get$surfaceTintColor(), _this.get$surfaceTintColor()))
                    if (J.$eq$(other.shape, _this.shape))
                      if (J.$eq$(other.get$iconTheme(), _this.get$iconTheme()))
                        if (J.$eq$(other.get$actionsIconTheme(), _this.get$actionsIconTheme()))
                          if (J.$eq$(other.textTheme, _this.textTheme))
                            if (other.titleSpacing == _this.titleSpacing)
                              if (other.toolbarHeight == _this.toolbarHeight)
                                if (J.$eq$(other.get$toolbarTextStyle(), _this.get$toolbarTextStyle()))
                                  if (J.$eq$(other.get$titleTextStyle(), _this.get$titleTextStyle()))
                                    t1 = true;
                                  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;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$backgroundColor(receiver) {
      return this.backgroundColor;
    },
    get$foregroundColor() {
      return this.foregroundColor;
    },
    get$surfaceTintColor() {
      return this.surfaceTintColor;
    },
    get$iconTheme() {
      return this.iconTheme;
    },
    get$actionsIconTheme() {
      return this.actionsIconTheme;
    },
    get$toolbarTextStyle() {
      return this.toolbarTextStyle;
    },
    get$titleTextStyle() {
      return this.titleTextStyle;
    }
  };
  A._AppBarTheme_Object_Diagnosticable.prototype = {};
  A.MaterialPointArcTween.prototype = {
    _initialize$0() {
      var t2, delta, deltaX, deltaY, distanceFromAtoB, t3, t4, c, t5, t6, t7, t8, _this = this,
        t1 = _this.begin;
      t1.toString;
      t2 = _this.end;
      t2.toString;
      delta = t2.$sub(0, t1);
      deltaX = Math.abs(delta._dx);
      deltaY = Math.abs(delta._dy);
      distanceFromAtoB = delta.get$distance();
      t3 = t2._dx;
      t4 = t1._dy;
      c = new A.Offset(t3, t4);
      t5 = new A.MaterialPointArcTween__initialize_sweepAngle(_this, distanceFromAtoB);
      if (deltaX > 2 && deltaY > 2) {
        t6 = distanceFromAtoB * distanceFromAtoB;
        t7 = t1._dx;
        t8 = t2._dy;
        if (deltaX < deltaY) {
          t1 = t6 / c.$sub(0, t1).get$distance() / 2;
          _this._radius = t1;
          _this._center = new A.Offset(t3 + t1 * J.get$sign$in(t7 - t3), t8);
          if (t7 < t3) {
            _this._beginAngle = t5.call$0() * J.get$sign$in(t4 - t8);
            _this._endAngle = 0;
          } else {
            _this._beginAngle = 3.141592653589793 + t5.call$0() * J.get$sign$in(t8 - t4);
            _this._endAngle = 3.141592653589793;
          }
        } else {
          _this._radius = t6 / c.$sub(0, t2).get$distance() / 2;
          t1 = J.get$sign$in(t8 - t4);
          t2 = _this._radius;
          t2.toString;
          _this._center = new A.Offset(t7, t4 + t1 * t2);
          if (t4 < t8) {
            _this._beginAngle = -1.5707963267948966;
            _this._endAngle = -1.5707963267948966 + t5.call$0() * J.get$sign$in(t3 - t7);
          } else {
            _this._beginAngle = 1.5707963267948966;
            _this._endAngle = 1.5707963267948966 + t5.call$0() * J.get$sign$in(t7 - t3);
          }
        }
      } else
        _this._endAngle = _this._beginAngle = null;
      _this._arc$_dirty = false;
    },
    get$center() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._center;
    },
    get$radius() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._radius;
    },
    get$beginAngle() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._beginAngle;
    },
    get$endAngle() {
      var _this = this;
      if (_this.begin == null || _this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      return _this._beginAngle;
    },
    set$begin(value) {
      if (!J.$eq$(value, this.begin)) {
        this.begin = value;
        this._arc$_dirty = true;
      }
    },
    set$end(_, value) {
      if (!J.$eq$(value, this.end)) {
        this.end = value;
        this._arc$_dirty = true;
      }
    },
    lerp$1(t) {
      var t1, t2, t3, t4, _this = this;
      if (_this._arc$_dirty)
        _this._initialize$0();
      if (t === 0) {
        t1 = _this.begin;
        t1.toString;
        return t1;
      }
      if (t === 1) {
        t1 = _this.end;
        t1.toString;
        return t1;
      }
      t1 = _this._beginAngle;
      if (t1 == null || _this._endAngle == null) {
        t1 = A.Offset_lerp(_this.begin, _this.end, t);
        t1.toString;
        return t1;
      }
      t1 = A.lerpDouble(t1, _this._endAngle, t);
      t1.toString;
      t2 = Math.cos(t1);
      t3 = _this._radius;
      t3.toString;
      t1 = Math.sin(t1);
      t4 = _this._radius;
      t4.toString;
      return _this._center.$add(0, new A.Offset(t2 * t3, t1 * t4));
    },
    toString$0(_) {
      var _this = this;
      return "MaterialPointArcTween(" + A.S(_this.begin) + " \u2192 " + A.S(_this.end) + "; center=" + A.S(_this.get$center()) + ", radius=" + A.S(_this.get$radius()) + ", beginAngle=" + A.S(_this.get$beginAngle()) + ", endAngle=" + A.S(_this.get$endAngle()) + ")";
    }
  };
  A.MaterialPointArcTween__initialize_sweepAngle.prototype = {
    call$0() {
      var t1 = this.$this._radius;
      t1.toString;
      return 2 * Math.asin(this.distanceFromAtoB / (2 * t1));
    },
    $signature: 98
  };
  A._CornerId.prototype = {
    toString$0(_) {
      return "_CornerId." + this._core$_name;
    }
  };
  A._Diagonal.prototype = {};
  A.MaterialRectArcTween.prototype = {
    _initialize$0() {
      var t2, t3, _this = this,
        diagonal = A._maxBy(B.List_oyU, new A.MaterialRectArcTween__initialize_closure(_this, _this.end.get$center().$sub(0, _this.begin.get$center()))),
        t1 = _this.begin;
      t1.toString;
      t2 = diagonal.beginId;
      t1 = _this._cornerFor$2(t1, t2);
      t3 = _this.end;
      t3.toString;
      _this.__MaterialRectArcTween__beginArc = new A.MaterialPointArcTween(t1, _this._cornerFor$2(t3, t2));
      t2 = _this.begin;
      t2.toString;
      t3 = diagonal.endId;
      t2 = _this._cornerFor$2(t2, t3);
      t1 = _this.end;
      t1.toString;
      _this.__MaterialRectArcTween__endArc = new A.MaterialPointArcTween(t2, _this._cornerFor$2(t1, t3));
      _this._arc$_dirty = false;
    },
    _cornerFor$2(rect, id) {
      switch (id.index) {
        case 0:
          return new A.Offset(rect.left, rect.top);
        case 1:
          return new A.Offset(rect.right, rect.top);
        case 2:
          return new A.Offset(rect.left, rect.bottom);
        case 3:
          return new A.Offset(rect.right, rect.bottom);
      }
    },
    get$beginArc() {
      var t1, _this = this;
      if (_this.begin == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      t1 = _this.__MaterialRectArcTween__beginArc;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    get$endArc() {
      var t1, _this = this;
      if (_this.end == null)
        return null;
      if (_this._arc$_dirty)
        _this._initialize$0();
      t1 = _this.__MaterialRectArcTween__endArc;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    set$begin(value) {
      if (!J.$eq$(value, this.begin)) {
        this.begin = value;
        this._arc$_dirty = true;
      }
    },
    set$end(_, value) {
      if (!J.$eq$(value, this.end)) {
        this.end = value;
        this._arc$_dirty = true;
      }
    },
    lerp$1(t) {
      var t1, t2, _this = this;
      if (_this._arc$_dirty)
        _this._initialize$0();
      if (t === 0) {
        t1 = _this.begin;
        t1.toString;
        return t1;
      }
      if (t === 1) {
        t1 = _this.end;
        t1.toString;
        return t1;
      }
      t1 = _this.__MaterialRectArcTween__beginArc;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.lerp$1(t);
      t2 = _this.__MaterialRectArcTween__endArc;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.Rect$fromPoints(t1, t2.lerp$1(t));
    },
    toString$0(_) {
      var _this = this;
      return "MaterialRectArcTween(" + A.S(_this.begin) + " \u2192 " + A.S(_this.end) + "; beginArc=" + A.S(_this.get$beginArc()) + ", endArc=" + A.S(_this.get$endArc()) + ")";
    }
  };
  A.MaterialRectArcTween__initialize_closure.prototype = {
    call$1(d) {
      var t4, delta, $length,
        t1 = this.$this,
        t2 = this.centersVector,
        t3 = t1.begin;
      t3.toString;
      t3 = t1._cornerFor$2(t3, d.endId);
      t4 = t1.begin;
      t4.toString;
      delta = t3.$sub(0, t1._cornerFor$2(t4, d.beginId));
      $length = delta.get$distance();
      return t2._dx * delta._dx / $length + t2._dy * delta._dy / $length;
    },
    $signature: 726
  };
  A.MaterialBannerThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.contentTextStyle, _this.elevation, _this.padding, _this.leadingPadding, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.MaterialBannerThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.contentTextStyle, _this.contentTextStyle) && other.elevation == _this.elevation && J.$eq$(other.padding, _this.padding) && J.$eq$(other.leadingPadding, _this.leadingPadding);
    }
  };
  A._MaterialBannerThemeData_Object_Diagnosticable.prototype = {};
  A.BottomAppBarTheme.prototype = {
    get$hashCode(_) {
      return A.Object_hash(this.color, this.elevation, this.shape, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.BottomAppBarTheme && J.$eq$(other.color, _this.color) && other.elevation == _this.elevation && true;
    }
  };
  A._BottomAppBarTheme_Object_Diagnosticable.prototype = {};
  A.BottomNavigationBarThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.elevation, _this.selectedIconTheme, _this.unselectedIconTheme, _this.selectedItemColor, _this.unselectedItemColor, _this.selectedLabelStyle, _this.unselectedLabelStyle, _this.showSelectedLabels, _this.showUnselectedLabels, _this.type, _this.enableFeedback, _this.landscapeLayout, _this.mouseCursor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.BottomNavigationBarThemeData)
        if (J.$eq$(other.backgroundColor, _this.backgroundColor))
          if (other.elevation == _this.elevation)
            if (J.$eq$(other.selectedIconTheme, _this.selectedIconTheme))
              if (J.$eq$(other.unselectedIconTheme, _this.unselectedIconTheme))
                if (J.$eq$(other.selectedItemColor, _this.selectedItemColor))
                  if (J.$eq$(other.unselectedItemColor, _this.unselectedItemColor))
                    if (J.$eq$(other.selectedLabelStyle, _this.selectedLabelStyle))
                      if (J.$eq$(other.unselectedLabelStyle, _this.unselectedLabelStyle))
                        t1 = true;
                      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;
    }
  };
  A._BottomNavigationBarThemeData_Object_Diagnosticable.prototype = {};
  A.BottomSheetThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.elevation, _this.modalBackgroundColor, _this.modalElevation, _this.shape, _this.clipBehavior, _this.constraints, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.BottomSheetThemeData)
        if (J.$eq$(other.backgroundColor, _this.backgroundColor))
          if (other.elevation == _this.elevation)
            if (J.$eq$(other.modalBackgroundColor, _this.modalBackgroundColor))
              if (other.modalElevation == _this.modalElevation)
                if (J.$eq$(other.shape, _this.shape))
                  t1 = J.$eq$(other.constraints, _this.constraints);
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._BottomSheetThemeData_Object_Diagnosticable.prototype = {};
  A.RawMaterialButton.prototype = {
    createState$0() {
      return new A._RawMaterialButtonState(A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState), B._StateLifecycle_0);
    }
  };
  A._RawMaterialButtonState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._widget.toString;
      this.removeMaterialState$1(B.MaterialState_6);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      _this._widget.toString;
      _this.removeMaterialState$1(B.MaterialState_6);
      t1 = _this.MaterialStateMixin_materialStates;
      if (t1.contains$1(0, B.MaterialState_6) && t1.contains$1(0, B.MaterialState_2))
        _this.removeMaterialState$1(B.MaterialState_2);
    },
    get$_effectiveElevation() {
      var _this = this,
        t1 = _this.MaterialStateMixin_materialStates;
      if (t1.contains$1(0, B.MaterialState_6))
        return _this._widget.disabledElevation;
      if (t1.contains$1(0, B.MaterialState_2))
        return _this._widget.highlightElevation;
      if (t1.contains$1(0, B.MaterialState_0))
        return _this._widget.hoverElevation;
      if (t1.contains$1(0, B.MaterialState_1))
        return _this._widget.focusElevation;
      return _this._widget.elevation;
    },
    build$1(context) {
      var t2, effectiveTextColor, effectiveShape, densityAdjustment, effectiveConstraints, effectiveMouseCursor, padding, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, minSize, _this = this, _null = null,
        t1 = _this._widget.textStyle;
      t1 = t1 == null ? _null : t1.color;
      t2 = _this.MaterialStateMixin_materialStates;
      effectiveTextColor = A.MaterialStateProperty_resolveAs(t1, t2, type$.nullable_Color);
      effectiveShape = A.MaterialStateProperty_resolveAs(_this._widget.shape, t2, type$.nullable_ShapeBorder);
      _this._widget.toString;
      densityAdjustment = new A.Offset(0, 0).$mul(0, 4);
      effectiveConstraints = B.VisualDensity_0_0.effectiveConstraints$1(_this._widget.constraints);
      _this._widget.toString;
      effectiveMouseCursor = A.MaterialStateProperty_resolveAs(B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, t2, type$.nullable_MouseCursor);
      _this._widget.toString;
      t1 = densityAdjustment._dx;
      t2 = densityAdjustment._dy;
      padding = B.EdgeInsets_0_0_0_0.add$1(0, new A.EdgeInsets(t1, t2, t1, t2)).clamp$2(0, B.EdgeInsets_0_0_0_0, B._MixedEdgeInsets_QWq);
      t3 = _this.get$_effectiveElevation();
      t4 = _this._widget.textStyle;
      t4 = t4 == null ? _null : t4.copyWith$1$color(effectiveTextColor);
      t5 = _this._widget.fillColor;
      A.Theme_of(context);
      t6 = _this._widget;
      t7 = t6.clipBehavior;
      t6 = t6.focusNode;
      t8 = _this.updateMaterialState$1(B.MaterialState_1);
      _this._widget.toString;
      t9 = _this.updateMaterialState$2$onChanged(B.MaterialState_2, _null);
      t10 = _this._widget;
      t11 = t10.splashColor;
      t12 = t10.focusColor;
      t10 = t10.hoverColor;
      t13 = _this.updateMaterialState$1(B.MaterialState_0);
      t14 = _this._widget;
      t15 = t14.onPressed;
      t4 = A.Material$(B.Duration_200000, true, _null, A.InkWell$(false, _null, true, A.IconTheme_merge(A.Container$(_null, A.Center$(t14.child, 1, _null, 1), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, padding, _null, _null, _null), new A.IconThemeData(effectiveTextColor, _null, _null, _null)), effectiveShape, true, t12, t6, _null, t10, _null, effectiveMouseCursor, _null, t8, t9, t13, _null, t15, _null, _null, _null, _null, t11, _null), t7, t5, t3, _null, _null, effectiveShape, _null, t4, B.MaterialType_3);
      switch (t14.materialTapTargetSize.index) {
        case 0:
          minSize = new A.Size(48 + t1, 48 + t2);
          break;
        case 1:
          minSize = B.Size_0_0;
          break;
        default:
          minSize = _null;
      }
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, true, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A._InputPadding(minSize, new A.ConstrainedBox(effectiveConstraints, t4, _null), _null), _null);
    }
  };
  A._InputPadding.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderInputPadding(this.minSize, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$minSize(this.minSize);
    }
  };
  A._RenderInputPadding.prototype = {
    set$minSize(value) {
      if (this._minSize.$eq(0, value))
        return;
      this._minSize = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth()), this._minSize._dx);
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight()), this._minSize._dy);
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth()), this._minSize._dx);
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight()), this._minSize._dy);
      return 0;
    },
    _button$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var childSize, t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        childSize = layoutChild.call$2(t1, constraints);
        t1 = childSize._dx;
        t2 = this._minSize;
        return constraints.constrain$1(new A.Size(Math.max(t1, t2._dx), Math.max(childSize._dy, t2._dy)));
      }
      return B.Size_0_0;
    },
    computeDryLayout$1(constraints) {
      return this._button$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      var t2, t3, _this = this,
        t1 = _this._button$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
      _this._box$_size = t1;
      t2 = _this.RenderObjectWithChildMixin__child;
      if (t2 != null) {
        t3 = t2.parentData;
        t3.toString;
        type$.BoxParentData._as(t3);
        t2 = t2._box$_size;
        t2.toString;
        t3.offset = B.Alignment_0_0.alongOffset$1(type$.Offset._as(t1.$sub(0, t2)));
      }
    },
    hitTest$2$position(result, position) {
      var center;
      if (this.super$RenderBox$hitTest(result, position))
        return true;
      center = this.RenderObjectWithChildMixin__child._box$_size.center$1(B.Offset_0_0);
      return result.addWithRawTransform$3$hitTest$position$transform(new A._RenderInputPadding_hitTest_closure(this, center), center, A.MatrixUtils_forceToPoint(center));
    }
  };
  A._RenderInputPadding_hitTest_closure.prototype = {
    call$2(result, position) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, this.center);
    },
    $signature: 18
  };
  A.__RawMaterialButtonState_State_MaterialStateMixin.prototype = {};
  A.ButtonBarThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.alignment, _this.mainAxisSize, _this.buttonTextTheme, _this.buttonMinWidth, _this.buttonHeight, _this.buttonPadding, _this.buttonAlignedDropdown, _this.layoutBehavior, _this.overflowDirection, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.ButtonBarThemeData)
        if (other.buttonMinWidth == _this.buttonMinWidth)
          if (other.buttonHeight == _this.buttonHeight)
            if (J.$eq$(other.buttonPadding, _this.buttonPadding))
              t1 = true;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._ButtonBarThemeData_Object_Diagnosticable.prototype = {};
  A.ButtonStyle.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$textStyle(), _this.get$backgroundColor(_this), _this.get$foregroundColor(), _this.get$overlayColor(), _this.get$shadowColor(_this), _this.get$surfaceTintColor(), _this.get$elevation(_this), _this.get$padding(_this), _this.get$minimumSize(), _this.fixedSize, _this.get$maximumSize(), _this.get$side(), _this.get$shape(_this), _this.get$mouseCursor(), _this.get$visualDensity(), _this.get$tapTargetSize(), _this.animationDuration, _this.enableFeedback, _this.alignment, _this.get$splashFactory());
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ButtonStyle && other.get$textStyle() == _this.get$textStyle() && other.get$backgroundColor(other) == _this.get$backgroundColor(_this) && J.$eq$(other.get$foregroundColor(), _this.get$foregroundColor()) && J.$eq$(other.get$overlayColor(), _this.get$overlayColor()) && other.get$shadowColor(other) == _this.get$shadowColor(_this) && other.get$surfaceTintColor() == _this.get$surfaceTintColor() && other.get$elevation(other) == _this.get$elevation(_this) && other.get$padding(other) == _this.get$padding(_this) && other.get$minimumSize() == _this.get$minimumSize() && other.fixedSize == _this.fixedSize && other.get$maximumSize() == _this.get$maximumSize() && other.get$side() == _this.get$side() && other.get$shape(other) == _this.get$shape(_this) && J.$eq$(other.get$mouseCursor(), _this.get$mouseCursor()) && J.$eq$(other.get$visualDensity(), _this.get$visualDensity()) && other.get$tapTargetSize() == _this.get$tapTargetSize() && J.$eq$(other.animationDuration, _this.animationDuration) && other.enableFeedback == _this.enableFeedback && J.$eq$(other.alignment, _this.alignment) && other.get$splashFactory() == _this.get$splashFactory();
    },
    get$textStyle() {
      return this.textStyle;
    },
    get$backgroundColor(receiver) {
      return this.backgroundColor;
    },
    get$foregroundColor() {
      return this.foregroundColor;
    },
    get$overlayColor() {
      return this.overlayColor;
    },
    get$shadowColor(receiver) {
      return this.shadowColor;
    },
    get$surfaceTintColor() {
      return this.surfaceTintColor;
    },
    get$elevation(receiver) {
      return this.elevation;
    },
    get$padding(receiver) {
      return this.padding;
    },
    get$minimumSize() {
      return this.minimumSize;
    },
    get$maximumSize() {
      return this.maximumSize;
    },
    get$side() {
      return this.side;
    },
    get$shape(receiver) {
      return this.shape;
    },
    get$mouseCursor() {
      return this.mouseCursor;
    },
    get$visualDensity() {
      return this.visualDensity;
    },
    get$tapTargetSize() {
      return this.tapTargetSize;
    },
    get$splashFactory() {
      return this.splashFactory;
    }
  };
  A._LerpProperties.prototype = {
    resolve$1(states) {
      var resolvedB, _this = this,
        t1 = _this.a,
        resolvedA = t1 == null ? null : t1.resolve$1(states);
      t1 = _this.b;
      resolvedB = t1 == null ? null : t1.resolve$1(states);
      return _this.lerpFunction.call$3(resolvedA, resolvedB, _this.t);
    },
    $isMaterialStateProperty: 1
  };
  A._LerpSides.prototype = {
    resolve$1(states) {
      var resolvedB, _this = this,
        t1 = _this.a,
        resolvedA = t1 == null ? null : t1.resolve$1(states);
      t1 = _this.b;
      resolvedB = t1 == null ? null : t1.resolve$1(states);
      t1 = resolvedA == null;
      if (t1 && resolvedB == null)
        return null;
      if (t1) {
        t1 = resolvedB.color;
        return A.BorderSide_lerp(new A.BorderSide(A.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, B.BorderStyle_1, B.StrokeAlign_0), resolvedB, _this.t);
      }
      if (resolvedB == null) {
        t1 = resolvedA.color;
        return A.BorderSide_lerp(resolvedA, new A.BorderSide(A.Color$fromARGB(0, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), 0, B.BorderStyle_1, B.StrokeAlign_0), _this.t);
      }
      return A.BorderSide_lerp(resolvedA, resolvedB, _this.t);
    },
    $isMaterialStateProperty: 1
  };
  A._ButtonStyle_Object_Diagnosticable.prototype = {};
  A.ButtonStyleButton.prototype = {
    createState$0() {
      return new A._ButtonStyleState(null, null, A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState), B._StateLifecycle_0);
    }
  };
  A._ButtonStyleState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      if (!(_this._widget.onPressed != null || false))
        _this.addMaterialState$1(B.MaterialState_6);
      else
        _this.removeMaterialState$1(B.MaterialState_6);
    },
    dispose$0() {
      var t1 = this._button_style_button$_controller;
      if (t1 != null)
        t1.dispose$0();
      this.super$__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (!(_this._widget.onPressed != null || false))
        _this.addMaterialState$1(B.MaterialState_6);
      else
        _this.removeMaterialState$1(B.MaterialState_6);
      t1 = _this.MaterialStateMixin_materialStates;
      if (t1.contains$1(0, B.MaterialState_6) && t1.contains$1(0, B.MaterialState_2))
        _this.removeMaterialState$1(B.MaterialState_2);
    },
    build$1(context) {
      var resolvedBackgroundColor, resolvedForegroundColor, resolvedShadowColor, resolvedSurfaceTintColor, resolvedPadding, resolvedMinimumSize, resolvedFixedSize, resolvedMaximumSize, resolvedSide, resolvedShape, resolvedVisualDensity, resolvedTapTargetSize, resolvedAnimationDuration, resolvedEnableFeedback, resolvedAlignment, densityAdjustment, resolvedSplashFactory, t2, effectiveConstraints, size, dy, dx, padding, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, minSize, _this = this, _null = null,
        t1 = _this._widget,
        effectiveValue = new A._ButtonStyleState_build_effectiveValue(t1.style, t1.themeStyleOf$1(context), _this._widget.defaultStyleOf$1(context)),
        resolve = new A._ButtonStyleState_build_resolve(_this, effectiveValue),
        resolvedElevation = resolve.call$1$1(new A._ButtonStyleState_build_closure(), type$.nullable_double),
        resolvedTextStyle = resolve.call$1$1(new A._ButtonStyleState_build_closure0(), type$.nullable_TextStyle);
      t1 = type$.nullable_Color;
      resolvedBackgroundColor = resolve.call$1$1(new A._ButtonStyleState_build_closure1(), t1);
      resolvedForegroundColor = resolve.call$1$1(new A._ButtonStyleState_build_closure2(), t1);
      resolvedShadowColor = resolve.call$1$1(new A._ButtonStyleState_build_closure3(), t1);
      resolvedSurfaceTintColor = resolve.call$1$1(new A._ButtonStyleState_build_closure4(), t1);
      resolvedPadding = resolve.call$1$1(new A._ButtonStyleState_build_closure5(), type$.nullable_EdgeInsetsGeometry);
      t1 = type$.nullable_Size;
      resolvedMinimumSize = resolve.call$1$1(new A._ButtonStyleState_build_closure6(), t1);
      resolvedFixedSize = resolve.call$1$1(new A._ButtonStyleState_build_closure7(), t1);
      resolvedMaximumSize = resolve.call$1$1(new A._ButtonStyleState_build_closure8(), t1);
      resolvedSide = resolve.call$1$1(new A._ButtonStyleState_build_closure9(), type$.nullable_BorderSide);
      resolvedShape = resolve.call$1$1(new A._ButtonStyleState_build_closure10(), type$.nullable_OutlinedBorder);
      resolvedVisualDensity = effectiveValue.call$1$1(new A._ButtonStyleState_build_closure11(), type$.VisualDensity);
      resolvedTapTargetSize = effectiveValue.call$1$1(new A._ButtonStyleState_build_closure12(), type$.MaterialTapTargetSize);
      resolvedAnimationDuration = effectiveValue.call$1$1(new A._ButtonStyleState_build_closure13(), type$.Duration);
      resolvedEnableFeedback = effectiveValue.call$1$1(new A._ButtonStyleState_build_closure14(), type$.bool);
      resolvedAlignment = effectiveValue.call$1$1(new A._ButtonStyleState_build_closure15(), type$.AlignmentGeometry);
      densityAdjustment = new A.Offset(resolvedVisualDensity.horizontal, resolvedVisualDensity.vertical).$mul(0, 4);
      resolvedSplashFactory = effectiveValue.call$1$1(new A._ButtonStyleState_build_closure16(), type$.InteractiveInkFeatureFactory);
      t1 = resolvedMinimumSize._dx;
      t2 = resolvedMinimumSize._dy;
      effectiveConstraints = resolvedVisualDensity.effectiveConstraints$1(new A.BoxConstraints(t1, resolvedMaximumSize._dx, t2, resolvedMaximumSize._dy));
      if (resolvedFixedSize != null) {
        size = effectiveConstraints.constrain$1(resolvedFixedSize);
        t1 = size._dx;
        if (isFinite(t1))
          effectiveConstraints = effectiveConstraints.copyWith$2$maxWidth$minWidth(t1, t1);
        t1 = size._dy;
        if (isFinite(t1))
          effectiveConstraints = effectiveConstraints.copyWith$2$maxHeight$minHeight(t1, t1);
      }
      dy = densityAdjustment._dy;
      t1 = densityAdjustment._dx;
      dx = Math.max(0, t1);
      padding = resolvedPadding.add$1(0, new A.EdgeInsets(dx, dy, dx, dy)).clamp$2(0, B.EdgeInsets_0_0_0_0, B._MixedEdgeInsets_QWq);
      if (resolvedAnimationDuration._duration > 0) {
        t2 = _this._button_style_button$_elevation;
        if (t2 != null) {
          t3 = _this._backgroundColor;
          if (t3 != null)
            if (t2 !== resolvedElevation)
              if (t3.get$value(t3) !== resolvedBackgroundColor.get$value(resolvedBackgroundColor)) {
                t2 = _this._backgroundColor;
                t2 = (t2.get$value(t2) >>> 24 & 255) / 255 === 1 && (resolvedBackgroundColor.get$value(resolvedBackgroundColor) >>> 24 & 255) / 255 < 1 && resolvedElevation === 0;
              } else
                t2 = false;
            else
              t2 = false;
          else
            t2 = false;
        } else
          t2 = false;
      } else
        t2 = false;
      if (t2) {
        t2 = _this._button_style_button$_controller;
        if (!J.$eq$(t2 == null ? _null : t2.duration, resolvedAnimationDuration)) {
          t2 = _this._button_style_button$_controller;
          if (t2 != null)
            t2.dispose$0();
          t2 = A.AnimationController$(_null, resolvedAnimationDuration, 0, _null, 1, _null, _this);
          t2.didRegisterListener$0();
          t3 = t2.AnimationLocalStatusListenersMixin__statusListeners;
          t3._isDirty = true;
          t3._list.push(new A._ButtonStyleState_build_closure17(_this));
          _this._button_style_button$_controller = t2;
        }
        resolvedBackgroundColor = _this._backgroundColor;
        _this._button_style_button$_controller.set$value(0, 0);
        _this._button_style_button$_controller.forward$0(0);
      }
      _this._button_style_button$_elevation = resolvedElevation;
      _this._backgroundColor = resolvedBackgroundColor;
      resolvedElevation.toString;
      t2 = resolvedTextStyle == null ? _null : resolvedTextStyle.copyWith$1$color(resolvedForegroundColor);
      t3 = resolvedShape.copyWith$1$side(resolvedSide);
      t4 = resolvedBackgroundColor == null ? B.MaterialType_4 : B.MaterialType_3;
      t5 = _this._widget;
      t6 = t5.clipBehavior;
      t7 = t5.onPressed;
      t5 = t5.onLongPress;
      t8 = _this.updateMaterialState$1(B.MaterialState_2);
      t9 = _this.updateMaterialState$2$onChanged(B.MaterialState_0, _this._widget.onHover);
      t10 = _this._widget;
      t11 = t10.focusNode;
      t12 = t10.onPressed != null || false;
      t10 = _this.updateMaterialState$2$onChanged(B.MaterialState_1, t10.onFocusChange);
      t13 = _this._widget;
      t14 = t13.autofocus;
      resolvedAlignment.toString;
      t4 = A.Material$(resolvedAnimationDuration, true, _null, A.InkWell$(t14, _null, t12, A.IconTheme_merge(new A.Padding(padding, new A.Align(resolvedAlignment, 1, 1, t13.child, _null), _null), new A.IconThemeData(resolvedForegroundColor, _null, _null, _null)), resolvedShape, resolvedEnableFeedback, _null, t11, B.Color_0, _null, _null, new A._MouseCursor(new A._ButtonStyleState_build_closure18(effectiveValue)), _null, t10, t8, t9, t5, t7, _null, _null, new A._MaterialStatePropertyWith(new A._ButtonStyleState_build_closure19(effectiveValue), type$._MaterialStatePropertyWith_nullable_Color), _null, _null, resolvedSplashFactory), t6, resolvedBackgroundColor, resolvedElevation, _null, resolvedShadowColor, t3, resolvedSurfaceTintColor, t2, t4);
      switch (resolvedTapTargetSize.index) {
        case 0:
          minSize = new A.Size(48 + t1, 48 + dy);
          break;
        case 1:
          minSize = B.Size_0_0;
          break;
        default:
          minSize = _null;
      }
      t1 = t13.onPressed != null || false;
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, true, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A._InputPadding0(minSize, new A.ConstrainedBox(effectiveConstraints, t4, _null), _null), _null);
    }
  };
  A._ButtonStyleState_build_effectiveValue.prototype = {
    call$1$1(getProperty, $T) {
      var widgetValue = getProperty.call$1(this.widgetStyle),
        themeValue = getProperty.call$1(this.themeStyle),
        defaultValue = getProperty.call$1(this.defaultStyle),
        t1 = widgetValue == null ? themeValue : widgetValue;
      return t1 == null ? defaultValue : t1;
    },
    call$1(getProperty) {
      return this.call$1$1(getProperty, type$.dynamic);
    },
    $signature: 728
  };
  A._ButtonStyleState_build_resolve.prototype = {
    call$1$1(getProperty, $T) {
      return this.effectiveValue.call$1$1(new A._ButtonStyleState_build_resolve_closure(this.$this, getProperty, $T), $T);
    },
    call$1(getProperty) {
      return this.call$1$1(getProperty, type$.dynamic);
    },
    $signature: 729
  };
  A._ButtonStyleState_build_resolve_closure.prototype = {
    call$1(style) {
      var t1 = this.getProperty.call$1(style);
      return t1 == null ? null : t1.resolve$1(this.$this.MaterialStateMixin_materialStates);
    },
    $signature() {
      return this.T._eval$1("0?(ButtonStyle?)");
    }
  };
  A._ButtonStyleState_build_closure.prototype = {
    call$1(style) {
      return style == null ? null : style.get$elevation(style);
    },
    $signature: 730
  };
  A._ButtonStyleState_build_closure0.prototype = {
    call$1(style) {
      return style == null ? null : style.get$textStyle();
    },
    $signature: 731
  };
  A._ButtonStyleState_build_closure1.prototype = {
    call$1(style) {
      return style == null ? null : style.get$backgroundColor(style);
    },
    $signature: 123
  };
  A._ButtonStyleState_build_closure2.prototype = {
    call$1(style) {
      return style == null ? null : style.get$foregroundColor();
    },
    $signature: 123
  };
  A._ButtonStyleState_build_closure3.prototype = {
    call$1(style) {
      return style == null ? null : style.get$shadowColor(style);
    },
    $signature: 123
  };
  A._ButtonStyleState_build_closure4.prototype = {
    call$1(style) {
      return style == null ? null : style.get$surfaceTintColor();
    },
    $signature: 123
  };
  A._ButtonStyleState_build_closure5.prototype = {
    call$1(style) {
      return style == null ? null : style.get$padding(style);
    },
    $signature: 733
  };
  A._ButtonStyleState_build_closure6.prototype = {
    call$1(style) {
      return style == null ? null : style.get$minimumSize();
    },
    $signature: 147
  };
  A._ButtonStyleState_build_closure7.prototype = {
    call$1(style) {
      return style == null ? null : style.fixedSize;
    },
    $signature: 147
  };
  A._ButtonStyleState_build_closure8.prototype = {
    call$1(style) {
      return style == null ? null : style.get$maximumSize();
    },
    $signature: 147
  };
  A._ButtonStyleState_build_closure9.prototype = {
    call$1(style) {
      return style == null ? null : style.get$side();
    },
    $signature: 735
  };
  A._ButtonStyleState_build_closure10.prototype = {
    call$1(style) {
      return style == null ? null : style.get$shape(style);
    },
    $signature: 736
  };
  A._ButtonStyleState_build_closure18.prototype = {
    call$1(states) {
      return this.effectiveValue.call$1$1(new A._ButtonStyleState_build__closure0(states), type$.MouseCursor);
    },
    $signature: 737
  };
  A._ButtonStyleState_build__closure0.prototype = {
    call$1(style) {
      var t1;
      if (style == null)
        t1 = null;
      else {
        t1 = style.get$mouseCursor();
        t1 = t1 == null ? null : t1.resolve$1(this.states);
      }
      return t1;
    },
    $signature: 738
  };
  A._ButtonStyleState_build_closure19.prototype = {
    call$1(states) {
      return this.effectiveValue.call$1$1(new A._ButtonStyleState_build__closure(states), type$.Color);
    },
    $signature: 42
  };
  A._ButtonStyleState_build__closure.prototype = {
    call$1(style) {
      var t1;
      if (style == null)
        t1 = null;
      else {
        t1 = style.get$overlayColor();
        t1 = t1 == null ? null : t1.resolve$1(this.states);
      }
      return t1;
    },
    $signature: 739
  };
  A._ButtonStyleState_build_closure11.prototype = {
    call$1(style) {
      return style == null ? null : style.get$visualDensity();
    },
    $signature: 740
  };
  A._ButtonStyleState_build_closure12.prototype = {
    call$1(style) {
      return style == null ? null : style.get$tapTargetSize();
    },
    $signature: 741
  };
  A._ButtonStyleState_build_closure13.prototype = {
    call$1(style) {
      return style == null ? null : style.animationDuration;
    },
    $signature: 742
  };
  A._ButtonStyleState_build_closure14.prototype = {
    call$1(style) {
      return style == null ? null : style.enableFeedback;
    },
    $signature: 743
  };
  A._ButtonStyleState_build_closure15.prototype = {
    call$1(style) {
      return style == null ? null : style.alignment;
    },
    $signature: 744
  };
  A._ButtonStyleState_build_closure16.prototype = {
    call$1(style) {
      return style == null ? null : style.get$splashFactory();
    },
    $signature: 745
  };
  A._ButtonStyleState_build_closure17.prototype = {
    call$1($status) {
      if ($status === B.AnimationStatus_3)
        this.$this.setState$1(new A._ButtonStyleState_build__closure1());
    },
    $signature: 5
  };
  A._ButtonStyleState_build__closure1.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._MouseCursor.prototype = {
    resolve$1(states) {
      var t1 = this.resolveCallback.call$1(states);
      t1.toString;
      return t1;
    },
    get$debugDescription() {
      return "ButtonStyleButton_MouseCursor";
    }
  };
  A._InputPadding0.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderInputPadding0(this.minSize, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$minSize(this.minSize);
    }
  };
  A._RenderInputPadding0.prototype = {
    set$minSize(value) {
      if (this._button_style_button$_minSize.$eq(0, value))
        return;
      this._button_style_button$_minSize = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth()), this._button_style_button$_minSize._dx);
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight()), this._button_style_button$_minSize._dy);
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth()), this._button_style_button$_minSize._dx);
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight()), this._button_style_button$_minSize._dy);
      return 0;
    },
    _button_style_button$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var childSize, t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        childSize = layoutChild.call$2(t1, constraints);
        t1 = childSize._dx;
        t2 = this._button_style_button$_minSize;
        return constraints.constrain$1(new A.Size(Math.max(t1, t2._dx), Math.max(childSize._dy, t2._dy)));
      }
      return B.Size_0_0;
    },
    computeDryLayout$1(constraints) {
      return this._button_style_button$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      var t2, t3, _this = this,
        t1 = _this._button_style_button$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
      _this._box$_size = t1;
      t2 = _this.RenderObjectWithChildMixin__child;
      if (t2 != null) {
        t3 = t2.parentData;
        t3.toString;
        type$.BoxParentData._as(t3);
        t2 = t2._box$_size;
        t2.toString;
        t3.offset = B.Alignment_0_0.alongOffset$1(type$.Offset._as(t1.$sub(0, t2)));
      }
    },
    hitTest$2$position(result, position) {
      var center;
      if (this.super$RenderBox$hitTest(result, position))
        return true;
      center = this.RenderObjectWithChildMixin__child._box$_size.center$1(B.Offset_0_0);
      return result.addWithRawTransform$3$hitTest$position$transform(new A._RenderInputPadding_hitTest_closure0(this, center), center, A.MatrixUtils_forceToPoint(center));
    }
  };
  A._RenderInputPadding_hitTest_closure0.prototype = {
    call$2(result, position) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, this.center);
    },
    $signature: 18
  };
  A.__ButtonStyleState_State_MaterialStateMixin.prototype = {};
  A.__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.ButtonTextTheme.prototype = {
    toString$0(_) {
      return "ButtonTextTheme." + this._core$_name;
    }
  };
  A.ButtonBarLayoutBehavior.prototype = {
    toString$0(_) {
      return "ButtonBarLayoutBehavior." + this._core$_name;
    }
  };
  A.ButtonThemeData.prototype = {
    get$padding(_) {
      var t1 = this._padding;
      if (t1 != null)
        return t1;
      switch (this.textTheme.index) {
        case 0:
        case 1:
          return B.EdgeInsets_16_0_16_0;
        case 2:
          return B.EdgeInsets_24_0_24_0;
      }
    },
    get$shape(_) {
      var t1 = this._shape;
      if (t1 != null)
        return t1;
      switch (this.textTheme.index) {
        case 0:
        case 1:
          return B.RoundedRectangleBorder_ifx;
        case 2:
          return B.RoundedRectangleBorder_ifx0;
      }
    },
    copyWith$7$alignedDropdown$colorScheme$height$layoutBehavior$minWidth$padding$textTheme(alignedDropdown, colorScheme, height, layoutBehavior, minWidth, padding, textTheme) {
      var _this = this,
        t1 = textTheme == null ? _this.textTheme : textTheme,
        t2 = layoutBehavior == null ? _this.layoutBehavior : layoutBehavior,
        t3 = minWidth == null ? _this.minWidth : minWidth,
        t4 = height == null ? _this.height : height,
        t5 = padding == null ? _this.get$padding(_this) : padding,
        t6 = _this.get$shape(_this),
        t7 = colorScheme == null ? _this.colorScheme : colorScheme;
      return A.ButtonThemeData$(alignedDropdown === true, _this._button_theme$_buttonColor, t7, _this._disabledColor, _this._focusColor, t4, _this._button_theme$_highlightColor, _this._hoverColor, t2, _this._materialTapTargetSize, t3, t5, t6, _this._splashColor, t1);
    },
    copyWith$1$colorScheme(colorScheme) {
      return this.copyWith$7$alignedDropdown$colorScheme$height$layoutBehavior$minWidth$padding$textTheme(null, colorScheme, null, null, null, null, null);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.ButtonThemeData)
        if (other.textTheme === _this.textTheme)
          if (other.minWidth === _this.minWidth)
            if (other.height === _this.height)
              if (J.$eq$(other.get$padding(other), _this.get$padding(_this)))
                if (J.$eq$(other.get$shape(other), _this.get$shape(_this)))
                  if (J.$eq$(other._button_theme$_buttonColor, _this._button_theme$_buttonColor))
                    if (J.$eq$(other._focusColor, _this._focusColor))
                      if (J.$eq$(other._hoverColor, _this._hoverColor))
                        t1 = J.$eq$(other.colorScheme, _this.colorScheme) && other._materialTapTargetSize == _this._materialTapTargetSize;
                      else
                        t1 = false;
                    else
                      t1 = false;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.textTheme, _this.minWidth, _this.height, _this.get$padding(_this), _this.get$shape(_this), false, _this._button_theme$_buttonColor, _this._disabledColor, _this._focusColor, _this._hoverColor, _this._button_theme$_highlightColor, _this._splashColor, _this.colorScheme, _this._materialTapTargetSize, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._ButtonThemeData_Object_Diagnosticable.prototype = {};
  A.Card.prototype = {
    build$1(context) {
      var defaults, t1, t2, t3, t4, t5, t6, t7, _this = this, _null = null,
        cardTheme = A.Theme_of(context).cardTheme;
      A.Theme_of(context);
      defaults = new A._DefaultsM2(context, B.Clip_0, _null, _null, _null, 1, B.EdgeInsets_4_4_4_4, B.RoundedRectangleBorder_ifx0);
      t1 = _this.margin;
      if (t1 == null)
        t1 = cardTheme.margin;
      if (t1 == null)
        t1 = B.EdgeInsets_4_4_4_4;
      t2 = _this.color;
      if (t2 == null)
        t2 = cardTheme.color;
      if (t2 == null)
        t2 = defaults.get$color(defaults);
      t3 = cardTheme.shadowColor;
      if (t3 == null)
        t3 = defaults.get$shadowColor(defaults);
      t4 = cardTheme.surfaceTintColor;
      if (t4 == null)
        t4 = defaults.surfaceTintColor;
      t5 = _this.elevation;
      if (t5 == null)
        t5 = cardTheme.elevation;
      if (t5 == null)
        t5 = 1;
      t6 = _this.shape;
      if (t6 == null)
        t6 = cardTheme.shape;
      if (t6 == null)
        t6 = B.RoundedRectangleBorder_ifx0;
      t7 = _this.clipBehavior;
      if (t7 == null)
        t7 = cardTheme.clipBehavior;
      if (t7 == null)
        t7 = B.Clip_0;
      t1 = A.Container$(_null, A.Material$(B.Duration_200000, true, _null, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, _this.child, _null), t7, t2, t5, _null, t3, t6, t4, _null, B.MaterialType_1), B.Clip_0, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, t1, _null);
    }
  };
  A._DefaultsM2.prototype = {
    get$color(_) {
      return A.Theme_of(this.context).cardColor;
    },
    get$shadowColor(_) {
      return A.Theme_of(this.context).shadowColor;
    }
  };
  A.CardTheme.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.clipBehavior, _this.get$color(_this), _this.get$shadowColor(_this), _this.get$surfaceTintColor(), _this.elevation, _this.margin, _this.shape, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.CardTheme && other.clipBehavior == _this.clipBehavior && J.$eq$(other.get$color(other), _this.get$color(_this)) && J.$eq$(other.get$shadowColor(other), _this.get$shadowColor(_this)) && J.$eq$(other.get$surfaceTintColor(), _this.get$surfaceTintColor()) && other.elevation == _this.elevation && J.$eq$(other.margin, _this.margin) && J.$eq$(other.shape, _this.shape);
    },
    get$color(receiver) {
      return this.color;
    },
    get$shadowColor(receiver) {
      return this.shadowColor;
    },
    get$surfaceTintColor() {
      return this.surfaceTintColor;
    }
  };
  A._CardTheme_Object_Diagnosticable.prototype = {};
  A.Checkbox.prototype = {
    createState$0() {
      return new A._CheckboxState(new A._CheckboxPainter($.$get$ChangeNotifier__emptyListeners()), $, $, $, $, $, $, $, $, $, null, false, false, null, null, B._StateLifecycle_0);
    }
  };
  A._CheckboxState.prototype = {
    initState$0() {
      this.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$initState();
      this._previousValue = this._widget.value;
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.value;
      if (t1 != _this._widget.value) {
        _this._previousValue = t1;
        _this.animateToValue$0();
      }
    },
    dispose$0() {
      this._checkbox$_painter.dispose$0();
      this.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose();
    },
    get$onChanged() {
      return this._widget.onChanged;
    },
    get$tristate() {
      return this._widget.tristate;
    },
    get$value(_) {
      return this._widget.value;
    },
    get$_widgetFillColor() {
      return new A._MaterialStatePropertyWith(new A._CheckboxState__widgetFillColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_defaultFillColor() {
      var t1 = this._framework$_element;
      t1.toString;
      return new A._MaterialStatePropertyWith(new A._CheckboxState__defaultFillColor_closure(A.Theme_of(t1)), type$._MaterialStatePropertyWith_Color);
    },
    _resolveSide$1(side) {
      if (!this.get$states().contains$1(0, B.MaterialState_4))
        return side;
      return null;
    },
    build$1(context) {
      var checkboxTheme, t1, effectiveMaterialTapTargetSize, effectiveVisualDensity, size, activeStates, inactiveStates, effectiveActiveColor, effectiveInactiveColor, focusedStates, t2, effectiveFocusOverlayColor, hoveredStates, effectiveHoverOverlayColor, effectiveActivePressedOverlayColor, effectiveInactivePressedOverlayColor, effectiveCheckColor, t3, _this = this, _null = null,
        themeData = A.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.CheckboxTheme);
      checkboxTheme = A.Theme_of(context).checkboxTheme;
      t1 = _this._widget.materialTapTargetSize;
      effectiveMaterialTapTargetSize = t1 == null ? checkboxTheme.materialTapTargetSize : t1;
      if (effectiveMaterialTapTargetSize == null)
        effectiveMaterialTapTargetSize = themeData.materialTapTargetSize;
      effectiveVisualDensity = themeData.visualDensity;
      switch (effectiveMaterialTapTargetSize.index) {
        case 0:
          size = B.Size_48_48;
          break;
        case 1:
          size = B.Size_40_40;
          break;
        default:
          size = _null;
      }
      size = size.$add(0, new A.Offset(effectiveVisualDensity.horizontal, effectiveVisualDensity.vertical).$mul(0, 4));
      activeStates = _this.get$states();
      activeStates.add$1(0, B.MaterialState_4);
      inactiveStates = _this.get$states();
      inactiveStates.remove$1(0, B.MaterialState_4);
      _this._widget.toString;
      t1 = _this.get$_widgetFillColor()._material_state$_resolve.call$1(activeStates);
      if (t1 == null) {
        t1 = checkboxTheme.fillColor;
        t1 = t1 == null ? _null : t1.resolve$1(activeStates);
        effectiveActiveColor = t1;
      } else
        effectiveActiveColor = t1;
      if (effectiveActiveColor == null)
        effectiveActiveColor = _this.get$_defaultFillColor()._material_state$_resolve.call$1(activeStates);
      _this._widget.toString;
      t1 = _this.get$_widgetFillColor()._material_state$_resolve.call$1(inactiveStates);
      if (t1 == null) {
        t1 = checkboxTheme.fillColor;
        t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
        effectiveInactiveColor = t1;
      } else
        effectiveInactiveColor = t1;
      if (effectiveInactiveColor == null)
        effectiveInactiveColor = _this.get$_defaultFillColor()._material_state$_resolve.call$1(inactiveStates);
      focusedStates = _this.get$states();
      focusedStates.add$1(0, B.MaterialState_1);
      _this._widget.toString;
      t1 = checkboxTheme.overlayColor;
      t2 = t1 == null ? _null : t1.resolve$1(focusedStates);
      effectiveFocusOverlayColor = t2;
      if (effectiveFocusOverlayColor == null)
        effectiveFocusOverlayColor = themeData.focusColor;
      hoveredStates = _this.get$states();
      hoveredStates.add$1(0, B.MaterialState_0);
      _this._widget.toString;
      t2 = t1 == null ? _null : t1.resolve$1(hoveredStates);
      effectiveHoverOverlayColor = t2;
      if (effectiveHoverOverlayColor == null)
        effectiveHoverOverlayColor = themeData.hoverColor;
      activeStates.add$1(0, B.MaterialState_2);
      _this._widget.toString;
      t2 = t1 == null ? _null : t1.resolve$1(activeStates);
      effectiveActivePressedOverlayColor = t2;
      if (effectiveActivePressedOverlayColor == null)
        effectiveActivePressedOverlayColor = A.Color$fromARGB(31, effectiveActiveColor.get$value(effectiveActiveColor) >>> 16 & 255, effectiveActiveColor.get$value(effectiveActiveColor) >>> 8 & 255, effectiveActiveColor.get$value(effectiveActiveColor) & 255);
      inactiveStates.add$1(0, B.MaterialState_2);
      _this._widget.toString;
      t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
      effectiveInactivePressedOverlayColor = t1;
      if (effectiveInactivePressedOverlayColor == null)
        effectiveInactivePressedOverlayColor = A.Color$fromARGB(31, effectiveActiveColor.get$value(effectiveActiveColor) >>> 16 & 255, effectiveActiveColor.get$value(effectiveActiveColor) >>> 8 & 255, effectiveActiveColor.get$value(effectiveActiveColor) & 255);
      _this._widget.toString;
      t1 = checkboxTheme.checkColor;
      t1 = t1 == null ? _null : t1.resolve$1(_this.get$states());
      effectiveCheckColor = t1;
      if (effectiveCheckColor == null)
        effectiveCheckColor = B.Color_4294967295;
      t1 = _this._widget.value;
      t2 = _this._checkbox$_painter;
      t3 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2.set$position(0, t3);
      t3 = _this.ToggleableStateMixin___ToggleableStateMixin__reaction;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2.set$reaction(t3);
      t3 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2.set$reactionFocusFade(t3);
      t3 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2.set$reactionHoverFade(t3);
      t2.set$inactiveReactionColor(effectiveInactivePressedOverlayColor);
      t2.set$reactionColor(effectiveActivePressedOverlayColor);
      t2.set$hoverColor(effectiveHoverOverlayColor);
      t2.set$focusColor(effectiveFocusOverlayColor);
      _this._widget.toString;
      t3 = checkboxTheme.splashRadius;
      t2.set$splashRadius(t3 == null ? 20 : t3);
      t2.set$downPosition(_this.ToggleableStateMixin__downPosition);
      t2.set$isFocused(_this.get$states().contains$1(0, B.MaterialState_1));
      t2.set$isHovered(_this.get$states().contains$1(0, B.MaterialState_0));
      t2.set$activeColor(effectiveActiveColor);
      t2.set$inactiveColor(effectiveInactiveColor);
      t2.set$checkColor(effectiveCheckColor);
      t2.set$value(0, _this._widget.value);
      t2.set$previousValue(_this._previousValue);
      _this._widget.toString;
      t3 = checkboxTheme.shape;
      t2.set$shape(0, t3 == null ? B.RoundedRectangleBorder_ifx2 : t3);
      _this._widget.toString;
      t3 = _this._resolveSide$1(_null);
      t2.set$side(t3 == null ? _this._resolveSide$1(checkboxTheme.side) : t3);
      t2 = _this.buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size(false, _null, new A._MaterialStatePropertyWith(new A._CheckboxState_build_closure(_this, checkboxTheme), type$._MaterialStatePropertyWith_MouseCursor), t2, size);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, t1 === true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t2, _null);
    }
  };
  A._CheckboxState__widgetFillColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return null;
      if (states.contains$1(0, B.MaterialState_4)) {
        this.$this._widget.toString;
        return null;
      }
      return null;
    },
    $signature: 42
  };
  A._CheckboxState__defaultFillColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.themeData.disabledColor;
      if (states.contains$1(0, B.MaterialState_4))
        return this.themeData.toggleableActiveColor;
      return this.themeData.unselectedWidgetColor;
    },
    $signature: 69
  };
  A._CheckboxState_build_closure.prototype = {
    call$1(states) {
      var t1;
      this.$this._widget.toString;
      t1 = A.MaterialStateProperty_resolveAs(null, states, type$.nullable_MouseCursor);
      if (t1 == null)
        t1 = null;
      return t1 == null ? B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable.resolve$1(states) : t1;
    },
    $signature: 149
  };
  A._CheckboxPainter.prototype = {
    set$checkColor(value) {
      if (J.$eq$(this._checkColor, value))
        return;
      this._checkColor = value;
      this.notifyListeners$0();
    },
    set$value(_, value) {
      if (this._checkbox$_value == value)
        return;
      this._checkbox$_value = value;
      this.notifyListeners$0();
    },
    set$previousValue(value) {
      if (this._previousValue == value)
        return;
      this._previousValue = value;
      this.notifyListeners$0();
    },
    set$shape(_, value) {
      if (J.$eq$(this._checkbox$_shape, value))
        return;
      this._checkbox$_shape = value;
      this.notifyListeners$0();
    },
    set$side(value) {
      if (J.$eq$(this._side, value))
        return;
      this._side = value;
      this.notifyListeners$0();
    },
    _outerRectAt$2(origin, t) {
      var inset = 1 - Math.abs(t - 0.5) * 2,
        size = 18 - inset * 2,
        t1 = origin._dx + inset,
        t2 = origin._dy + inset;
      return new A.Rect(t1, t2, t1 + size, t2 + size);
    },
    _colorAt$1(t) {
      var t2,
        t1 = this._activeColor;
      if (t >= 0.25)
        t1.toString;
      else {
        t2 = this._inactiveColor;
        t2.toString;
        t1.toString;
        t1 = A.Color_lerp(t2, t1, t * 4);
        t1.toString;
      }
      return t1;
    },
    _drawBox$5(canvas, outer, paint, side, fill) {
      if (fill)
        canvas.drawPath$2(this._checkbox$_shape.getOuterPath$1(outer), paint);
      if (side != null)
        this._checkbox$_shape.copyWith$1$side(side).paint$2(canvas, outer);
    },
    _drawCheck$4(canvas, origin, t, paint) {
      var t5,
        path = A.Path_Path(),
        t1 = origin._dx,
        t2 = origin._dy,
        t3 = t1 + 2.6999999999999997,
        t4 = t2 + 8.1;
      if (t < 0.5) {
        t5 = A.Offset_lerp(B.Offset_W7v, B.Offset_gPO, t * 2);
        t5.toString;
        path.moveTo$2(0, t3, t4);
        path.lineTo$2(0, t1 + t5._dx, t2 + t5._dy);
      } else {
        t5 = A.Offset_lerp(B.Offset_gPO, B.Offset_oIk, (t - 0.5) * 2);
        t5.toString;
        path.moveTo$2(0, t3, t4);
        path.lineTo$2(0, t1 + 7.2, t2 + 12.6);
        path.lineTo$2(0, t1 + t5._dx, t2 + t5._dy);
      }
      canvas.drawPath$2(path, paint);
    },
    _drawDash$4(canvas, origin, t, paint) {
      var t2,
        t1 = A.Offset_lerp(B.Offset_aNU, B.Offset_9_9, 1 - t);
      t1.toString;
      t2 = A.Offset_lerp(B.Offset_9_9, B.Offset_Gl7, t);
      t2.toString;
      canvas.drawLine$3(origin.$add(0, t1), origin.$add(0, t2), paint);
    },
    paint$2(canvas, size) {
      var t1, strokePaint, t2, origin, t3, tNormalized, t, outer, paint, border, tShrink, tExpand, _this = this;
      _this.paintRadialReaction$2$canvas$origin(canvas, size.center$1(B.Offset_0_0));
      t1 = $.$get$useCanvasKit();
      strokePaint = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t2 = _this._checkColor;
      t2.toString;
      strokePaint.set$color(0, t2);
      strokePaint.set$style(0, B.PaintingStyle_1);
      strokePaint.set$strokeWidth(2);
      origin = type$.Offset._as(size.$div(0, 2).$sub(0, B.Size_18_18.$div(0, 2)));
      t2 = _this._toggleable$_position.parent;
      t2 = t2.get$status(t2);
      t2 = t2 === B.AnimationStatus_1 || t2 === B.AnimationStatus_3;
      t3 = _this._toggleable$_position;
      tNormalized = t2 ? t3.get$value(t3) : 1 - t3.get$value(t3);
      if (_this._previousValue === false || _this._checkbox$_value === false) {
        t = _this._checkbox$_value === false ? 1 - tNormalized : tNormalized;
        outer = _this._outerRectAt$2(origin, t);
        paint = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        paint.set$color(0, _this._colorAt$1(t));
        border = _this._side;
        if (t <= 0.5)
          _this._drawBox$5(canvas, outer, paint, border == null ? new A.BorderSide(paint.get$color(paint), 2, B.BorderStyle_1, B.StrokeAlign_0) : border, false);
        else {
          _this._drawBox$5(canvas, outer, paint, border, true);
          tShrink = (t - 0.5) * 2;
          if (_this._previousValue == null || _this._checkbox$_value == null)
            _this._drawDash$4(canvas, origin, tShrink, strokePaint);
          else
            _this._drawCheck$4(canvas, origin, tShrink, strokePaint);
        }
      } else {
        outer = _this._outerRectAt$2(origin, 1);
        paint = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        paint.set$color(0, _this._colorAt$1(1));
        _this._drawBox$5(canvas, outer, paint, _this._side, true);
        if (tNormalized <= 0.5) {
          tShrink = 1 - tNormalized * 2;
          t1 = _this._previousValue;
          if (t1 === true)
            _this._drawCheck$4(canvas, origin, tShrink, strokePaint);
          else
            _this._drawDash$4(canvas, origin, tShrink, strokePaint);
        } else {
          tExpand = (tNormalized - 0.5) * 2;
          t1 = _this._checkbox$_value;
          if (t1 === true)
            _this._drawCheck$4(canvas, origin, tExpand, strokePaint);
          else
            _this._drawDash$4(canvas, origin, tExpand, strokePaint);
        }
      }
    }
  };
  A.__CheckboxState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype = {
    initState$0() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _this._widget.value === false ? 0 : 1, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__positionController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__position = A.CurvedAnimation$(B.Cubic_JUR0, t1, B.Cubic_xDo0);
      t1 = A.AnimationController$(_null, B.Duration_100000, 0, _null, 1, _null, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reaction = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = A.AnimationController$(_null, B.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = A.AnimationController$(_null, B.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
    },
    dispose$0() {
      var _this = this,
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$__CheckboxState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.CheckboxThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.mouseCursor, _this.fillColor, _this.checkColor, _this.overlayColor, _this.splashRadius, _this.materialTapTargetSize, _this.visualDensity, _this.shape, _this.side, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.CheckboxThemeData)
        if (other.fillColor == _this.fillColor)
          if (other.checkColor == _this.checkColor)
            if (other.overlayColor == _this.overlayColor)
              if (other.splashRadius == _this.splashRadius)
                t1 = J.$eq$(other.shape, _this.shape) && J.$eq$(other.side, _this.side);
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._CheckboxThemeData_Object_Diagnosticable.prototype = {};
  A.ChipThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.deleteIconColor, _this.disabledColor, _this.selectedColor, _this.secondarySelectedColor, _this.shadowColor, _this.selectedShadowColor, _this.checkmarkColor, _this.labelPadding, _this.padding, _this.side, _this.shape, _this.labelStyle, _this.secondaryLabelStyle, _this.brightness, _this.elevation, _this.pressElevation, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ChipThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.deleteIconColor, _this.deleteIconColor) && J.$eq$(other.disabledColor, _this.disabledColor) && J.$eq$(other.selectedColor, _this.selectedColor) && J.$eq$(other.secondarySelectedColor, _this.secondarySelectedColor) && J.$eq$(other.shadowColor, _this.shadowColor) && J.$eq$(other.selectedShadowColor, _this.selectedShadowColor) && J.$eq$(other.checkmarkColor, _this.checkmarkColor) && J.$eq$(other.labelPadding, _this.labelPadding) && J.$eq$(other.padding, _this.padding) && J.$eq$(other.side, _this.side) && J.$eq$(other.shape, _this.shape) && J.$eq$(other.labelStyle, _this.labelStyle) && J.$eq$(other.secondaryLabelStyle, _this.secondaryLabelStyle) && other.brightness == _this.brightness && other.elevation == _this.elevation && other.pressElevation == _this.pressElevation;
    }
  };
  A._ChipThemeData_Object_Diagnosticable.prototype = {};
  A.ColorScheme.prototype = {
    copyWith$2$background$brightness(background, brightness) {
      var 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, _this = this,
        t1 = _this.primary,
        t2 = _this.onPrimary,
        t3 = _this._primaryContainer;
      if (t3 == null)
        t3 = t1;
      t4 = _this._onPrimaryContainer;
      if (t4 == null)
        t4 = t2;
      t5 = _this.secondary;
      t6 = _this.onSecondary;
      t7 = _this._secondaryContainer;
      if (t7 == null)
        t7 = t5;
      t8 = _this._onSecondaryContainer;
      if (t8 == null)
        t8 = t6;
      t9 = _this._tertiary;
      t10 = t9 == null ? t5 : t9;
      t11 = _this._onTertiary;
      t12 = t11 == null ? t6 : t11;
      t13 = _this._tertiaryContainer;
      if (t13 == null) {
        if (t9 == null)
          t9 = t5;
      } else
        t9 = t13;
      t13 = _this._onTertiaryContainer;
      if (t13 == null) {
        if (t11 == null)
          t11 = t6;
      } else
        t11 = t13;
      t13 = _this.error;
      t14 = _this.onError;
      t15 = _this._errorContainer;
      if (t15 == null)
        t15 = t13;
      t16 = _this._onErrorContainer;
      if (t16 == null)
        t16 = t14;
      t17 = background == null ? _this.background : background;
      t18 = _this.onBackground;
      t19 = _this.surface;
      t20 = _this.onSurface;
      t21 = _this._surfaceVariant;
      if (t21 == null)
        t21 = t19;
      t22 = _this._onSurfaceVariant;
      if (t22 == null)
        t22 = t20;
      t23 = _this._outline;
      if (t23 == null)
        t23 = t18;
      t24 = _this._shadow;
      if (t24 == null)
        t24 = B.Color_4278190080;
      t25 = _this._inverseSurface;
      if (t25 == null)
        t25 = t20;
      t26 = _this._onInverseSurface;
      if (t26 == null)
        t26 = t19;
      t27 = _this._inversePrimary;
      if (t27 == null)
        t27 = t2;
      t28 = _this._primaryVariant;
      if (t28 == null)
        t28 = t1;
      t29 = _this._secondaryVariant;
      if (t29 == null)
        t29 = t5;
      t30 = _this._surfaceTint;
      if (t30 == null)
        t30 = t1;
      return A.ColorScheme$(t17, _this.brightness, t13, t15, t27, t25, t18, t14, t16, t26, t2, t4, t6, t8, t20, t22, t12, t11, t23, t1, t3, t28, t5, t7, t29, t24, t19, t30, t21, t10, t9);
    },
    copyWith$1$brightness(brightness) {
      return this.copyWith$2$background$brightness(null, brightness);
    },
    copyWith$1$background(background) {
      return this.copyWith$2$background$brightness(background, null);
    },
    $eq(_, other) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.ColorScheme)
        if (other.brightness === _this.brightness) {
          t1 = other.primary;
          t2 = _this.primary;
          if (t1.$eq(0, t2)) {
            t3 = other.onPrimary;
            t4 = _this.onPrimary;
            if (t3.$eq(0, t4)) {
              t5 = other._primaryContainer;
              if (t5 == null)
                t5 = t1;
              t6 = _this._primaryContainer;
              if (t5.$eq(0, t6 == null ? t2 : t6)) {
                t5 = other._onPrimaryContainer;
                if (t5 == null)
                  t5 = t3;
                t6 = _this._onPrimaryContainer;
                if (t5.$eq(0, t6 == null ? t4 : t6)) {
                  t5 = other.secondary;
                  t6 = _this.secondary;
                  if (t5.$eq(0, t6)) {
                    t7 = other.onSecondary;
                    t8 = _this.onSecondary;
                    if (t7.$eq(0, t8)) {
                      t9 = other._secondaryContainer;
                      if (t9 == null)
                        t9 = t5;
                      t10 = _this._secondaryContainer;
                      if (t9.$eq(0, t10 == null ? t6 : t10)) {
                        t9 = other._onSecondaryContainer;
                        if (t9 == null)
                          t9 = t7;
                        t10 = _this._onSecondaryContainer;
                        if (t9.$eq(0, t10 == null ? t8 : t10)) {
                          t9 = other._tertiary;
                          t10 = t9 == null;
                          t11 = t10 ? t5 : t9;
                          t12 = _this._tertiary;
                          t13 = t12 == null;
                          if (t11.$eq(0, t13 ? t6 : t12)) {
                            t11 = other._onTertiary;
                            t14 = t11 == null;
                            t15 = t14 ? t7 : t11;
                            t16 = _this._onTertiary;
                            t17 = t16 == null;
                            if (t15.$eq(0, t17 ? t8 : t16)) {
                              t15 = other._tertiaryContainer;
                              if (t15 == null) {
                                if (t10)
                                  t9 = t5;
                              } else
                                t9 = t15;
                              t10 = _this._tertiaryContainer;
                              if (t10 == null)
                                t10 = t13 ? t6 : t12;
                              if (t9.$eq(0, t10)) {
                                t9 = other._onTertiaryContainer;
                                if (t9 == null)
                                  t7 = t14 ? t7 : t11;
                                else
                                  t7 = t9;
                                t9 = _this._onTertiaryContainer;
                                if (t9 == null)
                                  t8 = t17 ? t8 : t16;
                                else
                                  t8 = t9;
                                if (t7.$eq(0, t8)) {
                                  t7 = other.error;
                                  t8 = _this.error;
                                  if (t7.$eq(0, t8)) {
                                    t9 = other.onError;
                                    t10 = _this.onError;
                                    if (t9.$eq(0, t10)) {
                                      t11 = other._errorContainer;
                                      t7 = t11 == null ? t7 : t11;
                                      t11 = _this._errorContainer;
                                      if (t7.$eq(0, t11 == null ? t8 : t11)) {
                                        t7 = other._onErrorContainer;
                                        if (t7 == null)
                                          t7 = t9;
                                        t8 = _this._onErrorContainer;
                                        if (t7.$eq(0, t8 == null ? t10 : t8))
                                          if (other.background.$eq(0, _this.background)) {
                                            t7 = other.onBackground;
                                            t8 = _this.onBackground;
                                            if (t7.$eq(0, t8)) {
                                              t9 = other.surface;
                                              t10 = _this.surface;
                                              if (t9.$eq(0, t10)) {
                                                t11 = other.onSurface;
                                                t12 = _this.onSurface;
                                                if (t11.$eq(0, t12)) {
                                                  t13 = other._surfaceVariant;
                                                  if (t13 == null)
                                                    t13 = t9;
                                                  t14 = _this._surfaceVariant;
                                                  if (t13.$eq(0, t14 == null ? t10 : t14)) {
                                                    t13 = other._onSurfaceVariant;
                                                    if (t13 == null)
                                                      t13 = t11;
                                                    t14 = _this._onSurfaceVariant;
                                                    if (t13.$eq(0, t14 == null ? t12 : t14)) {
                                                      t13 = other._outline;
                                                      t7 = t13 == null ? t7 : t13;
                                                      t13 = _this._outline;
                                                      if (t7.$eq(0, t13 == null ? t8 : t13)) {
                                                        t7 = other._shadow;
                                                        if (t7 == null)
                                                          t7 = B.Color_4278190080;
                                                        t8 = _this._shadow;
                                                        if (t7.$eq(0, t8 == null ? B.Color_4278190080 : t8)) {
                                                          t7 = other._inverseSurface;
                                                          if (t7 == null)
                                                            t7 = t11;
                                                          t8 = _this._inverseSurface;
                                                          if (t7.$eq(0, t8 == null ? t12 : t8)) {
                                                            t7 = other._onInverseSurface;
                                                            if (t7 == null)
                                                              t7 = t9;
                                                            t8 = _this._onInverseSurface;
                                                            if (t7.$eq(0, t8 == null ? t10 : t8)) {
                                                              t7 = other._inversePrimary;
                                                              t3 = t7 == null ? t3 : t7;
                                                              t7 = _this._inversePrimary;
                                                              if (t3.$eq(0, t7 == null ? t4 : t7)) {
                                                                t3 = other._primaryVariant;
                                                                if (t3 == null)
                                                                  t3 = t1;
                                                                t4 = _this._primaryVariant;
                                                                if (t3.$eq(0, t4 == null ? t2 : t4)) {
                                                                  t3 = other._secondaryVariant;
                                                                  if (t3 == null)
                                                                    t3 = t5;
                                                                  t4 = _this._secondaryVariant;
                                                                  if (t3.$eq(0, t4 == null ? t6 : t4)) {
                                                                    t3 = other._surfaceTint;
                                                                    t1 = t3 == null ? t1 : t3;
                                                                    t3 = _this._surfaceTint;
                                                                    t1 = t1.$eq(0, t3 == null ? t2 : t3);
                                                                  } else
                                                                    t1 = false;
                                                                } else
                                                                  t1 = false;
                                                              } else
                                                                t1 = false;
                                                            } else
                                                              t1 = false;
                                                          } else
                                                            t1 = false;
                                                        } else
                                                          t1 = false;
                                                      } else
                                                        t1 = false;
                                                    } else
                                                      t1 = false;
                                                  } else
                                                    t1 = false;
                                                } 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;
                            } 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;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var 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, _this = this,
        t1 = _this.primary,
        t2 = _this.onPrimary,
        t3 = _this._primaryContainer;
      if (t3 == null)
        t3 = t1;
      t4 = _this._onPrimaryContainer;
      if (t4 == null)
        t4 = t2;
      t5 = _this.secondary;
      t6 = _this.onSecondary;
      t7 = _this._secondaryContainer;
      if (t7 == null)
        t7 = t5;
      t8 = _this._onSecondaryContainer;
      if (t8 == null)
        t8 = t6;
      t9 = _this._tertiary;
      t10 = t9 == null;
      t11 = t10 ? t5 : t9;
      t12 = _this._onTertiary;
      t13 = t12 == null;
      t14 = t13 ? t6 : t12;
      t15 = _this._tertiaryContainer;
      if (t15 == null) {
        if (t10)
          t9 = t5;
      } else
        t9 = t15;
      t10 = _this._onTertiaryContainer;
      if (t10 == null)
        t10 = t13 ? t6 : t12;
      t12 = _this.error;
      t13 = _this.onError;
      t15 = _this._errorContainer;
      if (t15 == null)
        t15 = t12;
      t16 = _this._onErrorContainer;
      if (t16 == null)
        t16 = t13;
      t17 = _this.onBackground;
      t18 = _this.surface;
      t19 = _this.onSurface;
      t20 = _this._surfaceVariant;
      if (t20 == null)
        t20 = t18;
      t21 = _this._onSurfaceVariant;
      if (t21 == null)
        t21 = t19;
      t22 = _this._outline;
      if (t22 == null)
        t22 = t17;
      t23 = _this._shadow;
      if (t23 == null)
        t23 = B.Color_4278190080;
      t24 = _this._inverseSurface;
      if (t24 == null)
        t24 = t19;
      t25 = _this._onInverseSurface;
      if (t25 == null)
        t25 = t18;
      t26 = _this._inversePrimary;
      if (t26 == null)
        t26 = t2;
      t27 = _this._primaryVariant;
      if (t27 == null)
        t27 = t1;
      t28 = _this._secondaryVariant;
      if (t28 == null)
        t28 = t5;
      t29 = _this._surfaceTint;
      return A.Object_hash(_this.brightness, t1, t2, t3, t4, t5, t6, t7, t8, t11, t14, t9, t10, t12, t13, t15, t16, _this.background, t17, A.Object_hash(t18, t19, t20, t21, t22, t23, t24, t25, t26, t27, t28, t29 == null ? t1 : t29, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue));
    }
  };
  A._ColorScheme_Object_Diagnosticable.prototype = {};
  A.MaterialColor.prototype = {};
  A.MaterialAccentColor.prototype = {};
  A.DataColumn.prototype = {};
  A.DataRow.prototype = {};
  A.DataCell.prototype = {};
  A.DataTable.prototype = {
    _handleSelectAll$2(checked, someChecked) {
      var t1, _i;
      !someChecked;
      for (t1 = this.rows.length, _i = 0; _i < t1; ++_i)
        ;
    },
    _data_table$_buildCheckbox$6$checked$context$onCheckboxChanged$onRowTap$overlayColor$tristate(checked, context, onCheckboxChanged, onRowTap, overlayColor, tristate) {
      var effectiveCheckboxHorizontalMarginStart, effectiveCheckboxHorizontalMarginStart0, effectiveCheckboxHorizontalMarginEnd, contents, _null = null,
        t1 = A.Theme_of(context).dataTableTheme,
        effectiveHorizontalMargin = t1.horizontalMargin;
      if (effectiveHorizontalMargin == null)
        effectiveHorizontalMargin = 24;
      effectiveCheckboxHorizontalMarginStart = t1.checkboxHorizontalMargin;
      t1 = effectiveCheckboxHorizontalMarginStart == null;
      effectiveCheckboxHorizontalMarginStart0 = t1 ? effectiveHorizontalMargin : effectiveCheckboxHorizontalMarginStart;
      effectiveCheckboxHorizontalMarginEnd = t1 ? effectiveHorizontalMargin / 2 : effectiveCheckboxHorizontalMarginStart;
      t1 = A.Center$(A.Checkbox$(_null, onCheckboxChanged, tristate, checked), _null, _null, _null);
      contents = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A.Padding(new A.EdgeInsetsDirectional(effectiveCheckboxHorizontalMarginStart0, 0, effectiveCheckboxHorizontalMarginEnd, 0), t1, _null), _null);
      return A.TableCell$(onRowTap != null ? A.TableRowInkWell$(contents, _null, onRowTap, overlayColor) : contents, B.TableCellVerticalAlignment_4);
    },
    build$1(context) {
      var effectiveDataRowColor, t1, anyRowSelectable, rowsWithCheckbox, t2, rowsChecked, allChecked, someChecked, effectiveHorizontalMargin, t3, effectiveCheckboxHorizontalMarginStart, effectiveCheckboxHorizontalMarginEnd, effectiveColumnSpacing, tableColumns, tableRows, t4, rowIndex, _i, displayCheckboxColumn, displayColumnIndex, t5, t6, paddingEnd, t7, paddingStart, dataColumnIndex, t8, column, t9, paddingStart0, padding, t10, themeData, dataTableTheme0, t11, t12, effectiveHeadingTextStyle, effectiveHeadingRowHeight, label, cell, effectiveDataTextStyle, effectiveDataRowHeight, _this = this, _null = null,
        theme = A.Theme_of(context),
        dataTableTheme = A.DataTableTheme_of(context),
        effectiveHeadingRowColor = dataTableTheme.headingRowColor;
      if (effectiveHeadingRowColor == null)
        effectiveHeadingRowColor = theme.dataTableTheme.headingRowColor;
      effectiveDataRowColor = dataTableTheme.dataRowColor;
      if (effectiveDataRowColor == null)
        effectiveDataRowColor = theme.dataTableTheme.dataRowColor;
      t1 = _this.rows;
      anyRowSelectable = B.JSArray_methods.any$1(t1, new A.DataTable_build_closure());
      rowsWithCheckbox = anyRowSelectable ? new A.WhereIterable(t1, new A.DataTable_build_closure0(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>")) : A._setArrayType([], type$.JSArray_DataRow);
      t2 = J.getInterceptor$ax(rowsWithCheckbox);
      rowsChecked = t2.where$1(rowsWithCheckbox, new A.DataTable_build_closure1());
      allChecked = anyRowSelectable && rowsChecked.get$length(rowsChecked) === t2.get$length(rowsWithCheckbox);
      someChecked = anyRowSelectable && !rowsChecked.get$isEmpty(rowsChecked) && !allChecked;
      t2 = dataTableTheme.horizontalMargin;
      effectiveHorizontalMargin = t2 == null ? theme.dataTableTheme.horizontalMargin : t2;
      if (effectiveHorizontalMargin == null)
        effectiveHorizontalMargin = 24;
      t2 = dataTableTheme.checkboxHorizontalMargin;
      t3 = t2 == null;
      effectiveCheckboxHorizontalMarginStart = t3 ? theme.dataTableTheme.checkboxHorizontalMargin : t2;
      if (effectiveCheckboxHorizontalMarginStart == null)
        effectiveCheckboxHorizontalMarginStart = effectiveHorizontalMargin;
      effectiveCheckboxHorizontalMarginEnd = t3 ? theme.dataTableTheme.checkboxHorizontalMargin : t2;
      if (effectiveCheckboxHorizontalMarginEnd == null)
        effectiveCheckboxHorizontalMarginEnd = effectiveHorizontalMargin / 2;
      t2 = dataTableTheme.columnSpacing;
      effectiveColumnSpacing = t2 == null ? theme.dataTableTheme.columnSpacing : t2;
      if (effectiveColumnSpacing == null)
        effectiveColumnSpacing = 56;
      t2 = _this.columns;
      t3 = t2.length;
      tableColumns = A.List_List$filled(t3 + (anyRowSelectable ? 1 : 0), B.C__NullTableColumnWidth, false, type$.TableColumnWidth);
      tableRows = A.List_List$generate(t1.length + 1, new A.DataTable_build_closure2(_this, anyRowSelectable, effectiveDataRowColor, effectiveHeadingRowColor, context, dataTableTheme, theme, new A._MaterialStatePropertyWith(new A.DataTable_build_closure3(theme), type$._MaterialStatePropertyWith_nullable_Color), tableColumns), true, type$.TableRow);
      if (anyRowSelectable) {
        tableColumns[0] = new A.FixedColumnWidth(effectiveCheckboxHorizontalMarginStart + 18 + effectiveCheckboxHorizontalMarginEnd);
        t3 = tableRows[0];
        t4 = someChecked ? _null : allChecked;
        t3.children[0] = _this._data_table$_buildCheckbox$6$checked$context$onCheckboxChanged$onRowTap$overlayColor$tristate(t4, context, new A.DataTable_build_closure4(_this, someChecked), _null, _null, true);
        for (t3 = t1.length, rowIndex = 1, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          t4 = tableRows[rowIndex];
          t4.children[0] = _this._data_table$_buildCheckbox$6$checked$context$onCheckboxChanged$onRowTap$overlayColor$tristate(false, context, _null, _null, effectiveDataRowColor, false);
          ++rowIndex;
        }
        displayCheckboxColumn = true;
        displayColumnIndex = 1;
      } else {
        displayCheckboxColumn = anyRowSelectable;
        displayColumnIndex = 0;
      }
      for (t3 = _this.dataRowHeight, t4 = type$.DataTableTheme, t5 = type$.JSArray_Widget, t6 = _this._onlyTextColumn, paddingEnd = effectiveColumnSpacing / 2, t7 = !displayCheckboxColumn, paddingStart = effectiveHorizontalMargin / 2, dataColumnIndex = 0; t8 = t2.length, dataColumnIndex < t8; ++dataColumnIndex) {
        column = t2[dataColumnIndex];
        t9 = dataColumnIndex === 0;
        t9;
        if (t9 && displayCheckboxColumn)
          paddingStart0 = paddingStart;
        else
          paddingStart0 = t9 && t7 ? effectiveHorizontalMargin : paddingEnd;
        padding = new A.EdgeInsetsDirectional(paddingStart0, 0, dataColumnIndex === t8 - 1 ? effectiveHorizontalMargin : paddingEnd, 0);
        if (dataColumnIndex === t6)
          tableColumns[displayColumnIndex] = B.IntrinsicColumnWidth_1;
        else
          tableColumns[displayColumnIndex] = B.IntrinsicColumnWidth_null;
        t8 = tableRows[0];
        t9 = column.label;
        t10 = column.numeric;
        themeData = A.Theme_of(context);
        context.dependOnInheritedWidgetOfExactType$1$0(t4);
        dataTableTheme0 = A.Theme_of(context).dataTableTheme;
        t11 = t10 ? B.TextDirection_0 : _null;
        t9 = A._setArrayType([t9], t5);
        t12 = dataTableTheme0.headingTextStyle;
        effectiveHeadingTextStyle = t12 == null ? themeData.dataTableTheme.headingTextStyle : t12;
        if (effectiveHeadingTextStyle == null) {
          t12 = themeData.textTheme.titleSmall;
          t12.toString;
          effectiveHeadingTextStyle = t12;
        }
        t12 = dataTableTheme0.headingRowHeight;
        effectiveHeadingRowHeight = t12 == null ? themeData.dataTableTheme.headingRowHeight : t12;
        if (effectiveHeadingRowHeight == null)
          effectiveHeadingRowHeight = 56;
        t12 = t10 ? B.Alignment_1_0 : B.AlignmentDirectional_m1_0;
        label = A.Container$(t12, A.AnimatedDefaultTextStyle$(new A.Row(B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, t11, B.VerticalDirection_1, _null, t9, _null), B.C__Linear, B.Duration_150000, false, effectiveHeadingTextStyle), B.Clip_0, _null, _null, _null, _null, effectiveHeadingRowHeight, _null, _null, padding, _null, _null, _null);
        t8.children[displayColumnIndex] = A.InkWell$(false, _null, true, label, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, effectiveHeadingRowColor, _null, _null, _null);
        for (t8 = t1.length, rowIndex = 1, _i = 0; _i < t1.length; t1.length === t8 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          cell = t1[_i].cells[dataColumnIndex];
          t9 = tableRows[rowIndex];
          label = cell.child;
          themeData = A.Theme_of(context);
          context.dependOnInheritedWidgetOfExactType$1$0(t4);
          t11 = A.Theme_of(context);
          t11 = t11.dataTableTheme.dataTextStyle;
          effectiveDataTextStyle = t11 == null ? themeData.dataTableTheme.dataTextStyle : t11;
          if (effectiveDataTextStyle == null) {
            t11 = themeData.textTheme.bodyMedium;
            t11.toString;
            effectiveDataTextStyle = t11;
          }
          effectiveDataRowHeight = t3;
          t11 = t10 ? B.Alignment_1_0 : B.AlignmentDirectional_m1_0;
          label = A.Container$(t11, new A.DefaultTextStyle(effectiveDataTextStyle.copyWith$1$color(_null), _null, true, B.TextOverflow_0, _null, B.TextWidthBasis_0, _null, new A.DropdownButtonHideUnderline(label, _null), _null), B.Clip_0, _null, _null, _null, _null, effectiveDataRowHeight, _null, _null, padding, _null, _null, _null);
          t9.children[displayColumnIndex] = label;
          ++rowIndex;
        }
        ++displayColumnIndex;
      }
      t1 = dataTableTheme.decoration;
      if (t1 == null)
        t1 = theme.dataTableTheme.decoration;
      return A.Container$(_null, A.Material$(B.Duration_200000, true, _null, A.Table$(_null, tableRows, new A.ListMapView(tableColumns, A._arrayInstanceType(tableColumns)._eval$1("ListMapView<1>")), B.C_FlexColumnWidth, B.TableCellVerticalAlignment_0), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_4), B.Clip_0, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.DataTable_build_closure3.prototype = {
    call$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_4)) {
        t1 = this.theme.colorScheme.primary;
        return A.Color$fromARGB(20, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    },
    $signature: 42
  };
  A.DataTable_build_closure.prototype = {
    call$1(row) {
      return false;
    },
    $signature: 150
  };
  A.DataTable_build_closure0.prototype = {
    call$1(row) {
      return false;
    },
    $signature: 150
  };
  A.DataTable_build_closure1.prototype = {
    call$1(row) {
      return false;
    },
    $signature: 150
  };
  A.DataTable_build_closure2.prototype = {
    call$1(index) {
      var t4, resolvedDataRowColor, resolvedHeadingRowColor, rowColor, borderSide, border, _this = this, _null = null,
        t1 = index > 0,
        isDisabled = t1 && _this.anyRowSelectable && true,
        t2 = type$.MaterialState,
        t3 = A.LinkedHashSet_LinkedHashSet$_empty(t2);
      if (isDisabled)
        t3.add$1(0, B.MaterialState_6);
      if (t1) {
        t4 = _this.effectiveDataRowColor;
        resolvedDataRowColor = t4 == null ? _null : t4.resolve$1(t3);
      } else
        resolvedDataRowColor = _null;
      t4 = _this.effectiveHeadingRowColor;
      resolvedHeadingRowColor = t4 == null ? _null : t4.resolve$1(A.LinkedHashSet_LinkedHashSet$_empty(t2));
      rowColor = t1 ? resolvedDataRowColor : resolvedHeadingRowColor;
      t1 = _this.dataTableTheme.dividerThickness;
      if (t1 == null)
        t1 = _this.theme.dataTableTheme.dividerThickness;
      if (t1 == null)
        t1 = 1;
      borderSide = A.Divider_createBorderSide(_this.context, _null, t1);
      border = index === 0 ? _null : new A.Border(borderSide, B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd);
      t1 = index === 0 ? $.$get$DataTable__headingRowKey() : _this.$this.rows[index - 1].key;
      t2 = rowColor == null ? _this.defaultRowColor._material_state$_resolve.call$1(t3) : rowColor;
      return new A.TableRow0(t1, new A.BoxDecoration(t2, _null, border, _null, _null, _null, _null, B.BoxShape_0), A.List_List$filled(_this.tableColumns.length, B._NullWidget_null1, false, type$.Widget));
    },
    $signature: 749
  };
  A.DataTable_build_closure4.prototype = {
    call$1(checked) {
      return this.$this._handleSelectAll$2(checked, this.someChecked);
    },
    $signature: 31
  };
  A.TableRowInkWell.prototype = {
    getRectCallback$1(referenceBox) {
      return new A.TableRowInkWell_getRectCallback_closure(referenceBox);
    },
    debugCheckContext$1(context) {
      this.super$InkResponse$debugCheckContext(context);
      return true;
    }
  };
  A.TableRowInkWell_getRectCallback_closure.prototype = {
    call$0() {
      var table0, t1, t2, t3, t4, offset,
        cell = this.referenceBox,
        table = cell.get$parent(cell),
        transform = new A.Matrix4(new Float64Array(16));
      transform.setIdentity$0();
      while (true) {
        if (!(table instanceof A.RenderObject && !(table instanceof A.RenderTable)))
          break;
        table.applyPaintTransform$2(cell, transform);
        table0 = table.get$parent(table);
        cell = table;
        table = table0;
      }
      if (table instanceof A.RenderTable) {
        t1 = cell.parentData;
        t1.toString;
        t1 = type$.TableCellParentData._as(t1).y;
        t1.toString;
        t2 = table._rowTops;
        t3 = t2[t1];
        t4 = table._box$_size._dx;
        t1 = t2[t1 + 1];
        table.applyPaintTransform$2(cell, transform);
        offset = A.MatrixUtils_getAsTranslation(transform);
        if (offset != null)
          return new A.Rect(0, t3, t4, t1).shift$1(new A.Offset(-offset._dx, -offset._dy));
      }
      return B.Rect_0_0_0_0;
    },
    $signature: 151
  };
  A._NullTableColumnWidth.prototype = {
    maxIntrinsicWidth$2(cells, containerWidth) {
      return A.throwExpression(A.UnimplementedError$(null));
    },
    minIntrinsicWidth$2(cells, containerWidth) {
      return A.throwExpression(A.UnimplementedError$(null));
    }
  };
  A._NullWidget.prototype = {
    createElement$0(_) {
      return A.throwExpression(A.UnimplementedError$(null));
    }
  };
  A.DataTableThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.decoration, _this.dataRowColor, _this.dataRowHeight, _this.dataTextStyle, _this.headingRowColor, _this.headingRowHeight, _this.headingTextStyle, _this.horizontalMargin, _this.columnSpacing, _this.dividerThickness, _this.checkboxHorizontalMargin, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.DataTableThemeData && J.$eq$(other.decoration, _this.decoration) && other.dataRowColor == _this.dataRowColor && other.dataRowHeight == _this.dataRowHeight && J.$eq$(other.dataTextStyle, _this.dataTextStyle) && other.headingRowColor == _this.headingRowColor && other.headingRowHeight == _this.headingRowHeight && J.$eq$(other.headingTextStyle, _this.headingTextStyle) && other.horizontalMargin == _this.horizontalMargin && other.columnSpacing == _this.columnSpacing && other.dividerThickness == _this.dividerThickness && other.checkboxHorizontalMargin == _this.checkboxHorizontalMargin;
    }
  };
  A._DataTableThemeData_Object_Diagnosticable.prototype = {};
  A._DesktopTextSelectionControls.prototype = {
    getHandleSize$1(textLineHeight) {
      return B.Size_0_0;
    },
    buildHandle$4(context, type, textLineHeight, onTap) {
      return B.SizedBox_0_0_null_null;
    },
    getHandleAnchor$2(type, textLineHeight) {
      return B.Offset_0_0;
    }
  };
  A.Dialog.prototype = {
    build$1(context) {
      var dialogTheme, defaults, t1, t2, effectivePadding, t3, t4, t5, _null = null;
      A.Theme_of(context);
      dialogTheme = A.Theme_of(context).dialogTheme;
      defaults = A._DefaultsM2$(context);
      t1 = type$.MediaQuery;
      t2 = context.dependOnInheritedWidgetOfExactType$1$0(t1).data;
      effectivePadding = t2.viewInsets.$add(0, this.insetPadding);
      t2 = dialogTheme.alignment;
      if (t2 == null) {
        t2 = defaults.alignment;
        t2.toString;
      }
      t3 = dialogTheme.backgroundColor;
      if (t3 == null)
        t3 = A.Theme_of(context).dialogBackgroundColor;
      t4 = dialogTheme.elevation;
      if (t4 == null) {
        t4 = defaults.elevation;
        t4.toString;
      }
      t5 = dialogTheme.shape;
      if (t5 == null) {
        t5 = defaults.shape;
        t5.toString;
      }
      t5 = A.Material$(B.Duration_200000, true, _null, this.child, this.clipBehavior, t3, t4, _null, _null, t5, _null, _null, B.MaterialType_1);
      return new A.AnimatedPadding(effectivePadding, new A.MediaQuery(context.dependOnInheritedWidgetOfExactType$1$0(t1).data.removeViewInsets$4$removeBottom$removeLeft$removeRight$removeTop(true, true, true, true), new A.Align(t2, _null, _null, new A.ConstrainedBox(B.BoxConstraints_mlX2, t5, _null), _null), _null), B.C__DecelerateCurve, B.Duration_100000, _null, _null);
    }
  };
  A.AlertDialog.prototype = {
    build$1(context) {
      var label, t2, t3, t4, titleWidget, effectiveContentPadding, contentWidget, spacing, effetiveActionsPadding, actionsWidget, columnChildren, dialogChild, _this = this, _null = null,
        theme = A.Theme_of(context),
        dialogTheme = A.Theme_of(context).dialogTheme,
        defaults = A._DefaultsM2$(context),
        t1 = theme.platform;
      switch (t1.index) {
        case 2:
        case 4:
          label = _null;
          break;
        case 0:
        case 1:
        case 3:
        case 5:
          A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
          label = "Alert";
          break;
        default:
          label = _null;
      }
      t2 = A.lerpDouble(1, 0.3333333333333333, A.clampDouble(context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.textScaleFactor, 1, 2) - 1);
      t2.toString;
      A.Directionality_maybeOf(context);
      t3 = 24 * t2;
      t4 = dialogTheme.titleTextStyle;
      if (t4 == null) {
        t4 = defaults.get$titleTextStyle();
        t4.toString;
      }
      t1 = label == null && t1 !== B.TargetPlatform_2;
      titleWidget = new A.Padding(new A.EdgeInsets(t3, t3, t3, 0), A.DefaultTextStyle$(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, _this.title, _null), _null, _null, B.TextOverflow_0, true, t4, _null, _null, B.TextWidthBasis_0), _null);
      effectiveContentPadding = _this.contentPadding;
      t1 = dialogTheme.contentTextStyle;
      if (t1 == null) {
        t1 = defaults.get$contentTextStyle();
        t1.toString;
      }
      contentWidget = new A.Padding(new A.EdgeInsets(effectiveContentPadding.left * t2, effectiveContentPadding.top, effectiveContentPadding.right * t2, effectiveContentPadding.bottom), A.DefaultTextStyle$(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, _this.content, _null), _null, _null, B.TextOverflow_0, true, t1, _null, _null, B.TextWidthBasis_0), _null);
      t1 = _this.actions;
      t2 = t1 != null;
      if (t2) {
        t3 = _this.buttonPadding.get$horizontal();
        spacing = t3 / 2;
        effetiveActionsPadding = B.EdgeInsets_0_0_0_0.add$1(0, new A.EdgeInsets(spacing, spacing, spacing, spacing));
        actionsWidget = new A.Padding(effetiveActionsPadding, A.OverflowBar$(B.MainAxisAlignment_1, t1, B.OverflowBarAlignment_1, B.VerticalDirection_1, 0, spacing), _null);
      } else
        actionsWidget = _null;
      t1 = type$.JSArray_Widget;
      if (_this.scrollable) {
        t3 = A._setArrayType([], t1);
        t1 = A._setArrayType([], t1);
        t1.push(titleWidget);
        t1.push(contentWidget);
        t3.push(new A.Flexible(1, B.FlexFit_1, A.SingleChildScrollView$(A.Column$(t1, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null, B.DragStartBehavior_1, _null, _null, false, B.Axis_1), _null));
        if (t2) {
          actionsWidget.toString;
          t3.push(actionsWidget);
        }
        columnChildren = t3;
      } else {
        t1 = A._setArrayType([], t1);
        t1.push(titleWidget);
        t1.push(new A.Flexible(1, B.FlexFit_1, contentWidget, _null));
        if (t2) {
          actionsWidget.toString;
          t1.push(actionsWidget);
        }
        columnChildren = t1;
      }
      dialogChild = A.IntrinsicWidth$(A.Column$(columnChildren, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null);
      if (label != null)
        dialogChild = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, label, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, dialogChild, _null);
      return new A.Dialog(_null, _null, B.EdgeInsets_40_24_40_24, B.Clip_0, _null, _null, dialogChild, _null);
    }
  };
  A.DialogRoute.prototype = {};
  A.DialogRoute_closure.prototype = {
    call$3(buildContext, animation, secondaryAnimation) {
      var dialog = new A._CaptureAll(this.themes._themes, new A.Builder(this.builder, null), null);
      dialog = A.SafeArea$(true, dialog, B.EdgeInsets_0_0_0_0, true);
      return dialog;
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 753
  };
  A._DefaultsM20.prototype = {
    get$backgroundColor(_) {
      return A.Theme_of(this.context).dialogBackgroundColor;
    },
    get$titleTextStyle() {
      return this._textTheme.titleLarge;
    },
    get$contentTextStyle() {
      return this._textTheme.titleMedium;
    }
  };
  A.DialogTheme.prototype = {
    get$hashCode(_) {
      return J.get$hashCode$(this.shape);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.DialogTheme && J.$eq$(other.get$backgroundColor(other), _this.get$backgroundColor(_this)) && other.elevation == _this.elevation && J.$eq$(other.shape, _this.shape) && J.$eq$(other.alignment, _this.alignment) && J.$eq$(other.get$titleTextStyle(), _this.get$titleTextStyle()) && J.$eq$(other.get$contentTextStyle(), _this.get$contentTextStyle());
    },
    get$backgroundColor(receiver) {
      return this.backgroundColor;
    },
    get$titleTextStyle() {
      return this.titleTextStyle;
    },
    get$contentTextStyle() {
      return this.contentTextStyle;
    }
  };
  A._DialogTheme_Object_Diagnosticable.prototype = {};
  A.Divider.prototype = {
    build$1(context) {
      var thickness, indent, endIndent, _null = null,
        dividerTheme = A.DividerTheme_of(context),
        t1 = this.height,
        height = t1 == null ? dividerTheme.space : t1;
      if (height == null)
        height = 16;
      t1 = this.thickness;
      thickness = t1 == null ? dividerTheme.thickness : t1;
      if (thickness == null)
        thickness = 0;
      indent = dividerTheme.indent;
      if (indent == null)
        indent = 0;
      endIndent = dividerTheme.endIndent;
      if (endIndent == null)
        endIndent = 0;
      return A.SizedBox$(A.Center$(A.Container$(_null, _null, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, A.Divider_createBorderSide(context, this.color, thickness), B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, thickness, _null, new A.EdgeInsetsDirectional(indent, 0, endIndent, 0), _null, _null, _null, _null), _null, _null, _null), height, _null);
    }
  };
  A.VerticalDivider.prototype = {
    build$1(context) {
      var thickness, indent, endIndent, _null = null,
        dividerTheme = A.DividerTheme_of(context),
        width = dividerTheme.space;
      if (width == null)
        width = 16;
      thickness = 1;
      indent = dividerTheme.indent;
      if (indent == null)
        indent = 0;
      endIndent = dividerTheme.endIndent;
      if (endIndent == null)
        endIndent = 0;
      return A.SizedBox$(A.Center$(A.Container$(_null, _null, B.Clip_0, _null, _null, new A.BoxDecoration(_null, _null, new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd, A.Divider_createBorderSide(context, _null, thickness)), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, new A.EdgeInsetsDirectional(0, indent, 0, endIndent), _null, _null, _null, thickness), _null, _null, _null), _null, width);
    }
  };
  A.DividerThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.color, _this.space, _this.thickness, _this.indent, _this.endIndent, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.DividerThemeData && J.$eq$(other.color, _this.color) && other.space == _this.space && other.thickness == _this.thickness && other.indent == _this.indent && other.endIndent == _this.endIndent;
    }
  };
  A._DividerThemeData_Object_Diagnosticable.prototype = {};
  A.DrawerThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.scrimColor, _this.elevation, _this.shape, _this.width, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.DrawerThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.scrimColor, _this.scrimColor) && other.elevation == _this.elevation && J.$eq$(other.shape, _this.shape) && other.width == _this.width;
    }
  };
  A._DrawerThemeData_Object_Diagnosticable.prototype = {};
  A._DropdownMenuPainter.prototype = {
    paint$2(canvas, size) {
      var _null = null,
        t1 = size._dy,
        t2 = A.clampDouble(this.getSelectedItemOffset.call$0(), 0, Math.max(t1 - 48, 0)),
        t3 = type$.Tween_double,
        t4 = A.clampDouble(t2 + 48, Math.min(48, t1), t1),
        t5 = this.resize;
      t2 = new A.Tween(t2, 0, t3).transform$1(0, t5.get$value(t5));
      this._dropdown$_painter.paint$3(canvas, new A.Offset(0, t2), new A.ImageConfiguration(_null, _null, _null, _null, new A.Size(size._dx - 0, new A.Tween(t4, t1, t3).transform$1(0, t5.get$value(t5)) - t2), _null));
    },
    shouldRepaint$1(oldPainter) {
      var t1, _this = this;
      if (oldPainter.color.$eq(0, _this.color))
        if (oldPainter.elevation === _this.elevation)
          if (oldPainter.selectedIndex === _this.selectedIndex)
            t1 = oldPainter.resize !== _this.resize;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    }
  };
  A._DropdownMenuItemButton.prototype = {
    createState$0() {
      return new A._DropdownMenuItemButtonState(B._StateLifecycle_0, this.$ti._eval$1("_DropdownMenuItemButtonState<1>"));
    }
  };
  A._DropdownMenuItemButtonState.prototype = {
    _dropdown$_handleFocusChange$1(focused) {
      var inTraditionalMode, menuLimits,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      switch ((t1 == null ? A.FocusManager__defaultModeForPlatform() : t1).index) {
        case 0:
          inTraditionalMode = false;
          break;
        case 1:
          inTraditionalMode = true;
          break;
        default:
          inTraditionalMode = null;
      }
      if (focused && inTraditionalMode) {
        t1 = this._widget;
        menuLimits = t1.route.getMenuLimits$3(t1.buttonRect, t1.constraints.maxHeight, t1.itemIndex);
        this._widget.route.scrollController.animateTo$3$curve$duration(menuLimits.scrollOffset, B.Cubic_xDo, B.Duration_100000);
      }
    },
    _handleOnTap$0() {
      var t2,
        t1 = this._widget;
      t1 = t1.route.items[t1.itemIndex];
      t2 = this._framework$_element;
      t2.toString;
      A.Navigator_of(t2, false).pop$1(new A._DropdownRouteResult(t1.item.value, this.$ti._eval$1("_DropdownRouteResult<1>")));
    },
    build$1(context) {
      var t3, opacity, start, end, child, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.route,
        unit = 0.5 / (t2.items.length + 1.5);
      t1 = t1.itemIndex;
      t3 = t2._animationProxy;
      if (t1 === t2.selectedIndex) {
        t3.toString;
        opacity = A.CurvedAnimation$(B.Threshold_0, t3, _null);
      } else {
        start = A.clampDouble(0.5 + (t1 + 1) * unit, 0, 1);
        end = A.clampDouble(start + 1.5 * unit, 0, 1);
        t3.toString;
        opacity = A.CurvedAnimation$(new A.Interval(start, end, B.C__Linear), t3, _null);
      }
      t1 = _this._widget;
      t2 = t1.padding;
      t3 = t1.route;
      t1 = t1.itemIndex;
      child = A.InkWell$(t1 === t3.selectedIndex, _null, true, A.Container$(_null, t3.items[t1], B.Clip_0, _null, _null, _null, _null, t3.itemHeight, _null, _null, t2, _null, _null, _null), _null, true, _null, _null, _null, _null, _null, _null, _null, _this.get$_dropdown$_handleFocusChange(), _null, _null, _null, _this.get$_handleOnTap(), _null, _null, _null, _null, _null, _null);
      child = A.FadeTransition$(false, child, opacity);
      child = A.Shortcuts$(child, _null, B.Map_cW2nU);
      return child;
    }
  };
  A._DropdownMenu.prototype = {
    createState$0() {
      return new A._DropdownMenuState(B._StateLifecycle_0, this.$ti._eval$1("_DropdownMenuState<1>"));
    }
  };
  A._DropdownMenuState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.route._animationProxy;
      t1.toString;
      _this.___DropdownMenuState__fadeOpacity = A.CurvedAnimation$(B.Interval_75R4, t1, B.Interval_75R5);
      t1 = _this._widget.route._animationProxy;
      t1.toString;
      _this.___DropdownMenuState__resize = A.CurvedAnimation$(B.Interval_75R6, t1, B.Threshold_0);
    },
    build$1(context) {
      var route, t1, t2, t3, itemIndex, t4, t5, t6, t7, t8, t9, _this = this, _null = null;
      A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      route = _this._widget.route;
      t1 = A._setArrayType([], type$.JSArray_Widget);
      for (t2 = route.items, t3 = _this.$ti._eval$1("_DropdownMenuItemButton<1>"), itemIndex = 0; itemIndex < t2.length; ++itemIndex) {
        t4 = _this._widget;
        t1.push(new A._DropdownMenuItemButton(t4.route, t4.padding, t4.buttonRect, t4.constraints, itemIndex, true, _null, t3));
      }
      t2 = _this.___DropdownMenuState__fadeOpacity;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      _this._widget.toString;
      t3 = A.Theme_of(context).canvasColor;
      t4 = route.elevation;
      t5 = _this.___DropdownMenuState__resize;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = _this._widget.borderRadius;
      t7 = B.Map_2Vato.$index(0, t4);
      _this._widget.toString;
      t8 = A.ScrollConfiguration_of(context).copyWith$4$overscroll$physics$platform$scrollbars(false, B.ClampingScrollPhysics_null, A.Theme_of(context).platform, false);
      t9 = _this._widget.route.scrollController;
      t9.toString;
      t9 = A.ClipRRect$(B.BorderRadius_tLn, A.Material$(B.Duration_200000, true, _null, A.ScrollConfiguration$(t8, A.PrimaryScrollController$(A.Scrollbar$(A.ListView$(t1, _null, _null, B.EdgeInsets_0_8_0_8, _null, _null, true), _null, _null, _null, true), t9)), B.Clip_0, _null, 0, _null, _null, _null, _null, route.style, B.MaterialType_4), B.Clip_0);
      return A.FadeTransition$(false, A.CustomPaint$(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, "Popup menu", _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, t9, _null), _null, _null, new A._DropdownMenuPainter(t3, t4, route.selectedIndex, t6, t5, new A._DropdownMenuState_build_closure(route), new A._BoxDecorationPainter(new A.BoxDecoration(t3, _null, _null, B.BorderRadius_tLn2, t7, _null, _null, B.BoxShape_0), _null), t5), B.Size_0_0), t2);
    }
  };
  A._DropdownMenuState_build_closure.prototype = {
    call$0() {
      var t1 = this.route;
      return t1.getItemOffset$1(t1.selectedIndex);
    },
    $signature: 98
  };
  A._DropdownMenuRouteLayout.prototype = {
    getConstraintsForChild$1(constraints) {
      var maxHeight = Math.max(0, constraints.maxHeight - 96),
        t1 = this.buttonRect,
        width = Math.min(constraints.maxWidth, t1.right - t1.left);
      return new A.BoxConstraints(width, width, 0, maxHeight);
    },
    getPositionForChild$2(size, childSize) {
      var left,
        t1 = this.route,
        t2 = this.buttonRect,
        menuLimits = t1.getMenuLimits$3(t2, size._dy, t1.selectedIndex);
      switch (this.textDirection.index) {
        case 0:
          left = A.clampDouble(t2.right, 0, size._dx) - childSize._dx;
          break;
        case 1:
          left = A.clampDouble(t2.left, 0, size._dx - childSize._dx);
          break;
        default:
          left = null;
      }
      return new A.Offset(left, menuLimits.top);
    },
    shouldRelayout$1(oldDelegate) {
      return !this.buttonRect.$eq(0, oldDelegate.buttonRect) || this.textDirection != oldDelegate.textDirection;
    }
  };
  A._DropdownRouteResult.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && J.$eq$(other.result, this.result);
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.result);
    }
  };
  A._MenuLimits.prototype = {};
  A._DropdownRoute.prototype = {
    get$transitionDuration(_) {
      return B.Duration_300000;
    },
    get$barrierDismissible() {
      return true;
    },
    get$barrierColor() {
      return null;
    },
    buildPage$3(context, animation, secondaryAnimation) {
      return new A.LayoutBuilder(new A._DropdownRoute_buildPage_closure(this), null);
    },
    getItemOffset$1(index) {
      return this.items.length !== 0 && index > 0 ? 8 + B.JSArray_methods.reduce$1(B.JSArray_methods.sublist$2(this.itemHeights, 0, index), new A._DropdownRoute_getItemOffset_closure()) : 8;
    },
    getMenuLimits$3(buttonRect, availableHeight, index) {
      var menuTop, preferredMenuHeight, menuHeight, menuBottom, _this = this,
        computedMaxHeight = availableHeight - 96,
        buttonTop = buttonRect.top,
        t1 = buttonRect.bottom,
        buttonBottom = Math.min(t1, availableHeight),
        selectedItemOffset = _this.getItemOffset$1(index),
        topLimit = Math.min(48, buttonTop),
        bottomLimit = Math.max(availableHeight - 48, buttonBottom),
        t2 = _this.itemHeights,
        t3 = _this.selectedIndex;
      t1 -= buttonTop;
      menuTop = buttonTop - selectedItemOffset - (t2[t3] - t1) / 2;
      preferredMenuHeight = B.EdgeInsets_0_8_0_8.get$_top(B.EdgeInsets_0_8_0_8) + B.EdgeInsets_0_8_0_8.get$_bottom(B.EdgeInsets_0_8_0_8);
      if (_this.items.length !== 0)
        preferredMenuHeight += B.JSArray_methods.reduce$1(t2, new A._DropdownRoute_getMenuLimits_closure());
      menuHeight = Math.min(computedMaxHeight, preferredMenuHeight);
      menuBottom = menuTop + menuHeight;
      if (menuTop < topLimit) {
        menuTop = Math.min(buttonTop, topLimit);
        menuBottom = menuTop + menuHeight;
      }
      if (menuBottom > bottomLimit) {
        menuBottom = Math.max(buttonBottom, bottomLimit);
        menuTop = menuBottom - menuHeight;
      }
      t2 = t2[t3] / 2;
      t1 = buttonBottom - t1 / 2;
      if (menuBottom - t2 < t1)
        menuTop = t1 + t2 - menuHeight;
      return new A._MenuLimits(menuTop, menuHeight, preferredMenuHeight > computedMaxHeight ? Math.min(Math.max(0, selectedItemOffset - (buttonTop - menuTop)), preferredMenuHeight - menuHeight) : 0);
    },
    get$barrierLabel() {
      return this.barrierLabel;
    }
  };
  A._DropdownRoute_buildPage_closure.prototype = {
    call$2(context, constraints) {
      var t1 = this.$this;
      return new A._DropdownRoutePage(t1, constraints, t1.padding, t1.buttonRect, t1.selectedIndex, t1.capturedThemes, t1.dropdownColor, true, t1.borderRadius, null, t1.$ti._eval$1("_DropdownRoutePage<1>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("_DropdownRoutePage<1>(BuildContext,BoxConstraints)");
    }
  };
  A._DropdownRoute_getItemOffset_closure.prototype = {
    call$2(total, height) {
      return total + height;
    },
    $signature: 79
  };
  A._DropdownRoute_getMenuLimits_closure.prototype = {
    call$2(total, height) {
      return total + height;
    },
    $signature: 79
  };
  A._DropdownRoutePage.prototype = {
    build$1(context) {
      var _this = this,
        t1 = _this.route;
      if (t1.scrollController == null)
        t1.scrollController = A.ScrollController$(t1.getMenuLimits$3(_this.buttonRect, _this.constraints.maxHeight, _this.selectedIndex).scrollOffset);
      return A.MediaQuery_MediaQuery$removePadding(new A.Builder(new A._DropdownRoutePage_build_closure(_this, A.Directionality_maybeOf(context), new A._DropdownMenu(t1, _this.padding, _this.buttonRect, _this.constraints, _this.dropdownColor, true, _this.borderRadius, null, _this.$ti._eval$1("_DropdownMenu<1>"))), null), context, true, true, true, true);
    }
  };
  A._DropdownRoutePage_build_closure.prototype = {
    call$1(context) {
      var t1 = this.$this;
      return new A.CustomSingleChildLayout(new A._DropdownMenuRouteLayout(t1.buttonRect, t1.route, this.textDirection, t1.$ti._eval$1("_DropdownMenuRouteLayout<1>")), new A._CaptureAll(t1.capturedThemes._themes, this.menu, null), null);
    },
    $signature: 291
  };
  A._MenuItem0.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderMenuItem0(this.onLayout, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.onLayout = this.onLayout;
    }
  };
  A._RenderMenuItem0.prototype = {
    performLayout$0() {
      this.super$RenderProxyBoxMixin$performLayout();
      var t1 = this._box$_size;
      t1.toString;
      this.onLayout.call$1(t1);
    }
  };
  A._DropdownMenuItemContainer.prototype = {
    build$1(context) {
      var _null = null;
      return A.Container$(this.alignment, this.child, B.Clip_0, _null, B.BoxConstraints_mlX3, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    }
  };
  A.DropdownMenuItem.prototype = {};
  A.DropdownButtonHideUnderline.prototype = {
    updateShouldNotify$1(oldWidget) {
      return false;
    }
  };
  A.DropdownButton.prototype = {
    createState$0() {
      return new A._DropdownButtonState(B._StateLifecycle_0, this.$ti._eval$1("_DropdownButtonState<1>"));
    }
  };
  A._DropdownButtonState.prototype = {
    get$focusNode(_) {
      var t1;
      this._widget.toString;
      t1 = this._dropdown$_internalNode;
      return t1;
    },
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      _this._updateSelectedIndex$0();
      t1 = _this._widget;
      t1.toString;
      if (_this._dropdown$_internalNode == null)
        _this._dropdown$_internalNode = A.FocusNode$(true, A.getRuntimeType(t1).toString$0(0), true, true, null, null, false);
      t1 = type$.JSArray_of_void_Function_Action_Intent;
      t2 = type$.ObserverList_of_void_Function_Action_Intent;
      _this.___DropdownButtonState__actionMap = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_ActivateIntent_OT9, new A.CallbackAction(new A._DropdownButtonState_initState_closure(_this), new A.ObserverList(A._setArrayType([], t1), t2), type$.CallbackAction_ActivateIntent), B.Type_ButtonActivateIntent_6Ij, new A.CallbackAction(new A._DropdownButtonState_initState_closure0(_this), new A.ObserverList(A._setArrayType([], t1), t2), type$.CallbackAction_ButtonActivateIntent)], type$.Type, type$.Action_Intent);
      _this.get$focusNode(_this).addListener$1(0, _this.get$_dropdown$_handleFocusChanged());
    },
    dispose$0() {
      var t1, _this = this;
      B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
      _this._removeDropdownRoute$0();
      _this.get$focusNode(_this).removeListener$1(0, _this.get$_dropdown$_handleFocusChanged());
      t1 = _this._dropdown$_internalNode;
      if (t1 != null)
        t1.dispose$0();
      _this.super$State$dispose();
    },
    _removeDropdownRoute$0() {
      var t2,
        t1 = this._dropdownRoute;
      if (t1 != null)
        if (t1.get$isActive()) {
          t2 = t1._navigator$_navigator;
          if (t2 != null)
            t2.removeRoute$1(t1);
        }
      this._dropdown$_lastOrientation = this._dropdownRoute = null;
    },
    _dropdown$_handleFocusChanged$0() {
      var _this = this;
      if (_this._hasPrimaryFocus !== _this.get$focusNode(_this).get$hasPrimaryFocus())
        _this.setState$1(new A._DropdownButtonState__handleFocusChanged_closure(_this));
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._widget.toString;
      this._updateSelectedIndex$0();
    },
    _updateSelectedIndex$0() {
      var itemIndex, _this = this,
        t1 = _this._widget,
        t2 = t1.items;
      if (t2.length !== 0)
        if (t1.value == null) {
          t1 = new A.WhereIterable(t2, new A._DropdownButtonState__updateSelectedIndex_closure(_this), A._arrayInstanceType(t2)._eval$1("WhereIterable<1>"));
          t1 = !t1.get$iterator(t1).moveNext$0();
        } else
          t1 = false;
      else
        t1 = true;
      if (t1) {
        _this._selectedIndex = null;
        return;
      }
      for (itemIndex = 0; t1 = _this._widget, t2 = t1.items, itemIndex < t2.length; ++itemIndex)
        if (J.$eq$(t2[itemIndex].value, t1.value)) {
          _this._selectedIndex = itemIndex;
          return;
        }
    },
    get$_dropdown$_textStyle() {
      var t1 = this._widget.style;
      if (t1 == null) {
        t1 = this._framework$_element;
        t1.toString;
        t1 = A.Theme_of(t1).textTheme.titleMedium;
      }
      return t1;
    },
    _dropdown$_handleTap$0() {
      var textDirection, t2, t3, index, t4, $navigator, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      textDirection = A.Directionality_maybeOf(t1);
      t1 = _this._framework$_element;
      t1.toString;
      A.ButtonTheme_of(t1);
      t1 = _this.$ti;
      t2 = A._setArrayType([], t1._eval$1("JSArray<_MenuItem0<1>>"));
      for (t3 = t1._eval$1("_MenuItem0<1>"), index = 0; t4 = _this._widget.items, index < t4.length; ++index) {
        t4 = t4[index];
        t2.push(new A._MenuItem0(new A._DropdownButtonState__handleTap_closure(_this, index), t4, t4, _null, t3));
      }
      t3 = _this._framework$_element;
      t3.toString;
      $navigator = A.Navigator_of(t3, false);
      t3 = t3.get$renderObject();
      t3.toString;
      type$.RenderBox._as(t3);
      t4 = A.MatrixUtils_transformPoint(t3.getTransformTo$1(0, $navigator._framework$_element.get$renderObject()), B.Offset_0_0);
      t3 = t3._box$_size;
      t5 = t4._dx;
      t4 = t4._dy;
      t6 = t3._dx;
      t3 = t3._dy;
      t3 = B.EdgeInsetsDirectional_16_0_24_0.resolve$1(textDirection).inflateRect$1(new A.Rect(t5, t4, t5 + t6, t4 + t3));
      t4 = _this._selectedIndex;
      if (t4 == null)
        t4 = 0;
      _this._widget.toString;
      t5 = _this._framework$_element;
      t5.toString;
      t6 = $navigator._framework$_element;
      t6.toString;
      t6 = A.InheritedTheme_capture(t5, t6);
      t5 = _this.get$_dropdown$_textStyle();
      t5.toString;
      t7 = _this._framework$_element;
      t7.toString;
      A.Localizations_of(t7, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      _this._widget.toString;
      t7 = t2.length;
      t7 = A.List_List$filled(t7, 48, false, type$.double);
      t8 = A._setArrayType([], type$.JSArray_of_Future_bool_Function);
      t9 = $.Zone__current;
      t10 = t1._eval$1("_Future<_DropdownRouteResult<1>?>");
      t11 = t1._eval$1("_AsyncCompleter<_DropdownRouteResult<1>?>");
      t12 = A.ProxyAnimation$(B.C__AlwaysDismissedAnimation);
      t13 = A._setArrayType([], type$.JSArray_OverlayEntry);
      t14 = $.$get$ChangeNotifier__emptyListeners();
      t15 = $.Zone__current;
      _this._dropdownRoute = new A._DropdownRoute(t2, B.EdgeInsets_16_0_16_0, t3, t4, 8, t6, t5, 48, _null, _null, true, _null, t7, "Dismiss", _null, t8, new A.LabeledGlobalKey(_null, t1._eval$1("LabeledGlobalKey<_ModalScopeState<_DropdownRouteResult<1>>>")), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new A.PageStorageBucket(), _null, 0, new A._AsyncCompleter(new A._Future(t9, t10), t11), t12, t13, B.RouteSettings_null_null, new A.ValueNotifier(_null, t14, type$.ValueNotifier_nullable_String), new A._AsyncCompleter(new A._Future(t15, t10), t11), t1._eval$1("_DropdownRoute<1>"));
      t1 = _this.get$focusNode(_this);
      if (t1 != null)
        t1.requestFocus$0();
      t1 = _this._dropdownRoute;
      t1.toString;
      $navigator.push$1(t1).then$1$1(new A._DropdownButtonState__handleTap_closure0(_this), type$.void);
      _this._widget.toString;
    },
    get$_iconColor() {
      var t1, _this = this;
      if (_this.get$_enabled()) {
        t1 = _this._widget.iconEnabledColor;
        if (t1 != null)
          return t1;
        t1 = _this._framework$_element;
        t1.toString;
        switch (A.Theme_of(t1).colorScheme.brightness.index) {
          case 1:
            return B.Color_4284572001;
          case 0:
            return B.Color_3019898879;
        }
      } else {
        _this._widget.toString;
        t1 = _this._framework$_element;
        t1.toString;
        switch (A.Theme_of(t1).colorScheme.brightness.index) {
          case 1:
            return B.Color_4290624957;
          case 0:
            return B.Color_452984831;
        }
      }
    },
    get$_enabled() {
      var t1 = this._widget;
      t1 = t1.items.length !== 0 && t1.onChanged != null;
      return t1;
    },
    build$1(context) {
      var size, t2, items, innerItemsWidget, fontSize, t3, t4, t5, t6, bottom, effectiveMouseCursor, _this = this, _null = null,
        t1 = A.MediaQuery_maybeOf(context),
        result = t1 == null ? _null : t1.get$orientation(t1);
      if (result == null) {
        $.WidgetsBinding__instance.toString;
        size = $.$get$window().get$physicalSize();
        result = size._dx > size._dy ? B.Orientation_1 : B.Orientation_0;
      }
      t1 = _this._dropdown$_lastOrientation;
      if (t1 == null) {
        _this._dropdown$_lastOrientation = result;
        t1 = result;
      }
      if (result !== t1) {
        _this._removeDropdownRoute$0();
        _this._dropdown$_lastOrientation = result;
      }
      t1 = _this._widget;
      t2 = t1.selectedItemBuilder;
      if (t2 == null)
        items = A.List_List$of(t1.items, true, type$.Widget);
      else
        items = A.List_List$of(t2.call$1(context), true, type$.Widget);
      _this._widget.toString;
      if (!_this.get$_enabled())
        _this._widget.toString;
      A.ButtonTheme_of(context);
      if (items.length === 0)
        innerItemsWidget = A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      else {
        t1 = _this._selectedIndex;
        if (t1 == null)
          t1 = _null;
        if (_this._widget.isDense)
          t2 = items;
        else {
          t2 = A._arrayInstanceType(items)._eval$1("MappedListIterable<1,RenderObjectWidget>");
          t2 = A.List_List$of(new A.MappedListIterable(items, new A._DropdownButtonState_build_closure(_this), t2), true, t2._eval$1("ListIterable.E"));
        }
        innerItemsWidget = new A.IndexedStack(t1, B.AlignmentDirectional_m1_0, _null, B.StackFit_0, B.Clip_1, t2, _null);
      }
      if (_this.get$_enabled()) {
        t1 = _this.get$_dropdown$_textStyle();
        t1.toString;
      } else {
        t1 = _this.get$_dropdown$_textStyle();
        t1.toString;
        t1 = t1.copyWith$1$color(A.Theme_of(context).disabledColor);
      }
      t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t2 = B.EdgeInsets_0_0_0_0.resolve$1(t2.textDirection);
      if (_this._widget.isDense) {
        fontSize = _this.get$_dropdown$_textStyle().fontSize;
        if (fontSize == null) {
          t3 = _this._framework$_element;
          t3.toString;
          t3 = A.Theme_of(t3).textTheme.titleMedium.fontSize;
          t3.toString;
          fontSize = t3;
        }
        _this._widget.toString;
        t3 = Math.max(fontSize, Math.max(24, 24));
      } else
        t3 = _null;
      t4 = type$.JSArray_Widget;
      t5 = A._setArrayType([], t4);
      if (_this._widget.isExpanded)
        t5.push(A.Expanded$(innerItemsWidget, 1));
      else
        t5.push(innerItemsWidget);
      t6 = _this.get$_iconColor();
      _this._widget.toString;
      t5.push(A.IconTheme$(B.Icon_QPD, new A.IconThemeData(t6, _null, 24, _null), _null));
      result = A.DefaultTextStyle$(A.Container$(_null, A.Row$(t5, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_3, B.MainAxisSize_0, _null, _null), B.Clip_0, _null, _null, _null, _null, t3, _null, _null, t2, _null, _null, _null), _null, _null, B.TextOverflow_0, true, t1, _null, _null, B.TextWidthBasis_0);
      if (context.dependOnInheritedWidgetOfExactType$1$0(type$.DropdownButtonHideUnderline) == null) {
        t1 = _this._widget;
        bottom = t1.isDense || false ? 0 : 8;
        t1 = t1.underline;
        result = new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([result, A.Positioned$(bottom, t1 == null ? A.Container$(_null, _null, B.Clip_0, _null, _null, B.BoxDecoration_EKj, _null, 1, _null, _null, _null, _null, _null, _null) : t1, _null, _null, 0, 0, _null, _null)], t4), _null);
      }
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this.get$_enabled())
        t1.add$1(0, B.MaterialState_6);
      effectiveMouseCursor = A.MaterialStateProperty_resolveAs(B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, t1, type$.MouseCursor);
      _this._widget.toString;
      t1 = _this.___DropdownButtonState__actionMap;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.get$_enabled() ? _this.get$_dropdown$_handleTap() : _null;
      t3 = _this.get$_enabled();
      t4 = _this.get$focusNode(_this);
      _this._widget.toString;
      t5 = A.Theme_of(context);
      t1 = A.Actions$(t1, A.InkWell$(false, _null, t3, result, _null, false, t5.focusColor, t4, _null, _null, _null, effectiveMouseCursor, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null));
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t1, _null);
    }
  };
  A._DropdownButtonState_initState_closure.prototype = {
    call$1(intent) {
      return this.$this._dropdown$_handleTap$0();
    },
    $signature: 755
  };
  A._DropdownButtonState_initState_closure0.prototype = {
    call$1(intent) {
      return this.$this._dropdown$_handleTap$0();
    },
    $signature: 756
  };
  A._DropdownButtonState__handleFocusChanged_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._hasPrimaryFocus = t1.get$focusNode(t1).get$hasPrimaryFocus();
    },
    $signature: 0
  };
  A._DropdownButtonState__updateSelectedIndex_closure.prototype = {
    call$1(item) {
      var t1 = J.$eq$(item.value, this.$this._widget.value);
      return t1;
    },
    $signature() {
      return this.$this.$ti._eval$1("bool(DropdownMenuItem<1>)");
    }
  };
  A._DropdownButtonState__handleTap_closure.prototype = {
    call$1(size) {
      var t1 = this.$this._dropdownRoute;
      if (t1 == null)
        return;
      t1.itemHeights[this.index] = size._dy;
    },
    $signature: 288
  };
  A._DropdownButtonState__handleTap_closure0.prototype = {
    call$1(newValue) {
      var t1 = this.$this;
      t1._removeDropdownRoute$0();
      if (t1._framework$_element == null || newValue == null)
        return;
      t1 = t1._widget.onChanged;
      if (t1 != null)
        t1.call$1(newValue.result);
    },
    $signature() {
      return this.$this.$ti._eval$1("Null(_DropdownRouteResult<1>?)");
    }
  };
  A._DropdownButtonState_build_closure.prototype = {
    call$1(item) {
      var t1;
      this.$this._widget.toString;
      t1 = A.SizedBox$(item, 48, null);
      return t1;
    },
    $signature: 758
  };
  A.__DropdownButtonState_State_WidgetsBindingObserver.prototype = {};
  A.ElevatedButton.prototype = {
    defaultStyleOf$1(context) {
      var t1,
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme;
      A.Theme_of(context);
      t1 = A.ElevatedButton_styleFrom(B.Alignment_0_0, B.Duration_200000, B.SystemMouseCursor_basic, 2, true, B.SystemMouseCursor_click, null, B.Size_wjo, B.Size_64_36, colorScheme.onPrimary, colorScheme.onSurface, A._scaledPadding0(context), colorScheme.primary, theme.shadowColor, B.RoundedRectangleBorder_ifx0, B.C__InkRippleFactory, theme.materialTapTargetSize, theme.textTheme.labelLarge, theme.visualDensity);
      return t1;
    },
    themeStyleOf$1(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ElevatedButtonTheme);
      t1 = A.Theme_of(context);
      return t1.elevatedButtonTheme.style;
    }
  };
  A._ElevatedButtonDefaultBackground.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.primary;
    }
  };
  A._ElevatedButtonDefaultForeground.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = A.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.onPrimary;
    }
  };
  A._ElevatedButtonDefaultOverlay.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_0)) {
        t1 = this.onPrimary;
        return A.Color$fromARGB(20, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      if (states.contains$1(0, B.MaterialState_1) || states.contains$1(0, B.MaterialState_2)) {
        t1 = this.onPrimary;
        return A.Color$fromARGB(61, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    }
  };
  A._ElevatedButtonDefaultElevation.prototype = {
    resolve$1(states) {
      var _this = this;
      if (states.contains$1(0, B.MaterialState_6))
        return 0;
      if (states.contains$1(0, B.MaterialState_0))
        return _this.elevation + 2;
      if (states.contains$1(0, B.MaterialState_1))
        return _this.elevation + 2;
      if (states.contains$1(0, B.MaterialState_2))
        return _this.elevation + 6;
      return _this.elevation;
    }
  };
  A._ElevatedButtonDefaultMouseCursor.prototype = {
    resolve$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.disabledCursor;
      return this.enabledCursor;
    }
  };
  A.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable.prototype = {};
  A.ElevatedButtonThemeData.prototype = {
    get$hashCode(_) {
      return J.get$hashCode$(this.style);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.ElevatedButtonThemeData && J.$eq$(other.style, this.style);
    }
  };
  A._ElevatedButtonThemeData_Object_Diagnosticable.prototype = {};
  A.ExpansionTile.prototype = {
    createState$0() {
      var _null = null;
      return new A._ExpansionTileState(new A.ColorTween(_null, _null), new A.ColorTween(_null, _null), new A.ColorTween(_null, _null), new A.ColorTween(_null, _null), _null, _null, B._StateLifecycle_0);
    }
  };
  A._ExpansionTileState.prototype = {
    initState$0() {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this.___ExpansionTileState__controller = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
      t2 = $.$get$_ExpansionTileState__easeInTween();
      t3 = type$.Animation_double;
      _this.___ExpansionTileState__heightFactor = new A._AnimatedEvaluation(t3._as(t1), t2, A._instanceType(t2)._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t4 = $.$get$_ExpansionTileState__halfTween();
      t5 = A._instanceType(t4)._eval$1("_ChainedEvaluation<Animatable.T>");
      _this.___ExpansionTileState__iconTurns = new A._AnimatedEvaluation(t3._as(t1), new A._ChainedEvaluation(t2, t4, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t5 = _this._borderColorTween;
      t4 = $.$get$_ExpansionTileState__easeOutTween();
      t6 = A._instanceType(t5)._eval$1("_ChainedEvaluation<Animatable.T>");
      _this.___ExpansionTileState__borderColor = new A._AnimatedEvaluation(t3._as(t1), new A._ChainedEvaluation(t4, t5, t6), t6._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t6 = _this._headerColorTween;
      t5 = A._instanceType(t6)._eval$1("_ChainedEvaluation<Animatable.T>");
      _this.___ExpansionTileState__headerColor = new A._AnimatedEvaluation(t3._as(t1), new A._ChainedEvaluation(t2, t6, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t5 = _this._iconColorTween;
      t6 = A._instanceType(t5)._eval$1("_ChainedEvaluation<Animatable.T>");
      _this.___ExpansionTileState__iconColor = new A._AnimatedEvaluation(t3._as(t1), new A._ChainedEvaluation(t2, t5, t6), t6._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t6 = _this._backgroundColorTween;
      t5 = A._instanceType(t6)._eval$1("_ChainedEvaluation<Animatable.T>");
      _this.___ExpansionTileState__backgroundColor = new A._AnimatedEvaluation(t3._as(t1), new A._ChainedEvaluation(t4, t6, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t5 = _this._framework$_element;
      t5.toString;
      t5 = A.PageStorage_of(t5);
      if (t5 == null)
        t1 = _null;
      else {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = t5.readState$1(t1);
      }
      A._asBoolQ(t1);
      if (t1 == null)
        t1 = _this._widget.initiallyExpanded;
      _this._expansion_tile$_isExpanded = t1;
      if (t1) {
        t1 = _this.___ExpansionTileState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 1);
      }
    },
    dispose$0() {
      var t1 = this.___ExpansionTileState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__ExpansionTileState_State_SingleTickerProviderStateMixin$dispose();
    },
    _expansion_tile$_handleTap$0() {
      this.setState$1(new A._ExpansionTileState__handleTap_closure(this));
      this._widget.toString;
    },
    _effectiveAffinity$1(affinity) {
      switch (1) {
        case 0:
          return B.ListTileControlAffinity_0;
        case 1:
        case 2:
          return B.ListTileControlAffinity_1;
      }
    },
    _buildLeadingIcon$1(context) {
      var t1;
      this._widget.toString;
      if (this._effectiveAffinity$1(null) !== B.ListTileControlAffinity_0)
        return null;
      t1 = this.___ExpansionTileState__iconTurns;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.RotationTransition$(B.Icon_8aB, t1);
    },
    _buildTrailingIcon$1(context) {
      var t1;
      this._widget.toString;
      if (this._effectiveAffinity$1(null) !== B.ListTileControlAffinity_1)
        return null;
      t1 = this.___ExpansionTileState__iconTurns;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.RotationTransition$(B.Icon_8aB, t1);
    },
    _buildChildren$2(context, child) {
      var t2, borderSideColor, t3, t4, t5, t6, t7, _this = this, _null = null,
        expansionTileTheme = A.ExpansionTileTheme_of(context),
        t1 = _this.___ExpansionTileState__borderColor;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.parent;
      borderSideColor = t1._evaluatable.transform$1(0, t2.get$value(t2));
      if (borderSideColor == null)
        borderSideColor = B.Color_0;
      t1 = _this.___ExpansionTileState__backgroundColor;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.parent;
      t2 = t1._evaluatable.transform$1(0, t2.get$value(t2));
      t1 = t2 == null ? expansionTileTheme.backgroundColor : t2;
      if (t1 == null)
        t1 = B.Color_0;
      t2 = _this.___ExpansionTileState__iconColor;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      t3 = t2._evaluatable.transform$1(0, t3.get$value(t3));
      t2 = t3 == null ? expansionTileTheme.iconColor : t3;
      t3 = _this.___ExpansionTileState__headerColor;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t3.parent;
      t4 = t3._evaluatable.transform$1(0, t4.get$value(t4));
      t3 = _this._widget;
      t5 = t3.tilePadding;
      if (t5 == null)
        t5 = expansionTileTheme.tilePadding;
      t3 = t3.leading;
      if (t3 == null)
        t3 = _this._buildLeadingIcon$1(context);
      t6 = _this._widget.title;
      t7 = _this._buildTrailingIcon$1(context);
      t2 = A.ListTileTheme_merge(new A.ListTile(t3, t6, _null, t7, t5, _this.get$_expansion_tile$_handleTap(), _null), t2, t4);
      t3 = _this._widget.expandedAlignment;
      if (t3 == null)
        t3 = expansionTileTheme.expandedAlignment;
      if (t3 == null)
        t3 = B.Alignment_0_0;
      t4 = _this.___ExpansionTileState__heightFactor;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t4.parent;
      return A.Container$(_null, A.Column$(A._setArrayType([t2, A.ClipRect$(new A.Align(t3, _null, t4._evaluatable.transform$1(0, t5.get$value(t5)), child, _null), B.Clip_1, _null)], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_0, _null, _null, new A.BoxDecoration(t1, _null, new A.Border(new A.BorderSide(borderSideColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd, new A.BorderSide(borderSideColor, 1, B.BorderStyle_1, B.StrokeAlign_0), B.BorderSide_aLd), _null, _null, _null, _null, B.BoxShape_0), _null, _null, _null, _null, _null, _null, _null, _null);
    },
    didChangeDependencies$0() {
      var theme, expansionTileTheme, colorScheme, t2, t3, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      theme = A.Theme_of(t1);
      t1 = _this._framework$_element;
      t1.toString;
      expansionTileTheme = A.ExpansionTileTheme_of(t1);
      colorScheme = theme.colorScheme;
      _this._borderColorTween.end = theme.dividerColor;
      t1 = _this._headerColorTween;
      t2 = _this._widget;
      t2.toString;
      t3 = expansionTileTheme.collapsedTextColor;
      t1.begin = t3 == null ? theme.textTheme.titleMedium.color : t3;
      t3 = expansionTileTheme.textColor;
      t1.end = t3 == null ? colorScheme.primary : t3;
      t1 = _this._iconColorTween;
      t3 = expansionTileTheme.collapsedIconColor;
      t1.begin = t3 == null ? theme.unselectedWidgetColor : t3;
      t3 = expansionTileTheme.iconColor;
      t1.end = t3 == null ? colorScheme.primary : t3;
      t1 = _this._backgroundColorTween;
      t3 = t2.collapsedBackgroundColor;
      t1.begin = t3 == null ? expansionTileTheme.collapsedBackgroundColor : t3;
      t2 = t2.backgroundColor;
      t1.end = t2 == null ? expansionTileTheme.backgroundColor : t2;
      _this.super$State$didChangeDependencies();
    },
    build$1(context) {
      var t1, $closed, shouldRemoveChildren, t2, result, _this = this, _null = null,
        expansionTileTheme = A.ExpansionTileTheme_of(context);
      if (!_this._expansion_tile$_isExpanded) {
        t1 = _this.___ExpansionTileState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        $closed = t1.get$status(t1) === B.AnimationStatus_0;
      } else
        $closed = false;
      if ($closed) {
        _this._widget.toString;
        shouldRemoveChildren = true;
      } else
        shouldRemoveChildren = false;
      t1 = _this._widget;
      t2 = t1.childrenPadding;
      if (t2 == null)
        t2 = expansionTileTheme.childrenPadding;
      if (t2 == null)
        t2 = B.EdgeInsets_0_0_0_0;
      result = new A.Offstage($closed, new A.TickerMode(!$closed, new A.Padding(t2, A.Column$(t1.children, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), _null), _null), _null);
      t1 = _this.___ExpansionTileState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = shouldRemoveChildren ? _null : result;
      return A.AnimatedBuilder$(t1, _this.get$_buildChildren(), t2);
    }
  };
  A._ExpansionTileState__handleTap_closure.prototype = {
    call$0() {
      var t3,
        t1 = this.$this,
        t2 = !t1._expansion_tile$_isExpanded;
      t1._expansion_tile$_isExpanded = t2;
      t3 = t1.___ExpansionTileState__controller;
      if (t2) {
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.forward$0(0);
      } else {
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.reverse$0(0).then$1$1(new A._ExpansionTileState__handleTap__closure(t1), type$.void);
      }
      t2 = t1._framework$_element;
      t2.toString;
      t2 = A.PageStorage_of(t2);
      if (t2 != null) {
        t3 = t1._framework$_element;
        t3.toString;
        t2.writeState$2(t3, t1._expansion_tile$_isExpanded);
      }
    },
    $signature: 0
  };
  A._ExpansionTileState__handleTap__closure.prototype = {
    call$1(value) {
      var t1 = this.$this;
      if (t1._framework$_element == null)
        return;
      t1.setState$1(new A._ExpansionTileState__handleTap___closure());
    },
    $signature: 48
  };
  A._ExpansionTileState__handleTap___closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.__ExpansionTileState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.ExpansionTileThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.collapsedBackgroundColor, _this.tilePadding, _this.expandedAlignment, _this.childrenPadding, _this.iconColor, _this.collapsedIconColor, _this.textColor, _this.collapsedTextColor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ExpansionTileThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.collapsedBackgroundColor, _this.collapsedBackgroundColor) && J.$eq$(other.tilePadding, _this.tilePadding) && J.$eq$(other.expandedAlignment, _this.expandedAlignment) && J.$eq$(other.childrenPadding, _this.childrenPadding) && J.$eq$(other.iconColor, _this.iconColor) && J.$eq$(other.collapsedIconColor, _this.collapsedIconColor) && J.$eq$(other.textColor, _this.textColor) && J.$eq$(other.collapsedTextColor, _this.collapsedTextColor);
    }
  };
  A._ExpansionTileThemeData_Object_Diagnosticable.prototype = {};
  A.FlexibleSpaceBarSettings.prototype = {
    updateShouldNotify$1(oldWidget) {
      var _this = this;
      return _this.toolbarOpacity !== oldWidget.toolbarOpacity || _this.minExtent !== oldWidget.minExtent || _this.maxExtent !== oldWidget.maxExtent || _this.currentExtent !== oldWidget.currentExtent || false;
    }
  };
  A._DefaultHeroTag.prototype = {
    toString$0(_) {
      return "<default FloatingActionButton tag>";
    }
  };
  A._FloatingActionButtonType.prototype = {
    toString$0(_) {
      return "_FloatingActionButtonType." + this._core$_name;
    }
  };
  A.FloatingActionButton.prototype = {
    build$1(context) {
      var backgroundColor, focusColor, hoverColor, splashColor, elevation, focusElevation, hoverElevation, t2, disabledElevation, highlightElevation, iconSize, extendedTextStyle, shape, resolvedChild, sizeConstraints, padding, result, _null = null,
        theme = A.Theme_of(context),
        floatingActionButtonTheme = theme.floatingActionButtonTheme,
        t1 = this._floatingActionButtonType,
        defaults = new A._M2Defaults(t1, true, A.Theme_of(context), A.Theme_of(context).colorScheme, _null, _null, _null, _null, _null, 6, 6, 8, _null, 12, _null, true, _null, B.BoxConstraints_56_56_56_56, B.BoxConstraints_40_40_40_40, B.BoxConstraints_96_96_96_96, B.BoxConstraints_CWG, 8, _null, _null),
        foregroundColor = floatingActionButtonTheme.foregroundColor;
      if (foregroundColor == null)
        foregroundColor = defaults.get$foregroundColor();
      backgroundColor = floatingActionButtonTheme.backgroundColor;
      if (backgroundColor == null)
        backgroundColor = defaults.get$backgroundColor(defaults);
      focusColor = floatingActionButtonTheme.focusColor;
      if (focusColor == null)
        focusColor = defaults.get$focusColor();
      hoverColor = floatingActionButtonTheme.hoverColor;
      if (hoverColor == null)
        hoverColor = defaults.get$hoverColor();
      splashColor = floatingActionButtonTheme.splashColor;
      if (splashColor == null)
        splashColor = defaults.get$splashColor();
      elevation = floatingActionButtonTheme.elevation;
      if (elevation == null)
        elevation = 6;
      focusElevation = floatingActionButtonTheme.focusElevation;
      if (focusElevation == null)
        focusElevation = 6;
      hoverElevation = floatingActionButtonTheme.hoverElevation;
      if (hoverElevation == null)
        hoverElevation = 8;
      t2 = floatingActionButtonTheme.disabledElevation;
      disabledElevation = t2 == null ? _null : t2;
      if (disabledElevation == null)
        disabledElevation = elevation;
      highlightElevation = floatingActionButtonTheme.highlightElevation;
      if (highlightElevation == null)
        highlightElevation = 12;
      iconSize = floatingActionButtonTheme.iconSize;
      if (iconSize == null)
        iconSize = defaults.get$iconSize();
      t2 = floatingActionButtonTheme.extendedTextStyle;
      extendedTextStyle = (t2 == null ? defaults.get$extendedTextStyle() : t2).copyWith$1$color(foregroundColor);
      shape = floatingActionButtonTheme.shape;
      if (shape == null)
        shape = defaults.get$shape(defaults);
      t2 = this.child;
      resolvedChild = A.IconTheme_merge(t2, new A.IconThemeData(_null, _null, iconSize, _null));
      switch (t1.index) {
        case 0:
          sizeConstraints = floatingActionButtonTheme.sizeConstraints;
          if (sizeConstraints == null)
            sizeConstraints = B.BoxConstraints_56_56_56_56;
          break;
        case 1:
          sizeConstraints = floatingActionButtonTheme.smallSizeConstraints;
          if (sizeConstraints == null)
            sizeConstraints = B.BoxConstraints_40_40_40_40;
          break;
        case 2:
          sizeConstraints = floatingActionButtonTheme.largeSizeConstraints;
          if (sizeConstraints == null)
            sizeConstraints = B.BoxConstraints_96_96_96_96;
          break;
        case 3:
          sizeConstraints = floatingActionButtonTheme.extendedSizeConstraints;
          if (sizeConstraints == null)
            sizeConstraints = B.BoxConstraints_CWG;
          padding = floatingActionButtonTheme.extendedPadding;
          if (padding == null)
            padding = defaults.get$extendedPadding();
          t1 = A._setArrayType([], type$.JSArray_Widget);
          t1.push(t2);
          resolvedChild = new A._ChildOverflowBox(new A.Padding(padding, A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null), _null), _null);
          break;
        default:
          sizeConstraints = _null;
      }
      result = A.RawMaterialButton$(false, resolvedChild, B.Clip_0, sizeConstraints, disabledElevation, elevation, floatingActionButtonTheme.enableFeedback !== false, backgroundColor, focusColor, focusElevation, _null, highlightElevation, hoverColor, hoverElevation, theme.materialTapTargetSize, _null, this.onPressed, shape, splashColor, extendedTextStyle);
      result = A.Hero$(result, B.C__DefaultHeroTag);
      return new A.MergeSemantics(result, _null);
    }
  };
  A._ChildOverflowBox.prototype = {
    createRenderObject$1(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new A._RenderChildOverflowBox(B.Alignment_0_0, t1.textDirection, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
    }
  };
  A._RenderChildOverflowBox.prototype = {
    computeMinIntrinsicWidth$1(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      return 0;
    },
    computeDryLayout$1(constraints) {
      var childSize,
        t1 = this.RenderObjectWithChildMixin__child,
        t2 = constraints.minWidth,
        t3 = constraints.maxWidth,
        t4 = constraints.minHeight,
        t5 = constraints.maxHeight;
      if (t1 != null) {
        childSize = t1.getDryLayout$1(B.BoxConstraints_mlX);
        return new A.Size(Math.max(t2, Math.min(t3, childSize._dx)), Math.max(t4, Math.min(t5, childSize._dy)));
      } else
        return new A.Size(A.clampDouble(1 / 0, t2, t3), A.clampDouble(1 / 0, t4, t5));
    },
    performLayout$0() {
      var _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this.RenderObjectWithChildMixin__child,
        t2 = constraints.minWidth,
        t3 = constraints.maxWidth,
        t4 = constraints.minHeight,
        t5 = constraints.maxHeight;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(B.BoxConstraints_mlX, true);
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        _this._box$_size = new A.Size(Math.max(t2, Math.min(t3, t1._dx)), Math.max(t4, Math.min(t5, t1._dy)));
        _this.alignChild$0();
      } else
        _this._box$_size = new A.Size(A.clampDouble(1 / 0, t2, t3), A.clampDouble(1 / 0, t4, t5));
    }
  };
  A._M2Defaults.prototype = {
    get$foregroundColor() {
      return this._floating_action_button$_colors.onSecondary;
    },
    get$backgroundColor(_) {
      return this._floating_action_button$_colors.secondary;
    },
    get$focusColor() {
      return this._theme.focusColor;
    },
    get$hoverColor() {
      return this._theme.hoverColor;
    },
    get$splashColor() {
      return this._theme.splashColor;
    },
    get$shape(_) {
      return this.type === B._FloatingActionButtonType_3 ? B.StadiumBorder_sAO : B.CircleBorder_Fuf;
    },
    get$iconSize() {
      return this.type === B._FloatingActionButtonType_2 ? 36 : 24;
    },
    get$extendedPadding() {
      return new A.EdgeInsetsDirectional(this.hasChild && this.type === B._FloatingActionButtonType_3 ? 16 : 20, 0, 20, 0);
    },
    get$extendedTextStyle() {
      return this._theme.textTheme.labelLarge.copyWith$1$letterSpacing(1.2);
    }
  };
  A.FloatingActionButtonLocation.prototype = {
    toString$0(_) {
      return "FloatingActionButtonLocation";
    }
  };
  A.StandardFabLocation.prototype = {
    getOffset$1(scaffoldGeometry) {
      var t1 = this.getOffsetX$2(scaffoldGeometry, 0),
        contentBottom = scaffoldGeometry.contentBottom,
        bottomSheetHeight = scaffoldGeometry.bottomSheetSize._dy,
        fabHeight = scaffoldGeometry.floatingActionButtonSize._dy,
        snackBarHeight = scaffoldGeometry.snackBarSize._dy,
        fabY = contentBottom - fabHeight - Math.max(16, scaffoldGeometry.minViewPadding.bottom - (scaffoldGeometry.scaffoldSize._dy - contentBottom) + 16);
      if (snackBarHeight > 0)
        fabY = Math.min(fabY, contentBottom - snackBarHeight - fabHeight - 16);
      return new A.Offset(t1, (bottomSheetHeight > 0 ? Math.min(fabY, contentBottom - bottomSheetHeight - fabHeight / 2) : fabY) + 0);
    }
  };
  A.FabFloatOffsetY.prototype = {};
  A.FabEndOffsetX.prototype = {
    getOffsetX$2(scaffoldGeometry, adjustment) {
      switch (scaffoldGeometry.textDirection.index) {
        case 0:
          return 16 + scaffoldGeometry.minInsets.left - adjustment;
        case 1:
          return scaffoldGeometry.scaffoldSize._dx - 16 - scaffoldGeometry.minInsets.right - scaffoldGeometry.floatingActionButtonSize._dx + adjustment;
      }
    }
  };
  A._EndFloatFabLocation.prototype = {
    toString$0(_) {
      return "FloatingActionButtonLocation.endFloat";
    }
  };
  A.FloatingActionButtonAnimator.prototype = {
    toString$0(_) {
      return "FloatingActionButtonAnimator";
    }
  };
  A._ScalingFabMotionAnimator.prototype = {
    getOffset$3$begin$end$progress(begin, end, progress) {
      if (progress < 0.5)
        return begin;
      else
        return end;
    }
  };
  A._AnimationSwap.prototype = {
    get$value(_) {
      var _this = this,
        t1 = _this.parent.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 < _this.swapThreshold) {
        t1 = _this.first;
        t1 = t1.get$value(t1);
      } else {
        t1 = _this.next;
        t1 = t1.get$value(t1);
      }
      return t1;
    }
  };
  A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX.prototype = {};
  A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY.prototype = {};
  A.FloatingActionButtonThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$foregroundColor(), _this.get$backgroundColor(_this), _this.get$focusColor(), _this.get$hoverColor(), _this.get$splashColor(), _this.elevation, _this.focusElevation, _this.hoverElevation, _this.disabledElevation, _this.highlightElevation, _this.get$shape(_this), _this.enableFeedback, _this.get$iconSize(), _this.sizeConstraints, _this.smallSizeConstraints, _this.largeSizeConstraints, _this.extendedSizeConstraints, _this.extendedIconLabelSpacing, _this.get$extendedPadding(), _this.get$extendedTextStyle());
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.FloatingActionButtonThemeData && J.$eq$(other.get$foregroundColor(), _this.get$foregroundColor()) && J.$eq$(other.get$backgroundColor(other), _this.get$backgroundColor(_this)) && J.$eq$(other.get$focusColor(), _this.get$focusColor()) && J.$eq$(other.get$hoverColor(), _this.get$hoverColor()) && J.$eq$(other.get$splashColor(), _this.get$splashColor()) && other.elevation == _this.elevation && other.focusElevation == _this.focusElevation && other.hoverElevation == _this.hoverElevation && other.disabledElevation == _this.disabledElevation && other.highlightElevation == _this.highlightElevation && J.$eq$(other.get$shape(other), _this.get$shape(_this)) && other.enableFeedback == _this.enableFeedback && other.get$iconSize() == _this.get$iconSize() && J.$eq$(other.sizeConstraints, _this.sizeConstraints) && J.$eq$(other.smallSizeConstraints, _this.smallSizeConstraints) && J.$eq$(other.largeSizeConstraints, _this.largeSizeConstraints) && J.$eq$(other.extendedSizeConstraints, _this.extendedSizeConstraints) && other.extendedIconLabelSpacing == _this.extendedIconLabelSpacing && J.$eq$(other.get$extendedPadding(), _this.get$extendedPadding()) && J.$eq$(other.get$extendedTextStyle(), _this.get$extendedTextStyle());
    },
    get$foregroundColor() {
      return this.foregroundColor;
    },
    get$backgroundColor(receiver) {
      return this.backgroundColor;
    },
    get$focusColor() {
      return this.focusColor;
    },
    get$hoverColor() {
      return this.hoverColor;
    },
    get$splashColor() {
      return this.splashColor;
    },
    get$shape(receiver) {
      return this.shape;
    },
    get$iconSize() {
      return this.iconSize;
    },
    get$extendedPadding() {
      return this.extendedPadding;
    },
    get$extendedTextStyle() {
      return this.extendedTextStyle;
    }
  };
  A._FloatingActionButtonThemeData_Object_Diagnosticable.prototype = {};
  A.IconButton.prototype = {
    build$1(context) {
      var currentColor, unadjustedConstraints, adjustedConstraints, t4, effectiveIconSize, result, t5, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = _this.onPressed,
        t2 = t1 == null,
        t3 = !t2;
      if (t3)
        currentColor = _this.color;
      else
        currentColor = theme.disabledColor;
      unadjustedConstraints = _this.constraints;
      if (unadjustedConstraints == null)
        unadjustedConstraints = B.BoxConstraints_mlX1;
      adjustedConstraints = theme.visualDensity.effectiveConstraints$1(unadjustedConstraints);
      t4 = _this.iconSize;
      effectiveIconSize = t4 == null ? A.IconTheme_of(context).size : t4;
      if (effectiveIconSize == null)
        effectiveIconSize = 24;
      t4 = _this.padding;
      result = new A.ConstrainedBox(adjustedConstraints, new A.Padding(t4, A.SizedBox$(new A.Align(B.Alignment_0_0, _null, _null, A.IconTheme_merge(_this.icon, new A.IconThemeData(currentColor, _null, effectiveIconSize, _null)), _null), effectiveIconSize, effectiveIconSize), _null), _null);
      t5 = _this.tooltip;
      if (t5 != null)
        result = A.Tooltip$(result, _null, t5, _null, _null, _null, _null, _null);
      t2 = t2 ? B.SystemMouseCursor_basic : B.SystemMouseCursor_click;
      t5 = _this.splashRadius;
      t4 = t5 == null ? Math.max(35, (effectiveIconSize + Math.min(t4.get$horizontal(), t4.get$_top(t4) + t4.get$_bottom(t4))) * 0.7) : t5;
      t4 = A.InkResponse$(false, _null, t3, result, false, _null, true, false, theme.focusColor, _null, theme.highlightColor, B.BoxShape_1, theme.hoverColor, _null, t2, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null, t4, theme.splashColor, _null);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, true, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t4, _null);
    }
  };
  A.Ink.prototype = {
    get$_ink_decoration$_paddingIncludingDecoration() {
      var t1 = this.decoration;
      if (t1 == null || t1.get$padding(t1) == null)
        return B.EdgeInsets_0_0_0_0;
      t1 = t1.get$padding(t1);
      t1.toString;
      return t1;
    },
    createState$0() {
      return new A._InkState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), B._StateLifecycle_0);
    }
  };
  A._InkState.prototype = {
    _handleRemoved$0() {
      this._ink = null;
    },
    deactivate$0() {
      var t2,
        t1 = this._ink;
      if (t1 != null) {
        t2 = t1._ink_decoration$_painter;
        if (t2 != null)
          t2.dispose$0();
        t1.super$InkFeature$dispose();
      }
      this.super$State$deactivate();
    },
    _build$1(context) {
      var t3, t4, _this = this,
        t1 = _this._ink,
        t2 = _this._widget;
      if (t1 == null) {
        t1 = t2.decoration;
        t2 = A.createLocalImageConfiguration(context, null);
        t3 = context.findAncestorRenderObjectOfType$1$0(type$._RenderInkFeatures);
        t3.toString;
        t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this._boxKey).get$renderObject();
        t4.toString;
        t4 = new A.InkDecoration(t2, t3, type$.RenderBox._as(t4), _this.get$_handleRemoved());
        t4.set$decoration(t1);
        t3.addInkFeature$1(t4);
        _this._ink = t4;
      } else {
        t1.set$decoration(t2.decoration);
        t1 = _this._ink;
        t1.toString;
        t1.set$configuration(A.createLocalImageConfiguration(context, null));
      }
      t1 = _this._widget.child;
      return t1;
    },
    build$1(context) {
      var _this = this,
        t1 = _this._widget.get$_ink_decoration$_paddingIncludingDecoration();
      _this._widget.toString;
      return new A.Padding(t1, new A.Builder(_this.get$_build(), null), _this._boxKey);
    }
  };
  A.InkDecoration.prototype = {
    set$decoration(value) {
      var t1, _this = this;
      if (J.$eq$(value, _this._ink_decoration$_decoration))
        return;
      _this._ink_decoration$_decoration = value;
      t1 = _this._ink_decoration$_painter;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this._ink_decoration$_decoration;
      _this._ink_decoration$_painter = t1 == null ? null : t1.createBoxPainter$1(_this.get$_ink_decoration$_handleChanged());
      _this._material$_controller.markNeedsPaint$0();
    },
    set$configuration(value) {
      if (value.$eq(0, this._ink_decoration$_configuration))
        return;
      this._ink_decoration$_configuration = value;
      this._material$_controller.markNeedsPaint$0();
    },
    _ink_decoration$_handleChanged$0() {
      this._material$_controller.markNeedsPaint$0();
    },
    paintFeature$2(canvas, transform) {
      var originOffset, t1, t2, sizedConfiguration, _this = this;
      if (_this._ink_decoration$_painter == null)
        return;
      originOffset = A.MatrixUtils_getAsTranslation(transform);
      t1 = _this._ink_decoration$_configuration;
      t2 = _this.referenceBox._box$_size;
      t2.toString;
      sizedConfiguration = t1.copyWith$1$size(t2);
      if (originOffset == null) {
        canvas.save$0(0);
        canvas.transform$1(0, transform._m4storage);
        _this._ink_decoration$_painter.paint$3(canvas, B.Offset_0_0, sizedConfiguration);
        canvas.restore$0(0);
      } else
        _this._ink_decoration$_painter.paint$3(canvas, originOffset, sizedConfiguration);
    }
  };
  A.InkHighlight.prototype = {
    _handleAlphaStatusChanged$1($status) {
      var t1;
      if ($status === B.AnimationStatus_0 && !this._active) {
        t1 = this.__InkHighlight__alphaController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.dispose$0();
        this.super$InkFeature$dispose();
      }
    },
    dispose$0() {
      var t1 = this.__InkHighlight__alphaController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$InkFeature$dispose();
    },
    _paintHighlight$3(canvas, rect, paint) {
      var t1, t2, _this = this;
      canvas.save$0(0);
      t1 = _this._customBorder;
      if (t1 != null)
        canvas.clipPath$1(0, t1.getOuterPath$2$textDirection(rect, _this._ink_highlight$_textDirection));
      switch (_this._ink_highlight$_shape.index) {
        case 1:
          t1 = rect.get$center();
          t2 = _this._ink_highlight$_radius;
          canvas.drawCircle$3(t1, t2 == null ? 35 : t2, paint);
          break;
        case 0:
          t1 = _this._ink_highlight$_borderRadius;
          if (!t1.$eq(0, B.BorderRadius_tLn))
            canvas.drawRRect$2(A.RRect$fromRectAndCorners(rect, t1.bottomLeft, t1.bottomRight, t1.topLeft, t1.topRight), paint);
          else
            canvas.drawRect$2(rect, paint);
          break;
      }
      canvas.restore$0(0);
    },
    paintFeature$2(canvas, transform) {
      var t3, originOffset, rect, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()),
        t1 = _this._ink_well$_color,
        t2 = _this.__InkHighlight__alpha;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      paint.set$color(0, A.Color$fromARGB(t2._evaluatable.transform$1(0, t3.get$value(t3)), t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255));
      originOffset = A.MatrixUtils_getAsTranslation(transform);
      t1 = _this._rectCallback;
      if (t1 != null)
        rect = t1.call$0();
      else {
        t1 = _this.referenceBox._box$_size;
        rect = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      }
      if (originOffset == null) {
        canvas.save$0(0);
        canvas.transform$1(0, transform._m4storage);
        _this._paintHighlight$3(canvas, rect, paint);
        canvas.restore$0(0);
      } else
        _this._paintHighlight$3(canvas, rect.shift$1(originOffset), paint);
    }
  };
  A._getClipCallback_closure.prototype = {
    call$0() {
      var t1 = this.referenceBox._box$_size;
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    $signature: 151
  };
  A._InkRippleFactory.prototype = {
    create$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection(_, borderRadius, color, containedInkWell, controller, customBorder, onRemoved, position, radius, rectCallback, referenceBox, textDirection) {
      var t2, size, t3, t4, t5, t6, t7, t8, t9, t10, _null = null,
        t1 = borderRadius == null ? B.BorderRadius_tLn : borderRadius;
      if (radius == null) {
        if (rectCallback != null) {
          t2 = rectCallback.call$0();
          size = new A.Size(t2.right - t2.left, t2.bottom - t2.top);
        } else {
          t2 = referenceBox._box$_size;
          t2.toString;
          size = t2;
        }
        t2 = Math.max(size.bottomRight$1(0, B.Offset_0_0).get$distance(), new A.Offset(0 + size._dx, 0).$sub(0, new A.Offset(0, 0 + size._dy)).get$distance()) / 2;
      } else
        t2 = radius;
      t1 = new A.InkRipple(position, t1, customBorder, t2, A._getClipCallback(referenceBox, containedInkWell, rectCallback), textDirection, color, controller, referenceBox, onRemoved);
      t3 = controller.vsync;
      t4 = A.AnimationController$(_null, B.Duration_75000, 0, _null, 1, _null, t3);
      t5 = controller.get$markNeedsPaint();
      t4.didRegisterListener$0();
      t6 = t4.AnimationLocalListenersMixin__listeners;
      t6._isDirty = true;
      t6._list.push(t5);
      t4.forward$0(0);
      t1.__InkRipple__fadeInController = t4;
      t6 = color.get$value(color);
      t7 = type$.Animation_double;
      t8 = type$.IntTween;
      t1.__InkRipple__fadeIn = new A._AnimatedEvaluation(t7._as(t4), new A.IntTween(0, t6 >>> 24 & 255), t8._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t6 = A.AnimationController$(_null, B.Duration_1000000, 0, _null, 1, _null, t3);
      t6.didRegisterListener$0();
      t4 = t6.AnimationLocalListenersMixin__listeners;
      t4._isDirty = true;
      t4._list.push(t5);
      t6.forward$0(0);
      t1.__InkRipple__radiusController = t6;
      t4 = type$.Tween_double;
      t9 = $.$get$InkRipple__easeCurveTween();
      t10 = t4._eval$1("_ChainedEvaluation<Animatable.T>");
      t1.__InkRipple__radius = new A._AnimatedEvaluation(t7._as(t6), new A._ChainedEvaluation(t9, new A.Tween(t2 * 0.3, t2 + 5, t4), t10), t10._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t3 = A.AnimationController$(_null, B.Duration_375000, 0, _null, 1, _null, t3);
      t3.didRegisterListener$0();
      t10 = t3.AnimationLocalListenersMixin__listeners;
      t10._isDirty = true;
      t10._list.push(t5);
      t3.didRegisterListener$0();
      t5 = t3.AnimationLocalStatusListenersMixin__statusListeners;
      t5._isDirty = true;
      t5._list.push(t1.get$_ink_ripple$_handleAlphaStatusChanged());
      t1.__InkRipple__fadeOutController = t3;
      t5 = color.get$value(color);
      t10 = $.$get$InkRipple__fadeOutIntervalTween();
      t8 = t8._eval$1("_ChainedEvaluation<Animatable.T>");
      t1.__InkRipple__fadeOut = new A._AnimatedEvaluation(t7._as(t3), new A._ChainedEvaluation(t10, new A.IntTween(t5 >>> 24 & 255, 0), t8), t8._eval$1("_AnimatedEvaluation<Animatable.T>"));
      controller.addInkFeature$1(t1);
      return t1;
    }
  };
  A.InkRipple.prototype = {
    confirm$0(_) {
      var t1 = this.__InkRipple__radiusController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.duration = B.Duration_225000;
      t1.forward$0(0);
      t1 = this.__InkRipple__fadeInController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0);
      t1 = this.__InkRipple__fadeOutController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._direction = B._AnimationDirection_0;
      t1._animateToInternal$3$curve$duration(1, B.C__Linear, B.Duration_375000);
    },
    cancel$0(_) {
      var fadeOutValue, _this = this,
        t1 = _this.__InkRipple__fadeInController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.stop$0(0);
      t1 = _this.__InkRipple__fadeInController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      fadeOutValue = 1 - t1;
      t1 = _this.__InkRipple__fadeOutController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.set$value(0, fadeOutValue);
      if (fadeOutValue < 1) {
        t1 = _this.__InkRipple__fadeOutController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1._direction = B._AnimationDirection_0;
        t1._animateToInternal$3$curve$duration(1, B.C__Linear, B.Duration_75000);
      }
    },
    _ink_ripple$_handleAlphaStatusChanged$1($status) {
      if ($status === B.AnimationStatus_3)
        this.dispose$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.__InkRipple__radiusController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.__InkRipple__fadeInController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.__InkRipple__fadeOutController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$InkFeature$dispose();
    },
    paintFeature$2(canvas, transform) {
      var t2, alpha, paint, t3, _this = this,
        t1 = _this.__InkRipple__fadeInController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._ticker;
      if (t1 != null && t1._ticker$_future != null) {
        t1 = _this.__InkRipple__fadeIn;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.parent;
        alpha = t1._evaluatable.transform$1(0, t2.get$value(t2));
      } else {
        t1 = _this.__InkRipple__fadeOut;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.parent;
        alpha = t1._evaluatable.transform$1(0, t2.get$value(t2));
      }
      paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t1 = _this._ink_well$_color;
      paint.set$color(0, A.Color$fromARGB(alpha, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255));
      t1 = _this.referenceBox._box$_size.center$1(B.Offset_0_0);
      t2 = _this.__InkRipple__radiusController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.Offset_lerp(_this._ink_ripple$_position, t1, B.Cubic_JUR.transform$1(0, t2));
      t2.toString;
      t1 = _this.__InkRipple__radius;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1.parent;
      _this.paintInkCircle$9$borderRadius$canvas$center$clipCallback$customBorder$paint$radius$textDirection$transform(_this._ink_ripple$_borderRadius, canvas, t2, _this._clipCallback, _this._ink_ripple$_customBorder, paint, t1._evaluatable.transform$1(0, t3.get$value(t3)), _this._ink_ripple$_textDirection, transform);
    }
  };
  A._getClipCallback_closure0.prototype = {
    call$0() {
      var t1 = this.referenceBox._box$_size;
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    $signature: 151
  };
  A._InkSplashFactory.prototype = {
    create$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection(_, borderRadius, color, containedInkWell, controller, customBorder, onRemoved, position, radius, rectCallback, referenceBox, textDirection) {
      var t3, t4, t5, t6, t7, _null = null,
        t1 = borderRadius == null ? B.BorderRadius_tLn : borderRadius,
        t2 = radius == null ? A._getTargetRadius(referenceBox, containedInkWell, rectCallback, position) : radius;
      t1 = new A.InkSplash(position, t1, customBorder, t2, A._getClipCallback0(referenceBox, containedInkWell, rectCallback), !containedInkWell, textDirection, color, controller, referenceBox, onRemoved);
      t3 = controller.vsync;
      t4 = A.AnimationController$(_null, B.Duration_1000000, 0, _null, 1, _null, t3);
      t5 = controller.get$markNeedsPaint();
      t4.didRegisterListener$0();
      t6 = t4.AnimationLocalListenersMixin__listeners;
      t6._isDirty = true;
      t6._list.push(t5);
      t4.forward$0(0);
      t1.__InkSplash__radiusController = t4;
      t6 = type$.Tween_double;
      t7 = type$.Animation_double;
      t1.__InkSplash__radius = new A._AnimatedEvaluation(t7._as(t4), new A.Tween(0, t2, t6), t6._eval$1("_AnimatedEvaluation<Animatable.T>"));
      t3 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, t3);
      t3.didRegisterListener$0();
      t6 = t3.AnimationLocalListenersMixin__listeners;
      t6._isDirty = true;
      t6._list.push(t5);
      t3.didRegisterListener$0();
      t5 = t3.AnimationLocalStatusListenersMixin__statusListeners;
      t5._isDirty = true;
      t5._list.push(t1.get$_ink_splash$_handleAlphaStatusChanged());
      t1._alphaController = t3;
      t5 = color.get$value(color);
      t1.__InkSplash__alpha = new A._AnimatedEvaluation(t7._as(t3), new A.IntTween(t5 >>> 24 & 255, 0), type$.IntTween._eval$1("_AnimatedEvaluation<Animatable.T>"));
      controller.addInkFeature$1(t1);
      return t1;
    }
  };
  A.InkSplash.prototype = {
    confirm$0(_) {
      var duration = B.JSNumber_methods.floor$0(this._targetRadius / 1),
        t1 = this.__InkSplash__radiusController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.duration = A.Duration$(0, duration);
      t1.forward$0(0);
      this._alphaController.forward$0(0);
    },
    cancel$0(_) {
      var t1 = this._alphaController;
      if (t1 != null)
        t1.forward$0(0);
    },
    _ink_splash$_handleAlphaStatusChanged$1($status) {
      if ($status === B.AnimationStatus_3)
        this.dispose$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.__InkSplash__radiusController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this._alphaController.dispose$0();
      _this._alphaController = null;
      _this.super$InkFeature$dispose();
    },
    paintFeature$2(canvas, transform) {
      var t3, center, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()),
        t1 = _this._ink_well$_color,
        t2 = _this.__InkSplash__alpha;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      paint.set$color(0, A.Color$fromARGB(t2._evaluatable.transform$1(0, t3.get$value(t3)), t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255));
      center = _this._ink_splash$_position;
      if (_this._repositionToReferenceBox) {
        t1 = _this.referenceBox._box$_size.center$1(B.Offset_0_0);
        t2 = _this.__InkSplash__radiusController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.__AnimationController__value;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        center = A.Offset_lerp(center, t1, t2);
      }
      center.toString;
      t1 = _this.__InkSplash__radius;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.parent;
      _this.paintInkCircle$9$borderRadius$canvas$center$clipCallback$customBorder$paint$radius$textDirection$transform(_this._ink_splash$_borderRadius, canvas, center, _this._ink_splash$_clipCallback, _this._ink_splash$_customBorder, paint, t1._evaluatable.transform$1(0, t2.get$value(t2)), _this._ink_splash$_textDirection, transform);
    }
  };
  A.InteractiveInkFeature.prototype = {
    confirm$0(_) {
    },
    cancel$0(_) {
    },
    set$color(_, value) {
      if (value.$eq(0, this._ink_well$_color))
        return;
      this._ink_well$_color = value;
      this._material$_controller.markNeedsPaint$0();
    },
    paintInkCircle$9$borderRadius$canvas$center$clipCallback$customBorder$paint$radius$textDirection$transform(borderRadius, canvas, center, clipCallback, customBorder, paint, radius, textDirection, transform) {
      var rect,
        originOffset = A.MatrixUtils_getAsTranslation(transform);
      canvas.save$0(0);
      if (originOffset == null)
        canvas.transform$1(0, transform._m4storage);
      else
        canvas.translate$2(0, originOffset._dx, originOffset._dy);
      if (clipCallback != null) {
        rect = clipCallback.call$0();
        if (customBorder != null)
          canvas.clipPath$1(0, customBorder.getOuterPath$2$textDirection(rect, textDirection));
        else if (!borderRadius.$eq(0, B.BorderRadius_tLn))
          canvas.clipRRect$1(A.RRect$fromRectAndCorners(rect, borderRadius.bottomLeft, borderRadius.bottomRight, borderRadius.topLeft, borderRadius.topRight));
        else
          canvas.clipRect$1(rect);
      }
      canvas.drawCircle$3(center, radius, paint);
      canvas.restore$0(0);
    }
  };
  A.InteractiveInkFeatureFactory.prototype = {};
  A._ParentInkResponseProvider.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.state !== oldWidget.state;
    }
  };
  A.InkResponse.prototype = {
    getRectCallback$1(referenceBox) {
      return null;
    },
    build$1(context) {
      var _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$._ParentInkResponseProvider),
        parentState = t1 == null ? null : t1.state;
      return new A._InkResponseStateWidget(_this.child, _this.onTap, _this.onTapDown, _this.onTapUp, _this.onTapCancel, _this.onDoubleTap, _this.onLongPress, _this.onHighlightChanged, _this.onHover, _this.mouseCursor, _this.containedInkWell, _this.highlightShape, _this.radius, _this.borderRadius, _this.customBorder, _this.focusColor, _this.hoverColor, _this.highlightColor, _this.overlayColor, _this.splashColor, _this.splashFactory, _this.enableFeedback, false, _this.onFocusChange, _this.autofocus, _this.focusNode, _this.canRequestFocus, parentState, _this.get$getRectCallback(), _this.get$debugCheckContext(), null);
    },
    debugCheckContext$1(context) {
      return true;
    }
  };
  A._InkResponseStateWidget.prototype = {
    createState$0() {
      return new A._InkResponseState(A.LinkedHashMap_LinkedHashMap$_empty(type$._HighlightType, type$.nullable_InkHighlight), new A.ObserverList(A._setArrayType([], type$.JSArray__ParentInkResponseState), type$.ObserverList__ParentInkResponseState), null, B._StateLifecycle_0);
    }
  };
  A._HighlightType.prototype = {
    toString$0(_) {
      return "_HighlightType." + this._core$_name;
    }
  };
  A._InkResponseState.prototype = {
    get$highlightsExist() {
      var t1 = this._highlights;
      t1 = t1.get$values(t1);
      t1 = new A.WhereIterable(t1, new A._InkResponseState_highlightsExist_closure(), A._instanceType(t1)._eval$1("WhereIterable<Iterable.E>"));
      return !t1.get$isEmpty(t1);
    },
    markChildInkResponsePressed$2(childState, value) {
      var nowAnyPressed,
        t1 = this._activeChildren,
        t2 = t1._list,
        t3 = t2.length;
      if (value) {
        t1._isDirty = true;
        t2.push(childState);
      } else
        t1.remove$1(0, childState);
      nowAnyPressed = t2.length !== 0;
      if (nowAnyPressed !== (t3 !== 0)) {
        t1 = this._widget.parentState;
        if (t1 != null)
          t1.markChildInkResponsePressed$2(this, nowAnyPressed);
      }
    },
    _simulateTap$1(intent) {
      var t1 = this._framework$_element;
      t1.toString;
      this._startNewSplash$1$context(t1);
      this._handleTap$0();
    },
    _simulateTap$0() {
      return this._simulateTap$1(null);
    },
    _simulateLongPress$0() {
      var t1 = this._framework$_element;
      t1.toString;
      this._startNewSplash$1$context(t1);
      this._handleLongPress$0();
    },
    initState$0() {
      this.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$initState();
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._focus_manager$_listeners.add$1(0, this.get$_handleFocusHighlightModeChange());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t1.toString;
      if (_this._isWidgetEnabled$1(t1) !== _this._isWidgetEnabled$1(oldWidget)) {
        t1 = _this._widget;
        t1.toString;
        if (_this._isWidgetEnabled$1(t1))
          _this.updateHighlight$3$callOnHover$value(B._HighlightType_1, false, _this._hovering);
        _this._updateFocusHighlights$0();
      }
    },
    dispose$0() {
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._focus_manager$_listeners.remove$1(0, this.get$_handleFocusHighlightModeChange());
      this.super$State$dispose();
    },
    get$wantKeepAlive() {
      if (!this.get$highlightsExist()) {
        var t1 = this._splashes;
        t1 = t1 != null && t1._collection$_length !== 0;
      } else
        t1 = true;
      return t1;
    },
    getHighlightColorForType$1(type) {
      var theme, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      theme = A.Theme_of(t1);
      switch (type.index) {
        case 0:
          t1 = _this._widget.overlayColor;
          t1 = t1 == null ? null : t1.resolve$1(B.Set_cMbP4);
          if (t1 == null)
            t1 = _this._widget.highlightColor;
          return t1 == null ? theme.highlightColor : t1;
        case 2:
          t1 = _this._widget.overlayColor;
          t1 = t1 == null ? null : t1.resolve$1(B.Set_YGDIm);
          if (t1 == null)
            t1 = _this._widget.focusColor;
          return t1 == null ? theme.focusColor : t1;
        case 1:
          t1 = _this._widget.overlayColor;
          t1 = t1 == null ? null : t1.resolve$1(B.Set_WLNEa);
          if (t1 == null)
            t1 = _this._widget.hoverColor;
          return t1 == null ? theme.hoverColor : t1;
      }
    },
    getFadeDurationForType$1(type) {
      switch (type.index) {
        case 0:
          return B.Duration_200000;
        case 1:
        case 2:
          return B.Duration_50000;
      }
    },
    updateHighlight$3$callOnHover$value(type, callOnHover, value) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _this = this,
        t1 = _this._highlights,
        highlight = t1.$index(0, type);
      if (type === B._HighlightType_0) {
        t2 = _this._widget.parentState;
        if (t2 != null)
          t2.markChildInkResponsePressed$2(_this, value);
      }
      t2 = highlight == null;
      if (value === (!t2 && highlight._active))
        return;
      if (value)
        if (t2) {
          t2 = _this._framework$_element.get$renderObject();
          t2.toString;
          type$.RenderBox._as(t2);
          t3 = _this._framework$_element.findAncestorRenderObjectOfType$1$0(type$._RenderInkFeatures);
          t3.toString;
          t4 = _this.getHighlightColorForType$1(type);
          t5 = _this._widget;
          t6 = t5.highlightShape;
          t7 = t5.radius;
          t8 = t5.borderRadius;
          t9 = t5.customBorder;
          t5 = t5.getRectCallback.call$1(t2);
          t10 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t10.toString;
          t11 = _this.getFadeDurationForType$1(type);
          if (t8 == null)
            t8 = B.BorderRadius_tLn;
          t2 = new A.InkHighlight(t6, t7, t8, t9, t5, t10.textDirection, t4, t3, t2, new A._InkResponseState_updateHighlight_handleInkRemoval(_this, type));
          t11 = A.AnimationController$(null, t11, 0, null, 1, null, t3.vsync);
          t11.didRegisterListener$0();
          t10 = t11.AnimationLocalListenersMixin__listeners;
          t10._isDirty = true;
          t10._list.push(t3.get$markNeedsPaint());
          t11.didRegisterListener$0();
          t10 = t11.AnimationLocalStatusListenersMixin__statusListeners;
          t10._isDirty = true;
          t10._list.push(t2.get$_handleAlphaStatusChanged());
          t11.forward$0(0);
          t2.__InkHighlight__alphaController = t11;
          t4 = t4.get$value(t4);
          t2.__InkHighlight__alpha = new A._AnimatedEvaluation(type$.Animation_double._as(t11), new A.IntTween(0, t4 >>> 24 & 255), type$.IntTween._eval$1("_AnimatedEvaluation<Animatable.T>"));
          t3.addInkFeature$1(t2);
          t1.$indexSet(0, type, t2);
          _this.updateKeepAlive$0();
        } else {
          highlight._active = true;
          t1 = highlight.__InkHighlight__alphaController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.forward$0(0);
        }
      else {
        highlight._active = false;
        t1 = highlight.__InkHighlight__alphaController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.reverse$0(0);
      }
      switch (type.index) {
        case 0:
          t1 = _this._widget.onHighlightChanged;
          if (t1 != null)
            t1.call$1(value);
          break;
        case 1:
          if (callOnHover) {
            t1 = _this._widget.onHover;
            if (t1 != null)
              t1.call$1(value);
          }
          break;
        case 2:
          break;
      }
    },
    updateHighlight$2$value(type, value) {
      return this.updateHighlight$3$callOnHover$value(type, true, value);
    },
    _createInkFeature$1(globalPosition) {
      var t3, position, t4, color, rectCallback, borderRadius, customBorder, t5, t6, t7, _this = this, t1 = {},
        t2 = _this._framework$_element.findAncestorRenderObjectOfType$1$0(type$._RenderInkFeatures);
      t2.toString;
      t3 = _this._framework$_element.get$renderObject();
      t3.toString;
      type$.RenderBox._as(t3);
      position = t3.globalToLocal$1(globalPosition);
      t4 = _this._widget.overlayColor;
      t4 = t4 == null ? null : t4.resolve$1(B.Set_cMbP4);
      color = t4 == null ? _this._widget.splashColor : t4;
      if (color == null) {
        t4 = _this._framework$_element;
        t4.toString;
        color = A.Theme_of(t4).splashColor;
      }
      t4 = _this._widget;
      rectCallback = t4.containedInkWell ? t4.getRectCallback.call$1(t3) : null;
      t4 = _this._widget;
      borderRadius = t4.borderRadius;
      customBorder = t4.customBorder;
      t1.splash = null;
      t4 = t4.splashFactory;
      if (t4 == null) {
        t4 = _this._framework$_element;
        t4.toString;
        t4 = A.Theme_of(t4).splashFactory;
      }
      t5 = _this._widget;
      t6 = t5.containedInkWell;
      t5 = t5.radius;
      t7 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t7.toString;
      return t1.splash = t4.create$11$borderRadius$color$containedInkWell$controller$customBorder$onRemoved$position$radius$rectCallback$referenceBox$textDirection(0, borderRadius, color, t6, t2, customBorder, new A._InkResponseState__createInkFeature_onRemoved(t1, _this), position, t5, rectCallback, t3, t7.textDirection);
    },
    _handleFocusHighlightModeChange$1(mode) {
      if (this._framework$_element == null)
        return;
      this.setState$1(new A._InkResponseState__handleFocusHighlightModeChange_closure(this));
    },
    get$_shouldShowFocus() {
      var mode, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch ((mode == null ? B.NavigationMode_0 : mode).index) {
        case 0:
          t1 = _this._widget;
          t1.toString;
          return _this._isWidgetEnabled$1(t1) && _this._hasFocus;
        case 1:
          return _this._hasFocus;
      }
    },
    _updateFocusHighlights$0() {
      var showFocus,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      switch ((t1 == null ? A.FocusManager__defaultModeForPlatform() : t1).index) {
        case 0:
          showFocus = false;
          break;
        case 1:
          showFocus = this.get$_shouldShowFocus();
          break;
        default:
          showFocus = null;
      }
      this.updateHighlight$2$value(B._HighlightType_2, showFocus);
    },
    _handleFocusUpdate$1(hasFocus) {
      var t1;
      this._hasFocus = hasFocus;
      this._updateFocusHighlights$0();
      t1 = this._widget.onFocusChange;
      if (t1 != null)
        t1.call$1(hasFocus);
    },
    _handleTapDown$1(details) {
      if (this._activeChildren._list.length !== 0)
        return;
      this._startNewSplash$1$details(details);
      this._widget.toString;
    },
    _handleTapUp$1(details) {
      this._widget.toString;
    },
    _startNewSplash$2$context$details(context, details) {
      var t1, t2, globalPosition, splash, _this = this;
      if (context != null) {
        t1 = context.get$renderObject();
        t1.toString;
        type$.RenderBox._as(t1);
        t2 = t1._box$_size;
        t2 = new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy).get$center();
        globalPosition = A.MatrixUtils_transformPoint(t1.getTransformTo$1(0, null), t2);
      } else
        globalPosition = details.globalPosition;
      splash = _this._createInkFeature$1(globalPosition);
      t1 = _this._splashes;
      (t1 == null ? _this._splashes = A.HashSet_HashSet(type$.InteractiveInkFeature) : t1).add$1(0, splash);
      t1 = _this._currentSplash;
      if (t1 != null)
        t1.cancel$0(0);
      _this._currentSplash = splash;
      _this.updateKeepAlive$0();
      _this.updateHighlight$2$value(B._HighlightType_0, true);
    },
    _startNewSplash$1$details(details) {
      return this._startNewSplash$2$context$details(null, details);
    },
    _startNewSplash$1$context(context) {
      return this._startNewSplash$2$context$details(context, null);
    },
    _handleTap$0() {
      var _this = this,
        t1 = _this._currentSplash;
      if (t1 != null)
        t1.confirm$0(0);
      _this._currentSplash = null;
      _this.updateHighlight$2$value(B._HighlightType_0, false);
      t1 = _this._widget;
      if (t1.onTap != null) {
        if (t1.enableFeedback) {
          t1 = _this._framework$_element;
          t1.toString;
          A.Feedback_forTap(t1);
        }
        t1 = _this._widget.onTap;
        if (t1 != null)
          t1.call$0();
      }
    },
    _handleTapCancel$0() {
      var _this = this,
        t1 = _this._currentSplash;
      if (t1 != null)
        t1.cancel$0(0);
      _this._currentSplash = null;
      _this._widget.toString;
      _this.updateHighlight$2$value(B._HighlightType_0, false);
    },
    _handleDoubleTap$0() {
      var _this = this,
        t1 = _this._currentSplash;
      if (t1 != null)
        t1.confirm$0(0);
      _this._currentSplash = null;
      _this.updateHighlight$2$value(B._HighlightType_0, false);
      t1 = _this._widget.onDoubleTap;
      if (t1 != null)
        t1.call$0();
    },
    _handleLongPress$0() {
      var _this = this,
        t1 = _this._currentSplash;
      if (t1 != null)
        t1.confirm$0(0);
      _this._currentSplash = null;
      t1 = _this._widget;
      if (t1.onLongPress != null) {
        if (t1.enableFeedback) {
          t1 = _this._framework$_element;
          t1.toString;
          A.Feedback_forLongPress(t1);
        }
        _this._widget.onLongPress.call$0();
      }
    },
    deactivate$0() {
      var t2, t3, t4, t5, t6, value, result, _this = this,
        t1 = _this._splashes;
      if (t1 != null) {
        _this._splashes = null;
        for (t2 = A._instanceType(t1), t1 = new A._HashSetIterator(t1, t1._computeElements$0(), t2._eval$1("_HashSetIterator<1>")), t2 = t2._precomputed1; t1.moveNext$0();) {
          t3 = t1._collection$_current;
          (t3 == null ? t2._as(t3) : t3).dispose$0();
        }
        _this._currentSplash = null;
      }
      for (t1 = _this._highlights, t2 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t2.moveNext$0();) {
        t3 = t2.__js_helper$_current;
        t4 = t1.$index(0, t3);
        if (t4 != null) {
          t5 = t4.__InkHighlight__alphaController;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          t5._ticker.dispose$0();
          t5._ticker = null;
          t6 = t5.AnimationLocalStatusListenersMixin__statusListeners;
          t6._isDirty = false;
          B.JSArray_methods.clear$0(t6._list);
          value = t6.__ObserverList__set;
          if (value === $) {
            result = A.HashSet_HashSet(t6.$ti._precomputed1);
            if (t6.__ObserverList__set !== $)
              A.throwUnnamedLateFieldADI();
            t6.__ObserverList__set = result;
            value = result;
          }
          if (value._collection$_length > 0) {
            value._collection$_strings = value._collection$_nums = value._collection$_rest = value._elements = null;
            value._collection$_length = 0;
          }
          t6 = t5.AnimationLocalListenersMixin__listeners;
          t6._isDirty = false;
          B.JSArray_methods.clear$0(t6._list);
          value = t6.__ObserverList__set;
          if (value === $) {
            result = A.HashSet_HashSet(t6.$ti._precomputed1);
            if (t6.__ObserverList__set !== $)
              A.throwUnnamedLateFieldADI();
            t6.__ObserverList__set = result;
            value = result;
          }
          if (value._collection$_length > 0) {
            value._collection$_strings = value._collection$_nums = value._collection$_rest = value._elements = null;
            value._collection$_length = 0;
          }
          t5.super$AnimationEagerListenerMixin$dispose();
          t4.super$InkFeature$dispose();
        }
        t1.$indexSet(0, t3, null);
      }
      t1 = _this._widget.parentState;
      if (t1 != null)
        t1.markChildInkResponsePressed$2(_this, false);
      _this.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$deactivate();
    },
    _isWidgetEnabled$1(widget) {
      return widget.onTap != null || widget.onDoubleTap != null || widget.onLongPress != null || false;
    },
    _handleMouseEnter$1($event) {
      var t1, _this = this;
      _this._hovering = true;
      t1 = _this._widget;
      t1.toString;
      if (_this._isWidgetEnabled$1(t1))
        _this.updateHighlight$2$value(B._HighlightType_1, _this._hovering);
    },
    _handleMouseExit$1($event) {
      this._hovering = false;
      this.updateHighlight$2$value(B._HighlightType_1, false);
    },
    get$_ink_well$_canRequestFocus() {
      var mode, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch ((mode == null ? B.NavigationMode_0 : mode).index) {
        case 0:
          t1 = _this._widget;
          t1.toString;
          return _this._isWidgetEnabled$1(t1) && _this._widget.canRequestFocus;
        case 1:
          return true;
      }
    },
    build$1(context) {
      var t1, t2, t3, t4, effectiveMouseCursor, value, result, t5, t6, t7, t8, t9, t10, t11, t12, _this = this, _null = null;
      _this.super$AutomaticKeepAliveClientMixin$build(context);
      for (t1 = _this._highlights, t2 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t2.moveNext$0();) {
        t3 = t2.__js_helper$_current;
        t4 = t1.$index(0, t3);
        if (t4 != null)
          t4.set$color(0, _this.getHighlightColorForType$1(t3));
      }
      t1 = _this._currentSplash;
      if (t1 != null) {
        t2 = _this._widget.overlayColor;
        t2 = t2 == null ? _null : t2.resolve$1(B.Set_cMbP4);
        if (t2 == null)
          t2 = _this._widget.splashColor;
        t1.set$color(0, t2 == null ? A.Theme_of(context).splashColor : t2);
      }
      t1 = _this._widget;
      t2 = t1.mouseCursor;
      if (t2 == null)
        t2 = B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable;
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this._isWidgetEnabled$1(t1))
        t3.add$1(0, B.MaterialState_6);
      if (_this._hovering) {
        t1 = _this._widget;
        t1.toString;
        t1 = _this._isWidgetEnabled$1(t1);
      } else
        t1 = false;
      if (t1)
        t3.add$1(0, B.MaterialState_0);
      if (_this._hasFocus)
        t3.add$1(0, B.MaterialState_1);
      effectiveMouseCursor = A.MaterialStateProperty_resolveAs(t2, t3, type$.MouseCursor);
      value = _this.___InkResponseState__actionMap;
      if (value === $) {
        t1 = _this.get$_simulateTap();
        t2 = type$.JSArray_of_void_Function_Action_Intent;
        t3 = type$.ObserverList_of_void_Function_Action_Intent;
        result = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_ActivateIntent_OT9, new A.CallbackAction(t1, new A.ObserverList(A._setArrayType([], t2), t3), type$.CallbackAction_ActivateIntent), B.Type_ButtonActivateIntent_6Ij, new A.CallbackAction(t1, new A.ObserverList(A._setArrayType([], t2), t3), type$.CallbackAction_ButtonActivateIntent)], type$.Type, type$.Action_Intent);
        if (_this.___InkResponseState__actionMap !== $)
          A.throwUnnamedLateFieldADI();
        _this.___InkResponseState__actionMap = result;
        value = result;
      }
      t1 = _this._widget.focusNode;
      t2 = _this.get$_ink_well$_canRequestFocus();
      t3 = _this._widget;
      t4 = t3.autofocus;
      t5 = t3.onTap;
      t5 = t5 == null ? _null : _this.get$_simulateTap();
      t6 = t3.onLongPress;
      t6 = t6 == null ? _null : _this.get$_simulateLongPress();
      t3 = _this._isWidgetEnabled$1(t3) ? _this.get$_handleTapDown() : _null;
      t7 = _this._widget;
      t7.toString;
      t7 = _this._isWidgetEnabled$1(t7) ? _this.get$_handleTapUp() : _null;
      t8 = _this._widget;
      t8.toString;
      t8 = _this._isWidgetEnabled$1(t8) ? _this.get$_handleTap() : _null;
      t9 = _this._widget;
      t9.toString;
      t9 = _this._isWidgetEnabled$1(t9) ? _this.get$_handleTapCancel() : _null;
      t10 = _this._widget;
      t11 = t10.onDoubleTap != null ? _this.get$_handleDoubleTap() : _null;
      t12 = t10.onLongPress != null ? _this.get$_handleLongPress() : _null;
      t7 = A.GestureDetector$(B.HitTestBehavior_1, t10.child, B.DragStartBehavior_1, true, _null, t11, _null, _null, _null, _null, _null, t12, _null, _null, _null, t8, t9, t3, t7, _null, _null, _null);
      return new A._ParentInkResponseProvider(_this, A.Actions$(value, A.Focus$(t4, t2, A.MouseRegion$(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t6, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t7, _null), effectiveMouseCursor, _null, _this.get$_handleMouseEnter(), _this.get$_handleMouseExit(), _null), _null, _null, _null, t1, true, _null, _this.get$_handleFocusUpdate(), _null, _null, _null)), _null);
    },
    $is_ParentInkResponseState: 1
  };
  A._InkResponseState_highlightsExist_closure.prototype = {
    call$1(highlight) {
      return highlight != null;
    },
    $signature: 762
  };
  A._InkResponseState_updateHighlight_handleInkRemoval.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._highlights.$indexSet(0, this.type, null);
      t1.updateKeepAlive$0();
    },
    $signature: 0
  };
  A._InkResponseState__createInkFeature_onRemoved.prototype = {
    call$0() {
      var t3,
        t1 = this.$this,
        t2 = t1._splashes;
      if (t2 != null) {
        t3 = this._box_0;
        t2.remove$1(0, t3.splash);
        if (t1._currentSplash == t3.splash)
          t1._currentSplash = null;
        t1.updateKeepAlive$0();
      }
    },
    $signature: 0
  };
  A._InkResponseState__handleFocusHighlightModeChange_closure.prototype = {
    call$0() {
      this.$this._updateFocusHighlights$0();
    },
    $signature: 0
  };
  A.InkWell.prototype = {};
  A.__InkResponseState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      if (this.get$wantKeepAlive())
        this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A.InputBorder.prototype = {};
  A._NoInputBorder.prototype = {
    copyWith$1$borderSide(borderSide) {
      return B._NoInputBorder_Kz0;
    },
    get$isOutline() {
      return false;
    },
    get$dimensions() {
      return B.EdgeInsets_0_0_0_0;
    },
    scale$1(_, t) {
      return B._NoInputBorder_Kz0;
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRect$1(rect);
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRect$1(rect);
      return t1;
    },
    paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, gapExtent, gapPercentage, gapStart, textDirection) {
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      return this.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, 0, 0, null, textDirection);
    }
  };
  A.UnderlineInputBorder.prototype = {
    get$isOutline() {
      return false;
    },
    copyWith$1$borderSide(borderSide) {
      return new A.UnderlineInputBorder(this.borderRadius, borderSide);
    },
    get$dimensions() {
      return new A.EdgeInsets(0, 0, 0, this.borderSide.width);
    },
    scale$1(_, t) {
      return new A.UnderlineInputBorder(B.BorderRadius_tLn1, this.borderSide.scale$1(0, t));
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path(),
        t2 = rect.left,
        t3 = rect.top;
      t1.addRect$1(new A.Rect(t2, t3, t2 + (rect.right - t2), t3 + Math.max(0, rect.bottom - t3 - this.borderSide.width)));
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(this.borderRadius.toRRect$1(rect));
      return t1;
    },
    lerpFrom$2(a, t) {
      var t1, t2;
      if (a instanceof A.UnderlineInputBorder) {
        t1 = A.BorderSide_lerp(a.borderSide, this.borderSide, t);
        t2 = A.BorderRadius_lerp(a.borderRadius, this.borderRadius, t);
        t2.toString;
        return new A.UnderlineInputBorder(t2, t1);
      }
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2;
      if (b instanceof A.UnderlineInputBorder) {
        t1 = A.BorderSide_lerp(this.borderSide, b.borderSide, t);
        t2 = A.BorderRadius_lerp(this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new A.UnderlineInputBorder(t2, t1);
      }
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, gapExtent, gapPercentage, gapStart, textDirection) {
      var t1 = this.borderRadius;
      if (!t1.bottomLeft.$eq(0, B.Radius_0_0) || !t1.bottomRight.$eq(0, B.Radius_0_0))
        canvas.clipPath$1(0, this.getOuterPath$2$textDirection(rect, textDirection));
      t1 = rect.bottom;
      canvas.drawLine$3(new A.Offset(rect.left, t1), new A.Offset(rect.right, t1), this.borderSide.toPaint$0());
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      return this.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, 0, 0, null, textDirection);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.InputBorder && other.borderSide.$eq(0, this.borderSide);
    },
    get$hashCode(_) {
      var t1 = this.borderSide;
      return A.Object_hash(t1.color, t1.width, t1.style, t1.strokeAlign, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.OutlineInputBorder.prototype = {
    get$isOutline() {
      return true;
    },
    copyWith$1$borderSide(borderSide) {
      return new A.OutlineInputBorder(this.gapPadding, this.borderRadius, borderSide);
    },
    get$dimensions() {
      var t1 = this.borderSide.width;
      return new A.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1(_, t) {
      var t1 = this.borderSide.scale$1(0, t);
      return new A.OutlineInputBorder(this.gapPadding * t, this.borderRadius.$mul(0, t), t1);
    },
    lerpFrom$2(a, t) {
      var t1, t2;
      if (a instanceof A.OutlineInputBorder) {
        t1 = A.BorderRadius_lerp(a.borderRadius, this.borderRadius, t);
        t1.toString;
        t2 = A.BorderSide_lerp(a.borderSide, this.borderSide, t);
        return new A.OutlineInputBorder(a.gapPadding, t1, t2);
      }
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2;
      if (b instanceof A.OutlineInputBorder) {
        t1 = A.BorderRadius_lerp(this.borderRadius, b.borderRadius, t);
        t1.toString;
        t2 = A.BorderSide_lerp(this.borderSide, b.borderSide, t);
        return new A.OutlineInputBorder(b.gapPadding, t1, t2);
      }
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(this.borderRadius.toRRect$1(rect).inflate$1(-this.borderSide.width));
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(this.borderRadius.toRRect$1(rect));
      return t1;
    },
    _gapBorderPath$4(canvas, center, start, extent) {
      var t10, t11, t12, t13, t14, t15, t16, tlCornerArcSweep, path, t17, sweep,
        scaledRRect = center.scaleRadii$0(),
        t1 = scaledRRect.left,
        t2 = scaledRRect.top,
        t3 = scaledRRect.tlRadiusX,
        t4 = scaledRRect.tlRadiusY,
        t5 = scaledRRect.right,
        t6 = scaledRRect.trRadiusX,
        t7 = t6 * 2,
        t8 = t5 - t7,
        t9 = scaledRRect.trRadiusY,
        trCorner = new A.Rect(t8, t2, t8 + t7, t2 + t9 * 2);
      t7 = scaledRRect.brRadiusX * 2;
      t8 = t5 - t7;
      t10 = scaledRRect.bottom;
      t11 = scaledRRect.brRadiusY;
      t12 = t11 * 2;
      t13 = t10 - t12;
      t14 = t10 - scaledRRect.blRadiusY * 2;
      t15 = scaledRRect.blRadiusX;
      t16 = t15 * 2;
      tlCornerArcSweep = Math.acos(A.clampDouble(1 - start / t3, 0, 1));
      path = A.Path_Path();
      path.addArc$3(new A.Rect(t1, t2, t1 + t3 * 2, t2 + t4 * 2), 3.141592653589793, tlCornerArcSweep);
      if (start > t3)
        path.lineTo$2(0, t1 + start, t2);
      t3 = start + extent;
      t17 = t5 - t1;
      if (t3 < t17 - t6) {
        path.moveTo$2(0, t1 + start + extent, t2);
        path.lineTo$2(0, t5 - t6, t2);
        path.addArc$3(trCorner, 4.71238898038469, 1.5707963267948966);
      } else if (t3 < t17) {
        sweep = Math.asin(A.clampDouble(1 - (t17 - t3) / t6, 0, 1));
        path.addArc$3(trCorner, 4.71238898038469 + sweep, 1.5707963267948966 - sweep);
      }
      path.moveTo$2(0, t5, t2 + t9);
      path.lineTo$2(0, t5, t10 - t11);
      path.addArc$3(new A.Rect(t8, t13, t8 + t7, t13 + t12), 0, 1.5707963267948966);
      path.lineTo$2(0, t1 + t15, t10);
      path.addArc$3(new A.Rect(t1, t14, t1 + t16, t14 + t16), 1.5707963267948966, 1.5707963267948966);
      path.lineTo$2(0, t1, t2 + t4);
      return path;
    },
    paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, gapExtent, gapPercentage, gapStart, textDirection) {
      var t2, _this = this,
        t1 = _this.borderSide,
        paint = t1.toPaint$0(),
        center = _this.borderRadius.toRRect$1(rect).inflate$1(-(t1.width / 2));
      if (gapStart == null || gapExtent <= 0 || gapPercentage === 0)
        canvas.drawRRect$2(center, paint);
      else {
        t1 = _this.gapPadding;
        t2 = A.lerpDouble(0, gapExtent + t1 * 2, gapPercentage);
        t2.toString;
        switch (textDirection.index) {
          case 0:
            canvas.drawPath$2(_this._gapBorderPath$4(canvas, center, Math.max(0, gapStart + t1 - t2), t2), paint);
            break;
          case 1:
            canvas.drawPath$2(_this._gapBorderPath$4(canvas, center, Math.max(0, gapStart - t1), t2), paint);
            break;
        }
      }
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      return this.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, rect, 0, 0, null, textDirection);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.OutlineInputBorder && other.borderSide.$eq(0, _this.borderSide) && other.borderRadius.$eq(0, _this.borderRadius) && other.gapPadding === _this.gapPadding;
    },
    get$hashCode(_) {
      return A.Object_hash(this.borderSide, this.borderRadius, this.gapPadding, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._InputBorderGap.prototype = {
    set$start(_, value) {
      if (value != this._input_decorator$_start) {
        this._input_decorator$_start = value;
        this.notifyListeners$0();
      }
    },
    set$extent(value) {
      if (value !== this._extent) {
        this._extent = value;
        this.notifyListeners$0();
      }
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A._InputBorderGap && other._input_decorator$_start == _this._input_decorator$_start && other._extent === _this._extent;
    },
    get$hashCode(_) {
      return A.Object_hash(this._input_decorator$_start, this._extent, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A._InputBorderTween.prototype = {
    lerp$1(t) {
      var t1 = A.ShapeBorder_lerp(this.begin, this.end, t);
      t1.toString;
      return type$.InputBorder._as(t1);
    }
  };
  A._InputBorderPainter.prototype = {
    paint$2(canvas, size) {
      var blendedFillColor, t2, t3, _this = this,
        t1 = _this.borderAnimation,
        borderValue = _this.border.transform$1(0, t1.get$value(t1)),
        canvasRect = new A.Rect(0, 0, 0 + size._dx, 0 + size._dy);
      t1 = _this.hoverAnimation;
      t1 = _this.hoverColorTween.transform$1(0, t1.get$value(t1));
      t1.toString;
      blendedFillColor = A.Color_alphaBlend(t1, _this.fillColor);
      if ((blendedFillColor.get$value(blendedFillColor) >>> 24 & 255) > 0) {
        t1 = borderValue.getOuterPath$2$textDirection(canvasRect, _this.textDirection);
        t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t2.set$color(0, blendedFillColor);
        t2.set$style(0, B.PaintingStyle_0);
        canvas.drawPath$2(t1, t2);
      }
      t1 = _this.gap;
      t2 = t1._input_decorator$_start;
      t1 = t1._extent;
      t3 = _this.gapAnimation.__AnimationController__value;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      borderValue.paint$6$gapExtent$gapPercentage$gapStart$textDirection(canvas, canvasRect, t1, t3, t2, _this.textDirection);
    },
    shouldRepaint$1(oldPainter) {
      var _this = this;
      return _this.borderAnimation !== oldPainter.borderAnimation || _this.hoverAnimation !== oldPainter.hoverAnimation || _this.gapAnimation !== oldPainter.gapAnimation || _this.border !== oldPainter.border || !_this.gap.$eq(0, oldPainter.gap) || _this.textDirection !== oldPainter.textDirection;
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A._BorderContainer.prototype = {
    createState$0() {
      return new A._BorderContainerState(null, null, B._StateLifecycle_0);
    }
  };
  A._BorderContainerState.prototype = {
    initState$0() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      _this.___BorderContainerState__hoverColorController = A.AnimationController$(_null, B.Duration_15000, 0, _null, 1, _this._widget.isHovering ? 1 : 0, _this);
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
      _this.___BorderContainerState__controller = t1;
      _this.___BorderContainerState__borderAnimation = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = _this._widget.border;
      _this.___BorderContainerState__border = new A._InputBorderTween(t1, t1);
      t1 = _this.___BorderContainerState__hoverColorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.___BorderContainerState__hoverAnimation = A.CurvedAnimation$(B.C__Linear, t1, _null);
      _this.___BorderContainerState__hoverColorTween = new A.ColorTween(B.Color_0, _this._widget.hoverColor);
    },
    dispose$0() {
      var t1 = this.___BorderContainerState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = this.___BorderContainerState__hoverColorController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__BorderContainerState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.border;
      if (!_this._widget.border.$eq(0, t1)) {
        _this.___BorderContainerState__border = new A._InputBorderTween(t1, _this._widget.border);
        t1 = _this.___BorderContainerState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 0);
        t1.forward$0(0);
      }
      if (!_this._widget.hoverColor.$eq(0, oldWidget.hoverColor))
        _this.___BorderContainerState__hoverColorTween = new A.ColorTween(B.Color_0, _this._widget.hoverColor);
      t1 = _this._widget.isHovering;
      if (t1 !== oldWidget.isHovering) {
        t2 = _this.___BorderContainerState__hoverColorController;
        if (t1) {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.forward$0(0);
        } else {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.reverse$0(0);
        }
      }
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, t7, t8, t9, _this = this,
        t1 = _this.___BorderContainerState__borderAnimation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._widget.gap;
      t3 = _this.___BorderContainerState__hoverColorController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = A._setArrayType([t1, t2, t3], type$.JSArray_Listenable);
      t2 = _this.___BorderContainerState__borderAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = _this.___BorderContainerState__border;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this._widget;
      t5 = t4.gapAnimation;
      t4 = t4.gap;
      t6 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t6.toString;
      t7 = _this._widget.fillColor;
      t8 = _this.___BorderContainerState__hoverColorTween;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t9 = _this.___BorderContainerState__hoverAnimation;
      if (t9 === $)
        A.throwUnnamedLateFieldNI();
      return A.CustomPaint$(null, new A._InputBorderPainter(t2, t1, t5, t4, t6.textDirection, t7, t8, t9, new A._MergingListenable(t3)), null, null, B.Size_0_0);
    }
  };
  A._Shaker.prototype = {
    get$translateX() {
      var t1 = type$.Animation_double._as(this.listenable),
        t = t1.get$value(t1);
      if (t <= 0.25)
        return -t * 4;
      else if (t < 0.75)
        return (t - 0.5) * 4;
      else
        return (1 - t) * 4 * 4;
    },
    build$1(context) {
      return A.Transform$(null, this.child, A.Matrix4_Matrix4$translationValues(this.get$translateX(), 0, 0), true);
    }
  };
  A._HelperError.prototype = {
    createState$0() {
      return new A._HelperErrorState(null, null, B._StateLifecycle_0);
    }
  };
  A._HelperErrorState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      _this.___HelperErrorState__controller = A.AnimationController$(null, B.Duration_200000, 0, null, 1, null, _this);
      if (_this._widget.errorText != null) {
        _this._error = _this._buildError$0();
        t1 = _this.___HelperErrorState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 1);
      }
      t1 = _this.___HelperErrorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(_this.get$_input_decorator$_handleChange());
    },
    dispose$0() {
      var t1 = this.___HelperErrorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__HelperErrorState_State_SingleTickerProviderStateMixin$dispose();
    },
    _input_decorator$_handleChange$0() {
      this.setState$1(new A._HelperErrorState__handleChange_closure());
    },
    didUpdateWidget$1(old) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(old);
      t1 = _this._widget.errorText != null;
      if (t1 !== (old.errorText != null) || false)
        if (t1) {
          _this._error = _this._buildError$0();
          t1 = _this.___HelperErrorState__controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.forward$0(0);
        } else {
          t1 = _this.___HelperErrorState__controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.reverse$0(0);
        }
    },
    _buildError$0() {
      var t2, t3, t4, t5, t6, _null = null,
        t1 = this.___HelperErrorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = new A.Tween(B.Offset_MNd, B.Offset_0_0, type$.Tween_Offset).transform$1(0, t1.get$value(t1));
      t3 = this._widget;
      t4 = t3.errorText;
      t4.toString;
      t5 = t3.errorStyle;
      t6 = t3.textAlign;
      t1 = A.FadeTransition$(false, A.FractionalTranslation$(A.Text$(t4, _null, t3.errorMaxLines, B.TextOverflow_2, _null, _null, t5, t6, _null, _null, _null), true, t2), t1);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, t1, _null);
    },
    build$1(context) {
      var t2, t3, _this = this,
        t1 = _this.___HelperErrorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.get$status(t1) === B.AnimationStatus_0) {
        _this._error = null;
        _this._widget.toString;
        _this._helper = null;
        return B.SizedBox_null_null_null_null;
      }
      t1 = _this.___HelperErrorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.get$status(t1) === B.AnimationStatus_3) {
        _this._helper = null;
        if (_this._widget.errorText != null)
          return _this._error = _this._buildError$0();
        else {
          _this._error = null;
          return B.SizedBox_null_null_null_null;
        }
      }
      t1 = _this._helper;
      if (t1 == null && _this._widget.errorText != null)
        return _this._buildError$0();
      if (_this._error == null)
        _this._widget.toString;
      if (_this._widget.errorText != null) {
        t2 = type$.Tween_double;
        t3 = _this.___HelperErrorState__controller;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        return new A.Stack(B.AlignmentDirectional_m1_m1, null, B.StackFit_0, B.Clip_1, A._setArrayType([A.FadeTransition$(false, t1, new A._AnimatedEvaluation(t3, new A.Tween(1, 0, t2), t2._eval$1("_AnimatedEvaluation<Animatable.T>"))), _this._buildError$0()], type$.JSArray_Widget), null);
      }
      return B.SizedBox_null_null_null_null;
    }
  };
  A._HelperErrorState__handleChange_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.FloatingLabelBehavior.prototype = {
    toString$0(_) {
      return "FloatingLabelBehavior." + this._core$_name;
    }
  };
  A.FloatingLabelAlignment.prototype = {
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(-1);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.FloatingLabelAlignment && true;
    },
    toString$0(_) {
      return A.FloatingLabelAlignment__stringify(-1);
    }
  };
  A._DecorationSlot.prototype = {
    toString$0(_) {
      return "_DecorationSlot." + this._core$_name;
    }
  };
  A._Decoration.prototype = {
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A._Decoration)
        if (other.contentPadding.$eq(0, _this.contentPadding))
          if (other.floatingLabelHeight === _this.floatingLabelHeight)
            if (other.floatingLabelProgress === _this.floatingLabelProgress)
              if (other.floatingLabelAlignment.$eq(0, _this.floatingLabelAlignment))
                if (other.border.$eq(0, _this.border))
                  if (other.borderGap.$eq(0, _this.borderGap))
                    t1 = other.isDense == _this.isDense && other.visualDensity.$eq(0, _this.visualDensity) && J.$eq$(other.icon, _this.icon) && J.$eq$(other.input, _this.input) && J.$eq$(other.label, _this.label) && J.$eq$(other.hint, _this.hint) && J.$eq$(other.prefix, _this.prefix) && J.$eq$(other.suffix, _this.suffix) && J.$eq$(other.prefixIcon, _this.prefixIcon) && J.$eq$(other.suffixIcon, _this.suffixIcon) && other.helperError.super$Object$$eq(0, _this.helperError) && J.$eq$(other.counter, _this.counter) && other.container.super$Object$$eq(0, _this.container);
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.contentPadding, _this.floatingLabelHeight, _this.floatingLabelProgress, _this.floatingLabelAlignment, _this.border, _this.borderGap, false, _this.isDense, _this.visualDensity, _this.icon, _this.input, _this.label, _this.hint, _this.prefix, _this.suffix, _this.prefixIcon, _this.suffixIcon, _this.helperError, _this.counter, _this.container);
    }
  };
  A._RenderDecorationLayout.prototype = {};
  A._RenderDecoration.prototype = {
    get$children(_) {
      var t3,
        t1 = A._setArrayType([], type$.JSArray_RenderBox),
        t2 = this.SlottedContainerRenderObjectMixin__slotToChild;
      if (t2.$index(0, B._DecorationSlot_0) != null) {
        t3 = t2.$index(0, B._DecorationSlot_0);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_1) != null) {
        t3 = t2.$index(0, B._DecorationSlot_1);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_6) != null) {
        t3 = t2.$index(0, B._DecorationSlot_6);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_7) != null) {
        t3 = t2.$index(0, B._DecorationSlot_7);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_4) != null) {
        t3 = t2.$index(0, B._DecorationSlot_4);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_5) != null) {
        t3 = t2.$index(0, B._DecorationSlot_5);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_2) != null) {
        t3 = t2.$index(0, B._DecorationSlot_2);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_3) != null) {
        t3 = t2.$index(0, B._DecorationSlot_3);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_8) != null) {
        t3 = t2.$index(0, B._DecorationSlot_8);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_9) != null) {
        t3 = t2.$index(0, B._DecorationSlot_9);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._DecorationSlot_10) != null) {
        t2 = t2.$index(0, B._DecorationSlot_10);
        t2.toString;
        t1.push(t2);
      }
      return t1;
    },
    set$decoration(value) {
      if (this._input_decorator$_decoration.$eq(0, value))
        return;
      this._input_decorator$_decoration = value;
      this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      if (this._input_decorator$_textDirection === value)
        return;
      this._input_decorator$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$textBaseline(_, value) {
      if (this._input_decorator$_textBaseline === value)
        return;
      this._input_decorator$_textBaseline = value;
      this.markNeedsLayout$0();
    },
    set$textAlignVertical(value) {
      return;
    },
    set$isFocused(value) {
      if (this._isFocused === value)
        return;
      this._isFocused = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$expands(value) {
      return;
    },
    get$_isOutlineAligned() {
      var t1 = this._input_decorator$_decoration.border.get$isOutline();
      return t1;
    },
    visitChildrenForSemantics$1(visitor) {
      var t2,
        t1 = this.SlottedContainerRenderObjectMixin__slotToChild;
      if (t1.$index(0, B._DecorationSlot_0) != null) {
        t2 = t1.$index(0, B._DecorationSlot_0);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_4) != null) {
        t2 = t1.$index(0, B._DecorationSlot_4);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_6) != null) {
        t2 = t1.$index(0, B._DecorationSlot_6);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_2) != null) {
        t2 = t1.$index(0, B._DecorationSlot_2);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_3) != null)
        if (this._isFocused) {
          t2 = t1.$index(0, B._DecorationSlot_3);
          t2.toString;
          visitor.call$1(t2);
        } else if (t1.$index(0, B._DecorationSlot_2) == null) {
          t2 = t1.$index(0, B._DecorationSlot_3);
          t2.toString;
          visitor.call$1(t2);
        }
      if (t1.$index(0, B._DecorationSlot_1) != null) {
        t2 = t1.$index(0, B._DecorationSlot_1);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_7) != null) {
        t2 = t1.$index(0, B._DecorationSlot_7);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_5) != null) {
        t2 = t1.$index(0, B._DecorationSlot_5);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_10) != null) {
        t2 = t1.$index(0, B._DecorationSlot_10);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_8) != null) {
        t2 = t1.$index(0, B._DecorationSlot_8);
        t2.toString;
        visitor.call$1(t2);
      }
      if (t1.$index(0, B._DecorationSlot_9) != null) {
        t1 = t1.$index(0, B._DecorationSlot_9);
        t1.toString;
        visitor.call$1(t1);
      }
    },
    get$sizedByParent() {
      return false;
    },
    _layoutLineBox$2(box, constraints) {
      var t1;
      if (box == null)
        return 0;
      box.layout$2$parentUsesSize(constraints, true);
      t1 = box.getDistanceToBaseline$1(B.TextBaseline_0);
      t1.toString;
      return t1;
    },
    _interpolateThree$4(begin, middle, end, textAlignVertical) {
      var t1 = textAlignVertical.y;
      if (t1 <= 0) {
        if (begin >= middle)
          return middle;
        return begin + (middle - begin) * (t1 + 1);
      }
      if (middle >= end)
        return middle;
      return middle + (end - middle) * t1;
    },
    computeMinIntrinsicWidth$1(height) {
      var t3, t4, t5, t6, t7,
        t1 = this.SlottedContainerRenderObjectMixin__slotToChild,
        t2 = t1.$index(0, B._DecorationSlot_0);
      t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth());
      t3 = this._input_decorator$_decoration;
      t4 = t1.$index(0, B._DecorationSlot_6);
      t4 = t4 == null ? 0 : t4._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t4.get$computeMinIntrinsicWidth());
      t5 = t1.$index(0, B._DecorationSlot_4);
      t5 = t5 == null ? 0 : t5._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t5.get$computeMinIntrinsicWidth());
      t6 = t1.$index(0, B._DecorationSlot_1);
      t6 = t6 == null ? 0 : t6._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t6.get$computeMinIntrinsicWidth());
      t7 = t1.$index(0, B._DecorationSlot_3);
      t7 = t7 == null ? 0 : t7._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t7.get$computeMinIntrinsicWidth());
      t7 = Math.max(t6, t7);
      t6 = t1.$index(0, B._DecorationSlot_5);
      t6 = t6 == null ? 0 : t6._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t6.get$computeMinIntrinsicWidth());
      t1 = t1.$index(0, B._DecorationSlot_7);
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return t2 + t3.contentPadding.left + t4 + t5 + t7 + t6 + t1 + this._input_decorator$_decoration.contentPadding.right;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t3, t4, t5, t6, t7,
        t1 = this.SlottedContainerRenderObjectMixin__slotToChild,
        t2 = t1.$index(0, B._DecorationSlot_0);
      t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth());
      t3 = this._input_decorator$_decoration;
      t4 = t1.$index(0, B._DecorationSlot_6);
      t4 = t4 == null ? 0 : t4._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t4.get$computeMaxIntrinsicWidth());
      t5 = t1.$index(0, B._DecorationSlot_4);
      t5 = t5 == null ? 0 : t5._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t5.get$computeMaxIntrinsicWidth());
      t6 = t1.$index(0, B._DecorationSlot_1);
      t6 = t6 == null ? 0 : t6._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t6.get$computeMaxIntrinsicWidth());
      t7 = t1.$index(0, B._DecorationSlot_3);
      t7 = t7 == null ? 0 : t7._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t7.get$computeMaxIntrinsicWidth());
      t7 = Math.max(t6, t7);
      t6 = t1.$index(0, B._DecorationSlot_5);
      t6 = t6 == null ? 0 : t6._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t6.get$computeMaxIntrinsicWidth());
      t1 = t1.$index(0, B._DecorationSlot_7);
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return t2 + t3.contentPadding.left + t4 + t5 + t7 + t6 + t1 + this._input_decorator$_decoration.contentPadding.right;
    },
    _lineHeight$2(_, width, boxes) {
      var height, _i, box, t1;
      for (height = 0, _i = 0; _i < 2; ++_i) {
        box = boxes[_i];
        if (box == null)
          continue;
        t1 = box._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, box.get$computeMinIntrinsicHeight());
        height = Math.max(t1, height);
      }
      return height;
    },
    computeMinIntrinsicHeight$1(width) {
      var prefixIconHeight, prefixIconWidth, suffixIconHeight, suffixIconWidth, counterHeight, helperErrorAvailableWidth, helperErrorHeight, subtextHeight, prefixHeight, prefixWidth, suffixHeight, suffixWidth, inputMaxHeight, t3, densityOffset, containerHeight, minContainerHeight, _this = this,
        t1 = _this.SlottedContainerRenderObjectMixin__slotToChild,
        t2 = t1.$index(0, B._DecorationSlot_0),
        iconHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t2 = t1.$index(0, B._DecorationSlot_0);
      width = Math.max(width - (t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, iconHeight, t2.get$computeMinIntrinsicWidth())), 0);
      t2 = t1.$index(0, B._DecorationSlot_6);
      prefixIconHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t2 = t1.$index(0, B._DecorationSlot_6);
      prefixIconWidth = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, prefixIconHeight, t2.get$computeMinIntrinsicWidth());
      t2 = t1.$index(0, B._DecorationSlot_7);
      suffixIconHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t2 = t1.$index(0, B._DecorationSlot_7);
      suffixIconWidth = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, suffixIconHeight, t2.get$computeMinIntrinsicWidth());
      width = Math.max(width - _this._input_decorator$_decoration.contentPadding.get$horizontal(), 0);
      t2 = t1.$index(0, B._DecorationSlot_9);
      counterHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t2 = t1.$index(0, B._DecorationSlot_9);
      helperErrorAvailableWidth = Math.max(width - (t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, counterHeight, t2.get$computeMinIntrinsicWidth())), 0);
      t2 = t1.$index(0, B._DecorationSlot_8);
      helperErrorHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, helperErrorAvailableWidth, t2.get$computeMinIntrinsicHeight());
      subtextHeight = Math.max(counterHeight, helperErrorHeight);
      if (subtextHeight > 0)
        subtextHeight += 8;
      t2 = t1.$index(0, B._DecorationSlot_4);
      prefixHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t2 = t1.$index(0, B._DecorationSlot_4);
      prefixWidth = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, prefixHeight, t2.get$computeMinIntrinsicWidth());
      t2 = t1.$index(0, B._DecorationSlot_5);
      suffixHeight = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      t2 = t1.$index(0, B._DecorationSlot_5);
      suffixWidth = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, suffixHeight, t2.get$computeMinIntrinsicWidth());
      t2 = type$.JSArray_double;
      inputMaxHeight = B.JSArray_methods.reduce$1(A._setArrayType([_this._lineHeight$2(0, Math.max(width - prefixWidth - suffixWidth - prefixIconWidth - suffixIconWidth, 0), A._setArrayType([t1.$index(0, B._DecorationSlot_1), t1.$index(0, B._DecorationSlot_3)], type$.JSArray_nullable_RenderBox)), prefixHeight, suffixHeight], t2), B.CONSTANT0);
      t3 = _this._input_decorator$_decoration.visualDensity;
      densityOffset = new A.Offset(t3.horizontal, t3.vertical).$mul(0, 4);
      t3 = _this._input_decorator$_decoration;
      t1 = t1.$index(0, B._DecorationSlot_2) == null ? 0 : _this._input_decorator$_decoration.floatingLabelHeight;
      containerHeight = B.JSArray_methods.reduce$1(A._setArrayType([iconHeight, t3.contentPadding.top + t1 + inputMaxHeight + _this._input_decorator$_decoration.contentPadding.bottom + densityOffset._dy, prefixIconHeight, suffixIconHeight], t2), B.CONSTANT0);
      t1 = _this._input_decorator$_decoration.isDense;
      t1.toString;
      minContainerHeight = t1 || false ? 0 : 48;
      return Math.max(containerHeight, minContainerHeight) + subtextHeight;
    },
    computeMaxIntrinsicHeight$1(width) {
      return this.computeMinIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1(baseline) {
      var t1 = this.SlottedContainerRenderObjectMixin__slotToChild,
        t2 = t1.$index(0, B._DecorationSlot_1).parentData;
      t2.toString;
      t2 = type$.BoxParentData._as(t2).offset._dy;
      t1 = t1.$index(0, B._DecorationSlot_1).computeDistanceToActualBaseline$1(baseline);
      t1.toString;
      return t2 + t1;
    },
    computeDryLayout$1(constraints) {
      return B.Size_0_0;
    },
    performLayout$0() {
      var boxToBaseline, t2, t3, boxConstraints, t4, t5, containerConstraints, contentConstraints, t6, t7, t8, t9, t10, t11, t12, inputWidth, suffixIconWidth, labelWidth, labelHeight, topHeight, counterHeight, helperErrorExists, helperErrorHeight, bottomHeight, densityOffset, hintHeight, inputDirectHeight, inputHeight, inputInternalBaseline, prefixHeight, suffixHeight, fixAboveInput, fixBelowInput, prefixIconHeight, suffixIconHeight, fixIconHeight, contentHeight, minContainerHeight, maxContainerHeight, containerHeight, interactiveAdjustment, overflow, textAlignVerticalFactor, baselineAdjustment, topInputBaseline, maxVerticalOffset, inputBaseline, outlineBaseline, subtextCounterBaseline, subtextCounterHeight, subtextHelperBaseline, subtextHelperHeight, subtextBaseline, subtextHeight, x, centerLayout, baselineLayout, left, right, start, end, labelX, floatWidth, _this = this, _null = null, _box_0 = {},
        t1 = type$.BoxConstraints,
        constraints = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._labelTransform = null;
      boxToBaseline = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_RenderBox, type$.double);
      t2 = constraints.maxWidth;
      t3 = constraints.maxHeight;
      boxConstraints = new A.BoxConstraints(0, t2, 0, t3);
      t4 = _this.SlottedContainerRenderObjectMixin__slotToChild;
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_0), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_0), boxConstraints));
      t5 = t4.$index(0, B._DecorationSlot_0);
      if (t5 == null)
        t5 = B.Size_0_0;
      else {
        t5 = t5._box$_size;
        t5.toString;
      }
      containerConstraints = boxConstraints.copyWith$1$maxWidth(t2 - t5._dx);
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_6), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_6), containerConstraints));
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_7), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_7), containerConstraints));
      contentConstraints = containerConstraints.copyWith$1$maxWidth(containerConstraints.maxWidth - _this._input_decorator$_decoration.contentPadding.get$horizontal());
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_4), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_4), contentConstraints));
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_5), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_5), contentConstraints));
      t5 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      t6 = t4.$index(0, B._DecorationSlot_0);
      if (t6 == null)
        t6 = B.Size_0_0;
      else {
        t6 = t6._box$_size;
        t6.toString;
      }
      t7 = _this._input_decorator$_decoration;
      t8 = t4.$index(0, B._DecorationSlot_6);
      if (t8 == null)
        t8 = B.Size_0_0;
      else {
        t8 = t8._box$_size;
        t8.toString;
      }
      t9 = t4.$index(0, B._DecorationSlot_4);
      if (t9 == null)
        t9 = B.Size_0_0;
      else {
        t9 = t9._box$_size;
        t9.toString;
      }
      t10 = t4.$index(0, B._DecorationSlot_5);
      if (t10 == null)
        t10 = B.Size_0_0;
      else {
        t10 = t10._box$_size;
        t10.toString;
      }
      t11 = t4.$index(0, B._DecorationSlot_7);
      if (t11 == null)
        t11 = B.Size_0_0;
      else {
        t11 = t11._box$_size;
        t11.toString;
      }
      t12 = _this._input_decorator$_decoration;
      inputWidth = Math.max(0, t5.maxWidth - (t6._dx + t7.contentPadding.left + t8._dx + t9._dx + t10._dx + t11._dx + t12.contentPadding.right));
      t12 = A.lerpDouble(1, 1.3333333333333333, t12.floatingLabelProgress);
      t12.toString;
      t11 = t4.$index(0, B._DecorationSlot_7);
      if (t11 == null)
        t5 = B.Size_0_0;
      else {
        t5 = t11._box$_size;
        t5.toString;
      }
      suffixIconWidth = t5._dx;
      if (_this._input_decorator$_decoration.border.get$isOutline()) {
        t5 = A.lerpDouble(suffixIconWidth, 0, _this._input_decorator$_decoration.floatingLabelProgress);
        t5.toString;
        suffixIconWidth = t5;
      }
      t1 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      t5 = t4.$index(0, B._DecorationSlot_0);
      if (t5 == null)
        t5 = B.Size_0_0;
      else {
        t5 = t5._box$_size;
        t5.toString;
      }
      t6 = _this._input_decorator$_decoration;
      t7 = t4.$index(0, B._DecorationSlot_6);
      if (t7 == null)
        t7 = B.Size_0_0;
      else {
        t7 = t7._box$_size;
        t7.toString;
      }
      labelWidth = Math.max(0, t1.maxWidth - (t5._dx + t6.contentPadding.left + t7._dx + suffixIconWidth + _this._input_decorator$_decoration.contentPadding.right));
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_2), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_2), boxConstraints.copyWith$1$maxWidth(labelWidth * t12)));
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_3), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_3), boxConstraints.copyWith$2$maxWidth$minWidth(inputWidth, inputWidth)));
      boxToBaseline.$indexSet(0, t4.$index(0, B._DecorationSlot_9), _this._layoutLineBox$2(t4.$index(0, B._DecorationSlot_9), contentConstraints));
      t12 = t4.$index(0, B._DecorationSlot_8);
      t7 = t4.$index(0, B._DecorationSlot_8);
      t6 = t4.$index(0, B._DecorationSlot_9);
      if (t6 == null)
        t1 = B.Size_0_0;
      else {
        t1 = t6._box$_size;
        t1.toString;
      }
      boxToBaseline.$indexSet(0, t12, _this._layoutLineBox$2(t7, contentConstraints.copyWith$1$maxWidth(Math.max(0, contentConstraints.maxWidth - t1._dx))));
      labelHeight = t4.$index(0, B._DecorationSlot_2) == null ? 0 : _this._input_decorator$_decoration.floatingLabelHeight;
      if (_this._input_decorator$_decoration.border.get$isOutline()) {
        t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_2));
        t1.toString;
        topHeight = Math.max(labelHeight - t1, 0);
      } else
        topHeight = labelHeight;
      if (t4.$index(0, B._DecorationSlot_9) == null)
        counterHeight = 0;
      else {
        t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_9));
        t1.toString;
        counterHeight = t1 + 8;
      }
      t1 = t4.$index(0, B._DecorationSlot_8);
      if (t1 == null)
        t1 = _null;
      else {
        t1 = t1._box$_size;
        t1.toString;
      }
      helperErrorExists = t1 != null && t4.$index(0, B._DecorationSlot_8)._box$_size._dy > 0;
      helperErrorHeight = !helperErrorExists ? 0 : t4.$index(0, B._DecorationSlot_8)._box$_size._dy + 8;
      bottomHeight = Math.max(counterHeight, helperErrorHeight);
      t1 = _this._input_decorator$_decoration.visualDensity;
      densityOffset = new A.Offset(t1.horizontal, t1.vertical).$mul(0, 4);
      t1 = t4.$index(0, B._DecorationSlot_1);
      t5 = t4.$index(0, B._DecorationSlot_1);
      t6 = _this._input_decorator$_decoration.contentPadding;
      t7 = densityOffset._dy;
      t8 = t7 / 2;
      boxToBaseline.$indexSet(0, t1, _this._layoutLineBox$2(t5, boxConstraints.deflate$1(new A.EdgeInsets(0, t6.top + topHeight + t8, 0, t6.bottom + bottomHeight + t8)).copyWith$2$maxWidth$minWidth(inputWidth, inputWidth)));
      hintHeight = t4.$index(0, B._DecorationSlot_3) == null ? 0 : t4.$index(0, B._DecorationSlot_3)._box$_size._dy;
      inputDirectHeight = t4.$index(0, B._DecorationSlot_1) == null ? 0 : t4.$index(0, B._DecorationSlot_1)._box$_size._dy;
      inputHeight = Math.max(hintHeight, inputDirectHeight);
      t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_1));
      t1.toString;
      t5 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_3));
      t5.toString;
      inputInternalBaseline = Math.max(t1, t5);
      t5 = t4.$index(0, B._DecorationSlot_4);
      prefixHeight = t5 == null ? _null : t5._box$_size._dy;
      if (prefixHeight == null)
        prefixHeight = 0;
      t1 = t4.$index(0, B._DecorationSlot_5);
      suffixHeight = t1 == null ? _null : t1._box$_size._dy;
      if (suffixHeight == null)
        suffixHeight = 0;
      t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_4));
      t1.toString;
      t5 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_5));
      t5.toString;
      fixAboveInput = Math.max(0, Math.max(t1, t5) - inputInternalBaseline);
      t5 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_4));
      t5.toString;
      t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_5));
      t1.toString;
      fixBelowInput = Math.max(0, Math.max(prefixHeight - t5, suffixHeight - t1) - (inputHeight - inputInternalBaseline));
      prefixIconHeight = t4.$index(0, B._DecorationSlot_6) == null ? 0 : t4.$index(0, B._DecorationSlot_6)._box$_size._dy;
      suffixIconHeight = t4.$index(0, B._DecorationSlot_7) == null ? 0 : t4.$index(0, B._DecorationSlot_7)._box$_size._dy;
      fixIconHeight = Math.max(prefixIconHeight, suffixIconHeight);
      t1 = _this._input_decorator$_decoration;
      t5 = t1.contentPadding;
      contentHeight = Math.max(fixIconHeight, topHeight + t5.top + fixAboveInput + inputHeight + fixBelowInput + t5.bottom + t7);
      t1 = t1.isDense;
      t1.toString;
      if (!t1)
        t1 = false;
      else
        t1 = true;
      minContainerHeight = t1 ? 0 : 48;
      maxContainerHeight = t3 - bottomHeight;
      containerHeight = Math.min(Math.max(contentHeight, minContainerHeight), maxContainerHeight);
      interactiveAdjustment = minContainerHeight > contentHeight ? (minContainerHeight - contentHeight) / 2 : 0;
      overflow = Math.max(0, contentHeight - maxContainerHeight);
      t1 = _this.get$_isOutlineAligned() ? B.TextAlignVertical_0 : B.TextAlignVertical_m1;
      textAlignVerticalFactor = (t1.y + 1) / 2;
      baselineAdjustment = fixAboveInput - overflow * (1 - textAlignVerticalFactor);
      t1 = _this._input_decorator$_decoration.contentPadding;
      t3 = t1.top;
      topInputBaseline = t3 + topHeight + inputInternalBaseline + baselineAdjustment + interactiveAdjustment;
      maxVerticalOffset = containerHeight - t3 - topHeight - t1.bottom - (fixAboveInput + inputHeight + fixBelowInput);
      inputBaseline = topInputBaseline + maxVerticalOffset * textAlignVerticalFactor + t8;
      t1 = _this.get$_isOutlineAligned() ? B.TextAlignVertical_0 : B.TextAlignVertical_m1;
      outlineBaseline = _this._interpolateThree$4(topInputBaseline, inputInternalBaseline + baselineAdjustment / 2 + (containerHeight - (2 + inputHeight)) / 2, topInputBaseline + maxVerticalOffset, t1);
      if (t4.$index(0, B._DecorationSlot_9) != null) {
        t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_9));
        t1.toString;
        subtextCounterBaseline = containerHeight + 8 + t1;
        subtextCounterHeight = t4.$index(0, B._DecorationSlot_9)._box$_size._dy + 8;
      } else {
        subtextCounterBaseline = 0;
        subtextCounterHeight = 0;
      }
      if (helperErrorExists) {
        t1 = boxToBaseline.$index(0, t4.$index(0, B._DecorationSlot_8));
        t1.toString;
        subtextHelperBaseline = containerHeight + 8 + t1;
        subtextHelperHeight = helperErrorHeight;
      } else {
        subtextHelperBaseline = 0;
        subtextHelperHeight = 0;
      }
      subtextBaseline = Math.max(subtextCounterBaseline, subtextHelperBaseline);
      subtextHeight = Math.max(subtextCounterHeight, subtextHelperHeight);
      if (t4.$index(0, B._DecorationSlot_10) != null) {
        t1 = t4.$index(0, B._DecorationSlot_0);
        if (t1 == null)
          t1 = B.Size_0_0;
        else {
          t1 = t1._box$_size;
          t1.toString;
        }
        containerConstraints = A.BoxConstraints$tightFor(containerHeight, t2 - t1._dx);
        t4.$index(0, B._DecorationSlot_10).layout$2$parentUsesSize(containerConstraints, true);
        switch (_this._input_decorator$_textDirection.index) {
          case 0:
            x = 0;
            break;
          case 1:
            t1 = t4.$index(0, B._DecorationSlot_0);
            if (t1 == null)
              t1 = B.Size_0_0;
            else {
              t1 = t1._box$_size;
              t1.toString;
            }
            x = t1._dx;
            break;
          default:
            x = _null;
        }
        t1 = t4.$index(0, B._DecorationSlot_10).parentData;
        t1.toString;
        type$.BoxParentData._as(t1).offset = new A.Offset(x, 0);
      }
      _box_0.height = null;
      centerLayout = new A._RenderDecoration_performLayout_centerLayout(_box_0);
      _box_0.baseline = null;
      baselineLayout = new A._RenderDecoration_performLayout_baselineLayout(_box_0, new A._RenderDecorationLayout(boxToBaseline, inputBaseline, outlineBaseline, subtextBaseline, containerHeight, subtextHeight));
      t1 = _this._input_decorator$_decoration.contentPadding;
      left = t1.left;
      right = t2 - t1.right;
      _box_0.height = containerHeight;
      _box_0.baseline = _this.get$_isOutlineAligned() ? outlineBaseline : inputBaseline;
      if (t4.$index(0, B._DecorationSlot_0) != null) {
        switch (_this._input_decorator$_textDirection.index) {
          case 0:
            x = t2 - t4.$index(0, B._DecorationSlot_0)._box$_size._dx;
            break;
          case 1:
            x = 0;
            break;
          default:
            x = _null;
        }
        t1 = t4.$index(0, B._DecorationSlot_0);
        t1.toString;
        centerLayout.call$2(t1, x);
      }
      switch (_this._input_decorator$_textDirection.index) {
        case 0:
          t1 = t4.$index(0, B._DecorationSlot_0);
          if (t1 == null)
            t1 = B.Size_0_0;
          else {
            t1 = t1._box$_size;
            t1.toString;
          }
          start = right - t1._dx;
          if (t4.$index(0, B._DecorationSlot_6) != null) {
            start += _this._input_decorator$_decoration.contentPadding.left;
            t1 = t4.$index(0, B._DecorationSlot_6);
            t1.toString;
            start -= centerLayout.call$2(t1, start - t4.$index(0, B._DecorationSlot_6)._box$_size._dx);
          }
          if (t4.$index(0, B._DecorationSlot_2) != null) {
            t1 = t4.$index(0, B._DecorationSlot_2);
            t1.toString;
            centerLayout.call$2(t1, start - t4.$index(0, B._DecorationSlot_2)._box$_size._dx);
          }
          if (t4.$index(0, B._DecorationSlot_4) != null) {
            t1 = t4.$index(0, B._DecorationSlot_4);
            t1.toString;
            start -= baselineLayout.call$2(t1, start - t4.$index(0, B._DecorationSlot_4)._box$_size._dx);
          }
          if (t4.$index(0, B._DecorationSlot_1) != null) {
            t1 = t4.$index(0, B._DecorationSlot_1);
            t1.toString;
            baselineLayout.call$2(t1, start - t4.$index(0, B._DecorationSlot_1)._box$_size._dx);
          }
          if (t4.$index(0, B._DecorationSlot_3) != null) {
            t1 = t4.$index(0, B._DecorationSlot_3);
            t1.toString;
            baselineLayout.call$2(t1, start - t4.$index(0, B._DecorationSlot_3)._box$_size._dx);
          }
          if (t4.$index(0, B._DecorationSlot_7) != null) {
            end = left - _this._input_decorator$_decoration.contentPadding.left;
            t1 = t4.$index(0, B._DecorationSlot_7);
            t1.toString;
            end += centerLayout.call$2(t1, end);
          } else
            end = left;
          if (t4.$index(0, B._DecorationSlot_5) != null) {
            t1 = t4.$index(0, B._DecorationSlot_5);
            t1.toString;
            baselineLayout.call$2(t1, end);
          }
          break;
        case 1:
          t1 = t4.$index(0, B._DecorationSlot_0);
          if (t1 == null)
            t1 = B.Size_0_0;
          else {
            t1 = t1._box$_size;
            t1.toString;
          }
          start = left + t1._dx;
          if (t4.$index(0, B._DecorationSlot_6) != null) {
            start -= _this._input_decorator$_decoration.contentPadding.left;
            t1 = t4.$index(0, B._DecorationSlot_6);
            t1.toString;
            start += centerLayout.call$2(t1, start);
          }
          if (t4.$index(0, B._DecorationSlot_2) != null) {
            t1 = t4.$index(0, B._DecorationSlot_2);
            t1.toString;
            centerLayout.call$2(t1, start);
          }
          if (t4.$index(0, B._DecorationSlot_4) != null) {
            t1 = t4.$index(0, B._DecorationSlot_4);
            t1.toString;
            start += baselineLayout.call$2(t1, start);
          }
          if (t4.$index(0, B._DecorationSlot_1) != null) {
            t1 = t4.$index(0, B._DecorationSlot_1);
            t1.toString;
            baselineLayout.call$2(t1, start);
          }
          if (t4.$index(0, B._DecorationSlot_3) != null) {
            t1 = t4.$index(0, B._DecorationSlot_3);
            t1.toString;
            baselineLayout.call$2(t1, start);
          }
          if (t4.$index(0, B._DecorationSlot_7) != null) {
            end = right + _this._input_decorator$_decoration.contentPadding.right;
            t1 = t4.$index(0, B._DecorationSlot_7);
            t1.toString;
            end -= centerLayout.call$2(t1, end - t4.$index(0, B._DecorationSlot_7)._box$_size._dx);
          } else
            end = right;
          if (t4.$index(0, B._DecorationSlot_5) != null) {
            t1 = t4.$index(0, B._DecorationSlot_5);
            t1.toString;
            baselineLayout.call$2(t1, end - t4.$index(0, B._DecorationSlot_5)._box$_size._dx);
          }
          break;
      }
      if (t4.$index(0, B._DecorationSlot_8) != null || t4.$index(0, B._DecorationSlot_9) != null) {
        _box_0.height = subtextHeight;
        _box_0.baseline = subtextBaseline;
        switch (_this._input_decorator$_textDirection.index) {
          case 0:
            if (t4.$index(0, B._DecorationSlot_8) != null) {
              t1 = t4.$index(0, B._DecorationSlot_8);
              t1.toString;
              t3 = t4.$index(0, B._DecorationSlot_8)._box$_size._dx;
              t5 = t4.$index(0, B._DecorationSlot_0);
              if (t5 == null)
                t5 = B.Size_0_0;
              else {
                t5 = t5._box$_size;
                t5.toString;
              }
              baselineLayout.call$2(t1, right - t3 - t5._dx);
            }
            if (t4.$index(0, B._DecorationSlot_9) != null) {
              t1 = t4.$index(0, B._DecorationSlot_9);
              t1.toString;
              baselineLayout.call$2(t1, left);
            }
            break;
          case 1:
            if (t4.$index(0, B._DecorationSlot_8) != null) {
              t1 = t4.$index(0, B._DecorationSlot_8);
              t1.toString;
              t3 = t4.$index(0, B._DecorationSlot_0);
              if (t3 == null)
                t3 = B.Size_0_0;
              else {
                t3 = t3._box$_size;
                t3.toString;
              }
              baselineLayout.call$2(t1, left + t3._dx);
            }
            if (t4.$index(0, B._DecorationSlot_9) != null) {
              t1 = t4.$index(0, B._DecorationSlot_9);
              t1.toString;
              baselineLayout.call$2(t1, right - t4.$index(0, B._DecorationSlot_9)._box$_size._dx);
            }
            break;
        }
      }
      if (t4.$index(0, B._DecorationSlot_2) != null) {
        t1 = t4.$index(0, B._DecorationSlot_2).parentData;
        t1.toString;
        labelX = type$.BoxParentData._as(t1).offset._dx;
        t1 = t4.$index(0, B._DecorationSlot_2);
        if (t1 == null)
          t1 = B.Size_0_0;
        else {
          t1 = t1._box$_size;
          t1.toString;
        }
        floatWidth = t1._dx * 0.75;
        switch (_this._input_decorator$_textDirection.index) {
          case 0:
            t1 = _this._input_decorator$_decoration;
            t3 = t4.$index(0, B._DecorationSlot_2);
            if (t3 == null)
              t3 = B.Size_0_0;
            else {
              t3 = t3._box$_size;
              t3.toString;
            }
            t5 = t4.$index(0, B._DecorationSlot_10);
            if (t5 == null)
              t5 = B.Size_0_0;
            else {
              t5 = t5._box$_size;
              t5.toString;
            }
            t1.borderGap.set$start(0, A.lerpDouble(labelX + t3._dx, t5._dx / 2 + floatWidth / 2, 0));
            break;
          case 1:
            t1 = _this._input_decorator$_decoration;
            t3 = t4.$index(0, B._DecorationSlot_0);
            if (t3 == null)
              t3 = B.Size_0_0;
            else {
              t3 = t3._box$_size;
              t3.toString;
            }
            t5 = t4.$index(0, B._DecorationSlot_10);
            if (t5 == null)
              t5 = B.Size_0_0;
            else {
              t5 = t5._box$_size;
              t5.toString;
            }
            t1.borderGap.set$start(0, A.lerpDouble(labelX - t3._dx, t5._dx / 2 - floatWidth / 2, 0));
            break;
        }
        _this._input_decorator$_decoration.borderGap.set$extent(t4.$index(0, B._DecorationSlot_2)._box$_size._dx * 0.75);
      } else {
        _this._input_decorator$_decoration.borderGap.set$start(0, _null);
        _this._input_decorator$_decoration.borderGap.set$extent(0);
      }
      _this._box$_size = constraints.constrain$1(new A.Size(t2, containerHeight + subtextHeight));
    },
    _paintLabel$2(context, offset) {
      var t1 = this.SlottedContainerRenderObjectMixin__slotToChild.$index(0, B._DecorationSlot_2);
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    paint$2(context, offset) {
      var t2, t3, labelOffset, t4, labelWidth, t5, t, isOutlineBorder, floatingY, floatStartX, t6, _this = this,
        doPaint = new A._RenderDecoration_paint_doPaint(context, offset),
        t1 = _this.SlottedContainerRenderObjectMixin__slotToChild;
      doPaint.call$1(t1.$index(0, B._DecorationSlot_10));
      if (t1.$index(0, B._DecorationSlot_2) != null) {
        t2 = t1.$index(0, B._DecorationSlot_2).parentData;
        t2.toString;
        t3 = type$.BoxParentData;
        labelOffset = t3._as(t2).offset;
        t2 = t1.$index(0, B._DecorationSlot_2);
        if (t2 == null)
          t2 = B.Size_0_0;
        else {
          t2 = t2._box$_size;
          t2.toString;
        }
        t4 = t1.$index(0, B._DecorationSlot_2);
        if (t4 == null)
          t4 = B.Size_0_0;
        else {
          t4 = t4._box$_size;
          t4.toString;
        }
        labelWidth = t4._dx;
        t4 = _this._input_decorator$_decoration;
        t5 = t4.border;
        t = t4.floatingLabelProgress;
        isOutlineBorder = t5.get$isOutline();
        floatingY = isOutlineBorder ? -t2._dy * 0.75 / 2 + t5.borderSide.width / 2 : _this._input_decorator$_decoration.contentPadding.top;
        t2 = A.lerpDouble(1, 0.75, t);
        t2.toString;
        t4 = t1.$index(0, B._DecorationSlot_10).parentData;
        t4.toString;
        t4 = t3._as(t4).offset._dx;
        t3 = t1.$index(0, B._DecorationSlot_10);
        if (t3 == null)
          t3 = B.Size_0_0;
        else {
          t3 = t3._box$_size;
          t3.toString;
        }
        switch (_this._input_decorator$_textDirection.index) {
          case 0:
            floatStartX = labelOffset._dx + labelWidth * (1 - t2);
            break;
          case 1:
            floatStartX = labelOffset._dx;
            break;
          default:
            floatStartX = null;
        }
        t3 = A.lerpDouble(floatStartX, t4 + t3._dx / 2 - labelWidth * 0.75 / 2, 0);
        t3.toString;
        t3 = A.lerpDouble(floatStartX, t3, t);
        t3.toString;
        t4 = labelOffset._dy;
        t5 = A.lerpDouble(0, floatingY - t4, t);
        t5.toString;
        t6 = new A.Matrix4(new Float64Array(16));
        t6.setIdentity$0();
        t6.translate$2(0, t3, t4 + t5);
        t6.scale$1(0, t2);
        _this._labelTransform = t6;
        t2 = _this.__RenderObject__needsCompositing;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t5 = _this._layerHandle;
        t5.set$layer(0, context.pushTransform$5$oldLayer(t2, offset, t6, _this.get$_paintLabel(), type$.nullable_TransformLayer._as(t5._layer)));
      } else
        _this._layerHandle.set$layer(0, null);
      doPaint.call$1(t1.$index(0, B._DecorationSlot_0));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_4));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_5));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_6));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_7));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_3));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_1));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_8));
      doPaint.call$1(t1.$index(0, B._DecorationSlot_9));
    },
    hitTestSelf$1(position) {
      return true;
    },
    hitTestChildren$2$position(result, position) {
      var t1, t2, t3, _i, child, t4, offset;
      for (t1 = this.get$children(this), t2 = t1.length, t3 = type$.BoxParentData, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t4 = child.parentData;
        t4.toString;
        offset = t3._as(t4).offset;
        if (result.addWithPaintOffset$3$hitTest$offset$position(new A._RenderDecoration_hitTestChildren_closure(position, offset, child), offset, position))
          return true;
      }
      return false;
    },
    applyPaintTransform$2(child, transform) {
      var labelOffset, _this = this,
        t1 = _this.SlottedContainerRenderObjectMixin__slotToChild;
      if (child === t1.$index(0, B._DecorationSlot_2) && _this._labelTransform != null) {
        t1 = t1.$index(0, B._DecorationSlot_2).parentData;
        t1.toString;
        labelOffset = type$.BoxParentData._as(t1).offset;
        t1 = _this._labelTransform;
        t1.toString;
        transform.multiply$1(0, t1);
        transform.translate$2(0, -labelOffset._dx, -labelOffset._dy);
      }
      _this.super$RenderBox$applyPaintTransform(child, transform);
    }
  };
  A._RenderDecoration_performLayout_centerLayout.prototype = {
    call$2(box, x) {
      var t2, t3,
        t1 = box.parentData;
      t1.toString;
      type$.BoxParentData._as(t1);
      t2 = this._box_0.height;
      t2.toString;
      t3 = box._box$_size;
      t1.offset = new A.Offset(x, (t2 - t3._dy) / 2);
      return t3._dx;
    },
    $signature: 77
  };
  A._RenderDecoration_performLayout_baselineLayout.prototype = {
    call$2(box, x) {
      var t2, t3,
        t1 = box.parentData;
      t1.toString;
      type$.BoxParentData._as(t1);
      t2 = this._box_0.baseline;
      t2.toString;
      t3 = this.layout.boxToBaseline.$index(0, box);
      t3.toString;
      t1.offset = new A.Offset(x, t2 - t3);
      return box._box$_size._dx;
    },
    $signature: 77
  };
  A._RenderDecoration_paint_doPaint.prototype = {
    call$1(child) {
      var t1;
      if (child != null) {
        t1 = child.parentData;
        t1.toString;
        this.context.paintChild$2(child, type$.BoxParentData._as(t1).offset.$add(0, this.offset));
      }
    },
    $signature: 283
  };
  A._RenderDecoration_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A._Decorator.prototype = {
    get$slots() {
      return B.List_UUO;
    },
    childForSlot$1(slot) {
      var _this = this;
      switch (slot.index) {
        case 0:
          return _this.decoration.icon;
        case 1:
          return _this.decoration.input;
        case 2:
          return _this.decoration.label;
        case 3:
          return _this.decoration.hint;
        case 4:
          return _this.decoration.prefix;
        case 5:
          return _this.decoration.suffix;
        case 6:
          return _this.decoration.prefixIcon;
        case 7:
          return _this.decoration.suffixIcon;
        case 8:
          return _this.decoration.helperError;
        case 9:
          return _this.decoration.counter;
        case 10:
          return _this.decoration.container;
      }
    },
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A._RenderDecoration(_this.decoration, _this.textDirection, _this.textBaseline, _this.textAlignVertical, _this.isFocused, false, A.LinkedHashMap_LinkedHashMap$_empty(type$._DecorationSlot, type$.RenderBox), A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$decoration(_this.decoration);
      renderObject.set$expands(false);
      renderObject.set$isFocused(_this.isFocused);
      renderObject.set$textAlignVertical(_this.textAlignVertical);
      renderObject.set$textBaseline(0, _this.textBaseline);
      renderObject.set$textDirection(_this.textDirection);
    }
  };
  A._AffixText.prototype = {
    build$1(context) {
      var t1 = this.labelIsFloating ? 1 : 0,
        t2 = this.child;
      if (t2 == null)
        t2 = null;
      return A.DefaultTextStyle_merge(A.AnimatedOpacity$(false, t2, B.Cubic_ifx, B.Duration_200000, null, t1), this.style);
    }
  };
  A.InputDecorator.prototype = {
    createState$0() {
      return new A._InputDecoratorState(new A._InputBorderGap($.$get$ChangeNotifier__emptyListeners()), null, null, B._StateLifecycle_0);
    }
  };
  A._InputDecoratorState.prototype = {
    initState$0() {
      var t1, t2, t3, labelIsInitiallyFloating, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.decoration;
      t3 = t2.floatingLabelBehavior;
      if (t3 !== B.FloatingLabelBehavior_2)
        if (t3 !== B.FloatingLabelBehavior_0) {
          if (t1.isEmpty)
            t1 = t1.isFocused && t2.enabled;
          else
            t1 = true;
          labelIsInitiallyFloating = t1;
        } else
          labelIsInitiallyFloating = false;
      else
        labelIsInitiallyFloating = true;
      t1 = _this.___InputDecoratorState__floatingLabelController = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, labelIsInitiallyFloating ? 1 : 0, _this);
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(_this.get$_input_decorator$_handleChange());
      _this.___InputDecoratorState__shakingLabelController = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this._effectiveDecoration = null;
    },
    dispose$0() {
      var t1 = this.___InputDecoratorState__floatingLabelController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = this.___InputDecoratorState__shakingLabelController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__InputDecoratorState_State_TickerProviderStateMixin$dispose();
    },
    _input_decorator$_handleChange$0() {
      this.setState$1(new A._InputDecoratorState__handleChange_closure());
    },
    get$decoration() {
      var t2, _this = this,
        t1 = _this._effectiveDecoration;
      if (t1 == null) {
        t1 = _this._widget.decoration;
        t2 = _this._framework$_element;
        t2.toString;
        t2 = _this._effectiveDecoration = t1.applyDefaults$1(A.Theme_of(t2).inputDecorationTheme);
        t1 = t2;
      }
      return t1;
    },
    didUpdateWidget$1(old) {
      var t1, t2, t3, floatBehaviorChanged, errorText, _this = this;
      _this.super$State$didUpdateWidget(old);
      t1 = old.decoration;
      if (!_this._widget.decoration.$eq(0, t1))
        _this._effectiveDecoration = null;
      t2 = _this._widget;
      t3 = t2.decoration;
      floatBehaviorChanged = t3.floatingLabelBehavior != t1.floatingLabelBehavior;
      if (t2.isEmpty)
        t2 = t2.isFocused && t3.enabled;
      else
        t2 = true;
      if (old.isEmpty)
        t3 = old.isFocused && t1.enabled;
      else
        t3 = true;
      if (t2 !== t3 || floatBehaviorChanged) {
        if (_this.get$decoration().floatingLabelBehavior !== B.FloatingLabelBehavior_0) {
          t2 = _this._widget;
          if (t2.isEmpty)
            t3 = t2.isFocused && t2.decoration.enabled;
          else
            t3 = true;
          t2 = t3 || t2.decoration.floatingLabelBehavior === B.FloatingLabelBehavior_2;
        } else
          t2 = false;
        t3 = _this.___InputDecoratorState__floatingLabelController;
        if (t2) {
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3.forward$0(0);
        } else {
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3.reverse$0(0);
        }
      }
      errorText = _this.get$decoration().errorText;
      t2 = _this.___InputDecoratorState__floatingLabelController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2.get$status(t2) === B.AnimationStatus_3 && errorText != null && errorText !== t1.errorText) {
        t1 = _this.___InputDecoratorState__shakingLabelController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, 0);
        t1.forward$0(0);
      }
    },
    _getActiveColor$1(themeData) {
      if (this._widget.isFocused)
        return themeData.colorScheme.primary;
      return themeData.hintColor;
    },
    _getDefaultBorderColor$1(themeData) {
      var t1, enabledColor, _this = this;
      if (_this._widget.isFocused)
        return themeData.colorScheme.primary;
      _this.get$decoration().filled.toString;
      t1 = themeData.colorScheme.onSurface.value;
      enabledColor = A.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
      if (_this._widget.isHovering && _this.get$decoration().enabled) {
        _this.get$decoration().toString;
        t1 = themeData.hoverColor.value;
        return A.Color_alphaBlend(A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255), enabledColor);
      }
      return enabledColor;
    },
    _getFillColor$1(themeData) {
      var _this = this;
      if (_this.get$decoration().filled !== true)
        return B.Color_0;
      _this.get$decoration().toString;
      switch (themeData.colorScheme.brightness.index) {
        case 0:
          return _this.get$decoration().enabled ? B.Color_452984831 : B.Color_234881023;
        case 1:
          return _this.get$decoration().enabled ? B.Color_167772160 : B.Color_83886080;
      }
    },
    _getHoverColor$1(themeData) {
      if (this.get$decoration().filled != null)
        this.get$decoration().filled.toString;
      return B.Color_0;
    },
    get$_hasInlineLabel() {
      var _this = this,
        t1 = _this._widget;
      if (t1.isEmpty)
        t1 = t1.isFocused && t1.decoration.enabled;
      else
        t1 = true;
      if (!t1) {
        if (_this.get$decoration().labelText == null) {
          _this.get$decoration().toString;
          t1 = false;
        } else
          t1 = true;
        t1 = t1 && _this.get$decoration().floatingLabelBehavior !== B.FloatingLabelBehavior_2;
      } else
        t1 = false;
      return t1;
    },
    _getFloatingLabelStyle$1(themeData) {
      var _this = this,
        t1 = type$.nullable_TextStyle,
        style = A.MaterialStateProperty_resolveAs(_this.get$decoration().floatingLabelStyle, _this.get$materialState(), t1);
      if (style == null)
        style = A.MaterialStateProperty_resolveAs(null, _this.get$materialState(), t1);
      t1 = themeData.textTheme.titleMedium;
      t1.toString;
      return t1.merge$1(_this._widget.baseStyle).copyWith$1$height(1).merge$1(new A._InputDecoratorState__getFloatingLabelStyle_getFallbackTextStyle(_this, themeData).call$0()).merge$1(style);
    },
    _getHelperStyle$1(themeData) {
      var color = this.get$decoration().enabled ? themeData.hintColor : B.Color_0;
      return themeData.textTheme.bodySmall.copyWith$1$color(color).merge$1(A.MaterialStateProperty_resolveAs(this.get$decoration().helperStyle, this.get$materialState(), type$.nullable_TextStyle));
    },
    get$materialState() {
      var _this = this,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this.get$decoration().enabled)
        t1.add$1(0, B.MaterialState_6);
      if (_this._widget.isFocused)
        t1.add$1(0, B.MaterialState_1);
      if (_this._widget.isHovering && _this.get$decoration().enabled)
        t1.add$1(0, B.MaterialState_0);
      if (_this.get$decoration().errorText != null)
        t1.add$1(0, B.MaterialState_7);
      return t1;
    },
    _getDefaultBorder$1(themeData) {
      var borderColor, t1, borderWeight, _this = this,
        border = A.MaterialStateProperty_resolveAs(_this.get$decoration().border, _this.get$materialState(), type$.nullable_InputBorder);
      if (border == null)
        border = B.UnderlineInputBorder_aRc;
      _this.get$decoration().toString;
      if (border.borderSide.$eq(0, B.BorderSide_aLd))
        return border;
      if (_this.get$decoration().enabled || _this._widget.isFocused)
        borderColor = _this.get$decoration().errorText == null ? _this._getDefaultBorderColor$1(themeData) : themeData.errorColor;
      else {
        t1 = _this.get$decoration().filled;
        if (t1 === true) {
          t1 = _this.get$decoration().border != null || null;
          t1 = t1 !== true;
        } else
          t1 = false;
        borderColor = t1 ? B.Color_0 : themeData.disabledColor;
      }
      _this.get$decoration().toString;
      t1 = _this.get$decoration();
      t1 = J.$eq$(t1 == null ? null : t1.border, B._NoInputBorder_Kz0) || !_this.get$decoration().enabled;
      if (t1)
        borderWeight = 0;
      else
        borderWeight = _this._widget.isFocused ? 2 : 1;
      return border.copyWith$1$borderSide(new A.BorderSide(borderColor, borderWeight, B.BorderStyle_1, B.StrokeAlign_0));
    },
    build$1(context) {
      var t2, t3, labelStyle, t4, hintStyle, isError, border, t5, t6, t7, t8, t9, label, t10, t11, t12, prefix, suffix, decorationIsDense, t13, color, t14, counter, t15, t16, decorationContentPadding, floatingLabelHeight, contentPadding, t17, t18, t19, t20, t21, _this = this, _null = null,
        themeData = A.Theme_of(context),
        defaultStyle = A.TextStyle$(_null, _null, _this.get$decoration().enabled ? themeData.hintColor : themeData.disabledColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null),
        t1 = type$.nullable_TextStyle,
        style = A.MaterialStateProperty_resolveAs(_this.get$decoration().labelStyle, _this.get$materialState(), t1);
      if (style == null)
        style = A.MaterialStateProperty_resolveAs(_null, _this.get$materialState(), t1);
      t2 = themeData.textTheme;
      t3 = t2.titleMedium;
      t3.toString;
      labelStyle = t3.merge$1(_this._widget.baseStyle).merge$1(defaultStyle).merge$1(style).copyWith$1$height(1);
      t4 = labelStyle.textBaseline;
      t4.toString;
      defaultStyle = A.TextStyle$(_null, _null, _this.get$decoration().enabled ? themeData.hintColor : themeData.disabledColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      style = A.MaterialStateProperty_resolveAs(_this.get$decoration().hintStyle, _this.get$materialState(), t1);
      if (style == null)
        style = A.MaterialStateProperty_resolveAs(_null, _this.get$materialState(), t1);
      hintStyle = t3.merge$1(_this._widget.baseStyle).merge$1(defaultStyle).merge$1(style);
      _this.get$decoration().toString;
      isError = _this.get$decoration().errorText != null;
      if (!_this.get$decoration().enabled)
        border = isError ? _this.get$decoration().errorBorder : _this.get$decoration().disabledBorder;
      else if (_this._widget.isFocused)
        border = isError ? _this.get$decoration().focusedErrorBorder : _this.get$decoration().focusedBorder;
      else
        border = isError ? _this.get$decoration().errorBorder : _this.get$decoration().enabledBorder;
      if (border == null)
        border = _this._getDefaultBorder$1(themeData);
      t3 = _this._borderGap;
      t5 = _this.___InputDecoratorState__floatingLabelController;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = _this._getFillColor$1(themeData);
      t7 = _this._getHoverColor$1(themeData);
      t8 = _this._widget.isHovering && _this.get$decoration().enabled;
      if (_this.get$decoration().labelText == null) {
        _this.get$decoration().toString;
        t9 = true;
      } else
        t9 = false;
      if (t9)
        label = _null;
      else {
        t9 = _this.___InputDecoratorState__shakingLabelController;
        if (t9 === $)
          A.throwUnnamedLateFieldNI();
        t10 = _this.get$_hasInlineLabel() || _this.get$decoration().floatingLabelBehavior !== B.FloatingLabelBehavior_0 ? 1 : 0;
        t11 = _this._widget;
        if (t11.isEmpty)
          t11 = t11.isFocused && t11.decoration.enabled;
        else
          t11 = true;
        t11 = t11 ? _this._getFloatingLabelStyle$1(themeData) : labelStyle;
        _this.get$decoration().toString;
        t12 = _this.get$decoration().labelText;
        t12.toString;
        t12 = A.Text$(t12, _null, _null, B.TextOverflow_2, _null, _null, _null, _this._widget.textAlign, _null, _null, _null);
        label = new A._Shaker(A.AnimatedOpacity$(false, A.AnimatedDefaultTextStyle$(t12, B.Cubic_ifx, B.Duration_200000, true, t11), B.Cubic_ifx, B.Duration_200000, _null, t10), t9, _null);
      }
      if (_this.get$decoration().prefix == null) {
        _this.get$decoration().toString;
        t9 = true;
      } else
        t9 = false;
      if (t9)
        prefix = _null;
      else {
        t9 = _this._widget;
        if (t9.isEmpty)
          t9 = t9.isFocused && t9.decoration.enabled;
        else
          t9 = true;
        t10 = _this.get$decoration().prefixText;
        t11 = A.MaterialStateProperty_resolveAs(_this.get$decoration().prefixStyle, _this.get$materialState(), t1);
        if (t11 == null)
          t11 = hintStyle;
        prefix = new A._AffixText(t9, t10, t11, _this.get$decoration().prefix, _null);
      }
      if (_this.get$decoration().suffix == null) {
        _this.get$decoration().toString;
        t9 = true;
      } else
        t9 = false;
      if (t9)
        suffix = _null;
      else {
        t9 = _this._widget;
        if (t9.isEmpty)
          t9 = t9.isFocused && t9.decoration.enabled;
        else
          t9 = true;
        t10 = _this.get$decoration().suffixText;
        t11 = A.MaterialStateProperty_resolveAs(_this.get$decoration().suffixStyle, _this.get$materialState(), t1);
        if (t11 == null)
          t11 = hintStyle;
        suffix = new A._AffixText(t9, t10, t11, _this.get$decoration().suffix, _null);
      }
      t9 = _this.get$decoration().isDense;
      decorationIsDense = t9 === true;
      _this.get$decoration().toString;
      _this.get$decoration().toString;
      _this.get$decoration().toString;
      t9 = _this._widget.textAlign;
      t10 = _this.get$decoration().helperText;
      t11 = _this._getHelperStyle$1(themeData);
      t12 = _this.get$decoration().helperMaxLines;
      t13 = _this.get$decoration().errorText;
      color = _this.get$decoration().enabled ? themeData.errorColor : B.Color_0;
      t2 = t2.bodySmall.copyWith$1$color(color).merge$1(_this.get$decoration().errorStyle);
      t14 = _this.get$decoration().errorMaxLines;
      if (_this.get$decoration().counter != null)
        counter = _this.get$decoration().counter;
      else if (_this.get$decoration().counterText != null && _this.get$decoration().counterText !== "") {
        t15 = _this._widget.isFocused;
        t16 = _this.get$decoration().counterText;
        t16.toString;
        t1 = _this._getHelperStyle$1(themeData).merge$1(A.MaterialStateProperty_resolveAs(_this.get$decoration().counterStyle, _this.get$materialState(), t1));
        t1 = A.Text$(t16, _null, _null, B.TextOverflow_2, _this.get$decoration().semanticCounterText, _null, t1, _null, _null, _null, _null);
        counter = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t15, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, t1, _null);
      } else
        counter = _null;
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      decorationContentPadding = _this.get$decoration().contentPadding;
      if (decorationContentPadding == null)
        decorationContentPadding = _null;
      _this.get$decoration().toString;
      if (!border.get$isOutline()) {
        t15 = labelStyle.fontSize;
        t15.toString;
        floatingLabelHeight = (4 + 0.75 * t15) * A.MediaQuery_textScaleFactorOf(context);
        t15 = _this.get$decoration().filled;
        if (t15 === true)
          if (decorationContentPadding == null)
            contentPadding = decorationIsDense ? B.EdgeInsets_12_8_12_8 : B.EdgeInsets_12_12_12_12;
          else
            contentPadding = decorationContentPadding;
        else if (decorationContentPadding == null)
          contentPadding = decorationIsDense ? B.EdgeInsets_0_8_0_8 : B.EdgeInsets_0_12_0_12;
        else
          contentPadding = decorationContentPadding;
      } else {
        if (decorationContentPadding == null)
          contentPadding = decorationIsDense ? B.EdgeInsets_12_20_12_12 : B.EdgeInsets_12_24_12_16;
        else
          contentPadding = decorationContentPadding;
        floatingLabelHeight = 0;
      }
      _this.get$decoration().toString;
      t15 = _this.get$decoration().floatingLabelAlignment;
      t15.toString;
      t16 = _this.___InputDecoratorState__floatingLabelController;
      if (t16 === $)
        A.throwUnnamedLateFieldNI();
      t16 = t16.__AnimationController__value;
      if (t16 === $)
        A.throwUnnamedLateFieldNI();
      t17 = _this.get$decoration().alignLabelWithHint;
      t18 = _this.get$decoration().isDense;
      t19 = _this._widget;
      t20 = t19.child;
      t21 = t19.textAlignVertical;
      t19 = t19.isFocused;
      _this.get$decoration().toString;
      return new A._Decorator(new A._Decoration(contentPadding, false, floatingLabelHeight, t16, t15, border, t3, t17 === true, t18, themeData.visualDensity, _null, t20, label, _null, prefix, suffix, _null, _null, new A._HelperError(t9, t10, t11, t12, t13, t2, t14, _null), counter, new A._BorderContainer(border, t3, t5, t6, t7, t8, _null)), t1.textDirection, t4, t21, t19, false, _null);
    }
  };
  A._InputDecoratorState__handleChange_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._InputDecoratorState__getFloatingLabelStyle_getFallbackTextStyle.prototype = {
    call$0() {
      var t2, color, _null = null,
        t1 = this.$this;
      if (t1.get$decoration().errorText != null) {
        t1.get$decoration().toString;
        t2 = this.themeData;
        color = t2.errorColor;
      } else {
        t2 = this.themeData;
        color = t1._getActiveColor$1(t2);
      }
      t2 = A.TextStyle$(_null, _null, t1.get$decoration().enabled ? color : t2.disabledColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
      t1.get$decoration().toString;
      t1 = t1.get$decoration().labelStyle;
      return t2.merge$1(t1);
    },
    $signature: 229
  };
  A.InputDecoration.prototype = {
    copyWith$33$alignLabelWithHint$border$constraints$contentPadding$counter$counterStyle$counterText$disabledBorder$enabled$enabledBorder$errorBorder$errorMaxLines$errorStyle$errorText$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintMaxLines$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$semanticCounterText$suffixStyle(alignLabelWithHint, border, constraints, contentPadding, counter, counterStyle, counterText, disabledBorder, enabled, enabledBorder, errorBorder, errorMaxLines, errorStyle, errorText, fillColor, filled, floatingLabelAlignment, floatingLabelBehavior, floatingLabelStyle, focusColor, focusedBorder, focusedErrorBorder, helperMaxLines, helperStyle, hintMaxLines, hintStyle, hoverColor, isCollapsed, isDense, labelStyle, prefixStyle, semanticCounterText, suffixStyle) {
      var _this = this,
        t1 = labelStyle == null ? _this.labelStyle : labelStyle,
        t2 = hintMaxLines == null ? _this.hintMaxLines : hintMaxLines,
        t3 = errorText == null ? _this.errorText : errorText,
        t4 = floatingLabelBehavior == null ? _this.floatingLabelBehavior : floatingLabelBehavior,
        t5 = floatingLabelAlignment == null ? _this.floatingLabelAlignment : floatingLabelAlignment,
        t6 = isDense == null ? _this.isDense : isDense,
        t7 = contentPadding == null ? _this.contentPadding : contentPadding,
        t8 = counter == null ? _this.counter : counter,
        t9 = counterText == null ? _this.counterText : counterText,
        t10 = counterStyle == null ? _this.counterStyle : counterStyle,
        t11 = filled == null ? _this.filled : filled,
        t12 = focusedBorder == null ? _this.focusedBorder : focusedBorder,
        t13 = enabledBorder == null ? _this.enabledBorder : enabledBorder,
        t14 = border == null ? _this.border : border,
        t15 = enabled == null ? _this.enabled : enabled,
        t16 = semanticCounterText == null ? _this.semanticCounterText : semanticCounterText,
        t17 = alignLabelWithHint == null ? _this.alignLabelWithHint : alignLabelWithHint;
      return A.InputDecoration$(t17, t14, _this.constraints, t7, t8, t10, t9, _this.disabledBorder, t15, t13, _this.errorBorder, _this.errorMaxLines, _this.errorStyle, t3, _this.fillColor, t11, t5, t4, _this.floatingLabelStyle, _this.focusColor, t12, _this.focusedErrorBorder, _this.helperMaxLines, _this.helperStyle, _this.helperText, t2, _this.hintStyle, _this.hintText, _this.hintTextDirection, _this.hoverColor, _this.icon, _this.iconColor, isCollapsed === true, t6, _this.label, t1, _this.labelText, _this.prefix, _this.prefixIcon, _this.prefixIconColor, _this.prefixIconConstraints, _this.prefixStyle, _this.prefixText, t16, _this.suffix, _this.suffixIcon, _this.suffixIconColor, _this.suffixIconConstraints, _this.suffixStyle, _this.suffixText);
    },
    copyWith$27$alignLabelWithHint$border$constraints$contentPadding$counterStyle$disabledBorder$enabledBorder$errorBorder$errorMaxLines$errorStyle$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$suffixStyle(alignLabelWithHint, border, constraints, contentPadding, counterStyle, disabledBorder, enabledBorder, errorBorder, errorMaxLines, errorStyle, fillColor, filled, floatingLabelAlignment, floatingLabelBehavior, floatingLabelStyle, focusColor, focusedBorder, focusedErrorBorder, helperMaxLines, helperStyle, hintStyle, hoverColor, isCollapsed, isDense, labelStyle, prefixStyle, suffixStyle) {
      return this.copyWith$33$alignLabelWithHint$border$constraints$contentPadding$counter$counterStyle$counterText$disabledBorder$enabled$enabledBorder$errorBorder$errorMaxLines$errorStyle$errorText$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintMaxLines$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$semanticCounterText$suffixStyle(alignLabelWithHint, border, constraints, contentPadding, null, counterStyle, null, disabledBorder, null, enabledBorder, errorBorder, errorMaxLines, errorStyle, null, fillColor, filled, floatingLabelAlignment, floatingLabelBehavior, floatingLabelStyle, focusColor, focusedBorder, focusedErrorBorder, helperMaxLines, helperStyle, null, hintStyle, hoverColor, isCollapsed, isDense, labelStyle, prefixStyle, null, suffixStyle);
    },
    copyWith$2$enabled$hintMaxLines(enabled, hintMaxLines) {
      return this.copyWith$33$alignLabelWithHint$border$constraints$contentPadding$counter$counterStyle$counterText$disabledBorder$enabled$enabledBorder$errorBorder$errorMaxLines$errorStyle$errorText$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintMaxLines$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$semanticCounterText$suffixStyle(null, null, null, null, null, null, null, null, enabled, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, hintMaxLines, null, null, null, null, null, null, null, null);
    },
    applyDefaults$1(theme) {
      var t2, t3, t4, t5, t6, t7, t8, _this = this, _null = null,
        t1 = _this.labelStyle;
      if (t1 == null)
        t1 = _null;
      t2 = _this.floatingLabelBehavior;
      if (t2 == null)
        t2 = B.FloatingLabelBehavior_1;
      t3 = _this.floatingLabelAlignment;
      if (t3 == null)
        t3 = B.C_FloatingLabelAlignment;
      t4 = _this.contentPadding;
      if (t4 == null)
        t4 = _null;
      t5 = _this.counterStyle;
      if (t5 == null)
        t5 = _null;
      t6 = _this.focusedBorder;
      if (t6 == null)
        t6 = _null;
      t7 = _this.enabledBorder;
      if (t7 == null)
        t7 = _null;
      t8 = _this.border;
      if (t8 == null)
        t8 = _null;
      return _this.copyWith$27$alignLabelWithHint$border$constraints$contentPadding$counterStyle$disabledBorder$enabledBorder$errorBorder$errorMaxLines$errorStyle$fillColor$filled$floatingLabelAlignment$floatingLabelBehavior$floatingLabelStyle$focusColor$focusedBorder$focusedErrorBorder$helperMaxLines$helperStyle$hintStyle$hoverColor$isCollapsed$isDense$labelStyle$prefixStyle$suffixStyle(_this.alignLabelWithHint === true, t8, _null, t4, t5, _null, t7, _null, _null, _null, _null, _this.filled === true, t3, t2, _null, _null, t6, _null, _null, _null, _null, _null, false, _this.isDense === true, t1, _null, _null);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.InputDecoration)
        if (other.labelText == _this.labelText)
          if (J.$eq$(other.labelStyle, _this.labelStyle))
            if (other.hintMaxLines == _this.hintMaxLines)
              if (other.errorText == _this.errorText)
                if (other.floatingLabelBehavior == _this.floatingLabelBehavior)
                  if (J.$eq$(other.floatingLabelAlignment, _this.floatingLabelAlignment))
                    if (other.isDense == _this.isDense)
                      if (J.$eq$(other.contentPadding, _this.contentPadding))
                        if (J.$eq$(other.prefix, _this.prefix))
                          if (J.$eq$(other.suffix, _this.suffix))
                            if (J.$eq$(other.counter, _this.counter))
                              if (other.counterText == _this.counterText)
                                if (J.$eq$(other.counterStyle, _this.counterStyle))
                                  if (other.filled == _this.filled)
                                    if (J.$eq$(other.focusedBorder, _this.focusedBorder))
                                      t1 = J.$eq$(other.enabledBorder, _this.enabledBorder) && J.$eq$(other.border, _this.border) && other.enabled === _this.enabled && other.semanticCounterText == _this.semanticCounterText && other.alignLabelWithHint == _this.alignLabelWithHint && true;
                                    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;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hashAll([_this.icon, _this.iconColor, _this.label, _this.labelText, _this.floatingLabelStyle, _this.labelStyle, _this.helperText, _this.helperStyle, _this.helperMaxLines, _this.hintText, _this.hintStyle, _this.hintTextDirection, _this.hintMaxLines, _this.errorText, _this.errorStyle, _this.errorMaxLines, _this.floatingLabelBehavior, _this.floatingLabelAlignment, _this.isDense, _this.contentPadding, false, _this.filled, _this.fillColor, _this.focusColor, _this.hoverColor, _this.prefixIcon, _this.prefixIconColor, _this.prefix, _this.prefixText, _this.prefixStyle, _this.prefixIconConstraints, _this.suffixIcon, _this.suffixIconColor, _this.suffix, _this.suffixText, _this.suffixStyle, _this.suffixIconConstraints, _this.counter, _this.counterText, _this.counterStyle, _this.errorBorder, _this.focusedBorder, _this.focusedErrorBorder, _this.disabledBorder, _this.enabledBorder, _this.border, _this.enabled, _this.semanticCounterText, _this.alignLabelWithHint, _this.constraints]);
    },
    toString$0(_) {
      var _this = this,
        t1 = A._setArrayType([], type$.JSArray_String),
        t2 = _this.labelText;
      if (t2 != null)
        t1.push('labelText: "' + t2 + '"');
      t2 = _this.hintMaxLines;
      if (t2 != null)
        t1.push('hintMaxLines: "' + A.S(t2) + '"');
      t2 = _this.errorText;
      if (t2 != null)
        t1.push('errorText: "' + t2 + '"');
      t2 = _this.floatingLabelBehavior;
      if (t2 != null)
        t1.push("floatingLabelBehavior: " + t2.toString$0(0));
      t2 = _this.floatingLabelAlignment;
      if (t2 != null)
        t1.push("floatingLabelAlignment: " + t2.toString$0(0));
      t2 = _this.isDense;
      if (t2 === true)
        t1.push("isDense: " + A.S(t2));
      t2 = _this.contentPadding;
      if (t2 != null)
        t1.push("contentPadding: " + t2.toString$0(0));
      t2 = _this.prefix;
      if (t2 != null)
        t1.push("prefix: " + t2.toString$0(0));
      t2 = _this.suffix;
      if (t2 != null)
        t1.push("suffix: " + t2.toString$0(0));
      t2 = _this.counter;
      if (t2 != null)
        t1.push("counter: " + t2.toString$0(0));
      t2 = _this.counterText;
      if (t2 != null)
        t1.push("counterText: " + t2);
      t2 = _this.counterStyle;
      if (t2 != null)
        t1.push("counterStyle: " + t2.toString$0(0));
      if (_this.filled === true)
        t1.push("filled: true");
      t2 = _this.focusedBorder;
      if (t2 != null)
        t1.push("focusedBorder: " + t2.toString$0(0));
      t2 = _this.enabledBorder;
      if (t2 != null)
        t1.push("enabledBorder: " + t2.toString$0(0));
      t2 = _this.border;
      if (t2 != null)
        t1.push("border: " + t2.toString$0(0));
      if (!_this.enabled)
        t1.push("enabled: false");
      t2 = _this.semanticCounterText;
      if (t2 != null)
        t1.push("semanticCounterText: " + t2);
      t2 = _this.alignLabelWithHint;
      if (t2 != null)
        t1.push("alignLabelWithHint: " + A.S(t2));
      return "InputDecoration(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    }
  };
  A.InputDecorationTheme.prototype = {
    get$hashCode(_) {
      var _null = null;
      return A.Object_hash(_null, _null, _null, _null, _null, _null, _null, B.FloatingLabelBehavior_1, B.C_FloatingLabelAlignment, false, _null, false, _null, _null, _null, _null, _null, _null, false, A.Object_hash(_null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue));
    },
    $eq(_, other) {
      var t1;
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      if (other instanceof A.InputDecorationTheme)
        if (B.C_FloatingLabelAlignment.$eq(0, B.C_FloatingLabelAlignment))
          t1 = true;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._InputDecorationTheme_Object_Diagnosticable.prototype = {};
  A.__BorderContainerState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__Decorator_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin.prototype = {
    updateRenderObject$2(context, renderObject) {
      return this.super$RenderObjectWidget$updateRenderObject(context, renderObject);
    }
  };
  A.__HelperErrorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.__InputDecoratorState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__RenderDecoration_RenderBox_SlottedContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var t1, t2, _i;
      this.super$RenderObject$attach(owner);
      for (t1 = this.get$children(this), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].attach$1(owner);
    },
    detach$0(_) {
      var t1, t2, _i;
      this.super$AbstractNode$detach(0);
      for (t1 = this.get$children(this), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].detach$0(0);
    }
  };
  A.ListTileStyle.prototype = {
    toString$0(_) {
      return "ListTileStyle." + this._core$_name;
    }
  };
  A.ListTileControlAffinity.prototype = {
    toString$0(_) {
      return "ListTileControlAffinity." + this._core$_name;
    }
  };
  A.ListTile.prototype = {
    _list_tile$_iconColor$2(theme, tileTheme) {
      var color = tileTheme.iconColor;
      if (color == null)
        color = theme.listTileTheme.iconColor;
      if (color != null)
        return color;
      switch (theme.colorScheme.brightness.index) {
        case 1:
          return B.Color_1929379840;
        case 0:
          return null;
      }
    },
    _textColor$3(theme, tileTheme, defaultColor) {
      var t1 = tileTheme.textColor;
      if (t1 == null)
        t1 = theme.listTileTheme.textColor;
      return t1 == null ? defaultColor : t1;
    },
    _isDenseLayout$2(theme, tileTheme) {
      return false;
    },
    build$1(context) {
      var textStyle, leadingAndTrailingTextStyle, leadingIcon, color, titleStyle, titleText, trailingIcon, textDirection, resolvedContentPadding, effectiveMouseCursor, t4, t5, t6, t7, t8, _this = this, _null = null,
        theme = A.Theme_of(context),
        tileTheme = A.ListTileTheme_of(context),
        t1 = _this._list_tile$_iconColor$2(theme, tileTheme),
        t2 = _this.leading,
        t3 = t2 == null;
      if (!t3 || _this.trailing != null) {
        textStyle = theme.textTheme.bodyMedium;
        leadingAndTrailingTextStyle = textStyle.copyWith$1$color(_this._textColor$3(theme, tileTheme, textStyle.color));
      } else
        leadingAndTrailingTextStyle = _null;
      if (!t3) {
        leadingAndTrailingTextStyle.toString;
        leadingIcon = A.AnimatedDefaultTextStyle$(t2, B.C__Linear, B.Duration_200000, true, leadingAndTrailingTextStyle);
      } else
        leadingIcon = _null;
      t2 = tileTheme.style;
      if (t2 == null)
        t2 = theme.listTileTheme.style;
      switch ((t2 == null ? B.ListTileStyle_0 : t2).index) {
        case 1:
          t2 = theme.textTheme.bodyLarge;
          t2.toString;
          textStyle = t2;
          break;
        case 0:
          t2 = theme.textTheme.titleMedium;
          t2.toString;
          textStyle = t2;
          break;
        default:
          textStyle = _null;
      }
      color = _this._textColor$3(theme, tileTheme, textStyle.color);
      _this._isDenseLayout$2(theme, tileTheme);
      titleStyle = textStyle.copyWith$1$color(color);
      titleText = A.AnimatedDefaultTextStyle$(_this.title, B.C__Linear, B.Duration_200000, true, titleStyle);
      t2 = _this.trailing;
      if (t2 != null) {
        leadingAndTrailingTextStyle.toString;
        trailingIcon = A.AnimatedDefaultTextStyle$(t2, B.C__Linear, B.Duration_200000, true, leadingAndTrailingTextStyle);
      } else
        trailingIcon = _null;
      t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      textDirection = t2.textDirection;
      t2 = _this.contentPadding;
      t2 = t2 == null ? _null : t2.resolve$1(textDirection);
      if (t2 == null) {
        t2 = tileTheme.contentPadding;
        t2 = t2 == null ? _null : t2.resolve$1(textDirection);
        resolvedContentPadding = t2;
      } else
        resolvedContentPadding = t2;
      if (resolvedContentPadding == null)
        resolvedContentPadding = B.EdgeInsets_16_0_16_0;
      t2 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      t3 = A.MaterialStateProperty_resolveAs(_null, t2, type$.nullable_MouseCursor);
      if (t3 == null)
        effectiveMouseCursor = _null;
      else
        effectiveMouseCursor = t3;
      if (effectiveMouseCursor == null)
        effectiveMouseCursor = B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable.resolve$1(t2);
      t2 = tileTheme.shape;
      t3 = t2 == null ? B.Border_yXb : t2;
      t4 = tileTheme.tileColor;
      color = t4 == null ? theme.listTileTheme.tileColor : t4;
      t4 = color == null ? B.Color_0 : color;
      _this._isDenseLayout$2(theme, tileTheme);
      t5 = titleStyle.textBaseline;
      t5.toString;
      t6 = tileTheme.horizontalTitleGap;
      if (t6 == null)
        t6 = 16;
      t7 = tileTheme.minVerticalPadding;
      if (t7 == null)
        t7 = 4;
      t8 = tileTheme.minLeadingWidth;
      if (t8 == null)
        t8 = 40;
      t1 = A.SafeArea$(false, A.IconTheme_merge(new A._ListTile(leadingIcon, titleText, _null, trailingIcon, false, false, theme.visualDensity, textDirection, t5, _null, t6, t7, t8, _null), new A.IconThemeData(t1, _null, _null, _null)), resolvedContentPadding, false);
      return A.InkWell$(false, _null, true, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, false, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, new A.Ink(t1, new A.ShapeDecoration(t4, _null, _null, _null, t3), _null), _null), t2, true, _null, _null, _null, _null, _null, effectiveMouseCursor, _null, _null, _null, _null, _null, _this.onTap, _null, _null, _null, _null, _null, _null);
    }
  };
  A._ListTileSlot.prototype = {
    toString$0(_) {
      return "_ListTileSlot." + this._core$_name;
    }
  };
  A._ListTile.prototype = {
    get$slots() {
      return B.List_ml5;
    },
    childForSlot$1(slot) {
      var _this = this;
      switch (slot.index) {
        case 0:
          return _this.leading;
        case 1:
          return _this.title;
        case 2:
          return _this.subtitle;
        case 3:
          return _this.trailing;
      }
    },
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A._RenderListTile(false, _this.visualDensity, false, _this.textDirection, _this.titleBaselineType, _this.subtitleBaselineType, _this.horizontalTitleGap, _this.minVerticalPadding, _this.minLeadingWidth, A.LinkedHashMap_LinkedHashMap$_empty(type$._ListTileSlot, type$.RenderBox), A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$isThreeLine(false);
      renderObject.set$isDense(false);
      renderObject.set$visualDensity(_this.visualDensity);
      renderObject.set$textDirection(_this.textDirection);
      renderObject.set$titleBaselineType(_this.titleBaselineType);
      renderObject.set$subtitleBaselineType(_this.subtitleBaselineType);
      renderObject.set$horizontalTitleGap(_this.horizontalTitleGap);
      renderObject.set$minLeadingWidth(_this.minLeadingWidth);
      renderObject.set$minVerticalPadding(_this.minVerticalPadding);
    }
  };
  A._RenderListTile.prototype = {
    get$children(_) {
      var t3,
        t1 = A._setArrayType([], type$.JSArray_RenderBox),
        t2 = this.SlottedContainerRenderObjectMixin__slotToChild;
      if (t2.$index(0, B._ListTileSlot_0) != null) {
        t3 = t2.$index(0, B._ListTileSlot_0);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._ListTileSlot_1) != null) {
        t3 = t2.$index(0, B._ListTileSlot_1);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._ListTileSlot_2) != null) {
        t3 = t2.$index(0, B._ListTileSlot_2);
        t3.toString;
        t1.push(t3);
      }
      if (t2.$index(0, B._ListTileSlot_3) != null) {
        t2 = t2.$index(0, B._ListTileSlot_3);
        t2.toString;
        t1.push(t2);
      }
      return t1;
    },
    set$isDense(value) {
      return;
    },
    set$visualDensity(value) {
      if (this._visualDensity.$eq(0, value))
        return;
      this._visualDensity = value;
      this.markNeedsLayout$0();
    },
    set$isThreeLine(value) {
      return;
    },
    set$textDirection(value) {
      if (this._list_tile$_textDirection === value)
        return;
      this._list_tile$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$titleBaselineType(value) {
      if (this._titleBaselineType === value)
        return;
      this._titleBaselineType = value;
      this.markNeedsLayout$0();
    },
    set$subtitleBaselineType(value) {
      if (this._subtitleBaselineType == value)
        return;
      this._subtitleBaselineType = value;
      this.markNeedsLayout$0();
    },
    get$_effectiveHorizontalTitleGap() {
      return this._horizontalTitleGap + this._visualDensity.horizontal * 2;
    },
    set$horizontalTitleGap(value) {
      if (this._horizontalTitleGap === value)
        return;
      this._horizontalTitleGap = value;
      this.markNeedsLayout$0();
    },
    set$minVerticalPadding(value) {
      if (this._minVerticalPadding === value)
        return;
      this._minVerticalPadding = value;
      this.markNeedsLayout$0();
    },
    set$minLeadingWidth(value) {
      if (this._minLeadingWidth === value)
        return;
      this._minLeadingWidth = value;
      this.markNeedsLayout$0();
    },
    get$sizedByParent() {
      return false;
    },
    computeMinIntrinsicWidth$1(height) {
      var t2, leadingWidth, t3,
        t1 = this.SlottedContainerRenderObjectMixin__slotToChild;
      if (t1.$index(0, B._ListTileSlot_0) != null) {
        t2 = t1.$index(0, B._ListTileSlot_0);
        leadingWidth = Math.max(t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth()), this._minLeadingWidth) + this.get$_effectiveHorizontalTitleGap();
      } else
        leadingWidth = 0;
      t2 = t1.$index(0, B._ListTileSlot_1);
      t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth());
      t3 = t1.$index(0, B._ListTileSlot_2);
      t3 = t3 == null ? 0 : t3._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t3.get$computeMinIntrinsicWidth());
      t3 = Math.max(t2, t3);
      t1 = t1.$index(0, B._ListTileSlot_3);
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return leadingWidth + t3 + t1;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t2, leadingWidth, t3,
        t1 = this.SlottedContainerRenderObjectMixin__slotToChild;
      if (t1.$index(0, B._ListTileSlot_0) != null) {
        t2 = t1.$index(0, B._ListTileSlot_0);
        leadingWidth = Math.max(t2._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth()), this._minLeadingWidth) + this.get$_effectiveHorizontalTitleGap();
      } else
        leadingWidth = 0;
      t2 = t1.$index(0, B._ListTileSlot_1);
      t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth());
      t3 = t1.$index(0, B._ListTileSlot_2);
      t3 = t3 == null ? 0 : t3._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t3.get$computeMaxIntrinsicWidth());
      t3 = Math.max(t2, t3);
      t1 = t1.$index(0, B._ListTileSlot_3);
      t1 = t1 == null ? 0 : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return leadingWidth + t3 + t1;
    },
    get$_defaultTileHeight() {
      var t1 = this.SlottedContainerRenderObjectMixin__slotToChild.$index(0, B._ListTileSlot_2),
        t2 = this._visualDensity,
        baseDensity = new A.Offset(t2.horizontal, t2.vertical).$mul(0, 4);
      if (t1 == null)
        return 56 + baseDensity._dy;
      return 72 + baseDensity._dy;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.get$_defaultTileHeight(),
        t2 = this.SlottedContainerRenderObjectMixin__slotToChild,
        t3 = t2.$index(0, B._ListTileSlot_1);
      t3 = t3._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t3.get$computeMinIntrinsicHeight());
      t2 = t2.$index(0, B._ListTileSlot_2);
      t2 = t2 == null ? null : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
      return Math.max(t1, t3 + (t2 == null ? 0 : t2));
    },
    computeMaxIntrinsicHeight$1(width) {
      return this.computeMinIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1(baseline) {
      var t1 = this.SlottedContainerRenderObjectMixin__slotToChild,
        t2 = t1.$index(0, B._ListTileSlot_1).parentData;
      t2.toString;
      t2 = type$.BoxParentData._as(t2).offset._dy;
      t1 = t1.$index(0, B._ListTileSlot_1).getDistanceToActualBaseline$1(baseline);
      t1.toString;
      return t2 + t1;
    },
    computeDryLayout$1(constraints) {
      return B.Size_0_0;
    },
    performLayout$0() {
      var looseConstraints, iconConstraints, leadingSize, trailingSize, titleStart, adjustedTrailingWidth, textConstraints, titleSize, subtitleSize, titleBaseline, subtitleBaseline, defaultTileHeight, t4, tileHeight, titleY, subtitleY, t5, titleOverlap, titleY0, leadingY, trailingY, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this.SlottedContainerRenderObjectMixin__slotToChild,
        hasLeading = t1.$index(0, B._ListTileSlot_0) != null,
        t2 = t1.$index(0, B._ListTileSlot_2) == null,
        hasSubtitle = !t2,
        hasTrailing = t1.$index(0, B._ListTileSlot_3) != null,
        t3 = _this._visualDensity,
        densityAdjustment = new A.Offset(t3.horizontal, t3.vertical).$mul(0, 4);
      t3 = constraints.maxWidth;
      looseConstraints = new A.BoxConstraints(0, t3, 0, constraints.maxHeight);
      iconConstraints = looseConstraints.enforce$1(new A.BoxConstraints(0, 1 / 0, 0, 56 + densityAdjustment._dy));
      leadingSize = A._RenderListTile__layoutBox(t1.$index(0, B._ListTileSlot_0), iconConstraints);
      trailingSize = A._RenderListTile__layoutBox(t1.$index(0, B._ListTileSlot_3), iconConstraints);
      titleStart = hasLeading ? Math.max(_this._minLeadingWidth, leadingSize._dx) + _this.get$_effectiveHorizontalTitleGap() : 0;
      adjustedTrailingWidth = hasTrailing ? Math.max(trailingSize._dx + _this.get$_effectiveHorizontalTitleGap(), 32) : 0;
      textConstraints = looseConstraints.tighten$1$width(t3 - titleStart - adjustedTrailingWidth);
      titleSize = A._RenderListTile__layoutBox(t1.$index(0, B._ListTileSlot_1), textConstraints);
      subtitleSize = A._RenderListTile__layoutBox(t1.$index(0, B._ListTileSlot_2), textConstraints);
      if (hasSubtitle) {
        titleBaseline = 32;
        subtitleBaseline = 52;
      } else {
        titleBaseline = null;
        subtitleBaseline = null;
      }
      defaultTileHeight = _this.get$_defaultTileHeight();
      t4 = titleSize._dy;
      if (t2) {
        tileHeight = Math.max(defaultTileHeight, t4 + 2 * _this._minVerticalPadding);
        titleY = (tileHeight - t4) / 2;
        subtitleY = null;
      } else {
        titleBaseline.toString;
        t2 = t1.$index(0, B._ListTileSlot_1).getDistanceToBaseline$1(_this._titleBaselineType);
        t2.toString;
        titleY = titleBaseline - t2;
        subtitleBaseline.toString;
        t2 = t1.$index(0, B._ListTileSlot_2);
        t2.toString;
        t5 = _this._subtitleBaselineType;
        t5.toString;
        t5 = t2.getDistanceToBaseline$1(t5);
        t5.toString;
        subtitleY = subtitleBaseline - t5 + _this._visualDensity.vertical * 2;
        titleOverlap = titleY + t4 - subtitleY;
        if (titleOverlap > 0) {
          t2 = titleOverlap / 2;
          titleY -= t2;
          subtitleY += t2;
        }
        titleY0 = _this._minVerticalPadding;
        if (titleY < titleY0 || subtitleY + subtitleSize._dy + titleY0 > defaultTileHeight) {
          tileHeight = t4 + subtitleSize._dy + 2 * titleY0;
          subtitleY = t4 + titleY0;
          titleY = titleY0;
        } else
          tileHeight = defaultTileHeight;
      }
      if (tileHeight > 72) {
        leadingY = 16;
        trailingY = 16;
      } else {
        leadingY = Math.min((tileHeight - leadingSize._dy) / 2, 16);
        trailingY = (tileHeight - trailingSize._dy) / 2;
      }
      switch (_this._list_tile$_textDirection.index) {
        case 0:
          if (hasLeading) {
            t2 = t1.$index(0, B._ListTileSlot_0).parentData;
            t2.toString;
            type$.BoxParentData._as(t2).offset = new A.Offset(t3 - leadingSize._dx, leadingY);
          }
          t2 = t1.$index(0, B._ListTileSlot_1).parentData;
          t2.toString;
          t4 = type$.BoxParentData;
          t4._as(t2).offset = new A.Offset(adjustedTrailingWidth, titleY);
          if (hasSubtitle) {
            t2 = t1.$index(0, B._ListTileSlot_2);
            t2.toString;
            subtitleY.toString;
            t2 = t2.parentData;
            t2.toString;
            t4._as(t2).offset = new A.Offset(adjustedTrailingWidth, subtitleY);
          }
          if (hasTrailing) {
            t1 = t1.$index(0, B._ListTileSlot_3).parentData;
            t1.toString;
            t4._as(t1).offset = new A.Offset(0, trailingY);
          }
          break;
        case 1:
          if (hasLeading) {
            t2 = t1.$index(0, B._ListTileSlot_0).parentData;
            t2.toString;
            type$.BoxParentData._as(t2).offset = new A.Offset(0, leadingY);
          }
          t2 = t1.$index(0, B._ListTileSlot_1).parentData;
          t2.toString;
          t4 = type$.BoxParentData;
          t4._as(t2).offset = new A.Offset(titleStart, titleY);
          if (hasSubtitle) {
            t2 = t1.$index(0, B._ListTileSlot_2);
            t2.toString;
            subtitleY.toString;
            t2 = t2.parentData;
            t2.toString;
            t4._as(t2).offset = new A.Offset(titleStart, subtitleY);
          }
          if (hasTrailing) {
            t1 = t1.$index(0, B._ListTileSlot_3).parentData;
            t1.toString;
            t4._as(t1).offset = new A.Offset(t3 - trailingSize._dx, trailingY);
          }
          break;
      }
      _this._box$_size = constraints.constrain$1(new A.Size(t3, tileHeight));
    },
    paint$2(context, offset) {
      var t1 = new A._RenderListTile_paint_doPaint(context, offset),
        t2 = this.SlottedContainerRenderObjectMixin__slotToChild;
      t1.call$1(t2.$index(0, B._ListTileSlot_0));
      t1.call$1(t2.$index(0, B._ListTileSlot_1));
      t1.call$1(t2.$index(0, B._ListTileSlot_2));
      t1.call$1(t2.$index(0, B._ListTileSlot_3));
    },
    hitTestSelf$1(position) {
      return true;
    },
    hitTestChildren$2$position(result, position) {
      var t1, t2, t3, _i, child, t4;
      for (t1 = this.get$children(this), t2 = t1.length, t3 = type$.BoxParentData, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t4 = child.parentData;
        t4.toString;
        t3._as(t4);
        if (result.addWithPaintOffset$3$hitTest$offset$position(new A._RenderListTile_hitTestChildren_closure(position, t4, child), t4.offset, position))
          return true;
      }
      return false;
    }
  };
  A._RenderListTile_paint_doPaint.prototype = {
    call$1(child) {
      var t1;
      if (child != null) {
        t1 = child.parentData;
        t1.toString;
        this.context.paintChild$2(child, type$.BoxParentData._as(t1).offset.$add(0, this.offset));
      }
    },
    $signature: 283
  };
  A._RenderListTile_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A.__ListTile_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin.prototype = {
    updateRenderObject$2(context, renderObject) {
      return this.super$RenderObjectWidget$updateRenderObject(context, renderObject);
    }
  };
  A.__RenderListTile_RenderBox_SlottedContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var t1, t2, _i;
      this.super$RenderObject$attach(owner);
      for (t1 = this.get$children(this), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].attach$1(owner);
    },
    detach$0(_) {
      var t1, t2, _i;
      this.super$AbstractNode$detach(0);
      for (t1 = this.get$children(this), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].detach$0(0);
    }
  };
  A.ListTileThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.dense, _this.shape, _this.style, _this.selectedColor, _this.iconColor, _this.textColor, _this.contentPadding, _this.tileColor, _this.selectedTileColor, _this.horizontalTitleGap, _this.minVerticalPadding, _this.minLeadingWidth, _this.enableFeedback, _this.mouseCursor, _this.visualDensity, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.ListTileThemeData)
        if (J.$eq$(other.shape, _this.shape))
          if (other.style == _this.style)
            if (J.$eq$(other.selectedColor, _this.selectedColor))
              if (J.$eq$(other.iconColor, _this.iconColor))
                if (J.$eq$(other.textColor, _this.textColor))
                  if (J.$eq$(other.contentPadding, _this.contentPadding))
                    if (J.$eq$(other.tileColor, _this.tileColor))
                      if (J.$eq$(other.selectedTileColor, _this.selectedTileColor))
                        if (other.horizontalTitleGap == _this.horizontalTitleGap)
                          if (other.minVerticalPadding == _this.minVerticalPadding)
                            if (other.minLeadingWidth == _this.minLeadingWidth)
                              t1 = true;
                            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;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A.ListTileTheme.prototype = {
    get$data(_) {
      var _null = null,
        t1 = this._list_tile_theme$_data;
      return t1 == null ? A.ListTileThemeData$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, this._list_tile_theme$_style, _null, _null, _null) : t1;
    },
    wrap$2(_, context, child) {
      var _null = null,
        t1 = this._list_tile_theme$_data,
        t2 = t1 != null,
        t3 = t2 ? t1.dense : _null,
        t4 = t2 ? t1.shape : _null,
        t5 = t2 ? t1.style : this._list_tile_theme$_style,
        t6 = t2 ? t1.selectedColor : _null,
        t7 = t2 ? t1.iconColor : _null,
        t8 = t2 ? t1.textColor : _null,
        t9 = t2 ? t1.contentPadding : _null,
        t10 = t2 ? t1.tileColor : _null,
        t11 = t2 ? t1.selectedTileColor : _null,
        t12 = t2 ? t1.enableFeedback : _null,
        t13 = t2 ? t1.horizontalTitleGap : _null,
        t14 = t2 ? t1.minVerticalPadding : _null;
      return A.ListTileTheme$(child, A.ListTileThemeData$(t9, t3, t12, t13, t7, t2 ? t1.minLeadingWidth : _null, t14, _null, t6, t11, t4, t5, t8, t10, _null), _null, _null);
    },
    updateShouldNotify$1(oldWidget) {
      return !this.get$data(this).$eq(0, oldWidget.get$data(oldWidget));
    }
  };
  A.ListTileTheme_merge_closure.prototype = {
    call$1(context) {
      var t2, _this = this,
        $parent = A.ListTileTheme_of(context),
        t1 = _this.iconColor;
      if (t1 == null)
        t1 = $parent.iconColor;
      t2 = _this.textColor;
      if (t2 == null)
        t2 = $parent.textColor;
      return A.ListTileTheme$(_this.child, A.ListTileThemeData$($parent.contentPadding, $parent.dense, $parent.enableFeedback, $parent.horizontalTitleGap, t1, $parent.minLeadingWidth, $parent.minVerticalPadding, null, $parent.selectedColor, $parent.selectedTileColor, $parent.shape, $parent.style, t2, $parent.tileColor, null), _this.key, null);
    },
    $signature: 766
  };
  A._ListTileThemeData_Object_Diagnosticable.prototype = {};
  A.MaterialType.prototype = {
    toString$0(_) {
      return "MaterialType." + this._core$_name;
    }
  };
  A.Material.prototype = {
    createState$0() {
      return new A._MaterialState(new A.LabeledGlobalKey("ink renderer", type$.LabeledGlobalKey_State_StatefulWidget), null, null, B._StateLifecycle_0);
    }
  };
  A._MaterialState.prototype = {
    build$1(context) {
      var modelShadowColor, modelElevation, contents, t2, shape, t3, t4, _this = this, _null = null,
        theme = A.Theme_of(context),
        theme0 = A.Theme_of(context),
        t1 = _this._widget,
        color = t1.color;
      if (color == null)
        switch (t1.type.index) {
          case 0:
            color = theme0.canvasColor;
            break;
          case 1:
            color = theme0.cardColor;
            break;
          case 3:
          case 2:
          case 4:
            break;
        }
      modelShadowColor = t1.shadowColor;
      if (modelShadowColor == null)
        modelShadowColor = theme.shadowColor;
      modelElevation = t1.elevation;
      contents = t1.child;
      t1 = t1.textStyle;
      if (t1 == null) {
        t1 = A.Theme_of(context).textTheme.bodyMedium;
        t1.toString;
      }
      t2 = _this._widget;
      contents = A.AnimatedDefaultTextStyle$(contents, B.C__Linear, t2.animationDuration, true, t1);
      t1 = t2;
      t2 = t1.type;
      contents = new A.NotificationListener(new A._MaterialState_build_closure(_this), new A._InkFeatures(color, _this, t2 !== B.MaterialType_4, contents, _this._inkFeatureRenderer), _null, type$.NotificationListener_LayoutChangedNotification);
      if (t2 === B.MaterialType_0 && t1.shape == null && t1.borderRadius == null) {
        A.Theme_of(context);
        color.toString;
        color = A.ElevationOverlay_applyOverlay(context, color, _this._widget.elevation);
        t1 = _this._widget;
        t2 = t1.animationDuration;
        t1 = t1.clipBehavior;
        return new A.AnimatedPhysicalModel(contents, B.BoxShape_0, t1, modelElevation, color, false, modelShadowColor, B.Cubic_ifx, t2, _null, _null);
      }
      shape = _this._getShape$0();
      t1 = _this._widget;
      if (t1.type === B.MaterialType_4)
        return A.ClipPath$(new A._ShapeBorderPaint(contents, shape, true, _null), t1.clipBehavior, new A.ShapeBorderClipper(shape, A.Directionality_maybeOf(context), _null));
      t2 = t1.animationDuration;
      t3 = t1.clipBehavior;
      t4 = t1.elevation;
      color.toString;
      return new A._MaterialInterior(contents, shape, true, t3, t4, color, modelShadowColor, t1.surfaceTintColor, B.Cubic_ifx, t2, _null, _null);
    },
    _getShape$0() {
      var t1 = this._widget,
        t2 = t1.shape;
      if (t2 != null)
        return t2;
      t2 = t1.borderRadius;
      if (t2 != null)
        return new A.RoundedRectangleBorder(t2, B.BorderSide_aLd);
      t1 = t1.type;
      switch (t1.index) {
        case 0:
        case 4:
          return B.RoundedRectangleBorder_ifx1;
        case 1:
        case 3:
          t1 = B.Map_gnuL2.$index(0, t1);
          t1.toString;
          return new A.RoundedRectangleBorder(t1, B.BorderSide_aLd);
        case 2:
          return B.CircleBorder_Fuf;
      }
    }
  };
  A._MaterialState_build_closure.prototype = {
    call$1(notification) {
      var t2,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this.$this._inkFeatureRenderer).get$renderObject();
      t1.toString;
      type$._RenderInkFeatures._as(t1);
      t2 = t1._inkFeatures;
      if (t2 != null && t2.length !== 0)
        t1.markNeedsPaint$0();
      return false;
    },
    $signature: 767
  };
  A._RenderInkFeatures.prototype = {
    addInkFeature$1(feature) {
      var t1 = this._inkFeatures;
      (t1 == null ? this._inkFeatures = A._setArrayType([], type$.JSArray_InkFeature) : t1).push(feature);
      this.markNeedsPaint$0();
    },
    hitTestSelf$1(position) {
      return this.absorbHitTest;
    },
    paint$2(context, offset) {
      var canvas, t2, _i, _this = this,
        t1 = _this._inkFeatures;
      if (t1 != null && t1.length !== 0) {
        canvas = context.get$canvas(context);
        canvas.save$0(0);
        canvas.translate$2(0, offset._dx, offset._dy);
        t1 = _this._box$_size;
        canvas.clipRect$1(new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy));
        for (t1 = _this._inkFeatures, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i]._paint$1(canvas);
        canvas.restore$0(0);
      }
      _this.super$RenderProxyBoxMixin$paint(context, offset);
    }
  };
  A._InkFeatures.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderInkFeatures(this.vsync, this.color, this.absorbHitTest, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.color = this.color;
      renderObject.absorbHitTest = this.absorbHitTest;
    }
  };
  A.InkFeature.prototype = {
    dispose$0() {
      var t1 = this._material$_controller,
        t2 = t1._inkFeatures;
      t2.toString;
      B.JSArray_methods.remove$1(t2, this);
      t1.markNeedsPaint$0();
      this.onRemoved.call$0();
    },
    _paint$1(canvas) {
      var t1, t2, t3, transform, index, index0,
        node = this.referenceBox,
        descendants = A._setArrayType([node], type$.JSArray_RenderObject);
      for (t1 = this._material$_controller, t2 = type$.RenderObject; node !== t1; node = t3) {
        t3 = node.get$parent(node);
        t3.toString;
        t2._as(t3);
        if (!t3.paintsChild$1(node))
          return;
        descendants.push(t3);
      }
      transform = new A.Matrix4(new Float64Array(16));
      transform.setIdentity$0();
      for (index = descendants.length - 1; index > 0; index = index0) {
        index0 = index - 1;
        descendants[index].applyPaintTransform$2(descendants[index0], transform);
      }
      this.paintFeature$2(canvas, transform);
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A.ShapeBorderTween.prototype = {
    lerp$1(t) {
      return A.ShapeBorder_lerp(this.begin, this.end, t);
    }
  };
  A._MaterialInterior.prototype = {
    createState$0() {
      return new A._MaterialInteriorState(null, null, B._StateLifecycle_0);
    }
  };
  A._MaterialInteriorState.prototype = {
    forEachTween$1(visitor) {
      var t1, _this = this;
      _this._material$_elevation = type$.nullable_Tween_double._as(visitor.call$3(_this._material$_elevation, _this._widget.elevation, new A._MaterialInteriorState_forEachTween_closure()));
      t1 = _this._widget.shadowColor;
      _this._shadowColor = t1 != null ? type$.nullable_ColorTween._as(visitor.call$3(_this._shadowColor, t1, new A._MaterialInteriorState_forEachTween_closure0())) : null;
      t1 = _this._widget.surfaceTintColor;
      _this._surfaceTintColor = t1 != null ? type$.nullable_ColorTween._as(visitor.call$3(_this._surfaceTintColor, t1, new A._MaterialInteriorState_forEachTween_closure1())) : null;
      _this._border = type$.nullable_ShapeBorderTween._as(visitor.call$3(_this._border, _this._widget.shape, new A._MaterialInteriorState_forEachTween_closure2()));
    },
    build$1(context) {
      var t2, t3, elevation, color, modelElevation, shadowColor, _this = this, _null = null,
        t1 = _this._border;
      t1.toString;
      t2 = _this.get$_implicit_animations$_animation();
      t2 = t1.transform$1(0, t2.get$value(t2));
      t2.toString;
      t1 = _this._material$_elevation;
      t1.toString;
      t3 = _this.get$_implicit_animations$_animation();
      elevation = t1.transform$1(0, t3.get$value(t3));
      A.Theme_of(context);
      color = A.ElevationOverlay_applyOverlay(context, _this._widget.color, elevation);
      modelElevation = _this._widget.shadowColor != null ? elevation : 0;
      t1 = _this._shadowColor;
      if (t1 == null)
        shadowColor = _null;
      else {
        t3 = _this.get$_implicit_animations$_animation();
        t3 = t1.transform$1(0, t3.get$value(t3));
        shadowColor = t3;
      }
      if (shadowColor == null)
        shadowColor = B.Color_0;
      t1 = A.Directionality_maybeOf(context);
      t3 = _this._widget;
      return new A.PhysicalShape(new A.ShapeBorderClipper(t2, t1, _null), t3.clipBehavior, modelElevation, color, shadowColor, new A._ShapeBorderPaint(t3.child, t2, true, _null), _null);
    }
  };
  A._MaterialInteriorState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.Tween(A._asDouble(value), null, type$.Tween_double);
    },
    $signature: 154
  };
  A._MaterialInteriorState_forEachTween_closure0.prototype = {
    call$1(value) {
      return new A.ColorTween(type$.Color._as(value), null);
    },
    $signature: 122
  };
  A._MaterialInteriorState_forEachTween_closure1.prototype = {
    call$1(value) {
      return new A.ColorTween(type$.Color._as(value), null);
    },
    $signature: 122
  };
  A._MaterialInteriorState_forEachTween_closure2.prototype = {
    call$1(value) {
      return new A.ShapeBorderTween(type$.ShapeBorder._as(value), null);
    },
    $signature: 770
  };
  A._ShapeBorderPaint.prototype = {
    build$1(context) {
      var t1 = A.Directionality_maybeOf(context);
      return A.CustomPaint$(this.child, new A._ShapeBorderPainter(this.shape, t1, null), null, null, B.Size_0_0);
    }
  };
  A._ShapeBorderPainter.prototype = {
    paint$2(canvas, size) {
      this.border.paint$3$textDirection(canvas, new A.Rect(0, 0, 0 + size._dx, 0 + size._dy), this.textDirection);
    },
    shouldRepaint$1(oldDelegate) {
      return !oldDelegate.border.$eq(0, this.border);
    }
  };
  A.__MaterialState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._MaterialLocalizationsDelegate.prototype = {
    isSupported$1(locale) {
      return locale.get$languageCode(locale) === "en";
    },
    load$1(_, locale) {
      return new A.SynchronousFuture(B.C_DefaultMaterialLocalizations, type$.SynchronousFuture_MaterialLocalizations);
    },
    shouldReload$1(old) {
      return false;
    },
    toString$0(_) {
      return "DefaultMaterialLocalizations.delegate(en_US)";
    }
  };
  A.DefaultMaterialLocalizations.prototype = {$isMaterialLocalizations: 1};
  A.MaterialState.prototype = {
    toString$0(_) {
      return "MaterialState." + this._core$_name;
    }
  };
  A.MaterialStateMouseCursor.prototype = {
    createSession$1(device) {
      return this.resolve$1(A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState)).createSession$1(device);
    },
    $isMaterialStateProperty: 1
  };
  A._EnabledAndDisabledMouseCursor.prototype = {
    resolve$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return B.SystemMouseCursor_basic;
      return this.enabledCursor;
    },
    get$debugDescription() {
      return "MaterialStateMouseCursor(" + this.name + ")";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.MaterialStateProperty.prototype = {};
  A._LerpProperties0.prototype = {
    resolve$1(states) {
      var resolvedB, _this = this,
        t1 = _this.a,
        resolvedA = t1 == null ? null : t1.resolve$1(states);
      t1 = _this.b;
      resolvedB = t1 == null ? null : t1.resolve$1(states);
      return _this.lerpFunction.call$3(resolvedA, resolvedB, _this.t);
    },
    $isMaterialStateProperty: 1
  };
  A._MaterialStatePropertyWith.prototype = {
    resolve$1(states) {
      return this._material_state$_resolve.call$1(states);
    },
    $isMaterialStateProperty: 1
  };
  A.MaterialStatePropertyAll.prototype = {
    resolve$1(states) {
      return this.value;
    },
    toString$0(_) {
      return "MaterialStatePropertyAll(" + A.S(this.value) + ")";
    },
    $isMaterialStateProperty: 1
  };
  A.MaterialStateMixin.prototype = {
    updateMaterialState$2$onChanged(key, onChanged) {
      return new A.MaterialStateMixin_updateMaterialState_closure(this, key, onChanged);
    },
    updateMaterialState$1(key) {
      return this.updateMaterialState$2$onChanged(key, null);
    },
    addMaterialState$1(state) {
      if (this.MaterialStateMixin_materialStates.add$1(0, state))
        this.setState$1(new A.MaterialStateMixin_addMaterialState_closure());
    },
    removeMaterialState$1(state) {
      if (this.MaterialStateMixin_materialStates.remove$1(0, state))
        this.setState$1(new A.MaterialStateMixin_removeMaterialState_closure());
    }
  };
  A.MaterialStateMixin_updateMaterialState_closure.prototype = {
    call$1(value) {
      var t1 = this.$this,
        t2 = this.key;
      if (t1.MaterialStateMixin_materialStates.contains$1(0, t2) === value)
        return;
      if (value)
        t1.addMaterialState$1(t2);
      else
        t1.removeMaterialState$1(t2);
    },
    $signature: 10
  };
  A.MaterialStateMixin_addMaterialState_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.MaterialStateMixin_removeMaterialState_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.NavigationIndicator.prototype = {
    build$1(context) {
      var t1 = this.animation;
      return A.AnimatedBuilder$(t1, new A.NavigationIndicator_build_closure(this), new A._StatusTransitionWidgetBuilder(new A.NavigationIndicator_build_closure0(this), t1, null));
    }
  };
  A.NavigationIndicator_build_closure.prototype = {
    call$2(context, child) {
      var t1 = this.$this.animation;
      return A.Transform$(B.Alignment_0_0, child, A.Matrix4_Matrix4$diagonal3Values(t1.get$status(t1) === B.AnimationStatus_0 ? 0 : new A.Tween(0.4, 1, type$.Tween_double).transform$1(0, new A.CurveTween(B.C_ThreePointCubic).transform$1(0, t1.get$value(t1))), 1, 1), true);
    },
    $signature: 297
  };
  A.NavigationIndicator_build_closure0.prototype = {
    call$2(context, child) {
      var t1 = this.$this,
        t2 = t1.animation;
      t2 = t2.get$status(t2) === B.AnimationStatus_1 || t2.get$status(t2) === B.AnimationStatus_3;
      return new A._SelectableAnimatedBuilder(t2, B.Duration_100000, true, new A.NavigationIndicator_build__closure(t1), null);
    },
    $signature: 771
  };
  A.NavigationIndicator_build__closure.prototype = {
    call$2(context, fadeAnimation) {
      var t3, _null = null,
        t1 = this.$this,
        t2 = t1.shape;
      if (t2 == null)
        t2 = new A.RoundedRectangleBorder(t1.borderRadius, B.BorderSide_aLd);
      t3 = t1.color;
      return A.FadeTransition$(false, A.Container$(_null, _null, B.Clip_0, _null, _null, new A.ShapeDecoration(t3 == null ? A.Theme_of(context).colorScheme.secondary : t3, _null, _null, _null, t2), _null, t1.height, _null, _null, _null, _null, _null, t1.width), fadeAnimation);
    },
    $signature: 772
  };
  A._StatusTransitionWidgetBuilder.prototype = {
    builder$2(arg0, arg1) {
      return this.builder.call$2(arg0, arg1);
    }
  };
  A._SelectableAnimatedBuilder.prototype = {
    createState$0() {
      return new A._SelectableAnimatedBuilderState(null, null, B._StateLifecycle_0);
    },
    builder$2(arg0, arg1) {
      return this.builder.call$2(arg0, arg1);
    }
  };
  A._SelectableAnimatedBuilderState.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this.___SelectableAnimatedBuilderState__controller = A.AnimationController$(_null, _null, 0, _null, 1, _null, _this);
      t2 = _this._widget;
      t1.duration = t2.duration;
      t1.set$value(0, t2.isSelected ? 1 : 0);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.duration;
      if (oldWidget.duration._duration !== t2._duration) {
        t3 = _this.___SelectableAnimatedBuilderState__controller;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.duration = t2;
      }
      t1 = t1.isSelected;
      if (oldWidget.isSelected !== t1) {
        t2 = _this.___SelectableAnimatedBuilderState__controller;
        if (t1) {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.forward$1$from(0, 0);
        } else {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.reverse$1$from(0, 1);
        }
      }
    },
    dispose$0() {
      var t1 = this.___SelectableAnimatedBuilderState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this.___SelectableAnimatedBuilderState__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.builder$2(context, t2);
    }
  };
  A.__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.NavigationBarThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.height, _this.backgroundColor, _this.surfaceTintColor, _this.elevation, _this.indicatorColor, _this.indicatorShape, _this.labelTextStyle, _this.iconTheme, _this.labelBehavior, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.NavigationBarThemeData && other.height == _this.height && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.surfaceTintColor, _this.surfaceTintColor) && other.elevation == _this.elevation && J.$eq$(other.indicatorColor, _this.indicatorColor) && J.$eq$(other.indicatorShape, _this.indicatorShape) && other.labelTextStyle == _this.labelTextStyle && other.iconTheme == _this.iconTheme && true;
    }
  };
  A._NavigationBarThemeData_Object_Diagnosticable.prototype = {};
  A.NavigationRail.prototype = {
    createState$0() {
      return new A._NavigationRailState(null, null, B._StateLifecycle_0);
    }
  };
  A._NavigationRailState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._initControllers$0();
    },
    dispose$0() {
      this._disposeControllers$0();
      this.super$__NavigationRailState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      if (t1.destinations.length !== oldWidget.destinations.length) {
        _this._disposeControllers$0();
        _this._initControllers$0();
        return;
      }
      t2 = oldWidget.selectedIndex;
      if (t1.selectedIndex !== t2) {
        t1 = _this.___NavigationRailState__destinationControllers;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1[t2].reverse$0(0);
        t1 = _this._widget;
        t1.toString;
        t2 = _this.___NavigationRailState__destinationControllers;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2[t1.selectedIndex].forward$0(0);
        return;
      }
    },
    build$1(context) {
      var navigationRailTheme, defaults, backgroundColor, elevation, minWidth, minExtendedWidth, unselectedLabelTextStyle, selectedLabelTextStyle, unselectedIconTheme, selectedIconTheme, t1, groupAlignment, labelType, useIndicator, indicatorColor, effectiveUnselectedIconTheme, t2, t3, t4, t5, i, t6, t7, t8, t9, t10, t0, t11, t12, t13, t14, i0, t15, t16, t17, t18, _this = this, _null = null;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.NavigationRailTheme);
      navigationRailTheme = A.Theme_of(context).navigationRailTheme;
      A.Theme_of(context);
      defaults = new A._DefaultsM22(A.Theme_of(context), A.Theme_of(context).colorScheme, _null, 0, _null, _null, _null, _null, -1, B.NavigationRailLabelType_0, false, _null, 72, 256);
      A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      _this._widget.toString;
      backgroundColor = navigationRailTheme.backgroundColor;
      if (backgroundColor == null)
        backgroundColor = defaults.get$backgroundColor(defaults);
      elevation = _this._widget.elevation;
      minWidth = navigationRailTheme.minWidth;
      if (minWidth == null)
        minWidth = 72;
      minExtendedWidth = navigationRailTheme.minExtendedWidth;
      if (minExtendedWidth == null)
        minExtendedWidth = 256;
      unselectedLabelTextStyle = navigationRailTheme.unselectedLabelTextStyle;
      if (unselectedLabelTextStyle == null)
        unselectedLabelTextStyle = defaults.get$unselectedLabelTextStyle();
      _this._widget.toString;
      selectedLabelTextStyle = navigationRailTheme.selectedLabelTextStyle;
      if (selectedLabelTextStyle == null)
        selectedLabelTextStyle = defaults.get$selectedLabelTextStyle();
      _this._widget.toString;
      unselectedIconTheme = navigationRailTheme.unselectedIconTheme;
      if (unselectedIconTheme == null)
        unselectedIconTheme = defaults.get$unselectedIconTheme();
      _this._widget.toString;
      selectedIconTheme = navigationRailTheme.selectedIconTheme;
      if (selectedIconTheme == null)
        selectedIconTheme = defaults.get$selectedIconTheme();
      t1 = _this._widget;
      t1.toString;
      groupAlignment = navigationRailTheme.groupAlignment;
      if (groupAlignment == null)
        groupAlignment = -1;
      labelType = t1.labelType;
      useIndicator = navigationRailTheme.useIndicator === true;
      indicatorColor = navigationRailTheme.indicatorColor;
      if (indicatorColor == null)
        indicatorColor = defaults.indicatorColor;
      A.Theme_of(context);
      t1 = unselectedIconTheme._opacity;
      t1 = t1 == null ? _null : A.clampDouble(t1, 0, 1);
      if (t1 == null) {
        t1 = defaults.get$unselectedIconTheme()._opacity;
        t1 = t1 == null ? _null : A.clampDouble(t1, 0, 1);
      }
      effectiveUnselectedIconTheme = unselectedIconTheme.copyWith$1$opacity(t1);
      t1 = _this.___NavigationRailState__extendedAnimation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.JSArray_Widget;
      t3 = A._setArrayType([B.SizedBox_null_8_null_null], t2);
      _this._widget.toString;
      t2 = A._setArrayType([], t2);
      for (t4 = type$.JSArray_of_void_Function_AnimationStatus, t5 = type$.ObserverList_of_void_Function_AnimationStatus, i = 0; t6 = _this._widget, t7 = t6.destinations, t8 = t7.length, i < t8; i = i0) {
        t9 = _this.___NavigationRailState__extendedAnimation;
        if (t9 === $)
          A.throwUnnamedLateFieldNI();
        t6 = t6.selectedIndex === i;
        if (t6) {
          t7 = t7[i];
          t10 = t7.selectedIcon;
          t0 = t10;
          t10 = t7;
          t7 = t0;
        } else {
          t7 = t7[i];
          t10 = t7.icon;
          t0 = t10;
          t10 = t7;
          t7 = t0;
        }
        t11 = _this.___NavigationRailState__destinationAnimations;
        if (t11 === $)
          A.throwUnnamedLateFieldNI();
        t11 = t11[i];
        t12 = t6 ? selectedIconTheme : effectiveUnselectedIconTheme;
        t13 = t6 ? selectedLabelTextStyle : unselectedLabelTextStyle;
        t14 = useIndicator ? indicatorColor : _null;
        i0 = i + 1;
        t15 = A._setArrayType([], t4);
        t16 = new A.ObserverList(t15, t5);
        t17 = new A.ReverseAnimation(t11, t16, 0);
        t18 = new A.CurvedAnimation(t17, B.Cubic_xDo, new A.FlippedCurve(B.Cubic_xDo));
        t18._updateCurveDirection$1(t17.get$status(t17));
        t17.didRegisterListener$0();
        t16._isDirty = true;
        t15.push(t18.get$_updateCurveDirection());
        t2.push(new A._RailDestination(minWidth, minExtendedWidth, t7, t10.label, t11, labelType, t6, t9, t12, t13, new A._NavigationRailState_build_closure(_this, i), "Tab " + i0 + " of " + t8, _null, useIndicator, t14, t18, _null));
      }
      t3.push(A.Expanded$(new A.Align(new A.Alignment(0, groupAlignment), _null, _null, A.Column$(t2, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, B.VerticalDirection_1), _null), 1));
      t2 = A.Material$(B.Duration_200000, true, _null, A.Column$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, backgroundColor, elevation, _null, _null, _null, _null, _null, B.MaterialType_0);
      return new A._ExtendedNavigationRailAnimation(t1, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, t2, _null), _null);
    },
    _disposeControllers$0() {
      var t2, _i, controller, t3, value, result,
        t1 = this.___NavigationRailState__destinationControllers;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        controller = t1[_i];
        controller._ticker.dispose$0();
        controller._ticker = null;
        t3 = controller.AnimationLocalStatusListenersMixin__statusListeners;
        t3._isDirty = false;
        B.JSArray_methods.clear$0(t3._list);
        value = t3.__ObserverList__set;
        if (value === $) {
          result = A.HashSet_HashSet(t3.$ti._precomputed1);
          if (t3.__ObserverList__set !== $)
            A.throwUnnamedLateFieldADI();
          t3.__ObserverList__set = result;
          value = result;
        }
        if (value._collection$_length > 0) {
          value._collection$_strings = value._collection$_nums = value._collection$_rest = value._elements = null;
          value._collection$_length = 0;
        }
        t3 = controller.AnimationLocalListenersMixin__listeners;
        t3._isDirty = false;
        B.JSArray_methods.clear$0(t3._list);
        value = t3.__ObserverList__set;
        if (value === $) {
          result = A.HashSet_HashSet(t3.$ti._precomputed1);
          if (t3.__ObserverList__set !== $)
            A.throwUnnamedLateFieldADI();
          t3.__ObserverList__set = result;
          value = result;
        }
        if (value._collection$_length > 0) {
          value._collection$_strings = value._collection$_nums = value._collection$_rest = value._elements = null;
          value._collection$_length = 0;
        }
        controller.super$AnimationEagerListenerMixin$dispose();
      }
      t1 = this.___NavigationRailState__extendedController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
    },
    _initControllers$0() {
      var t1, index, t2, t3, _this = this, _null = null,
        _length = _this._widget.destinations.length,
        _list = J.JSArray_JSArray$allocateGrowable(_length, type$.AnimationController);
      for (t1 = _this.get$_navigation_rail$_rebuild(), index = 0; index < _length; ++index) {
        t2 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
        t2.didRegisterListener$0();
        t3 = t2.AnimationLocalListenersMixin__listeners;
        t3._isDirty = true;
        t3._list.push(t1);
        _list[index] = t2;
      }
      _this.___NavigationRailState__destinationControllers = _list;
      t1 = A._arrayInstanceType(_list)._eval$1("MappedListIterable<1,Animation<double>>");
      _this.___NavigationRailState__destinationAnimations = A.List_List$of(new A.MappedListIterable(_list, new A._NavigationRailState__initControllers_closure(), t1), true, t1._eval$1("ListIterable.E"));
      t1 = _this._widget;
      t1.toString;
      t2 = _this.___NavigationRailState__destinationControllers;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2[t1.selectedIndex].set$value(0, 1);
      _this._widget.toString;
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, 0, _this);
      _this.___NavigationRailState__extendedController = t1;
      _this.___NavigationRailState__extendedAnimation = A.CurvedAnimation$(B.Cubic_xDo, t1, _null);
      t1 = _this.___NavigationRailState__extendedController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(new A._NavigationRailState__initControllers_closure0(_this));
    },
    _navigation_rail$_rebuild$0() {
      this.setState$1(new A._NavigationRailState__rebuild_closure());
    }
  };
  A._NavigationRailState_build_closure.prototype = {
    call$0() {
      var t1 = this.$this._widget.onDestinationSelected;
      if (t1 != null)
        t1.call$1(this.i);
    },
    $signature: 0
  };
  A._NavigationRailState__initControllers_closure.prototype = {
    call$1(controller) {
      return controller;
    },
    $signature: 773
  };
  A._NavigationRailState__initControllers_closure0.prototype = {
    call$0() {
      this.$this._navigation_rail$_rebuild$0();
    },
    $signature: 0
  };
  A._NavigationRailState__rebuild_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._RailDestination.prototype = {
    build$1(context) {
      var themedIcon, t1, styledLabel, t2, t3, t4, iconPart, $content, appearingAnimationValue, interval, minHeight, topSpacing, labelSpacing, bottomSpacing, _this = this, _null = null;
      A.Theme_of(context);
      themedIcon = A.IconTheme$(_this.icon, _this.iconTheme, _null);
      t1 = _this.label;
      styledLabel = A.DefaultTextStyle$(t1, _null, _null, B.TextOverflow_0, true, _this.labelTextStyle, _null, _null, B.TextWidthBasis_0);
      switch (_this.labelType.index) {
        case 0:
          t2 = type$.JSArray_Widget;
          t3 = A._setArrayType([], t2);
          t4 = _this.minWidth;
          t3.push(A.SizedBox$(A.Center$(new A._AddIndicator(_this.useIndicator, true, _this.indicatorColor, _this.destinationAnimation, themedIcon, _null), _null, _null, _null), t4, t4));
          iconPart = A.Column$(t3, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
          t3 = _this.extendedTransitionAnimation;
          if (t3.get$value(t3) === 0)
            $content = new A.Padding(B.EdgeInsets_0_0_0_0, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([iconPart, A.SizedBox$(A.Opacity$(true, t1, 0), 0, 0)], t2), _null), _null);
          else {
            type$.Animation_double._as(t3);
            t1 = A.lerpDouble(t4, _this.minExtendedWidth, t3.get$value(t3));
            t1.toString;
            $content = new A.Padding(B.EdgeInsets_0_0_0_0, new A.ConstrainedBox(new A.BoxConstraints(t1, 1 / 0, 0, 1 / 0), A.ClipRect$(A.Row$(A._setArrayType([iconPart, new A.Align(B.AlignmentDirectional_m1_0, t3.get$value(t3), 1, A.FadeTransition$(true, styledLabel, new A._AnimatedEvaluation(t3, new A.CurveTween(B.Interval_75R4), type$.CurveTween._eval$1("_AnimatedEvaluation<Animatable.T>"))), _null), A.SizedBox$(_null, _null, 8 * t3.get$value(t3))], t2), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), B.Clip_1, _null), _null), _null);
          }
          break;
        case 1:
          t1 = _this._positionAnimation;
          appearingAnimationValue = 1 - t1.get$value(t1);
          t1 = A.lerpDouble(24, 16, appearingAnimationValue);
          t1.toString;
          interval = _this.selected ? B.Interval_75R7 : B.Interval_75R5;
          t2 = type$.Animation_double._as(_this.destinationAnimation);
          minHeight = _this.minWidth;
          topSpacing = A.SizedBox$(_null, t1, _null);
          labelSpacing = A.SizedBox$(_null, 0, _null);
          bottomSpacing = A.SizedBox$(_null, t1, _null);
          $content = A.Container$(_null, A.ClipRect$(A.Column$(A._setArrayType([topSpacing, new A._AddIndicator(_this.useIndicator, false, _this.indicatorColor, t2, themedIcon, _null), labelSpacing, new A.Align(B.Alignment_0_m1, 1, appearingAnimationValue, A.FadeTransition$(true, styledLabel, new A._AnimatedEvaluation(t2, new A.CurveTween(interval), type$.CurveTween._eval$1("_AnimatedEvaluation<Animatable.T>"))), _null), bottomSpacing], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_2, B.MainAxisSize_0, B.VerticalDirection_1), B.Clip_1, _null), B.Clip_0, _null, new A.BoxConstraints(minHeight, 1 / 0, minHeight, 1 / 0), _null, _null, _null, _null, _null, B.EdgeInsets_8_0_8_0, _null, _null, _null);
          break;
        case 2:
          minHeight = _this.minWidth;
          topSpacing = A.SizedBox$(_null, 16, _null);
          labelSpacing = A.SizedBox$(_null, 0, _null);
          bottomSpacing = A.SizedBox$(_null, 16, _null);
          $content = A.Container$(_null, A.Column$(A._setArrayType([topSpacing, new A._AddIndicator(_this.useIndicator, false, _this.indicatorColor, _this.destinationAnimation, themedIcon, _null), labelSpacing, styledLabel, bottomSpacing], type$.JSArray_Widget), B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1), B.Clip_0, _null, new A.BoxConstraints(minHeight, 1 / 0, minHeight, 1 / 0), _null, _null, _null, _null, _null, B.EdgeInsets_8_0_8_0, _null, _null, _null);
          break;
        default:
          $content = _null;
      }
      t1 = A.Theme_of(context);
      t2 = _this.minWidth / 2;
      t2 = A.BorderRadius$all(new A.Radius(t2, t2));
      t1 = t1.colorScheme.primary;
      t3 = A.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      t3 = A.Material$(B.Duration_200000, true, _null, A.InkResponse$(false, t2, true, $content, true, _null, true, false, _null, _null, _null, B.BoxShape_0, A.Color$fromARGB(10, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255), _null, _null, _null, _null, _null, new A._RailDestination_build_closure(), _null, _this.onTap, _null, _null, _null, _null, _null, t3, _null), B.Clip_0, _null, 0, _null, _null, _null, _null, _null, B.MaterialType_4);
      t1 = A._setArrayType([t3, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.indexLabel, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, _null, _null)], type$.JSArray_Widget);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.selected, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, t1, _null), _null);
    }
  };
  A._RailDestination_build_closure.prototype = {
    call$1(_) {
    },
    $signature: 10
  };
  A._AddIndicator.prototype = {
    build$1(context) {
      var indicator, t1, t2, _this = this;
      if (!_this.addIndicator)
        return _this.child;
      indicator = A._Cell$named("indicator");
      t1 = _this.indicatorAnimation;
      t2 = _this.indicatorColor;
      if (_this.isCircular)
        indicator.set$finalLocalValue(A.NavigationIndicator$(t1, A.BorderRadius$circular(28), t2, 56, null, 56));
      else
        indicator.set$finalLocalValue(A.NavigationIndicator$(t1, B.BorderRadius_tLn4, t2, 32, B.StadiumBorder_sAO, 56));
      return new A.Stack(B.Alignment_0_0, null, B.StackFit_0, B.Clip_1, A._setArrayType([indicator._readLocal$0(), _this.child], type$.JSArray_Widget), null);
    }
  };
  A.NavigationRailLabelType.prototype = {
    toString$0(_) {
      return "NavigationRailLabelType." + this._core$_name;
    }
  };
  A.NavigationRailDestination.prototype = {};
  A._ExtendedNavigationRailAnimation.prototype = {
    updateShouldNotify$1(old) {
      return this.animation !== old.animation;
    }
  };
  A._DefaultsM22.prototype = {
    get$backgroundColor(_) {
      return this._navigation_rail$_colors.surface;
    },
    get$unselectedLabelTextStyle() {
      var t2,
        t1 = this._navigation_rail$_theme.textTheme.bodyLarge;
      t1.toString;
      t2 = this._navigation_rail$_colors.onSurface.value;
      return t1.copyWith$1$color(A.Color$fromARGB(163, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255));
    },
    get$selectedLabelTextStyle() {
      return this._navigation_rail$_theme.textTheme.bodyLarge.copyWith$1$color(this._navigation_rail$_colors.primary);
    },
    get$unselectedIconTheme() {
      return new A.IconThemeData(this._navigation_rail$_colors.onSurface, 0.64, 24, null);
    },
    get$selectedIconTheme() {
      return new A.IconThemeData(this._navigation_rail$_colors.primary, 1, 24, null);
    }
  };
  A.__NavigationRailState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.NavigationRailThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$backgroundColor(_this), _this.elevation, _this.get$unselectedLabelTextStyle(), _this.get$selectedLabelTextStyle(), _this.get$unselectedIconTheme(), _this.get$selectedIconTheme(), _this.groupAlignment, _this.labelType, _this.useIndicator, _this.get$indicatorColor(), _this.minWidth, _this.minExtendedWidth, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.NavigationRailThemeData && J.$eq$(other.get$backgroundColor(other), _this.get$backgroundColor(_this)) && other.elevation == _this.elevation && J.$eq$(other.get$unselectedLabelTextStyle(), _this.get$unselectedLabelTextStyle()) && J.$eq$(other.get$selectedLabelTextStyle(), _this.get$selectedLabelTextStyle()) && J.$eq$(other.get$unselectedIconTheme(), _this.get$unselectedIconTheme()) && J.$eq$(other.get$selectedIconTheme(), _this.get$selectedIconTheme()) && other.groupAlignment == _this.groupAlignment && other.labelType == _this.labelType && other.useIndicator == _this.useIndicator && J.$eq$(other.get$indicatorColor(), _this.get$indicatorColor()) && other.minWidth == _this.minWidth && other.minExtendedWidth == _this.minExtendedWidth;
    },
    get$backgroundColor(receiver) {
      return this.backgroundColor;
    },
    get$unselectedLabelTextStyle() {
      return this.unselectedLabelTextStyle;
    },
    get$selectedLabelTextStyle() {
      return this.selectedLabelTextStyle;
    },
    get$unselectedIconTheme() {
      return this.unselectedIconTheme;
    },
    get$selectedIconTheme() {
      return this.selectedIconTheme;
    },
    get$indicatorColor() {
      return this.indicatorColor;
    }
  };
  A._NavigationRailThemeData_Object_Diagnosticable.prototype = {};
  A.OutlinedButton.prototype = {
    defaultStyleOf$1(context) {
      var t1, t2,
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme;
      A.Theme_of(context);
      t1 = A._scaledPadding1(context);
      t2 = A.Theme_of(context).colorScheme.onSurface.value;
      t2 = A.OutlinedButton_styleFrom(B.Alignment_0_0, B.Duration_200000, B.Color_0, B.SystemMouseCursor_basic, 0, true, B.SystemMouseCursor_click, null, B.Size_wjo, B.Size_64_36, colorScheme.onSurface, t1, colorScheme.primary, theme.shadowColor, B.RoundedRectangleBorder_ifx0, new A.BorderSide(A.Color$fromARGB(31, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255), 1, B.BorderStyle_1, B.StrokeAlign_0), B.C__InkRippleFactory, theme.materialTapTargetSize, theme.textTheme.labelLarge, theme.visualDensity);
      return t2;
    },
    themeStyleOf$1(context) {
      var t1;
      context.dependOnInheritedWidgetOfExactType$1$0(type$.OutlinedButtonTheme);
      t1 = A.Theme_of(context);
      return t1.outlinedButtonTheme.style;
    }
  };
  A._OutlinedButtonDefaultForeground.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = A.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.primary;
    }
  };
  A._OutlinedButtonDefaultOverlay.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_0)) {
        t1 = this.primary;
        return A.Color$fromARGB(10, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      if (states.contains$1(0, B.MaterialState_1) || states.contains$1(0, B.MaterialState_2)) {
        t1 = this.primary;
        return A.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    }
  };
  A._OutlinedButtonDefaultMouseCursor.prototype = {
    resolve$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.disabledCursor;
      return this.enabledCursor;
    }
  };
  A.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable.prototype = {};
  A.OutlinedButtonThemeData.prototype = {
    get$hashCode(_) {
      return J.get$hashCode$(this.style);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.OutlinedButtonThemeData && J.$eq$(other.style, this.style);
    }
  };
  A._OutlinedButtonThemeData_Object_Diagnosticable.prototype = {};
  A.MaterialRouteTransitionMixin.prototype = {
    get$transitionDuration(_) {
      return B.Duration_300000;
    },
    get$barrierColor() {
      return null;
    },
    get$barrierLabel() {
      return null;
    },
    canTransitionTo$1(nextRoute) {
      var t1;
      if (type$.MaterialRouteTransitionMixin_dynamic._is(nextRoute)) {
        nextRoute.get$fullscreenDialog();
        t1 = true;
      } else
        t1 = false;
      if (!t1)
        t1 = false;
      else
        t1 = true;
      return t1;
    },
    buildPage$3(context, animation, secondaryAnimation) {
      var _null = null,
        result = this.buildContent$1(context);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, result, _null);
    },
    buildTransitions$4(context, animation, secondaryAnimation, child) {
      var platform, matchingBuilder;
      A.Theme_of(context);
      platform = A.Theme_of(context).platform;
      matchingBuilder = B.Map_DVCx1.$index(0, this._navigator$_navigator.userGestureInProgressNotifier._change_notifier$_value ? B.TargetPlatform_2 : platform);
      if (matchingBuilder == null)
        matchingBuilder = B.C_ZoomPageTransitionsBuilder;
      return matchingBuilder.buildTransitions$1$5(this, context, animation, secondaryAnimation, child, A._instanceType(this)._precomputed1);
    }
  };
  A.MaterialPage.prototype = {};
  A._PageBasedMaterialPageRoute.prototype = {
    buildContent$1(context) {
      return this.$ti._eval$1("MaterialPage<1>")._as(this._settings).child;
    },
    get$maintainState() {
      this.$ti._eval$1("MaterialPage<1>")._as(this._settings);
      return true;
    },
    get$fullscreenDialog() {
      this.$ti._eval$1("MaterialPage<1>")._as(this._settings);
      return false;
    },
    get$debugLabel() {
      return A.TransitionRoute.prototype.get$debugLabel.call(this) + "(" + A.S(this.$ti._eval$1("MaterialPage<1>")._as(this._settings).name) + ")";
    }
  };
  A.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin.prototype = {};
  A._ZoomPageTransition.prototype = {
    build$1(context) {
      return new A.DualTransitionBuilder(this.animation, new A._ZoomPageTransition_build_closure(), new A._ZoomPageTransition_build_closure0(), new A.DualTransitionBuilder(new A.ReverseAnimation(this.secondaryAnimation, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), 0), new A._ZoomPageTransition_build_closure1(), new A._ZoomPageTransition_build_closure2(), this.child, null), null);
    }
  };
  A._ZoomPageTransition_build_closure.prototype = {
    call$3(context, animation, child) {
      return new A._ZoomEnterTransition(animation, child, false, null);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 282
  };
  A._ZoomPageTransition_build_closure0.prototype = {
    call$3(context, animation, child) {
      return new A._ZoomExitTransition(animation, true, child, null);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 281
  };
  A._ZoomPageTransition_build_closure1.prototype = {
    call$3(context, animation, child) {
      return new A._ZoomEnterTransition(animation, child, true, null);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 282
  };
  A._ZoomPageTransition_build_closure2.prototype = {
    call$3(context, animation, child) {
      return new A._ZoomExitTransition(animation, false, child, null);
    },
    "call*": "call$3",
    $requiredArgCount: 3,
    $signature: 281
  };
  A._ZoomEnterTransition.prototype = {
    build$1(context) {
      var t2, t3, fadeTransition, _this = this, t1 = {};
      t1.opacity = 0;
      t2 = _this.reverse;
      if (!t2) {
        t3 = _this.animation;
        t3 = t3.get$status(t3) !== B.AnimationStatus_3;
      } else
        t3 = false;
      if (t3) {
        t3 = _this.animation;
        t3 = $.$get$_ZoomEnterTransition__scrimOpacityTween().transform$1(0, t3.get$value(t3));
        t3.toString;
        t1.opacity = t3;
      }
      if (t2)
        fadeTransition = B.C__AlwaysCompleteAnimation;
      else {
        t3 = $.$get$_ZoomEnterTransition__fadeInTransition();
        fadeTransition = new A._AnimatedEvaluation(_this.animation, t3, A._instanceType(t3)._eval$1("_AnimatedEvaluation<Animatable.T>"));
      }
      t2 = t2 ? $.$get$_ZoomEnterTransition__scaleDownTransition() : $.$get$_ZoomEnterTransition__scaleUpTransition();
      t3 = _this.animation;
      return A.AnimatedBuilder$(t3, new A._ZoomEnterTransition_build_closure(t1), A.FadeTransition$(false, A.ScaleTransition$(_this.child, new A._AnimatedEvaluation(t3, t2, A._instanceType(t2)._eval$1("_AnimatedEvaluation<Animatable.T>"))), fadeTransition));
    }
  };
  A._ZoomEnterTransition_build_closure.prototype = {
    call$2(context, child) {
      return new A.ColoredBox(A.Color$fromARGB(B.JSNumber_methods.round$0(255 * this._box_0.opacity), 0, 0, 0), child, null);
    },
    $signature: 776
  };
  A._ZoomExitTransition.prototype = {
    build$1(context) {
      var t2, fadeTransition, _this = this,
        t1 = _this.reverse;
      if (t1) {
        t2 = $.$get$_ZoomExitTransition__fadeOutTransition();
        fadeTransition = new A._AnimatedEvaluation(_this.animation, t2, A._instanceType(t2)._eval$1("_AnimatedEvaluation<Animatable.T>"));
      } else
        fadeTransition = B.C__AlwaysCompleteAnimation;
      t1 = t1 ? $.$get$_ZoomExitTransition__scaleDownTransition() : $.$get$_ZoomExitTransition__scaleUpTransition();
      return A.FadeTransition$(false, A.ScaleTransition$(_this.child, new A._AnimatedEvaluation(_this.animation, t1, A._instanceType(t1)._eval$1("_AnimatedEvaluation<Animatable.T>"))), fadeTransition);
    }
  };
  A.PageTransitionsBuilder.prototype = {};
  A.ZoomPageTransitionsBuilder.prototype = {
    buildTransitions$1$5(route, context, animation, secondaryAnimation, child) {
      return new A._ZoomPageTransition(animation, secondaryAnimation, child, null);
    }
  };
  A.CupertinoPageTransitionsBuilder.prototype = {
    buildTransitions$1$5(route, context, animation, secondaryAnimation, child, $T) {
      return A.CupertinoRouteTransitionMixin_buildPageTransitions(route, context, animation, secondaryAnimation, child, $T);
    }
  };
  A.PageTransitionsTheme.prototype = {
    _all$1(builders) {
      var t1 = type$.MappedListIterable_of_TargetPlatform_and_nullable_PageTransitionsBuilder;
      return A.List_List$of(new A.MappedListIterable(B.List_4fl, new A.PageTransitionsTheme__all_closure(builders), t1), true, t1._eval$1("ListIterable.E"));
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      t1 = other instanceof A.PageTransitionsTheme;
      if (t1 && true)
        return true;
      return t1 && A.listEquals(_this._all$1(B.Map_DVCx1), _this._all$1(B.Map_DVCx1));
    },
    get$hashCode(_) {
      return A.Object_hashAll(this._all$1(B.Map_DVCx1));
    }
  };
  A.PageTransitionsTheme__all_closure.prototype = {
    call$1(platform) {
      return this.builders.$index(0, platform);
    },
    $signature: 777
  };
  A._PageTransitionsTheme_Object_Diagnosticable.prototype = {};
  A.PopupMenuPosition.prototype = {
    toString$0(_) {
      return "PopupMenuPosition." + this._core$_name;
    }
  };
  A.PopupMenuEntry.prototype = {};
  A._MenuItem.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderMenuItem(this.onLayout, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.onLayout = this.onLayout;
    }
  };
  A._RenderMenuItem.prototype = {
    computeDryLayout$1(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return B.Size_0_0;
      return t1.getDryLayout$1(constraints);
    },
    performLayout$0() {
      var t2, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        t1 = _this._box$_size = B.Size_0_0;
      else {
        t2 = type$.BoxConstraints;
        t1.layout$2$parentUsesSize(t2._as(A.RenderObject.prototype.get$constraints.call(_this)), true);
        t2 = t2._as(A.RenderObject.prototype.get$constraints.call(_this));
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.toString;
        t1 = _this._box$_size = t2.constrain$1(t1);
        t2 = _this.RenderObjectWithChildMixin__child.parentData;
        t2.toString;
        type$.BoxParentData._as(t2).offset = B.Offset_0_0;
      }
      _this.onLayout.call$1(t1);
    }
  };
  A.PopupMenuItem.prototype = {
    createState$0() {
      var t1 = this.$ti;
      return new A.PopupMenuItemState(B._StateLifecycle_0, t1._eval$1("@<1>")._bind$1(t1)._eval$1("PopupMenuItemState<1,2>"));
    }
  };
  A.PopupMenuItemState.prototype = {
    handleTap$0() {
      var t2,
        t1 = this._widget.onTap;
      if (t1 != null)
        t1.call$0();
      t1 = this._framework$_element;
      t1.toString;
      t2 = this._widget.value;
      A.Navigator_of(t1, false).pop$1(t2);
    },
    build$1(context) {
      var style, t2, item, _null = null,
        theme = A.Theme_of(context),
        popupMenuTheme = A.PopupMenuTheme_of(context),
        t1 = this._widget;
      t1.toString;
      style = popupMenuTheme.textStyle;
      if (style == null) {
        t2 = theme.textTheme.titleMedium;
        t2.toString;
        style = t2;
      }
      item = A.AnimatedDefaultTextStyle$(A.Container$(B.AlignmentDirectional_m1_0, t1.child, B.Clip_0, _null, new A.BoxConstraints(0, 1 / 0, 48, 1 / 0), _null, _null, _null, _null, _null, B.EdgeInsets_16_0_16_0, _null, _null, _null), B.C__Linear, B.Duration_200000, true, style);
      t1 = A.InkWell$(false, _null, true, item, _null, true, _null, _null, _null, _null, _null, new A._EffectiveMouseCursor(_null, popupMenuTheme.mouseCursor), _null, _null, _null, _null, _null, this.get$handleTap(), _null, _null, _null, _null, _null, _null);
      return new A.MergeSemantics(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, true, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t1, _null), _null);
    }
  };
  A._PopupMenu.prototype = {
    build$1(context) {
      var t4, t5, t6, i, i0, start, end, t7, opacity, item, _this = this, _null = null,
        t1 = _this.route,
        t2 = t1.items,
        t3 = J.getInterceptor$asx(t2),
        unit = 1 / (t3.get$length(t2) + 1.5),
        children = A._setArrayType([], type$.JSArray_Widget),
        popupMenuTheme = A.PopupMenuTheme_of(context);
      for (t4 = t1.initialValue, t5 = t4 != null, t6 = 1.5 * unit, i = 0; i < t3.get$length(t2); i = i0) {
        i0 = i + 1;
        start = i0 * unit;
        end = A.clampDouble(start + t6, 0, 1);
        t7 = t1._animationProxy;
        opacity = new A.CurvedAnimation(t7, new A.Interval(start, end, B.C__Linear), _null);
        opacity._updateCurveDirection$1(t7.get$status(t7));
        t7.didRegisterListener$0();
        t7 = t7.AnimationLocalStatusListenersMixin__statusListeners;
        t7._isDirty = true;
        t7._list.push(opacity.get$_updateCurveDirection());
        item = t3.$index(t2, i);
        if (t5 && t4.$eq(0, t3.$index(t2, i).value))
          item = A.Container$(_null, item, B.Clip_0, A.Theme_of(context).highlightColor, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
        children.push(new A._MenuItem(new A._PopupMenu_build_closure(_this, i), new A.FadeTransition(opacity, false, item, _null), _null));
      }
      t2 = t3.get$length(t2);
      t3 = A.SingleChildScrollView$(new A.ListBody(children, _null), _null, B.DragStartBehavior_1, B.EdgeInsets_0_8_0_8, _null, false, B.Axis_1);
      t3 = A.IntrinsicWidth$(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.semanticLabel, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, t3, _null), 56);
      t1 = t1._animationProxy;
      t1.toString;
      return A.AnimatedBuilder$(t1, new A._PopupMenu_build_closure0(_this, new A.CurveTween(B.Interval_75R1), popupMenuTheme, new A.CurveTween(new A.Interval(0, unit, B.C__Linear)), new A.CurveTween(new A.Interval(0, unit * t2, B.C__Linear))), new A.ConstrainedBox(B.BoxConstraints_EcO, t3, _null));
    }
  };
  A._PopupMenu_build_closure.prototype = {
    call$1(size) {
      this.$this.route.itemSizes[this.i] = size;
    },
    $signature: 288
  };
  A._PopupMenu_build_closure0.prototype = {
    call$2(context, child) {
      var t4, t5, t6, t7, _this = this, _null = null,
        t1 = _this.opacity,
        t2 = _this.$this.route,
        t3 = t2._animationProxy;
      t3.toString;
      t4 = t2.shape;
      if (t4 == null)
        t4 = _this.popupMenuTheme.shape;
      t5 = t2.color;
      if (t5 == null)
        t5 = _this.popupMenuTheme.color;
      t6 = t2.elevation;
      if (t6 == null)
        t6 = _this.popupMenuTheme.elevation;
      if (t6 == null)
        t6 = 8;
      t7 = _this.width.transform$1(0, t3.get$value(t3));
      t2 = t2._animationProxy;
      return A.FadeTransition$(false, A.Material$(B.Duration_200000, true, _null, new A.Align(B.AlignmentDirectional_1_m1, t7, _this.height.transform$1(0, t2.get$value(t2)), child, _null), B.Clip_0, t5, t6, _null, _null, t4, _null, _null, B.MaterialType_1), new A._AnimatedEvaluation(t3, t1, A._instanceType(t1)._eval$1("_AnimatedEvaluation<Animatable.T>")));
    },
    $signature: 778
  };
  A._PopupMenuRouteLayout.prototype = {
    getConstraintsForChild$1(constraints) {
      return A.BoxConstraints$loose(new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight))).deflate$1(B.EdgeInsets_8_8_8_8.$add(0, this.padding));
    },
    getPositionForChild$2(size, childSize) {
      var t5, selectedItemOffset, index, y0, x, x0, originCenter, subScreen, _this = this,
        t1 = size._dy,
        t2 = _this.position,
        y = t2.top,
        t3 = t2.bottom,
        t4 = _this.selectedItemIndex;
      if (t4 != null && true) {
        t4.toString;
        t5 = _this.itemSizes;
        selectedItemOffset = 8;
        index = 0;
        for (; index < t4; ++index)
          selectedItemOffset += t5[index]._dy;
        y0 = y + (t1 - y - t3) / 2 - (selectedItemOffset + t5[t4]._dy / 2);
      } else
        y0 = y;
      x = t2.left;
      t2 = t2.right;
      if (x > t2)
        x0 = size._dx - t2 - childSize._dx;
      else if (x < t2)
        x0 = x;
      else
        switch (_this.textDirection.index) {
          case 0:
            x0 = size._dx - t2 - childSize._dx;
            break;
          case 1:
            x0 = x;
            break;
          default:
            x0 = null;
        }
      t4 = 0 + size._dx;
      t1 = 0 + t1;
      originCenter = new A.Rect(x, y, t4 - 0 - t2, t1 - 0 - t3).get$center();
      subScreen = _this._closestScreen$2(A.DisplayFeatureSubScreen_subScreensInBounds(new A.Rect(0, 0, t4, t1), _this.avoidBounds), originCenter);
      t1 = _this.padding;
      x = subScreen.left + 8 + t1.left;
      if (!(x0 < x)) {
        t2 = childSize._dx;
        t3 = subScreen.right;
        t4 = t1.right;
        x = x0 + t2 > t3 - 8 - t4 ? t3 - t2 - 8 - t4 : x0;
      }
      t2 = t1.top;
      if (y0 < subScreen.top + 8 + t2)
        y = 8 + t2;
      else {
        t2 = childSize._dy;
        t3 = subScreen.bottom;
        t1 = t1.bottom;
        y = y0 + t2 > t3 - 8 - t1 ? t3 - t2 - 8 - t1 : y0;
      }
      return new A.Offset(x, y);
    },
    _closestScreen$2(screens, point) {
      var t1, t2, t3, _i, $screen, t4, t5, t6, t7,
        closest = B.JSArray_methods.get$first(screens);
      for (t1 = screens.length, t2 = point._dx, t3 = point._dy, _i = 0; _i < screens.length; screens.length === t1 || (0, A.throwConcurrentModificationError)(screens), ++_i) {
        $screen = screens[_i];
        t4 = $screen.left;
        t5 = $screen.top;
        t4 = t4 + ($screen.right - t4) / 2 - t2;
        t5 = t5 + ($screen.bottom - t5) / 2 - t3;
        t6 = closest.left;
        t7 = closest.top;
        t6 = t6 + (closest.right - t6) / 2 - t2;
        t7 = t7 + (closest.bottom - t7) / 2 - t3;
        if (Math.sqrt(t4 * t4 + t5 * t5) < Math.sqrt(t6 * t6 + t7 * t7))
          closest = $screen;
      }
      return closest;
    },
    shouldRelayout$1(oldDelegate) {
      var _this = this;
      return !_this.position.$eq(0, oldDelegate.position) || _this.selectedItemIndex != oldDelegate.selectedItemIndex || _this.textDirection !== oldDelegate.textDirection || !A.listEquals(_this.itemSizes, oldDelegate.itemSizes) || !_this.padding.$eq(0, oldDelegate.padding) || !A.setEquals(_this.avoidBounds, oldDelegate.avoidBounds);
    }
  };
  A._PopupMenuRoute.prototype = {
    createAnimation$0() {
      return A.CurvedAnimation$(B.C__Linear, this.super$TransitionRoute$createAnimation(), B.Interval_75R2);
    },
    get$transitionDuration(_) {
      return B.Duration_300000;
    },
    get$barrierDismissible() {
      return true;
    },
    get$barrierColor() {
      return null;
    },
    buildPage$3(context, animation, secondaryAnimation) {
      var t1, t2, t3, index, _this = this, _box_0 = {};
      _box_0.selectedItemIndex = null;
      t1 = _this.initialValue;
      if (t1 != null) {
        t2 = _this.items;
        t3 = J.getInterceptor$asx(t2);
        index = 0;
        while (true) {
          if (!(_box_0.selectedItemIndex == null && index < t3.get$length(t2)))
            break;
          if (t1.$eq(0, t3.$index(t2, index).value))
            _box_0.selectedItemIndex = index;
          ++index;
        }
      }
      return A.MediaQuery_MediaQuery$removePadding(new A.Builder(new A._PopupMenuRoute_buildPage_closure(_box_0, _this, context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data, new A._PopupMenu(_this, _this.semanticLabel, _this.constraints, null, _this.$ti._eval$1("_PopupMenu<1>"))), null), context, true, true, true, true);
    },
    get$barrierLabel() {
      return this.barrierLabel;
    }
  };
  A._PopupMenuRoute_buildPage_closure.prototype = {
    call$1(context) {
      var t4, t5, _this = this,
        t1 = _this.$this,
        t2 = _this._box_0.selectedItemIndex,
        t3 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t3.toString;
      t4 = _this.mediaQuery;
      t5 = A.DisplayFeatureSubScreen_avoidBounds(t4);
      return new A.CustomSingleChildLayout(new A._PopupMenuRouteLayout(t1.position, t1.itemSizes, t2, t3.textDirection, t4.padding, A.LinkedHashSet_LinkedHashSet$of(t5, t5.$ti._eval$1("Iterable.E"))), new A._CaptureAll(t1.capturedThemes._themes, _this.menu, null), null);
    },
    $signature: 291
  };
  A.PopupMenuButton.prototype = {
    createState$0() {
      return new A.PopupMenuButtonState(B._StateLifecycle_0, this.$ti._eval$1("PopupMenuButtonState<1>"));
    },
    itemBuilder$1(arg0) {
      return this.itemBuilder.call$1(arg0);
    }
  };
  A.PopupMenuButtonState.prototype = {
    showButtonMenu$0() {
      var popupMenuTheme, t2, t3, offset, t4, position, items, initialValue, semanticLabel, $navigator, t5, t6, t7, t8, t9, t10, t11, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      popupMenuTheme = A.PopupMenuTheme_of(t1);
      t1 = _this._framework$_element.get$renderObject();
      t1.toString;
      t2 = type$.RenderBox;
      t2._as(t1);
      t3 = _this._framework$_element;
      t3.toString;
      t3 = A.Navigator_of(t3, false).__NavigatorState__overlayKey;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t3.get$currentState()._framework$_element.get$renderObject();
      t3.toString;
      t2._as(t3);
      t2 = _this._widget;
      t2.toString;
      switch (0) {
        case 0:
          offset = t2.offset;
          break;
      }
      t2 = A.MatrixUtils_transformPoint(t1.getTransformTo$1(0, t3), offset);
      t4 = t1._box$_size.bottomRight$1(0, B.Offset_0_0).$add(0, offset);
      t4 = A.Rect$fromPoints(t2, A.MatrixUtils_transformPoint(t1.getTransformTo$1(0, t3), t4));
      t3 = t3._box$_size;
      position = A.RelativeRect_RelativeRect$fromRect(t4, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy));
      t3 = _this._widget;
      t3.toString;
      t4 = _this._framework$_element;
      t4.toString;
      items = t3.itemBuilder$1(t4);
      t1 = J.getInterceptor$asx(items);
      if (t1.get$isNotEmpty(items)) {
        t2 = _this._framework$_element;
        t2.toString;
        t3 = _this._widget;
        initialValue = t3.initialValue;
        t3 = _this.$ti;
        switch (A.Theme_of(t2).platform.index) {
          case 2:
          case 4:
            semanticLabel = _null;
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            A.Localizations_of(t2, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
            semanticLabel = "Popup menu";
            break;
          default:
            semanticLabel = _null;
        }
        $navigator = A.Navigator_of(t2, false);
        A.Localizations_of(t2, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
        t4 = $navigator._framework$_element;
        t4.toString;
        t4 = A.InheritedTheme_capture(t2, t4);
        t1 = A.List_List$filled(t1.get$length(items), _null, false, type$.nullable_Size);
        t2 = A._setArrayType([], type$.JSArray_of_Future_bool_Function);
        t5 = $.Zone__current;
        t6 = t3._eval$1("_Future<1?>");
        t7 = t3._eval$1("_AsyncCompleter<1?>");
        t8 = A.ProxyAnimation$(B.C__AlwaysDismissedAnimation);
        t9 = A._setArrayType([], type$.JSArray_OverlayEntry);
        t10 = $.$get$ChangeNotifier__emptyListeners();
        t11 = $.Zone__current;
        $navigator.push$1(new A._PopupMenuRoute(position, items, t1, initialValue, popupMenuTheme.elevation, semanticLabel, popupMenuTheme.shape, popupMenuTheme.color, t4, _null, "Dismiss", _null, t2, new A.LabeledGlobalKey(_null, t3._eval$1("LabeledGlobalKey<_ModalScopeState<1?>>")), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new A.PageStorageBucket(), _null, 0, new A._AsyncCompleter(new A._Future(t5, t6), t7), t8, t9, B.RouteSettings_null_null, new A.ValueNotifier(_null, t10, type$.ValueNotifier_nullable_String), new A._AsyncCompleter(new A._Future(t11, t6), t7), t3._eval$1("_PopupMenuRoute<1?>"))).then$1$1(new A.PopupMenuButtonState_showButtonMenu_closure(_this), type$.void);
      }
    },
    get$_popup_menu$_canRequestFocus() {
      var mode,
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch ((mode == null ? B.NavigationMode_0 : mode).index) {
        case 0:
          return this._widget.enabled;
        case 1:
          return true;
      }
    },
    build$1(context) {
      var t1, t2, t3, t4, t5, _this = this, _null = null,
        _s9_ = "Show menu",
        iconTheme = A.IconTheme_of(context);
      _this._widget.toString;
      A.PopupMenuTheme_of(context);
      t1 = _this._widget;
      if (t1.child != null) {
        t1 = t1.tooltip;
        if (t1 == null) {
          A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
          t1 = _s9_;
        }
        t2 = _this._widget.enabled ? _this.get$showButtonMenu() : _null;
        t3 = _this.get$_popup_menu$_canRequestFocus();
        t4 = _this._widget;
        t5 = t4.splashRadius;
        return A.Tooltip$(A.InkWell$(false, _null, t3, t4.child, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null, t5, _null, _null), _null, t1, _null, _null, _null, _null, _null);
      }
      t2 = t1.icon;
      if (t2 == null)
        t2 = A.Icon$(!A.PlatformAdaptiveIcons__isCupertino() ? B.IconData_58372_MaterialIcons_false : B.IconData_58370_MaterialIcons_false, _null, _null);
      t3 = t1.padding;
      t4 = t1.splashRadius;
      t5 = iconTheme.size;
      if (t5 == null)
        t5 = 24;
      t1 = t1.tooltip;
      if (t1 == null) {
        A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
        t1 = _s9_;
      }
      return A.IconButton$(_null, _null, true, t2, t5, _this._widget.enabled ? _this.get$showButtonMenu() : _null, t3, t4, t1);
    }
  };
  A.PopupMenuButtonState_showButtonMenu_closure.prototype = {
    call$1(newValue) {
      var t1 = this.$this;
      if (t1._framework$_element == null)
        return null;
      if (newValue == null) {
        t1._widget.toString;
        return null;
      }
      t1 = t1._widget.onSelected;
      if (t1 != null)
        t1.call$1(newValue);
    },
    $signature() {
      return this.$this.$ti._eval$1("Null(1?)");
    }
  };
  A._EffectiveMouseCursor.prototype = {
    resolve$1(states) {
      var t1 = A.MaterialStateProperty_resolveAs(this.widgetCursor, states, type$.nullable_MouseCursor);
      if (t1 == null)
        t1 = null;
      return t1 == null ? B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable.resolve$1(states) : t1;
    },
    get$debugDescription() {
      return "MaterialStateMouseCursor(PopupMenuItemState)";
    }
  };
  A.PopupMenuThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.color, _this.shape, _this.elevation, _this.textStyle, _this.enableFeedback, _this.mouseCursor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.PopupMenuThemeData)
        if (other.elevation == _this.elevation)
          if (J.$eq$(other.color, _this.color))
            if (J.$eq$(other.shape, _this.shape))
              if (J.$eq$(other.textStyle, _this.textStyle))
                t1 = true;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._PopupMenuThemeData_Object_Diagnosticable.prototype = {};
  A._ActivityIndicatorType.prototype = {
    toString$0(_) {
      return "_ActivityIndicatorType." + this._core$_name;
    }
  };
  A.ProgressIndicator.prototype = {
    _getValueColor$1(context) {
      var t1 = this.valueColor;
      t1 = t1 == null ? null : t1.value;
      if (t1 == null)
        t1 = this.color;
      if (t1 == null)
        t1 = A.ProgressIndicatorTheme_of(context).color;
      return t1 == null ? A.Theme_of(context).colorScheme.primary : t1;
    },
    _buildSemanticsWrapper$2$child$context(child, context) {
      var _null = null,
        expandedSemanticsValue = this.semanticsValue,
        t1 = this.value;
      if (t1 != null)
        expandedSemanticsValue = "" + B.JSNumber_methods.round$0(t1 * 100) + "%";
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, this.semanticsLabel, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, expandedSemanticsValue), false, false, false, child, _null);
    }
  };
  A._LinearProgressIndicatorPainter.prototype = {
    paint$2(canvas, size) {
      var t1, t2, t3, x1, t4, x2, _this = this,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, _this.backgroundColor);
      paint.set$style(0, B.PaintingStyle_0);
      t1 = size._dx;
      canvas.drawRect$2(new A.Rect(0, 0, 0 + t1, 0 + size._dy), paint);
      paint.set$color(0, _this.valueColor);
      t2 = new A._LinearProgressIndicatorPainter_paint_drawBar(_this, size, canvas, paint);
      t3 = _this.value;
      if (t3 != null)
        t2.call$2(0, A.clampDouble(t3, 0, 1) * t1);
      else {
        t3 = _this.animationValue;
        x1 = t1 * B.Interval_unQ.transform$1(0, t3);
        t4 = B.Interval_8Wd.transform$1(0, t3);
        x2 = t1 * B.Interval_2ds.transform$1(0, t3);
        t3 = B.Interval_q3Z.transform$1(0, t3);
        t2.call$2(x1, t1 * t4 - x1);
        t2.call$2(x2, t1 * t3 - x2);
      }
    },
    shouldRepaint$1(oldPainter) {
      var _this = this;
      return !oldPainter.backgroundColor.$eq(0, _this.backgroundColor) || !oldPainter.valueColor.$eq(0, _this.valueColor) || oldPainter.value != _this.value || oldPainter.animationValue !== _this.animationValue || oldPainter.textDirection !== _this.textDirection;
    }
  };
  A._LinearProgressIndicatorPainter_paint_drawBar.prototype = {
    call$2(x, width) {
      var left, _this = this;
      if (width <= 0)
        return;
      switch (_this.$this.textDirection.index) {
        case 0:
          left = _this.size._dx - width - x;
          break;
        case 1:
          left = x;
          break;
        default:
          left = null;
      }
      _this.canvas.drawRect$2(new A.Rect(left, 0, left + width, 0 + _this.size._dy), _this.paint);
    },
    $signature: 779
  };
  A.LinearProgressIndicator.prototype = {
    createState$0() {
      return new A._LinearProgressIndicatorState(null, null, B._StateLifecycle_0);
    }
  };
  A._LinearProgressIndicatorState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.AnimationController$(null, B.Duration_1800000, 0, null, 1, null, _this);
      _this.___LinearProgressIndicatorState__controller = t1;
      if (_this._widget.value == null)
        t1.repeat$0(0);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.value == null;
      if (t1) {
        t2 = _this.___LinearProgressIndicatorState__controller;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2._ticker;
        t2 = !(t2 != null && t2._ticker$_future != null);
      } else
        t2 = false;
      if (t2) {
        t1 = _this.___LinearProgressIndicatorState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.repeat$0(0);
      } else {
        if (!t1) {
          t1 = _this.___LinearProgressIndicatorState__controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1._ticker;
          t1 = t1 != null && t1._ticker$_future != null;
        } else
          t1 = false;
        if (t1) {
          t1 = _this.___LinearProgressIndicatorState__controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.stop$0(0);
        }
      }
    },
    dispose$0() {
      var t1 = this.___LinearProgressIndicatorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose();
    },
    _buildIndicator$3(context, animationValue, textDirection) {
      var trackColor, minHeight, _null = null,
        indicatorTheme = A.ProgressIndicatorTheme_of(context),
        t1 = this._widget;
      t1.toString;
      t1 = t1.backgroundColor;
      trackColor = t1 == null ? indicatorTheme.linearTrackColor : t1;
      if (trackColor == null)
        trackColor = A.Theme_of(context).colorScheme.background;
      t1 = this._widget;
      t1.toString;
      minHeight = indicatorTheme.linearMinHeight;
      if (minHeight == null)
        minHeight = 4;
      return t1._buildSemanticsWrapper$2$child$context(A.Container$(_null, A.CustomPaint$(_null, _null, _null, new A._LinearProgressIndicatorPainter(trackColor, t1._getValueColor$1(context), this._widget.value, animationValue, textDirection, _null), B.Size_0_0), B.Clip_0, _null, new A.BoxConstraints(1 / 0, 1 / 0, minHeight, 1 / 0), _null, _null, _null, _null, _null, _null, _null, _null, _null), context);
    },
    build$1(context) {
      var textDirection, _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      if (_this._widget.value != null) {
        t1 = _this.___LinearProgressIndicatorState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        return _this._buildIndicator$3(context, t1, textDirection);
      }
      t1 = _this.___LinearProgressIndicatorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.AnimatedBuilder$(t1, new A._LinearProgressIndicatorState_build_closure(_this, textDirection), null);
    }
  };
  A._LinearProgressIndicatorState_build_closure.prototype = {
    call$2(context, child) {
      var t1 = this.$this,
        t2 = t1.___LinearProgressIndicatorState__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1._buildIndicator$3(context, t2, this.textDirection);
    },
    $signature: 56
  };
  A._CircularProgressIndicatorPainter.prototype = {
    paint$2(canvas, size) {
      var t2, t3, backgroundPaint, _this = this,
        t1 = $.$get$useCanvasKit(),
        paint = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, _this.valueColor);
      t2 = _this.strokeWidth;
      paint.set$strokeWidth(t2);
      paint.set$style(0, B.PaintingStyle_1);
      t3 = _this.backgroundColor;
      if (t3 != null) {
        backgroundPaint = t1 ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        backgroundPaint.set$color(0, t3);
        backgroundPaint.set$strokeWidth(t2);
        backgroundPaint.set$style(0, B.PaintingStyle_1);
        canvas.drawArc$5(new A.Rect(0, 0, 0 + size._dx, 0 + size._dy), 0, 6.282185307179586, false, backgroundPaint);
      }
      if (_this.value == null)
        paint.set$strokeCap(B.StrokeCap_2);
      canvas.drawArc$5(new A.Rect(0, 0, 0 + size._dx, 0 + size._dy), _this.arcStart, _this.arcSweep, false, paint);
    },
    shouldRepaint$1(oldPainter) {
      var _this = this;
      return !J.$eq$(oldPainter.backgroundColor, _this.backgroundColor) || !oldPainter.valueColor.$eq(0, _this.valueColor) || oldPainter.value != _this.value || oldPainter.headValue !== _this.headValue || oldPainter.tailValue !== _this.tailValue || oldPainter.offsetValue !== _this.offsetValue || oldPainter.rotationValue !== _this.rotationValue || oldPainter.strokeWidth !== _this.strokeWidth;
    }
  };
  A.CircularProgressIndicator.prototype = {
    createState$0() {
      return new A._CircularProgressIndicatorState(null, null, B._StateLifecycle_0);
    }
  };
  A._CircularProgressIndicatorState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.AnimationController$(null, B.Duration_2961926000, 0, null, 1, null, _this);
      _this.___CircularProgressIndicatorState__controller = t1;
      if (_this._widget.value == null)
        t1.repeat$0(0);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.value == null;
      if (t1) {
        t2 = _this.___CircularProgressIndicatorState__controller;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2._ticker;
        t2 = !(t2 != null && t2._ticker$_future != null);
      } else
        t2 = false;
      if (t2) {
        t1 = _this.___CircularProgressIndicatorState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.repeat$0(0);
      } else {
        if (!t1) {
          t1 = _this.___CircularProgressIndicatorState__controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1._ticker;
          t1 = t1 != null && t1._ticker$_future != null;
        } else
          t1 = false;
        if (t1) {
          t1 = _this.___CircularProgressIndicatorState__controller;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.stop$0(0);
        }
      }
    },
    dispose$0() {
      var t1 = this.___CircularProgressIndicatorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose();
    },
    _buildMaterialIndicator$5(context, headValue, tailValue, offsetValue, rotationValue) {
      var trackColor, t2, t3, t4, t5, t6, _null = null,
        t1 = this._widget;
      t1.toString;
      trackColor = t1.backgroundColor;
      if (trackColor == null)
        trackColor = A.ProgressIndicatorTheme_of(context).circularTrackColor;
      t1 = this._widget;
      t2 = t1._getValueColor$1(context);
      t3 = this._widget;
      t4 = t3.value;
      t3 = t3.strokeWidth;
      t5 = t4 != null;
      t6 = t5 ? -1.5707963267948966 : -1.5707963267948966 + tailValue * 3 / 2 * 3.141592653589793 + rotationValue * 3.141592653589793 * 2 + offsetValue * 0.5 * 3.141592653589793;
      return t1._buildSemanticsWrapper$2$child$context(A.Container$(_null, A.CustomPaint$(_null, _null, _null, new A._CircularProgressIndicatorPainter(trackColor, t2, t4, headValue, tailValue, offsetValue, rotationValue, t3, t6, t5 ? A.clampDouble(t4, 0, 1) * 6.282185307179586 : Math.max(headValue * 3 / 2 * 3.141592653589793 - tailValue * 3 / 2 * 3.141592653589793, 0.001), _null), B.Size_0_0), B.Clip_0, _null, B.BoxConstraints_mlX0, _null, _null, _null, _null, _null, _null, _null, _null, _null), context);
    },
    _buildAnimation$0() {
      var t1 = this.___CircularProgressIndicatorState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.AnimatedBuilder$(t1, new A._CircularProgressIndicatorState__buildAnimation_closure(this), null);
    },
    build$1(context) {
      var t1 = this._widget;
      t1.toString;
      switch (0) {
        case 0:
          if (t1.value != null)
            return this._buildMaterialIndicator$5(context, 0, 0, 0, 0);
          return this._buildAnimation$0();
      }
    }
  };
  A._CircularProgressIndicatorState__buildAnimation_closure.prototype = {
    call$2(context, child) {
      var t4, t5, t6,
        t1 = this.$this,
        t2 = $.$get$_CircularProgressIndicatorState__strokeHeadTween(),
        t3 = t1.___CircularProgressIndicatorState__controller;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.transform$1(0, t3.get$value(t3));
      t2 = $.$get$_CircularProgressIndicatorState__strokeTailTween();
      t4 = t1.___CircularProgressIndicatorState__controller;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t2.transform$1(0, t4.get$value(t4));
      t2 = $.$get$_CircularProgressIndicatorState__offsetTween();
      t5 = t1.___CircularProgressIndicatorState__controller;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t2.transform$1(0, t5.get$value(t5));
      t2 = $.$get$_CircularProgressIndicatorState__rotationTween();
      t6 = t1.___CircularProgressIndicatorState__controller;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      return t1._buildMaterialIndicator$5(context, t3, t4, t5, t2.transform$1(0, t6.get$value(t6)));
    },
    $signature: 56
  };
  A.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.ProgressIndicatorThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.color, _this.linearTrackColor, _this.linearMinHeight, _this.circularTrackColor, _this.refreshBackgroundColor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ProgressIndicatorThemeData && J.$eq$(other.color, _this.color) && J.$eq$(other.linearTrackColor, _this.linearTrackColor) && other.linearMinHeight == _this.linearMinHeight && J.$eq$(other.circularTrackColor, _this.circularTrackColor) && J.$eq$(other.refreshBackgroundColor, _this.refreshBackgroundColor);
    }
  };
  A._ProgressIndicatorThemeData_Object_Diagnosticable.prototype = {};
  A.Radio.prototype = {
    createState$0() {
      return new A._RadioState(new A._RadioPainter($.$get$ChangeNotifier__emptyListeners()), $, $, $, $, $, $, $, $, $, null, false, false, null, null, B._StateLifecycle_0, this.$ti._eval$1("_RadioState<1>"));
    }
  };
  A._RadioState.prototype = {
    _radio$_handleChanged$1(selected) {
      var t1, t2;
      if (selected == null) {
        this._widget.onChanged.call$1(null);
        return;
      }
      if (selected) {
        t1 = this._widget;
        t2 = t1.onChanged;
        t2.toString;
        t2.call$1(t1.value);
      }
    },
    didUpdateWidget$1(oldWidget) {
      var t1;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget;
      if (t1.value === t1.groupValue !== (oldWidget.value === oldWidget.groupValue))
        this.animateToValue$0();
    },
    dispose$0() {
      this._radio$_painter.dispose$0();
      this.super$__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose();
    },
    get$onChanged() {
      return this._widget.onChanged != null ? this.get$_radio$_handleChanged() : null;
    },
    get$tristate() {
      this._widget.toString;
      return false;
    },
    get$value(_) {
      var t1 = this._widget;
      return t1.value === t1.groupValue;
    },
    get$_radio$_widgetFillColor() {
      return new A._MaterialStatePropertyWith(new A._RadioState__widgetFillColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_radio$_defaultFillColor() {
      var t1 = this._framework$_element;
      t1.toString;
      return new A._MaterialStatePropertyWith(new A._RadioState__defaultFillColor_closure(A.Theme_of(t1)), type$._MaterialStatePropertyWith_Color);
    },
    build$1(context) {
      var radioTheme, effectiveMaterialTapTargetSize, effectiveVisualDensity, size, activeStates, inactiveStates, t1, effectiveActiveColor, effectiveInactiveColor, focusedStates, t2, effectiveFocusOverlayColor, hoveredStates, effectiveHoverOverlayColor, effectiveActivePressedOverlayColor, effectiveInactivePressedOverlayColor, t3, t4, _this = this, _null = null,
        themeData = A.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.RadioTheme);
      radioTheme = A.Theme_of(context).radioTheme;
      effectiveMaterialTapTargetSize = _this._widget.materialTapTargetSize;
      effectiveVisualDensity = themeData.visualDensity;
      switch (effectiveMaterialTapTargetSize.index) {
        case 0:
          size = B.Size_48_48;
          break;
        case 1:
          size = B.Size_40_40;
          break;
        default:
          size = _null;
      }
      size = size.$add(0, new A.Offset(effectiveVisualDensity.horizontal, effectiveVisualDensity.vertical).$mul(0, 4));
      activeStates = _this.get$states();
      activeStates.add$1(0, B.MaterialState_4);
      inactiveStates = _this.get$states();
      inactiveStates.remove$1(0, B.MaterialState_4);
      _this._widget.toString;
      t1 = _this.get$_radio$_widgetFillColor()._material_state$_resolve.call$1(activeStates);
      if (t1 == null) {
        t1 = radioTheme.fillColor;
        t1 = t1 == null ? _null : t1.resolve$1(activeStates);
        effectiveActiveColor = t1;
      } else
        effectiveActiveColor = t1;
      if (effectiveActiveColor == null)
        effectiveActiveColor = _this.get$_radio$_defaultFillColor()._material_state$_resolve.call$1(activeStates);
      _this._widget.toString;
      t1 = _this.get$_radio$_widgetFillColor()._material_state$_resolve.call$1(inactiveStates);
      if (t1 == null) {
        t1 = radioTheme.fillColor;
        t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
        effectiveInactiveColor = t1;
      } else
        effectiveInactiveColor = t1;
      if (effectiveInactiveColor == null)
        effectiveInactiveColor = _this.get$_radio$_defaultFillColor()._material_state$_resolve.call$1(inactiveStates);
      focusedStates = _this.get$states();
      focusedStates.add$1(0, B.MaterialState_1);
      _this._widget.toString;
      t1 = radioTheme.overlayColor;
      t2 = t1 == null ? _null : t1.resolve$1(focusedStates);
      effectiveFocusOverlayColor = t2;
      if (effectiveFocusOverlayColor == null)
        effectiveFocusOverlayColor = themeData.focusColor;
      hoveredStates = _this.get$states();
      hoveredStates.add$1(0, B.MaterialState_0);
      _this._widget.toString;
      t2 = t1 == null ? _null : t1.resolve$1(hoveredStates);
      effectiveHoverOverlayColor = t2;
      if (effectiveHoverOverlayColor == null)
        effectiveHoverOverlayColor = themeData.hoverColor;
      activeStates.add$1(0, B.MaterialState_2);
      _this._widget.toString;
      t2 = t1 == null ? _null : t1.resolve$1(activeStates);
      effectiveActivePressedOverlayColor = t2;
      if (effectiveActivePressedOverlayColor == null)
        effectiveActivePressedOverlayColor = A.Color$fromARGB(31, effectiveActiveColor.get$value(effectiveActiveColor) >>> 16 & 255, effectiveActiveColor.get$value(effectiveActiveColor) >>> 8 & 255, effectiveActiveColor.get$value(effectiveActiveColor) & 255);
      inactiveStates.add$1(0, B.MaterialState_2);
      _this._widget.toString;
      t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
      effectiveInactivePressedOverlayColor = t1;
      if (effectiveInactivePressedOverlayColor == null)
        effectiveInactivePressedOverlayColor = A.Color$fromARGB(31, effectiveActiveColor.get$value(effectiveActiveColor) >>> 16 & 255, effectiveActiveColor.get$value(effectiveActiveColor) >>> 8 & 255, effectiveActiveColor.get$value(effectiveActiveColor) & 255);
      t1 = _this._widget;
      t2 = t1.value;
      t1 = t1.groupValue;
      t3 = _this._radio$_painter;
      t4 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t3.set$position(0, t4);
      t4 = _this.ToggleableStateMixin___ToggleableStateMixin__reaction;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t3.set$reaction(t4);
      t4 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t3.set$reactionFocusFade(t4);
      t4 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t3.set$reactionHoverFade(t4);
      t3.set$inactiveReactionColor(effectiveInactivePressedOverlayColor);
      t3.set$reactionColor(effectiveActivePressedOverlayColor);
      t3.set$hoverColor(effectiveHoverOverlayColor);
      t3.set$focusColor(effectiveFocusOverlayColor);
      _this._widget.toString;
      t4 = radioTheme.splashRadius;
      t3.set$splashRadius(t4 == null ? 20 : t4);
      t3.set$downPosition(_this.ToggleableStateMixin__downPosition);
      t3.set$isFocused(_this.get$states().contains$1(0, B.MaterialState_1));
      t3.set$isHovered(_this.get$states().contains$1(0, B.MaterialState_0));
      t3.set$activeColor(effectiveActiveColor);
      t3.set$inactiveColor(effectiveInactiveColor);
      t3 = _this.buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size(false, _null, new A._MaterialStatePropertyWith(new A._RadioState_build_closure(_this, radioTheme), type$._MaterialStatePropertyWith_MouseCursor), t3, size);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, t2 === t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t3, _null);
    }
  };
  A._RadioState__widgetFillColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return null;
      if (states.contains$1(0, B.MaterialState_4)) {
        this.$this._widget.toString;
        return null;
      }
      return null;
    },
    $signature: 42
  };
  A._RadioState__defaultFillColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.themeData.disabledColor;
      if (states.contains$1(0, B.MaterialState_4))
        return this.themeData.toggleableActiveColor;
      return this.themeData.unselectedWidgetColor;
    },
    $signature: 69
  };
  A._RadioState_build_closure.prototype = {
    call$1(states) {
      var t1;
      this.$this._widget.toString;
      t1 = A.MaterialStateProperty_resolveAs(null, states, type$.nullable_MouseCursor);
      if (t1 == null)
        t1 = null;
      return t1 == null ? A.MaterialStateProperty_resolveAs(B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, states, type$.MouseCursor) : t1;
    },
    $signature: 149
  };
  A._RadioPainter.prototype = {
    paint$2(canvas, size) {
      var center, paint, t1, t2, t3, _this = this;
      _this.paintRadialReaction$2$canvas$origin(canvas, size.center$1(B.Offset_0_0));
      center = new A.Rect(0, 0, 0 + size._dx, 0 + size._dy).get$center();
      paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t1 = _this._inactiveColor;
      t1.toString;
      t2 = _this._activeColor;
      t2.toString;
      t3 = _this._toggleable$_position;
      t3 = A.Color_lerp(t1, t2, t3.get$value(t3));
      t3.toString;
      paint.set$color(0, t3);
      paint.set$style(0, B.PaintingStyle_1);
      paint.set$strokeWidth(2);
      canvas.drawCircle$3(center, 8, paint);
      t1 = _this._toggleable$_position;
      if (t1.get$status(t1) !== B.AnimationStatus_0) {
        paint.set$style(0, B.PaintingStyle_0);
        t1 = _this._toggleable$_position;
        canvas.drawCircle$3(center, 4.5 * t1.get$value(t1), paint);
      }
    }
  };
  A.__RadioState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype = {
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, t1.value !== t1.groupValue ? 0 : 1, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__positionController = t2;
      _this.ToggleableStateMixin___ToggleableStateMixin__position = A.CurvedAnimation$(B.Cubic_JUR0, t2, B.Cubic_xDo0);
      t2 = A.AnimationController$(_null, B.Duration_100000, 0, _null, 1, _null, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionController = t2;
      _this.ToggleableStateMixin___ToggleableStateMixin__reaction = A.CurvedAnimation$(B.Cubic_ifx, t2, _null);
      t1 = A.AnimationController$(_null, B.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = A.AnimationController$(_null, B.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
    },
    dispose$0() {
      var _this = this,
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$__RadioState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.RadioThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.mouseCursor, _this.fillColor, _this.overlayColor, _this.splashRadius, _this.materialTapTargetSize, _this.visualDensity, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.RadioThemeData)
        if (other.fillColor == _this.fillColor)
          if (other.overlayColor == _this.overlayColor)
            if (other.splashRadius == _this.splashRadius)
              t1 = true;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._RadioThemeData_Object_Diagnosticable.prototype = {};
  A._ScaffoldSlot.prototype = {
    toString$0(_) {
      return "_ScaffoldSlot." + this._core$_name;
    }
  };
  A.ScaffoldMessenger.prototype = {
    createState$0() {
      var _null = null;
      return new A.ScaffoldMessengerState(A.LinkedHashSet_LinkedHashSet(type$.ScaffoldState), A.ListQueue$(_null, type$.ScaffoldFeatureController_MaterialBanner_MaterialBannerClosedReason), A.ListQueue$(_null, type$.ScaffoldFeatureController_SnackBar_SnackBarClosedReason), _null, _null, B._StateLifecycle_0);
    }
  };
  A.ScaffoldMessengerState.prototype = {
    didChangeDependencies$0() {
      var _this = this,
        mediaQuery = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        t1 = _this._accessibleNavigation;
      if (t1 === true)
        if (!mediaQuery.accessibleNavigation) {
          t1 = _this._snackBarTimer;
          t1 = t1 != null && !t1.get$isActive();
        } else
          t1 = false;
      else
        t1 = false;
      if (t1)
        _this.hideCurrentSnackBar$1$reason(B.SnackBarClosedReason_5);
      _this._accessibleNavigation = mediaQuery.accessibleNavigation;
      _this.super$State$didChangeDependencies();
    },
    _updateScaffolds$0() {
      var t1, t2, t3, t4, t5, $parent;
      for (t1 = this._scaffolds, t2 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t3 = type$.ScaffoldState, t4 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t5 = t2._collection$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        $parent = t5._framework$_element.findAncestorStateOfType$1$0(t3);
        if ($parent == null || !t1.contains$1(0, $parent)) {
          t5._updateSnackBar$0();
          t5._updateMaterialBanner$0();
        }
      }
    },
    _isRoot$1(scaffold) {
      var $parent = scaffold._framework$_element.findAncestorStateOfType$1$0(type$.ScaffoldState);
      return $parent == null || !this._scaffolds.contains$1(0, $parent);
    },
    showSnackBar$1(snackBar) {
      var t2, controller, t3, _this = this,
        t1 = _this._snackBarController;
      if (t1 == null) {
        t1 = A.AnimationController$("SnackBar", B.Duration_250000, 0, null, 1, null, _this);
        t1.didRegisterListener$0();
        t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
        t2._isDirty = true;
        t2._list.push(_this.get$_handleSnackBarStatusChanged());
        _this._snackBarController = t1;
      }
      t2 = _this._snackBars;
      if (t2._head === t2._tail)
        t1.forward$0(0);
      controller = A._Cell$named("controller");
      t1 = _this._snackBarController;
      t1.toString;
      t2 = new A.UniqueKey();
      t3 = snackBar.key;
      t2 = t3 == null ? t2 : t3;
      controller.__late_helper$_value = new A.ScaffoldFeatureController(A.SnackBar$(snackBar.action, t1, snackBar.backgroundColor, snackBar.behavior, snackBar.clipBehavior, snackBar.content, snackBar.dismissDirection, snackBar.duration, snackBar.elevation, t2, snackBar.margin, snackBar.onVisible, snackBar.padding, snackBar.shape, snackBar.width), new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_SnackBarClosedReason), type$._AsyncCompleter_SnackBarClosedReason), new A.ScaffoldMessengerState_showSnackBar_closure(_this, controller), type$.ScaffoldFeatureController_SnackBar_SnackBarClosedReason);
      _this.setState$1(new A.ScaffoldMessengerState_showSnackBar_closure0(_this, controller));
      _this._updateScaffolds$0();
      return controller._readLocal$0();
    },
    _handleSnackBarStatusChanged$1($status) {
      var t1, _this = this;
      switch ($status.index) {
        case 0:
          _this.setState$1(new A.ScaffoldMessengerState__handleSnackBarStatusChanged_closure(_this));
          _this._updateScaffolds$0();
          t1 = _this._snackBars;
          if (!t1.get$isEmpty(t1))
            _this._snackBarController.forward$0(0);
          break;
        case 3:
          _this.setState$1(new A.ScaffoldMessengerState__handleSnackBarStatusChanged_closure0(_this));
          _this._updateScaffolds$0();
          break;
        case 1:
          break;
        case 2:
          break;
      }
    },
    removeCurrentSnackBar$1$reason(reason) {
      var completer, _this = this,
        t1 = _this._snackBars;
      if (t1._head === t1._tail)
        return;
      completer = t1.get$first(t1)._scaffold$_completer;
      if ((completer.future._state & 30) === 0)
        completer.complete$1(0, reason);
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
      _this._snackBarController.set$value(0, 0);
    },
    hideCurrentSnackBar$1$reason(reason) {
      var t2, completer, _this = this,
        t1 = _this._snackBars;
      if (t1._head !== t1._tail) {
        t2 = _this._snackBarController.__AnimationController__status;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2 === B.AnimationStatus_0;
      } else
        t2 = true;
      if (t2)
        return;
      completer = t1.get$first(t1)._scaffold$_completer;
      t1 = _this._accessibleNavigation;
      t1.toString;
      t2 = _this._snackBarController;
      if (t1) {
        t2.set$value(0, 0);
        completer.complete$1(0, reason);
      } else
        t2.reverse$0(0).then$1$1(new A.ScaffoldMessengerState_hideCurrentSnackBar_closure(_this, completer, reason), type$.void);
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
    },
    hideCurrentSnackBar$0() {
      return this.hideCurrentSnackBar$1$reason(B.SnackBarClosedReason_3);
    },
    build$1(context) {
      var t1, route, t2, snackBar, _this = this;
      _this._accessibleNavigation = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.accessibleNavigation;
      t1 = _this._snackBars;
      if (!t1.get$isEmpty(t1)) {
        route = A.ModalRoute_of(context, type$.nullable_Object);
        if (route == null || route.get$isCurrent()) {
          t2 = _this._snackBarController;
          if (t2.get$status(t2) === B.AnimationStatus_3 && _this._snackBarTimer == null) {
            snackBar = t1.get$first(t1)._scaffold$_widget;
            _this._snackBarTimer = A.Timer_Timer(snackBar.duration, new A.ScaffoldMessengerState_build_closure(_this, context, snackBar));
          }
        }
      }
      return new A._ScaffoldMessengerScope(_this, _this._widget.child, null);
    },
    dispose$0() {
      var _this = this,
        t1 = _this._snackBarController;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this._snackBarTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._snackBarTimer = null;
      _this.super$_ScaffoldMessengerState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.ScaffoldMessengerState_showSnackBar_closure.prototype = {
    call$0() {
      this.$this.hideCurrentSnackBar$0();
    },
    $signature: 0
  };
  A.ScaffoldMessengerState_showSnackBar_closure0.prototype = {
    call$0() {
      this.$this._snackBars._add$1(0, this.controller._readLocal$0());
    },
    $signature: 0
  };
  A.ScaffoldMessengerState__handleSnackBarStatusChanged_closure.prototype = {
    call$0() {
      this.$this._snackBars.removeFirst$0();
    },
    $signature: 0
  };
  A.ScaffoldMessengerState__handleSnackBarStatusChanged_closure0.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.ScaffoldMessengerState_hideCurrentSnackBar_closure.prototype = {
    call$1(value) {
      var t1 = this.completer;
      if ((t1.future._state & 30) === 0)
        t1.complete$1(0, this.reason);
    },
    $signature: 48
  };
  A.ScaffoldMessengerState_build_closure.prototype = {
    call$0() {
      this.context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).toString;
      this.$this.hideCurrentSnackBar$1$reason(B.SnackBarClosedReason_5);
    },
    $signature: 0
  };
  A._ScaffoldMessengerScope.prototype = {
    updateShouldNotify$1(old) {
      return this._scaffoldMessengerState !== old._scaffoldMessengerState;
    }
  };
  A.ScaffoldPrelayoutGeometry.prototype = {};
  A.ScaffoldGeometry.prototype = {
    _scaleFloatingActionButton$1(scaleFactor) {
      var t1, t2, t3, _this = this;
      if (scaleFactor === 1)
        return _this;
      if (scaleFactor === 0)
        return new A.ScaffoldGeometry(_this.bottomNavigationBarTop, null);
      t1 = _this.floatingActionButtonArea;
      t2 = t1.get$center();
      t3 = t2._dx;
      t2 = t2._dy;
      t1 = A.Rect_lerp(new A.Rect(t3, t2, t3 + 0, t2 + 0), t1, scaleFactor);
      t1.toString;
      return _this.copyWith$1$floatingActionButtonArea(t1);
    },
    copyWith$2$bottomNavigationBarTop$floatingActionButtonArea(bottomNavigationBarTop, floatingActionButtonArea) {
      var t1 = bottomNavigationBarTop == null ? this.bottomNavigationBarTop : bottomNavigationBarTop;
      return new A.ScaffoldGeometry(t1, floatingActionButtonArea == null ? this.floatingActionButtonArea : floatingActionButtonArea);
    },
    copyWith$1$floatingActionButtonArea(floatingActionButtonArea) {
      return this.copyWith$2$bottomNavigationBarTop$floatingActionButtonArea(null, floatingActionButtonArea);
    }
  };
  A._ScaffoldGeometryNotifier.prototype = {
    get$value(_) {
      var t1 = this.geometry,
        t2 = this.floatingActionButtonScale;
      t2.toString;
      return t1._scaleFloatingActionButton$1(t2);
    },
    _updateWith$3$bottomNavigationBarTop$floatingActionButtonArea$floatingActionButtonScale(bottomNavigationBarTop, floatingActionButtonArea, floatingActionButtonScale) {
      var _this = this;
      _this.floatingActionButtonScale = floatingActionButtonScale == null ? _this.floatingActionButtonScale : floatingActionButtonScale;
      _this.geometry = _this.geometry.copyWith$2$bottomNavigationBarTop$floatingActionButtonArea(bottomNavigationBarTop, floatingActionButtonArea);
      _this.notifyListeners$0();
    },
    _updateWith$1$floatingActionButtonScale(floatingActionButtonScale) {
      return this._updateWith$3$bottomNavigationBarTop$floatingActionButtonArea$floatingActionButtonScale(null, null, floatingActionButtonScale);
    },
    _updateWith$2$bottomNavigationBarTop$floatingActionButtonArea(bottomNavigationBarTop, floatingActionButtonArea) {
      return this._updateWith$3$bottomNavigationBarTop$floatingActionButtonArea$floatingActionButtonScale(bottomNavigationBarTop, floatingActionButtonArea, null);
    },
    $isValueListenable: 1
  };
  A._BodyBoxConstraints.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (!_this.super$BoxConstraints$$eq(0, other))
        return false;
      return other instanceof A._BodyBoxConstraints && other.materialBannerHeight === _this.materialBannerHeight && other.bottomWidgetsHeight === _this.bottomWidgetsHeight && other.appBarHeight === _this.appBarHeight;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.BoxConstraints.prototype.get$hashCode.call(_this, _this), _this.materialBannerHeight, _this.bottomWidgetsHeight, _this.appBarHeight, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._BodyBuilder.prototype = {
    build$1(context) {
      return this.body;
    }
  };
  A._ScaffoldLayout.prototype = {
    performLayout$1(size) {
      var appBarHeight, contentTop, bottomWidgetsHeight, bottomNavigationBarTop, materialBannerSize, t2, contentBottom, bodyMaxHeight, t3, snackBarSize, bottomSheetSize, floatingActionButtonRect, fabSize, currentGeometry, currentFabOffset, fabOffset, snackBarYOffsetBase, _this = this,
        looseConstraints = A.BoxConstraints$loose(size),
        t1 = size._dx,
        fullWidthConstraints = looseConstraints.tighten$1$width(t1),
        bottom = size._dy;
      if (_this._idToChild.$index(0, B._ScaffoldSlot_1) != null) {
        appBarHeight = _this.layoutChild$2(B._ScaffoldSlot_1, fullWidthConstraints)._dy;
        _this.positionChild$2(B._ScaffoldSlot_1, B.Offset_0_0);
        contentTop = appBarHeight;
      } else {
        contentTop = 0;
        appBarHeight = 0;
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_7) != null) {
        bottomWidgetsHeight = 0 + _this.layoutChild$2(B._ScaffoldSlot_7, fullWidthConstraints)._dy;
        bottomNavigationBarTop = Math.max(0, bottom - bottomWidgetsHeight);
        _this.positionChild$2(B._ScaffoldSlot_7, new A.Offset(0, bottomNavigationBarTop));
      } else {
        bottomWidgetsHeight = 0;
        bottomNavigationBarTop = null;
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_6) != null) {
        bottomWidgetsHeight += _this.layoutChild$2(B._ScaffoldSlot_6, new A.BoxConstraints(0, fullWidthConstraints.maxWidth, 0, Math.max(0, bottom - bottomWidgetsHeight - contentTop)))._dy;
        _this.positionChild$2(B._ScaffoldSlot_6, new A.Offset(0, Math.max(0, bottom - bottomWidgetsHeight)));
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_5) != null) {
        materialBannerSize = _this.layoutChild$2(B._ScaffoldSlot_5, fullWidthConstraints);
        _this.positionChild$2(B._ScaffoldSlot_5, new A.Offset(0, appBarHeight));
        if (!_this.extendBodyBehindMaterialBanner)
          contentTop += materialBannerSize._dy;
      } else
        materialBannerSize = B.Size_0_0;
      t2 = _this.minInsets;
      contentBottom = Math.max(0, bottom - Math.max(t2.bottom, bottomWidgetsHeight));
      if (_this._idToChild.$index(0, B._ScaffoldSlot_0) != null) {
        bodyMaxHeight = Math.max(0, contentBottom - contentTop);
        t3 = _this.extendBody;
        if (t3)
          bodyMaxHeight = A.clampDouble(bodyMaxHeight + bottomWidgetsHeight, 0, looseConstraints.maxHeight - contentTop);
        t3 = t3 ? bottomWidgetsHeight : 0;
        _this.layoutChild$2(B._ScaffoldSlot_0, new A._BodyBoxConstraints(t3, appBarHeight, materialBannerSize._dy, 0, fullWidthConstraints.maxWidth, 0, bodyMaxHeight));
        _this.positionChild$2(B._ScaffoldSlot_0, new A.Offset(0, contentTop));
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_2) != null) {
        _this.layoutChild$2(B._ScaffoldSlot_2, new A.BoxConstraints(0, fullWidthConstraints.maxWidth, 0, contentBottom));
        _this.positionChild$2(B._ScaffoldSlot_2, B.Offset_0_0);
      }
      snackBarSize = _this._idToChild.$index(0, B._ScaffoldSlot_4) != null && !_this.isSnackBarFloating ? _this.layoutChild$2(B._ScaffoldSlot_4, fullWidthConstraints) : B.Size_0_0;
      if (_this._idToChild.$index(0, B._ScaffoldSlot_3) != null) {
        bottomSheetSize = _this.layoutChild$2(B._ScaffoldSlot_3, new A.BoxConstraints(0, fullWidthConstraints.maxWidth, 0, Math.max(0, contentBottom - contentTop)));
        _this.positionChild$2(B._ScaffoldSlot_3, new A.Offset((t1 - bottomSheetSize._dx) / 2, contentBottom - bottomSheetSize._dy));
      } else
        bottomSheetSize = B.Size_0_0;
      floatingActionButtonRect = A._Cell$named("floatingActionButtonRect");
      if (_this._idToChild.$index(0, B._ScaffoldSlot_8) != null) {
        fabSize = _this.layoutChild$2(B._ScaffoldSlot_8, looseConstraints);
        currentGeometry = new A.ScaffoldPrelayoutGeometry(fabSize, bottomSheetSize, contentBottom, t2, _this.minViewPadding, size, snackBarSize, _this.textDirection);
        currentFabOffset = _this.currentFloatingActionButtonLocation.getOffset$1(currentGeometry);
        fabOffset = _this.floatingActionButtonMotionAnimator.getOffset$3$begin$end$progress(_this.previousFloatingActionButtonLocation.getOffset$1(currentGeometry), currentFabOffset, _this.floatingActionButtonMoveAnimationProgress);
        _this.positionChild$2(B._ScaffoldSlot_8, fabOffset);
        t1 = fabOffset._dx;
        t3 = fabOffset._dy;
        floatingActionButtonRect.__late_helper$_value = new A.Rect(t1, t3, t1 + fabSize._dx, t3 + fabSize._dy);
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_4) != null) {
        if (snackBarSize.$eq(0, B.Size_0_0))
          snackBarSize = _this.layoutChild$2(B._ScaffoldSlot_4, fullWidthConstraints);
        t1 = floatingActionButtonRect._readLocal$0();
        if (!new A.Size(t1.right - t1.left, t1.bottom - t1.top).$eq(0, B.Size_0_0) && _this.isSnackBarFloating)
          snackBarYOffsetBase = floatingActionButtonRect._readLocal$0().top;
        else
          snackBarYOffsetBase = _this.isSnackBarFloating ? Math.min(contentBottom, bottom - _this.minViewPadding.bottom) : contentBottom;
        _this.positionChild$2(B._ScaffoldSlot_4, new A.Offset(0, snackBarYOffsetBase - snackBarSize._dy));
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_11) != null) {
        _this.layoutChild$2(B._ScaffoldSlot_11, fullWidthConstraints.tighten$1$height(t2.top));
        _this.positionChild$2(B._ScaffoldSlot_11, B.Offset_0_0);
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_9) != null) {
        _this.layoutChild$2(B._ScaffoldSlot_9, A.BoxConstraints$tight(size));
        _this.positionChild$2(B._ScaffoldSlot_9, B.Offset_0_0);
      }
      if (_this._idToChild.$index(0, B._ScaffoldSlot_10) != null) {
        _this.layoutChild$2(B._ScaffoldSlot_10, A.BoxConstraints$tight(size));
        _this.positionChild$2(B._ScaffoldSlot_10, B.Offset_0_0);
      }
      _this.geometryNotifier._updateWith$2$bottomNavigationBarTop$floatingActionButtonArea(bottomNavigationBarTop, floatingActionButtonRect._readLocal$0());
    },
    shouldRelayout$1(oldDelegate) {
      var _this = this;
      return !oldDelegate.minInsets.$eq(0, _this.minInsets) || oldDelegate.textDirection !== _this.textDirection || oldDelegate.floatingActionButtonMoveAnimationProgress !== _this.floatingActionButtonMoveAnimationProgress || oldDelegate.previousFloatingActionButtonLocation !== _this.previousFloatingActionButtonLocation || oldDelegate.currentFloatingActionButtonLocation !== _this.currentFloatingActionButtonLocation || oldDelegate.extendBody !== _this.extendBody || false;
    }
  };
  A._FloatingActionButtonTransition.prototype = {
    createState$0() {
      return new A._FloatingActionButtonTransitionState(null, null, B._StateLifecycle_0);
    }
  };
  A._FloatingActionButtonTransitionState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = A.AnimationController$(null, B.Duration_200000, 0, null, 1, null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_handlePreviousAnimationStatusChanged());
      _this.___FloatingActionButtonTransitionState__previousController = t1;
      _this._scaffold$_updateAnimations$0();
      _this._widget.geometryNotifier._updateWith$1$floatingActionButtonScale(0);
    },
    dispose$0() {
      var t1 = this.___FloatingActionButtonTransitionState__previousController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__FloatingActionButtonTransitionState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._widget.toString;
      return;
    },
    _scaffold$_updateAnimations$0() {
      var previousExitScaleAnimation, t2, currentEntranceScaleAnimation, t3, t4, t5, t6, t7, t8, t9, t10, moveScaleAnimation, t11, t12, moveRotationAnimation, _this = this, _null = null,
        t1 = _this.___FloatingActionButtonTransitionState__previousController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      previousExitScaleAnimation = A.CurvedAnimation$(B.Cubic_JUR0, t1, _null);
      t1 = type$.Tween_double;
      t2 = _this.___FloatingActionButtonTransitionState__previousController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.CurvedAnimation$(B.Cubic_JUR0, t2, _null);
      currentEntranceScaleAnimation = A.CurvedAnimation$(B.Cubic_JUR0, _this._widget.currentController, _null);
      t3 = _this._widget;
      t4 = t3.currentController;
      t5 = $.$get$_FloatingActionButtonTransitionState__entranceTurnTween();
      t6 = type$.Animation_double;
      t6._as(t4);
      t3 = t3.fabMoveAnimation;
      t6._as(t3);
      t7 = type$.CurveTween._eval$1("_AnimatedEvaluation<Animatable.T>");
      t8 = type$.JSArray_of_void_Function_AnimationStatus;
      t9 = type$.ObserverList_of_void_Function_AnimationStatus;
      t10 = type$.double;
      moveScaleAnimation = A._AnimationSwap$(new A.ReverseAnimation(new A._AnimatedEvaluation(t3, new A.CurveTween(new A.FlippedCurve(B.Interval_E4y)), t7), new A.ObserverList(A._setArrayType([], t8), t9), 0), new A._AnimatedEvaluation(t3, new A.CurveTween(B.Interval_E4y), t7), t3, 0.5, t10);
      t3 = _this._widget.fabMoveAnimation;
      t11 = $.$get$_ScalingFabMotionAnimator__rotationTween();
      t6._as(t3);
      t12 = $.$get$_ScalingFabMotionAnimator__thresholdCenterTween();
      moveRotationAnimation = A._AnimationSwap$(new A._AnimatedEvaluation(t3, t11, t11.$ti._eval$1("_AnimatedEvaluation<Animatable.T>")), new A.ReverseAnimation(new A._AnimatedEvaluation(t3, t12, A._instanceType(t12)._eval$1("_AnimatedEvaluation<Animatable.T>")), new A.ObserverList(A._setArrayType([], t8), t9), 0), t3, 0.5, t10);
      _this.___FloatingActionButtonTransitionState__previousScaleAnimation = A.AnimationMin$(moveScaleAnimation, previousExitScaleAnimation, t10);
      t10 = A.AnimationMin$(moveScaleAnimation, currentEntranceScaleAnimation, t10);
      _this.___FloatingActionButtonTransitionState__currentScaleAnimation = t10;
      _this.___FloatingActionButtonTransitionState__extendedCurrentScaleAnimation = new A._AnimatedEvaluation(t6._as(t10), new A.CurveTween(B.Interval_75R3), t7);
      _this.___FloatingActionButtonTransitionState__previousRotationAnimation = A.TrainHoppingAnimation$(new A._AnimatedEvaluation(t2, new A.Tween(1, 1, t1), t1._eval$1("_AnimatedEvaluation<Animatable.T>")), moveRotationAnimation, _null);
      _this.___FloatingActionButtonTransitionState__currentRotationAnimation = A.TrainHoppingAnimation$(new A._AnimatedEvaluation(t4, t5, t5.$ti._eval$1("_AnimatedEvaluation<Animatable.T>")), moveRotationAnimation, _null);
      t5 = _this.___FloatingActionButtonTransitionState__currentScaleAnimation;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this.get$_onProgressChanged();
      t5.didRegisterListener$0();
      t5 = t5.AnimationLocalListenersMixin__listeners;
      t5._isDirty = true;
      t5._list.push(t4);
      t5 = _this.___FloatingActionButtonTransitionState__previousScaleAnimation;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t5.didRegisterListener$0();
      t5 = t5.AnimationLocalListenersMixin__listeners;
      t5._isDirty = true;
      t5._list.push(t4);
    },
    _handlePreviousAnimationStatusChanged$1($status) {
      this.setState$1(new A._FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure(this, $status));
    },
    build$1(context) {
      var t3, t4, _this = this,
        t1 = A._setArrayType([], type$.JSArray_Widget),
        t2 = _this.___FloatingActionButtonTransitionState__previousController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__AnimationController__status;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 !== B.AnimationStatus_0) {
        t2 = _this.___FloatingActionButtonTransitionState__previousScaleAnimation;
        t3 = _this._previousChild;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t4 = _this.___FloatingActionButtonTransitionState__previousRotationAnimation;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t1.push(A.ScaleTransition$(A.RotationTransition$(t3, t4), t2));
      }
      t2 = _this._widget;
      t3 = _this.___FloatingActionButtonTransitionState__currentScaleAnimation;
      t2 = t2.child;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this.___FloatingActionButtonTransitionState__currentRotationAnimation;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t1.push(A.ScaleTransition$(A.RotationTransition$(t2, t4), t3));
      return new A.Stack(B.Alignment_1_0, null, B.StackFit_0, B.Clip_1, t1, null);
    },
    _onProgressChanged$0() {
      var t2, t3,
        t1 = this.___FloatingActionButtonTransitionState__previousScaleAnimation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.first;
      t2 = t2.get$value(t2);
      t1 = t1.next;
      t1 = t1.get$value(t1);
      t1 = Math.min(A.checkNum(t2), A.checkNum(t1));
      t2 = this.___FloatingActionButtonTransitionState__currentScaleAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.first;
      t3 = t3.get$value(t3);
      t2 = t2.next;
      t2 = t2.get$value(t2);
      t2 = Math.max(t1, Math.min(A.checkNum(t3), A.checkNum(t2)));
      this._widget.geometryNotifier._updateWith$1$floatingActionButtonScale(t2);
    }
  };
  A._FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure.prototype = {
    call$0() {
      if (this.status === B.AnimationStatus_0)
        this.$this._widget.toString;
    },
    $signature: 0
  };
  A.Scaffold.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.LabeledGlobalKey_DrawerControllerState,
        t2 = $.$get$ChangeNotifier__emptyListeners();
      return new A.ScaffoldState(new A.LabeledGlobalKey(_null, t1), new A.LabeledGlobalKey(_null, t1), new A.RestorableBool(false, t2), new A.RestorableBool(false, t2), A._setArrayType([], type$.JSArray__StandardBottomSheet), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), B.Color_4278190080, _null, A.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, _null, _null, B._StateLifecycle_0);
    }
  };
  A.ScaffoldState.prototype = {
    get$restorationId() {
      this._widget.toString;
      return null;
    },
    restoreState$2(oldBucket, initialRestore) {
      var _this = this;
      _this.registerForRestoration$2(_this._drawerOpened, "drawer_open");
      _this.registerForRestoration$2(_this._endDrawerOpened, "end_drawer_open");
    },
    _updateSnackBar$0() {
      var messengerSnackBar, _this = this,
        t1 = _this._scaffoldMessenger._snackBars;
      if (!t1.get$isEmpty(t1)) {
        t1 = _this._scaffoldMessenger._snackBars;
        messengerSnackBar = t1.get$first(t1);
      } else
        messengerSnackBar = null;
      if (_this._messengerSnackBar != messengerSnackBar)
        _this.setState$1(new A.ScaffoldState__updateSnackBar_closure(_this, messengerSnackBar));
    },
    _updateMaterialBanner$0() {
      var messengerMaterialBanner, _this = this,
        t1 = _this._scaffoldMessenger._materialBanners;
      if (!t1.get$isEmpty(t1)) {
        t1 = _this._scaffoldMessenger._materialBanners;
        messengerMaterialBanner = t1.get$first(t1);
      } else
        messengerMaterialBanner = null;
      if (_this._messengerMaterialBanner != messengerMaterialBanner)
        _this.setState$1(new A.ScaffoldState__updateMaterialBanner_closure(_this, messengerMaterialBanner));
    },
    _maybeBuildPersistentBottomSheet$0() {
      this._widget.toString;
    },
    _handleStatusBarTap$0() {
      var primaryScrollController,
        t1 = this._framework$_element;
      t1.toString;
      primaryScrollController = A.PrimaryScrollController_of(t1);
      if (primaryScrollController != null && primaryScrollController._positions.length !== 0)
        primaryScrollController.animateTo$3$curve$duration(0, B.Cubic_YAz, B.Duration_1000000);
    },
    get$_resizeToAvoidBottomInset() {
      this._widget.toString;
      return true;
    },
    initState$0() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      t1 = _this._framework$_element;
      t1.toString;
      _this.__ScaffoldState__geometryNotifier = new A._ScaffoldGeometryNotifier(t1, B.ScaffoldGeometry_null_null, $.$get$ChangeNotifier__emptyListeners());
      _this._widget.toString;
      _this._floatingActionButtonLocation = B.C__EndFloatFabLocation;
      _this.__ScaffoldState__floatingActionButtonAnimator = B.C__ScalingFabMotionAnimator;
      _this._previousFloatingActionButtonLocation = B.C__EndFloatFabLocation;
      _this.__ScaffoldState__floatingActionButtonMoveController = A.AnimationController$(_null, new A.Duration(400000), 0, _null, 1, 1, _this);
      _this.__ScaffoldState__floatingActionButtonVisibilityController = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, _null, _this);
    },
    didUpdateWidget$1(oldWidget) {
      this.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget(oldWidget);
      this._widget.toString;
    },
    didChangeDependencies$0() {
      var t3, _this = this,
        scope = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$._ScaffoldMessengerScope),
        currentScaffoldMessenger = scope == null ? null : scope._scaffoldMessengerState,
        t1 = _this._scaffoldMessenger,
        t2 = t1 == null;
      if (!t2)
        t3 = currentScaffoldMessenger == null || t1 !== currentScaffoldMessenger;
      else
        t3 = false;
      if (t3)
        if (!t2)
          t1._scaffolds.remove$1(0, _this);
      _this._scaffoldMessenger = currentScaffoldMessenger;
      if (currentScaffoldMessenger != null) {
        currentScaffoldMessenger._scaffolds.add$1(0, _this);
        if (currentScaffoldMessenger._isRoot$1(_this)) {
          t1 = currentScaffoldMessenger._snackBars;
          if (!t1.get$isEmpty(t1))
            _this._updateSnackBar$0();
          t1 = currentScaffoldMessenger._materialBanners;
          if (!t1.get$isEmpty(t1))
            _this._updateMaterialBanner$0();
        }
      }
      _this._maybeBuildPersistentBottomSheet$0();
      _this.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.__ScaffoldState__geometryNotifier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      t1 = _this.__ScaffoldState__floatingActionButtonMoveController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.__ScaffoldState__floatingActionButtonVisibilityController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this._scaffoldMessenger;
      if (t1 != null)
        t1._scaffolds.remove$1(0, _this);
      _this.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$dispose();
    },
    _addIfNonNull$9$maintainBottomViewPadding$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, maintainBottomViewPadding, removeBottomInset, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding) {
      var data = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.removePadding$4$removeBottom$removeLeft$removeRight$removeTop(removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding);
      if (removeBottomInset)
        data = data.removeViewInsets$1$removeBottom(true);
      if (maintainBottomViewPadding && data.viewInsets.bottom !== 0)
        data = data.copyWith$1$padding(data.padding.copyWith$1$bottom(data.viewPadding.bottom));
      if (child != null)
        children.push(A.LayoutId$(new A.MediaQuery(data, child, null), childId));
    },
    _addIfNonNull$8$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, removeBottomInset, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding) {
      return this._addIfNonNull$9$maintainBottomViewPadding$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, false, removeBottomInset, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding);
    },
    _addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding) {
      return this._addIfNonNull$9$maintainBottomViewPadding$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, false, false, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding);
    },
    _addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, maintainBottomViewPadding, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding) {
      return this._addIfNonNull$9$maintainBottomViewPadding$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, child, childId, maintainBottomViewPadding, false, removeBottomPadding, removeLeftPadding, removeRightPadding, removeTopPadding);
    },
    _buildEndDrawer$2(children, textDirection) {
      this._widget.toString;
    },
    _buildDrawer$2(children, textDirection) {
      this._widget.toString;
    },
    build$1(context) {
      var textDirection, children, t2, t3, elevation, t4, minInsets, minViewPadding, _this = this, _null = null, _box_0 = {},
        mediaQuery = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        themeData = A.Theme_of(context),
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      children = A._setArrayType([], type$.JSArray_LayoutId);
      t1 = _this._widget;
      t2 = t1.body;
      t3 = t1.appBar;
      t1 = t1.bottomNavigationBar != null || false;
      _this.get$_resizeToAvoidBottomInset();
      _this._addIfNonNull$8$removeBottomInset$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new A._BodyBuilder(t2, false, false, _null), B._ScaffoldSlot_0, true, t1, false, false, t3 != null);
      if (_this._showBodyScrim)
        _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new A.ModalBarrier(_this._bodyScrimColor, false, _null, true, _null, _null), B._ScaffoldSlot_2, true, true, true, true);
      t1 = _this._widget.appBar;
      if (t1 != null) {
        t1 = _this._appBarMaxHeight = A.AppBar_preferredHeightFor(context, t1.get$preferredSize()) + mediaQuery.padding.top;
        t2 = _this._widget.appBar;
        t2.toString;
        _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new A.ConstrainedBox(new A.BoxConstraints(0, 1 / 0, 0, t1), new A.FlexibleSpaceBarSettings(1, t1, t1, t1, _null, t2, _null), _null), B._ScaffoldSlot_1, true, false, false, false);
      }
      _box_0.isSnackBarFloating = false;
      _box_0.snackBarWidth = null;
      if (_this._currentBottomSheet != null || _this._dismissedBottomSheets.length !== 0) {
        t1 = A.List_List$of(_this._dismissedBottomSheets, true, type$.Widget);
        t2 = _this._currentBottomSheet;
        if (t2 != null)
          t1.push(t2._scaffold$_widget);
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new A.Stack(B.Alignment_0_1, _null, B.StackFit_0, B.Clip_1, t1, _null), B._ScaffoldSlot_3, true, false, false, true);
      }
      t1 = _this._messengerSnackBar;
      if (t1 != null) {
        _box_0.isSnackBarFloating = false;
        t1 = t1._scaffold$_widget;
        _box_0.snackBarWidth = t1.width;
        t2 = _this._widget.bottomNavigationBar != null || false;
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, t1, B._ScaffoldSlot_4, false, t2, false, false, true);
      }
      _box_0.extendBodyBehindMaterialBanner = false;
      if (_this._messengerMaterialBanner != null) {
        context.dependOnInheritedWidgetOfExactType$1$0(type$.MaterialBannerTheme);
        t1 = A.Theme_of(context);
        t2 = _this._messengerMaterialBanner;
        if (t2 != null) {
          t2 = t2._scaffold$_widget;
          t2.get$elevation(t2);
        }
        elevation = t1.bannerTheme.elevation;
        _box_0.extendBodyBehindMaterialBanner = (elevation == null ? 0 : elevation) !== 0;
        t1 = _this._messengerMaterialBanner;
        t1 = t1 == null ? _null : t1._scaffold$_widget;
        t2 = _this._widget.appBar;
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, t1, B._ScaffoldSlot_5, false, true, false, false, t2 != null);
      }
      t1 = _this._widget;
      t1 = t1.bottomNavigationBar;
      if (t1 != null) {
        _this.get$_resizeToAvoidBottomInset();
        _this._addIfNonNull$8$maintainBottomViewPadding$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, t1, B._ScaffoldSlot_7, false, false, false, false, true);
      }
      t1 = _this.__ScaffoldState__floatingActionButtonMoveController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.__ScaffoldState__floatingActionButtonAnimator;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this.__ScaffoldState__geometryNotifier;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this.__ScaffoldState__floatingActionButtonVisibilityController;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      _this._widget.toString;
      _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, new A._FloatingActionButtonTransition(_null, t1, t2, t3, t4, _null), B._ScaffoldSlot_8, true, true, true, true);
      switch (themeData.platform.index) {
        case 2:
        case 4:
          _this._addIfNonNull$7$removeBottomPadding$removeLeftPadding$removeRightPadding$removeTopPadding(children, A.GestureDetector$(B.HitTestBehavior_1, _null, B.DragStartBehavior_1, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_handleStatusBarTap(), _null, _null, _null, _null, _null, _null), B._ScaffoldSlot_11, true, false, false, true);
          break;
        case 0:
        case 1:
        case 3:
        case 5:
          break;
      }
      t1 = _this._endDrawerOpened;
      t2 = t1._restoration_properties$_value;
      if (t2 == null ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2) {
        _this._buildDrawer$2(children, textDirection);
        _this._buildEndDrawer$2(children, textDirection);
      } else {
        _this._buildEndDrawer$2(children, textDirection);
        _this._buildDrawer$2(children, textDirection);
      }
      _this.get$_resizeToAvoidBottomInset();
      t1 = mediaQuery.viewInsets.bottom;
      minInsets = mediaQuery.padding.copyWith$1$bottom(t1);
      _this.get$_resizeToAvoidBottomInset();
      t1 = t1 !== 0 ? 0 : _null;
      minViewPadding = mediaQuery.viewPadding.copyWith$1$bottom(t1);
      if (minInsets.bottom <= 0)
        _this._widget.toString;
      _this._widget.toString;
      if (_this.__ScaffoldState__geometryNotifier === $)
        A.throwUnnamedLateFieldNI();
      t1 = _this.__ScaffoldState__floatingActionButtonMoveController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._ScaffoldScope(false, new A.ScrollNotificationObserver(A.Material$(B.Duration_200000, true, _null, A.AnimatedBuilder$(t1, new A.ScaffoldState_build_closure(_box_0, _this, false, minInsets, minViewPadding, textDirection, children), _null), B.Clip_0, themeData.scaffoldBackgroundColor, 0, _null, _null, _null, _null, _null, B.MaterialType_0), _null), _null);
    }
  };
  A.ScaffoldState__updateSnackBar_closure.prototype = {
    call$0() {
      this.$this._messengerSnackBar = this.messengerSnackBar;
    },
    $signature: 0
  };
  A.ScaffoldState__updateMaterialBanner_closure.prototype = {
    call$0() {
      this.$this._messengerMaterialBanner = this.messengerMaterialBanner;
    },
    $signature: 0
  };
  A.ScaffoldState_build_closure.prototype = {
    call$2(context, child) {
      var t2, t3, t4, t5, t6, t7, t8, _this = this,
        t1 = _this.$this;
      t1._widget.toString;
      t2 = t1._floatingActionButtonLocation;
      t2.toString;
      t3 = t1.__ScaffoldState__floatingActionButtonMoveController;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t3.__AnimationController__value;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t1.__ScaffoldState__floatingActionButtonAnimator;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t1.__ScaffoldState__geometryNotifier;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._previousFloatingActionButtonLocation;
      t1.toString;
      t6 = _this._box_0;
      t7 = t6.isSnackBarFloating;
      t8 = t6.extendBodyBehindMaterialBanner;
      return new A.CustomMultiChildLayout(new A._ScaffoldLayout(_this.extendBody, false, _this.minInsets, _this.minViewPadding, _this.textDirection, t5, t1, t2, t3, t4, t7, t6.snackBarWidth, t8), _this.children, null);
    },
    $signature: 780
  };
  A.ScaffoldFeatureController.prototype = {};
  A._ScaffoldScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.hasDrawer !== oldWidget.hasDrawer;
    }
  };
  A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure.prototype = {
    call$2(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 78
  };
  A._ScaffoldMessengerState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._ScaffoldState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin.prototype = {
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$State$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.RestorationScope_of(t1);
      _this.RestorationMixin__currentParent = t1;
      didReplaceBucket = _this._updateBucketIfNecessary$2$parent$restorePending(t1, needsRestore);
      if (needsRestore) {
        _this.restoreState$2(oldBucket, _this.RestorationMixin__firstRestorePending);
        _this.RestorationMixin__firstRestorePending = false;
      }
      if (didReplaceBucket)
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    dispose$0() {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0();
      _this.RestorationMixin__bucket = null;
      _this.super$_ScaffoldState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.Scrollbar.prototype = {
    build$1(context) {
      var t1, _this = this, _null = null;
      if (A.Theme_of(context).platform === B.TargetPlatform_2) {
        t1 = _this.notificationPredicate;
        if (t1 == null)
          t1 = A.scroll_notification__defaultScrollNotificationPredicate$closure();
        return new A.CupertinoScrollbar(8, B.Radius_4_4, _this.child, _this.controller, _this.thumbVisibility === true, B.Radius_ydE, 3, _null, B.Duration_250000, B.Duration_1200000, B.Duration_100000, t1, _null, _null, _null);
      }
      t1 = _this.notificationPredicate;
      if (t1 == null)
        t1 = A.scroll_notification__defaultScrollNotificationPredicate$closure();
      return new A._MaterialScrollbar(_null, _null, _this.child, _this.controller, _this.thumbVisibility, _null, _null, _null, B.Duration_300000, B.Duration_600000, B.Duration_0, t1, _null, _null, _null);
    }
  };
  A._MaterialScrollbar.prototype = {
    createState$0() {
      return new A._MaterialScrollbarState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), null, null, B._StateLifecycle_0);
    }
  };
  A._MaterialScrollbarState.prototype = {
    get$showScrollbar() {
      var _this = this,
        t1 = _this._widget.thumbVisibility;
      if (t1 == null) {
        t1 = _this.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.thumbVisibility;
        t1 = t1 == null ? null : t1.resolve$1(_this.get$_states());
      }
      if (t1 == null) {
        t1 = _this.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.isAlwaysShown;
      }
      return t1 == null ? false : t1;
    },
    get$enableGestures() {
      this._widget.toString;
      var t1 = this.___MaterialScrollbarState__scrollbarTheme;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.interactive;
      if (t1 == null) {
        t1 = this.___MaterialScrollbarState__useAndroidScrollbar;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = !t1;
      }
      return t1;
    },
    get$_trackVisibility() {
      return new A._MaterialStatePropertyWith(new A._MaterialScrollbarState__trackVisibility_closure(this), type$._MaterialStatePropertyWith_bool);
    },
    get$_states() {
      var t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (this._dragIsActive)
        t1.add$1(0, B.MaterialState_3);
      if (this._scrollbar0$_hoverIsActive)
        t1.add$1(0, B.MaterialState_0);
      return t1;
    },
    get$_thumbColor() {
      var onSurface, dragColor, hoverColor, idleColor, t2, t3, t4, _this = this,
        t1 = _this.___MaterialScrollbarState__colorScheme;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      onSurface = t1.onSurface;
      dragColor = A._Cell$named("dragColor");
      hoverColor = A._Cell$named("hoverColor");
      idleColor = A._Cell$named("idleColor");
      switch (t1.brightness.index) {
        case 1:
          t1 = onSurface.value;
          t2 = t1 >>> 16 & 255;
          t3 = t1 >>> 8 & 255;
          t1 &= 255;
          dragColor.__late_helper$_value = A.Color$fromARGB(153, t2, t3, t1);
          hoverColor.__late_helper$_value = A.Color$fromARGB(B.JSNumber_methods.round$0(127.5), t2, t3, t1);
          t4 = _this.___MaterialScrollbarState__useAndroidScrollbar;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          if (t4) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = A.Theme_of(t1).highlightColor.value;
            t1 = A.Color$fromARGB(255, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          } else
            t1 = A.Color$fromARGB(B.JSNumber_methods.round$0(25.5), t2, t3, t1);
          idleColor.__late_helper$_value = t1;
          break;
        case 0:
          t1 = onSurface.value;
          t2 = t1 >>> 16 & 255;
          t3 = t1 >>> 8 & 255;
          t1 &= 255;
          dragColor.__late_helper$_value = A.Color$fromARGB(191, t2, t3, t1);
          hoverColor.__late_helper$_value = A.Color$fromARGB(166, t2, t3, t1);
          t4 = _this.___MaterialScrollbarState__useAndroidScrollbar;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          if (t4) {
            t1 = _this._framework$_element;
            t1.toString;
            t1 = A.Theme_of(t1).highlightColor.value;
            t1 = A.Color$fromARGB(255, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          } else
            t1 = A.Color$fromARGB(B.JSNumber_methods.round$0(76.5), t2, t3, t1);
          idleColor.__late_helper$_value = t1;
          break;
      }
      return new A._MaterialStatePropertyWith(new A._MaterialScrollbarState__thumbColor_closure(_this, dragColor, hoverColor, idleColor), type$._MaterialStatePropertyWith_Color);
    },
    get$_scrollbar0$_trackColor() {
      var t1 = this.___MaterialScrollbarState__colorScheme;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._MaterialStatePropertyWith(new A._MaterialScrollbarState__trackColor_closure(this, t1.brightness, t1.onSurface), type$._MaterialStatePropertyWith_Color);
    },
    get$_scrollbar0$_trackBorderColor() {
      var t1 = this.___MaterialScrollbarState__colorScheme;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._MaterialStatePropertyWith(new A._MaterialScrollbarState__trackBorderColor_closure(this, t1.brightness, t1.onSurface), type$._MaterialStatePropertyWith_Color);
    },
    get$_scrollbar0$_thickness() {
      return new A._MaterialStatePropertyWith(new A._MaterialScrollbarState__thickness_closure(this), type$._MaterialStatePropertyWith_double);
    },
    initState$0() {
      var t1, _this = this;
      _this.super$RawScrollbarState$initState();
      t1 = _this.___MaterialScrollbarState__hoverAnimationController = A.AnimationController$(null, B.Duration_200000, 0, null, 1, null, _this);
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(new A._MaterialScrollbarState_initState_closure(_this));
    },
    didChangeDependencies$0() {
      var theme, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      theme = A.Theme_of(t1);
      _this.___MaterialScrollbarState__colorScheme = theme.colorScheme;
      _this.___MaterialScrollbarState__scrollbarTheme = theme.scrollbarTheme;
      switch (theme.platform.index) {
        case 0:
          _this.___MaterialScrollbarState__useAndroidScrollbar = true;
          break;
        case 2:
        case 3:
        case 1:
        case 4:
        case 5:
          _this.___MaterialScrollbarState__useAndroidScrollbar = false;
          break;
      }
      _this.super$RawScrollbarState$didChangeDependencies();
    },
    updateScrollbarPainter$0() {
      var t2, _this = this,
        t1 = _this.__RawScrollbarState_scrollbarPainter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.set$color(0, _this.get$_thumbColor()._material_state$_resolve.call$1(_this.get$_states()));
      t1.set$trackColor(_this.get$_scrollbar0$_trackColor()._material_state$_resolve.call$1(_this.get$_states()));
      t1.set$trackBorderColor(_this.get$_scrollbar0$_trackBorderColor()._material_state$_resolve.call$1(_this.get$_states()));
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1.set$textDirection(t2.textDirection);
      t1.set$thickness(_this.get$_scrollbar0$_thickness()._material_state$_resolve.call$1(_this.get$_states()));
      t2 = _this._widget.radius;
      if (t2 == null) {
        t2 = _this.___MaterialScrollbarState__scrollbarTheme;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.radius;
      }
      if (t2 == null) {
        t2 = _this.___MaterialScrollbarState__useAndroidScrollbar;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2 ? null : B.Radius_8_8;
      }
      t1.set$radius(t2);
      t2 = _this.___MaterialScrollbarState__scrollbarTheme;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.crossAxisMargin;
      if (t2 == null) {
        t2 = _this.___MaterialScrollbarState__useAndroidScrollbar;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2 ? 0 : 2;
      }
      t1.set$crossAxisMargin(t2);
      t2 = _this.___MaterialScrollbarState__scrollbarTheme;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.mainAxisMargin;
      t1.set$mainAxisMargin(t2 == null ? 0 : t2);
      t2 = _this.___MaterialScrollbarState__scrollbarTheme;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.minThumbLength;
      t1.set$minLength(0, t2 == null ? 48 : t2);
      t1.set$padding(0, _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.padding);
      t1.set$scrollbarOrientation(_this._widget.scrollbarOrientation);
      t1.set$ignorePointer(!_this.get$enableGestures());
    },
    handleThumbPressStart$1(localPosition) {
      this.super$RawScrollbarState$handleThumbPressStart(localPosition);
      this.setState$1(new A._MaterialScrollbarState_handleThumbPressStart_closure(this));
    },
    handleThumbPressEnd$2(localPosition, velocity) {
      this.super$RawScrollbarState$handleThumbPressEnd(localPosition, velocity);
      this.setState$1(new A._MaterialScrollbarState_handleThumbPressEnd_closure(this));
    },
    handleHover$1($event) {
      var t1, _this = this;
      _this.super$RawScrollbarState$handleHover($event);
      if (_this.isPointerOverScrollbar$3$forHover($event.get$position($event), $event.get$kind($event), true)) {
        _this.setState$1(new A._MaterialScrollbarState_handleHover_closure(_this));
        t1 = _this.___MaterialScrollbarState__hoverAnimationController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
      } else if (_this._scrollbar0$_hoverIsActive) {
        _this.setState$1(new A._MaterialScrollbarState_handleHover_closure0(_this));
        t1 = _this.___MaterialScrollbarState__hoverAnimationController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.reverse$0(0);
      }
    },
    handleHoverExit$1($event) {
      var t1, _this = this;
      _this.super$RawScrollbarState$handleHoverExit($event);
      _this.setState$1(new A._MaterialScrollbarState_handleHoverExit_closure(_this));
      t1 = _this.___MaterialScrollbarState__hoverAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.reverse$0(0);
    },
    dispose$0() {
      var t1 = this.___MaterialScrollbarState__hoverAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$RawScrollbarState$dispose();
    }
  };
  A._MaterialScrollbarState__trackVisibility_closure.prototype = {
    call$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_0)) {
        t1 = this.$this;
        t1._widget.toString;
        t1 = t1.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.showTrackOnHover === true;
      } else
        t1 = false;
      if (t1)
        return true;
      t1 = this.$this;
      t1._widget.toString;
      t1 = t1.___MaterialScrollbarState__scrollbarTheme;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.trackVisibility;
      t1 = t1 == null ? null : t1.resolve$1(states);
      return t1 == null ? false : t1;
    },
    $signature: 782
  };
  A._MaterialScrollbarState__thumbColor_closure.prototype = {
    call$1(states) {
      var t1, t2, t3, _this = this, _null = null;
      if (states.contains$1(0, B.MaterialState_3)) {
        t1 = _this.$this.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.thumbColor;
        t1 = t1 == null ? _null : t1.resolve$1(states);
        return t1 == null ? _this.dragColor._readLocal$0() : t1;
      }
      t1 = _this.$this;
      if (t1.get$_trackVisibility()._material_state$_resolve.call$1(states)) {
        t1 = t1.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.thumbColor;
        t1 = t1 == null ? _null : t1.resolve$1(states);
        return t1 == null ? _this.hoverColor._readLocal$0() : t1;
      }
      t2 = t1.___MaterialScrollbarState__scrollbarTheme;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.thumbColor;
      t2 = t2 == null ? _null : t2.resolve$1(states);
      if (t2 == null)
        t2 = _this.idleColor._readLocal$0();
      t3 = t1.___MaterialScrollbarState__scrollbarTheme;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t3.thumbColor;
      t3 = t3 == null ? _null : t3.resolve$1(states);
      if (t3 == null)
        t3 = _this.hoverColor._readLocal$0();
      t1 = t1.___MaterialScrollbarState__hoverAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = A.Color_lerp(t2, t3, t1);
      t1.toString;
      return t1;
    },
    $signature: 69
  };
  A._MaterialScrollbarState__trackColor_closure.prototype = {
    call$1(states) {
      var t1 = this.$this;
      if (t1.get$showScrollbar() && t1.get$_trackVisibility()._material_state$_resolve.call$1(states)) {
        t1 = t1.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.trackColor;
        t1 = t1 == null ? null : t1.resolve$1(states);
        if (t1 == null) {
          t1 = this.onSurface.value;
          t1 = this.brightness === B.Brightness_1 ? A.Color$fromARGB(8, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255) : A.Color$fromARGB(13, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return B.Color_0;
    },
    $signature: 69
  };
  A._MaterialScrollbarState__trackBorderColor_closure.prototype = {
    call$1(states) {
      var t1 = this.$this;
      if (t1.get$showScrollbar() && t1.get$_trackVisibility()._material_state$_resolve.call$1(states)) {
        t1 = t1.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.trackBorderColor;
        t1 = t1 == null ? null : t1.resolve$1(states);
        if (t1 == null) {
          t1 = this.onSurface.value;
          t1 = this.brightness === B.Brightness_1 ? A.Color$fromARGB(B.JSNumber_methods.round$0(25.5), t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255) : A.Color$fromARGB(64, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return B.Color_0;
    },
    $signature: 69
  };
  A._MaterialScrollbarState__thickness_closure.prototype = {
    call$1(states) {
      var t1, t2;
      if (states.contains$1(0, B.MaterialState_0) && this.$this.get$_trackVisibility()._material_state$_resolve.call$1(states)) {
        t1 = this.$this;
        t1._widget.toString;
        t1 = t1.___MaterialScrollbarState__scrollbarTheme;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.thickness;
        t1 = t1 == null ? null : t1.resolve$1(states);
        return t1 == null ? 12 : t1;
      }
      t1 = this.$this;
      t2 = t1._widget.thickness;
      if (t2 == null) {
        t2 = t1.___MaterialScrollbarState__scrollbarTheme;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.thickness;
        t2 = t2 == null ? null : t2.resolve$1(states);
      }
      if (t2 == null) {
        t1 = t1.___MaterialScrollbarState__useAndroidScrollbar;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = 8 / (t1 ? 2 : 1);
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    $signature: 783
  };
  A._MaterialScrollbarState_initState_closure.prototype = {
    call$0() {
      this.$this.updateScrollbarPainter$0();
    },
    $signature: 0
  };
  A._MaterialScrollbarState_handleThumbPressStart_closure.prototype = {
    call$0() {
      this.$this._dragIsActive = true;
    },
    $signature: 0
  };
  A._MaterialScrollbarState_handleThumbPressEnd_closure.prototype = {
    call$0() {
      this.$this._dragIsActive = false;
    },
    $signature: 0
  };
  A._MaterialScrollbarState_handleHover_closure.prototype = {
    call$0() {
      this.$this._scrollbar0$_hoverIsActive = true;
    },
    $signature: 0
  };
  A._MaterialScrollbarState_handleHover_closure0.prototype = {
    call$0() {
      this.$this._scrollbar0$_hoverIsActive = false;
    },
    $signature: 0
  };
  A._MaterialScrollbarState_handleHoverExit_closure.prototype = {
    call$0() {
      this.$this._scrollbar0$_hoverIsActive = false;
    },
    $signature: 0
  };
  A.ScrollbarThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.thumbVisibility, _this.thickness, _this.trackVisibility, _this.showTrackOnHover, _this.isAlwaysShown, _this.interactive, _this.radius, _this.thumbColor, _this.trackColor, _this.trackBorderColor, _this.crossAxisMargin, _this.mainAxisMargin, _this.minThumbLength, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ScrollbarThemeData && other.thumbVisibility == _this.thumbVisibility && other.thickness == _this.thickness && other.trackVisibility == _this.trackVisibility && other.showTrackOnHover == _this.showTrackOnHover && other.isAlwaysShown == _this.isAlwaysShown && other.interactive == _this.interactive && J.$eq$(other.radius, _this.radius) && other.thumbColor == _this.thumbColor && other.trackColor == _this.trackColor && other.trackBorderColor == _this.trackBorderColor && other.crossAxisMargin == _this.crossAxisMargin && other.mainAxisMargin == _this.mainAxisMargin && other.minThumbLength == _this.minThumbLength;
    }
  };
  A._ScrollbarThemeData_Object_Diagnosticable.prototype = {};
  A._TextSpanEditingController.prototype = {
    buildTextSpan$3$context$style$withComposing(context, style, withComposing) {
      return A.TextSpan$(A._setArrayType([this._textSpan], type$.JSArray_TextSpan), null, null, style, null);
    }
  };
  A._SelectableTextSelectionGestureDetectorBuilder.prototype = {
    onForcePressStart$1(details) {
      var t1;
      this.super$TextSelectionGestureDetectorBuilder$onForcePressStart(details);
      t1 = this.delegate;
      if (t1.get$selectionEnabled() && this._shouldShowSelectionToolbar) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onForcePressEnd$1(details) {
    },
    onSingleLongTapMoveUpdate$1(details) {
      var t2,
        t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        t2 = details.globalPosition;
        type$.RenderEditable._as(t1).selectWordsInRange$3$cause$from$to(B.SelectionChangedCause_2, t2.$sub(0, details.offsetFromOrigin), t2);
      }
    },
    onSingleTapUp$1(details) {
      var t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2.hideToolbar$0();
      if (t1.get$selectionEnabled()) {
        t2 = this._selectable_text$_state._framework$_element;
        t2.toString;
        switch (A.Theme_of(t2).platform.index) {
          case 2:
          case 4:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            type$.RenderEditable._as(t1).selectWordEdge$1$cause(B.SelectionChangedCause_0);
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            type$.RenderEditable._as(t1);
            t2 = t1._lastTapDownPosition;
            t2.toString;
            t1.selectPositionAt$2$cause$from(B.SelectionChangedCause_0, t2);
            break;
        }
      }
      t1 = this._selectable_text$_state._widget.onTap;
      if (t1 != null)
        t1.call$0();
    },
    onSingleLongTapStart$1(details) {
      var t2,
        t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        type$.RenderEditable._as(t1);
        t2 = t1._lastTapDownPosition;
        t2.toString;
        t1.selectWordsInRange$2$cause$from(B.SelectionChangedCause_2, t2);
        t2 = this._selectable_text$_state._framework$_element;
        t2.toString;
        A.Feedback_forLongPress(t2);
      }
    }
  };
  A.SelectableText.prototype = {
    createState$0() {
      return new A._SelectableTextState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_EditableTextState), B._StateLifecycle_0);
    }
  };
  A._SelectableTextState.prototype = {
    get$_effectiveFocusNode() {
      this._widget.toString;
      var t1 = this._focusNode;
      if (t1 == null) {
        t1 = A.FocusNode$(true, null, true, true, null, null, true);
        this._focusNode = t1;
      }
      return t1;
    },
    get$forcePressEnabled() {
      var t1 = this.___SelectableTextState_forcePressEnabled;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    get$selectionEnabled() {
      this._widget.toString;
      return true;
    },
    initState$0() {
      var t1, t2, _this = this, _null = null;
      _this.super$State$initState();
      _this.___SelectableTextState__selectionGestureDetectorBuilder = new A._SelectableTextSelectionGestureDetectorBuilder(_this, _this);
      t1 = _this._widget;
      t2 = t1.textSpan;
      t1 = A._TextSpanEditingController$(t2 == null ? A.TextSpan$(_null, _null, _null, _null, t1.data) : t2);
      _this.___SelectableTextState__controller = t1;
      t1.addListener$1(0, _this.get$_onControllerChanged());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, _this = this, _null = null;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      if (t1.data != oldWidget.data || !J.$eq$(t1.textSpan, oldWidget.textSpan)) {
        t1 = _this.___SelectableTextState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this.get$_onControllerChanged();
        t1.removeListener$1(0, t2);
        t1 = _this._widget;
        t3 = t1.textSpan;
        t1 = A._TextSpanEditingController$(t3 == null ? A.TextSpan$(_null, _null, _null, _null, t1.data) : t3);
        _this.___SelectableTextState__controller = t1;
        t1.addListener$1(0, t2);
      }
      if (_this.get$_effectiveFocusNode().get$hasFocus()) {
        t1 = _this.___SelectableTextState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._change_notifier$_value.selection;
        t1 = t1.start === t1.end;
      } else
        t1 = false;
      if (t1)
        _this._showSelectionHandles = false;
      else
        _this._showSelectionHandles = true;
    },
    dispose$0() {
      var _this = this,
        t1 = _this._focusNode;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this.___SelectableTextState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.removeListener$1(0, _this.get$_onControllerChanged());
      _this.super$State$dispose();
    },
    _onControllerChanged$0() {
      var t1, showSelectionHandles, _this = this;
      if (_this.get$_effectiveFocusNode().get$hasFocus()) {
        t1 = _this.___SelectableTextState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._change_notifier$_value.selection;
        showSelectionHandles = t1.start !== t1.end;
      } else
        showSelectionHandles = true;
      if (showSelectionHandles === _this._showSelectionHandles)
        return;
      _this.setState$1(new A._SelectableTextState__onControllerChanged_closure(_this, showSelectionHandles));
    },
    _selectable_text$_handleSelectionChanged$2(selection, cause) {
      var t1, _this = this,
        willShowSelectionHandles = _this._shouldShowSelectionHandles$1(cause);
      if (willShowSelectionHandles !== _this._showSelectionHandles)
        _this.setState$1(new A._SelectableTextState__handleSelectionChanged_closure(_this, willShowSelectionHandles));
      _this._widget.toString;
      _this._lastSeenTextSelection = selection;
      t1 = _this._framework$_element;
      t1.toString;
      switch (A.Theme_of(t1).platform.index) {
        case 2:
        case 4:
          if (cause === B.SelectionChangedCause_2) {
            t1 = _this.editableTextKey.get$currentState();
            if (t1 != null)
              t1.bringIntoView$1(selection.get$base());
          }
          return;
        case 0:
        case 1:
        case 3:
        case 5:
          break;
      }
    },
    _handleSelectionHandleTapped$0() {
      var t1 = this.___SelectableTextState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._change_notifier$_value.selection;
      if (t1.start === t1.end)
        this.editableTextKey.get$currentState().toggleToolbar$0();
    },
    _shouldShowSelectionHandles$1(cause) {
      var t2,
        t1 = this.___SelectableTextState__selectionGestureDetectorBuilder;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1._shouldShowSelectionToolbar)
        return false;
      t1 = this.___SelectableTextState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._change_notifier$_value;
      t2 = t1.selection;
      if (t2.start === t2.end)
        return false;
      if (cause === B.SelectionChangedCause_4)
        return false;
      if (cause === B.SelectionChangedCause_2)
        return true;
      if (t1.text.length !== 0)
        return true;
      return false;
    },
    build$1(context) {
      var focusNode, textSelectionControls, cupertinoTheme, cursorColor, selectionColor, cursorOffset, paintCursorAboveText, cursorOpacityAnimates, cursorRadius, effectiveTextStyle, t2, t3, t4, t5, t6, _this = this, _null = null,
        theme = A.Theme_of(context),
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultSelectionStyle);
      if (t1 == null)
        t1 = B.DefaultSelectionStyle_MUs;
      focusNode = _this.get$_effectiveFocusNode();
      textSelectionControls = _this._widget.selectionControls;
      switch (theme.platform.index) {
        case 2:
          cupertinoTheme = A.CupertinoTheme_of(context);
          _this.___SelectableTextState_forcePressEnabled = true;
          if (textSelectionControls == null)
            textSelectionControls = $.$get$cupertinoTextSelectionControls();
          _this._widget.toString;
          cursorColor = t1.cursorColor;
          if (cursorColor == null)
            cursorColor = cupertinoTheme.get$primaryColor();
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = cupertinoTheme.get$primaryColor();
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorOffset = new A.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = B.Radius_2_2;
          break;
        case 4:
          cupertinoTheme = A.CupertinoTheme_of(context);
          _this.___SelectableTextState_forcePressEnabled = false;
          if (textSelectionControls == null)
            textSelectionControls = $.$get$cupertinoDesktopTextSelectionControls();
          _this._widget.toString;
          cursorColor = t1.cursorColor;
          if (cursorColor == null)
            cursorColor = cupertinoTheme.get$primaryColor();
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = cupertinoTheme.get$primaryColor();
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorOffset = new A.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = B.Radius_2_2;
          break;
        case 0:
        case 1:
          _this.___SelectableTextState_forcePressEnabled = false;
          if (textSelectionControls == null)
            textSelectionControls = $.$get$materialTextSelectionControls();
          cursorColor = t1.cursorColor;
          if (cursorColor == null)
            cursorColor = theme.colorScheme.primary;
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = theme.colorScheme.primary;
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorRadius = _null;
          cursorOffset = cursorRadius;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        case 3:
        case 5:
          _this.___SelectableTextState_forcePressEnabled = false;
          if (textSelectionControls == null)
            textSelectionControls = $.$get$desktopTextSelectionControls();
          cursorColor = t1.cursorColor;
          if (cursorColor == null)
            cursorColor = theme.colorScheme.primary;
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = theme.colorScheme.primary;
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorRadius = _null;
          cursorOffset = cursorRadius;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        default:
          cursorRadius = _null;
          selectionColor = cursorRadius;
          cursorColor = selectionColor;
          cursorOffset = cursorColor;
          cursorOpacityAnimates = cursorOffset;
          paintCursorAboveText = cursorOpacityAnimates;
      }
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t1 == null)
        t1 = B.DefaultTextStyle_MTi;
      effectiveTextStyle = _this._widget.style;
      if (effectiveTextStyle == null || effectiveTextStyle.inherit)
        effectiveTextStyle = t1.style.merge$1(effectiveTextStyle);
      if (A.MediaQuery_boldTextOverride(context))
        effectiveTextStyle = effectiveTextStyle.merge$1(B.TextStyle_ia3);
      t2 = _this._widget;
      t2.toString;
      t3 = _this._showSelectionHandles;
      t4 = _this.___SelectableTextState__controller;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t2.textAlign;
      if (t5 == null)
        t5 = t1.textAlign;
      if (t5 == null)
        t5 = B.TextAlign_4;
      t6 = t2.maxLines;
      if (t6 == null)
        t6 = t1.maxLines;
      t1 = A.EditableText$(true, _null, _null, _null, false, B.CupertinoDynamicColor_YIZ, B.Clip_1, t4, cursorColor, _null, cursorOffset, cursorOpacityAnimates, cursorRadius, 2, B.DragStartBehavior_1, true, true, true, false, focusNode, false, _null, _this.editableTextKey, B.Brightness_1, _null, t6, t2.minLines, _null, false, "\u2022", _null, _null, _null, _this.get$_selectable_text$_handleSelectionChanged(), _this.get$_handleSelectionHandleTapped(), _null, paintCursorAboveText, true, true, _null, true, _null, B.EdgeInsets_20_20_20_20, t2.scrollPhysics, selectionColor, textSelectionControls, B.BoxHeightStyle_0, B.BoxWidthStyle_0, false, t3, _null, _null, B.StrutStyle_yfz, effectiveTextStyle, t5, B.TextCapitalization_30, _null, t1.textHeightBehavior, _null, t2.textScaleFactor, t1.textWidthBasis, t2.toolbarOptions);
      _this._widget.toString;
      t2 = _this.___SelectableTextState__selectionGestureDetectorBuilder;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t2.buildGestureDetector$2$behavior$child(B.HitTestBehavior_2, new A.RepaintBoundary(t1, _null));
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._SelectableTextState_build_closure(_this), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t1, _null);
    },
    get$editableTextKey() {
      return this.editableTextKey;
    }
  };
  A._SelectableTextState__onControllerChanged_closure.prototype = {
    call$0() {
      this.$this._showSelectionHandles = this.showSelectionHandles;
    },
    $signature: 0
  };
  A._SelectableTextState__handleSelectionChanged_closure.prototype = {
    call$0() {
      this.$this._showSelectionHandles = this.willShowSelectionHandles;
    },
    $signature: 0
  };
  A._SelectableTextState_build_closure.prototype = {
    call$0() {
      this.$this.get$_effectiveFocusNode().requestFocus$0();
    },
    $signature: 0
  };
  A.SliderThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.trackHeight, _this.activeTrackColor, _this.inactiveTrackColor, _this.disabledActiveTrackColor, _this.disabledInactiveTrackColor, _this.activeTickMarkColor, _this.inactiveTickMarkColor, _this.disabledActiveTickMarkColor, _this.disabledInactiveTickMarkColor, _this.thumbColor, _this.overlappingShapeStrokeColor, _this.disabledThumbColor, _this.overlayColor, _this.valueIndicatorColor, _this.overlayShape, _this.tickMarkShape, _this.thumbShape, _this.trackShape, _this.valueIndicatorShape, A.Object_hash(_this.rangeTickMarkShape, _this.rangeThumbShape, _this.rangeTrackShape, _this.rangeValueIndicatorShape, _this.showValueIndicator, _this.valueIndicatorTextStyle, _this.minThumbSeparation, _this.thumbSelector, _this.mouseCursor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue));
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.SliderThemeData)
        if (other.trackHeight == _this.trackHeight)
          if (J.$eq$(other.activeTrackColor, _this.activeTrackColor))
            if (J.$eq$(other.inactiveTrackColor, _this.inactiveTrackColor))
              if (J.$eq$(other.disabledActiveTrackColor, _this.disabledActiveTrackColor))
                if (J.$eq$(other.disabledInactiveTrackColor, _this.disabledInactiveTrackColor))
                  if (J.$eq$(other.activeTickMarkColor, _this.activeTickMarkColor))
                    if (J.$eq$(other.inactiveTickMarkColor, _this.inactiveTickMarkColor))
                      if (J.$eq$(other.disabledActiveTickMarkColor, _this.disabledActiveTickMarkColor))
                        if (J.$eq$(other.disabledInactiveTickMarkColor, _this.disabledInactiveTickMarkColor))
                          if (J.$eq$(other.thumbColor, _this.thumbColor))
                            if (J.$eq$(other.overlappingShapeStrokeColor, _this.overlappingShapeStrokeColor))
                              if (J.$eq$(other.disabledThumbColor, _this.disabledThumbColor))
                                if (J.$eq$(other.overlayColor, _this.overlayColor))
                                  if (J.$eq$(other.valueIndicatorColor, _this.valueIndicatorColor))
                                    if (J.$eq$(other.valueIndicatorTextStyle, _this.valueIndicatorTextStyle))
                                      if (other.minThumbSeparation == _this.minThumbSeparation)
                                        t1 = true;
                                      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;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._SliderThemeData_Object_Diagnosticable.prototype = {};
  A.SnackBarClosedReason.prototype = {
    toString$0(_) {
      return "SnackBarClosedReason." + this._core$_name;
    }
  };
  A.SnackBar.prototype = {
    createState$0() {
      return new A._SnackBarState(B._StateLifecycle_0);
    }
  };
  A._SnackBarState.prototype = {
    initState$0() {
      this.super$State$initState();
      var t1 = this._widget.animation;
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(this.get$_onAnimationStatusChanged());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.animation;
      if (_this._widget.animation != t1) {
        t2 = _this.get$_onAnimationStatusChanged();
        t1.removeStatusListener$1(t2);
        t1 = _this._widget.animation;
        t1.didRegisterListener$0();
        t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
        t1._isDirty = true;
        t1._list.push(t2);
      }
    },
    dispose$0() {
      this._widget.animation.removeStatusListener$1(this.get$_onAnimationStatusChanged());
      this.super$State$dispose();
    },
    _onAnimationStatusChanged$1(animationStatus) {
      switch (animationStatus.index) {
        case 0:
        case 1:
        case 2:
          break;
        case 3:
          this._widget.toString;
          this._wasVisible = true;
          break;
      }
    },
    build$1(context) {
      var themeBackgroundColor0, t1, inverseTheme, contentTextStyle, padding, heightAnimation, fadeOutAnimation, t2, snackBar, elevation, backgroundColor, shape, snackBarTransition, _this = this, _null = null,
        mediaQueryData = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme,
        snackBarTheme = theme.snackBarTheme,
        isThemeDark = colorScheme.brightness === B.Brightness_0,
        buttonColor = isThemeDark ? colorScheme.primary : colorScheme.secondary,
        brightness = isThemeDark ? B.Brightness_1 : B.Brightness_0,
        themeBackgroundColor = colorScheme.onSurface;
      if (isThemeDark)
        themeBackgroundColor0 = themeBackgroundColor;
      else {
        t1 = themeBackgroundColor.value;
        themeBackgroundColor0 = A.Color_alphaBlend(A.Color$fromARGB(204, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255), colorScheme.surface);
      }
      t1 = colorScheme.onPrimary;
      inverseTheme = theme.copyWith$1$colorScheme(A.ColorScheme$(themeBackgroundColor0, brightness, colorScheme.onError, _null, _null, _null, colorScheme.background, colorScheme.error, _null, _null, colorScheme.primary, _null, colorScheme.secondary, _null, colorScheme.surface, _null, _null, _null, _null, t1, _null, t1, buttonColor, _null, colorScheme.onSecondary, _null, themeBackgroundColor, _null, _null, _null, _null));
      contentTextStyle = snackBarTheme.contentTextStyle;
      if (contentTextStyle == null)
        contentTextStyle = A.ThemeData_ThemeData(brightness, _null).textTheme.titleMedium;
      t1 = _this._widget;
      padding = new A.EdgeInsetsDirectional(24, 0, 24, 0);
      t1 = t1.animation;
      t1.toString;
      heightAnimation = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = _this._widget.animation;
      t1.toString;
      A.CurvedAnimation$(B.Interval_ap6, t1, _null);
      t1 = _this._widget.animation;
      t1.toString;
      fadeOutAnimation = A.CurvedAnimation$(B.Interval_8qt, t1, B.Threshold_0);
      t1 = _this._widget;
      t1.toString;
      contentTextStyle.toString;
      t1 = A._setArrayType([A.Expanded$(A.Container$(_null, A.DefaultTextStyle$(t1.content, _null, _null, B.TextOverflow_0, true, contentTextStyle, _null, _null, B.TextWidthBasis_0), B.Clip_0, _null, _null, _null, _null, _null, _null, _null, B.EdgeInsets_0_14_0_14, _null, _null, _null), 1)], type$.JSArray_Widget);
      t2 = _this._widget;
      t2.toString;
      snackBar = A.SafeArea$(true, new A.Padding(padding, A.Row$(t1, B.CrossAxisAlignment_2, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, _null, _null), _null), B.EdgeInsets_0_0_0_0, false);
      elevation = snackBarTheme.elevation;
      if (elevation == null)
        elevation = 6;
      backgroundColor = snackBarTheme.backgroundColor;
      if (backgroundColor == null)
        backgroundColor = inverseTheme.colorScheme.background;
      shape = snackBarTheme.shape;
      if (shape == null)
        shape = _null;
      t1 = mediaQueryData.accessibleNavigation;
      snackBar = A.Material$(B.Duration_200000, true, _null, new A.Theme(inverseTheme, t1 ? snackBar : A.FadeTransition$(false, snackBar, fadeOutAnimation), _null), B.Clip_0, backgroundColor, elevation, _null, _null, shape, _null, _null, B.MaterialType_0);
      snackBar = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._SnackBarState_build_closure(context), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A.Dismissible(snackBar, new A._SnackBarState_build_closure0(context), t2.dismissDirection, _null, B.ValueKey_dismissible), _null);
      if (t1)
        snackBarTransition = snackBar;
      else
        snackBarTransition = A.AnimatedBuilder$(heightAnimation, new A._SnackBarState_build_closure1(heightAnimation), snackBar);
      t1 = t2.content.toString$0(0);
      return A.Hero$(A.ClipRect$(snackBarTransition, _this._widget.clipBehavior, _null), "<SnackBar Hero tag - " + t1 + ">");
    }
  };
  A._SnackBarState_build_closure.prototype = {
    call$0() {
      var t1 = this.context.dependOnInheritedWidgetOfExactType$1$0(type$._ScaffoldMessengerScope);
      t1.toString;
      t1._scaffoldMessengerState.removeCurrentSnackBar$1$reason(B.SnackBarClosedReason_1);
    },
    $signature: 0
  };
  A._SnackBarState_build_closure0.prototype = {
    call$1(direction) {
      var t1 = this.context.dependOnInheritedWidgetOfExactType$1$0(type$._ScaffoldMessengerScope);
      t1.toString;
      t1._scaffoldMessengerState.removeCurrentSnackBar$1$reason(B.SnackBarClosedReason_2);
    },
    $signature: 788
  };
  A._SnackBarState_build_closure1.prototype = {
    call$2(context, child) {
      var t1 = this.heightAnimation;
      return new A.Align(B.AlignmentDirectional_m1_m1, null, t1.get$value(t1), child, null);
    },
    $signature: 789
  };
  A.SnackBarThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.actionTextColor, _this.disabledActionTextColor, _this.contentTextStyle, _this.elevation, _this.shape, _this.behavior, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.SnackBarThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.actionTextColor, _this.actionTextColor) && J.$eq$(other.disabledActionTextColor, _this.disabledActionTextColor) && J.$eq$(other.contentTextStyle, _this.contentTextStyle) && other.elevation == _this.elevation && J.$eq$(other.shape, _this.shape) && true;
    }
  };
  A._SnackBarThemeData_Object_Diagnosticable.prototype = {};
  A._SwitchType.prototype = {
    toString$0(_) {
      return "_SwitchType." + this._core$_name;
    }
  };
  A.Switch.prototype = {
    _getSwitchSize$1(context) {
      var theme = A.Theme_of(context);
      A.SwitchTheme_of(context);
      switch (theme.materialTapTargetSize.index) {
        case 0:
          return B.Size_59_48;
        case 1:
          return B.Size_59_40;
      }
    },
    _buildMaterialSwitch$1(context) {
      var _null = null;
      return new A._MaterialSwitch(this.value, this.onChanged, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.DragStartBehavior_1, _null, _null, _null, _null, _null, _null, false, this._getSwitchSize$1(context), _null);
    },
    build$1(context) {
      switch (0) {
        case 0:
          return this._buildMaterialSwitch$1(context);
      }
    }
  };
  A._MaterialSwitch.prototype = {
    createState$0() {
      return new A._MaterialSwitchState(new A._SwitchPainter($.$get$ChangeNotifier__emptyListeners()), $, $, $, $, $, $, $, $, $, null, false, false, null, null, B._StateLifecycle_0);
    }
  };
  A._MaterialSwitchState.prototype = {
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.value !== _this._widget.value) {
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1.get$value(t1) !== 0) {
          t1 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.get$value(t1) === 1;
        } else
          t1 = true;
        if (t1) {
          t1 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.curve = B.Cubic_JUR0;
          t1.reverseCurve = B.Cubic_xDo0;
        }
        _this.animateToValue$0();
      }
    },
    dispose$0() {
      this._switch$_painter.dispose$0();
      this.super$__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose();
    },
    get$onChanged() {
      return this._widget.onChanged != null ? this.get$_handleChanged() : null;
    },
    get$tristate() {
      return false;
    },
    get$value(_) {
      return this._widget.value;
    },
    get$_widgetThumbColor() {
      return new A._MaterialStatePropertyWith(new A._MaterialSwitchState__widgetThumbColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_defaultThumbColor() {
      var theme,
        t1 = this._framework$_element;
      t1.toString;
      theme = A.Theme_of(t1);
      return new A._MaterialStatePropertyWith(new A._MaterialSwitchState__defaultThumbColor_closure(theme.colorScheme.brightness === B.Brightness_0, theme), type$._MaterialStatePropertyWith_Color);
    },
    get$_widgetTrackColor() {
      return new A._MaterialStatePropertyWith(new A._MaterialSwitchState__widgetTrackColor_closure(this), type$._MaterialStatePropertyWith_nullable_Color);
    },
    get$_defaultTrackColor() {
      var t1 = this._framework$_element;
      t1.toString;
      return new A._MaterialStatePropertyWith(new A._MaterialSwitchState__defaultTrackColor_closure(this, A.Theme_of(t1).colorScheme.brightness === B.Brightness_0), type$._MaterialStatePropertyWith_Color);
    },
    _switch$_handleDragStart$1(details) {
      var t1;
      if (this.get$onChanged() != null) {
        t1 = this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
      }
    },
    _switch$_handleDragUpdate$1(details) {
      var t1, delta, t2, _this = this;
      if (_this.get$onChanged() != null) {
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.curve = B.C__Linear;
        t1.reverseCurve = null;
        t1 = details.primaryDelta;
        t1.toString;
        delta = t1 / (_this._widget.size._dx - 40);
        t1 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t1.toString;
        switch (t1.textDirection.index) {
          case 0:
            t1 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1.__AnimationController__value;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t1.set$value(0, t2 - delta);
            break;
          case 1:
            t1 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1.__AnimationController__value;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t1.set$value(0, t2 + delta);
            break;
        }
      }
    },
    _switch$_handleDragEnd$1(details) {
      var t2, t3, _this = this,
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$value(t1);
      t2 = _this._widget;
      t3 = t2.value;
      if (t1 >= 0.5 !== t3) {
        t2.onChanged.call$1(!t3);
        _this.setState$1(new A._MaterialSwitchState__handleDragEnd_closure(_this));
      } else
        _this.animateToValue$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.reverse$0(0);
    },
    _handleChanged$1(value) {
      var t1 = this._widget.onChanged;
      t1.toString;
      value.toString;
      t1.call$1(value);
    },
    build$1(context) {
      var theme, switchTheme, activeStates, inactiveStates, t1, effectiveActiveThumbColor, effectiveInactiveThumbColor, effectiveActiveTrackColor, effectiveInactiveTrackColor, focusedStates, t2, effectiveFocusOverlayColor, hoveredStates, effectiveHoverOverlayColor, effectiveActivePressedOverlayColor, effectiveInactivePressedOverlayColor, t3, t4, t5, t6, _this = this, _null = null;
      if (_this._needsPositionAnimation) {
        _this._needsPositionAnimation = false;
        _this.animateToValue$0();
      }
      theme = A.Theme_of(context);
      switchTheme = A.SwitchTheme_of(context);
      activeStates = _this.get$states();
      activeStates.add$1(0, B.MaterialState_4);
      inactiveStates = _this.get$states();
      inactiveStates.remove$1(0, B.MaterialState_4);
      _this._widget.toString;
      t1 = _this.get$_widgetThumbColor()._material_state$_resolve.call$1(activeStates);
      if (t1 == null) {
        t1 = switchTheme.thumbColor;
        t1 = t1 == null ? _null : t1.resolve$1(activeStates);
        effectiveActiveThumbColor = t1;
      } else
        effectiveActiveThumbColor = t1;
      if (effectiveActiveThumbColor == null)
        effectiveActiveThumbColor = _this.get$_defaultThumbColor()._material_state$_resolve.call$1(activeStates);
      _this._widget.toString;
      t1 = _this.get$_widgetThumbColor()._material_state$_resolve.call$1(inactiveStates);
      if (t1 == null) {
        t1 = switchTheme.thumbColor;
        t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
        effectiveInactiveThumbColor = t1;
      } else
        effectiveInactiveThumbColor = t1;
      if (effectiveInactiveThumbColor == null)
        effectiveInactiveThumbColor = _this.get$_defaultThumbColor()._material_state$_resolve.call$1(inactiveStates);
      _this._widget.toString;
      t1 = _this.get$_widgetTrackColor()._material_state$_resolve.call$1(activeStates);
      if (t1 == null) {
        t1 = switchTheme.trackColor;
        t1 = t1 == null ? _null : t1.resolve$1(activeStates);
        effectiveActiveTrackColor = t1;
      } else
        effectiveActiveTrackColor = t1;
      if (effectiveActiveTrackColor == null)
        effectiveActiveTrackColor = _this.get$_defaultTrackColor()._material_state$_resolve.call$1(activeStates);
      _this._widget.toString;
      t1 = _this.get$_widgetTrackColor()._material_state$_resolve.call$1(inactiveStates);
      if (t1 == null) {
        t1 = switchTheme.trackColor;
        t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
        effectiveInactiveTrackColor = t1;
      } else
        effectiveInactiveTrackColor = t1;
      if (effectiveInactiveTrackColor == null)
        effectiveInactiveTrackColor = _this.get$_defaultTrackColor()._material_state$_resolve.call$1(inactiveStates);
      focusedStates = _this.get$states();
      focusedStates.add$1(0, B.MaterialState_1);
      _this._widget.toString;
      t1 = switchTheme.overlayColor;
      t2 = t1 == null ? _null : t1.resolve$1(focusedStates);
      effectiveFocusOverlayColor = t2;
      if (effectiveFocusOverlayColor == null)
        effectiveFocusOverlayColor = theme.focusColor;
      hoveredStates = _this.get$states();
      hoveredStates.add$1(0, B.MaterialState_0);
      _this._widget.toString;
      t2 = t1 == null ? _null : t1.resolve$1(hoveredStates);
      effectiveHoverOverlayColor = t2;
      if (effectiveHoverOverlayColor == null)
        effectiveHoverOverlayColor = theme.hoverColor;
      activeStates.add$1(0, B.MaterialState_2);
      _this._widget.toString;
      t2 = t1 == null ? _null : t1.resolve$1(activeStates);
      effectiveActivePressedOverlayColor = t2;
      if (effectiveActivePressedOverlayColor == null)
        effectiveActivePressedOverlayColor = A.Color$fromARGB(31, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) >>> 16 & 255, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) >>> 8 & 255, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) & 255);
      inactiveStates.add$1(0, B.MaterialState_2);
      _this._widget.toString;
      t1 = t1 == null ? _null : t1.resolve$1(inactiveStates);
      effectiveInactivePressedOverlayColor = t1;
      if (effectiveInactivePressedOverlayColor == null)
        effectiveInactivePressedOverlayColor = A.Color$fromARGB(31, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) >>> 16 & 255, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) >>> 8 & 255, effectiveActiveThumbColor.get$value(effectiveActiveThumbColor) & 255);
      t1 = _this._widget;
      t2 = t1.value;
      t3 = t1.dragStartBehavior;
      t4 = t1.focusNode;
      t1 = t1.size;
      t5 = _this._switch$_painter;
      t6 = _this.ToggleableStateMixin___ToggleableStateMixin__position;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t5.set$position(0, t6);
      t6 = _this.ToggleableStateMixin___ToggleableStateMixin__reaction;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t5.set$reaction(t6);
      t6 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t5.set$reactionFocusFade(t6);
      t6 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t5.set$reactionHoverFade(t6);
      t5.set$inactiveReactionColor(effectiveInactivePressedOverlayColor);
      t5.set$reactionColor(effectiveActivePressedOverlayColor);
      t5.set$hoverColor(effectiveHoverOverlayColor);
      t5.set$focusColor(effectiveFocusOverlayColor);
      _this._widget.toString;
      t6 = switchTheme.splashRadius;
      t5.set$splashRadius(t6 == null ? 20 : t6);
      t5.set$downPosition(_this.ToggleableStateMixin__downPosition);
      t5.set$isFocused(_this.get$states().contains$1(0, B.MaterialState_1));
      t5.set$isHovered(_this.get$states().contains$1(0, B.MaterialState_0));
      t5.set$activeColor(effectiveActiveThumbColor);
      t5.set$inactiveColor(effectiveInactiveThumbColor);
      t5.set$activeThumbImage(_this._widget.activeThumbImage);
      t5.set$onActiveThumbImageError(_this._widget.onActiveThumbImageError);
      t5.set$inactiveThumbImage(_this._widget.inactiveThumbImage);
      t5.set$onInactiveThumbImageError(_this._widget.onInactiveThumbImageError);
      t5.set$activeTrackColor(effectiveActiveTrackColor);
      t5.set$inactiveTrackColor(effectiveInactiveTrackColor);
      t5.set$configuration(A.createLocalImageConfiguration(context, _null));
      t5.set$isInteractive(_this.get$onChanged() != null);
      t5.set$trackInnerLength(_this._widget.size._dx - 40);
      t6 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t6.toString;
      t5.set$textDirection(t6.textDirection);
      t5.set$surfaceColor(theme.colorScheme.surface);
      t3 = A.GestureDetector$(_null, _this.buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size(false, t4, new A._MaterialStatePropertyWith(new A._MaterialSwitchState_build_closure(_this, switchTheme), type$._MaterialStatePropertyWith_MouseCursor), t5, t1), t3, true, _null, _null, _null, _null, _this.get$_switch$_handleDragEnd(), _this.get$_switch$_handleDragStart(), _this.get$_switch$_handleDragUpdate(), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null), false, false, false, t3, _null);
    }
  };
  A._MaterialSwitchState__widgetThumbColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.$this._widget.inactiveThumbColor;
      if (states.contains$1(0, B.MaterialState_4))
        return this.$this._widget.activeColor;
      return this.$this._widget.inactiveThumbColor;
    },
    $signature: 42
  };
  A._MaterialSwitchState__defaultThumbColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.isDark ? B.Color_4282532418 : B.Color_4290624957;
      if (states.contains$1(0, B.MaterialState_4))
        return this.theme.toggleableActiveColor;
      return this.isDark ? B.Color_4290624957 : B.Color_4294638330;
    },
    $signature: 69
  };
  A._MaterialSwitchState__widgetTrackColor_closure.prototype = {
    call$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.$this._widget.inactiveTrackColor;
      if (states.contains$1(0, B.MaterialState_4))
        return this.$this._widget.activeTrackColor;
      return this.$this._widget.inactiveTrackColor;
    },
    $signature: 42
  };
  A._MaterialSwitchState__defaultTrackColor_closure.prototype = {
    call$1(states) {
      var t1, activeColor;
      if (states.contains$1(0, B.MaterialState_6))
        return this.isDark ? B.Color_452984831 : B.Color_520093696;
      if (states.contains$1(0, B.MaterialState_4)) {
        states.add$1(0, B.MaterialState_4);
        t1 = this.$this;
        activeColor = t1.get$_widgetThumbColor()._material_state$_resolve.call$1(states);
        if (activeColor == null)
          activeColor = t1.get$_defaultThumbColor()._material_state$_resolve.call$1(states);
        return A.Color$fromARGB(128, activeColor.get$value(activeColor) >>> 16 & 255, activeColor.get$value(activeColor) >>> 8 & 255, activeColor.get$value(activeColor) & 255);
      }
      return this.isDark ? B.Color_1308622847 : B.Color_1375731712;
    },
    $signature: 69
  };
  A._MaterialSwitchState__handleDragEnd_closure.prototype = {
    call$0() {
      this.$this._needsPositionAnimation = true;
    },
    $signature: 0
  };
  A._MaterialSwitchState_build_closure.prototype = {
    call$1(states) {
      var t1 = A.MaterialStateProperty_resolveAs(this.$this._widget.mouseCursor, states, type$.nullable_MouseCursor);
      if (t1 == null)
        t1 = null;
      return t1 == null ? A.MaterialStateProperty_resolveAs(B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable, states, type$.MouseCursor) : t1;
    },
    $signature: 149
  };
  A._SwitchPainter.prototype = {
    set$activeThumbImage(value) {
      return;
    },
    set$onActiveThumbImageError(value) {
      return;
    },
    set$inactiveThumbImage(value) {
      return;
    },
    set$onInactiveThumbImageError(value) {
      return;
    },
    set$activeTrackColor(value) {
      if (value.$eq(0, this._activeTrackColor))
        return;
      this._activeTrackColor = value;
      this.notifyListeners$0();
    },
    set$inactiveTrackColor(value) {
      if (value.$eq(0, this._inactiveTrackColor))
        return;
      this._inactiveTrackColor = value;
      this.notifyListeners$0();
    },
    set$configuration(value) {
      if (value.$eq(0, this._switch$_configuration))
        return;
      this._switch$_configuration = value;
      this.notifyListeners$0();
    },
    set$textDirection(value) {
      if (this._switch$_textDirection === value)
        return;
      this._switch$_textDirection = value;
      this.notifyListeners$0();
    },
    set$surfaceColor(value) {
      if (value.$eq(0, this._surfaceColor))
        return;
      this._surfaceColor = value;
      this.notifyListeners$0();
    },
    set$isInteractive(value) {
      if (value === this._isInteractive)
        return;
      this._isInteractive = value;
      this.notifyListeners$0();
    },
    set$trackInnerLength(value) {
      if (value === this._trackInnerLength)
        return;
      this._trackInnerLength = value;
      this.notifyListeners$0();
    },
    _handleDecorationChanged$0() {
      if (!this._isPainting)
        this.notifyListeners$0();
    },
    paint$2(canvas, size) {
      var t2, currentValue, visualPosition, t3, t4, thumbColor, thumbImage, thumbErrorListener, paint, horizontalOffset, verticalOffset, thumbHorizontalOffset, _this = this,
        t1 = _this._isInteractive;
      t1.toString;
      t2 = _this._toggleable$_position;
      currentValue = t2.get$value(t2);
      switch (_this._switch$_textDirection.index) {
        case 0:
          visualPosition = 1 - currentValue;
          break;
        case 1:
          visualPosition = currentValue;
          break;
        default:
          visualPosition = null;
      }
      t2 = _this._inactiveTrackColor;
      t2.toString;
      t3 = _this._activeTrackColor;
      t3.toString;
      t3 = A.Color_lerp(t2, t3, currentValue);
      t3.toString;
      t2 = _this._inactiveColor;
      t2.toString;
      t4 = _this._activeColor;
      t4.toString;
      t4 = A.Color_lerp(t2, t4, currentValue);
      t4.toString;
      t2 = _this._surfaceColor;
      t2.toString;
      thumbColor = A.Color_alphaBlend(t4, t2);
      if (t1)
        thumbImage = currentValue < 0.5 ? _this._inactiveThumbImage : _this._activeThumbImage;
      else
        thumbImage = _this._inactiveThumbImage;
      if (t1)
        thumbErrorListener = currentValue < 0.5 ? _this._onInactiveThumbImageError : _this._onActiveThumbImageError;
      else
        thumbErrorListener = _this._onInactiveThumbImageError;
      paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, t3);
      horizontalOffset = (size._dx - 33) / 2;
      t1 = size._dy;
      verticalOffset = (t1 - 14) / 2;
      t2 = _this._trackInnerLength;
      t2.toString;
      thumbHorizontalOffset = horizontalOffset - 3 + visualPosition * t2;
      canvas.drawRRect$2(A.RRect$fromRectAndRadius(new A.Rect(horizontalOffset, verticalOffset, horizontalOffset + 33, verticalOffset + 14), B.Radius_7_7), paint);
      _this.paintRadialReaction$2$canvas$origin(canvas, new A.Offset(thumbHorizontalOffset + 10, t1 / 2));
      _this._paintThumbWith$6(new A.Offset(thumbHorizontalOffset, verticalOffset - 3), canvas, currentValue, thumbColor, thumbImage, thumbErrorListener);
    },
    _paintThumbWith$6(thumbPaintOffset, canvas, currentValue, thumbColor, thumbImage, thumbErrorListener) {
      var thumbPainter, inset, radius, t1, _this = this, _null = null;
      try {
        _this._isPainting = true;
        if (_this._cachedThumbPainter != null)
          if (thumbColor.$eq(0, _this._cachedThumbColor))
            t1 = false;
          else
            t1 = true;
        else
          t1 = true;
        if (t1) {
          _this._cachedThumbColor = thumbColor;
          _this._cachedThumbImage = thumbImage;
          _this._cachedThumbErrorListener = thumbErrorListener;
          t1 = _this._cachedThumbPainter;
          if (t1 != null)
            t1.dispose$0();
          _this._cachedThumbPainter = new A._BoxDecorationPainter(new A.BoxDecoration(thumbColor, _null, _null, _null, B.List_UOM, _null, _null, B.BoxShape_1), _this.get$_handleDecorationChanged());
        }
        t1 = _this._cachedThumbPainter;
        t1.toString;
        thumbPainter = t1;
        inset = 1 - Math.abs(currentValue - 0.5) * 2;
        radius = 10 - inset;
        t1 = radius * 2;
        thumbPainter.paint$3(canvas, thumbPaintOffset.$add(0, new A.Offset(0, inset)), _this._switch$_configuration.copyWith$1$size(new A.Size(t1, t1)));
      } finally {
        _this._isPainting = false;
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this._cachedThumbPainter;
      if (t1 != null)
        t1.dispose$0();
      _this._cachedThumbErrorListener = _this._cachedThumbImage = _this._cachedThumbColor = _this._cachedThumbPainter = null;
      _this.super$ToggleablePainter$dispose();
    }
  };
  A.__MaterialSwitchState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype = {
    initState$0() {
      var t1, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, B.Duration_200000, 0, _null, 1, !_this._widget.value ? 0 : 1, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__positionController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__position = A.CurvedAnimation$(B.Cubic_JUR0, t1, B.Cubic_xDo0);
      t1 = A.AnimationController$(_null, B.Duration_100000, 0, _null, 1, _null, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reaction = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = A.AnimationController$(_null, B.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFade = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t1 = A.AnimationController$(_null, B.Duration_50000, 0, _null, 1, _this.ToggleableStateMixin__hovering || _this.ToggleableStateMixin__focused ? 1 : 0, _this);
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController = t1;
      _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFade = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
    },
    dispose$0() {
      var _this = this,
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$__MaterialSwitchState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.SwitchThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.thumbColor, _this.trackColor, _this.materialTapTargetSize, _this.mouseCursor, _this.overlayColor, _this.splashRadius, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.SwitchThemeData)
        if (other.thumbColor == _this.thumbColor)
          if (other.trackColor == _this.trackColor)
            t1 = other.overlayColor == _this.overlayColor && other.splashRadius == _this.splashRadius;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A._SwitchThemeData_Object_Diagnosticable.prototype = {};
  A.TabBarTheme.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.indicator, _this.indicatorSize, _this.labelColor, _this.labelPadding, _this.labelStyle, _this.unselectedLabelColor, _this.unselectedLabelStyle, _this.overlayColor, _this.splashFactory, _this.mouseCursor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.TabBarTheme)
        if (J.$eq$(other.indicator, _this.indicator))
          if (J.$eq$(other.labelColor, _this.labelColor))
            if (J.$eq$(other.labelPadding, _this.labelPadding))
              if (J.$eq$(other.labelStyle, _this.labelStyle))
                if (J.$eq$(other.unselectedLabelColor, _this.unselectedLabelColor))
                  if (J.$eq$(other.unselectedLabelStyle, _this.unselectedLabelStyle))
                    if (J.$eq$(other.overlayColor, _this.overlayColor))
                      t1 = true;
                    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;
    }
  };
  A._LerpColors.prototype = {
    resolve$1(states) {
      var resolvedB,
        t1 = this.a,
        resolvedA = t1 == null ? null : t1.resolve$1(states);
      t1 = this.b;
      resolvedB = t1 == null ? null : t1.resolve$1(states);
      return A.Color_lerp(resolvedA, resolvedB, this.t);
    },
    get$hashCode(_) {
      return A.Object_hash(this.a, this.b, this.t, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A._LerpColors && J.$eq$(other.a, _this.a) && J.$eq$(other.b, _this.b) && other.t === _this.t;
    },
    $isMaterialStateProperty: 1
  };
  A._TabBarTheme_Object_Diagnosticable.prototype = {};
  A.TabController.prototype = {
    get$animation(_) {
      var t1 = this._animationController;
      return t1 == null ? null : t1;
    },
    _changeIndex$3$curve$duration(value, curve, duration) {
      var t2, _this = this,
        t1 = _this._tab_controller$_index;
      if (value === t1 || _this.length < 2)
        return;
      _this._previousIndex = t1;
      _this._tab_controller$_index = value;
      t1 = duration != null && duration._duration > 0;
      t2 = _this._indexIsChangingCount + 1;
      if (t1) {
        _this._indexIsChangingCount = t2;
        _this.notifyListeners$0();
        t1 = _this._animationController;
        t1.toString;
        t2 = _this._tab_controller$_index;
        curve.toString;
        t1._direction = B._AnimationDirection_0;
        t1._animateToInternal$3$curve$duration(t2, curve, duration).whenCompleteOrCancel$1(new A.TabController__changeIndex_closure(_this));
      } else {
        _this._indexIsChangingCount = t2;
        _this._animationController.set$value(0, value);
        --_this._indexIsChangingCount;
        _this.notifyListeners$0();
      }
    },
    _changeIndex$1(value) {
      return this._changeIndex$3$curve$duration(value, null, null);
    },
    animateTo$1(value) {
      this._changeIndex$3$curve$duration(value, B.Cubic_JUR, this._animationDuration);
    },
    set$offset(_, value) {
      var t3,
        t1 = this._animationController,
        t2 = t1.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = this._tab_controller$_index;
      if (value === t2 - t3)
        return;
      t1.set$value(0, value + t3);
    },
    dispose$0() {
      var t1 = this._animationController;
      if (t1 != null)
        t1.dispose$0();
      this._animationController = null;
      this.super$ChangeNotifier$dispose();
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A.TabController__changeIndex_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1._animationController != null) {
        --t1._indexIsChangingCount;
        t1.notifyListeners$0();
      }
    },
    $signature: 0
  };
  A.UnderlineTabIndicator.prototype = {
    lerpFrom$2(a, t) {
      var t1, t2;
      if (a instanceof A.UnderlineTabIndicator) {
        t1 = A.BorderSide_lerp(a.borderSide, this.borderSide, t);
        t2 = A.EdgeInsetsGeometry_lerp(a.insets, this.insets, t);
        t2.toString;
        return new A.UnderlineTabIndicator(t1, t2);
      }
      return this.super$Decoration$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2;
      if (b instanceof A.UnderlineTabIndicator) {
        t1 = A.BorderSide_lerp(this.borderSide, b.borderSide, t);
        t2 = A.EdgeInsetsGeometry_lerp(this.insets, b.insets, t);
        t2.toString;
        return new A.UnderlineTabIndicator(t1, t2);
      }
      return this.super$Decoration$lerpTo(b, t);
    },
    createBoxPainter$1(onChanged) {
      return new A._UnderlinePainter(this, onChanged);
    },
    _indicatorRectFor$2(rect, textDirection) {
      var indicator = this.insets.resolve$1(textDirection).deflateRect$1(rect),
        t1 = indicator.left,
        t2 = this.borderSide.width,
        t3 = indicator.bottom - t2;
      return new A.Rect(t1, t3, t1 + (indicator.right - t1), t3 + t2);
    },
    getClipPath$2(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRect$1(this._indicatorRectFor$2(rect, textDirection));
      return t1;
    }
  };
  A._UnderlinePainter.prototype = {
    paint$3(canvas, offset, configuration) {
      var t5, t6, t7, indicator, paint,
        t1 = configuration.size,
        t2 = offset._dx,
        t3 = offset._dy,
        t4 = t1._dx;
      t1 = t1._dy;
      t5 = configuration.textDirection;
      t5.toString;
      t6 = this.decoration;
      t7 = t6.borderSide;
      indicator = t6._indicatorRectFor$2(new A.Rect(t2, t3, t2 + t4, t3 + t1), t5).inflate$1(-(t7.width / 2));
      paint = t7.toPaint$0();
      paint.set$strokeCap(B.StrokeCap_2);
      t7 = indicator.bottom;
      canvas.drawLine$3(new A.Offset(indicator.left, t7), new A.Offset(indicator.right, t7), paint);
    }
  };
  A.Tab.prototype = {
    _buildLabelText$0() {
      return this.child;
    },
    build$1(context) {
      var label = this._buildLabelText$0(),
        t1 = this.height;
      if (t1 == null)
        t1 = 46;
      return A.SizedBox$(A.Center$(label, null, null, 1), t1, null);
    },
    get$preferredSize() {
      var t1 = this.height;
      if (t1 != null)
        return new A.Size(1 / 0, t1);
      else
        return B.Size_8aB;
    },
    $isPreferredSizeWidget: 1
  };
  A._TabStyle.prototype = {
    build$1(context) {
      var defaultStyle, defaultUnselectedStyle, textStyle, selectedColor, unselectedColor, color, _this = this, _null = null,
        themeData = A.Theme_of(context),
        tabBarTheme = A.Theme_of(context).tabBarTheme,
        animation = type$.Animation_double._as(_this.listenable),
        t1 = _this.labelStyle,
        t2 = tabBarTheme.labelStyle;
      if (t2 == null) {
        t2 = themeData.primaryTextTheme.bodyLarge;
        t2.toString;
      }
      defaultStyle = t2.copyWith$1$inherit(true);
      t2 = tabBarTheme.unselectedLabelStyle;
      t1 = t2 == null ? t1 : t2;
      if (t1 == null) {
        t1 = themeData.primaryTextTheme.bodyLarge;
        t1.toString;
      }
      defaultUnselectedStyle = t1.copyWith$1$inherit(true);
      t1 = _this.selected;
      if (t1) {
        t2 = A.TextStyle_lerp(defaultStyle, defaultUnselectedStyle, animation.get$value(animation));
        t2.toString;
        textStyle = t2;
      } else {
        t2 = A.TextStyle_lerp(defaultUnselectedStyle, defaultStyle, animation.get$value(animation));
        t2.toString;
        textStyle = t2;
      }
      t2 = _this.labelColor;
      selectedColor = t2 == null ? tabBarTheme.labelColor : t2;
      if (selectedColor == null) {
        t2 = themeData.primaryTextTheme.bodyLarge.color;
        t2.toString;
        selectedColor = t2;
      }
      unselectedColor = tabBarTheme.unselectedLabelColor;
      if (unselectedColor == null)
        unselectedColor = A.Color$fromARGB(178, selectedColor.get$value(selectedColor) >>> 16 & 255, selectedColor.get$value(selectedColor) >>> 8 & 255, selectedColor.get$value(selectedColor) & 255);
      if (t1) {
        t1 = A.Color_lerp(selectedColor, unselectedColor, animation.get$value(animation));
        t1.toString;
        color = t1;
      } else {
        t1 = A.Color_lerp(unselectedColor, selectedColor, animation.get$value(animation));
        t1.toString;
        color = t1;
      }
      t1 = textStyle.copyWith$1$color(color);
      return A.DefaultTextStyle$(A.IconTheme_merge(_this.child, new A.IconThemeData(color, _null, 24, _null)), _null, _null, B.TextOverflow_0, true, t1, _null, _null, B.TextWidthBasis_0);
    }
  };
  A._TabLabelBarRenderer.prototype = {
    performLayout$0() {
      var child, xOffsets, t1, t2, _this = this;
      _this.super$RenderFlex$performLayout();
      child = _this.ContainerRenderObjectMixin__firstChild;
      xOffsets = A._setArrayType([], type$.JSArray_double);
      for (t1 = type$.FlexParentData; child != null;) {
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        xOffsets.push(t2.offset._dx);
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      switch (_this._flex$_textDirection.index) {
        case 0:
          B.JSArray_methods.insert$2(xOffsets, 0, _this._box$_size._dx);
          break;
        case 1:
          xOffsets.push(_this._box$_size._dx);
          break;
      }
      t1 = _this._flex$_textDirection;
      t1.toString;
      t2 = _this._box$_size._dx;
      _this.onPerformLayout.call$3(xOffsets, t1, t2);
    }
  };
  A._TabLabelBar.prototype = {
    createRenderObject$1(context) {
      var _this = this, _null = null,
        t1 = _this.getEffectiveTextDirection$1(context);
      t1.toString;
      t1 = new A._TabLabelBarRenderer(_this.onPerformLayout, _this.direction, _this.mainAxisAlignment, _this.mainAxisSize, _this.crossAxisAlignment, t1, _this.verticalDirection, _null, B.Clip_0, A.LayerHandle$(type$.ClipRectLayer), A.List_List$filled(4, A.TextPainter$(_null, _null, _null, _null, _null, B.TextAlign_4, B.TextDirection_1, _null, 1, B.TextWidthBasis_0), false, type$.TextPainter), true, 0, _null, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, _null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      this.super$Flex$updateRenderObject(context, renderObject);
      renderObject.onPerformLayout = this.onPerformLayout;
    }
  };
  A._IndicatorPainter.prototype = {
    markNeedsPaint$0() {
      this._tabs$_needsPaint = true;
    },
    indicatorRect$2(tabBarSize, tabIndex) {
      var t1, tabLeft, tabRight, insets, t2, rect, t3, t4, t5, _this = this;
      switch (_this._currentTextDirection.index) {
        case 0:
          t1 = _this._currentTabOffsets;
          tabLeft = t1[tabIndex + 1];
          tabRight = t1[tabIndex];
          break;
        case 1:
          t1 = _this._currentTabOffsets;
          tabLeft = t1[tabIndex];
          tabRight = t1[tabIndex + 1];
          break;
        default:
          tabLeft = null;
          tabRight = null;
      }
      insets = _this.indicatorPadding;
      t1 = tabLeft + (tabRight - tabLeft);
      t2 = 0 + tabBarSize._dy;
      rect = new A.Rect(tabLeft, 0, t1, t2);
      t3 = insets.get$horizontal();
      t4 = insets.get$_top(insets);
      t5 = insets.get$_bottom(insets);
      if (!(t1 - tabLeft >= t3 && t2 - 0 >= t4 + t5))
        throw A.wrapException(A.FlutterError_FlutterError("indicatorPadding insets should be less than Tab Size\nRect Size : " + rect.get$size(rect).toString$0(0) + ", Insets: " + insets.toString$0(0)));
      return insets.deflateRect$1(rect);
    },
    paint$2(canvas, size) {
      var t1, index, ltr, t2, from, to, t3, t4, t5, _this = this, _null = null;
      _this._tabs$_needsPaint = false;
      if (_this._tabs$_painter == null)
        _this._tabs$_painter = _this.indicator.createBoxPainter$1(_this.get$markNeedsPaint());
      t1 = _this.controller;
      index = t1._tab_controller$_index;
      t1 = t1.get$animation(t1).__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      ltr = index > t1;
      t2 = ltr ? B.JSNumber_methods.floor$0(t1) : B.JSNumber_methods.ceil$0(t1);
      from = B.JSInt_methods.clamp$2(t2, 0, _this._currentTabOffsets.length - 2);
      t2 = ltr ? from + 1 : from - 1;
      to = B.JSNumber_methods.clamp$2(t2, 0, _this._currentTabOffsets.length - 2);
      t1 = _this._currentRect = A.Rect_lerp(_this.indicatorRect$2(size, from), _this.indicatorRect$2(size, to), Math.abs(t1 - from));
      t2 = t1.right;
      t3 = t1.left;
      t4 = t1.bottom;
      t1 = t1.top;
      t5 = _this._currentTextDirection;
      _this._tabs$_painter.paint$3(canvas, new A.Offset(t3, t1), new A.ImageConfiguration(_null, _null, _null, t5, new A.Size(t2 - t3, t4 - t1), _null));
    },
    shouldRepaint$1(old) {
      var _this = this;
      return _this._tabs$_needsPaint || _this.controller !== old.controller || !_this.indicator.$eq(0, old.indicator) || _this.tabKeys.length !== old.tabKeys.length || !A.listEquals(_this._currentTabOffsets, old._currentTabOffsets) || _this._currentTextDirection != old._currentTextDirection;
    }
  };
  A._ChangeAnimation.prototype = {
    get$parent(_) {
      var t1 = this.controller;
      t1 = t1.get$animation(t1);
      t1.toString;
      return t1;
    },
    removeStatusListener$1(listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeStatusListener(listener);
    },
    removeListener$1(_, listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeListener(0, listener);
    },
    get$value(_) {
      return A._indexChangeProgress(this.controller);
    }
  };
  A._DragAnimation.prototype = {
    get$parent(_) {
      var t1 = this.controller;
      t1 = t1.get$animation(t1);
      t1.toString;
      return t1;
    },
    removeStatusListener$1(listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeStatusListener(listener);
    },
    removeListener$1(_, listener) {
      var t1 = this.controller;
      if (t1.get$animation(t1) != null)
        this.super$AnimationWithParentMixin$removeListener(0, listener);
    },
    get$value(_) {
      var t1 = this.controller,
        t2 = t1.get$animation(t1).__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.clampDouble(Math.abs(A.clampDouble(t2, 0, t1.length - 1) - this.index), 0, 1);
    }
  };
  A._TabBarScrollPosition.prototype = {
    applyContentDimensions$2(minScrollExtent, maxScrollExtent) {
      var t1, t2, t3, result, _this = this;
      if (_this._initialViewportDimensionWasZero !== true) {
        t1 = _this._viewportDimension;
        t1.toString;
        _this._initialViewportDimensionWasZero = t1 !== 0;
        t2 = _this.tabBar;
        t3 = t2._currentIndex;
        t3.toString;
        _this._pixels = t2._tabScrollOffset$4(t3, t1, minScrollExtent, maxScrollExtent);
        result = false;
      } else
        result = true;
      return _this.super$ScrollPosition$applyContentDimensions(minScrollExtent, maxScrollExtent) && result;
    }
  };
  A._TabBarScrollController.prototype = {
    createScrollPosition$3(physics, context, oldPosition) {
      var _null = null,
        t1 = $.$get$ChangeNotifier__emptyListeners();
      t1 = new A._TabBarScrollPosition(this.tabBar, B.ScrollDirection_0, physics, context, true, _null, new A.ValueNotifier(false, t1, type$.ValueNotifier_bool), t1);
      t1.ScrollPosition$5$context$debugLabel$keepScrollOffset$oldPosition$physics(context, _null, true, oldPosition, physics);
      t1.ScrollPositionWithSingleContext$6$context$debugLabel$initialPixels$keepScrollOffset$oldPosition$physics(context, _null, _null, true, oldPosition, physics);
      return t1;
    }
  };
  A.TabBar.prototype = {
    get$preferredSize() {
      var t1, t2, t3, maxHeight, _i, item;
      for (t1 = this.tabs, t2 = t1.length, t3 = type$.PreferredSizeWidget, maxHeight = 46, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        item = t1[_i];
        if (t3._is(item))
          maxHeight = Math.max(item.get$preferredSize()._dy, maxHeight);
      }
      return new A.Size(1 / 0, maxHeight + 2);
    },
    get$tabHasTextAndIcon() {
      var t1, t2, t3, _i, item;
      for (t1 = this.tabs, t2 = t1.length, t3 = type$.PreferredSizeWidget, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        item = t1[_i];
        if (t3._is(item))
          if (item.get$preferredSize()._dy === 72)
            return true;
      }
      return false;
    },
    createState$0() {
      return new A._TabBarState(B._StateLifecycle_0);
    },
    $isPreferredSizeWidget: 1
  };
  A._TabBarState.prototype = {
    initState$0() {
      var t1, t2;
      this.super$State$initState();
      t1 = this._widget.tabs;
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,GlobalKey<State<StatefulWidget>>>");
      this.___TabBarState__tabKeys = A.List_List$of(new A.MappedListIterable(t1, new A._TabBarState_initState_closure(), t2), true, t2._eval$1("ListIterable.E"));
    },
    get$_indicator() {
      var t1, color, t2, _this = this;
      _this._widget.toString;
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.Theme_of(t1).tabBarTheme.indicator;
      if (t1 != null)
        return t1;
      _this._widget.toString;
      t1 = _this._framework$_element;
      t1.toString;
      color = A.Theme_of(t1).indicatorColor;
      _this._widget.toString;
      t1 = color.get$value(color);
      t2 = _this._framework$_element.findAncestorRenderObjectOfType$1$0(type$._RenderInkFeatures);
      if (t2 == null)
        t2 = null;
      else {
        t2 = t2.color;
        t2 = t2 == null ? null : t2.get$value(t2);
      }
      t2 = t1 === t2;
      t1 = t2;
      if (t1)
        color = B.Color_4294967295;
      _this._widget.toString;
      return new A.UnderlineTabIndicator(new A.BorderSide(color, 2, B.BorderStyle_1, B.StrokeAlign_0), B.EdgeInsets_0_0_0_0);
    },
    get$_controllerIsValid() {
      var t1 = this._tabs$_controller;
      return (t1 == null ? null : t1.get$animation(t1)) != null;
    },
    _updateTabController$0() {
      var t1, _this = this,
        newController = _this._widget.controller;
      if (newController == null) {
        t1 = _this._framework$_element;
        t1.toString;
        newController = A.DefaultTabController_of(t1);
      }
      if (newController == _this._tabs$_controller)
        return;
      if (_this.get$_controllerIsValid()) {
        t1 = _this._tabs$_controller;
        t1.get$animation(t1).removeListener$1(0, _this.get$_handleTabControllerAnimationTick());
        _this._tabs$_controller.removeListener$1(0, _this.get$_handleTabControllerTick());
      }
      _this._tabs$_controller = newController;
      if (newController != null) {
        t1 = newController.get$animation(newController);
        t1.didRegisterListener$0();
        t1 = t1.AnimationLocalListenersMixin__listeners;
        t1._isDirty = true;
        t1._list.push(_this.get$_handleTabControllerAnimationTick());
        _this._tabs$_controller.addListener$1(0, _this.get$_handleTabControllerTick());
        _this._currentIndex = _this._tabs$_controller._tab_controller$_index;
      }
    },
    _initIndicatorPainter$0() {
      var t1, t2, t3, t4, t5, _this = this;
      if (!_this.get$_controllerIsValid())
        t1 = null;
      else {
        t1 = _this._tabs$_controller;
        t1.toString;
        t2 = _this.get$_indicator();
        _this._widget.toString;
        t3 = _this._framework$_element;
        t3.toString;
        t3 = A.Theme_of(t3);
        _this._widget.toString;
        t4 = _this.___TabBarState__tabKeys;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t5 = _this._indicatorPainter;
        t1 = new A._IndicatorPainter(t1, t2, t3.tabBarTheme.indicatorSize, B.EdgeInsets_0_0_0_0, t4, t1.get$animation(t1));
        if (t5 != null) {
          t2 = t5._currentTabOffsets;
          t5 = t5._currentTextDirection;
          t1._currentTabOffsets = t2;
          t1._currentTextDirection = t5;
        }
      }
      _this._indicatorPainter = t1;
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this._updateTabController$0();
      this._initIndicatorPainter$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, delta, _list, n, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.controller != oldWidget.controller) {
        _this._updateTabController$0();
        _this._initIndicatorPainter$0();
      }
      t1 = _this._widget.tabs.length;
      t2 = _this.___TabBarState__tabKeys;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.length;
      if (t1 > t3) {
        delta = t1 - t3;
        _list = J.JSArray_JSArray$allocateGrowable(delta, type$.GlobalKey_State_StatefulWidget);
        for (t1 = type$.LabeledGlobalKey_State_StatefulWidget, n = 0; n < delta; ++n)
          _list[n] = new A.LabeledGlobalKey(null, t1);
        B.JSArray_methods.addAll$1(t2, _list);
      } else if (t1 < t3)
        B.JSArray_methods.removeRange$2(t2, t1, t3);
    },
    dispose$0() {
      var _this = this,
        t1 = _this._indicatorPainter._tabs$_painter;
      if (t1 != null)
        t1.dispose$0();
      if (_this.get$_controllerIsValid()) {
        t1 = _this._tabs$_controller;
        t1.get$animation(t1).removeListener$1(0, _this.get$_handleTabControllerAnimationTick());
        _this._tabs$_controller.removeListener$1(0, _this.get$_handleTabControllerTick());
      }
      _this._tabs$_controller = null;
      _this.super$State$dispose();
    },
    _tabScrollOffset$4(index, viewportWidth, minExtent, maxExtent) {
      var t1, tabCenter, _this = this;
      _this._widget.toString;
      t1 = _this._indicatorPainter._currentTabOffsets;
      tabCenter = (t1[index] + t1[index + 1]) / 2;
      t1 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      switch (t1.textDirection.index) {
        case 0:
          t1 = _this.___TabBarState__tabStripWidth;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          tabCenter = t1 - tabCenter;
          break;
        case 1:
          break;
      }
      return A.clampDouble(tabCenter - viewportWidth / 2, minExtent, maxExtent);
    },
    _tabCenteredScrollOffset$1(index) {
      var t2, t3,
        position = B.JSArray_methods.get$single(this._tabs$_scrollController._positions),
        t1 = position._viewportDimension;
      t1.toString;
      t2 = position._minScrollExtent;
      t2.toString;
      t3 = position._maxScrollExtent;
      t3.toString;
      return this._tabScrollOffset$4(index, t1, t2, t3);
    },
    _handleTabControllerAnimationTick$0() {
      var t2, leadingPosition, middlePosition, trailingPosition, index, offset, _this = this,
        t1 = _this._tabs$_controller;
      if (t1._indexIsChangingCount === 0) {
        _this._widget.toString;
        t2 = true;
      } else
        t2 = false;
      if (t2) {
        t1 = _this._currentIndex = t1._tab_controller$_index;
        leadingPosition = t1 > 0 ? _this._tabCenteredScrollOffset$1(t1 - 1) : null;
        t1 = _this._currentIndex;
        t1.toString;
        middlePosition = _this._tabCenteredScrollOffset$1(t1);
        t1 = _this._currentIndex;
        t1.toString;
        trailingPosition = t1 < _this._indicatorPainter._currentTabOffsets.length - 2 ? _this._tabCenteredScrollOffset$1(t1 + 1) : null;
        t1 = _this._tabs$_controller;
        index = t1._tab_controller$_index;
        t1 = t1.get$animation(t1).__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 === index - 1)
          offset = leadingPosition == null ? middlePosition : leadingPosition;
        else if (t1 === index + 1)
          offset = trailingPosition == null ? middlePosition : trailingPosition;
        else if (t1 === index)
          offset = middlePosition;
        else if (t1 < index)
          if (leadingPosition == null)
            offset = middlePosition;
          else {
            t1 = A.lerpDouble(middlePosition, leadingPosition, index - t1);
            t1.toString;
            offset = t1;
          }
        else if (trailingPosition == null)
          offset = middlePosition;
        else {
          t1 = A.lerpDouble(middlePosition, trailingPosition, t1 - index);
          t1.toString;
          offset = t1;
        }
        _this._tabs$_scrollController.jumpTo$1(offset);
      }
    },
    _handleTabControllerTick$0() {
      var offset, _this = this,
        t1 = _this._tabs$_controller._tab_controller$_index;
      if (t1 !== _this._currentIndex) {
        _this._currentIndex = t1;
        _this._widget.toString;
        offset = _this._tabCenteredScrollOffset$1(t1);
        _this._tabs$_scrollController.animateTo$3$curve$duration(offset, B.Cubic_JUR, B.Duration_300000);
      }
      _this.setState$1(new A._TabBarState__handleTabControllerTick_closure());
    },
    _saveTabOffsets$3(tabOffsets, textDirection, width) {
      var t1;
      this.___TabBarState__tabStripWidth = width;
      t1 = this._indicatorPainter;
      if (t1 != null) {
        t1._currentTabOffsets = tabOffsets;
        t1._currentTextDirection = textDirection;
      }
    },
    _buildStyledTab$3(child, selected, animation) {
      return A._TabStyle$(animation, child, this._widget.labelColor, null, selected, null, null);
    },
    build$1(context) {
      var tabBarTheme, wrappedTabs, t1, previousIndex, t2, t3, animation, tabIndex, tabCount, t4, t5, t6, t7, index, t8, effectiveMouseCursor, index0, tabBar, _this = this, _null = null;
      A.Localizations_of(context, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      if (_this._tabs$_controller.length === 0) {
        _this._widget.toString;
        return A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, 48, _null, _null, _null, _null, _null, _null);
      }
      tabBarTheme = A.Theme_of(context).tabBarTheme;
      wrappedTabs = A.List_List$generate(_this._widget.tabs.length, new A._TabBarState_build_closure(_this, tabBarTheme), true, type$.Widget);
      t1 = _this._tabs$_controller;
      if (t1 != null) {
        previousIndex = t1._previousIndex;
        t2 = t1._indexIsChangingCount;
        t3 = _this._currentIndex;
        if (t2 !== 0) {
          animation = new A._ChangeAnimation(t1);
          t3.toString;
          wrappedTabs[t3] = _this._buildStyledTab$3(wrappedTabs[t3], true, animation);
          wrappedTabs[previousIndex] = _this._buildStyledTab$3(wrappedTabs[previousIndex], false, animation);
        } else {
          t3.toString;
          wrappedTabs[t3] = _this._buildStyledTab$3(wrappedTabs[t3], true, new A._DragAnimation(t1, t3));
          t1 = _this._currentIndex;
          t1.toString;
          if (t1 > 0) {
            tabIndex = t1 - 1;
            t1 = _this._tabs$_controller;
            t1.toString;
            t2 = A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus);
            wrappedTabs[tabIndex] = _this._buildStyledTab$3(wrappedTabs[tabIndex], false, new A.ReverseAnimation(new A._DragAnimation(t1, tabIndex), new A.ObserverList(t2, type$.ObserverList_of_void_Function_AnimationStatus), 0));
          }
          t1 = _this._currentIndex;
          t1.toString;
          if (t1 < _this._widget.tabs.length - 1) {
            tabIndex = t1 + 1;
            t1 = _this._tabs$_controller;
            t1.toString;
            t2 = A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus);
            wrappedTabs[tabIndex] = _this._buildStyledTab$3(wrappedTabs[tabIndex], false, new A.ReverseAnimation(new A._DragAnimation(t1, tabIndex), new A.ObserverList(t2, type$.ObserverList_of_void_Function_AnimationStatus), 0));
          }
        }
      }
      t1 = _this._widget;
      tabCount = t1.tabs.length;
      for (t2 = type$.JSArray_Widget, t3 = tabCount, t4 = tabBarTheme.splashFactory, t5 = tabBarTheme.overlayColor, t6 = type$.nullable_MouseCursor, t7 = type$.MaterialState, index = 0; index < tabCount; index = index0) {
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(t7);
        if (index === _this._currentIndex)
          t1.add$1(0, B.MaterialState_4);
        _this._widget.toString;
        t8 = A.MaterialStateProperty_resolveAs(_null, t1, t6);
        if (t8 == null)
          effectiveMouseCursor = _null;
        else
          effectiveMouseCursor = t8;
        if (effectiveMouseCursor == null)
          effectiveMouseCursor = B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable.resolve$1(t1);
        _this._widget.toString;
        t1 = wrappedTabs[index];
        t8 = _this._currentIndex;
        index0 = index + 1;
        wrappedTabs[index] = A.InkWell$(false, _null, true, new A.Padding(new A.EdgeInsets(0, 0, 0, 2), new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([t1, new A.Semantics(new A.SemanticsProperties(_null, _null, _null, index === t8, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, "Tab " + index0 + " of " + t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, _null, _null)], t2), _null), _null), _null, true, _null, _null, _null, _null, _null, effectiveMouseCursor, _null, _null, _null, _null, _null, new A._TabBarState_build_closure0(_this, index), _null, _null, t5, _null, _null, t4);
        t1 = _this._widget;
        t1.toString;
      }
      t2 = _this._indicatorPainter;
      tabBar = A.CustomPaint$(A._TabStyle$(B.C__AlwaysDismissedAnimation, new A._TabLabelBar(_this.get$_saveTabOffsets(), B.Axis_0, B.MainAxisAlignment_0, B.MainAxisSize_1, B.CrossAxisAlignment_2, _null, B.VerticalDirection_1, _null, wrappedTabs, _null), t1.labelColor, _null, false, _null, _null), _null, _null, t2, B.Size_0_0);
      t1 = _this._tabs$_scrollController;
      if (t1 == null)
        t1 = _this._tabs$_scrollController = new A._TabBarScrollController(_this, 0, A._setArrayType([], type$.JSArray_ScrollPosition), $.$get$ChangeNotifier__emptyListeners());
      _this._widget.toString;
      tabBar = A.SingleChildScrollView$(tabBar, t1, B.DragStartBehavior_1, _null, _null, false, B.Axis_0);
      return tabBar;
    }
  };
  A._TabBarState_initState_closure.prototype = {
    call$1(tab) {
      return new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget);
    },
    $signature: 791
  };
  A._TabBarState__handleTabControllerTick_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._TabBarState_build_closure.prototype = {
    call$1(index) {
      var adjustedPadding, _null = null,
        t1 = this.$this,
        t2 = t1._widget,
        t3 = t2.tabs[index];
      if (type$.PreferredSizeWidget._is(t3))
        if (t2.get$tabHasTextAndIcon() && t3.get$preferredSize()._dy === 46) {
          t1._widget.toString;
          t2 = this.tabBarTheme.labelPadding;
          if (t2 != null)
            adjustedPadding = t2.add$1(0, B.EdgeInsets_0_13_0_13);
          else
            adjustedPadding = B.EdgeInsets_16_13_16_13;
        } else
          adjustedPadding = _null;
      else
        adjustedPadding = _null;
      if (adjustedPadding == null) {
        t1._widget.toString;
        t2 = _null;
      } else
        t2 = adjustedPadding;
      if (t2 == null)
        t2 = this.tabBarTheme.labelPadding;
      if (t2 == null)
        t2 = B.EdgeInsets_16_0_16_0;
      t3 = t1.___TabBarState__tabKeys;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t3[index];
      return A.Center$(new A.Padding(t2, new A.KeyedSubtree(t1._widget.tabs[index], t3), _null), 1, _null, _null);
    },
    $signature: 792
  };
  A._TabBarState_build_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._tabs$_controller.animateTo$1(this.index);
      t1._widget.toString;
    },
    $signature: 0
  };
  A.TabBarView.prototype = {
    createState$0() {
      return new A._TabBarViewState(B._StateLifecycle_0);
    }
  };
  A._TabBarViewState.prototype = {
    get$_controllerIsValid() {
      var t1 = this._tabs$_controller;
      return (t1 == null ? null : t1.get$animation(t1)) != null;
    },
    _updateTabController$0() {
      var t1, _this = this,
        newController = _this._widget.controller;
      if (newController == null) {
        t1 = _this._framework$_element;
        t1.toString;
        newController = A.DefaultTabController_of(t1);
      }
      if (newController == _this._tabs$_controller)
        return;
      if (_this.get$_controllerIsValid()) {
        t1 = _this._tabs$_controller;
        t1.get$animation(t1).removeListener$1(0, _this.get$_handleTabControllerAnimationTick());
      }
      _this._tabs$_controller = newController;
      if (newController != null) {
        t1 = newController.get$animation(newController);
        t1.didRegisterListener$0();
        t1 = t1.AnimationLocalListenersMixin__listeners;
        t1._isDirty = true;
        t1._list.push(_this.get$_handleTabControllerAnimationTick());
      }
    },
    initState$0() {
      this.super$State$initState();
      this._updateChildren$0();
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      _this._updateTabController$0();
      t1 = _this._tabs$_controller._tab_controller$_index;
      _this._currentIndex = t1;
      _this._widget.toString;
      _this.___TabBarViewState__pageController = A.PageController$(t1, 1);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.controller != oldWidget.controller) {
        _this._updateTabController$0();
        t1 = _this._tabs$_controller._tab_controller$_index;
        _this._currentIndex = t1;
        ++_this._warpUnderwayCount;
        t2 = _this.___TabBarViewState__pageController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.jumpToPage$1(t1);
        --_this._warpUnderwayCount;
      }
      if (_this._widget.children !== oldWidget.children && _this._warpUnderwayCount === 0)
        _this._updateChildren$0();
    },
    dispose$0() {
      var t1, _this = this;
      if (_this.get$_controllerIsValid()) {
        t1 = _this._tabs$_controller;
        t1.get$animation(t1).removeListener$1(0, _this.get$_handleTabControllerAnimationTick());
      }
      _this._tabs$_controller = null;
      _this.super$State$dispose();
    },
    _updateChildren$0() {
      var t1 = this._widget.children;
      this.___TabBarViewState__children = t1;
      this.___TabBarViewState__childrenWithKey = A.KeyedSubtree_ensureUniqueKeysForList(t1);
    },
    _handleTabControllerAnimationTick$0() {
      var t1, _this = this;
      if (_this._warpUnderwayCount > 0 || _this._tabs$_controller._indexIsChangingCount === 0)
        return;
      t1 = _this._tabs$_controller._tab_controller$_index;
      if (t1 !== _this._currentIndex) {
        _this._currentIndex = t1;
        _this._warpToCurrentIndex$0();
      }
    },
    _warpToCurrentIndex$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, position, t2, duration, previousIndex, initialPage, t3;
      var $async$_warpToCurrentIndex$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._framework$_element == null) {
                $async$returnValue = A.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self.___TabBarViewState__pageController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              position = type$._PagePosition._as(B.JSArray_methods.get$single(t1._positions));
              t1 = position.get$page(position);
              t2 = $async$self._currentIndex;
              t2.toString;
              if (t1 === t2) {
                $async$returnValue = A.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._tabs$_controller;
              duration = t1._animationDuration;
              if (duration._duration === B.Duration_0._duration) {
                t1 = $async$self.___TabBarViewState__pageController;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.jumpToPage$1(t2);
                $async$returnValue = A.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              previousIndex = t1._previousIndex;
              $async$goto = Math.abs(t2 - previousIndex) === 1 ? 3 : 4;
              break;
            case 3:
              // then
              ++$async$self._warpUnderwayCount;
              t1 = $async$self.___TabBarViewState__pageController;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 5;
              return A._asyncAwait(t1.animateToPage$3$curve$duration(t2, B.Cubic_JUR, duration), $async$_warpToCurrentIndex$0);
            case 5:
              // returning from await.
              --$async$self._warpUnderwayCount;
              $async$returnValue = A.Future_Future$value(null, type$.void);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              initialPage = t2 > previousIndex ? t2 - 1 : t2 + 1;
              t1 = $async$self.___TabBarViewState__childrenWithKey;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$self.setState$1(new A._TabBarViewState__warpToCurrentIndex_closure($async$self, initialPage, previousIndex));
              t2 = $async$self.___TabBarViewState__pageController;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2.jumpToPage$1(initialPage);
              t2 = $async$self.___TabBarViewState__pageController;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = $async$self._currentIndex;
              t3.toString;
              $async$goto = 6;
              return A._asyncAwait(t2.animateToPage$3$curve$duration(t3, B.Cubic_JUR, duration), $async$_warpToCurrentIndex$0);
            case 6:
              // returning from await.
              if ($async$self._framework$_element == null) {
                $async$returnValue = A.Future_Future$value(null, type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.setState$1(new A._TabBarViewState__warpToCurrentIndex_closure0($async$self, t1));
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_warpToCurrentIndex$0, $async$completer);
    },
    _handleScrollNotification$1(notification) {
      var t2, position, t3, _this = this,
        t1 = _this._warpUnderwayCount;
      if (t1 > 0)
        return false;
      if (notification.ViewportNotificationMixin__depth !== 0)
        return false;
      _this._warpUnderwayCount = t1 + 1;
      if (notification instanceof A.ScrollUpdateNotification && _this._tabs$_controller._indexIsChangingCount === 0) {
        t1 = _this.___TabBarViewState__pageController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = type$._PagePosition;
        position = t2._as(B.JSArray_methods.get$single(t1._positions));
        t1 = position.get$page(position);
        t1.toString;
        t3 = _this._tabs$_controller;
        if (Math.abs(t1 - t3._tab_controller$_index) > 1) {
          t1 = _this.___TabBarViewState__pageController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          position = t2._as(B.JSArray_methods.get$single(t1._positions));
          t1 = position.get$page(position);
          t1.toString;
          t3._changeIndex$1(B.JSNumber_methods.round$0(t1));
          t1 = _this._tabs$_controller;
          _this._currentIndex = t1._tab_controller$_index;
        } else
          t1 = t3;
        t3 = _this.___TabBarViewState__pageController;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        position = t2._as(B.JSArray_methods.get$single(t3._positions));
        t3 = position.get$page(position);
        t3.toString;
        t1.set$offset(0, A.clampDouble(t3 - _this._tabs$_controller._tab_controller$_index, -1, 1));
      } else if (notification instanceof A.ScrollEndNotification) {
        t1 = _this._tabs$_controller;
        t1.toString;
        t2 = _this.___TabBarViewState__pageController;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = type$._PagePosition;
        position = t3._as(B.JSArray_methods.get$single(t2._positions));
        t2 = position.get$page(position);
        t2.toString;
        t1._changeIndex$1(B.JSNumber_methods.round$0(t2));
        t2 = _this._tabs$_controller;
        _this._currentIndex = t2._tab_controller$_index;
        if (t2._indexIsChangingCount === 0) {
          t1 = _this.___TabBarViewState__pageController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          position = t3._as(B.JSArray_methods.get$single(t1._positions));
          t1 = position.get$page(position);
          t1.toString;
          t2.set$offset(0, A.clampDouble(t1 - _this._tabs$_controller._tab_controller$_index, -1, 1));
        }
      }
      --_this._warpUnderwayCount;
      return false;
    },
    build$1(context) {
      var t2, t3, _this = this,
        t1 = _this._widget;
      t1.toString;
      t2 = _this.___TabBarViewState__pageController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = B.PageScrollPhysics_null.buildParent$1(t1.physics);
      t3 = _this.___TabBarViewState__childrenWithKey;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return new A.NotificationListener(_this.get$_handleScrollNotification(), new A.PageView(t2, new A.PageScrollPhysics(t1), A.SliverChildListDelegate$(t3, true, true, true), B.DragStartBehavior_1, B.Clip_1, null), null, type$.NotificationListener_ScrollNotification);
    }
  };
  A._TabBarViewState__warpToCurrentIndex_closure.prototype = {
    call$0() {
      var t2, t3, temp, t4,
        t1 = this.$this;
      ++t1._warpUnderwayCount;
      t2 = t1.___TabBarViewState__childrenWithKey;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.___TabBarViewState__childrenWithKey = A.List_List$of(t2, false, type$.Widget);
      t3 = this.initialPage;
      temp = t2[t3];
      t4 = this.previousIndex;
      t2[t3] = t2[t4];
      t1 = t1.___TabBarViewState__childrenWithKey;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      B.JSArray_methods.$indexSet(t1, t4, temp);
    },
    $signature: 0
  };
  A._TabBarViewState__warpToCurrentIndex_closure0.prototype = {
    call$0() {
      var t2, t3,
        t1 = this.$this;
      --t1._warpUnderwayCount;
      t2 = t1._widget.children;
      t3 = t1.___TabBarViewState__children;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 !== t3)
        t1._updateChildren$0();
      else
        t1.___TabBarViewState__childrenWithKey = this.originalChildren;
    },
    $signature: 0
  };
  A.__ChangeAnimation_Animation_AnimationWithParentMixin.prototype = {};
  A.__DragAnimation_Animation_AnimationWithParentMixin.prototype = {};
  A.TextButton.prototype = {
    defaultStyleOf$1(context) {
      var t1,
        theme = A.Theme_of(context),
        colorScheme = theme.colorScheme;
      A.Theme_of(context);
      t1 = A.TextButton_styleFrom(B.Alignment_0_0, B.Duration_200000, B.Color_0, B.SystemMouseCursor_basic, 0, true, B.SystemMouseCursor_click, null, B.Size_wjo, B.Size_64_36, colorScheme.onSurface, A._scaledPadding(context), colorScheme.primary, theme.shadowColor, B.RoundedRectangleBorder_ifx0, B.C__InkRippleFactory, theme.materialTapTargetSize, theme.textTheme.labelLarge, theme.visualDensity);
      return t1;
    },
    themeStyleOf$1(context) {
      var buttonTheme = context.dependOnInheritedWidgetOfExactType$1$0(type$.TextButtonTheme),
        t1 = buttonTheme == null ? null : buttonTheme.data;
      return (t1 == null ? A.Theme_of(context).textButtonTheme : t1).style;
    }
  };
  A._TextButtonDefaultForeground.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_6)) {
        t1 = this.onSurface;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1.value;
          t1 = A.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return t1;
      }
      return this.primary;
    },
    toString$0(_) {
      var t1 = this.onSurface;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.value;
        t1 = A.Color$fromARGB(97, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
      }
      return "{disabled: " + A.S(t1) + ", otherwise: " + A.S(this.primary) + "}";
    }
  };
  A._TextButtonDefaultOverlay.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_0)) {
        t1 = this.primary;
        return A.Color$fromARGB(10, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      if (states.contains$1(0, B.MaterialState_1) || states.contains$1(0, B.MaterialState_2)) {
        t1 = this.primary;
        return A.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      return null;
    },
    toString$0(_) {
      var t1 = this.primary;
      return "{hovered: " + A.Color$fromARGB(10, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255).toString$0(0) + ", focused,pressed: " + A.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255).toString$0(0) + ", otherwise: null}";
    }
  };
  A._TextButtonDefaultMouseCursor.prototype = {
    resolve$1(states) {
      if (states.contains$1(0, B.MaterialState_6))
        return this.disabledCursor;
      return this.enabledCursor;
    }
  };
  A.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable.prototype = {};
  A.TextButtonThemeData.prototype = {
    get$hashCode(_) {
      return J.get$hashCode$(this.style);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.TextButtonThemeData && J.$eq$(other.style, this.style);
    }
  };
  A._TextButtonThemeData_Object_Diagnosticable.prototype = {};
  A._TextFieldSelectionGestureDetectorBuilder.prototype = {
    onForcePressStart$1(details) {
      var t1;
      this.super$TextSelectionGestureDetectorBuilder$onForcePressStart(details);
      t1 = this.delegate;
      if (t1.get$selectionEnabled() && this._shouldShowSelectionToolbar) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onForcePressEnd$1(details) {
    },
    onSingleLongTapMoveUpdate$1(details) {
      var t2,
        t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t2 = this._text_field$_state._framework$_element;
        t2.toString;
        switch (A.Theme_of(t2).platform.index) {
          case 2:
          case 4:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            type$.RenderEditable._as(t1).selectPositionAt$2$cause$from(B.SelectionChangedCause_2, details.globalPosition);
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            t2 = details.globalPosition;
            type$.RenderEditable._as(t1).selectWordsInRange$3$cause$from$to(B.SelectionChangedCause_2, t2.$sub(0, details.offsetFromOrigin), t2);
            break;
        }
      }
    },
    onSingleTapUp$1(details) {
      var t1 = this.delegate.get$editableTextKey().get$currentState();
      t1.toString;
      t1.hideToolbar$0();
      this.super$TextSelectionGestureDetectorBuilder$onSingleTapUp(details);
      t1 = this._text_field$_state;
      t1._requestKeyboard$0();
      t1._widget.toString;
    },
    onSingleLongTapStart$1(details) {
      var t2, t3,
        t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t2 = this._text_field$_state;
        t3 = t2._framework$_element;
        t3.toString;
        switch (A.Theme_of(t3).platform.index) {
          case 2:
          case 4:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            type$.RenderEditable._as(t1).selectPositionAt$2$cause$from(B.SelectionChangedCause_2, details.globalPosition);
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            type$.RenderEditable._as(t1);
            t3 = t1._lastTapDownPosition;
            t3.toString;
            t1.selectWordsInRange$2$cause$from(B.SelectionChangedCause_2, t3);
            t2 = t2._framework$_element;
            t2.toString;
            A.Feedback_forLongPress(t2);
            break;
        }
      }
    }
  };
  A.TextField0.prototype = {
    createState$0() {
      var _null = null;
      return new A._TextFieldState(new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_EditableTextState), _null, A.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, B._StateLifecycle_0);
    }
  };
  A._TextFieldState.prototype = {
    get$_effectiveController() {
      var t1 = this._widget.controller;
      if (t1 == null) {
        t1 = this._text_field$_controller._restoration_properties$_value;
        t1.toString;
      }
      return t1;
    },
    get$_text_field$_effectiveFocusNode() {
      var t1 = this._widget.focusNode;
      if (t1 == null) {
        t1 = this._text_field$_focusNode;
        if (t1 == null) {
          t1 = A.FocusNode$(true, null, true, true, null, null, false);
          this._text_field$_focusNode = t1;
        }
      }
      return t1;
    },
    get$_effectiveMaxLengthEnforcement() {
      this._widget.toString;
      var t1 = this._framework$_element;
      t1.toString;
      t1 = A.LengthLimitingTextInputFormatter_getDefaultMaxLengthEnforcement(A.Theme_of(t1).platform);
      return t1;
    },
    get$forcePressEnabled() {
      var t1 = this.___TextFieldState_forcePressEnabled;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    get$selectionEnabled() {
      return this._widget.enableInteractiveSelection;
    },
    get$_isEnabled() {
      var t1 = this._widget,
        t2 = t1.enabled;
      if (t2 == null)
        t1 = t1.decoration.enabled;
      else
        t1 = t2;
      return t1;
    },
    get$_hasIntrinsicError() {
      this._widget.toString;
      return false;
    },
    _getEffectiveDecoration$0() {
      var themeData, t2, t3, effectiveDecoration, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      A.Localizations_of(t1, B.Type_MaterialLocalizations_flR, type$.MaterialLocalizations).toString;
      t1 = _this._framework$_element;
      t1.toString;
      themeData = A.Theme_of(t1);
      t1 = _this._widget.decoration;
      t1 = t1.applyDefaults$1(themeData.inputDecorationTheme);
      t2 = _this.get$_isEnabled();
      t3 = _this._widget.decoration.hintMaxLines;
      effectiveDecoration = t1.copyWith$2$enabled$hintMaxLines(t2, t3 == null ? 1 : t3);
      t1 = effectiveDecoration.counter == null;
      if (!t1 || effectiveDecoration.counterText != null)
        return effectiveDecoration;
      t2 = _this.get$_effectiveController()._change_notifier$_value.text;
      t2 = t2.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(t2);
      t2.get$length(t2);
      if (t1)
        if (effectiveDecoration.counterText == null)
          _this._widget.toString;
      _this._widget.toString;
      return effectiveDecoration;
    },
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.___TextFieldState__selectionGestureDetectorBuilder = new A._TextFieldSelectionGestureDetectorBuilder(_this, _this);
      if (_this._widget.controller == null)
        _this._createLocalController$0();
      _this.get$_text_field$_effectiveFocusNode().set$canRequestFocus(_this.get$_isEnabled());
      _this.get$_text_field$_effectiveFocusNode().addListener$1(0, _this.get$_text_field$_handleFocusChanged());
    },
    get$_text_field$_canRequestFocus() {
      var mode,
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch ((mode == null ? B.NavigationMode_0 : mode).index) {
        case 0:
          return this.get$_isEnabled();
        case 1:
          return true;
      }
    },
    didChangeDependencies$0() {
      this.super$__TextFieldState_State_RestorationMixin$didChangeDependencies();
      this.get$_text_field$_effectiveFocusNode().set$canRequestFocus(this.get$_text_field$_canRequestFocus());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, _this = this;
      _this.super$__TextFieldState_State_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = _this._widget.controller == null;
      if (t1 && oldWidget.controller != null)
        _this._createLocalController$1(oldWidget.controller._change_notifier$_value);
      else if (!t1 && oldWidget.controller == null) {
        t1 = _this._text_field$_controller;
        t1.toString;
        t2 = _this.RestorationMixin__bucket;
        if (t2 != null) {
          t3 = t1._restoration0$_restorationId;
          t3.toString;
          t2.remove$1$1(0, t3, type$.nullable_Object);
        }
        _this._unregister$1(t1);
        t1 = _this._text_field$_controller;
        t1._disposeOldValue$0();
        t1.super$RestorableListenable$dispose();
        _this._text_field$_controller = null;
      }
      t1 = oldWidget.focusNode;
      if (_this._widget.focusNode != t1) {
        if (t1 == null)
          t1 = _this._text_field$_focusNode;
        if (t1 != null)
          t1.removeListener$1(0, _this.get$_text_field$_handleFocusChanged());
        t1 = _this._widget.focusNode;
        if (t1 == null)
          t1 = _this._text_field$_focusNode;
        if (t1 != null)
          t1.addListener$1(0, _this.get$_text_field$_handleFocusChanged());
      }
      _this.get$_text_field$_effectiveFocusNode().set$canRequestFocus(_this.get$_text_field$_canRequestFocus());
      if (_this.get$_text_field$_effectiveFocusNode().get$hasFocus())
        _this._widget.toString;
    },
    restoreState$2(oldBucket, initialRestore) {
      var t1 = this._text_field$_controller;
      if (t1 != null)
        this.registerForRestoration$2(t1, "controller");
    },
    _createLocalController$1(value) {
      var t1, _this = this;
      if (value == null)
        t1 = new A.RestorableTextEditingController(B.TextEditingValue_li8, $.$get$ChangeNotifier__emptyListeners());
      else
        t1 = new A.RestorableTextEditingController(value, $.$get$ChangeNotifier__emptyListeners());
      _this._text_field$_controller = t1;
      if (!_this.get$restorePending()) {
        t1 = _this._text_field$_controller;
        t1.toString;
        _this.registerForRestoration$2(t1, "controller");
      }
    },
    _createLocalController$0() {
      return this._createLocalController$1(null);
    },
    get$restorationId() {
      this._widget.toString;
      return null;
    },
    dispose$0() {
      var t1, _this = this;
      _this.get$_text_field$_effectiveFocusNode().removeListener$1(0, _this.get$_text_field$_handleFocusChanged());
      t1 = _this._text_field$_focusNode;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this._text_field$_controller;
      if (t1 != null) {
        t1._disposeOldValue$0();
        t1.super$RestorableListenable$dispose();
      }
      _this.super$__TextFieldState_State_RestorationMixin$dispose();
    },
    _requestKeyboard$0() {
      var t1 = this.editableTextKey.get$currentState();
      if (t1 != null)
        t1.requestKeyboard$0();
    },
    _text_field$_shouldShowSelectionHandles$1(cause) {
      var _this = this,
        t1 = _this.___TextFieldState__selectionGestureDetectorBuilder;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1._shouldShowSelectionToolbar)
        return false;
      if (cause === B.SelectionChangedCause_4)
        return false;
      _this._widget.toString;
      if (!_this.get$_isEnabled())
        return false;
      if (cause === B.SelectionChangedCause_2 || cause === B.SelectionChangedCause_7)
        return true;
      if (_this.get$_effectiveController()._change_notifier$_value.text.length !== 0)
        return true;
      return false;
    },
    _text_field$_handleFocusChanged$0() {
      this.setState$1(new A._TextFieldState__handleFocusChanged_closure());
    },
    _text_field$_handleSelectionChanged$2(selection, cause) {
      var t1, _this = this,
        willShowSelectionHandles = _this._text_field$_shouldShowSelectionHandles$1(cause);
      if (willShowSelectionHandles !== _this._text_field$_showSelectionHandles)
        _this.setState$1(new A._TextFieldState__handleSelectionChanged_closure(_this, willShowSelectionHandles));
      t1 = _this._framework$_element;
      t1.toString;
      switch (A.Theme_of(t1).platform.index) {
        case 2:
        case 4:
          if (cause === B.SelectionChangedCause_2 || cause === B.SelectionChangedCause_6) {
            t1 = _this.editableTextKey.get$currentState();
            if (t1 != null)
              t1.bringIntoView$1(selection.get$extent());
          }
          return;
        case 3:
        case 5:
        case 1:
        case 0:
          if (cause === B.SelectionChangedCause_6) {
            t1 = _this.editableTextKey.get$currentState();
            if (t1 != null)
              t1.bringIntoView$1(selection.get$extent());
          }
          return;
      }
    },
    _text_field$_handleSelectionHandleTapped$0() {
      var t1 = this.get$_effectiveController()._change_notifier$_value.selection;
      if (t1.start === t1.end)
        this.editableTextKey.get$currentState().toggleToolbar$0();
    },
    _handleHover$1(hovering) {
      if (hovering !== this._isHovering)
        this.setState$1(new A._TextFieldState__handleHover_closure(this, hovering));
    },
    get$textInputConfiguration() {
      var autofillHints, t1, t2, t3, t4, autofillConfiguration, _this = this;
      _this._widget.toString;
      autofillHints = J.JSArray_JSArray$markFixed(B.List_empty0.slice(0), type$.String);
      t1 = _this.editableTextKey;
      t2 = t1.get$currentState();
      t2.toString;
      t2 = A.Primitives_objectHashCode(t2);
      t3 = _this.get$_effectiveController()._change_notifier$_value;
      t4 = _this._widget.decoration;
      autofillConfiguration = new A.AutofillConfiguration(true, "EditableText-" + t2, autofillHints, t3, t4.hintText);
      t1 = t1.get$currentState().get$textInputConfiguration();
      return A.TextInputConfiguration$(true, autofillConfiguration, false, true, t1.enableInteractiveSelection, true, t1.inputAction, t1.inputType, t1.keyboardAppearance, false, t1.readOnly, t1.smartDashesType, t1.smartQuotesType, t1.textCapitalization);
    },
    build$1(context) {
      var t2, style, controller, focusNode, t3, t4, cupertinoTheme, textSelectionControls, cursorColor, selectionColor, cursorOffset, autocorrectionTextRectColor, paintCursorAboveText, cursorOpacityAnimates, cursorRadius, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, child, effectiveMouseCursor, _this = this, _null = null, _box_0 = {},
        theme = A.Theme_of(context),
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultSelectionStyle);
      if (t1 == null)
        t1 = B.DefaultSelectionStyle_MUs;
      t2 = theme.textTheme.titleMedium;
      t2.toString;
      style = t2.merge$1(_this._widget.style);
      _this._widget.toString;
      t2 = theme.colorScheme;
      controller = _this.get$_effectiveController();
      focusNode = _this.get$_text_field$_effectiveFocusNode();
      t3 = A._setArrayType([], type$.JSArray_TextInputFormatter);
      t4 = _this._widget.inputFormatters;
      if (t4 != null)
        B.JSArray_methods.addAll$1(t3, t4);
      t4 = _this._widget;
      t4.toString;
      _box_0.handleDidGainAccessibilityFocus = null;
      switch (theme.platform.index) {
        case 2:
          cupertinoTheme = A.CupertinoTheme_of(context);
          _this.___TextFieldState_forcePressEnabled = true;
          textSelectionControls = $.$get$cupertinoTextSelectionControls();
          t4 = _this._widget.cursorColor;
          cursorColor = t4 == null ? t1.cursorColor : t4;
          if (cursorColor == null)
            cursorColor = cupertinoTheme.get$primaryColor();
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = cupertinoTheme.get$primaryColor();
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorOffset = new A.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          autocorrectionTextRectColor = selectionColor;
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = B.Radius_2_2;
          break;
        case 4:
          cupertinoTheme = A.CupertinoTheme_of(context);
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$cupertinoDesktopTextSelectionControls();
          t4 = _this._widget.cursorColor;
          cursorColor = t4 == null ? t1.cursorColor : t4;
          if (cursorColor == null)
            cursorColor = cupertinoTheme.get$primaryColor();
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = cupertinoTheme.get$primaryColor();
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorOffset = new A.Offset(-2 / context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.devicePixelRatio, 0);
          _box_0.handleDidGainAccessibilityFocus = new A._TextFieldState_build_closure(_this);
          autocorrectionTextRectColor = _null;
          paintCursorAboveText = true;
          cursorOpacityAnimates = true;
          cursorRadius = B.Radius_2_2;
          break;
        case 0:
        case 1:
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$materialTextSelectionControls();
          t4 = t4.cursorColor;
          cursorColor = t4 == null ? t1.cursorColor : t4;
          if (cursorColor == null)
            cursorColor = t2.primary;
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = t2.primary;
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorRadius = _null;
          autocorrectionTextRectColor = cursorRadius;
          cursorOffset = autocorrectionTextRectColor;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        case 3:
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$desktopTextSelectionControls();
          t4 = t4.cursorColor;
          cursorColor = t4 == null ? t1.cursorColor : t4;
          if (cursorColor == null)
            cursorColor = t2.primary;
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = t2.primary;
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          cursorRadius = _null;
          autocorrectionTextRectColor = cursorRadius;
          cursorOffset = autocorrectionTextRectColor;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        case 5:
          _this.___TextFieldState_forcePressEnabled = false;
          textSelectionControls = $.$get$desktopTextSelectionControls();
          t4 = t4.cursorColor;
          cursorColor = t4 == null ? t1.cursorColor : t4;
          if (cursorColor == null)
            cursorColor = t2.primary;
          selectionColor = t1.selectionColor;
          if (selectionColor == null) {
            t1 = t2.primary;
            selectionColor = A.Color$fromARGB(102, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          _box_0.handleDidGainAccessibilityFocus = new A._TextFieldState_build_closure0(_this);
          cursorRadius = _null;
          autocorrectionTextRectColor = cursorRadius;
          cursorOffset = autocorrectionTextRectColor;
          paintCursorAboveText = false;
          cursorOpacityAnimates = false;
          break;
        default:
          cursorRadius = _null;
          autocorrectionTextRectColor = cursorRadius;
          selectionColor = autocorrectionTextRectColor;
          cursorColor = selectionColor;
          cursorOffset = cursorColor;
          cursorOpacityAnimates = cursorOffset;
          paintCursorAboveText = cursorOpacityAnimates;
          textSelectionControls = paintCursorAboveText;
      }
      t1 = _this.RestorationMixin__bucket;
      _this._widget.toString;
      t4 = _this.get$_isEnabled();
      t5 = _this._widget;
      t6 = t5.toolbarOptions;
      t7 = _this._text_field$_showSelectionHandles;
      t8 = t5.keyboardType;
      t9 = t5.autofocus;
      t10 = t5.smartDashesType;
      t5 = t5.smartQuotesType;
      t11 = focusNode.get$hasFocus() ? selectionColor : _null;
      t12 = _this._widget;
      t13 = t12.enableInteractiveSelection;
      t14 = t13 ? textSelectionControls : _null;
      t6 = A.UnmanagedRestorationScope$(t1, A.EditableText$(true, autocorrectionTextRectColor, _this, B.List_empty0, t9, B.CupertinoDynamicColor_YIZ, B.Clip_1, controller, cursorColor, _null, cursorOffset, cursorOpacityAnimates, cursorRadius, 2, B.DragStartBehavior_1, true, t13, true, false, focusNode, true, t3, _this.editableTextKey, t2.brightness, t8, 1, _null, B.C__DeferringMouseCursor, false, "\u2022", _null, t12.onChanged, t12.onEditingComplete, _this.get$_text_field$_handleSelectionChanged(), _this.get$_text_field$_handleSelectionHandleTapped(), t12.onSubmitted, paintCursorAboveText, !t4, true, "editable", true, _null, B.EdgeInsets_20_20_20_20, _null, t11, t14, B.BoxHeightStyle_0, B.BoxWidthStyle_0, _null, t7, t10, t5, _null, style, B.TextAlign_4, B.TextCapitalization_30, _null, _null, _null, _null, B.TextWidthBasis_0, t6));
      _this._widget.toString;
      child = A.AnimatedBuilder$(new A._MergingListenable(A._setArrayType([focusNode, controller], type$.JSArray_Listenable)), new A._TextFieldState_build_closure1(_this, focusNode, controller), new A.RepaintBoundary(t6, _null));
      _this._widget.toString;
      t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (!_this.get$_isEnabled())
        t1.add$1(0, B.MaterialState_6);
      if (_this._isHovering)
        t1.add$1(0, B.MaterialState_0);
      if (focusNode.get$hasFocus())
        t1.add$1(0, B.MaterialState_1);
      t2 = _this._widget.decoration;
      if (t2.errorText != null || _this.get$_hasIntrinsicError())
        t1.add$1(0, B.MaterialState_7);
      effectiveMouseCursor = A.MaterialStateProperty_resolveAs(B._EnabledAndDisabledMouseCursor_SystemMouseCursor_text_textable, t1, type$.MouseCursor);
      _box_0.semanticsMaxValueLength = null;
      if (_this.get$_effectiveMaxLengthEnforcement() !== B.MaxLengthEnforcement_0)
        _this._widget.toString;
      t1 = _this.get$_isEnabled();
      t2 = _this.___TextFieldState__selectionGestureDetectorBuilder;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return new A.FocusTrapArea(focusNode, A.MouseRegion$(new A.IgnorePointer(!t1, _null, A.AnimatedBuilder$(controller, new A._TextFieldState_build_closure2(_box_0, _this), t2.buildGestureDetector$2$behavior$child(B.HitTestBehavior_2, child)), _null), effectiveMouseCursor, _null, new A._TextFieldState_build_closure3(_this), new A._TextFieldState_build_closure4(_this), _null), _null);
    },
    get$editableTextKey() {
      return this.editableTextKey;
    }
  };
  A._TextFieldState__handleFocusChanged_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._TextFieldState__handleSelectionChanged_closure.prototype = {
    call$0() {
      this.$this._text_field$_showSelectionHandles = this.willShowSelectionHandles;
    },
    $signature: 0
  };
  A._TextFieldState__handleHover_closure.prototype = {
    call$0() {
      this.$this._isHovering = this.hovering;
    },
    $signature: 0
  };
  A._TextFieldState_build_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (!t1.get$_text_field$_effectiveFocusNode().get$hasFocus() && t1.get$_text_field$_effectiveFocusNode().get$canRequestFocus())
        t1.get$_text_field$_effectiveFocusNode().requestFocus$0();
    },
    $signature: 0
  };
  A._TextFieldState_build_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      if (!t1.get$_text_field$_effectiveFocusNode().get$hasFocus() && t1.get$_text_field$_effectiveFocusNode().get$canRequestFocus())
        t1.get$_text_field$_effectiveFocusNode().requestFocus$0();
    },
    $signature: 0
  };
  A._TextFieldState_build_closure1.prototype = {
    call$2(context, child) {
      var t1 = this.$this,
        t2 = t1._getEffectiveDecoration$0(),
        t3 = t1._widget.style,
        t4 = t1._isHovering,
        t5 = this.focusNode.get$hasFocus(),
        t6 = this.controller._change_notifier$_value.text;
      t1._widget.toString;
      return A.InputDecorator$(t3, child, t2, false, t6.length === 0, t5, t4, B.TextAlign_4, null);
    },
    $signature: 793
  };
  A._TextFieldState_build_closure3.prototype = {
    call$1($event) {
      return this.$this._handleHover$1(true);
    },
    $signature: 49
  };
  A._TextFieldState_build_closure4.prototype = {
    call$1($event) {
      return this.$this._handleHover$1(false);
    },
    $signature: 34
  };
  A._TextFieldState_build_closure2.prototype = {
    call$2(context, child) {
      var _null = null,
        t1 = this._box_0,
        t2 = t1.semanticsMaxValueLength,
        t3 = this.$this,
        t4 = t3.get$_effectiveController()._change_notifier$_value.text;
      t4 = t4.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(t4);
      t4 = t4.get$length(t4);
      t3._widget.toString;
      t1 = t1.handleDidGainAccessibilityFocus;
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, t4, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A._TextFieldState_build__closure(t3), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, child, _null);
    },
    $signature: 794
  };
  A._TextFieldState_build__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (!t1.get$_effectiveController()._change_notifier$_value.selection.get$isValid())
        t1.get$_effectiveController().set$selection(A.TextSelection$collapsed(B.TextAffinity_1, t1.get$_effectiveController()._change_notifier$_value.text.length));
      t1._requestKeyboard$0();
    },
    $signature: 0
  };
  A.__TextFieldState_State_RestorationMixin_dispose_closure.prototype = {
    call$2(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 78
  };
  A.__TextFieldState_State_RestorationMixin.prototype = {
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$State$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.RestorationScope_of(t1);
      _this.RestorationMixin__currentParent = t1;
      didReplaceBucket = _this._updateBucketIfNecessary$2$parent$restorePending(t1, needsRestore);
      if (needsRestore) {
        _this.restoreState$2(oldBucket, _this.RestorationMixin__firstRestorePending);
        _this.RestorationMixin__firstRestorePending = false;
      }
      if (didReplaceBucket)
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    dispose$0() {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new A.__TextFieldState_State_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0();
      _this.RestorationMixin__bucket = null;
      _this.super$State$dispose();
    }
  };
  A.MaterialTextSelectionControls.prototype = {
    getHandleSize$1(textLineHeight) {
      return B.Size_22_22;
    },
    buildHandle$4(context, type, textHeight, onTap) {
      var t1, handleColor, handle, _null = null,
        theme = A.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.TextSelectionTheme);
      t1 = A.Theme_of(context);
      handleColor = t1.textSelectionTheme.selectionHandleColor;
      if (handleColor == null)
        handleColor = theme.colorScheme.primary;
      handle = A.SizedBox$(A.CustomPaint$(A.GestureDetector$(B.HitTestBehavior_2, _null, B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, onTap, _null, _null, _null, _null, _null, _null), _null, _null, new A._TextSelectionHandlePainter0(handleColor, _null), B.Size_0_0), 22, 22);
      switch (type.index) {
        case 0:
          return A.Transform$rotate(B.Alignment_0_0, 1.5707963267948966, handle, _null);
        case 1:
          return handle;
        case 2:
          return A.Transform$rotate(B.Alignment_0_0, 0.7853981633974483, handle, _null);
      }
    },
    getHandleAnchor$2(type, textLineHeight) {
      switch (type.index) {
        case 0:
          return B.Offset_22_0;
        case 1:
          return B.Offset_0_0;
        case 2:
          return B.Offset_11_m4;
      }
    }
  };
  A._TextSelectionHandlePainter0.prototype = {
    paint$2(canvas, size) {
      var radius, circle, t1, path,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, this.color);
      radius = size._dx / 2;
      circle = A.Rect$fromCircle(new A.Offset(radius, radius), radius);
      t1 = 0 + radius;
      path = A.Path_Path();
      path.addOval$1(circle);
      path.addRect$1(new A.Rect(0, 0, t1, t1));
      canvas.drawPath$2(path, paint);
    },
    shouldRepaint$1(oldPainter) {
      return !this.color.$eq(0, oldPainter.color);
    }
  };
  A.TextSelectionThemeData.prototype = {
    get$hashCode(_) {
      return A.Object_hash(this.cursorColor, this.selectionColor, this.selectionHandleColor, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.TextSelectionThemeData && J.$eq$(other.cursorColor, _this.cursorColor) && J.$eq$(other.selectionColor, _this.selectionColor) && J.$eq$(other.selectionHandleColor, _this.selectionHandleColor);
    }
  };
  A._TextSelectionThemeData_Object_Diagnosticable.prototype = {};
  A.TextTheme.prototype = {
    merge$1(other) {
      var 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, _this = this, _null = null;
      if (other == null)
        return _this;
      t1 = _this.displayLarge;
      t2 = t1 == null ? _null : t1.merge$1(other.displayLarge);
      if (t2 == null)
        t2 = other.displayLarge;
      t3 = _this.displayMedium;
      t4 = t3 == null ? _null : t3.merge$1(other.displayMedium);
      if (t4 == null)
        t4 = other.displayMedium;
      t5 = _this.displaySmall;
      t6 = t5 == null ? _null : t5.merge$1(other.displaySmall);
      if (t6 == null)
        t6 = other.displaySmall;
      t7 = _this.headlineLarge;
      t8 = t7 == null ? _null : t7.merge$1(other.headlineLarge);
      if (t8 == null)
        t8 = other.headlineLarge;
      t9 = _this.headlineMedium;
      t10 = t9 == null ? _null : t9.merge$1(other.headlineMedium);
      if (t10 == null)
        t10 = other.headlineMedium;
      t11 = _this.headlineSmall;
      t12 = t11 == null ? _null : t11.merge$1(other.headlineSmall);
      if (t12 == null)
        t12 = other.headlineSmall;
      t13 = _this.titleLarge;
      t14 = t13 == null ? _null : t13.merge$1(other.titleLarge);
      if (t14 == null)
        t14 = other.titleLarge;
      t15 = _this.titleMedium;
      t16 = t15 == null ? _null : t15.merge$1(other.titleMedium);
      if (t16 == null)
        t16 = other.titleMedium;
      t17 = _this.titleSmall;
      t18 = t17 == null ? _null : t17.merge$1(other.titleSmall);
      if (t18 == null)
        t18 = other.titleSmall;
      t19 = _this.bodyLarge;
      t20 = t19 == null ? _null : t19.merge$1(other.bodyLarge);
      if (t20 == null)
        t20 = other.bodyLarge;
      t21 = _this.bodyMedium;
      t22 = t21 == null ? _null : t21.merge$1(other.bodyMedium);
      if (t22 == null)
        t22 = other.bodyMedium;
      t23 = _this.bodySmall;
      t24 = t23 == null ? _null : t23.merge$1(other.bodySmall);
      if (t24 == null)
        t24 = other.bodySmall;
      t25 = _this.labelLarge;
      t26 = t25 == null ? _null : t25.merge$1(other.labelLarge);
      if (t26 == null)
        t26 = other.labelLarge;
      t27 = _this.labelMedium;
      t28 = t27 == null ? _null : t27.merge$1(other.labelMedium);
      if (t28 == null)
        t28 = other.labelMedium;
      t29 = _this.labelSmall;
      t30 = t29 == null ? _null : t29.merge$1(other.labelSmall);
      if (t30 == null)
        t30 = other.labelSmall;
      if (t2 == null)
        t2 = _null;
      t1 = t2 == null ? t1 : t2;
      t2 = t4 == null ? _null : t4;
      if (t2 == null)
        t2 = t3;
      t3 = t6 == null ? _null : t6;
      if (t3 == null)
        t3 = t5;
      t4 = t8 == null ? t7 : t8;
      t5 = t10 == null ? _null : t10;
      if (t5 == null)
        t5 = t9;
      t6 = t12 == null ? _null : t12;
      if (t6 == null)
        t6 = t11;
      t7 = t14 == null ? _null : t14;
      if (t7 == null)
        t7 = t13;
      t8 = t16 == null ? _null : t16;
      if (t8 == null)
        t8 = t15;
      t9 = t18 == null ? _null : t18;
      if (t9 == null)
        t9 = t17;
      t10 = t20 == null ? _null : t20;
      if (t10 == null)
        t10 = t19;
      t11 = t22 == null ? _null : t22;
      if (t11 == null)
        t11 = t21;
      t12 = t24 == null ? _null : t24;
      if (t12 == null)
        t12 = t23;
      t13 = t26 == null ? _null : t26;
      if (t13 == null)
        t13 = t25;
      t14 = t28 == null ? t27 : t28;
      t15 = t30 == null ? _null : t30;
      return A.TextTheme$(t10, t11, t12, t1, t2, t3, t4, t5, t6, t13, t14, t15 == null ? t29 : t15, t7, t8, t9);
    },
    apply$2$fontFamily$fontSizeFactor(fontFamily, fontSizeFactor) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, _this = this, _null = null,
        t1 = _this.displayLarge;
      t1 = t1 == null ? _null : t1.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t2 = _this.displayMedium;
      t2 = t2 == null ? _null : t2.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t3 = _this.displaySmall;
      t3 = t3 == null ? _null : t3.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t4 = _this.headlineLarge;
      t4 = t4 == null ? _null : t4.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t5 = _this.headlineMedium;
      t5 = t5 == null ? _null : t5.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t6 = _this.headlineSmall;
      t6 = t6 == null ? _null : t6.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t7 = _this.titleLarge;
      t7 = t7 == null ? _null : t7.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t8 = _this.titleMedium;
      t8 = t8 == null ? _null : t8.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t9 = _this.titleSmall;
      t9 = t9 == null ? _null : t9.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t10 = _this.bodyLarge;
      t10 = t10 == null ? _null : t10.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t11 = _this.bodyMedium;
      t11 = t11 == null ? _null : t11.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t12 = _this.bodySmall;
      t12 = t12 == null ? _null : t12.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t13 = _this.labelLarge;
      t13 = t13 == null ? _null : t13.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t14 = _this.labelMedium;
      t14 = t14 == null ? _null : t14.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor);
      t15 = _this.labelSmall;
      return A.TextTheme$(t10, t11, t12, t1, t2, t3, t4, t5, t6, t13, t14, t15 == null ? _null : t15.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(_null, _null, _null, _null, fontFamily, 0, fontSizeFactor), t7, t8, t9);
    },
    apply$1$fontSizeFactor(fontSizeFactor) {
      return this.apply$2$fontFamily$fontSizeFactor(null, fontSizeFactor);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.TextTheme && J.$eq$(_this.displayLarge, other.displayLarge) && J.$eq$(_this.displayMedium, other.displayMedium) && J.$eq$(_this.displaySmall, other.displaySmall) && J.$eq$(_this.headlineLarge, other.headlineLarge) && J.$eq$(_this.headlineMedium, other.headlineMedium) && J.$eq$(_this.headlineSmall, other.headlineSmall) && J.$eq$(_this.titleLarge, other.titleLarge) && J.$eq$(_this.titleMedium, other.titleMedium) && J.$eq$(_this.titleSmall, other.titleSmall) && J.$eq$(_this.bodyLarge, other.bodyLarge) && J.$eq$(_this.bodyMedium, other.bodyMedium) && J.$eq$(_this.bodySmall, other.bodySmall) && J.$eq$(_this.labelLarge, other.labelLarge) && J.$eq$(_this.labelMedium, other.labelMedium) && J.$eq$(_this.labelSmall, other.labelSmall);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.displayLarge, _this.displayMedium, _this.displaySmall, _this.headlineLarge, _this.headlineMedium, _this.headlineSmall, _this.titleLarge, _this.titleMedium, _this.titleSmall, _this.bodyLarge, _this.bodyMedium, _this.bodySmall, _this.labelLarge, _this.labelMedium, _this.labelSmall, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._TextTheme_Object_Diagnosticable.prototype = {};
  A.Theme.prototype = {
    build$1(context) {
      var t9, t10,
        t1 = this.data,
        t2 = B.CupertinoThemeData_KQb.brightness,
        t3 = B.CupertinoThemeData_KQb.primaryColor,
        t4 = B.CupertinoThemeData_KQb.primaryContrastingColor,
        t5 = B.CupertinoThemeData_KQb.textTheme,
        t6 = B.CupertinoThemeData_KQb.barBackgroundColor,
        t7 = B.CupertinoThemeData_KQb.scaffoldBackgroundColor,
        t8 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultSelectionStyle);
      if (t8 == null)
        t8 = B.DefaultSelectionStyle_MUs;
      t9 = t1.textSelectionTheme;
      t10 = t9.selectionColor;
      if (t10 == null)
        t10 = t8.selectionColor;
      t9 = t9.cursorColor;
      t8 = t9 == null ? t8.cursorColor : t9;
      return new A._InheritedTheme(this, new A.CupertinoTheme(new A.MaterialBasedCupertinoThemeData(t1, new A.NoDefaultCupertinoThemeData(t2, t3, t4, t5, t6, t7), B._CupertinoThemeDefaults_iF8, t2, t3, t4, t5, t6, t7), A.IconTheme$(A.DefaultSelectionStyle$(this.child, t8, t10), t1.iconTheme, null), null), null);
    }
  };
  A._InheritedTheme.prototype = {
    wrap$2(_, context, child) {
      return new A.Theme(this.theme.data, child, null);
    },
    updateShouldNotify$1(old) {
      return !this.theme.data.$eq(0, old.theme.data);
    }
  };
  A.ThemeDataTween.prototype = {
    lerp$1(t) {
      var 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, t48, t49, t50, t51, t52, t53, t54, t55, t56, t57, t58, t59, t60, t61, t62, t63, t64, t65, t66, t67, t68, t69, t70, t71, t72, t73, t74, t75, t76, t77, t78, t79, t80, t81, t82, t83, t84, t85, t86, t87, t88, t89, t90, t91, t92, t93, t94, t95, t96, t97, t98, t99, t100, t101, t102, t103, t104, t105, t106, t107, t108, t109, t110, t111, t112, t113, t114, t115, t116, t117, t118, t119, t120, t121, t122, t123, t124, t125, t126, t127, t128, t129, t130, t131, t132, t133, t134, t135, t136, t137, t138, t139, t140, t141, t142, t143, t144, t145, t146, t147, t148, t149, t150, t151, t152, t153, t154, t155, t156, t157, t158, t159, t160, t161, t162, t163, t164, t165, t166, t167, t168, t169, t170, t171, t172, t173, t174, t175, t176, t177, t178, t179, t180, t181, t182, t183, t184, t185, t186, t187, t188, t189, t190, t191, t192, t193, t194, t195, t196, t197, lerpedBorderSide, t198, t199, t200, t201, t202, t203, t204, t205, t206, t207, t208, t209, t210, t211, t212, t213, t214, t215, t216, t217, t218,
        t1 = this.begin;
      t1.toString;
      t2 = this.end;
      t2.toString;
      t3 = t < 0.5;
      t4 = t3 ? t1.applyElevationOverlayColor : t2.applyElevationOverlayColor;
      t5 = t3 ? t1.cupertinoOverrideTheme : t2.cupertinoOverrideTheme;
      t6 = A.ThemeData__lerpThemeExtensions(t1, t2, t);
      t7 = t3 ? t1.inputDecorationTheme : t2.inputDecorationTheme;
      t8 = t3 ? t1.materialTapTargetSize : t2.materialTapTargetSize;
      t9 = t3 ? t1.pageTransitionsTheme : t2.pageTransitionsTheme;
      t10 = t3 ? t1.platform : t2.platform;
      t11 = t1.scrollbarTheme;
      t12 = t2.scrollbarTheme;
      t13 = type$.nullable_bool;
      t14 = A.MaterialStateProperty_lerp(t11.thumbVisibility, t12.thumbVisibility, t, A.scrollbar_theme___lerpBool$closure(), t13);
      t15 = A.MaterialStateProperty_lerp(t11.thickness, t12.thickness, t, A.ui__lerpDouble$closure(), type$.nullable_double);
      t13 = A.MaterialStateProperty_lerp(t11.trackVisibility, t12.trackVisibility, t, A.scrollbar_theme___lerpBool$closure(), t13);
      t16 = t11.showTrackOnHover;
      t17 = t12.showTrackOnHover;
      t16 = t3 ? t16 : t17;
      t17 = t11.isAlwaysShown;
      t18 = t12.isAlwaysShown;
      t17 = t3 ? t17 : t18;
      t18 = t11.interactive;
      t19 = t12.interactive;
      t18 = t3 ? t18 : t19;
      t19 = A.Radius_lerp(t11.radius, t12.radius, t);
      t20 = type$.nullable_Color;
      t21 = A.MaterialStateProperty_lerp(t11.thumbColor, t12.thumbColor, t, A.ui_Color_lerp$closure(), t20);
      t22 = A.MaterialStateProperty_lerp(t11.trackColor, t12.trackColor, t, A.ui_Color_lerp$closure(), t20);
      t23 = A.MaterialStateProperty_lerp(t11.trackBorderColor, t12.trackBorderColor, t, A.ui_Color_lerp$closure(), t20);
      t24 = A.lerpDouble(t11.crossAxisMargin, t12.crossAxisMargin, t);
      t25 = A.lerpDouble(t11.mainAxisMargin, t12.mainAxisMargin, t);
      t11 = A.lerpDouble(t11.minThumbLength, t12.minThumbLength, t);
      t12 = t3 ? t1.splashFactory : t2.splashFactory;
      t26 = t1.visualDensity;
      t27 = t2.visualDensity;
      t28 = A.lerpDouble(t26.horizontal, t27.horizontal, t);
      t28.toString;
      t27 = A.lerpDouble(t26.vertical, t27.vertical, t);
      t27.toString;
      t26 = A.Color_lerp(t1.backgroundColor, t2.backgroundColor, t);
      t26.toString;
      t29 = A.Color_lerp(t1.bottomAppBarColor, t2.bottomAppBarColor, t);
      t29.toString;
      t30 = A.Color_lerp(t1.canvasColor, t2.canvasColor, t);
      t30.toString;
      t31 = A.Color_lerp(t1.cardColor, t2.cardColor, t);
      t31.toString;
      t32 = t1.colorScheme;
      t33 = t2.colorScheme;
      t34 = t3 ? t32.brightness : t33.brightness;
      t35 = t32.primary;
      t36 = t33.primary;
      t37 = A.Color_lerp(t35, t36, t);
      t37.toString;
      t38 = t32.onPrimary;
      t39 = t33.onPrimary;
      t40 = A.Color_lerp(t38, t39, t);
      t40.toString;
      t41 = t32._primaryContainer;
      if (t41 == null)
        t41 = t35;
      t42 = t33._primaryContainer;
      t41 = A.Color_lerp(t41, t42 == null ? t36 : t42, t);
      t42 = t32._onPrimaryContainer;
      if (t42 == null)
        t42 = t38;
      t43 = t33._onPrimaryContainer;
      t42 = A.Color_lerp(t42, t43 == null ? t39 : t43, t);
      t43 = t32.secondary;
      t44 = t33.secondary;
      t45 = A.Color_lerp(t43, t44, t);
      t45.toString;
      t46 = t32.onSecondary;
      t47 = t33.onSecondary;
      t48 = A.Color_lerp(t46, t47, t);
      t48.toString;
      t49 = t32._secondaryContainer;
      if (t49 == null)
        t49 = t43;
      t50 = t33._secondaryContainer;
      t49 = A.Color_lerp(t49, t50 == null ? t44 : t50, t);
      t50 = t32._onSecondaryContainer;
      if (t50 == null)
        t50 = t46;
      t51 = t33._onSecondaryContainer;
      t50 = A.Color_lerp(t50, t51 == null ? t47 : t51, t);
      t51 = t32._tertiary;
      t52 = t51 == null;
      t53 = t52 ? t43 : t51;
      t54 = t33._tertiary;
      t55 = t54 == null;
      t53 = A.Color_lerp(t53, t55 ? t44 : t54, t);
      t56 = t32._onTertiary;
      t57 = t56 == null;
      t58 = t57 ? t46 : t56;
      t59 = t33._onTertiary;
      t60 = t59 == null;
      t58 = A.Color_lerp(t58, t60 ? t47 : t59, t);
      t61 = t32._tertiaryContainer;
      if (t61 == null) {
        if (t52)
          t51 = t43;
      } else
        t51 = t61;
      t52 = t33._tertiaryContainer;
      if (t52 == null)
        t52 = t55 ? t44 : t54;
      t52 = A.Color_lerp(t51, t52, t);
      t51 = t32._onTertiaryContainer;
      if (t51 == null)
        t46 = t57 ? t46 : t56;
      else
        t46 = t51;
      t51 = t33._onTertiaryContainer;
      if (t51 == null)
        t47 = t60 ? t47 : t59;
      else
        t47 = t51;
      t47 = A.Color_lerp(t46, t47, t);
      t46 = t32.error;
      t51 = t33.error;
      t54 = A.Color_lerp(t46, t51, t);
      t54.toString;
      t55 = t32.onError;
      t56 = t33.onError;
      t57 = A.Color_lerp(t55, t56, t);
      t57.toString;
      t59 = t32._errorContainer;
      t46 = t59 == null ? t46 : t59;
      t59 = t33._errorContainer;
      t46 = A.Color_lerp(t46, t59 == null ? t51 : t59, t);
      t51 = t32._onErrorContainer;
      if (t51 == null)
        t51 = t55;
      t55 = t33._onErrorContainer;
      t51 = A.Color_lerp(t51, t55 == null ? t56 : t55, t);
      t55 = A.Color_lerp(t32.background, t33.background, t);
      t55.toString;
      t56 = t32.onBackground;
      t59 = t33.onBackground;
      t60 = A.Color_lerp(t56, t59, t);
      t60.toString;
      t61 = t32.surface;
      t62 = t33.surface;
      t63 = A.Color_lerp(t61, t62, t);
      t63.toString;
      t64 = t32.onSurface;
      t65 = t33.onSurface;
      t66 = A.Color_lerp(t64, t65, t);
      t66.toString;
      t67 = t32._surfaceVariant;
      if (t67 == null)
        t67 = t61;
      t68 = t33._surfaceVariant;
      t67 = A.Color_lerp(t67, t68 == null ? t62 : t68, t);
      t68 = t32._onSurfaceVariant;
      if (t68 == null)
        t68 = t64;
      t69 = t33._onSurfaceVariant;
      t68 = A.Color_lerp(t68, t69 == null ? t65 : t69, t);
      t69 = t32._outline;
      t56 = t69 == null ? t56 : t69;
      t69 = t33._outline;
      t56 = A.Color_lerp(t56, t69 == null ? t59 : t69, t);
      t59 = t32._shadow;
      if (t59 == null)
        t59 = B.Color_4278190080;
      t69 = t33._shadow;
      t59 = A.Color_lerp(t59, t69 == null ? B.Color_4278190080 : t69, t);
      t69 = t32._inverseSurface;
      t64 = t69 == null ? t64 : t69;
      t69 = t33._inverseSurface;
      t64 = A.Color_lerp(t64, t69 == null ? t65 : t69, t);
      t65 = t32._onInverseSurface;
      t61 = t65 == null ? t61 : t65;
      t65 = t33._onInverseSurface;
      t61 = A.Color_lerp(t61, t65 == null ? t62 : t65, t);
      t62 = t32._inversePrimary;
      t38 = t62 == null ? t38 : t62;
      t62 = t33._inversePrimary;
      t38 = A.Color_lerp(t38, t62 == null ? t39 : t62, t);
      t39 = t32._primaryVariant;
      if (t39 == null)
        t39 = t35;
      t62 = t33._primaryVariant;
      t39 = A.Color_lerp(t39, t62 == null ? t36 : t62, t);
      t62 = t32._secondaryVariant;
      t43 = t62 == null ? t43 : t62;
      t62 = t33._secondaryVariant;
      t43 = A.Color_lerp(t43, t62 == null ? t44 : t62, t);
      t32 = t32._surfaceTint;
      if (t32 == null)
        t32 = t35;
      t33 = t33._surfaceTint;
      t32 = A.ColorScheme$(t55, t34, t54, t46, t38, t64, t60, t57, t51, t61, t40, t42, t48, t50, t66, t68, t58, t47, t56, t37, t41, t39, t45, t49, t43, t59, t63, A.Color_lerp(t32, t33 == null ? t36 : t33, t), t67, t53, t52);
      t33 = A.Color_lerp(t1.dialogBackgroundColor, t2.dialogBackgroundColor, t);
      t33.toString;
      t34 = A.Color_lerp(t1.disabledColor, t2.disabledColor, t);
      t34.toString;
      t35 = A.Color_lerp(t1.dividerColor, t2.dividerColor, t);
      t35.toString;
      t36 = A.Color_lerp(t1.errorColor, t2.errorColor, t);
      t36.toString;
      t37 = A.Color_lerp(t1.focusColor, t2.focusColor, t);
      t37.toString;
      t38 = A.Color_lerp(t1.highlightColor, t2.highlightColor, t);
      t38.toString;
      t39 = A.Color_lerp(t1.hintColor, t2.hintColor, t);
      t39.toString;
      t40 = A.Color_lerp(t1.hoverColor, t2.hoverColor, t);
      t40.toString;
      t41 = A.Color_lerp(t1.indicatorColor, t2.indicatorColor, t);
      t41.toString;
      t42 = A.Color_lerp(t1.primaryColor, t2.primaryColor, t);
      t42.toString;
      t43 = A.Color_lerp(t1.primaryColorDark, t2.primaryColorDark, t);
      t43.toString;
      t44 = A.Color_lerp(t1.primaryColorLight, t2.primaryColorLight, t);
      t44.toString;
      t45 = A.Color_lerp(t1.scaffoldBackgroundColor, t2.scaffoldBackgroundColor, t);
      t45.toString;
      t46 = A.Color_lerp(t1.secondaryHeaderColor, t2.secondaryHeaderColor, t);
      t46.toString;
      t47 = A.Color_lerp(t1.selectedRowColor, t2.selectedRowColor, t);
      t47.toString;
      t48 = A.Color_lerp(t1.shadowColor, t2.shadowColor, t);
      t48.toString;
      t49 = A.Color_lerp(t1.splashColor, t2.splashColor, t);
      t49.toString;
      t50 = A.Color_lerp(t1.toggleableActiveColor, t2.toggleableActiveColor, t);
      t50.toString;
      t51 = A.Color_lerp(t1.unselectedWidgetColor, t2.unselectedWidgetColor, t);
      t51.toString;
      t52 = A.IconThemeData_lerp(t1.iconTheme, t2.iconTheme, t);
      t53 = A.IconThemeData_lerp(t1.primaryIconTheme, t2.primaryIconTheme, t);
      t54 = A.TextTheme_lerp(t1.primaryTextTheme, t2.primaryTextTheme, t);
      t55 = A.TextTheme_lerp(t1.textTheme, t2.textTheme, t);
      t56 = t1.typography;
      t57 = t2.typography;
      t58 = A.TextTheme_lerp(t56.black, t57.black, t);
      t59 = A.TextTheme_lerp(t56.white, t57.white, t);
      t60 = A.TextTheme_lerp(t56.englishLike, t57.englishLike, t);
      t61 = A.TextTheme_lerp(t56.dense, t57.dense, t);
      t57 = A.TextTheme_lerp(t56.tall, t57.tall, t);
      t56 = t1.appBarTheme;
      t62 = t2.appBarTheme;
      if (t3)
        t63 = t56.brightness;
      else
        t63 = t62.brightness;
      t64 = A.Color_lerp(t56.backgroundColor, t62.backgroundColor, t);
      t65 = A.Color_lerp(t56.foregroundColor, t62.foregroundColor, t);
      t66 = A.lerpDouble(t56.elevation, t62.elevation, t);
      t67 = A.lerpDouble(t56.scrolledUnderElevation, t62.scrolledUnderElevation, t);
      t68 = A.Color_lerp(t56.shadowColor, t62.shadowColor, t);
      t69 = A.Color_lerp(t56.surfaceTintColor, t62.surfaceTintColor, t);
      t70 = A.ShapeBorder_lerp(t56.shape, t62.shape, t);
      t71 = A.IconThemeData_lerp(t56.iconTheme, t62.iconTheme, t);
      t72 = A.IconThemeData_lerp(t56.actionsIconTheme, t62.actionsIconTheme, t);
      t73 = A.TextTheme_lerp(t56.textTheme, t62.textTheme, t);
      if (t3)
        t74 = t56.centerTitle;
      else
        t74 = t62.centerTitle;
      t75 = A.lerpDouble(t56.titleSpacing, t62.titleSpacing, t);
      t76 = A.lerpDouble(t56.toolbarHeight, t62.toolbarHeight, t);
      t77 = A.TextStyle_lerp(t56.toolbarTextStyle, t62.toolbarTextStyle, t);
      t78 = A.TextStyle_lerp(t56.titleTextStyle, t62.titleTextStyle, t);
      if (t3)
        t79 = t56.systemOverlayStyle;
      else
        t79 = t62.systemOverlayStyle;
      if (t3)
        t56 = t56.backwardsCompatibility;
      else
        t56 = t62.backwardsCompatibility;
      t77 = A.AppBarTheme$(t72, t64, t56, t63, t74, t66, t65, t71, t67, t68, t70, t69, t79, t73, t75, t78, t76, t77);
      t76 = t1.bannerTheme;
      t78 = t2.bannerTheme;
      t56 = A.Color_lerp(t76.backgroundColor, t78.backgroundColor, t);
      t62 = A.TextStyle_lerp(t76.contentTextStyle, t78.contentTextStyle, t);
      t63 = A.lerpDouble(t76.elevation, t78.elevation, t);
      t64 = A.EdgeInsetsGeometry_lerp(t76.padding, t78.padding, t);
      t65 = A.EdgeInsetsGeometry_lerp(t76.leadingPadding, t78.leadingPadding, t);
      t66 = t1.bottomAppBarTheme;
      t67 = t2.bottomAppBarTheme;
      t68 = A.Color_lerp(t66.color, t67.color, t);
      t69 = A.lerpDouble(t66.elevation, t67.elevation, t);
      if (t3)
        t66 = t66.shape;
      else
        t66 = t67.shape;
      t67 = t1.bottomNavigationBarTheme;
      t70 = t2.bottomNavigationBarTheme;
      t71 = A.Color_lerp(t67.backgroundColor, t70.backgroundColor, t);
      t72 = A.lerpDouble(t67.elevation, t70.elevation, t);
      t73 = A.IconThemeData_lerp(t67.selectedIconTheme, t70.selectedIconTheme, t);
      t74 = A.IconThemeData_lerp(t67.unselectedIconTheme, t70.unselectedIconTheme, t);
      t75 = A.Color_lerp(t67.selectedItemColor, t70.selectedItemColor, t);
      t76 = A.Color_lerp(t67.unselectedItemColor, t70.unselectedItemColor, t);
      t78 = A.TextStyle_lerp(t67.selectedLabelStyle, t70.selectedLabelStyle, t);
      t79 = A.TextStyle_lerp(t67.unselectedLabelStyle, t70.unselectedLabelStyle, t);
      if (t3)
        t80 = t67.showSelectedLabels;
      else
        t80 = t70.showSelectedLabels;
      if (t3)
        t81 = t67.showUnselectedLabels;
      else
        t81 = t70.showUnselectedLabels;
      if (t3)
        t82 = t67.type;
      else
        t82 = t70.type;
      if (t3)
        t83 = t67.enableFeedback;
      else
        t83 = t70.enableFeedback;
      if (t3)
        t84 = t67.landscapeLayout;
      else
        t84 = t70.landscapeLayout;
      if (t3)
        t67 = t67.mouseCursor;
      else
        t67 = t70.mouseCursor;
      t70 = A.BottomSheetThemeData_lerp(t1.bottomSheetTheme, t2.bottomSheetTheme, t);
      t70.toString;
      t85 = A.ButtonBarThemeData_lerp(t1.buttonBarTheme, t2.buttonBarTheme, t);
      t85.toString;
      t86 = t3 ? t1.buttonTheme : t2.buttonTheme;
      t87 = t1.cardTheme;
      t88 = t2.cardTheme;
      if (t3)
        t89 = t87.clipBehavior;
      else
        t89 = t88.clipBehavior;
      t90 = A.Color_lerp(t87.color, t88.color, t);
      t91 = A.Color_lerp(t87.shadowColor, t88.shadowColor, t);
      t92 = A.Color_lerp(t87.surfaceTintColor, t88.surfaceTintColor, t);
      t93 = A.lerpDouble(t87.elevation, t88.elevation, t);
      t94 = A.EdgeInsetsGeometry_lerp(t87.margin, t88.margin, t);
      t87 = A.ShapeBorder_lerp(t87.shape, t88.shape, t);
      t88 = t1.checkboxTheme;
      t95 = t2.checkboxTheme;
      if (t3)
        t96 = t88.mouseCursor;
      else
        t96 = t95.mouseCursor;
      t97 = A.MaterialStateProperty_lerp(t88.fillColor, t95.fillColor, t, A.ui_Color_lerp$closure(), t20);
      t98 = A.MaterialStateProperty_lerp(t88.checkColor, t95.checkColor, t, A.ui_Color_lerp$closure(), t20);
      t99 = A.MaterialStateProperty_lerp(t88.overlayColor, t95.overlayColor, t, A.ui_Color_lerp$closure(), t20);
      t100 = A.lerpDouble(t88.splashRadius, t95.splashRadius, t);
      if (t3)
        t101 = t88.materialTapTargetSize;
      else
        t101 = t95.materialTapTargetSize;
      if (t3)
        t102 = t88.visualDensity;
      else
        t102 = t95.visualDensity;
      t103 = type$.nullable_OutlinedBorder;
      t104 = t103._as(A.ShapeBorder_lerp(t88.shape, t95.shape, t));
      t88 = A.CheckboxThemeData__lerpSides(t88.side, t95.side, t);
      t95 = A.ChipThemeData_lerp(t1.chipTheme, t2.chipTheme, t);
      t95.toString;
      t105 = t1.dataTableTheme;
      t106 = t2.dataTableTheme;
      t107 = A.Decoration_lerp(t105.decoration, t106.decoration, t);
      t108 = A.MaterialStateProperty_lerp(t105.dataRowColor, t106.dataRowColor, t, A.ui_Color_lerp$closure(), t20);
      t109 = A.lerpDouble(t105.dataRowHeight, t106.dataRowHeight, t);
      t110 = A.TextStyle_lerp(t105.dataTextStyle, t106.dataTextStyle, t);
      t111 = A.MaterialStateProperty_lerp(t105.headingRowColor, t106.headingRowColor, t, A.ui_Color_lerp$closure(), t20);
      t112 = A.lerpDouble(t105.headingRowHeight, t106.headingRowHeight, t);
      t113 = A.TextStyle_lerp(t105.headingTextStyle, t106.headingTextStyle, t);
      t114 = A.lerpDouble(t105.horizontalMargin, t106.horizontalMargin, t);
      t115 = A.lerpDouble(t105.columnSpacing, t106.columnSpacing, t);
      t116 = A.lerpDouble(t105.dividerThickness, t106.dividerThickness, t);
      t106 = A.lerpDouble(t105.checkboxHorizontalMargin, t106.checkboxHorizontalMargin, t);
      t105 = t1.dialogTheme;
      t117 = t2.dialogTheme;
      t118 = A.Color_lerp(t105.backgroundColor, t117.backgroundColor, t);
      t119 = A.lerpDouble(t105.elevation, t117.elevation, t);
      t120 = A.ShapeBorder_lerp(t105.shape, t117.shape, t);
      t121 = A.AlignmentGeometry_lerp(t105.alignment, t117.alignment, t);
      t122 = A.TextStyle_lerp(t105.titleTextStyle, t117.titleTextStyle, t);
      t105 = A.TextStyle_lerp(t105.contentTextStyle, t117.contentTextStyle, t);
      t117 = t1.dividerTheme;
      t123 = t2.dividerTheme;
      t124 = A.Color_lerp(t117.color, t123.color, t);
      t125 = A.lerpDouble(t117.space, t123.space, t);
      t126 = A.lerpDouble(t117.thickness, t123.thickness, t);
      t127 = A.lerpDouble(t117.indent, t123.indent, t);
      t117 = A.lerpDouble(t117.endIndent, t123.endIndent, t);
      t123 = A.DrawerThemeData_lerp(t1.drawerTheme, t2.drawerTheme, t);
      t123.toString;
      t128 = A.ElevatedButtonThemeData_lerp(t1.elevatedButtonTheme, t2.elevatedButtonTheme, t);
      t128.toString;
      t129 = A.ExpansionTileThemeData_lerp(t1.expansionTileTheme, t2.expansionTileTheme, t);
      t129.toString;
      t130 = A.FloatingActionButtonThemeData_lerp(t1.floatingActionButtonTheme, t2.floatingActionButtonTheme, t);
      t130.toString;
      t131 = A.ListTileThemeData_lerp(t1.listTileTheme, t2.listTileTheme, t);
      t131.toString;
      t132 = A.NavigationBarThemeData_lerp(t1.navigationBarTheme, t2.navigationBarTheme, t);
      t132.toString;
      t133 = A.NavigationRailThemeData_lerp(t1.navigationRailTheme, t2.navigationRailTheme, t);
      t133.toString;
      t134 = A.OutlinedButtonThemeData_lerp(t1.outlinedButtonTheme, t2.outlinedButtonTheme, t);
      t134.toString;
      t135 = A.PopupMenuThemeData_lerp(t1.popupMenuTheme, t2.popupMenuTheme, t);
      t135.toString;
      t136 = A.ProgressIndicatorThemeData_lerp(t1.progressIndicatorTheme, t2.progressIndicatorTheme, t);
      t136.toString;
      t137 = t1.radioTheme;
      t138 = t2.radioTheme;
      if (t3)
        t139 = t137.mouseCursor;
      else
        t139 = t138.mouseCursor;
      t140 = A.MaterialStateProperty_lerp(t137.fillColor, t138.fillColor, t, A.ui_Color_lerp$closure(), t20);
      if (t3)
        t141 = t137.materialTapTargetSize;
      else
        t141 = t138.materialTapTargetSize;
      t142 = A.MaterialStateProperty_lerp(t137.overlayColor, t138.overlayColor, t, A.ui_Color_lerp$closure(), t20);
      t143 = A.lerpDouble(t137.splashRadius, t138.splashRadius, t);
      if (t3)
        t137 = t137.visualDensity;
      else
        t137 = t138.visualDensity;
      t138 = t1.sliderTheme;
      t144 = t2.sliderTheme;
      t145 = A.lerpDouble(t138.trackHeight, t144.trackHeight, t);
      t146 = A.Color_lerp(t138.activeTrackColor, t144.activeTrackColor, t);
      t147 = A.Color_lerp(t138.inactiveTrackColor, t144.inactiveTrackColor, t);
      t148 = A.Color_lerp(t138.disabledActiveTrackColor, t144.disabledActiveTrackColor, t);
      t149 = A.Color_lerp(t138.disabledInactiveTrackColor, t144.disabledInactiveTrackColor, t);
      t150 = A.Color_lerp(t138.activeTickMarkColor, t144.activeTickMarkColor, t);
      t151 = A.Color_lerp(t138.inactiveTickMarkColor, t144.inactiveTickMarkColor, t);
      t152 = A.Color_lerp(t138.disabledActiveTickMarkColor, t144.disabledActiveTickMarkColor, t);
      t153 = A.Color_lerp(t138.disabledInactiveTickMarkColor, t144.disabledInactiveTickMarkColor, t);
      t154 = A.Color_lerp(t138.thumbColor, t144.thumbColor, t);
      t155 = A.Color_lerp(t138.overlappingShapeStrokeColor, t144.overlappingShapeStrokeColor, t);
      t156 = A.Color_lerp(t138.disabledThumbColor, t144.disabledThumbColor, t);
      t157 = A.Color_lerp(t138.overlayColor, t144.overlayColor, t);
      t158 = A.Color_lerp(t138.valueIndicatorColor, t144.valueIndicatorColor, t);
      t159 = t3 ? t138.overlayShape : t144.overlayShape;
      t160 = t3 ? t138.tickMarkShape : t144.tickMarkShape;
      t161 = t3 ? t138.thumbShape : t144.thumbShape;
      t162 = t3 ? t138.trackShape : t144.trackShape;
      t163 = t3 ? t138.valueIndicatorShape : t144.valueIndicatorShape;
      t164 = t3 ? t138.rangeTickMarkShape : t144.rangeTickMarkShape;
      t165 = t3 ? t138.rangeThumbShape : t144.rangeThumbShape;
      t166 = t3 ? t138.rangeTrackShape : t144.rangeTrackShape;
      t167 = t3 ? t138.rangeValueIndicatorShape : t144.rangeValueIndicatorShape;
      t168 = t3 ? t138.showValueIndicator : t144.showValueIndicator;
      t169 = A.TextStyle_lerp(t138.valueIndicatorTextStyle, t144.valueIndicatorTextStyle, t);
      t170 = A.lerpDouble(t138.minThumbSeparation, t144.minThumbSeparation, t);
      t171 = t3 ? t138.thumbSelector : t144.thumbSelector;
      t138 = t3 ? t138.mouseCursor : t144.mouseCursor;
      t144 = t1.snackBarTheme;
      t172 = t2.snackBarTheme;
      t173 = A.Color_lerp(t144.backgroundColor, t172.backgroundColor, t);
      t174 = A.Color_lerp(t144.actionTextColor, t172.actionTextColor, t);
      t175 = A.Color_lerp(t144.disabledActionTextColor, t172.disabledActionTextColor, t);
      t176 = A.TextStyle_lerp(t144.contentTextStyle, t172.contentTextStyle, t);
      t177 = A.lerpDouble(t144.elevation, t172.elevation, t);
      t178 = A.ShapeBorder_lerp(t144.shape, t172.shape, t);
      if (t3)
        t144 = t144.behavior;
      else
        t144 = t172.behavior;
      t172 = t1.switchTheme;
      t179 = t2.switchTheme;
      t180 = A.MaterialStateProperty_lerp(t172.thumbColor, t179.thumbColor, t, A.ui_Color_lerp$closure(), t20);
      t181 = A.MaterialStateProperty_lerp(t172.trackColor, t179.trackColor, t, A.ui_Color_lerp$closure(), t20);
      if (t3)
        t182 = t172.materialTapTargetSize;
      else
        t182 = t179.materialTapTargetSize;
      if (t3)
        t183 = t172.mouseCursor;
      else
        t183 = t179.mouseCursor;
      t20 = A.MaterialStateProperty_lerp(t172.overlayColor, t179.overlayColor, t, A.ui_Color_lerp$closure(), t20);
      t172 = A.lerpDouble(t172.splashRadius, t179.splashRadius, t);
      t179 = t1.tabBarTheme;
      t184 = t2.tabBarTheme;
      t185 = A.Decoration_lerp(t179.indicator, t184.indicator, t);
      t186 = t3 ? t179.indicatorSize : t184.indicatorSize;
      t187 = A.Color_lerp(t179.labelColor, t184.labelColor, t);
      t188 = A.EdgeInsetsGeometry_lerp(t179.labelPadding, t184.labelPadding, t);
      t189 = A.TextStyle_lerp(t179.labelStyle, t184.labelStyle, t);
      t190 = A.Color_lerp(t179.unselectedLabelColor, t184.unselectedLabelColor, t);
      t191 = A.TextStyle_lerp(t179.unselectedLabelStyle, t184.unselectedLabelStyle, t);
      t192 = t3 ? t179.splashFactory : t184.splashFactory;
      t193 = t3 ? t179.mouseCursor : t184.mouseCursor;
      t194 = A.TextButtonThemeData_lerp(t1.textButtonTheme, t2.textButtonTheme, t);
      t194.toString;
      t195 = A.TextSelectionThemeData_lerp(t1.textSelectionTheme, t2.textSelectionTheme, t);
      t195.toString;
      t196 = t1.timePickerTheme;
      t197 = t2.timePickerTheme;
      lerpedBorderSide = t196.dayPeriodBorderSide;
      t198 = lerpedBorderSide == null;
      if (t198)
        t199 = t197.dayPeriodBorderSide == null;
      else
        t199 = false;
      if (t199)
        lerpedBorderSide = null;
      else if (t198)
        lerpedBorderSide = t197.dayPeriodBorderSide;
      else {
        t198 = t197.dayPeriodBorderSide;
        if (!(t198 == null))
          lerpedBorderSide = A.BorderSide_lerp(lerpedBorderSide, t198, t);
      }
      t198 = A.Color_lerp(t196.backgroundColor, t197.backgroundColor, t);
      t199 = A.Color_lerp(t196.hourMinuteTextColor, t197.hourMinuteTextColor, t);
      t200 = A.Color_lerp(t196.hourMinuteColor, t197.hourMinuteColor, t);
      t201 = A.Color_lerp(t196.dayPeriodTextColor, t197.dayPeriodTextColor, t);
      t202 = A.Color_lerp(t196.dayPeriodColor, t197.dayPeriodColor, t);
      t203 = A.Color_lerp(t196.dialHandColor, t197.dialHandColor, t);
      t204 = A.Color_lerp(t196.dialBackgroundColor, t197.dialBackgroundColor, t);
      t205 = A.Color_lerp(t196.dialTextColor, t197.dialTextColor, t);
      t206 = A.Color_lerp(t196.entryModeIconColor, t197.entryModeIconColor, t);
      t207 = A.TextStyle_lerp(t196.hourMinuteTextStyle, t197.hourMinuteTextStyle, t);
      t208 = A.TextStyle_lerp(t196.dayPeriodTextStyle, t197.dayPeriodTextStyle, t);
      t209 = A.TextStyle_lerp(t196.helpTextStyle, t197.helpTextStyle, t);
      t210 = A.ShapeBorder_lerp(t196.shape, t197.shape, t);
      t211 = A.ShapeBorder_lerp(t196.hourMinuteShape, t197.hourMinuteShape, t);
      t103 = t103._as(A.ShapeBorder_lerp(t196.dayPeriodShape, t197.dayPeriodShape, t));
      if (t3)
        t196 = t196.inputDecorationTheme;
      else
        t196 = t197.inputDecorationTheme;
      t197 = A.ToggleButtonsThemeData_lerp(t1.toggleButtonsTheme, t2.toggleButtonsTheme, t);
      t197.toString;
      t212 = A.TooltipThemeData_lerp(t1.tooltipTheme, t2.tooltipTheme, t);
      t212.toString;
      t213 = t1._accentColor;
      t213.toString;
      t214 = t2._accentColor;
      t214.toString;
      t214 = A.Color_lerp(t213, t214, t);
      t213 = t3 ? t1._accentColorBrightness : t2._accentColorBrightness;
      t215 = A.TextTheme_lerp(t1._accentTextTheme, t2._accentTextTheme, t);
      t216 = A.IconThemeData_lerp(t1._accentIconTheme, t2._accentIconTheme, t);
      t217 = t1._buttonColor;
      t217.toString;
      t218 = t2._buttonColor;
      t218.toString;
      t218 = A.Color_lerp(t217, t218, t);
      t217 = t3 ? t1._primaryColorBrightness : t2._primaryColorBrightness;
      t1 = t3 ? t1.androidOverscrollIndicator : t2.androidOverscrollIndicator;
      return A.ThemeData$raw(t214, t213, t216, t215, t1, t77, t4, t26, new A.MaterialBannerThemeData(t56, t62, t63, t64, t65), t29, new A.BottomAppBarTheme(t68, t69, t66), new A.BottomNavigationBarThemeData(t71, t72, t73, t74, t75, t76, t78, t79, t80, t81, t82, t83, t84, t67), t70, t85, t218, t86, t30, t31, new A.CardTheme(t89, t90, t91, t92, t93, t94, t87), new A.CheckboxThemeData(t96, t97, t98, t99, t100, t101, t102, t104, t88), t95, t32, t5, new A.DataTableThemeData(t107, t108, t109, t110, t111, t112, t113, t114, t115, t116, t106), t33, new A.DialogTheme(t118, t119, t120, t121, t122, t105), t34, t35, new A.DividerThemeData(t124, t125, t126, t127, t117), t123, t128, t36, t129, t6, true, t130, t37, t38, t39, t40, t52, t41, t7, t131, t8, t132, t133, t134, t9, t10, t135, t42, t217, t43, t44, t53, t54, t136, new A.RadioThemeData(t139, t140, t142, t143, t141, t137), t45, new A.ScrollbarThemeData(t14, t15, t13, t16, t17, t18, t19, t21, t22, t23, t24, t25, t11), t46, t47, t48, new A.SliderThemeData(t145, t146, t147, t148, t149, t150, t151, t152, t153, t154, t155, t156, t157, t158, t159, t160, t161, t162, t163, t164, t165, t166, t167, t168, t169, t170, t171, t138), new A.SnackBarThemeData(t173, t174, t175, t176, t177, t178, t144), t49, t12, new A.SwitchThemeData(t180, t181, t182, t183, t20, t172), new A.TabBarTheme(t185, t186, t187, t188, t189, t190, t191, new A._LerpColors(t179.overlayColor, t184.overlayColor, t), t192, t193), t194, t195, t55, new A.TimePickerThemeData(t198, t199, t200, t201, t202, t203, t204, t205, t206, t207, t208, t209, t210, t211, t103, lerpedBorderSide, t196), t197, t50, t212, new A.Typography(t58, t59, t60, t61, t57), t51, false, new A.VisualDensity(t28, t27));
    }
  };
  A.AnimatedTheme.prototype = {
    createState$0() {
      return new A._AnimatedThemeState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedThemeState.prototype = {
    forEachTween$1(visitor) {
      var t1 = visitor.call$3(this._theme$_data, this._widget.data, new A._AnimatedThemeState_forEachTween_closure());
      t1.toString;
      this._theme$_data = type$.ThemeDataTween._as(t1);
    },
    build$1(context) {
      var t2,
        t1 = this._theme$_data;
      t1.toString;
      t2 = this.get$_implicit_animations$_animation();
      return new A.Theme(t1.transform$1(0, t2.get$value(t2)), this._widget.child, null);
    }
  };
  A._AnimatedThemeState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.ThemeDataTween(type$.ThemeData._as(value), null);
    },
    $signature: 795
  };
  A.MaterialTapTargetSize.prototype = {
    toString$0(_) {
      return "MaterialTapTargetSize." + this._core$_name;
    }
  };
  A.ThemeData.prototype = {
    extension$1$0($T) {
      return $T._eval$1("0?")._as(this.extensions.$index(0, A.createRuntimeType($T)));
    },
    extension$0() {
      return this.extension$1$0(type$.dynamic);
    },
    copyWith$20$accentColor$accentTextTheme$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme$textTheme(accentColor, accentTextTheme, backgroundColor, canvasColor, checkboxTheme, colorScheme, elevatedButtonTheme, indicatorColor, outlinedButtonTheme, primaryColor, primaryColorDark, primaryColorLight, primaryTextTheme, radioTheme, scaffoldBackgroundColor, selectedRowColor, switchTheme, textButtonTheme, textSelectionTheme, textTheme) {
      var t19, t20, t21, _this = this,
        t1 = backgroundColor == null ? _this.backgroundColor : backgroundColor,
        t2 = canvasColor == null ? _this.canvasColor : canvasColor,
        t3 = (colorScheme == null ? _this.colorScheme : colorScheme).copyWith$1$brightness(null),
        t4 = indicatorColor == null ? _this.indicatorColor : indicatorColor,
        t5 = primaryColor == null ? _this.primaryColor : primaryColor,
        t6 = primaryColorDark == null ? _this.primaryColorDark : primaryColorDark,
        t7 = primaryColorLight == null ? _this.primaryColorLight : primaryColorLight,
        t8 = scaffoldBackgroundColor == null ? _this.scaffoldBackgroundColor : scaffoldBackgroundColor,
        t9 = selectedRowColor == null ? _this.selectedRowColor : selectedRowColor,
        t10 = primaryTextTheme == null ? _this.primaryTextTheme : primaryTextTheme,
        t11 = textTheme == null ? _this.textTheme : textTheme,
        t12 = checkboxTheme == null ? _this.checkboxTheme : checkboxTheme,
        t13 = elevatedButtonTheme == null ? _this.elevatedButtonTheme : elevatedButtonTheme,
        t14 = outlinedButtonTheme == null ? _this.outlinedButtonTheme : outlinedButtonTheme,
        t15 = radioTheme == null ? _this.radioTheme : radioTheme,
        t16 = switchTheme == null ? _this.switchTheme : switchTheme,
        t17 = textButtonTheme == null ? _this.textButtonTheme : textButtonTheme,
        t18 = textSelectionTheme == null ? _this.textSelectionTheme : textSelectionTheme;
      if (accentColor == null) {
        t19 = _this._accentColor;
        t19.toString;
      } else
        t19 = accentColor;
      t20 = accentTextTheme == null ? _this._accentTextTheme : accentTextTheme;
      t21 = _this._buttonColor;
      t21.toString;
      return A.ThemeData$raw(t19, _this._accentColorBrightness, _this._accentIconTheme, t20, _this.androidOverscrollIndicator, _this.appBarTheme, _this.applyElevationOverlayColor, t1, _this.bannerTheme, _this.bottomAppBarColor, _this.bottomAppBarTheme, _this.bottomNavigationBarTheme, _this.bottomSheetTheme, _this.buttonBarTheme, t21, _this.buttonTheme, t2, _this.cardColor, _this.cardTheme, t12, _this.chipTheme, t3, _this.cupertinoOverrideTheme, _this.dataTableTheme, _this.dialogBackgroundColor, _this.dialogTheme, _this.disabledColor, _this.dividerColor, _this.dividerTheme, _this.drawerTheme, t13, _this.errorColor, _this.expansionTileTheme, _this.extensions, true, _this.floatingActionButtonTheme, _this.focusColor, _this.highlightColor, _this.hintColor, _this.hoverColor, _this.iconTheme, t4, _this.inputDecorationTheme, _this.listTileTheme, _this.materialTapTargetSize, _this.navigationBarTheme, _this.navigationRailTheme, t14, _this.pageTransitionsTheme, _this.platform, _this.popupMenuTheme, t5, _this._primaryColorBrightness, t6, t7, _this.primaryIconTheme, t10, _this.progressIndicatorTheme, t15, t8, _this.scrollbarTheme, _this.secondaryHeaderColor, t9, _this.shadowColor, _this.sliderTheme, _this.snackBarTheme, _this.splashColor, _this.splashFactory, t16, _this.tabBarTheme, t17, t18, t11, _this.timePickerTheme, _this.toggleButtonsTheme, _this.toggleableActiveColor, _this.tooltipTheme, _this.typography, _this.unselectedWidgetColor, false, _this.visualDensity);
    },
    copyWith$2$primaryTextTheme$textTheme(primaryTextTheme, textTheme) {
      return this.copyWith$20$accentColor$accentTextTheme$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme$textTheme(null, null, null, null, null, null, null, null, null, null, null, null, primaryTextTheme, null, null, null, null, null, null, textTheme);
    },
    copyWith$1$colorScheme(colorScheme) {
      return this.copyWith$20$accentColor$accentTextTheme$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme$textTheme(null, null, null, null, null, colorScheme, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$17$accentColor$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme(accentColor, backgroundColor, canvasColor, checkboxTheme, colorScheme, elevatedButtonTheme, indicatorColor, outlinedButtonTheme, primaryColor, primaryColorDark, primaryColorLight, radioTheme, scaffoldBackgroundColor, selectedRowColor, switchTheme, textButtonTheme, textSelectionTheme) {
      return this.copyWith$20$accentColor$accentTextTheme$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme$textTheme(accentColor, null, backgroundColor, canvasColor, checkboxTheme, colorScheme, elevatedButtonTheme, indicatorColor, outlinedButtonTheme, primaryColor, primaryColorDark, primaryColorLight, null, radioTheme, scaffoldBackgroundColor, selectedRowColor, switchTheme, textButtonTheme, textSelectionTheme, null);
    },
    copyWith$3$accentTextTheme$primaryTextTheme$textTheme(accentTextTheme, primaryTextTheme, textTheme) {
      return this.copyWith$20$accentColor$accentTextTheme$backgroundColor$canvasColor$checkboxTheme$colorScheme$elevatedButtonTheme$indicatorColor$outlinedButtonTheme$primaryColor$primaryColorDark$primaryColorLight$primaryTextTheme$radioTheme$scaffoldBackgroundColor$selectedRowColor$switchTheme$textButtonTheme$textSelectionTheme$textTheme(null, accentTextTheme, null, null, null, null, null, null, null, null, null, null, primaryTextTheme, null, null, null, null, null, null, textTheme);
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.ThemeData)
        if (other.applyElevationOverlayColor === _this.applyElevationOverlayColor)
          if (A.mapEquals(other.extensions, _this.extensions))
            if (other.inputDecorationTheme.$eq(0, _this.inputDecorationTheme))
              if (other.materialTapTargetSize === _this.materialTapTargetSize)
                if (other.pageTransitionsTheme.$eq(0, _this.pageTransitionsTheme))
                  if (other.platform === _this.platform)
                    if (other.scrollbarTheme.$eq(0, _this.scrollbarTheme))
                      if (other.splashFactory === _this.splashFactory)
                        if (other.visualDensity.$eq(0, _this.visualDensity))
                          if (other.backgroundColor.$eq(0, _this.backgroundColor))
                            if (other.bottomAppBarColor.$eq(0, _this.bottomAppBarColor))
                              if (other.canvasColor.$eq(0, _this.canvasColor))
                                if (other.cardColor.$eq(0, _this.cardColor))
                                  if (other.colorScheme.$eq(0, _this.colorScheme))
                                    if (other.dialogBackgroundColor.$eq(0, _this.dialogBackgroundColor))
                                      if (other.disabledColor.$eq(0, _this.disabledColor))
                                        if (other.dividerColor.$eq(0, _this.dividerColor))
                                          if (other.errorColor.$eq(0, _this.errorColor))
                                            if (other.focusColor.$eq(0, _this.focusColor))
                                              if (other.highlightColor.$eq(0, _this.highlightColor))
                                                if (other.hintColor.$eq(0, _this.hintColor))
                                                  if (other.hoverColor.$eq(0, _this.hoverColor))
                                                    if (other.indicatorColor.$eq(0, _this.indicatorColor))
                                                      if (other.primaryColor.$eq(0, _this.primaryColor))
                                                        if (other.primaryColorDark.$eq(0, _this.primaryColorDark))
                                                          if (other.primaryColorLight.$eq(0, _this.primaryColorLight))
                                                            if (other.scaffoldBackgroundColor.$eq(0, _this.scaffoldBackgroundColor))
                                                              if (other.secondaryHeaderColor.$eq(0, _this.secondaryHeaderColor))
                                                                if (other.selectedRowColor.$eq(0, _this.selectedRowColor))
                                                                  if (other.shadowColor.$eq(0, _this.shadowColor))
                                                                    if (other.splashColor.$eq(0, _this.splashColor))
                                                                      if (other.toggleableActiveColor.$eq(0, _this.toggleableActiveColor))
                                                                        if (other.unselectedWidgetColor.$eq(0, _this.unselectedWidgetColor))
                                                                          if (other.iconTheme.$eq(0, _this.iconTheme))
                                                                            if (other.primaryIconTheme.$eq(0, _this.primaryIconTheme))
                                                                              if (other.primaryTextTheme.$eq(0, _this.primaryTextTheme))
                                                                                if (other.textTheme.$eq(0, _this.textTheme))
                                                                                  if (other.typography.$eq(0, _this.typography))
                                                                                    if (other.appBarTheme.$eq(0, _this.appBarTheme))
                                                                                      if (other.bannerTheme.$eq(0, _this.bannerTheme))
                                                                                        if (other.bottomAppBarTheme.$eq(0, _this.bottomAppBarTheme))
                                                                                          if (other.bottomNavigationBarTheme.$eq(0, _this.bottomNavigationBarTheme))
                                                                                            if (other.bottomSheetTheme.$eq(0, _this.bottomSheetTheme))
                                                                                              if (other.buttonBarTheme.$eq(0, _this.buttonBarTheme))
                                                                                                if (other.buttonTheme.$eq(0, _this.buttonTheme))
                                                                                                  if (other.cardTheme.$eq(0, _this.cardTheme))
                                                                                                    if (other.checkboxTheme.$eq(0, _this.checkboxTheme))
                                                                                                      if (other.chipTheme.$eq(0, _this.chipTheme))
                                                                                                        if (other.dataTableTheme.$eq(0, _this.dataTableTheme))
                                                                                                          if (other.dialogTheme.$eq(0, _this.dialogTheme))
                                                                                                            if (other.dividerTheme.$eq(0, _this.dividerTheme))
                                                                                                              if (other.drawerTheme.$eq(0, _this.drawerTheme))
                                                                                                                if (other.elevatedButtonTheme.$eq(0, _this.elevatedButtonTheme))
                                                                                                                  if (other.expansionTileTheme.$eq(0, _this.expansionTileTheme))
                                                                                                                    if (other.floatingActionButtonTheme.$eq(0, _this.floatingActionButtonTheme))
                                                                                                                      if (other.listTileTheme.$eq(0, _this.listTileTheme))
                                                                                                                        if (other.navigationBarTheme.$eq(0, _this.navigationBarTheme))
                                                                                                                          if (other.navigationRailTheme.$eq(0, _this.navigationRailTheme))
                                                                                                                            if (other.outlinedButtonTheme.$eq(0, _this.outlinedButtonTheme))
                                                                                                                              if (other.popupMenuTheme.$eq(0, _this.popupMenuTheme))
                                                                                                                                if (other.progressIndicatorTheme.$eq(0, _this.progressIndicatorTheme))
                                                                                                                                  if (other.radioTheme.$eq(0, _this.radioTheme))
                                                                                                                                    if (other.sliderTheme.$eq(0, _this.sliderTheme))
                                                                                                                                      if (other.snackBarTheme.$eq(0, _this.snackBarTheme))
                                                                                                                                        if (other.switchTheme.$eq(0, _this.switchTheme))
                                                                                                                                          if (other.tabBarTheme.$eq(0, _this.tabBarTheme))
                                                                                                                                            if (other.textButtonTheme.$eq(0, _this.textButtonTheme))
                                                                                                                                              if (other.textSelectionTheme.$eq(0, _this.textSelectionTheme))
                                                                                                                                                if (other.timePickerTheme.$eq(0, _this.timePickerTheme))
                                                                                                                                                  if (other.toggleButtonsTheme.$eq(0, _this.toggleButtonsTheme))
                                                                                                                                                    if (other.tooltipTheme.$eq(0, _this.tooltipTheme)) {
                                                                                                                                                      t1 = other._accentColor;
                                                                                                                                                      t1.toString;
                                                                                                                                                      t2 = _this._accentColor;
                                                                                                                                                      t2.toString;
                                                                                                                                                      if (t1.$eq(0, t2))
                                                                                                                                                        if (other._accentColorBrightness === _this._accentColorBrightness)
                                                                                                                                                          if (other._accentTextTheme.$eq(0, _this._accentTextTheme))
                                                                                                                                                            if (other._accentIconTheme.$eq(0, _this._accentIconTheme)) {
                                                                                                                                                              t1 = other._buttonColor;
                                                                                                                                                              t1.toString;
                                                                                                                                                              t2 = _this._buttonColor;
                                                                                                                                                              t2.toString;
                                                                                                                                                              if (t1.$eq(0, t2))
                                                                                                                                                                t1 = other._primaryColorBrightness === _this._primaryColorBrightness && true;
                                                                                                                                                              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;
                                                                                                                                          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;
                                                                                                                      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;
                                                                                                  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;
                                                                              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;
                                                          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;
                                      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;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = [_this.applyElevationOverlayColor, _this.cupertinoOverrideTheme],
        t2 = _this.extensions;
      B.JSArray_methods.addAll$1(t1, t2.get$keys(t2));
      B.JSArray_methods.addAll$1(t1, t2.get$values(t2));
      t1.push(_this.inputDecorationTheme);
      t1.push(_this.materialTapTargetSize);
      t1.push(_this.pageTransitionsTheme);
      t1.push(_this.platform);
      t1.push(_this.scrollbarTheme);
      t1.push(_this.splashFactory);
      t1.push(false);
      t1.push(_this.visualDensity);
      t1.push(_this.backgroundColor);
      t1.push(_this.bottomAppBarColor);
      t1.push(_this.canvasColor);
      t1.push(_this.cardColor);
      t1.push(_this.colorScheme);
      t1.push(_this.dialogBackgroundColor);
      t1.push(_this.disabledColor);
      t1.push(_this.dividerColor);
      t1.push(_this.errorColor);
      t1.push(_this.focusColor);
      t1.push(_this.highlightColor);
      t1.push(_this.hintColor);
      t1.push(_this.hoverColor);
      t1.push(_this.indicatorColor);
      t1.push(_this.primaryColor);
      t1.push(_this.primaryColorDark);
      t1.push(_this.primaryColorLight);
      t1.push(_this.scaffoldBackgroundColor);
      t1.push(_this.secondaryHeaderColor);
      t1.push(_this.selectedRowColor);
      t1.push(_this.shadowColor);
      t1.push(_this.splashColor);
      t1.push(_this.toggleableActiveColor);
      t1.push(_this.unselectedWidgetColor);
      t1.push(_this.iconTheme);
      t1.push(_this.primaryIconTheme);
      t1.push(_this.primaryTextTheme);
      t1.push(_this.textTheme);
      t1.push(_this.typography);
      t1.push(_this.appBarTheme);
      t1.push(_this.bannerTheme);
      t1.push(_this.bottomAppBarTheme);
      t1.push(_this.bottomNavigationBarTheme);
      t1.push(_this.bottomSheetTheme);
      t1.push(_this.buttonBarTheme);
      t1.push(_this.buttonTheme);
      t1.push(_this.cardTheme);
      t1.push(_this.checkboxTheme);
      t1.push(_this.chipTheme);
      t1.push(_this.dataTableTheme);
      t1.push(_this.dialogTheme);
      t1.push(_this.dividerTheme);
      t1.push(_this.drawerTheme);
      t1.push(_this.elevatedButtonTheme);
      t1.push(_this.expansionTileTheme);
      t1.push(_this.floatingActionButtonTheme);
      t1.push(_this.listTileTheme);
      t1.push(_this.navigationBarTheme);
      t1.push(_this.navigationRailTheme);
      t1.push(_this.outlinedButtonTheme);
      t1.push(_this.popupMenuTheme);
      t1.push(_this.progressIndicatorTheme);
      t1.push(_this.radioTheme);
      t1.push(_this.sliderTheme);
      t1.push(_this.snackBarTheme);
      t1.push(_this.switchTheme);
      t1.push(_this.tabBarTheme);
      t1.push(_this.textButtonTheme);
      t1.push(_this.textSelectionTheme);
      t1.push(_this.timePickerTheme);
      t1.push(_this.toggleButtonsTheme);
      t1.push(_this.tooltipTheme);
      t2 = _this._accentColor;
      t2.toString;
      t1.push(t2);
      t1.push(_this._accentColorBrightness);
      t1.push(_this._accentTextTheme);
      t1.push(_this._accentIconTheme);
      t2 = _this._buttonColor;
      t2.toString;
      t1.push(t2);
      t1.push(true);
      t1.push(_this._primaryColorBrightness);
      t1.push(_this.androidOverscrollIndicator);
      return A.Object_hashAll(t1);
    }
  };
  A.ThemeData_localize_closure.prototype = {
    call$0() {
      var t1 = this.baseTheme,
        t2 = this.localTextGeometry,
        t3 = t2.merge$1(t1.primaryTextTheme);
      return t1.copyWith$3$accentTextTheme$primaryTextTheme$textTheme(t2.merge$1(t1._accentTextTheme), t3, t2.merge$1(t1.textTheme));
    },
    $signature: 797
  };
  A.ThemeData__lerpThemeExtensions_closure.prototype = {
    call$2(id, extensionA) {
      return new A.MapEntry(id, extensionA.lerp$2(this.b.extensions.$index(0, id), this.t), type$.MapEntry_of_Object_and_ThemeExtension_dynamic);
    },
    $signature: 798
  };
  A.ThemeData__lerpThemeExtensions_closure0.prototype = {
    call$1(entry) {
      return !this.a.extensions.containsKey$1(0, entry.get$key(entry));
    },
    $signature: 799
  };
  A.MaterialBasedCupertinoThemeData.prototype = {
    get$brightness() {
      var t1 = this._cupertinoOverrideTheme.brightness;
      return t1 == null ? this._materialTheme.colorScheme.brightness : t1;
    },
    get$primaryColor() {
      var t1 = this._cupertinoOverrideTheme.primaryColor;
      return t1 == null ? this._materialTheme.colorScheme.primary : t1;
    },
    get$primaryContrastingColor() {
      var t1 = this._cupertinoOverrideTheme.primaryContrastingColor;
      return t1 == null ? this._materialTheme.colorScheme.onPrimary : t1;
    },
    get$scaffoldBackgroundColor() {
      var t1 = this._cupertinoOverrideTheme.scaffoldBackgroundColor;
      return t1 == null ? this._materialTheme.scaffoldBackgroundColor : t1;
    },
    resolveFrom$1(context) {
      return A.MaterialBasedCupertinoThemeData$_(this._materialTheme, this._cupertinoOverrideTheme.resolveFrom$1(context));
    }
  };
  A._IdentityThemeDataCacheKey.prototype = {
    get$hashCode(_) {
      return (A.objectHashCode(this.baseTheme) ^ A.objectHashCode(this.localTextGeometry)) >>> 0;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A._IdentityThemeDataCacheKey && other.baseTheme === this.baseTheme && other.localTextGeometry === this.localTextGeometry;
    }
  };
  A._FifoCache.prototype = {
    putIfAbsent$2(_, key, loader) {
      var t2,
        t1 = this._theme_data$_cache,
        result = t1.$index(0, key);
      if (result != null)
        return result;
      if (t1._length === this._maximumSize) {
        t2 = new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>"));
        t1.remove$1(0, t2.get$first(t2));
      }
      t2 = loader.call$0();
      t1.$indexSet(0, key, t2);
      return t2;
    }
  };
  A.VisualDensity.prototype = {
    effectiveConstraints$1(constraints) {
      var t1 = this.horizontal,
        t2 = this.vertical,
        t3 = A.clampDouble(constraints.minWidth + new A.Offset(t1, t2).$mul(0, 4)._dx, 0, constraints.maxWidth);
      return constraints.copyWith$2$minHeight$minWidth(A.clampDouble(constraints.minHeight + new A.Offset(t1, t2).$mul(0, 4)._dy, 0, constraints.maxHeight), t3);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.VisualDensity && other.horizontal === this.horizontal && other.vertical === this.vertical;
    },
    get$hashCode(_) {
      return A.Object_hash(this.horizontal, this.vertical, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toStringShort$0() {
      return this.super$Diagnosticable$toStringShort() + "(h: " + A.debugFormatDouble(this.horizontal) + ", v: " + A.debugFormatDouble(this.vertical) + ")";
    }
  };
  A._ThemeData_Object_Diagnosticable.prototype = {};
  A._VisualDensity_Object_Diagnosticable.prototype = {};
  A.TimePickerThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.backgroundColor, _this.hourMinuteTextColor, _this.hourMinuteColor, _this.dayPeriodTextColor, _this.dayPeriodColor, _this.dialHandColor, _this.dialBackgroundColor, _this.dialTextColor, _this.entryModeIconColor, _this.hourMinuteTextStyle, _this.dayPeriodTextStyle, _this.helpTextStyle, _this.shape, _this.hourMinuteShape, _this.dayPeriodShape, _this.dayPeriodBorderSide, _this.inputDecorationTheme, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.TimePickerThemeData && J.$eq$(other.backgroundColor, _this.backgroundColor) && J.$eq$(other.hourMinuteTextColor, _this.hourMinuteTextColor) && J.$eq$(other.hourMinuteColor, _this.hourMinuteColor) && J.$eq$(other.dayPeriodTextColor, _this.dayPeriodTextColor) && J.$eq$(other.dayPeriodColor, _this.dayPeriodColor) && J.$eq$(other.dialHandColor, _this.dialHandColor) && J.$eq$(other.dialBackgroundColor, _this.dialBackgroundColor) && J.$eq$(other.dialTextColor, _this.dialTextColor) && J.$eq$(other.entryModeIconColor, _this.entryModeIconColor) && J.$eq$(other.hourMinuteTextStyle, _this.hourMinuteTextStyle) && J.$eq$(other.dayPeriodTextStyle, _this.dayPeriodTextStyle) && J.$eq$(other.helpTextStyle, _this.helpTextStyle) && J.$eq$(other.shape, _this.shape) && J.$eq$(other.hourMinuteShape, _this.hourMinuteShape) && J.$eq$(other.dayPeriodShape, _this.dayPeriodShape) && J.$eq$(other.dayPeriodBorderSide, _this.dayPeriodBorderSide) && true;
    }
  };
  A._TimePickerThemeData_Object_Diagnosticable.prototype = {};
  A.ToggleButtons.prototype = {
    _isFirstButton$3(index, $length, textDirection) {
      var t1;
      if (index === 0)
        if (textDirection !== B.TextDirection_1)
          t1 = false;
        else
          t1 = true;
      else
        t1 = false;
      if (!t1)
        if (index === $length - 1)
          if (textDirection !== B.TextDirection_0)
            t1 = false;
          else
            t1 = true;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    _isLastButton$3(index, $length, textDirection) {
      var t1;
      if (index === $length - 1)
        if (textDirection !== B.TextDirection_1)
          t1 = false;
        else
          t1 = true;
      else
        t1 = false;
      if (!t1)
        if (index === 0)
          if (textDirection !== B.TextDirection_0)
            t1 = false;
          else
            t1 = true;
        else
          t1 = false;
      else
        t1 = true;
      return t1;
    },
    _getEdgeBorderRadius$4(index, $length, textDirection, toggleButtonsTheme) {
      var resultingBorderRadius = this.borderRadius;
      if ($length === 1)
        return resultingBorderRadius;
      else if (this._isFirstButton$3(index, $length, textDirection))
        return new A.BorderRadius(resultingBorderRadius.topLeft, B.Radius_0_0, resultingBorderRadius.bottomLeft, B.Radius_0_0);
      else if (this._isLastButton$3(index, $length, textDirection))
        return new A.BorderRadius(B.Radius_0_0, resultingBorderRadius.topRight, B.Radius_0_0, resultingBorderRadius.bottomRight);
      return B.BorderRadius_tLn;
    },
    _getClipBorderRadius$4(index, $length, textDirection, toggleButtonsTheme) {
      var t1, t2, t3,
        resultingBorderRadius = this.borderRadius,
        resultingBorderWidth = toggleButtonsTheme.borderWidth;
      if (resultingBorderWidth == null)
        resultingBorderWidth = 1;
      if ($length === 1) {
        t1 = resultingBorderWidth / 2;
        t2 = resultingBorderRadius.topLeft.$sub(0, new A.Radius(t1, t1));
        t3 = resultingBorderRadius.bottomLeft.$sub(0, new A.Radius(t1, t1));
        return new A.BorderRadius(t2, resultingBorderRadius.topRight.$sub(0, new A.Radius(t1, t1)), t3, resultingBorderRadius.bottomRight.$sub(0, new A.Radius(t1, t1)));
      } else if (this._isFirstButton$3(index, $length, textDirection)) {
        t1 = resultingBorderWidth / 2;
        return new A.BorderRadius(resultingBorderRadius.topLeft.$sub(0, new A.Radius(t1, t1)), B.Radius_0_0, resultingBorderRadius.bottomLeft.$sub(0, new A.Radius(t1, t1)), B.Radius_0_0);
      } else if (this._isLastButton$3(index, $length, textDirection)) {
        t1 = resultingBorderWidth / 2;
        return new A.BorderRadius(B.Radius_0_0, resultingBorderRadius.topRight.$sub(0, new A.Radius(t1, t1)), B.Radius_0_0, resultingBorderRadius.bottomRight.$sub(0, new A.Radius(t1, t1)));
      }
      return B.BorderRadius_tLn;
    },
    _getLeadingBorderSide$3(index, theme, toggleButtonsTheme) {
      var t1, t2,
        resultingBorderWidth = toggleButtonsTheme.borderWidth;
      if (resultingBorderWidth == null)
        resultingBorderWidth = 1;
      t1 = this.onPressed != null;
      if (t1) {
        t2 = this.isSelected;
        if (!t2[index])
          t2 = index !== 0 && t2[index - 1];
        else
          t2 = true;
      } else
        t2 = false;
      if (t2) {
        t1 = toggleButtonsTheme.selectedBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      } else if (t1 && !this.isSelected[index]) {
        t1 = toggleButtonsTheme.borderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      } else {
        t1 = toggleButtonsTheme.disabledBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      }
    },
    _getBorderSide$3(index, theme, toggleButtonsTheme) {
      var t1,
        resultingBorderWidth = toggleButtonsTheme.borderWidth;
      if (resultingBorderWidth == null)
        resultingBorderWidth = 1;
      t1 = this.onPressed != null;
      if (t1 && this.isSelected[index]) {
        t1 = toggleButtonsTheme.selectedBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      } else if (t1 && !this.isSelected[index]) {
        t1 = toggleButtonsTheme.borderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      } else {
        t1 = toggleButtonsTheme.disabledBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      }
    },
    _getTrailingBorderSide$3(index, theme, toggleButtonsTheme) {
      var resultingBorderWidth, t1, _this = this;
      if (index !== _this.children.length - 1)
        return B.BorderSide_aLd;
      resultingBorderWidth = toggleButtonsTheme.borderWidth;
      if (resultingBorderWidth == null)
        resultingBorderWidth = 1;
      t1 = _this.onPressed != null;
      if (t1 && _this.isSelected[index]) {
        t1 = toggleButtonsTheme.selectedBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      } else if (t1 && !_this.isSelected[index]) {
        t1 = toggleButtonsTheme.borderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      } else {
        t1 = toggleButtonsTheme.disabledBorderColor;
        if (t1 == null) {
          t1 = theme.colorScheme.onSurface.value;
          t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
        }
        return new A.BorderSide(t1, resultingBorderWidth, B.BorderStyle_1, B.StrokeAlign_0);
      }
    },
    build$1(context) {
      var t1, t2, buttons, _null = null,
        theme = A.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.ToggleButtonsTheme);
      t1 = A.Theme_of(context);
      t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      buttons = A.List_List$generate(this.children.length, new A.ToggleButtons_build_closure(this, t2.textDirection, t1.toggleButtonsTheme, theme), true, type$.Widget);
      return new A.IntrinsicHeight(A.Row$(buttons, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_0, _null, _null), _null);
    }
  };
  A.ToggleButtons_build_closure.prototype = {
    call$1(index) {
      var leadingBorderSide, borderSide, trailingBorderSide, t5, t6, t7, effectiveFillColor, currentColor, currentTextStyle, currentConstraints, minPaddingSize, t8, t9, t10, button, _this = this, _null = null,
        t1 = _this.$this,
        t2 = t1.children,
        t3 = _this.textDirection,
        t4 = _this.toggleButtonsTheme,
        edgeBorderRadius = t1._getEdgeBorderRadius$4(index, t2.length, t3, t4),
        clipBorderRadius = t1._getClipBorderRadius$4(index, t2.length, t3, t4);
      t3 = _this.theme;
      leadingBorderSide = t1._getLeadingBorderSide$3(index, t3, t4);
      borderSide = t1._getBorderSide$3(index, t3, t4);
      trailingBorderSide = t1._getTrailingBorderSide$3(index, t3, t4);
      t5 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      t6 = t1.isSelected;
      if (t6[index] && t1.onPressed != null)
        t5.add$1(0, B.MaterialState_4);
      t7 = t1.onPressed == null;
      if (t7)
        t5.add$1(0, B.MaterialState_6);
      effectiveFillColor = new A._ResolveFillColor(t1.fillColor).resolve$1(t5);
      if (effectiveFillColor == null)
        effectiveFillColor = new A._DefaultFillColor(t3.colorScheme).resolve$1(t5);
      t5 = !t7;
      if (t5 && t6[index])
        currentColor = t1.selectedColor;
      else if (t5 && !t6[index])
        currentColor = t1.color;
      else {
        currentColor = t4.disabledColor;
        if (currentColor == null) {
          t7 = t3.colorScheme.onSurface.value;
          currentColor = A.Color$fromARGB(97, t7 >>> 16 & 255, t7 >>> 8 & 255, t7 & 255);
        }
      }
      t7 = t1.textStyle;
      currentTextStyle = t7 == null ? t4.textStyle : t7;
      if (currentTextStyle == null) {
        t7 = t3.textTheme.bodyMedium;
        t7.toString;
        currentTextStyle = t7;
      }
      currentConstraints = t1.constraints;
      switch (t3.materialTapTargetSize.index) {
        case 0:
          minPaddingSize = B.Size_0_48;
          break;
        case 1:
          minPaddingSize = B.Size_0_0;
          break;
        default:
          minPaddingSize = _null;
      }
      t7 = t2.length;
      t8 = type$.MaterialStatePropertyAll_nullable_Color;
      t9 = t5 && t6[index];
      t6 = t5 && !t6[index];
      t10 = type$.MaterialStatePropertyAll_nullable_Size;
      t4 = A.ButtonStyle$(B.Alignment_0_0, B.Duration_200000, new A.MaterialStatePropertyAll(effectiveFillColor, t8), B.MaterialStatePropertyAll_0, true, _null, new A.MaterialStatePropertyAll(currentColor, t8), new A.MaterialStatePropertyAll(new A.Size(currentConstraints.maxWidth, currentConstraints.maxHeight), t10), new A.MaterialStatePropertyAll(new A.Size(currentConstraints.minWidth, currentConstraints.minHeight), t10), new A.MaterialStatePropertyAll(_null, type$.MaterialStatePropertyAll_nullable_MouseCursor), new A._ToggleButtonDefaultOverlay(t9, t6, t3.colorScheme, t4.focusColor, t4.highlightColor, t4.hoverColor, t4.splashColor), B.MaterialStatePropertyAll_rXZ, _null, B.MaterialStatePropertyAll_2LR, _null, B.C__InkRippleFactory, _null, B.MaterialTapTargetSize_1, new A.MaterialStatePropertyAll(currentTextStyle.copyWith$1$color(currentColor), type$.MaterialStatePropertyAll_nullable_TextStyle), B.VisualDensity_0_0);
      t1 = t5 ? new A.ToggleButtons_build__closure(t1, index) : _null;
      button = A.Center$(new A._SelectToggleButton(leadingBorderSide, borderSide, trailingBorderSide, edgeBorderRadius, index === 0, index === t7 - 1, B.Axis_0, B.VerticalDirection_1, A.ClipRRect$(clipBorderRadius, A.TextButton$(t2[index], _null, t1, t4), B.Clip_2), _null), _null, _null, _null);
      return new A.MergeSemantics(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true, false, false, new A._InputPadding1(minPaddingSize, B.Axis_0, button, _null), _null), _null);
    },
    $signature: 800
  };
  A.ToggleButtons_build__closure.prototype = {
    call$0() {
      this.$this.onPressed.call$1(this.index);
    },
    $signature: 0
  };
  A._ResolveFillColor.prototype = {
    resolve$1(states) {
      return states.contains$1(0, B.MaterialState_4) ? this.primary : null;
    }
  };
  A._DefaultFillColor.prototype = {
    resolve$1(states) {
      var t1;
      if (states.contains$1(0, B.MaterialState_4)) {
        t1 = this.colorScheme.primary;
        return A.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
      }
      t1 = this.colorScheme.surface.value;
      return A.Color$fromARGB(0, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
    }
  };
  A._ToggleButtonDefaultOverlay.prototype = {
    resolve$1(states) {
      var t1, _this = this;
      if (_this.selected) {
        if (states.contains$1(0, B.MaterialState_0)) {
          t1 = _this.hoverColor;
          if (t1 == null) {
            t1 = _this.colorScheme.primary;
            t1 = A.Color$fromARGB(10, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          return t1;
        } else if (states.contains$1(0, B.MaterialState_1)) {
          t1 = _this.focusColor;
          if (t1 == null) {
            t1 = _this.colorScheme.primary;
            t1 = A.Color$fromARGB(31, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          return t1;
        } else if (states.contains$1(0, B.MaterialState_2)) {
          t1 = _this.splashColor;
          if (t1 == null) {
            t1 = _this.colorScheme.primary;
            t1 = A.Color$fromARGB(41, t1.get$value(t1) >>> 16 & 255, t1.get$value(t1) >>> 8 & 255, t1.get$value(t1) & 255);
          }
          return t1;
        }
      } else if (_this.unselected)
        if (states.contains$1(0, B.MaterialState_0)) {
          t1 = _this.hoverColor;
          if (t1 == null) {
            t1 = _this.colorScheme.onSurface.value;
            t1 = A.Color$fromARGB(10, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          }
          return t1;
        } else if (states.contains$1(0, B.MaterialState_1)) {
          t1 = _this.focusColor;
          if (t1 == null) {
            t1 = _this.colorScheme.onSurface.value;
            t1 = A.Color$fromARGB(31, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          }
          return t1;
        } else if (states.contains$1(0, B.MaterialState_2)) {
          t1 = _this.splashColor;
          if (t1 == null)
            t1 = _this.highlightColor;
          if (t1 == null) {
            t1 = _this.colorScheme.onSurface.value;
            t1 = A.Color$fromARGB(41, t1 >>> 16 & 255, t1 >>> 8 & 255, t1 & 255);
          }
          return t1;
        }
      return null;
    },
    toString$0(_) {
      var t6, t7, t8, t9, t10, t11, t12, t13, t14, _this = this,
        _s19_ = ",\n        focused: ",
        _s19_0 = ",\n        pressed: ",
        t1 = _this.hoverColor,
        t2 = A.S(t1),
        t3 = _this.colorScheme,
        t4 = t3.primary,
        t5 = A.Color$fromARGB(10, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255);
      t5 = t5.toString$0(0);
      t6 = _this.focusColor;
      t7 = A.S(t6);
      t8 = A.Color$fromARGB(31, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255);
      t8 = t8.toString$0(0);
      t9 = _this.splashColor;
      t10 = A.S(t9);
      t4 = A.Color$fromARGB(41, t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255);
      t4 = t4.toString$0(0);
      t1 = A.S(t1);
      t3 = t3.onSurface.value;
      t11 = t3 >>> 16 & 255;
      t12 = t3 >>> 8 & 255;
      t3 &= 255;
      t13 = A.Color$fromARGB(10, t11, t12, t3);
      t13 = t13.toString$0(0);
      t6 = A.S(t6);
      t14 = A.Color$fromARGB(31, t11, t12, t3);
      t14 = t14.toString$0(0);
      t9 = A.S(t9);
      t3 = A.Color$fromARGB(41, t11, t12, t3);
      return "    {\n      selected:\n        hovered: " + t2 + ", otherwise: " + t5 + _s19_ + t7 + ", otherwise: " + t8 + _s19_0 + t10 + ", otherwise: " + t4 + ",\n      unselected:\n        hovered: " + t1 + ", otherwise: " + t13 + _s19_ + t6 + ", otherwise: " + t14 + _s19_0 + t9 + ", otherwise: " + t3.toString$0(0) + ",\n      otherwise: null,\n    }\n    ";
    }
  };
  A._SelectToggleButton.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new A._SelectToggleButtonRenderObject(_this.direction, _this.verticalDirection, _this.leadingBorderSide, _this.borderSide, _this.trailingBorderSide, _this.borderRadius, _this.isFirstButton, _this.isLastButton, t1.textDirection, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1, _this = this;
      renderObject.set$leadingBorderSide(_this.leadingBorderSide);
      renderObject.set$borderSide(_this.borderSide);
      renderObject.set$trailingBorderSide(_this.trailingBorderSide);
      renderObject.set$borderRadius(0, _this.borderRadius);
      renderObject.set$isFirstButton(_this.isFirstButton);
      renderObject.set$isLastButton(_this.isLastButton);
      renderObject.set$direction(0, _this.direction);
      renderObject.set$verticalDirection(_this.verticalDirection);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
    }
  };
  A._SelectToggleButtonRenderObject.prototype = {
    set$direction(_, value) {
      if (this._toggle_buttons$_direction === value)
        return;
      this._toggle_buttons$_direction = value;
      this.markNeedsLayout$0();
    },
    set$verticalDirection(value) {
      if (this._toggle_buttons$_verticalDirection === value)
        return;
      this._toggle_buttons$_verticalDirection = value;
      this.markNeedsLayout$0();
    },
    set$leadingBorderSide(value) {
      if (this._leadingBorderSide.$eq(0, value))
        return;
      this._leadingBorderSide = value;
      this.markNeedsLayout$0();
    },
    set$borderSide(value) {
      if (this._borderSide.$eq(0, value))
        return;
      this._borderSide = value;
      this.markNeedsLayout$0();
    },
    set$trailingBorderSide(value) {
      if (this._trailingBorderSide.$eq(0, value))
        return;
      this._trailingBorderSide = value;
      this.markNeedsLayout$0();
    },
    set$borderRadius(_, value) {
      if (this._toggle_buttons$_borderRadius.$eq(0, value))
        return;
      this._toggle_buttons$_borderRadius = value;
      this.markNeedsLayout$0();
    },
    set$isFirstButton(value) {
      if (this._isFirstButton === value)
        return;
      this._isFirstButton = value;
      this.markNeedsLayout$0();
    },
    set$isLastButton(value) {
      if (this._isLastButton === value)
        return;
      this._isLastButton = value;
      this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      if (this._toggle_buttons$_textDirection === value)
        return;
      this._toggle_buttons$_textDirection = value;
      this.markNeedsLayout$0();
    },
    computeDistanceToActualBaseline$1(baseline) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === B.Axis_0) {
        t1 = t2.computeDistanceToActualBaseline$1(baseline);
        t1.toString;
        t1 += _this._borderSide.width;
      } else {
        t1 = t2.computeDistanceToActualBaseline$1(baseline);
        t1.toString;
        t1 += _this._leadingBorderSide.width;
      }
      return t1;
    },
    computeMaxIntrinsicHeight$1(width) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === B.Axis_0) {
        t1 = _this._borderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t2.get$computeMaxIntrinsicHeight());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      } else {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t2.get$computeMaxIntrinsicHeight());
        t2 = t1.width + t2 + _this._trailingBorderSide.width;
        t1 = t2;
      }
      return t1;
    },
    computeMinIntrinsicHeight$1(width) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === B.Axis_0) {
        t1 = _this._borderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t2.get$computeMinIntrinsicHeight());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      } else {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t2.get$computeMaxIntrinsicHeight());
        t2 = t1.width + t2 + _this._trailingBorderSide.width;
        t1 = t2;
      }
      return t1;
    },
    computeMaxIntrinsicWidth$1(height) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === B.Axis_0) {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth());
        t2 = t1.width + t2 + _this._trailingBorderSide.width;
        t1 = t2;
      } else {
        t1 = _this._borderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t2.get$computeMaxIntrinsicWidth());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      }
      return t1;
    },
    computeMinIntrinsicWidth$1(height) {
      var _this = this,
        t1 = _this._toggle_buttons$_direction,
        t2 = _this.RenderObjectWithChildMixin__child;
      if (t1 === B.Axis_0) {
        t1 = _this._leadingBorderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth());
        t2 = t1.width + t2 + _this._trailingBorderSide.width;
        t1 = t2;
      } else {
        t1 = _this._borderSide;
        t2 = t2 == null ? 0 : t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t2.get$computeMinIntrinsicWidth());
        t2 = t1.width * 2 + t2;
        t1 = t2;
      }
      return t1;
    },
    computeDryLayout$1(constraints) {
      return this._toggle_buttons$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      var t1, _this = this;
      _this._box$_size = _this._toggle_buttons$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return;
      t1 = t1.parentData;
      t1.toString;
      type$.BoxParentData._as(t1);
      if (_this._toggle_buttons$_direction === B.Axis_0)
        switch (_this._toggle_buttons$_textDirection.index) {
          case 1:
            t1.offset = new A.Offset(_this._leadingBorderSide.width, _this._borderSide.width);
            break;
          case 0:
            t1.offset = new A.Offset(_this._trailingBorderSide.width, _this._borderSide.width);
            break;
        }
      else
        switch (_this._toggle_buttons$_verticalDirection.index) {
          case 1:
            t1.offset = new A.Offset(_this._borderSide.width, _this._leadingBorderSide.width);
            break;
          case 0:
            t1.offset = new A.Offset(_this._borderSide.width, _this._trailingBorderSide.width);
            break;
        }
    },
    _toggle_buttons$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var t1, t2, t3, t4, rightConstraint, leftConstraint, topConstraint, bottomConstraint, t0, innerConstraints, childSize, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null) {
        t1 = _this._toggle_buttons$_direction;
        t2 = _this._leadingBorderSide.width;
        t3 = _this._trailingBorderSide.width;
        t4 = _this._borderSide.width;
        if (t1 === B.Axis_0)
          return constraints.constrain$1(new A.Size(t2 + t3, t4 * 2));
        else
          return constraints.constrain$1(new A.Size(t4 * 2, t2 + t3));
      }
      t1 = _this._toggle_buttons$_direction;
      rightConstraint = _this._trailingBorderSide.width;
      leftConstraint = _this._leadingBorderSide.width;
      topConstraint = _this._borderSide.width;
      if (t1 === B.Axis_0)
        bottomConstraint = topConstraint;
      else {
        bottomConstraint = rightConstraint;
        rightConstraint = topConstraint;
        topConstraint = leftConstraint;
        leftConstraint = rightConstraint;
        t0 = rightConstraint;
        rightConstraint = leftConstraint;
        t0 = leftConstraint;
      }
      innerConstraints = constraints.deflate$1(new A.EdgeInsets(leftConstraint, topConstraint, rightConstraint, bottomConstraint));
      t1 = _this.RenderObjectWithChildMixin__child;
      t1.toString;
      childSize = layoutChild.call$2(t1, innerConstraints);
      return constraints.constrain$1(new A.Size(leftConstraint + childSize._dx + rightConstraint, topConstraint + childSize._dy + bottomConstraint));
    },
    paint$2(context, offset) {
      var bottomRight, t1, t2, startX, t3, center, t4, t5, t6, t7, rrect, tlCorner, t8, t9, t10, t11, t12, blCorner, t13, t14, t15, trCorner, t16, t17, t18, t19, brCorner, leadingPaint, leadingPath, leftPath, endingPaint, endingPath, horizontalPaint, horizontalPaths, topPath, paint, paths, bottomPath, _this = this;
      _this.super$RenderShiftedBox$paint(context, offset);
      bottomRight = _this._box$_size.bottomRight$1(0, offset);
      t1 = offset._dx;
      t2 = offset._dy;
      startX = bottomRight._dx;
      t3 = bottomRight._dy;
      center = new A.Rect(t1, t2, startX, t3).inflate$1(-(_this._borderSide.width / 2));
      t4 = _this._toggle_buttons$_borderRadius;
      t5 = t4.topLeft;
      t5 = t5.x * t5.y !== 0 ? t5 : B.Radius_0_0;
      t6 = t4.topRight;
      t6 = t6.x * t6.y !== 0 ? t6 : B.Radius_0_0;
      t7 = t4.bottomLeft;
      t7 = t7.x * t7.y !== 0 ? t7 : B.Radius_0_0;
      t4 = t4.bottomRight;
      rrect = A.RRect$fromRectAndCorners(center, t7, t4.x * t4.y !== 0 ? t4 : B.Radius_0_0, t5, t6).scaleRadii$0();
      t4 = rrect.left;
      t5 = rrect.top;
      t6 = rrect.tlRadiusX;
      t7 = rrect.tlRadiusY;
      tlCorner = new A.Rect(t4, t5, t4 + t6 * 2, t5 + t7 * 2);
      t8 = rrect.bottom;
      t9 = rrect.blRadiusY;
      t10 = t9 * 2;
      t11 = t8 - t10;
      t12 = rrect.blRadiusX;
      blCorner = new A.Rect(t4, t11, t4 + t12 * 2, t11 + t10);
      t10 = rrect.right;
      t11 = rrect.trRadiusX;
      t13 = t11 * 2;
      t14 = t10 - t13;
      t15 = rrect.trRadiusY;
      trCorner = new A.Rect(t14, t5, t14 + t13, t5 + t15 * 2);
      t13 = rrect.brRadiusX;
      t14 = t13 * 2;
      t16 = t10 - t14;
      t17 = rrect.brRadiusY;
      t18 = t17 * 2;
      t19 = t8 - t18;
      brCorner = new A.Rect(t16, t19, t16 + t14, t19 + t18);
      leadingPaint = _this._leadingBorderSide.toPaint$0();
      t14 = _this._isFirstButton;
      if (t14 && _this._isLastButton) {
        leadingPath = A.Path_Path();
        leadingPath.moveTo$2(0, t13 === 0 ? startX : t10 - t13, t8);
        leadingPath.lineTo$2(0, t4 + t12, t8);
        leadingPath.addArc$3(blCorner, 1.5707963267948966, 1.5707963267948966);
        leadingPath.lineTo$2(0, t4, t5 + t7);
        leadingPath.addArc$3(tlCorner, 3.141592653589793, 1.5707963267948966);
        leadingPath.lineTo$2(0, t10 - t11, t5);
        leadingPath.addArc$3(trCorner, 4.71238898038469, 1.5707963267948966);
        leadingPath.lineTo$2(0, t10, t8 - t17);
        leadingPath.addArc$3(brCorner, 0, 1.5707963267948966);
        context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
        return;
      }
      if (_this._toggle_buttons$_direction === B.Axis_0)
        switch (_this._toggle_buttons$_textDirection.index) {
          case 1:
            if (_this._isLastButton) {
              leftPath = A.Path_Path();
              leftPath.moveTo$2(0, t4, t8 + _this._leadingBorderSide.width / 2);
              leftPath.lineTo$2(0, t4, t5 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(leftPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = A.Path_Path();
              endingPath.moveTo$2(0, t4 + _this._borderSide.width / 2, t5);
              endingPath.lineTo$2(0, t10 - t11, t5);
              endingPath.addArc$3(trCorner, 4.71238898038469, 1.5707963267948966);
              endingPath.lineTo$2(0, t10, t8 - t17);
              endingPath.addArc$3(brCorner, 0, 1.5707963267948966);
              endingPath.lineTo$2(0, t4 + _this._borderSide.width / 2, t8);
              context.get$canvas(context).drawPath$2(endingPath, endingPaint);
            } else if (t14) {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, startX, t8);
              leadingPath.lineTo$2(0, t4 + t12, t8);
              leadingPath.addArc$3(blCorner, 1.5707963267948966, 1.5707963267948966);
              leadingPath.lineTo$2(0, t4, t5 + t7);
              leadingPath.addArc$3(tlCorner, 3.141592653589793, 1.5707963267948966);
              leadingPath.lineTo$2(0, startX, t5);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
            } else {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, t4, t8 + _this._leadingBorderSide.width / 2);
              leadingPath.lineTo$2(0, t4, t5 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
              horizontalPaint = _this._borderSide.toPaint$0();
              horizontalPaths = A.Path_Path();
              horizontalPaths.moveTo$2(0, t4 + _this._borderSide.width / 2, t5);
              t1 = startX - t11;
              horizontalPaths.lineTo$2(0, t1, t5);
              horizontalPaths.moveTo$2(0, t4 + _this._borderSide.width / 2 + t6, t8);
              horizontalPaths.lineTo$2(0, t1, t8);
              context.get$canvas(context).drawPath$2(horizontalPaths, horizontalPaint);
            }
            break;
          case 0:
            if (_this._isLastButton) {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, t10, t8 + _this._leadingBorderSide.width / 2);
              leadingPath.lineTo$2(0, t10, t5 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = A.Path_Path();
              endingPath.moveTo$2(0, t10 - _this._borderSide.width / 2, t5);
              endingPath.lineTo$2(0, t4 + t6, t5);
              endingPath.addArc$3(tlCorner, 4.71238898038469, -1.5707963267948966);
              endingPath.lineTo$2(0, t4, t8 - t9);
              endingPath.addArc$3(blCorner, 3.141592653589793, -1.5707963267948966);
              endingPath.lineTo$2(0, t10 - _this._borderSide.width / 2, t8);
              context.get$canvas(context).drawPath$2(endingPath, endingPaint);
            } else if (t14) {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, t1, t8);
              leadingPath.lineTo$2(0, t10 - t13, t8);
              leadingPath.addArc$3(brCorner, 1.5707963267948966, -1.5707963267948966);
              leadingPath.lineTo$2(0, t10, t5 + t15);
              leadingPath.addArc$3(trCorner, 0, -1.5707963267948966);
              leadingPath.lineTo$2(0, t1, t5);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
            } else {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, t10, t8 + _this._leadingBorderSide.width / 2);
              leadingPath.lineTo$2(0, t10, t5 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
              horizontalPaint = _this._borderSide.toPaint$0();
              horizontalPaths = A.Path_Path();
              horizontalPaths.moveTo$2(0, t10 - _this._borderSide.width / 2, t5);
              t1 -= t6;
              horizontalPaths.lineTo$2(0, t1, t5);
              horizontalPaths.moveTo$2(0, t10 - _this._borderSide.width / 2 + t11, t8);
              horizontalPaths.lineTo$2(0, t1, t8);
              context.get$canvas(context).drawPath$2(horizontalPaths, horizontalPaint);
            }
            break;
        }
      else
        switch (_this._toggle_buttons$_verticalDirection.index) {
          case 1:
            if (_this._isLastButton) {
              topPath = A.Path_Path();
              topPath.moveTo$2(0, t1, t2 + _this._leadingBorderSide.width / 2);
              topPath.lineTo$2(0, startX, t2 + _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(topPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = A.Path_Path();
              endingPath.moveTo$2(0, t4, t5 + _this._leadingBorderSide.width / 2);
              endingPath.lineTo$2(0, t4, t8 - t9);
              endingPath.addArc$3(blCorner, 9.42477796076938, -1.5707963267948966);
              endingPath.lineTo$2(0, t10 - t12, t8);
              endingPath.addArc$3(brCorner, 1.5707963267948966, -1.5707963267948966);
              endingPath.lineTo$2(0, t10, t5 + _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(endingPath, endingPaint);
            } else if (t14) {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, t4, t3);
              leadingPath.lineTo$2(0, t4, t5 + t6);
              leadingPath.addArc$3(tlCorner, 3.141592653589793, 1.5707963267948966);
              leadingPath.lineTo$2(0, t10 - t11, t5);
              leadingPath.addArc$3(trCorner, 4.71238898038469, 1.5707963267948966);
              leadingPath.lineTo$2(0, t10, t3);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
            } else {
              topPath = A.Path_Path();
              topPath.moveTo$2(0, t1, t2 + _this._leadingBorderSide.width / 2);
              topPath.lineTo$2(0, startX, t2 + _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(topPath, leadingPaint);
              paint = _this._borderSide.toPaint$0();
              paths = A.Path_Path();
              paths.moveTo$2(0, t4, t2 + _this._leadingBorderSide.width);
              paths.lineTo$2(0, t4, t3);
              paths.moveTo$2(0, t10, t2 + _this._leadingBorderSide.width);
              paths.lineTo$2(0, t10, t3);
              context.get$canvas(context).drawPath$2(paths, paint);
            }
            break;
          case 0:
            if (_this._isLastButton) {
              bottomPath = A.Path_Path();
              bottomPath.moveTo$2(0, t1, t3 - _this._leadingBorderSide.width / 2);
              bottomPath.lineTo$2(0, startX, t3 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(bottomPath, leadingPaint);
              endingPaint = _this._trailingBorderSide.toPaint$0();
              endingPath = A.Path_Path();
              endingPath.moveTo$2(0, t4, t8 - _this._leadingBorderSide.width / 2);
              endingPath.lineTo$2(0, t4, t5 + t7);
              endingPath.addArc$3(tlCorner, 3.141592653589793, 1.5707963267948966);
              endingPath.lineTo$2(0, t10 - t11, t5);
              endingPath.addArc$3(trCorner, 4.71238898038469, 1.5707963267948966);
              endingPath.lineTo$2(0, t10, t8 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(endingPath, endingPaint);
            } else if (t14) {
              leadingPath = A.Path_Path();
              leadingPath.moveTo$2(0, t4, t2);
              leadingPath.lineTo$2(0, t4, t8 - t9);
              leadingPath.addArc$3(blCorner, 3.141592653589793, -1.5707963267948966);
              leadingPath.lineTo$2(0, t10 - t13, t8);
              leadingPath.addArc$3(brCorner, 1.5707963267948966, -1.5707963267948966);
              leadingPath.lineTo$2(0, t10, t2);
              context.get$canvas(context).drawPath$2(leadingPath, leadingPaint);
            } else {
              bottomPath = A.Path_Path();
              bottomPath.moveTo$2(0, t1, t3 - _this._leadingBorderSide.width / 2);
              bottomPath.lineTo$2(0, startX, t3 - _this._leadingBorderSide.width / 2);
              context.get$canvas(context).drawPath$2(bottomPath, leadingPaint);
              paint = _this._borderSide.toPaint$0();
              paths = A.Path_Path();
              paths.moveTo$2(0, t4, t2);
              paths.lineTo$2(0, t4, t3 - _this._leadingBorderSide.width);
              paths.moveTo$2(0, t10, t2);
              paths.lineTo$2(0, t10, t3 - _this._leadingBorderSide.width);
              context.get$canvas(context).drawPath$2(paths, paint);
            }
            break;
        }
    }
  };
  A._InputPadding1.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderInputPadding1(this.minSize, this.direction, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$minSize(this.minSize);
      renderObject.set$direction(0, this.direction);
    }
  };
  A._RenderInputPadding1.prototype = {
    set$minSize(value) {
      if (this._toggle_buttons$_minSize.$eq(0, value))
        return;
      this._toggle_buttons$_minSize = value;
      this.markNeedsLayout$0();
    },
    set$direction(_, value) {
      if (this._toggle_buttons$_direction === value)
        return;
      this._toggle_buttons$_direction = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth()), this._toggle_buttons$_minSize._dx);
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight()), this._toggle_buttons$_minSize._dy);
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth()), this._toggle_buttons$_minSize._dx);
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return Math.max(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight()), this._toggle_buttons$_minSize._dy);
      return 0;
    },
    _toggle_buttons$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var childSize, t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        childSize = layoutChild.call$2(t1, constraints);
        t1 = childSize._dx;
        t2 = this._toggle_buttons$_minSize;
        return constraints.constrain$1(new A.Size(Math.max(t1, t2._dx), Math.max(childSize._dy, t2._dy)));
      }
      return B.Size_0_0;
    },
    computeDryLayout$1(constraints) {
      return this._toggle_buttons$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      var t2, t3, _this = this,
        t1 = _this._toggle_buttons$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
      _this._box$_size = t1;
      t2 = _this.RenderObjectWithChildMixin__child;
      if (t2 != null) {
        t3 = t2.parentData;
        t3.toString;
        type$.BoxParentData._as(t3);
        t2 = t2._box$_size;
        t2.toString;
        t3.offset = B.Alignment_0_0.alongOffset$1(type$.Offset._as(t1.$sub(0, t2)));
      }
    },
    hitTest$2$position(result, position) {
      var t2, t3, _this = this, t1 = {};
      if (!_this._box$_size.contains$1(0, position))
        return false;
      t1.center = null;
      t2 = _this._toggle_buttons$_direction;
      t3 = _this.RenderObjectWithChildMixin__child;
      t2 = t2 === B.Axis_0 ? t1.center = new A.Offset(position._dx, t3._box$_size._dy / 2) : t1.center = new A.Offset(t3._box$_size._dx / 2, position._dy);
      return result.addWithRawTransform$3$hitTest$position$transform(new A._RenderInputPadding_hitTest_closure1(t1, _this), t2, A.MatrixUtils_forceToPoint(t2));
    }
  };
  A._RenderInputPadding_hitTest_closure1.prototype = {
    call$2(result, position) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, this._box_0.center);
    },
    $signature: 18
  };
  A.__DefaultFillColor_MaterialStateProperty_Diagnosticable.prototype = {};
  A.__ResolveFillColor_MaterialStateProperty_Diagnosticable.prototype = {};
  A.ToggleButtonsThemeData.prototype = {
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.textStyle, _this.constraints, _this.color, _this.selectedColor, _this.disabledColor, _this.fillColor, _this.focusColor, _this.highlightColor, _this.hoverColor, _this.splashColor, _this.borderColor, _this.selectedBorderColor, _this.disabledBorderColor, _this.borderRadius, _this.borderWidth, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ToggleButtonsThemeData && J.$eq$(other.textStyle, _this.textStyle) && J.$eq$(other.constraints, _this.constraints) && J.$eq$(other.color, _this.color) && J.$eq$(other.selectedColor, _this.selectedColor) && J.$eq$(other.disabledColor, _this.disabledColor) && J.$eq$(other.fillColor, _this.fillColor) && J.$eq$(other.focusColor, _this.focusColor) && J.$eq$(other.highlightColor, _this.highlightColor) && J.$eq$(other.hoverColor, _this.hoverColor) && J.$eq$(other.splashColor, _this.splashColor) && J.$eq$(other.borderColor, _this.borderColor) && J.$eq$(other.selectedBorderColor, _this.selectedBorderColor) && J.$eq$(other.disabledBorderColor, _this.disabledBorderColor) && J.$eq$(other.borderRadius, _this.borderRadius) && other.borderWidth == _this.borderWidth;
    }
  };
  A._ToggleButtonsThemeData_Object_Diagnosticable.prototype = {};
  A.ToggleableStateMixin.prototype = {
    animateToValue$0() {
      var t1, t2, _this = this;
      if (_this.get$tristate()) {
        if (_this.get$value(_this) == null) {
          t1 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.set$value(0, 0);
        }
        t1 = _this.get$value(_this);
        t2 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
        if (t1 !== false) {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.forward$0(0);
        } else {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.reverse$0(0);
        }
      } else {
        t1 = _this.get$value(_this);
        t2 = _this.ToggleableStateMixin___ToggleableStateMixin__positionController;
        if (t1 === true) {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.forward$0(0);
        } else {
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.reverse$0(0);
        }
      }
    },
    _toggleable$_handleTapDown$1(details) {
      var t1, _this = this;
      if (_this.get$onChanged() != null) {
        _this.setState$1(new A.ToggleableStateMixin__handleTapDown_closure(_this, details));
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
      }
    },
    _toggleable$_handleTap$1(_) {
      var t1, _this = this;
      if (_this.get$onChanged() == null)
        return;
      switch (_this.get$value(_this)) {
        case false:
          _this.get$onChanged().call$1(true);
          break;
        case true:
          t1 = _this.get$onChanged();
          t1.toString;
          t1.call$1(_this.get$tristate() && null);
          break;
        case null:
          _this.get$onChanged().call$1(false);
          break;
      }
      _this._framework$_element.get$renderObject().sendSemanticsEvent$1(B.TapSemanticEvent_tap);
    },
    _toggleable$_handleTap$0() {
      return this._toggleable$_handleTap$1(null);
    },
    _handleTapEnd$1(_) {
      var t1, _this = this;
      if (_this.ToggleableStateMixin__downPosition != null)
        _this.setState$1(new A.ToggleableStateMixin__handleTapEnd_closure(_this));
      t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.reverse$0(0);
    },
    _handleTapEnd$0() {
      return this._handleTapEnd$1(null);
    },
    _handleFocusHighlightChanged$1(focused) {
      var t1, _this = this;
      if (focused !== _this.ToggleableStateMixin__focused) {
        _this.setState$1(new A.ToggleableStateMixin__handleFocusHighlightChanged_closure(_this, focused));
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionFocusFadeController;
        if (focused) {
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.forward$0(0);
        } else {
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.reverse$0(0);
        }
      }
    },
    _handleHoverChanged$1(hovering) {
      var t1, _this = this;
      if (hovering !== _this.ToggleableStateMixin__hovering) {
        _this.setState$1(new A.ToggleableStateMixin__handleHoverChanged_closure(_this, hovering));
        t1 = _this.ToggleableStateMixin___ToggleableStateMixin__reactionHoverFadeController;
        if (hovering) {
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.forward$0(0);
        } else {
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.reverse$0(0);
        }
      }
    },
    get$states() {
      var t2, _this = this,
        t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.MaterialState);
      if (_this.get$onChanged() == null)
        t1.add$1(0, B.MaterialState_6);
      if (_this.ToggleableStateMixin__hovering)
        t1.add$1(0, B.MaterialState_0);
      if (_this.ToggleableStateMixin__focused)
        t1.add$1(0, B.MaterialState_1);
      t2 = _this.get$value(_this);
      if (t2 !== false)
        t1.add$1(0, B.MaterialState_4);
      return t1;
    },
    buildToggleable$5$autofocus$focusNode$mouseCursor$painter$size(autofocus, focusNode, mouseCursor, painter, size) {
      var result, t1, t2, t3, t4, t5, t6, _this = this, _null = null,
        value = _this.ToggleableStateMixin___ToggleableStateMixin__actionMap;
      if (value === $) {
        result = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_ActivateIntent_OT9, new A.CallbackAction(_this.get$_toggleable$_handleTap(), new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent), type$.ObserverList_of_void_Function_Action_Intent), type$.CallbackAction_ActivateIntent)], type$.Type, type$.Action_Intent);
        if (_this.ToggleableStateMixin___ToggleableStateMixin__actionMap !== $)
          A.throwUnnamedLateFieldADI();
        _this.ToggleableStateMixin___ToggleableStateMixin__actionMap = result;
        value = result;
      }
      t1 = _this.get$onChanged();
      t2 = mouseCursor._material_state$_resolve.call$1(_this.get$states());
      t3 = _this.get$onChanged();
      t4 = _this.get$_handleTapEnd();
      t5 = _this.get$onChanged();
      t6 = A.CustomPaint$(_null, _null, _null, painter, size);
      return A.FocusableActionDetector$(value, false, A.GestureDetector$(_null, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5 != null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t6, _null), B.DragStartBehavior_1, t3 == null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _this.get$_toggleable$_handleTap(), t4, _this.get$_toggleable$_handleTapDown(), t4, _null, _null, _null), t1 != null, focusNode, t2, _this.get$_handleFocusHighlightChanged(), _this.get$_handleHoverChanged(), _null);
    }
  };
  A.ToggleableStateMixin__handleTapDown_closure.prototype = {
    call$0() {
      this.$this.ToggleableStateMixin__downPosition = this.details.localPosition;
    },
    $signature: 0
  };
  A.ToggleableStateMixin__handleTapEnd_closure.prototype = {
    call$0() {
      this.$this.ToggleableStateMixin__downPosition = null;
    },
    $signature: 0
  };
  A.ToggleableStateMixin__handleFocusHighlightChanged_closure.prototype = {
    call$0() {
      this.$this.ToggleableStateMixin__focused = this.focused;
    },
    $signature: 0
  };
  A.ToggleableStateMixin__handleHoverChanged_closure.prototype = {
    call$0() {
      this.$this.ToggleableStateMixin__hovering = this.hovering;
    },
    $signature: 0
  };
  A.ToggleablePainter.prototype = {
    set$position(_, value) {
      var _this = this,
        t1 = _this._toggleable$_position;
      if (value === t1)
        return;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      value.parent.addListener$1(0, _this.get$notifyListeners());
      _this._toggleable$_position = value;
      _this.notifyListeners$0();
    },
    set$reaction(value) {
      var _this = this,
        t1 = _this._reaction;
      if (value === t1)
        return;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      value.parent.addListener$1(0, _this.get$notifyListeners());
      _this._reaction = value;
      _this.notifyListeners$0();
    },
    set$reactionFocusFade(value) {
      var _this = this,
        t1 = _this._reactionFocusFade;
      if (value === t1)
        return;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      value.parent.addListener$1(0, _this.get$notifyListeners());
      _this._reactionFocusFade = value;
      _this.notifyListeners$0();
    },
    set$reactionHoverFade(value) {
      var _this = this,
        t1 = _this._reactionHoverFade;
      if (value === t1)
        return;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      value.parent.addListener$1(0, _this.get$notifyListeners());
      _this._reactionHoverFade = value;
      _this.notifyListeners$0();
    },
    set$activeColor(value) {
      if (J.$eq$(this._activeColor, value))
        return;
      this._activeColor = value;
      this.notifyListeners$0();
    },
    set$inactiveColor(value) {
      if (J.$eq$(this._inactiveColor, value))
        return;
      this._inactiveColor = value;
      this.notifyListeners$0();
    },
    set$inactiveReactionColor(value) {
      if (value.$eq(0, this._inactiveReactionColor))
        return;
      this._inactiveReactionColor = value;
      this.notifyListeners$0();
    },
    set$reactionColor(value) {
      if (value.$eq(0, this._reactionColor))
        return;
      this._reactionColor = value;
      this.notifyListeners$0();
    },
    set$hoverColor(value) {
      if (value.$eq(0, this._toggleable$_hoverColor))
        return;
      this._toggleable$_hoverColor = value;
      this.notifyListeners$0();
    },
    set$focusColor(value) {
      if (value.$eq(0, this._toggleable$_focusColor))
        return;
      this._toggleable$_focusColor = value;
      this.notifyListeners$0();
    },
    set$splashRadius(value) {
      if (value === this._splashRadius)
        return;
      this._splashRadius = value;
      this.notifyListeners$0();
    },
    set$downPosition(value) {
      if (J.$eq$(value, this._downPosition))
        return;
      this._downPosition = value;
      this.notifyListeners$0();
    },
    set$isFocused(value) {
      if (value === this._toggleable$_isFocused)
        return;
      this._toggleable$_isFocused = value;
      this.notifyListeners$0();
    },
    set$isHovered(value) {
      if (value === this._isHovered)
        return;
      this._isHovered = value;
      this.notifyListeners$0();
    },
    paintRadialReaction$2$canvas$origin(canvas, origin) {
      var reactionPaint, t2, t3, reactionRadius, _this = this,
        t1 = _this._reaction;
      if (t1.get$status(t1) === B.AnimationStatus_0) {
        t1 = _this._reactionFocusFade;
        if (t1.get$status(t1) === B.AnimationStatus_0) {
          t1 = _this._reactionHoverFade;
          t1 = t1.get$status(t1) !== B.AnimationStatus_0;
        } else
          t1 = true;
      } else
        t1 = true;
      if (t1) {
        reactionPaint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t1 = _this._inactiveReactionColor;
        t1.toString;
        t2 = _this._reactionColor;
        t2.toString;
        t3 = _this._toggleable$_position;
        t3 = A.Color_lerp(t1, t2, t3.get$value(t3));
        t2 = _this._toggleable$_hoverColor;
        t2.toString;
        t1 = _this._reactionHoverFade;
        t1 = A.Color_lerp(t3, t2, t1.get$value(t1));
        t2 = _this._toggleable$_focusColor;
        t2.toString;
        t3 = _this._reactionFocusFade;
        t3 = A.Color_lerp(t1, t2, t3.get$value(t3));
        t3.toString;
        reactionPaint.set$color(0, t3);
        t3 = _this._downPosition;
        t1 = t3 == null ? origin : t3;
        t2 = _this._reaction;
        t2 = A.Offset_lerp(t1, origin, t2.get$value(t2));
        t2.toString;
        t1 = _this._splashRadius;
        t1.toString;
        t3 = _this._toggleable$_isFocused;
        t3.toString;
        if (!t3) {
          t3 = _this._isHovered;
          t3.toString;
        } else
          t3 = true;
        if (t3)
          reactionRadius = t1;
        else {
          t3 = _this._reaction;
          reactionRadius = new A.Tween(0, t1, type$.Tween_double).transform$1(0, t3.get$value(t3));
        }
        if (reactionRadius > 0)
          canvas.drawCircle$3(t2.$add(0, B.Offset_0_0), reactionRadius, reactionPaint);
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this._toggleable$_position;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      t1 = _this._reaction;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      t1 = _this._reactionFocusFade;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      t1 = _this._reactionHoverFade;
      if (t1 != null)
        t1.parent.removeListener$1(0, _this.get$notifyListeners());
      _this.super$ChangeNotifier$dispose();
    },
    shouldRepaint$1(oldDelegate) {
      return true;
    },
    hitTest$1(position) {
      return null;
    },
    get$semanticsBuilder() {
      return null;
    },
    shouldRebuildSemantics$1(oldDelegate) {
      return false;
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A.Tooltip.prototype = {
    createState$0() {
      return new A.TooltipState(null, null, B._StateLifecycle_0);
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.TooltipState.prototype = {
    get$_tooltipMessage() {
      var t1 = this._widget,
        t2 = t1.message;
      return t2 == null ? t1.richMessage.toPlainText$0() : t2;
    },
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      _this.__TooltipState__forceRemoval = _this.__TooltipState__isConcealed = false;
      _this.__TooltipState__mouseIsConnected = $.RendererBinding__instance.RendererBinding__mouseTracker._mouseStates._length !== 0;
      t1 = A.AnimationController$(null, B.Duration_150000, 0, B.Duration_75000, 1, null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_tooltip$_handleStatusChanged());
      _this.__TooltipState__controller = t1;
      $.RendererBinding__instance.RendererBinding__mouseTracker.addListener$1(0, _this.get$_handleMouseTrackerChange());
      $.GestureBinding__instance.GestureBinding_pointerRouter._globalRoutes.$indexSet(0, _this.get$_tooltip$_handlePointerEvent(), null);
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$._TooltipVisibilityScope);
      this.__TooltipState__visible = true;
    },
    _getDefaultTooltipHeight$0() {
      var t1 = this._framework$_element;
      t1.toString;
      switch (A.Theme_of(t1).platform.index) {
        case 4:
        case 3:
        case 5:
          return 24;
        case 0:
        case 1:
        case 2:
          return 32;
      }
    },
    _getDefaultPadding$0() {
      var t1 = this._framework$_element;
      t1.toString;
      switch (A.Theme_of(t1).platform.index) {
        case 4:
        case 3:
        case 5:
          return B.EdgeInsets_8_4_8_4;
        case 0:
        case 1:
        case 2:
          return B.EdgeInsets_16_4_16_4;
      }
    },
    _getDefaultFontSize$0() {
      var t1 = this._framework$_element;
      t1.toString;
      switch (A.Theme_of(t1).platform.index) {
        case 4:
        case 3:
        case 5:
          return 12;
        case 0:
        case 1:
        case 2:
          return 14;
      }
    },
    _handleMouseTrackerChange$0() {
      var mouseIsConnected, t1, _this = this;
      if (_this._framework$_element == null)
        return;
      mouseIsConnected = $.RendererBinding__instance.RendererBinding__mouseTracker._mouseStates._length !== 0;
      t1 = _this.__TooltipState__mouseIsConnected;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (mouseIsConnected !== t1)
        _this.setState$1(new A.TooltipState__handleMouseTrackerChange_closure(_this, mouseIsConnected));
    },
    _tooltip$_handleStatusChanged$1($status) {
      var t1;
      if ($status === B.AnimationStatus_0) {
        t1 = this.__TooltipState__forceRemoval;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!t1) {
          t1 = this.__TooltipState__isConcealed;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = !t1;
        } else
          t1 = true;
      } else
        t1 = false;
      if (t1)
        this._removeEntry$0();
    },
    _dismissTooltip$1$immediately(immediately) {
      var t2, _this = this,
        t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      if (immediately) {
        _this._removeEntry$0();
        return;
      }
      _this.__TooltipState__forceRemoval = true;
      if (_this._pressActivated) {
        if (_this._dismissTimer == null) {
          t1 = _this.__TooltipState__showDuration;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t2 = _this.__TooltipState__controller;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          _this._dismissTimer = A.Timer_Timer(t1, t2.get$reverse(t2));
        }
      } else if (_this._dismissTimer == null) {
        t1 = _this.__TooltipState__hoverShowDuration;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this.__TooltipState__controller;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        _this._dismissTimer = A.Timer_Timer(t1, t2.get$reverse(t2));
      }
      _this._pressActivated = false;
    },
    _showTooltip$0() {
      var _this = this,
        t1 = _this._dismissTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._dismissTimer = null;
      if (_this._showTimer == null) {
        t1 = _this.__TooltipState__waitDuration;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._showTimer = A.Timer_Timer(t1, _this.get$ensureTooltipVisible());
      }
    },
    _concealTooltip$0() {
      var _this = this,
        t1 = _this.__TooltipState__isConcealed;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1) {
        t1 = _this.__TooltipState__forceRemoval;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
      } else
        t1 = true;
      if (t1)
        return;
      _this.__TooltipState__isConcealed = true;
      t1 = _this._dismissTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._dismissTimer = null;
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      t1 = _this._entry;
      if (t1 != null)
        t1.remove$0(0);
      t1 = _this.__TooltipState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.reverse$0(0);
    },
    _revealTooltip$0() {
      var result, _this = this,
        t1 = _this.__TooltipState__isConcealed;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1)
        return;
      _this.__TooltipState__isConcealed = false;
      t1 = _this._dismissTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._dismissTimer = null;
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      if (!_this._entry._overlayStateMounted._change_notifier$_value) {
        t1 = _this._framework$_element;
        t1.toString;
        _this._widget.toString;
        result = t1.findAncestorStateOfType$1$0(type$.OverlayState);
        result.toString;
        t1 = _this._entry;
        t1.toString;
        result.insert$1(0, t1);
      }
      A.SemanticsService_tooltip(_this.get$_tooltipMessage());
      t1 = _this.__TooltipState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0);
    },
    ensureTooltipVisible$0() {
      var _this = this,
        t1 = _this.__TooltipState__visible;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1)
        return false;
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      _this.__TooltipState__forceRemoval = false;
      t1 = _this.__TooltipState__isConcealed;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1) {
        t1 = _this.__TooltipState__mouseIsConnected;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1)
          A.Tooltip__concealOtherTooltips(_this);
        _this._revealTooltip$0();
        return true;
      }
      if (_this._entry != null) {
        t1 = _this._dismissTimer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._dismissTimer = null;
        t1 = _this.__TooltipState__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
        return false;
      }
      _this._createNewEntry$0();
      t1 = _this.__TooltipState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0);
      return true;
    },
    _tooltip$_handleMouseExit$1$immediately(immediately) {
      var t1;
      if (this._framework$_element != null) {
        t1 = this.__TooltipState__isConcealed;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        this._dismissTooltip$1$immediately(t1 || immediately);
      }
    },
    _tooltip$_handleMouseExit$0() {
      return this._tooltip$_handleMouseExit$1$immediately(false);
    },
    _createNewEntry$0() {
      var result, t2, target, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, _this = this, _null = null,
        t1 = _this._framework$_element;
      t1.toString;
      _this._widget.toString;
      result = t1.findAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      t1 = _this._framework$_element.get$renderObject();
      t1.toString;
      type$.RenderBox._as(t1);
      t2 = t1._box$_size.center$1(B.Offset_0_0);
      target = A.MatrixUtils_transformPoint(t1.getTransformTo$1(0, result._framework$_element.get$renderObject()), t2);
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1 = A.TextSpan$(_null, _null, _null, _null, _this._widget.message);
      t3 = _this.__TooltipState__height;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this.__TooltipState__padding;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = _this.__TooltipState__margin;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = _this.__TooltipState__mouseIsConnected;
      if (t6 === $)
        A.throwUnnamedLateFieldNI();
      t7 = t6 ? new A.TooltipState__createNewEntry_closure(_this) : _null;
      t6 = t6 ? new A.TooltipState__createNewEntry_closure0(_this) : _null;
      t8 = _this.__TooltipState__decoration;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t9 = _this.__TooltipState__textStyle;
      if (t9 === $)
        A.throwUnnamedLateFieldNI();
      t10 = _this.__TooltipState__textAlign;
      if (t10 === $)
        A.throwUnnamedLateFieldNI();
      t11 = _this.__TooltipState__controller;
      if (t11 === $)
        A.throwUnnamedLateFieldNI();
      t11 = A.CurvedAnimation$(B.Cubic_ifx, t11, _null);
      t12 = _this.__TooltipState__verticalOffset;
      if (t12 === $)
        A.throwUnnamedLateFieldNI();
      t13 = _this.__TooltipState__preferBelow;
      if (t13 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.OverlayEntry$(new A.TooltipState__createNewEntry_closure1(A.Directionality$(new A._TooltipOverlay(t1, t3, t4, t5, t8, t9, t10, t11, target, t12, t13, t7, t6, _null), t2.textDirection)), false, false);
      _this._entry = t2;
      _this.__TooltipState__isConcealed = false;
      result.insert$1(0, t2);
      A.SemanticsService_tooltip(_this.get$_tooltipMessage());
      t1 = _this.__TooltipState__mouseIsConnected;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1)
        A.Tooltip__concealOtherTooltips(_this);
      $.Tooltip__openedTooltips.push(_this);
    },
    _removeEntry$0() {
      var t1, _this = this;
      B.JSArray_methods.remove$1($.Tooltip__openedTooltips, _this);
      $.TooltipState__mouseIn.remove$1(0, _this);
      t1 = _this._dismissTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._dismissTimer = null;
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._showTimer = null;
      t1 = _this.__TooltipState__isConcealed;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1) {
        t1 = _this._entry;
        if (t1 != null)
          t1.remove$0(0);
      }
      _this.__TooltipState__isConcealed = false;
      _this._entry = null;
      t1 = _this.__TooltipState__mouseIsConnected;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1)
        if ($.Tooltip__openedTooltips.length !== 0)
          B.JSArray_methods.get$last($.Tooltip__openedTooltips)._revealTooltip$0();
    },
    _tooltip$_handlePointerEvent$1($event) {
      if (this._entry == null)
        return;
      if (type$.PointerUpEvent._is($event) || type$.PointerCancelEvent._is($event))
        this._tooltip$_handleMouseExit$0();
      else if (type$.PointerDownEvent._is($event))
        this._tooltip$_handleMouseExit$1$immediately(true);
    },
    deactivate$0() {
      var t1, _this = this;
      if (_this._entry != null)
        _this._dismissTooltip$1$immediately(true);
      t1 = _this._showTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this.super$State$deactivate();
    },
    dispose$0() {
      var t1, _this = this;
      $.GestureBinding__instance.GestureBinding_pointerRouter._globalRoutes.remove$1(0, _this.get$_tooltip$_handlePointerEvent());
      $.RendererBinding__instance.RendererBinding__mouseTracker.removeListener$1(0, _this.get$_handleMouseTrackerChange());
      _this._removeEntry$0();
      t1 = _this.__TooltipState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$_TooltipState_State_SingleTickerProviderStateMixin$dispose();
    },
    _handlePress$0() {
      var t1, t2, _this = this;
      _this._pressActivated = true;
      if (_this.ensureTooltipVisible$0()) {
        t1 = _this.__TooltipState__enableFeedback;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
      } else
        t1 = false;
      if (t1) {
        t1 = _this.__TooltipState__triggerMode;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this._framework$_element;
        if (t1 === B.TooltipTriggerMode_1) {
          t2.toString;
          A.Feedback_forLongPress(t2);
        } else {
          t2.toString;
          A.Feedback_forTap(t2);
        }
      }
      _this._widget.toString;
    },
    _tooltip$_handleTap$0() {
      this._handlePress$0();
      this._tooltip$_handleMouseExit$0();
    },
    build$1(context) {
      var t1, theme, tooltipTheme, defaultTextStyle, defaultDecoration, t2, t3, t4, result, _this = this, _null = null;
      if (_this.get$_tooltipMessage().length === 0) {
        t1 = _this._widget.child;
        return t1;
      }
      theme = A.Theme_of(context);
      context.dependOnInheritedWidgetOfExactType$1$0(type$.TooltipTheme);
      tooltipTheme = A.Theme_of(context).tooltipTheme;
      t1 = theme.textTheme.bodyMedium;
      if (theme.colorScheme.brightness === B.Brightness_0) {
        t1.toString;
        defaultTextStyle = t1.copyWith$2$color$fontSize(B.Color_4278190080, _this._getDefaultFontSize$0());
        defaultDecoration = new A.BoxDecoration(A.Color$fromARGB(B.JSNumber_methods.round$0(229.5), 255, 255, 255), _null, _null, B.BorderRadius_tLn0, _null, _null, _null, B.BoxShape_0);
      } else {
        t1.toString;
        defaultTextStyle = t1.copyWith$2$color$fontSize(B.Color_4294967295, _this._getDefaultFontSize$0());
        defaultDecoration = new A.BoxDecoration(A.Color$fromARGB(B.JSNumber_methods.round$0(229.5), 97, 97, 97), _null, _null, B.BorderRadius_tLn0, _null, _null, _null, B.BoxShape_0);
      }
      _this._widget.toString;
      t1 = tooltipTheme.height;
      _this.__TooltipState__height = t1 == null ? _this._getDefaultTooltipHeight$0() : t1;
      t1 = _this._widget.padding;
      if (t1 == null)
        t1 = tooltipTheme.padding;
      _this.__TooltipState__padding = t1 == null ? _this._getDefaultPadding$0() : t1;
      t1 = _this._widget;
      t1.toString;
      t2 = tooltipTheme.margin;
      _this.__TooltipState__margin = t2 == null ? B.EdgeInsets_0_0_0_0 : t2;
      t2 = tooltipTheme.verticalOffset;
      _this.__TooltipState__verticalOffset = t2 == null ? 24 : t2;
      t2 = t1.preferBelow;
      if (t2 == null)
        t2 = tooltipTheme.preferBelow;
      _this.__TooltipState__preferBelow = t2 !== false;
      _this.__TooltipState__excludeFromSemantics = false;
      t2 = t1.decoration;
      if (t2 == null)
        t2 = tooltipTheme.decoration;
      _this.__TooltipState__decoration = t2 == null ? defaultDecoration : t2;
      t2 = t1.textStyle;
      if (t2 == null)
        t2 = tooltipTheme.textStyle;
      _this.__TooltipState__textStyle = t2 == null ? defaultTextStyle : t2;
      _this.__TooltipState__textAlign = B.TextAlign_4;
      t1 = t1.waitDuration;
      if (t1 == null)
        t1 = _null;
      _this.__TooltipState__waitDuration = t1 == null ? B.Duration_0 : t1;
      _this.__TooltipState__showDuration = B.Duration_1500000;
      _this.__TooltipState__hoverShowDuration = B.Duration_100000;
      _this.__TooltipState__triggerMode = B.TooltipTriggerMode_1;
      _this.__TooltipState__enableFeedback = true;
      t1 = _this.get$_tooltipMessage();
      t2 = _this._widget.child;
      t1 = A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, _null);
      if (_this.__TooltipState__visible === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this.__TooltipState__triggerMode;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t3 === B.TooltipTriggerMode_1 ? _this.get$_handlePress() : _null;
      t3 = t3 === B.TooltipTriggerMode_2 ? _this.get$_tooltip$_handleTap() : _null;
      result = A.GestureDetector$(B.HitTestBehavior_1, new A.Semantics(t1, false, false, false, t2, _null), B.DragStartBehavior_1, true, _null, _null, _null, _null, _null, _null, _null, t4, _null, _null, _null, t3, _null, _null, _null, _null, _null, _null);
      t1 = _this.__TooltipState__mouseIsConnected;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1)
        result = A.MouseRegion$(result, B.C__DeferringMouseCursor, _null, new A.TooltipState_build_closure(_this), new A.TooltipState_build_closure0(_this), _null);
      return result;
    }
  };
  A.TooltipState__handleMouseTrackerChange_closure.prototype = {
    call$0() {
      this.$this.__TooltipState__mouseIsConnected = this.mouseIsConnected;
    },
    $signature: 0
  };
  A.TooltipState__createNewEntry_closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      if (t1._framework$_element != null)
        t1._showTooltip$0();
      return null;
    },
    $signature: 49
  };
  A.TooltipState__createNewEntry_closure0.prototype = {
    call$1(_) {
      return this.$this._tooltip$_handleMouseExit$0();
    },
    $signature: 34
  };
  A.TooltipState__createNewEntry_closure1.prototype = {
    call$1(context) {
      return this.overlay;
    },
    $signature: 29
  };
  A.TooltipState_build_closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      if (t1._framework$_element != null)
        t1._showTooltip$0();
      return null;
    },
    $signature: 49
  };
  A.TooltipState_build_closure0.prototype = {
    call$1(_) {
      return this.$this._tooltip$_handleMouseExit$0();
    },
    $signature: 34
  };
  A._TooltipPositionDelegate.prototype = {
    getConstraintsForChild$1(constraints) {
      return new A.BoxConstraints(0, constraints.maxWidth, 0, constraints.maxHeight);
    },
    getPositionForChild$2(size, childSize) {
      return A.positionDependentBox(childSize, this.preferBelow, size, this.target, this.verticalOffset);
    },
    shouldRelayout$1(oldDelegate) {
      return !this.target.$eq(0, oldDelegate.target) || this.verticalOffset !== oldDelegate.verticalOffset || this.preferBelow !== oldDelegate.preferBelow;
    }
  };
  A._TooltipOverlay.prototype = {
    build$1(context) {
      var result, _this = this, _null = null,
        t1 = A.Theme_of(context).textTheme.bodyMedium;
      t1.toString;
      result = new A.IgnorePointer(true, _null, A.FadeTransition$(false, new A.ConstrainedBox(new A.BoxConstraints(0, 1 / 0, _this.height, 1 / 0), A.DefaultTextStyle$(A.Container$(_null, A.Center$(A.Text$rich(_this.richMessage, _null, _null, _this.textStyle, _this.textAlign), 1, _null, 1), B.Clip_0, _null, _null, _this.decoration, _null, _null, _null, _this.margin, _this.padding, _null, _null, _null), _null, _null, B.TextOverflow_0, true, t1, _null, _null, B.TextWidthBasis_0), _null), _this.animation), _null);
      t1 = _this.onEnter;
      if (t1 != null || _this.onExit != null)
        result = A.MouseRegion$(result, B.C__DeferringMouseCursor, _null, t1, _this.onExit, _null);
      t1 = A.MediaQuery_maybeOf(context);
      t1 = t1 == null ? _null : t1.viewInsets.bottom;
      if (t1 == null)
        t1 = 0;
      return A.Positioned$fill(t1, new A.CustomSingleChildLayout(new A._TooltipPositionDelegate(_this.target, _this.verticalOffset, _this.preferBelow), result, _null));
    }
  };
  A._TooltipState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.TooltipThemeData.prototype = {
    get$hashCode(_) {
      var _this = this, _null = null;
      return A.Object_hash(_this.height, _this.padding, _this.margin, _this.verticalOffset, _this.preferBelow, _this.excludeFromSemantics, _this.decoration, _this.textStyle, _this.textAlign, _null, _null, _null, _null, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.TooltipThemeData)
        if (other.height == _this.height)
          if (J.$eq$(other.padding, _this.padding))
            if (J.$eq$(other.margin, _this.margin))
              if (other.verticalOffset == _this.verticalOffset)
                if (J.$eq$(other.decoration, _this.decoration))
                  if (J.$eq$(other.textStyle, _this.textStyle))
                    t1 = true;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A.TooltipTriggerMode.prototype = {
    toString$0(_) {
      return "TooltipTriggerMode." + this._core$_name;
    }
  };
  A._TooltipThemeData_Object_Diagnosticable.prototype = {};
  A.ScriptCategory.prototype = {
    toString$0(_) {
      return "ScriptCategory." + this._core$_name;
    }
  };
  A.Typography.prototype = {
    geometryThemeFor$1(category) {
      switch (category.index) {
        case 0:
          return this.englishLike;
        case 1:
          return this.dense;
        case 2:
          return this.tall;
      }
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.Typography && other.black.$eq(0, _this.black) && other.white.$eq(0, _this.white) && other.englishLike.$eq(0, _this.englishLike) && other.dense.$eq(0, _this.dense) && other.tall.$eq(0, _this.tall);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.black, _this.white, _this.englishLike, _this.dense, _this.tall, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._Typography_Object_Diagnosticable.prototype = {};
  A.NetworkImage.prototype = {
    obtainKey$1(configuration) {
      return new A.SynchronousFuture(this, type$.SynchronousFuture_NetworkImage);
    },
    load$2(_, key, decode) {
      var _null = null,
        chunkEvents = A.StreamController_StreamController(_null, _null, _null, false, type$.ImageChunkEvent);
      return A.MultiFrameImageStreamCompleter$(new A._ControllerStream(chunkEvents, A._instanceType(chunkEvents)._eval$1("_ControllerStream<1>")), this.__network_image_web$_loadAsync$4(key, _null, decode, chunkEvents), key.url, _null, key.scale);
    },
    loadBuffer$2(key, decode) {
      var _null = null,
        chunkEvents = A.StreamController_StreamController(_null, _null, _null, false, type$.ImageChunkEvent);
      return A.MultiFrameImageStreamCompleter$(new A._ControllerStream(chunkEvents, A._instanceType(chunkEvents)._eval$1("_ControllerStream<1>")), this.__network_image_web$_loadAsync$4(key, decode, _null, chunkEvents), key.url, _null, key.scale);
    },
    __network_image_web$_loadAsync$4(key, decode, decodeDepreacted, chunkEvents) {
      return this._loadAsync$body$NetworkImage(key, decode, decodeDepreacted, chunkEvents);
    },
    _loadAsync$body$NetworkImage(key, decode, decodeDepreacted, chunkEvents) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, resolved, t1;
      var $async$__network_image_web$_loadAsync$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
              resolved = A.Uri_base().resolve$1(key.url);
              t1 = A.webOnlyInstantiateImageCodecFromUrl(resolved, new A.NetworkImage__loadAsync_closure(chunkEvents));
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$__network_image_web$_loadAsync$4, $async$completer);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.NetworkImage && other.url === this.url && other.scale === this.scale;
    },
    get$hashCode(_) {
      return A.Object_hash(this.url, this.scale, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return 'NetworkImage("' + this.url + '", scale: ' + this.scale + ")";
    }
  };
  A.NetworkImage__loadAsync_closure.prototype = {
    call$2(bytes, total) {
      this.chunkEvents.add$1(0, new A.ImageChunkEvent(bytes, total));
    },
    $signature: 134
  };
  A.AlignmentGeometry.prototype = {
    toString$0(_) {
      var _this = this;
      if (_this.get$_alignment$_start(_this) === 0)
        return A.Alignment__stringify(_this.get$_x(), _this.get$_y());
      if (_this.get$_x() === 0)
        return A.AlignmentDirectional__stringify(_this.get$_alignment$_start(_this), _this.get$_y());
      return A.Alignment__stringify(_this.get$_x(), _this.get$_y()) + " + " + A.AlignmentDirectional__stringify(_this.get$_alignment$_start(_this), 0);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.AlignmentGeometry && other.get$_x() === _this.get$_x() && other.get$_alignment$_start(other) === _this.get$_alignment$_start(_this) && other.get$_y() === _this.get$_y();
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$_x(), _this.get$_alignment$_start(_this), _this.get$_y(), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.Alignment.prototype = {
    get$_x() {
      return this.x;
    },
    get$_alignment$_start(_) {
      return 0;
    },
    get$_y() {
      return this.y;
    },
    $sub(_, other) {
      return new A.Alignment(this.x - other.x, this.y - other.y);
    },
    $add(_, other) {
      return new A.Alignment(this.x + other.x, this.y + other.y);
    },
    $mul(_, other) {
      return new A.Alignment(this.x * other, this.y * other);
    },
    $div(_, other) {
      return new A.Alignment(this.x / other, this.y / other);
    },
    $tdiv(_, other) {
      return new A.Alignment(B.JSNumber_methods.$tdiv(this.x, other), B.JSNumber_methods.$tdiv(this.y, other));
    },
    alongOffset$1(other) {
      var centerX = other._dx / 2,
        centerY = other._dy / 2;
      return new A.Offset(centerX + this.x * centerX, centerY + this.y * centerY);
    },
    alongSize$1(other) {
      var centerX = other._dx / 2,
        centerY = other._dy / 2;
      return new A.Offset(centerX + this.x * centerX, centerY + this.y * centerY);
    },
    withinRect$1(rect) {
      var t1 = rect.left,
        halfWidth = (rect.right - t1) / 2,
        t2 = rect.top,
        halfHeight = (rect.bottom - t2) / 2;
      return new A.Offset(t1 + halfWidth + this.x * halfWidth, t2 + halfHeight + this.y * halfHeight);
    },
    inscribe$2(size, rect) {
      var t1 = rect.left,
        t2 = size._dx,
        halfWidthDelta = (rect.right - t1 - t2) / 2,
        t3 = rect.top,
        t4 = size._dy,
        halfHeightDelta = (rect.bottom - t3 - t4) / 2;
      t1 = t1 + halfWidthDelta + this.x * halfWidthDelta;
      t3 = t3 + halfHeightDelta + this.y * halfHeightDelta;
      return new A.Rect(t1, t3, t1 + t2, t3 + t4);
    },
    resolve$1(direction) {
      return this;
    },
    toString$0(_) {
      return A.Alignment__stringify(this.x, this.y);
    }
  };
  A.AlignmentDirectional.prototype = {
    get$_x() {
      return 0;
    },
    get$_alignment$_start(_) {
      return this.start;
    },
    get$_y() {
      return this.y;
    },
    $sub(_, other) {
      return new A.AlignmentDirectional(this.start - other.start, this.y - other.y);
    },
    $add(_, other) {
      return new A.AlignmentDirectional(this.start + other.start, this.y + other.y);
    },
    $mul(_, other) {
      return new A.AlignmentDirectional(this.start * other, this.y * other);
    },
    $div(_, other) {
      return new A.AlignmentDirectional(this.start / other, this.y / other);
    },
    $tdiv(_, other) {
      return new A.AlignmentDirectional(B.JSNumber_methods.$tdiv(this.start, other), B.JSNumber_methods.$tdiv(this.y, other));
    },
    resolve$1(direction) {
      var _this = this;
      switch (direction.index) {
        case 0:
          return new A.Alignment(-_this.start, _this.y);
        case 1:
          return new A.Alignment(_this.start, _this.y);
      }
    },
    toString$0(_) {
      return A.AlignmentDirectional__stringify(this.start, this.y);
    }
  };
  A._MixedAlignment.prototype = {
    $mul(_, other) {
      return new A._MixedAlignment(this._x * other, this._alignment$_start * other, this._y * other);
    },
    $div(_, other) {
      return new A._MixedAlignment(this._x / other, this._alignment$_start / other, this._y / other);
    },
    $tdiv(_, other) {
      return new A._MixedAlignment(B.JSNumber_methods.$tdiv(this._x, other), B.JSNumber_methods.$tdiv(this._alignment$_start, other), B.JSNumber_methods.$tdiv(this._y, other));
    },
    resolve$1(direction) {
      var _this = this;
      switch (direction.index) {
        case 0:
          return new A.Alignment(_this._x - _this._alignment$_start, _this._y);
        case 1:
          return new A.Alignment(_this._x + _this._alignment$_start, _this._y);
      }
    },
    get$_x() {
      return this._x;
    },
    get$_alignment$_start(receiver) {
      return this._alignment$_start;
    },
    get$_y() {
      return this._y;
    }
  };
  A.TextAlignVertical.prototype = {
    toString$0(_) {
      return "TextAlignVertical(y: " + this.y + ")";
    }
  };
  A.RenderComparison.prototype = {
    toString$0(_) {
      return "RenderComparison." + this._core$_name;
    }
  };
  A.Axis.prototype = {
    toString$0(_) {
      return "Axis." + this._core$_name;
    }
  };
  A.VerticalDirection.prototype = {
    toString$0(_) {
      return "VerticalDirection." + this._core$_name;
    }
  };
  A.AxisDirection.prototype = {
    toString$0(_) {
      return "AxisDirection." + this._core$_name;
    }
  };
  A.PaintingBinding.prototype = {
    instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth(bytes, allowUpscaling, cacheHeight, cacheWidth) {
      return A.instantiateImageCodec(bytes, false, cacheHeight, cacheWidth);
    },
    instantiateImageCodec$1(bytes) {
      return this.instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth(bytes, false, null, null);
    },
    instantiateImageCodecFromBuffer$4$allowUpscaling$cacheHeight$cacheWidth(buffer, allowUpscaling, cacheHeight, cacheWidth) {
      return A.instantiateImageCodecFromBuffer(buffer, false, cacheHeight, cacheWidth);
    },
    instantiateImageCodecFromBuffer$1(buffer) {
      return this.instantiateImageCodecFromBuffer$4$allowUpscaling$cacheHeight$cacheWidth(buffer, false, null, null);
    },
    $isSchedulerBinding: 1
  };
  A._SystemFontsNotifier.prototype = {
    notifyListeners$0() {
      var t1, t2, callback;
      for (t1 = this._systemFontsCallbacks, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        callback = t1._collection$_current;
        (callback == null ? t2._as(callback) : callback).call$0();
      }
    },
    addListener$1(_, listener) {
      this._systemFontsCallbacks.add$1(0, listener);
    },
    removeListener$1(_, listener) {
      this._systemFontsCallbacks.remove$1(0, listener);
    }
  };
  A.BorderRadiusGeometry.prototype = {
    subtract$1(other) {
      var _this = this;
      return new A._MixedBorderRadius(_this.get$_topLeft().$sub(0, other.get$_topLeft()), _this.get$_topRight().$sub(0, other.get$_topRight()), _this.get$_bottomLeft().$sub(0, other.get$_bottomLeft()), _this.get$_bottomRight().$sub(0, other.get$_bottomRight()), _this.get$_topStart().$sub(0, other.get$_topStart()), _this.get$_topEnd().$sub(0, other.get$_topEnd()), _this.get$_bottomStart().$sub(0, other.get$_bottomStart()), _this.get$_bottomEnd().$sub(0, other.get$_bottomEnd()));
    },
    add$1(_, other) {
      var _this = this;
      return new A._MixedBorderRadius(_this.get$_topLeft().$add(0, other.get$_topLeft()), _this.get$_topRight().$add(0, other.get$_topRight()), _this.get$_bottomLeft().$add(0, other.get$_bottomLeft()), _this.get$_bottomRight().$add(0, other.get$_bottomRight()), _this.get$_topStart().$add(0, other.get$_topStart()), _this.get$_topEnd().$add(0, other.get$_topEnd()), _this.get$_bottomStart().$add(0, other.get$_bottomStart()), _this.get$_bottomEnd().$add(0, other.get$_bottomEnd()));
    },
    toString$0(_) {
      var visual, t1, comma, logical, _this = this;
      if (_this.get$_topLeft().$eq(0, _this.get$_topRight()) && _this.get$_topRight().$eq(0, _this.get$_bottomLeft()) && _this.get$_bottomLeft().$eq(0, _this.get$_bottomRight()))
        if (!_this.get$_topLeft().$eq(0, B.Radius_0_0))
          visual = _this.get$_topLeft().x === _this.get$_topLeft().y ? "BorderRadius.circular(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_topLeft().x, 1) + ")" : "BorderRadius.all(" + _this.get$_topLeft().toString$0(0) + ")";
        else
          visual = null;
      else {
        t1 = "" + "BorderRadius.only(";
        if (!_this.get$_topLeft().$eq(0, B.Radius_0_0)) {
          t1 += "topLeft: " + _this.get$_topLeft().toString$0(0);
          comma = true;
        } else
          comma = false;
        if (!_this.get$_topRight().$eq(0, B.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "topRight: " + _this.get$_topRight().toString$0(0);
          comma = true;
        }
        if (!_this.get$_bottomLeft().$eq(0, B.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomLeft: " + _this.get$_bottomLeft().toString$0(0);
          comma = true;
        }
        if (!_this.get$_bottomRight().$eq(0, B.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomRight: " + _this.get$_bottomRight().toString$0(0);
        }
        t1 += ")";
        visual = t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      if (_this.get$_topStart().$eq(0, _this.get$_topEnd()) && _this.get$_topEnd().$eq(0, _this.get$_bottomEnd()) && _this.get$_bottomEnd().$eq(0, _this.get$_bottomStart()))
        if (!_this.get$_topStart().$eq(0, B.Radius_0_0))
          logical = _this.get$_topStart().x === _this.get$_topStart().y ? "BorderRadiusDirectional.circular(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_topStart().x, 1) + ")" : "BorderRadiusDirectional.all(" + _this.get$_topStart().toString$0(0) + ")";
        else
          logical = null;
      else {
        t1 = "" + "BorderRadiusDirectional.only(";
        if (!_this.get$_topStart().$eq(0, B.Radius_0_0)) {
          t1 += "topStart: " + _this.get$_topStart().toString$0(0);
          comma = true;
        } else
          comma = false;
        if (!_this.get$_topEnd().$eq(0, B.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "topEnd: " + _this.get$_topEnd().toString$0(0);
          comma = true;
        }
        if (!_this.get$_bottomStart().$eq(0, B.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomStart: " + _this.get$_bottomStart().toString$0(0);
          comma = true;
        }
        if (!_this.get$_bottomEnd().$eq(0, B.Radius_0_0)) {
          if (comma)
            t1 += ", ";
          t1 += "bottomEnd: " + _this.get$_bottomEnd().toString$0(0);
        }
        t1 += ")";
        logical = t1.charCodeAt(0) == 0 ? t1 : t1;
      }
      t1 = visual != null;
      if (t1 && logical != null)
        return A.S(visual) + " + " + logical;
      if (t1)
        return visual;
      if (logical != null)
        return logical;
      return "BorderRadius.zero";
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.BorderRadiusGeometry && other.get$_topLeft().$eq(0, _this.get$_topLeft()) && other.get$_topRight().$eq(0, _this.get$_topRight()) && other.get$_bottomLeft().$eq(0, _this.get$_bottomLeft()) && other.get$_bottomRight().$eq(0, _this.get$_bottomRight()) && other.get$_topStart().$eq(0, _this.get$_topStart()) && other.get$_topEnd().$eq(0, _this.get$_topEnd()) && other.get$_bottomStart().$eq(0, _this.get$_bottomStart()) && other.get$_bottomEnd().$eq(0, _this.get$_bottomEnd());
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$_topLeft(), _this.get$_topRight(), _this.get$_bottomLeft(), _this.get$_bottomRight(), _this.get$_topStart(), _this.get$_topEnd(), _this.get$_bottomStart(), _this.get$_bottomEnd(), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.BorderRadius.prototype = {
    get$_topLeft() {
      return this.topLeft;
    },
    get$_topRight() {
      return this.topRight;
    },
    get$_bottomLeft() {
      return this.bottomLeft;
    },
    get$_bottomRight() {
      return this.bottomRight;
    },
    get$_topStart() {
      return B.Radius_0_0;
    },
    get$_topEnd() {
      return B.Radius_0_0;
    },
    get$_bottomStart() {
      return B.Radius_0_0;
    },
    get$_bottomEnd() {
      return B.Radius_0_0;
    },
    toRRect$1(rect) {
      var _this = this;
      return A.RRect$fromRectAndCorners(rect, _this.bottomLeft, _this.bottomRight, _this.topLeft, _this.topRight);
    },
    subtract$1(other) {
      if (other instanceof A.BorderRadius)
        return this.$sub(0, other);
      return this.super$BorderRadiusGeometry$subtract(other);
    },
    add$1(_, other) {
      if (other instanceof A.BorderRadius)
        return this.$add(0, other);
      return this.super$BorderRadiusGeometry$add(0, other);
    },
    $sub(_, other) {
      var _this = this;
      return new A.BorderRadius(_this.topLeft.$sub(0, other.topLeft), _this.topRight.$sub(0, other.topRight), _this.bottomLeft.$sub(0, other.bottomLeft), _this.bottomRight.$sub(0, other.bottomRight));
    },
    $add(_, other) {
      var _this = this;
      return new A.BorderRadius(_this.topLeft.$add(0, other.topLeft), _this.topRight.$add(0, other.topRight), _this.bottomLeft.$add(0, other.bottomLeft), _this.bottomRight.$add(0, other.bottomRight));
    },
    $mul(_, other) {
      var _this = this;
      return new A.BorderRadius(_this.topLeft.$mul(0, other), _this.topRight.$mul(0, other), _this.bottomLeft.$mul(0, other), _this.bottomRight.$mul(0, other));
    },
    $div(_, other) {
      var _this = this;
      return new A.BorderRadius(_this.topLeft.$div(0, other), _this.topRight.$div(0, other), _this.bottomLeft.$div(0, other), _this.bottomRight.$div(0, other));
    },
    $tdiv(_, other) {
      var _this = this;
      return new A.BorderRadius(_this.topLeft.$tdiv(0, other), _this.topRight.$tdiv(0, other), _this.bottomLeft.$tdiv(0, other), _this.bottomRight.$tdiv(0, other));
    },
    resolve$1(direction) {
      return this;
    }
  };
  A._MixedBorderRadius.prototype = {
    $mul(_, other) {
      var _this = this;
      return new A._MixedBorderRadius(_this._topLeft.$mul(0, other), _this._topRight.$mul(0, other), _this._bottomLeft.$mul(0, other), _this._bottomRight.$mul(0, other), _this._topStart.$mul(0, other), _this._topEnd.$mul(0, other), _this._bottomStart.$mul(0, other), _this._bottomEnd.$mul(0, other));
    },
    $div(_, other) {
      var _this = this;
      return new A._MixedBorderRadius(_this._topLeft.$div(0, other), _this._topRight.$div(0, other), _this._bottomLeft.$div(0, other), _this._bottomRight.$div(0, other), _this._topStart.$div(0, other), _this._topEnd.$div(0, other), _this._bottomStart.$div(0, other), _this._bottomEnd.$div(0, other));
    },
    $tdiv(_, other) {
      var _this = this;
      return new A._MixedBorderRadius(_this._topLeft.$tdiv(0, other), _this._topRight.$tdiv(0, other), _this._bottomLeft.$tdiv(0, other), _this._bottomRight.$tdiv(0, other), _this._topStart.$tdiv(0, other), _this._topEnd.$tdiv(0, other), _this._bottomStart.$tdiv(0, other), _this._bottomEnd.$tdiv(0, other));
    },
    resolve$1(direction) {
      var _this = this;
      switch (direction.index) {
        case 0:
          return new A.BorderRadius(_this._topLeft.$add(0, _this._topEnd), _this._topRight.$add(0, _this._topStart), _this._bottomLeft.$add(0, _this._bottomEnd), _this._bottomRight.$add(0, _this._bottomStart));
        case 1:
          return new A.BorderRadius(_this._topLeft.$add(0, _this._topStart), _this._topRight.$add(0, _this._topEnd), _this._bottomLeft.$add(0, _this._bottomStart), _this._bottomRight.$add(0, _this._bottomEnd));
      }
    },
    get$_topLeft() {
      return this._topLeft;
    },
    get$_topRight() {
      return this._topRight;
    },
    get$_bottomLeft() {
      return this._bottomLeft;
    },
    get$_bottomRight() {
      return this._bottomRight;
    },
    get$_topStart() {
      return this._topStart;
    },
    get$_topEnd() {
      return this._topEnd;
    },
    get$_bottomStart() {
      return this._bottomStart;
    },
    get$_bottomEnd() {
      return this._bottomEnd;
    }
  };
  A.BorderStyle.prototype = {
    toString$0(_) {
      return "BorderStyle." + this._core$_name;
    }
  };
  A.StrokeAlign.prototype = {
    toString$0(_) {
      return "StrokeAlign." + this._core$_name;
    }
  };
  A.BorderSide.prototype = {
    scale$1(_, t) {
      var t1 = Math.max(0, this.width * t),
        t2 = t <= 0 ? B.BorderStyle_0 : this.style;
      return new A.BorderSide(this.color, t1, t2, B.StrokeAlign_0);
    },
    toPaint$0() {
      switch (this.style.index) {
        case 1:
          var t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          t1.set$color(0, this.color);
          t1.set$strokeWidth(this.width);
          t1.set$style(0, B.PaintingStyle_1);
          return t1;
        case 0:
          t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          t1.set$color(0, B.Color_0);
          t1.set$strokeWidth(0);
          t1.set$style(0, B.PaintingStyle_1);
          return t1;
      }
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.BorderSide && other.color.$eq(0, _this.color) && other.width === _this.width && other.style === _this.style && other.strokeAlign === _this.strokeAlign;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.color, _this.width, _this.style, _this.strokeAlign, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.strokeAlign;
      if (t1 === B.StrokeAlign_0)
        return "BorderSide(" + _this.color.toString$0(0) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.width, 1) + ", " + _this.style.toString$0(0) + ")";
      return "BorderSide(" + _this.color.toString$0(0) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.width, 1) + ", " + _this.style.toString$0(0) + ", " + t1.toString$0(0) + ")";
    }
  };
  A.ShapeBorder.prototype = {
    add$2$reversed(_, other, reversed) {
      return null;
    },
    add$1($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    $add(_, other) {
      var t1 = this.add$1(0, other);
      if (t1 == null)
        t1 = other.add$2$reversed(0, this, true);
      return t1 == null ? new A._CompoundBorder(A._setArrayType([other, this], type$.JSArray_ShapeBorder)) : t1;
    },
    lerpFrom$2(a, t) {
      if (a == null)
        return this.scale$1(0, t);
      return null;
    },
    lerpTo$2(b, t) {
      if (b == null)
        return this.scale$1(0, 1 - t);
      return null;
    },
    toString$0(_) {
      return "ShapeBorder()";
    }
  };
  A.OutlinedBorder.prototype = {
    lerpFrom$2(a, t) {
      if (a == null)
        return this.scale$1(0, t);
      return null;
    },
    lerpTo$2(b, t) {
      if (b == null)
        return this.scale$1(0, 1 - t);
      return null;
    }
  };
  A._CompoundBorder.prototype = {
    get$dimensions() {
      return B.JSArray_methods.fold$2(this.borders, B.EdgeInsets_0_0_0_0, new A._CompoundBorder_dimensions_closure());
    },
    add$2$reversed(_, other, reversed) {
      var t2, ours, merged,
        t1 = other instanceof A._CompoundBorder;
      if (!t1) {
        t2 = this.borders;
        ours = reversed ? B.JSArray_methods.get$last(t2) : B.JSArray_methods.get$first(t2);
        merged = ours.add$2$reversed(0, other, reversed);
        if (merged == null)
          merged = other.add$2$reversed(0, ours, !reversed);
        if (merged != null) {
          t1 = A.List_List$of(t2, true, type$.ShapeBorder);
          t1[reversed ? t1.length - 1 : 0] = merged;
          return new A._CompoundBorder(t1);
        }
      }
      t2 = A._setArrayType([], type$.JSArray_ShapeBorder);
      if (reversed)
        B.JSArray_methods.addAll$1(t2, this.borders);
      if (t1)
        B.JSArray_methods.addAll$1(t2, other.borders);
      else
        t2.push(other);
      if (!reversed)
        B.JSArray_methods.addAll$1(t2, this.borders);
      return new A._CompoundBorder(t2);
    },
    add$1($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    scale$1(_, t) {
      var t1 = this.borders,
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ShapeBorder>");
      return new A._CompoundBorder(A.List_List$of(new A.MappedListIterable(t1, new A._CompoundBorder_scale_closure(t), t2), true, t2._eval$1("ListIterable.E")));
    },
    lerpFrom$2(a, t) {
      return A._CompoundBorder_lerp(a, this, t);
    },
    lerpTo$2(b, t) {
      return A._CompoundBorder_lerp(this, b, t);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var t1, index;
      for (t1 = this.borders, index = 0; index < t1.length - 1; ++index)
        rect = t1[index].get$dimensions().resolve$1(textDirection).deflateRect$1(rect);
      return B.JSArray_methods.get$last(t1).getInnerPath$2$textDirection(rect, textDirection);
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      return B.JSArray_methods.get$first(this.borders).getOuterPath$2$textDirection(rect, textDirection);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var t1, t2, _i, border;
      for (t1 = this.borders, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        border = t1[_i];
        border.paint$3$textDirection(canvas, rect, textDirection);
        rect = border.get$dimensions().resolve$1(textDirection).deflateRect$1(rect);
      }
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A._CompoundBorder && A.listEquals(other.borders, this.borders);
    },
    get$hashCode(_) {
      return A.Object_hashAll(this.borders);
    },
    toString$0(_) {
      var t1 = this.borders,
        t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      return new A.MappedListIterable(new A.ReversedListIterable(t1, t2), new A._CompoundBorder_toString_closure(), t2._eval$1("MappedListIterable<ListIterable.E,String>")).join$1(0, " + ");
    }
  };
  A._CompoundBorder_dimensions_closure.prototype = {
    call$2(previousValue, border) {
      return previousValue.add$1(0, border.get$dimensions());
    },
    $signature: 804
  };
  A._CompoundBorder_scale_closure.prototype = {
    call$1(border) {
      return border.scale$1(0, this.t);
    },
    $signature: 805
  };
  A._CompoundBorder_toString_closure.prototype = {
    call$1(border) {
      return border.toString$0(0);
    },
    $signature: 806
  };
  A.BoxShape.prototype = {
    toString$0(_) {
      return "BoxShape." + this._core$_name;
    }
  };
  A.BoxBorder.prototype = {
    add$2$reversed(_, other, reversed) {
      return null;
    },
    add$1($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRect$1(this.get$dimensions().resolve$1(textDirection).deflateRect$1(rect));
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRect$1(rect);
      return t1;
    }
  };
  A.Border.prototype = {
    get$dimensions() {
      var t1, _this = this;
      if (_this.get$isUniform()) {
        t1 = _this.top;
        switch (t1.strokeAlign.index) {
          case 0:
            t1 = t1.width;
            return new A.EdgeInsets(t1, t1, t1, t1);
          case 1:
            t1 = t1.width / 2;
            return new A.EdgeInsets(t1, t1, t1, t1);
          case 2:
            return B.EdgeInsets_0_0_0_0;
        }
      }
      return new A.EdgeInsets(_this.left.width, _this.top.width, _this.right.width, _this.bottom.width);
    },
    get$isUniform() {
      var topWidth, topStyle, topStrokeAlign, _this = this,
        t1 = _this.top,
        topColor = t1.color,
        t2 = _this.right;
      if (t2.color.$eq(0, topColor) && _this.bottom.color.$eq(0, topColor) && _this.left.color.$eq(0, topColor)) {
        topWidth = t1.width;
        if (t2.width === topWidth && _this.bottom.width === topWidth && _this.left.width === topWidth) {
          topStyle = t1.style;
          if (t2.style === topStyle && _this.bottom.style === topStyle && _this.left.style === topStyle) {
            topStrokeAlign = t1.strokeAlign;
            t1 = t2.strokeAlign === topStrokeAlign && _this.bottom.strokeAlign === topStrokeAlign && _this.left.strokeAlign === topStrokeAlign;
          } else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      return t1;
    },
    add$2$reversed(_, other, reversed) {
      var _this = this;
      if (other instanceof A.Border && A.BorderSide_canMerge(_this.top, other.top) && A.BorderSide_canMerge(_this.right, other.right) && A.BorderSide_canMerge(_this.bottom, other.bottom) && A.BorderSide_canMerge(_this.left, other.left))
        return new A.Border(A.BorderSide_merge(_this.top, other.top), A.BorderSide_merge(_this.right, other.right), A.BorderSide_merge(_this.bottom, other.bottom), A.BorderSide_merge(_this.left, other.left));
      return null;
    },
    add$1($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    scale$1(_, t) {
      var _this = this;
      return new A.Border(_this.top.scale$1(0, t), _this.right.scale$1(0, t), _this.bottom.scale$1(0, t), _this.left.scale$1(0, t));
    },
    lerpFrom$2(a, t) {
      if (a instanceof A.Border)
        return A.Border_lerp(a, this, t);
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      if (b instanceof A.Border)
        return A.Border_lerp(this, b, t);
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    paint$5$borderRadius$shape$textDirection(canvas, rect, borderRadius, shape, textDirection) {
      var t1, _this = this;
      if (_this.get$isUniform()) {
        t1 = _this.top;
        switch (t1.style.index) {
          case 0:
            return;
          case 1:
            switch (shape.index) {
              case 1:
                A.BoxBorder__paintUniformBorderWithCircle(canvas, rect, t1);
                break;
              case 0:
                if (borderRadius != null) {
                  A.BoxBorder__paintUniformBorderWithRadius(canvas, rect, t1, borderRadius);
                  return;
                }
                A.BoxBorder__paintUniformBorderWithRectangle(canvas, rect, t1);
                break;
            }
            return;
        }
      }
      A.paintBorder(canvas, rect, _this.bottom, _this.left, _this.right, _this.top);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      return this.paint$5$borderRadius$shape$textDirection(canvas, rect, null, B.BoxShape_0, textDirection);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.Border && other.top.$eq(0, _this.top) && other.right.$eq(0, _this.right) && other.bottom.$eq(0, _this.bottom) && other.left.$eq(0, _this.left);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.top, _this.right, _this.bottom, _this.left, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t1, t2, _this = this;
      if (_this.get$isUniform())
        return "Border.all(" + _this.top.toString$0(0) + ")";
      t1 = A._setArrayType([], type$.JSArray_String);
      t2 = _this.top;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("top: " + t2.toString$0(0));
      t2 = _this.right;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("right: " + t2.toString$0(0));
      t2 = _this.bottom;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("bottom: " + t2.toString$0(0));
      t2 = _this.left;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("left: " + t2.toString$0(0));
      return "Border(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    },
    get$top(receiver) {
      return this.top;
    }
  };
  A.BorderDirectional.prototype = {
    get$dimensions() {
      var t1, _this = this;
      if (_this.get$isUniform()) {
        t1 = _this.top;
        switch (t1.strokeAlign.index) {
          case 0:
            t1 = t1.width;
            return new A.EdgeInsetsDirectional(t1, t1, t1, t1);
          case 1:
            t1 = t1.width / 2;
            return new A.EdgeInsetsDirectional(t1, t1, t1, t1);
          case 2:
            return B.EdgeInsetsDirectional_0_0_0_0;
        }
      }
      return new A.EdgeInsetsDirectional(_this.start.width, _this.top.width, _this.end.width, _this.bottom.width);
    },
    get$isUniform() {
      var topWidth, topStyle, topStrokeAlign, _this = this,
        t1 = _this.top,
        topColor = t1.color,
        t2 = _this.start;
      if (!t2.color.$eq(0, topColor) || !_this.end.color.$eq(0, topColor) || !_this.bottom.color.$eq(0, topColor))
        return false;
      topWidth = t1.width;
      if (t2.width !== topWidth || _this.end.width !== topWidth || _this.bottom.width !== topWidth)
        return false;
      topStyle = t1.style;
      if (t2.style !== topStyle || _this.end.style !== topStyle || _this.bottom.style !== topStyle)
        return false;
      topStrokeAlign = t1.strokeAlign;
      if (!(t2.strokeAlign === topStrokeAlign && _this.bottom.strokeAlign === topStrokeAlign && _this.end.strokeAlign === topStrokeAlign))
        return false;
      return true;
    },
    add$2$reversed(_, other, reversed) {
      var t1, t2, t3, _this = this, _null = null;
      if (other instanceof A.BorderDirectional) {
        t1 = _this.top;
        t2 = other.top;
        if (A.BorderSide_canMerge(t1, t2) && A.BorderSide_canMerge(_this.start, other.start) && A.BorderSide_canMerge(_this.end, other.end) && A.BorderSide_canMerge(_this.bottom, other.bottom))
          return new A.BorderDirectional(A.BorderSide_merge(t1, t2), A.BorderSide_merge(_this.start, other.start), A.BorderSide_merge(_this.end, other.end), A.BorderSide_merge(_this.bottom, other.bottom));
        return _null;
      }
      if (other instanceof A.Border) {
        t1 = other.top;
        t2 = _this.top;
        if (!A.BorderSide_canMerge(t1, t2) || !A.BorderSide_canMerge(other.bottom, _this.bottom))
          return _null;
        t3 = _this.start;
        if (!t3.$eq(0, B.BorderSide_aLd) || !_this.end.$eq(0, B.BorderSide_aLd)) {
          if (!other.left.$eq(0, B.BorderSide_aLd) || !other.right.$eq(0, B.BorderSide_aLd))
            return _null;
          return new A.BorderDirectional(A.BorderSide_merge(t1, t2), t3, _this.end, A.BorderSide_merge(other.bottom, _this.bottom));
        }
        return new A.Border(A.BorderSide_merge(t1, t2), other.right, A.BorderSide_merge(other.bottom, _this.bottom), other.left);
      }
      return _null;
    },
    add$1($receiver, other) {
      return this.add$2$reversed($receiver, other, false);
    },
    scale$1(_, t) {
      var _this = this;
      return new A.BorderDirectional(_this.top.scale$1(0, t), _this.start.scale$1(0, t), _this.end.scale$1(0, t), _this.bottom.scale$1(0, t));
    },
    lerpFrom$2(a, t) {
      if (a instanceof A.BorderDirectional)
        return A.BorderDirectional_lerp(a, this, t);
      return this.super$ShapeBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      if (b instanceof A.BorderDirectional)
        return A.BorderDirectional_lerp(this, b, t);
      return this.super$ShapeBorder$lerpTo(b, t);
    },
    paint$5$borderRadius$shape$textDirection(canvas, rect, borderRadius, shape, textDirection) {
      var t1, left, right, _this = this;
      if (_this.get$isUniform()) {
        t1 = _this.top;
        switch (t1.style.index) {
          case 0:
            return;
          case 1:
            switch (shape.index) {
              case 1:
                A.BoxBorder__paintUniformBorderWithCircle(canvas, rect, t1);
                break;
              case 0:
                if (borderRadius != null) {
                  A.BoxBorder__paintUniformBorderWithRadius(canvas, rect, t1, borderRadius);
                  return;
                }
                A.BoxBorder__paintUniformBorderWithRectangle(canvas, rect, t1);
                break;
            }
            return;
        }
      }
      switch (textDirection.index) {
        case 0:
          left = _this.end;
          right = _this.start;
          break;
        case 1:
          left = _this.start;
          right = _this.end;
          break;
        default:
          left = null;
          right = null;
      }
      A.paintBorder(canvas, rect, _this.bottom, left, right, _this.top);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      return this.paint$5$borderRadius$shape$textDirection(canvas, rect, null, B.BoxShape_0, textDirection);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.BorderDirectional && other.top.$eq(0, _this.top) && other.start.$eq(0, _this.start) && other.end.$eq(0, _this.end) && other.bottom.$eq(0, _this.bottom);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.top, _this.start, _this.end, _this.bottom, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this,
        t1 = A._setArrayType([], type$.JSArray_String),
        t2 = _this.top;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("top: " + t2.toString$0(0));
      t2 = _this.start;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("start: " + t2.toString$0(0));
      t2 = _this.end;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("end: " + t2.toString$0(0));
      t2 = _this.bottom;
      if (!t2.$eq(0, B.BorderSide_aLd))
        t1.push("bottom: " + t2.toString$0(0));
      return "BorderDirectional(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    },
    get$top(receiver) {
      return this.top;
    }
  };
  A.BoxDecoration.prototype = {
    get$padding(_) {
      var t1 = this.border;
      return t1 == null ? null : t1.get$dimensions();
    },
    getClipPath$2(rect, textDirection) {
      var square, t1, t2;
      switch (this.shape.index) {
        case 1:
          square = A.Rect$fromCircle(rect.get$center(), rect.get$shortestSide() / 2);
          t1 = A.Path_Path();
          t1.addOval$1(square);
          return t1;
        case 0:
          t1 = this.borderRadius;
          if (t1 != null) {
            t2 = A.Path_Path();
            t2.addRRect$1(t1.resolve$1(textDirection).toRRect$1(rect));
            return t2;
          }
          t1 = A.Path_Path();
          t1.addRect$1(rect);
          return t1;
      }
    },
    scale$1(_, factor) {
      var _this = this, _null = null,
        t1 = A.Color_lerp(_null, _this.color, factor),
        t2 = A.BoxBorder_lerp(_null, _this.border, factor),
        t3 = A.BorderRadiusGeometry_lerp(_null, _this.borderRadius, factor),
        t4 = A.BoxShadow_lerpList(_null, _this.boxShadow, factor),
        t5 = _this.gradient;
      t5 = t5 == null ? _null : t5.scale$1(0, factor);
      return new A.BoxDecoration(t1, _this.image, t2, t3, t4, t5, _null, _this.shape);
    },
    get$isComplex() {
      return this.boxShadow != null;
    },
    lerpFrom$2(a, t) {
      if (a == null)
        return this.scale$1(0, t);
      if (a instanceof A.BoxDecoration)
        return A.BoxDecoration_lerp(a, this, t);
      return this.super$Decoration$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      if (b == null)
        return this.scale$1(0, 1 - t);
      if (b instanceof A.BoxDecoration)
        return A.BoxDecoration_lerp(this, b, t);
      return this.super$Decoration$lerpTo(b, t);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.BoxDecoration)
        if (J.$eq$(other.color, _this.color))
          if (J.$eq$(other.image, _this.image))
            if (J.$eq$(other.border, _this.border))
              if (J.$eq$(other.borderRadius, _this.borderRadius))
                if (A.listEquals(other.boxShadow, _this.boxShadow))
                  if (J.$eq$(other.gradient, _this.gradient))
                    t1 = other.shape === _this.shape;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.boxShadow;
      t1 = t1 == null ? null : A.Object_hashAll(t1);
      return A.Object_hash(_this.color, _this.image, _this.border, _this.borderRadius, t1, _this.gradient, _this.backgroundBlendMode, _this.shape, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    hitTest$3$textDirection(size, position, textDirection) {
      var t1;
      switch (this.shape.index) {
        case 0:
          t1 = this.borderRadius;
          if (t1 != null)
            return t1.resolve$1(textDirection).toRRect$1(new A.Rect(0, 0, 0 + size._dx, 0 + size._dy)).contains$1(0, position);
          return true;
        case 1:
          return position.$sub(0, size.center$1(B.Offset_0_0)).get$distance() <= Math.min(size._dx, size._dy) / 2;
      }
    },
    createBoxPainter$1(onChanged) {
      return new A._BoxDecorationPainter(this, onChanged);
    }
  };
  A._BoxDecorationPainter.prototype = {
    _paintBox$4(canvas, rect, paint, textDirection) {
      var t1 = this._box_decoration$_decoration;
      switch (t1.shape.index) {
        case 1:
          canvas.drawCircle$3(rect.get$center(), rect.get$shortestSide() / 2, paint);
          break;
        case 0:
          t1 = t1.borderRadius;
          if (t1 == null)
            canvas.drawRect$2(rect, paint);
          else
            canvas.drawRRect$2(t1.resolve$1(textDirection).toRRect$1(rect), paint);
          break;
      }
    },
    _paintShadows$3(canvas, rect, textDirection) {
      var t2, _i, boxShadow, result, t3, t4,
        t1 = this._box_decoration$_decoration.boxShadow;
      if (t1 == null)
        return;
      for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        boxShadow = t1[_i];
        result = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        result.set$color(0, boxShadow.color);
        t3 = boxShadow.blurStyle;
        t4 = boxShadow.blurRadius;
        result.set$maskFilter(new A.MaskFilter(t3, t4 > 0 ? t4 * 0.57735 + 0.5 : 0));
        t3 = rect.shift$1(boxShadow.offset);
        t4 = boxShadow.spreadRadius;
        this._paintBox$4(canvas, new A.Rect(t3.left - t4, t3.top - t4, t3.right + t4, t3.bottom + t4), result, textDirection);
      }
    },
    _paintBackgroundImage$3(canvas, rect, configuration) {
      var t3, square, clipPath, _this = this,
        t1 = _this._box_decoration$_decoration,
        t2 = t1.image;
      if (t2 == null)
        return;
      if (_this._imagePainter == null) {
        t3 = _this.onChanged;
        t3.toString;
        _this._imagePainter = new A.DecorationImagePainter(t2, t3);
      }
      switch (t1.shape.index) {
        case 1:
          square = A.Rect$fromCircle(rect.get$center(), rect.get$shortestSide() / 2);
          clipPath = A.Path_Path();
          clipPath.addOval$1(square);
          break;
        case 0:
          t1 = t1.borderRadius;
          if (t1 != null) {
            clipPath = A.Path_Path();
            clipPath.addRRect$1(t1.resolve$1(configuration.textDirection).toRRect$1(rect));
          } else
            clipPath = null;
          break;
        default:
          clipPath = null;
      }
      _this._imagePainter.paint$4(canvas, rect, clipPath, configuration);
    },
    dispose$0() {
      var t1 = this._imagePainter;
      if (t1 != null)
        t1.dispose$0();
      this.super$BoxPainter$dispose();
    },
    paint$3(canvas, offset, configuration) {
      var t4, paint, _this = this,
        t1 = configuration.size,
        t2 = offset._dx,
        t3 = offset._dy,
        rect = new A.Rect(t2, t3, t2 + t1._dx, t3 + t1._dy),
        textDirection = configuration.textDirection;
      _this._paintShadows$3(canvas, rect, textDirection);
      t1 = _this._box_decoration$_decoration;
      t2 = t1.color;
      t3 = t2 == null;
      if (!t3 || t1.gradient != null) {
        if (_this._cachedBackgroundPaint != null)
          t4 = t1.gradient != null && !J.$eq$(_this._rectForCachedBackgroundPaint, rect);
        else
          t4 = true;
        if (t4) {
          paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          if (!t3)
            paint.set$color(0, t2);
          t2 = t1.gradient;
          if (t2 != null) {
            paint.set$shader(t2.createShader$2$textDirection(0, rect, textDirection));
            _this._rectForCachedBackgroundPaint = rect;
          }
          _this._cachedBackgroundPaint = paint;
        }
        t2 = _this._cachedBackgroundPaint;
        t2.toString;
        _this._paintBox$4(canvas, rect, t2, textDirection);
      }
      _this._paintBackgroundImage$3(canvas, rect, configuration);
      t2 = t1.border;
      if (t2 != null) {
        t3 = t1.borderRadius;
        t3 = t3 == null ? null : t3.resolve$1(textDirection);
        t2.paint$5$borderRadius$shape$textDirection(canvas, rect, t3, t1.shape, textDirection);
      }
    },
    toString$0(_) {
      return "BoxPainter for " + this._box_decoration$_decoration.toString$0(0);
    }
  };
  A.BoxFit.prototype = {
    toString$0(_) {
      return "BoxFit." + this._core$_name;
    }
  };
  A.FittedSizes.prototype = {};
  A.BoxShadow.prototype = {
    toPaint$0() {
      var result = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      result.set$color(0, this.color);
      result.set$maskFilter(new A.MaskFilter(this.blurStyle, A.Shadow_convertRadiusToSigma(this.blurRadius)));
      return result;
    },
    scale$1(_, factor) {
      var _this = this;
      return new A.BoxShadow(_this.spreadRadius * factor, _this.blurStyle, _this.color, _this.offset.$mul(0, factor), _this.blurRadius * factor);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.BoxShadow && other.color.$eq(0, _this.color) && other.offset.$eq(0, _this.offset) && other.blurRadius === _this.blurRadius && other.spreadRadius === _this.spreadRadius && other.blurStyle === _this.blurStyle;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.color, _this.offset, _this.blurRadius, _this.spreadRadius, _this.blurStyle, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "BoxShadow(" + _this.color.toString$0(0) + ", " + _this.offset.toString$0(0) + ", " + A.debugFormatDouble(_this.blurRadius) + ", " + A.debugFormatDouble(_this.spreadRadius) + "), " + _this.blurStyle.toString$0(0);
    }
  };
  A.CircleBorder.prototype = {
    get$dimensions() {
      var t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          t1 = t1.width;
          return new A.EdgeInsets(t1, t1, t1, t1);
        case 1:
          t1 = t1.width / 2;
          return new A.EdgeInsets(t1, t1, t1, t1);
        case 2:
          return B.EdgeInsets_0_0_0_0;
      }
    },
    scale$1(_, t) {
      return new A.CircleBorder(this.side.scale$1(0, t));
    },
    lerpFrom$2(a, t) {
      if (a instanceof A.CircleBorder)
        return new A.CircleBorder(A.BorderSide_lerp(a.side, this.side, t));
      return this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      if (b instanceof A.CircleBorder)
        return new A.CircleBorder(A.BorderSide_lerp(this.side, b.side, t));
      return this.super$OutlinedBorder$lerpTo(b, t);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var adjustedRadius,
        radius = rect.get$shortestSide() / 2,
        t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          adjustedRadius = radius - t1.width;
          break;
        case 1:
          adjustedRadius = radius - t1.width / 2;
          break;
        case 2:
          adjustedRadius = radius;
          break;
        default:
          adjustedRadius = null;
      }
      t1 = A.Path_Path();
      t1.addOval$1(A.Rect$fromCircle(rect.get$center(), Math.max(0, A.checkNum(adjustedRadius))));
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addOval$1(A.Rect$fromCircle(rect.get$center(), rect.get$shortestSide() / 2));
      return t1;
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side(side) {
      return new A.CircleBorder(side == null ? this.side : side);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var radius,
        t1 = this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          switch (t1.strokeAlign.index) {
            case 0:
              radius = (rect.get$shortestSide() - t1.width) / 2;
              break;
            case 1:
              radius = rect.get$shortestSide() / 2;
              break;
            case 2:
              radius = (rect.get$shortestSide() + t1.width) / 2;
              break;
            default:
              radius = null;
          }
          canvas.drawCircle$3(rect.get$center(), radius, t1.toPaint$0());
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.CircleBorder && other.side.$eq(0, this.side);
    },
    get$hashCode(_) {
      var t1 = this.side;
      return A.Object_hash(t1.color, t1.width, t1.style, t1.strokeAlign, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "CircleBorder(" + this.side.toString$0(0) + ")";
    }
  };
  A.ClipContext.prototype = {
    _clipAndPaint$4(canvasClipCall, clipBehavior, bounds, painter) {
      var t1, _this = this;
      _this.get$canvas(_this).save$0(0);
      switch (clipBehavior.index) {
        case 0:
          break;
        case 1:
          canvasClipCall.call$1(false);
          break;
        case 2:
          canvasClipCall.call$1(true);
          break;
        case 3:
          canvasClipCall.call$1(true);
          t1 = _this.get$canvas(_this);
          t1.saveLayer$2(bounds, $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()));
          break;
      }
      painter.call$0();
      if (clipBehavior === B.Clip_3)
        _this.get$canvas(_this).restore$0(0);
      _this.get$canvas(_this).restore$0(0);
    },
    clipPathAndPaint$4(path, clipBehavior, bounds, painter) {
      this._clipAndPaint$4(new A.ClipContext_clipPathAndPaint_closure(this, path), clipBehavior, bounds, painter);
    },
    clipRRectAndPaint$4(rrect, clipBehavior, bounds, painter) {
      this._clipAndPaint$4(new A.ClipContext_clipRRectAndPaint_closure(this, rrect), clipBehavior, bounds, painter);
    },
    clipRectAndPaint$4(rect, clipBehavior, bounds, painter) {
      this._clipAndPaint$4(new A.ClipContext_clipRectAndPaint_closure(this, rect), clipBehavior, bounds, painter);
    }
  };
  A.ClipContext_clipPathAndPaint_closure.prototype = {
    call$1(doAntiAlias) {
      var t1 = this.$this;
      return t1.get$canvas(t1).clipPath$2$doAntiAlias(0, this.path, doAntiAlias);
    },
    $signature: 10
  };
  A.ClipContext_clipRRectAndPaint_closure.prototype = {
    call$1(doAntiAlias) {
      var t1 = this.$this;
      return t1.get$canvas(t1).clipRRect$2$doAntiAlias(this.rrect, doAntiAlias);
    },
    $signature: 10
  };
  A.ClipContext_clipRectAndPaint_closure.prototype = {
    call$1(doAntiAlias) {
      var t1 = this.$this;
      return t1.get$canvas(t1).clipRect$2$doAntiAlias(this.rect, doAntiAlias);
    },
    $signature: 10
  };
  A.ColorSwatch.prototype = {
    $index(_, index) {
      return this._swatch.$index(0, index);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return _this.super$Color$$eq(0, other) && A._instanceType(_this)._eval$1("ColorSwatch<ColorSwatch.T>")._is(other) && A.mapEquals(other._swatch, _this._swatch);
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), this.value, this._swatch, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "ColorSwatch(primary value: " + this.super$Color$toString(0) + ")";
    }
  };
  A.ContinuousRectangleBorder.prototype = {
    get$dimensions() {
      var t1 = this.side.width;
      return new A.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new A.ContinuousRectangleBorder(this.borderRadius.$mul(0, t), t1);
    },
    lerpFrom$2(a, t) {
      var t1, t2;
      if (a instanceof A.ContinuousRectangleBorder) {
        t1 = A.BorderSide_lerp(a.side, this.side, t);
        t2 = A.BorderRadiusGeometry_lerp(a.borderRadius, this.borderRadius, t);
        t2.toString;
        return new A.ContinuousRectangleBorder(t2, t1);
      }
      return this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2;
      if (b instanceof A.ContinuousRectangleBorder) {
        t1 = A.BorderSide_lerp(this.side, b.side, t);
        t2 = A.BorderRadiusGeometry_lerp(this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new A.ContinuousRectangleBorder(t2, t1);
      }
      return this.super$OutlinedBorder$lerpTo(b, t);
    },
    _getPath$1(rrect) {
      var tlRadiusX, tlRadiusY, trRadiusX, trRadiusY, blRadiusX, blRadiusY, brRadiusX, brRadiusY,
        left = rrect.left,
        right = rrect.right,
        $top = rrect.top,
        bottom = rrect.bottom,
        t1 = rrect.tlRadiusX;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      tlRadiusX = Math.max(0, t1);
      t1 = rrect.tlRadiusY;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      tlRadiusY = Math.max(0, t1);
      t1 = rrect.trRadiusX;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      trRadiusX = Math.max(0, t1);
      t1 = rrect.trRadiusY;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      trRadiusY = Math.max(0, t1);
      t1 = rrect.blRadiusX;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      blRadiusX = Math.max(0, t1);
      t1 = rrect.blRadiusY;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      blRadiusY = Math.max(0, t1);
      t1 = rrect.brRadiusX;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      brRadiusX = Math.max(0, t1);
      t1 = rrect.brRadiusY;
      if (t1 > rrect.get$shortestSide())
        t1 = rrect.get$shortestSide();
      brRadiusY = Math.max(0, t1);
      t1 = A.Path_Path();
      t1.moveTo$2(0, left, $top + tlRadiusX);
      t1.cubicTo$6(left, $top, left, $top, left + tlRadiusY, $top);
      t1.lineTo$2(0, right - trRadiusX, $top);
      t1.cubicTo$6(right, $top, right, $top, right, $top + trRadiusY);
      t1.lineTo$2(0, right, bottom - brRadiusX);
      t1.cubicTo$6(right, bottom, right, bottom, right - brRadiusY, bottom);
      t1.lineTo$2(0, left + blRadiusX, bottom);
      t1.cubicTo$6(left, bottom, left, bottom, left, bottom - blRadiusY);
      t1.close$0(0);
      return t1;
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      return this._getPath$1(this.borderRadius.resolve$1(textDirection).toRRect$1(rect).inflate$1(-this.side.width));
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      return this._getPath$1(this.borderRadius.resolve$1(textDirection).toRRect$1(rect));
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side(side) {
      var t1 = side == null ? this.side : side;
      return new A.ContinuousRectangleBorder(this.borderRadius, t1);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var t1;
      if (rect.get$isEmpty(rect))
        return;
      t1 = this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          canvas.drawPath$2(this.getOuterPath$2$textDirection(rect, textDirection), t1.toPaint$0());
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.ContinuousRectangleBorder && other.side.$eq(0, this.side) && other.borderRadius.$eq(0, this.borderRadius);
    },
    get$hashCode(_) {
      return A.Object_hash(this.side, this.borderRadius, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "ContinuousRectangleBorder(" + this.side.toString$0(0) + ", " + this.borderRadius.toString$0(0) + ")";
    }
  };
  A.ImageSizeInfo.prototype = {
    _sizeToBytes$1(size) {
      return B.JSNumber_methods.toInt$0(size._dx * size._dy * 4 * 1.3333333333333333);
    },
    toJson$0() {
      var _this = this,
        t1 = _this.displaySize,
        t2 = type$.String,
        t3 = type$.nullable_Object,
        t4 = _this.imageSize;
      return A.LinkedHashMap_LinkedHashMap$_literal(["source", _this.source, "displaySize", A.LinkedHashMap_LinkedHashMap$_literal(["width", t1._dx, "height", t1._dy], t2, t3), "imageSize", A.LinkedHashMap_LinkedHashMap$_literal(["width", t4._dx, "height", t4._dy], t2, t3), "displaySizeInBytes", _this._sizeToBytes$1(t1), "decodedSizeInBytes", _this._sizeToBytes$1(t4)], t2, t3);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ImageSizeInfo && other.source === _this.source && other.imageSize.$eq(0, _this.imageSize) && other.displaySize.$eq(0, _this.displaySize);
    },
    get$hashCode(_) {
      return A.Object_hash(this.source, this.displaySize, this.imageSize, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "ImageSizeInfo(" + this.source + ", imageSize: " + this.imageSize.toString$0(0) + ", displaySize: " + this.displaySize.toString$0(0) + ")";
    }
  };
  A.Decoration.prototype = {
    toStringShort$0() {
      return "Decoration";
    },
    get$padding(_) {
      return B.EdgeInsets_0_0_0_0;
    },
    get$isComplex() {
      return false;
    },
    lerpFrom$2(a, t) {
      return null;
    },
    lerpTo$2(b, t) {
      return null;
    },
    hitTest$3$textDirection(size, position, textDirection) {
      return true;
    },
    getClipPath$2(rect, textDirection) {
      throw A.wrapException(A.UnsupportedError$("This Decoration subclass does not expect to be used for clipping."));
    }
  };
  A.BoxPainter.prototype = {
    dispose$0() {
    }
  };
  A._Decoration_Object_Diagnosticable.prototype = {};
  A.ImageRepeat.prototype = {
    toString$0(_) {
      return "ImageRepeat." + this._core$_name;
    }
  };
  A.DecorationImagePainter.prototype = {
    paint$4(canvas, rect, clipPath, configuration) {
      var t2, t3, _this = this, _null = null,
        t1 = _this._details,
        newImageStream = t1.image.resolve$1(configuration);
      newImageStream.get$key(newImageStream);
      _this._imageStream = newImageStream;
      newImageStream.addListener$1(0, new A.ImageStreamListener(_this.get$_handleImage(), _null, t1.onError));
      if (_this._image == null)
        return;
      t1 = clipPath != null;
      if (t1) {
        canvas.save$0(0);
        canvas.clipPath$1(0, clipPath);
      }
      t2 = _this._image;
      t3 = t2.image;
      A.paintImage(B.Alignment_0_0, canvas, _null, _null, t2.debugLabel, B.FilterQuality_1, _null, false, t3, false, false, 1, rect, B.ImageRepeat_3, t2.scale);
      if (t1)
        canvas.restore$0(0);
    },
    _handleImage$2(value, synchronousCall) {
      var t1, t2, _this = this;
      if (J.$eq$(_this._image, value))
        return;
      t1 = _this._image;
      if (t1 != null)
        if (value.image.isCloneOf$1(t1.image)) {
          t2 = t1.scale;
          t1 = t2 === t2 && value.debugLabel == t1.debugLabel;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        value.image.dispose$0();
        return;
      }
      t1 = _this._image;
      if (t1 != null)
        t1.image.dispose$0();
      _this._image = value;
      if (!synchronousCall)
        _this._onChanged.call$0();
    },
    dispose$0() {
      var t1 = this._image;
      if (t1 != null)
        t1.image.dispose$0();
      this._image = null;
    },
    toString$0(_) {
      return "DecorationImagePainter(stream: " + A.S(this._imageStream) + ", image: " + A.S(this._image) + ") for " + this._details.toString$0(0);
    }
  };
  A.paintImage_closure.prototype = {
    call$1(timeStamp) {
      var t2, t3, t4, t5,
        t1 = $._pendingImageSizeInfo;
      t1 = t1.get$values(t1);
      $._lastFrameImageSizeInfo = A.LinkedHashSet_LinkedHashSet$of(t1, A._instanceType(t1)._eval$1("Iterable.E"));
      t1 = $._pendingImageSizeInfo;
      if (t1._length === 0)
        return;
      t2 = type$.String;
      t3 = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.Object);
      for (t1 = t1.get$values(t1), t4 = A._instanceType(t1), t4 = t4._eval$1("@<1>")._bind$1(t4._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t4._eval$1("MappedIterator<1,2>")), t4 = t4._rest[1]; t1.moveNext$0();) {
        t5 = t1.__internal$_current;
        if (t5 == null)
          t5 = t4._as(t5);
        t3.$indexSet(0, t5.source, t5.toJson$0());
      }
      A.postEvent("Flutter.ImageSizesForFrame", t3);
      $._pendingImageSizeInfo = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.ImageSizeInfo);
    },
    $signature: 3
  };
  A.EdgeInsetsGeometry.prototype = {
    get$horizontal() {
      var _this = this;
      return _this.get$_left(_this) + _this.get$_right(_this) + _this.get$_edge_insets$_start(_this) + _this.get$_edge_insets$_end();
    },
    along$1(axis) {
      var _this = this;
      switch (axis.index) {
        case 0:
          return _this.get$horizontal();
        case 1:
          return _this.get$_top(_this) + _this.get$_bottom(_this);
      }
    },
    add$1(_, other) {
      var _this = this;
      return new A._MixedEdgeInsets(_this.get$_left(_this) + other.get$_left(other), _this.get$_right(_this) + other.get$_right(other), _this.get$_edge_insets$_start(_this) + other.get$_edge_insets$_start(other), _this.get$_edge_insets$_end() + other.get$_edge_insets$_end(), _this.get$_top(_this) + other.get$_top(other), _this.get$_bottom(_this) + other.get$_bottom(other));
    },
    clamp$2(_, min, max) {
      var _this = this;
      return new A._MixedEdgeInsets(A.clampDouble(_this.get$_left(_this), min.left, max._left), A.clampDouble(_this.get$_right(_this), min.right, max._right), A.clampDouble(_this.get$_edge_insets$_start(_this), 0, max._edge_insets$_start), A.clampDouble(_this.get$_edge_insets$_end(), 0, max._edge_insets$_end), A.clampDouble(_this.get$_top(_this), min.top, max._top), A.clampDouble(_this.get$_bottom(_this), min.bottom, max._bottom));
    },
    toString$0(_) {
      var _this = this;
      if (_this.get$_edge_insets$_start(_this) === 0 && _this.get$_edge_insets$_end() === 0) {
        if (_this.get$_left(_this) === 0 && _this.get$_right(_this) === 0 && _this.get$_top(_this) === 0 && _this.get$_bottom(_this) === 0)
          return "EdgeInsets.zero";
        if (_this.get$_left(_this) === _this.get$_right(_this) && _this.get$_right(_this) === _this.get$_top(_this) && _this.get$_top(_this) === _this.get$_bottom(_this))
          return "EdgeInsets.all(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_left(_this), 1) + ")";
        return "EdgeInsets(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_left(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_top(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_right(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_bottom(_this), 1) + ")";
      }
      if (_this.get$_left(_this) === 0 && _this.get$_right(_this) === 0)
        return "EdgeInsetsDirectional(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_edge_insets$_start(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_top(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_edge_insets$_end(), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_bottom(_this), 1) + ")";
      return "EdgeInsets(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_left(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_top(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_right(_this), 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_bottom(_this), 1) + ") + EdgeInsetsDirectional(" + B.JSNumber_methods.toStringAsFixed$1(_this.get$_edge_insets$_start(_this), 1) + ", 0.0, " + B.JSNumber_methods.toStringAsFixed$1(_this.get$_edge_insets$_end(), 1) + ", 0.0)";
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.EdgeInsetsGeometry && other.get$_left(other) === _this.get$_left(_this) && other.get$_right(other) === _this.get$_right(_this) && other.get$_edge_insets$_start(other) === _this.get$_edge_insets$_start(_this) && other.get$_edge_insets$_end() === _this.get$_edge_insets$_end() && other.get$_top(other) === _this.get$_top(_this) && other.get$_bottom(other) === _this.get$_bottom(_this);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$_left(_this), _this.get$_right(_this), _this.get$_edge_insets$_start(_this), _this.get$_edge_insets$_end(), _this.get$_top(_this), _this.get$_bottom(_this), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.EdgeInsets.prototype = {
    get$_left(_) {
      return this.left;
    },
    get$_top(_) {
      return this.top;
    },
    get$_right(_) {
      return this.right;
    },
    get$_bottom(_) {
      return this.bottom;
    },
    get$_edge_insets$_start(_) {
      return 0;
    },
    get$_edge_insets$_end() {
      return 0;
    },
    inflateRect$1(rect) {
      var _this = this;
      return new A.Rect(rect.left - _this.left, rect.top - _this.top, rect.right + _this.right, rect.bottom + _this.bottom);
    },
    deflateRect$1(rect) {
      var _this = this;
      return new A.Rect(rect.left + _this.left, rect.top + _this.top, rect.right - _this.right, rect.bottom - _this.bottom);
    },
    add$1(_, other) {
      if (other instanceof A.EdgeInsets)
        return this.$add(0, other);
      return this.super$EdgeInsetsGeometry$add(0, other);
    },
    clamp$2(_, min, max) {
      var _this = this;
      return new A.EdgeInsets(A.clampDouble(_this.left, min.left, max._left), A.clampDouble(_this.top, min.top, max._top), A.clampDouble(_this.right, min.right, max._right), A.clampDouble(_this.bottom, min.bottom, max._bottom));
    },
    $sub(_, other) {
      var _this = this;
      return new A.EdgeInsets(_this.left - other.left, _this.top - other.top, _this.right - other.right, _this.bottom - other.bottom);
    },
    $add(_, other) {
      var _this = this;
      return new A.EdgeInsets(_this.left + other.left, _this.top + other.top, _this.right + other.right, _this.bottom + other.bottom);
    },
    $mul(_, other) {
      var _this = this;
      return new A.EdgeInsets(_this.left * other, _this.top * other, _this.right * other, _this.bottom * other);
    },
    $div(_, other) {
      var _this = this;
      return new A.EdgeInsets(_this.left / other, _this.top / other, _this.right / other, _this.bottom / other);
    },
    $tdiv(_, other) {
      var _this = this;
      return new A.EdgeInsets(B.JSNumber_methods.$tdiv(_this.left, other), B.JSNumber_methods.$tdiv(_this.top, other), B.JSNumber_methods.$tdiv(_this.right, other), B.JSNumber_methods.$tdiv(_this.bottom, other));
    },
    resolve$1(direction) {
      return this;
    },
    copyWith$4$bottom$left$right$top(bottom, left, right, $top) {
      var _this = this,
        t1 = left == null ? _this.left : left,
        t2 = $top == null ? _this.top : $top,
        t3 = right == null ? _this.right : right;
      return new A.EdgeInsets(t1, t2, t3, bottom == null ? _this.bottom : bottom);
    },
    copyWith$1$bottom(bottom) {
      return this.copyWith$4$bottom$left$right$top(bottom, null, null, null);
    },
    copyWith$2$bottom$top(bottom, $top) {
      return this.copyWith$4$bottom$left$right$top(bottom, null, null, $top);
    },
    copyWith$2$left$right(left, right) {
      return this.copyWith$4$bottom$left$right$top(null, left, right, null);
    }
  };
  A.EdgeInsetsDirectional.prototype = {
    get$_edge_insets$_start(_) {
      return this.start;
    },
    get$_top(_) {
      return this.top;
    },
    get$_edge_insets$_end() {
      return this.end;
    },
    get$_bottom(_) {
      return this.bottom;
    },
    get$_left(_) {
      return 0;
    },
    get$_right(_) {
      return 0;
    },
    add$1(_, other) {
      if (other instanceof A.EdgeInsetsDirectional)
        return this.$add(0, other);
      return this.super$EdgeInsetsGeometry$add(0, other);
    },
    $sub(_, other) {
      var _this = this;
      return new A.EdgeInsetsDirectional(_this.start - other.start, _this.top - other.top, _this.end - other.end, _this.bottom - other.bottom);
    },
    $add(_, other) {
      var _this = this;
      return new A.EdgeInsetsDirectional(_this.start + other.start, _this.top + other.top, _this.end + other.end, _this.bottom + other.bottom);
    },
    $mul(_, other) {
      var _this = this;
      return new A.EdgeInsetsDirectional(_this.start * other, _this.top * other, _this.end * other, _this.bottom * other);
    },
    $div(_, other) {
      var _this = this;
      return new A.EdgeInsetsDirectional(_this.start / other, _this.top / other, _this.end / other, _this.bottom / other);
    },
    $tdiv(_, other) {
      var _this = this;
      return new A.EdgeInsetsDirectional(B.JSNumber_methods.$tdiv(_this.start, other), B.JSNumber_methods.$tdiv(_this.top, other), B.JSNumber_methods.$tdiv(_this.end, other), B.JSNumber_methods.$tdiv(_this.bottom, other));
    },
    resolve$1(direction) {
      var _this = this;
      switch (direction.index) {
        case 0:
          return new A.EdgeInsets(_this.end, _this.top, _this.start, _this.bottom);
        case 1:
          return new A.EdgeInsets(_this.start, _this.top, _this.end, _this.bottom);
      }
    }
  };
  A._MixedEdgeInsets.prototype = {
    $mul(_, other) {
      var _this = this;
      return new A._MixedEdgeInsets(_this._left * other, _this._right * other, _this._edge_insets$_start * other, _this._edge_insets$_end * other, _this._top * other, _this._bottom * other);
    },
    $div(_, other) {
      var _this = this;
      return new A._MixedEdgeInsets(_this._left / other, _this._right / other, _this._edge_insets$_start / other, _this._edge_insets$_end / other, _this._top / other, _this._bottom / other);
    },
    $tdiv(_, other) {
      var _this = this;
      return new A._MixedEdgeInsets(B.JSNumber_methods.$tdiv(_this._left, other), B.JSNumber_methods.$tdiv(_this._right, other), B.JSNumber_methods.$tdiv(_this._edge_insets$_start, other), B.JSNumber_methods.$tdiv(_this._edge_insets$_end, other), B.JSNumber_methods.$tdiv(_this._top, other), B.JSNumber_methods.$tdiv(_this._bottom, other));
    },
    resolve$1(direction) {
      var _this = this;
      switch (direction.index) {
        case 0:
          return new A.EdgeInsets(_this._edge_insets$_end + _this._left, _this._top, _this._edge_insets$_start + _this._right, _this._bottom);
        case 1:
          return new A.EdgeInsets(_this._edge_insets$_start + _this._left, _this._top, _this._edge_insets$_end + _this._right, _this._bottom);
      }
    },
    get$_left(receiver) {
      return this._left;
    },
    get$_right(receiver) {
      return this._right;
    },
    get$_edge_insets$_start(receiver) {
      return this._edge_insets$_start;
    },
    get$_edge_insets$_end() {
      return this._edge_insets$_end;
    },
    get$_top(receiver) {
      return this._top;
    },
    get$_bottom(receiver) {
      return this._bottom;
    }
  };
  A._ColorsAndStops.prototype = {};
  A._sample_closure.prototype = {
    call$1(s) {
      return s <= this.t;
    },
    $signature: 808
  };
  A._interpolateColorsAndStops_closure.prototype = {
    call$1($stop) {
      var _this = this,
        t1 = A.Color_lerp(A._sample(_this.aColors, _this.aStops, $stop), A._sample(_this.bColors, _this.bStops, $stop), _this.t);
      t1.toString;
      return t1;
    },
    $signature: 809
  };
  A.Gradient.prototype = {
    _impliedStops$0() {
      var separation, _list, index,
        t1 = this.stops;
      if (t1 != null)
        return t1;
      t1 = this.colors.length;
      separation = 1 / (t1 - 1);
      _list = J.JSArray_JSArray$allocateFixed(t1, type$.double);
      for (index = 0; index < t1; ++index)
        _list[index] = index * separation;
      return _list;
    }
  };
  A.LinearGradient.prototype = {
    createShader$2$textDirection(_, rect, textDirection) {
      var _this = this,
        t1 = _this.begin.resolve$1(textDirection).withinRect$1(rect),
        t2 = _this.end.resolve$1(textDirection).withinRect$1(rect),
        t3 = _this._impliedStops$0();
      return A.Gradient_Gradient$linear(t1, t2, _this.colors, t3, _this.tileMode, null);
    },
    scale$1(_, factor) {
      var _this = this,
        t1 = _this.colors,
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Color>");
      return new A.LinearGradient(_this.begin, _this.end, _this.tileMode, A.List_List$of(new A.MappedListIterable(t1, new A.LinearGradient_scale_closure(factor), t2), true, t2._eval$1("ListIterable.E")), _this.stops, null);
    },
    lerpFrom$2(a, t) {
      var t1 = A.LinearGradient_lerp(a, this, t);
      return t1;
    },
    lerpTo$2(b, t) {
      var t1 = A.LinearGradient_lerp(this, b, t);
      return t1;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.LinearGradient)
        if (other.begin.$eq(0, _this.begin))
          if (other.end.$eq(0, _this.end))
            if (other.tileMode === _this.tileMode)
              t1 = A.listEquals(other.colors, _this.colors) && A.listEquals(other.stops, _this.stops);
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = A.Object_hashAll(_this.colors),
        t2 = _this.stops;
      t2 = t2 == null ? null : A.Object_hashAll(t2);
      return A.Object_hash(_this.begin, _this.end, _this.tileMode, _this.transform, t1, t2, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this,
        t1 = A._setArrayType(["begin: " + _this.begin.toString$0(0), "end: " + _this.end.toString$0(0), "colors: " + A.S(_this.colors)], type$.JSArray_String),
        t2 = _this.stops;
      if (t2 != null)
        t1.push("stops: " + A.S(t2));
      t1.push("tileMode: " + _this.tileMode.toString$0(0));
      return "LinearGradient(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    }
  };
  A.LinearGradient_scale_closure.prototype = {
    call$1(color) {
      var t1 = A.Color_lerp(null, color, this.factor);
      t1.toString;
      return t1;
    },
    $signature: 131
  };
  A.ImageCache.prototype = {
    clear$0(_) {
      var t3, t4, t5, _this = this,
        t1 = _this._pendingImages,
        t2 = _this._image_cache$_cache;
      A.Timeline_instantSync("ImageCache.clear", A.LinkedHashMap_LinkedHashMap$_literal(["pendingImages", t1._length, "keepAliveImages", t2._length, "liveImages", _this._liveImages._length, "currentSizeInBytes", _this._currentSizeBytes], type$.String, type$.dynamic));
      for (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;
        (t5 == null ? t4._as(t5) : t5).dispose$0();
      }
      t2.clear$0(0);
      t1.clear$0(0);
      _this._currentSizeBytes = 0;
    },
    evict$1(key) {
      var t1, t2, pendingImage, _this = this,
        _s16_ = "ImageCache.evict",
        image = _this._liveImages.remove$1(0, key);
      if (image != null) {
        t1 = image.completer;
        t2 = image.___LiveImage__handleRemove;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t1._image_stream$_disposed)
          A.throwExpression(A.StateError$(string$.Stream));
        B.JSArray_methods.remove$1(t1._onLastListenerRemovedCallbacks, t2);
        image.super$_CachedImageBase$dispose();
      }
      pendingImage = _this._pendingImages.remove$1(0, key);
      if (pendingImage != null) {
        A.Timeline_instantSync(_s16_, A.LinkedHashMap_LinkedHashMap$_literal(["type", "pending"], type$.String, type$.dynamic));
        pendingImage.completer.removeListener$1(0, pendingImage.listener);
        return true;
      }
      image = _this._image_cache$_cache.remove$1(0, key);
      if (image != null) {
        A.Timeline_instantSync(_s16_, A.LinkedHashMap_LinkedHashMap$_literal(["type", "keepAlive", "sizeInBytes", image.sizeBytes], type$.String, type$.dynamic));
        t1 = _this._currentSizeBytes;
        t2 = image.sizeBytes;
        t2.toString;
        _this._currentSizeBytes = t1 - t2;
        image.dispose$0();
        return true;
      }
      A.Timeline_instantSync(_s16_, A.LinkedHashMap_LinkedHashMap$_literal(["type", "miss"], type$.String, type$.dynamic));
      return false;
    },
    _touch$3(key, image, timelineTask) {
      var t2, _this = this,
        t1 = image.sizeBytes;
      if (t1 != null && t1 <= 104857600 && true) {
        t2 = _this._currentSizeBytes;
        t1.toString;
        _this._currentSizeBytes = t2 + t1;
        _this._image_cache$_cache.$indexSet(0, key, image);
        _this._checkCacheSize$1(timelineTask);
      } else
        image.dispose$0();
    },
    _trackLiveImage$3(key, completer, sizeBytes) {
      var t1 = this._liveImages.putIfAbsent$2(0, key, new A.ImageCache__trackLiveImage_closure(this, completer, key));
      if (t1.sizeBytes == null)
        t1.sizeBytes = sizeBytes;
    },
    putIfAbsent$3$onError(_, key, loader, onError) {
      var error, stackTrace, t2, timelineTask, t3, t4, t5, t6, result, image, liveImage, exception, listenerTask, pendingImage, streamListener, _this = this, _null = null, t1 = {};
      t1.listenerTask = t1.timelineTask = null;
      t2 = type$.JSArray_nullable__AsyncBlock;
      timelineTask = new A.TimelineTask(_null, 0, A._setArrayType([], t2));
      t3 = type$.String;
      t4 = type$.dynamic;
      timelineTask.start$2$arguments(0, "ImageCache.putIfAbsent", A.LinkedHashMap_LinkedHashMap$_literal(["key", J.toString$0$(key)], t3, t4));
      t1.timelineTask = timelineTask;
      t5 = _this._pendingImages;
      t6 = t5.$index(0, key);
      result = t6 == null ? _null : t6.completer;
      t1.result = result;
      if (result != null) {
        timelineTask.finish$1$arguments(0, A.LinkedHashMap_LinkedHashMap$_literal(["result", "pending"], t3, t4));
        return result;
      }
      t6 = _this._image_cache$_cache;
      image = t6.remove$1(0, key);
      if (image != null) {
        timelineTask.finish$1$arguments(0, A.LinkedHashMap_LinkedHashMap$_literal(["result", "keepAlive"], t3, t4));
        t1 = image.completer;
        _this._trackLiveImage$3(key, t1, image.sizeBytes);
        t6.$indexSet(0, key, image);
        return t1;
      }
      liveImage = _this._liveImages.$index(0, key);
      if (liveImage != null) {
        t1 = liveImage.completer;
        t2 = liveImage.sizeBytes;
        if (t1._image_stream$_disposed)
          A.throwExpression(A.StateError$(string$.Stream));
        t5 = new A.ImageStreamCompleterHandle(t1);
        t5.ImageStreamCompleterHandle$_$1(t1);
        _this._touch$3(key, new A._CachedImage(t1, t2, t5), timelineTask);
        timelineTask.finish$1$arguments(0, A.LinkedHashMap_LinkedHashMap$_literal(["result", "keepAlive"], t3, t4));
        return t1;
      }
      try {
        result = t1.result = loader.call$0();
        _this._trackLiveImage$3(key, result, _null);
        t3 = result;
      } catch (exception) {
        error = A.unwrapException(exception);
        stackTrace = A.getTraceFromException(exception);
        t1 = t1.timelineTask;
        t1.toString;
        t1.finish$1$arguments(0, A.LinkedHashMap_LinkedHashMap$_literal(["result", "error", "error", J.toString$0$(error), "stackTrace", J.toString$0$(stackTrace)], t3, t4));
        if (onError != null) {
          onError.call$2(error, stackTrace);
          return _null;
        } else
          throw exception;
      }
      listenerTask = new A.TimelineTask(timelineTask, 0, A._setArrayType([], t2));
      listenerTask.start$1(0, "listener");
      t1.listenerTask = listenerTask;
      t1.listenedOnce = false;
      pendingImage = A._Cell$named("pendingImage");
      streamListener = new A.ImageStreamListener(new A.ImageCache_putIfAbsent_listener(t1, _this, key, true, pendingImage), _null, _null);
      pendingImage.__late_helper$_value = new A._PendingImage(t3, streamListener);
      t5.$indexSet(0, key, pendingImage._readLocal$0());
      t1.result.addListener$1(0, streamListener);
      return t1.result;
    },
    putIfAbsent$2($receiver, key, loader) {
      return this.putIfAbsent$3$onError($receiver, key, loader, null);
    },
    _checkCacheSize$1(timelineTask) {
      var t1, t2, t3, t4, it, key, image, t5, _this = this,
        _s11_ = "evictedKeys",
        finishArgs = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic),
        checkCacheTask = new A.TimelineTask(timelineTask, 0, A._setArrayType([], type$.JSArray_nullable__AsyncBlock));
      checkCacheTask.start$1(0, "checkCacheSize");
      finishArgs.$indexSet(0, _s11_, A._setArrayType([], type$.JSArray_String));
      t1 = _this._image_cache$_cache;
      finishArgs.$indexSet(0, "currentSize", t1._length);
      finishArgs.$indexSet(0, "currentSizeBytes", _this._currentSizeBytes);
      t2 = type$.List_String;
      t3 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
      while (true) {
        if (!(_this._currentSizeBytes > 104857600 || t1._length > 1000))
          break;
        t4 = new A.LinkedHashMapKeyIterable(t1, t3);
        it = t4.get$iterator(t4);
        if (!it.moveNext$0())
          A.throwExpression(A.IterableElementError_noElement());
        key = it.get$current(it);
        image = t1.$index(0, key);
        t4 = _this._currentSizeBytes;
        t5 = image.sizeBytes;
        t5.toString;
        _this._currentSizeBytes = t4 - t5;
        image.dispose$0();
        t1.remove$1(0, key);
        J.add$1$ax(t2._as(finishArgs.$index(0, _s11_)), J.toString$0$(key));
      }
      finishArgs.$indexSet(0, "endSize", t1._length);
      finishArgs.$indexSet(0, "endSizeBytes", _this._currentSizeBytes);
      checkCacheTask.finish$1$arguments(0, finishArgs);
    }
  };
  A.ImageCache__trackLiveImage_closure.prototype = {
    call$0() {
      return A._LiveImage$(this.completer, new A.ImageCache__trackLiveImage__closure(this.$this, this.key));
    },
    $signature: 810
  };
  A.ImageCache__trackLiveImage__closure.prototype = {
    call$0() {
      this.$this._liveImages.remove$1(0, this.key);
    },
    $signature: 0
  };
  A.ImageCache_putIfAbsent_listener.prototype = {
    call$2(info, syncCall) {
      var t1, sizeBytes, t2, t3, image, t4, t5, _this = this;
      if (info != null) {
        t1 = info.image;
        sizeBytes = t1.get$height(t1) * t1.get$width(t1) * 4;
        t1.dispose$0();
      } else
        sizeBytes = null;
      t1 = _this._box_0;
      t2 = t1.result;
      if (t2._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      t3 = new A.ImageStreamCompleterHandle(t2);
      t3.ImageStreamCompleterHandle$_$1(t2);
      image = new A._CachedImage(t2, sizeBytes, t3);
      t3 = _this.$this;
      t2 = _this.key;
      t3._trackLiveImage$3(t2, t1.result, sizeBytes);
      if (_this.trackPendingImage)
        t3._touch$3(t2, image, t1.listenerTask);
      else
        image.dispose$0();
      t3._pendingImages.remove$1(0, t2);
      if (!t1.listenedOnce) {
        t2 = _this.pendingImage._readLocal$0();
        t2.completer.removeListener$1(0, t2.listener);
      }
      t2 = t1.listenedOnce;
      if (!t2) {
        t2 = t1.listenerTask;
        t2.toString;
        t4 = type$.String;
        t5 = type$.dynamic;
        t2.finish$1$arguments(0, A.LinkedHashMap_LinkedHashMap$_literal(["syncCall", syncCall, "sizeInBytes", sizeBytes], t4, t5));
        t2 = t1.timelineTask;
        t2.toString;
        t2.finish$1$arguments(0, A.LinkedHashMap_LinkedHashMap$_literal(["currentSizeBytes", t3._currentSizeBytes, "currentSize", t3._image_cache$_cache._length], t4, t5));
      }
      t1.listenedOnce = true;
    },
    $signature: 811
  };
  A._CachedImageBase.prototype = {
    dispose$0() {
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._CachedImageBase_dispose_closure(this));
    }
  };
  A._CachedImageBase_dispose_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this,
        t2 = t1.handle;
      if (t2 != null)
        t2.dispose$0();
      t1.handle = null;
    },
    $signature: 3
  };
  A._CachedImage.prototype = {};
  A._LiveImage.prototype = {
    _LiveImage$3$sizeBytes(completer, handleRemove, sizeBytes) {
      var t1 = new A._LiveImage_closure(this, handleRemove);
      this.___LiveImage__handleRemove = t1;
      if (completer._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      completer._onLastListenerRemovedCallbacks.push(t1);
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A._LiveImage_closure.prototype = {
    call$0() {
      var t1, t2, t3;
      this.handleRemove.call$0();
      t1 = this.$this;
      t2 = t1.completer;
      t3 = t1.___LiveImage__handleRemove;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (t2._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      B.JSArray_methods.remove$1(t2._onLastListenerRemovedCallbacks, t3);
      t1.super$_CachedImageBase$dispose();
    },
    $signature: 0
  };
  A._PendingImage.prototype = {};
  A.ImageConfiguration.prototype = {
    copyWith$1$size(size) {
      var _this = this;
      return new A.ImageConfiguration(_this.bundle, _this.devicePixelRatio, _this.locale, _this.textDirection, size, _this.platform);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ImageConfiguration && other.bundle == _this.bundle && other.devicePixelRatio == _this.devicePixelRatio && J.$eq$(other.locale, _this.locale) && other.textDirection == _this.textDirection && J.$eq$(other.size, _this.size) && other.platform == _this.platform;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.bundle, _this.devicePixelRatio, _this.locale, _this.size, _this.platform, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var hasArguments, _this = this,
        t1 = "" + "ImageConfiguration(",
        t2 = _this.bundle;
      if (t2 != null) {
        t1 += "bundle: " + t2.toString$0(0);
        hasArguments = true;
      } else
        hasArguments = false;
      t2 = _this.devicePixelRatio;
      if (t2 != null) {
        if (hasArguments)
          t1 += ", ";
        t2 = t1 + ("devicePixelRatio: " + B.JSNumber_methods.toStringAsFixed$1(t2, 1));
        t1 = t2;
        hasArguments = true;
      }
      t2 = _this.locale;
      if (t2 != null) {
        if (hasArguments)
          t1 += ", ";
        t2 = t1 + ("locale: " + t2.toString$0(0));
        t1 = t2;
        hasArguments = true;
      }
      t2 = _this.textDirection;
      if (t2 != null) {
        if (hasArguments)
          t1 += ", ";
        t2 = t1 + ("textDirection: " + t2.toString$0(0));
        t1 = t2;
        hasArguments = true;
      }
      t2 = _this.size;
      if (t2 != null) {
        if (hasArguments)
          t1 += ", ";
        t2 = t1 + ("size: " + t2.toString$0(0));
        t1 = t2;
        hasArguments = true;
      }
      t2 = _this.platform;
      if (t2 != null) {
        if (hasArguments)
          t1 += ", ";
        t2 = t1 + ("platform: " + t2._core$_name);
        t1 = t2;
      }
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.ImageProvider.prototype = {
    resolve$1(configuration) {
      var stream = new A.ImageStream();
      this._createErrorHandlerAndKey$3(configuration, new A.ImageProvider_resolve_closure(this, configuration, stream), new A.ImageProvider_resolve_closure0(this, configuration, stream));
      return stream;
    },
    _createErrorHandlerAndKey$3(configuration, successCallback, errorCallback) {
      var handleError, key, error, stackTrace, exception, t1 = {};
      t1.obtainedKey = null;
      t1.didError = false;
      handleError = new A.ImageProvider__createErrorHandlerAndKey_handleError(t1, errorCallback);
      key = null;
      try {
        key = this.obtainKey$1(configuration);
      } catch (exception) {
        error = A.unwrapException(exception);
        stackTrace = A.getTraceFromException(exception);
        handleError.call$2(error, stackTrace);
        return;
      }
      key.then$1$1(new A.ImageProvider__createErrorHandlerAndKey_closure(t1, this, successCallback, handleError), type$.void).catchError$1(handleError);
    },
    resolveStreamForKey$4(configuration, stream, key, handleError) {
      var t1, completer;
      if (stream._completer != null) {
        t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.putIfAbsent$3$onError(0, key, new A.ImageProvider_resolveStreamForKey_closure(stream), handleError);
        return;
      }
      t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      completer = t1.putIfAbsent$3$onError(0, key, new A.ImageProvider_resolveStreamForKey_closure0(this, key), handleError);
      if (completer != null)
        stream.setCompleter$1(completer);
    },
    load$2(_, key, decode) {
      throw A.wrapException(A.UnsupportedError$("Implement loadBuffer for faster image loading"));
    },
    loadBuffer$2(key, decode) {
      return this.load$2(0, key, $.PaintingBinding__instance.get$instantiateImageCodec());
    },
    toString$0(_) {
      return "ImageConfiguration()";
    }
  };
  A.ImageProvider_resolve_closure.prototype = {
    call$2(key, errorHandler) {
      this.$this.resolveStreamForKey$4(this.configuration, this.stream, key, errorHandler);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(ImageProvider.T,~(Object,StackTrace?))");
    }
  };
  A.ImageProvider_resolve_closure0.prototype = {
    call$3(key, exception, stack) {
      return this.$call$body$ImageProvider_resolve_closure(key, exception, stack);
    },
    $call$body$ImageProvider_resolve_closure(key, exception, stack) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$call$3 = 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$call$3);
            case 2:
              // returning from await.
              t1 = $async$self.stream;
              if (t1._completer == null)
                t1.setCompleter$1(new A._ErrorImageCompleter(A._setArrayType([], type$.JSArray_ImageStreamListener), A._setArrayType([], type$.JSArray_of_void_Function)));
              t1 = t1._completer;
              t1.toString;
              t1.reportError$5$context$exception$informationCollector$silent$stack(A.ErrorDescription$("while resolving an image"), exception, null, true, stack);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$3, $async$completer);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Future<~>(ImageProvider.T?,Object,StackTrace?)");
    }
  };
  A.ImageProvider__createErrorHandlerAndKey_handleError.prototype = {
    $call$body$ImageProvider__createErrorHandlerAndKey_handleError(exception, stack) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1;
      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
              t1 = $async$self._box_0;
              if (t1.didError) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self.errorCallback.call$3(t1.obtainedKey, exception, stack);
              t1.didError = true;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    call$2(exception, stack) {
      return this.$call$body$ImageProvider__createErrorHandlerAndKey_handleError(exception, stack);
    },
    $signature: 812
  };
  A.ImageProvider__createErrorHandlerAndKey_closure.prototype = {
    call$1(key) {
      var error, stackTrace, exception, _this = this;
      _this._box_0.obtainedKey = key;
      try {
        _this.successCallback.call$2(key, _this.handleError);
      } catch (exception) {
        error = A.unwrapException(exception);
        stackTrace = A.getTraceFromException(exception);
        _this.handleError.call$2(error, stackTrace);
      }
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ImageProvider.T)");
    }
  };
  A.ImageProvider_resolveStreamForKey_closure.prototype = {
    call$0() {
      var t1 = this.stream._completer;
      t1.toString;
      return t1;
    },
    $signature: 275
  };
  A.ImageProvider_resolveStreamForKey_closure0.prototype = {
    call$0() {
      return this.$this.loadBuffer$2(this.key, $.PaintingBinding__instance.get$instantiateImageCodecFromBuffer());
    },
    $signature: 275
  };
  A.AssetBundleImageKey.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.AssetBundleImageKey && other.bundle === _this.bundle && other.name === _this.name && other.scale === _this.scale;
    },
    get$hashCode(_) {
      return A.Object_hash(this.bundle, this.name, this.scale, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "AssetBundleImageKey(bundle: " + this.bundle.toString$0(0) + ', name: "' + this.name + '", scale: ' + A.S(this.scale) + ")";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.AssetBundleImageProvider.prototype = {
    loadBuffer$2(key, decode) {
      return A.MultiFrameImageStreamCompleter$(null, this._loadAsync$3(key, decode, null), key.name, null, key.scale);
    },
    load$2(_, key, decode) {
      return A.MultiFrameImageStreamCompleter$(null, this._loadAsync$3(key, null, decode), key.name, null, key.scale);
    },
    _loadAsync$3(key, decode, decodeDepreacted) {
      return this._loadAsync$body$AssetBundleImageProvider(key, decode, decodeDepreacted);
    },
    _loadAsync$body$AssetBundleImageProvider(key, decode, decodeDepreacted) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, $async$handler = 2, $async$currentError, buffer, data, exception, t1, $async$exception, $async$exception1;
      var $async$_loadAsync$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 = decode != null ? 3 : 4;
              break;
            case 3:
              // then
              buffer = null;
              $async$handler = 6;
              $async$goto = 9;
              return A._asyncAwait(key.bundle.loadBuffer$1(key.name), $async$_loadAsync$3);
            case 9:
              // returning from await.
              buffer = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 8;
              break;
            case 6:
              // catch
              $async$handler = 5;
              $async$exception = $async$currentError;
              if (A.unwrapException($async$exception) instanceof A.FlutterError) {
                t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.evict$1(key);
                throw $async$exception;
              } else
                throw $async$exception;
              // goto after finally
              $async$goto = 8;
              break;
            case 5:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 8:
              // after finally
              if (buffer == null) {
                t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.evict$1(key);
                throw A.wrapException(A.StateError$("Unable to read data"));
              }
              $async$returnValue = decode.call$1(buffer);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              data = null;
              $async$handler = 11;
              $async$goto = 14;
              return A._asyncAwait(key.bundle.load$1(0, key.name), $async$_loadAsync$3);
            case 14:
              // returning from await.
              data = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 13;
              break;
            case 11:
              // catch
              $async$handler = 10;
              $async$exception1 = $async$currentError;
              if (A.unwrapException($async$exception1) instanceof A.FlutterError) {
                t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.evict$1(key);
                throw $async$exception1;
              } else
                throw $async$exception1;
              // goto after finally
              $async$goto = 13;
              break;
            case 10:
              // uncaught
              // goto rethrow
              $async$goto = 2;
              break;
            case 13:
              // after finally
              if (data == null) {
                t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.evict$1(key);
                throw A.wrapException(A.StateError$("Unable to read data"));
              }
              decodeDepreacted.toString;
              $async$returnValue = decodeDepreacted.call$1(A.NativeUint8List_NativeUint8List$view(data.buffer, 0, null));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_loadAsync$3, $async$completer);
    }
  };
  A.MemoryImage.prototype = {
    obtainKey$1(configuration) {
      return new A.SynchronousFuture(this, type$.SynchronousFuture_MemoryImage);
    },
    load$2(_, key, decode) {
      return A.MultiFrameImageStreamCompleter$(null, this._loadAsync$3(key, null, decode), "MemoryImage(" + ("<optimized out>#" + A.shortHash(key.bytes)) + ")", null, key.scale);
    },
    loadBuffer$2(key, decode) {
      return A.MultiFrameImageStreamCompleter$(null, this._loadAsync$3(key, decode, null), "MemoryImage(" + ("<optimized out>#" + A.shortHash(key.bytes)) + ")", null, key.scale);
    },
    _loadAsync$3(key, decode, decodeDepreacted) {
      return this._loadAsync$body$MemoryImage(key, decode, decodeDepreacted);
    },
    _loadAsync$body$MemoryImage(key, decode, decodeDepreacted) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Codec),
        $async$returnValue, $async$self = this, $async$temp1;
      var $async$_loadAsync$3 = 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 = decode != null ? 3 : 4;
              break;
            case 3:
              // then
              $async$temp1 = decode;
              $async$goto = 5;
              return A._asyncAwait(A.ImmutableBuffer_fromUint8List($async$self.bytes), $async$_loadAsync$3);
            case 5:
              // returning from await.
              $async$returnValue = $async$temp1.call$1($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 4:
              // join
              $async$returnValue = decodeDepreacted.call$1($async$self.bytes);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_loadAsync$3, $async$completer);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.MemoryImage && other.bytes === this.bytes && other.scale === this.scale;
    },
    get$hashCode(_) {
      return A.Object_hash(A.Primitives_objectHashCode(this.bytes), this.scale, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "MemoryImage(" + ("<optimized out>#" + A.shortHash(this.bytes)) + ", scale: " + this.scale + ")";
    }
  };
  A._ErrorImageCompleter.prototype = {};
  A.AssetImage.prototype = {
    get$keyName() {
      return this.assetName;
    },
    obtainKey$1(configuration) {
      var t2, t1 = {},
        chosenBundle = configuration.bundle;
      if (chosenBundle == null)
        chosenBundle = $.$get$rootBundle();
      t1.result = t1.completer = null;
      chosenBundle.loadStructuredData$1$2("AssetManifest.json", A.image_resolution_AssetImage__manifestParser$closure(), type$.nullable_Map_of_String_and_List_String).then$1$1(new A.AssetImage_obtainKey_closure(t1, this, configuration, chosenBundle), type$.void).catchError$1(new A.AssetImage_obtainKey_closure0(t1));
      t2 = t1.result;
      if (t2 != null)
        return t2;
      t2 = new A._Future($.Zone__current, type$._Future_AssetBundleImageKey);
      t1.completer = new A._AsyncCompleter(t2, type$._AsyncCompleter_AssetBundleImageKey);
      return t2;
    },
    _chooseVariant$3(main, config, candidates) {
      var mapping, t2, t3,
        t1 = config.devicePixelRatio;
      if (t1 == null || candidates == null || J.get$isEmpty$asx(candidates))
        return main;
      mapping = A.SplayTreeMap$(null, type$.double, type$.String);
      for (t2 = J.get$iterator$ax(candidates); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        mapping.$indexSet(0, this._parseScale$1(t3), t3);
      }
      t1.toString;
      return this._findBestVariant$2(mapping, t1);
    },
    _findBestVariant$2(candidates, value) {
      var t1, lower, upper;
      if (candidates._containsKey$1(value)) {
        t1 = candidates.$index(0, value);
        t1.toString;
        return t1;
      }
      lower = candidates.lastKeyBefore$1(value);
      upper = candidates.firstKeyAfter$1(value);
      if (lower == null)
        return candidates.$index(0, upper);
      if (upper == null)
        return candidates.$index(0, lower);
      if (value < 2 || value > (lower + upper) / 2)
        return candidates.$index(0, upper);
      else
        return candidates.$index(0, lower);
    },
    _parseScale$1(key) {
      var assetUri, directoryPath, match, t1;
      if (key === this.assetName)
        return 1;
      assetUri = A.Uri_parse(key, 0, null);
      directoryPath = assetUri.get$pathSegments().length > 1 ? assetUri.get$pathSegments()[assetUri.get$pathSegments().length - 2] : "";
      match = $.$get$AssetImage__extractRatioRegExp().firstMatch$1(directoryPath);
      if (match != null && match._match.length - 1 > 0) {
        t1 = match._match[1];
        t1.toString;
        return A.double_parse(t1);
      }
      return 1;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.AssetImage && other.get$keyName() === this.get$keyName() && true;
    },
    get$hashCode(_) {
      return A.Object_hash(this.get$keyName(), this.bundle, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "AssetImage(bundle: " + A.S(this.bundle) + ', name: "' + this.get$keyName() + '")';
    }
  };
  A.AssetImage_obtainKey_closure.prototype = {
    call$1(manifest) {
      var key, _this = this,
        t1 = _this.$this,
        t2 = t1.get$keyName(),
        t3 = manifest == null ? null : J.$index$asx(manifest, t1.get$keyName());
      t3 = t1._chooseVariant$3(t2, _this.configuration, t3);
      t3.toString;
      key = new A.AssetBundleImageKey(_this.chosenBundle, t3, t1._parseScale$1(t3));
      t1 = _this._box_0;
      t2 = t1.completer;
      if (t2 != null)
        t2.complete$1(0, key);
      else
        t1.result = new A.SynchronousFuture(key, type$.SynchronousFuture_AssetBundleImageKey);
    },
    $signature: 814
  };
  A.AssetImage_obtainKey_closure0.prototype = {
    call$2(error, stack) {
      this._box_0.completer.completeError$2(error, stack);
    },
    $signature: 22
  };
  A.ImageInfo.prototype = {
    clone$0(_) {
      return new A.ImageInfo(this.image.clone$0(0), this.scale, this.debugLabel);
    },
    toString$0(_) {
      var t1 = this.debugLabel;
      t1 = t1 != null ? t1 + " " : "";
      return t1 + this.image.toString$0(0) + " @ " + A.debugFormatDouble(this.scale) + "x";
    },
    get$hashCode(_) {
      return A.Object_hash(this.image, this.scale, this.debugLabel, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ImageInfo && other.image === _this.image && other.scale === _this.scale && other.debugLabel == _this.debugLabel;
    }
  };
  A.ImageStreamListener.prototype = {
    get$hashCode(_) {
      return A.Object_hash(this.onImage, this.onChunk, this.onError, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ImageStreamListener && J.$eq$(other.onImage, _this.onImage) && J.$eq$(other.onChunk, _this.onChunk) && J.$eq$(other.onError, _this.onError);
    },
    onImage$2(arg0, arg1) {
      return this.onImage.call$2(arg0, arg1);
    }
  };
  A.ImageChunkEvent.prototype = {};
  A.ImageStream.prototype = {
    setCompleter$1(value) {
      var t1, _this = this;
      _this._completer = value;
      t1 = _this._image_stream$_listeners;
      if (t1 != null) {
        _this._image_stream$_listeners = null;
        value._addingInitialListeners = true;
        B.JSArray_methods.forEach$1(t1, value.get$addListener(value));
        _this._completer._addingInitialListeners = false;
      }
    },
    addListener$1(_, listener) {
      var t1 = this._completer;
      if (t1 != null)
        return t1.addListener$1(0, listener);
      t1 = this._image_stream$_listeners;
      (t1 == null ? this._image_stream$_listeners = A._setArrayType([], type$.JSArray_ImageStreamListener) : t1).push(listener);
    },
    removeListener$1(_, listener) {
      var i,
        t1 = this._completer;
      if (t1 != null)
        return t1.removeListener$1(0, listener);
      for (i = 0; t1 = this._image_stream$_listeners, i < t1.length; ++i)
        if (J.$eq$(t1[i], listener)) {
          t1 = this._image_stream$_listeners;
          t1.toString;
          B.JSArray_methods.removeAt$1(t1, i);
          break;
        }
    }
  };
  A.ImageStreamCompleterHandle.prototype = {
    ImageStreamCompleterHandle$_$1(_completer) {
      ++this._completer._keepAliveHandles;
    },
    dispose$0() {
      var t1 = this._completer;
      --t1._keepAliveHandles;
      t1._maybeDispose$0();
      this._completer = null;
    }
  };
  A.ImageStreamCompleter.prototype = {
    addListener$1(_, listener) {
      var exception, stack, newException, newStack, t1, t2, exception0, _this = this;
      if (_this._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      _this._hadAtLeastOneListener = true;
      _this._image_stream$_listeners.push(listener);
      t1 = _this._currentImage;
      if (t1 != null)
        try {
          t1 = t1.clone$0(0);
          t2 = _this._addingInitialListeners;
          listener.onImage.call$2(t1, !t2);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          _this.reportError$3$context$exception$stack(A.ErrorDescription$("by a synchronously-called image listener"), exception, stack);
        }
      t1 = _this._currentError;
      if (t1 != null && listener.onError != null)
        try {
          t2 = listener.onError;
          t2.toString;
          t2.call$2(t1.exception, t1.stack);
        } catch (exception) {
          newException = A.unwrapException(exception);
          newStack = A.getTraceFromException(exception);
          if (!J.$eq$(newException, _this._currentError.exception))
            A.FlutterError_reportError(new A.FlutterErrorDetails(newException, newStack, "image resource service", A.ErrorDescription$("by a synchronously-called image error listener"), null, false));
        }
    },
    removeListener$1(_, listener) {
      var t1, i, callbacks, t2, _i, _this = this;
      if (_this._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      for (t1 = _this._image_stream$_listeners, i = 0; i < t1.length; ++i)
        if (J.$eq$(t1[i], listener)) {
          B.JSArray_methods.removeAt$1(t1, i);
          break;
        }
      if (t1.length === 0) {
        t1 = _this._onLastListenerRemovedCallbacks;
        callbacks = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
        for (t2 = callbacks.length, _i = 0; _i < callbacks.length; callbacks.length === t2 || (0, A.throwConcurrentModificationError)(callbacks), ++_i)
          callbacks[_i].call$0();
        B.JSArray_methods.clear$0(t1);
        _this._maybeDispose$0();
      }
    },
    _maybeDispose$0() {
      var t1, _this = this;
      if (!_this._hadAtLeastOneListener || _this._image_stream$_disposed || _this._image_stream$_listeners.length !== 0 || _this._keepAliveHandles !== 0)
        return;
      t1 = _this._currentImage;
      if (t1 != null)
        t1.image.dispose$0();
      _this._currentImage = null;
      _this._image_stream$_disposed = true;
    },
    setImage$1(image) {
      var listener, exception, stack, t1, localListeners, t2, t3, t4, _i, exception0, _this = this;
      if (_this._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      t1 = _this._currentImage;
      if (t1 != null)
        t1.image.dispose$0();
      _this._currentImage = image;
      t1 = _this._image_stream$_listeners;
      if (t1.length === 0)
        return;
      localListeners = A.List_List$of(t1, true, type$.ImageStreamListener);
      for (t1 = localListeners.length, t2 = image.image, t3 = image.scale, t4 = image.debugLabel, _i = 0; _i < t1; ++_i) {
        listener = localListeners[_i];
        try {
          listener.onImage$2(new A.ImageInfo(t2.clone$0(0), t3, t4), false);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          _this.reportError$3$context$exception$stack(A.ErrorDescription$("by an image listener"), exception, stack);
        }
      }
    },
    reportError$5$context$exception$informationCollector$silent$stack(context, exception, informationCollector, silent, stack) {
      var handled, errorListener, newException, newStack, t1, t2, localErrorListeners, _i, exception0, t3,
        _s22_ = "image resource service";
      this._currentError = new A.FlutterErrorDetails(exception, stack, _s22_, context, informationCollector, silent);
      t1 = this._image_stream$_listeners;
      t2 = type$.WhereTypeIterable_of_void_Function_2_Object_and_nullable_StackTrace;
      localErrorListeners = A.List_List$of(new A.WhereTypeIterable(new A.MappedListIterable(t1, new A.ImageStreamCompleter_reportError_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,~(Object,StackTrace?)?>")), t2), true, t2._eval$1("Iterable.E"));
      handled = false;
      for (t1 = localErrorListeners.length, _i = 0; _i < t1; ++_i) {
        errorListener = localErrorListeners[_i];
        try {
          errorListener.call$2(exception, stack);
          handled = true;
        } catch (exception0) {
          newException = A.unwrapException(exception0);
          newStack = A.getTraceFromException(exception0);
          if (!J.$eq$(newException, exception)) {
            t2 = A.ErrorDescription$("when reporting an error to an image listener");
            t3 = $.$get$FlutterError_onError();
            if (t3 != null)
              t3.call$1(new A.FlutterErrorDetails(newException, newStack, _s22_, t2, null, false));
          }
        }
      }
      if (!handled) {
        t1 = this._currentError;
        t1.toString;
        A.FlutterError_reportError(t1);
      }
    },
    reportError$3$context$exception$stack(context, exception, stack) {
      return this.reportError$5$context$exception$informationCollector$silent$stack(context, exception, null, false, stack);
    },
    reportImageChunkEvent$1($event) {
      var t1, t2, localListeners, _i;
      if (this._image_stream$_disposed)
        A.throwExpression(A.StateError$(string$.Stream));
      t1 = this._image_stream$_listeners;
      if (t1.length !== 0) {
        t2 = type$.WhereTypeIterable_of_void_Function_ImageChunkEvent;
        localListeners = A.List_List$of(new A.WhereTypeIterable(new A.MappedListIterable(t1, new A.ImageStreamCompleter_reportImageChunkEvent_closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,~(ImageChunkEvent)?>")), t2), true, t2._eval$1("Iterable.E"));
        for (t1 = localListeners.length, _i = 0; _i < t1; ++_i)
          localListeners[_i].call$1($event);
      }
    }
  };
  A.ImageStreamCompleter_reportError_closure.prototype = {
    call$1(listener) {
      return listener.onError;
    },
    $signature: 817
  };
  A.ImageStreamCompleter_reportImageChunkEvent_closure.prototype = {
    call$1(listener) {
      return listener.onChunk;
    },
    $signature: 818
  };
  A.MultiFrameImageStreamCompleter.prototype = {
    MultiFrameImageStreamCompleter$5$chunkEvents$codec$debugLabel$informationCollector$scale(chunkEvents, codec, debugLabel, informationCollector, scale) {
      var _this = this;
      _this.debugLabel = debugLabel;
      codec.then$1$2$onError(_this.get$_handleCodecReady(), new A.MultiFrameImageStreamCompleter_closure(_this, informationCollector), type$.void);
      if (chunkEvents != null)
        _this._chunkSubscription = chunkEvents.listen$2$onError(_this.get$reportImageChunkEvent(), new A.MultiFrameImageStreamCompleter_closure0(_this, informationCollector));
    },
    _handleCodecReady$1(codec) {
      this._codec = codec;
      if (this._image_stream$_listeners.length !== 0)
        this._decodeNextFrameAndSchedule$0();
    },
    _handleAppFrame$1(timestamp) {
      var t1, t2, completedCycles, _this = this;
      _this._frameCallbackScheduled = false;
      if (_this._image_stream$_listeners.length === 0)
        return;
      t1 = _this._frameDuration;
      if (t1 != null) {
        t2 = _this.__MultiFrameImageStreamCompleter__shownTimestamp;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = timestamp._duration - t2._duration >= t1._duration;
      } else
        t2 = true;
      if (t2) {
        t1 = _this._nextFrame;
        _this._emitFrame$1(new A.ImageInfo(t1.get$image(t1).clone$0(0), _this._image_stream$_scale, _this.debugLabel));
        _this.__MultiFrameImageStreamCompleter__shownTimestamp = timestamp;
        t1 = _this._nextFrame;
        _this._frameDuration = t1.get$duration(t1);
        t1 = _this._nextFrame;
        t1.get$image(t1).dispose$0();
        _this._nextFrame = null;
        completedCycles = B.JSInt_methods.$tdiv(_this._framesEmitted, _this._codec.get$frameCount());
        if (_this._codec.get$repetitionCount() === -1 || completedCycles <= _this._codec.get$repetitionCount())
          _this._decodeNextFrameAndSchedule$0();
        return;
      }
      t1.toString;
      t2 = _this.__MultiFrameImageStreamCompleter__shownTimestamp;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      _this._image_stream$_timer = A.Timer_Timer(new A.Duration(B.JSNumber_methods.round$0((t1._duration - (timestamp._duration - t2._duration)) * $._timeDilation)), new A.MultiFrameImageStreamCompleter__handleAppFrame_closure(_this));
    },
    _decodeNextFrameAndSchedule$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, exception, stack, exception0, t1, $async$exception0;
      var $async$_decodeNextFrameAndSchedule$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
              t1 = $async$self._nextFrame;
              if (t1 != null)
                t1.get$image(t1).dispose$0();
              $async$self._nextFrame = null;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait($async$self._codec.getNextFrame$0(), $async$_decodeNextFrameAndSchedule$0);
            case 7:
              // returning from await.
              $async$self._nextFrame = $async$result;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception0 = $async$currentError;
              exception = A.unwrapException($async$exception0);
              stack = A.getTraceFromException($async$exception0);
              $async$self.reportError$5$context$exception$informationCollector$silent$stack(A.ErrorDescription$("resolving an image frame"), exception, $async$self._informationCollector, true, stack);
              // 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
              if ($async$self._codec.get$frameCount() === 1) {
                if ($async$self._image_stream$_listeners.length === 0) {
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1 = $async$self._nextFrame;
                $async$self._emitFrame$1(new A.ImageInfo(t1.get$image(t1).clone$0(0), $async$self._image_stream$_scale, $async$self.debugLabel));
                t1 = $async$self._nextFrame;
                t1.get$image(t1).dispose$0();
                $async$self._nextFrame = null;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._scheduleAppFrame$0();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_decodeNextFrameAndSchedule$0, $async$completer);
    },
    _scheduleAppFrame$0() {
      if (this._frameCallbackScheduled)
        return;
      this._frameCallbackScheduled = true;
      $.SchedulerBinding__instance.scheduleFrameCallback$1(this.get$_handleAppFrame());
    },
    _emitFrame$1(imageInfo) {
      this.setImage$1(imageInfo);
      ++this._framesEmitted;
    },
    addListener$1(_, listener) {
      var t1, _this = this;
      if (_this._image_stream$_listeners.length === 0) {
        t1 = _this._codec;
        if (t1 != null)
          t1 = _this._currentImage == null || t1.get$frameCount() > 1;
        else
          t1 = false;
      } else
        t1 = false;
      if (t1)
        _this._decodeNextFrameAndSchedule$0();
      _this.super$ImageStreamCompleter$addListener(0, listener);
    },
    removeListener$1(_, listener) {
      var t1, _this = this;
      _this.super$ImageStreamCompleter$removeListener(0, listener);
      if (_this._image_stream$_listeners.length === 0) {
        t1 = _this._image_stream$_timer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._image_stream$_timer = null;
      }
    },
    _maybeDispose$0() {
      var t1, _this = this;
      _this.super$ImageStreamCompleter$_maybeDispose();
      if (_this._image_stream$_disposed) {
        t1 = _this._chunkSubscription;
        if (t1 != null)
          t1.onData$1(null);
        t1 = _this._chunkSubscription;
        if (t1 != null)
          t1.cancel$0(0);
        _this._chunkSubscription = null;
      }
    }
  };
  A.MultiFrameImageStreamCompleter_closure.prototype = {
    call$2(error, stack) {
      this.$this.reportError$5$context$exception$informationCollector$silent$stack(A.ErrorDescription$("resolving an image codec"), error, this.informationCollector, true, stack);
    },
    $signature: 22
  };
  A.MultiFrameImageStreamCompleter_closure0.prototype = {
    call$2(error, stack) {
      this.$this.reportError$5$context$exception$informationCollector$silent$stack(A.ErrorDescription$("loading an image"), error, this.informationCollector, true, stack);
    },
    $signature: 22
  };
  A.MultiFrameImageStreamCompleter__handleAppFrame_closure.prototype = {
    call$0() {
      this.$this._scheduleAppFrame$0();
    },
    $signature: 0
  };
  A._ImageChunkEvent_Object_Diagnosticable.prototype = {};
  A._ImageStream_Object_Diagnosticable.prototype = {};
  A._ImageStreamCompleter_Object_Diagnosticable.prototype = {};
  A.Accumulator.prototype = {};
  A.InlineSpanSemanticsInformation.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return other instanceof A.InlineSpanSemanticsInformation && other.text === _this.text && other.semanticsLabel == _this.semanticsLabel && other.recognizer == _this.recognizer && other.isPlaceholder === _this.isPlaceholder && A.listEquals(other.stringAttributes, _this.stringAttributes);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.text, _this.semanticsLabel, _this.recognizer, _this.isPlaceholder, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "InlineSpanSemanticsInformation{text: " + this.text + ", semanticsLabel: " + A.S(this.semanticsLabel) + ", recognizer: " + A.S(this.recognizer) + "}";
    }
  };
  A.InlineSpan.prototype = {
    getSpanForPosition$1(position) {
      var t1 = {};
      t1.result = null;
      this.visitChildren$1(new A.InlineSpan_getSpanForPosition_closure(t1, position, new A.Accumulator()));
      return t1.result;
    },
    toPlainText$1$includeSemanticsLabels(includeSemanticsLabels) {
      var t1,
        buffer = new A.StringBuffer("");
      this.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, includeSemanticsLabels);
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toPlainText$0() {
      return this.toPlainText$1$includeSemanticsLabels(true);
    },
    codeUnitAt$1(_, index) {
      var t1 = {};
      if (index < 0)
        return null;
      t1.result = null;
      this.visitChildren$1(new A.InlineSpan_codeUnitAt_closure(t1, index, new A.Accumulator()));
      return t1.result;
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.InlineSpan && J.$eq$(other.style, this.style);
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.style);
    }
  };
  A.InlineSpan_getSpanForPosition_closure.prototype = {
    call$1(span) {
      var result = span.getSpanForPositionVisitor$2(this.position, this.offset);
      this._box_0.result = result;
      return result == null;
    },
    $signature: 65
  };
  A.InlineSpan_codeUnitAt_closure.prototype = {
    call$1(span) {
      var result = span.codeUnitAtVisitor$2(this.index, this.offset);
      this._box_0.result = result;
      return result == null;
    },
    $signature: 65
  };
  A.PlaceholderSpan0.prototype = {
    computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, includePlaceholders, includeSemanticsLabels) {
      buffer._contents += A.Primitives_stringFromCharCode(65532);
    },
    computeSemanticsInformation$1(collector) {
      collector.push(B.InlineSpanSemanticsInformation_o8k);
    }
  };
  A.RoundedRectangleBorder.prototype = {
    get$dimensions() {
      var t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          t1 = t1.width;
          return new A.EdgeInsets(t1, t1, t1, t1);
        case 1:
          t1 = t1.width / 2;
          return new A.EdgeInsets(t1, t1, t1, t1);
        case 2:
          return B.EdgeInsets_0_0_0_0;
      }
    },
    scale$1(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new A.RoundedRectangleBorder(this.borderRadius.$mul(0, t), t1);
    },
    lerpFrom$2(a, t) {
      var t1, t2, _this = this;
      if (a instanceof A.RoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(a.side, _this.side, t);
        t2 = A.BorderRadiusGeometry_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        return new A.RoundedRectangleBorder(t2, t1);
      }
      if (a instanceof A.CircleBorder)
        return new A._RoundedRectangleToCircleBorder(_this.borderRadius, 1 - t, A.BorderSide_lerp(a.side, _this.side, t));
      return _this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2, _this = this;
      if (b instanceof A.RoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(_this.side, b.side, t);
        t2 = A.BorderRadiusGeometry_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new A.RoundedRectangleBorder(t2, t1);
      }
      if (b instanceof A.CircleBorder)
        return new A._RoundedRectangleToCircleBorder(_this.borderRadius, t, A.BorderSide_lerp(_this.side, b.side, t));
      return _this.super$OutlinedBorder$lerpTo(b, t);
    },
    copyWith$1$side(side) {
      var t1 = side == null ? this.side : side;
      return new A.RoundedRectangleBorder(this.borderRadius, t1);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var adjustedRect,
        borderRect = this.borderRadius.resolve$1(textDirection).toRRect$1(rect),
        t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          adjustedRect = borderRect.inflate$1(-t1.width);
          break;
        case 1:
          adjustedRect = borderRect.inflate$1(-(t1.width / 2));
          break;
        case 2:
          adjustedRect = borderRect;
          break;
        default:
          adjustedRect = null;
      }
      t1 = A.Path_Path();
      t1.addRRect$1(adjustedRect);
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(this.borderRadius.resolve$1(textDirection).toRRect$1(rect));
      return t1;
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var width, paint, outer, inner, borderRadiusResolved, _this = this,
        t1 = _this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          width = t1.width;
          if (width === 0)
            canvas.drawRRect$2(_this.borderRadius.resolve$1(textDirection).toRRect$1(rect), t1.toPaint$0());
          else {
            paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
            paint.set$color(0, t1.color);
            t1 = t1.strokeAlign;
            if (t1 === B.StrokeAlign_0) {
              outer = _this.borderRadius.resolve$1(textDirection).toRRect$1(rect);
              canvas.drawDRRect$3(outer, outer.inflate$1(-width), paint);
            } else {
              if (t1 === B.StrokeAlign_1) {
                t1 = width / 2;
                inner = rect.inflate$1(-t1);
                outer = rect.inflate$1(t1);
              } else {
                outer = rect.inflate$1(width);
                inner = rect;
              }
              borderRadiusResolved = _this.borderRadius.resolve$1(textDirection);
              canvas.drawDRRect$3(borderRadiusResolved.toRRect$1(outer), borderRadiusResolved.toRRect$1(inner), paint);
            }
          }
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.RoundedRectangleBorder && other.side.$eq(0, this.side) && other.borderRadius.$eq(0, this.borderRadius);
    },
    get$hashCode(_) {
      return A.Object_hash(this.side, this.borderRadius, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "RoundedRectangleBorder(" + this.side.toString$0(0) + ", " + this.borderRadius.toString$0(0) + ")";
    }
  };
  A._RoundedRectangleToCircleBorder.prototype = {
    get$dimensions() {
      var t1 = this.side.width;
      return new A.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new A._RoundedRectangleToCircleBorder(this.borderRadius.$mul(0, t), t, t1);
    },
    lerpFrom$2(a, t) {
      var t1, t2, t3, _this = this;
      if (a instanceof A.RoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(a.side, _this.side, t);
        t2 = A.BorderRadiusGeometry_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        return new A._RoundedRectangleToCircleBorder(t2, _this.circleness * t, t1);
      }
      if (a instanceof A.CircleBorder) {
        t1 = _this.circleness;
        return new A._RoundedRectangleToCircleBorder(_this.borderRadius, t1 + (1 - t1) * (1 - t), A.BorderSide_lerp(a.side, _this.side, t));
      }
      if (a instanceof A._RoundedRectangleToCircleBorder) {
        t1 = A.BorderSide_lerp(a.side, _this.side, t);
        t2 = A.BorderRadiusGeometry_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        t3 = A.lerpDouble(a.circleness, _this.circleness, t);
        t3.toString;
        return new A._RoundedRectangleToCircleBorder(t2, t3, t1);
      }
      return _this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2, t3, _this = this;
      if (b instanceof A.RoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(_this.side, b.side, t);
        t2 = A.BorderRadiusGeometry_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        return new A._RoundedRectangleToCircleBorder(t2, _this.circleness * (1 - t), t1);
      }
      if (b instanceof A.CircleBorder) {
        t1 = _this.circleness;
        return new A._RoundedRectangleToCircleBorder(_this.borderRadius, t1 + (1 - t1) * t, A.BorderSide_lerp(_this.side, b.side, t));
      }
      if (b instanceof A._RoundedRectangleToCircleBorder) {
        t1 = A.BorderSide_lerp(_this.side, b.side, t);
        t2 = A.BorderRadiusGeometry_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        t3 = A.lerpDouble(_this.circleness, b.circleness, t);
        t3.toString;
        return new A._RoundedRectangleToCircleBorder(t2, t3, t1);
      }
      return _this.super$OutlinedBorder$lerpTo(b, t);
    },
    _adjustRect$1(rect) {
      var t2, t3, t4, t5, t6, t7, delta,
        t1 = this.circleness;
      if (t1 === 0 || rect.right - rect.left === rect.bottom - rect.top)
        return rect;
      t2 = rect.right;
      t3 = rect.left;
      t4 = t2 - t3;
      t5 = rect.bottom;
      t6 = rect.top;
      t7 = t5 - t6;
      if (t4 < t7) {
        delta = t1 * (t7 - t4) / 2;
        return new A.Rect(t3, t6 + delta, t2, t5 - delta);
      } else {
        delta = t1 * (t4 - t7) / 2;
        return new A.Rect(t3 + delta, t6, t2 - delta, t5);
      }
    },
    _adjustBorderRadius$2(rect, textDirection) {
      var resolvedRadius = this.borderRadius.resolve$1(textDirection),
        t1 = this.circleness;
      if (t1 === 0)
        return resolvedRadius;
      return A.BorderRadius_lerp(resolvedRadius, A.BorderRadius$circular(rect.get$shortestSide() / 2), t1);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var borderRect, adjustedRect,
        t1 = this._adjustBorderRadius$2(rect, textDirection);
      t1.toString;
      borderRect = t1.toRRect$1(this._adjustRect$1(rect));
      t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          adjustedRect = borderRect.inflate$1(-t1.width);
          break;
        case 1:
          adjustedRect = borderRect.inflate$1(-(t1.width / 2));
          break;
        case 2:
          adjustedRect = borderRect;
          break;
        default:
          adjustedRect = null;
      }
      t1 = A.Path_Path();
      t1.addRRect$1(adjustedRect);
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path(),
        t2 = this._adjustBorderRadius$2(rect, textDirection);
      t2.toString;
      t1.addRRect$1(t2.toRRect$1(this._adjustRect$1(rect)));
      return t1;
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side(side) {
      var t1 = side == null ? this.side : side;
      return new A._RoundedRectangleToCircleBorder(this.borderRadius, this.circleness, t1);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var width, t2, borderRect, adjustedRect, _this = this,
        t1 = _this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          width = t1.width;
          if (width === 0) {
            t2 = _this._adjustBorderRadius$2(rect, textDirection);
            t2.toString;
            canvas.drawRRect$2(t2.toRRect$1(_this._adjustRect$1(rect)), t1.toPaint$0());
          } else {
            t2 = _this._adjustBorderRadius$2(rect, textDirection);
            t2.toString;
            borderRect = t2.toRRect$1(_this._adjustRect$1(rect));
            switch (t1.strokeAlign.index) {
              case 0:
                adjustedRect = borderRect.inflate$1(-(width / 2));
                break;
              case 1:
                adjustedRect = borderRect;
                break;
              case 2:
                adjustedRect = borderRect.inflate$1(width / 2);
                break;
              default:
                adjustedRect = null;
            }
            canvas.drawRRect$2(adjustedRect, t1.toPaint$0());
          }
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A._RoundedRectangleToCircleBorder && other.side.$eq(0, _this.side) && other.borderRadius.$eq(0, _this.borderRadius) && other.circleness === _this.circleness;
    },
    get$hashCode(_) {
      return A.Object_hash(this.side, this.borderRadius, this.circleness, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "RoundedRectangleBorder(" + this.side.toString$0(0) + ", " + this.borderRadius.toString$0(0) + ", " + B.JSNumber_methods.toStringAsFixed$1(this.circleness * 100, 1) + "% of the way to being a CircleBorder)";
    }
  };
  A.ShapeDecoration.prototype = {
    getClipPath$2(rect, textDirection) {
      return this.shape.getOuterPath$2$textDirection(rect, textDirection);
    },
    get$padding(_) {
      return this.shape.get$dimensions();
    },
    get$isComplex() {
      return this.shadows != null;
    },
    lerpFrom$2(a, t) {
      if (a instanceof A.BoxDecoration)
        return A.ShapeDecoration_lerp(A.ShapeDecoration_ShapeDecoration$fromBoxDecoration(a), this, t);
      else if (a == null || a instanceof A.ShapeDecoration)
        return A.ShapeDecoration_lerp(type$.nullable_ShapeDecoration._as(a), this, t);
      return this.super$Decoration$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      if (b instanceof A.BoxDecoration)
        return A.ShapeDecoration_lerp(this, A.ShapeDecoration_ShapeDecoration$fromBoxDecoration(b), t);
      else if (b == null || b instanceof A.ShapeDecoration)
        return A.ShapeDecoration_lerp(this, type$.nullable_ShapeDecoration._as(b), t);
      return this.super$Decoration$lerpTo(b, t);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.ShapeDecoration && J.$eq$(other.color, _this.color) && J.$eq$(other.gradient, _this.gradient) && J.$eq$(other.image, _this.image) && A.listEquals(other.shadows, _this.shadows) && other.shape.$eq(0, _this.shape);
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.shadows;
      t1 = t1 == null ? null : A.Object_hashAll(t1);
      return A.Object_hash(_this.color, _this.gradient, _this.image, _this.shape, t1, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    hitTest$3$textDirection(size, position, textDirection) {
      return this.shape.getOuterPath$2$textDirection(new A.Rect(0, 0, 0 + size._dx, 0 + size._dy), textDirection).contains$1(0, position);
    },
    createBoxPainter$1(onChanged) {
      return new A._ShapeDecorationPainter(this, onChanged);
    }
  };
  A._ShapeDecorationPainter.prototype = {
    _precache$2(rect, textDirection) {
      var t1, t2, t3, _this = this;
      if (rect.$eq(0, _this._lastRect) && textDirection == _this._lastTextDirection)
        return;
      if (_this._interiorPaint == null) {
        t1 = _this._shape_decoration$_decoration;
        t1 = t1.color != null || t1.gradient != null;
      } else
        t1 = false;
      if (t1) {
        t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        _this._interiorPaint = t1;
        t2 = _this._shape_decoration$_decoration.color;
        if (t2 != null)
          t1.set$color(0, t2);
      }
      t1 = _this._shape_decoration$_decoration;
      t2 = t1.gradient;
      if (t2 != null) {
        t3 = _this._interiorPaint;
        t3.toString;
        t3.set$shader(t2.createShader$2$textDirection(0, rect, textDirection));
      }
      t2 = t1.shadows;
      if (t2 != null) {
        if (_this._shadowCount == null) {
          _this._shadowCount = t2.length;
          _this.___ShapeDecorationPainter__shadowPaints = A.List_List$of(new A.MappedListIterable(t2, new A._ShapeDecorationPainter__precache_closure(), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Paint>")), true, type$.Paint);
        }
        _this.___ShapeDecorationPainter__shadowPaths = A.List_List$of(new A.MappedListIterable(t2, new A._ShapeDecorationPainter__precache_closure0(_this, rect, textDirection), A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Path>")), true, type$.Path);
      }
      if (_this._interiorPaint != null || _this._shadowCount != null)
        _this.___ShapeDecorationPainter__outerPath = t1.shape.getOuterPath$2$textDirection(rect, textDirection);
      if (t1.image != null)
        _this._innerPath = t1.shape.getInnerPath$2$textDirection(rect, textDirection);
      _this._lastRect = rect;
      _this._lastTextDirection = textDirection;
    },
    _shape_decoration$_paintShadows$1(canvas) {
      var index, t1, t2, _this = this;
      if (_this._shadowCount != null) {
        index = 0;
        while (true) {
          t1 = _this._shadowCount;
          t1.toString;
          if (!(index < t1))
            break;
          t1 = _this.___ShapeDecorationPainter__shadowPaths;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1[index];
          t2 = _this.___ShapeDecorationPainter__shadowPaints;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          canvas.drawPath$2(t1, t2[index]);
          ++index;
        }
      }
    },
    _paintImage$2(canvas, configuration) {
      var t2, _this = this,
        t1 = _this._shape_decoration$_decoration.image;
      if (t1 == null)
        return;
      t2 = _this._shape_decoration$_imagePainter;
      if (t2 == null) {
        t2 = _this.onChanged;
        t2.toString;
        t2 = _this._shape_decoration$_imagePainter = new A.DecorationImagePainter(t1, t2);
        t1 = t2;
      } else
        t1 = t2;
      t2 = _this._lastRect;
      t2.toString;
      t1.paint$4(canvas, t2, _this._innerPath, configuration);
    },
    dispose$0() {
      var t1 = this._shape_decoration$_imagePainter;
      if (t1 != null)
        t1.dispose$0();
      this.super$BoxPainter$dispose();
    },
    paint$3(canvas, offset, configuration) {
      var _this = this,
        t1 = configuration.size,
        t2 = offset._dx,
        t3 = offset._dy,
        rect = new A.Rect(t2, t3, t2 + t1._dx, t3 + t1._dy),
        textDirection = configuration.textDirection;
      _this._precache$2(rect, textDirection);
      _this._shape_decoration$_paintShadows$1(canvas);
      t1 = _this._interiorPaint;
      if (t1 != null) {
        t2 = _this.___ShapeDecorationPainter__outerPath;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        canvas.drawPath$2(t2, t1);
      }
      _this._paintImage$2(canvas, configuration);
      _this._shape_decoration$_decoration.shape.paint$3$textDirection(canvas, rect, textDirection);
    }
  };
  A._ShapeDecorationPainter__precache_closure.prototype = {
    call$1(shadow) {
      return shadow.toPaint$0();
    },
    $signature: 820
  };
  A._ShapeDecorationPainter__precache_closure0.prototype = {
    call$1(shadow) {
      return this.$this._shape_decoration$_decoration.shape.getOuterPath$2$textDirection(this.rect.shift$1(shadow.offset).inflate$1(shadow.spreadRadius), this.textDirection);
    },
    $signature: 821
  };
  A.StadiumBorder.prototype = {
    get$dimensions() {
      var t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          t1 = t1.width;
          return new A.EdgeInsets(t1, t1, t1, t1);
        case 1:
          t1 = t1.width / 2;
          return new A.EdgeInsets(t1, t1, t1, t1);
        case 2:
          return B.EdgeInsets_0_0_0_0;
      }
    },
    scale$1(_, t) {
      return new A.StadiumBorder(this.side.scale$1(0, t));
    },
    lerpFrom$2(a, t) {
      var t1, _this = this;
      if (a instanceof A.StadiumBorder)
        return new A.StadiumBorder(A.BorderSide_lerp(a.side, _this.side, t));
      if (a instanceof A.CircleBorder)
        return new A._StadiumToCircleBorder(1 - t, A.BorderSide_lerp(a.side, _this.side, t));
      if (a instanceof A.RoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(a.side, _this.side, t);
        return new A._StadiumToRoundedRectangleBorder(type$.BorderRadius._as(a.borderRadius), 1 - t, t1);
      }
      return _this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, _this = this;
      if (b instanceof A.StadiumBorder)
        return new A.StadiumBorder(A.BorderSide_lerp(_this.side, b.side, t));
      if (b instanceof A.CircleBorder)
        return new A._StadiumToCircleBorder(t, A.BorderSide_lerp(_this.side, b.side, t));
      if (b instanceof A.RoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(_this.side, b.side, t);
        return new A._StadiumToRoundedRectangleBorder(type$.BorderRadius._as(b.borderRadius), t, t1);
      }
      return _this.super$OutlinedBorder$lerpTo(b, t);
    },
    copyWith$1$side(side) {
      return new A.StadiumBorder(side == null ? this.side : side);
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var adjustedRect,
        t1 = rect.get$shortestSide() / 2,
        borderRect = A.RRect$fromRectAndRadius(rect, new A.Radius(t1, t1));
      t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          adjustedRect = borderRect.inflate$1(-t1.width);
          break;
        case 1:
          adjustedRect = borderRect.inflate$1(-(t1.width / 2));
          break;
        case 2:
          adjustedRect = borderRect;
          break;
        default:
          adjustedRect = null;
      }
      t1 = A.Path_Path();
      t1.addRRect$1(adjustedRect);
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = rect.get$shortestSide() / 2,
        t2 = A.Path_Path();
      t2.addRRect$1(A.RRect$fromRectAndRadius(rect, new A.Radius(t1, t1)));
      return t2;
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var t2, borderRect, adjustedRect,
        t1 = this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          t2 = rect.get$shortestSide() / 2;
          borderRect = A.RRect$fromRectAndRadius(rect, new A.Radius(t2, t2));
          switch (t1.strokeAlign.index) {
            case 0:
              adjustedRect = borderRect.inflate$1(-(t1.width / 2));
              break;
            case 1:
              adjustedRect = borderRect;
              break;
            case 2:
              adjustedRect = borderRect.inflate$1(t1.width / 2);
              break;
            default:
              adjustedRect = null;
          }
          canvas.drawRRect$2(adjustedRect, t1.toPaint$0());
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.StadiumBorder && other.side.$eq(0, this.side);
    },
    get$hashCode(_) {
      var t1 = this.side;
      return A.Object_hash(t1.color, t1.width, t1.style, t1.strokeAlign, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "StadiumBorder(" + this.side.toString$0(0) + ")";
    }
  };
  A._StadiumToCircleBorder.prototype = {
    get$dimensions() {
      var t1 = this.side.width;
      return new A.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1(_, t) {
      return new A._StadiumToCircleBorder(t, this.side.scale$1(0, t));
    },
    lerpFrom$2(a, t) {
      var t1, t2, _this = this;
      if (a instanceof A.StadiumBorder)
        return new A._StadiumToCircleBorder(_this.circleness * t, A.BorderSide_lerp(a.side, _this.side, t));
      if (a instanceof A.CircleBorder) {
        t1 = _this.circleness;
        return new A._StadiumToCircleBorder(t1 + (1 - t1) * (1 - t), A.BorderSide_lerp(a.side, _this.side, t));
      }
      if (a instanceof A._StadiumToCircleBorder) {
        t1 = A.BorderSide_lerp(a.side, _this.side, t);
        t2 = A.lerpDouble(a.circleness, _this.circleness, t);
        t2.toString;
        return new A._StadiumToCircleBorder(t2, t1);
      }
      return _this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2, _this = this;
      if (b instanceof A.StadiumBorder)
        return new A._StadiumToCircleBorder(_this.circleness * (1 - t), A.BorderSide_lerp(_this.side, b.side, t));
      if (b instanceof A.CircleBorder) {
        t1 = _this.circleness;
        return new A._StadiumToCircleBorder(t1 + (1 - t1) * t, A.BorderSide_lerp(_this.side, b.side, t));
      }
      if (b instanceof A._StadiumToCircleBorder) {
        t1 = A.BorderSide_lerp(_this.side, b.side, t);
        t2 = A.lerpDouble(_this.circleness, b.circleness, t);
        t2.toString;
        return new A._StadiumToCircleBorder(t2, t1);
      }
      return _this.super$OutlinedBorder$lerpTo(b, t);
    },
    _stadium_border$_adjustRect$1(rect) {
      var t2, t3, t4, t5, t6, t7, delta,
        t1 = this.circleness;
      if (t1 === 0 || rect.right - rect.left === rect.bottom - rect.top)
        return rect;
      t2 = rect.right;
      t3 = rect.left;
      t4 = t2 - t3;
      t5 = rect.bottom;
      t6 = rect.top;
      t7 = t5 - t6;
      if (t4 < t7) {
        delta = t1 * (t7 - t4) / 2;
        return new A.Rect(t3, t6 + delta, t2, t5 - delta);
      } else {
        delta = t1 * (t4 - t7) / 2;
        return new A.Rect(t3 + delta, t6, t2 - delta, t5);
      }
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(A.BorderRadius$circular(rect.get$shortestSide() / 2).toRRect$1(this._stadium_border$_adjustRect$1(rect)).inflate$1(-this.side.width));
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(A.BorderRadius$circular(rect.get$shortestSide() / 2).toRRect$1(this._stadium_border$_adjustRect$1(rect)));
      return t1;
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side(side) {
      var t1 = side == null ? this.side : side;
      return new A._StadiumToCircleBorder(this.circleness, t1);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var width, borderRect, adjustedRect,
        t1 = this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          width = t1.width;
          if (width === 0)
            canvas.drawRRect$2(A.BorderRadius$circular(rect.get$shortestSide() / 2).toRRect$1(this._stadium_border$_adjustRect$1(rect)), t1.toPaint$0());
          else {
            borderRect = A.BorderRadius$circular(rect.get$shortestSide() / 2).toRRect$1(this._stadium_border$_adjustRect$1(rect));
            switch (t1.strokeAlign.index) {
              case 0:
                adjustedRect = borderRect.inflate$1(-(width / 2));
                break;
              case 1:
                adjustedRect = borderRect;
                break;
              case 2:
                adjustedRect = borderRect.inflate$1(width / 2);
                break;
              default:
                adjustedRect = null;
            }
            canvas.drawRRect$2(adjustedRect, t1.toPaint$0());
          }
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A._StadiumToCircleBorder && other.side.$eq(0, this.side) && other.circleness === this.circleness;
    },
    get$hashCode(_) {
      return A.Object_hash(this.side, this.circleness, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "StadiumBorder(" + this.side.toString$0(0) + ", " + B.JSNumber_methods.toStringAsFixed$1(this.circleness * 100, 1) + "% of the way to being a CircleBorder)";
    }
  };
  A._StadiumToRoundedRectangleBorder.prototype = {
    get$dimensions() {
      var t1 = this.side.width;
      return new A.EdgeInsets(t1, t1, t1, t1);
    },
    scale$1(_, t) {
      var t1 = this.side.scale$1(0, t);
      return new A._StadiumToRoundedRectangleBorder(this.borderRadius.$mul(0, t), t, t1);
    },
    lerpFrom$2(a, t) {
      var t1, t2, t3, _this = this;
      if (a instanceof A.StadiumBorder)
        return new A._StadiumToRoundedRectangleBorder(_this.borderRadius, _this.rectness * t, A.BorderSide_lerp(a.side, _this.side, t));
      if (a instanceof A.RoundedRectangleBorder) {
        t1 = _this.rectness;
        return new A._StadiumToRoundedRectangleBorder(_this.borderRadius, t1 + (1 - t1) * (1 - t), A.BorderSide_lerp(a.side, _this.side, t));
      }
      if (a instanceof A._StadiumToRoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(a.side, _this.side, t);
        t2 = A.BorderRadius_lerp(a.borderRadius, _this.borderRadius, t);
        t2.toString;
        t3 = A.lerpDouble(a.rectness, _this.rectness, t);
        t3.toString;
        return new A._StadiumToRoundedRectangleBorder(t2, t3, t1);
      }
      return _this.super$OutlinedBorder$lerpFrom(a, t);
    },
    lerpTo$2(b, t) {
      var t1, t2, t3, _this = this;
      if (b instanceof A.StadiumBorder)
        return new A._StadiumToRoundedRectangleBorder(_this.borderRadius, _this.rectness * (1 - t), A.BorderSide_lerp(_this.side, b.side, t));
      if (b instanceof A.RoundedRectangleBorder) {
        t1 = _this.rectness;
        return new A._StadiumToRoundedRectangleBorder(_this.borderRadius, t1 + (1 - t1) * t, A.BorderSide_lerp(_this.side, b.side, t));
      }
      if (b instanceof A._StadiumToRoundedRectangleBorder) {
        t1 = A.BorderSide_lerp(_this.side, b.side, t);
        t2 = A.BorderRadius_lerp(_this.borderRadius, b.borderRadius, t);
        t2.toString;
        t3 = A.lerpDouble(_this.rectness, b.rectness, t);
        t3.toString;
        return new A._StadiumToRoundedRectangleBorder(t2, t3, t1);
      }
      return _this.super$OutlinedBorder$lerpTo(b, t);
    },
    _stadium_border$_adjustBorderRadius$1(rect) {
      var t1 = rect.get$shortestSide() / 2;
      t1 = A.BorderRadius_lerp(this.borderRadius, A.BorderRadius$all(new A.Radius(t1, t1)), 1 - this.rectness);
      t1.toString;
      return t1;
    },
    getInnerPath$2$textDirection(rect, textDirection) {
      var adjustedRect,
        borderRect = this._stadium_border$_adjustBorderRadius$1(rect).toRRect$1(rect),
        t1 = this.side;
      switch (t1.strokeAlign.index) {
        case 0:
          adjustedRect = borderRect.inflate$1(-t1.width);
          break;
        case 1:
          adjustedRect = borderRect.inflate$1(-(t1.width / 2));
          break;
        case 2:
          adjustedRect = borderRect;
          break;
        default:
          adjustedRect = null;
      }
      t1 = A.Path_Path();
      t1.addRRect$1(adjustedRect);
      return t1;
    },
    getOuterPath$2$textDirection(rect, textDirection) {
      var t1 = A.Path_Path();
      t1.addRRect$1(this._stadium_border$_adjustBorderRadius$1(rect).toRRect$1(rect));
      return t1;
    },
    getOuterPath$1(rect) {
      return this.getOuterPath$2$textDirection(rect, null);
    },
    copyWith$1$side(side) {
      var t1 = side == null ? this.side : side;
      return new A._StadiumToRoundedRectangleBorder(this.borderRadius, this.rectness, t1);
    },
    paint$3$textDirection(canvas, rect, textDirection) {
      var width, t2, outer, inner, paint, _this = this,
        t1 = _this.side;
      switch (t1.style.index) {
        case 0:
          break;
        case 1:
          width = t1.width;
          if (width === 0)
            canvas.drawRRect$2(_this._stadium_border$_adjustBorderRadius$1(rect).toRRect$1(rect), t1.toPaint$0());
          else {
            t2 = t1.strokeAlign;
            if (t2 === B.StrokeAlign_0) {
              outer = _this._stadium_border$_adjustBorderRadius$1(rect).toRRect$1(rect);
              inner = outer.inflate$1(-width);
              paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
              paint.set$color(0, t1.color);
              canvas.drawDRRect$3(outer, inner, paint);
            } else {
              outer = t2 === B.StrokeAlign_1 ? _this._stadium_border$_adjustBorderRadius$1(rect).toRRect$1(rect) : _this._stadium_border$_adjustBorderRadius$1(rect.inflate$1(width)).toRRect$1(rect.inflate$1(width / 2));
              canvas.drawRRect$2(outer, t1.toPaint$0());
            }
          }
          break;
      }
    },
    paint$2(canvas, rect) {
      return this.paint$3$textDirection(canvas, rect, null);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A._StadiumToRoundedRectangleBorder && other.side.$eq(0, _this.side) && other.borderRadius.$eq(0, _this.borderRadius) && other.rectness === _this.rectness;
    },
    get$hashCode(_) {
      return A.Object_hash(this.side, this.borderRadius, this.rectness, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "StadiumBorder(" + this.side.toString$0(0) + ", " + this.borderRadius.toString$0(0) + ", " + B.JSNumber_methods.toStringAsFixed$1(this.rectness * 100, 1) + "% of the way to being a RoundedRectangleBorder)";
    }
  };
  A.StrutStyle.prototype = {
    get$fontFamilyFallback() {
      return this._strut_style$_fontFamilyFallback;
    },
    inheritFromTextStyle$1(other) {
      var t2, t3, t4, t5, t6, t7, _this = this,
        t1 = _this.fontFamily;
      if (t1 == null)
        t1 = other.fontFamily;
      t2 = _this.get$fontFamilyFallback();
      if (t2 == null)
        t2 = other.get$fontFamilyFallback();
      t3 = _this.fontSize;
      if (t3 == null)
        t3 = other.fontSize;
      t4 = _this.height;
      if (t4 == null)
        t4 = other.height;
      t5 = _this.fontWeight;
      if (t5 == null)
        t5 = other.fontWeight;
      t6 = _this.fontStyle;
      if (t6 == null)
        t6 = other.fontStyle;
      t7 = _this.debugLabel;
      if (t7 == null)
        t7 = other.debugLabel;
      return new A.StrutStyle(t1, t2, t3, t4, t5, t6, _this.leading, _this.forceStrutHeight, t7);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.StrutStyle)
        if (other.fontFamily == _this.fontFamily)
          if (other.fontSize == _this.fontSize)
            if (other.fontWeight == _this.fontWeight)
              if (other.fontStyle == _this.fontStyle)
                if (other.height == _this.height)
                  t1 = other.forceStrutHeight == _this.forceStrutHeight;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.fontFamily, _this.fontSize, _this.fontWeight, _this.fontStyle, _this.height, _this.leading, _this.forceStrutHeight, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toStringShort$0() {
      return "StrutStyle";
    }
  };
  A._StrutStyle_Object_Diagnosticable.prototype = {};
  A.TextOverflow.prototype = {
    toString$0(_) {
      return "TextOverflow." + this._core$_name;
    }
  };
  A.PlaceholderDimensions.prototype = {
    toString$0(_) {
      return "PlaceholderDimensions(" + this.size.toString$0(0) + ", " + A.S(this.baseline) + ")";
    }
  };
  A.TextWidthBasis.prototype = {
    toString$0(_) {
      return "TextWidthBasis." + this._core$_name;
    }
  };
  A._CaretMetrics.prototype = {};
  A.TextPainter.prototype = {
    markNeedsLayout$0() {
      var _this = this;
      _this._previousCaretPrototype = _this._previousCaretPosition = _this._lineMetricsCache = _this._paragraph = null;
    },
    set$text(_, value) {
      var t1, comparison, _this = this;
      if (J.$eq$(_this._text_painter$_text, value))
        return;
      t1 = _this._text_painter$_text;
      t1 = t1 == null ? null : t1.style;
      if (!J.$eq$(t1, value.style))
        _this._layoutTemplate = null;
      t1 = _this._text_painter$_text;
      t1 = t1 == null ? null : t1.compareTo$1(0, value);
      comparison = t1 == null ? B.RenderComparison_3 : t1;
      _this._text_painter$_text = value;
      t1 = comparison.index;
      if (t1 >= 3)
        _this.markNeedsLayout$0();
      else if (t1 >= 2)
        _this._rebuildParagraphForPaint = true;
    },
    set$textAlign(_, value) {
      if (this._textAlign === value)
        return;
      this._textAlign = value;
      this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._text_painter$_textDirection === value)
        return;
      _this._text_painter$_textDirection = value;
      _this.markNeedsLayout$0();
      _this._layoutTemplate = null;
    },
    set$textScaleFactor(value) {
      var _this = this;
      if (_this._textScaleFactor === value)
        return;
      _this._textScaleFactor = value;
      _this.markNeedsLayout$0();
      _this._layoutTemplate = null;
    },
    set$ellipsis(value) {
      if (this._ellipsis == value)
        return;
      this._ellipsis = value;
      this.markNeedsLayout$0();
    },
    set$locale(_, value) {
      if (J.$eq$(this._text_painter$_locale, value))
        return;
      this._text_painter$_locale = value;
      this.markNeedsLayout$0();
    },
    set$maxLines(value) {
      if (this._text_painter$_maxLines == value)
        return;
      this._text_painter$_maxLines = value;
      this.markNeedsLayout$0();
    },
    set$strutStyle(value) {
      if (J.$eq$(this._strutStyle, value))
        return;
      this._strutStyle = value;
      this.markNeedsLayout$0();
    },
    set$textWidthBasis(value) {
      if (this._textWidthBasis === value)
        return;
      this._textWidthBasis = value;
      this.markNeedsLayout$0();
    },
    set$textHeightBehavior(value) {
      if (J.$eq$(this._textHeightBehavior, value))
        return;
      this._textHeightBehavior = value;
      this.markNeedsLayout$0();
    },
    setPlaceholderDimensions$1(value) {
      if (value == null || value.length === 0 || A.listEquals(value, this._placeholderDimensions))
        return;
      this._placeholderDimensions = value;
      this.markNeedsLayout$0();
    },
    _createParagraphStyle$1(defaultTextDirection) {
      var t2, t3, t4, t5, effectiveTextHeightBehavior, t6, t7, t8, leadingDistribution, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, _this = this, _null = null,
        t1 = _this._text_painter$_text.style;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = _this._textAlign;
        t3 = _this._text_painter$_textDirection;
        if (t3 == null)
          t3 = defaultTextDirection;
        t4 = _this._textScaleFactor;
        t5 = _this._text_painter$_maxLines;
        effectiveTextHeightBehavior = _this._textHeightBehavior;
        t6 = _this._ellipsis;
        t7 = _this._text_painter$_locale;
        t8 = _this._strutStyle;
        leadingDistribution = t1.leadingDistribution;
        if (effectiveTextHeightBehavior == null)
          effectiveTextHeightBehavior = leadingDistribution == null ? _null : new A.TextHeightBehavior(true, true, leadingDistribution);
        t9 = t1.fontWeight;
        t10 = t1.fontStyle;
        t11 = t1.fontFamily;
        t12 = t1.fontSize;
        if (t12 == null)
          t12 = 14;
        t1 = t1.height;
        if (t8 == null)
          t8 = _null;
        else {
          t13 = t8.fontFamily;
          t14 = t8.get$fontFamilyFallback();
          t15 = t8.fontSize;
          t15 = t15 == null ? _null : t15 * t4;
          t16 = t8.height;
          t17 = t8.leading;
          t18 = t8.fontWeight;
          t17 = A.StrutStyle_StrutStyle(t13, t14, t15, t8.fontStyle, t18, t8.forceStrutHeight, t16, t17);
          t8 = t17;
        }
        t3 = A.ParagraphStyle_ParagraphStyle(t6, t11, t12 * t4, t10, t9, t1, t7, t5, t8, t2, t3, effectiveTextHeightBehavior);
        t1 = t3;
      }
      if (t1 == null) {
        t1 = _this._textAlign;
        t2 = _this._text_painter$_textDirection;
        if (t2 == null)
          t2 = defaultTextDirection;
        t3 = _this._textScaleFactor;
        t4 = _this._text_painter$_maxLines;
        t5 = _this._textHeightBehavior;
        t5 = A.ParagraphStyle_ParagraphStyle(_this._ellipsis, _null, 14 * t3, _null, _null, _null, _this._text_painter$_locale, t4, _null, t1, t2, t5);
        t1 = t5;
      }
      return t1;
    },
    _createParagraphStyle$0() {
      return this._createParagraphStyle$1(null);
    },
    get$preferredLineHeight() {
      var builder, textStyle, _this = this,
        t1 = _this._layoutTemplate;
      if (t1 == null) {
        builder = A.ParagraphBuilder_ParagraphBuilder(_this._createParagraphStyle$1(B.TextDirection_0));
        t1 = _this._text_painter$_text;
        if (t1 == null)
          textStyle = null;
        else {
          t1 = t1.style;
          textStyle = t1 == null ? null : t1.getTextStyle$1$textScaleFactor(_this._textScaleFactor);
        }
        if (textStyle != null)
          builder.pushStyle$1(textStyle);
        builder.addText$1(" ");
        t1 = builder.build$0();
        t1.layout$1(B.ParagraphConstraints_C5f);
        _this._layoutTemplate = t1;
      }
      return t1.get$height(t1);
    },
    get$width(_) {
      var t1 = this._textWidthBasis,
        t2 = this._paragraph;
      t1 = t1 === B.TextWidthBasis_1 ? t2.get$longestLine() : t2.get$width(t2);
      return Math.ceil(t1);
    },
    computeDistanceToActualBaseline$1(baseline) {
      var t1;
      switch (baseline.index) {
        case 0:
          t1 = this._paragraph;
          return t1.get$alphabeticBaseline(t1);
        case 1:
          t1 = this._paragraph;
          return t1.get$ideographicBaseline(t1);
      }
    },
    _createParagraph$0() {
      var builder, t1, _this = this,
        text = _this._text_painter$_text;
      if (text == null)
        throw A.wrapException(A.StateError$("TextPainter.text must be set to a non-null value before using the TextPainter."));
      builder = A.ParagraphBuilder_ParagraphBuilder(_this._createParagraphStyle$0());
      t1 = _this._textScaleFactor;
      text.build$3$dimensions$textScaleFactor(builder, _this._placeholderDimensions, t1);
      _this._inlinePlaceholderScales = builder.get$placeholderScales();
      _this._paragraph = builder.build$0();
      _this._rebuildParagraphForPaint = false;
    },
    _layoutParagraph$2(minWidth, maxWidth) {
      var newWidth, t1, _this = this;
      _this._paragraph.layout$1(new A.ParagraphConstraints(maxWidth));
      if (minWidth !== maxWidth) {
        switch (_this._textWidthBasis.index) {
          case 1:
            newWidth = Math.ceil(_this._paragraph.get$longestLine());
            break;
          case 0:
            newWidth = Math.ceil(_this._paragraph.get$maxIntrinsicWidth());
            break;
          default:
            newWidth = null;
        }
        newWidth = A.clampDouble(newWidth, minWidth, maxWidth);
        t1 = _this._paragraph;
        if (newWidth !== Math.ceil(t1.get$width(t1)))
          _this._paragraph.layout$1(new A.ParagraphConstraints(newWidth));
      }
    },
    layout$2$maxWidth$minWidth(maxWidth, minWidth) {
      var _this = this,
        t1 = _this._paragraph == null;
      if (!t1 && minWidth === _this._lastMinWidth && maxWidth === _this._lastMaxWidth)
        return;
      if (_this._rebuildParagraphForPaint || t1)
        _this._createParagraph$0();
      _this._lastMinWidth = minWidth;
      _this._lastMaxWidth = maxWidth;
      _this._previousCaretPrototype = _this._previousCaretPosition = _this._lineMetricsCache = null;
      _this._layoutParagraph$2(minWidth, maxWidth);
      _this._inlinePlaceholderBoxes = _this._paragraph.getBoxesForPlaceholders$0();
    },
    layout$0() {
      return this.layout$2$maxWidth$minWidth(1 / 0, 0);
    },
    layout$1$maxWidth(maxWidth) {
      return this.layout$2$maxWidth$minWidth(maxWidth, 0);
    },
    paint$2(canvas, offset) {
      var t1, _this = this,
        minWidth = _this._lastMinWidth,
        maxWidth = _this._lastMaxWidth;
      if (_this._paragraph == null || minWidth == null || maxWidth == null)
        throw A.wrapException(A.StateError$("TextPainter.paint called when text geometry was not yet calculated.\nPlease call layout() before paint() to position the text before painting it."));
      if (_this._rebuildParagraphForPaint) {
        _this._createParagraph$0();
        _this._layoutParagraph$2(minWidth, maxWidth);
      }
      t1 = _this._paragraph;
      t1.toString;
      canvas.drawParagraph$2(t1, offset);
    },
    getOffsetAfter$1(offset) {
      var nextCodeUnit = this._text_painter$_text.codeUnitAt$1(0, offset);
      if (nextCodeUnit == null)
        return null;
      return (nextCodeUnit & 63488) === 55296 ? offset + 2 : offset + 1;
    },
    getOffsetBefore$1(offset) {
      var t1 = offset - 1,
        prevCodeUnit = this._text_painter$_text.codeUnitAt$1(0, t1);
      if (prevCodeUnit == null)
        return null;
      return (prevCodeUnit & 63488) === 55296 ? offset - 2 : t1;
    },
    _getRectFromUpstream$2(offset, caretPrototype) {
      var prevCodeUnit, needsSearch, graphemeClusterLength, boxes, t2, t3, prevRuneOffset, box, caretEnd, dx, _this = this,
        flattenedText = _this._text_painter$_text.toPlainText$1$includeSemanticsLabels(false),
        t1 = _this._text_painter$_text;
      t1.toString;
      prevCodeUnit = t1.codeUnitAt$1(0, Math.max(0, offset - 1));
      if (prevCodeUnit == null)
        return null;
      needsSearch = (prevCodeUnit & 63488) === 55296 || _this._text_painter$_text.codeUnitAt$1(0, offset) === 8205 || prevCodeUnit === 8207 || prevCodeUnit === 8206;
      graphemeClusterLength = needsSearch ? 2 : 1;
      boxes = A._setArrayType([], type$.JSArray_TextBox);
      for (t1 = -flattenedText.length, t2 = !needsSearch, t3 = prevCodeUnit === 10; boxes.length === 0;) {
        prevRuneOffset = offset - graphemeClusterLength;
        boxes = _this._paragraph.getBoxesForRange$3$boxHeightStyle(prevRuneOffset, offset, B.BoxHeightStyle_5);
        if (boxes.length === 0) {
          if (t2 && t3)
            break;
          if (prevRuneOffset < t1)
            break;
          graphemeClusterLength *= 2;
          continue;
        }
        box = B.JSArray_methods.get$first(boxes);
        if (t3) {
          t1 = box.bottom;
          return new A.Rect(_this.get$_emptyOffset()._dx, t1, _this.get$_emptyOffset()._dx, t1 + t1 - box.top);
        }
        t1 = box.direction;
        caretEnd = t1 === B.TextDirection_1 ? box.right : box.left;
        dx = t1 === B.TextDirection_0 ? caretEnd - (caretPrototype.right - caretPrototype.left) : caretEnd;
        t1 = _this._paragraph;
        t1 = A.clampDouble(dx, 0, t1.get$width(t1));
        t2 = _this._paragraph;
        return new A.Rect(t1, box.top, A.clampDouble(dx, 0, t2.get$width(t2)), box.bottom);
      }
      return null;
    },
    _getRectFromDownstream$2(offset, caretPrototype) {
      var t2, nextCodeUnit, needsSearch, graphemeClusterLength, boxes, nextRuneOffset, box, caretStart, dx, _this = this,
        flattenedText = _this._text_painter$_text.toPlainText$1$includeSemanticsLabels(false),
        t1 = _this._text_painter$_text;
      t1.toString;
      t2 = flattenedText.length;
      nextCodeUnit = t1.codeUnitAt$1(0, Math.min(offset, t2 - 1));
      if (nextCodeUnit == null)
        return null;
      needsSearch = (nextCodeUnit & 63488) === 55296 || nextCodeUnit === 8205 || nextCodeUnit === 8207 || nextCodeUnit === 8206;
      graphemeClusterLength = needsSearch ? 2 : 1;
      boxes = A._setArrayType([], type$.JSArray_TextBox);
      for (t1 = t2 << 1 >>> 0, t2 = !needsSearch; boxes.length === 0;) {
        nextRuneOffset = offset + graphemeClusterLength;
        boxes = _this._paragraph.getBoxesForRange$3$boxHeightStyle(offset, nextRuneOffset, B.BoxHeightStyle_5);
        if (boxes.length === 0) {
          if (t2)
            break;
          if (nextRuneOffset >= t1)
            break;
          graphemeClusterLength *= 2;
          continue;
        }
        box = B.JSArray_methods.get$last(boxes);
        t1 = box.direction;
        caretStart = t1 === B.TextDirection_1 ? box.left : box.right;
        dx = t1 === B.TextDirection_0 ? caretStart - (caretPrototype.right - caretPrototype.left) : caretStart;
        t1 = _this._paragraph;
        t1 = A.clampDouble(dx, 0, t1.get$width(t1));
        t2 = _this._paragraph;
        return new A.Rect(t1, box.top, A.clampDouble(dx, 0, t2.get$width(t2)), box.bottom);
      }
      return null;
    },
    get$_emptyOffset() {
      var _this = this;
      switch (_this._textAlign.index) {
        case 0:
          return B.Offset_0_0;
        case 1:
          return new A.Offset(_this.get$width(_this), 0);
        case 2:
          return new A.Offset(_this.get$width(_this) / 2, 0);
        case 3:
        case 4:
          switch (_this._text_painter$_textDirection.index) {
            case 0:
              return new A.Offset(_this.get$width(_this), 0);
            case 1:
              return B.Offset_0_0;
          }
          break;
        case 5:
          switch (_this._text_painter$_textDirection.index) {
            case 0:
              return B.Offset_0_0;
            case 1:
              return new A.Offset(_this.get$width(_this), 0);
          }
          break;
      }
    },
    _computeCaretMetrics$2(position, caretPrototype) {
      var offset, rect, t1, t2, _this = this;
      if (position.$eq(0, _this._previousCaretPosition) && caretPrototype.$eq(0, _this._previousCaretPrototype))
        return;
      offset = position.offset;
      switch (position.affinity.index) {
        case 0:
          rect = _this._getRectFromUpstream$2(offset, caretPrototype);
          if (rect == null)
            rect = _this._getRectFromDownstream$2(offset, caretPrototype);
          break;
        case 1:
          rect = _this._getRectFromDownstream$2(offset, caretPrototype);
          if (rect == null)
            rect = _this._getRectFromUpstream$2(offset, caretPrototype);
          break;
        default:
          rect = null;
      }
      t1 = rect != null;
      t2 = t1 ? new A.Offset(rect.left, rect.top) : _this.get$_emptyOffset();
      _this.__TextPainter__caretMetrics = new A._CaretMetrics(t2, t1 ? rect.bottom - rect.top : null);
      _this._previousCaretPosition = position;
      _this._previousCaretPrototype = caretPrototype;
    },
    getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(selection, boxHeightStyle, boxWidthStyle) {
      return this._paragraph.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(selection.start, selection.end, boxHeightStyle, boxWidthStyle);
    },
    getBoxesForSelection$1(selection) {
      return this.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(selection, B.BoxHeightStyle_0, B.BoxWidthStyle_0);
    },
    computeLineMetrics$0() {
      var t1 = this._lineMetricsCache;
      return t1 == null ? this._lineMetricsCache = this._paragraph.computeLineMetrics$0() : t1;
    }
  };
  A.TextSpan.prototype = {
    get$cursor(_) {
      return this.mouseCursor;
    },
    get$validForMouseTracker() {
      return true;
    },
    handleEvent$2($event, entry) {
      var t1;
      if (type$.PointerDownEvent._is($event)) {
        t1 = this.recognizer;
        if (t1 != null)
          t1.addPointer$1($event);
      }
    },
    build$3$dimensions$textScaleFactor(builder, dimensions, textScaleFactor) {
      var exception, stack, exception0, t2, _i,
        t1 = this.style,
        hasStyle = t1 != null;
      if (hasStyle)
        builder.pushStyle$1(t1.getTextStyle$1$textScaleFactor(textScaleFactor));
      t1 = this.text;
      if (t1 != null)
        try {
          builder.addText$1(t1);
        } catch (exception0) {
          t1 = A.unwrapException(exception0);
          if (t1 instanceof A.ArgumentError) {
            exception = t1;
            stack = A.getTraceFromException(exception0);
            A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "painting library", A.ErrorDescription$("while building a TextSpan"), null, false));
            builder.addText$1("\ufffd");
          } else
            throw exception0;
        }
      t1 = this.children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].build$3$dimensions$textScaleFactor(builder, dimensions, textScaleFactor);
      if (hasStyle)
        builder.pop$0();
    },
    visitChildren$1(visitor) {
      var t1, t2, _i;
      if (this.text != null)
        if (!visitor.call$1(this))
          return false;
      t1 = this.children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          if (!t1[_i].visitChildren$1(visitor))
            return false;
      return true;
    },
    getSpanForPositionVisitor$2(position, offset) {
      var affinity, targetOffset, t2, endOffset,
        t1 = this.text;
      if (t1 == null)
        return null;
      affinity = position.affinity;
      targetOffset = position.offset;
      t2 = offset._inline_span$_value;
      endOffset = t2 + t1.length;
      if (!(t2 === targetOffset && affinity === B.TextAffinity_1))
        if (!(t2 < targetOffset && targetOffset < endOffset))
          t1 = endOffset === targetOffset && affinity === B.TextAffinity_0;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return this;
      offset._inline_span$_value = endOffset;
      return null;
    },
    computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, includePlaceholders, includeSemanticsLabels) {
      var t2, _i,
        t1 = this.text;
      if (t1 != null)
        buffer._contents += t1;
      t1 = this.children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, includeSemanticsLabels);
    },
    computeSemanticsInformation$3$inheritedLocale$inheritedSpellOut(collector, inheritedLocale, inheritedSpellOut) {
      var t2, _i, child, _this = this,
        t1 = _this.text;
      if (t1 != null) {
        t2 = A._setArrayType([], type$.JSArray_StringAttribute);
        collector.push(A.InlineSpanSemanticsInformation$(t1, _this.recognizer, _this.semanticsLabel, t2));
      }
      t1 = _this.children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          if (child instanceof A.TextSpan)
            child.computeSemanticsInformation$3$inheritedLocale$inheritedSpellOut(collector, inheritedLocale, false);
          else
            child.computeSemanticsInformation$1(collector);
        }
    },
    computeSemanticsInformation$1(collector) {
      return this.computeSemanticsInformation$3$inheritedLocale$inheritedSpellOut(collector, null, false);
    },
    codeUnitAtVisitor$2(index, offset) {
      var t2, t3, t4,
        t1 = this.text;
      if (t1 == null)
        return null;
      t2 = offset._inline_span$_value;
      t3 = index - t2;
      t4 = t1.length;
      if (t3 < t4)
        return B.JSString_methods.codeUnitAt$1(t1, t3);
      offset._inline_span$_value = t2 + t4;
      return null;
    },
    compareTo$1(_, other) {
      var t1, t2, result, candidate, index, _this = this;
      if (_this === other)
        return B.RenderComparison_0;
      if (A.getRuntimeType(other) !== A.getRuntimeType(_this))
        return B.RenderComparison_3;
      type$.TextSpan._as(other);
      if (other.text == _this.text) {
        t1 = _this.children;
        t1 = t1 == null ? null : t1.length;
        t2 = other.children;
        t1 = t1 != (t2 == null ? null : t2.length) || _this.style == null !== (other.style == null);
      } else
        t1 = true;
      if (t1)
        return B.RenderComparison_3;
      result = _this.recognizer == other.recognizer ? B.RenderComparison_0 : B.RenderComparison_1;
      t1 = _this.style;
      if (t1 != null) {
        t2 = other.style;
        t2.toString;
        candidate = t1.compareTo$1(0, t2);
        if (candidate.index > result.index)
          result = candidate;
        if (result === B.RenderComparison_3)
          return result;
      }
      t1 = _this.children;
      if (t1 != null)
        for (t2 = other.children, index = 0; index < t1.length; ++index) {
          candidate = J.compareTo$1$ns(t1[index], t2[index]);
          if (candidate.index > result.index)
            result = candidate;
          if (result === B.RenderComparison_3)
            return result;
        }
      return result;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (!_this.super$InlineSpan$$eq(0, other))
        return false;
      if (other instanceof A.TextSpan)
        if (other.text == _this.text)
          if (other.recognizer == _this.recognizer)
            t1 = _this.mouseCursor.$eq(0, other.mouseCursor) && A.listEquals(other.children, _this.children);
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = A.InlineSpan.prototype.get$hashCode.call(_this, _this),
        t2 = _this.children;
      t2 = t2 == null ? null : A.Object_hashAll(t2);
      return A.Object_hash(t1, _this.text, _this.recognizer, _this.semanticsLabel, null, null, _this.mouseCursor, t2, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toStringShort$0() {
      return "TextSpan";
    },
    debugDescribeChildren$0() {
      var t2,
        t1 = this.children;
      if (t1 == null)
        return B.List_empty1;
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,DiagnosticsNode>");
      return A.List_List$of(new A.MappedListIterable(t1, new A.TextSpan_debugDescribeChildren_closure(), t2), true, t2._eval$1("ListIterable.E"));
    },
    $isHitTestTarget: 1,
    $isMouseTrackerAnnotation: 1,
    get$onEnter() {
      return null;
    },
    get$onExit() {
      return null;
    }
  };
  A.TextSpan_debugDescribeChildren_closure.prototype = {
    call$1(child) {
      var t1 = A.DiagnosticableTreeNode$(null, null, child);
      return t1;
    },
    $signature: 822
  };
  A.TextStyle.prototype = {
    get$fontFamilyFallback() {
      return this._fontFamilyFallback;
    },
    get$_text_style$_fontFamily(_) {
      return this.fontFamily;
    },
    copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, inherit, leadingDistribution, letterSpacing, locale, overflow, $package, shadows, textBaseline, wordSpacing) {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, _this = this,
        t1 = inherit == null ? _this.inherit : inherit,
        t2 = _this.foreground;
      if (t2 == null && foreground == null)
        t3 = color == null ? _this.color : color;
      else
        t3 = null;
      t4 = _this.background;
      if (t4 == null && background == null)
        t5 = backgroundColor == null ? _this.backgroundColor : backgroundColor;
      else
        t5 = null;
      t6 = fontSize == null ? _this.fontSize : fontSize;
      t7 = fontWeight == null ? _this.fontWeight : fontWeight;
      t8 = fontStyle == null ? _this.fontStyle : fontStyle;
      t9 = letterSpacing == null ? _this.letterSpacing : letterSpacing;
      t10 = wordSpacing == null ? _this.wordSpacing : wordSpacing;
      t11 = textBaseline == null ? _this.textBaseline : textBaseline;
      t12 = height == null ? _this.height : height;
      t13 = leadingDistribution == null ? _this.leadingDistribution : leadingDistribution;
      t2 = foreground == null ? t2 : foreground;
      t4 = background == null ? t4 : background;
      t14 = shadows == null ? _this.shadows : shadows;
      t15 = fontFeatures == null ? _this.fontFeatures : fontFeatures;
      t16 = decoration == null ? _this.decoration : decoration;
      t17 = decorationColor == null ? _this.decorationColor : decorationColor;
      t18 = decorationStyle == null ? _this.decorationStyle : decorationStyle;
      t19 = decorationThickness == null ? _this.decorationThickness : decorationThickness;
      t20 = fontFamily == null ? _this.get$_text_style$_fontFamily(_this) : fontFamily;
      t21 = fontFamilyFallback == null ? _this.get$fontFamilyFallback() : fontFamilyFallback;
      t22 = overflow == null ? _this.overflow : overflow;
      return A.TextStyle$(t4, t5, t3, null, t16, t17, t18, t19, t20, t21, t15, t6, t8, _this.fontVariations, t7, t2, t12, t1, t13, t9, _this.locale, t22, _this._package, t14, t11, t10);
    },
    copyWith$25$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, leadingDistribution, letterSpacing, locale, overflow, $package, shadows, textBaseline, wordSpacing) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(background, backgroundColor, color, debugLabel, decoration, decorationColor, decorationStyle, decorationThickness, fontFamily, fontFamilyFallback, fontFeatures, fontSize, fontStyle, fontVariations, fontWeight, foreground, height, null, leadingDistribution, letterSpacing, locale, overflow, $package, shadows, textBaseline, wordSpacing);
    },
    copyWith$1$color(color) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, color, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$letterSpacing(letterSpacing) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, letterSpacing, null, null, null, null, null, null);
    },
    copyWith$2$color$fontSize(color, fontSize) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, color, null, null, null, null, null, null, null, null, fontSize, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$fontFamily(fontFamily) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, fontFamily, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$fontFeatures(fontFeatures) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, fontFeatures, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$height(height) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, height, null, null, null, null, null, null, null, null, null);
    },
    copyWith$2$color$fontWeight(color, fontWeight) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, color, null, null, null, null, null, null, null, null, null, null, null, fontWeight, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$inherit(inherit) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, inherit, null, null, null, null, null, null, null, null);
    },
    copyWith$3$backgroundColor$fontFamily$fontSize(backgroundColor, fontFamily, fontSize) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, backgroundColor, null, null, null, null, null, null, fontFamily, null, null, fontSize, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$2$fontSize$fontWeight(fontSize, fontWeight) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, fontSize, null, null, fontWeight, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$fontWeight(fontWeight) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, null, null, null, fontWeight, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$fontStyle(fontStyle) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, null, fontStyle, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$decoration(decoration) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, decoration, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$2$backgroundColor$color(backgroundColor, color) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, backgroundColor, color, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    copyWith$1$fontSize(fontSize) {
      return this.copyWith$26$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$inherit$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(null, null, null, null, null, null, null, null, null, null, null, fontSize, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    },
    apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(color, decoration, decorationColor, decorationStyle, fontFamily, fontSizeDelta, fontSizeFactor) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, _this = this, _null = null,
        t1 = _this.foreground;
      if (t1 == null)
        t2 = color == null ? _this.color : color;
      else
        t2 = _null;
      t3 = _this.background;
      if (t3 == null)
        t4 = _this.backgroundColor;
      else
        t4 = _null;
      t5 = _this.get$_text_style$_fontFamily(_this);
      t6 = _this.get$fontFamilyFallback();
      t7 = _this.fontSize;
      t7 = t7 == null ? _null : t7 * fontSizeFactor + fontSizeDelta;
      t8 = _this.fontWeight;
      t8 = t8 == null ? _null : B.List_27p[B.JSInt_methods.clamp$2(t8.index, 0, 8)];
      t9 = _this.letterSpacing;
      t9 = t9 == null ? _null : t9 + 0;
      t10 = _this.wordSpacing;
      t10 = t10 == null ? _null : t10 + 0;
      t11 = _this.height;
      t11 = t11 == null ? _null : t11 + 0;
      t12 = _this.decorationThickness;
      t12 = t12 == null ? _null : t12 + 0;
      return A.TextStyle$(t3, t4, t2, _null, _this.decoration, _this.decorationColor, _this.decorationStyle, t12, t5, t6, _this.fontFeatures, t7, _this.fontStyle, _this.fontVariations, t8, t1, t11, _this.inherit, _this.leadingDistribution, t9, _this.locale, _this.overflow, _this._package, _this.shadows, _this.textBaseline, t10);
    },
    apply$1$color(color) {
      return this.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(color, null, null, null, null, 0, 1);
    },
    apply$1$fontSizeDelta(fontSizeDelta) {
      return this.apply$7$color$decoration$decorationColor$decorationStyle$fontFamily$fontSizeDelta$fontSizeFactor(null, null, null, null, null, fontSizeDelta, 1);
    },
    merge$1(other) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23;
      if (other == null)
        return this;
      if (!other.inherit)
        return other;
      t1 = other.color;
      t2 = other.backgroundColor;
      t3 = other.fontSize;
      t4 = other.fontWeight;
      t5 = other.fontStyle;
      t6 = other.letterSpacing;
      t7 = other.wordSpacing;
      t8 = other.textBaseline;
      t9 = other.height;
      t10 = other.leadingDistribution;
      t11 = other.locale;
      t12 = other.foreground;
      t13 = other.background;
      t14 = other.shadows;
      t15 = other.fontFeatures;
      t16 = other.fontVariations;
      t17 = other.decoration;
      t18 = other.decorationColor;
      t19 = other.decorationStyle;
      t20 = other.decorationThickness;
      t21 = other.get$_text_style$_fontFamily(other);
      t22 = other.get$fontFamilyFallback();
      t23 = other._package;
      return this.copyWith$25$background$backgroundColor$color$debugLabel$decoration$decorationColor$decorationStyle$decorationThickness$fontFamily$fontFamilyFallback$fontFeatures$fontSize$fontStyle$fontVariations$fontWeight$foreground$height$leadingDistribution$letterSpacing$locale$overflow$package$shadows$textBaseline$wordSpacing(t13, t2, t1, null, t17, t18, t19, t20, t21, t22, t15, t3, t5, t16, t4, t12, t9, t10, t6, t11, other.overflow, t23, t14, t8, t7);
    },
    getTextStyle$1$textScaleFactor(textScaleFactor) {
      var t3, t4, _this = this,
        t1 = _this.get$fontFamilyFallback(),
        t2 = _this.fontSize;
      t2 = t2 == null ? null : t2 * textScaleFactor;
      t3 = _this.background;
      if (t3 == null) {
        t3 = _this.backgroundColor;
        if (t3 != null) {
          t4 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          t4.set$color(0, t3);
          t3 = t4;
        } else
          t3 = null;
      }
      return A.TextStyle_TextStyle(t3, _this.color, _this.decoration, _this.decorationColor, _this.decorationStyle, _this.decorationThickness, _this.fontFamily, t1, _this.fontFeatures, t2, _this.fontStyle, _this.fontVariations, _this.fontWeight, _this.foreground, _this.height, _this.leadingDistribution, _this.letterSpacing, _this.locale, _this.shadows, _this.textBaseline, _this.wordSpacing);
    },
    compareTo$1(_, other) {
      var t1, _this = this;
      if (_this === other)
        return B.RenderComparison_0;
      if (_this.inherit === other.inherit)
        if (_this.fontFamily == other.fontFamily)
          if (_this.fontSize == other.fontSize)
            if (_this.fontWeight == other.fontWeight)
              if (_this.fontStyle == other.fontStyle)
                if (_this.letterSpacing == other.letterSpacing)
                  if (_this.wordSpacing == other.wordSpacing)
                    if (_this.textBaseline == other.textBaseline)
                      if (_this.height == other.height)
                        if (_this.leadingDistribution == other.leadingDistribution)
                          t1 = _this.foreground != other.foreground || _this.background != other.background || !A.listEquals(_this.shadows, other.shadows) || !A.listEquals(_this.fontFeatures, other.fontFeatures) || !A.listEquals(_this.fontVariations, other.fontVariations) || !A.listEquals(_this.get$fontFamilyFallback(), other.get$fontFamilyFallback()) || _this.overflow != other.overflow;
                        else
                          t1 = true;
                      else
                        t1 = true;
                    else
                      t1 = true;
                  else
                    t1 = true;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return B.RenderComparison_3;
      if (!J.$eq$(_this.color, other.color) || !J.$eq$(_this.backgroundColor, other.backgroundColor) || !J.$eq$(_this.decoration, other.decoration) || !J.$eq$(_this.decorationColor, other.decorationColor) || _this.decorationStyle != other.decorationStyle || _this.decorationThickness != other.decorationThickness)
        return B.RenderComparison_2;
      return B.RenderComparison_0;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.TextStyle)
        if (other.inherit === _this.inherit)
          if (J.$eq$(other.color, _this.color))
            if (J.$eq$(other.backgroundColor, _this.backgroundColor))
              if (other.fontSize == _this.fontSize)
                if (other.fontWeight == _this.fontWeight)
                  if (other.fontStyle == _this.fontStyle)
                    if (other.letterSpacing == _this.letterSpacing)
                      if (other.wordSpacing == _this.wordSpacing)
                        if (other.textBaseline == _this.textBaseline)
                          if (other.height == _this.height)
                            if (other.leadingDistribution == _this.leadingDistribution)
                              if (other.foreground == _this.foreground)
                                if (other.background == _this.background)
                                  if (A.listEquals(other.shadows, _this.shadows))
                                    if (A.listEquals(other.fontFeatures, _this.fontFeatures))
                                      if (A.listEquals(other.fontVariations, _this.fontVariations))
                                        if (J.$eq$(other.decoration, _this.decoration))
                                          if (J.$eq$(other.decorationColor, _this.decorationColor))
                                            if (other.decorationStyle == _this.decorationStyle)
                                              if (other.decorationThickness == _this.decorationThickness)
                                                if (other.fontFamily == _this.fontFamily)
                                                  if (A.listEquals(other.get$fontFamilyFallback(), _this.get$fontFamilyFallback()))
                                                    t1 = other.overflow == _this.overflow;
                                                  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;
                              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;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var t2, t3, _this = this, _null = null,
        t1 = _this.shadows;
      t1 = t1 == null ? _null : A.Object_hashAll(t1);
      t2 = _this.fontFeatures;
      t2 = t2 == null ? _null : A.Object_hashAll(t2);
      if (_this.get$fontFamilyFallback() == null)
        t3 = _null;
      else {
        t3 = _this.get$fontFamilyFallback();
        t3.toString;
        t3 = A.Object_hashAll(t3);
      }
      return A.Object_hash(_this.inherit, _this.color, _this.backgroundColor, _this.fontSize, _this.fontWeight, _this.fontStyle, _this.letterSpacing, _this.wordSpacing, _this.textBaseline, _this.height, _this.leadingDistribution, _this.locale, _this.foreground, _this.background, t1, t2, _null, _this.decoration, _this.decorationColor, A.Object_hash(_this.decorationStyle, _this.decorationThickness, _this.fontFamily, t3, _this._package, _this.overflow, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue));
    },
    toStringShort$0() {
      return "TextStyle";
    }
  };
  A._TextStyle_Object_Diagnosticable.prototype = {};
  A.FrictionSimulation.prototype = {
    x$1(_, time) {
      var _this = this,
        t1 = _this._v,
        t2 = _this._dragLog;
      return _this._friction_simulation$_x + t1 * Math.pow(_this._drag, time) / t2 - t1 / t2;
    },
    dx$1(_, time) {
      return this._v * Math.pow(this._drag, time);
    },
    get$finalX() {
      return this._friction_simulation$_x - this._v / this._dragLog;
    },
    timeAtX$1(x) {
      var t2, t3, _this = this,
        t1 = _this._friction_simulation$_x;
      if (x === t1)
        return 0;
      t2 = _this._v;
      if (t2 !== 0)
        if (t2 > 0)
          t3 = x < t1 || x > _this.get$finalX();
        else
          t3 = x > t1 || x < _this.get$finalX();
      else
        t3 = true;
      if (t3)
        return 1 / 0;
      t3 = _this._dragLog;
      return Math.log(t3 * (x - t1) / t2 + 1) / t3;
    },
    isDone$1(time) {
      return Math.abs(this._v * Math.pow(this._drag, time)) < this.tolerance.velocity;
    },
    toString$0(_) {
      return "FrictionSimulation(c\u2093: " + B.JSNumber_methods.toStringAsFixed$1(this._drag, 1) + ", x\u2080: " + B.JSNumber_methods.toStringAsFixed$1(this._friction_simulation$_x, 1) + ", dx\u2080: " + B.JSNumber_methods.toStringAsFixed$1(this._v, 1) + ")";
    }
  };
  A.Simulation.prototype = {
    toString$0(_) {
      return "Simulation";
    }
  };
  A.SpringDescription.prototype = {
    toString$0(_) {
      return "SpringDescription(mass: " + B.JSNumber_methods.toStringAsFixed$1(this.mass, 1) + ", stiffness: " + B.JSInt_methods.toStringAsFixed$1(this.stiffness, 1) + ", damping: " + B.JSNumber_methods.toStringAsFixed$1(this.damping, 1) + ")";
    }
  };
  A.SpringType.prototype = {
    toString$0(_) {
      return "SpringType." + this._core$_name;
    }
  };
  A.SpringSimulation.prototype = {
    x$1(_, time) {
      return this._endPosition + this._solution.x$1(0, time);
    },
    dx$1(_, time) {
      return this._solution.dx$1(0, time);
    },
    isDone$1(time) {
      var t1 = this._solution;
      return A.nearEqual(t1.x$1(0, time), 0, this.tolerance.distance) && A.nearEqual(t1.dx$1(0, time), 0, this.tolerance.velocity);
    },
    toString$0(_) {
      var t1 = this._solution;
      return "SpringSimulation(end: " + B.JSNumber_methods.toStringAsFixed$1(this._endPosition, 1) + ", " + t1.get$type(t1).toString$0(0) + ")";
    }
  };
  A.ScrollSpringSimulation.prototype = {
    x$1(_, time) {
      return this.isDone$1(time) ? this._endPosition : this.super$SpringSimulation$x(0, time);
    }
  };
  A._CriticalSolution.prototype = {
    x$1(_, time) {
      return (this._c1 + this._c2 * time) * Math.pow(2.718281828459045, this._r * time);
    },
    dx$1(_, time) {
      var t1 = this._r,
        power = Math.pow(2.718281828459045, t1 * time),
        t2 = this._c2;
      return t1 * (this._c1 + t2 * time) * power + t2 * power;
    },
    get$type(_) {
      return B.SpringType_0;
    }
  };
  A._OverdampedSolution.prototype = {
    x$1(_, time) {
      var _this = this;
      return _this._c1 * Math.pow(2.718281828459045, _this._r1 * time) + _this._c2 * Math.pow(2.718281828459045, _this._r2 * time);
    },
    dx$1(_, time) {
      var _this = this,
        t1 = _this._r1,
        t2 = _this._r2;
      return _this._c1 * t1 * Math.pow(2.718281828459045, t1 * time) + _this._c2 * t2 * Math.pow(2.718281828459045, t2 * time);
    },
    get$type(_) {
      return B.SpringType_2;
    }
  };
  A._UnderdampedSolution.prototype = {
    x$1(_, time) {
      var _this = this,
        t1 = _this._spring_simulation$_w * time;
      return Math.pow(2.718281828459045, _this._r * time) * (_this._c1 * Math.cos(t1) + _this._c2 * Math.sin(t1));
    },
    dx$1(_, time) {
      var t4, _this = this,
        t1 = _this._r,
        power = Math.pow(2.718281828459045, t1 * time),
        t2 = _this._spring_simulation$_w,
        t3 = t2 * time,
        cosine = Math.cos(t3),
        sine = Math.sin(t3);
      t3 = _this._c2;
      t4 = _this._c1;
      return power * (t3 * t2 * cosine - t4 * t2 * sine) + t1 * power * (t3 * sine + t4 * cosine);
    },
    get$type(_) {
      return B.SpringType_1;
    }
  };
  A.Tolerance.prototype = {
    toString$0(_) {
      return "Tolerance(distance: \xb1" + A.S(this.distance) + ", time: \xb10.001, velocity: \xb1" + A.S(this.velocity) + ")";
    }
  };
  A.RenderAnimatedSizeState.prototype = {
    toString$0(_) {
      return "RenderAnimatedSizeState." + this._core$_name;
    }
  };
  A.RenderAnimatedSize.prototype = {
    RenderAnimatedSize$8$alignment$child$clipBehavior$curve$duration$reverseDuration$textDirection$vsync(alignment, child, clipBehavior, curve, duration, reverseDuration, textDirection, vsync) {
      var t2, _this = this,
        t1 = A.AnimationController$(null, duration, 0, reverseDuration, 1, null, vsync);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._list.push(new A.RenderAnimatedSize_closure(_this));
      if (_this.__RenderAnimatedSize__controller !== $)
        A.throwUnnamedLateFieldAI();
      _this.__RenderAnimatedSize__controller = t1;
      t1 = A.CurvedAnimation$(curve, t1, null);
      if (_this.__RenderAnimatedSize__animation !== $)
        A.throwUnnamedLateFieldAI();
      _this.__RenderAnimatedSize__animation = t1;
    },
    set$duration(_, value) {
      var t1 = this.__RenderAnimatedSize__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (value.$eq(0, t1.duration))
        return;
      t1 = this.__RenderAnimatedSize__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.duration = value;
    },
    set$reverseDuration(value) {
      var t1 = this.__RenderAnimatedSize__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (value == t1.reverseDuration)
        return;
      t1.reverseDuration = value;
    },
    set$curve(_, value) {
      var t1 = this.__RenderAnimatedSize__animation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (value === t1.curve)
        return;
      t1.curve = value;
    },
    set$vsync(value) {
      var t1, t2, t3;
      if (value === this._vsync)
        return;
      this._vsync = value;
      t1 = this.__RenderAnimatedSize__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1._ticker;
      t2.toString;
      t1 = t1._ticker = value.createTicker$1(t1.get$_animation_controller$_tick());
      t3 = t2._ticker$_future;
      if (t3 != null) {
        t1._ticker$_future = t3;
        t1._startTime = t2._startTime;
        if (!t1._muted)
          t3 = t1._animationId == null;
        else
          t3 = false;
        if (t3)
          t1._animationId = $.SchedulerBinding__instance.scheduleFrameCallback$2$rescheduling(t1.get$_ticker$_tick(), false);
        t2._ticker$_future = null;
        t2.unscheduleTick$0();
      }
      t2.dispose$0();
    },
    attach$1(owner) {
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      switch (this._animated_size$_state.index) {
        case 0:
        case 1:
          break;
        case 2:
        case 3:
          this.markNeedsLayout$0();
          break;
      }
    },
    detach$0(_) {
      var t1 = this.__RenderAnimatedSize__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.stop$0(0);
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    performLayout$0() {
      var constraints, t2, t3, _this = this,
        t1 = _this.__RenderAnimatedSize__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this._animated_size$_lastValue = t1;
      _this.__RenderAnimatedSize__hasVisualOverflow = false;
      constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t2 = constraints.minWidth >= constraints.maxWidth && constraints.minHeight >= constraints.maxHeight;
      else
        t2 = true;
      if (t2) {
        t1 = _this.__RenderAnimatedSize__controller;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.stop$0(0);
        t1 = _this._sizeTween;
        _this._box$_size = t1.begin = t1.end = new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
        _this._animated_size$_state = B.RenderAnimatedSizeState_0;
        t1 = _this.RenderObjectWithChildMixin__child;
        if (t1 != null)
          t1.layout$1(constraints);
        return;
      }
      t1.layout$2$parentUsesSize(constraints, true);
      switch (_this._animated_size$_state.index) {
        case 0:
          t1 = _this._sizeTween;
          t2 = _this.RenderObjectWithChildMixin__child._box$_size;
          t2.toString;
          t1.begin = t1.end = t2;
          _this._animated_size$_state = B.RenderAnimatedSizeState_1;
          break;
        case 1:
          t1 = _this._sizeTween;
          t2 = t1.end;
          t3 = _this.RenderObjectWithChildMixin__child._box$_size;
          t3.toString;
          if (!J.$eq$(t2, t3)) {
            t2 = _this._box$_size;
            t2.toString;
            t1.begin = t2;
            t2 = _this.RenderObjectWithChildMixin__child._box$_size;
            t2.toString;
            t1.end = t2;
            _this._animated_size$_lastValue = 0;
            t2 = _this.__RenderAnimatedSize__controller;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2.forward$1$from(0, 0);
            _this._animated_size$_state = B.RenderAnimatedSizeState_2;
          } else {
            t2 = _this.__RenderAnimatedSize__controller;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t3 = t2.__AnimationController__value;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            if (t3 === t2.upperBound) {
              t2 = _this.RenderObjectWithChildMixin__child._box$_size;
              t2.toString;
              t1.begin = t1.end = t2;
            } else {
              t1 = t2._ticker;
              if (!(t1 != null && t1._ticker$_future != null))
                t2.forward$0(0);
            }
          }
          break;
        case 2:
          t1 = _this._sizeTween;
          t2 = t1.end;
          t3 = _this.RenderObjectWithChildMixin__child._box$_size;
          t3.toString;
          if (!J.$eq$(t2, t3)) {
            t2 = _this.RenderObjectWithChildMixin__child._box$_size;
            t2.toString;
            t1.begin = t1.end = t2;
            _this._animated_size$_lastValue = 0;
            t2 = _this.__RenderAnimatedSize__controller;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2.forward$1$from(0, 0);
            _this._animated_size$_state = B.RenderAnimatedSizeState_3;
          } else {
            _this._animated_size$_state = B.RenderAnimatedSizeState_1;
            t1 = _this.__RenderAnimatedSize__controller;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1._ticker;
            if (!(t2 != null && t2._ticker$_future != null))
              t1.forward$0(0);
          }
          break;
        case 3:
          t1 = _this._sizeTween;
          t2 = t1.end;
          t3 = _this.RenderObjectWithChildMixin__child._box$_size;
          t3.toString;
          if (!J.$eq$(t2, t3)) {
            t2 = _this.RenderObjectWithChildMixin__child._box$_size;
            t2.toString;
            t1.begin = t1.end = t2;
            _this._animated_size$_lastValue = 0;
            t2 = _this.__RenderAnimatedSize__controller;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2.forward$1$from(0, 0);
          } else {
            t1 = _this.__RenderAnimatedSize__controller;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1.stop$0(0);
            _this._animated_size$_state = B.RenderAnimatedSizeState_1;
          }
          break;
      }
      t1 = _this._sizeTween;
      t2 = _this.__RenderAnimatedSize__animation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.transform$1(0, t2.get$value(t2));
      t2.toString;
      _this._box$_size = constraints.constrain$1(t2);
      _this.alignChild$0();
      t2 = _this._box$_size;
      t3 = t2._dx;
      t1 = t1.end;
      if (t3 < t1._dx || t2._dy < t1._dy)
        _this.__RenderAnimatedSize__hasVisualOverflow = true;
    },
    computeDryLayout$1(constraints) {
      var t2, childSize, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t2 = constraints.minWidth >= constraints.maxWidth && constraints.minHeight >= constraints.maxHeight;
      else
        t2 = true;
      if (t2)
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      childSize = t1.getDryLayout$1(constraints);
      switch (_this._animated_size$_state.index) {
        case 0:
          return constraints.constrain$1(childSize);
        case 1:
          if (!J.$eq$(_this._sizeTween.end, childSize)) {
            t1 = _this._box$_size;
            t1.toString;
            return constraints.constrain$1(t1);
          } else {
            t1 = _this.__RenderAnimatedSize__controller;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1.__AnimationController__value;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            if (t2 === t1.upperBound)
              return constraints.constrain$1(childSize);
          }
          break;
        case 3:
        case 2:
          if (!J.$eq$(_this._sizeTween.end, childSize))
            return constraints.constrain$1(childSize);
          break;
      }
      t1 = _this.__RenderAnimatedSize__animation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = _this._sizeTween.transform$1(0, t1.get$value(t1));
      t1.toString;
      return constraints.constrain$1(t1);
    },
    paint$2(context, offset) {
      var t1, t2, t3, t4, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this.__RenderAnimatedSize__hasVisualOverflow;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1 && _this._animated_size$_clipBehavior !== B.Clip_0;
      } else
        t1 = false;
      t2 = _this._animated_size$_clipRectLayer;
      if (t1) {
        t1 = _this._box$_size;
        t3 = t1._dx;
        t1 = t1._dy;
        t4 = _this.__RenderObject__needsCompositing;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t4, offset, new A.Rect(0, 0, 0 + t3, 0 + t1), A.RenderShiftedBox.prototype.get$paint.call(_this), _this._animated_size$_clipBehavior, t2._layer));
      } else {
        t2.set$layer(0, null);
        _this.super$RenderShiftedBox$paint(context, offset);
      }
    },
    dispose$0() {
      this._animated_size$_clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    }
  };
  A.RenderAnimatedSize_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__RenderAnimatedSize__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 !== t1._animated_size$_lastValue)
        t1.markNeedsLayout$0();
    },
    $signature: 0
  };
  A.RendererBinding.prototype = {
    handleMetricsChanged$0() {
      var _this = this,
        t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._rootNode;
      t1.toString;
      t1.set$configuration(_this.createViewConfiguration$0());
      t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1._rootNode.RenderObjectWithChildMixin__child != null)
        _this.scheduleForcedFrame$0();
    },
    handleTextScaleFactorChanged$0() {
    },
    handlePlatformBrightnessChanged$0() {
    },
    createViewConfiguration$0() {
      var t1 = $.$get$window(),
        devicePixelRatio = t1._debugDevicePixelRatio;
      if (devicePixelRatio == null)
        devicePixelRatio = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      return new A.ViewConfiguration(t1.get$physicalSize().$div(0, devicePixelRatio), devicePixelRatio);
    },
    _handleSemanticsEnabledChanged$0() {
      var t1, _this = this;
      if ($.$get$EnginePlatformDispatcher__instance().configuration.semanticsEnabled) {
        if (_this.RendererBinding__semanticsHandle == null) {
          t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.RendererBinding__semanticsHandle = t1.ensureSemantics$0();
        }
      } else {
        t1 = _this.RendererBinding__semanticsHandle;
        if (t1 != null)
          t1.dispose$0();
        _this.RendererBinding__semanticsHandle = null;
      }
    },
    setSemanticsEnabled$1(enabled) {
      var t1, _this = this;
      if (enabled) {
        if (_this.RendererBinding__semanticsHandle == null) {
          t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.RendererBinding__semanticsHandle = t1.ensureSemantics$0();
        }
      } else {
        t1 = _this.RendererBinding__semanticsHandle;
        if (t1 != null)
          t1.dispose$0();
        _this.RendererBinding__semanticsHandle = null;
      }
    },
    _handleWebFirstFrame$1(_) {
      B.MethodChannel_Gpa._invokeMethod$1$3$arguments$missingOk("first-frame", null, false, type$.void);
    },
    _handleSemanticsAction$3(id, action, args) {
      var t1 = this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._semanticsOwner;
      if (t1 != null)
        t1.performAction$3(id, action, null);
    },
    _handleSemanticsOwnerCreated$0() {
      var t2,
        t1 = this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._rootNode;
      t1.toString;
      t2 = type$.nullable_PipelineOwner;
      t2._as(A.AbstractNode.prototype.get$owner.call(t1))._nodesNeedingSemantics.add$1(0, t1);
      t2._as(A.AbstractNode.prototype.get$owner.call(t1)).requestVisualUpdate$0();
    },
    _handleSemanticsOwnerDisposed$0() {
      var t1 = this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._rootNode.clearSemantics$0();
    },
    _handlePersistentFrameCallback$1(timeStamp) {
      this.drawFrame$0();
      this._scheduleMouseTrackerUpdate$0();
    },
    _scheduleMouseTrackerUpdate$0() {
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.RendererBinding__scheduleMouseTrackerUpdate_closure(this));
    },
    allowFirstFrame$0() {
      --this.RendererBinding__firstFrameDeferredCount;
      if (!this.RendererBinding__firstFrameSent)
        this.scheduleWarmUpFrame$0();
    },
    drawFrame$0() {
      var _this = this,
        t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.flushLayout$0();
      t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.flushCompositingBits$0();
      t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.flushPaint$0();
      if (_this.RendererBinding__firstFrameSent || _this.RendererBinding__firstFrameDeferredCount === 0) {
        t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1._rootNode.compositeFrame$0();
        t1 = _this.RendererBinding___RendererBinding__pipelineOwner;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.flushSemantics$0();
        _this.RendererBinding__firstFrameSent = true;
      }
    },
    $isHitTestTarget: 1,
    $isSchedulerBinding: 1
  };
  A.RendererBinding__scheduleMouseTrackerUpdate_closure.prototype = {
    call$1(duration) {
      var t1 = this.$this,
        t2 = t1.RendererBinding__mouseTracker;
      t2.toString;
      t1 = t1.RendererBinding___RendererBinding__pipelineOwner;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.updateAllDevices$1(t1._rootNode.get$hitTestMouseTrackers());
    },
    $signature: 3
  };
  A.BoxConstraints.prototype = {
    copyWith$4$maxHeight$maxWidth$minHeight$minWidth(maxHeight, maxWidth, minHeight, minWidth) {
      var _this = this,
        t1 = minWidth == null ? _this.minWidth : minWidth,
        t2 = maxWidth == null ? _this.maxWidth : maxWidth,
        t3 = minHeight == null ? _this.minHeight : minHeight;
      return new A.BoxConstraints(t1, t2, t3, maxHeight == null ? _this.maxHeight : maxHeight);
    },
    copyWith$2$minHeight$minWidth(minHeight, minWidth) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(null, null, minHeight, minWidth);
    },
    copyWith$2$maxWidth$minWidth(maxWidth, minWidth) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(null, maxWidth, null, minWidth);
    },
    copyWith$2$maxHeight$minHeight(maxHeight, minHeight) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(maxHeight, null, minHeight, null);
    },
    copyWith$1$maxWidth(maxWidth) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(null, maxWidth, null, null);
    },
    copyWith$1$maxHeight(maxHeight) {
      return this.copyWith$4$maxHeight$maxWidth$minHeight$minWidth(maxHeight, null, null, null);
    },
    deflate$1(edges) {
      var _this = this,
        horizontal = edges.get$horizontal(),
        vertical = edges.get$_top(edges) + edges.get$_bottom(edges),
        deflatedMinWidth = Math.max(0, _this.minWidth - horizontal),
        deflatedMinHeight = Math.max(0, _this.minHeight - vertical);
      return new A.BoxConstraints(deflatedMinWidth, Math.max(deflatedMinWidth, _this.maxWidth - horizontal), deflatedMinHeight, Math.max(deflatedMinHeight, _this.maxHeight - vertical));
    },
    enforce$1(constraints) {
      var _this = this,
        t1 = constraints.minWidth,
        t2 = constraints.maxWidth,
        t3 = constraints.minHeight,
        t4 = constraints.maxHeight;
      return new A.BoxConstraints(A.clampDouble(_this.minWidth, t1, t2), A.clampDouble(_this.maxWidth, t1, t2), A.clampDouble(_this.minHeight, t3, t4), A.clampDouble(_this.maxHeight, t3, t4));
    },
    tighten$2$height$width(height, width) {
      var t5, t6, _this = this,
        t1 = width == null,
        t2 = _this.minWidth,
        t3 = t1 ? t2 : A.clampDouble(width, t2, _this.maxWidth),
        t4 = _this.maxWidth;
      t1 = t1 ? t4 : A.clampDouble(width, t2, t4);
      t2 = height == null;
      t4 = _this.minHeight;
      t5 = t2 ? t4 : A.clampDouble(height, t4, _this.maxHeight);
      t6 = _this.maxHeight;
      return new A.BoxConstraints(t3, t1, t5, t2 ? t6 : A.clampDouble(height, t4, t6));
    },
    tighten$1$width(width) {
      return this.tighten$2$height$width(null, width);
    },
    tighten$1$height(height) {
      return this.tighten$2$height$width(height, null);
    },
    get$flipped() {
      var _this = this;
      return new A.BoxConstraints(_this.minHeight, _this.maxHeight, _this.minWidth, _this.maxWidth);
    },
    constrain$1(size) {
      var _this = this;
      return new A.Size(A.clampDouble(size._dx, _this.minWidth, _this.maxWidth), A.clampDouble(size._dy, _this.minHeight, _this.maxHeight));
    },
    constrainSizeAndAttemptToPreserveAspectRatio$1(size) {
      var width1, height, aspectRatio, height0, height1, _this = this,
        width = _this.minWidth,
        width0 = _this.maxWidth;
      if (width >= width0 && _this.minHeight >= _this.maxHeight)
        return new A.Size(A.clampDouble(0, width, width0), A.clampDouble(0, _this.minHeight, _this.maxHeight));
      width1 = size._dx;
      height = size._dy;
      aspectRatio = width1 / height;
      if (width1 > width0) {
        height = width0 / aspectRatio;
        width1 = width0;
      }
      height0 = _this.maxHeight;
      if (height > height0) {
        width1 = height0 * aspectRatio;
        height = height0;
      }
      if (width1 < width) {
        height = width / aspectRatio;
        width1 = width;
      }
      height1 = _this.minHeight;
      if (height < height1) {
        width1 = height1 * aspectRatio;
        height = height1;
      }
      return new A.Size(A.clampDouble(width1, width, width0), A.clampDouble(height, height1, height0));
    },
    get$isTight() {
      var _this = this;
      return _this.minWidth >= _this.maxWidth && _this.minHeight >= _this.maxHeight;
    },
    $mul(_, factor) {
      var _this = this;
      return new A.BoxConstraints(_this.minWidth * factor, _this.maxWidth * factor, _this.minHeight * factor, _this.maxHeight * factor);
    },
    $div(_, factor) {
      var _this = this;
      return new A.BoxConstraints(_this.minWidth / factor, _this.maxWidth / factor, _this.minHeight / factor, _this.maxHeight / factor);
    },
    $tdiv(_, factor) {
      var _this = this;
      return new A.BoxConstraints(B.JSNumber_methods.$tdiv(_this.minWidth, factor), B.JSNumber_methods.$tdiv(_this.maxWidth, factor), B.JSNumber_methods.$tdiv(_this.minHeight, factor), B.JSNumber_methods.$tdiv(_this.maxHeight, factor));
    },
    get$isNormalized() {
      var _this = this,
        t1 = _this.minWidth;
      if (t1 >= 0)
        if (t1 <= _this.maxWidth) {
          t1 = _this.minHeight;
          t1 = t1 >= 0 && t1 <= _this.maxHeight;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    normalize$0(_) {
      var minWidth, minHeight, t1, t2, _this = this;
      if (_this.get$isNormalized())
        return _this;
      minWidth = _this.minWidth;
      minWidth = minWidth >= 0 ? minWidth : 0;
      minHeight = _this.minHeight;
      minHeight = minHeight >= 0 ? minHeight : 0;
      t1 = _this.maxWidth;
      if (minWidth > t1)
        t1 = minWidth;
      t2 = _this.maxHeight;
      return new A.BoxConstraints(minWidth, t1, minHeight, minHeight > t2 ? minHeight : t2);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.BoxConstraints && other.minWidth === _this.minWidth && other.maxWidth === _this.maxWidth && other.minHeight === _this.minHeight && other.maxHeight === _this.maxHeight;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.minWidth, _this.maxWidth, _this.minHeight, _this.maxHeight, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var t2, _this = this,
        annotation = _this.get$isNormalized() ? "" : "; NOT NORMALIZED",
        t1 = _this.minWidth;
      if (t1 === 1 / 0 && _this.minHeight === 1 / 0)
        return "BoxConstraints(biggest" + annotation + ")";
      if (t1 === 0 && _this.maxWidth === 1 / 0 && _this.minHeight === 0 && _this.maxHeight === 1 / 0)
        return "BoxConstraints(unconstrained" + annotation + ")";
      t2 = new A.BoxConstraints_toString_describe();
      return "BoxConstraints(" + t2.call$3(t1, _this.maxWidth, "w") + ", " + t2.call$3(_this.minHeight, _this.maxHeight, "h") + annotation + ")";
    }
  };
  A.BoxConstraints_toString_describe.prototype = {
    call$3(min, max, dim) {
      if (min === max)
        return dim + "=" + B.JSNumber_methods.toStringAsFixed$1(min, 1);
      return B.JSNumber_methods.toStringAsFixed$1(min, 1) + "<=" + dim + "<=" + B.JSNumber_methods.toStringAsFixed$1(max, 1);
    },
    $signature: 824
  };
  A.BoxHitTestResult.prototype = {
    addWithPaintTransform$3$hitTest$position$transform(hitTest, position, transform) {
      if (transform != null) {
        transform = A.Matrix4_tryInvert(A.PointerEvent_removePerspectiveTransform(transform));
        if (transform == null)
          return false;
      }
      return this.addWithRawTransform$3$hitTest$position$transform(hitTest, position, transform);
    },
    addWithPaintOffset$3$hitTest$offset$position(hitTest, offset, position) {
      var isHit,
        t1 = offset == null,
        transformedPosition = t1 ? position : position.$sub(0, offset);
      t1 = !t1;
      if (t1)
        this._localTransforms.push(new A._OffsetTransformPart(new A.Offset(-offset._dx, -offset._dy)));
      isHit = hitTest.call$2(this, transformedPosition);
      if (t1)
        this.popTransform$0();
      return isHit;
    },
    addWithRawTransform$3$hitTest$position$transform(hitTest, position, transform) {
      var isHit,
        t1 = transform == null,
        transformedPosition = t1 ? position : A.MatrixUtils_transformPoint(transform, position);
      t1 = !t1;
      if (t1)
        this._localTransforms.push(new A._MatrixTransformPart(transform));
      isHit = hitTest.call$2(this, transformedPosition);
      if (t1)
        this.popTransform$0();
      return isHit;
    },
    addWithOutOfBandPosition$3$hitTest$paintOffset$paintTransform(hitTest, paintOffset, paintTransform) {
      var isHit, _this = this;
      if (paintOffset != null)
        _this._localTransforms.push(new A._OffsetTransformPart(new A.Offset(-paintOffset._dx, -paintOffset._dy)));
      else {
        paintTransform.toString;
        paintTransform = A.Matrix4_tryInvert(A.PointerEvent_removePerspectiveTransform(paintTransform));
        paintTransform.toString;
        _this._localTransforms.push(new A._MatrixTransformPart(paintTransform));
      }
      isHit = hitTest.call$1(_this);
      _this.popTransform$0();
      return isHit;
    },
    addWithOutOfBandPosition$2$hitTest$paintTransform(hitTest, paintTransform) {
      return this.addWithOutOfBandPosition$3$hitTest$paintOffset$paintTransform(hitTest, null, paintTransform);
    },
    addWithOutOfBandPosition$2$hitTest$paintOffset(hitTest, paintOffset) {
      return this.addWithOutOfBandPosition$3$hitTest$paintOffset$paintTransform(hitTest, paintOffset, null);
    }
  };
  A.BoxHitTestEntry.prototype = {
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this.target) + "@" + this.localPosition.toString$0(0);
    }
  };
  A.BoxParentData.prototype = {
    toString$0(_) {
      return "offset=" + A.S(this.offset);
    }
  };
  A.ContainerBoxParentData.prototype = {};
  A._IntrinsicDimension.prototype = {
    toString$0(_) {
      return "_IntrinsicDimension." + this._core$_name;
    }
  };
  A._IntrinsicDimensionsCacheEntry.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A._IntrinsicDimensionsCacheEntry && other.dimension === this.dimension && other.argument === this.argument;
    },
    get$hashCode(_) {
      return A.Object_hash(this.dimension, this.argument, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.RenderBox.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.BoxParentData))
        child.parentData = new A.BoxParentData(B.Offset_0_0);
    },
    _computeIntrinsicDimension$3(dimension, argument, computer) {
      var t1, result;
      if ($.debugProfileLayoutsEnabled || $.RenderBox__debugIntrinsicsDepth === 0)
        A.Timeline_startSync(A.getRuntimeType(this).toString$0(0) + " intrinsics", null, null);
      $.RenderBox__debugIntrinsicsDepth = $.RenderBox__debugIntrinsicsDepth + 1;
      t1 = this._cachedIntrinsicDimensions;
      if (t1 == null)
        t1 = this._cachedIntrinsicDimensions = A.LinkedHashMap_LinkedHashMap$_empty(type$._IntrinsicDimensionsCacheEntry, type$.double);
      result = t1.putIfAbsent$2(0, new A._IntrinsicDimensionsCacheEntry(dimension, argument), new A.RenderBox__computeIntrinsicDimension_closure(computer, argument));
      t1 = $.RenderBox__debugIntrinsicsDepth - 1;
      $.RenderBox__debugIntrinsicsDepth = t1;
      if ($.debugProfileLayoutsEnabled || t1 === 0)
        A.Timeline_finishSync();
      return result;
    },
    computeMinIntrinsicWidth$1(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      return 0;
    },
    getDryLayout$1(constraints) {
      var t1, result, _this = this;
      if ($.debugProfileLayoutsEnabled || $.RenderBox__debugIntrinsicsDepth === 0)
        A.Timeline_startSync(A.getRuntimeType(_this).toString$0(0) + ".getDryLayout", null, null);
      $.RenderBox__debugIntrinsicsDepth = $.RenderBox__debugIntrinsicsDepth + 1;
      t1 = _this._cachedDryLayoutSizes;
      if (t1 == null)
        t1 = _this._cachedDryLayoutSizes = A.LinkedHashMap_LinkedHashMap$_empty(type$.BoxConstraints, type$.Size);
      result = t1.putIfAbsent$2(0, constraints, new A.RenderBox_getDryLayout_closure(_this, constraints));
      t1 = $.RenderBox__debugIntrinsicsDepth - 1;
      $.RenderBox__debugIntrinsicsDepth = t1;
      if ($.debugProfileLayoutsEnabled || t1 === 0)
        A.Timeline_finishSync();
      return result;
    },
    computeDryLayout$1(constraints) {
      return B.Size_0_0;
    },
    get$semanticBounds() {
      var t1 = this._box$_size;
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    getDistanceToBaseline$2$onlyReal(baseline, onlyReal) {
      var result = this.getDistanceToActualBaseline$1(baseline);
      if (result == null && !onlyReal)
        return this._box$_size._dy;
      return result;
    },
    getDistanceToBaseline$1(baseline) {
      return this.getDistanceToBaseline$2$onlyReal(baseline, false);
    },
    getDistanceToActualBaseline$1(baseline) {
      var _this = this,
        t1 = _this._cachedBaselines;
      if (t1 == null)
        t1 = _this._cachedBaselines = A.LinkedHashMap_LinkedHashMap$_empty(type$.TextBaseline, type$.nullable_double);
      t1.putIfAbsent$2(0, baseline, new A.RenderBox_getDistanceToActualBaseline_closure(_this, baseline));
      return _this._cachedBaselines.$index(0, baseline);
    },
    computeDistanceToActualBaseline$1(baseline) {
      return null;
    },
    get$constraints() {
      return type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this));
    },
    _clearCachedData$0() {
      var t3, _this = this,
        t1 = _this._cachedBaselines,
        t2 = t1 == null;
      if (!(!t2 && t1._length !== 0)) {
        t3 = _this._cachedIntrinsicDimensions;
        if (!(t3 != null && t3._length !== 0)) {
          t3 = _this._cachedDryLayoutSizes;
          t3 = t3 != null && t3._length !== 0;
        } else
          t3 = true;
      } else
        t3 = true;
      if (t3) {
        if (!t2)
          t1.clear$0(0);
        t1 = _this._cachedIntrinsicDimensions;
        if (t1 != null)
          t1.clear$0(0);
        t1 = _this._cachedDryLayoutSizes;
        if (t1 != null)
          t1.clear$0(0);
        return true;
      }
      return false;
    },
    markNeedsLayout$0() {
      var _this = this;
      if (_this._clearCachedData$0() && _this.get$parent(_this) instanceof A.RenderObject) {
        _this.markParentNeedsLayout$0();
        return;
      }
      _this.super$RenderObject$markNeedsLayout();
    },
    layout$2$parentUsesSize(constraints, parentUsesSize) {
      var t1, _this = this;
      if (_this._box$_size != null)
        if (!constraints.$eq(0, _this.get$constraints())) {
          t1 = _this._cachedBaselines;
          t1 = t1 != null && t1._length !== 0;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        t1 = _this._cachedBaselines;
        if (t1 != null)
          t1.clear$0(0);
      }
      _this.super$RenderObject$layout(constraints, parentUsesSize);
    },
    layout$1(constraints) {
      return this.layout$2$parentUsesSize(constraints, false);
    },
    performResize$0() {
      this._box$_size = this.computeDryLayout$1(this.get$constraints());
    },
    performLayout$0() {
    },
    hitTest$2$position(result, position) {
      var _this = this;
      if (_this._box$_size.contains$1(0, position))
        if (_this.hitTestChildren$2$position(result, position) || _this.hitTestSelf$1(position)) {
          result.add$1(0, new A.BoxHitTestEntry(position, _this));
          return true;
        }
      return false;
    },
    hitTestSelf$1(position) {
      return false;
    },
    hitTestChildren$2$position(result, position) {
      return false;
    },
    applyPaintTransform$2(child, transform) {
      var offset,
        t1 = child.parentData;
      t1.toString;
      offset = type$.BoxParentData._as(t1).offset;
      transform.translate$2(0, offset._dx, offset._dy);
    },
    globalToLocal$1(point) {
      var n, t1, i, d, s,
        transform = this.getTransformTo$1(0, null);
      if (transform.copyInverse$1(transform) === 0)
        return B.Offset_0_0;
      n = new A.Vector3(new Float64Array(3));
      n.setValues$3(0, 0, 1);
      t1 = new A.Vector3(new Float64Array(3));
      t1.setValues$3(0, 0, 0);
      i = transform.perspectiveTransform$1(t1);
      t1 = new A.Vector3(new Float64Array(3));
      t1.setValues$3(0, 0, 1);
      d = transform.perspectiveTransform$1(t1).$sub(0, i);
      t1 = new A.Vector3(new Float64Array(3));
      t1.setValues$3(point._dx, point._dy, 0);
      s = transform.perspectiveTransform$1(t1);
      t1 = s.$sub(0, d.scaled$1(n.dot$1(s) / n.dot$1(d)))._v3storage;
      return new A.Offset(t1[0], t1[1]);
    },
    get$paintBounds() {
      var t1 = this._box$_size;
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    handleEvent$2($event, entry) {
      this.super$RenderObject$handleEvent($event, entry);
    }
  };
  A.RenderBox__computeIntrinsicDimension_closure.prototype = {
    call$0() {
      return this.computer.call$1(this.argument);
    },
    $signature: 98
  };
  A.RenderBox_getDryLayout_closure.prototype = {
    call$0() {
      return this.$this.computeDryLayout$1(this.constraints);
    },
    $signature: 825
  };
  A.RenderBox_getDistanceToActualBaseline_closure.prototype = {
    call$0() {
      return this.$this.computeDistanceToActualBaseline$1(this.baseline);
    },
    $signature: 826
  };
  A.RenderBoxContainerDefaultsMixin.prototype = {
    defaultComputeDistanceToFirstActualBaseline$1(baseline) {
      var t1, childParentData, result,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("RenderBoxContainerDefaultsMixin.1?"); child != null;) {
        childParentData = t1._as(child.parentData);
        result = child.getDistanceToActualBaseline$1(baseline);
        if (result != null)
          return result + childParentData.offset._dy;
        child = childParentData.ContainerParentDataMixin_nextSibling;
      }
      return null;
    },
    defaultComputeDistanceToHighestActualBaseline$1(baseline) {
      var t1, result, t2, candidate,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("RenderBoxContainerDefaultsMixin.1"), result = null; child != null;) {
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        candidate = child.getDistanceToActualBaseline$1(baseline);
        if (candidate != null) {
          candidate += t2.offset._dy;
          result = result != null ? Math.min(result, candidate) : candidate;
        }
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      return result;
    },
    defaultHitTestChildren$2$position(result, position) {
      var t2, child, _box_0 = {},
        t1 = _box_0.child = this.ContainerRenderObjectMixin__lastChild;
      for (t2 = A._instanceType(this)._eval$1("RenderBoxContainerDefaultsMixin.1"); t1 != null; t1 = child) {
        t1 = t1.parentData;
        t1.toString;
        t2._as(t1);
        if (result.addWithPaintOffset$3$hitTest$offset$position(new A.RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure(_box_0, position, t1), t1.offset, position))
          return true;
        child = t1.ContainerParentDataMixin_previousSibling;
        _box_0.child = child;
      }
      return false;
    },
    defaultPaint$2(context, offset) {
      var t1, t2, t3, t4, t5,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("RenderBoxContainerDefaultsMixin.1"), t2 = offset._dx, t3 = offset._dy; child != null;) {
        t4 = child.parentData;
        t4.toString;
        t1._as(t4);
        t5 = t4.offset;
        context.paintChild$2(child, new A.Offset(t5._dx + t2, t5._dy + t3));
        child = t4.ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A.RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this._box_0.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin.prototype = {
    detach$0(_) {
      this.super$ParentData$detach(0);
    }
  };
  A.MultiChildLayoutParentData.prototype = {
    toString$0(_) {
      return this.super$BoxParentData$toString(0) + "; id=" + A.S(this.id);
    }
  };
  A.MultiChildLayoutDelegate.prototype = {
    layoutChild$2(childId, constraints) {
      var t1,
        child = this._idToChild.$index(0, childId);
      child.layout$2$parentUsesSize(constraints, true);
      t1 = child._box$_size;
      t1.toString;
      return t1;
    },
    positionChild$2(childId, offset) {
      var t1 = this._idToChild.$index(0, childId).parentData;
      t1.toString;
      type$.MultiChildLayoutParentData._as(t1).offset = offset;
    },
    _callPerformLayout$2(size, firstChild) {
      var childParentData, t1, t2, t3, t4, child, _this = this,
        previousIdToChild = _this._idToChild;
      try {
        _this._idToChild = A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$.RenderBox);
        for (t1 = type$.MultiChildLayoutParentData, t2 = firstChild; t2 != null; t2 = child) {
          t3 = t2.parentData;
          t3.toString;
          childParentData = t1._as(t3);
          t3 = _this._idToChild;
          t3.toString;
          t4 = childParentData.id;
          t4.toString;
          t3.$indexSet(0, t4, t2);
          child = childParentData.ContainerParentDataMixin_nextSibling;
        }
        _this.performLayout$1(size);
      } finally {
        _this._idToChild = previousIdToChild;
      }
    },
    toString$0(_) {
      return "MultiChildLayoutDelegate";
    }
  };
  A.RenderCustomMultiChildLayoutBox.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.MultiChildLayoutParentData))
        child.parentData = new A.MultiChildLayoutParentData(null, null, B.Offset_0_0);
    },
    set$delegate(newDelegate) {
      var _this = this,
        t1 = _this._custom_layout$_delegate;
      if (t1 === newDelegate)
        return;
      if (A.getRuntimeType(newDelegate) !== A.getRuntimeType(t1) || newDelegate.shouldRelayout$1(t1))
        _this.markNeedsLayout$0();
      _this._custom_layout$_delegate = newDelegate;
      _this._owner != null;
    },
    attach$1(owner) {
      this.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$attach(owner);
    },
    detach$0(_) {
      this.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$detach(0);
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = A.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(new A.Size(A.clampDouble(1 / 0, t1.minWidth, t1.maxWidth), A.clampDouble(1 / 0, t1.minHeight, t1.maxHeight)))._dx;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = A.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(new A.Size(A.clampDouble(1 / 0, t1.minWidth, t1.maxWidth), A.clampDouble(1 / 0, t1.minHeight, t1.maxHeight)))._dx;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = A.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(new A.Size(A.clampDouble(1 / 0, t1.minWidth, t1.maxWidth), A.clampDouble(1 / 0, t1.minHeight, t1.maxHeight)))._dy;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = A.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(new A.Size(A.clampDouble(1 / 0, t1.minWidth, t1.maxWidth), A.clampDouble(1 / 0, t1.minHeight, t1.maxHeight)))._dy;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeDryLayout$1(constraints) {
      return constraints.constrain$1(new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight)));
    },
    performLayout$0() {
      var _this = this,
        t1 = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      t1 = t1.constrain$1(new A.Size(A.clampDouble(1 / 0, t1.minWidth, t1.maxWidth), A.clampDouble(1 / 0, t1.minHeight, t1.maxHeight)));
      _this._box$_size = t1;
      _this._custom_layout$_delegate._callPerformLayout$2(t1, _this.ContainerRenderObjectMixin__firstChild);
    },
    paint$2(context, offset) {
      this.defaultPaint$2(context, offset);
    },
    hitTestChildren$2$position(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    }
  };
  A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.MultiChildLayoutParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.MultiChildLayoutParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A.CustomPainter.prototype = {
    addListener$1(_, listener) {
      var t1 = this._repaint;
      return t1 == null ? null : t1.addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      var t1 = this._repaint;
      return t1 == null ? null : t1.removeListener$1(0, listener);
    },
    get$semanticsBuilder() {
      return null;
    },
    shouldRebuildSemantics$1(oldDelegate) {
      return this.shouldRepaint$1(oldDelegate);
    },
    hitTest$1(position) {
      return null;
    },
    toString$0(_) {
      var t1 = A.shortHash(this),
        t2 = this._repaint;
      t2 = t2 == null ? null : t2.toString$0(0);
      if (t2 == null)
        t2 = "";
      return "<optimized out>#" + t1 + "(" + t2 + ")";
    }
  };
  A.RenderCustomPaint.prototype = {
    set$painter(value) {
      var oldPainter, _this = this;
      if (J.$eq$(_this._painter, value))
        return;
      oldPainter = _this._painter;
      _this._painter = value;
      _this._didUpdatePainter$2(value, oldPainter);
    },
    set$foregroundPainter(value) {
      var oldPainter, _this = this;
      if (J.$eq$(_this._foregroundPainter, value))
        return;
      oldPainter = _this._foregroundPainter;
      _this._foregroundPainter = value;
      _this._didUpdatePainter$2(value, oldPainter);
    },
    _didUpdatePainter$2(newPainter, oldPainter) {
      var _this = this,
        t1 = newPainter == null;
      if (t1)
        _this.markNeedsPaint$0();
      else if (oldPainter == null || A.getRuntimeType(newPainter) !== A.getRuntimeType(oldPainter) || newPainter.shouldRepaint$1(oldPainter))
        _this.markNeedsPaint$0();
      if (_this._owner != null) {
        if (oldPainter != null)
          oldPainter.removeListener$1(0, _this.get$markNeedsPaint());
        if (!t1)
          newPainter.addListener$1(0, _this.get$markNeedsPaint());
      }
      if (t1) {
        if (_this._owner != null)
          _this.markNeedsSemanticsUpdate$0();
      } else if (oldPainter == null || A.getRuntimeType(newPainter) !== A.getRuntimeType(oldPainter) || newPainter.shouldRebuildSemantics$1(oldPainter))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$preferredSize(value) {
      if (this._preferredSize.$eq(0, value))
        return;
      this._preferredSize = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dx;
        return isFinite(t1) ? t1 : 0;
      }
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicWidth(height);
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dx;
        return isFinite(t1) ? t1 : 0;
      }
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicWidth(height);
    },
    computeMinIntrinsicHeight$1(width) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dy;
        return isFinite(t1) ? t1 : 0;
      }
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicHeight(width);
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1;
      if (this.RenderObjectWithChildMixin__child == null) {
        t1 = this._preferredSize._dy;
        return isFinite(t1) ? t1 : 0;
      }
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicHeight(width);
    },
    attach$1(owner) {
      var t1, _this = this;
      _this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      t1 = _this._painter;
      if (t1 != null)
        t1.addListener$1(0, _this.get$markNeedsPaint());
      t1 = _this._foregroundPainter;
      if (t1 != null)
        t1.addListener$1(0, _this.get$markNeedsPaint());
    },
    detach$0(_) {
      var _this = this,
        t1 = _this._painter;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$markNeedsPaint());
      t1 = _this._foregroundPainter;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$markNeedsPaint());
      _this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    hitTestChildren$2$position(result, position) {
      var t1 = this._foregroundPainter;
      if (t1 != null) {
        t1 = t1.hitTest$1(position);
        t1 = t1 === true;
      } else
        t1 = false;
      if (t1)
        return true;
      return this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    hitTestSelf$1(position) {
      var t1 = this._painter;
      if (t1 != null) {
        t1 = t1.hitTest$1(position);
        t1 = t1 !== false;
      } else
        t1 = false;
      return t1;
    },
    performLayout$0() {
      this.super$RenderProxyBoxMixin$performLayout();
      this.markNeedsSemanticsUpdate$0();
    },
    computeSizeForNoChild$1(constraints) {
      return constraints.constrain$1(this._preferredSize);
    },
    _paintWithPainter$3(canvas, offset, painter) {
      var t1;
      A._Cell$named("debugPreviousCanvasSaveCount");
      canvas.save$0(0);
      if (!offset.$eq(0, B.Offset_0_0))
        canvas.translate$2(0, offset._dx, offset._dy);
      t1 = this._box$_size;
      t1.toString;
      painter.paint$2(canvas, t1);
      canvas.restore$0(0);
    },
    paint$2(context, offset) {
      var t1, t2, _this = this;
      if (_this._painter != null) {
        t1 = context.get$canvas(context);
        t2 = _this._painter;
        t2.toString;
        _this._paintWithPainter$3(t1, offset, t2);
        _this._setRasterCacheHints$1(context);
      }
      _this.super$RenderProxyBoxMixin$paint(context, offset);
      if (_this._foregroundPainter != null) {
        t1 = context.get$canvas(context);
        t2 = _this._foregroundPainter;
        t2.toString;
        _this._paintWithPainter$3(t1, offset, t2);
        _this._setRasterCacheHints$1(context);
      }
    },
    _setRasterCacheHints$1(context) {
    },
    describeSemanticsConfiguration$1(config) {
      var t1, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      t1 = _this._painter;
      _this._backgroundSemanticsBuilder = t1 == null ? null : t1.get$semanticsBuilder();
      t1 = _this._foregroundPainter;
      _this._foregroundSemanticsBuilder = t1 == null ? null : t1.get$semanticsBuilder();
      config._isSemanticBoundary = false;
    },
    assembleSemanticsNode$3(node, config, children) {
      var t1, hasBackgroundSemantics, hasForegroundSemantics, t2, _this = this;
      _this._backgroundSemanticsNodes = A.RenderCustomPaint__updateSemanticsChildren(_this._backgroundSemanticsNodes, B.List_empty15);
      _this._foregroundSemanticsNodes = A.RenderCustomPaint__updateSemanticsChildren(_this._foregroundSemanticsNodes, B.List_empty15);
      t1 = _this._backgroundSemanticsNodes;
      hasBackgroundSemantics = t1 != null && !t1.get$isEmpty(t1);
      t1 = _this._foregroundSemanticsNodes;
      hasForegroundSemantics = t1 != null && !t1.get$isEmpty(t1);
      t1 = A._setArrayType([], type$.JSArray_SemanticsNode);
      if (hasBackgroundSemantics) {
        t2 = _this._backgroundSemanticsNodes;
        t2.toString;
        B.JSArray_methods.addAll$1(t1, t2);
      }
      B.JSArray_methods.addAll$1(t1, children);
      if (hasForegroundSemantics) {
        t2 = _this._foregroundSemanticsNodes;
        t2.toString;
        B.JSArray_methods.addAll$1(t1, t2);
      }
      _this.super$RenderObject$assembleSemanticsNode(node, config, t1);
    },
    clearSemantics$0() {
      this.super$RenderObject$clearSemantics();
      this._foregroundSemanticsNodes = this._backgroundSemanticsNodes = null;
    }
  };
  A.DebugOverflowIndicatorMixin.prototype = {};
  A.TextSelectionPoint.prototype = {
    toString$0(_) {
      var _this = this;
      switch (_this.direction) {
        case B.TextDirection_1:
          return _this.point.toString$0(0) + "-ltr";
        case B.TextDirection_0:
          return _this.point.toString$0(0) + "-rtl";
        case null:
          return _this.point.toString$0(0);
      }
    }
  };
  A.VerticalCaretMovementRun.prototype = {
    get$isValid() {
      var _this = this;
      if (!_this._isValid)
        return false;
      if (_this._editable._textPainter.computeLineMetrics$0() !== _this._lineMetrics)
        _this._isValid = false;
      return _this._isValid;
    },
    _getTextPositionForLine$1(lineNumber) {
      var newOffset, position, _this = this,
        t1 = _this._positionCache,
        cachedPosition = t1.$index(0, lineNumber);
      if (cachedPosition != null)
        return cachedPosition;
      newOffset = new A.Offset(_this._currentOffset._dx, _this._lineMetrics[lineNumber].get$baseline());
      position = new A.MapEntry(newOffset, _this._editable._textPainter._paragraph.getPositionForOffset$1(newOffset), type$.MapEntry_Offset_TextPosition);
      t1.$indexSet(0, lineNumber, position);
      return position;
    },
    get$current(_) {
      return this._currentTextPosition;
    },
    moveNext$0() {
      var position, _this = this,
        t1 = _this._editable$_currentLine + 1;
      if (t1 >= _this._lineMetrics.length)
        return false;
      position = _this._getTextPositionForLine$1(t1);
      ++_this._editable$_currentLine;
      _this._currentOffset = position.key;
      _this._currentTextPosition = position.value;
      return true;
    },
    movePrevious$0() {
      var position, _this = this,
        t1 = _this._editable$_currentLine;
      if (t1 <= 0)
        return false;
      position = _this._getTextPositionForLine$1(t1 - 1);
      --_this._editable$_currentLine;
      _this._currentOffset = position.key;
      _this._currentTextPosition = position.value;
      return true;
    }
  };
  A.RenderEditable.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.TextParentData))
        child.parentData = new A.TextParentData(null, null, B.Offset_0_0);
    },
    dispose$0() {
      var t2, _this = this,
        t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1._layerHandle.set$layer(0, null);
      _this._foregroundRenderObject = null;
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1._layerHandle.set$layer(0, null);
      _this._backgroundRenderObject = null;
      _this._editable$_clipRectLayer.set$layer(0, null);
      t1 = _this._cachedBuiltInForegroundPainters;
      if (t1 != null) {
        t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
        t1.ChangeNotifier__count = 0;
      }
      t1 = _this._cachedBuiltInPainters;
      if (t1 != null) {
        t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
        t1.ChangeNotifier__count = 0;
      }
      t1 = _this._selectionStartInViewport;
      t2 = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__listeners = t2;
      t1.ChangeNotifier__count = 0;
      t1 = _this._selectionEndInViewport;
      t1.ChangeNotifier__listeners = t2;
      t1.ChangeNotifier__count = 0;
      _this.super$RenderObject$dispose();
    },
    _updateForegroundPainter$1(newPainter) {
      var foregroundRenderObject, _this = this,
        effectivePainter = _this.get$_builtInForegroundPainters(),
        t1 = _this._foregroundRenderObject;
      if (t1 == null) {
        foregroundRenderObject = A._RenderEditableCustomPaint$(effectivePainter);
        _this.adoptChild$1(foregroundRenderObject);
        _this._foregroundRenderObject = foregroundRenderObject;
      } else
        t1.set$painter(effectivePainter);
      _this._editable$_foregroundPainter = newPainter;
    },
    _editable$_extractPlaceholderSpans$1(span) {
      this.__RenderEditable__placeholderSpans = A._setArrayType([], type$.JSArray_PlaceholderSpan);
      span.visitChildren$1(new A.RenderEditable__extractPlaceholderSpans_closure(this));
    },
    _updatePainter$1(newPainter) {
      var backgroundRenderObject, _this = this,
        effectivePainter = _this.get$_builtInPainters(),
        t1 = _this._backgroundRenderObject;
      if (t1 == null) {
        backgroundRenderObject = A._RenderEditableCustomPaint$(effectivePainter);
        _this.adoptChild$1(backgroundRenderObject);
        _this._backgroundRenderObject = backgroundRenderObject;
      } else
        t1.set$painter(effectivePainter);
      _this._editable$_painter = newPainter;
    },
    get$_caretPainter() {
      var t1, t2, _this = this,
        value = _this.__RenderEditable__caretPainter;
      if (value === $) {
        t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t2 = $.$get$ChangeNotifier__emptyListeners();
        if (_this.__RenderEditable__caretPainter !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__RenderEditable__caretPainter = new A._FloatingCursorPainter(_this.get$_onCaretChanged(), t1, B.Offset_0_0, t2);
      }
      return value;
    },
    get$_builtInForegroundPainters() {
      var _this = this,
        t1 = _this._cachedBuiltInForegroundPainters;
      if (t1 == null) {
        t1 = A._setArrayType([], type$.JSArray_RenderEditablePainter);
        if (_this._paintCursorOnTop)
          t1.push(_this.get$_caretPainter());
        t1 = _this._cachedBuiltInForegroundPainters = new A._CompositeRenderEditablePainter(t1, $.$get$ChangeNotifier__emptyListeners());
      }
      return t1;
    },
    get$_builtInPainters() {
      var _this = this,
        t1 = _this._cachedBuiltInPainters;
      if (t1 == null) {
        t1 = A._setArrayType([_this._autocorrectHighlightPainter, _this._selectionPainter], type$.JSArray_RenderEditablePainter);
        if (!_this._paintCursorOnTop)
          t1.push(_this.get$_caretPainter());
        t1 = _this._cachedBuiltInPainters = new A._CompositeRenderEditablePainter(t1, $.$get$ChangeNotifier__emptyListeners());
      }
      return t1;
    },
    _onCaretChanged$1(caretRect) {
      if (!J.$eq$(this._lastCaretRect, caretRect))
        this.onCaretChanged.call$1(caretRect);
      this._lastCaretRect = caretRect;
    },
    set$textHeightBehavior(value) {
      var t1 = this._textPainter;
      if (J.$eq$(t1._textHeightBehavior, value))
        return;
      t1.set$textHeightBehavior(value);
      this.markNeedsTextLayout$0();
    },
    set$textWidthBasis(value) {
      var t1 = this._textPainter;
      if (t1._textWidthBasis === value)
        return;
      t1.set$textWidthBasis(value);
      this.markNeedsTextLayout$0();
    },
    set$devicePixelRatio(_, value) {
      if (this._devicePixelRatio === value)
        return;
      this._devicePixelRatio = value;
      this.markNeedsTextLayout$0();
    },
    set$obscuringCharacter(value) {
      if (this._obscuringCharacter === value)
        return;
      this._obscuringCharacter = value;
      this.markNeedsLayout$0();
    },
    set$obscureText(value) {
      return;
    },
    getLineAtOffset$1(position) {
      var line = this._textPainter._paragraph.getLineBoundary$1(position);
      return A.TextSelection$(B.TextAffinity_1, line.start, line.end, false);
    },
    _setSelection$2(nextSelection, cause) {
      var textLength, t1;
      if (nextSelection.get$isValid()) {
        textLength = this.textSelectionDelegate._widget.controller._change_notifier$_value.text.length;
        nextSelection = nextSelection.copyWith$2$baseOffset$extentOffset(Math.min(nextSelection.baseOffset, textLength), Math.min(nextSelection.extentOffset, textLength));
      }
      t1 = this.textSelectionDelegate._widget.controller._change_notifier$_value.copyWith$1$selection(nextSelection);
      this.textSelectionDelegate.userUpdateTextEditingValue$2(t1, cause);
    },
    markNeedsPaint$0() {
      this.super$RenderObject$markNeedsPaint();
      var t1 = this._foregroundRenderObject;
      if (t1 != null)
        t1.markNeedsPaint$0();
      t1 = this._backgroundRenderObject;
      if (t1 != null)
        t1.markNeedsPaint$0();
    },
    markNeedsTextLayout$0() {
      this._textLayoutLastMinWidth = this._textLayoutLastMaxWidth = null;
      this.markNeedsLayout$0();
    },
    systemFontsDidChange$0() {
      var _this = this;
      _this.super$RelayoutWhenSystemFontsChangeMixin$systemFontsDidChange();
      _this._textPainter.markNeedsLayout$0();
      _this._textLayoutLastMinWidth = _this._textLayoutLastMaxWidth = null;
    },
    get$_plainText() {
      var t1 = this._cachedPlainText;
      return t1 == null ? this._cachedPlainText = this._textPainter._text_painter$_text.toPlainText$1$includeSemanticsLabels(false) : t1;
    },
    set$text(_, value) {
      var _this = this,
        t1 = _this._textPainter;
      if (J.$eq$(t1._text_painter$_text, value))
        return;
      t1.set$text(0, value);
      _this._editable$_cachedCombinedSemanticsInfos = _this._cachedAttributedValue = _this._cachedPlainText = null;
      _this._editable$_extractPlaceholderSpans$1(value);
      _this.markNeedsTextLayout$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    set$textAlign(_, value) {
      var t1 = this._textPainter;
      if (t1._textAlign === value)
        return;
      t1.set$textAlign(0, value);
      this.markNeedsTextLayout$0();
    },
    set$textDirection(value) {
      var t1 = this._textPainter;
      if (t1._text_painter$_textDirection === value)
        return;
      t1.set$textDirection(value);
      this.markNeedsTextLayout$0();
      this.markNeedsSemanticsUpdate$0();
    },
    set$locale(_, value) {
      var t1 = this._textPainter;
      if (J.$eq$(t1._text_painter$_locale, value))
        return;
      t1.set$locale(0, value);
      this.markNeedsTextLayout$0();
    },
    set$strutStyle(value) {
      var t1 = this._textPainter;
      if (J.$eq$(t1._strutStyle, value))
        return;
      t1.set$strutStyle(value);
      this.markNeedsTextLayout$0();
    },
    set$showCursor(value) {
      var _this = this,
        t1 = _this._showCursor;
      if (t1 === value)
        return;
      if (_this._owner != null)
        t1.removeListener$1(0, _this.get$_showHideCursor());
      _this._showCursor = value;
      if (_this._owner != null) {
        _this.get$_caretPainter().set$shouldPaint(_this._showCursor._change_notifier$_value);
        _this._showCursor.addListener$1(0, _this.get$_showHideCursor());
      }
    },
    _showHideCursor$0() {
      this.get$_caretPainter().set$shouldPaint(this._showCursor._change_notifier$_value);
    },
    set$hasFocus(value) {
      if (this._editable$_hasFocus === value)
        return;
      this._editable$_hasFocus = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$forceLine(value) {
      if (this._forceLine === value)
        return;
      this._forceLine = value;
      this.markNeedsLayout$0();
    },
    set$readOnly(_, value) {
      if (this._readOnly === value)
        return;
      this._readOnly = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$maxLines(value) {
      if (this._maxLines == value)
        return;
      this._maxLines = value;
      this.markNeedsTextLayout$0();
    },
    set$minLines(value) {
      if (this._minLines == value)
        return;
      this._minLines = value;
      this.markNeedsTextLayout$0();
    },
    set$expands(value) {
      return;
    },
    set$textScaleFactor(value) {
      var t1 = this._textPainter;
      if (t1._textScaleFactor === value)
        return;
      t1.set$textScaleFactor(value);
      this.markNeedsTextLayout$0();
    },
    set$selection(value) {
      var _this = this;
      if (_this._selection.$eq(0, value))
        return;
      _this._selection = value;
      _this._selectionPainter.set$highlightedRange(value);
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    set$offset(_, value) {
      var _this = this,
        t1 = _this._editable$_offset;
      if (t1 === value)
        return;
      if (_this._owner != null)
        t1.removeListener$1(0, _this.get$markNeedsPaint());
      _this._editable$_offset = value;
      if (_this._owner != null)
        value.addListener$1(0, _this.get$markNeedsPaint());
      _this.markNeedsLayout$0();
    },
    set$cursorWidth(value) {
      if (this._cursorWidth === value)
        return;
      this._cursorWidth = value;
      this.markNeedsLayout$0();
    },
    set$cursorHeight(value) {
      return;
    },
    set$paintCursorAboveText(value) {
      var _this = this;
      if (_this._paintCursorOnTop === value)
        return;
      _this._paintCursorOnTop = value;
      _this._cachedBuiltInPainters = _this._cachedBuiltInForegroundPainters = null;
      _this._updateForegroundPainter$1(_this._editable$_foregroundPainter);
      _this._updatePainter$1(_this._editable$_painter);
    },
    set$startHandleLayerLink(value) {
      if (this._editable$_startHandleLayerLink === value)
        return;
      this._editable$_startHandleLayerLink = value;
      this.markNeedsPaint$0();
    },
    set$endHandleLayerLink(value) {
      if (this._editable$_endHandleLayerLink === value)
        return;
      this._editable$_endHandleLayerLink = value;
      this.markNeedsPaint$0();
    },
    set$enableInteractiveSelection(value) {
      var _this = this;
      if (_this._enableInteractiveSelection === value)
        return;
      _this._enableInteractiveSelection = value;
      _this.markNeedsTextLayout$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    get$selectionEnabled() {
      var t1 = this._enableInteractiveSelection;
      return t1;
    },
    getBoxesForSelection$1(selection) {
      var t1, t2;
      this._computeTextMetricsIfNeeded$0();
      t1 = this._textPainter.getBoxesForSelection$1(selection);
      t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Rect>");
      return A.List_List$of(new A.MappedListIterable(t1, new A.RenderEditable_getBoxesForSelection_closure(this), t2), true, t2._eval$1("ListIterable.E"));
    },
    describeSemanticsConfiguration$1(config) {
      var t1, t2, collector, buffer, attributes, t3, offset, _i, t4, info, label, t5, _i0, infoAttribute, originalRange, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      t1 = _this._textPainter;
      t2 = t1._text_painter$_text;
      t2.toString;
      collector = A._setArrayType([], type$.JSArray_InlineSpanSemanticsInformation);
      t2.computeSemanticsInformation$1(collector);
      _this._editable$_semanticsInfo = collector;
      if (B.JSArray_methods.any$1(collector, new A.RenderEditable_describeSemanticsConfiguration_closure()) && A.defaultTargetPlatform() !== B.TargetPlatform_4) {
        config.explicitChildNodes = config._isSemanticBoundary = true;
        return;
      }
      t2 = _this._cachedAttributedValue;
      if (t2 == null) {
        buffer = new A.StringBuffer("");
        attributes = A._setArrayType([], type$.JSArray_StringAttribute);
        for (t2 = _this._editable$_semanticsInfo, t3 = t2.length, offset = 0, _i = 0, t4 = ""; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
          info = t2[_i];
          label = info.semanticsLabel;
          if (label == null)
            label = info.text;
          for (t4 = info.stringAttributes, t5 = t4.length, _i0 = 0; _i0 < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i0) {
            infoAttribute = t4[_i0];
            originalRange = infoAttribute.range;
            attributes.push(infoAttribute.copy$1$range(new A.TextRange(offset + originalRange.start, offset + originalRange.end)));
          }
          t4 = buffer._contents += label;
          offset += label.length;
        }
        t2 = new A.AttributedString(t4.charCodeAt(0) == 0 ? t4 : t4, attributes);
        _this._cachedAttributedValue = t2;
      }
      config._attributedValue = t2;
      config._hasBeenAnnotated = true;
      config._setFlag$2(B.SemanticsFlag_1024, false);
      config._setFlag$2(B.SemanticsFlag_524288, _this._maxLines !== 1);
      t2 = t1._text_painter$_textDirection;
      t2.toString;
      config._textDirection = t2;
      config._hasBeenAnnotated = true;
      config._setFlag$2(B.SemanticsFlag_32, _this._editable$_hasFocus);
      config._setFlag$2(B.SemanticsFlag_16, true);
      config._setFlag$2(B.SemanticsFlag_1048576, _this._readOnly);
      if (_this._editable$_hasFocus && _this.get$selectionEnabled())
        config.set$onSetSelection(_this.get$_handleSetSelection());
      if (_this._editable$_hasFocus && !_this._readOnly)
        config.set$onSetText(_this.get$_handleSetText());
      if (_this.get$selectionEnabled())
        t2 = _this._selection.get$isValid();
      else
        t2 = false;
      if (t2) {
        t2 = _this._selection;
        config._textSelection = t2;
        config._hasBeenAnnotated = true;
        if (t1.getOffsetBefore$1(t2.extentOffset) != null) {
          config.set$onMoveCursorBackwardByWord(_this.get$_handleMoveCursorBackwardByWord());
          config.set$onMoveCursorBackwardByCharacter(_this.get$_handleMoveCursorBackwardByCharacter());
        }
        if (t1.getOffsetAfter$1(_this._selection.extentOffset) != null) {
          config.set$onMoveCursorForwardByWord(_this.get$_handleMoveCursorForwardByWord());
          config.set$onMoveCursorForwardByCharacter(_this.get$_handleMoveCursorForwardByCharacter());
        }
      }
    },
    _handleSetText$1(text) {
      this.textSelectionDelegate.userUpdateTextEditingValue$2(new A.TextEditingValue(text, A.TextSelection$collapsed(B.TextAffinity_1, text.length), B.TextRange_m1_m1), B.SelectionChangedCause_4);
    },
    assembleSemanticsNode$3(node, config, children) {
      var child, newChildCache, t3, t4, t5, t6, t7, currentDirection, ordinal, start, placeholderIndex, childIndex, _i, info, start0, t8, t9, childNode, t10, t11, rects, rect, currentDirection0, t12, t13, currentRect, configuration, ordinal0, recognizer, paintRect, newChild, it, key, _this = this, _null = null,
        newChildren = A._setArrayType([], type$.JSArray_SemanticsNode),
        t1 = _this._textPainter,
        t2 = t1._text_painter$_textDirection;
      t2.toString;
      child = _this.ContainerRenderObjectMixin__firstChild;
      newChildCache = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.Key, type$.SemanticsNode);
      t3 = _this._editable$_cachedCombinedSemanticsInfos;
      if (t3 == null) {
        t3 = _this._editable$_semanticsInfo;
        t3.toString;
        t3 = _this._editable$_cachedCombinedSemanticsInfos = A.combineSemanticsInfo(t3);
      }
      for (t4 = t3.length, t5 = type$.BoxConstraints, t6 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t7 = type$.TextParentData, currentDirection = t2, ordinal = 0, start = 0, placeholderIndex = 0, childIndex = 0, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i, start = start0) {
        info = t3[_i];
        t2 = info.text;
        start0 = start + t2.length;
        t8 = start < start0;
        t9 = t8 ? start : start0;
        t8 = t8 ? start0 : start;
        if (info.isPlaceholder) {
          t2 = "PlaceholderSpanIndexSemanticsTag(" + placeholderIndex + ")";
          while (true) {
            if (children.length > childIndex) {
              t8 = children[childIndex].tags;
              t8 = t8 != null && t8.contains$1(0, new A.PlaceholderSpanIndexSemanticsTag(placeholderIndex, t2));
            } else
              t8 = false;
            if (!t8)
              break;
            childNode = children[childIndex];
            t8 = child.parentData;
            t8.toString;
            t7._as(t8);
            t9 = childNode._rect;
            t10 = t9.left;
            t11 = t9.top;
            t8 = t8.scale;
            t8.toString;
            t8 = new A.Rect(t10, t11, t10 + (t9.right - t10) * t8, t11 + (t9.bottom - t11) * t8);
            if (!t9.$eq(0, t8)) {
              childNode._rect = t8;
              childNode._markDirty$0();
            }
            newChildren.push(childNode);
            ++childIndex;
          }
          t2 = child.parentData;
          t2.toString;
          child = t6._as(t2).ContainerParentDataMixin_nextSibling;
          ++placeholderIndex;
        } else {
          rects = t1._paragraph.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(t9, t8, B.BoxHeightStyle_0, B.BoxWidthStyle_0);
          if (rects.length === 0)
            continue;
          t8 = B.JSArray_methods.get$first(rects);
          rect = new A.Rect(t8.left, t8.top, t8.right, t8.bottom);
          currentDirection0 = B.JSArray_methods.get$first(rects).direction;
          for (t8 = A._arrayInstanceType(rects), t9 = t8._eval$1("SubListIterable<1>"), t10 = new A.SubListIterable(rects, 1, _null, t9), t10.SubListIterable$3(rects, 1, _null, t8._precomputed1), t10 = new A.ListIterator(t10, t10.get$length(t10), t9._eval$1("ListIterator<ListIterable.E>")), t9 = t9._eval$1("ListIterable.E"); t10.moveNext$0();) {
            t8 = t10.__internal$_current;
            if (t8 == null)
              t8 = t9._as(t8);
            rect = rect.expandToInclude$1(new A.Rect(t8.left, t8.top, t8.right, t8.bottom));
            currentDirection0 = t8.direction;
          }
          t8 = rect.left;
          t9 = Math.max(0, t8);
          t10 = rect.top;
          t11 = Math.max(0, t10);
          t8 = Math.min(rect.right - t8, t5._as(A.RenderObject.prototype.get$constraints.call(_this)).maxWidth);
          t10 = Math.min(rect.bottom - t10, t5._as(A.RenderObject.prototype.get$constraints.call(_this)).maxHeight);
          t12 = Math.floor(t9) - 4;
          t13 = Math.floor(t11) - 4;
          t8 = Math.ceil(t9 + t8) + 4;
          t10 = Math.ceil(t11 + t10) + 4;
          currentRect = new A.Rect(t12, t13, t8, t10);
          configuration = A.SemanticsConfiguration$();
          ordinal0 = ordinal + 1;
          configuration._sortKey = new A.OrdinalSortKey(ordinal, _null);
          configuration._hasBeenAnnotated = true;
          configuration._textDirection = currentDirection;
          t11 = info.semanticsLabel;
          t2 = t11 == null ? t2 : t11;
          configuration._attributedLabel = new A.AttributedString(t2, info.stringAttributes);
          recognizer = info.recognizer;
          if (recognizer != null) {
            t2 = recognizer.onTap;
            if (t2 != null) {
              configuration._addArgumentlessAction$2(B.SemanticsAction_1, t2);
              configuration._onTap = t2;
              configuration._setFlag$2(B.SemanticsFlag_4194304, true);
            }
          }
          t2 = node.parentPaintClipRect;
          if (t2 != null) {
            paintRect = t2.intersect$1(currentRect);
            if (paintRect.left >= paintRect.right || paintRect.top >= paintRect.bottom)
              t2 = !(t12 >= t8 || t13 >= t10);
            else
              t2 = false;
            configuration._setFlag$2(B.SemanticsFlag_8192, t2);
          }
          newChild = A._Cell$named("newChild");
          t2 = _this._editable$_cachedChildNodes;
          t8 = t2 == null ? _null : t2._length !== 0;
          if (t8 === true) {
            t2.toString;
            t8 = new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"));
            it = t8.get$iterator(t8);
            if (!it.moveNext$0())
              A.throwExpression(A.IterableElementError_noElement());
            t2 = t2.remove$1(0, it.get$current(it));
            t2.toString;
            if (newChild.__late_helper$_value !== newChild)
              A.throwExpression(A.LateError$localAI(newChild.__late_helper$_name));
            newChild.__late_helper$_value = t2;
          } else {
            key = new A.UniqueKey();
            t2 = A.SemanticsNode$(key, _this._editable$_createShowOnScreenFor$1(key));
            if (newChild.__late_helper$_value !== newChild)
              A.throwExpression(A.LateError$localAI(newChild.__late_helper$_name));
            newChild.__late_helper$_value = t2;
          }
          if (t2 === newChild)
            A.throwExpression(A.LateError$localNI(newChild.__late_helper$_name));
          J.updateWith$1$config$z(t2, configuration);
          if (!t2._rect.$eq(0, currentRect)) {
            t2._rect = currentRect;
            t2._markDirty$0();
          }
          t2 = newChild.__late_helper$_value;
          if (t2 === newChild)
            A.throwExpression(A.LateError$localNI(newChild.__late_helper$_name));
          t8 = t2.key;
          t8.toString;
          newChildCache.$indexSet(0, t8, t2);
          t2 = newChild.__late_helper$_value;
          if (t2 === newChild)
            A.throwExpression(A.LateError$localNI(newChild.__late_helper$_name));
          newChildren.push(t2);
          ordinal = ordinal0;
          currentDirection = currentDirection0;
        }
      }
      _this._editable$_cachedChildNodes = newChildCache;
      node.updateWith$2$childrenInInversePaintOrder$config(0, newChildren, config);
    },
    _editable$_createShowOnScreenFor$1(key) {
      return new A.RenderEditable__createShowOnScreenFor_closure(this, key);
    },
    _handleSetSelection$1(selection) {
      this._setSelection$2(selection, B.SelectionChangedCause_4);
    },
    _handleMoveCursorForwardByCharacter$1(extentSelection) {
      var _this = this,
        extentOffset = _this._textPainter.getOffsetAfter$1(_this._selection.extentOffset);
      if (extentOffset == null)
        return;
      _this._setSelection$2(A.TextSelection$(B.TextAffinity_1, !extentSelection ? extentOffset : _this._selection.baseOffset, extentOffset, false), B.SelectionChangedCause_4);
    },
    _handleMoveCursorBackwardByCharacter$1(extentSelection) {
      var _this = this,
        extentOffset = _this._textPainter.getOffsetBefore$1(_this._selection.extentOffset);
      if (extentOffset == null)
        return;
      _this._setSelection$2(A.TextSelection$(B.TextAffinity_1, !extentSelection ? extentOffset : _this._selection.baseOffset, extentOffset, false), B.SelectionChangedCause_4);
    },
    _handleMoveCursorForwardByWord$1(extentSelection) {
      var baseOffset, _this = this,
        t1 = _this._selection.get$extent(),
        nextWord = _this._getNextWord$1(_this._textPainter._paragraph.getWordBoundary$1(t1).end);
      if (nextWord == null)
        return;
      baseOffset = extentSelection ? _this._selection.baseOffset : nextWord.start;
      _this._setSelection$2(A.TextSelection$(B.TextAffinity_1, baseOffset, nextWord.start, false), B.SelectionChangedCause_4);
    },
    _handleMoveCursorBackwardByWord$1(extentSelection) {
      var baseOffset, _this = this,
        t1 = _this._selection.get$extent(),
        previousWord = _this._getPreviousWord$1(_this._textPainter._paragraph.getWordBoundary$1(t1).start - 1);
      if (previousWord == null)
        return;
      baseOffset = extentSelection ? _this._selection.baseOffset : previousWord.start;
      _this._setSelection$2(A.TextSelection$(B.TextAffinity_1, baseOffset, previousWord.start, false), B.SelectionChangedCause_4);
    },
    _getNextWord$1(offset) {
      var t1, range, t2;
      for (t1 = this._textPainter; true;) {
        range = t1._paragraph.getWordBoundary$1(new A.TextPosition(offset, B.TextAffinity_1));
        t2 = range.start;
        t2 = !(t2 >= 0 && range.end >= 0) || t2 === range.end;
        if (t2)
          return null;
        if (!this._onlyWhitespace$1(range))
          return range;
        offset = range.end;
      }
    },
    _getPreviousWord$1(offset) {
      var t1, range, t2;
      for (t1 = this._textPainter; offset >= 0;) {
        range = t1._paragraph.getWordBoundary$1(new A.TextPosition(offset, B.TextAffinity_1));
        t2 = range.start;
        t2 = !(t2 >= 0 && range.end >= 0) || t2 === range.end;
        if (t2)
          return null;
        if (!this._onlyWhitespace$1(range))
          return range;
        offset = range.start - 1;
      }
      return null;
    },
    _onlyWhitespace$1(range) {
      var i, t1, t2, t3;
      for (i = range.start, t1 = range.end, t2 = this._textPainter; i < t1; ++i) {
        t3 = t2._text_painter$_text.codeUnitAt$1(0, i);
        t3.toString;
        if (!A.TextLayoutMetrics_isWhitespace(t3))
          return false;
      }
      return true;
    },
    attach$1(owner) {
      var t1, _this = this;
      _this.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin$attach(owner);
      t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1.attach$1(owner);
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1.attach$1(owner);
      t1 = A.TapGestureRecognizer$(_this);
      t1.onTapDown = _this.get$_editable$_handleTapDown();
      t1.onTap = _this.get$_editable$_handleTap();
      _this.__RenderEditable__tap = t1;
      t1 = A.LongPressGestureRecognizer$(_this, null, null);
      t1.onLongPress = _this.get$_editable$_handleLongPress();
      _this.__RenderEditable__longPress = t1;
      _this._editable$_offset.addListener$1(0, _this.get$markNeedsPaint());
      _this.get$_caretPainter().set$shouldPaint(_this._showCursor._change_notifier$_value);
      _this._showCursor.addListener$1(0, _this.get$_showHideCursor());
    },
    detach$0(_) {
      var _this = this,
        t1 = _this.__RenderEditable__tap;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._stopTimer$0();
      t1.super$OneSequenceGestureRecognizer$dispose();
      t1 = _this.__RenderEditable__longPress;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._stopTimer$0();
      t1.super$OneSequenceGestureRecognizer$dispose();
      _this._editable$_offset.removeListener$1(0, _this.get$markNeedsPaint());
      _this._showCursor.removeListener$1(0, _this.get$_showHideCursor());
      _this.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin$detach(0);
      t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1.detach$0(0);
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1.detach$0(0);
    },
    redepthChildren$0() {
      var _this = this,
        foregroundChild = _this._foregroundRenderObject,
        backgroundChild = _this._backgroundRenderObject;
      if (foregroundChild != null)
        _this.redepthChild$1(foregroundChild);
      if (backgroundChild != null)
        _this.redepthChild$1(backgroundChild);
      _this.super$ContainerRenderObjectMixin$redepthChildren();
    },
    visitChildren$1(visitor) {
      var foregroundChild = this._foregroundRenderObject,
        backgroundChild = this._backgroundRenderObject;
      if (foregroundChild != null)
        visitor.call$1(foregroundChild);
      if (backgroundChild != null)
        visitor.call$1(backgroundChild);
      this.super$ContainerRenderObjectMixin$visitChildren(visitor);
    },
    get$_paintOffset() {
      switch ((this._maxLines !== 1 ? B.Axis_1 : B.Axis_0).index) {
        case 0:
          var t1 = this._editable$_offset._pixels;
          t1.toString;
          return new A.Offset(-t1, 0);
        case 1:
          t1 = this._editable$_offset._pixels;
          t1.toString;
          return new A.Offset(0, -t1);
      }
    },
    get$_editable$_viewportExtent() {
      switch ((this._maxLines !== 1 ? B.Axis_1 : B.Axis_0).index) {
        case 0:
          return this._box$_size._dx;
        case 1:
          return this._box$_size._dy;
      }
    },
    _getMaxScrollExtent$1(contentSize) {
      switch ((this._maxLines !== 1 ? B.Axis_1 : B.Axis_0).index) {
        case 0:
          return Math.max(0, contentSize._dx - this._box$_size._dx);
        case 1:
          return Math.max(0, contentSize._dy - this._box$_size._dy);
      }
    },
    getEndpointsForSelection$1(selection) {
      var paintOffset, boxes, t1, t2, t3, t4, start, end, _this = this;
      _this._computeTextMetricsIfNeeded$0();
      paintOffset = _this.get$_paintOffset();
      if (selection.start === selection.end)
        boxes = A._setArrayType([], type$.JSArray_TextBox);
      else {
        t1 = _this._selectionPainter;
        boxes = _this._textPainter.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(selection, t1._selectionHeightStyle, t1._selectionWidthStyle);
      }
      if (boxes.length === 0) {
        t1 = _this._textPainter;
        t2 = selection.get$extent();
        t3 = _this.__RenderEditable__caretPrototype;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t1._computeCaretMetrics$2(t2, t3);
        t3 = t1.__TextPainter__caretMetrics;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        return A._setArrayType([new A.TextSelectionPoint(new A.Offset(0, t1.get$preferredLineHeight()).$add(0, t3.offset).$add(0, paintOffset), null)], type$.JSArray_TextSelectionPoint);
      } else {
        t1 = B.JSArray_methods.get$first(boxes);
        t1 = t1.direction === B.TextDirection_1 ? t1.left : t1.right;
        t2 = _this._textPainter;
        t3 = t2.get$width(t2);
        t4 = t2._paragraph;
        Math.ceil(t4.get$height(t4));
        start = new A.Offset(A.clampDouble(t1, 0, t3), B.JSArray_methods.get$first(boxes).bottom).$add(0, paintOffset);
        t3 = B.JSArray_methods.get$last(boxes);
        t1 = t3.direction === B.TextDirection_1 ? t3.right : t3.left;
        t3 = t2.get$width(t2);
        t2 = t2._paragraph;
        Math.ceil(t2.get$height(t2));
        end = new A.Offset(A.clampDouble(t1, 0, t3), B.JSArray_methods.get$last(boxes).bottom).$add(0, paintOffset);
        return A._setArrayType([new A.TextSelectionPoint(start, B.JSArray_methods.get$first(boxes).direction), new A.TextSelectionPoint(end, B.JSArray_methods.get$last(boxes).direction)], type$.JSArray_TextSelectionPoint);
      }
    },
    getRectForComposingRange$1(range) {
      var t1, _this = this;
      if (!range.get$isValid() || range.start === range.end)
        return null;
      _this._computeTextMetricsIfNeeded$0();
      t1 = _this._selectionPainter;
      t1 = B.JSArray_methods.fold$2(_this._textPainter.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(A.TextSelection$(B.TextAffinity_1, range.start, range.end, false), t1._selectionHeightStyle, t1._selectionWidthStyle), null, new A.RenderEditable_getRectForComposingRange_closure());
      return t1 == null ? null : t1.shift$1(_this.get$_paintOffset());
    },
    getPositionForPoint$1(globalPosition) {
      var t1, _this = this;
      _this._computeTextMetricsIfNeeded$0();
      t1 = _this.get$_paintOffset();
      t1 = _this.globalToLocal$1(globalPosition.$add(0, new A.Offset(-t1._dx, -t1._dy)));
      return _this._textPainter._paragraph.getPositionForOffset$1(t1);
    },
    getLocalRectForCaret$1(caretPosition) {
      var t1, t2, t3, rect, _this = this;
      _this._computeTextMetricsIfNeeded$0();
      t1 = _this._textPainter;
      t2 = _this.__RenderEditable__caretPrototype;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1._computeCaretMetrics$2(caretPosition, t2);
      t2 = t1.__TextPainter__caretMetrics;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this._cursorWidth;
      t1 = t1.get$preferredLineHeight();
      rect = new A.Rect(0, 0, t3, 0 + t1).shift$1(t2.offset.$add(0, _this.get$_paintOffset()).$add(0, _this.get$_caretPainter()._cursorOffset));
      return rect.shift$1(_this._snapToPhysicalPixel$1(new A.Offset(rect.left, rect.top)));
    },
    computeMinIntrinsicWidth$1(height) {
      this._layoutText$0();
      return Math.ceil(this._textPainter._paragraph.get$minIntrinsicWidth());
    },
    computeMaxIntrinsicWidth$1(height) {
      this._layoutText$0();
      return Math.ceil(this._textPainter._paragraph.get$maxIntrinsicWidth()) + (1 + this._cursorWidth);
    },
    _preferredHeight$1(width) {
      var minLimited, text, lines, index, _this = this,
        t1 = _this._maxLines,
        t2 = t1 != null,
        lockedMax = t2 && _this._minLines == null,
        t3 = _this._minLines,
        t4 = t3 != null,
        lockedBoth = t4 && t3 === t1;
      if (t1 === 1 || lockedMax || lockedBoth) {
        t1 = _this._textPainter.get$preferredLineHeight();
        t2 = _this._maxLines;
        t2.toString;
        return t1 * t2;
      }
      minLimited = t4 && t3 > 1;
      if (minLimited || t2) {
        _this._layoutText$1$maxWidth(width);
        if (minLimited) {
          t1 = _this._textPainter;
          t3 = t1._paragraph;
          t3 = Math.ceil(t3.get$height(t3));
          t1 = t1.get$preferredLineHeight();
          t4 = _this._minLines;
          t4.toString;
          t4 = t3 < t1 * t4;
          t1 = t4;
        } else
          t1 = false;
        if (t1) {
          t1 = _this._textPainter.get$preferredLineHeight();
          t2 = _this._minLines;
          t2.toString;
          return t1 * t2;
        }
        if (t2) {
          t1 = _this._textPainter;
          t2 = t1._paragraph;
          t2 = Math.ceil(t2.get$height(t2));
          t1 = t1.get$preferredLineHeight();
          t3 = _this._maxLines;
          t3.toString;
          t3 = t2 > t1 * t3;
          t1 = t3;
        } else
          t1 = false;
        if (t1) {
          t1 = _this._textPainter.get$preferredLineHeight();
          t2 = _this._maxLines;
          t2.toString;
          return t1 * t2;
        }
      }
      if (width === 1 / 0) {
        text = _this.get$_plainText();
        for (t1 = text.length, lines = 1, index = 0; index < t1; ++index)
          if (B.JSString_methods._codeUnitAt$1(text, index) === 10)
            ++lines;
        return _this._textPainter.get$preferredLineHeight() * lines;
      }
      _this._layoutText$1$maxWidth(width);
      t1 = _this._textPainter;
      t2 = t1.get$preferredLineHeight();
      t1 = t1._paragraph;
      return Math.max(t2, Math.ceil(t1.get$height(t1)));
    },
    computeMinIntrinsicHeight$1(width) {
      return this._preferredHeight$1(width);
    },
    computeMaxIntrinsicHeight$1(width) {
      return this._preferredHeight$1(width);
    },
    computeDistanceToActualBaseline$1(baseline) {
      this._computeTextMetricsIfNeeded$0();
      return this._textPainter.computeDistanceToActualBaseline$1(baseline);
    },
    hitTestSelf$1(position) {
      return true;
    },
    hitTestChildren$2$position(result, position) {
      var hitText, t2, t3, t4, childIndex, t5, t6, t7, transform, child, _this = this, _box_0 = {},
        effectivePosition = position.$sub(0, _this.get$_paintOffset()),
        t1 = _this._textPainter,
        textPosition = t1._paragraph.getPositionForOffset$1(effectivePosition),
        span = t1._text_painter$_text.getSpanForPosition$1(textPosition);
      if (span != null && type$.HitTestTarget._is(span)) {
        result.add$1(0, new A.HitTestEntry(type$.HitTestTarget._as(span), type$.HitTestEntry_HitTestTarget));
        hitText = true;
      } else
        hitText = false;
      t2 = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
      t3 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      t4 = type$.TextParentData;
      childIndex = 0;
      while (true) {
        if (!(t2 != null && childIndex < t1._inlinePlaceholderBoxes.length))
          break;
        t2 = t2.parentData;
        t2.toString;
        t4._as(t2);
        t5 = t2.offset;
        t6 = t5._dx;
        t5 = t5._dy;
        t7 = new Float64Array(16);
        transform = new A.Matrix4(t7);
        transform.setIdentity$0();
        t7[14] = 0;
        t7[13] = t5;
        t7[12] = t6;
        t6 = t2.scale;
        transform.scale$3(0, t6, t6, t6);
        if (result.addWithPaintTransform$3$hitTest$position$transform(new A.RenderEditable_hitTestChildren_closure(_box_0, position, t2), position, transform))
          return true;
        t2 = _box_0.child.parentData;
        t2.toString;
        child = t3._as(t2).ContainerParentDataMixin_nextSibling;
        _box_0.child = child;
        ++childIndex;
        t2 = child;
      }
      return hitText;
    },
    handleEvent$2($event, entry) {
      type$.PointerDownEvent._is($event);
    },
    _editable$_handleTapDown$1(details) {
      this._lastTapDownPosition = details.globalPosition;
    },
    _editable$_handleTap$0() {
      var t1 = this._lastTapDownPosition;
      t1.toString;
      this.selectPositionAt$2$cause$from(B.SelectionChangedCause_0, t1);
    },
    _editable$_handleLongPress$0() {
      var t1 = this._lastTapDownPosition;
      t1.toString;
      this.selectWordsInRange$2$cause$from(B.SelectionChangedCause_2, t1);
    },
    selectPositionAt$3$cause$from$to(cause, from, to) {
      var fromPosition, toPosition, baseOffset, extentOffset, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._layoutText$2$maxWidth$minWidth(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).maxWidth, t2.minWidth);
      t2 = _this._textPainter;
      t1 = _this.globalToLocal$1(from.$sub(0, _this.get$_paintOffset()));
      fromPosition = t2._paragraph.getPositionForOffset$1(t1);
      if (to == null)
        toPosition = null;
      else {
        t1 = _this.globalToLocal$1(to.$sub(0, _this.get$_paintOffset()));
        toPosition = t2._paragraph.getPositionForOffset$1(t1);
      }
      baseOffset = fromPosition.offset;
      extentOffset = toPosition == null ? null : toPosition.offset;
      if (extentOffset == null)
        extentOffset = baseOffset;
      _this._setSelection$2(A.TextSelection$(fromPosition.affinity, baseOffset, extentOffset, false), cause);
    },
    selectPositionAt$2$cause$from(cause, from) {
      return this.selectPositionAt$3$cause$from$to(cause, from, null);
    },
    selectWordsInRange$3$cause$from$to(cause, from, to) {
      var t1, t2, firstWord, lastWord, _this = this;
      _this._computeTextMetricsIfNeeded$0();
      t1 = _this._textPainter;
      t2 = _this.globalToLocal$1(from.$sub(0, _this.get$_paintOffset()));
      firstWord = _this._getWordAtOffset$1(t1._paragraph.getPositionForOffset$1(t2));
      if (to == null)
        lastWord = firstWord;
      else {
        t2 = _this.globalToLocal$1(to.$sub(0, _this.get$_paintOffset()));
        lastWord = _this._getWordAtOffset$1(t1._paragraph.getPositionForOffset$1(t2));
      }
      _this._setSelection$2(A.TextSelection$(firstWord.affinity, firstWord.get$base().offset, lastWord.get$extent().offset, false), cause);
    },
    selectWordsInRange$2$cause$from(cause, from) {
      return this.selectWordsInRange$3$cause$from$to(cause, from, null);
    },
    selectWordEdge$1$cause(cause) {
      var t1, t2, position, word, newSelection, _this = this;
      _this._computeTextMetricsIfNeeded$0();
      t1 = _this._textPainter;
      t2 = _this._lastTapDownPosition;
      t2.toString;
      t2 = _this.globalToLocal$1(t2.$sub(0, _this.get$_paintOffset()));
      position = t1._paragraph.getPositionForOffset$1(t2);
      word = t1._paragraph.getWordBoundary$1(position);
      newSelection = A._Cell$named("newSelection");
      t1 = word.start;
      if (position.offset - t1 <= 1)
        newSelection.__late_helper$_value = A.TextSelection$collapsed(B.TextAffinity_1, t1);
      else
        newSelection.__late_helper$_value = A.TextSelection$collapsed(B.TextAffinity_0, word.end);
      _this._setSelection$2(newSelection._readLocal$0(), cause);
    },
    _getWordAtOffset$1(position) {
      var t3, previousWord, nextWord, _this = this,
        word = _this._textPainter._paragraph.getWordBoundary$1(position),
        t1 = position.offset,
        t2 = word.end;
      if (t1 >= t2)
        return A.TextSelection$fromPosition(position);
      if (A.TextLayoutMetrics_isWhitespace(B.JSString_methods.codeUnitAt$1(_this.get$_plainText(), t1)) && t1 > 0) {
        t3 = word.start;
        previousWord = _this._getPreviousWord$1(t3);
        switch (A.defaultTargetPlatform().index) {
          case 2:
            if (previousWord == null) {
              nextWord = _this._getNextWord$1(t3);
              if (nextWord == null)
                return A.TextSelection$collapsed(B.TextAffinity_1, t1);
              return A.TextSelection$(B.TextAffinity_1, t1, nextWord.end, false);
            }
            return A.TextSelection$(B.TextAffinity_1, previousWord.start, t1, false);
          case 0:
            if (_this._readOnly) {
              if (previousWord == null)
                return A.TextSelection$(B.TextAffinity_1, t1, t1 + 1, false);
              return A.TextSelection$(B.TextAffinity_1, previousWord.start, t1, false);
            }
            break;
          case 1:
          case 4:
          case 3:
          case 5:
            break;
        }
      }
      return A.TextSelection$(B.TextAffinity_1, word.start, t2, false);
    },
    _editable$_layoutChildren$2$dry(constraints, dry) {
      var child, placeholderDimensions, boxConstraints, t2, childIndex, t3, t4, baselineOffset, childSize, _this = this,
        t1 = _this.ContainerRenderObjectMixin__childCount;
      if (t1 === 0) {
        t1 = type$.JSArray_PlaceholderDimensions;
        _this._textPainter.setPlaceholderDimensions$1(A._setArrayType([], t1));
        return A._setArrayType([], t1);
      }
      child = _this.ContainerRenderObjectMixin__firstChild;
      placeholderDimensions = A.List_List$filled(t1, B.PlaceholderDimensions_8eb, false, type$.PlaceholderDimensions);
      boxConstraints = new A.BoxConstraints(0, constraints.maxWidth, 0, 1 / 0).$div(0, _this._textPainter._textScaleFactor);
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t2 = !dry, childIndex = 0; child != null;) {
        if (t2) {
          child.layout$2$parentUsesSize(boxConstraints, true);
          t3 = child._box$_size;
          t3.toString;
          t4 = _this.__RenderEditable__placeholderSpans;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t4 = t4[childIndex];
          switch (t4.alignment.index) {
            case 0:
              t4 = t4.baseline;
              t4.toString;
              baselineOffset = child.getDistanceToBaseline$1(t4);
              break;
            case 1:
            case 2:
            case 4:
            case 5:
            case 3:
              baselineOffset = null;
              break;
            default:
              baselineOffset = null;
          }
          childSize = t3;
        } else {
          childSize = child.getDryLayout$1(boxConstraints);
          baselineOffset = null;
        }
        t3 = _this.__RenderEditable__placeholderSpans;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        placeholderDimensions[childIndex] = new A.PlaceholderDimensions(childSize, baselineOffset, t3[childIndex].baseline);
        t3 = child.parentData;
        t3.toString;
        child = t1._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      return placeholderDimensions;
    },
    _editable$_layoutChildren$1(constraints) {
      return this._editable$_layoutChildren$2$dry(constraints, false);
    },
    _editable$_setParentData$0() {
      var t4, t5,
        child = this.ContainerRenderObjectMixin__firstChild,
        t1 = type$.TextParentData,
        t2 = this._textPainter,
        t3 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"),
        childIndex = 0;
      while (true) {
        if (!(child != null && childIndex < t2._inlinePlaceholderBoxes.length))
          break;
        t4 = child.parentData;
        t4.toString;
        t1._as(t4);
        t5 = t2._inlinePlaceholderBoxes[childIndex];
        t4.offset = new A.Offset(t5.left, t5.top);
        t4.scale = t2._inlinePlaceholderScales[childIndex];
        child = t3._as(t4).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
    },
    _layoutText$2$maxWidth$minWidth(maxWidth, minWidth) {
      var _this = this,
        availableMaxWidth = Math.max(0, maxWidth - (1 + _this._cursorWidth)),
        availableMinWidth = Math.min(minWidth, availableMaxWidth),
        textMaxWidth = _this._maxLines !== 1 ? availableMaxWidth : 1 / 0,
        textMinWidth = _this._forceLine ? availableMaxWidth : availableMinWidth;
      _this._textPainter.layout$2$maxWidth$minWidth(textMaxWidth, textMinWidth);
      _this._textLayoutLastMinWidth = minWidth;
      _this._textLayoutLastMaxWidth = maxWidth;
    },
    _layoutText$1$maxWidth(maxWidth) {
      return this._layoutText$2$maxWidth$minWidth(maxWidth, 0);
    },
    _layoutText$0() {
      return this._layoutText$2$maxWidth$minWidth(1 / 0, 0);
    },
    _computeTextMetricsIfNeeded$0() {
      var t1 = type$.BoxConstraints,
        t2 = t1._as(A.RenderObject.prototype.get$constraints.call(this));
      this._layoutText$2$maxWidth$minWidth(t1._as(A.RenderObject.prototype.get$constraints.call(this)).maxWidth, t2.minWidth);
    },
    _snapToPhysicalPixel$1(sourceOffset) {
      var t2,
        globalOffset = A.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), sourceOffset),
        pixelMultiple = 1 / this._devicePixelRatio,
        t1 = globalOffset._dx;
      t1 = isFinite(t1) ? B.JSNumber_methods.round$0(t1 / pixelMultiple) * pixelMultiple - t1 : 0;
      t2 = globalOffset._dy;
      return new A.Offset(t1, isFinite(t2) ? B.JSNumber_methods.round$0(t2 / pixelMultiple) * pixelMultiple - t2 : 0);
    },
    _editable$_canComputeDryLayout$0() {
      var t2, _i,
        t1 = this.__RenderEditable__placeholderSpans;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        switch (t1[_i].alignment.index) {
          case 0:
          case 1:
          case 2:
            return false;
          case 3:
          case 5:
          case 4:
            continue;
        }
      return true;
    },
    computeDryLayout$1(constraints) {
      var t1, t2, width, width0, t3, _this = this;
      if (!_this._editable$_canComputeDryLayout$0())
        return B.Size_0_0;
      t1 = _this._textPainter;
      t1.setPlaceholderDimensions$1(_this._editable$_layoutChildren$2$dry(constraints, true));
      t2 = constraints.minWidth;
      width = constraints.maxWidth;
      _this._layoutText$2$maxWidth$minWidth(width, t2);
      if (_this._forceLine)
        width0 = width;
      else {
        t3 = t1.get$width(t1);
        t1 = t1._paragraph;
        Math.ceil(t1.get$height(t1));
        width0 = A.clampDouble(t3 + (1 + _this._cursorWidth), t2, width);
      }
      return new A.Size(width0, A.clampDouble(_this._preferredHeight$1(width), constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0() {
      var t2, t3, width, width0, t4, contentSize, painterConstraints, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this._editable$_layoutChildren$1(constraints);
      _this._editable$_placeholderDimensions = t1;
      t2 = _this._textPainter;
      t2.setPlaceholderDimensions$1(t1);
      _this._computeTextMetricsIfNeeded$0();
      _this._editable$_setParentData$0();
      switch (A.defaultTargetPlatform().index) {
        case 2:
        case 4:
          t1 = _this._cursorWidth;
          t3 = t2.get$preferredLineHeight();
          _this.__RenderEditable__caretPrototype = new A.Rect(0, 0, t1, 0 + (t3 + 2));
          break;
        case 0:
        case 1:
        case 3:
        case 5:
          t1 = _this._cursorWidth;
          t3 = t2.get$preferredLineHeight();
          _this.__RenderEditable__caretPrototype = new A.Rect(0, 2, t1, 2 + (t3 - 4));
          break;
      }
      t1 = t2.get$width(t2);
      t3 = t2._paragraph;
      t3 = Math.ceil(t3.get$height(t3));
      width = constraints.maxWidth;
      if (_this._forceLine)
        width0 = width;
      else {
        t4 = t2.get$width(t2);
        t2 = t2._paragraph;
        Math.ceil(t2.get$height(t2));
        width0 = A.clampDouble(t4 + (1 + _this._cursorWidth), constraints.minWidth, width);
      }
      _this._box$_size = new A.Size(width0, A.clampDouble(_this._preferredHeight$1(width), constraints.minHeight, constraints.maxHeight));
      contentSize = new A.Size(t1 + (1 + _this._cursorWidth), t3);
      painterConstraints = A.BoxConstraints$tight(contentSize);
      t1 = _this._foregroundRenderObject;
      if (t1 != null)
        t1.layout$1(painterConstraints);
      t1 = _this._backgroundRenderObject;
      if (t1 != null)
        t1.layout$1(painterConstraints);
      _this._editable$_maxScrollExtent = _this._getMaxScrollExtent$1(contentSize);
      _this._editable$_offset.applyViewportDimension$1(_this.get$_editable$_viewportExtent());
      _this._editable$_offset.applyContentDimensions$2(0, _this._editable$_maxScrollExtent);
    },
    setFloatingCursor$4$resetLerpValue(state, boundedOffset, lastTextPosition, resetLerpValue) {
      var t1, sizeAdjustment, t2, _this = this;
      if (state === B.FloatingCursorDragState_0) {
        _this._relativeOrigin = B.Offset_0_0;
        _this._previousOffset = null;
        _this._resetOriginOnRight = _this._resetOriginOnTop = _this._resetOriginOnBottom = false;
      }
      t1 = state !== B.FloatingCursorDragState_2;
      _this._floatingCursorOn = t1;
      _this._resetFloatingCursorAnimationValue = resetLerpValue;
      if (t1) {
        _this.__RenderEditable__floatingCursorTextPosition = lastTextPosition;
        if (resetLerpValue != null) {
          t1 = A.EdgeInsets_lerp(B.EdgeInsets_Otk, B.EdgeInsets_0_0_0_0, resetLerpValue);
          t1.toString;
          sizeAdjustment = t1;
        } else
          sizeAdjustment = B.EdgeInsets_Otk;
        t1 = _this.get$_caretPainter();
        t2 = _this.__RenderEditable__caretPrototype;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$floatingCursorRect(sizeAdjustment.inflateRect$1(t2).shift$1(boundedOffset));
      } else
        _this.get$_caretPainter().set$floatingCursorRect(null);
      _this.get$_caretPainter().showRegularCaret = _this._resetFloatingCursorAnimationValue == null;
    },
    setFloatingCursor$3(state, boundedOffset, lastTextPosition) {
      return this.setFloatingCursor$4$resetLerpValue(state, boundedOffset, lastTextPosition, null);
    },
    _lineNumberFor$2(startPosition, metrics) {
      var offset, t2, _i, t3, lineMetrics,
        t1 = this._textPainter;
      t1._computeCaretMetrics$2(startPosition, B.Rect_0_0_0_0);
      t1 = t1.__TextPainter__caretMetrics;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      offset = t1.offset;
      for (t1 = metrics.length, t2 = offset._dy, _i = 0; t3 = metrics.length, _i < t3; metrics.length === t1 || (0, A.throwConcurrentModificationError)(metrics), ++_i) {
        lineMetrics = metrics[_i];
        if (lineMetrics.get$baseline() > t2)
          return new A.MapEntry(lineMetrics.get$lineNumber(lineMetrics), new A.Offset(offset._dx, lineMetrics.get$baseline()), type$.MapEntry_int_Offset);
      }
      t1 = Math.max(0, t3 - 1);
      t2 = t3 !== 0 ? B.JSArray_methods.get$last(metrics).get$baseline() + B.JSArray_methods.get$last(metrics).get$descent() : 0;
      return new A.MapEntry(t1, new A.Offset(offset._dx, t2), type$.MapEntry_int_Offset);
    },
    _editable$_paintContents$2(context, offset) {
      var visibleRegion, t2, t3, foregroundChild, backgroundChild, t4, t5, t6, childIndex, t7, t8, child, _this = this, _box_0 = {},
        effectiveOffset = offset.$add(0, _this.get$_paintOffset()),
        t1 = _this._floatingCursorOn;
      if (!t1) {
        t1 = _this._box$_size;
        visibleRegion = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
        t1 = _this._textPainter;
        t2 = _this._selection;
        t3 = _this.__RenderEditable__caretPrototype;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t1._computeCaretMetrics$2(new A.TextPosition(t2.start, t2.affinity), t3);
        t3 = t1.__TextPainter__caretMetrics;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        _this._selectionStartInViewport.set$value(0, visibleRegion.inflate$1(0.5).contains$1(0, t3.offset.$add(0, effectiveOffset)));
        t3 = _this._selection;
        t2 = _this.__RenderEditable__caretPrototype;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1._computeCaretMetrics$2(new A.TextPosition(t3.end, t3.affinity), t2);
        t1 = t1.__TextPainter__caretMetrics;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._selectionEndInViewport.set$value(0, visibleRegion.inflate$1(0.5).contains$1(0, t1.offset.$add(0, effectiveOffset)));
      }
      foregroundChild = _this._foregroundRenderObject;
      backgroundChild = _this._backgroundRenderObject;
      if (backgroundChild != null)
        context.paintChild$2(backgroundChild, offset);
      t1 = _this._textPainter;
      t1.paint$2(context.get$canvas(context), effectiveOffset);
      t2 = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
      t3 = type$.TextParentData;
      t4 = effectiveOffset._dx;
      t5 = effectiveOffset._dy;
      t6 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      childIndex = 0;
      while (true) {
        if (!(t2 != null && childIndex < t1._inlinePlaceholderBoxes.length))
          break;
        t2 = t2.parentData;
        t2.toString;
        t3._as(t2);
        t7 = t2.scale;
        t7.toString;
        t8 = _this.__RenderObject__needsCompositing;
        if (t8 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.offset;
        context.pushTransform$4(t8, new A.Offset(t4 + t2._dx, t5 + t2._dy), A.Matrix4_Matrix4$diagonal3Values(t7, t7, t7), new A.RenderEditable__paintContents_closure(_box_0));
        t7 = _box_0.child.parentData;
        t7.toString;
        child = t6._as(t7).ContainerParentDataMixin_nextSibling;
        _box_0.child = child;
        ++childIndex;
        t2 = child;
      }
      if (foregroundChild != null)
        context.paintChild$2(foregroundChild, offset);
    },
    paint$2(context, offset) {
      var t1, t2, t3, startPoint, endPoint, _this = this;
      _this._computeTextMetricsIfNeeded$0();
      t1 = (_this._editable$_maxScrollExtent > 0 || !J.$eq$(_this.get$_paintOffset(), B.Offset_0_0)) && _this._editable$_clipBehavior !== B.Clip_0;
      t2 = _this._editable$_clipRectLayer;
      if (t1) {
        t1 = _this.__RenderObject__needsCompositing;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this._box$_size;
        t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), _this.get$_editable$_paintContents(), _this._editable$_clipBehavior, t2._layer));
      } else {
        t2.set$layer(0, null);
        _this._editable$_paintContents$2(context, offset);
      }
      if (_this._selection.get$isValid()) {
        t1 = _this.getEndpointsForSelection$1(_this._selection);
        startPoint = t1[0].point;
        t2 = _this._box$_size;
        t3 = A.clampDouble(startPoint._dx, 0, t2._dx);
        t2 = A.clampDouble(startPoint._dy, 0, t2._dy);
        context.pushLayer$3(A.LeaderLayer$(_this._editable$_startHandleLayerLink, new A.Offset(t3, t2)), A.RenderObject.prototype.get$paint.call(_this), B.Offset_0_0);
        if (t1.length === 2) {
          endPoint = t1[1].point;
          t1 = _this._box$_size;
          t2 = A.clampDouble(endPoint._dx, 0, t1._dx);
          t1 = A.clampDouble(endPoint._dy, 0, t1._dy);
          context.pushLayer$3(A.LeaderLayer$(_this._editable$_endHandleLayerLink, new A.Offset(t2, t1)), A.RenderObject.prototype.get$paint.call(_this), B.Offset_0_0);
        }
      }
    },
    describeApproximatePaintClip$1(child) {
      var t1, _this = this;
      switch (_this._editable$_clipBehavior.index) {
        case 0:
          return null;
        case 1:
        case 2:
        case 3:
          if (_this._editable$_maxScrollExtent > 0 || !J.$eq$(_this.get$_paintOffset(), B.Offset_0_0)) {
            t1 = _this._box$_size;
            t1 = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
          } else
            t1 = null;
          return t1;
      }
    },
    debugDescribeChildren$0() {
      var t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        t2 = this._textPainter._text_painter$_text;
      if (t2 != null)
        t1.push(A.DiagnosticableTreeNode$("text", B.DiagnosticsTreeStyle_4, t2));
      return t1;
    }
  };
  A.RenderEditable__extractPlaceholderSpans_closure.prototype = {
    call$1(span) {
      var t1;
      if (span instanceof A.PlaceholderSpan0) {
        t1 = this.$this.__RenderEditable__placeholderSpans;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.push(span);
      }
      return true;
    },
    $signature: 65
  };
  A.RenderEditable_getBoxesForSelection_closure.prototype = {
    call$1(textBox) {
      return new A.Rect(textBox.left, textBox.top, textBox.right, textBox.bottom).shift$1(this.$this.get$_paintOffset());
    },
    $signature: 829
  };
  A.RenderEditable_describeSemanticsConfiguration_closure.prototype = {
    call$1(info) {
      return info.recognizer != null;
    },
    $signature: 272
  };
  A.RenderEditable__createShowOnScreenFor_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._editable$_cachedChildNodes.$index(0, this.key);
      t2.toString;
      t1.showOnScreen$2$descendant$rect(t1, t2._rect);
    },
    $signature: 0
  };
  A.RenderEditable_getRectForComposingRange_closure.prototype = {
    call$2(accum, incoming) {
      var t1 = accum == null ? null : accum.expandToInclude$1(new A.Rect(incoming.left, incoming.top, incoming.right, incoming.bottom));
      return t1 == null ? new A.Rect(incoming.left, incoming.top, incoming.right, incoming.bottom) : t1;
    },
    $signature: 831
  };
  A.RenderEditable_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this._box_0.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A.RenderEditable__paintContents_closure.prototype = {
    call$2(context, offset) {
      var t1 = this._box_0.child;
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    $signature: 19
  };
  A._RenderEditableCustomPaint.prototype = {
    get$parent(_) {
      return type$.nullable_RenderEditable._as(A.AbstractNode.prototype.get$parent.call(this, this));
    },
    get$isRepaintBoundary() {
      return true;
    },
    get$sizedByParent() {
      return true;
    },
    set$painter(newValue) {
      var t2, _this = this,
        t1 = _this._editable$_painter;
      if (newValue === t1)
        return;
      _this._editable$_painter = newValue;
      t2 = newValue.shouldRepaint$1(t1);
      if (t2)
        _this.markNeedsPaint$0();
      if (_this._owner != null) {
        t2 = _this.get$markNeedsPaint();
        t1.removeListener$1(0, t2);
        newValue.addListener$1(0, t2);
      }
    },
    paint$2(context, offset) {
      var t1, t2, _this = this,
        $parent = type$.nullable_RenderEditable._as(A.AbstractNode.prototype.get$parent.call(_this, _this)),
        painter = _this._editable$_painter;
      if ($parent != null) {
        $parent._computeTextMetricsIfNeeded$0();
        t1 = context.get$canvas(context);
        t2 = _this._box$_size;
        t2.toString;
        painter.paint$3(t1, t2, $parent);
      }
    },
    attach$1(owner) {
      this.super$RenderObject$attach(owner);
      this._editable$_painter.addListener$1(0, this.get$markNeedsPaint());
    },
    detach$0(_) {
      this._editable$_painter.removeListener$1(0, this.get$markNeedsPaint());
      this.super$AbstractNode$detach(0);
    },
    computeDryLayout$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    }
  };
  A.RenderEditablePainter.prototype = {};
  A._TextHighlightPainter.prototype = {
    set$highlightColor(newValue) {
      if (J.$eq$(newValue, this._highlightColor))
        return;
      this._highlightColor = newValue;
      this.notifyListeners$0();
    },
    set$highlightedRange(newValue) {
      if (J.$eq$(newValue, this._highlightedRange))
        return;
      this._highlightedRange = newValue;
      this.notifyListeners$0();
    },
    set$selectionHeightStyle(value) {
      if (this._selectionHeightStyle === value)
        return;
      this._selectionHeightStyle = value;
      this.notifyListeners$0();
    },
    set$selectionWidthStyle(value) {
      if (this._selectionWidthStyle === value)
        return;
      this._selectionWidthStyle = value;
      this.notifyListeners$0();
    },
    paint$3(canvas, size, renderEditable) {
      var t1, textPainter, boxes, t2, _i, box, t3, t4, t5, _this = this,
        range = _this._highlightedRange,
        color = _this._highlightColor;
      if (range == null || color == null || range.start === range.end)
        return;
      t1 = _this.highlightPaint;
      t1.set$color(0, color);
      textPainter = renderEditable._textPainter;
      boxes = textPainter.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(A.TextSelection$(B.TextAffinity_1, range.start, range.end, false), _this._selectionHeightStyle, _this._selectionWidthStyle);
      for (t2 = boxes.length, _i = 0; _i < boxes.length; boxes.length === t2 || (0, A.throwConcurrentModificationError)(boxes), ++_i) {
        box = boxes[_i];
        t3 = new A.Rect(box.left, box.top, box.right, box.bottom).shift$1(renderEditable.get$_paintOffset());
        t4 = textPainter._textWidthBasis;
        t5 = textPainter._paragraph;
        t4 = t4 === B.TextWidthBasis_1 ? t5.get$longestLine() : t5.get$width(t5);
        t4 = Math.ceil(t4);
        t5 = textPainter._paragraph;
        canvas.drawRect$2(t3.intersect$1(new A.Rect(0, 0, 0 + t4, 0 + Math.ceil(t5.get$height(t5)))), t1);
      }
    },
    shouldRepaint$1(oldDelegate) {
      var _this = this;
      if (oldDelegate === _this)
        return false;
      return !(oldDelegate instanceof A._TextHighlightPainter) || !J.$eq$(oldDelegate._highlightColor, _this._highlightColor) || !J.$eq$(oldDelegate._highlightedRange, _this._highlightedRange) || oldDelegate._selectionHeightStyle !== _this._selectionHeightStyle || oldDelegate._selectionWidthStyle !== _this._selectionWidthStyle;
    }
  };
  A._FloatingCursorPainter.prototype = {
    set$shouldPaint(value) {
      if (this._shouldPaint === value)
        return;
      this._shouldPaint = value;
      this.notifyListeners$0();
    },
    set$caretColor(value) {
      var t1 = this._caretColor;
      t1 = t1 == null ? null : t1.value;
      if (t1 === value.value)
        return;
      this._caretColor = value;
      this.notifyListeners$0();
    },
    set$cursorRadius(value) {
      if (J.$eq$(this._cursorRadius, value))
        return;
      this._cursorRadius = value;
      this.notifyListeners$0();
    },
    set$cursorOffset(value) {
      if (this._cursorOffset.$eq(0, value))
        return;
      this._cursorOffset = value;
      this.notifyListeners$0();
    },
    set$backgroundCursorColor(value) {
      var _this = this,
        t1 = _this._backgroundCursorColor;
      t1 = t1 == null ? null : t1._effectiveColor.value;
      if (t1 === value._effectiveColor.value)
        return;
      _this._backgroundCursorColor = value;
      if (_this.showRegularCaret)
        _this.notifyListeners$0();
    },
    set$floatingCursorRect(value) {
      if (J.$eq$(this._floatingCursorRect, value))
        return;
      this._floatingCursorRect = value;
      this.notifyListeners$0();
    },
    paint$3(canvas, size, renderEditable) {
      var floatingCursorRect, t1, caretColor, caretTextPosition, t2, t3, t4, caretRect, caretHeight, integralRect, radius, floatingCursorColor, value, result, _this = this,
        selection = renderEditable._selection;
      if (selection.start !== selection.end)
        return;
      floatingCursorRect = _this._floatingCursorRect;
      t1 = floatingCursorRect == null;
      if (t1)
        caretColor = _this._caretColor;
      else
        caretColor = _this.showRegularCaret ? _this._backgroundCursorColor : null;
      if (t1)
        caretTextPosition = selection.get$extent();
      else {
        t2 = renderEditable.__RenderEditable__floatingCursorTextPosition;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        caretTextPosition = t2;
      }
      if (caretColor != null) {
        t2 = renderEditable.__RenderEditable__caretPrototype;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = renderEditable._textPainter;
        t3._computeCaretMetrics$2(caretTextPosition, t2);
        t4 = t3.__TextPainter__caretMetrics;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        caretRect = t2.shift$1(t4.offset.$add(0, _this._cursorOffset));
        t3._computeCaretMetrics$2(caretTextPosition, t2);
        t3 = t3.__TextPainter__caretMetrics;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        caretHeight = t3.fullHeight;
        if (caretHeight != null)
          switch (A.defaultTargetPlatform().index) {
            case 2:
            case 4:
              t2 = caretRect.top;
              t3 = caretRect.bottom - t2;
              t4 = caretRect.left;
              t2 += (caretHeight - t3) / 2;
              caretRect = new A.Rect(t4, t2, t4 + (caretRect.right - t4), t2 + t3);
              break;
            case 0:
            case 1:
            case 3:
            case 5:
              t2 = caretRect.left;
              t3 = caretRect.top - 2;
              caretRect = new A.Rect(t2, t3, t2 + (caretRect.right - t2), t3 + caretHeight);
              break;
          }
        caretRect = caretRect.shift$1(renderEditable.get$_paintOffset());
        integralRect = caretRect.shift$1(renderEditable._snapToPhysicalPixel$1(new A.Offset(caretRect.left, caretRect.top)));
        if (_this._shouldPaint) {
          radius = _this._cursorRadius;
          t2 = _this.caretPaint;
          t2.set$color(0, caretColor);
          if (radius == null)
            canvas.drawRect$2(integralRect, t2);
          else
            canvas.drawRRect$2(A.RRect$fromRectAndRadius(integralRect, radius), t2);
        }
        _this.caretPaintCallback.call$1(integralRect);
      }
      t2 = _this._caretColor;
      if (t2 == null)
        floatingCursorColor = null;
      else {
        t2 = t2.value;
        floatingCursorColor = A.Color$fromARGB(191, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
      }
      if (t1 || floatingCursorColor == null || !_this._shouldPaint)
        return;
      t1 = A.RRect$fromRectAndRadius(floatingCursorRect.shift$1(renderEditable.get$_paintOffset()), B.Radius_1_1);
      value = _this.___FloatingCursorPainter_floatingCursorPaint;
      if (value === $) {
        result = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        if (_this.___FloatingCursorPainter_floatingCursorPaint !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.___FloatingCursorPainter_floatingCursorPaint = result;
      }
      value.set$color(0, floatingCursorColor);
      canvas.drawRRect$2(t1, value);
    },
    shouldRepaint$1(oldDelegate) {
      var _this = this;
      if (_this === oldDelegate)
        return false;
      return !(oldDelegate instanceof A._FloatingCursorPainter) || oldDelegate._shouldPaint !== _this._shouldPaint || oldDelegate.showRegularCaret !== _this.showRegularCaret || !J.$eq$(oldDelegate._caretColor, _this._caretColor) || !J.$eq$(oldDelegate._cursorRadius, _this._cursorRadius) || !oldDelegate._cursorOffset.$eq(0, _this._cursorOffset) || !J.$eq$(oldDelegate._backgroundCursorColor, _this._backgroundCursorColor) || !J.$eq$(oldDelegate._floatingCursorRect, _this._floatingCursorRect);
    }
  };
  A._CompositeRenderEditablePainter.prototype = {
    addListener$1(_, listener) {
      var t1, t2, _i;
      for (t1 = this.painters, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      var t1, t2, _i;
      for (t1 = this.painters, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].removeListener$1(0, listener);
    },
    paint$3(canvas, size, renderEditable) {
      var t1, t2, _i;
      for (t1 = this.painters, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].paint$3(canvas, size, renderEditable);
    },
    shouldRepaint$1(oldDelegate) {
      var t1, t2, oldPainters, t3, newPainters, t4;
      if (oldDelegate === this)
        return false;
      if (!(oldDelegate instanceof A._CompositeRenderEditablePainter) || oldDelegate.painters.length !== this.painters.length)
        return true;
      t1 = oldDelegate.painters;
      t2 = A._arrayInstanceType(t1);
      oldPainters = new J.ArrayIterator(t1, t1.length, t2._eval$1("ArrayIterator<1>"));
      t1 = this.painters;
      t3 = A._arrayInstanceType(t1);
      newPainters = new J.ArrayIterator(t1, t1.length, t3._eval$1("ArrayIterator<1>"));
      t1 = t3._precomputed1;
      t2 = t2._precomputed1;
      while (true) {
        if (!(oldPainters.moveNext$0() && newPainters.moveNext$0()))
          break;
        t3 = newPainters.__interceptors$_current;
        if (t3 == null)
          t3 = t1._as(t3);
        t4 = oldPainters.__interceptors$_current;
        if (t3.shouldRepaint$1(t4 == null ? t2._as(t4) : t4))
          return true;
      }
      return false;
    }
  };
  A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin.prototype = {
    attach$1(owner) {
      this.super$RenderObject$attach(owner);
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.add$1(0, this.get$systemFontsDidChange());
    },
    detach$0(_) {
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.remove$1(0, this.get$systemFontsDidChange());
      this.super$AbstractNode$detach(0);
    }
  };
  A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.TextParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.TextParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A.RenderErrorBox.prototype = {
    RenderErrorBox$1(message) {
      var builder, t1, exception, _this = this;
      try {
        t1 = _this.message;
        if (t1 !== "") {
          builder = A.ParagraphBuilder_ParagraphBuilder($.$get$RenderErrorBox_paragraphStyle());
          builder.pushStyle$1($.$get$RenderErrorBox_textStyle());
          builder.addText$1(t1);
          t1 = builder.build$0();
          if (_this.__RenderErrorBox__paragraph !== $)
            A.throwUnnamedLateFieldAI();
          _this.__RenderErrorBox__paragraph = t1;
        } else {
          if (_this.__RenderErrorBox__paragraph !== $)
            A.throwUnnamedLateFieldAI();
          _this.__RenderErrorBox__paragraph = null;
        }
      } catch (exception) {
      }
    },
    computeMaxIntrinsicWidth$1(height) {
      return 100000;
    },
    computeMaxIntrinsicHeight$1(width) {
      return 100000;
    },
    get$sizedByParent() {
      return true;
    },
    hitTestSelf$1(position) {
      return true;
    },
    computeDryLayout$1(constraints) {
      return constraints.constrain$1(B.Size_100000_100000);
    },
    paint$2(context, offset) {
      var width, left, $top, t1, t2, t3, t4, t5, t6, exception, _this = this;
      try {
        t1 = context.get$canvas(context);
        t2 = _this._box$_size;
        t3 = offset._dx;
        t4 = offset._dy;
        t5 = t2._dx;
        t2 = t2._dy;
        t6 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t6.set$color(0, $.$get$RenderErrorBox_backgroundColor());
        t1.drawRect$2(new A.Rect(t3, t4, t3 + t5, t4 + t2), t6);
        t1 = _this.__RenderErrorBox__paragraph;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 != null) {
          width = _this._box$_size._dx;
          left = 0;
          $top = 0;
          if (width > 328) {
            width -= 128;
            left += 64;
          }
          t1.layout$1(new A.ParagraphConstraints(width));
          t1 = _this._box$_size._dy;
          t2 = _this.__RenderErrorBox__paragraph;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          if (t1 > 96 + t2.get$height(t2) + 12)
            $top += 96;
          t1 = context.get$canvas(context);
          t2 = _this.__RenderErrorBox__paragraph;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.toString;
          t1.drawParagraph$2(t2, offset.$add(0, new A.Offset(left, $top)));
        }
      } catch (exception) {
      }
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.FlexFit.prototype = {
    toString$0(_) {
      return "FlexFit." + this._core$_name;
    }
  };
  A.FlexParentData.prototype = {
    toString$0(_) {
      return this.super$BoxParentData$toString(0) + "; flex=" + A.S(this.flex) + "; fit=" + A.S(this.fit);
    }
  };
  A.MainAxisSize.prototype = {
    toString$0(_) {
      return "MainAxisSize." + this._core$_name;
    }
  };
  A.MainAxisAlignment.prototype = {
    toString$0(_) {
      return "MainAxisAlignment." + this._core$_name;
    }
  };
  A.CrossAxisAlignment.prototype = {
    toString$0(_) {
      return "CrossAxisAlignment." + this._core$_name;
    }
  };
  A.RenderFlex.prototype = {
    set$direction(_, value) {
      if (this._flex$_direction !== value) {
        this._flex$_direction = value;
        this.markNeedsLayout$0();
      }
    },
    set$mainAxisAlignment(value) {
      if (this._mainAxisAlignment !== value) {
        this._mainAxisAlignment = value;
        this.markNeedsLayout$0();
      }
    },
    set$mainAxisSize(value) {
      if (this._mainAxisSize !== value) {
        this._mainAxisSize = value;
        this.markNeedsLayout$0();
      }
    },
    set$crossAxisAlignment(value) {
      if (this._crossAxisAlignment !== value) {
        this._crossAxisAlignment = value;
        this.markNeedsLayout$0();
      }
    },
    set$textDirection(value) {
      if (this._flex$_textDirection != value) {
        this._flex$_textDirection = value;
        this.markNeedsLayout$0();
      }
    },
    set$verticalDirection(value) {
      if (this._verticalDirection !== value) {
        this._verticalDirection = value;
        this.markNeedsLayout$0();
      }
    },
    set$textBaseline(_, value) {
      if (this._flex$_textBaseline != value) {
        this._flex$_textBaseline = value;
        this.markNeedsLayout$0();
      }
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.FlexParentData))
        child.parentData = new A.FlexParentData(null, null, B.Offset_0_0);
    },
    _getIntrinsicSize$3$childSize$extent$sizingDirection(childSize, extent, sizingDirection) {
      var t1, child, totalFlex, inflexibleSpace, maxFlexFractionSoFar, t2, flex, t3, maxCrossSize, mainSize, crossSize, spacePerFlex, _this = this;
      if (_this._crossAxisAlignment === B.CrossAxisAlignment_4)
        return 0;
      t1 = _this._flex$_direction;
      child = _this.ContainerRenderObjectMixin__firstChild;
      if (t1 === sizingDirection) {
        for (t1 = type$.FlexParentData, totalFlex = 0, inflexibleSpace = 0, maxFlexFractionSoFar = 0; child != null;) {
          t2 = child.parentData;
          t2.toString;
          flex = t1._as(t2).flex;
          if (flex == null)
            flex = 0;
          totalFlex += flex;
          if (flex > 0) {
            t2 = childSize.call$2(child, extent);
            t3 = child.parentData;
            t3.toString;
            t3 = t1._as(t3).flex;
            maxFlexFractionSoFar = Math.max(maxFlexFractionSoFar, t2 / (t3 == null ? 0 : t3));
          } else
            inflexibleSpace += childSize.call$2(child, extent);
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return maxFlexFractionSoFar * totalFlex + inflexibleSpace;
      } else {
        for (t1 = type$.FlexParentData, totalFlex = 0, inflexibleSpace = 0, maxCrossSize = 0; child != null;) {
          t2 = child.parentData;
          t2.toString;
          flex = t1._as(t2).flex;
          if (flex == null)
            flex = 0;
          totalFlex += flex;
          mainSize = A._Cell$named("mainSize");
          crossSize = A._Cell$named("crossSize");
          if (flex === 0) {
            switch (_this._flex$_direction.index) {
              case 0:
                t2 = child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
                if (mainSize.__late_helper$_value !== mainSize)
                  A.throwExpression(A.LateError$localAI(mainSize.__late_helper$_name));
                mainSize.__late_helper$_value = t2;
                t2 = childSize.call$2(child, t2);
                if (crossSize.__late_helper$_value !== crossSize)
                  A.throwExpression(A.LateError$localAI(crossSize.__late_helper$_name));
                crossSize.__late_helper$_value = t2;
                break;
              case 1:
                t2 = child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, 1 / 0, child.get$computeMaxIntrinsicHeight());
                if (mainSize.__late_helper$_value !== mainSize)
                  A.throwExpression(A.LateError$localAI(mainSize.__late_helper$_name));
                mainSize.__late_helper$_value = t2;
                t2 = childSize.call$2(child, t2);
                if (crossSize.__late_helper$_value !== crossSize)
                  A.throwExpression(A.LateError$localAI(crossSize.__late_helper$_name));
                crossSize.__late_helper$_value = t2;
                break;
            }
            t2 = mainSize.__late_helper$_value;
            if (t2 === mainSize)
              A.throwExpression(A.LateError$localNI(mainSize.__late_helper$_name));
            inflexibleSpace += t2;
            t2 = crossSize.__late_helper$_value;
            if (t2 === crossSize)
              A.throwExpression(A.LateError$localNI(crossSize.__late_helper$_name));
            maxCrossSize = Math.max(maxCrossSize, A.checkNum(t2));
          }
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        spacePerFlex = Math.max(0, (extent - inflexibleSpace) / totalFlex);
        child = _this.ContainerRenderObjectMixin__firstChild;
        for (; child != null;) {
          t2 = child.parentData;
          t2.toString;
          flex = t1._as(t2).flex;
          if (flex == null)
            flex = 0;
          if (flex > 0)
            maxCrossSize = Math.max(maxCrossSize, A.checkNum(childSize.call$2(child, spacePerFlex * flex)));
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return maxCrossSize;
      }
    },
    computeMinIntrinsicWidth$1(height) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new A.RenderFlex_computeMinIntrinsicWidth_closure(), height, B.Axis_0);
    },
    computeMaxIntrinsicWidth$1(height) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new A.RenderFlex_computeMaxIntrinsicWidth_closure(), height, B.Axis_0);
    },
    computeMinIntrinsicHeight$1(width) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new A.RenderFlex_computeMinIntrinsicHeight_closure(), width, B.Axis_1);
    },
    computeMaxIntrinsicHeight$1(width) {
      return this._getIntrinsicSize$3$childSize$extent$sizingDirection(new A.RenderFlex_computeMaxIntrinsicHeight_closure(), width, B.Axis_1);
    },
    computeDistanceToActualBaseline$1(baseline) {
      if (this._flex$_direction === B.Axis_0)
        return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
      return this.defaultComputeDistanceToFirstActualBaseline$1(baseline);
    },
    _getCrossSize$1(size) {
      switch (this._flex$_direction.index) {
        case 0:
          return size._dy;
        case 1:
          return size._dx;
      }
    },
    _getMainSize$1(size) {
      switch (this._flex$_direction.index) {
        case 0:
          return size._dx;
        case 1:
          return size._dy;
      }
    },
    computeDryLayout$1(constraints) {
      var sizes;
      if (this._crossAxisAlignment === B.CrossAxisAlignment_4)
        return B.Size_0_0;
      sizes = this._computeSizes$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
      switch (this._flex$_direction.index) {
        case 0:
          return constraints.constrain$1(new A.Size(sizes.mainSize, sizes.crossSize));
        case 1:
          return constraints.constrain$1(new A.Size(sizes.crossSize, sizes.mainSize));
      }
    },
    _computeSizes$2$constraints$layoutChild(constraints, layoutChild) {
      var t1, t2, t3, lastFlexChild, totalFlex, crossSize, allocatedSize, t4, flex, innerConstraints, childSize, freeSpace, spacePerFlex, allocatedFlexSpace, maxChildExtent, minChildExtent, _this = this, _null = null,
        maxMainSize = _this._flex$_direction === B.Axis_0 ? constraints.maxWidth : constraints.maxHeight,
        canFlex = maxMainSize < 1 / 0,
        child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.FlexParentData, t2 = constraints.maxWidth, t3 = constraints.maxHeight, lastFlexChild = _null, totalFlex = 0, crossSize = 0, allocatedSize = 0; child != null;) {
        t4 = child.parentData;
        t4.toString;
        t1._as(t4);
        flex = t4.flex;
        if (flex == null)
          flex = 0;
        if (flex > 0) {
          totalFlex += flex;
          lastFlexChild = child;
        } else {
          if (_this._crossAxisAlignment === B.CrossAxisAlignment_3)
            switch (_this._flex$_direction.index) {
              case 0:
                innerConstraints = A.BoxConstraints$tightFor(t3, _null);
                break;
              case 1:
                innerConstraints = A.BoxConstraints$tightFor(_null, t2);
                break;
              default:
                innerConstraints = _null;
            }
          else
            switch (_this._flex$_direction.index) {
              case 0:
                innerConstraints = new A.BoxConstraints(0, 1 / 0, 0, t3);
                break;
              case 1:
                innerConstraints = new A.BoxConstraints(0, t2, 0, 1 / 0);
                break;
              default:
                innerConstraints = _null;
            }
          childSize = layoutChild.call$2(child, innerConstraints);
          allocatedSize += _this._getMainSize$1(childSize);
          crossSize = Math.max(crossSize, A.checkNum(_this._getCrossSize$1(childSize)));
        }
        child = t4.ContainerParentDataMixin_nextSibling;
      }
      freeSpace = Math.max(0, (canFlex ? maxMainSize : 0) - allocatedSize);
      if (totalFlex > 0) {
        spacePerFlex = canFlex ? freeSpace / totalFlex : 0 / 0;
        child = _this.ContainerRenderObjectMixin__firstChild;
        for (allocatedFlexSpace = 0; child != null;) {
          t4 = child.parentData;
          t4.toString;
          flex = t1._as(t4).flex;
          if (flex == null)
            flex = 0;
          if (flex > 0) {
            if (canFlex)
              maxChildExtent = child === lastFlexChild ? freeSpace - allocatedFlexSpace : spacePerFlex * flex;
            else
              maxChildExtent = 1 / 0;
            minChildExtent = A._Cell$named("minChildExtent");
            t4 = child.parentData;
            t4.toString;
            t4 = t1._as(t4).fit;
            switch ((t4 == null ? B.FlexFit_0 : t4).index) {
              case 0:
                if (minChildExtent.__late_helper$_value !== minChildExtent)
                  A.throwExpression(A.LateError$localAI(minChildExtent.__late_helper$_name));
                minChildExtent.__late_helper$_value = maxChildExtent;
                break;
              case 1:
                if (minChildExtent.__late_helper$_value !== minChildExtent)
                  A.throwExpression(A.LateError$localAI(minChildExtent.__late_helper$_name));
                minChildExtent.__late_helper$_value = 0;
                break;
            }
            if (_this._crossAxisAlignment === B.CrossAxisAlignment_3)
              switch (_this._flex$_direction.index) {
                case 0:
                  t4 = minChildExtent.__late_helper$_value;
                  if (t4 === minChildExtent)
                    A.throwExpression(A.LateError$localNI(minChildExtent.__late_helper$_name));
                  innerConstraints = new A.BoxConstraints(t4, maxChildExtent, t3, t3);
                  break;
                case 1:
                  t4 = minChildExtent.__late_helper$_value;
                  if (t4 === minChildExtent)
                    A.throwExpression(A.LateError$localNI(minChildExtent.__late_helper$_name));
                  innerConstraints = new A.BoxConstraints(t2, t2, t4, maxChildExtent);
                  break;
                default:
                  innerConstraints = _null;
              }
            else
              switch (_this._flex$_direction.index) {
                case 0:
                  t4 = minChildExtent.__late_helper$_value;
                  if (t4 === minChildExtent)
                    A.throwExpression(A.LateError$localNI(minChildExtent.__late_helper$_name));
                  innerConstraints = new A.BoxConstraints(t4, maxChildExtent, 0, t3);
                  break;
                case 1:
                  t4 = minChildExtent.__late_helper$_value;
                  if (t4 === minChildExtent)
                    A.throwExpression(A.LateError$localNI(minChildExtent.__late_helper$_name));
                  innerConstraints = new A.BoxConstraints(0, t2, t4, maxChildExtent);
                  break;
                default:
                  innerConstraints = _null;
              }
            childSize = layoutChild.call$2(child, innerConstraints);
            allocatedSize += _this._getMainSize$1(childSize);
            allocatedFlexSpace += maxChildExtent;
            crossSize = Math.max(crossSize, A.checkNum(_this._getCrossSize$1(childSize)));
          }
          t4 = child.parentData;
          t4.toString;
          child = t1._as(t4).ContainerParentDataMixin_nextSibling;
        }
      }
      return new A._LayoutSizes(canFlex && _this._mainAxisSize === B.MainAxisSize_1 ? maxMainSize : allocatedSize, crossSize, allocatedSize);
    },
    performLayout$0() {
      var child, t1, maxBaselineDistance, maxSizeAboveBaseline, maxSizeBelowBaseline, t2, distance, actualSizeDelta, remainingSpace, leadingSpace, betweenSpace, flipMainAxis, childMainPosition, t3, t4, t5, childCrossPosition, t6, _this = this,
        constraints = _this.get$constraints(),
        sizes = _this._computeSizes$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_layoutChild$closure()),
        actualSize = sizes.mainSize,
        crossSize = sizes.crossSize;
      if (_this._crossAxisAlignment === B.CrossAxisAlignment_4) {
        child = _this.ContainerRenderObjectMixin__firstChild;
        for (t1 = type$.FlexParentData, maxBaselineDistance = 0, maxSizeAboveBaseline = 0, maxSizeBelowBaseline = 0; child != null;) {
          t2 = _this._flex$_textBaseline;
          t2.toString;
          distance = child.getDistanceToBaseline$2$onlyReal(t2, true);
          if (distance != null) {
            maxBaselineDistance = Math.max(maxBaselineDistance, distance);
            maxSizeAboveBaseline = Math.max(distance, maxSizeAboveBaseline);
            maxSizeBelowBaseline = Math.max(child._box$_size._dy - distance, maxSizeBelowBaseline);
            crossSize = Math.max(maxSizeAboveBaseline + maxSizeBelowBaseline, crossSize);
          }
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
      } else
        maxBaselineDistance = 0;
      switch (_this._flex$_direction.index) {
        case 0:
          t1 = _this._box$_size = constraints.constrain$1(new A.Size(actualSize, crossSize));
          actualSize = t1._dx;
          crossSize = t1._dy;
          break;
        case 1:
          t1 = _this._box$_size = constraints.constrain$1(new A.Size(crossSize, actualSize));
          actualSize = t1._dy;
          crossSize = t1._dx;
          break;
      }
      actualSizeDelta = actualSize - sizes.allocatedSize;
      _this._overflow = Math.max(0, -actualSizeDelta);
      remainingSpace = Math.max(0, actualSizeDelta);
      leadingSpace = A._Cell$named("leadingSpace");
      betweenSpace = A._Cell$named("betweenSpace");
      t1 = A._startIsTopLeft(_this._flex$_direction, _this._flex$_textDirection, _this._verticalDirection);
      flipMainAxis = t1 === false;
      switch (_this._mainAxisAlignment.index) {
        case 0:
          leadingSpace.set$finalLocalValue(0);
          betweenSpace.set$finalLocalValue(0);
          break;
        case 1:
          leadingSpace.set$finalLocalValue(remainingSpace);
          betweenSpace.set$finalLocalValue(0);
          break;
        case 2:
          leadingSpace.set$finalLocalValue(remainingSpace / 2);
          betweenSpace.set$finalLocalValue(0);
          break;
        case 3:
          leadingSpace.set$finalLocalValue(0);
          t1 = _this.ContainerRenderObjectMixin__childCount;
          betweenSpace.set$finalLocalValue(t1 > 1 ? remainingSpace / (t1 - 1) : 0);
          break;
        case 4:
          t1 = _this.ContainerRenderObjectMixin__childCount;
          betweenSpace.set$finalLocalValue(t1 > 0 ? remainingSpace / t1 : 0);
          leadingSpace.set$finalLocalValue(betweenSpace._readLocal$0() / 2);
          break;
        case 5:
          t1 = _this.ContainerRenderObjectMixin__childCount;
          betweenSpace.set$finalLocalValue(t1 > 0 ? remainingSpace / (t1 + 1) : 0);
          leadingSpace.set$finalLocalValue(betweenSpace._readLocal$0());
          break;
      }
      childMainPosition = flipMainAxis ? actualSize - leadingSpace._readLocal$0() : leadingSpace._readLocal$0();
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.FlexParentData, t2 = crossSize / 2, t3 = betweenSpace.__late_helper$_name; child != null;) {
        t4 = child.parentData;
        t4.toString;
        t1._as(t4);
        t5 = _this._crossAxisAlignment;
        switch (t5.index) {
          case 0:
          case 1:
            if (A._startIsTopLeft(A.flipAxis(_this._flex$_direction), _this._flex$_textDirection, _this._verticalDirection) === (t5 === B.CrossAxisAlignment_0))
              childCrossPosition = 0;
            else {
              t5 = child._box$_size;
              t5.toString;
              childCrossPosition = crossSize - _this._getCrossSize$1(t5);
            }
            break;
          case 2:
            t5 = child._box$_size;
            t5.toString;
            childCrossPosition = t2 - _this._getCrossSize$1(t5) / 2;
            break;
          case 3:
            childCrossPosition = 0;
            break;
          case 4:
            if (_this._flex$_direction === B.Axis_0) {
              t5 = _this._flex$_textBaseline;
              t5.toString;
              distance = child.getDistanceToBaseline$2$onlyReal(t5, true);
              childCrossPosition = distance != null ? maxBaselineDistance - distance : 0;
            } else
              childCrossPosition = 0;
            break;
          default:
            childCrossPosition = null;
        }
        if (flipMainAxis) {
          t5 = child._box$_size;
          t5.toString;
          childMainPosition -= _this._getMainSize$1(t5);
        }
        switch (_this._flex$_direction.index) {
          case 0:
            t4.offset = new A.Offset(childMainPosition, childCrossPosition);
            break;
          case 1:
            t4.offset = new A.Offset(childCrossPosition, childMainPosition);
            break;
        }
        if (flipMainAxis) {
          t5 = betweenSpace.__late_helper$_value;
          if (t5 === betweenSpace)
            A.throwExpression(A.LateError$localNI(t3));
          childMainPosition -= t5;
        } else {
          t5 = child._box$_size;
          t5.toString;
          t5 = _this._getMainSize$1(t5);
          t6 = betweenSpace.__late_helper$_value;
          if (t6 === betweenSpace)
            A.throwExpression(A.LateError$localNI(t3));
          childMainPosition += t5 + t6;
        }
        child = t4.ContainerParentDataMixin_nextSibling;
      }
    },
    hitTestChildren$2$position(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paint$2(context, offset) {
      var t1, t2, t3, _this = this;
      if (!(_this._overflow > 1e-10)) {
        _this.defaultPaint$2(context, offset);
        return;
      }
      t1 = _this._box$_size;
      if (t1.get$isEmpty(t1))
        return;
      t1 = _this._flex$_clipRectLayer;
      t2 = _this.__RenderObject__needsCompositing;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this._box$_size;
      t1.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t2, offset, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), _this.get$defaultPaint(), _this._flex$_clipBehavior, t1._layer));
    },
    dispose$0() {
      this._flex$_clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    },
    describeApproximatePaintClip$1(child) {
      var t1;
      switch (this._flex$_clipBehavior.index) {
        case 0:
          return null;
        case 1:
        case 2:
        case 3:
          if (this._overflow > 1e-10) {
            t1 = this._box$_size;
            t1 = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
          } else
            t1 = null;
          return t1;
      }
    },
    toStringShort$0() {
      var header = this.super$RenderObject$toStringShort();
      if (this._overflow > 1e-10)
        header += " OVERFLOWING";
      return header;
    }
  };
  A.RenderFlex_computeMinIntrinsicWidth_closure.prototype = {
    call$2(child, extent) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, extent, child.get$computeMinIntrinsicWidth());
    },
    $signature: 77
  };
  A.RenderFlex_computeMaxIntrinsicWidth_closure.prototype = {
    call$2(child, extent) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, extent, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 77
  };
  A.RenderFlex_computeMinIntrinsicHeight_closure.prototype = {
    call$2(child, extent) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, extent, child.get$computeMinIntrinsicHeight());
    },
    $signature: 77
  };
  A.RenderFlex_computeMaxIntrinsicHeight_closure.prototype = {
    call$2(child, extent) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, extent, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 77
  };
  A._LayoutSizes.prototype = {};
  A._RenderFlex_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.FlexParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.FlexParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin.prototype = {
    reassemble$0() {
      this.super$RenderObject$reassemble();
    }
  };
  A.RenderImage.prototype = {
    _image$_resolve$0() {
      var _this = this;
      if (_this._image$_resolvedAlignment != null)
        return;
      _this._image$_resolvedAlignment = _this._image$_alignment;
      _this._flipHorizontally = false;
    },
    _markNeedResolution$0() {
      this._flipHorizontally = this._image$_resolvedAlignment = null;
      this.markNeedsPaint$0();
    },
    set$image(_, value) {
      var _this = this,
        t1 = _this._image$_image;
      if (value == t1)
        return;
      if (value != null && t1 != null && value.isCloneOf$1(t1)) {
        value.dispose$0();
        return;
      }
      t1 = _this._image$_image;
      if (t1 != null)
        t1.dispose$0();
      _this._image$_image = value;
      _this.markNeedsPaint$0();
      if (_this._image$_width == null || _this._image$_height == null)
        _this.markNeedsLayout$0();
    },
    set$width(_, value) {
      if (value == this._image$_width)
        return;
      this._image$_width = value;
      this.markNeedsLayout$0();
    },
    set$height(_, value) {
      if (value == this._image$_height)
        return;
      this._image$_height = value;
      this.markNeedsLayout$0();
    },
    set$scale(_, value) {
      if (value === this._image$_scale)
        return;
      this._image$_scale = value;
      this.markNeedsLayout$0();
    },
    _updateColorFilter$0() {
      var t1 = this._image$_color;
      if (t1 == null)
        this._colorFilter = null;
      else
        this._colorFilter = new A.CkBlendModeColorFilter(t1, B.BlendMode_5);
    },
    set$color(_, value) {
      var _this = this;
      if (J.$eq$(value, _this._image$_color))
        return;
      _this._image$_color = value;
      _this._updateColorFilter$0();
      _this.markNeedsPaint$0();
    },
    set$opacity(_, value) {
      return;
    },
    set$filterQuality(value) {
      if (value === this._image$_filterQuality)
        return;
      this._image$_filterQuality = value;
      this.markNeedsPaint$0();
    },
    set$colorBlendMode(value) {
      return;
    },
    set$fit(value) {
      if (value == this._image$_fit)
        return;
      this._image$_fit = value;
      this.markNeedsPaint$0();
    },
    set$alignment(value) {
      if (value.$eq(0, this._image$_alignment))
        return;
      this._image$_alignment = value;
      this._markNeedResolution$0();
    },
    set$repeat(_, value) {
      if (value === this._repeat)
        return;
      this._repeat = value;
      this.markNeedsPaint$0();
    },
    set$centerSlice(value) {
      return;
    },
    set$invertColors(value) {
      if (value === this._image$_invertColors)
        return;
      this._image$_invertColors = value;
      this.markNeedsPaint$0();
    },
    set$matchTextDirection(value) {
      return;
    },
    set$textDirection(value) {
      if (this._image$_textDirection == value)
        return;
      this._image$_textDirection = value;
      this._markNeedResolution$0();
    },
    set$isAntiAlias(value) {
      return;
    },
    _sizeForConstraints$1(constraints) {
      var t2, t3, _this = this,
        t1 = _this._image$_width;
      constraints = A.BoxConstraints$tightFor(_this._image$_height, t1).enforce$1(constraints);
      t1 = _this._image$_image;
      if (t1 == null)
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      t1 = t1.get$width(t1);
      t2 = _this._image$_scale;
      t3 = _this._image$_image;
      return constraints.constrainSizeAndAttemptToPreserveAspectRatio$1(new A.Size(t1 / t2, t3.get$height(t3) / _this._image$_scale));
    },
    computeMinIntrinsicWidth$1(height) {
      if (this._image$_width == null && this._image$_height == null)
        return 0;
      return this._sizeForConstraints$1(A.BoxConstraints$tightForFinite(height, 1 / 0))._dx;
    },
    computeMaxIntrinsicWidth$1(height) {
      return this._sizeForConstraints$1(A.BoxConstraints$tightForFinite(height, 1 / 0))._dx;
    },
    computeMinIntrinsicHeight$1(width) {
      if (this._image$_width == null && this._image$_height == null)
        return 0;
      return this._sizeForConstraints$1(A.BoxConstraints$tightForFinite(1 / 0, width))._dy;
    },
    computeMaxIntrinsicHeight$1(width) {
      return this._sizeForConstraints$1(A.BoxConstraints$tightForFinite(1 / 0, width))._dy;
    },
    hitTestSelf$1(position) {
      return true;
    },
    computeDryLayout$1(constraints) {
      return this._sizeForConstraints$1(constraints);
    },
    performLayout$0() {
      this._box$_size = this._sizeForConstraints$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)));
    },
    attach$1(owner) {
      this.super$RenderObject$attach(owner);
    },
    detach$0(_) {
      this.super$AbstractNode$detach(0);
    },
    paint$2(context, offset) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, _this = this;
      if (_this._image$_image == null)
        return;
      _this._image$_resolve$0();
      t1 = context.get$canvas(context);
      t2 = _this._box$_size;
      t3 = offset._dx;
      t4 = offset._dy;
      t5 = t2._dx;
      t2 = t2._dy;
      t6 = _this._image$_image;
      t6.toString;
      t7 = _this.debugImageLabel;
      t8 = _this._image$_scale;
      t9 = _this._colorFilter;
      t10 = _this._image$_fit;
      t11 = _this._image$_resolvedAlignment;
      t11.toString;
      t12 = _this._centerSlice;
      t13 = _this._repeat;
      t14 = _this._flipHorizontally;
      t14.toString;
      t15 = _this._image$_invertColors;
      A.paintImage(t11, t1, t12, t9, t7, _this._image$_filterQuality, t10, t14, t6, t15, false, 1, new A.Rect(t3, t4, t3 + t5, t4 + t2), t13, t8);
    },
    dispose$0() {
      var t1 = this._image$_image;
      if (t1 != null)
        t1.dispose$0();
      this._image$_image = null;
      this.super$RenderObject$dispose();
    }
  };
  A.AnnotationEntry.prototype = {
    toString$0(_) {
      return "AnnotationEntry(annotation: " + this.annotation.toString$0(0) + ", localPosition: " + this.localPosition.toString$0(0) + ")";
    }
  };
  A.AnnotationResult.prototype = {};
  A.Layer0.prototype = {
    _updateSubtreeCompositionObserverCount$1(delta) {
      var t1, _this = this;
      _this._compositionCallbackCount += delta;
      t1 = type$.nullable_ContainerLayer;
      if (t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this)) != null)
        t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this))._updateSubtreeCompositionObserverCount$1(delta);
    },
    _fireCompositionCallbacks$1$includeChildren(includeChildren) {
      var t1, t2, _i;
      for (t1 = this._callbacks, t1 = A.List_List$of(t1.get$values(t1), true, type$.void_Function), t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i].call$0();
    },
    dispose$0() {
      var t1 = this._engineLayer;
      if (t1 != null)
        t1.dispose$0();
      this._engineLayer = null;
    },
    markNeedsAddToScene$0() {
      if (this._needsAddToScene)
        return;
      this._needsAddToScene = true;
    },
    get$alwaysNeedsAddToScene() {
      return false;
    },
    set$engineLayer(value) {
      var _this = this,
        t1 = _this._engineLayer;
      if (t1 != null)
        t1.dispose$0();
      _this._engineLayer = value;
      if (!_this.get$alwaysNeedsAddToScene()) {
        t1 = type$.nullable_ContainerLayer;
        if (t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this)) != null && !t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this)).get$alwaysNeedsAddToScene())
          t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this)).markNeedsAddToScene$0();
      }
    },
    updateSubtreeNeedsAddToScene$0() {
      this._needsAddToScene = this._needsAddToScene || this.get$alwaysNeedsAddToScene();
    },
    dropChild$1(child) {
      var t1, _this = this;
      if (!_this.get$alwaysNeedsAddToScene())
        _this.markNeedsAddToScene$0();
      t1 = child._compositionCallbackCount;
      if (t1 !== 0)
        _this._updateSubtreeCompositionObserverCount$1(-t1);
      _this.super$AbstractNode$dropChild(child);
    },
    remove$0(_) {
      var t2, t3, _this = this,
        t1 = type$.nullable_ContainerLayer._as(A.AbstractNode.prototype.get$parent.call(_this, _this));
      if (t1 != null) {
        t2 = _this._previousSibling;
        t3 = _this._nextSibling;
        if (t2 == null)
          t1._firstChild = t3;
        else
          t2._nextSibling = t3;
        t3 = _this._nextSibling;
        if (t3 == null)
          t1._lastChild = t2;
        else
          t3._previousSibling = t2;
        _this._nextSibling = _this._previousSibling = null;
        t1.dropChild$1(_this);
        _this._parentHandle.set$layer(0, null);
      }
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst) {
      return false;
    },
    find$1$1(_, localPosition, $S) {
      var t1 = A._setArrayType([], $S._eval$1("JSArray<AnnotationEntry<0>>"));
      this.findAnnotations$1$3$onlyFirst(new A.AnnotationResult(t1, $S._eval$1("AnnotationResult<0>")), localPosition, true, $S);
      return t1.length === 0 ? null : B.JSArray_methods.get$first(t1).annotation;
    },
    _addToSceneWithRetainedRendering$1(builder) {
      var t1, _this = this;
      if (!_this._needsAddToScene && _this._engineLayer != null) {
        t1 = _this._engineLayer;
        t1.toString;
        builder.addRetained$1(t1);
        return;
      }
      _this.addToScene$1(builder);
      _this._needsAddToScene = false;
    },
    toStringShort$0() {
      var t1 = this.super$DiagnosticableTreeMixin$toStringShort();
      return t1 + (this._owner == null ? " DETACHED" : "");
    },
    $isDiagnosticableTree: 1
  };
  A.LayerHandle.prototype = {
    set$layer(_, layer) {
      var t1 = this._layer;
      if (layer == null ? t1 == null : layer === t1)
        return;
      if (t1 != null)
        if (--t1._refCount === 0)
          t1.dispose$0();
      this._layer = layer;
      if (layer != null)
        ++layer._refCount;
    },
    toString$0(_) {
      var t1 = this._layer;
      return "LayerHandle(" + (t1 != null ? J.toString$0$(t1) : "DISPOSED") + ")";
    }
  };
  A.PictureLayer0.prototype = {
    set$picture(picture) {
      var t1;
      this.markNeedsAddToScene$0();
      t1 = this._picture;
      if (t1 != null)
        t1.dispose$0();
      this._picture = picture;
    },
    dispose$0() {
      this.set$picture(null);
      this.super$Layer$dispose();
    },
    addToScene$1(builder) {
      var t1 = this._picture;
      t1.toString;
      builder.addPicture$4$isComplexHint$willChangeHint(B.Offset_0_0, t1, this._isComplexHint, this._willChangeHint);
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst) {
      return false;
    }
  };
  A.PerformanceOverlayLayer.prototype = {
    addToScene$1(builder) {
      builder.addPerformanceOverlay$2(this.optionsMask, this._overlayRect);
      builder.setRasterizerTracingThreshold$1(this.rasterizerThreshold);
      builder.setCheckerboardRasterCacheImages$1(false);
      builder.setCheckerboardOffscreenLayers$1(false);
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst) {
      return false;
    }
  };
  A.ContainerLayer0.prototype = {
    _fireCompositionCallbacks$1$includeChildren(includeChildren) {
      var child;
      this.super$Layer$_fireCompositionCallbacks(includeChildren);
      if (!includeChildren)
        return;
      child = this._firstChild;
      for (; child != null;) {
        child._fireCompositionCallbacks$1$includeChildren(true);
        child = child._nextSibling;
      }
    },
    buildScene$1(builder) {
      var _this = this;
      _this.updateSubtreeNeedsAddToScene$0();
      _this.addToScene$1(builder);
      if (_this._compositionCallbackCount > 0)
        _this._fireCompositionCallbacks$1$includeChildren(true);
      _this._needsAddToScene = false;
      return builder.build$0();
    },
    dispose$0() {
      this.removeAllChildren$0();
      this._callbacks.clear$0(0);
      this.super$Layer$dispose();
    },
    updateSubtreeNeedsAddToScene$0() {
      var child, _this = this;
      _this.super$Layer$updateSubtreeNeedsAddToScene();
      child = _this._firstChild;
      for (; child != null;) {
        child.updateSubtreeNeedsAddToScene$0();
        _this._needsAddToScene = _this._needsAddToScene || child._needsAddToScene;
        child = child._nextSibling;
      }
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      var child, t1, t2;
      for (child = this._lastChild, t1 = result._entries; child != null; child = child._previousSibling) {
        if (child.findAnnotations$1$3$onlyFirst(result, localPosition, true, $S))
          return true;
        t2 = t1.length;
        if (t2 !== 0)
          return false;
      }
      return false;
    },
    attach$1(owner) {
      var child;
      this.super$AbstractNode$attach(owner);
      child = this._firstChild;
      for (; child != null;) {
        child.attach$1(owner);
        child = child._nextSibling;
      }
    },
    detach$0(_) {
      var child;
      this.super$AbstractNode$detach(0);
      child = this._firstChild;
      for (; child != null;) {
        child.detach$0(0);
        child = child._nextSibling;
      }
      this._fireCompositionCallbacks$1$includeChildren(false);
    },
    append$1(_, child) {
      var t1, _this = this;
      if (!_this.get$alwaysNeedsAddToScene())
        _this.markNeedsAddToScene$0();
      t1 = child._compositionCallbackCount;
      if (t1 !== 0)
        _this._updateSubtreeCompositionObserverCount$1(t1);
      _this.super$AbstractNode$adoptChild(child);
      t1 = child._previousSibling = _this._lastChild;
      if (t1 != null)
        t1._nextSibling = child;
      _this._lastChild = child;
      if (_this._firstChild == null)
        _this._firstChild = child;
      child._parentHandle.set$layer(0, child);
    },
    removeAllChildren$0() {
      var t1, next, t2, _this = this,
        child = _this._firstChild;
      for (t1 = type$.nullable_ContainerLayer; child != null; child = next) {
        next = child._nextSibling;
        child._nextSibling = child._previousSibling = null;
        if (!_this.get$alwaysNeedsAddToScene())
          _this.markNeedsAddToScene$0();
        t2 = child._compositionCallbackCount;
        if (t2 !== 0) {
          t2 = -t2;
          _this._compositionCallbackCount += t2;
          if (t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this)) != null)
            t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this))._updateSubtreeCompositionObserverCount$1(t2);
        }
        _this.super$AbstractNode$dropChild(child);
        child._parentHandle.set$layer(0, null);
      }
      _this._lastChild = _this._firstChild = null;
    },
    addToScene$1(builder) {
      this.addChildrenToScene$1(builder);
    },
    addChildrenToScene$1(builder) {
      var child = this._firstChild;
      for (; child != null;) {
        child._addToSceneWithRetainedRendering$1(builder);
        child = child._nextSibling;
      }
    },
    applyTransform$2(child, transform) {
    },
    debugDescribeChildren$0() {
      var count,
        children = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = this._firstChild;
      if (child == null)
        return children;
      for (count = 1; true;) {
        child.toString;
        children.push(new A.DiagnosticableTreeNode(child, "child " + count, true, true, null, null));
        if (child === this._lastChild)
          break;
        ++count;
        child = child._nextSibling;
      }
      return children;
    }
  };
  A.OffsetLayer.prototype = {
    set$offset(_, value) {
      if (!value.$eq(0, this._layer$_offset))
        this.markNeedsAddToScene$0();
      this._layer$_offset = value;
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      return this.super$ContainerLayer$findAnnotations(result, localPosition.$sub(0, this._layer$_offset), true, $S);
    },
    applyTransform$2(child, transform) {
      var t1 = this._layer$_offset;
      transform.translate$2(0, t1._dx, t1._dy);
    },
    addToScene$1(builder) {
      var _this = this,
        t1 = _this._layer$_offset;
      _this.set$engineLayer(builder.pushOffset$3$oldLayer(t1._dx, t1._dy, type$.nullable_OffsetEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0();
    }
  };
  A.ClipRectLayer.prototype = {
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      if (!this._clipRect.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$1(builder) {
      var _this = this,
        t1 = _this._clipRect;
      t1.toString;
      _this.set$engineLayer(builder.pushClipRect$3$clipBehavior$oldLayer(t1, _this._layer$_clipBehavior, type$.nullable_ClipRectEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0();
    }
  };
  A.ClipRRectLayer.prototype = {
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      if (!this._clipRRect.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$1(builder) {
      var _this = this,
        t1 = _this._clipRRect;
      t1.toString;
      _this.set$engineLayer(builder.pushClipRRect$3$clipBehavior$oldLayer(t1, _this._layer$_clipBehavior, type$.nullable_ClipRRectEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0();
    }
  };
  A.ClipPathLayer.prototype = {
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      if (!this._clipPath.contains$1(0, localPosition))
        return false;
      return this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S);
    },
    addToScene$1(builder) {
      var _this = this,
        t1 = _this._clipPath;
      t1.toString;
      _this.set$engineLayer(builder.pushClipPath$3$clipBehavior$oldLayer(t1, _this._layer$_clipBehavior, type$.nullable_ClipPathEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0();
    }
  };
  A.TransformLayer.prototype = {
    set$transform(_, value) {
      var _this = this;
      if (value.$eq(0, _this._layer$_transform))
        return;
      _this._layer$_transform = value;
      _this._inverseDirty = true;
      _this.markNeedsAddToScene$0();
    },
    addToScene$1(builder) {
      var t1, t2, _this = this;
      _this._lastEffectiveTransform = _this._layer$_transform;
      if (!_this._layer$_offset.$eq(0, B.Offset_0_0)) {
        t1 = _this._layer$_offset;
        t1 = A.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0);
        t2 = _this._lastEffectiveTransform;
        t2.toString;
        t1.multiply$1(0, t2);
        _this._lastEffectiveTransform = t1;
      }
      _this.set$engineLayer(builder.pushTransform$2$oldLayer(_this._lastEffectiveTransform._m4storage, type$.nullable_TransformEngineLayer._as(_this._engineLayer)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0();
    },
    _transformOffset$1(localPosition) {
      var t1, _this = this;
      if (_this._inverseDirty) {
        t1 = _this._layer$_transform;
        t1.toString;
        _this._invertedTransform = A.Matrix4_tryInvert(A.PointerEvent_removePerspectiveTransform(t1));
        _this._inverseDirty = false;
      }
      t1 = _this._invertedTransform;
      if (t1 == null)
        return null;
      return A.MatrixUtils_transformPoint(t1, localPosition);
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      var transformedOffset = this._transformOffset$1(localPosition);
      if (transformedOffset == null)
        return false;
      return this.super$OffsetLayer$findAnnotations(result, transformedOffset, true, $S);
    },
    applyTransform$2(child, transform) {
      var t1 = this._lastEffectiveTransform;
      if (t1 == null) {
        t1 = this._layer$_transform;
        t1.toString;
        transform.multiply$1(0, t1);
      } else
        transform.multiply$1(0, t1);
    }
  };
  A.OpacityLayer.prototype = {
    set$alpha(_, value) {
      var _this = this,
        t1 = _this._alpha;
      if (value != t1) {
        if (value === 255 || t1 === 255)
          _this.set$engineLayer(null);
        _this._alpha = value;
        _this.markNeedsAddToScene$0();
      }
    },
    addToScene$1(builder) {
      var t1, t2, t3, _this = this;
      if (_this._firstChild == null) {
        _this.set$engineLayer(null);
        return;
      }
      t1 = _this._alpha;
      t1.toString;
      t2 = _this._layer$_offset;
      t3 = _this._engineLayer;
      if (t1 < 255)
        _this.set$engineLayer(builder.pushOpacity$3$offset$oldLayer(t1, t2, type$.nullable_OpacityEngineLayer._as(t3)));
      else
        _this.set$engineLayer(builder.pushOffset$3$oldLayer(t2._dx, t2._dy, type$.nullable_OffsetEngineLayer._as(t3)));
      _this.addChildrenToScene$1(builder);
      builder.pop$0();
    }
  };
  A.LayerLink.prototype = {
    toString$0(_) {
      var t1 = A.shortHash(this),
        t2 = this._leader != null ? "<linked>" : "<dangling>";
      return "<optimized out>#" + t1 + "(" + t2 + ")";
    }
  };
  A.LeaderLayer.prototype = {
    set$link(value) {
      var _this = this,
        t1 = _this._layer$_link;
      if (t1 === value)
        return;
      if (_this._owner != null) {
        if (t1._leader === _this)
          t1._leader = null;
        value._leader = _this;
      }
      _this._layer$_link = value;
    },
    set$offset(_, value) {
      if (value.$eq(0, this._layer$_offset))
        return;
      this._layer$_offset = value;
      this.markNeedsAddToScene$0();
    },
    attach$1(owner) {
      this.super$ContainerLayer$attach(owner);
      this._layer$_link._leader = this;
    },
    detach$0(_) {
      var t1 = this._layer$_link;
      if (t1._leader === this)
        t1._leader = null;
      this.super$ContainerLayer$detach(0);
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      return this.super$ContainerLayer$findAnnotations(result, localPosition.$sub(0, this._layer$_offset), true, $S);
    },
    addToScene$1(builder) {
      var t1, _this = this;
      if (!_this._layer$_offset.$eq(0, B.Offset_0_0)) {
        t1 = _this._layer$_offset;
        _this.set$engineLayer(builder.pushTransform$2$oldLayer(A.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0)._m4storage, type$.nullable_TransformEngineLayer._as(_this._engineLayer)));
      }
      _this.addChildrenToScene$1(builder);
      if (!_this._layer$_offset.$eq(0, B.Offset_0_0))
        builder.pop$0();
    },
    applyTransform$2(child, transform) {
      var t1;
      if (!this._layer$_offset.$eq(0, B.Offset_0_0)) {
        t1 = this._layer$_offset;
        transform.translate$2(0, t1._dx, t1._dy);
      }
    }
  };
  A.FollowerLayer.prototype = {
    _transformOffset$1(localPosition) {
      var t1, vector, t2, t3, _this = this;
      if (_this._inverseDirty) {
        t1 = _this.getLastTransform$0();
        t1.toString;
        _this._invertedTransform = A.Matrix4_tryInvert(t1);
        _this._inverseDirty = false;
      }
      if (_this._invertedTransform == null)
        return null;
      vector = new A.Vector4(new Float64Array(4));
      vector.setValues$4(localPosition._dx, localPosition._dy, 0, 1);
      t1 = _this._invertedTransform.transform$1(0, vector)._v4storage;
      t2 = t1[0];
      t3 = _this.linkedOffset;
      return new A.Offset(t2 - t3._dx, t1[1] - t3._dy);
    },
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      var transformedOffset;
      if (this._layer$_link._leader == null)
        return false;
      transformedOffset = this._transformOffset$1(localPosition);
      if (transformedOffset == null)
        return false;
      return this.super$ContainerLayer$findAnnotations(result, transformedOffset, true, $S);
    },
    getLastTransform$0() {
      var t1, result;
      if (this._layer$_lastTransform == null)
        return null;
      t1 = this._lastOffset;
      result = A.Matrix4_Matrix4$translationValues(-t1._dx, -t1._dy, 0);
      t1 = this._layer$_lastTransform;
      t1.toString;
      result.multiply$1(0, t1);
      return result;
    },
    _establishTransform$0() {
      var leader, t1, forwardLayers, inverseLayers, forwardTransform, inverseTransform, _this = this;
      _this._layer$_lastTransform = null;
      leader = _this._layer$_link._leader;
      if (leader == null)
        return;
      t1 = type$.JSArray_ContainerLayer;
      forwardLayers = A._setArrayType([leader], t1);
      inverseLayers = A._setArrayType([_this], t1);
      A.FollowerLayer__pathsToCommonAncestor(leader, _this, forwardLayers, inverseLayers);
      forwardTransform = A.FollowerLayer__collectTransformForLayerChain(forwardLayers);
      leader.applyTransform$2(null, forwardTransform);
      t1 = _this.linkedOffset;
      forwardTransform.translate$2(0, t1._dx, t1._dy);
      inverseTransform = A.FollowerLayer__collectTransformForLayerChain(inverseLayers);
      if (inverseTransform.copyInverse$1(inverseTransform) === 0)
        return;
      inverseTransform.multiply$1(0, forwardTransform);
      _this._layer$_lastTransform = inverseTransform;
      _this._inverseDirty = true;
    },
    get$alwaysNeedsAddToScene() {
      return true;
    },
    addToScene$1(builder) {
      var t1, t2, _this = this;
      if (_this._layer$_link._leader == null && true) {
        _this._lastOffset = _this._layer$_lastTransform = null;
        _this._inverseDirty = true;
        _this.set$engineLayer(null);
        return;
      }
      _this._establishTransform$0();
      t1 = _this._layer$_lastTransform;
      t2 = type$.nullable_TransformEngineLayer;
      if (t1 != null) {
        _this._lastOffset = _this.unlinkedOffset;
        _this.set$engineLayer(builder.pushTransform$2$oldLayer(t1._m4storage, t2._as(_this._engineLayer)));
        _this.addChildrenToScene$1(builder);
        builder.pop$0();
      } else {
        _this._lastOffset = null;
        t1 = _this.unlinkedOffset;
        _this.set$engineLayer(builder.pushTransform$2$oldLayer(A.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0)._m4storage, t2._as(_this._engineLayer)));
        _this.addChildrenToScene$1(builder);
        builder.pop$0();
      }
      _this._inverseDirty = true;
    },
    applyTransform$2(child, transform) {
      var t1 = this._layer$_lastTransform;
      if (t1 != null)
        transform.multiply$1(0, t1);
      else {
        t1 = this.unlinkedOffset;
        transform.multiply$1(0, A.Matrix4_Matrix4$translationValues(t1._dx, t1._dy, 0));
      }
    }
  };
  A.AnnotatedRegionLayer.prototype = {
    findAnnotations$1$3$onlyFirst(result, localPosition, onlyFirst, $S) {
      var t2, t3, t4, _this = this,
        isAbsorbed = _this.super$ContainerLayer$findAnnotations(result, localPosition, true, $S),
        t1 = result._entries;
      if (t1.length !== 0 && true)
        return isAbsorbed;
      t2 = _this.size;
      if (t2 != null) {
        t3 = _this.offset;
        t4 = t3._dx;
        t3 = t3._dy;
        t2 = !new A.Rect(t4, t3, t4 + t2._dx, t3 + t2._dy).contains$1(0, localPosition);
      } else
        t2 = false;
      if (t2)
        return isAbsorbed;
      if (A.createRuntimeType(_this.$ti._precomputed1) === A.createRuntimeType($S)) {
        isAbsorbed = isAbsorbed || false;
        t1.push(new A.AnnotationEntry($S._as(_this.value), localPosition.$sub(0, _this.offset), $S._eval$1("AnnotationEntry<0>")));
      }
      return isAbsorbed;
    }
  };
  A._Layer_AbstractNode_DiagnosticableTreeMixin.prototype = {};
  A.ListBodyParentData.prototype = {};
  A.RenderListBody.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.ListBodyParentData))
        child.parentData = new A.ListBodyParentData(null, null, B.Offset_0_0);
    },
    set$axisDirection(value) {
      if (this._list_body$_axisDirection === value)
        return;
      this._list_body$_axisDirection = value;
      this.markNeedsLayout$0();
    },
    computeDryLayout$1(constraints) {
      var t1, innerConstraints, t2, mainAxisExtent, t3, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      switch (_this._list_body$_axisDirection.index) {
        case 1:
        case 3:
          t1 = constraints.maxHeight;
          innerConstraints = A.BoxConstraints$tightFor(t1, null);
          for (t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), mainAxisExtent = 0; child != null;) {
            mainAxisExtent += child.getDryLayout$1(innerConstraints)._dx;
            t3 = child.parentData;
            t3.toString;
            child = t2._as(t3).ContainerParentDataMixin_nextSibling;
          }
          return constraints.constrain$1(new A.Size(mainAxisExtent, t1));
        case 0:
        case 2:
          t1 = constraints.maxWidth;
          innerConstraints = A.BoxConstraints$tightFor(null, t1);
          for (t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), mainAxisExtent = 0; child != null;) {
            mainAxisExtent += child.getDryLayout$1(innerConstraints)._dy;
            t3 = child.parentData;
            t3.toString;
            child = t2._as(t3).ContainerParentDataMixin_nextSibling;
          }
          return constraints.constrain$1(new A.Size(t1, mainAxisExtent));
      }
    },
    performLayout$0() {
      var t1, innerConstraints, t2, mainAxisExtent, t3, position, _this = this, _null = null,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        child = _this.ContainerRenderObjectMixin__firstChild;
      switch (_this._list_body$_axisDirection.index) {
        case 1:
          t1 = constraints.maxHeight;
          innerConstraints = A.BoxConstraints$tightFor(t1, _null);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(innerConstraints, true);
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            t3.offset = new A.Offset(mainAxisExtent, 0);
            mainAxisExtent += child._box$_size._dx;
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new A.Size(mainAxisExtent, t1));
          break;
        case 3:
          t1 = constraints.maxHeight;
          innerConstraints = A.BoxConstraints$tightFor(t1, _null);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(innerConstraints, true);
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            mainAxisExtent += child._box$_size._dx;
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (position = 0; child != null;) {
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            position += child._box$_size._dx;
            t3.offset = new A.Offset(mainAxisExtent - position, 0);
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new A.Size(mainAxisExtent, t1));
          break;
        case 2:
          t1 = constraints.maxWidth;
          innerConstraints = A.BoxConstraints$tightFor(_null, t1);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(innerConstraints, true);
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            t3.offset = new A.Offset(0, mainAxisExtent);
            mainAxisExtent += child._box$_size._dy;
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new A.Size(t1, mainAxisExtent));
          break;
        case 0:
          t1 = constraints.maxWidth;
          innerConstraints = A.BoxConstraints$tightFor(_null, t1);
          for (t2 = type$.ListBodyParentData, mainAxisExtent = 0; child != null;) {
            child.layout$2$parentUsesSize(innerConstraints, true);
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            mainAxisExtent += child._box$_size._dy;
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (position = 0; child != null;) {
            t3 = child.parentData;
            t3.toString;
            t2._as(t3);
            position += child._box$_size._dy;
            t3.offset = new A.Offset(0, mainAxisExtent - position);
            child = t3.ContainerParentDataMixin_nextSibling;
          }
          _this._box$_size = constraints.constrain$1(new A.Size(t1, mainAxisExtent));
          break;
      }
    },
    _getIntrinsicCrossAxis$1(childSize) {
      var t1, extent, t2,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.ListBodyParentData, extent = 0; child != null;) {
        extent = Math.max(extent, A.checkNum(childSize.call$1(child)));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return extent;
    },
    _getIntrinsicMainAxis$1(childSize) {
      var t1, extent, t2,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.ListBodyParentData, extent = 0; child != null;) {
        extent += childSize.call$1(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return extent;
    },
    computeMinIntrinsicWidth$1(height) {
      switch (A.axisDirectionToAxis(this._list_body$_axisDirection).index) {
        case 0:
          return this._getIntrinsicMainAxis$1(new A.RenderListBody_computeMinIntrinsicWidth_closure(height));
        case 1:
          return this._getIntrinsicCrossAxis$1(new A.RenderListBody_computeMinIntrinsicWidth_closure0(height));
      }
    },
    computeMaxIntrinsicWidth$1(height) {
      switch (A.axisDirectionToAxis(this._list_body$_axisDirection).index) {
        case 0:
          return this._getIntrinsicMainAxis$1(new A.RenderListBody_computeMaxIntrinsicWidth_closure(height));
        case 1:
          return this._getIntrinsicCrossAxis$1(new A.RenderListBody_computeMaxIntrinsicWidth_closure0(height));
      }
    },
    computeMinIntrinsicHeight$1(width) {
      switch (A.axisDirectionToAxis(this._list_body$_axisDirection).index) {
        case 0:
          return this._getIntrinsicMainAxis$1(new A.RenderListBody_computeMinIntrinsicHeight_closure(width));
        case 1:
          return this._getIntrinsicCrossAxis$1(new A.RenderListBody_computeMinIntrinsicHeight_closure0(width));
      }
    },
    computeMaxIntrinsicHeight$1(width) {
      switch (A.axisDirectionToAxis(this._list_body$_axisDirection).index) {
        case 0:
          return this._getIntrinsicMainAxis$1(new A.RenderListBody_computeMaxIntrinsicHeight_closure(width));
        case 1:
          return this._getIntrinsicCrossAxis$1(new A.RenderListBody_computeMaxIntrinsicHeight_closure0(width));
      }
    },
    computeDistanceToActualBaseline$1(baseline) {
      return this.defaultComputeDistanceToFirstActualBaseline$1(baseline);
    },
    paint$2(context, offset) {
      this.defaultPaint$2(context, offset);
    },
    hitTestChildren$2$position(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    }
  };
  A.RenderListBody_computeMinIntrinsicWidth_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 21
  };
  A.RenderListBody_computeMinIntrinsicWidth_closure0.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 21
  };
  A.RenderListBody_computeMaxIntrinsicWidth_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 21
  };
  A.RenderListBody_computeMaxIntrinsicWidth_closure0.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 21
  };
  A.RenderListBody_computeMinIntrinsicHeight_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 21
  };
  A.RenderListBody_computeMinIntrinsicHeight_closure0.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 21
  };
  A.RenderListBody_computeMaxIntrinsicHeight_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 21
  };
  A.RenderListBody_computeMaxIntrinsicHeight_closure0.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 21
  };
  A._RenderListBody_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.ListBodyParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.ListBodyParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A._MouseState.prototype = {
    replaceAnnotations$1(value) {
      var previous = this._annotations;
      this._annotations = value;
      return previous;
    },
    toString$0(_) {
      var _s16_ = "<optimized out>#",
        t1 = A.shortHash(this._latestEvent),
        t2 = this._annotations._length;
      return _s16_ + A.shortHash(this) + "(" + ("latestEvent: " + (_s16_ + t1)) + ", " + ("annotations: [list of " + t2 + "]") + ")";
    }
  };
  A._MouseTrackerUpdateDetails.prototype = {
    get$device(_) {
      var t1 = this.previousEvent;
      return t1.get$device(t1);
    }
  };
  A.MouseTracker.prototype = {
    _hitTestResultToAnnotations$1(result) {
      var t2, t3, _i, entry, target, t4,
        t1 = type$.MouseTrackerAnnotation,
        annotations = A.LinkedHashMap_LinkedHashMap(null, null, null, t1, type$.Matrix4);
      for (t2 = result._path, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        entry = t2[_i];
        target = entry.target;
        if (t1._is(target)) {
          t4 = entry._transform;
          t4.toString;
          annotations.$indexSet(0, target, t4);
        }
      }
      return annotations;
    },
    _findAnnotations$2(state, hitTest) {
      var t1 = state._latestEvent,
        globalPosition = t1.get$position(t1);
      t1 = state._latestEvent;
      if (!this._mouseStates.containsKey$1(0, t1.get$device(t1)))
        return A.LinkedHashMap_LinkedHashMap(null, null, null, type$.MouseTrackerAnnotation, type$.Matrix4);
      return this._hitTestResultToAnnotations$1(hitTest.call$1(globalPosition));
    },
    _handleDeviceUpdate$1(details) {
      var t1, t2;
      A.MouseTracker__handleDeviceUpdateMouseEvents(details);
      t1 = details.nextAnnotations;
      t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
      this._mouseCursorMixin.handleDeviceCursorUpdate$3(details.get$device(details), details.triggeringEvent, A.MappedIterable_MappedIterable(new A.LinkedHashMapKeyIterable(t1, t2), new A.MouseTracker__handleDeviceUpdate_closure(), t2._eval$1("Iterable.E"), type$.MouseCursor));
    },
    updateWithEvent$2($event, getResult) {
      var result, device, t1, existingState, t2;
      if ($event.get$kind($event) !== B.PointerDeviceKind_1)
        return;
      if (type$.PointerSignalEvent._is($event))
        return;
      result = type$.PointerRemovedEvent._is($event) ? A.HitTestResult$() : getResult.call$0();
      device = $event.get$device($event);
      t1 = this._mouseStates;
      existingState = t1.$index(0, device);
      if (!A.MouseTracker__shouldMarkStateDirty(existingState, $event))
        return;
      t2 = t1._length;
      new A.MouseTracker_updateWithEvent_closure(this, existingState, $event, device, result).call$0();
      if (t2 !== 0 !== (t1._length !== 0))
        this.notifyListeners$0();
    },
    updateAllDevices$1(hitTest) {
      new A.MouseTracker_updateAllDevices_closure(this, hitTest).call$0();
    }
  };
  A.MouseTracker__handleDeviceUpdate_closure.prototype = {
    call$1(annotation) {
      return annotation.get$cursor(annotation);
    },
    $signature: 833
  };
  A.MouseTracker_updateWithEvent_closure.prototype = {
    call$0() {
      var _this = this;
      new A.MouseTracker_updateWithEvent__closure(_this.$this, _this.existingState, _this.event, _this.device, _this.result).call$0();
    },
    $signature: 0
  };
  A.MouseTracker_updateWithEvent__closure.prototype = {
    call$0() {
      var t2, t3, targetState, previous, nextAnnotations, _this = this, _null = null,
        t1 = _this.existingState;
      if (t1 == null) {
        t2 = _this.event;
        if (type$.PointerRemovedEvent._is(t2))
          return;
        _this.$this._mouseStates.$indexSet(0, _this.device, new A._MouseState(A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.MouseTrackerAnnotation, type$.Matrix4), t2));
      } else {
        t2 = _this.event;
        if (type$.PointerRemovedEvent._is(t2))
          _this.$this._mouseStates.remove$1(0, t2.get$device(t2));
      }
      t3 = _this.$this;
      targetState = t3._mouseStates.$index(0, _this.device);
      if (targetState == null) {
        t1.toString;
        targetState = t1;
      }
      previous = targetState._latestEvent;
      targetState._latestEvent = t2;
      nextAnnotations = type$.PointerRemovedEvent._is(t2) ? A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.MouseTrackerAnnotation, type$.Matrix4) : t3._hitTestResultToAnnotations$1(_this.result);
      t3._handleDeviceUpdate$1(new A._MouseTrackerUpdateDetails(targetState.replaceAnnotations$1(nextAnnotations), nextAnnotations, previous, t2));
    },
    $signature: 0
  };
  A.MouseTracker_updateAllDevices_closure.prototype = {
    call$0() {
      var t1, t2, t3, t4, t5, lastEvent, nextAnnotations, previous;
      for (t1 = this.$this, t2 = t1._mouseStates, t2 = t2.get$values(t2), 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>")), t4 = this.hitTest, t3 = t3._rest[1]; t2.moveNext$0();) {
        t5 = t2.__internal$_current;
        if (t5 == null)
          t5 = t3._as(t5);
        lastEvent = t5._latestEvent;
        nextAnnotations = t1._findAnnotations$2(t5, t4);
        previous = t5._annotations;
        t5._annotations = nextAnnotations;
        t1._handleDeviceUpdate$1(new A._MouseTrackerUpdateDetails(previous, nextAnnotations, lastEvent, null));
      }
    },
    $signature: 0
  };
  A.MouseTracker__handleDeviceUpdateMouseEvents_closure.prototype = {
    call$2(annotation, transform) {
      var t1;
      if (!this.nextAnnotations.containsKey$1(0, annotation))
        if (annotation.get$validForMouseTracker() && annotation.get$onExit(annotation) != null) {
          t1 = annotation.get$onExit(annotation);
          t1.toString;
          t1.call$1(this.baseExitEvent.transformed$1(this.lastAnnotations.$index(0, annotation)));
        }
    },
    $signature: 834
  };
  A.MouseTracker__handleDeviceUpdateMouseEvents_closure0.prototype = {
    call$1(annotation) {
      return !this.lastAnnotations.containsKey$1(0, annotation);
    },
    $signature: 835
  };
  A.__MouseTrackerUpdateDetails_Object_Diagnosticable.prototype = {};
  A.ParentData.prototype = {
    detach$0(_) {
    },
    toString$0(_) {
      return "<none>";
    }
  };
  A.PaintingContext.prototype = {
    paintChild$2(child, offset) {
      var t1, _this = this;
      if (child.get$isRepaintBoundary()) {
        _this.stopRecordingIfNeeded$0();
        if (!child._needsPaint) {
          t1 = child.__RenderObject__wasRepaintBoundary;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = !t1;
        } else
          t1 = true;
        if (t1)
          A.PaintingContext__repaintCompositedChild(child, null, true);
        else if (child._needsCompositedLayerUpdate)
          A.PaintingContext_updateLayerProperties(child);
        t1 = child._layerHandle._layer;
        t1.toString;
        type$.OffsetLayer._as(t1);
        t1.set$offset(0, offset);
        _this.appendLayer$1(t1);
      } else {
        t1 = child.__RenderObject__wasRepaintBoundary;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1) {
          child._layerHandle.set$layer(0, null);
          child._paintWithContext$2(_this, offset);
        } else
          child._paintWithContext$2(_this, offset);
      }
    },
    appendLayer$1(layer) {
      layer.remove$0(0);
      this._containerLayer.append$1(0, layer);
    },
    get$canvas(_) {
      var t1, _this = this;
      if (_this._canvas == null) {
        _this._currentLayer = A.PictureLayer$(_this.estimatedBounds);
        t1 = A.PictureRecorder_PictureRecorder();
        _this._recorder = t1;
        _this._canvas = A.Canvas_Canvas(t1, null);
        t1 = _this._currentLayer;
        t1.toString;
        _this._containerLayer.append$1(0, t1);
      }
      t1 = _this._canvas;
      t1.toString;
      return t1;
    },
    stopRecordingIfNeeded$0() {
      var t1, _this = this;
      if (_this._canvas == null)
        return;
      t1 = _this._currentLayer;
      t1.toString;
      t1.set$picture(_this._recorder.endRecording$0());
      _this._canvas = _this._recorder = _this._currentLayer = null;
    },
    setIsComplexHint$0() {
      var t1 = this._currentLayer;
      if (t1 != null)
        if (!t1._isComplexHint) {
          t1._isComplexHint = true;
          t1.markNeedsAddToScene$0();
        }
    },
    pushLayer$4$childPaintBounds(childLayer, painter, offset, childPaintBounds) {
      var childContext, _this = this;
      if (childLayer._firstChild != null)
        childLayer.removeAllChildren$0();
      _this.stopRecordingIfNeeded$0();
      _this.appendLayer$1(childLayer);
      childContext = _this.createChildContext$2(childLayer, childPaintBounds == null ? _this.estimatedBounds : childPaintBounds);
      painter.call$2(childContext, offset);
      childContext.stopRecordingIfNeeded$0();
    },
    pushLayer$3(childLayer, painter, offset) {
      return this.pushLayer$4$childPaintBounds(childLayer, painter, offset, null);
    },
    createChildContext$2(childLayer, bounds) {
      return new A.PaintingContext(childLayer, bounds);
    },
    pushClipRect$6$clipBehavior$oldLayer(needsCompositing, offset, clipRect, painter, clipBehavior, oldLayer) {
      var offsetClipRect, layer, _this = this;
      if (clipBehavior === B.Clip_0) {
        painter.call$2(_this, offset);
        return null;
      }
      offsetClipRect = clipRect.shift$1(offset);
      if (needsCompositing) {
        layer = oldLayer == null ? new A.ClipRectLayer(B.Clip_1, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2)) : oldLayer;
        if (!offsetClipRect.$eq(0, layer._clipRect)) {
          layer._clipRect = offsetClipRect;
          layer.markNeedsAddToScene$0();
        }
        if (clipBehavior !== layer._layer$_clipBehavior) {
          layer._layer$_clipBehavior = clipBehavior;
          layer.markNeedsAddToScene$0();
        }
        _this.pushLayer$4$childPaintBounds(layer, painter, offset, offsetClipRect);
        return layer;
      } else {
        _this.clipRectAndPaint$4(offsetClipRect, clipBehavior, offsetClipRect, new A.PaintingContext_pushClipRect_closure(_this, painter, offset));
        return null;
      }
    },
    pushClipRRect$7$clipBehavior$oldLayer(needsCompositing, offset, bounds, clipRRect, painter, clipBehavior, oldLayer) {
      var offsetBounds, offsetClipRRect, layer, _this = this;
      if (clipBehavior === B.Clip_0) {
        painter.call$2(_this, offset);
        return null;
      }
      offsetBounds = bounds.shift$1(offset);
      offsetClipRRect = clipRRect.shift$1(offset);
      if (needsCompositing) {
        layer = oldLayer == null ? new A.ClipRRectLayer(B.Clip_2, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2)) : oldLayer;
        if (!offsetClipRRect.$eq(0, layer._clipRRect)) {
          layer._clipRRect = offsetClipRRect;
          layer.markNeedsAddToScene$0();
        }
        if (clipBehavior !== layer._layer$_clipBehavior) {
          layer._layer$_clipBehavior = clipBehavior;
          layer.markNeedsAddToScene$0();
        }
        _this.pushLayer$4$childPaintBounds(layer, painter, offset, offsetBounds);
        return layer;
      } else {
        _this.clipRRectAndPaint$4(offsetClipRRect, clipBehavior, offsetBounds, new A.PaintingContext_pushClipRRect_closure(_this, painter, offset));
        return null;
      }
    },
    pushClipPath$7$clipBehavior$oldLayer(needsCompositing, offset, bounds, clipPath, painter, clipBehavior, oldLayer) {
      var offsetBounds, offsetClipPath, layer, _this = this;
      if (clipBehavior === B.Clip_0) {
        painter.call$2(_this, offset);
        return null;
      }
      offsetBounds = bounds.shift$1(offset);
      offsetClipPath = clipPath.shift$1(offset);
      if (needsCompositing) {
        layer = oldLayer == null ? new A.ClipPathLayer(B.Clip_2, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2)) : oldLayer;
        if (offsetClipPath !== layer._clipPath) {
          layer._clipPath = offsetClipPath;
          layer.markNeedsAddToScene$0();
        }
        if (clipBehavior !== layer._layer$_clipBehavior) {
          layer._layer$_clipBehavior = clipBehavior;
          layer.markNeedsAddToScene$0();
        }
        _this.pushLayer$4$childPaintBounds(layer, painter, offset, offsetBounds);
        return layer;
      } else {
        _this.clipPathAndPaint$4(offsetClipPath, clipBehavior, offsetBounds, new A.PaintingContext_pushClipPath_closure(_this, painter, offset));
        return null;
      }
    },
    pushTransform$5$oldLayer(needsCompositing, offset, transform, painter, oldLayer) {
      var layer, _this = this,
        t1 = offset._dx,
        t2 = offset._dy,
        effectiveTransform = A.Matrix4_Matrix4$translationValues(t1, t2, 0);
      effectiveTransform.multiply$1(0, transform);
      effectiveTransform.translate$2(0, -t1, -t2);
      if (needsCompositing) {
        layer = oldLayer == null ? A.TransformLayer$(null) : oldLayer;
        layer.set$transform(0, effectiveTransform);
        _this.pushLayer$4$childPaintBounds(layer, painter, offset, A.MatrixUtils_inverseTransformRect(effectiveTransform, _this.estimatedBounds));
        return layer;
      } else {
        t1 = _this.get$canvas(_this);
        t1.save$0(0);
        t1.transform$1(0, effectiveTransform._m4storage);
        painter.call$2(_this, offset);
        _this.get$canvas(_this).restore$0(0);
        return null;
      }
    },
    pushTransform$4(needsCompositing, offset, transform, painter) {
      return this.pushTransform$5$oldLayer(needsCompositing, offset, transform, painter, null);
    },
    toString$0(_) {
      return "PaintingContext#" + A.Primitives_objectHashCode(this) + "(layer: " + this._containerLayer.toString$0(0) + ", canvas bounds: " + this.estimatedBounds.toString$0(0) + ")";
    }
  };
  A.PaintingContext_pushClipRect_closure.prototype = {
    call$0() {
      return this.painter.call$2(this.$this, this.offset);
    },
    $signature: 0
  };
  A.PaintingContext_pushClipRRect_closure.prototype = {
    call$0() {
      return this.painter.call$2(this.$this, this.offset);
    },
    $signature: 0
  };
  A.PaintingContext_pushClipPath_closure.prototype = {
    call$0() {
      return this.painter.call$2(this.$this, this.offset);
    },
    $signature: 0
  };
  A.Constraints.prototype = {};
  A.SemanticsHandle.prototype = {
    dispose$0() {
      var t1 = this.listener;
      if (t1 != null)
        this._object$_owner._semanticsOwner.removeListener$1(0, t1);
      t1 = this._object$_owner;
      if (--t1._outstandingSemanticsHandles === 0) {
        t1._semanticsOwner.dispose$0();
        t1._semanticsOwner = null;
        t1.onSemanticsOwnerDisposed.call$0();
      }
    }
  };
  A.PipelineOwner.prototype = {
    requestVisualUpdate$0() {
      this.onNeedVisualUpdate.call$0();
    },
    set$rootNode(value) {
      var t1 = this._rootNode;
      if (t1 === value)
        return;
      if (t1 != null)
        t1.detach$0(0);
      this._rootNode = value;
      value.attach$1(this);
    },
    flushLayout$0() {
      var dirtyNodes, i, node, t1, t2, t3, t4, t5, t6, t7, t8, _this = this, _null = null;
      A.Timeline_startSync("LAYOUT", _null, _null);
      try {
        for (t1 = type$.nullable_PipelineOwner, t2 = type$.JSArray_RenderObject; t3 = _this._nodesNeedingLayout, t3.length !== 0;) {
          dirtyNodes = t3;
          _this._nodesNeedingLayout = A._setArrayType([], t2);
          t3 = dirtyNodes;
          t4 = new A.PipelineOwner_flushLayout_closure();
          if (!!t3.immutable$list)
            A.throwExpression(A.UnsupportedError$("sort"));
          t5 = t3.length - 1;
          if (t5 - 0 <= 32)
            A.Sort__insertionSort(t3, 0, t5, t4);
          else
            A.Sort__dualPivotQuicksort(t3, 0, t5, t4);
          for (i = 0; i < J.get$length$asx(dirtyNodes); ++i) {
            if (_this._shouldMergeDirtyNodes) {
              _this._shouldMergeDirtyNodes = false;
              t3 = _this._nodesNeedingLayout;
              if (t3.length !== 0) {
                t4 = dirtyNodes;
                t5 = i;
                t6 = J.get$length$asx(dirtyNodes);
                A.RangeError_checkValidRange(t5, t6, J.get$length$asx(t4), _null, _null);
                t7 = A.instanceType(t4);
                t8 = new A.SubListIterable(t4, t5, t6, t7._eval$1("SubListIterable<1>"));
                t8.SubListIterable$3(t4, t5, t6, t7._precomputed1);
                B.JSArray_methods.addAll$1(t3, t8);
                break;
              }
            }
            node = J.$index$asx(dirtyNodes, i);
            if (node._needsLayout) {
              t3 = node;
              t3 = t1._as(A.AbstractNode.prototype.get$owner.call(t3)) === _this;
            } else
              t3 = false;
            if (t3)
              node._layoutWithoutResize$0();
          }
          _this._shouldMergeDirtyNodes = false;
        }
      } finally {
        _this._shouldMergeDirtyNodes = false;
        A.Timeline_finishSync();
      }
    },
    _enableMutationsToDirtySubtrees$1(callback) {
      try {
        callback.call$0();
      } finally {
        this._shouldMergeDirtyNodes = true;
      }
    },
    flushCompositingBits$0() {
      var t1, t2, t3, _i, node;
      A.Timeline_startSync("UPDATING COMPOSITING BITS", null, null);
      t1 = this._nodesNeedingCompositingBitsUpdate;
      B.JSArray_methods.sort$1(t1, new A.PipelineOwner_flushCompositingBits_closure());
      for (t2 = t1.length, t3 = type$.nullable_PipelineOwner, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        node = t1[_i];
        if (node._needsCompositingBitsUpdate && t3._as(A.AbstractNode.prototype.get$owner.call(node)) === this)
          node._updateCompositingBits$0();
      }
      B.JSArray_methods.clear$0(t1);
      A.Timeline_finishSync();
    },
    flushPaint$0() {
      var dirtyNodes, node, t1, t2, t3, t4, _i, t5, t6;
      A.Timeline_startSync("PAINT", null, null);
      try {
        dirtyNodes = this._nodesNeedingPaint;
        this._nodesNeedingPaint = A._setArrayType([], type$.JSArray_RenderObject);
        for (t1 = dirtyNodes, J.sort$1$ax(t1, new A.PipelineOwner_flushPaint_closure()), t2 = t1.length, t3 = type$.nullable_PipelineOwner, t4 = type$.OffsetLayer, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          node = t1[_i];
          if (node._needsPaint || node._needsCompositedLayerUpdate) {
            t5 = node;
            t5 = t3._as(A.AbstractNode.prototype.get$owner.call(t5)) === this;
          } else
            t5 = false;
          if (t5)
            if (node._layerHandle._layer._owner != null)
              if (node._needsPaint)
                A.PaintingContext__repaintCompositedChild(node, null, false);
              else {
                t5 = node;
                t6 = t5._layerHandle._layer;
                t6.toString;
                t5.updateCompositedLayer$1$oldLayer(t4._as(t6));
                t5._needsCompositedLayerUpdate = false;
              }
            else
              node._skippedPaintingOnLayer$0();
        }
      } finally {
        A.Timeline_finishSync();
      }
    },
    ensureSemantics$1$listener(listener) {
      var t1, _this = this;
      if (++_this._outstandingSemanticsHandles === 1) {
        t1 = type$.SemanticsNode;
        _this._semanticsOwner = new A.SemanticsOwner(A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(type$.int, t1), A.LinkedHashSet_LinkedHashSet$_empty(t1), $.$get$ChangeNotifier__emptyListeners());
        _this.onSemanticsOwnerCreated.call$0();
      }
      if (listener != null)
        _this._semanticsOwner.addListener$1(0, listener);
      return new A.SemanticsHandle(_this, listener);
    },
    ensureSemantics$0() {
      return this.ensureSemantics$1$listener(null);
    },
    flushSemantics$0() {
      var nodesToProcess, node, t1, nodesToProcess0, t2, t3, _i, t4, _this = this;
      if (_this._semanticsOwner == null)
        return;
      A.Timeline_startSync("SEMANTICS", null, null);
      try {
        t1 = _this._nodesNeedingSemantics;
        nodesToProcess0 = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
        B.JSArray_methods.sort$1(nodesToProcess0, new A.PipelineOwner_flushSemantics_closure());
        nodesToProcess = nodesToProcess0;
        t1.clear$0(0);
        for (t1 = nodesToProcess, t2 = t1.length, t3 = type$.nullable_PipelineOwner, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          node = t1[_i];
          if (node._needsSemanticsUpdate) {
            t4 = node;
            t4 = t3._as(A.AbstractNode.prototype.get$owner.call(t4)) === _this;
          } else
            t4 = false;
          if (t4)
            node._updateSemantics$0();
        }
        _this._semanticsOwner.sendSemanticsUpdate$0();
      } finally {
        A.Timeline_finishSync();
      }
    }
  };
  A.PipelineOwner_flushLayout_closure.prototype = {
    call$2(a, b) {
      return a._depth - b._depth;
    },
    $signature: 118
  };
  A.PipelineOwner_flushCompositingBits_closure.prototype = {
    call$2(a, b) {
      return a._depth - b._depth;
    },
    $signature: 118
  };
  A.PipelineOwner_flushPaint_closure.prototype = {
    call$2(a, b) {
      return b._depth - a._depth;
    },
    $signature: 118
  };
  A.PipelineOwner_flushSemantics_closure.prototype = {
    call$2(a, b) {
      return a._depth - b._depth;
    },
    $signature: 118
  };
  A.RenderObject.prototype = {
    RenderObject$0() {
      var _this = this;
      _this.__RenderObject__needsCompositing = _this.get$isRepaintBoundary() || _this.get$alwaysNeedsCompositing();
      _this.__RenderObject__wasRepaintBoundary = _this.get$isRepaintBoundary();
    },
    reassemble$0() {
      var _this = this;
      _this.markNeedsLayout$0();
      _this.markNeedsCompositingBitsUpdate$0();
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
      _this.visitChildren$1(new A.RenderObject_reassemble_closure());
    },
    dispose$0() {
      this._layerHandle.set$layer(0, null);
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.ParentData))
        child.parentData = new A.ParentData();
    },
    adoptChild$1(child) {
      var _this = this;
      _this.setupParentData$1(child);
      _this.markNeedsLayout$0();
      _this.markNeedsCompositingBitsUpdate$0();
      _this.markNeedsSemanticsUpdate$0();
      _this.super$AbstractNode$adoptChild(child);
    },
    dropChild$1(child) {
      var _this = this;
      child._cleanRelayoutBoundary$0();
      child.parentData.detach$0(0);
      child.parentData = null;
      _this.super$AbstractNode$dropChild(child);
      _this.markNeedsLayout$0();
      _this.markNeedsCompositingBitsUpdate$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    visitChildren$1(visitor) {
    },
    _debugReportException$3(method, exception, stack) {
      A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "rendering library", A.ErrorDescription$("during " + method + "()"), new A.RenderObject__debugReportException_closure(this), false));
    },
    attach$1(owner) {
      var _this = this;
      _this.super$AbstractNode$attach(owner);
      if (_this._needsLayout && _this._relayoutBoundary != null) {
        _this._needsLayout = false;
        _this.markNeedsLayout$0();
      }
      if (_this._needsCompositingBitsUpdate) {
        _this._needsCompositingBitsUpdate = false;
        _this.markNeedsCompositingBitsUpdate$0();
      }
      if (_this._needsPaint && _this._layerHandle._layer != null) {
        _this._needsPaint = false;
        _this.markNeedsPaint$0();
      }
      if (_this._needsSemanticsUpdate && _this.get$_semanticsConfiguration()._isSemanticBoundary) {
        _this._needsSemanticsUpdate = false;
        _this.markNeedsSemanticsUpdate$0();
      }
    },
    get$constraints() {
      var t1 = this._constraints;
      if (t1 == null)
        throw A.wrapException(A.StateError$("A RenderObject does not have any constraints before it has been laid out."));
      return t1;
    },
    markNeedsLayout$0() {
      var t1, _this = this;
      if (_this._needsLayout)
        return;
      t1 = _this._relayoutBoundary;
      if (t1 == null) {
        _this._needsLayout = true;
        if (_this.get$parent(_this) != null)
          _this.markParentNeedsLayout$0();
        return;
      }
      if (t1 !== _this)
        _this.markParentNeedsLayout$0();
      else {
        _this._needsLayout = true;
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(A.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(A.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingLayout.push(_this);
          t1._as(A.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      }
    },
    markParentNeedsLayout$0() {
      var t1, _this = this;
      _this._needsLayout = true;
      t1 = _this.get$parent(_this);
      t1.toString;
      type$.RenderObject._as(t1);
      if (!_this._doingThisLayoutWithCallback)
        t1.markNeedsLayout$0();
    },
    _cleanRelayoutBoundary$0() {
      var _this = this;
      if (_this._relayoutBoundary !== _this) {
        _this._relayoutBoundary = null;
        _this.visitChildren$1(A.object_RenderObject__cleanChildRelayoutBoundary$closure());
      }
    },
    _propagateRelayoutBoundary$0() {
      var t1, parentRelayoutBoundary, _this = this;
      if (_this._relayoutBoundary === _this)
        return;
      t1 = type$.nullable_RenderObject._as(_this.get$parent(_this));
      parentRelayoutBoundary = t1 == null ? null : t1._relayoutBoundary;
      if (parentRelayoutBoundary != _this._relayoutBoundary) {
        _this._relayoutBoundary = parentRelayoutBoundary;
        _this.visitChildren$1(A.object_RenderObject__propagateRelayoutBoundaryToChild$closure());
      }
    },
    _layoutWithoutResize$0() {
      var e, stack, exception, _this = this;
      try {
        _this.performLayout$0();
        _this.markNeedsSemanticsUpdate$0();
      } catch (exception) {
        e = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        _this._debugReportException$3("performLayout", e, stack);
      }
      _this._needsLayout = false;
      _this.markNeedsPaint$0();
    },
    layout$2$parentUsesSize(constraints, parentUsesSize) {
      var e, stack, e0, stack0, relayoutBoundary, exception, _this = this,
        t1 = $.debugProfileLayoutsEnabled;
      if (t1)
        A.Timeline_startSync(A.getRuntimeType(_this).toString$0(0), null, null);
      if (!parentUsesSize || _this.get$sizedByParent() || constraints.get$isTight() || !(_this.get$parent(_this) instanceof A.RenderObject))
        relayoutBoundary = _this;
      else {
        t1 = _this.get$parent(_this);
        t1.toString;
        t1 = type$.RenderObject._as(t1)._relayoutBoundary;
        t1.toString;
        relayoutBoundary = t1;
      }
      if (!_this._needsLayout && constraints.$eq(0, _this._constraints)) {
        if (relayoutBoundary !== _this._relayoutBoundary) {
          _this._relayoutBoundary = relayoutBoundary;
          _this.visitChildren$1(A.object_RenderObject__propagateRelayoutBoundaryToChild$closure());
        }
        t1 = $.debugProfileLayoutsEnabled;
        if (t1)
          A.Timeline_finishSync();
        return;
      }
      _this._constraints = constraints;
      t1 = _this._relayoutBoundary;
      if (t1 != null && relayoutBoundary !== t1)
        _this.visitChildren$1(A.object_RenderObject__cleanChildRelayoutBoundary$closure());
      _this._relayoutBoundary = relayoutBoundary;
      if (_this.get$sizedByParent())
        try {
          _this.performResize$0();
        } catch (exception) {
          e = A.unwrapException(exception);
          stack = A.getTraceFromException(exception);
          _this._debugReportException$3("performResize", e, stack);
        }
      try {
        _this.performLayout$0();
        _this.markNeedsSemanticsUpdate$0();
      } catch (exception) {
        e0 = A.unwrapException(exception);
        stack0 = A.getTraceFromException(exception);
        _this._debugReportException$3("performLayout", e0, stack0);
      }
      _this._needsLayout = false;
      _this.markNeedsPaint$0();
      t1 = $.debugProfileLayoutsEnabled;
      if (t1)
        A.Timeline_finishSync();
    },
    get$sizedByParent() {
      return false;
    },
    invokeLayoutCallback$1$1(callback, $T) {
      var _this = this;
      _this._doingThisLayoutWithCallback = true;
      try {
        type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(_this))._enableMutationsToDirtySubtrees$1(new A.RenderObject_invokeLayoutCallback_closure(_this, callback, $T));
      } finally {
        _this._doingThisLayoutWithCallback = false;
      }
    },
    get$isRepaintBoundary() {
      return false;
    },
    get$alwaysNeedsCompositing() {
      return false;
    },
    updateCompositedLayer$1$oldLayer(oldLayer) {
      return oldLayer == null ? A.OffsetLayer$(B.Offset_0_0) : oldLayer;
    },
    get$layer(_) {
      return this._layerHandle._layer;
    },
    markNeedsCompositingBitsUpdate$0() {
      var t1, t2, t3, _this = this;
      if (_this._needsCompositingBitsUpdate)
        return;
      t1 = _this._needsCompositingBitsUpdate = true;
      if (_this.get$parent(_this) instanceof A.RenderObject) {
        t2 = _this.get$parent(_this);
        t2.toString;
        type$.RenderObject._as(t2);
        if (t2._needsCompositingBitsUpdate)
          return;
        t3 = _this.__RenderObject__wasRepaintBoundary;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        if ((t3 ? !_this.get$isRepaintBoundary() : t1) && !t2.get$isRepaintBoundary()) {
          t2.markNeedsCompositingBitsUpdate$0();
          return;
        }
      }
      t1 = type$.nullable_PipelineOwner;
      if (t1._as(A.AbstractNode.prototype.get$owner.call(_this)) != null)
        t1._as(A.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingCompositingBitsUpdate.push(_this);
    },
    _updateCompositingBits$0() {
      var t1, t2, _this = this;
      if (!_this._needsCompositingBitsUpdate)
        return;
      t1 = _this.__RenderObject__needsCompositing;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__RenderObject__needsCompositing = false;
      _this.visitChildren$1(new A.RenderObject__updateCompositingBits_closure(_this));
      if (_this.get$isRepaintBoundary() || _this.get$alwaysNeedsCompositing())
        _this.__RenderObject__needsCompositing = true;
      if (!_this.get$isRepaintBoundary()) {
        t2 = _this.__RenderObject__wasRepaintBoundary;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
      } else
        t2 = false;
      if (t2) {
        _this._needsCompositedLayerUpdate = _this._needsPaint = false;
        t1 = type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(_this));
        if (t1 != null)
          B.JSArray_methods.remove$1(t1._nodesNeedingPaint, _this);
        _this._needsCompositingBitsUpdate = false;
        _this.markNeedsPaint$0();
      } else {
        t2 = _this.__RenderObject__needsCompositing;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t1 !== t2) {
          _this._needsCompositingBitsUpdate = false;
          _this.markNeedsPaint$0();
        } else
          _this._needsCompositingBitsUpdate = false;
      }
    },
    markNeedsPaint$0() {
      var t1, _this = this;
      if (_this._needsPaint)
        return;
      _this._needsPaint = true;
      if (_this.get$isRepaintBoundary()) {
        t1 = _this.__RenderObject__wasRepaintBoundary;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
      } else
        t1 = false;
      if (t1) {
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(A.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(A.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingPaint.push(_this);
          t1._as(A.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      } else if (_this.get$parent(_this) instanceof A.RenderObject) {
        t1 = _this.get$parent(_this);
        t1.toString;
        type$.RenderObject._as(t1).markNeedsPaint$0();
      } else {
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(A.AbstractNode.prototype.get$owner.call(_this)) != null)
          t1._as(A.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
      }
    },
    markNeedsCompositedLayerUpdate$0() {
      var t1, _this = this;
      if (_this._needsCompositedLayerUpdate || _this._needsPaint)
        return;
      _this._needsCompositedLayerUpdate = true;
      if (_this.get$isRepaintBoundary()) {
        t1 = _this.__RenderObject__wasRepaintBoundary;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
      } else
        t1 = false;
      if (t1) {
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(A.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(A.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingPaint.push(_this);
          t1._as(A.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      } else
        _this.markNeedsPaint$0();
    },
    _skippedPaintingOnLayer$0() {
      var t1,
        node = this.get$parent(this);
      for (; node instanceof A.RenderObject;) {
        if (node.get$isRepaintBoundary()) {
          t1 = node._layerHandle._layer;
          if (t1 == null)
            break;
          if (t1._owner != null)
            break;
          node._needsPaint = true;
        }
        node = node.get$parent(node);
      }
    },
    _paintWithContext$2(context, offset) {
      var e, stack, t1, exception, _this = this;
      if (_this._needsLayout)
        return;
      t1 = $.debugProfilePaintsEnabled;
      if (t1)
        A.Timeline_startSync(A.getRuntimeType(_this).toString$0(0), null, null);
      _this._needsCompositedLayerUpdate = _this._needsPaint = false;
      _this.__RenderObject__wasRepaintBoundary = _this.get$isRepaintBoundary();
      try {
        _this.paint$2(context, offset);
      } catch (exception) {
        e = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        _this._debugReportException$3("paint", e, stack);
      }
      t1 = $.debugProfilePaintsEnabled;
      if (t1)
        A.Timeline_finishSync();
    },
    paint$2(context, offset) {
    },
    applyPaintTransform$2(child, transform) {
    },
    paintsChild$1(child) {
      return true;
    },
    getTransformTo$1(_, ancestor) {
      var rootNode, renderers, t2, renderer, t3, transform, index, index0,
        t1 = ancestor == null;
      if (t1) {
        rootNode = type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(this))._rootNode;
        if (rootNode instanceof A.RenderObject)
          ancestor = rootNode;
      }
      renderers = A._setArrayType([], type$.JSArray_RenderObject);
      t2 = type$.RenderObject;
      renderer = this;
      while (renderer !== ancestor) {
        renderers.push(renderer);
        t3 = renderer.get$parent(renderer);
        t3.toString;
        t2._as(t3);
        renderer = t3;
      }
      if (!t1) {
        ancestor.toString;
        renderers.push(ancestor);
      }
      transform = new A.Matrix4(new Float64Array(16));
      transform.setIdentity$0();
      for (index = renderers.length - 1; index > 0; index = index0) {
        index0 = index - 1;
        renderers[index].applyPaintTransform$2(renderers[index0], transform);
      }
      return transform;
    },
    describeApproximatePaintClip$1(child) {
      return null;
    },
    describeSemanticsClip$1(child) {
      return null;
    },
    describeSemanticsConfiguration$1(config) {
    },
    sendSemanticsEvent$1(semanticsEvent) {
      var t1, _this = this;
      if (type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(_this))._semanticsOwner == null)
        return;
      t1 = _this._semantics;
      if (t1 != null && !t1._isMergedIntoParent)
        t1.sendEvent$1(semanticsEvent);
      else if (_this.get$parent(_this) != null) {
        t1 = _this.get$parent(_this);
        t1.toString;
        type$.RenderObject._as(t1).sendSemanticsEvent$1(semanticsEvent);
      }
    },
    get$_semanticsConfiguration() {
      var t1, _this = this;
      if (_this._cachedSemanticsConfiguration == null) {
        t1 = A.SemanticsConfiguration$();
        _this._cachedSemanticsConfiguration = t1;
        _this.describeSemanticsConfiguration$1(t1);
      }
      t1 = _this._cachedSemanticsConfiguration;
      t1.toString;
      return t1;
    },
    get$debugSemantics() {
      var t1 = this._semantics;
      return t1;
    },
    clearSemantics$0() {
      this._needsSemanticsUpdate = true;
      this._semantics = null;
      this.visitChildren$1(new A.RenderObject_clearSemantics_closure());
    },
    markNeedsSemanticsUpdate$0() {
      var t1, wasSemanticsBoundary, isEffectiveSemanticsBoundary, node, t2, t3, _this = this;
      if (_this._owner == null || type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(_this))._semanticsOwner == null) {
        _this._cachedSemanticsConfiguration = null;
        return;
      }
      if (_this._semantics != null) {
        t1 = _this._cachedSemanticsConfiguration;
        t1 = t1 == null ? null : t1._isSemanticBoundary;
        wasSemanticsBoundary = t1 === true;
      } else
        wasSemanticsBoundary = false;
      _this._cachedSemanticsConfiguration = null;
      isEffectiveSemanticsBoundary = _this.get$_semanticsConfiguration()._isSemanticBoundary && wasSemanticsBoundary;
      t1 = type$.RenderObject;
      node = _this;
      while (true) {
        if (!(!isEffectiveSemanticsBoundary && node.get$parent(node) instanceof A.RenderObject))
          break;
        if (node !== _this && node._needsSemanticsUpdate)
          break;
        node._needsSemanticsUpdate = true;
        t2 = node.get$parent(node);
        t2.toString;
        t1._as(t2);
        if (t2._cachedSemanticsConfiguration == null) {
          t3 = A.SemanticsConfiguration$();
          t2._cachedSemanticsConfiguration = t3;
          t2.describeSemanticsConfiguration$1(t3);
        }
        isEffectiveSemanticsBoundary = t2._cachedSemanticsConfiguration._isSemanticBoundary;
        if (isEffectiveSemanticsBoundary && t2._semantics == null)
          return;
        node = t2;
      }
      if (node !== _this && _this._semantics != null && _this._needsSemanticsUpdate)
        type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingSemantics.remove$1(0, _this);
      if (!node._needsSemanticsUpdate) {
        node._needsSemanticsUpdate = true;
        t1 = type$.nullable_PipelineOwner;
        if (t1._as(A.AbstractNode.prototype.get$owner.call(_this)) != null) {
          t1._as(A.AbstractNode.prototype.get$owner.call(_this))._nodesNeedingSemantics.add$1(0, node);
          t1._as(A.AbstractNode.prototype.get$owner.call(_this)).requestVisualUpdate$0();
        }
      }
    },
    _updateSemantics$0() {
      var t1, interestingFragment, result, t2, t3, t4, _this = this, _null = null;
      if (_this._needsLayout)
        return;
      t1 = _this._semantics;
      if (t1 == null)
        t1 = _null;
      else {
        t1 = type$.nullable_SemanticsNode._as(A.AbstractNode.prototype.get$parent.call(t1, t1));
        if (t1 == null)
          t1 = _null;
        else
          t1 = t1._mergeAllDescendantsIntoThisNode || t1._isMergedIntoParent;
      }
      interestingFragment = type$._InterestingSemanticsFragment._as(_this._getSemanticsForParent$1$mergeIntoParent(t1 === true));
      result = A._setArrayType([], type$.JSArray_SemanticsNode);
      t1 = _this._semantics;
      t2 = t1 == null;
      t3 = t2 ? _null : t1.parentSemanticsClipRect;
      t4 = t2 ? _null : t1.parentPaintClipRect;
      t1 = t2 ? _null : t1.elevationAdjustment;
      interestingFragment.compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(t1 == null ? 0 : t1, t4, t3, result);
      B.JSArray_methods.get$single(result);
    },
    _getSemanticsForParent$1$mergeIntoParent(mergeIntoParent) {
      var producesForkingFragment, t1, fragments, toBeMarkedExplicit, t2, t3, t4, result, _this = this, _box_0 = {},
        config = _this.get$_semanticsConfiguration();
      _box_0.dropSemanticsOfPreviousSiblings = config.isBlockingSemanticsOfPreviouslyPaintedNodes;
      producesForkingFragment = !config._hasBeenAnnotated && !config._isSemanticBoundary;
      t1 = type$.JSArray__InterestingSemanticsFragment;
      fragments = A._setArrayType([], t1);
      toBeMarkedExplicit = A.LinkedHashSet_LinkedHashSet$_empty(type$._InterestingSemanticsFragment);
      _this.visitChildrenForSemantics$1(new A.RenderObject__getSemanticsForParent_closure(_box_0, _this, mergeIntoParent || config._isMergingSemanticsOfDescendants, fragments, toBeMarkedExplicit, config, producesForkingFragment));
      for (t2 = A._LinkedHashSetIterator$(toBeMarkedExplicit, toBeMarkedExplicit._collection$_modifications, toBeMarkedExplicit.$ti._precomputed1), t3 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t4 = t2._collection$_current;
        (t4 == null ? t3._as(t4) : t4).markAsExplicit$0();
      }
      _this._needsSemanticsUpdate = false;
      if (!(_this.get$parent(_this) instanceof A.RenderObject)) {
        t2 = _box_0.dropSemanticsOfPreviousSiblings;
        result = new A._RootSemanticsFragment(A._setArrayType([], t1), A._setArrayType([_this], type$.JSArray_RenderObject), t2);
      } else {
        t2 = _box_0.dropSemanticsOfPreviousSiblings;
        if (producesForkingFragment)
          result = new A._ContainerSemanticsFragment(A._setArrayType([], t1), t2);
        else {
          result = new A._SwitchableSemanticsFragment(mergeIntoParent, config, A._setArrayType([], t1), A._setArrayType([_this], type$.JSArray_RenderObject), t2);
          if (config._isSemanticBoundary)
            result._isExplicit = true;
        }
      }
      result.addAll$1(0, fragments);
      return result;
    },
    visitChildrenForSemantics$1(visitor) {
      this.visitChildren$1(visitor);
    },
    assembleSemanticsNode$3(node, config, children) {
      node.updateWith$2$childrenInInversePaintOrder$config(0, type$.List_SemanticsNode._as(children), config);
    },
    handleEvent$2($event, entry) {
    },
    toStringShort$0() {
      var target, count, _this = this,
        header = "<optimized out>#" + A.shortHash(_this),
        t1 = _this._relayoutBoundary;
      if (t1 != null && t1 !== _this) {
        t1 = type$.nullable_RenderObject;
        target = t1._as(_this.get$parent(_this));
        count = 1;
        while (true) {
          if (!(target != null && target !== _this._relayoutBoundary))
            break;
          target = t1._as(target.get$parent(target));
          ++count;
        }
        header += " relayoutBoundary=up" + count;
      }
      if (_this._needsLayout)
        header += " NEEDS-LAYOUT";
      if (_this._needsPaint)
        header += " NEEDS-PAINT";
      if (_this._needsCompositingBitsUpdate)
        header += " NEEDS-COMPOSITING-BITS-UPDATE";
      if (_this._owner == null)
        header += " DETACHED";
      return header;
    },
    toString$0(_) {
      return this.toStringShort$0();
    },
    debugDescribeChildren$0() {
      return A._setArrayType([], type$.JSArray_DiagnosticsNode);
    },
    showOnScreen$4$curve$descendant$duration$rect(curve, descendant, duration, rect) {
      var t1, _this = this;
      if (_this.get$parent(_this) instanceof A.RenderObject) {
        t1 = _this.get$parent(_this);
        t1.toString;
        type$.RenderObject._as(t1);
        t1.showOnScreen$4$curve$descendant$duration$rect(curve, descendant == null ? _this : descendant, duration, rect);
      }
    },
    showOnScreen$0() {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, null, B.Duration_0, null);
    },
    showOnScreen$1$rect(rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, null, B.Duration_0, rect);
    },
    showOnScreen$3$curve$duration$rect(curve, duration, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(curve, null, duration, rect);
    },
    showOnScreen$2$descendant$rect(descendant, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, descendant, B.Duration_0, rect);
    },
    $isDiagnosticableTree: 1,
    $isHitTestTarget: 1
  };
  A.RenderObject_reassemble_closure.prototype = {
    call$1(child) {
      child.reassemble$0();
    },
    $signature: 81
  };
  A.RenderObject__debugReportException_closure.prototype = {
    call$0() {
      var t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        t2 = this.$this;
      t1.push(A.DiagnosticableTreeNode$("The following RenderObject was being processed when the exception was fired", B.DiagnosticsTreeStyle_10, t2));
      t1.push(A.DiagnosticableTreeNode$("RenderObject", B.DiagnosticsTreeStyle_11, t2));
      return t1;
    },
    $signature: 36
  };
  A.RenderObject_invokeLayoutCallback_closure.prototype = {
    call$0() {
      this.callback.call$1(this.T._as(this.$this.get$constraints()));
    },
    $signature: 0
  };
  A.RenderObject__updateCompositingBits_closure.prototype = {
    call$1(child) {
      var t1;
      child._updateCompositingBits$0();
      t1 = child.__RenderObject__needsCompositing;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1)
        this.$this.__RenderObject__needsCompositing = true;
    },
    $signature: 81
  };
  A.RenderObject_clearSemantics_closure.prototype = {
    call$1(child) {
      child.clearSemantics$0();
    },
    $signature: 81
  };
  A.RenderObject__getSemanticsForParent_closure.prototype = {
    call$1(renderChild) {
      var t1, t2, t3, t4, t5, t6, t7, _i, fragment, siblingLength, i, siblingFragment, t8, _this = this,
        parentFragment = renderChild._getSemanticsForParent$1$mergeIntoParent(_this.childrenMergeIntoParent);
      if (parentFragment.dropsSemanticsOfPreviousSiblings) {
        B.JSArray_methods.clear$0(_this.fragments);
        _this.toBeMarkedExplicit.clear$0(0);
        if (!_this.config._isSemanticBoundary)
          _this._box_0.dropSemanticsOfPreviousSiblings = true;
      }
      for (t1 = parentFragment.get$interestingFragments(), t2 = t1.length, t3 = _this.fragments, t4 = _this.toBeMarkedExplicit, t5 = _this.config, t6 = _this.$this, t7 = _this.producesForkingFragment, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        fragment = t1[_i];
        t3.push(fragment);
        fragment._ancestorChain.push(t6);
        fragment.addTags$1(t5._tagsForChildren);
        if (t5.explicitChildNodes || !(t6.get$parent(t6) instanceof A.RenderObject)) {
          fragment.markAsExplicit$0();
          continue;
        }
        if (fragment.get$config() == null || t7)
          continue;
        if (!t5.isCompatibleWith$1(fragment.get$config()))
          t4.add$1(0, fragment);
        siblingLength = t3.length - 1;
        for (i = 0; i < siblingLength; ++i) {
          siblingFragment = t3[i];
          t8 = fragment.get$config();
          t8.toString;
          if (!t8.isCompatibleWith$1(siblingFragment.get$config())) {
            t4.add$1(0, fragment);
            t4.add$1(0, siblingFragment);
          }
        }
      }
    },
    $signature: 81
  };
  A.RenderObjectWithChildMixin.prototype = {
    set$child(value) {
      var _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        _this.dropChild$1(t1);
      _this.RenderObjectWithChildMixin__child = value;
      if (value != null)
        _this.adoptChild$1(value);
    },
    redepthChildren$0() {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        this.redepthChild$1(t1);
    },
    visitChildren$1(visitor) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    debugDescribeChildren$0() {
      var t1 = this.RenderObjectWithChildMixin__child,
        t2 = type$.JSArray_DiagnosticsNode;
      return t1 != null ? A._setArrayType([A.DiagnosticableTreeNode$("child", null, t1)], t2) : A._setArrayType([], t2);
    }
  };
  A.ContainerParentDataMixin.prototype = {$isParentData: 1};
  A.ContainerRenderObjectMixin.prototype = {
    get$childCount() {
      return this.ContainerRenderObjectMixin__childCount;
    },
    _insertIntoChildList$2$after(child, after) {
      var t2, t3, t4, _this = this,
        t1 = child.parentData;
      t1.toString;
      t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      t2._as(t1);
      ++_this.ContainerRenderObjectMixin__childCount;
      if (after == null) {
        t1 = t1.ContainerParentDataMixin_nextSibling = _this.ContainerRenderObjectMixin__firstChild;
        if (t1 != null) {
          t1 = t1.parentData;
          t1.toString;
          t2._as(t1).ContainerParentDataMixin_previousSibling = child;
        }
        _this.ContainerRenderObjectMixin__firstChild = child;
        if (_this.ContainerRenderObjectMixin__lastChild == null)
          _this.ContainerRenderObjectMixin__lastChild = child;
      } else {
        t3 = after.parentData;
        t3.toString;
        t2._as(t3);
        t4 = t3.ContainerParentDataMixin_nextSibling;
        if (t4 == null) {
          t1.ContainerParentDataMixin_previousSibling = after;
          _this.ContainerRenderObjectMixin__lastChild = t3.ContainerParentDataMixin_nextSibling = child;
        } else {
          t1.ContainerParentDataMixin_nextSibling = t4;
          t1.ContainerParentDataMixin_previousSibling = after;
          t1 = t4.parentData;
          t1.toString;
          t2._as(t1).ContainerParentDataMixin_previousSibling = t3.ContainerParentDataMixin_nextSibling = child;
        }
      }
    },
    insert$2$after(_, child, after) {
      this.adoptChild$1(child);
      this._insertIntoChildList$2$after(child, after);
    },
    addAll$1(_, children) {
    },
    _removeFromChildList$1(child) {
      var t2, t3, t4, t5, _this = this,
        t1 = child.parentData;
      t1.toString;
      t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      t2._as(t1);
      t3 = t1.ContainerParentDataMixin_previousSibling;
      t4 = t1.ContainerParentDataMixin_nextSibling;
      if (t3 == null)
        _this.ContainerRenderObjectMixin__firstChild = t4;
      else {
        t5 = t3.parentData;
        t5.toString;
        t2._as(t5).ContainerParentDataMixin_nextSibling = t4;
      }
      t4 = t1.ContainerParentDataMixin_nextSibling;
      if (t4 == null)
        _this.ContainerRenderObjectMixin__lastChild = t3;
      else {
        t4 = t4.parentData;
        t4.toString;
        t2._as(t4).ContainerParentDataMixin_previousSibling = t3;
      }
      t1.ContainerParentDataMixin_nextSibling = t1.ContainerParentDataMixin_previousSibling = null;
      --_this.ContainerRenderObjectMixin__childCount;
    },
    remove$1(_, child) {
      this._removeFromChildList$1(child);
      this.dropChild$1(child);
    },
    move$2$after(child, after) {
      var _this = this,
        t1 = child.parentData;
      t1.toString;
      if (A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1")._as(t1).ContainerParentDataMixin_previousSibling == after)
        return;
      _this._removeFromChildList$1(child);
      _this._insertIntoChildList$2$after(child, after);
      _this.markNeedsLayout$0();
    },
    redepthChildren$0() {
      var t1, t2, t3,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); child != null;) {
        t2 = child._depth;
        t3 = this._depth;
        if (t2 <= t3) {
          child._depth = t3 + 1;
          child.redepthChildren$0();
        }
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    visitChildren$1(visitor) {
      var t1, t2,
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); child != null;) {
        visitor.call$1(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    get$firstChild(_) {
      return this.ContainerRenderObjectMixin__firstChild;
    },
    childBefore$1(child) {
      var t1 = child.parentData;
      t1.toString;
      return A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1")._as(t1).ContainerParentDataMixin_previousSibling;
    },
    childAfter$1(child) {
      var t1 = child.parentData;
      t1.toString;
      return A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1")._as(t1).ContainerParentDataMixin_nextSibling;
    },
    debugDescribeChildren$0() {
      var t1, count, t2,
        children = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = this.ContainerRenderObjectMixin__firstChild;
      if (child != null)
        for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"), count = 1; true; child = t2) {
          children.push(new A.DiagnosticableTreeNode(child, "child " + count, true, true, null, null));
          if (child === this.ContainerRenderObjectMixin__lastChild)
            break;
          ++count;
          t2 = child.parentData;
          t2.toString;
          t2 = t1._as(t2).ContainerParentDataMixin_nextSibling;
          t2.toString;
        }
      return children;
    }
  };
  A.RelayoutWhenSystemFontsChangeMixin.prototype = {
    systemFontsDidChange$0() {
      this.markNeedsLayout$0();
    }
  };
  A._SemanticsFragment.prototype = {};
  A._ContainerSemanticsFragment.prototype = {
    addAll$1(_, fragments) {
      B.JSArray_methods.addAll$1(this.interestingFragments, fragments);
    },
    get$interestingFragments() {
      return this.interestingFragments;
    }
  };
  A._InterestingSemanticsFragment.prototype = {
    get$interestingFragments() {
      return A._setArrayType([this], type$.JSArray__InterestingSemanticsFragment);
    },
    addTags$1(tags) {
      var t1;
      if (tags == null || tags._collection$_length === 0)
        return;
      t1 = this._object$_tagsForChildren;
      (t1 == null ? this._object$_tagsForChildren = A.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsTag) : t1).addAll$1(0, tags);
    }
  };
  A._RootSemanticsFragment.prototype = {
    compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(elevationAdjustment, parentPaintClipRect, parentSemanticsClipRect, result) {
      var t3, t4, t5, children, _i,
        t1 = this._ancestorChain,
        t2 = B.JSArray_methods.get$first(t1);
      if (t2._semantics == null) {
        t3 = B.JSArray_methods.get$first(t1).get$showOnScreen();
        t4 = B.JSArray_methods.get$first(t1);
        t4 = type$.nullable_PipelineOwner._as(A.AbstractNode.prototype.get$owner.call(t4))._semanticsOwner;
        t4.toString;
        t5 = $.$get$SemanticsNode__kEmptyConfig();
        t5 = new A.SemanticsNode(null, 0, t3, B.Rect_0_0_0_0, t5._isMergingSemanticsOfDescendants, t5._actions, t5._customSemanticsActions, t5._actionsAsBits, t5._flags, t5._attributedLabel, t5._attributedValue, t5._attributedIncreasedValue, t5._attributedDecreasedValue, t5._attributedHint, t5._tooltip, t5._elevation, t5._thickness, t5._textDirection);
        t5.attach$1(t4);
        t2._semantics = t5;
      }
      t2 = B.JSArray_methods.get$first(t1)._semantics;
      t2.toString;
      t2.set$rect(0, B.JSArray_methods.get$first(t1).get$semanticBounds());
      children = A._setArrayType([], type$.JSArray_SemanticsNode);
      for (t1 = this._object$_children, t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(0, parentPaintClipRect, parentSemanticsClipRect, children);
      t2.updateWith$2$childrenInInversePaintOrder$config(0, children, null);
      result.push(t2);
    },
    get$config() {
      return null;
    },
    markAsExplicit$0() {
    },
    addAll$1(_, fragments) {
      B.JSArray_methods.addAll$1(this._object$_children, fragments);
    }
  };
  A._SwitchableSemanticsFragment.prototype = {
    compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(elevationAdjustment, parentPaintClipRect, parentSemanticsClipRect, result) {
      var t1, t2, t3, t4, t5, _i, fragment, t6, geometry, node, children, _this = this, _null = null;
      if (!_this._isExplicit) {
        t1 = _this._ancestorChain;
        B.JSArray_methods.get$first(t1)._semantics = null;
        for (t2 = _this._object$_children, t3 = t2.length, t4 = A._arrayInstanceType(t1), t5 = t4._precomputed1, t4 = t4._eval$1("SubListIterable<1>"), _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
          fragment = t2[_i];
          t6 = new A.SubListIterable(t1, 1, _null, t4);
          t6.SubListIterable$3(t1, 1, _null, t5);
          B.JSArray_methods.addAll$1(fragment._ancestorChain, t6);
          fragment.compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(elevationAdjustment + _this._config._elevation, parentPaintClipRect, parentSemanticsClipRect, result);
        }
        return;
      }
      t1 = _this._ancestorChain;
      if (t1.length > 1) {
        geometry = new A._SemanticsGeometry();
        geometry._computeValues$3(parentSemanticsClipRect, parentPaintClipRect, t1);
      } else
        geometry = _null;
      t2 = _this._mergeIntoParent;
      t3 = !t2;
      if (t3) {
        if (geometry == null)
          t4 = _null;
        else {
          t4 = geometry.___SemanticsGeometry__rect;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t4 = t4.get$isEmpty(t4);
        }
        t4 = t4 === true;
      } else
        t4 = false;
      if (t4)
        return;
      t4 = B.JSArray_methods.get$first(t1);
      if (t4._semantics == null)
        t4._semantics = A.SemanticsNode$(_null, B.JSArray_methods.get$first(t1).get$showOnScreen());
      node = B.JSArray_methods.get$first(t1)._semantics;
      node.set$isMergedIntoParent(t2);
      node.tags = _this._object$_tagsForChildren;
      node.elevationAdjustment = elevationAdjustment;
      if (elevationAdjustment !== 0) {
        _this._ensureConfigIsWritable$0();
        t2 = _this._config;
        t2.set$elevation(0, t2._elevation + elevationAdjustment);
      }
      if (geometry != null) {
        t2 = geometry.___SemanticsGeometry__rect;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        node.set$rect(0, t2);
        t2 = geometry.___SemanticsGeometry__transform;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        node.set$transform(0, t2);
        node.parentSemanticsClipRect = geometry._semanticsClipRect;
        node.parentPaintClipRect = geometry._paintClipRect;
        if (t3 && geometry._markAsHidden) {
          _this._ensureConfigIsWritable$0();
          _this._config._setFlag$2(B.SemanticsFlag_8192, true);
        }
      }
      children = A._setArrayType([], type$.JSArray_SemanticsNode);
      for (t2 = _this._object$_children, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        fragment = t2[_i];
        t4 = node.parentSemanticsClipRect;
        fragment.compileChildren$4$elevationAdjustment$parentPaintClipRect$parentSemanticsClipRect$result(0, node.parentPaintClipRect, t4, children);
      }
      t2 = _this._config;
      if (t2._isSemanticBoundary)
        B.JSArray_methods.get$first(t1).assembleSemanticsNode$3(node, _this._config, children);
      else
        node.updateWith$2$childrenInInversePaintOrder$config(0, children, t2);
      result.push(node);
    },
    get$config() {
      return this._isExplicit ? null : this._config;
    },
    addAll$1(_, fragments) {
      var t1, t2, _i, fragment, t3, t4, _this = this;
      for (t1 = fragments.length, t2 = _this._object$_children, _i = 0; _i < fragments.length; fragments.length === t1 || (0, A.throwConcurrentModificationError)(fragments), ++_i) {
        fragment = fragments[_i];
        t2.push(fragment);
        if (fragment.get$config() == null)
          continue;
        if (!_this._isConfigWritable) {
          _this._config = _this._config.copy$0();
          _this._isConfigWritable = true;
        }
        t3 = _this._config;
        t4 = fragment.get$config();
        t4.toString;
        t3.absorb$1(t4);
      }
    },
    _ensureConfigIsWritable$0() {
      var t1, t2, _this = this;
      if (!_this._isConfigWritable) {
        t1 = _this._config;
        t2 = A.SemanticsConfiguration$();
        t2._isSemanticBoundary = t1._isSemanticBoundary;
        t2.explicitChildNodes = t1.explicitChildNodes;
        t2.isBlockingSemanticsOfPreviouslyPaintedNodes = t1.isBlockingSemanticsOfPreviouslyPaintedNodes;
        t2._hasBeenAnnotated = t1._hasBeenAnnotated;
        t2._isMergingSemanticsOfDescendants = t1._isMergingSemanticsOfDescendants;
        t2._textDirection = t1._textDirection;
        t2._sortKey = t1._sortKey;
        t2._attributedLabel = t1._attributedLabel;
        t2._attributedIncreasedValue = t1._attributedIncreasedValue;
        t2._attributedValue = t1._attributedValue;
        t2._attributedDecreasedValue = t1._attributedDecreasedValue;
        t2._attributedHint = t1._attributedHint;
        t2._hintOverrides = t1._hintOverrides;
        t2._tooltip = t1._tooltip;
        t2._elevation = t1._elevation;
        t2._thickness = t1._thickness;
        t2._flags = t1._flags;
        t2._tagsForChildren = t1._tagsForChildren;
        t2._textSelection = t1._textSelection;
        t2._scrollPosition = t1._scrollPosition;
        t2._scrollExtentMax = t1._scrollExtentMax;
        t2._scrollExtentMin = t1._scrollExtentMin;
        t2._actionsAsBits = t1._actionsAsBits;
        t2._indexInParent = t1._indexInParent;
        t2._scrollIndex = t1._scrollIndex;
        t2._scrollChildCount = t1._scrollChildCount;
        t2._platformViewId = t1._platformViewId;
        t2._maxValueLength = t1._maxValueLength;
        t2._currentValueLength = t1._currentValueLength;
        t2._actions.addAll$1(0, t1._actions);
        t2._customSemanticsActions.addAll$1(0, t1._customSemanticsActions);
        _this._config = t2;
        _this._isConfigWritable = true;
      }
    },
    markAsExplicit$0() {
      this._isExplicit = true;
    }
  };
  A._SemanticsGeometry.prototype = {
    _computeValues$3(parentSemanticsClipRect, parentPaintClipRect, ancestors) {
      var index, $parent, child, t2, owner, paintRect, _this = this,
        t1 = new A.Matrix4(new Float64Array(16));
      t1.setIdentity$0();
      _this.___SemanticsGeometry__transform = t1;
      _this._semanticsClipRect = parentSemanticsClipRect;
      _this._paintClipRect = parentPaintClipRect;
      for (index = ancestors.length - 1; index > 0;) {
        $parent = ancestors[index];
        --index;
        child = ancestors[index];
        parentSemanticsClipRect = $parent.describeSemanticsClip$1(child);
        if (parentSemanticsClipRect != null) {
          _this._semanticsClipRect = parentSemanticsClipRect;
          _this._paintClipRect = A._SemanticsGeometry__intersectRects(_this._paintClipRect, $parent.describeApproximatePaintClip$1(child));
        } else
          _this._semanticsClipRect = A._SemanticsGeometry__intersectRects(_this._semanticsClipRect, $parent.describeApproximatePaintClip$1(child));
        t1 = $.$get$_SemanticsGeometry__temporaryTransformHolder();
        t1.setIdentity$0();
        t2 = _this.___SemanticsGeometry__transform;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        A._SemanticsGeometry__applyIntermediatePaintTransforms($parent, child, t2, t1);
        _this._semanticsClipRect = A._SemanticsGeometry__transformRect(_this._semanticsClipRect, t1);
        _this._paintClipRect = A._SemanticsGeometry__transformRect(_this._paintClipRect, t1);
      }
      owner = B.JSArray_methods.get$first(ancestors);
      t1 = _this._semanticsClipRect;
      t1 = t1 == null ? owner.get$semanticBounds() : t1.intersect$1(owner.get$semanticBounds());
      _this.___SemanticsGeometry__rect = t1;
      t2 = _this._paintClipRect;
      if (t2 != null) {
        paintRect = t2.intersect$1(t1);
        if (paintRect.get$isEmpty(paintRect)) {
          t1 = _this.___SemanticsGeometry__rect;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = !t1.get$isEmpty(t1);
        } else
          t1 = false;
        _this._markAsHidden = t1;
        if (!t1)
          _this.___SemanticsGeometry__rect = paintRect;
      }
    }
  };
  A._RenderObject_AbstractNode_DiagnosticableTreeMixin.prototype = {};
  A.TextParentData.prototype = {
    toString$0(_) {
      var t1 = A._setArrayType(["offset=" + A.S(this.offset)], type$.JSArray_String),
        t2 = this.scale;
      if (t2 != null)
        t1.push("scale=" + A.S(t2));
      t1.push(this.super$BoxParentData$toString(0));
      return B.JSArray_methods.join$1(t1, "; ");
    }
  };
  A.PlaceholderSpanIndexSemanticsTag.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.PlaceholderSpanIndexSemanticsTag && other.index === this.index;
    },
    get$hashCode(_) {
      return A.Object_hash(B.Type_I8o, this.index, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.RenderParagraph.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.TextParentData))
        child.parentData = new A.TextParentData(null, null, B.Offset_0_0);
    },
    set$text(_, value) {
      var _this = this,
        t1 = _this._paragraph$_textPainter;
      switch (t1._text_painter$_text.compareTo$1(0, value).index) {
        case 0:
        case 1:
          return;
        case 2:
          t1.set$text(0, value);
          _this._cachedCombinedSemanticsInfos = _this._cachedAttributedLabel = null;
          _this._extractPlaceholderSpans$1(value);
          _this.markNeedsPaint$0();
          _this.markNeedsSemanticsUpdate$0();
          break;
        case 3:
          t1.set$text(0, value);
          _this._cachedCombinedSemanticsInfos = _this._cachedAttributedLabel = _this._overflowShader = null;
          _this._extractPlaceholderSpans$1(value);
          _this.markNeedsLayout$0();
          break;
      }
      _this._removeSelectionRegistrarSubscription$0();
      _this._disposeSelectableFragments$0();
      _this._updateSelectionRegistrarSubscription$0();
    },
    set$registrar(value) {
      var _this = this;
      if (value == _this._registrar)
        return;
      _this._removeSelectionRegistrarSubscription$0();
      _this._disposeSelectableFragments$0();
      _this._registrar = value;
      _this._updateSelectionRegistrarSubscription$0();
    },
    _updateSelectionRegistrarSubscription$0() {
      var t1, t2, _this = this;
      if (_this._registrar == null)
        return;
      t1 = _this._lastSelectableFragments;
      if (t1 == null)
        t1 = _this._lastSelectableFragments = _this._getSelectableFragments$0();
      t2 = _this._registrar;
      B.JSArray_methods.forEach$1(t1, t2.get$add(t2));
    },
    _removeSelectionRegistrarSubscription$0() {
      var t2,
        t1 = this._registrar;
      if (t1 == null || this._lastSelectableFragments == null)
        return;
      t2 = this._lastSelectableFragments;
      t2.toString;
      B.JSArray_methods.forEach$1(t2, t1.get$remove(t1));
    },
    _getSelectableFragments$0() {
      var end, start, end0, t1,
        plainText = this._paragraph$_textPainter._text_painter$_text.toPlainText$1$includeSemanticsLabels(false),
        result = A._setArrayType([], type$.JSArray__SelectableFragment);
      for (end = plainText.length, start = 0; start < end;) {
        end0 = B.JSString_methods.indexOf$2(plainText, $.$get$RenderParagraph__placeholderCharacter(), start);
        if (start !== end0) {
          if (end0 === -1)
            end0 = end;
          t1 = new A._SelectableFragment(new A.TextRange(start, end0), this, $.$get$ChangeNotifier__emptyListeners());
          t1.___SelectableFragment__selectionGeometry = t1._getSelectionGeometry$0();
          result.push(t1);
          start = end0;
        }
        ++start;
      }
      return result;
    },
    _disposeSelectableFragments$0() {
      var t2, _i, fragment,
        t1 = this._lastSelectableFragments;
      if (t1 == null)
        return;
      for (t2 = t1.length, _i = 0; _i < t2; ++_i) {
        fragment = t1[_i];
        fragment.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
        fragment.ChangeNotifier__count = 0;
      }
      this._lastSelectableFragments = null;
    },
    markNeedsLayout$0() {
      var t1 = this._lastSelectableFragments;
      if (t1 != null)
        B.JSArray_methods.forEach$1(t1, new A.RenderParagraph_markNeedsLayout_closure());
      this.super$RenderBox$markNeedsLayout();
    },
    dispose$0() {
      this._removeSelectionRegistrarSubscription$0();
      this._lastSelectableFragments = null;
      this.super$RenderObject$dispose();
    },
    _extractPlaceholderSpans$1(span) {
      this.__RenderParagraph__placeholderSpans = A._setArrayType([], type$.JSArray_PlaceholderSpan);
      span.visitChildren$1(new A.RenderParagraph__extractPlaceholderSpans_closure(this));
    },
    set$textAlign(_, value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._textAlign === value)
        return;
      t1.set$textAlign(0, value);
      this.markNeedsPaint$0();
    },
    set$textDirection(value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._text_painter$_textDirection === value)
        return;
      t1.set$textDirection(value);
      this.markNeedsLayout$0();
    },
    set$softWrap(value) {
      if (this._softWrap === value)
        return;
      this._softWrap = value;
      this.markNeedsLayout$0();
    },
    set$overflow(_, value) {
      var t1, _this = this;
      if (_this._paragraph$_overflow === value)
        return;
      _this._paragraph$_overflow = value;
      t1 = value === B.TextOverflow_2 ? "\u2026" : null;
      _this._paragraph$_textPainter.set$ellipsis(t1);
      _this.markNeedsLayout$0();
    },
    set$textScaleFactor(value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._textScaleFactor === value)
        return;
      t1.set$textScaleFactor(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$maxLines(value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._text_painter$_maxLines == value)
        return;
      t1.set$maxLines(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$locale(_, value) {
      var t1 = this._paragraph$_textPainter;
      if (J.$eq$(t1._text_painter$_locale, value))
        return;
      t1.set$locale(0, value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$strutStyle(value) {
      var t1 = this._paragraph$_textPainter;
      if (J.$eq$(t1._strutStyle, value))
        return;
      t1.set$strutStyle(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$textWidthBasis(value) {
      var t1 = this._paragraph$_textPainter;
      if (t1._textWidthBasis === value)
        return;
      t1.set$textWidthBasis(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$textHeightBehavior(value) {
      var t1 = this._paragraph$_textPainter;
      if (J.$eq$(t1._textHeightBehavior, value))
        return;
      t1.set$textHeightBehavior(value);
      this._overflowShader = null;
      this.markNeedsLayout$0();
    },
    set$selectionColor(value) {
      var t1, _this = this;
      if (J.$eq$(_this._selectionColor, value))
        return;
      _this._selectionColor = value;
      t1 = _this._lastSelectableFragments;
      t1 = t1 == null ? null : B.JSArray_methods.any$1(t1, new A.RenderParagraph_selectionColor_closure());
      if (t1 === true)
        _this.markNeedsPaint$0();
    },
    _getOffsetForPosition$1(position) {
      var t2, t3, _this = this,
        t1 = type$.BoxConstraints;
      _this._layoutTextWithConstraints$1(t1._as(A.RenderObject.prototype.get$constraints.call(_this)));
      t2 = _this._paragraph$_textPainter;
      t2._computeCaretMetrics$2(position, B.Rect_0_0_0_0);
      t3 = t2.__TextPainter__caretMetrics;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      _this._layoutTextWithConstraints$1(t1._as(A.RenderObject.prototype.get$constraints.call(_this)));
      t2._computeCaretMetrics$2(position, B.Rect_0_0_0_0);
      t2 = t2.__TextPainter__caretMetrics;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.fullHeight;
      t1 = t2 == null ? 0 : t2;
      return t3.offset.$add(0, new A.Offset(0, t1));
    },
    computeMinIntrinsicWidth$1(height) {
      var _this = this;
      if (!_this._canComputeIntrinsics$0())
        return 0;
      _this._computeChildrenWidthWithMinIntrinsics$1(height);
      _this._paragraph$_layoutText$0();
      return Math.ceil(_this._paragraph$_textPainter._paragraph.get$minIntrinsicWidth());
    },
    computeMaxIntrinsicWidth$1(height) {
      var _this = this;
      if (!_this._canComputeIntrinsics$0())
        return 0;
      _this._computeChildrenWidthWithMaxIntrinsics$1(height);
      _this._paragraph$_layoutText$0();
      return Math.ceil(_this._paragraph$_textPainter._paragraph.get$maxIntrinsicWidth());
    },
    _computeIntrinsicHeight$1(width) {
      var t1, _this = this;
      if (!_this._canComputeIntrinsics$0())
        return 0;
      _this._computeChildrenHeightWithMinIntrinsics$1(width);
      _this._paragraph$_layoutText$2$maxWidth$minWidth(width, width);
      t1 = _this._paragraph$_textPainter._paragraph;
      return Math.ceil(t1.get$height(t1));
    },
    computeMinIntrinsicHeight$1(width) {
      return this._computeIntrinsicHeight$1(width);
    },
    computeMaxIntrinsicHeight$1(width) {
      return this._computeIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1(baseline) {
      this._layoutTextWithConstraints$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)));
      return this._paragraph$_textPainter.computeDistanceToActualBaseline$1(B.TextBaseline_0);
    },
    _canComputeIntrinsics$0() {
      var t2, _i,
        t1 = this.__RenderParagraph__placeholderSpans;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        switch (t1[_i].alignment.index) {
          case 0:
          case 1:
          case 2:
            return false;
          case 3:
          case 5:
          case 4:
            continue;
        }
      return true;
    },
    _computeChildrenWidthWithMaxIntrinsics$1(height) {
      var t1, childIndex, t2, t3, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild,
        placeholderDimensions = A.List_List$filled(_this.ContainerRenderObjectMixin__childCount, B.PlaceholderDimensions_8eb, false, type$.PlaceholderDimensions);
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childIndex = 0; child != null;) {
        t2 = child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
        t3 = _this.__RenderParagraph__placeholderSpans;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        placeholderDimensions[childIndex] = new A.PlaceholderDimensions(new A.Size(t2, 0), null, t3[childIndex].baseline);
        t3 = child.parentData;
        t3.toString;
        child = t1._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      _this._paragraph$_textPainter.setPlaceholderDimensions$1(placeholderDimensions);
    },
    _computeChildrenWidthWithMinIntrinsics$1(height) {
      var t1, childIndex, t2, t3, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild,
        placeholderDimensions = A.List_List$filled(_this.ContainerRenderObjectMixin__childCount, B.PlaceholderDimensions_8eb, false, type$.PlaceholderDimensions);
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childIndex = 0; child != null;) {
        t2 = child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth());
        t3 = _this.__RenderParagraph__placeholderSpans;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        placeholderDimensions[childIndex] = new A.PlaceholderDimensions(new A.Size(t2, 0), null, t3[childIndex].baseline);
        t3 = child.parentData;
        t3.toString;
        child = t1._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      _this._paragraph$_textPainter.setPlaceholderDimensions$1(placeholderDimensions);
    },
    _computeChildrenHeightWithMinIntrinsics$1(width) {
      var t2, childIndex, size, t3, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild,
        placeholderDimensions = A.List_List$filled(_this.ContainerRenderObjectMixin__childCount, B.PlaceholderDimensions_8eb, false, type$.PlaceholderDimensions),
        t1 = _this._paragraph$_textPainter;
      width /= t1._textScaleFactor;
      for (t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childIndex = 0; child != null;) {
        size = child.getDryLayout$1(new A.BoxConstraints(0, width, 0, 1 / 0));
        t3 = _this.__RenderParagraph__placeholderSpans;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        placeholderDimensions[childIndex] = new A.PlaceholderDimensions(size, null, t3[childIndex].baseline);
        t3 = child.parentData;
        t3.toString;
        child = t2._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      t1.setPlaceholderDimensions$1(placeholderDimensions);
    },
    hitTestSelf$1(position) {
      return true;
    },
    hitTestChildren$2$position(result, position) {
      var hitText, t2, t3, t4, childIndex, t5, t6, t7, transform, child, _box_0 = {},
        t1 = this._paragraph$_textPainter,
        textPosition = t1._paragraph.getPositionForOffset$1(position),
        span = t1._text_painter$_text.getSpanForPosition$1(textPosition);
      if (span != null && type$.HitTestTarget._is(span)) {
        result.add$1(0, new A.HitTestEntry(type$.HitTestTarget._as(span), type$.HitTestEntry_HitTestTarget));
        hitText = true;
      } else
        hitText = false;
      t2 = _box_0.child = this.ContainerRenderObjectMixin__firstChild;
      t3 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1");
      t4 = type$.TextParentData;
      childIndex = 0;
      while (true) {
        if (!(t2 != null && childIndex < t1._inlinePlaceholderBoxes.length))
          break;
        t2 = t2.parentData;
        t2.toString;
        t4._as(t2);
        t5 = t2.offset;
        t6 = t5._dx;
        t5 = t5._dy;
        t7 = new Float64Array(16);
        transform = new A.Matrix4(t7);
        transform.setIdentity$0();
        t7[14] = 0;
        t7[13] = t5;
        t7[12] = t6;
        t6 = t2.scale;
        transform.scale$3(0, t6, t6, t6);
        if (result.addWithPaintTransform$3$hitTest$position$transform(new A.RenderParagraph_hitTestChildren_closure(_box_0, position, t2), position, transform))
          return true;
        t2 = _box_0.child.parentData;
        t2.toString;
        child = t3._as(t2).ContainerParentDataMixin_nextSibling;
        _box_0.child = child;
        ++childIndex;
        t2 = child;
      }
      return hitText;
    },
    _paragraph$_layoutText$2$maxWidth$minWidth(maxWidth, minWidth) {
      var t1 = this._softWrap || this._paragraph$_overflow === B.TextOverflow_2 ? maxWidth : 1 / 0;
      this._paragraph$_textPainter.layout$2$maxWidth$minWidth(t1, minWidth);
    },
    _paragraph$_layoutText$0() {
      return this._paragraph$_layoutText$2$maxWidth$minWidth(1 / 0, 0);
    },
    systemFontsDidChange$0() {
      this.super$RelayoutWhenSystemFontsChangeMixin$systemFontsDidChange();
      this._paragraph$_textPainter.markNeedsLayout$0();
    },
    _layoutTextWithConstraints$1(constraints) {
      this._paragraph$_textPainter.setPlaceholderDimensions$1(this._paragraph$_placeholderDimensions);
      this._paragraph$_layoutText$2$maxWidth$minWidth(constraints.maxWidth, constraints.minWidth);
    },
    _layoutChildren$2$dry(constraints, dry) {
      var child, placeholderDimensions, boxConstraints, t2, childIndex, t3, t4, baselineOffset, childSize, _this = this,
        t1 = _this.ContainerRenderObjectMixin__childCount;
      if (t1 === 0)
        return A._setArrayType([], type$.JSArray_PlaceholderDimensions);
      child = _this.ContainerRenderObjectMixin__firstChild;
      placeholderDimensions = A.List_List$filled(t1, B.PlaceholderDimensions_8eb, false, type$.PlaceholderDimensions);
      boxConstraints = new A.BoxConstraints(0, constraints.maxWidth, 0, 1 / 0).$div(0, _this._paragraph$_textPainter._textScaleFactor);
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t2 = !dry, childIndex = 0; child != null;) {
        if (t2) {
          child.layout$2$parentUsesSize(boxConstraints, true);
          t3 = child._box$_size;
          t3.toString;
          t4 = _this.__RenderParagraph__placeholderSpans;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t4 = t4[childIndex];
          switch (t4.alignment.index) {
            case 0:
              t4 = t4.baseline;
              t4.toString;
              baselineOffset = child.getDistanceToBaseline$1(t4);
              break;
            case 1:
            case 2:
            case 4:
            case 5:
            case 3:
              baselineOffset = null;
              break;
            default:
              baselineOffset = null;
          }
          childSize = t3;
        } else {
          childSize = child.getDryLayout$1(boxConstraints);
          baselineOffset = null;
        }
        t3 = _this.__RenderParagraph__placeholderSpans;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        placeholderDimensions[childIndex] = new A.PlaceholderDimensions(childSize, baselineOffset, t3[childIndex].baseline);
        t3 = child.parentData;
        t3.toString;
        child = t1._as(t3).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
      return placeholderDimensions;
    },
    _layoutChildren$1(constraints) {
      return this._layoutChildren$2$dry(constraints, false);
    },
    _setParentData$0() {
      var t4, t5,
        child = this.ContainerRenderObjectMixin__firstChild,
        t1 = type$.TextParentData,
        t2 = this._paragraph$_textPainter,
        t3 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"),
        childIndex = 0;
      while (true) {
        if (!(child != null && childIndex < t2._inlinePlaceholderBoxes.length))
          break;
        t4 = child.parentData;
        t4.toString;
        t1._as(t4);
        t5 = t2._inlinePlaceholderBoxes[childIndex];
        t4.offset = new A.Offset(t5.left, t5.top);
        t4.scale = t2._inlinePlaceholderScales[childIndex];
        child = t3._as(t4).ContainerParentDataMixin_nextSibling;
        ++childIndex;
      }
    },
    _canComputeDryLayout$0() {
      var t2, _i,
        t1 = this.__RenderParagraph__placeholderSpans;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        switch (t1[_i].alignment.index) {
          case 0:
          case 1:
          case 2:
            return false;
          case 3:
          case 5:
          case 4:
            continue;
        }
      return true;
    },
    computeDryLayout$1(constraints) {
      var t1, t2, _this = this;
      if (!_this._canComputeDryLayout$0())
        return B.Size_0_0;
      t1 = _this._paragraph$_textPainter;
      t1.setPlaceholderDimensions$1(_this._layoutChildren$2$dry(constraints, true));
      _this._paragraph$_layoutText$2$maxWidth$minWidth(constraints.maxWidth, constraints.minWidth);
      t2 = t1.get$width(t1);
      t1 = t1._paragraph;
      return constraints.constrain$1(new A.Size(t2, Math.ceil(t1.get$height(t1))));
    },
    performLayout$0() {
      var t1, t2, t3, textDidExceedMaxLines, t4, didOverflowHeight, didOverflowWidth, fadeSizePainter, fadeStart, fadeEnd, _this = this, _null = null,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._paragraph$_placeholderDimensions = _this._layoutChildren$1(constraints);
      _this._layoutTextWithConstraints$1(constraints);
      _this._setParentData$0();
      t1 = _this._paragraph$_textPainter;
      t2 = t1.get$width(t1);
      t3 = t1._paragraph;
      t3 = Math.ceil(t3.get$height(t3));
      textDidExceedMaxLines = t1._paragraph.get$didExceedMaxLines();
      t4 = _this._box$_size = constraints.constrain$1(new A.Size(t2, t3));
      didOverflowHeight = t4._dy < t3 || textDidExceedMaxLines;
      didOverflowWidth = t4._dx < t2;
      if (didOverflowWidth || didOverflowHeight)
        switch (_this._paragraph$_overflow.index) {
          case 3:
            _this._needsClipping = false;
            _this._overflowShader = null;
            break;
          case 0:
          case 2:
            _this._needsClipping = true;
            _this._overflowShader = null;
            break;
          case 1:
            _this._needsClipping = true;
            t2 = A.TextSpan$(_null, _null, _null, t1._text_painter$_text.style, "\u2026");
            t3 = t1._text_painter$_textDirection;
            t3.toString;
            t4 = t1._textScaleFactor;
            fadeSizePainter = A.TextPainter$(_null, t1._text_painter$_locale, _null, _null, t2, B.TextAlign_4, t3, _null, t4, B.TextWidthBasis_0);
            fadeSizePainter.layout$0();
            if (didOverflowWidth) {
              switch (t1._text_painter$_textDirection.index) {
                case 0:
                  fadeStart = fadeSizePainter.get$width(fadeSizePainter);
                  fadeEnd = 0;
                  break;
                case 1:
                  fadeEnd = _this._box$_size._dx;
                  fadeStart = fadeEnd - fadeSizePainter.get$width(fadeSizePainter);
                  break;
                default:
                  fadeStart = _null;
                  fadeEnd = fadeStart;
              }
              _this._overflowShader = A.Gradient_Gradient$linear(new A.Offset(fadeStart, 0), new A.Offset(fadeEnd, 0), A._setArrayType([B.Color_4294967295, B.Color_16777215], type$.JSArray_Color), _null, B.TileMode_0, _null);
            } else {
              fadeEnd = _this._box$_size._dy;
              t1 = fadeSizePainter._paragraph;
              _this._overflowShader = A.Gradient_Gradient$linear(new A.Offset(0, fadeEnd - Math.ceil(t1.get$height(t1)) / 2), new A.Offset(0, fadeEnd), A._setArrayType([B.Color_4294967295, B.Color_16777215], type$.JSArray_Color), _null, B.TileMode_0, _null);
            }
            break;
        }
      else {
        _this._needsClipping = false;
        _this._overflowShader = null;
      }
    },
    paint$2(context, offset) {
      var t1, t2, t3, bounds, t4, t5, t6, childIndex, t7, t8, child, paint, _i, _this = this, _box_0 = {};
      _this._layoutTextWithConstraints$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)));
      if (_this._needsClipping) {
        t1 = _this._box$_size;
        t2 = offset._dx;
        t3 = offset._dy;
        bounds = new A.Rect(t2, t3, t2 + t1._dx, t3 + t1._dy);
        if (_this._overflowShader != null) {
          t1 = context.get$canvas(context);
          t1.saveLayer$2(bounds, $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()));
        } else
          context.get$canvas(context).save$0(0);
        context.get$canvas(context).clipRect$1(bounds);
      }
      t1 = _this._paragraph$_textPainter;
      t1.paint$2(context.get$canvas(context), offset);
      t2 = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
      t3 = type$.TextParentData;
      t4 = offset._dx;
      t5 = offset._dy;
      t6 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      childIndex = 0;
      while (true) {
        if (!(t2 != null && childIndex < t1._inlinePlaceholderBoxes.length))
          break;
        t2 = t2.parentData;
        t2.toString;
        t3._as(t2);
        t7 = t2.scale;
        t7.toString;
        t8 = _this.__RenderObject__needsCompositing;
        if (t8 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.offset;
        context.pushTransform$4(t8, new A.Offset(t4 + t2._dx, t5 + t2._dy), A.Matrix4_Matrix4$diagonal3Values(t7, t7, t7), new A.RenderParagraph_paint_closure(_box_0));
        t7 = _box_0.child.parentData;
        t7.toString;
        child = t6._as(t7).ContainerParentDataMixin_nextSibling;
        _box_0.child = child;
        ++childIndex;
        t2 = child;
      }
      if (_this._needsClipping) {
        if (_this._overflowShader != null) {
          context.get$canvas(context).translate$2(0, t4, t5);
          paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
          paint.set$blendMode(B.BlendMode_13);
          paint.set$shader(_this._overflowShader);
          t1 = context.get$canvas(context);
          t2 = _this._box$_size;
          t1.drawRect$2(new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy), paint);
        }
        context.get$canvas(context).restore$0(0);
      }
      t1 = _this._lastSelectableFragments;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].paint$2(context, offset);
      _this.super$RenderObject$paint(context, offset);
    },
    getBoxesForSelection$1(selection) {
      this._layoutTextWithConstraints$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)));
      return this._paragraph$_textPainter.getBoxesForSelection$3$boxHeightStyle$boxWidthStyle(selection, B.BoxHeightStyle_0, B.BoxWidthStyle_0);
    },
    getPositionForOffset$1(offset) {
      this._layoutTextWithConstraints$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)));
      return this._paragraph$_textPainter._paragraph.getPositionForOffset$1(offset);
    },
    describeSemanticsConfiguration$1(config) {
      var t1, t2, collector, buffer, attributes, t3, offset, _i, t4, info, label, t5, _i0, infoAttribute, originalRange, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      t1 = _this._paragraph$_textPainter;
      t2 = t1._text_painter$_text;
      t2.toString;
      collector = A._setArrayType([], type$.JSArray_InlineSpanSemanticsInformation);
      t2.computeSemanticsInformation$1(collector);
      _this._semanticsInfo = collector;
      if (B.JSArray_methods.any$1(collector, new A.RenderParagraph_describeSemanticsConfiguration_closure()))
        config._isSemanticBoundary = config.explicitChildNodes = true;
      else {
        t2 = _this._cachedAttributedLabel;
        if (t2 == null) {
          buffer = new A.StringBuffer("");
          attributes = A._setArrayType([], type$.JSArray_StringAttribute);
          for (t2 = _this._semanticsInfo, t3 = t2.length, offset = 0, _i = 0, t4 = ""; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
            info = t2[_i];
            label = info.semanticsLabel;
            if (label == null)
              label = info.text;
            for (t4 = info.stringAttributes, t5 = t4.length, _i0 = 0; _i0 < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i0) {
              infoAttribute = t4[_i0];
              originalRange = infoAttribute.range;
              attributes.push(infoAttribute.copy$1$range(new A.TextRange(offset + originalRange.start, offset + originalRange.end)));
            }
            t4 = buffer._contents += label;
            offset += label.length;
          }
          t2 = _this._cachedAttributedLabel = new A.AttributedString(t4.charCodeAt(0) == 0 ? t4 : t4, attributes);
        }
        config._attributedLabel = t2;
        config._hasBeenAnnotated = true;
        t1 = t1._text_painter$_textDirection;
        t1.toString;
        config._textDirection = t1;
      }
    },
    assembleSemanticsNode$3(node, config, children) {
      var child, newChildCache, t3, t4, t5, t6, t7, currentDirection, ordinal, start, placeholderIndex, childIndex, _i, info, start0, t8, t9, childNode, t10, t11, rects, rect, currentDirection0, t12, t13, currentRect, configuration, ordinal0, recognizer, paintRect, newChild, it, key, _this = this, _null = null,
        newChildren = A._setArrayType([], type$.JSArray_SemanticsNode),
        t1 = _this._paragraph$_textPainter,
        t2 = t1._text_painter$_textDirection;
      t2.toString;
      child = _this.ContainerRenderObjectMixin__firstChild;
      newChildCache = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.Key, type$.SemanticsNode);
      t3 = _this._cachedCombinedSemanticsInfos;
      if (t3 == null) {
        t3 = _this._semanticsInfo;
        t3.toString;
        t3 = _this._cachedCombinedSemanticsInfos = A.combineSemanticsInfo(t3);
      }
      for (t4 = t3.length, t5 = type$.BoxConstraints, t6 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t7 = type$.TextParentData, currentDirection = t2, ordinal = 0, start = 0, placeholderIndex = 0, childIndex = 0, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i, start = start0) {
        info = t3[_i];
        t2 = info.text;
        start0 = start + t2.length;
        t8 = start < start0;
        t9 = t8 ? start : start0;
        t8 = t8 ? start0 : start;
        if (info.isPlaceholder) {
          t2 = "PlaceholderSpanIndexSemanticsTag(" + placeholderIndex + ")";
          while (true) {
            if (children.length > childIndex) {
              t8 = children[childIndex].tags;
              t8 = t8 != null && t8.contains$1(0, new A.PlaceholderSpanIndexSemanticsTag(placeholderIndex, t2));
            } else
              t8 = false;
            if (!t8)
              break;
            childNode = children[childIndex];
            t8 = child.parentData;
            t8.toString;
            t8 = t7._as(t8).scale;
            if (t8 != null) {
              t9 = childNode._rect;
              t10 = t9.left;
              t11 = t9.top;
              t8 = new A.Rect(t10, t11, t10 + (t9.right - t10) * t8, t11 + (t9.bottom - t11) * t8);
              if (!t9.$eq(0, t8)) {
                childNode._rect = t8;
                childNode._markDirty$0();
              }
              newChildren.push(childNode);
            }
            ++childIndex;
          }
          t2 = child.parentData;
          t2.toString;
          child = t6._as(t2).ContainerParentDataMixin_nextSibling;
          ++placeholderIndex;
        } else {
          t10 = t5._as(A.RenderObject.prototype.get$constraints.call(_this));
          t1.setPlaceholderDimensions$1(_this._paragraph$_placeholderDimensions);
          t11 = t10.maxWidth;
          t11 = _this._softWrap || _this._paragraph$_overflow === B.TextOverflow_2 ? t11 : 1 / 0;
          t1.layout$2$maxWidth$minWidth(t11, t10.minWidth);
          rects = t1._paragraph.getBoxesForRange$4$boxHeightStyle$boxWidthStyle(t9, t8, B.BoxHeightStyle_0, B.BoxWidthStyle_0);
          if (rects.length === 0)
            continue;
          t8 = B.JSArray_methods.get$first(rects);
          rect = new A.Rect(t8.left, t8.top, t8.right, t8.bottom);
          currentDirection0 = B.JSArray_methods.get$first(rects).direction;
          for (t8 = A._arrayInstanceType(rects), t9 = t8._eval$1("SubListIterable<1>"), t10 = new A.SubListIterable(rects, 1, _null, t9), t10.SubListIterable$3(rects, 1, _null, t8._precomputed1), t10 = new A.ListIterator(t10, t10.get$length(t10), t9._eval$1("ListIterator<ListIterable.E>")), t9 = t9._eval$1("ListIterable.E"); t10.moveNext$0();) {
            t8 = t10.__internal$_current;
            if (t8 == null)
              t8 = t9._as(t8);
            rect = rect.expandToInclude$1(new A.Rect(t8.left, t8.top, t8.right, t8.bottom));
            currentDirection0 = t8.direction;
          }
          t8 = rect.left;
          t9 = Math.max(0, t8);
          t10 = rect.top;
          t11 = Math.max(0, t10);
          t8 = Math.min(rect.right - t8, t5._as(A.RenderObject.prototype.get$constraints.call(_this)).maxWidth);
          t10 = Math.min(rect.bottom - t10, t5._as(A.RenderObject.prototype.get$constraints.call(_this)).maxHeight);
          t12 = Math.floor(t9) - 4;
          t13 = Math.floor(t11) - 4;
          t8 = Math.ceil(t9 + t8) + 4;
          t10 = Math.ceil(t11 + t10) + 4;
          currentRect = new A.Rect(t12, t13, t8, t10);
          configuration = A.SemanticsConfiguration$();
          ordinal0 = ordinal + 1;
          configuration._sortKey = new A.OrdinalSortKey(ordinal, _null);
          configuration._hasBeenAnnotated = true;
          configuration._textDirection = currentDirection;
          t11 = info.semanticsLabel;
          t2 = t11 == null ? t2 : t11;
          configuration._attributedLabel = new A.AttributedString(t2, info.stringAttributes);
          recognizer = info.recognizer;
          if (recognizer != null) {
            t2 = recognizer.onTap;
            if (t2 != null) {
              configuration._addArgumentlessAction$2(B.SemanticsAction_1, t2);
              configuration._onTap = t2;
              configuration._setFlag$2(B.SemanticsFlag_4194304, true);
            }
          }
          t2 = node.parentPaintClipRect;
          if (t2 != null) {
            paintRect = t2.intersect$1(currentRect);
            if (paintRect.left >= paintRect.right || paintRect.top >= paintRect.bottom)
              t2 = !(t12 >= t8 || t13 >= t10);
            else
              t2 = false;
            configuration._setFlag$2(B.SemanticsFlag_8192, t2);
          }
          newChild = A._Cell$named("newChild");
          t2 = _this._cachedChildNodes;
          t8 = t2 == null ? _null : t2._length !== 0;
          if (t8 === true) {
            t2.toString;
            t8 = new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"));
            it = t8.get$iterator(t8);
            if (!it.moveNext$0())
              A.throwExpression(A.IterableElementError_noElement());
            t2 = t2.remove$1(0, it.get$current(it));
            t2.toString;
            if (newChild.__late_helper$_value !== newChild)
              A.throwExpression(A.LateError$localAI(newChild.__late_helper$_name));
            newChild.__late_helper$_value = t2;
          } else {
            key = new A.UniqueKey();
            t2 = A.SemanticsNode$(key, _this._createShowOnScreenFor$1(key));
            if (newChild.__late_helper$_value !== newChild)
              A.throwExpression(A.LateError$localAI(newChild.__late_helper$_name));
            newChild.__late_helper$_value = t2;
          }
          if (t2 === newChild)
            A.throwExpression(A.LateError$localNI(newChild.__late_helper$_name));
          J.updateWith$1$config$z(t2, configuration);
          if (!t2._rect.$eq(0, currentRect)) {
            t2._rect = currentRect;
            t2._markDirty$0();
          }
          t2 = newChild.__late_helper$_value;
          if (t2 === newChild)
            A.throwExpression(A.LateError$localNI(newChild.__late_helper$_name));
          t8 = t2.key;
          t8.toString;
          newChildCache.$indexSet(0, t8, t2);
          t2 = newChild.__late_helper$_value;
          if (t2 === newChild)
            A.throwExpression(A.LateError$localNI(newChild.__late_helper$_name));
          newChildren.push(t2);
          ordinal = ordinal0;
          currentDirection = currentDirection0;
        }
      }
      _this._cachedChildNodes = newChildCache;
      node.updateWith$2$childrenInInversePaintOrder$config(0, newChildren, config);
    },
    _createShowOnScreenFor$1(key) {
      return new A.RenderParagraph__createShowOnScreenFor_closure(this, key);
    },
    clearSemantics$0() {
      this.super$RenderObject$clearSemantics();
      this._cachedChildNodes = null;
    },
    debugDescribeChildren$0() {
      var t1 = this._paragraph$_textPainter._text_painter$_text;
      t1.toString;
      return A._setArrayType([A.DiagnosticableTreeNode$("text", B.DiagnosticsTreeStyle_4, t1)], type$.JSArray_DiagnosticsNode);
    }
  };
  A.RenderParagraph_markNeedsLayout_closure.prototype = {
    call$1(element) {
      return element._paragraph$_cachedRect = null;
    },
    $signature: 839
  };
  A.RenderParagraph__extractPlaceholderSpans_closure.prototype = {
    call$1(span) {
      var t1;
      if (span instanceof A.PlaceholderSpan0) {
        t1 = this.$this.__RenderParagraph__placeholderSpans;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.push(span);
      }
      return true;
    },
    $signature: 65
  };
  A.RenderParagraph_selectionColor_closure.prototype = {
    call$1(fragment) {
      var t1 = fragment.___SelectableFragment__selectionGeometry;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.status !== B.SelectionStatus_2;
    },
    $signature: 840
  };
  A.RenderParagraph_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this._box_0.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A.RenderParagraph_paint_closure.prototype = {
    call$2(context, offset) {
      var t1 = this._box_0.child;
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    $signature: 19
  };
  A.RenderParagraph_describeSemanticsConfiguration_closure.prototype = {
    call$1(info) {
      return info.recognizer != null;
    },
    $signature: 272
  };
  A.RenderParagraph__createShowOnScreenFor_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._cachedChildNodes.$index(0, this.key);
      t2.toString;
      t1.showOnScreen$2$descendant$rect(t1, t2._rect);
    },
    $signature: 0
  };
  A._SelectableFragment.prototype = {
    get$value(_) {
      var t1 = this.___SelectableFragment__selectionGeometry;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _paragraph$_updateSelectionGeometry$0() {
      var _this = this,
        newValue = _this._getSelectionGeometry$0(),
        t1 = _this.___SelectableFragment__selectionGeometry;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.$eq(0, newValue))
        return;
      _this.___SelectableFragment__selectionGeometry = newValue;
      _this.notifyListeners$0();
    },
    _getSelectionGeometry$0() {
      var selectionStart, selectionEnd, startOffsetInParagraphCoordinates, endOffsetInParagraphCoordinates, t2, flipHandles, paragraphToFragmentTransform, t3, t4, t5, t6, t7, _this = this,
        t1 = _this._textSelectionStart;
      if (t1 == null || _this._textSelectionEnd == null)
        return B.SelectionGeometry_wEo;
      selectionStart = t1.offset;
      selectionEnd = _this._textSelectionEnd.offset;
      t1 = _this.paragraph;
      startOffsetInParagraphCoordinates = t1._getOffsetForPosition$1(new A.TextPosition(selectionStart, B.TextAffinity_1));
      endOffsetInParagraphCoordinates = selectionStart === selectionEnd ? startOffsetInParagraphCoordinates : t1._getOffsetForPosition$1(new A.TextPosition(selectionEnd, B.TextAffinity_1));
      t1 = t1._paragraph$_textPainter;
      t2 = t1._text_painter$_textDirection;
      t2.toString;
      flipHandles = selectionStart > selectionEnd !== (B.TextDirection_0 === t2);
      paragraphToFragmentTransform = A.Matrix4_Matrix4$translationValues(_this.get$_paragraph$_rect().left, _this.get$_paragraph$_rect().top, 0);
      paragraphToFragmentTransform.copyInverse$1(paragraphToFragmentTransform);
      t2 = A.MatrixUtils_transformPoint(paragraphToFragmentTransform, startOffsetInParagraphCoordinates);
      t3 = t1.get$preferredLineHeight();
      t4 = flipHandles ? B.TextSelectionHandleType_1 : B.TextSelectionHandleType_0;
      t5 = A.MatrixUtils_transformPoint(paragraphToFragmentTransform, endOffsetInParagraphCoordinates);
      t1 = t1.get$preferredLineHeight();
      t6 = flipHandles ? B.TextSelectionHandleType_0 : B.TextSelectionHandleType_1;
      t7 = _this._textSelectionStart.offset === _this._textSelectionEnd.offset ? B.SelectionStatus_1 : B.SelectionStatus_0;
      return new A.SelectionGeometry(new A.SelectionPoint(t2, t3, t4), new A.SelectionPoint(t5, t1, t6), t7, true);
    },
    dispatchSelectionEvent$1($event) {
      var _this = this,
        result = A._Cell$named("result"),
        existingSelectionStart = _this._textSelectionStart,
        existingSelectionEnd = _this._textSelectionEnd,
        t1 = $event.type;
      switch (t1.index) {
        case 0:
        case 1:
          result.set$finalLocalValue(_this._updateSelectionEdge$2$isEnd(type$.SelectionEdgeUpdateEvent._as($event).globalPosition, t1 === B.SelectionEventType_1));
          break;
        case 2:
          _this._textSelectionEnd = _this._textSelectionStart = null;
          result.set$finalLocalValue(B.SelectionResult_4);
          break;
        case 3:
          t1 = _this.range;
          _this._textSelectionStart = new A.TextPosition(t1.start, B.TextAffinity_1);
          _this._textSelectionEnd = new A.TextPosition(t1.end, B.TextAffinity_0);
          result.set$finalLocalValue(B.SelectionResult_4);
          break;
        case 4:
          result.set$finalLocalValue(_this._handleSelectWord$1(type$.SelectWordSelectionEvent._as($event).get$globalPosition()));
          break;
      }
      if (!J.$eq$(existingSelectionStart, _this._textSelectionStart) || !J.$eq$(existingSelectionEnd, _this._textSelectionEnd)) {
        _this.paragraph.markNeedsPaint$0();
        _this._paragraph$_updateSelectionGeometry$0();
      }
      return result._readLocal$0();
    },
    _updateSelectionEdge$2$isEnd(globalPosition, isEnd) {
      var t1, transform, localPosition, t2, t3, position, _this = this;
      if (isEnd)
        _this._textSelectionEnd = null;
      else
        _this._textSelectionStart = null;
      t1 = _this.paragraph;
      transform = t1.getTransformTo$1(0, null);
      transform.copyInverse$1(transform);
      localPosition = A.MatrixUtils_transformPoint(transform, globalPosition);
      t2 = _this.get$_paragraph$_rect();
      if (t2.get$isEmpty(t2))
        return A.SelectionUtils_getResultBasedOnRect(_this.get$_paragraph$_rect(), localPosition);
      t2 = _this.get$_paragraph$_rect();
      t3 = t1._paragraph$_textPainter._text_painter$_textDirection;
      t3.toString;
      position = _this._clampTextPosition$1(t1.getPositionForOffset$1(A.SelectionUtils_adjustDragOffset(t2, localPosition, t3)));
      if (isEnd)
        _this._textSelectionEnd = position;
      else
        _this._textSelectionStart = position;
      t1 = position.offset;
      t2 = _this.range;
      if (t1 === t2.end)
        return B.SelectionResult_0;
      if (t1 === t2.start)
        return B.SelectionResult_1;
      return A.SelectionUtils_getResultBasedOnRect(_this.get$_paragraph$_rect(), localPosition);
    },
    _clampTextPosition$1(position) {
      var t4,
        t1 = position.offset,
        t2 = this.range,
        t3 = t2.end;
      if (t1 <= t3)
        t4 = t1 === t3 && position.affinity === B.TextAffinity_1;
      else
        t4 = true;
      if (t4)
        return new A.TextPosition(t3, B.TextAffinity_0);
      t2 = t2.start;
      if (t1 < t2)
        return new A.TextPosition(t2, B.TextAffinity_1);
      return position;
    },
    _handleSelectWord$1(globalPosition) {
      var word, start, end, t2, _this = this,
        t1 = _this.paragraph,
        position = t1.getPositionForOffset$1(t1.globalToLocal$1(globalPosition));
      if (_this._positionIsWithinCurrentSelection$1(position))
        return B.SelectionResult_2;
      t1._layoutTextWithConstraints$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(t1)));
      word = t1._paragraph$_textPainter._paragraph.getWordBoundary$1(position);
      start = A._Cell$named("start");
      end = A._Cell$named("end");
      t1 = position.offset;
      t2 = word.end;
      if (t1 >= t2)
        start.__late_helper$_value = end.__late_helper$_value = new A.TextPosition(t1, B.TextAffinity_1);
      else {
        start.__late_helper$_value = new A.TextPosition(word.start, B.TextAffinity_1);
        end.__late_helper$_value = new A.TextPosition(t2, B.TextAffinity_0);
      }
      _this._textSelectionStart = start._readLocal$0();
      _this._textSelectionEnd = end._readLocal$0();
      return B.SelectionResult_2;
    },
    _positionIsWithinCurrentSelection$1(position) {
      var currentStart, currentEnd, t1, t2, _this = this;
      if (_this._textSelectionStart == null || _this._textSelectionEnd == null)
        return false;
      currentStart = A._Cell$named("currentStart");
      currentEnd = A._Cell$named("currentEnd");
      t1 = _this._textSelectionStart;
      t1.toString;
      t2 = _this._textSelectionEnd;
      t2.toString;
      if (A._SelectableFragment__compareTextPositions(t1, t2) > 0) {
        currentStart.__late_helper$_value = t1;
        currentEnd.__late_helper$_value = t2;
      } else {
        currentStart.__late_helper$_value = t2;
        currentEnd.__late_helper$_value = t1;
      }
      return A._SelectableFragment__compareTextPositions(currentStart._readLocal$0(), position) >= 0 && A._SelectableFragment__compareTextPositions(currentEnd._readLocal$0(), position) <= 0;
    },
    getTransformTo$1(_, ancestor) {
      var t1 = A.Matrix4_Matrix4$translationValues(this.get$_paragraph$_rect().left, this.get$_paragraph$_rect().top, 0);
      t1.multiply$1(0, this.paragraph.getTransformTo$1(0, ancestor));
      return t1;
    },
    pushHandleLayers$2(startHandle, endHandle) {
      if (this.paragraph._owner == null)
        return;
    },
    get$_paragraph$_rect() {
      var t2, t3, boxes, result, index, offset, _this = this,
        t1 = _this._paragraph$_cachedRect;
      if (t1 == null) {
        t1 = _this.paragraph;
        t2 = _this.range;
        t3 = t2.start;
        boxes = t1.getBoxesForSelection$1(A.TextSelection$(B.TextAffinity_1, t3, t2.end, false));
        if (boxes.length !== 0) {
          t1 = B.JSArray_methods.get$first(boxes);
          result = new A.Rect(t1.left, t1.top, t1.right, t1.bottom);
          for (index = 1; index < boxes.length; ++index) {
            t1 = boxes[index];
            result = result.expandToInclude$1(new A.Rect(t1.left, t1.top, t1.right, t1.bottom));
          }
          _this._paragraph$_cachedRect = result;
          t1 = result;
        } else {
          offset = t1._getOffsetForPosition$1(new A.TextPosition(t3, B.TextAffinity_1));
          t1 = A.Rect$fromPoints(offset, new A.Offset(offset._dx + 0, offset._dy + -t1._paragraph$_textPainter.get$preferredLineHeight()));
          _this._paragraph$_cachedRect = t1;
        }
      }
      return t1;
    },
    get$size(_) {
      var t1 = this.get$_paragraph$_rect();
      return new A.Size(t1.right - t1.left, t1.bottom - t1.top);
    },
    paint$2(context, offset) {
      var t2, selection, selectionPaint, _i, textBox, _this = this,
        t1 = _this._textSelectionStart;
      if (t1 == null || _this._textSelectionEnd == null)
        return;
      t2 = _this.paragraph;
      if (t2._selectionColor != null) {
        selection = A.TextSelection$(B.TextAffinity_1, t1.offset, _this._textSelectionEnd.offset, false);
        selectionPaint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        selectionPaint.set$style(0, B.PaintingStyle_0);
        t1 = t2._selectionColor;
        t1.toString;
        selectionPaint.set$color(0, t1);
        for (t1 = t2.getBoxesForSelection$1(selection), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          textBox = t1[_i];
          context.get$canvas(context).drawRect$2(new A.Rect(textBox.left, textBox.top, textBox.right, textBox.bottom).shift$1(offset), selectionPaint);
        }
      }
      A.Matrix4_Matrix4$translationValues(_this.get$_paragraph$_rect().left, _this.get$_paragraph$_rect().top, 0);
    },
    $isListenable: 1,
    $isValueListenable: 1
  };
  A._RenderParagraph_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.TextParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.TextParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin.prototype = {
    attach$1(owner) {
      this.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$attach(owner);
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.add$1(0, this.get$systemFontsDidChange());
    },
    detach$0(_) {
      $.PaintingBinding__instance.PaintingBinding__systemFonts._systemFontsCallbacks.remove$1(0, this.get$systemFontsDidChange());
      this.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$detach(0);
    }
  };
  A.__SelectableFragment_Object_Selectable.prototype = {};
  A.__SelectableFragment_Object_Selectable_ChangeNotifier.prototype = {};
  A.RenderPerformanceOverlay.prototype = {
    set$optionsMask(value) {
      if (value === this._optionsMask)
        return;
      this._optionsMask = value;
      this.markNeedsPaint$0();
    },
    set$rasterizerThreshold(value) {
      if (value === this._rasterizerThreshold)
        return;
      this._rasterizerThreshold = value;
      this.markNeedsPaint$0();
    },
    get$sizedByParent() {
      return true;
    },
    get$alwaysNeedsCompositing() {
      return true;
    },
    computeMinIntrinsicWidth$1(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      return 0;
    },
    get$_intrinsicHeight() {
      var t1 = this._optionsMask,
        result = (t1 | 1) >>> 0 > 0 || (t1 | 2) >>> 0 > 0 ? 80 : 0;
      return (t1 | 4) >>> 0 > 0 || (t1 | 8) >>> 0 > 0 ? result + 80 : result;
    },
    computeMinIntrinsicHeight$1(width) {
      return this.get$_intrinsicHeight();
    },
    computeMaxIntrinsicHeight$1(width) {
      return this.get$_intrinsicHeight();
    },
    computeDryLayout$1(constraints) {
      return constraints.constrain$1(new A.Size(1 / 0, this.get$_intrinsicHeight()));
    },
    paint$2(context, offset) {
      var t5, t6, t7,
        t1 = offset._dx,
        t2 = offset._dy,
        t3 = this._box$_size,
        t4 = t3._dx;
      t3 = t3._dy;
      t5 = this._optionsMask;
      t6 = this._rasterizerThreshold;
      t7 = A.LayerHandle$(type$.Layer_2);
      context.stopRecordingIfNeeded$0();
      context.appendLayer$1(new A.PerformanceOverlayLayer(new A.Rect(t1, t2, t1 + t4, t2 + t3), t5, t6, false, false, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), t7));
    }
  };
  A.RenderProxyBox.prototype = {};
  A.RenderProxyBoxMixin.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.ParentData))
        child.parentData = new A.ParentData();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
      return 0;
    },
    computeDryLayout$1(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDryLayout$1(constraints);
      return this.computeSizeForNoChild$1(constraints);
    },
    performLayout$0() {
      var _this = this,
        t1 = _this.RenderObjectWithChildMixin__child,
        t2 = type$.BoxConstraints;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(t2._as(A.RenderObject.prototype.get$constraints.call(_this)), true);
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.toString;
        _this._box$_size = t1;
      } else
        _this._box$_size = _this.computeSizeForNoChild$1(t2._as(A.RenderObject.prototype.get$constraints.call(_this)));
    },
    computeSizeForNoChild$1(constraints) {
      return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
    },
    hitTestChildren$2$position(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      t1 = t1 == null ? null : t1.hitTest$2$position(result, position);
      return t1 === true;
    },
    applyPaintTransform$2(child, transform) {
    },
    paint$2(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    }
  };
  A.HitTestBehavior.prototype = {
    toString$0(_) {
      return "HitTestBehavior." + this._core$_name;
    }
  };
  A.RenderProxyBoxWithHitTestBehavior.prototype = {
    hitTest$2$position(result, position) {
      var hitTarget, _this = this;
      if (_this._box$_size.contains$1(0, position)) {
        hitTarget = _this.hitTestChildren$2$position(result, position) || _this.behavior === B.HitTestBehavior_1;
        if (hitTarget || _this.behavior === B.HitTestBehavior_2)
          result.add$1(0, new A.BoxHitTestEntry(position, _this));
      } else
        hitTarget = false;
      return hitTarget;
    },
    hitTestSelf$1(position) {
      return this.behavior === B.HitTestBehavior_1;
    }
  };
  A.RenderConstrainedBox.prototype = {
    set$additionalConstraints(value) {
      if (this._additionalConstraints.$eq(0, value))
        return;
      this._additionalConstraints = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var width,
        t1 = this._additionalConstraints,
        t2 = t1.maxWidth;
      if (t2 < 1 / 0 && t1.minWidth >= t2)
        return t1.minWidth;
      width = this.super$RenderProxyBoxMixin$computeMinIntrinsicWidth(height);
      t1 = this._additionalConstraints;
      t2 = t1.minWidth;
      if (!(t2 >= 1 / 0))
        return A.clampDouble(width, t2, t1.maxWidth);
      return width;
    },
    computeMaxIntrinsicWidth$1(height) {
      var width,
        t1 = this._additionalConstraints,
        t2 = t1.maxWidth;
      if (t2 < 1 / 0 && t1.minWidth >= t2)
        return t1.minWidth;
      width = this.super$RenderProxyBoxMixin$computeMaxIntrinsicWidth(height);
      t1 = this._additionalConstraints;
      t2 = t1.minWidth;
      if (!(t2 >= 1 / 0))
        return A.clampDouble(width, t2, t1.maxWidth);
      return width;
    },
    computeMinIntrinsicHeight$1(width) {
      var height,
        t1 = this._additionalConstraints,
        t2 = t1.maxHeight;
      if (t2 < 1 / 0 && t1.minHeight >= t2)
        return t1.minHeight;
      height = this.super$RenderProxyBoxMixin$computeMinIntrinsicHeight(width);
      t1 = this._additionalConstraints;
      t2 = t1.minHeight;
      if (!(t2 >= 1 / 0))
        return A.clampDouble(height, t2, t1.maxHeight);
      return height;
    },
    computeMaxIntrinsicHeight$1(width) {
      var height,
        t1 = this._additionalConstraints,
        t2 = t1.maxHeight;
      if (t2 < 1 / 0 && t1.minHeight >= t2)
        return t1.minHeight;
      height = this.super$RenderProxyBoxMixin$computeMaxIntrinsicHeight(width);
      t1 = this._additionalConstraints;
      t2 = t1.minHeight;
      if (!(t2 >= 1 / 0))
        return A.clampDouble(height, t2, t1.maxHeight);
      return height;
    },
    performLayout$0() {
      var _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this.RenderObjectWithChildMixin__child,
        t2 = _this._additionalConstraints;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(t2.enforce$1(constraints), true);
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.toString;
        _this._box$_size = t1;
      } else
        _this._box$_size = t2.enforce$1(constraints).constrain$1(B.Size_0_0);
    },
    computeDryLayout$1(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child,
        t2 = this._additionalConstraints;
      if (t1 != null)
        return t1.getDryLayout$1(t2.enforce$1(constraints));
      else
        return t2.enforce$1(constraints).constrain$1(B.Size_0_0);
    }
  };
  A.RenderLimitedBox.prototype = {
    set$maxWidth(_, value) {
      if (this._maxWidth === value)
        return;
      this._maxWidth = value;
      this.markNeedsLayout$0();
    },
    set$maxHeight(_, value) {
      if (this._maxHeight === value)
        return;
      this._maxHeight = value;
      this.markNeedsLayout$0();
    },
    _limitConstraints$1(constraints) {
      var t3, t4,
        t1 = constraints.minWidth,
        t2 = constraints.maxWidth;
      t2 = t2 < 1 / 0 ? t2 : A.clampDouble(this._maxWidth, t1, t2);
      t3 = constraints.minHeight;
      t4 = constraints.maxHeight;
      return new A.BoxConstraints(t1, t2, t3, t4 < 1 / 0 ? t4 : A.clampDouble(this._maxHeight, t3, t4));
    },
    _proxy_box$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return constraints.constrain$1(layoutChild.call$2(t1, this._limitConstraints$1(constraints)));
      return this._limitConstraints$1(constraints).constrain$1(B.Size_0_0);
    },
    computeDryLayout$1(constraints) {
      return this._proxy_box$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      this._box$_size = this._proxy_box$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
    }
  };
  A.RenderIntrinsicWidth.prototype = {
    set$stepWidth(value) {
      if (value == this._stepWidth)
        return;
      this._stepWidth = value;
      this.markNeedsLayout$0();
    },
    set$stepHeight(value) {
      return;
    },
    computeMinIntrinsicWidth$1(height) {
      return this.computeMaxIntrinsicWidth$1(height);
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return A.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth()), this._stepWidth);
    },
    computeMinIntrinsicHeight$1(width) {
      var t1, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null)
        return 0;
      if (!isFinite(width))
        width = _this.computeMaxIntrinsicWidth$1(1 / 0);
      t1 = _this.RenderObjectWithChildMixin__child;
      return A.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight()), _this._stepHeight);
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null)
        return 0;
      if (!isFinite(width))
        width = _this.computeMaxIntrinsicWidth$1(1 / 0);
      t1 = _this.RenderObjectWithChildMixin__child;
      return A.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight()), _this._stepHeight);
    },
    _proxy_box$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        if (!(constraints.minWidth >= constraints.maxWidth))
          constraints = constraints.tighten$1$width(A.RenderIntrinsicWidth__applyStep(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, constraints.maxHeight, t1.get$computeMaxIntrinsicWidth()), this._stepWidth));
        t1 = this.RenderObjectWithChildMixin__child;
        t1.toString;
        return layoutChild.call$2(t1, constraints);
      } else
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
    },
    computeDryLayout$1(constraints) {
      return this._proxy_box$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      this._box$_size = this._proxy_box$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
    }
  };
  A.RenderIntrinsicHeight.prototype = {
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      if (!isFinite(height))
        height = t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, 1 / 0, t1.get$computeMaxIntrinsicHeight());
      t1 = this.RenderObjectWithChildMixin__child;
      return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      if (!isFinite(height))
        height = t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, 1 / 0, t1.get$computeMaxIntrinsicHeight());
      t1 = this.RenderObjectWithChildMixin__child;
      return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
    },
    computeMinIntrinsicHeight$1(width) {
      return this.computeMaxIntrinsicHeight$1(width);
    },
    _proxy_box$_computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        if (!(constraints.minHeight >= constraints.maxHeight))
          constraints = constraints.tighten$1$height(t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, constraints.maxWidth, t1.get$computeMaxIntrinsicHeight()));
        t1 = this.RenderObjectWithChildMixin__child;
        t1.toString;
        return layoutChild.call$2(t1, constraints);
      } else
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
    },
    computeDryLayout$1(constraints) {
      return this._proxy_box$_computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    performLayout$0() {
      this._box$_size = this._proxy_box$_computeSize$2$constraints$layoutChild(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(this)), A.layout_helper_ChildLayoutHelper_layoutChild$closure());
    }
  };
  A.RenderOpacity.prototype = {
    get$alwaysNeedsCompositing() {
      return this.RenderObjectWithChildMixin__child != null && this._proxy_box$_alpha > 0;
    },
    updateCompositedLayer$1$oldLayer(oldLayer) {
      var updatedLayer = oldLayer == null ? A.OpacityLayer$() : oldLayer;
      updatedLayer.set$alpha(0, this._proxy_box$_alpha);
      return updatedLayer;
    },
    set$opacity(_, value) {
      var didNeedCompositing, t1, t2, _this = this;
      if (_this._proxy_box$_opacity === value)
        return;
      didNeedCompositing = _this.RenderObjectWithChildMixin__child != null && _this._proxy_box$_alpha > 0;
      t1 = _this._proxy_box$_alpha;
      _this._proxy_box$_opacity = value;
      t2 = B.JSNumber_methods.round$0(B.JSNumber_methods.clamp$2(value, 0, 1) * 255);
      _this._proxy_box$_alpha = t2;
      if (didNeedCompositing !== (_this.RenderObjectWithChildMixin__child != null && t2 > 0))
        _this.markNeedsCompositingBitsUpdate$0();
      _this.markNeedsPaint$0();
      if (t1 !== 0 !== (_this._proxy_box$_alpha !== 0) && !_this._alwaysIncludeSemantics)
        _this.markNeedsSemanticsUpdate$0();
    },
    set$alwaysIncludeSemantics(value) {
      if (value === this._alwaysIncludeSemantics)
        return;
      this._alwaysIncludeSemantics = value;
      this.markNeedsSemanticsUpdate$0();
    },
    paintsChild$1(child) {
      return this._proxy_box$_alpha > 0;
    },
    paint$2(context, offset) {
      var t1, t2, t3, layer, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this._proxy_box$_alpha;
        if (t1 === 0) {
          _this._layerHandle.set$layer(0, null);
          return;
        }
        t2 = A.RenderProxyBoxMixin.prototype.get$paint.call(_this);
        t3 = _this._layerHandle;
        layer = type$.nullable_OpacityLayer._as(t3._layer);
        if (layer == null)
          layer = A.OpacityLayer$();
        layer.set$alpha(0, t1);
        layer.set$offset(0, offset);
        context.pushLayer$3(layer, t2, B.Offset_0_0);
        t3.set$layer(0, layer);
      }
    },
    visitChildrenForSemantics$1(visitor) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t2 = this._proxy_box$_alpha !== 0 || this._alwaysIncludeSemantics;
      else
        t2 = false;
      if (t2) {
        t1.toString;
        visitor.call$1(t1);
      }
    }
  };
  A.RenderAnimatedOpacityMixin.prototype = {
    get$isRepaintBoundary() {
      if (this.RenderObjectWithChildMixin__child != null) {
        var t1 = this.RenderAnimatedOpacityMixin__currentlyIsRepaintBoundary;
        t1.toString;
      } else
        t1 = false;
      return t1;
    },
    updateCompositedLayer$1$oldLayer(oldLayer) {
      var updatedLayer = oldLayer == null ? A.OpacityLayer$() : oldLayer;
      updatedLayer.set$alpha(0, this.RenderAnimatedOpacityMixin__alpha);
      return updatedLayer;
    },
    set$opacity(_, value) {
      var _this = this,
        t1 = _this.RenderAnimatedOpacityMixin__opacity;
      if (t1 === value)
        return;
      if (_this._owner != null && t1 != null)
        t1.removeListener$1(0, _this.get$_updateOpacity());
      _this.RenderAnimatedOpacityMixin__opacity = value;
      if (_this._owner != null)
        value.addListener$1(0, _this.get$_updateOpacity());
      _this._updateOpacity$0();
    },
    set$alwaysIncludeSemantics(value) {
      if (value === this.RenderAnimatedOpacityMixin__alwaysIncludeSemantics)
        return;
      this.RenderAnimatedOpacityMixin__alwaysIncludeSemantics = value;
      this.markNeedsSemanticsUpdate$0();
    },
    _updateOpacity$0() {
      var wasRepaintBoundary, _this = this,
        oldAlpha = _this.RenderAnimatedOpacityMixin__alpha,
        t1 = _this.RenderAnimatedOpacityMixin__opacity;
      t1 = _this.RenderAnimatedOpacityMixin__alpha = B.JSNumber_methods.round$0(B.JSNumber_methods.clamp$2(t1.get$value(t1), 0, 1) * 255);
      if (oldAlpha !== t1) {
        wasRepaintBoundary = _this.RenderAnimatedOpacityMixin__currentlyIsRepaintBoundary;
        t1 = t1 > 0;
        _this.RenderAnimatedOpacityMixin__currentlyIsRepaintBoundary = t1;
        if (_this.RenderObjectWithChildMixin__child != null && wasRepaintBoundary !== t1)
          _this.markNeedsCompositingBitsUpdate$0();
        _this.markNeedsCompositedLayerUpdate$0();
        if (oldAlpha === 0 || _this.RenderAnimatedOpacityMixin__alpha === 0)
          _this.markNeedsSemanticsUpdate$0();
      }
    },
    paintsChild$1(child) {
      var t1 = this.RenderAnimatedOpacityMixin__opacity;
      return t1.get$value(t1) > 0;
    },
    visitChildrenForSemantics$1(visitor) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        if (this.RenderAnimatedOpacityMixin__alpha === 0) {
          t2 = this.RenderAnimatedOpacityMixin__alwaysIncludeSemantics;
          t2.toString;
        } else
          t2 = true;
      else
        t2 = false;
      if (t2) {
        t1.toString;
        visitor.call$1(t1);
      }
    }
  };
  A.RenderAnimatedOpacity.prototype = {};
  A.CustomClipper.prototype = {
    addListener$1(_, listener) {
      var t1 = this._reclip;
      return t1 == null ? null : t1.parent.addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      var t1 = this._reclip;
      return t1 == null ? null : t1.parent.removeListener$1(0, listener);
    },
    getApproximateClipRect$1(size) {
      return new A.Rect(0, 0, 0 + size._dx, 0 + size._dy);
    },
    toString$0(_) {
      return "CustomClipper";
    }
  };
  A.ShapeBorderClipper.prototype = {
    getClip$1(size) {
      return this.shape.getOuterPath$2$textDirection(new A.Rect(0, 0, 0 + size._dx, 0 + size._dy), this.textDirection);
    },
    shouldReclip$1(oldClipper) {
      if (A.getRuntimeType(oldClipper) !== B.Type_ShapeBorderClipper_QWG)
        return true;
      type$.ShapeBorderClipper._as(oldClipper);
      return !oldClipper.shape.$eq(0, this.shape) || oldClipper.textDirection != this.textDirection;
    }
  };
  A._RenderCustomClip.prototype = {
    set$clipper(newClipper) {
      var t2, _this = this,
        t1 = _this._clipper;
      if (t1 == newClipper)
        return;
      _this._clipper = newClipper;
      t2 = newClipper == null;
      if (t2 || t1 == null || A.getRuntimeType(newClipper) !== A.getRuntimeType(t1) || newClipper.shouldReclip$1(t1))
        _this._markNeedsClip$0();
      if (_this._owner != null) {
        if (t1 != null)
          t1.removeListener$1(0, _this.get$_markNeedsClip());
        if (!t2)
          newClipper.addListener$1(0, _this.get$_markNeedsClip());
      }
    },
    attach$1(owner) {
      var t1;
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      t1 = this._clipper;
      if (t1 != null)
        t1.addListener$1(0, this.get$_markNeedsClip());
    },
    detach$0(_) {
      var t1 = this._clipper;
      if (t1 != null)
        t1.removeListener$1(0, this.get$_markNeedsClip());
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    _markNeedsClip$0() {
      this._clip = null;
      this.markNeedsPaint$0();
      this.markNeedsSemanticsUpdate$0();
    },
    set$clipBehavior(value) {
      if (value !== this._proxy_box$_clipBehavior) {
        this._proxy_box$_clipBehavior = value;
        this.markNeedsPaint$0();
      }
    },
    performLayout$0() {
      var t1, _this = this,
        oldSize = _this._box$_size;
      oldSize = oldSize != null ? oldSize : null;
      _this.super$RenderProxyBoxMixin$performLayout();
      t1 = _this._box$_size;
      t1.toString;
      if (!J.$eq$(oldSize, t1))
        _this._clip = null;
    },
    _updateClip$0() {
      var t1, t2, _this = this;
      if (_this._clip == null) {
        t1 = _this._clipper;
        if (t1 == null)
          t1 = null;
        else {
          t2 = _this._box$_size;
          t2.toString;
          t2 = t1.getClip$1(t2);
          t1 = t2;
        }
        _this._clip = t1 == null ? _this.get$_defaultClip() : t1;
      }
    },
    describeApproximatePaintClip$1(child) {
      var t1, t2, _this = this;
      switch (_this._proxy_box$_clipBehavior.index) {
        case 0:
          return null;
        case 1:
        case 2:
        case 3:
          t1 = _this._clipper;
          if (t1 == null)
            t1 = null;
          else {
            t2 = _this._box$_size;
            t2.toString;
            t2 = t1.getApproximateClipRect$1(t2);
            t1 = t2;
          }
          if (t1 == null) {
            t1 = _this._box$_size;
            t1 = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
          }
          return t1;
      }
    }
  };
  A.RenderClipRect.prototype = {
    get$_defaultClip() {
      var t1 = this._box$_size;
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    hitTest$2$position(result, position) {
      var _this = this;
      if (_this._clipper != null) {
        _this._updateClip$0();
        if (!_this._clip.contains$1(0, position))
          return false;
      }
      return _this.super$RenderBox$hitTest(result, position);
    },
    paint$2(context, offset) {
      var t2, t3, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = _this._layerHandle;
        if (_this._proxy_box$_clipBehavior !== B.Clip_0) {
          _this._updateClip$0();
          t1 = _this.__RenderObject__needsCompositing;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t3 = _this._clip;
          t3.toString;
          t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, t3, A.RenderProxyBoxMixin.prototype.get$paint.call(_this), _this._proxy_box$_clipBehavior, type$.nullable_ClipRectLayer._as(t2._layer)));
        } else {
          context.paintChild$2(t1, offset);
          t2.set$layer(0, null);
        }
      } else
        _this._layerHandle.set$layer(0, null);
    }
  };
  A.RenderClipRRect.prototype = {
    set$borderRadius(_, value) {
      if (this._proxy_box$_borderRadius.$eq(0, value))
        return;
      this._proxy_box$_borderRadius = value;
      this._markNeedsClip$0();
    },
    set$textDirection(value) {
      if (this._proxy_box$_textDirection == value)
        return;
      this._proxy_box$_textDirection = value;
      this._markNeedsClip$0();
    },
    get$_defaultClip() {
      var t1 = this._proxy_box$_borderRadius,
        t2 = this._box$_size;
      return t1.toRRect$1(new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
    },
    hitTest$2$position(result, position) {
      var _this = this;
      if (_this._clipper != null) {
        _this._updateClip$0();
        if (!_this._clip.contains$1(0, position))
          return false;
      }
      return _this.super$RenderBox$hitTest(result, position);
    },
    paint$2(context, offset) {
      var t2, t3, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = _this._layerHandle;
        if (_this._proxy_box$_clipBehavior !== B.Clip_0) {
          _this._updateClip$0();
          t1 = _this.__RenderObject__needsCompositing;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t3 = _this._clip;
          t2.set$layer(0, context.pushClipRRect$7$clipBehavior$oldLayer(t1, offset, new A.Rect(t3.left, t3.top, t3.right, t3.bottom), t3, A.RenderProxyBoxMixin.prototype.get$paint.call(_this), _this._proxy_box$_clipBehavior, type$.nullable_ClipRRectLayer._as(t2._layer)));
        } else {
          context.paintChild$2(t1, offset);
          t2.set$layer(0, null);
        }
      } else
        _this._layerHandle.set$layer(0, null);
    }
  };
  A.RenderClipPath.prototype = {
    get$_defaultClip() {
      var t1 = A.Path_Path(),
        t2 = this._box$_size;
      t1.addRect$1(new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
      return t1;
    },
    hitTest$2$position(result, position) {
      var _this = this;
      if (_this._clipper != null) {
        _this._updateClip$0();
        if (!_this._clip.contains$1(0, position))
          return false;
      }
      return _this.super$RenderBox$hitTest(result, position);
    },
    paint$2(context, offset) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = _this._layerHandle;
        if (_this._proxy_box$_clipBehavior !== B.Clip_0) {
          _this._updateClip$0();
          t1 = _this.__RenderObject__needsCompositing;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t3 = _this._box$_size;
          t4 = t3._dx;
          t3 = t3._dy;
          t5 = _this._clip;
          t5.toString;
          t2.set$layer(0, context.pushClipPath$7$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t4, 0 + t3), t5, A.RenderProxyBoxMixin.prototype.get$paint.call(_this), _this._proxy_box$_clipBehavior, type$.nullable_ClipPathLayer._as(t2._layer)));
        } else {
          context.paintChild$2(t1, offset);
          t2.set$layer(0, null);
        }
      } else
        _this._layerHandle.set$layer(0, null);
    }
  };
  A._RenderPhysicalModelBase.prototype = {
    set$elevation(_, value) {
      if (this._proxy_box$_elevation === value)
        return;
      this._proxy_box$_elevation = value;
      this.markNeedsPaint$0();
    },
    set$shadowColor(_, value) {
      if (this._proxy_box$_shadowColor.$eq(0, value))
        return;
      this._proxy_box$_shadowColor = value;
      this.markNeedsPaint$0();
    },
    set$color(_, value) {
      if (this._proxy_box$_color.$eq(0, value))
        return;
      this._proxy_box$_color = value;
      this.markNeedsPaint$0();
    },
    describeSemanticsConfiguration$1(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config.set$elevation(0, this._proxy_box$_elevation);
    }
  };
  A.RenderPhysicalModel.prototype = {
    set$shape(_, value) {
      if (this._proxy_box$_shape === value)
        return;
      this._proxy_box$_shape = value;
      this._markNeedsClip$0();
    },
    set$borderRadius(_, value) {
      if (J.$eq$(this._proxy_box$_borderRadius, value))
        return;
      this._proxy_box$_borderRadius = value;
      this._markNeedsClip$0();
    },
    get$_defaultClip() {
      var t1, t2, t3, t4, _this = this;
      switch (_this._proxy_box$_shape.index) {
        case 0:
          t1 = _this._proxy_box$_borderRadius;
          if (t1 == null)
            t1 = B.BorderRadius_tLn;
          t2 = _this._box$_size;
          return t1.toRRect$1(new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
        case 1:
          t1 = _this._box$_size;
          t2 = 0 + t1._dx;
          t1 = 0 + t1._dy;
          t3 = (t2 - 0) / 2;
          t4 = (t1 - 0) / 2;
          return new A.RRect(0, 0, t2, t1, t3, t4, t3, t4, t3, t4, t3, t4, t3 === t4);
      }
    },
    hitTest$2$position(result, position) {
      var _this = this;
      if (_this._clipper != null) {
        _this._updateClip$0();
        if (!_this._clip.contains$1(0, position))
          return false;
      }
      return _this.super$RenderBox$hitTest(result, position);
    },
    paint$2(context, offset) {
      var offsetRRect, offsetRRectAsPath, canvas, t1, t2, t3, usesSaveLayer, t4, t5, t6, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null) {
        _this._layerHandle.set$layer(0, null);
        return;
      }
      _this._updateClip$0();
      offsetRRect = _this._clip.shift$1(offset);
      offsetRRectAsPath = A.Path_Path();
      offsetRRectAsPath.addRRect$1(offsetRRect);
      canvas = context.get$canvas(context);
      if (_this._proxy_box$_elevation !== 0 && true) {
        canvas.drawRect$2(new A.Rect(offsetRRect.left, offsetRRect.top, offsetRRect.right, offsetRRect.bottom).inflate$1(20), $.$get$_transparentPaint());
        t1 = _this._proxy_box$_shadowColor;
        t2 = _this._proxy_box$_elevation;
        t3 = _this._proxy_box$_color;
        canvas.drawShadow$4(offsetRRectAsPath, t1, t2, (t3.get$value(t3) >>> 24 & 255) !== 255);
      }
      usesSaveLayer = _this._proxy_box$_clipBehavior === B.Clip_3;
      if (!usesSaveLayer) {
        t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t1.set$color(0, _this._proxy_box$_color);
        canvas.drawRRect$2(offsetRRect, t1);
      }
      t1 = _this.__RenderObject__needsCompositing;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._box$_size;
      t3 = t2._dx;
      t2 = t2._dy;
      t4 = _this._clip;
      t4.toString;
      t5 = _this._layerHandle;
      t6 = type$.nullable_ClipRRectLayer._as(t5._layer);
      t5.set$layer(0, context.pushClipRRect$7$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3, 0 + t2), t4, new A.RenderPhysicalModel_paint_closure(_this, usesSaveLayer), _this._proxy_box$_clipBehavior, t6));
    }
  };
  A.RenderPhysicalModel_paint_closure.prototype = {
    call$2(context, offset) {
      var t1, t2;
      if (this.usesSaveLayer) {
        t1 = context.get$canvas(context);
        t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t2.set$color(0, this.$this._proxy_box$_color);
        t1.drawPaint$1(t2);
      }
      this.$this.super$RenderProxyBoxMixin$paint(context, offset);
    },
    $signature: 19
  };
  A.RenderPhysicalShape.prototype = {
    get$_defaultClip() {
      var t1 = A.Path_Path(),
        t2 = this._box$_size;
      t1.addRect$1(new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
      return t1;
    },
    hitTest$2$position(result, position) {
      var _this = this;
      if (_this._clipper != null) {
        _this._updateClip$0();
        if (!_this._clip.contains$1(0, position))
          return false;
      }
      return _this.super$RenderBox$hitTest(result, position);
    },
    paint$2(context, offset) {
      var t1, t2, t3, t4, offsetPath, canvas, usesSaveLayer, t5, t6, _this = this;
      if (_this.RenderObjectWithChildMixin__child == null) {
        _this._layerHandle.set$layer(0, null);
        return;
      }
      _this._updateClip$0();
      t1 = _this._box$_size;
      t2 = offset._dx;
      t3 = offset._dy;
      t4 = t1._dx;
      t1 = t1._dy;
      offsetPath = _this._clip.shift$1(offset);
      canvas = context.get$canvas(context);
      if (_this._proxy_box$_elevation !== 0 && true) {
        canvas.drawRect$2(new A.Rect(t2, t3, t2 + t4, t3 + t1).inflate$1(20), $.$get$_transparentPaint());
        t1 = _this._proxy_box$_shadowColor;
        t2 = _this._proxy_box$_elevation;
        t3 = _this._proxy_box$_color;
        canvas.drawShadow$4(offsetPath, t1, t2, (t3.get$value(t3) >>> 24 & 255) !== 255);
      }
      usesSaveLayer = _this._proxy_box$_clipBehavior === B.Clip_3;
      if (!usesSaveLayer) {
        t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t1.set$color(0, _this._proxy_box$_color);
        canvas.drawPath$2(offsetPath, t1);
      }
      t1 = _this.__RenderObject__needsCompositing;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._box$_size;
      t3 = t2._dx;
      t2 = t2._dy;
      t4 = _this._clip;
      t4.toString;
      t5 = _this._layerHandle;
      t6 = type$.nullable_ClipPathLayer._as(t5._layer);
      t5.set$layer(0, context.pushClipPath$7$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3, 0 + t2), t4, new A.RenderPhysicalShape_paint_closure(_this, usesSaveLayer), _this._proxy_box$_clipBehavior, t6));
    }
  };
  A.RenderPhysicalShape_paint_closure.prototype = {
    call$2(context, offset) {
      var t1, t2;
      if (this.usesSaveLayer) {
        t1 = context.get$canvas(context);
        t2 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t2.set$color(0, this.$this._proxy_box$_color);
        t1.drawPaint$1(t2);
      }
      this.$this.super$RenderProxyBoxMixin$paint(context, offset);
    },
    $signature: 19
  };
  A.DecorationPosition.prototype = {
    toString$0(_) {
      return "DecorationPosition." + this._core$_name;
    }
  };
  A.RenderDecoratedBox.prototype = {
    set$decoration(value) {
      var t1, _this = this;
      if (value.$eq(0, _this._proxy_box$_decoration))
        return;
      t1 = _this._proxy_box$_painter;
      if (t1 != null)
        t1.dispose$0();
      _this._proxy_box$_painter = null;
      _this._proxy_box$_decoration = value;
      _this.markNeedsPaint$0();
    },
    set$position(_, value) {
      if (value === this._proxy_box$_position)
        return;
      this._proxy_box$_position = value;
      this.markNeedsPaint$0();
    },
    set$configuration(value) {
      if (value.$eq(0, this._proxy_box$_configuration))
        return;
      this._proxy_box$_configuration = value;
      this.markNeedsPaint$0();
    },
    detach$0(_) {
      var _this = this,
        t1 = _this._proxy_box$_painter;
      if (t1 != null)
        t1.dispose$0();
      _this._proxy_box$_painter = null;
      _this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
      _this.markNeedsPaint$0();
    },
    hitTestSelf$1(position) {
      var t1 = this._proxy_box$_decoration,
        t2 = this._box$_size;
      t2.toString;
      return t1.hitTest$3$textDirection(t2, position, this._proxy_box$_configuration.textDirection);
    },
    paint$2(context, offset) {
      var t1, t2, filledConfiguration, _this = this;
      if (_this._proxy_box$_painter == null)
        _this._proxy_box$_painter = _this._proxy_box$_decoration.createBoxPainter$1(_this.get$markNeedsPaint());
      t1 = _this._proxy_box$_configuration;
      t2 = _this._box$_size;
      t2.toString;
      filledConfiguration = t1.copyWith$1$size(t2);
      if (_this._proxy_box$_position === B.DecorationPosition_0) {
        t1 = _this._proxy_box$_painter;
        t1.toString;
        t1.paint$3(context.get$canvas(context), offset, filledConfiguration);
        if (_this._proxy_box$_decoration.get$isComplex())
          context.setIsComplexHint$0();
      }
      _this.super$RenderProxyBoxMixin$paint(context, offset);
      if (_this._proxy_box$_position === B.DecorationPosition_1) {
        t1 = _this._proxy_box$_painter;
        t1.toString;
        t1.paint$3(context.get$canvas(context), offset, filledConfiguration);
        if (_this._proxy_box$_decoration.get$isComplex())
          context.setIsComplexHint$0();
      }
    }
  };
  A.RenderTransform.prototype = {
    set$origin(_, value) {
      return;
    },
    set$alignment(value) {
      var _this = this;
      if (J.$eq$(_this._proxy_box$_alignment, value))
        return;
      _this._proxy_box$_alignment = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._proxy_box$_textDirection == value)
        return;
      _this._proxy_box$_textDirection = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    get$alwaysNeedsCompositing() {
      return false;
    },
    set$transform(_, value) {
      var t1, _this = this;
      if (J.$eq$(_this._proxy_box$_transform, value))
        return;
      t1 = new A.Matrix4(new Float64Array(16));
      t1.setFrom$1(value);
      _this._proxy_box$_transform = t1;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    set$filterQuality(value) {
      return;
    },
    get$_effectiveTransform() {
      var result, translation, _this = this,
        t1 = _this._proxy_box$_alignment,
        resolvedAlignment = t1 == null ? null : t1.resolve$1(_this._proxy_box$_textDirection);
      if (resolvedAlignment == null)
        return _this._proxy_box$_transform;
      result = new A.Matrix4(new Float64Array(16));
      result.setIdentity$0();
      t1 = _this._box$_size;
      t1.toString;
      translation = resolvedAlignment.alongSize$1(t1);
      result.translate$2(0, translation._dx, translation._dy);
      t1 = _this._proxy_box$_transform;
      t1.toString;
      result.multiply$1(0, t1);
      result.translate$2(0, -translation._dx, -translation._dy);
      return result;
    },
    hitTest$2$position(result, position) {
      return this.hitTestChildren$2$position(result, position);
    },
    hitTestChildren$2$position(result, position) {
      var t1 = this.transformHitTests ? this.get$_effectiveTransform() : null;
      return result.addWithPaintTransform$3$hitTest$position$transform(new A.RenderTransform_hitTestChildren_closure(this), position, t1);
    },
    paint$2(context, offset) {
      var t1, childOffset, t2, t3, t4, t5, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this.get$_effectiveTransform();
        t1.toString;
        childOffset = A.MatrixUtils_getAsTranslation(t1);
        if (childOffset == null) {
          t2 = _this.__RenderObject__needsCompositing;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t3 = A.RenderProxyBoxMixin.prototype.get$paint.call(_this);
          t4 = _this._layerHandle;
          t5 = t4._layer;
          t4.set$layer(0, context.pushTransform$5$oldLayer(t2, offset, t1, t3, t5 instanceof A.TransformLayer ? t5 : null));
        } else {
          _this.super$RenderProxyBoxMixin$paint(context, offset.$add(0, childOffset));
          _this._layerHandle.set$layer(0, null);
        }
      }
    },
    applyPaintTransform$2(child, transform) {
      var t1 = this.get$_effectiveTransform();
      t1.toString;
      transform.multiply$1(0, t1);
    }
  };
  A.RenderTransform_hitTestChildren_closure.prototype = {
    call$2(result, position) {
      return this.$this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    $signature: 18
  };
  A.RenderFractionalTranslation.prototype = {
    set$translation(value) {
      var _this = this;
      if (_this._translation.$eq(0, value))
        return;
      _this._translation = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    hitTest$2$position(result, position) {
      return this.hitTestChildren$2$position(result, position);
    },
    hitTestChildren$2$position(result, position) {
      var t1, t2, _this = this;
      if (_this.transformHitTests) {
        t1 = _this._translation;
        t2 = _this._box$_size;
        t2 = new A.Offset(t1._dx * t2._dx, t1._dy * t2._dy);
        t1 = t2;
      } else
        t1 = null;
      return result.addWithPaintOffset$3$hitTest$offset$position(new A.RenderFractionalTranslation_hitTestChildren_closure(_this), t1, position);
    },
    paint$2(context, offset) {
      var t1, t2, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this._translation;
        t2 = _this._box$_size;
        _this.super$RenderProxyBoxMixin$paint(context, new A.Offset(offset._dx + t1._dx * t2._dx, offset._dy + t1._dy * t2._dy));
      }
    },
    applyPaintTransform$2(child, transform) {
      var t1 = this._translation,
        t2 = this._box$_size;
      transform.translate$2(0, t1._dx * t2._dx, t1._dy * t2._dy);
    }
  };
  A.RenderFractionalTranslation_hitTestChildren_closure.prototype = {
    call$2(result, position) {
      return this.$this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    $signature: 18
  };
  A.RenderPointerListener.prototype = {
    computeSizeForNoChild$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    handleEvent$2($event, entry) {
      var t1, _this = this, _null = null;
      if (type$.PointerDownEvent._is($event)) {
        t1 = _this.onPointerDown;
        return t1 == null ? _null : t1.call$1($event);
      }
      if (type$.PointerMoveEvent._is($event))
        return _null;
      if (type$.PointerUpEvent._is($event)) {
        t1 = _this.onPointerUp;
        return t1 == null ? _null : t1.call$1($event);
      }
      if (type$.PointerHoverEvent._is($event))
        return _null;
      if (type$.PointerCancelEvent._is($event)) {
        t1 = _this.onPointerCancel;
        return t1 == null ? _null : t1.call$1($event);
      }
      if (type$.PointerPanZoomStartEvent._is($event)) {
        t1 = _this.onPointerPanZoomStart;
        return t1 == null ? _null : t1.call$1($event);
      }
      if (type$.PointerPanZoomUpdateEvent._is($event))
        return _null;
      if (type$.PointerPanZoomEndEvent._is($event))
        return _null;
      if (type$.PointerSignalEvent._is($event)) {
        t1 = _this.onPointerSignal;
        return t1 == null ? _null : t1.call$1($event);
      }
    }
  };
  A.RenderMouseRegion.prototype = {
    hitTest$2$position(result, position) {
      return this.super$RenderProxyBoxWithHitTestBehavior$hitTest(result, position) && true;
    },
    handleEvent$2($event, entry) {
      var t1 = this.onHover;
      if (t1 != null && type$.PointerHoverEvent._is($event))
        return t1.call$1($event);
    },
    get$cursor(_) {
      return this._cursor;
    },
    get$validForMouseTracker() {
      return this._validForMouseTracker;
    },
    attach$1(owner) {
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      this._validForMouseTracker = true;
    },
    detach$0(_) {
      this._validForMouseTracker = false;
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    computeSizeForNoChild$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    $isMouseTrackerAnnotation: 1,
    get$onEnter(receiver) {
      return this.onEnter;
    },
    get$onExit(receiver) {
      return this.onExit;
    }
  };
  A.RenderRepaintBoundary.prototype = {
    get$isRepaintBoundary() {
      return true;
    }
  };
  A.RenderIgnorePointer.prototype = {
    set$ignoring(value) {
      var t1, _this = this;
      if (value === _this._ignoring)
        return;
      _this._ignoring = value;
      t1 = _this._ignoringSemantics;
      if (t1 == null || !t1)
        _this.markNeedsSemanticsUpdate$0();
    },
    set$ignoringSemantics(value) {
      var _this = this,
        oldEffectiveValue = _this._ignoringSemantics;
      if (value == oldEffectiveValue)
        return;
      if (oldEffectiveValue == null)
        oldEffectiveValue = _this._ignoring;
      _this._ignoringSemantics = value;
      if (oldEffectiveValue !== (value == null ? _this._ignoring : value))
        _this.markNeedsSemanticsUpdate$0();
    },
    hitTest$2$position(result, position) {
      return !this._ignoring && this.super$RenderBox$hitTest(result, position);
    },
    visitChildrenForSemantics$1(visitor) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = this._ignoringSemantics;
        t2 = !(t2 == null ? this._ignoring : t2);
      } else
        t2 = false;
      if (t2) {
        t1.toString;
        visitor.call$1(t1);
      }
    }
  };
  A.RenderOffstage.prototype = {
    set$offstage(value) {
      var _this = this;
      if (value === _this._proxy_box$_offstage)
        return;
      _this._proxy_box$_offstage = value;
      _this.markNeedsLayout$0();
      _this.markParentNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicWidth(height);
    },
    computeMaxIntrinsicWidth$1(height) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicWidth(height);
    },
    computeMinIntrinsicHeight$1(width) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMinIntrinsicHeight(width);
    },
    computeMaxIntrinsicHeight$1(width) {
      if (this._proxy_box$_offstage)
        return 0;
      return this.super$RenderProxyBoxMixin$computeMaxIntrinsicHeight(width);
    },
    computeDistanceToActualBaseline$1(baseline) {
      if (this._proxy_box$_offstage)
        return null;
      return this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin$computeDistanceToActualBaseline(baseline);
    },
    get$sizedByParent() {
      return this._proxy_box$_offstage;
    },
    computeDryLayout$1(constraints) {
      if (this._proxy_box$_offstage)
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      return this.super$RenderProxyBoxMixin$computeDryLayout(constraints);
    },
    performResize$0() {
      this.super$RenderBox$performResize();
    },
    performLayout$0() {
      var t1, _this = this;
      if (_this._proxy_box$_offstage) {
        t1 = _this.RenderObjectWithChildMixin__child;
        if (t1 != null)
          t1.layout$1(type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)));
      } else
        _this.super$RenderProxyBoxMixin$performLayout();
    },
    hitTest$2$position(result, position) {
      return !this._proxy_box$_offstage && this.super$RenderBox$hitTest(result, position);
    },
    paintsChild$1(child) {
      return !this._proxy_box$_offstage;
    },
    paint$2(context, offset) {
      if (this._proxy_box$_offstage)
        return;
      this.super$RenderProxyBoxMixin$paint(context, offset);
    },
    visitChildrenForSemantics$1(visitor) {
      if (this._proxy_box$_offstage)
        return;
      this.super$RenderObject$visitChildrenForSemantics(visitor);
    },
    debugDescribeChildren$0() {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return A._setArrayType([], type$.JSArray_DiagnosticsNode);
      return A._setArrayType([A.DiagnosticableTreeNode$("child", this._proxy_box$_offstage ? B.DiagnosticsTreeStyle_2 : B.DiagnosticsTreeStyle_1, t1)], type$.JSArray_DiagnosticsNode);
    }
  };
  A.RenderAbsorbPointer.prototype = {
    set$absorbing(value) {
      if (this._absorbing === value)
        return;
      this._absorbing = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$ignoringSemantics(value) {
      return;
    },
    hitTest$2$position(result, position) {
      return this._absorbing ? this._box$_size.contains$1(0, position) : this.super$RenderBox$hitTest(result, position);
    },
    visitChildrenForSemantics$1(visitor) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = this._absorbing;
        t2 = !t2;
      } else
        t2 = false;
      if (t2) {
        t1.toString;
        visitor.call$1(t1);
      }
    }
  };
  A.RenderMetaData.prototype = {};
  A.RenderSemanticsGestureHandler.prototype = {
    set$validActions(value) {
      if (A.setEquals(value, this._validActions))
        return;
      this._validActions = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$onTap(value) {
      var t1, _this = this;
      if (J.$eq$(_this._proxy_box$_onTap, value))
        return;
      t1 = _this._proxy_box$_onTap;
      _this._proxy_box$_onTap = value;
      if (value != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onLongPress(value) {
      var t1, _this = this;
      if (J.$eq$(_this._onLongPress, value))
        return;
      t1 = _this._onLongPress;
      _this._onLongPress = value;
      if (value != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onHorizontalDragUpdate(value) {
      var t1, _this = this;
      if (J.$eq$(_this._onHorizontalDragUpdate, value))
        return;
      t1 = _this._onHorizontalDragUpdate;
      _this._onHorizontalDragUpdate = value;
      if (value != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    set$onVerticalDragUpdate(value) {
      var t1, _this = this;
      if (J.$eq$(_this._onVerticalDragUpdate, value))
        return;
      t1 = _this._onVerticalDragUpdate;
      _this._onVerticalDragUpdate = value;
      if (value != null !== (t1 != null))
        _this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1(config) {
      var t1, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      if (_this._proxy_box$_onTap != null) {
        t1 = _this._validActions;
        t1 = t1 == null || t1.contains$1(0, B.SemanticsAction_1);
      } else
        t1 = false;
      if (t1)
        config.set$onTap(_this._proxy_box$_onTap);
      if (_this._onLongPress != null) {
        t1 = _this._validActions;
        t1 = t1 == null || t1.contains$1(0, B.SemanticsAction_2);
      } else
        t1 = false;
      if (t1)
        config.set$onLongPress(_this._onLongPress);
      if (_this._onHorizontalDragUpdate != null) {
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, B.SemanticsAction_8))
          config.set$onScrollRight(_this.get$_performSemanticScrollRight());
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, B.SemanticsAction_4))
          config.set$onScrollLeft(_this.get$_performSemanticScrollLeft());
      }
      if (_this._onVerticalDragUpdate != null) {
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, B.SemanticsAction_16))
          config.set$onScrollUp(_this.get$_performSemanticScrollUp());
        t1 = _this._validActions;
        if (t1 == null || t1.contains$1(0, B.SemanticsAction_32))
          config.set$onScrollDown(_this.get$_performSemanticScrollDown());
      }
    },
    _performSemanticScrollLeft$0() {
      var t2, primaryDelta,
        t1 = this._onHorizontalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dx * -0.8;
        t2 = t2.center$1(B.Offset_0_0);
        t2 = A.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new A.DragUpdateDetails(null, new A.Offset(primaryDelta, 0), primaryDelta, t2));
      }
    },
    _performSemanticScrollRight$0() {
      var t2, primaryDelta,
        t1 = this._onHorizontalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dx * 0.8;
        t2 = t2.center$1(B.Offset_0_0);
        t2 = A.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new A.DragUpdateDetails(null, new A.Offset(primaryDelta, 0), primaryDelta, t2));
      }
    },
    _performSemanticScrollUp$0() {
      var t2, primaryDelta,
        t1 = this._onVerticalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dy * -0.8;
        t2 = t2.center$1(B.Offset_0_0);
        t2 = A.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new A.DragUpdateDetails(null, new A.Offset(0, primaryDelta), primaryDelta, t2));
      }
    },
    _performSemanticScrollDown$0() {
      var t2, primaryDelta,
        t1 = this._onVerticalDragUpdate;
      if (t1 != null) {
        t2 = this._box$_size;
        primaryDelta = t2._dy * 0.8;
        t2 = t2.center$1(B.Offset_0_0);
        t2 = A.MatrixUtils_transformPoint(this.getTransformTo$1(0, null), t2);
        t1.call$1(new A.DragUpdateDetails(null, new A.Offset(0, primaryDelta), primaryDelta, t2));
      }
    }
  };
  A.RenderSemanticsAnnotations.prototype = {
    set$properties(value) {
      var _this = this;
      if (_this._proxy_box$_properties === value)
        return;
      _this._proxy_box$_properties = value;
      _this._updateAttributedFields$1(value);
      _this.markNeedsSemanticsUpdate$0();
    },
    set$container(value) {
      if (this._container === value)
        return;
      this._container = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$explicitChildNodes(value) {
      if (this._explicitChildNodes === value)
        return;
      this._explicitChildNodes = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$excludeSemantics(value) {
      if (this._excludeSemantics === value)
        return;
      this._excludeSemantics = value;
      this.markNeedsSemanticsUpdate$0();
    },
    _updateAttributedFields$1(value) {
      var _this = this,
        t1 = value.label;
      t1 = t1 == null ? null : new A.AttributedString(t1, B.List_empty2);
      _this._proxy_box$_attributedLabel = t1;
      t1 = value.value;
      t1 = t1 == null ? null : new A.AttributedString(t1, B.List_empty2);
      _this._proxy_box$_attributedValue = t1;
      _this._proxy_box$_attributedIncreasedValue = null;
      _this._proxy_box$_attributedDecreasedValue = null;
      _this._proxy_box$_attributedHint = null;
    },
    set$textDirection(value) {
      if (this._proxy_box$_textDirection == value)
        return;
      this._proxy_box$_textDirection = value;
      this.markNeedsSemanticsUpdate$0();
    },
    visitChildrenForSemantics$1(visitor) {
      if (this._excludeSemantics)
        return;
      this.super$RenderObject$visitChildrenForSemantics(visitor);
    },
    describeSemanticsConfiguration$1(config) {
      var t1, t2, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      config._isSemanticBoundary = _this._container;
      config.explicitChildNodes = _this._explicitChildNodes;
      t1 = _this._proxy_box$_properties.enabled;
      if (t1 != null) {
        config._setFlag$2(B.SemanticsFlag_64, true);
        config._setFlag$2(B.SemanticsFlag_128, t1);
      }
      t1 = _this._proxy_box$_properties.checked;
      if (t1 != null) {
        config._setFlag$2(B.SemanticsFlag_1, true);
        config._setFlag$2(B.SemanticsFlag_2, t1);
      }
      t1 = _this._proxy_box$_properties.toggled;
      if (t1 != null) {
        config._setFlag$2(B.SemanticsFlag_65536, true);
        config._setFlag$2(B.SemanticsFlag_131072, t1);
      }
      t1 = _this._proxy_box$_properties.selected;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_4, t1);
      t1 = _this._proxy_box$_properties.button;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_8, t1);
      t1 = _this._proxy_box$_properties.header;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_512, t1);
      t1 = _this._proxy_box$_properties.focusable;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_2097152, t1);
      t1 = _this._proxy_box$_properties.focused;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_32, t1);
      t1 = _this._proxy_box$_properties.inMutuallyExclusiveGroup;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_256, t1);
      t1 = _this._proxy_box$_properties.image;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_16384, t1);
      t1 = _this._proxy_box$_attributedLabel;
      if (t1 != null) {
        config._attributedLabel = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_attributedValue;
      if (t1 != null) {
        config._attributedValue = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_attributedIncreasedValue;
      if (t1 != null) {
        config._attributedIncreasedValue = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_attributedDecreasedValue;
      if (t1 != null) {
        config._attributedDecreasedValue = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_attributedHint;
      if (t1 != null) {
        config._attributedHint = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_properties;
      t2 = t1.tooltip;
      if (t2 != null) {
        config._tooltip = t2;
        config._hasBeenAnnotated = true;
      }
      t1.hintOverrides != null;
      t1 = _this._proxy_box$_properties.scopesRoute;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_2048, t1);
      t1 = _this._proxy_box$_properties.namesRoute;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_4096, t1);
      t1 = _this._proxy_box$_properties.liveRegion;
      if (t1 != null)
        config._setFlag$2(B.SemanticsFlag_32768, t1);
      t1 = _this._proxy_box$_properties.currentValueLength;
      if (t1 != null)
        config.set$currentValueLength(t1);
      t1 = _this._proxy_box$_textDirection;
      if (t1 != null) {
        config._textDirection = t1;
        config._hasBeenAnnotated = true;
      }
      t1 = _this._proxy_box$_properties;
      t2 = t1.sortKey;
      if (t2 != null) {
        config._sortKey = t2;
        config._hasBeenAnnotated = true;
      }
      t1 = t1.tagForChildren;
      if (t1 != null)
        config.addTagForChildren$1(t1);
      if (_this._proxy_box$_properties.onTap != null)
        config.set$onTap(_this.get$_performTap());
      if (_this._proxy_box$_properties.onLongPress != null)
        config.set$onLongPress(_this.get$_performLongPress());
      if (_this._proxy_box$_properties.onDismiss != null)
        config.set$onDismiss(_this.get$_performDismiss());
      if (_this._proxy_box$_properties.onCopy != null)
        config.set$onCopy(0, _this.get$_performCopy());
      if (_this._proxy_box$_properties.onCut != null)
        config.set$onCut(0, _this.get$_performCut());
      if (_this._proxy_box$_properties.onPaste != null)
        config.set$onPaste(0, _this.get$_performPaste());
      if (_this._proxy_box$_properties.onDidGainAccessibilityFocus != null)
        config.set$onDidGainAccessibilityFocus(_this.get$_performDidGainAccessibilityFocus());
    },
    _performTap$0() {
      var t1 = this._proxy_box$_properties.onTap;
      if (t1 != null)
        t1.call$0();
    },
    _performLongPress$0() {
      var t1 = this._proxy_box$_properties.onLongPress;
      if (t1 != null)
        t1.call$0();
    },
    _performDismiss$0() {
      var t1 = this._proxy_box$_properties.onDismiss;
      if (t1 != null)
        t1.call$0();
    },
    _performCopy$0() {
      var t1 = this._proxy_box$_properties.onCopy;
      if (t1 != null)
        t1.call$0();
    },
    _performCut$0() {
      var t1 = this._proxy_box$_properties.onCut;
      if (t1 != null)
        t1.call$0();
    },
    _performPaste$0() {
      var t1 = this._proxy_box$_properties.onPaste;
      if (t1 != null)
        t1.call$0();
    },
    _performDidGainAccessibilityFocus$0() {
      var t1 = this._proxy_box$_properties.onDidGainAccessibilityFocus;
      if (t1 != null)
        t1.call$0();
    }
  };
  A.RenderBlockSemantics.prototype = {
    set$blocking(value) {
      return;
    },
    describeSemanticsConfiguration$1(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config.isBlockingSemanticsOfPreviouslyPaintedNodes = true;
    }
  };
  A.RenderMergeSemantics.prototype = {
    describeSemanticsConfiguration$1(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config._hasBeenAnnotated = config._isMergingSemanticsOfDescendants = config._isSemanticBoundary = true;
    }
  };
  A.RenderExcludeSemantics.prototype = {
    set$excluding(value) {
      if (value === this._excluding)
        return;
      this._excluding = value;
      this.markNeedsSemanticsUpdate$0();
    },
    visitChildrenForSemantics$1(visitor) {
      if (this._excluding)
        return;
      this.super$RenderObject$visitChildrenForSemantics(visitor);
    }
  };
  A.RenderIndexedSemantics.prototype = {
    set$index(_, value) {
      if (value === this._proxy_box$_index)
        return;
      this._proxy_box$_index = value;
      this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config._indexInParent = this._proxy_box$_index;
      config._hasBeenAnnotated = true;
    }
  };
  A.RenderLeaderLayer.prototype = {
    set$link(value) {
      var _this = this,
        t1 = _this._proxy_box$_link;
      if (t1 === value)
        return;
      t1.leaderSize = null;
      _this._proxy_box$_link = value;
      t1 = _this._previousLayoutSize;
      if (t1 != null)
        value.leaderSize = t1;
      _this.markNeedsPaint$0();
    },
    get$alwaysNeedsCompositing() {
      return true;
    },
    performLayout$0() {
      var t1, _this = this;
      _this.super$RenderProxyBoxMixin$performLayout();
      t1 = _this._box$_size;
      t1.toString;
      _this._previousLayoutSize = t1;
      _this._proxy_box$_link.leaderSize = t1;
    },
    paint$2(context, offset) {
      var t1 = this._layerHandle,
        t2 = t1._layer,
        t3 = this._proxy_box$_link;
      if (t2 == null)
        t1.set$layer(0, A.LeaderLayer$(t3, offset));
      else {
        type$.LeaderLayer._as(t2);
        t2.set$link(t3);
        t2.set$offset(0, offset);
      }
      t1 = t1._layer;
      t1.toString;
      context.pushLayer$3(t1, A.RenderProxyBoxMixin.prototype.get$paint.call(this), B.Offset_0_0);
    }
  };
  A.RenderFollowerLayer.prototype = {
    set$link(value) {
      if (this._proxy_box$_link === value)
        return;
      this._proxy_box$_link = value;
      this.markNeedsPaint$0();
    },
    set$showWhenUnlinked(value) {
      return;
    },
    set$offset(_, value) {
      if (this._proxy_box$_offset.$eq(0, value))
        return;
      this._proxy_box$_offset = value;
      this.markNeedsPaint$0();
    },
    set$leaderAnchor(value) {
      if (this._leaderAnchor.$eq(0, value))
        return;
      this._leaderAnchor = value;
      this.markNeedsPaint$0();
    },
    set$followerAnchor(value) {
      if (this._followerAnchor.$eq(0, value))
        return;
      this._followerAnchor = value;
      this.markNeedsPaint$0();
    },
    detach$0(_) {
      this._layerHandle.set$layer(0, null);
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    get$alwaysNeedsCompositing() {
      return true;
    },
    getCurrentTransform$0() {
      var t1 = type$.nullable_FollowerLayer._as(A.RenderObject.prototype.get$layer.call(this, this));
      t1 = t1 == null ? null : t1.getLastTransform$0();
      if (t1 == null) {
        t1 = new A.Matrix4(new Float64Array(16));
        t1.setIdentity$0();
      }
      return t1;
    },
    hitTest$2$position(result, position) {
      if (this._proxy_box$_link._leader == null && true)
        return false;
      return this.hitTestChildren$2$position(result, position);
    },
    hitTestChildren$2$position(result, position) {
      return result.addWithPaintTransform$3$hitTest$position$transform(new A.RenderFollowerLayer_hitTestChildren_closure(this), position, this.getCurrentTransform$0());
    },
    paint$2(context, offset) {
      var effectiveLinkedOffset, t1, t2, t3, _this = this,
        leaderSize = _this._proxy_box$_link.leaderSize;
      if (leaderSize == null)
        effectiveLinkedOffset = _this._proxy_box$_offset;
      else {
        t1 = _this._leaderAnchor.alongSize$1(leaderSize);
        t2 = _this._followerAnchor;
        t3 = _this._box$_size;
        t3.toString;
        effectiveLinkedOffset = t1.$sub(0, t2.alongSize$1(t3)).$add(0, _this._proxy_box$_offset);
      }
      t1 = type$.nullable_FollowerLayer;
      if (t1._as(A.RenderObject.prototype.get$layer.call(_this, _this)) == null)
        _this._layerHandle.set$layer(0, new A.FollowerLayer(_this._proxy_box$_link, false, offset, effectiveLinkedOffset, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2)));
      else {
        t2 = t1._as(A.RenderObject.prototype.get$layer.call(_this, _this));
        if (t2 != null) {
          t2._layer$_link = _this._proxy_box$_link;
          t2.showWhenUnlinked = false;
          t2.linkedOffset = effectiveLinkedOffset;
          t2.unlinkedOffset = offset;
        }
      }
      t1 = t1._as(A.RenderObject.prototype.get$layer.call(_this, _this));
      t1.toString;
      context.pushLayer$4$childPaintBounds(t1, A.RenderProxyBoxMixin.prototype.get$paint.call(_this), B.Offset_0_0, B.Rect_Vy7);
    },
    applyPaintTransform$2(child, transform) {
      transform.multiply$1(0, this.getCurrentTransform$0());
    }
  };
  A.RenderFollowerLayer_hitTestChildren_closure.prototype = {
    call$2(result, position) {
      return this.$this.super$RenderProxyBoxMixin$hitTestChildren(result, position);
    },
    $signature: 18
  };
  A.RenderAnnotatedRegion.prototype = {
    set$value(_, newValue) {
      if (this._proxy_box$_value.$eq(0, newValue))
        return;
      this._proxy_box$_value = newValue;
      this.markNeedsPaint$0();
    },
    set$sized(value) {
      return;
    },
    paint$2(context, offset) {
      var _this = this,
        t1 = _this._proxy_box$_value,
        t2 = _this._box$_size;
      t2.toString;
      context.pushLayer$3(new A.AnnotatedRegionLayer(t1, t2, offset, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.void_Function), A.LayerHandle$(type$.Layer_2), _this.$ti._eval$1("AnnotatedRegionLayer<1>")), A.RenderProxyBoxMixin.prototype.get$paint.call(_this), offset);
    },
    get$alwaysNeedsCompositing() {
      return true;
    }
  };
  A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin.prototype = {
    computeDistanceToActualBaseline$1(baseline) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDistanceToActualBaseline$1(baseline);
      return this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin$computeDistanceToActualBaseline(baseline);
    }
  };
  A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin.prototype = {
    attach$1(owner) {
      var _this = this;
      _this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
      _this.RenderAnimatedOpacityMixin__opacity.addListener$1(0, _this.get$_updateOpacity());
      _this._updateOpacity$0();
    },
    detach$0(_) {
      this.RenderAnimatedOpacityMixin__opacity.removeListener$1(0, this.get$_updateOpacity());
      this.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    paint$2(context, offset) {
      if (this.RenderAnimatedOpacityMixin__alpha === 0)
        return;
      this.super$RenderProxyBoxMixin$paint(context, offset);
    }
  };
  A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin.prototype = {
    computeDistanceToActualBaseline$1(baseline) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDistanceToActualBaseline$1(baseline);
      return this.super$RenderBox$computeDistanceToActualBaseline(baseline);
    }
  };
  A.RenderRotatedBox.prototype = {
    set$quarterTurns(value) {
      if (this._quarterTurns === value)
        return;
      this._quarterTurns = value;
      this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, height, t1.get$computeMinIntrinsicHeight()) : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, height, t1.get$computeMaxIntrinsicHeight()) : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, width, t1.get$computeMinIntrinsicWidth()) : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      return (this._quarterTurns & 1) === 1 ? t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, width, t1.get$computeMaxIntrinsicWidth()) : t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
    },
    computeDryLayout$1(constraints) {
      var childSize,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      childSize = t1.getDryLayout$1((this._quarterTurns & 1) === 1 ? constraints.get$flipped() : constraints);
      return (this._quarterTurns & 1) === 1 ? new A.Size(childSize._dy, childSize._dx) : childSize;
    },
    performLayout$0() {
      var t1, t2, _this = this;
      _this._paintTransform = null;
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = type$.BoxConstraints;
        t1.layout$2$parentUsesSize((_this._quarterTurns & 1) === 1 ? t2._as(A.RenderObject.prototype.get$constraints.call(_this)).get$flipped() : t2._as(A.RenderObject.prototype.get$constraints.call(_this)), true);
        t1 = _this._quarterTurns;
        t2 = _this.RenderObjectWithChildMixin__child;
        if ((t1 & 1) === 1) {
          t1 = t2._box$_size;
          t1 = new A.Size(t1._dy, t1._dx);
        } else {
          t1 = t2._box$_size;
          t1.toString;
        }
        _this._box$_size = t1;
        t1 = new A.Matrix4(new Float64Array(16));
        t1.setIdentity$0();
        t2 = _this._box$_size;
        t1.translate$2(0, t2._dx / 2, t2._dy / 2);
        t1.rotateZ$1(1.5707963267948966 * B.JSInt_methods.$mod(_this._quarterTurns, 4));
        t2 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.translate$2(0, -t2._dx / 2, -t2._dy / 2);
        _this._paintTransform = t1;
      } else {
        t1 = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
        _this._box$_size = new A.Size(A.clampDouble(0, t1.minWidth, t1.maxWidth), A.clampDouble(0, t1.minHeight, t1.maxHeight));
      }
    },
    hitTestChildren$2$position(result, position) {
      var _this = this;
      if (_this.RenderObjectWithChildMixin__child == null || _this._paintTransform == null)
        return false;
      return result.addWithPaintTransform$3$hitTest$position$transform(new A.RenderRotatedBox_hitTestChildren_closure(_this), position, _this._paintTransform);
    },
    _paintChild$2(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      t1.toString;
      context.paintChild$2(t1, offset);
    },
    paint$2(context, offset) {
      var t2, t3, _this = this,
        t1 = _this._transformLayer;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t2 = _this.__RenderObject__needsCompositing;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this._paintTransform;
        t3.toString;
        t1.set$layer(0, context.pushTransform$5$oldLayer(t2, offset, t3, _this.get$_paintChild(), t1._layer));
      } else
        t1.set$layer(0, null);
    },
    dispose$0() {
      this._transformLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    },
    applyPaintTransform$2(child, transform) {
      var t1 = this._paintTransform;
      if (t1 != null)
        transform.multiply$1(0, t1);
      this.super$RenderBox$applyPaintTransform(child, transform);
    }
  };
  A.RenderRotatedBox_hitTestChildren_closure.prototype = {
    call$2(result, position) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, position);
    },
    $signature: 18
  };
  A._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.SelectionResult.prototype = {
    toString$0(_) {
      return "SelectionResult." + this._core$_name;
    }
  };
  A.Selectable.prototype = {$isListenable: 1, $isValueListenable: 1};
  A.SelectionRegistrant.prototype = {
    set$registrar(value) {
      var _this = this,
        t1 = _this.SelectionRegistrant__registrar;
      if (value == t1)
        return;
      if (value == null)
        _this.removeListener$1(0, _this.get$_selection$_updateSelectionRegistrarSubscription());
      else if (t1 == null)
        _this.addListener$1(0, _this.get$_selection$_updateSelectionRegistrarSubscription());
      _this._selection$_removeSelectionRegistrarSubscription$0();
      _this.SelectionRegistrant__registrar = value;
      _this._selection$_updateSelectionRegistrarSubscription$0();
    },
    _selection$_updateSelectionRegistrarSubscription$0() {
      var _this = this;
      if (_this.SelectionRegistrant__registrar == null) {
        _this.SelectionRegistrant__subscribedToSelectionRegistrar = false;
        return;
      }
      if (_this.SelectionRegistrant__subscribedToSelectionRegistrar && !_this.get$value(_this).hasContent) {
        _this.SelectionRegistrant__registrar.remove$1(0, _this);
        _this.SelectionRegistrant__subscribedToSelectionRegistrar = false;
      } else if (!_this.SelectionRegistrant__subscribedToSelectionRegistrar && _this.get$value(_this).hasContent) {
        _this.SelectionRegistrant__registrar.add$1(0, _this);
        _this.SelectionRegistrant__subscribedToSelectionRegistrar = true;
      }
    },
    _selection$_removeSelectionRegistrarSubscription$0() {
      var _this = this;
      if (_this.SelectionRegistrant__subscribedToSelectionRegistrar) {
        _this.SelectionRegistrant__registrar.remove$1(0, _this);
        _this.SelectionRegistrant__subscribedToSelectionRegistrar = false;
      }
    }
  };
  A.SelectionEventType.prototype = {
    toString$0(_) {
      return "SelectionEventType." + this._core$_name;
    }
  };
  A.SelectionEvent.prototype = {};
  A.ClearSelectionEvent.prototype = {};
  A.SelectionEdgeUpdateEvent.prototype = {};
  A.SelectionStatus.prototype = {
    toString$0(_) {
      return "SelectionStatus." + this._core$_name;
    }
  };
  A.SelectionGeometry.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.SelectionGeometry && J.$eq$(other.startSelectionPoint, _this.startSelectionPoint) && J.$eq$(other.endSelectionPoint, _this.endSelectionPoint) && other.status === _this.status && other.hasContent === _this.hasContent;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.startSelectionPoint, _this.endSelectionPoint, _this.status, _this.hasContent, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.SelectionPoint.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.SelectionPoint && other.localPosition.$eq(0, _this.localPosition) && other.lineHeight === _this.lineHeight && other.handleType === _this.handleType;
    },
    get$hashCode(_) {
      return A.Object_hash(this.localPosition, this.lineHeight, this.handleType, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.TextSelectionHandleType.prototype = {
    toString$0(_) {
      return "TextSelectionHandleType." + this._core$_name;
    }
  };
  A.RenderShiftedBox.prototype = {
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
      return 0;
    },
    computeDistanceToActualBaseline$1(baseline) {
      var result,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        result = t1.getDistanceToActualBaseline$1(baseline);
        t1 = this.RenderObjectWithChildMixin__child.parentData;
        t1.toString;
        type$.BoxParentData._as(t1);
        if (result != null)
          result += t1.offset._dy;
      } else
        result = this.super$RenderBox$computeDistanceToActualBaseline(baseline);
      return result;
    },
    paint$2(context, offset) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = t1.parentData;
        t2.toString;
        context.paintChild$2(t1, type$.BoxParentData._as(t2).offset.$add(0, offset));
      }
    },
    hitTestChildren$2$position(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1 = t1.parentData;
        t1.toString;
        type$.BoxParentData._as(t1);
        return result.addWithPaintOffset$3$hitTest$offset$position(new A.RenderShiftedBox_hitTestChildren_closure(this, position, t1), t1.offset, position);
      }
      return false;
    }
  };
  A.RenderShiftedBox_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A.RenderPadding.prototype = {
    _shifted_box$_resolve$0() {
      var _this = this;
      if (_this._resolvedPadding != null)
        return;
      _this._resolvedPadding = _this._shifted_box$_padding.resolve$1(_this._shifted_box$_textDirection);
    },
    set$padding(_, value) {
      var _this = this;
      if (_this._shifted_box$_padding.$eq(0, value))
        return;
      _this._shifted_box$_padding = value;
      _this._resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._shifted_box$_textDirection == value)
        return;
      _this._shifted_box$_textDirection = value;
      _this._resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      var t1, totalHorizontalPadding, t2, t3;
      this._shifted_box$_resolve$0();
      t1 = this._resolvedPadding;
      totalHorizontalPadding = t1.left + t1.right;
      t2 = t1.top;
      t1 = t1.bottom;
      t3 = this.RenderObjectWithChildMixin__child;
      if (t3 != null)
        return t3._computeIntrinsicDimension$3(B._IntrinsicDimension_0, Math.max(0, height - (t2 + t1)), t3.get$computeMinIntrinsicWidth()) + totalHorizontalPadding;
      return totalHorizontalPadding;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1, totalHorizontalPadding, t2, t3;
      this._shifted_box$_resolve$0();
      t1 = this._resolvedPadding;
      totalHorizontalPadding = t1.left + t1.right;
      t2 = t1.top;
      t1 = t1.bottom;
      t3 = this.RenderObjectWithChildMixin__child;
      if (t3 != null)
        return t3._computeIntrinsicDimension$3(B._IntrinsicDimension_1, Math.max(0, height - (t2 + t1)), t3.get$computeMaxIntrinsicWidth()) + totalHorizontalPadding;
      return totalHorizontalPadding;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1, t2, t3, totalVerticalPadding;
      this._shifted_box$_resolve$0();
      t1 = this._resolvedPadding;
      t2 = t1.left;
      t3 = t1.right;
      totalVerticalPadding = t1.top + t1.bottom;
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, Math.max(0, width - (t2 + t3)), t1.get$computeMinIntrinsicHeight()) + totalVerticalPadding;
      return totalVerticalPadding;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1, t2, t3, totalVerticalPadding;
      this._shifted_box$_resolve$0();
      t1 = this._resolvedPadding;
      t2 = t1.left;
      t3 = t1.right;
      totalVerticalPadding = t1.top + t1.bottom;
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, Math.max(0, width - (t2 + t3)), t1.get$computeMaxIntrinsicHeight()) + totalVerticalPadding;
      return totalVerticalPadding;
    },
    computeDryLayout$1(constraints) {
      var t1, innerConstraints, childSize, _this = this;
      _this._shifted_box$_resolve$0();
      if (_this.RenderObjectWithChildMixin__child == null) {
        t1 = _this._resolvedPadding;
        return constraints.constrain$1(new A.Size(t1.left + t1.right, t1.top + t1.bottom));
      }
      t1 = _this._resolvedPadding;
      t1.toString;
      innerConstraints = constraints.deflate$1(t1);
      childSize = _this.RenderObjectWithChildMixin__child.getDryLayout$1(innerConstraints);
      t1 = _this._resolvedPadding;
      return constraints.constrain$1(new A.Size(t1.left + childSize._dx + t1.right, t1.top + childSize._dy + t1.bottom));
    },
    performLayout$0() {
      var t1, innerConstraints, t2, t3, t4, t5, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._shifted_box$_resolve$0();
      if (_this.RenderObjectWithChildMixin__child == null) {
        t1 = _this._resolvedPadding;
        _this._box$_size = constraints.constrain$1(new A.Size(t1.left + t1.right, t1.top + t1.bottom));
        return;
      }
      t1 = _this._resolvedPadding;
      t1.toString;
      innerConstraints = constraints.deflate$1(t1);
      _this.RenderObjectWithChildMixin__child.layout$2$parentUsesSize(innerConstraints, true);
      t1 = _this.RenderObjectWithChildMixin__child;
      t2 = t1.parentData;
      t2.toString;
      type$.BoxParentData._as(t2);
      t3 = _this._resolvedPadding;
      t4 = t3.left;
      t5 = t3.top;
      t2.offset = new A.Offset(t4, t5);
      t1 = t1._box$_size;
      _this._box$_size = constraints.constrain$1(new A.Size(t4 + t1._dx + t3.right, t5 + t1._dy + t3.bottom));
    }
  };
  A.RenderAligningShiftedBox.prototype = {
    _shifted_box$_resolve$0() {
      var _this = this;
      if (_this._shifted_box$_resolvedAlignment != null)
        return;
      _this._shifted_box$_resolvedAlignment = _this._shifted_box$_alignment.resolve$1(_this._shifted_box$_textDirection);
    },
    set$alignment(value) {
      var _this = this;
      if (_this._shifted_box$_alignment.$eq(0, value))
        return;
      _this._shifted_box$_alignment = value;
      _this._shifted_box$_resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._shifted_box$_textDirection == value)
        return;
      _this._shifted_box$_textDirection = value;
      _this._shifted_box$_resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    alignChild$0() {
      var t1, t2, t3, t4, _this = this;
      _this._shifted_box$_resolve$0();
      t1 = _this.RenderObjectWithChildMixin__child;
      t2 = t1.parentData;
      t2.toString;
      type$.BoxParentData._as(t2);
      t3 = _this._shifted_box$_resolvedAlignment;
      t3.toString;
      t4 = _this._box$_size;
      t4.toString;
      t1 = t1._box$_size;
      t1.toString;
      t2.offset = t3.alongOffset$1(type$.Offset._as(t4.$sub(0, t1)));
    }
  };
  A.RenderPositionedBox.prototype = {
    set$widthFactor(value) {
      if (this._widthFactor == value)
        return;
      this._widthFactor = value;
      this.markNeedsLayout$0();
    },
    set$heightFactor(value) {
      if (this._heightFactor == value)
        return;
      this._heightFactor = value;
      this.markNeedsLayout$0();
    },
    computeDryLayout$1(constraints) {
      var childSize, t2, _this = this,
        shrinkWrapWidth = _this._widthFactor != null || constraints.maxWidth === 1 / 0,
        shrinkWrapHeight = _this._heightFactor != null || constraints.maxHeight === 1 / 0,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        childSize = t1.getDryLayout$1(new A.BoxConstraints(0, constraints.maxWidth, 0, constraints.maxHeight));
        if (shrinkWrapWidth) {
          t1 = _this._widthFactor;
          if (t1 == null)
            t1 = 1;
          t1 = childSize._dx * t1;
        } else
          t1 = 1 / 0;
        if (shrinkWrapHeight) {
          t2 = _this._heightFactor;
          if (t2 == null)
            t2 = 1;
          t2 = childSize._dy * t2;
        } else
          t2 = 1 / 0;
        return constraints.constrain$1(new A.Size(t1, t2));
      }
      t1 = shrinkWrapWidth ? 0 : 1 / 0;
      return constraints.constrain$1(new A.Size(t1, shrinkWrapHeight ? 0 : 1 / 0));
    },
    performLayout$0() {
      var t2, t3, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        shrinkWrapWidth = _this._widthFactor != null || constraints.maxWidth === 1 / 0,
        shrinkWrapHeight = _this._heightFactor != null || constraints.maxHeight === 1 / 0,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(new A.BoxConstraints(0, constraints.maxWidth, 0, constraints.maxHeight), true);
        if (shrinkWrapWidth) {
          t1 = _this.RenderObjectWithChildMixin__child._box$_size._dx;
          t2 = _this._widthFactor;
          t1 *= t2 == null ? 1 : t2;
        } else
          t1 = 1 / 0;
        if (shrinkWrapHeight) {
          t2 = _this.RenderObjectWithChildMixin__child._box$_size._dy;
          t3 = _this._heightFactor;
          t2 *= t3 == null ? 1 : t3;
        } else
          t2 = 1 / 0;
        _this._box$_size = constraints.constrain$1(new A.Size(t1, t2));
        _this.alignChild$0();
      } else {
        t1 = shrinkWrapWidth ? 0 : 1 / 0;
        _this._box$_size = constraints.constrain$1(new A.Size(t1, shrinkWrapHeight ? 0 : 1 / 0));
      }
    }
  };
  A.RenderConstrainedOverflowBox.prototype = {
    set$minWidth(_, value) {
      if (this._minWidth == value)
        return;
      this._minWidth = value;
      this.markNeedsLayout$0();
    },
    set$maxWidth(_, value) {
      if (this._shifted_box$_maxWidth == value)
        return;
      this._shifted_box$_maxWidth = value;
      this.markNeedsLayout$0();
    },
    set$minHeight(_, value) {
      if (this._minHeight === value)
        return;
      this._minHeight = value;
      this.markNeedsLayout$0();
    },
    set$maxHeight(_, value) {
      if (this._shifted_box$_maxHeight === value)
        return;
      this._shifted_box$_maxHeight = value;
      this.markNeedsLayout$0();
    },
    get$sizedByParent() {
      return true;
    },
    computeDryLayout$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0() {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t2 = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
        t3 = _this._minWidth;
        if (t3 == null)
          t3 = t2.minWidth;
        t4 = _this._shifted_box$_maxWidth;
        t2 = t4 == null ? t2.maxWidth : t4;
        t4 = _this._minHeight;
        t5 = _this._shifted_box$_maxHeight;
        t1.layout$2$parentUsesSize(new A.BoxConstraints(t3, t2, t4, t5), true);
        _this.alignChild$0();
      }
    }
  };
  A.SingleChildLayoutDelegate.prototype = {
    getSize$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    getConstraintsForChild$1(constraints) {
      return constraints;
    },
    getPositionForChild$2(size, childSize) {
      return B.Offset_0_0;
    }
  };
  A.RenderCustomSingleChildLayoutBox.prototype = {
    set$delegate(newDelegate) {
      var _this = this,
        t1 = _this._shifted_box$_delegate;
      if (t1 === newDelegate)
        return;
      if (A.getRuntimeType(newDelegate) !== A.getRuntimeType(t1) || newDelegate.shouldRelayout$1(t1))
        _this.markNeedsLayout$0();
      _this._shifted_box$_delegate = newDelegate;
      _this._owner != null;
    },
    attach$1(owner) {
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$attach(owner);
    },
    detach$0(_) {
      this.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = A.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dx;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = A.BoxConstraints$tightForFinite(height, 1 / 0),
        width = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dx;
      if (isFinite(width))
        return width;
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = A.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dy;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = A.BoxConstraints$tightForFinite(1 / 0, width),
        height = t1.constrain$1(this._shifted_box$_delegate.getSize$1(t1))._dy;
      if (isFinite(height))
        return height;
      return 0;
    },
    computeDryLayout$1(constraints) {
      return constraints.constrain$1(this._shifted_box$_delegate.getSize$1(constraints));
    },
    performLayout$0() {
      var childConstraints, t3, t4, t5, t6, t7, _this = this,
        t1 = type$.BoxConstraints,
        t2 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._box$_size = t2.constrain$1(_this._shifted_box$_delegate.getSize$1(t2));
      if (_this.RenderObjectWithChildMixin__child != null) {
        childConstraints = _this._shifted_box$_delegate.getConstraintsForChild$1(t1._as(A.RenderObject.prototype.get$constraints.call(_this)));
        t1 = _this.RenderObjectWithChildMixin__child;
        t1.toString;
        t2 = childConstraints.minWidth;
        t3 = childConstraints.maxWidth;
        t4 = t2 >= t3;
        t1.layout$2$parentUsesSize(childConstraints, !(t4 && childConstraints.minHeight >= childConstraints.maxHeight));
        t1 = _this.RenderObjectWithChildMixin__child;
        t5 = t1.parentData;
        t5.toString;
        type$.BoxParentData._as(t5);
        t6 = _this._shifted_box$_delegate;
        t7 = _this._box$_size;
        t7.toString;
        if (t4 && childConstraints.minHeight >= childConstraints.maxHeight)
          t1 = new A.Size(A.clampDouble(0, t2, t3), A.clampDouble(0, childConstraints.minHeight, childConstraints.maxHeight));
        else {
          t1 = t1._box$_size;
          t1.toString;
        }
        t5.offset = t6.getPositionForChild$2(t7, t1);
      }
    }
  };
  A._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.GrowthDirection.prototype = {
    toString$0(_) {
      return "GrowthDirection." + this._core$_name;
    }
  };
  A.SliverConstraints.prototype = {
    get$isTight() {
      return false;
    },
    asBoxConstraints$2$maxExtent$minExtent(maxExtent, minExtent) {
      var crossAxisExtent = this.crossAxisExtent;
      switch (A.axisDirectionToAxis(this.axisDirection).index) {
        case 0:
          return new A.BoxConstraints(minExtent, maxExtent, crossAxisExtent, crossAxisExtent);
        case 1:
          return new A.BoxConstraints(crossAxisExtent, crossAxisExtent, minExtent, maxExtent);
      }
    },
    asBoxConstraints$0() {
      return this.asBoxConstraints$2$maxExtent$minExtent(1 / 0, 0);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (!(other instanceof A.SliverConstraints))
        return false;
      return other.axisDirection === _this.axisDirection && other.growthDirection === _this.growthDirection && other.scrollOffset === _this.scrollOffset && other.overlap === _this.overlap && other.remainingPaintExtent === _this.remainingPaintExtent && other.crossAxisExtent === _this.crossAxisExtent && other.crossAxisDirection === _this.crossAxisDirection && other.viewportMainAxisExtent === _this.viewportMainAxisExtent && other.remainingCacheExtent === _this.remainingCacheExtent && other.cacheOrigin === _this.cacheOrigin;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.axisDirection, _this.growthDirection, _this.scrollOffset, _this.overlap, _this.remainingPaintExtent, _this.crossAxisExtent, _this.crossAxisDirection, _this.viewportMainAxisExtent, _this.remainingCacheExtent, _this.cacheOrigin, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this,
        t1 = A._setArrayType([_this.axisDirection.toString$0(0), _this.growthDirection.toString$0(0), _this.userScrollDirection.toString$0(0), "scrollOffset: " + B.JSNumber_methods.toStringAsFixed$1(_this.scrollOffset, 1), "remainingPaintExtent: " + B.JSNumber_methods.toStringAsFixed$1(_this.remainingPaintExtent, 1)], type$.JSArray_String),
        t2 = _this.overlap;
      if (t2 !== 0)
        t1.push("overlap: " + B.JSNumber_methods.toStringAsFixed$1(t2, 1));
      t1.push("crossAxisExtent: " + B.JSNumber_methods.toStringAsFixed$1(_this.crossAxisExtent, 1));
      t1.push("crossAxisDirection: " + _this.crossAxisDirection.toString$0(0));
      t1.push("viewportMainAxisExtent: " + B.JSNumber_methods.toStringAsFixed$1(_this.viewportMainAxisExtent, 1));
      t1.push("remainingCacheExtent: " + B.JSNumber_methods.toStringAsFixed$1(_this.remainingCacheExtent, 1));
      t1.push("cacheOrigin: " + B.JSNumber_methods.toStringAsFixed$1(_this.cacheOrigin, 1));
      return "SliverConstraints(" + B.JSArray_methods.join$1(t1, ", ") + ")";
    }
  };
  A.SliverGeometry.prototype = {
    toStringShort$0() {
      return "SliverGeometry";
    }
  };
  A.SliverHitTestResult.prototype = {};
  A.SliverHitTestEntry.prototype = {
    toString$0(_) {
      return A.getRuntimeType(this.target).toString$0(0) + "@(mainAxis: " + A.S(this.mainAxisPosition) + ", crossAxis: " + A.S(this.crossAxisPosition) + ")";
    }
  };
  A.SliverLogicalParentData.prototype = {
    toString$0(_) {
      var t1 = this.layoutOffset;
      return "layoutOffset=" + (t1 == null ? "None" : B.JSNumber_methods.toStringAsFixed$1(t1, 1));
    }
  };
  A.SliverLogicalContainerParentData.prototype = {};
  A.SliverPhysicalParentData.prototype = {
    toString$0(_) {
      return "paintOffset=" + A.S(this.paintOffset);
    }
  };
  A.SliverPhysicalContainerParentData.prototype = {};
  A.RenderSliver.prototype = {
    get$constraints() {
      return type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(this));
    },
    get$semanticBounds() {
      return this.get$paintBounds();
    },
    get$paintBounds() {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (A.axisDirectionToAxis(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection).index) {
        case 0:
          return new A.Rect(0, 0, 0 + _this._geometry.paintExtent, 0 + t1._as(A.RenderObject.prototype.get$constraints.call(_this)).crossAxisExtent);
        case 1:
          return new A.Rect(0, 0, 0 + t1._as(A.RenderObject.prototype.get$constraints.call(_this)).crossAxisExtent, 0 + _this._geometry.paintExtent);
      }
    },
    performResize$0() {
    },
    hitTest$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition, mainAxisPosition) {
      var _this = this;
      if (mainAxisPosition >= 0 && mainAxisPosition < _this._geometry.hitTestExtent && crossAxisPosition >= 0 && crossAxisPosition < type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)).crossAxisExtent)
        if (_this.hitTestChildren$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition, mainAxisPosition) || false) {
          result.add$1(0, new A.SliverHitTestEntry(mainAxisPosition, crossAxisPosition, _this));
          return true;
        }
      return false;
    },
    hitTestChildren$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition, mainAxisPosition) {
      return false;
    },
    calculatePaintOffset$3$from$to(constraints, from, to) {
      var a = constraints.scrollOffset,
        t1 = constraints.remainingPaintExtent,
        b = a + t1;
      return A.clampDouble(A.clampDouble(to, a, b) - A.clampDouble(from, a, b), 0, t1);
    },
    calculateCacheOffset$3$from$to(constraints, from, to) {
      var t1 = constraints.scrollOffset,
        a = t1 + constraints.cacheOrigin,
        t2 = constraints.remainingCacheExtent,
        b = t1 + t2;
      return A.clampDouble(A.clampDouble(to, a, b) - A.clampDouble(from, a, b), 0, t2);
    },
    childScrollOffset$1(child) {
      return 0;
    },
    applyPaintTransform$2(child, transform) {
    },
    handleEvent$2($event, entry) {
    }
  };
  A.RenderSliverHelpers.prototype = {
    _getRightWayUp$1(constraints) {
      var rightWayUp;
      switch (constraints.axisDirection.index) {
        case 0:
        case 3:
          rightWayUp = false;
          break;
        case 2:
        case 1:
          rightWayUp = true;
          break;
        default:
          rightWayUp = null;
      }
      switch (constraints.growthDirection.index) {
        case 0:
          break;
        case 1:
          rightWayUp = !rightWayUp;
          break;
      }
      return rightWayUp;
    },
    hitTestBoxChild$4$crossAxisPosition$mainAxisPosition(result, child, crossAxisPosition, mainAxisPosition) {
      var delta, absolutePosition, absoluteCrossAxisPosition, paintOffset, _this = this, _box_0 = {},
        t1 = type$.SliverConstraints,
        rightWayUp = _this._getRightWayUp$1(t1._as(A.RenderObject.prototype.get$constraints.call(_this))),
        t2 = child.parentData;
      t2.toString;
      t2 = type$.SliverMultiBoxAdaptorParentData._as(t2).layoutOffset;
      t2.toString;
      delta = t2 - t1._as(A.RenderObject.prototype.get$constraints.call(_this)).scrollOffset;
      absolutePosition = mainAxisPosition - delta;
      absoluteCrossAxisPosition = crossAxisPosition - 0;
      paintOffset = _box_0.transformedPosition = null;
      switch (A.axisDirectionToAxis(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection).index) {
        case 0:
          if (!rightWayUp) {
            t1 = child._box$_size._dx;
            absolutePosition = t1 - absolutePosition;
            delta = _this._geometry.paintExtent - t1 - delta;
          }
          paintOffset = new A.Offset(delta, 0);
          _box_0.transformedPosition = new A.Offset(absolutePosition, absoluteCrossAxisPosition);
          break;
        case 1:
          if (!rightWayUp) {
            t1 = child._box$_size._dy;
            absolutePosition = t1 - absolutePosition;
            delta = _this._geometry.paintExtent - t1 - delta;
          }
          paintOffset = new A.Offset(0, delta);
          _box_0.transformedPosition = new A.Offset(absoluteCrossAxisPosition, absolutePosition);
          break;
      }
      return result.addWithOutOfBandPosition$2$hitTest$paintOffset(new A.RenderSliverHelpers_hitTestBoxChild_closure(_box_0, child), paintOffset);
    }
  };
  A.RenderSliverHelpers_hitTestBoxChild_closure.prototype = {
    call$1(result) {
      return this.child.hitTest$2$position(result, this._box_0.transformedPosition);
    },
    $signature: 271
  };
  A._SliverGeometry_Object_Diagnosticable.prototype = {};
  A._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin.prototype = {
    detach$0(_) {
      this.super$ParentData$detach(0);
    }
  };
  A._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin.prototype = {
    detach$0(_) {
      this.super$ParentData$detach(0);
    }
  };
  A.RenderSliverFillViewport.prototype = {
    get$itemExtent() {
      return type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(this)).viewportMainAxisExtent * this._sliver_fill0$_viewportFraction;
    },
    set$viewportFraction(value) {
      if (this._sliver_fill0$_viewportFraction === value)
        return;
      this._sliver_fill0$_viewportFraction = value;
      this.markNeedsLayout$0();
    }
  };
  A.RenderSliverFixedExtentBoxAdaptor.prototype = {
    getMinChildIndexForScrollOffset$2(scrollOffset, itemExtent) {
      var actual, round;
      if (itemExtent > 0) {
        actual = scrollOffset / itemExtent;
        round = B.JSNumber_methods.round$0(actual);
        if (Math.abs(actual * itemExtent - round * itemExtent) < 1e-10)
          return round;
        return B.JSNumber_methods.floor$0(actual);
      }
      return 0;
    },
    getMaxChildIndexForScrollOffset$2(scrollOffset, itemExtent) {
      var actual, round;
      if (itemExtent > 0) {
        actual = scrollOffset / itemExtent - 1;
        round = B.JSNumber_methods.round$0(actual);
        if (Math.abs(actual * itemExtent - round * itemExtent) < 1e-10)
          return Math.max(0, round);
        return Math.max(0, B.JSNumber_methods.ceil$0(actual));
      }
      return 0;
    },
    _calculateLeadingGarbage$1(firstIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__firstChild,
        t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"),
        t2 = type$.SliverMultiBoxAdaptorParentData,
        leadingGarbage = 0;
      while (true) {
        if (walker != null) {
          t3 = walker.parentData;
          t3.toString;
          t3 = t2._as(t3).index;
          t3.toString;
          t3 = t3 < firstIndex;
        } else
          t3 = false;
        if (!t3)
          break;
        ++leadingGarbage;
        t3 = walker.parentData;
        t3.toString;
        walker = t1._as(t3).ContainerParentDataMixin_nextSibling;
      }
      return leadingGarbage;
    },
    _calculateTrailingGarbage$1(targetLastIndex) {
      var t3,
        walker = this.ContainerRenderObjectMixin__lastChild,
        t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"),
        t2 = type$.SliverMultiBoxAdaptorParentData,
        trailingGarbage = 0;
      while (true) {
        if (walker != null) {
          t3 = walker.parentData;
          t3.toString;
          t3 = t2._as(t3).index;
          t3.toString;
          t3 = t3 > targetLastIndex;
        } else
          t3 = false;
        if (!t3)
          break;
        ++trailingGarbage;
        t3 = walker.parentData;
        t3.toString;
        walker = t1._as(t3).ContainerParentDataMixin_previousSibling;
      }
      return trailingGarbage;
    },
    performLayout$0() {
      var itemExtent, t2, scrollOffset, targetEndScrollOffset, childConstraints, firstIndex, targetLastIndex, leadingGarbage, max, t3, t4, index, trailingChildWithLayout, child, t5, estimatedMaxScrollOffset, t6, t7, leadingScrollOffset, trailingScrollOffset, paintExtent, cacheExtent, targetEndScrollOffsetForPaint, targetLastIndexForPaint, _this = this, _null = null,
        constraints = type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this._childManager;
      t1._didUnderflow = false;
      itemExtent = _this.get$itemExtent();
      t2 = constraints.scrollOffset;
      scrollOffset = t2 + constraints.cacheOrigin;
      targetEndScrollOffset = scrollOffset + constraints.remainingCacheExtent;
      childConstraints = constraints.asBoxConstraints$2$maxExtent$minExtent(itemExtent, itemExtent);
      firstIndex = _this.getMinChildIndexForScrollOffset$2(scrollOffset, itemExtent);
      targetLastIndex = isFinite(targetEndScrollOffset) ? _this.getMaxChildIndexForScrollOffset$2(targetEndScrollOffset, itemExtent) : _null;
      if (_this.ContainerRenderObjectMixin__firstChild != null) {
        leadingGarbage = _this._calculateLeadingGarbage$1(firstIndex);
        _this.collectGarbage$2(leadingGarbage, targetLastIndex != null ? _this._calculateTrailingGarbage$1(targetLastIndex) : 0);
      } else
        _this.collectGarbage$2(0, 0);
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        if (!_this.addInitialChild$2$index$layoutOffset(firstIndex, itemExtent * firstIndex)) {
          max = firstIndex <= 0 ? 0 : t1.get$childCount() * itemExtent;
          _this._geometry = A.SliverGeometry$(_null, false, _null, _null, max, 0, 0, max, _null);
          t1.didFinishLayout$0();
          return;
        }
      t3 = _this.ContainerRenderObjectMixin__firstChild;
      t3.toString;
      t3 = t3.parentData;
      t3.toString;
      t4 = type$.SliverMultiBoxAdaptorParentData;
      t3 = t4._as(t3).index;
      t3.toString;
      index = t3 - 1;
      trailingChildWithLayout = _null;
      for (; index >= firstIndex; --index) {
        child = _this.insertAndLayoutLeadingChild$1(childConstraints);
        if (child == null) {
          _this._geometry = A.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, index * itemExtent);
          return;
        }
        t3 = child.parentData;
        t3.toString;
        t4._as(t3).layoutOffset = itemExtent * index;
        if (trailingChildWithLayout == null)
          trailingChildWithLayout = child;
      }
      if (trailingChildWithLayout == null) {
        _this.ContainerRenderObjectMixin__firstChild.layout$1(childConstraints);
        trailingChildWithLayout = _this.ContainerRenderObjectMixin__firstChild;
        t3 = trailingChildWithLayout.parentData;
        t3.toString;
        t4._as(t3).layoutOffset = itemExtent * firstIndex;
      }
      t3 = trailingChildWithLayout.parentData;
      t3.toString;
      t3 = t4._as(t3).index;
      t3.toString;
      index = t3 + 1;
      t3 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
      t5 = targetLastIndex != null;
      while (true) {
        if (!(!t5 || index <= targetLastIndex)) {
          estimatedMaxScrollOffset = 1 / 0;
          break;
        }
        t6 = trailingChildWithLayout.parentData;
        t6.toString;
        child = t3._as(t6).ContainerParentDataMixin_nextSibling;
        if (child != null) {
          t6 = child.parentData;
          t6.toString;
          t6 = t4._as(t6).index;
          t6.toString;
          t6 = t6 !== index;
        } else
          t6 = true;
        if (t6) {
          child = _this.insertAndLayoutChild$2$after(childConstraints, trailingChildWithLayout);
          if (child == null) {
            estimatedMaxScrollOffset = index * itemExtent;
            break;
          }
        } else
          child.layout$1(childConstraints);
        t6 = child.parentData;
        t6.toString;
        t4._as(t6);
        t7 = t6.index;
        t7.toString;
        t6.layoutOffset = itemExtent * t7;
        ++index;
        trailingChildWithLayout = child;
      }
      t3 = _this.ContainerRenderObjectMixin__lastChild;
      t3.toString;
      t3 = t3.parentData;
      t3.toString;
      t3 = t4._as(t3).index;
      t3.toString;
      leadingScrollOffset = itemExtent * firstIndex;
      trailingScrollOffset = itemExtent * (t3 + 1);
      estimatedMaxScrollOffset = Math.min(estimatedMaxScrollOffset, t1.estimateMaxScrollOffset$5$firstIndex$lastIndex$leadingScrollOffset$trailingScrollOffset(constraints, firstIndex, t3, leadingScrollOffset, trailingScrollOffset));
      paintExtent = _this.calculatePaintOffset$3$from$to(constraints, leadingScrollOffset, trailingScrollOffset);
      cacheExtent = _this.calculateCacheOffset$3$from$to(constraints, leadingScrollOffset, trailingScrollOffset);
      targetEndScrollOffsetForPaint = t2 + constraints.remainingPaintExtent;
      targetLastIndexForPaint = isFinite(targetEndScrollOffsetForPaint) ? _this.getMaxChildIndexForScrollOffset$2(targetEndScrollOffsetForPaint, itemExtent) : _null;
      _this._geometry = A.SliverGeometry$(cacheExtent, targetLastIndexForPaint != null && t3 >= targetLastIndexForPaint || t2 > 0, _null, _null, estimatedMaxScrollOffset, paintExtent, 0, estimatedMaxScrollOffset, _null);
      if (estimatedMaxScrollOffset === trailingScrollOffset)
        t1._didUnderflow = true;
      t1.didFinishLayout$0();
    }
  };
  A.RenderSliverFixedExtentList.prototype = {
    get$itemExtent() {
      return this._itemExtent;
    },
    set$itemExtent(value) {
      if (this._itemExtent === value)
        return;
      this._itemExtent = value;
      this.markNeedsLayout$0();
    }
  };
  A.RenderSliverList.prototype = {
    performLayout$0() {
      var t2, scrollOffset, targetEndScrollOffset, childConstraints, earliestUsefulChild, t3, t4, leadingChildrenWithoutLayoutOffset, t5, earliestScrollOffset, leadingChildWithLayout, firstChildScrollOffset, advance, leadingGarbage, extent, reachedEnd, trailingGarbage, child, estimatedMaxScrollOffset, t6, paintExtent, cacheExtent, _this = this, _null = null, _box_0 = {},
        constraints = type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this._childManager;
      t1._didUnderflow = false;
      t2 = constraints.scrollOffset;
      scrollOffset = t2 + constraints.cacheOrigin;
      targetEndScrollOffset = scrollOffset + constraints.remainingCacheExtent;
      childConstraints = constraints.asBoxConstraints$0();
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        if (!_this.addInitialChild$0()) {
          _this._geometry = B.SliverGeometry_yuB;
          t1.didFinishLayout$0();
          return;
        }
      _box_0.trailingChildWithLayout = null;
      earliestUsefulChild = _this.ContainerRenderObjectMixin__firstChild;
      t3 = earliestUsefulChild.parentData;
      t3.toString;
      t4 = type$.SliverMultiBoxAdaptorParentData;
      if (t4._as(t3).layoutOffset == null) {
        t3 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
        leadingChildrenWithoutLayoutOffset = 0;
        while (true) {
          if (earliestUsefulChild != null) {
            t5 = earliestUsefulChild.parentData;
            t5.toString;
            t5 = t4._as(t5).layoutOffset == null;
          } else
            t5 = false;
          if (!t5)
            break;
          t5 = earliestUsefulChild.parentData;
          t5.toString;
          earliestUsefulChild = t3._as(t5).ContainerParentDataMixin_nextSibling;
          ++leadingChildrenWithoutLayoutOffset;
        }
        _this.collectGarbage$2(leadingChildrenWithoutLayoutOffset, 0);
        if (_this.ContainerRenderObjectMixin__firstChild == null)
          if (!_this.addInitialChild$0()) {
            _this._geometry = B.SliverGeometry_yuB;
            t1.didFinishLayout$0();
            return;
          }
      }
      earliestUsefulChild = _this.ContainerRenderObjectMixin__firstChild;
      t3 = earliestUsefulChild.parentData;
      t3.toString;
      t3 = t4._as(t3).layoutOffset;
      t3.toString;
      earliestScrollOffset = t3;
      leadingChildWithLayout = _null;
      for (; earliestScrollOffset > scrollOffset; earliestScrollOffset = firstChildScrollOffset, leadingChildWithLayout = earliestUsefulChild) {
        earliestUsefulChild = _this.insertAndLayoutLeadingChild$2$parentUsesSize(childConstraints, true);
        if (earliestUsefulChild == null) {
          t3 = _this.ContainerRenderObjectMixin__firstChild;
          t5 = t3.parentData;
          t5.toString;
          t4._as(t5).layoutOffset = 0;
          if (scrollOffset === 0) {
            t3.layout$2$parentUsesSize(childConstraints, true);
            earliestUsefulChild = _this.ContainerRenderObjectMixin__firstChild;
            if (_box_0.trailingChildWithLayout == null)
              _box_0.trailingChildWithLayout = earliestUsefulChild;
            leadingChildWithLayout = earliestUsefulChild;
            break;
          } else {
            _this._geometry = A.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, -scrollOffset);
            return;
          }
        }
        t3 = _this.ContainerRenderObjectMixin__firstChild;
        t3.toString;
        firstChildScrollOffset = earliestScrollOffset - _this.paintExtentOf$1(t3);
        if (firstChildScrollOffset < -1e-10) {
          _this._geometry = A.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, -firstChildScrollOffset);
          t1 = _this.ContainerRenderObjectMixin__firstChild.parentData;
          t1.toString;
          t4._as(t1).layoutOffset = 0;
          return;
        }
        t3 = earliestUsefulChild.parentData;
        t3.toString;
        t4._as(t3).layoutOffset = firstChildScrollOffset;
        if (_box_0.trailingChildWithLayout == null)
          _box_0.trailingChildWithLayout = earliestUsefulChild;
      }
      if (scrollOffset < 1e-10)
        while (true) {
          t3 = _this.ContainerRenderObjectMixin__firstChild;
          t3.toString;
          t3 = t3.parentData;
          t3.toString;
          t4._as(t3);
          t5 = t3.index;
          t5.toString;
          if (!(t5 > 0))
            break;
          t3 = t3.layoutOffset;
          t3.toString;
          earliestUsefulChild = _this.insertAndLayoutLeadingChild$2$parentUsesSize(childConstraints, true);
          t5 = _this.ContainerRenderObjectMixin__firstChild;
          t5.toString;
          firstChildScrollOffset = t3 - _this.paintExtentOf$1(t5);
          t5 = _this.ContainerRenderObjectMixin__firstChild.parentData;
          t5.toString;
          t4._as(t5).layoutOffset = 0;
          if (firstChildScrollOffset < -1e-10) {
            _this._geometry = A.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, -firstChildScrollOffset);
            return;
          }
        }
      if (leadingChildWithLayout == null) {
        earliestUsefulChild.layout$2$parentUsesSize(childConstraints, true);
        _box_0.trailingChildWithLayout = earliestUsefulChild;
      }
      _box_0.inLayoutRange = true;
      _box_0.child = earliestUsefulChild;
      t3 = earliestUsefulChild.parentData;
      t3.toString;
      t4._as(t3);
      t5 = t3.index;
      t5.toString;
      _box_0.index = t5;
      t3 = t3.layoutOffset;
      t3.toString;
      _box_0.endScrollOffset = t3 + _this.paintExtentOf$1(earliestUsefulChild);
      advance = new A.RenderSliverList_performLayout_advance(_box_0, _this, childConstraints);
      for (leadingGarbage = 0; _box_0.endScrollOffset < scrollOffset;) {
        ++leadingGarbage;
        if (!advance.call$0()) {
          _this.collectGarbage$2(leadingGarbage - 1, 0);
          t1 = _this.ContainerRenderObjectMixin__lastChild;
          t2 = t1.parentData;
          t2.toString;
          t2 = t4._as(t2).layoutOffset;
          t2.toString;
          extent = t2 + _this.paintExtentOf$1(t1);
          _this._geometry = A.SliverGeometry$(_null, false, _null, _null, extent, 0, 0, extent, _null);
          return;
        }
      }
      while (true) {
        if (!(_box_0.endScrollOffset < targetEndScrollOffset)) {
          reachedEnd = false;
          break;
        }
        if (!advance.call$0()) {
          reachedEnd = true;
          break;
        }
      }
      t3 = _box_0.child;
      if (t3 != null) {
        t3 = t3.parentData;
        t3.toString;
        t5 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
        t3 = _box_0.child = t5._as(t3).ContainerParentDataMixin_nextSibling;
        for (trailingGarbage = 0; t3 != null; t3 = child) {
          ++trailingGarbage;
          t3 = t3.parentData;
          t3.toString;
          child = t5._as(t3).ContainerParentDataMixin_nextSibling;
          _box_0.child = child;
        }
      } else
        trailingGarbage = 0;
      _this.collectGarbage$2(leadingGarbage, trailingGarbage);
      estimatedMaxScrollOffset = _box_0.endScrollOffset;
      if (!reachedEnd) {
        t3 = _this.ContainerRenderObjectMixin__firstChild;
        t3.toString;
        t3 = t3.parentData;
        t3.toString;
        t4._as(t3);
        t5 = t3.index;
        t5.toString;
        t6 = _this.ContainerRenderObjectMixin__lastChild;
        t6.toString;
        t6 = t6.parentData;
        t6.toString;
        t6 = t4._as(t6).index;
        t6.toString;
        estimatedMaxScrollOffset = t1.estimateMaxScrollOffset$5$firstIndex$lastIndex$leadingScrollOffset$trailingScrollOffset(constraints, t5, t6, t3.layoutOffset, estimatedMaxScrollOffset);
      }
      t3 = _this.ContainerRenderObjectMixin__firstChild.parentData;
      t3.toString;
      t3 = t4._as(t3).layoutOffset;
      t3.toString;
      paintExtent = _this.calculatePaintOffset$3$from$to(constraints, t3, _box_0.endScrollOffset);
      t3 = _this.ContainerRenderObjectMixin__firstChild.parentData;
      t3.toString;
      t3 = t4._as(t3).layoutOffset;
      t3.toString;
      cacheExtent = _this.calculateCacheOffset$3$from$to(constraints, t3, _box_0.endScrollOffset);
      t3 = _box_0.endScrollOffset;
      _this._geometry = A.SliverGeometry$(cacheExtent, t3 > t2 + constraints.remainingPaintExtent || t2 > 0, _null, _null, estimatedMaxScrollOffset, paintExtent, 0, estimatedMaxScrollOffset, _null);
      if (estimatedMaxScrollOffset === t3)
        t1._didUnderflow = true;
      t1.didFinishLayout$0();
    }
  };
  A.RenderSliverList_performLayout_advance.prototype = {
    call$0() {
      var t4, child, t5,
        t1 = this._box_0,
        t2 = t1.child,
        t3 = t1.trailingChildWithLayout;
      if (t2 == t3)
        t1.inLayoutRange = false;
      t4 = this.$this;
      t2 = t2.parentData;
      t2.toString;
      child = t1.child = A._instanceType(t4)._eval$1("ContainerRenderObjectMixin.1")._as(t2).ContainerParentDataMixin_nextSibling;
      t2 = child == null;
      if (t2)
        t1.inLayoutRange = false;
      t5 = ++t1.index;
      if (!t1.inLayoutRange) {
        if (!t2) {
          t2 = child.parentData;
          t2.toString;
          t2 = type$.SliverMultiBoxAdaptorParentData._as(t2).index;
          t2.toString;
          t5 = t2 !== t5;
          t2 = t5;
        } else
          t2 = true;
        t5 = this.childConstraints;
        if (t2) {
          child = t4.insertAndLayoutChild$3$after$parentUsesSize(t5, t3, true);
          t1.child = child;
          if (child == null)
            return false;
        } else
          child.layout$2$parentUsesSize(t5, true);
        t2 = t1.trailingChildWithLayout = t1.child;
      } else
        t2 = child;
      t3 = t2.parentData;
      t3.toString;
      type$.SliverMultiBoxAdaptorParentData._as(t3);
      t5 = t1.endScrollOffset;
      t3.layoutOffset = t5;
      t1.endScrollOffset = t5 + t4.paintExtentOf$1(t2);
      return true;
    },
    $signature: 23
  };
  A.KeepAliveParentDataMixin.prototype = {$isParentData: 1};
  A.RenderSliverWithKeepAliveMixin.prototype = {
    setupParentData$1(child) {
    }
  };
  A.SliverMultiBoxAdaptorParentData.prototype = {
    toString$0(_) {
      var t1 = this.index,
        t2 = this.KeepAliveParentDataMixin_keepAlive ? "keepAlive; " : "";
      return "index=" + A.S(t1) + "; " + t2 + this.super$SliverLogicalParentData$toString(0);
    }
  };
  A.RenderSliverMultiBoxAdaptor.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.SliverMultiBoxAdaptorParentData))
        child.parentData = new A.SliverMultiBoxAdaptorParentData(false, null, null);
    },
    adoptChild$1(child) {
      var t1;
      this.super$RenderObject$adoptChild(child);
      t1 = child.parentData;
      t1.toString;
      if (!type$.SliverMultiBoxAdaptorParentData._as(t1)._keptAlive)
        this._childManager.didAdoptChild$1(type$.RenderBox._as(child));
    },
    insert$2$after(_, child, after) {
      this.super$ContainerRenderObjectMixin$insert(0, child, after);
    },
    move$2$after(child, after) {
      var t2, _this = this,
        t1 = child.parentData;
      t1.toString;
      type$.SliverMultiBoxAdaptorParentData._as(t1);
      if (!t1._keptAlive) {
        _this.super$ContainerRenderObjectMixin$move(child, after);
        _this._childManager.didAdoptChild$1(child);
        _this.markNeedsLayout$0();
      } else {
        t2 = _this._keepAliveBucket;
        if (t2.$index(0, t1.index) === child)
          t2.remove$1(0, t1.index);
        _this._childManager.didAdoptChild$1(child);
        t1 = t1.index;
        t1.toString;
        t2.$indexSet(0, t1, child);
      }
    },
    remove$1(_, child) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverMultiBoxAdaptorParentData._as(t1);
      if (!t1._keptAlive) {
        this.super$ContainerRenderObjectMixin$remove(0, child);
        return;
      }
      this._keepAliveBucket.remove$1(0, t1.index);
      this.dropChild$1(child);
    },
    _createOrObtainChild$2$after(index, after) {
      this.invokeLayoutCallback$1$1(new A.RenderSliverMultiBoxAdaptor__createOrObtainChild_closure(this, index, after), type$.SliverConstraints);
    },
    _destroyOrCacheChild$1(child) {
      var t2, _this = this,
        t1 = child.parentData;
      t1.toString;
      type$.SliverMultiBoxAdaptorParentData._as(t1);
      if (t1.KeepAliveParentDataMixin_keepAlive) {
        _this.remove$1(0, child);
        t2 = t1.index;
        t2.toString;
        _this._keepAliveBucket.$indexSet(0, t2, child);
        child.parentData = t1;
        _this.super$RenderObject$adoptChild(child);
        t1._keptAlive = true;
      } else
        _this._childManager.removeChild$1(child);
    },
    attach$1(owner) {
      var t1, t2, t3;
      this.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$attach(owner);
      for (t1 = this._keepAliveBucket, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).attach$1(owner);
      }
    },
    detach$0(_) {
      var t1, t2, t3;
      this.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$detach(0);
      for (t1 = this._keepAliveBucket, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).detach$0(0);
      }
    },
    redepthChildren$0() {
      this.super$ContainerRenderObjectMixin$redepthChildren();
      var t1 = this._keepAliveBucket;
      t1.get$values(t1).forEach$1(0, this.get$redepthChild());
    },
    visitChildren$1(visitor) {
      var t1;
      this.super$ContainerRenderObjectMixin$visitChildren(visitor);
      t1 = this._keepAliveBucket;
      t1.get$values(t1).forEach$1(0, visitor);
    },
    visitChildrenForSemantics$1(visitor) {
      this.super$ContainerRenderObjectMixin$visitChildren(visitor);
    },
    addInitialChild$2$index$layoutOffset(index, layoutOffset) {
      var t1;
      this._createOrObtainChild$2$after(index, null);
      t1 = this.ContainerRenderObjectMixin__firstChild;
      if (t1 != null) {
        t1 = t1.parentData;
        t1.toString;
        type$.SliverMultiBoxAdaptorParentData._as(t1).layoutOffset = layoutOffset;
        return true;
      }
      this._childManager._didUnderflow = true;
      return false;
    },
    addInitialChild$0() {
      return this.addInitialChild$2$index$layoutOffset(0, 0);
    },
    insertAndLayoutLeadingChild$2$parentUsesSize(childConstraints, parentUsesSize) {
      var t2, index, t3, _this = this,
        t1 = _this.ContainerRenderObjectMixin__firstChild;
      t1.toString;
      t1 = t1.parentData;
      t1.toString;
      t2 = type$.SliverMultiBoxAdaptorParentData;
      t1 = t2._as(t1).index;
      t1.toString;
      index = t1 - 1;
      _this._createOrObtainChild$2$after(index, null);
      t1 = _this.ContainerRenderObjectMixin__firstChild;
      t1.toString;
      t3 = t1.parentData;
      t3.toString;
      t3 = t2._as(t3).index;
      t3.toString;
      if (t3 === index) {
        t1.layout$2$parentUsesSize(childConstraints, parentUsesSize);
        return _this.ContainerRenderObjectMixin__firstChild;
      }
      _this._childManager._didUnderflow = true;
      return null;
    },
    insertAndLayoutLeadingChild$1(childConstraints) {
      return this.insertAndLayoutLeadingChild$2$parentUsesSize(childConstraints, false);
    },
    insertAndLayoutChild$3$after$parentUsesSize(childConstraints, after, parentUsesSize) {
      var t2, index, child,
        t1 = after.parentData;
      t1.toString;
      t2 = type$.SliverMultiBoxAdaptorParentData;
      t1 = t2._as(t1).index;
      t1.toString;
      index = t1 + 1;
      this._createOrObtainChild$2$after(index, after);
      t1 = after.parentData;
      t1.toString;
      child = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1")._as(t1).ContainerParentDataMixin_nextSibling;
      if (child != null) {
        t1 = child.parentData;
        t1.toString;
        t1 = t2._as(t1).index;
        t1.toString;
        t1 = t1 === index;
      } else
        t1 = false;
      if (t1) {
        child.layout$2$parentUsesSize(childConstraints, parentUsesSize);
        return child;
      }
      this._childManager._didUnderflow = true;
      return null;
    },
    insertAndLayoutChild$2$after(childConstraints, after) {
      return this.insertAndLayoutChild$3$after$parentUsesSize(childConstraints, after, false);
    },
    collectGarbage$2(leadingGarbage, trailingGarbage) {
      var t1 = {};
      t1.leadingGarbage = leadingGarbage;
      t1.trailingGarbage = trailingGarbage;
      this.invokeLayoutCallback$1$1(new A.RenderSliverMultiBoxAdaptor_collectGarbage_closure(t1, this), type$.SliverConstraints);
    },
    indexOf$1(_, child) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverMultiBoxAdaptorParentData._as(t1).index;
      t1.toString;
      return t1;
    },
    paintExtentOf$1(child) {
      switch (A.axisDirectionToAxis(type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(this)).axisDirection).index) {
        case 0:
          return child._box$_size._dx;
        case 1:
          return child._box$_size._dy;
      }
    },
    hitTestChildren$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition, mainAxisPosition) {
      var t1, t2,
        child = this.ContainerRenderObjectMixin__lastChild,
        boxResult = A.BoxHitTestResult$wrap(result);
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); child != null;) {
        if (this.hitTestBoxChild$4$crossAxisPosition$mainAxisPosition(boxResult, child, crossAxisPosition, mainAxisPosition))
          return true;
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_previousSibling;
      }
      return false;
    },
    childScrollOffset$1(child) {
      var t1 = child.parentData;
      t1.toString;
      return type$.SliverMultiBoxAdaptorParentData._as(t1).layoutOffset;
    },
    paintsChild$1(child) {
      var childParentData = type$.nullable_SliverMultiBoxAdaptorParentData._as(child.parentData);
      return (childParentData == null ? null : childParentData.index) != null && !this._keepAliveBucket.containsKey$1(0, childParentData.index);
    },
    applyPaintTransform$2(child, transform) {
      var t1, rightWayUp, t2, delta, _this = this;
      if (!_this.paintsChild$1(child))
        transform.setZero$0();
      else {
        t1 = type$.SliverConstraints;
        rightWayUp = _this._getRightWayUp$1(t1._as(A.RenderObject.prototype.get$constraints.call(_this)));
        t2 = child.parentData;
        t2.toString;
        t2 = type$.SliverMultiBoxAdaptorParentData._as(t2).layoutOffset;
        t2.toString;
        delta = t2 - t1._as(A.RenderObject.prototype.get$constraints.call(_this)).scrollOffset;
        switch (A.axisDirectionToAxis(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection).index) {
          case 0:
            transform.translate$2(0, !rightWayUp ? _this._geometry.paintExtent - child._box$_size._dx - delta : delta, 0);
            break;
          case 1:
            transform.translate$2(0, 0, !rightWayUp ? _this._geometry.paintExtent - child._box$_size._dy - delta : delta);
            break;
        }
      }
    },
    paint$2(context, offset) {
      var t1, originOffset, mainAxisUnit, crossAxisUnit, addExtent, child, t2, t3, t4, mainAxisDelta, t5, t6, t7, childOffset, t8, _this = this, _null = null;
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        return;
      t1 = type$.SliverConstraints;
      switch (A.applyGrowthDirectionToAxisDirection(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(A.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case B.AxisDirection_0:
          originOffset = offset.$add(0, new A.Offset(0, _this._geometry.paintExtent));
          mainAxisUnit = B.Offset_0_m1;
          crossAxisUnit = B.Offset_1_0;
          addExtent = true;
          break;
        case B.AxisDirection_1:
          originOffset = offset;
          mainAxisUnit = B.Offset_1_0;
          crossAxisUnit = B.Offset_0_1;
          addExtent = false;
          break;
        case B.AxisDirection_2:
          originOffset = offset;
          mainAxisUnit = B.Offset_0_1;
          crossAxisUnit = B.Offset_1_0;
          addExtent = false;
          break;
        case B.AxisDirection_3:
          originOffset = offset.$add(0, new A.Offset(_this._geometry.paintExtent, 0));
          mainAxisUnit = B.Offset_m1_0;
          crossAxisUnit = B.Offset_0_1;
          addExtent = true;
          break;
        default:
          addExtent = _null;
          originOffset = addExtent;
          crossAxisUnit = originOffset;
          mainAxisUnit = crossAxisUnit;
      }
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t3 = type$.SliverMultiBoxAdaptorParentData; child != null;) {
        t4 = child.parentData;
        t4.toString;
        t4 = t3._as(t4).layoutOffset;
        t4.toString;
        mainAxisDelta = t4 - t1._as(A.RenderObject.prototype.get$constraints.call(_this)).scrollOffset;
        t4 = originOffset._dx;
        t5 = mainAxisUnit._dx;
        t4 = t4 + t5 * mainAxisDelta + crossAxisUnit._dx * 0;
        t6 = originOffset._dy;
        t7 = mainAxisUnit._dy;
        t6 = t6 + t7 * mainAxisDelta + crossAxisUnit._dy * 0;
        childOffset = new A.Offset(t4, t6);
        if (addExtent) {
          t8 = _this.paintExtentOf$1(child);
          childOffset = new A.Offset(t4 + t5 * t8, t6 + t7 * t8);
        }
        if (mainAxisDelta < t1._as(A.RenderObject.prototype.get$constraints.call(_this)).remainingPaintExtent && mainAxisDelta + _this.paintExtentOf$1(child) > 0)
          context.paintChild$2(child, childOffset);
        t4 = child.parentData;
        t4.toString;
        child = t2._as(t4).ContainerParentDataMixin_nextSibling;
      }
    },
    debugDescribeChildren$0() {
      var t1, t2, indices, _i, index, t3,
        _s17_ = "child with index ",
        children = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = this.ContainerRenderObjectMixin__firstChild;
      if (child != null)
        for (t1 = type$.SliverMultiBoxAdaptorParentData; true;) {
          t2 = child.parentData;
          t2.toString;
          t1._as(t2);
          children.push(new A.DiagnosticableTreeNode(child, _s17_ + A.S(t2.index), true, true, null, null));
          if (child == this.ContainerRenderObjectMixin__lastChild)
            break;
          child = t2.ContainerParentDataMixin_nextSibling;
        }
      t1 = this._keepAliveBucket;
      if (t1._length !== 0) {
        t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
        indices = A.List_List$of(new A.LinkedHashMapKeyIterable(t1, t2), true, t2._eval$1("Iterable.E"));
        B.JSArray_methods.sort$0(indices);
        for (t2 = indices.length, _i = 0; _i < indices.length; indices.length === t2 || (0, A.throwConcurrentModificationError)(indices), ++_i) {
          index = indices[_i];
          t3 = t1.$index(0, index);
          t3.toString;
          children.push(new A.DiagnosticableTreeNode(t3, _s17_ + A.S(index) + " (kept alive but not laid out)", true, true, null, B.DiagnosticsTreeStyle_2));
        }
      }
      return children;
    }
  };
  A.RenderSliverMultiBoxAdaptor__createOrObtainChild_closure.prototype = {
    call$1(constraints) {
      var t1 = this.$this,
        t2 = t1._keepAliveBucket,
        t3 = this.index,
        t4 = this.after;
      if (t2.containsKey$1(0, t3)) {
        t2 = t2.remove$1(0, t3);
        t2.toString;
        t3 = t2.parentData;
        t3.toString;
        type$.SliverMultiBoxAdaptorParentData._as(t3);
        t1.dropChild$1(t2);
        t2.parentData = t3;
        t1.super$ContainerRenderObjectMixin$insert(0, t2, t4);
        t3._keptAlive = false;
      } else
        t1._childManager.createChild$2$after(t3, t4);
    },
    $signature: 270
  };
  A.RenderSliverMultiBoxAdaptor_collectGarbage_closure.prototype = {
    call$1(constraints) {
      var t1, t2, t3;
      for (t1 = this._box_0, t2 = this.$this; t1.leadingGarbage > 0;) {
        t3 = t2.ContainerRenderObjectMixin__firstChild;
        t3.toString;
        t2._destroyOrCacheChild$1(t3);
        --t1.leadingGarbage;
      }
      for (; t1.trailingGarbage > 0;) {
        t3 = t2.ContainerRenderObjectMixin__lastChild;
        t3.toString;
        t2._destroyOrCacheChild$1(t3);
        --t1.trailingGarbage;
      }
      t1 = t2._keepAliveBucket;
      t1 = t1.get$values(t1);
      t3 = A._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      B.JSArray_methods.forEach$1(A.List_List$of(new A.WhereIterable(t1, new A.RenderSliverMultiBoxAdaptor_collectGarbage__closure(), t3), true, t3._eval$1("Iterable.E")), t2._childManager.get$removeChild());
    },
    $signature: 270
  };
  A.RenderSliverMultiBoxAdaptor_collectGarbage__closure.prototype = {
    call$1(child) {
      var t1 = child.parentData;
      t1.toString;
      return !type$.SliverMultiBoxAdaptorParentData._as(t1).KeepAliveParentDataMixin_keepAlive;
    },
    $signature: 844
  };
  A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.SliverMultiBoxAdaptorParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.SliverMultiBoxAdaptorParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers.prototype = {};
  A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin.prototype = {};
  A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin.prototype = {
    detach$0(_) {
      this.super$ParentData$detach(0);
    }
  };
  A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin.prototype = {};
  A.RenderSliverEdgeInsetsPadding.prototype = {
    get$beforePadding() {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (A.applyGrowthDirectionToAxisDirection(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(A.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case B.AxisDirection_0:
          return _this.get$resolvedPadding().bottom;
        case B.AxisDirection_1:
          return _this.get$resolvedPadding().left;
        case B.AxisDirection_2:
          return _this.get$resolvedPadding().top;
        case B.AxisDirection_3:
          return _this.get$resolvedPadding().right;
      }
    },
    get$afterPadding() {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (A.applyGrowthDirectionToAxisDirection(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(A.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case B.AxisDirection_0:
          return _this.get$resolvedPadding().top;
        case B.AxisDirection_1:
          return _this.get$resolvedPadding().right;
        case B.AxisDirection_2:
          return _this.get$resolvedPadding().bottom;
        case B.AxisDirection_3:
          return _this.get$resolvedPadding().left;
      }
    },
    get$crossAxisPadding() {
      switch (A.axisDirectionToAxis(type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(this)).axisDirection).index) {
        case 0:
          var t1 = this.get$resolvedPadding();
          return t1.get$_top(t1) + t1.get$_bottom(t1);
        case 1:
          return this.get$resolvedPadding().get$horizontal();
      }
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.SliverPhysicalParentData))
        child.parentData = new A.SliverPhysicalParentData(B.Offset_0_0);
    },
    performLayout$0() {
      var t2, crossAxisPadding, beforePaddingPaintExtent, overlap, t3, t4, t5, t6, t7, t8, t9, t10, t11, childLayoutGeometry, afterPaddingPaintExtent, mainAxisPaddingPaintExtent, beforePaddingCacheExtent, afterPaddingCacheExtent, paintExtent, _this = this, _null = null,
        t1 = type$.SliverConstraints,
        constraints = t1._as(A.RenderObject.prototype.get$constraints.call(_this)),
        beforePadding = _this.get$beforePadding();
      _this.get$afterPadding();
      t2 = _this.get$resolvedPadding();
      t2.toString;
      t1 = t2.along$1(A.axisDirectionToAxis(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection));
      crossAxisPadding = _this.get$crossAxisPadding();
      if (_this.RenderObjectWithChildMixin__child == null) {
        _this._geometry = A.SliverGeometry$(_null, false, _null, _null, t1, Math.min(t1, constraints.remainingPaintExtent), 0, t1, _null);
        return;
      }
      beforePaddingPaintExtent = _this.calculatePaintOffset$3$from$to(constraints, 0, beforePadding);
      overlap = constraints.overlap;
      if (overlap > 0)
        overlap = Math.max(0, overlap - beforePaddingPaintExtent);
      t2 = _this.RenderObjectWithChildMixin__child;
      t2.toString;
      t3 = Math.max(0, constraints.scrollOffset - beforePadding);
      t4 = Math.min(0, constraints.cacheOrigin + beforePadding);
      t5 = constraints.remainingPaintExtent;
      t6 = _this.calculatePaintOffset$3$from$to(constraints, 0, beforePadding);
      t7 = constraints.remainingCacheExtent;
      t8 = _this.calculateCacheOffset$3$from$to(constraints, 0, beforePadding);
      t9 = Math.max(0, constraints.crossAxisExtent - crossAxisPadding);
      t10 = constraints.axisDirection;
      t11 = constraints.growthDirection;
      t2.layout$2$parentUsesSize(new A.SliverConstraints(t10, t11, constraints.userScrollDirection, t3, beforePadding + constraints.precedingScrollExtent, overlap, t5 - t6, t9, constraints.crossAxisDirection, constraints.viewportMainAxisExtent, t4, t7 - t8), true);
      childLayoutGeometry = _this.RenderObjectWithChildMixin__child._geometry;
      t2 = childLayoutGeometry.scrollOffsetCorrection;
      if (t2 != null) {
        _this._geometry = A.SliverGeometry$(_null, false, _null, _null, 0, 0, 0, 0, t2);
        return;
      }
      t2 = childLayoutGeometry.scrollExtent;
      t3 = beforePadding + t2;
      t4 = t1 + t2;
      afterPaddingPaintExtent = _this.calculatePaintOffset$3$from$to(constraints, t3, t4);
      mainAxisPaddingPaintExtent = beforePaddingPaintExtent + afterPaddingPaintExtent;
      beforePaddingCacheExtent = _this.calculateCacheOffset$3$from$to(constraints, 0, beforePadding);
      afterPaddingCacheExtent = _this.calculateCacheOffset$3$from$to(constraints, t3, t4);
      t3 = childLayoutGeometry.paintExtent;
      t6 = childLayoutGeometry.layoutExtent;
      paintExtent = Math.min(beforePaddingPaintExtent + Math.max(t3, t6 + afterPaddingPaintExtent), t5);
      t5 = childLayoutGeometry.paintOrigin;
      t6 = Math.min(mainAxisPaddingPaintExtent + t6, paintExtent);
      t7 = Math.min(afterPaddingCacheExtent + beforePaddingCacheExtent + childLayoutGeometry.cacheExtent, t7);
      t8 = childLayoutGeometry.maxPaintExtent;
      t3 = Math.max(mainAxisPaddingPaintExtent + t3, beforePaddingPaintExtent + childLayoutGeometry.hitTestExtent);
      _this._geometry = A.SliverGeometry$(t7, childLayoutGeometry.hasVisualOverflow, t3, t6, t1 + t8, paintExtent, t5, t4, _null);
      t4 = _this.RenderObjectWithChildMixin__child.parentData;
      t4.toString;
      type$.SliverPhysicalParentData._as(t4);
      switch (A.applyGrowthDirectionToAxisDirection(t10, t11)) {
        case B.AxisDirection_0:
          t4.paintOffset = new A.Offset(_this.get$resolvedPadding().left, _this.calculatePaintOffset$3$from$to(constraints, _this.get$resolvedPadding().bottom + t2, _this.get$resolvedPadding().bottom + t2 + _this.get$resolvedPadding().top));
          break;
        case B.AxisDirection_1:
          t4.paintOffset = new A.Offset(_this.calculatePaintOffset$3$from$to(constraints, 0, _this.get$resolvedPadding().left), _this.get$resolvedPadding().top);
          break;
        case B.AxisDirection_2:
          t4.paintOffset = new A.Offset(_this.get$resolvedPadding().left, _this.calculatePaintOffset$3$from$to(constraints, 0, _this.get$resolvedPadding().top));
          break;
        case B.AxisDirection_3:
          t4.paintOffset = new A.Offset(_this.calculatePaintOffset$3$from$to(constraints, _this.get$resolvedPadding().right + t2, _this.get$resolvedPadding().right + t2 + _this.get$resolvedPadding().left), _this.get$resolvedPadding().top);
          break;
      }
    },
    hitTestChildren$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition, mainAxisPosition) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null && t1._geometry.hitTestExtent > 0) {
        t1 = t1.parentData;
        t1.toString;
        type$.SliverPhysicalParentData._as(t1);
        t2 = _this.calculatePaintOffset$3$from$to(type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)), 0, _this.get$beforePadding());
        t3 = _this.RenderObjectWithChildMixin__child;
        t3.toString;
        t3 = _this.childCrossAxisPosition$1(t3);
        t1 = t1.paintOffset;
        t4 = _this.RenderObjectWithChildMixin__child.get$hitTest();
        t5 = t1 != null;
        if (t5)
          result._localTransforms.push(new A._OffsetTransformPart(new A.Offset(-t1._dx, -t1._dy)));
        t4.call$3$crossAxisPosition$mainAxisPosition(result, crossAxisPosition - t3, mainAxisPosition - t2);
        if (t5)
          result.popTransform$0();
      }
      return false;
    },
    childCrossAxisPosition$1(child) {
      var _this = this,
        t1 = type$.SliverConstraints;
      switch (A.applyGrowthDirectionToAxisDirection(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection, t1._as(A.RenderObject.prototype.get$constraints.call(_this)).growthDirection)) {
        case B.AxisDirection_0:
        case B.AxisDirection_2:
          return _this.get$resolvedPadding().left;
        case B.AxisDirection_3:
        case B.AxisDirection_1:
          return _this.get$resolvedPadding().top;
      }
    },
    childScrollOffset$1(child) {
      return this.get$beforePadding();
    },
    applyPaintTransform$2(child, transform) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverPhysicalParentData._as(t1).paintOffset;
      transform.translate$2(0, t1._dx, t1._dy);
    },
    paint$2(context, offset) {
      var t2,
        t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null && t1._geometry.visible) {
        t2 = t1.parentData;
        t2.toString;
        context.paintChild$2(t1, offset.$add(0, type$.SliverPhysicalParentData._as(t2).paintOffset));
      }
    }
  };
  A.RenderSliverPadding.prototype = {
    get$resolvedPadding() {
      return this._sliver_padding$_resolvedPadding;
    },
    _sliver_padding$_resolve$0() {
      if (this._sliver_padding$_resolvedPadding != null)
        return;
      this._sliver_padding$_resolvedPadding = this._sliver_padding$_padding;
    },
    set$padding(_, value) {
      var _this = this;
      if (_this._sliver_padding$_padding.$eq(0, value))
        return;
      _this._sliver_padding$_padding = value;
      _this._sliver_padding$_resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._sliver_padding$_textDirection === value)
        return;
      _this._sliver_padding$_textDirection = value;
      _this._sliver_padding$_resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    performLayout$0() {
      this._sliver_padding$_resolve$0();
      this.super$RenderSliverEdgeInsetsPadding$performLayout();
    }
  };
  A._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.RelativeRect.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof A.RelativeRect && other.left === _this.left && other.top === _this.top && other.right === _this.right && other.bottom === _this.bottom;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.left, _this.top, _this.right, _this.bottom, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "RelativeRect.fromLTRB(" + B.JSNumber_methods.toStringAsFixed$1(_this.left, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.top, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.right, 1) + ", " + B.JSNumber_methods.toStringAsFixed$1(_this.bottom, 1) + ")";
    }
  };
  A.StackParentData.prototype = {
    get$isPositioned() {
      var _this = this;
      return _this.top != null || _this.right != null || _this.bottom != null || _this.left != null || _this.width != null || _this.height != null;
    },
    toString$0(_) {
      var _this = this,
        t1 = A._setArrayType([], type$.JSArray_String),
        t2 = _this.top;
      if (t2 != null)
        t1.push("top=" + A.debugFormatDouble(t2));
      t2 = _this.right;
      if (t2 != null)
        t1.push("right=" + A.debugFormatDouble(t2));
      t2 = _this.bottom;
      if (t2 != null)
        t1.push("bottom=" + A.debugFormatDouble(t2));
      t2 = _this.left;
      if (t2 != null)
        t1.push("left=" + A.debugFormatDouble(t2));
      t2 = _this.width;
      if (t2 != null)
        t1.push("width=" + A.debugFormatDouble(t2));
      t2 = _this.height;
      if (t2 != null)
        t1.push("height=" + A.debugFormatDouble(t2));
      if (t1.length === 0)
        t1.push("not positioned");
      t1.push(_this.super$BoxParentData$toString(0));
      return B.JSArray_methods.join$1(t1, "; ");
    }
  };
  A.StackFit.prototype = {
    toString$0(_) {
      return "StackFit." + this._core$_name;
    }
  };
  A.RenderStack.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.StackParentData))
        child.parentData = new A.StackParentData(null, null, B.Offset_0_0);
    },
    _resolve$0() {
      var _this = this;
      if (_this._resolvedAlignment != null)
        return;
      _this._resolvedAlignment = _this._alignment.resolve$1(_this._stack$_textDirection);
    },
    set$alignment(value) {
      var _this = this;
      if (_this._alignment.$eq(0, value))
        return;
      _this._alignment = value;
      _this._resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._stack$_textDirection == value)
        return;
      _this._stack$_textDirection = value;
      _this._resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    computeMinIntrinsicWidth$1(height) {
      return A.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new A.RenderStack_computeMinIntrinsicWidth_closure(height));
    },
    computeMaxIntrinsicWidth$1(height) {
      return A.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new A.RenderStack_computeMaxIntrinsicWidth_closure(height));
    },
    computeMinIntrinsicHeight$1(width) {
      return A.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new A.RenderStack_computeMinIntrinsicHeight_closure(width));
    },
    computeMaxIntrinsicHeight$1(width) {
      return A.RenderStack_getIntrinsicDimension(this.ContainerRenderObjectMixin__firstChild, new A.RenderStack_computeMaxIntrinsicHeight_closure(width));
    },
    computeDistanceToActualBaseline$1(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
    },
    computeDryLayout$1(constraints) {
      return this._computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_dryLayoutChild$closure());
    },
    _computeSize$2$constraints$layoutChild(constraints, layoutChild) {
      var t1, t2, t3, t4, t5, t6, width, height, nonPositionedConstraints, child, height0, width0, hasNonPositionedChildren, childSize, _this = this;
      _this._resolve$0();
      if (_this.ContainerRenderObjectMixin__childCount === 0) {
        t1 = constraints.minWidth;
        t2 = constraints.maxWidth;
        t3 = A.clampDouble(1 / 0, t1, t2);
        t4 = constraints.minHeight;
        t5 = constraints.maxHeight;
        t6 = A.clampDouble(1 / 0, t4, t5);
        return isFinite(t3) && isFinite(t6) ? new A.Size(A.clampDouble(1 / 0, t1, t2), A.clampDouble(1 / 0, t4, t5)) : new A.Size(A.clampDouble(0, t1, t2), A.clampDouble(0, t4, t5));
      }
      width = constraints.minWidth;
      height = constraints.minHeight;
      switch (_this._fit.index) {
        case 0:
          nonPositionedConstraints = new A.BoxConstraints(0, constraints.maxWidth, 0, constraints.maxHeight);
          break;
        case 1:
          nonPositionedConstraints = A.BoxConstraints$tight(new A.Size(A.clampDouble(1 / 0, width, constraints.maxWidth), A.clampDouble(1 / 0, height, constraints.maxHeight)));
          break;
        case 2:
          nonPositionedConstraints = constraints;
          break;
        default:
          nonPositionedConstraints = null;
      }
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData, height0 = height, width0 = width, hasNonPositionedChildren = false; child != null;) {
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        if (!t2.get$isPositioned()) {
          childSize = layoutChild.call$2(child, nonPositionedConstraints);
          width0 = Math.max(width0, childSize._dx);
          height0 = Math.max(height0, childSize._dy);
          hasNonPositionedChildren = true;
        }
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      return hasNonPositionedChildren ? new A.Size(width0, height0) : new A.Size(A.clampDouble(1 / 0, width, constraints.maxWidth), A.clampDouble(1 / 0, height, constraints.maxHeight));
    },
    performLayout$0() {
      var child, t1, t2, t3, t4, t5, t6, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._hasVisualOverflow = false;
      _this._box$_size = _this._computeSize$2$constraints$layoutChild(constraints, A.layout_helper_ChildLayoutHelper_layoutChild$closure());
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData, t2 = type$.Offset; child != null;) {
        t3 = child.parentData;
        t3.toString;
        t1._as(t3);
        if (!t3.get$isPositioned()) {
          t4 = _this._resolvedAlignment;
          t4.toString;
          t5 = _this._box$_size;
          t5.toString;
          t6 = child._box$_size;
          t6.toString;
          t3.offset = t4.alongOffset$1(t2._as(t5.$sub(0, t6)));
        } else {
          t4 = _this._box$_size;
          t4.toString;
          t5 = _this._resolvedAlignment;
          t5.toString;
          _this._hasVisualOverflow = A.RenderStack_layoutPositionedChild(child, t3, t4, t5) || _this._hasVisualOverflow;
        }
        child = t3.ContainerParentDataMixin_nextSibling;
      }
    },
    hitTestChildren$2$position(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paintStack$2(context, offset) {
      this.defaultPaint$2(context, offset);
    },
    paint$2(context, offset) {
      var t3, _this = this,
        t1 = _this._clipBehavior !== B.Clip_0 && _this._hasVisualOverflow,
        t2 = _this._clipRectLayer;
      if (t1) {
        t1 = _this.__RenderObject__needsCompositing;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this._box$_size;
        t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), _this.get$paintStack(), _this._clipBehavior, t2._layer));
      } else {
        t2.set$layer(0, null);
        _this.paintStack$2(context, offset);
      }
    },
    dispose$0() {
      this._clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    },
    describeApproximatePaintClip$1(child) {
      var t1;
      switch (this._clipBehavior.index) {
        case 0:
          return null;
        case 1:
        case 2:
        case 3:
          if (this._hasVisualOverflow) {
            t1 = this._box$_size;
            t1 = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
          } else
            t1 = null;
          return t1;
      }
    }
  };
  A.RenderStack_computeMinIntrinsicWidth_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 21
  };
  A.RenderStack_computeMaxIntrinsicWidth_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 21
  };
  A.RenderStack_computeMinIntrinsicHeight_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 21
  };
  A.RenderStack_computeMaxIntrinsicHeight_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 21
  };
  A.RenderIndexedStack.prototype = {
    visitChildrenForSemantics$1(visitor) {
      if (this._stack$_index != null && this.ContainerRenderObjectMixin__firstChild != null)
        visitor.call$1(this._childAtIndex$0());
    },
    _childAtIndex$0() {
      var t3,
        child = this.ContainerRenderObjectMixin__firstChild,
        t1 = type$.StackParentData,
        t2 = this._stack$_index,
        i = 0;
      while (true) {
        if (child != null) {
          t2.toString;
          t3 = i < t2;
        } else
          t3 = false;
        if (!t3)
          break;
        t3 = child.parentData;
        t3.toString;
        child = t1._as(t3).ContainerParentDataMixin_nextSibling;
        ++i;
      }
      child.toString;
      return child;
    },
    hitTestChildren$2$position(result, position) {
      var child, t1;
      if (this.ContainerRenderObjectMixin__firstChild == null || this._stack$_index == null)
        return false;
      child = this._childAtIndex$0();
      t1 = child.parentData;
      t1.toString;
      type$.StackParentData._as(t1);
      return result.addWithPaintOffset$3$hitTest$offset$position(new A.RenderIndexedStack_hitTestChildren_closure(position, t1, child), t1.offset, position);
    },
    paintStack$2(context, offset) {
      var child, t1;
      if (this.ContainerRenderObjectMixin__firstChild == null || this._stack$_index == null)
        return;
      child = this._childAtIndex$0();
      t1 = child.parentData;
      t1.toString;
      context.paintChild$2(child, type$.StackParentData._as(t1).offset.$add(0, offset));
    },
    debugDescribeChildren$0() {
      var t1, i, i0, t2,
        children = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData, i = 0; child != null; i = i0) {
        i0 = i + 1;
        t2 = this._stack$_index;
        t2.toString;
        t2 = i !== t2 ? B.DiagnosticsTreeStyle_2 : null;
        children.push(new A.DiagnosticableTreeNode(child, "child " + i0, true, true, null, t2));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return children;
    }
  };
  A.RenderIndexedStack_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A._RenderStack_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A.TableCellParentData.prototype = {
    toString$0(_) {
      var t1 = this.super$BoxParentData$toString(0),
        t2 = this.verticalAlignment;
      t2 = t2 == null ? "default vertical alignment" : t2.toString$0(0);
      return t1 + "; " + t2;
    }
  };
  A.TableColumnWidth.prototype = {
    flex$1(_, cells) {
      return null;
    },
    toString$0(_) {
      return "TableColumnWidth";
    }
  };
  A.IntrinsicColumnWidth.prototype = {
    minIntrinsicWidth$2(cells, containerWidth) {
      var t1, result, t2;
      for (t1 = new A._SyncStarIterator(cells._outerHelper(), cells.$ti._eval$1("_SyncStarIterator<1>")), result = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        result = Math.max(result, t2._computeIntrinsicDimension$3(B._IntrinsicDimension_0, 1 / 0, t2.get$computeMinIntrinsicWidth()));
      }
      return result;
    },
    maxIntrinsicWidth$2(cells, containerWidth) {
      var t1, result, t2;
      for (t1 = new A._SyncStarIterator(cells._outerHelper(), cells.$ti._eval$1("_SyncStarIterator<1>")), result = 0; t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        result = Math.max(result, t2._computeIntrinsicDimension$3(B._IntrinsicDimension_1, 1 / 0, t2.get$computeMaxIntrinsicWidth()));
      }
      return result;
    },
    flex$1(_, cells) {
      return this._flex;
    },
    toString$0(_) {
      var t1 = this._flex;
      return "IntrinsicColumnWidth(flex: " + A.S(t1 == null ? null : B.JSInt_methods.toStringAsFixed$1(t1, 1)) + ")";
    }
  };
  A.FixedColumnWidth.prototype = {
    minIntrinsicWidth$2(cells, containerWidth) {
      return this.value;
    },
    maxIntrinsicWidth$2(cells, containerWidth) {
      return this.value;
    },
    toString$0(_) {
      return "FixedColumnWidth(" + A.debugFormatDouble(this.value) + ")";
    }
  };
  A.FlexColumnWidth.prototype = {
    minIntrinsicWidth$2(cells, containerWidth) {
      return 0;
    },
    maxIntrinsicWidth$2(cells, containerWidth) {
      return 0;
    },
    flex$1(_, cells) {
      return 1;
    },
    toString$0(_) {
      return "FlexColumnWidth(" + A.debugFormatDouble(1) + ")";
    }
  };
  A.TableCellVerticalAlignment.prototype = {
    toString$0(_) {
      return "TableCellVerticalAlignment." + this._core$_name;
    }
  };
  A.RenderTable.prototype = {
    set$columnWidths(value) {
      var t1 = this._columnWidths;
      if (t1 === value)
        return;
      if (t1.get$isEmpty(t1) && value == null)
        return;
      this._columnWidths = value == null ? A.HashMap_HashMap(null, null, null, type$.int, type$.TableColumnWidth) : value;
      this.markNeedsLayout$0();
    },
    set$defaultColumnWidth(value) {
      if (this._defaultColumnWidth === value)
        return;
      this._defaultColumnWidth = value;
      this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      if (this._table0$_textDirection === value)
        return;
      this._table0$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$border(_, value) {
      if (J.$eq$(this._table0$_border, value))
        return;
      this._table0$_border = value;
      this.markNeedsPaint$0();
    },
    set$rowDecorations(value) {
      var t2, _i, painter, _this = this,
        t1 = _this._table0$_rowDecorations;
      if (t1 == null ? value == null : t1 === value)
        return;
      _this._table0$_rowDecorations = value;
      t1 = _this._rowDecorationPainters;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t2; ++_i) {
          painter = t1[_i];
          if (painter != null)
            painter.dispose$0();
        }
      t1 = _this._table0$_rowDecorations;
      _this._rowDecorationPainters = t1 != null ? A.List_List$filled(t1.length, null, false, type$.nullable_BoxPainter) : null;
    },
    set$configuration(value) {
      if (value.$eq(0, this._table0$_configuration))
        return;
      this._table0$_configuration = value;
      this.markNeedsPaint$0();
    },
    set$defaultVerticalAlignment(value) {
      if (this._defaultVerticalAlignment === value)
        return;
      this._defaultVerticalAlignment = value;
      this.markNeedsLayout$0();
    },
    set$textBaseline(_, value) {
      return;
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.TableCellParentData))
        child.parentData = new A.TableCellParentData(B.Offset_0_0);
    },
    setFlatChildren$2(columns, cells) {
      var t2, _i, oldChild, lostChildren, y, x, xyOld, xyNew, t3, _this = this,
        t1 = _this._table0$_children;
      if (cells === t1 && columns === _this._columns)
        return;
      if (columns === 0 || cells.length === 0) {
        _this._columns = columns;
        t2 = t1.length;
        if (t2 === 0)
          return;
        for (_i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          oldChild = t1[_i];
          if (oldChild != null)
            _this.dropChild$1(oldChild);
        }
        _this._rows = 0;
        B.JSArray_methods.clear$0(_this._table0$_children);
        _this.markNeedsLayout$0();
        return;
      }
      lostChildren = A.HashSet_HashSet(type$.RenderBox);
      for (y = 0; y < _this._rows; ++y)
        for (t1 = y * columns, x = 0; t2 = _this._columns, x < t2; ++x) {
          xyOld = x + y * t2;
          xyNew = x + t1;
          t2 = _this._table0$_children[xyOld];
          if (t2 != null)
            t2 = x >= columns || xyNew >= cells.length || !J.$eq$(t2, cells[xyNew]);
          else
            t2 = false;
          if (t2) {
            t2 = _this._table0$_children[xyOld];
            t2.toString;
            lostChildren.add$1(0, t2);
          }
        }
      for (y = 0; t1 = y * columns, t1 < cells.length;) {
        for (x = 0; x < columns; ++x) {
          xyNew = x + t1;
          t2 = _this._columns;
          t3 = cells[xyNew];
          if (t3 != null)
            t2 = x >= t2 || y >= _this._rows || !J.$eq$(_this._table0$_children[x + y * t2], t3);
          else
            t2 = false;
          if (t2)
            if (!lostChildren.remove$1(0, cells[xyNew])) {
              t2 = cells[xyNew];
              t2.toString;
              _this.setupParentData$1(t2);
              _this.markNeedsLayout$0();
              _this.markNeedsCompositingBitsUpdate$0();
              _this.markNeedsSemanticsUpdate$0();
              _this.super$AbstractNode$adoptChild(t2);
            }
        }
        ++y;
      }
      lostChildren.forEach$1(0, _this.get$dropChild());
      _this._columns = columns;
      _this._rows = B.JSInt_methods.$tdiv(cells.length, columns);
      _this._table0$_children = A.List_List$of(cells, true, type$.nullable_RenderBox);
      _this.markNeedsLayout$0();
    },
    setChild$3(x, y, value) {
      var _this = this,
        xy = x + y * _this._columns,
        oldChild = _this._table0$_children[xy];
      if (oldChild == value)
        return;
      if (oldChild != null)
        _this.dropChild$1(oldChild);
      B.JSArray_methods.$indexSet(_this._table0$_children, xy, value);
      if (value != null)
        _this.adoptChild$1(value);
    },
    attach$1(owner) {
      var t1, t2, _i, child;
      this.super$RenderObject$attach(owner);
      for (t1 = this._table0$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          child.attach$1(owner);
      }
    },
    detach$0(_) {
      var t1, t2, _i, painter, child, _this = this;
      _this.super$AbstractNode$detach(0);
      t1 = _this._rowDecorationPainters;
      if (t1 != null) {
        for (t2 = t1.length, _i = 0; _i < t2; ++_i) {
          painter = t1[_i];
          if (painter != null)
            painter.dispose$0();
        }
        _this._rowDecorationPainters = A.List_List$filled(_this._table0$_rowDecorations.length, null, false, type$.nullable_BoxPainter);
      }
      for (t1 = _this._table0$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          J.detach$0$z(child);
      }
    },
    visitChildren$1(visitor) {
      var t1, t2, _i, child;
      for (t1 = this._table0$_children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child != null)
          visitor.call$1(child);
      }
    },
    computeMinIntrinsicWidth$1(height) {
      var totalMinWidth, x, columnWidth, _this = this;
      for (totalMinWidth = 0, x = 0; x < _this._columns; ++x) {
        columnWidth = _this._columnWidths.$index(0, x);
        if (columnWidth == null)
          columnWidth = _this._defaultColumnWidth;
        totalMinWidth += columnWidth.minIntrinsicWidth$2(_this.column$1(x), 1 / 0);
      }
      return totalMinWidth;
    },
    computeMaxIntrinsicWidth$1(height) {
      var totalMaxWidth, x, columnWidth, _this = this;
      for (totalMaxWidth = 0, x = 0; x < _this._columns; ++x) {
        columnWidth = _this._columnWidths.$index(0, x);
        if (columnWidth == null)
          columnWidth = _this._defaultColumnWidth;
        totalMaxWidth += columnWidth.maxIntrinsicWidth$2(_this.column$1(x), 1 / 0);
      }
      return totalMaxWidth;
    },
    computeMinIntrinsicHeight$1(width) {
      var rowTop, y, rowHeight, x, t1, child, _this = this,
        widths = _this._table0$_computeColumnWidths$1(A.BoxConstraints$tightForFinite(1 / 0, width));
      for (rowTop = 0, y = 0; y < _this._rows; ++y) {
        for (rowHeight = 0, x = 0; t1 = _this._columns, x < t1; ++x) {
          child = _this._table0$_children[x + y * t1];
          if (child != null)
            rowHeight = Math.max(rowHeight, child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, widths[x], child.get$computeMaxIntrinsicHeight()));
        }
        rowTop += rowHeight;
      }
      return rowTop;
    },
    computeMaxIntrinsicHeight$1(width) {
      return this.computeMinIntrinsicHeight$1(width);
    },
    computeDistanceToActualBaseline$1(baseline) {
      return this._baselineDistance;
    },
    column$1(x) {
      return this.column$body$RenderTable(x);
    },
    column$body$RenderTable($async$x) {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var x = $async$x;
        var $async$goto = 0, $async$handler = 1, $async$currentError, y, t1, child;
        return function $async$column$1($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
                y = 0;
              case 2:
                // for condition
                if (!(y < $async$self._rows)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                t1 = $async$self._columns;
                child = $async$self._table0$_children[x + y * t1];
                $async$goto = child != null ? 5 : 6;
                break;
              case 5:
                // then
                $async$goto = 7;
                return child;
              case 7:
                // after yield
              case 6:
                // join
              case 3:
                // for update
                ++y;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return A._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.RenderBox);
    },
    _table0$_computeColumnWidths$1(constraints) {
      var targetWidth, tableWidth, unflexedTableWidth, totalFlex, x, availableColumns, columnWidth, columnCells, maxIntrinsicWidth, flex, minWidthConstraint, targetWidth0, remainingWidth, flexedWidth, delta, deficit, availableColumns0, newTotalFlex, t2, newWidth, t3, newAvailableColumns, availableDelta, _this = this,
        t1 = type$.double,
        widths = A.List_List$filled(_this._columns, 0, false, t1),
        minWidths = A.List_List$filled(_this._columns, 0, false, t1),
        flexes = A.List_List$filled(_this._columns, null, false, type$.nullable_double);
      for (targetWidth = constraints.maxWidth, tableWidth = 0, unflexedTableWidth = 0, totalFlex = 0, x = 0; availableColumns = _this._columns, x < availableColumns; ++x) {
        columnWidth = _this._columnWidths.$index(0, x);
        if (columnWidth == null)
          columnWidth = _this._defaultColumnWidth;
        columnCells = _this.column$1(x);
        maxIntrinsicWidth = columnWidth.maxIntrinsicWidth$2(columnCells, targetWidth);
        widths[x] = maxIntrinsicWidth;
        tableWidth += maxIntrinsicWidth;
        minWidths[x] = columnWidth.minIntrinsicWidth$2(columnCells, targetWidth);
        flex = columnWidth.flex$1(0, columnCells);
        if (flex != null) {
          flexes[x] = flex;
          totalFlex += flex;
        } else
          unflexedTableWidth += maxIntrinsicWidth;
      }
      minWidthConstraint = constraints.minWidth;
      if (totalFlex > 0) {
        targetWidth0 = isFinite(targetWidth) ? targetWidth : minWidthConstraint;
        if (tableWidth < targetWidth0) {
          remainingWidth = targetWidth0 - unflexedTableWidth;
          for (x = 0; x < availableColumns; ++x) {
            t1 = flexes[x];
            if (t1 != null) {
              flexedWidth = remainingWidth * t1 / totalFlex;
              t1 = widths[x];
              if (t1 < flexedWidth) {
                tableWidth += flexedWidth - t1;
                widths[x] = flexedWidth;
              }
            }
          }
        }
      } else if (tableWidth < minWidthConstraint) {
        delta = (minWidthConstraint - tableWidth) / availableColumns;
        for (x = 0; x < availableColumns; ++x)
          widths[x] = widths[x] + delta;
        tableWidth = minWidthConstraint;
      }
      if (tableWidth > targetWidth) {
        deficit = tableWidth - targetWidth;
        availableColumns0 = availableColumns;
        while (true) {
          if (!(deficit > 1e-10 && totalFlex > 1e-10))
            break;
          for (newTotalFlex = 0, x = 0; x < availableColumns; ++x) {
            t1 = flexes[x];
            if (t1 != null) {
              t2 = widths[x];
              newWidth = t2 - deficit * t1 / totalFlex;
              t3 = minWidths[x];
              if (newWidth <= t3) {
                deficit -= t2 - t3;
                widths[x] = t3;
                flexes[x] = null;
                --availableColumns0;
              } else {
                deficit -= t2 - newWidth;
                widths[x] = newWidth;
                newTotalFlex += t1;
              }
            }
          }
          totalFlex = newTotalFlex;
        }
        while (true) {
          if (!(deficit > 1e-10 && availableColumns0 > 0))
            break;
          delta = deficit / availableColumns0;
          for (newAvailableColumns = 0, x = 0; x < availableColumns; ++x) {
            t1 = widths[x];
            t2 = minWidths[x];
            availableDelta = t1 - t2;
            if (availableDelta > 0)
              if (availableDelta <= delta) {
                deficit -= availableDelta;
                widths[x] = t2;
              } else {
                deficit -= delta;
                widths[x] = t1 - delta;
                ++newAvailableColumns;
              }
          }
          availableColumns0 = newAvailableColumns;
        }
      }
      return widths;
    },
    computeDryLayout$1(constraints) {
      var widths, tableWidth, t1, rowTop, y, rowHeight, x, t2, child, _this = this;
      if (_this._rows * _this._columns === 0)
        return constraints.constrain$1(B.Size_0_0);
      widths = _this._table0$_computeColumnWidths$1(constraints);
      tableWidth = B.JSArray_methods.fold$2(widths, 0, new A.RenderTable_computeDryLayout_closure());
      for (t1 = type$.TableCellParentData, rowTop = 0, y = 0; y < _this._rows; ++y) {
        for (rowHeight = 0, x = 0; t2 = _this._columns, x < t2; ++x) {
          child = _this._table0$_children[x + y * t2];
          if (child != null) {
            t2 = child.parentData;
            t2.toString;
            t2 = t1._as(t2).verticalAlignment;
            switch ((t2 == null ? _this._defaultVerticalAlignment : t2).index) {
              case 3:
                return B.Size_0_0;
              case 0:
              case 1:
              case 2:
                rowHeight = Math.max(rowHeight, child.getDryLayout$1(A.BoxConstraints$tightFor(null, widths[x]))._dy);
                break;
              case 4:
                break;
            }
          }
        }
        rowTop += rowHeight;
      }
      return constraints.constrain$1(new A.Size(tableWidth, rowTop));
    },
    performLayout$0() {
      var widths, t1, positions, x, t2, t3, rowTop, y, baselines, t4, rowHeight, haveBaseline, beforeBaselineDistance, afterBaselineDistance, child, t5, t6, childBaseline, rowTop0, t7, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        rows = _this._rows,
        columns = _this._columns;
      if (rows * columns === 0) {
        _this.__RenderTable__tableWidth = 0;
        _this._box$_size = constraints.constrain$1(B.Size_0_0);
        return;
      }
      widths = _this._table0$_computeColumnWidths$1(constraints);
      t1 = type$.double;
      positions = A.List_List$filled(columns, 0, false, t1);
      switch (_this._table0$_textDirection.index) {
        case 0:
          positions[columns - 1] = 0;
          for (x = columns - 2; x >= 0; --x) {
            t2 = x + 1;
            positions[x] = positions[t2] + widths[t2];
          }
          _this._columnLefts = new A.ReversedListIterable(positions, A._arrayInstanceType(positions)._eval$1("ReversedListIterable<1>"));
          _this.__RenderTable__tableWidth = B.JSArray_methods.get$first(positions) + B.JSArray_methods.get$first(widths);
          break;
        case 1:
          positions[0] = 0;
          for (x = 1; x < columns; ++x) {
            t2 = x - 1;
            positions[x] = positions[t2] + widths[t2];
          }
          _this._columnLefts = positions;
          _this.__RenderTable__tableWidth = B.JSArray_methods.get$last(positions) + B.JSArray_methods.get$last(widths);
          break;
      }
      t2 = _this._rowTops;
      B.JSArray_methods.clear$0(t2);
      _this._baselineDistance = null;
      for (t3 = type$.TableCellParentData, rowTop = 0, y = 0; y < rows; ++y, rowTop = rowTop0) {
        t2.push(rowTop);
        baselines = A.List_List$filled(columns, 0, false, t1);
        for (t4 = y * columns, rowHeight = 0, haveBaseline = false, beforeBaselineDistance = 0, afterBaselineDistance = 0, x = 0; x < columns; ++x) {
          child = _this._table0$_children[x + t4];
          if (child != null) {
            t5 = child.parentData;
            t5.toString;
            t3._as(t5);
            t5.y = y;
            t6 = t5.verticalAlignment;
            switch ((t6 == null ? _this._defaultVerticalAlignment : t6).index) {
              case 3:
                child.layout$2$parentUsesSize(A.BoxConstraints$tightFor(null, widths[x]), true);
                t6 = _this._table0$_textBaseline;
                t6.toString;
                childBaseline = child.getDistanceToBaseline$2$onlyReal(t6, true);
                t6 = child._box$_size;
                if (childBaseline != null) {
                  beforeBaselineDistance = Math.max(beforeBaselineDistance, childBaseline);
                  afterBaselineDistance = Math.max(afterBaselineDistance, t6._dy - childBaseline);
                  baselines[x] = childBaseline;
                  haveBaseline = true;
                } else {
                  rowHeight = Math.max(rowHeight, t6._dy);
                  t5.offset = new A.Offset(positions[x], rowTop);
                }
                break;
              case 0:
              case 1:
              case 2:
                child.layout$2$parentUsesSize(A.BoxConstraints$tightFor(null, widths[x]), true);
                rowHeight = Math.max(rowHeight, child._box$_size._dy);
                break;
              case 4:
                break;
            }
          }
        }
        if (haveBaseline) {
          if (y === 0)
            _this._baselineDistance = beforeBaselineDistance;
          rowHeight = Math.max(rowHeight, beforeBaselineDistance + afterBaselineDistance);
        }
        for (rowTop0 = rowTop + rowHeight, t5 = rowTop + beforeBaselineDistance, x = 0; x < columns; ++x) {
          child = _this._table0$_children[x + t4];
          if (child != null) {
            t6 = child.parentData;
            t6.toString;
            t3._as(t6);
            t7 = t6.verticalAlignment;
            switch ((t7 == null ? _this._defaultVerticalAlignment : t7).index) {
              case 3:
                t6.offset = new A.Offset(positions[x], t5 - baselines[x]);
                break;
              case 0:
                t6.offset = new A.Offset(positions[x], rowTop);
                break;
              case 1:
                t6.offset = new A.Offset(positions[x], rowTop + (rowHeight - child._box$_size._dy) / 2);
                break;
              case 2:
                t6.offset = new A.Offset(positions[x], rowTop0 - child._box$_size._dy);
                break;
              case 4:
                child.layout$1(A.BoxConstraints$tightFor(rowHeight, widths[x]));
                t6.offset = new A.Offset(positions[x], rowTop);
                break;
            }
          }
        }
      }
      t2.push(rowTop);
      t1 = _this.__RenderTable__tableWidth;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this._box$_size = constraints.constrain$1(new A.Size(t1, rowTop));
    },
    hitTestChildren$2$position(result, position) {
      var index, t1, child, t2;
      for (index = this._table0$_children.length - 1, t1 = type$.BoxParentData; index >= 0; --index) {
        child = this._table0$_children[index];
        if (child != null) {
          t2 = child.parentData;
          t2.toString;
          t1._as(t2);
          if (result.addWithPaintOffset$3$hitTest$offset$position(new A.RenderTable_hitTestChildren_closure(position, t2, child), t2.offset, position))
            return true;
        }
      }
      return false;
    },
    paint$2(context, offset) {
      var t1, t2, t3, t4, canvas, y, t5, t6, index, child, t7, rows, columns, _this = this;
      if (_this._rows * _this._columns === 0) {
        t1 = _this._table0$_border;
        if (t1 != null) {
          t2 = offset._dx;
          t3 = offset._dy;
          t4 = _this.__RenderTable__tableWidth;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t1.paint$4$columns$rows(context.get$canvas(context), new A.Rect(t2, t3, t2 + t4, t3 + 0), B.List_empty24, B.List_empty24);
        }
        return;
      }
      if (_this._table0$_rowDecorations != null) {
        canvas = context.get$canvas(context);
        for (t1 = offset._dx, t2 = offset._dy, t3 = _this._rowTops, t4 = _this.get$markNeedsPaint(), y = 0; y < _this._rows; ++y) {
          t5 = _this._table0$_rowDecorations;
          if (t5.length <= y)
            break;
          t5 = t5[y];
          if (t5 != null) {
            t6 = _this._rowDecorationPainters;
            if (t6[y] == null)
              t6[y] = t5.createBoxPainter$1(t4);
            t5 = _this._rowDecorationPainters[y];
            t5.toString;
            t6 = t3[y];
            t5.paint$3(canvas, new A.Offset(t1, t2 + t6), _this._table0$_configuration.copyWith$1$size(new A.Size(_this._box$_size._dx, t3[y + 1] - t6)));
          }
        }
      }
      for (t1 = type$.BoxParentData, t2 = offset._dx, t3 = offset._dy, index = 0; t4 = _this._table0$_children, index < t4.length; ++index) {
        child = t4[index];
        if (child != null) {
          t4 = child.parentData;
          t4.toString;
          t4 = t1._as(t4).offset;
          context.paintChild$2(child, new A.Offset(t4._dx + t2, t4._dy + t3));
        }
      }
      if (_this._table0$_border != null) {
        t1 = _this.__RenderTable__tableWidth;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t4 = _this._rowTops;
        t5 = B.JSArray_methods.get$last(t4);
        t6 = t4.length;
        t7 = t6 - 1;
        A.RangeError_checkValidRange(1, t7, t6, null, null);
        rows = A.SubListIterable$(t4, 1, t7, A._arrayInstanceType(t4)._precomputed1);
        t4 = _this._columnLefts;
        t4.toString;
        columns = J.skip$1$ax(t4, 1);
        t4 = _this._table0$_border;
        t4.toString;
        t4.paint$4$columns$rows(context.get$canvas(context), new A.Rect(t2, t3, t2 + t1, t3 + t5), columns, rows);
      }
    },
    debugDescribeChildren$0() {
      var children, t1, y, t2, x, t3, child, $name, _this = this, _null = null;
      if (_this._table0$_children.length === 0)
        return A._setArrayType([A.DiagnosticsNode_DiagnosticsNode$message("table is empty", true, B.DiagnosticsTreeStyle_8)], type$.JSArray_DiagnosticsNode);
      children = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      for (t1 = type$.DiagnosticsProperty_Object, y = 0; y < _this._rows; ++y)
        for (t2 = y, x = 0; t3 = _this._columns, x < t3; ++x) {
          child = _this._table0$_children[x + y * t3];
          $name = "child (" + x + ", " + t2 + ")";
          if (child != null)
            children.push(new A.DiagnosticableTreeNode(child, $name, true, true, _null, _null));
          else
            children.push(new A.DiagnosticsProperty(_null, false, true, "is null", _null, _null, false, _null, B.C__NoDefaultValue, B.DiagnosticLevel_3, $name, false, true, _null, B.DiagnosticsTreeStyle_8, t1));
        }
      return children;
    }
  };
  A.RenderTable_computeDryLayout_closure.prototype = {
    call$2(a, b) {
      return a + b;
    },
    $signature: 79
  };
  A.RenderTable_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A.TableBorder.prototype = {
    get$isUniform() {
      var topWidth, topStyle, _this = this,
        t1 = _this.top,
        topColor = t1.color,
        t2 = _this.right;
      if (!t2.color.$eq(0, topColor) || !_this.bottom.color.$eq(0, topColor) || !_this.left.color.$eq(0, topColor) || !_this.horizontalInside.color.$eq(0, topColor) || !_this.verticalInside.color.$eq(0, topColor))
        return false;
      topWidth = t1.width;
      if (t2.width !== topWidth || _this.bottom.width !== topWidth || _this.left.width !== topWidth || _this.horizontalInside.width !== topWidth || _this.verticalInside.width !== topWidth)
        return false;
      topStyle = t1.style;
      if (t2.style !== topStyle || _this.bottom.style !== topStyle || _this.left.style !== topStyle || _this.horizontalInside.style !== topStyle || _this.verticalInside.style !== topStyle)
        return false;
      return true;
    },
    paint$4$columns$rows(canvas, rect, columns, rows) {
      var paint, path, t2, t3, t4, t5, outer, inner, _this = this,
        t1 = J.getInterceptor$asx(columns);
      if (t1.get$isNotEmpty(columns) || J.get$isNotEmpty$asx(rows)) {
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        path = A.Path_Path();
        if (t1.get$isNotEmpty(columns)) {
          t2 = _this.verticalInside;
          switch (t2.style.index) {
            case 1:
              paint.set$color(0, t2.color);
              paint.set$strokeWidth(t2.width);
              paint.set$style(0, B.PaintingStyle_1);
              path.reset$0(0);
              for (t1 = t1.get$iterator(columns), t2 = rect.left, t3 = rect.top, t4 = rect.bottom; t1.moveNext$0();) {
                t5 = t2 + t1.get$current(t1);
                path.moveTo$2(0, t5, t3);
                path.lineTo$2(0, t5, t4);
              }
              canvas.drawPath$2(path, paint);
              break;
            case 0:
              break;
          }
        }
        t1 = J.getInterceptor$asx(rows);
        if (t1.get$isNotEmpty(rows)) {
          t2 = _this.horizontalInside;
          switch (t2.style.index) {
            case 1:
              paint.set$color(0, t2.color);
              paint.set$strokeWidth(t2.width);
              paint.set$style(0, B.PaintingStyle_1);
              path.reset$0(0);
              for (t1 = t1.get$iterator(rows), t2 = rect.left, t3 = rect.top, t4 = rect.right; t1.moveNext$0();) {
                t5 = t3 + t1.get$current(t1);
                path.moveTo$2(0, t2, t5);
                path.lineTo$2(0, t4, t5);
              }
              canvas.drawPath$2(path, paint);
              break;
            case 0:
              break;
          }
        }
      }
      t1 = !_this.get$isUniform() || _this.borderRadius.$eq(0, B.BorderRadius_tLn);
      t2 = _this.top;
      if (t1)
        A.paintBorder(canvas, rect, _this.bottom, _this.left, _this.right, t2);
      else {
        outer = _this.borderRadius.toRRect$1(rect);
        inner = outer.inflate$1(-t2.width);
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        paint.set$color(0, t2.color);
        canvas.drawDRRect$3(outer, inner, paint);
      }
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.TableBorder && other.top.$eq(0, _this.top) && other.right.$eq(0, _this.right) && other.bottom.$eq(0, _this.bottom) && other.left.$eq(0, _this.left) && other.horizontalInside.$eq(0, _this.horizontalInside) && other.verticalInside.$eq(0, _this.verticalInside) && other.borderRadius.$eq(0, _this.borderRadius);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.top, _this.right, _this.bottom, _this.left, _this.horizontalInside, _this.verticalInside, _this.borderRadius, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "TableBorder(" + _this.top.toString$0(0) + ", " + _this.right.toString$0(0) + ", " + _this.bottom.toString$0(0) + ", " + _this.left.toString$0(0) + ", " + _this.horizontalInside.toString$0(0) + ", " + _this.verticalInside.toString$0(0) + ", " + _this.borderRadius.toString$0(0) + ")";
    }
  };
  A.AlignmentGeometryTween.prototype = {
    lerp$1(t) {
      return A.AlignmentGeometry_lerp(this.begin, this.end, t);
    }
  };
  A.ViewConfiguration.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.ViewConfiguration && other.size.$eq(0, this.size) && other.devicePixelRatio === this.devicePixelRatio;
    },
    get$hashCode(_) {
      return A.Object_hash(this.size, this.devicePixelRatio, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return this.size.toString$0(0) + " at " + A.debugFormatDouble(this.devicePixelRatio) + "x";
    }
  };
  A.RenderView.prototype = {
    set$configuration(value) {
      var oldConfiguration, t1, t2, t3, _this = this;
      if (_this._configuration.$eq(0, value))
        return;
      oldConfiguration = _this._configuration;
      _this._configuration = value;
      t1 = oldConfiguration.devicePixelRatio;
      t1 = A.Matrix4_Matrix4$diagonal3Values(t1, t1, 1);
      t2 = _this._configuration.devicePixelRatio;
      if (!t1.$eq(0, A.Matrix4_Matrix4$diagonal3Values(t2, t2, 1))) {
        t1 = _this._updateMatricesAndCreateNewRootLayer$0();
        t2 = _this._layerHandle;
        t3 = t2._layer;
        t3.toString;
        J.detach$0$z(t3);
        t2.set$layer(0, t1);
        _this.markNeedsPaint$0();
      }
      _this.markNeedsLayout$0();
    },
    _updateMatricesAndCreateNewRootLayer$0() {
      var rootLayer,
        t1 = this._configuration.devicePixelRatio;
      t1 = A.Matrix4_Matrix4$diagonal3Values(t1, t1, 1);
      this._rootTransform = t1;
      rootLayer = A.TransformLayer$(t1);
      rootLayer.attach$1(this);
      return rootLayer;
    },
    performResize$0() {
    },
    performLayout$0() {
      var t2,
        t1 = this._configuration.size;
      this._size = t1;
      t2 = this.RenderObjectWithChildMixin__child;
      if (t2 != null)
        t2.layout$1(A.BoxConstraints$tight(t1));
    },
    hitTest$2$position(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.hitTest$2$position(A.BoxHitTestResult$wrap(result), position);
      result.add$1(0, new A.HitTestEntry(this, type$.HitTestEntry_HitTestTarget));
      return true;
    },
    hitTestMouseTrackers$1(position) {
      var result,
        t1 = A._setArrayType([], type$.JSArray_HitTestEntry_HitTestTarget),
        t2 = new A.Matrix4(new Float64Array(16));
      t2.setIdentity$0();
      result = new A.BoxHitTestResult(t1, A._setArrayType([t2], type$.JSArray_Matrix4_2), A._setArrayType([], type$.JSArray__TransformPart));
      this.hitTest$2$position(result, position);
      return result;
    },
    get$isRepaintBoundary() {
      return true;
    },
    paint$2(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    },
    applyPaintTransform$2(child, transform) {
      var t1 = this._rootTransform;
      t1.toString;
      transform.multiply$1(0, t1);
      this.super$RenderObject$applyPaintTransform(child, transform);
    },
    compositeFrame$0() {
      var builder, scene, t1, bounds, t2, t3, t4, t5, t6, upperOverlayStyle, lowerOverlayStyle, t7, t8, t9, _null = null;
      A.Timeline_startSync("COMPOSITING", _null, _null);
      try {
        builder = A.SceneBuilder_SceneBuilder();
        t1 = this._layerHandle;
        scene = t1._layer.buildScene$1(builder);
        bounds = this.get$paintBounds();
        t2 = bounds.get$center();
        t3 = this._window;
        t3.get$viewConfiguration();
        t4 = bounds.get$center();
        t3.get$viewConfiguration();
        t5 = t1._layer;
        t6 = type$.SystemUiOverlayStyle;
        upperOverlayStyle = t5.find$1$1(0, new A.Offset(t2._dx, 0), t6);
        switch (A.defaultTargetPlatform().index) {
          case 0:
            lowerOverlayStyle = t1._layer.find$1$1(0, new A.Offset(t4._dx, bounds.bottom - 1 - 0), t6);
            break;
          case 1:
          case 2:
          case 3:
          case 4:
          case 5:
            lowerOverlayStyle = _null;
            break;
          default:
            lowerOverlayStyle = _null;
        }
        t1 = upperOverlayStyle == null;
        if (!t1 || lowerOverlayStyle != null) {
          t2 = t1 ? _null : upperOverlayStyle.statusBarBrightness;
          t4 = t1 ? _null : upperOverlayStyle.statusBarIconBrightness;
          t5 = t1 ? _null : upperOverlayStyle.statusBarColor;
          t1 = t1 ? _null : upperOverlayStyle.systemStatusBarContrastEnforced;
          t6 = lowerOverlayStyle == null;
          t7 = t6 ? _null : lowerOverlayStyle.systemNavigationBarColor;
          t8 = t6 ? _null : lowerOverlayStyle.systemNavigationBarDividerColor;
          t9 = t6 ? _null : lowerOverlayStyle.systemNavigationBarIconBrightness;
          A.SystemChrome_setSystemUIOverlayStyle(new A.SystemUiOverlayStyle(t7, t8, t9, t6 ? _null : lowerOverlayStyle.systemNavigationBarContrastEnforced, t5, t2, t4, t1));
        }
        t3.platformDispatcher.render$2(scene, t3);
        scene.dispose$0();
      } finally {
        A.Timeline_finishSync();
      }
    },
    get$paintBounds() {
      var t1 = this._size.$mul(0, this._configuration.devicePixelRatio);
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
    },
    get$semanticBounds() {
      var t2,
        t1 = this._rootTransform;
      t1.toString;
      t2 = this._size;
      return A.MatrixUtils_transformRect(t1, new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
    }
  };
  A._RenderView_RenderObject_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.CacheExtentStyle.prototype = {
    toString$0(_) {
      return "CacheExtentStyle." + this._core$_name;
    }
  };
  A.RevealedOffset.prototype = {
    toString$0(_) {
      return "RevealedOffset(offset: " + A.S(this.offset) + ", rect: " + this.rect.toString$0(0) + ")";
    }
  };
  A.RenderViewportBase.prototype = {
    describeSemanticsConfiguration$1(config) {
      this.super$RenderObject$describeSemanticsConfiguration(config);
      config.addTagForChildren$1(B.SemanticsTag_FIw);
    },
    visitChildrenForSemantics$1(visitor) {
      var t1 = this.get$childrenInPaintOrder();
      new A.WhereIterable(t1, new A.RenderViewportBase_visitChildrenForSemantics_closure(), A.instanceType(t1)._eval$1("WhereIterable<1>")).forEach$1(0, visitor);
    },
    set$axisDirection(value) {
      if (value === this._axisDirection)
        return;
      this._axisDirection = value;
      this.markNeedsLayout$0();
    },
    set$crossAxisDirection(value) {
      if (value === this._crossAxisDirection)
        return;
      this._crossAxisDirection = value;
      this.markNeedsLayout$0();
    },
    set$offset(_, value) {
      var _this = this,
        t1 = _this._viewport$_offset;
      if (value === t1)
        return;
      if (_this._owner != null)
        t1.removeListener$1(0, _this.get$markNeedsLayout());
      _this._viewport$_offset = value;
      if (_this._owner != null)
        value.addListener$1(0, _this.get$markNeedsLayout());
      _this.markNeedsLayout$0();
    },
    set$cacheExtent(value) {
      if (value == null)
        value = 250;
      if (value === this._cacheExtent)
        return;
      this._cacheExtent = value;
      this.markNeedsLayout$0();
    },
    set$cacheExtentStyle(value) {
      if (value === this._cacheExtentStyle)
        return;
      this._cacheExtentStyle = value;
      this.markNeedsLayout$0();
    },
    set$clipBehavior(value) {
      var _this = this;
      if (value !== _this._viewport$_clipBehavior) {
        _this._viewport$_clipBehavior = value;
        _this.markNeedsPaint$0();
        _this.markNeedsSemanticsUpdate$0();
      }
    },
    attach$1(owner) {
      this.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$attach(owner);
      this._viewport$_offset.addListener$1(0, this.get$markNeedsLayout());
    },
    detach$0(_) {
      this._viewport$_offset.removeListener$1(0, this.get$markNeedsLayout());
      this.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$detach(0);
    },
    computeMinIntrinsicWidth$1(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      return 0;
    },
    get$isRepaintBoundary() {
      return true;
    },
    layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset(advance, cacheOrigin, child, crossAxisExtent, growthDirection, layoutOffset, mainAxisExtent, overlap, remainingCacheExtent, remainingPaintExtent, scrollOffset) {
      var layoutOffset0, precedingScrollExtent, sliverScrollOffset, correctedCacheOrigin, cacheExtentCorrection, childLayoutGeometry, t1, effectiveLayoutOffset, _this = this,
        adjustedUserScrollDirection = A.applyGrowthDirectionToScrollDirection(_this._viewport$_offset._userScrollDirection, growthDirection),
        maxPaintOffset = layoutOffset + overlap;
      for (layoutOffset0 = layoutOffset, precedingScrollExtent = 0; child != null;) {
        sliverScrollOffset = scrollOffset <= 0 ? 0 : scrollOffset;
        correctedCacheOrigin = Math.max(cacheOrigin, -sliverScrollOffset);
        cacheExtentCorrection = cacheOrigin - correctedCacheOrigin;
        child.layout$2$parentUsesSize(new A.SliverConstraints(_this._axisDirection, growthDirection, adjustedUserScrollDirection, sliverScrollOffset, precedingScrollExtent, maxPaintOffset - layoutOffset0, Math.max(0, remainingPaintExtent - layoutOffset0 + layoutOffset), crossAxisExtent, _this._crossAxisDirection, mainAxisExtent, correctedCacheOrigin, Math.max(0, remainingCacheExtent + cacheExtentCorrection)), true);
        childLayoutGeometry = child._geometry;
        t1 = childLayoutGeometry.scrollOffsetCorrection;
        if (t1 != null)
          return t1;
        effectiveLayoutOffset = layoutOffset0 + childLayoutGeometry.paintOrigin;
        if (childLayoutGeometry.visible || scrollOffset > 0)
          _this.updateChildLayoutOffset$3(child, effectiveLayoutOffset, growthDirection);
        else
          _this.updateChildLayoutOffset$3(child, -scrollOffset + layoutOffset, growthDirection);
        maxPaintOffset = Math.max(effectiveLayoutOffset + childLayoutGeometry.paintExtent, maxPaintOffset);
        t1 = childLayoutGeometry.scrollExtent;
        scrollOffset -= t1;
        precedingScrollExtent += t1;
        layoutOffset0 += childLayoutGeometry.layoutExtent;
        t1 = childLayoutGeometry.cacheExtent;
        if (t1 !== 0) {
          remainingCacheExtent -= t1 - cacheExtentCorrection;
          cacheOrigin = Math.min(correctedCacheOrigin + t1, 0);
        }
        _this.updateOutOfBandData$2(growthDirection, childLayoutGeometry);
        child = advance.call$1(child);
      }
      return 0;
    },
    describeApproximatePaintClip$1(child) {
      var t1, right, bottom, overlapCorrection, $top, left;
      switch (this._viewport$_clipBehavior.index) {
        case 0:
          return null;
        case 1:
        case 2:
        case 3:
          break;
      }
      t1 = this._box$_size;
      right = 0 + t1._dx;
      bottom = 0 + t1._dy;
      t1 = type$.SliverConstraints;
      if (t1._as(A.RenderObject.prototype.get$constraints.call(child)).overlap === 0 || !isFinite(t1._as(A.RenderObject.prototype.get$constraints.call(child)).viewportMainAxisExtent))
        return new A.Rect(0, 0, right, bottom);
      overlapCorrection = t1._as(A.RenderObject.prototype.get$constraints.call(child)).viewportMainAxisExtent - t1._as(A.RenderObject.prototype.get$constraints.call(child)).remainingPaintExtent + t1._as(A.RenderObject.prototype.get$constraints.call(child)).overlap;
      switch (A.applyGrowthDirectionToAxisDirection(this._axisDirection, t1._as(A.RenderObject.prototype.get$constraints.call(child)).growthDirection)) {
        case B.AxisDirection_2:
          $top = 0 + overlapCorrection;
          left = 0;
          break;
        case B.AxisDirection_0:
          bottom -= overlapCorrection;
          left = 0;
          $top = 0;
          break;
        case B.AxisDirection_1:
          left = 0 + overlapCorrection;
          $top = 0;
          break;
        case B.AxisDirection_3:
          right -= overlapCorrection;
          left = 0;
          $top = 0;
          break;
        default:
          left = 0;
          $top = 0;
      }
      return new A.Rect(left, $top, right, bottom);
    },
    describeSemanticsClip$1(child) {
      var t2, _this = this,
        t1 = _this._calculatedCacheExtent;
      if (t1 == null) {
        t1 = _this._box$_size;
        return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      }
      switch (A.axisDirectionToAxis(_this._axisDirection).index) {
        case 1:
          t2 = _this._box$_size;
          return new A.Rect(0, 0 - t1, 0 + t2._dx, 0 + t2._dy + t1);
        case 0:
          t2 = _this._box$_size;
          return new A.Rect(0 - t1, 0, 0 + t2._dx + t1, 0 + t2._dy);
      }
    },
    paint$2(context, offset) {
      var t1, t2, t3, _this = this;
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        return;
      t1 = _this.get$hasVisualOverflow() && _this._viewport$_clipBehavior !== B.Clip_0;
      t2 = _this._viewport$_clipRectLayer;
      if (t1) {
        t1 = _this.__RenderObject__needsCompositing;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this._box$_size;
        t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), _this.get$_paintContents(), _this._viewport$_clipBehavior, t2._layer));
      } else {
        t2.set$layer(0, null);
        _this._paintContents$2(context, offset);
      }
    },
    dispose$0() {
      this._viewport$_clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    },
    _paintContents$2(context, offset) {
      var t1, t2, t3, t4, _i, child, t5;
      for (t1 = this.get$childrenInPaintOrder(), t2 = t1.length, t3 = offset._dx, t4 = offset._dy, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (child._geometry.visible) {
          t5 = this.paintOffsetOf$1(child);
          context.paintChild$2(child, new A.Offset(t3 + t5._dx, t4 + t5._dy));
        }
      }
    },
    hitTestChildren$2$position(result, position) {
      var sliverResult, t1, t2, _i, child, transform, _this = this, _box_0 = {};
      _box_0.crossAxisPosition = _box_0.mainAxisPosition = null;
      switch (A.axisDirectionToAxis(_this._axisDirection).index) {
        case 1:
          _box_0.mainAxisPosition = position._dy;
          _box_0.crossAxisPosition = position._dx;
          break;
        case 0:
          _box_0.mainAxisPosition = position._dx;
          _box_0.crossAxisPosition = position._dy;
          break;
      }
      sliverResult = new A.SliverHitTestResult(result._path, result._transforms, result._localTransforms);
      for (t1 = _this.get$childrenInHitTestOrder(), t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        if (!child._geometry.visible)
          continue;
        transform = new A.Matrix4(new Float64Array(16));
        transform.setIdentity$0();
        _this.applyPaintTransform$2(child, transform);
        if (result.addWithOutOfBandPosition$2$hitTest$paintTransform(new A.RenderViewportBase_hitTestChildren_closure(_box_0, _this, child, sliverResult), transform))
          return true;
      }
      return false;
    },
    getOffsetToReveal$3$rect(target, alignment, rect) {
      var t1, pivot, child, leadingScrollOffset, t2, t3, growthDirection, pivotExtent, rectLocal, targetMainAxisExtent, targetRect, extentOfPinnedSlivers, mainAxisExtent, targetOffset, offsetDifference, _this = this, _null = null,
        onlySlivers = target instanceof A.RenderSliver;
      for (t1 = type$.RenderObject, pivot = _null, child = target, leadingScrollOffset = 0; child.get$parent(child) !== _this; child = t2) {
        t2 = child.get$parent(child);
        t2.toString;
        t1._as(t2);
        if (child instanceof A.RenderBox)
          pivot = child;
        if (t2 instanceof A.RenderSliver) {
          t3 = t2.childScrollOffset$1(child);
          t3.toString;
          leadingScrollOffset += t3;
        } else {
          leadingScrollOffset = 0;
          onlySlivers = false;
        }
      }
      if (pivot != null) {
        t1 = pivot.get$parent(pivot);
        t1.toString;
        type$.RenderSliver._as(t1);
        growthDirection = type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(t1)).growthDirection;
        switch (A.axisDirectionToAxis(_this._axisDirection).index) {
          case 0:
            pivotExtent = pivot._box$_size._dx;
            break;
          case 1:
            pivotExtent = pivot._box$_size._dy;
            break;
          default:
            pivotExtent = _null;
        }
        if (rect == null)
          rect = target.get$paintBounds();
        rectLocal = A.MatrixUtils_transformRect(target.getTransformTo$1(0, pivot), rect);
      } else {
        if (onlySlivers) {
          type$.RenderSliver._as(target);
          t1 = type$.SliverConstraints;
          growthDirection = t1._as(A.RenderObject.prototype.get$constraints.call(target)).growthDirection;
          pivotExtent = target._geometry.scrollExtent;
          if (rect == null)
            switch (A.axisDirectionToAxis(_this._axisDirection).index) {
              case 0:
                rect = new A.Rect(0, 0, 0 + pivotExtent, 0 + t1._as(A.RenderObject.prototype.get$constraints.call(target)).crossAxisExtent);
                break;
              case 1:
                rect = new A.Rect(0, 0, 0 + t1._as(A.RenderObject.prototype.get$constraints.call(target)).crossAxisExtent, 0 + target._geometry.scrollExtent);
                break;
            }
        } else {
          t1 = _this._viewport$_offset._pixels;
          t1.toString;
          rect.toString;
          return new A.RevealedOffset(t1, rect);
        }
        rectLocal = rect;
      }
      type$.RenderSliver._as(child);
      switch (A.applyGrowthDirectionToAxisDirection(_this._axisDirection, growthDirection)) {
        case B.AxisDirection_0:
          t1 = rectLocal.bottom;
          leadingScrollOffset += pivotExtent - t1;
          targetMainAxisExtent = t1 - rectLocal.top;
          break;
        case B.AxisDirection_1:
          t1 = rectLocal.left;
          leadingScrollOffset += t1;
          targetMainAxisExtent = rectLocal.right - t1;
          break;
        case B.AxisDirection_2:
          t1 = rectLocal.top;
          leadingScrollOffset += t1;
          targetMainAxisExtent = rectLocal.bottom - t1;
          break;
        case B.AxisDirection_3:
          t1 = rectLocal.right;
          leadingScrollOffset += pivotExtent - t1;
          targetMainAxisExtent = t1 - rectLocal.left;
          break;
        default:
          targetMainAxisExtent = _null;
      }
      child._geometry.toString;
      leadingScrollOffset = _this.scrollOffsetOf$2(child, leadingScrollOffset);
      targetRect = A.MatrixUtils_transformRect(target.getTransformTo$1(0, _this), rect);
      extentOfPinnedSlivers = _this.maxScrollObstructionExtentBefore$1(child);
      switch (type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(child)).growthDirection.index) {
        case 0:
          leadingScrollOffset -= extentOfPinnedSlivers;
          break;
        case 1:
          switch (A.axisDirectionToAxis(_this._axisDirection).index) {
            case 1:
              leadingScrollOffset -= targetRect.bottom - targetRect.top;
              break;
            case 0:
              leadingScrollOffset -= targetRect.right - targetRect.left;
              break;
          }
          break;
      }
      t1 = _this._axisDirection;
      switch (A.axisDirectionToAxis(t1).index) {
        case 0:
          mainAxisExtent = _this._box$_size._dx - extentOfPinnedSlivers;
          break;
        case 1:
          mainAxisExtent = _this._box$_size._dy - extentOfPinnedSlivers;
          break;
        default:
          mainAxisExtent = _null;
      }
      targetOffset = leadingScrollOffset - (mainAxisExtent - targetMainAxisExtent) * alignment;
      t2 = _this._viewport$_offset._pixels;
      t2.toString;
      offsetDifference = t2 - targetOffset;
      switch (t1.index) {
        case 2:
          targetRect = targetRect.translate$2(0, 0, offsetDifference);
          break;
        case 1:
          targetRect = targetRect.translate$2(0, offsetDifference, 0);
          break;
        case 0:
          targetRect = targetRect.translate$2(0, 0, -offsetDifference);
          break;
        case 3:
          targetRect = targetRect.translate$2(0, -offsetDifference, 0);
          break;
      }
      return new A.RevealedOffset(targetOffset, targetRect);
    },
    computeAbsolutePaintOffset$3(child, layoutOffset, growthDirection) {
      switch (A.applyGrowthDirectionToAxisDirection(this._axisDirection, growthDirection)) {
        case B.AxisDirection_0:
          return new A.Offset(0, this._box$_size._dy - (layoutOffset + child._geometry.paintExtent));
        case B.AxisDirection_1:
          return new A.Offset(layoutOffset, 0);
        case B.AxisDirection_2:
          return new A.Offset(0, layoutOffset);
        case B.AxisDirection_3:
          return new A.Offset(this._box$_size._dx - (layoutOffset + child._geometry.paintExtent), 0);
      }
    },
    debugDescribeChildren$0() {
      var count, t1, t2, _this = this,
        children = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return children;
      count = _this.get$indexOfFirstChild();
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"); true;) {
        child.toString;
        children.push(new A.DiagnosticableTreeNode(child, _this.labelForChild$1(count), true, true, null, null));
        if (child === _this.ContainerRenderObjectMixin__lastChild)
          break;
        ++count;
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return children;
    },
    showOnScreen$4$curve$descendant$duration$rect(curve, descendant, duration, rect) {
      var _this = this;
      if (!_this._viewport$_offset.physics.get$allowImplicitScrolling())
        return _this.super$RenderObject$showOnScreen(curve, descendant, duration, rect);
      _this.super$RenderObject$showOnScreen(curve, null, duration, A.RenderViewportBase_showInViewport(curve, descendant, duration, _this._viewport$_offset, rect, _this));
    },
    showOnScreen$0() {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, null, B.Duration_0, null);
    },
    showOnScreen$1$rect(rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, null, B.Duration_0, rect);
    },
    showOnScreen$3$curve$duration$rect(curve, duration, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(curve, null, duration, rect);
    },
    showOnScreen$2$descendant$rect(descendant, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, descendant, B.Duration_0, rect);
    },
    $isRenderAbstractViewport: 1
  };
  A.RenderViewportBase_visitChildrenForSemantics_closure.prototype = {
    call$1(sliver) {
      var t1 = sliver._geometry;
      return t1.visible || t1.cacheExtent > 0;
    },
    $signature: 846
  };
  A.RenderViewportBase_hitTestChildren_closure.prototype = {
    call$1(result) {
      var _this = this,
        t1 = _this.child,
        t2 = _this._box_0,
        t3 = _this.$this.computeChildMainAxisPosition$2(t1, t2.mainAxisPosition);
      return t1.hitTest$3$crossAxisPosition$mainAxisPosition(_this.sliverResult, t2.crossAxisPosition, t3);
    },
    $signature: 271
  };
  A.RenderViewport.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.SliverPhysicalContainerParentData))
        child.parentData = new A.SliverPhysicalContainerParentData(null, null, B.Offset_0_0);
    },
    set$anchor(value) {
      if (value === this._anchor)
        return;
      this._anchor = value;
      this.markNeedsLayout$0();
    },
    set$center(value) {
      if (value == this._viewport$_center)
        return;
      this._viewport$_center = value;
      this.markNeedsLayout$0();
    },
    get$sizedByParent() {
      return true;
    },
    computeDryLayout$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0() {
      var t1, mainAxisExtent, crossAxisExtent, t2, correction, t3, t4, t5, count, _this = this;
      switch (A.axisDirectionToAxis(_this._axisDirection).index) {
        case 1:
          _this._viewport$_offset.applyViewportDimension$1(_this._box$_size._dy);
          break;
        case 0:
          _this._viewport$_offset.applyViewportDimension$1(_this._box$_size._dx);
          break;
      }
      if (_this._viewport$_center == null) {
        _this.__RenderViewport__maxScrollExtent = _this.__RenderViewport__minScrollExtent = 0;
        _this._viewport$_hasVisualOverflow = false;
        _this._viewport$_offset.applyContentDimensions$2(0, 0);
        return;
      }
      switch (A.axisDirectionToAxis(_this._axisDirection).index) {
        case 1:
          t1 = _this._box$_size;
          mainAxisExtent = t1._dy;
          crossAxisExtent = t1._dx;
          break;
        case 0:
          t1 = _this._box$_size;
          mainAxisExtent = t1._dx;
          crossAxisExtent = t1._dy;
          break;
        default:
          mainAxisExtent = null;
          crossAxisExtent = null;
      }
      t1 = 0;
      do {
        t2 = _this._viewport$_offset._pixels;
        t2.toString;
        correction = _this._attemptLayout$3(mainAxisExtent, crossAxisExtent, t2 + 0);
        if (correction !== 0)
          _this._viewport$_offset.correctBy$1(correction);
        else {
          t2 = _this._viewport$_offset;
          t3 = _this.__RenderViewport__minScrollExtent;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t4 = _this._anchor;
          t3 = Math.min(0, t3 + mainAxisExtent * t4);
          t5 = _this.__RenderViewport__maxScrollExtent;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          if (t2.applyContentDimensions$2(t3, Math.max(0, t5 - mainAxisExtent * (1 - t4))))
            break;
        }
        count = t1 + 1;
        if (count < 10) {
          t1 = count;
          continue;
        } else
          break;
      } while (true);
    },
    _attemptLayout$3(mainAxisExtent, crossAxisExtent, correctedOffset) {
      var centerOffset, reverseDirectionRemainingPaintExtent, t1, forwardDirectionRemainingPaintExtent, t2, fullCacheExtent, centerCacheOffset, reverseDirectionRemainingCacheExtent, forwardDirectionRemainingCacheExtent, t3, leadingNegativeChild, t4, result, t5, _this = this;
      _this.__RenderViewport__maxScrollExtent = _this.__RenderViewport__minScrollExtent = 0;
      _this._viewport$_hasVisualOverflow = false;
      centerOffset = mainAxisExtent * _this._anchor - correctedOffset;
      reverseDirectionRemainingPaintExtent = A.clampDouble(centerOffset, 0, mainAxisExtent);
      t1 = mainAxisExtent - centerOffset;
      forwardDirectionRemainingPaintExtent = A.clampDouble(t1, 0, mainAxisExtent);
      switch (_this._cacheExtentStyle.index) {
        case 0:
          _this._calculatedCacheExtent = _this._cacheExtent;
          break;
        case 1:
          _this._calculatedCacheExtent = mainAxisExtent * _this._cacheExtent;
          break;
      }
      t2 = _this._calculatedCacheExtent;
      t2.toString;
      fullCacheExtent = mainAxisExtent + 2 * t2;
      centerCacheOffset = centerOffset + t2;
      reverseDirectionRemainingCacheExtent = A.clampDouble(centerCacheOffset, 0, fullCacheExtent);
      forwardDirectionRemainingCacheExtent = A.clampDouble(fullCacheExtent - centerCacheOffset, 0, fullCacheExtent);
      t3 = _this._viewport$_center.parentData;
      t3.toString;
      leadingNegativeChild = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1")._as(t3).ContainerParentDataMixin_previousSibling;
      t3 = leadingNegativeChild == null;
      if (!t3) {
        t4 = Math.max(mainAxisExtent, centerOffset);
        result = _this.layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset(_this.get$childBefore(), A.clampDouble(t1, -t2, 0), leadingNegativeChild, crossAxisExtent, B.GrowthDirection_1, forwardDirectionRemainingPaintExtent, mainAxisExtent, 0, reverseDirectionRemainingCacheExtent, reverseDirectionRemainingPaintExtent, t4 - mainAxisExtent);
        if (result !== 0)
          return -result;
      }
      t1 = _this._viewport$_center;
      t2 = -centerOffset;
      t4 = Math.max(0, t2);
      t2 = t3 ? Math.min(0, t2) : 0;
      t3 = centerOffset >= mainAxisExtent ? centerOffset : reverseDirectionRemainingPaintExtent;
      t5 = _this._calculatedCacheExtent;
      t5.toString;
      return _this.layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset(_this.get$childAfter(), A.clampDouble(centerOffset, -t5, 0), t1, crossAxisExtent, B.GrowthDirection_0, t3, mainAxisExtent, t2, forwardDirectionRemainingCacheExtent, forwardDirectionRemainingPaintExtent, t4);
    },
    get$hasVisualOverflow() {
      return this._viewport$_hasVisualOverflow;
    },
    updateOutOfBandData$2(growthDirection, childLayoutGeometry) {
      var t1, _this = this;
      switch (growthDirection.index) {
        case 0:
          t1 = _this.__RenderViewport__maxScrollExtent;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.__RenderViewport__maxScrollExtent = t1 + childLayoutGeometry.scrollExtent;
          break;
        case 1:
          t1 = _this.__RenderViewport__minScrollExtent;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.__RenderViewport__minScrollExtent = t1 - childLayoutGeometry.scrollExtent;
          break;
      }
      if (childLayoutGeometry.hasVisualOverflow)
        _this._viewport$_hasVisualOverflow = true;
    },
    updateChildLayoutOffset$3(child, layoutOffset, growthDirection) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverPhysicalParentData._as(t1).paintOffset = this.computeAbsolutePaintOffset$3(child, layoutOffset, growthDirection);
    },
    paintOffsetOf$1(child) {
      var t1 = child.parentData;
      t1.toString;
      return type$.SliverPhysicalParentData._as(t1).paintOffset;
    },
    scrollOffsetOf$2(child, scrollOffsetWithinChild) {
      var current, t1, scrollOffsetToChild, t2, _this = this;
      switch (type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(child)).growthDirection.index) {
        case 0:
          current = _this._viewport$_center;
          for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), scrollOffsetToChild = 0; current !== child;) {
            scrollOffsetToChild += current._geometry.scrollExtent;
            t2 = current.parentData;
            t2.toString;
            current = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return scrollOffsetToChild + scrollOffsetWithinChild;
        case 1:
          t1 = _this._viewport$_center.parentData;
          t1.toString;
          t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
          current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          for (scrollOffsetToChild = 0; current !== child;) {
            scrollOffsetToChild -= current._geometry.scrollExtent;
            t1 = current.parentData;
            t1.toString;
            current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          }
          return scrollOffsetToChild - scrollOffsetWithinChild;
      }
    },
    maxScrollObstructionExtentBefore$1(child) {
      var current, t1, t2, _this = this;
      switch (type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(child)).growthDirection.index) {
        case 0:
          current = _this._viewport$_center;
          for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"); current !== child;) {
            current._geometry.toString;
            t2 = current.parentData;
            t2.toString;
            current = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return 0;
        case 1:
          t1 = _this._viewport$_center.parentData;
          t1.toString;
          t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1");
          current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          for (; current !== child;) {
            current._geometry.toString;
            t1 = current.parentData;
            t1.toString;
            current = t2._as(t1).ContainerParentDataMixin_previousSibling;
          }
          return 0;
      }
    },
    applyPaintTransform$2(child, transform) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverPhysicalParentData._as(t1).paintOffset;
      transform.translate$2(0, t1._dx, t1._dy);
    },
    computeChildMainAxisPosition$2(child, parentMainAxisPosition) {
      var t2,
        t1 = child.parentData;
      t1.toString;
      type$.SliverPhysicalParentData._as(t1);
      t2 = type$.SliverConstraints;
      switch (A.applyGrowthDirectionToAxisDirection(t2._as(A.RenderObject.prototype.get$constraints.call(child)).axisDirection, t2._as(A.RenderObject.prototype.get$constraints.call(child)).growthDirection)) {
        case B.AxisDirection_2:
          return parentMainAxisPosition - t1.paintOffset._dy;
        case B.AxisDirection_1:
          return parentMainAxisPosition - t1.paintOffset._dx;
        case B.AxisDirection_0:
          return child._geometry.paintExtent - (parentMainAxisPosition - t1.paintOffset._dy);
        case B.AxisDirection_3:
          return child._geometry.paintExtent - (parentMainAxisPosition - t1.paintOffset._dx);
      }
    },
    get$indexOfFirstChild() {
      var t1, t2, count, t3,
        child = this._viewport$_center;
      for (t1 = this.ContainerRenderObjectMixin__firstChild, t2 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"), count = 0; child != t1;) {
        --count;
        t3 = child.parentData;
        t3.toString;
        child = t2._as(t3).ContainerParentDataMixin_previousSibling;
      }
      return count;
    },
    labelForChild$1(index) {
      if (index === 0)
        return "center child";
      return "child " + index;
    },
    get$childrenInPaintOrder() {
      var t1, t2, _this = this,
        children = A._setArrayType([], type$.JSArray_RenderSliver),
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return children;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"); child != _this._viewport$_center;) {
        child.toString;
        children.push(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      child = _this.ContainerRenderObjectMixin__lastChild;
      for (; true;) {
        child.toString;
        children.push(child);
        if (child === _this._viewport$_center)
          return children;
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_previousSibling;
      }
    },
    get$childrenInHitTestOrder() {
      var child, t1, t2, _this = this,
        children = A._setArrayType([], type$.JSArray_RenderSliver);
      if (_this.ContainerRenderObjectMixin__firstChild == null)
        return children;
      child = _this._viewport$_center;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"); child != null;) {
        children.push(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      t2 = _this._viewport$_center.parentData;
      t2.toString;
      child = t1._as(t2).ContainerParentDataMixin_previousSibling;
      for (; child != null;) {
        children.push(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_previousSibling;
      }
      return children;
    }
  };
  A.RenderShrinkWrappingViewport.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.SliverLogicalContainerParentData))
        child.parentData = new A.SliverLogicalContainerParentData(null, null);
    },
    performLayout$0() {
      var mainAxisExtent, crossAxisExtent, t1, t2, t3, t4, t5, effectiveExtent, t6, t7, t8, t9, t10, correction, didAcceptViewportDimension, didAcceptContentDimension, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      if (_this.ContainerRenderObjectMixin__firstChild == null) {
        switch (A.axisDirectionToAxis(_this._axisDirection).index) {
          case 1:
            _this._box$_size = new A.Size(constraints.maxWidth, constraints.minHeight);
            break;
          case 0:
            _this._box$_size = new A.Size(constraints.minWidth, constraints.maxHeight);
            break;
        }
        _this._viewport$_offset.applyViewportDimension$1(0);
        _this.__RenderShrinkWrappingViewport__shrinkWrapExtent = _this.__RenderShrinkWrappingViewport__maxScrollExtent = 0;
        _this._viewport$_hasVisualOverflow = false;
        _this._viewport$_offset.applyContentDimensions$2(0, 0);
        return;
      }
      switch (A.axisDirectionToAxis(_this._axisDirection).index) {
        case 1:
          mainAxisExtent = constraints.maxHeight;
          crossAxisExtent = constraints.maxWidth;
          break;
        case 0:
          mainAxisExtent = constraints.maxWidth;
          crossAxisExtent = constraints.maxHeight;
          break;
        default:
          mainAxisExtent = null;
          crossAxisExtent = null;
      }
      t1 = _this.get$childAfter();
      t2 = constraints.minWidth;
      t3 = constraints.maxWidth;
      t4 = constraints.minHeight;
      t5 = constraints.maxHeight;
      effectiveExtent = null;
      do {
        t6 = _this._viewport$_offset._pixels;
        t6.toString;
        _this.__RenderShrinkWrappingViewport__shrinkWrapExtent = _this.__RenderShrinkWrappingViewport__maxScrollExtent = 0;
        _this._viewport$_hasVisualOverflow = t6 < 0;
        switch (_this._cacheExtentStyle.index) {
          case 0:
            _this._calculatedCacheExtent = _this._cacheExtent;
            break;
          case 1:
            _this._calculatedCacheExtent = mainAxisExtent * _this._cacheExtent;
            break;
        }
        t7 = _this.ContainerRenderObjectMixin__firstChild;
        t8 = Math.max(0, t6);
        t9 = Math.min(0, t6);
        t6 = Math.max(0, -t6);
        t10 = _this._calculatedCacheExtent;
        t10.toString;
        correction = _this.layoutChildSequence$11$advance$cacheOrigin$child$crossAxisExtent$growthDirection$layoutOffset$mainAxisExtent$overlap$remainingCacheExtent$remainingPaintExtent$scrollOffset(t1, -t10, t7, crossAxisExtent, B.GrowthDirection_0, t6, mainAxisExtent, t9, mainAxisExtent + 2 * t10, mainAxisExtent + t9, t8);
        if (correction !== 0)
          _this._viewport$_offset.correctBy$1(correction);
        else {
          switch (A.axisDirectionToAxis(_this._axisDirection).index) {
            case 1:
              t6 = _this.__RenderShrinkWrappingViewport__shrinkWrapExtent;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              effectiveExtent = A.clampDouble(t6, t4, t5);
              break;
            case 0:
              t6 = _this.__RenderShrinkWrappingViewport__shrinkWrapExtent;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              effectiveExtent = A.clampDouble(t6, t2, t3);
              break;
          }
          didAcceptViewportDimension = _this._viewport$_offset.applyViewportDimension$1(effectiveExtent);
          t6 = _this._viewport$_offset;
          t7 = _this.__RenderShrinkWrappingViewport__maxScrollExtent;
          if (t7 === $)
            A.throwUnnamedLateFieldNI();
          didAcceptContentDimension = t6.applyContentDimensions$2(0, Math.max(0, t7 - effectiveExtent));
          if (didAcceptViewportDimension && didAcceptContentDimension)
            break;
        }
      } while (true);
      switch (A.axisDirectionToAxis(_this._axisDirection).index) {
        case 1:
          _this._box$_size = new A.Size(A.clampDouble(crossAxisExtent, t2, t3), A.clampDouble(effectiveExtent, t4, t5));
          break;
        case 0:
          _this._box$_size = new A.Size(A.clampDouble(effectiveExtent, t2, t3), A.clampDouble(crossAxisExtent, t4, t5));
          break;
      }
    },
    get$hasVisualOverflow() {
      return this._viewport$_hasVisualOverflow;
    },
    updateOutOfBandData$2(growthDirection, childLayoutGeometry) {
      var _this = this,
        t1 = _this.__RenderShrinkWrappingViewport__maxScrollExtent;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__RenderShrinkWrappingViewport__maxScrollExtent = t1 + childLayoutGeometry.scrollExtent;
      if (childLayoutGeometry.hasVisualOverflow)
        _this._viewport$_hasVisualOverflow = true;
      t1 = _this.__RenderShrinkWrappingViewport__shrinkWrapExtent;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__RenderShrinkWrappingViewport__shrinkWrapExtent = t1 + childLayoutGeometry.maxPaintExtent;
    },
    updateChildLayoutOffset$3(child, layoutOffset, growthDirection) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverLogicalParentData._as(t1).layoutOffset = layoutOffset;
    },
    paintOffsetOf$1(child) {
      var t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverLogicalParentData._as(t1).layoutOffset;
      t1.toString;
      return this.computeAbsolutePaintOffset$3(child, t1, B.GrowthDirection_0);
    },
    scrollOffsetOf$2(child, scrollOffsetWithinChild) {
      var t1, scrollOffsetToChild, t2,
        current = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"), scrollOffsetToChild = 0; current !== child;) {
        scrollOffsetToChild += current._geometry.scrollExtent;
        t2 = current.parentData;
        t2.toString;
        current = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return scrollOffsetToChild + scrollOffsetWithinChild;
    },
    maxScrollObstructionExtentBefore$1(child) {
      var t1, t2,
        current = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); current !== child;) {
        current._geometry.toString;
        t2 = current.parentData;
        t2.toString;
        current = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return 0;
    },
    applyPaintTransform$2(child, transform) {
      var offset = this.paintOffsetOf$1(type$.RenderSliver._as(child));
      transform.translate$2(0, offset._dx, offset._dy);
    },
    computeChildMainAxisPosition$2(child, parentMainAxisPosition) {
      var t2,
        t1 = child.parentData;
      t1.toString;
      type$.SliverLogicalParentData._as(t1);
      t2 = type$.SliverConstraints;
      switch (A.applyGrowthDirectionToAxisDirection(t2._as(A.RenderObject.prototype.get$constraints.call(child)).axisDirection, t2._as(A.RenderObject.prototype.get$constraints.call(child)).growthDirection)) {
        case B.AxisDirection_2:
        case B.AxisDirection_1:
          t1 = t1.layoutOffset;
          t1.toString;
          return parentMainAxisPosition - t1;
        case B.AxisDirection_0:
          t2 = this._box$_size._dy;
          t1 = t1.layoutOffset;
          t1.toString;
          return t2 - parentMainAxisPosition - t1;
        case B.AxisDirection_3:
          t2 = this._box$_size._dx;
          t1 = t1.layoutOffset;
          t1.toString;
          return t2 - parentMainAxisPosition - t1;
      }
    },
    get$indexOfFirstChild() {
      return 0;
    },
    labelForChild$1(index) {
      return "child " + index;
    },
    get$childrenInPaintOrder() {
      var t1, t2,
        children = A._setArrayType([], type$.JSArray_RenderSliver),
        child = this.ContainerRenderObjectMixin__lastChild;
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); child != null;) {
        children.push(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_previousSibling;
      }
      return children;
    },
    get$childrenInHitTestOrder() {
      var t1, t2,
        children = A._setArrayType([], type$.JSArray_RenderSliver),
        child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("ContainerRenderObjectMixin.1"); child != null;) {
        children.push(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return children;
    }
  };
  A._RenderViewportBase_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("_RenderViewportBase_RenderBox_ContainerRenderObjectMixin.0"); child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(this)._eval$1("_RenderViewportBase_RenderBox_ContainerRenderObjectMixin.0"); child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A.ScrollDirection.prototype = {
    toString$0(_) {
      return "ScrollDirection." + this._core$_name;
    }
  };
  A.ViewportOffset.prototype = {
    moveTo$3$curve$duration(_, to, curve, duration) {
      var t1 = duration._duration === B.Duration_0._duration;
      if (t1) {
        this.jumpTo$1(to);
        return A.Future_Future$value(null, type$.void);
      } else
        return this.animateTo$3$curve$duration(to, curve, duration);
    },
    toString$0(_) {
      var description = A._setArrayType([], type$.JSArray_String);
      this.debugFillDescription$1(description);
      return "<optimized out>#" + A.shortHash(this) + "(" + B.JSArray_methods.join$1(description, ", ") + ")";
    },
    debugFillDescription$1(description) {
      var t1 = this._pixels;
      if (t1 != null)
        description.push("offset: " + B.JSNumber_methods.toStringAsFixed$1(t1, 1));
    }
  };
  A.WrapAlignment.prototype = {
    toString$0(_) {
      return "WrapAlignment." + this._core$_name;
    }
  };
  A.WrapCrossAlignment.prototype = {
    toString$0(_) {
      return "WrapCrossAlignment." + this._core$_name;
    }
  };
  A._RunMetrics.prototype = {};
  A.WrapParentData.prototype = {};
  A.RenderWrap.prototype = {
    set$direction(_, value) {
      if (this._wrap$_direction === value)
        return;
      this._wrap$_direction = value;
      this.markNeedsLayout$0();
    },
    set$alignment(value) {
      if (this._wrap$_alignment === value)
        return;
      this._wrap$_alignment = value;
      this.markNeedsLayout$0();
    },
    set$spacing(_, value) {
      if (this._wrap$_spacing === value)
        return;
      this._wrap$_spacing = value;
      this.markNeedsLayout$0();
    },
    set$runAlignment(value) {
      if (this._runAlignment === value)
        return;
      this._runAlignment = value;
      this.markNeedsLayout$0();
    },
    set$runSpacing(value) {
      if (this._runSpacing === value)
        return;
      this._runSpacing = value;
      this.markNeedsLayout$0();
    },
    set$crossAxisAlignment(value) {
      if (this._wrap$_crossAxisAlignment === value)
        return;
      this._wrap$_crossAxisAlignment = value;
      this.markNeedsLayout$0();
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.WrapParentData))
        child.parentData = new A.WrapParentData(null, null, B.Offset_0_0);
    },
    computeMinIntrinsicWidth$1(height) {
      var child, t1, width, t2, _this = this;
      switch (_this._wrap$_direction.index) {
        case 0:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
            width = Math.max(width, child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth()));
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return width;
        case 1:
          return _this._computeDryLayout$1(new A.BoxConstraints(0, 1 / 0, 0, height))._dx;
      }
    },
    computeMaxIntrinsicWidth$1(height) {
      var child, t1, width, t2, _this = this;
      switch (_this._wrap$_direction.index) {
        case 0:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
            width += child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return width;
        case 1:
          return _this._computeDryLayout$1(new A.BoxConstraints(0, 1 / 0, 0, height))._dx;
      }
    },
    computeMinIntrinsicHeight$1(width) {
      var child, t1, height, t2, _this = this;
      switch (_this._wrap$_direction.index) {
        case 0:
          return _this._computeDryLayout$1(new A.BoxConstraints(0, width, 0, 1 / 0))._dy;
        case 1:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), height = 0; child != null;) {
            height = Math.max(height, child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, 1 / 0, child.get$computeMinIntrinsicHeight()));
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return height;
      }
    },
    computeMaxIntrinsicHeight$1(width) {
      var child, t1, height, t2, _this = this;
      switch (_this._wrap$_direction.index) {
        case 0:
          return _this._computeDryLayout$1(new A.BoxConstraints(0, width, 0, 1 / 0))._dy;
        case 1:
          child = _this.ContainerRenderObjectMixin__firstChild;
          for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), height = 0; child != null;) {
            height += child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, 1 / 0, child.get$computeMaxIntrinsicHeight());
            t2 = child.parentData;
            t2.toString;
            child = t1._as(t2).ContainerParentDataMixin_nextSibling;
          }
          return height;
      }
    },
    computeDistanceToActualBaseline$1(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
    },
    _getMainAxisExtent$1(childSize) {
      switch (this._wrap$_direction.index) {
        case 0:
          return childSize._dx;
        case 1:
          return childSize._dy;
      }
    },
    _getCrossAxisExtent$1(childSize) {
      switch (this._wrap$_direction.index) {
        case 0:
          return childSize._dy;
        case 1:
          return childSize._dx;
      }
    },
    _getOffset$2(mainAxisOffset, crossAxisOffset) {
      switch (this._wrap$_direction.index) {
        case 0:
          return new A.Offset(mainAxisOffset, crossAxisOffset);
        case 1:
          return new A.Offset(crossAxisOffset, mainAxisOffset);
      }
    },
    _getChildCrossAxisOffset$3(flipCrossAxis, runCrossAxisExtent, childCrossAxisExtent) {
      var freeSpace = runCrossAxisExtent - childCrossAxisExtent;
      switch (this._wrap$_crossAxisAlignment.index) {
        case 0:
          return flipCrossAxis ? freeSpace : 0;
        case 1:
          return flipCrossAxis ? 0 : freeSpace;
        case 2:
          return freeSpace / 2;
      }
    },
    computeDryLayout$1(constraints) {
      return this._computeDryLayout$1(constraints);
    },
    _computeDryLayout$1(constraints) {
      var mainAxisLimit, childConstraints, child, t1, mainAxisExtent, crossAxisExtent, runMainAxisExtent, runCrossAxisExtent, childCount, childSize, childMainAxisExtent, childCrossAxisExtent, t2, _this = this;
      switch (_this._wrap$_direction.index) {
        case 0:
          mainAxisLimit = constraints.maxWidth;
          childConstraints = new A.BoxConstraints(0, mainAxisLimit, 0, 1 / 0);
          break;
        case 1:
          mainAxisLimit = constraints.maxHeight;
          childConstraints = new A.BoxConstraints(0, 1 / 0, 0, mainAxisLimit);
          break;
        default:
          childConstraints = null;
          mainAxisLimit = 0;
      }
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), mainAxisExtent = 0, crossAxisExtent = 0, runMainAxisExtent = 0, runCrossAxisExtent = 0, childCount = 0; child != null;) {
        childSize = A.ChildLayoutHelper_dryLayoutChild(child, childConstraints);
        childMainAxisExtent = _this._getMainAxisExtent$1(childSize);
        childCrossAxisExtent = _this._getCrossAxisExtent$1(childSize);
        if (childCount > 0 && runMainAxisExtent + childMainAxisExtent + _this._wrap$_spacing > mainAxisLimit) {
          mainAxisExtent = Math.max(mainAxisExtent, runMainAxisExtent);
          crossAxisExtent += runCrossAxisExtent + _this._runSpacing;
          runMainAxisExtent = 0;
          runCrossAxisExtent = 0;
          childCount = 0;
        }
        runMainAxisExtent += childMainAxisExtent;
        runCrossAxisExtent = Math.max(runCrossAxisExtent, childCrossAxisExtent);
        if (childCount > 0)
          runMainAxisExtent += _this._wrap$_spacing;
        ++childCount;
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      crossAxisExtent += runCrossAxisExtent;
      mainAxisExtent = Math.max(mainAxisExtent, runMainAxisExtent);
      switch (_this._wrap$_direction.index) {
        case 0:
          return constraints.constrain$1(new A.Size(mainAxisExtent, crossAxisExtent));
        case 1:
          return constraints.constrain$1(new A.Size(crossAxisExtent, mainAxisExtent));
      }
    },
    performLayout$0() {
      var child, mainAxisLimit, childConstraints, flipMainAxis, flipCrossAxis, spacing, runSpacing, runMetrics, t1, mainAxisExtent, crossAxisExtent, runMainAxisExtent, runCrossAxisExtent, childCount, t2, childMainAxisExtent, childCrossAxisExtent, runCount, containerMainAxisExtent, containerCrossAxisExtent, crossAxisFreeSpace, runLeadingSpace, runBetweenSpace, crossAxisOffset, i, metrics, mainAxisFreeSpace, childLeadingSpace, childBetweenSpace, childMainPosition, t3, childCrossAxisOffset, _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      _this._wrap$_hasVisualOverflow = false;
      child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null) {
        _this._box$_size = new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
        return;
      }
      switch (_this._wrap$_direction.index) {
        case 0:
          mainAxisLimit = constraints.maxWidth;
          childConstraints = new A.BoxConstraints(0, mainAxisLimit, 0, 1 / 0);
          flipMainAxis = _this._wrap$_textDirection === B.TextDirection_0 && true;
          flipCrossAxis = _this._wrap$_verticalDirection === B.VerticalDirection_0 && true;
          break;
        case 1:
          mainAxisLimit = constraints.maxHeight;
          childConstraints = new A.BoxConstraints(0, 1 / 0, 0, mainAxisLimit);
          flipMainAxis = _this._wrap$_verticalDirection === B.VerticalDirection_0 && true;
          flipCrossAxis = _this._wrap$_textDirection === B.TextDirection_0 && true;
          break;
        default:
          childConstraints = null;
          mainAxisLimit = 0;
          flipMainAxis = false;
          flipCrossAxis = false;
      }
      spacing = _this._wrap$_spacing;
      runSpacing = _this._runSpacing;
      runMetrics = A._setArrayType([], type$.JSArray__RunMetrics);
      for (t1 = type$.WrapParentData, mainAxisExtent = 0, crossAxisExtent = 0, runMainAxisExtent = 0, runCrossAxisExtent = 0, childCount = 0; child != null;) {
        child.layout$2$parentUsesSize(childConstraints, true);
        t2 = child._box$_size;
        t2.toString;
        childMainAxisExtent = _this._getMainAxisExtent$1(t2);
        t2 = child._box$_size;
        t2.toString;
        childCrossAxisExtent = _this._getCrossAxisExtent$1(t2);
        if (childCount > 0 && runMainAxisExtent + spacing + childMainAxisExtent > mainAxisLimit) {
          mainAxisExtent = Math.max(mainAxisExtent, runMainAxisExtent);
          crossAxisExtent += runCrossAxisExtent;
          if (runMetrics.length !== 0)
            crossAxisExtent += runSpacing;
          runMetrics.push(new A._RunMetrics(runMainAxisExtent, runCrossAxisExtent, childCount));
          runMainAxisExtent = 0;
          runCrossAxisExtent = 0;
          childCount = 0;
        }
        runMainAxisExtent += childMainAxisExtent;
        if (childCount > 0)
          runMainAxisExtent += spacing;
        runCrossAxisExtent = Math.max(runCrossAxisExtent, childCrossAxisExtent);
        ++childCount;
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        t2._runIndex = runMetrics.length;
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      if (childCount > 0) {
        mainAxisExtent = Math.max(mainAxisExtent, runMainAxisExtent);
        crossAxisExtent += runCrossAxisExtent;
        if (runMetrics.length !== 0)
          crossAxisExtent += runSpacing;
        runMetrics.push(new A._RunMetrics(runMainAxisExtent, runCrossAxisExtent, childCount));
      }
      runCount = runMetrics.length;
      switch (_this._wrap$_direction.index) {
        case 0:
          t2 = _this._box$_size = constraints.constrain$1(new A.Size(mainAxisExtent, crossAxisExtent));
          containerMainAxisExtent = t2._dx;
          containerCrossAxisExtent = t2._dy;
          break;
        case 1:
          t2 = _this._box$_size = constraints.constrain$1(new A.Size(crossAxisExtent, mainAxisExtent));
          containerMainAxisExtent = t2._dy;
          containerCrossAxisExtent = t2._dx;
          break;
        default:
          containerMainAxisExtent = 0;
          containerCrossAxisExtent = 0;
      }
      _this._wrap$_hasVisualOverflow = containerMainAxisExtent < mainAxisExtent || containerCrossAxisExtent < crossAxisExtent;
      crossAxisFreeSpace = Math.max(0, containerCrossAxisExtent - crossAxisExtent);
      switch (_this._runAlignment.index) {
        case 0:
          runLeadingSpace = 0;
          runBetweenSpace = 0;
          break;
        case 1:
          runLeadingSpace = crossAxisFreeSpace;
          runBetweenSpace = 0;
          break;
        case 2:
          runLeadingSpace = crossAxisFreeSpace / 2;
          runBetweenSpace = 0;
          break;
        case 3:
          runBetweenSpace = runCount > 1 ? crossAxisFreeSpace / (runCount - 1) : 0;
          runLeadingSpace = 0;
          break;
        case 4:
          runBetweenSpace = crossAxisFreeSpace / runCount;
          runLeadingSpace = runBetweenSpace / 2;
          break;
        case 5:
          runBetweenSpace = crossAxisFreeSpace / (runCount + 1);
          runLeadingSpace = runBetweenSpace;
          break;
        default:
          runLeadingSpace = 0;
          runBetweenSpace = 0;
      }
      runBetweenSpace += runSpacing;
      crossAxisOffset = flipCrossAxis ? containerCrossAxisExtent - runLeadingSpace : runLeadingSpace;
      child = _this.ContainerRenderObjectMixin__firstChild;
      for (i = 0; i < runCount; ++i) {
        metrics = runMetrics[i];
        runCrossAxisExtent = metrics.crossAxisExtent;
        childCount = metrics.childCount;
        mainAxisFreeSpace = Math.max(0, containerMainAxisExtent - metrics.mainAxisExtent);
        switch (_this._wrap$_alignment.index) {
          case 0:
            childLeadingSpace = 0;
            childBetweenSpace = 0;
            break;
          case 1:
            childLeadingSpace = mainAxisFreeSpace;
            childBetweenSpace = 0;
            break;
          case 2:
            childLeadingSpace = mainAxisFreeSpace / 2;
            childBetweenSpace = 0;
            break;
          case 3:
            childBetweenSpace = childCount > 1 ? mainAxisFreeSpace / (childCount - 1) : 0;
            childLeadingSpace = 0;
            break;
          case 4:
            childBetweenSpace = mainAxisFreeSpace / childCount;
            childLeadingSpace = childBetweenSpace / 2;
            break;
          case 5:
            childBetweenSpace = mainAxisFreeSpace / (childCount + 1);
            childLeadingSpace = childBetweenSpace;
            break;
          default:
            childLeadingSpace = 0;
            childBetweenSpace = 0;
        }
        childBetweenSpace += spacing;
        childMainPosition = flipMainAxis ? containerMainAxisExtent - childLeadingSpace : childLeadingSpace;
        if (flipCrossAxis)
          crossAxisOffset -= runCrossAxisExtent;
        for (; child != null;) {
          t2 = child.parentData;
          t2.toString;
          t1._as(t2);
          if (t2._runIndex !== i)
            break;
          t3 = child._box$_size;
          t3.toString;
          childMainAxisExtent = _this._getMainAxisExtent$1(t3);
          t3 = child._box$_size;
          t3.toString;
          childCrossAxisOffset = _this._getChildCrossAxisOffset$3(flipCrossAxis, runCrossAxisExtent, _this._getCrossAxisExtent$1(t3));
          if (flipMainAxis)
            childMainPosition -= childMainAxisExtent;
          t2.offset = _this._getOffset$2(childMainPosition, crossAxisOffset + childCrossAxisOffset);
          childMainPosition = flipMainAxis ? childMainPosition - childBetweenSpace : childMainPosition + (childMainAxisExtent + childBetweenSpace);
          child = t2.ContainerParentDataMixin_nextSibling;
        }
        crossAxisOffset = flipCrossAxis ? crossAxisOffset - runBetweenSpace : crossAxisOffset + (runCrossAxisExtent + runBetweenSpace);
      }
    },
    hitTestChildren$2$position(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paint$2(context, offset) {
      var t3, _this = this,
        t1 = _this._wrap$_hasVisualOverflow && _this._wrap$_clipBehavior !== B.Clip_0,
        t2 = _this._wrap$_clipRectLayer;
      if (t1) {
        t1 = _this.__RenderObject__needsCompositing;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this._box$_size;
        t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), _this.get$defaultPaint(), _this._wrap$_clipBehavior, t2._layer));
      } else {
        t2.set$layer(0, null);
        _this.defaultPaint$2(context, offset);
      }
    },
    dispose$0() {
      this._wrap$_clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    }
  };
  A._RenderWrap_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.WrapParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.WrapParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A._TaskEntry.prototype = {
    run$0() {
      A.Timeline_timeSync("Scheduled Task", new A._TaskEntry_run_closure(this), null);
    }
  };
  A._TaskEntry_run_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.completer.complete$1(0, t1.task.call$0());
    },
    $signature: 7
  };
  A._FrameCallbackEntry.prototype = {};
  A.SchedulerPhase.prototype = {
    toString$0(_) {
      return "SchedulerPhase." + this._core$_name;
    }
  };
  A.SchedulerBinding.prototype = {
    addTimingsCallback$1(callback) {
      var t1 = this.SchedulerBinding__timingsCallbacks;
      t1.push(callback);
      if (t1.length === 1) {
        t1 = $.$get$EnginePlatformDispatcher__instance();
        t1._onReportTimings = this.get$_executeTimingsCallbacks();
        t1._onReportTimingsZone = $.Zone__current;
      }
    },
    removeTimingsCallback$1(callback) {
      var t1 = this.SchedulerBinding__timingsCallbacks;
      B.JSArray_methods.remove$1(t1, callback);
      if (t1.length === 0) {
        t1 = $.$get$EnginePlatformDispatcher__instance();
        t1._onReportTimings = null;
        t1._onReportTimingsZone = $.Zone__current;
      }
    },
    _executeTimingsCallbacks$1(timings) {
      var callback, exception, stack, t2, _i, exception0, t3, t4,
        t1 = this.SchedulerBinding__timingsCallbacks,
        clonedCallbacks = A.List_List$of(t1, true, type$.void_Function_List_FrameTiming);
      for (t2 = clonedCallbacks.length, _i = 0; _i < t2; ++_i) {
        callback = clonedCallbacks[_i];
        try {
          if (B.JSArray_methods.contains$1(t1, callback))
            callback.call$1(timings);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          t3 = A.ErrorDescription$("while executing callbacks for FrameTiming");
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new A.FlutterErrorDetails(exception, stack, "Flutter framework", t3, null, false));
        }
      }
    },
    handleAppLifecycleStateChanged$1(state) {
      this.SchedulerBinding__lifecycleState = state;
      switch (state.index) {
        case 0:
        case 1:
          this._setFramesEnabledState$1(true);
          break;
        case 2:
        case 3:
          this._setFramesEnabledState$1(false);
          break;
      }
    },
    scheduleTask$1$2(task, priority, $T) {
      var t1 = this.SchedulerBinding__taskQueue,
        t2 = t1._priority_queue$_length,
        t3 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      ++t1._priority_queue$_modificationCount;
      t1._priority_queue$_add$1(0, new A._TaskEntry(task, priority._priority$_value, null, null, new A._AsyncCompleter(t3, $T._eval$1("_AsyncCompleter<0>")), $T._eval$1("_TaskEntry<0>")));
      if (t2 === 0 && this._lockCount <= 0)
        this._ensureEventLoopCallback$0();
      return t3;
    },
    _ensureEventLoopCallback$0() {
      if (this.SchedulerBinding__hasRequestedAnEventLoopCallback)
        return;
      this.SchedulerBinding__hasRequestedAnEventLoopCallback = true;
      A.Timer_Timer(B.Duration_0, this.get$_runTasks());
    },
    _runTasks$0() {
      this.SchedulerBinding__hasRequestedAnEventLoopCallback = false;
      if (this.handleEventLoopCallback$0())
        this._ensureEventLoopCallback$0();
    },
    handleEventLoopCallback$0() {
      var entry, exception, exceptionStack, t2, newLength, last, exception0, _this = this,
        t1 = _this.SchedulerBinding__taskQueue;
      if (t1._priority_queue$_length === 0 || _this._lockCount > 0)
        return false;
      entry = t1.get$first(t1);
      t2 = entry.priority;
      if (_this.SchedulerBinding_schedulingStrategy.call$2$priority$scheduler(t2, _this)) {
        try {
          if (t1._priority_queue$_length === 0)
            A.throwExpression(A.StateError$("No element"));
          ++t1._priority_queue$_modificationCount;
          t1._elementAt$1(0);
          newLength = t1._priority_queue$_length - 1;
          last = t1._elementAt$1(newLength);
          B.JSArray_methods.$indexSet(t1._priority_queue$_queue, newLength, null);
          t1._priority_queue$_length = newLength;
          if (newLength > 0)
            t1._bubbleDown$2(last, 0);
          entry.run$0();
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          exceptionStack = A.getTraceFromException(exception0);
          t2 = A.ErrorDescription$("during a task callback");
          A.FlutterError_reportError(new A.FlutterErrorDetails(exception, exceptionStack, "scheduler library", t2, null, false));
        }
        return t1._priority_queue$_length !== 0;
      }
      return false;
    },
    scheduleFrameCallback$2$rescheduling(callback, rescheduling) {
      var t1, _this = this;
      _this.scheduleFrame$0();
      t1 = ++_this.SchedulerBinding__nextFrameCallbackId;
      _this.SchedulerBinding__transientCallbacks.$indexSet(0, t1, new A._FrameCallbackEntry(callback));
      return _this.SchedulerBinding__nextFrameCallbackId;
    },
    scheduleFrameCallback$1(callback) {
      return this.scheduleFrameCallback$2$rescheduling(callback, false);
    },
    get$endOfFrame() {
      var _this = this;
      if (_this.SchedulerBinding__nextFrameCompleter == null) {
        if (_this.SchedulerBinding__schedulerPhase === B.SchedulerPhase_0)
          _this.scheduleFrame$0();
        _this.SchedulerBinding__nextFrameCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
        _this.SchedulerBinding__postFrameCallbacks.push(new A.SchedulerBinding_endOfFrame_closure(_this));
      }
      return _this.SchedulerBinding__nextFrameCompleter.future;
    },
    get$framesEnabled() {
      return this.SchedulerBinding__framesEnabled;
    },
    _setFramesEnabledState$1(enabled) {
      if (this.SchedulerBinding__framesEnabled === enabled)
        return;
      this.SchedulerBinding__framesEnabled = enabled;
      if (enabled)
        this.scheduleFrame$0();
    },
    ensureFrameCallbacksRegistered$0() {
      var t1 = $.$get$EnginePlatformDispatcher__instance();
      if (t1._onBeginFrame == null) {
        t1._onBeginFrame = this.get$_handleBeginFrame();
        t1._onBeginFrameZone = $.Zone__current;
      }
      if (t1._onDrawFrame == null) {
        t1._onDrawFrame = this.get$_handleDrawFrame();
        t1._onDrawFrameZone = $.Zone__current;
      }
    },
    ensureVisualUpdate$0() {
      switch (this.SchedulerBinding__schedulerPhase.index) {
        case 0:
        case 4:
          this.scheduleFrame$0();
          return;
        case 1:
        case 2:
        case 3:
          return;
      }
    },
    scheduleFrame$0() {
      var t1, _this = this;
      if (!_this.SchedulerBinding__hasScheduledFrame)
        t1 = !(A.SchedulerBinding.prototype.get$framesEnabled.call(_this) && _this.WidgetsBinding__readyToProduceFrames);
      else
        t1 = true;
      if (t1)
        return;
      _this.ensureFrameCallbacksRegistered$0();
      $.$get$EnginePlatformDispatcher__instance().scheduleFrame$0();
      _this.SchedulerBinding__hasScheduledFrame = true;
    },
    scheduleForcedFrame$0() {
      if (this.SchedulerBinding__hasScheduledFrame)
        return;
      this.ensureFrameCallbacksRegistered$0();
      $.$get$EnginePlatformDispatcher__instance().scheduleFrame$0();
      this.SchedulerBinding__hasScheduledFrame = true;
    },
    scheduleWarmUpFrame$0() {
      var timelineTask, hadScheduledFrame, _this = this;
      if (_this.SchedulerBinding__warmUpFrame || _this.SchedulerBinding__schedulerPhase !== B.SchedulerPhase_0)
        return;
      _this.SchedulerBinding__warmUpFrame = true;
      timelineTask = new A.TimelineTask(null, 0, A._setArrayType([], type$.JSArray_nullable__AsyncBlock));
      timelineTask.start$1(0, "Warm-up frame");
      hadScheduledFrame = _this.SchedulerBinding__hasScheduledFrame;
      A.Timer_Timer(B.Duration_0, new A.SchedulerBinding_scheduleWarmUpFrame_closure(_this));
      A.Timer_Timer(B.Duration_0, new A.SchedulerBinding_scheduleWarmUpFrame_closure0(_this, hadScheduledFrame));
      _this.lockEvents$1(new A.SchedulerBinding_scheduleWarmUpFrame_closure1(_this, timelineTask));
    },
    resetEpoch$0() {
      var _this = this;
      _this.SchedulerBinding__epochStart = _this._adjustForEpoch$1(_this.SchedulerBinding__lastRawTimeStamp);
      _this.SchedulerBinding__firstRawTimeStampInEpoch = null;
    },
    _adjustForEpoch$1(rawTimeStamp) {
      var t1 = this.SchedulerBinding__firstRawTimeStampInEpoch,
        rawDurationSinceEpoch = t1 == null ? B.Duration_0 : new A.Duration(rawTimeStamp._duration - t1._duration);
      return A.Duration$(B.JSNumber_methods.round$0(rawDurationSinceEpoch._duration / $._timeDilation) + this.SchedulerBinding__epochStart._duration, 0);
    },
    _handleBeginFrame$1(rawTimeStamp) {
      if (this.SchedulerBinding__warmUpFrame) {
        this.SchedulerBinding__rescheduleAfterWarmUpFrame = true;
        return;
      }
      this.handleBeginFrame$1(rawTimeStamp);
    },
    _handleDrawFrame$0() {
      var _this = this;
      if (_this.SchedulerBinding__rescheduleAfterWarmUpFrame) {
        _this.SchedulerBinding__rescheduleAfterWarmUpFrame = false;
        _this.SchedulerBinding__postFrameCallbacks.push(new A.SchedulerBinding__handleDrawFrame_closure(_this));
        return;
      }
      _this.handleDrawFrame$0();
    },
    handleBeginFrame$1(rawTimeStamp) {
      var callbacks, t3, _this = this,
        t1 = _this.SchedulerBinding__frameTimelineTask,
        t2 = t1 == null;
      if (!t2)
        t1.start$1(0, "Frame");
      if (_this.SchedulerBinding__firstRawTimeStampInEpoch == null)
        _this.SchedulerBinding__firstRawTimeStampInEpoch = rawTimeStamp;
      t3 = rawTimeStamp == null;
      _this.SchedulerBinding__currentFrameTimeStamp = _this._adjustForEpoch$1(t3 ? _this.SchedulerBinding__lastRawTimeStamp : rawTimeStamp);
      if (!t3)
        _this.SchedulerBinding__lastRawTimeStamp = rawTimeStamp;
      _this.SchedulerBinding__hasScheduledFrame = false;
      try {
        if (!t2)
          t1.start$1(0, "Animate");
        _this.SchedulerBinding__schedulerPhase = B.SchedulerPhase_1;
        callbacks = _this.SchedulerBinding__transientCallbacks;
        _this.SchedulerBinding__transientCallbacks = A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$._FrameCallbackEntry);
        J.forEach$1$ax(callbacks, new A.SchedulerBinding_handleBeginFrame_closure(_this));
        _this.SchedulerBinding__removedIds.clear$0(0);
      } finally {
        _this.SchedulerBinding__schedulerPhase = B.SchedulerPhase_2;
      }
    },
    handleDrawFrame$0() {
      var callback, localPostFrameCallbacks, callback0, t3, t4, _i, t5, _this = this,
        t1 = _this.SchedulerBinding__frameTimelineTask,
        t2 = t1 == null;
      if (!t2)
        t1.finish$0(0);
      try {
        _this.SchedulerBinding__schedulerPhase = B.SchedulerPhase_3;
        for (t3 = _this.SchedulerBinding__persistentCallbacks, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
          callback = t3[_i];
          t5 = _this.SchedulerBinding__currentFrameTimeStamp;
          t5.toString;
          _this._invokeFrameCallback$2(callback, t5);
        }
        _this.SchedulerBinding__schedulerPhase = B.SchedulerPhase_4;
        t3 = _this.SchedulerBinding__postFrameCallbacks;
        localPostFrameCallbacks = A.List_List$of(t3, true, type$.void_Function_Duration);
        B.JSArray_methods.clear$0(t3);
        for (t3 = localPostFrameCallbacks, t4 = t3.length, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
          callback0 = t3[_i];
          t5 = _this.SchedulerBinding__currentFrameTimeStamp;
          t5.toString;
          _this._invokeFrameCallback$2(callback0, t5);
        }
      } finally {
        _this.SchedulerBinding__schedulerPhase = B.SchedulerPhase_0;
        if (!t2)
          t1.finish$0(0);
        _this.SchedulerBinding__currentFrameTimeStamp = null;
      }
    },
    _profileFramePostEvent$1(frameTiming) {
      var t1 = frameTiming._ui$_data,
        t2 = B.JSArray_methods.get$last(t1),
        t3 = t1[1],
        t4 = t1[4],
        t5 = A.Duration$(t4, 0),
        t6 = t1[0];
      A.postEvent("Flutter.Frame", A.LinkedHashMap_LinkedHashMap$_literal(["number", t2, "startTime", t3, "elapsed", t5._duration - A.Duration$(t6, 0)._duration, "build", A.Duration$(t1[2], 0)._duration - A.Duration$(t3, 0)._duration, "raster", A.Duration$(t4, 0)._duration - A.Duration$(t1[3], 0)._duration, "vsyncOverhead", A.Duration$(t3, 0)._duration - A.Duration$(t6, 0)._duration], type$.String, type$.dynamic));
    },
    _invokeFrameCallback$3(callback, timeStamp, callbackStack) {
      var exception, exceptionStack, exception0, t1;
      try {
        callback.call$1(timeStamp);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        exceptionStack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("during a scheduler callback");
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, exceptionStack, "scheduler library", t1, null, false));
      }
    },
    _invokeFrameCallback$2(callback, timeStamp) {
      return this._invokeFrameCallback$3(callback, timeStamp, null);
    }
  };
  A.SchedulerBinding_endOfFrame_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this;
      t1.SchedulerBinding__nextFrameCompleter.complete$0(0);
      t1.SchedulerBinding__nextFrameCompleter = null;
    },
    $signature: 3
  };
  A.SchedulerBinding_scheduleWarmUpFrame_closure.prototype = {
    call$0() {
      this.$this.handleBeginFrame$1(null);
    },
    $signature: 0
  };
  A.SchedulerBinding_scheduleWarmUpFrame_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.handleDrawFrame$0();
      t1.resetEpoch$0();
      t1.SchedulerBinding__warmUpFrame = false;
      if (this.hadScheduledFrame)
        t1.scheduleFrame$0();
    },
    $signature: 0
  };
  A.SchedulerBinding_scheduleWarmUpFrame_closure1.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $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 = 2;
              return A._asyncAwait($async$self.$this.get$endOfFrame(), $async$call$0);
            case 2:
              // returning from await.
              $async$self.timelineTask.finish$0(0);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A.SchedulerBinding__handleDrawFrame_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this;
      t1.SchedulerBinding__hasScheduledFrame = false;
      t1.scheduleFrame$0();
    },
    $signature: 3
  };
  A.SchedulerBinding_handleBeginFrame_closure.prototype = {
    call$2(id, callbackEntry) {
      var t2, t3,
        t1 = this.$this;
      if (!t1.SchedulerBinding__removedIds.contains$1(0, id)) {
        t2 = callbackEntry.callback;
        t3 = t1.SchedulerBinding__currentFrameTimeStamp;
        t3.toString;
        t1._invokeFrameCallback$3(t2, t3, callbackEntry.debugStack);
      }
    },
    $signature: 849
  };
  A.Priority.prototype = {
    $add(_, offset) {
      if (Math.abs(offset) > 10000)
        offset = 10000 * B.JSInt_methods.get$sign(offset);
      return new A.Priority(this._priority$_value + offset);
    },
    $sub(_, offset) {
      return this.$add(0, -offset);
    }
  };
  A.Ticker.prototype = {
    set$muted(_, value) {
      var t1, _this = this;
      if (value === _this._muted)
        return;
      _this._muted = value;
      if (value)
        _this.unscheduleTick$0();
      else {
        t1 = _this._ticker$_future != null && _this._animationId == null;
        if (t1)
          _this._animationId = $.SchedulerBinding__instance.scheduleFrameCallback$2$rescheduling(_this.get$_ticker$_tick(), false);
      }
    },
    get$isTicking() {
      if (this._ticker$_future == null)
        return false;
      if (this._muted)
        return false;
      var t1 = $.SchedulerBinding__instance;
      t1.toString;
      if (A.SchedulerBinding.prototype.get$framesEnabled.call(t1) && t1.WidgetsBinding__readyToProduceFrames)
        return true;
      if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase !== B.SchedulerPhase_0)
        return true;
      return false;
    },
    start$0(_) {
      var t1, t2, _this = this;
      _this._ticker$_future = new A.TickerFuture(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void));
      if (!_this._muted)
        t1 = _this._animationId == null;
      else
        t1 = false;
      if (t1)
        _this._animationId = $.SchedulerBinding__instance.scheduleFrameCallback$2$rescheduling(_this.get$_ticker$_tick(), false);
      t1 = $.SchedulerBinding__instance;
      t2 = t1.SchedulerBinding__schedulerPhase.index;
      if (t2 > 0 && t2 < 4) {
        t1 = t1.SchedulerBinding__currentFrameTimeStamp;
        t1.toString;
        _this._startTime = t1;
      }
      t1 = _this._ticker$_future;
      t1.toString;
      return t1;
    },
    stop$1$canceled(_, canceled) {
      var _this = this,
        t1 = _this._ticker$_future;
      if (t1 == null)
        return;
      _this._startTime = _this._ticker$_future = null;
      _this.unscheduleTick$0();
      if (canceled)
        t1._ticker$_cancel$1(_this);
      else
        t1._ticker$_complete$0();
    },
    stop$0($receiver) {
      return this.stop$1$canceled($receiver, false);
    },
    _ticker$_tick$1(timeStamp) {
      var t1, _this = this;
      _this._animationId = null;
      t1 = _this._startTime;
      if (t1 == null)
        t1 = _this._startTime = timeStamp;
      _this._onTick.call$1(new A.Duration(timeStamp._duration - t1._duration));
      if (!_this._muted && _this._ticker$_future != null && _this._animationId == null)
        _this._animationId = $.SchedulerBinding__instance.scheduleFrameCallback$2$rescheduling(_this.get$_ticker$_tick(), true);
    },
    unscheduleTick$0() {
      var t2,
        t1 = this._animationId;
      if (t1 != null) {
        t2 = $.SchedulerBinding__instance;
        t2.SchedulerBinding__transientCallbacks.remove$1(0, t1);
        t2.SchedulerBinding__removedIds.add$1(0, t1);
        this._animationId = null;
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this._ticker$_future;
      if (t1 != null) {
        _this._ticker$_future = null;
        _this.unscheduleTick$0();
        t1._ticker$_cancel$1(_this);
      }
    },
    toString$1$debugIncludeStack(_, debugIncludeStack) {
      var t1 = "" + "Ticker()";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    toString$0($receiver) {
      return this.toString$1$debugIncludeStack($receiver, false);
    }
  };
  A.TickerFuture.prototype = {
    _ticker$_complete$0() {
      this._completed = true;
      this._primaryCompleter.complete$0(0);
      var t1 = this._secondaryCompleter;
      if (t1 != null)
        t1.complete$0(0);
    },
    _ticker$_cancel$1(ticker) {
      var t1;
      this._completed = false;
      t1 = this._secondaryCompleter;
      if (t1 != null)
        t1.completeError$1(new A.TickerCanceled(ticker));
    },
    whenCompleteOrCancel$1(callback) {
      var t2, t3, _this = this,
        t1 = new A.TickerFuture_whenCompleteOrCancel_thunk(callback);
      if (_this._secondaryCompleter == null) {
        t2 = _this._secondaryCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
        t3 = _this._completed;
        if (t3 != null)
          if (t3)
            t2.complete$0(0);
          else
            t2.completeError$1(B.TickerCanceled_null);
      }
      _this._secondaryCompleter.future.then$1$2$onError(t1, t1, type$.void);
    },
    catchError$2$test(onError, test) {
      return this._primaryCompleter.future.catchError$2$test(onError, test);
    },
    catchError$1(onError) {
      return this.catchError$2$test(onError, null);
    },
    then$1$2$onError(onValue, onError, $R) {
      return this._primaryCompleter.future.then$1$2$onError(onValue, onError, $R);
    },
    then$1$1(onValue, $R) {
      return this.then$1$2$onError(onValue, null, $R);
    },
    timeout$2$onTimeout(_, timeLimit, onTimeout) {
      return this._primaryCompleter.future.timeout$2$onTimeout(0, timeLimit, onTimeout);
    },
    timeout$1($receiver, timeLimit) {
      return this.timeout$2$onTimeout($receiver, timeLimit, null);
    },
    whenComplete$1(action) {
      return this._primaryCompleter.future.whenComplete$1(action);
    },
    toString$0(_) {
      var t1 = A.shortHash(this),
        t2 = this._completed;
      if (t2 == null)
        t2 = "active";
      else
        t2 = t2 ? "complete" : "canceled";
      return "<optimized out>#" + t1 + "(" + t2 + ")";
    },
    $isFuture: 1
  };
  A.TickerFuture_whenCompleteOrCancel_thunk.prototype = {
    call$1(value) {
      this.callback.call$0();
    },
    $signature: 16
  };
  A.TickerCanceled.prototype = {
    toString$0(_) {
      var t1 = this.ticker;
      if (t1 != null)
        return "This ticker was canceled: " + t1.toString$0(0);
      return 'The ticker was canceled before the "orCancel" property was first used.';
    },
    $isException: 1
  };
  A.SemanticsBinding.prototype = {};
  A.SemanticsTag.prototype = {
    toString$0(_) {
      return "SemanticsTag(" + this.name + ")";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.AttributedString.prototype = {
    $add(_, other) {
      var t3, newAttributes, t4, t5, _i, attribute, t6,
        t1 = this.string,
        t2 = t1.length;
      if (t2 === 0)
        return other;
      t3 = other.string;
      if (t3.length === 0)
        return this;
      newAttributes = A.List_List$of(this.attributes, true, type$.StringAttribute);
      t4 = other.attributes;
      t5 = t4.length;
      if (t5 !== 0)
        for (_i = 0; _i < t4.length; t4.length === t5 || (0, A.throwConcurrentModificationError)(t4), ++_i) {
          attribute = t4[_i];
          t6 = attribute.range;
          newAttributes.push(attribute.copy$1$range(new A.TextRange(t6.start + t2, t6.end + t2)));
        }
      return new A.AttributedString(t1 + t3, newAttributes);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return J.get$runtimeType$(other) === A.getRuntimeType(this) && other instanceof A.AttributedString && other.string === this.string && A.listEquals(other.attributes, this.attributes);
    },
    get$hashCode(_) {
      return A.Object_hash(this.string, this.attributes, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "AttributedString('" + this.string + "', attributes: " + A.S(this.attributes) + ")";
    }
  };
  A.SemanticsData.prototype = {
    toStringShort$0() {
      return "SemanticsData";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (other instanceof A.SemanticsData)
        if (other.flags === _this.flags)
          if (other.actions === _this.actions)
            if (other.attributedLabel.$eq(0, _this.attributedLabel))
              if (other.attributedValue.$eq(0, _this.attributedValue))
                if (other.attributedIncreasedValue.$eq(0, _this.attributedIncreasedValue))
                  if (other.attributedDecreasedValue.$eq(0, _this.attributedDecreasedValue))
                    if (other.attributedHint.$eq(0, _this.attributedHint))
                      if (other.tooltip === _this.tooltip)
                        if (other.textDirection == _this.textDirection)
                          if (other.rect.$eq(0, _this.rect))
                            if (A.setEquals(other.tags, _this.tags))
                              if (other.scrollChildCount == _this.scrollChildCount)
                                if (other.scrollIndex == _this.scrollIndex)
                                  if (J.$eq$(other.textSelection, _this.textSelection))
                                    if (other.scrollPosition == _this.scrollPosition)
                                      if (other.scrollExtentMax == _this.scrollExtentMax)
                                        if (other.scrollExtentMin == _this.scrollExtentMin)
                                          t1 = other.currentValueLength == _this.currentValueLength && J.$eq$(other.transform, _this.transform) && other.elevation === _this.elevation && other.thickness === _this.thickness && A.SemanticsData__sortedListsEqual(other.customSemanticsActionIds, _this.customSemanticsActionIds);
                                        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;
                    else
                      t1 = false;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this,
        t1 = A.Object_hashAll(_this.customSemanticsActionIds);
      return A.Object_hash(_this.flags, _this.actions, _this.attributedLabel, _this.attributedValue, _this.attributedIncreasedValue, _this.attributedDecreasedValue, _this.attributedHint, _this.tooltip, _this.textDirection, _this.rect, _this.tags, _this.textSelection, _this.scrollChildCount, _this.scrollIndex, _this.scrollPosition, _this.scrollExtentMax, _this.scrollExtentMin, _this.platformViewId, _this.maxValueLength, A.Object_hash(_this.currentValueLength, _this.transform, _this.elevation, _this.thickness, t1, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue));
    }
  };
  A._SemanticsDiagnosticableNode.prototype = {
    getChildren$0() {
      return this.value.debugDescribeChildren$1$childOrder(this.childOrder);
    }
  };
  A.SemanticsProperties.prototype = {
    toStringShort$0() {
      return "SemanticsProperties";
    }
  };
  A.SemanticsNode.prototype = {
    set$transform(_, value) {
      var t1;
      if (!A.MatrixUtils_matrixEquals(this._semantics$_transform, value)) {
        t1 = A.MatrixUtils_isIdentity(value);
        this._semantics$_transform = t1 ? null : value;
        this._markDirty$0();
      }
    },
    set$rect(_, value) {
      if (!this._rect.$eq(0, value)) {
        this._rect = value;
        this._markDirty$0();
      }
    },
    set$isMergedIntoParent(value) {
      if (this._isMergedIntoParent === value)
        return;
      this._isMergedIntoParent = value;
      this._markDirty$0();
    },
    _replaceChildren$1(newChildren) {
      var t2, _i, t3, sawChange, child, t4, i, _this = this,
        t1 = _this._semantics$_children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t2; ++_i)
          t1[_i]._dead = true;
      for (t1 = newChildren.length, _i = 0; _i < t1; ++_i)
        newChildren[_i]._dead = false;
      t1 = _this._semantics$_children;
      if (t1 != null)
        for (t2 = t1.length, t3 = type$.nullable_SemanticsNode, sawChange = false, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          if (child._dead) {
            t4 = J.getInterceptor$x(child);
            if (t3._as(A.AbstractNode.prototype.get$parent.call(t4, child)) === _this) {
              child._node$_parent = null;
              if (_this._owner != null)
                child.detach$0(0);
            }
            sawChange = true;
          }
        }
      else
        sawChange = false;
      for (t1 = newChildren.length, t2 = type$.nullable_SemanticsNode, _i = 0; _i < newChildren.length; newChildren.length === t1 || (0, A.throwConcurrentModificationError)(newChildren), ++_i) {
        child = newChildren[_i];
        t3 = J.getInterceptor$x(child);
        if (t2._as(A.AbstractNode.prototype.get$parent.call(t3, child)) !== _this) {
          if (t2._as(A.AbstractNode.prototype.get$parent.call(t3, child)) != null) {
            t3 = t2._as(A.AbstractNode.prototype.get$parent.call(t3, child));
            if (t3 != null) {
              child._node$_parent = null;
              if (t3._owner != null)
                child.detach$0(0);
            }
          }
          child._node$_parent = _this;
          t3 = _this._owner;
          if (t3 != null)
            child.attach$1(t3);
          t3 = child._depth;
          t4 = _this._depth;
          if (t3 <= t4) {
            child._depth = t4 + 1;
            child.redepthChildren$0();
          }
          sawChange = true;
        }
      }
      if (!sawChange && _this._semantics$_children != null)
        for (t1 = _this._semantics$_children, t2 = t1.length, i = 0; i < t2; ++i)
          if (t1[i]._id !== newChildren[i]._id) {
            sawChange = true;
            break;
          }
      _this._semantics$_children = newChildren;
      if (sawChange)
        _this._markDirty$0();
    },
    get$hasChildren() {
      var t1 = this._semantics$_children;
      t1 = t1 == null ? null : t1.length !== 0;
      return t1 === true;
    },
    _visitDescendants$1(visitor) {
      var t2, _i, child,
        t1 = this._semantics$_children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          if (!visitor.call$1(child) || !child._visitDescendants$1(visitor))
            return false;
        }
      return true;
    },
    redepthChildren$0() {
      var t1 = this._semantics$_children;
      if (t1 != null)
        B.JSArray_methods.forEach$1(t1, this.get$redepthChild());
    },
    attach$1(owner) {
      var t1, t2, _i, _this = this;
      _this.super$AbstractNode$attach(owner);
      for (t1 = owner._nodes; t1.containsKey$1(0, _this._id);)
        _this._id = $.SemanticsNode__lastIdentifier = ($.SemanticsNode__lastIdentifier + 1) % 65535;
      t1.$indexSet(0, _this._id, _this);
      owner._detachedNodes.remove$1(0, _this);
      if (_this._semantics$_dirty) {
        _this._semantics$_dirty = false;
        _this._markDirty$0();
      }
      t1 = _this._semantics$_children;
      if (t1 != null)
        for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].attach$1(owner);
    },
    detach$0(_) {
      var t2, t3, _i, child, t4, _this = this,
        t1 = type$.nullable_SemanticsOwner;
      t1._as(A.AbstractNode.prototype.get$owner.call(_this))._nodes.remove$1(0, _this._id);
      t1._as(A.AbstractNode.prototype.get$owner.call(_this))._detachedNodes.add$1(0, _this);
      _this.super$AbstractNode$detach(0);
      t1 = _this._semantics$_children;
      if (t1 != null)
        for (t2 = t1.length, t3 = type$.nullable_SemanticsNode, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          t4 = J.getInterceptor$x(child);
          if (t3._as(A.AbstractNode.prototype.get$parent.call(t4, child)) === _this)
            t4.detach$0(child);
        }
      _this._markDirty$0();
    },
    _markDirty$0() {
      var _this = this;
      if (_this._semantics$_dirty)
        return;
      _this._semantics$_dirty = true;
      if (_this._owner != null)
        type$.nullable_SemanticsOwner._as(A.AbstractNode.prototype.get$owner.call(_this))._dirtyNodes.add$1(0, _this);
    },
    updateWith$2$childrenInInversePaintOrder$config(_, childrenInInversePaintOrder, config) {
      var t1, _this = this;
      if (config == null)
        config = $.$get$SemanticsNode__kEmptyConfig();
      if (_this._attributedLabel.$eq(0, config._attributedLabel))
        if (_this._attributedHint.$eq(0, config._attributedHint))
          if (_this._elevation === config._elevation)
            if (_this._thickness === config._thickness)
              if (_this._attributedValue.$eq(0, config._attributedValue))
                if (_this._attributedIncreasedValue.$eq(0, config._attributedIncreasedValue))
                  if (_this._attributedDecreasedValue.$eq(0, config._attributedDecreasedValue))
                    if (_this._tooltip === config._tooltip)
                      if (_this._flags === config._flags)
                        if (_this._textDirection == config._textDirection)
                          if (_this._sortKey == config._sortKey)
                            if (J.$eq$(_this._textSelection, config._textSelection))
                              if (_this._scrollPosition == config._scrollPosition)
                                if (_this._scrollExtentMax == config._scrollExtentMax)
                                  if (_this._scrollExtentMin == config._scrollExtentMin)
                                    if (_this._actionsAsBits === config._actionsAsBits)
                                      if (_this.indexInParent == config._indexInParent)
                                        t1 = _this._currentValueLength != config._currentValueLength || _this._mergeAllDescendantsIntoThisNode !== config._isMergingSemanticsOfDescendants;
                                      else
                                        t1 = true;
                                    else
                                      t1 = true;
                                  else
                                    t1 = true;
                                else
                                  t1 = true;
                              else
                                t1 = true;
                            else
                              t1 = true;
                          else
                            t1 = true;
                        else
                          t1 = true;
                      else
                        t1 = true;
                    else
                      t1 = true;
                  else
                    t1 = true;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        _this._markDirty$0();
      _this._attributedLabel = config._attributedLabel;
      _this._attributedValue = config._attributedValue;
      _this._attributedIncreasedValue = config._attributedIncreasedValue;
      _this._attributedDecreasedValue = config._attributedDecreasedValue;
      _this._attributedHint = config._attributedHint;
      _this._tooltip = config._tooltip;
      _this._hintOverrides = config._hintOverrides;
      _this._elevation = config._elevation;
      _this._thickness = config._thickness;
      _this._flags = config._flags;
      _this._textDirection = config._textDirection;
      _this._sortKey = config._sortKey;
      _this._actions = A.LinkedHashMap_LinkedHashMap$of(config._actions, type$.SemanticsAction, type$.void_Function_nullable_Object);
      _this._customSemanticsActions = A.LinkedHashMap_LinkedHashMap$of(config._customSemanticsActions, type$.CustomSemanticsAction, type$.void_Function);
      _this._actionsAsBits = config._actionsAsBits;
      _this._textSelection = config._textSelection;
      _this._scrollPosition = config._scrollPosition;
      _this._scrollExtentMax = config._scrollExtentMax;
      _this._scrollExtentMin = config._scrollExtentMin;
      _this._mergeAllDescendantsIntoThisNode = config._isMergingSemanticsOfDescendants;
      _this._scrollChildCount = config._scrollChildCount;
      _this._scrollIndex = config._scrollIndex;
      _this.indexInParent = config._indexInParent;
      _this._platformViewId = config._platformViewId;
      _this._maxValueLength = config._maxValueLength;
      _this._currentValueLength = config._currentValueLength;
      _this._replaceChildren$1(childrenInInversePaintOrder == null ? B.List_empty3 : childrenInInversePaintOrder);
    },
    updateWith$1$config($receiver, config) {
      return this.updateWith$2$childrenInInversePaintOrder$config($receiver, null, config);
    },
    getSemanticsData$0() {
      var t1, elevation, customSemanticsActionIds, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, t22, t23, _this = this, _box_0 = {};
      _box_0.flags = _this._flags;
      _box_0.actions = _this._actionsAsBits;
      _box_0.attributedLabel = _this._attributedLabel;
      _box_0.attributedValue = _this._attributedValue;
      _box_0.attributedIncreasedValue = _this._attributedIncreasedValue;
      _box_0.attributedDecreasedValue = _this._attributedDecreasedValue;
      _box_0.attributedHint = _this._attributedHint;
      _box_0.tooltip = _this._tooltip;
      _box_0.textDirection = _this._textDirection;
      t1 = _this.tags;
      _box_0.mergedTags = t1 == null ? null : A.LinkedHashSet_LinkedHashSet$of(t1, type$.SemanticsTag);
      _box_0.textSelection = _this._textSelection;
      _box_0.scrollChildCount = _this._scrollChildCount;
      _box_0.scrollIndex = _this._scrollIndex;
      _box_0.scrollPosition = _this._scrollPosition;
      _box_0.scrollExtentMax = _this._scrollExtentMax;
      _box_0.scrollExtentMin = _this._scrollExtentMin;
      _box_0.platformViewId = _this._platformViewId;
      _box_0.maxValueLength = _this._maxValueLength;
      _box_0.currentValueLength = _this._currentValueLength;
      elevation = _this._elevation;
      _box_0.thickness = _this._thickness;
      customSemanticsActionIds = A.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      for (t1 = _this._customSemanticsActions, t1 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t1.moveNext$0();)
        customSemanticsActionIds.add$1(0, A.CustomSemanticsAction_getIdentifier(t1.__js_helper$_current));
      _this._hintOverrides != null;
      if (_this._mergeAllDescendantsIntoThisNode)
        _this._visitDescendants$1(new A.SemanticsNode_getSemanticsData_closure(_box_0, _this, customSemanticsActionIds));
      t1 = _box_0.flags;
      t2 = _box_0.actions;
      t3 = _box_0.attributedLabel;
      t4 = _box_0.attributedValue;
      t5 = _box_0.attributedIncreasedValue;
      t6 = _box_0.attributedDecreasedValue;
      t7 = _box_0.attributedHint;
      t8 = _box_0.tooltip;
      t9 = _box_0.textDirection;
      t10 = _this._rect;
      t11 = _this._semantics$_transform;
      t12 = _box_0.thickness;
      t13 = _box_0.mergedTags;
      t14 = _box_0.textSelection;
      t15 = _box_0.scrollChildCount;
      t16 = _box_0.scrollIndex;
      t17 = _box_0.scrollPosition;
      t18 = _box_0.scrollExtentMax;
      t19 = _box_0.scrollExtentMin;
      t20 = _box_0.platformViewId;
      t21 = _box_0.maxValueLength;
      t22 = _box_0.currentValueLength;
      t23 = A.List_List$of(customSemanticsActionIds, true, customSemanticsActionIds.$ti._eval$1("SetMixin.E"));
      B.JSArray_methods.sort$0(t23);
      return new A.SemanticsData(t1, t2, t3, t4, t5, t6, t7, t8, t9, t14, t15, t16, t17, t18, t19, t20, t21, t22, t10, t13, t11, elevation, t12, t23);
    },
    _addToUpdate$2(builder, customSemanticsActionIdsUpdate) {
      var childrenInTraversalOrder, childrenInHitTestOrder, childCount, sortedChildren, i, t1, t2, customSemanticsActionIds, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, _this = this,
        data = _this.getSemanticsData$0();
      if (!_this.get$hasChildren() || _this._mergeAllDescendantsIntoThisNode) {
        childrenInTraversalOrder = $.$get$SemanticsNode__kEmptyChildList();
        childrenInHitTestOrder = childrenInTraversalOrder;
      } else {
        childCount = _this._semantics$_children.length;
        sortedChildren = _this._childrenInTraversalOrder$0();
        childrenInTraversalOrder = new Int32Array(childCount);
        for (i = 0; i < childCount; ++i)
          childrenInTraversalOrder[i] = sortedChildren[i]._id;
        childrenInHitTestOrder = new Int32Array(childCount);
        for (i = childCount - 1, t1 = _this._semantics$_children; i >= 0; --i)
          childrenInHitTestOrder[i] = t1[childCount - i - 1]._id;
      }
      t1 = data.customSemanticsActionIds;
      t2 = t1.length;
      if (t2 !== 0) {
        customSemanticsActionIds = new Int32Array(t2);
        for (i = 0; i < t1.length; ++i) {
          t2 = t1[i];
          customSemanticsActionIds[i] = t2;
          customSemanticsActionIdsUpdate.add$1(0, t2);
        }
      } else
        customSemanticsActionIds = null;
      t1 = _this._id;
      t2 = data.attributedLabel;
      t3 = data.attributedValue;
      t4 = data.attributedIncreasedValue;
      t5 = data.attributedDecreasedValue;
      t6 = data.attributedHint;
      t7 = data.textSelection;
      t8 = t7 != null;
      t9 = t8 ? t7.baseOffset : -1;
      t7 = t8 ? t7.extentOffset : -1;
      t8 = data.scrollChildCount;
      if (t8 == null)
        t8 = 0;
      t10 = data.scrollIndex;
      if (t10 == null)
        t10 = 0;
      t11 = data.scrollPosition;
      if (t11 == null)
        t11 = 0 / 0;
      t12 = data.scrollExtentMax;
      if (t12 == null)
        t12 = 0 / 0;
      t13 = data.scrollExtentMin;
      if (t13 == null)
        t13 = 0 / 0;
      t14 = data.transform;
      t14 = t14 == null ? null : t14._m4storage;
      if (t14 == null)
        t14 = $.$get$SemanticsNode__kIdentityTransform();
      t15 = customSemanticsActionIds == null ? $.$get$SemanticsNode__kEmptyCustomSemanticsActionsList() : customSemanticsActionIds;
      builder._nodeUpdates.push(new A.SemanticsNodeUpdate(t1, data.flags, data.actions, t9, t7, -1, t8, t10, t11, t12, t13, data.rect, t2.string, t2.attributes, t6.string, t6.attributes, t3.string, t3.attributes, t4.string, t4.attributes, t5.string, t5.attributes, data.tooltip, data.textDirection, A.toMatrix32(t14), childrenInTraversalOrder, childrenInHitTestOrder, t15, data.thickness));
      _this._semantics$_dirty = false;
    },
    _childrenInTraversalOrder$0() {
      var t2, childrenInDefaultOrder, everythingSorted, sortNodes, lastSortKey, position, child, sortKey, isCompatibleWithPreviousSortKey, _this = this,
        inheritedTextDirection = _this._textDirection,
        t1 = type$.nullable_SemanticsNode,
        ancestor = t1._as(A.AbstractNode.prototype.get$parent.call(_this, _this));
      while (true) {
        t2 = inheritedTextDirection == null;
        if (!(t2 && ancestor != null))
          break;
        inheritedTextDirection = ancestor._textDirection;
        ancestor = t1._as(A.AbstractNode.prototype.get$parent.call(ancestor, ancestor));
      }
      childrenInDefaultOrder = _this._semantics$_children;
      if (!t2) {
        childrenInDefaultOrder.toString;
        childrenInDefaultOrder = A._childrenInDefaultOrder(childrenInDefaultOrder, inheritedTextDirection);
      }
      t1 = type$.JSArray__TraversalSortNode;
      everythingSorted = A._setArrayType([], t1);
      sortNodes = A._setArrayType([], t1);
      for (lastSortKey = null, position = 0; position < childrenInDefaultOrder.length; ++position) {
        child = childrenInDefaultOrder[position];
        sortKey = child._sortKey;
        lastSortKey = position > 0 ? childrenInDefaultOrder[position - 1]._sortKey : null;
        if (position !== 0)
          if (J.get$runtimeType$(sortKey) === J.get$runtimeType$(lastSortKey)) {
            if (sortKey != null)
              lastSortKey.toString;
            isCompatibleWithPreviousSortKey = true;
          } else
            isCompatibleWithPreviousSortKey = false;
        else
          isCompatibleWithPreviousSortKey = true;
        if (!isCompatibleWithPreviousSortKey && sortNodes.length !== 0) {
          if (lastSortKey != null) {
            if (!!sortNodes.immutable$list)
              A.throwExpression(A.UnsupportedError$("sort"));
            t1 = sortNodes.length - 1;
            if (t1 - 0 <= 32)
              A.Sort__insertionSort(sortNodes, 0, t1, J._interceptors_JSArray__compareAny$closure());
            else
              A.Sort__dualPivotQuicksort(sortNodes, 0, t1, J._interceptors_JSArray__compareAny$closure());
          }
          B.JSArray_methods.addAll$1(everythingSorted, sortNodes);
          B.JSArray_methods.clear$0(sortNodes);
        }
        sortNodes.push(new A._TraversalSortNode(child, sortKey, position));
      }
      if (lastSortKey != null)
        B.JSArray_methods.sort$0(sortNodes);
      B.JSArray_methods.addAll$1(everythingSorted, sortNodes);
      t1 = type$.MappedListIterable__TraversalSortNode_SemanticsNode;
      return A.List_List$of(new A.MappedListIterable(everythingSorted, new A.SemanticsNode__childrenInTraversalOrder_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    sendEvent$1($event) {
      if (this._owner == null)
        return;
      B.BasicMessageChannel_8hp.send$1(0, $event.toMap$1$nodeId(this._id));
    },
    toStringShort$0() {
      return "SemanticsNode#" + this._id;
    },
    toStringDeep$1$childOrder(childOrder) {
      A._SemanticsDiagnosticableNode$(childOrder, null, B.DiagnosticsTreeStyle_1, this);
      return "";
    },
    toStringDeep$0() {
      return this.toStringDeep$1$childOrder(B.DebugSemanticsDumpOrder_1);
    },
    toDiagnosticsNode$3$childOrder$name$style(childOrder, $name, style) {
      return new A._SemanticsDiagnosticableNode(childOrder, this, $name, true, true, null, style);
    },
    toDiagnosticsNode$1$style(style) {
      return this.toDiagnosticsNode$3$childOrder$name$style(B.DebugSemanticsDumpOrder_1, null, style);
    },
    toDiagnosticsNode$0() {
      return this.toDiagnosticsNode$3$childOrder$name$style(B.DebugSemanticsDumpOrder_1, null, B.DiagnosticsTreeStyle_1);
    },
    debugDescribeChildren$1$childOrder(childOrder) {
      var t1 = this.debugListChildrenInOrder$1(childOrder),
        t2 = A.instanceType(t1)._eval$1("MappedListIterable<1,DiagnosticsNode>");
      return A.List_List$of(new A.MappedListIterable(t1, new A.SemanticsNode_debugDescribeChildren_closure(childOrder), t2), true, t2._eval$1("ListIterable.E"));
    },
    debugDescribeChildren$0() {
      return this.debugDescribeChildren$1$childOrder(B.DebugSemanticsDumpOrder_0);
    },
    debugListChildrenInOrder$1(childOrder) {
      var t1 = this._semantics$_children;
      if (t1 == null)
        return B.List_empty3;
      switch (childOrder.index) {
        case 0:
          return t1;
        case 1:
          return this._childrenInTraversalOrder$0();
      }
    },
    $isDiagnosticableTree: 1
  };
  A.SemanticsNode_getSemanticsData_closure.prototype = {
    call$1(node) {
      var t2, t3,
        t1 = this._box_0;
      t1.flags = t1.flags | node._flags;
      t1.actions = t1.actions | node._actionsAsBits;
      if (t1.textDirection == null)
        t1.textDirection = node._textDirection;
      if (t1.textSelection == null)
        t1.textSelection = node._textSelection;
      if (t1.scrollChildCount == null)
        t1.scrollChildCount = node._scrollChildCount;
      if (t1.scrollIndex == null)
        t1.scrollIndex = node._scrollIndex;
      if (t1.scrollPosition == null)
        t1.scrollPosition = node._scrollPosition;
      if (t1.scrollExtentMax == null)
        t1.scrollExtentMax = node._scrollExtentMax;
      if (t1.scrollExtentMin == null)
        t1.scrollExtentMin = node._scrollExtentMin;
      t1.platformViewId = node._platformViewId;
      t1.maxValueLength = node._maxValueLength;
      if (t1.currentValueLength == null)
        t1.currentValueLength = node._currentValueLength;
      t2 = t1.attributedValue;
      if (t2.string === "")
        t1.attributedValue = node._attributedValue;
      t2 = t1.attributedIncreasedValue;
      if (t2.string === "")
        t1.attributedIncreasedValue = node._attributedIncreasedValue;
      t2 = t1.attributedDecreasedValue;
      if (t2.string === "")
        t1.attributedDecreasedValue = node._attributedDecreasedValue;
      if (t1.tooltip === "")
        t1.tooltip = node._tooltip;
      t2 = node.tags;
      if (t2 != null) {
        t3 = t1.mergedTags;
        (t3 == null ? t1.mergedTags = A.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsTag) : t3).addAll$1(0, t2);
      }
      for (t2 = this.$this._customSemanticsActions, t2 = A.LinkedHashMapKeyIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t3 = this.customSemanticsActionIds; t2.moveNext$0();)
        t3.add$1(0, A.CustomSemanticsAction_getIdentifier(t2.__js_helper$_current));
      node._hintOverrides != null;
      t2 = t1.attributedLabel;
      t3 = t1.textDirection;
      t1.attributedLabel = A._concatAttributedString(node._attributedLabel, node._textDirection, t2, t3);
      t3 = t1.attributedHint;
      t2 = t1.textDirection;
      t1.attributedHint = A._concatAttributedString(node._attributedHint, node._textDirection, t3, t2);
      t1.thickness = Math.max(t1.thickness, node._thickness + node._elevation);
      return true;
    },
    $signature: 165
  };
  A.SemanticsNode__childrenInTraversalOrder_closure.prototype = {
    call$1(sortNode) {
      return sortNode.node;
    },
    $signature: 851
  };
  A.SemanticsNode_debugDescribeChildren_closure.prototype = {
    call$1(node) {
      return A._SemanticsDiagnosticableNode$(this.childOrder, null, B.DiagnosticsTreeStyle_1, node);
    },
    $signature: 852
  };
  A._BoxEdge.prototype = {
    compareTo$1(_, other) {
      return B.JSNumber_methods.compareTo$1(this.offset, other.offset);
    },
    $isComparable: 1
  };
  A._SemanticsSortGroup.prototype = {
    compareTo$1(_, other) {
      return B.JSNumber_methods.compareTo$1(this.startOffset, other.startOffset);
    },
    sortedWithinVerticalGroup$0() {
      var t1, t2, _i, child, t3, horizontalGroups, group, depth, edge,
        edges = A._setArrayType([], type$.JSArray__BoxEdge);
      for (t1 = this.nodes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        child = t1[_i];
        t3 = child._rect;
        edges.push(new A._BoxEdge(true, A._pointInParentCoordinates(child, new A.Offset(t3.left - -0.1, t3.top - -0.1))._dx, child));
        edges.push(new A._BoxEdge(false, A._pointInParentCoordinates(child, new A.Offset(t3.right + -0.1, t3.bottom + -0.1))._dx, child));
      }
      B.JSArray_methods.sort$0(edges);
      horizontalGroups = A._setArrayType([], type$.JSArray__SemanticsSortGroup);
      for (t1 = edges.length, t2 = this.textDirection, t3 = type$.JSArray_SemanticsNode, group = null, depth = 0, _i = 0; _i < edges.length; edges.length === t1 || (0, A.throwConcurrentModificationError)(edges), ++_i) {
        edge = edges[_i];
        if (edge.isLeadingEdge) {
          ++depth;
          if (group == null)
            group = new A._SemanticsSortGroup(edge.offset, t2, A._setArrayType([], t3));
          group.nodes.push(edge.node);
        } else
          --depth;
        if (depth === 0) {
          group.toString;
          horizontalGroups.push(group);
          group = null;
        }
      }
      B.JSArray_methods.sort$0(horizontalGroups);
      if (t2 === B.TextDirection_0) {
        t1 = type$.ReversedListIterable__SemanticsSortGroup;
        horizontalGroups = A.List_List$of(new A.ReversedListIterable(horizontalGroups, t1), true, t1._eval$1("ListIterable.E"));
      }
      t1 = A._arrayInstanceType(horizontalGroups)._eval$1("ExpandIterable<1,SemanticsNode>");
      return A.List_List$of(new A.ExpandIterable(horizontalGroups, new A._SemanticsSortGroup_sortedWithinVerticalGroup_closure(), t1), true, t1._eval$1("Iterable.E"));
    },
    sortedWithinKnot$0() {
      var t3, nodeMap, edges, t4, t5, t6, _i, node, t7, t8, center, _i0, t9, nextNode, t10, t11, nextCenter, direction, isLtrAndForward, isRtlAndForward, sortedIds, startNodes,
        t1 = this.nodes,
        t2 = t1.length;
      if (t2 <= 1)
        return t1;
      t3 = type$.int;
      nodeMap = A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.SemanticsNode);
      edges = A.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      for (t4 = this.textDirection, t5 = t4 === B.TextDirection_0, t4 = t4 === B.TextDirection_1, t6 = t2, _i = 0; _i < t6; t9 === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i, t6 = t9) {
        node = t1[_i];
        nodeMap.$indexSet(0, node._id, node);
        t6 = node._rect;
        t7 = t6.left;
        t8 = t6.top;
        center = A._pointInParentCoordinates(node, new A.Offset(t7 + (t6.right - t7) / 2, t8 + (t6.bottom - t8) / 2));
        for (t6 = t1.length, t7 = center._dx, t8 = center._dy, _i0 = 0; t9 = t1.length, _i0 < t9; t1.length === t6 || (0, A.throwConcurrentModificationError)(t1), ++_i0) {
          nextNode = t1[_i0];
          if ((node == null ? nextNode == null : node === nextNode) || edges.$index(0, nextNode._id) === node._id)
            continue;
          t9 = nextNode._rect;
          t10 = t9.left;
          t11 = t9.top;
          nextCenter = A._pointInParentCoordinates(nextNode, new A.Offset(t10 + (t9.right - t10) / 2, t11 + (t9.bottom - t11) / 2));
          direction = Math.atan2(nextCenter._dy - t8, nextCenter._dx - t7);
          isLtrAndForward = t4 && -0.7853981633974483 < direction && direction < 2.356194490192345;
          if (t5)
            isRtlAndForward = direction < -2.356194490192345 || direction > 2.356194490192345;
          else
            isRtlAndForward = false;
          if (isLtrAndForward || isRtlAndForward)
            edges.$indexSet(0, node._id, nextNode._id);
        }
      }
      sortedIds = A._setArrayType([], type$.JSArray_int);
      startNodes = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      B.JSArray_methods.sort$1(startNodes, new A._SemanticsSortGroup_sortedWithinKnot_closure());
      new A.MappedListIterable(startNodes, new A._SemanticsSortGroup_sortedWithinKnot_closure0(), A._arrayInstanceType(startNodes)._eval$1("MappedListIterable<1,int>")).forEach$1(0, new A._SemanticsSortGroup_sortedWithinKnot_search(A.LinkedHashSet_LinkedHashSet$_empty(t3), edges, sortedIds));
      t1 = type$.MappedListIterable_int_SemanticsNode;
      t1 = A.List_List$of(new A.MappedListIterable(sortedIds, new A._SemanticsSortGroup_sortedWithinKnot_closure1(nodeMap), t1), true, t1._eval$1("ListIterable.E"));
      t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
      return A.List_List$of(new A.ReversedListIterable(t1, t2), true, t2._eval$1("ListIterable.E"));
    }
  };
  A._SemanticsSortGroup_sortedWithinVerticalGroup_closure.prototype = {
    call$1(group) {
      return group.sortedWithinKnot$0();
    },
    $signature: 269
  };
  A._SemanticsSortGroup_sortedWithinKnot_closure.prototype = {
    call$2(a, b) {
      var bTopLeft, verticalDiff,
        t1 = a._rect,
        aTopLeft = A._pointInParentCoordinates(a, new A.Offset(t1.left, t1.top));
      t1 = b._rect;
      bTopLeft = A._pointInParentCoordinates(b, new A.Offset(t1.left, t1.top));
      verticalDiff = B.JSNumber_methods.compareTo$1(aTopLeft._dy, bTopLeft._dy);
      if (verticalDiff !== 0)
        return -verticalDiff;
      return -B.JSNumber_methods.compareTo$1(aTopLeft._dx, bTopLeft._dx);
    },
    $signature: 166
  };
  A._SemanticsSortGroup_sortedWithinKnot_search.prototype = {
    call$1(id) {
      var _this = this,
        t1 = _this.visitedIds;
      if (t1.contains$1(0, id))
        return;
      t1.add$1(0, id);
      t1 = _this.edges;
      if (t1.containsKey$1(0, id)) {
        t1 = t1.$index(0, id);
        t1.toString;
        _this.call$1(t1);
      }
      _this.sortedIds.push(id);
    },
    $signature: 26
  };
  A._SemanticsSortGroup_sortedWithinKnot_closure0.prototype = {
    call$1(node) {
      return node._id;
    },
    $signature: 855
  };
  A._SemanticsSortGroup_sortedWithinKnot_closure1.prototype = {
    call$1(id) {
      var t1 = this.nodeMap.$index(0, id);
      t1.toString;
      return t1;
    },
    $signature: 856
  };
  A._childrenInDefaultOrder_closure.prototype = {
    call$1(group) {
      return group.sortedWithinVerticalGroup$0();
    },
    $signature: 269
  };
  A._TraversalSortNode.prototype = {
    compareTo$1(_, other) {
      var t2,
        t1 = this.sortKey;
      if (t1 == null || other.sortKey == null)
        return this.position - other.position;
      t1.toString;
      t2 = other.sortKey;
      t2.toString;
      return t1.compareTo$1(0, t2);
    },
    $isComparable: 1
  };
  A.SemanticsOwner.prototype = {
    dispose$0() {
      var _this = this;
      _this._dirtyNodes.clear$0(0);
      _this._nodes.clear$0(0);
      _this._detachedNodes.clear$0(0);
      _this.super$ChangeNotifier$dispose();
    },
    sendSemanticsUpdate$0() {
      var customSemanticsActionIds, visitedNodes, t2, t3, t4, t5, localDirtyNodes, t6, t7, _i, node, t8, builder, _this = this,
        t1 = _this._dirtyNodes;
      if (t1._collection$_length === 0)
        return;
      customSemanticsActionIds = A.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      visitedNodes = A._setArrayType([], type$.JSArray_SemanticsNode);
      for (t2 = type$.nullable_SemanticsNode, t3 = A._instanceType(t1)._eval$1("WhereIterable<SetMixin.E>"), t4 = t3._eval$1("Iterable.E"), t5 = _this._detachedNodes; t1._collection$_length !== 0;) {
        localDirtyNodes = A.List_List$of(new A.WhereIterable(t1, new A.SemanticsOwner_sendSemanticsUpdate_closure(_this), t3), true, t4);
        t1.clear$0(0);
        t5.clear$0(0);
        t6 = new A.SemanticsOwner_sendSemanticsUpdate_closure0();
        if (!!localDirtyNodes.immutable$list)
          A.throwExpression(A.UnsupportedError$("sort"));
        t7 = localDirtyNodes.length - 1;
        if (t7 - 0 <= 32)
          A.Sort__insertionSort(localDirtyNodes, 0, t7, t6);
        else
          A.Sort__dualPivotQuicksort(localDirtyNodes, 0, t7, t6);
        B.JSArray_methods.addAll$1(visitedNodes, localDirtyNodes);
        for (t6 = localDirtyNodes.length, _i = 0; _i < localDirtyNodes.length; localDirtyNodes.length === t6 || (0, A.throwConcurrentModificationError)(localDirtyNodes), ++_i) {
          node = localDirtyNodes[_i];
          if (node._mergeAllDescendantsIntoThisNode || node._isMergedIntoParent) {
            t7 = J.getInterceptor$x(node);
            if (t2._as(A.AbstractNode.prototype.get$parent.call(t7, node)) != null) {
              t8 = t2._as(A.AbstractNode.prototype.get$parent.call(t7, node));
              t8 = t8._mergeAllDescendantsIntoThisNode || t8._isMergedIntoParent;
            } else
              t8 = false;
            if (t8) {
              t2._as(A.AbstractNode.prototype.get$parent.call(t7, node))._markDirty$0();
              node._semantics$_dirty = false;
            }
          }
        }
      }
      B.JSArray_methods.sort$1(visitedNodes, new A.SemanticsOwner_sendSemanticsUpdate_closure1());
      $.SemanticsBinding__instance.toString;
      builder = new A.SemanticsUpdateBuilder(A._setArrayType([], type$.JSArray_SemanticsNodeUpdate));
      for (t2 = visitedNodes.length, _i = 0; _i < visitedNodes.length; visitedNodes.length === t2 || (0, A.throwConcurrentModificationError)(visitedNodes), ++_i) {
        node = visitedNodes[_i];
        if (node._semantics$_dirty && node._owner != null)
          node._addToUpdate$2(builder, customSemanticsActionIds);
      }
      t1.clear$0(0);
      for (t1 = A._LinkedHashSetIterator$(customSemanticsActionIds, customSemanticsActionIds._collection$_modifications, customSemanticsActionIds.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        $.CustomSemanticsAction__actions.$index(0, t3 == null ? t2._as(t3) : t3).toString;
      }
      $.SemanticsBinding__instance.toString;
      $.$get$EnginePlatformDispatcher__instance();
      t1 = $.EngineSemanticsOwner__instance;
      if (t1 == null)
        t1 = $.EngineSemanticsOwner__instance = A.EngineSemanticsOwner$_();
      t1.updateSemantics$1(new A.SemanticsUpdate(builder._nodeUpdates));
      _this.notifyListeners$0();
    },
    _getSemanticsActionHandlerForId$2(id, action) {
      var t2, t1 = {},
        result = t1.result = this._nodes.$index(0, id);
      if (result != null)
        t2 = (result._mergeAllDescendantsIntoThisNode || result._isMergedIntoParent) && !result._actions.containsKey$1(0, action);
      else
        t2 = false;
      if (t2)
        result._visitDescendants$1(new A.SemanticsOwner__getSemanticsActionHandlerForId_closure(t1, action));
      t2 = t1.result;
      if (t2 == null || !t2._actions.containsKey$1(0, action))
        return null;
      return t1.result._actions.$index(0, action);
    },
    performAction$3(id, action, args) {
      var handler = this._getSemanticsActionHandlerForId$2(id, action);
      if (handler != null) {
        handler.call$1(args);
        return;
      }
      if (action === B.SemanticsAction_256 && this._nodes.$index(0, id)._showOnScreen != null)
        this._nodes.$index(0, id)._showOnScreen.call$0();
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A.SemanticsOwner_sendSemanticsUpdate_closure.prototype = {
    call$1(node) {
      return !this.$this._detachedNodes.contains$1(0, node);
    },
    $signature: 165
  };
  A.SemanticsOwner_sendSemanticsUpdate_closure0.prototype = {
    call$2(a, b) {
      return a._depth - b._depth;
    },
    $signature: 166
  };
  A.SemanticsOwner_sendSemanticsUpdate_closure1.prototype = {
    call$2(a, b) {
      return a._depth - b._depth;
    },
    $signature: 166
  };
  A.SemanticsOwner__getSemanticsActionHandlerForId_closure.prototype = {
    call$1(node) {
      if (node._actions.containsKey$1(0, this.action)) {
        this._box_0.result = node;
        return false;
      }
      return true;
    },
    $signature: 165
  };
  A.SemanticsConfiguration.prototype = {
    _addAction$2(action, handler) {
      var _this = this;
      _this._actions.$indexSet(0, action, handler);
      _this._actionsAsBits = _this._actionsAsBits | action.index;
      _this._hasBeenAnnotated = true;
    },
    _addArgumentlessAction$2(action, handler) {
      this._addAction$2(action, new A.SemanticsConfiguration__addArgumentlessAction_closure(handler));
    },
    set$onTap(value) {
      value.toString;
      this._addArgumentlessAction$2(B.SemanticsAction_1, value);
      this._onTap = value;
    },
    set$onLongPress(value) {
      value.toString;
      this._addArgumentlessAction$2(B.SemanticsAction_2, value);
    },
    set$onScrollLeft(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_4, value);
    },
    set$onDismiss(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_262144, value);
    },
    set$onScrollRight(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_8, value);
    },
    set$onScrollUp(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_16, value);
    },
    set$onScrollDown(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_32, value);
    },
    set$onIncrease(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_64, value);
    },
    set$onDecrease(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_128, value);
    },
    set$onCopy(_, value) {
      this._addArgumentlessAction$2(B.SemanticsAction_4096, value);
    },
    set$onCut(_, value) {
      this._addArgumentlessAction$2(B.SemanticsAction_8192, value);
    },
    set$onPaste(_, value) {
      this._addArgumentlessAction$2(B.SemanticsAction_16384, value);
    },
    set$onMoveCursorForwardByCharacter(value) {
      this._addAction$2(B.SemanticsAction_512, new A.SemanticsConfiguration_onMoveCursorForwardByCharacter_closure(value));
    },
    set$onMoveCursorBackwardByCharacter(value) {
      this._addAction$2(B.SemanticsAction_1024, new A.SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure(value));
    },
    set$onMoveCursorForwardByWord(value) {
      this._addAction$2(B.SemanticsAction_524288, new A.SemanticsConfiguration_onMoveCursorForwardByWord_closure(value));
    },
    set$onMoveCursorBackwardByWord(value) {
      this._addAction$2(B.SemanticsAction_1048576, new A.SemanticsConfiguration_onMoveCursorBackwardByWord_closure(value));
    },
    set$onSetSelection(value) {
      this._addAction$2(B.SemanticsAction_2048, new A.SemanticsConfiguration_onSetSelection_closure(value));
    },
    set$onSetText(value) {
      this._addAction$2(B.SemanticsAction_2097152, new A.SemanticsConfiguration_onSetText_closure(value));
    },
    set$onDidGainAccessibilityFocus(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_32768, value);
    },
    set$onDidLoseAccessibilityFocus(value) {
      this._addArgumentlessAction$2(B.SemanticsAction_65536, value);
    },
    set$scrollChildCount(value) {
      if (value == this._scrollChildCount)
        return;
      this._scrollChildCount = value;
      this._hasBeenAnnotated = true;
    },
    set$scrollIndex(value) {
      if (value == this._scrollIndex)
        return;
      this._scrollIndex = value;
      this._hasBeenAnnotated = true;
    },
    set$maxValueLength(value) {
      return;
    },
    set$currentValueLength(value) {
      if (value == this._currentValueLength)
        return;
      this._currentValueLength = value;
      this._hasBeenAnnotated = true;
    },
    set$elevation(_, value) {
      if (value === this._elevation)
        return;
      this._elevation = value;
      this._hasBeenAnnotated = true;
    },
    addTagForChildren$1(tag) {
      var t1 = this._tagsForChildren;
      (t1 == null ? this._tagsForChildren = A.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsTag) : t1).add$1(0, tag);
    },
    _setFlag$2(flag, value) {
      var _this = this,
        t1 = _this._flags,
        t2 = flag.index;
      if (value)
        _this._flags = t1 | t2;
      else
        _this._flags = t1 & ~t2;
      _this._hasBeenAnnotated = true;
    },
    isCompatibleWith$1(other) {
      var t1, _this = this;
      if (other == null || !other._hasBeenAnnotated || !_this._hasBeenAnnotated)
        return true;
      if ((_this._actionsAsBits & other._actionsAsBits) !== 0)
        return false;
      if ((_this._flags & other._flags) !== 0)
        return false;
      if (_this._currentValueLength != null && other._currentValueLength != null)
        return false;
      if (_this._attributedValue.string.length !== 0)
        t1 = other._attributedValue.string.length !== 0;
      else
        t1 = false;
      if (t1)
        return false;
      return true;
    },
    absorb$1(child) {
      var t1, t2, _this = this;
      if (!child._hasBeenAnnotated)
        return;
      _this._actions.addAll$1(0, child._actions);
      _this._customSemanticsActions.addAll$1(0, child._customSemanticsActions);
      _this._actionsAsBits = _this._actionsAsBits | child._actionsAsBits;
      _this._flags = _this._flags | child._flags;
      if (_this._textSelection == null)
        _this._textSelection = child._textSelection;
      if (_this._scrollPosition == null)
        _this._scrollPosition = child._scrollPosition;
      if (_this._scrollExtentMax == null)
        _this._scrollExtentMax = child._scrollExtentMax;
      if (_this._scrollExtentMin == null)
        _this._scrollExtentMin = child._scrollExtentMin;
      if (_this._hintOverrides == null)
        _this._hintOverrides = child._hintOverrides;
      if (_this._indexInParent == null)
        _this._indexInParent = child._indexInParent;
      if (_this._scrollIndex == null)
        _this._scrollIndex = child._scrollIndex;
      if (_this._scrollChildCount == null)
        _this._scrollChildCount = child._scrollChildCount;
      _this._platformViewId = child._platformViewId;
      _this._maxValueLength = child._maxValueLength;
      if (_this._currentValueLength == null)
        _this._currentValueLength = child._currentValueLength;
      t1 = _this._textDirection;
      if (t1 == null) {
        t1 = _this._textDirection = child._textDirection;
        _this._hasBeenAnnotated = true;
      }
      if (_this._sortKey == null)
        _this._sortKey = child._sortKey;
      t2 = _this._attributedLabel;
      _this._attributedLabel = A._concatAttributedString(child._attributedLabel, child._textDirection, t2, t1);
      t1 = _this._attributedValue;
      if (t1.string === "")
        _this._attributedValue = child._attributedValue;
      t1 = _this._attributedIncreasedValue;
      if (t1.string === "")
        _this._attributedIncreasedValue = child._attributedIncreasedValue;
      t1 = _this._attributedDecreasedValue;
      if (t1.string === "")
        _this._attributedDecreasedValue = child._attributedDecreasedValue;
      t1 = _this._attributedHint;
      t2 = _this._textDirection;
      _this._attributedHint = A._concatAttributedString(child._attributedHint, child._textDirection, t1, t2);
      if (_this._tooltip === "")
        _this._tooltip = child._tooltip;
      _this._thickness = Math.max(_this._thickness, child._thickness + child._elevation);
      _this._hasBeenAnnotated = _this._hasBeenAnnotated || child._hasBeenAnnotated;
    },
    copy$0() {
      var _this = this,
        t1 = A.SemanticsConfiguration$();
      t1._isSemanticBoundary = _this._isSemanticBoundary;
      t1.explicitChildNodes = _this.explicitChildNodes;
      t1.isBlockingSemanticsOfPreviouslyPaintedNodes = _this.isBlockingSemanticsOfPreviouslyPaintedNodes;
      t1._hasBeenAnnotated = _this._hasBeenAnnotated;
      t1._isMergingSemanticsOfDescendants = _this._isMergingSemanticsOfDescendants;
      t1._textDirection = _this._textDirection;
      t1._sortKey = _this._sortKey;
      t1._attributedLabel = _this._attributedLabel;
      t1._attributedIncreasedValue = _this._attributedIncreasedValue;
      t1._attributedValue = _this._attributedValue;
      t1._attributedDecreasedValue = _this._attributedDecreasedValue;
      t1._attributedHint = _this._attributedHint;
      t1._hintOverrides = _this._hintOverrides;
      t1._tooltip = _this._tooltip;
      t1._elevation = _this._elevation;
      t1._thickness = _this._thickness;
      t1._flags = _this._flags;
      t1._tagsForChildren = _this._tagsForChildren;
      t1._textSelection = _this._textSelection;
      t1._scrollPosition = _this._scrollPosition;
      t1._scrollExtentMax = _this._scrollExtentMax;
      t1._scrollExtentMin = _this._scrollExtentMin;
      t1._actionsAsBits = _this._actionsAsBits;
      t1._indexInParent = _this._indexInParent;
      t1._scrollIndex = _this._scrollIndex;
      t1._scrollChildCount = _this._scrollChildCount;
      t1._platformViewId = _this._platformViewId;
      t1._maxValueLength = _this._maxValueLength;
      t1._currentValueLength = _this._currentValueLength;
      t1._actions.addAll$1(0, _this._actions);
      t1._customSemanticsActions.addAll$1(0, _this._customSemanticsActions);
      return t1;
    }
  };
  A.SemanticsConfiguration__addArgumentlessAction_closure.prototype = {
    call$1(args) {
      this.handler.call$0();
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorForwardByCharacter_closure.prototype = {
    call$1(args) {
      args.toString;
      this.value.call$1(A._asBool(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure.prototype = {
    call$1(args) {
      args.toString;
      this.value.call$1(A._asBool(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorForwardByWord_closure.prototype = {
    call$1(args) {
      args.toString;
      this.value.call$1(A._asBool(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onMoveCursorBackwardByWord_closure.prototype = {
    call$1(args) {
      args.toString;
      this.value.call$1(A._asBool(args));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onSetSelection_closure.prototype = {
    call$1(args) {
      var selection, t1, t2;
      args.toString;
      selection = J.cast$2$0$ax(type$.Map_dynamic_dynamic._as(args), type$.String, type$.int);
      t1 = selection.$index(0, "base");
      t1.toString;
      t2 = selection.$index(0, "extent");
      t2.toString;
      this.value.call$1(A.TextSelection$(B.TextAffinity_1, t1, t2, false));
    },
    $signature: 4
  };
  A.SemanticsConfiguration_onSetText_closure.prototype = {
    call$1(args) {
      args.toString;
      this.value.call$1(A._asString(args));
    },
    $signature: 4
  };
  A.DebugSemanticsDumpOrder.prototype = {
    toString$0(_) {
      return "DebugSemanticsDumpOrder." + this._core$_name;
    }
  };
  A.SemanticsSortKey.prototype = {
    compareTo$1(_, other) {
      var t1 = this.doCompare$1(other);
      return t1;
    },
    $isComparable: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.OrdinalSortKey.prototype = {
    doCompare$1(other) {
      var t1 = other.order === this.order;
      if (t1)
        return 0;
      return B.JSInt_methods.compareTo$1(this.order, other.order);
    }
  };
  A._SemanticsData_Object_Diagnosticable.prototype = {};
  A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin.prototype = {};
  A._SemanticsSortKey_Object_Diagnosticable.prototype = {};
  A.SemanticsEvent.prototype = {
    toMap$1$nodeId(nodeId) {
      var $event = A.LinkedHashMap_LinkedHashMap$_literal(["type", this.type, "data", this.getDataMap$0()], type$.String, type$.dynamic);
      if (nodeId != null)
        $event.$indexSet(0, "nodeId", nodeId);
      return $event;
    },
    toMap$0() {
      return this.toMap$1$nodeId(null);
    },
    toString$0(_) {
      var t1, _i, key,
        pairs = A._setArrayType([], type$.JSArray_String),
        dataMap = this.getDataMap$0(),
        sortedKeys = J.toList$0$ax(dataMap.get$keys(dataMap));
      B.JSArray_methods.sort$0(sortedKeys);
      for (t1 = sortedKeys.length, _i = 0; _i < sortedKeys.length; sortedKeys.length === t1 || (0, A.throwConcurrentModificationError)(sortedKeys), ++_i) {
        key = sortedKeys[_i];
        pairs.push(A.S(key) + ": " + A.S(dataMap.$index(0, key)));
      }
      return "SemanticsEvent(" + B.JSArray_methods.join$1(pairs, ", ") + ")";
    }
  };
  A.TooltipSemanticsEvent.prototype = {
    getDataMap$0() {
      return A.LinkedHashMap_LinkedHashMap$_literal(["message", this.message], type$.String, type$.dynamic);
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.LongPressSemanticsEvent.prototype = {
    getDataMap$0() {
      return B.Map_empty5;
    }
  };
  A.TapSemanticEvent.prototype = {
    getDataMap$0() {
      return B.Map_empty5;
    }
  };
  A.AssetBundle.prototype = {
    loadString$2$cache(key, cache) {
      return this.loadString$body$AssetBundle(key, true);
    },
    loadString$body$AssetBundle(key, cache) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, data;
      var $async$loadString$2$cache = 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.load$1(0, key), $async$loadString$2$cache);
            case 3:
              // returning from await.
              data = $async$result;
              if (data.byteLength < 51200) {
                $async$returnValue = B.Utf8Codec_false.decode$1(0, A.NativeUint8List_NativeUint8List$view(data.buffer, 0, null));
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = A.compute(A.asset_bundle_AssetBundle__utf8decode$closure(), data, 'UTF8 decode for "' + key + '"', type$.ByteData, type$.String);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadString$2$cache, $async$completer);
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this) + "()";
    }
  };
  A.CachingAssetBundle.prototype = {
    loadString$2$cache(key, cache) {
      if (cache)
        return this._stringCache.putIfAbsent$2(0, key, new A.CachingAssetBundle_loadString_closure(this, key));
      return this.super$AssetBundle$loadString(key, true);
    },
    loadString$1(key) {
      return this.loadString$2$cache(key, true);
    },
    loadStructuredData$1$2(key, parser, $T) {
      var t3, t1 = {},
        t2 = this._structuredDataCache;
      if (t2.containsKey$1(0, key)) {
        t1 = t2.$index(0, key);
        t1.toString;
        return $T._eval$1("Future<0>")._as(t1);
      }
      t1.result = t1.completer = null;
      this.loadString$2$cache(key, false).then$1$1(parser, $T).then$1$1(new A.CachingAssetBundle_loadStructuredData_closure(t1, this, key, $T), type$.void);
      t3 = t1.result;
      if (t3 != null)
        return t3;
      t3 = new A._Future($.Zone__current, $T._eval$1("_Future<0>"));
      t1.completer = new A._AsyncCompleter(t3, $T._eval$1("_AsyncCompleter<0>"));
      t2.$indexSet(0, key, t3);
      return t1.completer.future;
    }
  };
  A.CachingAssetBundle_loadString_closure.prototype = {
    call$0() {
      return this.$this.super$AssetBundle$loadString(this.key, true);
    },
    $signature: 111
  };
  A.CachingAssetBundle_loadStructuredData_closure.prototype = {
    call$1(value) {
      var _this = this,
        result = new A.SynchronousFuture(value, _this.T._eval$1("SynchronousFuture<0>")),
        t1 = _this._box_0;
      t1.result = result;
      _this.$this._structuredDataCache.$indexSet(0, _this.key, result);
      t1 = t1.completer;
      if (t1 != null)
        t1.complete$1(0, value);
    },
    $signature() {
      return this.T._eval$1("Null(0)");
    }
  };
  A.PlatformAssetBundle.prototype = {
    load$1(_, key) {
      return this.load$body$PlatformAssetBundle(0, key);
    },
    load$body$PlatformAssetBundle(_, key) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ByteData),
        $async$returnValue, asset, encoded, t1;
      var $async$load$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
              encoded = B.C_Utf8Encoder.convert$1(A._Uri__Uri(null, null, A._Uri__uriEncode(B.List_gnE, key, B.Utf8Codec_false, false), null, null, null, null, null, null).path);
              t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__defaultBinaryMessenger;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 3;
              return A._asyncAwait(t1.send$2(0, "flutter/assets", A.NativeByteData_NativeByteData$view(encoded.buffer, 0, null)), $async$load$1);
            case 3:
              // returning from await.
              asset = $async$result;
              if (asset == null)
                throw A.wrapException(A.FlutterError_FlutterError("Unable to load asset: " + key));
              $async$returnValue = asset;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$load$1, $async$completer);
    },
    loadBuffer$1(key) {
      return this.loadBuffer$body$PlatformAssetBundle(key);
    },
    loadBuffer$body$PlatformAssetBundle(key) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.ImmutableBuffer),
        $async$returnValue, $async$self = this, bytes;
      var $async$loadBuffer$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.load$1(0, key), $async$loadBuffer$1);
            case 3:
              // returning from await.
              bytes = $async$result;
              $async$returnValue = A.ImmutableBuffer_fromUint8List(A.NativeUint8List_NativeUint8List$view(bytes.buffer, 0, null));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$loadBuffer$1, $async$completer);
    }
  };
  A.AutofillConfiguration.prototype = {
    toJson$0() {
      var t1, _this = this;
      if (_this.enabled) {
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
        t1.$indexSet(0, "uniqueIdentifier", _this.uniqueIdentifier);
        t1.$indexSet(0, "hints", _this.autofillHints);
        t1.$indexSet(0, "editingValue", _this.currentEditingValue.toJSON$0());
      } else
        t1 = null;
      return t1;
    }
  };
  A.BinaryMessenger.prototype = {};
  A.ServicesBinding.prototype = {
    handleMemoryPressure$0() {
      var t1 = $.$get$rootBundle();
      t1._stringCache.clear$0(0);
      t1._structuredDataCache.clear$0(0);
    },
    handleSystemMessage$1(systemMessage) {
      return this.handleSystemMessage$body$ServicesBinding(systemMessage);
    },
    handleSystemMessage$body$ServicesBinding(systemMessage) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$handleSystemMessage$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
              switch (A._asString(J.$index$asx(type$.Map_String_dynamic._as(systemMessage), "type"))) {
                case "memoryPressure":
                  $async$self.handleMemoryPressure$0();
                  break;
              }
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleSystemMessage$1, $async$completer);
    },
    _addLicenses$0() {
      var controller = A._Cell$named("controller");
      controller.set$finalLocalValue(A.StreamController_StreamController(null, new A.ServicesBinding__addLicenses_closure(controller), null, false, type$.LicenseEntry));
      return J.get$stream$z(controller._readLocal$0());
    },
    readInitialLifecycleStateFromNativeWindow$0() {
      if (this.SchedulerBinding__lifecycleState != null)
        return;
      $.$get$EnginePlatformDispatcher__instance();
      var state = A.ServicesBinding__parseAppLifecycleMessage("AppLifecycleState.resumed");
      if (state != null)
        this.handleAppLifecycleStateChanged$1(state);
    },
    _handleLifecycleMessage$1(message) {
      return this._handleLifecycleMessage$body$ServicesBinding(message);
    },
    _handleLifecycleMessage$body$ServicesBinding(message) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_String),
        $async$returnValue, $async$self = this, t1;
      var $async$_handleLifecycleMessage$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
              message.toString;
              t1 = A.ServicesBinding__parseAppLifecycleMessage(message);
              t1.toString;
              $async$self.handleAppLifecycleStateChanged$1(t1);
              $async$returnValue = null;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleLifecycleMessage$1, $async$completer);
    },
    _handlePlatformMessage$1(methodCall) {
      return this._handlePlatformMessage$body$ServicesBinding(methodCall);
    },
    _handlePlatformMessage$body$ServicesBinding(methodCall) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$_handlePlatformMessage$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
              type$.List_dynamic._as(methodCall.$arguments);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handlePlatformMessage$1, $async$completer);
    },
    $isSchedulerBinding: 1
  };
  A.ServicesBinding__addLicenses_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, rawLicenses, $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
              rawLicenses = A._Cell$named("rawLicenses");
              $async$temp1 = rawLicenses;
              $async$goto = 2;
              return A._asyncAwait($.$get$rootBundle().loadString$2$cache("NOTICES", false), $async$call$0);
            case 2:
              // returning from await.
              $async$temp1.set$finalLocalValue($async$result);
              t1 = $async$self.controller;
              $async$temp1 = J;
              $async$goto = 3;
              return A._asyncAwait(A.compute(A.binding1_ServicesBinding__parseLicenses$closure(), rawLicenses._readLocal$0(), "parseLicenses", type$.String, type$.List_LicenseEntry), $async$call$0);
            case 3:
              // returning from await.
              $async$temp1.forEach$1$ax($async$result, J.get$add$ax(t1._readLocal$0()));
              $async$goto = 4;
              return A._asyncAwait(J.close$0$x(t1._readLocal$0()), $async$call$0);
            case 4:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 2
  };
  A._DefaultBinaryMessenger.prototype = {
    send$2(_, channel, message) {
      var t1 = new A._Future($.Zone__current, type$._Future_nullable_ByteData);
      $.$get$EnginePlatformDispatcher__instance()._sendPlatformMessage$3(channel, message, A.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback(new A._DefaultBinaryMessenger_send_closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_nullable_ByteData))));
      return t1;
    },
    setMessageHandler$2(channel, handler) {
      if (handler == null) {
        channel = $.$get$channelBuffers()._channels.$index(0, channel);
        if (channel != null)
          channel._channelCallbackRecord = null;
      } else
        $.$get$channelBuffers().setListener$2(channel, new A._DefaultBinaryMessenger_setMessageHandler_closure(handler));
    }
  };
  A._DefaultBinaryMessenger_send_closure.prototype = {
    call$1(reply) {
      var exception, stack, exception0, t1;
      try {
        this.completer.complete$1(0, reply);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("during a platform message response callback");
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "services library", t1, null, false));
      }
    },
    $signature: 39
  };
  A._DefaultBinaryMessenger_setMessageHandler_closure.prototype = {
    call$2(data, callback) {
      return this.$call$body$_DefaultBinaryMessenger_setMessageHandler_closure(data, callback);
    },
    $call$body$_DefaultBinaryMessenger_setMessageHandler_closure(data, callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, exception, stack, exception0, t1, response, $async$exception0;
      var $async$call$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
              response = null;
              $async$handler = 3;
              $async$goto = 6;
              return A._asyncAwait($async$self.handler.call$1(data), $async$call$2);
            case 6:
              // returning from await.
              response = $async$result;
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception0 = $async$currentError;
              exception = A.unwrapException($async$exception0);
              stack = A.getTraceFromException($async$exception0);
              t1 = A.ErrorDescription$("during a platform message callback");
              A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "services library", t1, null, false));
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 2:
              // uncaught
              $async$next = [1];
            case 4:
              // finally
              $async$handler = 1;
              callback.call$1(response);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$2, $async$completer);
    },
    $signature: 860
  };
  A.ClipboardData.prototype = {};
  A.KeyboardLockMode.prototype = {};
  A.KeyEvent.prototype = {};
  A.KeyDownEvent.prototype = {};
  A.KeyUpEvent.prototype = {};
  A.KeyRepeatEvent.prototype = {};
  A.HardwareKeyboard.prototype = {
    _dispatchKeyEvent$1($event) {
      var handled, handler, thisResult, exception, stack, t1, _i, exception0, t2, t3;
      this._duringDispatch = true;
      handled = false;
      for (t1 = this._handlers, _i = 0; false; ++_i) {
        handler = t1[_i];
        try {
          thisResult = handler.call$1($event);
          handled = handled || thisResult;
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          t2 = A.ErrorDescription$("while processing a key handler");
          t3 = $.$get$FlutterError_onError();
          if (t3 != null)
            t3.call$1(new A.FlutterErrorDetails(exception, stack, "services library", t2, null, false));
        }
      }
      this._duringDispatch = false;
      return handled;
    },
    handleKeyEvent$1($event) {
      var lockMode, t1, _this = this,
        physicalKey = $event.physicalKey,
        logicalKey = $event.logicalKey;
      if ($event instanceof A.KeyDownEvent) {
        _this._pressedKeys.$indexSet(0, physicalKey, logicalKey);
        lockMode = $.$get$KeyboardLockMode__knownLockModes().$index(0, logicalKey.keyId);
        if (lockMode != null) {
          t1 = _this._lockModes;
          if (t1.contains$1(0, lockMode))
            t1.remove$1(0, lockMode);
          else
            t1.add$1(0, lockMode);
        }
      } else if ($event instanceof A.KeyUpEvent)
        _this._pressedKeys.remove$1(0, physicalKey);
      return _this._dispatchKeyEvent$1($event);
    }
  };
  A.KeyDataTransitMode.prototype = {
    toString$0(_) {
      return "KeyDataTransitMode." + this._core$_name;
    }
  };
  A.KeyMessage.prototype = {
    toString$0(_) {
      return "KeyMessage(" + A.S(this.events) + ")";
    }
  };
  A.KeyEventManager.prototype = {
    handleKeyData$1(data) {
      var $event, _this = this,
        t1 = _this._transitMode;
      switch ((t1 == null ? _this._transitMode = B.KeyDataTransitMode_1 : t1).index) {
        case 0:
          return false;
        case 1:
          if (data.physical === 0 && data.logical === 0)
            return false;
          $event = A.KeyEventManager__eventFromData(data);
          if (data.synthesized && _this._keyEventsSinceLastMessage.length === 0) {
            _this._hardwareKeyboard.handleKeyEvent$1($event);
            _this._dispatchKeyMessage$2(A._setArrayType([$event], type$.JSArray_KeyEvent), null);
          } else
            _this._keyEventsSinceLastMessage.push($event);
          return false;
      }
    },
    _dispatchKeyMessage$2(keyEvents, rawEvent) {
      var message, exception, stack, exception0,
        t1 = this.keyMessageHandler;
      if (t1 != null) {
        message = new A.KeyMessage(keyEvents, rawEvent);
        try {
          t1 = t1.call$1(message);
          return t1;
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          t1 = A.ErrorDescription$("while processing the key message handler");
          A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "services library", t1, null, false));
        }
      }
      return false;
    },
    handleRawKeyMessage$1(message) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this, rawEvent, t1, t2, shouldDispatch, t3, handled, _i;
      var $async$handleRawKeyMessage$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._transitMode == null) {
                $async$self._transitMode = B.KeyDataTransitMode_0;
                $async$self._rawKeyboard._raw_keyboard$_listeners.push($async$self.get$_convertRawEventAndStore());
              }
              rawEvent = A.RawKeyEvent_RawKeyEvent$fromMessage(type$.Map_String_dynamic._as(message));
              if (rawEvent instanceof A.RawKeyDownEvent) {
                t1 = rawEvent.data;
                t2 = $async$self._skippedRawKeysPressed;
                if (!t1.shouldDispatchEvent$0()) {
                  t2.add$1(0, t1.get$physicalKey());
                  shouldDispatch = false;
                } else {
                  t2.remove$1(0, t1.get$physicalKey());
                  shouldDispatch = true;
                }
              } else if (rawEvent instanceof A.RawKeyUpEvent) {
                t1 = $async$self._skippedRawKeysPressed;
                t2 = rawEvent.data;
                if (t1.contains$1(0, t2.get$physicalKey())) {
                  t1.remove$1(0, t2.get$physicalKey());
                  shouldDispatch = false;
                } else
                  shouldDispatch = true;
              } else
                shouldDispatch = true;
              if (shouldDispatch) {
                $async$self._rawKeyboard.handleRawKeyEvent$1(rawEvent);
                for (t1 = $async$self._keyEventsSinceLastMessage, t2 = t1.length, t3 = $async$self._hardwareKeyboard, handled = false, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
                  handled = t3.handleKeyEvent$1(t1[_i]) || handled;
                handled = $async$self._dispatchKeyMessage$2(t1, rawEvent) || handled;
                B.JSArray_methods.clear$0(t1);
              } else
                handled = true;
              $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["handled", handled], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleRawKeyMessage$1, $async$completer);
    },
    _convertRawEventAndStore$1(rawEvent) {
      var t2, physicalKeysPressed, eventAfterwards, recordedLogicalMain, timeStamp, character, mainEvent, t3, t4, t5, t6, t7, t8, _null = null,
        t1 = rawEvent.data,
        physicalKey = t1.get$physicalKey(),
        logicalKey = t1.get$logicalKey();
      t1 = this._hardwareKeyboard._pressedKeys;
      t2 = A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>");
      physicalKeysPressed = A.LinkedHashSet_LinkedHashSet$of(new A.LinkedHashMapKeyIterable(t1, t2), t2._eval$1("Iterable.E"));
      eventAfterwards = A._setArrayType([], type$.JSArray_KeyEvent);
      recordedLogicalMain = t1.$index(0, physicalKey);
      timeStamp = $.ServicesBinding__instance.SchedulerBinding__lastRawTimeStamp;
      character = rawEvent.character;
      if (character === "")
        character = _null;
      if (rawEvent instanceof A.RawKeyDownEvent)
        if (recordedLogicalMain == null) {
          mainEvent = new A.KeyDownEvent(physicalKey, logicalKey, character, timeStamp, false);
          physicalKeysPressed.add$1(0, physicalKey);
        } else
          mainEvent = new A.KeyRepeatEvent(physicalKey, recordedLogicalMain, character, timeStamp, false);
      else if (recordedLogicalMain == null)
        mainEvent = _null;
      else {
        mainEvent = new A.KeyUpEvent(physicalKey, recordedLogicalMain, _null, timeStamp, false);
        physicalKeysPressed.remove$1(0, physicalKey);
      }
      for (t2 = this._rawKeyboard._keysPressed, t3 = A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"), t4 = t3._eval$1("Iterable.E"), t5 = physicalKeysPressed.difference$1(A.LinkedHashSet_LinkedHashSet$of(new A.LinkedHashMapKeyIterable(t2, t3), t4)), t5 = t5.get$iterator(t5), t6 = this._keyEventsSinceLastMessage; t5.moveNext$0();) {
        t7 = t5.get$current(t5);
        if (t7.$eq(0, physicalKey))
          eventAfterwards.push(new A.KeyUpEvent(t7, logicalKey, _null, timeStamp, true));
        else {
          t8 = t1.$index(0, t7);
          t8.toString;
          t6.push(new A.KeyUpEvent(t7, t8, _null, timeStamp, true));
        }
      }
      for (t1 = A.LinkedHashSet_LinkedHashSet$of(new A.LinkedHashMapKeyIterable(t2, t3), t4).difference$1(physicalKeysPressed), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        t4 = t2.$index(0, t3);
        t4.toString;
        t6.push(new A.KeyDownEvent(t3, t4, _null, timeStamp, true));
      }
      if (mainEvent != null)
        t6.push(mainEvent);
      B.JSArray_methods.addAll$1(t6, eventAfterwards);
    }
  };
  A._KeyEvent_Object_Diagnosticable.prototype = {};
  A.KeyboardKey.prototype = {};
  A.LogicalKeyboardKey.prototype = {
    get$keyLabel() {
      var t1 = this.keyId,
        t2 = A.LogicalKeyboardKey__unicodeKeyLabel(t1);
      t1 = t2 == null ? B.Map_mU2yL.$index(0, t1) : t2;
      return t1 == null ? "" : t1;
    },
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this.keyId);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.LogicalKeyboardKey && other.keyId === this.keyId;
    },
    get$synonyms() {
      var result = $.$get$LogicalKeyboardKey__synonyms().$index(0, this),
        t1 = type$.LogicalKeyboardKey;
      return result == null ? A.LinkedHashSet_LinkedHashSet$_empty(t1) : A.LinkedHashSet_LinkedHashSet$_literal([result], t1);
    }
  };
  A.PhysicalKeyboardKey.prototype = {
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this.usbHidUsage);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.PhysicalKeyboardKey && other.usbHidUsage === this.usbHidUsage;
    }
  };
  A._KeyboardKey_Object_Diagnosticable.prototype = {};
  A.MethodCall0.prototype = {
    toString$0(_) {
      return "MethodCall(" + this.method + ", " + A.S(this.$arguments) + ")";
    }
  };
  A.PlatformException.prototype = {
    toString$0(_) {
      var _this = this;
      return "PlatformException(" + _this.code + ", " + A.S(_this.message) + ", " + A.S(_this.details) + ", " + A.S(_this.stacktrace) + ")";
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.MissingPluginException.prototype = {
    toString$0(_) {
      return "MissingPluginException(" + A.S(this.message) + ")";
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.StringCodec.prototype = {
    decodeMessage$1(message) {
      if (message == null)
        return null;
      return B.Utf8Decoder_false.convert$1(A.NativeUint8List_NativeUint8List$view(message.buffer, message.byteOffset, message.byteLength));
    },
    encodeMessage$1(message) {
      if (message == null)
        return null;
      return A.NativeByteData_NativeByteData$view(B.C_Utf8Encoder.convert$1(message).buffer, 0, null);
    }
  };
  A.JSONMessageCodec0.prototype = {
    encodeMessage$1(message) {
      if (message == null)
        return null;
      return B.C_StringCodec.encodeMessage$1(B.C_JsonCodec.encode$1(message));
    },
    decodeMessage$1(message) {
      var t1;
      if (message == null)
        return message;
      t1 = B.C_StringCodec.decodeMessage$1(message);
      t1.toString;
      return B.C_JsonCodec.decode$1(0, t1);
    }
  };
  A.JSONMethodCodec0.prototype = {
    encodeMethodCall$1(methodCall) {
      var t1 = B.C_JSONMessageCodec0.encodeMessage$1(A.LinkedHashMap_LinkedHashMap$_literal(["method", methodCall.method, "args", methodCall.$arguments], type$.String, type$.nullable_Object));
      t1.toString;
      return t1;
    },
    decodeMethodCall$1(methodCall) {
      var t1, method, $arguments, _null = null,
        decoded = B.C_JSONMessageCodec0.decodeMessage$1(methodCall);
      if (!type$.Map_dynamic_dynamic._is(decoded))
        throw A.wrapException(A.FormatException$("Expected method call Map, got " + A.S(decoded), _null, _null));
      t1 = J.getInterceptor$asx(decoded);
      method = t1.$index(decoded, "method");
      $arguments = t1.$index(decoded, "args");
      if (typeof method == "string")
        return new A.MethodCall0(method, $arguments);
      throw A.wrapException(A.FormatException$("Invalid method call: " + A.S(decoded), _null, _null));
    },
    decodeEnvelope$1(envelope) {
      var t1, t2, t3, _null = null,
        decoded = B.C_JSONMessageCodec0.decodeMessage$1(envelope);
      if (!type$.List_dynamic._is(decoded))
        throw A.wrapException(A.FormatException$("Expected envelope List, got " + A.S(decoded), _null, _null));
      t1 = J.getInterceptor$asx(decoded);
      if (t1.get$length(decoded) === 1)
        return t1.$index(decoded, 0);
      if (t1.get$length(decoded) === 3)
        if (typeof t1.$index(decoded, 0) == "string")
          t2 = t1.$index(decoded, 1) == null || typeof t1.$index(decoded, 1) == "string";
        else
          t2 = false;
      else
        t2 = false;
      if (t2) {
        t2 = A._asString(t1.$index(decoded, 0));
        t3 = A._asStringQ(t1.$index(decoded, 1));
        throw A.wrapException(A.PlatformException$(t2, t1.$index(decoded, 2), t3, _null));
      }
      if (t1.get$length(decoded) === 4)
        if (typeof t1.$index(decoded, 0) == "string")
          if (t1.$index(decoded, 1) == null || typeof t1.$index(decoded, 1) == "string")
            t2 = t1.$index(decoded, 3) == null || typeof t1.$index(decoded, 3) == "string";
          else
            t2 = false;
        else
          t2 = false;
      else
        t2 = false;
      if (t2) {
        t2 = A._asString(t1.$index(decoded, 0));
        t3 = A._asStringQ(t1.$index(decoded, 1));
        throw A.wrapException(A.PlatformException$(t2, t1.$index(decoded, 2), t3, A._asStringQ(t1.$index(decoded, 3))));
      }
      throw A.wrapException(A.FormatException$("Invalid envelope: " + A.S(decoded), _null, _null));
    },
    encodeSuccessEnvelope$1(result) {
      var t1 = B.C_JSONMessageCodec0.encodeMessage$1([result]);
      t1.toString;
      return t1;
    },
    encodeErrorEnvelope$3$code$details$message(code, details, message) {
      var t1 = B.C_JSONMessageCodec0.encodeMessage$1([code, message, details]);
      t1.toString;
      return t1;
    },
    encodeErrorEnvelope$2$code$message(code, message) {
      return this.encodeErrorEnvelope$3$code$details$message(code, null, message);
    }
  };
  A.StandardMessageCodec0.prototype = {
    encodeMessage$1(message) {
      var buffer;
      if (message == null)
        return null;
      buffer = A.WriteBuffer_WriteBuffer(64);
      this.writeValue$2(0, buffer, message);
      return buffer.done$0();
    },
    decodeMessage$1(message) {
      var buffer, result;
      if (message == null)
        return null;
      buffer = new A.ReadBuffer(message);
      result = this.readValue$1(0, buffer);
      if (buffer._serialization$_position < message.byteLength)
        throw A.wrapException(B.FormatException_oCg);
      return result;
    },
    writeValue$2(_, buffer, value) {
      var t1, t2, asciiBytes, utf8Bytes, utf8Offset, i, char, elementSize, end, _this = this, _null = null;
      if (value == null)
        buffer._serialization$_add$1(0, 0);
      else if (A._isBool(value))
        buffer._serialization$_add$1(0, value ? 1 : 2);
      else if (typeof value == "number") {
        buffer._serialization$_add$1(0, 6);
        buffer._alignTo$1(8);
        t1 = $.$get$Endian_host();
        buffer._eightBytes.setFloat64(0, value, B.C_Endian === t1);
        buffer._addAll$1(buffer._eightBytesAsList);
      } else if (A._isInt(value)) {
        t1 = -2147483648 <= value && value <= 2147483647;
        t2 = buffer._eightBytes;
        if (t1) {
          buffer._serialization$_add$1(0, 3);
          t1 = $.$get$Endian_host();
          t2.setInt32(0, value, B.C_Endian === t1);
          buffer._addAll$3(buffer._eightBytesAsList, 0, 4);
        } else {
          buffer._serialization$_add$1(0, 4);
          t1 = $.$get$Endian_host();
          B.NativeByteData_methods.setInt64$3(t2, 0, value, t1);
        }
      } else if (typeof value == "string") {
        buffer._serialization$_add$1(0, 7);
        t1 = value.length;
        asciiBytes = new Uint8Array(t1);
        i = 0;
        while (true) {
          if (!(i < t1)) {
            utf8Bytes = _null;
            utf8Offset = 0;
            break;
          }
          char = B.JSString_methods._codeUnitAt$1(value, i);
          if (char <= 127)
            asciiBytes[i] = char;
          else {
            utf8Bytes = B.C_Utf8Encoder.convert$1(B.JSString_methods.substring$1(value, i));
            utf8Offset = i;
            break;
          }
          ++i;
        }
        if (utf8Bytes != null) {
          _this.writeSize$2(buffer, utf8Offset + utf8Bytes.length);
          elementSize = asciiBytes.BYTES_PER_ELEMENT;
          end = A.RangeError_checkValidRange(0, utf8Offset, B.JSInt_methods.$tdiv(asciiBytes.byteLength, elementSize), _null, _null);
          buffer._append$1(A.NativeUint8List_NativeUint8List$view(asciiBytes.buffer, asciiBytes.byteOffset + 0 * elementSize, (end - 0) * elementSize));
          buffer._append$1(utf8Bytes);
        } else {
          _this.writeSize$2(buffer, t1);
          buffer._append$1(asciiBytes);
        }
      } else if (type$.Uint8List._is(value)) {
        buffer._serialization$_add$1(0, 8);
        _this.writeSize$2(buffer, value.length);
        buffer._append$1(value);
      } else if (type$.Int32List._is(value)) {
        buffer._serialization$_add$1(0, 9);
        t1 = value.length;
        _this.writeSize$2(buffer, t1);
        buffer._alignTo$1(4);
        buffer._append$1(A.NativeUint8List_NativeUint8List$view(value.buffer, value.byteOffset, 4 * t1));
      } else if (type$.Float32List._is(value)) {
        buffer._serialization$_add$1(0, 14);
        t1 = value.length;
        _this.writeSize$2(buffer, t1);
        buffer._alignTo$1(4);
        buffer._append$1(A.NativeUint8List_NativeUint8List$view(value.buffer, value.byteOffset, 4 * t1));
      } else if (type$.Float64List._is(value)) {
        buffer._serialization$_add$1(0, 11);
        t1 = value.length;
        _this.writeSize$2(buffer, t1);
        buffer._alignTo$1(8);
        buffer._append$1(A.NativeUint8List_NativeUint8List$view(value.buffer, value.byteOffset, 8 * t1));
      } else if (type$.List_dynamic._is(value)) {
        buffer._serialization$_add$1(0, 12);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        for (t1 = t1.get$iterator(value); t1.moveNext$0();)
          _this.writeValue$2(0, buffer, t1.get$current(t1));
      } else if (type$.Map_dynamic_dynamic._is(value)) {
        buffer._serialization$_add$1(0, 13);
        t1 = J.getInterceptor$asx(value);
        _this.writeSize$2(buffer, t1.get$length(value));
        t1.forEach$1(value, new A.StandardMessageCodec_writeValue_closure(_this, buffer));
      } else
        throw A.wrapException(A.ArgumentError$value(value, _null, _null));
    },
    readValue$1(_, buffer) {
      if (buffer._serialization$_position >= buffer.data.byteLength)
        throw A.wrapException(B.FormatException_oCg);
      return this.readValueOfType$2(buffer.getUint8$0(0), buffer);
    },
    readValueOfType$2(type, buffer) {
      var t1, t2, value, $length, list, result, i, t3, _this = this;
      switch (type) {
        case 0:
          return null;
        case 1:
          return true;
        case 2:
          return false;
        case 3:
          t1 = buffer._serialization$_position;
          t2 = $.$get$Endian_host();
          value = buffer.data.getInt32(t1, B.C_Endian === t2);
          buffer._serialization$_position += 4;
          return value;
        case 4:
          return buffer.getInt64$0(0);
        case 6:
          buffer._alignTo$1(8);
          t1 = buffer._serialization$_position;
          t2 = $.$get$Endian_host();
          value = buffer.data.getFloat64(t1, B.C_Endian === t2);
          buffer._serialization$_position += 8;
          return value;
        case 5:
        case 7:
          $length = _this.readSize$1(buffer);
          return B.Utf8Decoder_false.convert$1(buffer.getUint8List$1($length));
        case 8:
          return buffer.getUint8List$1(_this.readSize$1(buffer));
        case 9:
          $length = _this.readSize$1(buffer);
          buffer._alignTo$1(4);
          t1 = buffer.data;
          list = A.NativeInt32List_NativeInt32List$view(t1.buffer, t1.byteOffset + buffer._serialization$_position, $length);
          buffer._serialization$_position = buffer._serialization$_position + 4 * $length;
          return list;
        case 10:
          return buffer.getInt64List$1(_this.readSize$1(buffer));
        case 14:
          $length = _this.readSize$1(buffer);
          buffer._alignTo$1(4);
          t1 = buffer.data;
          list = A.NativeFloat32List_NativeFloat32List$view(t1.buffer, t1.byteOffset + buffer._serialization$_position, $length);
          buffer._serialization$_position = buffer._serialization$_position + 4 * $length;
          return list;
        case 11:
          $length = _this.readSize$1(buffer);
          buffer._alignTo$1(8);
          t1 = buffer.data;
          list = A.NativeFloat64List_NativeFloat64List$view(t1.buffer, t1.byteOffset + buffer._serialization$_position, $length);
          buffer._serialization$_position = buffer._serialization$_position + 8 * $length;
          return list;
        case 12:
          $length = _this.readSize$1(buffer);
          result = A.List_List$filled($length, null, false, type$.nullable_Object);
          for (t1 = buffer.data, i = 0; i < $length; ++i) {
            t2 = buffer._serialization$_position;
            if (t2 >= t1.byteLength)
              A.throwExpression(B.FormatException_oCg);
            buffer._serialization$_position = t2 + 1;
            result[i] = _this.readValueOfType$2(t1.getUint8(t2), buffer);
          }
          return result;
        case 13:
          $length = _this.readSize$1(buffer);
          t1 = type$.nullable_Object;
          result = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
          for (t1 = buffer.data, i = 0; i < $length; ++i) {
            t2 = buffer._serialization$_position;
            if (t2 >= t1.byteLength)
              A.throwExpression(B.FormatException_oCg);
            buffer._serialization$_position = t2 + 1;
            t2 = _this.readValueOfType$2(t1.getUint8(t2), buffer);
            t3 = buffer._serialization$_position;
            if (t3 >= t1.byteLength)
              A.throwExpression(B.FormatException_oCg);
            buffer._serialization$_position = t3 + 1;
            result.$indexSet(0, t2, _this.readValueOfType$2(t1.getUint8(t3), buffer));
          }
          return result;
        default:
          throw A.wrapException(B.FormatException_oCg);
      }
    },
    writeSize$2(buffer, value) {
      var t1, t2;
      if (value < 254)
        buffer._serialization$_add$1(0, value);
      else {
        t1 = buffer._eightBytes;
        if (value <= 65535) {
          buffer._serialization$_add$1(0, 254);
          t2 = $.$get$Endian_host();
          t1.setUint16(0, value, B.C_Endian === t2);
          buffer._addAll$3(buffer._eightBytesAsList, 0, 2);
        } else {
          buffer._serialization$_add$1(0, 255);
          t2 = $.$get$Endian_host();
          t1.setUint32(0, value, B.C_Endian === t2);
          buffer._addAll$3(buffer._eightBytesAsList, 0, 4);
        }
      }
    },
    readSize$1(buffer) {
      var t1, t2,
        value = buffer.getUint8$0(0);
      switch (value) {
        case 254:
          t1 = buffer._serialization$_position;
          t2 = $.$get$Endian_host();
          value = buffer.data.getUint16(t1, B.C_Endian === t2);
          buffer._serialization$_position += 2;
          return value;
        case 255:
          t1 = buffer._serialization$_position;
          t2 = $.$get$Endian_host();
          value = buffer.data.getUint32(t1, B.C_Endian === t2);
          buffer._serialization$_position += 4;
          return value;
        default:
          return value;
      }
    }
  };
  A.StandardMessageCodec_writeValue_closure.prototype = {
    call$2(key, value) {
      var t1 = this.$this,
        t2 = this.buffer;
      t1.writeValue$2(0, t2, key);
      t1.writeValue$2(0, t2, value);
    },
    $signature: 105
  };
  A.StandardMethodCodec0.prototype = {
    encodeMethodCall$1(methodCall) {
      var buffer = A.WriteBuffer_WriteBuffer(64);
      B.C_StandardMessageCodec.writeValue$2(0, buffer, methodCall.method);
      B.C_StandardMessageCodec.writeValue$2(0, buffer, methodCall.$arguments);
      return buffer.done$0();
    },
    decodeMethodCall$1(methodCall) {
      var buffer, method, $arguments;
      methodCall.toString;
      buffer = new A.ReadBuffer(methodCall);
      method = B.C_StandardMessageCodec.readValue$1(0, buffer);
      $arguments = B.C_StandardMessageCodec.readValue$1(0, buffer);
      if (typeof method == "string" && buffer._serialization$_position >= methodCall.byteLength)
        return new A.MethodCall0(method, $arguments);
      else
        throw A.wrapException(B.FormatException_Qi2);
    },
    encodeSuccessEnvelope$1(result) {
      var buffer = A.WriteBuffer_WriteBuffer(64);
      buffer._serialization$_add$1(0, 0);
      B.C_StandardMessageCodec.writeValue$2(0, buffer, result);
      return buffer.done$0();
    },
    encodeErrorEnvelope$3$code$details$message(code, details, message) {
      var buffer = A.WriteBuffer_WriteBuffer(64);
      buffer._serialization$_add$1(0, 1);
      B.C_StandardMessageCodec.writeValue$2(0, buffer, code);
      B.C_StandardMessageCodec.writeValue$2(0, buffer, message);
      B.C_StandardMessageCodec.writeValue$2(0, buffer, details);
      return buffer.done$0();
    },
    encodeErrorEnvelope$2$code$message(code, message) {
      return this.encodeErrorEnvelope$3$code$details$message(code, null, message);
    },
    decodeEnvelope$1(envelope) {
      var buffer, errorCode, errorMessage, errorDetails, errorStacktrace, t1;
      if (envelope.byteLength === 0)
        throw A.wrapException(B.FormatException_iDw);
      buffer = new A.ReadBuffer(envelope);
      if (buffer.getUint8$0(0) === 0)
        return B.C_StandardMessageCodec.readValue$1(0, buffer);
      errorCode = B.C_StandardMessageCodec.readValue$1(0, buffer);
      errorMessage = B.C_StandardMessageCodec.readValue$1(0, buffer);
      errorDetails = B.C_StandardMessageCodec.readValue$1(0, buffer);
      errorStacktrace = buffer._serialization$_position < envelope.byteLength ? A._asStringQ(B.C_StandardMessageCodec.readValue$1(0, buffer)) : null;
      if (typeof errorCode == "string")
        t1 = (errorMessage == null || typeof errorMessage == "string") && buffer._serialization$_position >= envelope.byteLength;
      else
        t1 = false;
      if (t1)
        throw A.wrapException(A.PlatformException$(errorCode, errorDetails, A._asStringQ(errorMessage), errorStacktrace));
      else
        throw A.wrapException(B.FormatException_pSr);
    }
  };
  A.MouseCursorManager.prototype = {
    handleDeviceCursorUpdate$3(device, triggeringEvent, cursorCandidates) {
      var t1, lastSession, nextCursor, nextSession;
      if (type$.PointerRemovedEvent._is(triggeringEvent)) {
        this._lastSession.remove$1(0, device);
        return;
      }
      t1 = this._lastSession;
      lastSession = t1.$index(0, device);
      nextCursor = A._DeferringMouseCursor_firstNonDeferred(cursorCandidates);
      if (nextCursor == null)
        nextCursor = this.fallbackMouseCursor;
      if (J.$eq$(lastSession == null ? null : type$.SystemMouseCursor._as(lastSession.cursor), nextCursor))
        return;
      nextSession = nextCursor.createSession$1(device);
      t1.$indexSet(0, device, nextSession);
      B.OptionalMethodChannel_meQ.invokeMethod$1$2("activateSystemCursor", A.LinkedHashMap_LinkedHashMap$_literal(["device", nextSession.device, "kind", type$.SystemMouseCursor._as(nextSession.cursor).kind], type$.String, type$.dynamic), type$.void);
    }
  };
  A.MouseCursorSession.prototype = {};
  A.MouseCursor0.prototype = {
    toString$0(_) {
      var debugDescription = this.get$debugDescription();
      return debugDescription;
    }
  };
  A._DeferringMouseCursor.prototype = {
    createSession$1(device) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    get$debugDescription() {
      return "defer";
    }
  };
  A._SystemMouseCursorSession.prototype = {};
  A.SystemMouseCursor.prototype = {
    get$debugDescription() {
      return "SystemMouseCursor(" + this.kind + ")";
    },
    createSession$1(device) {
      return new A._SystemMouseCursorSession(this, device);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.SystemMouseCursor && other.kind === this.kind;
    },
    get$hashCode(_) {
      return B.JSString_methods.get$hashCode(this.kind);
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A._MouseCursor_Object_Diagnosticable.prototype = {};
  A.BasicMessageChannel.prototype = {
    get$binaryMessenger() {
      var t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__defaultBinaryMessenger;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    send$1(_, message) {
      return this.send$body$BasicMessageChannel(0, message, this.$ti._eval$1("1?"));
    },
    send$body$BasicMessageChannel(_, message, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$send$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.codec;
              $async$temp1 = t1;
              $async$goto = 3;
              return A._asyncAwait($async$self.get$binaryMessenger().send$2(0, $async$self.name, t1.encodeMessage$1(message)), $async$send$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.decodeMessage$1($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$send$1, $async$completer);
    },
    setMessageHandler$1(handler) {
      this.get$binaryMessenger().setMessageHandler$2(this.name, new A.BasicMessageChannel_setMessageHandler_closure(this, handler));
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.BasicMessageChannel_setMessageHandler_closure.prototype = {
    call$1(message) {
      return this.$call$body$BasicMessageChannel_setMessageHandler_closure(message);
    },
    $call$body$BasicMessageChannel_setMessageHandler_closure(message) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ByteData),
        $async$returnValue, $async$self = this, t1, $async$temp1;
      var $async$call$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.$this.codec;
              $async$temp1 = t1;
              $async$goto = 3;
              return A._asyncAwait($async$self.handler.call$1(t1.decodeMessage$1(message)), $async$call$1);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.encodeMessage$1($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 268
  };
  A.MethodChannel.prototype = {
    get$binaryMessenger() {
      var t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__defaultBinaryMessenger;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _invokeMethod$1$3$arguments$missingOk(method, $arguments, missingOk, $T) {
      return this._invokeMethod$body$MethodChannel(method, $arguments, missingOk, $T, $T._eval$1("0?"));
    },
    _invokeMethod$body$MethodChannel(method, $arguments, missingOk, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t1, input, t2, result;
      var $async$_invokeMethod$1$3$arguments$missingOk = 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.codec;
              input = t1.encodeMethodCall$1(new A.MethodCall0(method, $arguments));
              t2 = $async$self.name;
              $async$goto = 3;
              return A._asyncAwait($async$self.get$binaryMessenger().send$2(0, t2, input), $async$_invokeMethod$1$3$arguments$missingOk);
            case 3:
              // returning from await.
              result = $async$result;
              if (result == null) {
                if (missingOk) {
                  $async$returnValue = null;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                throw A.wrapException(A.MissingPluginException$("No implementation found for method " + method + " on channel " + t2));
              }
              $async$returnValue = $T._eval$1("0?")._as(t1.decodeEnvelope$1(result));
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_invokeMethod$1$3$arguments$missingOk, $async$completer);
    },
    invokeMethod$1$2(method, $arguments, $T) {
      return this._invokeMethod$1$3$arguments$missingOk(method, $arguments, false, $T);
    },
    invokeListMethod$1$2(method, $arguments, $T) {
      return this.invokeListMethod$body$MethodChannel(method, $arguments, $T, $T._eval$1("List<0>?"));
    },
    invokeListMethod$body$MethodChannel(method, $arguments, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, result;
      var $async$invokeListMethod$1$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.invokeMethod$1$2(method, $arguments, type$.List_dynamic), $async$invokeListMethod$1$2);
            case 3:
              // returning from await.
              result = $async$result;
              $async$returnValue = result == null ? null : J.cast$1$0$ax(result, $T);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeListMethod$1$2, $async$completer);
    },
    setMethodCallHandler$1(handler) {
      var t1 = this.get$binaryMessenger();
      t1.setMessageHandler$2(this.name, new A.MethodChannel_setMethodCallHandler_closure(this, handler));
    },
    _handleAsMethodCall$2(message, handler) {
      return this._handleAsMethodCall$body$MethodChannel(message, handler);
    },
    _handleAsMethodCall$body$MethodChannel(message, handler) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_ByteData),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, error, t2, exception, t3, t1, $call, $async$exception, $async$temp1;
      var $async$_handleAsMethodCall$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.codec;
              $call = t1.decodeMethodCall$1(message);
              $async$handler = 4;
              $async$temp1 = t1;
              $async$goto = 7;
              return A._asyncAwait(handler.call$1($call), $async$_handleAsMethodCall$2);
            case 7:
              // returning from await.
              t2 = $async$temp1.encodeSuccessEnvelope$1($async$result);
              $async$returnValue = t2;
              // goto return
              $async$goto = 1;
              break;
              $async$handler = 2;
              // goto after finally
              $async$goto = 6;
              break;
            case 4:
              // catch
              $async$handler = 3;
              $async$exception = $async$currentError;
              t2 = A.unwrapException($async$exception);
              if (t2 instanceof A.PlatformException) {
                e = t2;
                t2 = e.code;
                t3 = e.message;
                $async$returnValue = t1.encodeErrorEnvelope$3$code$details$message(t2, e.details, t3);
                // goto return
                $async$goto = 1;
                break;
              } else if (t2 instanceof A.MissingPluginException) {
                $async$returnValue = null;
                // goto return
                $async$goto = 1;
                break;
              } else {
                error = t2;
                t1 = t1.encodeErrorEnvelope$2$code$message("error", J.toString$0$(error));
                $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
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleAsMethodCall$2, $async$completer);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.MethodChannel_setMethodCallHandler_closure.prototype = {
    call$1(message) {
      return this.$this._handleAsMethodCall$2(message, this.handler);
    },
    $signature: 268
  };
  A.OptionalMethodChannel.prototype = {
    invokeMethod$1$2(method, $arguments, $T) {
      return this.invokeMethod$body$OptionalMethodChannel(method, $arguments, $T, $T._eval$1("0?"));
    },
    invokeMethod$1$1(method, $T) {
      return this.invokeMethod$1$2(method, null, $T);
    },
    invokeMethod$body$OptionalMethodChannel(method, $arguments, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this;
      var $async$invokeMethod$1$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$returnValue = $async$self.super$MethodChannel$_invokeMethod(method, $arguments, true, $T);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$invokeMethod$1$2, $async$completer);
    }
  };
  A.KeyboardSide.prototype = {
    toString$0(_) {
      return "KeyboardSide." + this._core$_name;
    }
  };
  A.ModifierKey.prototype = {
    toString$0(_) {
      return "ModifierKey." + this._core$_name;
    }
  };
  A.RawKeyEventData.prototype = {
    get$modifiersPressed() {
      var _i, key, side,
        result = A.LinkedHashMap_LinkedHashMap$_empty(type$.ModifierKey, type$.KeyboardSide);
      for (_i = 0; _i < 9; ++_i) {
        key = B.List_4LR[_i];
        if (this.isModifierPressed$1(key)) {
          side = this.getModifierSide$1(key);
          if (side != null)
            result.$indexSet(0, key, side);
        }
      }
      return result;
    },
    shouldDispatchEvent$0() {
      return true;
    }
  };
  A.RawKeyEvent.prototype = {};
  A.RawKeyEvent_RawKeyEvent$fromMessage_dataFromWeb.prototype = {
    call$0() {
      var t4, t5, t6,
        t1 = this.message,
        t2 = J.getInterceptor$asx(t1),
        key = A._asStringQ(t2.$index(t1, "key")),
        t3 = key == null;
      if (!t3) {
        t4 = key.length;
        t4 = t4 !== 0 && t4 === 1;
      } else
        t4 = false;
      if (t4)
        this._box_0.character = key;
      t4 = A._asStringQ(t2.$index(t1, "code"));
      if (t4 == null)
        t4 = "";
      t3 = t3 ? "" : key;
      t5 = A._asIntQ(t2.$index(t1, "location"));
      if (t5 == null)
        t5 = 0;
      t6 = A._asIntQ(t2.$index(t1, "metaState"));
      if (t6 == null)
        t6 = 0;
      t1 = A._asIntQ(t2.$index(t1, "keyCode"));
      return new A.RawKeyEventDataWeb(t4, t3, t5, t6, t1 == null ? 0 : t1);
    },
    $signature: 863
  };
  A.RawKeyDownEvent.prototype = {};
  A.RawKeyUpEvent.prototype = {};
  A.RawKeyboard.prototype = {
    handleRawKeyEvent$1($event) {
      var listener, exception, stack, t1, t2, t3, _i, exception0, t4, t5, _this = this;
      if ($event instanceof A.RawKeyDownEvent) {
        t1 = $event.data;
        _this._keysPressed.$indexSet(0, t1.get$physicalKey(), t1.get$logicalKey());
      } else if ($event instanceof A.RawKeyUpEvent)
        _this._keysPressed.remove$1(0, $event.data.get$physicalKey());
      _this._synchronizeModifiers$1($event);
      for (t1 = _this._raw_keyboard$_listeners, t2 = A.List_List$of(t1, true, type$.void_Function_RawKeyEvent), t3 = t2.length, _i = 0; _i < t3; ++_i) {
        listener = t2[_i];
        try {
          if (B.JSArray_methods.contains$1(t1, listener))
            listener.call$1($event);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          t4 = A.ErrorDescription$("while processing a raw key listener");
          t5 = $.$get$FlutterError_onError();
          if (t5 != null)
            t5.call$1(new A.FlutterErrorDetails(exception, stack, "services library", t4, null, false));
        }
      }
      return false;
    },
    _synchronizeModifiers$1($event) {
      var thisKeyModifier, _i, key, t6, thisModifierKeys, mappedKeys, t7, t8, t9, logicalKey,
        t1 = $event.data,
        modifiersPressed = t1.get$modifiersPressed(),
        t2 = type$.PhysicalKeyboardKey,
        modifierKeys = A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.LogicalKeyboardKey),
        anySideKeys = A.LinkedHashSet_LinkedHashSet$_empty(t2),
        t3 = this._keysPressed,
        t4 = A.LinkedHashSet_LinkedHashSet$of(new A.LinkedHashMapKeyIterable(t3, A._instanceType(t3)._eval$1("LinkedHashMapKeyIterable<1>")), t2),
        t5 = $event instanceof A.RawKeyDownEvent;
      if (t5)
        t4.add$1(0, t1.get$physicalKey());
      for (thisKeyModifier = null, _i = 0; _i < 9; ++_i) {
        key = B.List_4LR[_i];
        t6 = $.$get$RawKeyboard__modifierKeyMap();
        thisModifierKeys = t6.$index(0, new A._ModifierSidePair(key, B.KeyboardSide_3));
        if (thisModifierKeys == null)
          continue;
        if (thisModifierKeys.contains$1(0, t1.get$physicalKey()))
          thisKeyModifier = key;
        if (modifiersPressed.$index(0, key) === B.KeyboardSide_0) {
          anySideKeys.addAll$1(0, thisModifierKeys);
          if (thisModifierKeys.any$1(0, t4.get$contains(t4)))
            continue;
        }
        mappedKeys = modifiersPressed.$index(0, key) == null ? A.LinkedHashSet_LinkedHashSet$_empty(t2) : t6.$index(0, new A._ModifierSidePair(key, modifiersPressed.$index(0, key)));
        if (mappedKeys == null)
          continue;
        for (t6 = A._instanceType(mappedKeys), t7 = new A._LinkedHashSetIterator(mappedKeys, mappedKeys._collection$_modifications, t6._eval$1("_LinkedHashSetIterator<1>")), t7._collection$_cell = mappedKeys._collection$_first, t6 = t6._precomputed1; t7.moveNext$0();) {
          t8 = t7._collection$_current;
          if (t8 == null)
            t8 = t6._as(t8);
          t9 = $.$get$RawKeyboard__allModifiers().$index(0, t8);
          t9.toString;
          modifierKeys.$indexSet(0, t8, t9);
        }
      }
      t2 = $.$get$RawKeyboard__allModifiersExceptFn();
      t4 = A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>");
      new A.WhereIterable(new A.LinkedHashMapKeyIterable(t2, t4), new A.RawKeyboard__synchronizeModifiers_closure(anySideKeys), t4._eval$1("WhereIterable<Iterable.E>")).forEach$1(0, t3.get$remove(t3));
      if (!(t1 instanceof A.RawKeyEventDataFuchsia) && !(t1 instanceof A.RawKeyEventDataMacOs))
        t3.remove$1(0, B.PhysicalKeyboardKey_18);
      t3.addAll$1(0, modifierKeys);
      if (t5 && thisKeyModifier != null && !t3.containsKey$1(0, t1.get$physicalKey()))
        if (t1 instanceof A.RawKeyEventDataLinux && t1.get$physicalKey().$eq(0, B.PhysicalKeyboardKey_458982)) {
          logicalKey = t2.$index(0, t1.get$physicalKey());
          if (logicalKey != null)
            t3.$indexSet(0, t1.get$physicalKey(), logicalKey);
        }
    }
  };
  A.RawKeyboard__synchronizeModifiers_closure.prototype = {
    call$1(key) {
      return !this.anySideKeys.contains$1(0, key);
    },
    $signature: 864
  };
  A._ModifierSidePair.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A._ModifierSidePair && other.modifier === this.modifier && other.side == this.side;
    },
    get$hashCode(_) {
      return A.Object_hash(this.modifier, this.side, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._RawKeyEvent_Object_Diagnosticable.prototype = {};
  A._RawKeyEventData_Object_Diagnosticable.prototype = {};
  A.RawKeyEventDataFuchsia.prototype = {};
  A.RawKeyEventDataLinux.prototype = {};
  A.RawKeyEventDataMacOs.prototype = {};
  A.RawKeyEventDataWeb.prototype = {
    get$keyLabel() {
      var t1 = this.key;
      if (t1 === "Unidentified")
        t1 = "";
      else {
        t1 = A._unicodeChar(t1);
        if (t1 == null)
          t1 = "";
      }
      return t1;
    },
    get$physicalKey() {
      var t1 = this.code,
        t2 = B.Map_1k5Ax.$index(0, t1);
      return t2 == null ? new A.PhysicalKeyboardKey(98784247808 + B.JSString_methods.get$hashCode(t1)) : t2;
    },
    get$logicalKey() {
      var newKey,
        t1 = this.key,
        t2 = B.Map_8Tc9P.$index(0, t1),
        maybeLocationKey = t2 == null ? null : t2[this.location];
      if (maybeLocationKey != null)
        return maybeLocationKey;
      t2 = this.code;
      newKey = B.Map_0mOHH.$index(0, t2);
      if (newKey != null)
        return newKey;
      if (t1.length === 1)
        return new A.LogicalKeyboardKey(B.JSString_methods._codeUnitAt$1(t1.toLowerCase(), 0));
      return new A.LogicalKeyboardKey(B.JSString_methods.get$hashCode(t2) + 98784247808);
    },
    isModifierPressed$1(key) {
      var _this = this;
      switch (key.index) {
        case 0:
          return (_this.metaState & 4) !== 0;
        case 1:
          return (_this.metaState & 1) !== 0;
        case 2:
          return (_this.metaState & 2) !== 0;
        case 3:
          return (_this.metaState & 8) !== 0;
        case 5:
          return (_this.metaState & 16) !== 0;
        case 4:
          return (_this.metaState & 32) !== 0;
        case 6:
          return (_this.metaState & 64) !== 0;
        case 7:
        case 8:
          return false;
      }
    },
    getModifierSide$1(key) {
      return B.KeyboardSide_0;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      return other instanceof A.RawKeyEventDataWeb && other.code === _this.code && other.key === _this.key && other.location === _this.location && other.metaState === _this.metaState && other.keyCode === _this.keyCode;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.code, _this.key, _this.location, _this.metaState, _this.keyCode, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.RestorationManager.prototype = {
    get$rootBucket() {
      var _this = this;
      if (_this._rootBucketIsValid)
        return new A.SynchronousFuture(_this._rootBucket, type$.SynchronousFuture_nullable_RestorationBucket);
      if (_this._pendingRootBucket == null) {
        _this._pendingRootBucket = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_nullable_RestorationBucket), type$._AsyncCompleter_nullable_RestorationBucket);
        _this._getRootBucketFromEngine$0();
      }
      return _this._pendingRootBucket.future;
    },
    _getRootBucketFromEngine$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, config;
      var $async$_getRootBucketFromEngine$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(B.OptionalMethodChannel_fgL.invokeMethod$1$1("get", type$.Map_of_nullable_Object_and_nullable_Object), $async$_getRootBucketFromEngine$0);
            case 3:
              // returning from await.
              config = $async$result;
              if ($async$self._pendingRootBucket == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$self._parseAndHandleRestorationUpdateFromEngine$1(config);
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_getRootBucketFromEngine$0, $async$completer);
    },
    _parseAndHandleRestorationUpdateFromEngine$1(update) {
      var t2,
        t1 = update == null;
      if (!t1) {
        t2 = J.$index$asx(update, "enabled");
        t2.toString;
        A._asBool(t2);
      } else
        t2 = false;
      this.handleRestorationUpdateFromEngine$2$data$enabled(t1 ? null : type$.nullable_Uint8List._as(J.$index$asx(update, "data")), t2);
    },
    handleRestorationUpdateFromEngine$2$data$enabled(data, enabled) {
      var oldRoot, t2, _this = this,
        t1 = _this._rootBucketIsValid && enabled;
      _this._isReplacing = t1;
      if (t1)
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.RestorationManager_handleRestorationUpdateFromEngine_closure(_this));
      oldRoot = _this._rootBucket;
      if (enabled) {
        t1 = _this._decodeRestorationData$1(data);
        t2 = type$.String;
        if (t1 == null) {
          t1 = type$.nullable_Object;
          t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
        }
        t2 = new A.RestorationBucket(t1, _this, null, "root", A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.RestorationBucket), A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.List_RestorationBucket));
        t1 = t2;
      } else
        t1 = null;
      _this._rootBucket = t1;
      _this._rootBucketIsValid = true;
      t2 = _this._pendingRootBucket;
      if (t2 != null)
        t2.complete$1(0, t1);
      _this._pendingRootBucket = null;
      if (_this._rootBucket != oldRoot) {
        _this.notifyListeners$0();
        if (oldRoot != null)
          oldRoot.dispose$0();
      }
    },
    _methodHandler$1($call) {
      return this._methodHandler$body$RestorationManager($call);
    },
    _methodHandler$body$RestorationManager($call) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$_methodHandler$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 = $call.method;
              switch (t1) {
                case "push":
                  $async$self._parseAndHandleRestorationUpdateFromEngine$1(type$.Map_of_nullable_Object_and_nullable_Object._as($call.$arguments));
                  break;
                default:
                  throw A.wrapException(A.UnimplementedError$(t1 + " was invoked but isn't implemented by " + A.getRuntimeType($async$self).toString$0(0)));
              }
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_methodHandler$1, $async$completer);
    },
    _decodeRestorationData$1(data) {
      if (data == null)
        return null;
      return type$.nullable_Map_of_nullable_Object_and_nullable_Object._as(B.C_StandardMessageCodec.decodeMessage$1(A.NativeByteData_NativeByteData$view(data.buffer, data.byteOffset, data.byteLength)));
    },
    scheduleSerializationFor$1(bucket) {
      var _this = this;
      _this._bucketsNeedingSerialization.add$1(0, bucket);
      if (!_this._serializationScheduled) {
        _this._serializationScheduled = true;
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.RestorationManager_scheduleSerializationFor_closure(_this));
      }
    },
    _doSerialization$0() {
      var t1, t2, t3, t4, encoded, _this = this;
      if (!_this._serializationScheduled)
        return;
      _this._serializationScheduled = false;
      for (t1 = _this._bucketsNeedingSerialization, t2 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t3 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t4 = t2._collection$_current;
        (t4 == null ? t3._as(t4) : t4)._needsSerialization = false;
      }
      t1.clear$0(0);
      encoded = B.C_StandardMessageCodec.encodeMessage$1(_this._rootBucket._rawData);
      B.OptionalMethodChannel_fgL.invokeMethod$1$2("put", A.NativeUint8List_NativeUint8List$view(encoded.buffer, encoded.byteOffset, encoded.byteLength), type$.void);
    },
    flushData$0() {
      if ($.SchedulerBinding__instance.SchedulerBinding__hasScheduledFrame)
        return;
      this._doSerialization$0();
    }
  };
  A.RestorationManager_handleRestorationUpdateFromEngine_closure.prototype = {
    call$1(_) {
      this.$this._isReplacing = false;
    },
    $signature: 3
  };
  A.RestorationManager_scheduleSerializationFor_closure.prototype = {
    call$1(_) {
      return this.$this._doSerialization$0();
    },
    $signature: 3
  };
  A.RestorationBucket.prototype = {
    get$_rawChildren() {
      var t1 = J.putIfAbsent$2$x(this._rawData, "c", new A.RestorationBucket__rawChildren_closure());
      t1.toString;
      return type$.Map_of_nullable_Object_and_nullable_Object._as(t1);
    },
    get$_rawValues() {
      var t1 = J.putIfAbsent$2$x(this._rawData, "v", new A.RestorationBucket__rawValues_closure());
      t1.toString;
      return type$.Map_of_nullable_Object_and_nullable_Object._as(t1);
    },
    remove$1$1(_, restorationId, $P) {
      var _this = this,
        needsUpdate = J.containsKey$1$x(_this.get$_rawValues(), restorationId),
        result = $P._eval$1("0?")._as(J.remove$1$ax(_this.get$_rawValues(), restorationId));
      if (J.get$isEmpty$asx(_this.get$_rawValues()))
        J.remove$1$ax(_this._rawData, "v");
      if (needsUpdate)
        _this._markNeedsSerialization$0();
      return result;
    },
    contains$1(_, restorationId) {
      return J.containsKey$1$x(this.get$_rawValues(), restorationId);
    },
    claimChild$2$debugOwner(restorationId, debugOwner) {
      var child, t2, t3, t4, _this = this,
        t1 = _this._claimedChildren;
      if (t1.containsKey$1(0, restorationId) || !J.containsKey$1$x(_this.get$_rawChildren(), restorationId)) {
        t1 = type$.String;
        child = new A.RestorationBucket(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_Object), null, null, restorationId, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.RestorationBucket), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.List_RestorationBucket));
        _this.adoptChild$1(child);
        return child;
      }
      t2 = type$.String;
      t3 = _this._restoration$_manager;
      t4 = J.$index$asx(_this.get$_rawChildren(), restorationId);
      t4.toString;
      child = new A.RestorationBucket(type$.Map_of_nullable_Object_and_nullable_Object._as(t4), t3, _this, restorationId, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.RestorationBucket), A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.List_RestorationBucket));
      t1.$indexSet(0, restorationId, child);
      return child;
    },
    adoptChild$1(child) {
      var _this = this,
        t1 = child._restoration$_parent;
      if (t1 !== _this) {
        if (t1 != null)
          t1._removeChildData$1(child);
        child._restoration$_parent = _this;
        _this._addChildData$1(child);
        if (child._restoration$_manager != _this._restoration$_manager)
          _this._recursivelyUpdateManager$1(child);
      }
    },
    _dropChild$1(child) {
      this._removeChildData$1(child);
      child._restoration$_parent = null;
      if (child._restoration$_manager != null) {
        child._updateManager$1(null);
        child._visitChildren$1(this.get$_recursivelyUpdateManager());
      }
    },
    _markNeedsSerialization$0() {
      var t1, _this = this;
      if (!_this._needsSerialization) {
        _this._needsSerialization = true;
        t1 = _this._restoration$_manager;
        if (t1 != null)
          t1.scheduleSerializationFor$1(_this);
      }
    },
    _recursivelyUpdateManager$1(bucket) {
      bucket._updateManager$1(this._restoration$_manager);
      bucket._visitChildren$1(this.get$_recursivelyUpdateManager());
    },
    _updateManager$1(newManager) {
      var _this = this,
        t1 = _this._restoration$_manager;
      if (t1 == newManager)
        return;
      if (_this._needsSerialization)
        if (t1 != null)
          t1._bucketsNeedingSerialization.remove$1(0, _this);
      _this._restoration$_manager = newManager;
      if (_this._needsSerialization && newManager != null) {
        _this._needsSerialization = false;
        _this._markNeedsSerialization$0();
      }
    },
    _removeChildData$1(child) {
      var t1, pendingChildren, t2, _this = this;
      if (J.$eq$(_this._claimedChildren.remove$1(0, child._restorationId), child)) {
        J.remove$1$ax(_this.get$_rawChildren(), child._restorationId);
        t1 = _this._childrenToAdd;
        pendingChildren = t1.$index(0, child._restorationId);
        if (pendingChildren != null) {
          t2 = J.getInterceptor$ax(pendingChildren);
          _this._finalizeAddChildData$1(t2.removeLast$0(pendingChildren));
          if (t2.get$isEmpty(pendingChildren))
            t1.remove$1(0, child._restorationId);
        }
        if (J.get$isEmpty$asx(_this.get$_rawChildren()))
          J.remove$1$ax(_this._rawData, "c");
        _this._markNeedsSerialization$0();
        return;
      }
      t1 = _this._childrenToAdd;
      t2 = t1.$index(0, child._restorationId);
      if (t2 != null)
        J.remove$1$ax(t2, child);
      t2 = t1.$index(0, child._restorationId);
      t2 = t2 == null ? null : J.get$isEmpty$asx(t2);
      if (t2 === true)
        t1.remove$1(0, child._restorationId);
    },
    _addChildData$1(child) {
      var _this = this;
      if (_this._claimedChildren.containsKey$1(0, child._restorationId)) {
        J.add$1$ax(_this._childrenToAdd.putIfAbsent$2(0, child._restorationId, new A.RestorationBucket__addChildData_closure()), child);
        _this._markNeedsSerialization$0();
        return;
      }
      _this._finalizeAddChildData$1(child);
      _this._markNeedsSerialization$0();
    },
    _finalizeAddChildData$1(child) {
      this._claimedChildren.$indexSet(0, child._restorationId, child);
      J.$indexSet$ax(this.get$_rawChildren(), child._restorationId, child._rawData);
    },
    _visitChildren$2$concurrentModification(visitor, concurrentModification) {
      var t2, children,
        t1 = this._claimedChildren;
      t1 = t1.get$values(t1);
      t2 = this._childrenToAdd;
      t2 = t2.get$values(t2);
      children = t1.followedBy$1(0, new A.ExpandIterable(t2, new A.RestorationBucket__visitChildren_closure(), A._instanceType(t2)._eval$1("ExpandIterable<Iterable.E,RestorationBucket>")));
      J.forEach$1$ax(concurrentModification ? A.List_List$of(children, false, A._instanceType(children)._eval$1("Iterable.E")) : children, visitor);
    },
    _visitChildren$1(visitor) {
      return this._visitChildren$2$concurrentModification(visitor, false);
    },
    rename$1(newRestorationId) {
      var t1, _this = this;
      if (newRestorationId === _this._restorationId)
        return;
      t1 = _this._restoration$_parent;
      if (t1 != null)
        t1._removeChildData$1(_this);
      _this._restorationId = newRestorationId;
      t1 = _this._restoration$_parent;
      if (t1 != null)
        t1._addChildData$1(_this);
    },
    dispose$0() {
      var t1, _this = this;
      _this._visitChildren$2$concurrentModification(_this.get$_dropChild(), true);
      _this._claimedChildren.clear$0(0);
      _this._childrenToAdd.clear$0(0);
      t1 = _this._restoration$_parent;
      if (t1 != null)
        t1._removeChildData$1(_this);
      _this._restoration$_parent = null;
      _this._updateManager$1(null);
      _this._debugDisposed = true;
    },
    toString$0(_) {
      return "RestorationBucket(restorationId: " + this._restorationId + ", owner: " + A.S(this._debugOwner) + ")";
    }
  };
  A.RestorationBucket__rawChildren_closure.prototype = {
    call$0() {
      var t1 = type$.nullable_Object;
      return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    },
    $signature: 267
  };
  A.RestorationBucket__rawValues_closure.prototype = {
    call$0() {
      var t1 = type$.nullable_Object;
      return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    },
    $signature: 267
  };
  A.RestorationBucket__addChildData_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray_RestorationBucket);
    },
    $signature: 867
  };
  A.RestorationBucket__visitChildren_closure.prototype = {
    call$1(buckets) {
      return buckets;
    },
    $signature: 868
  };
  A.ApplicationSwitcherDescription.prototype = {};
  A.SystemUiOverlayStyle.prototype = {
    _toMap$0() {
      var t2, t3, t4, t5, _this = this, _null = null,
        t1 = _this.systemNavigationBarColor;
      t1 = t1 == null ? _null : t1.value;
      t2 = _this.statusBarColor;
      t2 = t2 == null ? _null : t2.value;
      t3 = _this.statusBarBrightness;
      t3 = t3 == null ? _null : "Brightness." + t3._core$_name;
      t4 = _this.statusBarIconBrightness;
      t4 = t4 == null ? _null : "Brightness." + t4._core$_name;
      t5 = _this.systemNavigationBarIconBrightness;
      t5 = t5 == null ? _null : "Brightness." + t5._core$_name;
      return A.LinkedHashMap_LinkedHashMap$_literal(["systemNavigationBarColor", t1, "systemNavigationBarDividerColor", null, "systemStatusBarContrastEnforced", _this.systemStatusBarContrastEnforced, "statusBarColor", t2, "statusBarBrightness", t3, "statusBarIconBrightness", t4, "systemNavigationBarIconBrightness", t5, "systemNavigationBarContrastEnforced", _this.systemNavigationBarContrastEnforced], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "SystemUiOverlayStyle(" + this._toMap$0().toString$0(0) + ")";
    },
    copyWith$1$statusBarColor(statusBarColor) {
      var _this = this,
        t1 = statusBarColor == null ? _this.statusBarColor : statusBarColor;
      return new A.SystemUiOverlayStyle(_this.systemNavigationBarColor, _this.systemNavigationBarDividerColor, _this.systemNavigationBarIconBrightness, _this.systemNavigationBarContrastEnforced, t1, _this.statusBarBrightness, _this.statusBarIconBrightness, _this.systemStatusBarContrastEnforced);
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.systemNavigationBarColor, _this.systemNavigationBarDividerColor, _this.systemNavigationBarContrastEnforced, _this.statusBarColor, _this.statusBarBrightness, _this.statusBarIconBrightness, _this.systemStatusBarContrastEnforced, _this.systemNavigationBarIconBrightness, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.SystemUiOverlayStyle)
        if (J.$eq$(other.systemNavigationBarColor, _this.systemNavigationBarColor))
          if (J.$eq$(other.statusBarColor, _this.statusBarColor))
            if (other.statusBarIconBrightness == _this.statusBarIconBrightness)
              if (other.statusBarBrightness == _this.statusBarBrightness)
                t1 = other.systemNavigationBarIconBrightness == _this.systemNavigationBarIconBrightness;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    }
  };
  A.SystemChrome_setSystemUIOverlayStyle_closure.prototype = {
    call$0() {
      if (!J.$eq$($.SystemChrome__pendingStyle, $.SystemChrome__latestStyle)) {
        B.OptionalMethodChannel_cWd.invokeMethod$1$2("SystemChrome.setSystemUIOverlayStyle", $.SystemChrome__pendingStyle._toMap$0(), type$.void);
        $.SystemChrome__latestStyle = $.SystemChrome__pendingStyle;
      }
      $.SystemChrome__pendingStyle = null;
    },
    $signature: 0
  };
  A.SystemSoundType.prototype = {
    toString$0(_) {
      return "SystemSoundType." + this._core$_name;
    }
  };
  A.TextSelection.prototype = {
    get$base() {
      var affinity, _this = this;
      if (!_this.get$isValid() || _this.baseOffset === _this.extentOffset)
        affinity = _this.affinity;
      else
        affinity = _this.baseOffset < _this.extentOffset ? B.TextAffinity_1 : B.TextAffinity_0;
      return new A.TextPosition(_this.baseOffset, affinity);
    },
    get$extent() {
      var affinity, _this = this;
      if (!_this.get$isValid() || _this.baseOffset === _this.extentOffset)
        affinity = _this.affinity;
      else
        affinity = _this.baseOffset < _this.extentOffset ? B.TextAffinity_0 : B.TextAffinity_1;
      return new A.TextPosition(_this.extentOffset, affinity);
    },
    toString$0(_) {
      var t1, t2, _this = this,
        _s17_ = ", isDirectional: ";
      if (!_this.get$isValid())
        return "TextSelection.invalid";
      t1 = "" + _this.baseOffset;
      t2 = "" + _this.isDirectional;
      return _this.start === _this.end ? "TextSelection.collapsed(offset: " + t1 + ", affinity: " + _this.affinity.toString$0(0) + _s17_ + t2 + ")" : "TextSelection(baseOffset: " + t1 + ", extentOffset: " + _this.extentOffset + _s17_ + t2 + ")";
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (!(other instanceof A.TextSelection))
        return false;
      if (!_this.get$isValid())
        return !other.get$isValid();
      if (other.baseOffset === _this.baseOffset)
        if (other.extentOffset === _this.extentOffset)
          t1 = (_this.start !== _this.end || other.affinity === _this.affinity) && other.isDirectional === _this.isDirectional;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var affinityHash, _this = this;
      if (!_this.get$isValid())
        return A.Object_hash(-B.JSInt_methods.get$hashCode(1), -B.JSInt_methods.get$hashCode(1), A.Primitives_objectHashCode(B.TextAffinity_1), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
      affinityHash = _this.start === _this.end ? A.Primitives_objectHashCode(_this.affinity) : A.Primitives_objectHashCode(B.TextAffinity_1);
      return A.Object_hash(B.JSInt_methods.get$hashCode(_this.baseOffset), B.JSInt_methods.get$hashCode(_this.extentOffset), affinityHash, B.JSBool_methods.get$hashCode(_this.isDirectional), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    copyWith$3$affinity$baseOffset$extentOffset(affinity, baseOffset, extentOffset) {
      var t1 = baseOffset == null ? this.baseOffset : baseOffset,
        t2 = affinity == null ? this.affinity : affinity;
      return A.TextSelection$(t2, t1, extentOffset, this.isDirectional);
    },
    copyWith$2$baseOffset$extentOffset(baseOffset, extentOffset) {
      return this.copyWith$3$affinity$baseOffset$extentOffset(null, baseOffset, extentOffset);
    },
    copyWith$2$affinity$extentOffset(affinity, extentOffset) {
      return this.copyWith$3$affinity$baseOffset$extentOffset(affinity, null, extentOffset);
    },
    copyWith$1$extentOffset(extentOffset) {
      return this.copyWith$3$affinity$baseOffset$extentOffset(null, null, extentOffset);
    },
    expandTo$2(position, extentAtIndex) {
      var t3, t4, normalized, _this = this,
        t1 = position.offset,
        t2 = _this.start;
      if (t1 >= t2 && t1 <= _this.end)
        return _this;
      t3 = _this.baseOffset;
      t4 = _this.extentOffset;
      normalized = t3 <= t4;
      if (t1 <= t2) {
        if (extentAtIndex)
          return _this.copyWith$3$affinity$baseOffset$extentOffset(position.affinity, _this.end, t1);
        t2 = normalized ? t1 : t3;
        return _this.copyWith$2$baseOffset$extentOffset(t2, normalized ? t4 : t1);
      }
      if (extentAtIndex)
        return _this.copyWith$3$affinity$baseOffset$extentOffset(position.affinity, t2, t1);
      t2 = normalized ? t3 : t1;
      return _this.copyWith$2$baseOffset$extentOffset(t2, normalized ? t1 : t4);
    },
    extendTo$1(position) {
      if (this.get$extent().$eq(0, position))
        return this;
      return this.copyWith$2$affinity$extentOffset(position.affinity, position.offset);
    }
  };
  A.TextEditingDelta.prototype = {};
  A.TextEditingDeltaInsertion.prototype = {};
  A.TextEditingDeltaDeletion.prototype = {};
  A.TextEditingDeltaReplacement.prototype = {};
  A.TextEditingDeltaNonTextUpdate.prototype = {};
  A.MaxLengthEnforcement.prototype = {
    toString$0(_) {
      return "MaxLengthEnforcement." + this._core$_name;
    }
  };
  A.TextInputFormatter.prototype = {};
  A._MutableTextRange.prototype = {};
  A._TextEditingValueAccumulator.prototype = {};
  A.FilteringTextInputFormatter.prototype = {
    formatEditUpdate$2(oldValue, newValue) {
      var t2, formatState, matches, t3, t4, previousMatch, match, t5, selection, composingRegion, _this = this, _null = null,
        t1 = newValue.selection;
      t1 = t1.get$isValid() ? new A._MutableTextRange(t1.baseOffset, t1.extentOffset) : _null;
      t2 = newValue.composing;
      t2 = t2.get$isValid() && t2.start !== t2.end ? new A._MutableTextRange(t2.start, t2.end) : _null;
      formatState = new A._TextEditingValueAccumulator(newValue, new A.StringBuffer(""), t1, t2);
      t2 = newValue.text;
      matches = J.allMatches$1$s(_this.filterPattern, t2);
      for (t1 = matches.get$iterator(matches), t3 = _this.allow, t4 = !t3, previousMatch = _null; t1.moveNext$0(); previousMatch = match) {
        match = t1.get$current(t1);
        t5 = previousMatch == null ? _null : previousMatch.get$end(previousMatch);
        if (t5 == null)
          t5 = 0;
        _this._processRegion$4(t3, t5, match.get$start(match), formatState);
        _this._processRegion$4(t4, match.get$start(match), match.get$end(match), formatState);
      }
      t1 = previousMatch == null ? _null : previousMatch.get$end(previousMatch);
      if (t1 == null)
        t1 = 0;
      _this._processRegion$4(t3, t1, t2.length, formatState);
      t2 = formatState.debugFinalized = true;
      selection = formatState.selection;
      composingRegion = formatState.composingRegion;
      t1 = formatState.stringBuffer._contents;
      t2 = (composingRegion != null ? composingRegion.base === composingRegion.extent : t2) ? B.TextRange_m1_m1 : new A.TextRange(composingRegion.base, composingRegion.extent);
      if (selection == null)
        t3 = B.TextSelection_ke5;
      else {
        t3 = formatState.inputValue.selection;
        t3 = A.TextSelection$(t3.affinity, selection.base, selection.extent, t3.isDirectional);
      }
      return new A.TextEditingValue(t1.charCodeAt(0) == 0 ? t1 : t1, t3, t2);
    },
    _processRegion$4(isBannedRegion, regionStart, regionEnd, state) {
      var replacementString, t1, t2, t3;
      if (isBannedRegion)
        replacementString = regionStart === regionEnd ? "" : this.replacementString;
      else
        replacementString = B.JSString_methods.substring$2(state.inputValue.text, regionStart, regionEnd);
      state.stringBuffer._contents += replacementString;
      if (replacementString.length === regionEnd - regionStart)
        return;
      t1 = new A.FilteringTextInputFormatter__processRegion_adjustIndex(regionStart, regionEnd, replacementString);
      t2 = state.selection;
      t3 = t2 == null;
      if (!t3)
        t2.base = t2.base + t1.call$1(state.inputValue.selection.baseOffset);
      if (!t3)
        t2.extent = t2.extent + t1.call$1(state.inputValue.selection.extentOffset);
      t2 = state.composingRegion;
      t3 = t2 == null;
      if (!t3)
        t2.base = t2.base + t1.call$1(state.inputValue.composing.start);
      if (!t3)
        t2.extent = t2.extent + t1.call$1(state.inputValue.composing.end);
    }
  };
  A.FilteringTextInputFormatter__processRegion_adjustIndex.prototype = {
    call$1(originalIndex) {
      var _this = this,
        t1 = _this.regionStart,
        replacedLength = originalIndex <= t1 && originalIndex < _this.regionEnd ? 0 : _this.replacementString.length;
      return replacedLength - (B.JSInt_methods.clamp$2(originalIndex, t1, _this.regionEnd) - t1);
    },
    $signature: 32
  };
  A.SmartDashesType.prototype = {
    toString$0(_) {
      return "SmartDashesType." + this._core$_name;
    }
  };
  A.SmartQuotesType.prototype = {
    toString$0(_) {
      return "SmartQuotesType." + this._core$_name;
    }
  };
  A.TextInputType.prototype = {
    toJson$0() {
      return A.LinkedHashMap_LinkedHashMap$_literal(["name", "TextInputType." + B.List_GZw[this.index], "signed", this.signed, "decimal", this.decimal], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "TextInputType(name: " + ("TextInputType." + B.List_GZw[this.index]) + ", signed: " + A.S(this.signed) + ", decimal: " + A.S(this.decimal) + ")";
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.TextInputType && other.index === this.index && other.signed == this.signed && other.decimal == this.decimal;
    },
    get$hashCode(_) {
      return A.Object_hash(this.index, this.signed, this.decimal, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.TextInputAction.prototype = {
    toString$0(_) {
      return "TextInputAction." + this._core$_name;
    }
  };
  A.TextCapitalization0.prototype = {
    toString$0(_) {
      return "TextCapitalization." + this._core$_name;
    }
  };
  A.TextInputConfiguration.prototype = {
    toJson$0() {
      var _this = this,
        autofill = _this.autofillConfiguration.toJson$0(),
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      t1.$indexSet(0, "inputType", _this.inputType.toJson$0());
      t1.$indexSet(0, "readOnly", _this.readOnly);
      t1.$indexSet(0, "obscureText", false);
      t1.$indexSet(0, "autocorrect", true);
      t1.$indexSet(0, "smartDashesType", B.JSInt_methods.toString$0(_this.smartDashesType.index));
      t1.$indexSet(0, "smartQuotesType", B.JSInt_methods.toString$0(_this.smartQuotesType.index));
      t1.$indexSet(0, "enableSuggestions", true);
      t1.$indexSet(0, "enableInteractiveSelection", _this.enableInteractiveSelection);
      t1.$indexSet(0, "actionLabel", null);
      t1.$indexSet(0, "inputAction", "TextInputAction." + _this.inputAction._core$_name);
      t1.$indexSet(0, "textCapitalization", "TextCapitalization." + _this.textCapitalization._core$_name);
      t1.$indexSet(0, "keyboardAppearance", "Brightness." + _this.keyboardAppearance._core$_name);
      t1.$indexSet(0, "enableIMEPersonalizedLearning", true);
      if (autofill != null)
        t1.$indexSet(0, "autofill", autofill);
      t1.$indexSet(0, "enableDeltaModel", false);
      return t1;
    }
  };
  A.FloatingCursorDragState.prototype = {
    toString$0(_) {
      return "FloatingCursorDragState." + this._core$_name;
    }
  };
  A.TextEditingValue.prototype = {
    copyWith$3$composing$selection$text(composing, selection, text) {
      var t1 = text == null ? this.text : text,
        t2 = selection == null ? this.selection : selection;
      return new A.TextEditingValue(t1, t2, composing == null ? this.composing : composing);
    },
    copyWith$1$selection(selection) {
      return this.copyWith$3$composing$selection$text(null, selection, null);
    },
    copyWith$1$composing(composing) {
      return this.copyWith$3$composing$selection$text(composing, null, null);
    },
    copyWith$2$selection$text(selection, text) {
      return this.copyWith$3$composing$selection$text(null, selection, text);
    },
    copyWith$1$text(text) {
      return this.copyWith$3$composing$selection$text(null, null, text);
    },
    copyWith$2$composing$selection(composing, selection) {
      return this.copyWith$3$composing$selection$text(composing, selection, null);
    },
    replaced$2(replacementRange, replacementString) {
      var t1, t2, newText, t3, _this = this;
      if (!replacementRange.get$isValid())
        return _this;
      t1 = replacementRange.start;
      t2 = replacementRange.end;
      newText = B.JSString_methods.replaceRange$3(_this.text, t1, t2, replacementString);
      if (t2 - t1 === replacementString.length)
        return _this.copyWith$1$text(newText);
      t1 = new A.TextEditingValue_replaced_adjustIndex(replacementRange, replacementString);
      t2 = _this.selection;
      t3 = _this.composing;
      return new A.TextEditingValue(newText, A.TextSelection$(B.TextAffinity_1, t1.call$1(t2.baseOffset), t1.call$1(t2.extentOffset), false), new A.TextRange(t1.call$1(t3.start), t1.call$1(t3.end)));
    },
    toJSON$0() {
      var t1 = this.selection,
        t2 = this.composing;
      return A.LinkedHashMap_LinkedHashMap$_literal(["text", this.text, "selectionBase", t1.baseOffset, "selectionExtent", t1.extentOffset, "selectionAffinity", "TextAffinity." + t1.affinity._core$_name, "selectionIsDirectional", t1.isDirectional, "composingBase", t2.start, "composingExtent", t2.end], type$.String, type$.dynamic);
    },
    toString$0(_) {
      return "TextEditingValue(text: \u2524" + this.text + "\u251c, selection: " + this.selection.toString$0(0) + ", composing: " + this.composing.toString$0(0) + ")";
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return other instanceof A.TextEditingValue && other.text === _this.text && other.selection.$eq(0, _this.selection) && other.composing.$eq(0, _this.composing);
    },
    get$hashCode(_) {
      var t1 = this.selection,
        t2 = this.composing;
      return A.Object_hash(B.JSString_methods.get$hashCode(this.text), t1.get$hashCode(t1), A.Object_hash(B.JSInt_methods.get$hashCode(t2.start), B.JSInt_methods.get$hashCode(t2.end), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.TextEditingValue_replaced_adjustIndex.prototype = {
    call$1(originalIndex) {
      var t1 = this.replacementRange,
        t2 = t1.start,
        replacedLength = originalIndex <= t2 && originalIndex < t1.end ? 0 : this.replacementString.length;
      return originalIndex + replacedLength - (B.JSInt_methods.clamp$2(originalIndex, t2, t1.end) - t2);
    },
    $signature: 32
  };
  A.SelectionChangedCause.prototype = {
    toString$0(_) {
      return "SelectionChangedCause." + this._core$_name;
    }
  };
  A.TextSelectionDelegate.prototype = {};
  A.SelectionRect.prototype = {
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (A.getRuntimeType(_this) !== J.get$runtimeType$(other))
        return false;
      return other instanceof A.SelectionRect && other.position === _this.position && other.bounds.$eq(0, _this.bounds);
    },
    get$hashCode(_) {
      return A.Object_hash(this.position, this.bounds, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "SelectionRect(" + this.position + ", " + this.bounds.toString$0(0) + ")";
    }
  };
  A.TextInputConnection.prototype = {
    setComposingRect$1(rect) {
      var validRect, t1, t2, t3;
      if (rect.$eq(0, this._cachedRect))
        return;
      this._cachedRect = rect;
      validRect = rect.get$isFinite(rect) ? rect : new A.Rect(0, 0, -1, -1);
      t1 = $.$get$TextInput__instance();
      t2 = validRect.left;
      t3 = validRect.top;
      t3 = A.LinkedHashMap_LinkedHashMap$_literal(["width", validRect.right - t2, "height", validRect.bottom - t3, "x", t2, "y", t3], type$.String, type$.dynamic);
      t1 = t1.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.invokeMethod$1$2("TextInput.setMarkedTextRect", t3, type$.void);
    },
    setCaretRect$1(rect) {
      var validRect, t1, t2, t3;
      if (rect.$eq(0, this._cachedCaretRect))
        return;
      this._cachedCaretRect = rect;
      validRect = rect.get$isFinite(rect) ? rect : new A.Rect(0, 0, -1, -1);
      t1 = $.$get$TextInput__instance();
      t2 = validRect.left;
      t3 = validRect.top;
      t3 = A.LinkedHashMap_LinkedHashMap$_literal(["width", validRect.right - t2, "height", validRect.bottom - t3, "x", t2, "y", t3], type$.String, type$.dynamic);
      t1 = t1.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.invokeMethod$1$2("TextInput.setCaretRect", t3, type$.void);
    },
    setSelectionRects$1(selectionRects) {
      var t1, t2;
      if (!A.listEquals(this._cachedSelectionRects, selectionRects)) {
        this._cachedSelectionRects = selectionRects;
        t1 = $.$get$TextInput__instance();
        t2 = A._arrayInstanceType(selectionRects)._eval$1("MappedListIterable<1,List<num>>");
        t2 = A.List_List$of(new A.MappedListIterable(selectionRects, new A.TextInputConnection_setSelectionRects_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t1.__TextInput__channel;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.invokeMethod$1$2("TextInput.setSelectionRects", t2, type$.void);
      }
    },
    setStyle$5$fontFamily$fontSize$fontWeight$textAlign$textDirection(fontFamily, fontSize, fontWeight, textAlign, textDirection) {
      var t1 = $.$get$TextInput__instance(),
        t2 = fontWeight == null ? null : fontWeight.index;
      t2 = A.LinkedHashMap_LinkedHashMap$_literal(["fontFamily", fontFamily, "fontSize", fontSize, "fontWeightIndex", t2, "textAlignIndex", textAlign.index, "textDirectionIndex", textDirection.index], type$.String, type$.dynamic);
      t1 = t1.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.invokeMethod$1$2("TextInput.setStyle", t2, type$.void);
    }
  };
  A.TextInputConnection_setSelectionRects_closure.prototype = {
    call$1(rect) {
      var t1 = rect.bounds,
        t2 = t1.left,
        t3 = t1.top;
      return A._setArrayType([t2, t3, t1.right - t2, t1.bottom - t3, rect.position], type$.JSArray_num);
    },
    $signature: 869
  };
  A.TextInput.prototype = {
    _attach$2(connection, configuration) {
      var t1 = this.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.invokeMethod$1$2("TextInput.setClient", [connection._text_input$_id, configuration.toJson$0()], type$.void);
      this._currentConnection = connection;
      this.__TextInput__currentConfiguration = configuration;
    },
    get$_channel() {
      var t1 = this.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _handleTextInputInvocation$1(methodCall) {
      return this._handleTextInputInvocation$body$TextInput(methodCall);
    },
    _handleTextInputInvocation$body$TextInput(methodCall) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$returnValue, $async$self = this, args, t1, t2, t3, t4, t5, editingValue, client, deltas, action, firstArg, offset, currentTextPosition, t6, centeredPoint, rawCursorOffset, t7, bottomBound, rightBound, deltaPosition, currentX, currentY, adjustedX, adjustedY, t8, method;
      var $async$_handleTextInputInvocation$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
              method = methodCall.method;
              if (method === "TextInputClient.focusElement") {
                args = type$.List_dynamic._as(methodCall.$arguments);
                t1 = J.getInterceptor$asx(args);
                t2 = $async$self._scribbleClients.$index(0, t1.$index(args, 0));
                if (t2 != null) {
                  t3 = A._asNum(t1.$index(args, 1));
                  t1 = A._asNum(t1.$index(args, 2));
                  t2._widget.focusNode.requestFocus$0();
                  t4 = t2.get$renderEditable();
                  if (t4 != null)
                    t4.selectPositionAt$2$cause$from(B.SelectionChangedCause_7, new A.Offset(t3, t1));
                  t2._widget.updateSelectionRects$0();
                }
                // goto return
                $async$goto = 1;
                break;
              } else if (method === "TextInputClient.requestElementsInRect") {
                t1 = J.cast$1$0$ax(type$.List_dynamic._as(methodCall.$arguments), type$.num);
                t2 = A._instanceType(t1)._eval$1("MappedListIterable<ListMixin.E,double>");
                t3 = $async$self._scribbleClients;
                t4 = A._instanceType(t3)._eval$1("LinkedHashMapKeyIterable<1>");
                t5 = t4._eval$1("MappedIterable<Iterable.E,List<@>>");
                $async$returnValue = A.List_List$of(new A.MappedIterable(new A.WhereIterable(new A.LinkedHashMapKeyIterable(t3, t4), new A.TextInput__handleTextInputInvocation_closure($async$self, A.List_List$of(new A.MappedListIterable(t1, new A.TextInput__handleTextInputInvocation_closure0(), t2), true, t2._eval$1("ListIterable.E"))), t4._eval$1("WhereIterable<Iterable.E>")), new A.TextInput__handleTextInputInvocation_closure1($async$self), t5), true, t5._eval$1("Iterable.E"));
                // goto return
                $async$goto = 1;
                break;
              } else if (method === "TextInputClient.scribbleInteractionBegan") {
                $async$self._scribbleInProgress = true;
                // goto return
                $async$goto = 1;
                break;
              } else if (method === "TextInputClient.scribbleInteractionFinished") {
                $async$self._scribbleInProgress = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._currentConnection;
              if (t1 == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              if (method === "TextInputClient.requestExistingInputState") {
                t2 = $async$self.__TextInput__currentConfiguration;
                if (t2 === $)
                  A.throwUnnamedLateFieldNI();
                $async$self._attach$2(t1, t2);
                t2 = $async$self._currentConnection._client._widget.controller._change_notifier$_value;
                t1 = $async$self.__TextInput__channel;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                t1.invokeMethod$1$2("TextInput.setEditingState", t2.toJSON$0(), type$.void);
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = type$.List_dynamic;
              args = t1._as(methodCall.$arguments);
              if (method === string$.TextInT) {
                t1 = type$.Map_String_dynamic;
                editingValue = t1._as(J.$index$asx(args, 1));
                for (t2 = J.getInterceptor$x(editingValue), t3 = J.get$iterator$ax(t2.get$keys(editingValue)); t3.moveNext$0();)
                  A.TextEditingValue_TextEditingValue$fromJSON(t1._as(t2.$index(editingValue, t3.get$current(t3))));
                // goto return
                $async$goto = 1;
                break;
              }
              t2 = J.getInterceptor$asx(args);
              client = A._asInt(t2.$index(args, 0));
              t3 = $async$self._currentConnection;
              if (client !== t3._text_input$_id) {
                // goto return
                $async$goto = 1;
                break;
              }
              switch (method) {
                case "TextInputClient.updateEditingState":
                  t3._client.updateEditingValue$1(A.TextEditingValue_TextEditingValue$fromJSON(type$.Map_String_dynamic._as(t2.$index(args, 1))));
                  break;
                case string$.TextInD:
                  deltas = A._setArrayType([], type$.JSArray_TextEditingDelta);
                  t3 = type$.Map_String_dynamic;
                  for (t1 = J.get$iterator$ax(t1._as(J.$index$asx(t3._as(t2.$index(args, 1)), "deltas"))); t1.moveNext$0();)
                    deltas.push(A.TextEditingDelta_TextEditingDelta$fromJSON(t3._as(t1.get$current(t1))));
                  type$.DeltaTextInputClient._as($async$self._currentConnection._client).updateEditingValueWithDeltas$1(deltas);
                  break;
                case "TextInputClient.performAction":
                  t1 = t3._client;
                  action = A._toTextInputAction(A._asString(t2.$index(args, 1)));
                  switch (action.index) {
                    case 12:
                      if (t1._widget.maxLines === 1)
                        t1._finalizeEditing$2$shouldUnfocus(action, true);
                      break;
                    case 2:
                    case 3:
                    case 6:
                    case 7:
                    case 4:
                    case 5:
                      t1._finalizeEditing$2$shouldUnfocus(action, true);
                      break;
                    case 8:
                    case 11:
                    case 9:
                    case 0:
                    case 10:
                    case 1:
                      t1._finalizeEditing$2$shouldUnfocus(action, false);
                      break;
                  }
                  break;
                case "TextInputClient.performPrivateCommand":
                  t1 = type$.Map_String_dynamic;
                  firstArg = t1._as(t2.$index(args, 1));
                  t2 = $async$self._currentConnection._client;
                  t3 = J.getInterceptor$asx(firstArg);
                  t4 = A._asString(t3.$index(firstArg, "action"));
                  t3 = t1._as(t3.$index(firstArg, "data"));
                  t2._widget.onAppPrivateCommand.call$2(t4, t3);
                  break;
                case "TextInputClient.updateFloatingCursor":
                  t1 = t3._client;
                  t3 = A._toTextCursorAction(A._asString(t2.$index(args, 1)));
                  t2 = type$.Map_String_dynamic._as(t2.$index(args, 2));
                  if (t3 === B.FloatingCursorDragState_1) {
                    t4 = J.getInterceptor$asx(t2);
                    offset = new A.Offset(A._asDouble(t4.$index(t2, "X")), A._asDouble(t4.$index(t2, "Y")));
                  } else
                    offset = B.Offset_0_0;
                  t2 = t1._floatingCursorResetController;
                  if (t2 == null) {
                    t2 = A.AnimationController$(null, null, 0, null, 1, null, t1);
                    t2.didRegisterListener$0();
                    t4 = t2.AnimationLocalListenersMixin__listeners;
                    t4._isDirty = true;
                    t4._list.push(t1.get$_onFloatingCursorResetTick());
                    t1._floatingCursorResetController = t2;
                  }
                  switch (t3.index) {
                    case 0:
                      t4 = t2._ticker;
                      if (t4 != null && t4._ticker$_future != null) {
                        t2.stop$0(0);
                        t1._onFloatingCursorResetTick$0();
                      }
                      t1._pointOffsetOrigin = offset;
                      t2 = t1._editableKey;
                      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
                      t4.toString;
                      t5 = type$.RenderEditable;
                      currentTextPosition = new A.TextPosition(t5._as(t4)._selection.baseOffset, B.TextAffinity_1);
                      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
                      t4.toString;
                      t4 = t5._as(t4).getLocalRectForCaret$1(currentTextPosition);
                      t1._startCaretRect = t4;
                      t4 = t4.get$center();
                      t6 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
                      t6.toString;
                      t1._lastBoundedOffset = t4.$sub(0, new A.Offset(0, t5._as(t6)._textPainter.get$preferredLineHeight() / 2));
                      t1._lastTextPosition = currentTextPosition;
                      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
                      t2.toString;
                      t5._as(t2);
                      t5 = t1._lastBoundedOffset;
                      t5.toString;
                      t1 = t1._lastTextPosition;
                      t1.toString;
                      t2.setFloatingCursor$3(t3, t5, t1);
                      break;
                    case 1:
                      t2 = t1._pointOffsetOrigin;
                      t2.toString;
                      centeredPoint = offset.$sub(0, t2);
                      t2 = t1._startCaretRect.get$center().$add(0, centeredPoint);
                      t4 = t1._editableKey;
                      t5 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t5.toString;
                      t6 = type$.RenderEditable;
                      rawCursorOffset = t2.$sub(0, new A.Offset(0, t6._as(t5)._textPainter.get$preferredLineHeight() / 2));
                      t5 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t5.toString;
                      t6._as(t5);
                      t2 = t5._textPainter;
                      t7 = t2._paragraph;
                      bottomBound = Math.ceil(t7.get$height(t7)) - t2.get$preferredLineHeight() + 5;
                      rightBound = t2.get$width(t2) + 4;
                      t2 = t5._previousOffset;
                      deltaPosition = t2 != null ? rawCursorOffset.$sub(0, t2) : B.Offset_0_0;
                      if (t5._resetOriginOnLeft && deltaPosition._dx > 0) {
                        t5._relativeOrigin = new A.Offset(rawCursorOffset._dx - -4, t5._relativeOrigin._dy);
                        t5._resetOriginOnLeft = false;
                      } else if (t5._resetOriginOnRight && deltaPosition._dx < 0) {
                        t5._relativeOrigin = new A.Offset(rawCursorOffset._dx - rightBound, t5._relativeOrigin._dy);
                        t5._resetOriginOnRight = false;
                      }
                      if (t5._resetOriginOnTop && deltaPosition._dy > 0) {
                        t5._relativeOrigin = new A.Offset(t5._relativeOrigin._dx, rawCursorOffset._dy - -4);
                        t5._resetOriginOnTop = false;
                      } else if (t5._resetOriginOnBottom && deltaPosition._dy < 0) {
                        t5._relativeOrigin = new A.Offset(t5._relativeOrigin._dx, rawCursorOffset._dy - bottomBound);
                        t5._resetOriginOnBottom = false;
                      }
                      t2 = t5._relativeOrigin;
                      currentX = rawCursorOffset._dx - t2._dx;
                      currentY = rawCursorOffset._dy - t2._dy;
                      adjustedX = Math.min(Math.max(currentX, -4), rightBound);
                      adjustedY = Math.min(Math.max(currentY, -4), bottomBound);
                      if (currentX < -4 && deltaPosition._dx < 0)
                        t5._resetOriginOnLeft = true;
                      else if (currentX > rightBound && deltaPosition._dx > 0)
                        t5._resetOriginOnRight = true;
                      if (currentY < -4 && deltaPosition._dy < 0)
                        t5._resetOriginOnTop = true;
                      else if (currentY > bottomBound && deltaPosition._dy > 0)
                        t5._resetOriginOnBottom = true;
                      t5._previousOffset = rawCursorOffset;
                      t1._lastBoundedOffset = new A.Offset(adjustedX, adjustedY);
                      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t2.toString;
                      t6._as(t2);
                      t5 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t5.toString;
                      t6._as(t5);
                      t7 = t1._lastBoundedOffset;
                      t7.toString;
                      t8 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t8.toString;
                      t8 = t7.$add(0, new A.Offset(0, t6._as(t8)._textPainter.get$preferredLineHeight() / 2));
                      t1._lastTextPosition = t2.getPositionForPoint$1(A.MatrixUtils_transformPoint(t5.getTransformTo$1(0, null), t8));
                      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4).get$renderObject();
                      t4.toString;
                      t6._as(t4);
                      t6 = t1._lastBoundedOffset;
                      t6.toString;
                      t1 = t1._lastTextPosition;
                      t1.toString;
                      t4.setFloatingCursor$3(t3, t6, t1);
                      break;
                    case 2:
                      if (t1._lastTextPosition != null && t1._lastBoundedOffset != null) {
                        t2.set$value(0, 0);
                        t1 = t1._floatingCursorResetController;
                        t1._direction = B._AnimationDirection_0;
                        t1._animateToInternal$3$curve$duration(1, B.C__DecelerateCurve, B.Duration_125000);
                      }
                      break;
                  }
                  break;
                case "TextInputClient.onConnectionClosed":
                  t1 = t3._client;
                  if (t1.get$_hasInputConnection()) {
                    t1._textInputConnection.toString;
                    t1._lastKnownRemoteTextEditingValue = t1._textInputConnection = $.$get$TextInput__instance()._currentConnection = null;
                    t1._finalizeEditing$2$shouldUnfocus(B.TextInputAction_2, true);
                  }
                  break;
                case "TextInputClient.showAutocorrectionPromptRect":
                  t3._client.showAutocorrectionPromptRect$2(A._asInt(t2.$index(args, 1)), A._asInt(t2.$index(args, 2)));
                  break;
                case "TextInputClient.showToolbar":
                  t3._client.showToolbar$0();
                  break;
                case "TextInputClient.insertTextPlaceholder":
                  t3._client.insertTextPlaceholder$1(new A.Size(A._asNum(t2.$index(args, 1)), A._asNum(t2.$index(args, 2))));
                  break;
                case "TextInputClient.removeTextPlaceholder":
                  t3._client.removeTextPlaceholder$0();
                  break;
                default:
                  throw A.wrapException(A.MissingPluginException$(null));
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleTextInputInvocation$1, $async$completer);
    },
    _scheduleHide$0() {
      if (this._hidePending)
        return;
      this._hidePending = true;
      A.scheduleMicrotask(new A.TextInput__scheduleHide_closure(this));
    },
    _clearClient$0() {
      var t1 = this.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.invokeMethod$1$1("TextInput.clearClient", type$.void);
      this._currentConnection = null;
      this._scheduleHide$0();
    }
  };
  A.TextInput__handleTextInputInvocation_closure0.prototype = {
    call$1(value) {
      return value;
    },
    $signature: 871
  };
  A.TextInput__handleTextInputInvocation_closure.prototype = {
    call$1(elementIdentifier) {
      var t5, t6, bounds,
        t1 = this.args,
        t2 = t1[0],
        t3 = t1[1],
        t4 = t1[2];
      t1 = t1[3];
      t5 = this.$this._scribbleClients;
      t6 = t5.$index(0, elementIdentifier);
      t1 = t6 == null ? null : t6.isInScribbleRect$1(new A.Rect(t2, t3, t2 + t4, t3 + t1));
      if (t1 !== true)
        return false;
      t1 = t5.$index(0, elementIdentifier);
      bounds = t1 == null ? null : t1.get$bounds(t1);
      if (bounds == null)
        bounds = B.Rect_0_0_0_0;
      if (!bounds.$eq(0, B.Rect_0_0_0_0)) {
        t1 = bounds.left;
        t1 = isNaN(t1) || isNaN(bounds.top) || isNaN(bounds.right) || isNaN(bounds.bottom) || t1 >= 1 / 0 || bounds.top >= 1 / 0 || bounds.right >= 1 / 0 || bounds.bottom >= 1 / 0;
      } else
        t1 = true;
      return !t1;
    },
    $signature: 6
  };
  A.TextInput__handleTextInputInvocation_closure1.prototype = {
    call$1(elementIdentifier) {
      var t2, t3,
        t1 = this.$this._scribbleClients.$index(0, elementIdentifier),
        bounds = t1.get$bounds(t1);
      t1 = [elementIdentifier];
      t2 = bounds.left;
      t3 = bounds.top;
      B.JSArray_methods.addAll$1(t1, [t2, t3, bounds.right - t2, bounds.bottom - t3]);
      return t1;
    },
    $signature: 872
  };
  A.TextInput__scheduleHide_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._hidePending = false;
      if (t1._currentConnection == null) {
        t1 = t1.__TextInput__channel;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.invokeMethod$1$1("TextInput.hide", type$.void);
      }
    },
    $signature: 0
  };
  A._getParent_closure.prototype = {
    call$1(ancestor) {
      this.parent.set$finalLocalValue(ancestor);
      return false;
    },
    $signature: 53
  };
  A.Intent.prototype = {};
  A.Action.prototype = {
    _updateCallingAction$1(value) {
      this._currentCallingAction = value;
    },
    isEnabled$1(_, intent) {
      return this.get$isActionEnabled();
    },
    get$isActionEnabled() {
      return true;
    },
    consumesKey$1(intent) {
      return true;
    },
    addActionListener$1(listener) {
      var t1 = this._actions$_listeners;
      t1._isDirty = true;
      t1._list.push(listener);
      return null;
    },
    removeActionListener$1(listener) {
      return this._actions$_listeners.remove$1(0, listener);
    },
    _makeOverridableAction$1(context) {
      return new A._OverridableAction(this, context, false, false, false, false, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent), type$.ObserverList_of_void_Function_Action_Intent), A._instanceType(this)._eval$1("_OverridableAction<Action.T>"));
    }
  };
  A.ContextAction.prototype = {
    _makeOverridableAction$1(context) {
      return new A._OverridableContextAction(this, context, false, false, false, false, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent), type$.ObserverList_of_void_Function_Action_Intent), A._instanceType(this)._eval$1("_OverridableContextAction<ContextAction.T>"));
    }
  };
  A.CallbackAction.prototype = {
    invoke$1(intent) {
      return this.onInvoke.call$1(intent);
    }
  };
  A.ActionDispatcher.prototype = {
    invokeAction$3(action, intent, context) {
      if (action instanceof A.ContextAction)
        return action.invoke$2(intent, context);
      else
        return action.invoke$1(intent);
    }
  };
  A.Actions.prototype = {
    createState$0() {
      return new A._ActionsState(A.LinkedHashSet_LinkedHashSet$_empty(type$.Action_Intent), new A.Object(), B._StateLifecycle_0);
    }
  };
  A.Actions__findDispatcher_closure.prototype = {
    call$1(element) {
      type$._ActionsMarker._as(element.get$widget());
      return false;
    },
    $signature: 101
  };
  A.Actions_maybeFind_closure.prototype = {
    call$1(element) {
      var _this = this,
        result = A.Actions__castAction(type$._ActionsMarker._as(element.get$widget()), _this.intent, _this.T);
      if (result != null) {
        _this.context.super$Element$dependOnInheritedElement(element, null);
        _this._box_0.action = result;
        return true;
      }
      return false;
    },
    $signature: 101
  };
  A.Actions__maybeFindWithoutDependingOn_closure.prototype = {
    call$1(element) {
      var result = A.Actions__castAction(type$._ActionsMarker._as(element.get$widget()), this.intent, this.T);
      if (result != null) {
        this._box_0.action = result;
        return true;
      }
      return false;
    },
    $signature: 101
  };
  A.Actions_invoke_closure.prototype = {
    call$1(element) {
      var _this = this,
        t1 = _this.intent,
        result = A.Actions__castAction(type$._ActionsMarker._as(element.get$widget()), t1, _this.T),
        t2 = result != null;
      if (t2 && result.isEnabled$1(0, t1))
        _this._box_0.returnValue = A.Actions__findDispatcher(element).invokeAction$3(result, t1, _this.context);
      return t2;
    },
    $signature: 101
  };
  A.Actions_maybeInvoke_closure.prototype = {
    call$1(element) {
      var _this = this,
        t1 = _this.intent,
        result = A.Actions__castAction(type$._ActionsMarker._as(element.get$widget()), t1, _this.T),
        t2 = result != null;
      if (t2 && result.isEnabled$1(0, t1))
        _this._box_0.returnValue = A.Actions__findDispatcher(element).invokeAction$3(result, t1, _this.context);
      return t2;
    },
    $signature: 101
  };
  A._ActionsState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._updateActionListeners$0();
    },
    _handleActionChanged$1(action) {
      this.setState$1(new A._ActionsState__handleActionChanged_closure(this));
    },
    _updateActionListeners$0() {
      var widgetActions, removedActions, addedActions, t2, _this = this,
        t1 = _this._widget.actions;
      t1 = t1.get$values(t1);
      widgetActions = A.LinkedHashSet_LinkedHashSet$of(t1, A._instanceType(t1)._eval$1("Iterable.E"));
      removedActions = _this.listenedActions.difference$1(widgetActions);
      t1 = _this.listenedActions;
      t1.toString;
      addedActions = widgetActions.difference$1(t1);
      for (t1 = removedActions.get$iterator(removedActions), t2 = _this.get$_handleActionChanged(); t1.moveNext$0();)
        t1.get$current(t1).removeActionListener$1(t2);
      for (t1 = addedActions.get$iterator(addedActions); t1.moveNext$0();)
        t1.get$current(t1).addActionListener$1(t2);
      _this.listenedActions = widgetActions;
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateActionListeners$0();
    },
    dispose$0() {
      var t1, t2, t3, t4, _this = this;
      _this.super$State$dispose();
      for (t1 = _this.listenedActions, t1 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t2 = _this.get$_handleActionChanged(), t3 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t4 = t1._collection$_current;
        (t4 == null ? t3._as(t4) : t4).removeActionListener$1(t2);
      }
      _this.listenedActions = null;
    },
    build$1(context) {
      var t1 = this._widget;
      return new A._ActionsMarker(null, t1.actions, this.rebuildKey, t1.child, null);
    }
  };
  A._ActionsState__handleActionChanged_closure.prototype = {
    call$0() {
      this.$this.rebuildKey = new A.Object();
    },
    $signature: 0
  };
  A._ActionsMarker.prototype = {
    updateShouldNotify$1(oldWidget) {
      var t1;
      if (this.rebuildKey === oldWidget.rebuildKey)
        t1 = !A.mapEquals(oldWidget.actions, this.actions);
      else
        t1 = true;
      return t1;
    }
  };
  A.FocusableActionDetector.prototype = {
    createState$0() {
      return new A._FocusableActionDetectorState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), B._StateLifecycle_0);
    }
  };
  A._FocusableActionDetectorState.prototype = {
    initState$0() {
      this.super$State$initState();
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._FocusableActionDetectorState_initState_closure(this));
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._focus_manager$_listeners.add$1(0, this.get$_actions$_handleFocusHighlightModeChange());
    },
    dispose$0() {
      $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._focus_manager$_listeners.remove$1(0, this.get$_actions$_handleFocusHighlightModeChange());
      this.super$State$dispose();
    },
    _actions$_updateHighlightMode$1(mode) {
      this._mayTriggerCallback$1$task(new A._FocusableActionDetectorState__updateHighlightMode_closure(this));
    },
    _actions$_handleFocusHighlightModeChange$1(mode) {
      if (this._framework$_element == null)
        return;
      this._actions$_updateHighlightMode$1(mode);
    },
    _actions$_handleMouseEnter$1($event) {
      if (!this._actions$_hovering)
        this._mayTriggerCallback$1$task(new A._FocusableActionDetectorState__handleMouseEnter_closure(this));
    },
    _actions$_handleMouseExit$1($event) {
      if (this._actions$_hovering)
        this._mayTriggerCallback$1$task(new A._FocusableActionDetectorState__handleMouseExit_closure(this));
    },
    _handleFocusChange$1(focused) {
      var _this = this;
      if (_this._focused !== focused) {
        _this._mayTriggerCallback$1$task(new A._FocusableActionDetectorState__handleFocusChange_closure(_this, focused));
        _this._widget.toString;
      }
    },
    _mayTriggerCallback$2$oldWidget$task(oldWidget, task) {
      var t3, oldTarget, didShowHoverHighlight, didShowFocusHighlight, doShowHoverHighlight, doShowFocusHighlight, _this = this,
        t1 = new A._FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight(_this),
        t2 = new A._FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight(_this, new A._FocusableActionDetectorState__mayTriggerCallback_canRequestFocus(_this));
      if (oldWidget == null) {
        t3 = _this._widget;
        t3.toString;
        oldTarget = t3;
      } else
        oldTarget = oldWidget;
      didShowHoverHighlight = t1.call$1(oldTarget);
      didShowFocusHighlight = t2.call$1(oldTarget);
      if (task != null)
        task.call$0();
      t3 = _this._widget;
      t3.toString;
      doShowHoverHighlight = t1.call$1(t3);
      t3 = _this._widget;
      t3.toString;
      doShowFocusHighlight = t2.call$1(t3);
      if (didShowFocusHighlight !== doShowFocusHighlight) {
        t1 = _this._widget.onShowFocusHighlight;
        if (t1 != null)
          t1.call$1(doShowFocusHighlight);
      }
      if (didShowHoverHighlight !== doShowHoverHighlight) {
        t1 = _this._widget.onShowHoverHighlight;
        if (t1 != null)
          t1.call$1(doShowHoverHighlight);
      }
    },
    _mayTriggerCallback$1$task(task) {
      return this._mayTriggerCallback$2$oldWidget$task(null, task);
    },
    _mayTriggerCallback$1$oldWidget(oldWidget) {
      return this._mayTriggerCallback$2$oldWidget$task(oldWidget, null);
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (this._widget.enabled !== oldWidget.enabled)
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._FocusableActionDetectorState_didUpdateWidget_closure(this, oldWidget));
    },
    get$_actions$_canRequestFocus() {
      var mode,
        t1 = this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch ((mode == null ? B.NavigationMode_0 : mode).index) {
        case 0:
          return this._widget.enabled;
        case 1:
          return true;
      }
    },
    build$1(context) {
      var t4, t5, child, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.mouseCursor,
        t3 = t1.focusNode;
      t1 = t1.autofocus;
      t4 = _this.get$_actions$_canRequestFocus();
      t5 = _this._widget;
      child = A.MouseRegion$(A.Focus$(t1, t4, t5.child, _null, true, true, t3, true, _null, _this.get$_handleFocusChange(), _null, _null, _null), t2, _this._mouseRegionKey, _this.get$_actions$_handleMouseEnter(), _this.get$_actions$_handleMouseExit(), _null);
      t1 = t5.enabled;
      if (t1)
        t2 = t5.actions._length !== 0;
      else
        t2 = false;
      if (t2)
        child = A.Actions$(t5.actions, child);
      if (t1) {
        t1 = t5.shortcuts;
        t1 = t1 != null && t1._length !== 0;
      } else
        t1 = false;
      if (t1) {
        t1 = t5.shortcuts;
        t1.toString;
        child = A.Shortcuts$(child, _null, t1);
      }
      return child;
    }
  };
  A._FocusableActionDetectorState_initState_closure.prototype = {
    call$1(duration) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      if (t1 == null)
        t1 = A.FocusManager__defaultModeForPlatform();
      this.$this._actions$_updateHighlightMode$1(t1);
    },
    $signature: 3
  };
  A._FocusableActionDetectorState__updateHighlightMode_closure.prototype = {
    call$0() {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._highlightMode;
      switch ((t1 == null ? A.FocusManager__defaultModeForPlatform() : t1).index) {
        case 0:
          this.$this._canShowHighlight = false;
          break;
        case 1:
          this.$this._canShowHighlight = true;
          break;
      }
    },
    $signature: 0
  };
  A._FocusableActionDetectorState__handleMouseEnter_closure.prototype = {
    call$0() {
      this.$this._actions$_hovering = true;
    },
    $signature: 0
  };
  A._FocusableActionDetectorState__handleMouseExit_closure.prototype = {
    call$0() {
      this.$this._actions$_hovering = false;
    },
    $signature: 0
  };
  A._FocusableActionDetectorState__handleFocusChange_closure.prototype = {
    call$0() {
      this.$this._focused = this.focused;
    },
    $signature: 0
  };
  A._FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight.prototype = {
    call$1(target) {
      var t1 = this.$this;
      return t1._actions$_hovering && target.enabled && t1._canShowHighlight;
    },
    $signature: 171
  };
  A._FocusableActionDetectorState__mayTriggerCallback_canRequestFocus.prototype = {
    call$1(target) {
      var mode,
        t1 = this.$this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      mode = t1 == null ? null : t1.navigationMode;
      switch ((mode == null ? B.NavigationMode_0 : mode).index) {
        case 0:
          return target.enabled;
        case 1:
          return true;
      }
    },
    $signature: 171
  };
  A._FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight.prototype = {
    call$1(target) {
      var t1 = this.$this;
      return t1._focused && t1._canShowHighlight && this.canRequestFocus.call$1(target);
    },
    $signature: 171
  };
  A._FocusableActionDetectorState_didUpdateWidget_closure.prototype = {
    call$1(duration) {
      this.$this._mayTriggerCallback$1$oldWidget(this.oldWidget);
    },
    $signature: 3
  };
  A.VoidCallbackAction.prototype = {
    invoke$1(intent) {
      intent.callback$0();
      return null;
    }
  };
  A.DoNothingAction.prototype = {
    consumesKey$1(intent) {
      return this._consumesKey;
    },
    invoke$1(intent) {
    }
  };
  A.ActivateIntent.prototype = {};
  A.ButtonActivateIntent.prototype = {};
  A.DismissIntent.prototype = {};
  A.DismissAction.prototype = {};
  A.PrioritizedIntents.prototype = {};
  A.PrioritizedAction.prototype = {
    isEnabled$1(_, intent) {
      var t1, _i, candidateIntent, t2, candidateAction,
        $focus = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      if ($focus == null || $focus._context == null)
        return false;
      for (t1 = type$.Intent, _i = 0; _i < 2; ++_i) {
        candidateIntent = B.List_2WE[_i];
        t2 = $focus._context;
        t2.toString;
        candidateAction = A.Actions_maybeFind(t2, candidateIntent, t1);
        if (candidateAction != null && candidateAction.isEnabled$1(0, candidateIntent)) {
          this.__PrioritizedAction__selectedAction = candidateAction;
          this.__PrioritizedAction__selectedIntent = candidateIntent;
          return true;
        }
      }
      return false;
    },
    invoke$1(intent) {
      var t2,
        t1 = this.__PrioritizedAction__selectedAction;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = this.__PrioritizedAction__selectedIntent;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.invoke$1(t2);
    }
  };
  A._OverridableActionMixin.prototype = {
    _invokeOverride$3(overrideAction, intent, context) {
      var $returnValue;
      overrideAction._updateCallingAction$1(this.get$defaultAction());
      $returnValue = A._instanceType(this)._eval$1("ContextAction<1>")._is(overrideAction) ? overrideAction.invoke$2(intent, context) : overrideAction.invoke$1(intent);
      overrideAction._updateCallingAction$1(null);
      return $returnValue;
    },
    invoke$2(intent, context) {
      var _this = this,
        override = A.Actions__maybeFindWithoutDependingOn(_this.get$lookupContext(), A._instanceType(_this)._precomputed1);
      return override == null ? _this.invokeDefaultAction$3(intent, _this._currentCallingAction, context) : _this._invokeOverride$3(override, intent, context);
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      var isOverrideEnabled, $returnValue, _this = this,
        override = A.Actions_maybeFind(_this.get$lookupContext(), null, A._instanceType(_this)._precomputed1);
      if (override != null) {
        override._updateCallingAction$1(_this.get$defaultAction());
        isOverrideEnabled = override.get$isActionEnabled();
        override._updateCallingAction$1(null);
        $returnValue = isOverrideEnabled;
      } else
        $returnValue = _this.get$defaultAction().get$isActionEnabled();
      return $returnValue;
    },
    isEnabled$1(_, intent) {
      var $returnValue, _this = this,
        override = A.Actions__maybeFindWithoutDependingOn(_this.get$lookupContext(), A._instanceType(_this)._precomputed1),
        t1 = override == null;
      if (!t1)
        override._updateCallingAction$1(_this.get$defaultAction());
      $returnValue = (t1 ? _this.get$defaultAction() : override).isEnabled$1(0, intent);
      if (!t1)
        override._updateCallingAction$1(null);
      return $returnValue;
    },
    consumesKey$1(intent) {
      var isEnabled, _this = this,
        override = A.Actions__maybeFindWithoutDependingOn(_this.get$lookupContext(), A._instanceType(_this)._precomputed1),
        t1 = override == null;
      if (!t1)
        override._updateCallingAction$1(_this.get$defaultAction());
      isEnabled = (t1 ? _this.get$defaultAction() : override).consumesKey$1(intent);
      if (!t1)
        override._updateCallingAction$1(null);
      return isEnabled;
    }
  };
  A._OverridableAction.prototype = {
    invokeDefaultAction$3(intent, fromAction, context) {
      var t1 = this.defaultAction;
      if (fromAction == null)
        return t1.invoke$1(intent);
      else
        return t1.invoke$1(intent);
    },
    get$defaultAction() {
      return this.defaultAction;
    },
    get$lookupContext() {
      return this.lookupContext;
    }
  };
  A._OverridableContextAction.prototype = {
    _invokeOverride$3(overrideAction, intent, context) {
      var t1, $returnValue;
      context.toString;
      t1 = this.$ti;
      overrideAction._updateCallingAction$1(new A._ContextActionToActionAdapter(context, this.defaultAction, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent), type$.ObserverList_of_void_Function_Action_Intent), t1._eval$1("_ContextActionToActionAdapter<1>")));
      $returnValue = t1._eval$1("ContextAction<1>")._is(overrideAction) ? overrideAction.invoke$2(intent, context) : overrideAction.invoke$1(intent);
      overrideAction._updateCallingAction$1(null);
      return $returnValue;
    },
    invokeDefaultAction$3(intent, fromAction, context) {
      var t1 = this.defaultAction;
      if (fromAction == null)
        return t1.invoke$2(intent, context);
      else
        return t1.invoke$2(intent, context);
    },
    get$defaultAction() {
      return this.defaultAction;
    },
    get$lookupContext() {
      return this.lookupContext;
    }
  };
  A._ContextActionToActionAdapter.prototype = {
    _updateCallingAction$1(value) {
      this.action._updateCallingAction$1(value);
    },
    isEnabled$1(_, intent) {
      return this.action.isEnabled$1(0, intent);
    },
    get$isActionEnabled() {
      return this.action.get$isActionEnabled();
    },
    consumesKey$1(intent) {
      return this.action.consumesKey$1(intent);
    },
    addActionListener$1(listener) {
      var t1;
      this.super$Action$addActionListener(listener);
      t1 = this.action._actions$_listeners;
      t1._isDirty = true;
      t1._list.push(listener);
    },
    removeActionListener$1(listener) {
      this.super$Action$removeActionListener(listener);
      this.action._actions$_listeners.remove$1(0, listener);
    },
    invoke$1(intent) {
      return this.action.invoke$2(intent, this.invokeContext);
    }
  };
  A._Action_Object_Diagnosticable.prototype = {};
  A._ActionDispatcher_Object_Diagnosticable.prototype = {};
  A._Intent_Object_Diagnosticable.prototype = {};
  A.__OverridableAction_ContextAction__OverridableActionMixin.prototype = {
    _updateCallingAction$1(value) {
      this.super$Action$_updateCallingAction(value);
      this.defaultAction._updateCallingAction$1(value);
    }
  };
  A.__OverridableContextAction_ContextAction__OverridableActionMixin.prototype = {
    _updateCallingAction$1(value) {
      this.super$Action$_updateCallingAction(value);
      this.defaultAction._updateCallingAction$1(value);
    }
  };
  A.CrossFadeState.prototype = {
    toString$0(_) {
      return "CrossFadeState." + this._core$_name;
    }
  };
  A.AnimatedCrossFade.prototype = {
    createState$0() {
      return new A._AnimatedCrossFadeState(null, null, B._StateLifecycle_0);
    },
    layoutBuilder$4(arg0, arg1, arg2, arg3) {
      return A.animated_cross_fade_AnimatedCrossFade_defaultLayoutBuilder$closure().call$4(arg0, arg1, arg2, arg3);
    }
  };
  A._AnimatedCrossFadeState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A.AnimationController$(null, _this._widget.duration, 0, null, 1, null, _this);
      _this.___AnimatedCrossFadeState__controller = t1;
      if (_this._widget.crossFadeState === B.CrossFadeState_1)
        t1.set$value(0, 1);
      _this._widget.toString;
      _this.___AnimatedCrossFadeState__firstAnimation = _this._initAnimation$2(B.C__Linear, true);
      _this._widget.toString;
      _this.___AnimatedCrossFadeState__secondAnimation = _this._initAnimation$2(B.C__Linear, false);
      t1 = _this.___AnimatedCrossFadeState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(new A._AnimatedCrossFadeState_initState_closure(_this));
    },
    _initAnimation$2(curve, inverted) {
      var t2, result,
        t1 = this.___AnimatedCrossFadeState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = type$.Animation_double;
      result = new A._AnimatedEvaluation(t2._as(t1), new A.CurveTween(curve), type$.CurveTween._eval$1("_AnimatedEvaluation<Animatable.T>"));
      if (inverted) {
        t1 = type$.Tween_double;
        result = new A._AnimatedEvaluation(t2._as(result), new A.Tween(1, 0, t1), t1._eval$1("_AnimatedEvaluation<Animatable.T>"));
      }
      return result;
    },
    dispose$0() {
      var t1 = this.___AnimatedCrossFadeState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$__AnimatedCrossFadeState_State_TickerProviderStateMixin$dispose();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.duration;
      if (t2._duration !== oldWidget.duration._duration) {
        t3 = _this.___AnimatedCrossFadeState__controller;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.duration = t2;
      }
      t1 = t1.crossFadeState;
      if (t1 !== oldWidget.crossFadeState)
        switch (t1.index) {
          case 0:
            t1 = _this.___AnimatedCrossFadeState__controller;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1.reverse$0(0);
            break;
          case 1:
            t1 = _this.___AnimatedCrossFadeState__controller;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1.forward$0(0);
            break;
        }
    },
    build$1(context) {
      var transitioningForwards, t2, t3, t4, topChild, bottomChild, bottomAnimation, topAnimation, topKey, bottomKey, _this = this, _null = null,
        t1 = _this.___AnimatedCrossFadeState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__AnimationController__status;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      transitioningForwards = t1 === B.AnimationStatus_3 || t1 === B.AnimationStatus_1;
      t2 = _this._widget;
      t3 = _this.___AnimatedCrossFadeState__secondAnimation;
      t4 = _this.___AnimatedCrossFadeState__firstAnimation;
      if (transitioningForwards) {
        topChild = t2.secondChild;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        bottomChild = t2.firstChild;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        bottomAnimation = t4;
        topAnimation = t3;
        topKey = B.ValueKey_CrossFadeState_1;
        bottomKey = B.ValueKey_CrossFadeState_0;
      } else {
        topChild = t2.firstChild;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        bottomChild = t2.secondChild;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        bottomAnimation = t3;
        topAnimation = t4;
        topKey = B.ValueKey_CrossFadeState_0;
        bottomKey = B.ValueKey_CrossFadeState_1;
      }
      t1 = t1 === B.AnimationStatus_1 || t1 === B.AnimationStatus_2;
      t2.toString;
      t3 = A.FadeTransition$(false, bottomChild, bottomAnimation);
      return A.ClipRect$(A.AnimatedSize$(B.Alignment_0_m1, t2.layoutBuilder$4(new A.TickerMode(true, new A.IgnorePointer(false, _null, new A.ExcludeSemantics(false, new A.ExcludeFocus(false, A.FadeTransition$(false, topChild, topAnimation), _null), _null), _null), topKey), topKey, new A.TickerMode(t1, new A.IgnorePointer(true, _null, new A.ExcludeSemantics(true, new A.ExcludeFocus(true, t3, _null), _null), _null), bottomKey), bottomKey), B.C__Linear, t2.duration, _null), B.Clip_1, _null);
    }
  };
  A._AnimatedCrossFadeState_initState_closure.prototype = {
    call$1($status) {
      this.$this.setState$1(new A._AnimatedCrossFadeState_initState__closure());
    },
    $signature: 5
  };
  A._AnimatedCrossFadeState_initState__closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.__AnimatedCrossFadeState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.AnimatedSize.prototype = {
    createState$0() {
      return new A._AnimatedSizeState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedSizeState.prototype = {
    build$1(context) {
      var t1 = this._widget;
      return new A._AnimatedSize(t1.alignment, t1.curve, t1.duration, t1.reverseDuration, this, B.Clip_1, t1.child, null);
    }
  };
  A._AnimatedSize.prototype = {
    createRenderObject$1(context) {
      var _this = this;
      return A.RenderAnimatedSize$(_this.alignment, _this.clipBehavior, _this.curve, _this.duration, _this.reverseDuration, A.Directionality_maybeOf(context), _this.vsync);
    },
    updateRenderObject$2(context, renderObject) {
      var t1, _this = this;
      renderObject.set$alignment(_this.alignment);
      renderObject.set$duration(0, _this.duration);
      renderObject.set$reverseDuration(_this.reverseDuration);
      renderObject.set$curve(0, _this.curve);
      renderObject.set$vsync(_this.vsync);
      renderObject.set$textDirection(A.Directionality_maybeOf(context));
      t1 = _this.clipBehavior;
      if (t1 !== renderObject._animated_size$_clipBehavior) {
        renderObject._animated_size$_clipBehavior = t1;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  A.__AnimatedSizeState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.AnnotatedRegion.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderAnnotatedRegion(this.value, true, null, A.LayerHandle$(type$.ContainerLayer_2), this.$ti._eval$1("RenderAnnotatedRegion<1>"));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$value(0, this.value);
      renderObject.set$sized(true);
    }
  };
  A.WidgetsApp.prototype = {
    createState$0() {
      return new A._WidgetsAppState(B._StateLifecycle_0);
    }
  };
  A._WidgetsAppState.prototype = {
    get$_initialRouteName() {
      $.WidgetsBinding__instance.toString;
      var t1 = $.$get$EnginePlatformDispatcher__instance();
      if (t1.get$defaultRouteName() !== "/") {
        $.WidgetsBinding__instance.toString;
        t1 = t1.get$defaultRouteName();
      } else {
        this._widget.toString;
        $.WidgetsBinding__instance.toString;
        t1 = t1.get$defaultRouteName();
      }
      return t1;
    },
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this._updateRouting$0();
      $.WidgetsBinding__instance.toString;
      _this._app$_locale = _this._resolveLocales$2($.$get$EnginePlatformDispatcher__instance().configuration.locales, _this._widget.supportedLocales);
      $.WidgetsBinding__instance.WidgetsBinding__observers.push(_this);
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateRouting$1$oldWidget(oldWidget);
    },
    dispose$0() {
      B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
      var t1 = this._defaultRouteInformationProvider;
      if (t1 != null)
        t1.dispose$0();
      this.super$State$dispose();
    },
    _clearRouterResource$0() {
      var t1 = this._defaultRouteInformationProvider;
      if (t1 != null)
        t1.dispose$0();
      this._defaultBackButtonDispatcher = this._defaultRouteInformationProvider = null;
    },
    _updateRouting$1$oldWidget(oldWidget) {
      var _this = this,
        t1 = _this._widget;
      if (t1.routerDelegate != null) {
        _this._navigator = null;
        t1 = t1.routeInformationParser;
        if (t1 != null) {
          if (_this._defaultRouteInformationProvider == null) {
            t1 = _this.get$_initialRouteName();
            $.WidgetsBinding__instance.toString;
            _this._defaultRouteInformationProvider = new A.PlatformRouteInformationProvider(new A.RouteInformation(t1, null), new A.RouteInformation($.$get$EnginePlatformDispatcher__instance().get$defaultRouteName(), null), $.$get$ChangeNotifier__emptyListeners());
          }
        } else {
          t1 = _this._defaultRouteInformationProvider;
          if (t1 != null)
            t1.dispose$0();
          _this._defaultRouteInformationProvider = null;
        }
        _this._widget.toString;
        if (_this._defaultBackButtonDispatcher == null)
          _this._defaultBackButtonDispatcher = new A.RootBackButtonDispatcher(new A.ObserverList(A._setArrayType([], type$.JSArray_of_Future_bool_Function), type$.ObserverList_of_Future_bool_Function));
      } else if (_this.get$_usesNavigator()) {
        _this._clearRouterResource$0();
        if (_this._navigator != null) {
          _this._widget.toString;
          oldWidget.toString;
          t1 = false;
        } else
          t1 = true;
        if (t1) {
          _this._widget.toString;
          _this._navigator = new A.GlobalObjectKey(_this, type$.GlobalObjectKey_NavigatorState);
        }
      } else {
        _this._clearRouterResource$0();
        _this._navigator = null;
      }
    },
    _updateRouting$0() {
      return this._updateRouting$1$oldWidget(null);
    },
    get$_usesNavigator() {
      this._widget.toString;
      return false;
    },
    _onGenerateRoute$1(settings) {
      var pageContentBuilder,
        $name = settings.name;
      if ($name === "/")
        this._widget.toString;
      pageContentBuilder = this._widget.routes.$index(0, $name);
      return this._widget.pageRouteBuilder.call$1$2(settings, pageContentBuilder, type$.dynamic);
    },
    _onUnknownRoute$1(settings) {
      return this._widget.onUnknownRoute.call$1(settings);
    },
    didPopRoute$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, $navigator;
      var $async$didPopRoute$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._widget.routerDelegate != null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._navigator;
              $navigator = t1 == null ? null : t1.get$currentState();
              if ($navigator == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $navigator.maybePop$0();
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$didPopRoute$0, $async$completer);
    },
    didPushRoute$1(route) {
      return this.didPushRoute$body$_WidgetsAppState(route);
    },
    didPushRoute$body$_WidgetsAppState(route) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, t1, $navigator;
      var $async$didPushRoute$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._widget.routerDelegate != null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $async$self._navigator;
              $navigator = t1 == null ? null : t1.get$currentState();
              if ($navigator == null) {
                $async$returnValue = false;
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = $navigator._routeNamed$1$2$arguments(route, null, type$.nullable_Object);
              t1.toString;
              $navigator.push$1(t1);
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$didPushRoute$1, $async$completer);
    },
    _resolveLocales$2(preferredLocales, supportedLocales) {
      this._widget.toString;
      return A.basicLocaleListResolution(preferredLocales, supportedLocales);
    },
    didChangeLocales$1(locales) {
      var _this = this,
        newLocale = _this._resolveLocales$2(locales, _this._widget.supportedLocales);
      if (!newLocale.$eq(0, _this._app$_locale))
        _this.setState$1(new A._WidgetsAppState_didChangeLocales_closure(_this, newLocale));
    },
    build$1(context) {
      var t2, t3, t4, t5, result, performanceOverlay, t6, t7, t8, _this = this, _null = null, t1 = {};
      t1.routing = null;
      t2 = _this._widget;
      t3 = t2.routerDelegate;
      if (t3 != null) {
        t4 = _this._defaultRouteInformationProvider;
        t2 = t2.routeInformationParser;
        t5 = _this._defaultBackButtonDispatcher;
        t5.toString;
        t1.routing = new A.Router(t4, t2, t3, t5, "router", _null, type$.Router_Object);
      } else if (_this.get$_usesNavigator()) {
        t2 = _this._navigator;
        t3 = _this.get$_initialRouteName();
        t4 = _this._widget;
        t4 = t4.navigatorObservers;
        t4.toString;
        t1.routing = A.Navigator$(t3, t2, t4, A.navigator_Navigator_defaultGenerateInitialRoutes$closure(), _this.get$_onGenerateRoute(), _null, _this.get$_onUnknownRoute(), B.List_empty10, true, "nav");
      } else
        _this._widget.toString;
      t1.result = null;
      t2 = _this._widget;
      t2.toString;
      result = new A.Builder(new A._WidgetsAppState_build_closure(t1, _this), _null);
      t1.result = result;
      result = A.DefaultTextStyle$(result, _null, _null, B.TextOverflow_0, true, t2.textStyle, _null, _null, B.TextWidthBasis_0);
      t1.result = result;
      t2 = $.WidgetsApp_showPerformanceOverlayOverride;
      if (t2)
        performanceOverlay = new A.PerformanceOverlay(15, false, false, _null);
      else
        performanceOverlay = _null;
      if (performanceOverlay != null)
        t1.result = new A.Stack(B.AlignmentDirectional_m1_m1, _null, B.StackFit_0, B.Clip_1, A._setArrayType([result, A.Positioned$(_null, performanceOverlay, _null, _null, 0, 0, 0, _null)], type$.JSArray_Widget), _null);
      t2 = _this._widget;
      t3 = t2.title;
      t2 = t2.color;
      t2 = A.Color$fromARGB(255, t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
      t1 = t1.result;
      _this._widget.toString;
      t4 = _this._app$_locale;
      t4.toString;
      t5 = type$.JSArray_LocalizationsDelegate_dynamic;
      t6 = A._setArrayType([], t5);
      B.JSArray_methods.addAll$1(t6, _this._widget.localizationsDelegates);
      t6.push(B.C__WidgetsLocalizationsDelegate);
      t5 = A._setArrayType(t6.slice(0), t5);
      A.MediaQuery_maybeOf(context);
      t6 = _this._widget;
      t6 = t6.restorationScopeId;
      t7 = A.WidgetsApp_defaultShortcuts();
      t8 = $.$get$WidgetsApp_defaultActions();
      return new A.RootRestorationScope(new A.SharedAppData(A.Shortcuts$(new A.DefaultTextEditingShortcuts(A.Actions$(t8, new A.FocusTraversalGroup(new A.ReadingOrderTraversalPolicy(A.LinkedHashMap_LinkedHashMap$_empty(type$.FocusScopeNode, type$._DirectionalPolicyData)), new A.ShortcutRegistrar(new A._MediaQueryFromWindow(new A.Localizations(t4, t5, new A.Title(t3, t2, t1, _null), _null), _null), _null), _null)), _null), "<Default WidgetsApp Shortcuts>", t7), _null), t6, _null);
    }
  };
  A._WidgetsAppState_didChangeLocales_closure.prototype = {
    call$0() {
      this.$this._app$_locale = this.newLocale;
    },
    $signature: 0
  };
  A._WidgetsAppState_build_closure.prototype = {
    call$1(context) {
      return this.$this._widget.builder.call$2(context, this._box_0.routing);
    },
    $signature: 29
  };
  A.__WidgetsAppState_State_WidgetsBindingObserver.prototype = {};
  A.StreamBuilderBase.prototype = {
    createState$0() {
      var t1 = this.$ti;
      return new A._StreamBuilderBaseState(B._StateLifecycle_0, t1._eval$1("@<StreamBuilderBase.T>")._bind$1(t1._eval$1("StreamBuilderBase.S"))._eval$1("_StreamBuilderBaseState<1,2>"));
    }
  };
  A._StreamBuilderBaseState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.initialData;
      t1 = new A.AsyncSnapshot(B.ConnectionState_0, t2, null, null, A._instanceType(t1)._eval$1("AsyncSnapshot<1>"));
      _this.___StreamBuilderBaseState__summary = t1;
      _this._async0$_subscribe$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (!oldWidget.stream.$eq(0, _this._widget.stream)) {
        if (_this._async0$_subscription != null) {
          _this._async0$_unsubscribe$0();
          _this._widget.toString;
          t1 = _this.___StreamBuilderBaseState__summary;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.___StreamBuilderBaseState__summary = new A.AsyncSnapshot(B.ConnectionState_0, t1.data, t1.error, t1.stackTrace, t1.$ti);
        }
        _this._async0$_subscribe$0();
      }
    },
    build$1(context) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this.___StreamBuilderBaseState__summary;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.builder$2(context, t2);
    },
    dispose$0() {
      this._async0$_unsubscribe$0();
      this.super$State$dispose();
    },
    _async0$_subscribe$0() {
      var t1, _this = this;
      _this._async0$_subscription = _this._widget.stream.listen$3$onDone$onError(new A._StreamBuilderBaseState__subscribe_closure(_this), new A._StreamBuilderBaseState__subscribe_closure0(_this), new A._StreamBuilderBaseState__subscribe_closure1(_this));
      _this._widget.toString;
      t1 = _this.___StreamBuilderBaseState__summary;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.___StreamBuilderBaseState__summary = new A.AsyncSnapshot(B.ConnectionState_1, t1.data, t1.error, t1.stackTrace, t1.$ti);
    },
    _async0$_unsubscribe$0() {
      var t1 = this._async0$_subscription;
      if (t1 != null) {
        t1.cancel$0(0);
        this._async0$_subscription = null;
      }
    }
  };
  A._StreamBuilderBaseState__subscribe_closure.prototype = {
    call$1(data) {
      var t1 = this.$this;
      t1.setState$1(new A._StreamBuilderBaseState__subscribe__closure1(t1, data));
    },
    $signature() {
      return this.$this.$ti._eval$1("~(1)");
    }
  };
  A._StreamBuilderBaseState__subscribe__closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget;
      t2.toString;
      if (t1.___StreamBuilderBaseState__summary === $)
        A.throwUnnamedLateFieldNI();
      t1.___StreamBuilderBaseState__summary = new A.AsyncSnapshot(B.ConnectionState_2, this.data, null, null, A._instanceType(t2)._eval$1("AsyncSnapshot<1>"));
    },
    $signature: 0
  };
  A._StreamBuilderBaseState__subscribe_closure1.prototype = {
    call$2(error, stackTrace) {
      var t1 = this.$this;
      t1.setState$1(new A._StreamBuilderBaseState__subscribe__closure(t1, error, stackTrace));
    },
    $signature: 22
  };
  A._StreamBuilderBaseState__subscribe__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget;
      t2.toString;
      if (t1.___StreamBuilderBaseState__summary === $)
        A.throwUnnamedLateFieldNI();
      t1.___StreamBuilderBaseState__summary = new A.AsyncSnapshot(B.ConnectionState_2, null, this.error, this.stackTrace, A._instanceType(t2)._eval$1("AsyncSnapshot<1>"));
    },
    $signature: 0
  };
  A._StreamBuilderBaseState__subscribe_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.setState$1(new A._StreamBuilderBaseState__subscribe__closure0(t1));
    },
    $signature: 0
  };
  A._StreamBuilderBaseState__subscribe__closure0.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1._widget.toString;
      t2 = t1.___StreamBuilderBaseState__summary;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.___StreamBuilderBaseState__summary = new A.AsyncSnapshot(B.ConnectionState_3, t2.data, t2.error, t2.stackTrace, t2.$ti);
    },
    $signature: 0
  };
  A.ConnectionState.prototype = {
    toString$0(_) {
      return "ConnectionState." + this._core$_name;
    }
  };
  A.AsyncSnapshot.prototype = {
    toString$0(_) {
      var _this = this;
      return "AsyncSnapshot(" + _this.connectionState.toString$0(0) + ", " + A.S(_this.data) + ", " + A.S(_this.error) + ", " + A.S(_this.stackTrace) + ")";
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      return _this.$ti._is(other) && other.connectionState === _this.connectionState && J.$eq$(other.data, _this.data) && J.$eq$(other.error, _this.error) && other.stackTrace == _this.stackTrace;
    },
    get$hashCode(_) {
      return A.Object_hash(this.connectionState, this.data, this.error, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.StreamBuilder.prototype = {
    builder$2(arg0, arg1) {
      return this.builder.call$2(arg0, arg1);
    }
  };
  A.FutureBuilder.prototype = {
    createState$0() {
      return new A._FutureBuilderState(B._StateLifecycle_0, this.$ti._eval$1("_FutureBuilderState<1>"));
    }
  };
  A._FutureBuilderState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      _this._widget.toString;
      t1 = A.AsyncSnapshot$nothing(_this.$ti._precomputed1);
      _this.___FutureBuilderState__snapshot = t1;
      _this._async0$_subscribe$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (oldWidget.future !== _this._widget.future) {
        if (_this._activeCallbackIdentity != null) {
          _this._activeCallbackIdentity = null;
          t1 = _this.___FutureBuilderState__snapshot;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.___FutureBuilderState__snapshot = new A.AsyncSnapshot(B.ConnectionState_0, t1.data, t1.error, t1.stackTrace, t1.$ti);
        }
        _this._async0$_subscribe$0();
      }
    },
    build$1(context) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this.___FutureBuilderState__snapshot;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.builder.call$2(context, t2);
    },
    dispose$0() {
      this._activeCallbackIdentity = null;
      this.super$State$dispose();
    },
    _async0$_subscribe$0() {
      var callbackIdentity, _this = this,
        t1 = _this._widget;
      t1.toString;
      callbackIdentity = _this._activeCallbackIdentity = new A.Object();
      t1.future.then$1$2$onError(new A._FutureBuilderState__subscribe_closure(_this, callbackIdentity), new A._FutureBuilderState__subscribe_closure0(_this, callbackIdentity), type$.void);
      t1 = _this.___FutureBuilderState__snapshot;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.___FutureBuilderState__snapshot = new A.AsyncSnapshot(B.ConnectionState_1, t1.data, t1.error, t1.stackTrace, t1.$ti);
    }
  };
  A._FutureBuilderState__subscribe_closure.prototype = {
    call$1(data) {
      var t1 = this.$this;
      if (t1._activeCallbackIdentity === this.callbackIdentity)
        t1.setState$1(new A._FutureBuilderState__subscribe__closure0(t1, data));
    },
    $signature() {
      return this.$this.$ti._eval$1("Null(1)");
    }
  };
  A._FutureBuilderState__subscribe__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.___FutureBuilderState__snapshot = new A.AsyncSnapshot(B.ConnectionState_3, this.data, null, null, t1.$ti._eval$1("AsyncSnapshot<1>"));
    },
    $signature: 0
  };
  A._FutureBuilderState__subscribe_closure0.prototype = {
    call$2(error, stackTrace) {
      var t1 = this.$this;
      if (t1._activeCallbackIdentity === this.callbackIdentity)
        t1.setState$1(new A._FutureBuilderState__subscribe__closure(t1, error, stackTrace));
    },
    $signature: 22
  };
  A._FutureBuilderState__subscribe__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1.___FutureBuilderState__snapshot = new A.AsyncSnapshot(B.ConnectionState_3, null, this.error, this.stackTrace, t1.$ti._eval$1("AsyncSnapshot<1>"));
    },
    $signature: 0
  };
  A.AutomaticKeepAlive.prototype = {
    createState$0() {
      return new A._AutomaticKeepAliveState(B._StateLifecycle_0);
    }
  };
  A._AutomaticKeepAliveState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._updateChild$0();
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateChild$0();
    },
    _updateChild$0() {
      this.___AutomaticKeepAliveState__child = new A.NotificationListener(this.get$_addClient(), this._widget.child, null, type$.NotificationListener_KeepAliveNotification);
    },
    dispose$0() {
      var t2, t3,
        t1 = this._automatic_keep_alive$_handles;
      if (t1 != null)
        for (t1 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t1.moveNext$0();) {
          t2 = t1.__js_helper$_current;
          t3 = this._automatic_keep_alive$_handles.$index(0, t2);
          t3.toString;
          t2.removeListener$1(0, t3);
        }
      this.super$State$dispose();
    },
    _addClient$1(notification) {
      var childElement, _this = this,
        handle = notification.handle,
        t1 = _this._automatic_keep_alive$_handles;
      if (t1 == null)
        t1 = _this._automatic_keep_alive$_handles = A.LinkedHashMap_LinkedHashMap$_empty(type$.Listenable, type$.void_Function);
      t1.$indexSet(0, handle, _this._createCallback$1(handle));
      t1 = _this._automatic_keep_alive$_handles.$index(0, handle);
      t1.toString;
      handle.addListener$1(0, t1);
      if (!_this._keepingAlive) {
        _this._keepingAlive = true;
        childElement = _this._getChildElement$0();
        if (childElement != null)
          _this._updateParentDataOfChild$1(childElement);
        else
          $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._AutomaticKeepAliveState__addClient_closure(_this));
      }
      return false;
    },
    _getChildElement$0() {
      var t1 = {},
        t2 = this._framework$_element;
      t2.toString;
      t1.childElement = null;
      t2.visitChildren$1(new A._AutomaticKeepAliveState__getChildElement_closure(t1));
      return type$.nullable_ParentDataElement_KeepAliveParentDataMixin._as(t1.childElement);
    },
    _updateParentDataOfChild$1(childElement) {
      var t1, t2;
      this._framework$_element.toString;
      t1 = this._keepingAlive;
      t2 = this.___AutomaticKeepAliveState__child;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      childElement._applyParentData$1(type$.ParentDataWidget_KeepAliveParentDataMixin._as(A.KeepAlive$(t2, t1)));
    },
    _createCallback$1(handle) {
      return new A._AutomaticKeepAliveState__createCallback_closure(this, handle);
    },
    build$1(context) {
      var t1 = this._keepingAlive,
        t2 = this.___AutomaticKeepAliveState__child;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return new A.KeepAlive(t1, t2, null);
    }
  };
  A._AutomaticKeepAliveState__addClient_closure.prototype = {
    call$1(timeStamp) {
      var childElement,
        t1 = this.$this;
      if (t1._framework$_element == null)
        return;
      childElement = t1._getChildElement$0();
      childElement.toString;
      t1._updateParentDataOfChild$1(childElement);
    },
    $signature: 3
  };
  A._AutomaticKeepAliveState__getChildElement_closure.prototype = {
    call$1(child) {
      this._box_0.childElement = child;
    },
    $signature: 17
  };
  A._AutomaticKeepAliveState__createCallback_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._automatic_keep_alive$_handles.remove$1(0, this.handle);
      if (t1._automatic_keep_alive$_handles._length === 0)
        if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase.index < 3)
          t1.setState$1(new A._AutomaticKeepAliveState__createCallback__closure(t1));
        else {
          t1._keepingAlive = false;
          A.scheduleMicrotask(new A._AutomaticKeepAliveState__createCallback__closure0(t1));
        }
    },
    $signature: 0
  };
  A._AutomaticKeepAliveState__createCallback__closure.prototype = {
    call$0() {
      this.$this._keepingAlive = false;
    },
    $signature: 0
  };
  A._AutomaticKeepAliveState__createCallback__closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1._framework$_element != null && t1._automatic_keep_alive$_handles._length === 0)
        t1.setState$1(new A._AutomaticKeepAliveState__createCallback___closure(t1));
    },
    $signature: 0
  };
  A._AutomaticKeepAliveState__createCallback___closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.KeepAliveNotification.prototype = {};
  A.KeepAliveHandle.prototype = {};
  A.AutomaticKeepAliveClientMixin.prototype = {
    _ensureKeepAlive$0() {
      var t1 = new A.KeepAliveHandle($.$get$ChangeNotifier__emptyListeners());
      this.AutomaticKeepAliveClientMixin__keepAliveHandle = t1;
      this._framework$_element.dispatchNotification$1(new A.KeepAliveNotification(t1));
    },
    updateKeepAlive$0() {
      var t1, _this = this;
      if (_this.get$wantKeepAlive()) {
        if (_this.AutomaticKeepAliveClientMixin__keepAliveHandle == null)
          _this._ensureKeepAlive$0();
      } else {
        t1 = _this.AutomaticKeepAliveClientMixin__keepAliveHandle;
        if (t1 != null) {
          t1.notifyListeners$0();
          _this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
        }
      }
    },
    build$1(context) {
      if (this.get$wantKeepAlive() && this.AutomaticKeepAliveClientMixin__keepAliveHandle == null)
        this._ensureKeepAlive$0();
      return B._NullWidget_null0;
    }
  };
  A._NullWidget0.prototype = {
    build$1(context) {
      throw A.wrapException(A.FlutterError_FlutterError("Widgets that mix AutomaticKeepAliveClientMixin into their State must call super.build() but must ignore the return value of the superclass."));
    }
  };
  A._UbiquitousInheritedElement.prototype = {
    setDependencies$2(dependent, value) {
    },
    notifyClients$1(oldWidget) {
      A._UbiquitousInheritedElement__recurseChildren(this, new A._UbiquitousInheritedElement_notifyClients_closure(this, oldWidget));
    }
  };
  A._UbiquitousInheritedElement_notifyClients_closure.prototype = {
    call$1(element) {
      var t1 = element._dependencies;
      if (t1 != null && t1.contains$1(0, this.$this))
        element.didChangeDependencies$0();
    },
    $signature: 17
  };
  A._UbiquitousInheritedElement__recurseChildren_closure.prototype = {
    call$1(child) {
      A._UbiquitousInheritedElement__recurseChildren(child, this.visitor);
    },
    $signature: 17
  };
  A._UbiquitousInheritedWidget.prototype = {
    createElement$0(_) {
      return new A._UbiquitousInheritedElement(A.HashMap_HashMap(null, null, null, type$.Element_2, type$.nullable_Object), this, B._ElementLifecycle_0);
    }
  };
  A.Directionality.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.textDirection !== oldWidget.textDirection;
    }
  };
  A.Opacity.prototype = {
    createRenderObject$1(context) {
      var t1 = this.opacity;
      t1 = new A.RenderOpacity(B.JSNumber_methods.round$0(B.JSNumber_methods.clamp$2(t1, 0, 1) * 255), t1, this.alwaysIncludeSemantics, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$opacity(0, this.opacity);
      renderObject.set$alwaysIncludeSemantics(this.alwaysIncludeSemantics);
    }
  };
  A.CustomPaint.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderCustomPaint(this.painter, this.foregroundPainter, this.size, false, false, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$painter(this.painter);
      renderObject.set$foregroundPainter(this.foregroundPainter);
      renderObject.set$preferredSize(this.size);
      renderObject.willChange = renderObject.isComplex = false;
    },
    didUnmountRenderObject$1(renderObject) {
      renderObject.set$painter(null);
      renderObject.set$foregroundPainter(null);
    }
  };
  A.ClipRect.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderClipRect(this.clipper, this.clipBehavior, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$clipper(this.clipper);
      renderObject.set$clipBehavior(this.clipBehavior);
    },
    didUnmountRenderObject$1(renderObject) {
      renderObject.set$clipper(null);
    }
  };
  A.ClipRRect.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderClipRRect(this.borderRadius, A.Directionality_maybeOf(context), null, this.clipBehavior, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$borderRadius(0, this.borderRadius);
      renderObject.set$clipBehavior(this.clipBehavior);
      renderObject.set$clipper(null);
      renderObject.set$textDirection(A.Directionality_maybeOf(context));
    }
  };
  A.ClipPath.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderClipPath(this.clipper, this.clipBehavior, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$clipper(this.clipper);
      renderObject.set$clipBehavior(this.clipBehavior);
    },
    didUnmountRenderObject$1(renderObject) {
      renderObject.set$clipper(null);
    }
  };
  A.PhysicalModel.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A.RenderPhysicalModel(_this.shape, _this.borderRadius, _this.elevation, _this.shadowColor, _this.color, null, _this.clipBehavior, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$shape(0, _this.shape);
      renderObject.set$clipBehavior(_this.clipBehavior);
      renderObject.set$borderRadius(0, _this.borderRadius);
      renderObject.set$elevation(0, _this.elevation);
      renderObject.set$color(0, _this.color);
      renderObject.set$shadowColor(0, _this.shadowColor);
    }
  };
  A.PhysicalShape.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A.RenderPhysicalShape(_this.elevation, _this.shadowColor, _this.color, _this.clipper, _this.clipBehavior, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$clipper(_this.clipper);
      renderObject.set$clipBehavior(_this.clipBehavior);
      renderObject.set$elevation(0, _this.elevation);
      renderObject.set$color(0, _this.color);
      renderObject.set$shadowColor(0, _this.shadowColor);
    }
  };
  A.Transform.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = A.Directionality_maybeOf(context),
        t2 = new A.RenderTransform(_this.transformHitTests, null, A.LayerHandle$(type$.ContainerLayer_2));
      t2.RenderObject$0();
      t2.set$child(null);
      t2.set$transform(0, _this.transform);
      t2.set$alignment(_this.alignment);
      t2.set$textDirection(t1);
      t2.set$filterQuality(_this.filterQuality);
      t2.set$origin(0, null);
      return t2;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$transform(0, _this.transform);
      renderObject.set$origin(0, null);
      renderObject.set$alignment(_this.alignment);
      renderObject.set$textDirection(A.Directionality_maybeOf(context));
      renderObject.transformHitTests = _this.transformHitTests;
      renderObject.set$filterQuality(_this.filterQuality);
    }
  };
  A.CompositedTransformTarget.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderLeaderLayer(this.link, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$link(this.link);
    }
  };
  A.CompositedTransformFollower.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderFollowerLayer(this.link, false, this.offset, this.targetAnchor, B.Alignment_m1_m1, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$link(this.link);
      renderObject.set$showWhenUnlinked(false);
      renderObject.set$offset(0, this.offset);
      renderObject.set$leaderAnchor(this.targetAnchor);
      renderObject.set$followerAnchor(B.Alignment_m1_m1);
    }
  };
  A.FractionalTranslation.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderFractionalTranslation(this.translation, this.transformHitTests, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$translation(this.translation);
      renderObject.transformHitTests = this.transformHitTests;
    }
  };
  A.RotatedBox.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderRotatedBox(this.quarterTurns, A.LayerHandle$(type$.TransformLayer), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$quarterTurns(this.quarterTurns);
    }
  };
  A.Padding.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderPadding(this.padding, A.Directionality_maybeOf(context), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$padding(0, this.padding);
      renderObject.set$textDirection(A.Directionality_maybeOf(context));
    }
  };
  A.Align.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderPositionedBox(this.widthFactor, this.heightFactor, this.alignment, A.Directionality_maybeOf(context), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$alignment(this.alignment);
      renderObject.set$widthFactor(this.widthFactor);
      renderObject.set$heightFactor(this.heightFactor);
      renderObject.set$textDirection(A.Directionality_maybeOf(context));
    }
  };
  A.Center.prototype = {};
  A.CustomSingleChildLayout.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderCustomSingleChildLayoutBox(this.delegate, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$delegate(this.delegate);
    }
  };
  A.LayoutId.prototype = {
    applyParentData$1(renderObject) {
      var t2, targetParent,
        t1 = renderObject.parentData;
      t1.toString;
      type$.MultiChildLayoutParentData._as(t1);
      t2 = this.id;
      if (t1.id !== t2) {
        t1.id = t2;
        targetParent = renderObject.get$parent(renderObject);
        if (targetParent instanceof A.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  A.CustomMultiChildLayout.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderCustomMultiChildLayoutBox(this.delegate, 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$delegate(this.delegate);
    }
  };
  A.SizedBox.prototype = {
    createRenderObject$1(context) {
      return A.RenderConstrainedBox$(A.BoxConstraints$tightFor(this.height, this.width));
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$additionalConstraints(A.BoxConstraints$tightFor(this.height, this.width));
    },
    toStringShort$0() {
      var type, _this = this,
        t1 = _this.width;
      if (t1 === 1 / 0 && _this.height === 1 / 0)
        type = "SizedBox.expand";
      else
        type = t1 === 0 && _this.height === 0 ? "SizedBox.shrink" : "SizedBox";
      t1 = _this.key;
      return t1 == null ? type : type + "-" + t1.toString$0(0);
    }
  };
  A.ConstrainedBox.prototype = {
    createRenderObject$1(context) {
      return A.RenderConstrainedBox$(this.constraints);
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$additionalConstraints(this.constraints);
    }
  };
  A.LimitedBox.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderLimitedBox(this.maxWidth, this.maxHeight, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$maxWidth(0, this.maxWidth);
      renderObject.set$maxHeight(0, this.maxHeight);
    }
  };
  A.OverflowBox.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A.RenderConstrainedOverflowBox(_this.minWidth, _this.maxWidth, _this.minHeight, _this.maxHeight, _this.alignment, A.Directionality_maybeOf(context), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$alignment(_this.alignment);
      renderObject.set$minWidth(0, _this.minWidth);
      renderObject.set$maxWidth(0, _this.maxWidth);
      renderObject.set$minHeight(0, _this.minHeight);
      renderObject.set$maxHeight(0, _this.maxHeight);
      renderObject.set$textDirection(A.Directionality_maybeOf(context));
    }
  };
  A.Offstage.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderOffstage(this.offstage, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$offstage(this.offstage);
    },
    createElement$0(_) {
      return new A._OffstageElement(this, B._ElementLifecycle_0);
    }
  };
  A._OffstageElement.prototype = {};
  A.IntrinsicWidth.prototype = {
    createRenderObject$1(context) {
      var _null = null,
        t1 = this.stepWidth;
      if (t1 === 0)
        t1 = _null;
      t1 = new A.RenderIntrinsicWidth(t1, _null, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(_null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1 = this.stepWidth;
      renderObject.set$stepWidth(t1 === 0 ? null : t1);
      renderObject.set$stepHeight(null);
    }
  };
  A.IntrinsicHeight.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderIntrinsicHeight(null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    }
  };
  A.SliverPadding.prototype = {
    createRenderObject$1(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new A.RenderSliverPadding(this.padding, t1.textDirection, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1;
      renderObject.set$padding(0, this.padding);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
    }
  };
  A.ListBody.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderListBody(A.getAxisDirectionFromAxisReverseAndDirectionality(context, B.Axis_1, false), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$axisDirection(A.getAxisDirectionFromAxisReverseAndDirectionality(context, B.Axis_1, false));
    }
  };
  A.Stack.prototype = {
    createRenderObject$1(context) {
      var t1 = A.Directionality_maybeOf(context);
      return A.RenderStack$(this.alignment, null, this.clipBehavior, this.fit, t1);
    },
    updateRenderObject$2(context, renderObject) {
      var t1;
      renderObject.set$alignment(this.alignment);
      t1 = A.Directionality_maybeOf(context);
      renderObject.set$textDirection(t1);
      t1 = this.fit;
      if (renderObject._fit !== t1) {
        renderObject._fit = t1;
        renderObject.markNeedsLayout$0();
      }
      t1 = this.clipBehavior;
      if (t1 !== renderObject._clipBehavior) {
        renderObject._clipBehavior = t1;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  A.IndexedStack.prototype = {
    createRenderObject$1(context) {
      var t1 = A.Directionality_maybeOf(context);
      t1 = new A.RenderIndexedStack(this.index, this.alignment, t1, B.StackFit_0, B.Clip_1, A.LayerHandle$(type$.ClipRectLayer), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1 = this.index;
      if (renderObject._stack$_index != t1) {
        renderObject._stack$_index = t1;
        renderObject.markNeedsLayout$0();
      }
      renderObject.set$alignment(this.alignment);
      t1 = A.Directionality_maybeOf(context);
      renderObject.set$textDirection(t1);
    }
  };
  A.Positioned.prototype = {
    applyParentData$1(renderObject) {
      var t2, needsLayout, targetParent, _this = this,
        t1 = renderObject.parentData;
      t1.toString;
      type$.StackParentData._as(t1);
      t2 = _this.left;
      if (t1.left != t2) {
        t1.left = t2;
        needsLayout = true;
      } else
        needsLayout = false;
      t2 = _this.top;
      if (t1.top != t2) {
        t1.top = t2;
        needsLayout = true;
      }
      t2 = _this.right;
      if (t1.right != t2) {
        t1.right = t2;
        needsLayout = true;
      }
      t2 = _this.bottom;
      if (t1.bottom != t2) {
        t1.bottom = t2;
        needsLayout = true;
      }
      t2 = _this.width;
      if (t1.width != t2) {
        t1.width = t2;
        needsLayout = true;
      }
      t2 = _this.height;
      if (t1.height != t2) {
        t1.height = t2;
        needsLayout = true;
      }
      if (needsLayout) {
        targetParent = renderObject.get$parent(renderObject);
        if (targetParent instanceof A.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  A.PositionedDirectional.prototype = {
    build$1(context) {
      var right, left, _this = this, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      right = _this.start;
      switch (t1.textDirection.index) {
        case 0:
          left = _null;
          break;
        case 1:
          left = right;
          right = _null;
          break;
        default:
          right = _null;
          left = right;
      }
      return A.Positioned$(_this.bottom, _this.child, _null, _null, left, right, _this.top, _this.width);
    }
  };
  A.Flex.prototype = {
    get$_needTextDirection() {
      switch (this.direction.index) {
        case 0:
          return true;
        case 1:
          var t1 = this.crossAxisAlignment;
          return t1 === B.CrossAxisAlignment_0 || t1 === B.CrossAxisAlignment_1;
      }
    },
    getEffectiveTextDirection$1(context) {
      var t1 = this.textDirection;
      if (t1 == null)
        t1 = this.get$_needTextDirection() ? A.Directionality_maybeOf(context) : null;
      return t1;
    },
    createRenderObject$1(context) {
      var _this = this;
      return A.RenderFlex$(B.Clip_0, _this.crossAxisAlignment, _this.direction, _this.mainAxisAlignment, _this.mainAxisSize, _this.textBaseline, _this.getEffectiveTextDirection$1(context), _this.verticalDirection);
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$direction(0, _this.direction);
      renderObject.set$mainAxisAlignment(_this.mainAxisAlignment);
      renderObject.set$mainAxisSize(_this.mainAxisSize);
      renderObject.set$crossAxisAlignment(_this.crossAxisAlignment);
      renderObject.set$textDirection(_this.getEffectiveTextDirection$1(context));
      renderObject.set$verticalDirection(_this.verticalDirection);
      renderObject.set$textBaseline(0, _this.textBaseline);
      if (B.Clip_0 !== renderObject._flex$_clipBehavior) {
        renderObject._flex$_clipBehavior = B.Clip_0;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  A.Row.prototype = {};
  A.Column.prototype = {};
  A.Flexible.prototype = {
    applyParentData$1(renderObject) {
      var t2, needsLayout, targetParent,
        t1 = renderObject.parentData;
      t1.toString;
      type$.FlexParentData._as(t1);
      t2 = this.flex;
      if (t1.flex !== t2) {
        t1.flex = t2;
        needsLayout = true;
      } else
        needsLayout = false;
      t2 = this.fit;
      if (t1.fit !== t2) {
        t1.fit = t2;
        needsLayout = true;
      }
      if (needsLayout) {
        targetParent = renderObject.get$parent(renderObject);
        if (targetParent instanceof A.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  A.Expanded.prototype = {};
  A.Wrap.prototype = {
    createRenderObject$1(context) {
      var t1 = A.Directionality_maybeOf(context);
      t1 = new A.RenderWrap(B.Axis_0, this.alignment, 0, B.WrapAlignment_0, 0, this.crossAxisAlignment, t1, B.VerticalDirection_1, B.Clip_0, A.LayerHandle$(type$.ClipRectLayer), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1;
      renderObject.set$direction(0, B.Axis_0);
      renderObject.set$alignment(this.alignment);
      renderObject.set$spacing(0, 0);
      renderObject.set$runAlignment(B.WrapAlignment_0);
      renderObject.set$runSpacing(0);
      renderObject.set$crossAxisAlignment(this.crossAxisAlignment);
      t1 = A.Directionality_maybeOf(context);
      if (renderObject._wrap$_textDirection != t1) {
        renderObject._wrap$_textDirection = t1;
        renderObject.markNeedsLayout$0();
      }
      if (renderObject._wrap$_verticalDirection !== B.VerticalDirection_1) {
        renderObject._wrap$_verticalDirection = B.VerticalDirection_1;
        renderObject.markNeedsLayout$0();
      }
      if (B.Clip_0 !== renderObject._wrap$_clipBehavior) {
        renderObject._wrap$_clipBehavior = B.Clip_0;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  A.RichText.prototype = {
    createRenderObject$1(context) {
      var t3, t4, t5, _this = this, _null = null,
        t1 = _this.text,
        t2 = _this.textDirection;
      if (t2 == null) {
        t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t2.toString;
        t2 = t2.textDirection;
      }
      t3 = _this.overflow;
      t4 = A.Localizations_maybeLocaleOf(context);
      t5 = t3 === B.TextOverflow_2 ? "\u2026" : _null;
      t3 = new A.RenderParagraph(A.TextPainter$(t5, t4, _this.maxLines, _this.strutStyle, t1, _this.textAlign, t2, _this.textHeightBehavior, _this.textScaleFactor, _this.textWidthBasis), _this.softWrap, t3, _this.selectionColor, 0, _null, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t3.RenderObject$0();
      t3.addAll$1(0, _null);
      t3._extractPlaceholderSpans$1(t1);
      t3.set$registrar(_this.selectionRegistrar);
      return t3;
    },
    updateRenderObject$2(context, renderObject) {
      var t1, _this = this;
      renderObject.set$text(0, _this.text);
      renderObject.set$textAlign(0, _this.textAlign);
      t1 = _this.textDirection;
      if (t1 == null) {
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t1.toString;
        t1 = t1.textDirection;
      }
      renderObject.set$textDirection(t1);
      renderObject.set$softWrap(_this.softWrap);
      renderObject.set$overflow(0, _this.overflow);
      renderObject.set$textScaleFactor(_this.textScaleFactor);
      renderObject.set$maxLines(_this.maxLines);
      renderObject.set$strutStyle(_this.strutStyle);
      renderObject.set$textWidthBasis(_this.textWidthBasis);
      renderObject.set$textHeightBehavior(_this.textHeightBehavior);
      t1 = A.Localizations_maybeLocaleOf(context);
      renderObject.set$locale(0, t1);
      renderObject.set$registrar(_this.selectionRegistrar);
      renderObject.set$selectionColor(_this.selectionColor);
    }
  };
  A.RichText__extractChildren_closure.prototype = {
    call$1(span) {
      var t1, _null = null;
      if (span instanceof A.WidgetSpan) {
        t1 = this._box_0.index++;
        this.result.push(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, new A.PlaceholderSpanIndexSemanticsTag(t1, "PlaceholderSpanIndexSemanticsTag(" + t1 + ")"), _null, _null, _null, _null, _null), false, false, false, span.child, _null));
      }
      return true;
    },
    $signature: 65
  };
  A.RawImage.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = _this.image;
      t1 = t1 == null ? null : t1.clone$0(0);
      t1 = new A.RenderImage(t1, _this.debugImageLabel, _this.width, _this.height, _this.scale, _this.color, _this.opacity, _this.filterQuality, _this.colorBlendMode, _this.fit, _this.alignment, _this.repeat, _this.centerSlice, _this.invertColors, false, null, false, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1._updateColorFilter$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this,
        t1 = _this.image;
      renderObject.set$image(0, t1 == null ? null : t1.clone$0(0));
      renderObject.debugImageLabel = _this.debugImageLabel;
      renderObject.set$width(0, _this.width);
      renderObject.set$height(0, _this.height);
      renderObject.set$scale(0, _this.scale);
      renderObject.set$color(0, _this.color);
      renderObject.set$opacity(0, _this.opacity);
      renderObject.set$colorBlendMode(_this.colorBlendMode);
      renderObject.set$fit(_this.fit);
      renderObject.set$alignment(_this.alignment);
      renderObject.set$repeat(0, _this.repeat);
      renderObject.set$centerSlice(_this.centerSlice);
      renderObject.set$matchTextDirection(false);
      renderObject.set$textDirection(null);
      renderObject.set$invertColors(_this.invertColors);
      renderObject.set$isAntiAlias(false);
      renderObject.set$filterQuality(_this.filterQuality);
    },
    didUnmountRenderObject$1(renderObject) {
      renderObject.set$image(0, null);
    }
  };
  A.Listener.prototype = {
    createRenderObject$1(context) {
      var _this = this, _null = null,
        t1 = new A.RenderPointerListener(_this.onPointerDown, _null, _this.onPointerUp, _null, _this.onPointerCancel, _this.onPointerPanZoomStart, _null, _null, _this.onPointerSignal, _this.behavior, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(_null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.onPointerDown = _this.onPointerDown;
      renderObject.onPointerMove = null;
      renderObject.onPointerUp = _this.onPointerUp;
      renderObject.onPointerHover = null;
      renderObject.onPointerCancel = _this.onPointerCancel;
      renderObject.onPointerPanZoomStart = _this.onPointerPanZoomStart;
      renderObject.onPointerPanZoomEnd = renderObject.onPointerPanZoomUpdate = null;
      renderObject.onPointerSignal = _this.onPointerSignal;
      renderObject.behavior = _this.behavior;
    }
  };
  A.MouseRegion.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A.RenderMouseRegion(true, _this.onEnter, _this.onHover, _this.onExit, _this.cursor, B.HitTestBehavior_1, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1, _this = this;
      renderObject.onEnter = _this.onEnter;
      renderObject.onHover = _this.onHover;
      renderObject.onExit = _this.onExit;
      t1 = _this.cursor;
      if (!renderObject._cursor.$eq(0, t1)) {
        renderObject._cursor = t1;
        renderObject.markNeedsPaint$0();
      }
      if (renderObject.behavior !== B.HitTestBehavior_1) {
        renderObject.behavior = B.HitTestBehavior_1;
        renderObject.markNeedsPaint$0();
      }
    }
  };
  A.RepaintBoundary.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderRepaintBoundary(null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    }
  };
  A.IgnorePointer.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderIgnorePointer(this.ignoring, this.ignoringSemantics, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$ignoring(this.ignoring);
      renderObject.set$ignoringSemantics(this.ignoringSemantics);
    }
  };
  A.AbsorbPointer.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderAbsorbPointer(false, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$absorbing(false);
      renderObject.set$ignoringSemantics(null);
    }
  };
  A.MetaData.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderMetaData(this.metaData, B.HitTestBehavior_0, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.metaData = this.metaData;
      renderObject.behavior = B.HitTestBehavior_0;
    }
  };
  A.Semantics.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = new A.RenderSemanticsAnnotations(_this.properties, _this.container, _this.explicitChildNodes, _this.excludeSemantics, _this._getTextDirection$1(context), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      t1._updateAttributedFields$1(t1._proxy_box$_properties);
      return t1;
    },
    _getTextDirection$1(context) {
      var containsText,
        t1 = this.properties,
        t2 = t1.textDirection;
      if (t2 != null)
        return t2;
      if (t1.label == null) {
        if (t1.value == null)
          t1 = t1.tooltip != null;
        else
          t1 = true;
        containsText = t1;
      } else
        containsText = true;
      if (!containsText)
        return null;
      return A.Directionality_maybeOf(context);
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this;
      renderObject.set$container(_this.container);
      renderObject.set$explicitChildNodes(_this.explicitChildNodes);
      renderObject.set$excludeSemantics(_this.excludeSemantics);
      renderObject.set$properties(_this.properties);
      renderObject.set$textDirection(_this._getTextDirection$1(context));
    }
  };
  A.MergeSemantics.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderMergeSemantics(null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    }
  };
  A.BlockSemantics.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderBlockSemantics(true, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$blocking(true);
    }
  };
  A.ExcludeSemantics.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderExcludeSemantics(this.excluding, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$excluding(this.excluding);
    }
  };
  A.IndexedSemantics.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderIndexedSemantics(this.index, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$index(0, this.index);
    }
  };
  A.KeyedSubtree.prototype = {
    build$1(context) {
      return this.child;
    }
  };
  A.Builder.prototype = {
    build$1(context) {
      return this.builder.call$1(context);
    }
  };
  A.ColoredBox.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderColoredBox(this.color, B.HitTestBehavior_1, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      type$._RenderColoredBox._as(renderObject).set$color(0, this.color);
    }
  };
  A._RenderColoredBox.prototype = {
    set$color(_, value) {
      if (value.$eq(0, this._basic$_color))
        return;
      this._basic$_color = value;
      this.markNeedsPaint$0();
    },
    paint$2(context, offset) {
      var t1, t2, t3, t4, t5, t6, _this = this;
      if (_this._box$_size.$gt(0, B.Size_0_0)) {
        t1 = context.get$canvas(context);
        t2 = _this._box$_size;
        t3 = offset._dx;
        t4 = offset._dy;
        t5 = t2._dx;
        t2 = t2._dy;
        t6 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t6.set$color(0, _this._basic$_color);
        t1.drawRect$2(new A.Rect(t3, t4, t3 + t5, t4 + t2), t6);
      }
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure.prototype = {
    call$1(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, t1;
      var $async$call$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 = $.RendererBinding__instance.RendererBinding___RendererBinding__pipelineOwner;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._rootNode;
              t1.toString;
              $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["data", t1.super$DiagnosticableTreeMixin$toStringDeep(B.DiagnosticLevel_2, "", "")], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 112
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0.prototype = {
    call$1(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, data, t1;
      var $async$call$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 = $.RendererBinding__instance.RendererBinding___RendererBinding__pipelineOwner;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._rootNode.get$debugSemantics();
              data = t1 == null ? null : t1.toStringDeep$0();
              $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["data", data == null ? "Semantics not collected." : data], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 112
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1.prototype = {
    call$1(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, data, t1;
      var $async$call$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 = $.RendererBinding__instance.RendererBinding___RendererBinding__pipelineOwner;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1 = t1._rootNode.get$debugSemantics();
              data = t1 == null ? null : t1.toStringDeep$1$childOrder(B.DebugSemanticsDumpOrder_0);
              $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["data", data == null ? "Semantics not collected." : data], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 112
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      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$returnValue = $.debugProfilePaintsEnabled;
              // 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: 54
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3.prototype = {
    call$1(value) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0(value);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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 ($.debugProfilePaintsEnabled !== value)
                $.debugProfilePaintsEnabled = value;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 107
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure4.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      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$returnValue = $.debugProfileLayoutsEnabled;
              // 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: 54
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure5.prototype = {
    call$1(value) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure(value);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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 ($.debugProfileLayoutsEnabled !== value)
                $.debugProfileLayoutsEnabled = value;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 107
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure.prototype = {
    call$0() {
      var t2, result, _this = this,
        t1 = _this.hitTestResult;
      if (t1 == null || type$.PointerMoveEvent._is(_this.event)) {
        t1 = _this.$this.RendererBinding___RendererBinding__pipelineOwner;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._rootNode;
        t1.toString;
        t2 = _this.event;
        t2 = t2.get$position(t2);
        result = A.BoxHitTestResult$();
        t1.hitTest$2$position(result, t2);
        t1 = result;
      }
      return t1;
    },
    $signature: 882
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure.prototype = {
    call$1(timings) {
      J.forEach$1$ax(timings, this.$this.get$_profileFramePostEvent());
    },
    $signature: 164
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.double),
        $async$returnValue;
      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$returnValue = $._timeDilation;
              // 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: 883
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0.prototype = {
    call$1(value) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure(value);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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.timeDilation(value);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 884
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure.prototype = {
    call$1(message) {
      var t1 = message == null ? type$.Object._as(message) : message;
      return this.$this.handleSystemMessage$1(t1);
    },
    $signature: 885
  };
  A.WidgetsBindingObserver.prototype = {
    didPopRoute$0() {
      return A.Future_Future$value(false, type$.bool);
    },
    didPushRoute$1(route) {
      return A.Future_Future$value(false, type$.bool);
    },
    didPushRouteInformation$1(routeInformation) {
      var t1 = routeInformation.location;
      t1.toString;
      return this.didPushRoute$1(t1);
    },
    didChangeMetrics$0() {
    },
    didChangeTextScaleFactor$0() {
    },
    didChangePlatformBrightness$0() {
    },
    didChangeLocales$1(locales) {
    }
  };
  A.WidgetsBinding.prototype = {
    handleLocaleChanged$0() {
      this.dispatchLocalesChanged$1($.$get$EnginePlatformDispatcher__instance().configuration.locales);
    },
    dispatchLocalesChanged$1(locales) {
      var t1, t2, _i;
      for (t1 = this.WidgetsBinding__observers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangeLocales$1(locales);
    },
    handlePopRoute$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, _i;
      var $async$handlePopRoute$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 = A.List_List$of($async$self.WidgetsBinding__observers, true, type$.WidgetsBindingObserver), t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].didPopRoute$0(), $async$handlePopRoute$0);
            case 6:
              // returning from await.
              if ($async$result) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              A.SystemNavigator_pop();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handlePopRoute$0, $async$completer);
    },
    handlePushRoute$1(route) {
      return this.handlePushRoute$body$WidgetsBinding(route);
    },
    handlePushRoute$body$WidgetsBinding(route) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, _i;
      var $async$handlePushRoute$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 = A.List_List$of($async$self.WidgetsBinding__observers, true, type$.WidgetsBindingObserver), t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].didPushRoute$1(route), $async$handlePushRoute$1);
            case 6:
              // returning from await.
              if ($async$result) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handlePushRoute$1, $async$completer);
    },
    _handlePushRouteInformation$1(routeArguments) {
      return this._handlePushRouteInformation$body$WidgetsBinding(routeArguments);
    },
    _handlePushRouteInformation$body$WidgetsBinding(routeArguments) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2, t3, _i;
      var $async$_handlePushRouteInformation$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 = A.List_List$of($async$self.WidgetsBinding__observers, true, type$.WidgetsBindingObserver), t2 = t1.length, t3 = J.getInterceptor$asx(routeArguments), _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$goto = 6;
              return A._asyncAwait(t1[_i].didPushRouteInformation$1(new A.RouteInformation(A._asString(t3.$index(routeArguments, "location")), t3.$index(routeArguments, "state"))), $async$_handlePushRouteInformation$1);
            case 6:
              // returning from await.
              if ($async$result) {
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handlePushRouteInformation$1, $async$completer);
    },
    _handleNavigationInvocation$1(methodCall) {
      switch (methodCall.method) {
        case "popRoute":
          return this.handlePopRoute$0();
        case "pushRoute":
          return this.handlePushRoute$1(A._asString(methodCall.$arguments));
        case "pushRouteInformation":
          return this._handlePushRouteInformation$1(type$.Map_dynamic_dynamic._as(methodCall.$arguments));
      }
      return A.Future_Future$value(null, type$.dynamic);
    },
    _handleBuildScheduled$0() {
      this.ensureVisualUpdate$0();
    },
    scheduleAttachRootWidget$1(rootWidget) {
      A.Timer_Timer(B.Duration_0, new A.WidgetsBinding_scheduleAttachRootWidget_closure(this, rootWidget));
    },
    $isHitTestTarget: 1,
    $isSchedulerBinding: 1
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure.prototype = {
    call$1(parameters) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4(parameters);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4(parameters) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_Object),
        $async$returnValue, t2, t1;
      var $async$call$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 = $.WidgetsBinding__instance;
              t1.toString;
              t1 = "" + (A.getRuntimeType(t1).toString$0(0) + " - PROFILE MODE\n");
              t2 = $.WidgetsBinding__instance.WidgetsBinding__renderViewElement;
              t1 = t2 != null ? t1 + (t2.toStringDeep$0() + "\n") : t1 + "<no tree currently mounted>\n";
              $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["data", t1.charCodeAt(0) == 0 ? t1 : t1], type$.String, type$.Object);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 112
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0.prototype = {
    call$1(_) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3(_);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this;
      var $async$call$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$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["enabled", $async$self.$this.WidgetsBinding__needToReportFirstFrame ? "false" : "true"], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 106
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1.prototype = {
    call$1(_) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2(_);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2(_) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_dynamic),
        $async$returnValue, $async$self = this;
      var $async$call$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$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["enabled", ($async$self.$this.WidgetsBinding__firstFrameCompleter.future._state & 30) !== 0 ? "true" : "false"], type$.String, type$.dynamic);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 106
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2.prototype = {
    call$1(params) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1(params);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1(params) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_String_String),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, t1, className;
      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
              className = A._asStringQ(J.$index$asx(params, "className"));
              A.throwExpression(A.FlutterError_FlutterError("Cannot instantiate DebugReassembleConfig in profile or release mode."));
              $.BindingBase_debugReassembleConfig = new A.DebugReassembleConfig(className);
              $async$handler = 3;
              t1 = $async$self.$this;
              $async$goto = 6;
              return A._asyncAwait(t1.lockEvents$1(t1.get$performReassemble()), $async$call$1);
            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;
              $.BindingBase_debugReassembleConfig = null;
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              t1 = type$.String;
              $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["type", "Success"], t1, t1);
              // goto return
              $async$goto = 1;
              break;
            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: 886
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      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$returnValue = $.debugProfileBuildsEnabled;
              // 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: 54
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4.prototype = {
    call$1(value) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0(value);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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 ($.debugProfileBuildsEnabled !== value)
                $.debugProfileBuildsEnabled = value;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 107
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure5.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue;
      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$returnValue = $.debugProfileBuildsEnabledUserWidgets;
              // 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: 54
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure6.prototype = {
    call$1(value) {
      return this.$call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure(value);
    },
    $call$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure(value) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$call$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 ($.debugProfileBuildsEnabledUserWidgets !== value)
                $.debugProfileBuildsEnabledUserWidgets = value;
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 107
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure.prototype = {
    call$1(timings) {
      var t2, t3,
        t1 = $.$get$_FakeUserTag__defaultTag();
      $.$get$_currentTag();
      $._currentTag = t1;
      A.Timeline_instantSync("Rasterized first useful frame", null);
      A.postEvent("Flutter.FirstFrame", A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic));
      t1 = $.SchedulerBinding__instance;
      t1.toString;
      t2 = this._box_0;
      t3 = t2.firstFrameCallback;
      t3.toString;
      t1.removeTimingsCallback$1(t3);
      t2.firstFrameCallback = null;
      this.$this.WidgetsBinding__firstFrameCompleter.complete$0(0);
    },
    $signature: 164
  };
  A.WidgetsBinding_scheduleAttachRootWidget_closure.prototype = {
    call$0() {
      var t3, t4,
        t1 = this.$this,
        t2 = t1.WidgetsBinding__renderViewElement;
      t1.WidgetsBinding__readyToProduceFrames = true;
      t3 = t1.RendererBinding___RendererBinding__pipelineOwner;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t3._rootNode;
      t3.toString;
      t4 = t1.WidgetsBinding__buildOwner;
      t4.toString;
      t1.WidgetsBinding__renderViewElement = new A.RenderObjectToWidgetAdapter(this.rootWidget, t3, "[root]", new A.GlobalObjectKey(t3, type$.GlobalObjectKey_State_StatefulWidget), type$.RenderObjectToWidgetAdapter_RenderBox).attachToRenderTree$2(t4, type$.nullable_RenderObjectToWidgetElement_RenderBox._as(t2));
      if (t2 == null)
        $.SchedulerBinding__instance.ensureVisualUpdate$0();
    },
    $signature: 0
  };
  A.RenderObjectToWidgetAdapter.prototype = {
    createElement$0(_) {
      return new A.RenderObjectToWidgetElement(this, B._ElementLifecycle_0, this.$ti._eval$1("RenderObjectToWidgetElement<1>"));
    },
    createRenderObject$1(context) {
      return this.container;
    },
    updateRenderObject$2(context, renderObject) {
    },
    attachToRenderTree$2(owner, element) {
      var t2, t1 = {};
      t1.element = element;
      if (element == null) {
        owner.lockState$1(new A.RenderObjectToWidgetAdapter_attachToRenderTree_closure(t1, this, owner));
        t2 = t1.element;
        t2.toString;
        owner.buildScope$2(t2, new A.RenderObjectToWidgetAdapter_attachToRenderTree_closure0(t1));
      } else {
        element._newWidget = this;
        element.markNeedsBuild$0();
      }
      t1 = t1.element;
      t1.toString;
      return t1;
    },
    toStringShort$0() {
      return this.debugShortDescription;
    }
  };
  A.RenderObjectToWidgetAdapter_attachToRenderTree_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        element = A.RenderObjectToWidgetElement$(t1, t1.$ti._precomputed1);
      this._box_0.element = element;
      element._framework$_owner = this.owner;
    },
    $signature: 0
  };
  A.RenderObjectToWidgetAdapter_attachToRenderTree_closure0.prototype = {
    call$0() {
      var t1 = this._box_0.element;
      t1.toString;
      t1.super$RootRenderObjectElement$mount(null, null);
      t1._rebuild$0();
    },
    $signature: 0
  };
  A.RenderObjectToWidgetElement.prototype = {
    visitChildren$1(visitor) {
      var t1 = this._child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1(child) {
      this._child = null;
      this.super$Element$forgetChild(child);
    },
    mount$2($parent, newSlot) {
      this.super$RootRenderObjectElement$mount($parent, newSlot);
      this._rebuild$0();
    },
    update$1(_, newWidget) {
      this.super$RenderObjectElement$update(0, newWidget);
      this._rebuild$0();
    },
    performRebuild$0() {
      var _this = this,
        t1 = _this._newWidget;
      if (t1 != null) {
        _this._newWidget = null;
        _this.super$RenderObjectElement$update(0, _this.$ti._eval$1("RenderObjectToWidgetAdapter<1>")._as(t1));
        _this._rebuild$0();
      }
      _this.super$RenderObjectElement$performRebuild();
    },
    _rebuild$0() {
      var exception, stack, details, error, t1, t2, exception0, _this = this;
      try {
        t1 = _this._child;
        t2 = _this._widget;
        t2.toString;
        _this._child = _this.updateChild$3(t1, _this.$ti._eval$1("RenderObjectToWidgetAdapter<1>")._as(t2).child, B.C_Object);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("attaching to the render tree");
        details = new A.FlutterErrorDetails(exception, stack, "widgets library", t1, null, false);
        A.FlutterError_reportError(details);
        error = A.ErrorWidget__defaultErrorWidgetBuilder(details);
        _this._child = _this.updateChild$3(null, error, B.C_Object);
      }
    },
    get$renderObject() {
      return this.$ti._eval$1("RenderObjectWithChildMixin<1>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    insertRenderObjectChild$2(child, slot) {
      var t1 = this.$ti;
      t1._eval$1("RenderObjectWithChildMixin<1>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(t1._precomputed1._as(child));
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2(child, slot) {
      this.$ti._eval$1("RenderObjectWithChildMixin<1>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(null);
    }
  };
  A.WidgetsFlutterBinding.prototype = {$isHitTestTarget: 1};
  A._WidgetsFlutterBinding_BindingBase_GestureBinding.prototype = {
    initInstances$0() {
      this.super$BindingBase$initInstances();
      $.GestureBinding__instance = this;
      var t1 = $.$get$EnginePlatformDispatcher__instance();
      t1._onPointerDataPacket = this.get$_handlePointerDataPacket();
      t1._onPointerDataPacketZone = $.Zone__current;
    },
    unlocked$0() {
      this.super$BindingBase$unlocked();
      this._flushPointerEventQueue$0();
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding.prototype = {
    initInstances$0() {
      var _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$initInstances();
      $.SchedulerBinding__instance = _this;
      _this.addTimingsCallback$1(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure(_this));
    },
    initServiceExtensions$0() {
      this.super$BindingBase$initServiceExtensions();
      this.registerNumericServiceExtension$3$getter$name$setter(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure(), "timeDilation", new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0());
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding.prototype = {
    initInstances$0() {
      var t1, t2, t3, t4, _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initInstances();
      $.ServicesBinding__instance = _this;
      if (_this.ServicesBinding___ServicesBinding__defaultBinaryMessenger !== $)
        A.throwUnnamedLateFieldAI();
      _this.ServicesBinding___ServicesBinding__defaultBinaryMessenger = B.C__DefaultBinaryMessenger;
      t1 = new A.RestorationManager(A.LinkedHashSet_LinkedHashSet$_empty(type$.RestorationBucket), $.$get$ChangeNotifier__emptyListeners());
      B.OptionalMethodChannel_fgL.setMethodCallHandler$1(t1.get$_methodHandler());
      _this.ServicesBinding___ServicesBinding__restorationManager = t1;
      t1 = type$.PhysicalKeyboardKey;
      t2 = new A.HardwareKeyboard(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.LogicalKeyboardKey), A.LinkedHashSet_LinkedHashSet$_empty(type$.KeyboardLockMode), A._setArrayType([], type$.JSArray_of_bool_Function_KeyEvent));
      if (_this.ServicesBinding___ServicesBinding__keyboard !== $)
        A.throwUnnamedLateFieldAI();
      _this.ServicesBinding___ServicesBinding__keyboard = t2;
      t3 = $.$get$RawKeyboard_instance();
      t4 = A._setArrayType([], type$.JSArray_KeyEvent);
      if (_this.ServicesBinding___ServicesBinding__keyEventManager !== $)
        A.throwUnnamedLateFieldAI();
      t1 = _this.ServicesBinding___ServicesBinding__keyEventManager = new A.KeyEventManager(t2, t3, t4, A.LinkedHashSet_LinkedHashSet$_empty(t1));
      t4 = $.$get$EnginePlatformDispatcher__instance();
      t4._onKeyData = t1.get$handleKeyData();
      t4._onKeyDataZone = $.Zone__current;
      B.BasicMessageChannel_Cfi.setMessageHandler$1(t1.get$handleRawKeyMessage());
      t1 = $.LicenseRegistry__collectors;
      if (t1 == null)
        t1 = $.LicenseRegistry__collectors = A._setArrayType([], type$.JSArray_of_Stream_LicenseEntry_Function);
      t1.push(_this.get$_addLicenses());
      B.BasicMessageChannel_Qma.setMessageHandler$1(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure(_this));
      B.BasicMessageChannel_No7.setMessageHandler$1(_this.get$_handleLifecycleMessage());
      B.OptionalMethodChannel_cWd.setMethodCallHandler$1(_this.get$_handlePlatformMessage());
      $.$get$TextInput__instance();
      _this.readInitialLifecycleStateFromNativeWindow$0();
    },
    initServiceExtensions$0() {
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initServiceExtensions();
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding.prototype = {
    initInstances$0() {
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initInstances();
      $.PaintingBinding__instance = this;
      var t1 = type$.Object;
      this.PaintingBinding___PaintingBinding__imageCache = new A.ImageCache(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$._PendingImage), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$._CachedImage), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$._LiveImage));
    },
    handleMemoryPressure$0() {
      this.super$ServicesBinding$handleMemoryPressure();
      var t1 = this.PaintingBinding___PaintingBinding__imageCache;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.clear$0(0);
    },
    handleSystemMessage$1(systemMessage) {
      return this.handleSystemMessage$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding(systemMessage);
    },
    handleSystemMessage$body$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding(systemMessage) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this;
      var $async$handleSystemMessage$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.super$ServicesBinding$handleSystemMessage(systemMessage), $async$handleSystemMessage$1);
            case 3:
              // returning from await.
              switch (A._asString(J.$index$asx(type$.Map_String_dynamic._as(systemMessage), "type"))) {
                case "fontsChange":
                  $async$self.PaintingBinding__systemFonts.notifyListeners$0();
                  break;
              }
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleSystemMessage$1, $async$completer);
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding.prototype = {
    initInstances$0() {
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding$initInstances();
      $.SemanticsBinding__instance = this;
      this.SemanticsBinding___SemanticsBinding__accessibilityFeatures = $.$get$EnginePlatformDispatcher__instance().configuration.accessibilityFeatures;
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding.prototype = {
    initInstances$0() {
      var t1, t2, t3, t4, _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding$initInstances();
      $.RendererBinding__instance = _this;
      t1 = type$.JSArray_RenderObject;
      _this.RendererBinding___RendererBinding__pipelineOwner = new A.PipelineOwner(_this.get$ensureVisualUpdate(), _this.get$_handleSemanticsOwnerCreated(), _this.get$_handleSemanticsOwnerDisposed(), A._setArrayType([], t1), A._setArrayType([], t1), A._setArrayType([], t1), A.LinkedHashSet_LinkedHashSet$_empty(type$.RenderObject));
      t1 = $.$get$EnginePlatformDispatcher__instance();
      t1._onMetricsChanged = _this.get$handleMetricsChanged();
      t2 = t1._onMetricsChangedZone = $.Zone__current;
      t1._onTextScaleFactorChanged = _this.get$handleTextScaleFactorChanged();
      t1._onTextScaleFactorChangedZone = t2;
      t1._onPlatformBrightnessChanged = _this.get$handlePlatformBrightnessChanged();
      t1._onPlatformBrightnessChangedZone = t2;
      t1._onSemanticsEnabledChanged = _this.get$_handleSemanticsEnabledChanged();
      t1._onSemanticsEnabledChangedZone = t2;
      t1._onSemanticsAction = _this.get$_handleSemanticsAction();
      t1._onSemanticsActionZone = t2;
      t2 = new A.RenderView(B.Size_0_0, _this.createViewConfiguration$0(), $.$get$window(), null, A.LayerHandle$(type$.ContainerLayer_2));
      t2.RenderObject$0();
      t2.set$child(null);
      t3 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3.set$rootNode(t2);
      t2 = _this.RendererBinding___RendererBinding__pipelineOwner;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._rootNode;
      t2._relayoutBoundary = t2;
      t3 = type$.nullable_PipelineOwner;
      t3._as(A.AbstractNode.prototype.get$owner.call(t2))._nodesNeedingLayout.push(t2);
      t4 = t2._updateMatricesAndCreateNewRootLayer$0();
      t2._layerHandle.set$layer(0, t4);
      t3._as(A.AbstractNode.prototype.get$owner.call(t2))._nodesNeedingPaint.push(t2);
      _this.setSemanticsEnabled$1(t1.configuration.semanticsEnabled);
      _this.SchedulerBinding__persistentCallbacks.push(_this.get$_handlePersistentFrameCallback());
      t1 = _this.RendererBinding__mouseTracker;
      if (t1 != null) {
        t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
        t1.ChangeNotifier__count = 0;
      }
      t1 = type$.int;
      t2 = $.$get$ChangeNotifier__emptyListeners();
      _this.RendererBinding__mouseTracker = new A.MouseTracker(new A.MouseCursorManager(B.SystemMouseCursor_basic, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.MouseCursorSession)), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$._MouseState), t2);
      _this.SchedulerBinding__postFrameCallbacks.push(_this.get$_handleWebFirstFrame());
    },
    initServiceExtensions$0() {
      var _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initServiceExtensions();
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure(), "debugDumpRenderTree");
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0(), "debugDumpSemanticsTreeInTraversalOrder");
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1(), "debugDumpSemanticsTreeInInverseHitTestOrder");
      _this.registerBoolServiceExtension$3$getter$name$setter(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2(), "profileRenderObjectPaints", new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3());
      _this.registerBoolServiceExtension$3$getter$name$setter(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure4(), "profileRenderObjectLayouts", new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure5());
    },
    dispatchEvent$2(_, $event, hitTestResult) {
      this.RendererBinding__mouseTracker.updateWithEvent$2($event, new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure(this, hitTestResult, $event));
      this.super$GestureBinding$dispatchEvent(0, $event, hitTestResult);
    },
    performReassemble$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$next = [], $async$self = this, t1;
      var $async$performReassemble$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$BindingBase$performReassemble(), $async$performReassemble$0);
            case 2:
              // returning from await.
              t1 = $.BindingBase_debugReassembleConfig;
              if ((t1 == null ? null : t1.widgetName) == null) {
                A.Timeline_startSync("Preparing Hot Reload (layout)", null, null);
                try {
                  t1 = $async$self.RendererBinding___RendererBinding__pipelineOwner;
                  if (t1 === $)
                    A.throwUnnamedLateFieldNI();
                  t1._rootNode.reassemble$0();
                } finally {
                  A.Timeline_finishSync();
                }
              }
              $async$self.scheduleWarmUpFrame$0();
              $async$goto = 3;
              return A._asyncAwait($async$self.get$endOfFrame(), $async$performReassemble$0);
            case 3:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$performReassemble$0, $async$completer);
    }
  };
  A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding.prototype = {
    initServiceExtensions$0() {
      var _this = this;
      _this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$initServiceExtensions();
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure(), "debugDumpApp");
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0(_this), "didSendFirstFrameEvent");
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1(_this), "didSendFirstFrameRasterizedEvent");
      _this.registerServiceExtension$2$callback$name(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2(_this), "fastReassemble");
      _this.registerBoolServiceExtension$3$getter$name$setter(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3(), "profileWidgetBuilds", new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4());
      _this.registerBoolServiceExtension$3$getter$name$setter(new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure5(), "profileUserWidgetBuilds", new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure6());
    },
    handleMetricsChanged$0() {
      var t1, t2, _i;
      this.super$RendererBinding$handleMetricsChanged();
      for (t1 = this.WidgetsBinding__observers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangeMetrics$0();
    },
    handleTextScaleFactorChanged$0() {
      var t1, t2, _i;
      this.super$RendererBinding$handleTextScaleFactorChanged();
      for (t1 = this.WidgetsBinding__observers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangeTextScaleFactor$0();
    },
    handlePlatformBrightnessChanged$0() {
      var t1, t2, _i;
      this.super$RendererBinding$handlePlatformBrightnessChanged();
      for (t1 = this.WidgetsBinding__observers, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].didChangePlatformBrightness$0();
    },
    handleAppLifecycleStateChanged$1(state) {
      var t1, _i;
      this.super$SchedulerBinding$handleAppLifecycleStateChanged(state);
      for (t1 = this.WidgetsBinding__observers.length, _i = 0; _i < t1; ++_i)
        ;
    },
    handleMemoryPressure$0() {
      var t1, _i;
      this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding$handleMemoryPressure();
      for (t1 = this.WidgetsBinding__observers.length, _i = 0; _i < t1; ++_i)
        ;
    },
    drawFrame$0() {
      var firstFrameCallback, t2, _this = this, t1 = {};
      t1.firstFrameCallback = null;
      if (_this.WidgetsBinding__needToReportFirstFrame) {
        firstFrameCallback = new A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure(t1, _this);
        t1.firstFrameCallback = firstFrameCallback;
        $.SchedulerBinding__instance.addTimingsCallback$1(firstFrameCallback);
      }
      try {
        t2 = _this.WidgetsBinding__renderViewElement;
        if (t2 != null)
          _this.WidgetsBinding__buildOwner.buildScope$1(t2);
        _this.super$RendererBinding$drawFrame();
        _this.WidgetsBinding__buildOwner.finalizeTree$0();
      } finally {
      }
      if (_this.WidgetsBinding__needToReportFirstFrame)
        t2 = _this.RendererBinding__firstFrameSent || _this.RendererBinding__firstFrameDeferredCount === 0;
      else
        t2 = false;
      if (t2)
        A.Timeline_instantSync("Widgets built first useful frame", null);
      t2 = _this.WidgetsBinding__needToReportFirstFrame = false;
      t1 = t1.firstFrameCallback;
      if (t1 != null)
        t2 = !(_this.RendererBinding__firstFrameSent || _this.RendererBinding__firstFrameDeferredCount === 0);
      if (t2) {
        _this.WidgetsBinding__needToReportFirstFrame = true;
        t2 = $.SchedulerBinding__instance;
        t2.toString;
        t1.toString;
        t2.removeTimingsCallback$1(t1);
      }
    },
    performReassemble$0() {
      var t1 = this.WidgetsBinding__renderViewElement;
      if (t1 != null)
        this.WidgetsBinding__buildOwner.reassemble$2(t1, $.BindingBase_debugReassembleConfig);
      return this.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$performReassemble();
    }
  };
  A.DecoratedBox.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderDecoratedBox(this.decoration, this.position, A.createLocalImageConfiguration(context, null), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$decoration(this.decoration);
      renderObject.set$configuration(A.createLocalImageConfiguration(context, null));
      renderObject.set$position(0, this.position);
    }
  };
  A.Container.prototype = {
    get$_paddingIncludingDecoration() {
      var decorationPadding,
        t1 = this.decoration;
      if (t1 == null || t1.get$padding(t1) == null)
        return this.padding;
      decorationPadding = t1.get$padding(t1);
      t1 = this.padding;
      if (t1 == null)
        return decorationPadding;
      decorationPadding.toString;
      return t1.add$1(0, decorationPadding);
    },
    build$1(context) {
      var t1, effectivePadding, t2, t3, _this = this, _null = null,
        current = _this.child;
      if (current == null) {
        t1 = _this.constraints;
        if (t1 != null)
          t1 = !(t1.minWidth >= t1.maxWidth && t1.minHeight >= t1.maxHeight);
        else
          t1 = true;
      } else
        t1 = false;
      if (t1)
        current = A.LimitedBox$(new A.ConstrainedBox(B.BoxConstraints_ALM, _null, _null), 0, 0);
      else {
        t1 = _this.alignment;
        if (t1 != null)
          current = new A.Align(t1, _null, _null, current, _null);
      }
      effectivePadding = _this.get$_paddingIncludingDecoration();
      if (effectivePadding != null)
        current = new A.Padding(effectivePadding, current, _null);
      t1 = _this.color;
      if (t1 != null)
        current = new A.ColoredBox(t1, current, _null);
      t1 = _this.clipBehavior;
      if (t1 !== B.Clip_0) {
        t2 = A.Directionality_maybeOf(context);
        t3 = _this.decoration;
        t3.toString;
        current = A.ClipPath$(current, t1, new A._DecorationClipper(t2 == null ? B.TextDirection_1 : t2, t3, _null));
      }
      t1 = _this.decoration;
      if (t1 != null)
        current = A.DecoratedBox$(current, t1, B.DecorationPosition_0);
      t1 = _this.foregroundDecoration;
      if (t1 != null)
        current = A.DecoratedBox$(current, t1, B.DecorationPosition_1);
      t1 = _this.constraints;
      if (t1 != null)
        current = new A.ConstrainedBox(t1, current, _null);
      t1 = _this.margin;
      if (t1 != null)
        current = new A.Padding(t1, current, _null);
      t1 = _this.transform;
      if (t1 != null)
        current = A.Transform$(_this.transformAlignment, current, t1, true);
      current.toString;
      return current;
    }
  };
  A._DecorationClipper.prototype = {
    getClip$1(size) {
      return this.decoration.getClipPath$2(new A.Rect(0, 0, 0 + size._dx, 0 + size._dy), this.textDirection);
    },
    shouldReclip$1(oldClipper) {
      return !oldClipper.decoration.$eq(0, this.decoration) || oldClipper.textDirection !== this.textDirection;
    }
  };
  A.DefaultSelectionStyle.prototype = {
    wrap$2(_, context, child) {
      return A.DefaultSelectionStyle$(child, this.cursorColor, this.selectionColor);
    },
    updateShouldNotify$1(oldWidget) {
      return !J.$eq$(this.cursorColor, oldWidget.cursorColor) || !J.$eq$(this.selectionColor, oldWidget.selectionColor);
    }
  };
  A._NullWidget1.prototype = {
    build$1(context) {
      throw A.wrapException(A.FlutterError_FlutterError(string$.A_Defa));
    }
  };
  A.DefaultTextEditingShortcuts.prototype = {
    build$1(context) {
      var result = A.Shortcuts$(this.child, "<Web Disabling Text Editing Shortcuts>", $.$get$DefaultTextEditingShortcuts__webDisablingTextShortcuts());
      return A.Shortcuts$(result, "<Default Text Editing Shortcuts>", A.DefaultTextEditingShortcuts__shortcuts());
    }
  };
  A.DismissDirection.prototype = {
    toString$0(_) {
      return "DismissDirection." + this._core$_name;
    }
  };
  A.Dismissible.prototype = {
    createState$0() {
      return new A._DismissibleState(null, null, null, B._StateLifecycle_0);
    }
  };
  A._FlingGestureKind.prototype = {
    toString$0(_) {
      return "_FlingGestureKind." + this._core$_name;
    }
  };
  A._DismissibleState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState();
      _this._widget.toString;
      t1 = A.AnimationController$(null, B.Duration_200000, 0, null, 1, null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_handleDismissStatusChanged());
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_handleDismissUpdateValueChanged());
      _this._moveController = t1;
      _this._updateMoveAnimation$0();
    },
    get$wantKeepAlive() {
      var t1 = this._moveController;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1._ticker;
        t1 = t1 != null && t1._ticker$_future != null;
      }
      if (t1 !== true) {
        t1 = this._resizeController;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1._ticker;
          t1 = t1 != null && t1._ticker$_future != null;
        }
        t1 = t1 === true;
      } else
        t1 = true;
      return t1;
    },
    dispose$0() {
      this._moveController.dispose$0();
      var t1 = this._resizeController;
      if (t1 != null)
        t1.dispose$0();
      this.super$__DismissibleState_State_TickerProviderStateMixin$dispose();
    },
    get$_directionIsXAxis() {
      var t1 = this._widget.direction;
      return t1 === B.DismissDirection_1 || t1 === B.DismissDirection_2 || t1 === B.DismissDirection_3;
    },
    _extentToDirection$1(extent) {
      var t1;
      if (extent === 0)
        return B.DismissDirection_6;
      if (this.get$_directionIsXAxis()) {
        t1 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t1.toString;
        switch (t1.textDirection.index) {
          case 0:
            return extent < 0 ? B.DismissDirection_3 : B.DismissDirection_2;
          case 1:
            return extent > 0 ? B.DismissDirection_3 : B.DismissDirection_2;
        }
      }
      return extent > 0 ? B.DismissDirection_5 : B.DismissDirection_4;
    },
    get$_overallDragAxisExtent() {
      var t1 = this._framework$_element;
      t1 = t1.get$size(t1);
      t1.toString;
      return this.get$_directionIsXAxis() ? t1._dx : t1._dy;
    },
    _dismissible$_handleDragStart$1(details) {
      var t1, t2, _this = this;
      if (_this._confirming)
        return;
      _this._dragUnderway = true;
      t1 = _this._moveController;
      t2 = t1._ticker;
      if (t2 != null && t2._ticker$_future != null) {
        t1 = t1.__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._dragExtent = t1 * _this.get$_overallDragAxisExtent() * J.get$sign$in(_this._dragExtent);
        _this._moveController.stop$0(0);
      } else {
        _this._dragExtent = 0;
        t1.set$value(0, 0);
      }
      _this.setState$1(new A._DismissibleState__handleDragStart_closure(_this));
    },
    _dismissible$_handleDragUpdate$1(details) {
      var t1, oldDragExtent, t2, _this = this;
      if (!_this._dragUnderway) {
        t1 = _this._moveController._ticker;
        t1 = t1 != null && t1._ticker$_future != null;
      } else
        t1 = true;
      if (t1) {
        t1 = _this._moveController._ticker;
        t1 = t1 != null && t1._ticker$_future != null;
      } else
        t1 = true;
      if (t1)
        return;
      t1 = details.primaryDelta;
      t1.toString;
      oldDragExtent = _this._dragExtent;
      switch (_this._widget.direction.index) {
        case 1:
        case 0:
          _this._dragExtent = oldDragExtent + t1;
          break;
        case 4:
          t1 = oldDragExtent + t1;
          if (t1 < 0)
            _this._dragExtent = t1;
          break;
        case 5:
          t1 = oldDragExtent + t1;
          if (t1 > 0)
            _this._dragExtent = t1;
          break;
        case 2:
          t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t2.toString;
          switch (t2.textDirection.index) {
            case 0:
              t1 = _this._dragExtent + t1;
              if (t1 > 0)
                _this._dragExtent = t1;
              break;
            case 1:
              t1 = _this._dragExtent + t1;
              if (t1 < 0)
                _this._dragExtent = t1;
              break;
          }
          break;
        case 3:
          t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t2.toString;
          switch (t2.textDirection.index) {
            case 0:
              t1 = _this._dragExtent + t1;
              if (t1 < 0)
                _this._dragExtent = t1;
              break;
            case 1:
              t1 = _this._dragExtent + t1;
              if (t1 > 0)
                _this._dragExtent = t1;
              break;
          }
          break;
        case 6:
          _this._dragExtent = 0;
          break;
      }
      if (J.get$sign$in(oldDragExtent) !== J.get$sign$in(_this._dragExtent))
        _this.setState$1(new A._DismissibleState__handleDragUpdate_closure(_this));
      t1 = _this._moveController;
      t2 = t1._ticker;
      if (!(t2 != null && t2._ticker$_future != null))
        t1.set$value(0, Math.abs(_this._dragExtent) / _this.get$_overallDragAxisExtent());
    },
    _handleDismissUpdateValueChanged$0() {
      this._widget.toString;
    },
    _updateMoveAnimation$0() {
      var t2, t3, _this = this,
        end = J.get$sign$in(_this._dragExtent),
        t1 = _this._moveController;
      t1.toString;
      t2 = _this.get$_directionIsXAxis();
      t3 = _this._widget;
      if (t2) {
        t3.toString;
        t2 = new A.Offset(end, 0);
      } else {
        t3.toString;
        t2 = new A.Offset(0, end);
      }
      t3 = type$.Tween_Offset;
      _this.___DismissibleState__moveAnimation = new A._AnimatedEvaluation(type$.Animation_double._as(t1), new A.Tween(B.Offset_0_0, t2, t3), t3._eval$1("_AnimatedEvaluation<Animatable.T>"));
    },
    _describeFlingGesture$1(velocity) {
      var t1, vx, vy, flingDirection, _this = this;
      if (_this._dragExtent === 0)
        return B._FlingGestureKind_0;
      t1 = velocity.pixelsPerSecond;
      vx = t1._dx;
      vy = t1._dy;
      if (_this.get$_directionIsXAxis()) {
        t1 = Math.abs(vx);
        if (t1 - Math.abs(vy) < 400 || t1 < 700)
          return B._FlingGestureKind_0;
        flingDirection = _this._extentToDirection$1(vx);
      } else {
        t1 = Math.abs(vy);
        if (t1 - Math.abs(vx) < 400 || t1 < 700)
          return B._FlingGestureKind_0;
        flingDirection = _this._extentToDirection$1(vy);
      }
      if (flingDirection === _this._extentToDirection$1(_this._dragExtent))
        return B._FlingGestureKind_1;
      return B._FlingGestureKind_2;
    },
    _dismissible$_handleDragEnd$1(details) {
      var t1, t2, flingVelocity, _this = this;
      if (!_this._dragUnderway) {
        t1 = _this._moveController._ticker;
        t1 = t1 != null && t1._ticker$_future != null;
      } else
        t1 = true;
      if (t1) {
        t1 = _this._moveController._ticker;
        t1 = t1 != null && t1._ticker$_future != null;
      } else
        t1 = true;
      if (t1)
        return;
      _this._dragUnderway = false;
      t1 = _this._moveController;
      if (t1.get$status(t1) === B.AnimationStatus_3) {
        _this._handleMoveCompleted$0();
        return;
      }
      t1 = details.velocity;
      t2 = t1.pixelsPerSecond;
      flingVelocity = _this.get$_directionIsXAxis() ? t2._dx : t2._dy;
      switch (_this._describeFlingGesture$1(t1).index) {
        case 1:
          _this._widget.toString;
          B.Map_empty10.$index(0, _this._extentToDirection$1(_this._dragExtent));
          _this._dragExtent = J.get$sign$in(flingVelocity);
          _this._moveController.fling$1$velocity(Math.abs(flingVelocity) * 0.0033333333333333335);
          break;
        case 2:
          _this._dragExtent = J.get$sign$in(flingVelocity);
          _this._moveController.fling$1$velocity(-Math.abs(flingVelocity) * 0.0033333333333333335);
          break;
        case 0:
          t1 = _this._moveController;
          if (t1.get$status(t1) !== B.AnimationStatus_0) {
            t1 = _this._moveController.__AnimationController__value;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            _this._widget.toString;
            B.Map_empty10.$index(0, _this._extentToDirection$1(_this._dragExtent));
            t2 = _this._moveController;
            if (t1 > 0.4)
              t2.forward$0(0);
            else
              t2.reverse$0(0);
          }
          break;
      }
    },
    _handleDismissStatusChanged$1($status) {
      return this._handleDismissStatusChanged$body$_DismissibleState($status);
    },
    _handleDismissStatusChanged$body$_DismissibleState($status) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this;
      var $async$_handleDismissStatusChanged$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 = $status === B.AnimationStatus_3 && !$async$self._dragUnderway ? 2 : 3;
              break;
            case 2:
              // then
              $async$goto = 4;
              return A._asyncAwait($async$self._handleMoveCompleted$0(), $async$_handleDismissStatusChanged$1);
            case 4:
              // returning from await.
            case 3:
              // join
              if ($async$self._framework$_element != null)
                $async$self.updateKeepAlive$0();
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleDismissStatusChanged$1, $async$completer);
    },
    _handleMoveCompleted$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, result;
      var $async$_handleMoveCompleted$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$self._widget.toString;
              B.Map_empty10.$index(0, $async$self._extentToDirection$1($async$self._dragExtent));
              $async$goto = 2;
              return A._asyncAwait($async$self._confirmStartResizeAnimation$0(), $async$_handleMoveCompleted$0);
            case 2:
              // returning from await.
              result = $async$result;
              if ($async$self._framework$_element != null)
                if (result)
                  $async$self._startResizeAnimation$0();
                else
                  $async$self._moveController.reverse$0(0);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_handleMoveCompleted$0, $async$completer);
    },
    _confirmStartResizeAnimation$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$_confirmStartResizeAnimation$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$self._widget.toString;
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_confirmStartResizeAnimation$0, $async$completer);
    },
    _startResizeAnimation$0() {
      var direction, _this = this;
      _this._widget.toString;
      direction = _this._extentToDirection$1(_this._dragExtent);
      _this._widget.onDismissed.call$1(direction);
    },
    build$1(context) {
      var t1, t2, t3, t4, $content, t5, t6, _this = this, _null = null;
      _this.super$AutomaticKeepAliveClientMixin$build(context);
      t1 = _this._widget;
      t1.toString;
      t2 = _this._resizeAnimation;
      if (t2 != null) {
        t1 = _this.get$_directionIsXAxis() ? B.Axis_1 : B.Axis_0;
        t3 = _this._sizePriorToCollapse;
        t4 = t3._dx;
        return new A.SizeTransition(t1, A.SizedBox$(_null, t3._dy, t4), t2, _null);
      }
      t2 = _this.___DismissibleState__moveAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      $content = A.SlideTransition$(t1.child, t2, _null, true);
      if (t1.direction === B.DismissDirection_6)
        return $content;
      t1 = _this.get$_directionIsXAxis() ? _this.get$_dismissible$_handleDragStart() : _null;
      t2 = _this.get$_directionIsXAxis() ? _this.get$_dismissible$_handleDragUpdate() : _null;
      t3 = _this.get$_directionIsXAxis() ? _this.get$_dismissible$_handleDragEnd() : _null;
      t4 = _this.get$_directionIsXAxis() ? _null : _this.get$_dismissible$_handleDragStart();
      t5 = _this.get$_directionIsXAxis() ? _null : _this.get$_dismissible$_handleDragUpdate();
      t6 = _this.get$_directionIsXAxis() ? _null : _this.get$_dismissible$_handleDragEnd();
      _this._widget.toString;
      return A.GestureDetector$(B.HitTestBehavior_1, $content, B.DragStartBehavior_1, false, _null, _null, _null, _null, t3, t1, t2, _null, _null, _null, _null, _null, _null, _null, _null, t6, t4, t5);
    }
  };
  A._DismissibleState__handleDragStart_closure.prototype = {
    call$0() {
      this.$this._updateMoveAnimation$0();
    },
    $signature: 0
  };
  A._DismissibleState__handleDragUpdate_closure.prototype = {
    call$0() {
      this.$this._updateMoveAnimation$0();
    },
    $signature: 0
  };
  A.__DismissibleState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      if (this.get$wantKeepAlive())
        this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A.DisplayFeatureSubScreen.prototype = {
    build$1(context) {
      var mediaQuery = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data,
        parentSize = mediaQuery.size,
        t1 = parentSize._dx,
        t2 = parentSize._dy,
        t3 = A.DisplayFeatureSubScreen__fallbackAnchorPoint(context),
        resolvedAnchorPoint = A.DisplayFeatureSubScreen__capOffset(t3, parentSize),
        closestSubScreen = A.DisplayFeatureSubScreen__closestToAnchorPoint(A.DisplayFeatureSubScreen_subScreensInBounds(new A.Rect(0, 0, 0 + t1, 0 + t2), A.DisplayFeatureSubScreen_avoidBounds(mediaQuery)), resolvedAnchorPoint);
      return new A.Padding(new A.EdgeInsets(closestSubScreen.left, closestSubScreen.top, t1 - closestSubScreen.right, t2 - closestSubScreen.bottom), new A.MediaQuery(mediaQuery.removeDisplayFeatures$1(closestSubScreen), this.child, null), null);
    }
  };
  A.DisplayFeatureSubScreen_avoidBounds_closure.prototype = {
    call$1(d) {
      var t1;
      if (!d.get$bounds(d).get$shortestSide().$gt(0, 0)) {
        d.get$state(d);
        t1 = false;
      } else
        t1 = true;
      return t1;
    },
    $signature: 264
  };
  A.DisplayFeatureSubScreen_avoidBounds_closure0.prototype = {
    call$1(d) {
      return d.get$bounds(d);
    },
    $signature: 889
  };
  A.DisposableBuildContext.prototype = {
    get$context(_) {
      var t1 = this._disposable_build_context$_state;
      if (t1 == null)
        return null;
      t1 = t1._framework$_element;
      t1.toString;
      return t1;
    }
  };
  A.DualTransitionBuilder.prototype = {
    createState$0() {
      return new A._DualTransitionBuilderState(A.ProxyAnimation$(null), A.ProxyAnimation$(null), B._StateLifecycle_0);
    },
    forwardBuilder$3(arg0, arg1, arg2) {
      return this.forwardBuilder.call$3(arg0, arg1, arg2);
    },
    reverseBuilder$3(arg0, arg1, arg2) {
      return this.reverseBuilder.call$3(arg0, arg1, arg2);
    }
  };
  A._DualTransitionBuilderState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.animation;
      _this.___DualTransitionBuilderState__effectiveAnimationStatus = t1.get$status(t1);
      t1 = _this._widget.animation;
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(_this.get$_animationListener());
      _this._updateAnimations$0();
    },
    _animationListener$1(animationStatus) {
      var t2, _this = this,
        t1 = _this.___DualTransitionBuilderState__effectiveAnimationStatus;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._calculateEffectiveAnimationStatus$2$current$lastEffective(animationStatus, t1);
      _this.___DualTransitionBuilderState__effectiveAnimationStatus = t2;
      if (t1 !== t2)
        _this._updateAnimations$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.animation;
      if (t1 !== _this._widget.animation) {
        t2 = _this.get$_animationListener();
        t1.removeStatusListener$1(t2);
        t1 = _this._widget.animation;
        t1.didRegisterListener$0();
        t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
        t1._isDirty = true;
        t1._list.push(t2);
        t2 = _this._widget.animation;
        _this._animationListener$1(t2.get$status(t2));
      }
    },
    _calculateEffectiveAnimationStatus$2$current$lastEffective(current, lastEffective) {
      switch (current.index) {
        case 0:
        case 3:
          return current;
        case 1:
          switch (lastEffective.index) {
            case 0:
            case 3:
            case 1:
              return current;
            case 2:
              return lastEffective;
          }
          break;
        case 2:
          switch (lastEffective.index) {
            case 0:
            case 3:
            case 2:
              return current;
            case 1:
              return lastEffective;
          }
          break;
      }
    },
    _updateAnimations$0() {
      var _this = this,
        t1 = _this.___DualTransitionBuilderState__effectiveAnimationStatus;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      switch (t1.index) {
        case 0:
        case 1:
          _this._forwardAnimation.set$parent(0, _this._widget.animation);
          _this._reverseAnimation.set$parent(0, B.C__AlwaysDismissedAnimation);
          break;
        case 2:
        case 3:
          _this._forwardAnimation.set$parent(0, B.C__AlwaysCompleteAnimation);
          _this._reverseAnimation.set$parent(0, new A.ReverseAnimation(_this._widget.animation, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_AnimationStatus), type$.ObserverList_of_void_Function_AnimationStatus), 0));
          break;
      }
    },
    dispose$0() {
      this._widget.animation.removeStatusListener$1(this.get$_animationListener());
      this.super$State$dispose();
    },
    build$1(context) {
      var t1 = this._widget;
      return t1.forwardBuilder$3(context, this._forwardAnimation, t1.reverseBuilder$3(context, this._reverseAnimation, t1.child));
    }
  };
  A.TextEditingController.prototype = {
    set$text(_, newText) {
      this.super$ValueNotifier$value(0, this._change_notifier$_value.copyWith$3$composing$selection$text(B.TextRange_m1_m1, B.TextSelection_ke5, newText));
    },
    set$value(_, newValue) {
      this.super$ValueNotifier$value(0, newValue);
    },
    buildTextSpan$3$context$style$withComposing(context, style, withComposing) {
      var t3, composingStyle, _null = null,
        t1 = this._change_notifier$_value,
        t2 = t1.composing;
      if (t2.get$isValid()) {
        t3 = t2.end;
        t1 = t3 >= t2.start && t3 <= t1.text.length;
      } else
        t1 = false;
      if (!t1 || !withComposing)
        return A.TextSpan$(_null, _null, _null, style, this._change_notifier$_value.text);
      composingStyle = style.merge$1(B.TextStyle_9Zz);
      t1 = this._change_notifier$_value;
      t2 = t1.composing;
      t1 = t1.text;
      t3 = t2.start;
      t2 = t2.end;
      return A.TextSpan$(A._setArrayType([A.TextSpan$(_null, _null, _null, _null, B.JSString_methods.substring$2(t1, 0, t3)), A.TextSpan$(_null, _null, _null, composingStyle, B.JSString_methods.substring$2(t1, t3, t2)), A.TextSpan$(_null, _null, _null, _null, B.JSString_methods.substring$1(t1, t2))], type$.JSArray_TextSpan), _null, _null, style, _null);
    },
    set$selection(newSelection) {
      var t1, t2, t3, newComposing, _this = this;
      if (!_this.isSelectionWithinTextBounds$1(newSelection))
        throw A.wrapException(A.FlutterError_FlutterError("invalid text selection: " + newSelection.toString$0(0)));
      t1 = newSelection.start;
      t2 = newSelection.end;
      if (t1 === t2) {
        t3 = _this._change_notifier$_value.composing;
        t1 = t1 >= t3.start && t2 <= t3.end;
      } else
        t1 = false;
      newComposing = t1 ? _this._change_notifier$_value.composing : B.TextRange_m1_m1;
      _this.super$ValueNotifier$value(0, _this._change_notifier$_value.copyWith$2$composing$selection(newComposing, newSelection));
    },
    clear$0(_) {
      this.super$ValueNotifier$value(0, B.TextEditingValue_cKo);
    },
    isSelectionWithinTextBounds$1(selection) {
      var t1 = this._change_notifier$_value.text.length;
      return selection.start <= t1 && selection.end <= t1;
    }
  };
  A.ToolbarOptions.prototype = {};
  A.EditableText.prototype = {
    get$strutStyle() {
      var t2,
        t1 = this._editable_text$_strutStyle;
      if (t1 == null) {
        t1 = this.style;
        t2 = t1.get$fontFamilyFallback();
        return new A.StrutStyle(t1.fontFamily, t2, t1.fontSize, t1.height, t1.fontWeight, t1.fontStyle, null, true, t1.debugLabel);
      }
      return t1.inheritFromTextStyle$1(this.style);
    },
    createState$0() {
      var _null = null;
      return new A.EditableTextState(new A.ValueNotifier(true, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_State_StatefulWidget), new A.LayerLink(), new A.LayerLink(), new A.LayerLink(), B.Size_0_0, _null, _null, _null, B._StateLifecycle_0);
    }
  };
  A.EditableTextState.prototype = {
    get$_scrollController() {
      this._widget.toString;
      var t1 = this._internalScrollController;
      if (t1 == null) {
        t1 = A.ScrollController$(0);
        this._internalScrollController = t1;
      }
      return t1;
    },
    get$wantKeepAlive() {
      return this._widget.focusNode.get$hasFocus();
    },
    get$cutEnabled() {
      var t1 = this._widget;
      return t1.toolbarOptions.cut && !t1.readOnly && true;
    },
    get$_textEditingValueforTextLayoutMetrics() {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._editableKey),
        editableWidget = t1 == null ? null : t1.get$widget();
      if (!(editableWidget instanceof A._Editable))
        throw A.wrapException(A.StateError$("_Editable must be mounted."));
      return editableWidget.value;
    },
    copySelection$1(cause) {
      var _this = this,
        t1 = _this._widget.controller._change_notifier$_value,
        selection = t1.selection,
        t2 = selection.start,
        t3 = selection.end;
      if (t2 === t3 || false)
        return;
      A.Clipboard_setData(new A.ClipboardData(B.JSString_methods.substring$2(t1.text, t2, t3)));
      if (cause === B.SelectionChangedCause_5) {
        _this.bringIntoView$1(_this._widget.controller._change_notifier$_value.selection.get$extent());
        _this.hideToolbar$1(false);
        switch (A.defaultTargetPlatform().index) {
          case 2:
          case 4:
          case 3:
          case 5:
            break;
          case 0:
          case 1:
            t1 = _this._widget.controller._change_notifier$_value;
            _this.userUpdateTextEditingValue$2(new A.TextEditingValue(t1.text, A.TextSelection$collapsed(B.TextAffinity_1, t1.selection.end), B.TextRange_m1_m1), B.SelectionChangedCause_5);
            break;
        }
      }
    },
    cutSelection$1(cause) {
      var selection, text, t2, _this = this,
        t1 = _this._widget;
      if (t1.readOnly || false)
        return;
      t1 = t1.controller._change_notifier$_value;
      selection = t1.selection;
      text = t1.text;
      t1 = selection.start;
      t2 = selection.end;
      if (t1 === t2)
        return;
      A.Clipboard_setData(new A.ClipboardData(B.JSString_methods.substring$2(text, t1, t2)));
      _this._replaceText$1(new A.ReplaceTextIntent(_this._widget.controller._change_notifier$_value, "", selection, cause));
      if (cause === B.SelectionChangedCause_5) {
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState_cutSelection_closure(_this));
        _this.hideToolbar$0();
      }
    },
    pasteText$1(cause) {
      return this.pasteText$body$EditableTextState(cause);
    },
    pasteText$body$EditableTextState(cause) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, selection, data, lastSelectionIndex, collapsedTextEditingValue, t1;
      var $async$pasteText$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._widget;
              if (t1.readOnly) {
                // goto return
                $async$goto = 1;
                break;
              }
              selection = t1.controller._change_notifier$_value.selection;
              if (!selection.get$isValid()) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait(A.Clipboard_getData("text/plain"), $async$pasteText$1);
            case 3:
              // returning from await.
              data = $async$result;
              if (data == null) {
                // goto return
                $async$goto = 1;
                break;
              }
              lastSelectionIndex = Math.max(selection.baseOffset, selection.extentOffset);
              collapsedTextEditingValue = $async$self._widget.controller._change_notifier$_value.copyWith$1$selection(A.TextSelection$collapsed(B.TextAffinity_1, lastSelectionIndex));
              t1 = data.text;
              t1.toString;
              $async$self.userUpdateTextEditingValue$2(collapsedTextEditingValue.replaced$2(selection, t1), cause);
              if (cause === B.SelectionChangedCause_5) {
                $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState_pasteText_closure($async$self));
                $async$self.hideToolbar$0();
              }
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$pasteText$1, $async$completer);
    },
    initState$0() {
      var t1, t2, _this = this;
      _this.super$_EditableTextState_State_AutomaticKeepAliveClientMixin$initState();
      t1 = A.AnimationController$(null, B.Duration_250000, 0, null, 1, null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalListenersMixin__listeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_onCursorColorTick());
      _this._cursorBlinkOpacityController = t1;
      _this._widget.controller.addListener$1(0, _this.get$_didChangeTextEditingValue());
      _this._widget.focusNode.addListener$1(0, _this.get$_editable_text$_handleFocusChanged());
      _this.get$_scrollController().addListener$1(0, _this.get$_updateSelectionOverlayForScroll());
      _this._cursorVisibilityNotifier.set$value(0, _this._widget.showCursor);
    },
    didChangeDependencies$0() {
      var t1, newTickerEnabled, orientation, _this = this;
      _this.super$State$didChangeDependencies();
      _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$._AutofillScope);
      if (!_this._didAutoFocus && _this._widget.autofocus) {
        _this._didAutoFocus = true;
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState_didChangeDependencies_closure(_this));
      }
      t1 = _this._framework$_element;
      t1.toString;
      newTickerEnabled = A.TickerMode_of(t1);
      if (_this._tickersEnabled !== newTickerEnabled) {
        _this._tickersEnabled = newTickerEnabled;
        if (newTickerEnabled && _this._cursorActive)
          _this._startCursorTimer$0();
        else if (!newTickerEnabled && _this._cursorTimer != null) {
          _this._cursorTimer.cancel$0(0);
          _this._cursorTimer = null;
        }
      }
      if (A.defaultTargetPlatform() !== B.TargetPlatform_2 && A.defaultTargetPlatform() !== B.TargetPlatform_0)
        return;
      t1 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      orientation = t1.get$orientation(t1);
      t1 = _this._lastOrientation;
      if (t1 == null) {
        _this._lastOrientation = orientation;
        return;
      }
      if (orientation !== t1) {
        _this._lastOrientation = orientation;
        if (A.defaultTargetPlatform() === B.TargetPlatform_2)
          _this.hideToolbar$1(false);
        if (A.defaultTargetPlatform() === B.TargetPlatform_0)
          _this.hideToolbar$0();
      }
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, style, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.controller;
      if (_this._widget.controller !== t1) {
        t2 = _this.get$_didChangeTextEditingValue();
        t1.removeListener$1(0, t2);
        _this._widget.controller.addListener$1(0, t2);
        _this._updateRemoteEditingValueIfNeeded$0();
      }
      if (!_this._widget.controller._change_notifier$_value.selection.$eq(0, t1._change_notifier$_value.selection)) {
        t1 = _this._selectionOverlay;
        if (t1 != null)
          t1.update$1(0, _this._widget.controller._change_notifier$_value);
      }
      t1 = _this._selectionOverlay;
      if (t1 != null)
        t1.set$handlesVisible(_this._widget.showSelectionHandles);
      t1 = _this._widget;
      t1.autofillClient != oldWidget.autofillClient;
      t2 = oldWidget.focusNode;
      if (t1.focusNode !== t2) {
        t1 = _this.get$_editable_text$_handleFocusChanged();
        t2.removeListener$1(0, t1);
        _this._widget.focusNode.addListener$1(0, t1);
        _this.updateKeepAlive$0();
      }
      t1 = _this._widget;
      t1.toString;
      if (oldWidget.readOnly && t1.focusNode.get$hasFocus())
        _this._openInputConnection$0();
      t1 = _this.get$_hasInputConnection();
      if (t1) {
        t1 = _this._widget;
        if (oldWidget.readOnly !== t1.readOnly) {
          _this._textInputConnection.toString;
          t1 = t1.autofillClient;
          t1 = (t1 == null ? _this : t1).get$textInputConfiguration();
          t2 = $.$get$TextInput__instance().__TextInput__channel;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.invokeMethod$1$2("TextInput.updateConfig", t1.toJson$0(), type$.void);
        }
      }
      if (!_this._widget.style.$eq(0, oldWidget.style)) {
        style = _this._widget.style;
        if (_this.get$_hasInputConnection()) {
          t1 = _this._textInputConnection;
          t1.toString;
          t2 = _this.get$_editable_text$_textDirection();
          t1.setStyle$5$fontFamily$fontSize$fontWeight$textAlign$textDirection(style.fontFamily, style.fontSize, style.fontWeight, _this._widget.textAlign, t2);
        }
      }
      t1 = _this._widget;
      if (t1.enableInteractiveSelection) {
        t2 = t1.toolbarOptions.paste;
        if (t2 && !t1.readOnly) {
          if (t1.selectionControls == null)
            t1 = null;
          else
            t1 = t2 && !t1.readOnly;
          t1 = t1 === true;
        } else
          t1 = false;
      } else
        t1 = false;
      t1;
    },
    dispose$0() {
      var _this = this,
        t1 = _this._internalScrollController;
      if (t1 != null)
        t1.dispose$0();
      _this._widget.controller.removeListener$1(0, _this.get$_didChangeTextEditingValue());
      t1 = _this._floatingCursorResetController;
      if (t1 != null)
        t1.dispose$0();
      _this._floatingCursorResetController = null;
      _this._closeInputConnectionIfNeeded$0();
      t1 = _this._cursorTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._cursorTimer = null;
      t1 = _this._cursorBlinkOpacityController;
      if (t1 != null)
        t1.dispose$0();
      _this._cursorBlinkOpacityController = null;
      t1 = _this._selectionOverlay;
      if (t1 != null)
        t1.dispose$0();
      _this._selectionOverlay = null;
      _this._widget.focusNode.removeListener$1(0, _this.get$_editable_text$_handleFocusChanged());
      B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
      t1 = _this._cursorVisibilityNotifier;
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      _this.super$_EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin$dispose();
    },
    updateEditingValue$1(value) {
      var _this = this,
        t1 = _this._widget;
      if (t1.readOnly)
        value = t1.controller._change_notifier$_value.copyWith$1$selection(value.selection);
      _this._lastKnownRemoteTextEditingValue = value;
      if (value.$eq(0, _this._widget.controller._change_notifier$_value))
        return;
      t1 = _this._widget.controller._change_notifier$_value;
      if (value.text === t1.text && value.composing.$eq(0, t1.composing)) {
        t1 = _this._textInputConnection == null ? null : $.$get$TextInput__instance()._scribbleInProgress;
        t1 = t1 === true ? B.SelectionChangedCause_7 : B.SelectionChangedCause_4;
        _this._handleSelectionChanged$2(value.selection, t1);
      } else {
        _this.hideToolbar$0();
        _this._currentPromptRectRange = null;
        if (_this.get$_hasInputConnection())
          _this._widget.toString;
        _this._obscureShowCharTicksPending = 0;
        _this._obscureLatestCharIndex = null;
        _this._formatAndSetValue$2(value, B.SelectionChangedCause_4);
      }
      _this._scheduleShowCaretOnScreen$1$withAnimation(true);
      if (_this.get$_hasInputConnection()) {
        _this._stopCursorTimer$1$resetCharTicks(false);
        _this._startCursorTimer$0();
      }
    },
    _onFloatingCursorResetTick$0() {
      var t3, t4, finalPosition, t5, t6, _this = this,
        t1 = _this._editableKey,
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      t3._as(t2);
      t4 = _this._lastTextPosition;
      t4.toString;
      t4 = t2.getLocalRectForCaret$1(t4).get$centerLeft();
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t2.toString;
      finalPosition = t4.$sub(0, new A.Offset(0, t3._as(t2)._textPainter.get$preferredLineHeight() / 2));
      t2 = _this._floatingCursorResetController;
      t2 = t2.get$status(t2);
      t4 = $.WidgetsBinding__instance;
      if (t2 === B.AnimationStatus_3) {
        t2 = t4.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        t3._as(t2);
        t4 = _this._lastTextPosition;
        t4.toString;
        t2.setFloatingCursor$3(B.FloatingCursorDragState_2, finalPosition, t4);
        t2 = _this._lastTextPosition.offset;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        if (t2 !== t3._as(t1)._selection.baseOffset)
          _this._handleSelectionChanged$2(A.TextSelection$collapsed(B.TextAffinity_1, _this._lastTextPosition.offset), B.SelectionChangedCause_3);
        _this._lastBoundedOffset = _this._pointOffsetOrigin = _this._lastTextPosition = _this._startCaretRect = null;
      } else {
        t2 = _this._floatingCursorResetController.__AnimationController__value;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t5 = _this._lastBoundedOffset;
        t6 = A.lerpDouble(t5._dx, finalPosition._dx, t2);
        t6.toString;
        t5 = A.lerpDouble(t5._dy, finalPosition._dy, t2);
        t5.toString;
        t1 = t4.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        t3._as(t1);
        t3 = _this._lastTextPosition;
        t3.toString;
        t1.setFloatingCursor$4$resetLerpValue(B.FloatingCursorDragState_1, new A.Offset(t6, t5), t3, t2);
      }
    },
    _finalizeEditing$2$shouldUnfocus(action, shouldUnfocus) {
      var exception, stack, onSubmitted, exception0, stack0, exception1, _this = this,
        t1 = _this._widget,
        t2 = t1.onEditingComplete;
      if (t2 != null)
        try {
          t2.call$0();
        } catch (exception1) {
          exception = A.unwrapException(exception1);
          stack = A.getTraceFromException(exception1);
          t1 = A.ErrorDescription$("while calling onEditingComplete for " + action.toString$0(0));
          A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "widgets", t1, null, false));
        }
      else {
        t1 = t1.controller;
        t1.super$ValueNotifier$value(0, t1._change_notifier$_value.copyWith$1$composing(B.TextRange_m1_m1));
        if (shouldUnfocus) {
          switch (action.index) {
            case 0:
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
            case 8:
            case 9:
            case 10:
            case 11:
            case 12:
              _this._widget.focusNode.unfocus$0();
              break;
            case 6:
              t1 = _this._widget.focusNode;
              t1._context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, true);
              break;
            case 7:
              t1 = _this._widget.focusNode;
              t1._context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, false);
              break;
          }
          shouldUnfocus = true;
        }
      }
      t1 = _this._widget;
      onSubmitted = t1.onSubmitted;
      if (onSubmitted == null)
        return;
      try {
        onSubmitted.call$1(t1.controller._change_notifier$_value.text);
      } catch (exception) {
        exception0 = A.unwrapException(exception);
        stack0 = A.getTraceFromException(exception);
        t1 = A.ErrorDescription$("while calling onSubmitted for " + action.toString$0(0));
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception0, stack0, "widgets", t1, null, false));
      }
      if (shouldUnfocus)
        _this._scheduleRestartConnection$0();
    },
    _updateRemoteEditingValueIfNeeded$0() {
      var t1, t2, _this = this;
      if (_this._batchEditDepth > 0 || !_this.get$_hasInputConnection())
        return;
      t1 = _this._widget.controller._change_notifier$_value;
      if (t1.$eq(0, _this._lastKnownRemoteTextEditingValue))
        return;
      _this._textInputConnection.toString;
      t2 = $.$get$TextInput__instance().__TextInput__channel;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.invokeMethod$1$2("TextInput.setEditingState", t1.toJSON$0(), type$.void);
      _this._lastKnownRemoteTextEditingValue = t1;
    },
    _getOffsetToRevealCaret$1(rect) {
      var t1, t2, t3, additionalOffset, unitOffset, t4, expandedRect, targetOffset, _this = this;
      if (!B.JSArray_methods.get$single(_this.get$_scrollController()._positions).physics.get$allowImplicitScrolling()) {
        t1 = _this.get$_scrollController();
        t1 = t1.get$position(t1)._pixels;
        t1.toString;
        return new A.RevealedOffset(t1, rect);
      }
      t1 = _this._editableKey;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      t2 = t3._as(t2)._box$_size;
      t2.toString;
      if (_this._widget.maxLines === 1) {
        t1 = rect.right;
        t3 = rect.left;
        t2 = t2._dx;
        additionalOffset = t1 - t3 >= t2 ? t2 / 2 - rect.get$center()._dx : A.clampDouble(0, t1 - t2, t3);
        unitOffset = B.Offset_1_0;
      } else {
        t4 = rect.get$center();
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        expandedRect = A.Rect$fromCenter(t4, Math.max(rect.bottom - rect.top, t3._as(t1)._textPainter.get$preferredLineHeight()), rect.right - rect.left);
        t1 = expandedRect.bottom;
        t3 = expandedRect.top;
        t2 = t2._dy;
        additionalOffset = t1 - t3 >= t2 ? t2 / 2 - expandedRect.get$center()._dy : A.clampDouble(0, t1 - t2, t3);
        unitOffset = B.Offset_0_1;
      }
      t1 = _this.get$_scrollController();
      t1 = t1.get$position(t1)._pixels;
      t1.toString;
      t2 = B.JSArray_methods.get$single(_this.get$_scrollController()._positions)._minScrollExtent;
      t2.toString;
      t3 = B.JSArray_methods.get$single(_this.get$_scrollController()._positions)._maxScrollExtent;
      t3.toString;
      targetOffset = A.clampDouble(additionalOffset + t1, t2, t3);
      t3 = _this.get$_scrollController();
      t3 = t3.get$position(t3)._pixels;
      t3.toString;
      return new A.RevealedOffset(targetOffset, rect.shift$1(unitOffset.$mul(0, t3 - targetOffset)));
    },
    get$_hasInputConnection() {
      var t1 = this._textInputConnection;
      t1 = t1 == null ? null : $.$get$TextInput__instance()._currentConnection === t1;
      return t1 === true;
    },
    _openInputConnection$0() {
      var t1, t2, connection, style, t3, t4, _this = this,
        _s14_ = "TextInput.show";
      if (!_this.get$_hasInputConnection()) {
        t1 = _this._widget;
        t2 = t1.controller._change_notifier$_value;
        t1 = t1.autofillClient;
        (t1 == null ? _this : t1).get$textInputConfiguration();
        t1 = _this._widget.autofillClient;
        t1 = (t1 == null ? _this : t1).get$textInputConfiguration();
        connection = A.TextInputConnection$_(_this);
        $.$get$TextInput__instance()._attach$2(connection, t1);
        t1 = connection;
        _this._textInputConnection = t1;
        _this._updateSizeAndTransform$0();
        _this._updateComposingRectIfNeeded$0();
        _this._updateCaretRectIfNeeded$0();
        style = _this._widget.style;
        t1 = _this._textInputConnection;
        t1.toString;
        t3 = _this.get$_editable_text$_textDirection();
        t1.setStyle$5$fontFamily$fontSize$fontWeight$textAlign$textDirection(style.fontFamily, style.fontSize, style.fontWeight, _this._widget.textAlign, t3);
        t3 = $.$get$TextInput__instance();
        t1 = t3.__TextInput__channel;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t4 = type$.void;
        t1.invokeMethod$1$2("TextInput.setEditingState", t2.toJSON$0(), t4);
        t1 = t3.__TextInput__channel;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.invokeMethod$1$1(_s14_, t4);
        t1 = _this._widget.autofillClient;
        if ((t1 == null ? _this : t1).get$textInputConfiguration().autofillConfiguration.enabled) {
          _this._textInputConnection.toString;
          t1 = t3.__TextInput__channel;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.invokeMethod$1$1("TextInput.requestAutofill", t4);
        }
        _this._lastKnownRemoteTextEditingValue = t2;
      } else {
        _this._textInputConnection.toString;
        t1 = $.$get$TextInput__instance().__TextInput__channel;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.invokeMethod$1$1(_s14_, type$.void);
      }
    },
    _closeInputConnectionIfNeeded$0() {
      var t1, t2, _this = this;
      if (_this.get$_hasInputConnection()) {
        t1 = _this._textInputConnection;
        t1.toString;
        t2 = $.$get$TextInput__instance();
        if (t2._currentConnection === t1)
          t2._clearClient$0();
        _this._lastKnownRemoteTextEditingValue = _this._textInputConnection = null;
      }
    },
    _scheduleRestartConnection$0() {
      if (this._restartConnectionScheduled)
        return;
      this._restartConnectionScheduled = true;
      A.scheduleMicrotask(this.get$_restartConnectionIfNeeded());
    },
    _restartConnectionIfNeeded$0() {
      var t1, t2, connection, newConnection, style, t3, _this = this;
      _this._restartConnectionScheduled = false;
      if (_this.get$_hasInputConnection())
        t1 = false;
      else
        t1 = true;
      if (t1)
        return;
      t1 = _this._textInputConnection;
      t1.toString;
      t2 = $.$get$TextInput__instance();
      if (t2._currentConnection === t1)
        t2._clearClient$0();
      _this._lastKnownRemoteTextEditingValue = _this._textInputConnection = null;
      t1 = _this._widget.autofillClient;
      (t1 == null ? _this : t1).get$textInputConfiguration();
      t1 = _this._widget.autofillClient;
      t1 = (t1 == null ? _this : t1).get$textInputConfiguration();
      connection = A.TextInputConnection$_(_this);
      t2._attach$2(connection, t1);
      newConnection = connection;
      _this._textInputConnection = newConnection;
      style = _this._widget.style;
      t1 = t2.__TextInput__channel;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t3 = type$.void;
      t1.invokeMethod$1$1("TextInput.show", t3);
      t1 = _this.get$_editable_text$_textDirection();
      newConnection.setStyle$5$fontFamily$fontSize$fontWeight$textAlign$textDirection(style.fontFamily, style.fontSize, style.fontWeight, _this._widget.textAlign, t1);
      t1 = _this._widget.controller._change_notifier$_value;
      t2 = t2.__TextInput__channel;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.invokeMethod$1$2("TextInput.setEditingState", t1.toJSON$0(), t3);
      _this._lastKnownRemoteTextEditingValue = _this._widget.controller._change_notifier$_value;
    },
    requestKeyboard$0() {
      if (this._widget.focusNode.get$hasFocus())
        this._openInputConnection$0();
      else
        this._widget.focusNode.requestFocus$0();
    },
    _updateOrDisposeSelectionOverlayIfNeeded$0() {
      var t1, t2, _this = this;
      if (_this._selectionOverlay != null) {
        t1 = _this._widget.focusNode.get$hasFocus();
        t2 = _this._selectionOverlay;
        if (t1) {
          t2.toString;
          t2.update$1(0, _this._widget.controller._change_notifier$_value);
        } else {
          t2.dispose$0();
          _this._selectionOverlay = null;
        }
      }
    },
    _updateSelectionOverlayForScroll$0() {
      var t1 = this._selectionOverlay;
      if (t1 != null)
        t1._updateSelectionOverlay$0();
    },
    _createSelectionOverlay$0() {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      t2 = _this._widget;
      t3 = t2.controller._change_notifier$_value;
      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this._editableKey).get$renderObject();
      t4.toString;
      type$.RenderEditable._as(t4);
      t5 = _this._widget;
      t6 = t5.selectionControls;
      t7 = t5.dragStartBehavior;
      t5 = t5.onSelectionHandleTapped;
      t8 = $.$get$ChangeNotifier__emptyListeners();
      t9 = type$.ValueNotifier_bool;
      t10 = new A.ValueNotifier(false, t8, t9);
      t11 = new A.ValueNotifier(false, t8, t9);
      t9 = new A.ValueNotifier(false, t8, t9);
      t3 = new A.TextSelectionOverlay(t4, t6, _this, t3, t10, t11, t9);
      t8 = t3.get$_updateTextSelectionOverlayVisibilities();
      t4._selectionStartInViewport.addListener$1(0, t8);
      t4._selectionEndInViewport.addListener$1(0, t8);
      t3._updateTextSelectionOverlayVisibilities$0();
      t4 = t4._lastSecondaryTapDownPosition;
      t1.findRootAncestorStateOfType$1$0(type$.OverlayState);
      if (t3.__TextSelectionOverlay__selectionOverlay !== $)
        A.throwUnnamedLateFieldAI();
      t3.__TextSelectionOverlay__selectionOverlay = new A.SelectionOverlay(t1, B.TextSelectionHandleType_2, 0, t10, t3.get$_handleSelectionStartHandleDragStart(), t3.get$_handleSelectionStartHandleDragUpdate(), B.TextSelectionHandleType_2, 0, t11, t3.get$_handleSelectionEndHandleDragStart(), t3.get$_handleSelectionEndHandleDragUpdate(), t9, B.List_empty8, t2, _this._toolbarLayerLink, _this._startHandleLayerLink, _this._endHandleLayerLink, t6, _this, t7, t5, null, t4);
      _this._selectionOverlay = t3;
    },
    _handleSelectionChanged$2(selection, cause) {
      var exception, stack, t1, t2, exception0, _this = this;
      if (!_this._widget.controller.isSelectionWithinTextBounds$1(selection))
        return;
      _this._widget.controller.set$selection(selection);
      switch (cause) {
        case null:
        case B.SelectionChangedCause_1:
        case B.SelectionChangedCause_6:
        case B.SelectionChangedCause_3:
        case B.SelectionChangedCause_2:
        case B.SelectionChangedCause_7:
        case B.SelectionChangedCause_0:
        case B.SelectionChangedCause_5:
          _this.requestKeyboard$0();
          break;
        case B.SelectionChangedCause_4:
          if (_this._widget.focusNode.get$hasFocus())
            _this.requestKeyboard$0();
          break;
      }
      t1 = _this._widget;
      if (t1.selectionControls == null) {
        t1 = _this._selectionOverlay;
        if (t1 != null)
          t1.dispose$0();
        _this._selectionOverlay = null;
      } else {
        t2 = _this._selectionOverlay;
        if (t2 == null)
          _this._createSelectionOverlay$0();
        else
          t2.update$1(0, t1.controller._change_notifier$_value);
        t1 = _this._selectionOverlay;
        t1.toString;
        t1.set$handlesVisible(_this._widget.showSelectionHandles);
        t1 = _this._selectionOverlay;
        t1._updateSelectionOverlay$0();
        t1 = t1.__TextSelectionOverlay__selectionOverlay;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.showHandles$0();
      }
      try {
        _this._widget.onSelectionChanged.call$2(selection, cause);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("while calling onSelectionChanged for " + A.S(cause));
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "widgets", t1, null, false));
      }
      if (_this._cursorTimer != null) {
        _this._stopCursorTimer$1$resetCharTicks(false);
        _this._startCursorTimer$0();
      }
    },
    _handleCaretChanged$1(caretRect) {
      this._currentCaretRect = caretRect;
    },
    _scheduleShowCaretOnScreen$1$withAnimation(withAnimation) {
      if (this._showCaretOnScreenScheduled)
        return;
      this._showCaretOnScreenScheduled = true;
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState__scheduleShowCaretOnScreen_closure(this, withAnimation));
    },
    didChangeMetrics$0() {
      var t2, _this = this,
        t1 = _this.__EditableTextState__lastBottomViewInset;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      $.WidgetsBinding__instance.toString;
      t2 = $.$get$window();
      if (t1 !== t2._viewInsets.bottom) {
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState_didChangeMetrics_closure(_this));
        t1 = _this.__EditableTextState__lastBottomViewInset;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        $.WidgetsBinding__instance.toString;
        if (t1 < t2._viewInsets.bottom)
          _this._scheduleShowCaretOnScreen$1$withAnimation(false);
      }
      $.WidgetsBinding__instance.toString;
      _this.__EditableTextState__lastBottomViewInset = t2._viewInsets.bottom;
    },
    _formatAndSetValue$3$userInteraction(value, cause, userInteraction) {
      var exception, stack, exception0, stack0, t1, t2, textChanged, value0, exception1, _this = this;
      value = value;
      t1 = _this._widget.controller._change_notifier$_value;
      if (t1.text === value.text) {
        t2 = t1.composing;
        if (t2.start !== t2.end) {
          t2 = value.composing;
          t2 = t2.start === t2.end;
          textChanged = t2;
        } else
          textChanged = false;
      } else
        textChanged = true;
      t1 = t1.selection.$eq(0, value.selection);
      if (textChanged)
        try {
          t2 = _this._widget.inputFormatters;
          value0 = t2 == null ? null : B.JSArray_methods.fold$2(t2, value, new A.EditableTextState__formatAndSetValue_closure(_this));
          value = value0 == null ? value : value0;
        } catch (exception1) {
          exception = A.unwrapException(exception1);
          stack = A.getTraceFromException(exception1);
          t2 = A.ErrorDescription$("while applying input formatters");
          A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "widgets", t2, null, false));
        }
      ++_this._batchEditDepth;
      t2 = value;
      _this._widget.controller.super$ValueNotifier$value(0, t2);
      if (t1)
        if (userInteraction)
          t1 = cause === B.SelectionChangedCause_2 || cause === B.SelectionChangedCause_4;
        else
          t1 = false;
      else
        t1 = true;
      if (t1)
        _this._handleSelectionChanged$2(_this._widget.controller._change_notifier$_value.selection, cause);
      if (textChanged)
        try {
          t1 = _this._widget;
          t2 = t1.onChanged;
          if (t2 != null)
            t2.call$1(t1.controller._change_notifier$_value.text);
        } catch (exception) {
          exception0 = A.unwrapException(exception);
          stack0 = A.getTraceFromException(exception);
          t1 = A.ErrorDescription$("while calling onChanged");
          A.FlutterError_reportError(new A.FlutterErrorDetails(exception0, stack0, "widgets", t1, null, false));
        }
      --_this._batchEditDepth;
      _this._updateRemoteEditingValueIfNeeded$0();
    },
    _formatAndSetValue$2(value, cause) {
      return this._formatAndSetValue$3$userInteraction(value, cause, false);
    },
    _onCursorColorTick$0() {
      var t2, t3, _this = this,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this._editableKey).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1);
      t2 = _this._widget.cursorColor;
      t3 = _this._cursorBlinkOpacityController.__AnimationController__value;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2 = A.Color$fromARGB(B.JSNumber_methods.round$0(255 * t3), t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255);
      t1.get$_caretPainter().set$caretColor(t2);
      if (_this._widget.showCursor) {
        t1 = _this._cursorBlinkOpacityController.__AnimationController__value;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1 > 0;
      } else
        t1 = false;
      _this._cursorVisibilityNotifier.set$value(0, t1);
    },
    _cursorTick$1(timer) {
      var targetOpacity, t2, _this = this,
        t1 = !_this._targetCursorVisibility;
      _this._targetCursorVisibility = t1;
      targetOpacity = t1 ? 1 : 0;
      t1 = _this._widget.cursorOpacityAnimates;
      t2 = _this._cursorBlinkOpacityController;
      if (t1) {
        t2._direction = B._AnimationDirection_0;
        t2._animateToInternal$3$curve$duration(targetOpacity, B.Cubic_xDo0, null);
      } else
        t2.set$value(0, targetOpacity);
      if (_this._obscureShowCharTicksPending > 0)
        _this.setState$1(new A.EditableTextState__cursorTick_closure(_this));
    },
    _cursorWaitForStart$1(timer) {
      var t1 = this._cursorTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._cursorTimer = A.Timer_Timer$periodic(B.Duration_500000, this.get$_cursorTick());
    },
    _startCursorTimer$0() {
      var _this = this;
      _this._cursorActive = true;
      if (!_this._tickersEnabled)
        return;
      _this._targetCursorVisibility = true;
      _this._cursorBlinkOpacityController.set$value(0, 1);
      if (_this._widget.cursorOpacityAnimates)
        _this._cursorTimer = A.Timer_Timer$periodic(B.Duration_150000, _this.get$_cursorWaitForStart());
      else
        _this._cursorTimer = A.Timer_Timer$periodic(B.Duration_500000, _this.get$_cursorTick());
    },
    _stopCursorTimer$1$resetCharTicks(resetCharTicks) {
      var t1, _this = this;
      _this._cursorActive = false;
      t1 = _this._cursorTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._cursorTimer = null;
      _this._targetCursorVisibility = false;
      _this._cursorBlinkOpacityController.set$value(0, 0);
      if (resetCharTicks)
        _this._obscureShowCharTicksPending = 0;
      if (_this._widget.cursorOpacityAnimates) {
        _this._cursorBlinkOpacityController.stop$0(0);
        _this._cursorBlinkOpacityController.set$value(0, 0);
      }
    },
    _stopCursorTimer$0() {
      return this._stopCursorTimer$1$resetCharTicks(true);
    },
    _startOrStopCursorTimerIfNeeded$0() {
      var t1, _this = this;
      if (_this._cursorTimer == null)
        if (_this._widget.focusNode.get$hasFocus()) {
          t1 = _this._widget.controller._change_notifier$_value.selection;
          t1 = t1.start === t1.end;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1)
        _this._startCursorTimer$0();
      else {
        if (_this._cursorActive)
          if (_this._widget.focusNode.get$hasFocus()) {
            t1 = _this._widget.controller._change_notifier$_value.selection;
            t1 = t1.start !== t1.end;
          } else
            t1 = true;
        else
          t1 = false;
        if (t1)
          _this._stopCursorTimer$0();
      }
    },
    _didChangeTextEditingValue$0() {
      var _this = this;
      _this._updateRemoteEditingValueIfNeeded$0();
      _this._startOrStopCursorTimerIfNeeded$0();
      _this._updateOrDisposeSelectionOverlayIfNeeded$0();
      _this.setState$1(new A.EditableTextState__didChangeTextEditingValue_closure());
      _this.get$_adjacentLineAction().stopCurrentVerticalRunIfSelectionChanges$0();
    },
    _editable_text$_handleFocusChanged$0() {
      var t1, t2, _this = this;
      if (_this._widget.focusNode.get$hasFocus() && _this._widget.focusNode.consumeKeyboardToken$0())
        _this._openInputConnection$0();
      else if (!_this._widget.focusNode.get$hasFocus()) {
        _this._closeInputConnectionIfNeeded$0();
        t1 = _this._widget.controller;
        t1.super$ValueNotifier$value(0, t1._change_notifier$_value.copyWith$1$composing(B.TextRange_m1_m1));
      }
      _this._startOrStopCursorTimerIfNeeded$0();
      _this._updateOrDisposeSelectionOverlayIfNeeded$0();
      t1 = _this._widget.focusNode.get$hasFocus();
      t2 = $.WidgetsBinding__instance;
      if (t1) {
        t2.WidgetsBinding__observers.push(_this);
        $.WidgetsBinding__instance.toString;
        _this.__EditableTextState__lastBottomViewInset = $.$get$window()._viewInsets.bottom;
        if (!_this._widget.readOnly)
          _this._scheduleShowCaretOnScreen$1$withAnimation(true);
        if (!_this._widget.controller._change_notifier$_value.selection.get$isValid())
          _this._handleSelectionChanged$2(A.TextSelection$collapsed(B.TextAffinity_1, _this._widget.controller._change_notifier$_value.text.length), null);
        _this._cachedText = "";
        _this._cachedFirstRect = null;
        _this._editable_text$_cachedSize = B.Size_0_0;
        _this._cachedPlaceholder = -1;
      } else {
        B.JSArray_methods.remove$1(t2.WidgetsBinding__observers, _this);
        _this.setState$1(new A.EditableTextState__handleFocusChanged_closure(_this));
      }
      _this.updateKeepAlive$0();
    },
    _updateSelectionRects$1$force(force) {
      var t2, t3, t4, text, firstSelectionBoxes, firstRect, scrollDirection, t5, t6, t7, t8, placeholderChanged, rects, _this = this, t1 = {};
      _this._widget.toString;
      if (A.defaultTargetPlatform() !== B.TargetPlatform_2)
        return;
      $.WidgetsBinding__instance.toString;
      t2 = $.$get$window().get$physicalSize();
      if (Math.min(Math.abs(t2._dx), Math.abs(t2._dy)) < 1488)
        return;
      t2 = _this._editableKey;
      t3 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
      t3.toString;
      t4 = type$.RenderEditable;
      t3 = t4._as(t3)._textPainter._text_painter$_text;
      text = t3 == null ? null : t3.toPlainText$1$includeSemanticsLabels(false);
      if (text == null)
        text = "";
      t3 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
      t3.toString;
      firstSelectionBoxes = t4._as(t3).getBoxesForSelection$1(B.TextSelection_3Ex);
      firstRect = firstSelectionBoxes.length !== 0 ? B.JSArray_methods.get$first(firstSelectionBoxes) : null;
      scrollDirection = B.JSArray_methods.get$single(_this.get$_scrollController()._positions)._userScrollDirection;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
      t2.toString;
      t2 = t4._as(t2)._box$_size;
      t2.toString;
      t4 = _this._cachedText;
      t3 = J.$eq$(_this._cachedTextStyle, _this._widget.style);
      t5 = J.$eq$(_this._cachedFirstRect, firstRect);
      t6 = _this._editable_text$_cachedSize.$eq(0, t2);
      t7 = _this._cachedPlaceholder;
      t8 = _this._placeholderLocation;
      placeholderChanged = t7 !== t8;
      if (scrollDirection === B.ScrollDirection_0)
        t3 = force || text !== t4 || !t3 || !t5 || !t6 || placeholderChanged;
      else
        t3 = false;
      if (t3) {
        _this._cachedText = text;
        _this._cachedFirstRect = firstRect;
        _this._cachedTextStyle = _this._widget.style;
        _this._editable_text$_cachedSize = t2;
        _this._cachedPlaceholder = t8;
        t1.belowRenderEditableBottom = false;
        t2 = text.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(text);
        t1 = A.List_List$generate(t2.get$length(t2), new A.EditableTextState__updateSelectionRects_closure(t1, _this), true, type$.nullable_SelectionRect);
        t2 = A._arrayInstanceType(t1);
        t3 = t2._eval$1("MappedIterable<1,SelectionRect>");
        rects = A.List_List$of(new A.MappedIterable(new A.WhereIterable(t1, new A.EditableTextState__updateSelectionRects_closure0(_this), t2._eval$1("WhereIterable<1>")), new A.EditableTextState__updateSelectionRects_closure1(), t3), true, t3._eval$1("Iterable.E"));
        _this._textInputConnection.setSelectionRects$1(rects);
      }
    },
    _updateSelectionRects$0() {
      return this._updateSelectionRects$1$force(false);
    },
    _updateSizeAndTransform$0() {
      var t1, t2, t3, transform, _this = this;
      if (_this.get$_hasInputConnection()) {
        t1 = _this._editableKey;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        t3 = type$.RenderEditable;
        t2 = t3._as(t2)._box$_size;
        t2.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        transform = t3._as(t1).getTransformTo$1(0, null);
        t1 = _this._textInputConnection;
        if (!t2.$eq(0, t1._cachedSize) || !transform.$eq(0, t1._cachedTransform)) {
          t1._cachedSize = t2;
          t1._cachedTransform = transform;
          t1 = $.$get$TextInput__instance();
          t2 = A.LinkedHashMap_LinkedHashMap$_literal(["width", t2._dx, "height", t2._dy, "transform", transform._m4storage], type$.String, type$.dynamic);
          t1 = t1.__TextInput__channel;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.invokeMethod$1$2("TextInput.setEditableSizeAndTransform", t2, type$.void);
        }
        _this._updateSelectionRects$0();
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState__updateSizeAndTransform_closure(_this));
      } else if (_this._placeholderLocation !== -1)
        _this.removeTextPlaceholder$0();
    },
    _updateComposingRectIfNeeded$0() {
      var t1, t2, t3, composingRect, offset, _this = this,
        composingRange = _this._widget.controller._change_notifier$_value.composing;
      if (_this.get$_hasInputConnection()) {
        t1 = _this._editableKey;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        t3 = type$.RenderEditable;
        composingRect = t3._as(t2).getRectForComposingRange$1(composingRange);
        if (composingRect == null) {
          offset = composingRange.get$isValid() ? composingRange.start : 0;
          t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
          t1.toString;
          composingRect = t3._as(t1).getLocalRectForCaret$1(new A.TextPosition(offset, B.TextAffinity_1));
        }
        _this._textInputConnection.setComposingRect$1(composingRect);
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState__updateComposingRectIfNeeded_closure(_this));
      }
    },
    _updateCaretRectIfNeeded$0() {
      var t1, t2, t3, caretRect, _this = this;
      if (_this.get$_hasInputConnection()) {
        t1 = _this._editableKey;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        t3 = type$.RenderEditable;
        t3._as(t2);
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        if (t3._as(t2)._selection.get$isValid()) {
          t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
          t2.toString;
          t2 = t3._as(t2)._selection;
          t2 = t2.start === t2.end;
        } else
          t2 = false;
        if (t2) {
          t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
          t2.toString;
          t2 = t3._as(t2)._selection;
          t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
          t1.toString;
          caretRect = t3._as(t1).getLocalRectForCaret$1(new A.TextPosition(t2.baseOffset, B.TextAffinity_1));
          _this._textInputConnection.setCaretRect$1(caretRect);
        }
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.EditableTextState__updateCaretRectIfNeeded_closure(_this));
      }
    },
    get$_editable_text$_textDirection() {
      this._widget.toString;
      var t1 = this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      return t1.textDirection;
    },
    userUpdateTextEditingValue$2(value, cause) {
      var _this = this,
        t1 = _this._widget,
        t2 = t1.readOnly;
      t1 = t1.controller._change_notifier$_value;
      if (t2 ? !t1.selection.$eq(0, value.selection) : !t1.$eq(0, value))
        _this._scheduleShowCaretOnScreen$1$withAnimation(true);
      if (value.$eq(0, _this._widget.controller._change_notifier$_value)) {
        if (!_this._widget.focusNode.get$hasFocus()) {
          _this._widget.focusNode.requestFocus$0();
          _this._createSelectionOverlay$0();
        }
        return;
      }
      _this._formatAndSetValue$3$userInteraction(value, cause, true);
    },
    bringIntoView$1(position) {
      var t3, targetOffset,
        t1 = this._editableKey,
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      targetOffset = this._getOffsetToRevealCaret$1(t3._as(t2).getLocalRectForCaret$1(position));
      this.get$_scrollController().jumpTo$1(targetOffset.offset);
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t1.toString;
      t3._as(t1).showOnScreen$1$rect(targetOffset.rect);
    },
    showToolbar$0() {
      return false;
    },
    hideToolbar$1(hideHandles) {
      var t1, t2, t3;
      if (hideHandles) {
        t1 = this._selectionOverlay;
        if (t1 != null) {
          t1 = t1.__TextSelectionOverlay__selectionOverlay;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.hide$0();
        }
      } else {
        t1 = this._selectionOverlay;
        t2 = t1 == null;
        if (t2)
          t3 = null;
        else {
          t3 = t1.__TextSelectionOverlay__selectionOverlay;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3 = t3._toolbar != null;
        }
        if (t3 === true)
          if (!t2) {
            t1 = t1.__TextSelectionOverlay__selectionOverlay;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1.hideToolbar$0();
          }
      }
    },
    hideToolbar$0() {
      return this.hideToolbar$1(true);
    },
    toggleToolbar$0() {
      var t1 = this._selectionOverlay.__TextSelectionOverlay__selectionOverlay;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1._toolbar != null)
        this.hideToolbar$0();
      else
        this.showToolbar$0();
    },
    insertTextPlaceholder$1(size) {
      var t1 = this._widget;
      if (!t1.controller._change_notifier$_value.selection.get$isValid())
        return;
      this.setState$1(new A.EditableTextState_insertTextPlaceholder_closure(this));
    },
    removeTextPlaceholder$0() {
      this._widget.toString;
      this.setState$1(new A.EditableTextState_removeTextPlaceholder_closure(this));
    },
    get$textInputConfiguration() {
      var autofillHints, autofillConfiguration, t2, t3, t4, t5, t6, t7, t8, _this = this,
        t1 = _this._widget.autofillHints;
      if (t1 == null)
        autofillHints = null;
      else
        autofillHints = J.JSArray_JSArray$markFixed(t1.slice(0), A._arrayInstanceType(t1)._precomputed1);
      autofillConfiguration = autofillHints != null ? new A.AutofillConfiguration(true, "EditableText-" + A.Primitives_objectHashCode(_this), autofillHints, _this._widget.controller._change_notifier$_value, null) : B.AutofillConfiguration_lYx;
      t1 = _this._widget;
      t2 = t1.keyboardType;
      t3 = t1.readOnly;
      t4 = t1.smartDashesType;
      t5 = t1.smartQuotesType;
      if (t1.enableInteractiveSelection)
        t1 = true;
      else
        t1 = false;
      t6 = t2.$eq(0, B.TextInputType_1_null_null) ? B.TextInputAction_12 : B.TextInputAction_2;
      t7 = _this._widget;
      t8 = t7.textCapitalization;
      return A.TextInputConfiguration$(true, autofillConfiguration, false, true, t1, true, t6, t2, t7.keyboardAppearance, false, t3, t4, t5, t8);
    },
    showAutocorrectionPromptRect$2(start, end) {
      this.setState$1(new A.EditableTextState_showAutocorrectionPromptRect_closure(this, start, end));
    },
    _semanticsOnCopy$1(controls) {
      var t1 = this._widget;
      if (t1.enableInteractiveSelection)
        if (t1.toolbarOptions.copy && true)
          if (t1.focusNode.get$hasFocus()) {
            if (controls == null)
              t1 = null;
            else {
              t1 = this._widget;
              if (t1.toolbarOptions.copy && true) {
                t1 = t1.controller._change_notifier$_value.selection;
                t1 = t1.start !== t1.end;
              } else
                t1 = false;
            }
            t1 = t1 === true;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1 ? new A.EditableTextState__semanticsOnCopy_closure(this, controls) : null;
    },
    _semanticsOnCut$1(controls) {
      var t1, _this = this;
      if (_this._widget.enableInteractiveSelection)
        if (_this.get$cutEnabled())
          if (_this._widget.focusNode.get$hasFocus()) {
            if (controls == null)
              t1 = null;
            else if (_this.get$cutEnabled()) {
              t1 = _this._widget.controller._change_notifier$_value.selection;
              t1 = t1.start !== t1.end;
            } else
              t1 = false;
            t1 = t1 === true;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1 ? new A.EditableTextState__semanticsOnCut_closure(_this, controls) : null;
    },
    _semanticsOnPaste$1(controls) {
      var t1 = this._widget;
      if (t1.enableInteractiveSelection)
        if (t1.toolbarOptions.paste && !t1.readOnly)
          if (t1.focusNode.get$hasFocus()) {
            if (controls == null)
              t1 = null;
            else {
              t1 = this._widget;
              t1 = t1.toolbarOptions.paste && !t1.readOnly;
            }
            if (t1 === true)
              t1 = true;
            else
              t1 = false;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1 ? new A.EditableTextState__semanticsOnPaste_closure(this, controls) : null;
    },
    _characterBoundary$1(intent) {
      var t1 = this._widget.controller._change_notifier$_value,
        atomicTextBoundary = new A._CharacterBoundary(t1);
      return new A._CollapsedSelectionBoundary(atomicTextBoundary, intent.forward);
    },
    _nextWordBoundary$1(intent) {
      var textEditingValue, atomicTextBoundary, t1, boundary;
      this._widget.toString;
      textEditingValue = this.get$_textEditingValueforTextLayoutMetrics();
      atomicTextBoundary = new A._CharacterBoundary(textEditingValue);
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._editableKey).get$renderObject();
      t1.toString;
      boundary = new A._ExpandedTextBoundary(new A._WhitespaceBoundary(textEditingValue), new A._WordBoundary(type$.RenderEditable._as(t1), textEditingValue));
      t1 = intent.forward;
      return new A._CollapsedSelectionBoundary(t1 ? new A._MixedBoundary(atomicTextBoundary, boundary) : new A._MixedBoundary(boundary, atomicTextBoundary), t1);
    },
    _linebreak$1(intent) {
      var textEditingValue, atomicTextBoundary, t1, boundary;
      this._widget.toString;
      textEditingValue = this.get$_textEditingValueforTextLayoutMetrics();
      atomicTextBoundary = new A._CharacterBoundary(textEditingValue);
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._editableKey).get$renderObject();
      t1.toString;
      boundary = new A._LineBreak(type$.RenderEditable._as(t1), textEditingValue);
      return intent.forward ? new A._MixedBoundary(new A._CollapsedSelectionBoundary(atomicTextBoundary, true), boundary) : new A._MixedBoundary(boundary, new A._CollapsedSelectionBoundary(atomicTextBoundary, false));
    },
    _documentBoundary$1(intent) {
      return new A._DocumentBoundary(this._widget.controller._change_notifier$_value);
    },
    _transposeCharacters$1(intent) {
      var text, transposing, t2, t3, t4, _this = this,
        t1 = _this._widget.controller._change_notifier$_value.text;
      t1 = t1.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(t1);
      if (t1.get$length(t1) > 1) {
        t1 = _this._widget;
        t1 = t1.controller._change_notifier$_value.selection;
        t1 = t1.start !== t1.end || t1.baseOffset === 0;
      } else
        t1 = true;
      if (t1)
        return;
      t1 = _this._widget.controller._change_notifier$_value;
      text = t1.text;
      t1 = t1.selection.baseOffset;
      transposing = A.StringCharacterRange_StringCharacterRange$at(text, t1, null);
      t2 = transposing._characters_impl$_start;
      if (t1 === text.length)
        transposing._retractStart$2(2, t2);
      else {
        transposing._retractStart$2(1, t2);
        transposing._advanceEnd$2(1, transposing._characters_impl$_start);
      }
      t1 = transposing._characters_impl$_string;
      t2 = B.JSString_methods.substring$2(t1, 0, transposing._characters_impl$_start);
      t3 = new A.StringCharacters(transposing.get$current(transposing));
      t3 = t3.get$last(t3);
      t4 = new A.StringCharacters(transposing.get$current(transposing));
      _this.userUpdateTextEditingValue$2(new A.TextEditingValue(t2 + t3 + t4.get$first(t4) + B.JSString_methods.substring$1(t1, transposing._characters_impl$_end), A.TextSelection$collapsed(B.TextAffinity_1, transposing._characters_impl$_start + transposing.get$current(transposing).length), B.TextRange_m1_m1), B.SelectionChangedCause_4);
    },
    _replaceText$1(intent) {
      var t1 = this._widget.controller._change_notifier$_value,
        newValue = intent.currentTextEditingValue.replaced$2(intent.replacementRange, intent.replacementText);
      this.userUpdateTextEditingValue$2(newValue, intent.cause);
      if (newValue.$eq(0, t1))
        this._didChangeTextEditingValue$0();
    },
    _scrollToDocumentBoundary$1(intent) {
      if (intent.forward)
        this.bringIntoView$1(new A.TextPosition(this._widget.controller._change_notifier$_value.text.length, B.TextAffinity_1));
      else
        this.bringIntoView$1(B.TextPosition_0_TextAffinity_1);
    },
    _updateSelection$1(intent) {
      var t1 = intent.newSelection;
      this.bringIntoView$1(t1.get$extent());
      this.userUpdateTextEditingValue$2(intent.currentTextEditingValue.copyWith$1$selection(t1), intent.cause);
    },
    get$_adjacentLineAction() {
      var t1, _this = this,
        value = _this.__EditableTextState__adjacentLineAction;
      if (value === $) {
        t1 = A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent);
        if (_this.__EditableTextState__adjacentLineAction !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__EditableTextState__adjacentLineAction = new A._UpdateTextSelectionToAdjacentLineAction(_this, new A.ObserverList(t1, type$.ObserverList_of_void_Function_Action_Intent), type$._UpdateTextSelectionToAdjacentLineAction_ExtendSelectionVerticallyToAdjacentLineIntent);
      }
      return value;
    },
    _expandSelectionToDocumentBoundary$1(intent) {
      var t1 = this._widget.controller._change_notifier$_value;
      this._expandSelection$3(intent.forward, new A._DocumentBoundary(t1), true);
    },
    _expandSelectionToLinebreak$1(intent) {
      var textBoundary = this._linebreak$1(intent);
      this._expandSelection$2(intent.forward, textBoundary);
    },
    _expandSelection$3($forward, textBoundary, extentAtIndex) {
      var position, newExtent, newSelection,
        textBoundarySelection = textBoundary.get$textEditingValue().selection;
      if (!textBoundarySelection.get$isValid())
        return;
      position = $forward === textBoundarySelection.baseOffset <= textBoundarySelection.extentOffset ? textBoundarySelection.get$extent() : textBoundarySelection.get$base();
      newExtent = $forward ? textBoundary.getTrailingTextBoundaryAt$1(position) : textBoundary.getLeadingTextBoundaryAt$1(position);
      newSelection = textBoundarySelection.expandTo$2(newExtent, textBoundarySelection.start === textBoundarySelection.end || extentAtIndex);
      this.userUpdateTextEditingValue$2(this._widget.controller._change_notifier$_value.copyWith$1$selection(newSelection), B.SelectionChangedCause_4);
      this.bringIntoView$1(newSelection.get$extent());
    },
    _expandSelection$2($forward, textBoundary) {
      return this._expandSelection$3($forward, textBoundary, false);
    },
    _hideToolbarIfVisible$1(intent) {
      var t1 = this._selectionOverlay;
      if (t1 == null)
        t1 = null;
      else {
        t1 = t1.__TextSelectionOverlay__selectionOverlay;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._toolbar != null;
      }
      if (t1 === true) {
        this.hideToolbar$1(false);
        return null;
      }
      t1 = this._framework$_element;
      t1.toString;
      return A.Actions_invoke(t1, intent, type$.DismissIntent);
    },
    get$_editable_text$_actions() {
      var t1, t2, t3, t4, value0, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, t19, t20, t21, value1, result, _this = this,
        value = _this.__EditableTextState__actions;
      if (value === $) {
        t1 = type$.JSArray_of_void_Function_Action_Intent;
        t2 = A._setArrayType([], t1);
        t3 = type$.ObserverList_of_void_Function_Action_Intent;
        value = _this.__EditableTextState__replaceTextAction;
        if (value === $) {
          t4 = A._setArrayType([], t1);
          if (_this.__EditableTextState__replaceTextAction !== $)
            A.throwUnnamedLateFieldADI();
          value = _this.__EditableTextState__replaceTextAction = new A.CallbackAction(_this.get$_replaceText(), new A.ObserverList(t4, t3), type$.CallbackAction_ReplaceTextIntent);
        }
        value0 = _this.__EditableTextState__updateSelectionAction;
        if (value0 === $) {
          t4 = A._setArrayType([], t1);
          if (_this.__EditableTextState__updateSelectionAction !== $)
            A.throwUnnamedLateFieldADI();
          value0 = _this.__EditableTextState__updateSelectionAction = new A.CallbackAction(_this.get$_updateSelection(), new A.ObserverList(t4, t3), type$.CallbackAction_UpdateSelectionIntent);
        }
        t4 = A._setArrayType([], t1);
        t5 = A._setArrayType([], t1);
        t6 = _this.get$_characterBoundary();
        t7 = A._setArrayType([], t1);
        t8 = _this._framework$_element;
        t8.toString;
        t8 = new A._DeleteTextAction(_this, t6, new A.ObserverList(t7, t3), type$._DeleteTextAction_DeleteCharacterIntent)._makeOverridableAction$1(t8);
        t7 = _this.get$_nextWordBoundary();
        t9 = A._setArrayType([], t1);
        t10 = _this._framework$_element;
        t10.toString;
        t10 = new A._DeleteTextAction(_this, t7, new A.ObserverList(t9, t3), type$._DeleteTextAction_DeleteToNextWordBoundaryIntent)._makeOverridableAction$1(t10);
        t9 = _this.get$_linebreak();
        t11 = A._setArrayType([], t1);
        t12 = _this._framework$_element;
        t12.toString;
        t12 = new A._DeleteTextAction(_this, t9, new A.ObserverList(t11, t3), type$._DeleteTextAction_DeleteToLineBreakIntent)._makeOverridableAction$1(t12);
        t11 = A._setArrayType([], t1);
        t13 = _this._framework$_element;
        t13.toString;
        t13 = new A._UpdateTextSelectionAction(_this, false, t6, new A.ObserverList(t11, t3), type$._UpdateTextSelectionAction_ExtendSelectionByCharacterIntent)._makeOverridableAction$1(t13);
        t11 = A._setArrayType([], t1);
        t6 = _this._framework$_element;
        t6.toString;
        t6 = new A._UpdateTextSelectionAction(_this, true, t7, new A.ObserverList(t11, t3), type$._UpdateTextSelectionAction_ExtendSelectionToNextWordBoundaryIntent)._makeOverridableAction$1(t6);
        t11 = A._setArrayType([], t1);
        t14 = _this._framework$_element;
        t14.toString;
        t14 = new A._UpdateTextSelectionAction(_this, true, t9, new A.ObserverList(t11, t3), type$._UpdateTextSelectionAction_ExtendSelectionToLineBreakIntent)._makeOverridableAction$1(t14);
        t11 = A._setArrayType([], t1);
        t9 = _this._framework$_element;
        t9.toString;
        t9 = new A.CallbackAction(_this.get$_expandSelectionToLinebreak(), new A.ObserverList(t11, t3), type$.CallbackAction_ExpandSelectionToLineBreakIntent)._makeOverridableAction$1(t9);
        t11 = A._setArrayType([], t1);
        t15 = _this._framework$_element;
        t15.toString;
        t15 = new A.CallbackAction(_this.get$_expandSelectionToDocumentBoundary(), new A.ObserverList(t11, t3), type$.CallbackAction_ExpandSelectionToDocumentBoundaryIntent)._makeOverridableAction$1(t15);
        t11 = _this.get$_adjacentLineAction();
        t16 = _this._framework$_element;
        t16.toString;
        t16 = t11._makeOverridableAction$1(t16);
        t11 = A._setArrayType([], t1);
        t17 = _this._framework$_element;
        t17.toString;
        t17 = new A._UpdateTextSelectionAction(_this, true, _this.get$_documentBoundary(), new A.ObserverList(t11, t3), type$._UpdateTextSelectionAction_ExtendSelectionToDocumentBoundaryIntent)._makeOverridableAction$1(t17);
        t11 = A._setArrayType([], t1);
        t18 = _this._framework$_element;
        t18.toString;
        t18 = new A._ExtendSelectionOrCaretPositionAction(_this, t7, new A.ObserverList(t11, t3))._makeOverridableAction$1(t18);
        t11 = A._setArrayType([], t1);
        t7 = _this._framework$_element;
        t7.toString;
        t7 = new A.CallbackAction(_this.get$_scrollToDocumentBoundary(), new A.ObserverList(t11, t3), type$.CallbackAction_ScrollToDocumentBoundaryIntent)._makeOverridableAction$1(t7);
        t11 = A._setArrayType([], t1);
        t19 = _this._framework$_element;
        t19.toString;
        t19 = new A._SelectAllAction(_this, new A.ObserverList(t11, t3))._makeOverridableAction$1(t19);
        t11 = A._setArrayType([], t1);
        t20 = _this._framework$_element;
        t20.toString;
        t20 = new A._CopySelectionAction(_this, new A.ObserverList(t11, t3))._makeOverridableAction$1(t20);
        t11 = A._setArrayType([], t1);
        t21 = _this._framework$_element;
        t21.toString;
        t21 = new A.CallbackAction(new A.EditableTextState__actions_closure(_this), new A.ObserverList(t11, t3), type$.CallbackAction_PasteTextIntent)._makeOverridableAction$1(t21);
        value1 = _this.__EditableTextState__transposeCharactersAction;
        if (value1 === $) {
          t1 = A._setArrayType([], t1);
          if (_this.__EditableTextState__transposeCharactersAction !== $)
            A.throwUnnamedLateFieldADI();
          value1 = _this.__EditableTextState__transposeCharactersAction = new A.CallbackAction(_this.get$_transposeCharacters(), new A.ObserverList(t1, t3), type$.CallbackAction_TransposeCharactersIntent);
        }
        t1 = _this._framework$_element;
        t1.toString;
        result = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_muk, new A.DoNothingAction(false, new A.ObserverList(t2, t3)), B.Type_ReplaceTextIntent_S40, value, B.Type_UpdateSelectionIntent_RH1, value0, B.Type_DirectionalFocusIntent_evN, new A.DirectionalFocusAction(true, new A.ObserverList(t4, t3)), B.Type_DismissIntent_Fb0, new A.CallbackAction(_this.get$_hideToolbarIfVisible(), new A.ObserverList(t5, t3), type$.CallbackAction_DismissIntent), B.Type_DeleteCharacterIntent_NYh, t8, B.Type_wu8, t10, B.Type_DeleteToLineBreakIntent_MEg, t12, B.Type_3dk, t13, B.Type_0Jp, t6, B.Type_23B, t14, B.Type_oyU, t9, B.Type_kr3, t15, B.Type_ejq, t16, B.Type_0Jp0, t17, B.Type_mya, t18, B.Type_46c, t7, B.Type_SelectAllTextIntent_5TD, t19, B.Type_CopySelectionTextIntent_T5o, t20, B.Type_PasteTextIntent_i6t, t21, B.Type_TransposeCharactersIntent_a66, value1._makeOverridableAction$1(t1)], type$.Type, type$.Action_Intent);
        if (_this.__EditableTextState__actions !== $)
          A.throwUnnamedLateFieldADI();
        _this.__EditableTextState__actions = result;
        value = result;
      }
      return value;
    },
    build$1(context) {
      var t1, controls, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null;
      _this.super$AutomaticKeepAliveClientMixin$build(context);
      t1 = _this._widget;
      controls = t1.selectionControls;
      t1 = t1.mouseCursor;
      if (t1 == null)
        t1 = B.SystemMouseCursor_text;
      t2 = _this.get$_editable_text$_actions();
      t3 = _this._widget;
      t4 = t3.controller;
      t5 = t3.focusNode;
      t3 = t3.maxLines !== 1 ? B.AxisDirection_2 : B.AxisDirection_1;
      t6 = _this.get$_scrollController();
      t7 = _this._widget;
      t8 = t7.scrollPhysics;
      t9 = t7.dragStartBehavior;
      t7 = t7.restorationId;
      t10 = A.ScrollConfiguration_of(context).copyWith$2$overscroll$scrollbars(false, _this._widget.maxLines !== 1);
      return A.MouseRegion$(A.Actions$(t2, new A._TextEditingHistory(A.Focus$(false, _null, A.Scrollable$(t3, t6, t9, true, t8, t7, t10, _null, new A.EditableTextState_build_closure(_this, controls)), "EditableText", _null, _null, t5, false, _null, _null, _null, _null, _null), t4, new A.EditableTextState_build_closure0(_this), _null)), t1, _null, _null, _null, _null);
    },
    buildTextSpan$0() {
      var t2, placeholders, placeholderLocation, t3, _this = this, _null = null,
        t1 = _this._widget;
      t1.toString;
      t2 = _this._placeholderLocation;
      if (t2 >= 0 && t2 <= t1.controller._change_notifier$_value.text.length) {
        placeholders = A._setArrayType([], type$.JSArray__ScribblePlaceholder);
        t1 = _this._widget;
        placeholderLocation = t1.controller._change_notifier$_value.text.length - _this._placeholderLocation;
        if (t1.maxLines !== 1) {
          placeholders.push(B._ScribblePlaceholder_IBZ);
          t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this._editableKey).get$renderObject();
          t1.toString;
          placeholders.push(new A._ScribblePlaceholder(new A.Size(type$.RenderEditable._as(t1)._box$_size._dx, 0), B.SizedBox_null_null_null_null, B.PlaceholderAlignment_4, _null, _null));
        } else
          placeholders.push(B._ScribblePlaceholder_IBZ0);
        t1 = _this._widget;
        t2 = t1.style;
        t1 = A._setArrayType([A.TextSpan$(_null, _null, _null, _null, B.JSString_methods.substring$2(t1.controller._change_notifier$_value.text, 0, placeholderLocation))], type$.JSArray_InlineSpan);
        B.JSArray_methods.addAll$1(t1, placeholders);
        t1.push(A.TextSpan$(_null, _null, _null, _null, B.JSString_methods.substring$1(_this._widget.controller._change_notifier$_value.text, placeholderLocation)));
        return A.TextSpan$(t1, _null, _null, t2, _null);
      }
      t2 = _this._framework$_element;
      t2.toString;
      t3 = !t1.readOnly && t1.focusNode.get$hasFocus();
      return t1.controller.buildTextSpan$3$context$style$withComposing(t2, t1.style, t3);
    }
  };
  A.EditableTextState_cutSelection_closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      if (t1._framework$_element != null)
        t1.bringIntoView$1(t1._widget.controller._change_notifier$_value.selection.get$extent());
    },
    $signature: 3
  };
  A.EditableTextState_pasteText_closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      if (t1._framework$_element != null)
        t1.bringIntoView$1(t1._widget.controller._change_notifier$_value.selection.get$extent());
    },
    $signature: 3
  };
  A.EditableTextState_didChangeDependencies_closure.prototype = {
    call$1(_) {
      var t2,
        t1 = this.$this;
      if (t1._framework$_element != null) {
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t2.toString;
        t2 = type$.RenderEditable._as(t2)._box$_size != null;
      } else
        t2 = false;
      if (t2) {
        t2 = t1._framework$_element;
        t2.toString;
        A.FocusScope_of(t2).autofocus$1(0, t1._widget.focusNode);
      }
    },
    $signature: 3
  };
  A.EditableTextState__scheduleShowCaretOnScreen_closure.prototype = {
    call$1(_) {
      var t2, t3, t4, lineHeight, bottomSpacing, handleHeight, interactiveHandleHeight, caretPadding, targetOffset, t5,
        t1 = this.$this;
      t1._showCaretOnScreenScheduled = false;
      if (t1._currentCaretRect == null || t1.get$_scrollController()._positions.length === 0)
        return;
      t2 = t1._editableKey;
      t3 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
      t3.toString;
      t4 = type$.RenderEditable;
      lineHeight = t4._as(t3)._textPainter.get$preferredLineHeight();
      bottomSpacing = t1._widget.scrollPadding.bottom;
      t3 = t1._selectionOverlay;
      if ((t3 == null ? null : t3.selectionControls) != null) {
        handleHeight = t3.selectionControls.getHandleSize$1(lineHeight)._dy;
        interactiveHandleHeight = Math.max(handleHeight, 48);
        bottomSpacing = Math.max(handleHeight / 2 - t1._selectionOverlay.selectionControls.getHandleAnchor$2(B.TextSelectionHandleType_2, lineHeight)._dy + interactiveHandleHeight / 2, bottomSpacing);
      }
      caretPadding = t1._widget.scrollPadding.copyWith$1$bottom(bottomSpacing);
      t3 = t1._currentCaretRect;
      t3.toString;
      targetOffset = t1._getOffsetToRevealCaret$1(t3);
      t3 = targetOffset.offset;
      t5 = targetOffset.rect;
      if (this.withAnimation) {
        t1.get$_scrollController().animateTo$3$curve$duration(t3, B.Cubic_ifx, B.Duration_100000);
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
        t1.toString;
        t4._as(t1).showOnScreen$3$curve$duration$rect(B.Cubic_ifx, B.Duration_100000, caretPadding.inflateRect$1(t5));
      } else {
        t1.get$_scrollController().jumpTo$1(t3);
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2).get$renderObject();
        t1.toString;
        t4._as(t1).showOnScreen$1$rect(caretPadding.inflateRect$1(t5));
      }
    },
    $signature: 3
  };
  A.EditableTextState_didChangeMetrics_closure.prototype = {
    call$1(_) {
      var t1 = this.$this._selectionOverlay;
      if (t1 != null)
        t1._updateSelectionOverlay$0();
    },
    $signature: 3
  };
  A.EditableTextState__formatAndSetValue_closure.prototype = {
    call$2(newValue, formatter) {
      return formatter.formatEditUpdate$2(this.$this._widget.controller._change_notifier$_value, newValue);
    },
    $signature: 898
  };
  A.EditableTextState__cursorTick_closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      $.WidgetsBinding__instance.toString;
      $.$get$EnginePlatformDispatcher__instance();
      t2 = t1._obscureShowCharTicksPending;
      t1._obscureShowCharTicksPending = t2 - 1;
    },
    $signature: 0
  };
  A.EditableTextState__didChangeTextEditingValue_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.EditableTextState__handleFocusChanged_closure.prototype = {
    call$0() {
      this.$this._currentPromptRectRange = null;
    },
    $signature: 0
  };
  A.EditableTextState__updateSelectionRects_closure.prototype = {
    call$1(i) {
      var t2, t3, offset, t4, t5, boxes,
        t1 = this._box_0;
      if (t1.belowRenderEditableBottom)
        return null;
      t2 = this.$this;
      t3 = t2._cachedText;
      offset = (t3.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(t3)).getRange$2(0, 0, i).string.length;
      t3 = t2._editableKey;
      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t3).get$renderObject();
      t4.toString;
      t5 = type$.RenderEditable;
      t5._as(t4);
      t2 = t2._cachedText;
      boxes = t4.getBoxesForSelection$1(A.TextSelection$(B.TextAffinity_1, offset, offset + (t2.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(t2)).characterAt$1(i).string.length, false));
      if (boxes.length === 0)
        return null;
      t2 = B.JSArray_methods.get$first(boxes);
      t3 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t3).get$renderObject();
      t3.toString;
      if (0 + t5._as(t3)._box$_size._dy < t2.top) {
        t1.belowRenderEditableBottom = true;
        return null;
      }
      return new A.SelectionRect(offset, t2);
    },
    $signature: 899
  };
  A.EditableTextState__updateSelectionRects_closure0.prototype = {
    call$1(selectionRect) {
      var t1, t2, t3, t4;
      if (selectionRect == null)
        return false;
      t1 = this.$this._editableKey;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      t2 = t3._as(t2)._box$_size._dx;
      t4 = selectionRect.bounds;
      if (!(0 + t2 < t4.left)) {
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t2.toString;
        t3._as(t2)._box$_size.toString;
        t2 = t4.right < 0;
      } else
        t2 = true;
      if (t2)
        return false;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
      t2.toString;
      if (!(0 + t3._as(t2)._box$_size._dy < t4.top)) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        t3._as(t1)._box$_size.toString;
        t4 = t4.bottom < 0;
        t1 = t4;
      } else
        t1 = true;
      if (t1)
        return false;
      return true;
    },
    $signature: 900
  };
  A.EditableTextState__updateSelectionRects_closure1.prototype = {
    call$1(selectionRect) {
      selectionRect.toString;
      return selectionRect;
    },
    $signature: 901
  };
  A.EditableTextState__updateSizeAndTransform_closure.prototype = {
    call$1(_) {
      return this.$this._updateSizeAndTransform$0();
    },
    $signature: 3
  };
  A.EditableTextState__updateComposingRectIfNeeded_closure.prototype = {
    call$1(_) {
      return this.$this._updateComposingRectIfNeeded$0();
    },
    $signature: 3
  };
  A.EditableTextState__updateCaretRectIfNeeded_closure.prototype = {
    call$1(_) {
      return this.$this._updateCaretRectIfNeeded$0();
    },
    $signature: 3
  };
  A.EditableTextState_insertTextPlaceholder_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.controller._change_notifier$_value;
      t1._placeholderLocation = t2.text.length - t2.selection.end;
    },
    $signature: 0
  };
  A.EditableTextState_removeTextPlaceholder_closure.prototype = {
    call$0() {
      this.$this._placeholderLocation = -1;
    },
    $signature: 0
  };
  A.EditableTextState_showAutocorrectionPromptRect_closure.prototype = {
    call$0() {
      this.$this._currentPromptRectRange = new A.TextRange(this.start, this.end);
    },
    $signature: 0
  };
  A.EditableTextState__semanticsOnCopy_closure.prototype = {
    call$0() {
      this.controls.toString;
      this.$this.copySelection$1(B.SelectionChangedCause_5);
      return null;
    },
    $signature: 0
  };
  A.EditableTextState__semanticsOnCut_closure.prototype = {
    call$0() {
      this.controls.toString;
      this.$this.cutSelection$1(B.SelectionChangedCause_5);
      return null;
    },
    $signature: 0
  };
  A.EditableTextState__semanticsOnPaste_closure.prototype = {
    call$0() {
      return this.controls.handlePaste$1(this.$this);
    },
    $signature: 0
  };
  A.EditableTextState__actions_closure.prototype = {
    call$1(intent) {
      return this.$this.pasteText$1(B.SelectionChangedCause_4);
    },
    $signature: 902
  };
  A.EditableTextState_build_closure0.prototype = {
    call$1(value) {
      this.$this.userUpdateTextEditingValue$2(value, B.SelectionChangedCause_4);
    },
    $signature: 903
  };
  A.EditableTextState_build_closure.prototype = {
    call$2(context, offset) {
      var 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, _null = null,
        t1 = this.$this,
        t2 = this.controls,
        t3 = t1._semanticsOnCopy$1(t2),
        t4 = t1._semanticsOnCut$1(t2);
      t2 = t1._semanticsOnPaste$1(t2);
      t5 = t1._widget.focusNode;
      t6 = t1._editableKey;
      t7 = t1.buildTextSpan$0();
      t8 = t1._widget;
      t9 = t8.controller._change_notifier$_value;
      t8 = t8.cursorColor;
      t10 = t1._cursorBlinkOpacityController.__AnimationController__value;
      if (t10 === $)
        A.throwUnnamedLateFieldNI();
      t8 = A.Color$fromARGB(B.JSNumber_methods.round$0(255 * t10), t8.get$value(t8) >>> 16 & 255, t8.get$value(t8) >>> 8 & 255, t8.get$value(t8) & 255);
      t10 = t1._widget;
      t11 = t10.backgroundCursorColor;
      t12 = t10.forceLine;
      t13 = t10.readOnly;
      t10 = t10.focusNode.get$hasFocus();
      t14 = t1._widget;
      t15 = t14.maxLines;
      t16 = t14.minLines;
      t14 = t14.get$strutStyle();
      t17 = t1._widget;
      t18 = t17.selectionColor;
      t17 = t17.textScaleFactor;
      if (t17 == null)
        t17 = A.MediaQuery_textScaleFactorOf(context);
      t19 = t1._widget.textAlign;
      t20 = t1.get$_editable_text$_textDirection();
      t1._widget.toString;
      t21 = A.DefaultTextHeightBehavior_of(context);
      t22 = t1._widget;
      t23 = t22.textWidthBasis;
      t24 = t22.obscuringCharacter;
      t25 = t22.cursorWidth;
      t26 = t22.cursorHeight;
      t27 = t22.cursorRadius;
      t28 = t22.cursorOffset;
      if (t28 == null)
        t28 = B.Offset_0_0;
      t29 = t22.selectionHeightStyle;
      t30 = t22.selectionWidthStyle;
      t31 = t22.paintCursorAboveText;
      if (t22.enableInteractiveSelection)
        t22 = true;
      else
        t22 = false;
      t32 = t1._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      t33 = t1._currentPromptRectRange;
      t34 = t1._widget;
      t35 = t34.autocorrectionTextRectColor;
      t34 = t34.clipBehavior;
      t36 = A._Editable__extractChildren(t7);
      return new A.CompositedTransformTarget(t1._toolbarLayerLink, new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3, t4, _null, _null, _null, _null, _null, _null, _null, _null, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, new A._ScribbleFocusable(new A._Editable(t7, t9, t8, t1._startHandleLayerLink, t1._endHandleLayerLink, t11, t1._cursorVisibilityNotifier, t12, t13, t10, t15, t16, false, t14, t18, t17, t19, t20, _null, t24, false, t21, t23, offset, t1.get$_handleCaretChanged(), true, t25, t26, t27, t28, t31, t29, t30, t22, t1, t32.devicePixelRatio, t33, t35, t34, t36, t6), t5, t6, new A.EditableTextState_build__closure(t1), true, _null), _null), _null);
    },
    $signature: 904
  };
  A.EditableTextState_build__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._openInputConnection$0();
      t1._updateSelectionRects$1$force(true);
    },
    $signature: 0
  };
  A._Editable.prototype = {
    createRenderObject$1(context) {
      var _this = this, _null = null,
        t1 = _this.inlineSpan,
        t2 = A.Localizations_maybeLocaleOf(context),
        t3 = _this.value.selection,
        t4 = A._TextHighlightPainter$(),
        t5 = A._TextHighlightPainter$(),
        t6 = $.$get$ChangeNotifier__emptyListeners(),
        t7 = type$.ValueNotifier_bool,
        t8 = A.LayerHandle$(type$.ClipRectLayer);
      t2 = A.TextPainter$(_null, t2, _null, _this.strutStyle, t1, _this.textAlign, _this.textDirection, _this.textHeightBehavior, _this.textScaleFactor, _this.textWidthBasis);
      t2 = new A.RenderEditable(t4, t5, _this.onCaretChanged, true, _this.devicePixelRatio, _this.obscuringCharacter, false, _this.textSelectionDelegate, new A.ValueNotifier(true, t6, t7), new A.ValueNotifier(true, t6, t7), t2, _this.showCursor, _this.hasFocus, _this.forceLine, _this.readOnly, _this.maxLines, _this.minLines, false, t3, _this.offset, _this.cursorWidth, _this.cursorHeight, _this.paintCursorAboveText, _this.startHandleLayerLink, _this.endHandleLayerLink, _this.enableInteractiveSelection, _this.clipBehavior, B.Offset_0_0, t8, 0, _null, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t2.RenderObject$0();
      t4.set$highlightColor(_this.selectionColor);
      t4.set$highlightedRange(t3);
      t4.set$selectionHeightStyle(_this.selectionHeightStyle);
      t4.set$selectionWidthStyle(_this.selectionWidthStyle);
      t5.set$highlightColor(_this.promptRectColor);
      t5.set$highlightedRange(_this.promptRectRange);
      t2.get$_caretPainter().set$caretColor(_this.cursorColor);
      t2.get$_caretPainter().set$cursorRadius(_this.cursorRadius);
      t2.get$_caretPainter().set$cursorOffset(_this.cursorOffset);
      t2.get$_caretPainter().set$backgroundCursorColor(_this.backgroundCursorColor);
      t2._updateForegroundPainter$1(_null);
      t2._updatePainter$1(_null);
      t2.addAll$1(0, _null);
      t2._editable$_extractPlaceholderSpans$1(t1);
      return t2;
    },
    updateRenderObject$2(context, renderObject) {
      var t1, t2, _this = this;
      renderObject.set$text(0, _this.inlineSpan);
      renderObject.get$_caretPainter().set$caretColor(_this.cursorColor);
      renderObject.set$startHandleLayerLink(_this.startHandleLayerLink);
      renderObject.set$endHandleLayerLink(_this.endHandleLayerLink);
      renderObject.set$showCursor(_this.showCursor);
      renderObject.set$forceLine(_this.forceLine);
      renderObject.set$readOnly(0, _this.readOnly);
      renderObject.set$hasFocus(_this.hasFocus);
      renderObject.set$maxLines(_this.maxLines);
      renderObject.set$minLines(_this.minLines);
      renderObject.set$expands(false);
      renderObject.set$strutStyle(_this.strutStyle);
      t1 = renderObject._selectionPainter;
      t1.set$highlightColor(_this.selectionColor);
      renderObject.set$textScaleFactor(_this.textScaleFactor);
      renderObject.set$textAlign(0, _this.textAlign);
      renderObject.set$textDirection(_this.textDirection);
      t2 = A.Localizations_maybeLocaleOf(context);
      renderObject.set$locale(0, t2);
      renderObject.set$selection(_this.value.selection);
      renderObject.set$offset(0, _this.offset);
      renderObject.onCaretChanged = _this.onCaretChanged;
      renderObject.ignorePointer = true;
      renderObject.set$textHeightBehavior(_this.textHeightBehavior);
      renderObject.set$textWidthBasis(_this.textWidthBasis);
      renderObject.set$obscuringCharacter(_this.obscuringCharacter);
      renderObject.set$obscureText(false);
      renderObject.set$cursorWidth(_this.cursorWidth);
      renderObject.set$cursorHeight(_this.cursorHeight);
      renderObject.get$_caretPainter().set$cursorRadius(_this.cursorRadius);
      renderObject.get$_caretPainter().set$cursorOffset(_this.cursorOffset);
      t1.set$selectionHeightStyle(_this.selectionHeightStyle);
      t1.set$selectionWidthStyle(_this.selectionWidthStyle);
      renderObject.set$enableInteractiveSelection(_this.enableInteractiveSelection);
      renderObject.textSelectionDelegate = _this.textSelectionDelegate;
      renderObject.set$devicePixelRatio(0, _this.devicePixelRatio);
      renderObject.set$paintCursorAboveText(_this.paintCursorAboveText);
      t1 = renderObject._autocorrectHighlightPainter;
      t1.set$highlightColor(_this.promptRectColor);
      t2 = _this.clipBehavior;
      if (t2 !== renderObject._editable$_clipBehavior) {
        renderObject._editable$_clipBehavior = t2;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
      t1.set$highlightedRange(_this.promptRectRange);
    }
  };
  A._Editable__extractChildren_closure.prototype = {
    call$1(span) {
      if (span instanceof A.WidgetSpan)
        this.result.push(span.child);
      return true;
    },
    $signature: 65
  };
  A._ScribbleFocusable.prototype = {
    createState$0() {
      var t1 = $._ScribbleFocusableState__nextElementIdentifier;
      $._ScribbleFocusableState__nextElementIdentifier = t1 + 1;
      return new A._ScribbleFocusableState(B.JSInt_methods.toString$0(t1), B._StateLifecycle_0);
    },
    updateSelectionRects$0() {
      return this.updateSelectionRects.call$0();
    }
  };
  A._ScribbleFocusableState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this._widget.toString;
      $.$get$TextInput__instance()._scribbleClients.$indexSet(0, _this._elementIdentifier, _this);
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._widget.toString;
    },
    dispose$0() {
      $.$get$TextInput__instance()._scribbleClients.remove$1(0, this._elementIdentifier);
      this.super$State$dispose();
    },
    get$renderEditable() {
      var t1 = this._widget.editableKey;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1);
      t1 = t1 == null ? null : t1.get$renderObject();
      return type$.nullable_RenderEditable._as(t1);
    },
    isInScribbleRect$1(rect) {
      var intersection, result, t2, t3, _this = this,
        calculatedBounds = _this.get$bounds(_this),
        t1 = _this.get$renderEditable();
      t1 = t1 == null ? null : t1._readOnly;
      if (t1 === true)
        return false;
      if (calculatedBounds.$eq(0, B.Rect_0_0_0_0))
        return false;
      if (!calculatedBounds.overlaps$1(rect))
        return false;
      intersection = calculatedBounds.intersect$1(rect);
      result = A.HitTestResult$();
      t1 = $.WidgetsBinding__instance;
      t1.toString;
      t2 = intersection.get$center();
      t3 = t1.RendererBinding___RendererBinding__pipelineOwner;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3._rootNode.hitTest$2$position(result, t2);
      t1.super$GestureBinding$hitTest(result, t2);
      return B.JSArray_methods.any$1(result._path, new A._ScribbleFocusableState_isInScribbleRect_closure(_this));
    },
    get$bounds(_) {
      var transform, t1,
        box = type$.nullable_RenderBox._as(this._framework$_element.get$renderObject());
      if (box == null || this._framework$_element == null || box._owner == null)
        return B.Rect_0_0_0_0;
      transform = box.getTransformTo$1(0, null);
      t1 = box._box$_size;
      return A.MatrixUtils_transformRect(transform, new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy));
    },
    build$1(context) {
      return this._widget.child;
    },
    $isScribbleClient: 1
  };
  A._ScribbleFocusableState_isInScribbleRect_closure.prototype = {
    call$1(entry) {
      return entry.target.$eq(0, this.$this.get$renderEditable());
    },
    $signature: 905
  };
  A._ScribblePlaceholder.prototype = {
    build$3$dimensions$textScaleFactor(builder, dimensions, textScaleFactor) {
      var t1 = this.style,
        hasStyle = t1 != null;
      if (hasStyle)
        builder.pushStyle$1(t1.getTextStyle$1$textScaleFactor(textScaleFactor));
      t1 = this.size;
      builder.addPlaceholder$4$scale(t1._dx, t1._dy, this.alignment, textScaleFactor);
      if (hasStyle)
        builder.pop$0();
    }
  };
  A._TextBoundary.prototype = {
    getTextBoundaryAt$1(position) {
      return new A.TextRange(this.getLeadingTextBoundaryAt$1(position).offset, this.getTrailingTextBoundaryAt$1(position).offset);
    }
  };
  A._WhitespaceBoundary.prototype = {
    getLeadingTextBoundaryAt$1(position) {
      var index, t1;
      for (index = position.offset, t1 = this.textEditingValue.text; index >= 0; --index)
        if (!A.TextLayoutMetrics_isWhitespace(B.JSString_methods.codeUnitAt$1(t1, index)))
          return new A.TextPosition(index, B.TextAffinity_1);
      return B.TextPosition_0_TextAffinity_1;
    },
    getTrailingTextBoundaryAt$1(position) {
      var index, t1, t2;
      for (index = position.offset, t1 = this.textEditingValue.text, t2 = t1.length; index < t2; ++index)
        if (!A.TextLayoutMetrics_isWhitespace(B.JSString_methods.codeUnitAt$1(t1, index)))
          return new A.TextPosition(index + 1, B.TextAffinity_1);
      return new A.TextPosition(t2, B.TextAffinity_1);
    },
    get$textEditingValue() {
      return this.textEditingValue;
    }
  };
  A._CharacterBoundary.prototype = {
    getLeadingTextBoundaryAt$1(position) {
      var t1 = position.offset,
        t2 = this.textEditingValue.text;
      return new A.TextPosition(A.StringCharacterRange_StringCharacterRange$at(t2, t1, Math.min(t1 + 1, t2.length))._characters_impl$_start, B.TextAffinity_1);
    },
    getTrailingTextBoundaryAt$1(position) {
      var t1 = position.offset,
        t2 = this.textEditingValue.text,
        t3 = t2.length,
        range = A.StringCharacterRange_StringCharacterRange$at(t2, t1, Math.min(t1 + 1, t3));
      return new A.TextPosition(t3 - (range._characters_impl$_string.length - range._characters_impl$_end), B.TextAffinity_1);
    },
    getTextBoundaryAt$1(position) {
      var t1 = position.offset,
        t2 = this.textEditingValue.text,
        t3 = t2.length,
        range = A.StringCharacterRange_StringCharacterRange$at(t2, t1, Math.min(t1 + 1, t3));
      return new A.TextRange(range._characters_impl$_start, t3 - (range._characters_impl$_string.length - range._characters_impl$_end));
    },
    get$textEditingValue() {
      return this.textEditingValue;
    }
  };
  A._WordBoundary.prototype = {
    getLeadingTextBoundaryAt$1(position) {
      return new A.TextPosition(this.textLayout._textPainter._paragraph.getWordBoundary$1(position).start, B.TextAffinity_1);
    },
    getTrailingTextBoundaryAt$1(position) {
      return new A.TextPosition(this.textLayout._textPainter._paragraph.getWordBoundary$1(position).end, B.TextAffinity_1);
    },
    get$textEditingValue() {
      return this.textEditingValue;
    }
  };
  A._LineBreak.prototype = {
    getLeadingTextBoundaryAt$1(position) {
      return new A.TextPosition(this.textLayout.getLineAtOffset$1(position).start, B.TextAffinity_1);
    },
    getTrailingTextBoundaryAt$1(position) {
      return new A.TextPosition(this.textLayout.getLineAtOffset$1(position).end, B.TextAffinity_0);
    },
    get$textEditingValue() {
      return this.textEditingValue;
    }
  };
  A._DocumentBoundary.prototype = {
    getLeadingTextBoundaryAt$1(position) {
      return B.TextPosition_0_TextAffinity_1;
    },
    getTrailingTextBoundaryAt$1(position) {
      return new A.TextPosition(this.textEditingValue.text.length, B.TextAffinity_0);
    },
    get$textEditingValue() {
      return this.textEditingValue;
    }
  };
  A._ExpandedTextBoundary.prototype = {
    get$textEditingValue() {
      return this.innerTextBoundary.textEditingValue;
    },
    getLeadingTextBoundaryAt$1(position) {
      var t1 = this.innerTextBoundary.getLeadingTextBoundaryAt$1(position);
      return new A.TextPosition(this.outerTextBoundary.textLayout._textPainter._paragraph.getWordBoundary$1(t1).start, B.TextAffinity_1);
    },
    getTrailingTextBoundaryAt$1(position) {
      var t1 = this.innerTextBoundary.getTrailingTextBoundaryAt$1(position);
      return new A.TextPosition(this.outerTextBoundary.textLayout._textPainter._paragraph.getWordBoundary$1(t1).end, B.TextAffinity_1);
    }
  };
  A._CollapsedSelectionBoundary.prototype = {
    get$textEditingValue() {
      return this.innerTextBoundary.get$textEditingValue();
    },
    getLeadingTextBoundaryAt$1(position) {
      var t1;
      if (this.isForward)
        t1 = this.innerTextBoundary.getLeadingTextBoundaryAt$1(position);
      else {
        t1 = position.offset;
        t1 = t1 <= 0 ? B.TextPosition_0_TextAffinity_1 : this.innerTextBoundary.getLeadingTextBoundaryAt$1(new A.TextPosition(t1 - 1, B.TextAffinity_1));
      }
      return t1;
    },
    getTrailingTextBoundaryAt$1(position) {
      var t1;
      if (this.isForward)
        t1 = this.innerTextBoundary.getTrailingTextBoundaryAt$1(position);
      else {
        t1 = position.offset;
        t1 = t1 <= 0 ? B.TextPosition_0_TextAffinity_1 : this.innerTextBoundary.getTrailingTextBoundaryAt$1(new A.TextPosition(t1 - 1, B.TextAffinity_1));
      }
      return t1;
    }
  };
  A._MixedBoundary.prototype = {
    get$textEditingValue() {
      return this.leadingTextBoundary.get$textEditingValue();
    },
    getLeadingTextBoundaryAt$1(position) {
      return this.leadingTextBoundary.getLeadingTextBoundaryAt$1(position);
    },
    getTrailingTextBoundaryAt$1(position) {
      return this.trailingTextBoundary.getTrailingTextBoundaryAt$1(position);
    }
  };
  A._DeleteTextAction.prototype = {
    _expandNonCollapsedRange$1(value) {
      var atomicBoundary,
        selection = value.selection;
      this.state._widget.toString;
      atomicBoundary = new A._CharacterBoundary(value);
      return new A.TextRange(atomicBoundary.getLeadingTextBoundaryAt$1(new A.TextPosition(selection.start, B.TextAffinity_1)).offset, atomicBoundary.getTrailingTextBoundaryAt$1(new A.TextPosition(selection.end - 1, B.TextAffinity_1)).offset);
    },
    invoke$2(intent, context) {
      var textBoundary, _this = this,
        t1 = _this.state,
        t2 = t1._widget.controller._change_notifier$_value,
        selection = t2.selection;
      if (selection.start !== selection.end) {
        context.toString;
        return A.Actions_invoke(context, new A.ReplaceTextIntent(t2, "", _this._expandNonCollapsedRange$1(t2), B.SelectionChangedCause_4), type$.ReplaceTextIntent);
      }
      textBoundary = _this.getTextBoundariesForIntent.call$1(intent);
      if (!textBoundary.get$textEditingValue().selection.get$isValid())
        return null;
      t2 = textBoundary.get$textEditingValue().selection;
      if (t2.start !== t2.end) {
        context.toString;
        return A.Actions_invoke(context, new A.ReplaceTextIntent(t1._widget.controller._change_notifier$_value, "", _this._expandNonCollapsedRange$1(textBoundary.get$textEditingValue()), B.SelectionChangedCause_4), type$.ReplaceTextIntent);
      }
      context.toString;
      return A.Actions_invoke(context, new A.ReplaceTextIntent(textBoundary.get$textEditingValue(), "", textBoundary.getTextBoundaryAt$1(textBoundary.get$textEditingValue().selection.get$base()), B.SelectionChangedCause_4), type$.ReplaceTextIntent);
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      var t1 = this.state._widget;
      return !t1.readOnly && t1.controller._change_notifier$_value.selection.get$isValid();
    }
  };
  A._UpdateTextSelectionAction.prototype = {
    invoke$2(intent, context) {
      var t4, textBoundary, textBoundarySelection, extent, t5, newExtent, newSelection, _this = this,
        t1 = _this.state,
        t2 = t1._widget,
        t3 = t2.controller._change_notifier$_value,
        selection = t3.selection,
        collapseSelection = intent.collapseSelection || !t2.enableInteractiveSelection;
      t2 = new A._UpdateTextSelectionAction_invoke_collapse(intent);
      t4 = selection.start !== selection.end;
      if (t4 && !_this.ignoreNonCollapsedSelection && collapseSelection) {
        context.toString;
        return A.Actions_invoke(context, new A.UpdateSelectionIntent(t3, t2.call$1(selection), B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
      }
      textBoundary = _this.getTextBoundariesForIntent.call$1(intent);
      textBoundarySelection = textBoundary.get$textEditingValue().selection;
      if (!textBoundarySelection.get$isValid())
        return null;
      if (textBoundarySelection.start !== textBoundarySelection.end && !_this.ignoreNonCollapsedSelection && collapseSelection) {
        context.toString;
        return A.Actions_invoke(context, new A.UpdateSelectionIntent(t1._widget.controller._change_notifier$_value, t2.call$1(textBoundarySelection), B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
      }
      extent = textBoundarySelection.get$extent();
      if (intent.continuesAtWrap) {
        t2 = intent.forward;
        if (t2) {
          t3 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
          t3.toString;
          t3 = type$.RenderEditable._as(t3).getLineAtOffset$1(extent).end;
          if (new A.TextPosition(t3, B.TextAffinity_0).$eq(0, extent)) {
            t5 = t1._widget.controller._change_notifier$_value.text;
            t3 = t3 !== t5.length && B.JSString_methods.codeUnitAt$1(t5, extent.offset) !== 10;
          } else
            t3 = false;
        } else
          t3 = false;
        if (t3)
          extent = new A.TextPosition(extent.offset, B.TextAffinity_1);
        else {
          if (!t2) {
            t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t2.toString;
            t2 = type$.RenderEditable._as(t2).getLineAtOffset$1(extent).start;
            t2 = new A.TextPosition(t2, B.TextAffinity_1).$eq(0, extent) && t2 !== 0 && B.JSString_methods.codeUnitAt$1(t1._widget.controller._change_notifier$_value.text, extent.offset - 1) !== 10;
          } else
            t2 = false;
          if (t2)
            extent = new A.TextPosition(extent.offset, B.TextAffinity_0);
        }
      }
      newExtent = intent.forward ? textBoundary.getTrailingTextBoundaryAt$1(extent) : textBoundary.getLeadingTextBoundaryAt$1(extent);
      newSelection = collapseSelection ? A.TextSelection$fromPosition(newExtent) : textBoundarySelection.extendTo$1(newExtent);
      if (t4 && intent.collapseAtReversal && selection.baseOffset < selection.extentOffset !== newSelection.baseOffset < newSelection.extentOffset) {
        context.toString;
        return A.Actions_invoke(context, new A.UpdateSelectionIntent(t1._widget.controller._change_notifier$_value, A.TextSelection$fromPosition(selection.get$base()), B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
      }
      context.toString;
      return A.Actions_invoke(context, new A.UpdateSelectionIntent(textBoundary.get$textEditingValue(), newSelection, B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      return this.state._widget.controller._change_notifier$_value.selection.get$isValid();
    }
  };
  A._UpdateTextSelectionAction_invoke_collapse.prototype = {
    call$1(selection) {
      var t1 = this.intent.forward,
        t2 = t1 ? selection.end : selection.start;
      return selection.copyWith$2$baseOffset$extentOffset(t2, t1 ? selection.end : selection.start);
    },
    $signature: 906
  };
  A._ExtendSelectionOrCaretPositionAction.prototype = {
    invoke$2(intent, context) {
      var textBoundary, textBoundarySelection, extent, newExtent, t1, t2, newSelection;
      this.state._widget.toString;
      textBoundary = this.getTextBoundariesForIntent.call$1(intent);
      textBoundarySelection = textBoundary.get$textEditingValue().selection;
      if (!textBoundarySelection.get$isValid())
        return null;
      extent = textBoundarySelection.get$extent();
      newExtent = intent.forward ? textBoundary.getTrailingTextBoundaryAt$1(extent) : textBoundary.getLeadingTextBoundaryAt$1(extent);
      t1 = textBoundarySelection.baseOffset;
      t2 = textBoundarySelection.extentOffset;
      if ((newExtent.offset - t1) * (t2 - t1) < 0)
        newSelection = textBoundarySelection.copyWith$2$affinity$extentOffset(t2 > t1 ? B.TextAffinity_1 : B.TextAffinity_0, t1);
      else
        newSelection = textBoundarySelection.extendTo$1(newExtent);
      context.toString;
      return A.Actions_invoke(context, new A.UpdateSelectionIntent(textBoundary.get$textEditingValue(), newSelection, B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      var t1 = this.state._widget;
      return t1.enableInteractiveSelection && t1.controller._change_notifier$_value.selection.get$isValid();
    }
  };
  A._UpdateTextSelectionToAdjacentLineAction.prototype = {
    stopCurrentVerticalRunIfSelectionChanges$0() {
      var t1, _this = this,
        runSelection = _this._runSelection;
      if (runSelection == null)
        return;
      t1 = _this._runSelection = _this.state._widget.controller._change_notifier$_value.selection;
      if (!(t1.get$isValid() && t1.start === t1.end && t1.baseOffset === runSelection.baseOffset && t1.extentOffset === runSelection.extentOffset))
        _this._runSelection = _this._verticalMovementRun = null;
    },
    invoke$2(intent, context) {
      var t3, currentRun, t4, t5, metrics, currentLine, newExtent, newSelection, _this = this,
        collapseSelection = intent.collapseSelection || !_this.state._widget.enableInteractiveSelection,
        t1 = _this.state,
        value = t1.get$_textEditingValueforTextLayoutMetrics(),
        t2 = value.selection;
      if (!t2.get$isValid())
        return;
      t3 = _this._verticalMovementRun;
      if ((t3 == null ? null : t3.get$isValid()) === false)
        _this._runSelection = _this._verticalMovementRun = null;
      currentRun = _this._verticalMovementRun;
      if (currentRun == null) {
        t3 = t1._editableKey;
        t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t3).get$renderObject();
        t4.toString;
        t5 = type$.RenderEditable;
        t5._as(t4);
        t3 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t3).get$renderObject();
        t3.toString;
        t3 = t5._as(t3)._selection.get$extent();
        metrics = t4._textPainter.computeLineMetrics$0();
        currentLine = t4._lineNumberFor$2(t3, metrics);
        currentRun = new A.VerticalCaretMovementRun(currentLine.value, currentLine.key, t3, metrics, t4, A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.MapEntry_Offset_TextPosition));
      }
      t3 = intent.forward;
      if (t3 ? currentRun.moveNext$0() : currentRun.movePrevious$0())
        newExtent = currentRun._currentTextPosition;
      else
        newExtent = t3 ? new A.TextPosition(t1._widget.controller._change_notifier$_value.text.length, B.TextAffinity_1) : B.TextPosition_0_TextAffinity_1;
      newSelection = collapseSelection ? A.TextSelection$fromPosition(newExtent) : t2.extendTo$1(newExtent);
      context.toString;
      A.Actions_invoke(context, new A.UpdateSelectionIntent(value, newSelection, B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
      if (t1._widget.controller._change_notifier$_value.selection.$eq(0, newSelection)) {
        _this._verticalMovementRun = currentRun;
        _this._runSelection = newSelection;
      }
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      return this.state._widget.controller._change_notifier$_value.selection.get$isValid();
    }
  };
  A._SelectAllAction.prototype = {
    invoke$2(intent, context) {
      var t1;
      context.toString;
      t1 = this.state._widget.controller._change_notifier$_value;
      return A.Actions_invoke(context, new A.UpdateSelectionIntent(t1, A.TextSelection$(B.TextAffinity_1, 0, t1.text.length, false), B.SelectionChangedCause_4), type$.UpdateSelectionIntent);
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      return this.state._widget.enableInteractiveSelection;
    }
  };
  A._CopySelectionAction.prototype = {
    invoke$2(intent, context) {
      var t1 = this.state;
      if (intent.collapseSelection)
        t1.cutSelection$1(B.SelectionChangedCause_4);
      else
        t1.copySelection$1(B.SelectionChangedCause_4);
    },
    invoke$1(intent) {
      return this.invoke$2(intent, null);
    },
    get$isActionEnabled() {
      var t1 = this.state;
      if (t1._widget.controller._change_notifier$_value.selection.get$isValid()) {
        t1 = t1._widget.controller._change_notifier$_value.selection;
        t1 = t1.start !== t1.end;
      } else
        t1 = false;
      return t1;
    }
  };
  A._TextEditingHistory.prototype = {
    createState$0() {
      return new A._TextEditingHistoryState(new A._UndoStack(A._setArrayType([], type$.JSArray_TextEditingValue), type$._UndoStack_TextEditingValue), B._StateLifecycle_0);
    },
    onTriggered$1(arg0) {
      return this.onTriggered.call$1(arg0);
    }
  };
  A._TextEditingHistoryState.prototype = {
    get$_throttledPush() {
      var t1 = this.___TextEditingHistoryState__throttledPush;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _undo$1(intent) {
      this._update$1(0, this._editable_text$_stack.undo$0());
    },
    _redo$1(intent) {
      this._update$1(0, this._editable_text$_stack.redo$0());
    },
    _update$1(_, nextValue) {
      var t1, t2, t3;
      if (nextValue == null)
        return;
      t1 = nextValue.text;
      t2 = this._widget;
      t3 = t2.controller._change_notifier$_value;
      if (t1 === t3.text)
        return;
      t2.onTriggered$1(t3.copyWith$2$selection$text(nextValue.selection, t1));
    },
    _push$0() {
      var _this = this;
      if (J.$eq$(_this._widget.controller._change_notifier$_value, B.TextEditingValue_li8))
        return;
      _this._throttleTimer = _this._throttledPush$1(_this._widget.controller._change_notifier$_value);
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = A._throttle(B.Duration_500000, _this._editable_text$_stack.get$push(), type$.TextEditingValue);
      if (_this.___TextEditingHistoryState__throttledPush !== $)
        A.throwUnnamedLateFieldAI();
      _this.___TextEditingHistoryState__throttledPush = t1;
      _this._push$0();
      _this._widget.controller.addListener$1(0, _this.get$_push());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.controller;
      if (_this._widget.controller !== t1) {
        t2 = _this._editable_text$_stack;
        B.JSArray_methods.clear$0(t2._editable_text$_list);
        t2.___UndoStack__index = -1;
        t2 = _this.get$_push();
        t1.removeListener$1(0, t2);
        _this._widget.controller.addListener$1(0, t2);
      }
    },
    dispose$0() {
      var t1, _this = this;
      _this._widget.controller.removeListener$1(0, _this.get$_push());
      t1 = _this._throttleTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this.super$State$dispose();
    },
    build$1(context) {
      var t1 = type$.JSArray_of_void_Function_Action_Intent,
        t2 = type$.ObserverList_of_void_Function_Action_Intent;
      return A.Actions$(A.LinkedHashMap_LinkedHashMap$_literal([B.Type_UndoTextIntent_yzJ, new A.CallbackAction(this.get$_undo(), new A.ObserverList(A._setArrayType([], t1), t2), type$.CallbackAction_UndoTextIntent)._makeOverridableAction$1(context), B.Type_RedoTextIntent_yzJ, new A.CallbackAction(this.get$_redo(), new A.ObserverList(A._setArrayType([], t1), t2), type$.CallbackAction_RedoTextIntent)._makeOverridableAction$1(context)], type$.Type, type$.Action_Intent), this._widget.child);
    },
    _throttledPush$1(arg0) {
      return this.get$_throttledPush().call$1(arg0);
    }
  };
  A._UndoStack.prototype = {
    get$currentValue() {
      var t2,
        t1 = this._editable_text$_list;
      if (t1.length === 0)
        t1 = null;
      else {
        t2 = this.___UndoStack__index;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1[t2];
        t1 = t2;
      }
      return t1;
    },
    push$1(value) {
      var t2, t3, _this = this,
        t1 = _this._editable_text$_list;
      if (t1.length === 0) {
        _this.___UndoStack__index = 0;
        t1.push(value);
        return;
      }
      if (J.$eq$(value, _this.get$currentValue()))
        return;
      t2 = _this.___UndoStack__index;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1.length;
      if (t2 !== t3 - 1)
        B.JSArray_methods.removeRange$2(t1, t2 + 1, t3);
      t1.push(value);
      _this.___UndoStack__index = t1.length - 1;
    },
    undo$0() {
      var t1, _this = this;
      if (_this._editable_text$_list.length === 0)
        return null;
      t1 = _this.___UndoStack__index;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 !== 0)
        _this.___UndoStack__index = t1 - 1;
      return _this.get$currentValue();
    },
    redo$0() {
      var t2, _this = this,
        t1 = _this._editable_text$_list.length;
      if (t1 === 0)
        return null;
      t2 = _this.___UndoStack__index;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t2 < t1 - 1)
        _this.___UndoStack__index = t2 + 1;
      return _this.get$currentValue();
    },
    toString$0(_) {
      return "_UndoStack " + A.S(this._editable_text$_list);
    }
  };
  A._throttle_closure.prototype = {
    call$1(currentArg) {
      var t2, t3, _this = this,
        t1 = _this.arg;
      t1.__late_helper$_value = currentArg;
      t2 = _this._box_0;
      t3 = t2.timer;
      if (t3 != null) {
        t2.calledDuringTimer = true;
        return t3;
      }
      t2.calledDuringTimer = false;
      return t2.timer = A.Timer_Timer(_this.duration, new A._throttle__closure(t2, _this.leadingEdge, _this.$function, t1));
    },
    $signature() {
      return this.T._eval$1("Timer(0)");
    }
  };
  A._throttle__closure.prototype = {
    call$0() {
      this.$function.call$1(this.arg._readLocal$0());
      this._box_0.timer = null;
    },
    $signature: 0
  };
  A._EditableTextState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      if (this._widget.focusNode.get$hasFocus())
        this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver.prototype = {};
  A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate.prototype = {};
  A.KeyEventResult.prototype = {
    toString$0(_) {
      return "KeyEventResult." + this._core$_name;
    }
  };
  A._Autofocus.prototype = {};
  A.FocusAttachment.prototype = {
    detach$0(_) {
      var t2,
        t1 = this._node;
      if (t1._attachment === this) {
        if (!t1.get$hasPrimaryFocus()) {
          t2 = t1._manager;
          t2 = t2 != null && t2._markedForFocus === t1;
        } else
          t2 = true;
        if (t2)
          t1.unfocus$1$disposition(B.UnfocusDisposition_1);
        t2 = t1._manager;
        if (t2 != null) {
          if (t2._primaryFocus === t1)
            t2._primaryFocus = null;
          t2._focus_manager$_dirtyNodes.remove$1(0, t1);
        }
        t2 = t1._focus_manager$_parent;
        if (t2 != null)
          t2._removeChild$1(0, t1);
        t1._attachment = null;
      }
    },
    reparent$0() {
      var t2, $parent,
        t1 = this._node;
      if (t1._attachment === this) {
        t2 = t1._context;
        t2.toString;
        $parent = A.Focus_maybeOf(t2, true);
        ($parent == null ? t1._context._framework$_owner.focusManager.rootScope : $parent)._reparent$1(t1);
      }
    }
  };
  A.UnfocusDisposition.prototype = {
    toString$0(_) {
      return "UnfocusDisposition." + this._core$_name;
    }
  };
  A.FocusNode.prototype = {
    get$skipTraversal() {
      var t1, t2, _i;
      if (this._skipTraversal)
        return true;
      for (t1 = this.get$ancestors(), t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i].toString;
      return false;
    },
    set$skipTraversal(value) {
      var t1, _this = this;
      if (value !== _this._skipTraversal) {
        _this._skipTraversal = value;
        t1 = _this._manager;
        if (t1 != null) {
          t1._markNeedsUpdate$0();
          t1._focus_manager$_dirtyNodes.add$1(0, _this);
        }
      }
    },
    get$canRequestFocus() {
      var scope, t1, t2, _i;
      if (!this._canRequestFocus)
        return false;
      scope = this.get$enclosingScope();
      if (scope != null && !scope.get$canRequestFocus())
        return false;
      for (t1 = this.get$ancestors(), t2 = t1.length, _i = 0; _i < t2; ++_i)
        if (!t1[_i]._descendantsAreFocusable)
          return false;
      return true;
    },
    set$canRequestFocus(value) {
      var t1, _this = this;
      if (value !== _this._canRequestFocus) {
        _this._canRequestFocus = value;
        if (_this.get$hasFocus() && !value)
          _this.unfocus$1$disposition(B.UnfocusDisposition_1);
        t1 = _this._manager;
        if (t1 != null) {
          t1._markNeedsUpdate$0();
          t1._focus_manager$_dirtyNodes.add$1(0, _this);
        }
      }
    },
    set$descendantsAreFocusable(value) {
      var t1, _this = this;
      if (value === _this._descendantsAreFocusable)
        return;
      _this._descendantsAreFocusable = value;
      if (!value && _this.get$hasFocus())
        _this.unfocus$1$disposition(B.UnfocusDisposition_1);
      t1 = _this._manager;
      if (t1 != null) {
        t1._markNeedsUpdate$0();
        t1._focus_manager$_dirtyNodes.add$1(0, _this);
      }
    },
    set$descendantsAreTraversable(value) {
    },
    get$descendants() {
      var result, t2, _i, child,
        t1 = this._descendants;
      if (t1 == null) {
        result = A._setArrayType([], type$.JSArray_FocusNode);
        for (t1 = this._children, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
          child = t1[_i];
          B.JSArray_methods.addAll$1(result, child.get$descendants());
          result.push(child);
        }
        this._descendants = result;
        t1 = result;
      }
      return t1;
    },
    get$traversalDescendants() {
      if (!this._descendantsAreFocusable)
        return B.C_EmptyIterable;
      var t1 = this.get$descendants();
      return new A.WhereIterable(t1, new A.FocusNode_traversalDescendants_closure(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
    },
    get$ancestors() {
      var result, $parent,
        t1 = this._ancestors;
      if (t1 == null) {
        result = A._setArrayType([], type$.JSArray_FocusNode);
        $parent = this._focus_manager$_parent;
        for (; $parent != null;) {
          result.push($parent);
          $parent = $parent._focus_manager$_parent;
        }
        this._ancestors = result;
        t1 = result;
      }
      return t1;
    },
    get$hasFocus() {
      if (!this.get$hasPrimaryFocus()) {
        var t1 = this._manager;
        if (t1 == null)
          t1 = null;
        else {
          t1 = t1._primaryFocus;
          t1 = t1 == null ? null : B.JSArray_methods.contains$1(t1.get$ancestors(), this);
        }
        t1 = t1 === true;
      } else
        t1 = true;
      return t1;
    },
    get$hasPrimaryFocus() {
      var t1 = this._manager;
      return (t1 == null ? null : t1._primaryFocus) === this;
    },
    get$nearestScope() {
      return this.get$enclosingScope();
    },
    get$enclosingScope() {
      var t1, t2, _i, node;
      for (t1 = this.get$ancestors(), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        node = t1[_i];
        if (node instanceof A.FocusScopeNode)
          return node;
      }
      return null;
    },
    get$rect(_) {
      var bottomRight,
        object = this._context.get$renderObject(),
        t1 = object.getTransformTo$1(0, null),
        t2 = object.get$semanticBounds(),
        topLeft = A.MatrixUtils_transformPoint(t1, new A.Offset(t2.left, t2.top));
      t2 = object.getTransformTo$1(0, null);
      t1 = object.get$semanticBounds();
      bottomRight = A.MatrixUtils_transformPoint(t2, new A.Offset(t1.right, t1.bottom));
      return new A.Rect(topLeft._dx, topLeft._dy, bottomRight._dx, bottomRight._dy);
    },
    unfocus$1$disposition(disposition) {
      var t1, scope, _this = this;
      if (!_this.get$hasFocus()) {
        t1 = _this._manager;
        t1 = t1 == null || t1._markedForFocus !== _this;
      } else
        t1 = false;
      if (t1)
        return;
      scope = _this.get$enclosingScope();
      if (scope == null)
        return;
      switch (disposition.index) {
        case 0:
          if (scope.get$canRequestFocus())
            B.JSArray_methods.clear$0(scope._focusedChildren);
          for (; !scope.get$canRequestFocus();) {
            scope = scope.get$enclosingScope();
            if (scope == null) {
              t1 = _this._manager;
              scope = t1 == null ? null : t1.rootScope;
            }
          }
          scope._doRequestFocus$1$findFirstFocus(false);
          break;
        case 1:
          if (scope.get$canRequestFocus())
            B.JSArray_methods.remove$1(scope._focusedChildren, _this);
          for (; !scope.get$canRequestFocus();) {
            t1 = scope.get$enclosingScope();
            if (t1 != null)
              B.JSArray_methods.remove$1(t1._focusedChildren, scope);
            scope = scope.get$enclosingScope();
            if (scope == null) {
              t1 = _this._manager;
              scope = t1 == null ? null : t1.rootScope;
            }
          }
          scope._doRequestFocus$1$findFirstFocus(true);
          break;
      }
    },
    unfocus$0() {
      return this.unfocus$1$disposition(B.UnfocusDisposition_0);
    },
    consumeKeyboardToken$0() {
      if (!this._hasKeyboardToken)
        return false;
      this._hasKeyboardToken = false;
      return true;
    },
    _markNextFocus$1(newFocus) {
      var _this = this,
        t1 = _this._manager;
      if (t1 != null) {
        if (t1._primaryFocus === _this)
          t1._markedForFocus = null;
        else {
          t1._markedForFocus = _this;
          t1._markNeedsUpdate$0();
        }
        return;
      }
      newFocus._setAsFocusedChildForScope$0();
      newFocus._notify$0();
      if (newFocus !== _this)
        _this._notify$0();
    },
    _removeChild$2$removeScopeFocus(_, node, removeScopeFocus) {
      var t1, t2, _i;
      if (removeScopeFocus) {
        t1 = node.get$enclosingScope();
        if (t1 != null)
          B.JSArray_methods.remove$1(t1._focusedChildren, node);
      }
      node._focus_manager$_parent = null;
      B.JSArray_methods.remove$1(this._children, node);
      for (t1 = this.get$ancestors(), t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i]._descendants = null;
      this._descendants = null;
    },
    _removeChild$1($receiver, node) {
      return this._removeChild$2$removeScopeFocus($receiver, node, true);
    },
    _focus_manager$_updateManager$1(manager) {
      var t1, t2, _i, descendant;
      this._manager = manager;
      for (t1 = this.get$descendants(), t2 = t1.length, _i = 0; _i < t2; ++_i) {
        descendant = t1[_i];
        descendant._manager = manager;
        descendant._ancestors = null;
      }
    },
    _reparent$1(child) {
      var oldScope, hadFocus, t1, t2, _i, inherited, _this = this;
      if (child._focus_manager$_parent === _this)
        return;
      oldScope = child.get$enclosingScope();
      hadFocus = child.get$hasFocus();
      t1 = child._focus_manager$_parent;
      if (t1 != null)
        t1._removeChild$2$removeScopeFocus(0, child, oldScope != _this.get$nearestScope());
      _this._children.push(child);
      child._focus_manager$_parent = _this;
      child._ancestors = null;
      child._focus_manager$_updateManager$1(_this._manager);
      for (t1 = child.get$ancestors(), t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i]._descendants = null;
      if (hadFocus) {
        t1 = _this._manager;
        if (t1 != null) {
          t1 = t1._primaryFocus;
          if (t1 != null)
            t1._setAsFocusedChildForScope$0();
        }
      }
      if (oldScope != null && child._context != null && child.get$enclosingScope() !== oldScope) {
        inherited = child._context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker);
        t1 = inherited == null ? null : inherited.policy;
        if (t1 != null)
          t1.changedScope$2$node$oldScope(child, oldScope);
      }
      if (child._requestFocusWhenReparented) {
        child._doRequestFocus$1$findFirstFocus(true);
        child._requestFocusWhenReparented = false;
      }
    },
    dispose$0() {
      var t1 = this._attachment;
      if (t1 != null)
        t1.detach$0(0);
      this.super$ChangeNotifier$dispose();
    },
    _notify$0() {
      var _this = this;
      if (_this._focus_manager$_parent == null)
        return;
      if (_this.get$hasPrimaryFocus())
        _this._setAsFocusedChildForScope$0();
      _this.notifyListeners$0();
    },
    requestFocus$1(node) {
      if (node != null) {
        if (node._focus_manager$_parent == null)
          this._reparent$1(node);
        node._doRequestFocus$1$findFirstFocus(true);
        return;
      }
      this._doRequestFocus$1$findFirstFocus(true);
    },
    requestFocus$0() {
      return this.requestFocus$1(null);
    },
    _doRequestFocus$1$findFirstFocus(findFirstFocus) {
      var t1, _this = this;
      if (!_this.get$canRequestFocus())
        return;
      if (_this._focus_manager$_parent == null) {
        _this._requestFocusWhenReparented = true;
        return;
      }
      _this._setAsFocusedChildForScope$0();
      if (_this.get$hasPrimaryFocus()) {
        t1 = _this._manager._markedForFocus;
        t1 = t1 == null || t1 === _this;
      } else
        t1 = false;
      if (t1)
        return;
      _this._hasKeyboardToken = true;
      _this._markNextFocus$1(_this);
    },
    _setAsFocusedChildForScope$0() {
      var t1, t2, t3, scopeFocus, scopeFocus0, t4;
      for (t1 = B.JSArray_methods.get$iterator(this.get$ancestors()), t2 = new A.WhereTypeIterator(t1, type$.WhereTypeIterator_FocusScopeNode), t3 = type$.FocusScopeNode, scopeFocus = this; t2.moveNext$0(); scopeFocus = scopeFocus0) {
        scopeFocus0 = t3._as(t1.get$current(t1));
        t4 = scopeFocus0._focusedChildren;
        B.JSArray_methods.remove$1(t4, scopeFocus);
        t4.push(scopeFocus);
      }
    },
    debugDescribeChildren$0() {
      var t2, t3, t1 = {};
      t1.count = 1;
      t2 = this._children;
      t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,DiagnosticsNode>");
      return A.List_List$of(new A.MappedListIterable(t2, new A.FocusNode_debugDescribeChildren_closure(t1), t3), true, t3._eval$1("ListIterable.E"));
    },
    toStringShort$0() {
      var t1, extraData, t2, _this = this;
      _this.get$hasFocus();
      t1 = _this.get$hasFocus() && !_this.get$hasPrimaryFocus() ? "[IN FOCUS PATH]" : "";
      extraData = t1 + (_this.get$hasPrimaryFocus() ? "[PRIMARY FOCUS]" : "");
      t1 = A.shortHash(_this);
      t2 = extraData.length !== 0 ? "(" + extraData + ")" : "";
      return "<optimized out>#" + t1 + t2;
    },
    $isListenable: 1,
    $isDiagnosticableTree: 1
  };
  A.FocusNode_traversalDescendants_closure.prototype = {
    call$1(node) {
      return !node.get$skipTraversal() && node.get$canRequestFocus();
    },
    $signature: 40
  };
  A.FocusNode_debugDescribeChildren_closure.prototype = {
    call$1(child) {
      return A.DiagnosticableTreeNode$("Child " + this._box_0.count++, null, child);
    },
    $signature: 911
  };
  A.FocusScopeNode.prototype = {
    get$nearestScope() {
      return this;
    },
    get$traversalDescendants() {
      if (!this.get$canRequestFocus())
        return B.C_EmptyIterable;
      return A.FocusNode.prototype.get$traversalDescendants.call(this);
    },
    setFirstFocus$1(scope) {
      if (scope._focus_manager$_parent == null)
        this._reparent$1(scope);
      if (this.get$hasFocus())
        scope._doRequestFocus$1$findFirstFocus(true);
      else
        scope._setAsFocusedChildForScope$0();
    },
    autofocus$1(_, node) {
      var t1, _this = this;
      if (node._focus_manager$_parent == null)
        _this._reparent$1(node);
      t1 = _this._manager;
      if (t1 != null)
        t1._pendingAutofocuses.push(new A._Autofocus(_this, node));
      t1 = _this._manager;
      if (t1 != null)
        t1._markNeedsUpdate$0();
    },
    _doRequestFocus$1$findFirstFocus(findFirstFocus) {
      var t2, focusedChild, _this = this,
        t1 = _this._focusedChildren;
      while (true) {
        if ((t1.length !== 0 ? B.JSArray_methods.get$last(t1) : null) != null)
          t2 = !(t1.length !== 0 ? B.JSArray_methods.get$last(t1) : null).get$canRequestFocus();
        else
          t2 = false;
        if (!t2)
          break;
        t1.pop();
      }
      focusedChild = t1.length !== 0 ? B.JSArray_methods.get$last(t1) : null;
      if (!findFirstFocus || focusedChild == null) {
        if (_this.get$canRequestFocus()) {
          _this._setAsFocusedChildForScope$0();
          _this._markNextFocus$1(_this);
        }
        return;
      }
      focusedChild._doRequestFocus$1$findFirstFocus(true);
    }
  };
  A.FocusHighlightMode.prototype = {
    toString$0(_) {
      return "FocusHighlightMode." + this._core$_name;
    }
  };
  A.FocusHighlightStrategy.prototype = {
    toString$0(_) {
      return "FocusHighlightStrategy." + this._core$_name;
    }
  };
  A.FocusManager.prototype = {
    dispose$0() {
      var t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__keyEventManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (J.$eq$(t1.keyMessageHandler, this.get$_handleKeyMessage())) {
        t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__keyEventManager;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.keyMessageHandler = null;
        $.GestureBinding__instance.GestureBinding_pointerRouter._globalRoutes.remove$1(0, this.get$_handlePointerEvent());
      }
      this.super$ChangeNotifier$dispose();
    },
    _updateHighlightMode$0() {
      var t1, newMode, t2, _this = this;
      switch (0) {
        case 0:
          t1 = _this._lastInteractionWasTouch;
          if (t1 == null)
            return;
          newMode = t1 ? B.FocusHighlightMode_0 : B.FocusHighlightMode_1;
          break;
      }
      t1 = _this._highlightMode;
      if (t1 == null)
        t1 = A.FocusManager__defaultModeForPlatform();
      t2 = _this._highlightMode = newMode;
      if (t2 !== t1)
        _this._notifyHighlightModeListeners$0();
    },
    _notifyHighlightModeListeners$0() {
      var listener, exception, stack, localListeners, _i, t3, exception0, rti, t4, _this = this,
        t1 = _this._focus_manager$_listeners,
        t2 = t1._observer_list$_map;
      if (t2._length === 0)
        return;
      localListeners = A.List_List$of(t1, true, type$.void_Function_FocusHighlightMode);
      for (t1 = localListeners.length, _i = 0; _i < t1; ++_i) {
        listener = localListeners[_i];
        try {
          if (t2.containsKey$1(0, listener)) {
            t3 = _this._highlightMode;
            if (t3 == null)
              t3 = A.FocusManager__defaultModeForPlatform();
            listener.call$1(t3);
          }
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          rti = _this instanceof A.Closure ? A.closureFunctionType(_this) : null;
          t3 = A.ErrorDescription$("while dispatching notifications for " + A.createRuntimeType(rti == null ? A.instanceType(_this) : rti).toString$0(0));
          t4 = $.$get$FlutterError_onError();
          if (t4 != null)
            t4.call$1(new A.FlutterErrorDetails(exception, stack, "widgets library", t3, null, false));
        }
      }
    },
    _handlePointerEvent$1($event) {
      var expectedMode, t1, _this = this;
      switch ($event.get$kind($event).index) {
        case 0:
        case 2:
        case 3:
          _this._lastInteractionWasTouch = true;
          expectedMode = B.FocusHighlightMode_0;
          break;
        case 1:
        case 4:
        case 5:
          _this._lastInteractionWasTouch = false;
          expectedMode = B.FocusHighlightMode_1;
          break;
        default:
          expectedMode = null;
      }
      t1 = _this._highlightMode;
      if (expectedMode !== (t1 == null ? A.FocusManager__defaultModeForPlatform() : t1))
        _this._updateHighlightMode$0();
    },
    _handleKeyMessage$1(message) {
      var t1, handled, t2, t3, t4, t5, _i, node, results, t6, _this = this;
      _this._lastInteractionWasTouch = false;
      _this._updateHighlightMode$0();
      t1 = _this._primaryFocus;
      if (t1 == null)
        return false;
      t1 = A._setArrayType([t1], type$.JSArray_FocusNode);
      B.JSArray_methods.addAll$1(t1, _this._primaryFocus.get$ancestors());
      t2 = t1.length;
      t3 = type$.JSArray_KeyEventResult;
      t4 = message.rawEvent;
      t5 = t4 != null;
      _i = 0;
      while (true) {
        if (!(_i < t1.length)) {
          handled = false;
          break;
        }
        c$1: {
          node = t1[_i];
          results = A._setArrayType([], t3);
          t6 = node.onKey;
          if (t6 != null && t5)
            results.push(t6.call$2(node, t4));
          switch (A.combineKeyEventResults(results).index) {
            case 1:
              break c$1;
            case 0:
              handled = true;
              break;
            case 2:
              handled = false;
              break;
            default:
              handled = false;
          }
          break;
        }
        t1.length === t2 || (0, A.throwConcurrentModificationError)(t1);
        ++_i;
      }
      return handled;
    },
    _markNeedsUpdate$0() {
      if (this._haveScheduledUpdate)
        return;
      this._haveScheduledUpdate = true;
      A.scheduleMicrotask(this.get$_applyFocusChange());
    },
    _applyFocusChange$0() {
      var previousFocus, t1, t2, t3, _i, autofocus, t4, t5, shouldApply, previousPath, nextPath, _this = this;
      _this._haveScheduledUpdate = false;
      previousFocus = _this._primaryFocus;
      for (t1 = _this._pendingAutofocuses, t2 = t1.length, t3 = _this.rootScope, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        autofocus = t1[_i];
        t4 = autofocus.scope;
        if (t4._focus_manager$_parent != null || t4 === t3)
          if (t4._manager === _this) {
            t5 = t4._focusedChildren;
            t4 = (t5.length !== 0 ? B.JSArray_methods.get$last(t5) : null) == null && B.JSArray_methods.contains$1(autofocus.autofocusNode.get$ancestors(), t4);
            shouldApply = t4;
          } else
            shouldApply = false;
        else
          shouldApply = false;
        if (shouldApply)
          autofocus.autofocusNode._doRequestFocus$1$findFirstFocus(true);
      }
      B.JSArray_methods.clear$0(t1);
      t1 = _this._primaryFocus;
      if (t1 == null && _this._markedForFocus == null)
        _this._markedForFocus = t3;
      t2 = _this._markedForFocus;
      if (t2 != null && t2 !== t1) {
        if (previousFocus == null)
          previousPath = null;
        else {
          t1 = previousFocus.get$ancestors();
          t1 = A.LinkedHashSet_LinkedHashSet$from(t1, A._arrayInstanceType(t1)._precomputed1);
          previousPath = t1;
        }
        if (previousPath == null)
          previousPath = A.LinkedHashSet_LinkedHashSet$_empty(type$.FocusNode);
        t1 = _this._markedForFocus.get$ancestors();
        nextPath = A.LinkedHashSet_LinkedHashSet$from(t1, A._arrayInstanceType(t1)._precomputed1);
        t1 = _this._focus_manager$_dirtyNodes;
        t1.addAll$1(0, nextPath.difference$1(previousPath));
        t1.addAll$1(0, previousPath.difference$1(nextPath));
        t1 = _this._primaryFocus = _this._markedForFocus;
        _this._markedForFocus = null;
      }
      if (previousFocus != t1) {
        if (previousFocus != null)
          _this._focus_manager$_dirtyNodes.add$1(0, previousFocus);
        t1 = _this._primaryFocus;
        if (t1 != null)
          _this._focus_manager$_dirtyNodes.add$1(0, t1);
      }
      for (t1 = _this._focus_manager$_dirtyNodes, t2 = A._LinkedHashSetIterator$(t1, t1._collection$_modifications, A._instanceType(t1)._precomputed1), t3 = t2.$ti._precomputed1; t2.moveNext$0();) {
        t4 = t2._collection$_current;
        (t4 == null ? t3._as(t4) : t4)._notify$0();
      }
      t1.clear$0(0);
      if (previousFocus != _this._primaryFocus)
        _this.notifyListeners$0();
    },
    debugDescribeChildren$0() {
      return A._setArrayType([A.DiagnosticableTreeNode$("rootScope", null, this.rootScope)], type$.JSArray_DiagnosticsNode);
    },
    $isListenable: 1,
    $isDiagnosticableTree: 1
  };
  A._FocusManager_Object_DiagnosticableTreeMixin.prototype = {};
  A._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier.prototype = {};
  A._FocusNode_Object_DiagnosticableTreeMixin.prototype = {};
  A._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier.prototype = {};
  A.Focus.prototype = {
    get$onKeyEvent() {
      var t1 = this.focusNode;
      t1 = t1 == null ? null : t1.onKeyEvent;
      return t1;
    },
    get$onKey() {
      var t1 = this._onKey;
      if (t1 == null) {
        t1 = this.focusNode;
        t1 = t1 == null ? null : t1.onKey;
      }
      return t1;
    },
    get$canRequestFocus() {
      var t1 = this._focus_scope$_canRequestFocus;
      if (t1 == null) {
        t1 = this.focusNode;
        t1 = t1 == null ? null : t1.get$canRequestFocus();
      }
      return t1 !== false;
    },
    get$skipTraversal() {
      var t1 = this._focus_scope$_skipTraversal;
      if (t1 == null) {
        t1 = this.focusNode;
        t1 = t1 == null ? null : t1.get$skipTraversal();
      }
      return t1 === true;
    },
    get$descendantsAreFocusable() {
      var t1 = this._focus_scope$_descendantsAreFocusable;
      if (t1 == null) {
        t1 = this.focusNode;
        t1 = t1 == null ? null : t1._descendantsAreFocusable;
      }
      return t1 !== false;
    },
    get$descendantsAreTraversable() {
      var t1 = this._descendantsAreTraversable;
      if (t1 == null)
        t1 = this.focusNode != null || null;
      return t1 !== false;
    },
    get$debugLabel() {
      var t1 = this._focus_scope$_debugLabel;
      if (t1 == null) {
        t1 = this.focusNode;
        t1 = t1 == null ? null : t1._focus_manager$_debugLabel;
      }
      return t1;
    },
    createState$0() {
      return A._FocusState$();
    }
  };
  A._FocusState.prototype = {
    get$focusNode(_) {
      var t1 = this._widget.focusNode;
      if (t1 == null) {
        t1 = this._internalNode;
        t1.toString;
      }
      return t1;
    },
    initState$0() {
      this.super$State$initState();
      this._initNode$0();
    },
    _initNode$0() {
      var t1, t2, t3, _this = this;
      if (_this._widget.focusNode == null)
        if (_this._internalNode == null)
          _this._internalNode = _this._createNode$0();
      _this.get$focusNode(_this).set$descendantsAreFocusable(_this._widget.get$descendantsAreFocusable());
      t1 = _this.get$focusNode(_this);
      _this._widget.get$descendantsAreTraversable();
      t1.set$descendantsAreTraversable(true);
      _this._widget.get$skipTraversal();
      _this.get$focusNode(_this).set$skipTraversal(_this._widget.get$skipTraversal());
      if (_this._widget._focus_scope$_canRequestFocus != null) {
        t1 = _this.get$focusNode(_this);
        t2 = _this._widget._focus_scope$_canRequestFocus;
        t2.toString;
        t1.set$canRequestFocus(t2);
      }
      _this.___FocusState__couldRequestFocus = _this.get$focusNode(_this).get$canRequestFocus();
      _this.___FocusState__descendantsWereFocusable = _this.get$focusNode(_this)._descendantsAreFocusable;
      _this.get$focusNode(_this);
      _this.___FocusState__descendantsWereTraversable = true;
      _this.___FocusState__hadPrimaryFocus = _this.get$focusNode(_this).get$hasPrimaryFocus();
      t1 = _this.get$focusNode(_this);
      t2 = _this._framework$_element;
      t2.toString;
      _this._widget.get$onKeyEvent();
      t3 = _this._widget.get$onKey();
      t1._context = t2;
      t1.onKey = t3 == null ? t1.onKey : t3;
      _this._focusAttachment = t1._attachment = new A.FocusAttachment(t1);
      _this.get$focusNode(_this).addListener$1(0, _this.get$_handleFocusChanged());
    },
    _createNode$0() {
      var _this = this,
        t1 = _this._widget.get$debugLabel(),
        t2 = _this._widget.get$canRequestFocus(),
        t3 = _this._widget.get$descendantsAreFocusable();
      _this._widget.get$descendantsAreTraversable();
      return A.FocusNode$(t2, t1, t3, true, null, null, _this._widget.get$skipTraversal());
    },
    dispose$0() {
      var t1, _this = this;
      _this.get$focusNode(_this).removeListener$1(0, _this.get$_handleFocusChanged());
      _this._focusAttachment.detach$0(0);
      t1 = _this._internalNode;
      if (t1 != null)
        t1.dispose$0();
      _this.super$State$dispose();
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      var t1 = this._focusAttachment;
      if (t1 != null)
        t1.reparent$0();
      this._handleAutofocus$0();
    },
    _handleAutofocus$0() {
      var t1, _this = this;
      if (!_this._didAutofocus && _this._widget.autofocus) {
        t1 = _this._framework$_element;
        t1.toString;
        A.FocusScope_of(t1).autofocus$1(0, _this.get$focusNode(_this));
        _this._didAutofocus = true;
      }
    },
    deactivate$0() {
      this.super$State$deactivate();
      var t1 = this._focusAttachment;
      if (t1 != null)
        t1.reparent$0();
      this._didAutofocus = false;
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.focusNode;
      t2 = _this._widget;
      if (t1 == t2.focusNode) {
        if (!J.$eq$(t2.get$onKey(), _this.get$focusNode(_this).onKey))
          _this.get$focusNode(_this).onKey = _this._widget.get$onKey();
        _this._widget.get$onKeyEvent();
        _this.get$focusNode(_this);
        _this._widget.get$skipTraversal();
        _this.get$focusNode(_this).set$skipTraversal(_this._widget.get$skipTraversal());
        if (_this._widget._focus_scope$_canRequestFocus != null) {
          t1 = _this.get$focusNode(_this);
          t2 = _this._widget._focus_scope$_canRequestFocus;
          t2.toString;
          t1.set$canRequestFocus(t2);
        }
        _this.get$focusNode(_this).set$descendantsAreFocusable(_this._widget.get$descendantsAreFocusable());
        t1 = _this.get$focusNode(_this);
        _this._widget.get$descendantsAreTraversable();
        t1.set$descendantsAreTraversable(true);
      } else {
        _this._focusAttachment.detach$0(0);
        if (t1 != null)
          t1.removeListener$1(0, _this.get$_handleFocusChanged());
        _this._initNode$0();
      }
      if (oldWidget.autofocus !== _this._widget.autofocus)
        _this._handleAutofocus$0();
    },
    _handleFocusChanged$0() {
      var t1, _this = this,
        hasPrimaryFocus = _this.get$focusNode(_this).get$hasPrimaryFocus(),
        canRequestFocus = _this.get$focusNode(_this).get$canRequestFocus(),
        descendantsAreFocusable = _this.get$focusNode(_this)._descendantsAreFocusable;
      _this.get$focusNode(_this);
      t1 = _this._widget.onFocusChange;
      if (t1 != null)
        t1.call$1(_this.get$focusNode(_this).get$hasFocus());
      t1 = _this.___FocusState__hadPrimaryFocus;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 !== hasPrimaryFocus)
        _this.setState$1(new A._FocusState__handleFocusChanged_closure(_this, hasPrimaryFocus));
      t1 = _this.___FocusState__couldRequestFocus;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 !== canRequestFocus)
        _this.setState$1(new A._FocusState__handleFocusChanged_closure0(_this, canRequestFocus));
      t1 = _this.___FocusState__descendantsWereFocusable;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 !== descendantsAreFocusable)
        _this.setState$1(new A._FocusState__handleFocusChanged_closure1(_this, descendantsAreFocusable));
      t1 = _this.___FocusState__descendantsWereTraversable;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1)
        _this.setState$1(new A._FocusState__handleFocusChanged_closure2(_this, true));
    },
    build$1(context) {
      var t1, child, t2, _this = this, _null = null;
      _this._focusAttachment.reparent$0();
      t1 = _this._widget;
      child = t1.child;
      if (t1.includeSemantics) {
        t1 = _this.___FocusState__couldRequestFocus;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this.___FocusState__hadPrimaryFocus;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        child = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, t2, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, child, _null);
      }
      return A._FocusMarker$(child, _this.get$focusNode(_this));
    }
  };
  A._FocusState__handleFocusChanged_closure.prototype = {
    call$0() {
      this.$this.___FocusState__hadPrimaryFocus = this.hasPrimaryFocus;
    },
    $signature: 0
  };
  A._FocusState__handleFocusChanged_closure0.prototype = {
    call$0() {
      this.$this.___FocusState__couldRequestFocus = this.canRequestFocus;
    },
    $signature: 0
  };
  A._FocusState__handleFocusChanged_closure1.prototype = {
    call$0() {
      this.$this.___FocusState__descendantsWereFocusable = this.descendantsAreFocusable;
    },
    $signature: 0
  };
  A._FocusState__handleFocusChanged_closure2.prototype = {
    call$0() {
      this.$this.___FocusState__descendantsWereTraversable = this.descendantsAreTraversable;
    },
    $signature: 0
  };
  A.FocusScope.prototype = {
    createState$0() {
      return new A._FocusScopeState(B._StateLifecycle_0);
    }
  };
  A._FocusScopeState.prototype = {
    _createNode$0() {
      var t1 = this._widget.get$debugLabel();
      return A.FocusScopeNode$(this._widget.get$canRequestFocus(), t1, this._widget.get$skipTraversal());
    },
    build$1(context) {
      var t1, _this = this, _null = null;
      _this._focusAttachment.reparent$0();
      t1 = _this.get$focusNode(_this);
      t1 = A._FocusMarker$(_this._widget.child, t1);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, t1, _null);
    }
  };
  A._FocusMarker.prototype = {};
  A.ExcludeFocus.prototype = {
    build$1(context) {
      var _null = null;
      return A.Focus$(false, false, this.child, _null, !this.excluding, _null, _null, false, _null, _null, _null, _null, true);
    }
  };
  A._getAncestor_closure.prototype = {
    call$1(ancestor) {
      var t1 = this._box_0;
      if (--t1.count === 0) {
        t1.target = ancestor;
        return false;
      }
      return true;
    },
    $signature: 53
  };
  A._FocusTraversalGroupInfo.prototype = {};
  A.TraversalDirection.prototype = {
    toString$0(_) {
      return "TraversalDirection." + this._core$_name;
    }
  };
  A.FocusTraversalPolicy.prototype = {
    _findInitialFocus$2$fromEnd(currentNode, fromEnd) {
      var sorted,
        scope = currentNode.get$nearestScope(),
        t1 = scope._focusedChildren,
        candidate = t1.length !== 0 ? B.JSArray_methods.get$last(t1) : null;
      if (candidate == null && scope.get$descendants().length !== 0) {
        sorted = this._sortAllDescendants$2(scope, currentNode);
        if (sorted.length === 0)
          candidate = null;
        else
          candidate = fromEnd ? B.JSArray_methods.get$last(sorted) : B.JSArray_methods.get$first(sorted);
      }
      return candidate == null ? currentNode : candidate;
    },
    _findInitialFocus$1(currentNode) {
      return this._findInitialFocus$2$fromEnd(currentNode, false);
    },
    invalidateScopeData$1(node) {
    },
    changedScope$2$node$oldScope(node, oldScope) {
    },
    _getMarker$1(context) {
      var t1;
      if (context == null)
        t1 = null;
      else {
        t1 = context.getElementForInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker);
        t1 = t1 == null ? null : t1.get$widget();
      }
      return type$.nullable__FocusTraversalGroupMarker._as(t1);
    },
    _sortAllDescendants$2(scope, currentNode) {
      var groups, t2, t3, t4, t5, t6, _i, node, t7, groupNode, parentContext, parentNode, sortedDescendants, _null = null,
        scopeGroupMarker = this._getMarker$1(scope._context),
        t1 = scopeGroupMarker == null,
        defaultPolicy = t1 ? _null : scopeGroupMarker.policy;
      if (defaultPolicy == null)
        defaultPolicy = new A.ReadingOrderTraversalPolicy(A.LinkedHashMap_LinkedHashMap$_empty(type$.FocusScopeNode, type$._DirectionalPolicyData));
      groups = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_FocusNode, type$._FocusTraversalGroupInfo);
      for (t2 = scope.get$descendants(), t3 = t2.length, t4 = type$.nullable__FocusTraversalGroupMarker, t5 = type$._FocusTraversalGroupMarker, t6 = type$.JSArray_FocusNode, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        node = t2[_i];
        t7 = node._context;
        if (t7 == null)
          t7 = _null;
        else {
          t7 = t7.getElementForInheritedWidgetOfExactType$1$0(t5);
          t7 = t7 == null ? _null : t7.get$widget();
        }
        t4._as(t7);
        groupNode = t7 == null ? _null : t7.focusNode;
        if (J.$eq$(node, groupNode)) {
          t7 = groupNode._context;
          t7.toString;
          parentContext = A._getAncestor(t7, 2);
          if (parentContext == null)
            t7 = _null;
          else {
            t7 = parentContext.getElementForInheritedWidgetOfExactType$1$0(t5);
            t7 = t7 == null ? _null : t7.get$widget();
          }
          t4._as(t7);
          parentNode = t7 == null ? _null : t7.focusNode;
          if (groups.$index(0, parentNode) == null)
            groups.$indexSet(0, parentNode, A._FocusTraversalGroupInfo$(t7, defaultPolicy, A._setArrayType([], t6)));
          groups.$index(0, parentNode).members.push(groupNode);
          continue;
        }
        if (node.get$canRequestFocus() && !node.get$skipTraversal()) {
          if (groups.$index(0, groupNode) == null)
            groups.$indexSet(0, groupNode, A._FocusTraversalGroupInfo$(t7, defaultPolicy, A._setArrayType([], t6)));
          groups.$index(0, groupNode).members.push(node);
        }
      }
      for (t2 = A.LinkedHashMapKeyIterator$(groups, groups._modifications, groups.$ti._precomputed1); t2.moveNext$0();) {
        t3 = t2.__js_helper$_current;
        t4 = groups.$index(0, t3).policy.sortDescendants$2(groups.$index(0, t3).members, currentNode);
        t4 = A._setArrayType(t4.slice(0), A._arrayInstanceType(t4));
        B.JSArray_methods.clear$0(groups.$index(0, t3).members);
        B.JSArray_methods.addAll$1(groups.$index(0, t3).members, t4);
      }
      sortedDescendants = A._setArrayType([], t6);
      if (groups._length !== 0)
        t2 = groups.containsKey$1(0, t1 ? _null : scopeGroupMarker.focusNode);
      else
        t2 = false;
      if (t2) {
        t2 = groups.$index(0, t1 ? _null : scopeGroupMarker.focusNode);
        t2.toString;
        new A.FocusTraversalPolicy__sortAllDescendants_visitGroups(groups, sortedDescendants).call$1(t2);
      }
      if (!!sortedDescendants.fixed$length)
        A.throwExpression(A.UnsupportedError$("removeWhere"));
      B.JSArray_methods._removeWhere$2(sortedDescendants, new A.FocusTraversalPolicy__sortAllDescendants_closure(), true);
      return sortedDescendants;
    },
    _moveFocus$2$forward(currentNode, $forward) {
      var t2, focusedChild, firstFocus, sortedNodes, previousNode, previousNode0, _this = this,
        t1 = currentNode.get$nearestScope();
      t1.toString;
      _this.super$FocusTraversalPolicy$invalidateScopeData(t1);
      _this.DirectionalFocusTraversalPolicyMixin__policyData.remove$1(0, t1);
      t2 = t1._focusedChildren;
      focusedChild = t2.length !== 0 ? B.JSArray_methods.get$last(t2) : null;
      if (focusedChild == null) {
        firstFocus = $forward ? _this._findInitialFocus$1(currentNode) : _this._findInitialFocus$2$fromEnd(currentNode, true);
        A._focusAndEnsureVisible(firstFocus, $forward ? B.ScrollPositionAlignmentPolicy_1 : B.ScrollPositionAlignmentPolicy_2);
        return true;
      }
      sortedNodes = _this._sortAllDescendants$2(t1, currentNode);
      if (sortedNodes.length === 0)
        return false;
      if ($forward && focusedChild === B.JSArray_methods.get$last(sortedNodes)) {
        A._focusAndEnsureVisible(B.JSArray_methods.get$first(sortedNodes), B.ScrollPositionAlignmentPolicy_1);
        return true;
      }
      if (!$forward && focusedChild === B.JSArray_methods.get$first(sortedNodes)) {
        A._focusAndEnsureVisible(B.JSArray_methods.get$last(sortedNodes), B.ScrollPositionAlignmentPolicy_2);
        return true;
      }
      for (t1 = J.get$iterator$ax($forward ? sortedNodes : new A.ReversedListIterable(sortedNodes, A._arrayInstanceType(sortedNodes)._eval$1("ReversedListIterable<1>"))), previousNode = null; t1.moveNext$0(); previousNode = previousNode0) {
        previousNode0 = t1.get$current(t1);
        if (previousNode == focusedChild) {
          t1 = $forward ? B.ScrollPositionAlignmentPolicy_1 : B.ScrollPositionAlignmentPolicy_2;
          previousNode0.requestFocus$0();
          t2 = previousNode0._context;
          t2.toString;
          A.Scrollable_ensureVisible(t2, 1, t1);
          return true;
        }
      }
      return false;
    }
  };
  A.FocusTraversalPolicy__sortAllDescendants_visitGroups.prototype = {
    call$1(info) {
      var t1, t2, t3, t4, _i, node, t5;
      for (t1 = info.members, t2 = t1.length, t3 = this.sortedDescendants, t4 = this.groups, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        node = t1[_i];
        if (t4.containsKey$1(0, node)) {
          t5 = t4.$index(0, node);
          t5.toString;
          this.call$1(t5);
        } else
          t3.push(node);
      }
    },
    $signature: 913
  };
  A.FocusTraversalPolicy__sortAllDescendants_closure.prototype = {
    call$1(node) {
      return !node.get$canRequestFocus() || node.get$skipTraversal();
    },
    $signature: 40
  };
  A._DirectionalPolicyDataEntry.prototype = {};
  A._DirectionalPolicyData.prototype = {};
  A.DirectionalFocusTraversalPolicyMixin.prototype = {
    findFirstFocusInDirection$2(currentNode, direction) {
      var _this = this;
      switch (direction.index) {
        case 0:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, false, true);
        case 2:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, true, true);
        case 3:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, false, false);
        case 1:
          return _this._sortAndFindInitial$3$first$vertical(currentNode, true, false);
      }
    },
    _sortAndFindInitial$3$first$vertical(currentNode, first, vertical) {
      var sorted = currentNode.get$nearestScope().get$traversalDescendants().toList$0(0);
      A.mergeSort(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure(vertical, first), type$.FocusNode);
      if (sorted.length !== 0)
        return B.JSArray_methods.get$first(sorted);
      return null;
    },
    _sortAndFilterHorizontally$3(direction, target, nearestScope) {
      var result,
        sorted = nearestScope.get$traversalDescendants().toList$0(0);
      A.mergeSort(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure(), type$.FocusNode);
      switch (direction.index) {
        case 3:
          result = new A.WhereIterable(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0(target), A._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          break;
        case 1:
          result = new A.WhereIterable(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1(target), A._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          break;
        case 0:
        case 2:
          result = null;
          break;
        default:
          result = null;
      }
      return result;
    },
    _sortAndFilterVertically$3(direction, target, nodes) {
      var sorted = nodes.toList$0(0);
      A.mergeSort(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure(), type$.FocusNode);
      switch (direction.index) {
        case 0:
          return new A.WhereIterable(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0(target), A._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
        case 2:
          return new A.WhereIterable(sorted, new A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1(target), A._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
        case 3:
        case 1:
          break;
      }
      return null;
    },
    _popPolicyDataIfNeeded$3(direction, nearestScope, focusedChild) {
      var t3, popOrInvalidate, _this = this,
        t1 = _this.DirectionalFocusTraversalPolicyMixin__policyData,
        policyData = t1.$index(0, nearestScope),
        t2 = policyData != null;
      if (t2) {
        t3 = policyData.history;
        t3 = t3.length !== 0 && B.JSArray_methods.get$first(t3).direction !== direction;
      } else
        t3 = false;
      if (t3) {
        t3 = policyData.history;
        if (B.JSArray_methods.get$last(t3).node._focus_manager$_parent == null) {
          _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
          t1.remove$1(0, nearestScope);
          return false;
        }
        popOrInvalidate = new A.DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate(_this, policyData, nearestScope);
        switch (direction.index) {
          case 2:
          case 0:
            switch (B.JSArray_methods.get$first(t3).direction.index) {
              case 3:
              case 1:
                _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
                t1.remove$1(0, nearestScope);
                break;
              case 0:
              case 2:
                if (popOrInvalidate.call$1(direction))
                  return true;
                break;
            }
            break;
          case 3:
          case 1:
            switch (B.JSArray_methods.get$first(t3).direction.index) {
              case 3:
              case 1:
                if (popOrInvalidate.call$1(direction))
                  return true;
                break;
              case 0:
              case 2:
                _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
                t1.remove$1(0, nearestScope);
                break;
            }
            break;
        }
      }
      if (t2 && policyData.history.length === 0) {
        _this.super$FocusTraversalPolicy$invalidateScopeData(nearestScope);
        t1.remove$1(0, nearestScope);
      }
      return false;
    },
    inDirection$2(currentNode, direction) {
      var firstFocus, focusedScrollable, eligibleNodes, filteredEligibleNodes, found, sorted, t2, inBand, policyData, newEntry, _this = this, _null = null,
        nearestScope = currentNode.get$nearestScope(),
        t1 = nearestScope._focusedChildren,
        focusedChild = t1.length !== 0 ? B.JSArray_methods.get$last(t1) : _null;
      if (focusedChild == null) {
        firstFocus = _this.findFirstFocusInDirection$2(currentNode, direction);
        if (firstFocus == null)
          firstFocus = currentNode;
        switch (direction.index) {
          case 0:
          case 3:
            A._focusAndEnsureVisible(firstFocus, B.ScrollPositionAlignmentPolicy_2);
            break;
          case 1:
          case 2:
            A._focusAndEnsureVisible(firstFocus, B.ScrollPositionAlignmentPolicy_1);
            break;
        }
        return true;
      }
      if (_this._popPolicyDataIfNeeded$3(direction, nearestScope, focusedChild))
        return true;
      t1 = focusedChild._context;
      t1.toString;
      focusedScrollable = A.Scrollable_of(t1);
      t1 = direction.index;
      switch (t1) {
        case 2:
        case 0:
          eligibleNodes = _this._sortAndFilterVertically$3(direction, focusedChild.get$rect(focusedChild), nearestScope.get$traversalDescendants());
          if (focusedScrollable != null && !focusedScrollable._scrollable$_position.get$atEdge()) {
            eligibleNodes.toString;
            filteredEligibleNodes = new A.WhereIterable(eligibleNodes, new A.DirectionalFocusTraversalPolicyMixin_inDirection_closure(focusedScrollable), eligibleNodes.$ti._eval$1("WhereIterable<Iterable.E>"));
            if (!filteredEligibleNodes.get$isEmpty(filteredEligibleNodes))
              eligibleNodes = filteredEligibleNodes;
          }
          if (!eligibleNodes.get$iterator(eligibleNodes).moveNext$0()) {
            found = _null;
            break;
          }
          sorted = A.List_List$of(eligibleNodes, true, A._instanceType(eligibleNodes)._eval$1("Iterable.E"));
          if (direction === B.TraversalDirection_0) {
            t2 = A._arrayInstanceType(sorted)._eval$1("ReversedListIterable<1>");
            sorted = A.List_List$of(new A.ReversedListIterable(sorted, t2), true, t2._eval$1("ListIterable.E"));
          }
          inBand = new A.WhereIterable(sorted, new A.DirectionalFocusTraversalPolicyMixin_inDirection_closure0(new A.Rect(focusedChild.get$rect(focusedChild).left, -1 / 0, focusedChild.get$rect(focusedChild).right, 1 / 0)), A._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          if (!inBand.get$isEmpty(inBand)) {
            found = inBand.get$first(inBand);
            break;
          }
          A.mergeSort(sorted, new A.DirectionalFocusTraversalPolicyMixin_inDirection_closure1(focusedChild), type$.FocusNode);
          found = B.JSArray_methods.get$first(sorted);
          break;
        case 1:
        case 3:
          eligibleNodes = _this._sortAndFilterHorizontally$3(direction, focusedChild.get$rect(focusedChild), nearestScope);
          if (focusedScrollable != null && !focusedScrollable._scrollable$_position.get$atEdge()) {
            eligibleNodes.toString;
            filteredEligibleNodes = new A.WhereIterable(eligibleNodes, new A.DirectionalFocusTraversalPolicyMixin_inDirection_closure2(focusedScrollable), eligibleNodes.$ti._eval$1("WhereIterable<Iterable.E>"));
            if (!filteredEligibleNodes.get$isEmpty(filteredEligibleNodes))
              eligibleNodes = filteredEligibleNodes;
          }
          if (!eligibleNodes.get$iterator(eligibleNodes).moveNext$0()) {
            found = _null;
            break;
          }
          sorted = A.List_List$of(eligibleNodes, true, A._instanceType(eligibleNodes)._eval$1("Iterable.E"));
          if (direction === B.TraversalDirection_3) {
            t2 = A._arrayInstanceType(sorted)._eval$1("ReversedListIterable<1>");
            sorted = A.List_List$of(new A.ReversedListIterable(sorted, t2), true, t2._eval$1("ListIterable.E"));
          }
          inBand = new A.WhereIterable(sorted, new A.DirectionalFocusTraversalPolicyMixin_inDirection_closure3(new A.Rect(-1 / 0, focusedChild.get$rect(focusedChild).top, 1 / 0, focusedChild.get$rect(focusedChild).bottom)), A._arrayInstanceType(sorted)._eval$1("WhereIterable<1>"));
          if (!inBand.get$isEmpty(inBand)) {
            found = inBand.get$first(inBand);
            break;
          }
          A.mergeSort(sorted, new A.DirectionalFocusTraversalPolicyMixin_inDirection_closure4(focusedChild), type$.FocusNode);
          found = B.JSArray_methods.get$first(sorted);
          break;
        default:
          found = _null;
      }
      if (found != null) {
        t2 = _this.DirectionalFocusTraversalPolicyMixin__policyData;
        policyData = t2.$index(0, nearestScope);
        newEntry = new A._DirectionalPolicyDataEntry(direction, focusedChild);
        if (policyData != null)
          policyData.history.push(newEntry);
        else
          t2.$indexSet(0, nearestScope, new A._DirectionalPolicyData(A._setArrayType([newEntry], type$.JSArray__DirectionalPolicyDataEntry)));
        switch (t1) {
          case 0:
          case 3:
            A._focusAndEnsureVisible(found, B.ScrollPositionAlignmentPolicy_2);
            break;
          case 2:
          case 1:
            A._focusAndEnsureVisible(found, B.ScrollPositionAlignmentPolicy_1);
            break;
        }
        return true;
      }
      return false;
    }
  };
  A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure.prototype = {
    call$1(entry) {
      return entry.node === this.node;
    },
    $signature: 914
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure.prototype = {
    call$2(a, b) {
      if (this.vertical)
        if (this.first)
          return B.JSNumber_methods.compareTo$1(a.get$rect(a).top, b.get$rect(b).top);
        else
          return B.JSNumber_methods.compareTo$1(b.get$rect(b).bottom, a.get$rect(a).bottom);
      else if (this.first)
        return B.JSNumber_methods.compareTo$1(a.get$rect(a).left, b.get$rect(b).left);
      else
        return B.JSNumber_methods.compareTo$1(b.get$rect(b).right, a.get$rect(a).right);
    },
    $signature: 100
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(a.get$rect(a).get$center()._dx, b.get$rect(b).get$center()._dx);
    },
    $signature: 100
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0.prototype = {
    call$1(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dx <= t1.left;
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1.prototype = {
    call$1(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dx >= t1.right;
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(a.get$rect(a).get$center()._dy, b.get$rect(b).get$center()._dy);
    },
    $signature: 100
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0.prototype = {
    call$1(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dy <= t1.top;
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1.prototype = {
    call$1(node) {
      var t1 = this.target;
      return !node.get$rect(node).$eq(0, t1) && node.get$rect(node).get$center()._dy >= t1.bottom;
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate.prototype = {
    call$1(direction) {
      var t2, alignmentPolicy,
        lastNode = this.policyData.history.pop().node,
        t1 = lastNode._context;
      t1.toString;
      t1 = A.Scrollable_of(t1);
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._context;
      t2.toString;
      if (t1 != A.Scrollable_of(t2)) {
        t1 = this.$this;
        t2 = this.nearestScope;
        t1.super$FocusTraversalPolicy$invalidateScopeData(t2);
        t1.DirectionalFocusTraversalPolicyMixin__policyData.remove$1(0, t2);
        return false;
      }
      switch (direction.index) {
        case 0:
        case 3:
          alignmentPolicy = B.ScrollPositionAlignmentPolicy_2;
          break;
        case 1:
        case 2:
          alignmentPolicy = B.ScrollPositionAlignmentPolicy_1;
          break;
        default:
          alignmentPolicy = null;
      }
      A._focusAndEnsureVisible(lastNode, alignmentPolicy);
      return true;
    },
    $signature: 916
  };
  A.DirectionalFocusTraversalPolicyMixin_inDirection_closure.prototype = {
    call$1(node) {
      var t1 = node._context;
      t1.toString;
      return A.Scrollable_of(t1) === this.focusedScrollable;
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin_inDirection_closure0.prototype = {
    call$1(node) {
      var t1 = node.get$rect(node).intersect$1(this.band);
      return !t1.get$isEmpty(t1);
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin_inDirection_closure1.prototype = {
    call$2(a, b) {
      var t1 = this.focusedChild;
      return B.JSNumber_methods.compareTo$1(Math.abs(a.get$rect(a).get$center()._dx - t1.get$rect(t1).get$center()._dx), Math.abs(b.get$rect(b).get$center()._dx - t1.get$rect(t1).get$center()._dx));
    },
    $signature: 100
  };
  A.DirectionalFocusTraversalPolicyMixin_inDirection_closure2.prototype = {
    call$1(node) {
      var t1 = node._context;
      t1.toString;
      return A.Scrollable_of(t1) === this.focusedScrollable;
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin_inDirection_closure3.prototype = {
    call$1(node) {
      var t1 = node.get$rect(node).intersect$1(this.band);
      return !t1.get$isEmpty(t1);
    },
    $signature: 40
  };
  A.DirectionalFocusTraversalPolicyMixin_inDirection_closure4.prototype = {
    call$2(a, b) {
      var t1 = this.focusedChild;
      return B.JSNumber_methods.compareTo$1(Math.abs(a.get$rect(a).get$center()._dy - t1.get$rect(t1).get$center()._dy), Math.abs(b.get$rect(b).get$center()._dy - t1.get$rect(t1).get$center()._dy));
    },
    $signature: 100
  };
  A._ReadingOrderSortData.prototype = {
    get$directionalAncestors() {
      var t1 = this._directionalAncestors;
      if (t1 == null) {
        t1 = this.node._context;
        t1.toString;
        t1 = this._directionalAncestors = new A._ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors().call$1(t1);
      }
      t1.toString;
      return t1;
    }
  };
  A._ReadingOrderSortData_commonDirectionalityOf_closure.prototype = {
    call$1(member) {
      var t1 = member.get$directionalAncestors();
      return A.LinkedHashSet_LinkedHashSet$from(t1, A._arrayInstanceType(t1)._precomputed1);
    },
    $signature: 917
  };
  A._ReadingOrderSortData_sortWithDirectionality_closure.prototype = {
    call$2(a, b) {
      switch (this.directionality.index) {
        case 1:
          return B.JSNumber_methods.compareTo$1(a.rect.left, b.rect.left);
        case 0:
          return B.JSNumber_methods.compareTo$1(b.rect.right, a.rect.right);
      }
    },
    $signature: 258
  };
  A._ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors.prototype = {
    call$1(context) {
      var t2,
        result = A._setArrayType([], type$.JSArray_Directionality),
        t1 = type$.Directionality,
        directionalityElement = context.getElementForInheritedWidgetOfExactType$1$0(t1);
      for (; directionalityElement != null;) {
        result.push(t1._as(directionalityElement.get$widget()));
        t2 = A._getAncestor(directionalityElement, 1);
        directionalityElement = t2 == null ? null : t2.getElementForInheritedWidgetOfExactType$1$0(t1);
      }
      return result;
    },
    $signature: 919
  };
  A._ReadingOrderDirectionalGroupData.prototype = {
    get$rect(_) {
      var t1, t2, t3, t4, _this = this;
      if (_this._focus_traversal$_rect == null)
        for (t1 = _this.members, t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Rect>"), t1 = new A.MappedListIterable(t1, new A._ReadingOrderDirectionalGroupData_rect_closure(), t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          if (t3 == null)
            t3 = t2._as(t3);
          t4 = _this._focus_traversal$_rect;
          if (t4 == null) {
            _this._focus_traversal$_rect = t3;
            t4 = t3;
          }
          _this._focus_traversal$_rect = t4.expandToInclude$1(t3);
        }
      t1 = _this._focus_traversal$_rect;
      t1.toString;
      return t1;
    }
  };
  A._ReadingOrderDirectionalGroupData_rect_closure.prototype = {
    call$1(data) {
      return data.rect;
    },
    $signature: 920
  };
  A._ReadingOrderDirectionalGroupData_sortWithDirectionality_closure.prototype = {
    call$2(a, b) {
      switch (this.directionality.index) {
        case 1:
          return B.JSNumber_methods.compareTo$1(a.get$rect(a).left, b.get$rect(b).left);
        case 0:
          return B.JSNumber_methods.compareTo$1(b.get$rect(b).right, a.get$rect(a).right);
      }
    },
    $signature: 921
  };
  A.ReadingOrderTraversalPolicy.prototype = {
    _collectDirectionalityGroups$1(candidates) {
      var t2, _i, candidate, currentDirection0, t3,
        currentDirection = B.JSArray_methods.get$first(candidates).directionality,
        t1 = type$.JSArray__ReadingOrderSortData,
        currentGroup = A._setArrayType([], t1),
        result = A._setArrayType([], type$.JSArray__ReadingOrderDirectionalGroupData);
      for (t2 = candidates.length, _i = 0; _i < candidates.length; candidates.length === t2 || (0, A.throwConcurrentModificationError)(candidates), ++_i) {
        candidate = candidates[_i];
        currentDirection0 = candidate.directionality;
        if (currentDirection0 == currentDirection) {
          currentGroup.push(candidate);
          continue;
        }
        result.push(new A._ReadingOrderDirectionalGroupData(currentGroup));
        currentGroup = A._setArrayType([candidate], t1);
        currentDirection = currentDirection0;
      }
      if (currentGroup.length !== 0)
        result.push(new A._ReadingOrderDirectionalGroupData(currentGroup));
      for (t1 = result.length, _i = 0; _i < result.length; result.length === t1 || (0, A.throwConcurrentModificationError)(result), ++_i) {
        t2 = result[_i].members;
        if (t2.length === 1)
          continue;
        t3 = B.JSArray_methods.get$first(t2).directionality;
        t3.toString;
        A._ReadingOrderSortData_sortWithDirectionality(t2, t3);
      }
      return result;
    },
    _pickNext$1(candidates) {
      var topmost, inBandOfTop, nearestCommonDirectionality, bandGroups;
      A.mergeSort(candidates, new A.ReadingOrderTraversalPolicy__pickNext_closure(), type$._ReadingOrderSortData);
      topmost = B.JSArray_methods.get$first(candidates);
      inBandOfTop = new A.ReadingOrderTraversalPolicy__pickNext_inBand().call$2(topmost, candidates);
      if (J.get$length$asx(inBandOfTop) <= 1)
        return topmost;
      nearestCommonDirectionality = A._ReadingOrderSortData_commonDirectionalityOf(inBandOfTop);
      nearestCommonDirectionality.toString;
      A._ReadingOrderSortData_sortWithDirectionality(inBandOfTop, nearestCommonDirectionality);
      bandGroups = this._collectDirectionalityGroups$1(inBandOfTop);
      if (bandGroups.length === 1)
        return B.JSArray_methods.get$first(B.JSArray_methods.get$first(bandGroups).members);
      A._ReadingOrderDirectionalGroupData_sortWithDirectionality(bandGroups, nearestCommonDirectionality);
      return B.JSArray_methods.get$first(B.JSArray_methods.get$first(bandGroups).members);
    },
    sortDescendants$2(descendants, currentNode) {
      var t1, t2, t3, t4, _i, node, t5, t6, ancestor, sortedList, current, next;
      if (descendants.length <= 1)
        return descendants;
      t1 = A._setArrayType([], type$.JSArray__ReadingOrderSortData);
      for (t2 = descendants.length, t3 = type$.nullable_Directionality, t4 = type$.Directionality, _i = 0; _i < descendants.length; descendants.length === t2 || (0, A.throwConcurrentModificationError)(descendants), ++_i) {
        node = descendants[_i];
        t5 = node.get$rect(node);
        t6 = node._context._inheritedWidgets;
        ancestor = t6 == null ? null : t6.$index(0, A.createRuntimeType(t4));
        t6 = t3._as(ancestor == null ? null : ancestor.get$widget());
        t1.push(new A._ReadingOrderSortData(t6 == null ? null : t6.textDirection, t5, node));
      }
      sortedList = A._setArrayType([], type$.JSArray_FocusNode);
      current = this._pickNext$1(t1);
      sortedList.push(current.node);
      B.JSArray_methods.remove$1(t1, current);
      for (; t1.length !== 0;) {
        next = this._pickNext$1(t1);
        sortedList.push(next.node);
        B.JSArray_methods.remove$1(t1, next);
      }
      return sortedList;
    }
  };
  A.ReadingOrderTraversalPolicy__pickNext_closure.prototype = {
    call$2(a, b) {
      return B.JSNumber_methods.compareTo$1(a.rect.top, b.rect.top);
    },
    $signature: 258
  };
  A.ReadingOrderTraversalPolicy__pickNext_inBand.prototype = {
    call$2(current, candidates) {
      var t1 = current.rect,
        t2 = A._arrayInstanceType(candidates)._eval$1("WhereIterable<1>");
      return A.List_List$of(new A.WhereIterable(candidates, new A.ReadingOrderTraversalPolicy__pickNext_inBand_closure(new A.Rect(-1 / 0, t1.top, 1 / 0, t1.bottom)), t2), true, t2._eval$1("Iterable.E"));
    },
    $signature: 922
  };
  A.ReadingOrderTraversalPolicy__pickNext_inBand_closure.prototype = {
    call$1(item) {
      var t1 = item.rect.intersect$1(this.band);
      return !t1.get$isEmpty(t1);
    },
    $signature: 923
  };
  A.FocusTraversalGroup.prototype = {
    createState$0() {
      return new A._FocusTraversalGroupState(B._StateLifecycle_0);
    }
  };
  A._FocusTraversalGroupState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.focusNode = A.FocusNode$(false, "FocusTraversalGroup", true, true, null, null, true);
    },
    dispose$0() {
      var t1 = this.focusNode;
      if (t1 != null)
        t1.dispose$0();
      this.super$State$dispose();
    },
    build$1(context) {
      var _null = null,
        t1 = this._widget,
        t2 = t1.policy,
        t3 = this.focusNode;
      t3.toString;
      return new A._FocusTraversalGroupMarker(t2, t3, A.Focus$(false, false, t1.child, _null, true, true, t3, false, _null, _null, _null, _null, true), _null);
    }
  };
  A._FocusTraversalGroupMarker.prototype = {
    updateShouldNotify$1(oldWidget) {
      return false;
    }
  };
  A.RequestFocusAction.prototype = {
    invoke$1(intent) {
      A._focusAndEnsureVisible(intent.get$focusNode(intent), B.ScrollPositionAlignmentPolicy_0);
    }
  };
  A.NextFocusIntent.prototype = {};
  A.NextFocusAction.prototype = {
    invoke$1(intent) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      t1._context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, true);
    }
  };
  A.PreviousFocusIntent.prototype = {};
  A.PreviousFocusAction.prototype = {
    invoke$1(intent) {
      var t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      t1._context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy._moveFocus$2$forward(t1, false);
    }
  };
  A.DirectionalFocusIntent.prototype = {};
  A.DirectionalFocusAction.prototype = {
    invoke$1(intent) {
      var t1;
      if (!this._isForTextField) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
        t1._context.dependOnInheritedWidgetOfExactType$1$0(type$._FocusTraversalGroupMarker).policy.inDirection$2(t1, intent.direction);
      }
    }
  };
  A._FocusTraversalPolicy_Object_Diagnosticable.prototype = {};
  A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin.prototype = {
    changedScope$2$node$oldScope(node, oldScope) {
      var t1;
      this.super$FocusTraversalPolicy$changedScope(node, oldScope);
      t1 = this.DirectionalFocusTraversalPolicyMixin__policyData.$index(0, oldScope);
      if (t1 != null) {
        t1 = t1.history;
        if (!!t1.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(t1, new A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure(node), true);
      }
    }
  };
  A.__ReadingOrderDirectionalGroupData_Object_Diagnosticable.prototype = {};
  A.__ReadingOrderSortData_Object_Diagnosticable.prototype = {};
  A.GlobalKey.prototype = {
    get$currentState() {
      var t1,
        element = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this);
      if (element instanceof A.StatefulElement) {
        t1 = element._framework$_state;
        t1.toString;
        if (A._instanceType(this)._precomputed1._is(t1))
          return t1;
      }
      return null;
    }
  };
  A.LabeledGlobalKey.prototype = {
    toString$0(_) {
      var _this = this,
        t1 = _this._debugLabel,
        label = t1 != null ? " " + t1 : "";
      if (A.getRuntimeType(_this) === B.Type_LabeledGlobalKey_6TW)
        return "[GlobalKey#" + A.shortHash(_this) + label + "]";
      return "[" + ("<optimized out>#" + A.shortHash(_this)) + label + "]";
    }
  };
  A.GlobalObjectKey.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return this.$ti._is(other) && other.value === this.value;
    },
    get$hashCode(_) {
      return A.objectHashCode(this.value);
    },
    toString$0(_) {
      var _s15_ = "GlobalObjectKey",
        selfType = B.JSString_methods.endsWith$1(_s15_, "<State<StatefulWidget>>") ? B.JSString_methods.substring$2(_s15_, 0, -8) : _s15_;
      return "[" + selfType + " " + ("<optimized out>#" + A.shortHash(this.value)) + "]";
    }
  };
  A.Widget.prototype = {
    toStringShort$0() {
      var t1 = this.key;
      return t1 == null ? "Widget" : "Widget-" + t1.toString$0(0);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return this.super$Object$$eq(0, other);
    },
    get$hashCode(_) {
      return A.Object.prototype.get$hashCode.call(this, this);
    }
  };
  A.StatelessWidget.prototype = {
    createElement$0(_) {
      return new A.StatelessElement(this, B._ElementLifecycle_0);
    }
  };
  A.StatefulWidget.prototype = {
    createElement$0(_) {
      return A.StatefulElement$(this);
    }
  };
  A._StateLifecycle.prototype = {
    toString$0(_) {
      return "_StateLifecycle." + this._core$_name;
    }
  };
  A.State.prototype = {
    initState$0() {
    },
    didUpdateWidget$1(oldWidget) {
    },
    reassemble$0() {
    },
    setState$1(fn) {
      fn.call$0();
      this._framework$_element.markNeedsBuild$0();
    },
    deactivate$0() {
    },
    activate$0() {
    },
    dispose$0() {
    },
    didChangeDependencies$0() {
    }
  };
  A.ProxyWidget.prototype = {};
  A.ParentDataWidget.prototype = {
    createElement$0(_) {
      return new A.ParentDataElement(this, B._ElementLifecycle_0, A._instanceType(this)._eval$1("ParentDataElement<ParentDataWidget.T>"));
    }
  };
  A.InheritedWidget.prototype = {
    createElement$0(_) {
      return A.InheritedElement$(this);
    }
  };
  A.RenderObjectWidget.prototype = {
    updateRenderObject$2(context, renderObject) {
    },
    didUnmountRenderObject$1(renderObject) {
    }
  };
  A.LeafRenderObjectWidget.prototype = {
    createElement$0(_) {
      return new A.LeafRenderObjectElement(this, B._ElementLifecycle_0);
    }
  };
  A.SingleChildRenderObjectWidget.prototype = {
    createElement$0(_) {
      return new A.SingleChildRenderObjectElement(this, B._ElementLifecycle_0);
    }
  };
  A.MultiChildRenderObjectWidget.prototype = {
    createElement$0(_) {
      return A.MultiChildRenderObjectElement$(this);
    }
  };
  A._ElementLifecycle.prototype = {
    toString$0(_) {
      return "_ElementLifecycle." + this._core$_name;
    }
  };
  A._InactiveElements.prototype = {
    _unmount$1(element) {
      element.visitChildren$1(new A._InactiveElements__unmount_closure(this, element));
      element.unmount$0();
    },
    _unmountAll$0() {
      var elements, t1, elements0, _this = this;
      _this._locked = true;
      t1 = _this._framework$_elements;
      elements0 = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
      B.JSArray_methods.sort$1(elements0, A.framework_Element__sort$closure());
      elements = elements0;
      t1.clear$0(0);
      try {
        t1 = elements;
        new A.ReversedListIterable(t1, A.instanceType(t1)._eval$1("ReversedListIterable<1>")).forEach$1(0, _this.get$_unmount());
      } finally {
        _this._locked = false;
      }
    }
  };
  A._InactiveElements__unmount_closure.prototype = {
    call$1(child) {
      this.$this._unmount$1(child);
    },
    $signature: 17
  };
  A.BuildOwner.prototype = {
    scheduleBuildFor$1(element) {
      var _this = this;
      if (element._inDirtyList) {
        _this._dirtyElementsNeedsResorting = true;
        return;
      }
      if (!_this._scheduledFlushDirtyElements && _this.onBuildScheduled != null) {
        _this._scheduledFlushDirtyElements = true;
        _this.onBuildScheduled.call$0();
      }
      _this._dirtyElements.push(element);
      element._inDirtyList = true;
    },
    lockState$1(callback) {
      try {
        callback.call$0();
      } finally {
      }
    },
    buildScope$2(context, callback) {
      var element, isTimelineTracked, e, stack, element0, t2, isTimelineTracked0, rti, exception, t3, t4, _i, _this = this, _null = null, _box_1 = {},
        t1 = callback == null;
      if (t1 && _this._dirtyElements.length === 0)
        return;
      _box_1.debugTimelineArguments = null;
      A.Timeline_startSync("BUILD", _null, _null);
      try {
        _this._scheduledFlushDirtyElements = true;
        if (!t1) {
          _box_1.debugPreviousBuildTarget = null;
          _this._dirtyElementsNeedsResorting = false;
          try {
            callback.call$0();
          } finally {
          }
        }
        t1 = _this._dirtyElements;
        B.JSArray_methods.sort$1(t1, A.framework_Element__sort$closure());
        _this._dirtyElementsNeedsResorting = false;
        _box_1.dirtyCount = t1.length;
        _box_1.index = 0;
        for (t2 = 0; t2 < _box_1.dirtyCount;) {
          element = t1[t2];
          element.get$widget();
          if (!$.debugProfileBuildsEnabled) {
            $.debugProfileBuildsEnabledUserWidgets;
            isTimelineTracked0 = false;
          } else
            isTimelineTracked0 = true;
          isTimelineTracked = isTimelineTracked0;
          if (isTimelineTracked) {
            t2 = element.get$widget();
            rti = t2 instanceof A.Closure ? A.closureFunctionType(t2) : _null;
            A.Timeline_startSync(A.createRuntimeType(rti == null ? A.instanceType(t2) : rti).toString$0(0), _null, _null);
          }
          try {
            element.rebuild$0();
          } catch (exception) {
            e = A.unwrapException(exception);
            stack = A.getTraceFromException(exception);
            t2 = A.ErrorDescription$("while rebuilding dirty elements");
            t3 = $.$get$FlutterError_onError();
            if (t3 != null)
              t3.call$1(new A.FlutterErrorDetails(e, stack, "widgets library", t2, new A.BuildOwner_buildScope_closure(_box_1, _this, element), false));
          }
          if (isTimelineTracked)
            A.Timeline_finishSync();
          t2 = ++_box_1.index;
          t3 = _box_1.dirtyCount;
          t4 = t1.length;
          if (t3 >= t4) {
            t3 = _this._dirtyElementsNeedsResorting;
            t3.toString;
          } else
            t3 = true;
          if (t3) {
            if (!!t1.immutable$list)
              A.throwExpression(A.UnsupportedError$("sort"));
            t2 = t4 - 1;
            if (t2 - 0 <= 32)
              A.Sort__insertionSort(t1, 0, t2, A.framework_Element__sort$closure());
            else
              A.Sort__dualPivotQuicksort(t1, 0, t2, A.framework_Element__sort$closure());
            t2 = _this._dirtyElementsNeedsResorting = false;
            _box_1.dirtyCount = t1.length;
            while (true) {
              t3 = _box_1.index;
              if (!(t3 > 0 ? t1[t3 - 1]._dirty : t2))
                break;
              _box_1.index = t3 - 1;
            }
            t2 = t3;
          }
        }
      } finally {
        for (t1 = _this._dirtyElements, t2 = t1.length, _i = 0; _i < t2; ++_i) {
          element0 = t1[_i];
          element0._inDirtyList = false;
        }
        B.JSArray_methods.clear$0(t1);
        _this._scheduledFlushDirtyElements = false;
        _this._dirtyElementsNeedsResorting = null;
        A.Timeline_finishSync();
      }
    },
    buildScope$1(context) {
      return this.buildScope$2(context, null);
    },
    finalizeTree$0() {
      var e, stack, exception;
      A.Timeline_startSync("FINALIZE TREE", null, null);
      try {
        this.lockState$1(this._inactiveElements.get$_unmountAll());
      } catch (exception) {
        e = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        A._debugReportException(A.ErrorSummary$("while finalizing the widget tree"), e, stack, null);
      } finally {
        A.Timeline_finishSync();
      }
    },
    reassemble$2(root, reassembleConfig) {
      A.Timeline_startSync("Preparing Hot Reload (widgets)", null, null);
      try {
        root._debugReassembleConfig = reassembleConfig;
        root.reassemble$0();
      } finally {
        A.Timeline_finishSync();
      }
    }
  };
  A.BuildOwner_buildScope_closure.prototype = {
    call$0() {
      var _null = null,
        t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        t2 = this._box_1,
        t3 = t2.index,
        t4 = this.$this._dirtyElements.length,
        t5 = "The element being rebuilt at the time was index " + t3;
      t2 = "" + t2.dirtyCount;
      if (t3 < t4)
        J.add$1$ax(t1, A.DiagnosticsProperty$(t5 + " of " + t2, this.element, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.Element_2));
      else
        J.add$1$ax(t1, A.ErrorHint$(t5 + " of " + t2 + ", but _dirtyElements only had " + t4 + " entries. This suggests some confusion in the framework internals."));
      return t1;
    },
    $signature: 36
  };
  A.NotifiableElementMixin.prototype = {
    attachNotificationTree$0() {
      var t1 = this._framework$_parent;
      this._notificationTree = new A._NotificationNode(this, t1 == null ? null : t1._notificationTree);
    }
  };
  A._NotificationNode.prototype = {
    dispatchNotification$1(notification) {
      var t1 = this.current.onNotification$1(notification);
      if (t1)
        return;
      t1 = this.parent;
      if (t1 != null)
        t1.dispatchNotification$1(notification);
    }
  };
  A.Element.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return this === other;
    },
    get$widget() {
      var t1 = this._widget;
      t1.toString;
      return t1;
    },
    reassemble$0() {
      var _this = this;
      if (A._debugShouldReassemble(_this._debugReassembleConfig, _this._widget)) {
        _this.markNeedsBuild$0();
        _this._debugReassembleConfig = null;
      }
      _this.visitChildren$1(new A.Element_reassemble_closure(_this));
      _this._debugReassembleConfig = null;
    },
    get$renderObject() {
      var t1 = {};
      t1.result = null;
      new A.Element_renderObject_visit(t1).call$1(this);
      return t1.result;
    },
    describeElement$1($name) {
      var _null = null;
      return A.DiagnosticsProperty$($name, this, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.Element_2);
    },
    visitChildren$1(visitor) {
    },
    updateChild$3(child, newWidget, newSlot) {
      var t1, isTimelineTracked, newChild, _this = this;
      if (newWidget == null) {
        if (child != null)
          _this.deactivateChild$1(child);
        return null;
      }
      if (child != null) {
        t1 = child.get$widget().$eq(0, newWidget);
        if (t1) {
          if (!J.$eq$(child._slot, newSlot))
            _this.updateSlotForChild$2(child, newSlot);
          t1 = child;
        } else {
          t1 = child.get$widget();
          t1 = A.getRuntimeType(t1) === A.getRuntimeType(newWidget) && J.$eq$(t1.key, newWidget.key);
          if (t1) {
            if (!J.$eq$(child._slot, newSlot))
              _this.updateSlotForChild$2(child, newSlot);
            if (!$.debugProfileBuildsEnabled) {
              t1 = $.debugProfileBuildsEnabledUserWidgets && A.debugIsWidgetLocalCreation(newWidget);
              isTimelineTracked = t1;
            } else
              isTimelineTracked = true;
            if (isTimelineTracked)
              A.Timeline_startSync(A.getRuntimeType(newWidget).toString$0(0), null, null);
            child.update$1(0, newWidget);
            if (isTimelineTracked)
              A.Timeline_finishSync();
            t1 = child;
          } else {
            _this.deactivateChild$1(child);
            newChild = _this.inflateWidget$2(newWidget, newSlot);
            t1 = newChild;
          }
        }
      } else {
        newChild = _this.inflateWidget$2(newWidget, newSlot);
        t1 = newChild;
      }
      return t1;
    },
    mount$2($parent, newSlot) {
      var t1, t2, key, _this = this;
      _this._framework$_parent = $parent;
      _this._slot = newSlot;
      _this._lifecycleState = B._ElementLifecycle_1;
      t1 = $parent != null;
      if (t1) {
        t2 = $parent.__Element__depth;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        ++t2;
      } else
        t2 = 1;
      _this.__Element__depth = t2;
      if (t1)
        _this._framework$_owner = $parent._framework$_owner;
      key = _this.get$widget().key;
      if (key instanceof A.GlobalKey)
        _this._framework$_owner._globalKeyRegistry.$indexSet(0, key, _this);
      _this._updateInheritance$0();
      _this.attachNotificationTree$0();
    },
    update$1(_, newWidget) {
      this._widget = newWidget;
    },
    updateSlotForChild$2(child, newSlot) {
      new A.Element_updateSlotForChild_visit(newSlot).call$1(child);
    },
    _updateSlot$1(newSlot) {
      this._slot = newSlot;
    },
    _updateDepth$1(parentDepth) {
      var expectedDepth = parentDepth + 1,
        t1 = this.__Element__depth;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 < expectedDepth) {
        this.__Element__depth = expectedDepth;
        this.visitChildren$1(new A.Element__updateDepth_closure(expectedDepth));
      }
    },
    detachRenderObject$0() {
      this.visitChildren$1(new A.Element_detachRenderObject_closure());
      this._slot = null;
    },
    attachRenderObject$1(newSlot) {
      this.visitChildren$1(new A.Element_attachRenderObject_closure(newSlot));
      this._slot = newSlot;
    },
    _retakeInactiveElement$2(key, newWidget) {
      var t1, $parent,
        element = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, key);
      if (element == null)
        return null;
      t1 = element.get$widget();
      if (!(A.getRuntimeType(t1) === A.getRuntimeType(newWidget) && J.$eq$(t1.key, newWidget.key)))
        return null;
      $parent = element._framework$_parent;
      if ($parent != null) {
        $parent.forgetChild$1(element);
        $parent.deactivateChild$1(element);
      }
      this._framework$_owner._inactiveElements._framework$_elements.remove$1(0, element);
      return element;
    },
    inflateWidget$2(newWidget, newSlot) {
      var isTimelineTracked, key, newChild, updatedChild, newChild0, t1, isTimelineTracked0, t2, _this = this;
      if (!$.debugProfileBuildsEnabled) {
        t1 = $.debugProfileBuildsEnabledUserWidgets && A.debugIsWidgetLocalCreation(newWidget);
        isTimelineTracked0 = t1;
      } else
        isTimelineTracked0 = true;
      isTimelineTracked = isTimelineTracked0;
      if (isTimelineTracked)
        A.Timeline_startSync(A.getRuntimeType(newWidget).toString$0(0), null, null);
      try {
        key = newWidget.key;
        if (key instanceof A.GlobalKey) {
          newChild = _this._retakeInactiveElement$2(key, newWidget);
          if (newChild != null) {
            t1 = newChild;
            t1._framework$_parent = _this;
            t1.toString;
            t2 = _this.__Element__depth;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t1._updateDepth$1(t2);
            t1.activate$0();
            t1.visitChildren$1(A.framework_Element__activateRecursively$closure());
            t1.attachRenderObject$1(newSlot);
            updatedChild = _this.updateChild$3(newChild, newWidget, newSlot);
            t1 = updatedChild;
            t1.toString;
            return t1;
          }
        }
        newChild0 = newWidget.createElement$0(0);
        newChild0.mount$2(_this, newSlot);
        return newChild0;
      } finally {
        if (isTimelineTracked)
          A.Timeline_finishSync();
      }
    },
    deactivateChild$1(child) {
      var t1;
      child._framework$_parent = null;
      child.detachRenderObject$0();
      t1 = this._framework$_owner._inactiveElements;
      if (child._lifecycleState === B._ElementLifecycle_1) {
        child.deactivate$0();
        child.visitChildren$1(A.framework__InactiveElements__deactivateRecursively$closure());
      }
      t1._framework$_elements.add$1(0, child);
    },
    forgetChild$1(child) {
    },
    activate$0() {
      var _this = this,
        t1 = _this._dependencies,
        t2 = t1 == null,
        hadDependencies = !t2 && t1._collection$_length !== 0 || _this._hadUnsatisfiedDependencies;
      _this._lifecycleState = B._ElementLifecycle_1;
      if (!t2)
        t1.clear$0(0);
      _this._hadUnsatisfiedDependencies = false;
      _this._updateInheritance$0();
      _this.attachNotificationTree$0();
      if (_this._dirty)
        _this._framework$_owner.scheduleBuildFor$1(_this);
      if (hadDependencies)
        _this.didChangeDependencies$0();
    },
    deactivate$0() {
      var t2, t3, _this = this,
        t1 = _this._dependencies;
      if (t1 != null && t1._collection$_length !== 0)
        for (t2 = A._instanceType(t1), t1 = new A._HashSetIterator(t1, t1._computeElements$0(), t2._eval$1("_HashSetIterator<1>")), t2 = t2._precomputed1; t1.moveNext$0();) {
          t3 = t1._collection$_current;
          (t3 == null ? t2._as(t3) : t3)._dependents.remove$1(0, _this);
        }
      _this._inheritedWidgets = null;
      _this._lifecycleState = B._ElementLifecycle_2;
    },
    unmount$0() {
      var _this = this,
        t1 = _this._widget,
        key = t1 == null ? null : t1.key;
      if (key instanceof A.GlobalKey) {
        t1 = _this._framework$_owner._globalKeyRegistry;
        if (J.$eq$(t1.$index(0, key), _this))
          t1.remove$1(0, key);
      }
      _this._dependencies = _this._widget = null;
      _this._lifecycleState = B._ElementLifecycle_3;
    },
    get$size(_) {
      var t1,
        renderObject = this.get$renderObject();
      if (renderObject instanceof A.RenderBox) {
        t1 = renderObject._box$_size;
        t1.toString;
        return t1;
      }
      return null;
    },
    dependOnInheritedElement$2$aspect(ancestor, aspect) {
      var t1 = this._dependencies;
      (t1 == null ? this._dependencies = A.HashSet_HashSet(type$.InheritedElement) : t1).add$1(0, ancestor);
      ancestor.updateDependencies$2(this, aspect);
      return type$.InheritedWidget._as(ancestor.get$widget());
    },
    dependOnInheritedWidgetOfExactType$1$0($T) {
      var t1 = this._inheritedWidgets,
        ancestor = t1 == null ? null : t1.$index(0, A.createRuntimeType($T));
      if (ancestor != null)
        return $T._as(this.dependOnInheritedElement$2$aspect(ancestor, null));
      this._hadUnsatisfiedDependencies = true;
      return null;
    },
    getElementForInheritedWidgetOfExactType$1$0($T) {
      var t1 = this._inheritedWidgets;
      return t1 == null ? null : t1.$index(0, A.createRuntimeType($T));
    },
    attachNotificationTree$0() {
      var t1 = this._framework$_parent;
      this._notificationTree = t1 == null ? null : t1._notificationTree;
    },
    _updateInheritance$0() {
      var t1 = this._framework$_parent;
      this._inheritedWidgets = t1 == null ? null : t1._inheritedWidgets;
    },
    findAncestorWidgetOfExactType$1$0($T) {
      var t1, t2, rti,
        ancestor = this._framework$_parent;
      while (true) {
        t1 = ancestor == null;
        if (!t1) {
          t2 = ancestor.get$widget();
          rti = t2 instanceof A.Closure ? A.closureFunctionType(t2) : null;
          t2 = A.createRuntimeType(rti == null ? A.instanceType(t2) : rti) !== A.createRuntimeType($T);
        } else
          t2 = false;
        if (!t2)
          break;
        ancestor = ancestor._framework$_parent;
      }
      t1 = t1 ? null : ancestor.get$widget();
      return $T._eval$1("0?")._as(t1);
    },
    findAncestorStateOfType$1$0($T) {
      var t1, t2,
        ancestor = this._framework$_parent;
      for (; t1 = ancestor == null, !t1;) {
        if (ancestor instanceof A.StatefulElement) {
          t2 = ancestor._framework$_state;
          t2.toString;
          t2 = $T._is(t2);
        } else
          t2 = false;
        if (t2)
          break;
        ancestor = ancestor._framework$_parent;
      }
      type$.nullable_StatefulElement._as(ancestor);
      if (t1)
        t1 = null;
      else {
        t1 = ancestor._framework$_state;
        t1.toString;
      }
      return $T._eval$1("0?")._as(t1);
    },
    findRootAncestorStateOfType$1$0($T) {
      var statefulAncestor, t1,
        ancestor = this._framework$_parent;
      for (statefulAncestor = null; ancestor != null;) {
        if (ancestor instanceof A.StatefulElement) {
          t1 = ancestor._framework$_state;
          t1.toString;
          t1 = $T._is(t1);
        } else
          t1 = false;
        if (t1)
          statefulAncestor = ancestor;
        ancestor = ancestor._framework$_parent;
      }
      if (statefulAncestor == null)
        t1 = null;
      else {
        t1 = statefulAncestor._framework$_state;
        t1.toString;
      }
      return $T._eval$1("0?")._as(t1);
    },
    findAncestorRenderObjectOfType$1$0($T) {
      var ancestor = this._framework$_parent;
      for (; ancestor != null;) {
        if (ancestor instanceof A.RenderObjectElement && $T._is(ancestor.get$renderObject()))
          return $T._as(ancestor.get$renderObject());
        ancestor = ancestor._framework$_parent;
      }
      return null;
    },
    visitAncestorElements$1(visitor) {
      var ancestor = this._framework$_parent;
      while (true) {
        if (!(ancestor != null && visitor.call$1(ancestor)))
          break;
        ancestor = ancestor._framework$_parent;
      }
    },
    didChangeDependencies$0() {
      this.markNeedsBuild$0();
    },
    dispatchNotification$1(notification) {
      var t1 = this._notificationTree;
      if (t1 != null)
        t1.dispatchNotification$1(notification);
    },
    toStringShort$0() {
      var t1 = this._widget;
      t1 = t1 == null ? null : t1.toStringShort$0();
      return t1 == null ? "<optimized out>#" + A.shortHash(this) + "(DEFUNCT)" : t1;
    },
    toDiagnosticsNode$2$name$style($name, style) {
      return A._ElementDiagnosticableTreeNode$($name, false, style, this);
    },
    toDiagnosticsNode$0() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    },
    debugDescribeChildren$0() {
      var children = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      this.visitChildren$1(new A.Element_debugDescribeChildren_closure(children));
      return children;
    },
    markNeedsBuild$0() {
      var _this = this;
      if (_this._lifecycleState !== B._ElementLifecycle_1)
        return;
      if (_this._dirty)
        return;
      _this._dirty = true;
      _this._framework$_owner.scheduleBuildFor$1(_this);
    },
    rebuild$0() {
      if (this._lifecycleState !== B._ElementLifecycle_1 || !this._dirty)
        return;
      this.performRebuild$0();
    },
    $isBuildContext: 1
  };
  A.Element_reassemble_closure.prototype = {
    call$1(child) {
      child._debugReassembleConfig = this.$this._debugReassembleConfig;
      child.reassemble$0();
    },
    $signature: 17
  };
  A.Element_renderObject_visit.prototype = {
    call$1(element) {
      if (element._lifecycleState === B._ElementLifecycle_3)
        return;
      else if (element instanceof A.RenderObjectElement)
        this._box_0.result = element.get$renderObject();
      else
        element.visitChildren$1(this);
    },
    $signature: 17
  };
  A.Element_updateSlotForChild_visit.prototype = {
    call$1(element) {
      element._updateSlot$1(this.newSlot);
      if (!(element instanceof A.RenderObjectElement))
        element.visitChildren$1(this);
    },
    $signature: 17
  };
  A.Element__updateDepth_closure.prototype = {
    call$1(child) {
      child._updateDepth$1(this.expectedDepth);
    },
    $signature: 17
  };
  A.Element_detachRenderObject_closure.prototype = {
    call$1(child) {
      child.detachRenderObject$0();
    },
    $signature: 17
  };
  A.Element_attachRenderObject_closure.prototype = {
    call$1(child) {
      child.attachRenderObject$1(this.newSlot);
    },
    $signature: 17
  };
  A.Element_debugDescribeChildren_closure.prototype = {
    call$1(child) {
      this.children.push(child.toDiagnosticsNode$0());
    },
    $signature: 17
  };
  A._ElementDiagnosticableTreeNode.prototype = {};
  A.ErrorWidget.prototype = {
    createRenderObject$1(context) {
      var t1 = this.message,
        t2 = new A.RenderErrorBox(t1, A.LayerHandle$(type$.ContainerLayer_2));
      t2.RenderObject$0();
      t2.RenderErrorBox$1(t1);
      return t2;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.ComponentElement.prototype = {
    mount$2($parent, newSlot) {
      this.super$Element$mount($parent, newSlot);
      this._firstBuild$0();
    },
    _firstBuild$0() {
      this.rebuild$0();
    },
    performRebuild$0() {
      var e, stack, e0, stack0, exception, built0, _this = this, built = null;
      try {
        built = _this.build$0();
        _this.get$widget();
      } catch (exception) {
        e = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        _this._debugDoingBuild = false;
        built0 = A.ErrorWidget__defaultErrorWidgetBuilder(A._debugReportException(A.ErrorDescription$("building " + _this.toString$0(0)), e, stack, new A.ComponentElement_performRebuild_closure(_this)));
        built = built0;
      } finally {
        _this._dirty = false;
      }
      try {
        _this._framework$_child = _this.updateChild$3(_this._framework$_child, built, _this._slot);
      } catch (exception) {
        e0 = A.unwrapException(exception);
        stack0 = A.getTraceFromException(exception);
        built0 = A.ErrorWidget__defaultErrorWidgetBuilder(A._debugReportException(A.ErrorDescription$("building " + _this.toString$0(0)), e0, stack0, new A.ComponentElement_performRebuild_closure0(_this)));
        built = built0;
        _this._framework$_child = _this.updateChild$3(null, built, _this._slot);
      }
    },
    visitChildren$1(visitor) {
      var t1 = this._framework$_child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1(child) {
      this._framework$_child = null;
      this.super$Element$forgetChild(child);
    }
  };
  A.ComponentElement_performRebuild_closure.prototype = {
    call$0() {
      var t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      return t1;
    },
    $signature: 36
  };
  A.ComponentElement_performRebuild_closure0.prototype = {
    call$0() {
      var t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      return t1;
    },
    $signature: 36
  };
  A.StatelessElement.prototype = {
    build$0() {
      return type$.StatelessWidget._as(this.get$widget()).build$1(this);
    },
    update$1(_, newWidget) {
      this.super$Element$update(0, newWidget);
      this._dirty = true;
      this.rebuild$0();
    }
  };
  A.StatefulElement.prototype = {
    build$0() {
      return this._framework$_state.build$1(this);
    },
    reassemble$0() {
      var _this = this;
      if (A._debugShouldReassemble(_this._debugReassembleConfig, _this._widget))
        _this._framework$_state.reassemble$0();
      _this.super$Element$reassemble();
    },
    _firstBuild$0() {
      var debugCheckForReturnedFuture, _this = this;
      try {
        _this._debugAllowIgnoredCallsToMarkNeedsBuild = true;
        debugCheckForReturnedFuture = _this._framework$_state.initState$0();
      } finally {
        _this._debugAllowIgnoredCallsToMarkNeedsBuild = false;
      }
      _this._framework$_state.didChangeDependencies$0();
      _this.super$ComponentElement$_firstBuild();
    },
    performRebuild$0() {
      var _this = this;
      if (_this._didChangeDependencies) {
        _this._framework$_state.didChangeDependencies$0();
        _this._didChangeDependencies = false;
      }
      _this.super$ComponentElement$performRebuild();
    },
    update$1(_, newWidget) {
      var oldWidget, debugCheckForReturnedFuture, t1, t2, _this = this;
      _this.super$Element$update(0, newWidget);
      t1 = _this._framework$_state;
      t2 = t1._widget;
      t2.toString;
      oldWidget = t2;
      _this._dirty = true;
      t2 = _this._widget;
      t2.toString;
      t1._widget = type$.StatefulWidget._as(t2);
      try {
        _this._debugAllowIgnoredCallsToMarkNeedsBuild = true;
        debugCheckForReturnedFuture = t1.didUpdateWidget$1(oldWidget);
      } finally {
        _this._debugAllowIgnoredCallsToMarkNeedsBuild = false;
      }
      _this.rebuild$0();
    },
    activate$0() {
      this.super$Element$activate();
      this._framework$_state.activate$0();
      this.markNeedsBuild$0();
    },
    deactivate$0() {
      this._framework$_state.deactivate$0();
      this.super$Element$deactivate();
    },
    unmount$0() {
      var _this = this;
      _this.super$Element$unmount();
      _this._framework$_state.dispose$0();
      _this._framework$_state = _this._framework$_state._framework$_element = null;
    },
    dependOnInheritedElement$2$aspect(ancestor, aspect) {
      return this.super$Element$dependOnInheritedElement(ancestor, aspect);
    },
    didChangeDependencies$0() {
      this.super$Element$didChangeDependencies();
      this._didChangeDependencies = true;
    },
    toDiagnosticsNode$2$name$style($name, style) {
      return A._ElementDiagnosticableTreeNode$($name, true, style, this);
    },
    toDiagnosticsNode$0() {
      return this.toDiagnosticsNode$2$name$style(null, null);
    }
  };
  A.ProxyElement.prototype = {
    build$0() {
      return type$.ProxyWidget._as(this.get$widget()).child;
    },
    update$1(_, newWidget) {
      var _this = this,
        oldWidget = type$.ProxyWidget._as(_this.get$widget());
      _this.super$Element$update(0, newWidget);
      _this.updated$1(oldWidget);
      _this._dirty = true;
      _this.rebuild$0();
    },
    updated$1(oldWidget) {
      this.notifyClients$1(oldWidget);
    }
  };
  A.ParentDataElement.prototype = {
    _applyParentData$1(widget) {
      this.visitChildren$1(new A.ParentDataElement__applyParentData_applyParentDataToChild(widget));
    },
    notifyClients$1(oldWidget) {
      var t1 = this._widget;
      t1.toString;
      this._applyParentData$1(this.$ti._eval$1("ParentDataWidget<1>")._as(t1));
    }
  };
  A.ParentDataElement__applyParentData_applyParentDataToChild.prototype = {
    call$1(child) {
      if (child instanceof A.RenderObjectElement)
        this.widget.applyParentData$1(child.get$renderObject());
      else
        child.visitChildren$1(this);
    },
    $signature: 17
  };
  A.InheritedElement.prototype = {
    _updateInheritance$0() {
      var t2, _this = this, _null = null,
        t1 = _this._framework$_parent,
        incomingWidgets = t1 == null ? _null : t1._inheritedWidgets;
      t1 = type$.Type;
      t2 = type$.InheritedElement;
      if (incomingWidgets != null) {
        t1 = A.HashMap_HashMap(_null, _null, _null, t1, t2);
        t1.addAll$1(0, incomingWidgets);
        _this._inheritedWidgets = t1;
      } else
        t1 = _this._inheritedWidgets = A.HashMap_HashMap(_null, _null, _null, t1, t2);
      t1.$indexSet(0, A.getRuntimeType(_this.get$widget()), _this);
    },
    setDependencies$2(dependent, value) {
      this._dependents.$indexSet(0, dependent, value);
    },
    updateDependencies$2(dependent, aspect) {
      this.setDependencies$2(dependent, null);
    },
    notifyDependent$2(oldWidget, dependent) {
      dependent.didChangeDependencies$0();
    },
    updated$1(oldWidget) {
      if (type$.InheritedWidget._as(this.get$widget()).updateShouldNotify$1(oldWidget))
        this.super$ProxyElement$updated(oldWidget);
    },
    notifyClients$1(oldWidget) {
      var t1, t2, t3;
      for (t1 = this._dependents, t2 = A._instanceType(t1), t1 = new A._HashMapKeyIterator(t1, t1._computeKeys$0(), t2._eval$1("_HashMapKeyIterator<1>")), t2 = t2._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        this.notifyDependent$2(oldWidget, t3 == null ? t2._as(t3) : t3);
      }
    }
  };
  A.RenderObjectElement.prototype = {
    get$renderObject() {
      var t1 = this._renderObject;
      t1.toString;
      return t1;
    },
    _findAncestorRenderObjectElement$0() {
      var ancestor = this._framework$_parent;
      while (true) {
        if (!(ancestor != null && !(ancestor instanceof A.RenderObjectElement)))
          break;
        ancestor = ancestor._framework$_parent;
      }
      return type$.nullable_RenderObjectElement._as(ancestor);
    },
    _findAncestorParentDataElement$0() {
      var ancestor, _box_0 = {},
        t1 = _box_0.ancestor = this._framework$_parent;
      _box_0.result = null;
      while (true) {
        if (!(t1 != null && !(t1 instanceof A.RenderObjectElement)))
          break;
        if (t1 instanceof A.ParentDataElement) {
          _box_0.result = t1;
          break;
        }
        ancestor = t1._framework$_parent;
        _box_0.ancestor = ancestor;
        t1 = ancestor;
      }
      return _box_0.result;
    },
    mount$2($parent, newSlot) {
      var t1, _this = this;
      _this.super$Element$mount($parent, newSlot);
      t1 = _this._widget;
      t1.toString;
      _this._renderObject = type$.RenderObjectWidget._as(t1).createRenderObject$1(_this);
      _this.attachRenderObject$1(newSlot);
      _this._dirty = false;
    },
    update$1(_, newWidget) {
      this.super$Element$update(0, newWidget);
      this._performRebuild$0();
    },
    performRebuild$0() {
      this._performRebuild$0();
    },
    _performRebuild$0() {
      var _this = this,
        t1 = _this._widget;
      t1.toString;
      type$.RenderObjectWidget._as(t1).updateRenderObject$2(_this, _this.get$renderObject());
      _this._dirty = false;
    },
    updateChildren$4$forgottenChildren$slots(oldChildren, newWidgets, forgottenChildren, slots) {
      var oldChild, newWidget, t4, rti, t5, haveOldChildren, oldKeyedChildren, key, _this = this, _null = null,
        replaceWithNullIfForgotten = new A.RenderObjectElement_updateChildren_replaceWithNullIfForgotten(forgottenChildren),
        slotFor = new A.RenderObjectElement_updateChildren_slotFor(slots),
        t1 = J.getInterceptor$asx(newWidgets),
        newChildrenBottom = t1.get$length(newWidgets) - 1,
        t2 = J.getInterceptor$asx(oldChildren),
        oldChildrenBottom = t2.get$length(oldChildren) - 1,
        newChildren = t2.get$length(oldChildren) === t1.get$length(newWidgets) ? oldChildren : A.List_List$filled(t1.get$length(newWidgets), $.$get$_NullElement_instance(), false, type$.Element_2),
        t3 = J.getInterceptor$ax(newChildren),
        previousChild = _null,
        newChildrenTop = 0, oldChildrenTop = 0;
      while (true) {
        if (!(oldChildrenTop <= oldChildrenBottom && newChildrenTop <= newChildrenBottom))
          break;
        oldChild = replaceWithNullIfForgotten.call$1(t2.$index(oldChildren, oldChildrenTop));
        newWidget = t1.$index(newWidgets, newChildrenTop);
        if (oldChild != null) {
          t4 = oldChild.get$widget();
          rti = t4 instanceof A.Closure ? A.closureFunctionType(t4) : _null;
          t5 = A.createRuntimeType(rti == null ? A.instanceType(t4) : rti);
          rti = newWidget instanceof A.Closure ? A.closureFunctionType(newWidget) : _null;
          t4 = !(t5 === A.createRuntimeType(rti == null ? A.instanceType(newWidget) : rti) && J.$eq$(t4.key, newWidget.key));
        } else
          t4 = true;
        if (t4)
          break;
        t4 = _this.updateChild$3(oldChild, newWidget, slotFor.call$2(newChildrenTop, previousChild));
        t4.toString;
        t3.$indexSet(newChildren, newChildrenTop, t4);
        ++newChildrenTop;
        ++oldChildrenTop;
        previousChild = t4;
      }
      while (true) {
        haveOldChildren = oldChildrenTop <= oldChildrenBottom;
        if (!(haveOldChildren && newChildrenTop <= newChildrenBottom))
          break;
        oldChild = replaceWithNullIfForgotten.call$1(t2.$index(oldChildren, oldChildrenBottom));
        newWidget = t1.$index(newWidgets, newChildrenBottom);
        if (oldChild != null) {
          t4 = oldChild.get$widget();
          rti = t4 instanceof A.Closure ? A.closureFunctionType(t4) : _null;
          t5 = A.createRuntimeType(rti == null ? A.instanceType(t4) : rti);
          rti = newWidget instanceof A.Closure ? A.closureFunctionType(newWidget) : _null;
          t4 = !(t5 === A.createRuntimeType(rti == null ? A.instanceType(newWidget) : rti) && J.$eq$(t4.key, newWidget.key));
        } else
          t4 = true;
        if (t4)
          break;
        --oldChildrenBottom;
        --newChildrenBottom;
      }
      if (haveOldChildren) {
        oldKeyedChildren = A.LinkedHashMap_LinkedHashMap$_empty(type$.Key, type$.Element_2);
        for (; oldChildrenTop <= oldChildrenBottom;) {
          oldChild = replaceWithNullIfForgotten.call$1(t2.$index(oldChildren, oldChildrenTop));
          if (oldChild != null)
            if (oldChild.get$widget().key != null) {
              t4 = oldChild.get$widget().key;
              t4.toString;
              oldKeyedChildren.$indexSet(0, t4, oldChild);
            } else {
              oldChild._framework$_parent = null;
              oldChild.detachRenderObject$0();
              t4 = _this._framework$_owner._inactiveElements;
              if (oldChild._lifecycleState === B._ElementLifecycle_1) {
                oldChild.deactivate$0();
                oldChild.visitChildren$1(A.framework__InactiveElements__deactivateRecursively$closure());
              }
              t4._framework$_elements.add$1(0, oldChild);
            }
          ++oldChildrenTop;
        }
        haveOldChildren = true;
      } else
        oldKeyedChildren = _null;
      for (; newChildrenTop <= newChildrenBottom; previousChild = t4) {
        newWidget = t1.$index(newWidgets, newChildrenTop);
        if (haveOldChildren) {
          key = newWidget.key;
          if (key != null) {
            oldChild = oldKeyedChildren.$index(0, key);
            if (oldChild != null) {
              t4 = oldChild.get$widget();
              rti = t4 instanceof A.Closure ? A.closureFunctionType(t4) : _null;
              t5 = A.createRuntimeType(rti == null ? A.instanceType(t4) : rti);
              rti = newWidget instanceof A.Closure ? A.closureFunctionType(newWidget) : _null;
              if (t5 === A.createRuntimeType(rti == null ? A.instanceType(newWidget) : rti) && J.$eq$(t4.key, key))
                oldKeyedChildren.remove$1(0, key);
              else
                oldChild = _null;
            }
          } else
            oldChild = _null;
        } else
          oldChild = _null;
        t4 = _this.updateChild$3(oldChild, newWidget, slotFor.call$2(newChildrenTop, previousChild));
        t4.toString;
        t3.$indexSet(newChildren, newChildrenTop, t4);
        ++newChildrenTop;
      }
      newChildrenBottom = t1.get$length(newWidgets) - 1;
      oldChildrenBottom = t2.get$length(oldChildren) - 1;
      while (true) {
        if (!(oldChildrenTop <= oldChildrenBottom && newChildrenTop <= newChildrenBottom))
          break;
        t4 = _this.updateChild$3(t2.$index(oldChildren, oldChildrenTop), t1.$index(newWidgets, newChildrenTop), slotFor.call$2(newChildrenTop, previousChild));
        t4.toString;
        t3.$indexSet(newChildren, newChildrenTop, t4);
        ++newChildrenTop;
        ++oldChildrenTop;
        previousChild = t4;
      }
      if (haveOldChildren && oldKeyedChildren._length !== 0)
        for (t1 = oldKeyedChildren.get$values(oldKeyedChildren), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          if (t3 == null)
            t3 = t2._as(t3);
          if (!forgottenChildren.contains$1(0, t3)) {
            t3._framework$_parent = null;
            t3.detachRenderObject$0();
            t4 = _this._framework$_owner._inactiveElements;
            if (t3._lifecycleState === B._ElementLifecycle_1) {
              t3.deactivate$0();
              t3.visitChildren$1(A.framework__InactiveElements__deactivateRecursively$closure());
            }
            t4._framework$_elements.add$1(0, t3);
          }
        }
      return newChildren;
    },
    updateChildren$3$forgottenChildren(oldChildren, newWidgets, forgottenChildren) {
      return this.updateChildren$4$forgottenChildren$slots(oldChildren, newWidgets, forgottenChildren, null);
    },
    deactivate$0() {
      this.super$Element$deactivate();
    },
    unmount$0() {
      var _this = this,
        t1 = _this._widget;
      t1.toString;
      type$.RenderObjectWidget._as(t1);
      _this.super$Element$unmount();
      t1.didUnmountRenderObject$1(_this.get$renderObject());
      _this._renderObject.dispose$0();
      _this._renderObject = null;
    },
    _updateSlot$1(newSlot) {
      var t1, _this = this,
        oldSlot = _this._slot;
      _this.super$Element$_updateSlot(newSlot);
      t1 = _this._ancestorRenderObjectElement;
      t1.toString;
      t1.moveRenderObjectChild$3(_this.get$renderObject(), oldSlot, _this._slot);
    },
    attachRenderObject$1(newSlot) {
      var t1, parentDataElement, _this = this;
      _this._slot = newSlot;
      t1 = _this._ancestorRenderObjectElement = _this._findAncestorRenderObjectElement$0();
      if (t1 != null)
        t1.insertRenderObjectChild$2(_this.get$renderObject(), newSlot);
      parentDataElement = _this._findAncestorParentDataElement$0();
      if (parentDataElement != null) {
        t1 = parentDataElement._widget;
        t1.toString;
        type$.ParentDataWidget_ParentData._as(t1).applyParentData$1(_this.get$renderObject());
      }
    },
    detachRenderObject$0() {
      var _this = this,
        t1 = _this._ancestorRenderObjectElement;
      if (t1 != null) {
        t1.removeRenderObjectChild$2(_this.get$renderObject(), _this._slot);
        _this._ancestorRenderObjectElement = null;
      }
      _this._slot = null;
    },
    insertRenderObjectChild$2(child, slot) {
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2(child, slot) {
    }
  };
  A.RenderObjectElement_updateChildren_replaceWithNullIfForgotten.prototype = {
    call$1(child) {
      var t1 = this.forgottenChildren.contains$1(0, child);
      return t1 ? null : child;
    },
    $signature: 924
  };
  A.RenderObjectElement_updateChildren_slotFor.prototype = {
    call$2(newChildIndex, previousChild) {
      var t1 = this.slots;
      return t1 != null ? t1[newChildIndex] : new A.IndexedSlot(previousChild, newChildIndex, type$.IndexedSlot_nullable_Element);
    },
    $signature: 925
  };
  A.RootRenderObjectElement.prototype = {
    mount$2($parent, newSlot) {
      this.super$RenderObjectElement$mount($parent, newSlot);
    }
  };
  A.LeafRenderObjectElement.prototype = {
    forgetChild$1(child) {
      this.super$Element$forgetChild(child);
    },
    insertRenderObjectChild$2(child, slot) {
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2(child, slot) {
    },
    debugDescribeChildren$0() {
      this._widget.toString;
      return B.List_empty1;
    }
  };
  A.SingleChildRenderObjectElement.prototype = {
    visitChildren$1(visitor) {
      var t1 = this._framework$_child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1(child) {
      this._framework$_child = null;
      this.super$Element$forgetChild(child);
    },
    mount$2($parent, newSlot) {
      var t1, t2, _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      t1 = _this._framework$_child;
      t2 = _this._widget;
      t2.toString;
      _this._framework$_child = _this.updateChild$3(t1, type$.SingleChildRenderObjectWidget._as(t2).child, null);
    },
    update$1(_, newWidget) {
      var t1, t2, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = _this._framework$_child;
      t2 = _this._widget;
      t2.toString;
      _this._framework$_child = _this.updateChild$3(t1, type$.SingleChildRenderObjectWidget._as(t2).child, null);
    },
    insertRenderObjectChild$2(child, slot) {
      var t1 = this._renderObject;
      t1.toString;
      type$.RenderObjectWithChildMixin_RenderObject._as(t1).set$child(child);
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2(child, slot) {
      var t1 = this._renderObject;
      t1.toString;
      type$.RenderObjectWithChildMixin_RenderObject._as(t1).set$child(null);
    }
  };
  A.MultiChildRenderObjectElement.prototype = {
    get$renderObject() {
      return type$.ContainerRenderObjectMixin_of_RenderObject_and_ContainerParentDataMixin_RenderObject._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    get$children(_) {
      var t1 = this.__MultiChildRenderObjectElement__children;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return J.where$1$ax(t1, new A.MultiChildRenderObjectElement_children_closure(this));
    },
    insertRenderObjectChild$2(child, slot) {
      var renderObject = this.get$renderObject(),
        t1 = slot.value;
      renderObject.insert$2$after(0, child, t1 == null ? null : t1.get$renderObject());
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
      var renderObject = this.get$renderObject(),
        t1 = newSlot.value;
      renderObject.move$2$after(child, t1 == null ? null : t1.get$renderObject());
    },
    removeRenderObjectChild$2(child, slot) {
      this.get$renderObject().remove$1(0, child);
    },
    visitChildren$1(visitor) {
      var t2, t3,
        t1 = this.__MultiChildRenderObjectElement__children;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = J.get$iterator$ax(t1);
      t2 = this._forgottenChildren;
      for (; t1.moveNext$0();) {
        t3 = t1.get$current(t1);
        if (!t2.contains$1(0, t3))
          visitor.call$1(t3);
      }
    },
    forgetChild$1(child) {
      this._forgottenChildren.add$1(0, child);
      this.super$Element$forgetChild(child);
    },
    inflateWidget$2(newWidget, newSlot) {
      return this.super$Element$inflateWidget(newWidget, newSlot);
    },
    mount$2($parent, newSlot) {
      var t1, t2, t3, children, t4, previousChild, i, newChild, _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      t1 = _this._widget;
      t1.toString;
      t1 = type$.MultiChildRenderObjectWidget._as(t1).children;
      t2 = J.getInterceptor$asx(t1);
      t3 = t2.get$length(t1);
      children = A.List_List$filled(t3, $.$get$_NullElement_instance(), false, type$.Element_2);
      for (t4 = type$.IndexedSlot_nullable_Element, previousChild = null, i = 0; i < t3; ++i, previousChild = newChild) {
        newChild = _this.super$Element$inflateWidget(t2.$index(t1, i), new A.IndexedSlot(previousChild, i, t4));
        children[i] = newChild;
      }
      _this.__MultiChildRenderObjectElement__children = children;
    },
    update$1(_, newWidget) {
      var t1, t2, t3, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = _this._widget;
      t1.toString;
      type$.MultiChildRenderObjectWidget._as(t1);
      t2 = _this.__MultiChildRenderObjectElement__children;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this._forgottenChildren;
      _this.__MultiChildRenderObjectElement__children = _this.updateChildren$3$forgottenChildren(t2, t1.children, t3);
      t3.clear$0(0);
    }
  };
  A.MultiChildRenderObjectElement_children_closure.prototype = {
    call$1(child) {
      return !this.$this._forgottenChildren.contains$1(0, child);
    },
    $signature: 53
  };
  A.IndexedSlot.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A.IndexedSlot && this.index === other.index && J.$eq$(this.value, other.value);
    },
    get$hashCode(_) {
      return A.Object_hash(this.index, this.value, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._NullElement.prototype = {
    performRebuild$0() {
      return A.throwExpression(A.UnimplementedError$(null));
    }
  };
  A._NullWidget2.prototype = {
    createElement$0(_) {
      return A.throwExpression(A.UnimplementedError$(null));
    }
  };
  A._State_Object_Diagnosticable.prototype = {};
  A.GestureRecognizerFactory.prototype = {};
  A.GestureRecognizerFactoryWithHandlers.prototype = {
    constructor$0() {
      return this._constructor.call$0();
    },
    initializer$1(instance) {
      return this._initializer.call$1(instance);
    }
  };
  A.GestureDetector.prototype = {
    build$1(context) {
      var _this = this,
        gestures = A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizerFactory_GestureRecognizer),
        t1 = A.MediaQuery_maybeOf(context),
        gestureSettings = t1 == null ? null : t1.gestureSettings;
      if (_this.onTapDown == null)
        if (_this.onTapUp == null)
          if (_this.onTap == null)
            if (_this.onTapCancel == null)
              t1 = false;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        gestures.$indexSet(0, B.Type_TapGestureRecognizer_62h, new A.GestureRecognizerFactoryWithHandlers(new A.GestureDetector_build_closure(_this), new A.GestureDetector_build_closure0(_this, gestureSettings), type$.GestureRecognizerFactoryWithHandlers_TapGestureRecognizer));
      if (_this.onDoubleTap != null)
        gestures.$indexSet(0, B.Type_DoubleTapGestureRecognizer_oyU, new A.GestureRecognizerFactoryWithHandlers(new A.GestureDetector_build_closure1(_this), new A.GestureDetector_build_closure2(_this, gestureSettings), type$.GestureRecognizerFactoryWithHandlers_DoubleTapGestureRecognizer));
      if (_this.onLongPress == null)
        t1 = false;
      else
        t1 = true;
      if (t1)
        gestures.$indexSet(0, B.Type_LongPressGestureRecognizer_46y, new A.GestureRecognizerFactoryWithHandlers(new A.GestureDetector_build_closure3(_this), new A.GestureDetector_build_closure4(_this, gestureSettings), type$.GestureRecognizerFactoryWithHandlers_LongPressGestureRecognizer));
      t1 = _this.onVerticalDragStart != null || _this.onVerticalDragUpdate != null || _this.onVerticalDragEnd != null || false;
      if (t1)
        gestures.$indexSet(0, B.Type_mLh, new A.GestureRecognizerFactoryWithHandlers(new A.GestureDetector_build_closure5(_this), new A.GestureDetector_build_closure6(_this, gestureSettings), type$.GestureRecognizerFactoryWithHandlers_VerticalDragGestureRecognizer));
      if (_this.onHorizontalDragDown != null || _this.onHorizontalDragStart != null || _this.onHorizontalDragUpdate != null || _this.onHorizontalDragEnd != null || _this.onHorizontalDragCancel != null)
        gestures.$indexSet(0, B.Type_Vq1, new A.GestureRecognizerFactoryWithHandlers(new A.GestureDetector_build_closure7(_this), new A.GestureDetector_build_closure8(_this, gestureSettings), type$.GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer));
      if (_this.onPanDown == null)
        t1 = _this.onPanUpdate != null || _this.onPanEnd != null || false;
      else
        t1 = true;
      if (t1)
        gestures.$indexSet(0, B.Type_PanGestureRecognizer_bbH, new A.GestureRecognizerFactoryWithHandlers(new A.GestureDetector_build_closure9(_this), new A.GestureDetector_build_closure10(_this, gestureSettings), type$.GestureRecognizerFactoryWithHandlers_PanGestureRecognizer));
      return new A.RawGestureDetector(_this.child, gestures, _this.behavior, _this.excludeFromSemantics, null, null);
    }
  };
  A.GestureDetector_build_closure.prototype = {
    call$0() {
      return A.TapGestureRecognizer$(this.$this);
    },
    $signature: 257
  };
  A.GestureDetector_build_closure0.prototype = {
    call$1(instance) {
      var t1 = this.$this;
      instance.onTapDown = t1.onTapDown;
      instance.onTapUp = t1.onTapUp;
      instance.onTap = t1.onTap;
      instance.onTapCancel = t1.onTapCancel;
      instance.onTertiaryTapCancel = instance.onTertiaryTapUp = instance.onTertiaryTapDown = instance.onSecondaryTapCancel = instance.onSecondaryTapUp = instance.onSecondaryTapDown = instance.onSecondaryTap = null;
      instance.gestureSettings = this.gestureSettings;
    },
    $signature: 256
  };
  A.GestureDetector_build_closure1.prototype = {
    call$0() {
      var t1 = type$.int;
      return new A.DoubleTapGestureRecognizer(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$._TapTracker), this.$this, null, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    $signature: 928
  };
  A.GestureDetector_build_closure2.prototype = {
    call$1(instance) {
      instance.onDoubleTapDown = null;
      instance.onDoubleTap = this.$this.onDoubleTap;
      instance.onDoubleTapCancel = null;
      instance.gestureSettings = this.gestureSettings;
    },
    $signature: 929
  };
  A.GestureDetector_build_closure3.prototype = {
    call$0() {
      return A.LongPressGestureRecognizer$(this.$this, null, null);
    },
    $signature: 255
  };
  A.GestureDetector_build_closure4.prototype = {
    call$1(instance) {
      instance.onLongPressCancel = instance.onLongPressDown = null;
      instance.onLongPress = this.$this.onLongPress;
      instance.onTertiaryLongPressEnd = instance.onTertiaryLongPressUp = instance.onTertiaryLongPressMoveUpdate = instance.onTertiaryLongPressStart = instance.onTertiaryLongPress = instance.onTertiaryLongPressCancel = instance.onTertiaryLongPressDown = instance.onSecondaryLongPressEnd = instance.onSecondaryLongPressUp = instance.onSecondaryLongPressMoveUpdate = instance.onSecondaryLongPressStart = instance.onSecondaryLongPress = instance.onSecondaryLongPressCancel = instance.onSecondaryLongPressDown = instance.onLongPressEnd = instance.onLongPressUp = instance.onLongPressMoveUpdate = instance.onLongPressStart = null;
      instance.gestureSettings = this.gestureSettings;
    },
    $signature: 253
  };
  A.GestureDetector_build_closure5.prototype = {
    call$0() {
      return A.VerticalDragGestureRecognizer$(this.$this, null);
    },
    $signature: 145
  };
  A.GestureDetector_build_closure6.prototype = {
    call$1(instance) {
      var t1;
      instance.onDown = null;
      t1 = this.$this;
      instance.onStart = t1.onVerticalDragStart;
      instance.onUpdate = t1.onVerticalDragUpdate;
      instance.onEnd = t1.onVerticalDragEnd;
      instance.onCancel = null;
      instance.dragStartBehavior = t1.dragStartBehavior;
      instance.gestureSettings = this.gestureSettings;
    },
    $signature: 148
  };
  A.GestureDetector_build_closure7.prototype = {
    call$0() {
      return A.HorizontalDragGestureRecognizer$(this.$this, null);
    },
    $signature: 152
  };
  A.GestureDetector_build_closure8.prototype = {
    call$1(instance) {
      var t1 = this.$this;
      instance.onDown = t1.onHorizontalDragDown;
      instance.onStart = t1.onHorizontalDragStart;
      instance.onUpdate = t1.onHorizontalDragUpdate;
      instance.onEnd = t1.onHorizontalDragEnd;
      instance.onCancel = t1.onHorizontalDragCancel;
      instance.dragStartBehavior = t1.dragStartBehavior;
      instance.gestureSettings = this.gestureSettings;
    },
    $signature: 153
  };
  A.GestureDetector_build_closure9.prototype = {
    call$0() {
      return A.PanGestureRecognizer$(this.$this, null);
    },
    $signature: 177
  };
  A.GestureDetector_build_closure10.prototype = {
    call$1(instance) {
      var t1 = this.$this;
      instance.onDown = t1.onPanDown;
      instance.onStart = null;
      instance.onUpdate = t1.onPanUpdate;
      instance.onEnd = t1.onPanEnd;
      instance.onCancel = null;
      instance.dragStartBehavior = t1.dragStartBehavior;
      instance.gestureSettings = this.gestureSettings;
    },
    $signature: 200
  };
  A.RawGestureDetector.prototype = {
    createState$0() {
      return new A.RawGestureDetectorState(B.Map_empty4, B._StateLifecycle_0);
    }
  };
  A.RawGestureDetectorState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.semantics;
      _this._gesture_detector$_semantics = t2 == null ? new A._DefaultSemanticsGestureDelegate(_this) : t2;
      _this._syncAll$1(t1.gestures);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (!(oldWidget.semantics == null && _this._widget.semantics == null)) {
        t1 = _this._widget.semantics;
        _this._gesture_detector$_semantics = t1 == null ? new A._DefaultSemanticsGestureDelegate(_this) : t1;
      }
      _this._syncAll$1(_this._widget.gestures);
    },
    replaceGestureRecognizers$1(gestures) {
      var t1, _this = this;
      _this._syncAll$1(gestures);
      if (!_this._widget.excludeFromSemantics) {
        t1 = _this._framework$_element.get$renderObject();
        t1.toString;
        type$.RenderSemanticsGestureHandler._as(t1);
        _this._gesture_detector$_semantics.assignSemantics$1(t1);
      }
    },
    replaceSemanticsActions$1(actions) {
      if (this._widget.excludeFromSemantics)
        return;
      type$.nullable_RenderSemanticsGestureHandler._as(this._framework$_element.get$renderObject()).set$validActions(actions);
    },
    dispose$0() {
      for (var t1 = this._recognizers, t1 = J.get$iterator$ax(t1.get$values(t1)); t1.moveNext$0();)
        t1.get$current(t1).dispose$0();
      this._recognizers = null;
      this.super$State$dispose();
    },
    _syncAll$1(gestures) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this._recognizers;
      t1.toString;
      _this._recognizers = A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizer);
      for (t2 = J.get$iterator$ax(gestures.get$keys(gestures)); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t4 = _this._recognizers;
        t4.toString;
        t5 = t1.$index(0, t3);
        t4.$indexSet(0, t3, t5 == null ? gestures.$index(0, t3).constructor$0() : t5);
        t4 = gestures.$index(0, t3);
        t4.toString;
        t3 = _this._recognizers.$index(0, t3);
        t3.toString;
        t4.initializer$1(t3);
      }
      for (t2 = J.get$iterator$ax(t1.get$keys(t1)); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        if (!_this._recognizers.containsKey$1(0, t3))
          t1.$index(0, t3).dispose$0();
      }
    },
    _gesture_detector$_handlePointerDown$1($event) {
      var t1, t2;
      for (t1 = this._recognizers, t1 = J.get$iterator$ax(t1.get$values(t1)); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t2._pointerToKind.$indexSet(0, $event.get$pointer(), $event.get$kind($event));
        if (t2.isPointerAllowed$1($event))
          t2.addAllowedPointer$1($event);
        else
          t2.handleNonAllowedPointer$1($event);
      }
    },
    _handlePointerPanZoomStart$1($event) {
      var t1, t2;
      for (t1 = this._recognizers, t1 = J.get$iterator$ax(t1.get$values(t1)); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t2._pointerToKind.$indexSet(0, $event.get$pointer(), $event.get$kind($event));
        if (t2.isPointerPanZoomAllowed$1($event))
          t2.addAllowedPointerPanZoom$1($event);
      }
    },
    _updateSemanticsForRenderObject$1(renderObject) {
      this._gesture_detector$_semantics.assignSemantics$1(renderObject);
    },
    build$1(context) {
      var t4, t5, result, _this = this, _null = null,
        t1 = _this._widget,
        t2 = t1.behavior,
        t3 = t2 == null;
      if (t3)
        t4 = t1.child == null ? B.HitTestBehavior_2 : B.HitTestBehavior_0;
      else
        t4 = t2;
      t5 = t1.child;
      result = A.Listener$(t4, t5, _null, _this.get$_gesture_detector$_handlePointerDown(), _this.get$_handlePointerPanZoomStart(), _null, _null);
      if (!t1.excludeFromSemantics) {
        if (t3)
          t1 = t5 == null ? B.HitTestBehavior_2 : B.HitTestBehavior_0;
        else
          t1 = t2;
        result = new A._GestureSemantics(t1, _this.get$_updateSemanticsForRenderObject(), result, _null);
      }
      return result;
    }
  };
  A._GestureSemantics.prototype = {
    createRenderObject$1(context) {
      var renderObject = new A.RenderSemanticsGestureHandler(B.HitTestBehavior_0, null, A.LayerHandle$(type$.ContainerLayer_2));
      renderObject.RenderObject$0();
      renderObject.set$child(null);
      renderObject.behavior = this.behavior;
      this.assignSemantics.call$1(renderObject);
      return renderObject;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.behavior = this.behavior;
      this.assignSemantics.call$1(renderObject);
    }
  };
  A.SemanticsGestureDelegate.prototype = {
    toString$0(_) {
      return "SemanticsGestureDelegate()";
    }
  };
  A._DefaultSemanticsGestureDelegate.prototype = {
    assignSemantics$1(renderObject) {
      var _this = this,
        t1 = _this.detectorState._recognizers;
      t1.toString;
      renderObject.set$onTap(_this._getTapHandler$1(t1));
      renderObject.set$onLongPress(_this._getLongPressHandler$1(t1));
      renderObject.set$onHorizontalDragUpdate(_this._getHorizontalDragUpdateHandler$1(t1));
      renderObject.set$onVerticalDragUpdate(_this._getVerticalDragUpdateHandler$1(t1));
    },
    _getTapHandler$1(recognizers) {
      var tap = type$.nullable_TapGestureRecognizer._as(recognizers.$index(0, B.Type_TapGestureRecognizer_62h));
      if (tap == null)
        return null;
      return new A._DefaultSemanticsGestureDelegate__getTapHandler_closure(tap);
    },
    _getLongPressHandler$1(recognizers) {
      var longPress = type$.nullable_LongPressGestureRecognizer._as(recognizers.$index(0, B.Type_LongPressGestureRecognizer_46y));
      if (longPress == null)
        return null;
      return new A._DefaultSemanticsGestureDelegate__getLongPressHandler_closure(longPress);
    },
    _getHorizontalDragUpdateHandler$1(recognizers) {
      var horizontal = type$.nullable_HorizontalDragGestureRecognizer._as(recognizers.$index(0, B.Type_Vq1)),
        pan = type$.nullable_PanGestureRecognizer._as(recognizers.$index(0, B.Type_PanGestureRecognizer_bbH)),
        horizontalHandler = horizontal == null ? null : new A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure(horizontal),
        panHandler = pan == null ? null : new A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0(pan);
      if (horizontalHandler == null && panHandler == null)
        return null;
      return new A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1(horizontalHandler, panHandler);
    },
    _getVerticalDragUpdateHandler$1(recognizers) {
      var vertical = type$.nullable_VerticalDragGestureRecognizer._as(recognizers.$index(0, B.Type_mLh)),
        pan = type$.nullable_PanGestureRecognizer._as(recognizers.$index(0, B.Type_PanGestureRecognizer_bbH)),
        verticalHandler = vertical == null ? null : new A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure(vertical),
        panHandler = pan == null ? null : new A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0(pan);
      if (verticalHandler == null && panHandler == null)
        return null;
      return new A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1(verticalHandler, panHandler);
    }
  };
  A._DefaultSemanticsGestureDelegate__getTapHandler_closure.prototype = {
    call$0() {
      var t1 = this.tap,
        t2 = t1.onTapDown;
      if (t2 != null)
        t2.call$1(new A.TapDownDetails(B.Offset_0_0, null, B.Offset_0_0));
      t2 = t1.onTapUp;
      if (t2 != null)
        t2.call$1(new A.TapUpDetails(B.Offset_0_0, B.PointerDeviceKind_5));
      t1 = t1.onTap;
      if (t1 != null)
        t1.call$0();
    },
    $signature: 0
  };
  A._DefaultSemanticsGestureDelegate__getLongPressHandler_closure.prototype = {
    call$0() {
      var t1 = this.longPress,
        t2 = t1.onLongPressStart;
      if (t2 != null)
        t2.call$1(B.LongPressStartDetails_aWR);
      t2 = t1.onLongPress;
      if (t2 != null)
        t2.call$0();
      t1 = t1.onLongPressEnd;
      if (t1 != null)
        t1.call$1(B.LongPressEndDetails_aB0);
    },
    $signature: 0
  };
  A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure.prototype = {
    call$1(details) {
      var t1 = this.horizontal,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new A.DragDownDetails(B.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new A.DragStartDetails(null, B.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new A.DragEndDetails(B.Velocity_Offset_0_0, 0));
    },
    $signature: 20
  };
  A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0.prototype = {
    call$1(details) {
      var t1 = this.pan,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new A.DragDownDetails(B.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new A.DragStartDetails(null, B.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new A.DragEndDetails(B.Velocity_Offset_0_0, null));
    },
    $signature: 20
  };
  A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1.prototype = {
    call$1(details) {
      var t1 = this.horizontalHandler;
      if (t1 != null)
        t1.call$1(details);
      t1 = this.panHandler;
      if (t1 != null)
        t1.call$1(details);
    },
    $signature: 20
  };
  A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure.prototype = {
    call$1(details) {
      var t1 = this.vertical,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new A.DragDownDetails(B.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new A.DragStartDetails(null, B.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new A.DragEndDetails(B.Velocity_Offset_0_0, 0));
    },
    $signature: 20
  };
  A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0.prototype = {
    call$1(details) {
      var t1 = this.pan,
        t2 = t1.onDown;
      if (t2 != null)
        t2.call$1(new A.DragDownDetails(B.Offset_0_0));
      t2 = t1.onStart;
      if (t2 != null)
        t2.call$1(new A.DragStartDetails(null, B.Offset_0_0, null));
      t2 = t1.onUpdate;
      if (t2 != null)
        t2.call$1(details);
      t1 = t1.onEnd;
      if (t1 != null)
        t1.call$1(new A.DragEndDetails(B.Velocity_Offset_0_0, null));
    },
    $signature: 20
  };
  A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1.prototype = {
    call$1(details) {
      var t1 = this.verticalHandler;
      if (t1 != null)
        t1.call$1(details);
      t1 = this.panHandler;
      if (t1 != null)
        t1.call$1(details);
    },
    $signature: 20
  };
  A.HeroFlightDirection.prototype = {
    toString$0(_) {
      return "HeroFlightDirection." + this._core$_name;
    }
  };
  A.Hero.prototype = {
    createState$0() {
      return new A._HeroState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), B._StateLifecycle_0);
    }
  };
  A.Hero__allHeroesFor_inviteHero.prototype = {
    call$2(hero, tag) {
      var t1 = hero._widget;
      t1.toString;
      type$.Hero._as(t1);
      t1 = hero._framework$_state;
      t1.toString;
      type$._HeroState._as(t1);
      if (!this.isUserGestureTransition || false)
        this.result.$indexSet(0, tag, t1);
      else
        t1.endFlight$0();
    },
    $signature: 936
  };
  A.Hero__allHeroesFor_visitor.prototype = {
    call$1(element) {
      var tag, heroRoute, _this = this,
        widget = element.get$widget();
      if (widget instanceof A.Hero) {
        type$.StatefulElement._as(element);
        tag = widget.tag;
        if (A.Navigator_of(element, false) === _this.navigator)
          _this.inviteHero.call$2(element, tag);
        else {
          heroRoute = A.ModalRoute_of(element, type$.nullable_Object);
          if (heroRoute != null && heroRoute instanceof A.PageRoute && heroRoute.get$isCurrent())
            _this.inviteHero.call$2(element, tag);
        }
      }
      element.visitChildren$1(_this);
    },
    $signature: 17
  };
  A._HeroState.prototype = {
    startFlight$1$shouldIncludedChildInPlaceholder(shouldIncludedChildInPlaceholder) {
      var t1, _this = this;
      _this._shouldIncludeChild = shouldIncludedChildInPlaceholder;
      t1 = _this._framework$_element.get$renderObject();
      t1.toString;
      _this.setState$1(new A._HeroState_startFlight_closure(_this, type$.RenderBox._as(t1)));
    },
    startFlight$0() {
      return this.startFlight$1$shouldIncludedChildInPlaceholder(false);
    },
    endFlight$1$keepPlaceholder(keepPlaceholder) {
      var _this = this;
      if (keepPlaceholder || _this._placeholderSize == null)
        return;
      _this._placeholderSize = null;
      if (_this._framework$_element != null)
        _this.setState$1(new A._HeroState_endFlight_closure());
    },
    endFlight$0() {
      return this.endFlight$1$keepPlaceholder(false);
    },
    build$1(context) {
      var t3, _this = this, _null = null,
        t1 = _this._placeholderSize,
        t2 = t1 == null,
        showPlaceholder = !t2;
      if (showPlaceholder)
        _this._widget.toString;
      if (showPlaceholder && !_this._shouldIncludeChild) {
        t2 = t1._dx;
        return A.SizedBox$(_null, t1._dy, t2);
      }
      t3 = t2 ? _null : t1._dx;
      t1 = t2 ? _null : t1._dy;
      return A.SizedBox$(new A.Offstage(showPlaceholder, new A.TickerMode(t2, new A.KeyedSubtree(_this._widget.child, _this._heroes$_key), _null), _null), t1, t3);
    }
  };
  A._HeroState_startFlight_closure.prototype = {
    call$0() {
      var t1 = this.box._box$_size;
      t1.toString;
      this.$this._placeholderSize = t1;
    },
    $signature: 0
  };
  A._HeroState_endFlight_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._HeroFlightManifest.prototype = {
    get$animation(_) {
      var t1, _this = this;
      if (_this.type === B.HeroFlightDirection_0) {
        t1 = _this.toRoute._animationProxy;
        t1.toString;
      } else {
        t1 = _this.fromRoute._animationProxy;
        t1.toString;
      }
      return A.CurvedAnimation$(B.Cubic_ifx, t1, _this.isDiverted ? null : new A.FlippedCurve(B.Cubic_ifx));
    },
    createHeroRectTween$2$begin$end(begin, end) {
      var t1;
      this.toHero._widget.toString;
      t1 = this.createRectTween.call$2(begin, end);
      return t1 == null ? new A.RectTween(begin, end) : t1;
    },
    get$fromHeroLocation() {
      var t1, result, _this = this,
        value = _this.___HeroFlightManifest_fromHeroLocation;
      if (value === $) {
        t1 = _this.fromHero._framework$_element;
        t1.toString;
        result = A._HeroFlightManifest__boundingBoxFor(t1, $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this.fromRoute._subtreeKey));
        if (_this.___HeroFlightManifest_fromHeroLocation !== $)
          A.throwUnnamedLateFieldADI();
        _this.___HeroFlightManifest_fromHeroLocation = result;
        value = result;
      }
      return value;
    },
    get$toHeroLocation() {
      var t1, result, _this = this,
        value = _this.___HeroFlightManifest_toHeroLocation;
      if (value === $) {
        t1 = _this.toHero._framework$_element;
        t1.toString;
        result = A._HeroFlightManifest__boundingBoxFor(t1, $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, _this.toRoute._subtreeKey));
        if (_this.___HeroFlightManifest_toHeroLocation !== $)
          A.throwUnnamedLateFieldADI();
        _this.___HeroFlightManifest_toHeroLocation = result;
        value = result;
      }
      return value;
    },
    get$isValid() {
      var t1, result, _this = this,
        value = _this.___HeroFlightManifest_isValid;
      if (value === $) {
        t1 = _this.get$toHeroLocation();
        if (t1.get$isFinite(t1))
          if (!_this.isDiverted) {
            t1 = _this.get$fromHeroLocation();
            t1 = t1.get$isFinite(t1);
            result = t1;
          } else
            result = true;
        else
          result = false;
        if (_this.___HeroFlightManifest_isValid !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.___HeroFlightManifest_isValid = result;
      }
      return value;
    },
    toString$0(_) {
      var t6, t7, _this = this,
        t1 = _this.type.toString$0(0),
        t2 = _this.fromHero,
        t3 = A.S(t2._widget.tag),
        t4 = _this.fromRoute._settings.toString$0(0),
        t5 = _this.toRoute._settings.toString$0(0);
      t2 = t2.toString$0(0);
      t6 = _this.toHero.toString$0(0);
      t7 = _this.get$isValid() ? "" : ", INVALID";
      return "_HeroFlightManifest(" + t1 + " tag: " + t3 + " from route: " + t4 + " to route: " + t5 + " with hero: " + t2 + " to " + t6 + ")" + t7;
    }
  };
  A._HeroFlight.prototype = {
    _buildOverlay$1(context) {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.shuttle;
      if (t1 == null) {
        t1 = _this.___HeroFlight_manifest;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.get$animation(t1);
        t3 = _this.___HeroFlight_manifest;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t3.fromHero._framework$_element;
        t4.toString;
        t5 = t3.toHero._framework$_element;
        t5.toString;
        t5 = _this.shuttle = t1.shuttleBuilder.call$5(context, t2, t3.type, t4, t5);
        t1 = t5;
      }
      t2 = _this.___HeroFlight__proxyAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.AnimatedBuilder$(t2, new A._HeroFlight__buildOverlay_closure(_this), t1);
    },
    _performAnimationUpdate$1($status) {
      var t2, _this = this,
        t1 = $status === B.AnimationStatus_3;
      if (t1 || $status === B.AnimationStatus_0) {
        t2 = _this.___HeroFlight__proxyAnimation;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.set$parent(0, null);
        _this.overlayEntry.remove$0(0);
        _this.overlayEntry = null;
        t2 = _this.___HeroFlight_manifest;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.fromHero.endFlight$1$keepPlaceholder(t1);
        t1 = _this.___HeroFlight_manifest;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.toHero.endFlight$1$keepPlaceholder($status === B.AnimationStatus_0);
        _this.onFlightEnded.call$1(_this);
        t1 = _this.___HeroFlight__proxyAnimation;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.removeListener$1(0, _this.get$onTick());
      }
    },
    _handleAnimationUpdate$1($status) {
      var _this = this,
        t1 = _this.___HeroFlight_manifest;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.fromRoute._navigator$_navigator;
      if ((t1 == null ? null : t1.userGestureInProgressNotifier._change_notifier$_value) !== true) {
        _this._performAnimationUpdate$1($status);
        return;
      }
      if (_this._scheduledPerformAnimationUpdate)
        return;
      t1.toString;
      _this._scheduledPerformAnimationUpdate = true;
      t1.userGestureInProgressNotifier.addListener$1(0, new A._HeroFlight__handleAnimationUpdate_delayedPerformAnimationUpdate(_this, t1));
    },
    onTick$0() {
      var t1, toHeroBox, toHeroOrigin, t2, t3, t4, t5, t6, t7, t8, t9, _this = this;
      if (!_this._aborted) {
        t1 = _this.___HeroFlight_manifest;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.toHero._framework$_element != null;
      } else
        t1 = false;
      if (t1) {
        t1 = _this.___HeroFlight_manifest;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        toHeroBox = type$.nullable_RenderBox._as(t1.toHero._framework$_element.get$renderObject());
      } else
        toHeroBox = null;
      if (toHeroBox != null && toHeroBox._owner != null && toHeroBox._box$_size != null) {
        t1 = _this.___HeroFlight_manifest;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1.toRoute._subtreeKey);
        t1 = t1 == null ? null : t1.get$renderObject();
        toHeroOrigin = A.MatrixUtils_transformPoint(toHeroBox.getTransformTo$1(0, type$.nullable_RenderBox._as(t1)), B.Offset_0_0);
      } else
        toHeroOrigin = null;
      t1 = toHeroOrigin != null;
      if (t1 && isFinite(toHeroOrigin._dx) && isFinite(toHeroOrigin._dy)) {
        t2 = _this.___HeroFlight_heroRectTween;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2.end;
        if (!J.$eq$(toHeroOrigin, new A.Offset(t2.left, t2.top))) {
          t2 = _this.___HeroFlight_heroRectTween;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t3 = t2.end;
          t4 = t3.right;
          t5 = t3.left;
          t6 = t3.bottom;
          t3 = t3.top;
          t7 = toHeroOrigin._dx;
          t8 = toHeroOrigin._dy;
          t9 = _this.___HeroFlight_manifest;
          if (t9 === $)
            A.throwUnnamedLateFieldNI();
          _this.___HeroFlight_heroRectTween = t9.createHeroRectTween$2$begin$end(t2.begin, new A.Rect(t7, t8, t7 + (t4 - t5), t8 + (t6 - t3)));
        }
      } else {
        t2 = _this._heroOpacity;
        if (t2.get$status(t2) === B.AnimationStatus_3) {
          t2 = _this.___HeroFlight__proxyAnimation;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t3 = $.$get$_HeroFlight__reverseTween();
          t4 = t2.get$value(t2);
          t5 = A._instanceType(t3)._eval$1("_ChainedEvaluation<Animatable.T>");
          _this._heroOpacity = new A._AnimatedEvaluation(type$.Animation_double._as(t2), new A._ChainedEvaluation(new A.CurveTween(new A.Interval(t4, 1, B.C__Linear)), t3, t5), t5._eval$1("_AnimatedEvaluation<Animatable.T>"));
        }
      }
      if (t1)
        t1 = !(isFinite(toHeroOrigin._dx) && isFinite(toHeroOrigin._dy));
      else
        t1 = true;
      _this._aborted = t1;
    },
    toString$0(_) {
      var from, to, t2, t3, t4,
        t1 = this.___HeroFlight_manifest;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      from = t1.fromRoute._settings;
      to = t1.toRoute._settings;
      t1 = A.S(t1.fromHero._widget.tag);
      t2 = from.toString$0(0);
      t3 = to.toString$0(0);
      t4 = this.___HeroFlight__proxyAnimation;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      return "HeroFlight(for: " + t1 + ", from: " + t2 + ", to: " + t3 + " " + A.S(t4._animations$_parent) + ")";
    }
  };
  A._HeroFlight__buildOverlay_closure.prototype = {
    call$2(context, child) {
      var t3, _null = null,
        t1 = this.$this,
        t2 = t1.___HeroFlight_heroRectTween;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1.___HeroFlight__proxyAnimation;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.transform$1(0, t3.get$value(t3));
      t3.toString;
      t2 = t1.___HeroFlight_manifest;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.navigatorSize;
      return A.Positioned$(t2._dy - t3.bottom, new A.IgnorePointer(true, _null, A.FadeTransition$(false, child, t1._heroOpacity), _null), _null, _null, t3.left, t2._dx - t3.right, t3.top, _null);
    },
    $signature: 937
  };
  A._HeroFlight__handleAnimationUpdate_delayedPerformAnimationUpdate.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1._scheduledPerformAnimationUpdate = false;
      this.navigator.userGestureInProgressNotifier.removeListener$1(0, this);
      t2 = t1.___HeroFlight__proxyAnimation;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1._performAnimationUpdate$1(t2.get$status(t2));
    },
    $signature: 0
  };
  A.HeroController.prototype = {
    didStopUserGesture$0() {
      var t1, t2, invalidFlights, _i;
      if (this._navigator$_navigator.userGestureInProgressNotifier._change_notifier$_value)
        return;
      t1 = this._flights;
      t1 = t1.get$values(t1);
      t2 = A._instanceType(t1)._eval$1("WhereIterable<Iterable.E>");
      invalidFlights = A.List_List$of(new A.WhereIterable(t1, new A.HeroController_didStopUserGesture_isInvalidFlight(), t2), false, t2._eval$1("Iterable.E"));
      for (t1 = invalidFlights.length, _i = 0; _i < t1; ++_i)
        invalidFlights[_i]._handleAnimationUpdate$1(B.AnimationStatus_0);
    },
    _maybeStartHeroTransition$4(fromRoute, toRoute, flightType, isUserGestureTransition) {
      var t1;
      if (toRoute != fromRoute && toRoute instanceof A.PageRoute && fromRoute instanceof A.PageRoute) {
        switch (flightType.index) {
          case 1:
            t1 = fromRoute._animationProxy;
            if (t1.get$value(t1) === 0)
              return;
            break;
          case 0:
            t1 = toRoute._animationProxy;
            if (t1.get$value(t1) === 1)
              return;
            break;
        }
        if (isUserGestureTransition)
          if (flightType === B.HeroFlightDirection_1) {
            toRoute.get$maintainState();
            t1 = true;
          } else
            t1 = false;
        else
          t1 = false;
        if (t1)
          this._startHeroTransition$4(fromRoute, toRoute, flightType, isUserGestureTransition);
        else {
          t1 = toRoute._animationProxy;
          toRoute.set$offstage(t1.get$value(t1) === 0);
          $.WidgetsBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.HeroController__maybeStartHeroTransition_closure(this, fromRoute, toRoute, flightType, isUserGestureTransition));
        }
      }
    },
    _startHeroTransition$4(from, to, flightType, isUserGestureTransition) {
      var $navigator, t1, overlay, t2, navigatorRenderObject, fromSubtreeContext, fromHeroes, toSubtreeContext, toHeroes, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, tag, fromHero, toHero, existingFlight, manifest, t17, t18, t19, shouldIncludeChildInPlaceholder, _this = this, _null = null;
      to.set$offstage(false);
      $navigator = _this._navigator$_navigator;
      t1 = $navigator == null;
      if (t1)
        overlay = _null;
      else {
        t2 = $navigator.__NavigatorState__overlayKey;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        overlay = t2.get$currentState();
      }
      if (t1 || overlay == null)
        return;
      navigatorRenderObject = $navigator._framework$_element.get$renderObject();
      if (!(navigatorRenderObject instanceof A.RenderBox))
        return;
      fromSubtreeContext = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, from._subtreeKey);
      fromHeroes = fromSubtreeContext != null ? A.Hero__allHeroesFor(fromSubtreeContext, isUserGestureTransition, $navigator) : B.Map_empty2;
      toSubtreeContext = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, to._subtreeKey);
      toHeroes = toSubtreeContext != null ? A.Hero__allHeroesFor(toSubtreeContext, isUserGestureTransition, $navigator) : B.Map_empty2;
      for (t1 = fromHeroes.get$entries(fromHeroes), t1 = t1.get$iterator(t1), t2 = _this.get$_defaultHeroFlightShuttleBuilder(), t3 = _this.createRectTween, t4 = _this._flights, t5 = type$.ValueNotifier_bool, t6 = type$.LabeledGlobalKey__OverlayEntryWidgetState, t7 = _this.get$_handleFlightEnded(), t8 = type$.JSArray_of_void_Function_AnimationStatus, t9 = type$.ObserverList_of_void_Function_AnimationStatus, t10 = type$.JSArray_of_void_Function, t11 = type$.ObserverList_of_void_Function, t12 = type$.Tween_double, t13 = type$.Animation_double, t14 = t12._eval$1("_AnimatedEvaluation<Animatable.T>"), t15 = type$.ReverseTween_nullable_Rect; t1.moveNext$0();) {
        t16 = t1.get$current(t1);
        tag = t16.get$key(t16);
        fromHero = t16.get$value(t16);
        toHero = toHeroes.$index(0, tag);
        existingFlight = t4.$index(0, tag);
        if (toHero == null)
          manifest = _null;
        else {
          t16 = navigatorRenderObject._box$_size;
          t16.toString;
          toHero._widget.toString;
          fromHero._widget.toString;
          manifest = new A._HeroFlightManifest(flightType, overlay, t16, from, to, fromHero, toHero, t3, t2, isUserGestureTransition, existingFlight != null);
        }
        if (manifest != null && manifest.get$isValid()) {
          toHeroes.remove$1(0, tag);
          if (existingFlight != null) {
            t16 = existingFlight.___HeroFlight_manifest;
            if (t16 === $)
              A.throwUnnamedLateFieldNI();
            t17 = t16.type;
            if (t17 === B.HeroFlightDirection_0 && manifest.type === B.HeroFlightDirection_1) {
              t16 = existingFlight.___HeroFlight__proxyAnimation;
              if (t16 === $)
                A.throwUnnamedLateFieldNI();
              t16.set$parent(0, new A.ReverseAnimation(manifest.get$animation(manifest), new A.ObserverList(A._setArrayType([], t8), t9), 0));
              t16 = existingFlight.___HeroFlight_heroRectTween;
              if (t16 === $)
                A.throwUnnamedLateFieldNI();
              existingFlight.___HeroFlight_heroRectTween = new A.ReverseTween(t16, t16.end, t16.begin, t15);
            } else {
              t17 = t17 === B.HeroFlightDirection_1 && manifest.type === B.HeroFlightDirection_0;
              t18 = existingFlight.___HeroFlight__proxyAnimation;
              if (t17) {
                if (t18 === $)
                  A.throwUnnamedLateFieldNI();
                t16 = manifest.get$animation(manifest);
                t17 = existingFlight.___HeroFlight_manifest;
                if (t17 === $)
                  A.throwUnnamedLateFieldNI();
                t17 = t17.get$animation(t17);
                t17 = t17.get$value(t17);
                t18.set$parent(0, new A._AnimatedEvaluation(t13._as(t16), new A.Tween(t17, 1, t12), t14));
                t16 = existingFlight.___HeroFlight_manifest;
                if (t16 === $)
                  A.throwUnnamedLateFieldNI();
                t17 = t16.fromHero;
                t18 = manifest.toHero;
                if (t17 !== t18) {
                  t17.endFlight$1$keepPlaceholder(true);
                  t18.startFlight$0();
                  t16 = existingFlight.___HeroFlight_manifest;
                  if (t16 === $)
                    A.throwUnnamedLateFieldNI();
                  t17 = existingFlight.___HeroFlight_heroRectTween;
                  if (t17 === $)
                    A.throwUnnamedLateFieldNI();
                  existingFlight.___HeroFlight_heroRectTween = t16.createHeroRectTween$2$begin$end(t17.end, manifest.get$toHeroLocation());
                } else {
                  t17 = existingFlight.___HeroFlight_heroRectTween;
                  if (t17 === $)
                    A.throwUnnamedLateFieldNI();
                  existingFlight.___HeroFlight_heroRectTween = t16.createHeroRectTween$2$begin$end(t17.end, t17.begin);
                }
              } else {
                t17 = existingFlight.___HeroFlight_heroRectTween;
                if (t17 === $)
                  A.throwUnnamedLateFieldNI();
                if (t18 === $)
                  A.throwUnnamedLateFieldNI();
                existingFlight.___HeroFlight_heroRectTween = t16.createHeroRectTween$2$begin$end(t17.transform$1(0, t18.get$value(t18)), manifest.get$toHeroLocation());
                existingFlight.shuttle = null;
                t16 = manifest.type;
                t17 = existingFlight.___HeroFlight__proxyAnimation;
                if (t16 === B.HeroFlightDirection_1) {
                  if (t17 === $)
                    A.throwUnnamedLateFieldNI();
                  t17.set$parent(0, new A.ReverseAnimation(manifest.get$animation(manifest), new A.ObserverList(A._setArrayType([], t8), t9), 0));
                } else {
                  if (t17 === $)
                    A.throwUnnamedLateFieldNI();
                  t17.set$parent(0, manifest.get$animation(manifest));
                }
                t17 = existingFlight.___HeroFlight_manifest;
                if (t17 === $)
                  A.throwUnnamedLateFieldNI();
                t17.fromHero.endFlight$1$keepPlaceholder(true);
                t17 = existingFlight.___HeroFlight_manifest;
                if (t17 === $)
                  A.throwUnnamedLateFieldNI();
                t17.toHero.endFlight$1$keepPlaceholder(true);
                manifest.fromHero.startFlight$1$shouldIncludedChildInPlaceholder(t16 === B.HeroFlightDirection_0);
                manifest.toHero.startFlight$0();
                t16 = existingFlight.overlayEntry._key.get$currentState();
                if (t16 != null)
                  t16._overlay$_markNeedsBuild$0();
              }
            }
            existingFlight.___HeroFlight_manifest = manifest;
          } else {
            t16 = new A._HeroFlight(t7, B.C__AlwaysCompleteAnimation);
            t17 = A._setArrayType([], t8);
            t18 = new A.ObserverList(t17, t9);
            t19 = new A.ProxyAnimation(t18, new A.ObserverList(A._setArrayType([], t10), t11), 0);
            t19._status = B.AnimationStatus_0;
            t19._animations$_value = 0;
            t19.didRegisterListener$0();
            t18._isDirty = true;
            t17.push(t16.get$_handleAnimationUpdate());
            t16.___HeroFlight__proxyAnimation = t19;
            t16.___HeroFlight_manifest = manifest;
            switch (manifest.type.index) {
              case 1:
                t19.set$parent(0, new A.ReverseAnimation(manifest.get$animation(manifest), new A.ObserverList(A._setArrayType([], t8), t9), 0));
                shouldIncludeChildInPlaceholder = false;
                break;
              case 0:
                t19.set$parent(0, manifest.get$animation(manifest));
                shouldIncludeChildInPlaceholder = true;
                break;
              default:
                shouldIncludeChildInPlaceholder = _null;
            }
            t17 = t16.___HeroFlight_manifest;
            if (t17 === $)
              A.throwUnnamedLateFieldNI();
            t18 = t17.get$fromHeroLocation();
            t19 = t16.___HeroFlight_manifest;
            if (t19 === $)
              A.throwUnnamedLateFieldNI();
            t16.___HeroFlight_heroRectTween = t17.createHeroRectTween$2$begin$end(t18, t19.get$toHeroLocation());
            t19 = t16.___HeroFlight_manifest;
            if (t19 === $)
              A.throwUnnamedLateFieldNI();
            t19.fromHero.startFlight$1$shouldIncludedChildInPlaceholder(shouldIncludeChildInPlaceholder);
            t19 = t16.___HeroFlight_manifest;
            if (t19 === $)
              A.throwUnnamedLateFieldNI();
            t19.toHero.startFlight$0();
            t19 = t16.___HeroFlight_manifest;
            if (t19 === $)
              A.throwUnnamedLateFieldNI();
            t18 = new A.OverlayEntry(t16.get$_buildOverlay(), false, false, new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), t5), new A.LabeledGlobalKey(_null, t6));
            t16.overlayEntry = t18;
            t19.overlay.insert$1(0, t18);
            t18 = t16.___HeroFlight__proxyAnimation;
            if (t18 === $)
              A.throwUnnamedLateFieldNI();
            t18.didRegisterListener$0();
            t18 = t18.AnimationLocalListenersMixin__listeners;
            t18._isDirty = true;
            t18._list.push(t16.get$onTick());
            t4.$indexSet(0, tag, t16);
          }
        } else if (existingFlight != null)
          existingFlight._aborted = true;
      }
      for (t1 = J.get$iterator$ax(toHeroes.get$values(toHeroes)); t1.moveNext$0();)
        t1.get$current(t1).endFlight$0();
    },
    _handleFlightEnded$1(flight) {
      var t1 = flight.___HeroFlight_manifest;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      this._flights.remove$1(0, t1.fromHero._widget.tag);
    },
    _defaultHeroFlightShuttleBuilder$5(flightContext, animation, flightDirection, fromHeroContext, toHeroContext) {
      return type$.Hero._as(toHeroContext.get$widget()).child;
    }
  };
  A.HeroController_didStopUserGesture_isInvalidFlight.prototype = {
    call$1(flight) {
      var t1 = flight.___HeroFlight_manifest;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.isUserGestureTransition)
        if (t1.type === B.HeroFlightDirection_1) {
          t1 = flight.___HeroFlight__proxyAnimation;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.get$status(t1) === B.AnimationStatus_0;
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    $signature: 940
  };
  A.HeroController__maybeStartHeroTransition_closure.prototype = {
    call$1(value) {
      var _this = this;
      _this.$this._startHeroTransition$4(_this.from, _this.to, _this.flightType, _this.isUserGestureTransition);
    },
    $signature: 3
  };
  A.Icon.prototype = {
    build$1(context) {
      var textDirection, iconTheme, iconSize, t2, iconOpacity, iconColor, iconWidget, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      textDirection = t1.textDirection;
      iconTheme = A.IconTheme_of(context);
      iconSize = this.size;
      if (iconSize == null)
        iconSize = iconTheme.size;
      t1 = this.icon;
      if (t1 == null) {
        t1 = A.SizedBox$(_null, iconSize, iconSize);
        return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, t1, _null);
      }
      t2 = iconTheme._opacity;
      iconOpacity = t2 == null ? _null : A.clampDouble(t2, 0, 1);
      if (iconOpacity == null)
        iconOpacity = 1;
      iconColor = this.color;
      if (iconColor == null) {
        t2 = iconTheme.color;
        t2.toString;
        iconColor = t2;
      }
      if (iconOpacity !== 1)
        iconColor = A.Color$fromARGB(B.JSNumber_methods.round$0(255 * ((iconColor.get$value(iconColor) >>> 24 & 255) / 255 * iconOpacity)), iconColor.get$value(iconColor) >>> 16 & 255, iconColor.get$value(iconColor) >>> 8 & 255, iconColor.get$value(iconColor) & 255);
      t2 = A.Primitives_stringFromCharCode(t1.codePoint);
      iconWidget = A.RichText$(_null, _null, _null, B.TextOverflow_3, _null, _null, true, _null, A.TextSpan$(_null, _null, _null, A.TextStyle$(_null, _null, iconColor, _null, _null, _null, _null, _null, t1.fontFamily, _null, _null, iconSize, _null, _null, _null, _null, _null, false, _null, _null, _null, _null, _null, iconTheme.shadows, _null, _null), t2), B.TextAlign_4, textDirection, _null, 1, B.TextWidthBasis_0);
      if (t1.matchTextDirection)
        switch (textDirection.index) {
          case 0:
            t1 = new A.Matrix4(new Float64Array(16));
            t1.setIdentity$0();
            t1.scale$3(0, -1, 1, 1);
            iconWidget = A.Transform$(B.Alignment_0_0, iconWidget, t1, false);
            break;
          case 1:
            break;
        }
      t1 = A.SizedBox$(A.Center$(iconWidget, _null, _null, _null), iconSize, iconSize);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, new A.ExcludeSemantics(true, t1, _null), _null);
    }
  };
  A.IconData.prototype = {
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.IconData)
        if (other.codePoint === _this.codePoint)
          if (other.fontFamily == _this.fontFamily)
            t1 = other.matchTextDirection === _this.matchTextDirection;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hash(this.codePoint, this.fontFamily, null, this.matchTextDirection, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      return "IconData(U+" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(this.codePoint, 16).toUpperCase(), 5, "0") + ")";
    }
  };
  A.IconTheme.prototype = {
    updateShouldNotify$1(oldWidget) {
      return !this.data.$eq(0, oldWidget.data);
    },
    wrap$2(_, context, child) {
      return A.IconTheme$(child, this.data, null);
    }
  };
  A.IconTheme_merge_closure.prototype = {
    call$1(context) {
      return A.IconTheme$(this.child, A.IconTheme__getInheritedIconThemeData(context).merge$1(this.data), this.key);
    },
    $signature: 941
  };
  A.IconThemeData.prototype = {
    copyWith$4$color$opacity$shadows$size(color, opacity, shadows, size) {
      var t2, t3, _this = this,
        t1 = color == null ? _this.color : color;
      if (opacity == null) {
        t2 = _this._opacity;
        t2 = t2 == null ? null : A.clampDouble(t2, 0, 1);
      } else
        t2 = opacity;
      t3 = size == null ? _this.size : size;
      return new A.IconThemeData(t1, t2, t3, shadows == null ? _this.shadows : shadows);
    },
    copyWith$1$color(color) {
      return this.copyWith$4$color$opacity$shadows$size(color, null, null, null);
    },
    copyWith$1$opacity(opacity) {
      return this.copyWith$4$color$opacity$shadows$size(null, opacity, null, null);
    },
    merge$1(other) {
      var t1 = other._opacity;
      t1 = t1 == null ? null : A.clampDouble(t1, 0, 1);
      return this.copyWith$4$color$opacity$shadows$size(other.color, t1, other.shadows, other.size);
    },
    resolve$1(context) {
      return this;
    },
    $eq(_, other) {
      var t1, t2, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.IconThemeData)
        if (J.$eq$(other.color, _this.color)) {
          t1 = other._opacity;
          t1 = t1 == null ? null : A.clampDouble(t1, 0, 1);
          t2 = _this._opacity;
          t1 = t1 == (t2 == null ? null : A.clampDouble(t2, 0, 1)) && other.size == _this.size && A.listEquals(other.shadows, _this.shadows);
        } else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var t2, _this = this,
        t1 = _this._opacity;
      t1 = t1 == null ? null : A.clampDouble(t1, 0, 1);
      t2 = _this.shadows;
      t2 = t2 == null ? null : A.Object_hashAll(t2);
      return A.Object_hash(_this.color, t1, _this.size, t2, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._IconThemeData_Object_Diagnosticable.prototype = {};
  A.Image.prototype = {
    createState$0() {
      return new A._ImageState(B._StateLifecycle_0);
    }
  };
  A._ImageState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      $.WidgetsBinding__instance.WidgetsBinding__observers.push(_this);
      _this.___ImageState__scrollAwareContext = new A.DisposableBuildContext(_this, type$.DisposableBuildContext_State_Image);
    },
    dispose$0() {
      var t1, _this = this;
      B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
      _this._stopListeningToStream$0();
      t1 = _this._completerHandle;
      if (t1 != null)
        t1.dispose$0();
      t1 = _this.___ImageState__scrollAwareContext;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._disposable_build_context$_state = null;
      _this._replaceImage$1$info(null);
      _this.super$State$dispose();
    },
    didChangeDependencies$0() {
      var t1, _this = this;
      _this._updateInvertColors$0();
      _this._resolveImage$0();
      t1 = _this._framework$_element;
      t1.toString;
      if (A.TickerMode_of(t1))
        _this._listenToStream$0();
      else
        _this._stopListeningToStream$1$keepStreamAlive(true);
      _this.super$State$didChangeDependencies();
    },
    didUpdateWidget$1(oldWidget) {
      var _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._isListeningToStream)
        _this._widget.toString;
      if (!_this._widget.image.$eq(0, oldWidget.image))
        _this._resolveImage$0();
    },
    reassemble$0() {
      this._resolveImage$0();
      this.super$State$reassemble();
    },
    _updateInvertColors$0() {
      var t1 = this._framework$_element;
      t1.toString;
      t1 = A.MediaQuery_maybeOf(t1);
      t1 = t1 == null ? null : t1.invertColors;
      if (t1 == null) {
        t1 = $.SemanticsBinding__instance.SemanticsBinding___SemanticsBinding__accessibilityFeatures;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = (t1.__engine$_index & 2) !== 0;
      }
      this.___ImageState__invertColors = t1;
    },
    _resolveImage$0() {
      var t2, t3, t4, t5, _this = this,
        t1 = _this.___ImageState__scrollAwareContext;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._widget;
      t3 = t2.image;
      t4 = _this._framework$_element;
      t4.toString;
      t5 = t2.width;
      if (t5 != null && t2.height != null) {
        t5.toString;
        t2 = t2.height;
        t2.toString;
        t2 = new A.Size(t5, t2);
      } else
        t2 = null;
      _this._updateSourceStream$1(new A.ScrollAwareImageProvider(t1, t3, type$.ScrollAwareImageProvider_Object).resolve$1(A.createLocalImageConfiguration(t4, t2)));
    },
    _getListener$1$recreateListener(recreateListener) {
      var _this = this,
        t1 = _this._imageStreamListener;
      if (t1 == null || recreateListener) {
        _this._lastStack = _this._lastException = null;
        _this._widget.toString;
        t1 = _this._imageStreamListener = new A.ImageStreamListener(_this.get$_handleImageFrame(), null, null);
      }
      t1.toString;
      return t1;
    },
    _getListener$0() {
      return this._getListener$1$recreateListener(false);
    },
    _handleImageFrame$2(imageInfo, synchronousCall) {
      this.setState$1(new A._ImageState__handleImageFrame_closure(this, imageInfo, synchronousCall));
    },
    _replaceImage$1$info(info) {
      var t1 = this._imageInfo;
      if (t1 != null)
        t1.image.dispose$0();
      this._imageInfo = info;
    },
    _updateSourceStream$1(newStream) {
      var t2, t3, _this = this,
        t1 = _this._image0$_imageStream;
      if (t1 == null)
        t2 = null;
      else {
        t2 = t1._completer;
        if (t2 == null)
          t2 = t1;
      }
      t3 = newStream._completer;
      if (t2 === (t3 == null ? newStream : t3))
        return;
      if (_this._isListeningToStream) {
        t1.toString;
        t1.removeListener$1(0, _this._getListener$0());
      }
      _this._widget.toString;
      _this.setState$1(new A._ImageState__updateSourceStream_closure(_this));
      _this.setState$1(new A._ImageState__updateSourceStream_closure0(_this));
      _this._image0$_imageStream = newStream;
      if (_this._isListeningToStream)
        newStream.addListener$1(0, _this._getListener$0());
    },
    _listenToStream$0() {
      var t1, _this = this;
      if (_this._isListeningToStream)
        return;
      t1 = _this._image0$_imageStream;
      t1.toString;
      t1.addListener$1(0, _this._getListener$0());
      t1 = _this._completerHandle;
      if (t1 != null)
        t1.dispose$0();
      _this._completerHandle = null;
      _this._isListeningToStream = true;
    },
    _stopListeningToStream$1$keepStreamAlive(keepStreamAlive) {
      var t1, t2, _this = this;
      if (!_this._isListeningToStream)
        return;
      if (keepStreamAlive)
        if (_this._completerHandle == null) {
          t1 = _this._image0$_imageStream;
          t1 = (t1 == null ? null : t1._completer) != null;
        } else
          t1 = false;
      else
        t1 = false;
      if (t1) {
        t1 = _this._image0$_imageStream._completer;
        if (t1._image_stream$_disposed)
          A.throwExpression(A.StateError$(string$.Stream));
        t2 = new A.ImageStreamCompleterHandle(t1);
        t2.ImageStreamCompleterHandle$_$1(t1);
        _this._completerHandle = t2;
      }
      t1 = _this._image0$_imageStream;
      t1.toString;
      t1.removeListener$1(0, _this._getListener$0());
      _this._isListeningToStream = false;
    },
    _stopListeningToStream$0() {
      return this._stopListeningToStream$1$keepStreamAlive(false);
    },
    build$1(context) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, result, _this = this, _null = null;
      if (_this._lastException != null)
        _this._widget.toString;
      t1 = _this._imageInfo;
      t2 = t1 == null;
      t3 = t2 ? _null : t1.image;
      t4 = t2 ? _null : t1.debugLabel;
      t5 = _this._widget;
      t6 = t5.width;
      t7 = t5.height;
      t1 = t2 ? _null : t1.scale;
      if (t1 == null)
        t1 = 1;
      t2 = t5.color;
      t8 = t5.fit;
      t9 = t5.alignment;
      t5 = t5.repeat;
      t10 = _this.___ImageState__invertColors;
      if (t10 === $)
        A.throwUnnamedLateFieldNI();
      result = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, "", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, false, false, new A.RawImage(t3, t4, t6, t7, t1, t2, _null, B.FilterQuality_1, _null, t8, t9, t5, _null, false, t10, false, _null), _null);
      return result;
    }
  };
  A._ImageState__handleImageFrame_closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1._replaceImage$1$info(this.imageInfo);
      t1._lastStack = t1._lastException = t1._loadingProgress = null;
      t2 = t1._frameNumber;
      t1._frameNumber = t2 == null ? 0 : t2 + 1;
      t1._wasSynchronouslyLoaded = B.JSBool_methods.$or(t1._wasSynchronouslyLoaded, this.synchronousCall);
    },
    $signature: 0
  };
  A._ImageState__updateSourceStream_closure.prototype = {
    call$0() {
      this.$this._replaceImage$1$info(null);
    },
    $signature: 0
  };
  A._ImageState__updateSourceStream_closure0.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._frameNumber = t1._loadingProgress = null;
      t1._wasSynchronouslyLoaded = false;
    },
    $signature: 0
  };
  A.__ImageState_State_WidgetsBindingObserver.prototype = {};
  A.BoxConstraintsTween.prototype = {
    lerp$1(t) {
      var t1 = A.BoxConstraints_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  A.DecorationTween.prototype = {
    lerp$1(t) {
      var t1 = A.Decoration_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  A.EdgeInsetsGeometryTween.prototype = {
    lerp$1(t) {
      var t1 = A.EdgeInsetsGeometry_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  A.BorderRadiusTween.prototype = {
    lerp$1(t) {
      return A.BorderRadius_lerp(this.begin, this.end, t);
    }
  };
  A.Matrix4Tween.prototype = {
    lerp$1(t) {
      var t1, lerpTranslation, t2, t3, lerpRotation, lerpScale, x, y, z, w, x2, y2, z2, xx, xy, xz, yy, yz, zz, wx, wy, wz, arg0Storage,
        beginTranslation = new A.Vector3(new Float64Array(3)),
        endTranslation = new A.Vector3(new Float64Array(3)),
        beginRotation = A.Quaternion_Quaternion$identity(),
        endRotation = A.Quaternion_Quaternion$identity(),
        beginScale = new A.Vector3(new Float64Array(3)),
        endScale = new A.Vector3(new Float64Array(3));
      this.begin.decompose$3(beginTranslation, beginRotation, beginScale);
      this.end.decompose$3(endTranslation, endRotation, endScale);
      t1 = 1 - t;
      lerpTranslation = beginTranslation.scaled$1(t1).$add(0, endTranslation.scaled$1(t));
      t2 = beginRotation.scaled$1(t1).$add(0, endRotation.scaled$1(t));
      t3 = new Float64Array(4);
      lerpRotation = new A.Quaternion(t3);
      lerpRotation.setFrom$1(t2);
      lerpRotation.normalize$0(0);
      lerpScale = beginScale.scaled$1(t1).$add(0, endScale.scaled$1(t));
      t1 = new Float64Array(16);
      t2 = new A.Matrix4(t1);
      x = t3[0];
      y = t3[1];
      z = t3[2];
      w = t3[3];
      x2 = x + x;
      y2 = y + y;
      z2 = z + z;
      xx = x * x2;
      xy = x * y2;
      xz = x * z2;
      yy = y * y2;
      yz = y * z2;
      zz = z * z2;
      wx = w * x2;
      wy = w * y2;
      wz = w * z2;
      arg0Storage = lerpTranslation._v3storage;
      t1[0] = 1 - (yy + zz);
      t1[1] = xy + wz;
      t1[2] = xz - wy;
      t1[3] = 0;
      t1[4] = xy - wz;
      t1[5] = 1 - (xx + zz);
      t1[6] = yz + wx;
      t1[7] = 0;
      t1[8] = xz + wy;
      t1[9] = yz - wx;
      t1[10] = 1 - (xx + yy);
      t1[11] = 0;
      t1[12] = arg0Storage[0];
      t1[13] = arg0Storage[1];
      t1[14] = arg0Storage[2];
      t1[15] = 1;
      t2.scale$1(0, lerpScale);
      return t2;
    }
  };
  A.TextStyleTween.prototype = {
    lerp$1(t) {
      var t1 = A.TextStyle_lerp(this.begin, this.end, t);
      t1.toString;
      return t1;
    }
  };
  A.ImplicitlyAnimatedWidget.prototype = {};
  A.ImplicitlyAnimatedWidgetState.prototype = {
    get$_implicit_animations$_controller() {
      var t1, result, _this = this,
        value = _this.__ImplicitlyAnimatedWidgetState__controller;
      if (value === $) {
        t1 = _this._widget.duration;
        result = A.AnimationController$(null, t1, 0, null, 1, null, _this);
        if (_this.__ImplicitlyAnimatedWidgetState__controller !== $)
          A.throwUnnamedLateFieldADI();
        _this.__ImplicitlyAnimatedWidgetState__controller = result;
        value = result;
      }
      return value;
    },
    get$_implicit_animations$_animation() {
      var t1, _this = this,
        value = _this.__ImplicitlyAnimatedWidgetState__animation;
      if (value === $) {
        t1 = _this.get$_implicit_animations$_controller();
        value = _this.__ImplicitlyAnimatedWidgetState__animation = A.CurvedAnimation$(_this._widget.curve, t1, null);
      }
      return value;
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this.get$_implicit_animations$_controller();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t1._isDirty = true;
      t1._list.push(new A.ImplicitlyAnimatedWidgetState_initState_closure(_this));
      _this._constructTweens$0();
      _this.didUpdateTweens$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.curve !== oldWidget.curve) {
        _this.get$_implicit_animations$_animation().dispose$0();
        t1 = _this.get$_implicit_animations$_controller();
        _this.__ImplicitlyAnimatedWidgetState__animation = A.CurvedAnimation$(_this._widget.curve, t1, null);
      }
      _this.get$_implicit_animations$_controller().duration = _this._widget.duration;
      if (_this._constructTweens$0()) {
        _this.forEachTween$1(new A.ImplicitlyAnimatedWidgetState_didUpdateWidget_closure(_this));
        t1 = _this.get$_implicit_animations$_controller();
        t1.set$value(0, 0);
        t1.forward$0(0);
        _this.didUpdateTweens$0();
      }
    },
    dispose$0() {
      this.get$_implicit_animations$_animation().dispose$0();
      this.get$_implicit_animations$_controller().dispose$0();
      this.super$_ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin$dispose();
    },
    _updateTween$2(tween, targetValue) {
      var t1;
      if (tween == null)
        return;
      t1 = this.get$_implicit_animations$_animation();
      tween.set$begin(tween.transform$1(0, t1.get$value(t1)));
      tween.set$end(0, targetValue);
    },
    _constructTweens$0() {
      var t1 = {};
      t1.shouldStartAnimation = false;
      this.forEachTween$1(new A.ImplicitlyAnimatedWidgetState__constructTweens_closure(t1, this));
      return t1.shouldStartAnimation;
    },
    didUpdateTweens$0() {
    }
  };
  A.ImplicitlyAnimatedWidgetState_initState_closure.prototype = {
    call$1($status) {
      var t1;
      switch ($status.index) {
        case 3:
          t1 = this.$this._widget.onEnd;
          if (t1 != null)
            t1.call$0();
          break;
        case 0:
        case 1:
        case 2:
          break;
      }
    },
    $signature: 5
  };
  A.ImplicitlyAnimatedWidgetState_didUpdateWidget_closure.prototype = {
    call$3(tween, targetValue, $constructor) {
      this.$this._updateTween$2(tween, targetValue);
      return tween;
    },
    $signature: 251
  };
  A.ImplicitlyAnimatedWidgetState__constructTweens_closure.prototype = {
    call$3(tween, targetValue, $constructor) {
      var t1;
      if (targetValue != null) {
        if (tween == null)
          tween = $constructor.call$1(targetValue);
        t1 = tween.end;
        if (!J.$eq$(targetValue, t1 == null ? tween.begin : t1))
          this._box_0.shouldStartAnimation = true;
        else if (tween.end == null)
          tween.set$end(0, tween.begin);
      } else
        tween = null;
      return tween;
    },
    $signature: 251
  };
  A.AnimatedWidgetBaseState.prototype = {
    initState$0() {
      this.super$ImplicitlyAnimatedWidgetState$initState();
      var t1 = this.get$_implicit_animations$_controller();
      t1.didRegisterListener$0();
      t1 = t1.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(this.get$_handleAnimationChanged());
    },
    _handleAnimationChanged$0() {
      this.setState$1(new A.AnimatedWidgetBaseState__handleAnimationChanged_closure());
    }
  };
  A.AnimatedWidgetBaseState__handleAnimationChanged_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.AnimatedContainer.prototype = {
    createState$0() {
      return new A._AnimatedContainerState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedContainerState.prototype = {
    forEachTween$1(visitor) {
      var t2, t3, t4, _this = this, _null = null,
        t1 = _this._implicit_animations$_alignment;
      _this._widget.toString;
      t2 = type$.nullable_AlignmentGeometryTween;
      _this._implicit_animations$_alignment = t2._as(visitor.call$3(t1, _null, new A._AnimatedContainerState_forEachTween_closure()));
      t1 = _this._implicit_animations$_padding;
      _this._widget.toString;
      t3 = type$.nullable_EdgeInsetsGeometryTween;
      _this._implicit_animations$_padding = t3._as(visitor.call$3(t1, _null, new A._AnimatedContainerState_forEachTween_closure0()));
      t1 = type$.nullable_DecorationTween;
      _this._implicit_animations$_decoration = t1._as(visitor.call$3(_this._implicit_animations$_decoration, _this._widget.decoration, new A._AnimatedContainerState_forEachTween_closure1()));
      t4 = _this._foregroundDecoration;
      _this._widget.toString;
      _this._foregroundDecoration = t1._as(visitor.call$3(t4, _null, new A._AnimatedContainerState_forEachTween_closure2()));
      _this._implicit_animations$_constraints = type$.nullable_BoxConstraintsTween._as(visitor.call$3(_this._implicit_animations$_constraints, _this._widget.constraints, new A._AnimatedContainerState_forEachTween_closure3()));
      t4 = _this._margin;
      _this._widget.toString;
      _this._margin = t3._as(visitor.call$3(t4, _null, new A._AnimatedContainerState_forEachTween_closure4()));
      t4 = _this._implicit_animations$_transform;
      _this._widget.toString;
      _this._implicit_animations$_transform = type$.nullable_Matrix4Tween._as(visitor.call$3(t4, _null, new A._AnimatedContainerState_forEachTween_closure5()));
      t4 = _this._transformAlignment;
      _this._widget.toString;
      _this._transformAlignment = t2._as(visitor.call$3(t4, _null, new A._AnimatedContainerState_forEachTween_closure6()));
    },
    build$1(context) {
      var t2, t3, t4, t5, t6, t7, t8, _this = this, _null = null,
        animation = _this.get$_implicit_animations$_animation(),
        t1 = _this._implicit_animations$_alignment;
      t1 = t1 == null ? _null : t1.transform$1(0, animation.get$value(animation));
      t2 = _this._implicit_animations$_padding;
      t2 = t2 == null ? _null : t2.transform$1(0, animation.get$value(animation));
      t3 = _this._implicit_animations$_decoration;
      t3 = t3 == null ? _null : t3.transform$1(0, animation.get$value(animation));
      t4 = _this._foregroundDecoration;
      t4 = t4 == null ? _null : t4.transform$1(0, animation.get$value(animation));
      t5 = _this._implicit_animations$_constraints;
      t5 = t5 == null ? _null : t5.transform$1(0, animation.get$value(animation));
      t6 = _this._margin;
      t6 = t6 == null ? _null : t6.transform$1(0, animation.get$value(animation));
      t7 = _this._implicit_animations$_transform;
      t7 = t7 == null ? _null : t7.transform$1(0, animation.get$value(animation));
      t8 = _this._transformAlignment;
      t8 = t8 == null ? _null : t8.transform$1(0, animation.get$value(animation));
      _this._widget.toString;
      return A.Container$(t1, _null, B.Clip_0, _null, t5, t3, t4, _null, _null, t6, t2, t7, t8, _null);
    }
  };
  A._AnimatedContainerState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.AlignmentGeometryTween(type$.AlignmentGeometry._as(value), null);
    },
    $signature: 250
  };
  A._AnimatedContainerState_forEachTween_closure0.prototype = {
    call$1(value) {
      return new A.EdgeInsetsGeometryTween(type$.EdgeInsetsGeometry._as(value), null);
    },
    $signature: 179
  };
  A._AnimatedContainerState_forEachTween_closure1.prototype = {
    call$1(value) {
      return new A.DecorationTween(type$.Decoration._as(value), null);
    },
    $signature: 249
  };
  A._AnimatedContainerState_forEachTween_closure2.prototype = {
    call$1(value) {
      return new A.DecorationTween(type$.Decoration._as(value), null);
    },
    $signature: 249
  };
  A._AnimatedContainerState_forEachTween_closure3.prototype = {
    call$1(value) {
      return new A.BoxConstraintsTween(type$.BoxConstraints._as(value), null);
    },
    $signature: 946
  };
  A._AnimatedContainerState_forEachTween_closure4.prototype = {
    call$1(value) {
      return new A.EdgeInsetsGeometryTween(type$.EdgeInsetsGeometry._as(value), null);
    },
    $signature: 179
  };
  A._AnimatedContainerState_forEachTween_closure5.prototype = {
    call$1(value) {
      return new A.Matrix4Tween(type$.Matrix4._as(value), null);
    },
    $signature: 947
  };
  A._AnimatedContainerState_forEachTween_closure6.prototype = {
    call$1(value) {
      return new A.AlignmentGeometryTween(type$.AlignmentGeometry._as(value), null);
    },
    $signature: 250
  };
  A.AnimatedPadding.prototype = {
    createState$0() {
      return new A._AnimatedPaddingState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedPaddingState.prototype = {
    forEachTween$1(visitor) {
      this._implicit_animations$_padding = type$.nullable_EdgeInsetsGeometryTween._as(visitor.call$3(this._implicit_animations$_padding, this._widget.padding, new A._AnimatedPaddingState_forEachTween_closure()));
    },
    build$1(context) {
      var t2,
        t1 = this._implicit_animations$_padding;
      t1.toString;
      t2 = this.get$_implicit_animations$_animation();
      return new A.Padding(J.clamp$2$n(t1.transform$1(0, t2.get$value(t2)), B.EdgeInsets_0_0_0_0, B._MixedEdgeInsets_QWq), this._widget.child, null);
    }
  };
  A._AnimatedPaddingState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.EdgeInsetsGeometryTween(type$.EdgeInsetsGeometry._as(value), null);
    },
    $signature: 179
  };
  A.AnimatedOpacity.prototype = {
    createState$0() {
      return new A._AnimatedOpacityState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedOpacityState.prototype = {
    forEachTween$1(visitor) {
      this._implicit_animations$_opacity = type$.nullable_Tween_double._as(visitor.call$3(this._implicit_animations$_opacity, this._widget.opacity, new A._AnimatedOpacityState_forEachTween_closure()));
    },
    didUpdateTweens$0() {
      var t1 = this.get$_implicit_animations$_animation(),
        t2 = this._implicit_animations$_opacity;
      t2.toString;
      this.___AnimatedOpacityState__opacityAnimation = new A._AnimatedEvaluation(type$.Animation_double._as(t1), t2, A._instanceType(t2)._eval$1("_AnimatedEvaluation<Animatable.T>"));
    },
    build$1(context) {
      var t2,
        t1 = this.___AnimatedOpacityState__opacityAnimation;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = this._widget;
      return A.FadeTransition$(t2.alwaysIncludeSemantics, t2.child, t1);
    }
  };
  A._AnimatedOpacityState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.Tween(A._asDouble(value), null, type$.Tween_double);
    },
    $signature: 154
  };
  A.AnimatedDefaultTextStyle.prototype = {
    createState$0() {
      return new A._AnimatedDefaultTextStyleState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedDefaultTextStyleState.prototype = {
    forEachTween$1(visitor) {
      this._implicit_animations$_style = type$.nullable_TextStyleTween._as(visitor.call$3(this._implicit_animations$_style, this._widget.style, new A._AnimatedDefaultTextStyleState_forEachTween_closure()));
    },
    build$1(context) {
      var t2, t3, _null = null,
        t1 = this._implicit_animations$_style;
      t1.toString;
      t2 = this.get$_implicit_animations$_animation();
      t2 = t1.transform$1(0, t2.get$value(t2));
      t1 = this._widget;
      t3 = t1.softWrap;
      return A.DefaultTextStyle$(t1.child, _null, _null, B.TextOverflow_0, t3, t2, _null, _null, B.TextWidthBasis_0);
    }
  };
  A._AnimatedDefaultTextStyleState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.TextStyleTween(type$.TextStyle._as(value), null);
    },
    $signature: 948
  };
  A.AnimatedPhysicalModel.prototype = {
    createState$0() {
      return new A._AnimatedPhysicalModelState(null, null, B._StateLifecycle_0);
    }
  };
  A._AnimatedPhysicalModelState.prototype = {
    forEachTween$1(visitor) {
      var _this = this,
        t1 = _this._borderRadius;
      _this._widget.toString;
      _this._borderRadius = type$.nullable_BorderRadiusTween._as(visitor.call$3(t1, B.BorderRadius_tLn, new A._AnimatedPhysicalModelState_forEachTween_closure()));
      _this._implicit_animations$_elevation = type$.nullable_Tween_double._as(visitor.call$3(_this._implicit_animations$_elevation, _this._widget.elevation, new A._AnimatedPhysicalModelState_forEachTween_closure0()));
      t1 = type$.nullable_ColorTween;
      _this._implicit_animations$_color = t1._as(visitor.call$3(_this._implicit_animations$_color, _this._widget.color, new A._AnimatedPhysicalModelState_forEachTween_closure1()));
      _this._implicit_animations$_shadowColor = t1._as(visitor.call$3(_this._implicit_animations$_shadowColor, _this._widget.shadowColor, new A._AnimatedPhysicalModelState_forEachTween_closure2()));
    },
    build$1(context) {
      var t3, t4, t5, t6, t7, _this = this,
        t1 = _this._widget,
        t2 = t1.shape;
      t1 = t1.clipBehavior;
      t3 = _this._borderRadius;
      t3.toString;
      t4 = _this.get$_implicit_animations$_animation();
      t4 = t3.transform$1(0, t4.get$value(t4));
      t3 = _this._implicit_animations$_elevation;
      t3.toString;
      t5 = _this.get$_implicit_animations$_animation();
      t5 = t3.transform$1(0, t5.get$value(t5));
      t3 = _this._widget.color;
      t6 = _this._implicit_animations$_shadowColor;
      t6.toString;
      t7 = _this.get$_implicit_animations$_animation();
      t7 = t6.transform$1(0, t7.get$value(t7));
      t7.toString;
      return new A.PhysicalModel(t2, t1, t4, t5, t3, t7, _this._widget.child, null);
    }
  };
  A._AnimatedPhysicalModelState_forEachTween_closure.prototype = {
    call$1(value) {
      return new A.BorderRadiusTween(type$.BorderRadius._as(value), null);
    },
    $signature: 949
  };
  A._AnimatedPhysicalModelState_forEachTween_closure0.prototype = {
    call$1(value) {
      return new A.Tween(A._asDouble(value), null, type$.Tween_double);
    },
    $signature: 154
  };
  A._AnimatedPhysicalModelState_forEachTween_closure1.prototype = {
    call$1(value) {
      return new A.ColorTween(type$.Color._as(value), null);
    },
    $signature: 122
  };
  A._AnimatedPhysicalModelState_forEachTween_closure2.prototype = {
    call$1(value) {
      return new A.ColorTween(type$.Color._as(value), null);
    },
    $signature: 122
  };
  A._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.InheritedModel.prototype = {
    createElement$0(_) {
      return new A.InheritedModelElement(A.HashMap_HashMap(null, null, null, type$.Element_2, type$.nullable_Object), this, B._ElementLifecycle_0, A._instanceType(this)._eval$1("InheritedModelElement<InheritedModel.T>"));
    }
  };
  A.InheritedModelElement.prototype = {
    updateDependencies$2(dependent, aspect) {
      var t1 = this._dependents,
        t2 = this.$ti,
        dependencies = t2._eval$1("Set<1>?")._as(t1.$index(0, dependent));
      if (dependencies != null && dependencies.get$isEmpty(dependencies))
        return;
      t1.$indexSet(0, dependent, A.HashSet_HashSet(t2._precomputed1));
    },
    notifyDependent$2(oldWidget, dependent) {
      var t2,
        t1 = this.$ti,
        dependencies = t1._eval$1("Set<1>?")._as(this._dependents.$index(0, dependent));
      if (dependencies == null)
        return;
      if (!dependencies.get$isEmpty(dependencies)) {
        t2 = this._widget;
        t2.toString;
        t2 = t1._eval$1("InheritedModel<1>")._as(t2).updateShouldNotifyDependent$2(oldWidget, dependencies);
        t1 = t2;
      } else
        t1 = true;
      if (t1)
        dependent.didChangeDependencies$0();
    }
  };
  A.InheritedNotifier.prototype = {
    updateShouldNotify$1(oldWidget) {
      return oldWidget.notifier !== this.notifier;
    },
    createElement$0(_) {
      var t1 = new A._InheritedNotifierElement(A.HashMap_HashMap(null, null, null, type$.Element_2, type$.nullable_Object), this, B._ElementLifecycle_0, A._instanceType(this)._eval$1("_InheritedNotifierElement<InheritedNotifier.T>"));
      this.notifier.addListener$1(0, t1.get$_handleUpdate());
      return t1;
    }
  };
  A._InheritedNotifierElement.prototype = {
    update$1(_, newWidget) {
      var oldNotifier, newNotifier, _this = this,
        t1 = _this._widget;
      t1.toString;
      oldNotifier = _this.$ti._eval$1("InheritedNotifier<1>")._as(t1).notifier;
      newNotifier = newWidget.notifier;
      if (oldNotifier !== newNotifier) {
        t1 = _this.get$_handleUpdate();
        oldNotifier.removeListener$1(0, t1);
        newNotifier.addListener$1(0, t1);
      }
      _this.super$ProxyElement$update(0, newWidget);
    },
    build$0() {
      var t1, _this = this;
      if (_this._inherited_notifier$_dirty) {
        t1 = _this._widget;
        t1.toString;
        _this.super$InheritedElement$notifyClients(_this.$ti._eval$1("InheritedNotifier<1>")._as(t1));
        _this._inherited_notifier$_dirty = false;
      }
      return _this.super$ProxyElement$build();
    },
    _handleUpdate$0() {
      this._inherited_notifier$_dirty = true;
      this.markNeedsBuild$0();
    },
    notifyClients$1(oldWidget) {
      this.super$InheritedElement$notifyClients(oldWidget);
      this._inherited_notifier$_dirty = false;
    },
    unmount$0() {
      var _this = this,
        t1 = _this._widget;
      t1.toString;
      _this.$ti._eval$1("InheritedNotifier<1>")._as(t1).notifier.removeListener$1(0, _this.get$_handleUpdate());
      _this.super$Element$unmount();
    }
  };
  A.InheritedTheme.prototype = {};
  A.InheritedTheme_capture_closure.prototype = {
    call$1(ancestor) {
      var theme, themeType, t1;
      if (ancestor === this.to)
        return false;
      if (ancestor instanceof A.InheritedElement && ancestor.get$widget() instanceof A.InheritedTheme) {
        theme = type$.InheritedTheme._as(ancestor.get$widget());
        themeType = A.getRuntimeType(theme);
        t1 = this.themeTypes;
        if (!t1.contains$1(0, themeType)) {
          t1.add$1(0, themeType);
          this.themes.push(theme);
        }
      }
      return true;
    },
    $signature: 53
  };
  A.CapturedThemes.prototype = {};
  A._CaptureAll.prototype = {
    build$1(context) {
      var t1, t2, _i,
        wrappedChild = this.child;
      for (t1 = this.themes, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        wrappedChild = t1[_i].wrap$2(0, context, wrappedChild);
      return wrappedChild;
    }
  };
  A.ConstrainedLayoutBuilder.prototype = {
    createElement$0(_) {
      return new A._LayoutBuilderElement(this, B._ElementLifecycle_0, A._instanceType(this)._eval$1("_LayoutBuilderElement<ConstrainedLayoutBuilder.0>"));
    }
  };
  A._LayoutBuilderElement.prototype = {
    get$renderObject() {
      return this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    visitChildren$1(visitor) {
      var t1 = this._layout_builder$_child;
      if (t1 != null)
        visitor.call$1(t1);
    },
    forgetChild$1(child) {
      this._layout_builder$_child = null;
      this.super$Element$forgetChild(child);
    },
    mount$2($parent, newSlot) {
      var _this = this;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      _this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(A.RenderObjectElement.prototype.get$renderObject.call(_this)).updateCallback$1(_this.get$_layout());
    },
    update$1(_, newWidget) {
      var t1, _this = this;
      _this.super$RenderObjectElement$update(0, newWidget);
      t1 = _this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>");
      t1._as(A.RenderObjectElement.prototype.get$renderObject.call(_this)).updateCallback$1(_this.get$_layout());
      t1 = t1._as(A.RenderObjectElement.prototype.get$renderObject.call(_this));
      t1.RenderConstrainedLayoutBuilder__needsBuild = true;
      t1.markNeedsLayout$0();
    },
    performRebuild$0() {
      var t1 = this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
      t1.RenderConstrainedLayoutBuilder__needsBuild = true;
      t1.markNeedsLayout$0();
      this.super$RenderObjectElement$performRebuild();
    },
    unmount$0() {
      this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).updateCallback$1(null);
      this.super$RenderObjectElement$unmount();
    },
    _layout$1(constraints) {
      this._framework$_owner.buildScope$2(this, new A._LayoutBuilderElement__layout_layoutCallback(this, constraints));
    },
    insertRenderObjectChild$2(child, slot) {
      this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(child);
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2(child, slot) {
      this.$ti._eval$1("RenderConstrainedLayoutBuilder<1,RenderObject>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).set$child(null);
    }
  };
  A._LayoutBuilderElement__layout_layoutCallback.prototype = {
    call$0() {
      var e, stack, e0, stack0, t1, t2, exception, built0, _this = this, built = null;
      try {
        t1 = _this.$this;
        t2 = t1._widget;
        t2.toString;
        t1.$ti._eval$1("ConstrainedLayoutBuilder<1>")._as(t2);
        built = t2.builder.call$2(t1, _this.constraints);
        t1._widget.toString;
      } catch (exception) {
        e = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        t1 = _this.$this;
        built0 = A.ErrorWidget__defaultErrorWidgetBuilder(A._debugReportException0(A.ErrorDescription$("building " + t1._widget.toString$0(0)), e, stack, new A._LayoutBuilderElement__layout_layoutCallback_closure(t1)));
        built = built0;
      }
      try {
        t1 = _this.$this;
        t1._layout_builder$_child = t1.updateChild$3(t1._layout_builder$_child, built, null);
      } catch (exception) {
        e0 = A.unwrapException(exception);
        stack0 = A.getTraceFromException(exception);
        t1 = _this.$this;
        built0 = A.ErrorWidget__defaultErrorWidgetBuilder(A._debugReportException0(A.ErrorDescription$("building " + t1._widget.toString$0(0)), e0, stack0, new A._LayoutBuilderElement__layout_layoutCallback_closure0(t1)));
        built = built0;
        t1._layout_builder$_child = t1.updateChild$3(null, built, t1._slot);
      }
    },
    $signature: 0
  };
  A._LayoutBuilderElement__layout_layoutCallback_closure.prototype = {
    call$0() {
      var t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      return t1;
    },
    $signature: 36
  };
  A._LayoutBuilderElement__layout_layoutCallback_closure0.prototype = {
    call$0() {
      var t1 = A._setArrayType([], type$.JSArray_DiagnosticsNode);
      return t1;
    },
    $signature: 36
  };
  A.RenderConstrainedLayoutBuilder.prototype = {
    updateCallback$1(value) {
      if (J.$eq$(value, this.RenderConstrainedLayoutBuilder__callback))
        return;
      this.RenderConstrainedLayoutBuilder__callback = value;
      this.markNeedsLayout$0();
    }
  };
  A.LayoutBuilder.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderLayoutBuilder(null, true, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    }
  };
  A._RenderLayoutBuilder.prototype = {
    computeMinIntrinsicWidth$1(height) {
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      return 0;
    },
    computeDryLayout$1(constraints) {
      return B.Size_0_0;
    },
    performLayout$0() {
      var _this = this,
        t1 = type$.BoxConstraints,
        constraints = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      if (_this.RenderConstrainedLayoutBuilder__needsBuild || !t1._as(A.RenderObject.prototype.get$constraints.call(_this)).$eq(0, _this.RenderConstrainedLayoutBuilder__previousConstraints)) {
        _this.RenderConstrainedLayoutBuilder__previousConstraints = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
        _this.RenderConstrainedLayoutBuilder__needsBuild = false;
        t1 = _this.RenderConstrainedLayoutBuilder__callback;
        t1.toString;
        _this.invokeLayoutCallback$1$1(t1, A._instanceType(_this)._eval$1("RenderConstrainedLayoutBuilder.0"));
      }
      t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 != null) {
        t1.layout$2$parentUsesSize(constraints, true);
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.toString;
        _this._box$_size = constraints.constrain$1(t1);
      } else
        _this._box$_size = new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    computeDistanceToActualBaseline$1(baseline) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1.getDistanceToActualBaseline$1(baseline);
      return this.super$RenderBox$computeDistanceToActualBaseline(baseline);
    },
    hitTestChildren$2$position(result, position) {
      var t1 = this.RenderObjectWithChildMixin__child;
      t1 = t1 == null ? null : t1.hitTest$2$position(result, position);
      return t1 === true;
    },
    paint$2(context, offset) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        context.paintChild$2(t1, offset);
    }
  };
  A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder.prototype = {};
  A._Pending.prototype = {};
  A._loadAll_closure.prototype = {
    call$1(value) {
      return this._box_0.completedValue = value;
    },
    $signature: 43
  };
  A._loadAll_closure0.prototype = {
    call$1(p) {
      return p.futureValue;
    },
    $signature: 950
  };
  A._loadAll_closure1.prototype = {
    call$1(values) {
      var t1, t2, t3, i;
      for (t1 = J.getInterceptor$asx(values), t2 = this._box_1, t3 = this.output, i = 0; i < t1.get$length(values); ++i)
        t3.$indexSet(0, A.createRuntimeType(A._instanceType(t2.pendingList[i].delegate)._eval$1("LocalizationsDelegate.T")), t1.$index(values, i));
      return t3;
    },
    $signature: 951
  };
  A.LocalizationsDelegate.prototype = {
    toString$0(_) {
      return "LocalizationsDelegate[" + A.createRuntimeType(A._instanceType(this)._eval$1("LocalizationsDelegate.T")).toString$0(0) + "]";
    }
  };
  A._WidgetsLocalizationsDelegate.prototype = {
    isSupported$1(locale) {
      return true;
    },
    load$1(_, locale) {
      return new A.SynchronousFuture(B.C_DefaultWidgetsLocalizations, type$.SynchronousFuture_WidgetsLocalizations);
    },
    shouldReload$1(old) {
      return false;
    },
    toString$0(_) {
      return "DefaultWidgetsLocalizations.delegate(en_US)";
    }
  };
  A.DefaultWidgetsLocalizations.prototype = {$isWidgetsLocalizations: 1};
  A._LocalizationsScope.prototype = {
    updateShouldNotify$1(old) {
      return this.typeToResources !== old.typeToResources;
    }
  };
  A.Localizations.prototype = {
    createState$0() {
      return new A._LocalizationsState(new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_State_StatefulWidget), A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.dynamic), B._StateLifecycle_0);
    }
  };
  A._LocalizationsState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.load$1(0, this._widget.locale);
    },
    _anyDelegatesShouldReload$1(old) {
      var delegates, oldDelegates, i, delegate, oldDelegate, rti,
        t1 = this._widget.delegates,
        t2 = old.delegates;
      if (t1.length !== t2.length)
        return true;
      delegates = A._setArrayType(t1.slice(0), A._arrayInstanceType(t1));
      oldDelegates = A._setArrayType(t2.slice(0), A._arrayInstanceType(t2));
      for (i = 0; i < delegates.length; ++i) {
        delegate = delegates[i];
        oldDelegate = oldDelegates[i];
        rti = delegate instanceof A.Closure ? A.closureFunctionType(delegate) : null;
        t1 = A.createRuntimeType(rti == null ? A.instanceType(delegate) : rti);
        rti = oldDelegate instanceof A.Closure ? A.closureFunctionType(oldDelegate) : null;
        if (t1 === A.createRuntimeType(rti == null ? A.instanceType(oldDelegate) : rti)) {
          delegate.shouldReload$1(oldDelegate);
          t1 = false;
        } else
          t1 = true;
        if (t1)
          return true;
      }
      return false;
    },
    didUpdateWidget$1(old) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(old);
      if (_this._widget.locale.$eq(0, old.locale)) {
        _this._widget.toString;
        t1 = _this._anyDelegatesShouldReload$1(old);
      } else
        t1 = true;
      if (t1)
        _this.load$1(0, _this._widget.locale);
    },
    load$1(_, locale) {
      var typeToResourcesFuture, _this = this, t1 = {},
        delegates = _this._widget.delegates,
        t2 = delegates.length;
      if (t2 === 0) {
        _this._localizations$_locale = locale;
        return;
      }
      t1.typeToResources = null;
      typeToResourcesFuture = A._loadAll(locale, delegates).then$1$1(new A._LocalizationsState_load_closure(t1), type$.Map_Type_dynamic);
      t1 = t1.typeToResources;
      if (t1 != null) {
        _this._typeToResources = t1;
        _this._localizations$_locale = locale;
      } else {
        ++$.RendererBinding__instance.RendererBinding__firstFrameDeferredCount;
        typeToResourcesFuture.then$1$1(new A._LocalizationsState_load_closure0(_this, locale), type$.void);
      }
    },
    get$_localizations$_textDirection() {
      type$.WidgetsLocalizations._as(J.$index$asx(this._typeToResources, B.Type_WidgetsLocalizations_43h));
      return B.TextDirection_1;
    },
    build$1(context) {
      var t1, t2, t3, _this = this, _null = null;
      if (_this._localizations$_locale == null)
        return A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      t1 = _this.get$_localizations$_textDirection();
      _this._localizations$_locale.toString;
      t2 = _this._typeToResources;
      t3 = _this.get$_localizations$_textDirection();
      t3 = A.Directionality$(_this._widget.child, t3);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null), false, false, false, new A._LocalizationsScope(_this, t2, t3, _this._localizedResourcesScopeKey), _null);
    }
  };
  A._LocalizationsState_load_closure.prototype = {
    call$1(value) {
      return this._box_0.typeToResources = value;
    },
    $signature: 952
  };
  A._LocalizationsState_load_closure0.prototype = {
    call$1(value) {
      var t1 = this.$this;
      if (t1._framework$_element != null)
        t1.setState$1(new A._LocalizationsState_load__closure(t1, value, this.locale));
      $.RendererBinding__instance.allowFirstFrame$0();
    },
    $signature: 953
  };
  A._LocalizationsState_load__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._typeToResources = this.value;
      t1._localizations$_locale = this.locale;
    },
    $signature: 0
  };
  A.Orientation.prototype = {
    toString$0(_) {
      return "Orientation." + this._core$_name;
    }
  };
  A.MediaQueryData.prototype = {
    get$orientation(_) {
      var t1 = this.size;
      return t1._dx > t1._dy ? B.Orientation_1 : B.Orientation_0;
    },
    copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(displayFeatures, padding, platformBrightness, textScaleFactor, viewInsets, viewPadding) {
      var _this = this,
        t1 = textScaleFactor == null ? _this.textScaleFactor : textScaleFactor,
        t2 = padding == null ? _this.padding : padding,
        t3 = viewPadding == null ? _this.viewPadding : viewPadding,
        t4 = viewInsets == null ? _this.viewInsets : viewInsets,
        t5 = displayFeatures == null ? _this.displayFeatures : displayFeatures;
      return new A.MediaQueryData(_this.size, _this.devicePixelRatio, t1, _this.platformBrightness, t4, t2, t3, _this.systemGestureInsets, false, _this.accessibleNavigation, _this.invertColors, _this.highContrast, _this.disableAnimations, _this.boldText, _this.navigationMode, _this.gestureSettings, t5);
    },
    copyWith$1$textScaleFactor(textScaleFactor) {
      return this.copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(null, null, null, textScaleFactor, null, null);
    },
    copyWith$1$platformBrightness(platformBrightness) {
      return this.copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(null, null, platformBrightness, null, null, null);
    },
    copyWith$1$padding(padding) {
      return this.copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(null, padding, null, null, null, null);
    },
    copyWith$2$padding$viewPadding(padding, viewPadding) {
      return this.copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(null, padding, null, null, null, viewPadding);
    },
    copyWith$4$displayFeatures$padding$viewInsets$viewPadding(displayFeatures, padding, viewInsets, viewPadding) {
      return this.copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(displayFeatures, padding, null, null, viewInsets, viewPadding);
    },
    copyWith$2$viewInsets$viewPadding(viewInsets, viewPadding) {
      return this.copyWith$6$displayFeatures$padding$platformBrightness$textScaleFactor$viewInsets$viewPadding(null, null, null, null, viewInsets, viewPadding);
    },
    removePadding$4$removeBottom$removeLeft$removeRight$removeTop(removeBottom, removeLeft, removeRight, removeTop) {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      if (!(removeLeft || removeTop || removeRight || removeBottom))
        return _this;
      t1 = _this.padding;
      t2 = removeLeft ? 0 : _null;
      t3 = removeTop ? 0 : _null;
      t4 = removeRight ? 0 : _null;
      t2 = t1.copyWith$4$bottom$left$right$top(removeBottom ? 0 : _null, t2, t4, t3);
      t3 = _this.viewPadding;
      t4 = removeLeft ? Math.max(0, t3.left - t1.left) : _null;
      t5 = removeTop ? Math.max(0, t3.top - t1.top) : _null;
      t6 = removeRight ? Math.max(0, t3.right - t1.right) : _null;
      return _this.copyWith$2$padding$viewPadding(t2, t3.copyWith$4$bottom$left$right$top(removeBottom ? Math.max(0, t3.bottom - t1.bottom) : _null, t4, t6, t5));
    },
    removeViewInsets$4$removeBottom$removeLeft$removeRight$removeTop(removeBottom, removeLeft, removeRight, removeTop) {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      if (!removeLeft)
        !removeTop;
      t1 = _this.viewPadding;
      t2 = removeLeft ? Math.max(0, t1.left - _this.viewInsets.left) : _null;
      t3 = removeTop ? Math.max(0, t1.top - _this.viewInsets.top) : _null;
      t4 = removeRight ? Math.max(0, t1.right - _this.viewInsets.right) : _null;
      t5 = _this.viewInsets;
      t6 = Math.max(0, t1.bottom - t5.bottom);
      t1 = t1.copyWith$4$bottom$left$right$top(t6, t2, t4, t3);
      t2 = removeLeft ? 0 : _null;
      t3 = removeTop ? 0 : _null;
      t4 = removeRight ? 0 : _null;
      return _this.copyWith$2$viewInsets$viewPadding(t5.copyWith$4$bottom$left$right$top(0, t2, t4, t3), t1);
    },
    removeViewInsets$1$removeBottom(removeBottom) {
      return this.removeViewInsets$4$removeBottom$removeLeft$removeRight$removeTop(removeBottom, false, false, false);
    },
    removeDisplayFeatures$1(subScreen) {
      var rightInset, bottomInset, t6, t7, t8, t9, t10, t11, t12, t13, t14, _this = this,
        t1 = subScreen.right,
        t2 = subScreen.left,
        t3 = subScreen.bottom,
        t4 = subScreen.top,
        t5 = _this.size;
      if (new A.Size(t1 - t2, t3 - t4).$eq(0, t5) && new A.Offset(t2, t4).$eq(0, B.Offset_0_0))
        return _this;
      rightInset = t5._dx - t1;
      bottomInset = t5._dy - t3;
      t1 = _this.padding;
      t3 = Math.max(0, t1.left - t2);
      t5 = Math.max(0, t1.top - t4);
      t6 = Math.max(0, t1.right - rightInset);
      t1 = Math.max(0, t1.bottom - bottomInset);
      t7 = _this.viewPadding;
      t8 = Math.max(0, t7.left - t2);
      t9 = Math.max(0, t7.top - t4);
      t10 = Math.max(0, t7.right - rightInset);
      t7 = Math.max(0, t7.bottom - bottomInset);
      t11 = _this.viewInsets;
      t2 = Math.max(0, t11.left - t2);
      t4 = Math.max(0, t11.top - t4);
      t12 = Math.max(0, t11.right - rightInset);
      t11 = Math.max(0, t11.bottom - bottomInset);
      t13 = _this.displayFeatures;
      t14 = A._arrayInstanceType(t13)._eval$1("WhereIterable<1>");
      return _this.copyWith$4$displayFeatures$padding$viewInsets$viewPadding(A.List_List$of(new A.WhereIterable(t13, new A.MediaQueryData_removeDisplayFeatures_closure(subScreen), t14), true, t14._eval$1("Iterable.E")), new A.EdgeInsets(t3, t5, t6, t1), new A.EdgeInsets(t2, t4, t12, t11), new A.EdgeInsets(t8, t9, t10, t7));
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (other instanceof A.MediaQueryData)
        if (other.size.$eq(0, _this.size))
          if (other.devicePixelRatio === _this.devicePixelRatio)
            if (other.textScaleFactor === _this.textScaleFactor)
              if (other.platformBrightness === _this.platformBrightness)
                if (other.padding.$eq(0, _this.padding))
                  if (other.viewPadding.$eq(0, _this.viewPadding))
                    if (other.viewInsets.$eq(0, _this.viewInsets))
                      t1 = other.highContrast === _this.highContrast && other.disableAnimations === _this.disableAnimations && other.invertColors === _this.invertColors && other.accessibleNavigation === _this.accessibleNavigation && other.boldText === _this.boldText && other.navigationMode === _this.navigationMode && other.gestureSettings.$eq(0, _this.gestureSettings) && A.listEquals(other.displayFeatures, _this.displayFeatures);
                    else
                      t1 = false;
                  else
                    t1 = false;
                else
                  t1 = false;
              else
                t1 = false;
            else
              t1 = false;
          else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.size, _this.devicePixelRatio, _this.textScaleFactor, _this.platformBrightness, _this.padding, _this.viewPadding, _this.viewInsets, false, _this.highContrast, _this.disableAnimations, _this.invertColors, _this.accessibleNavigation, _this.boldText, _this.navigationMode, _this.gestureSettings, A.Object_hashAll(_this.displayFeatures), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "MediaQueryData(" + B.JSArray_methods.join$1(A._setArrayType(["size: " + _this.size.toString$0(0), "devicePixelRatio: " + B.JSNumber_methods.toStringAsFixed$1(_this.devicePixelRatio, 1), "textScaleFactor: " + B.JSNumber_methods.toStringAsFixed$1(_this.textScaleFactor, 1), "platformBrightness: " + _this.platformBrightness.toString$0(0), "padding: " + _this.padding.toString$0(0), "viewPadding: " + _this.viewPadding.toString$0(0), "viewInsets: " + _this.viewInsets.toString$0(0), "alwaysUse24HourFormat: false", "accessibleNavigation: " + _this.accessibleNavigation, "highContrast: " + _this.highContrast, "disableAnimations: " + _this.disableAnimations, "invertColors: " + _this.invertColors, "boldText: " + _this.boldText, "navigationMode: " + _this.navigationMode._core$_name, "gestureSettings: " + _this.gestureSettings.toString$0(0), "displayFeatures: " + A.S(_this.displayFeatures)], type$.JSArray_String), ", ") + ")";
    }
  };
  A.MediaQueryData_removeDisplayFeatures_closure.prototype = {
    call$1(displayFeature) {
      return this.subScreen.overlaps$1(displayFeature.get$bounds(displayFeature));
    },
    $signature: 264
  };
  A.MediaQuery.prototype = {
    updateShouldNotify$1(oldWidget) {
      return !this.data.$eq(0, oldWidget.data);
    }
  };
  A.NavigationMode.prototype = {
    toString$0(_) {
      return "NavigationMode." + this._core$_name;
    }
  };
  A._MediaQueryFromWindow.prototype = {
    createState$0() {
      return new A._MediaQueryFromWindowState(B._StateLifecycle_0);
    }
  };
  A._MediaQueryFromWindowState.prototype = {
    initState$0() {
      this.super$State$initState();
      $.WidgetsBinding__instance.WidgetsBinding__observers.push(this);
    },
    didChangeMetrics$0() {
      this.setState$1(new A._MediaQueryFromWindowState_didChangeMetrics_closure());
    },
    didChangeTextScaleFactor$0() {
      this.setState$1(new A._MediaQueryFromWindowState_didChangeTextScaleFactor_closure());
    },
    didChangePlatformBrightness$0() {
      this.setState$1(new A._MediaQueryFromWindowState_didChangePlatformBrightness_closure());
    },
    build$1(context) {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, data;
      $.WidgetsBinding__instance.toString;
      t1 = $.$get$window();
      t2 = t1.get$physicalSize();
      t3 = t1._debugDevicePixelRatio;
      t2 = t2.$div(0, t3 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t3);
      t3 = t1._debugDevicePixelRatio;
      if (t3 == null)
        t3 = A.EnginePlatformDispatcher_browserDevicePixelRatio();
      t4 = t1.platformDispatcher;
      t5 = t4.configuration;
      t1.get$viewConfiguration();
      t6 = t1._debugDevicePixelRatio;
      t6 = A.EdgeInsets$fromWindowPadding(B.WindowPadding_0_0_0_0, t6 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t6);
      t1.get$viewConfiguration();
      t7 = t1._debugDevicePixelRatio;
      t7 = A.EdgeInsets$fromWindowPadding(B.WindowPadding_0_0_0_0, t7 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t7);
      t8 = t1._viewInsets;
      t9 = t1._debugDevicePixelRatio;
      t8 = A.EdgeInsets$fromWindowPadding(t8, t9 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t9);
      t1.get$viewConfiguration();
      t9 = t1._debugDevicePixelRatio;
      t9 = A.EdgeInsets$fromWindowPadding(B.WindowPadding_0_0_0_0, t9 == null ? A.EnginePlatformDispatcher_browserDevicePixelRatio() : t9);
      t4 = t4.configuration.accessibilityFeatures.__engine$_index;
      t1.get$viewConfiguration();
      t1.get$viewConfiguration();
      data = new A.MediaQueryData(t2, t3, t5.textScaleFactor, t5.platformBrightness, t8, t6, t7, t9, false, (t4 & 1) !== 0, (t4 & 2) !== 0, (t4 & 32) !== 0, (t4 & 4) !== 0, (t4 & 8) !== 0, B.NavigationMode_0, new A.DeviceGestureSettings(null), B.List_empty11).copyWith$1$platformBrightness($.debugBrightnessOverride);
      return new A.MediaQuery(data, this._widget.child, null);
    },
    dispose$0() {
      B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
      this.super$State$dispose();
    }
  };
  A._MediaQueryFromWindowState_didChangeMetrics_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._MediaQueryFromWindowState_didChangeTextScaleFactor_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._MediaQueryFromWindowState_didChangePlatformBrightness_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.__MediaQueryFromWindowState_State_WidgetsBindingObserver.prototype = {};
  A.ModalBarrier.prototype = {
    build$1(context) {
      var platformSupportsDismissingBarrier, semanticsDismissible, t1, t2, t3, t4, t5, t6, _this = this, _null = null;
      switch (A.defaultTargetPlatform().index) {
        case 0:
        case 1:
        case 3:
        case 5:
          platformSupportsDismissingBarrier = false;
          break;
        case 2:
        case 4:
          platformSupportsDismissingBarrier = true;
          break;
        default:
          platformSupportsDismissingBarrier = _null;
      }
      semanticsDismissible = _this.dismissible && platformSupportsDismissingBarrier;
      t1 = new A.ModalBarrier_build_handleDismiss(_this, context);
      t2 = !semanticsDismissible || false;
      t3 = semanticsDismissible ? _this.semanticsLabel : _null;
      t4 = semanticsDismissible ? t1 : _null;
      if (semanticsDismissible && _this.semanticsLabel != null) {
        t5 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
        t5.toString;
        t5 = t5.textDirection;
      } else
        t5 = _null;
      t6 = _this.color;
      t6 = A.MouseRegion$(new A.ConstrainedBox(B.BoxConstraints_ALM, t6 == null ? _null : new A.ColoredBox(t6, _null, _null), _null), B.SystemMouseCursor_basic, _null, _null, _null, _null);
      return A.BlockSemantics$(new A.ExcludeSemantics(t2, new A._ModalBarrierGestureDetector(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t4, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t5, _null, _null, _null, _null), false, false, false, t6, _null), t1, _null), _null));
    }
  };
  A.ModalBarrier_build_handleDismiss.prototype = {
    call$0() {
      if (this.$this.dismissible)
        A.Navigator_maybePop(this.context);
      else
        A.SystemSound_play(B.SystemSoundType_1);
    },
    $signature: 0
  };
  A.AnimatedModalBarrier.prototype = {
    build$1(context) {
      var t1 = type$.Animation_nullable_Color._as(this.listenable);
      return new A.ModalBarrier(t1.get$value(t1), this.dismissible, null, true, this.semanticsLabel, null);
    }
  };
  A._AnyTapGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      if (this.onAnyTapUp == null)
        return false;
      return this.super$GestureRecognizer$isPointerAllowed($event);
    },
    handleTapDown$1$down(down) {
    },
    handleTapUp$2$down$up(down, up) {
      var t1 = this.onAnyTapUp;
      if (t1 != null)
        t1.call$0();
    },
    handleTapCancel$3$cancel$down$reason(cancel, down, reason) {
    }
  };
  A._ModalBarrierSemanticsDelegate.prototype = {
    assignSemantics$1(renderObject) {
      renderObject.set$onTap(this.onDismiss);
    }
  };
  A._AnyTapGestureRecognizerFactory.prototype = {
    constructor$0() {
      var t1 = type$.int,
        t2 = A.HashSet_HashSet(t1);
      return new A._AnyTapGestureRecognizer(B.Duration_100000, 18, B.GestureRecognizerState_0, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.GestureArenaEntry), t2, null, null, A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.PointerDeviceKind));
    },
    initializer$1(instance) {
      instance.onAnyTapUp = this.onAnyTapUp;
    }
  };
  A._ModalBarrierGestureDetector.prototype = {
    build$1(context) {
      var t1 = this.onDismiss;
      return new A.RawGestureDetector(this.child, A.LinkedHashMap_LinkedHashMap$_literal([B.Type__AnyTapGestureRecognizer_5RQ, new A._AnyTapGestureRecognizerFactory(t1)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer), B.HitTestBehavior_1, false, new A._ModalBarrierSemanticsDelegate(t1), null);
    }
  };
  A.NavigationToolbar.prototype = {
    build$1(context) {
      var t2, t3, _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t2 = A._setArrayType([], type$.JSArray_Widget);
      t3 = _this.leading;
      if (t3 != null)
        t2.push(A.LayoutId$(t3, B._ToolbarSlot_0));
      t3 = _this.middle;
      if (t3 != null)
        t2.push(A.LayoutId$(t3, B._ToolbarSlot_1));
      t3 = _this.trailing;
      if (t3 != null)
        t2.push(A.LayoutId$(t3, B._ToolbarSlot_2));
      return new A.CustomMultiChildLayout(new A._ToolbarLayout(_this.centerMiddle, _this.middleSpacing, t1.textDirection), t2, null);
    }
  };
  A._ToolbarSlot.prototype = {
    toString$0(_) {
      return "_ToolbarSlot." + this._core$_name;
    }
  };
  A._ToolbarLayout.prototype = {
    performLayout$1(size) {
      var t1, t2, leadingWidth, leadingX, trailingSize, trailingX, trailingWidth, maxWidth, middleSize, middleStartMargin, middleStart, t3, middleX, _this = this;
      if (_this._idToChild.$index(0, B._ToolbarSlot_0) != null) {
        t1 = size._dx;
        t2 = size._dy;
        leadingWidth = _this.layoutChild$2(B._ToolbarSlot_0, new A.BoxConstraints(0, t1 / 3, t2, t2))._dx;
        switch (_this.textDirection.index) {
          case 0:
            leadingX = t1 - leadingWidth;
            break;
          case 1:
            leadingX = 0;
            break;
          default:
            leadingX = null;
        }
        _this.positionChild$2(B._ToolbarSlot_0, new A.Offset(leadingX, 0));
      } else
        leadingWidth = 0;
      if (_this._idToChild.$index(0, B._ToolbarSlot_2) != null) {
        trailingSize = _this.layoutChild$2(B._ToolbarSlot_2, A.BoxConstraints$loose(size));
        switch (_this.textDirection.index) {
          case 0:
            trailingX = 0;
            break;
          case 1:
            trailingX = size._dx - trailingSize._dx;
            break;
          default:
            trailingX = null;
        }
        trailingWidth = trailingSize._dx;
        _this.positionChild$2(B._ToolbarSlot_2, new A.Offset(trailingX, (size._dy - trailingSize._dy) / 2));
      } else
        trailingWidth = 0;
      if (_this._idToChild.$index(0, B._ToolbarSlot_1) != null) {
        t1 = size._dx;
        t2 = _this.middleSpacing;
        maxWidth = Math.max(t1 - leadingWidth - trailingWidth - t2 * 2, 0);
        middleSize = _this.layoutChild$2(B._ToolbarSlot_1, A.BoxConstraints$loose(size).copyWith$1$maxWidth(maxWidth));
        middleStartMargin = leadingWidth + t2;
        if (_this.centerMiddle) {
          t2 = middleSize._dx;
          middleStart = (t1 - t2) / 2;
          t3 = t1 - trailingWidth;
          if (middleStart + t2 > t3)
            middleStart = t3 - t2;
          else if (middleStart < middleStartMargin)
            middleStart = middleStartMargin;
        } else
          middleStart = middleStartMargin;
        switch (_this.textDirection.index) {
          case 0:
            middleX = t1 - middleSize._dx - middleStart;
            break;
          case 1:
            middleX = middleStart;
            break;
          default:
            middleX = null;
        }
        _this.positionChild$2(B._ToolbarSlot_1, new A.Offset(middleX, (size._dy - middleSize._dy) / 2));
      }
    },
    shouldRelayout$1(oldDelegate) {
      return oldDelegate.centerMiddle !== this.centerMiddle || oldDelegate.middleSpacing !== this.middleSpacing || oldDelegate.textDirection !== this.textDirection;
    }
  };
  A.RoutePopDisposition.prototype = {
    toString$0(_) {
      return "RoutePopDisposition." + this._core$_name;
    }
  };
  A.Route.prototype = {
    get$overlayEntries() {
      return B.List_empty12;
    },
    install$0() {
    },
    didPush$0() {
      var t1 = A.TickerFuture$complete();
      t1.then$1$1(new A.Route_didPush_closure(this), type$.void);
      return t1;
    },
    didAdd$0() {
      var t1 = this._navigator$_navigator;
      if (t1 == null)
        t1 = null;
      else {
        t1._widget.toString;
        t1 = true;
      }
      if (t1 === true)
        A.TickerFuture$complete().then$1$1(new A.Route_didAdd_closure(this), type$.void);
    },
    didReplace$1(oldRoute) {
    },
    willPop$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.RoutePopDisposition),
        $async$returnValue, $async$self = this;
      var $async$willPop$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$returnValue = $async$self.get$isFirst() ? B.RoutePopDisposition_2 : B.RoutePopDisposition_0;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$willPop$0, $async$completer);
    },
    get$willHandlePopInternally() {
      return false;
    },
    didPop$1(result) {
      this.didComplete$1(result);
      return true;
    },
    didComplete$1(result) {
      var t1 = result == null ? null : result;
      this._popCompleter.complete$1(0, t1);
    },
    didPopNext$1(nextRoute) {
    },
    didChangeNext$1(nextRoute) {
    },
    didChangePrevious$1(previousRoute) {
    },
    changedInternalState$0() {
    },
    changedExternalState$0() {
    },
    dispose$0() {
      this._navigator$_navigator = null;
    },
    get$isCurrent() {
      var currentRouteEntry,
        t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      t1 = t1._history;
      t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
      currentRouteEntry = t1.lastWhere$2$orElse(t1, new A.Route_isCurrent_closure(), new A.Route_isCurrent_closure0());
      if (currentRouteEntry == null)
        return false;
      return currentRouteEntry.route === this;
    },
    get$isFirst() {
      var currentRouteEntry,
        t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      t1 = t1._history;
      t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
      currentRouteEntry = t1.firstWhere$2$orElse(t1, new A.Route_isFirst_closure(), new A.Route_isFirst_closure0());
      if (currentRouteEntry == null)
        return false;
      return currentRouteEntry.route === this;
    },
    get$hasActiveRouteBelow() {
      var t2, _i, entry, t3,
        t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      for (t1 = t1._history, t2 = t1.length, _i = 0; _i < t2; ++_i) {
        entry = t1[_i];
        if (entry.route === this)
          return false;
        t3 = entry.currentState.index;
        if (t3 <= 10 && t3 >= 1)
          return true;
      }
      return false;
    },
    get$isActive() {
      var t1 = this._navigator$_navigator;
      if (t1 == null)
        return false;
      t1 = t1._history;
      t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
      t1 = t1.firstWhere$2$orElse(t1, new A.Route_isActive_closure(this), new A.Route_isActive_closure0());
      t1 = t1 == null ? null : t1.get$isPresent();
      return t1 === true;
    }
  };
  A.Route_didPush_closure.prototype = {
    call$1(_) {
      var t2,
        t1 = this.$this._navigator$_navigator;
      if (t1 == null)
        t2 = null;
      else {
        t1._widget.toString;
        t2 = true;
      }
      if (t2 === true)
        t1.focusScopeNode.requestFocus$0();
    },
    $signature: 48
  };
  A.Route_didAdd_closure.prototype = {
    call$1(_) {
      var t1 = this.$this._navigator$_navigator;
      if (t1 != null)
        t1.focusScopeNode.requestFocus$0();
    },
    $signature: 48
  };
  A.Route_isCurrent_closure.prototype = {
    call$1(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 68
  };
  A.Route_isCurrent_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.Route_isFirst_closure.prototype = {
    call$1(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 68
  };
  A.Route_isFirst_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.Route_isActive_closure.prototype = {
    call$1(e) {
      return e != null && A._RouteEntry_isRoutePredicate(this.$this).call$1(e);
    },
    $signature: 68
  };
  A.Route_isActive_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.RouteSettings.prototype = {
    toString$0(_) {
      return 'RouteSettings("' + A.S(this.name) + '", ' + A.S(this.$arguments) + ")";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.Page.prototype = {
    toString$0(_) {
      return 'Page("' + A.S(this.name) + '", ' + A.S(this.key) + ", " + A.S(this.$arguments) + ")";
    }
  };
  A.NavigatorObserver.prototype = {};
  A.HeroControllerScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      return oldWidget.controller != this.controller;
    }
  };
  A.RouteTransitionRecord.prototype = {};
  A.TransitionDelegate.prototype = {};
  A.DefaultTransitionDelegate.prototype = {
    resolve$3$locationToExitingPageRoute$newPageRouteHistory$pageRouteToPagelessRoutes(locationToExitingPageRoute, newPageRouteHistory, pageRouteToPagelessRoutes) {
      var t1, _i, pageRoute, isLastIteration,
        results = A._setArrayType([], type$.JSArray_RouteTransitionRecord),
        handleExitingRoute = new A.DefaultTransitionDelegate_resolve_handleExitingRoute(locationToExitingPageRoute, pageRouteToPagelessRoutes, results);
      handleExitingRoute.call$2(null, newPageRouteHistory.length === 0);
      for (t1 = newPageRouteHistory.length, _i = 0; _i < newPageRouteHistory.length; newPageRouteHistory.length === t1 || (0, A.throwConcurrentModificationError)(newPageRouteHistory), ++_i) {
        pageRoute = newPageRouteHistory[_i];
        isLastIteration = B.JSArray_methods.get$last(newPageRouteHistory) === pageRoute;
        if (pageRoute.currentState === B._RouteLifecycle_0)
          if (!locationToExitingPageRoute.containsKey$1(0, pageRoute) && isLastIteration)
            pageRoute.currentState = B._RouteLifecycle_3;
          else
            pageRoute.currentState = B._RouteLifecycle_1;
        results.push(pageRoute);
        handleExitingRoute.call$2(pageRoute, isLastIteration);
      }
      return results;
    }
  };
  A.DefaultTransitionDelegate_resolve_handleExitingRoute.prototype = {
    call$2($location, isLast) {
      var t2, hasPagelessRoute, isLastExitingPageRoute, t3, t4, _this = this,
        t1 = _this.locationToExitingPageRoute,
        exitingPageRoute = t1.$index(0, $location);
      if (exitingPageRoute == null)
        return;
      if (exitingPageRoute._isWaitingForExitingDecision) {
        t2 = _this.pageRouteToPagelessRoutes;
        hasPagelessRoute = t2.containsKey$1(0, exitingPageRoute);
        isLastExitingPageRoute = isLast && !t1.containsKey$1(0, exitingPageRoute);
        if (isLastExitingPageRoute && !hasPagelessRoute) {
          exitingPageRoute.pendingResult = null;
          exitingPageRoute.currentState = B._RouteLifecycle_8;
          exitingPageRoute._isWaitingForExitingDecision = false;
        } else {
          exitingPageRoute.complete$1(0, null);
          exitingPageRoute._isWaitingForExitingDecision = false;
        }
        if (hasPagelessRoute) {
          t1 = t2.$index(0, exitingPageRoute);
          t1.toString;
          for (t2 = J.getInterceptor$ax(t1), t3 = t2.get$iterator(t1); t3.moveNext$0();) {
            t4 = t3.get$current(t3);
            if (t4._isWaitingForExitingDecision)
              if (isLastExitingPageRoute && t4 === t2.get$last(t1)) {
                t4.pendingResult = null;
                t4.currentState = B._RouteLifecycle_8;
                t4._isWaitingForExitingDecision = false;
              } else {
                t4.complete$1(0, null);
                t4._isWaitingForExitingDecision = false;
              }
          }
        }
      }
      _this.results.push(exitingPageRoute);
      _this.call$2(exitingPageRoute, isLast);
    },
    $signature: 955
  };
  A.Navigator.prototype = {
    createState$0() {
      var _null = null,
        t1 = A._setArrayType([], type$.JSArray__RouteEntry),
        t2 = $.$get$ChangeNotifier__emptyListeners(),
        t3 = type$._NavigatorObservation;
      return new A.NavigatorState(t1, new A._HistoryProperty(t2), A.ListQueue$(_null, t3), A.ListQueue$(_null, t3), A.FocusScopeNode$(true, "Navigator Scope", false), new A.RestorableNum(0, t2, type$.RestorableNum_int), new A.ValueNotifier(false, t2, type$.ValueNotifier_bool), A.LinkedHashSet_LinkedHashSet$_empty(type$.int), _null, A.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, _null, _null, B._StateLifecycle_0);
    },
    onGenerateInitialRoutes$2(arg0, arg1) {
      return this.onGenerateInitialRoutes.call$2(arg0, arg1);
    }
  };
  A.Navigator_defaultGenerateInitialRoutes_closure.prototype = {
    call$1(route) {
      return route == null;
    },
    $signature: 956
  };
  A._RouteLifecycle.prototype = {
    toString$0(_) {
      return "_RouteLifecycle." + this._core$_name;
    }
  };
  A._NotAnnounced.prototype = {};
  A._RouteEntry.prototype = {
    get$restorationId() {
      if (this.route._settings instanceof A.Page)
        return null;
      var t1 = this.restorationInformation;
      if (t1 != null)
        return "r+" + t1.get$restorationScopeId();
      return null;
    },
    canUpdateFrom$1(page) {
      var t1;
      if (!this.get$willBePresent())
        return false;
      t1 = this.route._settings;
      if (!(t1 instanceof A.Page))
        return false;
      return A.getRuntimeType(t1) === A.getRuntimeType(page) && true;
    },
    handlePush$4$isNewFirst$navigator$previous$previousPresent(isNewFirst, $navigator, previous, previousPresent) {
      var t2, routeFuture, t3, _this = this,
        previousState = _this.currentState,
        t1 = _this.route;
      t1._navigator$_navigator = $navigator;
      t1.install$0();
      t2 = _this.currentState;
      if (t2 === B._RouteLifecycle_3 || t2 === B._RouteLifecycle_4) {
        routeFuture = t1.didPush$0();
        _this.currentState = B._RouteLifecycle_5;
        routeFuture.whenCompleteOrCancel$1(new A._RouteEntry_handlePush_closure(_this, $navigator));
      } else {
        t1.didReplace$1(previous);
        _this.currentState = B._RouteLifecycle_7;
      }
      if (isNewFirst)
        t1.didChangeNext$1(null);
      t2 = previousState === B._RouteLifecycle_6 || previousState === B._RouteLifecycle_4;
      t3 = $navigator._observedRouteAdditions;
      if (t2)
        t3._add$1(0, new A._NavigatorReplaceObservation(t1, previousPresent));
      else
        t3._add$1(0, new A._NavigatorPushObservation(t1, previousPresent));
    },
    handlePop$2$navigator$previousPresent($navigator, previousPresent) {
      var t1, _this = this;
      _this.currentState = B._RouteLifecycle_11;
      t1 = _this.route;
      if ((t1._popCompleter.future._state & 30) !== 0)
        return true;
      if (!t1.didPop$1(_this.pendingResult)) {
        _this.currentState = B._RouteLifecycle_7;
        return false;
      }
      _this.pendingResult = null;
      return true;
    },
    remove$0(_) {
      if (this.currentState.index >= 10)
        return;
      this._reportRemovalToObserver = true;
      this.currentState = B._RouteLifecycle_10;
    },
    complete$1$1(_, result) {
      var _this = this;
      if (_this.currentState.index >= 10)
        return;
      _this._reportRemovalToObserver = true;
      _this.pendingResult = result;
      _this.currentState = B._RouteLifecycle_9;
    },
    complete$1($receiver, result) {
      return this.complete$1$1($receiver, result, type$.dynamic);
    },
    dispose$0() {
      var t1, t2, t3, t4, mountedEntries, listener, _box_0 = {};
      this.currentState = B._RouteLifecycle_14;
      t1 = this.route;
      t2 = t1.get$overlayEntries();
      t3 = new A._RouteEntry_dispose_closure();
      t4 = A._arrayInstanceType(t2);
      mountedEntries = new A.WhereIterable(t2, t3, t4._eval$1("WhereIterable<1>"));
      if (!mountedEntries.get$iterator(mountedEntries).moveNext$0())
        t1.dispose$0();
      else {
        _box_0.mounted = mountedEntries.get$length(mountedEntries);
        for (t1 = B.JSArray_methods.get$iterator(t2), t4 = new A.WhereIterator(t1, t3, t4._eval$1("WhereIterator<1>")); t4.moveNext$0();) {
          t2 = t1.get$current(t1);
          listener = A._Cell$named("listener");
          t3 = new A._RouteEntry_dispose_closure0(_box_0, this, t2, listener);
          listener.__late_helper$_value = t3;
          t2._overlayStateMounted.addListener$1(0, t3);
        }
      }
    },
    get$willBePresent() {
      var t1 = this.currentState.index;
      return t1 <= 7 && t1 >= 1;
    },
    get$isPresent() {
      var t1 = this.currentState.index;
      return t1 <= 10 && t1 >= 1;
    }
  };
  A._RouteEntry_handlePush_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.currentState === B._RouteLifecycle_5) {
        t1.currentState = B._RouteLifecycle_7;
        this.navigator._flushHistoryUpdates$0();
      }
    },
    $signature: 0
  };
  A._RouteEntry_dispose_closure.prototype = {
    call$1(e) {
      return e._overlayStateMounted._change_notifier$_value;
    },
    $signature: 957
  };
  A._RouteEntry_dispose_closure0.prototype = {
    call$0() {
      var _this = this,
        t1 = _this._box_0;
      --t1.mounted;
      _this.entry._overlayStateMounted.removeListener$1(0, _this.listener._readLocal$0());
      if (t1.mounted === 0)
        _this.$this.route.dispose$0();
    },
    $signature: 0
  };
  A._RouteEntry_isRoutePredicate_closure.prototype = {
    call$1(entry) {
      return entry.route === this.route;
    },
    $signature: 119
  };
  A._NavigatorObservation.prototype = {};
  A._NavigatorPushObservation.prototype = {
    notify$1(observer) {
      observer._maybeStartHeroTransition$4(this.secondaryRoute, this.primaryRoute, B.HeroFlightDirection_0, false);
    }
  };
  A._NavigatorPopObservation.prototype = {
    notify$1(observer) {
      if (!observer._navigator$_navigator.userGestureInProgressNotifier._change_notifier$_value)
        observer._maybeStartHeroTransition$4(this.primaryRoute, this.secondaryRoute, B.HeroFlightDirection_1, false);
    }
  };
  A._NavigatorRemoveObservation.prototype = {
    notify$1(observer) {
    }
  };
  A._NavigatorReplaceObservation.prototype = {
    notify$1(observer) {
      var t1 = this.primaryRoute,
        t2 = t1.get$isCurrent();
      if (t2)
        observer._maybeStartHeroTransition$4(this.secondaryRoute, t1, B.HeroFlightDirection_0, false);
    }
  };
  A.NavigatorState.prototype = {
    initState$0() {
      var t1, _i, _this = this;
      _this.super$State$initState();
      for (t1 = _this._widget.observers, _i = 0; false; ++_i)
        t1[_i]._navigator$_navigator = _this;
      _this.__NavigatorState__effectiveObservers = _this._widget.observers;
      t1 = _this._framework$_element.getElementForInheritedWidgetOfExactType$1$0(type$.HeroControllerScope);
      t1 = t1 == null ? null : t1.get$widget();
      type$.nullable_HeroControllerScope._as(t1);
      _this._updateHeroController$1(t1 == null ? null : t1.controller);
      if (_this._widget.reportsRouteUpdateToEngine)
        B.OptionalMethodChannel_urv.invokeMethod$1$1("selectSingleEntryHistory", type$.void);
    },
    restoreState$2(oldBucket, initialRestore) {
      var t1, t2, t3, _i, page, t4, t5, entry, initialRoute, _this = this;
      _this.registerForRestoration$2(_this._rawNextPagelessRestorationScopeId, "id");
      t1 = _this._serializableHistory;
      _this.registerForRestoration$2(t1, "history");
      for (; t2 = _this._history, t2.length !== 0;)
        t2.pop().dispose$0();
      _this.__NavigatorState__overlayKey = new A.LabeledGlobalKey(null, type$.LabeledGlobalKey_OverlayState);
      B.JSArray_methods.addAll$1(t2, t1.restoreEntriesForPage$2(null, _this));
      for (t2 = _this._widget.pages, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        page = t2[_i];
        _this._framework$_element.toString;
        t4 = A._PageBasedMaterialPageRoute$(page, page.$ti._precomputed1);
        t5 = $.$get$_RouteEntry_notAnnounced();
        entry = new A._RouteEntry(t4, null, B._RouteLifecycle_1, t5, t5, t5);
        _this._history.push(entry);
        B.JSArray_methods.addAll$1(_this._history, t1.restoreEntriesForPage$2(entry, _this));
      }
      if (t1._pageToPagelessRoutes == null) {
        t1 = _this._widget;
        initialRoute = t1.initialRoute;
        if ((t1.pages.length === 0 ? initialRoute == null ? "/" : initialRoute : initialRoute) != null) {
          t2 = _this._history;
          B.JSArray_methods.addAll$1(t2, J.map$1$1$ax(t1.onGenerateInitialRoutes$2(_this, initialRoute == null ? "/" : initialRoute), new A.NavigatorState_restoreState_closure(_this), type$._RouteEntry));
        }
      }
      _this._flushHistoryUpdates$0();
    },
    didToggleBucket$1(oldBucket) {
      var t1, _this = this;
      _this.super$RestorationMixin$didToggleBucket(oldBucket);
      t1 = _this._serializableHistory;
      if (_this.RestorationMixin__bucket != null)
        t1.update$1(0, _this._history);
      else
        t1.clear$0(0);
    },
    get$restorationId() {
      return this._widget.restorationScopeId;
    },
    didChangeDependencies$0() {
      var host, t1, t2, _i, _this = this;
      _this.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies();
      host = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.HeroControllerScope);
      _this._updateHeroController$1(host == null ? null : host.controller);
      for (t1 = _this._history, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].route.changedExternalState$0();
    },
    _updateHeroController$1(newHeroController) {
      var t2, _this = this,
        t1 = _this._heroControllerFromScope;
      if (t1 != newHeroController) {
        if (newHeroController != null)
          newHeroController._navigator$_navigator = _this;
        t2 = t1 == null;
        if ((t2 ? null : t1._navigator$_navigator) === _this)
          if (!t2)
            t1._navigator$_navigator = null;
        _this._heroControllerFromScope = newHeroController;
        _this._updateEffectiveObservers$0();
      }
    },
    _updateEffectiveObservers$0() {
      var _this = this,
        t1 = _this._heroControllerFromScope,
        t2 = _this._widget;
      if (t1 != null)
        _this.__NavigatorState__effectiveObservers = B.JSArray_methods.$add(t2.observers, A._setArrayType([t1], type$.JSArray_NavigatorObserver));
      else
        _this.__NavigatorState__effectiveObservers = t2.observers;
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _i, t2, _this = this;
      _this.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = oldWidget.observers;
      if (t1 !== _this._widget.observers) {
        for (_i = 0; false; ++_i)
          t1[_i]._navigator$_navigator = null;
        for (t1 = _this._widget.observers, _i = 0; false; ++_i)
          t1[_i]._navigator$_navigator = _this;
        _this._updateEffectiveObservers$0();
      }
      if (oldWidget.pages !== _this._widget.pages && !_this.get$restorePending())
        _this._updatePages$0();
      for (t1 = _this._history, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].route.changedExternalState$0();
    },
    deactivate$0() {
      var t2, _i,
        t1 = this.__NavigatorState__effectiveObservers;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        t1[_i]._navigator$_navigator = null;
      this.super$State$deactivate();
    },
    activate$0() {
      var t1, t2, _i;
      this.super$_NavigatorState_State_TickerProviderStateMixin$activate();
      t1 = this.__NavigatorState__effectiveObservers;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.length;
      _i = 0;
      for (; _i < t2; ++_i)
        t1[_i]._navigator$_navigator = this;
    },
    dispose$0() {
      var t1, t2, _i, _this = this;
      _this._updateHeroController$1(null);
      _this.focusScopeNode.dispose$0();
      for (t1 = _this._history, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].dispose$0();
      _this.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$dispose();
    },
    get$_allRouteOverlayEntries() {
      var t2, t3, _i,
        t1 = A._setArrayType([], type$.JSArray_OverlayEntry);
      for (t2 = this._history, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i)
        B.JSArray_methods.addAll$1(t1, t2[_i].route.get$overlayEntries());
      return t1;
    },
    _updatePages$0() {
      var oldEntriesTop, t1, newHistory, pageRouteToPagelessRoutes, previousOldPageRouteEntry, oldEntriesBottomToScan, oldEntry, t2, oldEntriesBottom, t3, newPage, pagelessRoutesToSkip, t4, oldEntriesBottomToScan0, needsExplicitDecision, nextPage, locationToExitingPageRoute, potentialEntryToRemove, t5, t6, results, _this = this, _null = null, _box_0 = {};
      _box_0.oldEntriesBottom = _box_0.newPagesBottom = 0;
      _box_0.newPagesTop = _this._widget.pages.length - 1;
      oldEntriesTop = _box_0.oldEntriesTop = _this._history.length - 1;
      t1 = type$.JSArray__RouteEntry;
      newHistory = A._setArrayType([], t1);
      pageRouteToPagelessRoutes = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable__RouteEntry, type$.List__RouteEntry);
      for (previousOldPageRouteEntry = _null, oldEntriesBottomToScan = 0; oldEntriesBottomToScan <= oldEntriesTop; oldEntriesBottomToScan = t2) {
        oldEntry = _this._history[oldEntriesBottomToScan];
        t2 = oldEntry.route;
        if (!(t2._settings instanceof A.Page)) {
          J.add$1$ax(pageRouteToPagelessRoutes.putIfAbsent$2(0, previousOldPageRouteEntry, new A.NavigatorState__updatePages_closure()), oldEntry);
          oldEntriesBottom = oldEntriesBottomToScan + 1;
          _box_0.oldEntriesBottom = oldEntriesBottom;
          t2 = oldEntriesBottom;
          continue;
        }
        t3 = _box_0.newPagesBottom;
        if (t3 > _box_0.newPagesTop)
          break;
        newPage = _this._widget.pages[t3];
        if (!oldEntry.canUpdateFrom$1(newPage))
          break;
        if (t2._settings !== newPage) {
          t2._settings = newPage;
          t2.changedInternalState$0();
        }
        newHistory.push(oldEntry);
        _box_0.newPagesBottom = t3 + 1;
        oldEntriesBottom = oldEntriesBottomToScan + 1;
        _box_0.oldEntriesBottom = oldEntriesBottom;
        t2 = oldEntriesBottom;
        previousOldPageRouteEntry = oldEntry;
      }
      t2 = oldEntriesTop;
      pagelessRoutesToSkip = 0;
      while (true) {
        if (!(oldEntriesBottomToScan <= t2 && _box_0.newPagesBottom <= _box_0.newPagesTop))
          break;
        c$1: {
          oldEntry = _this._history[t2];
          if (!(oldEntry.route._settings instanceof A.Page)) {
            ++pagelessRoutesToSkip;
            oldEntriesTop = t2 - 1;
            _box_0.oldEntriesTop = oldEntriesTop;
            t2 = oldEntriesTop;
            break c$1;
          }
          t3 = _this._widget.pages;
          t4 = _box_0.newPagesTop;
          if (!oldEntry.canUpdateFrom$1(t3[t4]))
            break;
          oldEntriesTop = t2 - 1;
          _box_0.oldEntriesTop = oldEntriesTop;
          _box_0.newPagesTop = t4 - 1;
          t2 = oldEntriesTop;
          pagelessRoutesToSkip = 0;
        }
      }
      oldEntriesTop = t2 + pagelessRoutesToSkip;
      _box_0.oldEntriesTop = oldEntriesTop;
      for (t2 = _this._history; oldEntriesBottomToScan <= oldEntriesTop; oldEntriesBottomToScan = oldEntriesBottomToScan0) {
        oldEntriesBottomToScan0 = oldEntriesBottomToScan + 1;
        if (!(t2[oldEntriesBottomToScan].route._settings instanceof A.Page))
          continue;
        continue;
      }
      for (needsExplicitDecision = false; t2 = _box_0.newPagesBottom, t2 <= _box_0.newPagesTop; needsExplicitDecision = true) {
        nextPage = _this._widget.pages[t2];
        _box_0.newPagesBottom = t2 + 1;
        _this._framework$_element.toString;
        t2 = A._PageBasedMaterialPageRoute$(nextPage, nextPage.$ti._precomputed1);
        t3 = $.$get$_RouteEntry_notAnnounced();
        newHistory.push(new A._RouteEntry(t2, _null, B._RouteLifecycle_0, t3, t3, t3));
      }
      locationToExitingPageRoute = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_RouteTransitionRecord, type$.RouteTransitionRecord);
      for (; t2 = _box_0.oldEntriesBottom, t2 <= _box_0.oldEntriesTop;) {
        potentialEntryToRemove = _this._history[t2];
        _box_0.oldEntriesBottom = t2 + 1;
        if (!(potentialEntryToRemove.route._settings instanceof A.Page)) {
          J.add$1$ax(pageRouteToPagelessRoutes.putIfAbsent$2(0, previousOldPageRouteEntry, new A.NavigatorState__updatePages_closure0()), potentialEntryToRemove);
          if (previousOldPageRouteEntry._isWaitingForExitingDecision) {
            t2 = potentialEntryToRemove.currentState.index;
            t2 = t2 <= 7 && t2 >= 1;
          } else
            t2 = false;
          if (t2)
            potentialEntryToRemove._isWaitingForExitingDecision = true;
          continue;
        }
        locationToExitingPageRoute.$indexSet(0, previousOldPageRouteEntry, potentialEntryToRemove);
        t2 = potentialEntryToRemove.currentState.index;
        if (t2 <= 7 && t2 >= 1)
          potentialEntryToRemove._isWaitingForExitingDecision = true;
        previousOldPageRouteEntry = potentialEntryToRemove;
      }
      _box_0.newPagesTop = _this._widget.pages.length - 1;
      oldEntriesTop = _this._history.length - 1;
      _box_0.oldEntriesTop = oldEntriesTop;
      while (true) {
        if (!(t2 <= oldEntriesTop && _box_0.newPagesBottom <= _box_0.newPagesTop))
          break;
        c$4: {
          oldEntry = _this._history[t2];
          t3 = oldEntry.route;
          t4 = t3._settings;
          if (!(t4 instanceof A.Page)) {
            J.add$1$ax(pageRouteToPagelessRoutes.putIfAbsent$2(0, previousOldPageRouteEntry, new A.NavigatorState__updatePages_closure1()), oldEntry);
            break c$4;
          }
          t5 = _this._widget.pages;
          t6 = _box_0.newPagesBottom;
          newPage = t5[t6];
          if (t4 !== newPage) {
            t3._settings = newPage;
            t3.changedInternalState$0();
          }
          newHistory.push(oldEntry);
          oldEntriesBottom = t2 + 1;
          _box_0.oldEntriesBottom = oldEntriesBottom;
          _box_0.newPagesBottom = t6 + 1;
          t2 = oldEntriesBottom;
          previousOldPageRouteEntry = oldEntry;
        }
      }
      if (needsExplicitDecision || locationToExitingPageRoute._length !== 0) {
        _this._widget.toString;
        results = B.C_DefaultTransitionDelegate.resolve$3$locationToExitingPageRoute$newPageRouteHistory$pageRouteToPagelessRoutes(locationToExitingPageRoute, newHistory, pageRouteToPagelessRoutes);
        results = new A.CastList(results, A._arrayInstanceType(results)._eval$1("CastList<1,_RouteEntry>"));
      } else
        results = newHistory;
      _this._history = A._setArrayType([], t1);
      if (pageRouteToPagelessRoutes.containsKey$1(0, _null)) {
        t1 = _this._history;
        t2 = pageRouteToPagelessRoutes.$index(0, _null);
        t2.toString;
        B.JSArray_methods.addAll$1(t1, t2);
      }
      for (t1 = J.get$iterator$ax(results); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        _this._history.push(t2);
        if (pageRouteToPagelessRoutes.containsKey$1(0, t2)) {
          t3 = _this._history;
          t2 = pageRouteToPagelessRoutes.$index(0, t2);
          t2.toString;
          B.JSArray_methods.addAll$1(t3, t2);
        }
      }
      _this._flushHistoryUpdates$0();
    },
    _flushHistoryUpdates$1$rearrangeOverlay(rearrangeOverlay) {
      var t1, index, entry, previous, toBeDisposed, t2, poppedRoute, next, canRemoveOrAdd, seenTopActiveRoute, index0, t3, t4, previous0, lastEntry, routeName, _i, _i0, _this = this, _null = null;
      _this._flushingHistory = true;
      t1 = _this._history;
      index = t1.length - 1;
      entry = t1[index];
      previous = index > 0 ? t1[index - 1] : _null;
      toBeDisposed = A._setArrayType([], type$.JSArray__RouteEntry);
      for (t1 = _this._observedRouteDeletions, t2 = _this._observedRouteAdditions, poppedRoute = _null, next = poppedRoute, canRemoveOrAdd = false, seenTopActiveRoute = false; index >= 0;) {
        switch (entry.currentState.index) {
          case 1:
            index0 = _this._getIndexBefore$2(index - 1, A.navigator__RouteEntry_isPresentPredicate$closure());
            t3 = index0 >= 0 ? _this._history[index0] : _null;
            t3 = t3 == null ? _null : t3.route;
            t4 = entry.route;
            t4._navigator$_navigator = _this;
            t4.install$0();
            entry.currentState = B._RouteLifecycle_2;
            t2._add$1(0, new A._NavigatorPushObservation(t4, t3));
            continue;
          case 2:
            if (canRemoveOrAdd || next == null) {
              t3 = entry.route;
              t3.didAdd$0();
              entry.currentState = B._RouteLifecycle_7;
              if (next == null)
                t3.didChangeNext$1(_null);
              continue;
            }
            break;
          case 3:
          case 4:
          case 6:
            t3 = previous == null ? _null : previous.route;
            index0 = _this._getIndexBefore$2(index - 1, A.navigator__RouteEntry_isPresentPredicate$closure());
            t4 = index0 >= 0 ? _this._history[index0] : _null;
            t4 = t4 == null ? _null : t4.route;
            entry.handlePush$4$isNewFirst$navigator$previous$previousPresent(next == null, _this, t3, t4);
            if (entry.currentState === B._RouteLifecycle_7)
              continue;
            break;
          case 5:
            if (!seenTopActiveRoute && poppedRoute != null) {
              entry.route.didPopNext$1(poppedRoute);
              entry.lastAnnouncedPoppedNextRoute = poppedRoute;
            }
            seenTopActiveRoute = true;
            break;
          case 7:
            if (!seenTopActiveRoute && poppedRoute != null) {
              entry.route.didPopNext$1(poppedRoute);
              entry.lastAnnouncedPoppedNextRoute = poppedRoute;
            }
            canRemoveOrAdd = true;
            seenTopActiveRoute = true;
            break;
          case 8:
            index0 = _this._getIndexBefore$2(index, A.navigator__RouteEntry_willBePresentPredicate$closure());
            t3 = index0 >= 0 ? _this._history[index0] : _null;
            if (!entry.handlePop$2$navigator$previousPresent(_this, t3 == null ? _null : t3.route))
              continue;
            if (!seenTopActiveRoute) {
              if (poppedRoute != null) {
                entry.route.didPopNext$1(poppedRoute);
                entry.lastAnnouncedPoppedNextRoute = poppedRoute;
              }
              poppedRoute = entry.route;
            }
            t3 = entry.route;
            index0 = _this._getIndexBefore$2(index, A.navigator__RouteEntry_willBePresentPredicate$closure());
            t4 = index0 >= 0 ? _this._history[index0] : _null;
            t1._add$1(0, new A._NavigatorPopObservation(t3, t4 == null ? _null : t4.route));
            if (entry.currentState === B._RouteLifecycle_13)
              continue;
            canRemoveOrAdd = true;
            break;
          case 11:
            break;
          case 9:
            t3 = entry.route;
            t4 = entry.pendingResult;
            if (t4 == null)
              t4 = _null;
            t3 = t3._popCompleter.future;
            if ((t3._state & 30) !== 0)
              A.throwExpression(A.StateError$("Future already completed"));
            t3._asyncComplete$1(t4);
            entry.pendingResult = null;
            entry.currentState = B._RouteLifecycle_10;
            continue;
          case 10:
            if (!seenTopActiveRoute) {
              if (poppedRoute != null)
                entry.route.didPopNext$1(poppedRoute);
              poppedRoute = _null;
            }
            index0 = _this._getIndexBefore$2(index, A.navigator__RouteEntry_willBePresentPredicate$closure());
            t3 = index0 >= 0 ? _this._history[index0] : _null;
            t3 = t3 == null ? _null : t3.route;
            entry.currentState = B._RouteLifecycle_12;
            if (entry._reportRemovalToObserver)
              t1._add$1(0, new A._NavigatorRemoveObservation(entry.route, t3));
            continue;
          case 12:
            if (!canRemoveOrAdd && next != null)
              break;
            entry.currentState = B._RouteLifecycle_13;
            continue;
          case 13:
            toBeDisposed.push(B.JSArray_methods.removeAt$1(_this._history, index));
            entry = next;
            break;
          case 14:
          case 0:
            break;
        }
        --index;
        previous0 = index > 0 ? _this._history[index - 1] : _null;
        next = entry;
        entry = previous;
        previous = previous0;
      }
      _this._flushObserverNotifications$0();
      _this._flushRouteAnnouncement$0();
      if (_this._widget.reportsRouteUpdateToEngine) {
        t1 = _this._history;
        t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
        lastEntry = t1.lastWhere$2$orElse(t1, new A.NavigatorState__flushHistoryUpdates_closure(), new A.NavigatorState__flushHistoryUpdates_closure0());
        routeName = lastEntry == null ? _null : lastEntry.route._settings.name;
        if (routeName != null && routeName !== _this._lastAnnouncedRouteName) {
          A.SystemNavigator_routeInformationUpdated(routeName, false, _null);
          _this._lastAnnouncedRouteName = routeName;
        }
      }
      for (t1 = toBeDisposed.length, _i = 0; _i < toBeDisposed.length; toBeDisposed.length === t1 || (0, A.throwConcurrentModificationError)(toBeDisposed), ++_i) {
        entry = toBeDisposed[_i];
        for (t2 = entry.route.get$overlayEntries(), t3 = t2.length, _i0 = 0; _i0 < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i0)
          J.remove$0$ax(t2[_i0]);
        entry.dispose$0();
      }
      if (rearrangeOverlay) {
        t1 = _this.__NavigatorState__overlayKey;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.get$currentState();
        if (t1 != null)
          t1.rearrange$1(_this.get$_allRouteOverlayEntries());
      }
      if (_this.RestorationMixin__bucket != null)
        _this._serializableHistory.update$1(0, _this._history);
      _this._flushingHistory = false;
    },
    _flushHistoryUpdates$0() {
      return this._flushHistoryUpdates$1$rearrangeOverlay(true);
    },
    _flushObserverNotifications$0() {
      var observation, t2, _this = this,
        t1 = _this.__NavigatorState__effectiveObservers;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.length === 0) {
        _this._observedRouteDeletions.clear$0(0);
        _this._observedRouteAdditions.clear$0(0);
        return;
      }
      for (t1 = _this._observedRouteAdditions; !t1.get$isEmpty(t1);) {
        observation = t1.removeLast$0(0);
        t2 = _this.__NavigatorState__effectiveObservers;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        B.JSArray_methods.forEach$1(t2, observation.get$notify());
      }
      for (t1 = _this._observedRouteDeletions; !t1.get$isEmpty(t1);) {
        observation = t1.removeFirst$0();
        t2 = _this.__NavigatorState__effectiveObservers;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        B.JSArray_methods.forEach$1(t2, observation.get$notify());
      }
    },
    _flushRouteAnnouncement$0() {
      var entry, t1, next, t2, t3, index0, _this = this, _null = null,
        index = _this._history.length - 1;
      for (; index >= 0;) {
        entry = _this._history[index];
        t1 = entry.currentState.index;
        if (!(t1 <= 12 && t1 >= 3)) {
          --index;
          continue;
        }
        next = _this._getRouteAfter$2(index + 1, A.navigator__RouteEntry_suitableForTransitionAnimationPredicate$closure());
        t1 = next == null;
        t2 = t1 ? _null : next.route;
        t3 = entry.lastAnnouncedNextRoute;
        if (t2 != t3) {
          if ((t1 ? _null : next.route) == null) {
            t2 = entry.lastAnnouncedPoppedNextRoute;
            t2 = t2 != null && t2 === t3;
          } else
            t2 = false;
          if (!t2) {
            t2 = entry.route;
            t2.didChangeNext$1(t1 ? _null : next.route);
          }
          entry.lastAnnouncedNextRoute = t1 ? _null : next.route;
        }
        --index;
        index0 = _this._getIndexBefore$2(index, A.navigator__RouteEntry_suitableForTransitionAnimationPredicate$closure());
        t1 = index0 >= 0 ? _this._history[index0] : _null;
        t2 = t1 == null;
        t3 = t2 ? _null : t1.route;
        if (t3 != entry.lastAnnouncedPreviousRoute) {
          t3 = entry.route;
          t3.didChangePrevious$1(t2 ? _null : t1.route);
          entry.lastAnnouncedPreviousRoute = t2 ? _null : t1.route;
        }
      }
    },
    _getRouteBefore$2(index, predicate) {
      index = this._getIndexBefore$2(index, predicate);
      return index >= 0 ? this._history[index] : null;
    },
    _getIndexBefore$2(index, predicate) {
      while (true) {
        if (!(index >= 0 && !predicate.call$1(this._history[index])))
          break;
        --index;
      }
      return index;
    },
    _getRouteAfter$2(index, predicate) {
      var t1;
      while (true) {
        t1 = this._history;
        if (!(index < t1.length && !predicate.call$1(t1[index])))
          break;
        ++index;
      }
      t1 = this._history;
      return index < t1.length ? t1[index] : null;
    },
    _routeNamed$1$3$allowNull$arguments($name, allowNull, $arguments, $T) {
      var settings, t1, route;
      if (allowNull && this._widget.onGenerateRoute == null)
        return null;
      settings = new A.RouteSettings($name, $arguments);
      t1 = $T._eval$1("Route<0>?");
      route = t1._as(this._widget.onGenerateRoute.call$1(settings));
      return route == null && !allowNull ? t1._as(this._widget.onUnknownRoute.call$1(settings)) : route;
    },
    _routeNamed$1$2$arguments($name, $arguments, $T) {
      return this._routeNamed$1$3$allowNull$arguments($name, false, $arguments, $T);
    },
    push$1$1(route) {
      var t1 = A._RouteEntry$(route, B._RouteLifecycle_3, null);
      this._history.push(t1);
      this._flushHistoryUpdates$0();
      this._afterNavigation$1(t1.route);
      return route._popCompleter.future;
    },
    push$1(route) {
      return this.push$1$1(route, type$.nullable_Object);
    },
    _afterNavigation$1(route) {
      var t1, t2, routeJsonable, settings, settingsJsonable;
      if (route != null) {
        t1 = type$.String;
        t2 = type$.dynamic;
        routeJsonable = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
        routeJsonable.$indexSet(0, "description", route instanceof A.TransitionRoute ? route.get$debugLabel() : route.toString$0(0));
        settings = route._settings;
        settingsJsonable = A.LinkedHashMap_LinkedHashMap$_literal(["name", settings.name], t1, t2);
        t1 = settings.$arguments;
        if (t1 != null)
          settingsJsonable.$indexSet(0, "arguments", B.C_JsonCodec.encode$2$toEncodable(t1, new A.NavigatorState__afterNavigation_closure()));
        routeJsonable.$indexSet(0, "settings", settingsJsonable);
      } else
        routeJsonable = null;
      A.postEvent("Flutter.Navigation", A.LinkedHashMap_LinkedHashMap$_literal(["route", routeJsonable], type$.String, type$.dynamic));
      this._cancelActivePointers$0();
    },
    maybePop$1$1(result) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this, lastEntry, disposition, t1;
      var $async$maybePop$1$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
        if ($async$errorCode === 1)
          return A._asyncRethrow($async$result, $async$completer);
        while (true)
          $async$outer:
            switch ($async$goto) {
              case 0:
                // Function start
                t1 = $async$self._history;
                t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
                lastEntry = t1.lastWhere$2$orElse(t1, new A.NavigatorState_maybePop_closure(), new A.NavigatorState_maybePop_closure0());
                if (lastEntry == null) {
                  $async$returnValue = false;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                $async$goto = 3;
                return A._asyncAwait(lastEntry.route.willPop$0(), $async$maybePop$1$1);
              case 3:
                // returning from await.
                disposition = $async$result;
                if ($async$self._framework$_element == null) {
                  $async$returnValue = true;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                t1 = $async$self._history;
                t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
                if (lastEntry !== t1.lastWhere$2$orElse(t1, new A.NavigatorState_maybePop_closure1(), new A.NavigatorState_maybePop_closure2())) {
                  $async$returnValue = true;
                  // goto return
                  $async$goto = 1;
                  break;
                }
                switch (disposition.index) {
                  case 2:
                    $async$returnValue = false;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  case 0:
                    $async$self.pop$1(result);
                    $async$returnValue = true;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                  case 1:
                    $async$returnValue = true;
                    // goto return
                    $async$goto = 1;
                    break $async$outer;
                }
              case 1:
                // return
                return A._asyncReturn($async$returnValue, $async$completer);
            }
      });
      return A._asyncStartSync($async$maybePop$1$1, $async$completer);
    },
    maybePop$0() {
      return this.maybePop$1$1(null, type$.nullable_Object);
    },
    maybePop$1(result) {
      return this.maybePop$1$1(result, type$.nullable_Object);
    },
    pop$1$1(result) {
      var _this = this,
        entry = B.JSArray_methods.lastWhere$1(_this._history, A.navigator__RouteEntry_isPresentPredicate$closure()),
        t1 = entry.route;
      if (t1._settings instanceof A.Page) {
        if (_this._widget.onPopPage.call$2(t1, result) && entry.currentState === B._RouteLifecycle_7)
          entry.currentState = B._RouteLifecycle_8;
      } else {
        entry.pendingResult = result;
        entry.currentState = B._RouteLifecycle_8;
      }
      if (entry.currentState === B._RouteLifecycle_8)
        _this._flushHistoryUpdates$1$rearrangeOverlay(false);
      _this._afterNavigation$1(t1);
    },
    pop$0() {
      return this.pop$1$1(null, type$.nullable_Object);
    },
    pop$1(result) {
      return this.pop$1$1(result, type$.nullable_Object);
    },
    removeRoute$1(route) {
      var t1, _this = this,
        wasCurrent = route.get$isCurrent();
      B.JSArray_methods.firstWhere$1(_this._history, A._RouteEntry_isRoutePredicate(route)).remove$0(0);
      _this._flushHistoryUpdates$1$rearrangeOverlay(false);
      if (wasCurrent) {
        t1 = _this._history;
        t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,_RouteEntry?>"));
        t1 = t1.lastWhere$2$orElse(t1, new A.NavigatorState_removeRoute_closure(), new A.NavigatorState_removeRoute_closure0());
        _this._afterNavigation$1(t1 == null ? null : t1.route);
      }
    },
    finalizeRoute$1(route) {
      var t1, _this = this,
        index = B.JSArray_methods.indexWhere$1(_this._history, A._RouteEntry_isRoutePredicate(route)),
        entry = _this._history[index];
      if (entry.route._settings instanceof A.Page && entry.currentState.index < 8) {
        t1 = _this._getRouteBefore$2(index - 1, A.navigator__RouteEntry_willBePresentPredicate$closure());
        t1 = t1 == null ? null : t1.route;
        _this._observedRouteDeletions._add$1(0, new A._NavigatorPopObservation(route, t1));
      }
      entry.currentState = B._RouteLifecycle_13;
      if (!_this._flushingHistory)
        _this._flushHistoryUpdates$1$rearrangeOverlay(false);
    },
    set$_userGesturesInProgress(value) {
      this._userGesturesInProgressCount = value;
      this.userGestureInProgressNotifier.set$value(0, value > 0);
    },
    didStartUserGesture$0() {
      var routeIndex, route, previousRoute, t1, t2, _i, _this = this;
      _this.set$_userGesturesInProgress(_this._userGesturesInProgressCount + 1);
      if (_this._userGesturesInProgressCount === 1) {
        routeIndex = _this._getIndexBefore$2(_this._history.length - 1, A.navigator__RouteEntry_willBePresentPredicate$closure());
        route = _this._history[routeIndex].route;
        previousRoute = !route.get$willHandlePopInternally() && routeIndex > 0 ? _this._getRouteBefore$2(routeIndex - 1, A.navigator__RouteEntry_willBePresentPredicate$closure()).route : null;
        t1 = _this.__NavigatorState__effectiveObservers;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.length;
        _i = 0;
        for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i]._maybeStartHeroTransition$4(route, previousRoute, B.HeroFlightDirection_1, true);
      }
    },
    didStopUserGesture$0() {
      var t1, t2, _i, _this = this;
      _this.set$_userGesturesInProgress(_this._userGesturesInProgressCount - 1);
      if (_this._userGesturesInProgressCount === 0) {
        t1 = _this.__NavigatorState__effectiveObservers;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.length;
        _i = 0;
        for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
          t1[_i].didStopUserGesture$0();
      }
    },
    _navigator$_handlePointerDown$1($event) {
      this._activePointers.add$1(0, $event.get$pointer());
    },
    _handlePointerUpOrCancel$1($event) {
      this._activePointers.remove$1(0, $event.get$pointer());
    },
    _cancelActivePointers$0() {
      if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase === B.SchedulerPhase_0) {
        var t1 = this.__NavigatorState__overlayKey;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1);
        this.setState$1(new A.NavigatorState__cancelActivePointers_closure(t1 == null ? null : t1.findAncestorRenderObjectOfType$1$0(type$.RenderAbsorbPointer)));
      }
      t1 = this._activePointers;
      B.JSArray_methods.forEach$1(A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E")), $.WidgetsBinding__instance.get$cancelPointer());
    },
    build$1(context) {
      var t4, _this = this, _null = null,
        t1 = _this.get$_handlePointerUpOrCancel(),
        t2 = _this.RestorationMixin__bucket,
        t3 = _this.__NavigatorState__overlayKey;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      if (t3.get$currentState() == null) {
        t4 = _this.get$_allRouteOverlayEntries();
        t4 = J.JSArray_JSArray$markFixed(t4.slice(0), A._arrayInstanceType(t4)._precomputed1);
      } else
        t4 = B.List_empty12;
      return new A.HeroControllerScope(_null, A.Listener$(B.HitTestBehavior_0, new A.AbsorbPointer(false, A.FocusScope$(true, A.UnmanagedRestorationScope$(t2, new A.Overlay(t4, t3)), _null, _this.focusScopeNode), _null), t1, _this.get$_navigator$_handlePointerDown(), _null, _null, t1), _null);
    }
  };
  A.NavigatorState_restoreState_closure.prototype = {
    call$1(route) {
      var t2, t3,
        t1 = route._settings.name;
      if (t1 != null) {
        t2 = this.$this._rawNextPagelessRestorationScopeId;
        t3 = t2._restoration_properties$_value;
        if (t3 == null)
          t3 = t2.$ti._eval$1("RestorableValue.T")._as(t3);
        t2.super$RestorableValue$value(0, t3 + 1);
        t1 = new A._NamedRestorationInformation(t3, t1, null, B._RouteRestorationType_0);
      } else
        t1 = null;
      return A._RouteEntry$(route, B._RouteLifecycle_1, t1);
    },
    $signature: 960
  };
  A.NavigatorState__updatePages_closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray__RouteEntry);
    },
    $signature: 183
  };
  A.NavigatorState__updatePages_closure0.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray__RouteEntry);
    },
    $signature: 183
  };
  A.NavigatorState__updatePages_closure1.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray__RouteEntry);
    },
    $signature: 183
  };
  A.NavigatorState__flushHistoryUpdates_closure.prototype = {
    call$1(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 68
  };
  A.NavigatorState__flushHistoryUpdates_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.NavigatorState__afterNavigation_closure.prototype = {
    call$1(object) {
      return A.S(object);
    },
    $signature: 962
  };
  A.NavigatorState_maybePop_closure.prototype = {
    call$1(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 68
  };
  A.NavigatorState_maybePop_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.NavigatorState_maybePop_closure1.prototype = {
    call$1(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 68
  };
  A.NavigatorState_maybePop_closure2.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.NavigatorState_removeRoute_closure.prototype = {
    call$1(e) {
      return e != null && e.get$isPresent();
    },
    $signature: 68
  };
  A.NavigatorState_removeRoute_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.NavigatorState__cancelActivePointers_closure.prototype = {
    call$0() {
      var t1 = this.absorber;
      if (t1 != null)
        t1.set$absorbing(true);
    },
    $signature: 0
  };
  A._RouteRestorationType.prototype = {
    toString$0(_) {
      return "_RouteRestorationType." + this._core$_name;
    }
  };
  A._RestorationInformation.prototype = {
    get$isRestorable() {
      return true;
    },
    computeSerializableData$0() {
      return A._setArrayType([this.type.index], type$.JSArray_Object);
    }
  };
  A._NamedRestorationInformation.prototype = {
    computeSerializableData$0() {
      var _this = this,
        t1 = _this.super$_RestorationInformation$computeSerializableData(),
        t2 = A._setArrayType([_this.restorationScopeId, _this.name], type$.JSArray_Object),
        t3 = _this.$arguments;
      if (t3 != null)
        t2.push(t3);
      B.JSArray_methods.addAll$1(t1, t2);
      return t1;
    },
    createRoute$1($navigator) {
      var t1 = $navigator._routeNamed$1$2$arguments(this.name, this.$arguments, type$.dynamic);
      t1.toString;
      return t1;
    },
    get$restorationScopeId() {
      return this.restorationScopeId;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A._AnonymousRestorationInformation.prototype = {
    get$isRestorable() {
      return false;
    },
    computeSerializableData$0() {
      A.PluginUtilities_getCallbackHandle(this.routeBuilder);
    },
    createRoute$1($navigator) {
      var t1 = $navigator._framework$_element;
      t1.toString;
      return this.routeBuilder.call$2(t1, this.$arguments);
    },
    get$restorationScopeId() {
      return this.restorationScopeId;
    }
  };
  A._HistoryProperty.prototype = {
    update$1(_, $history) {
      var t1, newRoutesForCurrentPage, t2, oldRoutesForCurrentPage, newMap, removedPages, currentPage, needsSerialization, restorationEnabled, _i, entry, t3, t4, restorationId, t5, t6, _this = this, _null = null,
        wasUninitialized = _this._pageToPagelessRoutes == null;
      if (wasUninitialized)
        _this._pageToPagelessRoutes = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.List_Object);
      t1 = type$.JSArray_Object;
      newRoutesForCurrentPage = A._setArrayType([], t1);
      t2 = _this._pageToPagelessRoutes;
      t2.toString;
      oldRoutesForCurrentPage = J.$index$asx(t2, null);
      if (oldRoutesForCurrentPage == null)
        oldRoutesForCurrentPage = B.List_empty13;
      newMap = A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.List_Object);
      t2 = _this._pageToPagelessRoutes;
      t2.toString;
      removedPages = J.toSet$0$ax(J.get$keys$x(t2));
      for (t2 = $history.length, currentPage = _null, needsSerialization = wasUninitialized, restorationEnabled = true, _i = 0; _i < $history.length; $history.length === t2 || (0, A.throwConcurrentModificationError)($history), ++_i) {
        entry = $history[_i];
        if (entry.currentState.index > 7) {
          t3 = entry.route;
          t3._restorationScopeId.set$value(0, _null);
          continue;
        }
        t3 = entry.route;
        if (t3._settings instanceof A.Page) {
          needsSerialization = needsSerialization || newRoutesForCurrentPage.length !== J.get$length$asx(oldRoutesForCurrentPage);
          t4 = newRoutesForCurrentPage.length;
          if (t4 !== 0) {
            restorationId = currentPage == null ? _null : currentPage.get$restorationId();
            newMap.$indexSet(0, restorationId, newRoutesForCurrentPage);
            removedPages.remove$1(0, restorationId);
          }
          restorationEnabled = entry.get$restorationId() != null;
          t4 = restorationEnabled ? entry.get$restorationId() : _null;
          t3._restorationScopeId.set$value(0, t4);
          if (restorationEnabled) {
            newRoutesForCurrentPage = A._setArrayType([], t1);
            t3 = _this._pageToPagelessRoutes;
            t3.toString;
            oldRoutesForCurrentPage = J.$index$asx(t3, entry.get$restorationId());
            if (oldRoutesForCurrentPage == null)
              oldRoutesForCurrentPage = B.List_empty13;
          } else {
            newRoutesForCurrentPage = B.List_empty13;
            oldRoutesForCurrentPage = B.List_empty13;
          }
          currentPage = entry;
          continue;
        }
        if (restorationEnabled) {
          t4 = entry.restorationInformation;
          t4 = t4 == null ? _null : t4.get$isRestorable();
          restorationEnabled = t4 === true;
        } else
          restorationEnabled = false;
        t4 = restorationEnabled ? entry.get$restorationId() : _null;
        t3._restorationScopeId.set$value(0, t4);
        if (restorationEnabled) {
          t3 = entry.restorationInformation;
          t4 = t3._serializableData;
          t3 = t4 == null ? t3._serializableData = t3.computeSerializableData$0() : t4;
          if (!needsSerialization) {
            t4 = J.getInterceptor$asx(oldRoutesForCurrentPage);
            t5 = t4.get$length(oldRoutesForCurrentPage);
            t6 = newRoutesForCurrentPage.length;
            needsSerialization = t5 <= t6 || !J.$eq$(t4.$index(oldRoutesForCurrentPage, t6), t3);
          } else
            needsSerialization = true;
          B.JSArray_methods.add$1(newRoutesForCurrentPage, t3);
        }
      }
      needsSerialization = needsSerialization || newRoutesForCurrentPage.length !== J.get$length$asx(oldRoutesForCurrentPage);
      _this._finalizePage$4(newRoutesForCurrentPage, currentPage, newMap, removedPages);
      if (needsSerialization || removedPages.get$isNotEmpty(removedPages)) {
        _this._pageToPagelessRoutes = newMap;
        _this.notifyListeners$0();
      }
    },
    _finalizePage$4(routes, page, pageToRoutes, pagesToRemove) {
      var restorationId,
        t1 = routes.length;
      if (t1 !== 0) {
        restorationId = page == null ? null : page.get$restorationId();
        pageToRoutes.$indexSet(0, restorationId, routes);
        pagesToRemove.remove$1(0, restorationId);
      }
    },
    clear$0(_) {
      if (this._pageToPagelessRoutes == null)
        return;
      this._pageToPagelessRoutes = null;
      this.notifyListeners$0();
    },
    restoreEntriesForPage$2(page, $navigator) {
      var t1, serializedData, t2, route, t3,
        result = A._setArrayType([], type$.JSArray__RouteEntry);
      if (this._pageToPagelessRoutes != null)
        t1 = page != null && page.get$restorationId() == null;
      else
        t1 = true;
      if (t1)
        return result;
      t1 = this._pageToPagelessRoutes;
      t1.toString;
      serializedData = J.$index$asx(t1, page == null ? null : page.get$restorationId());
      if (serializedData == null)
        return result;
      for (t1 = J.get$iterator$ax(serializedData); t1.moveNext$0();) {
        t2 = A._RestorationInformation__RestorationInformation$fromSerializableData(t1.get$current(t1));
        route = t2.createRoute$1($navigator);
        t3 = $.$get$_RouteEntry_notAnnounced();
        result.push(new A._RouteEntry(route, t2, B._RouteLifecycle_1, t3, t3, t3));
      }
      return result;
    },
    createDefaultValue$0() {
      return null;
    },
    fromPrimitives$1(data) {
      data.toString;
      return J.map$2$1$ax(type$.Map_dynamic_dynamic._as(data), new A._HistoryProperty_fromPrimitives_closure(), type$.nullable_String, type$.List_Object);
    },
    initWithValue$1(value) {
      this._pageToPagelessRoutes = value;
    },
    toPrimitives$0() {
      return this._pageToPagelessRoutes;
    },
    get$enabled(_) {
      return this._pageToPagelessRoutes != null;
    }
  };
  A._HistoryProperty_fromPrimitives_closure.prototype = {
    call$2(key, value) {
      return new A.MapEntry(A._asStringQ(key), A.List_List$from(type$.List_dynamic._as(value), true, type$.Object), type$.MapEntry_of_nullable_String_and_List_Object);
    },
    $signature: 963
  };
  A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure.prototype = {
    call$2(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 78
  };
  A._NavigatorState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin.prototype = {
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$State$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.RestorationScope_of(t1);
      _this.RestorationMixin__currentParent = t1;
      didReplaceBucket = _this._updateBucketIfNecessary$2$parent$restorePending(t1, needsRestore);
      if (needsRestore) {
        _this.restoreState$2(oldBucket, _this.RestorationMixin__firstRestorePending);
        _this.RestorationMixin__firstRestorePending = false;
      }
      if (didReplaceBucket)
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    dispose$0() {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0();
      _this.RestorationMixin__bucket = null;
      _this.super$_NavigatorState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.Notification1.prototype = {
    toString$0(_) {
      var description = A._setArrayType([], type$.JSArray_String);
      this.debugFillDescription$1(description);
      return "Notification(" + B.JSArray_methods.join$1(description, ", ") + ")";
    },
    debugFillDescription$1(description) {
    }
  };
  A.NotificationListener.prototype = {
    createElement$0(_) {
      return new A._NotificationElement(this, B._ElementLifecycle_0, this.$ti._eval$1("_NotificationElement<1>"));
    }
  };
  A._NotificationElement.prototype = {
    onNotification$1(notification) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this.$ti;
      t2._eval$1("NotificationListener<1>")._as(t1);
      if (t2._precomputed1._is(notification))
        return t1.onNotification.call$1(notification);
      return false;
    },
    notifyClients$1(oldWidget) {
    }
  };
  A.LayoutChangedNotification.prototype = {};
  A.__NotificationElement_ProxyElement_NotifiableElementMixin.prototype = {};
  A.OverflowBarAlignment.prototype = {
    toString$0(_) {
      return "OverflowBarAlignment." + this._core$_name;
    }
  };
  A.OverflowBar.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = t1.textDirection;
      t1 = new A._RenderOverflowBar(_this.spacing, _this.alignment, _this.overflowSpacing, _this.overflowAlignment, _this.overflowDirection, t1, B.Clip_0, 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1, _this = this;
      type$._RenderOverflowBar._as(renderObject);
      renderObject.set$spacing(0, _this.spacing);
      renderObject.set$alignment(_this.alignment);
      renderObject.set$overflowSpacing(_this.overflowSpacing);
      renderObject.set$overflowAlignment(_this.overflowAlignment);
      renderObject.set$overflowDirection(_this.overflowDirection);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
      renderObject.set$clipBehavior(B.Clip_0);
    }
  };
  A._OverflowBarParentData.prototype = {};
  A._RenderOverflowBar.prototype = {
    set$spacing(_, value) {
      if (this._spacing === value)
        return;
      this._spacing = value;
      this.markNeedsLayout$0();
    },
    set$alignment(value) {
      if (this._overflow_bar$_alignment == value)
        return;
      this._overflow_bar$_alignment = value;
      this.markNeedsLayout$0();
    },
    set$overflowSpacing(value) {
      if (this._overflowSpacing === value)
        return;
      this._overflowSpacing = value;
      this.markNeedsLayout$0();
    },
    set$overflowAlignment(value) {
      if (this._overflowAlignment === value)
        return;
      this._overflowAlignment = value;
      this.markNeedsLayout$0();
    },
    set$overflowDirection(value) {
      if (this._overflowDirection === value)
        return;
      this._overflowDirection = value;
      this.markNeedsLayout$0();
    },
    set$textDirection(value) {
      if (this._overflow_bar$_textDirection === value)
        return;
      this._overflow_bar$_textDirection = value;
      this.markNeedsLayout$0();
    },
    set$clipBehavior(value) {
      var _this = this;
      if (value === _this._overflow_bar$_clipBehavior)
        return;
      _this._overflow_bar$_clipBehavior = value;
      _this.markNeedsPaint$0();
      _this.markNeedsSemanticsUpdate$0();
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A._OverflowBarParentData))
        child.parentData = new A._OverflowBarParentData(null, null, B.Offset_0_0);
    },
    computeMinIntrinsicHeight$1(width) {
      var t1, barWidth, t2, t3, height, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), barWidth = 0; child != null;) {
        barWidth += child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth());
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      t2 = _this._spacing;
      t3 = _this.ContainerRenderObjectMixin__childCount;
      child = _this.ContainerRenderObjectMixin__firstChild;
      if (barWidth + t2 * (t3 - 1) > width) {
        for (height = 0; child != null;) {
          height += child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, child.get$computeMinIntrinsicHeight());
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return height + _this._overflowSpacing * (_this.ContainerRenderObjectMixin__childCount - 1);
      } else {
        for (height = 0; child != null;) {
          height = Math.max(height, child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, child.get$computeMinIntrinsicHeight()));
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return height;
      }
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1, barWidth, t2, t3, height, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), barWidth = 0; child != null;) {
        barWidth += child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth());
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      t2 = _this._spacing;
      t3 = _this.ContainerRenderObjectMixin__childCount;
      child = _this.ContainerRenderObjectMixin__firstChild;
      if (barWidth + t2 * (t3 - 1) > width) {
        for (height = 0; child != null;) {
          height += child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, child.get$computeMaxIntrinsicHeight());
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return height + _this._overflowSpacing * (_this.ContainerRenderObjectMixin__childCount - 1);
      } else {
        for (height = 0; child != null;) {
          height = Math.max(height, child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, child.get$computeMaxIntrinsicHeight()));
          t2 = child.parentData;
          t2.toString;
          child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        }
        return height;
      }
    },
    computeMinIntrinsicWidth$1(height) {
      var t1, width, t2, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
        width += child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, 1 / 0, child.get$computeMinIntrinsicWidth());
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return width + _this._spacing * (_this.ContainerRenderObjectMixin__childCount - 1);
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1, width, t2, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return 0;
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), width = 0; child != null;) {
        width += child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, 1 / 0, child.get$computeMaxIntrinsicWidth());
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return width + _this._spacing * (_this.ContainerRenderObjectMixin__childCount - 1);
    },
    computeDistanceToActualBaseline$1(baseline) {
      return this.defaultComputeDistanceToHighestActualBaseline$1(baseline);
    },
    computeDryLayout$1(constraints) {
      var overallWidth, childConstraints, t1, childrenWidth, maxChildHeight, y, childSize, t2, actualWidth, _this = this,
        child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null)
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      overallWidth = constraints.maxWidth;
      childConstraints = new A.BoxConstraints(0, overallWidth, 0, constraints.maxHeight);
      for (t1 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), childrenWidth = 0, maxChildHeight = 0, y = 0; child != null;) {
        childSize = child.getDryLayout$1(childConstraints);
        childrenWidth += childSize._dx;
        t2 = childSize._dy;
        maxChildHeight = Math.max(maxChildHeight, t2);
        y += t2 + _this._overflowSpacing;
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      actualWidth = childrenWidth + _this._spacing * (_this.ContainerRenderObjectMixin__childCount - 1);
      if (actualWidth > overallWidth)
        return constraints.constrain$1(new A.Size(overallWidth, y - _this._overflowSpacing));
      else
        return constraints.constrain$1(new A.Size(_this._overflow_bar$_alignment == null ? actualWidth : overallWidth, maxChildHeight));
    },
    performLayout$0() {
      var t1, t2, childConstraints, t3, childrenWidth, maxChildHeight, maxChildWidth, t4, t5, rtl, actualWidth, nextChild, y, x, firstChildWidth, overallWidth, layoutSpacing, halfRemainingWidth, t6, t7, _this = this, _box_0 = {},
        child = _box_0.child = _this.ContainerRenderObjectMixin__firstChild;
      if (child == null) {
        t1 = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
        _this._box$_size = new A.Size(A.clampDouble(0, t1.minWidth, t1.maxWidth), A.clampDouble(0, t1.minHeight, t1.maxHeight));
        return;
      }
      t1 = type$.BoxConstraints;
      t2 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      childConstraints = new A.BoxConstraints(0, t2.maxWidth, 0, t2.maxHeight);
      for (t2 = A._instanceType(_this)._eval$1("ContainerRenderObjectMixin.1"), t3 = child, childrenWidth = 0, maxChildHeight = 0, maxChildWidth = 0; t3 != null; t3 = child) {
        t3.layout$2$parentUsesSize(childConstraints, true);
        t3 = _box_0.child;
        t4 = t3._box$_size;
        t5 = t4._dx;
        childrenWidth += t5;
        maxChildHeight = Math.max(maxChildHeight, t4._dy);
        maxChildWidth = Math.max(maxChildWidth, t5);
        t3 = t3.parentData;
        t3.toString;
        child = t2._as(t3).ContainerParentDataMixin_nextSibling;
        _box_0.child = child;
      }
      rtl = _this._overflow_bar$_textDirection === B.TextDirection_0;
      actualWidth = childrenWidth + _this._spacing * (_this.ContainerRenderObjectMixin__childCount - 1);
      if (actualWidth > t1._as(A.RenderObject.prototype.get$constraints.call(_this)).maxWidth) {
        child = _this._overflowDirection === B.VerticalDirection_1 ? _this.ContainerRenderObjectMixin__firstChild : _this.ContainerRenderObjectMixin__lastChild;
        _box_0.child = child;
        nextChild = new A._RenderOverflowBar_performLayout_nextChild(_box_0, _this);
        for (t2 = type$._OverflowBarParentData, t3 = child, y = 0; t3 != null; t3 = child) {
          t4 = t3.parentData;
          t4.toString;
          t2._as(t4);
          switch (_this._overflowAlignment.index) {
            case 0:
              if (rtl) {
                t3 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
                t5 = _box_0.child;
                x = t3.maxWidth - t5._box$_size._dx;
                t3 = t5;
              } else
                x = 0;
              break;
            case 2:
              t3 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
              t5 = _box_0.child;
              x = (t3.maxWidth - t5._box$_size._dx) / 2;
              t3 = t5;
              break;
            case 1:
              if (rtl)
                x = 0;
              else {
                t3 = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
                t5 = _box_0.child;
                x = t3.maxWidth - t5._box$_size._dx;
                t3 = t5;
              }
              break;
            default:
              x = 0;
          }
          t4.offset = new A.Offset(x, y);
          y += t3._box$_size._dy + _this._overflowSpacing;
          child = nextChild.call$0();
          _box_0.child = child;
        }
        _this._box$_size = t1._as(A.RenderObject.prototype.get$constraints.call(_this)).constrain$1(new A.Size(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).maxWidth, y - _this._overflowSpacing));
      } else {
        child = _this.ContainerRenderObjectMixin__firstChild;
        _box_0.child = child;
        firstChildWidth = child._box$_size._dx;
        overallWidth = _this._overflow_bar$_alignment == null ? actualWidth : t1._as(A.RenderObject.prototype.get$constraints.call(_this)).maxWidth;
        _this._box$_size = t1._as(A.RenderObject.prototype.get$constraints.call(_this)).constrain$1(new A.Size(overallWidth, maxChildHeight));
        x = A._Cell$named("x");
        layoutSpacing = _this._spacing;
        switch (_this._overflow_bar$_alignment) {
          case null:
            x.__late_helper$_value = rtl ? _this._box$_size._dx - firstChildWidth : 0;
            break;
          case B.MainAxisAlignment_0:
            x.__late_helper$_value = rtl ? _this._box$_size._dx - firstChildWidth : 0;
            break;
          case B.MainAxisAlignment_2:
            t1 = _this._box$_size._dx;
            halfRemainingWidth = (t1 - actualWidth) / 2;
            x.__late_helper$_value = rtl ? t1 - halfRemainingWidth - firstChildWidth : halfRemainingWidth;
            break;
          case B.MainAxisAlignment_1:
            x.__late_helper$_value = rtl ? actualWidth - firstChildWidth : _this._box$_size._dx - actualWidth;
            break;
          case B.MainAxisAlignment_3:
            t1 = _this._box$_size._dx;
            layoutSpacing = (t1 - childrenWidth) / (_this.ContainerRenderObjectMixin__childCount - 1);
            x.__late_helper$_value = rtl ? t1 - firstChildWidth : 0;
            break;
          case B.MainAxisAlignment_4:
            t1 = _this.ContainerRenderObjectMixin__childCount;
            layoutSpacing = t1 > 0 ? (_this._box$_size._dx - childrenWidth) / t1 : 0;
            t1 = layoutSpacing / 2;
            x.__late_helper$_value = rtl ? _this._box$_size._dx - t1 - firstChildWidth : t1;
            break;
          case B.MainAxisAlignment_5:
            t1 = _this._box$_size._dx;
            layoutSpacing = (t1 - childrenWidth) / (_this.ContainerRenderObjectMixin__childCount + 1);
            x.__late_helper$_value = rtl ? t1 - layoutSpacing - firstChildWidth : layoutSpacing;
            break;
        }
        for (t1 = !rtl, t3 = type$._OverflowBarParentData, t4 = x.__late_helper$_name; t5 = _box_0.child, t5 != null;) {
          t6 = t5.parentData;
          t6.toString;
          t3._as(t6);
          t7 = x.__late_helper$_value;
          if (t7 === x)
            A.throwExpression(A.LateError$localNI(t4));
          t5 = t5._box$_size;
          t6.offset = new A.Offset(t7, (maxChildHeight - t5._dy) / 2);
          if (t1)
            t5 = x.__late_helper$_value = t7 + (t5._dx + layoutSpacing);
          else
            t5 = t7;
          child = _box_0.child = t2._as(t6).ContainerParentDataMixin_nextSibling;
          if (rtl && child != null)
            x.__late_helper$_value = t5 - (child._box$_size._dx + layoutSpacing);
        }
      }
    },
    hitTestChildren$2$position(result, position) {
      return this.defaultHitTestChildren$2$position(result, position);
    },
    paint$2(context, offset) {
      this.defaultPaint$2(context, offset);
    }
  };
  A._RenderOverflowBar_performLayout_nextChild.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._overflowDirection,
        t3 = this._box_0.child;
      t1 = A._instanceType(t1)._eval$1("ContainerRenderObjectMixin.1");
      if (t2 === B.VerticalDirection_1) {
        t2 = t3.parentData;
        t2.toString;
        t2 = t1._as(t2).ContainerParentDataMixin_nextSibling;
        t1 = t2;
      } else {
        t2 = t3.parentData;
        t2.toString;
        t2 = t1._as(t2).ContainerParentDataMixin_previousSibling;
        t1 = t2;
      }
      return t1;
    },
    $signature: 964
  };
  A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$._OverflowBarParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$._OverflowBarParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin.prototype = {};
  A.OverlayEntry.prototype = {
    set$opaque(value) {
      var t1;
      if (this._opaque === value)
        return;
      this._opaque = value;
      t1 = this._overlay;
      if (t1 != null)
        t1._didChangeEntryOpacity$0();
    },
    set$maintainState(value) {
      if (this._maintainState)
        return;
      this._maintainState = true;
      this._overlay._didChangeEntryOpacity$0();
    },
    addListener$1(_, listener) {
      this._overlayStateMounted.addListener$1(0, listener);
    },
    removeListener$1(_, listener) {
      this._overlayStateMounted.removeListener$1(0, listener);
    },
    remove$0(_) {
      var t2,
        t1 = this._overlay;
      t1.toString;
      this._overlay = null;
      if (t1._framework$_element == null)
        return;
      B.JSArray_methods.remove$1(t1._overlay$_entries, this);
      t2 = $.SchedulerBinding__instance;
      if (t2.SchedulerBinding__schedulerPhase === B.SchedulerPhase_3)
        t2.SchedulerBinding__postFrameCallbacks.push(new A.OverlayEntry_remove_closure(t1));
      else
        t1._overlay$_markDirty$0();
    },
    markNeedsBuild$0() {
      var t1 = this._key.get$currentState();
      if (t1 != null)
        t1._overlay$_markNeedsBuild$0();
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this) + "(opaque: " + this._opaque + "; maintainState: " + this._maintainState + ")";
    },
    $isListenable: 1
  };
  A.OverlayEntry_remove_closure.prototype = {
    call$1(duration) {
      this.overlay._overlay$_markDirty$0();
    },
    $signature: 3
  };
  A._OverlayEntryWidget.prototype = {
    createState$0() {
      return new A._OverlayEntryWidgetState(B._StateLifecycle_0);
    }
  };
  A._OverlayEntryWidgetState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._widget.entry._overlayStateMounted.set$value(0, true);
    },
    dispose$0() {
      this._widget.entry._overlayStateMounted.set$value(0, false);
      var t1 = this._widget.entry;
      if (t1._disposedByOwner) {
        t1 = t1._overlayStateMounted;
        t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
        t1.ChangeNotifier__count = 0;
      }
      this.super$State$dispose();
    },
    build$1(context) {
      var t1 = this._widget;
      return new A.TickerMode(t1.tickerEnabled, t1.entry.builder.call$1(context), null);
    },
    _overlay$_markNeedsBuild$0() {
      this.setState$1(new A._OverlayEntryWidgetState__markNeedsBuild_closure());
    }
  };
  A._OverlayEntryWidgetState__markNeedsBuild_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.Overlay.prototype = {
    createState$0() {
      return new A.OverlayState(A._setArrayType([], type$.JSArray_OverlayEntry), null, null, B._StateLifecycle_0);
    }
  };
  A.OverlayState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.insertAll$1(0, this._widget.initialEntries);
    },
    _insertionIndex$2(below, above) {
      return this._overlay$_entries.length;
    },
    insert$1(_, entry) {
      entry._overlay = this;
      this.setState$1(new A.OverlayState_insert_closure(this, null, null, entry));
    },
    insertAll$1(_, entries) {
      var _i,
        t1 = entries.length;
      if (t1 === 0)
        return;
      for (_i = 0; _i < t1; ++_i)
        entries[_i]._overlay = this;
      this.setState$1(new A.OverlayState_insertAll_closure(this, null, null, entries));
    },
    rearrange$1(newEntries) {
      var newEntriesList, t1, old, _i, entry, _this = this;
      if (type$.List_OverlayEntry._is(newEntries))
        newEntriesList = newEntries;
      else
        newEntriesList = J.JSArray_JSArray$markFixed(newEntries.slice(0), A._arrayInstanceType(newEntries)._precomputed1);
      if (newEntriesList.length === 0)
        return;
      t1 = _this._overlay$_entries;
      if (A.listEquals(t1, newEntriesList))
        return;
      old = A.LinkedHashSet_LinkedHashSet$of(t1, type$.OverlayEntry);
      for (t1 = newEntriesList.length, _i = 0; _i < t1; ++_i) {
        entry = newEntriesList[_i];
        if (entry._overlay == null)
          entry._overlay = _this;
      }
      _this.setState$1(new A.OverlayState_rearrange_closure(_this, newEntriesList, old, null, null));
    },
    _overlay$_markDirty$0() {
      if (this._framework$_element != null)
        this.setState$1(new A.OverlayState__markDirty_closure());
    },
    _didChangeEntryOpacity$0() {
      this.setState$1(new A.OverlayState__didChangeEntryOpacity_closure());
    },
    build$1(context) {
      var t1, i, onstage, onstageCount, entry, t2,
        children = A._setArrayType([], type$.JSArray_Widget);
      for (t1 = this._overlay$_entries, i = t1.length - 1, onstage = true, onstageCount = 0; i >= 0; --i) {
        entry = t1[i];
        if (onstage) {
          ++onstageCount;
          children.push(new A._OverlayEntryWidget(entry, true, entry._key));
          onstage = !entry._opaque || false;
        } else if (entry._maintainState)
          children.push(new A._OverlayEntryWidget(entry, false, entry._key));
      }
      t1 = children.length;
      this._widget.toString;
      t2 = type$.ReversedListIterable_Widget;
      return new A._Theatre(t1 - onstageCount, B.Clip_1, A.List_List$of(new A.ReversedListIterable(children, t2), false, t2._eval$1("ListIterable.E")), null);
    }
  };
  A.OverlayState_insert_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      B.JSArray_methods.insert$2(t1._overlay$_entries, t1._insertionIndex$2(_this.below, _this.above), _this.entry);
    },
    $signature: 0
  };
  A.OverlayState_insertAll_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this;
      B.JSArray_methods.insertAll$2(t1._overlay$_entries, t1._insertionIndex$2(_this.below, _this.above), _this.entries);
    },
    $signature: 0
  };
  A.OverlayState_rearrange_closure.prototype = {
    call$0() {
      var t3, t4, _this = this,
        t1 = _this.$this,
        t2 = t1._overlay$_entries;
      B.JSArray_methods.clear$0(t2);
      t3 = _this.newEntriesList;
      B.JSArray_methods.addAll$1(t2, t3);
      t4 = _this.old;
      t4.removeAll$1(t3);
      B.JSArray_methods.insertAll$2(t2, t1._insertionIndex$2(_this.below, _this.above), t4);
    },
    $signature: 0
  };
  A.OverlayState__markDirty_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.OverlayState__didChangeEntryOpacity_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._Theatre.prototype = {
    createElement$0(_) {
      return new A._TheatreElement(A.HashSet_HashSet(type$.Element_2), this, B._ElementLifecycle_0);
    },
    createRenderObject$1(context) {
      var t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      t1 = new A._RenderTheatre(t1.textDirection, this.skipCount, this.clipBehavior, A.LayerHandle$(type$.ClipRectLayer), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1 = this.skipCount;
      if (renderObject._overlay$_skipCount !== t1) {
        renderObject._overlay$_skipCount = t1;
        renderObject.markNeedsLayout$0();
      }
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
      t1 = this.clipBehavior;
      if (t1 !== renderObject._overlay$_clipBehavior) {
        renderObject._overlay$_clipBehavior = t1;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    }
  };
  A._TheatreElement.prototype = {
    get$renderObject() {
      return type$._RenderTheatre._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(this));
    }
  };
  A._RenderTheatre.prototype = {
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.StackParentData))
        child.parentData = new A.StackParentData(null, null, B.Offset_0_0);
    },
    _overlay$_resolve$0() {
      if (this._overlay$_resolvedAlignment != null)
        return;
      this._overlay$_resolvedAlignment = B.AlignmentDirectional_m1_m1.resolve$1(this._overlay$_textDirection);
    },
    set$textDirection(value) {
      var _this = this;
      if (_this._overlay$_textDirection === value)
        return;
      _this._overlay$_textDirection = value;
      _this._overlay$_resolvedAlignment = null;
      _this.markNeedsLayout$0();
    },
    get$_firstOnstageChild() {
      var child, toSkip, t1, t2, _this = this;
      if (_this._overlay$_skipCount === A.ContainerRenderObjectMixin.prototype.get$childCount.call(_this))
        return null;
      child = A.ContainerRenderObjectMixin.prototype.get$firstChild.call(_this, _this);
      for (toSkip = _this._overlay$_skipCount, t1 = type$.StackParentData; toSkip > 0; --toSkip) {
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
      return child;
    },
    computeMinIntrinsicWidth$1(height) {
      return A.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new A._RenderTheatre_computeMinIntrinsicWidth_closure(height));
    },
    computeMaxIntrinsicWidth$1(height) {
      return A.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new A._RenderTheatre_computeMaxIntrinsicWidth_closure(height));
    },
    computeMinIntrinsicHeight$1(width) {
      return A.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new A._RenderTheatre_computeMinIntrinsicHeight_closure(width));
    },
    computeMaxIntrinsicHeight$1(width) {
      return A.RenderStack_getIntrinsicDimension(this.get$_firstOnstageChild(), new A._RenderTheatre_computeMaxIntrinsicHeight_closure(width));
    },
    computeDistanceToActualBaseline$1(baseline) {
      var t1, result, t2, candidate,
        child = this.get$_firstOnstageChild();
      for (t1 = type$.StackParentData, result = null; child != null;) {
        t2 = child.parentData;
        t2.toString;
        t1._as(t2);
        candidate = child.getDistanceToActualBaseline$1(baseline);
        if (candidate != null) {
          candidate += t2.offset._dy;
          result = result != null ? Math.min(result, candidate) : candidate;
        }
        child = t2.ContainerParentDataMixin_nextSibling;
      }
      return result;
    },
    get$sizedByParent() {
      return true;
    },
    computeDryLayout$1(constraints) {
      return new A.Size(A.clampDouble(1 / 0, constraints.minWidth, constraints.maxWidth), A.clampDouble(1 / 0, constraints.minHeight, constraints.maxHeight));
    },
    performLayout$0() {
      var t1, nonPositionedConstraints, child, t2, t3, t4, t5, t6, _this = this;
      _this._overlay$_hasVisualOverflow = false;
      if (_this.ContainerRenderObjectMixin__childCount - _this._overlay$_skipCount === 0)
        return;
      _this._overlay$_resolve$0();
      t1 = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this));
      nonPositionedConstraints = A.BoxConstraints$tight(new A.Size(A.clampDouble(1 / 0, t1.minWidth, t1.maxWidth), A.clampDouble(1 / 0, t1.minHeight, t1.maxHeight)));
      child = _this.get$_firstOnstageChild();
      for (t1 = type$.StackParentData, t2 = type$.Offset; child != null;) {
        t3 = child.parentData;
        t3.toString;
        t1._as(t3);
        if (!t3.get$isPositioned()) {
          child.layout$2$parentUsesSize(nonPositionedConstraints, true);
          t4 = _this._overlay$_resolvedAlignment;
          t4.toString;
          t5 = _this._box$_size;
          t5.toString;
          t6 = child._box$_size;
          t6.toString;
          t3.offset = t4.alongOffset$1(t2._as(t5.$sub(0, t6)));
        } else {
          t4 = _this._box$_size;
          t4.toString;
          t5 = _this._overlay$_resolvedAlignment;
          t5.toString;
          _this._overlay$_hasVisualOverflow = A.RenderStack_layoutPositionedChild(child, t3, t4, t5) || _this._overlay$_hasVisualOverflow;
        }
        child = t3.ContainerParentDataMixin_nextSibling;
      }
    },
    hitTestChildren$2$position(result, position) {
      var t2, i, child, _this = this, _box_0 = {},
        t1 = _box_0.child = _this._overlay$_skipCount === A.ContainerRenderObjectMixin.prototype.get$childCount.call(_this) ? null : _this.ContainerRenderObjectMixin__lastChild;
      for (t2 = type$.StackParentData, i = 0; i < _this.ContainerRenderObjectMixin__childCount - _this._overlay$_skipCount; ++i, t1 = child) {
        t1 = t1.parentData;
        t1.toString;
        t2._as(t1);
        if (result.addWithPaintOffset$3$hitTest$offset$position(new A._RenderTheatre_hitTestChildren_closure(_box_0, position, t1), t1.offset, position))
          return true;
        child = t1.ContainerParentDataMixin_previousSibling;
        _box_0.child = child;
      }
      return false;
    },
    paintStack$2(context, offset) {
      var t1, t2, t3, t4, t5,
        child = this.get$_firstOnstageChild();
      for (t1 = type$.StackParentData, t2 = offset._dx, t3 = offset._dy; child != null;) {
        t4 = child.parentData;
        t4.toString;
        t1._as(t4);
        t5 = t4.offset;
        context.paintChild$2(child, new A.Offset(t5._dx + t2, t5._dy + t3));
        child = t4.ContainerParentDataMixin_nextSibling;
      }
    },
    paint$2(context, offset) {
      var t3, _this = this,
        t1 = _this._overlay$_hasVisualOverflow && _this._overlay$_clipBehavior !== B.Clip_0,
        t2 = _this._overlay$_clipRectLayer;
      if (t1) {
        t1 = _this.__RenderObject__needsCompositing;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this._box$_size;
        t2.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t3._dx, 0 + t3._dy), _this.get$paintStack(), _this._overlay$_clipBehavior, t2._layer));
      } else {
        t2.set$layer(0, null);
        _this.paintStack$2(context, offset);
      }
    },
    dispose$0() {
      this._overlay$_clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    },
    visitChildrenForSemantics$1(visitor) {
      var t1, t2,
        child = this.get$_firstOnstageChild();
      for (t1 = type$.StackParentData; child != null;) {
        visitor.call$1(child);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    describeApproximatePaintClip$1(child) {
      var t1;
      switch (this._overlay$_clipBehavior.index) {
        case 0:
          return null;
        case 1:
        case 2:
        case 3:
          if (this._overlay$_hasVisualOverflow) {
            t1 = this._box$_size;
            t1 = new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
          } else
            t1 = null;
          return t1;
      }
    },
    debugDescribeChildren$0() {
      var count, onstage, t2,
        t1 = type$.JSArray_DiagnosticsNode,
        offstageChildren = A._setArrayType([], t1),
        onstageChildren = A._setArrayType([], t1),
        child = this.ContainerRenderObjectMixin__firstChild,
        firstOnstageChild = this.get$_firstOnstageChild();
      for (t1 = type$.StackParentData, count = 1, onstage = false; child != null;) {
        if (child === firstOnstageChild) {
          count = 1;
          onstage = true;
        }
        t2 = "" + count;
        if (onstage)
          onstageChildren.push(new A.DiagnosticableTreeNode(child, "onstage " + t2, true, true, null, null));
        else
          offstageChildren.push(new A.DiagnosticableTreeNode(child, "offstage " + t2, true, true, null, B.DiagnosticsTreeStyle_2));
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
        ++count;
      }
      t1 = A.List_List$of(onstageChildren, true, type$.DiagnosticsNode);
      if (offstageChildren.length !== 0)
        B.JSArray_methods.addAll$1(t1, offstageChildren);
      else
        t1.push(A.DiagnosticsNode_DiagnosticsNode$message("no offstage children", true, B.DiagnosticsTreeStyle_2));
      return t1;
    }
  };
  A._RenderTheatre_computeMinIntrinsicWidth_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_0, this.height, child.get$computeMinIntrinsicWidth());
    },
    $signature: 21
  };
  A._RenderTheatre_computeMaxIntrinsicWidth_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_1, this.height, child.get$computeMaxIntrinsicWidth());
    },
    $signature: 21
  };
  A._RenderTheatre_computeMinIntrinsicHeight_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_2, this.width, child.get$computeMinIntrinsicHeight());
    },
    $signature: 21
  };
  A._RenderTheatre_computeMaxIntrinsicHeight_closure.prototype = {
    call$1(child) {
      return child._computeIntrinsicDimension$3(B._IntrinsicDimension_3, this.width, child.get$computeMaxIntrinsicHeight());
    },
    $signature: 21
  };
  A._RenderTheatre_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this._box_0.child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A._OverlayState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__RenderTheatre_RenderBox_ContainerRenderObjectMixin.prototype = {
    attach$1(owner) {
      var child, t1, t2;
      this.super$RenderObject$attach(owner);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData; child != null;) {
        child.attach$1(owner);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    },
    detach$0(_) {
      var child, t1, t2;
      this.super$AbstractNode$detach(0);
      child = this.ContainerRenderObjectMixin__firstChild;
      for (t1 = type$.StackParentData; child != null;) {
        child.detach$0(0);
        t2 = child.parentData;
        t2.toString;
        child = t1._as(t2).ContainerParentDataMixin_nextSibling;
      }
    }
  };
  A.GlowingOverscrollIndicator.prototype = {
    createState$0() {
      var t1 = type$.bool;
      return new A._GlowingOverscrollIndicatorState(A.LinkedHashMap_LinkedHashMap$_literal([false, true, true, true], t1, t1), null, null, B._StateLifecycle_0);
    },
    notificationPredicate$1(arg0) {
      return A.scroll_notification__defaultScrollNotificationPredicate$closure().call$1(arg0);
    }
  };
  A._GlowingOverscrollIndicatorState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.color;
      _this._leadingController = A._GlowController$(A.axisDirectionToAxis(t1.axisDirection), t2, _this);
      t2 = _this._widget;
      t1 = t2.color;
      t1 = A._GlowController$(A.axisDirectionToAxis(t2.axisDirection), t1, _this);
      _this._trailingController = t1;
      t2 = _this._leadingController;
      t2.toString;
      _this._leadingAndTrailingListener = new A._MergingListenable(A._setArrayType([t2, t1], type$.JSArray_Listenable));
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (!oldWidget.color.$eq(0, _this._widget.color) || A.axisDirectionToAxis(oldWidget.axisDirection) !== A.axisDirectionToAxis(_this._widget.axisDirection)) {
        t1 = _this._leadingController;
        t1.toString;
        t1.set$color(0, _this._widget.color);
        t1 = _this._leadingController;
        t1.toString;
        t1.set$axis(A.axisDirectionToAxis(_this._widget.axisDirection));
        t1 = _this._trailingController;
        t1.toString;
        t1.set$color(0, _this._widget.color);
        t1 = _this._trailingController;
        t1.toString;
        t1.set$axis(A.axisDirectionToAxis(_this._widget.axisDirection));
      }
    },
    _overscroll_indicator$_handleScrollNotification$1(notification) {
      var t1, t2, t3, t4, t5, controller, isLeading, velocity, position, _this = this;
      if (!_this._widget.notificationPredicate$1(notification))
        return false;
      t1 = _this._leadingController;
      t1.toString;
      t2 = notification.metrics;
      t3 = t2._scroll_metrics$_pixels;
      t3.toString;
      t4 = t2._scroll_metrics$_minScrollExtent;
      t4.toString;
      t1._paintOffsetScrollPixels = -Math.min(t3 - t4, t1._overscroll_indicator$_paintOffset);
      t4 = _this._trailingController;
      t4.toString;
      t5 = t2._scroll_metrics$_maxScrollExtent;
      t5.toString;
      t4._paintOffsetScrollPixels = -Math.min(t5 - t3, t4._overscroll_indicator$_paintOffset);
      if (notification instanceof A.OverscrollNotification) {
        t3 = notification.overscroll;
        if (t3 < 0)
          controller = t1;
        else if (t3 > 0)
          controller = t4;
        else
          controller = null;
        isLeading = controller === t1;
        t1 = _this._framework$_element;
        t1.dispatchNotification$1(new A.OverscrollIndicatorNotification(isLeading, 0));
        t1 = _this._accepted;
        t1.$indexSet(0, isLeading, true);
        t1.$index(0, isLeading).toString;
        controller._overscroll_indicator$_paintOffset = 0;
        _this._accepted.$index(0, isLeading).toString;
        t1 = notification.velocity;
        if (t1 !== 0) {
          t2 = controller._pullRecedeTimer;
          if (t2 != null)
            t2.cancel$0(0);
          controller._pullRecedeTimer = null;
          velocity = A.clampDouble(Math.abs(t1), 100, 10000);
          t1 = controller._glowOpacityTween;
          if (controller._overscroll_indicator$_state === B._GlowState_0)
            t2 = 0.3;
          else {
            t2 = controller.___GlowController__glowOpacity;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t3 = t2.parent;
            t3 = t2._evaluatable.transform$1(0, t3.get$value(t3));
            t2 = t3;
          }
          t1.begin = t2;
          t2.toString;
          t1.end = A.clampDouble(velocity * 0.00006, t2, 0.5);
          t2 = controller._glowSizeTween;
          t1 = controller.___GlowController__glowSize;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t3 = t1.parent;
          t2.begin = t1._evaluatable.transform$1(0, t3.get$value(t3));
          t2.end = Math.min(0.025 + 75e-8 * velocity * velocity, 1);
          t2 = controller.___GlowController__glowController;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.duration = A.Duration$(0, B.JSNumber_methods.round$0(0.15 + velocity * 0.02));
          t2.forward$1$from(0, 0);
          controller._displacement = 0.5;
          controller._overscroll_indicator$_state = B._GlowState_1;
        } else {
          t1 = notification.dragDetails;
          if (t1 != null) {
            t4 = notification.context.get$renderObject();
            t4.toString;
            type$.RenderBox._as(t4);
            t5 = t4._box$_size;
            t5.toString;
            position = t4.globalToLocal$1(t1.globalPosition);
            switch (A.axisDirectionToAxis(t2.axisDirection).index) {
              case 0:
                controller.toString;
                t1 = t5._dy;
                controller.pull$4(0, Math.abs(t3), t5._dx, A.clampDouble(position._dy, 0, t1), t1);
                break;
              case 1:
                controller.toString;
                t1 = t5._dx;
                controller.pull$4(0, Math.abs(t3), t5._dy, A.clampDouble(position._dx, 0, t1), t1);
                break;
            }
          }
        }
      } else if (notification instanceof A.ScrollEndNotification || notification instanceof A.ScrollUpdateNotification)
        if (notification.get$dragDetails() != null) {
          t1 = _this._leadingController;
          if (t1._overscroll_indicator$_state === B._GlowState_2)
            t1._recede$1(B.Duration_600000);
          t1 = _this._trailingController;
          if (t1._overscroll_indicator$_state === B._GlowState_2)
            t1._recede$1(B.Duration_600000);
        }
      _this._lastNotificationType = A.getRuntimeType(notification);
      return false;
    },
    dispose$0() {
      this._leadingController.dispose$0();
      this._trailingController.dispose$0();
      this.super$__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this._widget,
        t2 = _this._leadingController,
        t3 = _this._trailingController,
        t4 = t1.axisDirection,
        t5 = _this._leadingAndTrailingListener;
      return new A.NotificationListener(_this.get$_overscroll_indicator$_handleScrollNotification(), new A.RepaintBoundary(A.CustomPaint$(new A.RepaintBoundary(t1.child, _null), new A._GlowingOverscrollIndicatorPainter(t2, t3, t4, t5), _null, _null, B.Size_0_0), _null), _null, type$.NotificationListener_ScrollNotification);
    }
  };
  A._GlowState.prototype = {
    toString$0(_) {
      return "_GlowState." + this._core$_name;
    }
  };
  A._GlowController.prototype = {
    set$color(_, value) {
      if (this._overscroll_indicator$_color.$eq(0, value))
        return;
      this._overscroll_indicator$_color = value;
      this.notifyListeners$0();
    },
    set$axis(value) {
      if (this._axis === value)
        return;
      this._axis = value;
      this.notifyListeners$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.___GlowController__glowController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this.___GlowController__displacementTicker;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1._creator.TickerProviderStateMixin__tickers.remove$1(0, t1);
      t1.super$Ticker$dispose();
      t1 = _this._pullRecedeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this.super$ChangeNotifier$dispose();
    },
    pull$4(_, overscroll, extent, crossAxisOffset, crossExtent) {
      var t2, t3, height, t4, _this = this,
        t1 = _this._pullRecedeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._pullDistance = _this._pullDistance + overscroll / 200;
      t1 = _this._glowOpacityTween;
      t2 = _this.___GlowController__glowOpacity;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      t1.begin = t2._evaluatable.transform$1(0, t3.get$value(t3));
      t3 = _this.___GlowController__glowOpacity;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t3.parent;
      t1.end = Math.min(t3._evaluatable.transform$1(0, t2.get$value(t2)) + overscroll / extent * 0.8, 0.5);
      height = Math.min(extent, crossExtent * 0.20096189432249995);
      t2 = _this._glowSizeTween;
      t3 = _this.___GlowController__glowSize;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t3.parent;
      t2.begin = t3._evaluatable.transform$1(0, t1.get$value(t1));
      t1 = Math.sqrt(_this._pullDistance * height);
      t3 = _this.___GlowController__glowSize;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t3.parent;
      t2.end = Math.max(1 - 1 / (0.7 * t1), A.checkNum(t3._evaluatable.transform$1(0, t4.get$value(t4))));
      t4 = crossAxisOffset / crossExtent;
      _this._displacementTarget = t4;
      if (t4 !== _this._displacement) {
        t1 = _this.___GlowController__displacementTicker;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!t1.get$isTicking()) {
          t1 = _this.___GlowController__displacementTicker;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.start$0(0);
        }
      } else {
        t1 = _this.___GlowController__displacementTicker;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.stop$0(0);
        _this._displacementTickerLastElapsed = null;
      }
      t1 = _this.___GlowController__glowController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.duration = B.Duration_167000;
      if (_this._overscroll_indicator$_state !== B._GlowState_2) {
        t1.forward$1$from(0, 0);
        _this._overscroll_indicator$_state = B._GlowState_2;
      } else {
        t1 = t1._ticker;
        if (!(t1 != null && t1._ticker$_future != null))
          _this.notifyListeners$0();
      }
      _this._pullRecedeTimer = A.Timer_Timer(B.Duration_167000, new A._GlowController_pull_closure(_this));
    },
    _changePhase$1($status) {
      var _this = this;
      if ($status !== B.AnimationStatus_3)
        return;
      switch (_this._overscroll_indicator$_state.index) {
        case 1:
          _this._recede$1(B.Duration_600000);
          break;
        case 3:
          _this._overscroll_indicator$_state = B._GlowState_0;
          _this._pullDistance = 0;
          break;
        case 2:
        case 0:
          break;
      }
    },
    _recede$1(duration) {
      var t2, t3, _this = this,
        t1 = _this._overscroll_indicator$_state;
      if (t1 === B._GlowState_3 || t1 === B._GlowState_0)
        return;
      t1 = _this._pullRecedeTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._pullRecedeTimer = null;
      t1 = _this._glowOpacityTween;
      t2 = _this.___GlowController__glowOpacity;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      t1.begin = t2._evaluatable.transform$1(0, t3.get$value(t3));
      t1.end = 0;
      t1 = _this._glowSizeTween;
      t3 = _this.___GlowController__glowSize;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t3.parent;
      t1.begin = t3._evaluatable.transform$1(0, t2.get$value(t2));
      t1.end = 0;
      t1 = _this.___GlowController__glowController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.duration = duration;
      t1.forward$1$from(0, 0);
      _this._overscroll_indicator$_state = B._GlowState_3;
    },
    _tickDisplacement$1(elapsed) {
      var t2, _this = this,
        t1 = _this._displacementTickerLastElapsed;
      if (t1 != null) {
        t1 = t1._duration;
        t2 = _this._displacementTarget;
        _this._displacement = t2 - (t2 - _this._displacement) * Math.pow(2, -(elapsed._duration - t1) / $.$get$_GlowController__crossAxisHalfTime()._duration);
        _this.notifyListeners$0();
      }
      if (A.nearEqual(_this._displacementTarget, _this._displacement, 0.001)) {
        t1 = _this.___GlowController__displacementTicker;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.stop$0(0);
        _this._displacementTickerLastElapsed = null;
      } else
        _this._displacementTickerLastElapsed = elapsed;
    },
    paint$2(canvas, size) {
      var t2, baseGlowScale, radius, height, t3, paint, t4, t5, t6, _this = this,
        t1 = _this.___GlowController__glowOpacity;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.parent;
      if (J.$eq$(t1._evaluatable.transform$1(0, t2.get$value(t2)), 0))
        return;
      t1 = size._dx;
      t2 = size._dy;
      baseGlowScale = t1 > t2 ? t2 / t1 : 1;
      radius = t1 * 3 / 2;
      height = Math.min(t2, t1 * 0.20096189432249995);
      t2 = _this.___GlowController__glowSize;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      t3 = t2._evaluatable.transform$1(0, t3.get$value(t3));
      t2 = _this._displacement;
      paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t4 = _this._overscroll_indicator$_color;
      t5 = _this.___GlowController__glowOpacity;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      t6 = t5.parent;
      paint.set$color(0, A.Color$fromARGB(B.JSNumber_methods.round$0(255 * t5._evaluatable.transform$1(0, t6.get$value(t6))), t4.get$value(t4) >>> 16 & 255, t4.get$value(t4) >>> 8 & 255, t4.get$value(t4) & 255));
      canvas.save$0(0);
      canvas.translate$2(0, 0, _this._overscroll_indicator$_paintOffset + _this._paintOffsetScrollPixels);
      canvas.scale$2(0, 1, t3 * baseGlowScale);
      canvas.clipRect$1(new A.Rect(0, 0, 0 + t1, 0 + height));
      canvas.drawCircle$3(new A.Offset(t1 / 2 * (0.5 + t2), height - radius), radius, paint);
      canvas.restore$0(0);
    },
    toString$0(_) {
      return "_GlowController(color: " + this._overscroll_indicator$_color.toString$0(0) + ", axis: " + A.describeEnum(this._axis) + ")";
    }
  };
  A._GlowController_pull_closure.prototype = {
    call$0() {
      return this.$this._recede$1(B.Duration_2000000);
    },
    $signature: 0
  };
  A._GlowingOverscrollIndicatorPainter.prototype = {
    _paintSide$5(canvas, size, controller, axisDirection, growthDirection) {
      var t1;
      if (controller == null)
        return;
      switch (A.applyGrowthDirectionToAxisDirection(axisDirection, growthDirection)) {
        case B.AxisDirection_0:
          controller.paint$2(canvas, size);
          break;
        case B.AxisDirection_2:
          canvas.save$0(0);
          canvas.translate$2(0, 0, size._dy);
          canvas.scale$2(0, 1, -1);
          controller.paint$2(canvas, size);
          canvas.restore$0(0);
          break;
        case B.AxisDirection_3:
          canvas.save$0(0);
          canvas.rotate$1(0, 1.5707963267948966);
          canvas.scale$2(0, 1, -1);
          controller.paint$2(canvas, new A.Size(size._dy, size._dx));
          canvas.restore$0(0);
          break;
        case B.AxisDirection_1:
          canvas.save$0(0);
          t1 = size._dx;
          canvas.translate$2(0, t1, 0);
          canvas.rotate$1(0, 1.5707963267948966);
          controller.paint$2(canvas, new A.Size(size._dy, t1));
          canvas.restore$0(0);
          break;
      }
    },
    paint$2(canvas, size) {
      var _this = this,
        t1 = _this.axisDirection;
      _this._paintSide$5(canvas, size, _this.leadingController, t1, B.GrowthDirection_1);
      _this._paintSide$5(canvas, size, _this.trailingController, t1, B.GrowthDirection_0);
    },
    shouldRepaint$1(oldDelegate) {
      return oldDelegate.leadingController != this.leadingController || oldDelegate.trailingController != this.trailingController;
    },
    toString$0(_) {
      return "_GlowingOverscrollIndicatorPainter(" + A.S(this.leadingController) + ", " + A.S(this.trailingController) + ")";
    }
  };
  A.StretchingOverscrollIndicator.prototype = {
    createState$0() {
      return new A._StretchingOverscrollIndicatorState(null, null, B._StateLifecycle_0);
    },
    notificationPredicate$1(arg0) {
      return A.scroll_notification__defaultScrollNotificationPredicate$closure().call$1(arg0);
    }
  };
  A._StretchingOverscrollIndicatorState.prototype = {
    get$_stretchController() {
      var t1, t2, result, t3, t4, decelerator, _this = this, _null = null,
        value = _this.___StretchingOverscrollIndicatorState__stretchController;
      if (value === $) {
        t1 = type$.Tween_double;
        t2 = new A.Tween(0, 0, t1);
        result = new A._StretchController(t2, B._StretchState_0, $.$get$ChangeNotifier__emptyListeners());
        t3 = A.AnimationController$(_null, _null, 0, _null, 1, _null, _this);
        t3.didRegisterListener$0();
        t4 = t3.AnimationLocalStatusListenersMixin__statusListeners;
        t4._isDirty = true;
        t4._list.push(result.get$_changePhase());
        if (result.___StretchController__stretchController !== $)
          A.throwUnnamedLateFieldAI();
        result.___StretchController__stretchController = t3;
        decelerator = A.CurvedAnimation$(B.C__DecelerateCurve, t3, _null);
        decelerator.parent.addListener$1(0, result.get$notifyListeners());
        type$.Animation_double._as(decelerator);
        if (result.___StretchController__stretchSize !== $)
          A.throwUnnamedLateFieldAI();
        result.___StretchController__stretchSize = new A._AnimatedEvaluation(decelerator, t2, t1._eval$1("_AnimatedEvaluation<Animatable.T>"));
        if (_this.___StretchingOverscrollIndicatorState__stretchController !== $)
          A.throwUnnamedLateFieldADI();
        _this.___StretchingOverscrollIndicatorState__stretchController = result;
        value = result;
      }
      return value;
    },
    _overscroll_indicator$_handleScrollNotification$1(notification) {
      var t1, t2, velocity, t3, t4, clampedOverscroll, _this = this;
      if (!_this._widget.notificationPredicate$1(notification))
        return false;
      if (notification instanceof A.OverscrollNotification) {
        _this._lastOverscrollNotification = notification;
        J.get$runtimeType$(_this._lastNotification);
        t1 = notification.overscroll;
        t2 = _this._framework$_element;
        t2.dispatchNotification$1(new A.OverscrollIndicatorNotification(t1 < 0, 0));
        _this._accepted = true;
        t2 = notification.velocity;
        if (t2 !== 0) {
          t1 = _this.get$_stretchController();
          velocity = A.clampDouble(Math.abs(t2), 1, 10000);
          t2 = t1._stretchSizeTween;
          t3 = t1.___StretchController__stretchSize;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t4 = t3.parent;
          t2.begin = t3._evaluatable.transform$1(0, t4.get$value(t4));
          t2.end = Math.min(0.016 + 1.01 / velocity, 1);
          t2 = t1.___StretchController__stretchController;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.duration = A.Duration$(0, B.JSNumber_methods.round$0(velocity * 0.02));
          t2.forward$1$from(0, 0);
          t1._overscroll_indicator$_state = B._StretchState_1;
        } else if (notification.dragDetails != null) {
          t2 = notification.metrics._scroll_metrics$_viewportDimension;
          t2.toString;
          clampedOverscroll = A.clampDouble(Math.abs(t1) / t2 + _this.get$_stretchController()._pullDistance, 0, 1);
          t2 = _this.get$_stretchController();
          t2._pullDistance = clampedOverscroll;
          t1 = t2._stretchSizeTween;
          t3 = t2.___StretchController__stretchSize;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t4 = t3.parent;
          t1.begin = t3._evaluatable.transform$1(0, t4.get$value(t4));
          t4 = t2._pullDistance;
          t1.end = 0.016 * t4 + 0.016 * (1 - Math.exp(-t4 * 8.237217661997105));
          t4 = t2.___StretchController__stretchController;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t4.duration = B.Duration_400000;
          if (t2._overscroll_indicator$_state !== B._StretchState_2) {
            t4.forward$1$from(0, 0);
            t2._overscroll_indicator$_state = B._StretchState_2;
          } else {
            t1 = t4._ticker;
            if (!(t1 != null && t1._ticker$_future != null))
              t2.notifyListeners$0();
          }
        }
      } else if (notification instanceof A.ScrollEndNotification || notification instanceof A.ScrollUpdateNotification) {
        t1 = _this.get$_stretchController();
        if (t1._overscroll_indicator$_state === B._StretchState_2)
          t1._recede$1(B.Duration_400000);
      }
      _this._lastNotification = notification;
      return false;
    },
    _getAlignmentForAxisDirection$1(overscroll) {
      switch (this._widget.axisDirection.index) {
        case 0:
          return overscroll > 0 ? B.AlignmentDirectional_0_m1 : B.AlignmentDirectional_0_1;
        case 1:
          return overscroll > 0 ? B.AlignmentDirectional_1_0 : B.AlignmentDirectional_m1_0;
        case 2:
          return overscroll > 0 ? B.AlignmentDirectional_0_1 : B.AlignmentDirectional_0_m1;
        case 3:
          return overscroll > 0 ? B.AlignmentDirectional_m1_0 : B.AlignmentDirectional_1_0;
      }
    },
    dispose$0() {
      var t1 = this.get$_stretchController(),
        t2 = t1.___StretchController__stretchController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.dispose$0();
      t1.super$ChangeNotifier$dispose();
      this.super$__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var t1 = {},
        t2 = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data;
      t1.mainAxisSize = null;
      return new A.NotificationListener(this.get$_overscroll_indicator$_handleScrollNotification(), A.AnimatedBuilder$(this.get$_stretchController(), new A._StretchingOverscrollIndicatorState_build_closure(t1, this, t2.size), null), null, type$.NotificationListener_ScrollNotification);
    }
  };
  A._StretchingOverscrollIndicatorState_build_closure.prototype = {
    call$2(context, child) {
      var t3, x, y, alignment, viewportDimension, transform, _this = this,
        t1 = _this.$this,
        t2 = t1.get$_stretchController().___StretchController__stretchSize;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      t3 = t2._evaluatable.transform$1(0, t3.get$value(t3));
      switch (A.axisDirectionToAxis(t1._widget.axisDirection).index) {
        case 0:
          x = 1 + t3;
          _this._box_0.mainAxisSize = _this.size._dx;
          y = 1;
          break;
        case 1:
          y = 1 + t3;
          _this._box_0.mainAxisSize = _this.size._dy;
          x = 1;
          break;
        default:
          x = 1;
          y = 1;
      }
      t2 = t1._lastOverscrollNotification;
      t2 = t2 == null ? null : t2.overscroll;
      alignment = t1._getAlignmentForAxisDirection$1(t2 == null ? 0 : t2);
      t2 = t1._lastOverscrollNotification;
      if (t2 == null)
        viewportDimension = null;
      else {
        t2 = t2.metrics._scroll_metrics$_viewportDimension;
        t2.toString;
        viewportDimension = t2;
      }
      if (viewportDimension == null)
        viewportDimension = _this._box_0.mainAxisSize;
      t2 = A.Matrix4_Matrix4$diagonal3Values(x, y, 1);
      transform = A.Transform$(alignment, t1._widget.child, t2, true);
      return A.ClipRect$(transform, t3 !== 0 && viewportDimension !== _this._box_0.mainAxisSize ? B.Clip_1 : B.Clip_0, null);
    },
    $signature: 965
  };
  A._StretchState.prototype = {
    toString$0(_) {
      return "_StretchState." + this._core$_name;
    }
  };
  A._StretchController.prototype = {
    _changePhase$1($status) {
      var _this = this;
      if ($status !== B.AnimationStatus_3)
        return;
      switch (_this._overscroll_indicator$_state.index) {
        case 1:
          _this._recede$1(B.Duration_400000);
          break;
        case 3:
          _this._overscroll_indicator$_state = B._StretchState_0;
          _this._pullDistance = 0;
          break;
        case 2:
        case 0:
          break;
      }
    },
    _recede$1(duration) {
      var t2, t3, _this = this,
        t1 = _this._overscroll_indicator$_state;
      if (t1 === B._StretchState_3 || t1 === B._StretchState_0)
        return;
      t1 = _this._stretchSizeTween;
      t2 = _this.___StretchController__stretchSize;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t2.parent;
      t1.begin = t2._evaluatable.transform$1(0, t3.get$value(t3));
      t1.end = 0;
      t1 = _this.___StretchController__stretchController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.duration = duration;
      t1.forward$1$from(0, 0);
      _this._overscroll_indicator$_state = B._StretchState_3;
    },
    dispose$0() {
      var t1 = this.___StretchController__stretchController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$ChangeNotifier$dispose();
    },
    toString$0(_) {
      return "_StretchController()";
    }
  };
  A.OverscrollIndicatorNotification.prototype = {
    debugFillDescription$1(description) {
      this.super$_OverscrollIndicatorNotification_Notification_ViewportNotificationMixin$debugFillDescription(description);
      description.push("side: " + (this.leading ? "leading edge" : "trailing edge"));
    }
  };
  A._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin.prototype = {
    debugFillDescription$1(description) {
      var t1, t2;
      this.super$Notification$debugFillDescription(description);
      t1 = this.ViewportNotificationMixin__depth;
      t2 = t1 === 0 ? "local" : "remote";
      description.push("depth: " + t1 + " (" + t2 + ")");
    }
  };
  A.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.PageStorageKey.prototype = {};
  A._StorageEntryIdentifier.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A._StorageEntryIdentifier && A.listEquals(other.keys, this.keys);
    },
    get$hashCode(_) {
      return A.Object_hashAll(this.keys);
    },
    toString$0(_) {
      return "StorageEntryIdentifier(" + B.JSArray_methods.join$1(this.keys, ":") + ")";
    },
    get$keys(receiver) {
      return this.keys;
    }
  };
  A.PageStorageBucket.prototype = {
    _allKeys$1(context) {
      var keys = A._setArrayType([], type$.JSArray_PageStorageKey_dynamic);
      if (A.PageStorageBucket__maybeAddKey(context, keys))
        context.visitAncestorElements$1(new A.PageStorageBucket__allKeys_closure(keys));
      return keys;
    },
    writeState$2(context, data) {
      var t1, _this = this;
      if (_this._storage == null)
        _this._storage = A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$.dynamic);
      t1 = _this._allKeys$1(context);
      if (t1.length !== 0)
        _this._storage.$indexSet(0, new A._StorageEntryIdentifier(t1), data);
    },
    readState$1(context) {
      var t1;
      if (this._storage == null)
        return null;
      t1 = this._allKeys$1(context);
      return t1.length !== 0 ? this._storage.$index(0, new A._StorageEntryIdentifier(t1)) : null;
    }
  };
  A.PageStorageBucket__allKeys_closure.prototype = {
    call$1(element) {
      return A.PageStorageBucket__maybeAddKey(element, this.keys);
    },
    $signature: 53
  };
  A.PageStorage.prototype = {
    build$1(context) {
      return this.child;
    }
  };
  A.PageController.prototype = {
    animateToPage$3$curve$duration(page, curve, duration) {
      var position = type$._PagePosition._as(B.JSArray_methods.get$single(this._positions));
      if (position._cachedPage != null) {
        position._cachedPage = page;
        return A.Future_Future$value(null, type$.void);
      }
      return position.animateTo$3$curve$duration(position.getPixelsFromPage$1(page), curve, duration);
    },
    jumpToPage$1(page) {
      var position = type$._PagePosition._as(B.JSArray_methods.get$single(this._positions));
      if (position._cachedPage != null) {
        position._cachedPage = page;
        return;
      }
      position.jumpTo$1(position.getPixelsFromPage$1(page));
    },
    createScrollPosition$3(physics, context, oldPosition) {
      var _null = null,
        t1 = $.$get$ChangeNotifier__emptyListeners();
      t1 = new A._PagePosition(this.initialPage, this.viewportFraction, B.ScrollDirection_0, physics, context, true, _null, new A.ValueNotifier(false, t1, type$.ValueNotifier_bool), t1);
      t1.ScrollPosition$5$context$debugLabel$keepScrollOffset$oldPosition$physics(context, _null, true, oldPosition, physics);
      t1.ScrollPositionWithSingleContext$6$context$debugLabel$initialPixels$keepScrollOffset$oldPosition$physics(context, _null, _null, true, oldPosition, physics);
      return t1;
    },
    attach$1(position) {
      this.super$ScrollController$attach(position);
      type$._PagePosition._as(position).set$viewportFraction(this.viewportFraction);
    }
  };
  A.PageMetrics.prototype = {};
  A._PagePosition.prototype = {
    ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(object, alignment, alignmentPolicy, curve, duration, targetRenderObject) {
      return this.super$ScrollPosition$ensureVisible(object, alignment, alignmentPolicy, curve, duration, null);
    },
    ensureVisible$3$alignment$duration(object, alignment, duration) {
      return this.ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(object, alignment, B.ScrollPositionAlignmentPolicy_0, B.Cubic_JUR, duration, null);
    },
    set$viewportFraction(value) {
      var oldPage, _this = this;
      if (_this._page_view$_viewportFraction === value)
        return;
      oldPage = _this.get$page(_this);
      _this._page_view$_viewportFraction = value;
      if (oldPage != null)
        _this.forcePixels$1(_this.getPixelsFromPage$1(oldPage));
    },
    get$_initialPageOffset() {
      var t1 = this._viewportDimension;
      t1.toString;
      return Math.max(0, t1 * (this._page_view$_viewportFraction - 1) / 2);
    },
    getPageFromPixels$2(pixels, viewportDimension) {
      var actual = Math.max(0, pixels - this.get$_initialPageOffset()) / (viewportDimension * this._page_view$_viewportFraction),
        round = B.JSNumber_methods.roundToDouble$0(actual);
      if (Math.abs(actual - round) < 1e-10)
        return round;
      return actual;
    },
    getPixelsFromPage$1(page) {
      var t1 = this._viewportDimension;
      t1.toString;
      return page * t1 * this._page_view$_viewportFraction + this.get$_initialPageOffset();
    },
    get$page(_) {
      var t2, t3, _this = this,
        t1 = _this._pixels;
      if (t1 != null)
        t2 = !(_this._minScrollExtent != null && _this._maxScrollExtent != null);
      else
        t2 = true;
      if (t2)
        t1 = null;
      else {
        t2 = _this._cachedPage;
        if (t2 == null) {
          t1.toString;
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          t3 = A.clampDouble(t1, t2, t3);
          t2 = _this._viewportDimension;
          t2.toString;
          t2 = _this.getPageFromPixels$2(t3, t2);
          t1 = t2;
        } else
          t1 = t2;
      }
      return t1;
    },
    saveScrollOffset$0() {
      var t3, t4, _this = this,
        t1 = _this.context,
        t2 = A.PageStorage_of(t1.get$storageContext());
      if (t2 != null) {
        t1 = t1.get$storageContext();
        t3 = _this._cachedPage;
        if (t3 == null) {
          t3 = _this._pixels;
          t3.toString;
          t4 = _this._viewportDimension;
          t4.toString;
          t4 = _this.getPageFromPixels$2(t3, t4);
          t3 = t4;
        }
        t2.writeState$2(t1, t3);
      }
    },
    restoreScrollOffset$0() {
      var t1, t2, value;
      if (this._pixels == null) {
        t1 = this.context;
        t2 = A.PageStorage_of(t1.get$storageContext());
        value = A._asDoubleQ(t2 == null ? null : t2.readState$1(t1.get$storageContext()));
        if (value != null)
          this._pageToUseOnStartup = value;
      }
    },
    saveOffset$0() {
      var t2, _this = this,
        t1 = _this._cachedPage;
      if (t1 == null) {
        t1 = _this._pixels;
        t1.toString;
        t2 = _this._viewportDimension;
        t2.toString;
        t2 = _this.getPageFromPixels$2(t1, t2);
        t1 = t2;
      }
      _this.context.saveOffset$1(t1);
    },
    restoreOffset$2$initialRestore(offset, initialRestore) {
      if (initialRestore)
        this._pageToUseOnStartup = offset;
      else
        this.jumpTo$1(this.getPixelsFromPage$1(offset));
    },
    applyViewportDimension$1(viewportDimension) {
      var oldPixels, page, t1, newPixels, _this = this,
        oldViewportDimensions = _this._viewportDimension;
      oldViewportDimensions = oldViewportDimensions != null ? oldViewportDimensions : null;
      if (viewportDimension === oldViewportDimensions)
        return true;
      _this.super$ScrollPosition$applyViewportDimension(viewportDimension);
      oldPixels = _this._pixels;
      oldPixels = oldPixels != null ? oldPixels : null;
      if (oldPixels == null)
        page = _this._pageToUseOnStartup;
      else if (oldViewportDimensions === 0) {
        t1 = _this._cachedPage;
        t1.toString;
        page = t1;
      } else {
        oldViewportDimensions.toString;
        page = _this.getPageFromPixels$2(oldPixels, oldViewportDimensions);
      }
      newPixels = _this.getPixelsFromPage$1(page);
      _this._cachedPage = viewportDimension === 0 ? page : null;
      if (newPixels !== oldPixels) {
        _this._pixels = newPixels;
        return false;
      }
      return true;
    },
    applyContentDimensions$2(minScrollExtent, maxScrollExtent) {
      var newMinScrollExtent = minScrollExtent + this.get$_initialPageOffset();
      return this.super$ScrollPosition$applyContentDimensions(newMinScrollExtent, Math.max(newMinScrollExtent, maxScrollExtent - this.get$_initialPageOffset()));
    },
    copyWith$0() {
      var t2, t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this._minScrollExtent;
      if (t1 != null && _this._maxScrollExtent != null)
        t1.toString;
      else
        t1 = _null;
      if (_this._minScrollExtent != null && _this._maxScrollExtent != null) {
        t2 = _this._maxScrollExtent;
        t2.toString;
      } else
        t2 = _null;
      t3 = _this._pixels;
      t3 = t3 != null ? t3 : _null;
      t4 = _this._viewportDimension;
      t4 = t4 != null ? t4 : _null;
      t5 = _this.context.get$axisDirection();
      t6 = _this._page_view$_viewportFraction;
      return new A.PageMetrics(t6, t1, t2, t3, t4, t5);
    }
  };
  A._ForceImplicitScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A._ForceImplicitScrollPhysics(false, this.buildParent$1(ancestor));
    },
    get$allowImplicitScrolling() {
      return this.allowImplicitScrolling;
    }
  };
  A.PageScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A.PageScrollPhysics(this.buildParent$1(ancestor));
    },
    _page_view$_getPage$1(position) {
      var t1, t2;
      if (position instanceof A._PagePosition) {
        t1 = position.get$page(position);
        t1.toString;
        return t1;
      }
      t1 = position._pixels;
      t1.toString;
      t2 = position._viewportDimension;
      t2.toString;
      return t1 / t2;
    },
    _getPixels$2(position, page) {
      var t1;
      if (position instanceof A._PagePosition)
        return position.getPixelsFromPage$1(page);
      t1 = position._viewportDimension;
      t1.toString;
      return page * t1;
    },
    createBallisticSimulation$2(position, velocity) {
      var t1, t2, tolerance, page, target, _this = this;
      if (velocity <= 0) {
        t1 = position._pixels;
        t1.toString;
        t2 = position._minScrollExtent;
        t2.toString;
        t2 = t1 <= t2;
        t1 = t2;
      } else
        t1 = false;
      if (!t1)
        if (velocity >= 0) {
          t1 = position._pixels;
          t1.toString;
          t2 = position._maxScrollExtent;
          t2.toString;
          t2 = t1 >= t2;
          t1 = t2;
        } else
          t1 = false;
      else
        t1 = true;
      if (t1)
        return _this.super$ScrollPhysics$createBallisticSimulation(position, velocity);
      tolerance = _this.get$tolerance();
      page = _this._page_view$_getPage$1(position);
      t1 = tolerance.velocity;
      if (velocity < -t1)
        page -= 0.5;
      else if (velocity > t1)
        page += 0.5;
      target = _this._getPixels$2(position, B.JSNumber_methods.roundToDouble$0(page));
      t1 = position._pixels;
      t1.toString;
      if (target !== t1) {
        t1 = _this.get$spring();
        t2 = position._pixels;
        t2.toString;
        return new A.ScrollSpringSimulation(target, A._SpringSolution__SpringSolution(t1, t2 - target, velocity), tolerance);
      }
      return null;
    },
    get$allowImplicitScrolling() {
      return false;
    }
  };
  A.PageView.prototype = {
    createState$0() {
      return new A._PageViewState(B._StateLifecycle_0);
    }
  };
  A._PageViewState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._lastReportedPage = this._widget.controller.initialPage;
    },
    _getDirection$1(context) {
      var t1, axisDirection;
      this._widget.toString;
      switch (0) {
        case 0:
          t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
          t1.toString;
          axisDirection = A.textDirectionToAxisDirection(t1.textDirection);
          this._widget.toString;
          return axisDirection;
      }
    },
    build$1(context) {
      var t2, t3, t4, _this = this, _null = null,
        axisDirection = _this._getDirection$1(context),
        t1 = _this._widget.physics;
      t1 = new A.PageScrollPhysics(B.PageScrollPhysics_null.buildParent$1(t1));
      t1 = new A._ForceImplicitScrollPhysics(false, _null).buildParent$1(t1);
      t2 = _this._widget;
      t3 = t2.dragStartBehavior;
      t2 = t2.controller;
      t4 = A.ScrollConfiguration_of(context).copyWith$1$scrollbars(false);
      return new A.NotificationListener(new A._PageViewState_build_closure(_this), A.Scrollable$(axisDirection, t2, t3, false, new A._ForceImplicitScrollPhysics(false, t1), _null, t4, _null, new A._PageViewState_build_closure0(_this, axisDirection)), _null, type$.NotificationListener_ScrollNotification);
    }
  };
  A._PageViewState_build_closure.prototype = {
    call$1(notification) {
      if (notification.ViewportNotificationMixin__depth === 0)
        this.$this._widget.toString;
      return false;
    },
    $signature: 52
  };
  A._PageViewState_build_closure0.prototype = {
    call$2(context, position) {
      var t1 = this.$this._widget;
      return A.Viewport$(0, this.axisDirection, 0, B.CacheExtentStyle_1, null, t1.clipBehavior, position, A._setArrayType([new A.SliverFillViewport(t1.controller.viewportFraction, true, t1.childrenDelegate, null)], type$.JSArray_Widget));
    },
    $signature: 966
  };
  A.PageRoute.prototype = {
    get$opaque() {
      return true;
    },
    get$barrierDismissible() {
      return false;
    },
    canTransitionTo$1(nextRoute) {
      return nextRoute instanceof A.PageRoute;
    },
    canTransitionFrom$1(previousRoute) {
      return previousRoute instanceof A.PageRoute;
    },
    get$fullscreenDialog() {
      return this.fullscreenDialog;
    }
  };
  A.PerformanceOverlay.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderPerformanceOverlay(this.optionsMask, 0, false, false, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$optionsMask(this.optionsMask);
      renderObject.set$rasterizerThreshold(0);
    }
  };
  A._PlaceholderPainter.prototype = {
    paint$2(canvas, size) {
      var t1, t2, path, t3,
        paint = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      paint.set$color(0, this.color);
      paint.set$style(0, B.PaintingStyle_1);
      paint.set$strokeWidth(this.strokeWidth);
      t1 = 0 + size._dx;
      t2 = 0 + size._dy;
      path = A.Path_Path();
      path.addRect$1(new A.Rect(0, 0, t1, t2));
      t3 = type$.JSArray_Offset;
      path.addPolygon$2(A._setArrayType([new A.Offset(t1, 0), new A.Offset(0, t2)], t3), false);
      path.addPolygon$2(A._setArrayType([new A.Offset(0, 0), new A.Offset(t1, t2)], t3), false);
      canvas.drawPath$2(path, paint);
    },
    shouldRepaint$1(oldPainter) {
      return !oldPainter.color.$eq(0, this.color) || oldPainter.strokeWidth !== this.strokeWidth;
    },
    hitTest$1(position) {
      return false;
    }
  };
  A.Placeholder.prototype = {
    build$1(context) {
      var _null = null;
      return A.LimitedBox$(A.CustomPaint$(_null, _null, _null, new A._PlaceholderPainter(this.color, 2, _null), B.Size_wjo), 400, 400);
    }
  };
  A.MenuSerializableShortcut.prototype = {};
  A.PlatformMenuDelegate.prototype = {};
  A.DefaultPlatformMenuDelegate.prototype = {
    _methodCallHandler$1($call) {
      return this._methodCallHandler$body$DefaultPlatformMenuDelegate($call);
    },
    _methodCallHandler$body$DefaultPlatformMenuDelegate($call) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t2, id, t1;
      var $async$_methodCallHandler$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
              id = A._asInt($call.$arguments);
              t1 = $async$self._idMap;
              if (!t1.containsKey$1(0, id)) {
                // goto return
                $async$goto = 1;
                break;
              }
              t1 = t1.$index(0, id);
              t1.toString;
              t2 = $call.method;
              if (t2 === "Menu.selectedCallback") {
                t1.get$onSelected().call$0();
                t1.get$onSelectedIntent();
                t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._context;
                t2.toString;
                A.Actions_maybeInvoke(t2, t1.get$onSelectedIntent(), type$.Intent);
              } else if (t2 === "Menu.opened")
                t1.get$onOpen(t1).call$0();
              else if (t2 === "Menu.closed")
                t1.get$onClose(t1).call$0();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_methodCallHandler$1, $async$completer);
    }
  };
  A.PreferredSize.prototype = {
    build$1(context) {
      return this.child;
    },
    $isPreferredSizeWidget: 1,
    get$preferredSize() {
      return this.preferredSize;
    }
  };
  A.PrimaryScrollController.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.controller != oldWidget.controller;
    }
  };
  A.RawKeyboardListener.prototype = {
    createState$0() {
      return new A._RawKeyboardListenerState(B._StateLifecycle_0);
    }
  };
  A._RawKeyboardListenerState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._widget.focusNode.addListener$1(0, this.get$_raw_keyboard_listener$_handleFocusChanged());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.focusNode;
      if (_this._widget.focusNode !== t1) {
        t2 = _this.get$_raw_keyboard_listener$_handleFocusChanged();
        t1.removeListener$1(0, t2);
        _this._widget.focusNode.addListener$1(0, t2);
      }
    },
    dispose$0() {
      var _this = this;
      _this._widget.focusNode.removeListener$1(0, _this.get$_raw_keyboard_listener$_handleFocusChanged());
      _this._detachKeyboardIfAttached$0();
      _this.super$State$dispose();
    },
    _raw_keyboard_listener$_handleFocusChanged$0() {
      if (this._widget.focusNode.get$hasFocus())
        this._attachKeyboardIfDetached$0();
      else
        this._detachKeyboardIfAttached$0();
    },
    _attachKeyboardIfDetached$0() {
      if (this._listening)
        return;
      $.$get$RawKeyboard_instance()._raw_keyboard$_listeners.push(this.get$_handleRawKeyEvent());
      this._listening = true;
    },
    _detachKeyboardIfAttached$0() {
      if (!this._listening)
        return;
      B.JSArray_methods.remove$1($.$get$RawKeyboard_instance()._raw_keyboard$_listeners, this.get$_handleRawKeyEvent());
      this._listening = false;
    },
    _handleRawKeyEvent$1($event) {
      var t1 = this._widget.onKey;
      if (t1 != null)
        t1.call$1($event);
    },
    build$1(context) {
      var _null = null,
        t1 = this._widget,
        t2 = t1.focusNode;
      return A.Focus$(t1.autofocus, _null, t1.child, _null, _null, _null, t2, true, _null, _null, _null, _null, _null);
    }
  };
  A.RestorationScope.prototype = {
    createState$0() {
      return new A._RestorationScopeState(null, A.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), null, true, null, B._StateLifecycle_0);
    }
  };
  A._RestorationScopeState.prototype = {
    get$restorationId() {
      return this._widget.restorationId;
    },
    restoreState$2(oldBucket, initialRestore) {
    },
    build$1(context) {
      return A.UnmanagedRestorationScope$(this.RestorationMixin__bucket, this._widget.child);
    }
  };
  A.UnmanagedRestorationScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      return oldWidget.bucket != this.bucket;
    }
  };
  A.RootRestorationScope.prototype = {
    createState$0() {
      return new A._RootRestorationScopeState(B._StateLifecycle_0);
    }
  };
  A._RootRestorationScopeState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._ancestorBucket = A.RestorationScope_of(t1);
      _this._loadRootBucketIfNecessary$0();
      if (_this._okToRenderBlankContainer == null) {
        _this._widget.toString;
        _this._okToRenderBlankContainer = false;
      }
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._loadRootBucketIfNecessary$0();
    },
    get$_isWaitingForRootBucket() {
      this._widget.toString;
      return false;
    },
    _loadRootBucketIfNecessary$0() {
      var t1, _this = this;
      if (_this.get$_isWaitingForRootBucket() && !_this._isLoadingRootBucket) {
        _this._isLoadingRootBucket = true;
        ++$.RendererBinding__instance.RendererBinding__firstFrameDeferredCount;
        t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__restorationManager;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.get$rootBucket().then$1$1(new A._RootRestorationScopeState__loadRootBucketIfNecessary_closure(_this), type$.Null);
      }
    },
    _replaceRootBucket$0() {
      var t1, _this = this;
      _this._rootBucketValid = false;
      _this._restoration0$_rootBucket = null;
      t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__restorationManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.removeListener$1(0, _this.get$_replaceRootBucket());
      _this._loadRootBucketIfNecessary$0();
    },
    dispose$0() {
      if (this._rootBucketValid) {
        var t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__restorationManager;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.removeListener$1(0, this.get$_replaceRootBucket());
      }
      this.super$State$dispose();
    },
    build$1(context) {
      var t2, t3, _this = this,
        t1 = _this._okToRenderBlankContainer;
      t1.toString;
      if (t1 && _this.get$_isWaitingForRootBucket())
        return B.SizedBox_0_0_null_null;
      t1 = _this._ancestorBucket;
      if (t1 == null)
        t1 = _this._restoration0$_rootBucket;
      t2 = _this._widget;
      t3 = t2.restorationId;
      return A.UnmanagedRestorationScope$(t1, new A.RestorationScope(t2.child, t3, null));
    }
  };
  A._RootRestorationScopeState__loadRootBucketIfNecessary_closure.prototype = {
    call$1(bucket) {
      var t2,
        t1 = this.$this;
      t1._isLoadingRootBucket = false;
      if (t1._framework$_element != null) {
        t2 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__restorationManager;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.addListener$1(0, t1.get$_replaceRootBucket());
        t1.setState$1(new A._RootRestorationScopeState__loadRootBucketIfNecessary__closure(t1, bucket));
      }
      $.RendererBinding__instance.allowFirstFrame$0();
    },
    $signature: 967
  };
  A._RootRestorationScopeState__loadRootBucketIfNecessary__closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._restoration0$_rootBucket = this.bucket;
      t1._rootBucketValid = true;
      t1._okToRenderBlankContainer = false;
    },
    $signature: 0
  };
  A.RestorableProperty.prototype = {
    get$enabled(_) {
      return true;
    },
    dispose$0() {
      var _this = this,
        t1 = _this._restoration0$_owner;
      if (t1 != null)
        t1._unregister$1(_this);
      _this.super$ChangeNotifier$dispose();
      _this._restoration0$_disposed = true;
    }
  };
  A.RestorationMixin.prototype = {
    didToggleBucket$1(oldBucket) {
    },
    registerForRestoration$2(property, restorationId) {
      var hasSerializedValue, initialValue, _this = this,
        t1 = _this.RestorationMixin__bucket;
      t1 = t1 == null ? null : J.containsKey$1$x(t1.get$_rawValues(), restorationId);
      hasSerializedValue = t1 === true;
      initialValue = hasSerializedValue ? property.fromPrimitives$1(J.$index$asx(_this.RestorationMixin__bucket.get$_rawValues(), restorationId)) : property.createDefaultValue$0();
      if (property._restoration0$_restorationId == null) {
        property._restoration0$_restorationId = restorationId;
        property._restoration0$_owner = _this;
        t1 = new A.RestorationMixin_registerForRestoration_listener(_this, property);
        property.addListener$1(0, t1);
        _this.RestorationMixin__properties.$indexSet(0, property, t1);
      }
      property.initWithValue$1(initialValue);
      if (!hasSerializedValue && property.get$enabled(property) && _this.RestorationMixin__bucket != null)
        _this._updateProperty$1(property);
    },
    didUpdateRestorationId$0() {
      var t1, oldBucket, _this = this;
      if (_this.RestorationMixin__currentParent != null) {
        t1 = _this.RestorationMixin__bucket;
        t1 = t1 == null ? null : t1._restorationId;
        t1 = t1 == _this.get$restorationId() || _this.get$restorePending();
      } else
        t1 = true;
      if (t1)
        return;
      oldBucket = _this.RestorationMixin__bucket;
      if (_this._updateBucketIfNecessary$2$parent$restorePending(_this.RestorationMixin__currentParent, false))
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    get$restorePending() {
      var t1, potentialNewParent, _this = this;
      if (_this.RestorationMixin__firstRestorePending)
        return true;
      if (_this.get$restorationId() == null)
        return false;
      t1 = _this._framework$_element;
      t1.toString;
      potentialNewParent = A.RestorationScope_of(t1);
      if (potentialNewParent != _this.RestorationMixin__currentParent) {
        if (potentialNewParent == null)
          t1 = null;
        else {
          t1 = potentialNewParent._restoration$_manager;
          t1 = t1 == null ? null : t1._isReplacing;
          t1 = t1 === true;
        }
        t1 = t1 === true;
      } else
        t1 = false;
      return t1;
    },
    _updateBucketIfNecessary$2$parent$restorePending($parent, restorePending) {
      var t1, t2, _this = this;
      if (_this.get$restorationId() == null || $parent == null)
        return _this._setNewBucketIfNecessary$2$newBucket$restorePending(null, restorePending);
      if (restorePending || _this.RestorationMixin__bucket == null) {
        t1 = _this.get$restorationId();
        t1.toString;
        return _this._setNewBucketIfNecessary$2$newBucket$restorePending($parent.claimChild$2$debugOwner(t1, _this), restorePending);
      }
      t1 = _this.RestorationMixin__bucket;
      t1.toString;
      t2 = _this.get$restorationId();
      t2.toString;
      t1.rename$1(t2);
      t2 = _this.RestorationMixin__bucket;
      t2.toString;
      $parent.adoptChild$1(t2);
      return false;
    },
    _setNewBucketIfNecessary$2$newBucket$restorePending(newBucket, restorePending) {
      var t2, _this = this,
        t1 = _this.RestorationMixin__bucket;
      if (newBucket == t1)
        return false;
      _this.RestorationMixin__bucket = newBucket;
      if (!restorePending) {
        if (newBucket != null) {
          t2 = _this.RestorationMixin__properties;
          new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>")).forEach$1(0, _this.get$_updateProperty());
        }
        _this.didToggleBucket$1(t1);
      }
      return true;
    },
    _updateProperty$1(property) {
      var t3,
        t1 = property.get$enabled(property),
        t2 = this.RestorationMixin__bucket;
      if (t1) {
        if (t2 != null) {
          t1 = property._restoration0$_restorationId;
          t1.toString;
          t3 = property.toPrimitives$0();
          if (!J.$eq$(J.$index$asx(t2.get$_rawValues(), t1), t3) || !J.containsKey$1$x(t2.get$_rawValues(), t1)) {
            J.$indexSet$ax(t2.get$_rawValues(), t1, t3);
            t2._markNeedsSerialization$0();
          }
        }
      } else if (t2 != null) {
        t1 = property._restoration0$_restorationId;
        t1.toString;
        t2.remove$1$1(0, t1, type$.Object);
      }
    },
    _unregister$1(property) {
      var t1 = this.RestorationMixin__properties.remove$1(0, property);
      t1.toString;
      property.removeListener$1(0, t1);
      property._restoration0$_owner = property._restoration0$_restorationId = null;
    }
  };
  A.RestorationMixin_registerForRestoration_listener.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1.RestorationMixin__bucket == null)
        return;
      t1._updateProperty$1(this.property);
    },
    $signature: 0
  };
  A.__RestorationScopeState_State_RestorationMixin_dispose_closure.prototype = {
    call$2(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 78
  };
  A.__RestorationScopeState_State_RestorationMixin.prototype = {
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$State$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.RestorationScope_of(t1);
      _this.RestorationMixin__currentParent = t1;
      didReplaceBucket = _this._updateBucketIfNecessary$2$parent$restorePending(t1, needsRestore);
      if (needsRestore) {
        _this.restoreState$2(oldBucket, _this.RestorationMixin__firstRestorePending);
        _this.RestorationMixin__firstRestorePending = false;
      }
      if (didReplaceBucket)
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    dispose$0() {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new A.__RestorationScopeState_State_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0();
      _this.RestorationMixin__bucket = null;
      _this.super$State$dispose();
    }
  };
  A.RestorableValue.prototype = {
    set$value(_, newValue) {
      var t1 = this._restoration_properties$_value;
      if (newValue == null ? t1 != null : newValue !== t1) {
        this._restoration_properties$_value = newValue;
        this.didUpdateValue$1(t1);
      }
    },
    initWithValue$1(value) {
      this._restoration_properties$_value = value;
    }
  };
  A._RestorablePrimitiveValueN.prototype = {
    createDefaultValue$0() {
      return this._defaultValue;
    },
    didUpdateValue$1(oldValue) {
      this.notifyListeners$0();
    },
    fromPrimitives$1(serialized) {
      return A._instanceType(this)._eval$1("_RestorablePrimitiveValueN.T")._as(serialized);
    },
    toPrimitives$0() {
      var t1 = this._restoration_properties$_value;
      return t1 == null ? A._instanceType(this)._eval$1("RestorableValue.T")._as(t1) : t1;
    }
  };
  A._RestorablePrimitiveValue.prototype = {
    fromPrimitives$1(serialized) {
      return this.super$_RestorablePrimitiveValueN$fromPrimitives(serialized);
    },
    toPrimitives$0() {
      var t1 = this.super$_RestorablePrimitiveValueN$toPrimitives();
      t1.toString;
      return t1;
    }
  };
  A.RestorableNum.prototype = {};
  A.RestorableBool.prototype = {};
  A.RestorableListenable.prototype = {
    initWithValue$1(value) {
      var _this = this,
        t1 = _this._restoration_properties$_value;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$notifyListeners());
      _this._restoration_properties$_value = value;
      value.toString;
      J.addListener$1$x(value, _this.get$notifyListeners());
    },
    dispose$0() {
      this.super$RestorableProperty$dispose();
      var t1 = this._restoration_properties$_value;
      if (t1 != null)
        t1.removeListener$1(0, this.get$notifyListeners());
    }
  };
  A.RestorableChangeNotifier.prototype = {
    initWithValue$1(value) {
      this._disposeOldValue$0();
      this.super$RestorableListenable$initWithValue(value);
    },
    dispose$0() {
      this._disposeOldValue$0();
      this.super$RestorableListenable$dispose();
    },
    _disposeOldValue$0() {
      var t1 = this._restoration_properties$_value;
      if (t1 != null)
        A.scheduleMicrotask(t1.get$dispose());
    }
  };
  A.RestorableTextEditingController.prototype = {
    createDefaultValue$0() {
      return new A.TextEditingController(this._initialValue, $.$get$ChangeNotifier__emptyListeners());
    },
    fromPrimitives$1(data) {
      data.toString;
      A._asString(data);
      return new A.TextEditingController(new A.TextEditingValue(data, B.TextSelection_ke5, B.TextRange_m1_m1), $.$get$ChangeNotifier__emptyListeners());
    },
    toPrimitives$0() {
      return this._restoration_properties$_value._change_notifier$_value.text;
    }
  };
  A.__RouterState_State_RestorationMixin_dispose_closure.prototype = {
    call$2(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 78
  };
  A.RouteInformation.prototype = {
    get$location(receiver) {
      return this.location;
    }
  };
  A.Router.prototype = {
    createState$0() {
      return new A._RouterState(new A._RestorableRouteInformation($.$get$ChangeNotifier__emptyListeners()), null, A.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), null, true, null, B._StateLifecycle_0, this.$ti._eval$1("_RouterState<1>"));
    }
  };
  A.RouteInformationReportingType.prototype = {
    toString$0(_) {
      return "RouteInformationReportingType." + this._core$_name;
    }
  };
  A._RouterState.prototype = {
    get$restorationId() {
      return this._widget.restorationScopeId;
    },
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.routeInformationProvider;
      if (t1 != null)
        t1.addListener$1(0, _this.get$_handleRouteInformationProviderNotification());
      _this._widget.backButtonDispatcher.addCallback$1(_this.get$_handleBackButtonDispatcherNotification());
      _this._widget.routerDelegate.addListener$1(0, _this.get$_handleRouterDelegateNotification());
    },
    restoreState$2(oldBucket, initialRestore) {
      var t2, t3, _this = this,
        t1 = _this._routeInformation;
      _this.registerForRestoration$2(t1, "route");
      t2 = t1._restoration_properties$_value;
      t3 = t2 == null;
      if ((t3 ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2) != null) {
        t1 = t3 ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2;
        t1.toString;
        _this._processRouteInformation$2(t1, new A._RouterState_restoreState_closure(_this));
      } else {
        t1 = _this._widget.routeInformationProvider;
        if (t1 != null)
          _this._processRouteInformation$2(t1._router$_value, new A._RouterState_restoreState_closure0(_this));
      }
    },
    _scheduleRouteInformationReportingTask$0() {
      var _this = this;
      if (_this._routeInformationReportingTaskScheduled || _this._widget.routeInformationProvider == null)
        return;
      _this._routeInformationReportingTaskScheduled = true;
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(_this.get$_reportRouteInformation());
    },
    _reportRouteInformation$1(timestamp) {
      var t1, t2, t3, replace, _this = this;
      _this._routeInformationReportingTaskScheduled = false;
      t1 = _this._routeInformation;
      t2 = t1._restoration_properties$_value;
      t3 = t2 == null;
      if ((t3 ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2) != null) {
        t1 = t3 ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2;
        t1.toString;
        t2 = _this._widget.routeInformationProvider;
        t2.toString;
        t3 = _this._currentIntentionToReport;
        t3.toString;
        if (t3 !== B.RouteInformationReportingType_1)
          replace = t3 === B.RouteInformationReportingType_0 && t2._valueInEngine.location == t1.location;
        else
          replace = true;
        B.OptionalMethodChannel_urv.invokeMethod$1$1("selectMultiEntryHistory", type$.void);
        t3 = t1.location;
        t3.toString;
        A.SystemNavigator_routeInformationUpdated(t3, replace, t1.state);
        t2._valueInEngine = t2._router$_value = t1;
      }
      _this._currentIntentionToReport = B.RouteInformationReportingType_0;
    },
    _retrieveNewRouteInformation$0() {
      var t2,
        t1 = this._widget.routerDelegate.routes;
      t1 = t1._head === t1._tail ? null : t1.get$last(t1);
      if (t1 == null)
        return null;
      t2 = this._widget.routeInformationParser;
      return t2 == null ? null : t2.restoreRouteInformation$1(t1);
    },
    _maybeNeedToReportRouteInformation$0() {
      var _this = this;
      _this._routeInformation.set$value(0, _this._retrieveNewRouteInformation$0());
      if (_this._currentIntentionToReport == null)
        _this._currentIntentionToReport = B.RouteInformationReportingType_0;
      _this._scheduleRouteInformationReportingTask$0();
    },
    didChangeDependencies$0() {
      var t1, t2, _this = this;
      _this.___RouterState__routeParsePending = true;
      _this.super$__RouterState_State_RestorationMixin$didChangeDependencies();
      t1 = _this._widget.routeInformationProvider;
      if (t1 != null) {
        t2 = _this.___RouterState__routeParsePending;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
      } else
        t2 = false;
      if (t2)
        _this._processRouteInformation$2(t1._router$_value, new A._RouterState_didChangeDependencies_closure(_this));
      _this.___RouterState__routeParsePending = false;
      _this._maybeNeedToReportRouteInformation$0();
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, _this = this;
      _this.super$__RouterState_State_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = oldWidget.routeInformationProvider;
      t3 = t1.routeInformationProvider == t2;
      if (!t3 || t1.backButtonDispatcher !== oldWidget.backButtonDispatcher || t1.routeInformationParser != oldWidget.routeInformationParser || t1.routerDelegate !== oldWidget.routerDelegate)
        _this._currentRouterTransaction = new A.Object();
      if (!t3) {
        t1 = t2 == null;
        if (!t1)
          t2.removeListener$1(0, _this.get$_handleRouteInformationProviderNotification());
        t3 = _this._widget.routeInformationProvider;
        if (t3 != null)
          t3.addListener$1(0, _this.get$_handleRouteInformationProviderNotification());
        t1 = t1 ? null : t2._router$_value;
        t2 = _this._widget.routeInformationProvider;
        if (t1 != (t2 == null ? null : t2._router$_value))
          _this._handleRouteInformationProviderNotification$0();
      }
      t1 = oldWidget.backButtonDispatcher;
      if (_this._widget.backButtonDispatcher !== t1) {
        t2 = _this.get$_handleBackButtonDispatcherNotification();
        t1.removeCallback$1(t2);
        _this._widget.backButtonDispatcher.addCallback$1(t2);
      }
      t1 = oldWidget.routerDelegate;
      if (_this._widget.routerDelegate !== t1) {
        t2 = _this.get$_handleRouterDelegateNotification();
        t1.removeListener$1(0, t2);
        _this._widget.routerDelegate.addListener$1(0, t2);
        _this._maybeNeedToReportRouteInformation$0();
      }
    },
    dispose$0() {
      var _this = this,
        t1 = _this._widget.routeInformationProvider;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_handleRouteInformationProviderNotification());
      _this._widget.backButtonDispatcher.removeCallback$1(_this.get$_handleBackButtonDispatcherNotification());
      _this._widget.routerDelegate.removeListener$1(0, _this.get$_handleRouterDelegateNotification());
      _this._currentRouterTransaction = null;
      _this.super$__RouterState_State_RestorationMixin$dispose();
    },
    _processRouteInformation$2(information, delegateRouteSetter) {
      var t1, uri, path, _this = this;
      _this.___RouterState__routeParsePending = false;
      _this._currentRouterTransaction = new A.Object();
      _this._widget.routeInformationParser.toString;
      _this._framework$_element.toString;
      t1 = information.location;
      t1.toString;
      uri = A.Uri_parse(t1, 0, null);
      if (uri.get$queryParameters().$index(0, "uri") == null)
        $.globals.$index(0, B.Type_ServiceConnectionManager_qdG).vmServiceClosed$1$connectionState(B.ConnectedState_false_true);
      path = uri.get$path(uri).length !== 0 ? B.JSString_methods.substring$1(uri.get$path(uri), 1) : "";
      new A.SynchronousFuture(new A.DevToolsRouteConfiguration(path, uri.get$queryParameters()), type$.SynchronousFuture_DevToolsRouteConfiguration).then$1$1(_this._processParsedRouteInformation$2(_this._currentRouterTransaction, delegateRouteSetter), type$.void);
    },
    _processParsedRouteInformation$2(transaction, delegateRouteSetter) {
      return new A._RouterState__processParsedRouteInformation_closure(this, transaction, delegateRouteSetter);
    },
    _handleRouteInformationProviderNotification$0() {
      var _this = this;
      _this.___RouterState__routeParsePending = true;
      _this._processRouteInformation$2(_this._widget.routeInformationProvider._router$_value, new A._RouterState__handleRouteInformationProviderNotification_closure(_this));
    },
    _handleBackButtonDispatcherNotification$0() {
      var _this = this;
      _this._currentRouterTransaction = new A.Object();
      return _this._widget.routerDelegate.popRoute$0().then$1$1(_this._handleRoutePopped$1(_this._currentRouterTransaction), type$.bool);
    },
    _handleRoutePopped$1(transaction) {
      return new A._RouterState__handleRoutePopped_closure(this, transaction);
    },
    _router$_rebuild$0() {
      this.setState$1(new A._RouterState__rebuild_closure());
      this._maybeNeedToReportRouteInformation$0();
      return new A.SynchronousFuture(null, type$.SynchronousFuture_void);
    },
    _handleRouterDelegateNotification$0() {
      this.setState$1(new A._RouterState__handleRouterDelegateNotification_closure());
      this._maybeNeedToReportRouteInformation$0();
    },
    build$1(context) {
      var t1 = this.RestorationMixin__bucket,
        t2 = this._widget,
        t3 = t2.routeInformationProvider,
        t4 = t2.backButtonDispatcher,
        t5 = t2.routeInformationParser;
      t2 = t2.routerDelegate;
      return A.UnmanagedRestorationScope$(t1, new A._RouterScope(t3, t4, t5, t2, this, new A.Builder(t2.get$build(), null), null));
    }
  };
  A._RouterState_restoreState_closure.prototype = {
    call$0() {
      return this.$this._widget.routerDelegate.get$setRestoredRoutePath();
    },
    $signature() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  A._RouterState_restoreState_closure0.prototype = {
    call$0() {
      return this.$this._widget.routerDelegate.get$setInitialRoutePath();
    },
    $signature() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  A._RouterState_didChangeDependencies_closure.prototype = {
    call$0() {
      return this.$this._widget.routerDelegate.get$setNewRoutePath();
    },
    $signature() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  A._RouterState__processParsedRouteInformation_closure.prototype = {
    call$1(data) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t1, t2;
      var $async$call$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.$this;
              t2 = $async$self.transaction;
              if (t1._currentRouterTransaction != t2) {
                // goto return
                $async$goto = 1;
                break;
              }
              $async$goto = 3;
              return A._asyncAwait($async$self.delegateRouteSetter.call$0().call$1(data), $async$call$1);
            case 3:
              // returning from await.
              if (t1._currentRouterTransaction == t2)
                t1._router$_rebuild$0();
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature() {
      return this.$this.$ti._eval$1("Future<~>(1)");
    }
  };
  A._RouterState__handleRouteInformationProviderNotification_closure.prototype = {
    call$0() {
      return this.$this._widget.routerDelegate.get$setNewRoutePath();
    },
    $signature() {
      return this.$this.$ti._eval$1("Future<~>(1)()");
    }
  };
  A._RouterState__handleRoutePopped_closure.prototype = {
    call$1(data) {
      var t1 = this.$this;
      if (this.transaction != t1._currentRouterTransaction)
        return new A.SynchronousFuture(true, type$.SynchronousFuture_bool);
      t1._router$_rebuild$0();
      return new A.SynchronousFuture(data, type$.SynchronousFuture_bool);
    },
    $signature: 969
  };
  A._RouterState__rebuild_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._RouterState__handleRouterDelegateNotification_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A._RouterScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      var _this = this;
      return _this.routeInformationProvider != oldWidget.routeInformationProvider || _this.backButtonDispatcher !== oldWidget.backButtonDispatcher || _this.routeInformationParser != oldWidget.routeInformationParser || _this.routerDelegate !== oldWidget.routerDelegate || _this.routerState !== oldWidget.routerState;
    }
  };
  A._CallbackHookProvider.prototype = {
    get$hasCallbacks() {
      return this._router$_callbacks._list.length !== 0;
    },
    addCallback$1(callback) {
      var t1 = this._router$_callbacks;
      t1._isDirty = true;
      t1._list.push(callback);
      return null;
    },
    removeCallback$1(callback) {
      return this._router$_callbacks.remove$1(0, callback);
    },
    invokeCallback$1(defaultValue) {
      var exception, stack, exception0,
        t1 = this._router$_callbacks;
      if (t1._list.length === 0)
        return defaultValue;
      try {
        t1 = t1.single$0(0);
        return t1;
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("while invoking the callback for " + A.getRuntimeType(this).toString$0(0));
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "widget library", t1, new A._CallbackHookProvider_invokeCallback_closure(this), false));
        return defaultValue;
      }
    }
  };
  A._CallbackHookProvider_invokeCallback_closure.prototype = {
    call$0() {
      var _null = null,
        t1 = this.$this;
      return A._setArrayType([A.DiagnosticsProperty$("The " + A.getRuntimeType(t1).toString$0(0) + " that invoked the callback was", t1, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, A._instanceType(t1)._eval$1("_CallbackHookProvider<_CallbackHookProvider.T>"))], type$.JSArray_DiagnosticsNode);
    },
    $signature: 36
  };
  A.BackButtonDispatcher.prototype = {
    get$_router$_children(_) {
      var result,
        value = this.__BackButtonDispatcher__children;
      if (value === $) {
        result = type$.LinkedHashSet_ChildBackButtonDispatcher._as(A.LinkedHashSet_LinkedHashSet$_empty(type$.ChildBackButtonDispatcher));
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        this.__BackButtonDispatcher__children = result;
        value = result;
      }
      return value;
    },
    invokeCallback$1(defaultValue) {
      var t2, children, childIndex, _this = this, t1 = {};
      if (_this.get$_router$_children(_this)._collection$_length !== 0) {
        t2 = _this.get$_router$_children(_this);
        children = A.List_List$of(t2, true, A._instanceType(t2)._eval$1("SetMixin.E"));
        childIndex = children.length - 1;
        t1.childIndex = childIndex;
        return children[childIndex].notifiedByParent$1(defaultValue).then$1$1(new A.BackButtonDispatcher_invokeCallback_notifyNextChild(t1, _this, children, defaultValue), type$.bool);
      }
      return _this.super$_CallbackHookProvider$invokeCallback(defaultValue);
    }
  };
  A.BackButtonDispatcher_invokeCallback_notifyNextChild.prototype = {
    call$1(result) {
      var t1, t2, childIndex, _this = this;
      if (result)
        return new A.SynchronousFuture(true, type$.SynchronousFuture_bool);
      t1 = _this._box_0;
      t2 = t1.childIndex;
      if (t2 > 0) {
        childIndex = t2 - 1;
        t1.childIndex = childIndex;
        return _this.children[childIndex].notifiedByParent$1(_this.defaultValue).then$1$1(_this, type$.bool);
      }
      return _this.$this.super$_CallbackHookProvider$invokeCallback(_this.defaultValue);
    },
    $signature: 970
  };
  A.RootBackButtonDispatcher.prototype = {
    addCallback$1(callback) {
      var _this = this;
      if (!(A._CallbackHookProvider.prototype.get$hasCallbacks.call(_this) || _this.get$_router$_children(_this)._collection$_length !== 0))
        $.WidgetsBinding__instance.WidgetsBinding__observers.push(_this);
      _this.super$_CallbackHookProvider$addCallback(callback);
    },
    removeCallback$1(callback) {
      var _this = this;
      _this.super$_CallbackHookProvider$removeCallback(callback);
      if (!(A._CallbackHookProvider.prototype.get$hasCallbacks.call(_this) || _this.get$_router$_children(_this)._collection$_length !== 0))
        B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, _this);
    },
    didPopRoute$0() {
      return this.invokeCallback$1(A.Future_Future$value(false, type$.bool));
    }
  };
  A.RouteInformationParser.prototype = {};
  A.RouterDelegate.prototype = {
    setInitialRoutePath$1(configuration) {
      this._replaceStack$1(configuration);
      return new A.SynchronousFuture(null, type$.SynchronousFuture_void);
    },
    setRestoredRoutePath$1(configuration) {
      this._replaceStack$1(configuration);
      return new A.SynchronousFuture(null, type$.SynchronousFuture_void);
    }
  };
  A.RouteInformationProvider.prototype = {};
  A.PlatformRouteInformationProvider.prototype = {
    get$value(_) {
      return this._router$_value;
    },
    _platformReportsNewRouteInformation$1(routeInformation) {
      var _this = this;
      if (_this._router$_value === routeInformation)
        return;
      _this._valueInEngine = _this._router$_value = routeInformation;
      _this.notifyListeners$0();
    },
    addListener$1(_, listener) {
      if (this.ChangeNotifier__count <= 0)
        $.WidgetsBinding__instance.WidgetsBinding__observers.push(this);
      this.super$ChangeNotifier$addListener(0, listener);
    },
    removeListener$1(_, listener) {
      this.super$ChangeNotifier$removeListener(0, listener);
      if (this.ChangeNotifier__count <= 0)
        B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
    },
    dispose$0() {
      if (this.ChangeNotifier__count > 0)
        B.JSArray_methods.remove$1($.WidgetsBinding__instance.WidgetsBinding__observers, this);
      this.super$ChangeNotifier$dispose();
    },
    didPushRouteInformation$1(routeInformation) {
      return this.didPushRouteInformation$body$PlatformRouteInformationProvider(routeInformation);
    },
    didPushRouteInformation$body$PlatformRouteInformationProvider(routeInformation) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$didPushRouteInformation$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._platformReportsNewRouteInformation$1(routeInformation);
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$didPushRouteInformation$1, $async$completer);
    },
    didPushRoute$1(route) {
      return this.didPushRoute$body$PlatformRouteInformationProvider(route);
    },
    didPushRoute$body$PlatformRouteInformationProvider(route) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.bool),
        $async$returnValue, $async$self = this;
      var $async$didPushRoute$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._platformReportsNewRouteInformation$1(new A.RouteInformation(route, null));
              $async$returnValue = true;
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$didPushRoute$1, $async$completer);
    }
  };
  A.PopNavigatorRouterDelegateMixin.prototype = {
    popRoute$0() {
      var $navigator = this.navigatorKey.get$currentState();
      if ($navigator == null)
        return new A.SynchronousFuture(false, type$.SynchronousFuture_bool);
      return $navigator.maybePop$0();
    }
  };
  A._RestorableRouteInformation.prototype = {
    createDefaultValue$0() {
      return null;
    },
    didUpdateValue$1(oldValue) {
      this.notifyListeners$0();
    },
    fromPrimitives$1(data) {
      var t1;
      if (data == null)
        return null;
      type$.List_nullable_Object._as(data);
      t1 = J.getInterceptor$ax(data);
      return new A.RouteInformation(A._asStringQ(t1.get$first(data)), t1.get$last(data));
    },
    toPrimitives$0() {
      var t3, _this = this,
        t1 = _this._restoration_properties$_value,
        t2 = t1 == null;
      if ((t2 ? A._instanceType(_this)._eval$1("RestorableValue.T")._as(t1) : t1) == null)
        t1 = null;
      else {
        t3 = (t2 ? A._instanceType(_this)._eval$1("RestorableValue.T")._as(t1) : t1).location;
        t1 = [t3, (t2 ? A._instanceType(_this)._eval$1("RestorableValue.T")._as(t1) : t1).state];
      }
      return t1;
    }
  };
  A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver.prototype = {};
  A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier.prototype = {};
  A._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver.prototype = {};
  A.__RouterState_State_RestorationMixin.prototype = {
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$State$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.RestorationScope_of(t1);
      _this.RestorationMixin__currentParent = t1;
      didReplaceBucket = _this._updateBucketIfNecessary$2$parent$restorePending(t1, needsRestore);
      if (needsRestore) {
        _this.restoreState$2(oldBucket, _this.RestorationMixin__firstRestorePending);
        _this.RestorationMixin__firstRestorePending = false;
      }
      if (didReplaceBucket)
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    dispose$0() {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new A.__RouterState_State_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0();
      _this.RestorationMixin__bucket = null;
      _this.super$State$dispose();
    }
  };
  A.OverlayRoute.prototype = {
    get$overlayEntries() {
      return this._overlayEntries;
    },
    install$0() {
      var t2, _this = this,
        t1 = A.OverlayEntry$(_this.get$_buildModalBarrier(), false, false);
      _this.__ModalRoute__modalBarrier = t1;
      _this.get$maintainState();
      t2 = A.OverlayEntry$(_this.get$_buildModalScope(), true, false);
      _this.__ModalRoute__modalScope = t2;
      B.JSArray_methods.addAll$1(_this._overlayEntries, A._setArrayType([t1, t2], type$.JSArray_OverlayEntry));
      _this.super$Route$install();
    },
    didPop$1(result) {
      var t1, _this = this;
      _this.super$Route$didPop(result);
      t1 = _this._routes$_controller.__AnimationController__status;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 === B.AnimationStatus_0 && !_this._popFinalized)
        _this._navigator$_navigator.finalizeRoute$1(_this);
      return true;
    },
    dispose$0() {
      B.JSArray_methods.clear$0(this._overlayEntries);
      this.super$Route$dispose();
    }
  };
  A.TransitionRoute.prototype = {
    get$animation(_) {
      return this._animation;
    },
    get$secondaryAnimation() {
      return this._secondaryAnimation;
    },
    createAnimation$0() {
      var t1 = this._routes$_controller;
      t1.toString;
      return t1;
    },
    _handleStatusChanged$1($status) {
      var t1, _this = this;
      switch ($status.index) {
        case 3:
          t1 = _this._overlayEntries;
          if (t1.length !== 0)
            B.JSArray_methods.get$first(t1).set$opaque(_this.get$opaque());
          break;
        case 1:
        case 2:
          t1 = _this._overlayEntries;
          if (t1.length !== 0)
            B.JSArray_methods.get$first(t1).set$opaque(false);
          break;
        case 0:
          if (!_this.get$isActive()) {
            _this._navigator$_navigator.finalizeRoute$1(_this);
            _this._popFinalized = true;
          }
          break;
      }
    },
    install$0() {
      var _this = this,
        duration = _this.get$transitionDuration(_this),
        reverseDuration = _this.get$transitionDuration(_this),
        t1 = _this.get$debugLabel(),
        t2 = _this._navigator$_navigator;
      t2.toString;
      _this._routes$_controller = A.AnimationController$(t1, duration, 0, reverseDuration, 1, null, t2);
      t2 = _this.createAnimation$0();
      t2.addStatusListener$1(_this.get$_handleStatusChanged());
      _this._animation = t2;
      _this.super$OverlayRoute$install();
      t1 = _this._animation;
      if (t1.get$status(t1) === B.AnimationStatus_3 && _this._overlayEntries.length !== 0)
        B.JSArray_methods.get$first(_this._overlayEntries).set$opaque(_this.get$opaque());
    },
    didPush$0() {
      this.super$Route$didPush();
      return this._routes$_controller.forward$0(0);
    },
    didAdd$0() {
      this.super$Route$didAdd();
      var t1 = this._routes$_controller;
      t1.set$value(0, t1.upperBound);
    },
    didReplace$1(oldRoute) {
      var t1, t2;
      if (oldRoute instanceof A.TransitionRoute) {
        t1 = this._routes$_controller;
        t1.toString;
        t2 = oldRoute._routes$_controller.__AnimationController__value;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t1.set$value(0, t2);
      }
      this.super$Route$didReplace(oldRoute);
    },
    didPop$1(result) {
      this._result = result;
      this._routes$_controller.reverse$0(0);
      this.super$OverlayRoute$didPop(result);
      return true;
    },
    didPopNext$1(nextRoute) {
      this._updateSecondaryAnimation$1(nextRoute);
      this.super$Route$didPopNext(nextRoute);
    },
    didChangeNext$1(nextRoute) {
      this._updateSecondaryAnimation$1(nextRoute);
      this.super$Route$didChangeNext(nextRoute);
    },
    _updateSecondaryAnimation$1(nextRoute) {
      var current, t2, t3, t4, t5, newAnimation, _this = this, t1 = {},
        previousTrainHoppingListenerRemover = _this._trainHoppingListenerRemover;
      _this._trainHoppingListenerRemover = null;
      if (nextRoute instanceof A.TransitionRoute && _this.canTransitionTo$1(nextRoute) && nextRoute.canTransitionFrom$1(_this)) {
        current = _this._secondaryAnimation._animations$_parent;
        if (current != null) {
          t2 = current instanceof A.TrainHoppingAnimation ? current._currentTrain : current;
          t2.toString;
          t3 = nextRoute._animation;
          t3.toString;
          t4 = J.$eq$(t2.get$value(t2), t3.get$value(t3)) || t3.get$status(t3) === B.AnimationStatus_3 || t3.get$status(t3) === B.AnimationStatus_0;
          t5 = nextRoute._transitionCompleter.future;
          if (t4)
            _this._setSecondaryAnimation$2(t3, t5);
          else {
            t1.newAnimation = null;
            t4 = new A.TransitionRoute__updateSecondaryAnimation_jumpOnAnimationEnd(_this, t3, nextRoute);
            _this._trainHoppingListenerRemover = new A.TransitionRoute__updateSecondaryAnimation_closure(t1, t3, t4);
            t3.addStatusListener$1(t4);
            newAnimation = A.TrainHoppingAnimation$(t2, t3, new A.TransitionRoute__updateSecondaryAnimation_closure0(t1, _this, nextRoute));
            t1.newAnimation = newAnimation;
            _this._setSecondaryAnimation$2(newAnimation, t5);
          }
        } else
          _this._setSecondaryAnimation$2(nextRoute._animation, nextRoute._transitionCompleter.future);
      } else
        _this._setSecondaryAnimation$1(B.C__AlwaysDismissedAnimation);
      if (previousTrainHoppingListenerRemover != null)
        previousTrainHoppingListenerRemover.call$0();
    },
    _setSecondaryAnimation$2(animation, disposed) {
      this._secondaryAnimation.set$parent(0, animation);
      if (disposed != null)
        disposed.then$1$1(new A.TransitionRoute__setSecondaryAnimation_closure(this, animation), type$.Null);
    },
    _setSecondaryAnimation$1(animation) {
      return this._setSecondaryAnimation$2(animation, null);
    },
    canTransitionTo$1(nextRoute) {
      return true;
    },
    canTransitionFrom$1(previousRoute) {
      return true;
    },
    dispose$0() {
      var _this = this,
        t1 = _this._animation;
      if (t1 != null)
        t1.removeStatusListener$1(_this.get$_handleStatusChanged());
      t1 = _this._routes$_controller;
      if (t1 != null)
        t1.dispose$0();
      _this._transitionCompleter.complete$1(0, _this._result);
      _this.super$OverlayRoute$dispose();
    },
    get$debugLabel() {
      return "TransitionRoute";
    },
    toString$0(_) {
      return "TransitionRoute(animation: " + A.S(this._routes$_controller) + ")";
    }
  };
  A.TransitionRoute__updateSecondaryAnimation_jumpOnAnimationEnd.prototype = {
    call$1($status) {
      var t1, t2;
      switch ($status.index) {
        case 3:
        case 0:
          t1 = this.$this;
          t1._setSecondaryAnimation$2(this.nextTrain, this.nextRoute._transitionCompleter.future);
          t2 = t1._trainHoppingListenerRemover;
          if (t2 != null) {
            t2.call$0();
            t1._trainHoppingListenerRemover = null;
          }
          break;
        case 1:
        case 2:
          break;
      }
    },
    $signature: 5
  };
  A.TransitionRoute__updateSecondaryAnimation_closure.prototype = {
    call$0() {
      this.nextTrain.removeStatusListener$1(this.jumpOnAnimationEnd);
      var t1 = this._box_0.newAnimation;
      if (t1 != null)
        t1.dispose$0();
    },
    $signature: 0
  };
  A.TransitionRoute__updateSecondaryAnimation_closure0.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1._setSecondaryAnimation$2(this._box_0.newAnimation._currentTrain, this.nextRoute._transitionCompleter.future);
      t2 = t1._trainHoppingListenerRemover;
      if (t2 != null) {
        t2.call$0();
        t1._trainHoppingListenerRemover = null;
      }
    },
    $signature: 0
  };
  A.TransitionRoute__setSecondaryAnimation_closure.prototype = {
    call$1(_) {
      var t1 = this.$this._secondaryAnimation,
        t2 = this.animation;
      if (t1._animations$_parent == t2) {
        t1.set$parent(0, B.C__AlwaysDismissedAnimation);
        if (t2 instanceof A.TrainHoppingAnimation)
          t2.dispose$0();
      }
    },
    $signature: 9
  };
  A.LocalHistoryRoute.prototype = {
    get$willHandlePopInternally() {
      var t1 = this.LocalHistoryRoute__localHistory;
      return t1 != null && t1.length !== 0;
    }
  };
  A._DismissModalAction.prototype = {
    isEnabled$1(_, intent) {
      return A.ModalRoute_of(this.context, type$.dynamic).get$barrierDismissible();
    },
    invoke$1(intent) {
      return A.Navigator_of(this.context, false).maybePop$0();
    }
  };
  A._ModalScopeStatus.prototype = {
    updateShouldNotify$1(old) {
      var _this = this;
      return _this.isCurrent !== old.isCurrent || _this.canPop !== old.canPop || _this.impliesAppBarDismissal !== old.impliesAppBarDismissal || _this.route !== old.route;
    }
  };
  A._ModalScope.prototype = {
    createState$0() {
      return new A._ModalScopeState(A.FocusScopeNode$(true, B.Type__ModalScopeState_Yap.toString$0(0) + " Focus Scope", false), A.ScrollController$(0), B._StateLifecycle_0, this.$ti._eval$1("_ModalScopeState<1>"));
    }
  };
  A._ModalScopeState.prototype = {
    initState$0() {
      var t1, t2, _this = this;
      _this.super$State$initState();
      t1 = A._setArrayType([], type$.JSArray_Listenable);
      t2 = _this._widget.route._animationProxy;
      if (t2 != null)
        t1.push(t2);
      t2 = _this._widget.route._secondaryAnimationProxy;
      if (t2 != null)
        t1.push(t2);
      _this.___ModalScopeState__listenable = new A._MergingListenable(t1);
      if (_this._widget.route.get$isCurrent()) {
        _this._widget.route._navigator$_navigator._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        _this._widget.route._navigator$_navigator.focusScopeNode.setFirstFocus$1(_this.focusScopeNode);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      if (_this._widget.route.get$isCurrent()) {
        _this._widget.route._navigator$_navigator._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        _this._widget.route._navigator$_navigator.focusScopeNode.setFirstFocus$1(_this.focusScopeNode);
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this._page = null;
    },
    _forceRebuildPage$0() {
      this.setState$1(new A._ModalScopeState__forceRebuildPage_closure(this));
    },
    dispose$0() {
      this.focusScopeNode.dispose$0();
      this.super$State$dispose();
    },
    get$_shouldIgnoreFocusRequest() {
      var t1 = this._widget.route._animationProxy;
      if ((t1 == null ? null : t1.get$status(t1)) !== B.AnimationStatus_2) {
        t1 = this._widget.route._navigator$_navigator;
        t1 = t1 == null ? null : t1.userGestureInProgressNotifier._change_notifier$_value;
        t1 = t1 === true;
      } else
        t1 = true;
      return t1;
    },
    build$1(context) {
      var t4, t5, _this = this, _null = null,
        t1 = _this._widget.route,
        t2 = t1.get$isCurrent(),
        t3 = _this._widget.route;
      if (!t3.get$hasActiveRouteBelow()) {
        t3 = t3.LocalHistoryRoute__localHistory;
        t3 = t3 != null && t3.length !== 0;
      } else
        t3 = true;
      t4 = _this._widget.route;
      t4 = t4.get$hasActiveRouteBelow() || t4.LocalHistoryRoute__entriesImpliesAppBarDismissal > 0;
      t5 = _this._widget.route;
      return A.AnimatedBuilder$(t1._restorationScopeId, new A._ModalScopeState_build_closure(_this), new A._ModalScopeStatus(t2, t3, t4, t1, new A.Offstage(t5._offstage, new A.PageStorage(new A.Builder(new A._ModalScopeState_build_closure0(_this), _null), t5._storageBucket, _null), _null), _null));
    }
  };
  A._ModalScopeState__forceRebuildPage_closure.prototype = {
    call$0() {
      this.$this._page = null;
    },
    $signature: 0
  };
  A._ModalScopeState_build_closure.prototype = {
    call$2(context, child) {
      var t1 = this.$this._widget.route._restorationScopeId._change_notifier$_value;
      child.toString;
      return new A.RestorationScope(child, t1, null);
    },
    $signature: 971
  };
  A._ModalScopeState_build_closure0.prototype = {
    call$1(context) {
      var t5, _null = null,
        t1 = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_DismissIntent_Fb0, new A._DismissModalAction(context, new A.ObserverList(A._setArrayType([], type$.JSArray_of_void_Function_Action_Intent), type$.ObserverList_of_void_Function_Action_Intent))], type$.Type, type$.Action_Intent),
        t2 = this.$this,
        t3 = t2.focusScopeNode,
        t4 = t2.___ModalScopeState__listenable;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = t2._page;
      if (t5 == null)
        t5 = t2._page = new A.RepaintBoundary(new A.Builder(new A._ModalScopeState_build__closure(t2), _null), t2._widget.route._subtreeKey);
      return A.Actions$(t1, A.PrimaryScrollController$(A.FocusScope$(false, new A.FocusTrap(t3, new A.RepaintBoundary(A.AnimatedBuilder$(t4, new A._ModalScopeState_build__closure0(t2), t5), _null), _null), _null, t3), t2.primaryScrollController));
    },
    $signature: 972
  };
  A._ModalScopeState_build__closure0.prototype = {
    call$2(context, child) {
      var t4, t5,
        t1 = this.$this,
        t2 = t1._widget.route,
        t3 = t2._animationProxy;
      t3.toString;
      t4 = t2._secondaryAnimationProxy;
      t4.toString;
      t5 = t2._navigator$_navigator;
      t5 = t5 == null ? null : t5.userGestureInProgressNotifier;
      if (t5 == null)
        t5 = new A.ValueNotifier(false, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool);
      return t2.buildTransitions$4(context, t3, t4, A.AnimatedBuilder$(t5, new A._ModalScopeState_build___closure(t1), child));
    },
    $signature: 56
  };
  A._ModalScopeState_build___closure.prototype = {
    call$2(context, child) {
      var t1 = this.$this,
        ignoreEvents = t1.get$_shouldIgnoreFocusRequest();
      t1.focusScopeNode.set$canRequestFocus(!ignoreEvents);
      return new A.IgnorePointer(ignoreEvents, null, child, null);
    },
    $signature: 973
  };
  A._ModalScopeState_build__closure.prototype = {
    call$1(context) {
      var t3,
        t1 = this.$this._widget.route,
        t2 = t1._animationProxy;
      t2.toString;
      t3 = t1._secondaryAnimationProxy;
      t3.toString;
      return t1.buildPage$3(context, t2, t3);
    },
    $signature: 29
  };
  A.ModalRoute.prototype = {
    setState$1(fn) {
      var t2,
        t1 = this._scopeKey;
      if (t1.get$currentState() != null) {
        t1 = t1.get$currentState();
        if (t1._widget.route.get$isCurrent())
          if (!t1.get$_shouldIgnoreFocusRequest()) {
            t1._widget.route._navigator$_navigator._widget.toString;
            t2 = true;
          } else
            t2 = false;
        else
          t2 = false;
        if (t2)
          t1._widget.route._navigator$_navigator.focusScopeNode.setFirstFocus$1(t1.focusScopeNode);
        t1.setState$1(fn);
      } else
        fn.call$0();
    },
    buildTransitions$4(context, animation, secondaryAnimation, child) {
      return child;
    },
    install$0() {
      var _this = this;
      _this.super$TransitionRoute$install();
      _this._animationProxy = A.ProxyAnimation$(A.TransitionRoute.prototype.get$animation.call(_this, _this));
      _this._secondaryAnimationProxy = A.ProxyAnimation$(A.TransitionRoute.prototype.get$secondaryAnimation.call(_this));
    },
    didPush$0() {
      var t2, _this = this,
        t1 = _this._scopeKey;
      if (t1.get$currentState() != null) {
        _this._navigator$_navigator._widget.toString;
        t2 = true;
      } else
        t2 = false;
      if (t2)
        _this._navigator$_navigator.focusScopeNode.setFirstFocus$1(t1.get$currentState().focusScopeNode);
      return _this.super$TransitionRoute$didPush();
    },
    didAdd$0() {
      var t2, _this = this,
        t1 = _this._scopeKey;
      if (t1.get$currentState() != null) {
        _this._navigator$_navigator._widget.toString;
        t2 = true;
      } else
        t2 = false;
      if (t2)
        _this._navigator$_navigator.focusScopeNode.setFirstFocus$1(t1.get$currentState().focusScopeNode);
      _this.super$TransitionRoute$didAdd();
    },
    set$offstage(value) {
      var t1, _this = this;
      if (_this._offstage === value)
        return;
      _this.setState$1(new A.ModalRoute_offstage_closure(_this, value));
      t1 = _this._animationProxy;
      t1.toString;
      t1.set$parent(0, _this._offstage ? B.C__AlwaysCompleteAnimation : A.TransitionRoute.prototype.get$animation.call(_this, _this));
      t1 = _this._secondaryAnimationProxy;
      t1.toString;
      t1.set$parent(0, _this._offstage ? B.C__AlwaysDismissedAnimation : A.TransitionRoute.prototype.get$secondaryAnimation.call(_this));
      _this.changedInternalState$0();
    },
    willPop$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.RoutePopDisposition),
        $async$returnValue, $async$self = this, t1, t2, _i, $async$temp1;
      var $async$willPop$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$self._scopeKey.get$currentState();
              t1 = A.List_List$of($async$self._willPopCallbacks, true, type$.Future_bool_Function), t2 = t1.length, _i = 0;
            case 3:
              // for condition
              if (!(_i < t2)) {
                // goto after for
                $async$goto = 5;
                break;
              }
              $async$temp1 = J;
              $async$goto = 6;
              return A._asyncAwait(t1[_i].call$0(), $async$willPop$0);
            case 6:
              // returning from await.
              if (!$async$temp1.$eq$($async$result, true)) {
                $async$returnValue = B.RoutePopDisposition_1;
                // goto return
                $async$goto = 1;
                break;
              }
            case 4:
              // for update
              ++_i;
              // goto for condition
              $async$goto = 3;
              break;
            case 5:
              // after for
              $async$returnValue = $async$self.super$_ModalRoute_TransitionRoute_LocalHistoryRoute$willPop();
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$willPop$0, $async$completer);
    },
    didChangePrevious$1(previousRoute) {
      this.super$Route$didChangePrevious(previousRoute);
      this.changedInternalState$0();
    },
    changedInternalState$0() {
      var t1, _this = this;
      _this.super$Route$changedInternalState();
      _this.setState$1(new A.ModalRoute_changedInternalState_closure());
      t1 = _this.__ModalRoute__modalBarrier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.markNeedsBuild$0();
      t1 = _this.__ModalRoute__modalScope;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.get$maintainState();
      t1.set$maintainState(true);
    },
    changedExternalState$0() {
      this.super$Route$changedExternalState();
      var t1 = this.__ModalRoute__modalBarrier;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.markNeedsBuild$0();
      t1 = this._scopeKey;
      if (t1.get$currentState() != null)
        t1.get$currentState()._forceRebuildPage$0();
    },
    _buildModalBarrier$1(context) {
      var t1, t2, t3, t4, barrier, _this = this, _null = null;
      if (_this.get$barrierColor() != null && (_this.get$barrierColor().value >>> 24 & 255) !== 0 && !_this._offstage) {
        t1 = _this._animationProxy;
        t1.toString;
        t2 = _this.get$barrierColor().value;
        t2 = A.Color$fromARGB(0, t2 >>> 16 & 255, t2 >>> 8 & 255, t2 & 255);
        t3 = _this.get$barrierColor();
        t4 = type$.ColorTween._eval$1("_ChainedEvaluation<Animatable.T>");
        type$.Animation_double._as(t1);
        barrier = new A.AnimatedModalBarrier(_this.get$barrierDismissible(), _this.get$barrierLabel(), true, new A._AnimatedEvaluation(t1, new A._ChainedEvaluation(new A.CurveTween(B.Cubic_JUR), new A.ColorTween(t2, t3), t4), t4._eval$1("_AnimatedEvaluation<Animatable.T>")), _null);
      } else
        barrier = new A.ModalBarrier(_null, _this.get$barrierDismissible(), _null, true, _this.get$barrierLabel(), _null);
      t1 = _this._animationProxy;
      if (t1.get$status(t1) !== B.AnimationStatus_2) {
        t1 = _this._animationProxy;
        t1 = t1.get$status(t1) === B.AnimationStatus_0;
      } else
        t1 = true;
      barrier = new A.IgnorePointer(t1, _null, barrier, _null);
      t1 = _this.get$barrierDismissible();
      if (t1)
        barrier = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.OrdinalSortKey_1_null, _null, _null, _null, _null, _null, _null), false, false, false, barrier, _null);
      return barrier;
    },
    _buildModalScope$1(context) {
      var _this = this, _null = null,
        t1 = _this._modalScopeCache;
      if (t1 == null)
        t1 = _this._modalScopeCache = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.OrdinalSortKey_0_null, _null, _null, _null, _null, _null, _null), false, false, false, new A._ModalScope(_this, _this._scopeKey, A._instanceType(_this)._eval$1("_ModalScope<ModalRoute.T>")), _null);
      return t1;
    },
    toString$0(_) {
      return "ModalRoute(" + this._settings.toString$0(0) + ", animation: " + A.S(this._animation) + ")";
    }
  };
  A.ModalRoute_offstage_closure.prototype = {
    call$0() {
      this.$this._offstage = this.value;
    },
    $signature: 0
  };
  A.ModalRoute_changedInternalState_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.PopupRoute.prototype = {
    get$opaque() {
      return false;
    },
    get$maintainState() {
      return true;
    }
  };
  A.RawDialogRoute.prototype = {
    get$barrierDismissible() {
      return this._barrierDismissible;
    },
    get$barrierLabel() {
      return this._barrierLabel;
    },
    get$barrierColor() {
      return this._barrierColor;
    },
    get$transitionDuration(_) {
      return this._transitionDuration;
    },
    buildPage$3(context, animation, secondaryAnimation) {
      var _null = null,
        t1 = this._pageBuilder.call$3(context, animation, secondaryAnimation);
      return new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, true, false, new A.DisplayFeatureSubScreen(this.anchorPoint, t1, _null), _null);
    },
    buildTransitions$4(context, animation, secondaryAnimation, child) {
      return this._transitionBuilder.call$4(context, animation, secondaryAnimation, child);
    }
  };
  A.FocusTrap.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderFocusTrap(new A.Expando(new WeakMap(), type$.Expando_BoxHitTestResult), this.focusScopeNode, B.HitTestBehavior_0, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      if (renderObject instanceof A._RenderFocusTrap)
        renderObject.set$focusScopeNode(this.focusScopeNode);
    }
  };
  A.FocusTrapArea.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderFocusTrapArea(this.focusNode, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      if (renderObject instanceof A._RenderFocusTrapArea)
        renderObject.focusNode = this.focusNode;
    }
  };
  A._RenderFocusTrapArea.prototype = {};
  A._RenderFocusTrap.prototype = {
    set$focusScopeNode(value) {
      if (this._focusScopeNode === value)
        return;
      this._focusScopeNode = value;
    },
    hitTest$2$position(result, position) {
      var hitTarget, entry, _this = this;
      if (_this._box$_size.contains$1(0, position)) {
        hitTarget = _this.hitTestChildren$2$position(result, position) || _this.behavior === B.HitTestBehavior_1;
        if (hitTarget) {
          entry = new A.BoxHitTestEntry(position, _this);
          _this.cachedResults._jsWeakMap.set(entry, result);
          result.add$1(0, entry);
        }
      } else
        hitTarget = false;
      return hitTarget;
    },
    get$_shouldIgnoreEvents() {
      switch (A.defaultTargetPlatform().index) {
        case 0:
        case 2:
          return false;
        case 3:
        case 4:
        case 5:
        case 1:
          return false;
      }
    },
    _checkForUnfocus$0() {
      var t1 = this._previousFocus;
      if (t1 == null)
        return;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus === t1)
        t1.unfocus$0();
      this._previousFocus = null;
    },
    handleEvent$2($event, entry) {
      var t1, result, focusNode, renderObject, hitCurrentFocus, t2, _i, target, _this = this;
      if (type$.PointerDownEvent._is($event))
        if ($event.get$buttons($event) === 1)
          if ($event.get$kind($event) === B.PointerDeviceKind_1)
            if (!_this.get$_shouldIgnoreEvents()) {
              t1 = _this._focusScopeNode._focusedChildren;
              t1 = (t1.length !== 0 ? B.JSArray_methods.get$last(t1) : null) == null;
            } else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      if (t1)
        return;
      A.Expando__checkType(entry);
      result = _this.cachedResults._jsWeakMap.get(entry);
      t1 = _this._focusScopeNode._focusedChildren;
      focusNode = t1.length !== 0 ? B.JSArray_methods.get$last(t1) : null;
      if (focusNode == null || result == null)
        return;
      t1 = focusNode._context;
      renderObject = t1 == null ? null : t1.get$renderObject();
      if (renderObject == null)
        return;
      t1 = result._path;
      t2 = t1.length;
      _i = 0;
      while (true) {
        if (!(_i < t1.length)) {
          hitCurrentFocus = false;
          break;
        }
        target = t1[_i].target;
        if (target.$eq(0, renderObject)) {
          hitCurrentFocus = true;
          break;
        }
        if (target instanceof A._RenderFocusTrapArea && target.focusNode === focusNode) {
          hitCurrentFocus = true;
          break;
        }
        t1.length === t2 || (0, A.throwConcurrentModificationError)(t1);
        ++_i;
      }
      if (!hitCurrentFocus) {
        _this._previousFocus = focusNode;
        $.SchedulerBinding__instance.scheduleTask$1$2(_this.get$_checkForUnfocus(), B.Priority_200000, type$.void);
      }
    }
  };
  A._ModalRoute_TransitionRoute_LocalHistoryRoute.prototype = {
    willPop$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.RoutePopDisposition),
        $async$returnValue, $async$self = this, t1;
      var $async$willPop$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.LocalHistoryRoute__localHistory;
              if (t1 != null && t1.length !== 0) {
                $async$returnValue = B.RoutePopDisposition_0;
                // goto return
                $async$goto = 1;
                break;
              }
              $async$returnValue = $async$self.super$Route$willPop();
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$willPop$0, $async$completer);
    },
    didPop$1(result) {
      var entry, internalStateChanged, _this = this,
        t1 = _this.LocalHistoryRoute__localHistory;
      if (t1 != null && t1.length !== 0) {
        entry = t1.pop();
        entry._routes$_owner = null;
        entry._notifyRemoved$0();
        internalStateChanged = entry.impliesAppBarDismissal && --_this.LocalHistoryRoute__entriesImpliesAppBarDismissal === 0;
        if (_this.LocalHistoryRoute__localHistory.length === 0 || internalStateChanged)
          _this.changedInternalState$0();
        return false;
      }
      _this.super$TransitionRoute$didPop(result);
      return true;
    }
  };
  A.SafeArea.prototype = {
    build$1(context) {
      var t5, t6, t7, _this = this,
        padding = context.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.padding,
        t1 = _this.minimum,
        t2 = Math.max(padding.left, t1.left),
        t3 = _this.top,
        t4 = t3 ? padding.top : 0;
      t4 = Math.max(t4, t1.top);
      t5 = Math.max(padding.right, t1.right);
      t6 = _this.bottom;
      t7 = t6 ? padding.bottom : 0;
      return new A.Padding(new A.EdgeInsets(t2, t4, t5, Math.max(t7, t1.bottom)), A.MediaQuery_MediaQuery$removePadding(_this.child, context, t6, true, true, t3), null);
    }
  };
  A.ScrollActivity.prototype = {
    get$delegate() {
      return this._scroll_activity$_delegate;
    },
    resetActivity$0() {
    },
    dispatchScrollStartNotification$2(metrics, context) {
      if (context != null)
        context.dispatchNotification$1(new A.ScrollStartNotification(null, metrics, context, 0));
    },
    dispatchScrollUpdateNotification$3(metrics, context, scrollDelta) {
      context.dispatchNotification$1(A.ScrollUpdateNotification$(context, null, null, metrics, scrollDelta));
    },
    dispatchOverscrollNotification$3(metrics, context, overscroll) {
      context.dispatchNotification$1(new A.OverscrollNotification(null, overscroll, 0, metrics, context, 0));
    },
    dispatchScrollEndNotification$2(metrics, context) {
      context.dispatchNotification$1(new A.ScrollEndNotification(null, metrics, context, 0));
    },
    applyNewDimensions$0() {
    },
    dispose$0() {
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A.IdleScrollActivity.prototype = {
    applyNewDimensions$0() {
      this._scroll_activity$_delegate.goBallistic$1(0);
    },
    get$shouldIgnorePointer() {
      return false;
    },
    get$isScrolling() {
      return false;
    },
    get$velocity() {
      return 0;
    }
  };
  A.HoldScrollActivity.prototype = {
    get$shouldIgnorePointer() {
      return false;
    },
    get$isScrolling() {
      return false;
    },
    get$velocity() {
      return 0;
    },
    dispose$0() {
      this.onHoldCanceled.call$0();
      this.super$ScrollActivity$dispose();
    }
  };
  A.ScrollDragController.prototype = {
    _adjustForScrollStartThreshold$2(offset, timestamp) {
      var t1, t2, _this = this;
      if (timestamp == null)
        return offset;
      if (offset === 0) {
        if (_this.motionStartDistanceThreshold != null)
          if (_this._offsetSinceLastStop == null) {
            t1 = _this._lastNonStationaryTimestamp;
            t1 = timestamp._duration - t1._duration > 50000;
          } else
            t1 = false;
        else
          t1 = false;
        if (t1)
          _this._offsetSinceLastStop = 0;
        return 0;
      } else {
        t1 = _this._offsetSinceLastStop;
        if (t1 == null)
          return offset;
        else {
          t1 += offset;
          _this._offsetSinceLastStop = t1;
          t2 = _this.motionStartDistanceThreshold;
          t2.toString;
          if (Math.abs(t1) > t2) {
            _this._offsetSinceLastStop = null;
            t1 = Math.abs(offset);
            if (t1 > 24)
              return offset;
            else
              return Math.min(t2 / 3, t1) * J.get$sign$in(offset);
          } else
            return 0;
        }
      }
    },
    update$1(_, details) {
      var t1, t2, t3, offset, _this = this;
      _this._lastDetails = details;
      t1 = details.primaryDelta;
      t1.toString;
      t2 = t1 === 0;
      if (!t2)
        _this._lastNonStationaryTimestamp = details.sourceTimeStamp;
      t3 = details.sourceTimeStamp;
      if (_this._retainMomentum)
        if (t2)
          if (t3 != null) {
            t2 = _this._lastNonStationaryTimestamp;
            t2 = t3._duration - t2._duration > 20000;
          } else
            t2 = true;
        else
          t2 = false;
      else
        t2 = false;
      if (t2)
        _this._retainMomentum = false;
      offset = _this._adjustForScrollStartThreshold$2(t1, t3);
      if (offset === 0)
        return;
      if (A.axisDirectionIsReversed(_this._scroll_activity$_delegate.context.get$axisDirection()))
        offset = -offset;
      t1 = _this._scroll_activity$_delegate;
      t1.updateUserScrollDirection$1(offset > 0 ? B.ScrollDirection_1 : B.ScrollDirection_2);
      t2 = t1._pixels;
      t2.toString;
      t1.setPixels$1(t2 - t1.physics.applyPhysicsToUserOffset$2(t1, offset));
    },
    end$1(_, details) {
      var velocity, isVelocityNotSubstantiallyLessThanCarriedMomentum, _this = this,
        t1 = details.primaryVelocity;
      t1.toString;
      velocity = -t1;
      if (A.axisDirectionIsReversed(_this._scroll_activity$_delegate.context.get$axisDirection()))
        velocity = -velocity;
      _this._lastDetails = details;
      if (_this._retainMomentum) {
        t1 = _this.carriedVelocity;
        isVelocityNotSubstantiallyLessThanCarriedMomentum = Math.abs(velocity) > Math.abs(t1) * 0.5;
        if (J.get$sign$in(velocity) === J.get$sign$in(t1) && isVelocityNotSubstantiallyLessThanCarriedMomentum)
          velocity += t1;
      }
      _this._scroll_activity$_delegate.goBallistic$1(velocity);
    },
    dispose$0() {
      this._lastDetails = null;
      this.onDragCanceled.call$0();
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A.DragScrollActivity.prototype = {
    dispatchScrollStartNotification$2(metrics, context) {
      var t1 = type$.DragStartDetails._as(this._scroll_activity$_controller._lastDetails);
      if (context != null)
        context.dispatchNotification$1(new A.ScrollStartNotification(t1, metrics, context, 0));
    },
    dispatchScrollUpdateNotification$3(metrics, context, scrollDelta) {
      context.dispatchNotification$1(A.ScrollUpdateNotification$(context, null, type$.DragUpdateDetails._as(this._scroll_activity$_controller._lastDetails), metrics, scrollDelta));
    },
    dispatchOverscrollNotification$3(metrics, context, overscroll) {
      context.dispatchNotification$1(new A.OverscrollNotification(type$.DragUpdateDetails._as(this._scroll_activity$_controller._lastDetails), overscroll, 0, metrics, context, 0));
    },
    dispatchScrollEndNotification$2(metrics, context) {
      var lastDetails = this._scroll_activity$_controller._lastDetails;
      context.dispatchNotification$1(new A.ScrollEndNotification(lastDetails instanceof A.DragEndDetails ? lastDetails : null, metrics, context, 0));
    },
    get$shouldIgnorePointer() {
      return true;
    },
    get$isScrolling() {
      return true;
    },
    get$velocity() {
      return 0;
    },
    dispose$0() {
      this._scroll_activity$_controller = null;
      this.super$ScrollActivity$dispose();
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this) + "(" + A.S(this._scroll_activity$_controller) + ")";
    }
  };
  A.BallisticScrollActivity.prototype = {
    resetActivity$0() {
      var t1 = this._scroll_activity$_delegate,
        t2 = this.__BallisticScrollActivity__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.goBallistic$1(t2.get$velocity());
    },
    applyNewDimensions$0() {
      var t1 = this._scroll_activity$_delegate,
        t2 = this.__BallisticScrollActivity__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.goBallistic$1(t2.get$velocity());
    },
    _scroll_activity$_tick$0() {
      var t1 = this.__BallisticScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__AnimationController__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!(Math.abs(this._scroll_activity$_delegate.setPixels$1(t1)) < 1e-10)) {
        t1 = this._scroll_activity$_delegate;
        t1.beginActivity$1(new A.IdleScrollActivity(t1));
      }
    },
    _scroll_activity$_end$0() {
      this._scroll_activity$_delegate.goBallistic$1(0);
    },
    dispatchOverscrollNotification$3(metrics, context, overscroll) {
      var t1 = this.__BallisticScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      context.dispatchNotification$1(new A.OverscrollNotification(null, overscroll, t1.get$velocity(), metrics, context, 0));
    },
    get$shouldIgnorePointer() {
      return true;
    },
    get$isScrolling() {
      return true;
    },
    get$velocity() {
      var t1 = this.__BallisticScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.get$velocity();
    },
    dispose$0() {
      var t1 = this.__BallisticScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$ScrollActivity$dispose();
    },
    toString$0(_) {
      var t1 = A.shortHash(this),
        t2 = this.__BallisticScrollActivity__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return "<optimized out>#" + t1 + "(" + t2.toString$0(0) + ")";
    }
  };
  A.DrivenScrollActivity.prototype = {
    _scroll_activity$_tick$0() {
      var t1 = this._scroll_activity$_delegate,
        t2 = this.__DrivenScrollActivity__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__AnimationController__value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.setPixels$1(t2) !== 0) {
        t1 = this._scroll_activity$_delegate;
        t1.beginActivity$1(new A.IdleScrollActivity(t1));
      }
    },
    _scroll_activity$_end$0() {
      var t1 = this._scroll_activity$_delegate,
        t2 = this.__DrivenScrollActivity__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.goBallistic$1(t2.get$velocity());
    },
    dispatchOverscrollNotification$3(metrics, context, overscroll) {
      var t1 = this.__DrivenScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      context.dispatchNotification$1(new A.OverscrollNotification(null, overscroll, t1.get$velocity(), metrics, context, 0));
    },
    get$shouldIgnorePointer() {
      return true;
    },
    get$isScrolling() {
      return true;
    },
    get$velocity() {
      var t1 = this.__DrivenScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.get$velocity();
    },
    dispose$0() {
      var t1 = this.__DrivenScrollActivity__completer;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.complete$0(0);
      t1 = this.__DrivenScrollActivity__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$ScrollActivity$dispose();
    },
    toString$0(_) {
      var t1 = A.shortHash(this),
        t2 = this.__DrivenScrollActivity__controller;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return "<optimized out>#" + t1 + "(" + t2.toString$0(0) + ")";
    }
  };
  A.ScrollAwareImageProvider.prototype = {
    resolveStreamForKey$4(configuration, stream, key, handleError) {
      var t1, _this = this;
      if (stream._completer == null) {
        t1 = $.PaintingBinding__instance.PaintingBinding___PaintingBinding__imageCache;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1._pendingImages.$index(0, key) != null || t1._image_cache$_cache.$index(0, key) != null;
      } else
        t1 = true;
      if (t1) {
        _this.imageProvider.resolveStreamForKey$4(configuration, stream, key, handleError);
        return;
      }
      t1 = _this.context;
      if (t1.get$context(t1) == null)
        return;
      t1 = t1.get$context(t1);
      t1.toString;
      if (A.Scrollable_recommendDeferredLoadingForContext(t1)) {
        $.SchedulerBinding__instance.scheduleFrameCallback$1(new A.ScrollAwareImageProvider_resolveStreamForKey_closure(_this, configuration, stream, key, handleError));
        return;
      }
      _this.imageProvider.resolveStreamForKey$4(configuration, stream, key, handleError);
    },
    load$2(_, key, decode) {
      return this.imageProvider.load$2(0, key, decode);
    },
    loadBuffer$2(key, decode) {
      return this.imageProvider.loadBuffer$2(key, decode);
    },
    obtainKey$1(configuration) {
      return this.imageProvider.obtainKey$1(configuration);
    }
  };
  A.ScrollAwareImageProvider_resolveStreamForKey_closure.prototype = {
    call$1(_) {
      var _this = this;
      A.scheduleMicrotask(new A.ScrollAwareImageProvider_resolveStreamForKey__closure(_this.$this, _this.configuration, _this.stream, _this.key, _this.handleError));
    },
    $signature: 3
  };
  A.ScrollAwareImageProvider_resolveStreamForKey__closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this.resolveStreamForKey$4(_this.configuration, _this.stream, _this.key, _this.handleError);
    },
    $signature: 0
  };
  A.AndroidOverscrollIndicator.prototype = {
    toString$0(_) {
      return "AndroidOverscrollIndicator." + this._core$_name;
    }
  };
  A.ScrollBehavior.prototype = {
    copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(androidOverscrollIndicator, dragDevices, overscroll, physics, platform, $scrollbars) {
      return new A._WrappedScrollBehavior(this, $scrollbars, overscroll !== false, physics, platform, dragDevices, androidOverscrollIndicator);
    },
    copyWith$1$scrollbars($scrollbars) {
      return this.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(null, null, null, null, null, $scrollbars);
    },
    copyWith$2$overscroll$scrollbars(overscroll, $scrollbars) {
      return this.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(null, null, overscroll, null, null, $scrollbars);
    },
    copyWith$4$overscroll$physics$platform$scrollbars(overscroll, physics, platform, $scrollbars) {
      return this.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(null, null, overscroll, physics, platform, $scrollbars);
    },
    getPlatform$1(context) {
      return A.defaultTargetPlatform();
    },
    get$dragDevices() {
      return B.Set_chs59;
    },
    buildViewportChrome$3(context, child, axisDirection) {
      var target;
      switch (this.getPlatform$1(context)) {
        case B.TargetPlatform_2:
        case B.TargetPlatform_3:
        case B.TargetPlatform_4:
        case B.TargetPlatform_5:
          target = 1;
          break;
        case B.TargetPlatform_0:
          target = 2;
          break;
        case B.TargetPlatform_1:
          target = 3;
          break;
        default:
          target = null;
          break;
      }
      if (target)
        c$0:
          for (; true;)
            switch (target) {
              case 1:
                return child;
              case 2:
                switch (1) {
                  case 1:
                    break;
                }
                if (2)
                  c$1:
                    for (; true;)
                      switch (2) {
                        case 1:
                          return new A.StretchingOverscrollIndicator(axisDirection, child, null);
                        case 2:
                          target = 3;
                          continue c$0;
                      }
                break c$0;
              case 3:
                return new A.GlowingOverscrollIndicator(axisDirection, B.Color_4294967295, child, null);
            }
    },
    buildScrollbar$3(context, child, details) {
      var _null = null;
      switch (this.getPlatform$1(context)) {
        case B.TargetPlatform_3:
        case B.TargetPlatform_4:
        case B.TargetPlatform_5:
          return A.RawScrollbar$(child, details.controller, B.Duration_300000, _null, _null, A.scroll_notification__defaultScrollNotificationPredicate$closure(), B.Duration_0, _null, _null, _null, _null, B.Duration_600000, _null);
        case B.TargetPlatform_0:
        case B.TargetPlatform_1:
        case B.TargetPlatform_2:
          return child;
      }
    },
    buildOverscrollIndicator$3(context, child, details) {
      return this.buildViewportChrome$3(context, child, details.direction);
    },
    velocityTrackerBuilder$1(context) {
      switch (this.getPlatform$1(context)) {
        case B.TargetPlatform_2:
        case B.TargetPlatform_4:
          return new A.ScrollBehavior_velocityTrackerBuilder_closure();
        case B.TargetPlatform_0:
        case B.TargetPlatform_1:
        case B.TargetPlatform_3:
        case B.TargetPlatform_5:
          return new A.ScrollBehavior_velocityTrackerBuilder_closure0();
      }
    },
    getScrollPhysics$1(context) {
      switch (this.getPlatform$1(context)) {
        case B.TargetPlatform_2:
        case B.TargetPlatform_4:
          return B.BouncingScrollPhysics_MuS;
        case B.TargetPlatform_0:
        case B.TargetPlatform_1:
        case B.TargetPlatform_3:
        case B.TargetPlatform_5:
          return B.ClampingScrollPhysics_KYr;
      }
    },
    shouldNotify$1(oldDelegate) {
      return false;
    },
    toString$0(_) {
      return "ScrollBehavior";
    }
  };
  A.ScrollBehavior_velocityTrackerBuilder_closure.prototype = {
    call$1($event) {
      var t1 = $event.get$kind($event),
        t2 = type$.nullable__PointAtTime;
      return new A.IOSScrollViewFlingVelocityTracker(A.List_List$filled(20, null, false, t2), t1, A.List_List$filled(20, null, false, t2));
    },
    $signature: 974
  };
  A.ScrollBehavior_velocityTrackerBuilder_closure0.prototype = {
    call$1($event) {
      return new A.VelocityTracker($event.get$kind($event), A.List_List$filled(20, null, false, type$.nullable__PointAtTime));
    },
    $signature: 248
  };
  A._WrappedScrollBehavior.prototype = {
    get$dragDevices() {
      var t1 = this._dragDevices;
      return t1 == null ? B.Set_chs59 : t1;
    },
    buildOverscrollIndicator$3(context, child, details) {
      if (this.overscroll)
        return this.delegate.buildOverscrollIndicator$3(context, child, details);
      return child;
    },
    buildScrollbar$3(context, child, details) {
      if (this.scrollbars)
        return this.delegate.buildScrollbar$3(context, child, details);
      return child;
    },
    copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(androidOverscrollIndicator, dragDevices, overscroll, physics, platform, $scrollbars) {
      var _this = this,
        t1 = overscroll == null ? _this.overscroll : overscroll,
        t2 = physics == null ? _this.physics : physics,
        t3 = platform == null ? _this.platform : platform,
        t4 = _this.get$dragDevices(),
        t5 = _this._androidOverscrollIndicator;
      if (t5 == null)
        t5 = B.AndroidOverscrollIndicator_1;
      return _this.delegate.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(t5, t4, t1, t2, t3, $scrollbars);
    },
    copyWith$1$scrollbars($scrollbars) {
      return this.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(null, null, null, null, null, $scrollbars);
    },
    copyWith$2$overscroll$scrollbars(overscroll, $scrollbars) {
      return this.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(null, null, overscroll, null, null, $scrollbars);
    },
    copyWith$4$overscroll$physics$platform$scrollbars(overscroll, physics, platform, $scrollbars) {
      return this.copyWith$6$androidOverscrollIndicator$dragDevices$overscroll$physics$platform$scrollbars(null, null, overscroll, physics, platform, $scrollbars);
    },
    getPlatform$1(context) {
      var t1 = this.platform;
      return t1 == null ? this.delegate.getPlatform$1(context) : t1;
    },
    getScrollPhysics$1(context) {
      var t1 = this.physics;
      return t1 == null ? this.delegate.getScrollPhysics$1(context) : t1;
    },
    shouldNotify$1(oldDelegate) {
      var _this = this;
      return A.getRuntimeType(oldDelegate.delegate) !== A.getRuntimeType(_this.delegate) || oldDelegate.scrollbars !== _this.scrollbars || oldDelegate.overscroll !== _this.overscroll || oldDelegate.physics != _this.physics || oldDelegate.platform != _this.platform || !A.setEquals(oldDelegate.get$dragDevices(), _this.get$dragDevices()) || false;
    },
    velocityTrackerBuilder$1(context) {
      return this.delegate.velocityTrackerBuilder$1(context);
    },
    toString$0(_) {
      return "_WrappedScrollBehavior";
    }
  };
  A.ScrollConfiguration.prototype = {
    updateShouldNotify$1(oldWidget) {
      var t1 = this.behavior,
        t2 = oldWidget.behavior;
      if (A.getRuntimeType(t1) === A.getRuntimeType(t2))
        t1 = t1 !== t2 && t1.shouldNotify$1(t2);
      else
        t1 = true;
      return t1;
    }
  };
  A.ScrollController.prototype = {
    get$position(_) {
      return B.JSArray_methods.get$single(this._positions);
    },
    animateTo$3$curve$duration(offset, curve, duration) {
      return this.animateTo$body$ScrollController(offset, curve, duration);
    },
    animateTo$body$ScrollController(offset, curve, duration) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t2, i, t1;
      var $async$animateTo$3$curve$duration = 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 = A._setArrayType([], type$.JSArray_Future_void);
              for (t2 = $async$self._positions, i = 0; i < t2.length; ++i)
                t1.push(t2[i].animateTo$3$curve$duration(offset, curve, duration));
              $async$goto = 2;
              return A._asyncAwait(A.Future_wait(t1, type$.void), $async$animateTo$3$curve$duration);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$animateTo$3$curve$duration, $async$completer);
    },
    jumpTo$1(value) {
      var t1, t2, _i;
      for (t1 = A.List_List$of(this._positions, true, type$.ScrollPosition), t2 = t1.length, _i = 0; _i < t2; ++_i)
        t1[_i].jumpTo$1(value);
    },
    attach$1(position) {
      this._positions.push(position);
      position.addListener$1(0, this.get$notifyListeners());
    },
    detach$1(_, position) {
      position.removeListener$1(0, this.get$notifyListeners());
      B.JSArray_methods.remove$1(this._positions, position);
    },
    dispose$0() {
      var t1, t2, t3, _i;
      for (t1 = this._positions, t2 = t1.length, t3 = this.get$notifyListeners(), _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].removeListener$1(0, t3);
      this.super$ChangeNotifier$dispose();
    },
    createScrollPosition$3(physics, context, oldPosition) {
      return A.ScrollPositionWithSingleContext$(context, null, this._initialScrollOffset, true, oldPosition, physics);
    },
    toString$0(_) {
      var _this = this,
        description = A._setArrayType([], type$.JSArray_String),
        t1 = _this._initialScrollOffset;
      if (t1 !== 0)
        description.push("initialScrollOffset: " + B.JSNumber_methods.toStringAsFixed$1(t1, 1) + ", ");
      t1 = _this._positions.length;
      if (t1 === 0)
        description.push("no clients");
      else if (t1 === 1) {
        t1 = _this.get$position(_this)._pixels;
        t1.toString;
        description.push("one client, offset " + B.JSNumber_methods.toStringAsFixed$1(t1, 1));
      } else
        description.push("" + t1 + " clients");
      return "<optimized out>#" + A.shortHash(_this) + "(" + B.JSArray_methods.join$1(description, ", ") + ")";
    }
  };
  A.ScrollMetrics.prototype = {
    copyWith$0() {
      var _this = this, _null = null,
        t1 = _this.get$hasContentDimensions() ? _this.get$minScrollExtent() : _null,
        t2 = _this.get$hasContentDimensions() ? _this.get$maxScrollExtent() : _null,
        t3 = _this.get$hasPixels() ? _this.get$pixels() : _null,
        t4 = _this.get$hasViewportDimension() ? _this.get$viewportDimension() : _null,
        t5 = _this.get$axisDirection();
      return new A.FixedScrollMetrics(t1, t2, t3, t4, t5);
    },
    get$outOfRange() {
      var _this = this;
      return _this.get$pixels() < _this.get$minScrollExtent() || _this.get$pixels() > _this.get$maxScrollExtent();
    },
    get$atEdge() {
      var _this = this;
      return _this.get$pixels() === _this.get$minScrollExtent() || _this.get$pixels() === _this.get$maxScrollExtent();
    },
    get$extentInside() {
      var _this = this;
      return _this.get$viewportDimension() - A.clampDouble(_this.get$minScrollExtent() - _this.get$pixels(), 0, _this.get$viewportDimension()) - A.clampDouble(_this.get$pixels() - _this.get$maxScrollExtent(), 0, _this.get$viewportDimension());
    }
  };
  A.FixedScrollMetrics.prototype = {
    get$minScrollExtent() {
      var t1 = this._scroll_metrics$_minScrollExtent;
      t1.toString;
      return t1;
    },
    get$maxScrollExtent() {
      var t1 = this._scroll_metrics$_maxScrollExtent;
      t1.toString;
      return t1;
    },
    get$hasContentDimensions() {
      return this._scroll_metrics$_minScrollExtent != null && this._scroll_metrics$_maxScrollExtent != null;
    },
    get$pixels() {
      var t1 = this._scroll_metrics$_pixels;
      t1.toString;
      return t1;
    },
    get$hasPixels() {
      return this._scroll_metrics$_pixels != null;
    },
    get$viewportDimension() {
      var t1 = this._scroll_metrics$_viewportDimension;
      t1.toString;
      return t1;
    },
    get$hasViewportDimension() {
      return this._scroll_metrics$_viewportDimension != null;
    },
    toString$0(_) {
      var _this = this;
      return "FixedScrollMetrics(" + B.JSNumber_methods.toStringAsFixed$1(Math.max(_this.get$pixels() - _this.get$minScrollExtent(), 0), 1) + "..[" + B.JSNumber_methods.toStringAsFixed$1(_this.get$extentInside(), 1) + "].." + B.JSNumber_methods.toStringAsFixed$1(Math.max(_this.get$maxScrollExtent() - _this.get$pixels(), 0), 1) + ")";
    },
    get$axisDirection() {
      return this.axisDirection;
    }
  };
  A._FixedScrollMetrics_Object_ScrollMetrics.prototype = {};
  A.ViewportNotificationMixin.prototype = {};
  A.ViewportElementMixin.prototype = {
    onNotification$1(notification) {
      if (type$.ViewportNotificationMixin._is(notification))
        ++notification.ViewportNotificationMixin__depth;
      return false;
    }
  };
  A.ScrollNotification.prototype = {
    debugFillDescription$1(description) {
      this.super$_ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin$debugFillDescription(description);
      description.push(this.metrics.toString$0(0));
    }
  };
  A.ScrollStartNotification.prototype = {
    debugFillDescription$1(description) {
      var t1;
      this.super$ScrollNotification$debugFillDescription(description);
      t1 = this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    }
  };
  A.ScrollUpdateNotification.prototype = {
    debugFillDescription$1(description) {
      var t1;
      this.super$ScrollNotification$debugFillDescription(description);
      description.push("scrollDelta: " + A.S(this.scrollDelta));
      t1 = this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    },
    get$dragDetails() {
      return this.dragDetails;
    }
  };
  A.OverscrollNotification.prototype = {
    debugFillDescription$1(description) {
      var t1, _this = this;
      _this.super$ScrollNotification$debugFillDescription(description);
      description.push("overscroll: " + B.JSNumber_methods.toStringAsFixed$1(_this.overscroll, 1));
      description.push("velocity: " + B.JSNumber_methods.toStringAsFixed$1(_this.velocity, 1));
      t1 = _this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    }
  };
  A.ScrollEndNotification.prototype = {
    debugFillDescription$1(description) {
      var t1;
      this.super$ScrollNotification$debugFillDescription(description);
      t1 = this.dragDetails;
      if (t1 != null)
        description.push(t1.toString$0(0));
    },
    get$dragDetails() {
      return this.dragDetails;
    }
  };
  A.UserScrollNotification.prototype = {
    debugFillDescription$1(description) {
      this.super$ScrollNotification$debugFillDescription(description);
      description.push("direction: " + this.direction.toString$0(0));
    }
  };
  A._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin.prototype = {
    debugFillDescription$1(description) {
      var t1, t2;
      this.super$Notification$debugFillDescription(description);
      t1 = this.ViewportNotificationMixin__depth;
      t2 = t1 === 0 ? "local" : "remote";
      description.push("depth: " + t1 + " (" + t2 + ")");
    }
  };
  A._ScrollNotificationObserverScope.prototype = {
    updateShouldNotify$1(old) {
      return this._scrollNotificationObserverState !== old._scrollNotificationObserverState;
    }
  };
  A._ListenerEntry.prototype = {
    listener$1($receiver, arg0) {
      return this.listener.call$1(arg0);
    }
  };
  A.ScrollNotificationObserver.prototype = {
    createState$0() {
      return new A.ScrollNotificationObserverState(new A.LinkedList(type$.LinkedList__ListenerEntry), B._StateLifecycle_0);
    }
  };
  A.ScrollNotificationObserverState.prototype = {
    removeListener$1(_, listener) {
      var t2, t3,
        t1 = this._scroll_notification_observer$_listeners;
      t1.toString;
      t1 = A._LinkedListIterator$(t1, t1.$ti._precomputed1);
      t2 = t1.$ti._precomputed1;
      for (; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (J.$eq$(t3.listener, listener)) {
          t1 = t3._collection$_list;
          t1.toString;
          t1._unlink$1(A._instanceType(t3)._eval$1("LinkedListEntry.E")._as(t3));
          return;
        }
      }
    },
    _notifyListeners$1(notification) {
      var entry, exception, stack, localListeners, _i, exception0, rti, t2, t3, _this = this,
        t1 = _this._scroll_notification_observer$_listeners;
      if (t1._collection$_length === 0)
        return;
      localListeners = A.List_List$of(t1, true, type$._ListenerEntry);
      for (t1 = localListeners.length, _i = 0; _i < t1; ++_i) {
        entry = localListeners[_i];
        try {
          if (entry._collection$_list != null)
            J.listener$1$z(entry, notification);
        } catch (exception0) {
          exception = A.unwrapException(exception0);
          stack = A.getTraceFromException(exception0);
          rti = _this instanceof A.Closure ? A.closureFunctionType(_this) : null;
          t2 = A.ErrorDescription$("while dispatching notifications for " + A.createRuntimeType(rti == null ? A.instanceType(_this) : rti).toString$0(0));
          t3 = $.$get$FlutterError_onError();
          if (t3 != null)
            t3.call$1(new A.FlutterErrorDetails(exception, stack, "widget library", t2, new A.ScrollNotificationObserverState__notifyListeners_closure(_this), false));
        }
      }
    },
    build$1(context) {
      var _this = this;
      return new A.NotificationListener(new A.ScrollNotificationObserverState_build_closure(_this), new A.NotificationListener(new A.ScrollNotificationObserverState_build_closure0(_this), new A._ScrollNotificationObserverScope(_this, _this._widget.child, null), null, type$.NotificationListener_ScrollNotification), null, type$.NotificationListener_ScrollMetricsNotification);
    },
    dispose$0() {
      this._scroll_notification_observer$_listeners = null;
      this.super$State$dispose();
    }
  };
  A.ScrollNotificationObserverState__notifyListeners_closure.prototype = {
    call$0() {
      var _null = null,
        t1 = this.$this;
      return A._setArrayType([A.DiagnosticsProperty$("The " + A.getRuntimeType(t1).toString$0(0) + " sending notification was", t1, true, B.C__NoDefaultValue, _null, false, _null, _null, B.DiagnosticLevel_3, _null, false, true, true, B.DiagnosticsTreeStyle_9, _null, type$.ScrollNotificationObserverState)], type$.JSArray_DiagnosticsNode);
    },
    $signature: 36
  };
  A.ScrollNotificationObserverState_build_closure.prototype = {
    call$1(notification) {
      var t1 = new A._ConvertedScrollMetricsNotification(null, null, notification.metrics, notification.context, 0);
      t1.ViewportNotificationMixin__depth = notification.ViewportNotificationMixin__depth;
      this.$this._notifyListeners$1(t1);
      return false;
    },
    $signature: 184
  };
  A.ScrollNotificationObserverState_build_closure0.prototype = {
    call$1(notification) {
      this.$this._notifyListeners$1(notification);
      return false;
    },
    $signature: 52
  };
  A._ConvertedScrollMetricsNotification.prototype = {};
  A.ScrollPhysics.prototype = {
    buildParent$1(ancestor) {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.applyTo$1(ancestor);
      return t1 == null ? ancestor : t1;
    },
    applyTo$1(ancestor) {
      return new A.ScrollPhysics(this.buildParent$1(ancestor));
    },
    applyPhysicsToUserOffset$2(position, offset) {
      var t1 = this.parent;
      if (t1 == null)
        return offset;
      return t1.applyPhysicsToUserOffset$2(position, offset);
    },
    shouldAcceptUserOffset$1(position) {
      var t2,
        t1 = this.parent;
      if (t1 == null) {
        t1 = position._pixels;
        t1.toString;
        if (t1 === 0) {
          t1 = position._minScrollExtent;
          t1.toString;
          t2 = position._maxScrollExtent;
          t2.toString;
          t2 = t1 !== t2;
          t1 = t2;
        } else
          t1 = true;
        return t1;
      }
      return t1.shouldAcceptUserOffset$1(position);
    },
    recommendDeferredLoading$3(velocity, metrics, context) {
      var t1 = this.parent;
      if (t1 == null) {
        $.WidgetsBinding__instance.toString;
        t1 = $.$get$window().get$physicalSize();
        return Math.abs(velocity) > Math.max(Math.abs(t1._dx), Math.abs(t1._dy));
      }
      return t1.recommendDeferredLoading$3(velocity, metrics, context);
    },
    applyBoundaryConditions$2(position, value) {
      var t1 = this.parent;
      if (t1 == null)
        return 0;
      return t1.applyBoundaryConditions$2(position, value);
    },
    adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity(isScrolling, newPosition, oldPosition, velocity) {
      var t1 = this.parent;
      if (t1 == null) {
        t1 = newPosition._scroll_metrics$_pixels;
        t1.toString;
        return t1;
      }
      return t1.adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity(isScrolling, newPosition, oldPosition, velocity);
    },
    createBallisticSimulation$2(position, velocity) {
      var t1 = this.parent;
      if (t1 == null)
        return null;
      return t1.createBallisticSimulation$2(position, velocity);
    },
    get$spring() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$spring();
      return t1 == null ? $.$get$ScrollPhysics__kDefaultSpring() : t1;
    },
    get$tolerance() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$tolerance();
      return t1 == null ? $.$get$ScrollPhysics__kDefaultTolerance() : t1;
    },
    get$minFlingDistance() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$minFlingDistance();
      return t1 == null ? 18 : t1;
    },
    get$minFlingVelocity() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$minFlingVelocity();
      return t1 == null ? 50 : t1;
    },
    get$maxFlingVelocity() {
      var t1 = this.parent;
      t1 = t1 == null ? null : t1.get$maxFlingVelocity();
      return t1 == null ? 8000 : t1;
    },
    carriedMomentum$1(existingVelocity) {
      var t1 = this.parent;
      if (t1 == null)
        return 0;
      return t1.carriedMomentum$1(existingVelocity);
    },
    get$dragStartDistanceMotionThreshold() {
      var t1 = this.parent;
      return t1 == null ? null : t1.get$dragStartDistanceMotionThreshold();
    },
    get$allowImplicitScrolling() {
      return true;
    },
    toString$0(_) {
      var t1 = this.parent;
      if (t1 == null)
        return "ScrollPhysics";
      return "ScrollPhysics -> " + t1.toString$0(0);
    }
  };
  A.RangeMaintainingScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A.RangeMaintainingScrollPhysics(this.buildParent$1(ancestor));
    },
    adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity(isScrolling, newPosition, oldPosition, velocity) {
      var maintainOverscroll, enforceBoundary, t1, t2, t3, t4, t5, result;
      if (velocity !== 0) {
        maintainOverscroll = false;
        enforceBoundary = false;
      } else {
        maintainOverscroll = true;
        enforceBoundary = true;
      }
      t1 = oldPosition._scroll_metrics$_minScrollExtent;
      t1.toString;
      t2 = newPosition._scroll_metrics$_minScrollExtent;
      t2.toString;
      if (t1 === t2) {
        t3 = oldPosition._scroll_metrics$_maxScrollExtent;
        t3.toString;
        t4 = newPosition._scroll_metrics$_maxScrollExtent;
        t4.toString;
        t4 = t3 === t4;
        t3 = t4;
      } else
        t3 = false;
      if (t3)
        maintainOverscroll = false;
      t3 = oldPosition._scroll_metrics$_pixels;
      t3.toString;
      t4 = newPosition._scroll_metrics$_pixels;
      t4.toString;
      if (t3 !== t4) {
        if (isFinite(t1)) {
          t4 = oldPosition._scroll_metrics$_maxScrollExtent;
          t4.toString;
          if (isFinite(t4))
            if (isFinite(t2)) {
              t4 = newPosition._scroll_metrics$_maxScrollExtent;
              t4.toString;
              t4 = isFinite(t4);
            } else
              t4 = false;
          else
            t4 = false;
        } else
          t4 = false;
        if (t4)
          enforceBoundary = false;
        maintainOverscroll = false;
      }
      t4 = t3 < t1;
      if (!t4) {
        t5 = oldPosition._scroll_metrics$_maxScrollExtent;
        t5.toString;
        t5 = t3 > t5;
      } else
        t5 = true;
      if (t5)
        enforceBoundary = false;
      if (maintainOverscroll) {
        if (t4 && t2 > t1)
          return t2 - (t1 - t3);
        t1 = oldPosition._scroll_metrics$_maxScrollExtent;
        t1.toString;
        if (t3 > t1) {
          t4 = newPosition._scroll_metrics$_maxScrollExtent;
          t4.toString;
          t4 = t4 < t1;
        } else
          t4 = false;
        if (t4) {
          t2 = newPosition._scroll_metrics$_maxScrollExtent;
          t2.toString;
          return t2 + (t3 - t1);
        }
      }
      result = this.super$ScrollPhysics$adjustPositionForNewDimensions(isScrolling, newPosition, oldPosition, velocity);
      if (enforceBoundary) {
        t1 = newPosition._scroll_metrics$_maxScrollExtent;
        t1.toString;
        result = A.clampDouble(result, t2, t1);
      }
      return result;
    }
  };
  A.BouncingScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A.BouncingScrollPhysics(this.buildParent$1(ancestor));
    },
    applyPhysicsToUserOffset$2(position, offset) {
      var t1, t2, overscrollPastStart, overscrollPastEnd, overscrollPast, easing, friction;
      if (!position.get$outOfRange())
        return offset;
      t1 = position._minScrollExtent;
      t1.toString;
      t2 = position._pixels;
      t2.toString;
      overscrollPastStart = Math.max(t1 - t2, 0);
      t1 = position._maxScrollExtent;
      t1.toString;
      overscrollPastEnd = Math.max(t2 - t1, 0);
      overscrollPast = Math.max(overscrollPastStart, overscrollPastEnd);
      if (!(overscrollPastStart > 0 && offset < 0))
        easing = overscrollPastEnd > 0 && offset > 0;
      else
        easing = true;
      t1 = position._viewportDimension;
      if (easing) {
        t1.toString;
        friction = 0.52 * Math.pow(1 - (overscrollPast - Math.abs(offset)) / t1, 2);
      } else {
        t1.toString;
        friction = 0.52 * Math.pow(1 - overscrollPast / t1, 2);
      }
      return J.get$sign$in(offset) * A.BouncingScrollPhysics__applyFriction(overscrollPast, Math.abs(offset), friction);
    },
    applyBoundaryConditions$2(position, value) {
      return 0;
    },
    createBallisticSimulation$2(position, velocity) {
      var t1, t2, t3, t4, t5, finalX,
        tolerance = this.get$tolerance();
      if (Math.abs(velocity) >= tolerance.velocity || position.get$outOfRange()) {
        t1 = this.get$spring();
        t2 = position._pixels;
        t2.toString;
        t3 = position._minScrollExtent;
        t3.toString;
        t4 = position._maxScrollExtent;
        t4.toString;
        t5 = new A.BouncingScrollSimulation(t3, t4, t1, tolerance);
        if (t2 < t3) {
          t5.__BouncingScrollSimulation__springSimulation = new A.ScrollSpringSimulation(t3, A._SpringSolution__SpringSolution(t1, t2 - t3, velocity), B.Tolerance_Gdw);
          t5.__BouncingScrollSimulation__springTime = -1 / 0;
        } else if (t2 > t4) {
          t5.__BouncingScrollSimulation__springSimulation = new A.ScrollSpringSimulation(t4, A._SpringSolution__SpringSolution(t1, t2 - t4, velocity), B.Tolerance_Gdw);
          t5.__BouncingScrollSimulation__springTime = -1 / 0;
        } else {
          t2 = t5.__BouncingScrollSimulation__frictionSimulation = new A.FrictionSimulation(0.135, Math.log(0.135), t2, velocity, B.Tolerance_Gdw);
          finalX = t2.get$finalX();
          if (velocity > 0 && finalX > t4) {
            t2 = t2.timeAtX$1(t4);
            t5.__BouncingScrollSimulation__springTime = t2;
            t5.__BouncingScrollSimulation__springSimulation = new A.ScrollSpringSimulation(t4, A._SpringSolution__SpringSolution(t1, t4 - t4, Math.min(velocity * Math.pow(0.135, t2), 5000)), B.Tolerance_Gdw);
          } else if (velocity < 0 && finalX < t3) {
            t2 = t2.timeAtX$1(t3);
            t5.__BouncingScrollSimulation__springTime = t2;
            t5.__BouncingScrollSimulation__springSimulation = new A.ScrollSpringSimulation(t3, A._SpringSolution__SpringSolution(t1, t3 - t3, Math.min(velocity * Math.pow(0.135, t2), 5000)), B.Tolerance_Gdw);
          } else
            t5.__BouncingScrollSimulation__springTime = 1 / 0;
        }
        return t5;
      }
      return null;
    },
    get$minFlingVelocity() {
      return 100;
    },
    carriedMomentum$1(existingVelocity) {
      return J.get$sign$in(existingVelocity) * Math.min(0.000816 * Math.pow(Math.abs(existingVelocity), 1.967), 40000);
    },
    get$dragStartDistanceMotionThreshold() {
      return 3.5;
    }
  };
  A.ClampingScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A.ClampingScrollPhysics(this.buildParent$1(ancestor));
    },
    applyBoundaryConditions$2(position, value) {
      var t2, t3,
        t1 = position._pixels;
      t1.toString;
      if (value < t1) {
        t2 = position._minScrollExtent;
        t2.toString;
        t2 = t1 <= t2;
      } else
        t2 = false;
      if (t2)
        return value - t1;
      t2 = position._maxScrollExtent;
      t2.toString;
      if (t2 <= t1 && t1 < value)
        return value - t1;
      t3 = position._minScrollExtent;
      t3.toString;
      if (value < t3 && t3 < t1)
        return value - t3;
      if (t1 < t2 && t2 < value)
        return value - t2;
      return 0;
    },
    createBallisticSimulation$2(position, velocity) {
      var t1, t2, end, t3, _null = null,
        tolerance = this.get$tolerance();
      if (position.get$outOfRange()) {
        t1 = position._pixels;
        t1.toString;
        t2 = position._maxScrollExtent;
        t2.toString;
        if (t1 > t2)
          end = t2;
        else
          end = _null;
        t2 = position._minScrollExtent;
        t2.toString;
        if (t1 < t2)
          end = t2;
        t1 = this.get$spring();
        t2 = position._pixels;
        t2.toString;
        end.toString;
        return new A.ScrollSpringSimulation(end, A._SpringSolution__SpringSolution(t1, t2 - end, Math.min(0, velocity)), tolerance);
      }
      t1 = Math.abs(velocity);
      if (t1 < tolerance.velocity)
        return _null;
      if (velocity > 0) {
        t2 = position._pixels;
        t2.toString;
        t3 = position._maxScrollExtent;
        t3.toString;
        t3 = t2 >= t3;
        t2 = t3;
      } else
        t2 = false;
      if (t2)
        return _null;
      if (velocity < 0) {
        t2 = position._pixels;
        t2.toString;
        t3 = position._minScrollExtent;
        t3.toString;
        t3 = t2 <= t3;
        t2 = t3;
      } else
        t2 = false;
      if (t2)
        return _null;
      t2 = position._pixels;
      t2.toString;
      t2 = new A.ClampingScrollSimulation(t2, velocity, tolerance);
      t1 = Math.exp(Math.log(0.35 * t1 / 778.3530259679999) / ($.$get$ClampingScrollSimulation__kDecelerationRate() - 1));
      t2.__ClampingScrollSimulation__duration = t1;
      t2.__ClampingScrollSimulation__distance = Math.abs(velocity * t1 / 3.065);
      return t2;
    }
  };
  A.AlwaysScrollableScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A.AlwaysScrollableScrollPhysics(this.buildParent$1(ancestor));
    },
    shouldAcceptUserOffset$1(position) {
      return true;
    }
  };
  A.NeverScrollableScrollPhysics.prototype = {
    applyTo$1(ancestor) {
      return new A.NeverScrollableScrollPhysics(this.buildParent$1(ancestor));
    },
    shouldAcceptUserOffset$1(position) {
      return false;
    },
    get$allowImplicitScrolling() {
      return false;
    }
  };
  A.ScrollPositionAlignmentPolicy.prototype = {
    toString$0(_) {
      return "ScrollPositionAlignmentPolicy." + this._core$_name;
    }
  };
  A.ScrollPosition.prototype = {
    ScrollPosition$5$context$debugLabel$keepScrollOffset$oldPosition$physics(context, debugLabel, keepScrollOffset, oldPosition, physics) {
      if (oldPosition != null)
        this.absorb$1(oldPosition);
      this.restoreScrollOffset$0();
    },
    get$minScrollExtent() {
      var t1 = this._minScrollExtent;
      t1.toString;
      return t1;
    },
    get$maxScrollExtent() {
      var t1 = this._maxScrollExtent;
      t1.toString;
      return t1;
    },
    get$hasContentDimensions() {
      return this._minScrollExtent != null && this._maxScrollExtent != null;
    },
    get$pixels() {
      var t1 = this._pixels;
      t1.toString;
      return t1;
    },
    get$hasPixels() {
      return this._pixels != null;
    },
    get$viewportDimension() {
      var t1 = this._viewportDimension;
      t1.toString;
      return t1;
    },
    get$hasViewportDimension() {
      return this._viewportDimension != null;
    },
    absorb$1(other) {
      var _this = this,
        t1 = other._minScrollExtent;
      if (t1 != null && other._maxScrollExtent != null) {
        t1.toString;
        _this._minScrollExtent = t1;
        t1 = other._maxScrollExtent;
        t1.toString;
        _this._maxScrollExtent = t1;
      }
      t1 = other._pixels;
      if (t1 != null)
        _this._pixels = t1;
      t1 = other._viewportDimension;
      if (t1 != null)
        _this._viewportDimension = t1;
      _this._activity = other._activity;
      other._activity = null;
      if (A.getRuntimeType(other) !== A.getRuntimeType(_this))
        _this._activity.resetActivity$0();
      _this.context.setIgnorePointer$1(_this._activity.get$shouldIgnorePointer());
      _this.isScrollingNotifier.set$value(0, _this._activity.get$isScrolling());
    },
    setPixels$1(newPixels) {
      var result, t2, t3, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (newPixels !== t1) {
        result = _this.physics.applyBoundaryConditions$2(_this, newPixels);
        t1 = _this._pixels;
        t1.toString;
        t2 = newPixels - result;
        _this._pixels = t2;
        if (t2 !== t1) {
          _this._updateSemanticActions$0();
          _this.super$ChangeNotifier$notifyListeners();
          t2 = _this._pixels;
          t2.toString;
          _this.didUpdateScrollPositionBy$1(t2 - t1);
        }
        if (result !== 0) {
          t1 = _this._activity;
          t1.toString;
          t2 = _this.copyWith$0();
          t3 = _this.context.get$notificationContext();
          t3.toString;
          t1.dispatchOverscrollNotification$3(t2, t3, result);
          return result;
        }
      }
      return 0;
    },
    correctBy$1(correction) {
      var t1 = this._pixels;
      t1.toString;
      this._pixels = t1 + correction;
      this._didChangeViewportDimensionOrReceiveCorrection = true;
    },
    forcePixels$1(value) {
      var _this = this,
        t1 = _this._pixels;
      t1.toString;
      _this._impliedVelocity = value - t1;
      _this._pixels = value;
      _this._updateSemanticActions$0();
      _this.super$ChangeNotifier$notifyListeners();
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.ScrollPosition_forcePixels_closure(_this));
    },
    saveScrollOffset$0() {
      var t3,
        t1 = this.context,
        t2 = A.PageStorage_of(t1.get$storageContext());
      if (t2 != null) {
        t1 = t1.get$storageContext();
        t3 = this._pixels;
        t3.toString;
        t2.writeState$2(t1, t3);
      }
    },
    restoreScrollOffset$0() {
      var t1, t2, value;
      if (this._pixels == null) {
        t1 = this.context;
        t2 = A.PageStorage_of(t1.get$storageContext());
        value = A._asDoubleQ(t2 == null ? null : t2.readState$1(t1.get$storageContext()));
        if (value != null)
          this._pixels = value;
      }
    },
    restoreOffset$2$initialRestore(offset, initialRestore) {
      if (initialRestore)
        this._pixels = offset;
      else
        this.jumpTo$1(offset);
    },
    saveOffset$0() {
      var t1 = this._pixels;
      t1.toString;
      this.context.saveOffset$1(t1);
    },
    applyViewportDimension$1(viewportDimension) {
      if (this._viewportDimension !== viewportDimension) {
        this._viewportDimension = viewportDimension;
        this._didChangeViewportDimensionOrReceiveCorrection = true;
      }
      return true;
    },
    applyContentDimensions$2(minScrollExtent, maxScrollExtent) {
      var currentMetrics, t1, t2, _this = this;
      if (!A.nearEqual(_this._minScrollExtent, minScrollExtent, 0.001) || !A.nearEqual(_this._maxScrollExtent, maxScrollExtent, 0.001) || _this._didChangeViewportDimensionOrReceiveCorrection || _this._lastAxis !== A.axisDirectionToAxis(_this.get$axisDirection())) {
        _this._minScrollExtent = minScrollExtent;
        _this._maxScrollExtent = maxScrollExtent;
        _this._lastAxis = A.axisDirectionToAxis(_this.get$axisDirection());
        currentMetrics = _this._haveDimensions ? _this.copyWith$0() : null;
        _this._didChangeViewportDimensionOrReceiveCorrection = false;
        _this._pendingDimensions = true;
        if (_this._haveDimensions) {
          t1 = _this._scroll_position$_lastMetrics;
          t1.toString;
          currentMetrics.toString;
          t1 = !_this.correctForNewDimensions$2(t1, currentMetrics);
        } else
          t1 = false;
        if (t1)
          return false;
        _this._haveDimensions = true;
      }
      if (_this._pendingDimensions) {
        _this.super$ScrollPosition$applyNewDimensions();
        _this.context.setCanDrag$1(_this.physics.shouldAcceptUserOffset$1(_this));
        _this._pendingDimensions = false;
      }
      currentMetrics = _this.copyWith$0();
      if (_this._scroll_position$_lastMetrics != null) {
        t1 = Math.max(currentMetrics.get$pixels() - currentMetrics.get$minScrollExtent(), 0);
        t2 = _this._scroll_position$_lastMetrics;
        if (t1 === Math.max(t2.get$pixels() - t2.get$minScrollExtent(), 0))
          if (currentMetrics.get$extentInside() === _this._scroll_position$_lastMetrics.get$extentInside()) {
            t1 = Math.max(currentMetrics.get$maxScrollExtent() - currentMetrics.get$pixels(), 0);
            t2 = _this._scroll_position$_lastMetrics;
            t1 = t1 === Math.max(t2.get$maxScrollExtent() - t2.get$pixels(), 0) && currentMetrics.axisDirection === _this._scroll_position$_lastMetrics.axisDirection;
          } else
            t1 = false;
        else
          t1 = false;
        t1 = !t1;
      } else
        t1 = true;
      if (t1) {
        if (!_this._haveScheduledUpdateNotification) {
          A.scheduleMicrotask(_this.get$didUpdateScrollMetrics());
          _this._haveScheduledUpdateNotification = true;
        }
        _this._scroll_position$_lastMetrics = _this.copyWith$0();
      }
      return true;
    },
    correctForNewDimensions$2(oldPosition, newPosition) {
      var _this = this,
        newPixels = _this.physics.adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity(_this._activity.get$isScrolling(), newPosition, oldPosition, _this._activity.get$velocity()),
        t1 = _this._pixels;
      t1.toString;
      if (newPixels !== t1) {
        _this._pixels = newPixels;
        return false;
      }
      return true;
    },
    applyNewDimensions$0() {
      this._activity.applyNewDimensions$0();
      this._updateSemanticActions$0();
    },
    _updateSemanticActions$0() {
      var $forward, backward, actions, t2, t3, _this = this,
        t1 = _this.context;
      switch (t1.get$axisDirection().index) {
        case 0:
          $forward = B.SemanticsAction_32;
          backward = B.SemanticsAction_16;
          break;
        case 1:
          $forward = B.SemanticsAction_4;
          backward = B.SemanticsAction_8;
          break;
        case 2:
          $forward = B.SemanticsAction_16;
          backward = B.SemanticsAction_32;
          break;
        case 3:
          $forward = B.SemanticsAction_8;
          backward = B.SemanticsAction_4;
          break;
        default:
          $forward = null;
          backward = null;
      }
      actions = A.LinkedHashSet_LinkedHashSet$_empty(type$.SemanticsAction);
      t2 = _this._pixels;
      t2.toString;
      t3 = _this._minScrollExtent;
      t3.toString;
      if (t2 > t3)
        actions.add$1(0, backward);
      t2 = _this._pixels;
      t2.toString;
      t3 = _this._maxScrollExtent;
      t3.toString;
      if (t2 < t3)
        actions.add$1(0, $forward);
      if (A.setEquals(actions, _this._semanticActions))
        return;
      _this._semanticActions = actions;
      t1.setSemanticsActions$1(actions);
    },
    ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(object, alignment, alignmentPolicy, curve, duration, targetRenderObject) {
      var targetRect, t2, t3, target, _this = this, _null = null,
        t1 = A.RenderAbstractViewport_of(object);
      t1.toString;
      targetRect = targetRenderObject != null && targetRenderObject !== object ? A.MatrixUtils_transformRect(targetRenderObject.getTransformTo$1(0, object), object.get$paintBounds().intersect$1(targetRenderObject.get$paintBounds())) : _null;
      switch (alignmentPolicy.index) {
        case 0:
          t1 = t1.getOffsetToReveal$3$rect(object, alignment, targetRect);
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          target = A.clampDouble(t1.offset, t2, t3);
          break;
        case 1:
          t1 = t1.getOffsetToReveal$3$rect(object, 1, targetRect);
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          target = A.clampDouble(t1.offset, t2, t3);
          t1 = _this._pixels;
          t1.toString;
          if (target < t1)
            target = t1;
          break;
        case 2:
          t1 = t1.getOffsetToReveal$3$rect(object, 0, targetRect);
          t2 = _this._minScrollExtent;
          t2.toString;
          t3 = _this._maxScrollExtent;
          t3.toString;
          target = A.clampDouble(t1.offset, t2, t3);
          t1 = _this._pixels;
          t1.toString;
          if (target > t1)
            target = t1;
          break;
        default:
          target = _null;
      }
      t1 = _this._pixels;
      t1.toString;
      if (target === t1)
        return A.Future_Future$value(_null, type$.void);
      if (duration._duration === B.Duration_0._duration) {
        _this.jumpTo$1(target);
        return A.Future_Future$value(_null, type$.void);
      }
      return _this.animateTo$3$curve$duration(target, curve, duration);
    },
    ensureVisible$3$alignment$duration(object, alignment, duration) {
      return this.ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject(object, alignment, B.ScrollPositionAlignmentPolicy_0, B.Cubic_JUR, duration, null);
    },
    moveTo$3$curve$duration(_, to, curve, duration) {
      var t2,
        t1 = this._minScrollExtent;
      t1.toString;
      t2 = this._maxScrollExtent;
      t2.toString;
      to = A.clampDouble(to, t1, t2);
      return this.super$ViewportOffset$moveTo(0, to, curve, duration);
    },
    beginActivity$1(newActivity) {
      var oldIgnorePointer, wasScrolling, _this = this,
        t1 = _this._activity;
      if (t1 != null) {
        oldIgnorePointer = t1.get$shouldIgnorePointer();
        wasScrolling = _this._activity.get$isScrolling();
        if (wasScrolling && !newActivity.get$isScrolling())
          _this.didEndScroll$0();
        _this._activity.dispose$0();
      } else {
        wasScrolling = false;
        oldIgnorePointer = false;
      }
      _this._activity = newActivity;
      if (oldIgnorePointer !== newActivity.get$shouldIgnorePointer())
        _this.context.setIgnorePointer$1(_this._activity.get$shouldIgnorePointer());
      _this.isScrollingNotifier.set$value(0, _this._activity.get$isScrolling());
      if (!wasScrolling && _this._activity.get$isScrolling())
        _this.didStartScroll$0();
    },
    didStartScroll$0() {
      var t1 = this._activity;
      t1.toString;
      t1.dispatchScrollStartNotification$2(this.copyWith$0(), this.context.get$notificationContext());
    },
    didUpdateScrollPositionBy$1(delta) {
      var t2, t3,
        t1 = this._activity;
      t1.toString;
      t2 = this.copyWith$0();
      t3 = this.context.get$notificationContext();
      t3.toString;
      t1.dispatchScrollUpdateNotification$3(t2, t3, delta);
    },
    didEndScroll$0() {
      var t2, t3, _this = this,
        t1 = _this._activity;
      t1.toString;
      t2 = _this.copyWith$0();
      t3 = _this.context.get$notificationContext();
      t3.toString;
      t1.dispatchScrollEndNotification$2(t2, t3);
      _this.saveOffset$0();
      _this.saveScrollOffset$0();
    },
    didUpdateScrollMetrics$0() {
      var t1, t2, t3;
      this._haveScheduledUpdateNotification = false;
      t1 = this.context;
      if (t1.get$notificationContext() != null) {
        t2 = this.copyWith$0();
        t3 = t1.get$notificationContext();
        t3.toString;
        t1 = t1.get$notificationContext();
        if (t1 != null)
          t1.dispatchNotification$1(new A.ScrollMetricsNotification(t2, t3, 0));
      }
    },
    dispose$0() {
      var t1 = this._activity;
      if (t1 != null)
        t1.dispose$0();
      this._activity = null;
      this.super$ChangeNotifier$dispose();
    },
    debugFillDescription$1(description) {
      var t1, t2, _this = this;
      _this.super$ViewportOffset$debugFillDescription(description);
      t1 = _this._minScrollExtent;
      t1 = t1 == null ? null : B.JSNumber_methods.toStringAsFixed$1(t1, 1);
      t2 = _this._maxScrollExtent;
      t2 = t2 == null ? null : B.JSNumber_methods.toStringAsFixed$1(t2, 1);
      description.push("range: " + A.S(t1) + ".." + A.S(t2));
      t2 = _this._viewportDimension;
      description.push("viewport: " + A.S(t2 == null ? null : B.JSNumber_methods.toStringAsFixed$1(t2, 1)));
    }
  };
  A.ScrollPosition_forcePixels_closure.prototype = {
    call$1(timeStamp) {
      this.$this._impliedVelocity = 0;
    },
    $signature: 3
  };
  A.ScrollMetricsNotification.prototype = {
    debugFillDescription$1(description) {
      this.super$_ScrollMetricsNotification_Notification_ViewportNotificationMixin$debugFillDescription(description);
      description.push(this.metrics.toString$0(0));
    }
  };
  A._ScrollMetricsNotification_Notification_ViewportNotificationMixin.prototype = {
    debugFillDescription$1(description) {
      var t1, t2;
      this.super$Notification$debugFillDescription(description);
      t1 = this.ViewportNotificationMixin__depth;
      t2 = t1 === 0 ? "local" : "remote";
      description.push("depth: " + t1 + " (" + t2 + ")");
    }
  };
  A._ScrollPosition_ViewportOffset_ScrollMetrics.prototype = {};
  A.ScrollPositionWithSingleContext.prototype = {
    ScrollPositionWithSingleContext$6$context$debugLabel$initialPixels$keepScrollOffset$oldPosition$physics(context, debugLabel, initialPixels, keepScrollOffset, oldPosition, physics) {
      var _this = this;
      if (_this._pixels == null && initialPixels != null)
        _this._pixels = initialPixels;
      if (_this._activity == null)
        _this.beginActivity$1(new A.IdleScrollActivity(_this));
    },
    get$axisDirection() {
      return this.context.get$axisDirection();
    },
    setPixels$1(newPixels) {
      return this.super$ScrollPosition$setPixels(newPixels);
    },
    absorb$1(other) {
      var t1, _this = this;
      _this.super$ScrollPosition$absorb(other);
      _this._activity._scroll_activity$_delegate = _this;
      _this._userScrollDirection = other._userScrollDirection;
      t1 = other._currentDrag;
      if (t1 != null) {
        _this._currentDrag = t1;
        t1._scroll_activity$_delegate = _this;
        other._currentDrag = null;
      }
    },
    beginActivity$1(newActivity) {
      var t1, _this = this;
      _this._heldPreviousVelocity = 0;
      _this.super$ScrollPosition$beginActivity(newActivity);
      t1 = _this._currentDrag;
      if (t1 != null)
        t1.dispose$0();
      _this._currentDrag = null;
      if (!_this._activity.get$isScrolling())
        _this.updateUserScrollDirection$1(B.ScrollDirection_0);
    },
    goBallistic$1(velocity) {
      var t1, t2, t3, _this = this,
        simulation = _this.physics.createBallisticSimulation$2(_this, velocity);
      if (simulation != null) {
        t1 = _this.context.get$vsync();
        t2 = new A.BallisticScrollActivity(_this);
        t1 = A.AnimationController$unbounded(null, 0, t1);
        t1.didRegisterListener$0();
        t3 = t1.AnimationLocalListenersMixin__listeners;
        t3._isDirty = true;
        t3._list.push(t2.get$_scroll_activity$_tick());
        t1.stop$0(0);
        t1._direction = B._AnimationDirection_0;
        t1._startSimulation$1(simulation)._primaryCompleter.future.whenComplete$1(t2.get$_scroll_activity$_end());
        t2.__BallisticScrollActivity__controller = t1;
        _this.beginActivity$1(t2);
      } else
        _this.beginActivity$1(new A.IdleScrollActivity(_this));
    },
    updateUserScrollDirection$1(value) {
      var t1, t2, t3, _this = this;
      if (_this._userScrollDirection === value)
        return;
      _this._userScrollDirection = value;
      t1 = _this.copyWith$0();
      t2 = _this.context;
      t3 = t2.get$notificationContext();
      t3.toString;
      t2 = t2.get$notificationContext();
      if (t2 != null)
        t2.dispatchNotification$1(new A.UserScrollNotification(value, t1, t3, 0));
    },
    animateTo$3$curve$duration(to, curve, duration) {
      var t2, activity, _this = this,
        t1 = _this._pixels;
      t1.toString;
      if (A.nearEqual(to, t1, _this.physics.get$tolerance().distance)) {
        _this.jumpTo$1(to);
        return A.Future_Future$value(null, type$.void);
      }
      t1 = _this._pixels;
      t1.toString;
      t2 = _this.context.get$vsync();
      activity = new A.DrivenScrollActivity(_this);
      activity.__DrivenScrollActivity__completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
      t2 = A.AnimationController$unbounded("DrivenScrollActivity", t1, t2);
      t2.didRegisterListener$0();
      t1 = t2.AnimationLocalListenersMixin__listeners;
      t1._isDirty = true;
      t1._list.push(activity.get$_scroll_activity$_tick());
      t2._direction = B._AnimationDirection_0;
      t2._animateToInternal$3$curve$duration(to, curve, duration)._primaryCompleter.future.whenComplete$1(activity.get$_scroll_activity$_end());
      if (activity.__DrivenScrollActivity__controller !== $)
        A.throwUnnamedLateFieldAI();
      activity.__DrivenScrollActivity__controller = t2;
      _this.beginActivity$1(activity);
      t2 = activity.__DrivenScrollActivity__completer;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t2.future;
    },
    jumpTo$1(value) {
      var t1, t2, _this = this;
      _this.beginActivity$1(new A.IdleScrollActivity(_this));
      t1 = _this._pixels;
      t1.toString;
      if (t1 !== value) {
        _this.forcePixels$1(value);
        _this.didStartScroll$0();
        t2 = _this._pixels;
        t2.toString;
        _this.didUpdateScrollPositionBy$1(t2 - t1);
        _this.didEndScroll$0();
      }
      _this.goBallistic$1(0);
    },
    hold$1(holdCancelCallback) {
      var _this = this,
        previousVelocity = _this._activity.get$velocity(),
        holdActivity = new A.HoldScrollActivity(holdCancelCallback, _this);
      _this.beginActivity$1(holdActivity);
      _this._heldPreviousVelocity = previousVelocity;
      return holdActivity;
    },
    drag$2(details, dragCancelCallback) {
      var t3, drag, _this = this,
        t1 = _this.physics,
        t2 = t1.carriedMomentum$1(_this._heldPreviousVelocity);
      t1 = t1.get$dragStartDistanceMotionThreshold();
      t3 = t1 == null ? null : 0;
      drag = new A.ScrollDragController(_this, dragCancelCallback, t2, t1, details.sourceTimeStamp, t2 !== 0, t3, details);
      _this.beginActivity$1(new A.DragScrollActivity(drag, _this));
      return _this._currentDrag = drag;
    },
    dispose$0() {
      var t1 = this._currentDrag;
      if (t1 != null)
        t1.dispose$0();
      this._currentDrag = null;
      this.super$ScrollPosition$dispose();
    },
    debugFillDescription$1(description) {
      var _this = this;
      _this.super$ScrollPosition$debugFillDescription(description);
      description.push(A.getRuntimeType(_this.context).toString$0(0));
      description.push(_this.physics.toString$0(0));
      description.push(A.S(_this._activity));
      description.push(_this._userScrollDirection.toString$0(0));
    }
  };
  A.BouncingScrollSimulation.prototype = {
    _scroll_simulation$_simulation$1(time) {
      var simulation, _this = this,
        t1 = _this.__BouncingScrollSimulation__springTime;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (time > t1) {
        if (!isFinite(t1))
          t1 = 0;
        _this._timeOffset = t1;
        t1 = _this.__BouncingScrollSimulation__springSimulation;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        simulation = t1;
      } else {
        _this._timeOffset = 0;
        t1 = _this.__BouncingScrollSimulation__frictionSimulation;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        simulation = t1;
      }
      simulation.tolerance = _this.tolerance;
      return simulation;
    },
    x$1(_, time) {
      return this._scroll_simulation$_simulation$1(time).x$1(0, time - this._timeOffset);
    },
    dx$1(_, time) {
      return this._scroll_simulation$_simulation$1(time).dx$1(0, time - this._timeOffset);
    },
    isDone$1(time) {
      return this._scroll_simulation$_simulation$1(time).isDone$1(time - this._timeOffset);
    },
    toString$0(_) {
      return "BouncingScrollSimulation(leadingExtent: " + A.S(this.leadingExtent) + ", trailingExtent: " + A.S(this.trailingExtent) + ")";
    }
  };
  A.ClampingScrollSimulation.prototype = {
    x$1(_, time) {
      var t, _this = this,
        t1 = _this.__ClampingScrollSimulation__duration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t = A.clampDouble(time / t1, 0, 1);
      t1 = _this.__ClampingScrollSimulation__distance;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return _this.position + t1 * (1.2 * t * t * t - 3.27 * t * t + 3.065 * t) * J.get$sign$in(_this.velocity);
    },
    dx$1(_, time) {
      var t, t2, t3, _this = this,
        t1 = _this.__ClampingScrollSimulation__duration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t = A.clampDouble(time / t1, 0, 1);
      t1 = _this.__ClampingScrollSimulation__distance;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = J.get$sign$in(_this.velocity);
      t3 = _this.__ClampingScrollSimulation__duration;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return t1 * (3.6 * t * t - 6.54 * t + 3.065) * t2 / t3;
    },
    isDone$1(time) {
      var t1 = this.__ClampingScrollSimulation__duration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return time >= t1;
    }
  };
  A.ScrollViewKeyboardDismissBehavior.prototype = {
    toString$0(_) {
      return "ScrollViewKeyboardDismissBehavior." + this._core$_name;
    }
  };
  A.ScrollView.prototype = {
    buildViewport$4(context, offset, axisDirection, slivers) {
      var _this = this;
      if (_this.shrinkWrap)
        return new A.ShrinkWrappingViewport(axisDirection, offset, _this.clipBehavior, slivers, null);
      return A.Viewport$(0, axisDirection, _this.cacheExtent, B.CacheExtentStyle_0, null, _this.clipBehavior, offset, slivers);
    },
    build$1(context) {
      var _this = this,
        slivers = _this.buildSlivers$1(context),
        t1 = A.getAxisDirectionFromAxisReverseAndDirectionality(context, _this.scrollDirection, false),
        t2 = _this.primary,
        scrollController = t2 ? A.PrimaryScrollController_of(context) : _this.controller,
        scrollable = A.Scrollable$(t1, scrollController, _this.dragStartBehavior, false, _this.physics, _this.restorationId, null, _this.semanticChildCount, new A.ScrollView_build_closure(_this, t1, slivers)),
        scrollableResult = t2 && scrollController != null ? A.PrimaryScrollController$none(scrollable) : scrollable;
      if (_this.keyboardDismissBehavior === B.ScrollViewKeyboardDismissBehavior_1)
        return new A.NotificationListener(new A.ScrollView_build_closure0(context), scrollableResult, null, type$.NotificationListener_ScrollUpdateNotification);
      else
        return scrollableResult;
    }
  };
  A.ScrollView_build_closure.prototype = {
    call$2(context, offset) {
      return this.$this.buildViewport$4(context, offset, this.axisDirection, this.slivers);
    },
    $signature: 340
  };
  A.ScrollView_build_closure0.prototype = {
    call$1(notification) {
      var focusScope = A.FocusScope_of(this.context);
      if (notification.dragDetails != null && focusScope.get$hasFocus())
        focusScope.unfocus$0();
      return false;
    },
    $signature: 977
  };
  A.BoxScrollView.prototype = {
    buildSlivers$1(context) {
      var mediaQuery, t1, mediaQueryHorizontalPadding, mediaQueryVerticalPadding,
        sliver = this.buildChildLayout$1(context),
        effectivePadding = this.padding;
      if (effectivePadding == null) {
        mediaQuery = A.MediaQuery_maybeOf(context);
        if (mediaQuery != null) {
          t1 = mediaQuery.padding;
          mediaQueryHorizontalPadding = t1.copyWith$2$bottom$top(0, 0);
          mediaQueryVerticalPadding = t1.copyWith$2$left$right(0, 0);
          t1 = this.scrollDirection === B.Axis_1;
          effectivePadding = t1 ? mediaQueryVerticalPadding : mediaQueryHorizontalPadding;
          sliver = new A.MediaQuery(mediaQuery.copyWith$1$padding(t1 ? mediaQueryHorizontalPadding : mediaQueryVerticalPadding), sliver, null);
        }
      }
      return A._setArrayType([effectivePadding != null ? new A.SliverPadding(effectivePadding, sliver, null) : sliver], type$.JSArray_Widget);
    }
  };
  A.ListView.prototype = {
    buildChildLayout$1(context) {
      var t1 = this.itemExtent;
      if (t1 != null)
        return new A.SliverFixedExtentList(t1, this.childrenDelegate, null);
      return new A.SliverList(this.childrenDelegate, null);
    }
  };
  A.ListView$separated_closure.prototype = {
    call$2(context, index) {
      var itemIndex = B.JSInt_methods._tdivFast$1(index, 2);
      return (index & 1) === 0 ? this.itemBuilder.call$2(context, itemIndex) : this.separatorBuilder.call$2(context, itemIndex);
    },
    $signature: 47
  };
  A.ListView$separated_closure0.prototype = {
    call$2(_, index) {
      return (index & 1) === 0 ? B.JSInt_methods._tdivFast$1(index, 2) : null;
    },
    $signature: 978
  };
  A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure.prototype = {
    call$2(property, listener) {
      if (!property._restoration0$_disposed)
        property.removeListener$1(0, listener);
    },
    $signature: 78
  };
  A.Scrollable0.prototype = {
    createState$0() {
      var _null = null,
        t1 = type$.LabeledGlobalKey_State_StatefulWidget;
      return new A.ScrollableState(new A._RestorableScrollOffset($.$get$ChangeNotifier__emptyListeners()), new A.LabeledGlobalKey(_null, t1), new A.LabeledGlobalKey(_null, type$.LabeledGlobalKey_RawGestureDetectorState), new A.LabeledGlobalKey(_null, t1), B.Map_empty6, _null, A.LinkedHashMap_LinkedHashMap$_empty(type$.RestorableProperty_nullable_Object, type$.void_Function), _null, true, _null, _null, _null, B._StateLifecycle_0);
    },
    viewportBuilder$2(arg0, arg1) {
      return this.viewportBuilder.call$2(arg0, arg1);
    }
  };
  A.Scrollable_ensureVisible_closure.prototype = {
    call$1(_) {
      return null;
    },
    $signature: 979
  };
  A._ScrollableScope.prototype = {
    updateShouldNotify$1(old) {
      return this.position !== old.position;
    }
  };
  A.ScrollableState.prototype = {
    get$axisDirection() {
      return this._widget.axisDirection;
    },
    get$_effectiveScrollController() {
      var t1 = this._widget.controller;
      if (t1 == null) {
        t1 = this._fallbackScrollController;
        t1.toString;
      }
      return t1;
    },
    _updatePosition$0() {
      var t2, t3, oldPosition, _this = this,
        t1 = _this._widget.scrollBehavior;
      if (t1 == null) {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = A.ScrollConfiguration_of(t1);
      }
      _this.__ScrollableState__configuration = t1;
      t2 = _this._framework$_element;
      t2.toString;
      t2 = t1.getScrollPhysics$1(t2);
      _this._physics = t2;
      t1 = _this._widget;
      t3 = t1.physics;
      if (t3 != null)
        _this._physics = t3.applyTo$1(t2);
      else {
        t1 = t1.scrollBehavior;
        if (t1 != null) {
          t2 = _this._framework$_element;
          t2.toString;
          _this._physics = t1.getScrollPhysics$1(t2).applyTo$1(_this._physics);
        }
      }
      oldPosition = _this._scrollable$_position;
      if (oldPosition != null) {
        _this.get$_effectiveScrollController().detach$1(0, oldPosition);
        A.scheduleMicrotask(oldPosition.get$dispose());
      }
      t1 = _this.get$_effectiveScrollController();
      t2 = _this._physics;
      t2.toString;
      _this._scrollable$_position = t1.createScrollPosition$3(t2, _this, oldPosition);
      t2 = _this.get$_effectiveScrollController();
      t1 = _this._scrollable$_position;
      t1.toString;
      t2.attach$1(t1);
    },
    restoreState$2(oldBucket, initialRestore) {
      var t2, t3, t4,
        t1 = this._persistedScrollOffset;
      this.registerForRestoration$2(t1, "offset");
      t2 = t1._restoration_properties$_value;
      t3 = t2 == null;
      if ((t3 ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2) != null) {
        t4 = this._scrollable$_position;
        t4.toString;
        t1 = t3 ? A._instanceType(t1)._eval$1("RestorableValue.T")._as(t2) : t2;
        t1.toString;
        t4.restoreOffset$2$initialRestore(t1, initialRestore);
      }
    },
    saveOffset$1(offset) {
      var t1;
      this._persistedScrollOffset.set$value(0, offset);
      t1 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__restorationManager;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.flushData$0();
    },
    initState$0() {
      if (this._widget.controller == null)
        this._fallbackScrollController = A.ScrollController$(0);
      this.super$State$initState();
    },
    didChangeDependencies$0() {
      var _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      _this._mediaQueryData = A.MediaQuery_maybeOf(t1);
      _this._updatePosition$0();
      _this.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies();
    },
    _shouldUpdatePosition$1(oldWidget) {
      var t2, oldPhysics, t3, _this = this, _null = null,
        t1 = _this._widget,
        newPhysics = t1.physics;
      if (newPhysics == null) {
        t1 = t1.scrollBehavior;
        if (t1 == null)
          newPhysics = _null;
        else {
          t2 = _this._framework$_element;
          t2.toString;
          t2 = t1.getScrollPhysics$1(t2);
          newPhysics = t2;
        }
      }
      oldPhysics = oldWidget.physics;
      if (oldPhysics == null) {
        t1 = oldWidget.scrollBehavior;
        if (t1 == null)
          oldPhysics = _null;
        else {
          t2 = _this._framework$_element;
          t2.toString;
          t2 = t1.getScrollPhysics$1(t2);
          oldPhysics = t2;
        }
      }
      do {
        t1 = newPhysics == null;
        t2 = t1 ? _null : A.getRuntimeType(newPhysics);
        t3 = oldPhysics == null;
        if (t2 != (t3 ? _null : A.getRuntimeType(oldPhysics)))
          return true;
        newPhysics = t1 ? _null : newPhysics.parent;
        oldPhysics = t3 ? _null : oldPhysics.parent;
      } while (newPhysics != null || oldPhysics != null);
      t1 = _this._widget.controller;
      t1 = t1 == null ? _null : A.getRuntimeType(t1);
      t2 = oldWidget.controller;
      return t1 != (t2 == null ? _null : A.getRuntimeType(t2));
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget(oldWidget);
      t1 = oldWidget.controller;
      if (_this._widget.controller != t1) {
        if (t1 == null) {
          t1 = _this._fallbackScrollController;
          t1.toString;
          t2 = _this._scrollable$_position;
          t2.toString;
          t1.detach$1(0, t2);
          _this._fallbackScrollController.dispose$0();
          _this._fallbackScrollController = null;
        } else {
          t2 = _this._scrollable$_position;
          t2.toString;
          t1.detach$1(0, t2);
          if (_this._widget.controller == null)
            _this._fallbackScrollController = A.ScrollController$(0);
        }
        t1 = _this.get$_effectiveScrollController();
        t2 = _this._scrollable$_position;
        t2.toString;
        t1.attach$1(t2);
      }
      if (_this._shouldUpdatePosition$1(oldWidget))
        _this._updatePosition$0();
    },
    dispose$0() {
      var t2, _this = this,
        t1 = _this._widget.controller;
      if (t1 != null) {
        t2 = _this._scrollable$_position;
        t2.toString;
        t1.detach$1(0, t2);
      } else {
        t1 = _this._fallbackScrollController;
        if (t1 != null) {
          t2 = _this._scrollable$_position;
          t2.toString;
          t1.detach$1(0, t2);
        }
        t1 = _this._fallbackScrollController;
        if (t1 != null)
          t1.dispose$0();
      }
      _this._scrollable$_position.dispose$0();
      _this._persistedScrollOffset.dispose$0();
      _this.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$dispose();
    },
    setSemanticsActions$1(actions) {
      var t1 = this._gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceSemanticsActions$1(actions);
    },
    setCanDrag$1(value) {
      var t1, _this = this;
      if (value === _this._lastCanDrag)
        t1 = !value || A.axisDirectionToAxis(_this._widget.axisDirection) === _this._scrollable$_lastAxisDirection;
      else
        t1 = false;
      if (t1)
        return;
      if (!value) {
        _this._gestureRecognizers = B.Map_empty6;
        _this._scrollable$_handleDragCancel$0();
      } else {
        switch (A.axisDirectionToAxis(_this._widget.axisDirection).index) {
          case 1:
            _this._gestureRecognizers = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_mLh, new A.GestureRecognizerFactoryWithHandlers(new A.ScrollableState_setCanDrag_closure(_this), new A.ScrollableState_setCanDrag_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_VerticalDragGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
            break;
          case 0:
            _this._gestureRecognizers = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_Vq1, new A.GestureRecognizerFactoryWithHandlers(new A.ScrollableState_setCanDrag_closure1(_this), new A.ScrollableState_setCanDrag_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
            break;
        }
        value = true;
      }
      _this._lastCanDrag = value;
      _this._scrollable$_lastAxisDirection = A.axisDirectionToAxis(_this._widget.axisDirection);
      t1 = _this._gestureDetectorKey;
      if (t1.get$currentState() != null)
        t1.get$currentState().replaceGestureRecognizers$1(_this._gestureRecognizers);
    },
    get$vsync() {
      return this;
    },
    setIgnorePointer$1(value) {
      var t1, _this = this;
      if (_this._shouldIgnorePointer === value)
        return;
      _this._shouldIgnorePointer = value;
      t1 = _this._ignorePointerKey;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1) != null) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1).get$renderObject();
        t1.toString;
        type$.RenderIgnorePointer._as(t1).set$ignoring(_this._shouldIgnorePointer);
      }
    },
    get$notificationContext() {
      return $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._gestureDetectorKey);
    },
    get$storageContext() {
      var t1 = this._framework$_element;
      t1.toString;
      return t1;
    },
    _handleDragDown$1(details) {
      this._hold = this._scrollable$_position.hold$1(this.get$_disposeHold());
    },
    _scrollable$_handleDragStart$1(details) {
      this._scrollable$_drag = this._scrollable$_position.drag$2(details, this.get$_disposeDrag());
    },
    _scrollable$_handleDragUpdate$1(details) {
      var t1 = this._scrollable$_drag;
      if (t1 != null)
        t1.update$1(0, details);
    },
    _scrollable$_handleDragEnd$1(details) {
      var t1 = this._scrollable$_drag;
      if (t1 != null)
        t1.end$1(0, details);
    },
    _scrollable$_handleDragCancel$0() {
      var t1 = this._hold;
      if (t1 != null)
        t1._scroll_activity$_delegate.goBallistic$1(0);
      t1 = this._scrollable$_drag;
      if (t1 != null)
        t1._scroll_activity$_delegate.goBallistic$1(0);
    },
    _disposeHold$0() {
      this._hold = null;
    },
    _disposeDrag$0() {
      this._scrollable$_drag = null;
    },
    _targetScrollOffsetForPointerScroll$1(delta) {
      var t3,
        t1 = this._scrollable$_position,
        t2 = t1._pixels;
      t2.toString;
      t3 = t1._minScrollExtent;
      t3.toString;
      t3 = Math.max(t2 + delta, t3);
      t1 = t1._maxScrollExtent;
      t1.toString;
      return Math.min(t3, t1);
    },
    _pointerSignalEventDelta$1($event) {
      var delta = A.axisDirectionToAxis(this._widget.axisDirection) === B.Axis_0 ? $event.get$scrollDelta()._dx : $event.get$scrollDelta()._dy;
      return A.axisDirectionIsReversed(this._widget.axisDirection) ? delta * -1 : delta;
    },
    _receivedPointerSignal$1($event) {
      var t1, t2, delta, targetScrollOffset, _this = this;
      if (type$.PointerScrollEvent._is($event) && _this._scrollable$_position != null) {
        t1 = _this._physics;
        if (t1 != null) {
          t2 = _this._scrollable$_position;
          t2.toString;
          t2 = !t1.shouldAcceptUserOffset$1(t2);
          t1 = t2;
        } else
          t1 = false;
        if (t1)
          return;
        delta = _this._pointerSignalEventDelta$1($event);
        targetScrollOffset = _this._targetScrollOffsetForPointerScroll$1(delta);
        if (delta !== 0) {
          t1 = _this._scrollable$_position._pixels;
          t1.toString;
          t1 = targetScrollOffset !== t1;
        } else
          t1 = false;
        if (t1)
          $.GestureBinding__instance.GestureBinding_pointerSignalResolver.register$2(0, $event, _this.get$_handlePointerScroll());
      }
    },
    _handlePointerScroll$1($event) {
      var t1, t2, t3, t4, targetPixels, _this = this,
        delta = _this._pointerSignalEventDelta$1($event),
        targetScrollOffset = _this._targetScrollOffsetForPointerScroll$1(delta);
      if (delta !== 0) {
        t1 = _this._scrollable$_position._pixels;
        t1.toString;
        t1 = targetScrollOffset !== t1;
      } else
        t1 = false;
      if (t1) {
        t1 = _this._scrollable$_position;
        t2 = t1._pixels;
        t2.toString;
        t3 = t1._minScrollExtent;
        t3.toString;
        t3 = Math.max(t2 + delta, t3);
        t4 = t1._maxScrollExtent;
        t4.toString;
        targetPixels = Math.min(t3, t4);
        if (targetPixels !== t2) {
          t1.beginActivity$1(new A.IdleScrollActivity(t1));
          t1.updateUserScrollDirection$1(-delta > 0 ? B.ScrollDirection_1 : B.ScrollDirection_2);
          t2 = t1._pixels;
          t2.toString;
          t1.forcePixels$1(targetPixels);
          t1.isScrollingNotifier.set$value(0, true);
          t1.didStartScroll$0();
          t3 = t1._pixels;
          t3.toString;
          t1.didUpdateScrollPositionBy$1(t3 - t2);
          t1.didEndScroll$0();
          t1.goBallistic$1(0);
        }
      }
    },
    _handleScrollMetricsNotification$1(notification) {
      var t1, scrollSemanticsRenderObject;
      if (notification.ViewportNotificationMixin__depth === 0) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, this._scrollSemanticsKey);
        scrollSemanticsRenderObject = t1 == null ? null : t1.get$renderObject();
        if (scrollSemanticsRenderObject != null)
          scrollSemanticsRenderObject.markNeedsSemanticsUpdate$0();
      }
      return false;
    },
    build$1(context) {
      var t2, t3, t4, t5, result, details, registrar, _this = this, _null = null,
        t1 = _this._scrollable$_position;
      t1.toString;
      t2 = _this._gestureRecognizers;
      t3 = _this._widget;
      t4 = t3.excludeFromSemantics;
      t5 = _this._shouldIgnorePointer;
      t3 = t3.viewportBuilder$2(context, t1);
      result = new A._ScrollableScope(_this, t1, A.Listener$(B.HitTestBehavior_0, new A.RawGestureDetector(new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), false, !t4, false, new A.IgnorePointer(t5, false, t3, _this._ignorePointerKey), _null), t2, B.HitTestBehavior_1, t4, _null, _this._gestureDetectorKey), _null, _null, _null, _this.get$_receivedPointerSignal(), _null), _null);
      t1 = _this._widget;
      if (!t1.excludeFromSemantics) {
        t1 = _this._scrollable$_position;
        t1.toString;
        t2 = _this._physics.get$allowImplicitScrolling();
        t3 = _this._widget;
        result = new A.NotificationListener(_this.get$_handleScrollMetricsNotification(), new A._ScrollSemantics(t1, t2, t3.semanticChildCount, result, _this._scrollSemanticsKey), _null, type$.NotificationListener_ScrollMetricsNotification);
        t1 = t3;
      }
      details = new A.ScrollableDetails(t1.axisDirection, _this.get$_effectiveScrollController());
      t1 = _this.__ScrollableState__configuration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      result = t1.buildScrollbar$3(context, t1.buildOverscrollIndicator$3(context, result, details), details);
      registrar = A.SelectionContainer_maybeOf(context);
      if (registrar != null) {
        t1 = _this._scrollable$_position;
        t1.toString;
        result = new A._ScrollableSelectionHandler(_this, t1, result, registrar, _null);
      }
      return result;
    },
    get$restorationId() {
      return this._widget.restorationId;
    }
  };
  A.ScrollableState_setCanDrag_closure.prototype = {
    call$0() {
      var t1 = this.$this.__ScrollableState__configuration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.VerticalDragGestureRecognizer$(null, t1.get$dragDevices());
    },
    $signature: 145
  };
  A.ScrollableState_setCanDrag_closure0.prototype = {
    call$1(instance) {
      var t2, t3, _null = null,
        t1 = this.$this;
      instance.onDown = t1.get$_handleDragDown();
      instance.onStart = t1.get$_scrollable$_handleDragStart();
      instance.onUpdate = t1.get$_scrollable$_handleDragUpdate();
      instance.onEnd = t1.get$_scrollable$_handleDragEnd();
      instance.onCancel = t1.get$_scrollable$_handleDragCancel();
      t2 = t1._physics;
      instance.minFlingDistance = t2 == null ? _null : t2.get$minFlingDistance();
      t2 = t1._physics;
      instance.minFlingVelocity = t2 == null ? _null : t2.get$minFlingVelocity();
      t2 = t1._physics;
      instance.maxFlingVelocity = t2 == null ? _null : t2.get$maxFlingVelocity();
      t2 = t1.__ScrollableState__configuration;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1._framework$_element;
      t3.toString;
      instance.velocityTrackerBuilder = t2.velocityTrackerBuilder$1(t3);
      instance.dragStartBehavior = t1._widget.dragStartBehavior;
      t1 = t1._mediaQueryData;
      instance.gestureSettings = t1 == null ? _null : t1.gestureSettings;
    },
    $signature: 148
  };
  A.ScrollableState_setCanDrag_closure1.prototype = {
    call$0() {
      var t1 = this.$this.__ScrollableState__configuration;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.HorizontalDragGestureRecognizer$(null, t1.get$dragDevices());
    },
    $signature: 152
  };
  A.ScrollableState_setCanDrag_closure2.prototype = {
    call$1(instance) {
      var t2, t3, _null = null,
        t1 = this.$this;
      instance.onDown = t1.get$_handleDragDown();
      instance.onStart = t1.get$_scrollable$_handleDragStart();
      instance.onUpdate = t1.get$_scrollable$_handleDragUpdate();
      instance.onEnd = t1.get$_scrollable$_handleDragEnd();
      instance.onCancel = t1.get$_scrollable$_handleDragCancel();
      t2 = t1._physics;
      instance.minFlingDistance = t2 == null ? _null : t2.get$minFlingDistance();
      t2 = t1._physics;
      instance.minFlingVelocity = t2 == null ? _null : t2.get$minFlingVelocity();
      t2 = t1._physics;
      instance.maxFlingVelocity = t2 == null ? _null : t2.get$maxFlingVelocity();
      t2 = t1.__ScrollableState__configuration;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1._framework$_element;
      t3.toString;
      instance.velocityTrackerBuilder = t2.velocityTrackerBuilder$1(t3);
      instance.dragStartBehavior = t1._widget.dragStartBehavior;
      t1 = t1._mediaQueryData;
      instance.gestureSettings = t1 == null ? _null : t1.gestureSettings;
    },
    $signature: 153
  };
  A._ScrollableSelectionHandler.prototype = {
    createState$0() {
      return new A._ScrollableSelectionHandlerState(B._StateLifecycle_0);
    }
  };
  A._ScrollableSelectionHandlerState.prototype = {
    initState$0() {
      var t1, t2, t3, t4;
      this.super$State$initState();
      t1 = this._widget;
      t2 = t1.state;
      t1 = t1.position;
      t3 = type$.Selectable;
      t4 = type$.double;
      t3 = new A._ScrollableSelectionContainerDelegate(t2, new A.EdgeDraggingAutoScroller(t2, 30), t1, A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A._setArrayType([], type$.JSArray_Selectable), A.LinkedHashSet_LinkedHashSet$_empty(t3), B.SelectionGeometry_wEo0, $.$get$ChangeNotifier__emptyListeners());
      t1.addListener$1(0, t3.get$_scheduleLayoutChange());
      this.___ScrollableSelectionHandlerState__selectionDelegate = t3;
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2;
      this.super$State$didUpdateWidget(oldWidget);
      t1 = this._widget.position;
      if (oldWidget.position !== t1) {
        t2 = this.___ScrollableSelectionHandlerState__selectionDelegate;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.set$position(0, t1);
      }
    },
    dispose$0() {
      var t1 = this.___ScrollableSelectionHandlerState__selectionDelegate;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$State$dispose();
    },
    build$1(context) {
      var t1 = this._widget,
        t2 = t1.registrar,
        t3 = this.___ScrollableSelectionHandlerState__selectionDelegate;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return new A.SelectionContainer(t2, t1.child, t3, null);
    }
  };
  A.EdgeDraggingAutoScroller.prototype = {
    _offsetExtent$2(offset, scrollDirection) {
      switch (scrollDirection.index) {
        case 0:
          return offset._dx;
        case 1:
          return offset._dy;
      }
    },
    _sizeExtent$2(size, scrollDirection) {
      switch (scrollDirection.index) {
        case 0:
          return size._dx;
        case 1:
          return size._dy;
      }
    },
    startAutoScrollIfNecessary$1(dragTarget) {
      var _this = this,
        deltaToOrigin = A._getDeltaToScrollOrigin(_this.scrollable);
      _this.__EdgeDraggingAutoScroller__dragTargetRelatedToScrollOrigin = dragTarget.translate$2(0, deltaToOrigin._dx, deltaToOrigin._dy);
      if (_this._scrolling)
        return;
      _this._scroll$0();
    },
    _scroll$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$returnValue, $async$self = this, t3, globalRect, deltaToOrigin, viewportStart, viewportEnd, proxyStart, proxyEnd, overDrag, newOffset, duration, t1, t2;
      var $async$_scroll$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.scrollable;
              t2 = t1._framework$_element.get$renderObject();
              t2.toString;
              type$.RenderBox._as(t2);
              t3 = t2.getTransformTo$1(0, null);
              t2 = t2._box$_size;
              globalRect = A.MatrixUtils_transformRect(t3, new A.Rect(0, 0, 0 + t2._dx, 0 + t2._dy));
              $async$self._scrolling = true;
              deltaToOrigin = A._getDeltaToScrollOrigin(t1);
              t2 = globalRect.left;
              t3 = globalRect.top;
              viewportStart = $async$self._offsetExtent$2(new A.Offset(t2 + deltaToOrigin._dx, t3 + deltaToOrigin._dy), A.axisDirectionToAxis(t1._widget.axisDirection));
              viewportEnd = viewportStart + $async$self._sizeExtent$2(new A.Size(globalRect.right - t2, globalRect.bottom - t3), A.axisDirectionToAxis(t1._widget.axisDirection));
              t3 = $async$self.__EdgeDraggingAutoScroller__dragTargetRelatedToScrollOrigin;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              proxyStart = $async$self._offsetExtent$2(new A.Offset(t3.left, t3.top), A.axisDirectionToAxis(t1._widget.axisDirection));
              t3 = $async$self.__EdgeDraggingAutoScroller__dragTargetRelatedToScrollOrigin;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              proxyEnd = $async$self._offsetExtent$2(new A.Offset(t3.right, t3.bottom), A.axisDirectionToAxis(t1._widget.axisDirection));
              overDrag = A._Cell$named("overDrag");
              t2 = t1._widget.axisDirection;
              if (t2 === B.AxisDirection_0 || t2 === B.AxisDirection_3) {
                if (proxyEnd > viewportEnd) {
                  t2 = t1._scrollable$_position;
                  t3 = t2._pixels;
                  t3.toString;
                  t2 = t2._minScrollExtent;
                  t2.toString;
                  t2 = t3 > t2;
                } else
                  t2 = false;
                if (t2) {
                  overDrag.__late_helper$_value = Math.max(proxyEnd - viewportEnd, 20);
                  t2 = t1._scrollable$_position;
                  t3 = t2._minScrollExtent;
                  t3.toString;
                  t2 = t2._pixels;
                  t2.toString;
                  newOffset = Math.max(t3, t2 - overDrag._readLocal$0());
                } else {
                  if (proxyStart < viewportStart) {
                    t2 = t1._scrollable$_position;
                    t3 = t2._pixels;
                    t3.toString;
                    t2 = t2._maxScrollExtent;
                    t2.toString;
                    t2 = t3 < t2;
                  } else
                    t2 = false;
                  if (t2) {
                    overDrag.__late_helper$_value = Math.max(viewportStart - proxyStart, 20);
                    t2 = t1._scrollable$_position;
                    t3 = t2._maxScrollExtent;
                    t3.toString;
                    t2 = t2._pixels;
                    t2.toString;
                    newOffset = Math.min(t3, t2 + overDrag._readLocal$0());
                  } else
                    newOffset = null;
                }
              } else {
                if (proxyStart < viewportStart) {
                  t2 = t1._scrollable$_position;
                  t3 = t2._pixels;
                  t3.toString;
                  t2 = t2._minScrollExtent;
                  t2.toString;
                  t2 = t3 > t2;
                } else
                  t2 = false;
                if (t2) {
                  overDrag.__late_helper$_value = Math.max(viewportStart - proxyStart, 20);
                  t2 = t1._scrollable$_position;
                  t3 = t2._minScrollExtent;
                  t3.toString;
                  t2 = t2._pixels;
                  t2.toString;
                  newOffset = Math.max(t3, t2 - overDrag._readLocal$0());
                } else {
                  if (proxyEnd > viewportEnd) {
                    t2 = t1._scrollable$_position;
                    t3 = t2._pixels;
                    t3.toString;
                    t2 = t2._maxScrollExtent;
                    t2.toString;
                    t2 = t3 < t2;
                  } else
                    t2 = false;
                  if (t2) {
                    overDrag.__late_helper$_value = Math.max(proxyEnd - viewportEnd, 20);
                    t2 = t1._scrollable$_position;
                    t3 = t2._maxScrollExtent;
                    t3.toString;
                    t2 = t2._pixels;
                    t2.toString;
                    newOffset = Math.min(t3, t2 + overDrag._readLocal$0());
                  } else
                    newOffset = null;
                }
              }
              if (newOffset != null) {
                t2 = t1._scrollable$_position._pixels;
                t2.toString;
                t2 = Math.abs(newOffset - t2) < 1;
              } else
                t2 = true;
              if (t2) {
                $async$self._scrolling = false;
                // goto return
                $async$goto = 1;
                break;
              }
              duration = A.Duration$(0, B.JSNumber_methods.round$0(1000 / $async$self.velocityScalar));
              $async$goto = 3;
              return A._asyncAwait(t1._scrollable$_position.animateTo$3$curve$duration(newOffset, B.C__Linear, duration), $async$_scroll$0);
            case 3:
              // returning from await.
              $async$goto = $async$self._scrolling ? 4 : 5;
              break;
            case 4:
              // then
              $async$goto = 6;
              return A._asyncAwait($async$self._scroll$0(), $async$_scroll$0);
            case 6:
              // returning from await.
            case 5:
              // join
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_scroll$0, $async$completer);
    }
  };
  A._ScrollableSelectionContainerDelegate.prototype = {
    set$position(_, other) {
      var t2,
        t1 = this._scrollable$_position;
      if (other === t1)
        return;
      t2 = this.get$_scheduleLayoutChange();
      t1.removeListener$1(0, t2);
      this._scrollable$_position = other;
      other.addListener$1(0, t2);
    },
    _scheduleLayoutChange$0() {
      if (this._scheduledLayoutChange)
        return;
      this._scheduledLayoutChange = true;
      $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A._ScrollableSelectionContainerDelegate__scheduleLayoutChange_closure(this));
    },
    didChangeSelectables$0() {
      var _this = this,
        t1 = _this.selectables,
        selectableSet = A.LinkedHashSet_LinkedHashSet$from(t1, A._arrayInstanceType(t1)._precomputed1);
      t1 = _this._selectableStartEdgeUpdateRecords;
      t1.removeWhere$1(t1, new A._ScrollableSelectionContainerDelegate_didChangeSelectables_closure(selectableSet));
      t1 = _this._selectableEndEdgeUpdateRecords;
      t1.removeWhere$1(t1, new A._ScrollableSelectionContainerDelegate_didChangeSelectables_closure0(selectableSet));
      _this.super$MultiSelectableSelectionContainerDelegate$didChangeSelectables();
    },
    handleSelectionEdgeUpdate$1($event) {
      var deltaToOrigin, t1, t2, t3, result, _this = this;
      if (_this._currentDragEndRelatedToOrigin == null && _this._currentDragStartRelatedToOrigin == null)
        _this._selectionStartsInScrollable = _this._globalPositionInScrollable$1($event.globalPosition);
      deltaToOrigin = A._getDeltaToScrollOrigin(_this.state);
      t1 = $event.globalPosition;
      t2 = -deltaToOrigin._dx;
      t3 = -deltaToOrigin._dy;
      if ($event.type === B.SelectionEventType_1) {
        t1 = _this._currentDragEndRelatedToOrigin = _this._inferPositionRelatedToOrigin$1(t1);
        $event = new A.SelectionEdgeUpdateEvent(new A.Offset(t1._dx + t2, t1._dy + t3), B.SelectionEventType_1);
      } else {
        t1 = _this._currentDragStartRelatedToOrigin = _this._inferPositionRelatedToOrigin$1(t1);
        $event = new A.SelectionEdgeUpdateEvent(new A.Offset(t1._dx + t2, t1._dy + t3), B.SelectionEventType_0);
      }
      result = _this.super$MultiSelectableSelectionContainerDelegate$handleSelectionEdgeUpdate($event);
      if (result === B.SelectionResult_3) {
        _this._autoScroller._scrolling = false;
        return result;
      }
      if (_this._selectionStartsInScrollable) {
        t1 = _this._autoScroller;
        t1.startAutoScrollIfNecessary$1(A.Rect$fromCenter($event.globalPosition, 200, 200));
        if (t1._scrolling)
          return B.SelectionResult_3;
      }
      return result;
    },
    _inferPositionRelatedToOrigin$1(globalPosition) {
      var localPosition, t3, t4, deltaToOrigin,
        t1 = this.state,
        t2 = t1._framework$_element.get$renderObject();
      t2.toString;
      type$.RenderBox._as(t2);
      localPosition = t2.globalToLocal$1(globalPosition);
      if (!this._selectionStartsInScrollable) {
        t3 = localPosition._dy;
        if (t3 < 0 || localPosition._dx < 0)
          return A.MatrixUtils_transformPoint(t2.getTransformTo$1(0, null), B.Offset_0_0);
        t4 = t2._box$_size;
        if (t3 > t4._dy || localPosition._dx > t4._dx)
          return B.Offset_YZQ;
      }
      deltaToOrigin = A._getDeltaToScrollOrigin(t1);
      t1 = deltaToOrigin._dx;
      t3 = deltaToOrigin._dy;
      return A.MatrixUtils_transformPoint(t2.getTransformTo$1(0, null), new A.Offset(localPosition._dx + t1, localPosition._dy + t3));
    },
    _updateDragLocationsFromGeometries$0() {
      var transform, t2, _this = this,
        t1 = _this.state,
        deltaToOrigin = A._getDeltaToScrollOrigin(t1);
      t1 = t1._framework$_element.get$renderObject();
      t1.toString;
      type$.RenderBox._as(t1);
      transform = t1.getTransformTo$1(0, null);
      t2 = _this.currentSelectionStartIndex;
      if (t2 !== -1) {
        t2 = J.get$value$x(_this.selectables[t2]).startSelectionPoint;
        t2.toString;
        _this._currentDragStartRelatedToOrigin = A.MatrixUtils_transformPoint(transform, A.MatrixUtils_transformPoint(J.getTransformTo$1$z(_this.selectables[_this.currentSelectionStartIndex], t1), t2.localPosition.$add(0, new A.Offset(0, -t2.lineHeight / 2))).$add(0, deltaToOrigin));
      }
      t2 = _this.currentSelectionEndIndex;
      if (t2 !== -1) {
        t2 = J.get$value$x(_this.selectables[t2]).endSelectionPoint;
        t2.toString;
        _this._currentDragEndRelatedToOrigin = A.MatrixUtils_transformPoint(transform, A.MatrixUtils_transformPoint(J.getTransformTo$1$z(_this.selectables[_this.currentSelectionEndIndex], t1), t2.localPosition.$add(0, new A.Offset(0, -t2.lineHeight / 2))).$add(0, deltaToOrigin));
      }
    },
    _globalPositionInScrollable$1(globalPosition) {
      var localPosition,
        t1 = this.state._framework$_element.get$renderObject();
      t1.toString;
      type$.RenderBox._as(t1);
      localPosition = t1.globalToLocal$1(globalPosition);
      t1 = t1._box$_size;
      return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy).contains$1(0, localPosition);
    },
    dispatchSelectionEventToChild$2(selectable, $event) {
      var t1, t2, _this = this;
      switch ($event.type.index) {
        case 0:
          t1 = _this.state._scrollable$_position._pixels;
          t1.toString;
          _this._selectableStartEdgeUpdateRecords.$indexSet(0, selectable, t1);
          _this.ensureChildUpdated$1(selectable);
          break;
        case 1:
          t1 = _this.state._scrollable$_position._pixels;
          t1.toString;
          _this._selectableEndEdgeUpdateRecords.$indexSet(0, selectable, t1);
          _this.ensureChildUpdated$1(selectable);
          break;
        case 2:
          _this._selectableEndEdgeUpdateRecords.remove$1(0, selectable);
          _this._selectableStartEdgeUpdateRecords.remove$1(0, selectable);
          break;
        case 3:
        case 4:
          t1 = _this.state;
          t2 = t1._scrollable$_position._pixels;
          t2.toString;
          _this._selectableEndEdgeUpdateRecords.$indexSet(0, selectable, t2);
          t1 = t1._scrollable$_position._pixels;
          t1.toString;
          _this._selectableStartEdgeUpdateRecords.$indexSet(0, selectable, t1);
          break;
      }
      return _this.super$MultiSelectableSelectionContainerDelegate$dispatchSelectionEventToChild(selectable, $event);
    },
    ensureChildUpdated$1(selectable) {
      var previousStartRecord, t3, t4, deltaToOrigin, t5, previousEndRecord, _this = this,
        t1 = _this.state,
        t2 = t1._scrollable$_position._pixels;
      t2.toString;
      previousStartRecord = _this._selectableStartEdgeUpdateRecords.$index(0, selectable);
      t3 = _this._currentDragStartRelatedToOrigin;
      if (t3 != null)
        t4 = previousStartRecord == null || Math.abs(t2 - previousStartRecord) > 1e-10;
      else
        t4 = false;
      if (t4) {
        deltaToOrigin = A._getDeltaToScrollOrigin(t1);
        t4 = deltaToOrigin._dx;
        t5 = deltaToOrigin._dy;
        selectable.dispatchSelectionEvent$1(new A.SelectionEdgeUpdateEvent(new A.Offset(t3._dx + -t4, t3._dy + -t5), B.SelectionEventType_0));
      }
      previousEndRecord = _this._selectableEndEdgeUpdateRecords.$index(0, selectable);
      t3 = _this._currentDragEndRelatedToOrigin;
      if (t3 != null)
        t2 = previousEndRecord == null || Math.abs(t2 - previousEndRecord) > 1e-10;
      else
        t2 = false;
      if (t2) {
        deltaToOrigin = A._getDeltaToScrollOrigin(t1);
        t1 = deltaToOrigin._dx;
        t2 = deltaToOrigin._dy;
        selectable.dispatchSelectionEvent$1(new A.SelectionEdgeUpdateEvent(new A.Offset(t3._dx + -t1, t3._dy + -t2), B.SelectionEventType_1));
      }
    },
    dispose$0() {
      var _this = this;
      _this._selectableStartEdgeUpdateRecords.clear$0(0);
      _this._selectableEndEdgeUpdateRecords.clear$0(0);
      _this._scheduledLayoutChange = false;
      _this._autoScroller._scrolling = false;
      _this.super$MultiSelectableSelectionContainerDelegate$dispose();
    }
  };
  A._ScrollableSelectionContainerDelegate__scheduleLayoutChange_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this;
      if (!t1._scheduledLayoutChange)
        return;
      t1._scheduledLayoutChange = false;
      t1._updateSelectionGeometry$0();
    },
    $signature: 3
  };
  A._ScrollableSelectionContainerDelegate_didChangeSelectables_closure.prototype = {
    call$2(key, value) {
      return !this.selectableSet.contains$1(0, key);
    },
    $signature: 246
  };
  A._ScrollableSelectionContainerDelegate_didChangeSelectables_closure0.prototype = {
    call$2(key, value) {
      return !this.selectableSet.contains$1(0, key);
    },
    $signature: 246
  };
  A.ScrollableDetails.prototype = {};
  A._ScrollSemantics.prototype = {
    createRenderObject$1(context) {
      var t1 = this.position,
        t2 = new A._RenderScrollSemantics(t1, this.allowImplicitScrolling, this.semanticChildCount, null, A.LayerHandle$(type$.ContainerLayer_2));
      t2.RenderObject$0();
      t2.set$child(null);
      t1.addListener$1(0, t2.get$markNeedsSemanticsUpdate());
      return t2;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$allowImplicitScrolling(this.allowImplicitScrolling);
      renderObject.set$position(0, this.position);
      renderObject.set$semanticChildCount(this.semanticChildCount);
    }
  };
  A._RenderScrollSemantics.prototype = {
    set$position(_, value) {
      var t2, _this = this,
        t1 = _this._scrollable$_position;
      if (value === t1)
        return;
      t2 = _this.get$markNeedsSemanticsUpdate();
      t1.removeListener$1(0, t2);
      _this._scrollable$_position = value;
      value.addListener$1(0, t2);
      _this.markNeedsSemanticsUpdate$0();
    },
    set$allowImplicitScrolling(value) {
      if (value === this._allowImplicitScrolling)
        return;
      this._allowImplicitScrolling = value;
      this.markNeedsSemanticsUpdate$0();
    },
    set$semanticChildCount(value) {
      if (value == this._semanticChildCount)
        return;
      this._semanticChildCount = value;
      this.markNeedsSemanticsUpdate$0();
    },
    describeSemanticsConfiguration$1(config) {
      var t1, t2, _this = this;
      _this.super$RenderObject$describeSemanticsConfiguration(config);
      config._isSemanticBoundary = true;
      if (_this._scrollable$_position._haveDimensions) {
        config._setFlag$2(B.SemanticsFlag_262144, _this._allowImplicitScrolling);
        t1 = _this._scrollable$_position;
        t2 = t1._pixels;
        t2.toString;
        config._scrollPosition = t2;
        config._hasBeenAnnotated = true;
        t2 = t1._maxScrollExtent;
        t2.toString;
        config._scrollExtentMax = t2;
        t1 = t1._minScrollExtent;
        t1.toString;
        config._scrollExtentMin = t1;
        config.set$scrollChildCount(_this._semanticChildCount);
      }
    },
    assembleSemanticsNode$3(node, config, children) {
      var t1, t2, excluded, included, firstVisibleIndex, _i, child, _this = this;
      if (children.length !== 0) {
        t1 = B.JSArray_methods.get$first(children).tags;
        t1 = !(t1 != null && t1.contains$1(0, B.SemanticsTag_FIw));
      } else
        t1 = true;
      if (t1) {
        _this.super$RenderObject$assembleSemanticsNode(node, config, children);
        return;
      }
      t1 = _this._innerNode;
      if (t1 == null)
        t1 = _this._innerNode = A.SemanticsNode$(null, _this.get$showOnScreen());
      t1.set$isMergedIntoParent(node._mergeAllDescendantsIntoThisNode || node._isMergedIntoParent);
      t1.set$rect(0, node._rect);
      t1 = _this._innerNode;
      t1.toString;
      t2 = type$.JSArray_SemanticsNode;
      excluded = A._setArrayType([t1], t2);
      included = A._setArrayType([], t2);
      for (t1 = children.length, firstVisibleIndex = null, _i = 0; _i < children.length; children.length === t1 || (0, A.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        t2 = child.tags;
        if (t2 != null && t2.contains$1(0, B.SemanticsTag_bQQ))
          excluded.push(child);
        else {
          if ((child._flags & 8192) === 0)
            firstVisibleIndex = firstVisibleIndex == null ? child.indexInParent : firstVisibleIndex;
          included.push(child);
        }
      }
      config.set$scrollIndex(firstVisibleIndex);
      node.updateWith$2$childrenInInversePaintOrder$config(0, excluded, null);
      _this._innerNode.updateWith$2$childrenInInversePaintOrder$config(0, included, config);
    },
    clearSemantics$0() {
      this.super$RenderObject$clearSemantics();
      this._innerNode = null;
    }
  };
  A.ScrollIncrementType.prototype = {
    toString$0(_) {
      return "ScrollIncrementType." + this._core$_name;
    }
  };
  A.ScrollIntent.prototype = {};
  A.ScrollAction.prototype = {
    isEnabled$1(_, intent) {
      var t1, primaryScrollController,
        $focus = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
      if ($focus != null && $focus._context != null) {
        t1 = $focus._context;
        t1.toString;
        if (A.Scrollable_of(t1) != null)
          return true;
        t1 = $focus._context;
        t1.toString;
        if (A.PrimaryScrollController_of(t1) != null) {
          t1 = $focus._context;
          t1.toString;
          primaryScrollController = A.PrimaryScrollController_of(t1);
          if (primaryScrollController != null) {
            t1 = primaryScrollController._positions;
            if (t1.length !== 0)
              if (B.JSArray_methods.get$single(t1).context.get$notificationContext() != null) {
                t1 = B.JSArray_methods.get$single(t1).context.get$notificationContext();
                t1.toString;
                t1 = A.Scrollable_of(t1) != null;
              } else
                t1 = false;
            else
              t1 = false;
          } else
            t1 = false;
          return t1;
        }
      }
      return false;
    },
    _calculateScrollIncrement$2$type(state, type) {
      var t1;
      state._widget.toString;
      switch (type.index) {
        case 0:
          return 50;
        case 1:
          t1 = state._scrollable$_position._viewportDimension;
          t1.toString;
          return 0.8 * t1;
      }
    },
    _getIncrement$2(state, intent) {
      var increment = this._calculateScrollIncrement$2$type(state, intent.type);
      switch (intent.direction.index) {
        case 2:
          switch (state._widget.axisDirection.index) {
            case 0:
              return -increment;
            case 2:
              return increment;
            case 1:
            case 3:
              return 0;
          }
          break;
        case 0:
          switch (state._widget.axisDirection.index) {
            case 0:
              return increment;
            case 2:
              return -increment;
            case 1:
            case 3:
              return 0;
          }
          break;
        case 3:
          switch (state._widget.axisDirection.index) {
            case 1:
              return -increment;
            case 3:
              return increment;
            case 0:
            case 2:
              return 0;
          }
          break;
        case 1:
          switch (state._widget.axisDirection.index) {
            case 1:
              return increment;
            case 3:
              return -increment;
            case 0:
            case 2:
              return 0;
          }
          break;
      }
    },
    invoke$1(intent) {
      var state, t2, increment,
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._context;
      t1.toString;
      state = A.Scrollable_of(t1);
      if (state == null) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus._context;
        t1.toString;
        t1 = B.JSArray_methods.get$single(A.PrimaryScrollController_of(t1)._positions).context.get$notificationContext();
        t1.toString;
        state = A.Scrollable_of(t1);
      }
      t1 = state._physics;
      if (t1 != null) {
        t2 = state._scrollable$_position;
        t2.toString;
        t2 = !t1.shouldAcceptUserOffset$1(t2);
        t1 = t2;
      } else
        t1 = false;
      if (t1)
        return;
      increment = this._getIncrement$2(state, intent);
      if (increment === 0)
        return;
      t1 = state._scrollable$_position;
      t2 = t1._pixels;
      t2.toString;
      t1.moveTo$3$curve$duration(0, t2 + increment, B.Cubic_xDo, B.Duration_100000);
    }
  };
  A._RestorableScrollOffset.prototype = {
    createDefaultValue$0() {
      return null;
    },
    didUpdateValue$1(oldValue) {
      this.notifyListeners$0();
    },
    fromPrimitives$1(data) {
      data.toString;
      return A._asDouble(data);
    },
    toPrimitives$0() {
      var t1 = this._restoration_properties$_value;
      return t1 == null ? A._instanceType(this)._eval$1("RestorableValue.T")._as(t1) : t1;
    },
    get$enabled(_) {
      var t1 = this._restoration_properties$_value;
      return (t1 == null ? A._instanceType(this)._eval$1("RestorableValue.T")._as(t1) : t1) != null;
    }
  };
  A._ScrollableState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin.prototype = {
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this.didUpdateRestorationId$0();
    },
    didChangeDependencies$0() {
      var oldBucket, needsRestore, t1, didReplaceBucket, _this = this;
      _this.super$State$didChangeDependencies();
      oldBucket = _this.RestorationMixin__bucket;
      needsRestore = _this.get$restorePending();
      t1 = _this._framework$_element;
      t1.toString;
      t1 = A.RestorationScope_of(t1);
      _this.RestorationMixin__currentParent = t1;
      didReplaceBucket = _this._updateBucketIfNecessary$2$parent$restorePending(t1, needsRestore);
      if (needsRestore) {
        _this.restoreState$2(oldBucket, _this.RestorationMixin__firstRestorePending);
        _this.RestorationMixin__firstRestorePending = false;
      }
      if (didReplaceBucket)
        if (oldBucket != null)
          oldBucket.dispose$0();
    },
    dispose$0() {
      var t1, _this = this;
      _this.RestorationMixin__properties.forEach$1(0, new A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure());
      t1 = _this.RestorationMixin__bucket;
      if (t1 != null)
        t1.dispose$0();
      _this.RestorationMixin__bucket = null;
      _this.super$_ScrollableState_State_TickerProviderStateMixin$dispose();
    }
  };
  A.ScrollbarOrientation.prototype = {
    toString$0(_) {
      return "ScrollbarOrientation." + this._core$_name;
    }
  };
  A.ScrollbarPainter.prototype = {
    set$color(_, value) {
      if (this._scrollbar$_color.$eq(0, value))
        return;
      this._scrollbar$_color = value;
      this.notifyListeners$0();
    },
    set$trackColor(value) {
      if (this._trackColor.$eq(0, value))
        return;
      this._trackColor = value;
      this.notifyListeners$0();
    },
    set$trackBorderColor(value) {
      if (this._trackBorderColor.$eq(0, value))
        return;
      this._trackBorderColor = value;
      this.notifyListeners$0();
    },
    set$trackRadius(value) {
      return;
    },
    set$textDirection(value) {
      if (this._scrollbar$_textDirection === value)
        return;
      this._scrollbar$_textDirection = value;
      this.notifyListeners$0();
    },
    set$thickness(value) {
      if (this._scrollbar$_thickness === value)
        return;
      this._scrollbar$_thickness = value;
      this.notifyListeners$0();
    },
    set$mainAxisMargin(value) {
      if (this._mainAxisMargin === value)
        return;
      this._mainAxisMargin = value;
      this.notifyListeners$0();
    },
    set$crossAxisMargin(value) {
      if (this._crossAxisMargin === value)
        return;
      this._crossAxisMargin = value;
      this.notifyListeners$0();
    },
    set$radius(value) {
      if (J.$eq$(this._scrollbar$_radius, value))
        return;
      this._scrollbar$_radius = value;
      this.notifyListeners$0();
    },
    set$shape(_, value) {
      return;
    },
    set$padding(_, value) {
      if (this._scrollbar$_padding.$eq(0, value))
        return;
      this._scrollbar$_padding = value;
      this.notifyListeners$0();
    },
    set$minLength(_, value) {
      if (this._minLength === value)
        return;
      this._minLength = value;
      this.notifyListeners$0();
    },
    set$minOverscrollLength(value) {
      if (this._minOverscrollLength === value)
        return;
      this._minOverscrollLength = value;
      this.notifyListeners$0();
    },
    set$scrollbarOrientation(value) {
      return;
    },
    set$ignorePointer(value) {
      if (this._ignorePointer === value)
        return;
      this._ignorePointer = value;
      this.notifyListeners$0();
    },
    update$2(_, metrics, axisDirection) {
      var oldMetrics, _this = this,
        t1 = _this._lastMetrics;
      if (t1 != null)
        if (Math.max(t1.get$pixels() - t1.get$minScrollExtent(), 0) === Math.max(metrics.get$pixels() - metrics.get$minScrollExtent(), 0))
          if (_this._lastMetrics.get$extentInside() === metrics.get$extentInside()) {
            t1 = _this._lastMetrics;
            t1 = Math.max(t1.get$maxScrollExtent() - t1.get$pixels(), 0) === Math.max(metrics.get$maxScrollExtent() - metrics.get$pixels(), 0) && _this._lastAxisDirection === axisDirection;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return;
      oldMetrics = _this._lastMetrics;
      _this._lastMetrics = metrics;
      _this._lastAxisDirection = axisDirection;
      t1 = new A.ScrollbarPainter_update_needPaint();
      if (!t1.call$1(oldMetrics) && !t1.call$1(metrics))
        return;
      _this.notifyListeners$0();
    },
    get$_paintThumb() {
      var t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData()),
        t2 = this._scrollbar$_color,
        t3 = this.fadeoutOpacityAnimation;
      t1.set$color(0, A.Color$fromARGB(B.JSNumber_methods.round$0(255 * ((t2.get$value(t2) >>> 24 & 255) / 255 * t3.get$value(t3))), t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255));
      return t1;
    },
    _paintTrack$1$isBorder(isBorder) {
      var t1, t2, t3, _this = this;
      if (isBorder) {
        t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
        t2 = _this._trackBorderColor;
        t3 = _this.fadeoutOpacityAnimation;
        t1.set$color(0, A.Color$fromARGB(B.JSNumber_methods.round$0(255 * ((t2.get$value(t2) >>> 24 & 255) / 255 * t3.get$value(t3))), t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255));
        t1.set$style(0, B.PaintingStyle_1);
        t1.set$strokeWidth(1);
        return t1;
      }
      t1 = $.$get$useCanvasKit() ? A.CkPaint$() : new A.SurfacePaint(new A.SurfacePaintData());
      t2 = _this._trackColor;
      t3 = _this.fadeoutOpacityAnimation;
      t1.set$color(0, A.Color$fromARGB(B.JSNumber_methods.round$0(255 * ((t2.get$value(t2) >>> 24 & 255) / 255 * t3.get$value(t3))), t2.get$value(t2) >>> 16 & 255, t2.get$value(t2) >>> 8 & 255, t2.get$value(t2) & 255));
      return t1;
    },
    _paintTrack$0() {
      return this._paintTrack$1$isBorder(false);
    },
    _paintScrollbar$4(canvas, size, thumbExtent, direction) {
      var resolvedOrientation, thumbSize, trackSize, t2, x, t3, t4, trackOffset, borderStart, borderEnd, y, _this = this, _null = null,
        t1 = _this._lastAxisDirection;
      if (t1 === B.AxisDirection_2 || t1 === B.AxisDirection_0)
        resolvedOrientation = _this._scrollbar$_textDirection === B.TextDirection_1 ? B.ScrollbarOrientation_1 : B.ScrollbarOrientation_0;
      else
        resolvedOrientation = B.ScrollbarOrientation_3;
      switch (resolvedOrientation.index) {
        case 0:
          t1 = _this._scrollbar$_thickness;
          thumbSize = new A.Size(t1, thumbExtent);
          t1 += 2 * _this._crossAxisMargin;
          trackSize = new A.Size(t1, _this.get$_trackExtent());
          t2 = _this._crossAxisMargin;
          x = t2 + _this._scrollbar$_padding.left;
          t3 = _this.__ScrollbarPainter__thumbOffset;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t2 = x - t2;
          t4 = _this._mainAxisMargin;
          trackOffset = new A.Offset(t2, t4);
          borderStart = trackOffset.$add(0, new A.Offset(t1, 0));
          borderEnd = new A.Offset(t2 + t1, t4 + _this.get$_trackExtent());
          y = t3;
          break;
        case 1:
          t1 = _this._scrollbar$_thickness;
          thumbSize = new A.Size(t1, thumbExtent);
          trackSize = new A.Size(t1 + 2 * _this._crossAxisMargin, _this.get$_trackExtent());
          t1 = _this._scrollbar$_thickness;
          t2 = _this._crossAxisMargin;
          x = size._dx - t1 - t2 - _this._scrollbar$_padding.right;
          t1 = _this.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t2 = x - t2;
          t3 = _this._mainAxisMargin;
          trackOffset = new A.Offset(t2, t3);
          borderEnd = new A.Offset(t2, t3 + _this.get$_trackExtent());
          borderStart = trackOffset;
          y = t1;
          break;
        case 2:
          thumbSize = new A.Size(thumbExtent, _this._scrollbar$_thickness);
          t1 = _this.get$_trackExtent();
          t2 = _this._scrollbar$_thickness;
          t3 = _this._crossAxisMargin;
          t2 += 2 * t3;
          trackSize = new A.Size(t1, t2);
          t1 = _this.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          y = t3 + _this._scrollbar$_padding.top;
          t4 = _this._mainAxisMargin;
          t3 = y - t3;
          trackOffset = new A.Offset(t4, t3);
          borderStart = trackOffset.$add(0, new A.Offset(0, t2));
          borderEnd = new A.Offset(t4 + _this.get$_trackExtent(), t3 + t2);
          x = t1;
          break;
        case 3:
          thumbSize = new A.Size(thumbExtent, _this._scrollbar$_thickness);
          t1 = _this.get$_trackExtent();
          t2 = _this._scrollbar$_thickness;
          t3 = _this._crossAxisMargin;
          trackSize = new A.Size(t1, t2 + 2 * t3);
          t1 = _this.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          y = size._dy - t2 - t3 - _this._scrollbar$_padding.bottom;
          t2 = _this._mainAxisMargin;
          t3 = y - t3;
          trackOffset = new A.Offset(t2, t3);
          borderEnd = new A.Offset(t2 + _this.get$_trackExtent(), t3);
          borderStart = trackOffset;
          x = t1;
          break;
        default:
          borderEnd = _null;
          borderStart = borderEnd;
          trackOffset = borderStart;
          trackSize = trackOffset;
          thumbSize = trackSize;
          y = thumbSize;
          x = y;
      }
      t1 = trackOffset._dx;
      t2 = trackOffset._dy;
      _this._trackRect = new A.Rect(t1, t2, t1 + trackSize._dx, t2 + trackSize._dy);
      _this._thumbRect = new A.Rect(x, y, x + thumbSize._dx, y + thumbSize._dy);
      t1 = _this.fadeoutOpacityAnimation;
      if (t1.get$value(t1) !== 0) {
        t1 = _this._trackRect;
        t1.toString;
        canvas.drawRect$2(t1, _this._paintTrack$0());
        canvas.drawLine$3(borderStart, borderEnd, _this._paintTrack$1$isBorder(true));
        t1 = _this._scrollbar$_radius;
        if (t1 != null) {
          t2 = _this._thumbRect;
          t2.toString;
          canvas.drawRRect$2(A.RRect$fromRectAndRadius(t2, t1), _this.get$_paintThumb());
          return;
        }
        t1 = _this._thumbRect;
        t1.toString;
        canvas.drawRect$2(t1, _this.get$_paintThumb());
        return;
      }
    },
    _thumbExtent$0() {
      var t3, t4, t5, t6, t7, fractionVisible, thumbExtent, safeMinLength, newMinLength, _this = this,
        t1 = _this._lastMetrics.get$extentInside(),
        t2 = _this._lastAxisDirection;
      t2 = t2 === B.AxisDirection_2 || t2 === B.AxisDirection_0;
      t3 = _this._scrollbar$_padding;
      t2 = t2 ? t3.get$_top(t3) + t3.get$_bottom(t3) : t3.get$horizontal();
      t3 = _this._lastMetrics;
      t4 = t3._scroll_metrics$_maxScrollExtent;
      t4.toString;
      t5 = t3._scroll_metrics$_minScrollExtent;
      t5.toString;
      t3 = t3._scroll_metrics$_viewportDimension;
      t3.toString;
      t6 = _this._lastAxisDirection;
      t6 = t6 === B.AxisDirection_2 || t6 === B.AxisDirection_0;
      t7 = _this._scrollbar$_padding;
      t6 = t6 ? t7.get$_top(t7) + t7.get$_bottom(t7) : t7.get$horizontal();
      fractionVisible = A.clampDouble((t1 - t2) / (t4 - t5 + t3 - t6), 0, 1);
      thumbExtent = Math.max(Math.min(_this.get$_trackExtent(), _this._minOverscrollLength), _this.get$_trackExtent() * fractionVisible);
      t6 = _this._lastMetrics.get$extentInside();
      t3 = _this._lastMetrics._scroll_metrics$_viewportDimension;
      t3.toString;
      safeMinLength = Math.min(_this._minLength, _this.get$_trackExtent());
      t1 = _this._lastAxisDirection;
      t1 = t1 === B.AxisDirection_0 || t1 === B.AxisDirection_3;
      t2 = _this._lastMetrics;
      if ((t1 ? Math.max(t2.get$maxScrollExtent() - t2.get$pixels(), 0) : Math.max(t2.get$pixels() - t2.get$minScrollExtent(), 0)) > 0) {
        t1 = _this._lastAxisDirection;
        t1 = t1 === B.AxisDirection_0 || t1 === B.AxisDirection_3;
        t2 = _this._lastMetrics;
        t2 = (t1 ? Math.max(t2.get$pixels() - t2.get$minScrollExtent(), 0) : Math.max(t2.get$maxScrollExtent() - t2.get$pixels(), 0)) > 0;
        t1 = t2;
      } else
        t1 = false;
      newMinLength = t1 ? safeMinLength : safeMinLength * (1 - A.clampDouble(1 - t6 / t3, 0, 0.2) / 0.2);
      return A.clampDouble(thumbExtent, newMinLength, _this.get$_trackExtent());
    },
    dispose$0() {
      this.fadeoutOpacityAnimation.parent.removeListener$1(0, this.get$notifyListeners());
      this.super$ChangeNotifier$dispose();
    },
    get$_trackExtent() {
      var t2, t3, t4, _this = this,
        t1 = _this._lastMetrics._scroll_metrics$_viewportDimension;
      t1.toString;
      t2 = _this._mainAxisMargin;
      t3 = _this._lastAxisDirection;
      t3 = t3 === B.AxisDirection_2 || t3 === B.AxisDirection_0;
      t4 = _this._scrollbar$_padding;
      t3 = t3 ? t4.get$_top(t4) + t4.get$_bottom(t4) : t4.get$horizontal();
      return t1 - 2 * t2 - t3;
    },
    paint$2(canvas, size) {
      var t2, t3, beforePadding, thumbExtent, scrollableExtent, fractionPast, _this = this,
        t1 = _this._lastAxisDirection;
      if (t1 != null) {
        t2 = _this._lastMetrics;
        if (t2 != null) {
          t3 = t2._scroll_metrics$_maxScrollExtent;
          t3.toString;
          t2 = t2._scroll_metrics$_minScrollExtent;
          t2.toString;
          t2 = t3 <= t2;
        } else
          t2 = true;
      } else
        t2 = true;
      if (t2)
        return;
      t2 = _this._lastMetrics._scroll_metrics$_viewportDimension;
      t2.toString;
      t1 = t1 === B.AxisDirection_2 || t1 === B.AxisDirection_0;
      t3 = _this._scrollbar$_padding;
      if (t2 <= (t1 ? t3.get$_top(t3) + t3.get$_bottom(t3) : t3.get$horizontal()) || _this.get$_trackExtent() <= 0)
        return;
      t1 = _this._lastAxisDirection;
      t1 = t1 === B.AxisDirection_2 || t1 === B.AxisDirection_0;
      t2 = _this._scrollbar$_padding;
      beforePadding = t1 ? t2.top : t2.left;
      thumbExtent = _this._thumbExtent$0();
      t1 = _this._lastMetrics;
      t2 = t1._scroll_metrics$_maxScrollExtent;
      t2.toString;
      t3 = t1._scroll_metrics$_minScrollExtent;
      t3.toString;
      scrollableExtent = t2 - t3;
      if (scrollableExtent > 0) {
        t1 = t1._scroll_metrics$_pixels;
        t1.toString;
        fractionPast = A.clampDouble((t1 - t3) / scrollableExtent, 0, 1);
      } else
        fractionPast = 0;
      t1 = _this._lastAxisDirection;
      t1 = t1 === B.AxisDirection_0 || t1 === B.AxisDirection_3 ? 1 - fractionPast : fractionPast;
      _this.__ScrollbarPainter__thumbOffset = t1 * (_this.get$_trackExtent() - thumbExtent) + _this._mainAxisMargin + beforePadding;
      t1 = _this._lastMetrics._scroll_metrics$_maxScrollExtent;
      t1.toString;
      if (t1 == 1 / 0 || t1 == -1 / 0)
        return;
      t1 = _this._lastAxisDirection;
      t1.toString;
      return _this._paintScrollbar$4(canvas, size, thumbExtent, t1);
    },
    hitTestInteractive$3$forHover(position, kind, forHover) {
      var t2, t3, paddedRect, _this = this,
        t1 = _this._trackRect;
      if (t1 == null)
        return false;
      if (_this._ignorePointer)
        return false;
      t2 = _this._lastMetrics;
      t3 = t2._scroll_metrics$_minScrollExtent;
      t3.toString;
      t2 = t2._scroll_metrics$_maxScrollExtent;
      t2.toString;
      if (t3 === t2)
        return false;
      paddedRect = t1.expandToInclude$1(A.Rect$fromCircle(_this._thumbRect.get$center(), 24));
      t2 = _this.fadeoutOpacityAnimation;
      if (t2.get$value(t2) === 0) {
        if (forHover && kind === B.PointerDeviceKind_1)
          return paddedRect.contains$1(0, position);
        return false;
      }
      switch (kind.index) {
        case 0:
        case 4:
          return paddedRect.contains$1(0, position);
        case 1:
        case 2:
        case 3:
        case 5:
          return t1.contains$1(0, position);
      }
    },
    hitTestInteractive$2(position, kind) {
      return this.hitTestInteractive$3$forHover(position, kind, false);
    },
    hitTestOnlyThumbInteractive$2(position, kind) {
      var t1, t2, _this = this;
      if (_this._thumbRect == null)
        return false;
      if (_this._ignorePointer)
        return false;
      t1 = _this.fadeoutOpacityAnimation;
      if (t1.get$value(t1) === 0)
        return false;
      t1 = _this._lastMetrics;
      t2 = t1._scroll_metrics$_minScrollExtent;
      t2.toString;
      t1 = t1._scroll_metrics$_maxScrollExtent;
      t1.toString;
      if (t2 === t1)
        return false;
      switch (kind.index) {
        case 0:
        case 4:
          t1 = _this._thumbRect;
          return t1.expandToInclude$1(A.Rect$fromCircle(t1.get$center(), 24)).contains$1(0, position);
        case 1:
        case 2:
        case 3:
        case 5:
          return _this._thumbRect.contains$1(0, position);
      }
    },
    hitTest$1(position) {
      var t1, t2, _this = this;
      if (_this._thumbRect == null)
        return null;
      if (_this._ignorePointer)
        return false;
      t1 = _this.fadeoutOpacityAnimation;
      if (t1.get$value(t1) === 0)
        return false;
      t1 = _this._lastMetrics;
      t2 = t1._scroll_metrics$_minScrollExtent;
      t2.toString;
      t1 = t1._scroll_metrics$_maxScrollExtent;
      t1.toString;
      if (t2 === t1)
        return false;
      return _this._trackRect.contains$1(0, position);
    },
    shouldRepaint$1(oldDelegate) {
      var t1, _this = this;
      if (_this._scrollbar$_color.$eq(0, oldDelegate._scrollbar$_color))
        if (_this._trackColor.$eq(0, oldDelegate._trackColor))
          if (_this._trackBorderColor.$eq(0, oldDelegate._trackBorderColor))
            if (_this._scrollbar$_textDirection == oldDelegate._scrollbar$_textDirection)
              if (_this._scrollbar$_thickness === oldDelegate._scrollbar$_thickness)
                if (_this.fadeoutOpacityAnimation === oldDelegate.fadeoutOpacityAnimation)
                  if (_this._mainAxisMargin === oldDelegate._mainAxisMargin)
                    if (_this._crossAxisMargin === oldDelegate._crossAxisMargin)
                      if (J.$eq$(_this._scrollbar$_radius, oldDelegate._scrollbar$_radius))
                        if (_this._scrollbar$_padding.$eq(0, oldDelegate._scrollbar$_padding))
                          if (_this._minLength === oldDelegate._minLength)
                            if (_this._minOverscrollLength === oldDelegate._minOverscrollLength)
                              t1 = _this._ignorePointer !== oldDelegate._ignorePointer;
                            else
                              t1 = true;
                          else
                            t1 = true;
                        else
                          t1 = true;
                      else
                        t1 = true;
                    else
                      t1 = true;
                  else
                    t1 = true;
                else
                  t1 = true;
              else
                t1 = true;
            else
              t1 = true;
          else
            t1 = true;
        else
          t1 = true;
      else
        t1 = true;
      return t1;
    },
    shouldRebuildSemantics$1(oldDelegate) {
      return false;
    },
    get$semanticsBuilder() {
      return null;
    },
    toString$0(_) {
      return "<optimized out>#" + A.shortHash(this);
    }
  };
  A.ScrollbarPainter_update_needPaint.prototype = {
    call$1(metrics) {
      var t1, t2;
      if (metrics != null) {
        t1 = metrics._scroll_metrics$_maxScrollExtent;
        t1.toString;
        t2 = metrics._scroll_metrics$_minScrollExtent;
        t2.toString;
        t2 = t1 > t2;
        t1 = t2;
      } else
        t1 = false;
      return t1;
    },
    $signature: 981
  };
  A.RawScrollbar.prototype = {
    createState$0() {
      return A.RawScrollbarState$(type$.RawScrollbar);
    },
    notificationPredicate$1(arg0) {
      return this.notificationPredicate.call$1(arg0);
    }
  };
  A.RawScrollbarState.prototype = {
    get$showScrollbar() {
      var t1 = this._widget.thumbVisibility;
      return t1 === true;
    },
    get$_showTrack() {
      if (this.get$showScrollbar())
        this._widget.toString;
      return false;
    },
    get$enableGestures() {
      this._widget.toString;
      return true;
    },
    initState$0() {
      var t1, t2, t3, t4, _this = this, _null = null;
      _this.super$State$initState();
      t1 = A.AnimationController$(_null, _this._widget.fadeDuration, 0, _null, 1, _null, _this);
      t1.didRegisterListener$0();
      t2 = t1.AnimationLocalStatusListenersMixin__statusListeners;
      t2._isDirty = true;
      t2._list.push(_this.get$_validateInteractions());
      _this.__RawScrollbarState__fadeoutAnimationController = t1;
      t1 = _this.__RawScrollbarState__fadeoutOpacityAnimation = A.CurvedAnimation$(B.Cubic_ifx, t1, _null);
      t2 = _this._widget;
      t3 = t2.thickness;
      if (t3 == null)
        t3 = 6;
      t4 = t2.radius;
      t2 = t2.scrollbarOrientation;
      t2 = new A.ScrollbarPainter(B.Color_1723645116, B.Color_0, B.Color_0, _null, t3, t1, 0, 0, t4, _null, B.EdgeInsets_0_0_0_0, 18, 18, t2, $.$get$ChangeNotifier__emptyListeners());
      t1.parent.addListener$1(0, t2.get$notifyListeners());
      if (_this.__RawScrollbarState_scrollbarPainter !== $)
        A.throwUnnamedLateFieldAI();
      _this.__RawScrollbarState_scrollbarPainter = t2;
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
    },
    _validateInteractions$1($status) {
      var t1,
        scrollController = this._widget.controller;
      if (scrollController == null) {
        t1 = this._framework$_element;
        t1.toString;
        scrollController = A.PrimaryScrollController_of(t1);
      }
      if ($status !== B.AnimationStatus_0)
        if (scrollController != null)
          this.get$enableGestures();
    },
    updateScrollbarPainter$0() {
      var t2, _this = this,
        t1 = _this.__RawScrollbarState_scrollbarPainter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this._widget.toString;
      t1.set$color(0, B.Color_1723645116);
      _this._widget.toString;
      t1.set$trackRadius(null);
      t1.set$trackColor(_this.get$_showTrack() ? B.Color_134217728 : B.Color_0);
      t1.set$trackBorderColor(_this.get$_showTrack() ? B.Color_436207616 : B.Color_0);
      t2 = _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t2.toString;
      t1.set$textDirection(t2.textDirection);
      t2 = _this._widget.thickness;
      t1.set$thickness(t2 == null ? 6 : t2);
      t1.set$radius(_this._widget.radius);
      t1.set$padding(0, _this._framework$_element.dependOnInheritedWidgetOfExactType$1$0(type$.MediaQuery).data.padding);
      t1.set$scrollbarOrientation(_this._widget.scrollbarOrientation);
      _this._widget.toString;
      t1.set$mainAxisMargin(0);
      _this._widget.toString;
      t1.set$shape(0, null);
      _this._widget.toString;
      t1.set$crossAxisMargin(0);
      _this._widget.toString;
      t1.set$minLength(0, 18);
      _this._widget.toString;
      t1.set$minOverscrollLength(18);
      t1.set$ignorePointer(!_this.get$enableGestures());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget.thumbVisibility;
      if (t1 != oldWidget.thumbVisibility) {
        t1 = t1 === true;
        if (t1) {
          t1 = _this._fadeoutTimer;
          if (t1 != null)
            t1.cancel$0(0);
          t1 = _this.__RawScrollbarState__fadeoutAnimationController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1._direction = B._AnimationDirection_0;
          t1._animateToInternal$3$curve$duration(1, B.C__Linear, null);
        } else {
          t1 = _this.__RawScrollbarState__fadeoutAnimationController;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.reverse$0(0);
        }
      }
    },
    _maybeStartFadeoutTimer$0() {
      var t1, _this = this;
      if (!_this.get$showScrollbar()) {
        t1 = _this._fadeoutTimer;
        if (t1 != null)
          t1.cancel$0(0);
        _this._fadeoutTimer = A.Timer_Timer(_this._widget.timeToFade, new A.RawScrollbarState__maybeStartFadeoutTimer_closure(_this));
      }
    },
    getScrollbarDirection$0() {
      var t1 = this._currentController;
      if (t1._positions.length !== 0)
        return A.axisDirectionToAxis(t1.get$position(t1).get$axisDirection());
      return null;
    },
    handleThumbPress$0() {
      if (this.getScrollbarDirection$0() == null)
        return;
      var t1 = this._fadeoutTimer;
      if (t1 != null)
        t1.cancel$0(0);
    },
    handleThumbPressStart$1(localPosition) {
      var _this = this,
        t1 = _this._widget.controller;
      if (t1 == null) {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = A.PrimaryScrollController_of(t1);
      }
      _this._currentController = t1;
      if (_this.getScrollbarDirection$0() == null)
        return;
      t1 = _this._fadeoutTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this.__RawScrollbarState__fadeoutAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.forward$0(0);
      _this._dragScrollbarAxisOffset = localPosition;
    },
    handleThumbPressUpdate$1(localPosition) {
      var t1, position, primaryDelta, t2, t3, t4, t5, t6, scrollOffsetGlobal, newPosition, _this = this;
      if (_this.getScrollbarDirection$0() == null)
        return;
      t1 = _this._currentController;
      position = t1.get$position(t1);
      primaryDelta = A._Cell$named("primaryDelta");
      switch (position.context.get$axisDirection().index) {
        case 0:
          primaryDelta.__late_helper$_value = _this._dragScrollbarAxisOffset._dy - localPosition._dy;
          break;
        case 1:
          primaryDelta.__late_helper$_value = localPosition._dx - _this._dragScrollbarAxisOffset._dx;
          break;
        case 2:
          primaryDelta.__late_helper$_value = localPosition._dy - _this._dragScrollbarAxisOffset._dy;
          break;
        case 3:
          primaryDelta.__late_helper$_value = _this._dragScrollbarAxisOffset._dx - localPosition._dx;
          break;
      }
      t1 = _this.__RawScrollbarState_scrollbarPainter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = primaryDelta._readLocal$0();
      t3 = t1._lastMetrics;
      t4 = t3._scroll_metrics$_maxScrollExtent;
      t4.toString;
      t3 = t3._scroll_metrics$_minScrollExtent;
      t3.toString;
      t5 = t1.get$_trackExtent();
      t1 = t1._thumbExtent$0();
      t6 = position._pixels;
      t6.toString;
      scrollOffsetGlobal = (t4 - t3) * t2 / (t5 - t1) + t6;
      if (scrollOffsetGlobal !== t6) {
        newPosition = scrollOffsetGlobal - position.physics.applyBoundaryConditions$2(position, scrollOffsetGlobal);
        t1 = _this._framework$_element;
        t1.toString;
        t1 = A.ScrollConfiguration_of(t1);
        t2 = _this._framework$_element;
        t2.toString;
        switch (t1.getPlatform$1(t2)) {
          case B.TargetPlatform_1:
          case B.TargetPlatform_3:
          case B.TargetPlatform_4:
          case B.TargetPlatform_5:
            t1 = position._minScrollExtent;
            t1.toString;
            t2 = position._maxScrollExtent;
            t2.toString;
            newPosition = A.clampDouble(newPosition, t1, t2);
            break;
          case B.TargetPlatform_2:
          case B.TargetPlatform_0:
            break;
        }
        position.jumpTo$1(newPosition);
      }
      _this._dragScrollbarAxisOffset = localPosition;
    },
    handleThumbPressEnd$2(localPosition, velocity) {
      var _this = this;
      if (_this.getScrollbarDirection$0() == null)
        return;
      _this._maybeStartFadeoutTimer$0();
      _this._currentController = _this._dragScrollbarAxisOffset = null;
    },
    _handleTrackTapDown$1(details) {
      var scrollIncrement, t2, _this = this,
        t1 = _this._widget.controller;
      if (t1 == null) {
        t1 = _this._framework$_element;
        t1.toString;
        t1 = A.PrimaryScrollController_of(t1);
      }
      _this._currentController = t1;
      t1 = t1.get$position(t1).context.get$notificationContext();
      t1.toString;
      t1 = A.Scrollable_of(t1);
      if (t1 != null)
        t1._widget.toString;
      t1 = _this._currentController;
      t1 = t1.get$position(t1)._viewportDimension;
      t1.toString;
      scrollIncrement = 0.8 * t1;
      t1 = _this._currentController;
      switch (t1.get$position(t1).context.get$axisDirection().index) {
        case 0:
          t1 = _this.__RawScrollbarState_scrollbarPainter;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (details.localPosition._dy > t1)
            scrollIncrement = -scrollIncrement;
          break;
        case 2:
          t1 = _this.__RawScrollbarState_scrollbarPainter;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (details.localPosition._dy < t1)
            scrollIncrement = -scrollIncrement;
          break;
        case 1:
          t1 = _this.__RawScrollbarState_scrollbarPainter;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (details.localPosition._dx < t1)
            scrollIncrement = -scrollIncrement;
          break;
        case 3:
          t1 = _this.__RawScrollbarState_scrollbarPainter;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.__ScrollbarPainter__thumbOffset;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (details.localPosition._dx > t1)
            scrollIncrement = -scrollIncrement;
          break;
      }
      t1 = _this._currentController;
      t1 = t1.get$position(t1);
      t2 = _this._currentController;
      t2 = t2.get$position(t2)._pixels;
      t2.toString;
      t1.moveTo$3$curve$duration(0, t2 + scrollIncrement, B.Cubic_xDo, B.Duration_100000);
    },
    _shouldUpdatePainter$1(notificationAxis) {
      var t1,
        scrollController = this._widget.controller;
      if (scrollController == null) {
        t1 = this._framework$_element;
        t1.toString;
        scrollController = A.PrimaryScrollController_of(t1);
      }
      if (scrollController == null)
        return true;
      t1 = scrollController._positions.length;
      if (t1 > 1)
        return false;
      return t1 === 0 || A.axisDirectionToAxis(scrollController.get$position(scrollController).get$axisDirection()) === notificationAxis;
    },
    _scrollbar$_handleScrollMetricsNotification$1(notification) {
      var t2, t3, _this = this,
        t1 = _this._widget;
      t1.toString;
      t2 = notification.metrics;
      if (!t1.notificationPredicate$1(A.ScrollUpdateNotification$(notification.context, notification.ViewportNotificationMixin__depth, null, t2, null)))
        return false;
      if (_this.get$showScrollbar()) {
        t1 = _this.__RawScrollbarState__fadeoutAnimationController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t1.__AnimationController__status;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        if (t3 !== B.AnimationStatus_1 && t3 !== B.AnimationStatus_3)
          t1.forward$0(0);
      }
      t1 = t2.axisDirection;
      if (_this._shouldUpdatePainter$1(A.axisDirectionToAxis(t1))) {
        t3 = _this.__RawScrollbarState_scrollbarPainter;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3.update$2(0, t2, t1);
      }
      return false;
    },
    _scrollbar$_handleScrollNotification$1(notification) {
      var metrics, t1, t2, _this = this;
      if (!_this._widget.notificationPredicate$1(notification))
        return false;
      metrics = notification.metrics;
      t1 = metrics._scroll_metrics$_maxScrollExtent;
      t1.toString;
      t2 = metrics._scroll_metrics$_minScrollExtent;
      t2.toString;
      if (t1 <= t2) {
        t1 = _this.__RawScrollbarState__fadeoutAnimationController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.__AnimationController__status;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t2 !== B.AnimationStatus_0 && t2 !== B.AnimationStatus_2)
          t1.reverse$0(0);
        t1 = metrics.axisDirection;
        if (_this._shouldUpdatePainter$1(A.axisDirectionToAxis(t1))) {
          t2 = _this.__RawScrollbarState_scrollbarPainter;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.update$2(0, metrics, t1);
        }
        return false;
      }
      if (notification instanceof A.ScrollUpdateNotification || notification instanceof A.OverscrollNotification) {
        t1 = _this.__RawScrollbarState__fadeoutAnimationController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t1.__AnimationController__status;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t2 !== B.AnimationStatus_1 && t2 !== B.AnimationStatus_3)
          t1.forward$0(0);
        t1 = _this._fadeoutTimer;
        if (t1 != null)
          t1.cancel$0(0);
        t1 = metrics.axisDirection;
        if (_this._shouldUpdatePainter$1(A.axisDirectionToAxis(t1))) {
          t2 = _this.__RawScrollbarState_scrollbarPainter;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.update$2(0, metrics, t1);
        }
      } else if (notification instanceof A.ScrollEndNotification)
        if (_this._dragScrollbarAxisOffset == null)
          _this._maybeStartFadeoutTimer$0();
      return false;
    },
    get$_gestures() {
      var t1, _this = this,
        gestures = A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizerFactory_GestureRecognizer),
        controller = _this._widget.controller;
      if (controller == null) {
        t1 = _this._framework$_element;
        t1.toString;
        controller = A.PrimaryScrollController_of(t1);
      }
      if (controller == null || !_this.get$enableGestures())
        return gestures;
      gestures.$indexSet(0, B.Type__ThumbPressGestureRecognizer_KUi, new A.GestureRecognizerFactoryWithHandlers(new A.RawScrollbarState__gestures_closure(_this), new A.RawScrollbarState__gestures_closure0(_this), type$.GestureRecognizerFactoryWithHandlers__ThumbPressGestureRecognizer));
      gestures.$indexSet(0, B.Type__TrackTapGestureRecognizer_LjJ, new A.GestureRecognizerFactoryWithHandlers(new A.RawScrollbarState__gestures_closure1(_this), new A.RawScrollbarState__gestures_closure2(_this), type$.GestureRecognizerFactoryWithHandlers__TrackTapGestureRecognizer));
      return gestures;
    },
    isPointerOverScrollbar$3$forHover(position, kind, forHover) {
      var localOffset,
        t1 = this._scrollbarPainterKey;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1) == null)
        return false;
      localOffset = A._getLocalOffset(t1, position);
      t1 = this.__RawScrollbarState_scrollbarPainter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.hitTestInteractive$3$forHover(localOffset, kind, true);
    },
    handleHover$1($event) {
      var t1, _this = this;
      if (_this.isPointerOverScrollbar$3$forHover($event.get$position($event), $event.get$kind($event), true)) {
        _this._hoverIsActive = true;
        t1 = _this.__RawScrollbarState__fadeoutAnimationController;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.forward$0(0);
        t1 = _this._fadeoutTimer;
        if (t1 != null)
          t1.cancel$0(0);
      } else if (_this._hoverIsActive) {
        _this._hoverIsActive = false;
        _this._maybeStartFadeoutTimer$0();
      }
    },
    handleHoverExit$1($event) {
      this._hoverIsActive = false;
      this._maybeStartFadeoutTimer$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.__RawScrollbarState__fadeoutAnimationController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      t1 = _this._fadeoutTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = _this.__RawScrollbarState_scrollbarPainter;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.fadeoutOpacityAnimation.parent.removeListener$1(0, t1.get$notifyListeners());
      t1.super$ChangeNotifier$dispose();
      _this.super$_RawScrollbarState_State_TickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var t1, t2, _this = this, _null = null;
      _this.updateScrollbarPainter$0();
      t1 = _this.get$_gestures();
      t2 = _this.__RawScrollbarState_scrollbarPainter;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return new A.NotificationListener(_this.get$_scrollbar$_handleScrollMetricsNotification(), new A.NotificationListener(_this.get$_scrollbar$_handleScrollNotification(), new A.RepaintBoundary(new A.RawGestureDetector(A.MouseRegion$(A.CustomPaint$(new A.RepaintBoundary(_this._widget.child, _null), t2, _this._scrollbarPainterKey, _null, B.Size_0_0), B.C__DeferringMouseCursor, _null, _null, new A.RawScrollbarState_build_closure(_this), new A.RawScrollbarState_build_closure0(_this)), t1, _null, false, _null, _null), _null), _null, type$.NotificationListener_ScrollNotification), _null, type$.NotificationListener_ScrollMetricsNotification);
    }
  };
  A.RawScrollbarState__maybeStartFadeoutTimer_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1.__RawScrollbarState__fadeoutAnimationController;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.reverse$0(0);
      t1._fadeoutTimer = null;
    },
    $signature: 0
  };
  A.RawScrollbarState__gestures_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.pressDuration,
        t3 = type$.int,
        t4 = A.HashSet_HashSet(t3);
      return new A._ThumbPressGestureRecognizer(t1._scrollbarPainterKey, t2, null, B.GestureRecognizerState_0, A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.GestureArenaEntry), t4, t1, null, A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.PointerDeviceKind));
    },
    $signature: 982
  };
  A.RawScrollbarState__gestures_closure0.prototype = {
    call$1(instance) {
      var t1 = this.$this;
      instance.onLongPress = t1.get$handleThumbPress();
      instance.onLongPressStart = new A.RawScrollbarState__gestures__closure(t1);
      instance.onLongPressMoveUpdate = new A.RawScrollbarState__gestures__closure0(t1);
      instance.onLongPressEnd = new A.RawScrollbarState__gestures__closure1(t1);
    },
    $signature: 983
  };
  A.RawScrollbarState__gestures__closure.prototype = {
    call$1(details) {
      return this.$this.handleThumbPressStart$1(details.localPosition);
    },
    $signature: 103
  };
  A.RawScrollbarState__gestures__closure0.prototype = {
    call$1(details) {
      return this.$this.handleThumbPressUpdate$1(details.localPosition);
    },
    $signature: 104
  };
  A.RawScrollbarState__gestures__closure1.prototype = {
    call$1(details) {
      return this.$this.handleThumbPressEnd$2(details.localPosition, details.velocity);
    },
    $signature: 185
  };
  A.RawScrollbarState__gestures_closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = type$.int,
        t3 = A.HashSet_HashSet(t2);
      return new A._TrackTapGestureRecognizer(t1._scrollbarPainterKey, B.Duration_100000, 18, B.GestureRecognizerState_0, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.GestureArenaEntry), t3, t1, null, A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.PointerDeviceKind));
    },
    $signature: 985
  };
  A.RawScrollbarState__gestures_closure2.prototype = {
    call$1(instance) {
      instance.onTapDown = this.$this.get$_handleTrackTapDown();
    },
    $signature: 986
  };
  A.RawScrollbarState_build_closure.prototype = {
    call$1($event) {
      var t1;
      switch ($event.get$kind($event).index) {
        case 1:
        case 4:
          t1 = this.$this;
          if (t1.get$enableGestures())
            t1.handleHoverExit$1($event);
          break;
        case 2:
        case 3:
        case 5:
        case 0:
          break;
      }
    },
    $signature: 34
  };
  A.RawScrollbarState_build_closure0.prototype = {
    call$1($event) {
      var t1;
      switch ($event.get$kind($event).index) {
        case 1:
        case 4:
          t1 = this.$this;
          if (t1.get$enableGestures())
            t1.handleHover$1($event);
          break;
        case 2:
        case 3:
        case 5:
        case 0:
          break;
      }
    },
    $signature: 67
  };
  A._ThumbPressGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      if (!this._hitTestInteractive$3(this._customPaintKey, $event.get$position($event), $event.get$kind($event)))
        return false;
      return this.super$LongPressGestureRecognizer$isPointerAllowed($event);
    },
    _hitTestInteractive$3(customPaintKey, offset, kind) {
      var t1;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, customPaintKey) == null)
        return false;
      t1 = type$.CustomPaint._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, customPaintKey).get$widget()).foregroundPainter;
      t1.toString;
      return type$.ScrollbarPainter._as(t1).hitTestOnlyThumbInteractive$2(A._getLocalOffset(customPaintKey, offset), kind);
    }
  };
  A._TrackTapGestureRecognizer.prototype = {
    isPointerAllowed$1($event) {
      if (!this._hitTestInteractive$3(this._customPaintKey, $event.get$position($event), $event.get$kind($event)))
        return false;
      return this.super$TapGestureRecognizer$isPointerAllowed($event);
    },
    _hitTestInteractive$3(customPaintKey, offset, kind) {
      var t1, localOffset;
      if ($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, customPaintKey) == null)
        return false;
      t1 = type$.CustomPaint._as($.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, customPaintKey).get$widget()).foregroundPainter;
      t1.toString;
      type$.ScrollbarPainter._as(t1);
      localOffset = A._getLocalOffset(customPaintKey, offset);
      return t1.hitTestInteractive$2(localOffset, kind) && !t1.hitTestOnlyThumbInteractive$2(localOffset, kind);
    }
  };
  A._RawScrollbarState_State_TickerProviderStateMixin.prototype = {
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTickers$0();
    },
    dispose$0() {
      var _this = this,
        t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    }
  };
  A.MultiSelectableSelectionContainerDelegate.prototype = {
    add$1(_, selectable) {
      this._additions.add$1(0, selectable);
      this._scheduleSelectableUpdate$0();
    },
    remove$1(_, selectable) {
      var index, t1, _this = this;
      if (_this._additions.remove$1(0, selectable))
        return;
      index = B.JSArray_methods.indexOf$1(_this.selectables, selectable);
      B.JSArray_methods.removeAt$1(_this.selectables, index);
      t1 = _this.currentSelectionEndIndex;
      if (index <= t1)
        _this.currentSelectionEndIndex = t1 - 1;
      t1 = _this.currentSelectionStartIndex;
      if (index <= t1)
        _this.currentSelectionStartIndex = t1 - 1;
      selectable.removeListener$1(0, _this.get$_handleSelectableGeometryChange());
      _this._scheduleSelectableUpdate$0();
    },
    _scheduleSelectableUpdate$0() {
      if (!this._scheduledSelectableUpdate) {
        this._scheduledSelectableUpdate = true;
        $.SchedulerBinding__instance.SchedulerBinding__postFrameCallbacks.push(new A.MultiSelectableSelectionContainerDelegate__scheduleSelectableUpdate_closure(this));
      }
    },
    _flushAdditions$0() {
      var existingSelectables, selectionStartIndex, selectionEndIndex, mergingIndex, existingIndex, t2, mergingSelectable, t3, _this = this,
        t1 = _this._additions,
        mergingSelectables = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("SetMixin.E"));
      B.JSArray_methods.sort$1(mergingSelectables, _this.get$_compareScreenOrder());
      existingSelectables = _this.selectables;
      _this.selectables = A._setArrayType([], type$.JSArray_Selectable);
      selectionStartIndex = _this.currentSelectionStartIndex;
      selectionEndIndex = _this.currentSelectionEndIndex;
      t1 = _this.get$_handleSelectableGeometryChange();
      mergingIndex = 0;
      existingIndex = 0;
      while (true) {
        t2 = mergingSelectables.length;
        if (!(mergingIndex < t2 || existingIndex < existingSelectables.length))
          break;
        c$0: {
          if (mergingIndex < t2)
            t2 = existingIndex < existingSelectables.length && _this.compareOrder$2(existingSelectables[existingIndex], mergingSelectables[mergingIndex]) < 0;
          else
            t2 = true;
          if (t2) {
            if (existingIndex === _this.currentSelectionStartIndex)
              selectionStartIndex = _this.selectables.length;
            if (existingIndex === _this.currentSelectionEndIndex)
              selectionEndIndex = _this.selectables.length;
            B.JSArray_methods.add$1(_this.selectables, existingSelectables[existingIndex]);
            ++existingIndex;
            break c$0;
          }
          mergingSelectable = mergingSelectables[mergingIndex];
          t2 = _this.currentSelectionStartIndex;
          t3 = _this.currentSelectionEndIndex;
          if (existingIndex < Math.max(t2, t3) && existingIndex > Math.min(t2, t3))
            _this.ensureChildUpdated$1(mergingSelectable);
          mergingSelectable.addListener$1(0, t1);
          B.JSArray_methods.add$1(_this.selectables, mergingSelectable);
          ++mergingIndex;
        }
      }
      _this.currentSelectionEndIndex = selectionEndIndex;
      _this.currentSelectionStartIndex = selectionStartIndex;
      _this._additions = A.LinkedHashSet_LinkedHashSet$_empty(type$.Selectable);
    },
    didChangeSelectables$0() {
      this._updateSelectionGeometry$0();
    },
    get$value(_) {
      return this._selectionGeometry;
    },
    _updateSelectionGeometry$0() {
      var _this = this,
        newValue = _this.getSelectionGeometry$0();
      if (!_this._selectionGeometry.$eq(0, newValue)) {
        _this._selectionGeometry = newValue;
        _this.notifyListeners$0();
      }
      _this._updateHandleLayersAndOwners$0();
    },
    get$compareOrder() {
      return this.get$_compareScreenOrder();
    },
    _compareScreenOrder$2(a, b) {
      var rectA = A.MatrixUtils_transformRect(a.getTransformTo$1(0, null), new A.Rect(0, 0, 0 + a.get$size(a)._dx, 0 + a.get$size(a)._dy)),
        rectB = A.MatrixUtils_transformRect(b.getTransformTo$1(0, null), new A.Rect(0, 0, 0 + b.get$size(b)._dx, 0 + b.get$size(b)._dy)),
        result = A.MultiSelectableSelectionContainerDelegate__compareVertically(rectA, rectB);
      if (result !== 0)
        return result;
      return A.MultiSelectableSelectionContainerDelegate__compareHorizontally(rectA, rectB);
    },
    _handleSelectableGeometryChange$0() {
      if (this._isHandlingSelectionEvent)
        return;
      this._updateSelectionGeometry$0();
    },
    getSelectionGeometry$0() {
      var startGeometry, startIndexWalker, forwardSelection, t2, t3, start, startPoint, endGeometry, endIndexWalker, end, endPoint, _this = this, _null = null,
        t1 = _this.currentSelectionEndIndex;
      if (t1 === -1 || _this.currentSelectionStartIndex === -1 || _this.selectables.length === 0)
        return new A.SelectionGeometry(_null, _null, B.SelectionStatus_2, _this.selectables.length !== 0);
      t1 = _this._adjustSelectionIndexBasedOnSelectionGeometry$2(_this.currentSelectionStartIndex, t1);
      _this.currentSelectionStartIndex = t1;
      _this.currentSelectionEndIndex = _this._adjustSelectionIndexBasedOnSelectionGeometry$2(_this.currentSelectionEndIndex, t1);
      startGeometry = J.get$value$x(_this.selectables[_this.currentSelectionStartIndex]);
      t1 = _this.currentSelectionEndIndex;
      startIndexWalker = _this.currentSelectionStartIndex;
      forwardSelection = t1 >= startIndexWalker;
      while (true) {
        if (!(startIndexWalker !== _this.currentSelectionEndIndex && startGeometry.startSelectionPoint == null))
          break;
        startIndexWalker += forwardSelection ? 1 : -1;
        startGeometry = J.get$value$x(_this.selectables[startIndexWalker]);
      }
      t1 = startGeometry.startSelectionPoint;
      if (t1 != null) {
        t2 = _this.selectables[startIndexWalker];
        t3 = _this._selectionContainerContext.get$renderObject();
        t3.toString;
        start = A.MatrixUtils_transformPoint(t2.getTransformTo$1(0, type$.RenderBox._as(t3)), t1.localPosition);
        startPoint = isFinite(start._dx) && isFinite(start._dy) ? new A.SelectionPoint(start, t1.lineHeight, t1.handleType) : _null;
      } else
        startPoint = _null;
      endGeometry = J.get$value$x(_this.selectables[_this.currentSelectionEndIndex]);
      endIndexWalker = _this.currentSelectionEndIndex;
      while (true) {
        if (!(endIndexWalker !== _this.currentSelectionStartIndex && endGeometry.endSelectionPoint == null))
          break;
        endIndexWalker += forwardSelection ? -1 : 1;
        endGeometry = J.get$value$x(_this.selectables[endIndexWalker]);
      }
      t1 = endGeometry.endSelectionPoint;
      if (t1 != null) {
        t2 = _this.selectables[endIndexWalker];
        t3 = _this._selectionContainerContext.get$renderObject();
        t3.toString;
        end = A.MatrixUtils_transformPoint(t2.getTransformTo$1(0, type$.RenderBox._as(t3)), t1.localPosition);
        endPoint = isFinite(end._dx) && isFinite(end._dy) ? new A.SelectionPoint(end, t1.lineHeight, t1.handleType) : _null;
      } else
        endPoint = _null;
      return new A.SelectionGeometry(startPoint, endPoint, !startGeometry.$eq(0, endGeometry) ? B.SelectionStatus_0 : startGeometry.status, true);
    },
    _adjustSelectionIndexBasedOnSelectionGeometry$2(currentIndex, towardIndex) {
      var $forward = towardIndex > currentIndex;
      while (true) {
        if (!(currentIndex !== towardIndex && J.get$value$x(this.selectables[currentIndex]).status !== B.SelectionStatus_0))
          break;
        currentIndex += $forward ? 1 : -1;
      }
      return currentIndex;
    },
    pushHandleLayers$2(startHandle, endHandle) {
      return;
    },
    _updateHandleLayersAndOwners$0() {
      var t2, _this = this, _null = null,
        effectiveStartHandle = _this._startHandleLayer,
        effectiveEndHandle = _this._endHandleLayer,
        t1 = _this.currentSelectionStartIndex;
      if (t1 === -1 || _this.currentSelectionEndIndex === -1) {
        t1 = _this._startHandleLayerOwner;
        if (t1 != null) {
          t1.pushHandleLayers$2(_null, _null);
          _this._startHandleLayerOwner = null;
        }
        t1 = _this._endHandleLayerOwner;
        if (t1 != null) {
          t1.pushHandleLayers$2(_null, _null);
          _this._endHandleLayerOwner = null;
        }
        return;
      }
      if (!J.$eq$(_this.selectables[t1], _this._startHandleLayerOwner)) {
        t1 = _this._startHandleLayerOwner;
        if (t1 != null)
          t1.pushHandleLayers$2(_null, _null);
      }
      if (!J.$eq$(_this.selectables[_this.currentSelectionEndIndex], _this._endHandleLayerOwner)) {
        t1 = _this._endHandleLayerOwner;
        if (t1 != null)
          t1.pushHandleLayers$2(_null, _null);
      }
      t1 = _this.selectables;
      t2 = _this.currentSelectionStartIndex;
      t1 = _this._startHandleLayerOwner = t1[t2];
      if (t2 === _this.currentSelectionEndIndex) {
        _this._endHandleLayerOwner = t1;
        t1.pushHandleLayers$2(effectiveStartHandle, effectiveEndHandle);
        return;
      }
      t1.pushHandleLayers$2(effectiveStartHandle, _null);
      t1 = _this.selectables[_this.currentSelectionEndIndex];
      _this._endHandleLayerOwner = t1;
      t1.pushHandleLayers$2(_null, effectiveEndHandle);
    },
    handleSelectAll$1($event) {
      var t1, t2, _i, _this = this;
      for (t1 = _this.selectables, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        _this.dispatchSelectionEventToChild$2(t1[_i], $event);
      _this.currentSelectionStartIndex = 0;
      _this.currentSelectionEndIndex = _this.selectables.length - 1;
      return B.SelectionResult_4;
    },
    handleSelectWord$1($event) {
      var index, t1, t2, existingGeometry, _this = this;
      for (index = 0; t1 = _this.selectables, index < t1.length; ++index) {
        t1 = J.get$size$x(t1[index]);
        t2 = J.get$size$x(_this.selectables[index]);
        if (A.MatrixUtils_transformRect(J.getTransformTo$1$z(_this.selectables[index], null), new A.Rect(0, 0, 0 + t1._dx, 0 + t2._dy)).contains$1(0, $event.get$globalPosition())) {
          existingGeometry = J.get$value$x(_this.selectables[index]);
          _this.dispatchSelectionEventToChild$2(_this.selectables[index], $event);
          if (!J.get$value$x(_this.selectables[index]).$eq(0, existingGeometry)) {
            t1 = _this.selectables;
            new A.WhereIterable(t1, new A.MultiSelectableSelectionContainerDelegate_handleSelectWord_closure(_this, index), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>")).forEach$1(0, new A.MultiSelectableSelectionContainerDelegate_handleSelectWord_closure0(_this));
            _this.currentSelectionStartIndex = _this.currentSelectionEndIndex = index;
          }
          return B.SelectionResult_2;
        }
      }
      return B.SelectionResult_4;
    },
    handleClearSelection$1($event) {
      var t1, t2, _i, _this = this;
      for (t1 = _this.selectables, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        _this.dispatchSelectionEventToChild$2(t1[_i], $event);
      _this.currentSelectionStartIndex = _this.currentSelectionEndIndex = -1;
      return B.SelectionResult_4;
    },
    handleSelectionEdgeUpdate$1($event) {
      var _this = this;
      if ($event.type === B.SelectionEventType_1)
        return _this.currentSelectionEndIndex === -1 ? _this._initSelection$2$isEnd($event, true) : _this._adjustSelection$2$isEnd($event, true);
      return _this.currentSelectionStartIndex === -1 ? _this._initSelection$2$isEnd($event, false) : _this._adjustSelection$2$isEnd($event, false);
    },
    dispose$0() {
      var t1, t2, t3, _i, _this = this;
      for (t1 = _this.selectables, t2 = t1.length, t3 = _this.get$_handleSelectableGeometryChange(), _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        J.removeListener$1$x(t1[_i], t3);
      _this.selectables = B.List_empty16;
      _this._scheduledSelectableUpdate = false;
      _this.super$ChangeNotifier$dispose();
    },
    dispatchSelectionEventToChild$2(selectable, $event) {
      return selectable.dispatchSelectionEvent$1($event);
    },
    _initSelection$2$isEnd($event, isEnd) {
      var t1, _this = this, newIndex = -1,
        hasFoundEdgeIndex = false,
        result = null, index = 0;
      while (true) {
        t1 = _this.selectables;
        if (!(index < t1.length && !hasFoundEdgeIndex))
          break;
        switch (_this.dispatchSelectionEventToChild$2(t1[index], $event).index) {
          case 0:
          case 4:
            newIndex = index;
            break;
          case 2:
            newIndex = index;
            hasFoundEdgeIndex = true;
            result = B.SelectionResult_2;
            break;
          case 1:
            if (index === 0) {
              newIndex = 0;
              result = B.SelectionResult_1;
            }
            if (result == null)
              result = B.SelectionResult_2;
            hasFoundEdgeIndex = true;
            break;
          case 3:
            newIndex = index;
            hasFoundEdgeIndex = true;
            result = B.SelectionResult_3;
            break;
        }
        ++index;
      }
      if (newIndex === -1)
        return B.SelectionResult_4;
      if (isEnd)
        _this.currentSelectionEndIndex = newIndex;
      else
        _this.currentSelectionStartIndex = newIndex;
      return result == null ? B.SelectionResult_0 : result;
    },
    _adjustSelection$2$isEnd($event, isEnd) {
      var t1, finalResult0, _this = this,
        newIndex = isEnd ? _this.currentSelectionEndIndex : _this.currentSelectionStartIndex,
        currentSelectableResult = A._Cell$named("currentSelectableResult"),
        finalResult = null, $forward = null;
      while (true) {
        t1 = _this.selectables;
        if (!(newIndex < t1.length && newIndex >= 0 && finalResult == null))
          break;
        finalResult0 = currentSelectableResult.__late_helper$_value = _this.dispatchSelectionEventToChild$2(t1[newIndex], $event);
        switch (finalResult0.index) {
          case 2:
          case 3:
          case 4:
            finalResult = finalResult0;
            break;
          case 0:
            if ($forward === false) {
              ++newIndex;
              finalResult = B.SelectionResult_2;
            } else if (newIndex === _this.selectables.length - 1)
              finalResult = finalResult0;
            else {
              ++newIndex;
              $forward = true;
            }
            break;
          case 1:
            if ($forward === true) {
              --newIndex;
              finalResult = B.SelectionResult_2;
            } else if (newIndex === 0)
              finalResult = finalResult0;
            else {
              --newIndex;
              $forward = false;
            }
            break;
        }
      }
      if (isEnd)
        _this.currentSelectionEndIndex = newIndex;
      else
        _this.currentSelectionStartIndex = newIndex;
      finalResult.toString;
      return finalResult;
    },
    compareOrder$2(arg0, arg1) {
      return this.get$compareOrder().call$2(arg0, arg1);
    }
  };
  A.MultiSelectableSelectionContainerDelegate__scheduleSelectableUpdate_closure.prototype = {
    call$1(timeStamp) {
      var t1 = this.$this;
      if (!t1._scheduledSelectableUpdate)
        return;
      t1._scheduledSelectableUpdate = false;
      if (t1._additions._collection$_length !== 0)
        t1._flushAdditions$0();
      t1.didChangeSelectables$0();
    },
    $signature: 3
  };
  A.MultiSelectableSelectionContainerDelegate_handleSelectWord_closure.prototype = {
    call$1(target) {
      return target !== this.$this.selectables[this.index];
    },
    $signature: 989
  };
  A.MultiSelectableSelectionContainerDelegate_handleSelectWord_closure0.prototype = {
    call$1(target) {
      return this.$this.dispatchSelectionEventToChild$2(target, B.ClearSelectionEvent_SelectionEventType_2);
    },
    $signature: 97
  };
  A._MultiSelectableSelectionContainerDelegate_SelectionContainerDelegate_ChangeNotifier.prototype = {};
  A.SelectionContainer.prototype = {
    createState$0() {
      return new A._SelectionContainerState(A.LinkedHashSet_LinkedHashSet$_empty(type$.void_Function), null, false, B._StateLifecycle_0);
    }
  };
  A._SelectionContainerState.prototype = {
    initState$0() {
      var t1, t2, t3, _this = this;
      _this.super$State$initState();
      t1 = _this._widget;
      t2 = t1.delegate;
      t3 = _this._framework$_element;
      t3.toString;
      t2._selectionContainerContext = t3;
      _this.set$registrar(t1.registrar);
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, t3, t4, listener, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.delegate;
      if (t1 !== _this._widget.delegate) {
        t1._selectionContainerContext = null;
        t2 = _this._selection_container$_listeners;
        t2.forEach$1(0, t1.get$removeListener(t1));
        t3 = _this._widget.delegate;
        t4 = _this._framework$_element;
        t4.toString;
        t3._selectionContainerContext = t4;
        t2.forEach$1(0, t3.get$addListener(t3));
        t1 = t1._selectionGeometry;
        t3 = _this._widget.delegate._selectionGeometry;
        if (!t1.$eq(0, t3))
          for (t1 = A._LinkedHashSetIterator$(t2, t2._collection$_modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
            listener = t1._collection$_current;
            (listener == null ? t2._as(listener) : listener).call$0();
          }
      }
      t1 = _this._widget;
      _this.set$registrar(t1.registrar);
    },
    didChangeDependencies$0() {
      this.super$State$didChangeDependencies();
      this._widget.toString;
    },
    addListener$1(_, listener) {
      this._widget.delegate.addListener$1(0, listener);
      this._selection_container$_listeners.add$1(0, listener);
    },
    removeListener$1(_, listener) {
      this._widget.delegate.removeListener$1(0, listener);
      this._selection_container$_listeners.remove$1(0, listener);
    },
    pushHandleLayers$2(startHandle, endHandle) {
      this._widget.delegate.pushHandleLayers$2(startHandle, endHandle);
    },
    dispatchSelectionEvent$1($event) {
      var result, result0,
        t1 = this._widget.delegate,
        selectionWillbeInProgress = !($event instanceof A.ClearSelectionEvent);
      if (!t1._selectionInProgress && selectionWillbeInProgress)
        B.JSArray_methods.sort$1(t1.selectables, t1.get$_compareScreenOrder());
      t1._selectionInProgress = selectionWillbeInProgress;
      t1._isHandlingSelectionEvent = true;
      result = A._Cell$named("result");
      switch ($event.type.index) {
        case 0:
        case 1:
          result.__late_helper$_value = t1.handleSelectionEdgeUpdate$1(type$.SelectionEdgeUpdateEvent._as($event));
          break;
        case 2:
          type$.ClearSelectionEvent._as($event);
          t1._selectableStartEdgeUpdateRecords.clear$0(0);
          t1._selectableEndEdgeUpdateRecords.clear$0(0);
          t1._currentDragEndRelatedToOrigin = t1._currentDragStartRelatedToOrigin = null;
          t1._selectionStartsInScrollable = false;
          result.__late_helper$_value = t1.super$MultiSelectableSelectionContainerDelegate$handleClearSelection($event);
          break;
        case 3:
          result0 = t1.super$MultiSelectableSelectionContainerDelegate$handleSelectAll(type$.SelectAllSelectionEvent._as($event));
          if (t1.currentSelectionStartIndex !== -1)
            t1._updateDragLocationsFromGeometries$0();
          result.__late_helper$_value = result0;
          break;
        case 4:
          type$.SelectWordSelectionEvent._as($event);
          t1._selectionStartsInScrollable = t1._globalPositionInScrollable$1($event.get$globalPosition());
          result0 = t1.super$MultiSelectableSelectionContainerDelegate$handleSelectWord($event);
          t1._updateDragLocationsFromGeometries$0();
          result.__late_helper$_value = result0;
          break;
      }
      t1._isHandlingSelectionEvent = false;
      t1._updateSelectionGeometry$0();
      return result._readLocal$0();
    },
    get$value(_) {
      var t1 = this._widget;
      return t1.delegate._selectionGeometry;
    },
    getTransformTo$1(_, ancestor) {
      return this._framework$_element.get$renderObject().getTransformTo$1(0, ancestor);
    },
    get$size(_) {
      var t1 = this._framework$_element.get$renderObject();
      t1.toString;
      t1 = type$.RenderBox._as(t1)._box$_size;
      t1.toString;
      return t1;
    },
    dispose$0() {
      var t1 = this._widget.delegate;
      t1._selectionContainerContext = null;
      this._selection_container$_listeners.forEach$1(0, t1.get$removeListener(t1));
      this.super$__SelectionContainerState_State_Selectable_SelectionRegistrant$dispose();
    },
    build$1(context) {
      var t1 = this._widget,
        t2 = t1.delegate;
      return A.SelectionRegistrarScope$(t1.child, t2);
    },
    $isListenable: 1,
    $isValueListenable: 1
  };
  A.SelectionRegistrarScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      return oldWidget.registrar != this.registrar;
    }
  };
  A.SelectionContainerDelegate.prototype = {$isListenable: 1, $isValueListenable: 1};
  A.__SelectionContainerState_State_Selectable.prototype = {};
  A.__SelectionContainerState_State_Selectable_SelectionRegistrant.prototype = {
    dispose$0() {
      this._selection$_removeSelectionRegistrarSubscription$0();
      this.super$State$dispose();
    }
  };
  A.SharedAppData.prototype = {
    createState$0() {
      return new A._SharedAppDataState(B._StateLifecycle_0);
    }
  };
  A._SharedAppDataState.prototype = {
    get$data(_) {
      var value = this.___SharedAppDataState_data;
      return value === $ ? this.___SharedAppDataState_data = A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$.nullable_Object) : value;
    },
    build$1(context) {
      var t1 = this._widget.child;
      return new A._SharedAppModel(this.get$data(this), t1, null);
    }
  };
  A._SharedAppModel.prototype = {
    updateShouldNotify$1(old) {
      return this.data !== old.data;
    },
    updateShouldNotifyDependent$2(old, keys) {
      var t1, t2, t3, t4;
      for (t1 = keys.get$iterator(keys), t2 = this.data, t3 = old.data; t1.moveNext$0();) {
        t4 = t1.get$current(t1);
        if (!J.$eq$(t2.$index(0, t4), t3.$index(0, t4)))
          return true;
      }
      return false;
    }
  };
  A.KeySet.prototype = {
    KeySet$4(key1, key2, key3, key4, _box_0, $T) {
      _box_0.count = 1;
      if (key2 != null)
        this._shortcuts$_keys.add$1(0, key2);
    },
    get$keys(_) {
      return this._shortcuts$_keys.toSet$0(0);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return A._instanceType(this)._eval$1("KeySet<KeySet.T>")._is(other) && A.setEquals(other._shortcuts$_keys, this._shortcuts$_keys);
    },
    get$hashCode(_) {
      var result, _this = this,
        value = _this.__KeySet_hashCode;
      if (value === $) {
        result = A.KeySet__computeHashCode(_this._shortcuts$_keys);
        if (_this.__KeySet_hashCode !== $)
          A.throwUnnamedLateFieldADI();
        _this.__KeySet_hashCode = result;
        value = result;
      }
      return value;
    }
  };
  A.LogicalKeySet.prototype = {
    get$triggers() {
      return this.get$_triggers();
    },
    get$_triggers() {
      var t1, t2, result, _this = this,
        value = _this.__LogicalKeySet__triggers;
      if (value === $) {
        t1 = _this._shortcuts$_keys.toSet$0(0);
        t2 = A._instanceType(t1)._eval$1("ExpandIterable<SetMixin.E,LogicalKeyboardKey>");
        result = A.LinkedHashSet_LinkedHashSet$of(new A.ExpandIterable(t1, new A.LogicalKeySet__triggers_closure(), t2), t2._eval$1("Iterable.E"));
        if (_this.__LogicalKeySet__triggers !== $)
          A.throwUnnamedLateFieldADI();
        _this.__LogicalKeySet__triggers = result;
        value = result;
      }
      return value;
    },
    accepts$2($event, state) {
      var collapsedRequired, t1, collapsedPressed;
      if (!($event instanceof A.RawKeyDownEvent))
        return false;
      collapsedRequired = A.LogicalKeyboardKey_collapseSynonyms(this._shortcuts$_keys.toSet$0(0));
      t1 = state._keysPressed;
      t1 = t1.get$values(t1);
      collapsedPressed = A.LogicalKeyboardKey_collapseSynonyms(A.LinkedHashSet_LinkedHashSet$of(t1, A._instanceType(t1)._eval$1("Iterable.E")));
      t1 = collapsedRequired.difference$1(collapsedPressed);
      return t1.get$isEmpty(t1) && collapsedRequired._collection$_length === collapsedPressed._collection$_length;
    },
    $isShortcutActivator: 1
  };
  A.LogicalKeySet__triggers_closure.prototype = {
    call$1(key) {
      var t1 = $.$get$LogicalKeySet__unmapSynonyms().$index(0, key);
      return t1 == null ? A._setArrayType([key], type$.JSArray_LogicalKeyboardKey) : t1;
    },
    $signature: 990
  };
  A.SingleActivator.prototype = {
    get$triggers() {
      return A._setArrayType([this.trigger], type$.JSArray_LogicalKeyboardKey);
    },
    accepts$2($event, state) {
      var pressed, _this = this,
        t1 = state._keysPressed;
      t1 = t1.get$values(t1);
      pressed = A.LinkedHashSet_LinkedHashSet$of(t1, A._instanceType(t1)._eval$1("Iterable.E"));
      if ($event instanceof A.RawKeyDownEvent) {
        t1 = pressed.contains$1(0, B.LogicalKeyboardKey_8589934848) || pressed.contains$1(0, B.LogicalKeyboardKey_8589934849);
        if (_this.control === t1) {
          t1 = pressed.contains$1(0, B.LogicalKeyboardKey_8589934850) || pressed.contains$1(0, B.LogicalKeyboardKey_8589934851);
          if (_this.shift === t1) {
            t1 = pressed.contains$1(0, B.LogicalKeyboardKey_8589934852) || pressed.contains$1(0, B.LogicalKeyboardKey_8589934853);
            if (_this.alt === t1) {
              t1 = pressed.contains$1(0, B.LogicalKeyboardKey_8589934854) || pressed.contains$1(0, B.LogicalKeyboardKey_8589934855);
              t1 = _this.meta === t1;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
      } else
        t1 = false;
      return t1;
    },
    $isShortcutActivator: 1
  };
  A._ActivatorIntentPair.prototype = {};
  A.ShortcutManager.prototype = {
    set$shortcuts(value) {
      var _this = this;
      if (!A.mapEquals(_this._shortcuts, value)) {
        _this._shortcuts = value;
        _this._indexedShortcutsCache = null;
        _this.notifyListeners$0();
      }
    },
    get$_indexedShortcuts() {
      var t1 = this._indexedShortcutsCache;
      return t1 == null ? this._indexedShortcutsCache = A.ShortcutManager__indexShortcuts(this._shortcuts) : t1;
    },
    _find$2($event, state) {
      var t2, _i, activatorIntent,
        candidatesByKey = this.get$_indexedShortcuts().$index(0, $event.data.get$logicalKey()),
        candidatesByNull = this.get$_indexedShortcuts().$index(0, null),
        t1 = A._setArrayType([], type$.JSArray__ActivatorIntentPair);
      if (candidatesByKey != null)
        B.JSArray_methods.addAll$1(t1, candidatesByKey);
      if (candidatesByNull != null)
        B.JSArray_methods.addAll$1(t1, candidatesByNull);
      for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        activatorIntent = t1[_i];
        if (activatorIntent.activator.accepts$2($event, state))
          return activatorIntent.intent;
      }
      return null;
    },
    handleKeypress$2(context, $event) {
      var t1, primaryContext, action,
        matchedIntent = this._find$2($event, $.$get$RawKeyboard_instance());
      if (matchedIntent != null) {
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner.focusManager._primaryFocus;
        primaryContext = t1 == null ? null : t1._context;
        if (primaryContext != null) {
          action = A.Actions_maybeFind(primaryContext, matchedIntent, type$.Intent);
          if (action != null && action.isEnabled$1(0, matchedIntent)) {
            primaryContext.dependOnInheritedWidgetOfExactType$1$0(type$._ActionsMarker);
            t1 = A.Actions__findDispatcher(primaryContext);
            t1.invokeAction$3(action, matchedIntent, primaryContext);
            return action.consumesKey$1(matchedIntent) ? B.KeyEventResult_0 : B.KeyEventResult_2;
          }
        }
      }
      return B.KeyEventResult_1;
    },
    $isListenable: 1
  };
  A.ShortcutManager__indexShortcuts_closure.prototype = {
    call$2(activator, intent) {
      var nullableTriggers = activator.get$triggers(),
        t1 = J.get$iterator$ax(nullableTriggers),
        t2 = this.result;
      for (; t1.moveNext$0();)
        J.add$1$ax(t2.putIfAbsent$2(0, t1.get$current(t1), new A.ShortcutManager__indexShortcuts__closure()), new A._ActivatorIntentPair(activator, intent));
    },
    $signature: 991
  };
  A.ShortcutManager__indexShortcuts__closure.prototype = {
    call$0() {
      return A._setArrayType([], type$.JSArray__ActivatorIntentPair);
    },
    $signature: 992
  };
  A.Shortcuts.prototype = {
    get$shortcuts() {
      var t1 = this.manager;
      return t1 == null ? this._shortcuts : t1._shortcuts;
    },
    createState$0() {
      return new A._ShortcutsState(B._StateLifecycle_0);
    }
  };
  A._ShortcutsState.prototype = {
    dispose$0() {
      var t1 = this._internalManager;
      if (t1 != null) {
        t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
        t1.ChangeNotifier__count = 0;
      }
      this.super$State$dispose();
    },
    initState$0() {
      var t1, t2;
      this.super$State$initState();
      t1 = this._widget;
      if (t1.manager == null) {
        t2 = new A.ShortcutManager(B.Map_empty1, $.$get$ChangeNotifier__emptyListeners());
        this._internalManager = t2;
        t2.set$shortcuts(t1.get$shortcuts());
      }
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this._widget;
      t2 = t1.manager;
      if (t2 != oldWidget.manager)
        if (t2 != null) {
          t2 = _this._internalManager;
          if (t2 != null) {
            t2.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
            t2.ChangeNotifier__count = 0;
          }
          _this._internalManager = null;
        } else if (_this._internalManager == null)
          _this._internalManager = new A.ShortcutManager(B.Map_empty1, $.$get$ChangeNotifier__emptyListeners());
      t2 = _this._internalManager;
      if (t2 != null)
        t2.set$shortcuts(t1.get$shortcuts());
    },
    _handleOnKey$2(node, $event) {
      var t2,
        t1 = node._context;
      if (t1 == null)
        return B.KeyEventResult_1;
      t2 = this._widget.manager;
      if (t2 == null) {
        t2 = this._internalManager;
        t2.toString;
      }
      return t2.handleKeypress$2(t1, $event);
    },
    build$1(context) {
      var _null = null,
        t1 = B.Type_Shortcuts_6TW.toString$0(0);
      return A.Focus$(false, false, this._widget.child, t1, _null, _null, _null, true, _null, _null, this.get$_handleOnKey(), _null, _null);
    }
  };
  A.ShortcutRegistryEntry.prototype = {};
  A.ShortcutRegistry.prototype = {
    get$shortcuts() {
      var t2, t3, t4,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, type$.Intent);
      for (t2 = this._tokenShortcuts, t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        for (t3 = J.get$entries$x(t3.get$value(t3)), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
          t4 = t3.get$current(t3);
          t1.$indexSet(0, t4.get$key(t4), t4.get$value(t4));
        }
      }
      return t1;
    },
    addAll$1(_, value) {
      var entry = new A.ShortcutRegistryEntry(this);
      this._tokenShortcuts.$indexSet(0, entry, value);
      this.notifyListeners$0();
      return entry;
    },
    $isListenable: 1
  };
  A.ShortcutRegistrar.prototype = {
    createState$0() {
      var t1 = $.$get$ChangeNotifier__emptyListeners();
      return new A._ShortcutRegistrarState(new A.ShortcutRegistry(A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutRegistryEntry, type$.Map_ShortcutActivator_Intent), t1), new A.ShortcutManager(B.Map_empty1, t1), B._StateLifecycle_0);
    }
  };
  A._ShortcutRegistrarState.prototype = {
    initState$0() {
      this.super$State$initState();
      this.registry.addListener$1(0, this.get$_shortcutsChanged());
    },
    _shortcutsChanged$0() {
      this.manager.set$shortcuts(this.registry.get$shortcuts());
    },
    dispose$0() {
      var t1 = this.registry;
      t1.removeListener$1(0, this.get$_shortcutsChanged());
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      this.super$State$dispose();
    },
    build$1(context) {
      return new A.Shortcuts(this.manager, B.Map_empty1, new A._ShortcutRegistrarMarker(this.registry, this._widget.child, null), null, null);
    }
  };
  A._ShortcutRegistrarMarker.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.registry !== oldWidget.registry;
    }
  };
  A._LogicalKeySet_KeySet_Diagnosticable.prototype = {};
  A._ShortcutManager_Object_Diagnosticable.prototype = {};
  A._ShortcutManager_Object_Diagnosticable_ChangeNotifier.prototype = {};
  A._ShortcutRegistry_Object_ChangeNotifier.prototype = {};
  A._SingleActivator_Object_Diagnosticable.prototype = {};
  A._SingleActivator_Object_Diagnosticable_MenuSerializableShortcut.prototype = {};
  A.__ActivatorIntentPair_Object_Diagnosticable.prototype = {};
  A.SingleChildScrollView.prototype = {
    build$1(context) {
      var t3, scrollController, scrollable, _this = this, _null = null, t1 = {},
        t2 = A.getAxisDirectionFromAxisReverseAndDirectionality(context, _this.scrollDirection, _this.reverse),
        contents = _this.child;
      t1.contents = contents;
      t3 = _this.padding;
      if (t3 != null)
        t1.contents = new A.Padding(t3, contents, _null);
      t3 = _this.primary;
      scrollController = t3 ? A.PrimaryScrollController_of(context) : _this.controller;
      scrollable = A.Scrollable$(t2, scrollController, _this.dragStartBehavior, false, _this.physics, _null, _null, _null, new A.SingleChildScrollView_build_closure(t1, _this, t2));
      return t3 && scrollController != null ? A.PrimaryScrollController$none(scrollable) : scrollable;
    }
  };
  A.SingleChildScrollView_build_closure.prototype = {
    call$2(context, offset) {
      return new A._SingleChildViewport(this.axisDirection, offset, B.Clip_1, this._box_0.contents, null);
    },
    $signature: 993
  };
  A._SingleChildViewport.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderSingleChildViewport(this.axisDirection, this.offset, this.clipBehavior, A.LayerHandle$(type$.ClipRectLayer), null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1;
      renderObject.set$axisDirection(this.axisDirection);
      renderObject.set$offset(0, this.offset);
      t1 = this.clipBehavior;
      if (t1 !== renderObject._single_child_scroll_view$_clipBehavior) {
        renderObject._single_child_scroll_view$_clipBehavior = t1;
        renderObject.markNeedsPaint$0();
        renderObject.markNeedsSemanticsUpdate$0();
      }
    },
    createElement$0(_) {
      return new A._SingleChildViewportElement(this, B._ElementLifecycle_0);
    }
  };
  A._SingleChildViewportElement.prototype = {};
  A._RenderSingleChildViewport.prototype = {
    set$axisDirection(value) {
      if (value === this._single_child_scroll_view$_axisDirection)
        return;
      this._single_child_scroll_view$_axisDirection = value;
      this.markNeedsLayout$0();
    },
    set$offset(_, value) {
      var _this = this,
        t1 = _this._single_child_scroll_view$_offset;
      if (value === t1)
        return;
      if (_this._owner != null)
        t1.removeListener$1(0, _this.get$_hasScrolled());
      _this._single_child_scroll_view$_offset = value;
      if (_this._owner != null)
        value.addListener$1(0, _this.get$_hasScrolled());
      _this.markNeedsLayout$0();
    },
    _hasScrolled$0() {
      this.markNeedsPaint$0();
      this.markNeedsSemanticsUpdate$0();
    },
    setupParentData$1(child) {
      if (!(child.parentData instanceof A.ParentData))
        child.parentData = new A.ParentData();
    },
    attach$1(owner) {
      this.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$attach(owner);
      this._single_child_scroll_view$_offset.addListener$1(0, this.get$_hasScrolled());
    },
    detach$0(_) {
      this._single_child_scroll_view$_offset.removeListener$1(0, this.get$_hasScrolled());
      this.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$detach(0);
    },
    get$isRepaintBoundary() {
      return true;
    },
    get$_viewportExtent() {
      switch (A.axisDirectionToAxis(this._single_child_scroll_view$_axisDirection).index) {
        case 0:
          return this._box$_size._dx;
        case 1:
          return this._box$_size._dy;
      }
    },
    get$_single_child_scroll_view$_maxScrollExtent() {
      var _this = this,
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return 0;
      switch (A.axisDirectionToAxis(_this._single_child_scroll_view$_axisDirection).index) {
        case 0:
          return Math.max(0, t1._box$_size._dx - _this._box$_size._dx);
        case 1:
          return Math.max(0, t1._box$_size._dy - _this._box$_size._dy);
      }
    },
    _getInnerConstraints$1(constraints) {
      switch (A.axisDirectionToAxis(this._single_child_scroll_view$_axisDirection).index) {
        case 0:
          return new A.BoxConstraints(0, 1 / 0, constraints.minHeight, constraints.maxHeight);
        case 1:
          return new A.BoxConstraints(constraints.minWidth, constraints.maxWidth, 0, 1 / 0);
      }
    },
    computeMinIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_0, height, t1.get$computeMinIntrinsicWidth());
      return 0;
    },
    computeMaxIntrinsicWidth$1(height) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_1, height, t1.get$computeMaxIntrinsicWidth());
      return 0;
    },
    computeMinIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_2, width, t1.get$computeMinIntrinsicHeight());
      return 0;
    },
    computeMaxIntrinsicHeight$1(width) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        return t1._computeIntrinsicDimension$3(B._IntrinsicDimension_3, width, t1.get$computeMaxIntrinsicHeight());
      return 0;
    },
    computeDryLayout$1(constraints) {
      var t1 = this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        return new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      return constraints.constrain$1(t1.getDryLayout$1(this._getInnerConstraints$1(constraints)));
    },
    performLayout$0() {
      var _this = this,
        constraints = type$.BoxConstraints._as(A.RenderObject.prototype.get$constraints.call(_this)),
        t1 = _this.RenderObjectWithChildMixin__child;
      if (t1 == null)
        _this._box$_size = new A.Size(A.clampDouble(0, constraints.minWidth, constraints.maxWidth), A.clampDouble(0, constraints.minHeight, constraints.maxHeight));
      else {
        t1.layout$2$parentUsesSize(_this._getInnerConstraints$1(constraints), true);
        t1 = _this.RenderObjectWithChildMixin__child._box$_size;
        t1.toString;
        _this._box$_size = constraints.constrain$1(t1);
      }
      _this._single_child_scroll_view$_offset.applyViewportDimension$1(_this.get$_viewportExtent());
      _this._single_child_scroll_view$_offset.applyContentDimensions$2(0, _this.get$_single_child_scroll_view$_maxScrollExtent());
    },
    _paintOffsetForPosition$1(position) {
      var _this = this;
      switch (_this._single_child_scroll_view$_axisDirection.index) {
        case 0:
          return new A.Offset(0, position - _this.RenderObjectWithChildMixin__child._box$_size._dy + _this._box$_size._dy);
        case 2:
          return new A.Offset(0, -position);
        case 3:
          return new A.Offset(position - _this.RenderObjectWithChildMixin__child._box$_size._dx + _this._box$_size._dx, 0);
        case 1:
          return new A.Offset(-position, 0);
      }
    },
    _shouldClipAtPaintOffset$1(paintOffset) {
      var t1, t2, t3, t4, t5;
      switch (this._single_child_scroll_view$_clipBehavior.index) {
        case 0:
          return false;
        case 1:
        case 2:
        case 3:
          t1 = paintOffset._dx;
          if (!(t1 < 0)) {
            t2 = paintOffset._dy;
            if (!(t2 < 0)) {
              t3 = this.RenderObjectWithChildMixin__child._box$_size;
              t4 = t3._dx;
              t5 = this._box$_size;
              t1 = t1 + t4 > t5._dx || t2 + t3._dy > t5._dy;
            } else
              t1 = true;
          } else
            t1 = true;
          return t1;
      }
    },
    paint$2(context, offset) {
      var t1, t2, t3, t4, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this._single_child_scroll_view$_offset._pixels;
        t1.toString;
        t1 = _this._paintOffsetForPosition$1(t1);
        t2 = new A._RenderSingleChildViewport_paint_paintContents(_this, t1);
        t3 = _this._single_child_scroll_view$_clipRectLayer;
        if (_this._shouldClipAtPaintOffset$1(t1)) {
          t1 = _this.__RenderObject__needsCompositing;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t4 = _this._box$_size;
          t3.set$layer(0, context.pushClipRect$6$clipBehavior$oldLayer(t1, offset, new A.Rect(0, 0, 0 + t4._dx, 0 + t4._dy), t2, _this._single_child_scroll_view$_clipBehavior, t3._layer));
        } else {
          t3.set$layer(0, null);
          t2.call$2(context, offset);
        }
      }
    },
    dispose$0() {
      this._single_child_scroll_view$_clipRectLayer.set$layer(0, null);
      this.super$RenderObject$dispose();
    },
    applyPaintTransform$2(child, transform) {
      var t1 = this._single_child_scroll_view$_offset._pixels;
      t1.toString;
      t1 = this._paintOffsetForPosition$1(t1);
      transform.translate$2(0, t1._dx, t1._dy);
    },
    describeApproximatePaintClip$1(child) {
      var _this = this,
        t1 = _this._single_child_scroll_view$_offset._pixels;
      t1.toString;
      t1 = _this._paintOffsetForPosition$1(t1);
      if (_this._shouldClipAtPaintOffset$1(t1)) {
        t1 = _this._box$_size;
        return new A.Rect(0, 0, 0 + t1._dx, 0 + t1._dy);
      }
      return null;
    },
    hitTestChildren$2$position(result, position) {
      var t1, _this = this;
      if (_this.RenderObjectWithChildMixin__child != null) {
        t1 = _this._single_child_scroll_view$_offset._pixels;
        t1.toString;
        return result.addWithPaintOffset$3$hitTest$offset$position(new A._RenderSingleChildViewport_hitTestChildren_closure(_this, position), _this._paintOffsetForPosition$1(t1), position);
      }
      return false;
    },
    getOffsetToReveal$3$rect(target, alignment, rect) {
      var t1, bounds, mainAxisExtent, t2, leadingScrollOffset, targetMainAxisExtent, targetOffset, _this = this;
      if (rect == null)
        rect = target.get$paintBounds();
      if (!(target instanceof A.RenderBox)) {
        t1 = _this._single_child_scroll_view$_offset._pixels;
        t1.toString;
        return new A.RevealedOffset(t1, rect);
      }
      bounds = A.MatrixUtils_transformRect(target.getTransformTo$1(0, _this.RenderObjectWithChildMixin__child), rect);
      t1 = _this.RenderObjectWithChildMixin__child._box$_size;
      t1.toString;
      switch (_this._single_child_scroll_view$_axisDirection.index) {
        case 0:
          mainAxisExtent = _this._box$_size._dy;
          t2 = bounds.bottom;
          leadingScrollOffset = t1._dy - t2;
          targetMainAxisExtent = t2 - bounds.top;
          break;
        case 1:
          mainAxisExtent = _this._box$_size._dx;
          leadingScrollOffset = bounds.left;
          targetMainAxisExtent = bounds.right - leadingScrollOffset;
          break;
        case 2:
          mainAxisExtent = _this._box$_size._dy;
          leadingScrollOffset = bounds.top;
          targetMainAxisExtent = bounds.bottom - leadingScrollOffset;
          break;
        case 3:
          mainAxisExtent = _this._box$_size._dx;
          t2 = bounds.right;
          leadingScrollOffset = t1._dx - t2;
          targetMainAxisExtent = t2 - bounds.left;
          break;
        default:
          leadingScrollOffset = null;
          targetMainAxisExtent = null;
          mainAxisExtent = null;
      }
      targetOffset = leadingScrollOffset - (mainAxisExtent - targetMainAxisExtent) * alignment;
      return new A.RevealedOffset(targetOffset, bounds.shift$1(_this._paintOffsetForPosition$1(targetOffset)));
    },
    showOnScreen$4$curve$descendant$duration$rect(curve, descendant, duration, rect) {
      var _this = this;
      if (!_this._single_child_scroll_view$_offset.physics.get$allowImplicitScrolling())
        return _this.super$RenderObject$showOnScreen(curve, descendant, duration, rect);
      _this.super$RenderObject$showOnScreen(curve, null, duration, A.RenderViewportBase_showInViewport(curve, descendant, duration, _this._single_child_scroll_view$_offset, rect, _this));
    },
    showOnScreen$0() {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, null, B.Duration_0, null);
    },
    showOnScreen$1$rect(rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, null, B.Duration_0, rect);
    },
    showOnScreen$3$curve$duration$rect(curve, duration, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(curve, null, duration, rect);
    },
    showOnScreen$2$descendant$rect(descendant, rect) {
      return this.showOnScreen$4$curve$descendant$duration$rect(B.Cubic_JUR, descendant, B.Duration_0, rect);
    },
    describeSemanticsClip$1(child) {
      var t1;
      switch (A.axisDirectionToAxis(this._single_child_scroll_view$_axisDirection).index) {
        case 1:
          t1 = this._box$_size;
          return new A.Rect(0, -250, 0 + t1._dx, 0 + t1._dy + 250);
        case 0:
          t1 = this._box$_size;
          return new A.Rect(-250, 0, 0 + t1._dx + 250, 0 + t1._dy);
      }
    },
    $isRenderAbstractViewport: 1
  };
  A._RenderSingleChildViewport_paint_paintContents.prototype = {
    call$2(context, offset) {
      var t1 = this.$this.RenderObjectWithChildMixin__child;
      t1.toString;
      context.paintChild$2(t1, offset.$add(0, this.paintOffset));
    },
    $signature: 19
  };
  A._RenderSingleChildViewport_hitTestChildren_closure.prototype = {
    call$2(result, transformed) {
      return this.$this.RenderObjectWithChildMixin__child.hitTest$2$position(result, transformed);
    },
    $signature: 18
  };
  A.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin.prototype = {
    attach$1(owner) {
      var t1;
      this.super$RenderObject$attach(owner);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.attach$1(owner);
    },
    detach$0(_) {
      var t1;
      this.super$AbstractNode$detach(0);
      t1 = this.RenderObjectWithChildMixin__child;
      if (t1 != null)
        t1.detach$0(0);
    }
  };
  A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin.prototype = {};
  A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin.prototype = {};
  A.SliverChildDelegate.prototype = {
    get$estimatedChildCount() {
      return null;
    },
    findIndexByKey$1(key) {
      return null;
    },
    toString$0(_) {
      var description = A._setArrayType([], type$.JSArray_String);
      this.debugFillDescription$1(description);
      return "<optimized out>#" + A.shortHash(this) + "(" + B.JSArray_methods.join$1(description, ", ") + ")";
    },
    debugFillDescription$1(description) {
      var children, e, exception;
      try {
        children = this.get$estimatedChildCount();
        if (children != null)
          description.push("estimated child count: " + A.S(children));
      } catch (exception) {
        e = A.unwrapException(exception);
        description.push("estimated child count: EXCEPTION (" + J.get$runtimeType$(e).toString$0(0) + ")");
      }
    }
  };
  A._SaltedValueKey.prototype = {};
  A.SliverChildBuilderDelegate.prototype = {
    findIndexByKey$1(key) {
      return null;
    },
    build$2(context, index) {
      var child, exception, stackTrace, t1, exception0, details, key, semanticIndex, _this = this, _null = null;
      if (index >= 0)
        t1 = index >= _this.childCount;
      else
        t1 = true;
      if (t1)
        return _null;
      child = null;
      try {
        child = _this.builder.call$2(context, index);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stackTrace = A.getTraceFromException(exception0);
        details = new A.FlutterErrorDetails(exception, stackTrace, "widgets library", A.ErrorDescription$("building"), _null, false);
        A.FlutterError_reportError(details);
        child = A.ErrorWidget__defaultErrorWidgetBuilder(details);
      }
      if (child == null)
        return _null;
      if (child.key != null) {
        t1 = child.key;
        t1.toString;
        key = new A._SaltedValueKey(t1);
      } else
        key = _null;
      if (_this.addRepaintBoundaries)
        child = new A.RepaintBoundary(child, _null);
      semanticIndex = _this.semanticIndexCallback.call$2(child, index);
      if (semanticIndex != null)
        child = new A.IndexedSemantics(semanticIndex, child, _null);
      if (_this.addAutomaticKeepAlives)
        child = new A.AutomaticKeepAlive(new A._SelectionKeepAlive(child, _null), _null);
      return new A.KeyedSubtree(child, key);
    },
    get$estimatedChildCount() {
      return this.childCount;
    },
    shouldRebuild$1(oldDelegate) {
      return true;
    }
  };
  A.SliverChildListDelegate.prototype = {
    _findChildIndex$1(key) {
      var t2, t3, index, _null = null,
        t1 = this._keyToIndex;
      if (!t1.containsKey$1(0, key)) {
        t2 = t1.$index(0, _null);
        t2.toString;
        for (t3 = this.children, index = t2; index < t3.length;) {
          t2 = t3[index].key;
          if (t2 != null)
            t1.$indexSet(0, t2, index);
          if (J.$eq$(t2, key)) {
            t1.$indexSet(0, _null, index + 1);
            return index;
          }
          ++index;
        }
        t1.$indexSet(0, _null, index);
      } else
        return t1.$index(0, key);
      return _null;
    },
    findIndexByKey$1(key) {
      return this._findChildIndex$1(key instanceof A._SaltedValueKey ? key.value : key);
    },
    build$2(context, index) {
      var child, t1, key, semanticIndex, _null = null;
      if (index < 0 || index >= this.children.length)
        return _null;
      child = this.children[index];
      t1 = child.key;
      key = t1 != null ? new A._SaltedValueKey(t1) : _null;
      child = new A.RepaintBoundary(child, _null);
      semanticIndex = A._kDefaultSemanticIndexCallback(child, index);
      if (semanticIndex != null)
        child = new A.IndexedSemantics(semanticIndex, child, _null);
      return new A.KeyedSubtree(new A.AutomaticKeepAlive(new A._SelectionKeepAlive(child, _null), _null), key);
    },
    get$estimatedChildCount() {
      return this.children.length;
    },
    shouldRebuild$1(oldDelegate) {
      return this.children !== oldDelegate.children;
    }
  };
  A._SelectionKeepAlive.prototype = {
    createState$0() {
      return new A._SelectionKeepAliveState(null, B._StateLifecycle_0);
    }
  };
  A._SelectionKeepAliveState.prototype = {
    get$wantKeepAlive() {
      return this._wantKeepAlive;
    },
    listensTo$1(selectable) {
      return new A._SelectionKeepAliveState_listensTo_closure(this, selectable);
    },
    _updateSelectablesWithSelections$2$add(selectable, add) {
      var t1, _this = this;
      if (add) {
        t1 = _this._selectablesWithSelections;
        (t1 == null ? _this._selectablesWithSelections = A.LinkedHashSet_LinkedHashSet$_empty(type$.Selectable) : t1).add$1(0, selectable);
      } else {
        t1 = _this._selectablesWithSelections;
        if (t1 != null)
          t1.remove$1(0, selectable);
      }
      t1 = _this._selectablesWithSelections;
      t1 = t1 == null ? null : t1._collection$_length !== 0;
      t1 = t1 === true;
      if (_this._wantKeepAlive !== t1) {
        _this._wantKeepAlive = t1;
        _this.updateKeepAlive$0();
      }
    },
    didChangeDependencies$0() {
      var t1, newRegistrar, t2, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      newRegistrar = A.SelectionContainer_maybeOf(t1);
      t1 = _this._sliver$_registrar;
      if (t1 != newRegistrar) {
        if (t1 != null) {
          t2 = _this._selectableAttachments;
          if (t2 != null)
            new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>")).forEach$1(0, t1.get$remove(t1));
        }
        _this._sliver$_registrar = newRegistrar;
        if (newRegistrar != null) {
          t1 = _this._selectableAttachments;
          if (t1 != null)
            new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")).forEach$1(0, newRegistrar.get$add(newRegistrar));
        }
      }
    },
    add$1(_, selectable) {
      var t1, _this = this,
        attachment = _this.listensTo$1(selectable);
      selectable.addListener$1(0, attachment);
      t1 = _this._selectableAttachments;
      (t1 == null ? _this._selectableAttachments = A.LinkedHashMap_LinkedHashMap$_empty(type$.Selectable, type$.void_Function) : t1).$indexSet(0, selectable, attachment);
      _this._sliver$_registrar.add$1(0, selectable);
      if (selectable.get$value(selectable).status !== B.SelectionStatus_2)
        _this._updateSelectablesWithSelections$2$add(selectable, true);
    },
    remove$1(_, selectable) {
      var t1 = this._selectableAttachments;
      if (t1 == null)
        return;
      t1 = t1.remove$1(0, selectable);
      t1.toString;
      selectable.removeListener$1(0, t1);
      this._sliver$_registrar.remove$1(0, selectable);
      this._updateSelectablesWithSelections$2$add(selectable, false);
    },
    dispose$0() {
      var t2, t3, _this = this,
        t1 = _this._selectableAttachments;
      if (t1 != null) {
        for (t1 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1); t1.moveNext$0();) {
          t2 = t1.__js_helper$_current;
          _this._sliver$_registrar.remove$1(0, t2);
          t3 = _this._selectableAttachments.$index(0, t2);
          t3.toString;
          t2.removeListener$1(0, t3);
        }
        _this._selectableAttachments = null;
      }
      _this._selectablesWithSelections = null;
      _this.super$State$dispose();
    },
    build$1(context) {
      var _this = this;
      _this.super$AutomaticKeepAliveClientMixin$build(context);
      if (_this._sliver$_registrar == null)
        return _this._widget.child;
      return A.SelectionRegistrarScope$(_this._widget.child, _this);
    }
  };
  A._SelectionKeepAliveState_listensTo_closure.prototype = {
    call$0() {
      var t1 = this.selectable,
        t2 = this.$this;
      if (t1.get$value(t1).status !== B.SelectionStatus_2)
        t2._updateSelectablesWithSelections$2$add(t1, true);
      else
        t2._updateSelectablesWithSelections$2$add(t1, false);
    },
    $signature: 0
  };
  A.SliverWithKeepAliveWidget.prototype = {};
  A.SliverMultiBoxAdaptorWidget.prototype = {
    createElement$0(_) {
      return A.SliverMultiBoxAdaptorElement$(this, false);
    }
  };
  A.SliverList.prototype = {
    createElement$0(_) {
      return A.SliverMultiBoxAdaptorElement$(this, true);
    },
    createRenderObject$1(context) {
      var t1 = new A.RenderSliverList(type$.SliverMultiBoxAdaptorElement._as(context), A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    }
  };
  A.SliverFixedExtentList.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderSliverFixedExtentList(this.itemExtent, type$.SliverMultiBoxAdaptorElement._as(context), A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$itemExtent(this.itemExtent);
    }
  };
  A.SliverMultiBoxAdaptorElement.prototype = {
    get$renderObject() {
      return type$.RenderSliverMultiBoxAdaptor._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    update$1(_, newWidget) {
      var newDelegate, oldDelegate,
        t1 = this._widget;
      t1.toString;
      type$.SliverMultiBoxAdaptorWidget._as(t1);
      this.super$RenderObjectElement$update(0, newWidget);
      newDelegate = newWidget.delegate;
      oldDelegate = t1.delegate;
      if (newDelegate !== oldDelegate)
        t1 = A.getRuntimeType(newDelegate) !== A.getRuntimeType(oldDelegate) || newDelegate.shouldRebuild$1(oldDelegate);
      else
        t1 = false;
      if (t1)
        this.performRebuild$0();
    },
    performRebuild$0() {
      var newChildren, indexToLayoutOffset, adaptorWidget, processElement, index, key, newIndex, childParentData, lastKey, rightBoundary, t1, t2, t3, t4, t5, _i, t6, lastKey0, _this = this, _null = null, _box_0 = {};
      _this.super$RenderObjectElement$performRebuild();
      _this._currentBeforeChild = null;
      _box_0.childrenUpdated = false;
      try {
        t1 = type$.int;
        newChildren = A.SplayTreeMap$(_null, t1, type$.nullable_Element_2);
        indexToLayoutOffset = A.HashMap_HashMap(_null, _null, _null, t1, type$.double);
        t1 = _this._widget;
        t1.toString;
        adaptorWidget = type$.SliverMultiBoxAdaptorWidget._as(t1);
        processElement = new A.SliverMultiBoxAdaptorElement_performRebuild_processElement(_box_0, _this, newChildren, adaptorWidget, indexToLayoutOffset);
        for (t1 = _this._childElements, t2 = t1.$ti, t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>"), t2 = A.List_List$of(new A._SplayTreeKeyIterable(t1, t2), true, t2._eval$1("Iterable.E")), t3 = t2.length, t4 = type$.nullable_SliverMultiBoxAdaptorParentData, t5 = _this._replaceMovedChildren, _i = 0; _i < t3; ++_i) {
          index = t2[_i];
          key = t1.$index(0, index).get$widget().key;
          newIndex = key == null ? _null : adaptorWidget.delegate.findIndexByKey$1(key);
          t6 = t1.$index(0, index).get$renderObject();
          childParentData = t4._as(t6 == null ? _null : t6.parentData);
          if (childParentData != null && childParentData.layoutOffset != null) {
            t6 = childParentData.layoutOffset;
            t6.toString;
            J.$indexSet$ax(indexToLayoutOffset, index, t6);
          }
          if (newIndex != null && !J.$eq$(newIndex, index)) {
            if (childParentData != null)
              childParentData.layoutOffset = null;
            J.$indexSet$ax(newChildren, newIndex, t1.$index(0, index));
            if (t5)
              J.putIfAbsent$2$x(newChildren, index, new A.SliverMultiBoxAdaptorElement_performRebuild_closure());
            t1.remove$1(0, index);
          } else
            J.putIfAbsent$2$x(newChildren, index, new A.SliverMultiBoxAdaptorElement_performRebuild_closure0(_this, index));
        }
        _this.get$renderObject();
        t2 = newChildren;
        t3 = A.instanceType(t2);
        new A._SplayTreeKeyIterable(t2, t3._eval$1("@<1>")._bind$1(t3._eval$1("_SplayTreeMapNode<1,2>"))._eval$1("_SplayTreeKeyIterable<1,2>")).forEach$1(0, processElement);
        if (!_box_0.childrenUpdated && _this._didUnderflow) {
          lastKey0 = t1.lastKey$0();
          lastKey = lastKey0 == null ? -1 : lastKey0;
          rightBoundary = lastKey + 1;
          J.$indexSet$ax(newChildren, rightBoundary, t1.$index(0, rightBoundary));
          processElement.call$1(rightBoundary);
        }
      } finally {
        _this._currentlyUpdatingChildIndex = null;
        _this.get$renderObject();
      }
    },
    createChild$2$after(index, after) {
      this._framework$_owner.buildScope$2(this, new A.SliverMultiBoxAdaptorElement_createChild_closure(this, after, index));
    },
    updateChild$3(child, newWidget, newSlot) {
      var t1, t2, newChild, t3, _null = null;
      if (child == null)
        t1 = _null;
      else {
        t1 = child.get$renderObject();
        t1 = t1 == null ? _null : t1.parentData;
      }
      t2 = type$.nullable_SliverMultiBoxAdaptorParentData;
      t2._as(t1);
      newChild = this.super$Element$updateChild(child, newWidget, newSlot);
      if (newChild == null)
        t3 = _null;
      else {
        t3 = newChild.get$renderObject();
        t3 = t3 == null ? _null : t3.parentData;
      }
      t2._as(t3);
      if (t1 != t3 && t1 != null && t3 != null)
        t3.layoutOffset = t1.layoutOffset;
      return newChild;
    },
    forgetChild$1(child) {
      this._childElements.remove$1(0, child._slot);
      this.super$Element$forgetChild(child);
    },
    removeChild$1(child) {
      var t1, _this = this;
      _this.get$renderObject();
      t1 = child.parentData;
      t1.toString;
      t1 = type$.SliverMultiBoxAdaptorParentData._as(t1).index;
      t1.toString;
      _this._framework$_owner.buildScope$2(_this, new A.SliverMultiBoxAdaptorElement_removeChild_closure(_this, t1));
    },
    estimateMaxScrollOffset$5$firstIndex$lastIndex$leadingScrollOffset$trailingScrollOffset(constraints, firstIndex, lastIndex, leadingScrollOffset, trailingScrollOffset) {
      var t2, childCount,
        t1 = this._widget;
      t1.toString;
      t2 = type$.SliverMultiBoxAdaptorWidget;
      childCount = t2._as(t1).delegate.get$estimatedChildCount();
      if (childCount == null)
        return 1 / 0;
      t1 = this._widget;
      t1.toString;
      t2._as(t1);
      leadingScrollOffset.toString;
      t1 = A.SliverMultiBoxAdaptorElement__extrapolateMaxScrollOffset(firstIndex, lastIndex, leadingScrollOffset, trailingScrollOffset, childCount);
      return t1;
    },
    get$childCount() {
      var t2, result, lo, hi, lo0, mid, _this = this,
        t1 = _this._widget;
      t1.toString;
      t2 = type$.SliverMultiBoxAdaptorWidget;
      result = t2._as(t1).delegate.get$estimatedChildCount();
      if (result == null) {
        t1 = _this._widget;
        t1.toString;
        for (t1 = t2._as(t1).delegate, lo = 0, hi = 1; lo0 = hi - 1, t1.build$2(_this, lo0) != null; lo = lo0)
          if (hi < 4503599627370496)
            hi *= 2;
          else {
            if (hi >= 9007199254740992)
              throw A.wrapException(A.FlutterError_FlutterError("Could not find the number of children in " + t1.toString$0(0) + ".\nThe childCount getter was called (implying that the delegate's builder returned null for a positive index), but even building the child with index " + hi + " (the maximum possible integer) did not return null. Consider implementing childCount to avoid the cost of searching for the final child."));
            hi = 9007199254740992;
          }
        for (; t2 = hi - lo, t2 > 1;) {
          mid = B.JSInt_methods._tdivFast$1(t2, 2) + lo;
          if (t1.build$2(_this, mid - 1) == null)
            hi = mid;
          else
            lo = mid;
        }
        result = lo;
      }
      return result;
    },
    didFinishLayout$0() {
      var t1 = this._childElements;
      t1.firstKey$0();
      t1.lastKey$0();
      t1 = this._widget;
      t1.toString;
      type$.SliverMultiBoxAdaptorWidget._as(t1);
    },
    didAdoptChild$1(child) {
      var t1 = child.parentData;
      t1.toString;
      type$.SliverMultiBoxAdaptorParentData._as(t1).index = this._currentlyUpdatingChildIndex;
    },
    insertRenderObjectChild$2(child, slot) {
      this.get$renderObject().super$ContainerRenderObjectMixin$insert(0, type$.RenderBox._as(child), this._currentBeforeChild);
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
      this.get$renderObject().move$2$after(type$.RenderBox._as(child), this._currentBeforeChild);
    },
    removeRenderObjectChild$2(child, slot) {
      this.get$renderObject().remove$1(0, type$.RenderBox._as(child));
    },
    visitChildren$1(visitor) {
      var t1 = this._childElements,
        t2 = t1.$ti;
      t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_SplayTreeValueIterable<1,2>");
      t2 = A.CastIterable_CastIterable(new A._SplayTreeValueIterable(t1, t2), t2._eval$1("Iterable.E"), type$.Element_2);
      B.JSArray_methods.forEach$1(A.List_List$of(t2, true, A._instanceType(t2)._eval$1("Iterable.E")), visitor);
    }
  };
  A.SliverMultiBoxAdaptorElement_performRebuild_processElement.prototype = {
    call$1(index) {
      var newChild, parentData, t2, t3, _this = this,
        t1 = _this.$this;
      t1._currentlyUpdatingChildIndex = index;
      t2 = t1._childElements;
      if (t2.$index(0, index) != null && !J.$eq$(t2.$index(0, index), _this.newChildren.$index(0, index))) {
        t2.$indexSet(0, index, t1.updateChild$3(t2.$index(0, index), null, index));
        _this._box_0.childrenUpdated = true;
      }
      newChild = t1.updateChild$3(_this.newChildren.$index(0, index), _this.adaptorWidget.delegate.build$2(t1, index), index);
      if (newChild != null) {
        t3 = _this._box_0;
        t3.childrenUpdated = t3.childrenUpdated || !J.$eq$(t2.$index(0, index), newChild);
        t2.$indexSet(0, index, newChild);
        t2 = newChild.get$renderObject().parentData;
        t2.toString;
        parentData = type$.SliverMultiBoxAdaptorParentData._as(t2);
        if (index === 0)
          parentData.layoutOffset = 0;
        else {
          t2 = _this.indexToLayoutOffset;
          if (t2.containsKey$1(0, index))
            parentData.layoutOffset = t2.$index(0, index);
        }
        if (!parentData._keptAlive)
          t1._currentBeforeChild = type$.nullable_RenderBox._as(newChild.get$renderObject());
      } else {
        _this._box_0.childrenUpdated = true;
        t2.remove$1(0, index);
      }
    },
    $signature: 26
  };
  A.SliverMultiBoxAdaptorElement_performRebuild_closure.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.SliverMultiBoxAdaptorElement_performRebuild_closure0.prototype = {
    call$0() {
      return this.$this._childElements.$index(0, this.index);
    },
    $signature: 995
  };
  A.SliverMultiBoxAdaptorElement_createChild_closure.prototype = {
    call$0() {
      var newChild, adaptorWidget, t2, _this = this,
        t1 = _this.$this;
      t1._currentBeforeChild = _this.after == null ? null : type$.nullable_RenderBox._as(t1._childElements.$index(0, _this.index - 1).get$renderObject());
      newChild = null;
      try {
        t2 = t1._widget;
        t2.toString;
        adaptorWidget = type$.SliverMultiBoxAdaptorWidget._as(t2);
        t2 = t1._currentlyUpdatingChildIndex = _this.index;
        newChild = t1.updateChild$3(t1._childElements.$index(0, t2), adaptorWidget.delegate.build$2(t1, t2), t2);
      } finally {
        t1._currentlyUpdatingChildIndex = null;
      }
      t2 = _this.index;
      t1 = t1._childElements;
      if (newChild != null)
        t1.$indexSet(0, t2, newChild);
      else
        t1.remove$1(0, t2);
    },
    $signature: 0
  };
  A.SliverMultiBoxAdaptorElement_removeChild_closure.prototype = {
    call$0() {
      var result, t1, t2, _this = this;
      try {
        t1 = _this.$this;
        t2 = t1._currentlyUpdatingChildIndex = _this.index;
        result = t1.updateChild$3(t1._childElements.$index(0, t2), null, t2);
      } finally {
        _this.$this._currentlyUpdatingChildIndex = null;
      }
      _this.$this._childElements.remove$1(0, _this.index);
    },
    $signature: 0
  };
  A.KeepAlive.prototype = {
    applyParentData$1(renderObject) {
      var t2, targetParent,
        t1 = renderObject.parentData;
      t1.toString;
      type$.KeepAliveParentDataMixin._as(t1);
      t2 = this.keepAlive;
      if (t1.KeepAliveParentDataMixin_keepAlive !== t2) {
        t1.KeepAliveParentDataMixin_keepAlive = t2;
        targetParent = renderObject.get$parent(renderObject);
        if (targetParent instanceof A.RenderObject && !t2)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  A.__SelectionKeepAliveState_State_AutomaticKeepAliveClientMixin.prototype = {
    initState$0() {
      this.super$State$initState();
      if (this._wantKeepAlive)
        this._ensureKeepAlive$0();
    },
    deactivate$0() {
      var t1 = this.AutomaticKeepAliveClientMixin__keepAliveHandle;
      if (t1 != null) {
        t1.notifyListeners$0();
        this.AutomaticKeepAliveClientMixin__keepAliveHandle = null;
      }
      this.super$State$deactivate();
    }
  };
  A.SliverFillViewport.prototype = {
    build$1(context) {
      var t1 = this.viewportFraction,
        t2 = A.clampDouble(1 - t1, 0, 1);
      return new A._SliverFractionalPadding(t2 / 2, new A._SliverFillViewportRenderObjectWidget(t1, this.delegate, null), null);
    }
  };
  A._SliverFillViewportRenderObjectWidget.prototype = {
    createRenderObject$1(context) {
      var t1 = new A.RenderSliverFillViewport(this.viewportFraction, type$.SliverMultiBoxAdaptorElement._as(context), A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.RenderBox), 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$viewportFraction(this.viewportFraction);
    }
  };
  A._SliverFractionalPadding.prototype = {
    createRenderObject$1(context) {
      var t1 = new A._RenderSliverFractionalPadding(this.viewportFraction, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$viewportFraction(this.viewportFraction);
    }
  };
  A._RenderSliverFractionalPadding.prototype = {
    set$viewportFraction(newValue) {
      var _this = this;
      if (_this._viewportFraction === newValue)
        return;
      _this._viewportFraction = newValue;
      _this._sliver_fill$_resolvedPadding = null;
      _this.markNeedsLayout$0();
    },
    get$resolvedPadding() {
      return this._sliver_fill$_resolvedPadding;
    },
    _sliver_fill$_resolve$0() {
      var t1, paddingValue, _this = this;
      if (_this._sliver_fill$_resolvedPadding != null && J.$eq$(_this._lastResolvedConstraints, type$.SliverConstraints._as(A.RenderObject.prototype.get$constraints.call(_this))))
        return;
      t1 = type$.SliverConstraints;
      paddingValue = t1._as(A.RenderObject.prototype.get$constraints.call(_this)).viewportMainAxisExtent * _this._viewportFraction;
      _this._lastResolvedConstraints = t1._as(A.RenderObject.prototype.get$constraints.call(_this));
      switch (A.axisDirectionToAxis(t1._as(A.RenderObject.prototype.get$constraints.call(_this)).axisDirection).index) {
        case 0:
          _this._sliver_fill$_resolvedPadding = new A.EdgeInsets(paddingValue, 0, paddingValue, 0);
          break;
        case 1:
          _this._sliver_fill$_resolvedPadding = new A.EdgeInsets(0, paddingValue, 0, paddingValue);
          break;
      }
      return;
    },
    performLayout$0() {
      this._sliver_fill$_resolve$0();
      this.super$RenderSliverEdgeInsetsPadding$performLayout();
    }
  };
  A.SlottedMultiChildRenderObjectWidgetMixin.prototype = {
    createElement$0(_) {
      var t1 = A._instanceType(this);
      return new A.SlottedRenderObjectElement(A.LinkedHashMap_LinkedHashMap$_empty(t1._eval$1("SlottedMultiChildRenderObjectWidgetMixin.S"), type$.Element_2), this, B._ElementLifecycle_0, t1._eval$1("SlottedRenderObjectElement<SlottedMultiChildRenderObjectWidgetMixin.S>"));
    }
  };
  A.SlottedContainerRenderObjectMixin.prototype = {
    get$children(_) {
      var t1 = this.SlottedContainerRenderObjectMixin__slotToChild;
      return t1.get$values(t1);
    },
    debugNameForSlot$1(slot) {
      if (type$.Enum._is(slot))
        return slot._core$_name;
      return J.toString$0$(slot);
    },
    redepthChildren$0() {
      J.forEach$1$ax(this.get$children(this), this.get$redepthChild());
    },
    visitChildren$1(visitor) {
      J.forEach$1$ax(this.get$children(this), visitor);
    },
    debugDescribeChildren$0() {
      var t4, _this = this, _null = null,
        value = A._setArrayType([], type$.JSArray_DiagnosticsNode),
        t1 = _this.SlottedContainerRenderObjectMixin__slotToChild,
        t2 = t1.get$values(t1),
        t3 = A._instanceType(_this)._eval$1("SlottedContainerRenderObjectMixin.S"),
        map = A.LinkedHashMap_LinkedHashMap(_null, _null, _null, type$.RenderBox, t3);
      A.MapBase__fillMapWithIterables(map, t2, new A.LinkedHashMapKeyIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeyIterable<1>")));
      for (t1 = J.get$iterator$ax(_this.get$children(_this)); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t4 = map.$index(0, t2);
        value.push(new A.DiagnosticableTreeNode(t2, _this.debugNameForSlot$1(t4 == null ? t3._as(t4) : t4), true, true, _null, _null));
      }
      return value;
    },
    _setChild$2(child, slot) {
      var t1 = this.SlottedContainerRenderObjectMixin__slotToChild,
        oldChild = t1.$index(0, slot);
      if (oldChild != null) {
        this.dropChild$1(oldChild);
        t1.remove$1(0, slot);
      }
      if (child != null) {
        t1.$indexSet(0, slot, child);
        this.adoptChild$1(child);
      }
    }
  };
  A.SlottedRenderObjectElement.prototype = {
    get$renderObject() {
      return this.$ti._eval$1("SlottedContainerRenderObjectMixin<1>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    visitChildren$1(visitor) {
      var t1 = this._slotToChild;
      t1.get$values(t1).forEach$1(0, visitor);
    },
    forgetChild$1(child) {
      this._slotToChild.remove$1(0, child._slot);
      this.super$Element$forgetChild(child);
    },
    mount$2($parent, newSlot) {
      this.super$RenderObjectElement$mount($parent, newSlot);
      this._slotted_render_object_widget$_updateChildren$0();
    },
    update$1(_, newWidget) {
      this.super$RenderObjectElement$update(0, newWidget);
      this._slotted_render_object_widget$_updateChildren$0();
    },
    _slotted_render_object_widget$_updateChildren$0() {
      var t2, t3, t4, _i, slot, t5, oldChild, newChild, _this = this,
        t1 = _this._widget;
      t1.toString;
      _this.$ti._eval$1("SlottedMultiChildRenderObjectWidgetMixin<1>")._as(t1);
      for (t2 = t1.get$slots(), t3 = t2.length, t4 = _this._slotToChild, _i = 0; _i < t3; ++_i) {
        slot = t2[_i];
        t5 = t1.childForSlot$1(slot);
        oldChild = t4.$index(0, slot);
        newChild = _this.updateChild$3(oldChild, t5, slot);
        if (oldChild != null)
          t4.remove$1(0, slot);
        if (newChild != null)
          t4.$indexSet(0, slot, newChild);
      }
    },
    insertRenderObjectChild$2(child, slot) {
      this.$ti._eval$1("SlottedContainerRenderObjectMixin<1>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this))._setChild$2(child, slot);
    },
    removeRenderObjectChild$2(child, slot) {
      this.$ti._eval$1("SlottedContainerRenderObjectMixin<1>")._as(A.RenderObjectElement.prototype.get$renderObject.call(this))._setChild$2(null, slot);
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    }
  };
  A.Spacer.prototype = {
    build$1(context) {
      return A.Expanded$(B.SizedBox_0_0_null_null, 1);
    }
  };
  A.StatusTransitionWidget.prototype = {
    createState$0() {
      return new A._StatusTransitionState(B._StateLifecycle_0);
    }
  };
  A._StatusTransitionState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._widget.animation.addStatusListener$1(this.get$_animationStatusChanged());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.animation;
      if (_this._widget.animation !== t1) {
        t2 = _this.get$_animationStatusChanged();
        t1.removeStatusListener$1(t2);
        _this._widget.animation.addStatusListener$1(t2);
      }
    },
    dispose$0() {
      this._widget.animation.removeStatusListener$1(this.get$_animationStatusChanged());
      this.super$State$dispose();
    },
    _animationStatusChanged$1($status) {
      this.setState$1(new A._StatusTransitionState__animationStatusChanged_closure());
    },
    build$1(context) {
      return this._widget.builder$2(context, null);
    }
  };
  A._StatusTransitionState__animationStatusChanged_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.TableRow0.prototype = {
    toString$0(_) {
      var t1 = "" + "TableRow(",
        t2 = this.key;
      if (t2 != null)
        t1 += t2.toString$0(0) + ", ";
      t2 = this.decoration;
      if (t2 != null)
        t1 += t2.toString$0(0) + ", ";
      t2 = this.children;
      t1 = t2.length === 0 ? t1 + "no children" : t1 + A.S(t2);
      t1 += ")";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A._TableElementRow.prototype = {};
  A.Table.prototype = {
    createElement$0(_) {
      return new A._TableElement(B.List_empty25, A.HashSet_HashSet(type$.Element_2), this, B._ElementLifecycle_0);
    },
    createRenderObject$1(context) {
      var t3, t4, t5, t6, _this = this, _null = null,
        t1 = _this.children,
        t2 = t1.length;
      t1 = t2 !== 0 ? t1[0].children.length : 0;
      t3 = _this.columnWidths;
      t4 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t4.toString;
      t4 = t4.textDirection;
      t5 = A.createLocalImageConfiguration(context, _null);
      t6 = A._setArrayType([], type$.JSArray_double);
      if (t3 == null)
        t3 = A.HashMap_HashMap(_null, _null, _null, type$.int, type$.TableColumnWidth);
      t6 = new A.RenderTable(B.List_empty23, t1, t2, t3, _this.defaultColumnWidth, t4, _this.border, t5, _this.defaultVerticalAlignment, _null, t6, A.LayerHandle$(type$.ContainerLayer_2));
      t6.RenderObject$0();
      t5 = A._setArrayType([], type$.JSArray_nullable_RenderBox);
      B.JSArray_methods.set$length(t5, t6._columns * t6._rows);
      t6._table0$_children = t5;
      t6.set$rowDecorations(_this._rowDecorations);
      return t6;
    },
    updateRenderObject$2(context, renderObject) {
      var t1, _this = this;
      renderObject.set$columnWidths(_this.columnWidths);
      renderObject.set$defaultColumnWidth(_this.defaultColumnWidth);
      t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.Directionality);
      t1.toString;
      renderObject.set$textDirection(t1.textDirection);
      renderObject.set$border(0, _this.border);
      renderObject.set$rowDecorations(_this._rowDecorations);
      renderObject.set$configuration(A.createLocalImageConfiguration(context, null));
      renderObject.set$defaultVerticalAlignment(_this.defaultVerticalAlignment);
      renderObject.set$textBaseline(0, null);
    }
  };
  A.Table_closure.prototype = {
    call$1(row) {
      return row.decoration != null;
    },
    $signature: 996
  };
  A.Table_closure0.prototype = {
    call$1(row) {
      return row.decoration;
    },
    $signature: 997
  };
  A._TableElement.prototype = {
    get$renderObject() {
      return type$.RenderTable._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
    },
    mount$2($parent, newSlot) {
      var t2, t3, _this = this, t1 = {};
      _this._table1$_doingMountOrUpdate = true;
      _this.super$RenderObjectElement$mount($parent, newSlot);
      t1.rowIndex = -1;
      t2 = _this._widget;
      t2.toString;
      t2 = type$.Table._as(t2).children;
      t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,_TableElementRow>");
      _this._table1$_children = A.List_List$of(new A.MappedListIterable(t2, new A._TableElement_mount_closure(t1, _this), t3), false, t3._eval$1("ListIterable.E"));
      _this._updateRenderObjectChildren$0();
      _this._table1$_doingMountOrUpdate = false;
    },
    insertRenderObjectChild$2(child, slot) {
      var t1 = type$.RenderTable;
      t1._as(A.RenderObjectElement.prototype.get$renderObject.call(this));
      if (!(child.parentData instanceof A.TableCellParentData))
        child.parentData = new A.TableCellParentData(B.Offset_0_0);
      if (!this._table1$_doingMountOrUpdate)
        t1._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).setChild$3(slot.column, slot.row, child);
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
    },
    removeRenderObjectChild$2(child, slot) {
      type$.RenderTable._as(A.RenderObjectElement.prototype.get$renderObject.call(this)).setChild$3(slot.column, slot.row, null);
    },
    update$1(_, newWidget) {
      var t1, oldKeyedRows, t2, t3, _i, row, t4, oldUnkeyedRows, newChildren, taken, rowIndex, t5, t6, oldChildren, _length, slots, columnIndex, _this = this;
      _this._table1$_doingMountOrUpdate = true;
      t1 = type$.List_Element;
      oldKeyedRows = A.LinkedHashMap_LinkedHashMap$_empty(type$.LocalKey, t1);
      for (t2 = _this._table1$_children, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
        row = t2[_i];
        t4 = row.key;
        if (t4 != null)
          oldKeyedRows.$indexSet(0, t4, row.children);
      }
      t2 = _this._table1$_children;
      t3 = B.JSArray_methods.get$iterator(t2);
      oldUnkeyedRows = new A.WhereIterator(t3, new A._TableElement_update_closure(), A._arrayInstanceType(t2)._eval$1("WhereIterator<1>"));
      newChildren = A._setArrayType([], type$.JSArray__TableElementRow);
      taken = A.LinkedHashSet_LinkedHashSet$_empty(t1);
      for (t1 = newWidget.children, t2 = _this._table1$_forgottenChildren, t4 = type$.JSArray__TableSlot, rowIndex = 0; rowIndex < t1.length; ++rowIndex) {
        row = t1[rowIndex];
        t5 = row.key;
        t6 = t5 == null;
        if (!t6 && oldKeyedRows.containsKey$1(0, t5)) {
          t6 = oldKeyedRows.$index(0, t5);
          t6.toString;
          taken.add$1(0, t6);
          oldChildren = t6;
        } else
          oldChildren = t6 && oldUnkeyedRows.moveNext$0() ? t3.get$current(t3).children : B.List_empty26;
        t6 = row.children;
        _length = t6.length;
        slots = A._setArrayType(new Array(_length), t4);
        for (columnIndex = 0; columnIndex < _length; ++columnIndex)
          slots[columnIndex] = new A._TableSlot(columnIndex, rowIndex);
        newChildren.push(new A._TableElementRow(t5, _this.updateChildren$4$forgottenChildren$slots(oldChildren, t6, t2, slots)));
      }
      for (; oldUnkeyedRows.moveNext$0();)
        _this.updateChildren$3$forgottenChildren(t3.get$current(t3).children, B.List_empty17, t2);
      for (t1 = oldKeyedRows.get$values(oldKeyedRows), t3 = t1.get$iterator(t1), t1 = new A.WhereIterator(t3, new A._TableElement_update_closure0(taken), A._instanceType(t1)._eval$1("WhereIterator<Iterable.E>")); t1.moveNext$0();)
        _this.updateChildren$3$forgottenChildren(t3.get$current(t3), B.List_empty17, t2);
      _this._table1$_children = newChildren;
      _this._updateRenderObjectChildren$0();
      t2.clear$0(0);
      _this.super$RenderObjectElement$update(0, newWidget);
      _this._table1$_doingMountOrUpdate = false;
    },
    _updateRenderObjectChildren$0() {
      var t3, t4,
        t1 = type$.RenderTable._as(A.RenderObjectElement.prototype.get$renderObject.call(this)),
        t2 = this._table1$_children;
      t2 = t2.length !== 0 ? J.get$length$asx(t2[0].children) : 0;
      t3 = this._table1$_children;
      t4 = A._arrayInstanceType(t3)._eval$1("ExpandIterable<1,RenderBox>");
      t1.setFlatChildren$2(t2, A.List_List$of(new A.ExpandIterable(t3, new A._TableElement__updateRenderObjectChildren_closure(), t4), true, t4._eval$1("Iterable.E")));
    },
    visitChildren$1(visitor) {
      var t1, t2, t3, t4;
      for (t1 = this._table1$_children, t2 = A._arrayInstanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._eval$1("Element")), t1 = new A.ExpandIterator(B.JSArray_methods.get$iterator(t1), new A._TableElement_visitChildren_closure(), B.C_EmptyIterator, t2._eval$1("ExpandIterator<1,2>")), t3 = this._table1$_forgottenChildren, t2 = t2._rest[1]; t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        if (!t3.contains$1(0, t4))
          visitor.call$1(t4);
      }
    },
    forgetChild$1(child) {
      this._table1$_forgottenChildren.add$1(0, child);
      this.super$Element$forgetChild(child);
      return true;
    }
  };
  A._TableElement_mount_closure.prototype = {
    call$1(row) {
      var t2, t3, t4, t5, t1 = {};
      t1.columnIndex = 0;
      t2 = this._box_1;
      ++t2.rowIndex;
      t3 = row.key;
      t4 = row.children;
      t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Element>");
      return new A._TableElementRow(t3, A.List_List$of(new A.MappedListIterable(t4, new A._TableElement_mount__closure(t1, t2, this.$this), t5), false, t5._eval$1("ListIterable.E")));
    },
    $signature: 998
  };
  A._TableElement_mount__closure.prototype = {
    call$1(child) {
      return this.$this.inflateWidget$2(child, new A._TableSlot(this._box_0.columnIndex++, this._box_1.rowIndex));
    },
    $signature: 999
  };
  A._TableElement_update_closure.prototype = {
    call$1(row) {
      return row.key == null;
    },
    $signature: 1000
  };
  A._TableElement_update_closure0.prototype = {
    call$1(list) {
      return !this.taken.contains$1(0, list);
    },
    $signature: 1001
  };
  A._TableElement__updateRenderObjectChildren_closure.prototype = {
    call$1(row) {
      return J.map$1$1$ax(row.children, new A._TableElement__updateRenderObjectChildren__closure(), type$.RenderBox);
    },
    $signature: 1002
  };
  A._TableElement__updateRenderObjectChildren__closure.prototype = {
    call$1(child) {
      var t1 = child.get$renderObject();
      t1.toString;
      return type$.RenderBox._as(t1);
    },
    $signature: 1003
  };
  A._TableElement_visitChildren_closure.prototype = {
    call$1(row) {
      return row.children;
    },
    $signature: 1004
  };
  A.TableCell.prototype = {
    applyParentData$1(renderObject) {
      var t2, targetParent,
        t1 = renderObject.parentData;
      t1.toString;
      type$.TableCellParentData._as(t1);
      t2 = this.verticalAlignment;
      if (t1.verticalAlignment != t2) {
        t1.verticalAlignment = t2;
        targetParent = renderObject.get$parent(renderObject);
        if (targetParent instanceof A.RenderObject)
          targetParent.markNeedsLayout$0();
      }
    }
  };
  A._TableSlot.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(this))
        return false;
      return other instanceof A._TableSlot && this.column === other.column && this.row === other.row;
    },
    get$hashCode(_) {
      return A.Object_hash(this.column, this.row, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.__TableSlot_Object_Diagnosticable.prototype = {};
  A.DefaultTextStyle.prototype = {
    updateShouldNotify$1(oldWidget) {
      var _this = this;
      return !_this.style.$eq(0, oldWidget.style) || _this.textAlign != oldWidget.textAlign || _this.softWrap !== oldWidget.softWrap || _this.overflow !== oldWidget.overflow || _this.maxLines != oldWidget.maxLines || _this.textWidthBasis !== oldWidget.textWidthBasis || false;
    },
    wrap$2(_, context, child) {
      var _this = this;
      return A.DefaultTextStyle$(child, null, _this.maxLines, _this.overflow, _this.softWrap, _this.style, _this.textAlign, _this.textHeightBehavior, _this.textWidthBasis);
    }
  };
  A.DefaultTextStyle_merge_closure.prototype = {
    call$1(context) {
      var t2,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t1 == null)
        t1 = B.DefaultTextStyle_MTi;
      t2 = t1.style.merge$1(this.style);
      return A.DefaultTextStyle$(this.child, this.key, t1.maxLines, t1.overflow, t1.softWrap, t2, t1.textAlign, null, t1.textWidthBasis);
    },
    $signature: 1005
  };
  A._NullWidget3.prototype = {
    build$1(context) {
      throw A.wrapException(A.FlutterError_FlutterError(string$.A_Defa));
    }
  };
  A.Text.prototype = {
    build$1(context) {
      var effectiveTextStyle, registrar, t2, t3, t4, t5, t6, t7, t8, t9, t10, result, _this = this, _null = null,
        t1 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultTextStyle);
      if (t1 == null)
        t1 = B.DefaultTextStyle_MTi;
      effectiveTextStyle = _this.style;
      if (effectiveTextStyle == null || effectiveTextStyle.inherit)
        effectiveTextStyle = t1.style.merge$1(effectiveTextStyle);
      if (A.MediaQuery_boldTextOverride(context))
        effectiveTextStyle = effectiveTextStyle.merge$1(B.TextStyle_ia3);
      registrar = A.SelectionContainer_maybeOf(context);
      t2 = _this.textAlign;
      if (t2 == null)
        t2 = t1.textAlign;
      if (t2 == null)
        t2 = B.TextAlign_4;
      t3 = _this.textDirection;
      t4 = _this.softWrap;
      if (t4 == null)
        t4 = t1.softWrap;
      t5 = _this.overflow;
      if (t5 == null)
        t5 = effectiveTextStyle == null ? _null : effectiveTextStyle.overflow;
      if (t5 == null)
        t5 = t1.overflow;
      t6 = _this.textScaleFactor;
      if (t6 == null)
        t6 = A.MediaQuery_textScaleFactorOf(context);
      t7 = _this.maxLines;
      if (t7 == null)
        t7 = t1.maxLines;
      t8 = _this.textHeightBehavior;
      if (t8 == null)
        t8 = t1.textHeightBehavior;
      if (t8 == null)
        t8 = A.DefaultTextHeightBehavior_of(context);
      t9 = context.dependOnInheritedWidgetOfExactType$1$0(type$.DefaultSelectionStyle);
      t9 = (t9 == null ? B.DefaultSelectionStyle_MUs : t9).selectionColor;
      t10 = _this.textSpan;
      t10 = t10 != null ? A._setArrayType([t10], type$.JSArray_InlineSpan) : _null;
      result = A.RichText$(_null, _null, t7, t5, t9, registrar, t4, _null, A.TextSpan$(t10, _null, _null, effectiveTextStyle, _this.data), t2, t3, t8, t6, t1.textWidthBasis);
      if (registrar != null)
        result = A.MouseRegion$(result, B.SystemMouseCursor_text, _null, _null, _null, _null);
      t1 = _this.semanticsLabel;
      if (t1 != null)
        result = new A.Semantics(A.SemanticsProperties$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, t3, _null, _null, _null, _null), false, false, false, new A.ExcludeSemantics(true, result, _null), _null);
      return result;
    }
  };
  A.DoNothingAndStopPropagationTextIntent.prototype = {};
  A.DirectionalTextEditingIntent.prototype = {};
  A.DeleteCharacterIntent.prototype = {};
  A.DeleteToNextWordBoundaryIntent.prototype = {};
  A.DeleteToLineBreakIntent.prototype = {};
  A.DirectionalCaretMovementIntent.prototype = {};
  A.ExtendSelectionByCharacterIntent.prototype = {};
  A.ExtendSelectionToNextWordBoundaryIntent.prototype = {};
  A.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent.prototype = {};
  A.ExpandSelectionToDocumentBoundaryIntent.prototype = {};
  A.ExpandSelectionToLineBreakIntent.prototype = {};
  A.ExtendSelectionToLineBreakIntent.prototype = {};
  A.ExtendSelectionVerticallyToAdjacentLineIntent.prototype = {};
  A.ExtendSelectionToDocumentBoundaryIntent.prototype = {};
  A.ScrollToDocumentBoundaryIntent.prototype = {};
  A.SelectAllTextIntent.prototype = {};
  A.CopySelectionTextIntent.prototype = {};
  A.PasteTextIntent.prototype = {};
  A.RedoTextIntent.prototype = {};
  A.ReplaceTextIntent.prototype = {};
  A.UndoTextIntent.prototype = {};
  A.UpdateSelectionIntent.prototype = {};
  A.TransposeCharactersIntent.prototype = {};
  A.TextSelectionControls.prototype = {
    handlePaste$1(delegate) {
      return this.handlePaste$body$TextSelectionControls(delegate);
    },
    handlePaste$body$TextSelectionControls(delegate) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void);
      var $async$handlePaste$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
              delegate.pasteText$1(B.SelectionChangedCause_5);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$handlePaste$1, $async$completer);
    }
  };
  A.TextSelectionOverlay.prototype = {
    _updateTextSelectionOverlayVisibilities$0() {
      var _this = this,
        t1 = _this._handlesVisible && _this.renderObject._selectionStartInViewport._change_notifier$_value;
      _this._effectiveStartHandleVisibility.set$value(0, t1);
      t1 = _this._handlesVisible && _this.renderObject._selectionEndInViewport._change_notifier$_value;
      _this._effectiveEndHandleVisibility.set$value(0, t1);
      t1 = _this.renderObject;
      t1 = t1._selectionStartInViewport._change_notifier$_value || t1._selectionEndInViewport._change_notifier$_value;
      _this._effectiveToolbarVisibility.set$value(0, t1);
    },
    set$handlesVisible(visible) {
      if (this._handlesVisible === visible)
        return;
      this._handlesVisible = visible;
      this._updateTextSelectionOverlayVisibilities$0();
    },
    update$1(_, newValue) {
      if (this._text_selection$_value.$eq(0, newValue))
        return;
      this._text_selection$_value = newValue;
      this._updateSelectionOverlay$0();
    },
    _updateSelectionOverlay$0() {
      var t2, t3, t4, prevText, currText, t5, selectedGraphemes, t6, startHandleRect, endHandleRect, _this = this, _null = null,
        t1 = _this.__TextSelectionOverlay__selectionOverlay;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.renderObject;
      t3 = t2._textPainter;
      t4 = t3._text_painter$_textDirection;
      t4.toString;
      t1.set$startHandleType(_this._chooseType$3(t4, B.TextSelectionHandleType_0, B.TextSelectionHandleType_1));
      prevText = t3._text_painter$_text.toPlainText$0();
      t4 = _this.selectionDelegate;
      currText = t4._widget.controller._change_notifier$_value.text;
      if (prevText === currText)
        if (_this._text_selection$_value.selection.get$isValid()) {
          t5 = _this._text_selection$_value.selection;
          t5 = t5.start !== t5.end;
        } else
          t5 = false;
      else
        t5 = false;
      if (t5) {
        t5 = _this._text_selection$_value.selection;
        selectedGraphemes = B.JSString_methods.substring$2(currText, t5.start, t5.end);
        t5 = selectedGraphemes.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(selectedGraphemes);
        t5 = t5.get$first(t5);
        t6 = _this._text_selection$_value.selection.start;
        startHandleRect = t2.getRectForComposingRange$1(new A.TextRange(t6, t6 + t5.length));
      } else
        startHandleRect = _null;
      t5 = startHandleRect == null ? _null : startHandleRect.bottom - startHandleRect.top;
      t1.set$lineHeightAtStart(t5 == null ? t3.get$preferredLineHeight() : t5);
      t5 = t3._text_painter$_textDirection;
      t5.toString;
      t1.set$endHandleType(_this._chooseType$3(t5, B.TextSelectionHandleType_1, B.TextSelectionHandleType_0));
      prevText = t3._text_painter$_text.toPlainText$0();
      currText = t4._widget.controller._change_notifier$_value.text;
      if (prevText === currText)
        if (_this._text_selection$_value.selection.get$isValid()) {
          t4 = _this._text_selection$_value.selection;
          t4 = t4.start !== t4.end;
        } else
          t4 = false;
      else
        t4 = false;
      if (t4) {
        t4 = _this._text_selection$_value.selection;
        selectedGraphemes = B.JSString_methods.substring$2(currText, t4.start, t4.end);
        t4 = selectedGraphemes.length === 0 ? B.StringCharacters_ehH : new A.StringCharacters(selectedGraphemes);
        t4 = t4.get$last(t4);
        t5 = _this._text_selection$_value.selection.end;
        endHandleRect = t2.getRectForComposingRange$1(new A.TextRange(t5 - t4.length, t5));
      } else
        endHandleRect = _null;
      t4 = endHandleRect == null ? _null : endHandleRect.bottom - endHandleRect.top;
      t1.set$lineHeightAtEnd(t4 == null ? t3.get$preferredLineHeight() : t4);
      t3 = t2.getEndpointsForSelection$1(_this._text_selection$_value.selection);
      if (!A.listEquals(t1._selectionEndPoints, t3))
        t1._markNeedsBuild$0();
      t1._selectionEndPoints = t3;
      t1.set$toolbarLocation(t2._lastSecondaryTapDownPosition);
    },
    dispose$0() {
      var t2, _this = this,
        t1 = _this.__TextSelectionOverlay__selectionOverlay;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.hide$0();
      t1 = _this.renderObject;
      t2 = _this.get$_updateTextSelectionOverlayVisibilities();
      t1._selectionStartInViewport.removeListener$1(0, t2);
      t1._selectionEndInViewport.removeListener$1(0, t2);
      t2 = _this._effectiveToolbarVisibility;
      t1 = t2.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t2.ChangeNotifier__count = 0;
      t2 = _this._effectiveStartHandleVisibility;
      t2.ChangeNotifier__listeners = t1;
      t2.ChangeNotifier__count = 0;
      t2 = _this._effectiveEndHandleVisibility;
      t2.ChangeNotifier__listeners = t1;
      t2.ChangeNotifier__count = 0;
    },
    _handleSelectionEndHandleDragStart$1(details) {
      var t1 = this.selectionControls;
      t1.toString;
      this.__TextSelectionOverlay__dragEndPosition = details.globalPosition.$add(0, new A.Offset(0, -t1.getHandleSize$1(this.renderObject._textPainter.get$preferredLineHeight())._dy));
    },
    _handleSelectionEndHandleDragUpdate$1(details) {
      var position, newSelection, _this = this,
        t1 = _this.__TextSelectionOverlay__dragEndPosition;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.$add(0, details.delta);
      _this.__TextSelectionOverlay__dragEndPosition = t1;
      position = _this.renderObject.getPositionForPoint$1(t1);
      t1 = _this._text_selection$_value.selection;
      if (t1.start === t1.end) {
        _this._handleSelectionHandleChanged$2$isEnd(A.TextSelection$fromPosition(position), true);
        return;
      }
      newSelection = A.TextSelection$(B.TextAffinity_1, t1.baseOffset, position.offset, false);
      if (newSelection.baseOffset >= newSelection.extentOffset)
        return;
      _this._handleSelectionHandleChanged$2$isEnd(newSelection, true);
    },
    _handleSelectionStartHandleDragStart$1(details) {
      var t1 = this.selectionControls;
      t1.toString;
      this.__TextSelectionOverlay__dragStartPosition = details.globalPosition.$add(0, new A.Offset(0, -t1.getHandleSize$1(this.renderObject._textPainter.get$preferredLineHeight())._dy));
    },
    _handleSelectionStartHandleDragUpdate$1(details) {
      var position, newSelection, _this = this,
        t1 = _this.__TextSelectionOverlay__dragStartPosition;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.$add(0, details.delta);
      _this.__TextSelectionOverlay__dragStartPosition = t1;
      position = _this.renderObject.getPositionForPoint$1(t1);
      t1 = _this._text_selection$_value.selection;
      if (t1.start === t1.end) {
        _this._handleSelectionHandleChanged$2$isEnd(A.TextSelection$fromPosition(position), false);
        return;
      }
      newSelection = A.TextSelection$(B.TextAffinity_1, position.offset, t1.extentOffset, false);
      if (newSelection.baseOffset >= newSelection.extentOffset)
        return;
      _this._handleSelectionHandleChanged$2$isEnd(newSelection, false);
    },
    _handleSelectionHandleChanged$2$isEnd(newSelection, isEnd) {
      var textPosition = isEnd ? newSelection.get$extent() : newSelection.get$base(),
        t1 = this.selectionDelegate;
      t1.userUpdateTextEditingValue$2(this._text_selection$_value.copyWith$1$selection(newSelection), B.SelectionChangedCause_6);
      t1.bringIntoView$1(textPosition);
    },
    _chooseType$3(textDirection, ltrType, rtlType) {
      var t1 = this._text_selection$_value.selection;
      if (t1.start === t1.end)
        return B.TextSelectionHandleType_2;
      switch (textDirection.index) {
        case 1:
          return ltrType;
        case 0:
          return rtlType;
      }
    }
  };
  A.SelectionOverlay.prototype = {
    set$startHandleType(value) {
      if (this._startHandleType === value)
        return;
      this._startHandleType = value;
      this._markNeedsBuild$0();
    },
    set$lineHeightAtStart(value) {
      if (this._lineHeightAtStart === value)
        return;
      this._lineHeightAtStart = value;
      this._markNeedsBuild$0();
    },
    set$endHandleType(value) {
      if (this._endHandleType === value)
        return;
      this._endHandleType = value;
      this._markNeedsBuild$0();
    },
    set$lineHeightAtEnd(value) {
      if (this._lineHeightAtEnd === value)
        return;
      this._lineHeightAtEnd = value;
      this._markNeedsBuild$0();
    },
    set$toolbarLocation(value) {
      if (J.$eq$(this._toolbarLocation, value))
        return;
      this._toolbarLocation = value;
      this._markNeedsBuild$0();
    },
    showHandles$0() {
      var result, t1, _this = this;
      if (_this._handles != null)
        return;
      _this._handles = A._setArrayType([A.OverlayEntry$(_this.get$_buildStartHandle(), false, false), A.OverlayEntry$(_this.get$_buildEndHandle(), false, false)], type$.JSArray_OverlayEntry);
      result = _this.context.findRootAncestorStateOfType$1$0(type$.OverlayState);
      result.toString;
      t1 = _this._handles;
      t1.toString;
      result.insertAll$1(0, t1);
    },
    _markNeedsBuild$0() {
      var t3, _this = this,
        t1 = _this._handles,
        t2 = t1 == null;
      if (t2 && _this._toolbar == null)
        return;
      t3 = $.SchedulerBinding__instance;
      if (t3.SchedulerBinding__schedulerPhase === B.SchedulerPhase_3) {
        if (_this._buildScheduled)
          return;
        _this._buildScheduled = true;
        t3.SchedulerBinding__postFrameCallbacks.push(new A.SelectionOverlay__markNeedsBuild_closure(_this));
      } else {
        if (!t2) {
          t1[0].markNeedsBuild$0();
          _this._handles[1].markNeedsBuild$0();
        }
        t1 = _this._toolbar;
        if (t1 != null)
          t1.markNeedsBuild$0();
      }
    },
    hide$0() {
      var _this = this,
        t1 = _this._handles;
      if (t1 != null) {
        t1[0].remove$0(0);
        _this._handles[1].remove$0(0);
        _this._handles = null;
      }
      if (_this._toolbar != null)
        _this.hideToolbar$0();
    },
    hideToolbar$0() {
      var t1 = this._toolbar;
      if (t1 == null)
        return;
      t1.remove$0(0);
      this._toolbar = null;
    },
    _buildStartHandle$1(context) {
      var handle, t1, _this = this, _null = null,
        selectionControls = _this.selectionControls;
      if (selectionControls == null)
        handle = A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      else {
        t1 = _this._startHandleType;
        handle = A._SelectionHandleOverlay$(_this.dragStartBehavior, _this.startHandleLayerLink, _null, _this.onStartHandleDragStart, _this.onStartHandleDragUpdate, _this.onSelectionHandleTapped, _this._lineHeightAtStart, selectionControls, t1, _this.startHandlesVisible);
      }
      return new A.ExcludeSemantics(true, handle, _null);
    },
    _buildEndHandle$1(context) {
      var handle, t1, _this = this, _null = null,
        selectionControls = _this.selectionControls;
      if (selectionControls == null || _this._startHandleType === B.TextSelectionHandleType_2)
        handle = A.Container$(_null, _null, B.Clip_0, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
      else {
        t1 = _this._endHandleType;
        handle = A._SelectionHandleOverlay$(_this.dragStartBehavior, _this.endHandleLayerLink, _null, _this.onEndHandleDragStart, _this.onEndHandleDragUpdate, _this.onSelectionHandleTapped, _this._lineHeightAtEnd, selectionControls, t1, _this.endHandlesVisible);
      }
      return new A.ExcludeSemantics(true, handle, _null);
    }
  };
  A.SelectionOverlay__markNeedsBuild_closure.prototype = {
    call$1(duration) {
      var t2,
        t1 = this.$this;
      t1._buildScheduled = false;
      t2 = t1._handles;
      if (t2 != null) {
        t2[0].markNeedsBuild$0();
        t1._handles[1].markNeedsBuild$0();
      }
      t1 = t1._toolbar;
      if (t1 != null)
        t1.markNeedsBuild$0();
    },
    $signature: 3
  };
  A._SelectionHandleOverlay.prototype = {
    createState$0() {
      return new A._SelectionHandleOverlayState(null, null, B._StateLifecycle_0);
    }
  };
  A._SelectionHandleOverlayState.prototype = {
    initState$0() {
      var _this = this;
      _this.super$State$initState();
      _this.___SelectionHandleOverlayState__controller = A.AnimationController$(null, B.Duration_150000, 0, null, 1, null, _this);
      _this._handleVisibilityChanged$0();
      _this._widget.visibility.addListener$1(0, _this.get$_handleVisibilityChanged());
    },
    _handleVisibilityChanged$0() {
      var t2,
        t1 = this._widget.visibility._change_notifier$_value;
      if (t1 == null)
        t1 = true;
      t2 = this.___SelectionHandleOverlayState__controller;
      if (t1) {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.forward$0(0);
      } else {
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.reverse$0(0);
      }
    },
    didUpdateWidget$1(oldWidget) {
      var t1, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = _this.get$_handleVisibilityChanged();
      oldWidget.visibility.removeListener$1(0, t1);
      _this._handleVisibilityChanged$0();
      _this._widget.visibility.addListener$1(0, t1);
    },
    dispose$0() {
      var t1, _this = this;
      _this._widget.visibility.removeListener$1(0, _this.get$_handleVisibilityChanged());
      t1 = _this.___SelectionHandleOverlayState__controller;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      _this.super$__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin$dispose();
    },
    build$1(context) {
      var handleSize, t2, t3, t4, handleRect, interactiveRect, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = _this._widget,
        handleAnchor = t1.selectionControls.getHandleAnchor$2(t1.type, t1.preferredLineHeight);
      t1 = _this._widget;
      handleSize = t1.selectionControls.getHandleSize$1(t1.preferredLineHeight);
      t1 = -handleAnchor._dx;
      t2 = -handleAnchor._dy;
      t3 = t1 + handleSize._dx;
      t4 = t2 + handleSize._dy;
      handleRect = new A.Rect(t1, t2, t3, t4);
      interactiveRect = handleRect.expandToInclude$1(A.Rect$fromCircle(handleRect.get$center(), 24));
      t5 = interactiveRect.left;
      t6 = interactiveRect.right - t5;
      t1 = Math.max((t6 - (t3 - t1)) / 2, 0);
      t3 = interactiveRect.top;
      t7 = interactiveRect.bottom - t3;
      t2 = Math.max((t7 - (t4 - t2)) / 2, 0);
      t4 = _this._widget.handleLayerLink;
      t8 = _this.___SelectionHandleOverlayState__controller;
      if (t8 === $)
        A.throwUnnamedLateFieldNI();
      t9 = A.LinkedHashMap_LinkedHashMap$_literal([B.Type_PanGestureRecognizer_bbH, new A.GestureRecognizerFactoryWithHandlers(new A._SelectionHandleOverlayState_build_closure(_this), new A._SelectionHandleOverlayState_build_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_PanGestureRecognizer)], type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
      t10 = _this._widget;
      return A.CompositedTransformFollower$(A.FadeTransition$(false, A.Container$(B.Alignment_m1_m1, new A.RawGestureDetector(new A.Padding(new A.EdgeInsets(t1, t2, t1, t2), t10.selectionControls.buildHandle$4(context, t10.type, t10.preferredLineHeight, t10.onSelectionHandleTapped), _null), t9, B.HitTestBehavior_2, false, _null, _null), B.Clip_0, _null, _null, _null, _null, t7, _null, _null, _null, _null, _null, t6), t8), t4, new A.Offset(t5, t3), false, B.Alignment_m1_m1);
    }
  };
  A._SelectionHandleOverlayState_build_closure.prototype = {
    call$0() {
      return A.PanGestureRecognizer$(this.$this, A.LinkedHashSet_LinkedHashSet$_literal([B.PointerDeviceKind_0, B.PointerDeviceKind_2, B.PointerDeviceKind_5], type$.PointerDeviceKind));
    },
    $signature: 177
  };
  A._SelectionHandleOverlayState_build_closure0.prototype = {
    call$1(instance) {
      var t1 = this.$this._widget;
      instance.dragStartBehavior = t1.dragStartBehavior;
      instance.onStart = t1.onSelectionHandleDragStart;
      instance.onUpdate = t1.onSelectionHandleDragUpdate;
      instance.onEnd = t1.onSelectionHandleDragEnd;
    },
    $signature: 200
  };
  A.TextSelectionGestureDetectorBuilder.prototype = {
    get$_lastSecondaryTapWasOnSelection() {
      var t3, t4, textPosition,
        t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      t3._as(t2);
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t3._as(t2);
      t4 = t1.get$editableTextKey().get$currentState();
      t4.toString;
      t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4._editableKey).get$renderObject();
      t4.toString;
      t4 = t3._as(t4)._lastSecondaryTapDownPosition;
      t4.toString;
      textPosition = t2.getPositionForPoint$1(t4);
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t4 = textPosition.offset;
      if (t3._as(t2)._selection.start <= t4) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        t4 = t3._as(t1)._selection.end >= t4;
        t1 = t4;
      } else
        t1 = false;
      return t1;
    },
    _text_selection$_expandSelection$3(offset, cause, fromSelection) {
      var t3, tappedPosition, selection, t4, nextSelection,
        t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      tappedPosition = t3._as(t2).getPositionForPoint$1(offset);
      if (fromSelection == null) {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        selection = t3._as(t2)._selection;
      } else
        selection = fromSelection;
      t2 = tappedPosition.offset;
      t3 = selection.baseOffset;
      t4 = selection.extentOffset;
      nextSelection = selection.copyWith$2$baseOffset$extentOffset(Math.abs(t2 - t3) < Math.abs(t2 - t4) ? t4 : t3, t2);
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t1 = t1.get$editableTextKey().get$currentState();
      t1.toString;
      t2.userUpdateTextEditingValue$2(t1._widget.controller._change_notifier$_value.copyWith$1$selection(nextSelection), cause);
    },
    _text_selection$_expandSelection$2(offset, cause) {
      return this._text_selection$_expandSelection$3(offset, cause, null);
    },
    _extendSelection$2(offset, cause) {
      var t3, tappedPosition, nextSelection,
        t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      tappedPosition = t3._as(t2).getPositionForPoint$1(offset);
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      nextSelection = t3._as(t2)._selection.copyWith$1$extentOffset(tappedPosition.offset);
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t1 = t1.get$editableTextKey().get$currentState();
      t1.toString;
      t2.userUpdateTextEditingValue$2(t1._widget.controller._change_notifier$_value.copyWith$1$selection(nextSelection), cause);
    },
    onTapDown$1(details) {
      var t3, kind, t4, t5, _this = this,
        t1 = _this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t3 = type$.RenderEditable;
      t2 = t3._as(t2)._lastTapDownPosition = details.globalPosition;
      kind = details.kind;
      _this._shouldShowSelectionToolbar = kind == null || kind === B.PointerDeviceKind_0 || kind === B.PointerDeviceKind_2;
      t4 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__keyboard;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4 = t4._pressedKeys;
      t4 = t4.get$values(t4);
      t4 = A.LinkedHashSet_LinkedHashSet$of(t4, A._instanceType(t4)._eval$1("Iterable.E"));
      t5 = A.LinkedHashSet_LinkedHashSet$_literal([B.LogicalKeyboardKey_8589934850, B.LogicalKeyboardKey_8589934851], type$.LogicalKeyboardKey);
      if (t4.any$1(0, t5.get$contains(t5))) {
        t4 = t1.get$editableTextKey().get$currentState();
        t4.toString;
        t4 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t4._editableKey).get$renderObject();
        t4.toString;
        t3._as(t4);
        t4 = true;
      } else
        t4 = false;
      if (t4) {
        _this._isShiftTapping = true;
        switch (A.defaultTargetPlatform().index) {
          case 2:
          case 4:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            _this._text_selection$_expandSelection$3(t2, B.SelectionChangedCause_0, t3._as(t1)._editable$_hasFocus ? null : B.TextSelection_3Ex0);
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            _this._extendSelection$2(t2, B.SelectionChangedCause_0);
            break;
        }
      }
    },
    onForcePressStart$1(details) {
      var t1;
      this._shouldShowSelectionToolbar = true;
      t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        type$.RenderEditable._as(t1).selectWordsInRange$2$cause$from(B.SelectionChangedCause_3, details.globalPosition);
      }
    },
    onForcePressEnd$1(details) {
      var t1 = this.delegate,
        t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      type$.RenderEditable._as(t2).selectWordsInRange$2$cause$from(B.SelectionChangedCause_3, details.globalPosition);
      if (this._shouldShowSelectionToolbar) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onSingleTapUp$1(details) {
      var t1, t2;
      if (this._isShiftTapping) {
        this._isShiftTapping = false;
        return;
      }
      t1 = this.delegate;
      if (t1.get$selectionEnabled())
        switch (A.defaultTargetPlatform().index) {
          case 2:
          case 4:
            switch (details.kind.index) {
              case 1:
              case 4:
              case 2:
              case 3:
                t1 = t1.get$editableTextKey().get$currentState();
                t1.toString;
                t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
                t1.toString;
                type$.RenderEditable._as(t1);
                t2 = t1._lastTapDownPosition;
                t2.toString;
                t1.selectPositionAt$2$cause$from(B.SelectionChangedCause_0, t2);
                break;
              case 0:
              case 5:
                t1 = t1.get$editableTextKey().get$currentState();
                t1.toString;
                t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
                t1.toString;
                type$.RenderEditable._as(t1).selectWordEdge$1$cause(B.SelectionChangedCause_0);
                break;
            }
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
            t1.toString;
            type$.RenderEditable._as(t1);
            t2 = t1._lastTapDownPosition;
            t2.toString;
            t1.selectPositionAt$2$cause$from(B.SelectionChangedCause_0, t2);
            break;
        }
    },
    onSingleTapCancel$0() {
    },
    onSingleLongTapStart$1(details) {
      var t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        type$.RenderEditable._as(t1).selectPositionAt$2$cause$from(B.SelectionChangedCause_2, details.globalPosition);
      }
    },
    onSingleLongTapMoveUpdate$1(details) {
      var t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        type$.RenderEditable._as(t1).selectPositionAt$2$cause$from(B.SelectionChangedCause_2, details.globalPosition);
      }
    },
    onSingleLongTapEnd$1(details) {
      var t1;
      if (this._shouldShowSelectionToolbar) {
        t1 = this.delegate.get$editableTextKey().get$currentState();
        t1.toString;
        t1.showToolbar$0();
      }
    },
    onSecondaryTap$0() {
      var t2, t3,
        t1 = this.delegate;
      if (!t1.get$selectionEnabled())
        return;
      switch (A.defaultTargetPlatform().index) {
        case 2:
        case 4:
          if (this.get$_lastSecondaryTapWasOnSelection()) {
            t2 = t1.get$editableTextKey().get$currentState();
            t2.toString;
            t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
            t2.toString;
            t2 = !type$.RenderEditable._as(t2)._editable$_hasFocus;
          } else
            t2 = true;
          if (t2) {
            t2 = t1.get$editableTextKey().get$currentState();
            t2.toString;
            t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
            t2.toString;
            type$.RenderEditable._as(t2);
            t3 = t2._lastTapDownPosition;
            t3.toString;
            t2.selectWordsInRange$2$cause$from(B.SelectionChangedCause_0, t3);
          }
          if (this._shouldShowSelectionToolbar) {
            t2 = t1.get$editableTextKey().get$currentState();
            t2.toString;
            t2.hideToolbar$0();
            t1 = t1.get$editableTextKey().get$currentState();
            t1.toString;
            t1.showToolbar$0();
          }
          break;
        case 0:
        case 1:
        case 3:
        case 5:
          t2 = t1.get$editableTextKey().get$currentState();
          t2.toString;
          t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
          t2.toString;
          t3 = type$.RenderEditable;
          if (!t3._as(t2)._editable$_hasFocus) {
            t2 = t1.get$editableTextKey().get$currentState();
            t2.toString;
            t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
            t2.toString;
            t3._as(t2);
            t3 = t2._lastTapDownPosition;
            t3.toString;
            t2.selectPositionAt$2$cause$from(B.SelectionChangedCause_0, t3);
          }
          t1 = t1.get$editableTextKey().get$currentState();
          t1.toString;
          t1.toggleToolbar$0();
          break;
      }
    },
    onSecondaryTapDown$1(details) {
      var t1 = this.delegate.get$editableTextKey().get$currentState();
      t1.toString;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
      t1.toString;
      type$.RenderEditable._as(t1);
      t1._lastSecondaryTapDownPosition = t1._lastTapDownPosition = details.globalPosition;
      this._shouldShowSelectionToolbar = true;
    },
    onDoubleTapDown$1(details) {
      var t2, t3,
        t1 = this.delegate;
      if (t1.get$selectionEnabled()) {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        type$.RenderEditable._as(t2);
        t3 = t2._lastTapDownPosition;
        t3.toString;
        t2.selectWordsInRange$2$cause$from(B.SelectionChangedCause_0, t3);
        if (this._shouldShowSelectionToolbar) {
          t1 = t1.get$editableTextKey().get$currentState();
          t1.toString;
          t1.showToolbar$0();
        }
      }
    },
    onDragSelectionStart$1(details) {
      var kind, t2, t3, _this = this,
        t1 = _this.delegate;
      if (!t1.get$selectionEnabled())
        return;
      kind = details.kind;
      _this._shouldShowSelectionToolbar = kind == null || kind === B.PointerDeviceKind_0 || kind === B.PointerDeviceKind_2;
      t2 = $.ServicesBinding__instance.ServicesBinding___ServicesBinding__keyboard;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2._pressedKeys;
      t2 = t2.get$values(t2);
      t2 = A.LinkedHashSet_LinkedHashSet$of(t2, A._instanceType(t2)._eval$1("Iterable.E"));
      t3 = A.LinkedHashSet_LinkedHashSet$_literal([B.LogicalKeyboardKey_8589934850, B.LogicalKeyboardKey_8589934851], type$.LogicalKeyboardKey);
      if (t2.any$1(0, t3.get$contains(t3))) {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        t3 = type$.RenderEditable;
        t3._as(t2);
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        t2 = t3._as(t2)._selection.get$isValid();
      } else
        t2 = false;
      if (t2) {
        _this._isShiftTapping = true;
        switch (A.defaultTargetPlatform().index) {
          case 2:
          case 4:
            _this._text_selection$_expandSelection$2(details.globalPosition, B.SelectionChangedCause_6);
            break;
          case 0:
          case 1:
          case 3:
          case 5:
            _this._extendSelection$2(details.globalPosition, B.SelectionChangedCause_6);
            break;
        }
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        _this._shiftTapDragSelection = type$.RenderEditable._as(t2)._selection;
      } else {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        type$.RenderEditable._as(t2).selectPositionAt$2$cause$from(B.SelectionChangedCause_6, details.globalPosition);
      }
      t1 = t1.get$editableTextKey().get$currentState();
      t1.toString;
      t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
      t1.toString;
      t1 = type$.RenderEditable._as(t1)._editable$_offset._pixels;
      t1.toString;
      _this._dragStartViewportOffset = t1;
    },
    onDragSelectionUpdate$2(startDetails, updateDetails) {
      var t2, t3, startOffset, selection, nextExtent, t4, t5, isInverted, _this = this,
        t1 = _this.delegate;
      if (!t1.get$selectionEnabled())
        return;
      if (!_this._isShiftTapping) {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
        t2.toString;
        t3 = type$.RenderEditable;
        if (t3._as(t2)._maxLines === 1) {
          t2 = t1.get$editableTextKey().get$currentState();
          t2.toString;
          t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
          t2.toString;
          t2 = t3._as(t2)._editable$_offset._pixels;
          t2.toString;
          startOffset = new A.Offset(t2 - _this._dragStartViewportOffset, 0);
        } else {
          t2 = t1.get$editableTextKey().get$currentState();
          t2.toString;
          t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
          t2.toString;
          t2 = t3._as(t2)._editable$_offset._pixels;
          t2.toString;
          startOffset = new A.Offset(0, t2 - _this._dragStartViewportOffset);
        }
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t1 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t1._editableKey).get$renderObject();
        t1.toString;
        return t3._as(t1).selectPositionAt$3$cause$from$to(B.SelectionChangedCause_6, startDetails.globalPosition.$sub(0, startOffset), updateDetails.globalPosition);
      }
      t2 = _this._shiftTapDragSelection;
      if (t2.start !== t2.end)
        t2 = A.defaultTargetPlatform() !== B.TargetPlatform_2 && A.defaultTargetPlatform() !== B.TargetPlatform_4;
      else
        t2 = true;
      if (t2)
        return _this._extendSelection$2(updateDetails.globalPosition, B.SelectionChangedCause_6);
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      selection = t2._widget.controller._change_notifier$_value.selection;
      t2 = t1.get$editableTextKey().get$currentState();
      t2.toString;
      t2 = $.WidgetsBinding__instance.WidgetsBinding__buildOwner._globalKeyRegistry.$index(0, t2._editableKey).get$renderObject();
      t2.toString;
      t3 = updateDetails.globalPosition;
      nextExtent = type$.RenderEditable._as(t2).getPositionForPoint$1(t3);
      t2 = _this._shiftTapDragSelection;
      t4 = t2.baseOffset;
      t5 = nextExtent.offset;
      isInverted = t4 < t2.extentOffset ? t5 < t4 : t5 > t4;
      if (isInverted && selection.baseOffset === t4) {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t2.userUpdateTextEditingValue$2(t1._widget.controller._change_notifier$_value.copyWith$1$selection(A.TextSelection$(B.TextAffinity_1, _this._shiftTapDragSelection.extentOffset, t5, false)), B.SelectionChangedCause_6);
      } else if (!isInverted && t5 !== t4 && selection.baseOffset !== t4) {
        t2 = t1.get$editableTextKey().get$currentState();
        t2.toString;
        t1 = t1.get$editableTextKey().get$currentState();
        t1.toString;
        t2.userUpdateTextEditingValue$2(t1._widget.controller._change_notifier$_value.copyWith$1$selection(A.TextSelection$(B.TextAffinity_1, _this._shiftTapDragSelection.baseOffset, t5, false)), B.SelectionChangedCause_6);
      } else
        _this._extendSelection$2(t3, B.SelectionChangedCause_6);
    },
    onDragSelectionEnd$1(details) {
      if (this._isShiftTapping) {
        this._isShiftTapping = false;
        this._shiftTapDragSelection = null;
      }
    },
    buildGestureDetector$2$behavior$child(behavior, child) {
      var _this = this,
        t1 = _this.delegate,
        t2 = t1.get$forcePressEnabled() ? _this.get$onForcePressStart() : null;
      t1 = t1.get$forcePressEnabled() ? _this.get$onForcePressEnd() : null;
      return new A.TextSelectionGestureDetector(_this.get$onTapDown(), t2, t1, _this.get$onSecondaryTap(), _this.get$onSecondaryTapDown(), _this.get$onSingleTapUp(), _this.get$onSingleTapCancel(), _this.get$onSingleLongTapStart(), _this.get$onSingleLongTapMoveUpdate(), _this.get$onSingleLongTapEnd(), _this.get$onDoubleTapDown(), _this.get$onDragSelectionStart(), _this.get$onDragSelectionUpdate(), _this.get$onDragSelectionEnd(), behavior, child, null);
    }
  };
  A.TextSelectionGestureDetector.prototype = {
    createState$0() {
      return new A._TextSelectionGestureDetectorState(B._StateLifecycle_0);
    }
  };
  A._TextSelectionGestureDetectorState.prototype = {
    dispose$0() {
      var t1 = this._text_selection$_doubleTapTimer;
      if (t1 != null)
        t1.cancel$0(0);
      t1 = this._dragUpdateThrottleTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this.super$State$dispose();
    },
    _text_selection$_handleTapDown$1(details) {
      var _this = this;
      _this._widget.onTapDown.call$1(details);
      if (_this._text_selection$_doubleTapTimer != null && _this._isWithinDoubleTapTolerance$1(details.globalPosition)) {
        _this._widget.onDoubleTapDown.call$1(details);
        _this._text_selection$_doubleTapTimer.cancel$0(0);
        _this._lastTapOffset = _this._text_selection$_doubleTapTimer = null;
        _this._isDoubleTap = true;
      }
    },
    _text_selection$_handleTapUp$1(details) {
      var _this = this;
      if (!_this._isDoubleTap) {
        _this._widget.onSingleTapUp.call$1(details);
        _this._lastTapOffset = details.globalPosition;
        _this._text_selection$_doubleTapTimer = A.Timer_Timer(B.Duration_300000, _this.get$_doubleTapTimeout());
      }
      _this._isDoubleTap = false;
    },
    _text_selection$_handleTapCancel$0() {
      this._widget.onSingleTapCancel.call$0();
    },
    _text_selection$_handleDragStart$1(details) {
      this._lastDragStartDetails = details;
      this._widget.onDragSelectionStart.call$1(details);
    },
    _text_selection$_handleDragUpdate$1(details) {
      var _this = this;
      _this._lastDragUpdateDetails = details;
      if (_this._dragUpdateThrottleTimer == null)
        _this._dragUpdateThrottleTimer = A.Timer_Timer(B.Duration_50000, _this.get$_handleDragUpdateThrottled());
    },
    _handleDragUpdateThrottled$0() {
      var t3, _this = this,
        t1 = _this._widget.onDragSelectionUpdate,
        t2 = _this._lastDragStartDetails;
      t2.toString;
      t3 = _this._lastDragUpdateDetails;
      t3.toString;
      t1.call$2(t2, t3);
      _this._lastDragUpdateDetails = _this._dragUpdateThrottleTimer = null;
    },
    _text_selection$_handleDragEnd$1(details) {
      var _this = this,
        t1 = _this._dragUpdateThrottleTimer;
      if (t1 != null) {
        t1.cancel$0(0);
        _this._handleDragUpdateThrottled$0();
      }
      _this._widget.onDragSelectionEnd.call$1(details);
      _this._lastDragUpdateDetails = _this._lastDragStartDetails = _this._dragUpdateThrottleTimer = null;
    },
    _forcePressStarted$1(details) {
      var t1 = this._text_selection$_doubleTapTimer;
      if (t1 != null)
        t1.cancel$0(0);
      this._text_selection$_doubleTapTimer = null;
      t1 = this._widget.onForcePressStart;
      if (t1 != null)
        t1.call$1(details);
    },
    _forcePressEnded$1(details) {
      var t1 = this._widget.onForcePressEnd;
      if (t1 != null)
        t1.call$1(details);
    },
    _handleLongPressStart$1(details) {
      var t1;
      if (!this._isDoubleTap) {
        this._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        this._widget.onSingleLongTapStart.call$1(details);
    },
    _handleLongPressMoveUpdate$1(details) {
      var t1;
      if (!this._isDoubleTap) {
        this._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        this._widget.onSingleLongTapMoveUpdate.call$1(details);
    },
    _handleLongPressEnd$1(details) {
      var t1, _this = this;
      if (!_this._isDoubleTap) {
        _this._widget.toString;
        t1 = true;
      } else
        t1 = false;
      if (t1)
        _this._widget.onSingleLongTapEnd.call$1(details);
      _this._isDoubleTap = false;
    },
    _doubleTapTimeout$0() {
      this._lastTapOffset = this._text_selection$_doubleTapTimer = null;
    },
    _isWithinDoubleTapTolerance$1(secondTapOffset) {
      var t1 = this._lastTapOffset;
      if (t1 == null)
        return false;
      return secondTapOffset.$sub(0, t1).get$distance() <= 100;
    },
    build$1(context) {
      var t1, t2, _this = this,
        gestures = A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.GestureRecognizerFactory_GestureRecognizer);
      gestures.$indexSet(0, B.Type_TapGestureRecognizer_62h, new A.GestureRecognizerFactoryWithHandlers(new A._TextSelectionGestureDetectorState_build_closure(_this), new A._TextSelectionGestureDetectorState_build_closure0(_this), type$.GestureRecognizerFactoryWithHandlers_TapGestureRecognizer));
      _this._widget.toString;
      gestures.$indexSet(0, B.Type_LongPressGestureRecognizer_46y, new A.GestureRecognizerFactoryWithHandlers(new A._TextSelectionGestureDetectorState_build_closure1(_this), new A._TextSelectionGestureDetectorState_build_closure2(_this), type$.GestureRecognizerFactoryWithHandlers_LongPressGestureRecognizer));
      _this._widget.toString;
      gestures.$indexSet(0, B.Type_PanGestureRecognizer_bbH, new A.GestureRecognizerFactoryWithHandlers(new A._TextSelectionGestureDetectorState_build_closure3(_this), new A._TextSelectionGestureDetectorState_build_closure4(_this), type$.GestureRecognizerFactoryWithHandlers_PanGestureRecognizer));
      t1 = _this._widget;
      if (t1.onForcePressStart != null || t1.onForcePressEnd != null)
        gestures.$indexSet(0, B.Type_ForcePressGestureRecognizer_TN2, new A.GestureRecognizerFactoryWithHandlers(new A._TextSelectionGestureDetectorState_build_closure5(_this), new A._TextSelectionGestureDetectorState_build_closure6(_this), type$.GestureRecognizerFactoryWithHandlers_ForcePressGestureRecognizer));
      t1 = _this._widget;
      t2 = t1.behavior;
      return new A.RawGestureDetector(t1.child, gestures, t2, true, null, null);
    }
  };
  A._TextSelectionGestureDetectorState_build_closure.prototype = {
    call$0() {
      return A.TapGestureRecognizer$(this.$this);
    },
    $signature: 257
  };
  A._TextSelectionGestureDetectorState_build_closure0.prototype = {
    call$1(instance) {
      var t1 = this.$this,
        t2 = t1._widget;
      instance.onSecondaryTap = t2.onSecondaryTap;
      instance.onSecondaryTapDown = t2.onSecondaryTapDown;
      instance.onTapDown = t1.get$_text_selection$_handleTapDown();
      instance.onTapUp = t1.get$_text_selection$_handleTapUp();
      instance.onTapCancel = t1.get$_text_selection$_handleTapCancel();
    },
    $signature: 256
  };
  A._TextSelectionGestureDetectorState_build_closure1.prototype = {
    call$0() {
      return A.LongPressGestureRecognizer$(this.$this, null, B.PointerDeviceKind_0);
    },
    $signature: 255
  };
  A._TextSelectionGestureDetectorState_build_closure2.prototype = {
    call$1(instance) {
      var t1 = this.$this;
      instance.onLongPressStart = t1.get$_handleLongPressStart();
      instance.onLongPressMoveUpdate = t1.get$_handleLongPressMoveUpdate();
      instance.onLongPressEnd = t1.get$_handleLongPressEnd();
    },
    $signature: 253
  };
  A._TextSelectionGestureDetectorState_build_closure3.prototype = {
    call$0() {
      return A.PanGestureRecognizer$(this.$this, A.LinkedHashSet_LinkedHashSet$_literal([B.PointerDeviceKind_1], type$.PointerDeviceKind));
    },
    $signature: 177
  };
  A._TextSelectionGestureDetectorState_build_closure4.prototype = {
    call$1(instance) {
      var t1;
      instance.dragStartBehavior = B.DragStartBehavior_0;
      t1 = this.$this;
      instance.onStart = t1.get$_text_selection$_handleDragStart();
      instance.onUpdate = t1.get$_text_selection$_handleDragUpdate();
      instance.onEnd = t1.get$_text_selection$_handleDragEnd();
    },
    $signature: 200
  };
  A._TextSelectionGestureDetectorState_build_closure5.prototype = {
    call$0() {
      return A.ForcePressGestureRecognizer$(this.$this);
    },
    $signature: 1007
  };
  A._TextSelectionGestureDetectorState_build_closure6.prototype = {
    call$1(instance) {
      var t1 = this.$this,
        t2 = t1._widget;
      instance.onStart = t2.onForcePressStart != null ? t1.get$_forcePressStarted() : null;
      instance.onEnd = t2.onForcePressEnd != null ? t1.get$_forcePressEnded() : null;
    },
    $signature: 1008
  };
  A.__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin.prototype = {
    dispose$0() {
      var _this = this,
        t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = null;
      _this.super$State$dispose();
    },
    activate$0() {
      this.super$State$activate();
      this._updateTickerModeNotifier$0();
      this._updateTicker$0();
    }
  };
  A.TickerMode.prototype = {
    createState$0() {
      return new A._TickerModeState(new A.ValueNotifier(true, $.$get$ChangeNotifier__emptyListeners(), type$.ValueNotifier_bool), B._StateLifecycle_0);
    }
  };
  A._TickerModeState.prototype = {
    didChangeDependencies$0() {
      var t1, _this = this;
      _this.super$State$didChangeDependencies();
      t1 = _this._framework$_element;
      t1.toString;
      _this._ancestorTicketMode = A.TickerMode_of(t1);
      _this._updateEffectiveMode$0();
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._updateEffectiveMode$0();
    },
    dispose$0() {
      var t1 = this._effectiveMode;
      t1.ChangeNotifier__listeners = $.$get$ChangeNotifier__emptyListeners();
      t1.ChangeNotifier__count = 0;
      this.super$State$dispose();
    },
    _updateEffectiveMode$0() {
      var t1 = this._ancestorTicketMode && this._widget.enabled;
      this._effectiveMode.set$value(0, t1);
    },
    build$1(context) {
      var t1 = this._effectiveMode;
      return new A._EffectiveTickerMode(t1._change_notifier$_value, t1, this._widget.child, null);
    }
  };
  A._EffectiveTickerMode.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.enabled !== oldWidget.enabled;
    }
  };
  A.SingleTickerProviderStateMixin.prototype = {
    createTicker$1(onTick) {
      var t1, _this = this;
      _this.SingleTickerProviderStateMixin__ticker = new A.Ticker(onTick, null);
      _this._updateTickerModeNotifier$0();
      _this._updateTicker$0();
      t1 = _this.SingleTickerProviderStateMixin__ticker;
      t1.toString;
      return t1;
    },
    _updateTicker$0() {
      var t1 = this.SingleTickerProviderStateMixin__ticker;
      if (t1 != null)
        t1.set$muted(0, !this.SingleTickerProviderStateMixin__tickerModeNotifier._change_notifier$_value);
    },
    _updateTickerModeNotifier$0() {
      var newNotifier, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      newNotifier = A.TickerMode_getNotifier(t1);
      t1 = _this.SingleTickerProviderStateMixin__tickerModeNotifier;
      if (newNotifier === t1)
        return;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTicker());
      newNotifier.addListener$1(0, _this.get$_updateTicker());
      _this.SingleTickerProviderStateMixin__tickerModeNotifier = newNotifier;
    }
  };
  A.TickerProviderStateMixin.prototype = {
    createTicker$1(onTick) {
      var result, _this = this;
      if (_this.TickerProviderStateMixin__tickerModeNotifier == null)
        _this._updateTickerModeNotifier$0();
      if (_this.TickerProviderStateMixin__tickers == null)
        _this.TickerProviderStateMixin__tickers = A.LinkedHashSet_LinkedHashSet$_empty(type$._WidgetTicker);
      result = new A._WidgetTicker(_this, onTick, null);
      result.set$muted(0, !_this.TickerProviderStateMixin__tickerModeNotifier._change_notifier$_value);
      _this.TickerProviderStateMixin__tickers.add$1(0, result);
      return result;
    },
    _updateTickers$0() {
      var muted, t2, t3,
        t1 = this.TickerProviderStateMixin__tickers;
      if (t1 != null) {
        muted = !this.TickerProviderStateMixin__tickerModeNotifier._change_notifier$_value;
        for (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).set$muted(0, muted);
        }
      }
    },
    _updateTickerModeNotifier$0() {
      var newNotifier, _this = this,
        t1 = _this._framework$_element;
      t1.toString;
      newNotifier = A.TickerMode_getNotifier(t1);
      t1 = _this.TickerProviderStateMixin__tickerModeNotifier;
      if (newNotifier === t1)
        return;
      if (t1 != null)
        t1.removeListener$1(0, _this.get$_updateTickers());
      newNotifier.addListener$1(0, _this.get$_updateTickers());
      _this.TickerProviderStateMixin__tickerModeNotifier = newNotifier;
    }
  };
  A._WidgetTicker.prototype = {
    dispose$0() {
      this._creator.TickerProviderStateMixin__tickers.remove$1(0, this);
      this.super$Ticker$dispose();
    }
  };
  A.Title.prototype = {
    build$1(context) {
      A.SystemChrome_setApplicationSwitcherDescription(new A.ApplicationSwitcherDescription(this.title, this.color.value));
      return this.child;
    }
  };
  A.AnimatedWidget.prototype = {
    createState$0() {
      return new A._AnimatedState(B._StateLifecycle_0);
    }
  };
  A._AnimatedState.prototype = {
    initState$0() {
      this.super$State$initState();
      this._widget.listenable.addListener$1(0, this.get$_handleChange());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.listenable;
      if (!_this._widget.listenable.$eq(0, t1)) {
        t2 = _this.get$_handleChange();
        t1.removeListener$1(0, t2);
        _this._widget.listenable.addListener$1(0, t2);
      }
    },
    dispose$0() {
      this._widget.listenable.removeListener$1(0, this.get$_handleChange());
      this.super$State$dispose();
    },
    _handleChange$0() {
      this.setState$1(new A._AnimatedState__handleChange_closure());
    },
    build$1(context) {
      return this._widget.build$1(context);
    }
  };
  A._AnimatedState__handleChange_closure.prototype = {
    call$0() {
    },
    $signature: 0
  };
  A.SlideTransition.prototype = {
    build$1(context) {
      var _this = this,
        t1 = type$.Animation_Offset._as(_this.listenable),
        offset = t1.get$value(t1);
      if (_this.textDirection === B.TextDirection_0)
        offset = new A.Offset(-offset._dx, offset._dy);
      return A.FractionalTranslation$(_this.child, _this.transformHitTests, offset);
    }
  };
  A.ScaleTransition.prototype = {
    build$1(context) {
      var t1 = type$.Animation_double._as(this.listenable);
      switch (t1.get$status(t1)) {
        case B.AnimationStatus_0:
        case B.AnimationStatus_3:
          break;
        case B.AnimationStatus_1:
        case B.AnimationStatus_2:
          break;
      }
      t1 = t1.get$value(t1);
      return A.Transform$scale(B.Alignment_0_0, this.child, null, t1);
    }
  };
  A.RotationTransition.prototype = {
    build$1(context) {
      var t1 = type$.Animation_double._as(this.listenable);
      switch (t1.get$status(t1)) {
        case B.AnimationStatus_0:
        case B.AnimationStatus_3:
          break;
        case B.AnimationStatus_1:
        case B.AnimationStatus_2:
          break;
      }
      t1 = t1.get$value(t1);
      return A.Transform$rotate(B.Alignment_0_0, t1 * 3.141592653589793 * 2, this.child, null);
    }
  };
  A.SizeTransition.prototype = {
    build$1(context) {
      var _this = this, _null = null,
        t1 = _this.axis,
        t2 = t1 === B.Axis_1,
        alignment = t2 ? new A.AlignmentDirectional(-1, 0) : new A.AlignmentDirectional(0, -1);
      if (t2) {
        t2 = type$.Animation_double._as(_this.listenable);
        t2 = Math.max(A.checkNum(t2.get$value(t2)), 0);
      } else
        t2 = _null;
      if (t1 === B.Axis_0) {
        t1 = type$.Animation_double._as(_this.listenable);
        t1 = Math.max(A.checkNum(t1.get$value(t1)), 0);
      } else
        t1 = _null;
      return A.ClipRect$(new A.Align(alignment, t1, t2, _this.child, _null), B.Clip_1, _null);
    }
  };
  A.FadeTransition.prototype = {
    createRenderObject$1(context) {
      var _null = null,
        t1 = new A.RenderAnimatedOpacity(_null, _null, _null, _null, _null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.set$child(_null);
      t1.set$opacity(0, this.opacity);
      t1.set$alwaysIncludeSemantics(this.alwaysIncludeSemantics);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      renderObject.set$opacity(0, this.opacity);
      renderObject.set$alwaysIncludeSemantics(this.alwaysIncludeSemantics);
    }
  };
  A.DecoratedBoxTransition.prototype = {
    build$1(context) {
      var t1 = this.decoration,
        t2 = t1.parent;
      return A.DecoratedBox$(this.child, t1._evaluatable.transform$1(0, t2.get$value(t2)), B.DecorationPosition_0);
    }
  };
  A.AnimatedBuilder.prototype = {
    build$1(context) {
      return this.builder.call$2(context, this.child);
    }
  };
  A.TweenAnimationBuilder.prototype = {
    createState$0() {
      return new A._TweenAnimationBuilderState(null, null, B._StateLifecycle_0, this.$ti._eval$1("_TweenAnimationBuilderState<1>"));
    }
  };
  A._TweenAnimationBuilderState.prototype = {
    initState$0() {
      var _this = this,
        t1 = _this._currentTween = _this._widget.tween;
      if (t1.begin == null)
        t1.begin = t1.end;
      _this.super$AnimatedWidgetBaseState$initState();
      t1 = _this._currentTween;
      if (!J.$eq$(t1.begin, t1.end))
        _this.get$_implicit_animations$_controller().forward$0(0);
    },
    forEachTween$1(visitor) {
      var _this = this;
      _this._currentTween = _this.$ti._eval$1("Tween<1>?")._as(visitor.call$3(_this._currentTween, _this._widget.tween.end, new A._TweenAnimationBuilderState_forEachTween_closure()));
    },
    build$1(context) {
      var t2, t3, _this = this,
        t1 = _this._widget;
      t1.toString;
      t2 = _this._currentTween;
      t2.toString;
      t3 = _this.get$_implicit_animations$_animation();
      t3 = t2.transform$1(0, t3.get$value(t3));
      _this._widget.toString;
      return t1.builder.call$3(context, t3, null);
    }
  };
  A._TweenAnimationBuilderState_forEachTween_closure.prototype = {
    call$1(value) {
      throw A.wrapException(A.StateError$("Constructor will never be called because null is never provided as current tween."));
    },
    $signature: 353
  };
  A.ValueListenableBuilder.prototype = {
    createState$0() {
      return new A._ValueListenableBuilderState(B._StateLifecycle_0, this.$ti._eval$1("_ValueListenableBuilderState<1>"));
    }
  };
  A._ValueListenableBuilderState.prototype = {
    initState$0() {
      var t1, _this = this;
      _this.super$State$initState();
      t1 = _this._widget.valueListenable;
      _this.___ValueListenableBuilderState_value = t1.get$value(t1);
      _this._widget.valueListenable.addListener$1(0, _this.get$_valueChanged());
    },
    didUpdateWidget$1(oldWidget) {
      var t1, t2, _this = this;
      _this.super$State$didUpdateWidget(oldWidget);
      t1 = oldWidget.valueListenable;
      if (t1 != _this._widget.valueListenable) {
        t2 = _this.get$_valueChanged();
        t1.removeListener$1(0, t2);
        t1 = _this._widget.valueListenable;
        _this.___ValueListenableBuilderState_value = t1.get$value(t1);
        _this._widget.valueListenable.addListener$1(0, t2);
      }
    },
    dispose$0() {
      this._widget.valueListenable.removeListener$1(0, this.get$_valueChanged());
      this.super$State$dispose();
    },
    _valueChanged$0() {
      this.setState$1(new A._ValueListenableBuilderState__valueChanged_closure(this));
    },
    build$1(context) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this.___ValueListenableBuilderState_value;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.builder.call$3(context, t2, t1.child);
    }
  };
  A._ValueListenableBuilderState__valueChanged_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._widget.valueListenable;
      t1.___ValueListenableBuilderState_value = t2.get$value(t2);
    },
    $signature: 0
  };
  A.Viewport.prototype = {
    createRenderObject$1(context) {
      var _this = this,
        t1 = _this.axisDirection,
        t2 = A.Viewport_getDefaultCrossAxisDirection(context, t1),
        t3 = _this.cacheExtent,
        t4 = A.LayerHandle$(type$.ClipRectLayer);
      if (t3 == null)
        t3 = 250;
      t4 = new A.RenderViewport(_this.anchor, t1, t2, _this.offset, t3, _this.cacheExtentStyle, _this.clipBehavior, t4, 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t4.RenderObject$0();
      t4.addAll$1(0, null);
      t1 = t4.ContainerRenderObjectMixin__firstChild;
      if (t1 != null)
        t4._viewport$_center = t1;
      return t4;
    },
    updateRenderObject$2(context, renderObject) {
      var _this = this,
        t1 = _this.axisDirection;
      renderObject.set$axisDirection(t1);
      t1 = A.Viewport_getDefaultCrossAxisDirection(context, t1);
      renderObject.set$crossAxisDirection(t1);
      renderObject.set$anchor(_this.anchor);
      renderObject.set$offset(0, _this.offset);
      renderObject.set$cacheExtent(_this.cacheExtent);
      renderObject.set$cacheExtentStyle(_this.cacheExtentStyle);
      renderObject.set$clipBehavior(_this.clipBehavior);
    },
    createElement$0(_) {
      return new A._ViewportElement(A.HashSet_HashSet(type$.Element_2), this, B._ElementLifecycle_0);
    }
  };
  A._ViewportElement.prototype = {
    get$renderObject() {
      return type$.RenderViewport._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(this));
    },
    mount$2($parent, newSlot) {
      var _this = this;
      _this._doingMountOrUpdate = true;
      _this.super$MultiChildRenderObjectElement$mount($parent, newSlot);
      _this._updateCenter$0();
      _this._doingMountOrUpdate = false;
    },
    update$1(_, newWidget) {
      var _this = this;
      _this._doingMountOrUpdate = true;
      _this.super$MultiChildRenderObjectElement$update(0, newWidget);
      _this._updateCenter$0();
      _this._doingMountOrUpdate = false;
    },
    _updateCenter$0() {
      var t2, _this = this,
        t1 = _this._widget;
      t1.toString;
      type$.Viewport._as(t1);
      t1 = _this.get$children(_this);
      t2 = type$.RenderViewport;
      if (!t1.get$isEmpty(t1)) {
        t1 = t2._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this));
        t2 = _this.get$children(_this);
        t1.set$center(type$.nullable_RenderSliver._as(t2.get$first(t2).get$renderObject()));
        _this._centerSlotIndex = 0;
      } else {
        t2._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this)).set$center(null);
        _this._centerSlotIndex = null;
      }
    },
    insertRenderObjectChild$2(child, slot) {
      var _this = this;
      _this.super$MultiChildRenderObjectElement$insertRenderObjectChild(child, slot);
      if (!_this._doingMountOrUpdate && slot.index === _this._centerSlotIndex)
        type$.RenderViewport._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this)).set$center(type$.nullable_RenderSliver._as(child));
    },
    moveRenderObjectChild$3(child, oldSlot, newSlot) {
      this.super$MultiChildRenderObjectElement$moveRenderObjectChild(child, oldSlot, newSlot);
    },
    removeRenderObjectChild$2(child, slot) {
      var _this = this;
      _this.super$MultiChildRenderObjectElement$removeRenderObjectChild(child, slot);
      if (!_this._doingMountOrUpdate && type$.RenderViewport._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this))._viewport$_center === child)
        type$.RenderViewport._as(A.MultiChildRenderObjectElement.prototype.get$renderObject.call(_this)).set$center(null);
    }
  };
  A.ShrinkWrappingViewport.prototype = {
    createRenderObject$1(context) {
      var t1 = this.axisDirection,
        t2 = A.Viewport_getDefaultCrossAxisDirection(context, t1),
        t3 = A.LayerHandle$(type$.ClipRectLayer);
      t1 = new A.RenderShrinkWrappingViewport(t1, t2, this.offset, 250, B.CacheExtentStyle_0, this.clipBehavior, t3, 0, null, null, A.LayerHandle$(type$.ContainerLayer_2));
      t1.RenderObject$0();
      t1.addAll$1(0, null);
      return t1;
    },
    updateRenderObject$2(context, renderObject) {
      var t1 = this.axisDirection;
      renderObject.set$axisDirection(t1);
      t1 = A.Viewport_getDefaultCrossAxisDirection(context, t1);
      renderObject.set$crossAxisDirection(t1);
      renderObject.set$offset(0, this.offset);
      renderObject.set$clipBehavior(this.clipBehavior);
    }
  };
  A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin.prototype = {};
  A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin.prototype = {};
  A.WidgetSpan.prototype = {
    build$3$dimensions$textScaleFactor(builder, dimensions, textScaleFactor) {
      var currentDimensions,
        t1 = this.style,
        hasStyle = t1 != null;
      if (hasStyle)
        builder.pushStyle$1(t1.getTextStyle$1$textScaleFactor(textScaleFactor));
      dimensions.toString;
      currentDimensions = dimensions[builder.get$placeholderCount()];
      t1 = currentDimensions.size;
      builder.addPlaceholder$6$baseline$baselineOffset$scale(t1._dx, t1._dy, this.alignment, currentDimensions.baseline, currentDimensions.baselineOffset, textScaleFactor);
      if (hasStyle)
        builder.pop$0();
    },
    visitChildren$1(visitor) {
      return visitor.call$1(this);
    },
    getSpanForPositionVisitor$2(position, offset) {
      var t1 = offset._inline_span$_value;
      if (position.offset === t1)
        return this;
      offset._inline_span$_value = t1 + 1;
      return null;
    },
    codeUnitAtVisitor$2(index, offset) {
      ++offset._inline_span$_value;
      return 65532;
    },
    compareTo$1(_, other) {
      var t1, t2, t3, candidate, result, _this = this;
      if (_this === other)
        return B.RenderComparison_0;
      if (A.getRuntimeType(other) !== A.getRuntimeType(_this))
        return B.RenderComparison_3;
      t1 = _this.style;
      t2 = t1 == null;
      t3 = other.style;
      if (t2 !== (t3 == null))
        return B.RenderComparison_3;
      type$.WidgetSpan._as(other);
      if (!_this.child.super$Object$$eq(0, other.child) || _this.alignment !== other.alignment)
        return B.RenderComparison_3;
      if (!t2) {
        t3.toString;
        candidate = t1.compareTo$1(0, t3);
        result = candidate.index > 0 ? candidate : B.RenderComparison_0;
        if (result === B.RenderComparison_3)
          return result;
      } else
        result = B.RenderComparison_0;
      return result;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== A.getRuntimeType(_this))
        return false;
      if (!_this.super$InlineSpan$$eq(0, other))
        return false;
      return other instanceof A.WidgetSpan && other.child.super$Object$$eq(0, _this.child) && other.alignment === _this.alignment && true;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(A.InlineSpan.prototype.get$hashCode.call(_this, _this), _this.child, _this.alignment, _this.baseline, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.kDefaultImageBuilder_closure.prototype = {
    call$4(uri, imageDirectory, width, height) {
      if (uri.get$scheme() === "http" || uri.get$scheme() === "https")
        return A.Image$network(uri.toString$0(0), height, width);
      else if (uri.get$scheme() === "data")
        return A._handleDataSchemeUri(uri, width, height);
      else if (uri.get$scheme() === "resource")
        return A.Image$asset(uri.get$path(uri), B.Alignment_0_0, null, null, height, B.ImageRepeat_3, width);
      else if (uri.get$scheme() === "http" || uri.get$scheme() === "https")
        return A.Image$network(uri.toString$0(0), height, width);
      else
        return A.Image$network(A.join(A.current(), uri.toString$0(0)), height, width);
    },
    $signature: 1009
  };
  A.kFallbackStyle_closure.prototype = {
    call$2(context, baseTheme) {
      var result;
      switch (baseTheme) {
        case B.MarkdownStyleSheetBaseTheme_2:
          result = B.JSString_methods.contains$1(window.navigator.userAgent, "Mac OS X") ? A.MarkdownStyleSheet_MarkdownStyleSheet$fromCupertinoTheme(A.CupertinoTheme_of(context)) : A.MarkdownStyleSheet_MarkdownStyleSheet$fromTheme(A.Theme_of(context));
          break;
        case B.MarkdownStyleSheetBaseTheme_1:
          result = A.MarkdownStyleSheet_MarkdownStyleSheet$fromCupertinoTheme(A.CupertinoTheme_of(context));
          break;
        case B.MarkdownStyleSheetBaseTheme_0:
        default:
          result = A.MarkdownStyleSheet_MarkdownStyleSheet$fromTheme(A.Theme_of(context));
      }
      return result.copyWith$1$textScaleFactor(A.MediaQuery_textScaleFactorOf(context));
    },
    $signature: 1010
  };
  A._BlockElement.prototype = {};
  A._TableElement0.prototype = {};
  A._InlineElement.prototype = {};
  A.MarkdownBuilder.prototype = {
    build$1(nodes) {
      var t1, t2, _i, _this = this;
      B.JSArray_methods.clear$0(_this._listIndents);
      t1 = _this._blocks;
      B.JSArray_methods.clear$0(t1);
      B.JSArray_methods.clear$0(_this._tables);
      B.JSArray_methods.clear$0(_this._inlines);
      B.JSArray_methods.clear$0(_this._linkHandlers);
      _this._isInBlockquote = false;
      t1.push(new A._BlockElement(null, A._setArrayType([], type$.JSArray_Widget)));
      for (t2 = nodes.length, _i = 0; _i < nodes.length; nodes.length === t2 || (0, A.throwConcurrentModificationError)(nodes), ++_i)
        J.accept$1$x(nodes[_i], _this);
      return B.JSArray_methods.get$single(t1).children;
    },
    visitElementBefore$1(element) {
      var t1, start, $length, decoration, bElement, text, destination, title, t2, _this = this, _null = null,
        tag = element.tag;
      if (_this._currentBlockTag == null)
        _this._currentBlockTag = tag;
      _this._lastVisitedTag = tag;
      t1 = _this.builders;
      if (t1.containsKey$1(0, tag))
        t1.$index(0, tag).visitElementBefore$1(element);
      t1 = _this.paddingBuilders;
      if (t1.containsKey$1(0, tag))
        t1.$index(0, tag).visitElementBefore$1(element);
      if (B.JSArray_methods.contains$1(B.List_atK, tag)) {
        _this._addAnonymousBlockIfNeeded$0();
        if (B.JSArray_methods.contains$1(B.List_ul_ol, tag)) {
          _this._listIndents.push(tag);
          t1 = element.attributes;
          if (t1.$index(0, "start") != null) {
            t1 = t1.$index(0, "start");
            t1.toString;
            start = A.int_parse(t1, _null) - 1;
          } else
            start = _null;
        } else {
          if (tag === "blockquote")
            _this._isInBlockquote = true;
          else if (tag === "table")
            _this._tables.push(new A._TableElement0(A._setArrayType([], type$.JSArray_TableRow)));
          else if (tag === "tr") {
            t1 = _this._tables;
            $length = B.JSArray_methods.get$single(t1).rows.length;
            decoration = _this.styleSheet.tableCellsDecoration;
            if ($length === 0 || ($length & 1) === 1)
              decoration = _null;
            B.JSArray_methods.get$single(t1).rows.push(new A.TableRow0(_null, decoration, A._setArrayType([], type$.JSArray_Widget)));
          }
          start = _null;
        }
        bElement = new A._BlockElement(tag, A._setArrayType([], type$.JSArray_Widget));
        if (start != null)
          bElement.nextListIndex = start;
        _this._blocks.push(bElement);
      } else {
        if (tag === "a") {
          text = _this.extractTextFromElement$1(element);
          if (text == null)
            return false;
          t1 = element.attributes;
          destination = t1.$index(0, "href");
          title = t1.$index(0, "title");
          if (title == null)
            title = "";
          _this._linkHandlers.push(_this.delegate.createLink$3(text, destination, title));
        }
        _this._addParentInlineIfNeeded$1(B.JSArray_methods.get$last(_this._blocks).tag);
        if (tag === "td") {
          t1 = element.children;
          t1 = t1 != null && J.get$isEmpty$asx(t1);
        } else
          t1 = false;
        if (t1) {
          t1 = element.children;
          t1.toString;
          J.add$1$ax(t1, new A.Text0(""));
        }
        t1 = _this._inlines;
        t2 = B.JSArray_methods.get$last(t1).style;
        t2.toString;
        t1.push(new A._InlineElement(t2.merge$1(J.$index$asx(_this.styleSheet._styles, tag)), A._setArrayType([], type$.JSArray_Widget)));
      }
      return true;
    },
    extractTextFromElement$1(element) {
      var t2,
        t1 = element instanceof A.Element0;
      if (t1) {
        t2 = element.children;
        t2 = t2 == null ? null : J.get$isNotEmpty$asx(t2);
        t2 = t2 === true;
      } else
        t2 = false;
      if (t2) {
        t1 = element.children;
        t1.toString;
        t1 = J.map$1$1$ax(t1, new A.MarkdownBuilder_extractTextFromElement_closure(this), type$.nullable_String).join$1(0, "");
      } else
        t1 = t1 && element.attributes._length !== 0 ? element.attributes.$index(0, "alt") : "";
      return t1;
    },
    visitText$1(text) {
      var t2, child, t3, _this = this, _null = null,
        t1 = _this._blocks;
      if (B.JSArray_methods.get$last(t1).tag == null)
        return;
      _this._addParentInlineIfNeeded$1(B.JSArray_methods.get$last(t1).tag);
      if (t1.length !== 0 && _this.builders.containsKey$1(0, B.JSArray_methods.get$last(t1).tag)) {
        t2 = B.JSArray_methods.get$last(t1).tag;
        t2.toString;
        t2 = _this.builders.$index(0, t2);
        t2.toString;
        t1 = B.JSArray_methods.get$last(t1).tag;
        t1.toString;
        child = t2.visitText$2(text, J.$index$asx(_this.styleSheet._styles, t1));
      } else if (B.JSArray_methods.get$last(t1).tag === "pre") {
        t1 = _this.styleSheet;
        child = A.Scrollbar$(A.SingleChildScrollView$(_this._buildRichText$1(_this.delegate.formatText$2(t1, text.text)), _null, B.DragStartBehavior_1, t1.codeblockPadding, _null, false, B.Axis_0), _null, _null, _null, _null);
      } else {
        t1 = _this._inlines;
        if (_this._isInBlockquote) {
          t2 = _this.styleSheet.blockquote;
          t2.toString;
          t1 = t2.merge$1(B.JSArray_methods.get$last(t1).style);
        } else
          t1 = B.JSArray_methods.get$last(t1).style;
        t2 = text.text;
        t2 = _this._isInBlockquote ? t2 : new A.MarkdownBuilder_visitText_trimText(_this).call$1(t2);
        t3 = _this._linkHandlers;
        child = _this._buildRichText$2$textAlign(A.TextSpan$(_null, t3.length !== 0 ? B.JSArray_methods.get$last(t3) : _null, _null, t1, t2), _this._textAlignForBlockTag$1(_this._currentBlockTag));
      }
      B.JSArray_methods.get$last(_this._inlines).children.push(child);
      _this._lastVisitedTag = null;
    },
    _buildImage$3(src, title, alt) {
      var path, dimensions, width, height, uri, child, t1, _null = null,
        parts = src.split("#");
      if (parts.length === 0)
        return B.SizedBox_null_null_null_null;
      path = B.JSArray_methods.get$first(parts);
      if (parts.length === 2) {
        dimensions = J.split$1$s(B.JSArray_methods.get$last(parts), "x");
        if (dimensions.length === 2) {
          width = A.double_parse(dimensions[0]);
          height = A.double_parse(dimensions[1]);
        } else {
          height = _null;
          width = height;
        }
      } else {
        height = _null;
        width = height;
      }
      uri = A.Uri_parse(path, 0, _null);
      child = $.$get$kDefaultImageBuilder().call$4(uri, this.imageDirectory, width, height);
      t1 = this._linkHandlers;
      if (t1.length !== 0)
        return A.GestureDetector$(_null, child, B.DragStartBehavior_1, false, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, B.JSArray_methods.get$last(t1).onTap, _null, _null, _null, _null, _null, _null);
      else
        return child;
    },
    _buildCheckbox$1(checked) {
      var t1 = this.styleSheet,
        t2 = checked ? B.IconData_57687_MaterialIcons_false : B.IconData_57688_MaterialIcons_false,
        t3 = t1.checkbox;
      return new A.Padding(t1.listBulletPadding, A.Icon$(t2, t3.color, t3.fontSize), null);
    },
    _buildBullet$1(listTag) {
      var t1, _null = null,
        index = B.JSArray_methods.get$last(this._blocks).nextListIndex;
      if (listTag === "ul") {
        t1 = this.styleSheet;
        return new A.Padding(t1.listBulletPadding, A.Text$("\u2022", _null, _null, _null, _null, _null, t1.listBullet, B.TextAlign_2, _null, _null, _null), _null);
      }
      t1 = this.styleSheet;
      return new A.Padding(t1.listBulletPadding, A.Text$("" + (index + 1) + ".", _null, _null, _null, _null, _null, t1.listBullet, B.TextAlign_1, _null, _null, _null), _null);
    },
    _buildPadding$2(padding, child) {
      if (padding.$eq(0, B.EdgeInsets_0_0_0_0))
        return child;
      return new A.Padding(padding, child, null);
    },
    _addParentInlineIfNeeded$1(tag) {
      var t1 = this._inlines;
      if (t1.length === 0) {
        tag.toString;
        t1.push(new A._InlineElement(J.$index$asx(this.styleSheet._styles, tag), A._setArrayType([], type$.JSArray_Widget)));
      }
    },
    _addBlockChild$1(child) {
      var $parent = B.JSArray_methods.get$last(this._blocks),
        t1 = $parent.children;
      if (t1.length !== 0)
        t1.push(A.SizedBox$(null, this.styleSheet.blockSpacing, null));
      t1.push(child);
      ++$parent.nextListIndex;
    },
    _addAnonymousBlockIfNeeded$0() {
      var blockAlignment, textAlign, textPadding, t2, wrap, _this = this,
        t1 = _this._inlines;
      if (t1.length === 0)
        return;
      if (B.JSArray_methods.contains$1(B.List_atK, _this._currentBlockTag)) {
        blockAlignment = _this._wrapAlignmentForBlockTag$1(_this._currentBlockTag);
        textAlign = _this._textAlignForBlockTag$1(_this._currentBlockTag);
        textPadding = _this._textPaddingForBlockTag$1(_this._currentBlockTag);
        t2 = _this.paddingBuilders;
        if (t2.containsKey$1(0, _this._currentBlockTag))
          textPadding = t2.$index(0, _this._currentBlockTag).getPadding$0();
      } else {
        blockAlignment = B.WrapAlignment_0;
        textAlign = B.TextAlign_4;
        textPadding = B.EdgeInsets_0_0_0_0;
      }
      t2 = B.JSArray_methods.get$single(t1).children;
      if (t2.length !== 0) {
        wrap = A.Wrap$(blockAlignment, _this._mergeInlineChildren$2(t2, textAlign), B.WrapCrossAlignment_2);
        if (textPadding.$eq(0, B.EdgeInsets_0_0_0_0))
          _this._addBlockChild$1(wrap);
        else
          _this._addBlockChild$1(new A.Padding(textPadding, wrap, null));
        B.JSArray_methods.clear$0(t1);
      }
    },
    _mergeInlineChildren$2(children, textAlign) {
      var t1, t2, t3, t4, t5, _i, child, previousTextSpan, t6, t7, children0, _this = this,
        mergedTexts = A._setArrayType([], type$.JSArray_Widget);
      for (t1 = children.length, t2 = type$.JSArray_TextSpan, t3 = type$.SelectableText, t4 = type$.TextSpan, t5 = type$.RichText, _i = 0; _i < children.length; children.length === t1 || (0, A.throwConcurrentModificationError)(children), ++_i) {
        child = children[_i];
        if (mergedTexts.length !== 0 && B.JSArray_methods.get$last(mergedTexts) instanceof A.RichText && child instanceof A.RichText) {
          previousTextSpan = t5._as(mergedTexts.pop()).text;
          t6 = previousTextSpan.children;
          if (t6 != null) {
            t7 = A._arrayInstanceType(t6)._eval$1("MappedListIterable<1,TextSpan>");
            children0 = A.List_List$of(new A.MappedListIterable(t6, new A.MarkdownBuilder__mergeInlineChildren_closure(), t7), true, t7._eval$1("ListIterable.E"));
          } else
            children0 = A._setArrayType([previousTextSpan], t2);
          B.JSArray_methods.add$1(children0, child.text);
          mergedTexts.push(_this._buildRichText$2$textAlign(_this._mergeSimilarTextSpans$1(children0), textAlign));
        } else if (mergedTexts.length !== 0 && B.JSArray_methods.get$last(mergedTexts) instanceof A.SelectableText && child instanceof A.SelectableText) {
          previousTextSpan = t3._as(mergedTexts.pop()).textSpan;
          t6 = previousTextSpan.children;
          children0 = t6 != null ? A.List_List$from(t6, true, t4) : A._setArrayType([previousTextSpan], t2);
          t6 = child.textSpan;
          if (t6 != null)
            children0.push(t6);
          mergedTexts.push(_this._buildRichText$2$textAlign(_this._mergeSimilarTextSpans$1(children0), textAlign));
        } else
          mergedTexts.push(child);
      }
      return mergedTexts;
    },
    _textAlignForBlockTag$1(blockTag) {
      switch (this._wrapAlignmentForBlockTag$1(blockTag).index) {
        case 0:
          return B.TextAlign_4;
        case 2:
          return B.TextAlign_2;
        case 1:
          return B.TextAlign_5;
        case 4:
          return B.TextAlign_3;
        case 3:
          return B.TextAlign_3;
        case 5:
          return B.TextAlign_3;
      }
    },
    _wrapAlignmentForBlockTag$1(blockTag) {
      var _this = this;
      switch (blockTag) {
        case "p":
          return _this.styleSheet.textAlign;
        case "h1":
          return _this.styleSheet.h1Align;
        case "h2":
          return _this.styleSheet.h2Align;
        case "h3":
          return _this.styleSheet.h3Align;
        case "h4":
          return _this.styleSheet.h4Align;
        case "h5":
          return _this.styleSheet.h5Align;
        case "h6":
          return _this.styleSheet.h6Align;
        case "ul":
          return _this.styleSheet.unorderedListAlign;
        case "ol":
          return _this.styleSheet.orderedListAlign;
        case "blockquote":
          return _this.styleSheet.blockquoteAlign;
        case "pre":
          return _this.styleSheet.codeblockAlign;
        case "hr":
          A.print("Markdown did not handle hr for alignment");
          break;
        case "li":
          A.print("Markdown did not handle li for alignment");
          break;
      }
      return B.WrapAlignment_0;
    },
    _textPaddingForBlockTag$1(blockTag) {
      var _this = this;
      switch (blockTag) {
        case "p":
          return _this.styleSheet.pPadding;
        case "h1":
          return _this.styleSheet.h1Padding;
        case "h2":
          return _this.styleSheet.h2Padding;
        case "h3":
          return _this.styleSheet.h3Padding;
        case "h4":
          return _this.styleSheet.h4Padding;
        case "h5":
          return _this.styleSheet.h5Padding;
        case "h6":
          return _this.styleSheet.h6Padding;
      }
      return B.EdgeInsets_0_0_0_0;
    },
    _mergeSimilarTextSpans$1(textSpans) {
      var mergedSpans, index, nextChild, previous, buffer, t2, _null = null,
        t1 = textSpans.length;
      if (t1 < 2)
        return A.TextSpan$(textSpans, _null, _null, _null, _null);
      mergedSpans = A._setArrayType([B.JSArray_methods.get$first(textSpans)], type$.JSArray_TextSpan);
      for (index = 1; index < textSpans.length; ++index) {
        nextChild = textSpans[index];
        if (nextChild.recognizer == B.JSArray_methods.get$last(mergedSpans).recognizer) {
          B.JSArray_methods.get$last(mergedSpans).toString;
          t1 = J.$eq$(nextChild.style, B.JSArray_methods.get$last(mergedSpans).style);
        } else
          t1 = false;
        if (t1) {
          previous = mergedSpans.pop();
          buffer = new A.StringBuffer("");
          previous.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, true);
          t1 = buffer._contents;
          buffer = new A.StringBuffer("");
          nextChild.computeToPlainText$3$includePlaceholders$includeSemanticsLabels(buffer, true, true);
          t2 = buffer._contents;
          mergedSpans.push(A.TextSpan$(_null, previous.recognizer, previous.semanticsLabel, previous.style, (t1.charCodeAt(0) == 0 ? t1 : t1) + (t2.charCodeAt(0) == 0 ? t2 : t2)));
        } else
          mergedSpans.push(nextChild);
      }
      return mergedSpans.length === 1 ? B.JSArray_methods.get$first(mergedSpans) : A.TextSpan$(mergedSpans, _null, _null, _null, _null);
    },
    _buildRichText$2$textAlign(text, textAlign) {
      var t2, _null = null,
        t1 = this.styleSheet.textScaleFactor;
      t1.toString;
      t2 = textAlign == null ? B.TextAlign_4 : textAlign;
      return A.RichText$(new A.UniqueKey(), _null, _null, B.TextOverflow_0, _null, _null, true, _null, text, t2, _null, _null, t1, B.TextWidthBasis_0);
    },
    _buildRichText$1(text) {
      return this._buildRichText$2$textAlign(text, null);
    }
  };
  A.MarkdownBuilder_extractTextFromElement_closure.prototype = {
    call$1(e) {
      return e instanceof A.Text0 ? e.text : this.$this.extractTextFromElement$1(e);
    },
    $signature: 1011
  };
  A.MarkdownBuilder_visitText_trimText.prototype = {
    call$1(text) {
      var _leadingSpacesPattern = A.RegExp_RegExp("^ *", true, false),
        _softLineBreak = A.RegExp_RegExp(" ?\\n *", true, false);
      if (B.JSArray_methods.contains$1(B.List_ul_ol_p_br, this.$this._lastVisitedTag))
        text = A.stringReplaceAllUnchecked(text, _leadingSpacesPattern, "");
      return A.stringReplaceAllUnchecked(text, _softLineBreak, " ");
    },
    $signature: 15
  };
  A.MarkdownBuilder__mergeInlineChildren_closure.prototype = {
    call$1(span) {
      var _null = null;
      return !(span instanceof A.TextSpan) ? A.TextSpan$(A._setArrayType([span], type$.JSArray_InlineSpan), _null, _null, _null, _null) : span;
    },
    $signature: 1012
  };
  A.MarkdownStyleSheet.prototype = {
    copyWith$50$a$blockSpacing$blockquote$blockquoteAlign$blockquoteDecoration$blockquotePadding$checkbox$code$codeblockAlign$codeblockDecoration$codeblockPadding$del$em$h1$h1Align$h1Padding$h2$h2Align$h2Padding$h3$h3Align$h3Padding$h4$h4Align$h4Padding$h5$h5Align$h5Padding$h6$h6Align$h6Padding$horizontalRuleDecoration$img$listBullet$listBulletPadding$listIndent$orderedListAlign$p$pPadding$strong$tableBody$tableBorder$tableCellsDecoration$tableCellsPadding$tableColumnWidth$tableHead$tableHeadAlign$textAlign$textScaleFactor$unorderedListAlign(a, blockSpacing, blockquote, blockquoteAlign, blockquoteDecoration, blockquotePadding, checkbox, code, codeblockAlign, codeblockDecoration, codeblockPadding, del, em, h1, h1Align, h1Padding, h2, h2Align, h2Padding, h3, h3Align, h3Padding, h4, h4Align, h4Padding, h5, h5Align, h5Padding, h6, h6Align, h6Padding, horizontalRuleDecoration, img, listBullet, listBulletPadding, listIndent, orderedListAlign, p, pPadding, strong, tableBody, tableBorder, tableCellsDecoration, tableCellsPadding, tableColumnWidth, tableHead, tableHeadAlign, textAlign, textScaleFactor, unorderedListAlign) {
      var _this = this,
        t1 = a == null ? _this.a : a,
        t2 = p == null ? _this.p : p,
        t3 = code == null ? _this.code : code,
        t4 = h1 == null ? _this.h1 : h1,
        t5 = h2 == null ? _this.h2 : h2,
        t6 = h3 == null ? _this.h3 : h3,
        t7 = h4 == null ? _this.h4 : h4,
        t8 = h5 == null ? _this.h5 : h5,
        t9 = h6 == null ? _this.h6 : h6,
        t10 = em == null ? _this.em : em,
        t11 = strong == null ? _this.strong : strong,
        t12 = del == null ? _this.del : del,
        t13 = blockquote == null ? _this.blockquote : blockquote,
        t14 = img == null ? _this.img : img,
        t15 = checkbox == null ? _this.checkbox : checkbox,
        t16 = listBullet == null ? _this.listBullet : listBullet,
        t17 = tableHead == null ? _this.tableHead : tableHead,
        t18 = tableBody == null ? _this.tableBody : tableBody;
      return A.MarkdownStyleSheet$(t1, _this.blockSpacing, t13, _this.blockquoteAlign, _this.blockquoteDecoration, _this.blockquotePadding, t15, t3, _this.codeblockAlign, _this.codeblockDecoration, _this.codeblockPadding, t12, t10, t4, _this.h1Align, _this.h1Padding, t5, _this.h2Align, _this.h2Padding, t6, _this.h3Align, _this.h3Padding, t7, _this.h4Align, _this.h4Padding, t8, _this.h5Align, _this.h5Padding, t9, _this.h6Align, _this.h6Padding, _this.horizontalRuleDecoration, t14, t16, _this.listBulletPadding, _this.listIndent, _this.orderedListAlign, t2, _this.pPadding, t11, t18, _this.tableBorder, _this.tableCellsDecoration, _this.tableCellsPadding, _this.tableColumnWidth, t17, _this.tableHeadAlign, _this.textAlign, textScaleFactor, _this.unorderedListAlign);
    },
    copyWith$1$textScaleFactor(textScaleFactor) {
      return this.copyWith$50$a$blockSpacing$blockquote$blockquoteAlign$blockquoteDecoration$blockquotePadding$checkbox$code$codeblockAlign$codeblockDecoration$codeblockPadding$del$em$h1$h1Align$h1Padding$h2$h2Align$h2Padding$h3$h3Align$h3Padding$h4$h4Align$h4Padding$h5$h5Align$h5Padding$h6$h6Align$h6Padding$horizontalRuleDecoration$img$listBullet$listBulletPadding$listIndent$orderedListAlign$p$pPadding$strong$tableBody$tableBorder$tableCellsDecoration$tableCellsPadding$tableColumnWidth$tableHead$tableHeadAlign$textAlign$textScaleFactor$unorderedListAlign(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, textScaleFactor, null);
    },
    merge$1(other) {
      return this;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (_this === other)
        return true;
      if (J.get$runtimeType$(other) !== B.Type_MarkdownStyleSheet_Auo)
        return false;
      return other.a.$eq(0, _this.a) && J.$eq$(other.p, _this.p) && other.pPadding.$eq(0, _this.pPadding) && other.code.$eq(0, _this.code) && J.$eq$(other.h1, _this.h1) && other.h1Padding.$eq(0, _this.h1Padding) && J.$eq$(other.h2, _this.h2) && other.h2Padding.$eq(0, _this.h2Padding) && J.$eq$(other.h3, _this.h3) && other.h3Padding.$eq(0, _this.h3Padding) && J.$eq$(other.h4, _this.h4) && other.h4Padding.$eq(0, _this.h4Padding) && J.$eq$(other.h5, _this.h5) && other.h5Padding.$eq(0, _this.h5Padding) && J.$eq$(other.h6, _this.h6) && other.h6Padding.$eq(0, _this.h6Padding) && other.em.$eq(0, _this.em) && other.strong.$eq(0, _this.strong) && other.del.$eq(0, _this.del) && J.$eq$(other.blockquote, _this.blockquote) && J.$eq$(other.img, _this.img) && other.checkbox.$eq(0, _this.checkbox) && other.blockSpacing === _this.blockSpacing && other.listIndent === _this.listIndent && J.$eq$(other.listBullet, _this.listBullet) && other.listBulletPadding.$eq(0, _this.listBulletPadding) && other.tableHead.$eq(0, _this.tableHead) && J.$eq$(other.tableBody, _this.tableBody) && other.tableHeadAlign === _this.tableHeadAlign && other.tableBorder.$eq(0, _this.tableBorder) && other.tableColumnWidth === _this.tableColumnWidth && other.tableCellsPadding.$eq(0, _this.tableCellsPadding) && other.tableCellsDecoration.$eq(0, _this.tableCellsDecoration) && other.blockquotePadding.$eq(0, _this.blockquotePadding) && other.blockquoteDecoration.$eq(0, _this.blockquoteDecoration) && other.codeblockPadding.$eq(0, _this.codeblockPadding) && other.codeblockDecoration.$eq(0, _this.codeblockDecoration) && other.horizontalRuleDecoration.$eq(0, _this.horizontalRuleDecoration) && other.textAlign === _this.textAlign && other.h1Align === _this.h1Align && other.h2Align === _this.h2Align && other.h3Align === _this.h3Align && other.h4Align === _this.h4Align && other.h5Align === _this.h5Align && other.h6Align === _this.h6Align && other.unorderedListAlign === _this.unorderedListAlign && other.orderedListAlign === _this.orderedListAlign && other.blockquoteAlign === _this.blockquoteAlign && other.codeblockAlign === _this.codeblockAlign && other.textScaleFactor == _this.textScaleFactor;
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hashAll([_this.a, _this.p, _this.pPadding, _this.code, _this.h1, _this.h1Padding, _this.h2, _this.h2Padding, _this.h3, _this.h3Padding, _this.h4, _this.h4Padding, _this.h5, _this.h5Padding, _this.h6, _this.h6Padding, _this.em, _this.strong, _this.del, _this.blockquote, _this.img, _this.checkbox, _this.blockSpacing, _this.listIndent, _this.listBullet, _this.listBulletPadding, _this.tableHead, _this.tableBody, _this.tableHeadAlign, _this.tableBorder, _this.tableColumnWidth, _this.tableCellsPadding, _this.tableCellsDecoration, _this.blockquotePadding, _this.blockquoteDecoration, _this.codeblockPadding, _this.codeblockDecoration, _this.horizontalRuleDecoration, _this.textAlign, _this.h1Align, _this.h2Align, _this.h3Align, _this.h4Align, _this.h5Align, _this.h6Align, _this.unorderedListAlign, _this.orderedListAlign, _this.blockquoteAlign, _this.codeblockAlign, _this.textScaleFactor]);
    }
  };
  A.MarkdownStyleSheetBaseTheme.prototype = {
    toString$0(_) {
      return "MarkdownStyleSheetBaseTheme." + this._core$_name;
    }
  };
  A.MarkdownListItemCrossAxisAlignment.prototype = {
    toString$0(_) {
      return "MarkdownListItemCrossAxisAlignment." + this._core$_name;
    }
  };
  A.MarkdownWidget.prototype = {
    createState$0() {
      return new A._MarkdownWidgetState(A._setArrayType([], type$.JSArray_GestureRecognizer), B._StateLifecycle_0);
    }
  };
  A._MarkdownWidgetState.prototype = {
    didChangeDependencies$0() {
      this._parseMarkdown$0();
      this.super$State$didChangeDependencies();
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      if (this._widget.data !== oldWidget.data || false)
        this._parseMarkdown$0();
    },
    dispose$0() {
      this._disposeRecognizers$0();
      this.super$State$dispose();
    },
    _parseMarkdown$0() {
      var styleSheet, t3, t4, t5, $document, nodes, _this = this,
        t1 = $.$get$kFallbackStyle(),
        t2 = _this._framework$_element;
      t2.toString;
      styleSheet = t1.call$2(t2, _this._widget.styleSheetTheme).merge$1(_this._widget.styleSheet);
      _this._disposeRecognizers$0();
      _this._widget.toString;
      t1 = A._setArrayType([], type$.JSArray_InlineSyntax);
      t1.push(new A.TaskListSyntax(A.RegExp_RegExp("^ *\\[([ xX])\\] +", true, true), null));
      _this._widget.toString;
      t2 = $.$get$ExtensionSet_gitHubFlavored();
      t3 = A.LinkedHashSet_LinkedHashSet$_empty(type$.BlockSyntax);
      t4 = A.LinkedHashSet_LinkedHashSet$_empty(type$.InlineSyntax);
      t5 = t1.length;
      if (t5 === 0) {
        t5 = t2 == null ? null : t2.inlineSyntaxes.length !== 0;
        t5 = t5 === true;
      } else
        t5 = true;
      $document = new A.Document(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.LinkReference), false, t3, t4, t5);
      t5 = A._setArrayType([], type$.JSArray_BlockSyntax);
      t3.addAll$1(0, t5);
      t4.addAll$1(0, t1);
      if (t2 == null) {
        t1 = $.$get$ExtensionSet_commonMark();
        t3.addAll$1(0, t1.blockSyntaxes);
        t4.addAll$1(0, t1.inlineSyntaxes);
      } else {
        t3.addAll$1(0, t2.blockSyntaxes);
        t4.addAll$1(0, t2.inlineSyntaxes);
      }
      nodes = A.BlockParser$(B.C_LineSplitter.convert$1(_this._widget.data), $document).parseLines$0();
      $document._parseInlineContent$1(nodes);
      t1 = _this._widget;
      _this._widget$_children = new A.MarkdownBuilder(_this, false, styleSheet, t1.imageDirectory, t1.imageBuilder, t1.checkboxBuilder, t1.bulletBuilder, t1.builders, t1.paddingBuilders, false, t1.listItemCrossAxisAlignment, t1.onTapText, false, A._setArrayType([], type$.JSArray_String), A._setArrayType([], type$.JSArray__BlockElement), A._setArrayType([], type$.JSArray__TableElement), A._setArrayType([], type$.JSArray__InlineElement), A._setArrayType([], type$.JSArray_GestureRecognizer)).build$1(nodes);
    },
    _disposeRecognizers$0() {
      var localRecognizers, _i,
        t1 = this._widget$_recognizers;
      if (t1.length === 0)
        return;
      localRecognizers = A.List_List$from(t1, true, type$.GestureRecognizer);
      B.JSArray_methods.clear$0(t1);
      for (t1 = localRecognizers.length, _i = 0; _i < t1; ++_i)
        localRecognizers[_i].dispose$0();
    },
    createLink$3(text, href, title) {
      var recognizer = A.TapGestureRecognizer$(null);
      recognizer.onTap = new A._MarkdownWidgetState_createLink_closure(this, text, href, title);
      this._widget$_recognizers.push(recognizer);
      return recognizer;
    },
    formatText$2(styleSheet, code) {
      var t1 = A.RegExp_RegExp("\\n$", true, false);
      code = A.stringReplaceAllUnchecked(code, t1, "");
      this._widget.toString;
      return A.TextSpan$(null, null, null, styleSheet.code, code);
    },
    build$1(context) {
      var t1, _null = null;
      this._widget.toString;
      t1 = this._widget$_children;
      t1.toString;
      return A.ListView$(t1, _null, _null, B.EdgeInsets_16_16_16_16, _null, _null, false);
    }
  };
  A._MarkdownWidgetState_createLink_closure.prototype = {
    call$0() {
      var _this = this;
      _this.$this._widget.onTapLink.call$3(_this.text, _this.href, _this.title);
    },
    $signature: 0
  };
  A.Markdown.prototype = {};
  A.TaskListSyntax.prototype = {
    onMatch$2(parser, match) {
      var t3,
        t1 = A._setArrayType([], type$.JSArray_Node_2),
        t2 = type$.String;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "type", "checkbox");
      t2.$indexSet(0, "disabled", "true");
      t3 = match._match[1];
      t3.toString;
      t2.$indexSet(0, "checked", "" + (B.JSString_methods.trim$0(t3).length !== 0));
      parser._inline_parser$_tree.push(new A.Element0("input", t1, t2));
      return true;
    }
  };
  A._listenNotifier_listener.prototype = {
    call$0() {
      this.ref.setState$1(this.notifier);
    },
    $signature: 0
  };
  A._listenNotifier_closure.prototype = {
    call$0() {
      var exception;
      try {
        this.notifier.removeListener$1(0, this.listener);
      } catch (exception) {
      }
    },
    $signature: 0
  };
  A.ChangeNotifierProviderOverrideMixin.prototype = {
    get$dependencies() {
      var result, _this = this,
        value = _this.ChangeNotifierProviderOverrideMixin___ChangeNotifierProviderOverrideMixin_dependencies;
      if (value === $) {
        result = A._setArrayType([_this.notifier], type$.JSArray_ProviderOrFamily);
        if (_this.ChangeNotifierProviderOverrideMixin___ChangeNotifierProviderOverrideMixin_dependencies !== $)
          A.throwUnnamedLateFieldADI();
        _this.ChangeNotifierProviderOverrideMixin___ChangeNotifierProviderOverrideMixin_dependencies = result;
        value = result;
      }
      return value;
    }
  };
  A.ChangeNotifierProvider.prototype = {
    create$1(_, ref) {
      var notifier = ref.watch$1$1(this.notifier, this.$ti._precomputed1);
      A._listenNotifier(notifier, ref);
      return notifier;
    },
    createElement$0(_) {
      return A.ProviderElement$(this, this.$ti._precomputed1);
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    }
  };
  A._NotifierProvider.prototype = {
    create$1(_, ref) {
      var notifier = this._change_notifier_provider$_create.call$1(ref);
      if (notifier != null)
        ref.onDispose$1(notifier.get$dispose());
      return notifier;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A._NotifierProviderElement(this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<1>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("_NotifierProviderElement<1>"));
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    get$dependencies() {
      return this.dependencies;
    }
  };
  A._NotifierProviderElement.prototype = {$isChangeNotifierProviderRef: 1};
  A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin.prototype = {};
  A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin.prototype = {};
  A.ConsumerWidget.prototype = {
    createState$0() {
      return new A._ConsumerState(B._StateLifecycle_0);
    }
  };
  A._ConsumerState.prototype = {
    build$1(context) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = this._framework$_element;
      t2.toString;
      return t1.build$2(context, type$.WidgetRef._as(t2));
    }
  };
  A.ConsumerStatefulWidget.prototype = {
    createElement$0(_) {
      return A.ConsumerStatefulElement$(this);
    }
  };
  A.ConsumerState.prototype = {
    get$ref() {
      var t1,
        value = this.__ConsumerState_ref;
      if (value === $) {
        t1 = this._framework$_element;
        t1.toString;
        type$.WidgetRef._as(t1);
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        this.__ConsumerState_ref = t1;
        value = t1;
      }
      return value;
    }
  };
  A.ConsumerStatefulElement.prototype = {
    get$_consumer$_container() {
      var value = this.__ConsumerStatefulElement__container;
      return value === $ ? this.__ConsumerStatefulElement__container = A.ProviderScope_containerOf(this, true) : value;
    },
    didChangeDependencies$0() {
      var newContainer, t1, t2, t3, _this = this;
      _this.super$StatefulElement$didChangeDependencies();
      newContainer = A.ProviderScope_containerOf(_this, true);
      if (_this.get$_consumer$_container() !== newContainer) {
        _this.__ConsumerStatefulElement__container = newContainer;
        for (t1 = _this._consumer$_dependencies, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          (t3 == null ? t2._as(t3) : t3).close$0(0);
        }
        _this._consumer$_dependencies.clear$0(0);
      }
    },
    build$0() {
      var i, dep, t1, t2, t3, _this = this;
      try {
        _this._oldDependencies = _this._consumer$_dependencies;
        for (i = 0, t1 = _this._consumer$_listeners; i < t1.length; ++i)
          t1[i].close$0(0);
        B.JSArray_methods.clear$0(t1);
        _this._consumer$_dependencies = A.LinkedHashMap_LinkedHashMap$_empty(type$.ProviderListenable_dynamic, type$.ProviderSubscription_dynamic);
        t1 = _this.super$StatefulElement$build();
        return t1;
      } finally {
        for (t1 = _this._oldDependencies, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
          t3 = t1.__internal$_current;
          dep = t3 == null ? t2._as(t3) : t3;
          J.close$0$x(dep);
        }
        _this._oldDependencies = null;
      }
    },
    watch$1$1(target, Res) {
      return Res._as(J.read$0$z(this._consumer$_dependencies.putIfAbsent$2(0, target, new A.ConsumerStatefulElement_watch_closure(this, target, Res))));
    },
    unmount$0() {
      var t1, t2, t3, i;
      for (t1 = this._consumer$_dependencies, t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).close$0(0);
      }
      for (t1 = this._consumer$_listeners, i = 0; i < t1.length; ++i)
        t1[i].close$0(0);
      this.super$StatefulElement$unmount();
    },
    $isWidgetRef: 1
  };
  A.ConsumerStatefulElement_watch_closure.prototype = {
    call$0() {
      var _this = this,
        t1 = _this.$this,
        t2 = t1._oldDependencies,
        oldDependency = t2 == null ? null : t2.remove$1(0, _this.target);
      if (oldDependency != null)
        return oldDependency;
      return t1.get$_consumer$_container().listen$2(_this.target, new A.ConsumerStatefulElement_watch__closure(t1, _this.Res));
    },
    $signature: 1013
  };
  A.ConsumerStatefulElement_watch__closure.prototype = {
    call$2(_, __) {
      return this.$this.markNeedsBuild$0();
    },
    $signature() {
      return this.Res._eval$1("~(0?,0)");
    }
  };
  A.ProviderScope.prototype = {
    createState$0() {
      return new A.ProviderScopeState(B._StateLifecycle_0);
    }
  };
  A.ProviderScopeState.prototype = {
    initState$0() {
      var $parent, t1, _this = this;
      _this.super$State$initState();
      $parent = _this._getParent$0(0);
      t1 = A.ProviderContainer$(null, null, _this._widget.observers, B.List_empty9, $parent);
      if (_this.__ProviderScopeState_container !== $)
        A.throwUnnamedLateFieldAI();
      _this.__ProviderScopeState_container = t1;
    },
    _getParent$0(_) {
      var t1;
      this._widget.toString;
      t1 = this._framework$_element.getElementForInheritedWidgetOfExactType$1$0(type$.UncontrolledProviderScope);
      t1 = t1 == null ? null : t1.get$widget();
      type$.nullable_UncontrolledProviderScope._as(t1);
      return t1 == null ? null : t1.container;
    },
    didUpdateWidget$1(oldWidget) {
      this.super$State$didUpdateWidget(oldWidget);
      this._framework1$_dirty = true;
      this._widget.toString;
    },
    build$1(context) {
      var t1, _this = this;
      if (_this._framework1$_dirty) {
        _this._framework1$_dirty = false;
        t1 = _this.__ProviderScopeState_container;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._widget.toString;
        t1.updateOverrides$1(B.List_empty9);
      }
      t1 = _this.__ProviderScopeState_container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A.UncontrolledProviderScope(t1, _this._widget.child, null);
    },
    dispose$0() {
      var t1 = this.__ProviderScopeState_container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.dispose$0();
      this.super$State$dispose();
    }
  };
  A.UncontrolledProviderScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      return this.container !== oldWidget.container;
    },
    createElement$0(_) {
      return new A._UncontrolledProviderScopeElement(A.HashMap_HashMap(null, null, null, type$.Element_2, type$.nullable_Object), this, B._ElementLifecycle_0);
    }
  };
  A._UncontrolledProviderScopeElement.prototype = {
    mount$2($parent, newSlot) {
      var t1 = this._widget;
      t1.toString;
      type$.UncontrolledProviderScope._as(t1).container.vsyncOverride = this.get$_flutterVsync();
      this.super$ComponentElement$mount($parent, newSlot);
    },
    update$1(_, newWidget) {
      var t2,
        t1 = this._widget;
      t1.toString;
      t2 = type$.UncontrolledProviderScope;
      t2._as(t1).container.vsyncOverride = null;
      t2._as(newWidget);
      newWidget.container.vsyncOverride = this.get$_flutterVsync();
      this.super$ProxyElement$update(0, newWidget);
    },
    _flutterVsync$1(task) {
      this._task = task;
      if ($.SchedulerBinding__instance.SchedulerBinding__schedulerPhase === B.SchedulerPhase_1)
        this.markNeedsBuild$0();
      else
        A.Future_Future$microtask(new A._UncontrolledProviderScopeElement__flutterVsync_closure(this), type$.Null);
    },
    unmount$0() {
      this._mounted = false;
      var t1 = this._widget;
      t1.toString;
      type$.UncontrolledProviderScope._as(t1).container.vsyncOverride = null;
      this.super$Element$unmount();
    },
    build$0() {
      var t1 = this._task;
      if (t1 != null)
        t1.call$0();
      this._task = null;
      return this.super$ProxyElement$build();
    }
  };
  A._UncontrolledProviderScopeElement__flutterVsync_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      if (t1._mounted)
        t1.markNeedsBuild$0();
    },
    $signature: 7
  };
  A.JsUrlStrategy0.prototype = {};
  A.HashUrlStrategy0.prototype = {
    addPopStateListener$1(_, fn) {
      B.Window_methods.addEventListener$2(window, "popstate", fn);
      return new A.HashUrlStrategy_addPopStateListener_closure(this, fn);
    },
    getState$0(_) {
      return new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(window.history.state, true);
    },
    prepareExternalUrl$1(_, internalUrl) {
      var t1, t2;
      if (internalUrl.length === 0) {
        t1 = window.location.pathname;
        if (t1 == null)
          t1 = "";
        t2 = window.location.search;
        t1 += t2 == null ? "" : t2;
      } else
        t1 = "#" + internalUrl;
      return t1;
    },
    pushState$3(_, state, title, url) {
      var t1 = this.prepareExternalUrl$1(0, url);
      window.history.pushState(new A._StructuredCloneDart2Js([], []).walk$1(state), title, t1);
    },
    replaceState$3(_, state, title, url) {
      var t1 = this.prepareExternalUrl$1(0, url);
      window.history.replaceState(new A._StructuredCloneDart2Js([], []).walk$1(state), title, t1);
    },
    go$1(_, count) {
      window.history.go(count);
      return this._waitForPopState$0();
    },
    _waitForPopState$0() {
      var t1 = new A._Future($.Zone__current, type$._Future_void),
        unsubscribe = A._Cell$named("unsubscribe");
      unsubscribe.__late_helper$_value = this.addPopStateListener$1(0, new A.HashUrlStrategy__waitForPopState_closure(unsubscribe, new A._AsyncCompleter(t1, type$._AsyncCompleter_void)));
      return t1;
    }
  };
  A.HashUrlStrategy_addPopStateListener_closure.prototype = {
    call$0() {
      B.Window_methods.removeEventListener$2(window, "popstate", this.fn);
      return null;
    },
    $signature: 0
  };
  A.HashUrlStrategy__waitForPopState_closure.prototype = {
    call$1(_) {
      this.unsubscribe._readLocal$0().call$0();
      this.completer.complete$0(0);
    },
    $signature: 247
  };
  A.PathUrlStrategy.prototype = {
    getPath$0(_) {
      var t2, path,
        t1 = window.location.pathname;
      if (t1 == null)
        t1 = "";
      t2 = window.location.search;
      path = t1 + (t2 == null ? "" : t2);
      t1 = this._basePath;
      t2 = t1.length;
      if (t2 !== 0 && B.JSString_methods.startsWith$1(path, t1))
        return A.ensureLeadingSlash(B.JSString_methods.substring$1(path, t2));
      return A.ensureLeadingSlash(path);
    },
    prepareExternalUrl$1(_, internalUrl) {
      if (internalUrl.length !== 0 && !B.JSString_methods.startsWith$1(internalUrl, "/"))
        internalUrl = "/" + internalUrl;
      return this._basePath + internalUrl;
    }
  };
  A.BrowserPlatformLocation0.prototype = {};
  A.UrlStrategy0.prototype = {};
  A.PlatformLocation0.prototype = {};
  A.Registrar.prototype = {
    handleFrameworkMessage$3(channel, data, callback) {
      return this.handleFrameworkMessage$body$Registrar(channel, data, callback);
    },
    handleFrameworkMessage$body$Registrar(channel, data, callback) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$handler = 1, $async$currentError, $async$next = [], $async$self = this, handler, exception, stack, exception0, t1, response, $async$exception0;
      var $async$handleFrameworkMessage$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
              response = null;
              $async$handler = 3;
              handler = $async$self._plugin_registry$_handlers.$index(0, channel);
              $async$goto = handler != null ? 6 : 7;
              break;
            case 6:
              // then
              $async$goto = 8;
              return A._asyncAwait(handler.call$1(data), $async$handleFrameworkMessage$3);
            case 8:
              // returning from await.
              response = $async$result;
            case 7:
              // join
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception0 = $async$currentError;
              exception = A.unwrapException($async$exception0);
              stack = A.getTraceFromException($async$exception0);
              t1 = A.ErrorDescription$("during a framework-to-plugin message");
              A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "flutter web plugins", t1, null, false));
              $async$next.push(5);
              // goto finally
              $async$goto = 4;
              break;
            case 2:
              // uncaught
              $async$next = [1];
            case 4:
              // finally
              $async$handler = 1;
              if (callback != null)
                callback.call$1(response);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$handleFrameworkMessage$3, $async$completer);
    },
    send$2(_, channel, message) {
      var t1 = new A._Future($.Zone__current, type$._Future_nullable_ByteData);
      $.$get$channelBuffers().push$3(channel, message, new A.Registrar_send_closure(new A._AsyncCompleter(t1, type$._AsyncCompleter_nullable_ByteData)));
      return t1;
    },
    setMessageHandler$2(channel, handler) {
      var t1 = this._plugin_registry$_handlers;
      if (handler == null)
        t1.remove$1(0, channel);
      else
        t1.$indexSet(0, channel, handler);
    }
  };
  A.Registrar_send_closure.prototype = {
    call$1(reply) {
      var exception, stack, exception0, t1;
      try {
        this.completer.complete$1(0, reply);
      } catch (exception0) {
        exception = A.unwrapException(exception0);
        stack = A.getTraceFromException(exception0);
        t1 = A.ErrorDescription$("during a plugin-to-framework message");
        A.FlutterError_reportError(new A.FlutterErrorDetails(exception, stack, "flutter web plugins", t1, null, false));
      }
    },
    $signature: 39
  };
  A.PluginRegistry.prototype = {};
  A.get_closure.prototype = {
    call$1(client) {
      return client._sendUnstreamed$3("GET", this.url, this.headers);
    },
    $signature: 1019
  };
  A.read_closure.prototype = {
    call$1(client) {
      return client.read$2$headers(0, this.url, this.headers);
    },
    $signature: 1020
  };
  A.BaseClient.prototype = {
    patch$4$body$encoding$headers(url, body, encoding, headers) {
      return this._sendUnstreamed$5("PATCH", url, headers, body, encoding);
    },
    patch$1(url) {
      return this.patch$4$body$encoding$headers(url, null, null, null);
    },
    read$2$headers(_, url, headers) {
      return this.read$body$BaseClient(0, url, headers);
    },
    read$body$BaseClient(_, url, headers) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.String),
        $async$returnValue, $async$self = this, response;
      var $async$read$2$headers = 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._sendUnstreamed$3("GET", url, headers), $async$read$2$headers);
            case 3:
              // returning from await.
              response = $async$result;
              $async$self._checkResponseSuccess$2(url, response);
              $async$returnValue = A.encodingForCharset(J.$index$asx(A._contentTypeForHeaders(response.headers).parameters._collection$_map, "charset")).decode$1(0, response.bodyBytes);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$read$2$headers, $async$completer);
    },
    _sendUnstreamed$5(method, url, headers, body, encoding) {
      return this._sendUnstreamed$body$BaseClient(method, url, headers, body, encoding);
    },
    _sendUnstreamed$3(method, url, headers) {
      return this._sendUnstreamed$5(method, url, headers, null, null);
    },
    _sendUnstreamed$body$BaseClient(method, url, headers, body, encoding) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Response_2),
        $async$returnValue, $async$self = this, t1, contentType, request, $async$temp1;
      var $async$_sendUnstreamed$5 = 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
              request = A.Request$(method, url);
              if (headers != null)
                request.headers.addAll$1(0, headers);
              if (encoding != null)
                request.set$encoding(0, encoding);
              if (body != null)
                if (typeof body == "string")
                  request.set$body(0, body);
                else if (type$.List_dynamic._is(body)) {
                  t1 = J.cast$1$0$ax(body, type$.int);
                  request._checkFinalized$0();
                  request._bodyBytes = A.toUint8List(t1);
                } else if (type$.Map_dynamic_dynamic._is(body)) {
                  t1 = type$.String;
                  t1 = J.cast$2$0$ax(body, t1, t1);
                  contentType = request.get$_contentType();
                  if (contentType == null)
                    request.set$_contentType(A.MediaType$("application", "x-www-form-urlencoded", null));
                  else if (contentType.type + "/" + contentType.subtype !== "application/x-www-form-urlencoded")
                    A.throwExpression(A.StateError$('Cannot set the body fields of a Request with content-type "' + contentType.get$mimeType(contentType) + '".'));
                  request.set$body(0, A.mapToQuery(t1, request.get$encoding(request)));
                } else
                  throw A.wrapException(A.ArgumentError$('Invalid request body "' + A.S(body) + '".', null));
              $async$temp1 = A;
              $async$goto = 3;
              return A._asyncAwait($async$self.send$1(0, request), $async$_sendUnstreamed$5);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1.Response_fromStream($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_sendUnstreamed$5, $async$completer);
    },
    _checkResponseSuccess$2(url, response) {
      var message,
        t1 = response.statusCode;
      if (t1 < 400)
        return;
      message = "Request to " + url.toString$0(0) + " failed with status " + t1;
      t1 = response.reasonPhrase;
      throw A.wrapException(A.ClientException$((t1 != null ? message + ": " + t1 : message) + ".", url));
    },
    $isClient0: 1
  };
  A.BaseRequest.prototype = {
    finalize$0() {
      if (this._finalized)
        throw A.wrapException(A.StateError$("Can't finalize a finalized Request."));
      this._finalized = true;
      return B.ByteStream__EmptyStream;
    },
    toString$0(_) {
      return this.method + " " + this.url.toString$0(0);
    }
  };
  A.BaseRequest_closure.prototype = {
    call$2(key1, key2) {
      return key1.toLowerCase() === key2.toLowerCase();
    },
    $signature: 1022
  };
  A.BaseRequest_closure0.prototype = {
    call$1(key) {
      return B.JSString_methods.get$hashCode(key.toLowerCase());
    },
    $signature: 158
  };
  A.BaseResponse.prototype = {
    BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request(statusCode, contentLength, headers, isRedirect, persistentConnection, reasonPhrase, request) {
      var t1 = this.statusCode;
      if (t1 < 100)
        throw A.wrapException(A.ArgumentError$("Invalid status code " + t1 + ".", null));
    }
  };
  A.BrowserClient.prototype = {
    send$1(_, request) {
      return this.send$body$BrowserClient(0, request);
    },
    send$body$BrowserClient(_, request) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.StreamedResponse),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, xhr, completer, bytes, t1, t2, t3, t4;
      var $async$send$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
              request.super$BaseRequest$finalize();
              $async$goto = 3;
              return A._asyncAwait(new A.ByteStream(A.Stream_Stream$value(request._bodyBytes, type$.List_int)).toBytes$0(), $async$send$1);
            case 3:
              // returning from await.
              bytes = $async$result;
              xhr = new XMLHttpRequest();
              t1 = $async$self._xhrs;
              t1.add$1(0, xhr);
              t2 = xhr;
              J.open$3$async$x(t2, request.method, request.url.toString$0(0), true);
              t2.responseType = "arraybuffer";
              t2.withCredentials = false;
              request.headers.forEach$1(0, J.get$setRequestHeader$x(xhr));
              completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_StreamedResponse), type$._AsyncCompleter_StreamedResponse);
              t2 = type$._EventStream_ProgressEvent;
              t3 = new A._EventStream(xhr, "load", false, t2);
              t4 = type$.void;
              t3.get$first(t3).then$1$1(new A.BrowserClient_send_closure(xhr, completer, request), t4);
              t2 = new A._EventStream(xhr, "error", false, t2);
              t2.get$first(t2).then$1$1(new A.BrowserClient_send_closure0(completer, request), t4);
              J.send$1$x(xhr, bytes);
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(completer.future, $async$send$1);
            case 7:
              // returning from await.
              t2 = $async$result;
              $async$returnValue = t2;
              $async$next = [1];
              // goto finally
              $async$goto = 5;
              break;
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              t1.remove$1(0, xhr);
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 6:
              // 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$send$1, $async$completer);
    },
    close$0(_) {
      var t1, t2, t3;
      for (t1 = this._xhrs, 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).abort();
      }
    }
  };
  A.BrowserClient_send_closure.prototype = {
    call$1(_) {
      var t4, t5, t6,
        t1 = this.xhr,
        body = A.NativeUint8List_NativeUint8List$view(type$.ByteBuffer._as(A._convertNativeToDart_XHR_Response(t1.response)), 0, null),
        t2 = A.Stream_Stream$value(body, type$.List_int),
        t3 = t1.status;
      t3.toString;
      t4 = body.length;
      t5 = this.request;
      t6 = B.HttpRequest_methods.get$responseHeaders(t1);
      t1 = t1.statusText;
      t2 = new A.StreamedResponse(A.toByteStream(new A.ByteStream(t2)), t5, t3, t1, t4, t6, false, true);
      t2.BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request(t3, t4, t6, false, true, t1, t5);
      this.completer.complete$1(0, t2);
    },
    $signature: 244
  };
  A.BrowserClient_send_closure0.prototype = {
    call$1(_) {
      this.completer.completeError$2(new A.ClientException("XMLHttpRequest error.", this.request.url), A.StackTrace_current());
    },
    $signature: 244
  };
  A.ByteStream.prototype = {
    toBytes$0() {
      var t1 = new A._Future($.Zone__current, type$._Future_Uint8List),
        completer = new A._AsyncCompleter(t1, type$._AsyncCompleter_Uint8List),
        sink = new A._ByteCallbackSink(new A.ByteStream_toBytes_closure(completer), new Uint8Array(1024));
      this.listen$4$cancelOnError$onDone$onError(sink.get$add(sink), true, sink.get$close(sink), completer.get$completeError());
      return t1;
    }
  };
  A.ByteStream_toBytes_closure.prototype = {
    call$1(bytes) {
      return this.completer.complete$1(0, new Uint8Array(A._ensureNativeList(bytes)));
    },
    $signature: 1024
  };
  A.ClientException.prototype = {
    toString$0(_) {
      return this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.Request.prototype = {
    get$encoding(_) {
      var t1, t2, _this = this;
      if (_this.get$_contentType() == null || !J.containsKey$1$x(_this.get$_contentType().parameters._collection$_map, "charset"))
        return _this._defaultEncoding;
      t1 = J.$index$asx(_this.get$_contentType().parameters._collection$_map, "charset");
      t1.toString;
      t2 = A.Encoding_getByName(t1);
      return t2 == null ? A.throwExpression(A.FormatException$('Unsupported encoding "' + t1 + '".', null, null)) : t2;
    },
    set$encoding(_, value) {
      var contentType, t1, _this = this;
      _this._checkFinalized$0();
      _this._defaultEncoding = value;
      contentType = _this.get$_contentType();
      if (contentType == null)
        return;
      t1 = type$.String;
      _this.set$_contentType(contentType.change$1$parameters(A.LinkedHashMap_LinkedHashMap$_literal(["charset", value.get$name(value)], t1, t1)));
    },
    set$body(_, value) {
      var contentType, t2, _this = this,
        t1 = _this.get$encoding(_this).encode$1(value);
      _this._checkFinalized$0();
      _this._bodyBytes = A.toUint8List(t1);
      contentType = _this.get$_contentType();
      if (contentType == null) {
        t1 = _this.get$encoding(_this);
        t2 = type$.String;
        _this.set$_contentType(A.MediaType$("text", "plain", A.LinkedHashMap_LinkedHashMap$_literal(["charset", t1.get$name(t1)], t2, t2)));
      } else if (!J.containsKey$1$x(contentType.parameters._collection$_map, "charset")) {
        t1 = _this.get$encoding(_this);
        t2 = type$.String;
        _this.set$_contentType(contentType.change$1$parameters(A.LinkedHashMap_LinkedHashMap$_literal(["charset", t1.get$name(t1)], t2, t2)));
      }
    },
    get$_contentType() {
      var contentType = this.headers.$index(0, "content-type");
      if (contentType == null)
        return null;
      return A.MediaType_MediaType$parse(contentType);
    },
    set$_contentType(value) {
      this.headers.$indexSet(0, "content-type", value.toString$0(0));
    },
    _checkFinalized$0() {
      if (!this._finalized)
        return;
      throw A.wrapException(A.StateError$("Can't modify a finalized Request."));
    }
  };
  A.Response0.prototype = {};
  A.StreamedResponse.prototype = {};
  A.mapToQuery_closure.prototype = {
    call$2(key, value) {
      var t1 = this.encoding,
        t2 = A._Uri__uriEncode(B.List_nxB, key, t1, true);
      return this.pairs.push(A._setArrayType([t2, A._Uri__uriEncode(B.List_nxB, value, t1, true)], type$.JSArray_String));
    },
    $signature: 71
  };
  A.mapToQuery_closure0.prototype = {
    call$1(pair) {
      var t1 = J.getInterceptor$asx(pair);
      return A.S(t1.$index(pair, 0)) + "=" + A.S(t1.$index(pair, 1));
    },
    $signature: 1025
  };
  A.CaseInsensitiveMap.prototype = {};
  A.CaseInsensitiveMap$from_closure.prototype = {
    call$1(key) {
      return key.toLowerCase();
    },
    $signature: 15
  };
  A.MediaType.prototype = {
    get$mimeType(_) {
      return this.type + "/" + this.subtype;
    },
    change$1$parameters(parameters) {
      var t1 = type$.String,
        parameters0 = A.LinkedHashMap_LinkedHashMap$from(this.parameters, t1, t1);
      parameters0.addAll$1(0, parameters);
      return A.MediaType$(this.type, this.subtype, parameters0);
    },
    toString$0(_) {
      var buffer = new A.StringBuffer(""),
        t1 = "" + this.type;
      buffer._contents = t1;
      t1 += "/";
      buffer._contents = t1;
      buffer._contents = t1 + this.subtype;
      J.forEach$1$ax(this.parameters._collection$_map, new A.MediaType_toString_closure(buffer));
      t1 = buffer._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A.MediaType_MediaType$parse_closure.prototype = {
    call$0() {
      var t2, t3, t4, t5, parameters, t6, t7, success, t8, value,
        scanner = A.StringScanner$(this.mediaType, null, null),
        t1 = $.$get$whitespace();
      scanner.scan$1(t1);
      t2 = $.$get$token();
      scanner.expect$1(t2);
      t3 = scanner.get$lastMatch().$index(0, 0);
      t3.toString;
      scanner.expect$1("/");
      scanner.expect$1(t2);
      t4 = scanner.get$lastMatch().$index(0, 0);
      t4.toString;
      scanner.scan$1(t1);
      t5 = type$.String;
      parameters = A.LinkedHashMap_LinkedHashMap$_empty(t5, t5);
      t5 = scanner.string;
      while (true) {
        t6 = scanner._lastMatch = B.JSString_methods.matchAsPrefix$2(";", t5, scanner._string_scanner$_position);
        t7 = scanner._lastMatchPosition = scanner._string_scanner$_position;
        success = t6 != null;
        t6 = success ? scanner._lastMatchPosition = scanner._string_scanner$_position = t6.get$end(t6) : t7;
        if (!success)
          break;
        t6 = scanner._lastMatch = t1.matchAsPrefix$2(0, t5, t6);
        scanner._lastMatchPosition = scanner._string_scanner$_position;
        if (t6 != null)
          scanner._lastMatchPosition = scanner._string_scanner$_position = t6.get$end(t6);
        scanner.expect$1(t2);
        if (scanner._string_scanner$_position !== scanner._lastMatchPosition)
          scanner._lastMatch = null;
        t6 = scanner._lastMatch.$index(0, 0);
        t6.toString;
        scanner.expect$1("=");
        t7 = scanner._lastMatch = t2.matchAsPrefix$2(0, t5, scanner._string_scanner$_position);
        t8 = scanner._lastMatchPosition = scanner._string_scanner$_position;
        success = t7 != null;
        if (success) {
          t7 = scanner._lastMatchPosition = scanner._string_scanner$_position = t7.get$end(t7);
          t8 = t7;
        } else
          t7 = t8;
        if (success) {
          if (t7 !== t8)
            scanner._lastMatch = null;
          t7 = scanner._lastMatch.$index(0, 0);
          t7.toString;
          value = t7;
        } else
          value = A.expectQuotedString(scanner);
        t7 = scanner._lastMatch = t1.matchAsPrefix$2(0, t5, scanner._string_scanner$_position);
        scanner._lastMatchPosition = scanner._string_scanner$_position;
        if (t7 != null)
          scanner._lastMatchPosition = scanner._string_scanner$_position = t7.get$end(t7);
        parameters.$indexSet(0, t6, value);
      }
      scanner.expectDone$0();
      return A.MediaType$(t3, t4, parameters);
    },
    $signature: 1026
  };
  A.MediaType_toString_closure.prototype = {
    call$2(attribute, value) {
      var t2, t3,
        t1 = this.buffer;
      t1._contents += "; " + attribute + "=";
      t2 = $.$get$nonToken()._nativeRegExp;
      t2 = t2.test(value);
      t3 = t1._contents;
      if (t2) {
        t1._contents = t3 + '"';
        t2 = t1._contents += A.stringReplaceAllFuncUnchecked(value, $.$get$_escapedChar(), new A.MediaType_toString__closure(), null);
        t1._contents = t2 + '"';
      } else
        t1._contents = t3 + value;
    },
    $signature: 71
  };
  A.MediaType_toString__closure.prototype = {
    call$1(match) {
      return "\\" + A.S(match.$index(0, 0));
    },
    $signature: 242
  };
  A.expectQuotedString_closure.prototype = {
    call$1(match) {
      var t1 = match.$index(0, 1);
      t1.toString;
      return t1;
    },
    $signature: 242
  };
  A.ExifData.prototype = {
    ExifData$from$1(other) {
    }
  };
  A.BitmapCompression.prototype = {
    toString$0(_) {
      return "BitmapCompression." + this._core$_name;
    }
  };
  A.BitmapFileHeader.prototype = {
    toJson$0() {
      var t2,
        t1 = this.__BitmapFileHeader_offset;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = this.__BitmapFileHeader_fileLength;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return A.LinkedHashMap_LinkedHashMap$_literal(["offset", t1, "fileLength", t2, "fileType", 19778], type$.String, type$.int);
    }
  };
  A.BmpInfo.prototype = {
    get$ignoreAlphaChannel() {
      var t1 = this.headerSize;
      if (t1 !== 40)
        t1 = t1 === 124 && this.v5alphaMask === 0;
      else
        t1 = true;
      return t1;
    },
    get$height(_) {
      return Math.abs(this._bmp_info$_height);
    },
    BmpInfo$2$fileHeader(p, fileHeader) {
      var _this = this;
      if (B.JSArray_methods.contains$1(A._setArrayType([1, 4, 8], type$.JSArray_int), _this.bpp))
        _this.readPalette$1(p);
      if (_this.headerSize === 124) {
        _this.v5redMask = p.readUint32$0();
        _this.v5greenMask = p.readUint32$0();
        _this.v5blueMask = p.readUint32$0();
        _this.v5alphaMask = p.readUint32$0();
      }
    },
    readPalette$1(p) {
      var _this = this,
        colors = _this.totalColors;
      if (colors === 0)
        colors = B.JSInt_methods._shlPositive$1(1, _this.bpp);
      _this.colorPalette = A.Iterable_Iterable$generate(colors, new A.BmpInfo_readPalette_closure(_this, p, _this.headerSize === 12 ? 3 : 4), type$.int).toList$0(0);
    },
    _readRgba$2$aDefault(input, aDefault) {
      var b, g, r, a;
      if (!B.JSInt_methods.get$isNegative(this._bmp_info$_height)) {
        b = input.readByte$0();
        g = input.readByte$0();
        r = input.readByte$0();
        a = aDefault == null ? input.readByte$0() : aDefault;
        return A.getColor(r, g, b, this.get$ignoreAlphaChannel() ? 255 : a);
      } else {
        r = input.readByte$0();
        b = input.readByte$0();
        g = input.readByte$0();
        a = aDefault == null ? input.readByte$0() : aDefault;
        return A.getColor(r, b, g, this.get$ignoreAlphaChannel() ? 255 : a);
      }
    },
    _readRgba$1(input) {
      return this._readRgba$2$aDefault(input, null);
    },
    decodeRgba$2(input, pixel) {
      var t1, b, left, t2, _this = this;
      if (_this.colorPalette != null) {
        t1 = _this.bpp;
        if (t1 === 4) {
          b = input.readByte$0();
          left = B.JSInt_methods._shrOtherPositive$1(b, 4);
          pixel.call$1(_this.colorPalette[left]);
          pixel.call$1(_this.colorPalette[b & 15]);
          return;
        } else if (t1 === 8) {
          b = input.readByte$0();
          pixel.call$1(_this.colorPalette[b]);
          return;
        }
      }
      t1 = _this.compression;
      if (t1 === B.BitmapCompression_0 && _this.bpp === 32)
        return pixel.call$1(_this._readRgba$1(input));
      else {
        t2 = _this.bpp;
        if (t2 === 32 && t1 === B.BitmapCompression_1)
          return pixel.call$1(_this._readRgba$1(input));
        else if (t2 === 24)
          return pixel.call$1(_this._readRgba$2$aDefault(input, 255));
        else
          throw A.wrapException(A.ImageException$("Unsupported bpp (" + t2 + ") or compression (" + t1.toString$0(0) + ")."));
      }
    },
    _compToString$0() {
      switch (this.compression.index) {
        case 0:
          return "BI_BITFIELDS";
        case 1:
          return "none";
      }
    },
    toString$0(_) {
      var _this = this;
      return A._JsonStringStringifier_stringify(A.LinkedHashMap_LinkedHashMap$_literal(["headerSize", _this.headerSize, "width", _this.BmpInfo_width, "height", _this.get$height(_this), "planes", _this.planes, "bpp", _this.bpp, "file", _this.file.toJson$0(), "compression", _this._compToString$0(), "imageSize", _this.imageSize, "xppm", _this.xppm, "yppm", _this.yppm, "totalColors", _this.totalColors, "importantColors", _this.importantColors, "readBottomUp", !B.JSInt_methods.get$isNegative(_this._bmp_info$_height), "v5redMask", A.debugBits32(_this.v5redMask), "v5greenMask", A.debugBits32(_this.v5greenMask), "v5blueMask", A.debugBits32(_this.v5blueMask), "v5alphaMask", A.debugBits32(_this.v5alphaMask)], type$.String, type$.Object), null, " ");
    }
  };
  A.BmpInfo_readPalette_closure.prototype = {
    call$1(i) {
      var t1 = this.colorBytes === 3 ? 100 : null;
      return this.$this._readRgba$2$aDefault(this.p, t1);
    },
    $signature: 32
  };
  A.BmpDecoder.prototype = {
    startDecode$1(bytes) {
      var t1, _null = null;
      if (!A.BitmapFileHeader_isValidFile(A.InputBuffer$(bytes, false, _null, 0)))
        return _null;
      t1 = A.InputBuffer$(bytes, false, _null, 0);
      this.__BmpDecoder__input = t1;
      return this.info = A.BmpInfo$(t1, _null);
    },
    decodeFrame$1(frame) {
      var t2, t3, rowStride, image, y, y0, line, bytes, _box_0, _box_00, _this = this,
        t1 = _this.__BmpDecoder__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this.info;
      t3 = t2.file.__BitmapFileHeader_offset;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t1.offset = t3;
      t3 = t2.BmpInfo_width;
      rowStride = B.JSInt_methods._shrOtherPositive$1(t3 * t2.bpp, 3);
      t1 = B.JSInt_methods.$mod(rowStride, 4);
      if (t1 !== 0)
        rowStride += 4 - t1;
      image = A.Image$0(t3, t2.get$height(t2), B.Channels_1);
      for (y = image.height - 1, t1 = image.width, y0 = y; y0 >= 0; --y0) {
        t2 = _this.info._bmp_info$_height;
        line = !(t2 === 0 ? 1 / t2 < 0 : t2 < 0) ? y0 : y - y0;
        t2 = _this.__BmpDecoder__input;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        bytes = t2.subset$1(rowStride);
        t2.offset = t2.offset + (bytes.end - bytes.offset);
        _box_0 = {};
        for (_box_0.x = 0; _box_0.x < t1; _box_00 = {}, _box_00.x = _box_0.x, _box_0 = _box_00)
          _this.info.decodeRgba$2(bytes, new A.BmpDecoder_decodeFrame_closure(_box_0, image, line));
      }
      return image;
    },
    decodeImage$1(data) {
      if (!A.BitmapFileHeader_isValidFile(A.InputBuffer$(data, false, null, 0)))
        return null;
      this.startDecode$1(data);
      return this.decodeFrame$1(0);
    }
  };
  A.BmpDecoder_decodeFrame_closure.prototype = {
    call$1(color) {
      return this.image.setPixel$3(this._box_0.x++, this.line, color);
    },
    $signature: 26
  };
  A.DibDecoder.prototype = {};
  A.DecodeInfo.prototype = {};
  A.Decoder.prototype = {};
  A.ExrAttribute.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.InternalExrB44Compressor.prototype = {
    numScanLines$0() {
      return this._numScanLines;
    },
    uncompress$5(input, x, y, width, height) {
      throw A.wrapException(A.ImageException$("B44 compression not yet supported."));
    },
    uncompress$3(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  A.ExrChannel.prototype = {
    get$type(_) {
      var t1 = this.__ExrChannel_type;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    ExrChannel$1(input) {
      var _this = this,
        t1 = input.readString$0();
      _this.name = t1;
      if (t1.length === 0) {
        _this.name = null;
        return;
      }
      _this.__ExrChannel_type = input.readUint32$0();
      input.readByte$0();
      input.offset += 3;
      _this.__ExrChannel_xSampling = input.readUint32$0();
      _this.__ExrChannel_ySampling = input.readUint32$0();
      t1 = _this.__ExrChannel_type;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      switch (t1) {
        case 0:
          _this.__ExrChannel_size = 4;
          break;
        case 1:
          _this.__ExrChannel_size = 2;
          break;
        case 2:
          _this.__ExrChannel_size = 4;
          break;
        default:
          throw A.wrapException(A.ImageException$("EXR Invalid pixel type: " + _this.get$type(_this)));
      }
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ExrCompressor.prototype = {
    uncompress$5(input, x, y, width, height) {
      throw A.wrapException(A.ImageException$("Unsupported compression type"));
    },
    uncompress$3(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  A.InternalExrCompressor.prototype = {};
  A.ExrHufDec.prototype = {};
  A.ExrImage.prototype = {
    ExrImage$1(bytes) {
      var t1, part, t2, _i, _this = this,
        input = A.InputBuffer$(bytes, false, null, 0);
      if (input.readUint32$0() !== 20000630)
        throw A.wrapException(A.ImageException$("File is not an OpenEXR image file."));
      t1 = _this.version = input.readByte$0();
      if (t1 !== 2)
        throw A.wrapException(A.ImageException$("Cannot read version " + t1 + " image files."));
      t1 = _this.__ExrImage_flags = input.readUint24$0();
      if ((t1 & 4294967289) >>> 0 !== 0)
        throw A.wrapException(A.ImageException$("The file format version number's flag field contains unrecognized flags."));
      if ((t1 & 16) === 0) {
        part = A.InternalExrPart$((t1 & 2) !== 0, input);
        if (part.width != null)
          _this._parts.push(part);
      } else
        for (t1 = _this._parts; true;) {
          t2 = _this.__ExrImage_flags;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          part = A.InternalExrPart$((t2 & 2) !== 0, input);
          if (part.width == null)
            break;
          t1.push(part);
        }
      t1 = _this._parts;
      t2 = t1.length;
      if (t2 === 0)
        throw A.wrapException(A.ImageException$("Error reading image header"));
      for (_i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t1[_i].readOffsets$1(input);
      _this._readImage$1(input);
    },
    _readImage$1(input) {
      var t1, pi, part, framebuffer, t2, t3, ci, ch, t4, t5, t6, t7, t8, _this = this;
      for (t1 = _this._parts, pi = 0; pi < t1.length; ++pi) {
        part = t1[pi];
        framebuffer = part.framebuffer;
        for (t2 = part.channels, t3 = framebuffer.slices, ci = 0; ci < t2.length; ++ci) {
          ch = t2[ci];
          if (!t3.containsKey$1(0, ch.name)) {
            t4 = part.width;
            t4.toString;
            _this.width = t4;
            t5 = part.height;
            t5.toString;
            _this.height = t5;
            t6 = ch.name;
            t7 = ch.__ExrChannel_type;
            if (t7 === $)
              A.throwUnnamedLateFieldNI();
            t7 = t7 === 0 ? 0 : 3;
            t8 = ch.__ExrChannel_size;
            if (t8 === $)
              A.throwUnnamedLateFieldNI();
            t8 = 8 * t8;
            framebuffer.addSlice$1(new A.HdrSlice(t6, t4, t5, t7, t8, A.HdrSlice_allocateDataForType(t4 * t5, t7, t8)));
          }
        }
        if (part._tiled)
          _this._readTiledPart$2(pi, input);
        else
          _this._readScanlinePart$2(pi, input);
      }
    },
    _readTiledPart$2(pi, input) {
      var multiPart, compressor, offsets, imgData, t2, ly, l, t3, lx, ty, oi, tx, tileX, tileY, bytes, t4, ty0, t5, uncompressedData, tileWidth, tileHeight, len, numChannels, si, yi, ci, ch, slice, tx0, t6, xx, bi, t7, si0, _this = this,
        part = _this._parts[pi],
        t1 = _this.__ExrImage_flags;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      multiPart = (t1 & 16) !== 0;
      compressor = part._compressor;
      offsets = part._offsets;
      imgData = A.InputBuffer$from(input, null, 0);
      t1 = part.channels;
      t2 = part.framebuffer.slices;
      ly = 0;
      l = 0;
      while (true) {
        t3 = part._numYLevels;
        t3.toString;
        if (!(ly < t3))
          break;
        lx = 0;
        while (true) {
          t3 = part._numXLevels;
          t3.toString;
          if (!(lx < t3))
            break;
          for (t3 = l !== 0, ty = 0, oi = 0; ty < part._numYTiles[ly]; ++ty)
            for (tx = 0; tx < part._numXTiles[lx]; ++tx, ++oi) {
              if (t3)
                break;
              imgData.offset = offsets[l][oi];
              if (multiPart)
                if (imgData.readUint32$0() !== pi)
                  throw A.wrapException(A.ImageException$("Invalid Image Data"));
              tileX = imgData.readUint32$0();
              tileY = imgData.readUint32$0();
              imgData.readUint32$0();
              imgData.readUint32$0();
              bytes = imgData.subset$1(imgData.readUint32$0());
              imgData.offset = imgData.offset + (bytes.end - bytes.offset);
              t4 = part._tileHeight;
              t4.toString;
              ty0 = tileY * t4;
              t5 = part._tileWidth;
              t5.toString;
              compressor.toString;
              _this.width;
              _this.height;
              uncompressedData = compressor.uncompress$5(bytes, tileX * t5, ty0, t5, t4);
              tileWidth = compressor.decodedWidth;
              tileHeight = compressor.decodedHeight;
              len = uncompressedData.length;
              numChannels = t1.length;
              si = 0;
              yi = 0;
              while (true) {
                if (!(yi < tileHeight && ty0 < _this.height))
                  break;
                for (ci = 0; ci < numChannels; ++ci) {
                  ch = t1[ci];
                  t4 = t2.$index(0, ch.name).data.buffer;
                  slice = new Uint8Array(t4, 0);
                  if (si >= len)
                    break;
                  t4 = part._tileWidth;
                  t4.toString;
                  tx0 = tileX * t4;
                  for (t4 = ch.__ExrChannel_size, t5 = part.width, t6 = part.height, xx = 0; xx < tileWidth; ++xx, ++tx0) {
                    if (t4 === $)
                      A.throwUnnamedLateFieldNI();
                    bi = 0;
                    for (; bi < t4; ++bi, si = si0) {
                      t5.toString;
                      if (tx0 < t5) {
                        t6.toString;
                        t7 = ty0 < t6;
                      } else
                        t7 = false;
                      si0 = si + 1;
                      if (t7)
                        slice[(ty0 * t5 + tx0) * t4 + bi] = uncompressedData[si];
                    }
                  }
                }
                ++yi;
                ++ty0;
              }
            }
          ++lx;
          ++l;
        }
        ++ly;
      }
    },
    _readScanlinePart$2(pi, input) {
      var multiPart, compressor, offsets, linesInBuffer, t2, fbi, imgData, t3, t4, yy, _i, t5, t6, bytes, uncompressedData, len, numChannels, yi, si, ci, ch, slice, xx, bi, t7, si0,
        part = this._parts[pi],
        t1 = this.__ExrImage_flags;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      multiPart = (t1 & 16) !== 0;
      compressor = part._compressor;
      offsets = part._offsets[0];
      linesInBuffer = part._linesInBuffer;
      t1 = part.channels;
      t2 = t1.length;
      fbi = new Uint32Array(t2);
      imgData = A.InputBuffer$from(input, null, 0);
      for (t2 = offsets.length, t3 = part.framebuffer.slices, t4 = compressor != null, yy = 0, _i = 0; _i < t2; ++_i) {
        imgData.offset = offsets[_i];
        if (multiPart)
          if (imgData.readUint32$0() !== pi)
            throw A.wrapException(A.ImageException$("Invalid Image Data"));
        t5 = imgData.readUint32$0();
        t6 = $.$get$__uint32();
        t6[0] = t5;
        t5 = $.$get$__uint32ToInt32();
        t5[0];
        t6[0] = imgData.readUint32$0();
        bytes = imgData.subset$1(t5[0]);
        imgData.offset = imgData.offset + (bytes.end - bytes.offset);
        uncompressedData = t4 ? compressor.uncompress$3(bytes, 0, yy) : bytes.toUint8List$0();
        len = uncompressedData.length;
        numChannels = t1.length;
        linesInBuffer.toString;
        yi = 0;
        while (true) {
          if (!(yi < linesInBuffer && yy < this.height))
            break;
          si = part._offsetInLineBuffer[yy];
          if (si >= len)
            break;
          for (ci = 0; ci < numChannels; ++ci) {
            ch = t1[ci];
            t5 = t3.$index(0, ch.name).data.buffer;
            slice = new Uint8Array(t5, 0);
            if (si >= len)
              break;
            t5 = part.width;
            t5.toString;
            t6 = ch.__ExrChannel_size;
            xx = 0;
            for (; xx < t5; ++xx) {
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              bi = 0;
              for (; bi < t6; ++bi, si = si0) {
                t7 = fbi[ci];
                fbi[ci] = t7 + 1;
                si0 = si + 1;
                slice[t7] = uncompressedData[si];
              }
            }
          }
          ++yi;
          ++yy;
        }
      }
    }
  };
  A.ExrPart.prototype = {
    ExrPart$2(_tiled, input, _box_0) {
      var t1, t2, t3, $name, size, bytes, channel, t4, t5, t6, t7, t8, s, minX, maxX, minY, maxY, num, w, h, _i, ch, nBytes, y, maxBytesPerLine, offset, i, _this = this,
        _s25_ = "Unknown LevelMode format.";
      for (t1 = _this.attributes, t2 = type$.JSArray_int, t3 = _this.channels; true;) {
        $name = input.readString$0();
        if ($name.length === 0)
          break;
        input.readString$0();
        size = input.readUint32$0();
        bytes = input.subset$1(size);
        input.offset = input.offset + (bytes.end - bytes.offset);
        t1.$indexSet(0, $name, new A.ExrAttribute($name, size, bytes));
        switch ($name) {
          case "channels":
            for (; true;) {
              channel = new A.ExrChannel();
              channel.ExrChannel$1(bytes);
              if (channel.name == null)
                break;
              t3.push(channel);
            }
            break;
          case "chromaticities":
            t4 = new Float32Array(8);
            _this.__ExrPart_chromaticities = t4;
            t5 = bytes.readUint32$0();
            t6 = $.$get$__uint32();
            t6[0] = t5;
            t5 = $.$get$__uint32ToFloat32();
            t4[0] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[1] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[2] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[3] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[4] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[5] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[6] = t5[0];
            t4 = _this.__ExrPart_chromaticities;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t6[0] = bytes.readUint32$0();
            t4[7] = t5[0];
            break;
          case "compression":
            t4 = bytes.buffer[bytes.offset++];
            _this._compressionType = t4;
            if (t4 > 7)
              throw A.wrapException(A.ImageException$("EXR Invalid compression type"));
            break;
          case "dataWindow":
            t4 = bytes.readUint32$0();
            t5 = $.$get$__uint32();
            t5[0] = t4;
            t4 = $.$get$__uint32ToInt32();
            t6 = t4[0];
            t5[0] = bytes.readUint32$0();
            t7 = t4[0];
            t5[0] = bytes.readUint32$0();
            t8 = t4[0];
            t5[0] = bytes.readUint32$0();
            t4 = _this.__ExrPart_dataWindow = A._setArrayType([t6, t7, t8, t4[0]], t2);
            _this.width = t4[2] - t4[0] + 1;
            _this.height = t4[3] - t4[1] + 1;
            break;
          case "displayWindow":
            t4 = bytes.readUint32$0();
            t5 = $.$get$__uint32();
            t5[0] = t4;
            t4 = $.$get$__uint32ToInt32();
            t4[0];
            t5[0] = bytes.readUint32$0();
            t4[0];
            t5[0] = bytes.readUint32$0();
            t4[0];
            t5[0] = bytes.readUint32$0();
            t4[0];
            break;
          case "lineOrder":
            break;
          case "pixelAspectRatio":
            t4 = bytes.readUint32$0();
            $.$get$__uint32()[0] = t4;
            $.$get$__uint32ToFloat32()[0];
            break;
          case "screenWindowCenter":
            t4 = bytes.readUint32$0();
            t5 = $.$get$__uint32();
            t5[0] = t4;
            t4 = $.$get$__uint32ToFloat32();
            t4[0];
            t5[0] = bytes.readUint32$0();
            t4[0];
            break;
          case "screenWindowWidth":
            t4 = bytes.readUint32$0();
            $.$get$__uint32()[0] = t4;
            $.$get$__uint32ToFloat32()[0];
            break;
          case "tiles":
            _this._tileWidth = bytes.readUint32$0();
            _this._tileHeight = bytes.readUint32$0();
            t4 = bytes.buffer[bytes.offset++];
            _this._tileLevelMode = t4 & 15;
            _this._tileRoundingMode = B.JSInt_methods._shrOtherPositive$1(t4, 4) & 15;
            break;
          case "type":
            s = bytes.readString$0();
            if (s !== "deepscanline")
              if (s !== "deeptile")
                throw A.wrapException(A.ImageException$("EXR Invalid type: " + s));
            break;
          default:
            break;
        }
      }
      if (_this._tiled) {
        t1 = _this.__ExrPart_dataWindow;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        minX = t1[0];
        maxX = t1[2];
        minY = t1[1];
        maxY = t1[3];
        switch (_this._tileLevelMode) {
          case 0:
            num = 1;
            break;
          case 1:
            t1 = Math.max(maxX - minX + 1, maxY - minY + 1);
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(t1) : _this._ceilLog2$1(t1)) + 1;
            break;
          case 2:
            w = maxX - minX + 1;
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(w) : _this._ceilLog2$1(w)) + 1;
            break;
          default:
            A.throwExpression(A.ImageException$(_s25_));
            num = 0;
        }
        _this._numXLevels = num;
        t1 = _this.__ExrPart_dataWindow;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        minX = t1[0];
        maxX = t1[2];
        minY = t1[1];
        maxY = t1[3];
        switch (_this._tileLevelMode) {
          case 0:
            num = 1;
            break;
          case 1:
            t1 = Math.max(maxX - minX + 1, maxY - minY + 1);
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(t1) : _this._ceilLog2$1(t1)) + 1;
            break;
          case 2:
            h = maxY - minY + 1;
            num = (_this._tileRoundingMode === 0 ? _this._floorLog2$1(h) : _this._ceilLog2$1(h)) + 1;
            break;
          default:
            A.throwExpression(A.ImageException$(_s25_));
            num = 0;
        }
        _this._numYLevels = num;
        if (_this._tileLevelMode !== 2)
          _this._numYLevels = 1;
        t1 = _this._numXLevels;
        t1.toString;
        t2 = _this.__ExrPart_dataWindow;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        _this._numXTiles = _this._calculateNumTiles$5(t1, t2[0], t2[2], _this._tileWidth, _this._tileRoundingMode);
        t2 = _this._numYLevels;
        t2.toString;
        t1 = _this.__ExrPart_dataWindow;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._numYTiles = _this._calculateNumTiles$5(t2, t1[1], t1[3], _this._tileHeight, _this._tileRoundingMode);
        t1 = _this._calculateBytesPerPixel$0();
        _this.__ExrPart__bytesPerPixel = t1;
        t2 = _this._tileWidth;
        t2.toString;
        t2 = t1 * t2;
        _this._maxBytesPerTileLine = t2;
        _this._compressor = A.ExrCompressor_ExrCompressor(_this._compressionType, _this, t2, _this._tileHeight);
        _box_0.ly = _box_0.lx = 0;
        t2 = _this._numXLevels;
        t2.toString;
        t1 = _this._numYLevels;
        t1.toString;
        _this._offsets = A.List_List$generate(t2 * t1, new A.ExrPart_closure(_box_0, _this), true, type$.Uint32List);
      } else {
        t1 = _this.height;
        t1.toString;
        t2 = _this.__ExrPart__bytesPerLine = new Uint32Array(t1 + 1);
        for (t4 = t3.length, t5 = _this.__ExrPart_dataWindow, t6 = _this.width, _i = 0; _i < t4; ++_i) {
          ch = t3[_i];
          t7 = ch.__ExrChannel_size;
          if (t7 === $)
            A.throwUnnamedLateFieldNI();
          t6.toString;
          t8 = ch.__ExrChannel_xSampling;
          if (t8 === $)
            A.throwUnnamedLateFieldNI();
          nBytes = B.JSInt_methods.$tdiv(t7 * t6, t8);
          for (t7 = ch.__ExrChannel_ySampling, y = 0; y < t1; ++y) {
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t8 = t5[1];
            if (t7 === $)
              A.throwUnnamedLateFieldNI();
            if (B.JSInt_methods.$mod(y + t8, t7) === 0)
              t2[y] = t2[y] + nBytes;
          }
        }
        for (maxBytesPerLine = 0, y = 0; y < t1; ++y)
          maxBytesPerLine = Math.max(maxBytesPerLine, t2[y]);
        t1 = A.ExrCompressor_ExrCompressor(_this._compressionType, _this, maxBytesPerLine, null);
        _this._compressor = t1;
        t1 = _this._linesInBuffer = t1.numScanLines$0();
        t2 = _this.__ExrPart__bytesPerLine;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t2.length;
        t4 = new Uint32Array(t3);
        _this._offsetInLineBuffer = t4;
        for (--t3, offset = 0, i = 0; i <= t3; ++i) {
          if (B.JSInt_methods.$mod(i, t1) === 0)
            offset = 0;
          t4[i] = offset;
          offset += t2[i];
        }
        t2 = _this.height;
        t2.toString;
        t1 = B.JSInt_methods.$tdiv(t2 + t1, t1);
        _this._offsets = A._setArrayType([new Uint32Array(t1 - 1)], type$.JSArray_nullable_Uint32List);
      }
    },
    _floorLog2$1(x) {
      var y;
      for (y = 0; x > 1;) {
        ++y;
        x = B.JSInt_methods._shrOtherPositive$1(x, 1);
      }
      return y;
    },
    _ceilLog2$1(x) {
      var y, r;
      for (y = 0, r = 0; x > 1;) {
        if ((x & 1) !== 0)
          r = 1;
        ++y;
        x = B.JSInt_methods._shrOtherPositive$1(x, 1);
      }
      return y + r;
    },
    _calculateBytesPerPixel$0() {
      var t1, t2, bytesPerPixel, _i, t3;
      for (t1 = this.channels, t2 = t1.length, bytesPerPixel = 0, _i = 0; _i < t2; ++_i) {
        t3 = t1[_i].__ExrChannel_size;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        bytesPerPixel += t3;
      }
      return bytesPerPixel;
    },
    _calculateNumTiles$5(numLevels, min, max, size, rmode) {
      var t1, a, i, b, size0, t2,
        _list = J.JSArray_JSArray$allocateFixed(numLevels, type$.int);
      for (t1 = rmode === 1, a = max - min + 1, i = 0; i < numLevels; ++i) {
        b = B.JSInt_methods._shlPositive$1(1, i);
        size0 = B.JSInt_methods.$tdiv(a, b);
        if (t1 && size0 * b < a)
          ++size0;
        t2 = Math.max(size0, 1);
        size.toString;
        _list[i] = B.JSInt_methods.$tdiv(t2 + size - 1, size);
      }
      return _list;
    }
  };
  A.ExrPart_closure.prototype = {
    call$1(l) {
      var t5, t6, result, lx,
        t1 = this.$this,
        t2 = t1._numXTiles,
        t3 = this._box_0,
        t4 = t3.lx;
      t2 = t2[t4];
      t5 = t1._numYTiles;
      t6 = t3.ly;
      t5 = t5[t6];
      result = new Uint32Array(t2 * t5);
      lx = t4 + 1;
      t3.lx = lx;
      if (lx === t1._numXLevels) {
        t3.lx = 0;
        t3.ly = t6 + 1;
      }
      return result;
    },
    $signature: 1028
  };
  A.InternalExrPart.prototype = {
    readOffsets$1(input) {
      var i, j, t1, numOffsets, _this = this;
      if (_this._tiled)
        for (i = 0; i < _this._offsets.length; ++i)
          for (j = 0; t1 = _this._offsets[i], j < t1.length; ++j)
            t1[j] = input.readUint64$0();
      else {
        numOffsets = _this._offsets[0].length;
        for (i = 0; i < numOffsets; ++i)
          _this._offsets[0][i] = input.readUint64$0();
      }
    }
  };
  A.InternalExrPizCompressor.prototype = {
    InternalExrPizCompressor$3(header, _maxScanLineSize, _numScanLines) {
      var _i, t1, tmpBufferSize, _this = this,
        _length = header.channels.length,
        _list = J.JSArray_JSArray$allocateFixed(_length, type$._PizChannelData);
      for (_i = 0; _i < _length; ++_i)
        _list[_i] = new A._PizChannelData();
      _this.__InternalExrPizCompressor__channelData = _list;
      t1 = _this._exr_piz_compressor$_maxScanLineSize;
      t1.toString;
      tmpBufferSize = B.JSInt_methods._tdivFast$1(t1 * _this._exr_piz_compressor$_numScanLines, 2);
      _this._tmpBuffer = new Uint16Array(tmpBufferSize);
    },
    numScanLines$0() {
      return this._exr_piz_compressor$_numScanLines;
    },
    uncompress$5(input, x, y, width, height) {
      var maxX, maxY, t1, t2, channels, numChannels, tmpBufferEnd, i, ch, cd, a1, b1, t3, minNonZero, maxNonZero, bitmap, b, len, j, j0, lut, maxValue, t4, t5, _this = this;
      if (width == null)
        width = _this._header.width;
      if (height == null)
        height = _this._header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t1 = _this._header;
      t2 = t1.width;
      t2.toString;
      if (maxX > t2)
        maxX = t2 - 1;
      t2 = t1.height;
      t2.toString;
      if (maxY > t2)
        maxY = t2 - 1;
      _this.decodedWidth = maxX - x + 1;
      _this.decodedHeight = maxY - y + 1;
      channels = t1.channels;
      numChannels = channels.length;
      for (tmpBufferEnd = 0, i = 0; i < numChannels; ++i) {
        ch = channels[i];
        t1 = _this.__InternalExrPizCompressor__channelData;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        cd = t1[i];
        cd.___PizChannelData_end = cd.___PizChannelData_start = tmpBufferEnd;
        t1 = ch.__ExrChannel_xSampling;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        a1 = B.JSInt_methods.$tdiv(x, t1);
        b1 = B.JSInt_methods.$tdiv(maxX, t1);
        t1 = a1 * t1 < x ? 0 : 1;
        t1 = b1 - a1 + t1;
        cd.___PizChannelData_nx = t1;
        t2 = ch.__ExrChannel_ySampling;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        a1 = B.JSInt_methods.$tdiv(y, t2);
        b1 = B.JSInt_methods.$tdiv(maxY, t2);
        t3 = a1 * t2 < y ? 0 : 1;
        t3 = b1 - a1 + t3;
        cd.___PizChannelData_ny = t3;
        cd.___PizChannelData_ys = t2;
        t2 = ch.__ExrChannel_size;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = t2 / 2 | 0;
        cd.___PizChannelData_size = t2;
        tmpBufferEnd += t1 * t3 * t2;
      }
      minNonZero = input.readUint16$0();
      maxNonZero = input.readUint16$0();
      if (maxNonZero >= 8192)
        throw A.wrapException(A.ImageException$("Error in header for PIZ-compressed data (invalid bitmap size)."));
      bitmap = new Uint8Array(8192);
      if (minNonZero <= maxNonZero) {
        b = input.readBytes$1(maxNonZero - minNonZero + 1);
        for (t1 = b.offset, len = b.end - t1, t2 = b.buffer, j = minNonZero, i = 0; i < len; ++i, j = j0) {
          j0 = j + 1;
          bitmap[j] = t2[t1 + i];
        }
      }
      lut = new Uint16Array(65536);
      maxValue = _this._reverseLutFromBitmap$2(bitmap, lut);
      A.ExrHuffman_uncompress(input, input.readUint32$0(), _this._tmpBuffer, tmpBufferEnd);
      for (i = 0; i < numChannels; ++i) {
        t1 = _this.__InternalExrPizCompressor__channelData;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        cd = t1[i];
        j = 0;
        while (true) {
          t1 = cd.___PizChannelData_size;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (!(j < t1))
            break;
          t2 = _this._tmpBuffer;
          t2.toString;
          t3 = cd.___PizChannelData_start;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t4 = cd.___PizChannelData_nx;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t5 = cd.___PizChannelData_ny;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          A.ExrWavelet_decode(t2, t3 + j, t4, t1, t5, t4 * t1, maxValue);
          ++j;
        }
      }
      t1 = _this._tmpBuffer;
      t1.toString;
      _this._applyLut$3(lut, t1, tmpBufferEnd);
      t1 = _this._exr_piz_compressor$_output;
      if (t1 == null) {
        t1 = _this._exr_piz_compressor$_maxScanLineSize;
        t1.toString;
        t1 = _this._exr_piz_compressor$_output = A.OutputBuffer$(t1 * _this._exr_piz_compressor$_numScanLines + 73728);
      }
      t1.length = 0;
      for (; y <= maxY; ++y)
        for (i = 0; i < numChannels; ++i) {
          t1 = _this.__InternalExrPizCompressor__channelData;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          cd = t1[i];
          t1 = cd.___PizChannelData_ys;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (B.JSInt_methods.$mod(y, t1) !== 0)
            continue;
          t1 = cd.___PizChannelData_nx;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t2 = cd.___PizChannelData_size;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          x = t1 * t2;
          for (; x > 0; --x) {
            t1 = _this._exr_piz_compressor$_output;
            t1.toString;
            t2 = _this._tmpBuffer;
            t2.toString;
            t3 = cd.___PizChannelData_end;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            cd.___PizChannelData_end = t3 + 1;
            t1.writeUint16$1(t2[t3]);
          }
        }
      t1 = _this._exr_piz_compressor$_output;
      return A.NativeUint8List_NativeUint8List$view(t1._output_buffer$_buffer.buffer, 0, t1.length);
    },
    uncompress$3(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    },
    _applyLut$3(lut, data, nData) {
      var i;
      for (i = 0; i < nData; ++i)
        data[i] = lut[data[i]];
    },
    _reverseLutFromBitmap$2(bitmap, lut) {
      var k, i, k0, k1;
      for (k = 0, i = 0; i < 65536; ++i)
        if (i === 0 || (bitmap[i >>> 3] & 1 << (i & 7)) >>> 0 !== 0) {
          k0 = k + 1;
          lut[k] = i;
          k = k0;
        }
      for (k0 = k; k0 < 65536; k0 = k1) {
        k1 = k0 + 1;
        lut[k0] = 0;
      }
      return k - 1;
    }
  };
  A._PizChannelData.prototype = {};
  A.InternalExrPxr24Compressor.prototype = {
    numScanLines$0() {
      return this._exr_pxr24_compressor$_numScanLines;
    },
    uncompress$5(input, x, y, width, height) {
      var ptr, pixel, pixelBytes, maxX, maxY, t2, numChannels, yi, tmpEnd, ci, ch, a1, b1, n, j, t3, t4, k, _this = this,
        data = B.C__ZLibDecoder.decodeBuffer$2$verify(A.InputStream$(input.toUint8List$0(), 1, null, 0), false),
        t1 = _this._output;
      if (t1 == null) {
        t1 = _this._maxScanLineSize;
        t1.toString;
        t1 = _this._output = A.OutputBuffer$(_this._exr_pxr24_compressor$_numScanLines * t1);
      }
      t1.length = 0;
      ptr = A._setArrayType([0, 0, 0, 0], type$.JSArray_int);
      pixel = new Uint32Array(1);
      pixelBytes = A.NativeUint8List_NativeUint8List$view(pixel.buffer, 0, null);
      if (width == null)
        width = _this._header.width;
      if (height == null)
        height = _this._header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t1 = _this._header;
      t2 = t1.width;
      t2.toString;
      if (maxX > t2)
        maxX = t2 - 1;
      t2 = t1.height;
      t2.toString;
      if (maxY > t2)
        maxY = t2 - 1;
      _this.decodedWidth = maxX - x + 1;
      _this.decodedHeight = maxY - y + 1;
      t1 = t1.channels;
      numChannels = t1.length;
      for (yi = y, tmpEnd = 0; yi <= maxY; ++yi)
        for (ci = 0; ci < numChannels; ++ci) {
          ch = t1[ci];
          t2 = ch.__ExrChannel_ySampling;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          if (B.JSInt_methods.$mod(y, t2) !== 0)
            continue;
          t2 = ch.__ExrChannel_xSampling;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          a1 = B.JSInt_methods.$tdiv(x, t2);
          b1 = B.JSInt_methods.$tdiv(maxX, t2);
          t2 = a1 * t2 < x ? 0 : 1;
          n = b1 - a1 + t2;
          pixel[0] = 0;
          t2 = ch.__ExrChannel_type;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          switch (t2) {
            case 0:
              ptr[0] = tmpEnd;
              t2 = tmpEnd + n;
              ptr[1] = t2;
              t2 += n;
              ptr[2] = t2;
              tmpEnd = t2 + n;
              for (j = 0; j < n; ++j) {
                t2 = ptr[0];
                ptr[0] = t2 + 1;
                t2 = data[t2];
                t3 = ptr[1];
                ptr[1] = t3 + 1;
                t3 = data[t3];
                t4 = ptr[2];
                ptr[2] = t4 + 1;
                t4 = data[t4];
                pixel[0] = pixel[0] + ((t2 << 24 | t3 << 16 | t4 << 8) >>> 0);
                for (k = 0; k < 4; ++k)
                  _this._output.writeByte$1(pixelBytes[k]);
              }
              break;
            case 1:
              ptr[0] = tmpEnd;
              t2 = tmpEnd + n;
              ptr[1] = t2;
              tmpEnd = t2 + n;
              for (j = 0; j < n; ++j) {
                t2 = ptr[0];
                ptr[0] = t2 + 1;
                t2 = data[t2];
                t3 = ptr[1];
                ptr[1] = t3 + 1;
                t3 = data[t3];
                pixel[0] = pixel[0] + ((t2 << 8 | t3) >>> 0);
                for (k = 0; k < 2; ++k)
                  _this._output.writeByte$1(pixelBytes[k]);
              }
              break;
            case 2:
              ptr[0] = tmpEnd;
              t2 = tmpEnd + n;
              ptr[1] = t2;
              t2 += n;
              ptr[2] = t2;
              tmpEnd = t2 + n;
              for (j = 0; j < n; ++j) {
                t2 = ptr[0];
                ptr[0] = t2 + 1;
                t2 = data[t2];
                t3 = ptr[1];
                ptr[1] = t3 + 1;
                t3 = data[t3];
                t4 = ptr[2];
                ptr[2] = t4 + 1;
                t4 = data[t4];
                pixel[0] = pixel[0] + ((t2 << 24 | t3 << 16 | t4 << 8) >>> 0);
                for (k = 0; k < 4; ++k)
                  _this._output.writeByte$1(pixelBytes[k]);
              }
              break;
          }
        }
      t1 = _this._output;
      return A.NativeUint8List_NativeUint8List$view(t1._output_buffer$_buffer.buffer, 0, t1.length);
    },
    uncompress$3(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  A.InternalExrRleCompressor.prototype = {
    numScanLines$0() {
      return 1;
    },
    uncompress$5(input, x, y, width, height) {
      var maxX, maxY, t2, t3, n, count, count0, data, len, i, t10, si, si0, t11, t20, _this = this,
        t1 = input.end,
        out = A.OutputBuffer$((t1 - input.offset) * 2);
      if (width == null)
        width = _this._header.width;
      if (height == null)
        height = _this._header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t2 = _this._header;
      t3 = t2.width;
      t3.toString;
      if (maxX > t3)
        maxX = t3 - 1;
      t2 = t2.height;
      t2.toString;
      if (maxY > t2)
        maxY = t2 - 1;
      _this.decodedWidth = maxX - x + 1;
      _this.decodedHeight = maxY - y + 1;
      for (; t2 = input.offset, t2 < t1;) {
        t3 = input.buffer;
        input.offset = t2 + 1;
        t2 = t3[t2];
        $.$get$__uint8()[0] = t2;
        n = $.$get$__uint8ToInt8()[0];
        if (n < 0) {
          count = -n;
          for (; count0 = count - 1, count > 0; count = count0)
            out.writeByte$1(input.buffer[input.offset++]);
        } else
          for (count = n; count0 = count - 1, count >= 0; count = count0)
            out.writeByte$1(input.buffer[input.offset++]);
      }
      data = A.NativeUint8List_NativeUint8List$view(out._output_buffer$_buffer.buffer, 0, out.length);
      for (len = data.length, i = 1; i < len; ++i)
        data[i] = data[i - 1] + data[i] - 128;
      t1 = _this._exr_rle_compressor$_outCache;
      if (t1 == null || t1.length !== len)
        t1 = _this._exr_rle_compressor$_outCache = new Uint8Array(len);
      t2 = B.JSInt_methods._tdivFast$1(len + 1, 2);
      for (t10 = 0, si = 0; true; t2 = t20, t10 = t11) {
        if (si < len) {
          si0 = si + 1;
          t11 = t10 + 1;
          t1[si] = data[t10];
        } else
          break;
        if (si0 < len) {
          si = si0 + 1;
          t20 = t2 + 1;
          t1[si0] = data[t2];
        } else
          break;
      }
      t1.toString;
      return t1;
    },
    uncompress$3(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  A.InternalExrZipCompressor.prototype = {
    numScanLines$0() {
      return this._exr_zip_compressor$_numScanLines;
    },
    uncompress$5(input, x, y, width, height) {
      var maxX, maxY, t1, t2, len, i, t10, si, si0, t11, t20, _this = this,
        data = B.C__ZLibDecoder.decodeBuffer$2$verify(A.InputStream$(input.toUint8List$0(), 1, null, 0), false);
      if (width == null)
        width = _this._header.width;
      if (height == null)
        height = _this._header._linesInBuffer;
      width.toString;
      maxX = x + width - 1;
      height.toString;
      maxY = y + height - 1;
      t1 = _this._header;
      t2 = t1.width;
      t2.toString;
      if (maxX > t2)
        maxX = t2 - 1;
      t1 = t1.height;
      t1.toString;
      if (maxY > t1)
        maxY = t1 - 1;
      _this.decodedWidth = maxX - x + 1;
      _this.decodedHeight = maxY - y + 1;
      for (len = data.length, i = 1; i < len; ++i)
        data[i] = data[i - 1] + data[i] - 128;
      t1 = _this._outCache;
      if (t1 == null || t1.length !== len)
        t1 = _this._outCache = new Uint8Array(len);
      t2 = B.JSInt_methods._tdivFast$1(len + 1, 2);
      for (t10 = 0, si = 0; true; t2 = t20, t10 = t11) {
        if (si < len) {
          si0 = si + 1;
          t11 = t10 + 1;
          t1[si] = data[t10];
        } else
          break;
        if (si0 < len) {
          si = si0 + 1;
          t20 = t2 + 1;
          t1[si0] = data[t2];
        } else
          break;
      }
      t1.toString;
      return t1;
    },
    uncompress$3(input, x, y) {
      return this.uncompress$5(input, x, y, null, null);
    }
  };
  A.ExrDecoder.prototype = {
    decodeFrame$1(frame) {
      var t1 = this.exrImage;
      if (t1 == null)
        return null;
      return A.hdrToImage(t1._parts[frame].framebuffer, 1);
    },
    decodeImage$1(bytes) {
      var t1 = new A.ExrImage(A._setArrayType([], type$.JSArray_InternalExrPart));
      t1.ExrImage$1(bytes);
      this.exrImage = t1;
      return this.decodeFrame$1(0);
    }
  };
  A.GifColorMap.prototype = {
    $index(_, index) {
      return this.colors[index];
    },
    $indexSet(_, index, value) {
      this.colors[index] = value;
      return value;
    },
    setColor$4(index, r, g, b) {
      var ci = index * 3,
        t1 = this.colors;
      t1[ci] = r;
      t1[ci + 1] = g;
      t1[ci + 2] = b;
    }
  };
  A.GifImageDesc.prototype = {
    GifImageDesc$1(input) {
      var b, i, t1, t2, t3, t4, t5, _this = this;
      _this.__GifImageDesc_x = input.readUint16$0();
      _this.__GifImageDesc_y = input.readUint16$0();
      _this.__GifImageDesc_width = input.readUint16$0();
      _this.__GifImageDesc_height = input.readUint16$0();
      b = input.readByte$0();
      _this.__GifImageDesc_interlaced = (b & 64) !== 0;
      if ((b & 128) !== 0) {
        _this.colorMap = A.GifColorMap$(B.JSInt_methods._shlPositive$1(1, (b & 7) + 1));
        for (i = 0; t1 = _this.colorMap, i < t1.numColors; ++i) {
          t2 = input.buffer;
          t3 = input.offset;
          t4 = input.offset = t3 + 1;
          t3 = t2[t3];
          t5 = input.offset = t4 + 1;
          t4 = t2[t4];
          input.offset = t5 + 1;
          t1.setColor$4(i, t3, t4, t2[t5]);
        }
      }
      _this.__GifImageDesc__inputPosition = input.offset - input.start;
    }
  };
  A.InternalGifImageDesc.prototype = {};
  A.GifInfo.prototype = {};
  A.GifDecoder.prototype = {
    startDecode$1(bytes) {
      var recordType, gifImage, extCode, error, t1, t2, t3, t4, exception, _this = this;
      _this._gif_decoder$_input = A.InputBuffer$(bytes, false, null, 0);
      _this.info = new A.GifInfo(A._setArrayType([], type$.JSArray_GifImageDesc));
      if (!_this._getInfo$0())
        return null;
      try {
        for (; t1 = _this._gif_decoder$_input, t2 = t1.offset, t2 < t1.end;) {
          t3 = t1.buffer;
          t4 = t1.offset = t2 + 1;
          recordType = t3[t2];
          switch (recordType) {
            case 44:
              gifImage = _this._skipImage$0();
              if (gifImage == null) {
                t1 = _this.info;
                return t1;
              }
              _this.info.frames.push(gifImage);
              break;
            case 33:
              t1.offset = t4 + 1;
              extCode = t3[t4];
              if (J.$eq$(extCode, 255)) {
                t1 = _this._gif_decoder$_input;
                if (t1.readString$1(t1.buffer[t1.offset++]) === "NETSCAPE2.0") {
                  t2 = t1.buffer;
                  t3 = t1.offset;
                  t4 = t1.offset = t3 + 1;
                  t3 = t2[t3];
                  t1.offset = t4 + 1;
                  t4 = t2[t4];
                  if (t3 === 3 && t4 === 1)
                    t1.readUint16$0();
                } else
                  _this._skipRemainder$0();
              } else if (J.$eq$(extCode, 249)) {
                t1 = _this._gif_decoder$_input;
                t1.toString;
                _this._readGraphicsControlExt$1(t1);
              } else
                _this._skipRemainder$0();
              break;
            case 59:
              t1 = _this.info;
              return t1;
            default:
              break;
          }
        }
      } catch (exception) {
        error = A.unwrapException(exception);
        A.print(error);
      }
      return _this.info;
    },
    _readGraphicsControlExt$1(_input) {
      var b, duration, transparent, t1, gifImage;
      _input.readByte$0();
      b = _input.readByte$0();
      duration = _input.readUint16$0();
      transparent = _input.readByte$0();
      _input.readByte$0();
      B.JSInt_methods._shrOtherPositive$1(b, 2);
      t1 = _input.subset$2$offset(1, 0);
      if (t1.buffer[t1.offset] === 44) {
        ++_input.offset;
        gifImage = this._skipImage$0();
        if (gifImage == null)
          return;
        gifImage.duration = duration;
        if ((b & 1) !== 0) {
          t1 = gifImage.colorMap;
          if (t1 != null)
            t1.transparent = transparent;
          else {
            t1 = this.info.globalColorMap;
            if (t1 != null)
              t1.transparent = transparent;
          }
        }
        this.info.frames.push(gifImage);
      }
    },
    decodeFrame$1(frame) {
      var t2, gifImage, _this = this,
        t1 = _this._gif_decoder$_input;
      if (t1 == null || _this.info == null)
        return null;
      t2 = _this.info.frames;
      if (frame >= t2.length || false)
        return null;
      gifImage = t2[frame];
      t1.toString;
      t2 = gifImage.__GifImageDesc__inputPosition;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.offset = t2;
      return _this._decodeImage$1(gifImage);
    },
    decodeImage$1(bytes) {
      if (this.startDecode$1(bytes) == null)
        return null;
      return this.decodeFrame$1(0);
    },
    _skipImage$0() {
      var gifImage,
        t1 = this._gif_decoder$_input;
      if (t1.offset >= t1.end)
        return null;
      gifImage = new A.InternalGifImageDesc();
      gifImage.GifImageDesc$1(t1);
      ++this._gif_decoder$_input.offset;
      this._skipRemainder$0();
      return gifImage;
    },
    _decodeImage$1(gifImage) {
      var t1, t2, t3, t4, colorMap, image, line, i, j, y, _this = this;
      if (_this._gif_decoder$_buffer == null) {
        _this._gif_decoder$_buffer = new Uint8Array(256);
        _this.__GifDecoder__stack = new Uint8Array(4095);
        _this.__GifDecoder__suffix = new Uint8Array(4096);
        _this._prefix = new Uint32Array(4096);
      }
      t1 = _this._bitsPerPixel = _this._gif_decoder$_input.readByte$0();
      t2 = B.JSInt_methods.$shl(1, t1);
      _this._clearCode = t2;
      ++t2;
      _this._eofCode = t2;
      _this._runningCode = t2 + 1;
      ++t1;
      _this._runningBits = t1;
      _this._maxCode1 = B.JSInt_methods.$shl(1, t1);
      _this._stackPtr = 0;
      _this._lastCode = 4098;
      _this._currentShiftDWord = _this._currentShiftState = 0;
      _this._gif_decoder$_buffer[0] = 0;
      t1 = _this._prefix;
      t1.toString;
      B.NativeUint32List_methods.fillRange$3(t1, 0, 4096, 4098);
      t1 = gifImage.__GifImageDesc_width;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = gifImage.__GifImageDesc_height;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = gifImage.__GifImageDesc_x;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t4 = _this.info;
      if (!(t3 + t1 > t4.width)) {
        t3 = gifImage.__GifImageDesc_y;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t3 + t2 > t4.height;
      } else
        t3 = true;
      if (t3)
        return null;
      colorMap = gifImage.colorMap;
      colorMap = colorMap != null ? colorMap : t4.globalColorMap;
      _this._pixelCount = t1 * t2;
      image = A.Image$0(t1, t2, B.Channels_1);
      line = new Uint8Array(t1);
      t1 = gifImage.__GifImageDesc_interlaced;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1) {
        t1 = gifImage.__GifImageDesc_y;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        for (t2 = t1 + t2, i = 0, j = 0; i < 4; ++i)
          for (y = t1 + B.List_0_4_2_1[i]; y < t2; y += B.List_8_8_4_2[i], ++j) {
            if (!_this._getLine$1(line))
              return image;
            _this._updateImage$4(image, y, colorMap, line);
          }
      } else
        for (y = 0; y < t2; ++y) {
          if (!_this._getLine$1(line))
            return image;
          _this._updateImage$4(image, y, colorMap, line);
        }
      return image;
    },
    _updateImage$4(image, y, colorMap, line) {
      var width, t1, t2, t3, x, t4, ci, a, t5, t6;
      if (colorMap != null)
        for (width = line.length, t1 = colorMap.colors, t2 = image.data, t3 = y * image.width, x = 0; x < width; ++x) {
          t4 = line[x];
          ci = t4 * 3;
          a = t4 === colorMap.transparent ? 0 : 255;
          t4 = t1[ci];
          t5 = t1[ci + 1];
          t6 = t1[ci + 2];
          t2[t3 + x] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(a, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t6, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t5, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t4, 0, 255))) >>> 0;
        }
    },
    _getInfo$0() {
      var t1, b, i, t2, t3, t4, t5, t6, _this = this,
        tag = _this._gif_decoder$_input.readString$1(6);
      if (tag !== "GIF87a" && tag !== "GIF89a")
        return false;
      t1 = _this.info;
      t1.toString;
      t1.width = _this._gif_decoder$_input.readUint16$0();
      t1 = _this.info;
      t1.toString;
      t1.height = _this._gif_decoder$_input.readUint16$0();
      b = _this._gif_decoder$_input.readByte$0();
      _this.info.toString;
      _this._gif_decoder$_input.readByte$0();
      ++_this._gif_decoder$_input.offset;
      if ((b & 128) !== 0) {
        t1 = _this.info;
        t1.toString;
        t1.globalColorMap = A.GifColorMap$(B.JSInt_methods._shlPositive$1(1, (b & 7) + 1));
        for (i = 0; t1 = _this.info.globalColorMap, i < t1.numColors; ++i) {
          t2 = _this._gif_decoder$_input;
          t3 = t2.buffer;
          t4 = t2.offset;
          t5 = t2.offset = t4 + 1;
          t4 = t3[t4];
          t6 = t2.offset = t5 + 1;
          t5 = t3[t5];
          t2.offset = t6 + 1;
          t1.setColor$4(i, t4, t5, t3[t6]);
        }
      }
      _this.info.toString;
      return true;
    },
    _getLine$1(line) {
      var _this = this,
        t1 = _this._pixelCount;
      t1.toString;
      _this._pixelCount = t1 - line.length;
      if (!_this._decompressLine$1(line))
        return false;
      if (_this._pixelCount === 0)
        _this._skipRemainder$0();
      return true;
    },
    _skipRemainder$0() {
      var b, t2, t3,
        t1 = this._gif_decoder$_input;
      if (t1.offset >= t1.end)
        return true;
      b = t1.readByte$0();
      while (true) {
        if (b !== 0) {
          t1 = this._gif_decoder$_input;
          t1 = t1.offset < t1.end;
        } else
          t1 = false;
        if (!t1)
          break;
        t1 = this._gif_decoder$_input;
        t2 = t1.offset += b;
        if (t2 >= t1.end)
          return true;
        t3 = t1.buffer;
        t1.offset = t2 + 1;
        b = t3[t2];
      }
      return true;
    },
    _decompressLine$1(line) {
      var lineLen, i, i0, t2, currentPrefix, j, t3, t4, t5, t6, j0, _this = this,
        t1 = _this._stackPtr;
      if (t1 > 4095)
        return false;
      lineLen = line.length;
      if (t1 !== 0) {
        i = 0;
        while (true) {
          if (!(t1 !== 0 && i < lineLen))
            break;
          i0 = i + 1;
          t2 = _this.__GifDecoder__stack;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t1 = _this._stackPtr = t1 - 1;
          line[i] = t2[t1];
          i = i0;
        }
      } else
        i = 0;
      for (; i < lineLen;) {
        currentPrefix = _this._currentCode = _this._decompressInput$0();
        if (currentPrefix == null)
          return false;
        t1 = _this._eofCode;
        if (currentPrefix === t1)
          return false;
        t2 = _this._clearCode;
        if (currentPrefix === t2) {
          for (t2 = _this._prefix, j = 0; j <= 4095; ++j)
            t2[j] = 4098;
          _this._runningCode = t1 + 1;
          t1 = _this._bitsPerPixel + 1;
          _this._runningBits = t1;
          _this._maxCode1 = B.JSInt_methods.$shl(1, t1);
          _this._lastCode = 4098;
        } else {
          if (currentPrefix < t2) {
            i0 = i + 1;
            line[i] = currentPrefix;
            i = i0;
          } else {
            t1 = _this._prefix;
            if (t1[currentPrefix] === 4098) {
              t3 = _this._runningCode - 2;
              if (currentPrefix === t3) {
                currentPrefix = _this._lastCode;
                t4 = _this.__GifDecoder__suffix;
                if (t4 === $)
                  A.throwUnnamedLateFieldNI();
                t5 = _this.__GifDecoder__stack;
                if (t5 === $)
                  A.throwUnnamedLateFieldNI();
                t6 = _this._stackPtr++;
                t2 = _this._getPrefixChar$3(t1, currentPrefix, t2);
                t5[t6] = t2;
                t4[t3] = t2;
              } else
                return false;
            }
            j = 0;
            while (true) {
              j0 = j + 1;
              if (!(j <= 4095 && currentPrefix > _this._clearCode && currentPrefix <= 4095))
                break;
              t1 = _this.__GifDecoder__stack;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = _this._stackPtr++;
              t3 = _this.__GifDecoder__suffix;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              t1[t2] = t3[currentPrefix];
              currentPrefix = _this._prefix[currentPrefix];
              j = j0;
            }
            if (j0 >= 4095 || currentPrefix > 4095)
              return false;
            t1 = _this.__GifDecoder__stack;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = _this._stackPtr;
            t3 = _this._stackPtr = t2 + 1;
            t1[t2] = currentPrefix;
            t2 = t3;
            while (true) {
              if (!(t2 !== 0 && i < lineLen))
                break;
              i0 = i + 1;
              t2 = _this._stackPtr = t2 - 1;
              line[i] = t1[t2];
              i = i0;
            }
          }
          t1 = _this._lastCode;
          if (t1 !== 4098 && _this._prefix[_this._runningCode - 2] === 4098) {
            t2 = _this._prefix;
            t3 = _this._runningCode - 2;
            t2[t3] = t1;
            t4 = _this._currentCode;
            t5 = _this.__GifDecoder__suffix;
            t6 = _this._clearCode;
            if (t4 === t3) {
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t5[t3] = _this._getPrefixChar$3(t2, t1, t6);
            } else {
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t4.toString;
              t5[t3] = _this._getPrefixChar$3(t2, t4, t6);
            }
          }
          t1 = _this._currentCode;
          t1.toString;
          _this._lastCode = t1;
        }
      }
      return true;
    },
    _decompressInput$0() {
      var t1, t2, t3, t4, _this = this;
      if (_this._runningBits > 12)
        return null;
      for (; t1 = _this._currentShiftState, t2 = _this._runningBits, t1 < t2;) {
        t1 = _this._bufferedInput$0();
        t1.toString;
        t2 = _this._currentShiftDWord;
        t3 = _this._currentShiftState;
        _this._currentShiftDWord = (t2 | B.JSInt_methods.$shl(t1, t3)) >>> 0;
        _this._currentShiftState = t3 + 8;
      }
      t3 = _this._currentShiftDWord;
      t4 = B.List_Qw3[t2];
      _this._currentShiftDWord = B.JSInt_methods._shrReceiverPositive$1(t3, t2);
      _this._currentShiftState = t1 - t2;
      t1 = _this._runningCode;
      if (t1 < 4097) {
        ++t1;
        _this._runningCode = t1;
        t1 = t1 > _this._maxCode1 && t2 < 12;
      } else
        t1 = false;
      if (t1) {
        _this._maxCode1 = _this._maxCode1 << 1 >>> 0;
        _this._runningBits = t2 + 1;
      }
      return t3 & t4;
    },
    _getPrefixChar$3(prefix, code, clearCode) {
      var i0, t1, i = 0;
      while (true) {
        if (code > clearCode) {
          i0 = i + 1;
          t1 = i <= 4095;
          i = i0;
        } else
          t1 = false;
        if (!t1)
          break;
        if (code > 4095)
          return 4098;
        code = prefix[code];
      }
      return code;
    },
    _bufferedInput$0() {
      var nextByte, t3, _this = this,
        t1 = _this._gif_decoder$_buffer,
        t2 = t1[0];
      if (t2 === 0) {
        t1[0] = _this._gif_decoder$_input.readByte$0();
        t1 = _this._gif_decoder$_buffer;
        t2 = t1[0];
        if (t2 === 0)
          return null;
        B.NativeUint8List_methods.setRange$3(t1, 1, 1 + t2, _this._gif_decoder$_input.readBytes$1(t2).toUint8List$0());
        t1 = _this._gif_decoder$_buffer;
        nextByte = t1[1];
        t1[1] = 2;
        t1[0] = t1[0] - 1;
      } else {
        t3 = t1[1];
        t1[1] = t3 + 1;
        nextByte = t1[t3];
        t1[0] = t2 - 1;
      }
      return nextByte;
    }
  };
  A.IcoDecoder.prototype = {
    decodeFrame$1(frame) {
      var t2, imageInfo, t3, imageBuffer, png, dummyBmpHeader, t4, t5, t6, t7, t8, t9, t10, compression, t11, bmpInfo, offset, inp, bmp, image, padding, rowLength, y, line, bytes, x, j, _null = null,
        t1 = this._ico_decoder$_input;
      if (t1 != null) {
        t2 = this._icoInfo;
        t2 = t2 == null || frame >= t2.numFrames;
      } else
        t2 = true;
      if (t2)
        return _null;
      imageInfo = this._icoInfo.images[frame];
      t2 = t1.buffer;
      t1 = t1.start + imageInfo.bytesOffset;
      t3 = imageInfo.bytesSize;
      imageBuffer = J.sublist$2$ax(t2, t1, t1 + t3);
      png = new A.PngDecoder();
      if (png.isValidFile$1(imageBuffer))
        return png.decodeImage$1(imageBuffer);
      dummyBmpHeader = A.OutputBuffer$(14);
      dummyBmpHeader.writeUint16$1(19778);
      dummyBmpHeader.writeUint32$1(t3);
      dummyBmpHeader.writeUint32$1(0);
      dummyBmpHeader.writeUint32$1(0);
      t1 = A.InputBuffer$(imageBuffer, false, _null, 0);
      t2 = A.BitmapFileHeader$(A.InputBuffer$(A.NativeUint8List_NativeUint8List$view(dummyBmpHeader._output_buffer$_buffer.buffer, 0, dummyBmpHeader.length), false, _null, 0));
      t3 = t1.readUint32$0();
      t4 = t1.readUint32$0();
      t5 = $.$get$__uint32();
      t5[0] = t4;
      t4 = $.$get$__uint32ToInt32();
      t6 = t4[0];
      t5[0] = t1.readUint32$0();
      t7 = t4[0];
      t8 = t1.readUint16$0();
      t9 = t1.readUint16$0();
      t10 = t1.readUint32$0();
      compression = A.LinkedHashMap_LinkedHashMap$_literal([0, B.BitmapCompression_1, 3, B.BitmapCompression_0], type$.int, type$.BitmapCompression).$index(0, t10);
      if (compression == null)
        A.throwExpression(A.ImageException$("Bitmap compression " + t10 + " is not supported yet."));
      t10 = t1.readUint32$0();
      t5[0] = t1.readUint32$0();
      t11 = t4[0];
      t5[0] = t1.readUint32$0();
      t4 = t4[0];
      t5 = t1.readUint32$0();
      bmpInfo = new A.IcoBmpInfo(t2, t7, t6, t3, t8, t9, compression, t10, t11, t4, t5, t1.readUint32$0());
      bmpInfo.BmpInfo$2$fileHeader(t1, t2);
      if (t3 !== 40 && t8 !== 1)
        return _null;
      offset = t5 === 0 && t9 <= 8 ? 40 + 4 * B.JSInt_methods._shlPositive$1(1, t9) : 40 + 4 * t5;
      t2.__BitmapFileHeader_offset = offset;
      dummyBmpHeader.length -= 4;
      dummyBmpHeader.writeUint32$1(offset);
      inp = A.InputBuffer$(imageBuffer, false, _null, 0);
      bmp = new A.DibDecoder();
      bmp.__BmpDecoder__input = inp;
      bmp.info = bmpInfo;
      image = bmp.decodeFrame$1(0);
      if (t9 >= 32)
        return image;
      padding = 32 - B.JSInt_methods.$mod(t6, 32);
      rowLength = B.JSInt_methods._tdivFast$1(padding === 32 ? t6 : t6 + padding, 8);
      for (t1 = image.data, t2 = image.width, t3 = image.height - 1, t4 = 1 / t7 < 0, t5 = t7 < 0, t7 = t7 === 0, y = 0; y < B.JSInt_methods._tdivFast$1(A.BmpInfo.prototype.get$height.call(bmpInfo, bmpInfo), 2); ++y) {
        line = !(t7 ? t4 : t5) ? y : t3 - y;
        bytes = inp.subset$1(rowLength);
        inp.offset = inp.offset + (bytes.end - bytes.offset);
        for (t8 = line * t2, x = 0; x < t6;) {
          t9 = bytes.buffer[bytes.offset++];
          j = 7;
          while (true) {
            if (!(j > -1 && x < t6))
              break;
            if ((t9 & B.JSInt_methods.$shl(1, j)) >>> 0 !== 0)
              t1[t8 + x] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(0, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(0, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(0, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(0, 0, 255))) >>> 0;
            ++x;
            --j;
          }
        }
      }
      return image;
    },
    decodeImage$1(bytes) {
      var t1 = A.InputBuffer$(bytes, false, null, 0);
      this._ico_decoder$_input = t1;
      t1 = A.IcoInfo__read(t1);
      this._icoInfo = t1;
      if (t1 == null)
        return null;
      return this.decodeFrame$1(0);
    }
  };
  A.IcoInfo.prototype = {};
  A.IcoInfo__read_closure.prototype = {
    call$1(e) {
      var t2,
        t1 = this.input;
      t1.readByte$0();
      t2 = t1.readByte$0();
      t1.readByte$0();
      ++t1.offset;
      t1.readUint16$0();
      t1.readUint16$0();
      return new A.IcoInfoImage(t2, t1.readUint32$0(), t1.readUint32$0());
    },
    $signature: 1029
  };
  A.IcoInfoImage.prototype = {};
  A.IcoBmpInfo.prototype = {
    get$height(_) {
      return B.JSInt_methods._tdivFast$1(A.BmpInfo.prototype.get$height.call(this, this), 2);
    },
    get$ignoreAlphaChannel() {
      return this.headerSize === 40 && this.bpp === 32 ? false : A.BmpInfo.prototype.get$ignoreAlphaChannel.call(this);
    }
  };
  A.ComponentData.prototype = {};
  A.JpegAdobe.prototype = {};
  A.JpegComponent.prototype = {};
  A.JpegData.prototype = {
    validate$1(bytes) {
      var soiCheck, t2, marker, hasSOF, hasSOS, sectionByteSize, _this = this,
        t1 = A.InputBuffer$(bytes, true, null, 0);
      _this.__JpegData_input = t1;
      soiCheck = t1.subset$2$offset(2, 0);
      t1 = soiCheck.buffer;
      t2 = soiCheck.offset;
      if (t1[t2] !== 255 || t1[t2 + 1] !== 216)
        return false;
      if (_this._nextMarker$0() !== 216)
        return false;
      marker = _this._nextMarker$0();
      hasSOF = false;
      hasSOS = false;
      while (true) {
        if (marker !== 217) {
          t1 = _this.__JpegData_input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.offset < t1.end;
        } else
          t1 = false;
        if (!t1)
          break;
        t1 = _this.__JpegData_input;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        sectionByteSize = t1.readUint16$0();
        if (sectionByteSize < 2)
          break;
        t1 = _this.__JpegData_input;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.offset = t1.offset + (sectionByteSize - 2);
        switch (marker) {
          case 192:
          case 193:
          case 194:
            hasSOF = true;
            break;
          case 218:
            hasSOS = true;
            break;
        }
        marker = _this._nextMarker$0();
      }
      return hasSOF && hasSOS;
    },
    read$1(_, bytes) {
      var t1, i, t2, t3, component, t4, t5, t6, _this = this;
      _this.__JpegData_input = A.InputBuffer$(bytes, true, null, 0);
      _this._read$0();
      if (_this.frames.length !== 1)
        throw A.wrapException(A.ImageException$("Only single frame JPEGs supported"));
      for (t1 = _this.components, i = 0; t2 = _this.frame, t3 = t2.componentsOrder, i < t3.length; ++i) {
        component = t2.components.$index(0, t3[i]);
        t2 = component.hSamples;
        t3 = _this.frame;
        t4 = t3.maxHSamples;
        t5 = component.vSamples;
        t6 = t3.maxVSamples;
        t3 = _this._buildComponentData$2(t3, component);
        t2 = t2 === 1 && t4 === 2 ? 1 : 0;
        t1.push(new A.ComponentData(t3, t2, t5 === 1 && t6 === 2 ? 1 : 0));
      }
    },
    _read$0() {
      var marker, t1, $length, bytes, t2, t3, _this = this;
      if (_this._nextMarker$0() !== 216)
        throw A.wrapException(A.ImageException$("Start Of Image marker not found."));
      marker = _this._nextMarker$0();
      while (true) {
        if (marker !== 217) {
          t1 = _this.__JpegData_input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.offset < t1.end;
        } else
          t1 = false;
        if (!t1)
          break;
        t1 = _this.__JpegData_input;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        $length = t1.readUint16$0();
        if ($length < 2)
          A.throwExpression(A.ImageException$("Invalid Block"));
        t1 = _this.__JpegData_input;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        bytes = t1.subset$1($length - 2);
        t1.offset = t1.offset + (bytes.end - bytes.offset);
        switch (marker) {
          case 224:
          case 225:
          case 226:
          case 227:
          case 228:
          case 229:
          case 230:
          case 231:
          case 232:
          case 233:
          case 234:
          case 235:
          case 236:
          case 237:
          case 238:
          case 239:
          case 254:
            _this._readAppData$2(marker, bytes);
            break;
          case 219:
            _this._readDQT$1(bytes);
            break;
          case 192:
          case 193:
          case 194:
            _this._readFrame$2(marker, bytes);
            break;
          case 195:
          case 197:
          case 198:
          case 199:
          case 200:
          case 201:
          case 202:
          case 203:
          case 205:
          case 206:
          case 207:
            throw A.wrapException(A.ImageException$("Unhandled frame type " + B.JSInt_methods.toRadixString$1(marker, 16)));
          case 196:
            _this._readDHT$1(bytes);
            break;
          case 221:
            _this.resetInterval = bytes.readUint16$0();
            break;
          case 218:
            _this._readSOS$1(bytes);
            break;
          case 255:
            t1 = _this.__JpegData_input;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1.buffer;
            t3 = t1.offset;
            if (t2[t3] !== 255)
              t1.offset = t3 - 1;
            break;
          default:
            t1 = _this.__JpegData_input;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1.buffer;
            t3 = t1.offset;
            if (t2[t3 + -3] === 255) {
              t2 = t2[t3 + -2];
              t2 = t2 >= 192 && t2 <= 254;
            } else
              t2 = false;
            if (t2) {
              t1.offset = t3 - 3;
              break;
            }
            if (marker !== 0)
              throw A.wrapException(A.ImageException$("Unknown JPEG marker " + B.JSInt_methods.toRadixString$1(marker, 16)));
            break;
        }
        marker = _this._nextMarker$0();
      }
    },
    _nextMarker$0() {
      var c, _this = this,
        t1 = _this.__JpegData_input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.offset >= t1.end)
        return 0;
      do {
        do {
          t1 = _this.__JpegData_input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          c = t1.readByte$0();
          if (c !== 255) {
            t1 = _this.__JpegData_input;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1 = t1.offset < t1.end;
          } else
            t1 = false;
        } while (t1);
        t1 = _this.__JpegData_input;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1.offset >= t1.end)
          return c;
        do {
          t1 = _this.__JpegData_input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          c = t1.readByte$0();
          if (c === 255) {
            t1 = _this.__JpegData_input;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t1 = t1.offset < t1.end;
          } else
            t1 = false;
        } while (t1);
        if (c === 0) {
          t1 = _this.__JpegData_input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.offset < t1.end;
        } else
          t1 = false;
      } while (t1);
      return c;
    },
    _readExifValue$3(block, format, offset) {
      var buffer, num, den, bytesRead, t2, t3,
        t1 = block.end,
        initialBlockLength = t1 - block.offset;
      try {
        switch (format) {
          case 6:
            t2 = block.readByte$0();
            $.$get$__uint8()[0] = t2;
            t2 = $.$get$__uint8ToInt8()[0];
            return t2;
          case 1:
          case 7:
            t2 = block.readByte$0();
            return t2;
          case 2:
            t2 = block.readString$1(1);
            return t2;
          case 3:
            t2 = block.readUint16$0();
            return t2;
          case 4:
            t2 = block.readUint32$0();
            return t2;
          case 5:
          case 10:
            buffer = block.subset$2$offset(8, offset);
            t2 = buffer.readUint32$0();
            t3 = $.$get$__uint32();
            t3[0] = t2;
            t2 = $.$get$__uint32ToInt32();
            num = t2[0];
            t3[0] = buffer.readUint32$0();
            den = t2[0];
            if (J.$eq$(den, 0))
              return 0;
            return num / den;
          case 8:
            t2 = block.readUint16$0();
            $.$get$__uint16()[0] = t2;
            t2 = $.$get$__uint16ToInt16()[0];
            return t2;
          case 9:
            t2 = block.readUint32$0();
            $.$get$__uint32()[0] = t2;
            t2 = $.$get$__uint32ToInt32()[0];
            return t2;
          case 11:
            t2 = block.readUint32$0();
            $.$get$__uint32()[0] = t2;
            t2 = $.$get$__uint32ToFloat32()[0];
            return t2;
          case 12:
            t2 = block.subset$2$offset(8, offset).readUint64$0();
            $.$get$__uint64().$indexSet(0, 0, t2);
            t2 = $.$get$__uint64ToFloat64()[0];
            return t2;
          default:
            return 0;
        }
      } finally {
        t2 = block.offset;
        bytesRead = initialBlockLength - (t1 - t2);
        if (bytesRead < 4)
          block.offset = t2 + (4 - bytesRead);
      }
    },
    _readExifDir$1(block) {
      var t1, t2, di, tag, format, components, byteCount, offset,
        numDirEntries = block.readUint16$0();
      for (t1 = this.exif.data, t2 = block.end, di = 0; di < numDirEntries; ++di) {
        tag = block.readUint16$0();
        format = block.readUint16$0();
        components = block.readUint32$0();
        if (format - 1 >= 12)
          continue;
        if (components > 65536)
          continue;
        byteCount = B.List_mC8[format];
        if (byteCount > 4) {
          offset = block.readUint32$0();
          if (offset + byteCount > t2 - block.offset)
            continue;
        } else
          offset = 0;
        t1.$indexSet(0, tag, this._readExifValue$3(block, format, offset));
      }
    },
    _readExifData$1(block) {
      var rawData, saveEndian, alignment, offset,
        t1 = this.exif;
      if (t1.rawData == null)
        t1.rawData = A._setArrayType([], type$.JSArray_Uint8List);
      rawData = B.NativeUint8List_methods.sublist$1(block.toUint8List$0(), 0);
      t1.rawData.push(rawData);
      if (block.readUint32$0() !== 1165519206)
        return;
      if (block.readUint16$0() !== 0)
        return;
      saveEndian = block.bigEndian;
      alignment = block.readString$1(2);
      if (alignment === "II")
        block.bigEndian = false;
      else if (alignment === "MM")
        block.bigEndian = true;
      else
        return;
      block.offset += 2;
      offset = block.readUint32$0();
      if (offset < 8 || offset > 16)
        if (offset > block.end - block.offset - 16) {
          block.bigEndian = saveEndian;
          return;
        }
      if (offset > 8)
        block.offset += offset - 8;
      this._readExifDir$1(block);
      block.bigEndian = saveEndian;
    },
    _readAppData$2(marker, block) {
      var t1, t2, t3, exception,
        appData = block;
      if (marker === 224) {
        t1 = appData;
        if (t1.buffer[t1.offset] === 74) {
          t1 = appData;
          if (t1.buffer[t1.offset + 1] === 70) {
            t1 = appData;
            if (t1.buffer[t1.offset + 2] === 73) {
              t1 = appData;
              if (t1.buffer[t1.offset + 3] === 70) {
                t1 = appData;
                t1 = t1.buffer[t1.offset + 4] === 0;
              } else
                t1 = false;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
        if (t1) {
          t1 = this.__JpegData_jfif = new A.JpegJfif();
          appData.toString;
          appData.toString;
          appData.toString;
          appData.toString;
          appData.toString;
          appData.toString;
          appData.toString;
          t2 = appData;
          t2 = t2.buffer[t2.offset + 12];
          t1.__JpegJfif_thumbWidth = t2;
          t3 = appData;
          t3 = t3.buffer[t3.offset + 13];
          t1.__JpegJfif_thumbHeight = t3;
          appData.subset$2$offset(14 + 3 * t2 * t3, 14);
        }
      } else if (marker === 225)
        this._readExifData$1(appData);
      else if (marker === 238) {
        t1 = appData;
        if (t1.buffer[t1.offset] === 65) {
          t1 = appData;
          if (t1.buffer[t1.offset + 1] === 100) {
            t1 = appData;
            if (t1.buffer[t1.offset + 2] === 111) {
              t1 = appData;
              if (t1.buffer[t1.offset + 3] === 98) {
                t1 = appData;
                if (t1.buffer[t1.offset + 4] === 101) {
                  t1 = appData;
                  t1 = t1.buffer[t1.offset + 5] === 0;
                } else
                  t1 = false;
              } else
                t1 = false;
            } else
              t1 = false;
          } else
            t1 = false;
        } else
          t1 = false;
        if (t1) {
          t1 = new A.JpegAdobe();
          this.adobe = t1;
          appData.toString;
          appData.toString;
          appData.toString;
          appData.toString;
          appData.toString;
          t2 = appData;
          t1.transformCode = t2.buffer[t2.offset + 11];
        }
      } else if (marker === 254)
        try {
          appData.readStringUtf8$0();
        } catch (exception) {
          A.getTraceFromException(exception);
        }
    },
    _readDQT$1(block) {
      var t1, t2, t3, t4, prec, n, i, tmp;
      for (t1 = block.end, t2 = this.quantizationTables; t3 = block.offset, t4 = t3 < t1, t4;) {
        t4 = block.buffer;
        block.offset = t3 + 1;
        t3 = t4[t3];
        prec = B.JSInt_methods._shrOtherPositive$1(t3, 4);
        n = t3 & 15;
        if (n >= 4)
          throw A.wrapException(A.ImageException$("Invalid number of quantization tables"));
        t3 = t2[n];
        if (t3 == null) {
          t3 = new Int16Array(64);
          t2[n] = t3;
        }
        for (t4 = prec !== 0, i = 0; i < 64; ++i) {
          tmp = t4 ? block.readUint16$0() : block.buffer[block.offset++];
          t3[B.List_AZw[i]] = tmp;
        }
      }
      if (t4)
        throw A.wrapException(A.ImageException$("Bad length for DQT block"));
    },
    _readFrame$2(marker, block) {
      var t1, numComponents, i, t2, t3, t4, t5, t6, _this = this;
      if (_this.frame != null)
        throw A.wrapException(A.ImageException$("Duplicate JPG frame data found."));
      t1 = _this.frame = new A.JpegFrame(A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.JpegComponent), A._setArrayType([], type$.JSArray_int));
      t1.progressive = marker === 194;
      t1.precision = block.readByte$0();
      t1 = _this.frame;
      t1.toString;
      t1.scanLines = block.readUint16$0();
      t1 = _this.frame;
      t1.toString;
      t1.samplesPerLine = block.readUint16$0();
      numComponents = block.readByte$0();
      for (t1 = _this.quantizationTables, i = 0; i < numComponents; ++i) {
        t2 = block.buffer;
        t3 = block.offset;
        t4 = block.offset = t3 + 1;
        t3 = t2[t3];
        t5 = block.offset = t4 + 1;
        t4 = t2[t4];
        t6 = B.JSInt_methods._shrOtherPositive$1(t4, 4);
        block.offset = t5 + 1;
        t5 = t2[t5];
        _this.frame.componentsOrder.push(t3);
        _this.frame.components.$indexSet(0, t3, new A.JpegComponent(t6 & 15, t4 & 15, t1, t5));
      }
      _this.frame.prepare$0();
      _this.frames.push(_this.frame);
    },
    _readDHT$1(block) {
      var t1, ht, ht0, t2, t3, t4, index, bits, count, j, huffmanValues, ht1;
      for (t1 = block.end, ht = this.huffmanTablesDC, ht0 = this.huffmanTablesAC; t2 = block.offset, t2 < t1;) {
        t3 = block.buffer;
        t4 = t2 + 1;
        block.offset = t4;
        index = t3[t2];
        bits = new Uint8Array(16);
        for (t2 = t4, count = 0, j = 0; j < 16; ++j, t2 = t4) {
          t4 = t2 + 1;
          block.offset = t4;
          bits[j] = t3[t2];
          count += bits[j];
        }
        huffmanValues = new Uint8Array(count);
        for (j = 0; j < count; ++j, t2 = t4) {
          t4 = t2 + 1;
          block.offset = t4;
          huffmanValues[j] = t3[t2];
        }
        if ((index & 16) !== 0) {
          index -= 16;
          ht1 = ht0;
        } else
          ht1 = ht;
        if (ht1.length <= index)
          B.JSArray_methods.set$length(ht1, index + 1);
        ht1[index] = this._buildHuffmanTable$2(bits, huffmanValues);
      }
    },
    _readSOS$1(block) {
      var components, spectralStart, spectralEnd, successiveApproximation, t1, t2, t3, _this = this,
        n = block.readByte$0();
      if (n < 1 || n > 4)
        throw A.wrapException(A.ImageException$("Invalid SOS block"));
      components = A.List_List$generate(n, new A.JpegData__readSOS_closure(_this, block), true, type$.JpegComponent);
      spectralStart = block.readByte$0();
      spectralEnd = block.readByte$0();
      successiveApproximation = block.readByte$0();
      t1 = B.JSInt_methods._shrOtherPositive$1(successiveApproximation, 4);
      t2 = _this.__JpegData_input;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = _this.frame;
      t1 = new A.JpegScan(t2, t3, components, _this.resetInterval, spectralStart, spectralEnd, t1 & 15, successiveApproximation & 15);
      t2 = t3.__JpegFrame_mcusPerLine;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1.__JpegScan_mcusPerLine = t2;
      t1.progressive = t3.progressive;
      t1.decode$0(0);
    },
    _buildHuffmanTable$2(codeLengths, values) {
      var p, k, i, j, t1, t2, t3, q, t4,
        code = A._setArrayType([], type$.JSArray__JpegHuffman),
        $length = 16;
      while (true) {
        if (!($length > 0 && codeLengths[$length - 1] === 0))
          break;
        --$length;
      }
      code.push(new A._JpegHuffman([]));
      p = code[0];
      for (k = 0, i = 0; i < $length;) {
        for (j = 0; j < codeLengths[i]; ++j) {
          p = code.pop();
          t1 = p.children;
          t2 = t1.length;
          t3 = p.index;
          if (t2 <= t3)
            B.JSArray_methods.set$length(t1, t3 + 1);
          t1[p.index] = values[k];
          for (; t1 = p.index, t1 > 0;)
            p = code.pop();
          p.index = t1 + 1;
          code.push(p);
          for (; code.length <= i; p = q) {
            t1 = [];
            q = new A._JpegHuffman(t1);
            code.push(q);
            t2 = p.children;
            t3 = t2.length;
            t4 = p.index;
            if (t3 <= t4)
              B.JSArray_methods.set$length(t2, t4 + 1);
            t2[p.index] = t1;
          }
          ++k;
        }
        ++i;
        if (i < $length) {
          t1 = [];
          q = new A._JpegHuffman(t1);
          code.push(q);
          t2 = p.children;
          t3 = t2.length;
          t4 = p.index;
          if (t3 <= t4)
            B.JSArray_methods.set$length(t2, t4 + 1);
          t2[p.index] = t1;
          p = q;
        }
      }
      return code[0].children;
    },
    _buildComponentData$2(frame, component) {
      var t2, samplesPerLine, $R, r, lines, t3, t4, l, blockRow, scanLine, i, l0, blockCol, t5, t6, sample, offset, j, line, offset0,
        t1 = component.__JpegComponent_blocksPerLine;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = component.__JpegComponent_blocksPerColumn;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      samplesPerLine = t1 << 3 >>> 0;
      $R = new Int32Array(64);
      r = new Uint8Array(64);
      lines = A.List_List$filled(t2 * 8, null, false, type$.nullable_Uint8List);
      for (t3 = component.quantizationTableList, t4 = component.quantizationIndex, l = 0, blockRow = 0; blockRow < t2; ++blockRow) {
        scanLine = blockRow << 3 >>> 0;
        for (i = 0; i < 8; ++i, l = l0) {
          l0 = l + 1;
          lines[l] = new Uint8Array(samplesPerLine);
        }
        for (blockCol = 0; blockCol < t1; ++blockCol) {
          t5 = t3[t4];
          t5.toString;
          t6 = component.__JpegComponent_blocks;
          if (t6 === $)
            A.throwUnnamedLateFieldNI();
          A.quantizeAndInverse(t5, t6[blockRow][blockCol], r, $R);
          sample = blockCol << 3 >>> 0;
          for (offset = 0, j = 0; j < 8; ++j) {
            line = lines[scanLine + j];
            for (i = 0; i < 8; ++i, offset = offset0) {
              offset0 = offset + 1;
              line[sample + i] = r[offset];
            }
          }
        }
      }
      return lines;
    }
  };
  A.JpegData__readSOS_closure.prototype = {
    call$1(i) {
      var t2, dc_tbl_no, ac_tbl_no, t3,
        t1 = this.block,
        id = t1.readByte$0(),
        c = t1.readByte$0();
      t1 = this.$this;
      if (!t1.frame.components.containsKey$1(0, id))
        throw A.wrapException(A.ImageException$("Invalid Component in SOS block"));
      t2 = t1.frame.components.$index(0, id);
      t2.toString;
      dc_tbl_no = B.JSInt_methods._shrOtherPositive$1(c, 4) & 15;
      ac_tbl_no = c & 15;
      t3 = t1.huffmanTablesDC;
      if (dc_tbl_no < t3.length) {
        t3 = t3[dc_tbl_no];
        t3.toString;
        t2.__JpegComponent_huffmanTableDC = t3;
      }
      t1 = t1.huffmanTablesAC;
      if (ac_tbl_no < t1.length) {
        t1 = t1[ac_tbl_no];
        t1.toString;
        t2.__JpegComponent_huffmanTableAC = t1;
      }
      return t2;
    },
    $signature: 1030
  };
  A._JpegHuffman.prototype = {};
  A.JpegFrame.prototype = {
    prepare$0() {
      var t1, t2, t3, component, t4, t5, t6, t7, blocksPerLine, t8, blocksPerColumn, blocksPerLineForMcu, blocksPerColumnForMcu, blocks, _i, _list, _i0, _this = this;
      for (t1 = _this.components, t2 = A._instanceType(t1)._precomputed1, t3 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, t2); t3.moveNext$0();) {
        component = t1.$index(0, t3.__js_helper$_current);
        _this.maxHSamples = Math.max(_this.maxHSamples, component.hSamples);
        _this.maxVSamples = Math.max(_this.maxVSamples, component.vSamples);
      }
      t3 = _this.samplesPerLine;
      t3.toString;
      _this.__JpegFrame_mcusPerLine = B.JSNumber_methods.ceil$0(t3 / 8 / _this.maxHSamples);
      t3 = _this.scanLines;
      t3.toString;
      _this.__JpegFrame_mcusPerColumn = B.JSNumber_methods.ceil$0(t3 / 8 / _this.maxVSamples);
      for (t2 = A.LinkedHashMapKeyIterator$(t1, t1._modifications, t2), t3 = type$.Int32List, t4 = type$.List_Int32List; t2.moveNext$0();) {
        t5 = t1.$index(0, t2.__js_helper$_current);
        t5.toString;
        t6 = _this.samplesPerLine;
        t6.toString;
        t7 = t5.hSamples;
        blocksPerLine = B.JSNumber_methods.ceil$0(B.JSNumber_methods.ceil$0(t6 / 8) * t7 / _this.maxHSamples);
        t6 = _this.scanLines;
        t6.toString;
        t8 = t5.vSamples;
        blocksPerColumn = B.JSNumber_methods.ceil$0(B.JSNumber_methods.ceil$0(t6 / 8) * t8 / _this.maxVSamples);
        t6 = _this.__JpegFrame_mcusPerLine;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        blocksPerLineForMcu = t6 * t7;
        t7 = _this.__JpegFrame_mcusPerColumn;
        if (t7 === $)
          A.throwUnnamedLateFieldNI();
        blocksPerColumnForMcu = t7 * t8;
        blocks = J.JSArray_JSArray$allocateFixed(blocksPerColumnForMcu, t4);
        for (_i = 0; _i < blocksPerColumnForMcu; ++_i) {
          _list = J.JSArray_JSArray$allocateFixed(blocksPerLineForMcu, t3);
          for (_i0 = 0; _i0 < blocksPerLineForMcu; ++_i0)
            _list[_i0] = new Int32Array(64);
          blocks[_i] = _list;
        }
        t5.__JpegComponent_blocksPerLine = blocksPerLine;
        t5.__JpegComponent_blocksPerColumn = blocksPerColumn;
        t5.__JpegComponent_blocks = blocks;
      }
    }
  };
  A.JpegJfif.prototype = {};
  A.JpegScan.prototype = {
    decode$0(_) {
      var decodeFn, t3, t4, mcuExpected, mcu, i, component, n, blockRow, blockCol, h, v, j, k, t5, t6, _this = this,
        t1 = _this.components,
        componentsLength = t1.length,
        t2 = _this.progressive;
      t2.toString;
      if (t2)
        if (_this.spectralStart === 0)
          decodeFn = _this.successivePrev === 0 ? _this.get$_decodeDCFirst() : _this.get$_decodeDCSuccessive();
        else
          decodeFn = _this.successivePrev === 0 ? _this.get$_decodeACFirst() : _this.get$_decodeACSuccessive();
      else
        decodeFn = _this.get$_decodeBaseline();
      t2 = componentsLength === 1;
      if (t2) {
        t3 = t1[0];
        t4 = t3.__JpegComponent_blocksPerLine;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t3.__JpegComponent_blocksPerColumn;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        mcuExpected = t4 * t3;
      } else {
        t3 = _this.__JpegScan_mcusPerLine;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t4 = _this.frame.__JpegFrame_mcusPerColumn;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        mcuExpected = t3 * t4;
      }
      t3 = _this.resetInterval;
      if (t3 == null || t3 === 0)
        _this.resetInterval = mcuExpected;
      for (t3 = _this.input, mcu = 0; mcu < mcuExpected;) {
        for (i = 0; i < componentsLength; ++i)
          t1[i].__JpegComponent_pred = 0;
        _this.eobrun = 0;
        if (t2) {
          component = t1[0];
          n = 0;
          while (true) {
            t4 = _this.resetInterval;
            t4.toString;
            if (!(n < t4))
              break;
            t4 = component.__JpegComponent_blocksPerLine;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            blockRow = B.JSInt_methods.$tdiv(mcu, t4);
            blockCol = B.JSInt_methods.$mod(mcu, t4);
            t4 = component.__JpegComponent_blocks;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            decodeFn.call$2(component, t4[blockRow][blockCol]);
            ++mcu;
            ++n;
          }
        } else {
          n = 0;
          while (true) {
            t4 = _this.resetInterval;
            t4.toString;
            if (!(n < t4))
              break;
            for (i = 0; i < componentsLength; ++i) {
              component = t1[i];
              h = component.hSamples;
              v = component.vSamples;
              for (j = 0; j < v; ++j)
                for (k = 0; k < h; ++k)
                  _this._decodeMcu$5(component, decodeFn, mcu, j, k);
            }
            ++mcu;
            ++n;
          }
        }
        _this.bitsCount = 0;
        t4 = t3.buffer;
        t5 = t3.offset;
        t6 = t4[t5];
        t4 = t4[t5 + 1];
        if (t6 === 255)
          if (t4 >= 208 && t4 <= 215)
            t3.offset = t5 + 2;
          else
            break;
      }
    },
    _readBit$0() {
      var t2, nextByte, _this = this,
        t1 = _this.bitsCount;
      if (t1 > 0) {
        --t1;
        _this.bitsCount = t1;
        return B.JSInt_methods.$shr(_this.bitsData, t1) & 1;
      }
      t1 = _this.input;
      if (t1.offset >= t1.end)
        return null;
      t2 = t1.readByte$0();
      _this.bitsData = t2;
      if (t2 === 255) {
        nextByte = t1.readByte$0();
        if (nextByte !== 0)
          throw A.wrapException(A.ImageException$("unexpected marker: " + B.JSInt_methods.toRadixString$1((_this.bitsData << 8 | nextByte) >>> 0, 16)));
      }
      _this.bitsCount = 7;
      return B.JSInt_methods._shrOtherPositive$1(_this.bitsData, 7) & 1;
    },
    _jpeg_scan$_decodeHuffman$1(tree) {
      var t1, node, bit;
      for (t1 = type$.List_dynamic, node = tree; bit = this._readBit$0(), bit != null;) {
        node = J.$index$asx(t1._as(node), bit);
        if (typeof node == "number")
          return B.JSNumber_methods.toInt$0(node);
      }
      return null;
    },
    _receive$1($length) {
      var n, bit;
      for (n = 0; $length > 0;) {
        bit = this._readBit$0();
        if (bit == null)
          return null;
        n = (n << 1 | bit) >>> 0;
        --$length;
      }
      return n;
    },
    _receiveAndExtend$1($length) {
      var t1;
      if ($length === 1)
        return this._readBit$0() === 1 ? 1 : -1;
      $length.toString;
      t1 = this._receive$1($length);
      t1.toString;
      if (t1 >= B.JSInt_methods.$shl(1, $length - 1))
        return t1;
      return t1 + B.JSInt_methods.$shl(-1, $length) + 1;
    },
    _decodeBaseline$2(component, zz) {
      var t, diff, k, s, r, _this = this,
        t1 = component.__JpegComponent_huffmanTableDC;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t = _this._jpeg_scan$_decodeHuffman$1(t1);
      diff = t === 0 ? 0 : _this._receiveAndExtend$1(t);
      t1 = component.__JpegComponent_pred;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 += diff;
      component.__JpegComponent_pred = t1;
      zz[0] = t1;
      for (k = 1; k < 64;) {
        t1 = component.__JpegComponent_huffmanTableAC;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = _this._jpeg_scan$_decodeHuffman$1(t1);
        t1.toString;
        s = t1 & 15;
        r = B.JSInt_methods._shrOtherPositive$1(t1, 4);
        if (s === 0) {
          if (r < 15)
            break;
          k += 16;
          continue;
        }
        k += r;
        s = _this._receiveAndExtend$1(s);
        zz[B.List_AZw[k]] = s;
        ++k;
      }
    },
    _decodeDCFirst$2(component, zz) {
      var t, diff,
        t1 = component.__JpegComponent_huffmanTableDC;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t = this._jpeg_scan$_decodeHuffman$1(t1);
      diff = t === 0 ? 0 : B.JSInt_methods._shlPositive$1(this._receiveAndExtend$1(t), this.successive);
      t1 = component.__JpegComponent_pred;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 += diff;
      component.__JpegComponent_pred = t1;
      zz[0] = t1;
    },
    _decodeDCSuccessive$2(component, zz) {
      var t1 = zz[0],
        t2 = this._readBit$0();
      t2.toString;
      zz[0] = (t1 | B.JSInt_methods._shlPositive$1(t2, this.successive)) >>> 0;
    },
    _decodeACFirst$2(component, zz) {
      var k, e, t2, s, r, _this = this,
        t1 = _this.eobrun;
      if (t1 > 0) {
        _this.eobrun = t1 - 1;
        return;
      }
      k = _this.spectralStart;
      e = _this.spectralEnd;
      for (t1 = _this.successive; k <= e;) {
        t2 = component.__JpegComponent_huffmanTableAC;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this._jpeg_scan$_decodeHuffman$1(t2);
        t2.toString;
        s = t2 & 15;
        r = B.JSInt_methods._shrOtherPositive$1(t2, 4);
        if (s === 0) {
          if (r < 15) {
            t1 = _this._receive$1(r);
            t1.toString;
            _this.eobrun = t1 + B.JSInt_methods._shlPositive$1(1, r) - 1;
            break;
          }
          k += 16;
          continue;
        }
        k += r;
        zz[B.List_AZw[k]] = _this._receiveAndExtend$1(s) * B.JSInt_methods._shlPositive$1(1, t1);
        ++k;
      }
    },
    _decodeACSuccessive$2(component, zz) {
      var t1, r, z, t2, rs, s, t3, _this = this,
        k = _this.spectralStart,
        e = _this.spectralEnd;
      for (t1 = _this.successive, r = 0; k <= e;) {
        z = B.List_AZw[k];
        t2 = _this.successiveACState;
        switch (t2) {
          case 0:
            t2 = component.__JpegComponent_huffmanTableAC;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            rs = _this._jpeg_scan$_decodeHuffman$1(t2);
            if (rs == null)
              throw A.wrapException(A.ImageException$("Invalid progressive encoding"));
            s = rs & 15;
            r = B.JSInt_methods._shrOtherPositive$1(rs, 4);
            if (s === 0)
              if (r < 15) {
                t2 = _this._receive$1(r);
                t2.toString;
                _this.eobrun = t2 + B.JSInt_methods._shlPositive$1(1, r);
                _this.successiveACState = 4;
              } else {
                _this.successiveACState = 1;
                r = 16;
              }
            else {
              if (s !== 1)
                throw A.wrapException(A.ImageException$("invalid ACn encoding"));
              _this.__JpegScan_successiveACNextValue = _this._receiveAndExtend$1(s);
              _this.successiveACState = r !== 0 ? 2 : 3;
            }
            continue;
          case 1:
          case 2:
            t3 = zz[z];
            if (t3 !== 0) {
              t2 = _this._readBit$0();
              t2.toString;
              zz[z] = t3 + B.JSInt_methods._shlPositive$1(t2, t1);
            } else {
              --r;
              if (r === 0)
                _this.successiveACState = t2 === 2 ? 3 : 0;
            }
            break;
          case 3:
            t2 = zz[z];
            if (t2 !== 0) {
              t3 = _this._readBit$0();
              t3.toString;
              zz[z] = t2 + B.JSInt_methods._shlPositive$1(t3, t1);
            } else {
              t2 = _this.__JpegScan_successiveACNextValue;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              zz[z] = B.JSInt_methods._shlPositive$1(t2, t1);
              _this.successiveACState = 0;
            }
            break;
          case 4:
            t2 = zz[z];
            if (t2 !== 0) {
              t3 = _this._readBit$0();
              t3.toString;
              zz[z] = t2 + B.JSInt_methods._shlPositive$1(t3, t1);
            }
            break;
        }
        ++k;
      }
      if (_this.successiveACState === 4)
        if (--_this.eobrun === 0)
          _this.successiveACState = 0;
    },
    _decodeMcu$5(component, decodeFn, mcu, row, col) {
      var blockRow, blockCol,
        t1 = this.__JpegScan_mcusPerLine;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      blockRow = B.JSInt_methods.$tdiv(mcu, t1) * component.vSamples + row;
      blockCol = B.JSInt_methods.$mod(mcu, t1) * component.hSamples + col;
      t1 = component.__JpegComponent_blocks;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (blockRow >= t1.length)
        return;
      t1 = t1[blockRow];
      if (blockCol >= t1.length)
        return;
      decodeFn.call$2(component, t1[blockCol]);
    }
  };
  A.JpegDecoder.prototype = {
    decodeImage$1(bytes) {
      var jpeg = A.JpegData$();
      jpeg.read$1(0, bytes);
      if (jpeg.frames.length !== 1)
        throw A.wrapException(A.ImageException$("only single frame JPEGs supported"));
      return A.getImageFromJpeg(jpeg);
    }
  };
  A.PngFrame.prototype = {};
  A.InternalPngFrame.prototype = {};
  A.PngInfo.prototype = {};
  A.InternalPngInfo.prototype = {};
  A.PngDecoder.prototype = {
    isValidFile$1(data) {
      var t1, t2, i,
        pngHeader = A.InputBuffer$(data, true, null, 0).readBytes$1(8);
      for (t1 = pngHeader.buffer, t2 = pngHeader.offset, i = 0; i < 8; ++i)
        if (t1[t2 + i] !== B.List_2Vk0[i])
          return false;
      return true;
    },
    startDecode$1(data) {
      var pngHeader, t2, i, t3, t4, t5, inputPos, chunkSize, chunkType, bytes, txtData, l, key, text, hdr, hdrBytes, t6, t7, t8, crc, gammaInt, frame, p3, r, g, b, _this = this, _null = null,
        t1 = A.InputBuffer$(data, true, _null, 0);
      _this.__PngDecoder__input = t1;
      pngHeader = t1.readBytes$1(8);
      for (t1 = pngHeader.buffer, t2 = pngHeader.offset, i = 0; i < 8; ++i)
        if (t1[t2 + i] !== B.List_2Vk0[i])
          return _null;
      for (t1 = type$.JSArray_int, t2 = type$.List_int, t3 = type$.String, t4 = type$.JSArray_PngFrame; true;) {
        t5 = _this.__PngDecoder__input;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        inputPos = t5.offset - t5.start;
        chunkSize = t5.readUint32$0();
        t5 = _this.__PngDecoder__input;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        chunkType = t5.readString$1(4);
        switch (chunkType) {
          case "tEXt":
            if (_this._png_decoder$_info == null)
              _this._png_decoder$_info = new A.InternalPngInfo(A.LinkedHashMap_LinkedHashMap$_empty(t3, t3), A._setArrayType([], t4), A._setArrayType([], t1));
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            bytes = t5.subset$1(chunkSize);
            t5.offset = t5.offset + (bytes.end - bytes.offset);
            txtData = bytes.toUint8List$0();
            for (l = txtData.length, i = 0; i < l; ++i)
              if (txtData[i] === 0) {
                key = B.C_Latin1Codec.decode$1(0, new Uint8Array(txtData.subarray(0, A._checkValidRange(0, i, l))));
                t5 = i + 1;
                text = B.C_Latin1Codec.decode$1(0, new Uint8Array(txtData.subarray(t5, A._checkValidRange(t5, _null, l))));
                _this._png_decoder$_info.textData.$indexSet(0, key, text);
                break;
              }
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.offset += 4;
            break;
          case "IHDR":
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            bytes = t5.subset$1(chunkSize);
            t5.offset = t5.offset + (bytes.end - bytes.offset);
            hdr = A.InputBuffer$from(bytes, _null, 0);
            hdrBytes = hdr.toUint8List$0();
            t5 = new A.InternalPngInfo(A.LinkedHashMap_LinkedHashMap$_empty(t3, t3), A._setArrayType([], t4), A._setArrayType([], t1));
            _this._png_decoder$_info = t5;
            t5.width = hdr.readUint32$0();
            t5 = _this._png_decoder$_info;
            t5.toString;
            t5.height = hdr.readUint32$0();
            t5 = _this._png_decoder$_info;
            t5.toString;
            t6 = hdr.buffer;
            t7 = hdr.offset;
            t8 = hdr.offset = t7 + 1;
            t5.bits = t6[t7];
            t7 = t8 + 1;
            hdr.offset = t7;
            t5.colorType = t6[t8];
            t7 = hdr.offset = t7 + 1;
            t8 = hdr.offset = t7 + 1;
            t5.filterMethod = t6[t7];
            hdr.offset = t8 + 1;
            t5.interlaceMethod = t6[t8];
            if (!B.JSArray_methods.contains$1(A._setArrayType([0, 2, 3, 4, 6], t1), _this._png_decoder$_info.colorType))
              return _null;
            t5 = _this._png_decoder$_info;
            if (t5.filterMethod !== 0)
              return _null;
            switch (t5.colorType) {
              case 0:
                if (!B.JSArray_methods.contains$1(A._setArrayType([1, 2, 4, 8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 2:
                if (!B.JSArray_methods.contains$1(A._setArrayType([8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 3:
                if (!B.JSArray_methods.contains$1(A._setArrayType([1, 2, 4, 8], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 4:
                if (!B.JSArray_methods.contains$1(A._setArrayType([8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
              case 6:
                if (!B.JSArray_methods.contains$1(A._setArrayType([8, 16], t1), _this._png_decoder$_info.bits))
                  return _null;
                break;
            }
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            if (t5.readUint32$0() !== A.getCrc32(hdrBytes, A.getCrc32(new A.CodeUnits(chunkType), 0)))
              throw A.wrapException(A.ImageException$("Invalid " + chunkType + " checksum"));
            break;
          case "PLTE":
            t5 = _this._png_decoder$_info;
            t5.toString;
            t6 = _this.__PngDecoder__input;
            if (t6 === $)
              A.throwUnnamedLateFieldNI();
            bytes = t6.subset$1(chunkSize);
            t6.offset = t6.offset + (bytes.end - bytes.offset);
            t5.palette = bytes.toUint8List$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            if (t5.readUint32$0() !== A.getCrc32(t2._as(_this._png_decoder$_info.palette), A.getCrc32(new A.CodeUnits(chunkType), 0)))
              throw A.wrapException(A.ImageException$("Invalid " + chunkType + " checksum"));
            break;
          case "tRNS":
            t5 = _this._png_decoder$_info;
            t5.toString;
            t6 = _this.__PngDecoder__input;
            if (t6 === $)
              A.throwUnnamedLateFieldNI();
            bytes = t6.subset$1(chunkSize);
            t6.offset = t6.offset + (bytes.end - bytes.offset);
            t5.transparency = bytes.toUint8List$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            crc = t5.readUint32$0();
            t5 = _this._png_decoder$_info.transparency;
            t5.toString;
            if (crc !== A.getCrc32(t5, A.getCrc32(new A.CodeUnits(chunkType), 0)))
              throw A.wrapException(A.ImageException$("Invalid " + chunkType + " checksum"));
            break;
          case "IEND":
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.offset += 4;
            break;
          case "gAMA":
            if (chunkSize !== 4)
              throw A.wrapException(A.ImageException$("Invalid gAMA chunk"));
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            gammaInt = t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.offset += 4;
            if (gammaInt !== 100000)
              _this._png_decoder$_info.gamma = gammaInt / 100000;
            break;
          case "IDAT":
            _this._png_decoder$_info._idat.push(inputPos);
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t6 = t5.offset += chunkSize;
            t5.offset = t6 + 4;
            break;
          case "acTL":
            _this._png_decoder$_info.toString;
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint32$0();
            _this._png_decoder$_info.toString;
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.offset += 4;
            break;
          case "fcTL":
            frame = new A.InternalPngFrame(A._setArrayType([], t1));
            _this._png_decoder$_info.frames.push(frame);
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            frame.width = t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            frame.height = t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint32$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint16$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint16$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t6 = t5.buffer;
            t7 = t5.offset;
            t8 = t7 + 1;
            t5.offset = t8;
            frame.dispose = t6[t7];
            ++t8;
            t5.offset = t8;
            t5.offset = t8 + 4;
            break;
          case "fdAT":
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.readUint32$0();
            B.JSArray_methods.get$last(_this._png_decoder$_info.frames)._fdat.push(inputPos);
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t6 = t5.offset += chunkSize - 4;
            t5.offset = t6 + 4;
            break;
          case "bKGD":
            t5 = _this._png_decoder$_info;
            t6 = t5.colorType;
            if (t6 === 3) {
              t6 = _this.__PngDecoder__input;
              if (t6 === $)
                A.throwUnnamedLateFieldNI();
              --chunkSize;
              p3 = t6.buffer[t6.offset++] * 3;
              t5 = t5.palette;
              r = t5[p3];
              g = t5[p3 + 1];
              b = t5[p3 + 2];
              B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255));
              B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(b, 0, 255));
              B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(g, 0, 255));
              B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(r, 0, 255));
            } else if (t6 === 0 || t6 === 4) {
              t5 = _this.__PngDecoder__input;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t5.readUint16$0();
              chunkSize -= 2;
            } else if (t6 === 2 || t6 === 6) {
              t5 = _this.__PngDecoder__input;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t5.readUint16$0();
              t5 = _this.__PngDecoder__input;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t5.readUint16$0();
              t5 = _this.__PngDecoder__input;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t5.readUint16$0();
              chunkSize -= 24;
            }
            if (chunkSize > 0) {
              t5 = _this.__PngDecoder__input;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t5.offset += chunkSize;
            }
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.offset += 4;
            break;
          case "iCCP":
            t5 = _this._png_decoder$_info;
            t5.toString;
            t6 = _this.__PngDecoder__input;
            if (t6 === $)
              A.throwUnnamedLateFieldNI();
            t5.iCCPName = t6.readString$0();
            t6 = _this._png_decoder$_info;
            t6.toString;
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            ++t5.offset;
            bytes = t5.subset$1(chunkSize - (t6.iCCPName.length + 2));
            t5.offset = t5.offset + (bytes.end - bytes.offset);
            t5 = _this._png_decoder$_info;
            t5.toString;
            t5.iCCPData = bytes.toUint8List$0();
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t5.offset += 4;
            break;
          default:
            t5 = _this.__PngDecoder__input;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            t6 = t5.offset += chunkSize;
            t5.offset = t6 + 4;
            break;
        }
        if (chunkType === "IEND")
          break;
        t5 = _this.__PngDecoder__input;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        if (t5.offset >= t5.end)
          return _null;
      }
      return _this._png_decoder$_info;
    },
    decodeFrame$1(frame) {
      var imageData, t1, width, height, t2, t3, len, i, chunkSize, chunkType, bytes, data, f, channels, image, input, origW, origH, _this = this;
      if (_this._png_decoder$_info == null)
        return null;
      imageData = A._setArrayType([], type$.JSArray_int);
      t1 = _this._png_decoder$_info;
      width = t1.width;
      height = t1.height;
      t2 = t1.frames;
      t3 = t2.length;
      if (t3 === 0 || frame === 0)
        for (len = t1._idat.length, i = 0; i < len; ++i) {
          t1 = _this.__PngDecoder__input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.offset = _this._png_decoder$_info._idat[i];
          chunkSize = t1.readUint32$0();
          t1 = _this.__PngDecoder__input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          chunkType = t1.readString$1(4);
          t1 = _this.__PngDecoder__input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          bytes = t1.subset$1(chunkSize);
          t1.offset = t1.offset + (bytes.end - bytes.offset);
          data = bytes.toUint8List$0();
          B.JSArray_methods.addAll$1(imageData, data);
          t1 = _this.__PngDecoder__input;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (t1.readUint32$0() !== A.getCrc32(data, A.getCrc32(new A.CodeUnits(chunkType), 0)))
            throw A.wrapException(A.ImageException$("Invalid " + chunkType + " checksum"));
        }
      else {
        if (frame >= t3)
          throw A.wrapException(A.ImageException$("Invalid Frame Number: " + frame));
        f = t2[frame];
        width = f.width;
        height = f.height;
        for (t1 = f._fdat, i = 0; i < t1.length; ++i) {
          t2 = _this.__PngDecoder__input;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.offset = t1[i];
          chunkSize = t2.readUint32$0();
          t2 = _this.__PngDecoder__input;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.readString$1(4);
          t2 = _this.__PngDecoder__input;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2.offset += 4;
          bytes = t2.subset$1(chunkSize);
          t2.offset = t2.offset + (bytes.end - bytes.offset);
          B.JSArray_methods.addAll$1(imageData, bytes.toUint8List$0());
        }
      }
      t1 = _this._png_decoder$_info;
      t2 = t1.colorType;
      channels = t2 === 4 || t2 === 6 || t1.transparency != null ? B.Channels_1 : B.Channels_0;
      width.toString;
      height.toString;
      image = A.Image$0(width, height, channels);
      input = A.InputBuffer$(B.C__ZLibDecoder.decodeBuffer$2$verify(A.InputStream$(imageData, 1, null, 0), false), true, null, 0);
      _this._png_decoder$_bitBufferLen = _this._png_decoder$_bitBuffer = 0;
      t1 = _this._png_decoder$_info;
      if (t1.colorLut == null) {
        t1.colorLut = A.List_List$generate(256, new A.PngDecoder_decodeFrame_closure(), false, type$.int);
        t1 = _this._png_decoder$_info;
        t2 = t1.palette;
        if (t2 != null && t1.gamma != null)
          for (t3 = t2.length, t1 = t1.colorLut, i = 0; i < t3; ++i) {
            t1.toString;
            t2[i] = t1[t2[i]];
          }
      }
      t1 = _this._png_decoder$_info;
      origW = t1.width;
      origH = t1.height;
      t1.width = width;
      t1.height = height;
      _this._progressY = 0;
      if (t1.interlaceMethod !== 0) {
        t1 = B.JSInt_methods._shrOtherPositive$1(width + 7, 3);
        t2 = B.JSInt_methods._shrOtherPositive$1(height + 7, 3);
        _this._processPass$8(input, image, 0, 0, 8, 8, t1, t2);
        t1 = width + 3;
        _this._processPass$8(input, image, 4, 0, 8, 8, B.JSInt_methods._shrOtherPositive$1(t1, 3), t2);
        t2 = height + 3;
        _this._processPass$8(input, image, 0, 4, 4, 8, B.JSInt_methods._shrOtherPositive$1(t1, 2), B.JSInt_methods._shrOtherPositive$1(t2, 3));
        t1 = width + 1;
        _this._processPass$8(input, image, 2, 0, 4, 4, B.JSInt_methods._shrOtherPositive$1(t1, 2), B.JSInt_methods._shrOtherPositive$1(t2, 2));
        t2 = height + 1;
        _this._processPass$8(input, image, 0, 2, 2, 4, B.JSInt_methods._shrOtherPositive$1(t1, 1), B.JSInt_methods._shrOtherPositive$1(t2, 2));
        _this._processPass$8(input, image, 1, 0, 2, 2, B.JSInt_methods._shrOtherPositive$1(width, 1), B.JSInt_methods._shrOtherPositive$1(t2, 1));
        _this._processPass$8(input, image, 0, 1, 1, 2, width, B.JSInt_methods._shrOtherPositive$1(height, 1));
      } else
        _this._png_decoder$_process$2(input, image);
      t1 = _this._png_decoder$_info;
      t1.width = origW;
      t1.height = origH;
      t1 = t1.textData;
      if (t1._length !== 0)
        image.addTextData$1(t1);
      return image;
    },
    decodeImage$1(bytes) {
      if (this.startDecode$1(bytes) == null)
        return null;
      return this.decodeFrame$1(0);
    },
    _processPass$8(input, image, xOffset, yOffset, xStep, yStep, passWidth, passHeight) {
      var channels, pixelDepth, bpp, rowBytes, line, inData, pixel, t3, t4, blockWidth, t5, dstY, srcY, ri, t6, bytes, t7, rowInput, dstX, srcX, c, i, j, t8, t9, _this = this,
        t1 = _this._png_decoder$_info,
        t2 = t1.colorType;
      if (t2 === 4)
        channels = 2;
      else if (t2 === 2)
        channels = 3;
      else {
        t2 = t2 === 6 ? 4 : 1;
        channels = t2;
      }
      t1 = t1.bits;
      t1.toString;
      pixelDepth = channels * t1;
      bpp = B.JSInt_methods._shrOtherPositive$1(pixelDepth + 7, 3);
      rowBytes = B.JSInt_methods._shrOtherPositive$1(pixelDepth * passWidth + 7, 3);
      line = A.List_List$filled(rowBytes, 0, false, type$.int);
      inData = A._setArrayType([line, line], type$.JSArray_List_int);
      pixel = A._setArrayType([0, 0, 0, 0], type$.JSArray_int);
      for (t1 = image.data, t2 = image.width, t3 = xStep > 1, t4 = image.height, blockWidth = xStep - xOffset, t5 = blockWidth <= 1, dstY = yOffset, srcY = 0, ri = 0; srcY < passHeight; ++srcY, dstY += yStep, ++_this._progressY) {
        t6 = input.buffer[input.offset++];
        bytes = input.subset$1(rowBytes);
        input.offset = input.offset + (bytes.end - bytes.offset);
        t7 = bytes.toUint8List$0();
        inData[ri] = t7;
        ri = 1 - ri;
        _this._unfilter$4(t6, bpp, t7, inData[ri]);
        _this._png_decoder$_bitBufferLen = _this._png_decoder$_bitBuffer = 0;
        rowInput = new A.InputBuffer(t7, 0, t7.length, 0, true);
        for (t6 = dstY * t2, dstX = xOffset, srcX = 0; srcX < passWidth; ++srcX, dstX += xStep) {
          _this._readPixel$2(rowInput, pixel);
          c = _this._getColor$1(pixel);
          t1[t6 + dstX] = c;
          if (!t5 || t3)
            for (i = 0; i < xStep; ++i)
              for (j = 0; j < blockWidth; ++j) {
                t7 = dstX + j;
                t8 = dstY + j;
                if (t7 < t2)
                  t9 = t8 < t4;
                else
                  t9 = false;
                if (t9)
                  t1[t8 * t2 + t7] = c;
              }
        }
      }
    },
    _png_decoder$_process$2(input, image) {
      var channels, pixelDepth, w, h, rowBytes, bpp, line, inData, pixel, y, pi, ri, bytes, t3, ri0, rowInput, x, pi0, _this = this,
        t1 = _this._png_decoder$_info,
        t2 = t1.colorType;
      if (t2 === 4)
        channels = 2;
      else if (t2 === 2)
        channels = 3;
      else {
        t2 = t2 === 6 ? 4 : 1;
        channels = t2;
      }
      t2 = t1.bits;
      t2.toString;
      pixelDepth = channels * t2;
      w = t1.width;
      h = t1.height;
      rowBytes = B.JSInt_methods._shrOtherPositive$1(w * pixelDepth + 7, 3);
      bpp = B.JSInt_methods._shrOtherPositive$1(pixelDepth + 7, 3);
      line = A.List_List$filled(rowBytes, 0, false, type$.int);
      inData = A._setArrayType([line, line], type$.JSArray_List_int);
      pixel = A._setArrayType([0, 0, 0, 0], type$.JSArray_int);
      for (t1 = image.data, y = 0, pi = 0, ri = 0; y < h; ++y, ri = ri0) {
        t2 = input.buffer[input.offset++];
        bytes = input.subset$1(rowBytes);
        input.offset = input.offset + (bytes.end - bytes.offset);
        t3 = bytes.toUint8List$0();
        inData[ri] = t3;
        ri0 = 1 - ri;
        _this._unfilter$4(t2, bpp, t3, inData[ri0]);
        _this._png_decoder$_bitBufferLen = _this._png_decoder$_bitBuffer = 0;
        t3 = inData[ri];
        t2 = t3.length;
        rowInput = new A.InputBuffer(t3, 0, t2, 0, true);
        for (x = 0; x < w; ++x, pi = pi0) {
          _this._readPixel$2(rowInput, pixel);
          pi0 = pi + 1;
          t1[pi] = _this._getColor$1(pixel);
        }
      }
    },
    _unfilter$4(filterType, bpp, row, prevRow) {
      var x, a, b, t1, c, p, pa, pb, pc, paeth,
        rowBytes = row.length;
      switch (filterType) {
        case 0:
          break;
        case 1:
          for (x = bpp; x < rowBytes; ++x)
            row[x] = row[x] + row[x - bpp] & 255;
          break;
        case 2:
          for (x = 0; x < rowBytes; ++x)
            row[x] = row[x] + prevRow[x] & 255;
          break;
        case 3:
          for (x = 0; x < rowBytes; ++x) {
            a = x < bpp ? 0 : row[x - bpp];
            b = prevRow[x];
            row[x] = row[x] + B.JSInt_methods._shrOtherPositive$1(a + b, 1) & 255;
          }
          break;
        case 4:
          for (x = 0; x < rowBytes; ++x) {
            t1 = x < bpp;
            a = t1 ? 0 : row[x - bpp];
            b = prevRow[x];
            c = t1 ? 0 : prevRow[x - bpp];
            p = a + b - c;
            pa = Math.abs(p - a);
            pb = Math.abs(p - b);
            pc = Math.abs(p - c);
            if (pa <= pb && pa <= pc)
              paeth = a;
            else
              paeth = pb <= pc ? b : c;
            row[x] = row[x] + paeth & 255;
          }
          break;
        default:
          throw A.wrapException(A.ImageException$("Invalid filter value: " + filterType));
      }
    },
    _png_decoder$_readBits$2(input, numBits) {
      var t1, t2, t3, t4, mask, _this = this;
      if (numBits === 0)
        return 0;
      if (numBits === 8)
        return input.readByte$0();
      if (numBits === 16)
        return input.readUint16$0();
      for (t1 = input.end; t2 = _this._png_decoder$_bitBufferLen, t2 < numBits;) {
        t3 = input.offset;
        if (t3 >= t1)
          throw A.wrapException(A.ImageException$("Invalid PNG data."));
        t4 = input.buffer;
        input.offset = t3 + 1;
        _this._png_decoder$_bitBuffer = B.JSInt_methods.$shl(t4[t3], t2);
        _this._png_decoder$_bitBufferLen = t2 + 8;
      }
      if (numBits === 1)
        mask = 1;
      else if (numBits === 2)
        mask = 3;
      else {
        if (numBits === 4)
          t1 = 15;
        else
          t1 = 0;
        mask = t1;
      }
      t1 = t2 - numBits;
      t2 = B.JSInt_methods._shrReceiverPositive$1(_this._png_decoder$_bitBuffer, t1);
      _this._png_decoder$_bitBufferLen = t1;
      return (t2 & mask) >>> 0;
    },
    _readPixel$2(input, pixel) {
      var _this = this,
        t1 = _this._png_decoder$_info,
        t2 = t1.colorType;
      switch (t2) {
        case 0:
          t1 = t1.bits;
          t1.toString;
          pixel[0] = _this._png_decoder$_readBits$2(input, t1);
          return;
        case 2:
          t1 = t1.bits;
          t1.toString;
          pixel[0] = _this._png_decoder$_readBits$2(input, t1);
          t1 = _this._png_decoder$_info.bits;
          t1.toString;
          pixel[1] = _this._png_decoder$_readBits$2(input, t1);
          t1 = _this._png_decoder$_info.bits;
          t1.toString;
          pixel[2] = _this._png_decoder$_readBits$2(input, t1);
          return;
        case 3:
          t1 = t1.bits;
          t1.toString;
          pixel[0] = _this._png_decoder$_readBits$2(input, t1);
          return;
        case 4:
          t1 = t1.bits;
          t1.toString;
          pixel[0] = _this._png_decoder$_readBits$2(input, t1);
          t1 = _this._png_decoder$_info.bits;
          t1.toString;
          pixel[1] = _this._png_decoder$_readBits$2(input, t1);
          return;
        case 6:
          t1 = t1.bits;
          t1.toString;
          pixel[0] = _this._png_decoder$_readBits$2(input, t1);
          t1 = _this._png_decoder$_info.bits;
          t1.toString;
          pixel[1] = _this._png_decoder$_readBits$2(input, t1);
          t1 = _this._png_decoder$_info.bits;
          t1.toString;
          pixel[2] = _this._png_decoder$_readBits$2(input, t1);
          t1 = _this._png_decoder$_info.bits;
          t1.toString;
          pixel[3] = _this._png_decoder$_readBits$2(input, t1);
          return;
      }
      throw A.wrapException(A.ImageException$("Invalid color type: " + A.S(t2) + "."));
    },
    _getColor$1(raw) {
      var g, r, b, t3, t4, t5, t6, p, a, _this = this,
        t1 = _this._png_decoder$_info,
        t2 = t1.colorType;
      switch (t2) {
        case 0:
          g = A._Cell$named("g");
          t1 = _this._png_decoder$_info;
          switch (t1.bits) {
            case 1:
              g.__late_helper$_value = raw[0] === 0 ? 0 : 255;
              break;
            case 2:
              g.__late_helper$_value = raw[0] * 85;
              break;
            case 4:
              g.__late_helper$_value = raw[0] << 4 >>> 0;
              break;
            case 8:
              g.__late_helper$_value = raw[0];
              break;
            case 16:
              g.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              break;
          }
          t1 = t1.colorLut;
          t1.toString;
          g.__late_helper$_value = t1[g._readLocal$0()];
          t1 = _this._png_decoder$_info.transparency;
          if (t1 != null) {
            t2 = t1[0];
            t1 = t1[1];
            if (raw[0] === ((t2 & 255) << 24 | t1 & 255) >>> 0)
              return A.getColor(g._readLocal$0(), g._readLocal$0(), g._readLocal$0(), 0);
          }
          return A.getColor(g._readLocal$0(), g._readLocal$0(), g._readLocal$0(), 255);
        case 2:
          r = A._Cell$named("r");
          g = A._Cell$named("g");
          b = A._Cell$named("b");
          t1 = _this._png_decoder$_info;
          switch (t1.bits) {
            case 1:
              r.__late_helper$_value = raw[0] === 0 ? 0 : 255;
              g.__late_helper$_value = raw[1] === 0 ? 0 : 255;
              b.__late_helper$_value = raw[2] === 0 ? 0 : 255;
              break;
            case 2:
              r.__late_helper$_value = raw[0] * 85;
              g.__late_helper$_value = raw[1] * 85;
              b.__late_helper$_value = raw[2] * 85;
              break;
            case 4:
              r.__late_helper$_value = raw[0] << 4 >>> 0;
              g.__late_helper$_value = raw[1] << 4 >>> 0;
              b.__late_helper$_value = raw[2] << 4 >>> 0;
              break;
            case 8:
              r.__late_helper$_value = raw[0];
              g.__late_helper$_value = raw[1];
              b.__late_helper$_value = raw[2];
              break;
            case 16:
              r.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              g.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[1], 8);
              b.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[2], 8);
              break;
          }
          t1 = t1.colorLut;
          t1.toString;
          r.__late_helper$_value = t1[r._readLocal$0()];
          t1 = _this._png_decoder$_info.colorLut;
          t1.toString;
          g.__late_helper$_value = t1[g._readLocal$0()];
          t1 = _this._png_decoder$_info.colorLut;
          t1.toString;
          b.__late_helper$_value = t1[b._readLocal$0()];
          t1 = _this._png_decoder$_info.transparency;
          if (t1 != null) {
            t2 = t1[0];
            t3 = t1[1];
            t4 = t1[2];
            t5 = t1[3];
            t6 = t1[4];
            t1 = t1[5];
            if (raw[0] === ((t2 & 255) << 8 | t3 & 255) && raw[1] === ((t4 & 255) << 8 | t5 & 255) && raw[2] === ((t6 & 255) << 8 | t1 & 255))
              return A.getColor(r._readLocal$0(), g._readLocal$0(), b._readLocal$0(), 0);
          }
          return A.getColor(r._readLocal$0(), g._readLocal$0(), b._readLocal$0(), 255);
        case 3:
          t2 = raw[0];
          p = t2 * 3;
          t3 = t1.transparency;
          a = t3 != null && t2 < t3.length ? t3[t2] : 255;
          t1 = t1.palette;
          if (p >= t1.length)
            return A.getColor(255, 255, 255, a);
          return A.getColor(t1[p], t1[p + 1], t1[p + 2], a);
        case 4:
          g = A._Cell$named("g");
          a = A._Cell$named("a");
          t1 = _this._png_decoder$_info;
          switch (t1.bits) {
            case 1:
              g.__late_helper$_value = raw[0] === 0 ? 0 : 255;
              a.__late_helper$_value = raw[1] === 0 ? 0 : 255;
              break;
            case 2:
              g.__late_helper$_value = raw[0] * 85;
              a.__late_helper$_value = raw[1] * 85;
              break;
            case 4:
              g.__late_helper$_value = raw[0] << 4 >>> 0;
              a.__late_helper$_value = raw[1] << 4 >>> 0;
              break;
            case 8:
              g.__late_helper$_value = raw[0];
              a.__late_helper$_value = raw[1];
              break;
            case 16:
              g.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              a.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[1], 8);
              break;
          }
          t1 = t1.colorLut;
          t1.toString;
          g.__late_helper$_value = t1[g._readLocal$0()];
          return A.getColor(g._readLocal$0(), g._readLocal$0(), g._readLocal$0(), a._readLocal$0());
        case 6:
          r = A._Cell$named("r");
          g = A._Cell$named("g");
          b = A._Cell$named("b");
          a = A._Cell$named("a");
          t1 = _this._png_decoder$_info;
          switch (t1.bits) {
            case 1:
              r.__late_helper$_value = raw[0] === 0 ? 0 : 255;
              g.__late_helper$_value = raw[1] === 0 ? 0 : 255;
              b.__late_helper$_value = raw[2] === 0 ? 0 : 255;
              a.__late_helper$_value = raw[3] === 0 ? 0 : 255;
              break;
            case 2:
              r.__late_helper$_value = raw[0] * 85;
              g.__late_helper$_value = raw[1] * 85;
              b.__late_helper$_value = raw[2] * 85;
              a.__late_helper$_value = raw[3] * 85;
              break;
            case 4:
              r.__late_helper$_value = raw[0] << 4 >>> 0;
              g.__late_helper$_value = raw[1] << 4 >>> 0;
              b.__late_helper$_value = raw[2] << 4 >>> 0;
              a.__late_helper$_value = raw[3] << 4 >>> 0;
              break;
            case 8:
              r.__late_helper$_value = raw[0];
              g.__late_helper$_value = raw[1];
              b.__late_helper$_value = raw[2];
              a.__late_helper$_value = raw[3];
              break;
            case 16:
              r.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[0], 8);
              g.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[1], 8);
              b.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[2], 8);
              a.__late_helper$_value = B.JSInt_methods._shrOtherPositive$1(raw[3], 8);
              break;
          }
          t1 = t1.colorLut;
          t1.toString;
          r.__late_helper$_value = t1[r._readLocal$0()];
          t1 = _this._png_decoder$_info.colorLut;
          t1.toString;
          g.__late_helper$_value = t1[g._readLocal$0()];
          t1 = _this._png_decoder$_info.colorLut;
          t1.toString;
          b.__late_helper$_value = t1[b._readLocal$0()];
          return A.getColor(r._readLocal$0(), g._readLocal$0(), b._readLocal$0(), a._readLocal$0());
      }
      throw A.wrapException(A.ImageException$("Invalid color type: " + A.S(t2) + "."));
    }
  };
  A.PngDecoder_decodeFrame_closure.prototype = {
    call$1(i) {
      return i;
    },
    $signature: 32
  };
  A.PsdBevelEffect.prototype = {};
  A.PsdDropShadowEffect.prototype = {};
  A.PsdEffect.prototype = {};
  A.PsdInnerGlowEffect.prototype = {};
  A.PsdInnerShadowEffect.prototype = {};
  A.PsdOuterGlowEffect.prototype = {};
  A.PsdSolidFillEffect.prototype = {};
  A.PsdLayerAdditionalData.prototype = {};
  A.PsdLayerSectionDivider.prototype = {};
  A.PsdBlendingRanges.prototype = {
    PsdBlendingRanges$1(input) {
      var numChannels, i, t1, _this = this;
      input.readUint16$0();
      input.readUint16$0();
      input.readUint16$0();
      input.readUint16$0();
      numChannels = B.JSInt_methods._tdivFast$1(input.end - input.offset, 8);
      if (numChannels > 0) {
        _this.__PsdBlendingRanges_blackSrc = new Uint16Array(numChannels);
        _this.__PsdBlendingRanges_whiteSrc = new Uint16Array(numChannels);
        _this.__PsdBlendingRanges_blackDst = new Uint16Array(numChannels);
        _this.__PsdBlendingRanges_whiteDst = new Uint16Array(numChannels);
        for (i = 0; i < numChannels; ++i) {
          t1 = _this.__PsdBlendingRanges_blackSrc;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1[i] = input.readUint16$0();
          t1 = _this.__PsdBlendingRanges_whiteSrc;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1[i] = input.readUint16$0();
          t1 = _this.__PsdBlendingRanges_blackDst;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1[i] = input.readUint16$0();
          t1 = _this.__PsdBlendingRanges_whiteDst;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1[i] = input.readUint16$0();
        }
      }
    }
  };
  A.PsdChannel.prototype = {
    readPlane$7(input, width, height, bitDepth, compression, lineLengths, planeNum) {
      if (compression == null)
        compression = input.readUint16$0();
      switch (compression) {
        case 0:
          bitDepth.toString;
          this._readPlaneUncompressed$4(input, width, height, bitDepth);
          break;
        case 1:
          if (lineLengths == null)
            lineLengths = this._readLineLengths$2(input, height);
          bitDepth.toString;
          this._readPlaneRleCompressed$6(input, width, height, bitDepth, lineLengths, planeNum);
          break;
        default:
          throw A.wrapException(A.ImageException$("Unsupported compression: " + compression));
      }
    },
    readPlane$4(input, width, height, bitDepth) {
      return this.readPlane$7(input, width, height, bitDepth, null, null, 0);
    },
    _readLineLengths$2(input, height) {
      var i,
        lineLengths = new Uint16Array(height);
      for (i = 0; i < height; ++i)
        lineLengths[i] = input.readUint16$0();
      return lineLengths;
    },
    _readPlaneUncompressed$4(input, width, height, bitDepth) {
      var t1,
        len = width * height;
      if (bitDepth === 16)
        len *= 2;
      if (len > input.end - input.offset) {
        t1 = new Uint8Array(len);
        this.__PsdChannel_data = t1;
        B.NativeUint8List_methods.fillRange$3(t1, 0, len, 255);
        return;
      }
      this.__PsdChannel_data = input.readBytes$1(len).toUint8List$0();
    },
    _readPlaneRleCompressed$6(input, width, height, bitDepth, lineLengths, planeNum) {
      var t1, lineIndex, pos, i, lineIndex0, bytes,
        len = width * height;
      if (bitDepth === 16)
        len *= 2;
      t1 = new Uint8Array(len);
      this.__PsdChannel_data = t1;
      lineIndex = planeNum * height;
      if (lineIndex >= lineLengths.length) {
        B.NativeUint8List_methods.fillRange$3(t1, 0, len, 255);
        return;
      }
      for (pos = 0, i = 0; i < height; ++i, lineIndex = lineIndex0) {
        lineIndex0 = lineIndex + 1;
        bytes = input.subset$1(lineLengths[lineIndex]);
        input.offset = input.offset + (bytes.end - bytes.offset);
        t1 = this.__PsdChannel_data;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        this._decodeRLE$3(bytes, t1, pos);
        pos += width;
      }
    },
    _decodeRLE$3(src, dst, dstIndex) {
      var t1, t2, t3, t4, n, i, dstIndex0;
      for (t1 = src.end; t2 = src.offset, t2 < t1;) {
        t3 = src.buffer;
        t4 = src.offset = t2 + 1;
        t2 = t3[t2];
        $.$get$__uint8()[0] = t2;
        n = $.$get$__uint8ToInt8()[0];
        if (n < 0) {
          n = 1 - n;
          src.offset = t4 + 1;
          t2 = t3[t4];
          for (i = 0; i < n; ++i, dstIndex = dstIndex0) {
            dstIndex0 = dstIndex + 1;
            dst[dstIndex] = t2;
          }
        } else {
          ++n;
          for (t2 = t4, i = 0; i < n; ++i, t2 = t4, dstIndex = dstIndex0) {
            dstIndex0 = dstIndex + 1;
            t4 = t2 + 1;
            src.offset = t4;
            dst[dstIndex] = t3[t2];
          }
        }
      }
    }
  };
  A.PsdImage.prototype = {
    PsdImage$1(bytes) {
      var t1, len, _this = this;
      _this.__PsdImage__input = A.InputBuffer$(bytes, true, null, 0);
      _this._psd_image$_readHeader$0();
      if (_this.signature !== 943870035)
        return;
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      len = t1.readUint32$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.readBytes$1(len);
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      len = t1.readUint32$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__PsdImage__imageResourceData = t1.readBytes$1(len);
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      len = t1.readUint32$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__PsdImage__layerAndMaskData = t1.readBytes$1(len);
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__PsdImage__imageData = t1.readBytes$1(t1.end - t1.offset);
    },
    decode$0(_) {
      var t1, _this = this;
      if (_this.signature === 943870035) {
        t1 = _this.__PsdImage__input;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1 == null;
      } else
        t1 = true;
      if (t1)
        return false;
      _this._readImageResources$0();
      _this._readLayerAndMaskData$0();
      _this._readMergeImageData$0();
      _this.__PsdImage__imageData = _this.__PsdImage__layerAndMaskData = _this.__PsdImage__imageResourceData = _this.__PsdImage__input = null;
      return true;
    },
    decodeImage$0() {
      if (!this.decode$0(0))
        return null;
      return this.renderImage$0();
    },
    renderImage$0() {
      var pixels, li, layer, opacity, blendMode, srcP, sy, y, si, t2, t3, di, sx, x, si0, br, bg, bb, ba, ar, ag, ab, aa, da, a, b, g, r, di0, _this = this,
        t1 = _this.mergedImage;
      if (t1 != null)
        return t1;
      t1 = A.Image$0(_this.width, _this.height, B.Channels_1);
      _this.mergedImage = t1;
      t1 = t1.data;
      B.NativeUint32List_methods.fillRange$3(t1, 0, t1.length, 0);
      pixels = _this.mergedImage.getBytes$0();
      li = 0;
      while (true) {
        t1 = _this.__PsdImage_layers;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!(li < t1.length))
          break;
        c$0: {
          layer = t1[li];
          t1 = layer.__PsdLayer_flags;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if ((t1 & 2) !== 0)
            break c$0;
          t1 = layer.__PsdLayer_opacity;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          opacity = t1 / 255;
          blendMode = layer.blendMode;
          t1 = layer.__PsdLayer_layerImage;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          srcP = t1.getBytes$0();
          t1 = layer.top;
          t1.toString;
          sy = t1;
          y = 0;
          si = 0;
          while (true) {
            t1 = layer.__PsdLayer_height;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            if (!(y < t1))
              break;
            t1 = layer.top;
            t1.toString;
            t2 = _this.width;
            t3 = layer.left;
            t3.toString;
            di = (t1 + y) * t2 * 4 + t3 * 4;
            t1 = sy >= 0;
            sx = t3;
            x = 0;
            while (true) {
              t2 = layer.__PsdLayer_width;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              if (!(x < t2))
                break;
              si0 = si + 1;
              br = srcP[si];
              si = si0 + 1;
              bg = srcP[si0];
              si0 = si + 1;
              bb = srcP[si];
              si = si0 + 1;
              ba = srcP[si0];
              if (sx >= 0 && sx < _this.width && t1 && sy < _this.height) {
                ar = pixels[di];
                t2 = di + 1;
                ag = pixels[t2];
                ab = pixels[di + 2];
                aa = pixels[di + 3];
                da = ba / 255 * opacity;
                switch (blendMode) {
                  case 1885434739:
                    a = aa;
                    b = ab;
                    g = ag;
                    r = ar;
                    break;
                  case 1852797549:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1684632435:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1684107883:
                    r = Math.min(ar, br);
                    g = Math.min(ag, bg);
                    b = Math.min(ab, bb);
                    a = ba;
                    break;
                  case 1836411936:
                    r = ar * br >>> 8;
                    g = ag * bg >>> 8;
                    b = ab * bb >>> 8;
                    a = ba;
                    break;
                  case 1768188278:
                    r = A.PsdImage__blendColorBurn(ar, br);
                    g = A.PsdImage__blendColorBurn(ag, bg);
                    b = A.PsdImage__blendColorBurn(ab, bb);
                    a = ba;
                    break;
                  case 1818391150:
                    r = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(ar + br - 255, 0, 255));
                    g = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(ag + bg - 255, 0, 255));
                    b = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(ab + bb - 255, 0, 255));
                    a = ba;
                    break;
                  case 1684751212:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1818850405:
                    r = Math.max(ar, br);
                    g = Math.max(ag, bg);
                    b = Math.max(ab, bb);
                    a = ba;
                    break;
                  case 1935897198:
                    r = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255 - (255 - br) * (255 - ar), 0, 255));
                    g = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255 - (255 - bg) * (255 - ag), 0, 255));
                    b = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255 - (255 - bb) * (255 - ab), 0, 255));
                    a = ba;
                    break;
                  case 1684633120:
                    r = A.PsdImage__blendColorDodge(ar, br);
                    g = A.PsdImage__blendColorDodge(ag, bg);
                    b = A.PsdImage__blendColorDodge(ab, bb);
                    a = ba;
                    break;
                  case 1818518631:
                    r = br + ar > 255 ? 255 : ar + br;
                    g = bg + ag > 255 ? 255 : ag + bg;
                    b = bb + ab > 255 ? 255 : ab + bb;
                    a = ba;
                    break;
                  case 1818706796:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1870030194:
                    r = A.PsdImage__blendOverlay(ar, br, aa, ba);
                    g = A.PsdImage__blendOverlay(ag, bg, aa, ba);
                    b = A.PsdImage__blendOverlay(ab, bb, aa, ba);
                    a = ba;
                    break;
                  case 1934387572:
                    r = A.PsdImage__blendSoftLight(ar, br);
                    g = A.PsdImage__blendSoftLight(ag, bg);
                    b = A.PsdImage__blendSoftLight(ab, bb);
                    a = ba;
                    break;
                  case 1749838196:
                    r = A.PsdImage__blendHardLight(ar, br);
                    g = A.PsdImage__blendHardLight(ag, bg);
                    b = A.PsdImage__blendHardLight(ab, bb);
                    a = ba;
                    break;
                  case 1984719220:
                    r = A.PsdImage__blendVividLight(ar, br);
                    g = A.PsdImage__blendVividLight(ag, bg);
                    b = A.PsdImage__blendVividLight(ab, bb);
                    a = ba;
                    break;
                  case 1816947060:
                    r = A.PsdImage__blendLinearLight(ar, br);
                    g = A.PsdImage__blendLinearLight(ag, bg);
                    b = A.PsdImage__blendLinearLight(ab, bb);
                    a = ba;
                    break;
                  case 1884055924:
                    r = br < 128 ? Math.min(ar, 2 * br) : Math.max(ar, 2 * (br - 128));
                    g = bg < 128 ? Math.min(ag, 2 * bg) : Math.max(ag, 2 * (bg - 128));
                    b = bb < 128 ? Math.min(ab, 2 * bb) : Math.max(ab, 2 * (bb - 128));
                    a = ba;
                    break;
                  case 1749903736:
                    r = br < 255 - ar ? 0 : 255;
                    g = bg < 255 - ag ? 0 : 255;
                    b = bb < 255 - ab ? 0 : 255;
                    a = ba;
                    break;
                  case 1684629094:
                    r = Math.abs(br - ar);
                    g = Math.abs(bg - ag);
                    b = Math.abs(bb - ab);
                    a = ba;
                    break;
                  case 1936553316:
                    r = B.JSNumber_methods.round$0(br + ar - 2 * br * ar / 255);
                    g = B.JSNumber_methods.round$0(bg + ag - 2 * bg * ag / 255);
                    b = B.JSNumber_methods.round$0(bb + ab - 2 * bb * ab / 255);
                    a = ba;
                    break;
                  case 1718842722:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1717856630:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1752524064:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1935766560:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1668246642:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  case 1819634976:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                    break;
                  default:
                    a = ba;
                    b = bb;
                    g = bg;
                    r = br;
                }
                t3 = 1 - da;
                r = B.JSNumber_methods.toInt$0(ar * t3 + r * da);
                g = B.JSNumber_methods.toInt$0(ag * t3 + g * da);
                b = B.JSNumber_methods.toInt$0(ab * t3 + b * da);
                a = B.JSNumber_methods.toInt$0(aa * t3 + a * da);
                pixels[di] = r;
                di0 = t2 + 1;
                pixels[t2] = g;
                pixels[di0] = b;
                pixels[di0 + 1] = a;
              }
              di += 4;
              ++x;
              ++sx;
            }
            ++y;
            ++sy;
          }
        }
        ++li;
      }
      t1 = _this.mergedImage;
      t1.toString;
      return t1;
    },
    _psd_image$_readHeader$0() {
      var padding, t2, i, _this = this,
        t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.signature = t1.readUint32$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.readUint16$0();
      _this.version = t1;
      if (t1 !== 1) {
        _this.signature = 0;
        return;
      }
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      padding = t1.readBytes$1(6);
      for (t1 = padding.buffer, t2 = padding.offset, i = 0; i < 6; ++i)
        if (t1[t2 + i] !== 0) {
          _this.signature = 0;
          return;
        }
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__PsdImage_channels = t1.readUint16$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.height = t1.readUint32$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.width = t1.readUint32$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.depth = t1.readUint16$0();
      t1 = _this.__PsdImage__input;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.colorMode = t1.readUint16$0();
    },
    _readImageResources$0() {
      var t2, blockSignature, blockId, t3, blockName, len, bytes, _this = this,
        t1 = _this.__PsdImage__imageResourceData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.offset = t1.start;
      t1 = _this.imageResources;
      while (true) {
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (!(t2.offset < t2.end))
          break;
        blockSignature = t2.readUint32$0();
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        blockId = t2.readUint16$0();
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = t2.buffer[t2.offset++];
        blockName = t2.readString$1(t3);
        if ((t3 & 1) === 0) {
          t2 = _this.__PsdImage__imageResourceData;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          ++t2.offset;
        }
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        len = t2.readUint32$0();
        t2 = _this.__PsdImage__imageResourceData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        bytes = t2.subset$1(len);
        t2.offset = t2.offset + (bytes.end - bytes.offset);
        if ((len & 1) === 1) {
          t2 = _this.__PsdImage__imageResourceData;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          ++t2.offset;
        }
        if (blockSignature === 943868237)
          t1.$indexSet(0, blockId, new A.PsdImageResource(blockName, bytes));
      }
    },
    _readLayerAndMaskData$0() {
      var len, layerData, t2, count, t3, t4, i, layer, t5, maskData, _this = this,
        t1 = _this.__PsdImage__layerAndMaskData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.offset = t1.start;
      len = t1.readUint32$0();
      if ((len & 1) !== 0)
        ++len;
      t1 = _this.__PsdImage__layerAndMaskData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      layerData = t1.readBytes$1(len);
      t1 = type$.JSArray_PsdLayer;
      _this.__PsdImage_layers = A._setArrayType([], t1);
      if (len > 0) {
        t2 = layerData.readUint16$0();
        $.$get$__uint16()[0] = t2;
        count = $.$get$__uint16ToInt16()[0];
        if (count < 0)
          count = -count;
        for (t2 = type$.String, t3 = type$.PsdLayerData, t4 = type$.JSArray_PsdEffect, i = 0; i < count; ++i) {
          layer = new A.PsdLayer(A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A._setArrayType([], t1), A._setArrayType([], t4));
          layer.PsdLayer$1(layerData);
          t5 = _this.__PsdImage_layers;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          t5.push(layer);
        }
      }
      i = 0;
      while (true) {
        t1 = _this.__PsdImage_layers;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!(i < t1.length))
          break;
        t1[i].readImageData$2(layerData, _this);
        ++i;
      }
      t1 = _this.__PsdImage__layerAndMaskData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      len = t1.readUint32$0();
      t1 = _this.__PsdImage__layerAndMaskData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      maskData = t1.readBytes$1(len);
      if (len > 0) {
        maskData.readUint16$0();
        maskData.readUint16$0();
        maskData.readUint16$0();
        maskData.readUint16$0();
        maskData.readUint16$0();
        maskData.readUint16$0();
        maskData.readByte$0();
      }
    },
    _readMergeImageData$0() {
      var compression, t2, numLines, lineLengths, i, t3, t4, t5, _this = this,
        t1 = _this.__PsdImage__imageData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.offset = t1.start;
      compression = t1.readUint16$0();
      if (compression === 1) {
        t1 = _this.height;
        t2 = _this.__PsdImage_channels;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        numLines = t1 * t2;
        lineLengths = new Uint16Array(numLines);
        for (i = 0; i < numLines; ++i) {
          t1 = _this.__PsdImage__imageData;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          lineLengths[i] = t1.readUint16$0();
        }
      } else
        lineLengths = null;
      _this.__PsdImage_mergeImageChannels = A._setArrayType([], type$.JSArray_PsdChannel);
      i = 0;
      while (true) {
        t1 = _this.__PsdImage_channels;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!(i < t1))
          break;
        t1 = _this.__PsdImage_mergeImageChannels;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this.__PsdImage__imageData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2.toString;
        t3 = i === 3 ? -1 : i;
        t3 = new A.PsdChannel(t3);
        t3.readPlane$7(t2, _this.width, _this.height, _this.depth, compression, lineLengths, i);
        t1.push(t3);
        ++i;
      }
      t1 = _this.colorMode;
      t2 = _this.depth;
      t3 = _this.width;
      t4 = _this.height;
      t5 = _this.__PsdImage_mergeImageChannels;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      _this.mergedImage = A.PsdImage_createImageFromChannels(t1, t2, t3, t4, t5);
    }
  };
  A.PsdImageResource.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.PsdLayer.prototype = {
    PsdLayer$1(input) {
      var numChannels, i, id, sig, len, extra, maskData, padding, t3, t4, tag, bytes, t5, data, numFx, j, fxTag, size, fx, t6, t7, _this = this,
        t1 = input.readUint32$0(),
        t2 = $.$get$__uint32();
      t2[0] = t1;
      t1 = $.$get$__uint32ToInt32();
      _this.top = t1[0];
      t2[0] = input.readUint32$0();
      _this.left = t1[0];
      t2[0] = input.readUint32$0();
      _this.__PsdLayer_bottom = t1[0];
      t2[0] = input.readUint32$0();
      t1 = t1[0];
      _this.__PsdLayer_right = t1;
      t2 = _this.left;
      t2.toString;
      _this.__PsdLayer_width = t1 - t2;
      t2 = _this.__PsdLayer_bottom;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = _this.top;
      t1.toString;
      _this.__PsdLayer_height = t2 - t1;
      _this.__PsdLayer_channels = A._setArrayType([], type$.JSArray_PsdChannel);
      numChannels = input.readUint16$0();
      for (i = 0; i < numChannels; ++i) {
        t1 = input.readUint16$0();
        $.$get$__uint16()[0] = t1;
        id = $.$get$__uint16ToInt16()[0];
        input.readUint32$0();
        t1 = _this.__PsdLayer_channels;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.push(new A.PsdChannel(id));
      }
      sig = input.readUint32$0();
      if (sig !== 943868237)
        throw A.wrapException(A.ImageException$("Invalid PSD layer signature: " + B.JSInt_methods.toRadixString$1(sig, 16)));
      _this.blendMode = input.readUint32$0();
      _this.__PsdLayer_opacity = input.readByte$0();
      input.readByte$0();
      _this.__PsdLayer_flags = input.readByte$0();
      if (input.readByte$0() !== 0)
        throw A.wrapException(A.ImageException$("Invalid PSD layer data"));
      len = input.readUint32$0();
      extra = input.readBytes$1(len);
      if (len > 0) {
        len = extra.readUint32$0();
        if (len > 0) {
          maskData = extra.readBytes$1(len);
          t1 = maskData.offset;
          maskData.readUint32$0();
          maskData.readUint32$0();
          maskData.readUint32$0();
          maskData.readUint32$0();
          maskData.readByte$0();
          maskData.readByte$0();
          if (maskData.end - t1 === 20)
            maskData.offset += 2;
          else {
            maskData.readByte$0();
            maskData.readByte$0();
            maskData.readUint32$0();
            maskData.readUint32$0();
            maskData.readUint32$0();
            maskData.readUint32$0();
          }
        }
        len = extra.readUint32$0();
        if (len > 0)
          new A.PsdBlendingRanges().PsdBlendingRanges$1(extra.readBytes$1(len));
        len = extra.readByte$0();
        _this.name = extra.readString$1(len);
        padding = 4 - B.JSInt_methods.$mod(len, 4) - 1;
        if (padding > 0)
          extra.offset += padding;
        for (t1 = extra.end, t2 = _this.additionalData, t3 = _this.effects, t4 = type$.PsdLayerAdditionalData; extra.offset < t1;) {
          sig = extra.readUint32$0();
          if (sig !== 943868237)
            throw A.wrapException(A.ImageException$("PSD invalid signature for layer additional data: " + B.JSInt_methods.toRadixString$1(sig, 16)));
          tag = extra.readString$1(4);
          len = extra.readUint32$0();
          bytes = extra.subset$1(len);
          t5 = extra.offset + (bytes.end - bytes.offset);
          extra.offset = t5;
          if ((len & 1) === 1)
            extra.offset = t5 + 1;
          t2.$indexSet(0, tag, A.PsdLayerData_PsdLayerData(tag, bytes));
          if (tag === "lrFX") {
            data = A.InputBuffer$from(t4._as(t2.$index(0, "lrFX")).data, null, 0);
            data.readUint16$0();
            numFx = data.readUint16$0();
            for (j = 0; j < numFx; ++j) {
              data.readString$1(4);
              fxTag = data.readString$1(4);
              size = data.readUint32$0();
              if (fxTag === "dsdw") {
                fx = new A.PsdDropShadowEffect();
                t3.push(fx);
                fx.version = data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readString$1(8);
                t5 = data.buffer;
                t6 = data.offset;
                t7 = t6 + 1;
                data.offset = t7;
                fx.enabled = t5[t6] !== 0;
                ++t7;
                data.offset = t7;
                data.offset = t7 + 1;
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
              } else if (fxTag === "isdw") {
                fx = new A.PsdInnerShadowEffect();
                t3.push(fx);
                fx.version = data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readString$1(8);
                t5 = data.buffer;
                t6 = data.offset;
                t7 = t6 + 1;
                data.offset = t7;
                fx.enabled = t5[t6] !== 0;
                ++t7;
                data.offset = t7;
                data.offset = t7 + 1;
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
              } else if (fxTag === "oglw") {
                fx = new A.PsdOuterGlowEffect();
                t3.push(fx);
                fx.version = data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readString$1(8);
                t5 = data.buffer;
                t6 = data.offset;
                t7 = t6 + 1;
                data.offset = t7;
                fx.enabled = t5[t6] !== 0;
                data.offset = t7 + 1;
                if (fx.version === 2) {
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                }
              } else if (fxTag === "iglw") {
                fx = new A.PsdInnerGlowEffect();
                t3.push(fx);
                fx.version = data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readString$1(8);
                t5 = data.buffer;
                t6 = data.offset;
                t7 = t6 + 1;
                data.offset = t7;
                fx.enabled = t5[t6] !== 0;
                ++t7;
                data.offset = t7;
                if (fx.version === 2) {
                  data.offset = t7 + 1;
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                }
              } else if (fxTag === "bevl") {
                fx = new A.PsdBevelEffect();
                t3.push(fx);
                fx.version = data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readUint32$0();
                data.readString$1(8);
                data.readString$1(8);
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                t5 = ++data.offset + 1;
                data.offset = t5;
                t5 = data.offset = t5 + 1;
                t6 = data.buffer;
                t7 = t5 + 1;
                data.offset = t7;
                fx.enabled = t6[t5] !== 0;
                ++t7;
                data.offset = t7;
                data.offset = t7 + 1;
                if (fx.version === 2) {
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                  data.readUint16$0();
                }
              } else if (fxTag === "sofi") {
                fx = new A.PsdSolidFillEffect();
                t3.push(fx);
                fx.version = data.readUint32$0();
                data.readString$1(4);
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                t5 = ++data.offset;
                t6 = data.buffer;
                data.offset = t5 + 1;
                fx.enabled = t6[t5] !== 0;
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
                data.readUint16$0();
              } else
                data.offset += size;
            }
          }
        }
      }
    },
    readImageData$2(input, psd) {
      var t1, t2, t3, t4, t5, _this = this, i = 0;
      while (true) {
        t1 = _this.__PsdLayer_channels;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!(i < t1.length))
          break;
        t1 = t1[i];
        t2 = _this.__PsdLayer_width;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = _this.__PsdLayer_height;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t1.readPlane$4(input, t2, t3, psd.depth);
        ++i;
      }
      t2 = psd.colorMode;
      t3 = psd.depth;
      t4 = _this.__PsdLayer_width;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t5 = _this.__PsdLayer_height;
      if (t5 === $)
        A.throwUnnamedLateFieldNI();
      _this.__PsdLayer_layerImage = A.PsdImage_createImageFromChannels(t2, t3, t4, t5, t1);
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.PsdLayerData.prototype = {};
  A.PsdDecoder.prototype = {
    decodeImage$1(bytes) {
      this.info = A.PsdImage$(bytes);
      return this.decodeFrame$1(0);
    },
    decodeFrame$1(frame) {
      var t1 = this.info;
      if (t1 == null)
        return null;
      return t1.decodeImage$0();
    }
  };
  A.TgaInfo.prototype = {};
  A.TgaDecoder.prototype = {
    isValidFile$1(data) {
      var header = A.InputBuffer$(data, true, null, 0).readBytes$1(18),
        t1 = header.buffer,
        t2 = header.offset;
      if (t1[t2 + 2] !== 2)
        return false;
      t1 = t1[t2 + 16];
      if (t1 !== 24 && t1 !== 32)
        return false;
      return true;
    },
    startDecode$1(bytes) {
      var t1, header, t2, t3, t4, _this = this;
      _this.info = new A.TgaInfo();
      t1 = A.InputBuffer$(bytes, true, null, 0);
      _this.__TgaDecoder_input = t1;
      header = t1.readBytes$1(18);
      t1 = header.buffer;
      t2 = header.offset;
      if (t1[t2 + 2] !== 2)
        return null;
      t3 = t1[t2 + 16];
      if (t3 !== 24 && t3 !== 32)
        return null;
      t4 = _this.info;
      t4.width = t1[t2 + 12] & 255 | (t1[t2 + 13] & 255) << 8;
      t4.height = t1[t2 + 14] & 255 | (t1[t2 + 15] & 255) << 8;
      t2 = _this.__TgaDecoder_input;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t4.imageOffset = t2.offset;
      t4.bpp = t3;
      return t4;
    },
    decodeFrame$1(frame) {
      var t2, t3, image, y, x, t4, t5, t6, t7, t8, t9, a, _this = this,
        t1 = _this.info;
      if (t1 == null)
        return null;
      t2 = _this.__TgaDecoder_input;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = t1.imageOffset;
      t3.toString;
      t2.offset = t3;
      image = A.Image$0(t1.width, t1.height, B.Channels_0);
      for (y = image.height - 1, t1 = image.width, t2 = image.data; y >= 0; --y)
        for (t3 = y * t1, x = 0; x < t1; ++x) {
          t4 = _this.__TgaDecoder_input;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          t5 = t4.buffer;
          t6 = t4.offset;
          t7 = t4.offset = t6 + 1;
          t6 = t5[t6];
          t8 = t4.offset = t7 + 1;
          t7 = t5[t7];
          t9 = t4.offset = t8 + 1;
          t8 = t5[t8];
          if (_this.info.bpp === 32) {
            t4.offset = t9 + 1;
            a = t5[t9];
          } else
            a = 255;
          t2[t3 + x] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(a, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t6, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t7, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t8, 0, 255))) >>> 0;
        }
      return image;
    },
    decodeImage$1(bytes) {
      if (this.startDecode$1(bytes) == null)
        return null;
      return this.decodeFrame$1(0);
    }
  };
  A.TiffBitReader.prototype = {
    readBits$1(numBits) {
      var t1, value, t2, t3, _this = this;
      if (numBits === 0)
        return 0;
      if (_this._bitPos === 0) {
        _this._bitPos = 8;
        _this._tiff_bit_reader$_bitBuffer = _this.input.readByte$0();
      }
      for (t1 = _this.input, value = 0; t2 = _this._bitPos, numBits > t2;) {
        value = B.JSInt_methods.$shl(value, t2) + (_this._tiff_bit_reader$_bitBuffer & B.List_knt[t2]);
        numBits -= t2;
        _this._bitPos = 8;
        _this._tiff_bit_reader$_bitBuffer = t1.buffer[t1.offset++];
      }
      if (numBits > 0) {
        if (t2 === 0) {
          _this._bitPos = 8;
          _this._tiff_bit_reader$_bitBuffer = t1.readByte$0();
        }
        t1 = B.JSInt_methods.$shl(value, numBits);
        t2 = _this._tiff_bit_reader$_bitBuffer;
        t3 = _this._bitPos - numBits;
        value = t1 + (B.JSInt_methods.$shr(t2, t3) & B.List_knt[numBits]);
        _this._bitPos = t3;
      }
      return value;
    }
  };
  A.TiffEntry.prototype = {
    toString$0(_) {
      var _this = this,
        t1 = _this.tag;
      if (B.Map_6zffn.containsKey$1(0, t1))
        return A.S(B.Map_6zffn.$index(0, t1)) + ": " + _this.type + " " + _this.numValues;
      return "<" + t1 + ">: " + _this.type + " " + _this.numValues;
    },
    readValue$0(_) {
      var t1 = this.valueOffset;
      t1.toString;
      this.p.offset = t1;
      return this._readValue$0();
    },
    readValues$0() {
      var values, i, _this = this,
        t1 = _this.valueOffset;
      t1.toString;
      _this.p.offset = t1;
      values = A._setArrayType([], type$.JSArray_int);
      for (t1 = _this.numValues, i = 0; i < t1; ++i)
        values.push(_this._readValue$0());
      return values;
    },
    _readValue$0() {
      var t1, num, den, _this = this;
      switch (_this.type) {
        case 1:
        case 2:
          return _this.p.readByte$0();
        case 3:
          return _this.p.readUint16$0();
        case 4:
          return _this.p.readUint32$0();
        case 5:
          t1 = _this.p;
          num = t1.readUint32$0();
          den = t1.readUint32$0();
          if (den === 0)
            return 0;
          return B.JSInt_methods.$tdiv(num, den);
        case 6:
          throw A.wrapException(A.ImageException$("Unhandled value type: SBYTE"));
        case 7:
          return _this.p.readByte$0();
        case 8:
          throw A.wrapException(A.ImageException$("Unhandled value type: SSHORT"));
        case 9:
          throw A.wrapException(A.ImageException$("Unhandled value type: SLONG"));
        case 10:
          throw A.wrapException(A.ImageException$("Unhandled value type: SRATIONAL"));
        case 11:
          throw A.wrapException(A.ImageException$("Unhandled value type: FLOAT"));
        case 12:
          throw A.wrapException(A.ImageException$("Unhandled value type: DOUBLE"));
      }
      return 0;
    }
  };
  A.TiffFaxDecoder.prototype = {
    decode1D$4(out, compData, startX, height) {
      var scanlineStride, lineOffset, i, _this = this;
      _this.__TiffFaxDecoder_data = compData;
      _this.bytePointer = _this.bitPointer = 0;
      scanlineStride = B.JSInt_methods._tdivFast$1(_this.width + 7, 8);
      for (lineOffset = 0, i = 0; i < height; ++i) {
        _this._decodeNextScanline$3(out, lineOffset, startX);
        lineOffset += scanlineStride;
      }
    },
    _decodeNextScanline$3(buffer, lineOffset, bitOffset) {
      var t1, isWhite, current, entry, bits, t2, code, _this = this;
      _this.changingElemSize = 0;
      for (t1 = _this.width, isWhite = true; bitOffset < t1;) {
        for (; isWhite;) {
          current = _this._nextNBits$1(10);
          entry = B.List_VSP[current];
          bits = B.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
          if (bits === 12) {
            entry = B.List_MEg[(current << 2 & 12 | _this._nextLesserThan8Bits$1(2)) >>> 0];
            t2 = B.JSInt_methods._shrOtherPositive$1(entry, 1);
            bitOffset += B.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
            _this._updatePointer$1(4 - (t2 & 7));
          } else if (bits === 0)
            throw A.wrapException(A.ImageException$("TIFFFaxDecoder0"));
          else if (bits === 15)
            throw A.wrapException(A.ImageException$("TIFFFaxDecoder1"));
          else {
            bitOffset += B.JSInt_methods._shrOtherPositive$1(entry, 5) & 2047;
            _this._updatePointer$1(10 - bits);
            if ((entry & 1) === 0) {
              _this.currChangingElems[_this.changingElemSize++] = bitOffset;
              isWhite = false;
            }
          }
        }
        if (bitOffset === t1) {
          if (_this.compression === 2)
            if (_this.bitPointer !== 0) {
              t1 = _this.bytePointer;
              t1.toString;
              _this.bytePointer = t1 + 1;
              _this.bitPointer = 0;
            }
          break;
        }
        for (; !isWhite;) {
          entry = B.List_89P[_this._nextLesserThan8Bits$1(4)];
          code = entry >>> 5 & 2047;
          if (code === 100) {
            entry = B.List_nLG[_this._nextNBits$1(9)];
            bits = B.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
            code = B.JSInt_methods._shrOtherPositive$1(entry, 5) & 2047;
            if (bits === 12) {
              _this._updatePointer$1(5);
              entry = B.List_MEg[_this._nextLesserThan8Bits$1(4)];
              t2 = B.JSInt_methods._shrOtherPositive$1(entry, 1);
              code = B.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(4 - (t2 & 7));
            } else if (bits === 15)
              throw A.wrapException(A.ImageException$("TIFFFaxDecoder2"));
            else {
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(9 - bits);
              if ((entry & 1) === 0) {
                _this.currChangingElems[_this.changingElemSize++] = bitOffset;
                isWhite = true;
              }
            }
          } else {
            if (code === 200) {
              entry = B.List_292_260_226_226[_this._nextLesserThan8Bits$1(2)];
              code = entry >>> 5 & 2047;
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(2 - (entry >>> 1 & 15));
              _this.currChangingElems[_this.changingElemSize++] = bitOffset;
            } else {
              _this._setToBlack$4(buffer, lineOffset, bitOffset, code);
              bitOffset += code;
              _this._updatePointer$1(4 - (entry >>> 1 & 15));
              _this.currChangingElems[_this.changingElemSize++] = bitOffset;
            }
            isWhite = true;
          }
        }
        if (bitOffset === t1) {
          if (_this.compression === 2)
            if (_this.bitPointer !== 0) {
              t1 = _this.bytePointer;
              t1.toString;
              _this.bytePointer = t1 + 1;
              _this.bitPointer = 0;
            }
          break;
        }
      }
      _this.currChangingElems[_this.changingElemSize++] = bitOffset;
    },
    decode2D$5(out, compData, startX, height, tiffT4Options) {
      var t1, scanlineStride, b, lineOffset, lines, temp, bitOffset, a0, isWhite, currIndex, b1, b2, entry, code, bits, currIndex0, currIndex1, number, a1, _this = this;
      _this.__TiffFaxDecoder_data = compData;
      _this.compression = 3;
      _this.bytePointer = _this.bitPointer = 0;
      t1 = _this.width;
      scanlineStride = B.JSInt_methods._tdivFast$1(t1 + 7, 8);
      b = A.List_List$filled(2, null, false, type$.nullable_int);
      _this.oneD = tiffT4Options & 1;
      _this.fillBits = tiffT4Options >>> 2 & 1;
      if (_this._readEOL$0() !== 1)
        throw A.wrapException(A.ImageException$("TIFFFaxDecoder3"));
      _this._decodeNextScanline$3(out, 0, startX);
      for (lineOffset = scanlineStride, lines = 1; lines < height; ++lines) {
        if (_this._readEOL$0() === 0) {
          temp = _this.prevChangingElems;
          _this.prevChangingElems = _this.currChangingElems;
          _this.currChangingElems = temp;
          _this.lastChangingElement = 0;
          bitOffset = startX;
          a0 = -1;
          isWhite = true;
          currIndex = 0;
          while (true) {
            bitOffset.toString;
            if (!(bitOffset < t1))
              break;
            _this._getNextChangingElement$3(a0, isWhite, b);
            b1 = b[0];
            b2 = b[1];
            entry = B.List_8co[_this._nextLesserThan8Bits$1(7)] & 255;
            code = entry >>> 3 & 15;
            bits = entry & 7;
            if (code === 0) {
              if (!isWhite) {
                b2.toString;
                _this._setToBlack$4(out, lineOffset, bitOffset, b2 - bitOffset);
              }
              _this._updatePointer$1(7 - bits);
              bitOffset = b2;
              a0 = bitOffset;
            } else if (code === 1) {
              _this._updatePointer$1(7 - bits);
              currIndex0 = currIndex + 1;
              currIndex1 = currIndex0 + 1;
              if (isWhite) {
                bitOffset += _this._decodeWhiteCodeWord$0();
                _this.currChangingElems[currIndex] = bitOffset;
                number = _this._decodeBlackCodeWord$0();
                _this._setToBlack$4(out, lineOffset, bitOffset, number);
                bitOffset += number;
                _this.currChangingElems[currIndex0] = bitOffset;
              } else {
                number = _this._decodeBlackCodeWord$0();
                _this._setToBlack$4(out, lineOffset, bitOffset, number);
                bitOffset += number;
                _this.currChangingElems[currIndex] = bitOffset;
                bitOffset += _this._decodeWhiteCodeWord$0();
                _this.currChangingElems[currIndex0] = bitOffset;
              }
              currIndex = currIndex1;
              a0 = bitOffset;
            } else {
              if (code <= 8) {
                b1.toString;
                a1 = b1 + (code - 5);
                currIndex0 = currIndex + 1;
                _this.currChangingElems[currIndex] = a1;
                isWhite = !isWhite;
                if (isWhite)
                  _this._setToBlack$4(out, lineOffset, bitOffset, a1 - bitOffset);
                _this._updatePointer$1(7 - bits);
              } else
                throw A.wrapException(A.ImageException$("TIFFFaxDecoder4"));
              bitOffset = a1;
              currIndex = currIndex0;
              a0 = bitOffset;
            }
          }
          _this.currChangingElems[currIndex] = bitOffset;
          _this.changingElemSize = currIndex + 1;
        } else
          _this._decodeNextScanline$3(out, lineOffset, startX);
        lineOffset += scanlineStride;
      }
    },
    decodeT6$5(out, compData, startX, height, tiffT6Options) {
      var t1, scanlineStride, b, cce, lineOffset, lines, temp, bitOffset, a0, isWhite, currIndex, b1, b2, entry, code, bits, currIndex0, currIndex1, number, a1, zeros, exit, _this = this;
      _this.__TiffFaxDecoder_data = compData;
      _this.compression = 4;
      _this.bytePointer = _this.bitPointer = 0;
      t1 = _this.width;
      scanlineStride = B.JSInt_methods._tdivFast$1(t1 + 7, 8);
      b = A.List_List$filled(2, null, false, type$.nullable_int);
      cce = _this.currChangingElems;
      _this.changingElemSize = 0;
      _this.changingElemSize = 1;
      cce[0] = t1;
      _this.changingElemSize = 2;
      cce[1] = t1;
      for (lineOffset = 0, lines = 0; lines < height; ++lines) {
        temp = _this.prevChangingElems;
        _this.prevChangingElems = _this.currChangingElems;
        _this.currChangingElems = temp;
        _this.lastChangingElement = 0;
        bitOffset = startX;
        a0 = -1;
        isWhite = true;
        currIndex = 0;
        while (true) {
          bitOffset.toString;
          if (!(bitOffset < t1))
            break;
          _this._getNextChangingElement$3(a0, isWhite, b);
          b1 = b[0];
          b2 = b[1];
          entry = B.List_8co[_this._nextLesserThan8Bits$1(7)] & 255;
          code = entry >>> 3 & 15;
          bits = entry & 7;
          if (code === 0) {
            if (!isWhite) {
              b2.toString;
              _this._setToBlack$4(out, lineOffset, bitOffset, b2 - bitOffset);
            }
            _this._updatePointer$1(7 - bits);
            bitOffset = b2;
            a0 = bitOffset;
          } else if (code === 1) {
            _this._updatePointer$1(7 - bits);
            currIndex0 = currIndex + 1;
            currIndex1 = currIndex0 + 1;
            if (isWhite) {
              bitOffset += _this._decodeWhiteCodeWord$0();
              temp[currIndex] = bitOffset;
              number = _this._decodeBlackCodeWord$0();
              _this._setToBlack$4(out, lineOffset, bitOffset, number);
              bitOffset += number;
              temp[currIndex0] = bitOffset;
            } else {
              number = _this._decodeBlackCodeWord$0();
              _this._setToBlack$4(out, lineOffset, bitOffset, number);
              bitOffset += number;
              temp[currIndex] = bitOffset;
              bitOffset += _this._decodeWhiteCodeWord$0();
              temp[currIndex0] = bitOffset;
            }
            currIndex = currIndex1;
            a0 = bitOffset;
          } else if (code <= 8) {
            b1.toString;
            a1 = b1 + (code - 5);
            currIndex0 = currIndex + 1;
            temp[currIndex] = a1;
            isWhite = !isWhite;
            if (isWhite)
              _this._setToBlack$4(out, lineOffset, bitOffset, a1 - bitOffset);
            _this._updatePointer$1(7 - bits);
            bitOffset = a1;
            currIndex = currIndex0;
            a0 = bitOffset;
          } else if (code === 11) {
            if (_this._nextLesserThan8Bits$1(3) !== 7)
              throw A.wrapException(A.ImageException$("TIFFFaxDecoder5"));
            for (zeros = 0, exit = false; !exit;) {
              for (; _this._nextLesserThan8Bits$1(1) !== 1;)
                ++zeros;
              if (zeros > 5) {
                zeros -= 6;
                if (!isWhite && zeros > 0) {
                  currIndex0 = currIndex + 1;
                  temp[currIndex] = bitOffset;
                  currIndex = currIndex0;
                }
                bitOffset += zeros;
                if (zeros > 0)
                  isWhite = true;
                if (_this._nextLesserThan8Bits$1(1) === 0) {
                  if (!isWhite) {
                    currIndex0 = currIndex + 1;
                    temp[currIndex] = bitOffset;
                    currIndex = currIndex0;
                  }
                  isWhite = true;
                } else {
                  if (isWhite) {
                    currIndex0 = currIndex + 1;
                    temp[currIndex] = bitOffset;
                    currIndex = currIndex0;
                  }
                  isWhite = false;
                }
                exit = true;
              }
              if (zeros === 5) {
                if (!isWhite) {
                  currIndex0 = currIndex + 1;
                  temp[currIndex] = bitOffset;
                  currIndex = currIndex0;
                }
                bitOffset += zeros;
                isWhite = true;
              } else {
                bitOffset += zeros;
                currIndex0 = currIndex + 1;
                temp[currIndex] = bitOffset;
                _this._setToBlack$4(out, lineOffset, bitOffset, 1);
                ++bitOffset;
                currIndex = currIndex0;
                isWhite = false;
              }
            }
          } else
            throw A.wrapException(A.ImageException$("TIFFFaxDecoder5 " + code));
        }
        temp[currIndex] = bitOffset;
        _this.changingElemSize = currIndex + 1;
        lineOffset += scanlineStride;
      }
    },
    _decodeWhiteCodeWord$0() {
      var runLength, isWhite, current, entry, bits, t1, _this = this;
      for (runLength = 0, isWhite = true; isWhite;) {
        current = _this._nextNBits$1(10);
        entry = B.List_VSP[current];
        bits = B.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
        if (bits === 12) {
          entry = B.List_MEg[(current << 2 & 12 | _this._nextLesserThan8Bits$1(2)) >>> 0];
          t1 = B.JSInt_methods._shrOtherPositive$1(entry, 1);
          runLength += B.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
          _this._updatePointer$1(4 - (t1 & 7));
        } else if (bits === 0)
          throw A.wrapException(A.ImageException$("TIFFFaxDecoder0"));
        else if (bits === 15)
          throw A.wrapException(A.ImageException$("TIFFFaxDecoder1"));
        else {
          runLength += B.JSInt_methods._shrOtherPositive$1(entry, 5) & 2047;
          _this._updatePointer$1(10 - bits);
          if ((entry & 1) === 0)
            isWhite = false;
        }
      }
      return runLength;
    },
    _decodeBlackCodeWord$0() {
      var runLength, isWhite, entry, code, bits, t1, _this = this;
      for (runLength = 0, isWhite = false; !isWhite;) {
        entry = B.List_89P[_this._nextLesserThan8Bits$1(4)];
        code = entry >>> 5 & 2047;
        if (code === 100) {
          entry = B.List_nLG[_this._nextNBits$1(9)];
          bits = B.JSInt_methods._shrOtherPositive$1(entry, 1) & 15;
          t1 = B.JSInt_methods._shrOtherPositive$1(entry, 5);
          if (bits === 12) {
            _this._updatePointer$1(5);
            entry = B.List_MEg[_this._nextLesserThan8Bits$1(4)];
            t1 = B.JSInt_methods._shrOtherPositive$1(entry, 1);
            runLength += B.JSInt_methods._shrOtherPositive$1(entry, 4) & 4095;
            _this._updatePointer$1(4 - (t1 & 7));
          } else if (bits === 15)
            throw A.wrapException(A.ImageException$("TIFFFaxDecoder2"));
          else {
            runLength += t1 & 2047;
            _this._updatePointer$1(9 - bits);
            if ((entry & 1) === 0)
              isWhite = true;
          }
        } else {
          if (code === 200) {
            entry = B.List_292_260_226_226[_this._nextLesserThan8Bits$1(2)];
            runLength += entry >>> 5 & 2047;
            _this._updatePointer$1(2 - (entry >>> 1 & 15));
          } else {
            runLength += code;
            _this._updatePointer$1(4 - (entry >>> 1 & 15));
          }
          isWhite = true;
        }
      }
      return runLength;
    },
    _readEOL$0() {
      var bitsLeft, n, _this = this,
        _s15_ = "TIFFFaxDecoder8",
        t1 = _this.fillBits;
      if (t1 === 0) {
        if (_this._nextNBits$1(12) !== 1)
          throw A.wrapException(A.ImageException$("TIFFFaxDecoder6"));
      } else if (t1 === 1) {
        t1 = _this.bitPointer;
        t1.toString;
        bitsLeft = 8 - t1;
        if (_this._nextNBits$1(bitsLeft) !== 0)
          throw A.wrapException(A.ImageException$(_s15_));
        if (bitsLeft < 4)
          if (_this._nextNBits$1(8) !== 0)
            throw A.wrapException(A.ImageException$(_s15_));
        for (; n = _this._nextNBits$1(8), n !== 1;)
          if (n !== 0)
            throw A.wrapException(A.ImageException$(_s15_));
      }
      if (_this.oneD === 0)
        return 1;
      else
        return _this._nextLesserThan8Bits$1(1);
    },
    _getNextChangingElement$3(a0, isWhite, ret) {
      var i, _this = this,
        pce = _this.prevChangingElems,
        ces = _this.changingElemSize,
        t1 = _this.lastChangingElement,
        start = t1 > 0 ? t1 - 1 : 0;
      start = isWhite ? (start & 4294967294) >>> 0 : (start | 1) >>> 0;
      for (i = start; i < ces; i += 2) {
        t1 = pce[i];
        t1.toString;
        a0.toString;
        if (t1 > a0) {
          _this.lastChangingElement = i;
          ret[0] = t1;
          break;
        }
      }
      t1 = i + 1;
      if (t1 < ces)
        ret[1] = pce[t1];
    },
    _setToBlack$4(buffer, lineOffset, bitOffset, numBits) {
      var maskVal, val, t1, t2, t3, byteNum0,
        bitNum = 8 * lineOffset + bitOffset,
        lastBit = bitNum + numBits,
        byteNum = B.JSInt_methods._shrOtherPositive$1(bitNum, 3),
        shift = bitNum & 7;
      if (shift > 0) {
        maskVal = B.JSInt_methods.$shl(1, 7 - shift);
        val = buffer.buffer[buffer.offset + byteNum];
        while (true) {
          if (!(maskVal > 0 && bitNum < lastBit))
            break;
          val = (val | maskVal) >>> 0;
          maskVal = maskVal >>> 1;
          ++bitNum;
        }
        buffer.$indexSet(0, byteNum, val);
      }
      byteNum = B.JSInt_methods._shrOtherPositive$1(bitNum, 3);
      for (t1 = lastBit - 7, t2 = buffer.buffer, t3 = buffer.offset; bitNum < t1; byteNum = byteNum0) {
        byteNum0 = byteNum + 1;
        t2[t3 + byteNum] = 255;
        bitNum += 8;
      }
      for (; bitNum < lastBit;) {
        t1 = t3 + B.JSInt_methods._shrOtherPositive$1(bitNum, 3);
        t2[t1] = (t2[t1] | B.JSInt_methods.$shl(1, 7 - (bitNum & 7))) >>> 0;
        ++bitNum;
      }
    },
    _nextNBits$1(bitsToGet) {
      var t2, l, bp, t3, b, next, next2next, t4, bitsLeft, bitsFromNextByte, bitsFromNext2NextByte, bitsFromNextByte0, i1, i2, _this = this,
        t1 = _this.__TiffFaxDecoder_data;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.offset;
      l = t1.end - t2 - 1;
      bp = _this.bytePointer;
      t3 = _this.fillOrder;
      if (t3 === 1) {
        bp.toString;
        t1 = t1.buffer;
        b = t1[t2 + bp];
        if (bp === l) {
          next = 0;
          next2next = 0;
        } else {
          t3 = bp + 1;
          t4 = t2 + t3;
          if (t3 === l) {
            next = t1[t4];
            next2next = 0;
          } else {
            next = t1[t4];
            next2next = t1[t2 + (bp + 2)];
          }
        }
      } else if (t3 === 2) {
        bp.toString;
        t1 = t1.buffer;
        b = B.List_VvJ[t1[t2 + bp] & 255];
        if (bp === l) {
          next = 0;
          next2next = 0;
        } else {
          t3 = bp + 1;
          t4 = t2 + t3;
          if (t3 === l) {
            next = B.List_VvJ[t1[t4] & 255];
            next2next = 0;
          } else {
            next = B.List_VvJ[t1[t4] & 255];
            next2next = B.List_VvJ[t1[t2 + (bp + 2)] & 255];
          }
        }
      } else
        throw A.wrapException(A.ImageException$("TIFFFaxDecoder7"));
      t1 = _this.bitPointer;
      t1.toString;
      bitsLeft = 8 - t1;
      bitsFromNextByte = bitsToGet - bitsLeft;
      if (bitsFromNextByte > 8) {
        bitsFromNext2NextByte = bitsFromNextByte - 8;
        bitsFromNextByte0 = 8;
      } else {
        bitsFromNextByte0 = bitsFromNextByte;
        bitsFromNext2NextByte = 0;
      }
      bp.toString;
      t1 = _this.bytePointer = bp + 1;
      i1 = B.JSInt_methods.$shl(b & B.List_knt[bitsLeft], bitsFromNextByte);
      i2 = B.JSInt_methods._shrReceiverPositive$1(next & B.List_knt0[bitsFromNextByte0], 8 - bitsFromNextByte0);
      if (bitsFromNext2NextByte !== 0) {
        i2 = B.JSInt_methods.$shl(i2, bitsFromNext2NextByte) | B.JSInt_methods._shrReceiverPositive$1(next2next & B.List_knt0[bitsFromNext2NextByte], 8 - bitsFromNext2NextByte);
        _this.bytePointer = t1 + 1;
        _this.bitPointer = bitsFromNext2NextByte;
      } else if (bitsFromNextByte0 === 8) {
        _this.bitPointer = 0;
        _this.bytePointer = t1 + 1;
      } else
        _this.bitPointer = bitsFromNextByte0;
      return (i1 | i2) >>> 0;
    },
    _nextLesserThan8Bits$1(bitsToGet) {
      var t2, l, bp, t3, b, next, bitsLeft, bitsFromNextByte, shift, i1, _this = this,
        t1 = _this.__TiffFaxDecoder_data;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t1.offset;
      l = t1.end - t2 - 1;
      bp = _this.bytePointer;
      t3 = _this.fillOrder;
      if (t3 === 1) {
        bp.toString;
        t1 = t1.buffer;
        b = t1[t2 + bp];
        next = bp === l ? 0 : t1[t2 + (bp + 1)];
      } else if (t3 === 2) {
        bp.toString;
        t1 = t1.buffer;
        b = B.List_VvJ[t1[t2 + bp] & 255];
        next = bp === l ? 0 : B.List_VvJ[t1[t2 + (bp + 1)] & 255];
      } else
        throw A.wrapException(A.ImageException$("TIFFFaxDecoder7"));
      t1 = _this.bitPointer;
      t1.toString;
      bitsLeft = 8 - t1;
      bitsFromNextByte = bitsToGet - bitsLeft;
      shift = bitsLeft - bitsToGet;
      if (shift >= 0) {
        i1 = B.JSInt_methods._shrReceiverPositive$1(b & B.List_knt[bitsLeft], shift);
        t1 += bitsToGet;
        _this.bitPointer = t1;
        if (t1 === 8) {
          _this.bitPointer = 0;
          bp.toString;
          _this.bytePointer = bp + 1;
        }
      } else {
        i1 = (B.JSInt_methods.$shl(b & B.List_knt[bitsLeft], -shift) | B.JSInt_methods._shrReceiverPositive$1(next & B.List_knt0[bitsFromNextByte], 8 - bitsFromNextByte)) >>> 0;
        bp.toString;
        _this.bytePointer = bp + 1;
        _this.bitPointer = bitsFromNextByte;
      }
      return i1;
    },
    _updatePointer$1(bitsToMoveBack) {
      var i, _this = this,
        t1 = _this.bitPointer;
      t1.toString;
      i = t1 - bitsToMoveBack;
      if (i < 0) {
        t1 = _this.bytePointer;
        t1.toString;
        _this.bytePointer = t1 - 1;
        _this.bitPointer = 8 + i;
      } else
        _this.bitPointer = i;
    }
  };
  A.TiffImage.prototype = {
    TiffImage$1(p) {
      var t1, i, tag, type, numValues, entry, t2, len, l, t3, v, _this = this,
        p3 = A.InputBuffer$from(p, null, 0),
        numDirEntries = p.readUint16$0();
      for (t1 = _this.tags, i = 0; i < numDirEntries; ++i) {
        tag = p.readUint16$0();
        type = p.readUint16$0();
        numValues = p.readUint32$0();
        entry = new A.TiffEntry(tag, type, numValues, p3);
        if (numValues * (type < 13 && type > 0 ? B.List_yYQ[type] : 0) > 4)
          entry.valueOffset = p.readUint32$0();
        else {
          t2 = p.offset;
          entry.valueOffset = t2;
          p.offset = t2 + 4;
        }
        t1.$indexSet(0, tag, entry);
        if (tag === 256) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.width = entry._readValue$0();
        } else if (tag === 257) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.height = entry._readValue$0();
        } else if (tag === 262) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.photometricType = entry._readValue$0();
        } else if (tag === 259) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.compression = entry._readValue$0();
        } else if (tag === 258) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.bitsPerSample = entry._readValue$0();
        } else if (tag === 277) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.samplesPerPixel = entry._readValue$0();
        } else if (tag === 317) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.predictor = entry._readValue$0();
        } else if (tag === 339) {
          t2 = entry.valueOffset;
          t2.toString;
          p3.offset = t2;
          _this.sampleFormat = entry._readValue$0();
        } else if (tag === 320) {
          t2 = entry.readValues$0();
          _this.colorMap = t2;
          _this.__TiffImage_colorMapRed = 0;
          t2 = t2.length / 3 | 0;
          _this.__TiffImage_colorMapGreen = t2;
          _this.__TiffImage_colorMapBlue = t2 * 2;
        }
      }
      if (_this.width === 0 || _this.height === 0)
        return;
      t2 = _this.colorMap;
      if (t2 != null && _this.bitsPerSample === 8)
        for (len = t2.length, i = 0; i < len; ++i)
          t2[i] = B.JSInt_methods._shrOtherPositive$1(t2[i], 8);
      if (_this.photometricType === 0)
        _this.isWhiteZero = true;
      if (t1.containsKey$1(0, 324)) {
        _this.tileWidth = _this._readTag$1(322);
        _this.tileHeight = _this._readTag$1(323);
        _this.tileOffsets = _this._readTagList$1(324);
        _this.tileByteCounts = _this._readTagList$1(325);
      } else {
        _this.tileWidth = _this._readTag$2(322, _this.width);
        if (!t1.containsKey$1(0, 278))
          _this.tileHeight = _this._readTag$2(323, _this.height);
        else {
          l = _this._readTag$1(278);
          if (l === -1)
            _this.tileHeight = _this.height;
          else
            _this.tileHeight = l;
        }
        _this.tileOffsets = _this._readTagList$1(273);
        _this.tileByteCounts = _this._readTagList$1(279);
      }
      t2 = _this.width;
      t3 = _this.tileWidth;
      _this.__TiffImage_tilesX = B.JSInt_methods.$tdiv(t2 + t3 - 1, t3);
      t3 = _this.height;
      t2 = _this.tileHeight;
      _this.__TiffImage_tilesY = B.JSInt_methods.$tdiv(t3 + t2 - 1, t2);
      _this.fillOrder = _this._readTag$2(266, 1);
      _this.t4Options = _this._readTag$1(292);
      _this.t6Options = _this._readTag$1(293);
      _this._readTag$1(338);
      switch (_this.photometricType) {
        case 0:
        case 1:
          t1 = _this.bitsPerSample;
          if (t1 === 1 && _this.samplesPerPixel === 1)
            _this.imageType = 0;
          else if (t1 === 4 && _this.samplesPerPixel === 1)
            _this.imageType = 1;
          else if (B.JSInt_methods.$mod(t1, 8) === 0) {
            t1 = _this.samplesPerPixel;
            if (t1 === 1)
              _this.imageType = 2;
            else if (t1 === 2)
              _this.imageType = 3;
            else
              _this.imageType = 8;
          }
          break;
        case 2:
          if (B.JSInt_methods.$mod(_this.bitsPerSample, 8) === 0) {
            t1 = _this.samplesPerPixel;
            if (t1 === 3)
              _this.imageType = 5;
            else if (t1 === 4)
              _this.imageType = 6;
            else
              _this.imageType = 8;
          }
          break;
        case 3:
          if (_this.samplesPerPixel === 1) {
            t1 = _this.bitsPerSample;
            t1 = t1 === 4 || t1 === 8 || t1 === 16;
          } else
            t1 = false;
          if (t1)
            _this.imageType = 4;
          break;
        case 4:
          if (_this.bitsPerSample === 1 && _this.samplesPerPixel === 1)
            _this.imageType = 0;
          break;
        case 6:
          if (_this.compression === 7 && _this.bitsPerSample === 8 && _this.samplesPerPixel === 3)
            _this.imageType = 5;
          else {
            if (t1.containsKey$1(0, 530)) {
              v = t1.$index(0, 530).readValues$0();
              t1 = _this.__TiffImage_chromaSubH = v[0];
              t2 = _this.__TiffImage_chromaSubV = v[1];
            } else {
              _this.__TiffImage_chromaSubV = _this.__TiffImage_chromaSubH = 2;
              t1 = 2;
              t2 = 2;
            }
            if (t1 * t2 === 1)
              _this.imageType = 8;
            else if (_this.bitsPerSample === 8 && _this.samplesPerPixel === 3)
              _this.imageType = 7;
          }
          break;
        default:
          if (B.JSInt_methods.$mod(_this.bitsPerSample, 8) === 0)
            _this.imageType = 8;
          break;
      }
    },
    decode$1(_, p) {
      var tileY, ti, t1, tileX, _this = this;
      _this.image = A.Image$0(_this.width, _this.height, B.Channels_1);
      tileY = 0;
      ti = 0;
      while (true) {
        t1 = _this.__TiffImage_tilesY;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (!(tileY < t1))
          break;
        tileX = 0;
        while (true) {
          t1 = _this.__TiffImage_tilesX;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          if (!(tileX < t1))
            break;
          _this._decodeTile$3(p, tileX, tileY);
          ++tileX;
          ++ti;
        }
        ++tileY;
      }
      t1 = _this.image;
      t1.toString;
      return t1;
    },
    _decodeTile$3(p, tileX, tileY) {
      var byteCount, bdata, decoder, e, t1, tileIndex, outX, t2, outY, bytesInThisTile, exception, i, len, j, count, i0, t3, t4, t5, t6, tile, py, y, px, x, sample, gray, c, alpha, r, g, b, ri, gi, bi, a, _this = this, _null = null;
      if (_this.imageType === 0) {
        _this._decodeBilevelTile$3(p, tileX, tileY);
        return;
      }
      t1 = _this.__TiffImage_tilesX;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      tileIndex = tileY * t1 + tileX;
      p.offset = _this.tileOffsets[tileIndex];
      t1 = _this.tileWidth;
      outX = tileX * t1;
      t2 = _this.tileHeight;
      outY = tileY * t2;
      byteCount = _this.tileByteCounts[tileIndex];
      bytesInThisTile = t1 * t2 * _this.samplesPerPixel;
      t1 = _this.bitsPerSample;
      t2 = t1 === 16;
      if (t2)
        bytesInThisTile *= 2;
      else if (t1 === 32)
        bytesInThisTile *= 4;
      bdata = null;
      if (t1 === 8 || t2 || t1 === 32 || t1 === 64) {
        t1 = _this.compression;
        if (t1 === 1)
          bdata = p;
        else if (t1 === 5) {
          bdata = A.InputBuffer$(new Uint8Array(bytesInThisTile), false, _null, 0);
          decoder = A.LzwDecoder$();
          try {
            J.decode$2$x(decoder, A.InputBuffer$from(p, byteCount, 0), bdata.buffer);
          } catch (exception) {
            e = A.unwrapException(exception);
            A.print(e);
          }
          if (_this.predictor === 2)
            for (t1 = _this.tileHeight, i = _this.samplesPerPixel, t2 = _this.tileWidth, len = t2 * i, j = 0; j < t1; ++j) {
              count = i * (j * t2 + 1);
              for (i0 = i; i0 < len; ++i0) {
                t3 = bdata;
                t4 = t3.buffer;
                t3 = t3.offset + count;
                t5 = t4[t3];
                t6 = bdata;
                t4[t3] = t5 + t6.buffer[t6.offset + (count - i)];
                ++count;
              }
            }
        } else if (t1 === 32773) {
          bdata = A.InputBuffer$(new Uint8Array(bytesInThisTile), false, _null, 0);
          _this._decodePackbits$3(p, bytesInThisTile, bdata.buffer);
        } else if (t1 === 32946) {
          t1 = A.Inflate$(p.toList$2(0, 0, byteCount)).output;
          bdata = A.InputBuffer$(type$.List_int._as(A.NativeUint8List_NativeUint8List$view(t1._output_stream$_buffer.buffer, 0, t1.length)), false, _null, 0);
        } else if (t1 === 8)
          bdata = A.InputBuffer$(B.C__ZLibDecoder.decodeBuffer$2$verify(A.InputStream$(p.toList$2(0, 0, byteCount), 1, _null, 0), false), false, _null, 0);
        else if (t1 === 6) {
          if (_this.image == null)
            _this.image = A.Image$0(_this.width, _this.height, B.Channels_1);
          tile = new A.JpegDecoder().decodeImage$1(p.toList$2(0, 0, byteCount));
          t1 = _this.image;
          t1.toString;
          _this._jpegToImage$6(tile, t1, outX, outY, _this.tileWidth, _this.tileHeight);
          if (_this.hdrImage != null) {
            t1 = _this.image;
            t1.toString;
            t2 = new A.HdrImage(A.LinkedHashMap_LinkedHashMap$_empty(type$.nullable_String, type$.HdrSlice));
            t2.HdrImage$fromImage$3$bitsPerSample$type(t1, 16, 3);
            _this.hdrImage = t2;
          }
          return;
        } else
          throw A.wrapException(A.ImageException$("Unsupported Compression Type: " + t1));
        py = outY;
        y = 0;
        while (true) {
          if (!(y < _this.tileHeight && py < _this.height))
            break;
          px = outX;
          x = 0;
          while (true) {
            if (!(x < _this.tileWidth && px < _this.width))
              break;
            t1 = _this.samplesPerPixel;
            if (t1 === 1) {
              t1 = _this.sampleFormat;
              if (t1 === 3) {
                t1 = _this.bitsPerSample;
                if (t1 === 32) {
                  t1 = bdata.readUint32$0();
                  $.$get$__uint32()[0] = t1;
                  sample = $.$get$__uint32ToFloat32()[0];
                } else if (t1 === 64) {
                  t1 = bdata.readUint64$0();
                  $.$get$__uint64().$indexSet(0, 0, t1);
                  sample = $.$get$__uint64ToFloat64()[0];
                } else if (t1 === 16) {
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  sample = $.Half__toFloatFloat32[t1];
                } else
                  sample = 0;
                t1 = _this.hdrImage;
                if (t1 != null)
                  t1.setRed$3(px, py, sample);
                if (_this.image != null) {
                  gray = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(sample * 255, 0, 255));
                  if (_this.photometricType === 3 && _this.colorMap != null) {
                    t1 = _this.colorMap;
                    t1.toString;
                    t2 = _this.__TiffImage_colorMapRed;
                    if (t2 === $)
                      A.throwUnnamedLateFieldNI();
                    t2 = t1[t2 + gray];
                    t3 = _this.__TiffImage_colorMapGreen;
                    if (t3 === $)
                      A.throwUnnamedLateFieldNI();
                    t3 = t1[t3 + gray];
                    t4 = _this.__TiffImage_colorMapBlue;
                    if (t4 === $)
                      A.throwUnnamedLateFieldNI();
                    t4 = t1[t4 + gray];
                    c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t4, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t3, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t2, 0, 255))) >>> 0;
                  } else
                    c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255))) >>> 0;
                  t1 = _this.image;
                  t1.data[py * t1.width + px] = c;
                }
              } else {
                t2 = _this.bitsPerSample;
                if (t2 === 8)
                  if (t1 === 2) {
                    t1 = bdata;
                    t1 = t1.buffer[t1.offset++];
                    $.$get$__uint8()[0] = t1;
                    gray = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    gray = t1.buffer[t1.offset++];
                  }
                else if (t2 === 16)
                  if (t1 === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    gray = $.$get$__uint16ToInt16()[0];
                  } else
                    gray = bdata.readUint16$0();
                else if (t2 === 32)
                  if (t1 === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    gray = $.$get$__uint32ToInt32()[0];
                  } else
                    gray = bdata.readUint32$0();
                else
                  gray = 0;
                t1 = _this.hdrImage;
                if (t1 != null)
                  t1.setRed$3(px, py, gray);
                if (_this.image != null) {
                  t1 = _this.bitsPerSample;
                  if (t1 === 16)
                    gray = B.JSInt_methods._shrOtherPositive$1(gray, 8);
                  else if (t1 === 32)
                    gray = B.JSInt_methods._shrOtherPositive$1(gray, 24);
                  t1 = _this.photometricType;
                  if (t1 === 0)
                    gray = 255 - gray;
                  if (t1 === 3 && _this.colorMap != null) {
                    t1 = _this.colorMap;
                    t1.toString;
                    t2 = _this.__TiffImage_colorMapRed;
                    if (t2 === $)
                      A.throwUnnamedLateFieldNI();
                    t2 = t1[t2 + gray];
                    t3 = _this.__TiffImage_colorMapGreen;
                    if (t3 === $)
                      A.throwUnnamedLateFieldNI();
                    t3 = t1[t3 + gray];
                    t4 = _this.__TiffImage_colorMapBlue;
                    if (t4 === $)
                      A.throwUnnamedLateFieldNI();
                    t4 = t1[t4 + gray];
                    c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t4, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t3, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t2, 0, 255))) >>> 0;
                  } else
                    c = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255))) >>> 0;
                  t1 = _this.image;
                  t1.data[py * t1.width + px] = c;
                }
              }
            } else if (t1 === 2) {
              t1 = _this.bitsPerSample;
              if (t1 === 8) {
                t1 = _this.sampleFormat === 2;
                if (t1) {
                  t2 = bdata;
                  t2 = t2.buffer[t2.offset++];
                  $.$get$__uint8()[0] = t2;
                  gray = $.$get$__uint8ToInt8()[0];
                } else {
                  t2 = bdata;
                  gray = t2.buffer[t2.offset++];
                }
                if (t1) {
                  t1 = bdata;
                  t1 = t1.buffer[t1.offset++];
                  $.$get$__uint8()[0] = t1;
                  alpha = $.$get$__uint8ToInt8()[0];
                } else {
                  t1 = bdata;
                  alpha = t1.buffer[t1.offset++];
                }
              } else if (t1 === 16) {
                if (_this.sampleFormat === 2) {
                  t1 = bdata.readUint16$0();
                  $.$get$__uint16()[0] = t1;
                  gray = $.$get$__uint16ToInt16()[0];
                } else
                  gray = bdata.readUint16$0();
                if (_this.sampleFormat === 2) {
                  t1 = bdata.readUint16$0();
                  $.$get$__uint16()[0] = t1;
                  alpha = $.$get$__uint16ToInt16()[0];
                } else
                  alpha = bdata.readUint16$0();
              } else if (t1 === 32) {
                if (_this.sampleFormat === 2) {
                  t1 = bdata.readUint32$0();
                  $.$get$__uint32()[0] = t1;
                  gray = $.$get$__uint32ToInt32()[0];
                } else
                  gray = bdata.readUint32$0();
                if (_this.sampleFormat === 2) {
                  t1 = bdata.readUint32$0();
                  $.$get$__uint32()[0] = t1;
                  alpha = $.$get$__uint32ToInt32()[0];
                } else
                  alpha = bdata.readUint32$0();
              } else {
                gray = 0;
                alpha = 0;
              }
              t1 = _this.hdrImage;
              if (t1 != null) {
                t1.setRed$3(px, py, gray);
                _this.hdrImage.setGreen$3(px, py, alpha);
              }
              if (_this.image != null) {
                t1 = _this.bitsPerSample;
                t2 = t1 === 16;
                if (t2)
                  gray = B.JSInt_methods._shrOtherPositive$1(gray, 8);
                else if (t1 === 32)
                  gray = B.JSInt_methods._shrOtherPositive$1(gray, 24);
                if (t2)
                  alpha = B.JSInt_methods._shrOtherPositive$1(alpha, 8);
                else if (t1 === 32)
                  alpha = B.JSInt_methods._shrOtherPositive$1(alpha, 24);
                t1 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(alpha, 0, 255));
                t2 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255));
                t3 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255));
                t4 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gray, 0, 255));
                t5 = _this.image;
                t5.data[py * t5.width + px] = (t1 << 24 | t2 << 16 | t3 << 8 | t4) >>> 0;
              }
            } else if (t1 === 3) {
              t1 = _this.sampleFormat;
              if (t1 === 3) {
                t1 = _this.bitsPerSample;
                if (t1 === 32) {
                  t1 = bdata.readUint32$0();
                  t2 = $.$get$__uint32();
                  t2[0] = t1;
                  t1 = $.$get$__uint32ToFloat32();
                  r = t1[0];
                  t2[0] = bdata.readUint32$0();
                  g = t1[0];
                  t2[0] = bdata.readUint32$0();
                  b = t1[0];
                } else if (t1 === 64) {
                  t1 = bdata.readUint64$0();
                  t2 = $.$get$__uint64();
                  t2.$indexSet(0, 0, t1);
                  t1 = $.$get$__uint64ToFloat64();
                  r = t1[0];
                  t2.$indexSet(0, 0, bdata.readUint64$0());
                  g = t1[0];
                  t2.$indexSet(0, 0, bdata.readUint64$0());
                  b = t1[0];
                } else if (t1 === 16) {
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  r = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  g = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  b = $.Half__toFloatFloat32[t1];
                } else {
                  r = 0;
                  g = 0;
                  b = 0;
                }
                t1 = _this.hdrImage;
                if (t1 != null) {
                  t1.setRed$3(px, py, r);
                  _this.hdrImage.setGreen$3(px, py, g);
                  _this.hdrImage.setBlue$3(px, py, b);
                }
                if (_this.image != null) {
                  ri = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(r * 255, 0, 255));
                  gi = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(g * 255, 0, 255));
                  bi = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(b * 255, 0, 255));
                  t1 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255));
                  t2 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(bi, 0, 255));
                  t3 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gi, 0, 255));
                  t4 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(ri, 0, 255));
                  t5 = _this.image;
                  t5.data[py * t5.width + px] = (t1 << 24 | t2 << 16 | t3 << 8 | t4) >>> 0;
                }
              } else {
                t2 = _this.bitsPerSample;
                if (t2 === 8) {
                  t1 = t1 === 2;
                  if (t1) {
                    t2 = bdata;
                    t2 = t2.buffer[t2.offset++];
                    $.$get$__uint8()[0] = t2;
                    r = $.$get$__uint8ToInt8()[0];
                  } else {
                    t2 = bdata;
                    r = t2.buffer[t2.offset++];
                  }
                  if (t1) {
                    t2 = bdata;
                    t2 = t2.buffer[t2.offset++];
                    $.$get$__uint8()[0] = t2;
                    g = $.$get$__uint8ToInt8()[0];
                  } else {
                    t2 = bdata;
                    g = t2.buffer[t2.offset++];
                  }
                  if (t1) {
                    t1 = bdata;
                    t1 = t1.buffer[t1.offset++];
                    $.$get$__uint8()[0] = t1;
                    b = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    b = t1.buffer[t1.offset++];
                  }
                } else if (t2 === 16) {
                  if (t1 === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    r = $.$get$__uint16ToInt16()[0];
                  } else
                    r = bdata.readUint16$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    g = $.$get$__uint16ToInt16()[0];
                  } else
                    g = bdata.readUint16$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    b = $.$get$__uint16ToInt16()[0];
                  } else
                    b = bdata.readUint16$0();
                } else if (t2 === 32) {
                  if (t1 === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    r = $.$get$__uint32ToInt32()[0];
                  } else
                    r = bdata.readUint32$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    g = $.$get$__uint32ToInt32()[0];
                  } else
                    g = bdata.readUint32$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    b = $.$get$__uint32ToInt32()[0];
                  } else
                    b = bdata.readUint32$0();
                } else {
                  r = 0;
                  g = 0;
                  b = 0;
                }
                t1 = _this.hdrImage;
                if (t1 != null) {
                  t1.setRed$3(px, py, r);
                  _this.hdrImage.setGreen$3(px, py, g);
                  _this.hdrImage.setBlue$3(px, py, b);
                }
                if (_this.image != null) {
                  t1 = _this.bitsPerSample;
                  t2 = t1 === 16;
                  if (t2)
                    r = B.JSInt_methods._shrOtherPositive$1(r, 8);
                  else if (t1 === 32)
                    r = B.JSInt_methods._shrOtherPositive$1(r, 24);
                  if (t2)
                    g = B.JSInt_methods._shrOtherPositive$1(g, 8);
                  else if (t1 === 32)
                    g = B.JSInt_methods._shrOtherPositive$1(g, 24);
                  if (t2)
                    b = B.JSInt_methods._shrOtherPositive$1(b, 8);
                  else if (t1 === 32)
                    b = B.JSInt_methods._shrOtherPositive$1(b, 24);
                  t1 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(255, 0, 255));
                  t2 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(b, 0, 255));
                  t3 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(g, 0, 255));
                  t4 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(r, 0, 255));
                  t5 = _this.image;
                  t5.data[py * t5.width + px] = (t1 << 24 | t2 << 16 | t3 << 8 | t4) >>> 0;
                }
              }
            } else if (t1 >= 4) {
              t1 = _this.sampleFormat;
              if (t1 === 3) {
                t1 = _this.bitsPerSample;
                if (t1 === 32) {
                  t1 = bdata.readUint32$0();
                  t2 = $.$get$__uint32();
                  t2[0] = t1;
                  t1 = $.$get$__uint32ToFloat32();
                  r = t1[0];
                  t2[0] = bdata.readUint32$0();
                  g = t1[0];
                  t2[0] = bdata.readUint32$0();
                  b = t1[0];
                  t2[0] = bdata.readUint32$0();
                  a = t1[0];
                } else if (t1 === 64) {
                  t1 = bdata.readUint64$0();
                  t2 = $.$get$__uint64();
                  t2.$indexSet(0, 0, t1);
                  t1 = $.$get$__uint64ToFloat64();
                  r = t1[0];
                  t2.$indexSet(0, 0, bdata.readUint64$0());
                  g = t1[0];
                  t2.$indexSet(0, 0, bdata.readUint64$0());
                  b = t1[0];
                  t2.$indexSet(0, 0, bdata.readUint64$0());
                  a = t1[0];
                } else if (t1 === 16) {
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  r = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  g = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  b = $.Half__toFloatFloat32[t1];
                  t1 = bdata.readUint16$0();
                  if ($.Half__toFloatFloat32 == null)
                    A.Half__initialize();
                  a = $.Half__toFloatFloat32[t1];
                } else {
                  r = 0;
                  g = 0;
                  b = 0;
                  a = 0;
                }
                t1 = _this.hdrImage;
                if (t1 != null) {
                  t1.setRed$3(px, py, r);
                  _this.hdrImage.setGreen$3(px, py, g);
                  _this.hdrImage.setBlue$3(px, py, b);
                  _this.hdrImage.setAlpha$3(px, py, a);
                }
                if (_this.image != null) {
                  ri = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(r * 255, 0, 255));
                  gi = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(g * 255, 0, 255));
                  bi = B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(b * 255, 0, 255));
                  t1 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2(a * 255, 0, 255)), 0, 255));
                  t2 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(bi, 0, 255));
                  t3 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(gi, 0, 255));
                  t4 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(ri, 0, 255));
                  t5 = _this.image;
                  t5.data[py * t5.width + px] = (t1 << 24 | t2 << 16 | t3 << 8 | t4) >>> 0;
                }
              } else {
                t2 = _this.bitsPerSample;
                if (t2 === 8) {
                  t1 = t1 === 2;
                  if (t1) {
                    t2 = bdata;
                    t2 = t2.buffer[t2.offset++];
                    $.$get$__uint8()[0] = t2;
                    r = $.$get$__uint8ToInt8()[0];
                  } else {
                    t2 = bdata;
                    r = t2.buffer[t2.offset++];
                  }
                  if (t1) {
                    t2 = bdata;
                    t2 = t2.buffer[t2.offset++];
                    $.$get$__uint8()[0] = t2;
                    g = $.$get$__uint8ToInt8()[0];
                  } else {
                    t2 = bdata;
                    g = t2.buffer[t2.offset++];
                  }
                  if (t1) {
                    t2 = bdata;
                    t2 = t2.buffer[t2.offset++];
                    $.$get$__uint8()[0] = t2;
                    b = $.$get$__uint8ToInt8()[0];
                  } else {
                    t2 = bdata;
                    b = t2.buffer[t2.offset++];
                  }
                  if (t1) {
                    t1 = bdata;
                    t1 = t1.buffer[t1.offset++];
                    $.$get$__uint8()[0] = t1;
                    a = $.$get$__uint8ToInt8()[0];
                  } else {
                    t1 = bdata;
                    a = t1.buffer[t1.offset++];
                  }
                } else if (t2 === 16) {
                  if (t1 === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    r = $.$get$__uint16ToInt16()[0];
                  } else
                    r = bdata.readUint16$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    g = $.$get$__uint16ToInt16()[0];
                  } else
                    g = bdata.readUint16$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    b = $.$get$__uint16ToInt16()[0];
                  } else
                    b = bdata.readUint16$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint16$0();
                    $.$get$__uint16()[0] = t1;
                    a = $.$get$__uint16ToInt16()[0];
                  } else
                    a = bdata.readUint16$0();
                } else if (t2 === 32) {
                  if (t1 === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    r = $.$get$__uint32ToInt32()[0];
                  } else
                    r = bdata.readUint32$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    g = $.$get$__uint32ToInt32()[0];
                  } else
                    g = bdata.readUint32$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    b = $.$get$__uint32ToInt32()[0];
                  } else
                    b = bdata.readUint32$0();
                  if (_this.sampleFormat === 2) {
                    t1 = bdata.readUint32$0();
                    $.$get$__uint32()[0] = t1;
                    a = $.$get$__uint32ToInt32()[0];
                  } else
                    a = bdata.readUint32$0();
                } else {
                  r = 0;
                  g = 0;
                  b = 0;
                  a = 0;
                }
                t1 = _this.hdrImage;
                if (t1 != null) {
                  t1.setRed$3(px, py, r);
                  _this.hdrImage.setGreen$3(px, py, g);
                  _this.hdrImage.setBlue$3(px, py, b);
                  _this.hdrImage.setAlpha$3(px, py, a);
                }
                if (_this.image != null) {
                  t1 = _this.bitsPerSample;
                  t2 = t1 === 16;
                  if (t2)
                    r = B.JSInt_methods._shrOtherPositive$1(r, 8);
                  else if (t1 === 32)
                    r = B.JSInt_methods._shrOtherPositive$1(r, 24);
                  if (t2)
                    g = B.JSInt_methods._shrOtherPositive$1(g, 8);
                  else if (t1 === 32)
                    g = B.JSInt_methods._shrOtherPositive$1(g, 24);
                  if (t2)
                    b = B.JSInt_methods._shrOtherPositive$1(b, 8);
                  else if (t1 === 32)
                    b = B.JSInt_methods._shrOtherPositive$1(b, 24);
                  if (t2)
                    a = B.JSInt_methods._shrOtherPositive$1(a, 8);
                  else if (t1 === 32)
                    a = B.JSInt_methods._shrOtherPositive$1(a, 24);
                  t1 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(a, 0, 255));
                  t2 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(b, 0, 255));
                  t3 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(g, 0, 255));
                  t4 = B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(r, 0, 255));
                  t5 = _this.image;
                  t5.data[py * t5.width + px] = (t1 << 24 | t2 << 16 | t3 << 8 | t4) >>> 0;
                }
              }
            }
            ++x;
            ++px;
          }
          ++y;
          ++py;
        }
      } else
        throw A.wrapException(A.ImageException$("Unsupported bitsPerSample: " + t1));
    },
    _jpegToImage$6(tile, image, outX, outY, tileWidth, tileHeight) {
      var t1, t2, t3, t4, y, t5, t6, x;
      for (t1 = tile.data, t2 = tile.width, t3 = image.data, t4 = image.width, y = 0; y < tileHeight; ++y)
        for (t5 = y * t2, t6 = (y + outY) * t4, x = 0; x < tileWidth; ++x)
          t3[t6 + (x + outX)] = t1[t5 + x];
    },
    _decodeBilevelTile$3(p, tileX, tileY) {
      var bdata, tileIndex, outX, t2, outY, byteCount, t3, bytesInThisTile, i, j, count, i0, t4, t5, t6, t7, exception, br, white, black, img, py, y, px, x, _this = this, _null = null, _4278190080 = 4278190080, _4294967295 = 4294967295,
        t1 = _this.__TiffImage_tilesX;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      tileIndex = tileY * t1 + tileX;
      p.offset = _this.tileOffsets[tileIndex];
      t1 = _this.tileWidth;
      outX = tileX * t1;
      t2 = _this.tileHeight;
      outY = tileY * t2;
      byteCount = _this.tileByteCounts[tileIndex];
      bdata = null;
      t3 = _this.compression;
      if (t3 === 32773) {
        bytesInThisTile = B.JSInt_methods.$mod(t1, 8) === 0 ? B.JSInt_methods._tdivFast$1(t1, 8) * t2 : (B.JSInt_methods._tdivFast$1(t1, 8) + 1) * t2;
        bdata = A.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        _this._decodePackbits$3(p, bytesInThisTile, bdata.buffer);
      } else if (t3 === 5) {
        bdata = A.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        A.LzwDecoder$().decode$2(0, A.InputBuffer$from(p, byteCount, 0), bdata.buffer);
        if (_this.predictor === 2)
          for (t1 = _this.height, i = _this.samplesPerPixel, t2 = _this.width, t3 = t2 * i, j = 0; j < t1; ++j) {
            count = i * (j * t2 + 1);
            for (i0 = i; i0 < t3; ++i0) {
              t4 = bdata;
              t5 = t4.buffer;
              t4 = t4.offset + count;
              t6 = t5[t4];
              t7 = bdata;
              t5[t4] = t6 + t7.buffer[t7.offset + (count - i)];
              ++count;
            }
          }
      } else if (t3 === 2) {
        bdata = A.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        try {
          A.TiffFaxDecoder$(_this.fillOrder, _this.tileWidth, _this.tileHeight).decode1D$4(bdata, p, 0, _this.tileHeight);
        } catch (exception) {
        }
      } else if (t3 === 3) {
        bdata = A.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        try {
          A.TiffFaxDecoder$(_this.fillOrder, _this.tileWidth, _this.tileHeight).decode2D$5(bdata, p, 0, _this.tileHeight, _this.t4Options);
        } catch (exception) {
        }
      } else if (t3 === 4) {
        bdata = A.InputBuffer$(new Uint8Array(t1 * t2), false, _null, 0);
        try {
          A.TiffFaxDecoder$(_this.fillOrder, _this.tileWidth, _this.tileHeight).decodeT6$5(bdata, p, 0, _this.tileHeight, _this.t6Options);
        } catch (exception) {
        }
      } else if (t3 === 8)
        bdata = A.InputBuffer$(B.C__ZLibDecoder.decodeBuffer$2$verify(A.InputStream$(p.toList$2(0, 0, byteCount), 1, _null, 0), false), false, _null, 0);
      else if (t3 === 32946) {
        t1 = A.Inflate$(p.toList$2(0, 0, byteCount)).output;
        bdata = A.InputBuffer$(type$.List_int._as(A.NativeUint8List_NativeUint8List$view(t1._output_stream$_buffer.buffer, 0, t1.length)), false, _null, 0);
      } else if (t3 === 1)
        bdata = p;
      else
        throw A.wrapException(A.ImageException$("Unsupported Compression Type: " + t3));
      br = new A.TiffBitReader(bdata);
      t1 = _this.isWhiteZero;
      white = t1 ? _4278190080 : _4294967295;
      black = t1 ? _4294967295 : _4278190080;
      img = _this.image;
      for (t1 = img.data, t2 = img.width, t3 = img.height, py = outY, y = 0; y < _this.tileHeight; ++y, ++py) {
        for (t4 = py * t2, t5 = py < t3, px = outX, x = 0; x < _this.tileWidth; ++x, ++px) {
          if (!t5 || px >= t2)
            break;
          t6 = t4 + px;
          if (br.readBits$1(1) === 0)
            t1[t6] = black;
          else
            t1[t6] = white;
        }
        br._bitPos = 0;
      }
    },
    _decodePackbits$3(data, arraySize, dst) {
      var srcCount, dstCount, srcCount0, t1, t2, t3, b, i, dstCount0;
      for (srcCount = 0, dstCount = 0; dstCount < arraySize;) {
        srcCount0 = srcCount + 1;
        t1 = data.buffer;
        t2 = data.offset;
        t3 = t1[t2 + srcCount];
        $.$get$__uint8()[0] = t3;
        b = $.$get$__uint8ToInt8()[0];
        if (b >= 0 && b <= 127)
          for (t3 = b + 1, srcCount = srcCount0, i = 0; i < t3; ++i, dstCount = dstCount0, srcCount = srcCount0) {
            dstCount0 = dstCount + 1;
            srcCount0 = srcCount + 1;
            dst[dstCount] = t1[t2 + srcCount];
          }
        else {
          t3 = b <= -1 && b >= -127;
          srcCount = srcCount0 + 1;
          if (t3) {
            t1 = t1[t2 + srcCount0];
            for (t2 = -b + 1, i = 0; i < t2; ++i, dstCount = dstCount0) {
              dstCount0 = dstCount + 1;
              dst[dstCount] = t1;
            }
          }
        }
      }
    },
    _readTag$2(type, defaultValue) {
      var t1 = this.tags;
      if (!t1.containsKey$1(0, type))
        return defaultValue;
      return t1.$index(0, type).readValue$0(0);
    },
    _readTag$1(type) {
      return this._readTag$2(type, 0);
    },
    _readTagList$1(type) {
      var t1 = this.tags;
      if (!t1.containsKey$1(0, type))
        return null;
      return t1.$index(0, type).readValues$0();
    }
  };
  A.TiffInfo.prototype = {};
  A.LzwDecoder.prototype = {
    decode$2(_, p, out) {
      var outLen, t1, code, oldCode, t2, t3, i, t4, _this = this;
      _this.__LzwDecoder__out = out;
      outLen = out.length;
      _this.__LzwDecoder__outPointer = 0;
      t1 = type$.Uint8List._as(p.buffer);
      _this.__LzwDecoder__data = t1;
      _this.__LzwDecoder__dataLength = t1.length;
      _this._bytePointer = p.offset;
      if (t1[0] === 0 && t1[1] === 1)
        throw A.wrapException(A.ImageException$("Invalid LZW Data"));
      _this._initializeStringTable$0();
      _this._nextBits = _this._nextData = 0;
      code = _this._getNextCode$0();
      t1 = _this._tiff_lzw_decoder$_buffer;
      oldCode = 0;
      while (true) {
        if (code !== 257) {
          t2 = _this.__LzwDecoder__outPointer;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2 = t2 < outLen;
        } else
          t2 = false;
        if (!t2)
          break;
        if (code === 256) {
          _this._initializeStringTable$0();
          code = _this._getNextCode$0();
          _this.__LzwDecoder__bufferLength = 0;
          if (code === 257)
            break;
          t2 = _this.__LzwDecoder__out;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t3 = _this.__LzwDecoder__outPointer;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          _this.__LzwDecoder__outPointer = t3 + 1;
          t2[t3] = code;
          oldCode = code;
        } else {
          t2 = _this._tableIndex;
          t2.toString;
          if (code < t2) {
            _this._getString$1(code);
            t2 = _this.__LzwDecoder__bufferLength;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            i = t2 - 1;
            for (; i >= 0; --i) {
              t2 = _this.__LzwDecoder__out;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = _this.__LzwDecoder__outPointer;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              _this.__LzwDecoder__outPointer = t3 + 1;
              t2[t3] = t1[i];
            }
            t2 = _this.__LzwDecoder__bufferLength;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            _this._addString$2(oldCode, t1[t2 - 1]);
          } else {
            _this._getString$1(oldCode);
            t2 = _this.__LzwDecoder__bufferLength;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            i = t2 - 1;
            for (; i >= 0; --i) {
              t2 = _this.__LzwDecoder__out;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = _this.__LzwDecoder__outPointer;
              if (t3 === $)
                A.throwUnnamedLateFieldNI();
              _this.__LzwDecoder__outPointer = t3 + 1;
              t2[t3] = t1[i];
            }
            t2 = _this.__LzwDecoder__out;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t3 = _this.__LzwDecoder__outPointer;
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            _this.__LzwDecoder__outPointer = t3 + 1;
            t4 = _this.__LzwDecoder__bufferLength;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            --t4;
            t2[t3] = t1[t4];
            _this._addString$2(oldCode, t1[t4]);
          }
          oldCode = code;
        }
        code = _this._getNextCode$0();
      }
    },
    _addString$2(string, newString) {
      var t2, _this = this,
        t1 = _this.__LzwDecoder__table;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = _this._tableIndex;
      t2.toString;
      t1[t2] = newString;
      t1 = _this.__LzwDecoder__prefix;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1[t2] = string;
      t2 = _this._tableIndex = t2 + 1;
      if (t2 === 511)
        _this._bitsToGet = 10;
      else if (t2 === 1023)
        _this._bitsToGet = 11;
      else if (t2 === 2047)
        _this._bitsToGet = 12;
    },
    _getString$1(code) {
      var t1, t2, t3, c, t4, t5, _this = this;
      _this.__LzwDecoder__bufferLength = 0;
      t1 = _this._tiff_lzw_decoder$_buffer;
      _this.__LzwDecoder__bufferLength = 1;
      t2 = _this.__LzwDecoder__table;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1[0] = t2[code];
      t3 = _this.__LzwDecoder__prefix;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      c = t3[code];
      for (t4 = 1; c !== 4098; t4 = t5) {
        t5 = t4 + 1;
        _this.__LzwDecoder__bufferLength = t5;
        t1[t4] = t2[c];
        c = t3[c];
      }
    },
    _getNextCode$0() {
      var t3, t4, t5, t6, _this = this,
        t1 = _this._bytePointer,
        t2 = _this.__LzwDecoder__dataLength;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 >= t2)
        return 257;
      for (; t3 = _this._nextBits, t4 = _this._bitsToGet, t3 < t4; t1 = t6) {
        if (t1 >= t2)
          return 257;
        t4 = _this._nextData;
        t5 = _this.__LzwDecoder__data;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        t6 = t1 + 1;
        _this._bytePointer = t6;
        _this._nextData = (t4 << 8 >>> 0) + t5[t1] >>> 0;
        _this._nextBits = t3 + 8;
      }
      t1 = t3 - t4;
      _this._nextBits = t1;
      return B.JSInt_methods._shrReceiverPositive$1(_this._nextData, t1) & B.List_511_1023_2047_4095[t4 - 9];
    },
    _initializeStringTable$0() {
      var t1, i, _this = this;
      _this.__LzwDecoder__table = new Uint8Array(4096);
      t1 = new Uint32Array(4096);
      _this.__LzwDecoder__prefix = t1;
      B.NativeUint32List_methods.fillRange$3(t1, 0, 4096, 4098);
      for (t1 = _this.__LzwDecoder__table, i = 0; i < 256; ++i) {
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1[i] = i;
      }
      _this._bitsToGet = 9;
      _this._tableIndex = 258;
    }
  };
  A.TiffDecoder.prototype = {
    decodeImage$1(bytes) {
      var t2, _this = this,
        t1 = A.InputBuffer$(bytes, false, null, 0);
      _this.__TiffDecoder__input = t1;
      t1 = _this.info = _this._readHeader$1(t1);
      if (t1 == null)
        return null;
      t1 = t1.images[0];
      t2 = _this.__TiffDecoder__input;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      return t1.decode$1(0, t2);
    },
    _readHeader$1(p) {
      var p2, img, t2, offset, t3, img0, t4, exception, _null = null,
        t1 = A._setArrayType([], type$.JSArray_TiffImage),
        info = new A.TiffInfo(t1),
        byteOrder = p.readUint16$0();
      if (byteOrder !== 18761 && byteOrder !== 19789)
        return _null;
      if (byteOrder === 19789)
        p.bigEndian = true;
      else
        p.bigEndian = false;
      t2 = p.readUint16$0();
      info.signature = t2;
      if (t2 !== 42)
        return _null;
      offset = p.readUint32$0();
      p2 = A.InputBuffer$from(p, _null, 0);
      p2.offset = offset;
      for (t2 = type$.int, t3 = type$.TiffEntry; offset !== 0;) {
        img = null;
        try {
          img0 = new A.TiffImage(A.LinkedHashMap_LinkedHashMap$_empty(t2, t3));
          img0.TiffImage$1(p2);
          img = img0;
          t4 = img;
          if (!(t4.width !== 0 && t4.height !== 0))
            break;
        } catch (exception) {
          break;
        }
        t1.push(img);
        if (t1.length === 1) {
          t4 = t1[0];
          info.width = t4.width;
          info.height = t4.height;
        }
        offset = p2.readUint32$0();
        if (offset !== 0)
          p2.offset = offset;
      }
      return t1.length !== 0 ? info : _null;
    }
  };
  A.VP8.prototype = {
    decodeHeader$0() {
      var t2,
        t1 = this.input,
        bits = t1.readUint24$0();
      if ((bits & 1) !== 0)
        return false;
      if ((bits >>> 1 & 7) > 3)
        return false;
      if ((bits >>> 4 & 1) === 0)
        return false;
      this._frameHeader.__VP8FrameHeader_partitionLength = bits >>> 5;
      if (t1.readUint24$0() !== 2752925)
        return false;
      t2 = this._webp;
      t2.width = t1.readUint16$0();
      t2.height = t1.readUint16$0();
      return true;
    },
    decode$0(_) {
      var t1, _this = this;
      if (!_this._getHeaders$0())
        return null;
      t1 = _this._webp;
      _this.output = A.Image$0(t1.width, t1.height, B.Channels_1);
      _this._initFrame$0();
      if (!_this._parseFrame$0())
        return null;
      return _this.output;
    },
    _getHeaders$0() {
      var t1, i, t2, t3, _this = this;
      if (!_this.decodeHeader$0())
        return false;
      _this._proba = A.VP8Proba$();
      for (t1 = _this._dqm, i = 0; i < 4; ++i) {
        t2 = new Int32Array(2);
        t3 = new Int32Array(2);
        t1[i] = new A.VP8QuantMatrix(t2, t3, new Int32Array(2));
      }
      t1 = _this._webp;
      t2 = _this._picHeader.height = t1.height;
      t1 = t1.width;
      B.JSInt_methods._shrOtherPositive$1(t1, 8);
      B.JSInt_methods._shrOtherPositive$1(t2, 8);
      _this.__VP8__cropLeft = _this._cropTop = 0;
      _this.__VP8__cropRight = t1;
      _this._cropBottom = t2;
      _this._mbWidth = B.JSInt_methods._shrOtherPositive$1(t1 + 15, 4);
      _this._mbHeight = B.JSInt_methods._shrOtherPositive$1(t2 + 15, 4);
      _this.__VP8__segment = 0;
      t2 = _this.input;
      t1 = _this._frameHeader;
      t3 = t1.__VP8FrameHeader_partitionLength;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3 = A.VP8BitReader$(t2.subset$1(t3));
      _this.__VP8_br = t3;
      t1 = t1.__VP8FrameHeader_partitionLength;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2.offset += t1;
      t3.getValue$1(1);
      t3 = _this.__VP8_br;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t3.getValue$1(1);
      _this._parseSegmentHeader$2(_this._segmentHeader, _this._proba);
      _this._parseFilterHeader$0();
      if (!_this._parsePartitions$1(t2))
        return false;
      _this._parseQuant$0();
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.getValue$1(1);
      _this._parseProba$0();
      return true;
    },
    _parseSegmentHeader$2(hdr, proba) {
      var s, t2, value, _this = this,
        t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.getValue$1(1) !== 0;
      hdr.useSegment = t1;
      if (t1) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        hdr.updateMap = t1.getValue$1(1) !== 0;
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1.getValue$1(1) !== 0) {
          t1 = _this.__VP8_br;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          hdr.absoluteDelta = t1.getValue$1(1) !== 0;
          for (t1 = hdr.quantizer, s = 0; s < 4; ++s) {
            t2 = _this.__VP8_br;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            if (t2.getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              value = t2.getValue$1(7);
              t2 = t2.getValue$1(1) === 1 ? -value : value;
            } else
              t2 = 0;
            t1[s] = t2;
          }
          for (t1 = hdr.filterStrength, s = 0; s < 4; ++s) {
            t2 = _this.__VP8_br;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            if (t2.getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              value = t2.getValue$1(6);
              t2 = t2.getValue$1(1) === 1 ? -value : value;
            } else
              t2 = 0;
            t1[s] = t2;
          }
        }
        if (hdr.updateMap)
          for (s = 0; s < 3; ++s) {
            t1 = proba.segments;
            t2 = _this.__VP8_br;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            if (t2.getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t2.getValue$1(8);
            } else
              t2 = 255;
            t1[s] = t2;
          }
      } else
        hdr.updateMap = false;
      return true;
    },
    _parseFilterHeader$0() {
      var i, t2, value, _this = this,
        hdr = _this._filterHeader,
        t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      hdr.__VP8FilterHeader_simple = t1.getValue$1(1) !== 0;
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      hdr.level = t1.getValue$1(6);
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      hdr.__VP8FilterHeader_sharpness = t1.getValue$1(3);
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.getValue$1(1) !== 0;
      hdr.__VP8FilterHeader_useLfDelta = t1;
      if (t1) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1.getValue$1(1) !== 0) {
          for (t1 = hdr.refLfDelta, i = 0; i < 4; ++i) {
            t2 = _this.__VP8_br;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            if (t2.getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              value = t2.getValue$1(6);
              t1[i] = t2.getValue$1(1) === 1 ? -value : value;
            }
          }
          for (t1 = hdr.modeLfDelta, i = 0; i < 4; ++i) {
            t2 = _this.__VP8_br;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            if (t2.getValue$1(1) !== 0) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              value = t2.getValue$1(6);
              t1[i] = t2.getValue$1(1) === 1 ? -value : value;
            }
          }
        }
      }
      if (hdr.level === 0)
        t1 = 0;
      else {
        t1 = hdr.__VP8FilterHeader_simple;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1 ? 1 : 2;
      }
      _this._filterType = t1;
      return true;
    },
    _parsePartitions$1(input) {
      var lastPart, partStart, sz, p, szb, t2, t3, partEnd,
        bufEnd = input.end - input.offset,
        t1 = this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = B.JSInt_methods._shlPositive$1(1, t1.getValue$1(2));
      this.__VP8__numPartitions = t1;
      lastPart = t1 - 1;
      partStart = lastPart * 3;
      if (bufEnd < partStart)
        return false;
      for (t1 = this._partitions, sz = 0, p = 0; p < lastPart; ++p, partStart = partEnd) {
        szb = input.subset$2$offset(3, sz);
        t2 = szb.buffer;
        t3 = szb.offset;
        partEnd = partStart + ((t2[t3] | t2[t3 + 1] << 8 | t2[t3 + 2] << 16) >>> 0);
        if (partEnd > bufEnd)
          partEnd = bufEnd;
        t2 = new A.VP8BitReader(input.subset$2$position(partEnd - partStart, partStart));
        t2.__VP8BitReader__range = 254;
        t2.__VP8BitReader__value = 0;
        t2.__VP8BitReader__bits = -8;
        t1[p] = t2;
        sz += 3;
      }
      t1[lastPart] = A.VP8BitReader$(input.subset$2$position(bufEnd - partStart, input.offset - input.start + partStart));
      return partStart < bufEnd;
    },
    _parseQuant$0() {
      var base_q0, dqy1_dc, dqy2_dc, dqy2_ac, dquv_dc, dquv_ac, hdr, t2, t3, t4, i, q, m, t5, t6, _this = this,
        t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      base_q0 = t1.getValue$1(7);
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.getValue$1(1) !== 0) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        dqy1_dc = t1.getSignedValue$1(4);
      } else
        dqy1_dc = 0;
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.getValue$1(1) !== 0) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        dqy2_dc = t1.getSignedValue$1(4);
      } else
        dqy2_dc = 0;
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.getValue$1(1) !== 0) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        dqy2_ac = t1.getSignedValue$1(4);
      } else
        dqy2_ac = 0;
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.getValue$1(1) !== 0) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        dquv_dc = t1.getSignedValue$1(4);
      } else
        dquv_dc = 0;
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.getValue$1(1) !== 0) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        dquv_ac = t1.getSignedValue$1(4);
      } else
        dquv_ac = 0;
      hdr = _this._segmentHeader;
      for (t1 = _this._dqm, t2 = hdr.useSegment, t3 = !hdr.absoluteDelta, t4 = hdr.quantizer, i = 0; i < 4; ++i) {
        if (t2) {
          q = t4[i];
          if (t3)
            q += base_q0;
        } else {
          if (i > 0) {
            t1[i] = t1[0];
            continue;
          }
          q = base_q0;
        }
        m = t1[i];
        t5 = m.y1Mat;
        t6 = q + dqy1_dc;
        if (t6 < 0)
          t6 = 0;
        else if (t6 > 127)
          t6 = 127;
        t5[0] = B.List_8co1[t6];
        if (q < 0)
          t6 = 0;
        else
          t6 = q > 127 ? 127 : q;
        t5[1] = B.List_AiM[t6];
        t6 = m.y2Mat;
        t5 = q + dqy2_dc;
        if (t5 < 0)
          t5 = 0;
        else if (t5 > 127)
          t5 = 127;
        t6[0] = B.List_8co1[t5] * 2;
        t5 = q + dqy2_ac;
        if (t5 < 0)
          t5 = 0;
        else if (t5 > 127)
          t5 = 127;
        t6[1] = B.List_AiM[t5] * 101581 >>> 16;
        if (t6[1] < 8)
          t6[1] = 8;
        t5 = m.uvMat;
        t6 = q + dquv_dc;
        if (t6 < 0)
          t6 = 0;
        else if (t6 > 117)
          t6 = 117;
        t5[0] = B.List_8co1[t6];
        t6 = q + dquv_ac;
        if (t6 < 0)
          t6 = 0;
        else if (t6 > 127)
          t6 = 127;
        t5[1] = B.List_AiM[t6];
      }
    },
    _parseProba$0() {
      var t, b, c, p, t1, v, _this = this,
        proba = _this._proba;
      for (t = 0; t < 4; ++t)
        for (b = 0; b < 8; ++b)
          for (c = 0; c < 3; ++c)
            for (p = 0; p < 11; ++p) {
              t1 = _this.__VP8_br;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              if (t1.getBit$1(B.List_MIe[t][b][c][p]) !== 0) {
                t1 = _this.__VP8_br;
                if (t1 === $)
                  A.throwUnnamedLateFieldNI();
                v = t1.getValue$1(8);
              } else
                v = B.List_S8N[t][b][c][p];
              proba.bands[t][b].probas[c][p] = v;
            }
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.getValue$1(1) !== 0;
      _this.__VP8__useSkipProba = t1;
      if (t1) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this.__VP8__skipP = t1.getValue$1(8);
      }
    },
    _precomputeFilterStrengths$0() {
      var hdr, t2, t3, t4, s, baseLevel, t5, i4x4, info, level, ilevel, ilevel0, _this = this,
        t1 = _this._filterType;
      t1.toString;
      if (t1 > 0) {
        hdr = _this._filterHeader;
        for (t1 = hdr.refLfDelta, t2 = hdr.modeLfDelta, t3 = _this._segmentHeader, t4 = t3.filterStrength, s = 0; s < 4; ++s) {
          if (t3.useSegment) {
            baseLevel = t4[s];
            if (!t3.absoluteDelta) {
              t5 = hdr.level;
              t5.toString;
              baseLevel += t5;
            }
          } else
            baseLevel = hdr.level;
          for (i4x4 = 0; i4x4 <= 1; ++i4x4) {
            t5 = _this.__VP8__fStrengths;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            info = t5[s][i4x4];
            t5 = hdr.__VP8FilterHeader_useLfDelta;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            if (t5) {
              baseLevel.toString;
              level = baseLevel + t1[0];
              if (i4x4 !== 0)
                level += t2[0];
            } else
              level = baseLevel;
            level.toString;
            if (level < 0)
              level = 0;
            else if (level > 63)
              level = 63;
            if (level > 0) {
              t5 = hdr.__VP8FilterHeader_sharpness;
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              if (t5 > 0) {
                ilevel = t5 > 4 ? B.JSInt_methods._shrOtherPositive$1(level, 2) : B.JSInt_methods._shrOtherPositive$1(level, 1);
                ilevel0 = 9 - t5;
                if (ilevel > ilevel0)
                  ilevel = ilevel0;
              } else
                ilevel = level;
              if (ilevel < 1)
                ilevel = 1;
              info.fInnerLevel = ilevel;
              info.fLimit = 2 * level + ilevel;
              if (level >= 40)
                t5 = 2;
              else
                t5 = level >= 15 ? 1 : 0;
              info.hevThresh = t5;
            } else
              info.fLimit = 0;
            info.fInner = i4x4 !== 0;
          }
        }
      }
    },
    _initFrame$0() {
      var _list, i, _i, t3, t4, extra_rows, extra_y, extra_uv, uvWidth, extraPixels, _length, _this = this, _null = null,
        t1 = _this._webp,
        t2 = t1._webp_info$_alphaData;
      if (t2 != null)
        _this._alphaData = t2;
      _list = J.JSArray_JSArray$allocateFixed(4, type$.List_VP8FInfo);
      for (t2 = type$.JSArray_VP8FInfo, i = 0; i < 4; ++i)
        _list[i] = A._setArrayType([new A.VP8FInfo(), new A.VP8FInfo()], t2);
      _this.__VP8__fStrengths = _list;
      t2 = _this._mbWidth;
      t2.toString;
      _list = J.JSArray_JSArray$allocateFixed(t2, type$.VP8TopSamples);
      for (_i = 0; _i < t2; ++_i) {
        t3 = new Uint8Array(16);
        t4 = new Uint8Array(8);
        _list[_i] = new A.VP8TopSamples(t3, t4, new Uint8Array(8));
      }
      _this.__VP8__yuvT = _list;
      _this.__VP8__yuvBlock = new Uint8Array(832);
      t2 = _this._mbWidth;
      t2.toString;
      _this._intraT = new Uint8Array(4 * t2);
      t3 = _this._cacheYStride = 16 * t2;
      t2 = 8 * t2;
      _this._cacheUVStride = t2;
      t4 = _this._filterType;
      t4.toString;
      extra_rows = B.List_0_2_8[t4];
      extra_y = extra_rows * t3;
      extra_uv = (extra_rows / 2 | 0) * t2;
      _this.__VP8__cacheY = A.InputBuffer$(new Uint8Array(16 * t3 + extra_y), false, _null, extra_y);
      t2 = _this._cacheUVStride;
      t2.toString;
      _this.__VP8__cacheU = A.InputBuffer$(new Uint8Array(8 * t2 + extra_uv), false, _null, extra_uv);
      t2 = _this._cacheUVStride;
      t2.toString;
      _this.__VP8__cacheV = A.InputBuffer$(new Uint8Array(8 * t2 + extra_uv), false, _null, extra_uv);
      t2 = t1.width;
      _this.__VP8__tmpY = A.InputBuffer$(new Uint8Array(t2), false, _null, 0);
      uvWidth = B.JSInt_methods._shrOtherPositive$1(t1.width + 1, 1);
      _this.__VP8__tmpU = A.InputBuffer$(new Uint8Array(uvWidth), false, _null, 0);
      _this.__VP8__tmpV = A.InputBuffer$(new Uint8Array(uvWidth), false, _null, 0);
      t1 = _this._filterType;
      t1.toString;
      extraPixels = B.List_0_2_8[t1];
      if (t1 === 2)
        _this.__VP8__tlMbY = _this.__VP8__tlMbX = 0;
      else {
        t1 = _this.__VP8__cropLeft;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = B.JSInt_methods._tdivFast$1(t1 - extraPixels, 16);
        _this.__VP8__tlMbX = t1;
        t2 = _this._cropTop;
        t2.toString;
        t2 = B.JSInt_methods._tdivFast$1(t2 - extraPixels, 16);
        _this.__VP8__tlMbY = t2;
        if (t1 < 0)
          _this.__VP8__tlMbX = 0;
        if (t2 < 0)
          _this.__VP8__tlMbY = 0;
      }
      t1 = _this._cropBottom;
      t1.toString;
      t1 = B.JSInt_methods._tdivFast$1(t1 + 15 + extraPixels, 16);
      _this._brMbY = t1;
      t2 = _this.__VP8__cropRight;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = B.JSInt_methods._tdivFast$1(t2 + 15 + extraPixels, 16);
      _this._brMbX = t2;
      t3 = _this._mbWidth;
      t3.toString;
      if (t2 > t3)
        _this._brMbX = t3;
      t2 = _this._mbHeight;
      t2.toString;
      if (t1 > t2)
        _this._brMbY = t2;
      _length = t3 + 1;
      _list = J.JSArray_JSArray$allocateFixed(_length, type$.VP8MB);
      for (_i = 0; _i < _length; ++_i)
        _list[_i] = new A.VP8MB();
      _this.__VP8__mbInfo = _list;
      t1 = _this._mbWidth;
      t1.toString;
      _list = J.JSArray_JSArray$allocateFixed(t1, type$.VP8MBData);
      for (_i = 0; _i < t1; ++_i) {
        t2 = new Int16Array(384);
        _list[_i] = new A.VP8MBData(t2, new Uint8Array(16));
      }
      _this.__VP8__mbData = _list;
      t1 = _this._mbWidth;
      t1.toString;
      _this.__VP8__fInfo = A.List_List$filled(t1, _null, false, type$.nullable_VP8FInfo);
      _this._precomputeFilterStrengths$0();
      A.VP8Filter__initTables();
      _this.__VP8__dsp = new A.VP8Filter();
      return true;
    },
    _parseFrame$0() {
      var t1, t2, t3, t4, t5, tokenBr, left, mb, block, t6, skip, t7, finfo, useFilter, _this = this;
      _this._mbY = 0;
      t1 = _this._intraL;
      t2 = _this._segmentHeader;
      t3 = _this._partitions;
      t4 = 0;
      while (true) {
        t5 = _this._brMbY;
        t5.toString;
        if (!(t4 < t5))
          break;
        t5 = _this.__VP8__numPartitions;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        tokenBr = t3[(t4 & t5 - 1) >>> 0];
        while (true) {
          t4 = _this._mbX;
          t5 = _this._mbWidth;
          t5.toString;
          if (!(t4 < t5))
            break;
          t5 = _this.__VP8__mbInfo;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          left = t5[0];
          mb = t5[1 + t4];
          t5 = _this.__VP8__mbData;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          block = t5[t4];
          if (t2.updateMap) {
            t4 = _this.__VP8_br;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t4 = t4.getBit$1(_this._proba.segments[0]);
            t5 = _this.__VP8_br;
            t6 = _this._proba;
            if (t4 === 0) {
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t4 = t5.getBit$1(t6.segments[1]);
            } else {
              if (t5 === $)
                A.throwUnnamedLateFieldNI();
              t4 = 2 + t5.getBit$1(t6.segments[2]);
            }
            _this.__VP8__segment = t4;
          }
          t4 = _this.__VP8__useSkipProba;
          if (t4 === $)
            A.throwUnnamedLateFieldNI();
          if (t4) {
            t4 = _this.__VP8_br;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t5 = _this.__VP8__skipP;
            if (t5 === $)
              A.throwUnnamedLateFieldNI();
            skip = t4.getBit$1(t5) !== 0;
          } else
            skip = false;
          _this._parseIntraMode$0();
          if (!skip)
            skip = _this._parseResiduals$2(mb, tokenBr);
          else {
            left.nz = mb.nz = 0;
            t4 = block.__VP8MBData_isIntra4x4;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            if (!t4)
              left.nzDc = mb.nzDc = 0;
            block.__VP8MBData_nonZeroUV = block.nonZeroY = 0;
          }
          t4 = _this._filterType;
          t4.toString;
          if (t4 > 0) {
            t4 = _this.__VP8__fInfo;
            if (t4 === $)
              A.throwUnnamedLateFieldNI();
            t5 = _this._mbX;
            t6 = _this.__VP8__fStrengths;
            if (t6 === $)
              A.throwUnnamedLateFieldNI();
            t7 = _this.__VP8__segment;
            if (t7 === $)
              A.throwUnnamedLateFieldNI();
            t7 = t6[t7];
            t6 = block.__VP8MBData_isIntra4x4;
            if (t6 === $)
              A.throwUnnamedLateFieldNI();
            finfo = t7[t6 ? 1 : 0];
            t4[t5] = finfo;
            finfo.fInner = finfo.fInner || !skip;
          }
          ++_this._mbX;
        }
        t4 = _this.__VP8__mbInfo;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        left = t4[0];
        left.nzDc = left.nz = 0;
        B.NativeUint8List_methods.fillRange$3(t1, 0, 4, 0);
        _this._mbX = 0;
        _this._reconstructRow$0();
        t4 = _this._filterType;
        t4.toString;
        if (t4 > 0) {
          t4 = _this._mbY;
          t5 = _this.__VP8__tlMbY;
          if (t5 === $)
            A.throwUnnamedLateFieldNI();
          if (t4 >= t5) {
            t5 = _this._brMbY;
            t5.toString;
            t5 = t4 <= t5;
            useFilter = t5;
          } else
            useFilter = false;
        } else
          useFilter = false;
        if (!_this._finishRow$1(useFilter))
          return false;
        t4 = ++_this._mbY;
      }
      return true;
    },
    _reconstructRow$0() {
      var y_dst, u_dst, v_dst, mb_x, t2, block, j, t3, t4, t5, t6, t7, t8, top_yuv, coeffs, bits, topRight, topRight32, p, n, dst, c1, c2, y_out, u_out, _this = this, _null = null,
        mb_y = _this._mbY,
        t1 = _this.__VP8__yuvBlock;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      y_dst = A.InputBuffer$(t1, false, _null, 40);
      t1 = _this.__VP8__yuvBlock;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      u_dst = A.InputBuffer$(t1, false, _null, 584);
      t1 = _this.__VP8__yuvBlock;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      v_dst = A.InputBuffer$(t1, false, _null, 600);
      t1 = mb_y > 0;
      mb_x = 0;
      while (true) {
        t2 = _this._mbWidth;
        t2.toString;
        if (!(mb_x < t2))
          break;
        t2 = _this.__VP8__mbData;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        block = t2[mb_x];
        if (mb_x > 0) {
          for (j = -1; j < 16; ++j) {
            t2 = j * 32;
            y_dst.memcpy$4(t2 - 4, 4, y_dst, t2 + 12);
          }
          for (j = -1; j < 8; ++j) {
            t2 = j * 32;
            t3 = t2 - 4;
            t2 += 4;
            u_dst.memcpy$4(t3, 4, u_dst, t2);
            v_dst.memcpy$4(t3, 4, v_dst, t2);
          }
        } else {
          for (t2 = y_dst.buffer, t3 = y_dst.offset, j = 0; j < 16; ++j)
            t2[t3 + (j * 32 - 1)] = 129;
          for (t4 = u_dst.buffer, t5 = u_dst.offset, t6 = v_dst.buffer, t7 = v_dst.offset, j = 0; j < 8; ++j) {
            t8 = j * 32 - 1;
            t4[t5 + t8] = 129;
            t6[t7 + t8] = 129;
          }
          if (t1) {
            t6[t7 + -33] = 129;
            t4[t5 + -33] = 129;
            t2[t3 + -33] = 129;
          }
        }
        t2 = _this.__VP8__yuvT;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        top_yuv = t2[mb_x];
        coeffs = block.coeffs;
        bits = block.nonZeroY;
        if (t1) {
          y_dst.memcpy$3(-32, 16, top_yuv.y);
          u_dst.memcpy$3(-32, 8, top_yuv.u);
          v_dst.memcpy$3(-32, 8, top_yuv.v);
        } else if (mb_x === 0) {
          t2 = y_dst.buffer;
          t3 = y_dst.offset + -33;
          J.fillRange$3$ax(t2, t3, t3 + 21, 127);
          t3 = u_dst.buffer;
          t2 = u_dst.offset + -33;
          J.fillRange$3$ax(t3, t2, t2 + 9, 127);
          t2 = v_dst.buffer;
          t3 = v_dst.offset + -33;
          J.fillRange$3$ax(t2, t3, t3 + 9, 127);
        }
        t2 = block.__VP8MBData_isIntra4x4;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (t2) {
          topRight = A.InputBuffer$from(y_dst, _null, -16);
          topRight32 = topRight.toUint32List$0();
          if (t1) {
            t2 = _this._mbWidth;
            t2.toString;
            if (mb_x >= t2 - 1) {
              t2 = top_yuv.y[15];
              t3 = topRight.buffer;
              t4 = topRight.offset;
              J.fillRange$3$ax(t3, t4, t4 + 4, t2);
            } else {
              t2 = _this.__VP8__yuvT;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              topRight.memcpy$3(0, 4, t2[mb_x + 1].y);
            }
          }
          p = topRight32[0];
          topRight32[96] = p;
          topRight32[64] = p;
          topRight32[32] = p;
          for (t2 = block.imodes, n = 0; n < 16; ++n, bits = bits << 2 >>> 0) {
            dst = A.InputBuffer$from(y_dst, _null, B.List_cGl0[n]);
            B.List_sty[t2[n]].call$1(dst);
            bits.toString;
            t3 = n * 16;
            _this._doTransform$3(bits, new A.InputBuffer(coeffs, t3, 384, t3, false), dst);
          }
        } else {
          t2 = A.VP8__checkMode(mb_x, mb_y, block.imodes[0]);
          t2.toString;
          B.List_8aB[t2].call$1(y_dst);
          if (bits !== 0)
            for (n = 0; n < 16; ++n, bits = bits << 2 >>> 0) {
              dst = A.InputBuffer$from(y_dst, _null, B.List_cGl0[n]);
              bits.toString;
              t2 = n * 16;
              _this._doTransform$3(bits, new A.InputBuffer(coeffs, t2, 384, t2, false), dst);
            }
        }
        t2 = block.__VP8MBData_nonZeroUV;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = A.VP8__checkMode(mb_x, mb_y, block.uvmode);
        t3.toString;
        B.List_0W6[t3].call$1(u_dst);
        B.List_0W6[t3].call$1(v_dst);
        c1 = new A.InputBuffer(coeffs, 256, 384, 256, false);
        if ((t2 & 255) !== 0) {
          t3 = _this.__VP8__dsp;
          if ((t2 & 170) !== 0) {
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t3.transformOne$2(c1, u_dst);
            t3.transformOne$2(A.InputBuffer$from(c1, _null, 16), A.InputBuffer$from(u_dst, _null, 4));
            t4 = A.InputBuffer$from(c1, _null, 32);
            t5 = A.InputBuffer$from(u_dst, _null, 128);
            t3.transformOne$2(t4, t5);
            t3.transformOne$2(A.InputBuffer$from(t4, _null, 16), A.InputBuffer$from(t5, _null, 4));
          } else {
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t3.transformDCUV$2(c1, u_dst);
          }
        }
        c2 = new A.InputBuffer(coeffs, 320, 384, 320, false);
        t2 = t2 >>> 8;
        if ((t2 & 255) !== 0) {
          t3 = _this.__VP8__dsp;
          if ((t2 & 170) !== 0) {
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t3.transformOne$2(c2, v_dst);
            t3.transformOne$2(A.InputBuffer$from(c2, _null, 16), A.InputBuffer$from(v_dst, _null, 4));
            t2 = A.InputBuffer$from(c2, _null, 32);
            t4 = A.InputBuffer$from(v_dst, _null, 128);
            t3.transformOne$2(t2, t4);
            t3.transformOne$2(A.InputBuffer$from(t2, _null, 16), A.InputBuffer$from(t4, _null, 4));
          } else {
            if (t3 === $)
              A.throwUnnamedLateFieldNI();
            t3.transformDCUV$2(c2, v_dst);
          }
        }
        t2 = _this._mbHeight;
        t2.toString;
        if (mb_y < t2 - 1) {
          B.NativeUint8List_methods.setRange$4(top_yuv.y, 0, 16, y_dst.toUint8List$0(), 480);
          B.NativeUint8List_methods.setRange$4(top_yuv.u, 0, 8, u_dst.toUint8List$0(), 224);
          B.NativeUint8List_methods.setRange$4(top_yuv.v, 0, 8, v_dst.toUint8List$0(), 224);
        }
        y_out = mb_x * 16;
        u_out = mb_x * 8;
        for (j = 0; j < 16; ++j) {
          t2 = _this._cacheYStride;
          t2.toString;
          t3 = _this.__VP8__cacheY;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3.memcpy$4(y_out + j * t2, 16, y_dst, j * 32);
        }
        for (j = 0; j < 8; ++j) {
          t2 = _this._cacheUVStride;
          t2.toString;
          t3 = _this.__VP8__cacheU;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t4 = j * 32;
          t3.memcpy$4(u_out + j * t2, 8, u_dst, t4);
          t2 = _this._cacheUVStride;
          t2.toString;
          t3 = _this.__VP8__cacheV;
          if (t3 === $)
            A.throwUnnamedLateFieldNI();
          t3.memcpy$4(u_out + j * t2, 8, v_dst, t4);
        }
        ++mb_x;
      }
    },
    _doTransform$3(bits, src, dst) {
      var t1, t2, a, c4, d4, c1, d1;
      switch (bits >>> 30) {
        case 3:
          t1 = this.__VP8__dsp;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.transform$3(0, src, dst, false);
          break;
        case 2:
          if (this.__VP8__dsp === $)
            A.throwUnnamedLateFieldNI();
          t1 = src.buffer;
          t2 = src.offset;
          a = t1[t2] + 4;
          c4 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(t1[t2 + 4] * 35468, 16), 32);
          d4 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(src.buffer[src.offset + 4] * 85627, 16), 32);
          c1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(src.buffer[src.offset + 1] * 35468, 16), 32);
          d1 = B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(src.buffer[src.offset + 1] * 85627, 16), 32);
          A.VP8Filter__store2(dst, 0, a + d4, d1, c1);
          A.VP8Filter__store2(dst, 1, a + c4, d1, c1);
          A.VP8Filter__store2(dst, 2, a - c4, d1, c1);
          A.VP8Filter__store2(dst, 3, a - d4, d1, c1);
          break;
        case 1:
          t1 = this.__VP8__dsp;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1.transformDC$2(src, dst);
          break;
        default:
          break;
      }
    },
    _doFilter$2(mbX, mbY) {
      var t2, yDst, ilevel, limit, uvBps, t3, uDst, vDst, hevThresh, u2, v2, _this = this, _null = null,
        yBps = _this._cacheYStride,
        t1 = _this.__VP8__fInfo;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1[mbX];
      t1.toString;
      t2 = _this.__VP8__cacheY;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      yDst = A.InputBuffer$from(t2, _null, mbX * 16);
      ilevel = t1.fInnerLevel;
      limit = t1.fLimit;
      if (limit === 0)
        return;
      if (_this._filterType === 1) {
        if (mbX > 0) {
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t2.simpleHFilter16$3(yDst, yBps, limit + 4);
        }
        if (t1.fInner) {
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t2.simpleHFilter16i$3(yDst, yBps, limit);
        }
        if (mbY > 0) {
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t2.simpleVFilter16$3(yDst, yBps, limit + 4);
        }
        if (t1.fInner) {
          t1 = _this.__VP8__dsp;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t1.simpleVFilter16i$3(yDst, yBps, limit);
        }
      } else {
        uvBps = _this._cacheUVStride;
        t2 = _this.__VP8__cacheU;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = mbX * 8;
        uDst = A.InputBuffer$from(t2, _null, t3);
        t2 = _this.__VP8__cacheV;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        vDst = A.InputBuffer$from(t2, _null, t3);
        hevThresh = t1.hevThresh;
        if (mbX > 0) {
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t3 = limit + 4;
          t2._filterLoop26$7(yDst, 1, yBps, 16, t3, ilevel, hevThresh);
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          uvBps.toString;
          t2._filterLoop26$7(uDst, 1, uvBps, 8, t3, ilevel, hevThresh);
          t2._filterLoop26$7(vDst, 1, uvBps, 8, t3, ilevel, hevThresh);
        }
        if (t1.fInner) {
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t2.hFilter16i$5(yDst, yBps, limit, ilevel, hevThresh);
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          uvBps.toString;
          u2 = A.InputBuffer$from(uDst, _null, 4);
          v2 = A.InputBuffer$from(vDst, _null, 4);
          t2._filterLoop24$7(u2, 1, uvBps, 8, limit, ilevel, hevThresh);
          t2._filterLoop24$7(v2, 1, uvBps, 8, limit, ilevel, hevThresh);
        }
        if (mbY > 0) {
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t3 = limit + 4;
          t2._filterLoop26$7(yDst, yBps, 1, 16, t3, ilevel, hevThresh);
          t2 = _this.__VP8__dsp;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          uvBps.toString;
          t2._filterLoop26$7(uDst, uvBps, 1, 8, t3, ilevel, hevThresh);
          t2._filterLoop26$7(vDst, uvBps, 1, 8, t3, ilevel, hevThresh);
        }
        if (t1.fInner) {
          t1 = _this.__VP8__dsp;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          yBps.toString;
          t1.vFilter16i$5(yDst, yBps, limit, ilevel, hevThresh);
          t1 = _this.__VP8__dsp;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          uvBps.toString;
          t2 = 4 * uvBps;
          u2 = A.InputBuffer$from(uDst, _null, t2);
          v2 = A.InputBuffer$from(vDst, _null, t2);
          t1._filterLoop24$7(u2, uvBps, 1, 8, limit, ilevel, hevThresh);
          t1._filterLoop24$7(v2, uvBps, 1, 8, limit, ilevel, hevThresh);
        }
      }
    },
    _filterRow$0() {
      var mbX, _this = this,
        t1 = _this.__VP8__tlMbX;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      mbX = t1;
      while (true) {
        t1 = _this._brMbX;
        t1.toString;
        if (!(mbX < t1))
          break;
        _this._doFilter$2(mbX, _this._mbY);
        ++mbX;
      }
    },
    _finishRow$1(useFilter) {
      var extraYRows, ySize, uvSize, t2, yDst, t3, uDst, vDst, mbY, yStart, yEnd, t4, t5, deltaY, t6, t7, t8, _this = this, _null = null,
        t1 = _this._filterType;
      t1.toString;
      extraYRows = B.List_0_2_8[t1];
      t1 = _this._cacheYStride;
      t1.toString;
      ySize = extraYRows * t1;
      t1 = _this._cacheUVStride;
      t1.toString;
      uvSize = (extraYRows / 2 | 0) * t1;
      t1 = _this.__VP8__cacheY;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t2 = -ySize;
      yDst = A.InputBuffer$from(t1, _null, t2);
      t1 = _this.__VP8__cacheU;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t3 = -uvSize;
      uDst = A.InputBuffer$from(t1, _null, t3);
      t1 = _this.__VP8__cacheV;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      vDst = A.InputBuffer$from(t1, _null, t3);
      mbY = _this._mbY;
      t1 = _this._brMbY;
      t1.toString;
      yStart = mbY * 16;
      yEnd = (mbY + 1) * 16;
      if (useFilter)
        _this._filterRow$0();
      if (mbY !== 0) {
        yStart -= extraYRows;
        _this.__VP8__y = A.InputBuffer$from(yDst, _null, 0);
        _this.__VP8__u = A.InputBuffer$from(uDst, _null, 0);
        _this.__VP8__v = A.InputBuffer$from(vDst, _null, 0);
      } else {
        t4 = _this.__VP8__cacheY;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        _this.__VP8__y = A.InputBuffer$from(t4, _null, 0);
        t4 = _this.__VP8__cacheU;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        _this.__VP8__u = A.InputBuffer$from(t4, _null, 0);
        t4 = _this.__VP8__cacheV;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        _this.__VP8__v = A.InputBuffer$from(t4, _null, 0);
      }
      t1 = mbY < t1 - 1;
      if (t1)
        yEnd -= extraYRows;
      t4 = _this._cropBottom;
      t4.toString;
      if (yEnd > t4)
        yEnd = t4;
      _this._a = null;
      if (_this._alphaData != null && yStart < yEnd) {
        t4 = _this._a = _this._decompressAlphaRows$2(yStart, yEnd - yStart);
        if (t4 == null)
          return false;
      } else
        t4 = _null;
      t5 = _this._cropTop;
      t5.toString;
      if (yStart < t5) {
        deltaY = t5 - yStart;
        t6 = _this.__VP8__y;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        t7 = t6.offset;
        t8 = _this._cacheYStride;
        t8.toString;
        t6.offset = t7 + t8 * deltaY;
        t8 = _this.__VP8__u;
        if (t8 === $)
          A.throwUnnamedLateFieldNI();
        t7 = t8.offset;
        t6 = _this._cacheUVStride;
        t6.toString;
        t6 *= B.JSInt_methods._shrOtherPositive$1(deltaY, 1);
        t8.offset = t7 + t6;
        t7 = _this.__VP8__v;
        if (t7 === $)
          A.throwUnnamedLateFieldNI();
        t7.offset += t6;
        if (t4 != null)
          t4.offset = t4.offset + _this._webp.width * deltaY;
        yStart = t5;
      }
      if (yStart < yEnd) {
        t6 = _this.__VP8__y;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        t7 = t6.offset;
        t8 = _this.__VP8__cropLeft;
        if (t8 === $)
          A.throwUnnamedLateFieldNI();
        t6.offset = t7 + t8;
        t7 = _this.__VP8__u;
        if (t7 === $)
          A.throwUnnamedLateFieldNI();
        t6 = t8 >>> 1;
        t7.offset = t7.offset + t6;
        t7 = _this.__VP8__v;
        if (t7 === $)
          A.throwUnnamedLateFieldNI();
        t7.offset += t6;
        if (t4 != null)
          t4.offset += t8;
        t4 = _this.__VP8__cropRight;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        _this._put$3(0, yStart - t5, t4 - t8, yEnd - yStart);
      }
      if (t1) {
        t1 = _this.__VP8__cacheY;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t4 = _this._cacheYStride;
        t4.toString;
        t1.memcpy$4(t2, ySize, yDst, 16 * t4);
        t4 = _this.__VP8__cacheU;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t2 = _this._cacheUVStride;
        t2.toString;
        t4.memcpy$4(t3, uvSize, uDst, 8 * t2);
        t2 = _this.__VP8__cacheV;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t4 = _this._cacheUVStride;
        t4.toString;
        t2.memcpy$4(t3, uvSize, vDst, 8 * t4);
      }
      return true;
    },
    _put$3(_, mbY, mbW, mbH) {
      if (mbW <= 0 || mbH <= 0)
        return false;
      this._emitFancyRGB$3(mbY, mbW, mbH);
      this._emitAlphaRGB$3(mbY, mbW, mbH);
      return true;
    },
    _clip8$1(v) {
      var d;
      if ((v & -4194304) >>> 0 === 0)
        d = B.JSInt_methods._shrOtherPositive$1(v, 14);
      else
        d = v < 0 ? 0 : 255;
      return d;
    },
    _yuvToRgb$4(y, u, v, rgb) {
      var t1 = 19077 * y;
      rgb.$indexSet(0, 0, this._clip8$1(t1 + 26149 * v + -3644112));
      rgb.$indexSet(0, 1, this._clip8$1(t1 - 6419 * u - 13320 * v + 2229552));
      rgb.$indexSet(0, 2, this._clip8$1(t1 + 33050 * u + -4527440));
    },
    _upsample$9(topY, bottomY, topU, topV, curU, curV, topDst, bottomDst, len) {
      var t2, t3, x, t_uv, uv, avg, diag_12, diag_03, uv1, t4, t5, t6, t7, t8, t9, t10, t11, t12, d, _this = this, _null = null,
        LOAD_UV = new A.VP8__upsample_LOAD_UV(),
        t1 = len - 1,
        lastPixelPair = B.JSInt_methods._shrOtherPositive$1(t1, 1),
        tl_uv = LOAD_UV.call$2(topU.buffer[topU.offset], topV.buffer[topV.offset]),
        l_uv = LOAD_UV.call$2(curU.buffer[curU.offset], curV.buffer[curV.offset]),
        uv0 = B.JSInt_methods._shrOtherPositive$1(3 * tl_uv + l_uv + 131074, 2);
      _this._yuvToRgb$4(topY.buffer[topY.offset], uv0 & 255, uv0 >>> 16, topDst);
      topDst.$indexSet(0, 3, 255);
      t2 = bottomY != null;
      if (t2) {
        uv0 = B.JSInt_methods._shrOtherPositive$1(3 * l_uv + tl_uv + 131074, 2);
        t3 = bottomY.buffer[bottomY.offset];
        bottomDst.toString;
        _this._yuvToRgb$4(t3, uv0 & 255, uv0 >>> 16, bottomDst);
        bottomDst.$indexSet(0, 3, 255);
      }
      for (x = 1; x <= lastPixelPair; ++x, l_uv = uv, tl_uv = t_uv) {
        t_uv = LOAD_UV.call$2(topU.buffer[topU.offset + x], topV.buffer[topV.offset + x]);
        uv = LOAD_UV.call$2(curU.buffer[curU.offset + x], curV.buffer[curV.offset + x]);
        avg = tl_uv + t_uv + l_uv + uv + 524296;
        diag_12 = B.JSInt_methods._shrOtherPositive$1(avg + 2 * (t_uv + l_uv), 3);
        diag_03 = B.JSInt_methods._shrOtherPositive$1(avg + 2 * (tl_uv + uv), 3);
        uv0 = B.JSInt_methods._shrOtherPositive$1(diag_12 + tl_uv, 1);
        uv1 = B.JSInt_methods._shrOtherPositive$1(diag_03 + t_uv, 1);
        t3 = 2 * x;
        t4 = t3 - 1;
        t5 = topY.buffer;
        t6 = topY.offset;
        t7 = t5[t6 + t4];
        t8 = uv0 & 255;
        t9 = uv0 >>> 16;
        t10 = t4 * 4;
        t11 = A.InputBuffer$from(topDst, _null, t10);
        t7 = 19077 * t7;
        t12 = t7 + 26149 * t9 + -3644112;
        if ((t12 & -4194304) >>> 0 === 0)
          d = B.JSInt_methods._shrOtherPositive$1(t12, 14);
        else
          d = t12 < 0 ? 0 : 255;
        t12 = t11.buffer;
        t11 = t11.offset;
        t12[t11] = d;
        t9 = t7 - 6419 * t8 - 13320 * t9 + 2229552;
        if ((t9 & -4194304) >>> 0 === 0)
          d = B.JSInt_methods._shrOtherPositive$1(t9, 14);
        else
          d = t9 < 0 ? 0 : 255;
        t12[t11 + 1] = d;
        t7 = t7 + 33050 * t8 + -4527440;
        if ((t7 & -4194304) >>> 0 === 0)
          d = B.JSInt_methods._shrOtherPositive$1(t7, 14);
        else
          d = t7 < 0 ? 0 : 255;
        t12[t11 + 2] = d;
        t12[t11 + 3] = 255;
        t7 = t3 - 0;
        t6 = t5[t6 + t7];
        t5 = uv1 & 255;
        t8 = uv1 >>> 16;
        t7 = A.InputBuffer$from(topDst, _null, t7 * 4);
        t6 = 19077 * t6;
        t9 = t6 + 26149 * t8 + -3644112;
        if ((t9 & -4194304) >>> 0 === 0)
          d = B.JSInt_methods._shrOtherPositive$1(t9, 14);
        else
          d = t9 < 0 ? 0 : 255;
        t9 = t7.buffer;
        t7 = t7.offset;
        t9[t7] = d;
        t8 = t6 - 6419 * t5 - 13320 * t8 + 2229552;
        if ((t8 & -4194304) >>> 0 === 0)
          d = B.JSInt_methods._shrOtherPositive$1(t8, 14);
        else
          d = t8 < 0 ? 0 : 255;
        t9[t7 + 1] = d;
        t5 = t6 + 33050 * t5 + -4527440;
        if ((t5 & -4194304) >>> 0 === 0)
          d = B.JSInt_methods._shrOtherPositive$1(t5, 14);
        else
          d = t5 < 0 ? 0 : 255;
        t9[t7 + 2] = d;
        t9[t7 + 3] = 255;
        if (t2) {
          uv0 = B.JSInt_methods._shrOtherPositive$1(diag_03 + l_uv, 1);
          uv1 = B.JSInt_methods._shrOtherPositive$1(diag_12 + uv, 1);
          t5 = bottomY.buffer;
          t6 = bottomY.offset;
          t4 = t5[t6 + t4];
          t7 = uv0 & 255;
          t8 = uv0 >>> 16;
          bottomDst.toString;
          t10 = A.InputBuffer$from(bottomDst, _null, t10);
          t4 = 19077 * t4;
          t9 = t4 + 26149 * t8 + -3644112;
          if ((t9 & -4194304) >>> 0 === 0)
            d = B.JSInt_methods._shrOtherPositive$1(t9, 14);
          else
            d = t9 < 0 ? 0 : 255;
          t9 = t10.buffer;
          t10 = t10.offset;
          t9[t10] = d;
          t8 = t4 - 6419 * t7 - 13320 * t8 + 2229552;
          if ((t8 & -4194304) >>> 0 === 0)
            d = B.JSInt_methods._shrOtherPositive$1(t8, 14);
          else
            d = t8 < 0 ? 0 : 255;
          t9[t10 + 1] = d;
          t4 = t4 + 33050 * t7 + -4527440;
          if ((t4 & -4194304) >>> 0 === 0)
            d = B.JSInt_methods._shrOtherPositive$1(t4, 14);
          else
            d = t4 < 0 ? 0 : 255;
          t9[t10 + 2] = d;
          t9[t10 + 3] = 255;
          t4 = t5[t6 + t3];
          t5 = uv1 & 255;
          t6 = uv1 >>> 16;
          t3 = A.InputBuffer$from(bottomDst, _null, t3 * 4);
          t4 = 19077 * t4;
          t7 = t4 + 26149 * t6 + -3644112;
          if ((t7 & -4194304) >>> 0 === 0)
            d = B.JSInt_methods._shrOtherPositive$1(t7, 14);
          else
            d = t7 < 0 ? 0 : 255;
          t7 = t3.buffer;
          t3 = t3.offset;
          t7[t3] = d;
          t6 = t4 - 6419 * t5 - 13320 * t6 + 2229552;
          if ((t6 & -4194304) >>> 0 === 0)
            d = B.JSInt_methods._shrOtherPositive$1(t6, 14);
          else
            d = t6 < 0 ? 0 : 255;
          t7[t3 + 1] = d;
          t4 = t4 + 33050 * t5 + -4527440;
          if ((t4 & -4194304) >>> 0 === 0)
            d = B.JSInt_methods._shrOtherPositive$1(t4, 14);
          else
            d = t4 < 0 ? 0 : 255;
          t7[t3 + 2] = d;
          t7[t3 + 3] = 255;
        }
      }
      if ((len & 1) === 0) {
        uv0 = B.JSInt_methods._shrOtherPositive$1(3 * tl_uv + l_uv + 131074, 2);
        t3 = topY.buffer[topY.offset + t1];
        t4 = t1 * 4;
        t5 = A.InputBuffer$from(topDst, _null, t4);
        _this._yuvToRgb$4(t3, uv0 & 255, uv0 >>> 16, t5);
        t5.$indexSet(0, 3, 255);
        if (t2) {
          uv0 = B.JSInt_methods._shrOtherPositive$1(3 * l_uv + tl_uv + 131074, 2);
          t1 = bottomY.buffer[bottomY.offset + t1];
          bottomDst.toString;
          t4 = A.InputBuffer$from(bottomDst, _null, t4);
          _this._yuvToRgb$4(t1, uv0 & 255, uv0 >>> 16, t4);
          t4.$indexSet(0, 3, 255);
        }
      }
    },
    _emitAlphaRGB$3(mbY, mbW, mbH) {
      var t2, t3, stride, alpha, numRows, startY, dst, y, t4, t5, x, _this = this,
        t1 = _this._a;
      if (t1 == null)
        return;
      t2 = _this._webp;
      t3 = t2.width;
      stride = t3 * 4;
      alpha = A.InputBuffer$from(t1, null, 0);
      if (mbY === 0) {
        numRows = mbH - 1;
        startY = mbY;
      } else {
        startY = mbY - 1;
        alpha.offset -= t3;
        numRows = mbH;
      }
      dst = A.InputBuffer$(_this.output.getBytes$0(), false, null, startY * stride + 3);
      t1 = _this._cropTop;
      t1.toString;
      t3 = _this._cropBottom;
      if (t1 + mbY + mbH === t3) {
        t3.toString;
        numRows = t3 - t1 - startY;
      }
      for (y = 0; y < numRows; ++y) {
        for (t1 = alpha.buffer, t3 = alpha.offset, t4 = dst.buffer, t5 = dst.offset, x = 0; x < mbW; ++x)
          t4[t5 + 4 * x] = t1[t3 + x] & 255;
        alpha.offset = t3 + t2.width;
        dst.offset += stride;
      }
    },
    _emitFancyRGB$3(mbY, mbW, mbH) {
      var curY, curU, curV, yEnd, uvW, stride, topU, topV, numLinesOut, y, t3, t4, _this = this, _null = null,
        t1 = _this._webp,
        dst = A.InputBuffer$(_this.output.getBytes$0(), false, _null, mbY * t1.width * 4),
        t2 = _this.__VP8__y;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      curY = A.InputBuffer$from(t2, _null, 0);
      t2 = _this.__VP8__u;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      curU = A.InputBuffer$from(t2, _null, 0);
      t2 = _this.__VP8__v;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      curV = A.InputBuffer$from(t2, _null, 0);
      yEnd = mbY + mbH;
      uvW = B.JSInt_methods._shrOtherPositive$1(mbW + 1, 1);
      stride = t1.width * 4;
      t1 = _this.__VP8__tmpU;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      topU = A.InputBuffer$from(t1, _null, 0);
      t1 = _this.__VP8__tmpV;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      topV = A.InputBuffer$from(t1, _null, 0);
      if (mbY === 0) {
        _this._upsample$9(curY, _null, curU, curV, curU, curV, dst, _null, mbW);
        numLinesOut = mbH;
      } else {
        t1 = _this.__VP8__tmpY;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        _this._upsample$9(t1, curY, topU, topV, curU, curV, A.InputBuffer$from(dst, _null, -stride), dst, mbW);
        numLinesOut = mbH + 1;
      }
      topU.buffer = curU.buffer;
      topV.buffer = curV.buffer;
      for (t1 = 2 * stride, t2 = -stride, y = mbY; y += 2, y < yEnd;) {
        topU.offset = curU.offset;
        topV.offset = curV.offset;
        t3 = curU.offset;
        t4 = _this._cacheUVStride;
        t4.toString;
        curU.offset = t3 + t4;
        curV.offset += t4;
        dst.offset += t1;
        t4 = curY.offset;
        t3 = _this._cacheYStride;
        t3.toString;
        curY.offset = t4 + 2 * t3;
        _this._upsample$9(A.InputBuffer$from(curY, _null, -t3), curY, topU, topV, curU, curV, A.InputBuffer$from(dst, _null, t2), dst, mbW);
      }
      t1 = curY.offset;
      t2 = _this._cacheYStride;
      t2.toString;
      curY.offset = t1 + t2;
      t1 = _this._cropTop;
      t1.toString;
      t2 = _this._cropBottom;
      t2.toString;
      if (t1 + yEnd < t2) {
        t1 = _this.__VP8__tmpY;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.memcpy$3(0, mbW, curY);
        t1 = _this.__VP8__tmpU;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.memcpy$3(0, uvW, curU);
        t1 = _this.__VP8__tmpV;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1.memcpy$3(0, uvW, curV);
        --numLinesOut;
      } else if ((yEnd & 1) === 0)
        _this._upsample$9(curY, _null, curU, curV, curU, curV, A.InputBuffer$from(dst, _null, stride), _null, mbW);
      return numLinesOut;
    },
    _decompressAlphaRows$2(row, numRows) {
      var t2, t3, b, t4, webp, t5, t6, totalNumPixels, _this = this, _null = null,
        t1 = _this._webp,
        width = t1.width,
        height = t1.height;
      if (row < 0 || numRows <= 0 || row + numRows > height)
        return _null;
      if (row === 0) {
        t1 = width * height;
        _this.__VP8__alphaPlane = new Uint8Array(t1);
        t2 = _this._alphaData;
        t3 = new A.WebPAlpha(t2, width, height);
        b = t2.readByte$0();
        t3.method = b & 3;
        t3.filter = B.JSInt_methods._shrOtherPositive$1(b, 2) & 3;
        t3.preProcessing = B.JSInt_methods._shrOtherPositive$1(b, 4) & 3;
        t3.rsrv = B.JSInt_methods._shrOtherPositive$1(b, 6) & 3;
        if (t3.get$isValid()) {
          t4 = t3.method;
          if (t4 === 0) {
            if (t2.end - t2.offset < t1)
              t3.rsrv = 1;
          } else if (t4 === 1) {
            webp = new A.WebPInfo(A._setArrayType([], type$.JSArray_WebPFrame));
            webp.width = width;
            webp.height = height;
            t1 = A._setArrayType([], type$.JSArray_HTreeGroup);
            t4 = A._setArrayType([], type$.JSArray_VP8LTransform);
            t5 = new Uint32Array(2);
            t6 = new A.VP8LBitReader(t2, t5);
            t5 = t6.__VP8LBitReader__buffer8 = A.NativeUint8List_NativeUint8List$view(t5.buffer, 0, _null);
            t5[0] = t2.readByte$0();
            t5[1] = t2.readByte$0();
            t5[2] = t2.readByte$0();
            t5[3] = t2.readByte$0();
            t5[4] = t2.readByte$0();
            t5[5] = t2.readByte$0();
            t5[6] = t2.readByte$0();
            t5[7] = t2.readByte$0();
            t4 = t3.__WebPAlpha__vp8l = new A.InternalVP8L(t6, webp, t1, t4);
            t4._ioWidth = width;
            t4._decodeImageStream$3(width, height, true);
            t1 = t3.__WebPAlpha__vp8l;
            if (t1 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t1._vp8l$_transforms;
            if (t2.length === 1 && t2[0].type === 3 && t1._is8bOptimizable$0()) {
              t3._use8bDecode = true;
              t1 = t3.__WebPAlpha__vp8l;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t2 = t1.webp;
              totalNumPixels = t2.width * t2.height;
              t1._argbCache = 0;
              t2 = B.JSInt_methods.$mod(totalNumPixels, 4);
              t2 = new Uint8Array(totalNumPixels + (4 - t2));
              t1.__VP8L__pixels8 = t2;
              t1._vp8l$_pixels = A.NativeUint32List_NativeUint32List$view(t2.buffer, 0, _null);
            } else {
              t3._use8bDecode = false;
              t1 = t3.__WebPAlpha__vp8l;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              t1._allocateInternalBuffers32b$0();
            }
          } else
            t3.rsrv = 1;
        }
        _this.__VP8__alpha = t3;
      }
      t1 = _this.__VP8__alpha;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1.isAlphaDecoded) {
        t2 = _this.__VP8__alphaPlane;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        if (!t1.decode$3(0, row, numRows, t2))
          return _null;
      }
      t1 = _this.__VP8__alphaPlane;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return A.InputBuffer$(t1, false, _null, row * width);
    },
    _parseResiduals$2(mb, tokenBr) {
      var q, block, dst, leftMb, dc, t2, nz, dc0, i, acProba, first, tnz, lnz, nonZeroY, y, l, nzCoeffs, x, nz_coeffs, outLeftNz, outTopNz, nonZeroUV, ch, _this = this,
        bands = _this._proba.bands,
        t1 = _this.__VP8__segment;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      q = _this._dqm[t1];
      t1 = _this.__VP8__mbData;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      block = t1[_this._mbX];
      dst = A.InputBuffer$(block.coeffs, false, null, 0);
      t1 = _this.__VP8__mbInfo;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      leftMb = t1[0];
      dst.memset$3(0, dst.end - dst.offset, 0);
      t1 = block.__VP8MBData_isIntra4x4;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (!t1) {
        dc = A.InputBuffer$(new Int16Array(16), false, null, 0);
        t1 = mb.nzDc;
        t2 = leftMb.nzDc;
        nz = _this._getCoeffs$6(tokenBr, bands[1], t1 + t2, q.y2Mat, 0, dc);
        mb.nzDc = leftMb.nzDc = nz > 0 ? 1 : 0;
        if (nz > 1)
          _this._transformWHT$2(dc, dst);
        else {
          dc0 = B.JSInt_methods._shrOtherPositive$1(dc.buffer[dc.offset] + 3, 3);
          for (t1 = dst.buffer, t2 = dst.offset, i = 0; i < 256; i += 16)
            t1[t2 + i] = dc0;
        }
        acProba = bands[0];
        first = 1;
      } else {
        acProba = bands[3];
        first = 0;
      }
      tnz = mb.nz & 15;
      lnz = leftMb.nz & 15;
      for (nonZeroY = 0, y = 0; y < 4; ++y) {
        l = lnz & 1;
        for (nzCoeffs = 0, x = 0; x < 4; ++x, nzCoeffs = nz_coeffs) {
          nz = _this._getCoeffs$6(tokenBr, acProba, l + (tnz & 1), q.y1Mat, first, dst);
          l = nz > first ? 1 : 0;
          tnz = tnz >>> 1 | l << 7;
          t1 = dst.buffer;
          t2 = dst.offset;
          t1 = t1[t2] !== 0 ? 1 : 0;
          if (nz > 3)
            t1 = 3;
          else if (nz > 1)
            t1 = 2;
          nz_coeffs = nzCoeffs << 2 | t1;
          dst.offset = t2 + 16;
        }
        tnz = tnz >>> 4;
        lnz = lnz >>> 1 | l << 7;
        nonZeroY = (nonZeroY << 8 | nzCoeffs) >>> 0;
      }
      outLeftNz = lnz >>> 4;
      for (outTopNz = tnz, nonZeroUV = 0, ch = 0; ch < 4; ch += 2) {
        t1 = 4 + ch;
        tnz = B.JSInt_methods._shrBothPositive$1(mb.nz, t1);
        lnz = B.JSInt_methods._shrBothPositive$1(leftMb.nz, t1);
        for (nzCoeffs = 0, y = 0; y < 2; ++y) {
          l = lnz & 1;
          for (x = 0; x < 2; ++x, nzCoeffs = nz_coeffs) {
            nz = _this._getCoeffs$6(tokenBr, bands[2], l + (tnz & 1), q.uvMat, 0, dst);
            l = nz > 0 ? 1 : 0;
            tnz = tnz >>> 1 | l << 3;
            t1 = dst.buffer;
            t2 = dst.offset;
            t1 = t1[t2] !== 0 ? 1 : 0;
            if (nz > 3)
              t1 = 3;
            else if (nz > 1)
              t1 = 2;
            nz_coeffs = (nzCoeffs << 2 | t1) >>> 0;
            dst.offset = t2 + 16;
          }
          tnz = tnz >>> 2;
          lnz = lnz >>> 1 | l << 5;
        }
        nonZeroUV = (nonZeroUV | B.JSInt_methods._shlPositive$1(nzCoeffs, 4 * ch)) >>> 0;
        outTopNz = (outTopNz | B.JSInt_methods._shlPositive$1(tnz << 4 >>> 0, ch)) >>> 0;
        outLeftNz = (outLeftNz | B.JSInt_methods._shlPositive$1(lnz & 240, ch)) >>> 0;
      }
      mb.nz = outTopNz;
      leftMb.nz = outLeftNz;
      block.nonZeroY = nonZeroY;
      block.__VP8MBData_nonZeroUV = nonZeroUV;
      if ((nonZeroUV & 43690) === 0)
        q.toString;
      return (nonZeroY | nonZeroUV) >>> 0 === 0;
    },
    _transformWHT$2(src, out) {
      var t1, t2, i, t3, t4, t5, a0, t6, t7, t8, t9, a1, a2, a3, oi, dc,
        tmp = new Int32Array(16);
      for (t1 = src.buffer, t2 = src.offset, i = 0; i < 4; ++i) {
        t3 = t1[t2 + i];
        t4 = 12 + i;
        t5 = t1[t2 + t4];
        a0 = t3 + t5;
        t6 = 4 + i;
        t7 = t1[t2 + t6];
        t8 = 8 + i;
        t9 = t1[t2 + t8];
        a1 = t7 + t9;
        a2 = t7 - t9;
        a3 = t3 - t5;
        tmp[i] = a0 + a1;
        tmp[t8] = a0 - a1;
        tmp[t6] = a3 + a2;
        tmp[t4] = a3 - a2;
      }
      for (t1 = out.buffer, t2 = out.offset, oi = 0, i = 0; i < 4; ++i) {
        t3 = i * 4;
        dc = tmp[t3] + 3;
        t4 = tmp[3 + t3];
        a0 = dc + t4;
        t5 = tmp[1 + t3];
        t3 = tmp[2 + t3];
        a1 = t5 + t3;
        a2 = t5 - t3;
        a3 = dc - t4;
        t1[t2 + oi] = B.JSInt_methods._shrOtherPositive$1(a0 + a1, 3);
        t1[t2 + (oi + 16)] = B.JSInt_methods._shrOtherPositive$1(a3 + a2, 3);
        t1[t2 + (oi + 32)] = B.JSInt_methods._shrOtherPositive$1(a0 - a1, 3);
        t1[t2 + (oi + 48)] = B.JSInt_methods._shrOtherPositive$1(a3 - a2, 3);
        oi += 64;
      }
    },
    _getLargeValue$2(br, p) {
      var v, bit1, cat, tab, len, i;
      if (br.getBit$1(p[3]) === 0)
        v = br.getBit$1(p[4]) === 0 ? 2 : 3 + br.getBit$1(p[5]);
      else if (br.getBit$1(p[6]) === 0)
        v = br.getBit$1(p[7]) === 0 ? 5 + br.getBit$1(159) : 7 + 2 * br.getBit$1(165) + br.getBit$1(145);
      else {
        bit1 = br.getBit$1(p[8]);
        cat = 2 * bit1 + br.getBit$1(p[9 + bit1]);
        tab = B.List_sao[cat];
        for (len = tab.length, v = 0, i = 0; i < len; ++i)
          v += v + br.getBit$1(tab[i]);
        v += 3 + B.JSInt_methods._shlPositive$1(8, cat);
      }
      return v;
    },
    _getCoeffs$6(br, prob, ctx, dq, n, out) {
      var n0, p_ctx, v, t1, t2, bit, shift, t3,
        p = prob[n].probas[ctx];
      for (; n < 16; n = n0) {
        if (br.getBit$1(p[0]) === 0)
          return n;
        for (; br.getBit$1(p[1]) === 0;) {
          ++n;
          p = prob[B.List_F1L[n]].probas[0];
          if (n === 16)
            return 16;
        }
        n0 = n + 1;
        p_ctx = prob[B.List_F1L[n0]].probas;
        if (br.getBit$1(p[2]) === 0) {
          p = p_ctx[1];
          v = 1;
        } else {
          v = this._getLargeValue$2(br, p);
          p = p_ctx[2];
        }
        t1 = B.List_cGl1[n];
        t2 = br.__VP8BitReader__range;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        bit = br._bitUpdate$1(B.JSInt_methods._shrOtherPositive$1(t2, 1));
        t2 = br.__VP8BitReader__range;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        shift = B.List_8co0[t2];
        br.__VP8BitReader__range = B.List_wmc[t2];
        t2 = br.__VP8BitReader__bits;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        br.__VP8BitReader__bits = t2 - shift;
        t2 = bit !== 0 ? -v : v;
        t3 = dq[n > 0 ? 1 : 0];
        out.buffer[out.offset + t1] = t2 * t3;
      }
      return 16;
    },
    _parseIntraMode$0() {
      var block, ymode, modes, mi, y, x, prob, i, mi0, _this = this,
        t1 = _this._mbX,
        ti = 4 * t1,
        $top = _this._intraT,
        left = _this._intraL,
        t2 = _this.__VP8__mbData;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      block = t2[t1];
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.getBit$1(145) === 0;
      block.__VP8MBData_isIntra4x4 = t1;
      if (!t1) {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1.getBit$1(156) !== 0) {
          t1 = _this.__VP8_br;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          ymode = t1.getBit$1(128) !== 0 ? 1 : 3;
        } else {
          t1 = _this.__VP8_br;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          ymode = t1.getBit$1(163) !== 0 ? 2 : 0;
        }
        block.imodes[0] = ymode;
        $top.toString;
        B.NativeUint8List_methods.fillRange$3($top, ti, ti + 4, ymode);
        B.NativeUint8List_methods.fillRange$3(left, 0, 4, ymode);
      } else {
        modes = block.imodes;
        for (mi = 0, y = 0; y < 4; ++y, mi = mi0) {
          ymode = left[y];
          for (x = 0; x < 4; ++x) {
            t1 = ti + x;
            prob = B.List_799[$top[t1]][ymode];
            t2 = _this.__VP8_br;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            i = B.List_Y3m[t2.getBit$1(prob[0])];
            for (; i > 0;) {
              t2 = _this.__VP8_br;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              i = B.List_Y3m[2 * i + t2.getBit$1(prob[i])];
            }
            ymode = -i;
            $top[t1] = ymode;
          }
          mi0 = mi + 4;
          $top.toString;
          B.NativeUint8List_methods.setRange$4(modes, mi, mi0, $top, ti);
          left[y] = ymode;
        }
      }
      t1 = _this.__VP8_br;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1.getBit$1(142) === 0)
        t1 = 0;
      else {
        t1 = _this.__VP8_br;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (t1.getBit$1(114) === 0)
          t1 = 2;
        else {
          t1 = _this.__VP8_br;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 = t1.getBit$1(183) !== 0 ? 1 : 3;
        }
      }
      block.uvmode = t1;
    }
  };
  A.VP8__upsample_LOAD_UV.prototype = {
    call$2(u, v) {
      return (u | v << 16) >>> 0;
    },
    $signature: 352
  };
  A.VP8BitReader.prototype = {
    getValue$1(bits) {
      var v, bits0;
      for (v = 0; bits0 = bits - 1, bits > 0; bits = bits0)
        v = (v | B.JSInt_methods.$shl(this.getBit$1(128), bits0)) >>> 0;
      return v;
    },
    getSignedValue$1(bits) {
      var value = this.getValue$1(bits);
      return this.getValue$1(1) === 1 ? -value : value;
    },
    getBit$1(prob) {
      var bit, _this = this,
        t1 = _this.__VP8BitReader__range;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      bit = _this._bitUpdate$1(B.JSInt_methods._shrOtherPositive$1(t1 * prob, 8));
      t1 = _this.__VP8BitReader__range;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 <= 126)
        _this._shift$0();
      return bit;
    },
    _bitUpdate$1(split) {
      var t2, t3, t4, bits, pos, _this = this,
        t1 = _this.__VP8BitReader__bits;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 < 0) {
        t2 = _this.input;
        t3 = t2.end;
        t4 = t2.offset;
        if (t3 - t4 >= 1) {
          bits = t2.readByte$0();
          t1 = _this.__VP8BitReader__value;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          _this.__VP8BitReader__value = (bits | t1 << 8) >>> 0;
          t1 = _this.__VP8BitReader__bits;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          t1 += 8;
          _this.__VP8BitReader__bits = t1;
          pos = t1;
        } else {
          if (t4 < t3) {
            t1 = t2.readByte$0();
            t2 = _this.__VP8BitReader__value;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            _this.__VP8BitReader__value = (t1 | t2 << 8) >>> 0;
            t2 = _this.__VP8BitReader__bits;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2 += 8;
            _this.__VP8BitReader__bits = t2;
            t1 = t2;
          } else if (!_this._eof) {
            t2 = _this.__VP8BitReader__value;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            _this.__VP8BitReader__value = t2 << 8 >>> 0;
            t1 += 8;
            _this.__VP8BitReader__bits = t1;
            _this._eof = true;
          }
          pos = t1;
        }
      } else
        pos = t1;
      t1 = _this.__VP8BitReader__value;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (B.JSInt_methods.$shr(t1, pos) > split) {
        t2 = _this.__VP8BitReader__range;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = split + 1;
        _this.__VP8BitReader__range = t2 - t3;
        _this.__VP8BitReader__value = t1 - B.JSInt_methods.$shl(t3, pos);
        return 1;
      } else {
        _this.__VP8BitReader__range = split;
        return 0;
      }
    },
    _shift$0() {
      var shift, _this = this,
        t1 = _this.__VP8BitReader__range;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      shift = B.List_8co0[t1];
      _this.__VP8BitReader__range = B.List_wmc[t1];
      t1 = _this.__VP8BitReader__bits;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      _this.__VP8BitReader__bits = t1 - shift;
    }
  };
  A.VP8Filter.prototype = {
    simpleVFilter16$3(p, stride, thresh) {
      var i,
        p2 = A.InputBuffer$from(p, null, 0);
      for (i = 0; i < 16; ++i) {
        p2.offset = p.offset + i;
        if (this._needsFilter$3(p2, stride, thresh))
          this._doFilter2$2(p2, stride);
      }
    },
    simpleHFilter16$3(p, stride, thresh) {
      var i,
        p2 = A.InputBuffer$from(p, null, 0);
      for (i = 0; i < 16; ++i) {
        p2.offset = p.offset + i * stride;
        if (this._needsFilter$3(p2, 1, thresh))
          this._doFilter2$2(p2, 1);
      }
    },
    simpleVFilter16i$3(p, stride, thresh) {
      var t1, k,
        p2 = A.InputBuffer$from(p, null, 0);
      for (t1 = 4 * stride, k = 3; k > 0; --k) {
        p2.offset += t1;
        this.simpleVFilter16$3(p2, stride, thresh);
      }
    },
    simpleHFilter16i$3(p, stride, thresh) {
      var k,
        p2 = A.InputBuffer$from(p, null, 0);
      for (k = 3; k > 0; --k) {
        p2.offset += 4;
        this.simpleHFilter16$3(p2, stride, thresh);
      }
    },
    vFilter16i$5(p, stride, thresh, ithresh, hev_thresh) {
      var t1, k,
        p2 = A.InputBuffer$from(p, null, 0);
      for (t1 = 4 * stride, k = 3; k > 0; --k) {
        p2.offset += t1;
        this._filterLoop24$7(p2, stride, 1, 16, thresh, ithresh, hev_thresh);
      }
    },
    hFilter16i$5(p, stride, thresh, ithresh, hev_thresh) {
      var k,
        p2 = A.InputBuffer$from(p, null, 0);
      for (k = 3; k > 0; --k) {
        p2.offset += 4;
        this._filterLoop24$7(p2, 1, stride, 16, thresh, ithresh, hev_thresh);
      }
    },
    _filterLoop26$7(p, hstride, vstride, size, thresh, ithresh, hev_thresh) {
      var t1, t2, t3, t4, size0, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18, a, a1, a2, a3,
        p2 = A.InputBuffer$from(p, null, 0);
      for (t1 = -3 * hstride, t2 = -2 * hstride, t3 = -hstride, t4 = 2 * hstride; size0 = size - 1, size > 0; size = size0) {
        if (this._needsFilter2$4(p2, hstride, thresh, ithresh))
          if (this._hev$3(p2, hstride, hev_thresh))
            this._doFilter2$2(p2, hstride);
          else {
            t5 = p2.buffer;
            t6 = p2.offset;
            t7 = t6 + t1;
            t8 = t5[t7];
            t9 = t6 + t2;
            t10 = t5[t9];
            t11 = t6 + t3;
            t12 = t5[t11];
            t13 = t5[t6];
            t14 = t6 + hstride;
            t15 = t5[t14];
            t16 = t6 + t4;
            t17 = t5[t16];
            t18 = $.$get$VP8Filter_sclip1();
            a = t18[1020 + 3 * (t13 - t12) + t18[1020 + t10 - t15]];
            t18 = B.JSInt_methods._shrOtherPositive$1(27 * a + 63, 7);
            a1 = (t18 & 2147483647) - ((t18 & 2147483648) >>> 0);
            t18 = B.JSInt_methods._shrOtherPositive$1(18 * a + 63, 7);
            a2 = (t18 & 2147483647) - ((t18 & 2147483648) >>> 0);
            t18 = B.JSInt_methods._shrOtherPositive$1(9 * a + 63, 7);
            a3 = (t18 & 2147483647) - ((t18 & 2147483648) >>> 0);
            t18 = $.$get$VP8Filter_clip1();
            t5[t7] = t18[255 + t8 + a3];
            t5[t9] = t18[255 + t10 + a2];
            t5[t11] = t18[255 + t12 + a1];
            t5[t6] = t18[255 + t13 - a1];
            t5[t14] = t18[255 + t15 - a2];
            t5[t16] = t18[255 + t17 - a3];
          }
        p2.offset += vstride;
      }
    },
    _filterLoop24$7(p, hstride, vstride, size, thresh, ithresh, hev_thresh) {
      var t1, t2, size0, t3, t4, t5, t6, t7, t8, t9, t10, t11, a, t12, t13, a1, a2, a3,
        p2 = A.InputBuffer$from(p, null, 0);
      for (t1 = -2 * hstride, t2 = -hstride; size0 = size - 1, size > 0; size = size0) {
        if (this._needsFilter2$4(p2, hstride, thresh, ithresh))
          if (this._hev$3(p2, hstride, hev_thresh))
            this._doFilter2$2(p2, hstride);
          else {
            t3 = p2.buffer;
            t4 = p2.offset;
            t5 = t4 + t1;
            t6 = t3[t5];
            t7 = t4 + t2;
            t8 = t3[t7];
            t9 = t3[t4];
            t10 = t4 + hstride;
            t11 = t3[t10];
            a = 3 * (t9 - t8);
            t12 = $.$get$VP8Filter_sclip2();
            t13 = B.JSInt_methods._shrOtherPositive$1(a + 4, 3);
            a1 = t12[112 + ((t13 & 2147483647) - ((t13 & 2147483648) >>> 0))];
            t13 = B.JSInt_methods._shrOtherPositive$1(a + 3, 3);
            a2 = t12[112 + ((t13 & 2147483647) - ((t13 & 2147483648) >>> 0))];
            t13 = B.JSInt_methods._shrOtherPositive$1(a1 + 1, 1);
            a3 = (t13 & 2147483647) - ((t13 & 2147483648) >>> 0);
            t13 = $.$get$VP8Filter_clip1();
            t3[t5] = t13[255 + t6 + a3];
            t3[t7] = t13[255 + t8 + a2];
            t3[t4] = t13[255 + t9 - a1];
            t3[t10] = t13[255 + t11 - a3];
          }
        p2.offset += vstride;
      }
    },
    _doFilter2$2(p, step) {
      var a, a1, a2,
        t1 = p.buffer,
        t2 = p.offset,
        t3 = t1[t2 + -2 * step],
        t4 = -step,
        t5 = t1[t2 + t4],
        t6 = t1[t2];
      t2 = t1[t2 + step];
      a = 3 * (t6 - t5) + $.$get$VP8Filter_sclip1()[1020 + t3 - t2];
      a1 = $.$get$VP8Filter_sclip2()[112 + B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(a + 4, 3), 32)];
      a2 = $.$get$VP8Filter_sclip2()[112 + B.JSInt_methods.toSigned$1(B.JSInt_methods._shrOtherPositive$1(a + 3, 3), 32)];
      p.$indexSet(0, t4, $.$get$VP8Filter_clip1()[255 + t5 + a2]);
      p.$indexSet(0, 0, $.$get$VP8Filter_clip1()[255 + t6 - a1]);
    },
    _hev$3(p, step, thresh) {
      var t1 = p.buffer,
        t2 = p.offset,
        t3 = t1[t2 + -2 * step],
        t4 = t1[t2 + -step],
        t5 = t1[t2];
      t2 = t1[t2 + step];
      t1 = $.$get$VP8Filter_abs0();
      return t1[255 + t3 - t4] > thresh || t1[255 + t2 - t5] > thresh;
    },
    _needsFilter$3(p, step, thresh) {
      var t1 = p.buffer,
        t2 = p.offset,
        t3 = t1[t2 + -2 * step],
        t4 = t1[t2 + -step],
        t5 = t1[t2];
      t2 = t1[t2 + step];
      return 2 * $.$get$VP8Filter_abs0()[255 + t4 - t5] + $.$get$VP8Filter_abs1()[255 + t3 - t2] <= thresh;
    },
    _needsFilter2$4(p, step, t, it) {
      var t10,
        t1 = p.buffer,
        t2 = p.offset,
        t3 = t1[t2 + -4 * step],
        t4 = t1[t2 + -3 * step],
        t5 = t1[t2 + -2 * step],
        t6 = t1[t2 + -step],
        t7 = t1[t2],
        t8 = t1[t2 + step],
        t9 = t1[t2 + 2 * step];
      t2 = t1[t2 + 3 * step];
      t1 = $.$get$VP8Filter_abs0();
      t10 = 255 + t5;
      if (2 * t1[255 + t6 - t7] + $.$get$VP8Filter_abs1()[t10 - t8] > t)
        return false;
      return t1[255 + t3 - t4] <= it && t1[255 + t4 - t5] <= it && t1[t10 - t6] <= it && t1[255 + t2 - t9] <= it && t1[255 + t9 - t8] <= it && t1[255 + t8 - t7] <= it;
    },
    transformOne$2(src, dst) {
      var t1, t2, si, tmp, i, t3, t4, a, b, t5, t6, c, d, tmp0, di, dc,
        $C = new Int32Array(16);
      for (t1 = src.buffer, t2 = src.offset, si = 0, tmp = 0, i = 0; i < 4; ++i) {
        t3 = t1[t2 + si];
        t4 = t1[t2 + (si + 8)];
        a = t3 + t4;
        b = t3 - t4;
        t4 = t1[t2 + (si + 4)];
        t3 = B.JSInt_methods._shrOtherPositive$1(t4 * 35468, 16);
        t5 = t1[t2 + (si + 12)];
        t6 = B.JSInt_methods._shrOtherPositive$1(t5 * 85627, 16);
        c = (t3 & 2147483647) - ((t3 & 2147483648) >>> 0) - ((t6 & 2147483647) - ((t6 & 2147483648) >>> 0));
        t4 = B.JSInt_methods._shrOtherPositive$1(t4 * 85627, 16);
        t5 = B.JSInt_methods._shrOtherPositive$1(t5 * 35468, 16);
        d = (t4 & 2147483647) - ((t4 & 2147483648) >>> 0) + ((t5 & 2147483647) - ((t5 & 2147483648) >>> 0));
        tmp0 = tmp + 1;
        $C[tmp] = a + d;
        tmp = tmp0 + 1;
        $C[tmp0] = b + c;
        tmp0 = tmp + 1;
        $C[tmp] = b - c;
        tmp = tmp0 + 1;
        $C[tmp0] = a - d;
        ++si;
      }
      for (di = 0, tmp = 0, i = 0; i < 4; ++i) {
        dc = $C[tmp] + 4;
        t1 = $C[tmp + 8];
        a = dc + t1;
        b = dc - t1;
        t1 = $C[tmp + 4];
        t2 = B.JSInt_methods._shrOtherPositive$1(t1 * 35468, 16);
        t3 = $C[tmp + 12];
        t4 = B.JSInt_methods._shrOtherPositive$1(t3 * 85627, 16);
        c = (t2 & 2147483647) - ((t2 & 2147483648) >>> 0) - ((t4 & 2147483647) - ((t4 & 2147483648) >>> 0));
        t1 = B.JSInt_methods._shrOtherPositive$1(t1 * 85627, 16);
        t3 = B.JSInt_methods._shrOtherPositive$1(t3 * 35468, 16);
        d = (t1 & 2147483647) - ((t1 & 2147483648) >>> 0) + ((t3 & 2147483647) - ((t3 & 2147483648) >>> 0));
        A.VP8Filter__store(dst, di, 0, 0, a + d);
        A.VP8Filter__store(dst, di, 1, 0, b + c);
        A.VP8Filter__store(dst, di, 2, 0, b - c);
        A.VP8Filter__store(dst, di, 3, 0, a - d);
        ++tmp;
        di += 32;
      }
    },
    transform$3(_, src, dst, doTwo) {
      this.transformOne$2(src, dst);
      if (doTwo)
        this.transformOne$2(A.InputBuffer$from(src, null, 16), A.InputBuffer$from(dst, null, 4));
    },
    transformDC$2(src, dst) {
      var j, i,
        DC = src.buffer[src.offset] + 4;
      for (j = 0; j < 4; ++j)
        for (i = 0; i < 4; ++i)
          A.VP8Filter__store(dst, 0, i, j, DC);
    },
    transformDCUV$2(src, dst) {
      var _this = this, _null = null;
      if (src.buffer[src.offset] !== 0)
        _this.transformDC$2(src, dst);
      if (src.buffer[src.offset + 16] !== 0)
        _this.transformDC$2(A.InputBuffer$from(src, _null, 16), A.InputBuffer$from(dst, _null, 4));
      if (src.buffer[src.offset + 32] !== 0)
        _this.transformDC$2(A.InputBuffer$from(src, _null, 32), A.InputBuffer$from(dst, _null, 128));
      if (src.buffer[src.offset + 48] !== 0)
        _this.transformDC$2(A.InputBuffer$from(src, _null, 48), A.InputBuffer$from(dst, _null, 132));
    }
  };
  A.VP8FrameHeader.prototype = {};
  A.VP8PictureHeader.prototype = {};
  A.VP8SegmentHeader.prototype = {};
  A.VP8BandProbas.prototype = {};
  A.VP8Proba.prototype = {};
  A.VP8FilterHeader.prototype = {};
  A.VP8FInfo.prototype = {};
  A.VP8MB.prototype = {};
  A.VP8QuantMatrix.prototype = {};
  A.VP8MBData.prototype = {};
  A.VP8TopSamples.prototype = {};
  A.VP8L.prototype = {
    decodeHeader$0() {
      var t2,
        t1 = this.br;
      if (t1.readBits$1(8) !== 47)
        return false;
      t2 = this.webp;
      t2.format = 2;
      t2.width = t1.readBits$1(14) + 1;
      t2.height = t1.readBits$1(14) + 1;
      t2.hasAlpha = t1.readBits$1(1) !== 0;
      if (t1.readBits$1(3) !== 0)
        return false;
      return true;
    },
    decode$0(_) {
      var t1, t2, t3, _this = this;
      _this._lastPixel = 0;
      if (!_this.decodeHeader$0())
        return null;
      t1 = _this.webp;
      _this._decodeImageStream$3(t1.width, t1.height, true);
      _this._allocateInternalBuffers32b$0();
      _this.image = A.Image$0(t1.width, t1.height, B.Channels_1);
      t2 = _this._vp8l$_pixels;
      t2.toString;
      t3 = t1.width;
      t1 = t1.height;
      if (!_this._decodeImageData$5(t2, t3, t1, t1, _this.get$_processRows()))
        return null;
      return _this.image;
    },
    _allocateInternalBuffers32b$0() {
      var pixels32, _this = this,
        t1 = _this.webp,
        t2 = t1.width;
      t1 = t2 * t1.height + t2;
      pixels32 = new Uint32Array(t1 + t2 * 16);
      _this._vp8l$_pixels = pixels32;
      _this.__VP8L__pixels8 = A.NativeUint8List_NativeUint8List$view(pixels32.buffer, 0, null);
      _this._argbCache = t1;
      return true;
    },
    _readTransform$1(transformSize) {
      var transform, numColors, bits, _this = this,
        t1 = _this.br,
        type = t1.readBits$1(2),
        t2 = _this._transformsSeen,
        t3 = B.JSInt_methods._shlPositive$1(1, type);
      if ((t2 & t3) >>> 0 !== 0)
        return false;
      _this._transformsSeen = (t2 | t3) >>> 0;
      transform = new A.VP8LTransform();
      _this._vp8l$_transforms.push(transform);
      transform.type = type;
      transform.xsize = transformSize[0];
      transform.ysize = transformSize[1];
      switch (type) {
        case 0:
        case 1:
          t1 = transform.bits = t1.readBits$1(3) + 2;
          transform.data = _this._decodeImageStream$3(A.VP8L__subSampleSize(transform.xsize, t1), A.VP8L__subSampleSize(transform.ysize, t1), false);
          break;
        case 3:
          numColors = t1.readBits$1(8) + 1;
          if (numColors > 16)
            bits = 0;
          else if (numColors > 4)
            bits = 1;
          else {
            t1 = numColors > 2 ? 2 : 3;
            bits = t1;
          }
          transformSize[0] = A.VP8L__subSampleSize(transform.xsize, bits);
          transform.bits = bits;
          transform.data = _this._decodeImageStream$3(numColors, 1, false);
          _this._expandColorMap$2(numColors, transform);
          break;
        case 2:
          break;
        default:
          throw A.wrapException(A.ImageException$("Invalid WebP transform type: " + type));
      }
      return true;
    },
    _decodeImageStream$3(xsize, ysize, isLevel0) {
      var t1, t2, transformYsize, transformXsize, sizes, colorCacheBits, numBits, data, _this = this;
      if (isLevel0) {
        for (t1 = _this.br, t2 = type$.JSArray_int, transformYsize = ysize, transformXsize = xsize; t1.readBits$1(1) !== 0;) {
          sizes = A._setArrayType([transformXsize, transformYsize], t2);
          if (!_this._readTransform$1(sizes))
            throw A.wrapException(A.ImageException$("Invalid Transform"));
          transformXsize = sizes[0];
          transformYsize = sizes[1];
        }
        isLevel0 = true;
      } else {
        transformYsize = ysize;
        transformXsize = xsize;
      }
      t1 = _this.br;
      if (t1.readBits$1(1) !== 0) {
        colorCacheBits = t1.readBits$1(4);
        if (!(colorCacheBits >= 1 && colorCacheBits <= 11))
          throw A.wrapException(A.ImageException$("Invalid Color Cache"));
      } else
        colorCacheBits = 0;
      if (!_this._readHuffmanCodes$4(transformXsize, transformYsize, colorCacheBits, isLevel0))
        throw A.wrapException(A.ImageException$("Invalid Huffman Codes"));
      if (colorCacheBits > 0) {
        t1 = B.JSInt_methods._shlPositive$1(1, colorCacheBits);
        _this._colorCacheSize = t1;
        _this._colorCache = new A.VP8LColorCache(new Uint32Array(t1), 32 - colorCacheBits);
      } else
        _this._colorCacheSize = 0;
      t1 = _this.webp;
      t1.width = transformXsize;
      t1.height = transformYsize;
      numBits = _this._huffmanSubsampleBits;
      _this._huffmanXsize = A.VP8L__subSampleSize(transformXsize, numBits);
      _this._huffmanMask = numBits === 0 ? 4294967295 : B.JSInt_methods._shlPositive$1(1, numBits) - 1;
      if (isLevel0) {
        _this._lastPixel = 0;
        return null;
      }
      data = new Uint32Array(transformXsize * transformYsize);
      if (!_this._decodeImageData$5(data, transformXsize, transformYsize, transformYsize, null))
        throw A.wrapException(A.ImageException$("Failed to decode image data."));
      _this._lastPixel = 0;
      return data;
    },
    _decodeImageData$5(data, width, height, lastRow, processFunc) {
      var colorCacheLimit, colorCache, mask, t2, lastCached, t3, t4, metaIndex, code, red, blue, t5, $length, distSymbol, dist, dst, i, key, _this = this,
        t1 = _this._lastPixel,
        row = B.JSInt_methods.$tdiv(t1, width),
        col = B.JSInt_methods.$mod(t1, width),
        htreeGroup = _this._getHtreeGroupForPos$2(col, row),
        src = _this._lastPixel,
        srcEnd = width * height,
        srcLast = width * lastRow;
      t1 = _this._colorCacheSize;
      colorCacheLimit = 280 + t1;
      colorCache = t1 > 0 ? _this._colorCache : null;
      mask = _this._huffmanMask;
      t1 = _this.br;
      t2 = processFunc != null;
      lastCached = src;
      while (true) {
        t3 = t1._vp8l_bit_reader$_input;
        t4 = t3.end;
        if (!(!(t3.offset >= t4 && t1.bitPos >= 64) && src < srcLast))
          break;
        if ((col & mask) >>> 0 === 0) {
          metaIndex = _this._getMetaIndex$5(_this._huffmanImage, _this._huffmanXsize, _this._huffmanSubsampleBits, col, row);
          htreeGroup = _this._htreeGroups[metaIndex];
        }
        if (t1.bitPos >= 32)
          t1._shiftBytes$0();
        t3 = htreeGroup.htrees;
        code = t3[0].readSymbol$1(t1);
        if (code < 256) {
          red = t3[1].readSymbol$1(t1);
          if (t1.bitPos >= 32)
            t1._shiftBytes$0();
          blue = t3[2].readSymbol$1(t1);
          data[src] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(t3[3].readSymbol$1(t1), 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(red, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(code, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(blue, 0, 255))) >>> 0;
          ++src;
          ++col;
          if (col >= width) {
            ++row;
            if (B.JSInt_methods.$mod(row, 16) === 0 && t2)
              processFunc.call$1(row);
            if (colorCache != null)
              for (t3 = colorCache.hashShift, t4 = colorCache.colors; lastCached < src;) {
                t5 = data[lastCached];
                t4[B.JSInt_methods._shrReceiverPositive$1(t5 * 506832829 >>> 0, t3)] = t5;
                ++lastCached;
              }
            col = 0;
          }
        } else if (code < 280) {
          $length = _this._getCopyDistance$1(code - 256);
          distSymbol = t3[4].readSymbol$1(t1);
          if (t1.bitPos >= 32)
            t1._shiftBytes$0();
          dist = _this._planeCodeToDistance$2(width, _this._getCopyDistance$1(distSymbol));
          if (src < dist || srcEnd - src < $length)
            return false;
          else {
            dst = src - dist;
            for (i = 0; i < $length; ++i)
              data[src + i] = data[dst + i];
            src += $length;
          }
          col += $length;
          for (; col >= width;) {
            col -= width;
            ++row;
            if (B.JSInt_methods.$mod(row, 16) === 0 && t2)
              processFunc.call$1(row);
          }
          if (src < srcLast) {
            if ((col & mask) >>> 0 !== 0) {
              metaIndex = _this._getMetaIndex$5(_this._huffmanImage, _this._huffmanXsize, _this._huffmanSubsampleBits, col, row);
              htreeGroup = _this._htreeGroups[metaIndex];
            }
            if (colorCache != null)
              for (t3 = colorCache.hashShift, t4 = colorCache.colors; lastCached < src;) {
                t5 = data[lastCached];
                t4[B.JSInt_methods._shrReceiverPositive$1(t5 * 506832829 >>> 0, t3)] = t5;
                ++lastCached;
              }
          }
        } else if (code < colorCacheLimit) {
          for (; lastCached < src;) {
            t3 = data[lastCached];
            key = B.JSInt_methods._shrReceiverPositive$1(t3 * 506832829 >>> 0, colorCache.hashShift);
            colorCache.colors[key] = t3;
            ++lastCached;
          }
          t3 = colorCache.colors;
          data[src] = t3[code - 280];
          ++src;
          ++col;
          if (col >= width) {
            ++row;
            if (B.JSInt_methods.$mod(row, 16) === 0 && t2)
              processFunc.call$1(row);
            for (t4 = colorCache.hashShift; lastCached < src;) {
              t5 = data[lastCached];
              t3[B.JSInt_methods._shrReceiverPositive$1(t5 * 506832829 >>> 0, t4)] = t5;
              ++lastCached;
            }
            col = 0;
          }
        } else
          return false;
      }
      if (t2)
        processFunc.call$1(row);
      if (t3.offset >= t4 && t1.bitPos >= 64 && src < srcEnd)
        return false;
      _this._lastPixel = src;
      return true;
    },
    _is8bOptimizable$0() {
      var t1, t2, i, htrees;
      if (this._colorCacheSize > 0)
        return false;
      for (t1 = this._numHtreeGroups, t2 = this._htreeGroups, i = 0; i < t1; ++i) {
        htrees = t2[i].htrees;
        if (htrees[1].numNodes > 1)
          return false;
        if (htrees[2].numNodes > 1)
          return false;
        if (htrees[3].numNodes > 1)
          return false;
      }
      return true;
    },
    _extractAlphaRows$1(row) {
      var t2, width, cachePixs, di, src, t3, i, _this = this,
        t1 = _this._lastRow,
        numRows = row - t1;
      if (numRows <= 0)
        return;
      t2 = _this.webp;
      _this._applyInverseTransforms$2(numRows, t2.width * t1);
      width = t2.width;
      cachePixs = width * numRows;
      di = width * _this._lastRow;
      t2 = _this._vp8l$_pixels;
      t2.toString;
      t1 = _this._argbCache;
      t1.toString;
      src = A.InputBuffer$(t2, false, null, t1);
      for (t1 = _this._vp8l$_opaque, t2 = src.buffer, t3 = src.offset, i = 0; i < cachePixs; ++i) {
        t1.toString;
        t1[di + i] = B.JSInt_methods._shrOtherPositive$1(t2[t3 + i], 8) & 255;
      }
      _this._lastRow = row;
    },
    _decodeAlphaData$3(width, height, lastRow) {
      var t2, metaIndex, code, $length, distSymbol, dist, i, t3, _this = this,
        t1 = _this._lastPixel,
        row = B.JSInt_methods.$tdiv(t1, width),
        col = B.JSInt_methods.$mod(t1, width),
        htreeGroup = _this._getHtreeGroupForPos$2(col, row),
        pos = _this._lastPixel,
        end = width * height,
        last = width * lastRow,
        mask = _this._huffmanMask;
      t1 = _this.br;
      while (true) {
        t2 = t1._vp8l_bit_reader$_input;
        if (!(!(t2.offset >= t2.end && t1.bitPos >= 64) && pos < last))
          break;
        if ((col & mask) >>> 0 === 0) {
          metaIndex = _this._getMetaIndex$5(_this._huffmanImage, _this._huffmanXsize, _this._huffmanSubsampleBits, col, row);
          htreeGroup = _this._htreeGroups[metaIndex];
        }
        if (t1.bitPos >= 32)
          t1._shiftBytes$0();
        t2 = htreeGroup.htrees;
        code = t2[0].readSymbol$1(t1);
        if (code < 256) {
          t2 = _this.__VP8L__pixels8;
          if (t2 === $)
            A.throwUnnamedLateFieldNI();
          t2[pos] = code;
          ++pos;
          ++col;
          if (col >= width) {
            ++row;
            if (B.JSInt_methods.$mod(row, 16) === 0)
              _this._extractPalettedAlphaRows$1(row);
            col = 0;
          }
        } else if (code < 280) {
          $length = _this._getCopyDistance$1(code - 256);
          distSymbol = t2[4].readSymbol$1(t1);
          if (t1.bitPos >= 32)
            t1._shiftBytes$0();
          dist = _this._planeCodeToDistance$2(width, _this._getCopyDistance$1(distSymbol));
          if (pos >= dist && end - pos >= $length)
            for (t2 = _this.__VP8L__pixels8, i = 0; i < $length; ++i) {
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              t3 = pos + i;
              t2[t3] = t2[t3 - dist];
            }
          else {
            _this._lastPixel = pos;
            return true;
          }
          pos += $length;
          col += $length;
          for (; col >= width;) {
            col -= width;
            ++row;
            if (B.JSInt_methods.$mod(row, 16) === 0)
              _this._extractPalettedAlphaRows$1(row);
          }
          if (pos < last && (col & mask) >>> 0 !== 0) {
            metaIndex = _this._getMetaIndex$5(_this._huffmanImage, _this._huffmanXsize, _this._huffmanSubsampleBits, col, row);
            htreeGroup = _this._htreeGroups[metaIndex];
          }
        } else
          return false;
      }
      _this._extractPalettedAlphaRows$1(row);
      _this._lastPixel = pos;
      return true;
    },
    _extractPalettedAlphaRows$1(row) {
      var pIn, startRow, rowsOut, _this = this,
        t1 = _this._lastRow,
        numRows = row - t1,
        t2 = _this.__VP8L__pixels8;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      pIn = A.InputBuffer$(t2, false, null, _this.webp.width * t1);
      if (numRows > 0) {
        startRow = _this._lastRow;
        t1 = _this._vp8l$_opaque;
        t1.toString;
        t2 = _this._ioWidth;
        t2.toString;
        rowsOut = A.InputBuffer$(t1, false, null, t2 * startRow);
        _this._vp8l$_transforms[0].colorIndexInverseTransformAlpha$4(startRow, startRow + numRows, pIn, rowsOut);
      }
      _this._lastRow = row;
    },
    _processRows$1(row) {
      var dy, pi, y, x, c, _this = this,
        t1 = _this.webp,
        t2 = t1.width,
        t3 = _this._lastRow,
        numRows = row - t3;
      if (numRows <= 0)
        return;
      _this._applyInverseTransforms$2(numRows, t2 * t3);
      t2 = _this._argbCache;
      t2.toString;
      dy = _this._lastRow;
      pi = t2;
      y = 0;
      for (; y < numRows; ++y, ++dy)
        for (x = 0; x < t1.width; ++x, ++pi) {
          c = _this._vp8l$_pixels[pi];
          t2 = _this.image;
          t2.toString;
          t2.data[dy * t2.width + x] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c >>> 24 & 255, 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c & 255, 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c >>> 8 & 255, 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c >>> 16 & 255, 0, 255))) >>> 0;
        }
      _this._lastRow = row;
    },
    _applyInverseTransforms$2(numRows, rows) {
      var t4, rowsIn, n0, transform, t5, width, start, t6, inStride, src, _this = this,
        t1 = _this._vp8l$_transforms,
        n = t1.length,
        t2 = _this.webp.width,
        startRow = _this._lastRow,
        endRow = startRow + numRows,
        t3 = _this._argbCache;
      t3.toString;
      t4 = _this._vp8l$_pixels;
      t4.toString;
      B.NativeUint32List_methods.setRange$4(t4, t3, t3 + t2 * numRows, t4, rows);
      for (t2 = endRow - startRow, t4 = t2 - 1, rowsIn = rows; n0 = n - 1, n > 0; rowsIn = t3, n = n0) {
        transform = t1[n0];
        t5 = _this._vp8l$_pixels;
        t5.toString;
        width = transform.xsize;
        switch (transform.type) {
          case 2:
            transform.addGreenToBlueAndRed$3(t5, t3, t3 + t2 * width);
            break;
          case 0:
            transform.predictorInverseTransform$4(startRow, endRow, t5, t3);
            if (endRow !== transform.ysize) {
              start = t3 - width;
              B.NativeUint32List_methods.setRange$4(t5, start, start + width, t5, t3 + t4 * width);
            }
            break;
          case 1:
            transform.colorSpaceInverseTransform$4(startRow, endRow, t5, t3);
            break;
          case 3:
            if (rowsIn === t3 && transform.bits > 0) {
              t6 = transform.bits;
              inStride = t2 * B.JSInt_methods._shrOtherPositive$1(width + B.JSInt_methods._shlPositive$1(1, t6) - 1, t6);
              src = t3 + t2 * width - inStride;
              B.NativeUint32List_methods.setRange$4(t5, src, src + inStride, t5, t3);
              transform.colorIndexInverseTransform$6(startRow, endRow, t5, src, t5, t3);
            } else
              transform.colorIndexInverseTransform$6(startRow, endRow, t5, rowsIn, t5, t3);
            break;
        }
      }
    },
    _readHuffmanCodes$4(xsize, ysize, colorCacheBits, allowRecursion) {
      var huffmanPrecision, huffmanXsize, huffmanYsize, huffmanPixs, huffmanImage, numHtreeGroups, i, group, htreeGroups, _i, t1, j, alphabetSize, _this = this;
      if (allowRecursion && _this.br.readBits$1(1) !== 0) {
        huffmanPrecision = _this.br.readBits$1(3) + 2;
        huffmanXsize = A.VP8L__subSampleSize(xsize, huffmanPrecision);
        huffmanYsize = A.VP8L__subSampleSize(ysize, huffmanPrecision);
        huffmanPixs = huffmanXsize * huffmanYsize;
        huffmanImage = _this._decodeImageStream$3(huffmanXsize, huffmanYsize, false);
        _this._huffmanSubsampleBits = huffmanPrecision;
        for (numHtreeGroups = 1, i = 0; i < huffmanPixs; ++i) {
          group = huffmanImage[i] >>> 8 & 65535;
          huffmanImage[i] = group;
          if (group >= numHtreeGroups)
            numHtreeGroups = group + 1;
        }
      } else {
        huffmanImage = null;
        numHtreeGroups = 1;
      }
      htreeGroups = J.JSArray_JSArray$allocateFixed(numHtreeGroups, type$.HTreeGroup);
      for (_i = 0; _i < numHtreeGroups; ++_i)
        htreeGroups[_i] = A.HTreeGroup$();
      for (t1 = colorCacheBits > 0, i = 0; i < numHtreeGroups; ++i)
        for (j = 0; j < 5; ++j) {
          alphabetSize = B.List_yTu[j];
          if (j === 0 && t1)
            alphabetSize += B.JSInt_methods._shlPositive$1(1, colorCacheBits);
          if (!_this._readHuffmanCode$2(alphabetSize, htreeGroups[i].htrees[j]))
            return false;
        }
      _this._huffmanImage = huffmanImage;
      _this._numHtreeGroups = numHtreeGroups;
      _this._htreeGroups = htreeGroups;
      return true;
    },
    _readHuffmanCode$2(alphabetSize, tree) {
      var t2, symbols, codes, codeLengths, numSymbols, ok, codeLengthCodeLengths, numCodes, i,
        t1 = this.br;
      if (t1.readBits$1(1) !== 0) {
        t2 = type$.JSArray_int;
        symbols = A._setArrayType([0, 0], t2);
        codes = A._setArrayType([0, 0], t2);
        codeLengths = A._setArrayType([0, 0], t2);
        numSymbols = t1.readBits$1(1) + 1;
        symbols[0] = t1.readBits$1(t1.readBits$1(1) === 0 ? 1 : 8);
        codes[0] = 0;
        t2 = numSymbols - 1;
        codeLengths[0] = t2;
        if (numSymbols === 2) {
          symbols[1] = t1.readBits$1(8);
          codes[1] = 1;
          codeLengths[1] = t2;
        }
        ok = tree.buildExplicit$5(codeLengths, codes, symbols, alphabetSize, numSymbols);
      } else {
        codeLengthCodeLengths = new Int32Array(19);
        numCodes = t1.readBits$1(4) + 4;
        if (numCodes > 19)
          return false;
        codeLengths = new Int32Array(alphabetSize);
        for (i = 0; i < numCodes; ++i)
          codeLengthCodeLengths[B.List_uSC0[i]] = t1.readBits$1(3);
        ok = this._readHuffmanCodeLengths$3(codeLengthCodeLengths, alphabetSize, codeLengths);
        if (ok)
          ok = tree.buildImplicit$2(codeLengths, alphabetSize);
      }
      return ok;
    },
    _readHuffmanCodeLengths$3(codeLengthCodeLengths, numSymbols, codeLengths) {
      var t1, max_symbol, symbol, prev_code_len, max_symbol0, code_len, symbol0, slot, extra_bits, repeat_offset, repeat, $length, repeat0,
        tree = A.HuffmanTree$();
      if (!tree.buildImplicit$2(codeLengthCodeLengths, 19))
        return false;
      t1 = this.br;
      if (t1.readBits$1(1) !== 0) {
        max_symbol = 2 + t1.readBits$1(2 + 2 * t1.readBits$1(3));
        if (max_symbol > numSymbols)
          return false;
      } else
        max_symbol = numSymbols;
      for (symbol = 0, prev_code_len = 8; symbol < numSymbols; max_symbol = max_symbol0) {
        max_symbol0 = max_symbol - 1;
        if (max_symbol === 0)
          break;
        if (t1.bitPos >= 32)
          t1._shiftBytes$0();
        code_len = tree.readSymbol$1(t1);
        if (code_len < 16) {
          symbol0 = symbol + 1;
          codeLengths[symbol] = code_len;
          if (code_len !== 0)
            prev_code_len = code_len;
          symbol = symbol0;
        } else {
          slot = code_len - 16;
          extra_bits = B.List_2_3_7[slot];
          repeat_offset = B.List_3_3_11[slot];
          repeat = t1.readBits$1(extra_bits) + repeat_offset;
          if (symbol + repeat > numSymbols)
            return false;
          else {
            $length = code_len === 16 ? prev_code_len : 0;
            for (; repeat0 = repeat - 1, repeat > 0; repeat = repeat0, symbol = symbol0) {
              symbol0 = symbol + 1;
              codeLengths[symbol] = $length;
            }
          }
        }
      }
      return true;
    },
    _getCopyDistance$1(distanceSymbol) {
      var extraBits;
      if (distanceSymbol < 4)
        return distanceSymbol + 1;
      extraBits = B.JSInt_methods._shrOtherPositive$1(distanceSymbol - 2, 1);
      return B.JSInt_methods._shlPositive$1(2 + (distanceSymbol & 1), extraBits) + this.br.readBits$1(extraBits) + 1;
    },
    _planeCodeToDistance$2(xsize, planeCode) {
      var distCode, dist;
      if (planeCode > 120)
        return planeCode - 120;
      else {
        distCode = B.List_AYZ[planeCode - 1];
        dist = (distCode >>> 4) * xsize + (8 - (distCode & 15));
        return dist >= 1 ? dist : 1;
      }
    },
    _expandColorMap$2(numColors, transform) {
      var len, i,
        finalNumColors = B.JSInt_methods._shlPositive$1(1, B.JSInt_methods._shrBothPositive$1(8, transform.bits)),
        newColorMap = new Uint32Array(finalNumColors),
        data = A.NativeUint8List_NativeUint8List$view(transform.data.buffer, 0, null),
        newData = A.NativeUint8List_NativeUint8List$view(newColorMap.buffer, 0, null);
      newColorMap[0] = transform.data[0];
      len = 4 * numColors;
      for (i = 4; i < len; ++i)
        newData[i] = data[i] + newData[i - 4] & 255;
      for (len = 4 * finalNumColors; i < len; ++i)
        newData[i] = 0;
      transform.data = newColorMap;
      return true;
    },
    _getMetaIndex$5(image, xsize, bits, x, y) {
      if (bits === 0)
        return 0;
      image.toString;
      return image[xsize * B.JSInt_methods._shrOtherPositive$1(y, bits) + B.JSInt_methods._shrOtherPositive$1(x, bits)];
    },
    _getHtreeGroupForPos$2(x, y) {
      var _this = this,
        metaIndex = _this._getMetaIndex$5(_this._huffmanImage, _this._huffmanXsize, _this._huffmanSubsampleBits, x, y);
      return _this._htreeGroups[metaIndex];
    }
  };
  A.InternalVP8L.prototype = {
    extractAlphaRows$1(row) {
      return this._extractAlphaRows$1(row);
    }
  };
  A.VP8LBitReader.prototype = {
    prefetchBits$0() {
      var t2, b2,
        t1 = this.bitPos;
      if (t1 < 32) {
        t2 = this._vp8l_bit_reader$_buffer;
        b2 = B.JSInt_methods._shrReceiverPositive$1(t2[0], t1) + ((t2[1] & B.List_DKo[t1]) >>> 0) * (B.List_DKo[32 - t1] + 1);
      } else {
        t2 = this._vp8l_bit_reader$_buffer;
        b2 = t1 === 32 ? t2[1] : B.JSInt_methods._shrReceiverPositive$1(t2[1], t1 - 32);
      }
      return b2;
    },
    readBits$1(numBits) {
      var t2, _this = this,
        t1 = _this._vp8l_bit_reader$_input;
      if (!(t1.offset >= t1.end && _this.bitPos >= 64) && numBits < 25) {
        t1 = _this.prefetchBits$0();
        t2 = B.List_DKo[numBits];
        _this.bitPos += numBits;
        _this._shiftBytes$0();
        return (t1 & t2) >>> 0;
      } else
        throw A.wrapException(A.ImageException$("Not enough data in input."));
    },
    _shiftBytes$0() {
      var t4, t5, t6, t7, _this = this,
        t1 = _this._vp8l_bit_reader$_input,
        t2 = _this._vp8l_bit_reader$_buffer,
        t3 = t1.end;
      while (true) {
        t4 = _this.bitPos;
        if (!(t4 >= 8 && t1.offset < t3))
          break;
        t5 = t1.buffer[t1.offset++];
        t6 = t2[0];
        t7 = t2[1];
        t2[0] = (t6 >>> 8) + (t7 & 255) * 16777216;
        t2[1] = t7 >>> 8;
        t2[1] = (t2[1] | t5 * 16777216) >>> 0;
        _this.bitPos = t4 - 8;
      }
    }
  };
  A.VP8LColorCache.prototype = {};
  A.VP8LTransform.prototype = {
    colorIndexInverseTransformAlpha$4(yStart, yEnd, src, dst) {
      var countMask, bit_mask, y, packed_pixels, x, t2, t3,
        t1 = this.bits,
        bitsPerPixel = B.JSInt_methods._shrBothPositive$1(8, t1),
        width = this.xsize,
        colorMap = this.data;
      if (bitsPerPixel < 8) {
        countMask = B.JSInt_methods._shlPositive$1(1, t1) - 1;
        bit_mask = B.JSInt_methods._shlPositive$1(1, bitsPerPixel) - 1;
        for (y = yStart; y < yEnd; ++y)
          for (packed_pixels = 0, x = 0; x < width; ++x) {
            if ((x & countMask) >>> 0 === 0) {
              t1 = src.buffer;
              t2 = src.offset;
              packed_pixels = t1[t2];
              src.offset = t2 + 1;
            }
            t1 = colorMap[(packed_pixels & bit_mask) >>> 0];
            t2 = dst.buffer;
            t3 = dst.offset;
            t2[t3] = t1 >>> 8 & 255;
            dst.offset = t3 + 1;
            packed_pixels = B.JSInt_methods._shrOtherPositive$1(packed_pixels, bitsPerPixel);
          }
      } else
        for (y = yStart; y < yEnd; ++y)
          for (x = 0; x < width; ++x) {
            t1 = src.buffer;
            t2 = src.offset;
            t1 = t1[t2];
            src.offset = t2 + 1;
            t1 = colorMap[t1];
            t2 = dst.buffer;
            t3 = dst.offset;
            t2[t3] = t1 >>> 8 & 255;
            dst.offset = t3 + 1;
          }
    },
    colorIndexInverseTransform$6(yStart, yEnd, inData, src, outData, dst) {
      var countMask, bit_mask, y, packed_pixels, x, src0, dst0,
        t1 = this.bits,
        bitsPerPixel = B.JSInt_methods._shrBothPositive$1(8, t1),
        width = this.xsize,
        colorMap = this.data;
      if (bitsPerPixel < 8) {
        countMask = B.JSInt_methods._shlPositive$1(1, t1) - 1;
        bit_mask = B.JSInt_methods._shlPositive$1(1, bitsPerPixel) - 1;
        for (y = yStart; y < yEnd; ++y)
          for (packed_pixels = 0, x = 0; x < width; ++x, dst = dst0) {
            if ((x & countMask) >>> 0 === 0) {
              src0 = src + 1;
              packed_pixels = inData[src] >>> 8 & 255;
              src = src0;
            }
            dst0 = dst + 1;
            outData[dst] = colorMap[packed_pixels & bit_mask];
            packed_pixels = B.JSInt_methods._shrBothPositive$1(packed_pixels, bitsPerPixel);
          }
      } else
        for (y = yStart; y < yEnd; ++y)
          for (x = 0; x < width; ++x, dst = dst0, src = src0) {
            dst0 = dst + 1;
            src0 = src + 1;
            outData[dst] = colorMap[inData[src] >>> 8 & 255];
          }
    },
    colorSpaceInverseTransform$4(yStart, yEnd, outData, data) {
      var y, pred, x, pred0, t2, t3, green, t4, t5, a, b, t6, t7, newRed, d, d0,
        width = this.xsize,
        t1 = this.bits,
        mask = B.JSInt_methods._shlPositive$1(1, t1) - 1,
        tilesPerRow = A.VP8L__subSampleSize(width, t1),
        predRow = B.JSInt_methods._shrOtherPositive$1(yStart, t1) * tilesPerRow;
      for (y = yStart; y < yEnd;) {
        t1 = new Uint8Array(3);
        for (pred = predRow, x = 0; x < width; ++x) {
          if ((x & mask) >>> 0 === 0) {
            pred0 = pred + 1;
            t2 = this.data[pred];
            t1[0] = t2 & 255;
            t1[1] = t2 >>> 8 & 255;
            t1[2] = t2 >>> 16 & 255;
            pred = pred0;
          }
          t2 = data + x;
          t3 = outData[t2];
          green = t3 >>> 8 & 255;
          t4 = t1[0];
          t5 = $.$get$__uint8();
          t5[0] = t4;
          t4 = $.$get$__uint8ToInt8();
          a = t4[0];
          t5[0] = green;
          b = t4[0];
          t6 = $.$get$__int32();
          t6[0] = a * b;
          t7 = $.$get$__int32ToUint32();
          newRed = (t3 >>> 16 & 255) + (t7[0] >>> 5) >>> 0 & 255;
          t5[0] = t1[1];
          a = t4[0];
          t5[0] = green;
          t6[0] = a * t4[0];
          d = t7[0];
          t5[0] = t1[2];
          a = t4[0];
          t5[0] = newRed;
          t6[0] = a * t4[0];
          d0 = t7[0];
          outData[t2] = (t3 & 4278255360 | newRed << 16 | ((t3 & 255) + (d >>> 5) >>> 0) + (d0 >>> 5) >>> 0 & 255) >>> 0;
        }
        data += width;
        ++y;
        if ((y & mask) >>> 0 === 0)
          predRow += tilesPerRow;
      }
    },
    predictorInverseTransform$4(yStart, yEnd, outData, data) {
      var x, t1, mask, tilesPerRow, predModeBase, y, predModeSrc, predFunc, predModeSrc0, _this = this,
        width = _this.xsize;
      if (yStart === 0) {
        A.VP8LTransform__addPixelsEq(outData, data, 4278190080);
        for (x = 1; x < width; ++x) {
          t1 = data + x;
          A.VP8LTransform__addPixelsEq(outData, t1, outData[t1 - 1]);
        }
        data += width;
        ++yStart;
      }
      t1 = _this.bits;
      mask = B.JSInt_methods._shlPositive$1(1, t1) - 1;
      tilesPerRow = A.VP8L__subSampleSize(width, t1);
      predModeBase = B.JSInt_methods._shrOtherPositive$1(yStart, t1) * tilesPerRow;
      for (y = yStart; y < yEnd;) {
        A.VP8LTransform__addPixelsEq(outData, data, outData[data - width]);
        predModeSrc = predModeBase + 1;
        predFunc = $.VP8LTransform_PREDICTORS[_this.data[predModeBase] >>> 8 & 15];
        for (x = 1; x < width; ++x) {
          if ((x & mask) >>> 0 === 0) {
            predModeSrc0 = predModeSrc + 1;
            predFunc = $.VP8LTransform_PREDICTORS[_this.data[predModeSrc] >>> 8 & 15];
            predModeSrc = predModeSrc0;
          }
          t1 = data + x;
          A.VP8LTransform__addPixelsEq(outData, t1, predFunc.call$3(outData, outData[t1 - 1], t1 - width));
        }
        data += width;
        ++y;
        if ((y & mask) >>> 0 === 0)
          predModeBase += tilesPerRow;
      }
    },
    addGreenToBlueAndRed$3(pixels, data, dataEnd) {
      var argb, green, data0;
      for (; data < dataEnd; data = data0) {
        argb = pixels[data];
        green = argb >>> 8 & 255;
        data0 = data + 1;
        pixels[data] = (argb & 4278255360 | (argb & 16711935) + (green << 16 | green) & 16711935) >>> 0;
      }
    }
  };
  A.WebPAlpha.prototype = {
    get$isValid() {
      var _this = this,
        t1 = _this.method;
      t1 = t1 > 1 || _this.filter >= 4 || _this.preProcessing > 1 || _this.rsrv !== 0;
      if (t1)
        return false;
      return true;
    },
    decode$3(_, row, numRows, output) {
      var unfilterFunc, t1, offset, t2, t3, t4, _this = this;
      if (!_this.get$isValid())
        return false;
      unfilterFunc = B.List_HHa[_this.filter];
      if (_this.method === 0) {
        t1 = _this.width;
        offset = row * t1;
        t2 = _this.input;
        B.NativeUint8List_methods.setRange$4(output, offset, numRows * t1, t2.buffer, t2.offset - t2.start + offset);
      } else {
        t1 = row + numRows;
        t2 = _this.__WebPAlpha__vp8l;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t2._vp8l$_opaque = output;
        t3 = t2.webp;
        if (_this._use8bDecode)
          t1 = t2._decodeAlphaData$3(t3.width, t3.height, t1);
        else {
          t4 = t2._vp8l$_pixels;
          t4.toString;
          t2 = t2._decodeImageData$5(t4, t3.width, t3.height, t1, t2.get$extractAlphaRows());
          t1 = t2;
        }
        if (!t1)
          return false;
      }
      if (unfilterFunc != null) {
        t1 = _this.width;
        unfilterFunc.call$6(t1, _this.height, t1, row, numRows, output);
      }
      if (_this.preProcessing === 1)
        if (!_this._dequantizeLevels$5(output, _this.width, _this.height, row, numRows))
          return false;
      if (row + numRows === _this.height)
        _this.isAlphaDecoded = true;
      return true;
    },
    _dequantizeLevels$5(data, width, height, row, num_rows) {
      if (width <= 0 || height <= 0 || row < 0 || num_rows < 0 || row + num_rows > height)
        return false;
      return true;
    }
  };
  A.WebPFrame.prototype = {
    WebPFrame$2(input, size) {
      input.readByte$0();
      this._reserved = 0;
      this.__WebPFrame__framePosition = input.offset - input.start;
      this.__WebPFrame__frameSize = size - 16;
    }
  };
  A.InternalWebPFrame.prototype = {};
  A.HuffmanTree.prototype = {
    _webp_huffman$_init$1(numLeaves) {
      var t1, _this = this;
      if (numLeaves === 0)
        return false;
      t1 = (numLeaves << 1 >>> 0) - 1;
      _this.maxNodes = t1;
      t1 = new Int32Array(t1 << 1 >>> 0);
      _this.__HuffmanTree_tree = t1;
      t1[1] = -1;
      _this.numNodes = 1;
      B.NativeUint8List_methods.fillRange$3(_this.lutBits, 0, 128, 255);
      return true;
    },
    buildImplicit$2(codeLengths, codeLengthsSize) {
      var numSymbols, rootSymbol, symbol, codes, t1, _this = this;
      for (numSymbols = 0, rootSymbol = 0, symbol = 0; symbol < codeLengthsSize; ++symbol)
        if (codeLengths[symbol] > 0) {
          ++numSymbols;
          rootSymbol = symbol;
        }
      if (!_this._webp_huffman$_init$1(numSymbols))
        return false;
      if (numSymbols === 1) {
        if (rootSymbol < 0 || rootSymbol >= codeLengthsSize)
          return false;
        return _this._addSymbol$3(rootSymbol, 0, 0);
      }
      codes = new Int32Array(codeLengthsSize);
      if (!_this._huffmanCodeLengthsToCodes$3(codeLengths, codeLengthsSize, codes))
        return false;
      for (symbol = 0; symbol < codeLengthsSize; ++symbol) {
        t1 = codeLengths[symbol];
        if (t1 > 0)
          if (!_this._addSymbol$3(symbol, codes[symbol], t1))
            return false;
      }
      return _this.numNodes === _this.maxNodes;
    },
    buildExplicit$5(codeLengths, codes, symbols, maxSymbol, numSymbols) {
      var i, t1, t2, _this = this;
      if (!_this._webp_huffman$_init$1(numSymbols))
        return false;
      for (i = 0; i < numSymbols; ++i) {
        t1 = codes[i];
        if (t1 !== -1) {
          t2 = symbols[i];
          if (t2 >= maxSymbol)
            return _this.numNodes === _this.maxNodes;
          if (!_this._addSymbol$3(t2, t1, codeLengths[i]))
            return _this.numNodes === _this.maxNodes;
        }
      }
      return _this.numNodes === _this.maxNodes;
    },
    readSymbol$1(br) {
      var node, t1, _this = this,
        bits = br.prefetchBits$0(),
        newBitPos = br.bitPos,
        lut_ix = bits & 127,
        lut_bits = _this.lutBits[lut_ix];
      if (lut_bits <= 7) {
        br.bitPos = newBitPos + lut_bits;
        return _this.lutSymbol[lut_ix];
      }
      node = _this.lutJump[lut_ix];
      newBitPos += 7;
      bits = bits >>> 7;
      do {
        t1 = _this.__HuffmanTree_tree;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        node = node + t1[(node << 1 >>> 0) + 1] + (bits & 1);
        bits = bits >>> 1;
        ++newBitPos;
      } while (_this._nodeIsNotLeaf$1(node));
      br.bitPos = newBitPos;
      t1 = _this.__HuffmanTree_tree;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1[node << 1 >>> 0];
    },
    _addSymbol$3(symbol, code, codeLength) {
      var baseCode, t1, t2, t3, i, idx, step, node, codeLength0, t4, t5, _this = this;
      if (codeLength <= 7) {
        baseCode = _this._reverseBitsShort$2(code, codeLength);
        for (t1 = B.JSInt_methods.$shl(1, 7 - codeLength), t2 = _this.lutSymbol, t3 = _this.lutBits, i = 0; i < t1; ++i) {
          idx = (baseCode | B.JSInt_methods.$shl(i, codeLength)) >>> 0;
          t2[idx] = symbol;
          t3[idx] = codeLength;
        }
      } else
        baseCode = _this._reverseBitsShort$2(B.JSInt_methods.$shr(code, codeLength - 7), 7);
      for (t1 = _this.lutJump, step = 7, node = 0; codeLength0 = codeLength - 1, codeLength > 0; codeLength = codeLength0) {
        t2 = _this.maxNodes;
        if (node >= t2)
          return false;
        t3 = _this.__HuffmanTree_tree;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t4 = (node << 1 >>> 0) + 1;
        t5 = t3[t4];
        if (t5 < 0) {
          t5 = _this.numNodes;
          if (t5 === t2)
            return false;
          t3[t4] = t5 - node;
          _this.numNodes = t5 + 2;
          t3[(t5 << 1 >>> 0) + 1] = -1;
          t3[(t5 + 1 << 1 >>> 0) + 1] = -1;
        } else if (t5 === 0)
          return false;
        node += t3[t4] + (B.JSInt_methods.$shr(code, codeLength0) & 1);
        --step;
        if (step === 0)
          t1[baseCode] = node;
      }
      if (_this._nodeIsEmpty$1(node))
        _this._nodeSetChildren$2(node, 0);
      else if (_this._nodeIsNotLeaf$1(node))
        return false;
      t1 = _this.__HuffmanTree_tree;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1[node << 1 >>> 0] = symbol;
      return true;
    },
    _reverseBitsShort$2(bits, numBits) {
      return B.JSInt_methods._shrReceiverPositive$1((B.List_cGl[bits & 15] << 4 | B.List_cGl[B.JSInt_methods._shrOtherPositive$1(bits, 4)]) >>> 0, 8 - numBits);
    },
    _nodeSetChildren$2(node, children) {
      var t1 = this.__HuffmanTree_tree;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1[(node << 1 >>> 0) + 1] = children;
    },
    _nodeIsNotLeaf$1(node) {
      var t1 = this.__HuffmanTree_tree;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1[(node << 1 >>> 0) + 1] !== 0;
    },
    _nodeIsEmpty$1(node) {
      var t1 = this.__HuffmanTree_tree;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1[(node << 1 >>> 0) + 1] < 0;
    },
    _huffmanCodeLengthsToCodes$3(codeLengths, codeLengthsSize, huffCodes) {
      var symbol, maxCodeLength, maxCodeLength0, t1, codeLen, currCode, t2,
        codeLengthHist = new Int32Array(16),
        nextCodes = new Int32Array(16);
      for (symbol = 0, maxCodeLength = 0; symbol < codeLengthsSize; ++symbol) {
        maxCodeLength0 = codeLengths[symbol];
        if (maxCodeLength0 > maxCodeLength)
          maxCodeLength = maxCodeLength0;
      }
      if (maxCodeLength > 15)
        return false;
      for (symbol = 0; symbol < codeLengthsSize; ++symbol) {
        t1 = codeLengths[symbol];
        codeLengthHist[t1] = codeLengthHist[t1] + 1;
      }
      codeLengthHist[0] = 0;
      nextCodes[0] = -1;
      for (codeLen = 1, currCode = 0; codeLen <= maxCodeLength; ++codeLen) {
        currCode = currCode + codeLengthHist[codeLen - 1] << 1 >>> 0;
        nextCodes[codeLen] = currCode;
      }
      for (symbol = 0; symbol < codeLengthsSize; ++symbol) {
        t1 = codeLengths[symbol];
        if (t1 > 0) {
          t2 = nextCodes[t1];
          nextCodes[t1] = t2 + 1;
          huffCodes[symbol] = t2;
        } else
          huffCodes[symbol] = -1;
      }
      return true;
    }
  };
  A.HTreeGroup.prototype = {
    $index(_, index) {
      return this.htrees[index];
    }
  };
  A.WebPInfo.prototype = {};
  A.InternalWebPInfo.prototype = {};
  A.WebPDecoder.prototype = {
    isValidFile$1(bytes) {
      var t1 = A.InputBuffer$(bytes, false, null, 0);
      this._webp_decoder$_input = t1;
      if (!this._getHeader$1(t1))
        return false;
      return true;
    },
    startDecode$1(bytes) {
      var t2, _this = this, _null = null,
        t1 = A.InputBuffer$(bytes, false, _null, 0);
      _this._webp_decoder$_input = t1;
      if (!_this._getHeader$1(t1))
        return _null;
      t1 = new A.InternalWebPInfo(A._setArrayType([], type$.JSArray_WebPFrame));
      _this._info = t1;
      t2 = _this._webp_decoder$_input;
      t2.toString;
      if (!_this._webp_decoder$_getInfo$2(t2, t1))
        return _null;
      t1 = _this._info;
      switch (t1.format) {
        case 3:
          t1._numFrames = t1.frames.length;
          return t1;
        case 2:
          t2 = _this._webp_decoder$_input;
          t2.toString;
          t2.offset = t1._vp8Position;
          if (!A.VP8L$(t2, t1).decodeHeader$0())
            return _null;
          t1 = _this._info;
          t1._numFrames = t1.frames.length;
          return t1;
        case 1:
          t2 = _this._webp_decoder$_input;
          t2.toString;
          t2.offset = t1._vp8Position;
          if (!A.VP8$(t2, t1).decodeHeader$0())
            return _null;
          t1 = _this._info;
          t1._numFrames = t1.frames.length;
          return t1;
      }
      return _null;
    },
    decodeFrame$1(frame) {
      var t2, f, t3, data, _this = this,
        t1 = _this._webp_decoder$_input;
      if (t1 == null || _this._info == null)
        return null;
      t2 = _this._info;
      if (t2.hasAnimation) {
        t2 = t2.frames;
        if (frame >= t2.length || false)
          return null;
        f = t2[frame];
        t1.toString;
        t2 = f.__WebPFrame__frameSize;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = f.__WebPFrame__framePosition;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        return _this._decodeFrame$2$frame(t1.subset$2$position(t2, t3), frame);
      }
      t3 = t2.format;
      if (t3 === 2) {
        t1.toString;
        data = t1.subset$2$position(t2._vp8Size, t2._vp8Position);
        t1 = _this._info;
        t1.toString;
        return A.VP8L$(data, t1).decode$0(0);
      } else if (t3 === 1) {
        t1.toString;
        data = t1.subset$2$position(t2._vp8Size, t2._vp8Position);
        t1 = _this._info;
        t1.toString;
        return A.VP8$(data, t1).decode$0(0);
      }
      return null;
    },
    decodeImage$1(bytes) {
      var t1;
      this.startDecode$1(bytes);
      t1 = this._info;
      t1._frame = 0;
      t1._numFrames = 1;
      return this.decodeFrame$1(0);
    },
    _decodeFrame$2$frame(input, frame) {
      var t2, f, data, _null = null,
        t1 = A._setArrayType([], type$.JSArray_WebPFrame),
        webp = new A.InternalWebPInfo(t1);
      if (!this._webp_decoder$_getInfo$2(input, webp))
        return _null;
      if (webp.format === 0)
        return _null;
      t2 = this._info;
      webp._frame = t2._frame;
      webp._numFrames = t2._numFrames;
      if (webp.hasAnimation) {
        if (frame >= t1.length || false)
          return _null;
        f = t1[frame];
        t1 = f.__WebPFrame__frameSize;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t2 = f.__WebPFrame__framePosition;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        return this._decodeFrame$2$frame(input.subset$2$position(t1, t2), frame);
      } else {
        data = input.subset$2$position(webp._vp8Size, webp._vp8Position);
        t1 = webp.format;
        if (t1 === 2)
          return A.VP8L$(data, webp).decode$0(0);
        else if (t1 === 1)
          return A.VP8$(data, webp).decode$0(0);
      }
      return _null;
    },
    _getHeader$1(input) {
      if (input.readString$1(4) !== "RIFF")
        return false;
      input.readUint32$0();
      if (input.readString$1(4) !== "WEBP")
        return false;
      return true;
    },
    _webp_decoder$_getInfo$2(input, webp) {
      var tag, size, diskSize, t3, p, t4, t5, t6, c, bytes, line, toZone, remainder,
        t1 = input.start,
        t2 = input.end,
        found = false;
      while (true) {
        if (!(input.offset < t2 && !found))
          break;
        tag = input.readString$1(4);
        size = input.readUint32$0();
        diskSize = size + 1 >>> 1 << 1 >>> 0;
        t3 = input.offset;
        p = t3 - t1;
        switch (tag) {
          case "VP8X":
            if (!this._getVp8xInfo$2(input, webp))
              return false;
            break;
          case "VP8 ":
            webp._vp8Position = p;
            webp._vp8Size = size;
            webp.format = 1;
            found = true;
            break;
          case "VP8L":
            webp._vp8Position = p;
            webp._vp8Size = size;
            webp.format = 2;
            found = true;
            break;
          case "ALPH":
            t4 = input.buffer;
            t5 = input.bigEndian;
            t6 = t4.length;
            t4 = new A.InputBuffer(t4, 0, t6, 0, t5);
            webp._webp_info$_alphaData = t4;
            t4.offset = t3;
            input.offset += diskSize;
            break;
          case "ANIM":
            webp.format = 3;
            c = input.readUint32$0();
            input.readUint16$0();
            B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c & 255, 0, 255));
            B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c >>> 24 & 255, 0, 255));
            B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c >>> 16 & 255, 0, 255));
            B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2(c >>> 8 & 255, 0, 255));
            break;
          case "ANMF":
            if (!this._getAnimFrameInfo$3(input, webp, size))
              return false;
            break;
          case "ICCP":
            webp.toString;
            bytes = input.subset$1(size);
            input.offset = input.offset + (bytes.end - bytes.offset);
            bytes.toUint8List$0();
            break;
          case "EXIF":
            webp.toString;
            input.readString$1(size);
            break;
          case "XMP ":
            webp.toString;
            input.readString$1(size);
            break;
          default:
            line = "UNKNOWN WEBP TAG: " + tag;
            toZone = $.printToZone;
            if (toZone == null)
              A.printString(line);
            else
              toZone.call$1(line);
            input.offset += diskSize;
            break;
        }
        t3 = input.offset;
        remainder = diskSize - (t3 - t1 - p);
        if (remainder > 0)
          input.offset = t3 + remainder;
      }
      if (!webp.hasAlpha)
        webp.hasAlpha = webp._webp_info$_alphaData != null;
      return webp.format !== 0;
    },
    _getVp8xInfo$2(input, webp) {
      var t1, t2, t3, t4,
        b = input.readByte$0();
      if ((b & 192) !== 0)
        return false;
      t1 = B.JSInt_methods._shrOtherPositive$1(b, 4);
      t2 = B.JSInt_methods._shrOtherPositive$1(b, 1);
      if ((b & 1) !== 0)
        return false;
      if (input.readUint24$0() !== 0)
        return false;
      t3 = input.readUint24$0();
      t4 = input.readUint24$0();
      webp.width = t3 + 1;
      webp.height = t4 + 1;
      webp.hasAnimation = (t2 & 1) !== 0;
      webp.hasAlpha = (t1 & 1) !== 0;
      return true;
    },
    _getAnimFrameInfo$3(input, webp, size) {
      var frame;
      input.readUint24$0();
      input.readUint24$0();
      input.readUint24$0();
      frame = new A.InternalWebPFrame(input.readUint24$0() + 1, input.readUint24$0());
      frame.WebPFrame$2(input, size);
      if (frame._reserved !== 0)
        return false;
      webp.frames.push(frame);
      return true;
    }
  };
  A.HdrImage.prototype = {
    HdrImage$fromImage$3$bitsPerSample$type(other, bitsPerSample, type) {
      var rgb, y, si, x, si0, t3, _this = this,
        t1 = other.width,
        t2 = other.height;
      _this.addSlice$1(A.HdrSlice$("R", t1, t2, type, bitsPerSample));
      _this.addSlice$1(A.HdrSlice$("G", t1, t2, type, bitsPerSample));
      _this.addSlice$1(A.HdrSlice$("B", t1, t2, type, bitsPerSample));
      if (other.channels === B.Channels_1)
        _this.addSlice$1(A.HdrSlice$("A", t1, t2, type, bitsPerSample));
      rgb = other.getBytes$0();
      for (y = 0, si = 0; y < t2; ++y)
        for (x = 0; x < t1; ++x) {
          si0 = si + 1;
          _this.red.setFloat$3(x, y, rgb[si] / 255);
          si = si0 + 1;
          _this.green.setFloat$3(x, y, rgb[si0] / 255);
          si0 = si + 1;
          _this.blue.setFloat$3(x, y, rgb[si] / 255);
          t3 = _this.alpha;
          if (t3 != null) {
            si = si0 + 1;
            t3.setFloat$3(x, y, rgb[si0] / 255);
          } else
            si = si0;
        }
    },
    get$width(_) {
      var t1 = this.slices;
      if (t1._length === 0)
        t1 = 0;
      else {
        t1 = t1.get$values(t1);
        t1 = t1._f.call$1(J.get$first$ax(t1.__internal$_iterable)).width;
      }
      return t1;
    },
    get$height(_) {
      var t1 = this.slices;
      if (t1._length === 0)
        t1 = 0;
      else {
        t1 = t1.get$values(t1);
        t1 = t1._f.call$1(J.get$first$ax(t1.__internal$_iterable)).height;
      }
      return t1;
    },
    setRed$3(x, y, c) {
      var t1 = this.red;
      if (t1 != null)
        if (t1.type === 3)
          t1.setFloat$3(x, y, c);
        else
          t1.setInt$3(x, y, A._asInt(c));
    },
    setGreen$3(x, y, c) {
      var t1 = this.green;
      if (t1 != null)
        if (this.red.type === 3)
          t1.setFloat$3(x, y, c);
        else
          t1.setInt$3(x, y, A._asInt(c));
    },
    setBlue$3(x, y, c) {
      var t1;
      if (this.green != null) {
        t1 = this.blue;
        if (t1.type === 3)
          t1.setFloat$3(x, y, c);
        else
          t1.setInt$3(x, y, A._asInt(c));
      }
    },
    setAlpha$3(x, y, c) {
      var t1 = this.alpha;
      if (t1 != null)
        if (t1.type === 3)
          t1.setFloat$3(x, y, c);
        else
          t1.setInt$3(x, y, A._asInt(c));
    },
    $index(_, ch) {
      return this.slices.$index(0, ch);
    },
    addSlice$1(slice) {
      var _this = this,
        ch = slice.name;
      _this.slices.$indexSet(0, ch, slice);
      switch (ch) {
        case "R":
          _this.red = slice;
          break;
        case "G":
          _this.green = slice;
          break;
        case "B":
          _this.blue = slice;
          break;
        case "A":
          _this.alpha = slice;
          break;
        case "Z":
          _this.depth = slice;
          break;
      }
    }
  };
  A.HdrSlice.prototype = {
    getFloat$2(x, y) {
      var t3, v, s, _this = this,
        pi = y * _this.width + x,
        t1 = _this.type,
        t2 = t1 === 1;
      if (t2 || t1 === 0) {
        t1 = A._asInt(_this.data[pi]);
        t3 = _this.bitsPerSample;
        if (t3 === 8)
          v = 255;
        else
          v = t3 === 16 ? 65535 : 4294967295;
        return t1 / (t2 ? v - 1 : v);
      }
      t1 = t1 === 3 && _this.bitsPerSample === 16;
      t2 = _this.data;
      if (t1) {
        t1 = A._asInt(t2[pi]);
        if ($.Half__toFloatFloat32 == null)
          A.Half__initialize();
        s = $.Half__toFloatFloat32[t1];
      } else
        s = t2[pi];
      return s;
    },
    setFloat$3(x, y, v) {
      var pi, t1, _this = this;
      if (_this.type !== 3)
        return;
      pi = y * _this.width + x;
      t1 = _this.data;
      if (_this.bitsPerSample === 16)
        t1[pi] = A.Half_DoubleToHalf(v);
      else
        t1[pi] = v;
    },
    setInt$3(x, y, v) {
      this.data[y * this.width + x] = v;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.hdrToImage__knee.prototype = {
    call$2(x, f) {
      return Math.log(x * f + 1) / f;
    },
    $signature: 186
  };
  A.hdrToImage__gamma.prototype = {
    call$2(h, m) {
      var x = Math.max(0, h * m);
      if (x > 1)
        x = 1 + this._knee.call$2(x - 1, 0.184874);
      return Math.pow(x, 0.4545) * 84.66;
    },
    $signature: 186
  };
  A.Format.prototype = {
    toString$0(_) {
      return "Format." + this._core$_name;
    }
  };
  A.Channels.prototype = {
    toString$0(_) {
      return "Channels." + this._core$_name;
    }
  };
  A.Image0.prototype = {
    getBytes$0() {
      var rgba = A.NativeUint8List_NativeUint8List$view(this.data.buffer, 0, null);
      switch (2) {
        case 2:
          return rgba;
      }
    },
    $add(_, other) {
      var t3, t4, y, t5, t6, x, t7, c1, c2, _this = this,
        h = Math.min(_this.height, other.height),
        t1 = _this.width,
        t2 = other.width,
        w = Math.min(t1, t2);
      for (t3 = _this.data, t4 = other.data, y = 0; y < h; ++y)
        for (t5 = y * t1, t6 = y * t2, x = 0; x < w; ++x) {
          t7 = t5 + x;
          c1 = t3[t7];
          c2 = t4[t6 + x];
          t3[t7] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 24 & 255) + (c2 >>> 24 & 255), 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 16 & 255) + (c2 >>> 16 & 255), 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 8 & 255) + (c2 >>> 8 & 255), 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 & 255) + (c2 & 255), 0, 255))) >>> 0;
        }
      return _this;
    },
    $sub(_, other) {
      var t3, t4, y, t5, t6, x, t7, c1, c2, _this = this,
        h = Math.min(_this.height, other.height),
        t1 = _this.width,
        t2 = other.width,
        w = Math.min(t1, t2);
      for (t3 = _this.data, t4 = other.data, y = 0; y < h; ++y)
        for (t5 = y * t1, t6 = y * t2, x = 0; x < w; ++x) {
          t7 = t5 + x;
          c1 = t3[t7];
          c2 = t4[t6 + x];
          t3[t7] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 24 & 255) - (c2 >>> 24 & 255), 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 16 & 255) - (c2 >>> 16 & 255), 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 8 & 255) - (c2 >>> 8 & 255), 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 & 255) - (c2 & 255), 0, 255))) >>> 0;
        }
      return _this;
    },
    $mul(_, other) {
      var t2, y, t3, x, t4, c1, c2, r2, t5, t6, _this = this,
        h = Math.min(_this.height, A.checkNum(other.get$height(other))),
        t1 = _this.width,
        w = Math.min(t1, A.checkNum(other.get$width(other)));
      for (t2 = _this.data, y = 0; y < h; ++y)
        for (t3 = y * t1, x = 0; x < w; ++x) {
          t4 = t3 + x;
          c1 = t2[t4];
          c2 = other.getPixel$2(x, y);
          r2 = c2.$and(0, 255);
          t5 = c2.$shr(0, 8);
          t6 = c2.$shr(0, 16);
          t2[t4] = (B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 24 & 255) * (c2.$shr(0, 24) & 255), 0, 255)) << 24 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 16 & 255) * (t6 & 255), 0, 255)) << 16 | B.JSNumber_methods.toInt$0(B.JSInt_methods.clamp$2((c1 >>> 8 & 255) * (t5 & 255), 0, 255)) << 8 | B.JSNumber_methods.toInt$0(B.JSNumber_methods.clamp$2((c1 & 255) * r2, 0, 255))) >>> 0;
        }
      return _this;
    },
    get$length(_) {
      return this.data.length;
    },
    $index(_, index) {
      return this.data[index];
    },
    $indexSet(_, index, color) {
      this.data[index] = color;
    },
    setPixel$3(x, y, color) {
      this.data[y * this.width + x] = color;
    },
    addTextData$1(data) {
      var t1, t2, t3, t4;
      if (this.textData == null) {
        t1 = type$.String;
        this.textData = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      }
      for (t1 = A.LinkedHashMapKeyIterator$(data, data._modifications, A._instanceType(data)._precomputed1); t1.moveNext$0();) {
        t2 = t1.__js_helper$_current;
        t3 = this.textData;
        t3.toString;
        t4 = data.$index(0, t2);
        t4.toString;
        t3.$indexSet(0, t2, t4);
      }
    }
  };
  A.ImageException.prototype = {
    toString$0(_) {
      return "ImageException: " + this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.InputBuffer.prototype = {
    get$length(_) {
      return this.end - this.offset;
    },
    $index(_, index) {
      return this.buffer[this.offset + index];
    },
    $indexSet(_, index, value) {
      this.buffer[this.offset + index] = value;
      return value;
    },
    memcpy$4(start, $length, other, offset) {
      var t1 = this.buffer,
        t2 = J.getInterceptor$ax(t1),
        t3 = this.offset + start;
      if (other instanceof A.InputBuffer)
        t2.setRange$4(t1, t3, t3 + $length, other.buffer, other.offset + offset);
      else
        t2.setRange$4(t1, t3, t3 + $length, type$.List_int._as(other), offset);
    },
    memcpy$3(start, $length, other) {
      return this.memcpy$4(start, $length, other, 0);
    },
    memset$3(start, $length, value) {
      var t1 = this.buffer,
        t2 = this.offset + start;
      J.fillRange$3$ax(t1, t2, t2 + $length, value);
    },
    subset$3$offset$position(count, offset, position) {
      var _this = this,
        pos = position != null ? _this.start + position : _this.offset;
      return A.InputBuffer$(_this.buffer, _this.bigEndian, count, pos + offset);
    },
    subset$1(count) {
      return this.subset$3$offset$position(count, 0, null);
    },
    subset$2$position(count, position) {
      return this.subset$3$offset$position(count, 0, position);
    },
    subset$2$offset(count, offset) {
      return this.subset$3$offset$position(count, offset, null);
    },
    indexOf$1(_, value) {
      var i, end, _this = this;
      for (i = _this.offset, end = i + (_this.end - i); i < end; ++i)
        if (J.$eq$(_this.buffer[i], value))
          return i - _this.start;
      return -1;
    },
    readByte$0() {
      return this.buffer[this.offset++];
    },
    readBytes$1(count) {
      var bytes = this.subset$1(count);
      this.offset = this.offset + (bytes.end - bytes.offset);
      return bytes;
    },
    readString$1(len) {
      var codes, t1, t2, t3, _this = this;
      if (len == null) {
        codes = A._setArrayType([], type$.JSArray_int);
        for (t1 = _this.end; t2 = _this.offset, t2 < t1;) {
          t3 = _this.buffer;
          _this.offset = t2 + 1;
          t2 = t3[t2];
          if (t2 === 0)
            return A.String_String$fromCharCodes(codes, 0, null);
          codes.push(t2);
        }
        throw A.wrapException(A.ImageException$(string$.EOF_re));
      }
      return A.String_String$fromCharCodes(_this.readBytes$1(len).toUint8List$0(), 0, null);
    },
    readString$0() {
      return this.readString$1(null);
    },
    readStringUtf8$0() {
      var t1, t2, t3, _this = this,
        codes = A._setArrayType([], type$.JSArray_int);
      for (t1 = _this.end; t2 = _this.offset, t2 < t1;) {
        t3 = _this.buffer;
        _this.offset = t2 + 1;
        t2 = t3[t2];
        if (t2 === 0)
          return B.Utf8Decoder_true.convert$1(codes);
        codes.push(t2);
      }
      throw A.wrapException(A.ImageException$(string$.EOF_re));
    },
    readUint16$0() {
      var b2, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset,
        t3 = _this.offset = t2 + 1,
        b1 = t1[t2] & 255;
      _this.offset = t3 + 1;
      b2 = t1[t3] & 255;
      if (_this.bigEndian)
        return b1 << 8 | b2;
      return b2 << 8 | b1;
    },
    readUint24$0() {
      var b2, b3, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset,
        t3 = _this.offset = t2 + 1,
        b1 = t1[t2] & 255;
      t2 = _this.offset = t3 + 1;
      b2 = t1[t3] & 255;
      _this.offset = t2 + 1;
      b3 = t1[t2] & 255;
      if (_this.bigEndian)
        return b3 | b2 << 8 | b1 << 16;
      return b1 | b2 << 8 | b3 << 16;
    },
    readUint32$0() {
      var b2, b3, b4, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset,
        t3 = _this.offset = t2 + 1,
        b1 = t1[t2] & 255;
      t2 = _this.offset = t3 + 1;
      b2 = t1[t3] & 255;
      t3 = _this.offset = t2 + 1;
      b3 = t1[t2] & 255;
      _this.offset = t3 + 1;
      b4 = t1[t3] & 255;
      if (_this.bigEndian)
        return (b1 << 24 | b2 << 16 | b3 << 8 | b4) >>> 0;
      return (b4 << 24 | b3 << 16 | b2 << 8 | b1) >>> 0;
    },
    readUint64$0() {
      var b2, b3, b4, b5, b6, b7, b8, _this = this,
        t1 = _this.buffer,
        t2 = _this.offset,
        t3 = _this.offset = t2 + 1,
        b1 = t1[t2] & 255;
      t2 = _this.offset = t3 + 1;
      b2 = t1[t3] & 255;
      t3 = _this.offset = t2 + 1;
      b3 = t1[t2] & 255;
      t2 = _this.offset = t3 + 1;
      b4 = t1[t3] & 255;
      t3 = _this.offset = t2 + 1;
      b5 = t1[t2] & 255;
      t2 = _this.offset = t3 + 1;
      b6 = t1[t3] & 255;
      t3 = _this.offset = t2 + 1;
      b7 = t1[t2] & 255;
      _this.offset = t3 + 1;
      b8 = t1[t3] & 255;
      if (_this.bigEndian)
        return (B.JSInt_methods._shlPositive$1(b1, 56) | B.JSInt_methods._shlPositive$1(b2, 48) | B.JSInt_methods._shlPositive$1(b3, 40) | B.JSInt_methods._shlPositive$1(b4, 32) | b5 << 24 | b6 << 16 | b7 << 8 | b8) >>> 0;
      return (B.JSInt_methods._shlPositive$1(b8, 56) | B.JSInt_methods._shlPositive$1(b7, 48) | B.JSInt_methods._shlPositive$1(b6, 40) | B.JSInt_methods._shlPositive$1(b5, 32) | b4 << 24 | b3 << 16 | b2 << 8 | b1) >>> 0;
    },
    toList$2(_, offset, $length) {
      var s, _this = this,
        t1 = _this.buffer;
      if (type$.Uint8List._is(t1))
        return _this.toUint8List$2(offset, $length);
      s = _this.start + offset + offset;
      return J.sublist$2$ax(t1, s, $length <= 0 ? _this.end : s + $length);
    },
    toList$0($receiver) {
      return this.toList$2($receiver, 0, 0);
    },
    toUint8List$2(offset, $length) {
      var t2, _this = this,
        len = $length == null ? _this.end - _this.offset - offset : $length,
        t1 = _this.buffer;
      if (type$.Uint8List._is(t1))
        return A.NativeUint8List_NativeUint8List$view(t1.buffer, t1.byteOffset + _this.offset + offset, len);
      t2 = _this.offset + offset;
      t2 = J.sublist$2$ax(t1, t2, t2 + len);
      return new Uint8Array(A._ensureNativeList(t2));
    },
    toUint8List$0() {
      return this.toUint8List$2(0, null);
    },
    toUint32List$0() {
      var t1 = this.buffer;
      if (type$.Uint8List._is(t1))
        return A.NativeUint32List_NativeUint32List$view(t1.buffer, t1.byteOffset + this.offset, null);
      return A.NativeUint32List_NativeUint32List$view(this.toUint8List$0().buffer, 0, null);
    }
  };
  A.OutputBuffer.prototype = {
    writeByte$1(value) {
      var _this = this;
      if (_this.length === _this._output_buffer$_buffer.length)
        _this._expandBuffer$0();
      _this._output_buffer$_buffer[_this.length++] = value & 255;
    },
    writeUint16$1(value) {
      this.writeByte$1(value & 255);
      this.writeByte$1(B.JSInt_methods._shrOtherPositive$1(value, 8) & 255);
    },
    writeUint32$1(value) {
      var _this = this;
      _this.writeByte$1(value & 255);
      _this.writeByte$1(value >>> 8 & 255);
      _this.writeByte$1(value >>> 16 & 255);
      _this.writeByte$1(value >>> 24 & 255);
    },
    _expandBuffer$1(required) {
      var t2, newBuffer,
        t1 = this._output_buffer$_buffer.length,
        blockSize = t1 === 0 ? 8192 : t1 * 2;
      t1 = this._output_buffer$_buffer;
      t2 = t1.length;
      newBuffer = new Uint8Array(t2 + blockSize);
      B.NativeUint8List_methods.setRange$3(newBuffer, 0, t2, t1);
      this._output_buffer$_buffer = newBuffer;
    },
    _expandBuffer$0() {
      return this._expandBuffer$1(null);
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A.DateSymbols.prototype = {
    toString$0(_) {
      return this.NAME;
    }
  };
  A.NumberSymbols.prototype = {
    toString$0(_) {
      return this.NAME;
    }
  };
  A.DateFormat.prototype = {
    format$1(_, date) {
      var t2, _i, t3, _this = this,
        t1 = _this._formatFieldsPrivate;
      if (t1 == null) {
        if (_this._date_format$_pattern == null) {
          _this.addPattern$1("yMMMMd");
          _this.addPattern$1("jms");
        }
        t1 = _this._date_format$_pattern;
        t1.toString;
        t1 = _this._parsePatternHelper$1(t1);
        t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>");
        t2 = _this._formatFieldsPrivate = A.List_List$of(new A.ReversedListIterable(t1, t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      t2 = t1.length;
      _i = 0;
      t3 = "";
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        t3 += J.format$1$x(t1[_i], date);
      return t3.charCodeAt(0) == 0 ? t3 : t3;
    },
    _appendPattern$2(inputPattern, separator) {
      var t1 = this._date_format$_pattern;
      this._date_format$_pattern = t1 == null ? inputPattern : t1 + separator + inputPattern;
    },
    addPattern$1(inputPattern) {
      var t1, t2, _this = this;
      _this._formatFieldsPrivate = null;
      t1 = $.$get$dateTimePatterns();
      t2 = _this._date_format$_locale;
      t1.toString;
      if (!(A.canonicalizedLocale(t2) === "en_US" ? t1.fallbackData : t1._throwException$0()).containsKey$1(0, inputPattern))
        _this._appendPattern$2(inputPattern, " ");
      else {
        t1 = $.$get$dateTimePatterns();
        t1.toString;
        _this._appendPattern$2((A.canonicalizedLocale(t2) === "en_US" ? t1.fallbackData : t1._throwException$0()).$index(0, inputPattern), " ");
      }
      return _this;
    },
    get$dateSymbols() {
      var t2,
        t1 = this._date_format$_locale;
      if (t1 !== $.lastDateSymbolLocale) {
        $.lastDateSymbolLocale = t1;
        t2 = $.$get$_dateTimeSymbols();
        t2.toString;
        $.cachedDateSymbols = A.canonicalizedLocale(t1) === "en_US" ? t2.fallbackData : t2._throwException$0();
      }
      t1 = $.cachedDateSymbols;
      t1.toString;
      return t1;
    },
    get$useNativeDigits() {
      var t1 = this._useNativeDigits;
      if (t1 == null) {
        $.DateFormat__useNativeDigitsByDefault.$index(0, this._date_format$_locale);
        t1 = this._useNativeDigits = true;
      }
      return t1;
    },
    _localizeDigits$1(numberString) {
      var t1, t2, newDigits, t3, i, t4, t5, _this = this;
      _this.get$useNativeDigits();
      t1 = _this._localeZeroCodeUnit;
      t2 = $.$get$asciiZeroCodeUnit();
      if (t1 == t2)
        return numberString;
      t1 = numberString.length;
      newDigits = A.List_List$filled(t1, 0, false, type$.int);
      for (t3 = _this._date_format$_locale, i = 0; i < t1; ++i) {
        t4 = B.JSString_methods._codeUnitAt$1(numberString, i);
        t5 = _this._localeZeroCodeUnit;
        if (t5 == null) {
          t5 = _this._localeZero;
          if (t5 == null) {
            t5 = _this._useNativeDigits;
            if (t5 == null) {
              $.DateFormat__useNativeDigitsByDefault.$index(0, t3);
              t5 = _this._useNativeDigits = true;
            }
            if (t5) {
              if (t3 !== $.lastDateSymbolLocale) {
                $.lastDateSymbolLocale = t3;
                t5 = $.$get$_dateTimeSymbols();
                t5.toString;
                $.cachedDateSymbols = A.canonicalizedLocale(t3) === "en_US" ? t5.fallbackData : t5._throwException$0();
              }
              $.cachedDateSymbols.toString;
            }
            t5 = _this._localeZero = "0";
          }
          t5 = _this._localeZeroCodeUnit = B.JSString_methods._codeUnitAt$1(t5, 0);
        }
        newDigits[i] = t4 + t5 - t2;
      }
      return A.String_String$fromCharCodes(newDigits, 0, null);
    },
    _parsePatternHelper$1(pattern) {
      var matched, parsed;
      if (pattern.length === 0)
        return A._setArrayType([], type$.JSArray__DateFormatField);
      matched = this._date_format$_match$1(pattern);
      if (matched == null)
        return A._setArrayType([], type$.JSArray__DateFormatField);
      parsed = this._parsePatternHelper$1(B.JSString_methods.substring$1(pattern, matched.fullPattern$0().length));
      parsed.push(matched);
      return parsed;
    },
    _date_format$_match$1(pattern) {
      var i, t1, match, t2;
      for (i = 0; t1 = $.$get$DateFormat__matchers(), i < 3; ++i) {
        match = t1[i].firstMatch$1(pattern);
        if (match != null) {
          t1 = A.DateFormat__fieldConstructors()[i];
          t2 = match._match[0];
          t2.toString;
          return t1.call$2(t2, this);
        }
      }
      return null;
    }
  };
  A.DateFormat_dateTimeConstructor_closure.prototype = {
    call$8(year, month, day, hour24, minute, second, fractionalSecond, utc) {
      var t1;
      if (utc) {
        t1 = A.Primitives_valueFromDecomposedDate(year, month, day, hour24, minute, second, fractionalSecond.$add(0, 0), true);
        if (!A._isInt(t1))
          A.throwExpression(A.argumentErrorValue(t1));
        return new A.DateTime(t1, true);
      } else {
        t1 = A.Primitives_valueFromDecomposedDate(year, month, day, hour24, minute, second, fractionalSecond.$add(0, 0), false);
        if (!A._isInt(t1))
          A.throwExpression(A.argumentErrorValue(t1));
        return new A.DateTime(t1, false);
      }
    },
    $signature: 1033
  };
  A.DateFormat__fieldConstructors_closure.prototype = {
    call$2(pattern, $parent) {
      var t1 = A._DateFormatQuotedField__patchQuotes(pattern);
      B.JSString_methods.trim$0(t1);
      return new A._DateFormatQuotedField(pattern, t1, $parent);
    },
    $signature: 1034
  };
  A.DateFormat__fieldConstructors_closure0.prototype = {
    call$2(pattern, $parent) {
      B.JSString_methods.trim$0(pattern);
      return new A._DateFormatPatternField(pattern, $parent);
    },
    $signature: 1035
  };
  A.DateFormat__fieldConstructors_closure1.prototype = {
    call$2(pattern, $parent) {
      B.JSString_methods.trim$0(pattern);
      return new A._DateFormatLiteralField(pattern, $parent);
    },
    $signature: 1036
  };
  A._DateFormatField.prototype = {
    fullPattern$0() {
      return this.pattern;
    },
    toString$0(_) {
      return this.pattern;
    },
    format$1(_, date) {
      return this.pattern;
    }
  };
  A._DateFormatLiteralField.prototype = {};
  A._DateFormatQuotedField.prototype = {
    fullPattern$0() {
      return this._fullPattern;
    }
  };
  A._DateFormatPatternField.prototype = {
    format$1(_, date) {
      return this.formatField$1(date);
    },
    formatField$1(date) {
      var hours, index, t2, era, hour, year, _this = this, _s1_ = "0",
        t1 = _this.pattern;
      switch (t1[0]) {
        case "a":
          hours = A.Primitives_getHours(date);
          index = hours >= 12 && hours < 24 ? 1 : 0;
          return _this.parent.get$dateSymbols().AMPMS[index];
        case "c":
          return _this.formatStandaloneDay$1(date);
        case "d":
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getDay(date), t1.length, _s1_));
        case "D":
          t2 = A.Primitives_valueFromDecomposedDate(A.Primitives_getYear(date), 2, 29, 0, 0, 0, 0, false);
          if (!A._isInt(t2))
            A.throwExpression(A.argumentErrorValue(t2));
          t2 = A.dayOfYear(A.Primitives_getMonth(date), A.Primitives_getDay(date), A.Primitives_getMonth(new A.DateTime(t2, false)) === 2);
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + t2, t1.length, _s1_));
        case "E":
          t2 = _this.parent;
          t1 = t1.length >= 4 ? t2.get$dateSymbols().WEEKDAYS : t2.get$dateSymbols().SHORTWEEKDAYS;
          return t1[B.JSInt_methods.$mod(A.Primitives_getWeekday(date), 7)];
        case "G":
          era = A.Primitives_getYear(date) > 0 ? 1 : 0;
          t2 = _this.parent;
          return t1.length >= 4 ? t2.get$dateSymbols().ERANAMES[era] : t2.get$dateSymbols().ERAS[era];
        case "h":
          hours = A.Primitives_getHours(date);
          if (A.Primitives_getHours(date) > 12)
            hours -= 12;
          if (hours === 0)
            hours = 12;
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + hours, t1.length, _s1_));
        case "H":
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getHours(date), t1.length, _s1_));
        case "K":
          t2 = B.JSInt_methods.$mod(A.Primitives_getHours(date), 12);
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + t2, t1.length, _s1_));
        case "k":
          hour = A.Primitives_getHours(date) === 0 ? 24 : A.Primitives_getHours(date);
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + hour, t1.length, _s1_));
        case "L":
          return _this.formatStandaloneMonth$1(date);
        case "M":
          return _this.formatMonth$1(date);
        case "m":
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getMinutes(date), t1.length, _s1_));
        case "Q":
          return _this.formatQuarter$1(date);
        case "S":
          return _this.formatFractionalSeconds$1(date);
        case "s":
          return _this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getSeconds(date), t1.length, _s1_));
        case "v":
          return _this.formatTimeZoneId$1(date);
        case "y":
          year = A.Primitives_getYear(date);
          if (year < 0)
            year = -year;
          t1 = t1.length;
          t2 = _this.parent;
          return t1 === 2 ? t2._localizeDigits$1(B.JSString_methods.padLeft$2("" + B.JSInt_methods.$mod(year, 100), 2, _s1_)) : t2._localizeDigits$1(B.JSString_methods.padLeft$2("" + year, t1, _s1_));
        case "z":
          return _this.formatTimeZone$1(date);
        case "Z":
          return _this.formatTimeZoneRFC$1(date);
        default:
          return "";
      }
    },
    formatMonth$1(date) {
      var t1 = this.pattern.length,
        t2 = this.parent;
      switch (t1) {
        case 5:
          return t2.get$dateSymbols().NARROWMONTHS[A.Primitives_getMonth(date) - 1];
        case 4:
          return t2.get$dateSymbols().MONTHS[A.Primitives_getMonth(date) - 1];
        case 3:
          return t2.get$dateSymbols().SHORTMONTHS[A.Primitives_getMonth(date) - 1];
        default:
          return t2._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getMonth(date), t1, "0"));
      }
    },
    formatFractionalSeconds$1(date) {
      var basic = this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getMilliseconds(date), 3, "0")),
        t1 = this.pattern.length - 3;
      if (t1 > 0)
        return basic + this.parent._localizeDigits$1(B.JSString_methods.padLeft$2("" + 0, t1, "0"));
      else
        return basic;
    },
    formatStandaloneDay$1(date) {
      var t1 = this.parent;
      switch (this.pattern.length) {
        case 5:
          return t1.get$dateSymbols().STANDALONENARROWWEEKDAYS[B.JSInt_methods.$mod(A.Primitives_getWeekday(date), 7)];
        case 4:
          return t1.get$dateSymbols().STANDALONEWEEKDAYS[B.JSInt_methods.$mod(A.Primitives_getWeekday(date), 7)];
        case 3:
          return t1.get$dateSymbols().STANDALONESHORTWEEKDAYS[B.JSInt_methods.$mod(A.Primitives_getWeekday(date), 7)];
        default:
          return t1._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getDay(date), 1, "0"));
      }
    },
    formatStandaloneMonth$1(date) {
      var t1 = this.pattern.length,
        t2 = this.parent;
      switch (t1) {
        case 5:
          return t2.get$dateSymbols().STANDALONENARROWMONTHS[A.Primitives_getMonth(date) - 1];
        case 4:
          return t2.get$dateSymbols().STANDALONEMONTHS[A.Primitives_getMonth(date) - 1];
        case 3:
          return t2.get$dateSymbols().STANDALONESHORTMONTHS[A.Primitives_getMonth(date) - 1];
        default:
          return t2._localizeDigits$1(B.JSString_methods.padLeft$2("" + A.Primitives_getMonth(date), t1, "0"));
      }
    },
    formatQuarter$1(date) {
      var quarter = B.JSNumber_methods.toInt$0((A.Primitives_getMonth(date) - 1) / 3),
        t1 = this.pattern.length,
        t2 = this.parent;
      switch (t1) {
        case 4:
          return t2.get$dateSymbols().QUARTERS[quarter];
        case 3:
          return t2.get$dateSymbols().SHORTQUARTERS[quarter];
        default:
          return t2._localizeDigits$1(B.JSString_methods.padLeft$2("" + (quarter + 1), t1, "0"));
      }
    },
    formatTimeZoneId$1(date) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    formatTimeZone$1(date) {
      throw A.wrapException(A.UnimplementedError$(null));
    },
    formatTimeZoneRFC$1(date) {
      throw A.wrapException(A.UnimplementedError$(null));
    }
  };
  A.NumberFormat.prototype = {
    format$1(_, number) {
      var t2, _this = this,
        t1 = typeof number == "number";
      if (t1 && isNaN(number))
        return _this._symbols.NAN;
      if (t1)
        t1 = number == 1 / 0 || number == -1 / 0;
      else
        t1 = false;
      if (t1) {
        t1 = J.get$isNegative$n(number) ? _this.negativePrefix : _this.positivePrefix;
        return t1 + _this._symbols.INFINITY;
      }
      t1 = J.get$isNegative$n(number) ? _this.negativePrefix : _this.positivePrefix;
      t2 = _this._number_format$_buffer;
      t2._contents += t1;
      t1 = Math.abs(number);
      if (_this._useExponentialNotation)
        _this._formatExponential$1(t1);
      else
        _this._formatFixed$1(t1);
      t1 = t2._contents += B.JSNumber_methods.get$isNegative(number) ? _this.negativeSuffix : _this.positiveSuffix;
      t2._contents = "";
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _formatExponential$1(number) {
      var exponent, mantissa, t1, _this = this;
      if (number === 0) {
        _this._formatFixed$1(number);
        _this._formatExponent$1(0);
        return;
      }
      exponent = B.JSNumber_methods.floor$0(Math.log(number) / $.$get$_ln10());
      mantissa = number / Math.pow(10, exponent);
      t1 = _this.maximumIntegerDigits;
      if (t1 > 1 && t1 > _this.minimumIntegerDigits)
        for (; B.JSInt_methods.$mod(exponent, t1) !== 0;) {
          mantissa *= 10;
          --exponent;
        }
      else {
        t1 = _this.minimumIntegerDigits;
        if (t1 < 1) {
          ++exponent;
          mantissa /= 10;
        } else {
          --t1;
          exponent -= t1;
          mantissa *= Math.pow(10, t1);
        }
      }
      _this._formatFixed$1(mantissa);
      _this._formatExponent$1(exponent);
    },
    _formatExponent$1(exponent) {
      var _this = this,
        t1 = _this._symbols,
        t2 = _this._number_format$_buffer,
        t3 = t2._contents += t1.EXP_SYMBOL;
      if (exponent < 0) {
        exponent = -exponent;
        t2._contents = t3 + t1.MINUS_SIGN;
      } else if (_this._useSignForPositiveExponent)
        t2._contents = t3 + t1.PLUS_SIGN;
      t1 = _this.minimumExponentDigits;
      t3 = B.JSInt_methods.toString$0(exponent);
      if (_this._zeroOffset === 0)
        t2._contents += B.JSString_methods.padLeft$2(t3, t1, "0");
      else
        _this._slowPad$2(t1, t3);
    },
    _floor$1(number) {
      var t1;
      if (B.JSNumber_methods.get$isNegative(number) && !B.JSNumber_methods.get$isNegative(Math.abs(number)))
        throw A.wrapException(A.ArgumentError$("Internal error: expected positive number, got " + A.S(number), null));
      t1 = B.JSNumber_methods.floor$0(number);
      return t1;
    },
    _round$1(number) {
      if (number == 1 / 0 || number == -1 / 0)
        return $.$get$NumberFormat__maxInt();
      else
        return B.JSNumber_methods.round$0(number);
    },
    _formatFixed$1(number) {
      var integerPart, fractionPart, extraIntegerDigits, power, fraction, digitMultiplier, remainingDigits, howManyDigitsTooBig, divisor, paddingDigits, extra, intDigits, integerDigits, digitLength, fractionPresent, t2, i, _this = this,
        fractionDigits = _this.maximumFractionDigits,
        t1 = number == 1 / 0 || number == -1 / 0;
      if (t1) {
        integerPart = B.JSNumber_methods.toInt$0(number);
        fractionPart = 0;
        extraIntegerDigits = 0;
        power = 0;
      } else {
        integerPart = _this._floor$1(number);
        fraction = number - integerPart;
        if (B.JSNumber_methods.toInt$0(fraction) !== 0) {
          integerPart = number;
          fraction = 0;
        }
        power = A._asInt(Math.pow(10, fractionDigits));
        digitMultiplier = power * _this.multiplier;
        remainingDigits = B.JSNumber_methods.toInt$0(_this._round$1(fraction * digitMultiplier));
        if (remainingDigits >= digitMultiplier) {
          ++integerPart;
          remainingDigits -= digitMultiplier;
        }
        extraIntegerDigits = B.JSInt_methods.$tdiv(remainingDigits, power);
        fractionPart = B.JSInt_methods.$mod(remainingDigits, power);
      }
      t1 = $.$get$NumberFormat__maxInt();
      if (integerPart > t1) {
        howManyDigitsTooBig = B.JSNumber_methods.ceil$0(Math.log(integerPart) / $.$get$_ln10()) - $.$get$NumberFormat__maxDigits();
        divisor = B.JSNumber_methods.round$0(Math.pow(10, howManyDigitsTooBig));
        if (divisor === 0)
          divisor = Math.pow(10, howManyDigitsTooBig);
        paddingDigits = B.JSString_methods.$mul("0", B.JSInt_methods.toInt$0(howManyDigitsTooBig));
        integerPart = B.JSNumber_methods.toInt$0(integerPart / divisor);
      } else
        paddingDigits = "";
      extra = extraIntegerDigits === 0 ? "" : B.JSInt_methods.toString$0(extraIntegerDigits);
      intDigits = _this._mainIntegerDigits$1(integerPart);
      integerDigits = intDigits + (intDigits.length === 0 ? extra : B.JSString_methods.padLeft$2(extra, _this._multiplierDigits, "0")) + paddingDigits;
      digitLength = integerDigits.length;
      if (fractionDigits > 0)
        fractionPresent = _this.minimumFractionDigits > 0 || fractionPart > 0;
      else
        fractionPresent = false;
      if (digitLength !== 0 || _this.minimumIntegerDigits > 0) {
        integerDigits = B.JSString_methods.$mul("0", _this.minimumIntegerDigits - digitLength) + integerDigits;
        digitLength = integerDigits.length;
        for (t1 = _this._number_format$_buffer, t2 = _this._zeroOffset, i = 0; i < digitLength; ++i) {
          t1._contents += A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(integerDigits, i) + t2);
          _this._group$2(digitLength, i);
        }
      } else if (!fractionPresent)
        _this._number_format$_buffer._contents += _this._symbols.ZERO_DIGIT;
      if (_this._decimalSeparatorAlwaysShown || fractionPresent)
        _this._number_format$_buffer._contents += _this._symbols.DECIMAL_SEP;
      _this._formatFractionPart$1(B.JSInt_methods.toString$0(fractionPart + power));
    },
    _mainIntegerDigits$1(integer) {
      var digits;
      if (integer === 0)
        return "";
      digits = B.JSNumber_methods.toString$0(integer);
      return B.JSString_methods.startsWith$1(digits, "-") ? B.JSString_methods.substring$1(digits, 1) : digits;
    },
    _formatFractionPart$1(fractionPart) {
      var fractionLength0, t2, i,
        fractionLength = fractionPart.length,
        t1 = this.minimumFractionDigits + 1;
      while (true) {
        fractionLength0 = fractionLength - 1;
        if (!(B.JSString_methods.codeUnitAt$1(fractionPart, fractionLength0) === $.$get$asciiZeroCodeUnit() && fractionLength > t1))
          break;
        fractionLength = fractionLength0;
      }
      for (t1 = this._number_format$_buffer, t2 = this._zeroOffset, i = 1; i < fractionLength; ++i)
        t1._contents += A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(fractionPart, i) + t2);
    },
    _slowPad$2(numberOfDigits, basic) {
      var t1, t2, t3, t4, i;
      for (t1 = basic.length, t2 = numberOfDigits - t1, t3 = this._symbols.ZERO_DIGIT, t4 = this._number_format$_buffer, i = 0; i < t2; ++i)
        t4._contents += t3;
      for (t2 = this._zeroOffset, i = 0; i < t1; ++i)
        t4._contents += A.Primitives_stringFromCharCode(B.JSString_methods._codeUnitAt$1(basic, i) + t2);
    },
    _group$2(totalLength, position) {
      var t1, _this = this,
        distanceFromEnd = totalLength - position;
      if (distanceFromEnd <= 1 || _this._groupingSize <= 0)
        return;
      t1 = _this._finalGroupingSize;
      if (distanceFromEnd === t1 + 1)
        _this._number_format$_buffer._contents += _this._symbols.GROUP_SEP;
      else if (distanceFromEnd > t1 && B.JSInt_methods.$mod(distanceFromEnd - t1, _this._groupingSize) === 1)
        _this._number_format$_buffer._contents += _this._symbols.GROUP_SEP;
    },
    toString$0(_) {
      return "NumberFormat(" + this._number_format$_locale + ", " + A.S(this._number_format$_pattern) + ")";
    }
  };
  A.NumberFormat_NumberFormat$decimalPattern_closure.prototype = {
    call$1(x) {
      return x.DECIMAL_PATTERN;
    },
    $signature: 1037
  };
  A.NumberFormatParseResult.prototype = {};
  A.NumberFormatParser.prototype = {
    _parse$0() {
      var trunk, t2, t3, trunkIterator, each, _this = this,
        t1 = _this.result;
      t1.positivePrefix = _this._parseAffix$0();
      trunk = _this._parseTrunk$0();
      t2 = _this._parseAffix$0();
      t1.positiveSuffix = t2;
      t3 = _this.pattern;
      if (t3._string_iterator$_current === ";") {
        t3.moveNext$0();
        t1.negativePrefix = _this._parseAffix$0();
        trunkIterator = new A.StringIterator(trunk);
        for (; trunkIterator.moveNext$0();) {
          each = trunkIterator._string_iterator$_current;
          t2 = t3._string_iterator$_current;
          if (t2 != each && t2 != null)
            throw A.wrapException(A.FormatException$("Positive and negative trunks must be the same", trunk, null));
          t3.moveNext$0();
        }
        t1.negativeSuffix = _this._parseAffix$0();
      } else {
        t1.negativePrefix = t1.negativePrefix + t1.positivePrefix;
        t1.negativeSuffix = t2 + t1.negativeSuffix;
      }
      t2 = t1.decimalDigits;
      if (t2 != null)
        t1.maximumFractionDigits = t1.minimumFractionDigits = t2;
    },
    _parseAffix$0() {
      var affix = new A.StringBuffer(""),
        t1 = this.inQuote = false,
        t2 = this.pattern;
      while (true)
        if (!(this.parseCharacterAffix$1(affix) ? t2.moveNext$0() : t1))
          break;
      t1 = affix._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    parseCharacterAffix$1(affix) {
      var t2, t3, _this = this,
        t1 = _this.pattern,
        ch = t1._string_iterator$_current;
      if (ch == null)
        return false;
      if (ch === "'") {
        t2 = t1.nextIndex;
        t3 = t1.input;
        if ((t2 >= t3.length ? null : t3[t2]) === "'") {
          t1.moveNext$0();
          affix._contents += "'";
        } else
          _this.inQuote = !_this.inQuote;
        return true;
      }
      if (_this.inQuote)
        affix._contents += ch;
      else
        switch (ch) {
          case "#":
          case "0":
          case ",":
          case ".":
          case ";":
            return false;
          case "\xa4":
            affix._contents += _this.currencySymbol;
            break;
          case "%":
            t1 = _this.result;
            t2 = t1.multiplier;
            if (t2 !== 1 && t2 !== 100)
              throw A.wrapException(B.FormatException_oQ2);
            t1.multiplier = 100;
            affix._contents += _this.symbols.PERCENT;
            break;
          case "\u2030":
            t1 = _this.result;
            t2 = t1.multiplier;
            if (t2 !== 1 && t2 !== 1000)
              throw A.wrapException(B.FormatException_oQ2);
            t1.multiplier = 1000;
            affix._contents += _this.symbols.PERMILL;
            break;
          default:
            affix._contents += ch;
        }
      return true;
    },
    _parseTrunk$0() {
      var t2, n, effectiveDecimalPos, t3, totalDigits, t4, t5, _this = this,
        trunk = new A.StringBuffer(""),
        t1 = _this.pattern,
        loop = true;
      while (true) {
        if (!(t1._string_iterator$_current != null && loop))
          break;
        loop = _this.parseTrunkCharacter$1(trunk);
      }
      t2 = _this.zeroDigitCount;
      if (t2 === 0 && _this.digitLeftCount > 0 && _this.decimalPos >= 0) {
        n = _this.decimalPos;
        if (n === 0)
          n = 1;
        _this.digitRightCount = _this.digitLeftCount - n;
        _this.digitLeftCount = n - 1;
        t2 = _this.zeroDigitCount = 1;
      }
      effectiveDecimalPos = _this.decimalPos;
      if (!(effectiveDecimalPos < 0 && _this.digitRightCount > 0)) {
        if (effectiveDecimalPos >= 0) {
          t3 = _this.digitLeftCount;
          t3 = effectiveDecimalPos < t3 || effectiveDecimalPos > t3 + t2;
        } else
          t3 = false;
        t3 = t3 || _this.groupingCount === 0;
      } else
        t3 = true;
      if (t3)
        throw A.wrapException(A.FormatException$('Malformed pattern "' + t1.input + '"', null, null));
      t1 = _this.digitLeftCount;
      t2 = t1 + t2;
      totalDigits = t2 + _this.digitRightCount;
      t3 = _this.result;
      t4 = effectiveDecimalPos >= 0;
      t5 = t4 ? totalDigits - effectiveDecimalPos : 0;
      t3.maximumFractionDigits = t5;
      if (t4) {
        t2 -= effectiveDecimalPos;
        t3.minimumFractionDigits = t2;
        if (t2 < 0)
          t3.minimumFractionDigits = 0;
      }
      t2 = t3.minimumIntegerDigits = (t4 ? effectiveDecimalPos : totalDigits) - t1;
      if (t3.useExponentialNotation) {
        t3.maximumIntegerDigits = t1 + t2;
        if (t5 === 0 && t2 === 0)
          t3.minimumIntegerDigits = 1;
      }
      t1 = Math.max(0, _this.groupingCount);
      t3.finalGroupingSize = t1;
      if (!_this.groupingSizeSetExplicitly)
        t3.groupingSize = t1;
      t3.decimalSeparatorAlwaysShown = effectiveDecimalPos === 0 || effectiveDecimalPos === totalDigits;
      t1 = trunk._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    parseTrunkCharacter$1(trunk) {
      var t2, nextChar, t3, _this = this, _null = null,
        t1 = _this.pattern,
        ch = t1._string_iterator$_current;
      switch (ch) {
        case "#":
          if (_this.zeroDigitCount > 0)
            ++_this.digitRightCount;
          else
            ++_this.digitLeftCount;
          t2 = _this.groupingCount;
          if (t2 >= 0 && _this.decimalPos < 0)
            _this.groupingCount = t2 + 1;
          break;
        case "0":
          if (_this.digitRightCount > 0)
            throw A.wrapException(A.FormatException$('Unexpected "0" in pattern "' + t1.input, _null, _null));
          ++_this.zeroDigitCount;
          t2 = _this.groupingCount;
          if (t2 >= 0 && _this.decimalPos < 0)
            _this.groupingCount = t2 + 1;
          break;
        case ",":
          t2 = _this.groupingCount;
          if (t2 > 0) {
            _this.groupingSizeSetExplicitly = true;
            _this.result.groupingSize = t2;
          }
          _this.groupingCount = 0;
          break;
        case ".":
          if (_this.decimalPos >= 0)
            throw A.wrapException(A.FormatException$('Multiple decimal separators in pattern "' + t1.toString$0(0) + '"', _null, _null));
          _this.decimalPos = _this.digitLeftCount + _this.zeroDigitCount + _this.digitRightCount;
          break;
        case "E":
          trunk._contents += A.S(ch);
          t2 = _this.result;
          if (t2.useExponentialNotation)
            throw A.wrapException(A.FormatException$('Multiple exponential symbols in pattern "' + t1.toString$0(0) + '"', _null, _null));
          t2.useExponentialNotation = true;
          t2.minimumExponentDigits = 0;
          t1.moveNext$0();
          nextChar = t1._string_iterator$_current;
          if (nextChar === "+") {
            trunk._contents += A.S(nextChar);
            t1.moveNext$0();
            t2.useSignForPositiveExponent = true;
          }
          for (; t3 = t1._string_iterator$_current, t3 === "0";) {
            trunk._contents += A.S(t3);
            t1.moveNext$0();
            ++t2.minimumExponentDigits;
          }
          if (_this.digitLeftCount + _this.zeroDigitCount < 1 || t2.minimumExponentDigits < 1)
            throw A.wrapException(A.FormatException$('Malformed exponential pattern "' + t1.toString$0(0) + '"', _null, _null));
          return false;
        default:
          return false;
      }
      trunk._contents += A.S(ch);
      t1.moveNext$0();
      return true;
    }
  };
  A.StringIterator.prototype = {
    moveNext$0() {
      var _this = this,
        t1 = _this.nextIndex,
        t2 = _this.input;
      if (t1 >= t2.length) {
        _this._string_iterator$_current = null;
        return false;
      }
      _this.nextIndex = t1 + 1;
      _this._string_iterator$_current = t2[t1];
      return true;
    }
  };
  A.UninitializedLocaleData.prototype = {
    $index(_, key) {
      return A.canonicalizedLocale(key) === "en_US" ? this.fallbackData : this._throwException$0();
    },
    get$keys(_) {
      return type$.List_String._as(this._throwException$0());
    },
    _throwException$0() {
      throw A.wrapException(new A.LocaleDataException("Locale data has not been initialized, call " + this.message + "."));
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.LocaleDataException.prototype = {
    toString$0(_) {
      return "LocaleDataException: " + this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.Level.prototype = {
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Level && this.value === other.value;
    },
    $lt(_, other) {
      return B.JSInt_methods.$lt(this.value, other.get$value(other));
    },
    $gt(_, other) {
      return B.JSInt_methods.$gt(this.value, other.get$value(other));
    },
    compareTo$1(_, other) {
      return this.value - other.value;
    },
    get$hashCode(_) {
      return this.value;
    },
    toString$0(_) {
      return this.name;
    },
    $isComparable: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.LogRecord0.prototype = {
    toString$0(_) {
      return "[" + this.level.name + "] " + this.loggerName + ": " + this.message;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.Logger.prototype = {
    get$fullName() {
      var t1 = this.parent,
        t2 = t1 == null ? null : t1.name.length !== 0,
        t3 = this.name;
      return t2 === true ? t1.get$fullName() + "." + t3 : t3;
    },
    get$level(_) {
      var t1, effectiveLevel;
      if (this.parent == null) {
        t1 = this._logger$_level;
        t1.toString;
        effectiveLevel = t1;
      } else {
        t1 = $.$get$Logger_root()._logger$_level;
        t1.toString;
        effectiveLevel = t1;
      }
      return effectiveLevel;
    },
    log$4(logLevel, message, error, stackTrace) {
      var t2, record, _this = this,
        t1 = logLevel.value;
      if (t1 >= _this.get$level(_this).value) {
        if (t1 >= 2000) {
          A.StackTrace_current();
          logLevel.toString$0(0);
        }
        t1 = _this.get$fullName();
        t2 = Date.now();
        $.LogRecord__nextNumber = $.LogRecord__nextNumber + 1;
        record = new A.LogRecord0(logLevel, message, t1, new A.DateTime(t2, false));
        if (_this.parent == null)
          _this._publish$1(record);
        else
          $.$get$Logger_root()._publish$1(record);
      }
    },
    _publish$1(record) {
      return null;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.Logger_Logger_closure.prototype = {
    call$0() {
      var dot, $parent, t1,
        thisName = this.name;
      if (B.JSString_methods.startsWith$1(thisName, "."))
        A.throwExpression(A.ArgumentError$("name shouldn't start with a '.'", null));
      dot = B.JSString_methods.lastIndexOf$1(thisName, ".");
      if (dot === -1)
        $parent = thisName !== "" ? A.Logger_Logger("") : null;
      else {
        $parent = A.Logger_Logger(B.JSString_methods.substring$2(thisName, 0, dot));
        thisName = B.JSString_methods.substring$1(thisName, dot + 1);
      }
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
      t1 = new A.Logger(thisName, $parent, t1, new A.UnmodifiableMapView(t1, type$.UnmodifiableMapView_String_Logger));
      if ($parent == null)
        t1._logger$_level = B.Level_INFO_800;
      else
        $parent._logger$_children.$indexSet(0, thisName, t1);
      return t1;
    },
    $signature: 1038
  };
  A.Element0.prototype = {
    accept$1(_, visitor) {
      var t1, t2, tag, child, t3, el, bullet, t4, current, $parent, padding, style, align, _this = this, _null = null;
      if (visitor.visitElementBefore$1(_this)) {
        t1 = _this.children;
        if (t1 != null)
          for (t2 = J.get$iterator$ax(t1); t2.moveNext$0();)
            t2.get$current(t2).accept$1(0, visitor);
        tag = _this.tag;
        if (B.JSArray_methods.contains$1(B.List_atK, tag)) {
          visitor._addAnonymousBlockIfNeeded$0();
          t2 = visitor._blocks.pop().children;
          if (t2.length !== 0)
            child = A.Column$(t2, B.CrossAxisAlignment_3, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, B.VerticalDirection_1);
          else
            child = B.SizedBox_null_null_null_null;
          if (B.JSArray_methods.contains$1(B.List_ul_ol, tag))
            visitor._listIndents.pop();
          else if (tag === "li") {
            t2 = visitor._listIndents;
            if (t2.length !== 0) {
              t1.toString;
              t3 = J.getInterceptor$asx(t1);
              if (t3.get$isEmpty(t1))
                t3.add$1(t1, new A.Text0(""));
              el = t3.$index(t1, 0);
              bullet = el instanceof A.Element0 && el.attributes.$index(0, "type") === "checkbox" ? visitor._buildCheckbox$1(el.attributes.$index(0, "checked") !== "false") : visitor._buildBullet$1(B.JSArray_methods.get$last(t2));
              t1 = visitor.listItemCrossAxisAlignment === B.MarkdownListItemCrossAxisAlignment_1;
              t2 = t1 ? _null : B.TextBaseline_0;
              t1 = t1 ? B.CrossAxisAlignment_0 : B.CrossAxisAlignment_4;
              t3 = visitor.styleSheet;
              t4 = t3.listBulletPadding;
              child = A.Row$(A._setArrayType([A.SizedBox$(bullet, _null, t3.listIndent + t4.left + t4.right), A.Expanded$(child, 1)], type$.JSArray_Widget), t1, _null, B.MainAxisAlignment_0, B.MainAxisSize_1, t2, _null);
            }
          } else if (tag === "table") {
            t1 = visitor.styleSheet;
            child = A.Table$(t1.tableBorder, visitor._tables.pop().rows, _null, t1.tableColumnWidth, B.TableCellVerticalAlignment_1);
          } else if (tag === "blockquote") {
            visitor._isInBlockquote = false;
            t1 = visitor.styleSheet;
            child = A.DecoratedBox$(new A.Padding(t1.blockquotePadding, child, _null), t1.blockquoteDecoration, B.DecorationPosition_0);
          } else if (tag === "pre")
            child = A.DecoratedBox$(child, visitor.styleSheet.codeblockDecoration, B.DecorationPosition_0);
          else if (tag === "hr")
            child = A.Container$(_null, _null, B.Clip_0, _null, _null, visitor.styleSheet.horizontalRuleDecoration, _null, _null, _null, _null, _null, _null, _null, _null);
          visitor._addBlockChild$1(child);
        } else {
          t1 = visitor._inlines;
          current = t1.pop();
          $parent = B.JSArray_methods.get$last(t1);
          t1 = visitor.paddingBuilders;
          padding = t1.containsKey$1(0, tag) ? t1.$index(0, tag).getPadding$0() : B.EdgeInsets_0_0_0_0;
          t1 = visitor.builders;
          if (t1.containsKey$1(0, tag)) {
            t1 = t1.$index(0, tag);
            t1.toString;
            current.children[0] = t1.visitElementAfter$2(_this, J.$index$asx(visitor.styleSheet._styles, tag));
          } else if (tag === "img") {
            t1 = _this.attributes;
            t2 = t1.$index(0, "src");
            t2.toString;
            current.children.push(visitor._buildPadding$2(padding, visitor._buildImage$3(t2, t1.$index(0, "title"), t1.$index(0, "alt"))));
          } else if (tag === "br")
            current.children.push(visitor._buildRichText$1(B.TextSpan_mpm));
          else {
            t1 = tag === "th";
            if (t1 || tag === "td") {
              style = _this.attributes.$index(0, "style");
              if (style == null)
                align = t1 ? visitor.styleSheet.tableHeadAlign : B.TextAlign_0;
              else
                switch (A.RegExp_RegExp("text-align: (left|center|right)", true, false).matchAsPrefix$1(0, style)._match[1]) {
                  case "left":
                    align = B.TextAlign_0;
                    break;
                  case "center":
                    align = B.TextAlign_2;
                    break;
                  case "right":
                    align = B.TextAlign_1;
                    break;
                  default:
                    align = _null;
                }
              t1 = visitor._mergeInlineChildren$2(current.children, align);
              t2 = visitor.styleSheet;
              t3 = t2.tableBody;
              t3.toString;
              child = A.TableCell$(new A.Padding(t2.tableCellsPadding, A.DefaultTextStyle$(A.Wrap$(B.WrapAlignment_0, type$.List_Widget._as(t1), B.WrapCrossAlignment_0), _null, _null, B.TextOverflow_0, true, t3, align, _null, B.TextWidthBasis_0), _null), _null);
              B.JSArray_methods.add$1(B.JSArray_methods.get$last(B.JSArray_methods.get$single(visitor._tables).rows).children, child);
            } else if (tag === "a")
              visitor._linkHandlers.pop();
          }
          t1 = current.children;
          if (t1.length !== 0)
            B.JSArray_methods.addAll$1($parent.children, t1);
        }
        if (visitor._currentBlockTag === tag)
          visitor._currentBlockTag = null;
        visitor._lastVisitedTag = tag;
      }
    },
    get$textContent() {
      var t1 = this.children;
      if (t1 == null)
        t1 = A._setArrayType([], type$.JSArray_Node_2);
      return J.map$1$1$ax(t1, new A.Element_textContent_closure(), type$.String).join$1(0, "");
    },
    $isNode1: 1
  };
  A.Element_textContent_closure.prototype = {
    call$1(child) {
      return child.get$textContent();
    },
    $signature: 240
  };
  A.Text0.prototype = {
    accept$1(_, visitor) {
      return visitor.visitText$1(this);
    },
    get$textContent() {
      return this.text;
    },
    $isNode1: 1
  };
  A.UnparsedContent.prototype = {
    accept$1(_, visitor) {
    },
    $isNode1: 1,
    get$textContent() {
      return this.textContent;
    }
  };
  A.BlockParser.prototype = {
    get$next(_) {
      var t1 = this._pos,
        t2 = this.lines;
      if (t1 >= t2.length - 1)
        return null;
      return t2[t1 + 1];
    },
    peek$1(linesAhead) {
      var t1 = this._pos,
        t2 = this.lines;
      if (t1 >= t2.length - linesAhead)
        return null;
      return t2[t1 + linesAhead];
    },
    matches$1(_, regex) {
      var t1 = this._pos,
        t2 = this.lines;
      if (t1 >= t2.length)
        return false;
      t1 = t2[t1];
      t2 = regex._nativeRegExp;
      return t2.test(t1);
    },
    matchesNext$1(regex) {
      var t1, t2, _this = this;
      if (_this.get$next(_this) == null)
        return false;
      t1 = _this.get$next(_this);
      t1.toString;
      t2 = regex._nativeRegExp;
      return t2.test(t1);
    },
    parseLines$0() {
      var t1, t2, t3, _i, syntax, block, _this = this,
        blocks = A._setArrayType([], type$.JSArray_Node_2);
      for (t1 = _this.lines, t2 = _this.blockSyntaxes; _this._pos < t1.length;)
        for (t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) {
          syntax = t2[_i];
          if (syntax.canParse$1(_this)) {
            block = J.parse$1$z(syntax, _this);
            if (block != null)
              blocks.push(block);
            break;
          }
        }
      return blocks;
    }
  };
  A.BlockSyntax.prototype = {
    canEndBlock$1(parser) {
      return true;
    },
    canParse$1(parser) {
      var t1 = this.get$pattern(this),
        t2 = parser.lines[parser._pos];
      t1 = t1._nativeRegExp;
      return t1.test(t2);
    }
  };
  A.BlockSyntax_isAtBlockEnd_closure.prototype = {
    call$1(s) {
      var t1 = this.parser;
      return s.canParse$1(t1) && s.canEndBlock$1(t1);
    },
    $signature: 239
  };
  A.EmptyBlockSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_emptyPattern();
    },
    parse$1(_, parser) {
      parser.encounteredBlankLine = true;
      ++parser._pos;
      return null;
    }
  };
  A.SetextHeaderSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_dummyPattern();
    },
    canParse$1(parser) {
      var i, nextLine, t1;
      if (!this._interperableAsParagraph$1(parser.lines[parser._pos]))
        return false;
      for (i = 1; true;) {
        nextLine = parser.peek$1(i);
        if (nextLine == null)
          return false;
        t1 = $.$get$_setextPattern()._nativeRegExp;
        if (t1.test(nextLine))
          return true;
        if (!this._interperableAsParagraph$1(nextLine))
          return false;
        ++i;
      }
    },
    parse$1(_, parser) {
      var tag, t2, match,
        lines = A._setArrayType([], type$.JSArray_String),
        t1 = parser.lines;
      while (true) {
        t2 = parser._pos;
        if (!(t2 < t1.length)) {
          tag = null;
          break;
        }
        c$0: {
          match = $.$get$_setextPattern().firstMatch$1(t1[t2]);
          if (match == null) {
            lines.push(t1[parser._pos]);
            ++parser._pos;
            break c$0;
          } else {
            tag = match._match[1][0] === "=" ? "h1" : "h2";
            ++parser._pos;
            break;
          }
        }
      }
      t1 = B.JSString_methods.trimRight$0(B.JSArray_methods.join$1(lines, "\n"));
      tag.toString;
      t2 = type$.String;
      return new A.Element0(tag, A._setArrayType([new A.UnparsedContent(t1)], type$.JSArray_Node_2), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
    },
    _interperableAsParagraph$1(line) {
      var t1 = $.$get$_indentPattern()._nativeRegExp;
      if (!t1.test(line)) {
        t1 = $.$get$_codeFencePattern()._nativeRegExp;
        if (!t1.test(line)) {
          t1 = $.$get$_headerPattern()._nativeRegExp;
          if (!t1.test(line)) {
            t1 = $.$get$_blockquotePattern()._nativeRegExp;
            if (!t1.test(line)) {
              t1 = $.$get$_hrPattern()._nativeRegExp;
              if (!t1.test(line)) {
                t1 = $.$get$_ulPattern()._nativeRegExp;
                if (!t1.test(line)) {
                  t1 = $.$get$_olPattern()._nativeRegExp;
                  if (!t1.test(line)) {
                    t1 = $.$get$_emptyPattern()._nativeRegExp;
                    t1 = t1.test(line);
                  } else
                    t1 = true;
                } else
                  t1 = true;
              } else
                t1 = true;
            } else
              t1 = true;
          } else
            t1 = true;
        } else
          t1 = true;
      } else
        t1 = true;
      return !t1;
    }
  };
  A.HeaderSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_headerPattern();
    },
    parse$1(_, parser) {
      var level, t2,
        t1 = $.$get$_headerPattern().firstMatch$1(parser.lines[parser._pos]);
      t1.toString;
      ++parser._pos;
      t1 = t1._match;
      level = t1[1].length;
      t1 = t1[2];
      t1.toString;
      t2 = type$.String;
      return new A.Element0("h" + level, A._setArrayType([new A.UnparsedContent(B.JSString_methods.trim$0(t1))], type$.JSArray_Node_2), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
    }
  };
  A.BlockquoteSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_blockquotePattern();
    },
    parseChildLines$1(parser) {
      var t1, t2, encounteredCodeBlock, t3, match, t4, otherMatched,
        childLines = A._setArrayType([], type$.JSArray_String);
      for (t1 = parser.lines, t2 = parser.blockSyntaxes, encounteredCodeBlock = false; t3 = parser._pos, t3 < t1.length;) {
        match = $.$get$_blockquotePattern().firstMatch$1(t1[t3]);
        if (match != null) {
          t3 = match._match[1];
          t3.toString;
          childLines.push(t3);
          t4 = $.$get$_indentPattern()._nativeRegExp;
          encounteredCodeBlock = t4.test(t3);
          ++parser._pos;
          continue;
        }
        otherMatched = B.JSArray_methods.firstWhere$1(t2, new A.BlockquoteSyntax_parseChildLines_closure(parser));
        if (!(otherMatched instanceof A.ParagraphSyntax))
          t3 = !encounteredCodeBlock && otherMatched instanceof A.CodeBlockSyntax;
        else
          t3 = true;
        if (t3) {
          childLines.push(t1[parser._pos]);
          ++parser._pos;
        } else
          break;
      }
      return childLines;
    },
    parse$1(_, parser) {
      var t1 = type$.String;
      return new A.Element0("blockquote", A.BlockParser$(this.parseChildLines$1(parser), parser.document).parseLines$0(), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    }
  };
  A.BlockquoteSyntax_parseChildLines_closure.prototype = {
    call$1(s) {
      return s.canParse$1(this.parser);
    },
    $signature: 239
  };
  A.CodeBlockSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_indentPattern();
    },
    canEndBlock$1(parser) {
      return false;
    },
    parseChildLines$1(parser) {
      var t1, t2, t3, match, nextMatch,
        childLines = A._setArrayType([], type$.JSArray_nullable_String);
      for (t1 = parser.lines; t2 = parser._pos, t2 < t1.length;) {
        t3 = $.$get$_indentPattern();
        match = t3.firstMatch$1(t1[t2]);
        if (match != null) {
          childLines.push(match._match[1]);
          ++parser._pos;
        } else {
          if (parser.get$next(parser) != null) {
            t2 = parser.get$next(parser);
            t2.toString;
            nextMatch = t3.firstMatch$1(t2);
          } else
            nextMatch = null;
          if (B.JSString_methods.trim$0(t1[parser._pos]) === "" && nextMatch != null) {
            childLines.push("");
            childLines.push(nextMatch._match[1]);
            parser._pos = ++parser._pos + 1;
          } else
            break;
        }
      }
      return childLines;
    },
    parse$1(_, parser) {
      var $content, t1, t2,
        childLines = this.parseChildLines$1(parser);
      childLines.push("");
      $content = B.JSArray_methods.join$1(childLines, "\n");
      t1 = type$.JSArray_Node_2;
      t2 = type$.String;
      return new A.Element0("pre", A._setArrayType([new A.Element0("code", A._setArrayType([new A.Text0($content)], t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2))], t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
    }
  };
  A.FencedCodeBlockSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_codeFencePattern();
    },
    canParse$1(parser) {
      var t1, t2, infoString,
        match = $.$get$_codeFencePattern().firstMatch$1(parser.lines[parser._pos]);
      if (match == null)
        return false;
      t1 = match._match;
      t2 = t1[1];
      t2.toString;
      infoString = t1[2];
      if (B.JSString_methods._codeUnitAt$1(t2, 0) === 96) {
        infoString.toString;
        t1 = new A.CodeUnits(infoString);
        t1 = !t1.contains$1(t1, 96);
      } else
        t1 = true;
      return t1;
    },
    parseChildLines$2(parser, endBlock) {
      var childLines, t1, t2, match, t3;
      if (endBlock == null)
        endBlock = "";
      childLines = A._setArrayType([], type$.JSArray_String);
      t1 = ++parser._pos;
      for (t2 = parser.lines; t1 < t2.length;) {
        match = $.$get$_codeFencePattern().firstMatch$1(t2[t1]);
        if (match != null) {
          t1 = match._match[1];
          t1.toString;
          t1 = !B.JSString_methods.startsWith$1(t1, endBlock);
        } else
          t1 = true;
        t3 = parser._pos;
        if (t1) {
          childLines.push(t2[t3]);
          t1 = ++parser._pos;
        } else {
          parser._pos = t3 + 1;
          break;
        }
      }
      return childLines;
    },
    parse$1(_, parser) {
      var childLines, text, t3, t4, t5, infoString, firstSpace,
        t1 = $.$get$_codeFencePattern().firstMatch$1(parser.lines[parser._pos])._match,
        t2 = t1[1];
      t1 = t1[2];
      t1.toString;
      childLines = this.parseChildLines$2(parser, t2);
      childLines.push("");
      text = B.JSArray_methods.join$1(childLines, "\n");
      t2 = type$.JSArray_Node_2;
      t3 = A._setArrayType([new A.Text0(text)], t2);
      t4 = type$.String;
      t5 = A.LinkedHashMap_LinkedHashMap$_empty(t4, t4);
      infoString = B.JSString_methods.trim$0(t1);
      if (infoString.length !== 0) {
        firstSpace = B.JSString_methods.indexOf$1(infoString, " ");
        if (firstSpace >= 0)
          infoString = B.JSString_methods.substring$2(infoString, 0, firstSpace);
        t5.$indexSet(0, "class", "language-" + infoString);
      }
      return new A.Element0("pre", A._setArrayType([new A.Element0("code", t3, t5)], t2), A.LinkedHashMap_LinkedHashMap$_empty(t4, t4));
    }
  };
  A.HorizontalRuleSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_hrPattern();
    },
    parse$1(_, parser) {
      var t1;
      ++parser._pos;
      t1 = type$.String;
      return new A.Element0("hr", null, A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    }
  };
  A.BlockHtmlSyntax.prototype = {
    canEndBlock$1(parser) {
      return true;
    }
  };
  A.BlockTagBlockHtmlSyntax.prototype = {
    get$pattern(_) {
      return $.$get$BlockTagBlockHtmlSyntax__pattern();
    },
    canParse$1(parser) {
      var t1 = $.$get$BlockTagBlockHtmlSyntax__openBracketPattern(),
        t2 = parser.lines[parser._pos];
      t1 = t1._nativeRegExp;
      if (!t1.test(t2))
        return false;
      return this.super$BlockSyntax$canParse(parser);
    },
    parse$1(_, parser) {
      var childLines = A._setArrayType([], type$.JSArray_String),
        t1 = parser.lines;
      while (true) {
        if (!(parser._pos < t1.length && !parser.matches$1(0, $.$get$_emptyPattern())))
          break;
        childLines.push(t1[parser._pos]);
        ++parser._pos;
      }
      return new A.Text0(B.JSString_methods.trimRight$0(B.JSArray_methods.join$1(childLines, "\n")));
    }
  };
  A.OtherTagBlockHtmlSyntax.prototype = {
    canEndBlock$1(parser) {
      return false;
    },
    get$pattern(_) {
      return A.RegExp_RegExp("^ {0,3}</?\\w+(?:>|\\s+[^>]*>)\\s*$", true, false);
    }
  };
  A.LongBlockHtmlSyntax.prototype = {
    parse$1(_, parser) {
      var t1, t2, t3,
        childLines = A._setArrayType([], type$.JSArray_String);
      for (t1 = parser.lines, t2 = this._endPattern; t3 = parser._pos, t3 < t1.length;) {
        childLines.push(t1[t3]);
        if (parser.matches$1(0, t2))
          break;
        ++parser._pos;
      }
      ++parser._pos;
      return new A.Text0(B.JSString_methods.trimRight$0(B.JSArray_methods.join$1(childLines, "\n")));
    },
    get$pattern(receiver) {
      return this.pattern;
    }
  };
  A.ListItem.prototype = {};
  A.ListSyntax.prototype = {
    canEndBlock$1(parser) {
      var t1 = this.get$pattern(this).firstMatch$1(parser.lines[parser._pos])._match[7];
      t1 = t1 == null ? null : t1.length !== 0;
      return t1 === true;
    },
    parse$1(_, parser) {
      var endItem, match, tryMatch, t1, t2, startNumber, indent, listMarker, t3, t4, leadingExpandedTabLength, t5, line, digits, firstWhitespace, restWhitespace, $content, markerAsSpaces, itemNodes, anyEmptyLines, anyEmptyLinesBetweenBlocks, _i, itemParser, children, i, child, _this = this, _null = null, _box_0 = {},
        items = A._setArrayType([], type$.JSArray_ListItem);
      _box_0.childLines = A._setArrayType([], type$.JSArray_String);
      endItem = new A.ListSyntax_parse_endItem(_box_0, items);
      match = A._Cell$named("match");
      tryMatch = new A.ListSyntax_parse_tryMatch(match, parser);
      for (t1 = parser.lines, t2 = match.__late_helper$_name, startNumber = _null, indent = startNumber, listMarker = indent; t3 = parser._pos, t3 < t1.length;) {
        t4 = $.$get$ListSyntax__whitespaceRe();
        t3 = t1[t3];
        t3 = t4._execAnchored$2(t3, 0)._match[0];
        t3.toString;
        leadingExpandedTabLength = A.ListSyntax__expandedTabLength(t3);
        t4 = $.$get$_emptyPattern();
        if (tryMatch.call$1(t4)) {
          t3 = parser.get$next(parser);
          if (t3 == null)
            t3 = "";
          t4 = t4._nativeRegExp;
          if (t4.test(t3))
            break;
          _box_0.childLines.push("");
        } else if (indent != null && indent.length <= leadingExpandedTabLength) {
          t4 = t1[parser._pos];
          t5 = B.JSString_methods.$mul(" ", leadingExpandedTabLength);
          t3 = A.stringReplaceFirstUnchecked(t4, t3, t5, 0);
          line = A.stringReplaceFirstUnchecked(t3, indent, "", 0);
          _box_0.childLines.push(line);
        } else if (tryMatch.call$1($.$get$_hrPattern()))
          break;
        else if (tryMatch.call$1($.$get$_ulPattern()) || tryMatch.call$1($.$get$_olPattern())) {
          t3 = match.__late_helper$_value;
          if (t3 === match)
            A.throwExpression(A.LateError$localNI(t2));
          t3.toString;
          t3 = J.$index$asx(t3, 1);
          t3.toString;
          t4 = match.__late_helper$_value;
          if (t4 === match)
            A.throwExpression(A.LateError$localNI(t2));
          t4.toString;
          digits = J.$index$asx(t4, 2);
          if (digits == null)
            digits = "";
          if (startNumber == null && digits.length !== 0)
            startNumber = A.int_parse(digits, _null);
          t4 = match.__late_helper$_value;
          if (t4 === match)
            A.throwExpression(A.LateError$localNI(t2));
          t4.toString;
          t4 = J.$index$asx(t4, 3);
          t4.toString;
          t5 = match.__late_helper$_value;
          if (t5 === match)
            A.throwExpression(A.LateError$localNI(t2));
          t5.toString;
          firstWhitespace = J.$index$asx(t5, 5);
          if (firstWhitespace == null)
            firstWhitespace = "";
          t5 = match.__late_helper$_value;
          if (t5 === match)
            A.throwExpression(A.LateError$localNI(t2));
          t5.toString;
          restWhitespace = J.$index$asx(t5, 6);
          if (restWhitespace == null)
            restWhitespace = "";
          t5 = match.__late_helper$_value;
          if (t5 === match)
            A.throwExpression(A.LateError$localNI(t2));
          t5.toString;
          $content = J.$index$asx(t5, 7);
          if ($content == null)
            $content = "";
          if (listMarker != null && listMarker !== t4)
            break;
          markerAsSpaces = B.JSString_methods.$mul(" ", digits.length + t4.length);
          if ($content.length === 0)
            indent = t3 + markerAsSpaces + " ";
          else {
            indent = t3 + markerAsSpaces + firstWhitespace;
            indent = restWhitespace.length >= 4 ? indent : indent + restWhitespace;
          }
          endItem.call$0();
          _box_0.childLines.push(restWhitespace + $content);
          listMarker = t4;
        } else if (A.BlockSyntax_isAtBlockEnd(parser))
          break;
        else {
          t3 = _box_0.childLines;
          if (t3.length !== 0 && B.JSArray_methods.get$last(t3) === "") {
            parser.encounteredBlankLine = true;
            break;
          }
          _box_0.childLines.push(t1[parser._pos]);
        }
        ++parser._pos;
      }
      endItem.call$0();
      itemNodes = A._setArrayType([], type$.JSArray_Element_2);
      B.JSArray_methods.forEach$1(items, _this.get$_removeLeadingEmptyLine());
      anyEmptyLines = _this._removeTrailingEmptyLines$1(items);
      for (t1 = items.length, t2 = parser.document, t3 = type$.String, anyEmptyLinesBetweenBlocks = false, _i = 0; _i < items.length; items.length === t1 || (0, A.throwConcurrentModificationError)(items), ++_i) {
        itemParser = A.BlockParser$(items[_i].lines, t2);
        itemNodes.push(new A.Element0("li", itemParser.parseLines$0(), A.LinkedHashMap_LinkedHashMap$_empty(t3, t3)));
        anyEmptyLinesBetweenBlocks = anyEmptyLinesBetweenBlocks || itemParser.encounteredBlankLine;
      }
      if (!anyEmptyLines && !anyEmptyLinesBetweenBlocks)
        for (t1 = itemNodes.length, _i = 0; _i < itemNodes.length; itemNodes.length === t1 || (0, A.throwConcurrentModificationError)(itemNodes), ++_i) {
          children = itemNodes[_i].children;
          if (children != null)
            for (t2 = J.getInterceptor$asx(children), i = 0; i < t2.get$length(children); ++i) {
              child = t2.$index(children, i);
              if (child instanceof A.Element0 && child.tag === "p") {
                t2.removeAt$1(children, i);
                t4 = child.children;
                t4.toString;
                t2.insertAll$2(children, i, t4);
              }
            }
        }
      if (_this.get$listTag() === "ol" && startNumber !== 1) {
        t1 = _this.get$listTag();
        t3 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
        t3.$indexSet(0, "start", A.S(startNumber));
        return new A.Element0(t1, itemNodes, t3);
      } else
        return new A.Element0(_this.get$listTag(), itemNodes, A.LinkedHashMap_LinkedHashMap$_empty(t3, t3));
    },
    _removeLeadingEmptyLine$1(item) {
      var t2, t3,
        t1 = item.lines;
      if (t1.length !== 0) {
        t2 = $.$get$_emptyPattern();
        t3 = B.JSArray_methods.get$first(t1);
        t2 = t2._nativeRegExp;
        t2 = t2.test(t3);
      } else
        t2 = false;
      if (t2)
        B.JSArray_methods.removeAt$1(t1, 0);
    },
    _removeTrailingEmptyLines$1(items) {
      var anyEmpty, i, t1, t2;
      for (anyEmpty = false, i = 0; i < items.length; ++i) {
        if (items[i].lines.length === 1)
          continue;
        while (true) {
          t1 = items[i].lines;
          if (t1.length !== 0) {
            t2 = $.$get$_emptyPattern();
            t1 = B.JSArray_methods.get$last(t1);
            t2 = t2._nativeRegExp;
            t1 = t2.test(t1);
          } else
            t1 = false;
          if (!t1)
            break;
          if (i < items.length - 1)
            anyEmpty = true;
          items[i].lines.pop();
        }
      }
      return anyEmpty;
    }
  };
  A.ListSyntax_parse_endItem.prototype = {
    call$0() {
      var t1 = this._box_0,
        t2 = t1.childLines;
      if (t2.length !== 0) {
        this.items.push(new A.ListItem(t2));
        t1.childLines = A._setArrayType([], type$.JSArray_String);
      }
    },
    $signature: 0
  };
  A.ListSyntax_parse_tryMatch.prototype = {
    call$1(pattern) {
      var t1 = this.match,
        t2 = this.parser;
      t1.__late_helper$_value = pattern.firstMatch$1(t2.lines[t2._pos]);
      return t1._readLocal$0() != null;
    },
    $signature: 1042
  };
  A.UnorderedListSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_ulPattern();
    },
    get$listTag() {
      return "ul";
    }
  };
  A.OrderedListSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_olPattern();
    },
    get$listTag() {
      return "ol";
    }
  };
  A.TableSyntax.prototype = {
    canEndBlock$1(parser) {
      return false;
    },
    get$pattern(_) {
      return $.$get$_dummyPattern();
    },
    canParse$1(parser) {
      return parser.matchesNext$1($.$get$_tablePattern());
    },
    parse$1(_, parser) {
      var alignments, columnCount, headRow, t2, head, rows, t3, row, children, t4,
        t1 = parser.get$next(parser);
      t1.toString;
      alignments = this._parseAlignments$1(t1);
      columnCount = alignments.length;
      headRow = this._parseRow$3(parser, alignments, "th");
      t1 = headRow.children;
      t1.toString;
      if (J.get$length$asx(t1) !== columnCount)
        return null;
      t1 = type$.JSArray_Node_2;
      t2 = type$.String;
      head = new A.Element0("thead", A._setArrayType([headRow], t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
      ++parser._pos;
      rows = A._setArrayType([], type$.JSArray_Element_2);
      t3 = parser.lines;
      while (true) {
        if (!(parser._pos < t3.length && !A.BlockSyntax_isAtBlockEnd(parser)))
          break;
        row = this._parseRow$3(parser, alignments, "td");
        children = row.children;
        if (children != null) {
          for (t4 = J.getInterceptor$asx(children); t4.get$length(children) < columnCount;)
            t4.add$1(children, new A.Element0("td", null, A.LinkedHashMap_LinkedHashMap$_empty(t2, t2)));
          for (; t4.get$length(children) > columnCount;)
            t4.removeLast$0(children);
        }
        children.toString;
        t4 = J.getInterceptor$asx(children);
        for (; t4.get$length(children) > columnCount;)
          t4.removeLast$0(children);
        rows.push(row);
      }
      if (rows.length === 0)
        return new A.Element0("table", A._setArrayType([head], t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
      else
        return new A.Element0("table", A._setArrayType([head, new A.Element0("tbody", rows, A.LinkedHashMap_LinkedHashMap$_empty(t2, t2))], t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
    },
    _parseAlignments$1(line) {
      var ch, t1,
        startIndex = this._walkPastOpeningPipe$1(line),
        endIndex = line.length - 1;
      for (; endIndex > 0;) {
        ch = B.JSString_methods.codeUnitAt$1(line, endIndex);
        if (ch === 124) {
          --endIndex;
          break;
        }
        if (ch !== 32 && ch !== 9)
          break;
        --endIndex;
      }
      t1 = type$.MappedListIterable_of_String_and_nullable_String;
      return A.List_List$of(new A.MappedListIterable(A._setArrayType(B.JSString_methods.substring$2(line, startIndex, endIndex + 1).split("|"), type$.JSArray_String), new A.TableSyntax__parseAlignments_closure(), t1), true, t1._eval$1("ListIterable.E"));
    },
    _parseRow$3(parser, alignments, cellType) {
      var t1, t2, t3, ch, escaped, t4, _i, i,
        line = parser.lines[parser._pos],
        cells = A._setArrayType([], type$.JSArray_String),
        index = this._walkPastOpeningPipe$1(line);
      for (t1 = line.length, t2 = t1 - 1, t3 = ""; true;) {
        if (index >= t1) {
          cells.push(B.JSString_methods.trimRight$0(t3.charCodeAt(0) == 0 ? t3 : t3));
          break;
        }
        ch = B.JSString_methods._codeUnitAt$1(line, index);
        if (ch === 92) {
          if (index === t2) {
            t1 = t3 + A.Primitives_stringFromCharCode(ch);
            cells.push(B.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1));
            break;
          }
          escaped = B.JSString_methods._codeUnitAt$1(line, index + 1);
          t3 = escaped === 124 ? t3 + A.Primitives_stringFromCharCode(escaped) : t3 + A.Primitives_stringFromCharCode(ch) + A.Primitives_stringFromCharCode(escaped);
          index += 2;
        } else {
          ++index;
          if (ch === 124) {
            cells.push(B.JSString_methods.trimRight$0(t3.charCodeAt(0) == 0 ? t3 : t3));
            index = this._walkPastWhitespace$2(line, index);
            if (index >= t1)
              break;
            t3 = "";
          } else
            t3 += A.Primitives_stringFromCharCode(ch);
        }
      }
      ++parser._pos;
      t1 = A._setArrayType([], type$.JSArray_Element_2);
      for (t2 = cells.length, t3 = type$.JSArray_Node_2, t4 = type$.String, _i = 0; _i < cells.length; cells.length === t2 || (0, A.throwConcurrentModificationError)(cells), ++_i)
        t1.push(new A.Element0(cellType, A._setArrayType([new A.UnparsedContent(cells[_i])], t3), A.LinkedHashMap_LinkedHashMap$_empty(t4, t4)));
      i = 0;
      while (true) {
        if (!(i < t1.length && i < alignments.length))
          break;
        c$1: {
          t2 = alignments[i];
          if (t2 == null)
            break c$1;
          t1[i].attributes.$indexSet(0, "style", "text-align: " + A.S(t2) + ";");
        }
        ++i;
      }
      return new A.Element0("tr", t1, A.LinkedHashMap_LinkedHashMap$_empty(t4, t4));
    },
    _walkPastWhitespace$2(line, index) {
      var t1, ch;
      for (t1 = line.length; index < t1;) {
        ch = B.JSString_methods._codeUnitAt$1(line, index);
        if (ch !== 32 && ch !== 9)
          break;
        ++index;
      }
      return index;
    },
    _walkPastOpeningPipe$1(line) {
      var t1, index, ch;
      for (t1 = line.length, index = 0; index < t1;) {
        ch = B.JSString_methods._codeUnitAt$1(line, index);
        if (ch === 124)
          index = this._walkPastWhitespace$2(line, index + 1);
        if (ch !== 32 && ch !== 9)
          break;
        ++index;
      }
      return index;
    }
  };
  A.TableSyntax__parseAlignments_closure.prototype = {
    call$1(column) {
      var t1;
      column = B.JSString_methods.trim$0(column);
      t1 = B.JSString_methods.startsWith$1(column, ":");
      if (t1 && B.JSString_methods.endsWith$1(column, ":"))
        return "center";
      if (t1)
        return "left";
      if (B.JSString_methods.endsWith$1(column, ":"))
        return "right";
      return null;
    },
    $signature: 210
  };
  A.ParagraphSyntax.prototype = {
    get$pattern(_) {
      return $.$get$_dummyPattern();
    },
    canEndBlock$1(parser) {
      return false;
    },
    canParse$1(parser) {
      return true;
    },
    parse$1(_, parser) {
      var t1, paragraphLines,
        childLines = A._setArrayType([], type$.JSArray_String);
      for (t1 = parser.lines; !A.BlockSyntax_isAtBlockEnd(parser);) {
        childLines.push(t1[parser._pos]);
        ++parser._pos;
      }
      paragraphLines = this._extractReflinkDefinitions$2(parser, childLines);
      if (paragraphLines == null)
        return new A.Text0("");
      else {
        t1 = type$.String;
        return new A.Element0("p", A._setArrayType([new A.UnparsedContent(B.JSString_methods.trimRight$0(B.JSArray_methods.join$1(paragraphLines, "\n")))], type$.JSArray_Node_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
      }
    },
    _extractReflinkDefinitions$2(parser, lines) {
      var i, contents, j, t1, t2, t3,
        lineStartsReflinkDefinition = new A.ParagraphSyntax__extractReflinkDefinitions_lineStartsReflinkDefinition(lines);
      $label0$0:
        for (i = 0; true; i = j) {
          if (!lineStartsReflinkDefinition.call$1(i))
            break $label0$0;
          contents = lines[i];
          j = i + 1;
          for (; j < lines.length;)
            if (lineStartsReflinkDefinition.call$1(j))
              if (this._parseReflinkDefinition$2(parser, contents))
                continue $label0$0;
              else
                break;
            else {
              contents = contents + "\n" + lines[j];
              ++j;
            }
          if (this._parseReflinkDefinition$2(parser, contents)) {
            i = j;
            break $label0$0;
          }
          for (t1 = A._arrayInstanceType(lines), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"); j >= i;) {
            A.RangeError_checkValidRange(i, j, lines.length, null, null);
            t3 = new A.SubListIterable(lines, i, j, t1);
            t3.SubListIterable$3(lines, i, j, t2);
            if (this._parseReflinkDefinition$2(parser, t3.join$1(0, "\n"))) {
              i = j;
              break;
            }
            --j;
          }
          break $label0$0;
        }
      if (i === lines.length)
        return null;
      else
        return B.JSArray_methods.sublist$1(lines, i);
    },
    _parseReflinkDefinition$2(parser, contents) {
      var t2, t3, destination, t4, title, label, t1 = {},
        match = A.RegExp_RegExp("^[ ]{0,3}\\[((?:\\\\\\]|[^\\]])+)\\]:\\s*(?:<(\\S+)>|(\\S+))\\s*(\"[^\"]+\"|'[^']+'|\\([^)]+\\)|)\\s*$", true, true).firstMatch$1(contents);
      if (match == null)
        return false;
      t2 = match._match;
      if (t2[0].length < contents.length)
        return false;
      t3 = t2[1];
      t3.toString;
      t1.label = t3;
      destination = t2[2];
      if (destination == null) {
        t4 = t2[3];
        t4.toString;
        destination = t4;
      }
      title = t1.title = t2[4];
      t2 = $.$get$ParagraphSyntax__whitespacePattern()._nativeRegExp;
      if (t2.test(t3))
        return false;
      if (title === "")
        t1.title = null;
      else
        t1.title = B.JSString_methods.substring$2(title, 1, title.length - 1);
      t2 = B.JSString_methods.trim$0(t3);
      t3 = $.$get$_oneOrMoreWhitespacePattern();
      label = A.stringReplaceAllUnchecked(t2, t3, " ").toLowerCase();
      t1.label = label;
      parser.document.linkReferences.putIfAbsent$2(0, label, new A.ParagraphSyntax__parseReflinkDefinition_closure(t1, destination));
      return true;
    }
  };
  A.ParagraphSyntax__extractReflinkDefinitions_lineStartsReflinkDefinition.prototype = {
    call$1(i) {
      return B.JSString_methods.startsWith$1(this.lines[i], $.$get$ParagraphSyntax__reflinkDefinitionStart());
    },
    $signature: 41
  };
  A.ParagraphSyntax__parseReflinkDefinition_closure.prototype = {
    call$0() {
      return new A.LinkReference(this.destination, this._box_0.title);
    },
    $signature: 1043
  };
  A.Document.prototype = {
    _parseInlineContent$1(nodes) {
      var t1, t2, t3, t4, i, node, t5, t6, t7, t8, inlineNodes, _this = this, _null = null;
      for (t1 = J.getInterceptor$asx(nodes), t2 = type$.JSArray_InlineSyntax, t3 = type$.JSArray_Delimiter, t4 = type$.JSArray_Node_2, i = 0; i < t1.get$length(nodes); ++i) {
        node = t1.$index(nodes, i);
        if (node instanceof A.UnparsedContent) {
          t5 = node.textContent;
          t6 = A._setArrayType([], t2);
          t7 = A._setArrayType([], t3);
          t8 = A._setArrayType([], t4);
          B.JSArray_methods.addAll$1(t6, _this._inlineSyntaxes);
          if (_this.hasCustomInlineSyntaxes)
            t6.push(new A.TextSyntax("", A.RegExp_RegExp("[A-Za-z0-9]+(?=\\s)", true, true), _null));
          else
            t6.push(new A.TextSyntax("", A.RegExp_RegExp("[ \\tA-Za-z0-9]*[A-Za-z0-9](?=\\s)", true, true), _null));
          B.JSArray_methods.addAll$1(t6, A._setArrayType([A.LinkSyntax$(_null, "\\[", 91), A.ImageSyntax$(_null)], t2));
          B.JSArray_methods.addAll$1(t6, $.$get$InlineParser__defaultSyntaxes());
          inlineNodes = new A.InlineParser(t5, _this, t6, t7, t8).parse$0(0);
          t1.removeAt$1(nodes, i);
          t1.insertAll$2(nodes, i, inlineNodes);
          i += inlineNodes.length - 1;
        } else if (node instanceof A.Element0 && node.children != null) {
          t5 = node.children;
          t5.toString;
          _this._parseInlineContent$1(t5);
        }
      }
    }
  };
  A.LinkReference.prototype = {};
  A.ExtensionSet.prototype = {};
  A.InlineParser.prototype = {
    parse$0(_) {
      var t1, t2, t3, t4, _this = this;
      for (t1 = _this.source, t2 = t1.length, t3 = _this.syntaxes; t4 = _this.pos, t4 !== t2;) {
        if (B.JSString_methods.codeUnitAt$1(t1, t4) === 93) {
          _this.writeText$0(0);
          _this._linkOrImage$0();
          continue;
        }
        if (B.JSArray_methods.any$1(t3, new A.InlineParser_parse_closure(_this)))
          continue;
        ++_this.pos;
      }
      _this.writeText$0(0);
      _this._processEmphasis$1(-1);
      t1 = _this._inline_parser$_tree;
      _this._combineAdjacentText$1(t1);
      return t1;
    },
    _linkOrImage$0() {
      var delimiter, syntax, t2, nodeIndex, linkNode, t3, _i, d, _this = this,
        t1 = _this._delimiterStack,
        index = B.JSArray_methods.lastIndexWhere$1(t1, new A.InlineParser__linkOrImage_closure());
      if (index === -1) {
        _this._inline_parser$_tree.push(new A.Text0("]"));
        _this.start = ++_this.pos;
        return;
      }
      delimiter = type$.SimpleDelimiter._as(t1[index]);
      if (!delimiter.isActive) {
        B.JSArray_methods.removeAt$1(t1, index);
        _this._inline_parser$_tree.push(new A.Text0("]"));
        _this.start = ++_this.pos;
        return;
      }
      syntax = delimiter.syntax;
      if (syntax instanceof A.LinkSyntax && B.JSArray_methods.any$1(_this.syntaxes, new A.InlineParser__linkOrImage_closure0())) {
        t2 = _this._inline_parser$_tree;
        nodeIndex = B.JSArray_methods.lastIndexWhere$1(t2, new A.InlineParser__linkOrImage_closure1(delimiter));
        linkNode = syntax.close$4$getChildren(0, _this, delimiter, null, new A.InlineParser__linkOrImage_closure2(_this, index, nodeIndex));
        if (linkNode != null) {
          B.JSArray_methods.removeAt$1(t1, index);
          if (delimiter.char === 91)
            for (t1 = B.JSArray_methods.sublist$2(t1, 0, index), t3 = t1.length, _i = 0; _i < t1.length; t1.length === t3 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
              d = t1[_i];
              if (d.get$char() === 91)
                d.set$isActive(false);
            }
          t2[nodeIndex] = linkNode;
          _this.start = ++_this.pos;
        } else {
          B.JSArray_methods.removeAt$1(t1, index);
          t1 = _this.start;
          _this.pos = t1;
          _this.pos = t1 + 1;
        }
      } else
        throw A.wrapException(A.StateError$('Non-link syntax delimiter found with character "' + delimiter.char + '"'));
    },
    _canFormEmphasis$2($opener, closer) {
      var t1;
      if (!($opener.get$canOpen() && $opener.get$canClose()))
        t1 = closer.get$canOpen() && closer.get$canClose();
      else
        t1 = true;
      if (t1) {
        if (B.JSInt_methods.$mod($opener.get$length($opener) + closer.get$length(closer), 3) === 0)
          t1 = B.JSInt_methods.$mod($opener.get$length($opener), 3) === 0 && B.JSInt_methods.$mod(closer.get$length(closer), 3) === 0;
        else
          t1 = true;
        return t1;
      } else
        return true;
    },
    _processEmphasis$1(bottomIndex) {
      var t1, t2, t3, currentIndex0, t4, _box_0, closer, t5, openerBottom, t6, openerIndex, $opener, strong, openerTextNode, openerTextNodeIndex, closerTextNode, node, currentIndex1, newOpenerTextNode, newCloserTextNode, _this = this,
        currentIndex = bottomIndex + 1,
        openersBottom = A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.List_int);
      for (t1 = _this._delimiterStack, t2 = _this._inline_parser$_tree, t3 = type$.JSArray_Node_2, currentIndex0 = currentIndex; t4 = t1.length, currentIndex0 < t4;) {
        _box_0 = {};
        closer = t1[currentIndex0];
        if (!closer.get$canClose()) {
          ++currentIndex0;
          continue;
        }
        if (closer.get$char() === 91 || closer.get$char() === 33) {
          ++currentIndex0;
          continue;
        }
        openersBottom.putIfAbsent$2(0, closer.get$char(), new A.InlineParser__processEmphasis_closure(bottomIndex));
        t4 = openersBottom.$index(0, closer.get$char());
        t4.toString;
        t5 = J.getInterceptor$asx(t4);
        openerBottom = t5.$index(t4, B.JSInt_methods.$mod(closer.get$length(closer), 3));
        t6 = currentIndex0 - 1;
        openerIndex = B.JSArray_methods.lastIndexWhere$2(t1, new A.InlineParser__processEmphasis_closure0(_this, closer), t6);
        if (openerIndex > bottomIndex && openerIndex > openerBottom) {
          $opener = t1[openerIndex];
          strong = $opener.get$length($opener) >= 2 && closer.get$length(closer) >= 2;
          openerTextNode = $opener.get$node();
          openerTextNodeIndex = B.JSArray_methods.indexOf$1(t2, openerTextNode);
          closerTextNode = closer.get$node();
          _box_0.closerTextNodeIndex = B.JSArray_methods.indexOf$1(t2, closerTextNode);
          node = $opener.get$syntax().close$4$getChildren(0, _this, $opener, closer, new A.InlineParser__processEmphasis_closure1(_box_0, _this, openerTextNodeIndex));
          t4 = _box_0.closerTextNodeIndex;
          node.toString;
          B.JSArray_methods.replaceRange$3(t2, openerTextNodeIndex + 1, t4, A._setArrayType([node], t3));
          _box_0.closerTextNodeIndex = openerTextNodeIndex + 2;
          currentIndex1 = openerIndex + 1;
          if (!!t1.fixed$length)
            A.throwExpression(A.UnsupportedError$("removeRange"));
          A.RangeError_checkValidRange(currentIndex1, currentIndex0, t1.length, null, null);
          t1.splice(currentIndex1, currentIndex0 - currentIndex1);
          if (!(strong && openerTextNode.text.length === 2))
            t4 = !strong && openerTextNode.text.length === 1;
          else
            t4 = true;
          if (t4) {
            B.JSArray_methods.removeAt$1(t2, openerTextNodeIndex);
            B.JSArray_methods.removeAt$1(t1, openerIndex);
            currentIndex0 = currentIndex1 - 1;
            --_box_0.closerTextNodeIndex;
          } else {
            t4 = strong ? 2 : 1;
            newOpenerTextNode = new A.Text0(B.JSString_methods.substring$1(openerTextNode.text, t4));
            t2[openerTextNodeIndex] = newOpenerTextNode;
            $opener.set$node(newOpenerTextNode);
            currentIndex0 = currentIndex1;
          }
          if (!(strong && closerTextNode.text.length === 2))
            t4 = !strong && closerTextNode.text.length === 1;
          else
            t4 = true;
          if (t4) {
            B.JSArray_methods.removeAt$1(t2, _box_0.closerTextNodeIndex);
            B.JSArray_methods.removeAt$1(t1, currentIndex0);
          } else {
            t4 = strong ? 2 : 1;
            newCloserTextNode = new A.Text0(B.JSString_methods.substring$1(closerTextNode.text, t4));
            t2[_box_0.closerTextNodeIndex] = newCloserTextNode;
            closer.set$node(newCloserTextNode);
          }
        } else {
          t5.$indexSet(t4, B.JSInt_methods.$mod(closer.get$length(closer), 3), t6);
          if (!closer.get$canOpen())
            B.JSArray_methods.removeAt$1(t1, currentIndex0);
          else
            ++currentIndex0;
        }
      }
      B.JSArray_methods.removeRange$2(t1, currentIndex, t4);
    },
    _combineAdjacentText$1(nodes) {
      var t1, i, node, t2, t3, j;
      for (t1 = J.getInterceptor$asx(nodes), i = 0; i < t1.get$length(nodes) - 1; ++i) {
        node = t1.$index(nodes, i);
        if (node instanceof A.Element0 && node.children != null) {
          t2 = node.children;
          t2.toString;
          this._combineAdjacentText$1(t2);
          continue;
        }
        if (node instanceof A.Text0 && t1.$index(nodes, i + 1) instanceof A.Text0) {
          t2 = i + 1;
          t3 = node.text + t1.$index(nodes, t2).get$textContent();
          j = i + 2;
          while (true) {
            if (!(j < t1.get$length(nodes) && t1.$index(nodes, j) instanceof A.Text0))
              break;
            t3 += t1.$index(nodes, j).get$textContent();
            ++j;
          }
          t1.$indexSet(nodes, i, new A.Text0(t3.charCodeAt(0) == 0 ? t3 : t3));
          t1.removeRange$2(nodes, t2, j);
        }
      }
    },
    writeText$0(_) {
      var _this = this,
        t1 = _this.pos,
        t2 = _this.start;
      if (t1 === t2)
        return;
      _this._inline_parser$_tree.push(new A.Text0(B.JSString_methods.substring$2(_this.source, t2, t1)));
      _this.start = _this.pos;
    },
    consume$1($length) {
      var t1 = this.pos += $length;
      this.start = t1;
    }
  };
  A.InlineParser_parse_closure.prototype = {
    call$1(syntax) {
      return syntax.tryMatch$1(this.$this);
    },
    $signature: 238
  };
  A.InlineParser__linkOrImage_closure.prototype = {
    call$1(d) {
      return d.get$char() === 91 || d.get$char() === 33;
    },
    $signature: 277
  };
  A.InlineParser__linkOrImage_closure0.prototype = {
    call$1(e) {
      return e instanceof A.LinkSyntax;
    },
    $signature: 238
  };
  A.InlineParser__linkOrImage_closure1.prototype = {
    call$1(n) {
      return n === this.delimiter.node;
    },
    $signature: 1046
  };
  A.InlineParser__linkOrImage_closure2.prototype = {
    call$0() {
      var t2, children,
        t1 = this.$this;
      t1._processEmphasis$1(this.index);
      t1 = t1._inline_parser$_tree;
      t2 = this.nodeIndex + 1;
      children = B.JSArray_methods.sublist$2(t1, t2, t1.length);
      B.JSArray_methods.removeRange$2(t1, t2, t1.length);
      return children;
    },
    $signature: 356
  };
  A.InlineParser__processEmphasis_closure.prototype = {
    call$0() {
      return A.List_List$filled(3, this.bottomIndex, false, type$.int);
    },
    $signature: 232
  };
  A.InlineParser__processEmphasis_closure0.prototype = {
    call$1(d) {
      var t1 = this.closer;
      return d.get$char() === t1.get$char() && d.get$canOpen() && this.$this._canFormEmphasis$2(d, t1);
    },
    $signature: 277
  };
  A.InlineParser__processEmphasis_closure1.prototype = {
    call$0() {
      return B.JSArray_methods.sublist$2(this.$this._inline_parser$_tree, this.openerTextNodeIndex + 1, this._box_0.closerTextNodeIndex);
    },
    $signature: 356
  };
  A.InlineSyntax.prototype = {
    tryMatch$2(parser, startMatchPos) {
      var t1, startMatch;
      if (startMatchPos == null)
        startMatchPos = parser.pos;
      t1 = this._startCharacter;
      if (t1 != null && B.JSString_methods.codeUnitAt$1(parser.source, startMatchPos) !== t1)
        return false;
      startMatch = this.pattern.matchAsPrefix$2(0, parser.source, startMatchPos);
      if (startMatch == null)
        return false;
      parser.writeText$0(0);
      if (this.onMatch$2(parser, startMatch))
        parser.consume$1(startMatch._match[0].length);
      return true;
    },
    tryMatch$1(parser) {
      return this.tryMatch$2(parser, null);
    }
  };
  A.LineBreakSyntax.prototype = {
    onMatch$2(parser, match) {
      var t1 = type$.String;
      parser._inline_parser$_tree.push(new A.Element0("br", null, A.LinkedHashMap_LinkedHashMap$_empty(t1, t1)));
      return true;
    }
  };
  A.TextSyntax.prototype = {
    onMatch$2(parser, match) {
      var t2, t3,
        t1 = this.substitute;
      if (t1.length !== 0) {
        t2 = match._match;
        t3 = t2.index;
        t2 = t3 > 0 && B.JSString_methods.substring$2(t2.input, t3 - 1, t3) === "/";
      } else
        t2 = true;
      if (t2) {
        parser.pos += match._match[0].length;
        return false;
      }
      parser._inline_parser$_tree.push(new A.Text0(t1));
      return true;
    }
  };
  A.EscapeSyntax.prototype = {
    onMatch$2(parser, match) {
      var t1 = match._match[0];
      t1.toString;
      B.JSString_methods._codeUnitAt$1(t1, 1);
      parser._inline_parser$_tree.push(new A.Text0(t1[1]));
      return true;
    }
  };
  A.InlineHtmlSyntax.prototype = {};
  A.EmailAutolinkSyntax.prototype = {
    onMatch$2(parser, match) {
      var t2, t3,
        t1 = match._match[1];
      t1.toString;
      t2 = A._setArrayType([new A.Text0(t1)], type$.JSArray_Node_2);
      t3 = type$.String;
      t3 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      t3.$indexSet(0, "href", A._Uri__uriEncode(B.List_gnE, "mailto:" + t1, B.Utf8Codec_false, false));
      parser._inline_parser$_tree.push(new A.Element0("a", t2, t3));
      return true;
    }
  };
  A.AutolinkSyntax.prototype = {
    onMatch$2(parser, match) {
      var t2, t3,
        t1 = match._match[1];
      t1.toString;
      t2 = A._setArrayType([new A.Text0(t1)], type$.JSArray_Node_2);
      t3 = type$.String;
      t3 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t3);
      t3.$indexSet(0, "href", A._Uri__uriEncode(B.List_gnE, t1, B.Utf8Codec_false, false));
      parser._inline_parser$_tree.push(new A.Element0("a", t2, t3));
      return true;
    }
  };
  A.AutolinkExtensionSyntax.prototype = {
    tryMatch$1(parser) {
      var t1 = parser.pos;
      return this.super$InlineSyntax$tryMatch(parser, t1 > 0 ? t1 - 1 : 0);
    },
    onMatch$2(parser, match) {
      var href, opening, trailingPunc, trailingLength, entityRef, entityRefLength, t1, t2,
        url = match._match[1],
        matchLength = url.length;
      if (url[0] === ">" || B.JSString_methods.startsWith$1(url, $.$get$AutolinkExtensionSyntax_regExpWhiteSpace())) {
        --matchLength;
        url = B.JSString_methods.substring$2(url, 1, matchLength);
        ++parser.pos;
        href = url;
      } else
        href = url;
      if (B.JSString_methods.endsWith$1(url, ">") && parser.source[parser.pos - 1] === "<")
        return false;
      if (B.JSString_methods.endsWith$1(url, ")")) {
        opening = this._countChars$2(url, "(");
        if (this._countChars$2(url, ")") > opening) {
          url = B.JSString_methods.substring$2(url, 0, url.length - 1);
          href = B.JSString_methods.substring$2(href, 0, href.length - 1);
          --matchLength;
        }
      }
      trailingPunc = $.$get$AutolinkExtensionSyntax_regExpTrailingPunc().firstMatch$1(url);
      if (trailingPunc != null) {
        trailingLength = trailingPunc._match[0].length;
        url = B.JSString_methods.substring$2(url, 0, url.length - trailingLength);
        href = B.JSString_methods.substring$2(href, 0, href.length - trailingLength);
        matchLength -= trailingLength;
      }
      if (B.JSString_methods.endsWith$1(url, ";")) {
        entityRef = $.$get$AutolinkExtensionSyntax_regExpEndsWithColon().firstMatch$1(url);
        if (entityRef != null) {
          entityRefLength = entityRef._match[0].length;
          url = B.JSString_methods.substring$2(url, 0, url.length - entityRefLength);
          href = B.JSString_methods.substring$2(href, 0, href.length - entityRefLength);
          matchLength -= entityRefLength;
        }
      }
      if (!B.JSString_methods.startsWith$1(href, "http://") && !B.JSString_methods.startsWith$1(href, "https://") && !B.JSString_methods.startsWith$1(href, "ftp://"))
        href = "http://" + href;
      t1 = A._setArrayType([new A.Text0(url)], type$.JSArray_Node_2);
      t2 = type$.String;
      t2 = A.LinkedHashMap_LinkedHashMap$_empty(t2, t2);
      t2.$indexSet(0, "href", A._Uri__uriEncode(B.List_gnE, href, B.Utf8Codec_false, false));
      parser._inline_parser$_tree.push(new A.Element0("a", t1, t2));
      parser.consume$1(matchLength);
      return false;
    },
    _countChars$2(input, char) {
      var t1, count, i;
      for (t1 = input.length, count = 0, i = 0; i < t1; ++i)
        if (input[i] === char)
          ++count;
      return count;
    }
  };
  A.SimpleDelimiter.prototype = {$isDelimiter: 1,
    get$node() {
      return this.node;
    },
    get$char() {
      return this.char;
    },
    get$length(receiver) {
      return this.length;
    },
    get$canOpen() {
      return this.canOpen;
    },
    get$canClose() {
      return this.canClose;
    },
    get$syntax() {
      return this.syntax;
    },
    set$node(val) {
      return this.node = val;
    },
    set$isActive(val) {
      return this.isActive = val;
    }
  };
  A.DelimiterRun.prototype = {
    get$length(_) {
      return this.node.text.length;
    },
    toString$0(_) {
      var _this = this;
      return "<char: " + _this.char + ", length: " + _this.node.text.length + ", canOpen: " + _this.canOpen + ", canClose: " + _this.canClose + ">";
    },
    $isDelimiter: 1,
    get$node() {
      return this.node;
    },
    get$char() {
      return this.char;
    },
    get$syntax() {
      return this.syntax;
    },
    get$canOpen() {
      return this.canOpen;
    },
    get$canClose() {
      return this.canClose;
    },
    set$node(val) {
      return this.node = val;
    },
    set$isActive() {
    }
  };
  A.TagSyntax.prototype = {
    onMatch$2(parser, match) {
      var delimiterRun, _this = this,
        runLength = match._match[0].length,
        matchStart = parser.pos,
        matchEnd = matchStart + runLength,
        t1 = parser.source,
        text = new A.Text0(B.JSString_methods.substring$2(t1, matchStart, matchEnd));
      if (!_this.requiresDelimiterRun) {
        parser._delimiterStack.push(new A.SimpleDelimiter(text, B.JSString_methods.codeUnitAt$1(t1, matchStart), runLength, true, false, _this, matchEnd));
        parser._inline_parser$_tree.push(text);
        return true;
      }
      delimiterRun = A.DelimiterRun_tryParse(parser, matchStart, matchEnd, _this.allowIntraWord, text, _this);
      if (delimiterRun != null) {
        parser._delimiterStack.push(delimiterRun);
        parser._inline_parser$_tree.push(text);
        return true;
      } else {
        parser.pos += runLength;
        return false;
      }
    },
    close$4$getChildren(_, parser, $opener, closer, getChildren) {
      var t1 = $opener.get$length($opener) >= 2 && closer.get$length(closer) >= 2 ? "strong" : "em",
        t2 = type$.String;
      return new A.Element0(t1, getChildren.call$0(), A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
    }
  };
  A.StrikethroughSyntax.prototype = {
    close$4$getChildren(_, parser, $opener, closer, getChildren) {
      var t1 = type$.String;
      return new A.Element0("del", getChildren.call$0(), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    }
  };
  A.LinkSyntax.prototype = {
    close$4$getChildren(_, parser, $opener, closer, getChildren) {
      var t3, char, inlineLink, label, _this = this,
        t1 = parser.source,
        t2 = parser.pos,
        text = B.JSString_methods.substring$2(t1, $opener.endPos, t2);
      ++t2;
      t3 = t1.length;
      if (t2 >= t3)
        return _this._resolveReferenceLink$3$getChildren(text, parser.document.linkReferences, getChildren);
      char = B.JSString_methods.codeUnitAt$1(t1, t2);
      if (char === 40) {
        parser.pos = t2;
        inlineLink = _this._parseInlineLink$1(parser);
        if (inlineLink != null)
          return _this._inline_parser$_createNode$3$getChildren(inlineLink.destination, inlineLink.title, getChildren);
        parser.pos = t2;
        parser.pos = t2 + -1;
        return _this._resolveReferenceLink$3$getChildren(text, parser.document.linkReferences, getChildren);
      }
      if (char === 91) {
        parser.pos = t2;
        ++t2;
        if (t2 < t3 && B.JSString_methods.codeUnitAt$1(t1, t2) === 93) {
          parser.pos = t2;
          return _this._resolveReferenceLink$3$getChildren(text, parser.document.linkReferences, getChildren);
        }
        label = _this._parseReferenceLinkLabel$1(parser);
        if (label != null)
          return _this._resolveReferenceLink$3$getChildren(label, parser.document.linkReferences, getChildren);
        return null;
      }
      return _this._resolveReferenceLink$3$getChildren(text, parser.document.linkReferences, getChildren);
    },
    _resolveReferenceLink$3$getChildren(label, linkReferences, getChildren) {
      var resolved,
        t1 = B.JSString_methods.trim$0(label),
        t2 = $.$get$_oneOrMoreWhitespacePattern(),
        linkReference = linkReferences.$index(0, A.stringReplaceAllUnchecked(t1, t2, " ").toLowerCase());
      if (linkReference != null)
        return this._inline_parser$_createNode$3$getChildren(linkReference.destination, linkReference.title, getChildren);
      else {
        t1 = A.stringReplaceAllUnchecked(label, "\\\\", "\\");
        t1 = A.stringReplaceAllUnchecked(t1, "\\[", "[");
        resolved = this.linkResolver.call$1(A.stringReplaceAllUnchecked(t1, "\\]", "]"));
        if (resolved != null)
          getChildren.call$0();
        return resolved;
      }
    },
    _inline_parser$_createNode$3$getChildren(destination, title, getChildren) {
      var children = getChildren.call$0(),
        t1 = type$.String;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1.$indexSet(0, "href", A.escapeAttribute(destination));
      if (title != null && title.length !== 0)
        t1.$indexSet(0, "title", A.escapeAttribute(title));
      return new A.Element0("a", children, t1);
    },
    _parseReferenceLinkLabel$1(parser) {
      var t4, char, next, label, _null = null,
        t1 = ++parser.pos,
        t2 = parser.source,
        t3 = t2.length;
      if (t1 === t3)
        return _null;
      for (t4 = ""; true;) {
        char = B.JSString_methods.codeUnitAt$1(t2, t1);
        if (char === 92) {
          t1 = parser.pos = t1 + 1;
          next = B.JSString_methods.codeUnitAt$1(t2, t1);
          if (next !== 92 && next !== 93)
            t4 += A.Primitives_stringFromCharCode(char);
          t4 += A.Primitives_stringFromCharCode(next);
        } else if (char === 91)
          return _null;
        else if (char === 93)
          break;
        else
          t4 += A.Primitives_stringFromCharCode(char);
        t1 = parser.pos = t1 + 1;
        if (t1 === t3)
          return _null;
      }
      label = t4.charCodeAt(0) == 0 ? t4 : t4;
      t1 = $.$get$LinkSyntax__entirelyWhitespacePattern()._nativeRegExp;
      if (t1.test(label))
        return _null;
      return label;
    },
    _parseInlineLink$1(parser) {
      var t1, t2;
      ++parser.pos;
      this._moveThroughWhitespace$1(parser);
      t1 = parser.pos;
      t2 = parser.source;
      if (t1 === t2.length)
        return null;
      if (B.JSString_methods.codeUnitAt$1(t2, t1) === 60)
        return this._parseInlineBracketedLink$1(parser);
      else
        return this._parseInlineBareDestinationLink$1(parser);
    },
    _parseInlineBracketedLink$1(parser) {
      var t2, t3, t4, char, next, destination, title, _null = null,
        t1 = ++parser.pos;
      for (t2 = parser.source, t3 = t2.length, t4 = ""; true;) {
        char = B.JSString_methods.codeUnitAt$1(t2, t1);
        if (char === 92) {
          t1 = parser.pos = t1 + 1;
          next = B.JSString_methods.codeUnitAt$1(t2, t1);
          if (next !== 92 && next !== 62)
            t4 += A.Primitives_stringFromCharCode(char);
          t4 += A.Primitives_stringFromCharCode(next);
        } else if (char === 10 || char === 13 || char === 12)
          return _null;
        else if (char === 32)
          t4 += "%20";
        else if (char === 62)
          break;
        else
          t4 += A.Primitives_stringFromCharCode(char);
        t1 = parser.pos = t1 + 1;
        if (t1 === t3)
          return _null;
      }
      destination = t4.charCodeAt(0) == 0 ? t4 : t4;
      ++t1;
      parser.pos = t1;
      char = B.JSString_methods.codeUnitAt$1(t2, t1);
      if (char === 32 || char === 10 || char === 13 || char === 12) {
        title = this._parseTitle$1(parser);
        if (title == null && B.JSString_methods.codeUnitAt$1(t2, parser.pos) !== 41)
          return _null;
        return new A.InlineLink(destination, title);
      } else if (char === 41)
        return new A.InlineLink(destination, _null);
      else
        return _null;
    },
    _parseInlineBareDestinationLink$1(parser) {
      var t1, t2, parenCount, t3, t4, char, next, destination, title, _null = null;
      for (t1 = parser.source, t2 = t1.length, parenCount = 1, t3 = ""; true;) {
        t4 = parser.pos;
        char = B.JSString_methods.codeUnitAt$1(t1, t4);
        switch (char) {
          case 92:
            t4 = parser.pos = t4 + 1;
            if (t4 === t2)
              return _null;
            next = B.JSString_methods.codeUnitAt$1(t1, t4);
            if (next !== 92 && next !== 40 && next !== 41)
              t3 += A.Primitives_stringFromCharCode(char);
            t3 += A.Primitives_stringFromCharCode(next);
            break;
          case 32:
          case 10:
          case 13:
          case 12:
            destination = t3.charCodeAt(0) == 0 ? t3 : t3;
            title = this._parseTitle$1(parser);
            if (title == null) {
              t4 = parser.pos;
              t4 = t4 === t2 || B.JSString_methods.codeUnitAt$1(t1, t4) !== 41;
            } else
              t4 = false;
            if (t4)
              return _null;
            --parenCount;
            if (parenCount === 0)
              return new A.InlineLink(destination, title);
            break;
          case 40:
            ++parenCount;
            t3 += A.Primitives_stringFromCharCode(char);
            break;
          case 41:
            --parenCount;
            if (parenCount === 0)
              return new A.InlineLink(t3.charCodeAt(0) == 0 ? t3 : t3, _null);
            t3 += A.Primitives_stringFromCharCode(char);
            break;
          default:
            t3 += A.Primitives_stringFromCharCode(char);
        }
        if (++parser.pos === t2)
          return _null;
      }
    },
    _moveThroughWhitespace$1(parser) {
      var t1, t2, t3, char;
      for (t1 = parser.source, t2 = t1.length; t3 = parser.pos, t3 !== t2;) {
        char = B.JSString_methods.codeUnitAt$1(t1, t3);
        if (char !== 32 && char !== 9 && char !== 10 && char !== 11 && char !== 13 && char !== 12)
          return;
        parser.pos = t3 + 1;
      }
    },
    _parseTitle$1(parser) {
      var t1, t2, t3, delimiter, closeDelimiter, t4, char, next, _null = null;
      this._moveThroughWhitespace$1(parser);
      t1 = parser.pos;
      t2 = parser.source;
      t3 = t2.length;
      if (t1 === t3)
        return _null;
      delimiter = B.JSString_methods.codeUnitAt$1(t2, t1);
      if (delimiter !== 39 && delimiter !== 34 && delimiter !== 40)
        return _null;
      closeDelimiter = delimiter === 40 ? 41 : delimiter;
      ++t1;
      parser.pos = t1;
      for (t4 = ""; true;) {
        char = B.JSString_methods.codeUnitAt$1(t2, t1);
        if (char === 92) {
          t1 = parser.pos = t1 + 1;
          next = B.JSString_methods.codeUnitAt$1(t2, t1);
          if (next !== 92 && next !== closeDelimiter)
            t4 += A.Primitives_stringFromCharCode(char);
          t4 += A.Primitives_stringFromCharCode(next);
        } else if (char === closeDelimiter)
          break;
        else
          t4 += A.Primitives_stringFromCharCode(char);
        t1 = parser.pos = t1 + 1;
        if (t1 === t3)
          return _null;
      }
      ++t1;
      parser.pos = t1;
      if (t1 === t3)
        return _null;
      this._moveThroughWhitespace$1(parser);
      t1 = parser.pos;
      if (t1 === t3)
        return _null;
      if (B.JSString_methods.codeUnitAt$1(t2, t1) !== 41)
        return _null;
      return t4.charCodeAt(0) == 0 ? t4 : t4;
    }
  };
  A.LinkSyntax_closure.prototype = {
    call$2(_, __) {
      return null;
    },
    call$1(_) {
      return this.call$2(_, null);
    },
    "call*": "call$2",
    $requiredArgCount: 1,
    $defaultValues() {
      return [null];
    },
    $signature: 1048
  };
  A.ImageSyntax.prototype = {
    _inline_parser$_createNode$3$getChildren(destination, title, getChildren) {
      var t1 = type$.String,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
        children = getChildren.call$0();
      t2.$indexSet(0, "src", destination);
      t2.$indexSet(0, "alt", J.map$1$1$ax(children, new A.ImageSyntax__createNode_closure(), t1).join$0(0));
      if (title != null && title.length !== 0)
        t2.$indexSet(0, "title", A.escapeAttribute(A.stringReplaceAllUnchecked(title, "&", "&amp;")));
      return new A.Element0("img", null, t2);
    }
  };
  A.ImageSyntax__createNode_closure.prototype = {
    call$1(node) {
      return node.get$textContent();
    },
    $signature: 240
  };
  A.CodeSyntax.prototype = {
    tryMatch$1(parser) {
      var match,
        t1 = parser.pos;
      if (t1 > 0 && B.JSString_methods.codeUnitAt$1(parser.source, t1 - 1) === 96)
        return false;
      match = this.pattern.matchAsPrefix$2(0, parser.source, t1);
      if (match == null)
        return false;
      parser.writeText$0(0);
      this.onMatch$2(parser, match);
      parser.consume$1(match._match[0].length);
      return true;
    },
    onMatch$2(parser, match) {
      var code,
        t1 = match._match[2];
      t1.toString;
      t1 = B.JSString_methods.trim$0(t1);
      code = A.stringReplaceAllUnchecked(t1, "\n", " ");
      t1 = type$.String;
      parser._inline_parser$_tree.push(new A.Element0("code", A._setArrayType([new A.Text0(code)], type$.JSArray_Node_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t1)));
      return true;
    }
  };
  A.InlineLink.prototype = {};
  A.Nested.prototype = {
    build$1(context) {
      throw A.wrapException(A.StateError$("implemented internally"));
    },
    createElement$0(_) {
      return new A._NestedElement(A.LinkedHashSet_LinkedHashSet$_empty(type$._NestedHookElement), null, this, B._ElementLifecycle_0);
    }
  };
  A._NestedElement.prototype = {
    get$widget() {
      return type$.Nested._as(A.Element.prototype.get$widget.call(this));
    },
    build$0() {
      var t2, nestedHook, t3, t4, _this = this,
        t1 = _this.SingleChildWidgetElementMixin__parent,
        nextNode = t1 == null ? null : t1._injectedChild;
      if (nextNode == null)
        nextNode = type$.Nested._as(A.Element.prototype.get$widget.call(_this))._nested$_child;
      for (t1 = type$.Nested._as(A.Element.prototype.get$widget.call(_this))._nested$_children, t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new A.ReversedListIterable(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"), nestedHook = null; t1.moveNext$0(); nextNode = nestedHook) {
        t3 = t1.__internal$_current;
        nestedHook = new A._NestedHook(t3 == null ? t2._as(t3) : t3, nextNode, _this, null);
      }
      if (nestedHook != null)
        for (t1 = _this.nodes, 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);
          t4 = nestedHook.wrappedWidget;
          if (!J.$eq$(t3._wrappedChild, t4)) {
            t3._wrappedChild = t4;
            t3.markNeedsBuild$0();
          }
          nestedHook = nestedHook.injectedChild;
          t3.set$injectedChild(nestedHook);
          if (!(nestedHook instanceof A._NestedHook))
            break;
        }
      return nextNode;
    }
  };
  A._NestedHook.prototype = {
    createElement$0(_) {
      return new A._NestedHookElement(this, B._ElementLifecycle_0);
    },
    build$1(context) {
      return A.throwExpression(A.StateError$("handled internally"));
    }
  };
  A._NestedHookElement.prototype = {
    get$widget() {
      return type$._NestedHook._as(A.Element.prototype.get$widget.call(this));
    },
    set$injectedChild(value) {
      var t1, t2,
        previous = this._injectedChild;
      if (value instanceof A._NestedHook)
        if (previous instanceof A._NestedHook) {
          t1 = value.wrappedWidget;
          t2 = previous.wrappedWidget;
          t1 = A.getRuntimeType(t1) === A.getRuntimeType(t2) && J.$eq$(t1.key, t2.key);
        } else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return;
      if (!J.$eq$(previous, value)) {
        this._injectedChild = value;
        this.visitChildren$1(new A._NestedHookElement_injectedChild_closure());
      }
    },
    mount$2($parent, newSlot) {
      var _this = this,
        t1 = type$._NestedHook;
      t1._as(A.Element.prototype.get$widget.call(_this)).owner.nodes.add$1(0, _this);
      _this._wrappedChild = t1._as(A.Element.prototype.get$widget.call(_this)).wrappedWidget;
      _this._injectedChild = t1._as(A.Element.prototype.get$widget.call(_this)).injectedChild;
      _this.super$ComponentElement$mount($parent, newSlot);
    },
    unmount$0() {
      type$._NestedHook._as(A.Element.prototype.get$widget.call(this)).owner.nodes.remove$1(0, this);
      this.super$Element$unmount();
    },
    build$0() {
      var t1 = this._wrappedChild;
      t1.toString;
      return t1;
    }
  };
  A._NestedHookElement_injectedChild_closure.prototype = {
    call$1(e) {
      return e.markNeedsBuild$0();
    },
    $signature: 17
  };
  A.SingleChildWidgetElementMixin.prototype = {};
  A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure.prototype = {
    call$1($parent) {
      if ($parent instanceof A._NestedHookElement)
        this.$this.SingleChildWidgetElementMixin__parent = $parent;
      return false;
    },
    $signature: 53
  };
  A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure.prototype = {
    call$1($parent) {
      if ($parent instanceof A._NestedHookElement)
        this.$this.SingleChildWidgetElementMixin__parent = $parent;
      return false;
    },
    $signature: 53
  };
  A.SingleChildStatelessWidget.prototype = {
    build$1(context) {
      return this.buildWithChild$2(context, this._nested$_child);
    },
    createElement$0(_) {
      return A.SingleChildStatelessElement$(this);
    }
  };
  A.SingleChildStatelessElement.prototype = {
    build$0() {
      var _this = this;
      if (_this.SingleChildWidgetElementMixin__parent != null)
        return type$.SingleChildStatelessWidget._as(A.Element.prototype.get$widget.call(_this)).buildWithChild$2(_this, _this.SingleChildWidgetElementMixin__parent._injectedChild);
      return _this.super$StatelessElement$build();
    },
    get$widget() {
      return type$.SingleChildStatelessWidget._as(A.Element.prototype.get$widget.call(this));
    }
  };
  A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin.prototype = {
    mount$2($parent, newSlot) {
      if (type$.nullable__NestedHookElement._is($parent))
        this.SingleChildWidgetElementMixin__parent = $parent;
      this.super$ComponentElement$mount($parent, newSlot);
    },
    activate$0() {
      this.super$Element$activate();
      this.visitAncestorElements$1(new A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure(this));
    }
  };
  A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin.prototype = {
    mount$2($parent, newSlot) {
      if (type$.nullable__NestedHookElement._is($parent))
        this.SingleChildWidgetElementMixin__parent = $parent;
      this.super$ComponentElement$mount($parent, newSlot);
    },
    activate$0() {
      this.super$Element$activate();
      this.visitAncestorElements$1(new A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure(this));
    }
  };
  A.Context.prototype = {
    absolute$7(_, part1, part2, part3, part4, part5, part6, part7) {
      var t1;
      A._validateArgList("absolute", A._setArrayType([part1, part2, part3, part4, part5, part6, part7], type$.JSArray_nullable_String));
      t1 = this.style;
      t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1);
      if (t1)
        return part1;
      t1 = this._context$_current;
      return this.join$8(0, t1 == null ? A.current() : t1, part1, part2, part3, part4, part5, part6, part7);
    },
    absolute$1($receiver, part1) {
      return this.absolute$7($receiver, part1, null, null, null, null, null, null);
    },
    extension$2(path, level) {
      return A.ParsedPath_ParsedPath$parse(path, this.style)._splitExtension$1(level)[1];
    },
    extension$1(path) {
      return this.extension$2(path, 1);
    },
    join$8(_, part1, part2, part3, part4, part5, part6, part7, part8) {
      var parts = A._setArrayType([part1, part2, part3, part4, part5, part6, part7, part8], type$.JSArray_nullable_String);
      A._validateArgList("join", parts);
      return this.joinAll$1(new A.WhereTypeIterable(parts, type$.WhereTypeIterable_String));
    },
    join$2($receiver, part1, part2) {
      return this.join$8($receiver, part1, part2, null, null, null, null, null, null);
    },
    joinAll$1(parts) {
      var t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, t4, t5, parsed, path;
      for (t1 = parts.get$iterator(parts), t2 = new A.WhereIterator(t1, new A.Context_joinAll_closure(), parts.$ti._eval$1("WhereIterator<Iterable.E>")), t3 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false, t4 = ""; t2.moveNext$0();) {
        t5 = t1.get$current(t1);
        if (t3.isRootRelative$1(t5) && isAbsoluteAndNotRootRelative) {
          parsed = A.ParsedPath_ParsedPath$parse(t5, t3);
          path = t4.charCodeAt(0) == 0 ? t4 : t4;
          t4 = B.JSString_methods.substring$2(path, 0, t3.rootLength$2$withDrive(path, true));
          parsed.root = t4;
          if (t3.needsSeparator$1(t4))
            parsed.separators[0] = t3.get$separator();
          t4 = "" + parsed.toString$0(0);
        } else if (t3.rootLength$1(t5) > 0) {
          isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(t5);
          t4 = "" + t5;
        } else {
          if (!(t5.length !== 0 && t3.containsSeparator$1(t5[0])))
            if (needsSeparator)
              t4 += t3.get$separator();
          t4 += t5;
        }
        needsSeparator = t3.needsSeparator$1(t5);
      }
      return t4.charCodeAt(0) == 0 ? t4 : t4;
    },
    split$1(_, path) {
      var parsed = A.ParsedPath_ParsedPath$parse(path, this.style),
        t1 = parsed.parts,
        t2 = A._arrayInstanceType(t1)._eval$1("WhereIterable<1>");
      t2 = A.List_List$of(new A.WhereIterable(t1, new A.Context_split_closure(), t2), true, t2._eval$1("Iterable.E"));
      parsed.parts = t2;
      t1 = parsed.root;
      if (t1 != null)
        B.JSArray_methods.insert$2(t2, 0, t1);
      return parsed.parts;
    },
    normalize$1(_, path) {
      var parsed;
      if (!this._needsNormalization$1(path))
        return path;
      parsed = A.ParsedPath_ParsedPath$parse(path, this.style);
      parsed.normalize$0(0);
      return parsed.toString$0(0);
    },
    _needsNormalization$1(path) {
      var i, start, previous, t2, t3, previousPrevious, codeUnit, t4,
        t1 = this.style,
        root = t1.rootLength$1(path);
      if (root !== 0) {
        if (t1 === $.$get$Style_windows())
          for (i = 0; i < root; ++i)
            if (B.JSString_methods._codeUnitAt$1(path, i) === 47)
              return true;
        start = root;
        previous = 47;
      } else {
        start = 0;
        previous = null;
      }
      for (t2 = new A.CodeUnits(path)._string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) {
        codeUnit = B.JSString_methods.codeUnitAt$1(t2, i);
        if (t1.isSeparator$1(codeUnit)) {
          if (t1 === $.$get$Style_windows() && codeUnit === 47)
            return true;
          if (previous != null && t1.isSeparator$1(previous))
            return true;
          if (previous === 46)
            t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious);
          else
            t4 = false;
          if (t4)
            return true;
        }
      }
      if (previous == null)
        return true;
      if (t1.isSeparator$1(previous))
        return true;
      if (previous === 46)
        t1 = previousPrevious == null || t1.isSeparator$1(previousPrevious) || previousPrevious === 46;
      else
        t1 = false;
      if (t1)
        return true;
      return false;
    },
    relative$1(path) {
      var from, fromParsed, pathParsed, t3, _this = this,
        _s26_ = 'Unable to find a path to "',
        t1 = _this.style,
        t2 = t1.rootLength$1(path);
      if (t2 <= 0)
        return _this.normalize$1(0, path);
      t2 = _this._context$_current;
      from = t2 == null ? A.current() : t2;
      if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0)
        return _this.normalize$1(0, path);
      if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path))
        path = _this.absolute$1(0, path);
      if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0)
        throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".'));
      fromParsed = A.ParsedPath_ParsedPath$parse(from, t1);
      fromParsed.normalize$0(0);
      pathParsed = A.ParsedPath_ParsedPath$parse(path, t1);
      pathParsed.normalize$0(0);
      t2 = fromParsed.parts;
      if (t2.length !== 0 && J.$eq$(t2[0], "."))
        return pathParsed.toString$0(0);
      t2 = fromParsed.root;
      t3 = pathParsed.root;
      if (t2 != t3)
        t2 = t2 == null || t3 == null || !t1.pathsEqual$2(t2, t3);
      else
        t2 = false;
      if (t2)
        return pathParsed.toString$0(0);
      while (true) {
        t2 = fromParsed.parts;
        if (t2.length !== 0) {
          t3 = pathParsed.parts;
          t2 = t3.length !== 0 && t1.pathsEqual$2(t2[0], t3[0]);
        } else
          t2 = false;
        if (!t2)
          break;
        B.JSArray_methods.removeAt$1(fromParsed.parts, 0);
        B.JSArray_methods.removeAt$1(fromParsed.separators, 1);
        B.JSArray_methods.removeAt$1(pathParsed.parts, 0);
        B.JSArray_methods.removeAt$1(pathParsed.separators, 1);
      }
      t2 = fromParsed.parts;
      if (t2.length !== 0 && J.$eq$(t2[0], ".."))
        throw A.wrapException(A.PathException$(_s26_ + path + '" from "' + from + '".'));
      t2 = type$.String;
      B.JSArray_methods.insertAll$2(pathParsed.parts, 0, A.List_List$filled(fromParsed.parts.length, "..", false, t2));
      t3 = pathParsed.separators;
      t3[0] = "";
      B.JSArray_methods.insertAll$2(t3, 1, A.List_List$filled(fromParsed.parts.length, t1.get$separator(), false, t2));
      t1 = pathParsed.parts;
      t2 = t1.length;
      if (t2 === 0)
        return ".";
      if (t2 > 1 && J.$eq$(B.JSArray_methods.get$last(t1), ".")) {
        B.JSArray_methods.removeLast$0(pathParsed.parts);
        t1 = pathParsed.separators;
        t1.pop();
        t1.pop();
        t1.push("");
      }
      pathParsed.root = "";
      pathParsed.removeTrailingSeparators$0();
      return pathParsed.toString$0(0);
    },
    toUri$1(path) {
      var t2,
        t1 = this.style;
      if (t1.rootLength$1(path) <= 0)
        return t1.relativePathToUri$1(path);
      else {
        t2 = this._context$_current;
        return t1.absolutePathToUri$1(this.join$2(0, t2 == null ? A.current() : t2, path));
      }
    },
    prettyUri$1(uri) {
      var path, rel, _this = this,
        typedUri = A._parseUri(uri);
      if (typedUri.get$scheme() === "file" && _this.style === $.$get$Style_url())
        return typedUri.toString$0(0);
      else if (typedUri.get$scheme() !== "file" && typedUri.get$scheme() !== "" && _this.style !== $.$get$Style_url())
        return typedUri.toString$0(0);
      path = _this.normalize$1(0, _this.style.pathFromUri$1(A._parseUri(typedUri)));
      rel = _this.relative$1(path);
      return _this.split$1(0, rel).length > _this.split$1(0, path).length ? path : rel;
    }
  };
  A.Context_joinAll_closure.prototype = {
    call$1(part) {
      return part !== "";
    },
    $signature: 6
  };
  A.Context_split_closure.prototype = {
    call$1(part) {
      return part.length !== 0;
    },
    $signature: 6
  };
  A._validateArgList_closure.prototype = {
    call$1(arg) {
      return arg == null ? "null" : '"' + arg + '"';
    },
    $signature: 174
  };
  A.InternalStyle.prototype = {
    getRoot$1(path) {
      var $length = this.rootLength$1(path);
      if ($length > 0)
        return B.JSString_methods.substring$2(path, 0, $length);
      return this.isRootRelative$1(path) ? path[0] : null;
    },
    relativePathToUri$1(path) {
      var segments, _null = null,
        t1 = path.length;
      if (t1 === 0)
        return A._Uri__Uri(_null, _null, _null, _null, _null, _null, _null, _null, _null);
      segments = A.Context_Context(this).split$1(0, path);
      if (this.isSeparator$1(B.JSString_methods.codeUnitAt$1(path, t1 - 1)))
        B.JSArray_methods.add$1(segments, "");
      return A._Uri__Uri(_null, _null, _null, segments, _null, _null, _null, _null, _null);
    },
    pathsEqual$2(path1, path2) {
      return path1 === path2;
    }
  };
  A.ParsedPath.prototype = {
    extension$1(level) {
      return this._splitExtension$1(level)[1];
    },
    extension$0() {
      return this.extension$1(1);
    },
    get$basename() {
      var _this = this,
        t1 = type$.String,
        copy = new A.ParsedPath(_this.style, _this.root, _this.isRootRelative, A.List_List$from(_this.parts, true, t1), A.List_List$from(_this.separators, true, t1));
      copy.removeTrailingSeparators$0();
      t1 = copy.parts;
      if (t1.length === 0) {
        t1 = _this.root;
        return t1 == null ? "" : t1;
      }
      return B.JSArray_methods.get$last(t1);
    },
    get$hasTrailingSeparator() {
      var t1 = this.parts;
      if (t1.length !== 0)
        t1 = J.$eq$(B.JSArray_methods.get$last(t1), "") || !J.$eq$(B.JSArray_methods.get$last(this.separators), "");
      else
        t1 = false;
      return t1;
    },
    removeTrailingSeparators$0() {
      var t1, t2, _this = this;
      while (true) {
        t1 = _this.parts;
        if (!(t1.length !== 0 && J.$eq$(B.JSArray_methods.get$last(t1), "")))
          break;
        B.JSArray_methods.removeLast$0(_this.parts);
        _this.separators.pop();
      }
      t1 = _this.separators;
      t2 = t1.length;
      if (t2 !== 0)
        t1[t2 - 1] = "";
    },
    normalize$0(_) {
      var t1, t2, leadingDoubles, _i, part, t3, _this = this,
        newParts = A._setArrayType([], type$.JSArray_String);
      for (t1 = _this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        part = t1[_i];
        t3 = J.getInterceptor$(part);
        if (!(t3.$eq(part, ".") || t3.$eq(part, "")))
          if (t3.$eq(part, ".."))
            if (newParts.length !== 0)
              newParts.pop();
            else
              ++leadingDoubles;
          else
            newParts.push(part);
      }
      if (_this.root == null)
        B.JSArray_methods.insertAll$2(newParts, 0, A.List_List$filled(leadingDoubles, "..", false, type$.String));
      if (newParts.length === 0 && _this.root == null)
        newParts.push(".");
      _this.parts = newParts;
      t1 = _this.style;
      _this.separators = A.List_List$filled(newParts.length + 1, t1.get$separator(), true, type$.String);
      t2 = _this.root;
      if (t2 == null || newParts.length === 0 || !t1.needsSeparator$1(t2))
        _this.separators[0] = "";
      t2 = _this.root;
      if (t2 != null && t1 === $.$get$Style_windows()) {
        t2.toString;
        _this.root = A.stringReplaceAllUnchecked(t2, "/", "\\");
      }
      _this.removeTrailingSeparators$0();
    },
    toString$0(_) {
      var i, _this = this,
        t1 = _this.root;
      t1 = t1 != null ? "" + t1 : "";
      for (i = 0; i < _this.parts.length; ++i)
        t1 = t1 + A.S(_this.separators[i]) + A.S(_this.parts[i]);
      t1 += A.S(B.JSArray_methods.get$last(_this.separators));
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _kthLastIndexOf$3(path, character, k) {
      var index, count, leftMostIndexedCharacter;
      for (index = path.length - 1, count = 0, leftMostIndexedCharacter = 0; index >= 0; --index)
        if (path[index] === character) {
          ++count;
          if (count === k)
            return index;
          leftMostIndexedCharacter = index;
        }
      return leftMostIndexedCharacter;
    },
    _splitExtension$1(level) {
      var t1, file, lastDot;
      if (level <= 0)
        throw A.wrapException(A.RangeError$value(level, "level", "level's value must be greater than 0"));
      t1 = this.parts;
      t1 = new A.CastList(t1, A._arrayInstanceType(t1)._eval$1("CastList<1,String?>"));
      file = t1.lastWhere$2$orElse(t1, new A.ParsedPath__splitExtension_closure(), new A.ParsedPath__splitExtension_closure0());
      if (file == null)
        return A._setArrayType(["", ""], type$.JSArray_String);
      if (file === "..")
        return A._setArrayType(["..", ""], type$.JSArray_String);
      lastDot = this._kthLastIndexOf$3(file, ".", level);
      if (lastDot <= 0)
        return A._setArrayType([file, ""], type$.JSArray_String);
      return A._setArrayType([B.JSString_methods.substring$2(file, 0, lastDot), B.JSString_methods.substring$1(file, lastDot)], type$.JSArray_String);
    }
  };
  A.ParsedPath__splitExtension_closure.prototype = {
    call$1(p) {
      return p !== "";
    },
    $signature: 155
  };
  A.ParsedPath__splitExtension_closure0.prototype = {
    call$0() {
      return null;
    },
    $signature: 7
  };
  A.PathException.prototype = {
    toString$0(_) {
      return "PathException: " + this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  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;
    },
    pathFromUri$1(uri) {
      var t1;
      if (uri.get$scheme() === "" || uri.get$scheme() === "file") {
        t1 = uri.get$path(uri);
        return A._Uri__uriDecode(t1, 0, t1.length, B.Utf8Codec_false, false);
      }
      throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null));
    },
    absolutePathToUri$1(path) {
      var _null = null,
        parsed = A.ParsedPath_ParsedPath$parse(path, this),
        t1 = parsed.parts;
      if (t1.length === 0)
        B.JSArray_methods.addAll$1(t1, A._setArrayType(["", ""], type$.JSArray_String));
      else if (parsed.get$hasTrailingSeparator())
        B.JSArray_methods.add$1(parsed.parts, "");
      return A._Uri__Uri(_null, _null, _null, parsed.parts, _null, _null, _null, "file", _null);
    },
    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;
    },
    pathFromUri$1(uri) {
      return uri.toString$0(0);
    },
    relativePathToUri$1(path) {
      return A.Uri_parse(path, 0, null);
    },
    absolutePathToUri$1(path) {
      return A.Uri_parse(path, 0, null);
    },
    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;
    },
    pathFromUri$1(uri) {
      var path, t1;
      if (uri.get$scheme() !== "" && uri.get$scheme() !== "file")
        throw A.wrapException(A.ArgumentError$("Uri " + uri.toString$0(0) + " must have scheme 'file:'.", null));
      path = uri.get$path(uri);
      if (uri.get$host(uri) === "") {
        if (path.length >= 3 && B.JSString_methods.startsWith$1(path, "/") && A.isDriveLetter(path, 1))
          path = B.JSString_methods.replaceFirst$2(path, "/", "");
      } else
        path = "\\\\" + uri.get$host(uri) + path;
      t1 = A.stringReplaceAllUnchecked(path, "/", "\\");
      return A._Uri__uriDecode(t1, 0, t1.length, B.Utf8Codec_false, false);
    },
    absolutePathToUri$1(path) {
      var rootParts, t2, _null = null,
        parsed = A.ParsedPath_ParsedPath$parse(path, this),
        t1 = parsed.root;
      t1.toString;
      if (B.JSString_methods.startsWith$1(t1, "\\\\")) {
        rootParts = new A.WhereIterable(A._setArrayType(t1.split("\\"), type$.JSArray_String), new A.WindowsStyle_absolutePathToUri_closure(), type$.WhereIterable_String);
        B.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts));
        if (parsed.get$hasTrailingSeparator())
          B.JSArray_methods.add$1(parsed.parts, "");
        return A._Uri__Uri(_null, rootParts.get$first(rootParts), _null, parsed.parts, _null, _null, _null, "file", _null);
      } else {
        if (parsed.parts.length === 0 || parsed.get$hasTrailingSeparator())
          B.JSArray_methods.add$1(parsed.parts, "");
        t1 = parsed.parts;
        t2 = parsed.root;
        t2.toString;
        t2 = A.stringReplaceAllUnchecked(t2, "/", "");
        B.JSArray_methods.insert$2(t1, 0, A.stringReplaceAllUnchecked(t2, "\\", ""));
        return A._Uri__Uri(_null, _null, _null, parsed.parts, _null, _null, _null, "file", _null);
      }
    },
    codeUnitsEqual$2(codeUnit1, codeUnit2) {
      var upperCase1;
      if (codeUnit1 === codeUnit2)
        return true;
      if (codeUnit1 === 47)
        return codeUnit2 === 92;
      if (codeUnit1 === 92)
        return codeUnit2 === 47;
      if ((codeUnit1 ^ codeUnit2) !== 32)
        return false;
      upperCase1 = codeUnit1 | 32;
      return upperCase1 >= 97 && upperCase1 <= 122;
    },
    pathsEqual$2(path1, path2) {
      var t1, i;
      if (path1 === path2)
        return true;
      t1 = path1.length;
      if (t1 !== path2.length)
        return false;
      for (i = 0; i < t1; ++i)
        if (!this.codeUnitsEqual$2(B.JSString_methods._codeUnitAt$1(path1, i), B.JSString_methods._codeUnitAt$1(path2, i)))
          return false;
      return true;
    },
    get$name() {
      return "windows";
    },
    get$separator() {
      return "\\";
    }
  };
  A.WindowsStyle_absolutePathToUri_closure.prototype = {
    call$1(part) {
      return part !== "";
    },
    $signature: 6
  };
  A.PlatformInterface.prototype = {};
  A.Pool.prototype = {
    request$0(_) {
      var t1, _this = this;
      if ((_this._closeMemo._async_memoizer$_completer.future._state & 30) !== 0)
        throw A.wrapException(A.StateError$("request() may not be called on a closed Pool."));
      t1 = _this._allocatedResources;
      if (t1 < _this._maxAllocatedResources) {
        _this._allocatedResources = t1 + 1;
        return A.Future_Future$value(new A.PoolResource(_this), type$.PoolResource);
      } else {
        t1 = _this._onReleaseCallbacks;
        if (!t1.get$isEmpty(t1))
          return _this._runOnRelease$1(t1.removeFirst$0());
        else {
          t1 = new A._Future($.Zone__current, type$._Future_PoolResource);
          _this._requestedResources._add$1(0, new A._AsyncCompleter(t1, type$._AsyncCompleter_PoolResource));
          _this._resetTimer$0();
          return t1;
        }
      }
    },
    withResource$1$1(callback, $T) {
      return this.withResource$body$Pool(callback, $T, $T);
    },
    withResource$body$Pool(callback, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, resource, t1, t2;
      var $async$withResource$1$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
              if (($async$self._closeMemo._async_memoizer$_completer.future._state & 30) !== 0)
                throw A.wrapException(A.StateError$("withResource() may not be called on a closed Pool."));
              $async$goto = 3;
              return A._asyncAwait($async$self.request$0(0), $async$withResource$1$1);
            case 3:
              // returning from await.
              resource = $async$result;
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(callback.call$0(), $async$withResource$1$1);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              $async$next = [1];
              // goto finally
              $async$goto = 5;
              break;
              $async$next.push(6);
              // goto finally
              $async$goto = 5;
              break;
            case 4:
              // uncaught
              $async$next = [2];
            case 5:
              // finally
              $async$handler = 2;
              t1 = resource;
              if (t1._released)
                A.throwExpression(A.StateError$("A PoolResource may only be released once."));
              t1._released = true;
              t1 = t1._pool;
              t1._resetTimer$0();
              t2 = t1._requestedResources;
              if (!t2.get$isEmpty(t2))
                t2.removeFirst$0().complete$1(0, new A.PoolResource(t1));
              else {
                t2 = --t1._allocatedResources;
                if ((t1._closeMemo._async_memoizer$_completer.future._state & 30) !== 0 && t2 === 0)
                  null.close$0(0);
              }
              // goto the next finally handler
              $async$goto = $async$next.pop();
              break;
            case 6:
              // 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$withResource$1$1, $async$completer);
    },
    _runOnRelease$1(onRelease) {
      var t1;
      A.Future_Future$sync(onRelease, type$.dynamic).then$1$1(new A.Pool__runOnRelease_closure(this), type$.Null).catchError$1(new A.Pool__runOnRelease_closure0(this));
      t1 = new A._Future($.Zone__current, type$._Future_PoolResource);
      this._onReleaseCompleters._add$1(0, new A._SyncCompleter(t1, type$._SyncCompleter_PoolResource));
      return t1;
    },
    _resetTimer$0() {
      var t2,
        t1 = this._pool$_timer;
      if (t1 == null)
        return;
      t2 = this._requestedResources;
      if (t2._head === t2._tail)
        t1._restartable_timer$_timer.cancel$0(0);
      else {
        t1._restartable_timer$_timer.cancel$0(0);
        t1._restartable_timer$_timer = A.Timer_Timer(t1._restartable_timer$_duration, t1._restartable_timer$_callback);
      }
    }
  };
  A.Pool__runOnRelease_closure.prototype = {
    call$1(value) {
      var t1 = this.$this;
      J.complete$1$z(t1._onReleaseCompleters.removeFirst$0(), new A.PoolResource(t1));
    },
    $signature: 9
  };
  A.Pool__runOnRelease_closure0.prototype = {
    call$2(error, stackTrace) {
      this.$this._onReleaseCompleters.removeFirst$0().completeError$2(error, stackTrace);
    },
    $signature: 22
  };
  A.PoolResource.prototype = {};
  A.InheritedProvider.prototype = {
    createElement$0(_) {
      return new A._InheritedProviderElement(null, this, B._ElementLifecycle_0, this.$ti._eval$1("_InheritedProviderElement<1>"));
    },
    buildWithChild$2(context, child) {
      var t1, _this = this;
      if (_this.builder != null)
        t1 = new A.Builder(new A.InheritedProvider_buildWithChild_closure(_this, child), null);
      else {
        child.toString;
        t1 = child;
      }
      return new A._InheritedProviderScope(_this, "", t1, null, _this.$ti._eval$1("_InheritedProviderScope<1?>"));
    }
  };
  A.InheritedProvider_buildWithChild_closure.prototype = {
    call$1(context) {
      return this.$this.builder.call$2(context, this.child);
    },
    $signature: 29
  };
  A._InheritedProviderElement.prototype = {};
  A._InheritedProviderScope.prototype = {
    updateShouldNotify$1(oldWidget) {
      return false;
    },
    createElement$0(_) {
      return new A._InheritedProviderScopeElement(A.HashMap_HashMap(null, null, null, type$.Element_2, type$.nullable_Object), this, B._ElementLifecycle_0, this.$ti._eval$1("_InheritedProviderScopeElement<1>"));
    }
  };
  A._Dependency.prototype = {};
  A._InheritedProviderScopeElement.prototype = {
    get$_delegateState() {
      var result, _this = this,
        value = _this.___InheritedProviderScopeElement__delegateState;
      if (value === $) {
        result = _this.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(_this)).owner._provider$_delegate.createState$0();
        result.element = _this;
        if (_this.___InheritedProviderScopeElement__delegateState !== $)
          A.throwUnnamedLateFieldADI();
        _this.___InheritedProviderScopeElement__delegateState = result;
        value = result;
      }
      return value;
    },
    getElementForInheritedWidgetOfExactType$1$0(InheritedWidgetType) {
      var t1 = {};
      t1.inheritedElement = null;
      this.visitAncestorElements$1(new A._InheritedProviderScopeElement_getElementForInheritedWidgetOfExactType_closure(t1, InheritedWidgetType));
      return t1.inheritedElement;
    },
    mount$2($parent, newSlot) {
      this.super$ComponentElement$mount($parent, newSlot);
    },
    get$widget() {
      return this.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(this));
    },
    reassemble$0() {
      this.super$Element$reassemble();
      if (this.get$_delegateState().get$hasValue()) {
        var t1 = this.get$_delegateState();
        t1.get$value(t1);
      }
    },
    updateDependencies$2(dependent, aspect) {
      var t3,
        t1 = this._dependents,
        dependencies = t1.$index(0, dependent),
        t2 = dependencies == null;
      if (!t2 && !this.$ti._eval$1("_Dependency<1>")._is(dependencies))
        return;
      t3 = this.$ti;
      if (t3._eval$1("bool(1)")._is(aspect)) {
        t2 = t2 ? new A._Dependency(A._setArrayType([], t3._eval$1("JSArray<bool(1)>")), t3._eval$1("_Dependency<1>")) : dependencies;
        t3._eval$1("_Dependency<1>")._as(t2);
        if (t2.shouldClearSelectors) {
          t2.shouldClearSelectors = false;
          B.JSArray_methods.clear$0(t2.selectors);
        }
        if (!t2.shouldClearMutationScheduled) {
          t2.shouldClearMutationScheduled = true;
          A.Future_Future$microtask(new A._InheritedProviderScopeElement_updateDependencies_closure(t2), type$.Null);
        }
        t2.selectors.push(aspect);
        t1.$indexSet(0, dependent, t2);
      } else
        t1.$indexSet(0, dependent, B.C_Object);
    },
    notifyDependent$2(oldWidget, dependent) {
      var updateShouldNotify, t1, t2, _i, t3,
        dependencies = this._dependents.$index(0, dependent),
        shouldNotify = false;
      if (dependencies != null)
        if (this.$ti._eval$1("_Dependency<1>")._is(dependencies)) {
          if (dependent._dirty)
            return;
          for (t1 = dependencies.selectors, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
            updateShouldNotify = t1[_i];
            try {
              t3 = this.get$_delegateState();
              shouldNotify = updateShouldNotify.call$1(t3.get$value(t3));
            } finally {
            }
            if (shouldNotify)
              break;
          }
        } else
          shouldNotify = true;
      if (shouldNotify)
        dependent.didChangeDependencies$0();
    },
    update$1(_, newWidget) {
      var _this = this;
      _this._isBuildFromExternalSources = true;
      _this._updatedShouldNotify = _this.get$_delegateState().willUpdateDelegate$1(newWidget.owner._provider$_delegate);
      _this.super$ProxyElement$update(0, newWidget);
      _this._updatedShouldNotify = false;
    },
    updated$1(oldWidget) {
      this.super$InheritedElement$updated(oldWidget);
      if (this._updatedShouldNotify)
        this.notifyClients$1(oldWidget);
    },
    didChangeDependencies$0() {
      this._isBuildFromExternalSources = true;
      this.super$Element$didChangeDependencies();
    },
    build$0() {
      var _this = this,
        t1 = _this.$ti._eval$1("_InheritedProviderScope<1>");
      t1._as(A.Element.prototype.get$widget.call(_this));
      _this.get$_delegateState().build$1$isBuildFromExternalSources(_this._isBuildFromExternalSources);
      _this._isBuildFromExternalSources = false;
      if (_this._shouldNotifyDependents) {
        _this._shouldNotifyDependents = false;
        _this.notifyClients$1(t1._as(A.Element.prototype.get$widget.call(_this)));
      }
      return _this.super$ProxyElement$build();
    },
    unmount$0() {
      this.get$_delegateState().dispose$0();
      this.super$Element$unmount();
    },
    dependOnInheritedElement$2$aspect(ancestor, aspect) {
      return this.super$Element$dependOnInheritedElement(ancestor, aspect);
    }
  };
  A._InheritedProviderScopeElement_getElementForInheritedWidgetOfExactType_closure.prototype = {
    call$1($parent) {
      this._box_0.inheritedElement = $parent.getElementForInheritedWidgetOfExactType$1$0(this.InheritedWidgetType);
      return false;
    },
    $signature: 53
  };
  A._InheritedProviderScopeElement_updateDependencies_closure.prototype = {
    call$0() {
      var t1 = this.selectorDependency;
      t1.shouldClearMutationScheduled = false;
      t1.shouldClearSelectors = true;
    },
    $signature: 7
  };
  A._Delegate.prototype = {};
  A._DelegateState.prototype = {
    willUpdateDelegate$1(newDelegate) {
      return false;
    },
    dispose$0() {
    },
    build$1$isBuildFromExternalSources(isBuildFromExternalSources) {
    }
  };
  A._CreateInheritedProvider.prototype = {
    createState$0() {
      return new A._CreateInheritedProviderState(this.$ti._eval$1("_CreateInheritedProviderState<1>"));
    }
  };
  A._CreateInheritedProviderState.prototype = {
    get$value(_) {
      var e, stackTrace, t2, t3, exception, _this = this,
        t1 = _this._didInitValue;
      if (t1 && _this._initError != null) {
        t1 = A.createRuntimeType(_this.$ti._precomputed1).toString$0(0);
        t2 = _this._initError;
        t2 = t2 == null ? null : t2.toString$0(0);
        throw A.wrapException(A.StateError$("Tried to read a provider that threw during the creation of its value.\nThe exception occurred during the creation of type " + t1 + ".\n\n" + A.S(t2)));
      }
      if (!t1) {
        _this._didInitValue = true;
        t1 = _this.element;
        t1.toString;
        t2 = _this.$ti._eval$1("_DelegateState.D");
        t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
        try {
          t1 = _this.element;
          t1.toString;
          t1 = t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
          t3 = _this.element;
          t3.toString;
          _this._provider$_value = t1.create.call$1(t3);
        } catch (exception) {
          e = A.unwrapException(exception);
          stackTrace = A.getTraceFromException(exception);
          _this._initError = new A.FlutterErrorDetails(e, stackTrace, "provider", null, null, false);
          throw exception;
        } finally {
        }
        t1 = _this.element;
        t1.toString;
        t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      }
      t1 = _this.element;
      t1.toString;
      t2 = _this.$ti;
      t2._eval$1("_DelegateState.D")._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      _this._removeListener = null;
      _this.element.toString;
      t1 = _this._provider$_value;
      return t1 == null ? t2._precomputed1._as(t1) : t1;
    },
    dispose$0() {
      var t1, _this = this;
      _this.super$_DelegateState$dispose();
      if (_this._didInitValue) {
        t1 = _this.element;
        t1.toString;
        _this.$ti._eval$1("_DelegateState.D")._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      }
    },
    build$1$isBuildFromExternalSources(isBuildFromExternalSources) {
      var t1, _this = this;
      if (isBuildFromExternalSources)
        if (_this._didInitValue) {
          t1 = _this.element;
          t1.toString;
          _this.$ti._eval$1("_DelegateState.D")._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
        }
      t1 = _this.element;
      t1.toString;
      _this._previousWidget = _this.$ti._eval$1("_DelegateState.D")._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      return _this.super$_DelegateState$build(isBuildFromExternalSources);
    },
    get$hasValue() {
      return this._didInitValue;
    }
  };
  A._ValueInheritedProvider.prototype = {
    createState$0() {
      return new A._ValueInheritedProviderState(this.$ti._eval$1("_ValueInheritedProviderState<1>"));
    }
  };
  A._ValueInheritedProviderState.prototype = {
    get$value(_) {
      var t2, _this = this,
        t1 = _this.element;
      t1.toString;
      t2 = _this.$ti._eval$1("_DelegateState.D");
      t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      _this._removeListener = null;
      t1 = _this.element;
      t1.toString;
      return t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate).value;
    },
    willUpdateDelegate$1(newDelegate) {
      var t2,
        t1 = this.element;
      t1.toString;
      t2 = this.$ti._eval$1("_DelegateState.D");
      t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      t1 = this.element;
      t1.toString;
      t1 = t2._as(t1.$ti._eval$1("_InheritedProviderScope<1>")._as(A.Element.prototype.get$widget.call(t1)).owner._provider$_delegate);
      return newDelegate.value !== t1.value;
    },
    dispose$0() {
      this.super$_DelegateState$dispose();
    },
    get$hasValue() {
      return true;
    }
  };
  A.MultiProvider.prototype = {};
  A.Provider.prototype = {};
  A.Provider_closure.prototype = {
    call$1(value) {
      var t1 = $.$get$Provider_debugCheckInvalidValueType().call$1$1(value, this.T);
      return t1;
    },
    $signature() {
      return this.T._eval$1("~(0)");
    }
  };
  A.Provider_debugCheckInvalidValueType_closure.prototype = {
    call$1$1(value, $T) {
    },
    call$1(value) {
      return this.call$1$1(value, type$.dynamic);
    },
    $signature: 1051
  };
  A.ProviderNullException.prototype = {
    toString$0(_) {
      var t1 = this.valueType;
      return "Error: The widget " + this.widgetType.toString$0(0) + " tried to read Provider<" + t1.toString$0(0) + "> but the matching\nprovider returned null.\n\nTo fix the error, consider changing Provider<" + t1.toString$0(0) + "> to Provider<" + t1.toString$0(0) + "?>.\n";
    },
    $isException: 1
  };
  A.ProviderNotFoundException.prototype = {
    toString$0(_) {
      var t1 = this.valueType,
        t2 = this.widgetType;
      return "Error: Could not find the correct Provider<" + t1.toString$0(0) + "> above this " + t2.toString$0(0) + ' Widget\n\nThis happens because you used a `BuildContext` that does not include the provider\nof your choice. There are a few common scenarios:\n\n- You added a new provider in your `main.dart` and performed a hot-reload.\n  To fix, perform a hot-restart.\n\n- The provider you are trying to read is in a different route.\n\n  Providers are "scoped". So if you insert of provider inside a route, then\n  other routes will not be able to access that provider.\n\n- You used a `BuildContext` that is an ancestor of the provider you are trying to read.\n\n  Make sure that ' + t2.toString$0(0) + " is under your MultiProvider/Provider<" + t1.toString$0(0) + ">.\n  This usually happens when you are creating a provider and trying to read it immediately.\n\n  For example, instead of:\n\n  ```\n  Widget build(BuildContext context) {\n    return Provider<Example>(\n      create: (_) => Example(),\n      // Will throw a ProviderNotFoundError, because `context` is associated\n      // to the widget that is the parent of `Provider<Example>`\n      child: Text(context.watch<Example>().toString()),\n    );\n  }\n  ```\n\n  consider using `builder` like so:\n\n  ```\n  Widget build(BuildContext context) {\n    return Provider<Example>(\n      create: (_) => Example(),\n      // we use `builder` to obtain a new `BuildContext` that has access to the provider\n      builder: (context, child) {\n        // No longer throws\n        return Text(context.watch<Example>().toString());\n      }\n    );\n  }\n  ```\n\nIf none of these solutions work, consider asking for help on StackOverflow:\nhttps://stackoverflow.com/questions/tagged/flutter\n";
    },
    $isException: 1
  };
  A.AsyncValueAsFutureProvider.prototype = {
    get$dependencies() {
      var result, _this = this,
        value = _this.__AsyncValueAsFutureProvider_dependencies;
      if (value === $) {
        result = A._setArrayType([_this._async_value_converters$_provider], type$.JSArray_ProviderOrFamily);
        if (_this.__AsyncValueAsFutureProvider_dependencies !== $)
          A.throwUnnamedLateFieldADI();
        _this.__AsyncValueAsFutureProvider_dependencies = result;
        value = result;
      }
      return value;
    },
    create$1(_, ref) {
      return A._asyncValueAsFuture(this._async_value_converters$_provider, ref, this.$ti._precomputed1);
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    createElement$0(_) {
      return A.ProviderElement$(this, this.$ti._eval$1("Future<1>"));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && other._async_value_converters$_provider.$eq(0, this._async_value_converters$_provider);
    },
    get$hashCode(_) {
      var t1 = this._async_value_converters$_provider;
      return t1.get$hashCode(t1);
    }
  };
  A.AutoDisposeAsyncValueAsFutureProvider.prototype = {
    get$dependencies() {
      var result, _this = this,
        value = _this.__AutoDisposeAsyncValueAsFutureProvider_dependencies;
      if (value === $) {
        result = A._setArrayType([_this._async_value_converters$_provider], type$.JSArray_ProviderOrFamily);
        if (_this.__AutoDisposeAsyncValueAsFutureProvider_dependencies !== $)
          A.throwUnnamedLateFieldADI();
        _this.__AutoDisposeAsyncValueAsFutureProvider_dependencies = result;
        value = result;
      }
      return value;
    },
    create$1(_, ref) {
      return A._asyncValueAsFuture(this._async_value_converters$_provider, ref, this.$ti._precomputed1);
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    createElement$0(_) {
      return A.AutoDisposeProviderElement$(this, this.$ti._eval$1("Future<1>"));
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && other._async_value_converters$_provider.$eq(0, this._async_value_converters$_provider);
    },
    get$hashCode(_) {
      var t1 = this._async_value_converters$_provider;
      return t1.get$hashCode(t1);
    }
  };
  A._asyncValueAsFuture_closure.prototype = {
    call$0() {
      var t1 = this._box_0.loadingCompleter;
      if (t1 != null)
        t1.completeError$1(new A.StateError("The provider " + this.provider.toString$0(0) + " was disposed before a value was emitted."));
    },
    $signature: 0
  };
  A._asyncValueAsFuture_listener.prototype = {
    call$2(previous, value) {
      var t1, t2, t3, _this = this;
      if (value.get$isLoading() || A.AsyncValueX_get_isRefreshing(value)) {
        t1 = _this._box_0;
        if (t1.loadingCompleter == null) {
          t2 = _this.State;
          t3 = new A._Future($.Zone__current, t2._eval$1("_Future<0>"));
          t1.loadingCompleter = new A._AsyncCompleter(t3, t2._eval$1("_AsyncCompleter<0>"));
          A.FutureExtensions_ignore(t3, t2);
          _this.ref.setState$1(t3);
        }
      }
      t1 = _this.State;
      t2 = _this._box_0;
      t3 = _this.ref;
      value.map$3$data$error$loading(0, new A._asyncValueAsFuture_listener_closure(t2, t3, t1), new A._asyncValueAsFuture_listener_closure0(t2, t3, t1), new A._asyncValueAsFuture_listener_closure1(t1));
    },
    $signature() {
      return this.State._eval$1("~(AsyncValue<0>?,AsyncValue<0>)");
    }
  };
  A._asyncValueAsFuture_listener_closure1.prototype = {
    call$1(_) {
    },
    $signature() {
      return this.State._eval$1("Null(AsyncLoading<0>)");
    }
  };
  A._asyncValueAsFuture_listener_closure.prototype = {
    call$1(data) {
      var t1, t2, t3;
      if (A.AsyncValueX_get_isRefreshing(data))
        return;
      t1 = this._box_0;
      t2 = t1.loadingCompleter;
      t3 = data.value;
      if (t2 != null) {
        t2.complete$1(0, t3);
        t1.loadingCompleter = null;
      } else
        this.ref.setState$1(A.Future_Future$value(t3, this.State));
    },
    $signature() {
      return this.State._eval$1("Null(AsyncData<0>)");
    }
  };
  A._asyncValueAsFuture_listener_closure0.prototype = {
    call$1(error) {
      var t1, t2, t3, t4;
      if (A.AsyncValueX_get_isRefreshing(error))
        return;
      t1 = this._box_0;
      t2 = t1.loadingCompleter;
      t3 = error.error;
      t4 = error.stackTrace;
      if (t2 != null) {
        t2.completeError$2(t3, t4);
        t1.loadingCompleter = null;
      } else
        this.ref.setState$1(A.Future_Future$error(t3, t4, this.State));
    },
    $signature() {
      return this.State._eval$1("Null(AsyncError0<0>)");
    }
  };
  A.AutoDisposeProviderBuilder.prototype = {
    call$1$1(create, State) {
      var _null = null;
      return A.AutoDisposeProvider$(create, _null, _null, _null, _null, _null, _null, State);
    },
    call$1(create) {
      return this.call$1$1(create, type$.dynamic);
    }
  };
  A.AsyncValue.prototype = {
    unwrapPrevious$0() {
      var _this = this;
      return _this.map$3$data$error$loading(0, new A.AsyncValue_unwrapPrevious_closure(_this), new A.AsyncValue_unwrapPrevious_closure0(_this), new A.AsyncValue_unwrapPrevious_closure1(_this));
    },
    toString$0(_) {
      var $content, _this = this,
        t1 = type$.JSArray_String,
        t2 = A._setArrayType([], t1);
      if (_this.get$isLoading())
        t2.push("isLoading: " + _this.get$isLoading());
      if (_this.get$hasValue())
        t2.push("value: " + A.S(_this.get$value(_this)));
      if (_this.get$error(_this) != null)
        B.JSArray_methods.addAll$1(t2, A._setArrayType(["error: " + A.S(_this.get$error(_this)), "stackTrace: " + A.S(_this.get$stackTrace())], t1));
      $content = B.JSArray_methods.join$1(t2, ", ");
      return A.getRuntimeType(_this).toString$0(0) + "(" + $content + ")";
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return A.getRuntimeType(_this) === J.get$runtimeType$(other) && A._instanceType(_this)._eval$1("AsyncValue<1>")._is(other) && other.get$isLoading() === _this.get$isLoading() && other.get$hasValue() === _this.get$hasValue() && J.$eq$(other.get$error(other), _this.get$error(_this)) && other.get$stackTrace() == _this.get$stackTrace() && J.$eq$(A.AsyncValueX_get_valueOrNull(other), A.AsyncValueX_get_valueOrNull(_this));
    },
    get$hashCode(_) {
      var t5, t6, _this = this,
        t1 = A.getRuntimeType(_this),
        t2 = _this.get$isLoading(),
        t3 = _this.get$hasValue(),
        t4 = A.AsyncValueX_get_valueOrNull(_this);
      if (t4 == null)
        t4 = 0;
      t5 = _this.get$error(_this);
      if (t5 == null)
        t5 = 0;
      t6 = _this.get$stackTrace();
      return A.Object_hash(t1, t2, t3, t4, t5, t6 == null ? 0 : t6, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.AsyncValue_unwrapPrevious_closure.prototype = {
    call$1(d) {
      if (d.isLoading)
        return new A.AsyncLoading(A._instanceType(this.$this)._eval$1("AsyncLoading<1>"));
      return A.AsyncData$(d.value, A._instanceType(this.$this)._precomputed1);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("AsyncValue<1>(AsyncData<1>)");
    }
  };
  A.AsyncValue_unwrapPrevious_closure0.prototype = {
    call$1(e) {
      if (e.isLoading)
        return new A.AsyncLoading(A._instanceType(this.$this)._eval$1("AsyncLoading<1>"));
      return A.AsyncError$0(e.error, e.stackTrace, A._instanceType(this.$this)._precomputed1);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("AsyncValue<1>(AsyncError0<1>)");
    }
  };
  A.AsyncValue_unwrapPrevious_closure1.prototype = {
    call$1(l) {
      return l;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("AsyncLoading<1>(AsyncLoading<1>)");
    }
  };
  A.AsyncData.prototype = {
    get$hasValue() {
      return true;
    },
    map$1$3$data$error$loading(_, data, error, loading) {
      return data.call$1(this);
    },
    map$3$data$error$loading($receiver, data, error, loading) {
      return this.map$1$3$data$error$loading($receiver, data, error, loading, type$.dynamic);
    },
    copyWithPrevious$1(previous) {
      return this;
    },
    get$value(receiver) {
      return this.value;
    },
    get$isLoading() {
      return this.isLoading;
    },
    get$error(receiver) {
      return this.error;
    },
    get$stackTrace() {
      return this.stackTrace;
    }
  };
  A.AsyncLoading.prototype = {
    get$isLoading() {
      return true;
    },
    get$hasValue() {
      return false;
    },
    get$value(_) {
      return null;
    },
    get$error(_) {
      return null;
    },
    get$stackTrace() {
      return null;
    },
    map$1$3$data$error$loading(_, data, error, loading) {
      return loading.call$1(this);
    },
    map$3$data$error$loading($receiver, data, error, loading) {
      return this.map$1$3$data$error$loading($receiver, data, error, loading, type$.dynamic);
    },
    copyWithPrevious$1(previous) {
      return previous.map$3$data$error$loading(0, new A.AsyncLoading_copyWithPrevious_closure(this), new A.AsyncLoading_copyWithPrevious_closure0(this), new A.AsyncLoading_copyWithPrevious_closure1(this));
    },
    toString$0(_) {
      return "AsyncLoading<" + A.createRuntimeType(this.$ti._precomputed1).toString$0(0) + ">()";
    }
  };
  A.AsyncLoading_copyWithPrevious_closure.prototype = {
    call$1(d) {
      return new A.AsyncData(d.value, true, d.error, d.stackTrace, this.$this.$ti._eval$1("AsyncData<1>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("AsyncData<1>(AsyncData<1>)");
    }
  };
  A.AsyncLoading_copyWithPrevious_closure0.prototype = {
    call$1(e) {
      return new A.AsyncError0(true, e.hasValue, A.AsyncValueX_get_valueOrNull(e), e.error, e.stackTrace, this.$this.$ti._eval$1("AsyncError0<1>"));
    },
    $signature() {
      return this.$this.$ti._eval$1("AsyncError0<1>(AsyncError0<1>)");
    }
  };
  A.AsyncLoading_copyWithPrevious_closure1.prototype = {
    call$1(_) {
      return this.$this;
    },
    $signature() {
      return this.$this.$ti._eval$1("AsyncLoading<1>(AsyncLoading<1>)");
    }
  };
  A.AsyncError0.prototype = {
    get$value(_) {
      var stackTrace, _this = this;
      if (!_this.hasValue) {
        stackTrace = _this.stackTrace;
        if (stackTrace == null)
          throw A.wrapException(_this.error);
        A.throwErrorWithCombinedStackTrace(_this.error, stackTrace);
      }
      return _this._common$_value;
    },
    map$1$3$data$error$loading(_, data, error, loading) {
      return error.call$1(this);
    },
    map$3$data$error$loading($receiver, data, error, loading) {
      return this.map$1$3$data$error$loading($receiver, data, error, loading, type$.dynamic);
    },
    copyWithPrevious$1(previous) {
      var _this = this,
        t1 = A.AsyncValueX_get_valueOrNull(previous);
      return new A.AsyncError0(_this.isLoading, previous.get$hasValue(), t1, _this.error, _this.stackTrace, _this.$ti);
    },
    get$isLoading() {
      return this.isLoading;
    },
    get$hasValue() {
      return this.hasValue;
    },
    get$error(receiver) {
      return this.error;
    },
    get$stackTrace() {
      return this.stackTrace;
    }
  };
  A.AsyncValueX_get_asData_closure.prototype = {
    call$1(d) {
      return d;
    },
    $signature() {
      return this.T._eval$1("AsyncData<0>(AsyncData<0>)");
    }
  };
  A.AsyncValueX_get_asData_closure0.prototype = {
    call$1(e) {
      return null;
    },
    $signature() {
      return this.T._eval$1("Null(AsyncError0<0>)");
    }
  };
  A.AsyncValueX_get_asData_closure1.prototype = {
    call$1(l) {
      return null;
    },
    $signature() {
      return this.T._eval$1("Null(AsyncLoading<0>)");
    }
  };
  A.AsyncValueX_when_closure.prototype = {
    call$1(d) {
      return this.data.call$1(d.value);
    },
    $signature() {
      return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(AsyncData<2>)");
    }
  };
  A.AsyncValueX_when_closure0.prototype = {
    call$1(e) {
      return this.error.call$2(e.error, e.stackTrace);
    },
    $signature() {
      return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(AsyncError0<2>)");
    }
  };
  A.AsyncValueX_when_closure1.prototype = {
    call$1(l) {
      return this.loading.call$0();
    },
    $signature() {
      return this.R._eval$1("@<0>")._bind$1(this.T)._eval$1("1(AsyncLoading<2>)");
    }
  };
  A.AlwaysAliveProviderListenable.prototype = {};
  A.AlwaysAliveProviderBase.prototype = {};
  A.AutoDisposeProviderBase.prototype = {};
  A.AutoDisposeProviderElementBase.prototype = {
    get$_cacheTime() {
      var result, t1, _this = this,
        value = _this.__AutoDisposeProviderElementBase__cacheTime;
      if (value === $) {
        result = type$.AutoDisposeProviderBase_dynamic._as(_this._provider).cacheTime;
        if (result == null) {
          t1 = _this.__ProviderElementBase__container;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          result = t1.cacheTime;
        }
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__AutoDisposeProviderElementBase__cacheTime = result;
      }
      return value;
    },
    get$_disposeDelay() {
      var result, t1, _this = this,
        value = _this.__AutoDisposeProviderElementBase__disposeDelay;
      if (value === $) {
        result = type$.AutoDisposeProviderBase_dynamic._as(_this._provider).disposeDelay;
        if (result == null) {
          t1 = _this.__ProviderElementBase__container;
          if (t1 === $)
            A.throwUnnamedLateFieldNI();
          result = t1.disposeDelay;
        }
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__AutoDisposeProviderElementBase__disposeDelay = result;
      }
      return value;
    },
    keepAlive$0() {
      var link = A._Cell$named("link");
      link.__late_helper$_value = new A.KeepAliveLink(new A.AutoDisposeProviderElementBase_keepAlive_closure(this, link));
      this._keepAliveLinks.push(link._readLocal$0());
      return link._readLocal$0();
    },
    mayNeedDispose$0() {
      var _this = this,
        t1 = !_this.get$hasListeners() && _this._keepAliveLinks.length === 0;
      if (t1) {
        t1 = _this.__ProviderElementBase__container;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.get$_scheduler();
        t1._stateToDispose.push(_this);
        t1._scheduleTask$0();
      }
    },
    _buildState$0() {
      var t2, t3, _this = this, t1 = {};
      _this.super$ProviderElementBase$_buildState();
      t2 = _this.get$_disposeDelay();
      t3 = B.Duration_0._duration;
      if (t2._duration !== t3) {
        _this._disposeDelayLink = _this.keepAlive$0();
        t2 = _this._onCancelListeners;
        if (t2 == null)
          t2 = _this._onCancelListeners = A._setArrayType([], type$.JSArray_of_void_Function);
        t2.push(new A.AutoDisposeProviderElementBase__buildState_closure(_this));
        t2 = _this._onResumeListeners;
        if (t2 == null)
          t2 = _this._onResumeListeners = A._setArrayType([], type$.JSArray_of_void_Function);
        t2.push(new A.AutoDisposeProviderElementBase__buildState_closure0(_this));
      }
      t2 = _this.get$_cacheTime();
      if (t2._duration !== t3) {
        t1.link = null;
        t2 = _this._onChangeSelfListeners;
        if (t2 == null)
          t2 = _this._onChangeSelfListeners = A._setArrayType([], A._instanceType(_this)._eval$1("JSArray<~(ProviderElementBase.0?,ProviderElementBase.0)>"));
        t2.push(new A.AutoDisposeProviderElementBase__buildState_closure1(t1, _this));
        t2 = _this._onErrorSelfListeners;
        if (t2 == null)
          t2 = _this._onErrorSelfListeners = A._setArrayType([], type$.JSArray_of_void_Function_Object_StackTrace);
        t2.push(new A.AutoDisposeProviderElementBase__buildState_closure2(t1, _this));
      }
    },
    _runOnDispose$0() {
      B.JSArray_methods.clear$0(this._keepAliveLinks);
      this.super$ProviderElementBase$_runOnDispose();
    },
    dispose$0() {
      var t1, _this = this;
      _this.super$ProviderElementBase$dispose();
      t1 = _this._cacheTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._cacheTimer = null;
      t1 = _this._disposeDelayTimer;
      if (t1 != null)
        t1.cancel$0(0);
      _this._disposeDelayTimer = null;
    }
  };
  A.AutoDisposeProviderElementBase_keepAlive_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._keepAliveLinks;
      if (B.JSArray_methods.remove$1(t2, this.link._readLocal$0()))
        if (t2.length === 0)
          t1.mayNeedDispose$0();
    },
    $signature: 0
  };
  A.AutoDisposeProviderElementBase__buildState_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._disposeDelayTimer = A.Timer_Timer(t1.get$_disposeDelay(), new A.AutoDisposeProviderElementBase__buildState__closure1(t1));
    },
    $signature: 0
  };
  A.AutoDisposeProviderElementBase__buildState__closure1.prototype = {
    call$0() {
      var t1 = this.$this;
      t1._disposeDelayTimer = null;
      t1._disposeDelayLink._framework0$_close.call$0();
      t1._disposeDelayLink = null;
    },
    $signature: 0
  };
  A.AutoDisposeProviderElementBase__buildState_closure0.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._disposeDelayTimer;
      if (t2 != null)
        t2.cancel$0(0);
      t1._disposeDelayTimer = null;
      if (t1._disposeDelayLink == null)
        t1._disposeDelayLink = t1.keepAlive$0();
    },
    $signature: 0
  };
  A.AutoDisposeProviderElementBase__buildState_closure1.prototype = {
    call$2(previous, next) {
      var t2, t3,
        t1 = this._box_0;
      if (t1.link == null)
        t1.link = this.$this.keepAlive$0();
      t2 = this.$this;
      t3 = t2._cacheTimer;
      if (t3 != null)
        t3.cancel$0(0);
      t2._cacheTimer = A.Timer_Timer(t2.get$_cacheTime(), new A.AutoDisposeProviderElementBase__buildState__closure0(t1, t2));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(AutoDisposeProviderElementBase.0?,AutoDisposeProviderElementBase.0)");
    }
  };
  A.AutoDisposeProviderElementBase__buildState__closure0.prototype = {
    call$0() {
      var state, t2,
        t1 = this._box_0;
      t1.link._framework0$_close.call$0();
      t1.link = null;
      t1 = this.$this;
      t1._cacheTimer = null;
      state = t1._framework0$_state.get$requireState();
      if (state instanceof A.AsyncValue) {
        t2 = A._instanceType(t1);
        t1._framework0$_state = new A.ResultData(t2._eval$1("AutoDisposeProviderElementBase.0")._as(state.unwrapPrevious$0()), t2._eval$1("ResultData<AutoDisposeProviderElementBase.0>"));
      }
    },
    $signature: 0
  };
  A.AutoDisposeProviderElementBase__buildState_closure2.prototype = {
    call$2(err, stack) {
      var t2, t3,
        t1 = this._box_0;
      if (t1.link == null)
        t1.link = this.$this.keepAlive$0();
      t2 = this.$this;
      t3 = t2._cacheTimer;
      if (t3 != null)
        t3.cancel$0(0);
      t2._cacheTimer = A.Timer_Timer(t2.get$_cacheTime(), new A.AutoDisposeProviderElementBase__buildState__closure(t1, t2));
    },
    $signature: 27
  };
  A.AutoDisposeProviderElementBase__buildState__closure.prototype = {
    call$0() {
      var t1 = this._box_0;
      t1.link._framework0$_close.call$0();
      t1.link = null;
      this.$this._cacheTimer = null;
    },
    $signature: 0
  };
  A.KeepAliveLink.prototype = {};
  A._StateReader.prototype = {
    _create$0() {
      var element, element0, _this = this,
        t1 = _this.origin;
      if (t1.$eq(0, $._circularDependencyLock))
        throw A.wrapException(new A.CircularDependencyError());
      if ($._circularDependencyLock == null)
        $._circularDependencyLock = t1;
      try {
        element0 = _this.override.createElement$0(0);
        element0._provider = _this.override;
        element0.__ProviderElementBase__origin = t1;
        element0.__ProviderElementBase__container = _this.container;
        element0.mount$0();
        element = element0;
        element._framework0$_state.map$2$data$error(0, new A._StateReader__create_closure(_this), new A._StateReader__create_closure0(_this));
        return element;
      } finally {
        if (J.$eq$($._circularDependencyLock, t1))
          $._circularDependencyLock = null;
      }
    }
  };
  A._StateReader__create_closure.prototype = {
    call$1(data) {
      var observer, t1, t2, t3, t4, t5, _i;
      for (t1 = this.$this, t2 = t1.container, t3 = t2._observers, t4 = t3.length, t1 = t1.origin, t5 = data.state, _i = 0; _i < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        observer = t3[_i];
        A._runTernaryGuarded(observer.get$didAddProvider(), t1, t5, t2);
      }
    },
    $signature: 1052
  };
  A._StateReader__create_closure0.prototype = {
    call$1(error) {
      var observer, observer0, t1, t2, t3, t4, _i, t5, t6;
      for (t1 = this.$this, t2 = t1.container, t3 = t2._observers, t4 = t3.length, t1 = t1.origin, _i = 0; t5 = t3.length, _i < t5; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        observer = t3[_i];
        A._runTernaryGuarded(observer.get$didAddProvider(), t1, null, t2);
      }
      for (t4 = error.error, t6 = error.stackTrace, _i = 0; _i < t3.length; t3.length === t5 || (0, A.throwConcurrentModificationError)(t3), ++_i) {
        observer0 = t3[_i];
        A._runQuaternaryGuarded(observer0.get$providerDidFail(), t1, t4, t6, t2);
      }
    },
    $signature: 1053
  };
  A.ProviderContainer.prototype = {
    ProviderContainer$5$cacheTime$disposeDelay$observers$overrides$parent(cacheTime, disposeDelay, observers, overrides, $parent) {
      var t1, t2, _i, override, _this = this;
      if ($parent != null) {
        $parent._framework0$_children.push(_this);
        _this._overrideForFamily.addAll$1(0, $parent._overrideForFamily);
      }
      for (t1 = _this._overrideForProvider, t2 = _this._stateReaders, _i = 0; false; ++_i) {
        override = overrides[_i];
        t1.$indexSet(0, override.get$originProvider(), override.get$originProvider());
        t2.$indexSet(0, override.get$originProvider(), new A._StateReader(override.get$originProvider(), override.get$originProvider(), _this, false));
      }
    },
    get$_scheduler() {
      var t1, result, _this = this,
        value = _this.__ProviderContainer__scheduler;
      if (value === $) {
        t1 = _this._framework0$_parent;
        result = t1 == null ? null : t1.get$_scheduler();
        if (result == null) {
          t1 = _this.vsyncOverride;
          if (t1 == null)
            t1 = A.framework0___defaultVsync$closure();
          result = new A._ProviderScheduler(t1, A._setArrayType([], type$.JSArray_AutoDisposeProviderElementBase_dynamic), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic));
        }
        if (_this.__ProviderContainer__scheduler !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__ProviderContainer__scheduler = result;
      }
      return value;
    },
    read$1$1(_, provider, Result) {
      var element = this.readProviderElement$1$1(provider, Result);
      element.flush$0(0);
      element.mayNeedDispose$0();
      element.flush$0(0);
      return element.get$requireState();
    },
    _createSubscription$1$3$listener$onError(element, listener, onError, State) {
      var sub = new A._ProviderSubscription(listener, element, onError, State._eval$1("_ProviderSubscription<0>"));
      element._framework0$_listeners.push(sub);
      return sub;
    },
    listen$1$3$onError(provider, listener, onError) {
      return provider.addListener$4$fireImmediately$onError(0, this, listener, false, onError);
    },
    listen$3$onError(provider, listener, onError) {
      return this.listen$1$3$onError(provider, listener, onError, type$.dynamic);
    },
    listen$2(provider, listener) {
      return this.listen$1$3$onError(provider, listener, null, type$.dynamic);
    },
    _disposeProvider$1(provider) {
      var t1,
        element = this.readProviderElement$1$1(provider, type$.nullable_Object);
      element.dispose$0();
      t1 = element.__ProviderElementBase__origin;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = this._stateReaders.$index(0, t1);
      t1.toString;
      if (t1.isDynamicallyCreated)
        new A.ProviderContainer__disposeProvider_removeStateReaderFrom(element).call$1(this);
      else
        t1._framework0$_element = null;
    },
    updateOverrides$1(overrides) {
      var t1, t2, _i, override, t3, t4, t5, element;
      if (this._framework0$_disposed)
        throw A.wrapException(A.StateError$("Called updateOverrides on a ProviderContainer that was already disposed"));
      for (t1 = this._stateReaders, t2 = this._overrideForProvider, _i = 0; false; ++_i) {
        override = overrides[_i];
        t3 = t1.$index(0, override.get$originProvider());
        t3.toString;
        t4 = override.get$originProvider();
        t5 = override.get$originProvider();
        t2.$indexSet(0, t4, t5);
        t3.override = t5;
        element = t3._framework0$_element;
        if (element == null)
          continue;
        A._runUnaryGuarded(element.get$update(element), override.get$originProvider());
      }
    },
    readProviderElement$1$1(provider, State) {
      var reader, t1;
      if (this._framework0$_disposed)
        throw A.wrapException(A.StateError$("Tried to read a provider from a ProviderContainer that was already disposed"));
      reader = this._getStateReader$1(provider);
      t1 = reader._framework0$_element;
      if (t1 == null)
        t1 = reader._framework0$_element = reader._create$0();
      return State._eval$1("ProviderElementBase<0>")._as(t1);
    },
    _getStateReader$1(provider) {
      var t2,
        t1 = this._stateReaders,
        currentReader = t1.$index(0, provider);
      if (currentReader != null)
        return currentReader;
      t2 = new A.ProviderContainer__getStateReader_getReader(this, provider).call$0();
      t1.$indexSet(0, provider, t2);
      return t2;
    },
    dispose$0() {
      var t1, t2, t3, _this = this;
      if (_this._framework0$_disposed)
        return;
      if (_this._framework0$_children.length !== 0)
        throw A.wrapException(A.StateError$("Tried to dispose a ProviderContainer that still has children containers."));
      t1 = _this._framework0$_parent;
      if (t1 != null)
        B.JSArray_methods.remove$1(t1._framework0$_children, _this);
      _this._framework0$_disposed = true;
      for (t1 = _this.getAllProviderElementsInOrder$0(), t1 = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")), t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new A.ReversedListIterable(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        (t3 == null ? t2._as(t3) : t3).dispose$0();
      }
      if (_this._root == null) {
        t1 = _this.get$_scheduler();
        t2 = t1._pendingTaskCompleter;
        if (t2 != null)
          t2.complete$0(0);
        t1._pendingTaskCompleter = null;
      }
    },
    getAllProviderElementsInOrder$0() {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, queue, t3, t4, _box_0, t5, element, result, visitedNodes, t1, t2;
        return function $async$getAllProviderElementsInOrder$0($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
                visitedNodes = A.HashSet_HashSet(type$.ProviderElementBase_dynamic);
                t1 = type$._DoubleLinkedQueueSentinel_ProviderElementBase_dynamic;
                t2 = new A._DoubleLinkedQueueSentinel(t1);
                t2._previousLink = t2;
                t2._nextLink = t2;
                queue = new A.DoubleLinkedQueue(t2, type$.DoubleLinkedQueue_ProviderElementBase_dynamic);
                for (t3 = $async$self._stateReaders, t3 = t3.get$values(t3), 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], t1 = t1._eval$1("_DoubleLinkedQueueElement<1>"); t3.moveNext$0();) {
                  _box_0 = {};
                  t5 = t3.__internal$_current;
                  if (t5 == null)
                    t5 = t4._as(t5);
                  if (t5.container !== $async$self)
                    continue;
                  element = t5._framework0$_element;
                  if (element == null)
                    continue;
                  _box_0.hasAncestorsInContainer = false;
                  element.visitAncestors$1(new A.ProviderContainer_getAllProviderElementsInOrder_closure(_box_0, $async$self));
                  if (!_box_0.hasAncestorsInContainer) {
                    new A._DoubleLinkedQueueElement(queue, element, t1)._link$2(t2._previousLink, t2);
                    ++queue._elementCount;
                  }
                }
              case 2:
                // for condition
                if (!!queue.get$isEmpty(queue)) {
                  // goto after for
                  $async$goto = 3;
                  break;
                }
                result = t2._nextLink._remove$0(0);
                --queue._elementCount;
                if (!visitedNodes.add$1(0, result)) {
                  // goto for condition
                  $async$goto = 2;
                  break;
                }
                $async$goto = 4;
                return result;
              case 4:
                // after yield
                result.visitChildren$1(new A.ProviderContainer_getAllProviderElementsInOrder_closure0($async$self, visitedNodes, queue));
                // 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);
            }
        };
      }, type$.ProviderElementBase_dynamic);
    }
  };
  A.ProviderContainer__disposeProvider_removeStateReaderFrom.prototype = {
    call$1(container) {
      var i,
        t1 = this.element.__ProviderElementBase__origin;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      container._stateReaders.remove$1(0, t1);
      for (t1 = container._framework0$_children, i = 0; i < t1.length; ++i)
        this.call$1(t1[i]);
    },
    $signature: 1054
  };
  A.ProviderContainer__getStateReader_getReader.prototype = {
    call$0() {
      var familyOverrideRef, t4, root, t5, t6, dependencies, containerForDependencyOverride, deepestOverrideContainer, reader,
        t1 = this.provider,
        t2 = t1.from,
        t3 = t2 == null;
      if (!t3) {
        familyOverrideRef = this.$this._overrideForFamily.$index(0, t2);
        if (familyOverrideRef != null) {
          t2 = familyOverrideRef.container;
          t3 = t2._stateReaders;
          if (t3.containsKey$1(0, t1)) {
            t1 = t3.$index(0, t1);
            t1.toString;
            return t1;
          }
          familyOverrideRef.override.setupOverride$2(t1.argument, new A.ProviderContainer__getStateReader_getReader_setupOverride(familyOverrideRef));
          t3 = t3.$index(0, t1);
          return t3 == null ? new A._StateReader(t1, t1, t2, true) : t3;
        }
      }
      t4 = this.$this;
      root = t4._root;
      t5 = root == null;
      t6 = !t5;
      if (t6) {
        dependencies = t3 ? null : t2.get$allTransitiveDependencies();
        if (dependencies == null)
          dependencies = t1.get$allTransitiveDependencies();
        if (dependencies == null)
          containerForDependencyOverride = null;
        else {
          t2 = new A.MappedListIterable(dependencies, new A.ProviderContainer__getStateReader_getReader_closure(t4), A._arrayInstanceType(dependencies)._eval$1("MappedListIterable<1,ProviderContainer?>")).super$Iterable$where(0, new A.ProviderContainer__getStateReader_getReader_closure0());
          containerForDependencyOverride = A.List_List$of(t2, true, t2.$ti._eval$1("Iterable.E"));
        }
        if (containerForDependencyOverride != null && containerForDependencyOverride.length !== 0) {
          deepestOverrideContainer = (containerForDependencyOverride && B.JSArray_methods).fold$2(containerForDependencyOverride, root, new A.ProviderContainer__getStateReader_getReader_closure1());
          return deepestOverrideContainer._stateReaders.putIfAbsent$2(0, t1, new A.ProviderContainer__getStateReader_getReader_closure2(t1, deepestOverrideContainer));
        }
      }
      t2 = t5 ? null : root._stateReaders.containsKey$1(0, t1);
      if (t2 === true) {
        t1 = root._stateReaders.$index(0, t1);
        t1.toString;
        return t1;
      }
      reader = new A._StateReader(t1, t1, t5 ? t4 : root, true);
      if (t6)
        root._stateReaders.$indexSet(0, t1, reader);
      return reader;
    },
    $signature: 344
  };
  A.ProviderContainer__getStateReader_getReader_setupOverride.prototype = {
    call$2$origin$override(origin, override) {
      var t1 = this.familyOverrideRef.container,
        t2 = t1._stateReaders;
      if (t2.$index(0, origin) == null)
        t2.$indexSet(0, origin, new A._StateReader(origin, override, t1, true));
    },
    $signature: 1056
  };
  A.ProviderContainer__getStateReader_getReader_closure.prototype = {
    call$1(dep) {
      var familyOverride,
        t1 = this.$this,
        reader = t1._stateReaders.$index(0, dep);
      if (reader != null)
        return reader.container;
      familyOverride = t1._overrideForFamily.$index(0, dep);
      return familyOverride == null ? null : familyOverride.container;
    },
    $signature: 1057
  };
  A.ProviderContainer__getStateReader_getReader_closure0.prototype = {
    call$1(container) {
      return container != null;
    },
    $signature: 1058
  };
  A.ProviderContainer__getStateReader_getReader_closure1.prototype = {
    call$2(previous, container) {
      if (container.depth > previous.depth)
        return container;
      return previous;
    },
    $signature: 1059
  };
  A.ProviderContainer__getStateReader_getReader_closure2.prototype = {
    call$0() {
      var t1 = this.provider;
      return new A._StateReader(t1, t1, this.deepestOverrideContainer, true);
    },
    $signature: 344
  };
  A.ProviderContainer_getAllProviderElementsInOrder_closure.prototype = {
    call$1(element) {
      var t1 = element.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 === this.$this)
        this._box_0.hasAncestorsInContainer = true;
    },
    $signature: 76
  };
  A.ProviderContainer_getAllProviderElementsInOrder_closure0.prototype = {
    call$1(dependent) {
      var t3, t1 = {},
        t2 = dependent.__ProviderElementBase__container;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t3 = this.$this;
      if (t2 === t3) {
        t1.areAllAncestorsAlreadyVisited = true;
        dependent.visitAncestors$1(new A.ProviderContainer_getAllProviderElementsInOrder__closure(t1, t3, this.visitedNodes));
        if (t1.areAllAncestorsAlreadyVisited)
          this.queue.add$1(0, dependent);
      }
    },
    $signature: 76
  };
  A.ProviderContainer_getAllProviderElementsInOrder__closure.prototype = {
    call$1(e) {
      var t1 = e.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      if (t1 === this.$this && !this.visitedNodes.contains$1(0, e))
        this._box_1.areAllAncestorsAlreadyVisited = false;
    },
    $signature: 76
  };
  A.ProviderObserver.prototype = {
    providerDidFail$4(provider, error, stackTrace, container) {
    },
    didDisposeProvider$2(provider, container) {
    }
  };
  A.CircularDependencyError.prototype = {};
  A.Family.prototype = {
    get$from() {
      return null;
    },
    setupOverride$2(argument, setup) {
      setup.call$2$origin$override(this.create$1(0, argument), this.create$1(0, argument));
    },
    call$1(argument) {
      return this.create$1(0, argument);
    },
    $isOverride: 1,
    get$dependencies() {
      return this.dependencies;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ProviderOrFamily.prototype = {
    get$allTransitiveDependencies() {
      var result, t1, _this = this,
        value = _this.__ProviderOrFamily_allTransitiveDependencies;
      if (value === $) {
        if (_this.get$dependencies() == null)
          result = null;
        else {
          t1 = _this.get$dependencies();
          t1.toString;
          result = A._allTransitiveDependencies(t1);
        }
        if (_this.__ProviderOrFamily_allTransitiveDependencies !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__ProviderOrFamily_allTransitiveDependencies = result;
      }
      return value;
    }
  };
  A._allTransitiveDependencies_visitDependency.prototype = {
    call$1(dep) {
      var t2, depFamily,
        t1 = this.result;
      if (t1.add$1(0, dep) && dep.get$dependencies() != null) {
        t2 = dep.get$dependencies();
        t2.toString;
        J.forEach$1$ax(t2, this);
      }
      depFamily = dep.get$from();
      if (depFamily != null)
        t1.add$1(0, depFamily);
    },
    $signature: 1063
  };
  A.ProviderListenable.prototype = {};
  A.handleFireImmediately_closure.prototype = {
    call$1(data) {
      return A._runBinaryGuarded(this.listener, null, data.state);
    },
    $signature() {
      return this.State._eval$1("~(ResultData<0>)");
    }
  };
  A.handleFireImmediately_closure0.prototype = {
    call$1(error) {
      return A._runBinaryGuarded(this.onError, error.error, error.stackTrace);
    },
    $signature() {
      return this.State._eval$1("~(ResultError<0>)");
    }
  };
  A.ProviderBase.prototype = {
    addListener$4$fireImmediately$onError(_, node, listener, fireImmediately, onError) {
      var t1, element, t2;
      if (onError == null)
        onError = $.Zone__current.get$handleUncaughtError();
      t1 = A._instanceType(this)._eval$1("ProviderBase.0");
      element = node.readProviderElement$1$1(this, t1);
      element.flush$0(0);
      if (fireImmediately) {
        t2 = element._framework0$_state;
        t2.toString;
        A.handleFireImmediately(t2, listener, onError, t1);
      }
      element._framework0$_onListen$0();
      return node._createSubscription$1$3$listener$onError(element, listener, onError, t1);
    },
    get$hashCode(_) {
      var _this = this,
        t1 = _this.from;
      if (t1 == null)
        return A.Object.prototype.get$hashCode.call(_this, _this);
      return (t1.get$hashCode(t1) ^ J.get$hashCode$(_this.argument)) >>> 0;
    },
    $eq(_, other) {
      var t1, _this = this;
      if (other == null)
        return false;
      t1 = _this.from;
      if (t1 == null)
        return other === _this;
      return J.get$runtimeType$(other) === A.getRuntimeType(_this) && A._instanceType(_this)._eval$1("ProviderBase<ProviderBase.0>")._is(other) && other.from === t1 && J.$eq$(other.argument, _this.argument);
    },
    toString$0(_) {
      var _this = this,
        leading = _this.from != null ? "(" + A.S(_this.argument) + ")" : "",
        t1 = _this.name,
        trailing = t1 != null ? t1 + ":" : "";
      return trailing + (A.getRuntimeType(_this).toString$0(0) + "#" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(_this.get$hashCode(_this) & 1048575, 16), 5, "0")) + leading;
    },
    $isOverride: 1,
    get$name(receiver) {
      return this.name;
    },
    get$from() {
      return this.from;
    }
  };
  A._ProviderSubscription.prototype = {
    close$0(_) {
      var t1;
      this._framework0$_closed = true;
      t1 = this._listenedElement;
      B.JSArray_methods.remove$1(t1._framework0$_listeners, this);
      t1._onRemoveListener$0();
    },
    read$0(_) {
      var t1;
      if (this._framework0$_closed)
        throw A.wrapException(A.StateError$("called ProviderSubscription.read on a subscription that was closed"));
      t1 = this._listenedElement;
      t1.flush$0(0);
      return t1.get$requireState();
    },
    $isProviderSubscription: 1
  };
  A._ProviderListener.prototype = {
    close$0(_) {
      var t1, _this = this;
      B.JSArray_methods.remove$1(_this.dependentElement._subscriptions, _this);
      t1 = _this.listenedElement;
      B.JSArray_methods.remove$1(t1._subscribers, _this);
      t1._onRemoveListener$0();
    },
    read$0(_) {
      var t1 = this.listenedElement;
      t1.flush$0(0);
      return t1.get$requireState();
    },
    $isProviderSubscription: 1
  };
  A.ProviderElementBase.prototype = {
    get$hasListeners() {
      return this._framework0$_listeners.length !== 0 || this._subscribers.length !== 0 || this._framework0$_dependents.length !== 0;
    },
    setState$1(newState) {
      var _this = this,
        previousResult = _this._framework0$_state,
        t1 = newState instanceof A.AsyncValue && previousResult != null,
        t2 = A._instanceType(_this),
        t3 = t2._eval$1("ResultData<ProviderElementBase.0>"),
        newResult = t1 ? new A.ResultData(t2._eval$1("ProviderElementBase.0")._as(newState.copyWithPrevious$1(type$.AsyncValue_dynamic._as(previousResult.get$requireState()))), t3) : new A.ResultData(newState, t3);
      _this._framework0$_state = newResult;
      if (_this._didBuild)
        _this._framework0$_notifyListeners$2(newResult, previousResult);
    },
    get$requireState() {
      var state = this._framework0$_state;
      if (state == null)
        throw A.wrapException(A.StateError$("uninitialized"));
      return state.map$2$data$error(0, new A.ProviderElementBase_requireState_closure(this), new A.ProviderElementBase_requireState_closure0(this));
    },
    mount$0() {
      var _this = this;
      _this._framework0$_mounted = true;
      _this._buildState$0();
      _this._framework0$_state.map$2$data$error(0, new A.ProviderElementBase_mount_closure(_this), new A.ProviderElementBase_mount_closure0(_this));
    },
    update$1(_, newProvider) {
      this._provider = newProvider;
    },
    invalidateSelf$0() {
      var t1, _this = this;
      if (_this._mustRecomputeState)
        return;
      _this._mustRecomputeState = true;
      _this._runOnDispose$0();
      t1 = _this.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.get$_scheduler();
      t1._stateToRefresh.push(_this);
      t1._scheduleTask$0();
      _this.visitChildren$1(new A.ProviderElementBase_invalidateSelf_closure());
    },
    flush$0(_) {
      var _this = this;
      _this._maybeRebuildDependencies$0();
      if (_this._mustRecomputeState) {
        _this._mustRecomputeState = false;
        _this._performBuild$0();
      }
    },
    _maybeRebuildDependencies$0() {
      if (!this._dependencyMayHaveChanged)
        return;
      this._dependencyMayHaveChanged = false;
      this.visitAncestors$1(new A.ProviderElementBase__maybeRebuildDependencies_closure());
    },
    _performBuild$0() {
      var previousStateResult, t1, t2, _this = this;
      _this._previousDependencies = _this._framework0$_dependencies;
      _this._framework0$_dependencies = A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object);
      previousStateResult = _this._framework0$_state;
      _this._buildState$0();
      t1 = _this._framework0$_state;
      if (t1 != previousStateResult) {
        t1.toString;
        _this._framework0$_notifyListeners$2(t1, previousStateResult);
      }
      for (t1 = _this._previousDependencies, t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        t2 = t2.get$key(t2);
        B.JSArray_methods.remove$1(t2._framework0$_dependents, _this);
        t2._onRemoveListener$0();
      }
      _this._previousDependencies = null;
    },
    _buildState$0() {
      var err, stack, exception, _this = this;
      _this._didBuild = false;
      try {
        _this._framework0$_mounted = true;
        _this.setState$1(_this._provider.create$1(0, _this));
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        _this._framework0$_state = new A.ResultError(err, stack, A._instanceType(_this)._eval$1("ResultError<ProviderElementBase.0>"));
      } finally {
        _this._didBuild = true;
      }
    },
    _framework0$_notifyListeners$2(newState, previousStateResult) {
      var t2, listeners, subscribers, i, _i, t3, t4, t5, t6, _this = this,
        t1 = previousStateResult == null,
        previousState = t1 ? null : previousStateResult.get$stateOrNull();
      newState.map$2$data$error(0, new A.ProviderElementBase__notifyListeners_closure(_this, previousState), new A.ProviderElementBase__notifyListeners_closure0(_this));
      if (!t1)
        if (previousStateResult.get$hasState())
          if (newState.get$hasState()) {
            t1 = _this._provider;
            t2 = previousState == null ? A._instanceType(_this)._eval$1("ProviderElementBase.0")._as(previousState) : previousState;
            t2 = !t1.updateShouldNotify$2(t2, newState.get$requireState());
            t1 = t2;
          } else
            t1 = false;
        else
          t1 = false;
      else
        t1 = false;
      if (t1)
        return;
      t1 = _this._framework0$_listeners;
      listeners = J.JSArray_JSArray$markFixed(t1.slice(0), A._arrayInstanceType(t1)._precomputed1);
      t1 = _this._subscribers;
      subscribers = J.JSArray_JSArray$markFixed(t1.slice(0), A._arrayInstanceType(t1)._precomputed1);
      newState.map$2$data$error(0, new A.ProviderElementBase__notifyListeners_closure1(_this, listeners, previousState, subscribers), new A.ProviderElementBase__notifyListeners_closure2(_this, listeners, subscribers));
      for (t1 = _this._framework0$_dependents, i = 0; i < t1.length; ++i)
        t1[i]._didChangeDependency$0();
      t1 = _this.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._observers;
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        t3 = t1[_i].get$didUpdateProvider();
        t4 = _this._provider;
        t5 = newState.get$stateOrNull();
        t6 = _this.__ProviderElementBase__container;
        if (t6 === $)
          A.throwUnnamedLateFieldNI();
        A._runQuaternaryGuarded(t3, t4, previousState, t5, t6);
      }
      t1 = _this.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._observers;
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i)
        newState.map$2$data$error(0, new A.ProviderElementBase__notifyListeners_closure3(_this), new A.ProviderElementBase__notifyListeners_closure4(_this, t1[_i]));
    },
    _didChangeDependency$0() {
      if (this._mustRecomputeState)
        return;
      this.invalidateSelf$0();
    },
    _markDependencyMayHaveChanged$0() {
      if (this._dependencyMayHaveChanged)
        return;
      this._dependencyMayHaveChanged = true;
      this.visitChildren$1(new A.ProviderElementBase__markDependencyMayHaveChanged_closure());
    },
    watch$1$1(listenable, $T) {
      var firstValue, element, _this = this, t1 = {};
      if (!$T._eval$1("ProviderBase<0>")._is(listenable)) {
        t1.initialized = false;
        firstValue = A._Cell$named("firstValue");
        _this.listen$4$fireImmediately$onError(listenable, new A.ProviderElementBase_watch_closure(t1, _this, firstValue, $T), true, new A.ProviderElementBase_watch_closure0(t1, _this, firstValue, $T));
        return firstValue._readLocal$0().get$requireState();
      }
      t1 = _this.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      element = t1.readProviderElement$1$1(listenable, $T);
      _this._framework0$_dependencies.putIfAbsent$2(0, element, new A.ProviderElementBase_watch_closure1(_this, element));
      element.flush$0(0);
      return element.get$requireState();
    },
    readProviderElement$1$1(provider, $T) {
      var t1 = this.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1.readProviderElement$1$1(provider, $T);
    },
    _createSubscription$1$3$listener$onError(element, listener, onError, $T) {
      var sub = new A._ProviderListener(new A.ProviderElementBase__createSubscription_closure(listener, $T), this, element, onError, $T._eval$1("_ProviderListener<0>"));
      element._subscribers.push(sub);
      this._subscriptions.push(sub);
      return sub;
    },
    listen$1$4$fireImmediately$onError(listenable, listener, fireImmediately, onError) {
      return listenable.addListener$4$fireImmediately$onError(0, this, listener, true, onError);
    },
    listen$3$fireImmediately(listenable, listener, fireImmediately) {
      return this.listen$1$4$fireImmediately$onError(listenable, listener, fireImmediately, null, type$.dynamic);
    },
    listen$4$fireImmediately$onError(listenable, listener, fireImmediately, onError) {
      return this.listen$1$4$fireImmediately$onError(listenable, listener, fireImmediately, onError, type$.dynamic);
    },
    visitChildren$1(visitor) {
      var t1, i;
      for (t1 = this._framework0$_dependents, i = 0; i < t1.length; ++i)
        visitor.call$1(t1[i]);
      for (t1 = this._subscribers, i = 0; i < t1.length; ++i)
        visitor.call$1(t1[i].dependentElement);
    },
    visitAncestors$1(visitor) {
      var i,
        t1 = this._framework0$_dependencies;
      new A._HashMapKeyIterable(t1, A._instanceType(t1)._eval$1("_HashMapKeyIterable<1>")).forEach$1(0, visitor);
      for (t1 = this._subscriptions, i = 0; i < t1.length; ++i)
        visitor.call$1(t1[i].listenedElement);
    },
    dispose$0() {
      var t1, t2, _this = this;
      _this._runOnDispose$0();
      for (t1 = _this._framework0$_dependencies, t1 = t1.get$entries(t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) {
        t2 = t1.get$current(t1);
        B.JSArray_methods.remove$1(t2.get$key(t2)._framework0$_dependents, _this);
        t2.get$key(t2)._onRemoveListener$0();
      }
      _this._framework0$_dependencies.clear$0(0);
      B.JSArray_methods.clear$0(_this._framework0$_listeners);
    },
    _framework0$_onListen$0() {
      if (this._didCancelOnce && !this.get$hasListeners()) {
        var t1 = this._onResumeListeners;
        if (t1 != null)
          B.JSArray_methods.forEach$1(t1, A.framework0___runGuarded$closure());
      }
    },
    _onRemoveListener$0() {
      var t1, _this = this;
      if (!_this.get$hasListeners()) {
        _this._didCancelOnce = true;
        t1 = _this._onCancelListeners;
        if (t1 != null)
          B.JSArray_methods.forEach$1(t1, A.framework0___runGuarded$closure());
      }
      _this.mayNeedDispose$0();
    },
    mayNeedDispose$0() {
    },
    onDispose$1(listener) {
      var t1;
      if (!this._framework0$_mounted)
        throw A.wrapException(A.StateError$("Cannot call onDispose after a provider was dispose"));
      t1 = this._onDisposeListeners;
      (t1 == null ? this._onDisposeListeners = A._setArrayType([], type$.JSArray_of_void_Function) : t1).push(listener);
    },
    _runOnDispose$0() {
      var t1, t2, _i, t3, t4, t5, _this = this;
      if (!_this._framework0$_mounted)
        return;
      _this._framework0$_mounted = false;
      for (t1 = _this._subscriptions; t1.length !== 0;)
        B.JSArray_methods.get$first(t1).close$0(0);
      t1 = _this._onDisposeListeners;
      if (t1 != null)
        B.JSArray_methods.forEach$1(t1, A.framework0___runGuarded$closure());
      t1 = _this.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1._observers;
      t2 = t1.length;
      _i = 0;
      for (; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        t3 = t1[_i].get$didDisposeProvider();
        t4 = _this.__ProviderElementBase__origin;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t5 = _this.__ProviderElementBase__container;
        if (t5 === $)
          A.throwUnnamedLateFieldNI();
        A._runBinaryGuarded(t3, t4, t5);
      }
      _this._onErrorSelfListeners = _this._onChangeSelfListeners = _this._onRemoveListeners = _this._onAddListeners = _this._onResumeListeners = _this._onCancelListeners = _this._onDisposeListeners = null;
      _this._didCancelOnce = false;
    },
    toString$0(_) {
      var t1 = A.getRuntimeType(this).toString$0(0),
        t2 = this._provider.toString$0(0),
        t3 = this.__ProviderElementBase__origin;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      return t1 + "(provider: " + t2 + ", origin: " + t3.toString$0(0) + ")";
    }
  };
  A.ProviderElementBase_requireState_closure0.prototype = {
    call$1(error) {
      return A.throwErrorWithCombinedStackTrace(error.error, error.stackTrace);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("0&(ResultError<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase_requireState_closure.prototype = {
    call$1(data) {
      return data.state;
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("ProviderElementBase.0(ResultData<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase_mount_closure.prototype = {
    call$1(newState) {
      var t2, t3, i,
        t1 = this.$this,
        onChangeSelfListeners = t1._onChangeSelfListeners;
      if (onChangeSelfListeners != null)
        for (t2 = newState.state, t3 = type$.Null, t1 = A._instanceType(t1)._eval$1("ProviderElementBase.0"), i = 0; i < onChangeSelfListeners.length; ++i)
          $.Zone__current.runBinaryGuarded$2$3(onChangeSelfListeners[i], null, t2, t3, t1);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultData<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase_mount_closure0.prototype = {
    call$1(newState) {
      var t1, t2, t3, t4, i,
        onErrorSelfListeners = this.$this._onErrorSelfListeners;
      if (onErrorSelfListeners != null)
        for (t1 = newState.error, t2 = newState.stackTrace, t3 = type$.Object, t4 = type$.StackTrace, i = 0; i < onErrorSelfListeners.length; ++i)
          $.Zone__current.runBinaryGuarded$2$3(onErrorSelfListeners[i], t1, t2, t3, t4);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultError<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase_invalidateSelf_closure.prototype = {
    call$1(element) {
      return element._markDependencyMayHaveChanged$0();
    },
    $signature: 76
  };
  A.ProviderElementBase__maybeRebuildDependencies_closure.prototype = {
    call$1(element) {
      return element.flush$0(0);
    },
    $signature: 76
  };
  A.ProviderElementBase__notifyListeners_closure.prototype = {
    call$1(newState) {
      var t2, t3, t4, i,
        t1 = this.$this,
        onChangeSelfListeners = t1._onChangeSelfListeners;
      if (onChangeSelfListeners != null)
        for (t2 = this.previousState, t3 = newState.state, t1 = A._instanceType(t1), t4 = t1._eval$1("ProviderElementBase.0?"), t1 = t1._eval$1("ProviderElementBase.0"), i = 0; i < onChangeSelfListeners.length; ++i)
          $.Zone__current.runBinaryGuarded$2$3(onChangeSelfListeners[i], t2, t3, t4, t1);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultData<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase__notifyListeners_closure0.prototype = {
    call$1(newState) {
      var t1, t2, t3, t4, i,
        onErrorSelfListeners = this.$this._onErrorSelfListeners;
      if (onErrorSelfListeners != null)
        for (t1 = newState.error, t2 = newState.stackTrace, t3 = type$.Object, t4 = type$.StackTrace, i = 0; i < onErrorSelfListeners.length; ++i)
          $.Zone__current.runBinaryGuarded$2$3(onErrorSelfListeners[i], t1, t2, t3, t4);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultError<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase__notifyListeners_closure1.prototype = {
    call$1(newState) {
      var t1, t2, t3, t4, t5, i, _this = this;
      for (t1 = _this.listeners, t2 = _this.previousState, t3 = newState.state, t4 = A._instanceType(_this.$this), t5 = t4._eval$1("ProviderElementBase.0?"), t4 = t4._eval$1("ProviderElementBase.0"), i = 0; i < t1.length; ++i)
        $.Zone__current.runBinaryGuarded$2$3(t1[i]._listener, t2, t3, t5, t4);
      for (t1 = _this.subscribers, i = 0; i < t1.length; ++i)
        $.Zone__current.runBinaryGuarded$2$3(t1[i].listener, t2, t3, t5, t4);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultData<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase__notifyListeners_closure2.prototype = {
    call$1(newState) {
      var t1, t2, t3, t4, t5, i;
      for (t1 = this.listeners, t2 = newState.error, t3 = newState.stackTrace, t4 = type$.Object, t5 = type$.StackTrace, i = 0; i < t1.length; ++i)
        $.Zone__current.runBinaryGuarded$2$3(t1[i].onError, t2, t3, t4, t5);
      for (t1 = this.subscribers, i = 0; i < t1.length; ++i)
        $.Zone__current.runBinaryGuarded$2$3(t1[i].onError, t2, t3, t4, t5);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultError<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase__notifyListeners_closure3.prototype = {
    call$1(_) {
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultData<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase__notifyListeners_closure4.prototype = {
    call$1(newState) {
      var t1 = this.$this,
        t2 = t1._provider;
      t1 = t1.__ProviderElementBase__container;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      A._runQuaternaryGuarded(this.observer.get$providerDidFail(), t2, newState.error, newState.stackTrace, t1);
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(ResultError<ProviderElementBase.0>)");
    }
  };
  A.ProviderElementBase__markDependencyMayHaveChanged_closure.prototype = {
    call$1(element) {
      return element._markDependencyMayHaveChanged$0();
    },
    $signature: 76
  };
  A.ProviderElementBase_watch_closure.prototype = {
    call$2(prev, value) {
      var _this = this,
        t1 = _this._box_0;
      if (t1.initialized)
        _this.$this._didChangeDependency$0();
      else {
        _this.firstValue.__late_helper$_value = new A.ResultData(value, _this.T._eval$1("ResultData<0>"));
        t1.initialized = true;
      }
    },
    $signature() {
      return this.T._eval$1("~(0?,0)");
    }
  };
  A.ProviderElementBase_watch_closure0.prototype = {
    call$2(err, stack) {
      var _this = this,
        t1 = _this._box_0;
      if (t1.initialized)
        _this.$this._didChangeDependency$0();
      else {
        t1.initialized = true;
        _this.firstValue.__late_helper$_value = new A.ResultError(err, stack, _this.T._eval$1("ResultError<0>"));
      }
    },
    $signature: 27
  };
  A.ProviderElementBase_watch_closure1.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._previousDependencies,
        previousSub = t2 == null ? null : t2.remove$1(0, this.element);
      if (previousSub != null)
        return previousSub;
      t2 = this.element;
      t2._framework0$_onListen$0();
      t2._framework0$_dependents.push(t1);
      return new A.Object();
    },
    $signature: 175
  };
  A.ProviderElementBase__createSubscription_closure.prototype = {
    call$2(prev, value) {
      var t1 = this.T;
      return this.listener.call$2(t1._eval$1("0?")._as(prev), t1._as(value));
    },
    $signature: 105
  };
  A.OverrideWithValueMixin.prototype = {};
  A.OverrideWithProviderMixin.prototype = {};
  A.ResultData.prototype = {
    get$hasState() {
      return true;
    },
    get$stateOrNull() {
      return this.state;
    },
    get$requireState() {
      return this.state;
    },
    map$1$2$data$error(_, data, error) {
      return data.call$1(this);
    },
    map$2$data$error($receiver, data, error) {
      return this.map$1$2$data$error($receiver, data, error, type$.dynamic);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return this.$ti._is(other) && A.getRuntimeType(other) === A.getRuntimeType(this) && J.$eq$(other.state, this.state);
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), this.state, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A.ResultError.prototype = {
    get$hasState() {
      return false;
    },
    get$stateOrNull() {
      return null;
    },
    get$requireState() {
      return A.throwExpression(this.error);
    },
    map$1$2$data$error(_, data, error) {
      return error.call$1(this);
    },
    map$2$data$error($receiver, data, error) {
      return this.map$1$2$data$error($receiver, data, error, type$.dynamic);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return _this.$ti._is(other) && A.getRuntimeType(other) === A.getRuntimeType(_this) && other.stackTrace === _this.stackTrace && J.$eq$(other.error, _this.error);
    },
    get$hashCode(_) {
      return A.Object_hash(A.getRuntimeType(this), this.error, this.stackTrace, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    }
  };
  A._ProviderScheduler.prototype = {
    _scheduleTask$0() {
      var _this = this;
      if (_this._pendingTaskCompleter != null)
        return;
      _this._pendingTaskCompleter = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void);
      _this.vsync.call$1(_this.get$_framework0$_task());
    },
    _framework0$_task$0() {
      var _this = this,
        pendingTaskCompleter = _this._pendingTaskCompleter;
      if (pendingTaskCompleter == null)
        return;
      pendingTaskCompleter.complete$0(0);
      _this._performRefresh$0();
      _this._performDispose$0();
      B.JSArray_methods.clear$0(_this._stateToRefresh);
      B.JSArray_methods.clear$0(_this._stateToDispose);
      _this._pendingTaskCompleter = null;
    },
    _performRefresh$0() {
      var t1, i, element;
      for (t1 = this._stateToRefresh, i = 0; i < t1.length; ++i) {
        element = t1[i];
        if (element._framework0$_listeners.length !== 0 || element._subscribers.length !== 0 || element._framework0$_dependents.length !== 0) {
          element._maybeRebuildDependencies$0();
          if (element._mustRecomputeState) {
            element._mustRecomputeState = false;
            element._performBuild$0();
          }
        }
      }
    },
    _performDispose$0() {
      var t1, i, element, t2, t3;
      for (t1 = this._stateToDispose, i = 0; i < t1.length; ++i) {
        element = t1[i];
        if (element._keepAliveLinks.length === 0)
          if (!(element._framework0$_listeners.length !== 0 || element._subscribers.length !== 0 || element._framework0$_dependents.length !== 0)) {
            t2 = element.__ProviderElementBase__container;
            if (t2 === $)
              A.throwUnnamedLateFieldNI();
            t2 = t2._framework0$_disposed;
          } else
            t2 = true;
        else
          t2 = true;
        if (t2)
          continue;
        t2 = element.__ProviderElementBase__container;
        if (t2 === $)
          A.throwUnnamedLateFieldNI();
        t3 = element.__ProviderElementBase__origin;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t2._disposeProvider$1(t3);
      }
    }
  };
  A._AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable.prototype = {};
  A._ProviderBase_ProviderOrFamily_ProviderListenable.prototype = {};
  A._FutureProviderElementMixin.prototype = {
    _listenFuture$1(future) {
      var value, err, stack, t2, exception, _this = this, t1 = {};
      t1.running = true;
      _this.onDispose$1(new A._FutureProviderElementMixin__listenFuture_closure(t1));
      try {
        value = future.call$0();
        t2 = A._instanceType(_this);
        if (t2._eval$1("Future<1>")._is(value)) {
          _this.setState$1(new A.AsyncLoading(t2._eval$1("AsyncLoading<1>")));
          value.then$1$2$onError(new A._FutureProviderElementMixin__listenFuture_closure0(t1, _this), new A._FutureProviderElementMixin__listenFuture_closure1(t1, _this), type$.Null);
        } else {
          t1 = A.AsyncData$(value, t2._precomputed1);
          return t1;
        }
        t1 = _this.get$requireState();
        return t1;
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        t1 = A.AsyncError$0(err, stack, A._instanceType(_this)._precomputed1);
        return t1;
      }
    }
  };
  A._FutureProviderElementMixin__listenFuture_closure.prototype = {
    call$0() {
      return this._box_0.running = false;
    },
    $signature: 0
  };
  A._FutureProviderElementMixin__listenFuture_closure0.prototype = {
    call$1($event) {
      var t1;
      if (this._box_0.running) {
        t1 = this.$this;
        t1.setState$1(A.AsyncData$($event, A._instanceType(t1)._precomputed1));
      }
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("Null(1)");
    }
  };
  A._FutureProviderElementMixin__listenFuture_closure1.prototype = {
    call$2(err, stack) {
      var t1;
      if (this._box_0.running) {
        t1 = this.$this;
        t1.setState$1(A.AsyncError$0(err, stack, A._instanceType(t1)._precomputed1));
      }
    },
    $signature: 22
  };
  A.AutoDisposeFutureProvider.prototype = {
    get$future() {
      var t1, _this = this,
        value = _this.__AutoDisposeFutureProvider_future;
      if (value === $) {
        t1 = _this.name;
        t1 = t1 == null ? null : t1 + ".future";
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__AutoDisposeFutureProvider_future = new A.AutoDisposeAsyncValueAsFutureProvider(_this, _this.cacheTime, _this.disposeDelay, t1, _this.from, _this.argument, _this.$ti._eval$1("AutoDisposeAsyncValueAsFutureProvider<1>"));
      }
      return value;
    },
    create$1(_, ref) {
      return ref._listenFuture$1(new A.AutoDisposeFutureProvider_create_closure(this, ref));
    },
    updateShouldNotify$2(previousState, newState) {
      var wasLoading = previousState instanceof A.AsyncLoading,
        isLoading = newState instanceof A.AsyncLoading;
      if (wasLoading || isLoading)
        return wasLoading !== isLoading;
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A.AutoDisposeFutureProviderElement(A._setArrayType([], type$.JSArray_KeepAliveLink), this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<AsyncValue<1>>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("AutoDisposeFutureProviderElement<1>"));
    },
    get$dependencies() {
      return null;
    }
  };
  A.AutoDisposeFutureProvider_create_closure.prototype = {
    call$0() {
      return this.$this._future_provider$_create.call$1(this.ref);
    },
    $signature() {
      return this.$this.$ti._eval$1("1/()");
    }
  };
  A.AutoDisposeFutureProviderElement.prototype = {$isAutoDisposeFutureProviderRef: 1};
  A.AutoDisposeFutureProviderFamily.prototype = {
    create$1(_, argument) {
      var _this = this;
      return A.AutoDisposeFutureProvider$(new A.AutoDisposeFutureProviderFamily_create_closure(_this, argument), argument, _this.cacheTime, _this.disposeDelay, _this, _this.name, _this.$ti._precomputed1);
    },
    setupOverride$2(argument, setup) {
      var futureProvider = this.create$1(0, argument);
      setup.call$2$origin$override(futureProvider, futureProvider);
    }
  };
  A.AutoDisposeFutureProviderFamily_create_closure.prototype = {
    call$1(ref) {
      return this.$this._future_provider$_create.call$2(ref, this.argument);
    },
    $signature() {
      return this.$this.$ti._eval$1("1/(AutoDisposeFutureProviderRef<1>)");
    }
  };
  A.FutureProvider.prototype = {
    get$future() {
      var result, _this = this,
        value = _this.__FutureProvider_future;
      if (value === $) {
        result = A.AsyncValueAsFutureProvider$(_this, _this.argument, _this.from, _this.$ti._precomputed1);
        if (_this.__FutureProvider_future !== $)
          A.throwUnnamedLateFieldADI();
        _this.__FutureProvider_future = result;
        value = result;
      }
      return value;
    },
    create$1(_, ref) {
      return ref._listenFuture$1(new A.FutureProvider_create_closure(this, ref));
    },
    updateShouldNotify$2(previousState, newState) {
      var wasLoading = previousState instanceof A.AsyncLoading,
        isLoading = newState instanceof A.AsyncLoading;
      if (wasLoading || isLoading)
        return wasLoading !== isLoading;
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A.FutureProviderElement(this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<AsyncValue<1>>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("FutureProviderElement<1>"));
    },
    get$dependencies() {
      return null;
    }
  };
  A.FutureProvider_create_closure.prototype = {
    call$0() {
      return this.$this._future_provider$_create.call$1(this.ref);
    },
    $signature() {
      return this.$this.$ti._eval$1("1/()");
    }
  };
  A.FutureProviderElement.prototype = {$isFutureProviderRef: 1};
  A.FutureProviderFamily.prototype = {
    create$1(_, argument) {
      var _this = this;
      return new A.FutureProvider(new A.FutureProviderFamily_create_closure(_this, argument), _this.name, _this, argument, _this.$ti._eval$1("FutureProvider<1>"));
    },
    setupOverride$2(argument, setup) {
      var futureProvider = this.create$1(0, argument);
      setup.call$2$origin$override(futureProvider, futureProvider);
    }
  };
  A.FutureProviderFamily_create_closure.prototype = {
    call$1(ref) {
      return this.$this._future_provider$_create.call$2(ref, this.argument);
    },
    $signature() {
      return this.$this.$ti._eval$1("1/(FutureProviderRef<1>)");
    }
  };
  A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin.prototype = {};
  A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin.prototype = {};
  A._AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin.prototype = {};
  A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin.prototype = {};
  A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin.prototype = {};
  A._FutureProviderElement_ProviderElementBase__FutureProviderElementMixin.prototype = {};
  A.AutoDisposeProvider.prototype = {
    create$1(_, ref) {
      return this._provider0$_create.call$1(ref);
    },
    updateShouldNotify$2(previousState, newState) {
      return !J.$eq$(previousState, newState);
    },
    createElement$0(_) {
      return A.AutoDisposeProviderElement$(this, this.$ti._precomputed1);
    },
    get$dependencies() {
      return this.dependencies;
    }
  };
  A.AutoDisposeProviderElement.prototype = {$isAutoDisposeProviderRef: 1, $isProviderRef: 1};
  A.AutoDisposeProviderFamily.prototype = {
    create$1(_, argument) {
      var _this = this;
      return A.AutoDisposeProvider$(new A.AutoDisposeProviderFamily_create_closure(_this, argument), argument, _this.cacheTime, null, _this.disposeDelay, _this, _this.name, _this.$ti._precomputed1);
    }
  };
  A.AutoDisposeProviderFamily_create_closure.prototype = {
    call$1(ref) {
      return this.$this._provider0$_create.call$2(ref, this.argument);
    },
    $signature() {
      return this.$this.$ti._eval$1("1(AutoDisposeProviderRef<1>)");
    }
  };
  A.ProviderElement.prototype = {$isProviderRef: 1};
  A.Provider0.prototype = {
    create$1(_, ref) {
      return this._provider0$_create.call$1(ref);
    },
    updateShouldNotify$2(previousState, newState) {
      return !J.$eq$(previousState, newState);
    },
    createElement$0(_) {
      return A.ProviderElement$(this, this.$ti._precomputed1);
    },
    get$dependencies() {
      return this.dependencies;
    }
  };
  A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin.prototype = {};
  A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin.prototype = {};
  A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin.prototype = {};
  A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin.prototype = {};
  A.throwErrorWithCombinedStackTrace_closure.prototype = {
    call$1(frame) {
      return frame.get$$package() === "riverpod";
    },
    $signature: 189
  };
  A.StateNotifierProviderOverrideMixin.prototype = {
    get$dependencies() {
      var result, _this = this,
        value = _this.StateNotifierProviderOverrideMixin___StateNotifierProviderOverrideMixin_dependencies;
      if (value === $) {
        result = A._setArrayType([_this.notifier], type$.JSArray_ProviderOrFamily);
        if (_this.StateNotifierProviderOverrideMixin___StateNotifierProviderOverrideMixin_dependencies !== $)
          A.throwUnnamedLateFieldADI();
        _this.StateNotifierProviderOverrideMixin___StateNotifierProviderOverrideMixin_dependencies = result;
        value = result;
      }
      return value;
    }
  };
  A.AutoDisposeStateNotifierProvider.prototype = {
    create$1(_, ref) {
      ref.onDispose$1(J.addListener$1$x(ref.watch$1$1(this.notifier, this.$ti._precomputed1), new A.AutoDisposeStateNotifierProvider_create_listener(this, ref)));
      return ref.get$requireState();
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    createElement$0(_) {
      return A.AutoDisposeProviderElement$(this, this.$ti._rest[1]);
    }
  };
  A.AutoDisposeStateNotifierProvider_create_listener.prototype = {
    call$1(newState) {
      this.ref.setState$1(newState);
    },
    $signature() {
      return this.$this.$ti._eval$1("~(2)");
    }
  };
  A._AutoDisposeNotifierProvider.prototype = {
    create$1(_, ref) {
      var notifier = this._state_notifier_provider$_create.call$1(ref);
      ref.onDispose$1(notifier.get$dispose());
      return notifier;
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A._AutoDisposeNotifierProviderElement(A._setArrayType([], type$.JSArray_KeepAliveLink), this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<1>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("_AutoDisposeNotifierProviderElement<1,2>"));
    },
    get$dependencies() {
      return this.dependencies;
    }
  };
  A._AutoDisposeNotifierProviderElement.prototype = {$isAutoDisposeStateNotifierProviderRef: 1};
  A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin.prototype = {};
  A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin.prototype = {};
  A.StateController.prototype = {};
  A._listenStateProvider_listener.prototype = {
    call$1(newState) {
      this.ref.setState$1(this.controller);
    },
    $signature() {
      return this.State._eval$1("~(0)");
    }
  };
  A.StateProviderOverrideMixin.prototype = {
    get$dependencies() {
      var result, _this = this,
        value = _this.StateProviderOverrideMixin___StateProviderOverrideMixin_dependencies;
      if (value === $) {
        result = A._setArrayType([_this.notifier], type$.JSArray_ProviderOrFamily);
        if (_this.StateProviderOverrideMixin___StateProviderOverrideMixin_dependencies !== $)
          A.throwUnnamedLateFieldADI();
        _this.StateProviderOverrideMixin___StateProviderOverrideMixin_dependencies = result;
        value = result;
      }
      return value;
    }
  };
  A.StateProvider.prototype = {
    get$state(_) {
      var t1, _this = this,
        value = _this.__StateProvider_state;
      if (value === $) {
        t1 = A._setArrayType([_this.notifier], type$.JSArray_ProviderOrFamily);
        if (_this.__StateProvider_state !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__StateProvider_state = new A._NotifierStateProvider(t1, new A.StateProvider_state_closure(_this), null, _this.from, _this.argument, _this.$ti._eval$1("_NotifierStateProvider<StateController<1>>"));
      }
      return value;
    },
    create$1(_, ref) {
      var notifier = ref.watch$1$1(this.notifier, this.$ti._eval$1("StateController<1>"));
      ref.onDispose$1(notifier.addListener$1(0, ref.get$setState()));
      return A.StateNotifier.prototype.get$state.call(notifier, notifier);
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A.StateProviderElement(this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<1>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("StateProviderElement<1>"));
    }
  };
  A.StateProvider_state_closure.prototype = {
    call$1(ref) {
      var t1 = this.$this,
        t2 = t1.$ti;
      t2._eval$1("ProviderElementBase<StateController<1>>")._as(ref);
      return A._listenStateProvider(ref, ref.watch$1$1(t1.notifier, t2._eval$1("StateController<1>")), t2._precomputed1);
    },
    $signature() {
      return this.$this.$ti._eval$1("StateController<1>(ProviderRef<StateController<1>>)");
    }
  };
  A.StateProviderElement.prototype = {};
  A._NotifierStateProvider.prototype = {
    updateShouldNotify$2(previousState, newState) {
      return true;
    }
  };
  A._NotifierProvider0.prototype = {
    create$1(_, ref) {
      var t1 = this.$ti,
        notifier = new A.StateController(new A.LinkedList(t1._eval$1("LinkedList<_ListenerEntry0<1>>")), this._state_provider$_create.call$1(ref), t1._eval$1("StateController<1>"));
      ref.onDispose$1(notifier.get$dispose());
      return notifier;
    },
    updateShouldNotify$2(previousState, newState) {
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A._NotifierStateProviderElement(this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<StateController<1>>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("_NotifierStateProviderElement<1>"));
    },
    get$dependencies() {
      return this.dependencies;
    }
  };
  A._NotifierStateProviderElement.prototype = {$isStateProviderRef: 1};
  A.StateProviderFamily.prototype = {
    create$1(_, argument) {
      var _this = this;
      return A.StateProvider$(new A.StateProviderFamily_create_closure(_this, argument), argument, _this, _this.name, _this.$ti._precomputed1);
    },
    setupOverride$2(argument, setup) {
      var t1 = this.create$1(0, argument).notifier;
      setup.call$2$origin$override(t1, t1);
    }
  };
  A.StateProviderFamily_create_closure.prototype = {
    call$1(ref) {
      return this.$this._state_provider$_create.call$2(ref, this.argument);
    },
    $signature() {
      return this.$this.$ti._eval$1("1(StateProviderRef<1>)");
    }
  };
  A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin.prototype = {};
  A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin.prototype = {};
  A._StreamProviderElementMixin.prototype = {
    _listenStream$1(stream) {
      var sub, err, stack, exception, t1, _this = this;
      try {
        sub = stream.call$0().listen$2$onError(new A._StreamProviderElementMixin__listenStream_closure(_this), new A._StreamProviderElementMixin__listenStream_closure0(_this));
        _this.onDispose$1(J.get$cancel$z(sub));
        return new A.AsyncLoading(A._instanceType(_this)._eval$1("AsyncLoading<1>"));
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        t1 = A.AsyncError$0(err, stack, A._instanceType(_this)._precomputed1);
        return t1;
      }
    }
  };
  A._StreamProviderElementMixin__listenStream_closure.prototype = {
    call$1($event) {
      var t1 = this.$this;
      return t1.setState$1(A.AsyncData$($event, A._instanceType(t1)._precomputed1));
    },
    $signature() {
      return A._instanceType(this.$this)._eval$1("~(1)");
    }
  };
  A._StreamProviderElementMixin__listenStream_closure0.prototype = {
    call$2(err, stack) {
      var t1 = this.$this;
      t1.setState$1(A.AsyncError$0(err, stack, A._instanceType(t1)._precomputed1));
    },
    $signature: 22
  };
  A.AutoDisposeStreamProvider.prototype = {
    create$1(_, ref) {
      return ref._listenStream$1(new A.AutoDisposeStreamProvider_create_closure(this, ref));
    },
    updateShouldNotify$2(previousState, newState) {
      var wasLoading = previousState instanceof A.AsyncLoading,
        isLoading = newState instanceof A.AsyncLoading;
      if (wasLoading || isLoading)
        return wasLoading !== isLoading;
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A.AutoDisposeStreamProviderElement(A._setArrayType([], type$.JSArray_KeepAliveLink), this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<AsyncValue<1>>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("AutoDisposeStreamProviderElement<1>"));
    },
    get$dependencies() {
      return null;
    }
  };
  A.AutoDisposeStreamProvider_create_closure.prototype = {
    call$0() {
      return this.$this._stream_provider$_create.call$1(this.ref);
    },
    $signature() {
      return this.$this.$ti._eval$1("Stream<1>()");
    }
  };
  A.AutoDisposeStreamProviderElement.prototype = {$isAutoDisposeStreamProviderRef: 1};
  A.AutoDisposeStreamProviderFamily.prototype = {
    create$1(_, argument) {
      var _this = this;
      return A.AutoDisposeStreamProvider$(new A.AutoDisposeStreamProviderFamily_create_closure(_this, argument), argument, _this.cacheTime, _this.disposeDelay, _this, _this.name, _this.$ti._precomputed1);
    },
    setupOverride$2(argument, setup) {
      var provider = this.create$1(0, argument);
      setup.call$2$origin$override(provider, provider);
    }
  };
  A.AutoDisposeStreamProviderFamily_create_closure.prototype = {
    call$1(ref) {
      return this.$this._stream_provider$_create.call$2(ref, this.argument);
    },
    $signature() {
      return this.$this.$ti._eval$1("Stream<1>(AutoDisposeStreamProviderRef<1>)");
    }
  };
  A.StreamProvider.prototype = {
    get$future() {
      var result, _this = this,
        value = _this.__StreamProvider_future;
      if (value === $) {
        result = A.AsyncValueAsFutureProvider$(_this, _this.argument, _this.from, _this.$ti._precomputed1);
        if (_this.__StreamProvider_future !== $)
          A.throwUnnamedLateFieldADI();
        _this.__StreamProvider_future = result;
        value = result;
      }
      return value;
    },
    create$1(_, ref) {
      return ref._listenStream$1(new A.StreamProvider_create_closure(this, ref));
    },
    updateShouldNotify$2(previousState, newState) {
      var wasLoading = previousState instanceof A.AsyncLoading,
        isLoading = newState instanceof A.AsyncLoading;
      if (wasLoading || isLoading)
        return wasLoading !== isLoading;
      return true;
    },
    createElement$0(_) {
      var t1 = this.$ti,
        t2 = type$.JSArray__ProviderListener_dynamic;
      return new A.StreamProviderElement(this, A._setArrayType([], t1._eval$1("JSArray<_ProviderSubscription<AsyncValue<1>>>")), A._setArrayType([], type$.JSArray_ProviderElementBase_dynamic), A._setArrayType([], t2), A._setArrayType([], t2), A.HashMap_HashMap(null, null, null, type$.ProviderElementBase_dynamic, type$.Object), t1._eval$1("StreamProviderElement<1>"));
    },
    get$dependencies() {
      return null;
    }
  };
  A.StreamProvider_create_closure.prototype = {
    call$0() {
      return this.$this._stream_provider$_create.call$1(this.ref);
    },
    $signature() {
      return this.$this.$ti._eval$1("Stream<1>()");
    }
  };
  A.StreamProviderElement.prototype = {$isStreamProviderRef: 1};
  A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin.prototype = {};
  A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin.prototype = {};
  A._AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin.prototype = {};
  A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin.prototype = {};
  A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin.prototype = {};
  A._StreamProviderElement_ProviderElementBase__StreamProviderElementMixin.prototype = {};
  A.SourceFile.prototype = {
    get$length(_) {
      return this._decodedChars.length;
    },
    get$lines(_) {
      return this._lineStarts.length;
    },
    SourceFile$decoded$2$url(decodedChars, url) {
      var t1, t2, t3, i, c, j;
      for (t1 = this._decodedChars, t2 = t1.length, t3 = this._lineStarts, i = 0; i < t2; ++i) {
        c = t1[i];
        if (c === 13) {
          j = i + 1;
          if (j >= t2 || t1[j] !== 10)
            c = 10;
        }
        if (c === 10)
          t3.push(i + 1);
      }
    },
    location$1(_, offset) {
      return A.FileLocation$_(this, offset);
    },
    getLine$1(offset) {
      var t1, _this = this;
      if (offset < 0)
        throw A.wrapException(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > _this._decodedChars.length)
        throw A.wrapException(A.RangeError$("Offset " + offset + string$.x20must_ + _this.get$length(_this) + "."));
      t1 = _this._lineStarts;
      if (offset < B.JSArray_methods.get$first(t1))
        return -1;
      if (offset >= B.JSArray_methods.get$last(t1))
        return t1.length - 1;
      if (_this._isNearCachedLine$1(offset)) {
        t1 = _this._cachedLine;
        t1.toString;
        return t1;
      }
      return _this._cachedLine = _this._file$_binarySearch$1(offset) - 1;
    },
    _isNearCachedLine$1(offset) {
      var t2, t3,
        t1 = this._cachedLine;
      if (t1 == null)
        return false;
      t2 = this._lineStarts;
      if (offset < t2[t1])
        return false;
      t3 = t2.length;
      if (t1 >= t3 - 1 || offset < t2[t1 + 1])
        return true;
      if (t1 >= t3 - 2 || offset < t2[t1 + 2]) {
        this._cachedLine = t1 + 1;
        return true;
      }
      return false;
    },
    _file$_binarySearch$1(offset) {
      var min, half,
        t1 = this._lineStarts,
        max = t1.length - 1;
      for (min = 0; min < max;) {
        half = min + B.JSInt_methods._tdivFast$1(max - min, 2);
        if (t1[half] > offset)
          max = half;
        else
          min = half + 1;
      }
      return max;
    },
    getColumn$1(offset) {
      var line, lineStart, _this = this;
      if (offset < 0)
        throw A.wrapException(A.RangeError$("Offset may not be negative, was " + offset + "."));
      else if (offset > _this._decodedChars.length)
        throw A.wrapException(A.RangeError$("Offset " + offset + " must be not be greater than the number of characters in the file, " + _this.get$length(_this) + "."));
      line = _this.getLine$1(offset);
      lineStart = _this._lineStarts[line];
      if (lineStart > offset)
        throw A.wrapException(A.RangeError$("Line " + line + " comes after offset " + offset + "."));
      return offset - lineStart;
    },
    getOffset$1(line) {
      var t1, t2, result, t3, _this = this;
      if (line < 0)
        throw A.wrapException(A.RangeError$("Line may not be negative, was " + line + "."));
      else {
        t1 = _this._lineStarts;
        t2 = t1.length;
        if (line >= t2)
          throw A.wrapException(A.RangeError$("Line " + line + " must be less than the number of lines in the file, " + _this.get$lines(_this) + "."));
      }
      result = t1[line];
      if (result <= _this._decodedChars.length) {
        t3 = line + 1;
        t1 = t3 < t2 && result >= t1[t3];
      } else
        t1 = true;
      if (t1)
        throw A.wrapException(A.RangeError$("Line " + line + " doesn't have 0 columns."));
      return result;
    }
  };
  A.FileLocation.prototype = {
    get$sourceUrl() {
      return this.file.url;
    },
    get$line(_) {
      return this.file.getLine$1(this.offset);
    },
    get$column() {
      return this.file.getColumn$1(this.offset);
    },
    get$offset(receiver) {
      return this.offset;
    }
  };
  A._FileSpan.prototype = {
    get$sourceUrl() {
      return this.file.url;
    },
    get$length(_) {
      return this._file$_end - this._file$_start;
    },
    get$start(_) {
      return A.FileLocation$_(this.file, this._file$_start);
    },
    get$end(_) {
      return A.FileLocation$_(this.file, this._file$_end);
    },
    get$text(_) {
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.file._decodedChars, this._file$_start, this._file$_end), 0, null);
    },
    get$context(_) {
      var _this = this,
        t1 = _this.file,
        endOffset = _this._file$_end,
        endLine = t1.getLine$1(endOffset);
      if (t1.getColumn$1(endOffset) === 0 && endLine !== 0) {
        if (endOffset - _this._file$_start === 0)
          return endLine === t1._lineStarts.length - 1 ? "" : A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(endLine), t1.getOffset$1(endLine + 1)), 0, null);
      } else
        endOffset = endLine === t1._lineStarts.length - 1 ? t1._decodedChars.length : t1.getOffset$1(endLine + 1);
      return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1._decodedChars, t1.getOffset$1(t1.getLine$1(_this._file$_start)), endOffset), 0, null);
    },
    compareTo$1(_, other) {
      var result;
      if (!(other instanceof A._FileSpan))
        return this.super$SourceSpanMixin$compareTo(0, other);
      result = B.JSInt_methods.compareTo$1(this._file$_start, other._file$_start);
      return result === 0 ? B.JSInt_methods.compareTo$1(this._file$_end, other._file$_end) : result;
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      if (!type$.FileSpan._is(other))
        return _this.super$SourceSpanMixin$$eq(0, other);
      return _this._file$_start === other._file$_start && _this._file$_end === other._file$_end && J.$eq$(_this.file.url, other.file.url);
    },
    get$hashCode(_) {
      return A.Object_hash(this._file$_start, this._file$_end, this.file.url, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    $isFileSpan: 1,
    $isSourceSpanWithContext: 1
  };
  A.Highlighter.prototype = {
    highlight$0(_) {
      var t2, highlightsByColumn, t3, t4, i, line, lastLine, t5, t6, t7, t8, t9, t10, t11, t12, t13, index, primaryIdx, primary, _i, _this = this, _null = null,
        t1 = _this._lines;
      _this._writeFileStart$1(B.JSArray_methods.get$first(t1).url);
      t2 = _this._maxMultilineSpans;
      highlightsByColumn = A.List_List$filled(t2, _null, false, type$.nullable__Highlight);
      for (t3 = _this._highlighter$_buffer, t2 = t2 !== 0, t4 = _this._highlighter$_primaryColor, i = 0; i < t1.length; ++i) {
        line = t1[i];
        if (i > 0) {
          lastLine = t1[i - 1];
          t5 = lastLine.url;
          t6 = line.url;
          if (!J.$eq$(t5, t6)) {
            _this._writeSidebar$1$end("\u2575");
            t3._contents += "\n";
            _this._writeFileStart$1(t6);
          } else if (lastLine.number + 1 !== line.number) {
            _this._writeSidebar$1$text("...");
            t3._contents += "\n";
          }
        }
        for (t5 = line.highlights, t6 = A._arrayInstanceType(t5)._eval$1("ReversedListIterable<1>"), t7 = new A.ReversedListIterable(t5, t6), t7 = new A.ListIterator(t7, t7.get$length(t7), t6._eval$1("ListIterator<ListIterable.E>")), t6 = t6._eval$1("ListIterable.E"), t8 = line.number, t9 = line.text; t7.moveNext$0();) {
          t10 = t7.__internal$_current;
          if (t10 == null)
            t10 = t6._as(t10);
          t11 = t10.span;
          t12 = t11.get$start(t11);
          t12 = t12.get$line(t12);
          t13 = t11.get$end(t11);
          if (t12 !== t13.get$line(t13)) {
            t12 = t11.get$start(t11);
            t11 = t12.get$line(t12) === t8 && _this._isOnlyWhitespace$1(B.JSString_methods.substring$2(t9, 0, t11.get$start(t11).get$column()));
          } else
            t11 = false;
          if (t11) {
            index = B.JSArray_methods.indexOf$1(highlightsByColumn, _null);
            if (index < 0)
              A.throwExpression(A.ArgumentError$(A.S(highlightsByColumn) + " contains no null elements.", _null));
            highlightsByColumn[index] = t10;
          }
        }
        _this._writeSidebar$1$line(t8);
        t3._contents += " ";
        _this._writeMultilineHighlights$2(line, highlightsByColumn);
        if (t2)
          t3._contents += " ";
        primaryIdx = B.JSArray_methods.indexWhere$1(t5, new A.Highlighter_highlight_closure());
        primary = primaryIdx === -1 ? _null : t5[primaryIdx];
        t6 = primary != null;
        if (t6) {
          t7 = primary.span;
          t10 = t7.get$start(t7);
          t10 = t10.get$line(t10) === t8 ? t7.get$start(t7).get$column() : 0;
          t11 = t7.get$end(t7);
          _this._writeHighlightedText$4$color(t9, t10, t11.get$line(t11) === t8 ? t7.get$end(t7).get$column() : t9.length, t4);
        } else
          _this._writeText$1(t9);
        t3._contents += "\n";
        if (t6)
          _this._writeIndicator$3(line, primary, highlightsByColumn);
        for (t6 = t5.length, _i = 0; _i < t6; ++_i) {
          t5[_i].toString;
          continue;
        }
      }
      _this._writeSidebar$1$end("\u2575");
      t1 = t3._contents;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    _writeFileStart$1(url) {
      var _this = this;
      if (!_this._multipleFiles || !type$.Uri._is(url))
        _this._writeSidebar$1$end("\u2577");
      else {
        _this._writeSidebar$1$end("\u250c");
        _this._colorize$2$color(new A.Highlighter__writeFileStart_closure(_this), "\x1b[34m");
        _this._highlighter$_buffer._contents += " " + $.$get$context().prettyUri$1(url);
      }
      _this._highlighter$_buffer._contents += "\n";
    },
    _writeMultilineHighlights$3$current(line, highlightsByColumn, current) {
      var t1, currentColor, t2, t3, t4, foundCurrent, _i, highlight, t5, startLine, t6, endLine, _this = this, _box_0 = {};
      _box_0.openedOnThisLine = false;
      _box_0.openedOnThisLineColor = null;
      t1 = current == null;
      if (t1)
        currentColor = null;
      else
        currentColor = _this._highlighter$_primaryColor;
      for (t2 = highlightsByColumn.length, t3 = _this._highlighter$_primaryColor, t1 = !t1, t4 = _this._highlighter$_buffer, foundCurrent = false, _i = 0; _i < t2; ++_i) {
        highlight = highlightsByColumn[_i];
        t5 = highlight == null;
        if (t5)
          startLine = null;
        else {
          t6 = highlight.span;
          t6 = t6.get$start(t6);
          startLine = t6.get$line(t6);
        }
        if (t5)
          endLine = null;
        else {
          t6 = highlight.span;
          t6 = t6.get$end(t6);
          endLine = t6.get$line(t6);
        }
        if (t1 && highlight === current) {
          _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure(_this, startLine, line), currentColor);
          foundCurrent = true;
        } else if (foundCurrent)
          _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure0(_this, highlight), currentColor);
        else if (t5)
          if (_box_0.openedOnThisLine)
            _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure1(_this), _box_0.openedOnThisLineColor);
          else
            t4._contents += " ";
        else
          _this._colorize$2$color(new A.Highlighter__writeMultilineHighlights_closure2(_box_0, _this, current, startLine, line, highlight, endLine), t3);
      }
    },
    _writeMultilineHighlights$2(line, highlightsByColumn) {
      return this._writeMultilineHighlights$3$current(line, highlightsByColumn, null);
    },
    _writeHighlightedText$4$color(text, startColumn, endColumn, color) {
      var _this = this;
      _this._writeText$1(B.JSString_methods.substring$2(text, 0, startColumn));
      _this._colorize$2$color(new A.Highlighter__writeHighlightedText_closure(_this, text, startColumn, endColumn), color);
      _this._writeText$1(B.JSString_methods.substring$2(text, endColumn, text.length));
    },
    _writeIndicator$3(line, highlight, highlightsByColumn) {
      var t3, coversWholeLine, _this = this,
        color = _this._highlighter$_primaryColor,
        t1 = highlight.span,
        t2 = t1.get$start(t1);
      t2 = t2.get$line(t2);
      t3 = t1.get$end(t1);
      if (t2 === t3.get$line(t3)) {
        _this._writeSidebar$0();
        t1 = _this._highlighter$_buffer;
        t1._contents += " ";
        _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
        if (highlightsByColumn.length !== 0)
          t1._contents += " ";
        _this._colorize$2$color(new A.Highlighter__writeIndicator_closure(_this, line, highlight), color);
        t1._contents += "\n";
      } else {
        t2 = t1.get$start(t1);
        t3 = line.number;
        if (t2.get$line(t2) === t3) {
          if (B.JSArray_methods.contains$1(highlightsByColumn, highlight))
            return;
          A.replaceFirstNull(highlightsByColumn, highlight);
          _this._writeSidebar$0();
          t1 = _this._highlighter$_buffer;
          t1._contents += " ";
          _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
          _this._colorize$2$color(new A.Highlighter__writeIndicator_closure0(_this, line, highlight), color);
          t1._contents += "\n";
        } else {
          t2 = t1.get$end(t1);
          if (t2.get$line(t2) === t3) {
            coversWholeLine = t1.get$end(t1).get$column() === line.text.length;
            if (coversWholeLine && true) {
              A.replaceWithNull(highlightsByColumn, highlight);
              return;
            }
            _this._writeSidebar$0();
            t1 = _this._highlighter$_buffer;
            t1._contents += " ";
            _this._writeMultilineHighlights$3$current(line, highlightsByColumn, highlight);
            _this._colorize$2$color(new A.Highlighter__writeIndicator_closure1(_this, coversWholeLine, line, highlight), color);
            t1._contents += "\n";
            A.replaceWithNull(highlightsByColumn, highlight);
          }
        }
      }
    },
    _writeArrow$3$beginning(line, column, beginning) {
      var t1 = beginning ? 0 : 1,
        t2 = this._highlighter$_buffer;
      t1 = t2._contents += B.JSString_methods.$mul("\u2500", 1 + column + this._countTabs$1(B.JSString_methods.substring$2(line.text, 0, column + t1)) * 3);
      t2._contents = t1 + "^";
    },
    _writeArrow$2(line, column) {
      return this._writeArrow$3$beginning(line, column, true);
    },
    _writeText$1(text) {
      var t1, t2, t3, t4;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t3 = this._highlighter$_buffer, t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t4 = t1.__internal$_current;
        if (t4 == null)
          t4 = t2._as(t4);
        if (t4 === 9)
          t3._contents += B.JSString_methods.$mul(" ", 4);
        else
          t3._contents += A.Primitives_stringFromCharCode(t4);
      }
    },
    _writeSidebar$3$end$line$text(end, line, text) {
      var t1 = {};
      t1.text = text;
      if (line != null)
        t1.text = B.JSInt_methods.toString$0(line + 1);
      this._colorize$2$color(new A.Highlighter__writeSidebar_closure(t1, this, end), "\x1b[34m");
    },
    _writeSidebar$1$end(end) {
      return this._writeSidebar$3$end$line$text(end, null, null);
    },
    _writeSidebar$1$text(text) {
      return this._writeSidebar$3$end$line$text(null, null, text);
    },
    _writeSidebar$1$line(line) {
      return this._writeSidebar$3$end$line$text(null, line, null);
    },
    _writeSidebar$0() {
      return this._writeSidebar$3$end$line$text(null, null, null);
    },
    _countTabs$1(text) {
      var t1, t2, count, t3;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"), count = 0; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if ((t3 == null ? t2._as(t3) : t3) === 9)
          ++count;
      }
      return count;
    },
    _isOnlyWhitespace$1(text) {
      var t1, t2, t3;
      for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListMixin.E>")), t2 = t2._eval$1("ListMixin.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (t3 !== 32 && t3 !== 9)
          return false;
      }
      return true;
    },
    _colorize$2$color(callback, color) {
      var t1 = this._highlighter$_primaryColor != null;
      if (t1 && color != null)
        this._highlighter$_buffer._contents += color;
      callback.call$0();
      if (t1 && color != null)
        this._highlighter$_buffer._contents += "\x1b[0m";
    }
  };
  A.Highlighter_closure.prototype = {
    call$0() {
      return this.color;
    },
    $signature: 173
  };
  A.Highlighter$__closure.prototype = {
    call$1(line) {
      var t1 = line.highlights;
      t1 = new A.WhereIterable(t1, new A.Highlighter$___closure(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>"));
      return t1.get$length(t1);
    },
    $signature: 1066
  };
  A.Highlighter$___closure.prototype = {
    call$1(highlight) {
      var t1 = highlight.span,
        t2 = t1.get$start(t1);
      t2 = t2.get$line(t2);
      t1 = t1.get$end(t1);
      return t2 !== t1.get$line(t1);
    },
    $signature: 190
  };
  A.Highlighter$__closure0.prototype = {
    call$1(line) {
      return line.url;
    },
    $signature: 1068
  };
  A.Highlighter__collateLines_closure.prototype = {
    call$1(highlight) {
      var t1 = highlight.span.get$sourceUrl();
      return t1 == null ? new A.Object() : t1;
    },
    $signature: 1069
  };
  A.Highlighter__collateLines_closure0.prototype = {
    call$2(highlight1, highlight2) {
      return highlight1.span.compareTo$1(0, highlight2.span);
    },
    $signature: 1070
  };
  A.Highlighter__collateLines_closure1.prototype = {
    call$1(entry) {
      var t1, t2, t3, t4, context, t5, linesBeforeSpan, lineNumber, _i, line, activeHighlights, highlightIndex, oldHighlightLength,
        url = entry.get$key(entry),
        highlightsForFile = entry.get$value(entry),
        lines = A._setArrayType([], type$.JSArray__Line);
      for (t1 = J.getInterceptor$ax(highlightsForFile), t2 = t1.get$iterator(highlightsForFile), t3 = type$.JSArray__Highlight; t2.moveNext$0();) {
        t4 = t2.get$current(t2).span;
        context = t4.get$context(t4);
        t5 = A.findLineStart(context, t4.get$text(t4), t4.get$start(t4).get$column());
        t5.toString;
        t5 = B.JSString_methods.allMatches$1("\n", B.JSString_methods.substring$2(context, 0, t5));
        linesBeforeSpan = t5.get$length(t5);
        t4 = t4.get$start(t4);
        lineNumber = t4.get$line(t4) - linesBeforeSpan;
        for (t4 = context.split("\n"), t5 = t4.length, _i = 0; _i < t5; ++_i) {
          line = t4[_i];
          if (lines.length === 0 || lineNumber > B.JSArray_methods.get$last(lines).number)
            lines.push(new A._Line(line, lineNumber, url, A._setArrayType([], t3)));
          ++lineNumber;
        }
      }
      activeHighlights = A._setArrayType([], t3);
      for (t2 = lines.length, highlightIndex = 0, _i = 0; _i < lines.length; lines.length === t2 || (0, A.throwConcurrentModificationError)(lines), ++_i) {
        line = lines[_i];
        if (!!activeHighlights.fixed$length)
          A.throwExpression(A.UnsupportedError$("removeWhere"));
        B.JSArray_methods._removeWhere$2(activeHighlights, new A.Highlighter__collateLines__closure(line), true);
        oldHighlightLength = activeHighlights.length;
        for (t3 = t1.skip$1(highlightsForFile, highlightIndex), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
          t4 = t3.get$current(t3);
          t5 = t4.span;
          t5 = t5.get$start(t5);
          if (t5.get$line(t5) > line.number)
            break;
          activeHighlights.push(t4);
        }
        highlightIndex += activeHighlights.length - oldHighlightLength;
        B.JSArray_methods.addAll$1(line.highlights, activeHighlights);
      }
      return lines;
    },
    $signature: 1071
  };
  A.Highlighter__collateLines__closure.prototype = {
    call$1(highlight) {
      var t1 = highlight.span;
      t1 = t1.get$end(t1);
      return t1.get$line(t1) < this.line.number;
    },
    $signature: 190
  };
  A.Highlighter_highlight_closure.prototype = {
    call$1(highlight) {
      return true;
    },
    $signature: 190
  };
  A.Highlighter__writeFileStart_closure.prototype = {
    call$0() {
      this.$this._highlighter$_buffer._contents += B.JSString_methods.$mul("\u2500", 2) + ">";
      return null;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights_closure.prototype = {
    call$0() {
      var t1 = this.startLine === this.line.number ? "\u250c" : "\u2514";
      this.$this._highlighter$_buffer._contents += t1;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights_closure0.prototype = {
    call$0() {
      var t1 = this.highlight == null ? "\u2500" : "\u253c";
      this.$this._highlighter$_buffer._contents += t1;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights_closure1.prototype = {
    call$0() {
      this.$this._highlighter$_buffer._contents += "\u2500";
      return null;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights_closure2.prototype = {
    call$0() {
      var t2, t3, _this = this,
        t1 = _this._box_0,
        vertical = t1.openedOnThisLine ? "\u253c" : "\u2502";
      if (_this.current != null)
        _this.$this._highlighter$_buffer._contents += vertical;
      else {
        t2 = _this.line;
        t3 = t2.number;
        if (_this.startLine === t3) {
          t2 = _this.$this;
          t2._colorize$2$color(new A.Highlighter__writeMultilineHighlights__closure(t1, t2), t1.openedOnThisLineColor);
          t1.openedOnThisLine = true;
          if (t1.openedOnThisLineColor == null)
            t1.openedOnThisLineColor = t2._highlighter$_primaryColor;
        } else {
          if (_this.endLine === t3) {
            t3 = _this.highlight.span;
            t2 = t3.get$end(t3).get$column() === t2.text.length;
          } else
            t2 = false;
          t3 = _this.$this;
          if (t2)
            t3._highlighter$_buffer._contents += "\u2514";
          else
            t3._colorize$2$color(new A.Highlighter__writeMultilineHighlights__closure0(t3, vertical), t1.openedOnThisLineColor);
        }
      }
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights__closure.prototype = {
    call$0() {
      var t1 = this._box_0.openedOnThisLine ? "\u252c" : "\u250c";
      this.$this._highlighter$_buffer._contents += t1;
    },
    $signature: 0
  };
  A.Highlighter__writeMultilineHighlights__closure0.prototype = {
    call$0() {
      this.$this._highlighter$_buffer._contents += this.vertical;
    },
    $signature: 0
  };
  A.Highlighter__writeHighlightedText_closure.prototype = {
    call$0() {
      var _this = this;
      return _this.$this._writeText$1(B.JSString_methods.substring$2(_this.text, _this.startColumn, _this.endColumn));
    },
    $signature: 0
  };
  A.Highlighter__writeIndicator_closure.prototype = {
    call$0() {
      var tabsBefore, tabsInside,
        t1 = this.$this,
        t2 = this.highlight.span,
        startColumn = t2.get$start(t2).get$column(),
        endColumn = t2.get$end(t2).get$column();
      t2 = this.line.text;
      tabsBefore = t1._countTabs$1(B.JSString_methods.substring$2(t2, 0, startColumn));
      tabsInside = t1._countTabs$1(B.JSString_methods.substring$2(t2, startColumn, endColumn));
      startColumn += tabsBefore * 3;
      t1 = t1._highlighter$_buffer;
      t1._contents += B.JSString_methods.$mul(" ", startColumn);
      t1._contents += B.JSString_methods.$mul("^", Math.max(endColumn + (tabsBefore + tabsInside) * 3 - startColumn, 1));
    },
    $signature: 0
  };
  A.Highlighter__writeIndicator_closure0.prototype = {
    call$0() {
      var t1 = this.highlight.span;
      return this.$this._writeArrow$2(this.line, t1.get$start(t1).get$column());
    },
    $signature: 0
  };
  A.Highlighter__writeIndicator_closure1.prototype = {
    call$0() {
      var t2, _this = this,
        t1 = _this.$this;
      if (_this.coversWholeLine)
        t1._highlighter$_buffer._contents += B.JSString_methods.$mul("\u2500", 3);
      else {
        t2 = _this.highlight.span;
        t1._writeArrow$3$beginning(_this.line, Math.max(t2.get$end(t2).get$column() - 1, 0), false);
      }
    },
    $signature: 0
  };
  A.Highlighter__writeSidebar_closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = t1._highlighter$_buffer,
        t3 = this._box_0.text;
      if (t3 == null)
        t3 = "";
      t1 = t2._contents += B.JSString_methods.padRight$1(t3, t1._paddingBeforeSidebar);
      t3 = this.end;
      t2._contents = t1 + (t3 == null ? "\u2502" : t3);
    },
    $signature: 0
  };
  A._Highlight.prototype = {
    toString$0(_) {
      var t3, t4,
        t1 = this.span,
        t2 = t1.get$start(t1);
      t2 = t2.get$line(t2);
      t3 = t1.get$start(t1).get$column();
      t4 = t1.get$end(t1);
      t1 = "" + "primary " + ("" + t2 + ":" + t3 + "-" + t4.get$line(t4) + ":" + t1.get$end(t1).get$column());
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    }
  };
  A._Highlight_closure.prototype = {
    call$0() {
      var t2, t3, t4, t5,
        t1 = this.span;
      if (!(type$.SourceSpanWithContext._is(t1) && A.findLineStart(t1.get$context(t1), t1.get$text(t1), t1.get$start(t1).get$column()) != null)) {
        t2 = t1.get$start(t1);
        t2 = A.SourceLocation$(t2.get$offset(t2), 0, 0, t1.get$sourceUrl());
        t3 = t1.get$end(t1);
        t3 = t3.get$offset(t3);
        t4 = t1.get$sourceUrl();
        t5 = A.countCodeUnits(t1.get$text(t1), 10);
        t1 = A.SourceSpanWithContext$(t2, A.SourceLocation$(t3, A._Highlight__lastLineLength(t1.get$text(t1)), t5, t4), t1.get$text(t1), t1.get$text(t1));
      }
      return A._Highlight__normalizeEndOfLine(A._Highlight__normalizeTrailingNewline(A._Highlight__normalizeNewlines(t1)));
    },
    $signature: 1072
  };
  A._Line.prototype = {
    toString$0(_) {
      return "" + this.number + ': "' + this.text + '" (' + B.JSArray_methods.join$1(this.highlights, ", ") + ")";
    }
  };
  A.SourceLocation0.prototype = {
    distance$1(other) {
      var t1 = this.sourceUrl;
      if (!J.$eq$(t1, other.get$sourceUrl()))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(t1) + '" and "' + A.S(other.get$sourceUrl()) + "\" don't match.", null));
      return Math.abs(this.offset - other.get$offset(other));
    },
    compareTo$1(_, other) {
      var t1 = this.sourceUrl;
      if (!J.$eq$(t1, other.get$sourceUrl()))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(t1) + '" and "' + A.S(other.get$sourceUrl()) + "\" don't match.", null));
      return this.offset - other.get$offset(other);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.SourceLocation._is(other) && J.$eq$(this.sourceUrl, other.get$sourceUrl()) && this.offset === other.get$offset(other);
    },
    get$hashCode(_) {
      var t1 = this.sourceUrl;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      if (t1 == null)
        t1 = 0;
      return t1 + this.offset;
    },
    toString$0(_) {
      var _this = this,
        t1 = A.getRuntimeType(_this).toString$0(0),
        source = _this.sourceUrl;
      return "<" + t1 + ": " + _this.offset + " " + (A.S(source == null ? "unknown source" : source) + ":" + (_this.line + 1) + ":" + (_this.column + 1)) + ">";
    },
    $isComparable: 1,
    get$sourceUrl() {
      return this.sourceUrl;
    },
    get$offset(receiver) {
      return this.offset;
    },
    get$line(receiver) {
      return this.line;
    },
    get$column() {
      return this.column;
    }
  };
  A.SourceLocationMixin.prototype = {
    distance$1(other) {
      if (!J.$eq$(this.file.url, other.get$sourceUrl()))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(this.get$sourceUrl()) + '" and "' + A.S(other.get$sourceUrl()) + "\" don't match.", null));
      return Math.abs(this.offset - other.get$offset(other));
    },
    compareTo$1(_, other) {
      if (!J.$eq$(this.file.url, other.get$sourceUrl()))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(this.get$sourceUrl()) + '" and "' + A.S(other.get$sourceUrl()) + "\" don't match.", null));
      return this.offset - other.get$offset(other);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.SourceLocation._is(other) && J.$eq$(this.file.url, other.get$sourceUrl()) && this.offset === other.get$offset(other);
    },
    get$hashCode(_) {
      var t1 = this.file.url;
      t1 = t1 == null ? null : t1.get$hashCode(t1);
      if (t1 == null)
        t1 = 0;
      return t1 + this.offset;
    },
    toString$0(_) {
      var t1 = A.getRuntimeType(this).toString$0(0),
        t2 = this.offset,
        t3 = this.file,
        source = t3.url;
      return "<" + t1 + ": " + t2 + " " + (A.S(source == null ? "unknown source" : source) + ":" + (t3.getLine$1(t2) + 1) + ":" + (t3.getColumn$1(t2) + 1)) + ">";
    },
    $isComparable: 1,
    $isSourceLocation0: 1
  };
  A.SourceSpanBase.prototype = {
    SourceSpanBase$3(start, end, text) {
      var t3,
        t1 = this.end,
        t2 = this.start;
      if (!J.$eq$(t1.get$sourceUrl(), t2.get$sourceUrl()))
        throw A.wrapException(A.ArgumentError$('Source URLs "' + A.S(t2.get$sourceUrl()) + '" and  "' + A.S(t1.get$sourceUrl()) + "\" don't match.", null));
      else if (t1.get$offset(t1) < t2.get$offset(t2))
        throw A.wrapException(A.ArgumentError$("End " + t1.toString$0(0) + " must come after start " + t2.toString$0(0) + ".", null));
      else {
        t3 = this.text;
        if (t3.length !== t2.distance$1(t1))
          throw A.wrapException(A.ArgumentError$('Text "' + t3 + '" must be ' + t2.distance$1(t1) + " characters long.", null));
      }
    },
    get$start(receiver) {
      return this.start;
    },
    get$end(receiver) {
      return this.end;
    },
    get$text(receiver) {
      return this.text;
    }
  };
  A.SourceSpanException.prototype = {
    get$message(_) {
      return this._span_exception$_message;
    },
    toString$0(_) {
      return "Error on " + this._span.message$2$color(0, this._span_exception$_message, null);
    },
    $isException: 1
  };
  A.SourceSpanFormatException.prototype = {
    get$offset(_) {
      var t1 = this._span;
      t1 = A.FileLocation$_(t1.file, t1._file$_start);
      return t1.offset;
    },
    $isFormatException: 1,
    get$source(receiver) {
      return this.source;
    }
  };
  A.SourceSpanMixin.prototype = {
    get$sourceUrl() {
      return this.get$start(this).get$sourceUrl();
    },
    get$length(_) {
      var t2, _this = this,
        t1 = _this.get$end(_this);
      t1 = t1.get$offset(t1);
      t2 = _this.get$start(_this);
      return t1 - t2.get$offset(t2);
    },
    compareTo$1(_, other) {
      var _this = this,
        result = _this.get$start(_this).compareTo$1(0, other.get$start(other));
      return result === 0 ? _this.get$end(_this).compareTo$1(0, other.get$end(other)) : result;
    },
    message$2$color(_, message, color) {
      var t2, highlight, _this = this,
        t1 = _this.get$start(_this);
      t1 = "" + ("line " + (t1.get$line(t1) + 1) + ", column " + (_this.get$start(_this).get$column() + 1));
      if (_this.get$sourceUrl() != null) {
        t2 = _this.get$sourceUrl();
        t2 = t1 + (" of " + $.$get$context().prettyUri$1(t2));
        t1 = t2;
      }
      t1 += ": " + message;
      highlight = _this.highlight$1$color(0, color);
      if (highlight.length !== 0)
        t1 = t1 + "\n" + highlight;
      return t1.charCodeAt(0) == 0 ? t1 : t1;
    },
    message$1($receiver, message) {
      return this.message$2$color($receiver, message, null);
    },
    highlight$1$color(_, color) {
      var _this = this;
      if (!type$.SourceSpanWithContext._is(_this) && _this.get$length(_this) === 0)
        return "";
      return A.Highlighter$(_this, color).highlight$0(0);
    },
    $eq(_, other) {
      var _this = this;
      if (other == null)
        return false;
      return type$.SourceSpan._is(other) && _this.get$start(_this).$eq(0, other.get$start(other)) && _this.get$end(_this).$eq(0, other.get$end(other));
    },
    get$hashCode(_) {
      var _this = this;
      return A.Object_hash(_this.get$start(_this), _this.get$end(_this), B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue, B.C_SentinelValue);
    },
    toString$0(_) {
      var _this = this;
      return "<" + A.getRuntimeType(_this).toString$0(0) + ": from " + _this.get$start(_this).toString$0(0) + " to " + _this.get$end(_this).toString$0(0) + ' "' + _this.get$text(_this) + '">';
    },
    $isComparable: 1,
    $isSourceSpan: 1
  };
  A.SourceSpanWithContext.prototype = {
    get$context(_) {
      return this._span_with_context$_context;
    }
  };
  A.SseClient.prototype = {
    SseClient$1(serverUrl) {
      var _this = this,
        t1 = serverUrl + "?sseClientId=" + A.generateUuidV4(),
        t2 = A.EventSource__factoryEventSource(t1, A.LinkedHashMap_LinkedHashMap$_literal(["withCredentials", true], type$.String, type$.dynamic));
      _this.__SseClient__eventSource = t2;
      _this.__SseClient__serverUrl = t1;
      t2 = new A._EventStream(t2, "open", false, type$._EventStream_Event);
      t2.get$first(t2).whenComplete$1(new A.SseClient_closure(_this));
      t2 = _this.__SseClient__eventSource;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      B.EventSource_methods.addEventListener$2(t2, "message", _this.get$_onIncomingMessage());
      t2 = _this.__SseClient__eventSource;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      B.EventSource_methods.addEventListener$2(t2, "control", _this.get$_onIncomingControlMessage());
      t2 = _this.__SseClient__eventSource;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t1 = type$.Event;
      A._EventStreamSubscription$(t2, "open", new A.SseClient_closure0(_this), false, t1);
      t2 = _this.__SseClient__eventSource;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      A._EventStreamSubscription$(t2, "error", new A.SseClient_closure1(_this), false, t1);
    },
    get$sink() {
      var t1 = this._outgoingController;
      return new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>"));
    },
    get$stream(_) {
      var t1 = this._incomingController;
      return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>"));
    },
    close$0(_) {
      var _this = this,
        t1 = _this.__SseClient__eventSource;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.close();
      if ((_this._onConnected.future._state & 30) === 0) {
        t1 = _this._outgoingController;
        new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).drain$1$0(type$.dynamic);
      }
      _this._incomingController.close$0(0);
      _this._outgoingController.close$0(0);
    },
    _onIncomingControlMessage$1(message) {
      var data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(message).data, true);
      if (J.$eq$(data, "close"))
        this.close$0(0);
      else
        throw A.wrapException(A.UnsupportedError$('Illegal Control Message "' + A.S(data) + '"'));
    },
    _onIncomingMessage$1(message) {
      this._incomingController.add$1(0, A._asString(B.C_JsonCodec.decode$2$reviver(0, A._asString(new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy(type$.MessageEvent._as(message).data, true)), null)));
    },
    _onOutgoingDone$0() {
      this.close$0(0);
    },
    _onOutgoingMessage$1(message) {
      return this._onOutgoingMessage$body$SseClient(message);
    },
    _onOutgoingMessage$body$SseClient(message) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t1;
      var $async$_onOutgoingMessage$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 = {};
              t1.encodedMessage = null;
              $async$goto = 2;
              return A._asyncAwait($.$get$_requestPool().withResource$1$1(new A.SseClient__onOutgoingMessage_closure(t1, $async$self, message), type$.Null), $async$_onOutgoingMessage$1);
            case 2:
              // returning from await.
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_onOutgoingMessage$1, $async$completer);
    }
  };
  A.SseClient_closure.prototype = {
    call$0() {
      var t2,
        t1 = this.$this;
      t1._onConnected.complete$0(0);
      t2 = t1._outgoingController;
      new A._ControllerStream(t2, A._instanceType(t2)._eval$1("_ControllerStream<1>")).listen$2$onDone(t1.get$_onOutgoingMessage(), t1.get$_onOutgoingDone());
    },
    $signature: 7
  };
  A.SseClient_closure0.prototype = {
    call$1(_) {
      var t1 = this.$this._errorTimer;
      if (t1 != null)
        t1.cancel$0(0);
    },
    $signature: 13
  };
  A.SseClient_closure1.prototype = {
    call$1(error) {
      var t1 = this.$this,
        t2 = t1._errorTimer;
      t2 = t2 == null ? null : t2.get$isActive();
      if (t2 !== true)
        t1._errorTimer = A.Timer_Timer(B.Duration_5000000, new A.SseClient__closure(t1, error));
    },
    $signature: 13
  };
  A.SseClient__closure.prototype = {
    call$0() {
      var t1 = this.$this,
        t2 = this.error;
      t1._incomingController.addError$1(t2);
      t1.close$0(0);
      t1 = t1._onConnected;
      if ((t1.future._state & 30) === 0)
        t1.completeError$1(t2);
    },
    $signature: 0
  };
  A.SseClient__onOutgoingMessage_closure.prototype = {
    call$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Null),
        $async$handler = 1, $async$currentError, $async$self = this, e, e0, e1, exception, t1, t2, $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
              try {
                $async$self._box_0.encodedMessage = B.C_JsonCodec.encode$2$toEncodable($async$self.message, null);
              } catch (exception) {
                t1 = A.unwrapException(exception);
                if (t1 instanceof A.JsonUnsupportedObjectError) {
                  e = t1;
                  $async$self.$this._logger.log$4(B.Level_WARNING_900, "Unable to encode outgoing message: " + A.S(e), null, null);
                } else if (t1 instanceof A.ArgumentError) {
                  e0 = t1;
                  $async$self.$this._logger.log$4(B.Level_WARNING_900, "Invalid argument: " + A.S(e0), null, null);
                } else
                  throw exception;
              }
              $async$handler = 3;
              t1 = $async$self.$this;
              t2 = t1.__SseClient__serverUrl;
              if (t2 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 6;
              return A._asyncAwait(A.HttpRequest_request(t2 + "&messageId=" + ++t1._lastMessageId, "POST", null, $async$self._box_0.encodedMessage, true), $async$call$0);
            case 6:
              // returning from await.
              $async$handler = 1;
              // goto after finally
              $async$goto = 5;
              break;
            case 3:
              // catch
              $async$handler = 2;
              $async$exception = $async$currentError;
              e1 = A.unwrapException($async$exception);
              t1 = $async$self.$this;
              t1._logger.log$4(B.Level_SEVERE_1000, "Failed to send " + A.S($async$self.message) + ":\n " + A.S(e1), null, null);
              t1.close$0(0);
              // goto after finally
              $async$goto = 5;
              break;
            case 2:
              // uncaught
              // goto rethrow
              $async$goto = 1;
              break;
            case 5:
              // after finally
              // implicit return
              return A._asyncReturn(null, $async$completer);
            case 1:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$0, $async$completer);
    },
    $signature: 44
  };
  A.generateUuidV4__generateBits.prototype = {
    call$1(bitCount) {
      return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount));
    },
    $signature: 32
  };
  A.generateUuidV4__printDigits.prototype = {
    call$2(value, count) {
      return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0");
    },
    $signature: 315
  };
  A.generateUuidV4__bitsDigits.prototype = {
    call$2(bitCount, digitCount) {
      return this._printDigits.call$2(this._generateBits.call$1(bitCount), digitCount);
    },
    $signature: 315
  };
  A.Chain.prototype = {
    foldFrames$1(predicate) {
      var t1 = this.traces,
        foldedTraces = new A.MappedListIterable(t1, new A.Chain_foldFrames_closure(predicate, false), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Trace>")),
        nonEmptyTraces = foldedTraces.super$Iterable$where(0, new A.Chain_foldFrames_closure0(false));
      if (!nonEmptyTraces.get$iterator(nonEmptyTraces).moveNext$0() && !foldedTraces.get$isEmpty(foldedTraces))
        return new A.Chain(A.List_List$unmodifiable(A._setArrayType([foldedTraces.get$last(foldedTraces)], type$.JSArray_Trace_2), type$.Trace));
      return new A.Chain(A.List_List$unmodifiable(nonEmptyTraces, type$.Trace));
    },
    toTrace$0() {
      var t1 = this.traces;
      return A.Trace$(new A.ExpandIterable(t1, new A.Chain_toTrace_closure(), A._arrayInstanceType(t1)._eval$1("ExpandIterable<1,Frame>")), null);
    },
    toString$0(_) {
      var t1 = this.traces,
        t2 = A._arrayInstanceType(t1);
      return new A.MappedListIterable(t1, new A.Chain_toString_closure(new A.MappedListIterable(t1, new A.Chain_toString_closure0(), t2._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT)), t2._eval$1("MappedListIterable<1,String>")).join$1(0, string$.x3d_____);
    },
    $isStackTrace: 1,
    get$traces() {
      return this.traces;
    }
  };
  A.Chain_Chain$forTrace_closure.prototype = {
    call$0() {
      return A.Chain_Chain$parse(this.trace.toString$0(0));
    },
    $signature: 1075
  };
  A.Chain_Chain$parse_closure.prototype = {
    call$1(line) {
      return line.length !== 0;
    },
    $signature: 6
  };
  A.Chain_Chain$parse_closure0.prototype = {
    call$1(trace) {
      return A.Trace$parseVM(trace);
    },
    $signature: 309
  };
  A.Chain_Chain$parse_closure1.prototype = {
    call$1(trace) {
      return A.Trace$parseFriendly(trace);
    },
    $signature: 309
  };
  A.Chain_foldFrames_closure.prototype = {
    call$1(trace) {
      return trace.foldFrames$2$terse(this.predicate, this.terse);
    },
    $signature: 1077
  };
  A.Chain_foldFrames_closure0.prototype = {
    call$1(trace) {
      if (trace.get$frames().length > 1)
        return true;
      if (trace.get$frames().length === 0)
        return false;
      if (!this.terse)
        return false;
      return J.get$line$x(B.JSArray_methods.get$single(trace.get$frames())) != null;
    },
    $signature: 1078
  };
  A.Chain_toTrace_closure.prototype = {
    call$1(trace) {
      return trace.get$frames();
    },
    $signature: 1079
  };
  A.Chain_toString_closure0.prototype = {
    call$1(trace) {
      var t1 = trace.get$frames();
      return new A.MappedListIterable(t1, new A.Chain_toString__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT);
    },
    $signature: 1080
  };
  A.Chain_toString__closure0.prototype = {
    call$1(frame) {
      return frame.get$location(frame).length;
    },
    $signature: 308
  };
  A.Chain_toString_closure.prototype = {
    call$1(trace) {
      var t1 = trace.get$frames();
      return new A.MappedListIterable(t1, new A.Chain_toString__closure(this.longest), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $signature: 1082
  };
  A.Chain_toString__closure.prototype = {
    call$1(frame) {
      return B.JSString_methods.padRight$1(frame.get$location(frame), this.longest) + "  " + A.S(frame.get$member()) + "\n";
    },
    $signature: 304
  };
  A.Frame.prototype = {
    get$isCore() {
      return this.uri.get$scheme() === "dart";
    },
    get$library() {
      var t1 = this.uri;
      if (t1.get$scheme() === "data")
        return "data:...";
      return $.$get$context().prettyUri$1(t1);
    },
    get$$package() {
      var t1 = this.uri;
      if (t1.get$scheme() !== "package")
        return null;
      return B.JSArray_methods.get$first(t1.get$path(t1).split("/"));
    },
    get$location(_) {
      var t2, _this = this,
        t1 = _this.line;
      if (t1 == null)
        return _this.get$library();
      t2 = _this.column;
      if (t2 == null)
        return _this.get$library() + " " + A.S(t1);
      return _this.get$library() + " " + A.S(t1) + ":" + A.S(t2);
    },
    toString$0(_) {
      return this.get$location(this) + " in " + A.S(this.member);
    },
    get$uri() {
      return this.uri;
    },
    get$line(receiver) {
      return this.line;
    },
    get$column() {
      return this.column;
    },
    get$member() {
      return this.member;
    }
  };
  A.Frame_Frame$parseVM_closure.prototype = {
    call$0() {
      var match, t2, t3, member, uri, lineAndColumn, line, _null = null,
        t1 = this.frame;
      if (t1 === "...")
        return new A.Frame(A._Uri__Uri(_null, _null, _null, _null, _null, _null, _null, _null, _null), _null, _null, "...");
      match = $.$get$_vmFrame().firstMatch$1(t1);
      if (match == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, _null, "unparsed", _null, _null, _null, _null, _null, _null), t1);
      t1 = match._match;
      t2 = t1[1];
      t2.toString;
      t3 = $.$get$_asyncBody();
      t2 = A.stringReplaceAllUnchecked(t2, t3, "<async>");
      member = A.stringReplaceAllUnchecked(t2, "<anonymous closure>", "<fn>");
      t2 = t1[2];
      t3 = t2;
      t3.toString;
      if (B.JSString_methods.startsWith$1(t3, "<data:"))
        uri = A.Uri_Uri$dataFromString("");
      else {
        t2 = t2;
        t2.toString;
        uri = A.Uri_parse(t2, 0, _null);
      }
      lineAndColumn = t1[3].split(":");
      t1 = lineAndColumn.length;
      line = t1 > 1 ? A.int_parse(lineAndColumn[1], _null) : _null;
      return new A.Frame(uri, line, t1 > 2 ? A.int_parse(lineAndColumn[2], _null) : _null, member);
    },
    $signature: 96
  };
  A.Frame_Frame$parseV8_closure.prototype = {
    call$0() {
      var t2, t3, _null = null, _s4_ = "<fn>",
        t1 = this.frame,
        match = $.$get$_v8Frame().firstMatch$1(t1);
      if (match == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, _null, "unparsed", _null, _null, _null, _null, _null, _null), t1);
      t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1);
      t2 = match._match;
      t3 = t2[2];
      if (t3 != null) {
        t3 = t3;
        t3.toString;
        t2 = t2[1];
        t2.toString;
        t2 = A.stringReplaceAllUnchecked(t2, "<anonymous>", _s4_);
        t2 = A.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_);
        return t1.call$2(t3, A.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_));
      } else {
        t2 = t2[3];
        t2.toString;
        return t1.call$2(t2, _s4_);
      }
    },
    $signature: 96
  };
  A.Frame_Frame$parseV8_closure_parseLocation.prototype = {
    call$2($location, member) {
      var t2, urlMatch, uri, line, columnMatch, _null = null,
        t1 = $.$get$_v8EvalLocation(),
        evalMatch = t1.firstMatch$1($location);
      for (; evalMatch != null; $location = t2) {
        t2 = evalMatch._match[1];
        t2.toString;
        evalMatch = t1.firstMatch$1(t2);
      }
      if ($location === "native")
        return new A.Frame(A.Uri_parse("native", 0, _null), _null, _null, member);
      urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location);
      if (urlMatch == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, _null, "unparsed", _null, _null, _null, _null, _null, _null), this.frame);
      t1 = urlMatch._match;
      t2 = t1[1];
      t2.toString;
      uri = A.Frame__uriOrPathToUri(t2);
      t2 = t1[2];
      t2.toString;
      line = A.int_parse(t2, _null);
      columnMatch = t1[3];
      return new A.Frame(uri, line, columnMatch != null ? A.int_parse(columnMatch, _null) : _null, member);
    },
    $signature: 1085
  };
  A.Frame_Frame$_parseFirefoxEval_closure.prototype = {
    call$0() {
      var t2, member, uri, line, _null = null,
        t1 = this.frame,
        match = $.$get$_firefoxEvalLocation().firstMatch$1(t1);
      if (match == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, _null, "unparsed", _null, _null, _null, _null, _null, _null), t1);
      t1 = match._match;
      t2 = t1[1];
      t2.toString;
      member = A.stringReplaceAllUnchecked(t2, "/<", "");
      t2 = t1[2];
      t2.toString;
      uri = A.Frame__uriOrPathToUri(t2);
      t1 = t1[3];
      t1.toString;
      line = A.int_parse(t1, _null);
      return new A.Frame(uri, line, _null, member.length === 0 || member === "anonymous" ? "<fn>" : member);
    },
    $signature: 96
  };
  A.Frame_Frame$parseFirefox_closure.prototype = {
    call$0() {
      var t2, t3, t4, uri, member, line, column, _null = null,
        t1 = this.frame,
        match = $.$get$_firefoxSafariFrame().firstMatch$1(t1);
      if (match == null)
        return new A.UnparsedFrame(A._Uri__Uri(_null, _null, "unparsed", _null, _null, _null, _null, _null, _null), t1);
      t2 = match._match;
      t3 = t2[3];
      t4 = t3;
      t4.toString;
      if (B.JSString_methods.contains$1(t4, " line "))
        return A.Frame_Frame$_parseFirefoxEval(t1);
      t1 = t3;
      t1.toString;
      uri = A.Frame__uriOrPathToUri(t1);
      member = t2[1];
      if (member != null) {
        t1 = t2[2];
        t1.toString;
        t1 = B.JSString_methods.allMatches$1("/", t1);
        member += B.JSArray_methods.join$0(A.List_List$filled(t1.get$length(t1), ".<fn>", false, type$.String));
        if (member === "")
          member = "<fn>";
        member = B.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), "");
      } else
        member = "<fn>";
      t1 = t2[4];
      if (t1 === "")
        line = _null;
      else {
        t1 = t1;
        t1.toString;
        line = A.int_parse(t1, _null);
      }
      t1 = t2[5];
      if (t1 == null || t1 === "")
        column = _null;
      else {
        t1 = t1;
        t1.toString;
        column = A.int_parse(t1, _null);
      }
      return new A.Frame(uri, line, column, member);
    },
    $signature: 96
  };
  A.Frame_Frame$parseFriendly_closure.prototype = {
    call$0() {
      var t2, uri, line, column, _null = null,
        t1 = this.frame,
        match = $.$get$_friendlyFrame().firstMatch$1(t1);
      if (match == null)
        throw A.wrapException(A.FormatException$("Couldn't parse package:stack_trace stack trace line '" + t1 + "'.", _null, _null));
      t1 = match._match;
      t2 = t1[1];
      if (t2 === "data:...")
        uri = A.Uri_Uri$dataFromString("");
      else {
        t2 = t2;
        t2.toString;
        uri = A.Uri_parse(t2, 0, _null);
      }
      if (uri.get$scheme() === "") {
        t2 = $.$get$context();
        uri = t2.toUri$1(t2.absolute$7(0, t2.style.pathFromUri$1(A._parseUri(uri)), _null, _null, _null, _null, _null, _null));
      }
      t2 = t1[2];
      if (t2 == null)
        line = _null;
      else {
        t2 = t2;
        t2.toString;
        line = A.int_parse(t2, _null);
      }
      t2 = t1[3];
      if (t2 == null)
        column = _null;
      else {
        t2 = t2;
        t2.toString;
        column = A.int_parse(t2, _null);
      }
      return new A.Frame(uri, line, column, t1[4]);
    },
    $signature: 96
  };
  A.LazyChain.prototype = {
    get$_chain() {
      var result, _this = this,
        value = _this.__LazyChain__chain;
      if (value === $) {
        result = _this._lazy_chain$_thunk.call$0();
        if (_this.__LazyChain__chain !== $)
          A.throwUnnamedLateFieldADI();
        _this.__LazyChain__chain = result;
        value = result;
      }
      return value;
    },
    get$traces() {
      return this.get$_chain().get$traces();
    },
    toTrace$0() {
      return new A.LazyTrace(new A.LazyChain_toTrace_closure(this));
    },
    toString$0(_) {
      return this.get$_chain().toString$0(0);
    },
    $isStackTrace: 1,
    $isChain: 1
  };
  A.LazyChain_toTrace_closure.prototype = {
    call$0() {
      return this.$this.get$_chain().toTrace$0();
    },
    $signature: 95
  };
  A.LazyTrace.prototype = {
    get$_lazy_trace$_trace() {
      var result, _this = this,
        value = _this.__LazyTrace__trace;
      if (value === $) {
        result = _this._thunk.call$0();
        if (_this.__LazyTrace__trace !== $)
          A.throwUnnamedLateFieldADI();
        _this.__LazyTrace__trace = result;
        value = result;
      }
      return value;
    },
    get$frames() {
      return this.get$_lazy_trace$_trace().get$frames();
    },
    get$original() {
      return this.get$_lazy_trace$_trace().get$original();
    },
    get$terse() {
      return new A.LazyTrace(new A.LazyTrace_terse_closure(this));
    },
    foldFrames$2$terse(predicate, terse) {
      return new A.LazyTrace(new A.LazyTrace_foldFrames_closure(this, predicate, false));
    },
    toString$0(_) {
      return this.get$_lazy_trace$_trace().toString$0(0);
    },
    $isStackTrace: 1,
    $isTrace: 1
  };
  A.LazyTrace_terse_closure.prototype = {
    call$0() {
      return this.$this.get$_lazy_trace$_trace().get$terse();
    },
    $signature: 95
  };
  A.LazyTrace_foldFrames_closure.prototype = {
    call$0() {
      return this.$this.get$_lazy_trace$_trace().foldFrames$2$terse(this.predicate, this.terse);
    },
    $signature: 95
  };
  A.Trace.prototype = {
    get$terse() {
      return this.foldFrames$2$terse(new A.Trace_terse_closure(), true);
    },
    foldFrames$2$terse(predicate, terse) {
      var newFrames, t1, t2, t3, _box_0 = {};
      _box_0.predicate = predicate;
      if (terse)
        _box_0.predicate = new A.Trace_foldFrames_closure(predicate);
      newFrames = A._setArrayType([], type$.JSArray_Frame_2);
      for (t1 = this.frames, t2 = A._arrayInstanceType(t1)._eval$1("ReversedListIterable<1>"), t1 = new A.ReversedListIterable(t1, t2), t1 = new A.ListIterator(t1, t1.get$length(t1), t2._eval$1("ListIterator<ListIterable.E>")), t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        if (t3 == null)
          t3 = t2._as(t3);
        if (t3 instanceof A.UnparsedFrame || !_box_0.predicate.call$1(t3))
          newFrames.push(t3);
        else if (newFrames.length === 0 || !_box_0.predicate.call$1(B.JSArray_methods.get$last(newFrames)))
          newFrames.push(new A.Frame(t3.get$uri(), t3.get$line(t3), t3.get$column(), t3.get$member()));
      }
      if (terse) {
        t1 = type$.MappedListIterable_Frame_Frame;
        newFrames = A.List_List$of(new A.MappedListIterable(newFrames, new A.Trace_foldFrames_closure0(_box_0), t1), true, t1._eval$1("ListIterable.E"));
        if (newFrames.length > 1 && _box_0.predicate.call$1(B.JSArray_methods.get$first(newFrames)))
          B.JSArray_methods.removeAt$1(newFrames, 0);
      }
      return A.Trace$(new A.ReversedListIterable(newFrames, A._arrayInstanceType(newFrames)._eval$1("ReversedListIterable<1>")), this.original._stackTrace);
    },
    toString$0(_) {
      var t1 = this.frames,
        t2 = A._arrayInstanceType(t1);
      return new A.MappedListIterable(t1, new A.Trace_toString_closure(new A.MappedListIterable(t1, new A.Trace_toString_closure0(), t2._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT)), t2._eval$1("MappedListIterable<1,String>")).join$0(0);
    },
    $isStackTrace: 1,
    get$frames() {
      return this.frames;
    },
    get$original() {
      return this.original;
    }
  };
  A.Trace_Trace$current_closure.prototype = {
    call$0() {
      var t1 = this.trace,
        t2 = t1.get$frames();
      return A.Trace$(A.SubListIterable$(t2, this.level + 2, null, A._arrayInstanceType(t2)._precomputed1), t1.get$original()._stackTrace);
    },
    $signature: 95
  };
  A.Trace_Trace$from_closure.prototype = {
    call$0() {
      return A.Trace_Trace$parse(this.trace.toString$0(0));
    },
    $signature: 95
  };
  A.Trace__parseVM_closure.prototype = {
    call$1(line) {
      return line.length !== 0;
    },
    $signature: 6
  };
  A.Trace__parseVM_closure0.prototype = {
    call$1(line) {
      return A.Frame_Frame$parseVM(line);
    },
    $signature: 93
  };
  A.Trace$parseV8_closure.prototype = {
    call$1(line) {
      return !B.JSString_methods.startsWith$1(line, $.$get$_v8TraceLine());
    },
    $signature: 6
  };
  A.Trace$parseV8_closure0.prototype = {
    call$1(line) {
      return A.Frame_Frame$parseV8(line);
    },
    $signature: 93
  };
  A.Trace$parseJSCore_closure.prototype = {
    call$1(line) {
      return line !== "\tat ";
    },
    $signature: 6
  };
  A.Trace$parseJSCore_closure0.prototype = {
    call$1(line) {
      return A.Frame_Frame$parseV8(line);
    },
    $signature: 93
  };
  A.Trace$parseFirefox_closure.prototype = {
    call$1(line) {
      return line.length !== 0 && line !== "[native code]";
    },
    $signature: 6
  };
  A.Trace$parseFirefox_closure0.prototype = {
    call$1(line) {
      return A.Frame_Frame$parseFirefox(line);
    },
    $signature: 93
  };
  A.Trace$parseFriendly_closure.prototype = {
    call$1(line) {
      return !B.JSString_methods.startsWith$1(line, "=====");
    },
    $signature: 6
  };
  A.Trace$parseFriendly_closure0.prototype = {
    call$1(line) {
      return A.Frame_Frame$parseFriendly(line);
    },
    $signature: 93
  };
  A.Trace_terse_closure.prototype = {
    call$1(_) {
      return false;
    },
    $signature: 189
  };
  A.Trace_foldFrames_closure.prototype = {
    call$1(frame) {
      var t1;
      if (this.oldPredicate.call$1(frame))
        return true;
      if (frame.get$isCore())
        return true;
      if (frame.get$$package() === "stack_trace")
        return true;
      t1 = frame.get$member();
      t1.toString;
      if (!B.JSString_methods.contains$1(t1, "<async>"))
        return false;
      return frame.get$line(frame) == null;
    },
    $signature: 189
  };
  A.Trace_foldFrames_closure0.prototype = {
    call$1(frame) {
      var t1, t2;
      if (frame instanceof A.UnparsedFrame || !this._box_0.predicate.call$1(frame))
        return frame;
      t1 = frame.get$library();
      t2 = $.$get$_terseRegExp();
      return new A.Frame(A.Uri_parse(A.stringReplaceAllUnchecked(t1, t2, ""), 0, null), null, null, frame.get$member());
    },
    $signature: 1088
  };
  A.Trace_toString_closure0.prototype = {
    call$1(frame) {
      return frame.get$location(frame).length;
    },
    $signature: 308
  };
  A.Trace_toString_closure.prototype = {
    call$1(frame) {
      if (frame instanceof A.UnparsedFrame)
        return frame.toString$0(0) + "\n";
      return B.JSString_methods.padRight$1(frame.get$location(frame), this.longest) + "  " + A.S(frame.get$member()) + "\n";
    },
    $signature: 304
  };
  A.UnparsedFrame.prototype = {
    toString$0(_) {
      return this.member;
    },
    $isFrame: 1,
    get$uri() {
      return this.uri;
    },
    get$line() {
      return null;
    },
    get$column() {
      return null;
    },
    get$isCore() {
      return false;
    },
    get$library() {
      return "unparsed";
    },
    get$$package() {
      return null;
    },
    get$location() {
      return "unparsed";
    },
    get$member() {
      return this.member;
    }
  };
  A.StateNotifierListenerError.prototype = {
    toString$0(_) {
      var t1, t2, i, error, stackTrace,
        buffer = new A.StringBuffer("");
      for (t1 = this.errors, t2 = this.stackTraces, i = 0; i < t1.length; ++i) {
        error = t1[i];
        stackTrace = t2[i];
        buffer._contents += A.S(error) + "\n";
        buffer._contents += A.S(stackTrace) + "\n";
      }
      return "At least listener of the StateNotifier " + this.stateNotifier.toString$0(0) + " threw an exception\nwhen the notifier tried to update its state.\n\nThe exceptions thrown are:\n\n" + buffer.toString$0(0) + "\n";
    }
  };
  A.StateNotifier.prototype = {
    get$state(_) {
      return this._state_notifier$_state;
    },
    set$state(_, value) {
      var errors, stackTraces, listenerEntry, error, stackTrace, t1, t2, t3, exception, _this = this,
        previousState = _this._state_notifier$_state;
      _this._state_notifier$_state = value;
      if (previousState == null ? value == null : previousState === value)
        return;
      errors = A._setArrayType([], type$.JSArray_Object);
      stackTraces = A._setArrayType([], type$.JSArray_nullable_StackTrace);
      for (t1 = _this._state_notifier$_listeners, t1 = A._LinkedListIterator$(t1, t1.$ti._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t3 = t1._collection$_current;
        listenerEntry = t3 == null ? t2._as(t3) : t3;
        try {
          listenerEntry.listener.call$1(value);
        } catch (exception) {
          error = A.unwrapException(exception);
          stackTrace = A.getTraceFromException(exception);
          J.add$1$ax(errors, error);
          J.add$1$ax(stackTraces, stackTrace);
          $.Zone__current.handleUncaughtError$2(error, stackTrace);
        }
      }
      if (J.get$length$asx(errors) !== 0)
        throw A.wrapException(new A.StateNotifierListenerError(errors, stackTraces, _this));
    },
    addListener$2$fireImmediately(_, listener, fireImmediately) {
      var err, stack, exception, t2, _this = this,
        listenerEntry = new A._ListenerEntry0(listener, _this.$ti._eval$1("_ListenerEntry0<1>")),
        t1 = _this._state_notifier$_listeners;
      t1._insertBefore$3$updateFirst(t1._collection$_first, listenerEntry, false);
      try {
        if (fireImmediately)
          listener.call$1(A.StateNotifier.prototype.get$state.call(_this, _this));
      } catch (exception) {
        err = A.unwrapException(exception);
        stack = A.getTraceFromException(exception);
        t1 = listenerEntry;
        t2 = t1._collection$_list;
        t2.toString;
        t2._unlink$1(A.instanceType(t1)._eval$1("LinkedListEntry.E")._as(t1));
        throw exception;
      } finally {
      }
      return new A.StateNotifier_addListener_closure(listenerEntry);
    },
    addListener$1($receiver, listener) {
      return this.addListener$2$fireImmediately($receiver, listener, true);
    },
    dispose$0() {
      this._state_notifier$_listeners.clear$0(0);
      this._state_notifier$_mounted = false;
    }
  };
  A.StateNotifier_addListener_closure.prototype = {
    call$0() {
      var t1 = this.listenerEntry,
        t2 = t1._collection$_list;
      if (t2 != null)
        t2._unlink$1(t1.$ti._eval$1("LinkedListEntry.E")._as(t1));
    },
    $signature: 0
  };
  A._ListenerEntry0.prototype = {};
  A.GuaranteeChannel.prototype = {
    get$stream(_) {
      var t1 = this.__GuaranteeChannel__streamController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>"));
    },
    get$sink() {
      var t1 = this.__GuaranteeChannel__sink;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
      var _this = this,
        t1 = $.Zone__current;
      if (_this.__GuaranteeChannel__sink !== $)
        A.throwUnnamedLateFieldAI();
      _this.__GuaranteeChannel__sink = new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future(t1, type$._Future_dynamic), type$._AsyncCompleter_dynamic), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>"));
      t1 = A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this), null, true, $T);
      if (_this.__GuaranteeChannel__streamController !== $)
        A.throwUnnamedLateFieldAI();
      _this.__GuaranteeChannel__streamController = 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;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.close$0(0);
    }
  };
  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;
      if (t3 === $)
        A.throwUnnamedLateFieldNI();
      t1._guarantee_channel$_subscription = t2.listen$3$onDone$onError(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;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2._onStreamDisconnected$0();
      t1 = t1.__GuaranteeChannel__streamController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.close$0(0);
    },
    $signature: 0
  };
  A._GuaranteeSink.prototype = {
    add$1(_, data) {
      var _this = this;
      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;
      _this._guarantee_channel$_inner._async$_target.add$1(0, data);
    },
    addError$2(error, stackTrace) {
      var _this = this;
      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;
      _this._guarantee_channel$_addError$2(error, stackTrace);
    },
    addError$1(error) {
      return this.addError$2(error, null);
    },
    _guarantee_channel$_addError$2(error, stackTrace) {
      var _this = this;
      if (_this._allowErrors) {
        _this._guarantee_channel$_inner._async$_target.addError$2(error, stackTrace);
        return;
      }
      _this._doneCompleter.completeError$2(error, stackTrace);
      _this._onStreamDisconnected$0();
      _this._guarantee_channel$_channel._onSinkDisconnected$0();
      _this._guarantee_channel$_inner._async$_target.close$0(0).catchError$1(new A._GuaranteeSink__addError_closure());
    },
    _guarantee_channel$_addError$1(error) {
      return this._guarantee_channel$_addError$2(error, null);
    },
    addStream$1(_, stream) {
      var t1, t2, _this = this;
      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);
      t1 = _this._addStreamCompleter = new A._SyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._SyncCompleter_dynamic);
      t2 = _this._guarantee_channel$_inner;
      _this._addStreamSubscription = stream.listen$3$onDone$onError(t2.get$add(t2), t1.get$complete(t1), _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._guarantee_channel$_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._addStreamSubscription = _this._addStreamCompleter = null;
    }
  };
  A._GuaranteeSink__addError_closure.prototype = {
    call$1(_) {
    },
    $signature: 9
  };
  A._GuaranteeSink_addStream_closure.prototype = {
    call$1(_) {
      var t1 = this.$this;
      t1._addStreamSubscription = t1._addStreamCompleter = null;
    },
    $signature: 9
  };
  A.StreamChannelController.prototype = {};
  A._StreamChannel.prototype = {
    get$stream(receiver) {
      return this.stream;
    },
    get$sink() {
      return this.sink;
    }
  };
  A.StreamChannelMixin.prototype = {
    cast$1$0(_, $S) {
      var _this = this,
        t1 = _this.get$stream(_this).cast$1$0(0, $S),
        t2 = A.StreamController_StreamController(null, null, null, true, $S),
        t3 = A._instanceType(t2)._eval$1("_ControllerStream<1>");
      new A.CastStream(new A._ControllerStream(t2, t3), t3._eval$1("@<Stream.T>")._bind$1(A._instanceType(_this)._eval$1("StreamChannelMixin.T"))._eval$1("CastStream<1,2>")).pipe$1(_this.get$sink());
      return new A._StreamChannel(t1, t2, $S._eval$1("_StreamChannel<0>"));
    }
  };
  A.StringScannerException.prototype = {
    get$source(_) {
      return A._asString(this.source);
    }
  };
  A.LineScanner.prototype = {
    get$line(_) {
      return this._line;
    },
    set$position(_, newPosition) {
      var t1, newlines, t2, t3, _this = this,
        oldPosition = _this._string_scanner$_position;
      _this.super$StringScanner$position(0, newPosition);
      t1 = _this.string;
      if (newPosition > oldPosition) {
        newlines = _this._newlinesIn$1(B.JSString_methods.substring$2(t1, oldPosition, newPosition));
        t1 = _this._line;
        t2 = newlines.length;
        _this._line = t1 + t2;
        if (t2 === 0)
          _this._column = _this._column + (newPosition - oldPosition);
        else
          _this._column = newPosition - J.get$end$z(B.JSArray_methods.get$last(newlines));
      } else {
        newlines = _this._newlinesIn$1(B.JSString_methods.substring$2(t1, newPosition, oldPosition));
        if (_this.peekChar$1(-1) === 13 && _this.peekChar$0() === 10)
          B.JSArray_methods.removeLast$0(newlines);
        t2 = _this._line;
        t3 = newlines.length;
        _this._line = t2 - t3;
        if (t3 === 0)
          _this._column = _this._column - (oldPosition - newPosition);
        else
          _this._column = newPosition - B.JSString_methods.lastIndexOf$2(t1, $.$get$_newlineRegExp(), newPosition) - 1;
      }
    },
    _adjustLineAndColumn$1(character) {
      var t1, _this = this;
      if (character !== 10)
        t1 = character === 13 && _this.peekChar$0() !== 10;
      else
        t1 = true;
      if (t1) {
        ++_this._line;
        _this._column = 0;
      } else
        ++_this._column;
    },
    scan$1(pattern) {
      var t1, newlines, t2, _this = this;
      if (!_this.super$StringScanner$scan(pattern))
        return false;
      t1 = _this.get$lastMatch().$index(0, 0);
      t1.toString;
      newlines = _this._newlinesIn$1(t1);
      t1 = _this._line;
      t2 = newlines.length;
      _this._line = t1 + t2;
      if (t2 === 0)
        _this._column = _this._column + _this.get$lastMatch().$index(0, 0).length;
      else
        _this._column = _this.get$lastMatch().$index(0, 0).length - J.get$end$z(B.JSArray_methods.get$last(newlines));
      return true;
    },
    _newlinesIn$1(text) {
      var t1 = $.$get$_newlineRegExp().allMatches$1(0, text),
        newlines = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E"));
      if (this.peekChar$1(-1) === 13 && this.peekChar$0() === 10)
        B.JSArray_methods.removeLast$0(newlines);
      return newlines;
    }
  };
  A.StringScanner.prototype = {
    set$position(_, position) {
      if (B.JSInt_methods.get$isNegative(position) || position > this.string.length)
        throw A.wrapException(A.ArgumentError$("Invalid position " + position, null));
      this._string_scanner$_position = position;
      this._lastMatch = null;
    },
    get$lastMatch() {
      var _this = this;
      if (_this._string_scanner$_position !== _this._lastMatchPosition)
        _this._lastMatch = null;
      return _this._lastMatch;
    },
    readChar$0() {
      var _this = this,
        t1 = _this._string_scanner$_position,
        t2 = _this.string;
      if (t1 === t2.length)
        _this.error$3$length$position(0, "expected more input.", 0, t1);
      return B.JSString_methods.codeUnitAt$1(t2, _this._string_scanner$_position++);
    },
    peekChar$1(offset) {
      var index;
      if (offset == null)
        offset = 0;
      index = this._string_scanner$_position + offset;
      if (index < 0 || index >= this.string.length)
        return null;
      return B.JSString_methods.codeUnitAt$1(this.string, index);
    },
    peekChar$0() {
      return this.peekChar$1(null);
    },
    scan$1(pattern) {
      var t1, _this = this,
        success = _this.matches$1(0, pattern);
      if (success) {
        t1 = _this._lastMatch;
        _this._lastMatchPosition = _this._string_scanner$_position = t1.get$end(t1);
      }
      return success;
    },
    expect$2$name(pattern, $name) {
      var t1;
      if (this.scan$1(pattern))
        return;
      if ($name == null)
        if (type$.RegExp._is(pattern))
          $name = "/" + pattern.pattern + "/";
        else {
          t1 = J.toString$0$(pattern);
          t1 = A.stringReplaceAllUnchecked(t1, "\\", "\\\\");
          $name = '"' + A.stringReplaceAllUnchecked(t1, '"', '\\"') + '"';
        }
      this.error$3$length$position(0, "expected " + $name + ".", 0, this._string_scanner$_position);
    },
    expect$1(pattern) {
      return this.expect$2$name(pattern, null);
    },
    expectDone$0() {
      var t1 = this._string_scanner$_position;
      if (t1 === this.string.length)
        return;
      this.error$3$length$position(0, "expected no more input.", 0, t1);
    },
    matches$1(_, pattern) {
      var _this = this,
        t1 = J.matchAsPrefix$2$s(pattern, _this.string, _this._string_scanner$_position);
      _this._lastMatch = t1;
      _this._lastMatchPosition = _this._string_scanner$_position;
      return t1 != null;
    },
    substring$2(_, start, end) {
      return B.JSString_methods.substring$2(this.string, start, end);
    },
    error$3$length$position(_, message, $length, position) {
      var t2, t3, t4, t5, sourceFile, end,
        t1 = this.string;
      if (position < 0)
        A.throwExpression(A.RangeError$("position must be greater than or equal to 0."));
      else if (position > t1.length)
        A.throwExpression(A.RangeError$("position must be less than or equal to the string length."));
      t2 = position + $length > t1.length;
      if (t2)
        A.throwExpression(A.RangeError$("position plus length must not go beyond the end of the string."));
      t2 = this.sourceUrl;
      t3 = new A.CodeUnits(t1);
      t4 = A._setArrayType([0], type$.JSArray_int);
      t5 = new Uint32Array(A._ensureNativeList(t3.toList$0(t3)));
      sourceFile = new A.SourceFile(t2, t4, t5);
      sourceFile.SourceFile$decoded$2$url(t3, t2);
      end = position + $length;
      if (end > t5.length)
        A.throwExpression(A.RangeError$("End " + end + string$.x20must_ + sourceFile.get$length(sourceFile) + "."));
      else if (position < 0)
        A.throwExpression(A.RangeError$("Start may not be negative, was " + position + "."));
      throw A.wrapException(new A.StringScannerException(t1, message, new A._FileSpan(sourceFile, position, end)));
    }
  };
  A.LaunchMode.prototype = {
    toString$0(_) {
      return "LaunchMode." + this._core$_name;
    }
  };
  A.WebViewConfiguration.prototype = {};
  A.MethodChannelUrlLauncher.prototype = {
    canLaunch$1(url) {
      var t1 = type$.bool;
      return B.MethodChannel_61L._invokeMethod$1$3$arguments$missingOk("canLaunch", A.LinkedHashMap_LinkedHashMap$_literal(["url", url], type$.String, type$.Object), false, t1).then$1$1(new A.MethodChannelUrlLauncher_canLaunch_closure(), t1);
    },
    launch$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName(url, enableDomStorage, enableJavaScript, headers, universalLinksOnly, useSafariVC, useWebView, webOnlyWindowName) {
      var t1 = type$.bool;
      return B.MethodChannel_61L._invokeMethod$1$3$arguments$missingOk("launch", A.LinkedHashMap_LinkedHashMap$_literal(["url", url, "useSafariVC", useSafariVC, "useWebView", useWebView, "enableJavaScript", true, "enableDomStorage", true, "universalLinksOnly", universalLinksOnly, "headers", headers], type$.String, type$.Object), false, t1).then$1$1(new A.MethodChannelUrlLauncher_launch_closure(), t1);
    }
  };
  A.MethodChannelUrlLauncher_canLaunch_closure.prototype = {
    call$1(value) {
      return value === true;
    },
    $signature: 301
  };
  A.MethodChannelUrlLauncher_launch_closure.prototype = {
    call$1(value) {
      return value === true;
    },
    $signature: 301
  };
  A.PreferredLaunchMode.prototype = {
    toString$0(_) {
      return "PreferredLaunchMode." + this._core$_name;
    }
  };
  A.UrlLauncherPlatform.prototype = {};
  A.UrlLauncherPlugin.prototype = {
    canLaunch$1(url) {
      var t1 = $.$get$UrlLauncherPlugin__supportedSchemes(),
        t2 = A.Uri_tryParse(url);
      return A.Future_Future$value(t1.contains$1(0, t2 == null ? null : t2.get$scheme()), type$.bool);
    },
    launch$8$enableDomStorage$enableJavaScript$headers$universalLinksOnly$useSafariVC$useWebView$webOnlyWindowName(url, enableDomStorage, enableJavaScript, headers, universalLinksOnly, useSafariVC, useWebView, webOnlyWindowName) {
      var t1, target;
      if (this._isSafari) {
        t1 = A.Uri_tryParse(url);
        t1 = t1 == null ? null : t1.get$scheme();
        t1 = J.containsKey$1$x(B.Set_4e8j2._collection$_map, t1);
      } else
        t1 = false;
      target = t1 ? "_top" : "";
      B.Window_methods.open$2(this._url_launcher_web$_window, url, target);
      return A.Future_Future$value(true, type$.bool);
    }
  };
  A.Matrix3.prototype = {
    setFrom$1(arg) {
      var argStorage = arg._m3storage,
        t1 = this._m3storage;
      t1[8] = argStorage[8];
      t1[7] = argStorage[7];
      t1[6] = argStorage[6];
      t1[5] = argStorage[5];
      t1[4] = argStorage[4];
      t1[3] = argStorage[3];
      t1[2] = argStorage[2];
      t1[1] = argStorage[1];
      t1[0] = argStorage[0];
    },
    toString$0(_) {
      return "[0] " + this.getRow$1(0).toString$0(0) + "\n[1] " + this.getRow$1(1).toString$0(0) + "\n[2] " + this.getRow$1(2).toString$0(0) + "\n";
    },
    $index(_, i) {
      return this._m3storage[i];
    },
    $indexSet(_, i, v) {
      this._m3storage[i] = v;
    },
    $eq(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof A.Matrix3) {
        t1 = this._m3storage;
        t2 = t1[0];
        t3 = other._m3storage;
        t1 = t2 === t3[0] && t1[1] === t3[1] && t1[2] === t3[2] && t1[3] === t3[3] && t1[4] === t3[4] && t1[5] === t3[5] && t1[6] === t3[6] && t1[7] === t3[7] && t1[8] === t3[8];
      } else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hashAll(this._m3storage);
    },
    getRow$1(row) {
      var t1 = new Float64Array(3),
        t2 = this._m3storage;
      t1[0] = t2[row];
      t1[1] = t2[3 + row];
      t1[2] = t2[6 + row];
      return new A.Vector3(t1);
    },
    $mul(_, arg) {
      var t1 = new Float64Array(9),
        t2 = new A.Matrix3(t1);
      t2.setFrom$1(this);
      t1[0] = t1[0] * arg;
      t1[1] = t1[1] * arg;
      t1[2] = t1[2] * arg;
      t1[3] = t1[3] * arg;
      t1[4] = t1[4] * arg;
      t1[5] = t1[5] * arg;
      t1[6] = t1[6] * arg;
      t1[7] = t1[7] * arg;
      t1[8] = t1[8] * arg;
      return t2;
    },
    $add(_, arg) {
      var oStorage,
        t1 = new Float64Array(9),
        t2 = new A.Matrix3(t1);
      t2.setFrom$1(this);
      oStorage = arg._m3storage;
      t1[0] = t1[0] + oStorage[0];
      t1[1] = t1[1] + oStorage[1];
      t1[2] = t1[2] + oStorage[2];
      t1[3] = t1[3] + oStorage[3];
      t1[4] = t1[4] + oStorage[4];
      t1[5] = t1[5] + oStorage[5];
      t1[6] = t1[6] + oStorage[6];
      t1[7] = t1[7] + oStorage[7];
      t1[8] = t1[8] + oStorage[8];
      return t2;
    },
    $sub(_, arg) {
      var oStorage,
        t1 = new Float64Array(9),
        t2 = new A.Matrix3(t1);
      t2.setFrom$1(this);
      oStorage = arg._m3storage;
      t1[0] = t1[0] - oStorage[0];
      t1[1] = t1[1] - oStorage[1];
      t1[2] = t1[2] - oStorage[2];
      t1[3] = t1[3] - oStorage[3];
      t1[4] = t1[4] - oStorage[4];
      t1[5] = t1[5] - oStorage[5];
      t1[6] = t1[6] - oStorage[6];
      t1[7] = t1[7] - oStorage[7];
      t1[8] = t1[8] - oStorage[8];
      return t2;
    }
  };
  A.Matrix4.prototype = {
    setFrom$1(arg) {
      var argStorage = arg._m4storage,
        t1 = this._m4storage;
      t1[15] = argStorage[15];
      t1[14] = argStorage[14];
      t1[13] = argStorage[13];
      t1[12] = argStorage[12];
      t1[11] = argStorage[11];
      t1[10] = argStorage[10];
      t1[9] = argStorage[9];
      t1[8] = argStorage[8];
      t1[7] = argStorage[7];
      t1[6] = argStorage[6];
      t1[5] = argStorage[5];
      t1[4] = argStorage[4];
      t1[3] = argStorage[3];
      t1[2] = argStorage[2];
      t1[1] = argStorage[1];
      t1[0] = argStorage[0];
    },
    toString$0(_) {
      var _this = this;
      return "[0] " + _this.getRow$1(0).toString$0(0) + "\n[1] " + _this.getRow$1(1).toString$0(0) + "\n[2] " + _this.getRow$1(2).toString$0(0) + "\n[3] " + _this.getRow$1(3).toString$0(0) + "\n";
    },
    $index(_, i) {
      return this._m4storage[i];
    },
    $indexSet(_, i, v) {
      this._m4storage[i] = v;
    },
    $eq(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof A.Matrix4) {
        t1 = this._m4storage;
        t2 = t1[0];
        t3 = other._m4storage;
        t1 = t2 === t3[0] && t1[1] === t3[1] && t1[2] === t3[2] && t1[3] === t3[3] && t1[4] === t3[4] && t1[5] === t3[5] && t1[6] === t3[6] && t1[7] === t3[7] && t1[8] === t3[8] && t1[9] === t3[9] && t1[10] === t3[10] && t1[11] === t3[11] && t1[12] === t3[12] && t1[13] === t3[13] && t1[14] === t3[14] && t1[15] === t3[15];
      } else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hashAll(this._m4storage);
    },
    setRow$2(row, arg) {
      var argStorage = arg._v4storage,
        t1 = this._m4storage;
      t1[row] = argStorage[0];
      t1[4 + row] = argStorage[1];
      t1[8 + row] = argStorage[2];
      t1[12 + row] = argStorage[3];
    },
    getRow$1(row) {
      var t1 = new Float64Array(4),
        t2 = this._m4storage;
      t1[0] = t2[row];
      t1[1] = t2[4 + row];
      t1[2] = t2[8 + row];
      t1[3] = t2[12 + row];
      return new A.Vector4(t1);
    },
    $mul(_, arg) {
      var t1 = new A.Matrix4(new Float64Array(16));
      t1.setFrom$1(this);
      t1.scale$3(0, arg, null, null);
      return t1;
    },
    $add(_, arg) {
      var oStorage,
        t1 = new Float64Array(16),
        t2 = new A.Matrix4(t1);
      t2.setFrom$1(this);
      oStorage = arg._m4storage;
      t1[0] = t1[0] + oStorage[0];
      t1[1] = t1[1] + oStorage[1];
      t1[2] = t1[2] + oStorage[2];
      t1[3] = t1[3] + oStorage[3];
      t1[4] = t1[4] + oStorage[4];
      t1[5] = t1[5] + oStorage[5];
      t1[6] = t1[6] + oStorage[6];
      t1[7] = t1[7] + oStorage[7];
      t1[8] = t1[8] + oStorage[8];
      t1[9] = t1[9] + oStorage[9];
      t1[10] = t1[10] + oStorage[10];
      t1[11] = t1[11] + oStorage[11];
      t1[12] = t1[12] + oStorage[12];
      t1[13] = t1[13] + oStorage[13];
      t1[14] = t1[14] + oStorage[14];
      t1[15] = t1[15] + oStorage[15];
      return t2;
    },
    $sub(_, arg) {
      var oStorage,
        t1 = new Float64Array(16),
        t2 = new A.Matrix4(t1);
      t2.setFrom$1(this);
      oStorage = arg._m4storage;
      t1[0] = t1[0] - oStorage[0];
      t1[1] = t1[1] - oStorage[1];
      t1[2] = t1[2] - oStorage[2];
      t1[3] = t1[3] - oStorage[3];
      t1[4] = t1[4] - oStorage[4];
      t1[5] = t1[5] - oStorage[5];
      t1[6] = t1[6] - oStorage[6];
      t1[7] = t1[7] - oStorage[7];
      t1[8] = t1[8] - oStorage[8];
      t1[9] = t1[9] - oStorage[9];
      t1[10] = t1[10] - oStorage[10];
      t1[11] = t1[11] - oStorage[11];
      t1[12] = t1[12] - oStorage[12];
      t1[13] = t1[13] - oStorage[13];
      t1[14] = t1[14] - oStorage[14];
      t1[15] = t1[15] - oStorage[15];
      return t2;
    },
    translate$2(_, x, y) {
      var t1 = this._m4storage,
        t2 = t1[0],
        t3 = t1[4],
        t4 = t1[8],
        t5 = t1[12],
        t6 = t1[1],
        t7 = t1[5],
        t8 = t1[9],
        t9 = t1[13],
        t10 = t1[2],
        t11 = t1[6],
        t12 = t1[10],
        t13 = t1[14],
        t14 = t1[3],
        t15 = t1[7],
        t16 = t1[11],
        t17 = t1[15];
      t1[12] = t2 * x + t3 * y + t4 * 0 + t5;
      t1[13] = t6 * x + t7 * y + t8 * 0 + t9;
      t1[14] = t10 * x + t11 * y + t12 * 0 + t13;
      t1[15] = t14 * x + t15 * y + t16 * 0 + t17;
    },
    rotateZ$1(angle) {
      var cosAngle = Math.cos(angle),
        sinAngle = Math.sin(angle),
        t1 = this._m4storage,
        t2 = t1[0],
        t3 = t1[4],
        t4 = t1[1],
        t5 = t1[5],
        t6 = t1[2],
        t7 = t1[6],
        t8 = t1[3],
        t9 = t1[7],
        t10 = -sinAngle;
      t1[0] = t2 * cosAngle + t3 * sinAngle;
      t1[1] = t4 * cosAngle + t5 * sinAngle;
      t1[2] = t6 * cosAngle + t7 * sinAngle;
      t1[3] = t8 * cosAngle + t9 * sinAngle;
      t1[4] = t2 * t10 + t3 * cosAngle;
      t1[5] = t4 * t10 + t5 * cosAngle;
      t1[6] = t6 * t10 + t7 * cosAngle;
      t1[7] = t8 * t10 + t9 * cosAngle;
    },
    scale$3(_, x, y, z) {
      var t1, sx, sy, sz;
      if (x instanceof A.Vector3) {
        t1 = x._v3storage;
        sx = t1[0];
        sy = t1[1];
        sz = t1[2];
      } else {
        if (typeof x == "number") {
          sy = y == null ? x : y;
          sz = z == null ? x : z;
        } else
          throw A.wrapException(A.UnimplementedError$(null));
        sx = x;
      }
      t1 = this._m4storage;
      t1[0] = t1[0] * sx;
      t1[1] = t1[1] * sx;
      t1[2] = t1[2] * sx;
      t1[3] = t1[3] * sx;
      t1[4] = t1[4] * sy;
      t1[5] = t1[5] * sy;
      t1[6] = t1[6] * sy;
      t1[7] = t1[7] * sy;
      t1[8] = t1[8] * sz;
      t1[9] = t1[9] * sz;
      t1[10] = t1[10] * sz;
      t1[11] = t1[11] * sz;
      t1[12] = t1[12];
      t1[13] = t1[13];
      t1[14] = t1[14];
      t1[15] = t1[15];
    },
    scale$1($receiver, x) {
      return this.scale$3($receiver, x, null, null);
    },
    setZero$0() {
      var t1 = this._m4storage;
      t1[0] = 0;
      t1[1] = 0;
      t1[2] = 0;
      t1[3] = 0;
      t1[4] = 0;
      t1[5] = 0;
      t1[6] = 0;
      t1[7] = 0;
      t1[8] = 0;
      t1[9] = 0;
      t1[10] = 0;
      t1[11] = 0;
      t1[12] = 0;
      t1[13] = 0;
      t1[14] = 0;
      t1[15] = 0;
    },
    setIdentity$0() {
      var t1 = this._m4storage;
      t1[0] = 1;
      t1[1] = 0;
      t1[2] = 0;
      t1[3] = 0;
      t1[4] = 0;
      t1[5] = 1;
      t1[6] = 0;
      t1[7] = 0;
      t1[8] = 0;
      t1[9] = 0;
      t1[10] = 1;
      t1[11] = 0;
      t1[12] = 0;
      t1[13] = 0;
      t1[14] = 0;
      t1[15] = 1;
    },
    setTranslationRaw$3(x, y, z) {
      var t1 = this._m4storage;
      t1[14] = z;
      t1[13] = y;
      t1[12] = x;
    },
    copyInverse$1(arg) {
      var invDet, t1, t2, t3,
        argStorage = arg._m4storage,
        a00 = argStorage[0],
        a01 = argStorage[1],
        a02 = argStorage[2],
        a03 = argStorage[3],
        a10 = argStorage[4],
        a11 = argStorage[5],
        a12 = argStorage[6],
        a13 = argStorage[7],
        a20 = argStorage[8],
        a21 = argStorage[9],
        a22 = argStorage[10],
        a23 = argStorage[11],
        a30 = argStorage[12],
        a31 = argStorage[13],
        a32 = argStorage[14],
        a33 = argStorage[15],
        b00 = a00 * a11 - a01 * a10,
        b01 = a00 * a12 - a02 * a10,
        b02 = a00 * a13 - a03 * a10,
        b03 = a01 * a12 - a02 * a11,
        b04 = a01 * a13 - a03 * a11,
        b05 = a02 * a13 - a03 * a12,
        b06 = a20 * a31 - a21 * a30,
        b07 = a20 * a32 - a22 * a30,
        b08 = a20 * a33 - a23 * a30,
        b09 = a21 * a32 - a22 * a31,
        b10 = a21 * a33 - a23 * a31,
        b11 = a22 * a33 - a23 * a32,
        det = b00 * b11 - b01 * b10 + b02 * b09 + b03 * b08 - b04 * b07 + b05 * b06;
      if (det === 0) {
        this.setFrom$1(arg);
        return 0;
      }
      invDet = 1 / det;
      t1 = this._m4storage;
      t1[0] = (a11 * b11 - a12 * b10 + a13 * b09) * invDet;
      t1[1] = (-a01 * b11 + a02 * b10 - a03 * b09) * invDet;
      t1[2] = (a31 * b05 - a32 * b04 + a33 * b03) * invDet;
      t1[3] = (-a21 * b05 + a22 * b04 - a23 * b03) * invDet;
      t2 = -a10;
      t1[4] = (t2 * b11 + a12 * b08 - a13 * b07) * invDet;
      t1[5] = (a00 * b11 - a02 * b08 + a03 * b07) * invDet;
      t3 = -a30;
      t1[6] = (t3 * b05 + a32 * b02 - a33 * b01) * invDet;
      t1[7] = (a20 * b05 - a22 * b02 + a23 * b01) * invDet;
      t1[8] = (a10 * b10 - a11 * b08 + a13 * b06) * invDet;
      t1[9] = (-a00 * b10 + a01 * b08 - a03 * b06) * invDet;
      t1[10] = (a30 * b04 - a31 * b02 + a33 * b00) * invDet;
      t1[11] = (-a20 * b04 + a21 * b02 - a23 * b00) * invDet;
      t1[12] = (t2 * b09 + a11 * b07 - a12 * b06) * invDet;
      t1[13] = (a00 * b09 - a01 * b07 + a02 * b06) * invDet;
      t1[14] = (t3 * b03 + a31 * b01 - a32 * b00) * invDet;
      t1[15] = (a20 * b03 - a21 * b01 + a22 * b00) * invDet;
      return det;
    },
    multiply$1(_, arg) {
      var t1 = this._m4storage,
        m00 = t1[0],
        m01 = t1[4],
        m02 = t1[8],
        m03 = t1[12],
        m10 = t1[1],
        m11 = t1[5],
        m12 = t1[9],
        m13 = t1[13],
        m20 = t1[2],
        m21 = t1[6],
        m22 = t1[10],
        m23 = t1[14],
        m30 = t1[3],
        m31 = t1[7],
        m32 = t1[11],
        m33 = t1[15],
        argStorage = arg._m4storage,
        n00 = argStorage[0],
        n01 = argStorage[4],
        n02 = argStorage[8],
        n03 = argStorage[12],
        n10 = argStorage[1],
        n11 = argStorage[5],
        n12 = argStorage[9],
        n13 = argStorage[13],
        n20 = argStorage[2],
        n21 = argStorage[6],
        n22 = argStorage[10],
        n23 = argStorage[14],
        n30 = argStorage[3],
        n31 = argStorage[7],
        n32 = argStorage[11],
        n33 = argStorage[15];
      t1[0] = m00 * n00 + m01 * n10 + m02 * n20 + m03 * n30;
      t1[4] = m00 * n01 + m01 * n11 + m02 * n21 + m03 * n31;
      t1[8] = m00 * n02 + m01 * n12 + m02 * n22 + m03 * n32;
      t1[12] = m00 * n03 + m01 * n13 + m02 * n23 + m03 * n33;
      t1[1] = m10 * n00 + m11 * n10 + m12 * n20 + m13 * n30;
      t1[5] = m10 * n01 + m11 * n11 + m12 * n21 + m13 * n31;
      t1[9] = m10 * n02 + m11 * n12 + m12 * n22 + m13 * n32;
      t1[13] = m10 * n03 + m11 * n13 + m12 * n23 + m13 * n33;
      t1[2] = m20 * n00 + m21 * n10 + m22 * n20 + m23 * n30;
      t1[6] = m20 * n01 + m21 * n11 + m22 * n21 + m23 * n31;
      t1[10] = m20 * n02 + m21 * n12 + m22 * n22 + m23 * n32;
      t1[14] = m20 * n03 + m21 * n13 + m22 * n23 + m23 * n33;
      t1[3] = m30 * n00 + m31 * n10 + m32 * n20 + m33 * n30;
      t1[7] = m30 * n01 + m31 * n11 + m32 * n21 + m33 * n31;
      t1[11] = m30 * n02 + m31 * n12 + m32 * n22 + m33 * n32;
      t1[15] = m30 * n03 + m31 * n13 + m32 * n23 + m33 * n33;
    },
    multiplied$1(arg) {
      var t1 = new A.Matrix4(new Float64Array(16));
      t1.setFrom$1(this);
      t1.multiply$1(0, arg);
      return t1;
    },
    decompose$3(translation, rotation, scale) {
      var t1, sx, sy, sz, t2, t3, t4, t5, det2_01_01, t6, t7, det2_01_02, t8, t9, det2_01_03, det2_01_12, det2_01_13, det2_01_23, invSX, invSY, invSZ, m, r, rStorage, t, s, i, j, k,
        v = $.Matrix4__decomposeV;
      if (v == null)
        v = $.Matrix4__decomposeV = new A.Vector3(new Float64Array(3));
      t1 = this._m4storage;
      v.setValues$3(t1[0], t1[1], t1[2]);
      sx = Math.sqrt(v.get$length2());
      v.setValues$3(t1[4], t1[5], t1[6]);
      sy = Math.sqrt(v.get$length2());
      v.setValues$3(t1[8], t1[9], t1[10]);
      sz = Math.sqrt(v.get$length2());
      t2 = t1[0];
      t3 = t1[5];
      t4 = t1[1];
      t5 = t1[4];
      det2_01_01 = t2 * t3 - t4 * t5;
      t6 = t1[6];
      t7 = t1[2];
      det2_01_02 = t2 * t6 - t7 * t5;
      t8 = t1[7];
      t9 = t1[3];
      det2_01_03 = t2 * t8 - t9 * t5;
      det2_01_12 = t4 * t6 - t7 * t3;
      det2_01_13 = t4 * t8 - t9 * t3;
      det2_01_23 = t7 * t8 - t9 * t6;
      t6 = t1[8];
      t9 = t1[9];
      t8 = t1[10];
      t7 = t1[11];
      t3 = t1[12];
      if (-(t9 * det2_01_23 - t8 * det2_01_13 + t7 * det2_01_12) * t3 + (t6 * det2_01_23 - t8 * det2_01_03 + t7 * det2_01_02) * t1[13] - (t6 * det2_01_13 - t9 * det2_01_03 + t7 * det2_01_01) * t1[14] + (t6 * det2_01_12 - t9 * det2_01_02 + t8 * det2_01_01) * t1[15] < 0)
        sx = -sx;
      t2 = translation._v3storage;
      t2[0] = t3;
      t2[1] = t1[13];
      t2[2] = t1[14];
      invSX = 1 / sx;
      invSY = 1 / sy;
      invSZ = 1 / sz;
      m = $.Matrix4__decomposeM;
      if (m == null)
        m = $.Matrix4__decomposeM = new A.Matrix4(new Float64Array(16));
      m.setFrom$1(this);
      t1 = m._m4storage;
      t1[0] = t1[0] * invSX;
      t1[1] = t1[1] * invSX;
      t1[2] = t1[2] * invSX;
      t1[4] = t1[4] * invSY;
      t1[5] = t1[5] * invSY;
      t1[6] = t1[6] * invSY;
      t1[8] = t1[8] * invSZ;
      t1[9] = t1[9] * invSZ;
      t1[10] = t1[10] * invSZ;
      r = $.Matrix4__decomposeR;
      if (r == null)
        r = $.Matrix4__decomposeR = new A.Matrix3(new Float64Array(9));
      rStorage = r._m3storage;
      rStorage[0] = t1[0];
      rStorage[1] = t1[1];
      rStorage[2] = t1[2];
      rStorage[3] = t1[4];
      rStorage[4] = t1[5];
      rStorage[5] = t1[6];
      rStorage[6] = t1[8];
      rStorage[7] = t1[9];
      rStorage[8] = t1[10];
      t1 = rStorage[0];
      t2 = rStorage[4];
      t3 = rStorage[8];
      t = 0 + t1 + t2 + t3;
      if (t > 0) {
        s = Math.sqrt(t + 1);
        t1 = rotation._qStorage;
        t1[3] = s * 0.5;
        s = 0.5 / s;
        t1[0] = (rStorage[5] - rStorage[7]) * s;
        t1[1] = (rStorage[6] - rStorage[2]) * s;
        t1[2] = (rStorage[1] - rStorage[3]) * s;
      } else {
        if (t1 < t2)
          i = t2 < t3 ? 2 : 1;
        else
          i = t1 < t3 ? 2 : 0;
        j = (i + 1) % 3;
        k = (i + 2) % 3;
        t1 = i * 3;
        t2 = j * 3;
        t3 = k * 3;
        s = Math.sqrt(rStorage[t1 + i] - rStorage[t2 + j] - rStorage[t3 + k] + 1);
        t4 = rotation._qStorage;
        t4[i] = s * 0.5;
        s = 0.5 / s;
        t4[3] = (rStorage[t2 + k] - rStorage[t3 + j]) * s;
        t4[j] = (rStorage[t1 + j] + rStorage[t2 + i]) * s;
        t4[k] = (rStorage[t1 + k] + rStorage[t3 + i]) * s;
      }
      t1 = scale._v3storage;
      t1[0] = sx;
      t1[1] = sy;
      t1[2] = sz;
    },
    transform3$1(arg) {
      var argStorage = arg._v3storage,
        t1 = this._m4storage,
        t2 = t1[0],
        t3 = argStorage[0],
        t4 = t1[4],
        t5 = argStorage[1],
        t6 = t1[8],
        t7 = argStorage[2],
        t8 = t1[12],
        t9 = t1[1],
        t10 = t1[5],
        t11 = t1[9],
        t12 = t1[13],
        t13 = t1[2],
        t14 = t1[6],
        t15 = t1[10];
      t1 = t1[14];
      argStorage[0] = t2 * t3 + t4 * t5 + t6 * t7 + t8;
      argStorage[1] = t9 * t3 + t10 * t5 + t11 * t7 + t12;
      argStorage[2] = t13 * t3 + t14 * t5 + t15 * t7 + t1;
      return arg;
    },
    transform$1(_, arg) {
      var argStorage = arg._v4storage,
        t1 = this._m4storage,
        t2 = t1[0],
        t3 = argStorage[0],
        t4 = t1[4],
        t5 = argStorage[1],
        t6 = t1[8],
        t7 = argStorage[2],
        t8 = t1[12],
        t9 = argStorage[3],
        t10 = t1[1],
        t11 = t1[5],
        t12 = t1[9],
        t13 = t1[13],
        t14 = t1[2],
        t15 = t1[6],
        t16 = t1[10],
        t17 = t1[14],
        t18 = t1[3],
        t19 = t1[7],
        t20 = t1[11];
      t1 = t1[15];
      argStorage[0] = t2 * t3 + t4 * t5 + t6 * t7 + t8 * t9;
      argStorage[1] = t10 * t3 + t11 * t5 + t12 * t7 + t13 * t9;
      argStorage[2] = t14 * t3 + t15 * t5 + t16 * t7 + t17 * t9;
      argStorage[3] = t18 * t3 + t19 * t5 + t20 * t7 + t1 * t9;
      return arg;
    },
    perspectiveTransform$1(arg) {
      var argStorage = arg._v3storage,
        t1 = this._m4storage,
        t2 = t1[0],
        t3 = argStorage[0],
        t4 = t1[4],
        t5 = argStorage[1],
        t6 = t1[8],
        t7 = argStorage[2],
        t8 = t1[12],
        t9 = t1[1],
        t10 = t1[5],
        t11 = t1[9],
        t12 = t1[13],
        t13 = t1[2],
        t14 = t1[6],
        t15 = t1[10],
        t16 = t1[14],
        w_ = 1 / (t1[3] * t3 + t1[7] * t5 + t1[11] * t7 + t1[15]);
      argStorage[0] = (t2 * t3 + t4 * t5 + t6 * t7 + t8) * w_;
      argStorage[1] = (t9 * t3 + t10 * t5 + t11 * t7 + t12) * w_;
      argStorage[2] = (t13 * t3 + t14 * t5 + t15 * t7 + t16) * w_;
      return arg;
    }
  };
  A.Quaternion.prototype = {
    setFrom$1(source) {
      var sourceStorage = source._qStorage,
        t1 = this._qStorage;
      t1[0] = sourceStorage[0];
      t1[1] = sourceStorage[1];
      t1[2] = sourceStorage[2];
      t1[3] = sourceStorage[3];
    },
    normalize$0(_) {
      var d, t1,
        l = Math.sqrt(this.get$length2());
      if (l === 0)
        return 0;
      d = 1 / l;
      t1 = this._qStorage;
      t1[0] = t1[0] * d;
      t1[1] = t1[1] * d;
      t1[2] = t1[2] * d;
      t1[3] = t1[3] * d;
      return l;
    },
    get$length2() {
      var t1 = this._qStorage,
        x = t1[0],
        y = t1[1],
        z = t1[2],
        w = t1[3];
      return x * x + y * y + z * z + w * w;
    },
    get$length(_) {
      var t1 = this._qStorage,
        x = t1[0],
        y = t1[1],
        z = t1[2],
        w = t1[3];
      return Math.sqrt(x * x + y * y + z * z + w * w);
    },
    scaled$1(scale) {
      var t1 = new Float64Array(4),
        t2 = new A.Quaternion(t1);
      t2.setFrom$1(this);
      t1[3] = t1[3] * scale;
      t1[2] = t1[2] * scale;
      t1[1] = t1[1] * scale;
      t1[0] = t1[0] * scale;
      return t2;
    },
    $mul(_, other) {
      var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17,
        t1 = this._qStorage,
        _w = t1[3],
        _z = t1[2],
        _y = t1[1],
        _x = t1[0],
        otherStorage = other.get$_qStorage(),
        ow = otherStorage.$index(0, 3),
        oz = otherStorage.$index(0, 2),
        oy = otherStorage.$index(0, 1),
        ox = otherStorage.$index(0, 0);
      t1 = B.JSNumber_methods.$mul(_w, ox);
      t2 = B.JSNumber_methods.$mul(_x, ow);
      t3 = B.JSNumber_methods.$mul(_y, oz);
      t4 = B.JSNumber_methods.$mul(_z, oy);
      t5 = B.JSNumber_methods.$mul(_w, oy);
      t6 = B.JSNumber_methods.$mul(_y, ow);
      t7 = B.JSNumber_methods.$mul(_z, ox);
      t8 = B.JSNumber_methods.$mul(_x, oz);
      t9 = B.JSNumber_methods.$mul(_w, oz);
      t10 = B.JSNumber_methods.$mul(_z, ow);
      t11 = B.JSNumber_methods.$mul(_x, oy);
      t12 = B.JSNumber_methods.$mul(_y, ox);
      t13 = B.JSNumber_methods.$mul(_w, ow);
      t14 = B.JSNumber_methods.$mul(_x, ox);
      t15 = B.JSNumber_methods.$mul(_y, oy);
      t16 = B.JSNumber_methods.$mul(_z, oz);
      t17 = new Float64Array(4);
      t17[0] = t1 + t2 + t3 - t4;
      t17[1] = t5 + t6 + t7 - t8;
      t17[2] = t9 + t10 + t11 - t12;
      t17[3] = t13 - t14 - t15 - t16;
      return new A.Quaternion(t17);
    },
    $add(_, other) {
      var argStorage,
        t1 = new Float64Array(4),
        t2 = new A.Quaternion(t1);
      t2.setFrom$1(this);
      argStorage = other._qStorage;
      t1[0] = t1[0] + argStorage[0];
      t1[1] = t1[1] + argStorage[1];
      t1[2] = t1[2] + argStorage[2];
      t1[3] = t1[3] + argStorage[3];
      return t2;
    },
    $sub(_, other) {
      var argStorage,
        t1 = new Float64Array(4),
        t2 = new A.Quaternion(t1);
      t2.setFrom$1(this);
      argStorage = other._qStorage;
      t1[0] = t1[0] - argStorage[0];
      t1[1] = t1[1] - argStorage[1];
      t1[2] = t1[2] - argStorage[2];
      t1[3] = t1[3] - argStorage[3];
      return t2;
    },
    $index(_, i) {
      return this._qStorage[i];
    },
    $indexSet(_, i, arg) {
      this._qStorage[i] = arg;
    },
    toString$0(_) {
      var t1 = this._qStorage;
      return A.S(t1[0]) + ", " + A.S(t1[1]) + ", " + A.S(t1[2]) + " @ " + A.S(t1[3]);
    }
  };
  A.Vector3.prototype = {
    setValues$3(x, y, z) {
      var t1 = this._v3storage;
      t1[0] = x;
      t1[1] = y;
      t1[2] = z;
    },
    setFrom$1(other) {
      var otherStorage = other._v3storage,
        t1 = this._v3storage;
      t1[0] = otherStorage[0];
      t1[1] = otherStorage[1];
      t1[2] = otherStorage[2];
    },
    toString$0(_) {
      var t1 = this._v3storage;
      return "[" + A.S(t1[0]) + "," + A.S(t1[1]) + "," + A.S(t1[2]) + "]";
    },
    $eq(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof A.Vector3) {
        t1 = this._v3storage;
        t2 = t1[0];
        t3 = other._v3storage;
        t1 = t2 === t3[0] && t1[1] === t3[1] && t1[2] === t3[2];
      } else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hashAll(this._v3storage);
    },
    $sub(_, other) {
      var argStorage,
        t1 = new Float64Array(3),
        t2 = new A.Vector3(t1);
      t2.setFrom$1(this);
      argStorage = other._v3storage;
      t1[0] = t1[0] - argStorage[0];
      t1[1] = t1[1] - argStorage[1];
      t1[2] = t1[2] - argStorage[2];
      return t2;
    },
    $add(_, other) {
      var argStorage,
        t1 = new Float64Array(3),
        t2 = new A.Vector3(t1);
      t2.setFrom$1(this);
      argStorage = other._v3storage;
      t1[0] = t1[0] + argStorage[0];
      t1[1] = t1[1] + argStorage[1];
      t1[2] = t1[2] + argStorage[2];
      return t2;
    },
    $div(_, scale) {
      return this.scaled$1(1 / scale);
    },
    $mul(_, scale) {
      return this.scaled$1(scale);
    },
    $index(_, i) {
      return this._v3storage[i];
    },
    $indexSet(_, i, v) {
      this._v3storage[i] = v;
    },
    get$length(_) {
      var t1 = this._v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return Math.sqrt(t2 * t2 + t3 * t3 + t1 * t1);
    },
    get$length2() {
      var t1 = this._v3storage,
        t2 = t1[0],
        t3 = t1[1];
      t1 = t1[2];
      return t2 * t2 + t3 * t3 + t1 * t1;
    },
    dot$1(other) {
      var otherStorage = other._v3storage,
        t1 = this._v3storage;
      return t1[0] * otherStorage[0] + t1[1] * otherStorage[1] + t1[2] * otherStorage[2];
    },
    scaled$1(arg) {
      var t1 = new Float64Array(3),
        t2 = new A.Vector3(t1);
      t2.setFrom$1(this);
      t1[2] = t1[2] * arg;
      t1[1] = t1[1] * arg;
      t1[0] = t1[0] * arg;
      return t2;
    }
  };
  A.Vector4.prototype = {
    setValues$4(x_, y_, z_, w_) {
      var t1 = this._v4storage;
      t1[3] = w_;
      t1[2] = z_;
      t1[1] = y_;
      t1[0] = x_;
    },
    setFrom$1(other) {
      var otherStorage = other._v4storage,
        t1 = this._v4storage;
      t1[3] = otherStorage[3];
      t1[2] = otherStorage[2];
      t1[1] = otherStorage[1];
      t1[0] = otherStorage[0];
    },
    toString$0(_) {
      var t1 = this._v4storage;
      return A.S(t1[0]) + "," + A.S(t1[1]) + "," + A.S(t1[2]) + "," + A.S(t1[3]);
    },
    $eq(_, other) {
      var t1, t2, t3;
      if (other == null)
        return false;
      if (other instanceof A.Vector4) {
        t1 = this._v4storage;
        t2 = t1[0];
        t3 = other._v4storage;
        t1 = t2 === t3[0] && t1[1] === t3[1] && t1[2] === t3[2] && t1[3] === t3[3];
      } else
        t1 = false;
      return t1;
    },
    get$hashCode(_) {
      return A.Object_hashAll(this._v4storage);
    },
    $sub(_, other) {
      var argStorage,
        t1 = new Float64Array(4),
        t2 = new A.Vector4(t1);
      t2.setFrom$1(this);
      argStorage = other._v4storage;
      t1[0] = t1[0] - argStorage[0];
      t1[1] = t1[1] - argStorage[1];
      t1[2] = t1[2] - argStorage[2];
      t1[3] = t1[3] - argStorage[3];
      return t2;
    },
    $add(_, other) {
      var argStorage,
        t1 = new Float64Array(4),
        t2 = new A.Vector4(t1);
      t2.setFrom$1(this);
      argStorage = other._v4storage;
      t1[0] = t1[0] + argStorage[0];
      t1[1] = t1[1] + argStorage[1];
      t1[2] = t1[2] + argStorage[2];
      t1[3] = t1[3] + argStorage[3];
      return t2;
    },
    $div(_, scale) {
      var t1 = new A.Vector4(new Float64Array(4));
      t1.setFrom$1(this);
      t1.scale$1(0, 1 / scale);
      return t1;
    },
    $mul(_, scale) {
      var t1 = new A.Vector4(new Float64Array(4));
      t1.setFrom$1(this);
      t1.scale$1(0, scale);
      return t1;
    },
    $index(_, i) {
      return this._v4storage[i];
    },
    $indexSet(_, i, v) {
      this._v4storage[i] = v;
    },
    get$length(_) {
      var t1 = this._v4storage,
        t2 = t1[0],
        t3 = t1[1],
        t4 = t1[2];
      t1 = t1[3];
      return Math.sqrt(t2 * t2 + t3 * t3 + t4 * t4 + t1 * t1);
    },
    scale$1(_, arg) {
      var t1 = this._v4storage;
      t1[0] = t1[0] * arg;
      t1[1] = t1[1] * arg;
      t1[2] = t1[2] * arg;
      t1[3] = t1[3] * arg;
    }
  };
  A.SocketStatistic.prototype = {};
  A.SocketProfile.prototype = {
    get$type(_) {
      return "SocketProfile";
    }
  };
  A._State.prototype = {
    get$type(_) {
      return this._dart_io_extensions$_type;
    }
  };
  A.HttpTimelineLoggingState.prototype = {
    get$type(_) {
      return "HttpTimelineLoggingState";
    }
  };
  A.HttpProfile.prototype = {
    get$type(_) {
      return "HttpProfile";
    },
    toString$0(_) {
      return "[HttpProfile]";
    }
  };
  A.HttpProfile$_fromJson_closure.prototype = {
    call$1(e) {
      return A.HttpProfileRequest$_fromJson(e);
    },
    $signature: 1090
  };
  A.HttpProfileRequestRef.prototype = {
    get$isResponseComplete() {
      var t1 = this.response;
      t1 = t1 == null ? null : t1.endTime != null;
      return t1 === true;
    }
  };
  A.HttpProfileRequest.prototype = {};
  A.HttpProfileRequestData.prototype = {
    _returnIfNoError$1$1(field) {
      var t1 = this.error;
      if (t1 != null)
        throw A.wrapException(new A.HttpProfileRequestError(t1, A.StackTrace_current()));
      field.toString;
      return field;
    },
    _returnIfNoError$1(field) {
      return this._returnIfNoError$1$1(field, type$.dynamic);
    }
  };
  A.HttpProfileRequestData$_fromJson_closure.prototype = {
    call$1(e) {
      var t1 = J.getInterceptor$asx(e),
        t2 = t1.$index(e, "timestamp"),
        t3 = t1.$index(e, "event");
      t1.$index(e, "arguments");
      return new A.HttpProfileRequestEvent(t3, t2);
    },
    $signature: 1091
  };
  A.HttpProfileRequestError.prototype = {
    toString$0(_) {
      return "HttpProfileRequestError: " + this.error + ".";
    },
    $isError0: 1,
    get$stackTrace() {
      return this.stackTrace;
    }
  };
  A.HttpProfileRequestEvent.prototype = {};
  A.HttpProfileResponseData.prototype = {};
  A.SocketProfilingState.prototype = {};
  A.SpawnedProcessRef.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.SpawnedProcess.prototype = {
    get$type(_) {
      return "SpawnedProcess";
    },
    $isSpawnedProcessRef: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.SpawnedProcessList.prototype = {
    get$type(_) {
      return "SpawnedProcessList";
    }
  };
  A.OpenFileRef.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.OpenFile.prototype = {
    get$type(_) {
      return "OpenFile";
    },
    $isOpenFileRef: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.OpenFileList.prototype = {
    get$type(_) {
      return "OpenFileList";
    }
  };
  A._ReadStream.prototype = {
    readByte$0() {
      var t1, t2, t3, t4, _this = this;
      for (t1 = _this._chunks; t2 = _this._byteIndex, t3 = _this._chunkIndex, t4 = t1[t3], t2 >= t4.byteLength;) {
        _this._chunkIndex = t3 + 1;
        _this._byteIndex = 0;
      }
      _this._byteIndex = t2 + 1;
      return t4.getUint8(t2);
    },
    readUnsigned$0() {
      var result, shift, part;
      for (result = 0, shift = 0; true;) {
        part = this.readByte$0();
        result = (result | B.JSInt_methods._shlPositive$1(part & 127, shift)) >>> 0;
        if ((part & 128) === 0)
          break;
        shift += 7;
      }
      return result;
    },
    readFloat64$0() {
      var i,
        bytes = new Uint8Array(8);
      for (i = 0; i < 8; ++i)
        bytes[i] = this.readByte$0();
      return A.NativeFloat64List_NativeFloat64List$view(bytes.buffer, 0, null)[0];
    },
    readUtf8$0() {
      var i,
        len = this.readUnsigned$0(),
        bytes = new Uint8Array(len);
      for (i = 0; i < len; ++i)
        bytes[i] = this.readByte$0();
      return new A.Utf8Codec(true).decode$1(0, bytes);
    },
    readLatin1$0() {
      var i,
        len = this.readUnsigned$0(),
        codeUnits = new Uint8Array(len);
      for (i = 0; i < len; ++i)
        codeUnits[i] = this.readByte$0();
      return A.String_String$fromCharCodes(codeUnits, 0, null);
    },
    readUtf16$0() {
      var i,
        len = this.readUnsigned$0(),
        codeUnits = new Uint16Array(len);
      for (i = 0; i < len; ++i)
        codeUnits[i] = (this.readByte$0() | this.readByte$0() << 8) >>> 0;
      return A.String_String$fromCharCodes(codeUnits, 0, null);
    }
  };
  A.HeapSnapshotField.prototype = {
    get$name(_) {
      return this._snapshot_graph$_name;
    }
  };
  A.HeapSnapshotClass.prototype = {
    get$name(_) {
      return this._snapshot_graph$_name;
    },
    get$libraryName() {
      return this._libraryName;
    },
    _populateFields$1(reader) {
      var t1, i, t2,
        fieldCount = reader.readUnsigned$0();
      for (t1 = this._snapshot_graph$_fields, i = 0; i < fieldCount; ++i) {
        t2 = new A.HeapSnapshotField();
        reader.readUnsigned$0();
        t2._snapshot_graph$_index = reader.readUnsigned$0();
        t2._snapshot_graph$_name = reader.readUtf8$0();
        reader.readUtf8$0();
        t1.push(t2);
      }
    }
  };
  A.HeapSnapshotObject.prototype = {
    _populateReferences$1(reader) {
      var t1, t2, i, childOid, t3, t4,
        referencesCount = reader.readUnsigned$0();
      for (t1 = this._snapshot_graph$_references, t2 = this._graph, i = 0; i < referencesCount; ++i) {
        childOid = reader.readUnsigned$0();
        t1.push(childOid);
        t3 = t2.__HeapSnapshotGraph__successors;
        if (t3 === $)
          A.throwUnnamedLateFieldNI();
        t4 = t2._eid;
        t3[t4] = childOid;
        t2._eid = t4 + 1;
      }
    }
  };
  A.HeapSnapshotExternalProperty.prototype = {
    get$name(receiver) {
      return this.name;
    }
  };
  A.HeapSnapshotGraph.prototype = {
    get$name(_) {
      return this._snapshot_graph$_name;
    },
    HeapSnapshotGraph$fromChunks$1(chunks) {
      var i, _this = this,
        reader = new A._ReadStream(chunks);
      for (i = 0; i < 8; ++i)
        reader.readByte$0();
      reader.readUnsigned$0();
      _this._snapshot_graph$_name = reader.readUtf8$0();
      _this._shallowSize = reader.readUnsigned$0();
      reader.readUnsigned$0();
      _this._externalSize = reader.readUnsigned$0();
      _this._populateClasses$1(reader);
      _this._populateObjects$1(reader);
      _this._populateExternalProperties$1(reader);
      _this._populateIdentityHashCodes$1(reader);
    },
    _populateClasses$1(reader) {
      var i, klass, _null = null,
        classCount = reader.readUnsigned$0(),
        t1 = this._classes,
        t2 = type$.JSArray_HeapSnapshotField,
        t3 = A._setArrayType([], t2);
      t1.push(new A.HeapSnapshotClass("Root", A._Uri__Uri(_null, _null, _null, _null, _null, _null, _null, _null, _null), t3));
      for (i = 1; i <= classCount; ++i) {
        klass = new A.HeapSnapshotClass("", $, A._setArrayType([], t2));
        reader.readUnsigned$0();
        klass._snapshot_graph$_name = reader.readUtf8$0();
        klass._libraryName = reader.readUtf8$0();
        klass.__HeapSnapshotClass__libraryUri = A.Uri_parse(reader.readUtf8$0(), 0, _null);
        reader.readUtf8$0();
        klass._populateFields$1(reader);
        t1.push(klass);
      }
    },
    _populateObjects$1(reader) {
      var objectCount, t1, t2, t3, t4, i, _this = this;
      _this._referenceCount = reader.readUnsigned$0();
      objectCount = reader.readUnsigned$0();
      _this.__HeapSnapshotGraph__firstSuccessors = _this._newUint32Array$1(objectCount + 2);
      _this.__HeapSnapshotGraph__successors = _this._newUint32Array$1(_this._referenceCount);
      t1 = _this._objects;
      t2 = type$.JSArray_int;
      t3 = A._setArrayType([], t2);
      t4 = _this.__HeapSnapshotGraph__firstSuccessors;
      if (t4 === $)
        A.throwUnnamedLateFieldNI();
      t4[0] = _this._eid;
      t1.push(new A.HeapSnapshotObject(_this, 0, new A.HeapSnapshotObjectNoData(), t3));
      for (i = 1; i <= objectCount; ++i) {
        t3 = new A.HeapSnapshotObject(_this, i, $, A._setArrayType([], t2));
        t3._classId = reader.readUnsigned$0();
        t3._shallowSize = reader.readUnsigned$0();
        t3.__HeapSnapshotObject__data = A._getNonReferenceData(reader);
        t4 = _this.__HeapSnapshotGraph__firstSuccessors;
        if (t4 === $)
          A.throwUnnamedLateFieldNI();
        t4[i] = _this._eid;
        t3._populateReferences$1(reader);
        t1.push(t3);
      }
      t1 = _this.__HeapSnapshotGraph__firstSuccessors;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1[objectCount + 1] = _this._eid;
    },
    _populateExternalProperties$1(reader) {
      var t1, i,
        propertiesCount = reader.readUnsigned$0();
      for (t1 = this._externalProperties, i = 0; i < propertiesCount; ++i)
        t1.push(new A.HeapSnapshotExternalProperty(reader.readUnsigned$0(), reader.readUnsigned$0(), reader.readUtf8$0()));
    },
    _populateIdentityHashCodes$1(reader) {
      var objectCount, i,
        t1 = reader._byteIndex,
        t2 = reader._chunks,
        t3 = reader._chunkIndex;
      if (t1 >= t2[t3].byteLength && t3 + 1 >= t2.length)
        return;
      objectCount = this._objects.length;
      for (i = 1; i < objectCount; ++i)
        reader.readUnsigned$0();
    },
    _newUint32Array$1(size) {
      var t1, exception;
      try {
        t1 = new Uint32Array(size);
        return t1;
      } catch (exception) {
        if (A.unwrapException(exception) instanceof A.ArgumentError)
          throw A.wrapException(A.Exception_Exception("OutOfMemoryError: Not enough memory available to analyze the snapshot."));
        else
          throw exception;
      }
    }
  };
  A.HeapSnapshotGraph_getSnapshot_closure.prototype = {
    call$1(e) {
      return this.$call$body$HeapSnapshotGraph_getSnapshot_closure(e);
    },
    $call$body$HeapSnapshotGraph_getSnapshot_closure(e) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1, t2;
      var $async$call$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.chunks;
              t2 = e.data;
              t2.toString;
              t1.push(t2);
              t2 = e.last;
              t2.toString;
              $async$goto = t2 ? 2 : 3;
              break;
            case 2:
              // then
              t2 = type$.dynamic;
              $async$goto = 4;
              return A._asyncAwait($async$self.service._call$1$2(0, "streamCancel", A.LinkedHashMap_LinkedHashMap$_literal(["streamId", "HeapSnapshot"], t2, t2), type$.Success), $async$call$1);
            case 4:
              // returning from await.
              $async$goto = 5;
              return A._asyncAwait(J.cancel$0$z($async$self.streamSubscription._readLocal$0()), $async$call$1);
            case 5:
              // returning from await.
              t2 = new A.HeapSnapshotGraph(A._setArrayType([], type$.JSArray_HeapSnapshotClass), A._setArrayType([], type$.JSArray_HeapSnapshotObject), A._setArrayType([], type$.JSArray_HeapSnapshotExternalProperty));
              t2.HeapSnapshotGraph$fromChunks$1(t1);
              $async$self.completer.complete$1(0, t2);
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$call$1, $async$completer);
    },
    $signature: 88
  };
  A.HeapSnapshotObjectNoData.prototype = {};
  A.HeapSnapshotObjectNullData.prototype = {};
  A.HeapSnapshotObjectLengthData.prototype = {
    get$length(receiver) {
      return this.length;
    }
  };
  A.createServiceObject_closure.prototype = {
    call$1(e) {
      return A.createServiceObject(e, this.expectedTypes);
    },
    $signature: 299
  };
  A._createSpecificObject_closure.prototype = {
    call$1(e) {
      return this.creator.call$1(e);
    },
    $signature: 43
  };
  A._OutstandingRequest.prototype = {};
  A.VmService.prototype = {
    get$_writeMessage() {
      var t1 = this.__VmService__writeMessage;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return t1;
    },
    _getEventController$1(eventName) {
      var t1 = this._eventControllers,
        controller = t1.$index(0, eventName);
      if (controller == null) {
        controller = A.StreamController_StreamController$broadcast(false, type$.Event_2);
        t1.$indexSet(0, eventName, controller);
      }
      return controller;
    },
    VmService$5$disposeHandler$log$streamClosed(inStream, writeMessage, disposeHandler, log, streamClosed) {
      var _this = this,
        t1 = inStream.listen$2$onDone(_this.get$_processMessage(), new A.VmService_closure(_this));
      if (_this.__VmService__streamSub !== $)
        A.throwUnnamedLateFieldAI();
      _this.__VmService__streamSub = t1;
      if (_this.__VmService__writeMessage !== $)
        A.throwUnnamedLateFieldAI();
      _this.__VmService__writeMessage = writeMessage;
      if (_this.__VmService__log !== $)
        A.throwUnnamedLateFieldAI();
      _this.__VmService__log = new A._NullLog();
      if (_this.__VmService__disposeHandler !== $)
        A.throwUnnamedLateFieldAI();
      _this.__VmService__disposeHandler = disposeHandler;
    },
    addBreakpoint$4$column(isolateId, scriptId, line, column) {
      var t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1.$indexSet(0, "isolateId", isolateId);
      t1.$indexSet(0, "scriptId", scriptId);
      t1.$indexSet(0, "line", line);
      return this._call$1$2(0, "addBreakpoint", t1, type$.Breakpoint);
    },
    resume$3$frameIndex$step(_, isolateId, frameIndex, step) {
      var t1 = type$.dynamic;
      t1 = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
      t1.$indexSet(0, "isolateId", isolateId);
      if (step != null)
        t1.$indexSet(0, "step", step);
      return this._call$1$2(0, "resume", t1, type$.Success);
    },
    callServiceExtension$3$args$isolateId(method, args, isolateId) {
      var t2,
        t1 = args == null;
      if (t1 && isolateId == null)
        return this._call$1$1(0, method, type$.Response);
      else {
        t2 = type$.dynamic;
        if (t1) {
          isolateId.toString;
          return this._call$1$2(0, method, A.LinkedHashMap_LinkedHashMap$_literal(["isolateId", isolateId], t2, t2), type$.Response);
        } else {
          args = A.LinkedHashMap_LinkedHashMap$from(args, type$.String, t2);
          if (isolateId != null)
            args.$indexSet(0, "isolateId", isolateId);
          return this._call$1$2(0, method, args, type$.Response);
        }
      }
    },
    dispose$0() {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.void),
        $async$self = this, t1;
      var $async$dispose$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.__VmService__streamSub;
              if (t1 === $)
                A.throwUnnamedLateFieldNI();
              $async$goto = 2;
              return A._asyncAwait(t1.cancel$0(0), $async$dispose$0);
            case 2:
              // returning from await.
              t1 = $async$self._outstandingRequests;
              t1.forEach$1(0, new A.VmService_dispose_closure());
              t1.clear$0(0);
              if ($async$self.__VmService__disposeHandler === $)
                A.throwUnnamedLateFieldNI();
              t1 = $async$self._onDoneCompleter;
              if ((t1.future._state & 30) === 0)
                t1.complete$0(0);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$dispose$0, $async$completer);
    },
    _call$1$2(_, method, args, $T) {
      return this._call$body$VmService(0, method, args, $T, $T);
    },
    _call$1$1($receiver, method, $T) {
      return this._call$1$2($receiver, method, B.Map_empty7, $T);
    },
    _call$body$VmService(_, method, args, $T, $async$type) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter($async$type),
        $async$returnValue, $async$self = this, t2, t3, message, t1, $async$temp1;
      var $async$_call$1$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 = $._OutstandingRequest__idCounter;
              $._OutstandingRequest__idCounter = t1 + 1;
              t1 = "" + t1;
              t2 = A.StackTrace_current();
              t3 = new A._Future($.Zone__current, type$._Future_dynamic);
              $async$self._outstandingRequests.$indexSet(0, t1, new A._OutstandingRequest(t1, method, t2, new A._AsyncCompleter(t3, type$._AsyncCompleter_dynamic), type$._OutstandingRequest_dynamic));
              t2 = type$.dynamic;
              message = B.C_JsonCodec.encode$2$toEncodable(A.LinkedHashMap_LinkedHashMap$_literal(["jsonrpc", "2.0", "id", t1, "method", method, "params", args], t2, t2), null);
              $async$self._onSend.add$1(0, message);
              $async$self._writeMessage$1(message);
              $async$temp1 = $T;
              $async$goto = 3;
              return A._asyncAwait(t3, $async$_call$1$2);
            case 3:
              // returning from await.
              $async$returnValue = $async$temp1._as($async$result);
              // goto return
              $async$goto = 1;
              break;
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
          }
      });
      return A._asyncStartSync($async$_call$1$2, $async$completer);
    },
    _processMessage$1(message) {
      var _this = this;
      if (typeof message == "string")
        _this._processMessageStr$1(message);
      else if (type$.List_int._is(message))
        _this._processMessageByteData$1(A.NativeByteData_NativeByteData$view(new Uint8Array(A._ensureNativeList(message)).buffer, 0, null));
      else if (type$.ByteData._is(message))
        _this._processMessageByteData$1(message);
      else {
        if (_this.__VmService__log === $)
          A.throwUnnamedLateFieldNI();
        J.get$runtimeType$(message).toString$0(0);
      }
    },
    _processMessageByteData$1(bytes) {
      var t2, streamId, $event,
        dataOffset = bytes.getUint32(0, true),
        t1 = bytes.byteLength,
        meta = B.Utf8Codec_false.decode$1(0, A.NativeUint8List_NativeUint8List$view(bytes.buffer, bytes.byteOffset + 4, dataOffset - 4)),
        data = A.NativeByteData_NativeByteData$view(bytes.buffer, bytes.byteOffset + dataOffset, t1 - dataOffset);
      t1 = B.C_JsonCodec.decode$2$reviver(0, meta, null);
      t1.toString;
      t2 = J.getInterceptor$asx(t1);
      if (J.$eq$(t2.$index(t1, "method"), "streamNotify")) {
        streamId = J.$index$asx(t2.$index(t1, "params"), "streamId");
        $event = J.$index$asx(t2.$index(t1, "params"), "event");
        J.$indexSet$ax($event, "data", data);
        t1 = this._getEventController$1(streamId);
        t2 = A.createServiceObject($event, B.List_Event);
        t2.toString;
        t1.add$1(0, type$.Event_2._as(t2));
      }
    },
    _processMessageStr$1(message) {
      var e, s, t1, exception, t2, request, t3, t4, t5, result, type, returnTypes, _this = this, _s5_ = "error",
        json = A._Cell$named("json");
      try {
        _this._onReceive.add$1(0, message);
        t1 = B.C_JsonCodec.decode$2$reviver(0, message, null);
        t1.toString;
        json.__late_helper$_value = t1;
      } catch (exception) {
        e = A.unwrapException(exception);
        s = A.getTraceFromException(exception);
        if (_this.__VmService__log === $)
          A.throwUnnamedLateFieldNI();
        A.S(e);
        A.S(s);
        return;
      }
      if (J.containsKey$1$x(json._readLocal$0(), "method"))
        if (J.containsKey$1$x(json._readLocal$0(), "id"))
          _this._processRequest$1(json._readLocal$0());
        else
          _this._processNotification$1(json._readLocal$0());
      else {
        if (J.containsKey$1$x(json._readLocal$0(), "id"))
          t1 = J.containsKey$1$x(json._readLocal$0(), "result") || J.containsKey$1$x(json._readLocal$0(), _s5_);
        else
          t1 = false;
        if (t1) {
          t1 = json._readLocal$0();
          t2 = J.getInterceptor$asx(t1);
          request = _this._outstandingRequests.remove$1(0, t2.$index(t1, "id"));
          if (request == null) {
            if (_this.__VmService__log === $)
              A.throwUnnamedLateFieldNI();
            B.C_JsonCodec.encode$2$toEncodable(t1, null);
          } else if (t2.$index(t1, _s5_) != null) {
            t3 = request.method;
            t1 = t2.$index(t1, _s5_);
            t2 = J.getInterceptor$asx(t1);
            t4 = t2.$index(t1, "code");
            t5 = t2.$index(t1, "message");
            t1 = t2.$index(t1, "data");
            request._vm_service$_completer.completeError$2(new A.RPCError(t3, t4, t5, t1), request._vm_service$_stackTrace);
          } else {
            result = type$.Map_String_dynamic._as(t2.$index(t1, "result"));
            type = J.$index$asx(result, "type");
            if (type === "Sentinel") {
              t1 = request.method;
              t2 = A.Sentinel$_fromJson(result);
              request._vm_service$_completer.completeError$2(new A.SentinelException(t1, t2), request._vm_service$_stackTrace);
            } else if ($.$get$_typeFactories().$index(0, type) == null)
              request._vm_service$_completer.complete$1(0, new A.Response(result));
            else {
              returnTypes = $.$get$_methodReturnTypes().$index(0, request.method);
              t1 = A.createServiceObject(result, returnTypes == null ? A._setArrayType([], type$.JSArray_String) : returnTypes);
              request._vm_service$_completer.complete$1(0, t1);
            }
          }
        } else if (_this.__VmService__log === $)
          A.throwUnnamedLateFieldNI();
      }
    },
    _processRequest$1(json) {
      return this._processRequest$body$VmService(json);
    },
    _processRequest$body$VmService(json) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, message, t1, t2, t3, m;
      var $async$_processRequest$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 = J.getInterceptor$asx(json);
              t2 = t1.$index(json, "method");
              t3 = t1.$index(json, "params");
              $async$goto = 2;
              return A._asyncAwait($async$self._routeRequest$2(t2, t3 == null ? A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic) : t3), $async$_processRequest$1);
            case 2:
              // returning from await.
              m = $async$result;
              t2 = J.getInterceptor$ax(m);
              t2.$indexSet(m, "id", t1.$index(json, "id"));
              t2.$indexSet(m, "jsonrpc", "2.0");
              message = B.C_JsonCodec.encode$2$toEncodable(m, null);
              $async$self._onSend.add$1(0, message);
              $async$self._writeMessage$1(message);
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_processRequest$1, $async$completer);
    },
    _processNotification$1(json) {
      return this._processNotification$body$VmService(json);
    },
    _processNotification$body$VmService(json) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.dynamic),
        $async$self = this, t2, t1, method, params;
      var $async$_processNotification$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 = J.getInterceptor$asx(json);
              method = t1.$index(json, "method");
              params = t1.$index(json, "params");
              if (params == null)
                params = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
              $async$goto = method === "streamNotify" ? 2 : 4;
              break;
            case 2:
              // then
              t1 = J.getInterceptor$asx(params);
              t2 = $async$self._getEventController$1(t1.$index(params, "streamId"));
              t1 = A.createServiceObject(t1.$index(params, "event"), B.List_Event);
              t1.toString;
              t2.add$1(0, type$.Event_2._as(t1));
              // goto join
              $async$goto = 3;
              break;
            case 4:
              // else
              $async$goto = 5;
              return A._asyncAwait($async$self._routeRequest$2(method, params), $async$_processNotification$1);
            case 5:
              // returning from await.
            case 3:
              // join
              // implicit return
              return A._asyncReturn(null, $async$completer);
          }
      });
      return A._asyncStartSync($async$_processNotification$1, $async$completer);
    },
    _routeRequest$2(method, params) {
      return this._routeRequest$body$VmService(method, params);
    },
    _routeRequest$body$VmService(method, params) {
      var $async$goto = 0,
        $async$completer = A._makeAsyncAwaitCompleter(type$.Map_dynamic_dynamic),
        $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, e, st, error, t1, exception, service, $async$exception;
      var $async$_routeRequest$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
              service = $async$self._services.$index(0, method);
              if (service == null) {
                t1 = type$.dynamic;
                $async$returnValue = A.LinkedHashMap_LinkedHashMap$_literal(["error", new A.RPCError(method, -32601, "method not found '" + method + "'", null).toMap$0()], t1, t1);
                // goto return
                $async$goto = 1;
                break;
              }
              $async$handler = 4;
              $async$goto = 7;
              return A._asyncAwait(service.call$1(params), $async$_routeRequest$2);
            case 7:
              // returning from await.
              t1 = $async$result;
              $async$returnValue = t1;
              // goto return
              $async$goto = 1;
              break;
              $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);
              st = A.getTraceFromException($async$exception);
              error = A.RPCError$withDetails(method, -32000, A.S(e), A.S(st));
              t1 = type$.dynamic;
              t1 = A.LinkedHashMap_LinkedHashMap$_literal(["error", error.toMap$0()], t1, t1);
              $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
            case 1:
              // return
              return A._asyncReturn($async$returnValue, $async$completer);
            case 2:
              // rethrow
              return A._asyncRethrow($async$currentError, $async$completer);
          }
      });
      return A._asyncStartSync($async$_routeRequest$2, $async$completer);
    },
    _writeMessage$1(arg0) {
      return this.get$_writeMessage().call$1(arg0);
    }
  };
  A.VmService_closure.prototype = {
    call$0() {
      return this.$this._onDoneCompleter.complete$0(0);
    },
    $signature: 0
  };
  A.VmService_dispose_closure.prototype = {
    call$2(id, request) {
      request._vm_service$_completer.completeError$1(new A.RPCError(request.method, -32000, "Service connection disposed", null));
    },
    $signature: 1093
  };
  A.RPCError.prototype = {
    get$details(_) {
      var t1 = this.data;
      return t1 == null ? null : J.$index$asx(t1, "details");
    },
    toMap$0() {
      var map = A.LinkedHashMap_LinkedHashMap$_literal(["code", this.code, "message", this.message], type$.String, type$.dynamic),
        t1 = this.data;
      if (t1 != null)
        map.$indexSet(0, "data", t1);
      return map;
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.message,
        t2 = _this.callingMethod + ": (",
        t3 = "" + _this.code;
      if (_this.get$details(_this) == null)
        return t2 + t3 + ") " + t1;
      else
        return t2 + t3 + ") " + t1 + "\n" + A.S(_this.get$details(_this));
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.SentinelException.prototype = {
    toString$0(_) {
      return this.sentinel.toString$0(0) + " from " + this.callingMethod + "()";
    },
    $isException: 1
  };
  A.ExtensionData.prototype = {
    toString$0(_) {
      return "[ExtensionData " + A.S(this.data) + "]";
    }
  };
  A._NullLog.prototype = {};
  A.AllocationProfile.prototype = {
    get$type(_) {
      return "AllocationProfile";
    },
    toJson$0() {
      var t3, t4, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "AllocationProfile");
      t3 = _this.members;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.AllocationProfile_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = _this.memoryUsage;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["members", t3, "memoryUsage", t4 == null ? null : t4.toJson$0()], t1, t2));
      A._setIfNotNull(json, "dateLastAccumulatorReset", _this.dateLastAccumulatorReset);
      A._setIfNotNull(json, "dateLastServiceGC", _this.dateLastServiceGC);
      return json;
    },
    toString$0(_) {
      return "[AllocationProfile members: " + A.S(this.members) + ", memoryUsage: " + A.S(this.memoryUsage) + "]";
    }
  };
  A.AllocationProfile_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1094
  };
  A.BoundField.prototype = {
    toJson$0() {
      var t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.decl;
      t3 = t3 == null ? null : t3.toJson$0();
      t4 = this.value;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["decl", t3, "value", t4 == null ? null : t4.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[BoundField decl: " + A.S(this.decl) + ", value: " + A.S(this.value) + "]";
    }
  };
  A.BoundVariable.prototype = {
    get$type(_) {
      return "BoundVariable";
    },
    toJson$0() {
      var t3, t4, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "BoundVariable");
      t3 = _this.name;
      t4 = _this.value;
      t4 = t4 == null ? null : t4.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t3, "value", t4, "declarationTokenPos", _this.declarationTokenPos, "scopeStartTokenPos", _this.scopeStartTokenPos, "scopeEndTokenPos", _this.scopeEndTokenPos], t1, t2));
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[BoundVariable name: " + A.S(_this.name) + ", value: " + A.S(_this.value) + ", declarationTokenPos: " + A.S(_this.declarationTokenPos) + ", scopeStartTokenPos: " + A.S(_this.scopeStartTokenPos) + ", scopeEndTokenPos: " + A.S(_this.scopeEndTokenPos) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.Breakpoint.prototype = {
    get$type(_) {
      return "Breakpoint";
    },
    toJson$0() {
      var t1, t2, t3, t4, _this = this,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Breakpoint");
      t1 = _this.breakpointNumber;
      t2 = _this.enabled;
      t3 = _this.resolved;
      t4 = _this.location;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["breakpointNumber", t1, "enabled", t2, "resolved", t3, "location", t4 == null ? null : t4.toJson$0()], type$.String, type$.dynamic));
      A._setIfNotNull(json, "isSyntheticAsyncContinuation", _this.isSyntheticAsyncContinuation);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Breakpoint && this.id == other.id;
    },
    toString$0(_) {
      var _this = this;
      return "[Breakpoint id: " + A.S(_this.id) + ", breakpointNumber: " + A.S(_this.breakpointNumber) + ", enabled: " + A.S(_this.enabled) + ", resolved: " + A.S(_this.resolved) + ", location: " + A.S(_this.location) + "]";
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.ClassRef.prototype = {
    get$type(_) {
      return "@Class";
    },
    toJson$0() {
      var t1, t2, _this = this,
        json = _this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Class");
      t1 = _this.name;
      t2 = _this.library;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "library", t2 == null ? null : t2.toJson$0()], type$.String, type$.dynamic));
      t1 = _this.location;
      A._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
      t1 = _this.typeParameters;
      if (t1 == null)
        t1 = null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.ClassRef_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "typeParameters", t1);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.ClassRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[ClassRef id: " + A.S(this.id) + ", name: " + A.S(this.name) + ", library: " + A.S(this.library) + "]";
    },
    get$name(receiver) {
      return this.name;
    },
    get$location(receiver) {
      return this.location;
    },
    get$library() {
      return this.library;
    },
    get$typeParameters() {
      return this.typeParameters;
    }
  };
  A.ClassRef_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.Class.prototype = {
    get$type(_) {
      return "Class";
    },
    toJson$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Class");
      t1 = _this.name;
      t2 = _this.library;
      t2 = t2 == null ? _null : t2.toJson$0();
      t3 = _this.isAbstract;
      t4 = _this.isConst;
      t5 = _this.traceAllocations;
      t6 = _this.interfaces;
      if (t6 == null)
        t6 = _null;
      else {
        t7 = A._arrayInstanceType(t6)._eval$1("MappedListIterable<1,Map<String,@>>");
        t7 = A.List_List$of(new A.MappedListIterable(t6, new A.Class_toJson_closure(), t7), true, t7._eval$1("ListIterable.E"));
        t6 = t7;
      }
      t7 = _this.fields;
      if (t7 == null)
        t7 = _null;
      else {
        t7 = J.map$1$1$ax(t7, new A.Class_toJson_closure0(), type$.Map_String_dynamic);
        t7 = A.List_List$of(t7, true, t7.$ti._eval$1("ListIterable.E"));
      }
      t8 = _this.functions;
      if (t8 == null)
        t8 = _null;
      else {
        t8 = J.map$1$1$ax(t8, new A.Class_toJson_closure1(), type$.Map_String_dynamic);
        t8 = A.List_List$of(t8, true, t8.$ti._eval$1("ListIterable.E"));
      }
      t9 = _this.subclasses;
      if (t9 == null)
        t9 = _null;
      else {
        t10 = A._arrayInstanceType(t9)._eval$1("MappedListIterable<1,Map<String,@>>");
        t10 = A.List_List$of(new A.MappedListIterable(t9, new A.Class_toJson_closure2(), t10), true, t10._eval$1("ListIterable.E"));
        t9 = t10;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "library", t2, "abstract", t3, "const", t4, "traceAllocations", t5, "interfaces", t6, "fields", t7, "functions", t8, "subclasses", t9], type$.String, type$.dynamic));
      t9 = _this.location;
      A._setIfNotNull(json, "location", t9 == null ? _null : t9.toJson$0());
      t1 = _this.typeParameters;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Class_toJson_closure3(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "typeParameters", t1);
      t1 = _this.error;
      A._setIfNotNull(json, "error", t1 == null ? _null : t1.toJson$0());
      t1 = _this.superClass;
      A._setIfNotNull(json, "super", t1 == null ? _null : t1.toJson$0());
      t1 = _this.superType;
      A._setIfNotNull(json, "superType", t1 == null ? _null : t1.toJson$0());
      t1 = _this.mixin;
      A._setIfNotNull(json, "mixin", t1 == null ? _null : t1.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Class && this.id == other.id;
    },
    toString$0(_) {
      return "[Class]";
    },
    $isClassRef: 1,
    get$name(receiver) {
      return this.name;
    },
    get$location(receiver) {
      return this.location;
    },
    get$library() {
      return this.library;
    },
    get$typeParameters() {
      return this.typeParameters;
    }
  };
  A.Class_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.Class_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 290
  };
  A.Class_toJson_closure1.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 289
  };
  A.Class_toJson_closure2.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 195
  };
  A.Class_toJson_closure3.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.ClassHeapStats.prototype = {
    get$type(_) {
      return "ClassHeapStats";
    },
    toJson$0() {
      var t3, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ClassHeapStats");
      t3 = _this.classRef;
      t3 = t3 == null ? null : t3.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["class", t3, "accumulatedSize", _this.accumulatedSize, "bytesCurrent", _this.bytesCurrent, "instancesAccumulated", _this.instancesAccumulated, "instancesCurrent", _this.instancesCurrent], t1, t2));
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[ClassHeapStats classRef: " + A.S(_this.classRef) + ", accumulatedSize: " + A.S(_this.accumulatedSize) + ", bytesCurrent: " + A.S(_this.bytesCurrent) + ", instancesAccumulated: " + A.S(_this.instancesAccumulated) + ", instancesCurrent: " + A.S(_this.instancesCurrent) + "]";
    }
  };
  A.ClassList.prototype = {
    get$type(_) {
      return "ClassList";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ClassList");
      t3 = this.classes;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.ClassList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["classes", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[ClassList classes: " + A.S(this.classes) + "]";
    }
  };
  A.ClassList_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 195
  };
  A.CodeRef.prototype = {
    get$type(_) {
      return "@Code";
    },
    toJson$0() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Code");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "kind", this.kind], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.CodeRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[CodeRef id: " + A.S(this.id) + ", name: " + A.S(this.name) + ", kind: " + A.S(this.kind) + "]";
    },
    get$name(receiver) {
      return this.name;
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.Code.prototype = {
    get$type(_) {
      return "Code";
    },
    toJson$0() {
      var json = this.super$Obj$toJson();
      json.$indexSet(0, "type", "Code");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "kind", this.kind], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Code && this.id == other.id;
    },
    toString$0(_) {
      return "[Code id: " + A.S(this.id) + ", name: " + A.S(this.name) + ", kind: " + A.S(this.kind) + "]";
    },
    $isCodeRef: 1,
    get$name(receiver) {
      return this.name;
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.ContextRef.prototype = {
    get$type(_) {
      return "@Context";
    },
    toJson$0() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Context");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["length", this.length], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.ContextRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[ContextRef id: " + A.S(this.id) + ", length: " + A.S(this.length) + "]";
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A.Context0.prototype = {
    get$type(_) {
      return "Context";
    },
    toJson$0() {
      var t1, t2, t3, _this = this,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Context");
      t1 = _this.length;
      t2 = _this.variables;
      if (t2 == null)
        t2 = null;
      else {
        t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
        t3 = A.List_List$of(new A.MappedListIterable(t2, new A.Context_toJson_closure(), t3), true, t3._eval$1("ListIterable.E"));
        t2 = t3;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["length", t1, "variables", t2], type$.String, type$.dynamic));
      t2 = _this.parent;
      A._setIfNotNull(json, "parent", t2 == null ? null : t2.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Context0 && this.id == other.id;
    },
    toString$0(_) {
      return "[Context id: " + A.S(this.id) + ", length: " + A.S(this.length) + ", variables: " + A.S(this.variables) + "]";
    },
    $isContextRef: 1,
    get$length(receiver) {
      return this.length;
    }
  };
  A.Context_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1099
  };
  A.ContextElement.prototype = {
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.value;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["value", t3 == null ? null : t3.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[ContextElement value: " + A.S(this.value) + "]";
    }
  };
  A.CpuSamples.prototype = {
    CpuSamples$_fromJson$1(json) {
      var t3, _this = this,
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "samplePeriod");
      _this.samplePeriod = t2 == null ? -1 : t2;
      t2 = t1.$index(json, "maxStackDepth");
      _this.maxStackDepth = t2 == null ? -1 : t2;
      t2 = t1.$index(json, "sampleCount");
      _this.sampleCount = t2 == null ? -1 : t2;
      t2 = t1.$index(json, "timeSpan");
      _this.timeSpan = t2 == null ? -1 : t2;
      t2 = t1.$index(json, "timeOriginMicros");
      _this.timeOriginMicros = t2 == null ? -1 : t2;
      t2 = t1.$index(json, "timeExtentMicros");
      _this.timeExtentMicros = t2 == null ? -1 : t2;
      t2 = t1.$index(json, "pid");
      _this.pid = t2 == null ? -1 : t2;
      t2 = type$.nullable_List_dynamic;
      t3 = t2._as(A.createServiceObject(t1.$index(json, "functions"), B.List_ProfileFunction));
      if (t3 == null)
        t3 = [];
      _this.functions = A.List_List$from(t3, true, type$.ProfileFunction);
      t1 = t2._as(A.createServiceObject(t1.$index(json, "samples"), B.List_CpuSample));
      if (t1 == null)
        t1 = [];
      _this.samples = A.List_List$from(t1, true, type$.CpuSample);
    },
    get$type(_) {
      return "CpuSamples";
    },
    toJson$0() {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", _this.get$type(_this));
      t3 = _this.samplePeriod;
      t4 = _this.maxStackDepth;
      t5 = _this.sampleCount;
      t6 = _this.timeSpan;
      t7 = _this.timeOriginMicros;
      t8 = _this.timeExtentMicros;
      t9 = _this.pid;
      t10 = _this.functions;
      if (t10 == null)
        t10 = null;
      else {
        t11 = A._arrayInstanceType(t10)._eval$1("MappedListIterable<1,Map<String,@>>");
        t11 = A.List_List$of(new A.MappedListIterable(t10, new A.CpuSamples_toJson_closure(), t11), true, t11._eval$1("ListIterable.E"));
        t10 = t11;
      }
      t11 = _this.samples;
      if (t11 == null)
        t11 = null;
      else {
        t12 = A._arrayInstanceType(t11)._eval$1("MappedListIterable<1,Map<String,@>>");
        t12 = A.List_List$of(new A.MappedListIterable(t11, new A.CpuSamples_toJson_closure0(), t12), true, t12._eval$1("ListIterable.E"));
        t11 = t12;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["samplePeriod", t3, "maxStackDepth", t4, "sampleCount", t5, "timeSpan", t6, "timeOriginMicros", t7, "timeExtentMicros", t8, "pid", t9, "functions", t10, "samples", t11], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[CpuSamples]";
    }
  };
  A.CpuSamples_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1100
  };
  A.CpuSamples_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 287
  };
  A.CpuSamplesEvent.prototype = {
    toJson$0() {
      var t11, t12, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.samplePeriod,
        t4 = _this.maxStackDepth,
        t5 = _this.sampleCount,
        t6 = _this.timeSpan,
        t7 = _this.timeOriginMicros,
        t8 = _this.timeExtentMicros,
        t9 = _this.pid,
        t10 = _this.functions;
      if (t10 == null)
        t10 = null;
      else {
        t11 = A._arrayInstanceType(t10)._eval$1("MappedListIterable<1,@>");
        t11 = A.List_List$of(new A.MappedListIterable(t10, new A.CpuSamplesEvent_toJson_closure(), t11), true, t11._eval$1("ListIterable.E"));
        t10 = t11;
      }
      t11 = _this.samples;
      if (t11 == null)
        t11 = null;
      else {
        t12 = A._arrayInstanceType(t11)._eval$1("MappedListIterable<1,Map<String,@>>");
        t12 = A.List_List$of(new A.MappedListIterable(t11, new A.CpuSamplesEvent_toJson_closure0(), t12), true, t12._eval$1("ListIterable.E"));
        t11 = t12;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["samplePeriod", t3, "maxStackDepth", t4, "sampleCount", t5, "timeSpan", t6, "timeOriginMicros", t7, "timeExtentMicros", t8, "pid", t9, "functions", t10, "samples", t11], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[CpuSamplesEvent]";
    }
  };
  A.CpuSamplesEvent_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 43
  };
  A.CpuSamplesEvent_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 287
  };
  A.CpuSample.prototype = {
    toJson$0() {
      var t6, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.tid,
        t4 = _this.timestamp,
        t5 = _this.stack;
      if (t5 == null)
        t5 = null;
      else {
        t6 = A._arrayInstanceType(t5)._eval$1("MappedListIterable<1,int>");
        t6 = A.List_List$of(new A.MappedListIterable(t5, new A.CpuSample_toJson_closure(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["tid", t3, "timestamp", t4, "stack", t5], t1, t2));
      A._setIfNotNull(json, "vmTag", _this.vmTag);
      A._setIfNotNull(json, "userTag", _this.userTag);
      A._setIfNotNull(json, "truncated", _this.truncated);
      A._setIfNotNull(json, "identityHashCode", _this.identityHashCode);
      A._setIfNotNull(json, "classId", _this.classId);
      return json;
    },
    toString$0(_) {
      return "[CpuSample tid: " + A.S(this.tid) + ", timestamp: " + A.S(this.timestamp) + ", stack: " + A.S(this.stack) + "]";
    },
    get$stack() {
      return this.stack;
    }
  };
  A.CpuSample_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 32
  };
  A.ErrorRef.prototype = {
    get$type(_) {
      return "@Error";
    },
    toJson$0() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Error");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", this.kind, "message", this.message], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.ErrorRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[ErrorRef id: " + A.S(this.id) + ", kind: " + A.S(this.kind) + ", message: " + A.S(this.message) + "]";
    },
    get$kind(receiver) {
      return this.kind;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.Error.prototype = {
    get$type(_) {
      return "Error";
    },
    toJson$0() {
      var t1, _this = this,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Error");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "message", _this.message], type$.String, type$.dynamic));
      t1 = _this.exception;
      A._setIfNotNull(json, "exception", t1 == null ? null : t1.toJson$0());
      t1 = _this.stacktrace;
      A._setIfNotNull(json, "stacktrace", t1 == null ? null : t1.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Error && this.id == other.id;
    },
    toString$0(_) {
      return "[Error id: " + A.S(this.id) + ", kind: " + A.S(this.kind) + ", message: " + A.S(this.message) + "]";
    },
    $isErrorRef: 1,
    get$kind(receiver) {
      return this.kind;
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.Event.prototype = {
    get$type(_) {
      return "Event";
    },
    toJson$0() {
      var _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Event");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", _this.kind, "timestamp", _this.timestamp], t1, t2));
      t2 = _this.isolate;
      A._setIfNotNull(json, "isolate", t2 == null ? _null : t2.toJson$0());
      t1 = _this.vm;
      A._setIfNotNull(json, "vm", t1 == null ? _null : t1.toJson$0());
      t1 = _this.breakpoint;
      A._setIfNotNull(json, "breakpoint", t1 == null ? _null : t1.toJson$0());
      t1 = _this.pauseBreakpoints;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Event_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "pauseBreakpoints", t1);
      t1 = _this.topFrame;
      A._setIfNotNull(json, "topFrame", t1 == null ? _null : t1.toJson$0());
      t1 = _this.exception;
      A._setIfNotNull(json, "exception", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "bytes", _this.bytes);
      t1 = _this.inspectee;
      A._setIfNotNull(json, "inspectee", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "extensionRPC", _this.extensionRPC);
      A._setIfNotNull(json, "extensionKind", _this.extensionKind);
      t1 = _this.extensionData;
      A._setIfNotNull(json, "extensionData", t1 == null ? _null : t1.data);
      t1 = _this.timelineEvents;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Event_toJson_closure0(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "timelineEvents", t1);
      t1 = _this.updatedStreams;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Event_toJson_closure1(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "updatedStreams", t1);
      A._setIfNotNull(json, "atAsyncSuspension", _this.atAsyncSuspension);
      A._setIfNotNull(json, "status", _this.status);
      t1 = _this.logRecord;
      A._setIfNotNull(json, "logRecord", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "service", _this.service);
      A._setIfNotNull(json, "method", _this.method);
      A._setIfNotNull(json, "alias", _this.alias);
      A._setIfNotNull(json, "flag", _this.flag);
      A._setIfNotNull(json, "newValue", _this.newValue);
      A._setIfNotNull(json, "last", _this.last);
      A._setIfNotNull(json, "updatedTag", _this.updatedTag);
      A._setIfNotNull(json, "previousTag", _this.previousTag);
      t1 = _this.cpuSamples;
      A._setIfNotNull(json, "cpuSamples", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "data", _this.data);
      return json;
    },
    toString$0(_) {
      return "[Event kind: " + A.S(this.kind) + ", timestamp: " + A.S(this.timestamp) + "]";
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.Event_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 284
  };
  A.Event_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 278
  };
  A.Event_toJson_closure1.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.FieldRef.prototype = {
    get$type(_) {
      return "@Field";
    },
    toJson$0() {
      var t1, t2, t3, _this = this,
        json = _this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Field");
      t1 = _this.name;
      t2 = _this.owner;
      t2 = t2 == null ? null : t2.toJson$0();
      t3 = _this.declaredType;
      t3 = t3 == null ? null : t3.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "owner", t2, "declaredType", t3, "const", _this.isConst, "final", _this.isFinal, "static", _this.isStatic], type$.String, type$.dynamic));
      t3 = _this.location;
      A._setIfNotNull(json, "location", t3 == null ? null : t3.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.FieldRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      var _this = this;
      return "[FieldRef id: " + A.S(_this.id) + ", name: " + A.S(_this.name) + ", owner: " + A.S(_this.owner) + ", declaredType: " + A.S(_this.declaredType) + ", isConst: " + A.S(_this.isConst) + ", isFinal: " + A.S(_this.isFinal) + ", isStatic: " + A.S(_this.isStatic) + "]";
    },
    get$name(receiver) {
      return this.name;
    },
    get$owner() {
      return this.owner;
    },
    get$isFinal(receiver) {
      return this.isFinal;
    },
    get$isStatic() {
      return this.isStatic;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.Field.prototype = {
    get$type(_) {
      return "Field";
    },
    toJson$0() {
      var t1, t2, t3, _this = this, _null = null,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Field");
      t1 = _this.name;
      t2 = _this.owner;
      t2 = t2 == null ? _null : t2.toJson$0();
      t3 = _this.declaredType;
      t3 = t3 == null ? _null : t3.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "owner", t2, "declaredType", t3, "const", _this.isConst, "final", _this.isFinal, "static", _this.isStatic], type$.String, type$.dynamic));
      t3 = _this.location;
      A._setIfNotNull(json, "location", t3 == null ? _null : t3.toJson$0());
      t1 = _this.staticValue;
      A._setIfNotNull(json, "staticValue", t1 == null ? _null : t1.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Field && this.id == other.id;
    },
    toString$0(_) {
      var _this = this;
      return "[Field id: " + A.S(_this.id) + ", name: " + A.S(_this.name) + ", owner: " + A.S(_this.owner) + ", declaredType: " + A.S(_this.declaredType) + ", isConst: " + A.S(_this.isConst) + ", isFinal: " + A.S(_this.isFinal) + ", isStatic: " + A.S(_this.isStatic) + "]";
    },
    $isFieldRef: 1,
    get$name(receiver) {
      return this.name;
    },
    get$owner() {
      return this.owner;
    },
    get$isFinal(receiver) {
      return this.isFinal;
    },
    get$isStatic() {
      return this.isStatic;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.Flag.prototype = {
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", _this.name, "comment", _this.comment, "modified", _this.modified], t1, t2));
      A._setIfNotNull(json, "valueAsString", _this.valueAsString);
      return json;
    },
    toString$0(_) {
      return "[Flag name: " + A.S(this.name) + ", comment: " + A.S(this.comment) + ", modified: " + A.S(this.modified) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.FlagList.prototype = {
    get$type(_) {
      return "FlagList";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "FlagList");
      t3 = this.flags;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.FlagList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["flags", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[FlagList flags: " + A.S(this.flags) + "]";
    }
  };
  A.FlagList_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1104
  };
  A.Frame1.prototype = {
    get$type(_) {
      return "Frame";
    },
    toJson$0() {
      var _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Frame");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index], t1, t2));
      t2 = _this.$function;
      A._setIfNotNull(json, "function", t2 == null ? _null : t2.toJson$0());
      t1 = _this.code;
      A._setIfNotNull(json, "code", t1 == null ? _null : t1.toJson$0());
      t1 = _this.location;
      A._setIfNotNull(json, "location", t1 == null ? _null : t1.toJson$0());
      t1 = _this.vars;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Frame_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "vars", t1);
      A._setIfNotNull(json, "kind", _this.kind);
      return json;
    },
    toString$0(_) {
      return "[Frame index: " + A.S(this.index) + "]";
    },
    get$location(receiver) {
      return this.location;
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.Frame_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1105
  };
  A.FuncRef.prototype = {
    get$type(_) {
      return "@Function";
    },
    toJson$0() {
      var t1, t2, _this = this,
        json = _this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Function");
      t1 = _this.name;
      t2 = _this.owner;
      t2 = t2 == null ? null : t2.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "owner", t2, "static", _this.isStatic, "const", _this.isConst, "implicit", _this.implicit], type$.String, type$.dynamic));
      t2 = _this.location;
      A._setIfNotNull(json, "location", t2 == null ? null : t2.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.FuncRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      var _this = this;
      return "[FuncRef id: " + A.S(_this.id) + ", name: " + A.S(_this.name) + ", owner: " + A.S(_this.owner) + ", isStatic: " + A.S(_this.isStatic) + ", isConst: " + A.S(_this.isConst) + ", implicit: " + A.S(_this.implicit) + "]";
    },
    get$name(receiver) {
      return this.name;
    },
    get$owner() {
      return this.owner;
    },
    get$isStatic() {
      return this.isStatic;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.Func.prototype = {
    get$type(_) {
      return "Function";
    },
    toJson$0() {
      var t1, t2, t3, t4, t5, t6, _this = this, _null = null,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Function");
      t1 = _this.name;
      t2 = _this.owner;
      t2 = t2 == null ? _null : t2.toJson$0();
      t3 = _this.isStatic;
      t4 = _this.isConst;
      t5 = _this.implicit;
      t6 = _this.signature;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "owner", t2, "static", t3, "const", t4, "implicit", t5, "signature", t6 == null ? _null : t6.toJson$0()], type$.String, type$.dynamic));
      t1 = _this.location;
      A._setIfNotNull(json, "location", t1 == null ? _null : t1.toJson$0());
      t1 = _this.code;
      A._setIfNotNull(json, "code", t1 == null ? _null : t1.toJson$0());
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Func && this.id == other.id;
    },
    toString$0(_) {
      var _this = this;
      return "[Func id: " + A.S(_this.id) + ", name: " + A.S(_this.name) + ", owner: " + A.S(_this.owner) + ", isStatic: " + A.S(_this.isStatic) + ", isConst: " + A.S(_this.isConst) + ", implicit: " + A.S(_this.implicit) + ", signature: " + A.S(_this.signature) + "]";
    },
    $isFuncRef: 1,
    get$name(receiver) {
      return this.name;
    },
    get$owner() {
      return this.owner;
    },
    get$isStatic() {
      return this.isStatic;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.InstanceRef.prototype = {
    InstanceRef$_fromJson$1(json) {
      var t3, _this = this,
        _s10_ = "parameters",
        _s14_ = "typeParameters",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "kind");
      _this.kind = t2 == null ? "" : t2;
      t2 = t1.$index(json, "identityHashCode");
      _this.identityHashCode = t2 == null ? -1 : t2;
      t2 = type$.nullable_ClassRef;
      _this.classRef = t2._as(A.createServiceObject(t1.$index(json, "class"), B.List_ClassRef));
      _this.set$valueAsString(0, t1.$index(json, "valueAsString"));
      _this.valueAsStringIsTruncated = t1.$index(json, "valueAsStringIsTruncated");
      _this.length = t1.$index(json, "length");
      _this.name = t1.$index(json, "name");
      _this.typeClass = t2._as(A.createServiceObject(t1.$index(json, "typeClass"), B.List_ClassRef));
      _this.parameterizedClass = t2._as(A.createServiceObject(t1.$index(json, "parameterizedClass"), B.List_ClassRef));
      t2 = type$.nullable_InstanceRef;
      _this.returnType = t2._as(A.createServiceObject(t1.$index(json, "returnType"), B.List_InstanceRef));
      if (t1.$index(json, _s10_) == null)
        t3 = null;
      else {
        t3 = A.createServiceObject(t1.$index(json, _s10_), B.List_Parameter);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.Parameter);
      }
      _this.parameters = t3;
      if (t1.$index(json, _s14_) == null)
        t3 = null;
      else {
        t3 = A.createServiceObject(t1.$index(json, _s14_), B.List_InstanceRef);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.InstanceRef);
      }
      _this.typeParameters = t3;
      _this.pattern = t2._as(A.createServiceObject(t1.$index(json, "pattern"), B.List_InstanceRef));
      _this.closureFunction = type$.nullable_FuncRef._as(A.createServiceObject(t1.$index(json, "closureFunction"), B.List_FuncRef));
      _this.closureContext = type$.nullable_ContextRef._as(A.createServiceObject(t1.$index(json, "closureContext"), B.List_ContextRef));
      _this.portId = t1.$index(json, "portId");
      _this.allocationLocation = t2._as(A.createServiceObject(t1.$index(json, "allocationLocation"), B.List_InstanceRef));
      _this.debugName = t1.$index(json, "debugName");
    },
    get$type(_) {
      return "@Instance";
    },
    toJson$0() {
      var t1, t2, t3, _this = this, _null = null,
        json = _this.super$ObjRef$toJson();
      json.$indexSet(0, "type", _this.get$type(_this));
      t1 = _this.kind;
      t2 = _this.identityHashCode;
      t3 = _this.classRef;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", t1, "identityHashCode", t2, "class", t3 == null ? _null : t3.toJson$0()], type$.String, type$.dynamic));
      A._setIfNotNull(json, "valueAsString", _this.get$valueAsString(_this));
      A._setIfNotNull(json, "valueAsStringIsTruncated", _this.valueAsStringIsTruncated);
      A._setIfNotNull(json, "length", _this.length);
      A._setIfNotNull(json, "name", _this.name);
      t1 = _this.typeClass;
      A._setIfNotNull(json, "typeClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.parameterizedClass;
      A._setIfNotNull(json, "parameterizedClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.returnType;
      A._setIfNotNull(json, "returnType", t1 == null ? _null : t1.toJson$0());
      t1 = _this.parameters;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.InstanceRef_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "parameters", t1);
      t1 = _this.typeParameters;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.InstanceRef_toJson_closure0(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "typeParameters", t1);
      t1 = _this.pattern;
      A._setIfNotNull(json, "pattern", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureFunction;
      A._setIfNotNull(json, "closureFunction", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureContext;
      A._setIfNotNull(json, "closureContext", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "portId", _this.portId);
      t1 = _this.allocationLocation;
      A._setIfNotNull(json, "allocationLocation", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "debugName", _this.debugName);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.InstanceRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      var _this = this;
      return "[InstanceRef id: " + A.S(_this.id) + ", kind: " + A.S(_this.kind) + ", identityHashCode: " + A.S(_this.identityHashCode) + ", classRef: " + A.S(_this.classRef) + "]";
    },
    get$kind(receiver) {
      return this.kind;
    },
    get$classRef() {
      return this.classRef;
    },
    get$valueAsString(receiver) {
      return this.valueAsString;
    },
    get$valueAsStringIsTruncated() {
      return this.valueAsStringIsTruncated;
    },
    get$length(receiver) {
      return this.length;
    },
    get$name(receiver) {
      return this.name;
    },
    get$typeClass() {
      return this.typeClass;
    },
    get$returnType() {
      return this.returnType;
    },
    get$parameters(receiver) {
      return this.parameters;
    },
    get$typeParameters() {
      return this.typeParameters;
    },
    get$portId() {
      return this.portId;
    },
    get$allocationLocation() {
      return this.allocationLocation;
    },
    get$debugName() {
      return this.debugName;
    },
    set$valueAsString(receiver, val) {
      return this.valueAsString = val;
    }
  };
  A.InstanceRef_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 262
  };
  A.InstanceRef_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.Instance.prototype = {
    Instance$_fromJson$1(json) {
      var t3, _this = this, _null = null,
        _s10_ = "parameters",
        _s14_ = "typeParameters",
        _s8_ = "elements",
        _s12_ = "associations",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "kind");
      _this.kind = t2 == null ? "" : t2;
      t2 = t1.$index(json, "identityHashCode");
      _this.identityHashCode = t2 == null ? -1 : t2;
      t2 = type$.nullable_ClassRef;
      _this.Instance_classRef = t2._as(A.createServiceObject(t1.$index(json, "class"), B.List_ClassRef));
      _this.set$valueAsString(0, t1.$index(json, "valueAsString"));
      _this.valueAsStringIsTruncated = t1.$index(json, "valueAsStringIsTruncated");
      _this.length = t1.$index(json, "length");
      _this.offset = t1.$index(json, "offset");
      _this.count = t1.$index(json, "count");
      _this.name = t1.$index(json, "name");
      _this.typeClass = t2._as(A.createServiceObject(t1.$index(json, "typeClass"), B.List_ClassRef));
      _this.parameterizedClass = t2._as(A.createServiceObject(t1.$index(json, "parameterizedClass"), B.List_ClassRef));
      t2 = type$.nullable_InstanceRef;
      _this.returnType = t2._as(A.createServiceObject(t1.$index(json, "returnType"), B.List_InstanceRef));
      if (t1.$index(json, _s10_) == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t1.$index(json, _s10_), B.List_Parameter);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.Parameter);
      }
      _this.parameters = t3;
      if (t1.$index(json, _s14_) == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t1.$index(json, _s14_), B.List_InstanceRef);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.InstanceRef);
      }
      _this.typeParameters = t3;
      if (t1.$index(json, "fields") == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t1.$index(json, "fields"), B.List_BoundField);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.BoundField);
      }
      _this.fields = t3;
      if (t1.$index(json, _s8_) == null)
        t3 = _null;
      else {
        t3 = A.createServiceObject(t1.$index(json, _s8_), B.List_dynamic);
        t3.toString;
        t3 = A.List_List$from(type$.List_dynamic._as(t3), true, type$.dynamic);
      }
      _this.elements = t3;
      _this.associations = t1.$index(json, _s12_) == null ? _null : A.List_List$from(A._createSpecificObject(t1.$index(json, _s12_), A.vm_service_MapAssociation_parse$closure()), true, type$.MapAssociation);
      _this.bytes = t1.$index(json, "bytes");
      _this.mirrorReferent = t2._as(A.createServiceObject(t1.$index(json, "mirrorReferent"), B.List_InstanceRef));
      _this.pattern = t2._as(A.createServiceObject(t1.$index(json, "pattern"), B.List_InstanceRef));
      _this.closureFunction = type$.nullable_FuncRef._as(A.createServiceObject(t1.$index(json, "closureFunction"), B.List_FuncRef));
      _this.closureContext = type$.nullable_ContextRef._as(A.createServiceObject(t1.$index(json, "closureContext"), B.List_ContextRef));
      _this.isCaseSensitive = t1.$index(json, "isCaseSensitive");
      _this.isMultiLine = t1.$index(json, "isMultiLine");
      _this.propertyKey = t2._as(A.createServiceObject(t1.$index(json, "propertyKey"), B.List_InstanceRef));
      _this.propertyValue = t2._as(A.createServiceObject(t1.$index(json, "propertyValue"), B.List_InstanceRef));
      _this.typeArguments = type$.nullable_TypeArgumentsRef._as(A.createServiceObject(t1.$index(json, "typeArguments"), B.List_TypeArgumentsRef));
      _this.parameterIndex = t1.$index(json, "parameterIndex");
      _this.targetType = t2._as(A.createServiceObject(t1.$index(json, "targetType"), B.List_InstanceRef));
      _this.bound = t2._as(A.createServiceObject(t1.$index(json, "bound"), B.List_InstanceRef));
      _this.portId = t1.$index(json, "portId");
      _this.allocationLocation = t2._as(A.createServiceObject(t1.$index(json, "allocationLocation"), B.List_InstanceRef));
      _this.debugName = t1.$index(json, "debugName");
    },
    get$type(_) {
      return "Instance";
    },
    toJson$0() {
      var t1, t2, t3, _this = this, _null = null,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", _this.get$type(_this));
      t1 = _this.kind;
      t2 = _this.identityHashCode;
      t3 = _this.Instance_classRef;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", t1, "identityHashCode", t2, "class", t3 == null ? _null : t3.toJson$0()], type$.String, type$.dynamic));
      A._setIfNotNull(json, "valueAsString", _this.get$valueAsString(_this));
      A._setIfNotNull(json, "valueAsStringIsTruncated", _this.valueAsStringIsTruncated);
      A._setIfNotNull(json, "length", _this.length);
      A._setIfNotNull(json, "offset", _this.offset);
      A._setIfNotNull(json, "count", _this.count);
      A._setIfNotNull(json, "name", _this.name);
      t1 = _this.typeClass;
      A._setIfNotNull(json, "typeClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.parameterizedClass;
      A._setIfNotNull(json, "parameterizedClass", t1 == null ? _null : t1.toJson$0());
      t1 = _this.returnType;
      A._setIfNotNull(json, "returnType", t1 == null ? _null : t1.toJson$0());
      t1 = _this.parameters;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Instance_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "parameters", t1);
      t1 = _this.typeParameters;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Instance_toJson_closure0(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "typeParameters", t1);
      t1 = _this.fields;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Instance_toJson_closure1(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "fields", t1);
      t1 = _this.elements;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,@>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Instance_toJson_closure2(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "elements", t1);
      t1 = _this.associations;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Instance_toJson_closure3(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "associations", t1);
      A._setIfNotNull(json, "bytes", _this.bytes);
      t1 = _this.mirrorReferent;
      A._setIfNotNull(json, "mirrorReferent", t1 == null ? _null : t1.toJson$0());
      t1 = _this.pattern;
      A._setIfNotNull(json, "pattern", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureFunction;
      A._setIfNotNull(json, "closureFunction", t1 == null ? _null : t1.toJson$0());
      t1 = _this.closureContext;
      A._setIfNotNull(json, "closureContext", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "isCaseSensitive", _this.isCaseSensitive);
      A._setIfNotNull(json, "isMultiLine", _this.isMultiLine);
      t1 = _this.propertyKey;
      A._setIfNotNull(json, "propertyKey", t1 == null ? _null : t1.toJson$0());
      t1 = _this.propertyValue;
      A._setIfNotNull(json, "propertyValue", t1 == null ? _null : t1.toJson$0());
      t1 = _this.typeArguments;
      A._setIfNotNull(json, "typeArguments", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "parameterIndex", _this.parameterIndex);
      t1 = _this.targetType;
      A._setIfNotNull(json, "targetType", t1 == null ? _null : t1.toJson$0());
      t1 = _this.bound;
      A._setIfNotNull(json, "bound", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "portId", _this.portId);
      t1 = _this.allocationLocation;
      A._setIfNotNull(json, "allocationLocation", t1 == null ? _null : t1.toJson$0());
      A._setIfNotNull(json, "debugName", _this.debugName);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Instance && this.id == other.id;
    },
    toString$0(_) {
      var _this = this;
      return "[Instance id: " + A.S(_this.id) + ", kind: " + A.S(_this.kind) + ", identityHashCode: " + A.S(_this.identityHashCode) + ", classRef: " + A.S(_this.Instance_classRef) + "]";
    },
    $isInstanceRef: 1,
    get$kind(receiver) {
      return this.kind;
    },
    get$classRef() {
      return this.Instance_classRef;
    },
    get$valueAsString(receiver) {
      return this.valueAsString;
    },
    get$valueAsStringIsTruncated() {
      return this.valueAsStringIsTruncated;
    },
    get$length(receiver) {
      return this.length;
    },
    get$name(receiver) {
      return this.name;
    },
    get$typeClass() {
      return this.typeClass;
    },
    get$returnType() {
      return this.returnType;
    },
    get$parameters(receiver) {
      return this.parameters;
    },
    get$typeParameters() {
      return this.typeParameters;
    },
    get$portId() {
      return this.portId;
    },
    get$allocationLocation() {
      return this.allocationLocation;
    },
    get$debugName() {
      return this.debugName;
    },
    set$classRef(val) {
      return this.Instance_classRef = val;
    },
    set$valueAsString(receiver, val) {
      return this.valueAsString = val;
    }
  };
  A.Instance_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 262
  };
  A.Instance_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.Instance_toJson_closure1.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1107
  };
  A.Instance_toJson_closure2.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 43
  };
  A.Instance_toJson_closure3.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1108
  };
  A.IsolateRef.prototype = {
    get$type(_) {
      return "@Isolate";
    },
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "@Isolate");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id, "number", _this.number, "name", _this.name, "isSystemIsolate", _this.isSystemIsolate], t1, t2));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.IsolateRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      var _this = this;
      return "[IsolateRef id: " + A.S(_this.id) + ", number: " + A.S(_this.number) + ", name: " + A.S(_this.name) + ", isSystemIsolate: " + A.S(_this.isSystemIsolate) + "]";
    },
    get$id(receiver) {
      return this.id;
    },
    get$name(receiver) {
      return this.name;
    },
    get$isSystemIsolate() {
      return this.isSystemIsolate;
    }
  };
  A.Isolate.prototype = {
    get$type(_) {
      return "Isolate";
    },
    toJson$0() {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Isolate");
      t3 = _this.id;
      t4 = _this.number;
      t5 = _this.name;
      t6 = _this.isSystemIsolate;
      t7 = _this.isolateFlags;
      if (t7 == null)
        t7 = _null;
      else {
        t8 = A._arrayInstanceType(t7)._eval$1("MappedListIterable<1,Map<String,@>>");
        t8 = A.List_List$of(new A.MappedListIterable(t7, new A.Isolate_toJson_closure(), t8), true, t8._eval$1("ListIterable.E"));
        t7 = t8;
      }
      t8 = _this.startTime;
      t9 = _this.runnable;
      t10 = _this.livePorts;
      t11 = _this.pauseOnExit;
      t12 = _this.pauseEvent;
      t12 = t12 == null ? _null : t12.toJson$0();
      t13 = _this.libraries;
      if (t13 == null)
        t13 = _null;
      else {
        t14 = A._arrayInstanceType(t13)._eval$1("MappedListIterable<1,Map<String,@>>");
        t14 = A.List_List$of(new A.MappedListIterable(t13, new A.Isolate_toJson_closure0(), t14), true, t14._eval$1("ListIterable.E"));
        t13 = t14;
      }
      t14 = _this.breakpoints;
      if (t14 == null)
        t14 = _null;
      else {
        t15 = A._arrayInstanceType(t14)._eval$1("MappedListIterable<1,Map<String,@>>");
        t15 = A.List_List$of(new A.MappedListIterable(t14, new A.Isolate_toJson_closure1(), t15), true, t15._eval$1("ListIterable.E"));
        t14 = t15;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["id", t3, "number", t4, "name", t5, "isSystemIsolate", t6, "isolateFlags", t7, "startTime", t8, "runnable", t9, "livePorts", t10, "pauseOnExit", t11, "pauseEvent", t12, "libraries", t13, "breakpoints", t14, "exceptionPauseMode", _this.exceptionPauseMode], t1, t2));
      t2 = _this.rootLib;
      A._setIfNotNull(json, "rootLib", t2 == null ? _null : t2.toJson$0());
      t1 = _this.error;
      A._setIfNotNull(json, "error", t1 == null ? _null : t1.toJson$0());
      t1 = _this.extensionRPCs;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Isolate_toJson_closure2(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "extensionRPCs", t1);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Isolate && this.id == other.id;
    },
    toString$0(_) {
      return "[Isolate]";
    },
    $isIsolateRef: 1,
    get$id(receiver) {
      return this.id;
    },
    get$name(receiver) {
      return this.name;
    },
    get$isSystemIsolate() {
      return this.isSystemIsolate;
    }
  };
  A.Isolate_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1109
  };
  A.Isolate_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1110
  };
  A.Isolate_toJson_closure1.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 284
  };
  A.Isolate_toJson_closure2.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.IsolateFlag.prototype = {
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "valueAsString", this.valueAsString], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[IsolateFlag name: " + A.S(this.name) + ", valueAsString: " + A.S(this.valueAsString) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.IsolateGroupRef.prototype = {
    get$type(_) {
      return "@IsolateGroup";
    },
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "@IsolateGroup");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id, "number", _this.number, "name", _this.name, "isSystemIsolateGroup", _this.isSystemIsolateGroup], t1, t2));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.IsolateGroupRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      var _this = this;
      return "[IsolateGroupRef id: " + A.S(_this.id) + ", number: " + A.S(_this.number) + ", name: " + A.S(_this.name) + ", isSystemIsolateGroup: " + A.S(_this.isSystemIsolateGroup) + "]";
    },
    get$id(receiver) {
      return this.id;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.IsolateGroup.prototype = {
    get$type(_) {
      return "IsolateGroup";
    },
    toJson$0() {
      var t3, t4, t5, t6, t7, t8, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "IsolateGroup");
      t3 = _this.id;
      t4 = _this.number;
      t5 = _this.name;
      t6 = _this.isSystemIsolateGroup;
      t7 = _this.isolates;
      if (t7 == null)
        t7 = null;
      else {
        t8 = A._arrayInstanceType(t7)._eval$1("MappedListIterable<1,Map<String,@>>");
        t8 = A.List_List$of(new A.MappedListIterable(t7, new A.IsolateGroup_toJson_closure(), t8), true, t8._eval$1("ListIterable.E"));
        t7 = t8;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["id", t3, "number", t4, "name", t5, "isSystemIsolateGroup", t6, "isolates", t7], t1, t2));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.IsolateGroup && this.id == other.id;
    },
    toString$0(_) {
      var _this = this;
      return "[IsolateGroup id: " + A.S(_this.id) + ", number: " + A.S(_this.number) + ", name: " + A.S(_this.name) + ", isSystemIsolateGroup: " + A.S(_this.isSystemIsolateGroup) + ", isolates: " + A.S(_this.isolates) + "]";
    },
    $isIsolateGroupRef: 1,
    get$id(receiver) {
      return this.id;
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.IsolateGroup_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 196
  };
  A.InboundReferences.prototype = {
    get$type(_) {
      return "InboundReferences";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "InboundReferences");
      t3 = this.references;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.InboundReferences_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["references", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[InboundReferences references: " + A.S(this.references) + "]";
    }
  };
  A.InboundReferences_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1112
  };
  A.InboundReference.prototype = {
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.source;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["source", t3 == null ? null : t3.toJson$0()], t1, t2));
      A._setIfNotNull(json, "parentListIndex", this.parentListIndex);
      t1 = this.parentField;
      A._setIfNotNull(json, "parentField", t1 == null ? null : t1.toJson$0());
      return json;
    },
    toString$0(_) {
      return "[InboundReference source: " + A.S(this.source) + "]";
    }
  };
  A.InstanceSet.prototype = {
    get$type(_) {
      return "InstanceSet";
    },
    toJson$0() {
      var t3, t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "InstanceSet");
      t3 = this.totalCount;
      t4 = this.instances;
      if (t4 == null)
        t4 = null;
      else {
        t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = A.List_List$of(new A.MappedListIterable(t4, new A.InstanceSet_toJson_closure(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["totalCount", t3, "instances", t4], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[InstanceSet totalCount: " + A.S(this.totalCount) + ", instances: " + A.S(this.instances) + "]";
    }
  };
  A.InstanceSet_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1113
  };
  A.LibraryRef.prototype = {
    get$type(_) {
      return "@Library";
    },
    toJson$0() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Library");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name, "uri", this.uri], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.LibraryRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[LibraryRef id: " + A.S(this.id) + ", name: " + A.S(this.name) + ", uri: " + A.S(this.uri) + "]";
    },
    get$name(receiver) {
      return this.name;
    },
    get$uri() {
      return this.uri;
    }
  };
  A.Library.prototype = {
    get$type(_) {
      return "Library";
    },
    toJson$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, t9, _this = this, _null = null,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Library");
      t1 = _this.name;
      t2 = _this.uri;
      t3 = _this.debuggable;
      t4 = _this.dependencies;
      if (t4 == null)
        t4 = _null;
      else {
        t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = A.List_List$of(new A.MappedListIterable(t4, new A.Library_toJson_closure(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      t5 = _this.scripts;
      if (t5 == null)
        t5 = _null;
      else {
        t6 = A._arrayInstanceType(t5)._eval$1("MappedListIterable<1,Map<String,@>>");
        t6 = A.List_List$of(new A.MappedListIterable(t5, new A.Library_toJson_closure0(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      t6 = _this.variables;
      if (t6 == null)
        t6 = _null;
      else {
        t6 = J.map$1$1$ax(t6, new A.Library_toJson_closure1(), type$.Map_String_dynamic);
        t6 = A.List_List$of(t6, true, t6.$ti._eval$1("ListIterable.E"));
      }
      t7 = _this.functions;
      if (t7 == null)
        t7 = _null;
      else {
        t7 = J.map$1$1$ax(t7, new A.Library_toJson_closure2(), type$.Map_String_dynamic);
        t7 = A.List_List$of(t7, true, t7.$ti._eval$1("ListIterable.E"));
      }
      t8 = _this.classes;
      if (t8 == null)
        t8 = _null;
      else {
        t9 = A._arrayInstanceType(t8)._eval$1("MappedListIterable<1,Map<String,@>>");
        t9 = A.List_List$of(new A.MappedListIterable(t8, new A.Library_toJson_closure3(), t9), true, t9._eval$1("ListIterable.E"));
        t8 = t9;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "uri", t2, "debuggable", t3, "dependencies", t4, "scripts", t5, "variables", t6, "functions", t7, "classes", t8], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Library && this.id == other.id;
    },
    toString$0(_) {
      return "[Library]";
    },
    $isLibraryRef: 1,
    get$name(receiver) {
      return this.name;
    },
    get$uri() {
      return this.uri;
    }
  };
  A.Library_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1114
  };
  A.Library_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 197
  };
  A.Library_toJson_closure1.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 290
  };
  A.Library_toJson_closure2.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 289
  };
  A.Library_toJson_closure3.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 195
  };
  A.LibraryDependency.prototype = {
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.isImport,
        t4 = _this.isDeferred,
        t5 = _this.prefix,
        t6 = _this.target;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["isImport", t3, "isDeferred", t4, "prefix", t5, "target", t6 == null ? null : t6.toJson$0()], t1, t2));
      t1 = _this.shows;
      if (t1 == null)
        t1 = null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.LibraryDependency_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "shows", t1);
      t1 = _this.hides;
      if (t1 == null)
        t1 = null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.LibraryDependency_toJson_closure0(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "hides", t1);
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[LibraryDependency isImport: " + A.S(_this.isImport) + ", isDeferred: " + A.S(_this.isDeferred) + ", prefix: " + A.S(_this.prefix) + ", target: " + A.S(_this.target) + "]";
    }
  };
  A.LibraryDependency_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.LibraryDependency_toJson_closure0.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.LogRecord.prototype = {
    get$type(_) {
      return "LogRecord";
    },
    toJson$0() {
      var t3, t4, t5, t6, t7, t8, t9, t10, _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "LogRecord");
      t3 = _this.message;
      t3 = t3 == null ? _null : t3.toJson$0();
      t4 = _this.time;
      t5 = _this.level;
      t6 = _this.sequenceNumber;
      t7 = _this.loggerName;
      t7 = t7 == null ? _null : t7.toJson$0();
      t8 = _this.zone;
      t8 = t8 == null ? _null : t8.toJson$0();
      t9 = _this.error;
      t9 = t9 == null ? _null : t9.toJson$0();
      t10 = _this.stackTrace;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["message", t3, "time", t4, "level", t5, "sequenceNumber", t6, "loggerName", t7, "zone", t8, "error", t9, "stackTrace", t10 == null ? _null : t10.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[LogRecord]";
    },
    get$message(receiver) {
      return this.message;
    }
  };
  A.MapAssociation.prototype = {
    toJson$0() {
      var t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.key;
      t3 = t3 == null ? null : t3.toJson$0();
      t4 = this.value;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["key", t3, "value", t4 == null ? null : t4.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[MapAssociation key: " + A.S(this.key) + ", value: " + A.S(this.value) + "]";
    }
  };
  A.MemoryUsage.prototype = {
    get$type(_) {
      return "MemoryUsage";
    },
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "MemoryUsage");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["externalUsage", this.externalUsage, "heapCapacity", this.heapCapacity, "heapUsage", this.heapUsage], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[MemoryUsage externalUsage: " + A.S(this.externalUsage) + ", heapCapacity: " + A.S(this.heapCapacity) + ", heapUsage: " + A.S(this.heapUsage) + "]";
    }
  };
  A.Message.prototype = {
    get$type(_) {
      return "Message";
    },
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Message");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["index", _this.index, "name", _this.name, "messageObjectId", _this.messageObjectId, "size", _this.size], t1, t2));
      t2 = _this.handler;
      A._setIfNotNull(json, "handler", t2 == null ? null : t2.toJson$0());
      t1 = _this.location;
      A._setIfNotNull(json, "location", t1 == null ? null : t1.toJson$0());
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[Message index: " + A.S(_this.index) + ", name: " + A.S(_this.name) + ", messageObjectId: " + A.S(_this.messageObjectId) + ", size: " + A.S(_this.size) + "]";
    },
    get$name(receiver) {
      return this.name;
    },
    get$location(receiver) {
      return this.location;
    }
  };
  A.NativeFunction.prototype = {
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[NativeFunction name: " + A.S(this.name) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.NullValRef.prototype = {
    get$type(_) {
      return "@Null";
    },
    toJson$0() {
      var json = this.super$InstanceRef$toJson();
      json.$indexSet(0, "type", "@Null");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["valueAsString", this.NullValRef_valueAsString], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.NullValRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      var _this = this;
      return "[NullValRef id: " + A.S(_this.id) + ", kind: " + A.S(_this.kind) + ", identityHashCode: " + A.S(A.core__identityHashCode$closure()) + ", classRef: " + A.S(_this.classRef) + ", valueAsString: " + A.S(_this.NullValRef_valueAsString) + "]";
    },
    get$valueAsString(receiver) {
      return this.NullValRef_valueAsString;
    },
    set$valueAsString(receiver, val) {
      return this.NullValRef_valueAsString = val;
    }
  };
  A.NullVal.prototype = {
    get$type(_) {
      return "Null";
    },
    toJson$0() {
      var json = this.super$Instance$toJson();
      json.$indexSet(0, "type", "Null");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["valueAsString", this.NullVal_valueAsString], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.NullVal && this.id == other.id;
    },
    toString$0(_) {
      var _this = this;
      return "[NullVal id: " + A.S(_this.id) + ", kind: " + A.S(_this.kind) + ", identityHashCode: " + A.S(A.core__identityHashCode$closure()) + ", classRef: " + A.S(_this.Instance_classRef) + ", valueAsString: " + A.S(_this.NullVal_valueAsString) + "]";
    },
    $isNullValRef: 1,
    get$valueAsString(receiver) {
      return this.NullVal_valueAsString;
    },
    set$valueAsString(receiver, val) {
      return this.NullVal_valueAsString = val;
    }
  };
  A.ObjRef.prototype = {
    ObjRef$_fromJson$1(json) {
      var t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "id");
      this.id = t2 == null ? "" : t2;
      this.fixedId = t1.$index(json, "fixedId");
    },
    get$type(_) {
      return "@Object";
    },
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", _this.get$type(_this));
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id], t1, t2));
      A._setIfNotNull(json, "fixedId", _this.fixedId);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.ObjRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[ObjRef id: " + A.S(this.id) + "]";
    },
    get$id(receiver) {
      return this.id;
    }
  };
  A.Obj.prototype = {
    Obj$_fromJson$1(json) {
      var _this = this,
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "id");
      _this.id = t2 == null ? "" : t2;
      _this.fixedId = t1.$index(json, "fixedId");
      _this.set$classRef(type$.nullable_ClassRef._as(A.createServiceObject(t1.$index(json, "class"), B.List_ClassRef)));
      _this.size = t1.$index(json, "size");
    },
    get$type(_) {
      return "Object";
    },
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", _this.get$type(_this));
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["id", _this.id], t1, t2));
      A._setIfNotNull(json, "fixedId", _this.fixedId);
      t2 = _this.get$classRef();
      A._setIfNotNull(json, "class", t2 == null ? null : t2.toJson$0());
      A._setIfNotNull(json, "size", _this.size);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Obj && this.id == other.id;
    },
    toString$0(_) {
      return "[Obj id: " + A.S(this.id) + "]";
    },
    $isObjRef: 1,
    get$id(receiver) {
      return this.id;
    },
    get$classRef() {
      return this.classRef;
    },
    set$classRef(val) {
      return this.classRef = val;
    }
  };
  A.Parameter.prototype = {
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.parameterType;
      t3 = t3 == null ? null : t3.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["parameterType", t3, "fixed", _this.fixed], t1, t2));
      A._setIfNotNull(json, "name", _this.name);
      A._setIfNotNull(json, "required", _this.required);
      return json;
    },
    toString$0(_) {
      return "[Parameter parameterType: " + A.S(this.parameterType) + ", fixed: " + A.S(this.fixed) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.PortList.prototype = {
    get$type(_) {
      return "PortList";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "PortList");
      t3 = this.ports;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.PortList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["ports", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[PortList ports: " + A.S(this.ports) + "]";
    }
  };
  A.PortList_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.ProfileFunction.prototype = {
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.kind,
        t4 = _this.inclusiveTicks,
        t5 = _this.exclusiveTicks,
        t6 = _this.resolvedUrl,
        t7 = _this.$function;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", t3, "inclusiveTicks", t4, "exclusiveTicks", t5, "resolvedUrl", t6, "function", t7 == null ? null : t7.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[ProfileFunction kind: " + A.S(_this.kind) + ", inclusiveTicks: " + A.S(_this.inclusiveTicks) + ", exclusiveTicks: " + A.S(_this.exclusiveTicks) + ", resolvedUrl: " + A.S(_this.resolvedUrl) + ", function: " + A.S(_this.$function) + "]";
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.ProtocolList.prototype = {
    get$type(_) {
      return "ProtocolList";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ProtocolList");
      t3 = this.protocols;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.ProtocolList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["protocols", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[ProtocolList protocols: " + A.S(this.protocols) + "]";
    }
  };
  A.ProtocolList_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1116
  };
  A.Protocol.prototype = {
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["protocolName", this.protocolName, "major", this.major, "minor", this.minor], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[Protocol protocolName: " + A.S(this.protocolName) + ", major: " + A.S(this.major) + ", minor: " + A.S(this.minor) + "]";
    },
    get$major() {
      return this.major;
    },
    get$minor() {
      return this.minor;
    }
  };
  A.ProcessMemoryUsage.prototype = {
    get$type(_) {
      return "ProcessMemoryUsage";
    },
    toJson$0() {
      var t3,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ProcessMemoryUsage");
      t3 = this.root;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["root", t3 == null ? null : t3.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[ProcessMemoryUsage root: " + A.S(this.root) + "]";
    }
  };
  A.ProcessMemoryItem.prototype = {
    toJson$0() {
      var t7, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.name,
        t4 = _this.description,
        t5 = _this.size,
        t6 = _this.children;
      if (t6 == null)
        t6 = null;
      else {
        t7 = A._arrayInstanceType(t6)._eval$1("MappedListIterable<1,Map<String,@>>");
        t7 = A.List_List$of(new A.MappedListIterable(t6, new A.ProcessMemoryItem_toJson_closure(), t7), true, t7._eval$1("ListIterable.E"));
        t6 = t7;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t3, "description", t4, "size", t5, "children", t6], t1, t2));
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[ProcessMemoryItem name: " + A.S(_this.name) + ", description: " + A.S(_this.description) + ", size: " + A.S(_this.size) + ", children: " + A.S(_this.children) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.ProcessMemoryItem_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1117
  };
  A.ReloadReport.prototype = {
    get$type(_) {
      return "ReloadReport";
    },
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ReloadReport");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["success", this.success], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[ReloadReport success: " + A.S(this.success) + "]";
    }
  };
  A.RetainingObject.prototype = {
    toJson$0() {
      var _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = _this.value;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["value", t3 == null ? null : t3.toJson$0()], t1, t2));
      A._setIfNotNull(json, "parentListIndex", _this.parentListIndex);
      t1 = _this.parentMapKey;
      A._setIfNotNull(json, "parentMapKey", t1 == null ? null : t1.toJson$0());
      A._setIfNotNull(json, "parentField", _this.parentField);
      return json;
    },
    toString$0(_) {
      return "[RetainingObject value: " + A.S(this.value) + "]";
    }
  };
  A.RetainingPath.prototype = {
    get$type(_) {
      return "RetainingPath";
    },
    toJson$0() {
      var t3, t4, t5, t6,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "RetainingPath");
      t3 = this.length;
      t4 = this.gcRootType;
      t5 = this.elements;
      if (t5 == null)
        t5 = null;
      else {
        t6 = A._arrayInstanceType(t5)._eval$1("MappedListIterable<1,Map<String,@>>");
        t6 = A.List_List$of(new A.MappedListIterable(t5, new A.RetainingPath_toJson_closure(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["length", t3, "gcRootType", t4, "elements", t5], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[RetainingPath length: " + A.S(this.length) + ", gcRootType: " + A.S(this.gcRootType) + ", elements: " + A.S(this.elements) + "]";
    },
    get$length(receiver) {
      return this.length;
    }
  };
  A.RetainingPath_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1118
  };
  A.Response.prototype = {
    get$type(_) {
      return "Response";
    },
    toJson$0() {
      var localJson = this.json,
        t1 = type$.String,
        t2 = type$.dynamic,
        result = localJson == null ? A.LinkedHashMap_LinkedHashMap$_empty(t1, t2) : A.LinkedHashMap_LinkedHashMap$of(localJson, t1, t2);
      result.$indexSet(0, "type", this.get$type(this));
      return result;
    },
    toString$0(_) {
      return "[Response]";
    },
    get$json(receiver) {
      return this.json;
    }
  };
  A.Sentinel.prototype = {
    get$type(_) {
      return "Sentinel";
    },
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Sentinel");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["kind", this.kind, "valueAsString", this.valueAsString], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[Sentinel kind: " + A.S(this.kind) + ", valueAsString: " + A.S(this.valueAsString) + "]";
    },
    get$kind(receiver) {
      return this.kind;
    }
  };
  A.ScriptRef.prototype = {
    get$type(_) {
      return "@Script";
    },
    toJson$0() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@Script");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["uri", this.uri], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.ScriptRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[ScriptRef id: " + A.S(this.id) + ", uri: " + A.S(this.uri) + "]";
    },
    get$uri() {
      return this.uri;
    }
  };
  A.Script.prototype = {
    Script$_fromJson$1(json) {
      var _this = this,
        _s13_ = "tokenPosTable",
        t1 = J.getInterceptor$asx(json),
        t2 = t1.$index(json, "uri");
      _this.uri = t2 == null ? "" : t2;
      _this.library = type$.nullable_LibraryRef._as(A.createServiceObject(t1.$index(json, "library"), B.List_LibraryRef));
      _this.lineOffset = t1.$index(json, "lineOffset");
      _this.columnOffset = t1.$index(json, "columnOffset");
      _this.source = t1.$index(json, "source");
      if (t1.$index(json, _s13_) == null)
        t1 = null;
      else {
        t1 = t1.$index(json, _s13_);
        t1.toString;
        t1 = A.List_List$from(J.map$1$ax(t1, new A.Script$_fromJson_closure()), true, type$.List_int);
      }
      _this.tokenPosTable = t1;
      _this._parseTokenPosTable$0();
    },
    _parseTokenPosTable$0() {
      var lineSet, t1, t2, t3, _i, line, t4, lineNumber, pos, tokenOffset, colNumber,
        tokenPositionTable = this.tokenPosTable;
      if (tokenPositionTable == null)
        return;
      lineSet = A.LinkedHashSet_LinkedHashSet$_empty(type$.int);
      for (t1 = tokenPositionTable.length, t2 = this._tokenToLine, t3 = this._tokenToColumn, _i = 0; _i < tokenPositionTable.length; tokenPositionTable.length === t1 || (0, A.throwConcurrentModificationError)(tokenPositionTable), ++_i) {
        line = tokenPositionTable[_i];
        t4 = J.getInterceptor$asx(line);
        lineNumber = t4.$index(line, 0);
        lineSet.add$1(0, lineNumber);
        for (pos = 1; pos < t4.get$length(line); pos += 2) {
          tokenOffset = t4.$index(line, pos);
          colNumber = t4.$index(line, pos + 1);
          t2.$indexSet(0, tokenOffset, lineNumber);
          t3.$indexSet(0, tokenOffset, colNumber);
        }
      }
    },
    get$type(_) {
      return "Script";
    },
    toJson$0() {
      var t1, t2, _this = this,
        json = _this.super$Obj$toJson();
      json.$indexSet(0, "type", "Script");
      t1 = _this.uri;
      t2 = _this.library;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["uri", t1, "library", t2 == null ? null : t2.toJson$0()], type$.String, type$.dynamic));
      A._setIfNotNull(json, "lineOffset", _this.lineOffset);
      A._setIfNotNull(json, "columnOffset", _this.columnOffset);
      A._setIfNotNull(json, "source", _this.source);
      t1 = _this.tokenPosTable;
      if (t1 == null)
        t1 = null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,List<int>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Script_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "tokenPosTable", t1);
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Script && this.id == other.id;
    },
    toString$0(_) {
      return "[Script id: " + A.S(this.id) + ", uri: " + A.S(this.uri) + ", library: " + A.S(this.library) + "]";
    },
    $isScriptRef: 1,
    get$uri() {
      return this.uri;
    }
  };
  A.Script$_fromJson_closure.prototype = {
    call$1(list) {
      return A.List_List$from(list, true, type$.int);
    },
    $signature: 1119
  };
  A.Script_toJson_closure.prototype = {
    call$1(f) {
      return J.toList$0$ax(f);
    },
    $signature: 1120
  };
  A.ScriptList.prototype = {
    get$type(_) {
      return "ScriptList";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "ScriptList");
      t3 = this.scripts;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.ScriptList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["scripts", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[ScriptList scripts: " + A.S(this.scripts) + "]";
    }
  };
  A.ScriptList_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 197
  };
  A.SourceLocation.prototype = {
    get$type(_) {
      return "SourceLocation";
    },
    toJson$0() {
      var t3, _this = this,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "SourceLocation");
      t3 = _this.script;
      t3 = t3 == null ? null : t3.toJson$0();
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["script", t3, "tokenPos", _this.tokenPos], t1, t2));
      A._setIfNotNull(json, "endTokenPos", _this.endTokenPos);
      A._setIfNotNull(json, "line", _this.line);
      A._setIfNotNull(json, "column", _this.column);
      return json;
    },
    toString$0(_) {
      return "[SourceLocation script: " + A.S(this.script) + ", tokenPos: " + A.S(this.tokenPos) + "]";
    },
    get$script() {
      return this.script;
    },
    get$tokenPos() {
      return this.tokenPos;
    },
    get$line(receiver) {
      return this.line;
    }
  };
  A.SourceReport.prototype = {
    get$type(_) {
      return "SourceReport";
    },
    toJson$0() {
      var t3, t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "SourceReport");
      t3 = this.ranges;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.SourceReport_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = this.scripts;
      if (t4 == null)
        t4 = null;
      else {
        t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = A.List_List$of(new A.MappedListIterable(t4, new A.SourceReport_toJson_closure0(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["ranges", t3, "scripts", t4], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[SourceReport ranges: " + A.S(this.ranges) + ", scripts: " + A.S(this.scripts) + "]";
    }
  };
  A.SourceReport_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1121
  };
  A.SourceReport_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 197
  };
  A.SourceReportCoverage.prototype = {
    toJson$0() {
      var t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.hits;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,int>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.SourceReportCoverage_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = this.misses;
      if (t4 == null)
        t4 = null;
      else {
        t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,int>");
        t5 = A.List_List$of(new A.MappedListIterable(t4, new A.SourceReportCoverage_toJson_closure0(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["hits", t3, "misses", t4], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[SourceReportCoverage hits: " + A.S(this.hits) + ", misses: " + A.S(this.misses) + "]";
    }
  };
  A.SourceReportCoverage_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 32
  };
  A.SourceReportCoverage_toJson_closure0.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 32
  };
  A.SourceReportRange.prototype = {
    toJson$0() {
      var _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["scriptIndex", _this.scriptIndex, "startPos", _this.startPos, "endPos", _this.endPos, "compiled", _this.compiled], t1, t2));
      t2 = _this.error;
      A._setIfNotNull(json, "error", t2 == null ? _null : t2.toJson$0());
      t1 = _this.coverage;
      A._setIfNotNull(json, "coverage", t1 == null ? _null : t1.toJson$0());
      t1 = _this.possibleBreakpoints;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.SourceReportRange_toJson_closure(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "possibleBreakpoints", t1);
      t1 = _this.branchCoverage;
      A._setIfNotNull(json, "branchCoverage", t1 == null ? _null : t1.toJson$0());
      return json;
    },
    toString$0(_) {
      var _this = this;
      return "[SourceReportRange scriptIndex: " + A.S(_this.scriptIndex) + ", startPos: " + A.S(_this.startPos) + ", endPos: " + A.S(_this.endPos) + ", compiled: " + A.S(_this.compiled) + "]";
    }
  };
  A.SourceReportRange_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 32
  };
  A.Stack0.prototype = {
    get$type(_) {
      return "Stack";
    },
    toJson$0() {
      var t3, t4, t5, _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Stack");
      t3 = _this.frames;
      if (t3 == null)
        t3 = _null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.Stack_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = _this.messages;
      if (t4 == null)
        t4 = _null;
      else {
        t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,Map<String,@>>");
        t5 = A.List_List$of(new A.MappedListIterable(t4, new A.Stack_toJson_closure0(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["frames", t3, "messages", t4, "truncated", _this.truncated], t1, t2));
      t2 = _this.asyncCausalFrames;
      if (t2 == null)
        t1 = _null;
      else {
        t1 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
        t1 = A.List_List$of(new A.MappedListIterable(t2, new A.Stack_toJson_closure1(), t1), true, t1._eval$1("ListIterable.E"));
      }
      A._setIfNotNull(json, "asyncCausalFrames", t1);
      t1 = _this.awaiterFrames;
      if (t1 == null)
        t1 = _null;
      else {
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Map<String,@>>");
        t2 = A.List_List$of(new A.MappedListIterable(t1, new A.Stack_toJson_closure2(), t2), true, t2._eval$1("ListIterable.E"));
        t1 = t2;
      }
      A._setIfNotNull(json, "awaiterFrames", t1);
      return json;
    },
    toString$0(_) {
      return "[Stack frames: " + A.S(this.frames) + ", messages: " + A.S(this.messages) + ", truncated: " + A.S(this.truncated) + "]";
    }
  };
  A.Stack_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 198
  };
  A.Stack_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 1123
  };
  A.Stack_toJson_closure1.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 198
  };
  A.Stack_toJson_closure2.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 198
  };
  A.Success.prototype = {
    get$type(_) {
      return "Success";
    },
    toJson$0() {
      var json = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      json.$indexSet(0, "type", "Success");
      return json;
    },
    toString$0(_) {
      return "[Success]";
    }
  };
  A.Timeline.prototype = {
    get$type(_) {
      return "Timeline";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Timeline");
      t3 = this.traceEvents;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,Map<String,@>>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.Timeline_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["traceEvents", t3, "timeOriginMicros", this.timeOriginMicros, "timeExtentMicros", this.timeExtentMicros], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[Timeline traceEvents: " + A.S(this.traceEvents) + ", timeOriginMicros: " + A.S(this.timeOriginMicros) + ", timeExtentMicros: " + A.S(this.timeExtentMicros) + "]";
    }
  };
  A.Timeline_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 278
  };
  A.TimelineEvent.prototype = {
    toJson$0() {
      var result = A.LinkedHashMap_LinkedHashMap$of(this.json, type$.String, type$.dynamic);
      result.$indexSet(0, "type", "TimelineEvent");
      return result;
    },
    toString$0(_) {
      return "[TimelineEvent]";
    },
    get$json(receiver) {
      return this.json;
    }
  };
  A.TimelineFlags.prototype = {
    get$type(_) {
      return "TimelineFlags";
    },
    toJson$0() {
      var t3, t4, t5, t6,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "TimelineFlags");
      t3 = this.recorderName;
      t4 = this.availableStreams;
      if (t4 == null)
        t4 = null;
      else {
        t5 = A._arrayInstanceType(t4)._eval$1("MappedListIterable<1,String>");
        t5 = A.List_List$of(new A.MappedListIterable(t4, new A.TimelineFlags_toJson_closure(), t5), true, t5._eval$1("ListIterable.E"));
        t4 = t5;
      }
      t5 = this.recordedStreams;
      if (t5 == null)
        t5 = null;
      else {
        t6 = A._arrayInstanceType(t5)._eval$1("MappedListIterable<1,String>");
        t6 = A.List_List$of(new A.MappedListIterable(t5, new A.TimelineFlags_toJson_closure0(), t6), true, t6._eval$1("ListIterable.E"));
        t5 = t6;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["recorderName", t3, "availableStreams", t4, "recordedStreams", t5], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[TimelineFlags recorderName: " + A.S(this.recorderName) + ", availableStreams: " + A.S(this.availableStreams) + ", recordedStreams: " + A.S(this.recordedStreams) + "]";
    }
  };
  A.TimelineFlags_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.TimelineFlags_toJson_closure0.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.Timestamp.prototype = {
    get$type(_) {
      return "Timestamp";
    },
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Timestamp");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["timestamp", this.timestamp], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[Timestamp timestamp: " + A.S(this.timestamp) + "]";
    }
  };
  A.TypeArgumentsRef.prototype = {
    get$type(_) {
      return "@TypeArguments";
    },
    toJson$0() {
      var json = this.super$ObjRef$toJson();
      json.$indexSet(0, "type", "@TypeArguments");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return type$.TypeArgumentsRef._is(other) && this.id == other.get$id(other);
    },
    toString$0(_) {
      return "[TypeArgumentsRef id: " + A.S(this.id) + ", name: " + A.S(this.name) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.TypeArguments.prototype = {
    get$type(_) {
      return "TypeArguments";
    },
    toJson$0() {
      var t1, t2, t3,
        json = this.super$Obj$toJson();
      json.$indexSet(0, "type", "TypeArguments");
      t1 = this.name;
      t2 = this.types;
      if (t2 == null)
        t2 = null;
      else {
        t3 = A._arrayInstanceType(t2)._eval$1("MappedListIterable<1,Map<String,@>>");
        t3 = A.List_List$of(new A.MappedListIterable(t2, new A.TypeArguments_toJson_closure(), t3), true, t3._eval$1("ListIterable.E"));
        t2 = t3;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t1, "types", t2], type$.String, type$.dynamic));
      return json;
    },
    get$hashCode(_) {
      return J.get$hashCode$(this.id);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.TypeArguments && this.id == other.id;
    },
    toString$0(_) {
      return "[TypeArguments id: " + A.S(this.id) + ", name: " + A.S(this.name) + ", types: " + A.S(this.types) + "]";
    },
    $isTypeArgumentsRef: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.TypeArguments_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 66
  };
  A.TypeParameters.prototype = {
    toJson$0() {
      var t4, t5,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2),
        t3 = this.names;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,String>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.TypeParameters_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      t4 = this.bounds;
      t4 = t4 == null ? null : t4.toJson$0();
      t5 = this.defaults;
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["names", t3, "bounds", t4, "defaults", t5 == null ? null : t5.toJson$0()], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[TypeParameters names: " + A.S(this.names) + ", bounds: " + A.S(this.bounds) + ", defaults: " + A.S(this.defaults) + "]";
    }
  };
  A.TypeParameters_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 15
  };
  A.UnresolvedSourceLocation.prototype = {
    get$type(_) {
      return "UnresolvedSourceLocation";
    },
    toJson$0() {
      var t1, _this = this,
        json = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
      json.$indexSet(0, "type", "UnresolvedSourceLocation");
      t1 = _this.script;
      A._setIfNotNull(json, "script", t1 == null ? null : t1.toJson$0());
      A._setIfNotNull(json, "scriptUri", _this.scriptUri);
      A._setIfNotNull(json, "tokenPos", _this.tokenPos);
      A._setIfNotNull(json, "line", _this.line);
      A._setIfNotNull(json, "column", _this.column);
      return json;
    },
    toString$0(_) {
      return "[UnresolvedSourceLocation]";
    },
    get$script() {
      return this.script;
    },
    get$tokenPos() {
      return this.tokenPos;
    },
    get$line(receiver) {
      return this.line;
    }
  };
  A.UriList.prototype = {
    get$type(_) {
      return "UriList";
    },
    toJson$0() {
      var t3, t4,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "UriList");
      t3 = this.uris;
      if (t3 == null)
        t3 = null;
      else {
        t4 = A._arrayInstanceType(t3)._eval$1("MappedListIterable<1,String?>");
        t4 = A.List_List$of(new A.MappedListIterable(t3, new A.UriList_toJson_closure(), t4), true, t4._eval$1("ListIterable.E"));
        t3 = t4;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["uris", t3], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[UriList uris: " + A.S(this.uris) + "]";
    }
  };
  A.UriList_toJson_closure.prototype = {
    call$1(f) {
      return f;
    },
    $signature: 1124
  };
  A.Version.prototype = {
    get$type(_) {
      return "Version";
    },
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "Version");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["major", this.major, "minor", this.minor], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[Version major: " + A.S(this.major) + ", minor: " + A.S(this.minor) + "]";
    },
    get$major() {
      return this.major;
    },
    get$minor() {
      return this.minor;
    }
  };
  A.VMRef.prototype = {
    get$type(_) {
      return "@VM";
    },
    toJson$0() {
      var t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "@VM");
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", this.name], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[VMRef name: " + A.S(this.name) + "]";
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.VM.prototype = {
    get$type(_) {
      return "VM";
    },
    toJson$0() {
      var t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, _this = this, _null = null,
        t1 = type$.String,
        t2 = type$.dynamic,
        json = A.LinkedHashMap_LinkedHashMap$_empty(t1, t2);
      json.$indexSet(0, "type", "VM");
      t3 = _this.name;
      t4 = _this.architectureBits;
      t5 = _this.hostCPU;
      t6 = _this.operatingSystem;
      t7 = _this.targetCPU;
      t8 = _this.version;
      t9 = _this.pid;
      t10 = _this.startTime;
      t11 = _this.isolates;
      if (t11 == null)
        t11 = _null;
      else {
        t12 = A._arrayInstanceType(t11)._eval$1("MappedListIterable<1,Map<String,@>>");
        t12 = A.List_List$of(new A.MappedListIterable(t11, new A.VM_toJson_closure(), t12), true, t12._eval$1("ListIterable.E"));
        t11 = t12;
      }
      t12 = _this.isolateGroups;
      if (t12 == null)
        t12 = _null;
      else {
        t13 = A._arrayInstanceType(t12)._eval$1("MappedListIterable<1,Map<String,@>>");
        t13 = A.List_List$of(new A.MappedListIterable(t12, new A.VM_toJson_closure0(), t13), true, t13._eval$1("ListIterable.E"));
        t12 = t13;
      }
      t13 = _this.systemIsolates;
      if (t13 == null)
        t13 = _null;
      else {
        t14 = A._arrayInstanceType(t13)._eval$1("MappedListIterable<1,Map<String,@>>");
        t14 = A.List_List$of(new A.MappedListIterable(t13, new A.VM_toJson_closure1(), t14), true, t14._eval$1("ListIterable.E"));
        t13 = t14;
      }
      t14 = _this.systemIsolateGroups;
      if (t14 == null)
        t14 = _null;
      else {
        t15 = A._arrayInstanceType(t14)._eval$1("MappedListIterable<1,Map<String,@>>");
        t15 = A.List_List$of(new A.MappedListIterable(t14, new A.VM_toJson_closure2(), t15), true, t15._eval$1("ListIterable.E"));
        t14 = t15;
      }
      json.addAll$1(0, A.LinkedHashMap_LinkedHashMap$_literal(["name", t3, "architectureBits", t4, "hostCPU", t5, "operatingSystem", t6, "targetCPU", t7, "version", t8, "pid", t9, "startTime", t10, "isolates", t11, "isolateGroups", t12, "systemIsolates", t13, "systemIsolateGroups", t14], t1, t2));
      return json;
    },
    toString$0(_) {
      return "[VM]";
    },
    $isVMRef: 1,
    get$name(receiver) {
      return this.name;
    }
  };
  A.VM_toJson_closure.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 196
  };
  A.VM_toJson_closure0.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 261
  };
  A.VM_toJson_closure1.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 196
  };
  A.VM_toJson_closure2.prototype = {
    call$1(f) {
      return f.toJson$0();
    },
    $signature: 261
  };
  A.SymbolInfo.prototype = {
    get$name(receiver) {
      return this.name;
    },
    get$className(receiver) {
      return this.className;
    }
  };
  A.Name.prototype = {
    get$scrubbed() {
      var t1, t2, result, _this = this,
        value = _this.__Name_scrubbed;
      if (value === $) {
        t1 = _this.raw;
        t2 = B.JSString_methods.startsWith$1(t1, "[Stub] ") ? $.$get$_stubScrubbingRe() : $.$get$_scrubbingRe();
        result = A.stringReplaceAllUnchecked(t1, t2, "");
        if (_this.__Name_scrubbed !== $)
          A.throwUnnamedLateFieldADI();
        _this.__Name_scrubbed = result;
        value = result;
      }
      return value;
    }
  };
  A.CallGraphNode.prototype = {
    connectTo$1(n) {
      var t1;
      if (n === this)
        return;
      t1 = this.succ;
      if (!B.JSArray_methods.contains$1(t1, n)) {
        n.pred.push(this);
        t1.push(n);
      }
    },
    toString$0(_) {
      var t1 = this.data;
      return "CallGraphNode(" + A.S(t1 instanceof A.ProgramInfoNode ? t1.get$qualifiedName() : t1) + ")";
    }
  };
  A.CallGraph.prototype = {
    collapse$2$dropCallNodes(_, type, dropCallNodes) {
      var _i, n, t3, t4, t5, _i0, succ, from, to,
        graphNodesByData = A.LinkedHashMap_LinkedHashMap$_empty(type$.Object, type$.CallGraphNode),
        graphNodeByEntityId = A._setArrayType([], type$.JSArray_nullable_CallGraphNode),
        t1 = this.nodes,
        t2 = A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,CallGraphNode?>"),
        newNodes = A.List_List$of(new A.MappedListIterable(t1, new A.CallGraph_collapse_closure(new A.CallGraph_collapse_callGraphNodeFor(graphNodesByData, graphNodeByEntityId), new A.CallGraph_collapse_collapsed(this, type), true), t2), false, t2._eval$1("ListIterable.E"));
      for (t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) {
        n = t1[_i];
        for (t3 = n.succ, t4 = t3.length, t5 = n.id, _i0 = 0; _i0 < t3.length; t3.length === t4 || (0, A.throwConcurrentModificationError)(t3), ++_i0) {
          succ = t3[_i0];
          from = newNodes[t5];
          to = newNodes[succ.id];
          if (from != null && to != null)
            from.connectTo$1(to);
        }
      }
      t1 = graphNodesByData.get$values(graphNodesByData);
      return new A.CallGraph(this.program, A.List_List$of(t1, false, A._instanceType(t1)._eval$1("Iterable.E")), graphNodeByEntityId);
    },
    computeDominators$0() {
      var i, t3, t4, t5,
        t1 = this.nodes,
        t2 = t1.length,
        dom = A.computeDominators(new A.CallGraph_computeDominators_closure(), new A.CallGraph_computeDominators_closure0(this), B.JSArray_methods.get$first(t1).id, t2, new A.CallGraph_computeDominators_closure1(this));
      for (t2 = type$.JSArray_CallGraphNode, i = 1; i < t1.length; ++i) {
        t3 = t1[dom[i]];
        t4 = t1[i];
        t5 = t3.dominated;
        B.JSArray_methods.add$1(t5 === B.List_empty30 ? t3.dominated = A._setArrayType([], t2) : t5, t4);
        t4.dominator = t3;
      }
    }
  };
  A.CallGraph_collapse_collapsed.prototype = {
    call$1(nn) {
      var t2, n, t3,
        t1 = this.$this.program.root;
      if (nn === t1)
        return nn;
      t2 = this.type;
      n = nn;
      while (true) {
        t3 = n.parent;
        if (!(t3 !== t1 && B.List_Oho[n._type] !== t2))
          break;
        t3.toString;
        n = t3;
      }
      return n;
    },
    $signature: 1126
  };
  A.CallGraph_collapse_callGraphNodeFor.prototype = {
    call$1(data) {
      var t1 = this.graphNodesByData;
      return t1.putIfAbsent$2(0, data, new A.CallGraph_collapse_callGraphNodeFor_closure(t1, data, this.graphNodeByEntityId));
    },
    $signature: 1127
  };
  A.CallGraph_collapse_callGraphNodeFor_closure.prototype = {
    call$0() {
      var t2,
        t1 = this.data,
        n = A.CallGraphNode$(this.graphNodesByData._length, t1);
      if (t1 instanceof A.ProgramInfoNode) {
        t2 = this.graphNodeByEntityId;
        t1 = t1.id;
        if (t2.length <= t1)
          B.JSArray_methods.set$length(t2, t1 * 2 + 1);
        t2[t1] = n;
      }
      return n;
    },
    $signature: 254
  };
  A.CallGraph_collapse_closure.prototype = {
    call$1(n) {
      var _this = this,
        t1 = n.data;
      if (t1 instanceof A.ProgramInfoNode)
        return _this.callGraphNodeFor.call$1(_this.collapsed.call$1(t1));
      else if (!_this.dropCallNodes)
        return _this.callGraphNodeFor.call$1(t1);
    },
    $signature: 1129
  };
  A.CallGraph_computeDominators_closure1.prototype = {
    call$1(i) {
      var t1 = this.$this.nodes[i].succ;
      return new A.MappedListIterable(t1, new A.CallGraph_computeDominators__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>"));
    },
    $signature: 337
  };
  A.CallGraph_computeDominators__closure.prototype = {
    call$1(n) {
      return n.id;
    },
    $signature: 333
  };
  A.CallGraph_computeDominators_closure0.prototype = {
    call$1(i) {
      var t1 = this.$this.nodes[i].pred;
      return new A.MappedListIterable(t1, new A.CallGraph_computeDominators__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>"));
    },
    $signature: 337
  };
  A.CallGraph_computeDominators__closure0.prototype = {
    call$1(n) {
      return n.id;
    },
    $signature: 333
  };
  A.CallGraph_computeDominators_closure.prototype = {
    call$2(from, to) {
    },
    $signature: 134
  };
  A._TraceReader.prototype = {
    readTrace$0() {
      var currentNode, nodes, nodeByEntityId, callNodesBySelector, allocated, next, makeNode, makeCallNode, nodeFor, t1, t2, t3, t4, t5, t6, t7, t8, funNode, t9, $name, targetName, _this = this, _box_0 = {};
      _box_0.pos = 0;
      currentNode = A._Cell$named("currentNode");
      _box_0.maxId = 0;
      nodes = A._setArrayType([], type$.JSArray_CallGraphNode);
      nodeByEntityId = A._setArrayType([], type$.JSArray_nullable_CallGraphNode);
      callNodesBySelector = A.LinkedHashMap_LinkedHashMap$_empty(type$.dynamic, type$.CallGraphNode);
      allocated = A.LinkedHashSet_LinkedHashSet$_empty(type$.ProgramInfoNode);
      next = new A._TraceReader_readTrace_next(_box_0, _this);
      makeNode = new A._TraceReader_readTrace_makeNode(nodes);
      makeCallNode = new A._TraceReader_readTrace_makeCallNode(callNodesBySelector, makeNode);
      nodeFor = new A._TraceReader_readTrace_nodeFor(_box_0, nodeByEntityId, makeNode);
      new A._TraceReader_readTrace_readEvents(_box_0, _this, next, currentNode, nodeFor, new A._TraceReader_readTrace_readRefs(new A._TraceReader_readTrace_readRef(_box_0, _this, next, new A._TraceReader_readTrace_recordAllocation(currentNode, nodeFor, allocated), new A._TraceReader_readTrace_recordStaticCall(currentNode, nodeFor), new A._TraceReader_readTrace_recordFieldRef(currentNode, nodeFor), new A._TraceReader_readTrace_recordDynamicCall(currentNode, makeCallNode), new A._TraceReader_readTrace_recordInterfaceCall(currentNode, makeCallNode)))).call$0();
      for (t1 = A._LinkedHashSetIterator$(allocated, allocated._collection$_modifications, allocated.$ti._precomputed1), t2 = _this.dynamicFunctions, t3 = _this.selectorIdMap, t4 = t1.$ti._precomputed1; t1.moveNext$0();) {
        t5 = t1._collection$_current;
        for (t5 = (t5 == null ? t4._as(t5) : t5).children, t6 = t5.get$values(t5), t7 = t2.get$contains(t2), t8 = t6.get$iterator(t6), t6 = new A.WhereIterator(t8, t7, A._instanceType(t6)._eval$1("WhereIterator<Iterable.E>")); t6.moveNext$0();) {
          t7 = t8.get$current(t8);
          funNode = nodeFor.call$1(t7);
          t9 = callNodesBySelector.$index(0, t3.$index(0, t7));
          if (t9 != null)
            t9.connectTo$1(funNode);
          $name = t7.name;
          t7 = callNodesBySelector.$index(0, $name);
          if (t7 != null)
            t7.connectTo$1(funNode);
          if (!B.JSString_methods.startsWith$1($name, "dyn:")) {
            t7 = "dyn:" + $name;
            if (!t5.containsKey$1(0, t7)) {
              t7 = callNodesBySelector.$index(0, t7);
              if (t7 != null)
                t7.connectTo$1(funNode);
            }
            if (B.JSString_methods.startsWith$1($name, "get:")) {
              targetName = B.JSString_methods.substring$1($name, 4);
              t7 = callNodesBySelector.$index(0, targetName);
              if (t7 != null)
                t7.connectTo$1(funNode);
              t7 = callNodesBySelector.$index(0, "dyn:" + targetName);
              if (t7 != null)
                t7.connectTo$1(funNode);
            } else if (B.JSString_methods.startsWith$1($name, "[tear-off-extractor] ")) {
              targetName = B.JSString_methods.substring$1($name, 21);
              t7 = callNodesBySelector.$index(0, targetName);
              if (t7 != null)
                t7.connectTo$1(funNode);
              t7 = callNodesBySelector.$index(0, "dyn:" + targetName);
              if (t7 != null)
                t7.connectTo$1(funNode);
            }
          }
        }
      }
      return new A.CallGraph(_this.program, nodes, nodeByEntityId);
    },
    getEntityAt$1(id) {
      var t2,
        t1 = this.entityById;
      if (t1.length <= id)
        B.JSArray_methods.set$length(t1, id * 2);
      t2 = t1[id];
      if (t2 == null) {
        t2 = this.readEntityAt$1(id * 4);
        t1[id] = t2;
        t1 = t2;
      } else
        t1 = t2;
      return t1;
    },
    readEntityAt$1(index) {
      var libraryUri, className, $package, node, classNode, result, t3, t4, _this = this,
        t1 = _this.entities,
        t2 = J.getInterceptor$asx(t1),
        type = t2.$index(t1, index),
        idx0 = A._asInt(t2.$index(t1, index + 1)),
        idx1 = A._asInt(t2.$index(t1, index + 2)),
        idx2 = A._asInt(t2.$index(t1, index + 3));
      switch (type) {
        case "C":
          t1 = _this.strings;
          libraryUri = t1.$index(0, idx0);
          className = t1.$index(0, idx1);
          t1 = _this.program;
          $package = A.packageOf(libraryUri);
          node = t1.root;
          return t1.makeNode$3$name$parent$type(className, t1.makeNode$3$name$parent$type(libraryUri, $package !== libraryUri ? t1.makeNode$3$name$parent$type($package, node, B.NodeType_0) : node, B.NodeType_1), B.NodeType_2);
        case "S":
        case "F":
          classNode = _this.getEntityAt$1(idx0);
          result = A._setArrayType(_this.strings.$index(0, idx1).split("."), type$.JSArray_String);
          if (J.startsWith$1$s(B.JSArray_methods.get$first(result), "new ")) {
            result[0] = A.S(result[0]) + "." + A.S(result[1]);
            B.JSArray_methods.removeAt$1(result, 1);
          }
          if (J.$eq$(B.JSArray_methods.get$last(result), "FfiTrampoline"))
            result[result.length - 1] = A.S(B.JSArray_methods.get$last(result)) + "@" + index;
          t1 = _this.program;
          node = t1.makeNode$3$name$parent$type(B.JSArray_methods.get$first(result), classNode, B.NodeType_3);
          for (t2 = A.SubListIterable$(result, 1, null, type$.String), t3 = t2.$ti, t2 = new A.ListIterator(t2, t2.get$length(t2), t3._eval$1("ListIterator<ListIterable.E>")), t3 = t3._eval$1("ListIterable.E"); t2.moveNext$0();) {
            t4 = t2.__internal$_current;
            node = t1.makeNode$3$name$parent$type(t4 == null ? t3._as(t4) : t4, node, B.NodeType_3);
          }
          if (idx2 >= 0)
            _this.selectorIdMap.$indexSet(0, node, idx2);
          if (J.$eq$(type, "F"))
            _this.dynamicFunctions.add$1(0, node);
          return node;
        case "V":
          classNode = _this.getEntityAt$1(idx0);
          return _this.program.makeNode$3$name$parent$type(_this.strings.$index(0, idx1), classNode, B.NodeType_4);
        default:
          throw A.wrapException(A.FormatException$("unrecognized entity type " + A.S(type), null, null));
      }
    }
  };
  A._TraceReader_readTrace_next.prototype = {
    call$1$0($T) {
      return $T._as(J.$index$asx(this.$this.trace, this._box_0.pos++));
    },
    call$0() {
      return this.call$1$0(type$.dynamic);
    },
    $signature: 1132
  };
  A._TraceReader_readTrace_makeNode.prototype = {
    call$1$data(data) {
      var t1 = this.nodes,
        n = A.CallGraphNode$(t1.length, data);
      t1.push(n);
      return n;
    },
    call$0() {
      return this.call$1$data(null);
    },
    $signature: 1133
  };
  A._TraceReader_readTrace_makeCallNode.prototype = {
    call$1(selector) {
      return this.callNodesBySelector.putIfAbsent$2(0, selector, new A._TraceReader_readTrace_makeCallNode_closure(this.makeNode, selector));
    },
    $signature: 1134
  };
  A._TraceReader_readTrace_makeCallNode_closure.prototype = {
    call$0() {
      return this.makeNode.call$1$data(this.selector);
    },
    $signature: 254
  };
  A._TraceReader_readTrace_nodeFor.prototype = {
    call$1(n) {
      var t3,
        t1 = this.nodeByEntityId,
        t2 = n.id;
      if (t1.length <= t2)
        B.JSArray_methods.set$length(t1, t2 * 2 + 1);
      t3 = this._box_0;
      if (t2 > t3.maxId)
        t3.maxId = t2;
      t3 = t1[t2];
      if (t3 == null) {
        t3 = this.makeNode.call$1$data(n);
        t1[t2] = t3;
        t1 = t3;
      } else
        t1 = t3;
      return t1;
    },
    $signature: 1135
  };
  A._TraceReader_readTrace_recordDynamicCall.prototype = {
    call$1(selector) {
      this.currentNode._readLocal$0().connectTo$1(this.makeCallNode.call$1(selector));
    },
    $signature: 12
  };
  A._TraceReader_readTrace_recordInterfaceCall.prototype = {
    call$1(selector) {
      this.currentNode._readLocal$0().connectTo$1(this.makeCallNode.call$1(selector));
    },
    $signature: 26
  };
  A._TraceReader_readTrace_recordStaticCall.prototype = {
    call$1(to) {
      this.currentNode._readLocal$0().connectTo$1(this.nodeFor.call$1(to));
    },
    $signature: 199
  };
  A._TraceReader_readTrace_recordFieldRef.prototype = {
    call$1(field) {
      this.currentNode._readLocal$0().connectTo$1(this.nodeFor.call$1(field));
    },
    $signature: 199
  };
  A._TraceReader_readTrace_recordAllocation.prototype = {
    call$1(cls) {
      this.currentNode._readLocal$0().connectTo$1(this.nodeFor.call$1(cls));
      this.allocated.add$1(0, cls);
    },
    $signature: 199
  };
  A._TraceReader_readTrace_readRef.prototype = {
    call$0() {
      var entity, t2, _this = this,
        t1 = _this.next,
        ref = t1.call$1$0(type$.dynamic);
      if (A._isInt(ref)) {
        entity = _this.$this.getEntityAt$1(ref);
        t1 = B.List_Oho[entity._type];
        if (t1 === B.NodeType_2)
          _this.recordAllocation.call$1(entity);
        else if (t1 === B.NodeType_3)
          _this.recordStaticCall.call$1(entity);
        else if (t1 === B.NodeType_4)
          _this.recordFieldRef.call$1(entity);
      } else {
        t2 = J.getInterceptor$(ref);
        if (t2.$eq(ref, "S"))
          _this.recordDynamicCall.call$1(_this.$this.strings.$index(0, t1.call$1$0(type$.int)));
        else if (t2.$eq(ref, "T"))
          _this.recordInterfaceCall.call$1(t1.call$1$0(type$.int));
        else if (t2.$eq(ref, "C") || t2.$eq(ref, "E")) {
          --_this._box_0.pos;
          return false;
        } else
          throw A.wrapException(A.FormatException$("unexpected ref: " + A.S(ref), null, null));
      }
      return true;
    },
    $signature: 23
  };
  A._TraceReader_readTrace_readRefs.prototype = {
    call$0() {
      for (var t1 = this.readRef; t1.call$0();)
        ;
    },
    $signature: 0
  };
  A._TraceReader_readTrace_readEvents.prototype = {
    call$0() {
      var t1, t2, t3, t4, t5, t6, t7, t8, op, _this = this;
      for (t1 = _this.currentNode, t2 = _this.nodeFor, t3 = _this.$this, t4 = _this.next, t5 = type$.int, t6 = _this.readRefs, t7 = type$.dynamic, t8 = t3.program.root; true;) {
        op = t4.call$1$0(t7);
        switch (op) {
          case "E":
            return;
          case "R":
            t1.__late_helper$_value = t2.call$1(t8);
            t6.call$0();
            break;
          case "C":
            t1.__late_helper$_value = t2.call$1(t3.getEntityAt$1(t4.call$1$0(t5)));
            t6.call$0();
            break;
          default:
            throw A.wrapException(A.FormatException$("Unknown event: " + A.S(op) + " at " + (_this._box_0.pos - 1), null, null));
        }
      }
    },
    $signature: 0
  };
  A.ProgramInfo.prototype = {
    makeNode$3$name$parent$type($name, $parent, type) {
      return $parent.children.putIfAbsent$2(0, $name, new A.ProgramInfo_makeNode_closure(this, $name, $parent, type));
    },
    toJson$0() {
      return this.root.toJson$0();
    },
    lookup$1(path) {
      var t1, _i, next,
        n = this.root;
      for (t1 = path.length, _i = 0; _i < path.length; path.length === t1 || (0, A.throwConcurrentModificationError)(path), ++_i, n = next) {
        next = n.children.$index(0, path[_i]);
        if (next == null)
          return null;
      }
      return n;
    }
  };
  A.ProgramInfo_makeNode_closure.prototype = {
    call$0() {
      var _this = this;
      return new A.ProgramInfoNode(_this.$this._program_info$_nextId++, _this.name, _this.parent, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ProgramInfoNode), _this.type.index);
    },
    $signature: 307
  };
  A.NodeType.prototype = {
    toString$0(_) {
      return "NodeType." + this._core$_name;
    }
  };
  A.ProgramInfoNode.prototype = {
    toJson$0() {
      var t3,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic),
        t2 = this.size;
      if (t2 != null)
        t1.$indexSet(0, "#size", t2);
      t2 = this._type;
      if (t2 !== 4) {
        t2 = B.Map_OhIG8.$index(0, B.List_Oho[t2]);
        t2.toString;
        t1.$indexSet(0, "#type", t2);
      }
      t2 = this.children;
      if (t2._length !== 0)
        for (t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
          t3 = t2.get$current(t2);
          t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3).toJson$0());
        }
      return t1;
    },
    get$qualifiedName() {
      var prefix,
        p = this.parent;
      if (p != null && p.parent != null && B.List_Oho[p._type] !== B.NodeType_0) {
        prefix = p.get$qualifiedName();
        prefix = B.List_Oho[p._type] !== B.NodeType_1 ? prefix + "." : prefix + "::";
      } else
        prefix = "";
      return prefix + this.name;
    },
    toString$0(_) {
      var t1 = B.Map_OhIG8.$index(0, B.List_Oho[this._type]);
      t1.toString;
      return t1 + " " + this.get$qualifiedName();
    },
    get$name(receiver) {
      return this.name;
    }
  };
  A.computeDiff_recurse.prototype = {
    call$2(oldNode, newNode) {
      var diffNode, t4, t5, i, t6, newChildNode, oldChildNode, _this = this, _null = null,
        t1 = oldNode == null,
        t2 = t1 ? _null : oldNode.size,
        t3 = newNode == null;
      if (t2 != (t3 ? _null : newNode.size)) {
        t2 = _this.programDiff;
        diffNode = t2.root;
        for (t4 = _this.path, t5 = type$.NodeType, i = 0; i < t4.length; i += 2)
          diffNode = t2.makeNode$3$name$parent$type(A._asString(t4[i]), diffNode, t5._as(t4[i + 1]));
        t2 = diffNode.size;
        if (t2 == null)
          t2 = 0;
        t4 = t3 ? _null : newNode.size;
        if (t4 == null)
          t4 = 0;
        t5 = t1 ? _null : oldNode.size;
        if (t5 == null)
          t5 = 0;
        diffNode.size = t2 + t4 - t5;
      }
      t2 = t3 ? _null : newNode.children;
      t4 = t1 ? _null : oldNode.children;
      t5 = A.LinkedHashSet_LinkedHashSet$_empty(type$.String);
      t2 = t2 == null ? _null : new A.LinkedHashMapKeyIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapKeyIterable<1>"));
      if (t2 != null)
        t5.addAll$1(0, t2);
      t2 = t4 == null ? _null : new A.LinkedHashMapKeyIterable(t4, A._instanceType(t4)._eval$1("LinkedHashMapKeyIterable<1>"));
      if (t2 != null)
        t5.addAll$1(0, t2);
      t2 = A._LinkedHashSetIterator$(t5, t5._collection$_modifications, t5.$ti._precomputed1);
      t4 = _this.path;
      t1 = !t1;
      t3 = !t3;
      t5 = t2.$ti._precomputed1;
      for (; t2.moveNext$0();) {
        t6 = t2._collection$_current;
        if (t6 == null)
          t6 = t5._as(t6);
        newChildNode = t3 ? newNode.children.$index(0, t6) : _null;
        oldChildNode = t1 ? oldNode.children.$index(0, t6) : _null;
        t4.push(t6);
        t6 = oldChildNode == null ? _null : B.List_Oho[oldChildNode._type];
        if (t6 == null)
          t6 = newChildNode == null ? _null : B.List_Oho[newChildNode._type];
        t6.toString;
        t4.push(t6);
        _this.call$2(oldChildNode, newChildNode);
        t4.pop();
        t4.pop();
      }
    },
    $signature: 1138
  };
  A.computeDominators_dfs.prototype = {
    call$0() {
      var t1, t2, t3, t4, t5, t6, s, p, n, t7, t8, _this = this,
        stack = A._setArrayType([new A._DfsState(-1, _this.root)], type$.JSArray__DfsState);
      for (t1 = _this.preorderNumber, t2 = _this.handleEdge, t3 = _this._box_0, t4 = _this.succ, t5 = _this.preorder, t6 = _this.parent; stack.length !== 0;) {
        s = stack.pop();
        p = s.p;
        n = s.n;
        t2.call$2(n, p);
        if (t1[n] === -1) {
          t7 = t3.N;
          t1[n] = t7;
          t5[t7] = n;
          t6[t1[n]] = p;
          for (t7 = J.get$iterator$ax(t4.call$1(n)); t7.moveNext$0();) {
            t8 = t7.get$current(t7);
            stack.push(new A._DfsState(t1[n], t8));
          }
          ++t3.N;
        }
      }
    },
    $signature: 0
  };
  A.computeDominators_compressPath.prototype = {
    call$2(start, current) {
      var t2,
        t1 = this.parent,
        next = t1[current];
      if (next > start) {
        this.call$2(start, next);
        t2 = this.label;
        t2[current] = Math.min(t2[current], t2[next]);
        t1[current] = t1[next];
      }
    },
    $signature: 134
  };
  A._DfsState.prototype = {};
  A.TreemapFormat.prototype = {
    toString$0(_) {
      return "TreemapFormat." + this._core$_name;
    }
  };
  A._treemapFromInfo_cumulativeSize.prototype = {
    call$1(node) {
      var t2,
        t1 = node.size;
      if (t1 == null)
        t1 = 0;
      t2 = node.children;
      return t1 + t2.get$values(t2).fold$2(0, 0, new A._treemapFromInfo_cumulativeSize_closure(this));
    },
    $signature: 1139
  };
  A._treemapFromInfo_cumulativeSize_closure.prototype = {
    call$2(sum, child) {
      return sum + this.cumulativeSize.call$1(child);
    },
    $signature: 1140
  };
  A._treemapFromInfo_recurse.prototype = {
    call$4(node, path, root, format) {
      var t2, path0, t3,
        t1 = node.children;
      if (t1._length !== 0)
        t2 = B.List_Oho[node._type] === B.NodeType_3 && format === B.TreemapFormat_1;
      else
        t2 = true;
      if (t2) {
        A._addSymbol(root, path, node.name, this.cumulativeSize.call$1(node), "T");
        return;
      }
      if (B.List_Oho[node._type] === B.NodeType_0)
        A._addSymbol(root, node.name, "<self>", node.size, "T");
      else {
        path0 = node.name;
        path = path !== "" ? path + "/" + path0 : path0;
        A._addSymbol(root, path, "<self>", node.size, "T");
      }
      for (t1 = t1.get$values(t1), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) {
        t3 = t1.__internal$_current;
        this.call$4(t3 == null ? t2._as(t3) : t3, path, root, format);
      }
    },
    $signature: 1141
  };
  A._treemapFromSnapshot_ownerPath.prototype = {
    call$1(n) {
      var t4,
        t1 = n.id,
        t2 = this.ownerPathCache,
        t3 = t2[t1];
      if (t3 == null) {
        t3 = n.parent;
        t4 = n.name;
        if (t3 !== this.info.root) {
          t3.toString;
          t3 = A.S(this.call$1(t3)) + "/" + t4;
        } else
          t3 = t4;
        t2[t1] = t3;
        t1 = t3;
      } else
        t1 = t3;
      return t1;
    },
    $signature: 1142
  };
  A._nameFormatters_closure.prototype = {
    call$1(n) {
      return n.get$type(n) === "(RO) Instructions" ? "<code>" : "<data>";
    },
    $signature: 302
  };
  A._nameFormatters_closure0.prototype = {
    call$1(n) {
      return "<" + n.get$type(n) + ">";
    },
    $signature: 302
  };
  A._addChild_closure.prototype = {
    call$0() {
      var t1 = this.kind,
        t2 = type$.dynamic,
        n = A.LinkedHashMap_LinkedHashMap$_literal(["n", this.name, "k", t1], type$.String, t2);
      if (t1 !== "s")
        n.$indexSet(0, "children", A.LinkedHashMap_LinkedHashMap$_empty(t2, t2));
      return n;
    },
    $signature: 1144
  };
  A._flatten_closure.prototype = {
    call$1(v) {
      return A._flatten(v, true);
    },
    $signature: 1145
  };
  A.Snapshot0.prototype = {
    nodeAt$1(index) {
      return new A.Node(this, index);
    },
    toString$0(_) {
      var t3,
        t1 = this.nodeCount,
        t2 = "" + "Node count: " + ("" + t1 + "\n") + "Edge count: " + ("" + this.edgeCount + "\n") + "Nodes:";
      for (t1 = A.Iterable_Iterable$generate(t1, this.get$nodeAt(), type$.Node_2), t1 = t1.get$iterator(t1); t1.moveNext$0(); t2 = t3) {
        t3 = t1.get$current(t1);
        t3 = t2 + "\n" + t3.index + ": " + (t3.toString$0(0) + "\n");
      }
      return t2.charCodeAt(0) == 0 ? t2 : t2;
    }
  };
  A.Meta.prototype = {};
  A.Edge.prototype = {
    get$type(_) {
      var t1 = this.snapshot,
        t2 = t1.meta;
      return J.$index$asx(t2.edgeTypes, J.$index$asx(t1._edges, this.index * t2.edgeFieldCount + t2.edgeTypeIndex));
    },
    get$target(_) {
      var t1 = this.snapshot,
        t2 = t1.meta;
      return new A.Node(t1, J.$tdiv$n(J.$index$asx(t1._edges, this.index * t2.edgeFieldCount + t2.edgeToNodeIndex), t2.nodeFieldCount));
    },
    get$name(_) {
      var _this = this,
        t1 = _this.snapshot,
        t2 = t1.meta,
        nameOrIndex = J.$index$asx(t1._edges, _this.index * t2.edgeFieldCount + t2.edgeNameOrIndexIndex);
      return _this.get$type(_this) === "property" ? J.$index$asx(t1.strings, nameOrIndex) : "@" + A.S(nameOrIndex);
    },
    toString$0(_) {
      var _this = this,
        t1 = _this.snapshot,
        t2 = t1.meta,
        nameOrIndex = J.$index$asx(t1._edges, _this.index * t2.edgeFieldCount + t2.edgeNameOrIndexIndex);
      t2 = _this.get$type(_this);
      t1 = _this.get$type(_this) === "property" ? J.$index$asx(t1.strings, nameOrIndex) : nameOrIndex;
      return A.MapBase_mapToString(A.LinkedHashMap_LinkedHashMap$_literal(["type", t2, "nameOrIndex", t1, "toNode", _this.get$target(_this).index], type$.String, type$.dynamic));
    }
  };
  A.Node.prototype = {
    get$type(_) {
      var t1 = this.snapshot,
        t2 = t1.meta;
      return J.$index$asx(t2.nodeTypes, J.$index$asx(t1._v8_profile$_nodes, this.index * t2.nodeFieldCount + t2.nodeTypeIndex));
    },
    get$name(_) {
      var t1 = this.snapshot,
        t2 = t1.meta;
      return J.$index$asx(t1.strings, J.$index$asx(t1._v8_profile$_nodes, this.index * t2.nodeFieldCount + t2.nodeNameIndex));
    },
    get$selfSize() {
      var t1 = this.snapshot,
        t2 = t1.meta;
      return J.$index$asx(t1._v8_profile$_nodes, this.index * t2.nodeFieldCount + t2.nodeSelfSizeIndex);
    },
    get$edges() {
      var $async$self = this;
      return A._makeSyncStarIterable(function() {
        var $async$goto = 0, $async$handler = 1, $async$currentError, t3, i, t1, t2, firstEdgeIndex;
        return function $async$get$edges($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.snapshot;
                t2 = $async$self.index;
                firstEdgeIndex = t1._edgesStartIndexForNode[t2];
                t3 = t1.meta, t3 = J.$index$asx(t1._v8_profile$_nodes, t2 * t3.nodeFieldCount + t3.nodeEdgeCountIndex), i = 0;
              case 2:
                // for condition
                if (!(i < t3)) {
                  // goto after for
                  $async$goto = 4;
                  break;
                }
                $async$goto = 5;
                return new A.Edge(t1, firstEdgeIndex + i);
              case 5:
                // after yield
              case 3:
                // for update
                ++i;
                // goto for condition
                $async$goto = 2;
                break;
              case 4:
                // after for
                // implicit return
                return A._IterationMarker_endOfIteration();
              case 1:
                // rethrow
                return A._IterationMarker_uncaughtError($async$currentError);
            }
        };
      }, type$.Edge);
    },
    toString$0(_) {
      var t5, _this = this,
        t1 = _this.get$type(_this),
        t2 = _this.get$name(_this),
        t3 = _this.snapshot,
        t4 = t3.meta;
      t4 = J.$index$asx(t3._v8_profile$_nodes, _this.index * t4.nodeFieldCount + t4.nodeIdIndex);
      t3 = _this.get$selfSize();
      t5 = _this.get$edges();
      return A.MapBase_mapToString(A.LinkedHashMap_LinkedHashMap$_literal(["type", t1, "name", t2, "id", t4, "selfSize", t3, "edges", A.List_List$of(t5, true, t5.$ti._eval$1("Iterable.E"))], type$.String, type$.Object));
    },
    $index(_, edgeName) {
      var t1 = A.IterableExtension_firstWhereOrNull(this.get$edges(), new A.Node_operator$index_closure(edgeName));
      return t1 == null ? null : J.get$target$x(t1);
    },
    $eq(_, other) {
      if (other == null)
        return false;
      return other instanceof A.Node && other.index === this.index;
    },
    get$hashCode(_) {
      return B.JSInt_methods.get$hashCode(this.index);
    }
  };
  A.Node_operator$index_closure.prototype = {
    call$1(e) {
      return e.get$name(e) === this.edgeName;
    },
    $signature: 1147
  };
  A.SnapshotInfo.prototype = {};
  A._ProgramInfoBuilder.prototype = {
    build$1(snap) {
      var t3, t4, t5, t6, t7, worklist, t8, sourceOwner, t9, targetOwner, updatedOwner, owner, _this = this,
        t1 = _this.infoNodes,
        t2 = _this.program;
      t1.push(t2.root);
      t1.push(t2.stubs);
      t1.push(t2.unknown);
      t3 = snap.nodeCount;
      t4 = snap.get$nodeAt();
      t5 = type$.Node_2;
      A.Iterable_Iterable$generate(t3, t4, t5).forEach$1(0, _this.get$getInfoNodeFor());
      t6 = _this.ownerOf;
      t7 = A._instanceType(t6)._eval$1("LinkedHashMapKeyIterable<1>");
      worklist = A.List_List$of(new A.LinkedHashMapKeyIterable(t6, t7), true, t7._eval$1("Iterable.E"));
      for (t7 = _this.nodesWithFrozenOwner; worklist.length !== 0;) {
        t8 = B.JSArray_methods.removeLast$0(worklist);
        sourceOwner = t6.$index(0, t8);
        for (t8 = new A.Node(snap, t8).get$edges(), t8 = new A._SyncStarIterator(t8._outerHelper(), t8.$ti._eval$1("_SyncStarIterator<1>")); t8.moveNext$0();) {
          t9 = t8.get$current(t8);
          t9 = t9.get$target(t9).index;
          if (!t7.contains$1(0, t9)) {
            targetOwner = t6.$index(0, t9);
            updatedOwner = _this.findCommonAncestor$2(sourceOwner, targetOwner);
            if (updatedOwner !== targetOwner) {
              t6.$indexSet(0, t9, updatedOwner);
              B.JSArray_methods.add$1(worklist, t9);
            }
          }
        }
      }
      for (t3 = A.Iterable_Iterable$generate(t3, t4, t5), t3 = t3.get$iterator(t3); t3.moveNext$0();) {
        t4 = t3.get$current(t3);
        t5 = t4.snapshot;
        t7 = t5._v8_profile$_nodes;
        t4 = t4.index;
        t5 = t5.meta;
        t5 = t4 * t5.nodeFieldCount + t5.nodeSelfSizeIndex;
        t8 = J.getInterceptor$asx(t7);
        if (t8.$index(t7, t5) > 0) {
          t4 = t6.$index(0, t4);
          owner = t1[t4 == null ? 2 : t4];
          t4 = owner.size;
          if (t4 == null)
            t4 = 0;
          owner.size = t4 + t8.$index(t7, t5);
        }
      }
      t2.snapshotInfo = new A.SnapshotInfo(t1, t6);
      return t2;
    },
    getInfoNodeFor$1(node) {
      var t2, t3, t4, scripts, t5, t6, t7, t8, _this = this,
        t1 = node.index,
        info = _this.infoNodeByIndex.$index(0, t1);
      if (info == null) {
        info = _this.createInfoNodeFor$1(node);
        if (info != null) {
          t2 = _this.nodesWithFrozenOwner;
          t2.add$1(0, t1);
          t3 = _this.ownerOf;
          t4 = info.id;
          t3.$indexSet(0, t1, t4);
          switch (node.get$type(node)) {
            case "Code":
              t1 = node.$index(0, "<instructions>").index;
              t2.add$1(0, t1);
              t3.$indexSet(0, t1, _this.findCommonAncestor$2(t3.$index(0, t1), t4));
              break;
            case "Library":
              scripts = node.$index(0, "owned_scripts_");
              if (scripts != null)
                for (t1 = scripts.get$edges(), t1 = new A._SyncStarIterator(t1._outerHelper(), t1.$ti._eval$1("_SyncStarIterator<1>")); t1.moveNext$0();) {
                  t5 = t1.get$current(t1);
                  t6 = t5.get$target(t5);
                  t7 = t6.snapshot;
                  t8 = t7.meta;
                  if (J.$index$asx(t8.nodeTypes, J.$index$asx(t7._v8_profile$_nodes, t6.index * t8.nodeFieldCount + t8.nodeTypeIndex)) === "Script") {
                    t2.add$1(0, t5.get$target(t5).index);
                    t6 = t5.get$target(t5);
                    t5 = t3.$index(0, t5.get$target(t5).index);
                    t5.toString;
                    t3.$indexSet(0, t6.index, _this.findCommonAncestor$2(t5, t4));
                  }
                }
              break;
          }
        }
      }
      return info;
    },
    createInfoNodeFor$1(node) {
      var owner, ownerNode, t1, data, t2, ownerNode0, packageName, _this = this, _s6_ = "owner_",
        _s8_ = "library_";
      switch (node.get$type(node)) {
        case "Code":
          owner = node.$index(0, _s6_);
          if (owner.get$type(owner) !== "Type") {
            if (owner.get$type(owner) === "Null")
              ownerNode = _this.program.stubs;
            else {
              t1 = _this.getInfoNodeFor$1(owner);
              t1.toString;
              ownerNode = t1;
            }
            if (owner.get$type(owner) === "Function")
              return ownerNode;
            return _this.makeInfoNode$4$name$parent$type(node.index, node.get$name(node), ownerNode, B.NodeType_3);
          }
          break;
        case "Function":
          if (node.get$name(node) !== "<anonymous signature>") {
            t1 = node.$index(0, _s6_);
            t1.toString;
            data = node.$index(0, "data_");
            if (data != null && data.get$type(data) === "ClosureData") {
              t1 = data.$index(0, "parent_function_");
              t1.toString;
              owner = t1;
            } else
              owner = t1;
            t1 = node.get$name(node);
            t2 = _this.getInfoNodeFor$1(owner);
            t2.toString;
            return _this.makeInfoNode$4$name$parent$type(node.index, t1, t2, B.NodeType_3);
          }
          break;
        case "PatchClass":
          t1 = node.$index(0, "patched_class_");
          t1.toString;
          return _this.getInfoNodeFor$1(t1);
        case "Class":
          ownerNode = _this.program.root;
          if (node.$index(0, _s8_) != null) {
            t1 = node.$index(0, _s8_);
            t1.toString;
            ownerNode0 = _this.getInfoNodeFor$1(t1);
            ownerNode = ownerNode0 == null ? ownerNode : ownerNode0;
          }
          return _this.makeInfoNode$4$name$parent$type(node.index, node.get$name(node), ownerNode, B.NodeType_2);
        case "Library":
          packageName = A.packageOf(node.get$name(node));
          t1 = node.get$name(node);
          t2 = packageName !== node.get$name(node) ? _this.packageOwner$1(packageName) : _this.program.root;
          return _this.makeInfoNode$4$name$parent$type(node.index, t1, t2, B.NodeType_1);
        case "Field":
          t1 = node.get$name(node);
          t2 = node.$index(0, _s6_);
          t2.toString;
          t2 = _this.getInfoNodeFor$1(t2);
          t2.toString;
          return _this.makeInfoNode$4$name$parent$type(node.index, t1, t2, B.NodeType_4);
      }
      return null;
    },
    makeInfoNode$4$name$parent$type(index, $name, $parent, type) {
      var node, t1;
      $name = new A.Name($name).get$scrubbed();
      node = this.program.makeNode$3$name$parent$type($name, $parent, type);
      t1 = this.infoNodes;
      if (node.id === t1.length)
        t1.push(node);
      if (index != null)
        this.infoNodeByIndex.$indexSet(0, index, node);
      return node;
    },
    packageOwner$1(packageName) {
      return this.infoNodeForPackage.putIfAbsent$2(0, packageName, new A._ProgramInfoBuilder_packageOwner_closure(this, packageName));
    },
    findCommonAncestor$2(idA, idB) {
      var t1, infoA, infoB, key, ancestor;
      if (idA == null) {
        idB.toString;
        return idB;
      }
      if (idB == null)
        return idA;
      if (idA === idB)
        return idA;
      if (idA === 0 || idB === 0)
        return 0;
      t1 = this.infoNodes;
      infoA = t1[idA];
      infoB = t1[idB];
      key = A._ProgramInfoBuilder_ancestorCacheKey(idA, idB);
      t1 = this.commonAncestorCache;
      ancestor = t1.$index(0, key);
      if (ancestor == null) {
        ancestor = A._ProgramInfoBuilder_findCommonAncestorImpl(infoA, infoB).id;
        t1.$indexSet(0, key, ancestor);
      }
      return ancestor;
    }
  };
  A._ProgramInfoBuilder_packageOwner_closure.prototype = {
    call$0() {
      var t1 = this.$this;
      return t1.makeInfoNode$4$name$parent$type(null, this.packageName, t1.program.root, B.NodeType_0);
    },
    $signature: 307
  };
  A.HtmlWebSocketChannel.prototype = {
    get$stream(_) {
      var t1 = this._html0$_controller.__StreamChannelController__foreign;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__GuaranteeChannel__streamController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>"));
    },
    get$sink() {
      var t1, _this = this,
        value = _this.__HtmlWebSocketChannel_sink;
      if (value === $) {
        t1 = _this._html0$_controller.__StreamChannelController__foreign;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        t1 = t1.__GuaranteeChannel__sink;
        if (t1 === $)
          A.throwUnnamedLateFieldNI();
        if (value !== $)
          A.throwUnnamedLateFieldADI();
        value = _this.__HtmlWebSocketChannel_sink = new A._HtmlWebSocketSink(_this, t1);
      }
      return value;
    },
    HtmlWebSocketChannel$1(innerWebSocket) {
      var t2, t3, _this = this,
        t1 = _this.innerWebSocket;
      if (t1.readyState === 1)
        _this._listen$0();
      else {
        t2 = new A._EventStream(t1, "open", false, type$._EventStream_Event);
        t2.get$first(t2).then$1$1(new A.HtmlWebSocketChannel_closure(_this), type$.Null);
      }
      t2 = new A._EventStream(t1, "error", false, type$._EventStream_Event);
      t3 = type$.Null;
      t2.get$first(t2).then$1$1(new A.HtmlWebSocketChannel_closure0(_this), t3);
      A._EventStreamSubscription$(t1, "message", new A.HtmlWebSocketChannel_closure1(_this), false, type$.MessageEvent);
      t1 = new A._EventStream(t1, "close", false, type$._EventStream_CloseEvent);
      t1.get$first(t1).then$1$1(new A.HtmlWebSocketChannel_closure2(_this), t3);
    },
    _listen$0() {
      var t1 = this._html0$_controller.__StreamChannelController__local;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__GuaranteeChannel__streamController;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>")).listen$2$onDone(B.WebSocket_methods.get$send(this.innerWebSocket), new A.HtmlWebSocketChannel__listen_closure(this));
    }
  };
  A.HtmlWebSocketChannel_closure.prototype = {
    call$1(_) {
      this.$this._listen$0();
    },
    $signature: 14
  };
  A.HtmlWebSocketChannel_closure0.prototype = {
    call$1(_) {
      var t1 = this.$this._html0$_controller,
        t2 = t1.__StreamChannelController__local;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2 = t2.__GuaranteeChannel__sink;
      if (t2 === $)
        A.throwUnnamedLateFieldNI();
      t2.addError$1(new A.WebSocketChannelException("WebSocket connection failed."));
      t1 = t1.__StreamChannelController__local;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__GuaranteeChannel__sink;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.close$0(0);
    },
    $signature: 14
  };
  A.HtmlWebSocketChannel_closure1.prototype = {
    call$1($event) {
      var t1,
        data = new A._AcceptStructuredCloneDart2Js([], []).convertNativeToDart_AcceptStructuredClone$2$mustCopy($event.data, true);
      if (type$.ByteBuffer._is(data))
        data = A.NativeUint8List_NativeUint8List$view(data, 0, null);
      t1 = this.$this._html0$_controller.__StreamChannelController__local;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__GuaranteeChannel__sink;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.add$1(0, data);
    },
    $signature: 1149
  };
  A.HtmlWebSocketChannel_closure2.prototype = {
    call$1($event) {
      var t1 = this.$this;
      t1._closeCode = $event.code;
      $event.reason;
      t1 = t1._html0$_controller.__StreamChannelController__local;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1 = t1.__GuaranteeChannel__sink;
      if (t1 === $)
        A.throwUnnamedLateFieldNI();
      t1.close$0(0);
    },
    $signature: 1150
  };
  A.HtmlWebSocketChannel__listen_closure.prototype = {
    call$0() {
      this.$this.innerWebSocket.close();
    },
    $signature: 0
  };
  A._HtmlWebSocketSink.prototype = {
    close$0(_) {
      var t1 = this._html0$_channel;
      t1._localCloseReason = t1._localCloseCode = null;
      return this.super$DelegatingStreamSink$close(0);
    }
  };
  A.WebSocketChannel.prototype = {
    get$stream(_) {
      return new A.StreamView(this._webSocket, type$.StreamView_dynamic);
    },
    get$sink() {
      var t1 = this._webSocket;
      return new A.WebSocketSink(t1, t1);
    }
  };
  A.WebSocketSink.prototype = {
    close$0(_) {
      return this._webSocket.close$2(0, null, null);
    }
  };
  A.WebSocketChannelException.prototype = {
    toString$0(_) {
      return "WebSocketChannelException: " + this.message;
    },
    $isException: 1,
    get$message(receiver) {
      return this.message;
    }
  };
  A.main_closure0.prototype = {
    call$0() {
      var t1 = type$.dynamic_Function_List_String;
      if (t1._is(A.main__main$closure()))
        return t1._as(A.main__main$closure()).call$1(A._setArrayType([], type$.JSArray_String));
      return A.main0();
    },
    $signature: 92
  };
  A.main_closure.prototype = {
    call$0() {
      var vendor, appVersion,
        registrar = $.$get$webPluginRegistrar(),
        t1 = A._ElementFactoryProvider_createElement_tag("file-selector", null),
        t2 = new A.DomHelper(t1),
        t3 = document.querySelector("body");
      t3.toString;
      J.get$children$x(t3).add$1(0, t1);
      t1 = t2;
      t2 = $.$get$FileSelectorPlatform__token();
      t1 = new A.FileSelectorWeb(t1, t2);
      A.PlatformInterface__verify(t1, t2, true);
      $.FileSelectorPlatform__instance = t1;
      t1 = window;
      t2 = $.$get$UrlLauncherPlatform__token();
      t3 = new A.UrlLauncherPlugin(t1, t2);
      t1 = t1.navigator;
      vendor = t1.vendor;
      appVersion = t1.appVersion;
      if (B.JSString_methods.contains$1(vendor, "Apple"))
        t1 = B.JSString_methods.contains$1(appVersion, "Version");
      else
        t1 = false;
      t3._isSafari = t1;
      A.PlatformInterface__verify(t3, t2, true);
      $.UrlLauncherPlatform__instance = t3;
      $.$get$platformViewRegistry();
      $.$get$platformViewManager().registerFactory$3$isVisible("__url_launcher::link", A.link_LinkViewController__viewFactory$closure(), false);
      $.pluginMessageCallHandler = registrar.get$handleFrameworkMessage();
    },
    $signature: 7
  };
  (function aliases() {
    var _ = A._SaveStackTracking.prototype;
    _.super$_SaveStackTracking$clear = _.clear$0;
    _.super$_SaveStackTracking$save = _.save$0;
    _.super$_SaveStackTracking$restore = _.restore$0;
    _.super$_SaveStackTracking$translate = _.translate$2;
    _.super$_SaveStackTracking$scale = _.scale$2;
    _.super$_SaveStackTracking$rotate = _.rotate$1;
    _.super$_SaveStackTracking$transform = _.transform$1;
    _.super$_SaveStackTracking$clipRect = _.clipRect$1;
    _.super$_SaveStackTracking$clipRRect = _.clipRRect$1;
    _.super$_SaveStackTracking$clipPath = _.clipPath$1;
    _ = A.CkCanvas.prototype;
    _.super$CkCanvas$clear = _.clear$1;
    _.super$CkCanvas$clipPath = _.clipPath$2;
    _.super$CkCanvas$clipRRect = _.clipRRect$2;
    _.super$CkCanvas$clipRect = _.clipRect$3;
    _.super$CkCanvas$drawArc = _.drawArc$5;
    _.super$CkCanvas$drawCircle = _.drawCircle$3;
    _.super$CkCanvas$drawDRRect = _.drawDRRect$3;
    _.super$CkCanvas$drawImageRect = _.drawImageRect$4;
    _.super$CkCanvas$drawLine = _.drawLine$3;
    _.super$CkCanvas$drawOval = _.drawOval$2;
    _.super$CkCanvas$drawPaint = _.drawPaint$1;
    _.super$CkCanvas$drawParagraph = _.drawParagraph$2;
    _.super$CkCanvas$drawPath = _.drawPath$2;
    _.super$CkCanvas$drawPicture = _.drawPicture$1;
    _.super$CkCanvas$drawRRect = _.drawRRect$2;
    _.super$CkCanvas$drawRect = _.drawRect$2;
    _.super$CkCanvas$drawShadow = _.drawShadow$4;
    _.super$CkCanvas$restore = _.restore$0;
    _.super$CkCanvas$rotate = _.rotate$1;
    _.super$CkCanvas$save = _.save$0;
    _.super$CkCanvas$saveLayer = _.saveLayer$2;
    _.super$CkCanvas$scale = _.scale$2;
    _.super$CkCanvas$transform = _.transform$1;
    _.super$CkCanvas$translate = _.translate$2;
    _ = A.ContainerLayer.prototype;
    _.super$ContainerLayer$preroll = _.preroll$2;
    _ = A._DomClip.prototype;
    _.super$_DomClip$createElement = _.createElement$0;
    _ = A.PersistedSurface.prototype;
    _.super$PersistedSurface$revive = _.revive$0;
    _.super$PersistedSurface$build = _.build$0;
    _.super$PersistedSurface$adoptElements = _.adoptElements$1;
    _.super$PersistedSurface$update = _.update$1;
    _.super$PersistedSurface$retain = _.retain$0;
    _.super$PersistedSurface$discard = _.discard$0;
    _.super$PersistedSurface$preroll = _.preroll$1;
    _ = A.PersistedContainerSurface.prototype;
    _.super$PersistedContainerSurface$recomputeTransformAndClip = _.recomputeTransformAndClip$0;
    _.super$PersistedContainerSurface$update = _.update$1;
    _.super$PersistedContainerSurface$discard = _.discard$0;
    _ = A.DefaultTextEditingStrategy.prototype;
    _.super$DefaultTextEditingStrategy$initializeTextEditing = _.initializeTextEditing$3$onAction$onChange;
    _.super$DefaultTextEditingStrategy$updateElementStyle = _.updateElementStyle$1;
    _.super$DefaultTextEditingStrategy$disable = _.disable$0;
    _.super$DefaultTextEditingStrategy$enable = _.enable$3$onAction$onChange;
    _ = J.Interceptor.prototype;
    _.super$Interceptor$toString = _.toString$0;
    _.super$Interceptor$noSuchMethod = _.noSuchMethod$1;
    _ = 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;
    _.super$_BroadcastStreamController$add = _.add$1;
    _.super$_BroadcastStreamController$close = _.close$0;
    _.super$_BroadcastStreamController$_callOnCancel = _._callOnCancel$0;
    _ = A._BufferingStreamSubscription.prototype;
    _.super$_BufferingStreamSubscription$_add = _._async$_add$1;
    _.super$_BufferingStreamSubscription$_addError = _._addError$2;
    _ = A._HashMap.prototype;
    _.super$_HashMap$_containsKey = _._containsKey$1;
    _.super$_HashMap$_get = _._get$1;
    _.super$_HashMap$_set = _._set$2;
    _.super$_HashMap$_remove = _._remove$1;
    _ = A.ListMixin.prototype;
    _.super$ListMixin$setRange = _.setRange$4;
    _ = A.Iterable.prototype;
    _.super$Iterable$where = _.where$1;
    _.super$Iterable$skipWhile = _.skipWhile$1;
    _ = A.Object.prototype;
    _.super$Object$$eq = _.$eq;
    _.super$Object$toString = _.toString$0;
    _.super$Object$noSuchMethod = _.noSuchMethod$1;
    _ = A.EventTarget.prototype;
    _.super$EventTarget$addEventListener = _.addEventListener$3;
    _ = A.JsObject.prototype;
    _.super$JsObject$$index = _.$index;
    _.super$JsObject$$indexSet = _.$indexSet;
    _ = A._JsArray_JsObject_ListMixin.prototype;
    _.super$_JsArray_JsObject_ListMixin$$indexSet = _.$indexSet;
    _ = A.Color.prototype;
    _.super$Color$$eq = _.$eq;
    _.super$Color$toString = _.toString$0;
    _ = A.DelegatingStreamSink.prototype;
    _.super$DelegatingStreamSink$close = _.close$0;
    _ = A.DelegatingStreamSubscription.prototype;
    _.super$DelegatingStreamSubscription$onError = _.onError$1;
    _.super$DelegatingStreamSubscription$cancel = _.cancel$0;
    _ = A.FlameChartState.prototype;
    _.super$FlameChartState$initState = _.initState$0;
    _.super$FlameChartState$initFlameChartElements = _.initFlameChartElements$0;
    _ = A._FlameChartState_State_AutoDisposeMixin.prototype;
    _.super$_FlameChartState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin.prototype;
    _.super$_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._ScrollingFlameChartRowState_State_AutoDisposeMixin.prototype;
    _.super$_ScrollingFlameChartRowState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.DisposableController.prototype;
    _.super$DisposableController$dispose = _.dispose$0;
    _ = A.__CustomPointerScrollableState_State_TickerProviderStateMixin.prototype;
    _.super$__CustomPointerScrollableState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.ExtentDelegate.prototype;
    _.super$ExtentDelegate$recompute = _.recompute$0;
    _ = A.TreeNode.prototype;
    _.super$TreeNode$expand = _.expand$0;
    _.super$TreeNode$leaf = _.leaf$0;
    _ = A.__AppSizeBodyState_State_AutoDisposeMixin.prototype;
    _.super$__AppSizeBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype;
    _.super$__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__CodeViewState_State_AutoDisposeMixin.prototype;
    _.super$__CodeViewState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A._ExpressionEvalFieldState_State_AutoDisposeMixin.prototype;
    _.super$_ExpressionEvalFieldState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$_ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$_ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A._FileSearchFieldState_State_AutoDisposeMixin.prototype;
    _.super$_FileSearchFieldState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$_FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$_FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A.__FileExplorerState_State_AutoDisposeMixin.prototype;
    _.super$__FileExplorerState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._InspectorController_DisposableController_AutoDisposeControllerMixin.prototype;
    _.super$_InspectorController_DisposableController_AutoDisposeControllerMixin$dispose = _.dispose$0;
    _ = A._InspectorScreenBodyState_State_BlockingActionMixin.prototype;
    _.super$_InspectorScreenBodyState_State_BlockingActionMixin$dispose = _.dispose$0;
    _ = A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin.prototype;
    _.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin.prototype;
    _.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$_InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A.InspectorServiceBase.prototype;
    _.super$InspectorServiceBase$dispose = _.dispose$0;
    _ = A._InspectorServiceBase_DisposableController_AutoDisposeControllerMixin.prototype;
    _.super$_InspectorServiceBase_DisposableController_AutoDisposeControllerMixin$dispose = _.dispose$0;
    _ = A.__InspectorTreeRowState_State_TickerProviderStateMixin.prototype;
    _.super$__InspectorTreeRowState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__InspectorTreeState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__InspectorTreeState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype;
    _.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin.prototype;
    _.super$__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = A._LayoutExplorerWidgetState_State_TickerProviderStateMixin.prototype;
    _.super$_LayoutExplorerWidgetState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__LoggingScreenState_State_AutoDisposeMixin.prototype;
    _.super$__LoggingScreenState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin.prototype;
    _.super$__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$initState = _.initState$0;
    _ = A._HeapTreeViewState_State_AutoDisposeMixin.prototype;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin.prototype;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin.prototype;
    _.super$_HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._MemoryBodyState_State_AutoDisposeMixin.prototype;
    _.super$_MemoryBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__MemoryChartPaneState_State_AutoDisposeMixin.prototype;
    _.super$__MemoryChartPaneState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin.prototype;
    _.super$__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.NetworkRequest.prototype;
    _.super$NetworkRequest$$eq = _.$eq;
    _ = A.__NetworkProfilerControlsState_State_AutoDisposeMixin.prototype;
    _.super$__NetworkProfilerControlsState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _ = A.__NetworkScreenBodyState_State_AutoDisposeMixin.prototype;
    _.super$__NetworkScreenBodyState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__FlutterFramesChartState_State_AutoDisposeMixin.prototype;
    _.super$__FlutterFramesChartState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.TimelineEvent0.prototype;
    _.super$TimelineEvent$addChild = _.addChild$2$index;
    _ = A.__TabbedPerformanceViewState_State_AutoDisposeMixin.prototype;
    _.super$__TabbedPerformanceViewState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _ = A.__CpuProfilerState_State_TickerProviderStateMixin.prototype;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin.prototype;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin.prototype;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$initState = _.initState$0;
    _.super$__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin$dispose = _.dispose$0;
    _ = A._EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin.prototype;
    _.super$_EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin$dispose = _.dispose$0;
    _ = A.__InitializerState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__InitializerState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__ConnectDialogState_State_BlockingActionMixin.prototype;
    _.super$__ConnectDialogState_State_BlockingActionMixin$dispose = _.dispose$0;
    _ = A.__NotificationState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__NotificationState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__ReleaseNotesViewerState_State_AutoDisposeMixin.prototype;
    _.super$__ReleaseNotesViewerState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._DevToolsScaffoldState_State_AutoDisposeMixin.prototype;
    _.super$_DevToolsScaffoldState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin.prototype;
    _.super$_DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._TreeTableState_State_TickerProviderStateMixin.prototype;
    _.super$_TreeTableState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__TableRowState_State_TickerProviderStateMixin.prototype;
    _.super$__TableRowState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin.prototype;
    _.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$initState = _.initState$0;
    _.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$dispose = _.dispose$0;
    _.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin$didUpdateWidget = _.didUpdateWidget$1;
    _ = A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin.prototype;
    _.super$__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__TableState_State_AutoDisposeMixin.prototype;
    _.super$__TableState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.ColumnData.prototype;
    _.super$ColumnData$compare = _.compare$2;
    _ = A.__TreeViewItemState_State_TickerProviderStateMixin.prototype;
    _.super$__TreeViewItemState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__FilterDialogState_State_AutoDisposeMixin.prototype;
    _.super$__FilterDialogState_State_AutoDisposeMixin$dispose = _.dispose$0;
    _ = A.__AnalyticsTabbedViewState_State_TickerProviderStateMixin.prototype;
    _.super$__AnalyticsTabbedViewState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.Animation.prototype;
    _.super$Animation$toStringDetails = _.toStringDetails$0;
    _ = A.AnimationWithParentMixin.prototype;
    _.super$AnimationWithParentMixin$removeListener = _.removeListener$1;
    _.super$AnimationWithParentMixin$removeStatusListener = _.removeStatusListener$1;
    _ = A.ParametricCurve.prototype;
    _.super$ParametricCurve$transform = _.transform$1;
    _ = A.AnimationEagerListenerMixin.prototype;
    _.super$AnimationEagerListenerMixin$dispose = _.dispose$0;
    _ = A.BindingBase.prototype;
    _.super$BindingBase$initInstances = _.initInstances$0;
    _.super$BindingBase$initServiceExtensions = _.initServiceExtensions$0;
    _.super$BindingBase$unlocked = _.unlocked$0;
    _.super$BindingBase$performReassemble = _.performReassemble$0;
    _ = A.ChangeNotifier.prototype;
    _.super$ChangeNotifier$addListener = _.addListener$1;
    _.super$ChangeNotifier$removeListener = _.removeListener$1;
    _.super$ChangeNotifier$dispose = _.dispose$0;
    _.super$ChangeNotifier$notifyListeners = _.notifyListeners$0;
    _ = A.ValueNotifier.prototype;
    _.super$ValueNotifier$value = _.set$value;
    _ = A.Diagnosticable.prototype;
    _.super$Diagnosticable$toStringShort = _.toStringShort$0;
    _.super$Diagnosticable$debugFillProperties = _.debugFillProperties$1;
    _ = A.DiagnosticableTree.prototype;
    _.super$DiagnosticableTree$toDiagnosticsNode = _.toDiagnosticsNode$2$name$style;
    _ = A.DiagnosticableTreeMixin.prototype;
    _.super$DiagnosticableTreeMixin$toStringDeep = _.toStringDeep$3$minLevel$prefixLineOne$prefixOtherLines;
    _.super$DiagnosticableTreeMixin$toStringShort = _.toStringShort$0;
    _ = A.AbstractNode.prototype;
    _.super$AbstractNode$attach = _.attach$1;
    _.super$AbstractNode$detach = _.detach$0;
    _.super$AbstractNode$adoptChild = _.adoptChild$1;
    _.super$AbstractNode$dropChild = _.dropChild$1;
    _ = A.GestureBinding.prototype;
    _.super$GestureBinding$hitTest = _.hitTest$2;
    _.super$GestureBinding$dispatchEvent = _.dispatchEvent$2;
    _ = A.LongPressGestureRecognizer.prototype;
    _.super$LongPressGestureRecognizer$isPointerAllowed = _.isPointerAllowed$1;
    _ = A.GestureRecognizer.prototype;
    _.super$GestureRecognizer$addAllowedPointerPanZoom = _.addAllowedPointerPanZoom$1;
    _.super$GestureRecognizer$isPointerAllowed = _.isPointerAllowed$1;
    _.super$GestureRecognizer$dispose = _.dispose$0;
    _ = A.OneSequenceGestureRecognizer.prototype;
    _.super$OneSequenceGestureRecognizer$addAllowedPointer = _.addAllowedPointer$1;
    _.super$OneSequenceGestureRecognizer$handleNonAllowedPointer = _.handleNonAllowedPointer$1;
    _.super$OneSequenceGestureRecognizer$resolve = _.resolve$1;
    _.super$OneSequenceGestureRecognizer$dispose = _.dispose$0;
    _.super$OneSequenceGestureRecognizer$startTrackingPointer = _.startTrackingPointer$2;
    _ = A.PrimaryPointerGestureRecognizer.prototype;
    _.super$PrimaryPointerGestureRecognizer$addAllowedPointer = _.addAllowedPointer$1;
    _.super$PrimaryPointerGestureRecognizer$acceptGesture = _.acceptGesture$1;
    _.super$PrimaryPointerGestureRecognizer$rejectGesture = _.rejectGesture$1;
    _ = A.TapGestureRecognizer.prototype;
    _.super$TapGestureRecognizer$isPointerAllowed = _.isPointerAllowed$1;
    _ = A.__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin.prototype;
    _.super$__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__CheckboxState_State_TickerProviderStateMixin.prototype;
    _.super$__CheckboxState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype;
    _.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$initState = _.initState$0;
    _.super$__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose = _.dispose$0;
    _ = A.__ExpansionTileState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__ExpansionTileState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.InkResponse.prototype;
    _.super$InkResponse$debugCheckContext = _.debugCheckContext$1;
    _ = A.__InkResponseState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _.super$__InkResponseState_State_AutomaticKeepAliveClientMixin$deactivate = _.deactivate$0;
    _ = A.__BorderContainerState_State_TickerProviderStateMixin.prototype;
    _.super$__BorderContainerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__HelperErrorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__HelperErrorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__InputDecoratorState_State_TickerProviderStateMixin.prototype;
    _.super$__InputDecoratorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.InkFeature.prototype;
    _.super$InkFeature$dispose = _.dispose$0;
    _ = A.__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__NavigationRailState_State_TickerProviderStateMixin.prototype;
    _.super$__NavigationRailState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__RadioState_State_TickerProviderStateMixin.prototype;
    _.super$__RadioState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype;
    _.super$__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose = _.dispose$0;
    _ = A._ScaffoldMessengerState_State_TickerProviderStateMixin.prototype;
    _.super$_ScaffoldMessengerState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._ScaffoldState_State_TickerProviderStateMixin.prototype;
    _.super$_ScaffoldState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin.prototype;
    _.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget = _.didUpdateWidget$1;
    _.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies = _.didChangeDependencies$0;
    _.super$_ScaffoldState_State_TickerProviderStateMixin_RestorationMixin$dispose = _.dispose$0;
    _ = A.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin.prototype;
    _.super$__FloatingActionButtonTransitionState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__MaterialSwitchState_State_TickerProviderStateMixin.prototype;
    _.super$__MaterialSwitchState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin.prototype;
    _.super$__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin$dispose = _.dispose$0;
    _ = A.__TextFieldState_State_RestorationMixin.prototype;
    _.super$__TextFieldState_State_RestorationMixin$didUpdateWidget = _.didUpdateWidget$1;
    _.super$__TextFieldState_State_RestorationMixin$didChangeDependencies = _.didChangeDependencies$0;
    _.super$__TextFieldState_State_RestorationMixin$dispose = _.dispose$0;
    _ = A.ToggleablePainter.prototype;
    _.super$ToggleablePainter$dispose = _.dispose$0;
    _ = A._TooltipState_State_SingleTickerProviderStateMixin.prototype;
    _.super$_TooltipState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.BorderRadiusGeometry.prototype;
    _.super$BorderRadiusGeometry$subtract = _.subtract$1;
    _.super$BorderRadiusGeometry$add = _.add$1;
    _ = A.ShapeBorder.prototype;
    _.super$ShapeBorder$lerpFrom = _.lerpFrom$2;
    _.super$ShapeBorder$lerpTo = _.lerpTo$2;
    _ = A.OutlinedBorder.prototype;
    _.super$OutlinedBorder$lerpFrom = _.lerpFrom$2;
    _.super$OutlinedBorder$lerpTo = _.lerpTo$2;
    _ = A.Decoration.prototype;
    _.super$Decoration$lerpFrom = _.lerpFrom$2;
    _.super$Decoration$lerpTo = _.lerpTo$2;
    _ = A.BoxPainter.prototype;
    _.super$BoxPainter$dispose = _.dispose$0;
    _ = A.EdgeInsetsGeometry.prototype;
    _.super$EdgeInsetsGeometry$add = _.add$1;
    _ = A._CachedImageBase.prototype;
    _.super$_CachedImageBase$dispose = _.dispose$0;
    _ = A.ImageStreamCompleter.prototype;
    _.super$ImageStreamCompleter$addListener = _.addListener$1;
    _.super$ImageStreamCompleter$removeListener = _.removeListener$1;
    _.super$ImageStreamCompleter$_maybeDispose = _._maybeDispose$0;
    _ = A.InlineSpan.prototype;
    _.super$InlineSpan$$eq = _.$eq;
    _ = A.SpringSimulation.prototype;
    _.super$SpringSimulation$x = _.x$1;
    _ = A.RendererBinding.prototype;
    _.super$RendererBinding$handleMetricsChanged = _.handleMetricsChanged$0;
    _.super$RendererBinding$handleTextScaleFactorChanged = _.handleTextScaleFactorChanged$0;
    _.super$RendererBinding$handlePlatformBrightnessChanged = _.handlePlatformBrightnessChanged$0;
    _.super$RendererBinding$drawFrame = _.drawFrame$0;
    _ = A.BoxConstraints.prototype;
    _.super$BoxConstraints$$eq = _.$eq;
    _ = A.BoxParentData.prototype;
    _.super$BoxParentData$toString = _.toString$0;
    _ = A.RenderBox.prototype;
    _.super$RenderBox$computeDistanceToActualBaseline = _.computeDistanceToActualBaseline$1;
    _.super$RenderBox$markNeedsLayout = _.markNeedsLayout$0;
    _.super$RenderBox$performResize = _.performResize$0;
    _.super$RenderBox$hitTest = _.hitTest$2$position;
    _.super$RenderBox$applyPaintTransform = _.applyPaintTransform$2;
    _ = A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin.prototype;
    _.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin.prototype;
    _.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$attach = _.attach$1;
    _.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin$detach = _.detach$0;
    _ = A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin.prototype;
    _.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = A.RenderFlex.prototype;
    _.super$RenderFlex$performLayout = _.performLayout$0;
    _ = A.Layer0.prototype;
    _.super$Layer$_fireCompositionCallbacks = _._fireCompositionCallbacks$1$includeChildren;
    _.super$Layer$dispose = _.dispose$0;
    _.super$Layer$updateSubtreeNeedsAddToScene = _.updateSubtreeNeedsAddToScene$0;
    _ = A.ContainerLayer0.prototype;
    _.super$ContainerLayer$findAnnotations = _.findAnnotations$1$3$onlyFirst;
    _.super$ContainerLayer$attach = _.attach$1;
    _.super$ContainerLayer$detach = _.detach$0;
    _ = A.OffsetLayer.prototype;
    _.super$OffsetLayer$findAnnotations = _.findAnnotations$1$3$onlyFirst;
    _ = A.ParentData.prototype;
    _.super$ParentData$detach = _.detach$0;
    _ = A.RenderObject.prototype;
    _.super$RenderObject$reassemble = _.reassemble$0;
    _.super$RenderObject$dispose = _.dispose$0;
    _.super$RenderObject$adoptChild = _.adoptChild$1;
    _.super$RenderObject$attach = _.attach$1;
    _.super$RenderObject$markNeedsLayout = _.markNeedsLayout$0;
    _.super$RenderObject$layout = _.layout$2$parentUsesSize;
    _.super$RenderObject$markNeedsPaint = _.markNeedsPaint$0;
    _.super$RenderObject$paint = _.paint$2;
    _.super$RenderObject$applyPaintTransform = _.applyPaintTransform$2;
    _.super$RenderObject$describeSemanticsConfiguration = _.describeSemanticsConfiguration$1;
    _.super$RenderObject$clearSemantics = _.clearSemantics$0;
    _.super$RenderObject$visitChildrenForSemantics = _.visitChildrenForSemantics$1;
    _.super$RenderObject$assembleSemanticsNode = _.assembleSemanticsNode$3;
    _.super$RenderObject$handleEvent = _.handleEvent$2;
    _.super$RenderObject$toStringShort = _.toStringShort$0;
    _.super$RenderObject$showOnScreen = _.showOnScreen$4$curve$descendant$duration$rect;
    _ = A.ContainerRenderObjectMixin.prototype;
    _.super$ContainerRenderObjectMixin$insert = _.insert$2$after;
    _.super$ContainerRenderObjectMixin$remove = _.remove$1;
    _.super$ContainerRenderObjectMixin$move = _.move$2$after;
    _.super$ContainerRenderObjectMixin$redepthChildren = _.redepthChildren$0;
    _.super$ContainerRenderObjectMixin$visitChildren = _.visitChildren$1;
    _ = A.RelayoutWhenSystemFontsChangeMixin.prototype;
    _.super$RelayoutWhenSystemFontsChangeMixin$systemFontsDidChange = _.systemFontsDidChange$0;
    _ = A._RenderParagraph_RenderBox_ContainerRenderObjectMixin.prototype;
    _.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderParagraph_RenderBox_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = A.RenderProxyBoxMixin.prototype;
    _.super$RenderProxyBoxMixin$computeMinIntrinsicWidth = _.computeMinIntrinsicWidth$1;
    _.super$RenderProxyBoxMixin$computeMaxIntrinsicWidth = _.computeMaxIntrinsicWidth$1;
    _.super$RenderProxyBoxMixin$computeMinIntrinsicHeight = _.computeMinIntrinsicHeight$1;
    _.super$RenderProxyBoxMixin$computeMaxIntrinsicHeight = _.computeMaxIntrinsicHeight$1;
    _.super$RenderProxyBoxMixin$computeDryLayout = _.computeDryLayout$1;
    _.super$RenderProxyBoxMixin$performLayout = _.performLayout$0;
    _.super$RenderProxyBoxMixin$hitTestChildren = _.hitTestChildren$2$position;
    _.super$RenderProxyBoxMixin$paint = _.paint$2;
    _ = A.RenderProxyBoxWithHitTestBehavior.prototype;
    _.super$RenderProxyBoxWithHitTestBehavior$hitTest = _.hitTest$2$position;
    _ = A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin.prototype;
    _.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$attach = _.attach$1;
    _.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin$detach = _.detach$0;
    _ = A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin.prototype;
    _.super$_RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin$computeDistanceToActualBaseline = _.computeDistanceToActualBaseline$1;
    _ = A.RenderShiftedBox.prototype;
    _.super$RenderShiftedBox$paint = _.paint$2;
    _ = A._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin.prototype;
    _.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$attach = _.attach$1;
    _.super$_RenderShiftedBox_RenderBox_RenderObjectWithChildMixin$detach = _.detach$0;
    _ = A.SliverLogicalParentData.prototype;
    _.super$SliverLogicalParentData$toString = _.toString$0;
    _ = A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin.prototype;
    _.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = A.RenderSliverEdgeInsetsPadding.prototype;
    _.super$RenderSliverEdgeInsetsPadding$performLayout = _.performLayout$0;
    _ = A._RenderViewportBase_RenderBox_ContainerRenderObjectMixin.prototype;
    _.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$attach = _.attach$1;
    _.super$_RenderViewportBase_RenderBox_ContainerRenderObjectMixin$detach = _.detach$0;
    _ = A.ViewportOffset.prototype;
    _.super$ViewportOffset$moveTo = _.moveTo$3$curve$duration;
    _.super$ViewportOffset$debugFillDescription = _.debugFillDescription$1;
    _ = A.SchedulerBinding.prototype;
    _.super$SchedulerBinding$handleAppLifecycleStateChanged = _.handleAppLifecycleStateChanged$1;
    _ = A.Ticker.prototype;
    _.super$Ticker$dispose = _.dispose$0;
    _ = A.AssetBundle.prototype;
    _.super$AssetBundle$loadString = _.loadString$2$cache;
    _ = A.ServicesBinding.prototype;
    _.super$ServicesBinding$handleMemoryPressure = _.handleMemoryPressure$0;
    _.super$ServicesBinding$handleSystemMessage = _.handleSystemMessage$1;
    _ = A.MethodChannel.prototype;
    _.super$MethodChannel$_invokeMethod = _._invokeMethod$1$3$arguments$missingOk;
    _ = A.Action.prototype;
    _.super$Action$_updateCallingAction = _._updateCallingAction$1;
    _.super$Action$addActionListener = _.addActionListener$1;
    _.super$Action$removeActionListener = _.removeActionListener$1;
    _ = A.__AnimatedCrossFadeState_State_TickerProviderStateMixin.prototype;
    _.super$__AnimatedCrossFadeState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.AutomaticKeepAliveClientMixin.prototype;
    _.super$AutomaticKeepAliveClientMixin$build = _.build$1;
    _ = A.Flex.prototype;
    _.super$Flex$updateRenderObject = _.updateRenderObject$2;
    _ = A._WidgetsFlutterBinding_BindingBase_GestureBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding$unlocked = _.unlocked$0;
    _ = A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding$initServiceExtensions = _.initServiceExtensions$0;
    _ = A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding$initServiceExtensions = _.initServiceExtensions$0;
    _ = A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding$handleMemoryPressure = _.handleMemoryPressure$0;
    _ = A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding$initInstances = _.initInstances$0;
    _ = A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding.prototype;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$initInstances = _.initInstances$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$initServiceExtensions = _.initServiceExtensions$0;
    _.super$_WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding$performReassemble = _.performReassemble$0;
    _ = A.__DismissibleState_State_TickerProviderStateMixin.prototype;
    _.super$__DismissibleState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin.prototype;
    _.super$__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = A.TextEditingController.prototype;
    _.super$TextEditingController$buildTextSpan = _.buildTextSpan$3$context$style$withComposing;
    _ = A._EditableTextState_State_AutomaticKeepAliveClientMixin.prototype;
    _.super$_EditableTextState_State_AutomaticKeepAliveClientMixin$initState = _.initState$0;
    _ = A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin.prototype;
    _.super$_EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.FocusTraversalPolicy.prototype;
    _.super$FocusTraversalPolicy$invalidateScopeData = _.invalidateScopeData$1;
    _.super$FocusTraversalPolicy$changedScope = _.changedScope$2$node$oldScope;
    _ = A.State.prototype;
    _.super$State$initState = _.initState$0;
    _.super$State$didUpdateWidget = _.didUpdateWidget$1;
    _.super$State$reassemble = _.reassemble$0;
    _.super$State$deactivate = _.deactivate$0;
    _.super$State$activate = _.activate$0;
    _.super$State$dispose = _.dispose$0;
    _.super$State$didChangeDependencies = _.didChangeDependencies$0;
    _ = A.RenderObjectWidget.prototype;
    _.super$RenderObjectWidget$updateRenderObject = _.updateRenderObject$2;
    _ = A.Element.prototype;
    _.super$Element$reassemble = _.reassemble$0;
    _.super$Element$updateChild = _.updateChild$3;
    _.super$Element$mount = _.mount$2;
    _.super$Element$update = _.update$1;
    _.super$Element$_updateSlot = _._updateSlot$1;
    _.super$Element$inflateWidget = _.inflateWidget$2;
    _.super$Element$forgetChild = _.forgetChild$1;
    _.super$Element$activate = _.activate$0;
    _.super$Element$deactivate = _.deactivate$0;
    _.super$Element$unmount = _.unmount$0;
    _.super$Element$dependOnInheritedElement = _.dependOnInheritedElement$2$aspect;
    _.super$Element$didChangeDependencies = _.didChangeDependencies$0;
    _ = A.ComponentElement.prototype;
    _.super$ComponentElement$mount = _.mount$2;
    _.super$ComponentElement$_firstBuild = _._firstBuild$0;
    _.super$ComponentElement$performRebuild = _.performRebuild$0;
    _ = A.StatelessElement.prototype;
    _.super$StatelessElement$build = _.build$0;
    _ = A.StatefulElement.prototype;
    _.super$StatefulElement$build = _.build$0;
    _.super$StatefulElement$unmount = _.unmount$0;
    _.super$StatefulElement$didChangeDependencies = _.didChangeDependencies$0;
    _ = A.ProxyElement.prototype;
    _.super$ProxyElement$build = _.build$0;
    _.super$ProxyElement$update = _.update$1;
    _.super$ProxyElement$updated = _.updated$1;
    _ = A.InheritedElement.prototype;
    _.super$InheritedElement$updated = _.updated$1;
    _.super$InheritedElement$notifyClients = _.notifyClients$1;
    _ = A.RenderObjectElement.prototype;
    _.super$RenderObjectElement$mount = _.mount$2;
    _.super$RenderObjectElement$update = _.update$1;
    _.super$RenderObjectElement$performRebuild = _.performRebuild$0;
    _.super$RenderObjectElement$unmount = _.unmount$0;
    _ = A.RootRenderObjectElement.prototype;
    _.super$RootRenderObjectElement$mount = _.mount$2;
    _ = A.MultiChildRenderObjectElement.prototype;
    _.super$MultiChildRenderObjectElement$insertRenderObjectChild = _.insertRenderObjectChild$2;
    _.super$MultiChildRenderObjectElement$moveRenderObjectChild = _.moveRenderObjectChild$3;
    _.super$MultiChildRenderObjectElement$removeRenderObjectChild = _.removeRenderObjectChild$2;
    _.super$MultiChildRenderObjectElement$mount = _.mount$2;
    _.super$MultiChildRenderObjectElement$update = _.update$1;
    _ = A.ImplicitlyAnimatedWidgetState.prototype;
    _.super$ImplicitlyAnimatedWidgetState$initState = _.initState$0;
    _ = A.AnimatedWidgetBaseState.prototype;
    _.super$AnimatedWidgetBaseState$initState = _.initState$0;
    _ = A._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin.prototype;
    _.super$_ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.Route.prototype;
    _.super$Route$install = _.install$0;
    _.super$Route$didPush = _.didPush$0;
    _.super$Route$didAdd = _.didAdd$0;
    _.super$Route$didReplace = _.didReplace$1;
    _.super$Route$willPop = _.willPop$0;
    _.super$Route$didPop = _.didPop$1;
    _.super$Route$didPopNext = _.didPopNext$1;
    _.super$Route$didChangeNext = _.didChangeNext$1;
    _.super$Route$didChangePrevious = _.didChangePrevious$1;
    _.super$Route$changedInternalState = _.changedInternalState$0;
    _.super$Route$changedExternalState = _.changedExternalState$0;
    _.super$Route$dispose = _.dispose$0;
    _ = A._RestorationInformation.prototype;
    _.super$_RestorationInformation$computeSerializableData = _.computeSerializableData$0;
    _ = A._NavigatorState_State_TickerProviderStateMixin.prototype;
    _.super$_NavigatorState_State_TickerProviderStateMixin$activate = _.activate$0;
    _.super$_NavigatorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin.prototype;
    _.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget = _.didUpdateWidget$1;
    _.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies = _.didChangeDependencies$0;
    _.super$_NavigatorState_State_TickerProviderStateMixin_RestorationMixin$dispose = _.dispose$0;
    _ = A.Notification1.prototype;
    _.super$Notification$debugFillDescription = _.debugFillDescription$1;
    _ = A._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin.prototype;
    _.super$_OverscrollIndicatorNotification_Notification_ViewportNotificationMixin$debugFillDescription = _.debugFillDescription$1;
    _ = A.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin.prototype;
    _.super$__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin.prototype;
    _.super$__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.RestorableProperty.prototype;
    _.super$RestorableProperty$dispose = _.dispose$0;
    _ = A.RestorationMixin.prototype;
    _.super$RestorationMixin$didToggleBucket = _.didToggleBucket$1;
    _ = A.RestorableValue.prototype;
    _.super$RestorableValue$value = _.set$value;
    _ = A._RestorablePrimitiveValueN.prototype;
    _.super$_RestorablePrimitiveValueN$fromPrimitives = _.fromPrimitives$1;
    _.super$_RestorablePrimitiveValueN$toPrimitives = _.toPrimitives$0;
    _ = A.RestorableListenable.prototype;
    _.super$RestorableListenable$initWithValue = _.initWithValue$1;
    _.super$RestorableListenable$dispose = _.dispose$0;
    _ = A._CallbackHookProvider.prototype;
    _.super$_CallbackHookProvider$addCallback = _.addCallback$1;
    _.super$_CallbackHookProvider$removeCallback = _.removeCallback$1;
    _.super$_CallbackHookProvider$invokeCallback = _.invokeCallback$1;
    _ = A.__RouterState_State_RestorationMixin.prototype;
    _.super$__RouterState_State_RestorationMixin$didUpdateWidget = _.didUpdateWidget$1;
    _.super$__RouterState_State_RestorationMixin$didChangeDependencies = _.didChangeDependencies$0;
    _.super$__RouterState_State_RestorationMixin$dispose = _.dispose$0;
    _ = A.OverlayRoute.prototype;
    _.super$OverlayRoute$install = _.install$0;
    _.super$OverlayRoute$didPop = _.didPop$1;
    _.super$OverlayRoute$dispose = _.dispose$0;
    _ = A.TransitionRoute.prototype;
    _.super$TransitionRoute$createAnimation = _.createAnimation$0;
    _.super$TransitionRoute$install = _.install$0;
    _.super$TransitionRoute$didPush = _.didPush$0;
    _.super$TransitionRoute$didAdd = _.didAdd$0;
    _.super$TransitionRoute$didPop = _.didPop$1;
    _ = A._ModalRoute_TransitionRoute_LocalHistoryRoute.prototype;
    _.super$_ModalRoute_TransitionRoute_LocalHistoryRoute$willPop = _.willPop$0;
    _ = A.ScrollActivity.prototype;
    _.super$ScrollActivity$dispose = _.dispose$0;
    _ = A.ScrollController.prototype;
    _.super$ScrollController$attach = _.attach$1;
    _.super$ScrollController$dispose = _.dispose$0;
    _ = A.ScrollNotification.prototype;
    _.super$ScrollNotification$debugFillDescription = _.debugFillDescription$1;
    _ = A._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin.prototype;
    _.super$_ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin$debugFillDescription = _.debugFillDescription$1;
    _ = A.ScrollPhysics.prototype;
    _.super$ScrollPhysics$adjustPositionForNewDimensions = _.adjustPositionForNewDimensions$4$isScrolling$newPosition$oldPosition$velocity;
    _.super$ScrollPhysics$createBallisticSimulation = _.createBallisticSimulation$2;
    _ = A.ScrollPosition.prototype;
    _.super$ScrollPosition$absorb = _.absorb$1;
    _.super$ScrollPosition$setPixels = _.setPixels$1;
    _.super$ScrollPosition$forcePixels = _.forcePixels$1;
    _.super$ScrollPosition$applyViewportDimension = _.applyViewportDimension$1;
    _.super$ScrollPosition$applyContentDimensions = _.applyContentDimensions$2;
    _.super$ScrollPosition$applyNewDimensions = _.applyNewDimensions$0;
    _.super$ScrollPosition$ensureVisible = _.ensureVisible$6$alignment$alignmentPolicy$curve$duration$targetRenderObject;
    _.super$ScrollPosition$beginActivity = _.beginActivity$1;
    _.super$ScrollPosition$dispose = _.dispose$0;
    _.super$ScrollPosition$debugFillDescription = _.debugFillDescription$1;
    _ = A._ScrollMetricsNotification_Notification_ViewportNotificationMixin.prototype;
    _.super$_ScrollMetricsNotification_Notification_ViewportNotificationMixin$debugFillDescription = _.debugFillDescription$1;
    _ = A.ScrollPositionWithSingleContext.prototype;
    _.super$ScrollPositionWithSingleContext$setPixels = _.setPixels$1;
    _.super$ScrollPositionWithSingleContext$beginActivity = _.beginActivity$1;
    _.super$ScrollPositionWithSingleContext$updateUserScrollDirection = _.updateUserScrollDirection$1;
    _.super$ScrollPositionWithSingleContext$hold = _.hold$1;
    _.super$ScrollPositionWithSingleContext$debugFillDescription = _.debugFillDescription$1;
    _ = A._ScrollableState_State_TickerProviderStateMixin.prototype;
    _.super$_ScrollableState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin.prototype;
    _.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$didUpdateWidget = _.didUpdateWidget$1;
    _.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$didChangeDependencies = _.didChangeDependencies$0;
    _.super$_ScrollableState_State_TickerProviderStateMixin_RestorationMixin$dispose = _.dispose$0;
    _ = A.RawScrollbarState.prototype;
    _.super$RawScrollbarState$initState = _.initState$0;
    _.super$RawScrollbarState$didChangeDependencies = _.didChangeDependencies$0;
    _.super$RawScrollbarState$handleThumbPress = _.handleThumbPress$0;
    _.super$RawScrollbarState$handleThumbPressStart = _.handleThumbPressStart$1;
    _.super$RawScrollbarState$handleThumbPressEnd = _.handleThumbPressEnd$2;
    _.super$RawScrollbarState$handleHover = _.handleHover$1;
    _.super$RawScrollbarState$handleHoverExit = _.handleHoverExit$1;
    _.super$RawScrollbarState$dispose = _.dispose$0;
    _ = A._RawScrollbarState_State_TickerProviderStateMixin.prototype;
    _.super$_RawScrollbarState_State_TickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.MultiSelectableSelectionContainerDelegate.prototype;
    _.super$MultiSelectableSelectionContainerDelegate$didChangeSelectables = _.didChangeSelectables$0;
    _.super$MultiSelectableSelectionContainerDelegate$handleSelectAll = _.handleSelectAll$1;
    _.super$MultiSelectableSelectionContainerDelegate$handleSelectWord = _.handleSelectWord$1;
    _.super$MultiSelectableSelectionContainerDelegate$handleClearSelection = _.handleClearSelection$1;
    _.super$MultiSelectableSelectionContainerDelegate$handleSelectionEdgeUpdate = _.handleSelectionEdgeUpdate$1;
    _.super$MultiSelectableSelectionContainerDelegate$dispose = _.dispose$0;
    _.super$MultiSelectableSelectionContainerDelegate$dispatchSelectionEventToChild = _.dispatchSelectionEventToChild$2;
    _ = A.__SelectionContainerState_State_Selectable_SelectionRegistrant.prototype;
    _.super$__SelectionContainerState_State_Selectable_SelectionRegistrant$dispose = _.dispose$0;
    _ = A.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin.prototype;
    _.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$attach = _.attach$1;
    _.super$__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin$detach = _.detach$0;
    _ = A.TextSelectionGestureDetectorBuilder.prototype;
    _.super$TextSelectionGestureDetectorBuilder$onForcePressStart = _.onForcePressStart$1;
    _.super$TextSelectionGestureDetectorBuilder$onSingleTapUp = _.onSingleTapUp$1;
    _ = A.__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin.prototype;
    _.super$__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin$dispose = _.dispose$0;
    _ = A.BaseRequest.prototype;
    _.super$BaseRequest$finalize = _.finalize$0;
    _ = A.BlockSyntax.prototype;
    _.super$BlockSyntax$canParse = _.canParse$1;
    _ = A.InlineSyntax.prototype;
    _.super$InlineSyntax$tryMatch = _.tryMatch$2;
    _ = A._DelegateState.prototype;
    _.super$_DelegateState$dispose = _.dispose$0;
    _.super$_DelegateState$build = _.build$1$isBuildFromExternalSources;
    _ = A.ProviderElementBase.prototype;
    _.super$ProviderElementBase$_buildState = _._buildState$0;
    _.super$ProviderElementBase$dispose = _.dispose$0;
    _.super$ProviderElementBase$_runOnDispose = _._runOnDispose$0;
    _ = A.SourceSpanMixin.prototype;
    _.super$SourceSpanMixin$compareTo = _.compareTo$1;
    _.super$SourceSpanMixin$$eq = _.$eq;
    _ = A.StateNotifier.prototype;
    _.super$StateNotifier$state = _.set$state;
    _ = A.StringScanner.prototype;
    _.super$StringScanner$position = _.set$position;
    _.super$StringScanner$readChar = _.readChar$0;
    _.super$StringScanner$scan = _.scan$1;
    _ = A.InstanceRef.prototype;
    _.super$InstanceRef$toJson = _.toJson$0;
    _ = A.Instance.prototype;
    _.super$Instance$toJson = _.toJson$0;
    _ = A.ObjRef.prototype;
    _.super$ObjRef$toJson = _.toJson$0;
    _ = A.Obj.prototype;
    _.super$Obj$toJson = _.toJson$0;
  })();
  (function installTearOffs() {
    var _static_0 = hunkHelpers._static_0,
      _static_1 = hunkHelpers._static_1,
      _instance_0_u = hunkHelpers._instance_0u,
      _instance_1_u = hunkHelpers._instance_1u,
      _instance_1_i = hunkHelpers._instance_1i,
      _static_2 = hunkHelpers._static_2,
      _instance_0_i = hunkHelpers._instance_0i,
      _static = hunkHelpers.installStaticTearOff,
      _instance_2_u = hunkHelpers._instance_2u,
      _instance = hunkHelpers.installInstanceTearOff,
      _instance_2_i = hunkHelpers._instance_2i;
    _static_0(A, "_engine_SkiaObjects_postFrameCleanUp$closure", "SkiaObjects_postFrameCleanUp", 0);
    _static_1(A, "_engine_BitmapCanvas__onEvictElement$closure", "BitmapCanvas__onEvictElement", 28);
    _static_1(A, "_engine___noopCallback$closure", "_noopCallback", 39);
    _static_1(A, "_engine___emptyCallback$closure", "_emptyCallback", 16);
    _instance_0_u(A.AlarmClock.prototype, "get$_timerDidFire", "_timerDidFire$0", 0);
    _instance_1_u(A.HtmlViewEmbedder.prototype, "get$_releaseOverlay", "_releaseOverlay$1", 26);
    _instance_0_u(A.FontFallbackData.prototype, "get$_ensureFallbackFonts", "_ensureFallbackFonts$0", 0);
    var _;
    _instance_1_i(_ = A.FallbackFontDownloadQueue.prototype, "get$add", "add$1", 942);
    _instance_0_u(_, "get$startDownloads", "startDownloads$0", 2);
    _instance_1_u(A.SkiaFontCollection.prototype, "get$_getArrayBuffer", "_getArrayBuffer$1", 236);
    _instance_1_u(_ = A.Surface.prototype, "get$_contextRestoredListener", "_contextRestoredListener$1", 28);
    _instance_1_u(_, "get$_contextLostListener", "_contextLostListener$1", 28);
    _instance_1_u(A.SurfaceFactory.prototype, "get$_removeFromDom", "_removeFromDom$1", 1122);
    _instance_1_u(_ = A.FlutterViewEmbedder.prototype, "get$_metricsDidChange", "_metricsDidChange$1", 1076);
    _instance_1_u(_, "get$_languageDidChange", "_languageDidChange$1", 13);
    _instance_1_u(A.KeyboardBinding.prototype, "get$_onKeyData", "_onKeyData$1", 144);
    _instance_1_i(A.MultiEntriesBrowserHistory.prototype, "get$onPopState", "onPopState$1", 4);
    _instance_1_i(A.SingleEntryBrowserHistory.prototype, "get$onPopState", "onPopState$1", 4);
    _instance_1_u(A.PointerBinding.prototype, "get$_onPointerData", "_onPointerData$1", 873);
    _instance_0_u(A.RulerHost.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = A.DefaultTextEditingStrategy.prototype, "get$handleChange", "handleChange$1", 13);
    _instance_1_u(_, "get$handleBeforeInput", "handleBeforeInput$1", 13);
    _instance_1_u(_, "get$handleCompositionUpdate", "handleCompositionUpdate$1", 13);
    _instance_1_u(_, "get$maybeSendAction", "maybeSendAction$1", 13);
    _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 162);
    _instance_1_i(J.JSArray.prototype, "get$addAll", "addAll$1", 4);
    _instance_0_i(_ = A.CastStreamSubscription.prototype, "get$cancel", "cancel$0", 33);
    _instance_1_u(_, "get$__internal$_onData", "__internal$_onData$1", 4);
    _instance_1_i(A._CastIterableBase.prototype, "get$contains", "contains$1", 37);
    _static_1(A, "_js_helper_GeneralConstantMap__constantMapHashCode$closure", "GeneralConstantMap__constantMapHashCode", 129);
    _static_0(A, "_js_helper_Primitives_dateNow$closure", "Primitives_dateNow", 60);
    _instance_1_i(A.JsLinkedHashMap.prototype, "get$remove", "remove$1", "2?(Object?)");
    _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 57);
    _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 57);
    _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 57);
    _static_1(A, "async_Future__kTrue$closure", "Future__kTrue", 37);
    _static(A, "async__FutureExtensions__ignore$closure", 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["FutureExtensions__ignore", function(_) {
      return A.FutureExtensions__ignore(_, null);
    }], 1152, 0);
    _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
    _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 16);
    _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 27);
    _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
    _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 1153, 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);
    }], 1154, 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);
    }], 1155, 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);
    }], 1156, 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);
    }], 1157, 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);
    }], 1158, 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);
    }], 1159, 0);
    _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 1160, 0);
    _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 1161, 0);
    _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 1162, 0);
    _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 1163, 0);
    _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 1164, 0);
    _static_1(A, "async___printToZone$closure", "_printToZone", 12);
    _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 1165, 0);
    _instance_0_u(_ = A._BroadcastSubscription.prototype, "get$_onPause", "_onPause$0", 0);
    _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
    _instance_1_i(_ = A._BroadcastStreamController.prototype, "get$add", "add$1", 4);
    _instance_1_i(_, "get$_async$_add", "_async$_add$1", 4);
    _instance_2_u(_, "get$_addError", "_addError$2", 27);
    _instance_0_u(_, "get$_close", "_close$0", 0);
    _instance_1_i(_ = A._AsBroadcastStreamController.prototype, "get$add", "add$1", 4);
    _instance(_, "get$addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 116, 0, 0);
    _instance_0_i(_, "get$close", "close$0", 33);
    _instance(A._Completer.prototype, "get$completeError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 116, 0, 0);
    _instance(A._SyncCompleter.prototype, "get$complete", 1, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["complete$1", "complete$0"], 231, 0, 0);
    _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 27);
    _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 4);
    _instance(_, "get$addError", 0, 1, function() {
      return [null];
    }, ["call$2", "call$1"], ["addError$2", "addError$1"], 116, 0, 0);
    _instance_0_i(_, "get$close", "close$0", 33);
    _instance_1_i(_, "get$_async$_add", "_async$_add$1", 4);
    _instance_2_u(_, "get$_addError", "_addError$2", 27);
    _instance_0_u(_, "get$_close", "_close$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", 4);
    _instance_0_i(_ = A._BufferingStreamSubscription.prototype, "get$cancel", "cancel$0", 33);
    _instance_0_u(_, "get$_onPause", "_onPause$0", 0);
    _instance_0_u(_, "get$_onResume", "_onResume$0", 0);
    _instance_0_i(_ = A._DoneStreamSubscription.prototype, "get$cancel", "cancel$0", 33);
    _instance_0_u(_, "get$_sendDone", "_sendDone$0", 0);
    _instance_0_u(_ = A._AsBroadcastStream.prototype, "get$_onCancel", "_onCancel$0", 0);
    _instance_0_u(_, "get$_onListen", "_onListen$0", 0);
    _instance_0_i(A._BroadcastSubscriptionWrapper.prototype, "get$cancel", "cancel$0", 33);
    _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", 4);
    _instance_2_u(_, "get$_handleError", "_handleError$2", 433);
    _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
    _instance_2_u(A._CustomZone.prototype, "get$handleUncaughtError", "handleUncaughtError$2", 27);
    _instance_2_u(A._RootZone.prototype, "get$handleUncaughtError", "handleUncaughtError$2", 27);
    _static_2(A, "collection___defaultEquals$closure", "_defaultEquals", 172);
    _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 129);
    _static_2(A, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 162);
    _static_2(A, "collection___dynamicCompare$closure", "_dynamicCompare", 162);
    _instance_1_i(A._LinkedCustomHashMap.prototype, "get$remove", "remove$1", "2?(Object?)");
    _instance(_ = A._HashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 132, 0, 0);
    _instance_1_i(_, "get$contains", "contains$1", 37);
    _instance_1_i(_, "get$addAll", "addAll$1", 4);
    _instance(_ = A._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 132, 0, 0);
    _instance_1_i(_, "get$contains", "contains$1", 37);
    _instance_1_i(A.IterableMixin.prototype, "get$contains", "contains$1", 37);
    _instance_1_i(A.LinkedList.prototype, "get$add", "add$1", 4);
    _instance_1_i(A.ListQueue.prototype, "get$add", "add$1", 4);
    _instance_1_i(A.SetMixin.prototype, "get$addAll", "addAll$1", 4);
    _instance_1_i(A._UnmodifiableSetMixin.prototype, "get$addAll", "addAll$1", 4);
    _instance(_ = A._UnmodifiableSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 132, 0, 0);
    _instance_1_i(_, "get$contains", "contains$1", 37);
    _instance(_ = A.SplayTreeSet.prototype, "get$_newSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSet$1$0", "_newSet$0"], 132, 0, 0);
    _instance_1_i(_, "get$contains", "contains$1", 37);
    _instance_1_i(_, "get$addAll", "addAll$1", 4);
    _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 43);
    _instance_1_i(_ = A._ByteCallbackSink.prototype, "get$add", "add$1", 4);
    _instance_0_i(_, "get$close", "close$0", 0);
    _instance(A.Utf8Codec.prototype, "get$decode", 1, 1, function() {
      return {allowMalformed: null};
    }, ["call$2$allowMalformed", "call$1"], ["decode$2$allowMalformed", "decode$1"], 359, 0, 0);
    _static_1(A, "core__identityHashCode$closure", "identityHashCode", 129);
    _static_2(A, "core__identical$closure", "identical", 172);
    _static_2(A, "core_Comparable_compare$closure", "Comparable_compare", 1166);
    _static_2(A, "core_Error_throwWithStackTrace$closure", "Error_throwWithStackTrace", 1167);
    _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 15);
    _instance_1_i(A.Iterable.prototype, "get$contains", "contains$1", 37);
    _instance(A.StringBuffer.prototype, "get$writeln", 0, 0, null, ["call$1", "call$0"], ["writeln$1", "writeln$0"], 231, 0, 0);
    _instance_0_i(A.Body.prototype, "get$json", "json$0", 33);
    _instance_0_i(A.CacheStorage.prototype, "get$keys", "keys$0", 33);
    _instance_2_i(A.HttpRequest.prototype, "get$setRequestHeader", "setRequestHeader$2", 71);
    _instance_0_i(A.PaymentInstruments.prototype, "get$keys", "keys$0", 451);
    _instance_0_i(A.PushMessageData.prototype, "get$json", "json$0", 175);
    _instance_1_i(A.WebSocket0.prototype, "get$send", "send$1", 16);
    _instance_0_i(A._EventStreamSubscription.prototype, "get$cancel", "cancel$0", 33);
    _instance_1_u(A.Console0.prototype, "get$warn", "warn$1", 4);
    _static_1(A, "js___convertToJS$closure", "_convertToJS", 325);
    _static_1(A, "js___convertToDart$closure", "_convertToDart", 299);
    _static(A, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max0", function(a, b) {
      return A.max0(a, b, type$.num);
    }], 1168, 1);
    _static(A, "ui_Size_lerp$closure", 3, null, ["call$3"], ["Size_lerp"], 1169, 0);
    _static(A, "ui__lerpDouble$closure", 3, null, ["call$3"], ["lerpDouble"], 1170, 0);
    _static(A, "ui_Color_lerp$closure", 3, null, ["call$3"], ["Color_lerp"], 1171, 0);
    _instance_1_u(A._StoredMessage.prototype, "get$invoke", "invoke$1", 39);
    _instance_0_u(A._Channel.prototype, "get$_drainStep", "_drainStep$0", 0);
    _instance_0_i(A.DelegatingStreamSubscription.prototype, "get$cancel", "cancel$0", 33);
    _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 172);
    _instance_1_i(_, "get$hash", "hash$1", 129);
    _instance_1_u(_, "get$isValidKey", "isValidKey$1", 37);
    _instance_0_i(A.XFileBase.prototype, "get$length", "length$0", 300);
    _instance_0_i(_ = A.XFile.prototype, "get$length", "length$0", 300);
    _instance_1_u(_, "get$_blobToByteBuffer", "_blobToByteBuffer$1", 699);
    _static_1(A, "dds_service_extensions_StreamHistory_parse$closure", "StreamHistory_parse", 1172);
    _static_1(A, "dds_service_extensions_CachedCpuSamples_parse$closure", "CachedCpuSamples_parse", 1173);
    _static_1(A, "dds_service_extensions_AvailableCachedCpuSamples_parse$closure", "AvailableCachedCpuSamples_parse", 1174);
    _static_0(A, "main__main$closure", "main0", 0);
    _static_0(A, "_analytics_web__enableAnalytics$closure", "enableAnalytics", 54);
    _static_0(A, "_analytics_web__disableAnalytics$closure", "disableAnalytics", 54);
    _instance_1_u(_ = A.AnalyticsController.prototype, "get$toggleAnalyticsEnabled", "toggleAnalyticsEnabled$1", 710);
    _instance_0_u(_, "get$hidePrompt", "hidePrompt$0", 0);
    _instance(_ = A.DevToolsAppState.prototype, "get$_getPage", 0, 3, null, ["call$3"], ["_getPage$3"], 727, 0, 0);
    _instance(_, "get$_buildTabbedPage", 0, 3, null, ["call$3"], ["_buildTabbedPage$3"], 732, 0, 0);
    _instance_1_u(A.CheckboxSetting.prototype, "get$toggleSetting", "toggleSetting$1", 31);
    _instance_1_u(_ = A.FlameChartState.prototype, "get$_handleMouseHover", "_handleMouseHover$1", 67);
    _instance_1_u(_, "get$_handlePointerSignal", "_handlePointerSignal$1", 180);
    _instance_0_u(_, "get$_handleZoomControllerValueUpdate", "_handleZoomControllerValueUpdate$0", 0);
    _instance_1_u(_ = A.ScrollingFlameChartRowState.prototype, "get$_handleMouseHover", "_handleMouseHover$1", 67);
    _instance_1_u(_, "get$_flame_chart$_handleTapUp", "_flame_chart$_handleTapUp$1", 80);
    _instance_1_u(_ = A.DragAndDropManagerWeb.prototype, "get$_onDragOver", "_onDragOver$1", 74);
    _instance_1_u(_, "get$_onDragLeave", "_onDragLeave$1", 74);
    _instance_1_u(_, "get$_onDrop", "_onDrop$1", 74);
    _instance_1_u(A.ImportController.prototype, "get$importData", "importData$1", 87);
    _instance_0_u(A.AutoDisposeMixin.prototype, "get$_refresh", "_refresh$0", 0);
    _instance_1_u(_ = A._CustomPointerScrollableState.prototype, "get$_custom_pointer_scroll_view$_handleDragDown", "_custom_pointer_scroll_view$_handleDragDown$1", 321);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handleDragStart", "_custom_pointer_scroll_view$_handleDragStart$1", 46);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handleDragUpdate", "_custom_pointer_scroll_view$_handleDragUpdate$1", 20);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handleDragEnd", "_custom_pointer_scroll_view$_handleDragEnd$1", 73);
    _instance_0_u(_, "get$_custom_pointer_scroll_view$_handleDragCancel", "_custom_pointer_scroll_view$_handleDragCancel$0", 0);
    _instance_0_u(_, "get$_custom_pointer_scroll_view$_disposeHold", "_custom_pointer_scroll_view$_disposeHold$0", 0);
    _instance_0_u(_, "get$_custom_pointer_scroll_view$_disposeDrag", "_custom_pointer_scroll_view$_disposeDrag$0", 0);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_receivedPointerSignal", "_custom_pointer_scroll_view$_receivedPointerSignal$1", 180);
    _instance_1_u(_, "get$_custom_pointer_scroll_view$_handlePointerScroll", "_custom_pointer_scroll_view$_handlePointerScroll$1", 38);
    _instance_1_i(A.EnumUtils.prototype, "get$name", "name$1", 1136);
    _instance_0_u(A._LinkedScrollControllerGroupOffsetNotifier.prototype, "get$notifyListeners", "notifyListeners$0", 0);
    _instance_0_u(A._LinkedScrollController.prototype, "get$dispose", "dispose$0", 0);
    _instance(A.TreeNode.prototype, "get$addChild", 0, 1, null, ["call$2$index", "call$1"], ["addChild$2$index", "addChild$1"], 1297, 0, 0);
    _instance_1_u(_ = A.AppSizeController.prototype, "get$changeAnalysisRoot", "changeAnalysisRoot$1", 160);
    _instance_1_u(_, "get$changeDiffRoot", "changeDiffRoot$1", 160);
    _instance_1_u(A._AppSizeBodyState.prototype, "get$_pushErrorMessage", "_pushErrorMessage$1", 12);
    _instance_1_u(A._CallGraphWithDominatorsState.prototype, "get$_toggleShowCallGraph", "_toggleShowCallGraph$1", 10);
    _instance_1_u(A._CallGraphViewState.prototype, "get$_selectMainNode", "_selectMainNode$1", 1125);
    _static_2(A, "codeview__showGoToLineDialog$closure", "showGoToLineDialog", 143);
    _static_2(A, "codeview__showFileOpener$closure", "showFileOpener", 143);
    _instance_0_u(_ = A._CodeViewState.prototype, "get$_handleScriptLocationChanged", "_handleScriptLocationChanged$0", 0);
    _instance_1_u(_, "get$_onPressed", "_onPressed$1", 26);
    _instance_1_u(_, "get$_buildScriptMenuFromHistory", "_buildScriptMenuFromHistory$1", 1092);
    _instance_0_u(_ = A.DebuggerController.prototype, "get$_maybeSetUpProgramExplorer", "_maybeSetUpProgramExplorer$0", 2);
    _instance_1_u(_, "get$_handleConnectionAvailable", "_handleConnectionAvailable$1", 89);
    _instance_0_u(_, "get$toggleLibrariesVisible", "toggleLibrariesVisible$0", 0);
    _instance_0_i(_, "get$pause", "pause$0", 90);
    _instance_0_i(_, "get$resume", "resume$0", 90);
    _instance_0_u(_, "get$stepOver", "stepOver$0", 90);
    _instance_0_u(_, "get$stepIn", "stepIn$0", 90);
    _instance_0_u(_, "get$stepOut", "stepOut$0", 90);
    _instance_0_u(_, "get$clearBreakpoints", "clearBreakpoints$0", 2);
    _instance_2_u(_, "get$toggleBreakpoint", "toggleBreakpoint$2", 931);
    _instance_1_u(_, "get$_debugger_controller$_handleDebugEvent", "_debugger_controller$_handleDebugEvent$1", 11);
    _instance_1_u(_, "get$_debugger_controller$_handleIsolateEvent", "_debugger_controller$_handleIsolateEvent$1", 11);
    _instance_1_u(_, "get$_createBreakpointWithLocation", "_createBreakpointWithLocation$1", 930);
    _instance_1_u(_, "get$_createStackFrameWithLocation", "_createStackFrameWithLocation$1", 927);
    _instance_1_u(A.DebuggerScreenBodyState.prototype, "get$_onLocationSelected", "_onLocationSelected$1", 866);
    _instance_0_u(A._DebuggerStatusState.prototype, "get$_updateStatus", "_updateStatus$0", 0);
    _static_2(A, "evaluate__autoCompleteResultsFor$closure", "autoCompleteResultsFor", 1175);
    _instance_0_u(_ = A.ExpressionEvalFieldState.prototype, "get$_handleHoverChange", "_handleHoverChange$0", 0);
    _instance_0_u(_, "get$_handleSuggestionTextChange", "_handleSuggestionTextChange$0", 0);
    _instance_0_u(_, "get$_handleSearch", "_handleSearch$0", 0);
    _instance_1_u(_, "get$_onSelection", "_onSelection$1", 12);
    _instance_0_u(_ = A.FileSearchFieldState.prototype, "get$_file_search$_handleSearch", "_file_search$_handleSearch$0", 0);
    _instance_0_u(_, "get$_handleAutoCompleteOverlay", "_handleAutoCompleteOverlay$0", 0);
    _instance_1_u(_, "get$_addScriptRefToCache", "_addScriptRefToCache$1", 209);
    _instance_1_u(_, "get$_file_search$_onSelection", "_file_search$_onSelection$1", 12);
    _instance_0_u(_, "get$_onClose", "_onClose$0", 0);
    _instance_1_u(_ = A.FileQuery.prototype, "get$createExactFileNameAutoCompleteMatch", "createExactFileNameAutoCompleteMatch$1", 126);
    _instance_1_u(_, "get$createExactFullPathAutoCompleteMatch", "createExactFullPathAutoCompleteMatch$1", 126);
    _instance_1_u(_, "get$createFuzzyMatchAutoCompleteMatch", "createFuzzyMatchAutoCompleteMatch$1", 126);
    _instance_0_u(A._FileExplorerState.prototype, "get$_maybeScrollToSelectedNode", "_maybeScrollToSelectedNode$0", 0);
    _instance_1_u(_ = A.ProgramExplorer.prototype, "get$onItemSelected", "onItemSelected$1", 192);
    _instance_1_u(_, "get$onItemExpanded", "onItemExpanded$1", 192);
    _instance_0_i(A.ProgramExplorerController.prototype, "get$refresh", "refresh$0", 0);
    _instance_1_u(_ = A.InspectorController.prototype, "get$_handleConnectionStart", "_handleConnectionStart$1", 601);
    _instance_1_u(_, "get$_handleConnectionStop", "_handleConnectionStop$1", 16);
    _instance_1_u(_, "get$_onClientChange", "_onClientChange$1", 10);
    _instance_0_i(_, "get$refresh", "refresh$0", 2);
    _instance_1_u(_, "get$selectErrorByIndex", "selectErrorByIndex$1", 26);
    _instance_1_u(_, "get$_onExpand", "_onExpand$1", 230);
    _instance_0_u(_, "get$selectionChanged", "selectionChanged$0", 0);
    _instance_2_u(_, "get$_onNodeAdded", "_onNodeAdded$2", 598);
    _instance_0_u(_ = A.InspectorScreenBodyState.prototype, "get$_onSearchVisibleToggle", "_onSearchVisibleToggle$0", 0);
    _instance_0_u(_, "get$_refreshInspector", "_refreshInspector$0", 0);
    _instance_0_u(_ = A.ErrorNavigator.prototype, "get$_previousError", "_previousError$0", 0);
    _instance_0_u(_, "get$_nextError", "_nextError$0", 0);
    _instance_0_u(_ = A._InspectorExpandCollapseButtonsState.prototype, "get$_onExpandClick", "_onExpandClick$0", 0);
    _instance_0_u(_, "get$_onCollapseClick", "_onCollapseClick$0", 0);
    _instance_1_u(_ = A.InspectorService.prototype, "get$onExtensionVmServiceReceived", "onExtensionVmServiceReceived$1", 11);
    _instance_1_u(_, "get$onDebugVmServiceReceived", "onDebugVmServiceReceived$1", 11);
    _instance_1_u(A.InspectorTreeController.prototype, "get$_collapseAllNodes", "_collapseAllNodes$1", 230);
    _instance_2_u(A._InspectorTreeState.prototype, "get$_inspector_tree_controller$_handleKeyEvent", "_inspector_tree_controller$_handleKeyEvent$2", 72);
    _instance_2_u(A._BoxLayoutExplorerWidgetState.prototype, "get$_box0$_buildLayout", "_box0$_buildLayout$2", 75);
    _instance_2_u(A._FlexLayoutExplorerWidgetState.prototype, "get$_flex0$_buildLayout", "_flex0$_buildLayout$2", 75);
    _instance_1_u(_ = A.FlexChildVisualizer.prototype, "get$onChangeFlexFactor", "onChangeFlexFactor$1", 420);
    _instance_1_u(_, "get$onChangeFlexFit", "onChangeFlexFit$1", 417);
    _instance_0_u(A._LayoutExplorerTabState.prototype, "get$onSelectionChanged", "onSelectionChanged$0", 0);
    _instance_0_u(_ = A.LayoutExplorerWidgetState.prototype, "get$onSelectionChanged", "onSelectionChanged$0", 2);
    _instance_0_i(_, "get$refresh", "refresh$0", 2);
    _instance_1_u(_ = A.LoggingController.prototype, "get$selectLog", "selectLog$1", 358);
    _instance_0_i(_, "get$clear", "clear$0", 0);
    _instance_1_u(_, "get$_logging_controller$_handleConnectionStart", "_logging_controller$_handleConnectionStart$1", 89);
    _instance_1_u(_, "get$_logging_controller$_handleExtensionEvent", "_logging_controller$_handleExtensionEvent$1", 11);
    _instance_1_u(_, "get$_handleGCEvent", "_handleGCEvent$1", 11);
    _instance_1_u(_, "get$_handleDeveloperLogEvent", "_handleDeveloperLogEvent$1", 11);
    _instance_1_u(_, "get$_logging_controller$_handleConnectionStop", "_logging_controller$_handleConnectionStop$1", 16);
    _instance_1_u(_, "get$_handleDebuggerEvent", "_handleDebuggerEvent$1", 110);
    _instance_1_u(_, "get$_handleDevToolsEvent", "_handleDevToolsEvent$1", 110);
    _instance_1_u(A._StdoutEventHandler.prototype, "get$handle", "handle$1", 11);
    _instance_0_u(A.LogData.prototype, "get$prettyPrinted", "prettyPrinted$0", 173);
    _instance_0_u(A._LoggingScreenState.prototype, "get$_showFilterDialog", "_showFilterDialog$0", 0);
    _instance_0_u(A.AllocationTableViewState.prototype, "get$_memory_allocation_table_view$_handleSearch", "_memory_allocation_table_view$_handleSearch$0", 0);
    _instance_0_u(_ = A.MemoryController.prototype, "get$toggleLegendVisibility", "toggleLegendVisibility$0", 23);
    _instance_0_u(_, "get$toggleAndroidChartVisibility", "toggleAndroidChartVisibility$0", 23);
    _instance_0_u(_, "get$_handleIsolateChanged", "_handleIsolateChanged$0", 0);
    _instance_1_u(_, "get$_memory_controller$_handleConnectionStop", "_memory_controller$_handleConnectionStop$1", 16);
    _instance_1_u(_ = A.HeapTreeViewState.prototype, "get$_animationStatusListener", "_animationStatusListener$1", 5);
    _instance_1_u(_, "get$selectTheMatch", "selectTheMatch$1", 12);
    _instance(_, "get$_takeHeapSnapshot", 0, 0, null, ["call$1$userGenerated", "call$0"], ["_takeHeapSnapshot$1$userGenerated", "_takeHeapSnapshot$0"], 392, 0, 0);
    _instance_0_i(_, "get$_filter", "_filter$0", 0);
    _instance_0_u(A.MemoryHeapTableState.prototype, "get$_memory_heap_tree_view$_handleSearch", "_memory_heap_tree_view$_handleSearch$0", 0);
    _instance_1_u(A.MemoryHeapTreemapState.prototype, "get$_onRootChanged", "_onRootChanged$1", 160);
    _instance_0_u(_ = A.MemoryTracker.prototype, "get$_updateLiveDataPolling", "_updateLiveDataPolling$0", 0);
    _instance_1_u(_, "get$_memory_protocol$_handleGCEvent", "_memory_protocol$_handleGCEvent$1", 11);
    _instance_0_u(_, "get$_pollMemory", "_pollMemory$0", 0);
    _instance(_, "get$_recalculate", 0, 0, function() {
      return [false];
    }, ["call$1", "call$0"], ["_recalculate$1", "_recalculate$0"], 399, 0, 0);
    _instance_1_u(A.ObjectFieldReference.prototype, "get$_expandObjectFieldRef", "_expandObjectFieldRef$1", 16);
    _instance_1_u(A.AndroidChartController.prototype, "get$addSample", "addSample$1", 137);
    _instance_1_u(A.EventChartController.prototype, "get$addSample", "addSample$1", 137);
    _instance_1_u(A.VMChartController.prototype, "get$addSample", "addSample$1", 137);
    _instance_0_u(_ = A._PrimaryControlsState.prototype, "get$_primary_controls$_onPause", "_primary_controls$_onPause$0", 0);
    _instance_0_u(_, "get$_primary_controls$_onResume", "_primary_controls$_onResume$0", 0);
    _instance_0_u(_, "get$_clearTimeline", "_clearTimeline$0", 0);
    _instance_0_u(_ = A._SecondaryControlsState.prototype, "get$_openSettingsDialog", "_openSettingsDialog$0", 0);
    _instance_0_u(_, "get$_exportToFile", "_exportToFile$0", 0);
    _instance_0_u(_, "get$_gc", "_gc$0", 2);
    _instance_1_u(A.NetworkController.prototype, "get$_checkForError", "_checkForError$1", 415);
    _instance_0_u(A._NetworkProfilerControlsState.prototype, "get$_network_screen$_showFilterDialog", "_network_screen$_showFilterDialog$0", 0);
    _instance_1_u(A.TrackWidgetBuildsCheckbox.prototype, "get$_checkboxChanged", "_checkboxChanged$1", 31);
    _instance_1_u(A.TrackWidgetBuildsScopeSelector.prototype, "get$_changeScope", "_changeScope$1", 649);
    _instance_0_u(A.FlutterFramesChartItem.prototype, "get$_selectFrame", "_selectFrame$0", 0);
    _instance(_ = A.PerformanceController.prototype, "get$_pullTraceEventsFromVmTimeline", 0, 0, function() {
      return {isInitialPull: false};
    }, ["call$1$isInitialPull", "call$0"], ["_pullTraceEventsFromVmTimeline$1$isInitialPull", "_pullTraceEventsFromVmTimeline$0"], 445, 0, 0);
    _instance_0_u(_, "get$processAvailableEvents", "processAvailableEvents$0", 0);
    _instance(_, "get$selectTimelineEvent", 0, 1, null, ["call$2$updateProfiler", "call$1"], ["selectTimelineEvent$2$updateProfiler", "selectTimelineEvent$1"], 446, 0, 0);
    _instance_1_u(_, "get$_assignEventsToFrame", "_assignEventsToFrame$1", 334);
    _instance_1_u(_, "get$_maybeBadgeTabForJankyFrame", "_maybeBadgeTabForJankyFrame$1", 334);
    _instance_1_u(A.TimelineEvent0.prototype, "get$_addChild", "_addChild$1", 125);
    _instance_1_u(A.FrameAnalysis.prototype, "get$selectFramePhase", "selectFramePhase$1", 460);
    _instance_0_u(_ = A._PrimaryControls0.prototype, "get$_pauseFrameRecording", "_pauseFrameRecording$0", 0);
    _instance_0_u(_, "get$_resumeFrameRecording", "_resumeFrameRecording$0", 0);
    _instance_0_u(_, "get$_clearPerformanceData", "_clearPerformanceData$0", 2);
    _instance_1_u(_ = A.RasterMetricsController.prototype, "get$selectSnapshot", "selectSnapshot$1", 470);
    _instance_0_i(_, "get$clear", "clear$0", 0);
    _instance_0_u(A.TimelineFlameChartState.prototype, "get$_handleSelectedFrame", "_handleSelectedFrame$0", 0);
    _instance_1_u(A.TimelineStreamManager.prototype, "get$handleTimelineEvent", "handleTimelineEvent$1", 11);
    _instance_0_u(A.CpuProfilerController.prototype, "get$enableCpuProfiler", "enableCpuProfiler$0", 33);
    _static_2(A, "cpu_profile_model__stackFrameIdCompare$closure", "stackFrameIdCompare", 161);
    _instance_0_u(_ = A._CpuProfilerState.prototype, "get$_cpu_profiler$_onTabChanged", "_cpu_profiler$_onTabChanged$0", 0);
    _instance_0_u(_, "get$_cpu_profiler$_showFilterDialog", "_cpu_profiler$_showFilterDialog$0", 0);
    _instance_0_u(A.CpuProfileFilterDialog.prototype, "get$restoreOldValues", "restoreOldValues$0", 0);
    _static(A, "instance_details___$identity$closure", 1, null, ["call$1$1", "call$1"], ["_$identity", function(value) {
      return A._$identity(value, type$.dynamic);
    }], 260, 0);
    _instance_1_u(A._$PathToPropertyTearOff.prototype, "get$listIndex", "listIndex$1", 515);
    _instance(_ = A.ErrorLoggerObserver.prototype, "get$didAddProvider", 0, 3, null, ["call$3"], ["didAddProvider$3"], 582, 0, 0);
    _instance(_, "get$didUpdateProvider", 0, 4, null, ["call$4"], ["didUpdateProvider$4"], 583, 0, 0);
    _instance_0_i(A.IsolateStatisticsViewController.prototype, "get$refresh", "refresh$0", 2);
    _instance_1_u(A.VMDeveloperToolsController.prototype, "get$selectIndex", "selectIndex$1", 26);
    _instance_0_i(A.VMStatisticsViewController.prototype, "get$refresh", "refresh$0", 2);
    _instance_1_u(_ = A.IsolateManager.prototype, "get$selectIsolate", "selectIsolate$1", 596);
    _instance_1_u(_, "get$_handleIsolateEvent", "_handleIsolateEvent$1", 88);
    _instance_1_u(_, "get$_handleDebugEvent", "_handleDebugEvent$1", 11);
    _instance_1_u(_ = A.ServiceExtensionManager.prototype, "get$_service_extension_manager$_handleIsolateEvent", "_service_extension_manager$_handleIsolateEvent$1", 88);
    _instance_1_u(_, "get$_service_extension_manager$_handleExtensionEvent", "_service_extension_manager$_handleExtensionEvent$1", 88);
    _instance_1_u(_, "get$_service_extension_manager$_handleDebugEvent", "_service_extension_manager$_handleDebugEvent$1", 88);
    _instance_0_u(_, "get$_onMainIsolateChanged", "_onMainIsolateChanged$0", 2);
    _instance_0_u(_, "get$_maybeCheckForFirstFlutterFrame", "_maybeCheckForFirstFlutterFrame$0", 2);
    _instance_1_u(A._ServiceExtensionButtonGroupState.prototype, "get$_service_extension_widgets$_onPressed", "_service_extension_widgets$_onPressed$1", 26);
    _instance(A._ServiceExtensionToggleState.prototype, "get$_onClick", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_onClick$1", "_onClick$0"], 610, 0, 0);
    _instance_1_u(A._ServiceExtensionCheckboxState.prototype, "get$_service_extension_widgets$_onChanged", "_service_extension_widgets$_onChanged$1", 31);
    _instance_1_u(_ = A._ServiceExtensionCheckboxGroupButtonState.prototype, "get$_mouseEnter", "_mouseEnter$1", 49);
    _instance_1_u(_, "get$_mouseExit", "_mouseExit$1", 34);
    _instance_0_u(_, "get$_maybeRemoveOverlay", "_maybeRemoveOverlay$0", 0);
    _instance_0_u(_ = A.ServiceConnectionManager.prototype, "get$performHotReload", "performHotReload$0", 2);
    _instance_0_u(_, "get$performHotRestart", "performHotRestart$0", 2);
    _instance_1_u(A.VmFlagManager.prototype, "get$handleVmEvent", "handleVmEvent$1", 11);
    _instance_1_u(A.NotifierCheckbox.prototype, "get$_updateValue", "_updateValue$1", 31);
    _instance_0_u(_ = A._ConsoleOutputState.prototype, "get$_onScrollChanged", "_onScrollChanged$0", 0);
    _instance_0_u(_, "get$_onConsoleLinesChanged", "_onConsoleLinesChanged$0", 0);
    _instance_1_u(_ = A.ConsoleService.prototype, "get$_handleStdoutEvent", "_handleStdoutEvent$1", 11);
    _instance_1_u(_, "get$_handleStderrEvent", "_handleStderrEvent$1", 11);
    _instance_1_u(_, "get$_handleExtensionEvent", "_handleExtensionEvent$1", 11);
    _instance_1_u(_, "get$_console_service$_handleDebugEvent", "_console_service$_handleDebugEvent$1", 11);
    _instance_1_u(_ = A.ErrorBadgeManager.prototype, "get$_error_badge_manager$_handleExtensionEvent", "_error_badge_manager$_handleExtensionEvent$1", 11);
    _instance_1_u(_, "get$_handleStdErr", "_handleStdErr$1", 11);
    _instance_0_u(A.Disposable.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(A.EvalOnDartLibrary.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(_ = A._FileImportContainerState.prototype, "get$_file_import$_importFile", "_file_import$_importFile$0", 2);
    _instance_0_u(_, "get$_clearFile", "_clearFile$0", 0);
    _instance_1_u(_, "get$_handleImportedFile", "_handleImportedFile$1", 87);
    _instance_1_u(_ = A._DualFileImportContainerState.prototype, "get$onFirstFileSelected", "onFirstFileSelected$1", 87);
    _instance_1_u(_, "get$onSecondFileSelected", "onSecondFileSelected$1", 87);
    _instance_0_u(_, "get$onFirstFileCleared", "onFirstFileCleared$0", 0);
    _instance_0_u(_, "get$onSecondFileCleared", "onSecondFileCleared$0", 0);
    _instance_1_u(_ = A._InitializerState.prototype, "get$_connectVm", "_connectVm$1", 16);
    _instance_0_u(_, "get$hideDisconnectedOverlay", "hideDisconnectedOverlay$0", 0);
    _instance_0_i(_ = A._ConnectDialogState.prototype, "get$_connect", "_connect$0", 2);
    _instance_0_u(_, "get$_connectHelper", "_connectHelper$0", 2);
    _instance_1_u(_ = A.NotificationsState.prototype, "get$_removeNotification", "_removeNotification$1", 642);
    _instance_1_u(_, "get$_notifications$_buildOverlay", "_notifications$_buildOverlay$1", 29);
    _static(A, "object_tree__buildVariablesTree$closure", 1, function() {
      return {expandAll: false};
    }, ["call$2$expandAll", "call$1"], ["buildVariablesTree", function(variable) {
      return A.buildVariablesTree(variable, false);
    }], 1177, 0);
    _instance_1_u(_ = A.PreferencesController.prototype, "get$toggleDarkModeTheme", "toggleDarkModeTheme$1", 10);
    _instance_1_u(_, "get$toggleVmDeveloperMode", "toggleVmDeveloperMode$1", 10);
    _instance_1_u(_, "get$toggleDenseMode", "toggleDenseMode$1", 10);
    _instance_1_u(A.BottomUpTransformer.prototype, "get$cascadeSampleCounts", "cascadeSampleCounts$1", 4);
    _instance_1_u(_ = A.DevToolsRouterDelegate.prototype, "get$build", "build$1", 29);
    _instance_2_u(_, "get$_handleOnPopPage", "_handleOnPopPage$2", 651);
    _instance_1_u(_, "get$setNewRoutePath", "setNewRoutePath$1", 127);
    _instance_1_u(_ = A.DevToolsScaffoldState.prototype, "get$_showPageById", "_showPageById$1", 12);
    _instance_1_u(_, "get$_pushSnapshotScreenForImport", "_pushSnapshotScreenForImport$1", 12);
    _static_1(A, "screen__shouldShowScreen$closure", "shouldShowScreen", 64);
    _instance_0_u(A.DevToolsServerConnection.prototype, "get$notify", "notify$0", 2);
    _instance_2_u(A._SplitState.prototype, "get$_buildLayout", "_buildLayout$2", 75);
    _instance(_ = A.FlatTableState.prototype, "get$_buildRow", 0, 4, null, ["call$4"], ["_buildRow$4"], 303, 0, 0);
    _instance(_, "get$_sortDataAndUpdate", 0, 2, null, ["call$3$secondarySortColumn", "call$2"], ["_sortDataAndUpdate$3$secondarySortColumn", "_sortDataAndUpdate$2"], 138, 0, 0);
    _instance_0_u(_ = A.TreeTableState.prototype, "get$_onItemsAnimated", "_onItemsAnimated$0", 0);
    _instance(_, "get$_buildRow", 0, 4, null, ["call$4"], ["_buildRow$4"], 303, 0, 0);
    _instance(_, "get$_handleKeyEvent", 0, 3, null, ["call$3"], ["_handleKeyEvent$3"], 667, 0, 0);
    _instance(_, "get$_sortDataAndUpdate", 0, 2, null, ["call$3$secondarySortColumn", "call$2"], ["_sortDataAndUpdate$3$secondarySortColumn", "_sortDataAndUpdate$2"], 138, 0, 0);
    _instance_0_u(_ = A._TableState.prototype, "get$_onActiveSearchChange", "_onActiveSearchChange$0", 0);
    _instance_2_u(_, "get$_buildItem", "_buildItem$2", 47);
    _instance(_, "get$_sortData", 0, 2, null, ["call$3$secondarySortColumn", "call$2"], ["_sortData$3$secondarySortColumn", "_sortData$2"], 138, 0, 0);
    _instance_0_u(_ = A._TreeViewState.prototype, "get$_updateTreeView", "_updateTreeView$0", 0);
    _instance_1_u(_, "get$_onItemSelected", "_onItemSelected$1", 4);
    _instance_1_u(_, "get$_onItemExpanded", "_onItemExpanded$1", 4);
    _instance_0_u(_ = A._TreeViewItemState.prototype, "get$_onExpanded", "_onExpanded$0", 0);
    _instance_0_u(_, "get$_onSelected", "_onSelected$0", 0);
    _instance_0_u(A._FilterDialogState.prototype, "get$_resetFilters", "_resetFilters$0", 0);
    _instance_1_u(A._HoverCardTooltipState.prototype, "get$_onHover", "_onHover$1", 67);
    _instance_0_u(_ = A.SearchControllerMixin.prototype, "get$previousMatch", "previousMatch$0", 0);
    _instance_0_u(_, "get$nextMatch", "nextMatch$0", 0);
    _instance(A.SearchFieldMixin.prototype, "get$clearSearchField", 0, 1, null, ["call$2$force", "call$1"], ["clearSearchField$2$force", "clearSearchField$1"], 683, 0, 0);
    _instance_0_u(_ = A._AutoCompleteSearchFieldState.prototype, "get$_handleLostFocus", "_handleLostFocus$0", 0);
    _instance_2_u(_, "get$_handleKeyStrokes", "_handleKeyStrokes$2", 72);
    _instance_2_u(_, "get$_highlightDropdownDefault", "_highlightDropdownDefault$2", 684);
    _instance_0_u(A._AnalyticsTabbedViewState.prototype, "get$_onTabChanged", "_onTabChanged$0", 0);
    _instance_1_u(A.ProfileGranularityDropdown.prototype, "get$_onProfileGranularityChanged", "_onProfileGranularityChanged$1", 690);
    _instance_1_u(A.DomHelper.prototype, "get$_convertFileToXFile", "_convertFileToXFile$1", 695);
    _instance(_ = A.AnimationController.prototype, "get$reverse", 1, 0, function() {
      return {from: null};
    }, ["call$1$from", "call$0"], ["reverse$1$from", "reverse$0"], 696, 0, 0);
    _instance_1_u(_, "get$_directionSetter", "_directionSetter$1", 697);
    _instance_1_u(_, "get$_animation_controller$_tick", "_animation_controller$_tick$1", 3);
    _instance_1_u(A.ReverseAnimation.prototype, "get$_statusChangeHandler", "_statusChangeHandler$1", 5);
    _instance_1_u(A.CurvedAnimation.prototype, "get$_updateCurveDirection", "_updateCurveDirection$1", 5);
    _instance_1_u(_ = A.TrainHoppingAnimation.prototype, "get$_statusChangeHandler", "_statusChangeHandler$1", 5);
    _instance_0_u(_, "get$_valueChangeHandler", "_valueChangeHandler$0", 0);
    _instance_1_u(_ = A.CompoundAnimation.prototype, "get$_maybeNotifyStatusListeners", "_maybeNotifyStatusListeners$1", 5);
    _instance_0_u(_, "get$_maybeNotifyListeners", "_maybeNotifyListeners$0", 0);
    _instance_0_u(A.AnimationLocalListenersMixin.prototype, "get$notifyListeners", "notifyListeners$0", 0);
    _instance_1_u(A.AnimationLocalStatusListenersMixin.prototype, "get$notifyStatusListeners", "notifyStatusListeners$1", 5);
    _instance_1_u(_ = A._CupertinoBackGestureDetectorState.prototype, "get$_handleDragStart", "_handleDragStart$1", 46);
    _instance_1_u(_, "get$_handleDragUpdate", "_handleDragUpdate$1", 20);
    _instance_1_u(_, "get$_handleDragEnd", "_handleDragEnd$1", 73);
    _instance_0_u(_, "get$_handleDragCancel", "_handleDragCancel$0", 0);
    _instance_1_u(_, "get$_handlePointerDown", "_handlePointerDown$1", 140);
    _instance_0_u(A._CupertinoScrollbarState.prototype, "get$handleThumbPress", "handleThumbPress$0", 0);
    _static(A, "assertions_FlutterError_dumpErrorToConsole$closure", 1, null, ["call$2$forceReport", "call$1"], ["FlutterError_dumpErrorToConsole", function(details) {
      return A.FlutterError_dumpErrorToConsole(details, false);
    }], 1178, 0);
    _static_1(A, "assertions_DiagnosticsStackTrace__createStackFrame$closure", "DiagnosticsStackTrace__createStackFrame", 1179);
    _instance_1_i(_ = A.ChangeNotifier.prototype, "get$addListener", "addListener$1", 57);
    _instance_1_i(_, "get$removeListener", "removeListener$1", 57);
    _instance_0_u(_, "get$dispose", "dispose$0", 0);
    _instance_0_u(_, "get$notifyListeners", "notifyListeners$0", 0);
    _instance_1_i(A.DiagnosticPropertiesBuilder.prototype, "get$add", "add$1", 294);
    _instance_1_u(A.AbstractNode.prototype, "get$redepthChild", "redepthChild$1", 714);
    _static_1(A, "stack_frame_StackFrame_fromStackTraceLine$closure", "StackFrame_fromStackTraceLine", 1180);
    _instance_1_u(_ = A.GestureBinding.prototype, "get$_handlePointerDataPacket", "_handlePointerDataPacket$1", 717);
    _instance_1_u(_, "get$cancelPointer", "cancelPointer$1", 26);
    _instance_0_u(_, "get$_flushPointerEventQueue", "_flushPointerEventQueue$0", 0);
    _instance_1_u(_, "get$_handlePointerEventImmediately", "_handlePointerEventImmediately$1", 38);
    _instance_0_u(_, "get$_handleSampleTimeChanged", "_handleSampleTimeChanged$0", 0);
    _static(A, "force_press_ForcePressGestureRecognizer__inverseLerp$closure", 3, null, ["call$3"], ["ForcePressGestureRecognizer__inverseLerp"], 1181, 0);
    _instance_1_u(A.ForcePressGestureRecognizer.prototype, "get$handleEvent", "handleEvent$1", 38);
    _static_1(A, "monodrag_DragGestureRecognizer__defaultBuilder$closure", "DragGestureRecognizer__defaultBuilder", 248);
    _instance_1_u(A.DragGestureRecognizer.prototype, "get$handleEvent", "handleEvent$1", 38);
    _instance_0_u(A._CountdownZoned.prototype, "get$_onTimeout", "_onTimeout$0", 0);
    _instance_1_u(_ = A.DoubleTapGestureRecognizer.prototype, "get$_multitap$_handleEvent", "_multitap$_handleEvent$1", 38);
    _instance_1_u(_, "get$_reject", "_reject$1", 720);
    _instance_0_u(_, "get$_multitap$_reset", "_multitap$_reset$0", 0);
    _instance_1_u(A.PrimaryPointerGestureRecognizer.prototype, "get$handleEvent", "handleEvent$1", 38);
    _instance_2_u(_ = A._MaterialAppState.prototype, "get$_inspectorSelectButtonBuilder", "_inspectorSelectButtonBuilder$2", 724);
    _instance_2_u(_, "get$_materialBuilder", "_materialBuilder$2", 56);
    _instance_0_u(_ = A._AppBarState.prototype, "get$_handleDrawerButtonEnd", "_handleDrawerButtonEnd$0", 0);
    _instance_1_u(_, "get$_app_bar$_handleScrollNotification", "_app_bar$_handleScrollNotification$1", 725);
    _instance_1_u(_ = A._RenderInputPadding.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A._RenderInputPadding0.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.TableRowInkWell.prototype, "get$getRectCallback", "getRectCallback$1", 750);
    _instance_1_u(_, "get$debugCheckContext", "debugCheckContext$1", 293);
    _static(A, "dialog___buildMaterialDialogTransitions$closure", 4, null, ["call$4"], ["_buildMaterialDialogTransitions"], 1182, 0);
    _instance_1_u(_ = A._DropdownMenuItemButtonState.prototype, "get$_dropdown$_handleFocusChange", "_dropdown$_handleFocusChange$1", 10);
    _instance_0_u(_, "get$_handleOnTap", "_handleOnTap$0", 0);
    _instance_0_u(_ = A._DropdownButtonState.prototype, "get$_dropdown$_handleFocusChanged", "_dropdown$_handleFocusChanged$0", 0);
    _instance_0_u(_, "get$_dropdown$_handleTap", "_dropdown$_handleTap$0", 0);
    _instance_0_u(_ = A._ExpansionTileState.prototype, "get$_expansion_tile$_handleTap", "_expansion_tile$_handleTap$0", 0);
    _instance_2_u(_, "get$_buildChildren", "_buildChildren$2", 56);
    _instance_1_u(_ = A._RenderChildOverflowBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_0_u(_ = A._InkState.prototype, "get$_handleRemoved", "_handleRemoved$0", 0);
    _instance_1_u(_, "get$_build", "_build$1", 29);
    _instance_0_u(A.InkDecoration.prototype, "get$_ink_decoration$_handleChanged", "_ink_decoration$_handleChanged$0", 0);
    _instance_1_u(A.InkHighlight.prototype, "get$_handleAlphaStatusChanged", "_handleAlphaStatusChanged$1", 5);
    _instance_1_u(A.InkRipple.prototype, "get$_ink_ripple$_handleAlphaStatusChanged", "_ink_ripple$_handleAlphaStatusChanged$1", 5);
    _instance_1_u(A.InkSplash.prototype, "get$_ink_splash$_handleAlphaStatusChanged", "_ink_splash$_handleAlphaStatusChanged$1", 5);
    _instance_1_u(_ = A.InkResponse.prototype, "get$getRectCallback", "getRectCallback$1", 759);
    _instance_1_u(_, "get$debugCheckContext", "debugCheckContext$1", 293);
    _instance(_ = A._InkResponseState.prototype, "get$_simulateTap", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_simulateTap$1", "_simulateTap$0"], 286, 0, 0);
    _instance_0_u(_, "get$_simulateLongPress", "_simulateLongPress$0", 0);
    _instance_1_u(_, "get$_handleFocusHighlightModeChange", "_handleFocusHighlightModeChange$1", 285);
    _instance_1_u(_, "get$_handleFocusUpdate", "_handleFocusUpdate$1", 10);
    _instance_1_u(_, "get$_handleTapDown", "_handleTapDown$1", 35);
    _instance_1_u(_, "get$_handleTapUp", "_handleTapUp$1", 80);
    _instance_0_u(_, "get$_handleTap", "_handleTap$0", 0);
    _instance_0_u(_, "get$_handleTapCancel", "_handleTapCancel$0", 0);
    _instance_0_u(_, "get$_handleDoubleTap", "_handleDoubleTap$0", 0);
    _instance_0_u(_, "get$_handleLongPress", "_handleLongPress$0", 0);
    _instance_1_u(_, "get$_handleMouseEnter", "_handleMouseEnter$1", 49);
    _instance_1_u(_, "get$_handleMouseExit", "_handleMouseExit$1", 34);
    _instance_0_u(A._HelperErrorState.prototype, "get$_input_decorator$_handleChange", "_input_decorator$_handleChange$0", 0);
    _instance_1_u(_ = A._RenderDecoration.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_2_u(_, "get$_paintLabel", "_paintLabel$2", 19);
    _instance_0_u(A._InputDecoratorState.prototype, "get$_input_decorator$_handleChange", "_input_decorator$_handleChange$0", 0);
    _instance_1_u(_ = A._RenderListTile.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_0_u(A._NavigationRailState.prototype, "get$_navigation_rail$_rebuild", "_navigation_rail$_rebuild$0", 0);
    _instance_0_u(A.PopupMenuItemState.prototype, "get$handleTap", "handleTap$0", 0);
    _instance_0_u(A.PopupMenuButtonState.prototype, "get$showButtonMenu", "showButtonMenu$0", 0);
    _instance_1_u(A._RadioState.prototype, "get$_radio$_handleChanged", "_radio$_handleChanged$1", 31);
    _instance_1_u(A.ScaffoldMessengerState.prototype, "get$_handleSnackBarStatusChanged", "_handleSnackBarStatusChanged$1", 5);
    _instance_1_u(_ = A._FloatingActionButtonTransitionState.prototype, "get$_handlePreviousAnimationStatusChanged", "_handlePreviousAnimationStatusChanged$1", 5);
    _instance_0_u(_, "get$_onProgressChanged", "_onProgressChanged$0", 0);
    _instance_0_u(A.ScaffoldState.prototype, "get$_handleStatusBarTap", "_handleStatusBarTap$0", 0);
    _static(A, "scrollbar_theme___lerpBool$closure", 3, null, ["call$3"], ["_lerpBool"], 1183, 0);
    _instance_1_u(_ = A._SelectableTextSelectionGestureDetectorBuilder.prototype, "get$onForcePressStart", "onForcePressStart$1", 51);
    _instance_1_u(_, "get$onForcePressEnd", "onForcePressEnd$1", 51);
    _instance_1_u(_, "get$onSingleLongTapMoveUpdate", "onSingleLongTapMoveUpdate$1", 104);
    _instance_1_u(_, "get$onSingleTapUp", "onSingleTapUp$1", 80);
    _instance_1_u(_, "get$onSingleLongTapStart", "onSingleLongTapStart$1", 103);
    _instance_0_u(_ = A._SelectableTextState.prototype, "get$_onControllerChanged", "_onControllerChanged$0", 0);
    _instance_2_u(_, "get$_selectable_text$_handleSelectionChanged", "_selectable_text$_handleSelectionChanged$2", 279);
    _instance_0_u(_, "get$_handleSelectionHandleTapped", "_handleSelectionHandleTapped$0", 0);
    _instance_1_u(A._SnackBarState.prototype, "get$_onAnimationStatusChanged", "_onAnimationStatusChanged$1", 5);
    _instance_1_u(_ = A._MaterialSwitchState.prototype, "get$_switch$_handleDragStart", "_switch$_handleDragStart$1", 46);
    _instance_1_u(_, "get$_switch$_handleDragUpdate", "_switch$_handleDragUpdate$1", 20);
    _instance_1_u(_, "get$_switch$_handleDragEnd", "_switch$_handleDragEnd$1", 73);
    _instance_1_u(_, "get$_handleChanged", "_handleChanged$1", 31);
    _instance_0_u(_ = A._SwitchPainter.prototype, "get$_handleDecorationChanged", "_handleDecorationChanged$0", 0);
    _instance_0_u(_, "get$dispose", "dispose$0", 0);
    _instance_0_u(A.TabController.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(A._IndicatorPainter.prototype, "get$markNeedsPaint", "markNeedsPaint$0", 0);
    _instance_0_u(_ = A._TabBarState.prototype, "get$_handleTabControllerAnimationTick", "_handleTabControllerAnimationTick$0", 0);
    _instance_0_u(_, "get$_handleTabControllerTick", "_handleTabControllerTick$0", 0);
    _instance(_, "get$_saveTabOffsets", 0, 3, null, ["call$3"], ["_saveTabOffsets$3"], 790, 0, 0);
    _instance_0_u(_ = A._TabBarViewState.prototype, "get$_handleTabControllerAnimationTick", "_handleTabControllerAnimationTick$0", 0);
    _instance_1_u(_, "get$_handleScrollNotification", "_handleScrollNotification$1", 52);
    _instance_1_u(_ = A._TextFieldSelectionGestureDetectorBuilder.prototype, "get$onForcePressStart", "onForcePressStart$1", 51);
    _instance_1_u(_, "get$onForcePressEnd", "onForcePressEnd$1", 51);
    _instance_1_u(_, "get$onSingleLongTapMoveUpdate", "onSingleLongTapMoveUpdate$1", 104);
    _instance_1_u(_, "get$onSingleTapUp", "onSingleTapUp$1", 80);
    _instance_1_u(_, "get$onSingleLongTapStart", "onSingleLongTapStart$1", 103);
    _instance_0_u(_ = A._TextFieldState.prototype, "get$_text_field$_handleFocusChanged", "_text_field$_handleFocusChanged$0", 0);
    _instance_2_u(_, "get$_text_field$_handleSelectionChanged", "_text_field$_handleSelectionChanged$2", 279);
    _instance_0_u(_, "get$_text_field$_handleSelectionHandleTapped", "_text_field$_handleSelectionHandleTapped$0", 0);
    _instance(A.ThemeData.prototype, "get$extension", 0, 0, null, ["call$1$0", "call$0"], ["extension$1$0", "extension$0"], 796, 1, 0);
    _instance_1_u(_ = A._SelectToggleButtonRenderObject.prototype, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_ = A._RenderInputPadding1.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.ToggleableStateMixin.prototype, "get$_toggleable$_handleTapDown", "_toggleable$_handleTapDown$1", 35);
    _instance(_, "get$_toggleable$_handleTap", 0, 0, function() {
      return [null];
    }, ["call$1", "call$0"], ["_toggleable$_handleTap$1", "_toggleable$_handleTap$0"], 286, 0, 0);
    _instance(_, "get$_handleTapEnd", 0, 0, null, ["call$1", "call$0"], ["_handleTapEnd$1", "_handleTapEnd$0"], 801, 0, 0);
    _instance_1_u(_, "get$_handleFocusHighlightChanged", "_handleFocusHighlightChanged$1", 10);
    _instance_1_u(_, "get$_handleHoverChanged", "_handleHoverChanged$1", 10);
    _instance_0_u(A.ToggleablePainter.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(_ = A.TooltipState.prototype, "get$_handleMouseTrackerChange", "_handleMouseTrackerChange$0", 0);
    _instance_1_u(_, "get$_tooltip$_handleStatusChanged", "_tooltip$_handleStatusChanged$1", 5);
    _instance_0_u(_, "get$ensureTooltipVisible", "ensureTooltipVisible$0", 23);
    _instance_1_u(_, "get$_tooltip$_handlePointerEvent", "_tooltip$_handlePointerEvent$1", 38);
    _instance_0_u(_, "get$_handlePress", "_handlePress$0", 0);
    _instance_0_u(_, "get$_tooltip$_handleTap", "_tooltip$_handleTap$0", 0);
    _instance(_ = A.PaintingBinding.prototype, "get$instantiateImageCodec", 0, 1, null, ["call$4$allowUpscaling$cacheHeight$cacheWidth", "call$1"], ["instantiateImageCodec$4$allowUpscaling$cacheHeight$cacheWidth", "instantiateImageCodec$1"], 802, 0, 0);
    _instance(_, "get$instantiateImageCodecFromBuffer", 0, 1, null, ["call$4$allowUpscaling$cacheHeight$cacheWidth", "call$1"], ["instantiateImageCodecFromBuffer$4$allowUpscaling$cacheHeight$cacheWidth", "instantiateImageCodecFromBuffer$1"], 803, 0, 0);
    _static(A, "borders_OutlinedBorder_lerp$closure", 3, null, ["call$3"], ["OutlinedBorder_lerp"], 1184, 0);
    _instance_2_u(A.DecorationImagePainter.prototype, "get$_handleImage", "_handleImage$2", 276);
    _static(A, "edge_insets_EdgeInsetsGeometry_lerp$closure", 3, null, ["call$3"], ["EdgeInsetsGeometry_lerp"], 1185, 0);
    _static_1(A, "image_resolution_AssetImage__manifestParser$closure", "AssetImage__manifestParser", 1186);
    _instance_1_i(_ = A.ImageStreamCompleter.prototype, "get$addListener", "addListener$1", 274);
    _instance_1_u(_, "get$reportImageChunkEvent", "reportImageChunkEvent$1", 816);
    _instance_1_u(_ = A.MultiFrameImageStreamCompleter.prototype, "get$_handleCodecReady", "_handleCodecReady$1", 819);
    _instance_1_u(_, "get$_handleAppFrame", "_handleAppFrame$1", 3);
    _instance_1_i(_, "get$addListener", "addListener$1", 274);
    _static(A, "text_style_TextStyle_lerp$closure", 3, null, ["call$3"], ["TextStyle_lerp"], 1187, 0);
    _instance_0_u(_ = A.RendererBinding.prototype, "get$_handleSemanticsEnabledChanged", "_handleSemanticsEnabledChanged$0", 0);
    _instance_1_u(_, "get$_handleWebFirstFrame", "_handleWebFirstFrame$1", 3);
    _instance(_, "get$_handleSemanticsAction", 0, 3, null, ["call$3"], ["_handleSemanticsAction$3"], 823, 0, 0);
    _instance_0_u(_, "get$_handleSemanticsOwnerCreated", "_handleSemanticsOwnerCreated$0", 0);
    _instance_0_u(_, "get$_handleSemanticsOwnerDisposed", "_handleSemanticsOwnerDisposed$0", 0);
    _instance_1_u(_, "get$_handlePersistentFrameCallback", "_handlePersistentFrameCallback$1", 3);
    _instance_1_u(_ = A.RenderBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_0_u(_, "get$markNeedsLayout", "markNeedsLayout$0", 0);
    _instance_2_u(A.RenderBoxContainerDefaultsMixin.prototype, "get$defaultPaint", "defaultPaint$2", 19);
    _instance_1_u(_ = A.RenderCustomMultiChildLayoutBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderCustomPaint.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderEditable.prototype, "get$_onCaretChanged", "_onCaretChanged$1", 273);
    _instance_0_u(_, "get$markNeedsPaint", "markNeedsPaint$0", 0);
    _instance_0_u(_, "get$systemFontsDidChange", "systemFontsDidChange$0", 0);
    _instance_0_u(_, "get$_showHideCursor", "_showHideCursor$0", 0);
    _instance_1_u(_, "get$_handleSetText", "_handleSetText$1", 12);
    _instance_1_u(_, "get$_handleSetSelection", "_handleSetSelection$1", 828);
    _instance_1_u(_, "get$_handleMoveCursorForwardByCharacter", "_handleMoveCursorForwardByCharacter$1", 10);
    _instance_1_u(_, "get$_handleMoveCursorBackwardByCharacter", "_handleMoveCursorBackwardByCharacter$1", 10);
    _instance_1_u(_, "get$_handleMoveCursorForwardByWord", "_handleMoveCursorForwardByWord$1", 10);
    _instance_1_u(_, "get$_handleMoveCursorBackwardByWord", "_handleMoveCursorBackwardByWord$1", 10);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$_editable$_handleTapDown", "_editable$_handleTapDown$1", 35);
    _instance_0_u(_, "get$_editable$_handleTap", "_editable$_handleTap$0", 0);
    _instance_0_u(_, "get$_editable$_handleLongPress", "_editable$_handleLongPress$0", 0);
    _instance_2_u(_, "get$_editable$_paintContents", "_editable$_paintContents$2", 19);
    _instance_1_u(_ = A.RenderErrorBox.prototype, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderFlex.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderImage.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderListBody.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _static_1(A, "object_RenderObject__cleanChildRelayoutBoundary$closure", "RenderObject__cleanChildRelayoutBoundary", 81);
    _static_1(A, "object_RenderObject__propagateRelayoutBoundaryToChild$closure", "RenderObject__propagateRelayoutBoundaryToChild", 81);
    _instance_1_u(_ = A.RenderObject.prototype, "get$dropChild", "dropChild$1", 4);
    _instance_0_u(_, "get$markNeedsLayout", "markNeedsLayout$0", 0);
    _instance_0_u(_, "get$markNeedsPaint", "markNeedsPaint$0", 0);
    _instance(_, "get$paint", 0, 2, null, ["call$2"], ["paint$2"], 19, 0, 1);
    _instance_0_u(_, "get$markNeedsSemanticsUpdate", "markNeedsSemanticsUpdate$0", 0);
    _instance(_, "get$showOnScreen", 0, 0, null, ["call$4$curve$descendant$duration$rect", "call$0", "call$1$rect", "call$3$curve$duration$rect", "call$2$descendant$rect"], ["showOnScreen$4$curve$descendant$duration$rect", "showOnScreen$0", "showOnScreen$1$rect", "showOnScreen$3$curve$duration$rect", "showOnScreen$2$descendant$rect"], 182, 0, 0);
    _instance_1_u(_ = A.ContainerRenderObjectMixin.prototype, "get$childBefore", "childBefore$1", "ContainerRenderObjectMixin.0?(Object?)");
    _instance_1_u(_, "get$childAfter", "childAfter$1", "ContainerRenderObjectMixin.0?(Object?)");
    _instance_1_u(_ = A.RenderParagraph.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_0_u(_, "get$systemFontsDidChange", "systemFontsDidChange$0", 0);
    _instance_1_u(_ = A.RenderPerformanceOverlay.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderProxyBoxMixin.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance(_, "get$paint", 0, 2, null, ["call$2"], ["paint$2"], 19, 0, 1);
    _instance_1_u(_ = A.RenderConstrainedBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderIntrinsicWidth.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderIntrinsicHeight.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_0_u(A.RenderAnimatedOpacityMixin.prototype, "get$_updateOpacity", "_updateOpacity$0", 0);
    _instance_0_u(A._RenderCustomClip.prototype, "get$_markNeedsClip", "_markNeedsClip$0", 0);
    _instance_1_u(_ = A.RenderOffstage.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_0_u(_ = A.RenderSemanticsGestureHandler.prototype, "get$_performSemanticScrollLeft", "_performSemanticScrollLeft$0", 0);
    _instance_0_u(_, "get$_performSemanticScrollRight", "_performSemanticScrollRight$0", 0);
    _instance_0_u(_, "get$_performSemanticScrollUp", "_performSemanticScrollUp$0", 0);
    _instance_0_u(_, "get$_performSemanticScrollDown", "_performSemanticScrollDown$0", 0);
    _instance_0_u(_ = A.RenderSemanticsAnnotations.prototype, "get$_performTap", "_performTap$0", 0);
    _instance_0_u(_, "get$_performLongPress", "_performLongPress$0", 0);
    _instance_0_u(_, "get$_performDismiss", "_performDismiss$0", 0);
    _instance_0_u(_, "get$_performCopy", "_performCopy$0", 0);
    _instance_0_u(_, "get$_performCut", "_performCut$0", 0);
    _instance_0_u(_, "get$_performPaste", "_performPaste$0", 0);
    _instance_0_u(_, "get$_performDidGainAccessibilityFocus", "_performDidGainAccessibilityFocus$0", 0);
    _instance_1_u(_ = A.RenderRotatedBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_2_u(_, "get$_paintChild", "_paintChild$2", 19);
    _instance_0_u(A.SelectionRegistrant.prototype, "get$_selection$_updateSelectionRegistrarSubscription", "_selection$_updateSelectionRegistrarSubscription$0", 0);
    _instance_1_u(_ = A.RenderShiftedBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance(_, "get$paint", 0, 2, null, ["call$2"], ["paint$2"], 19, 0, 1);
    _instance_1_u(_ = A.RenderPadding.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_ = A.RenderCustomSingleChildLayoutBox.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance(A.RenderSliver.prototype, "get$hitTest", 0, 1, null, ["call$3$crossAxisPosition$mainAxisPosition"], ["hitTest$3$crossAxisPosition$mainAxisPosition"], 841, 0, 0);
    _instance_1_u(_ = A.RenderStack.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_2_u(_, "get$paintStack", "paintStack$2", 19);
    _instance_2_u(A.RenderIndexedStack.prototype, "get$paintStack", "paintStack$2", 19);
    _instance_1_u(_ = A.RenderTable.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(A.RenderView.prototype, "get$hitTestMouseTrackers", "hitTestMouseTrackers$1", 845);
    _instance_1_u(_ = A.RenderViewportBase.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_2_u(_, "get$_paintContents", "_paintContents$2", 19);
    _instance(_, "get$showOnScreen", 0, 0, null, ["call$4$curve$descendant$duration$rect", "call$0", "call$1$rect", "call$3$curve$duration$rect", "call$2$descendant$rect"], ["showOnScreen$4$curve$descendant$duration$rect", "showOnScreen$0", "showOnScreen$1$rect", "showOnScreen$3$curve$duration$rect", "showOnScreen$2$descendant$rect"], 182, 0, 0);
    _instance_1_u(_ = A.RenderWrap.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _static_2(A, "binding_SchedulerBinding__taskSorter$closure", "SchedulerBinding__taskSorter", 1188);
    _static(A, "binding__defaultSchedulingStrategy$closure", 0, null, ["call$2$priority$scheduler"], ["defaultSchedulingStrategy"], 1189, 0);
    _instance_1_u(_ = A.SchedulerBinding.prototype, "get$_executeTimingsCallbacks", "_executeTimingsCallbacks$1", 164);
    _instance_0_u(_, "get$_runTasks", "_runTasks$0", 0);
    _instance_0_u(_, "get$ensureVisualUpdate", "ensureVisualUpdate$0", 0);
    _instance_1_u(_, "get$_handleBeginFrame", "_handleBeginFrame$1", 3);
    _instance_0_u(_, "get$_handleDrawFrame", "_handleDrawFrame$0", 0);
    _instance_1_u(_, "get$_profileFramePostEvent", "_profileFramePostEvent$1", 848);
    _instance_1_u(A.Ticker.prototype, "get$_ticker$_tick", "_ticker$_tick$1", 3);
    _instance_0_u(A.SemanticsOwner.prototype, "get$dispose", "dispose$0", 0);
    _static_1(A, "asset_bundle_AssetBundle__utf8decode$closure", "AssetBundle__utf8decode", 1190);
    _static_1(A, "binding1_ServicesBinding__parseLicenses$closure", "ServicesBinding__parseLicenses", 1191);
    _instance_0_u(_ = A.ServicesBinding.prototype, "get$_addLicenses", "_addLicenses$0", 857);
    _instance_1_u(_, "get$_handleLifecycleMessage", "_handleLifecycleMessage$1", 858);
    _instance_1_u(_, "get$_handlePlatformMessage", "_handlePlatformMessage$1", 167);
    _instance_1_u(_ = A.KeyEventManager.prototype, "get$handleKeyData", "handleKeyData$1", 144);
    _instance_1_u(_, "get$handleRawKeyMessage", "handleRawKeyMessage$1", 861);
    _instance_1_u(_, "get$_convertRawEventAndStore", "_convertRawEventAndStore$1", 113);
    _instance_1_u(A.RestorationManager.prototype, "get$_methodHandler", "_methodHandler$1", 167);
    _instance_1_u(_ = A.RestorationBucket.prototype, "get$_dropChild", "_dropChild$1", 202);
    _instance_1_u(_, "get$_recursivelyUpdateManager", "_recursivelyUpdateManager$1", 202);
    _instance_1_u(A.TextInput.prototype, "get$_handleTextInputInvocation", "_handleTextInputInvocation$1", 266);
    _instance_1_u(A._ActionsState.prototype, "get$_handleActionChanged", "_handleActionChanged$1", 875);
    _instance_1_u(_ = A._FocusableActionDetectorState.prototype, "get$_actions$_handleFocusHighlightModeChange", "_actions$_handleFocusHighlightModeChange$1", 285);
    _instance_1_u(_, "get$_actions$_handleMouseEnter", "_actions$_handleMouseEnter$1", 49);
    _instance_1_u(_, "get$_actions$_handleMouseExit", "_actions$_handleMouseExit$1", 34);
    _instance_1_u(_, "get$_handleFocusChange", "_handleFocusChange$1", 10);
    _static(A, "animated_cross_fade_AnimatedCrossFade_defaultLayoutBuilder$closure", 4, null, ["call$4"], ["AnimatedCrossFade_defaultLayoutBuilder"], 1192, 0);
    _instance_1_u(_ = A._WidgetsAppState.prototype, "get$_onGenerateRoute", "_onGenerateRoute$1", 877);
    _instance_1_u(_, "get$_onUnknownRoute", "_onUnknownRoute$1", 878);
    _instance_1_u(A._AutomaticKeepAliveState.prototype, "get$_addClient", "_addClient$1", 879);
    _instance_0_u(_ = A.WidgetsBinding.prototype, "get$handleLocaleChanged", "handleLocaleChanged$0", 0);
    _instance_1_u(_, "get$_handleNavigationInvocation", "_handleNavigationInvocation$1", 266);
    _instance_0_u(_, "get$_handleBuildScheduled", "_handleBuildScheduled$0", 0);
    _instance_0_u(_ = A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding.prototype, "get$handleMetricsChanged", "handleMetricsChanged$0", 0);
    _instance_0_u(_, "get$handleTextScaleFactorChanged", "handleTextScaleFactorChanged$0", 0);
    _instance_0_u(_, "get$handlePlatformBrightnessChanged", "handlePlatformBrightnessChanged$0", 0);
    _instance_0_u(_, "get$performReassemble", "performReassemble$0", 2);
    _instance_1_u(_ = A._DismissibleState.prototype, "get$_dismissible$_handleDragStart", "_dismissible$_handleDragStart$1", 46);
    _instance_1_u(_, "get$_dismissible$_handleDragUpdate", "_dismissible$_handleDragUpdate$1", 20);
    _instance_0_u(_, "get$_handleDismissUpdateValueChanged", "_handleDismissUpdateValueChanged$0", 0);
    _instance_1_u(_, "get$_dismissible$_handleDragEnd", "_dismissible$_handleDragEnd$1", 73);
    _instance_1_u(_, "get$_handleDismissStatusChanged", "_handleDismissStatusChanged$1", 887);
    _instance_1_u(A._DualTransitionBuilderState.prototype, "get$_animationListener", "_animationListener$1", 5);
    _instance_0_i(A.TextEditingController.prototype, "get$clear", "clear$0", 0);
    _instance_0_u(_ = A.EditableTextState.prototype, "get$_onFloatingCursorResetTick", "_onFloatingCursorResetTick$0", 0);
    _instance_0_u(_, "get$_restartConnectionIfNeeded", "_restartConnectionIfNeeded$0", 0);
    _instance_0_u(_, "get$_updateSelectionOverlayForScroll", "_updateSelectionOverlayForScroll$0", 0);
    _instance_1_u(_, "get$_handleCaretChanged", "_handleCaretChanged$1", 273);
    _instance_0_u(_, "get$_onCursorColorTick", "_onCursorColorTick$0", 0);
    _instance_1_u(_, "get$_cursorTick", "_cursorTick$1", 84);
    _instance_1_u(_, "get$_cursorWaitForStart", "_cursorWaitForStart$1", 84);
    _instance_0_u(_, "get$_didChangeTextEditingValue", "_didChangeTextEditingValue$0", 0);
    _instance_0_u(_, "get$_editable_text$_handleFocusChanged", "_editable_text$_handleFocusChanged$0", 0);
    _instance_1_u(_, "get$_characterBoundary", "_characterBoundary$1", 136);
    _instance_1_u(_, "get$_nextWordBoundary", "_nextWordBoundary$1", 136);
    _instance_1_u(_, "get$_linebreak", "_linebreak$1", 136);
    _instance_1_u(_, "get$_documentBoundary", "_documentBoundary$1", 136);
    _instance_1_u(_, "get$_transposeCharacters", "_transposeCharacters$1", 891);
    _instance_1_u(_, "get$_replaceText", "_replaceText$1", 892);
    _instance_1_u(_, "get$_scrollToDocumentBoundary", "_scrollToDocumentBoundary$1", 893);
    _instance_1_u(_, "get$_updateSelection", "_updateSelection$1", 894);
    _instance_1_u(_, "get$_expandSelectionToDocumentBoundary", "_expandSelectionToDocumentBoundary$1", 895);
    _instance_1_u(_, "get$_expandSelectionToLinebreak", "_expandSelectionToLinebreak$1", 896);
    _instance_1_u(_, "get$_hideToolbarIfVisible", "_hideToolbarIfVisible$1", 897);
    _instance_1_u(_ = A._TextEditingHistoryState.prototype, "get$_undo", "_undo$1", 907);
    _instance_1_u(_, "get$_redo", "_redo$1", 908);
    _instance_0_u(_, "get$_push", "_push$0", 0);
    _instance_1_u(A._UndoStack.prototype, "get$push", "push$1", 4);
    _instance_0_u(_ = A.FocusNode.prototype, "get$dispose", "dispose$0", 0);
    _instance(_, "get$requestFocus", 0, 0, null, ["call$1", "call$0"], ["requestFocus$1", "requestFocus$0"], 909, 0, 0);
    _instance_0_u(_ = A.FocusManager.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_, "get$_handlePointerEvent", "_handlePointerEvent$1", 38);
    _instance_1_u(_, "get$_handleKeyMessage", "_handleKeyMessage$1", 912);
    _instance_0_u(_, "get$_applyFocusChange", "_applyFocusChange$0", 0);
    _instance_0_u(A._FocusState.prototype, "get$_handleFocusChanged", "_handleFocusChanged$0", 0);
    _static_1(A, "framework__InactiveElements__deactivateRecursively$closure", "_InactiveElements__deactivateRecursively", 17);
    _static_2(A, "framework_Element__sort$closure", "Element__sort", 1193);
    _static_1(A, "framework_Element__activateRecursively$closure", "Element__activateRecursively", 17);
    _instance_1_u(_ = A._InactiveElements.prototype, "get$_unmount", "_unmount$1", 17);
    _instance_0_u(_, "get$_unmountAll", "_unmountAll$0", 0);
    _instance_1_u(_ = A.RawGestureDetectorState.prototype, "get$_gesture_detector$_handlePointerDown", "_gesture_detector$_handlePointerDown$1", 140);
    _instance_1_u(_, "get$_handlePointerPanZoomStart", "_handlePointerPanZoomStart$1", 934);
    _instance_1_u(_, "get$_updateSemanticsForRenderObject", "_updateSemanticsForRenderObject$1", 935);
    _instance_1_u(_ = A._HeroFlight.prototype, "get$_buildOverlay", "_buildOverlay$1", 29);
    _instance_1_u(_, "get$_handleAnimationUpdate", "_handleAnimationUpdate$1", 5);
    _instance_0_u(_, "get$onTick", "onTick$0", 0);
    _instance_1_u(_ = A.HeroController.prototype, "get$_handleFlightEnded", "_handleFlightEnded$1", 938);
    _instance(_, "get$_defaultHeroFlightShuttleBuilder", 0, 5, null, ["call$5"], ["_defaultHeroFlightShuttleBuilder$5"], 939, 0, 0);
    _static(A, "icon_theme_data_IconThemeData_lerp$closure", 3, null, ["call$3"], ["IconThemeData_lerp"], 1194, 0);
    _instance_2_u(A._ImageState.prototype, "get$_handleImageFrame", "_handleImageFrame$2", 276);
    _instance_0_u(A.AnimatedWidgetBaseState.prototype, "get$_handleAnimationChanged", "_handleAnimationChanged$0", 0);
    _instance_0_u(A._InheritedNotifierElement.prototype, "get$_handleUpdate", "_handleUpdate$0", 0);
    _instance_1_u(A._LayoutBuilderElement.prototype, "get$_layout", "_layout$1", 4);
    _instance_1_u(_ = A._RenderLayoutBuilder.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _static_2(A, "navigator_Navigator_defaultGenerateInitialRoutes$closure", "Navigator_defaultGenerateInitialRoutes", 1195);
    _static_1(A, "navigator__RouteEntry_isPresentPredicate$closure", "_RouteEntry_isPresentPredicate", 119);
    _static_1(A, "navigator__RouteEntry_suitableForTransitionAnimationPredicate$closure", "_RouteEntry_suitableForTransitionAnimationPredicate", 119);
    _static_1(A, "navigator__RouteEntry_willBePresentPredicate$closure", "_RouteEntry_willBePresentPredicate", 119);
    _instance_1_u(A._NavigatorPushObservation.prototype, "get$notify", "notify$1", 135);
    _instance_1_u(A._NavigatorPopObservation.prototype, "get$notify", "notify$1", 135);
    _instance_1_u(A._NavigatorRemoveObservation.prototype, "get$notify", "notify$1", 135);
    _instance_1_u(A._NavigatorReplaceObservation.prototype, "get$notify", "notify$1", 135);
    _instance_1_u(_ = A.NavigatorState.prototype, "get$_navigator$_handlePointerDown", "_navigator$_handlePointerDown$1", 140);
    _instance_1_u(_, "get$_handlePointerUpOrCancel", "_handlePointerUpOrCancel$1", 38);
    _instance_1_u(_ = A._RenderOverflowBar.prototype, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_ = A._RenderTheatre.prototype, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance_2_u(_, "get$paintStack", "paintStack$2", 19);
    _instance_1_u(A._GlowingOverscrollIndicatorState.prototype, "get$_overscroll_indicator$_handleScrollNotification", "_overscroll_indicator$_handleScrollNotification$1", 52);
    _instance_0_u(_ = A._GlowController.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_, "get$_changePhase", "_changePhase$1", 5);
    _instance_1_u(_, "get$_tickDisplacement", "_tickDisplacement$1", 3);
    _instance_1_u(A._StretchingOverscrollIndicatorState.prototype, "get$_overscroll_indicator$_handleScrollNotification", "_overscroll_indicator$_handleScrollNotification$1", 52);
    _instance_1_u(_ = A._StretchController.prototype, "get$_changePhase", "_changePhase$1", 5);
    _instance_0_u(_, "get$dispose", "dispose$0", 0);
    _instance_1_u(A.DefaultPlatformMenuDelegate.prototype, "get$_methodCallHandler", "_methodCallHandler$1", 167);
    _instance_0_u(_ = A._RawKeyboardListenerState.prototype, "get$_raw_keyboard_listener$_handleFocusChanged", "_raw_keyboard_listener$_handleFocusChanged$0", 0);
    _instance_1_u(_, "get$_handleRawKeyEvent", "_handleRawKeyEvent$1", 113);
    _instance_0_u(A._RootRestorationScopeState.prototype, "get$_replaceRootBucket", "_replaceRootBucket$0", 0);
    _instance_0_u(A.RestorableProperty.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(A.RestorationMixin.prototype, "get$_updateProperty", "_updateProperty$1", 968);
    _instance_0_u(A.RestorableListenable.prototype, "get$dispose", "dispose$0", 0);
    _instance_0_u(A.RestorableChangeNotifier.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = A._RouterState.prototype, "get$_reportRouteInformation", "_reportRouteInformation$1", 3);
    _instance_0_u(_, "get$_handleRouteInformationProviderNotification", "_handleRouteInformationProviderNotification$0", 0);
    _instance_0_u(_, "get$_handleBackButtonDispatcherNotification", "_handleBackButtonDispatcherNotification$0", 54);
    _instance_0_u(_, "get$_handleRouterDelegateNotification", "_handleRouterDelegateNotification$0", 0);
    _instance_1_u(_ = A.RouterDelegate.prototype, "get$setInitialRoutePath", "setInitialRoutePath$1", 127);
    _instance_1_u(_, "get$setRestoredRoutePath", "setRestoredRoutePath$1", 127);
    _instance_0_u(A.PlatformRouteInformationProvider.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(A.TransitionRoute.prototype, "get$_handleStatusChanged", "_handleStatusChanged$1", 5);
    _instance_1_u(_ = A.ModalRoute.prototype, "get$_buildModalBarrier", "_buildModalBarrier$1", 29);
    _instance_1_u(_, "get$_buildModalScope", "_buildModalScope$1", 29);
    _instance_0_u(A._RenderFocusTrap.prototype, "get$_checkForUnfocus", "_checkForUnfocus$0", 0);
    _instance_0_u(_ = A.BallisticScrollActivity.prototype, "get$_scroll_activity$_tick", "_scroll_activity$_tick$0", 0);
    _instance_0_u(_, "get$_scroll_activity$_end", "_scroll_activity$_end$0", 0);
    _instance_0_u(_ = A.DrivenScrollActivity.prototype, "get$_scroll_activity$_tick", "_scroll_activity$_tick$0", 0);
    _instance_0_u(_, "get$_scroll_activity$_end", "_scroll_activity$_end$0", 0);
    _instance_0_u(A.ScrollController.prototype, "get$dispose", "dispose$0", 0);
    _static_1(A, "scroll_notification__defaultScrollNotificationPredicate$closure", "defaultScrollNotificationPredicate", 52);
    _instance_0_u(_ = A.ScrollPosition.prototype, "get$didUpdateScrollMetrics", "didUpdateScrollMetrics$0", 0);
    _instance_0_u(_, "get$dispose", "dispose$0", 0);
    _instance_0_u(A.ScrollPositionWithSingleContext.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = A.ScrollableState.prototype, "get$_handleDragDown", "_handleDragDown$1", 321);
    _instance_1_u(_, "get$_scrollable$_handleDragStart", "_scrollable$_handleDragStart$1", 46);
    _instance_1_u(_, "get$_scrollable$_handleDragUpdate", "_scrollable$_handleDragUpdate$1", 20);
    _instance_1_u(_, "get$_scrollable$_handleDragEnd", "_scrollable$_handleDragEnd$1", 73);
    _instance_0_u(_, "get$_scrollable$_handleDragCancel", "_scrollable$_handleDragCancel$0", 0);
    _instance_0_u(_, "get$_disposeHold", "_disposeHold$0", 0);
    _instance_0_u(_, "get$_disposeDrag", "_disposeDrag$0", 0);
    _instance_1_u(_, "get$_receivedPointerSignal", "_receivedPointerSignal$1", 180);
    _instance_1_u(_, "get$_handlePointerScroll", "_handlePointerScroll$1", 38);
    _instance_1_u(_, "get$_handleScrollMetricsNotification", "_handleScrollMetricsNotification$1", 184);
    _instance_0_u(_ = A._ScrollableSelectionContainerDelegate.prototype, "get$_scheduleLayoutChange", "_scheduleLayoutChange$0", 0);
    _instance_0_u(_, "get$dispose", "dispose$0", 0);
    _instance_0_u(A.ScrollbarPainter.prototype, "get$dispose", "dispose$0", 0);
    _instance_1_u(_ = A.RawScrollbarState.prototype, "get$_validateInteractions", "_validateInteractions$1", 5);
    _instance_0_u(_, "get$handleThumbPress", "handleThumbPress$0", 0);
    _instance_1_u(_, "get$_handleTrackTapDown", "_handleTrackTapDown$1", 35);
    _instance_1_u(_, "get$_scrollbar$_handleScrollMetricsNotification", "_scrollbar$_handleScrollMetricsNotification$1", 184);
    _instance_1_u(_, "get$_scrollbar$_handleScrollNotification", "_scrollbar$_handleScrollNotification$1", 52);
    _instance_1_i(_ = A.MultiSelectableSelectionContainerDelegate.prototype, "get$add", "add$1", 97);
    _instance_1_i(_, "get$remove", "remove$1", 97);
    _instance_2_u(_, "get$_compareScreenOrder", "_compareScreenOrder$2", 988);
    _instance_0_u(_, "get$_handleSelectableGeometryChange", "_handleSelectableGeometryChange$0", 0);
    _instance_0_u(_, "get$dispose", "dispose$0", 0);
    _instance_2_u(A._ShortcutsState.prototype, "get$_handleOnKey", "_handleOnKey$2", 72);
    _instance_0_u(A._ShortcutRegistrarState.prototype, "get$_shortcutsChanged", "_shortcutsChanged$0", 0);
    _instance_0_u(_ = A._RenderSingleChildViewport.prototype, "get$_hasScrolled", "_hasScrolled$0", 0);
    _instance_1_u(_, "get$computeMinIntrinsicWidth", "computeMinIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicWidth", "computeMaxIntrinsicWidth$1", 1);
    _instance_1_u(_, "get$computeMinIntrinsicHeight", "computeMinIntrinsicHeight$1", 1);
    _instance_1_u(_, "get$computeMaxIntrinsicHeight", "computeMaxIntrinsicHeight$1", 1);
    _instance(_, "get$showOnScreen", 0, 0, null, ["call$4$curve$descendant$duration$rect", "call$0", "call$1$rect", "call$3$curve$duration$rect", "call$2$descendant$rect"], ["showOnScreen$4$curve$descendant$duration$rect", "showOnScreen$0", "showOnScreen$1$rect", "showOnScreen$3$curve$duration$rect", "showOnScreen$2$descendant$rect"], 182, 0, 0);
    _static_2(A, "sliver___kDefaultSemanticIndexCallback$closure", "_kDefaultSemanticIndexCallback", 1196);
    _instance_1_i(_ = A._SelectionKeepAliveState.prototype, "get$add", "add$1", 97);
    _instance_1_i(_, "get$remove", "remove$1", 97);
    _instance_1_u(A.SliverMultiBoxAdaptorElement.prototype, "get$removeChild", "removeChild$1", 994);
    _instance_1_u(A._StatusTransitionState.prototype, "get$_animationStatusChanged", "_animationStatusChanged$1", 5);
    _instance_0_u(_ = A.TextSelectionOverlay.prototype, "get$_updateTextSelectionOverlayVisibilities", "_updateTextSelectionOverlayVisibilities$0", 0);
    _instance_1_u(_, "get$_handleSelectionEndHandleDragStart", "_handleSelectionEndHandleDragStart$1", 46);
    _instance_1_u(_, "get$_handleSelectionEndHandleDragUpdate", "_handleSelectionEndHandleDragUpdate$1", 20);
    _instance_1_u(_, "get$_handleSelectionStartHandleDragStart", "_handleSelectionStartHandleDragStart$1", 46);
    _instance_1_u(_, "get$_handleSelectionStartHandleDragUpdate", "_handleSelectionStartHandleDragUpdate$1", 20);
    _instance_1_u(_ = A.SelectionOverlay.prototype, "get$_buildStartHandle", "_buildStartHandle$1", 29);
    _instance_1_u(_, "get$_buildEndHandle", "_buildEndHandle$1", 29);
    _instance_0_u(A._SelectionHandleOverlayState.prototype, "get$_handleVisibilityChanged", "_handleVisibilityChanged$0", 0);
    _instance_1_u(_ = A.TextSelectionGestureDetectorBuilder.prototype, "get$onTapDown", "onTapDown$1", 35);
    _instance_1_u(_, "get$onForcePressStart", "onForcePressStart$1", 51);
    _instance_1_u(_, "get$onForcePressEnd", "onForcePressEnd$1", 51);
    _instance_1_u(_, "get$onSingleTapUp", "onSingleTapUp$1", 80);
    _instance_0_u(_, "get$onSingleTapCancel", "onSingleTapCancel$0", 0);
    _instance_1_u(_, "get$onSingleLongTapStart", "onSingleLongTapStart$1", 103);
    _instance_1_u(_, "get$onSingleLongTapMoveUpdate", "onSingleLongTapMoveUpdate$1", 104);
    _instance_1_u(_, "get$onSingleLongTapEnd", "onSingleLongTapEnd$1", 185);
    _instance_0_u(_, "get$onSecondaryTap", "onSecondaryTap$0", 0);
    _instance_1_u(_, "get$onSecondaryTapDown", "onSecondaryTapDown$1", 35);
    _instance_1_u(_, "get$onDoubleTapDown", "onDoubleTapDown$1", 35);
    _instance_1_u(_, "get$onDragSelectionStart", "onDragSelectionStart$1", 46);
    _instance_2_u(_, "get$onDragSelectionUpdate", "onDragSelectionUpdate$2", 1006);
    _instance_1_u(_, "get$onDragSelectionEnd", "onDragSelectionEnd$1", 73);
    _instance_1_u(_ = A._TextSelectionGestureDetectorState.prototype, "get$_text_selection$_handleTapDown", "_text_selection$_handleTapDown$1", 35);
    _instance_1_u(_, "get$_text_selection$_handleTapUp", "_text_selection$_handleTapUp$1", 80);
    _instance_0_u(_, "get$_text_selection$_handleTapCancel", "_text_selection$_handleTapCancel$0", 0);
    _instance_1_u(_, "get$_text_selection$_handleDragStart", "_text_selection$_handleDragStart$1", 46);
    _instance_1_u(_, "get$_text_selection$_handleDragUpdate", "_text_selection$_handleDragUpdate$1", 20);
    _instance_0_u(_, "get$_handleDragUpdateThrottled", "_handleDragUpdateThrottled$0", 0);
    _instance_1_u(_, "get$_text_selection$_handleDragEnd", "_text_selection$_handleDragEnd$1", 73);
    _instance_1_u(_, "get$_forcePressStarted", "_forcePressStarted$1", 51);
    _instance_1_u(_, "get$_forcePressEnded", "_forcePressEnded$1", 51);
    _instance_1_u(_, "get$_handleLongPressStart", "_handleLongPressStart$1", 103);
    _instance_1_u(_, "get$_handleLongPressMoveUpdate", "_handleLongPressMoveUpdate$1", 104);
    _instance_1_u(_, "get$_handleLongPressEnd", "_handleLongPressEnd$1", 185);
    _instance_0_u(_, "get$_doubleTapTimeout", "_doubleTapTimeout$0", 0);
    _instance_0_u(A.SingleTickerProviderStateMixin.prototype, "get$_updateTicker", "_updateTicker$0", 0);
    _instance_0_u(A.TickerProviderStateMixin.prototype, "get$_updateTickers", "_updateTickers$0", 0);
    _instance_0_u(A._AnimatedState.prototype, "get$_handleChange", "_handleChange$0", 0);
    _instance_0_u(A._ValueListenableBuilderState.prototype, "get$_valueChanged", "_valueChanged$0", 0);
    _instance_1_u(A._UncontrolledProviderScopeElement.prototype, "get$_flutterVsync", "_flutterVsync$1", 57);
    _instance_1_i(_ = A.HashUrlStrategy0.prototype, "get$addPopStateListener", "addPopStateListener$1", 1014);
    _instance_0_i(_, "get$getState", "getState$0", 1015);
    _instance(_, "get$pushState", 1, 3, null, ["call$3"], ["pushState$3"], 245, 0, 0);
    _instance(_, "get$replaceState", 1, 3, null, ["call$3"], ["replaceState$3"], 245, 0, 0);
    _instance_1_i(_, "get$go", "go$1", 1017);
    _instance_0_i(_ = A.PathUrlStrategy.prototype, "get$getPath", "getPath$0", 24);
    _instance_1_i(_, "get$prepareExternalUrl", "prepareExternalUrl$1", 15);
    _instance(A.Registrar.prototype, "get$handleFrameworkMessage", 0, 3, null, ["call$3"], ["handleFrameworkMessage$3"], 1018, 0, 0);
    _instance(A.BaseClient.prototype, "get$patch", 0, 1, function() {
      return {body: null, encoding: null, headers: null};
    }, ["call$4$body$encoding$headers", "call$1"], ["patch$4$body$encoding$headers", "patch$1"], 1021, 0, 0);
    _instance_2_u(_ = A.JpegScan.prototype, "get$_decodeBaseline", "_decodeBaseline$2", 187);
    _instance_2_u(_, "get$_decodeDCFirst", "_decodeDCFirst$2", 187);
    _instance_2_u(_, "get$_decodeDCSuccessive", "_decodeDCSuccessive$2", 241);
    _instance_2_u(_, "get$_decodeACFirst", "_decodeACFirst$2", 187);
    _instance_2_u(_, "get$_decodeACSuccessive", "_decodeACSuccessive$2", 241);
    _static_1(A, "vp8_filter_VP8Filter_VE4$closure", "VP8Filter_VE4", 8);
    _static_1(A, "vp8_filter_VP8Filter_HE4$closure", "VP8Filter_HE4", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC4$closure", "VP8Filter_DC4", 8);
    _static_1(A, "vp8_filter_VP8Filter_TM4$closure", "VP8Filter_TM4", 8);
    _static_1(A, "vp8_filter_VP8Filter_TM8uv$closure", "VP8Filter_TM8uv", 8);
    _static_1(A, "vp8_filter_VP8Filter_TM16$closure", "VP8Filter_TM16", 8);
    _static_1(A, "vp8_filter_VP8Filter_RD4$closure", "VP8Filter_RD4", 8);
    _static_1(A, "vp8_filter_VP8Filter_LD4$closure", "VP8Filter_LD4", 8);
    _static_1(A, "vp8_filter_VP8Filter_VR4$closure", "VP8Filter_VR4", 8);
    _static_1(A, "vp8_filter_VP8Filter_VL4$closure", "VP8Filter_VL4", 8);
    _static_1(A, "vp8_filter_VP8Filter_HU4$closure", "VP8Filter_HU4", 8);
    _static_1(A, "vp8_filter_VP8Filter_HD4$closure", "VP8Filter_HD4", 8);
    _static_1(A, "vp8_filter_VP8Filter_VE16$closure", "VP8Filter_VE16", 8);
    _static_1(A, "vp8_filter_VP8Filter_HE16$closure", "VP8Filter_HE16", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC16$closure", "VP8Filter_DC16", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC16NoTop$closure", "VP8Filter_DC16NoTop", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC16NoLeft$closure", "VP8Filter_DC16NoLeft", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC16NoTopLeft$closure", "VP8Filter_DC16NoTopLeft", 8);
    _static_1(A, "vp8_filter_VP8Filter_VE8uv$closure", "VP8Filter_VE8uv", 8);
    _static_1(A, "vp8_filter_VP8Filter_HE8uv$closure", "VP8Filter_HE8uv", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC8uv$closure", "VP8Filter_DC8uv", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC8uvNoLeft$closure", "VP8Filter_DC8uvNoLeft", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC8uvNoTop$closure", "VP8Filter_DC8uvNoTop", 8);
    _static_1(A, "vp8_filter_VP8Filter_DC8uvNoTopLeft$closure", "VP8Filter_DC8uvNoTopLeft", 8);
    _instance_1_u(A.VP8L.prototype, "get$_processRows", "_processRows$1", 26);
    _instance_1_u(A.InternalVP8L.prototype, "get$extractAlphaRows", "extractAlphaRows$1", 26);
    _static(A, "vp8l_transform_VP8LTransform__predictor0$closure", 3, null, ["call$3"], ["VP8LTransform__predictor0"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor1$closure", 3, null, ["call$3"], ["VP8LTransform__predictor1"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor2$closure", 3, null, ["call$3"], ["VP8LTransform__predictor2"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor3$closure", 3, null, ["call$3"], ["VP8LTransform__predictor3"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor4$closure", 3, null, ["call$3"], ["VP8LTransform__predictor4"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor5$closure", 3, null, ["call$3"], ["VP8LTransform__predictor5"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor6$closure", 3, null, ["call$3"], ["VP8LTransform__predictor6"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor7$closure", 3, null, ["call$3"], ["VP8LTransform__predictor7"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor8$closure", 3, null, ["call$3"], ["VP8LTransform__predictor8"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor9$closure", 3, null, ["call$3"], ["VP8LTransform__predictor9"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor10$closure", 3, null, ["call$3"], ["VP8LTransform__predictor10"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor11$closure", 3, null, ["call$3"], ["VP8LTransform__predictor11"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor12$closure", 3, null, ["call$3"], ["VP8LTransform__predictor12"], 25, 0);
    _static(A, "vp8l_transform_VP8LTransform__predictor13$closure", 3, null, ["call$3"], ["VP8LTransform__predictor13"], 25, 0);
    _static_1(A, "date_format_DateFormat_localeExists$closure", "DateFormat_localeExists", 63);
    _static_1(A, "number_format_NumberFormat_localeExists$closure", "NumberFormat_localeExists", 63);
    _instance_1_u(A.ListSyntax.prototype, "get$_removeLeadingEmptyLine", "_removeLeadingEmptyLine$1", 1041);
    _instance(A.Context.prototype, "get$extension", 0, 1, function() {
      return [1];
    }, ["call$2", "call$1"], ["extension$2", "extension$1"], 1049, 0, 0);
    _instance(A.ParsedPath.prototype, "get$extension", 0, 0, function() {
      return [1];
    }, ["call$1", "call$0"], ["extension$1", "extension$0"], 1050, 0, 0);
    _static_1(A, "framework0___runGuarded$closure", "_runGuarded0", 57);
    _static_1(A, "framework0___defaultVsync$closure", "_defaultVsync", 57);
    _instance(_ = A.ProviderObserver.prototype, "get$providerDidFail", 0, 4, null, ["call$4"], ["providerDidFail$4"], 1061, 0, 0);
    _instance_2_u(_, "get$didDisposeProvider", "didDisposeProvider$2", 1062);
    _instance_1_u(_ = A.ProviderElementBase.prototype, "get$setState", "setState$1", 4);
    _instance_1_i(_, "get$update", "update$1", 4);
    _instance_0_u(A._ProviderScheduler.prototype, "get$_framework0$_task", "_framework0$_task$0", 0);
    _instance_1_i(A.SourceFile.prototype, "get$location", "location$1", 1065);
    _instance(A.SourceSpanMixin.prototype, "get$message", 1, 1, null, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 1073, 0, 0);
    _instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 13);
    _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 13);
    _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
    _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 82);
    _instance_0_u(A.StateNotifier.prototype, "get$dispose", "dispose$0", 0);
    _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"], 116, 0, 0);
    _static_1(A, "dart_io_extensions_SocketStatistic_parse$closure", "SocketStatistic_parse", 1199);
    _static_1(A, "dart_io_extensions_SocketProfile_parse$closure", "SocketProfile_parse", 1200);
    _static_1(A, "dart_io_extensions_HttpTimelineLoggingState_parse$closure", "HttpTimelineLoggingState_parse", 1201);
    _static_1(A, "dart_io_extensions_HttpProfile_parse$closure", "HttpProfile_parse", 1202);
    _static_1(A, "dart_io_extensions_HttpProfileRequest_parse$closure", "HttpProfileRequest_parse", 1203);
    _static_1(A, "dart_io_extensions_SocketProfilingState_parse$closure", "SocketProfilingState_parse", 1204);
    _static_1(A, "dart_io_extensions_SpawnedProcessRef_parse$closure", "SpawnedProcessRef_parse", 1205);
    _static_1(A, "dart_io_extensions_SpawnedProcess_parse$closure", "SpawnedProcess_parse", 1206);
    _static_1(A, "dart_io_extensions_SpawnedProcessList_parse$closure", "SpawnedProcessList_parse", 1207);
    _static_1(A, "dart_io_extensions_OpenFileRef_parse$closure", "OpenFileRef_parse", 1208);
    _static_1(A, "dart_io_extensions_OpenFile_parse$closure", "OpenFile_parse", 1209);
    _static_1(A, "dart_io_extensions_OpenFileList_parse$closure", "OpenFileList_parse", 1210);
    _static_1(A, "vm_service_ExtensionData_parse$closure", "ExtensionData_parse", 1211);
    _static_1(A, "vm_service_AllocationProfile_parse$closure", "AllocationProfile_parse", 1212);
    _static_1(A, "vm_service_BoundField_parse$closure", "BoundField_parse", 1213);
    _static_1(A, "vm_service_BoundVariable_parse$closure", "BoundVariable_parse", 1214);
    _static_1(A, "vm_service_Breakpoint_parse$closure", "Breakpoint_parse", 1215);
    _static_1(A, "vm_service_ClassRef_parse$closure", "ClassRef_parse", 1216);
    _static_1(A, "vm_service_Class_parse$closure", "Class_parse", 1217);
    _static_1(A, "vm_service_ClassHeapStats_parse$closure", "ClassHeapStats_parse", 1218);
    _static_1(A, "vm_service_ClassList_parse$closure", "ClassList_parse", 1219);
    _static_1(A, "vm_service_CodeRef_parse$closure", "CodeRef_parse", 1220);
    _static_1(A, "vm_service_Code_parse$closure", "Code_parse", 1221);
    _static_1(A, "vm_service_ContextRef_parse$closure", "ContextRef_parse", 1222);
    _static_1(A, "vm_service_Context_parse$closure", "Context_parse", 1223);
    _static_1(A, "vm_service_ContextElement_parse$closure", "ContextElement_parse", 1224);
    _static_1(A, "vm_service_CpuSamples_parse$closure", "CpuSamples_parse", 1225);
    _static_1(A, "vm_service_CpuSamplesEvent_parse$closure", "CpuSamplesEvent_parse", 1226);
    _static_1(A, "vm_service_CpuSample_parse$closure", "CpuSample_parse", 1227);
    _static_1(A, "vm_service_ErrorRef_parse$closure", "ErrorRef_parse", 1228);
    _static_1(A, "vm_service_Error_parse$closure", "Error_parse", 1229);
    _static_1(A, "vm_service_Event_parse$closure", "Event_parse", 1230);
    _static_1(A, "vm_service_FieldRef_parse$closure", "FieldRef_parse", 1231);
    _static_1(A, "vm_service_Field_parse$closure", "Field_parse", 1232);
    _static_1(A, "vm_service_Flag_parse$closure", "Flag_parse", 1233);
    _static_1(A, "vm_service_FlagList_parse$closure", "FlagList_parse", 1234);
    _static_1(A, "vm_service_Frame_parse$closure", "Frame_parse", 1235);
    _static_1(A, "vm_service_FuncRef_parse$closure", "FuncRef_parse", 1236);
    _static_1(A, "vm_service_Func_parse$closure", "Func_parse", 1237);
    _static_1(A, "vm_service_InstanceRef_parse$closure", "InstanceRef_parse", 1238);
    _static_1(A, "vm_service_Instance_parse$closure", "Instance_parse", 1239);
    _static_1(A, "vm_service_IsolateRef_parse$closure", "IsolateRef_parse", 1240);
    _static_1(A, "vm_service_Isolate_parse$closure", "Isolate_parse", 1241);
    _static_1(A, "vm_service_IsolateFlag_parse$closure", "IsolateFlag_parse", 1242);
    _static_1(A, "vm_service_IsolateGroupRef_parse$closure", "IsolateGroupRef_parse", 1243);
    _static_1(A, "vm_service_IsolateGroup_parse$closure", "IsolateGroup_parse", 1244);
    _static_1(A, "vm_service_InboundReferences_parse$closure", "InboundReferences_parse", 1245);
    _static_1(A, "vm_service_InboundReference_parse$closure", "InboundReference_parse", 1246);
    _static_1(A, "vm_service_InstanceSet_parse$closure", "InstanceSet_parse", 1247);
    _static_1(A, "vm_service_LibraryRef_parse$closure", "LibraryRef_parse", 1248);
    _static_1(A, "vm_service_Library_parse$closure", "Library_parse", 1249);
    _static_1(A, "vm_service_LibraryDependency_parse$closure", "LibraryDependency_parse", 1250);
    _static_1(A, "vm_service_LogRecord_parse$closure", "LogRecord_parse", 1251);
    _static_1(A, "vm_service_MapAssociation_parse$closure", "MapAssociation_parse", 1252);
    _static_1(A, "vm_service_MemoryUsage_parse$closure", "MemoryUsage_parse", 1253);
    _static_1(A, "vm_service_Message_parse$closure", "Message_parse", 1254);
    _static_1(A, "vm_service_NativeFunction_parse$closure", "NativeFunction_parse", 1255);
    _static_1(A, "vm_service_NullValRef_parse$closure", "NullValRef_parse", 1256);
    _static_1(A, "vm_service_NullVal_parse$closure", "NullVal_parse", 1257);
    _static_1(A, "vm_service_ObjRef_parse$closure", "ObjRef_parse", 1258);
    _static_1(A, "vm_service_Obj_parse$closure", "Obj_parse", 1259);
    _static_1(A, "vm_service_Parameter_parse$closure", "Parameter_parse", 1260);
    _static_1(A, "vm_service_PortList_parse$closure", "PortList_parse", 1261);
    _static_1(A, "vm_service_ProfileFunction_parse$closure", "ProfileFunction_parse", 1262);
    _static_1(A, "vm_service_ProtocolList_parse$closure", "ProtocolList_parse", 1263);
    _static_1(A, "vm_service_Protocol_parse$closure", "Protocol_parse", 1264);
    _static_1(A, "vm_service_ProcessMemoryUsage_parse$closure", "ProcessMemoryUsage_parse", 1265);
    _static_1(A, "vm_service_ProcessMemoryItem_parse$closure", "ProcessMemoryItem_parse", 1266);
    _static_1(A, "vm_service_ReloadReport_parse$closure", "ReloadReport_parse", 1267);
    _static_1(A, "vm_service_RetainingObject_parse$closure", "RetainingObject_parse", 1268);
    _static_1(A, "vm_service_RetainingPath_parse$closure", "RetainingPath_parse", 1269);
    _static_1(A, "vm_service_Response_parse$closure", "Response_parse", 1270);
    _static_1(A, "vm_service_Sentinel_parse$closure", "Sentinel_parse", 1271);
    _static_1(A, "vm_service_ScriptRef_parse$closure", "ScriptRef_parse", 1272);
    _static_1(A, "vm_service_Script_parse$closure", "Script_parse", 1273);
    _static_1(A, "vm_service_ScriptList_parse$closure", "ScriptList_parse", 1274);
    _static_1(A, "vm_service_SourceLocation_parse$closure", "SourceLocation_parse", 1275);
    _static_1(A, "vm_service_SourceReport_parse$closure", "SourceReport_parse", 1276);
    _static_1(A, "vm_service_SourceReportCoverage_parse$closure", "SourceReportCoverage_parse", 1277);
    _static_1(A, "vm_service_SourceReportRange_parse$closure", "SourceReportRange_parse", 1278);
    _static_1(A, "vm_service_Stack_parse$closure", "Stack_parse", 1279);
    _static_1(A, "vm_service_Success_parse$closure", "Success_parse", 1280);
    _static_1(A, "vm_service_Timeline_parse$closure", "Timeline_parse", 1281);
    _static_1(A, "vm_service_TimelineEvent_parse$closure", "TimelineEvent_parse", 1282);
    _static_1(A, "vm_service_TimelineFlags_parse$closure", "TimelineFlags_parse", 1283);
    _static_1(A, "vm_service_Timestamp_parse$closure", "Timestamp_parse", 1284);
    _static_1(A, "vm_service_TypeArgumentsRef_parse$closure", "TypeArgumentsRef_parse", 1285);
    _static_1(A, "vm_service_TypeArguments_parse$closure", "TypeArguments_parse", 1286);
    _static_1(A, "vm_service_TypeParameters_parse$closure", "TypeParameters_parse", 1287);
    _static_1(A, "vm_service_UnresolvedSourceLocation_parse$closure", "UnresolvedSourceLocation_parse", 1288);
    _static_1(A, "vm_service_UriList_parse$closure", "UriList_parse", 1289);
    _static_1(A, "vm_service_Version_parse$closure", "Version_parse", 1290);
    _static_1(A, "vm_service_VMRef_parse$closure", "VMRef_parse", 1291);
    _static_1(A, "vm_service_VM_parse$closure", "VM_parse", 1292);
    _instance_1_u(A.VmService.prototype, "get$_processMessage", "_processMessage$1", 16);
    _static_1(A, "instruction_sizes_SymbolInfo__fromJson$closure", "SymbolInfo__fromJson", 1293);
    _instance_1_u(A.Snapshot0.prototype, "get$nodeAt", "nodeAt$1", 1146);
    _instance_1_u(A._ProgramInfoBuilder.prototype, "get$getInfoNodeFor", "getInfoNodeFor$1", 1148);
    _static_1(A, "link_LinkViewController__viewFactory$closure", "LinkViewController__viewFactory", 1294);
    _static_2(A, "utils0__defaultCompare$closure", "defaultCompare", 1295);
    _static(A, "utils0__identity$closure", 1, null, ["call$1$1", "call$1"], ["identity", function(value) {
      return A.identity(value, type$.dynamic);
    }], 260, 0);
    _static_2(A, "performance_utils_PerformanceUtils_eventGroupComparator$closure", "PerformanceUtils_eventGroupComparator", 161);
    _static_1(A, "utils2___normalizeExtension$closure", "_normalizeExtension", 15);
    _static(A, "print__debugPrintThrottled$closure", 1, null, ["call$2$wrapWidth", "call$1"], ["debugPrintThrottled", function(message) {
      return A.debugPrintThrottled(message, null);
    }], 1296, 0);
    _static_0(A, "print___debugPrintTask$closure", "_debugPrintTask", 0);
    _static_2(A, "layout_helper_ChildLayoutHelper_dryLayoutChild$closure", "ChildLayoutHelper_dryLayoutChild", 243);
    _static_2(A, "layout_helper_ChildLayoutHelper_layoutChild$closure", "ChildLayoutHelper_layoutChild", 243);
    _static(A, "webp_filters_WebPFilters_horizontalUnfilter$closure", 6, null, ["call$6"], ["WebPFilters_horizontalUnfilter"], 168, 0);
    _static(A, "webp_filters_WebPFilters_verticalUnfilter$closure", 6, null, ["call$6"], ["WebPFilters_verticalUnfilter"], 168, 0);
    _static(A, "webp_filters_WebPFilters_gradientUnfilter$closure", 6, null, ["call$6"], ["WebPFilters_gradientUnfilter"], 168, 0);
  })();
  (function inheritance() {
    var _mixin = hunkHelpers.mixin,
      _mixinHard = hunkHelpers.mixinHard,
      _inherit = hunkHelpers.inherit,
      _inheritMany = hunkHelpers.inheritMany;
    _inherit(A.Object, null);
    _inheritMany(A.Object, [A.AlarmClock, A.AppBootstrap, A.Closure, A.AssetManager, A.AssetManagerException, A._Enum, A._SaveStackTracking, A.ContextStateHandle, A.CkCanvas, A.CkPictureSnapshot, A.CkPaintCommand, J.Interceptor, A.ProductionCollector, A.SkiaObjectCollectionError, A.CanvasKitCanvas, A.SkiaObject, A.CkColorFilter, A.HtmlViewEmbedder, A.Mutator, A.Iterable, A.ViewListDiffResult, A.FontFallbackData, A.NotoFont, A.CodeunitRange, A._ResolvedNotoFont, A._ResolvedNotoSubset, A.FallbackFontDownloadQueue, A.NotoDownloader, A.SkiaFontCollection, A.RegisteredFont, A.ImageCodecException, A.CkImage, A.AnimatedImageFrameInfo, A.CkBrowserImageDecoder, A.ImageFileFormat, A.IntervalTree, A.IntervalTreeNode, A.Layer, A.PrerollContext, A.PaintContext, A.LayerScene, A.LayerSceneBuilder, A.LayerTree, A.Frame0, A.CompositorContext, A.CkNWayCanvas, A.CkPictureRecorder, A.Rasterizer, A.SkiaObjectCache, A.SynchronousSkiaObjectCache, A.SurfaceFrame, A.Surface, A.CkSurface, A.SurfaceFactory, A.CkParagraphStyle, A.CkTextStyle, A.CkStrutStyle, A.CkLineMetrics, A.CkParagraphBuilder, A._CkParagraphPlaceholder, A._ParagraphCommand, A.Error0, A.ClipboardMessageHandler, A.ClipboardAPICopyStrategy, A.ClipboardAPIPasteStrategy, A.ExecCommandCopyStrategy, A.ExecCommandPasteStrategy, A.FlutterConfiguration, A.FlutterViewEmbedder, A.EngineCanvas, A.SaveStackEntry, A.SaveClipEntry, A._SaveElementStackEntry, A.SaveElementStackTracking, A.FrameReference, A.CrossFrameCache, A._CrossFrameCacheItem, A.ShadowDomHostNode, A.ElementHostNode, A.SvgBlendMode, A.SurfaceCanvas, A._DomClip, A.PersistedSurface, A.SvgFilterBuilder, A.SvgFilter, A.SurfacePaint, A.SurfacePaintData, A.Conic, A.QuadBounds, A.ConicBounds, A._ConicPair, A.CubicBounds, A.SurfacePath, A.PathIterator, A.PathRef, A.PathRefIterator, A.QuadRoots, A.SkQuadCoefficients, A.PathWinding, A.PaintRequest, A.RecordingCanvas, A.PaintCommand, A._PaintBounds, A.RenderStrategy, A._WebGlRenderer, A.SurfaceScene, A.SurfaceSceneBuilder, A.NormalizedGradient, A.SharedCanvas, A.EngineGradient, A.ShaderBuilder, A.ShaderMethod, A.ShaderDeclaration, A._PersistedSurfaceMatch, A.PrerollSurfaceContext, A.HtmlCodec, A.SingleFrameInfo, A.HtmlImage, A.Keyboard, A.KeyboardBinding, A.FlutterHtmlKeyboardEvent, A.KeyboardConverter, A.MouseCursor, A.BrowserHistory, A.UrlStrategy, A.PlatformLocation, A.EnginePictureRecorder, A.EnginePicture, A.PlatformDispatcher, A.PlatformViewManager, A.PlatformViewMessageHandler, A.SafariPointerEventWorkaround, A.PointerBinding, A.PointerSupportDetector, A._Listener, A._BaseAdapter, A._WheelEventListenerMixin, A._SanitizedDetails, A._ButtonSanitizer, A._PointerState, A.PointerDataConverter, A.Profiler, A.GlProgram, A.GlContext, A.OffScreenCanvas, A.AccessibilityAnnouncements, A.RoleManager, A.EngineAccessibilityFeatures, A.SemanticsUpdate, A.SemanticsNodeUpdate, A.SemanticsObject, A.EngineSemanticsOwner, A.SemanticsHelper, A.SemanticsEnabler, A.DefaultTextEditingStrategy, A._ListBase_Object_ListMixin, A.MethodCall, A.JSONMessageCodec, A.JSONMethodCodec, A.StandardMessageCodec, A.StandardMethodCodec, A.WriteBuffer0, A.ReadBuffer0, A.SurfaceShadowData, A.CanvasParagraph, A.FlatTextSpan, A.ParagraphPlaceholder, A.StyleNode, A.CanvasParagraphBuilder, A.FontCollection, A.FontManager, A.TextLayoutService, A.RangeBox, A.LineSegment, A.LineBuilder, A.Spanometer, A.LineBreakResult, A.RulerHost, A.TextPaintService, A.EngineLineMetrics, A.EngineParagraphStyle, A.EngineTextStyle, A.EngineStrutStyle, A.TextHeightStyle, A.TextDimensions, A.TextHeightRuler, A.DirectionalPosition, A.UnicodeRange, A.UnicodePropertyLookup, A._FindBreakDirection, A.BrowserAutofillHints, A.EngineInputType, A.TextCapitalizationConfig, A.EngineAutofillForm, A.AutofillInfo, A.TextEditingDeltaState, A.EditingState, A.InputConfiguration, A.TextInputCommand, A.TextEditingChannel, A.HybridTextEditing, A.EditableTextStyle, A.EditableTextGeometry, A.Matrix40, A.Vector30, A.FlutterView, A.WindowPadding, A.JS_CONST, J.ArrayIterator, A.Stream, A.CastStreamSubscription, A.StreamTransformerBase, A.CastIterator, A.MapMixin, A.SentinelValue, A.ListIterator, A.Iterator, A.ExpandIterator, A.EmptyIterator, A.FollowedByIterator, 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.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A._NativeFloat32x4List_Object_ListMixin, A._NativeInt32x4List_Object_ListMixin, A._NativeFloat64x2List_Object_ListMixin, A.NativeFloat32x4, A.NativeInt32x4, A.NativeFloat64x2, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._AsyncStarStreamController, A._IterationMarker, A._SyncStarIterator, A.AsyncError, A._BufferingStreamSubscription, A._BroadcastStreamController, A.TimeoutException, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.StreamSubscription, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._StreamSinkWrapper, A._AddStreamState, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._BroadcastSubscriptionWrapper, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.__SetBase_Object_SetMixin, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A.IterableMixin, A._LinkedListIterator, A.LinkedListEntry, A.ListMixin, A._MapBaseValueIterator, A._UnmodifiableMapMixin, A._DoubleLinkedQueueEntry, A._DoubleLinkedQueueIterator, A._ListQueueIterator, A.SetMixin, A._UnmodifiableSetMixin, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec0, A._Base64Encoder, A._Base64Decoder, A.ChunkedConversionSink, A._JsonStringifier, A._JsonPrettyPrintMixin, A._Utf8Encoder, A._Utf8Decoder, A.Comparable, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.BidirectionalIterator, A.MapEntry, A.Null, A._StringStackTrace, A.Stopwatch, A.RuneIterator, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A._FakeUserTag, A.ServiceExtensionResponse, A.TimelineTask, A.CssStyleDeclarationBase, A.EventStreamProvider, A.ImmutableListMixin, A.FixedSizeListIterator, A.Console0, A._DOMWindowCrossFrame, A._LocationCrossFrame, A._StructuredClone, A._AcceptStructuredClone, A.JsObject, A.NullRejectionException, A._JSRandom, A.Point, A.Endian, A._ChannelCallbackRecord, A._StoredMessage, A._Channel, A.ChannelBuffers, A.OffsetBase, A.Rect, A.Radius, A.RRect, A.PlatformViewRegistry, A.KeyData, A.Color, A.MaskFilter, A.Shadow, A.ImmutableBuffer, A.PlatformConfiguration, A.ViewConfiguration0, A.FrameTiming, A.Locale, A.PointerData, A.PointerDataPacket, A.SemanticsAction, A.SemanticsFlag, A.SemanticsUpdateBuilder, A.FontWeight, A.FontFeature, A.TextDecoration, A.TextHeightBehavior, A.TextBox, A.TextPosition, A.TextRange, A.ParagraphConstraints, A.CallbackHandle, A.GestureSettings, A.AnsiUp, A.AnsiUpColor, A._TextPacket, A.StyledText, A.InputStreamBase, A.OutputStreamBase, A.ZLibDecoderBase, A.HuffmanTable, A.Inflate, A.ZLibDecoder, A.AsyncMemoizer, A.CancelableOperation, A.CancelableCompleter, A.DelegatingStreamSink, A.DelegatingStreamSubscription, A.ErrorResult, A.ValueResult, A.StreamCompleter, A.StreamQueue, A._PeekRequest, A._CancelRequest, A._RestRequest, A.StringCharacterRange, A.Breaks, A.BackBreaks, A.CanonicalizedMap, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A.HeapPriorityQueue, A._QueueList_Object_ListMixin, A.XFileBase, A.Response, A.ScreenAnalyticsMetrics, A.AnalyticsController, A._DiagnosticableTree_Object_Diagnosticable, A._State_Object_Diagnosticable, A.DevToolsScreen, A.PointAndBase, A.Listenable, A.DisposableController, A.TapLocation, A.Data, A.PaintCharacteristics, A.Trace0, A.TraceNotifier, A.AxisScale, A.FlameChartSection, A.FlameChartRow, A.FlameChartDataMixin, A.FlameChartNode, A.FlameChartColorMixin, A.ExtentDelegate, A.TreeNode, A.DragAndDropManager, A.DragAndDropMetaData, A.FileSystemWeb, A.ServerConnectionStorage, A.BrowserStorage, A.HostPlatform, A.IdeTheme, A.ExportController, A.ImportController, A.OfflineModeController, A.Notification, A.ExternalDevToolsExtensionPoints, A.CurlCommand, A.Cookie, A.HttpException, A.DartIOHttpInstantEvent, A._NetworkRequest_Object_DataSearchStateMixin, A.Disposer, A.AutoDisposeControllerMixin, A.AutoDisposeMixin, A.BlockingActionMixin, A.AbstractNode, A.EnumUtils, A.EnumIndexOrdering, A.ChangeNotifier, A.LinkedScrollControllerGroup, A.ScrollActivity, A.LineSegment0, A.HistoryManager, A.BusEvent, A.MessageBus, A.SliverChildDelegate, A.TraceEvent, A.TraceEventWrapper, A.RateLimiter, A.TimeRange, A.Range, A.DebugTimingLogger, A.MovingAverage, A.DevToolsFile, A._ImmutableList_Object_ListMixin, A.ProcessCancelledException, A.AppSizeController, A.Screen, A.ColumnData, A.ScriptPopupMenuOption, A.ExceptionMode, A.EvalHistory, A._StackInfo, A.ParsedScript, A.GenericInstanceRef, A.ScriptLocation, A.SourcePosition, A._SourceToken_Object_DataSearchStateMixin, A.BreakpointAndSourcePosition, A.StackFrameAndSourcePosition, A._Intent_Object_Diagnosticable, A._Action_Object_Diagnosticable, A.FileQuery, A.FileSearchResults, A.Grammar, A.ScopeSpan, A.Repository, A._Matcher, A.SyntaxHighlighter, A.TextSelectionControls, A.InspectorSourceLocation, A._InspectorBreadcrumbData, A.InspectorSettingsController, A.LayoutProperties, A.RenderProperties, A.RegistrableServiceExtension, A.ObjectGroupBase, A.InspectorInstanceRef, A.InspectorObjectGroupManager, A.InspectorTreeNode, A._InspectorTreeRow_Object_DataSearchStateMixin, A.InspectorTreeConfig, A._InspectorTreeController_Object_SearchControllerMixin, A.AnimatedLayoutProperties, A.WidgetTheme, A._StdoutEventHandler, A._LogData_Object_DataSearchStateMixin, A.ImageSizesForFrame, A.Bucket, A.ClassFields, A.ObjectMatcher, A.OfflineFileException, A.AllocationStackTrace, A.AllocationSamples, A.ChartControllers, A.SettingsModel, A.MemoryLog, A.LibraryFilter, A.HeapGraph, A.HeapGraphElement, A.HeapGraphClass, A.InstructionsSize, A.MemoryTracker, A.Snapshot, A.TreeTracker, A.ChartsValues, A.FilterConfig, A.FilteredLibraries, A.MemoryTimeline, A.LibraryClass, A.Predefined, A._NetworkController_Object_SearchControllerMixin, A.NetworkRequests, A.NetworkService, A.PerformanceData, A.TimelineEventGroup, A.TimelineRowData, A.FlutterFrame, A.FrameTimelineEventData, A.FrameAnalysis, A.FramePhase, A.RasterMetricsController, A.LayerSnapshot, A.RebuildCountModel, A.RebuildLocation, A.TimelineEventProcessor, A.TimelineStream, A._CpuProfilerController_Object_SearchControllerMixin, A.CpuProfileData, A.ProfileMetaData, A.CpuProfileStore, A._CpuProfileTimelineTree, A.CpuProfileTransformer, A._PathToProperty_Object__$PathToProperty, A._ObjectField_Object__$ObjectField, A._InstanceDetails_Object__$InstanceDetails, A._InstancePath_Object__$InstancePath, A._$PathToPropertyTearOff, A._$PathToProperty, A.__$ListIndexPath_Object_DiagnosticableTreeMixin, A.__$MapKeyPath_Object_DiagnosticableTreeMixin, A.__$PropertyPath_Object_DiagnosticableTreeMixin, A._$ObjectField, A._$InstanceDetails, A._$InstancePath, A._$InstancePathCopyWithImpl, A._Result_Object__$Result, A._$Result, A.ProviderNode, A.ProviderObserver, A.VMDeveloperView, A.VMTag, A.VMDeveloperToolsController, A._ScriptCache, A.IsolateState, A.JsonToServiceCache, A.ResolvedUriManager, A._PackagePathMappings, A.ServiceExtensionState, A.ExtensionState, A._ServiceExtensionMixin, A.ServiceExtensionDescription, A.ServiceConnectionManager, A.ConnectedState, A.RegisteredService, A.VmServiceWrapper, A.BannerMessagesController, A.HighProfileGranularityMessage, A.CollapsibleAnimationMixin, A.Link, A.LegendEntry, A.ConnectedApp, A.ConsoleLine, A._DialogFlag, A.DevToolsError, A.Disposable, A.LibraryNotFound, A.CancelledException, A.UnknownEvalException, A.SentinelException0, A.EvalErrorException, A.FrameworkController, A.ConnectVmEvent, A.PageChangeEvent, A.PreferencesController, A.InspectorPreferencesController, A.ProfilableDataMixin, A.BottomUpTransformer, A.ReleaseNotesController, A.DevToolsRouteConfiguration, A.RouteInformationParser, A.OfflineScreenMixin, A.ShortcutsConfiguration, A.DevToolsServerConnection, A.SnapshotArguments, A.SurveyService, A.DevToolsSurvey, A.Selection, A.TreeMixin, A.CompareMixin, A.ProvidedControllerMixin, A._SemanticVersion_Object_CompareMixin, A.FilterControllerMixin, A.Filter, A.ToggleFilter, A.QueryFilter, A.QueryFilterArgument, A.HoverCardData, A.HoverCard, A.CustomIconMaker, A.IconKind, A.ColorIconMaker, A.SearchControllerMixin, A.EditingParts, A.AutoCompleteSearchControllerMixin, A.SearchableMixin, A.SearchFieldMixin, A.DataSearchStateMixin, A.TreeDataSearchStateMixin, A.AutoCompleteMatch, A.ColorPair, A.ThemedColorPair, A.ThemedColor, A.ScreenSize, A.AdbMemoryInfo, A.ClassHeapDetailStats, A.AllocationAccumulator, A.ExtensionEvent, A.ExtensionEvents, A.EventSample, A.RasterCache, A.HeapSample, A.HeapSpace, A.MemoryJson, A.PlatformInterface, A.XTypeGroup, A.DomHelper, A.Simulation, A.AnimationWithParentMixin, A.ParametricCurve, A.AnimationLazyListenerMixin, A.AnimationEagerListenerMixin, A.AnimationLocalListenersMixin, A.AnimationLocalStatusListenersMixin, A.Animatable, A.TweenSequenceItem, A._Interval, A._IconThemeData_Object_Diagnosticable, A.LocalizationsDelegate, A.DefaultCupertinoLocalizations, A._CupertinoBackGestureController, A._Decoration_Object_Diagnosticable, A.BoxPainter, A._CupertinoTextThemeData_Object_Diagnosticable, A._TextThemeDefaultsBuilder, A.NoDefaultCupertinoThemeData, A._CupertinoThemeDefaults, A._CupertinoTextThemeDefaults, A.DiagnosticsNode, A._FlutterErrorDetails_Object_Diagnosticable, A.BindingBase, A.DebugReassembleConfig, A.TextTreeConfiguration, A._PrefixedStringBuilder, A._NoDefaultValue, A.TextTreeRenderer, A.DiagnosticPropertiesBuilder, A.Diagnosticable, A.DiagnosticableTreeMixin, A.Key, A._TypeLiteral, A.LicenseEntry, A.WriteBuffer, A.ReadBuffer, A.StackFrame, A.SynchronousFuture, A.GestureArenaMember, A.GestureArenaEntry, A._GestureArena, A.GestureArenaManager, A._Resampler, A.GestureBinding, A.DragDownDetails, A.DragStartDetails, A.DragUpdateDetails, A.DragEndDetails, A._PointerEvent_Object_Diagnosticable, A._PointerEventDescription, A._AbstractPointerEvent, A._CopyPointerAddedEvent, A._CopyPointerRemovedEvent, A._CopyPointerHoverEvent, A._CopyPointerEnterEvent, A._CopyPointerExitEvent, A._CopyPointerDownEvent, A._CopyPointerMoveEvent, A._CopyPointerUpEvent, A._CopyPointerScrollEvent, A._CopyPointerPanZoomStartEvent, A._CopyPointerPanZoomUpdateEvent, A._CopyPointerPanZoomEndEvent, A._CopyPointerCancelEvent, A.ForcePressDetails, A.DeviceGestureSettings, A.HitTestEntry, A._TransformPart, A.HitTestResult, A.LongPressStartDetails, A.LongPressMoveUpdateDetails, A.LongPressEndDetails, A._Vector, A._Matrix, A.PolynomialFit, A.LeastSquaresSolver, A._CountdownZoned, A._TapTracker, A.PointerRouter, A.PointerSignalResolver, A.OffsetPair, A.TapDownDetails, A.TapUpDetails, A.Velocity, A.VelocityEstimate, A._PointAtTime, A.VelocityTracker, A.ScrollBehavior, A.SingleChildLayoutDelegate, A._AppBarTheme_Object_Diagnosticable, A._Diagonal, A._MaterialBannerThemeData_Object_Diagnosticable, A._BottomAppBarTheme_Object_Diagnosticable, A._BottomNavigationBarThemeData_Object_Diagnosticable, A._BottomSheetThemeData_Object_Diagnosticable, A._ButtonBarThemeData_Object_Diagnosticable, A._ButtonStyle_Object_Diagnosticable, A._LerpProperties, A._LerpSides, A._MouseCursor_Object_Diagnosticable, A._ButtonThemeData_Object_Diagnosticable, A._CardTheme_Object_Diagnosticable, A._CheckboxThemeData_Object_Diagnosticable, A._ChipThemeData_Object_Diagnosticable, A._ColorScheme_Object_Diagnosticable, A.DataColumn, A.DataRow, A.DataCell, A.TableColumnWidth, A._DataTableThemeData_Object_Diagnosticable, A.Route, A._DialogTheme_Object_Diagnosticable, A._DividerThemeData_Object_Diagnosticable, A._DrawerThemeData_Object_Diagnosticable, A._DropdownRouteResult, A._MenuLimits, A.MaterialStateProperty, A._ElevatedButtonThemeData_Object_Diagnosticable, A._ExpansionTileThemeData_Object_Diagnosticable, A._DefaultHeroTag, A._FloatingActionButtonThemeData_Object_Diagnosticable, A.FloatingActionButtonLocation, A.FabFloatOffsetY, A.FabEndOffsetX, A.FloatingActionButtonAnimator, A.InkFeature, A.InteractiveInkFeatureFactory, A.ShapeBorder, A.FloatingLabelAlignment, A._Decoration, A._RenderDecorationLayout, A.InputDecoration, A._InputDecorationTheme_Object_Diagnosticable, A._ListTileThemeData_Object_Diagnosticable, A.DefaultMaterialLocalizations, A._LerpProperties0, A._MaterialStatePropertyWith, A.MaterialStatePropertyAll, A.MaterialStateMixin, A._NavigationBarThemeData_Object_Diagnosticable, A.NavigationRailDestination, A._NavigationRailThemeData_Object_Diagnosticable, A._OutlinedButtonThemeData_Object_Diagnosticable, A.MaterialRouteTransitionMixin, A.RouteSettings, A.PageTransitionsBuilder, A._PageTransitionsTheme_Object_Diagnosticable, A._PopupMenuThemeData_Object_Diagnosticable, A._ProgressIndicatorThemeData_Object_Diagnosticable, A._RadioThemeData_Object_Diagnosticable, A.ScaffoldPrelayoutGeometry, A.ScaffoldGeometry, A.Constraints, A.MultiChildLayoutDelegate, A.ScaffoldFeatureController, A._ScrollbarThemeData_Object_Diagnosticable, A.TextSelectionGestureDetectorBuilder, A._SliderThemeData_Object_Diagnosticable, A._SnackBarThemeData_Object_Diagnosticable, A._SwitchThemeData_Object_Diagnosticable, A._TabBarTheme_Object_Diagnosticable, A._LerpColors, A._TextButtonThemeData_Object_Diagnosticable, A._TextSelectionThemeData_Object_Diagnosticable, A._TextTheme_Object_Diagnosticable, A._ThemeData_Object_Diagnosticable, A._IdentityThemeDataCacheKey, A._FifoCache, A._VisualDensity_Object_Diagnosticable, A._TimePickerThemeData_Object_Diagnosticable, A._ToggleButtonsThemeData_Object_Diagnosticable, A.ToggleableStateMixin, A._TooltipThemeData_Object_Diagnosticable, A._Typography_Object_Diagnosticable, A.ImageProvider, A.AlignmentGeometry, A.TextAlignVertical, A.PaintingBinding, A.BorderRadiusGeometry, A.BorderSide, A.FittedSizes, A.ClipContext, A.ImageSizeInfo, A.DecorationImagePainter, A.EdgeInsetsGeometry, A._ColorsAndStops, A.Gradient, A.ImageCache, A._CachedImageBase, A._PendingImage, A.ImageConfiguration, A.AssetBundleImageKey, A._ImageStreamCompleter_Object_Diagnosticable, A.ImageInfo, A.ImageStreamListener, A._ImageChunkEvent_Object_Diagnosticable, A._ImageStream_Object_Diagnosticable, A.ImageStreamCompleterHandle, A.Accumulator, A.InlineSpanSemanticsInformation, A._StrutStyle_Object_Diagnosticable, A.PlaceholderDimensions, A._CaretMetrics, A.TextPainter, A._TextStyle_Object_Diagnosticable, A.SpringDescription, A._CriticalSolution, A._OverdampedSolution, A._UnderdampedSolution, A.Tolerance, A.RendererBinding, A.ParentData, A._IntrinsicDimensionsCacheEntry, A.RenderBoxContainerDefaultsMixin, A.DebugOverflowIndicatorMixin, A.TextSelectionPoint, A._LayoutSizes, A.AnnotationEntry, A.AnnotationResult, A.LayerHandle, A.LayerLink, A._MouseState, A.__MouseTrackerUpdateDetails_Object_Diagnosticable, A.SemanticsHandle, A.PipelineOwner, A.RenderObjectWithChildMixin, A.ContainerParentDataMixin, A.ContainerRenderObjectMixin, A.RelayoutWhenSystemFontsChangeMixin, A._SemanticsFragment, A._SemanticsGeometry, A.SemanticsTag, A.__SelectableFragment_Object_Selectable, A.RenderProxyBoxMixin, A.RenderAnimatedOpacityMixin, A.Selectable, A.SelectionRegistrant, A.SelectionEvent, A.SelectionGeometry, A.SelectionPoint, A._SliverGeometry_Object_Diagnosticable, A.RenderSliverHelpers, A.KeepAliveParentDataMixin, A.RenderSliverWithKeepAliveMixin, A.RelativeRect, A.TableBorder, A.ViewConfiguration, A.RevealedOffset, A._RunMetrics, A._TaskEntry, A._FrameCallbackEntry, A.SchedulerBinding, A.Priority, A.Ticker, A.TickerFuture, A.TickerCanceled, A.SemanticsBinding, A.AttributedString, A._SemanticsData_Object_Diagnosticable, A._BoxEdge, A._TraversalSortNode, A.SemanticsConfiguration, A._SemanticsSortKey_Object_Diagnosticable, A.SemanticsEvent, A.AssetBundle, A.AutofillConfiguration, A.BinaryMessenger, A.ServicesBinding, A.ClipboardData, A.KeyboardLockMode, A._KeyEvent_Object_Diagnosticable, A.HardwareKeyboard, A.KeyMessage, A.KeyEventManager, A._KeyboardKey_Object_Diagnosticable, A.MethodCall0, A.PlatformException, A.MissingPluginException, A.StringCodec, A.JSONMessageCodec0, A.JSONMethodCodec0, A.StandardMessageCodec0, A.StandardMethodCodec0, A.MouseCursorManager, A.MouseCursorSession, A.BasicMessageChannel, A.MethodChannel, A._RawKeyEventData_Object_Diagnosticable, A._RawKeyEvent_Object_Diagnosticable, A.RawKeyboard, A._ModifierSidePair, A.RestorationBucket, A.ApplicationSwitcherDescription, A.SystemUiOverlayStyle, A.TextEditingDelta, A.TextInputFormatter, A._MutableTextRange, A._TextEditingValueAccumulator, A.TextInputType, A.TextInputConfiguration, A.TextEditingValue, A.TextSelectionDelegate, A.SelectionRect, A.TextInputConnection, A.TextInput, A._ActionDispatcher_Object_Diagnosticable, A._OverridableActionMixin, A.AsyncSnapshot, A.Notification1, A.AutomaticKeepAliveClientMixin, A.WidgetsBindingObserver, A.WidgetsBinding, A.DisposableBuildContext, A.ToolbarOptions, A._TextBoundary, A._UndoStack, A._Autofocus, A.FocusAttachment, A._FocusNode_Object_DiagnosticableTreeMixin, A._FocusManager_Object_DiagnosticableTreeMixin, A._FocusTraversalGroupInfo, A._FocusTraversalPolicy_Object_Diagnosticable, A._DirectionalPolicyDataEntry, A._DirectionalPolicyData, A.DirectionalFocusTraversalPolicyMixin, A.__ReadingOrderSortData_Object_Diagnosticable, A.__ReadingOrderDirectionalGroupData_Object_Diagnosticable, A._InactiveElements, A.BuildOwner, A.NotifiableElementMixin, A._NotificationNode, A.IndexedSlot, A.GestureRecognizerFactory, A.SemanticsGestureDelegate, A._HeroFlightManifest, A._HeroFlight, A.NavigatorObserver, A.IconData, A.CapturedThemes, A.RenderConstrainedLayoutBuilder, A._Pending, A.DefaultWidgetsLocalizations, A.MediaQueryData, A.RouteTransitionRecord, A.TransitionDelegate, A._NavigatorObservation, A._RestorationInformation, A.OverlayEntry, A._StorageEntryIdentifier, A.PageStorageBucket, A._FixedScrollMetrics_Object_ScrollMetrics, A.ScrollPhysics, A.MenuSerializableShortcut, A.PlatformMenuDelegate, A.RestorationMixin, A.RouteInformation, A._CallbackHookProvider, A.PopNavigatorRouterDelegateMixin, A.LocalHistoryRoute, A.ScrollDragController, A._WrappedScrollBehavior, A.ScrollMetrics, A.ViewportNotificationMixin, A.ViewportElementMixin, A.EdgeDraggingAutoScroller, A.SelectionContainerDelegate, A.ScrollableDetails, A.KeySet, A._SingleActivator_Object_Diagnosticable, A.__ActivatorIntentPair_Object_Diagnosticable, A._ShortcutManager_Object_Diagnosticable, A.ShortcutRegistryEntry, A._ShortcutRegistry_Object_ChangeNotifier, A.SlottedMultiChildRenderObjectWidgetMixin, A.SlottedContainerRenderObjectMixin, A.TableRow0, A._TableElementRow, A.__TableSlot_Object_Diagnosticable, A.TextSelectionOverlay, A.SelectionOverlay, A.SingleTickerProviderStateMixin, A.TickerProviderStateMixin, A._BlockElement, A._TableElement0, A._InlineElement, A.MarkdownBuilder, A.MarkdownStyleSheet, A.InlineSyntax, A.ChangeNotifierProviderOverrideMixin, A.ProviderOrFamily, A.ProviderElementBase, A.UrlStrategy0, A.PlatformLocation0, A.BaseClient, A.BaseRequest, A.BaseResponse, A.ClientException, A.MediaType, A.ExifData, A.BitmapFileHeader, A.DecodeInfo, A.Decoder, A.ExrAttribute, A.ExrCompressor, A.ExrChannel, A.ExrHufDec, A.ExrPart, A._PizChannelData, A.GifColorMap, A.GifImageDesc, A.IcoInfoImage, A.ComponentData, A.JpegAdobe, A.JpegComponent, A.JpegData, A._JpegHuffman, A.JpegFrame, A.JpegJfif, A.JpegScan, A.PngFrame, A.PsdEffect, A.PsdLayerData, A.PsdBlendingRanges, A.PsdChannel, A.PsdImageResource, A.PsdLayer, A.TiffBitReader, A.TiffEntry, A.TiffFaxDecoder, A.TiffImage, A.LzwDecoder, A.VP8, A.VP8BitReader, A.VP8Filter, A.VP8FrameHeader, A.VP8PictureHeader, A.VP8SegmentHeader, A.VP8BandProbas, A.VP8Proba, A.VP8FilterHeader, A.VP8FInfo, A.VP8MB, A.VP8QuantMatrix, A.VP8MBData, A.VP8TopSamples, A.VP8L, A.VP8LBitReader, A.VP8LColorCache, A.VP8LTransform, A.WebPAlpha, A.WebPFrame, A.HuffmanTree, A.HTreeGroup, A.HdrImage, A.HdrSlice, A.Image0, A.ImageException, A.InputBuffer, A.OutputBuffer, A.DateSymbols, A.NumberSymbols, A.DateFormat, A._DateFormatField, A.NumberFormat, A.NumberFormatParseResult, A.NumberFormatParser, A.StringIterator, A.UninitializedLocaleData, A.LocaleDataException, A.Level, A.LogRecord0, A.Logger, A.Element0, A.Text0, A.UnparsedContent, A.BlockParser, A.BlockSyntax, A.ListItem, A.Document, A.LinkReference, A.ExtensionSet, A.InlineParser, A.SimpleDelimiter, A.DelimiterRun, A.InlineLink, A.SingleChildWidgetElementMixin, A.Context, A.Style, A.ParsedPath, A.PathException, A.Pool, A.PoolResource, A._Dependency, A._Delegate, A._DelegateState, A.ProviderNullException, A.ProviderNotFoundException, A.AutoDisposeProviderBuilder, A.AsyncValue, A.AlwaysAliveProviderListenable, A.KeepAliveLink, A._StateReader, A.ProviderContainer, A.ProviderListenable, A._ProviderSubscription, A._ProviderListener, A.OverrideWithValueMixin, A.OverrideWithProviderMixin, A.ResultData, A.ResultError, A._ProviderScheduler, A._FutureProviderElementMixin, A.StateNotifierProviderOverrideMixin, A.StateNotifier, A.StateProviderOverrideMixin, A._StreamProviderElementMixin, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation0, A.SourceSpanException, A.StreamChannelMixin, A.Chain, A.Frame, A.LazyChain, A.LazyTrace, A.Trace, A.UnparsedFrame, A._GuaranteeSink, A.StreamChannelController, A.StringScanner, A.WebViewConfiguration, A.Matrix3, A.Matrix4, A.Quaternion, A.Vector3, A.Vector4, A.SocketStatistic, A.HttpProfileRequestRef, A.HttpProfileRequestData, A.HttpProfileRequestError, A.HttpProfileRequestEvent, A.HttpProfileResponseData, A.SpawnedProcessRef, A.OpenFileRef, A._ReadStream, A.HeapSnapshotField, A.HeapSnapshotClass, A.HeapSnapshotObject, A.HeapSnapshotExternalProperty, A.HeapSnapshotGraph, A.HeapSnapshotObjectNoData, A.HeapSnapshotObjectNullData, A.HeapSnapshotObjectLengthData, A._OutstandingRequest, A.VmService, A.RPCError, A.SentinelException, A.ExtensionData, A._NullLog, A.BoundField, A.ContextElement, A.CpuSamplesEvent, A.CpuSample, A.Flag, A.IsolateFlag, A.InboundReference, A.LibraryDependency, A.MapAssociation, A.NativeFunction, A.Parameter, A.ProfileFunction, A.Protocol, A.ProcessMemoryItem, A.RetainingObject, A.SourceReportCoverage, A.SourceReportRange, A.TimelineEvent, A.TypeParameters, A.SymbolInfo, A.Name, A.CallGraphNode, A.CallGraph, A._TraceReader, A.ProgramInfo, A.ProgramInfoNode, A._DfsState, A.Snapshot0, A.Meta, A.Edge, A.Node, A.SnapshotInfo, A._ProgramInfoBuilder, A.WebSocketChannelException]);
    _inheritMany(A.Closure, [A.Closure0Args, A.Closure2Args, A.AppBootstrap_prepareEngineInitializer_closure0, A.AppBootstrap__prepareAppRunner_closure, A.AssetManager__baseUrl_closure, A.AssetManager__baseUrl_closure0, A.AssetManager__baseUrl_closure1, A.ProductionCollector_closure, A.patchCanvasKitModule_closure0, A.patchCanvasKitModule_closure2, A.HtmlViewEmbedder_getOverlayCanvases_closure, A.HtmlViewEmbedder_submitFrame_closure, A.HtmlViewEmbedder_submitFrame_closure0, A.HtmlViewEmbedder__updateOverlays_closure, A.diffViewList_closure, A.diffViewList_closure0, A.FontFallbackData_ensureFontsSupportText_closure, A._registerSymbolsAndEmoji_extractUrlFromCss, A.findMinimumFontsForCodeUnits_closure, A.findMinimumFontsForCodeUnits_closure0, A.NotoDownloader_downloadAsBytes_closure, A.NotoDownloader_downloadAsBytes__closure, A.NotoDownloader_downloadAsString_closure, A.NotoDownloader_downloadAsString__closure, A.SkiaFontCollection__getArrayBuffer_closure, A.fetchImage_closure, A.fetchImage_closure0, A.fetchImage_closure1, A.downloadCanvasKit_closure0, A._downloadCanvasKitJs_loadEventHandler, A.IntervalTree_IntervalTree$createFromRanges__makeBalancedTree, A.IntervalTree_IntervalTree$createFromRanges__computeHigh, A._getEffectiveFontFamilies_closure, A.ClipboardMessageHandler_setDataMethodCall_closure, A.ClipboardMessageHandler_setDataMethodCall_closure0, A.ClipboardMessageHandler_getDataMethodCall_closure, A.ClipboardMessageHandler_getDataMethodCall_closure0, A.ClipboardMessageHandler_getDataMethodCall__closure, A.FlutterViewEmbedder_reset_closure, A.FlutterViewEmbedder_setPreferredOrientation_closure, A.FlutterViewEmbedder_setPreferredOrientation_closure0, A.sendFontChangeMessage_closure, A.sendFontChangeMessage__closure, A.NormalizedGradient_NormalizedGradient_closure, A.HtmlCodec_getNextFrame_closure, A.HtmlCodec_getNextFrame_closure0, A.HtmlCodec__decodeUsingOnLoad_closure, A.HtmlCodec__decodeUsingOnLoad_closure0, A.initializeEngineServices__closure, A._addUrlStrategyListener_closure, A.Keyboard$__closure, A.Keyboard$__closure0, A.Keyboard__handleHtmlEvent_closure0, A._kLogicalKeyToModifierGetter_closure, A._kLogicalKeyToModifierGetter_closure0, A._kLogicalKeyToModifierGetter_closure1, A._kLogicalKeyToModifierGetter_closure2, A._kLogicalKeyToModifierGetter_closure3, A._kLogicalKeyToModifierGetter_closure4, A._kLogicalKeyToModifierGetter_closure5, A._kLogicalKeyToModifierGetter_closure6, A.KeyboardBinding__addEventListener_loggedHandler, A.KeyboardBinding__onKeyData_closure, A.KeyboardBinding__setup_closure, A.KeyboardBinding__setup_closure0, A.KeyboardConverter__scheduleAsyncEvent_closure, A.KeyboardConverter_handleEvent_closure, A.MultiEntriesBrowserHistory_onPopState_closure, A.SingleEntryBrowserHistory_onPopState_closure, A.SingleEntryBrowserHistory_onPopState_closure0, A.HashUrlStrategy__waitForPopState_closure0, A.EnginePlatformDispatcher__zonedPlatformMessageResponseCallback_closure, A.EnginePlatformDispatcher__sendPlatformMessage_closure, A.EnginePlatformDispatcher__sendPlatformMessage_closure0, A.EnginePlatformDispatcher__sendPlatformMessage_closure1, A.EnginePlatformDispatcher__sendPlatformMessage_closure2, A.EnginePlatformDispatcher__sendPlatformMessage_closure3, A.EnginePlatformDispatcher__sendPlatformMessage_closure4, A.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure, A.EnginePlatformDispatcher_replyToPlatformMessage_closure, A.SafariPointerEventWorkaround_workAroundMissingPointerEvents_closure, A._Listener__Listener$registerNative_closure, A._BaseAdapter_addEventListener_loggedHandler, A._WheelEventListenerMixin__addWheelEventListener_closure, A._PointerAdapter__addPointerEventListener_closure, A._PointerAdapter_setup_closure, A._PointerAdapter_setup_closure0, A._PointerAdapter_setup_closure1, A._PointerAdapter_setup_closure2, A._PointerAdapter_setup_closure3, A._PointerAdapter_setup_closure4, A._TouchAdapter__addTouchEventListener_closure, A._TouchAdapter_setup_closure, A._TouchAdapter_setup_closure0, A._TouchAdapter_setup_closure1, A._TouchAdapter_setup_closure2, A._MouseAdapter__addMouseEventListener_closure, A._MouseAdapter_setup_closure, A._MouseAdapter_setup_closure0, A._MouseAdapter_setup_closure1, A._MouseAdapter_setup_closure2, A._MouseAdapter_setup_closure3, A.Incrementable_closure, A.Incrementable_closure0, A.Scrollable_update_closure0, A.Scrollable_update_closure1, A._roleFactories_closure, A._roleFactories_closure0, A._roleFactories_closure1, A._roleFactories_closure2, A._roleFactories_closure3, A._roleFactories_closure4, A._roleFactories_closure5, A._roleFactories_closure6, A.DesktopSemanticsEnabler_prepareAccessibilityPlaceholder_closure, A.MobileSemanticsEnabler_prepareAccessibilityPlaceholder_closure, A.Tappable_update_closure, A.TextField__initializeForBlink_closure, A.TextField__initializeForWebkit_closure, A.TextField__initializeForWebkit_closure0, A.FontManager__loadFontFace_closure, A.FontManager__loadFontFace_closure0, A._PolyfillFontManager_registerAsset_closure, A.EngineAutofillForm_fromFrameworkMessage_closure, A.EngineAutofillForm_addInputEventListeners_addSubscriptionForKey, A.EngineAutofillForm_addInputEventListeners_addSubscriptionForKey_closure, A.DefaultTextEditingStrategy_addEventHandlers_closure, A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure, A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure0, A.DefaultTextEditingStrategy_preventDefaultForMouseEvents_closure1, A.IOSTextEditingStrategy_addEventHandlers_closure, A.IOSTextEditingStrategy_addEventHandlers_closure0, A.IOSTextEditingStrategy__addTapListener_closure, A.AndroidTextEditingStrategy_addEventHandlers_closure, A.FirefoxTextEditingStrategy_addEventHandlers_closure, A.FirefoxTextEditingStrategy_addEventHandlers_closure0, A.HybridTextEditing__startEditing_closure, A.futurize_closure, A.bytesToHexString_closure, A.CastSet_removeWhere_closure, A.CastMap_entries_closure, A.ConstantStringMap_values_closure, A.GeneralConstantMap__typeTest_closure, A.Instantiation, A.TearOffClosure, A.JsLinkedHashMap_values_closure, A.JsLinkedHashMap_containsValue_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._asyncStarHelper_closure0, A._SyncBroadcastStreamController__sendData_closure, A._SyncBroadcastStreamController__sendError_closure, A._SyncBroadcastStreamController__sendDone_closure, A.Future_wait_closure, A.Future_any_onValue, A.Future_doWhile_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure1, A.Stream_pipe_closure, A.Stream_contains_closure0, A.Stream_contains__closure0, A.Stream_length_closure, A.Stream_toList_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._HashMap_values_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A.MapMixin_entries_closure, A.SplayTreeMap_closure, A.SplayTreeSet_closure, A._JsonMap_values_closure, A.DateTime_parse_parseIntOrZero, A.DateTime_parse_parseMilliAndMicroseconds, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.Entry_remove_closure0, A.HttpRequest_request_closure, A.Notification_requestPermission_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A._convertDartToNative_Value_closure, A.FilteredElementList__iterable_closure, A.FilteredElementList__iterable_closure0, A.FilteredElementList_removeRange_closure, A.JsObject__convertDataTree__convert, A._convertToJS_closure, A._convertToJS_closure0, A._wrapToDart_closure, A._wrapToDart_closure0, A._wrapToDart_closure1, A._convertDataTree__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.KeyData__quotedCharCode_closure, A.webOnlyInstantiateImageCodecFromUrl_closure, A.CancelableCompleter_complete_closure, A.StreamQueue__ensureListening_closure, A.StringCharacters_whereType_closure, A.CanonicalizedMap_entries_closure, A.CanonicalizedMap_keys_closure, A.CanonicalizedMap_values_closure, A.DdsExtension_onEventWithHistory__closure, A.DdsExtension__callHelper_closure, A.StreamHistory$_fromJson_closure, A._AnalyticsPromptState_build_closure, A.DevToolsAppState__screens_closure, A.DevToolsAppState__buildTabbedPage_closure, A.DevToolsAppState__buildTabbedPage__closure, A.DevToolsAppState__buildTabbedPage___closure, A.DevToolsAppState__buildTabbedPage___closure0, A.DevToolsAppState_pages_closure, A.DevToolsAppState_pages_closure0, A.DevToolsAppState__providedControllers_closure, A.DevToolsAppState__providedControllers_closure0, A.DevToolsScreen_controllerProvider_closure, A.OpenSettingsAction_build__closure, A.CheckboxSetting_build_closure, A.ChartState_build__closure, A.ChartPainter_paint_closure, A.ChartPainter_paint_closure0, A.ChartPainter_paint_closure1, A.ChartPainter_paint_closure2, A.ChartPainter_paint_closure3, A.ChartPainter_paint_closure4, A.ChartPainter_paint_closure5, A.ChartController_zoomDuration_closure, A.FlameChartState_initState_closure1, A.FlameChartState_build_closure0, A.FlameChartState_zoomAndScrollToData_closure, A.ScrollingFlameChartRowState__initNodeDataList_closure, A.FlameChartHelpButton_build__closure, A._TreemapState_buildSubTreemaps__closure0, A._TreemapState_buildSubTreemaps__closure, A.DragAndDropManagerWeb__onDrop_closure, A.DragAndDropState_build_closure, A.initializePlatform_closure, A.allowedError_closure, A.HttpDate__parseCookieDate_isDelimiter, A.HttpDate__parseCookieDate_isNonDelimiter, A.HttpDate__parseCookieDate_isDigit, A.HttpDate__parseCookieDate_getMonth, A.HttpDate__parseCookieDate_toInt, A.DartIOHttpRequestData_getFullRequestData_closure, A.DartIOHttpRequestData__parseCookies_closure, A.HttpService_toggleHttpRequestLogging_closure, A._CustomPointerScrollableState_setCanDrag_closure0, A._CustomPointerScrollableState_setCanDrag_closure2, A.LinkedScrollControllerGroup__attachedControllers_closure, A._LinkedScrollController__allPeersWithClients_closure, A._LinkedScrollController_linkWithPeers_closure, A._LinkedScrollController_linkWithPeers_closure0, A.MessageBus_onEvent_closure, A.TreeNode_expandCascading_closure, A.TreeNode_collapseCascading_closure, A.TreeNode_childrenWithCondition_closure, A.parseCssHexColor_closure, A.toCssHexColor_hex, A.processAnsiTerminalCodes_closure, A.LogicalKeySetExtension_describeKeys_closure0, A._AppSizeBodyState__buildDiffTreeTypeDropdown_closure, A._AnalysisViewState__buildImportFileView_closure, A._AnalysisViewState__buildImportFileView__closure, A._AnalysisViewState__buildImportFileView___closure, A._DiffViewState__buildImportDiffView_closure, A._DiffViewState__buildImportDiffView__closure, A.AppSizeAnalysisTable_build_closure, A.AppSizeDiffTable_build_closure, A._CallGraphViewState__buildFromTable_closure, A._CallGraphViewState__buildToTable_closure, A.DominatorTree_build_closure, A.DominatorTree__expandToSelected_closure, A._BreakpointsState_build_closure, A._CallStackState_build_closure, A._CodeViewState_build_closure, A._CodeViewState_buildCodeArea_closure, A._CodeViewState_buildCodeArea_closure2, A._CodeViewState_buildCodeArea_closure1, A._CodeViewState_buildCodeArea__closure0, A._CodeViewState_buildCodeArea__closure, A._CodeViewState_buildCodeArea___closure, A._CodeViewState_buildCodeArea____closure, A._CodeViewState__buildScriptMenuFromHistory_closure, A.Gutter_build_closure, A._LinesState_build__closure, A._LinesState_searchMatchesForLine_closure, A._LineItemState__hoverableLine_closure, A._LineItemState__hoverableLine_closure0, A.ScriptPopupMenu_build_closure0, A.ScriptPopupMenu_build_closure, A.showGoToLineDialog_closure, A.GoToLineDialog_build_closure, A._DebuggingControlsState__librariesButton_closure, A.BreakOnExceptionsControl_build_closure, A.BreakOnExceptionsControl_build__closure, A.ExceptionMode_from_closure, A.DebuggerController__parseCurrentScript_closure, A.DebuggerController_switchToIsolate_closure, A.DebuggerController_clearBreakpoints_closure, A.DebuggerController_toggleBreakpoint_closure, A.DebuggerController__handleDebugEvent_closure, A.DebuggerController__handleDebugEvent_closure0, A.DebuggerController__handleDebugEvent__closure, A.DebuggerController__updateAfterIsolateReload_closure, A.DebuggerController__populateScriptAndShowLocation_closure, A.DebuggerController__populateScripts_closure, A.DebuggerController__createBreakpointWithLocation_closure, A.DebuggerController__createVariablesForFrame_closure, A.DebuggerController_matchesForSearch_closure, A.DebuggerScreenBodyState_build_closure, A.DebuggerScreenBodyState_build_closure0, A.DebuggerScreenBodyState_debuggerPanes___closure, A.DebuggerScreenBodyState__breakpointsRightChild_closure, A.ExpressionEvalFieldState__handleSearch_closure, A.ExpressionEvalFieldState__filterMatches_closure, A.autoCompleteResultsFor_closure, A.autoCompleteResultsFor_closure0, A.autoCompleteResultsFor_closure1, A.libraryMemberAutocompletes_closure0, A._libraryMemberAutocompletes_closure, A._libraryMemberAutocompletes_closure0, A._libraryMemberAutocompletes_closure1, A._addAllInstanceMembersToAutocompleteList_closure, A._addAllInstanceMembersToAutocompleteList_closure0, A._addAllInstanceMembersToAutocompleteList_closure1, A._autoCompleteMembersFor_closure, A._autoCompleteMembersFor_closure0, A._autoCompleteMembersFor_closure1, A.FileSearchFieldState_initState_closure, A.FileQuery_isExactFileNameMatch_closure, A.FileQuery_createExactFileNameAutoCompleteMatch_closure, A.FileQuery_isExactFullPathMatch_closure, A.FileQuery_createFuzzyMatchAutoCompleteMatch_closure, A.FileSearchResults_autoCompleteMatches_closure, A._ProgramExplorerRow__tooltipForNode_closure, A._ProgramOutlineView_build_closure, A.ProgramExplorer_build_closure, A.ProgramExplorerController__selectScriptNode_closure, A.ProgramExplorerController__calculateNodeIndex_closure0, A.ProgramExplorerController__calculateNodeIndex_closure, A.ProgramExplorerController_populateNode_getObjects, A.ProgramExplorerController_populateNode_getObjects_closure, A.ProgramExplorerController_populateNode_getFuncs_closure, A.VMServiceObjectNode_outline_closure, A.VMServiceObjectNode_createRootsFrom_closure, A.VMServiceObjectNode__collapseSingleChildDirectoryNodes_closure, A.Grammar_Grammar$fromJson_closure, A.Grammar_toString_closure, A.Repository_toJson_closure, A._MultilineMatcher_closure, A._MultilineMatcher_scan__closure, A._MultilineMatcher_toJson_closure, A.Variables_build_closure0, A.ExpandableVariable_build_closure0, A.displayProvider_closure, A.DiagnosticsNodeDescription_buildDescription_closure0, A.DiagnosticsNodeDescription_build_radix, A.InspectorBreadcrumbNavigator_build_closure, A.InspectorBreadcrumbNavigator__generateBreadcrumbs_closure, A.InspectorController__handleConnectionStart_closure, A.InspectorController_filterErrors_closure, A.computeRenderSizes_transformToRenderSize, A.LayoutProperties_closure, A.LayoutProperties_childrenDimensions_closure, A.FlexLayoutProperties__buildNode_closure, A.FlexLayoutProperties__buildNode_closure0, A.FlexLayoutProperties_totalFlex_closure, A.FlexLayoutProperties_childrenRenderProperties_leadingSpace, A.FlexLayoutProperties_childrenRenderProperties_betweenSpace, A.FlexLayoutProperties_childrenRenderProperties_smallestRenderSize, A.FlexLayoutProperties_childrenRenderProperties_largestRenderSize, A.FlexLayoutProperties_childrenRenderProperties_renderSizes, A.FlexLayoutProperties_childrenRenderProperties_renderSizes_closure, A.FlexLayoutProperties_childrenRenderProperties_space, A.FlexLayoutProperties_childrenRenderProperties_calculateMainAxisOffset, A.FlexLayoutProperties_childrenRenderProperties_calculateCrossAxisOffset, A.InspectorScreenBodyState_build_closure, A.InspectorScreenBodyState__buildSummaryTreeColumn__closure0, A.InspectorScreenBodyState__buildSummaryTreeColumn___closure0, A.InspectorScreenBodyState_getServiceExtensionWidgets__closure, A._InspectorTreeState_build__closure0, A.InspectorRowContent_build_closure, A._BoxLayoutExplorerWidgetState__buildChild_closure_nullOutZero, A._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure0, A._FlexLayoutExplorerWidgetState__buildAxisAlignmentDropdown_closure, A._VisualizeFlexChildrenState_build_closure, A._VisualizeFlexChildrenState_build_closure_maxSizeAvailable, A._VisualizeFlexChildrenState_build__closure, A._VisualizeFlexChildrenState_build__closure0, A._VisualizeFlexChildrenState_build__closure1, A._VisualizeFlexChildrenState_build__closure2, A.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuitemChild, A.FlexChildVisualizer__buildFlexFactorChangerDropdown_buildMenuItem, A.FlexChildVisualizer__buildFlexFitChangerDropdown_flexFitDescription, A.FlexChildVisualizer__buildFlexFitChangerDropdown_buildMenuItem, A.AnimatedFlexLayoutProperties_childrenRenderProperties_closure, A.LayoutExplorerWidgetState__initAnimationStates_closure, A.LayoutExplorerWidgetState__initAnimationStates_closure0, A.LogsTable_build_closure, A._retrieveFullStringValue_closure, A._retrieveFullStringValue_closure0, A.LoggingController__handleBusEvents_closure, A.LoggingController__handleBusEvents_closure0, A.LoggingController__handleBusEvents_closure1, A.LoggingController__handleBusEvents_closure2, A.LoggingController_filterData_closure, A.ImageSizesForFrame_from_closure, A._LoggingScreenState__showFilterDialog_closure, A.FieldTrack_build_closure, A.AllocationTableViewState__handleSearch_closure, A.AllocationTableViewState_build_closure, A.AllocationTableViewState_build_closure0, A.AllocationTableViewState_build_closure1, A.drillIn_closure, A.AnalysisInstanceViewState_build_closure, A.MemoryController_updatedMemorySource_closure, A.MemoryController_setTracking_closure, A.MemoryController_setTracking_closure0, A.MemoryController__handleConnectionStart_closure, A.MemoryController__handleConnectionStart_closure0, A.MemoryController__handleConnectionStart_closure1, A.MemoryController__handleConnectionStart_closure2, A.MemoryController_startTimeline_closure, A.MemoryController_monitorAllocations_closure, A.MemoryController_getAllocationProfile_closure, A.MemoryController_getAllocationProfile_closure0, A.MemoryController_computeAllLibraries_closure, A.MemoryController_computeAllLibraries__closure, A.MemoryController_addAllToNode__closure, A.MemoryController_createSnapshotEntries_closure, A.MemoryController_buildTreeFromAllData_closure, A.HeapGraph_computeFilteredGroups__closure, A.HeapTreeViewState__groupByDropdown_closure, A.HeapTreeViewState__groupByDropdown_closure0, A.HeapTreeViewState__buildSnapshotControls_closure, A.HeapTreeViewState__buildSnapshotControls__closure0, A.HeapTreeViewState__buildSnapshotControls__closure, A.HeapTreeViewState__allocationStart_closure, A.HeapTreeViewState_selectTheMatch__closure, A.HeapTreeViewState__filter_closure, A.MemoryHeapTableState__handleSearch_closure, A.MemoryHeapTableState_build_closure, A.InstanceTreeViewState_build_closure, A.LibraryReference_closure, A.ExternalReference_closure, A.ClassReference_closure, A.Snapshot_librariesToList_closure, A.ObjectFieldReference__expandObjectFieldRef_closure, A.instanceToFieldNodes_closure, A.TreeTracker_createTrackerTree_closure, A.TreeTracker_createTrackingTable_closure, A._MemoryChartPaneState_build_closure, A._MemoryChartPaneState__showHover_closure, A._MemoryChartPaneState__hoverRow_hoverPartImageLine, A._IntervalDropdownState_build_closure, A._IntervalDropdownState_build_closure0, A.LegendRow_build_legendPart, A.LegendRow_build_legendSymbol, A._PrimaryControlsState_build_closure, A._SecondaryControlsState__showLegend_closure, A._SecondaryControlsState_build_closure, A._SecondaryControlsState__openSettingsDialog_closure, A._MemorySourceDropdownState_build_closure, A._MemorySourceDropdownState_build_closure0, A.NetworkController__processHttpProfileRequests_closure, A.NetworkController__processHttpProfileRequests_closure1, A.NetworkController_processNetworkTrafficHelper_closure, A.NetworkController__updatePollingState_closure, A.NetworkController_recordingHttpTraffic_closure, A.NetworkController_filterData_closure, A.NetworkController_filterData_closure_matches, A.NetworkRequestInspector_build_closure, A.HttpRequestCookiesView__buildCookiesTable__buildColumn, A.NetworkScreen_buildStatus_closure, A.NetworkScreen_buildStatus_closure0, A._NetworkProfilerControlsState__showFilterDialog_closure, A._NetworkProfilerBody_build_closure, A.NetworkRequestsTable_build_closure, A.NetworkRequestsTable_build_closure0, A.ActionsColumn_build_closure, A.NetworkService__refreshHttpProfile_closure, A.NetworkService__clearHttpProfile_closure, A.NetworkService__refreshSockets_closure, A.NetworkService__clearSocketProfile_closure, A.NetworkService_toggleSocketProfiling_closure, A._TrackWidgetBuildsSettingState_initState_closure, A._TrackWidgetBuildsSettingState_build_closure, A._TrackWidgetBuildsSettingState_build_closure0, A.TrackWidgetBuildsCheckbox__checkboxChanged_closure, A.EventDetails_build_closure, A.EventDetails__buildDetails_closure, A.EventDetails__buildCpuProfiler_closure, A.EventDetails__buildProcessingInfo_closure, A.EventSummary_closure, A._FlutterFramesChartState__maybeShowShaderJankMessage_closure, A.FlutterFrameTooltip_build_closure0, A._FrameTimeVisualizerState_build_closure, A.PerformanceController__initHelper_closure, A.PerformanceController__initHelper_closure0, A.PerformanceController__initHelper_closure1, A.PerformanceController__threadIdForEvents_closure, A.PerformanceController_setOfflineData_closure, A.PerformanceController_setOfflineData_closure0, A.PerformanceController_matchesForSearch_closure, A.PerformanceData_json_closure, A.TimelineEventGroup_sortedEventRoots_closure, A.OfflinePerformanceData_parse_closure, A.OfflinePerformanceData_parse_closure0, A.OfflineTimelineEvent_closure, A.FlutterFrame_shaderDuration_closure, A.TimelineEvent__isWellFormedDeep_closure, A.TimelineEvent_maybeRemoveDuplicate__maybeRemoveDuplicate, A.TimelineEvent_addChild__putChildInTree, A.FrameAnalysis__generateBuildPhase_closure, A.FrameAnalysis__generateLayoutPhase_closure, A.FrameAnalysis__generatePaintPhase_closure, A.PerformanceScreenBodyState_build_closure, A.PerformanceScreenBodyState_build_closure0, A._PrimaryControls_build_closure2, A.SecondaryPerformanceControls__openSettingsDialog_closure, A.TimelineStreamSettings__defaultRecordedStreams_closure, A.TimelineStreamSettings__timelineStreams_closure, A.TimelineStreamSettings__timelineStreams__closure, A.RenderingLayerVisualizer_build_closure, A.RenderingLayerVisualizer_build__closure, A.LayerSnapshotTable_build_closure, A.LayerImage_build__closure, A.TimelineEventProcessor_processTraceEvents_closure, A.TimelineEventProcessor_processTraceEvents_closure0, A.TimelineEventProcessor__handleDurationCompleteEvent_closure, A.TimelineFlameChartState_didChangeDependencies_closure, A.TimelineFlameChartState_initFlameChartElements_leftForEvent, A.TimelineFlameChartState_initFlameChartElements_rightForEvent, A.TimelineFlameChartState_initFlameChartElements_createChartNode, A.TimelineFlameChartState_initFlameChartElements_createChartNode_closure, A.TimelineFlameChartState_buildChartOverlays_closure, A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton, A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure0, A.TimelineFlameChartState__calculateAsyncGuidelines_closure, A.TimelineFlameChartState__calculateAsyncGuidelines_generateSubsequentVerticalGuideline, A.TimelineFlameChartState__calculateAsyncGuidelines_previousSiblingInRow, A.TimelineStreamManager_basicStreams_closure, A.TimelineStreamManager_advancedStreams_closure, A.TimelineStreamManager_vmServiceOpened_closure, A.TimelineStreamManager_updateTimelineStream_closure, A.CpuBottomUpTable_build_closure, A.CpuCallTreeTable_build_closure, A.CpuProfilerController_isToggleFilterActive_closure, A.CpuProfilerController_toggleFilters_closure, A.CpuProfilerController_toggleFilters_closure0, A.CpuProfilerController_toggleFilters_closure1, A.CpuProfilerController__filterData_closure, A._CpuProfileFlameChartState_initFlameChartElements_createChartNodes_closure, A.CpuProfileData_CpuProfileData$parse_closure, A.CpuProfileData_CpuProfileData$subProfile_closure, A.CpuProfileData_CpuProfileData$fromUserTag_closure, A.CpuProfileData_CpuProfileData$filterFrom_includeSampleOrWalkUp, A.CpuProfileData_CpuProfileData$filterFrom_filteredParentStackFrameId, A.CpuProfileData_CpuProfileData$filterFrom_walkAndFilter, A.CpuProfileData_generateFromCpuSamples_nameForStackFrame, A.CpuProfileData_generateFromCpuSamples_processStackFrame, A.CpuProfileData_toJson_closure, A.mergeCpuProfileRoots_closure, A._CpuProfilerState_build__closure0, A._CpuProfilerState_build__closure, A._CpuProfilerState__showFilterDialog_closure, A._CpuProfilerState__buildProfilerViews__closure, A.UserTagDropdown_build_closure, A.UserTagDropdown_build__closure, A._ProfilerScreenBodyState_build_closure, A._ProfilerScreenBodyState__buildProfilerScreenBody_closure, A.serviceProvider_closure, A.hotRestartEventProvider_closure, A.InstanceDetails_isExpandable_falsy, A.InstanceDetails_isExpandable_closure0, A.InstanceDetails_isExpandable_closure, A.InstanceDetails_isExpandable_closure1, A.InstanceDetails_instanceRefId_closure3, A.InstanceDetails_instanceRefId_closure, A.InstanceDetails_instanceRefId_closure4, A.InstanceDetails_instanceRefId_closure6, A.InstanceDetails_instanceRefId_closure2, A.InstanceDetails_instanceRefId_closure1, A.InstanceDetails_instanceRefId_closure5, A.InstanceDetails_instanceRefId_closure0, A.__$InstancePathFromInstanceIdCopyWithImpl_closure, A.__$InstancePathFromProviderIdCopyWithImpl_closure, A._resolveInstanceRefForPath_closure0, A._resolveInstanceRefForPath_closure, A._resolveInstanceRefForPath_closure2, A._resolveInstanceRefForPath_closure1, A._resolveInstanceRefForPath_closure3, A._resolveInstanceRefForPath__closure, A._mutate_closure, A._mutate_closure0, A._mutate_closure1, A._mutate__closure, A._tryParseEnum_findPropertyWithName, A._tryParseEnum_findPropertyWithName_closure, A._parseSetter_mutate, A._parseSetter_closure0, A._parseSetter_closure, A._parseSetter_closure1, A._parseSetter__closure, A.instanceProvider__closure, A._parseFields_closure, A._providerChanged__closure, A.estimatedChildCountProvider_closure_estimatedChildCount, A.estimatedChildCountProvider_closure_estimatedChildCount_one, A.estimatedChildCountProvider_closure_estimatedChildCount_expandableEstimatedChildCount, A.estimatedChildCountProvider__estimatedChildCount_closure, A.estimatedChildCountProvider__estimatedChildCount__closure0, A.estimatedChildCountProvider__estimatedChildCount___closure0, A.estimatedChildCountProvider__estimatedChildCount__closure, A.estimatedChildCountProvider__estimatedChildCount__closure1, A.estimatedChildCountProvider__estimatedChildCount___closure, A._InstanceViewerState__buildListViewItems_closure, A._InstanceViewerState__buildListViewItems__closure1, A._InstanceViewerState__buildListViewItems__closure, A._InstanceViewerState__buildListViewItems__closure0, A._InstanceViewerState__buildHeader_closure0, A._InstanceViewerState__buildHeader_closure3, A._InstanceViewerState__buildHeader_closure6, A._InstanceViewerState__buildHeader_closure4, A._InstanceViewerState__buildHeader_closure, A._InstanceViewerState__buildHeader_closure2, A._InstanceViewerState__buildHeader_closure1, A._InstanceViewerState__buildHeader_closure5, A._EditableFieldState_build_closure, A._EditableFieldState_build__closure, A._EditableFieldState_build__closure0, A._Expandable_build_closure, A.Result_dataOrThrow_closure, A.selectedProviderIdProvider_closure, A.selectedProviderIdProvider___closure, A._ProviderListState_build_closure, A._providerListChanged_closure, A._providerListChanged__closure, A._rawProviderIdsProvider_closure, A._rawProviderNodeProvider_closure_getFieldWithName, A._rawProviderNodeProvider__getFieldWithName_closure, A.sortedProviderNodesProvider_closure, A.sortedProviderNodesProvider__closure, A._hasErrorProvider_closure, A._selectedProviderNode_closure, A._selectedProviderNode__closure, A._showInternals_closure, A.ProviderScreenBody_build__closure, A._StateInspectorSettingsDialog_build__closure, A._StateInspectorSettingsDialog_build_closure, A._StateInspectorSettingsDialog_build__closure0, A.IsolateStatisticsViewBody_build_closure, A.TagStatisticsWidget_build_closure, A.TagStatisticsWidget_build_closure0, A.StackTraceViewerWidget_build_closure, A.StackTraceViewerWidget_build_closure0, A.StackTraceViewerWidget_build_closure1, A._IsolatePortsWidgetState_build_closure, A._IsolatePortsWidgetState_build_closure0, A.ServiceExtensionsWidget_build_closure, A.ServiceExtensionsWidget_build_closure0, A._VMDeveloperToolsScreenState_build_closure, A.VMStatisticsViewBody_build_closure, A.IsolatesPreviewWidget_build_closure, A.IsolatesPreviewWidget_build_closure0, A.VMStatisticsViewController_refresh_closure, A.VMStatisticsViewController_refresh_closure0, A.ScriptManager_closure, A._ScriptCache_getScript_closure, A._ScriptCache_getScript_closure0, A.IsolateManager__computeMainIsolate_closure, A._connectWithWebSocket_closure, A._connectWithWebSocket_closure0, A.connect_onError, A.connect_closure, A.connect_closure0, A.ServiceExtensionManager__callServiceExtension_callExtension_closure, A._ServiceExtensionButtonGroupState_build_closure, A.HotReloadButton_build_closure0, A.HotRestartButton_build_closure0, A.StructuredErrorsToggle_build_closure, A.ServiceExtensionCheckbox_closure, A._ServiceExtensionCheckboxState_initState_closure, A._ServiceExtensionCheckboxState_build_closure, A._ServiceExtensionCheckboxGroupButtonState_build_closure, A._ServiceExtensionCheckboxGroupButtonState_build__closure, A._ServiceExtensionCheckboxGroupButtonState__insertOverlay_closure, A.ServiceExtensionRichTooltip_build_closure0, A.ServiceExtensionDescription_closure, A.serviceExtensionsAllowlist_closure, A.serviceExtensionsAllowlist_closure0, A._unsafeBeforeFirstFrameFlutterExtensions_closure, A.ServiceConnectionManager_vmServiceOpened_closure, A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent, A.ServiceConnectionManager_flutterViewId_closure, A.ServiceConnectionManager_libraryUriAvailableNow_closure, A.ServiceConnectionManager_libraryUriAvailableNow_closure0, A.VmServiceWrapper__initSupportedProtocols_closure, A.VmServiceWrapper_streamListen_closure, A.OpenAboutAction_build__closure, A.setupErrorHandling__closure, A.BannerMessagesController_addMessage_closure, A.BannerMessagesController_removeMessage_closure, A.BannerMessagesController_removeMessageByKey_closure, A.BannerMessagesController_isMessageVisible_closure, A.BannerMessages_build_closure, A.Legend_build_closure, A.NotifierCheckbox_build_closure, A.CheckboxSetting_build_closure1, A._BlinkingIconState_initState_closure, A._ConsoleOutputState_build_closure, A.ConsoleService_appendStdio_closure, A.ConsoleService_appendStdio_closure0, A._ViewVMFlagsButton_build__closure, A._VMFlagsDialogState__updateFromController_closure, A._VMFlagsDialogState__refilter_closure, A._FlagTable_build_closure, A._FlagTable_build_closure0, A.ErrorBadgeManager__extractInspectableError_closure, A.ErrorBadgeManager__extractInspectableError_closure0, A.ErrorBadgeManager_filterErrors_closure, A.ErrorBadgeManager_markErrorAsRead_closure, A.EvalOnDartLibrary_invoke__closure, A._DualFileImportContainerState__buildActionButton__closure, A.FlexSplitColumn_modifyInitialFractionsToIncludeFirstHeader_closure, A._HistoryViewportState_build_closure, A._HistoryViewportState__buildTitle_closure2, A._HistoryViewportState__buildTitle_closure1, A._InitializerState_initState_closure0, A._InitializerState__handleNoConnection_closure, A._InitializerState__createDisconnectedOverlay_closure, A._ConnectDialogState__buildConnectInput_closure, A.Notifications_build_closure, A.NotificationsState_didChangeDependencies_closure, A.NotificationsState_push_closure, A._NotificationState_initState__closure, A.buildVariablesTree__addPropertiesHelper, A.buildVariablesTree__maybeUpdateRef, A.ReleaseNotes_build_closure0, A.DevToolsScaffoldState_didUpdateWidget_closure, A.DevToolsScaffoldState__setupTabController_closure, A.DevToolsScaffoldState__setupTabController_closure1, A.DevToolsScaffoldState__showPageById_closure, A.DevToolsScaffoldState_build_closure0, A.Screen_buildTab_closure, A.DevToolsServerConnection$__closure, A.DevToolsServerConnection_connect_closure, A.DevToolsServerConnection_initFrameworkController_closure, A.DevToolsServerConnection_initFrameworkController_closure0, A.DevToolsServerConnection_initFrameworkController_closure1, A._SnapshotScreenBodyState__initScreen_closure, A._SplitState__buildLayout__minSizeForIndex, A._SplitState__buildLayout__minFractionForIndex, A._SplitState__buildLayout__clampFraction, A._SplitState__buildLayout__sizeForIndex, A._SplitState__buildLayout_deltaFromMinimumSize, A._SplitState__buildLayout_updateSpacing_updateSpacingBeforeSplitterIndex, A._SplitState__buildLayout_updateSpacing_updateSpacingAfterSplitterIndex, A._SplitState__buildLayout_closure, A._SplitState__buildLayout_closure0, A.StatusLine_build_closure, A.StatusLine_buildConnectionStatus_closure, A.StatusLine_buildConnectionStatus__closure, A.StatusLine_buildConnectionStatus___closure, A.IsolateSelector_build_closure, A.IsolateSelector_build__closure, A.IsolateSelector_build___closure, A.IsolateSelector_build___closure0, A.SurveyService_maybeShowSurveyPrompt_closure1, A.FlatTableState__buildRow_closure, A.TreeTableState__initData_closure, A.TreeTableState__buildRow_rowForNode, A.TreeTableState__buildRow_rowForNode_closure, A.TreeTableState_sortData__sort, A._TableState_build__closure0, A._TableRowState_initState_closure, A._baseTheme_closure1, A._baseTheme_closure2, A._baseTheme_closure0, A._baseTheme_closure, A.denseAwareOutlinedButtonStyle_closure, A._TreeViewState_build__closure, A.TreeMixin_buildFlatList_closure, A.issueLinkDetails_closure, A.SemanticVersion_SemanticVersion$parse_closure, A.SemanticVersion_SemanticVersion$parse_closure0, A.HoverCard_closure, A.HoverCard__closure0, A.HoverCard__closure, A._HoverCardTooltipState_build_closure, A.SearchControllerMixin__startDebounceTimer__closure0, A.AutoCompleteState_build_closure, A.AutoCompleteState__maybeHighlightMatchText_closure0, A.AutoCompleteState__maybeHighlightMatchText_closure1, A.AutoCompleteState__maybeHighlightMatchText_closure, A.AutoCompleteTile_build_closure1, A.AutoCompleteTile_build_closure, A.AutoCompleteSearchControllerMixin_createAutoCompleteOverlay_closure, A._SearchField_build_closure, A._AutoCompleteSearchFieldState__determineKeyEventResult_closure, A.SearchNavigationControls_build_closure, A.SearchNavigationControls_build__closure, A.SearchNavigationControls__matchesStatus_closure, A.truncateTextSpan_truncateHelper, A._OffsetScrollbarState_build_closure, A.ProfileGranularityDropdown_build_closure, A.SamplesMemoryJson_encodeList_closure, A.MethodChannelFileSelector_openFile_closure, A.XTypeGroup__removeLeadingDots_closure, A.DomHelper_getFiles_closure, A.DomHelper_getFiles_closure0, A._CupertinoBackGestureController_dragEnd_closure, A._CupertinoEdgeShadowDecoration_lerp_closure, A._CupertinoEdgeShadowDecoration_lerp_closure0, A._CupertinoScrollbarState_handleThumbPress_closure, A.CupertinoThemeData_resolveFrom_convertColor, A.NoDefaultCupertinoThemeData_resolveFrom_convertColor, A._CupertinoThemeDefaults_resolveFrom_convertColor, A.FlutterErrorDetails_summary_closure, A.FlutterErrorDetails_debugFillProperties_closure, A.FlutterError_FlutterError_closure, A.FlutterError_defaultStackFilter_closure, A.FlutterError_defaultStackFilter_closure0, A.FlutterError_toString_closure, A.debugPrintStack_closure, A.BindingBase_initServiceExtensions_closure0, A.BindingBase_initServiceExtensions_closure2, A.BindingBase_registerBoolServiceExtension_closure, A.BindingBase_registerNumericServiceExtension_closure, A.BindingBase_registerStringServiceExtension_closure, A._PrefixedStringBuilder__wordWrapLine_noWrap, A.TextTreeRenderer__debugRender_visitor, A.TextTreeRenderer__debugRender_closure, A.StackFrame_fromStackString_closure, A.SynchronousFuture_whenComplete_closure, A._GestureArena_toString_closure, A.PointerEventConverter_expand_closure, A.PointerEventConverter_expand_closure0, A._MaterialAppState__materialBuilder_closure, A.MaterialRectArcTween__initialize_closure, A._ButtonStyleState_build_effectiveValue, A._ButtonStyleState_build_resolve, A._ButtonStyleState_build_resolve_closure, A._ButtonStyleState_build_closure, A._ButtonStyleState_build_closure0, A._ButtonStyleState_build_closure1, A._ButtonStyleState_build_closure2, A._ButtonStyleState_build_closure3, A._ButtonStyleState_build_closure4, A._ButtonStyleState_build_closure5, A._ButtonStyleState_build_closure6, A._ButtonStyleState_build_closure7, A._ButtonStyleState_build_closure8, A._ButtonStyleState_build_closure9, A._ButtonStyleState_build_closure10, A._ButtonStyleState_build_closure18, A._ButtonStyleState_build__closure0, A._ButtonStyleState_build_closure19, A._ButtonStyleState_build__closure, A._ButtonStyleState_build_closure11, A._ButtonStyleState_build_closure12, A._ButtonStyleState_build_closure13, A._ButtonStyleState_build_closure14, A._ButtonStyleState_build_closure15, A._ButtonStyleState_build_closure16, A._ButtonStyleState_build_closure17, A._CheckboxState__widgetFillColor_closure, A._CheckboxState__defaultFillColor_closure, A._CheckboxState_build_closure, A.DataTable_build_closure3, A.DataTable_build_closure, A.DataTable_build_closure0, A.DataTable_build_closure1, A.DataTable_build_closure2, A.DataTable_build_closure4, A.DialogRoute_closure, A._DropdownRoutePage_build_closure, A._DropdownButtonState_initState_closure, A._DropdownButtonState_initState_closure0, A._DropdownButtonState__updateSelectedIndex_closure, A._DropdownButtonState__handleTap_closure, A._DropdownButtonState__handleTap_closure0, A._DropdownButtonState_build_closure, A._ExpansionTileState__handleTap__closure, A._InkResponseState_highlightsExist_closure, A._RenderDecoration_paint_doPaint, A._RenderListTile_paint_doPaint, A.ListTileTheme_merge_closure, A._MaterialState_build_closure, A._MaterialInteriorState_forEachTween_closure, A._MaterialInteriorState_forEachTween_closure0, A._MaterialInteriorState_forEachTween_closure1, A._MaterialInteriorState_forEachTween_closure2, A.MaterialStateMixin_updateMaterialState_closure, A._NavigationRailState__initControllers_closure, A._RailDestination_build_closure, A._ZoomPageTransition_build_closure, A._ZoomPageTransition_build_closure0, A._ZoomPageTransition_build_closure1, A._ZoomPageTransition_build_closure2, A.PageTransitionsTheme__all_closure, A._PopupMenu_build_closure, A._PopupMenuRoute_buildPage_closure, A.PopupMenuButtonState_showButtonMenu_closure, A._RadioState__widgetFillColor_closure, A._RadioState__defaultFillColor_closure, A._RadioState_build_closure, A.ScaffoldMessengerState_hideCurrentSnackBar_closure, A._MaterialScrollbarState__trackVisibility_closure, A._MaterialScrollbarState__thumbColor_closure, A._MaterialScrollbarState__trackColor_closure, A._MaterialScrollbarState__trackBorderColor_closure, A._MaterialScrollbarState__thickness_closure, A._SnackBarState_build_closure0, A._MaterialSwitchState__widgetThumbColor_closure, A._MaterialSwitchState__defaultThumbColor_closure, A._MaterialSwitchState__widgetTrackColor_closure, A._MaterialSwitchState__defaultTrackColor_closure, A._MaterialSwitchState_build_closure, A._TabBarState_initState_closure, A._TabBarState_build_closure, A._TextFieldState_build_closure3, A._TextFieldState_build_closure4, A._AnimatedThemeState_forEachTween_closure, A.ThemeData__lerpThemeExtensions_closure0, A.ToggleButtons_build_closure, A.TooltipState__createNewEntry_closure, A.TooltipState__createNewEntry_closure0, A.TooltipState__createNewEntry_closure1, A.TooltipState_build_closure, A.TooltipState_build_closure0, A._CompoundBorder_scale_closure, A._CompoundBorder_toString_closure, A.ClipContext_clipPathAndPaint_closure, A.ClipContext_clipRRectAndPaint_closure, A.ClipContext_clipRectAndPaint_closure, A.paintImage_closure, A._sample_closure, A._interpolateColorsAndStops_closure, A.LinearGradient_scale_closure, A._CachedImageBase_dispose_closure, A.ImageProvider_resolve_closure0, A.ImageProvider__createErrorHandlerAndKey_closure, A.AssetImage_obtainKey_closure, A.ImageStreamCompleter_reportError_closure, A.ImageStreamCompleter_reportImageChunkEvent_closure, A.InlineSpan_getSpanForPosition_closure, A.InlineSpan_codeUnitAt_closure, A._ShapeDecorationPainter__precache_closure, A._ShapeDecorationPainter__precache_closure0, A.TextSpan_debugDescribeChildren_closure, A.RendererBinding__scheduleMouseTrackerUpdate_closure, A.BoxConstraints_toString_describe, A.RenderEditable__extractPlaceholderSpans_closure, A.RenderEditable_getBoxesForSelection_closure, A.RenderEditable_describeSemanticsConfiguration_closure, A.RenderListBody_computeMinIntrinsicWidth_closure, A.RenderListBody_computeMinIntrinsicWidth_closure0, A.RenderListBody_computeMaxIntrinsicWidth_closure, A.RenderListBody_computeMaxIntrinsicWidth_closure0, A.RenderListBody_computeMinIntrinsicHeight_closure, A.RenderListBody_computeMinIntrinsicHeight_closure0, A.RenderListBody_computeMaxIntrinsicHeight_closure, A.RenderListBody_computeMaxIntrinsicHeight_closure0, A.MouseTracker__handleDeviceUpdate_closure, A.MouseTracker__handleDeviceUpdateMouseEvents_closure0, A.RenderObject_reassemble_closure, A.RenderObject__updateCompositingBits_closure, A.RenderObject_clearSemantics_closure, A.RenderObject__getSemanticsForParent_closure, A.RenderParagraph_markNeedsLayout_closure, A.RenderParagraph__extractPlaceholderSpans_closure, A.RenderParagraph_selectionColor_closure, A.RenderParagraph_describeSemanticsConfiguration_closure, A.RenderSliverHelpers_hitTestBoxChild_closure, A.RenderSliverMultiBoxAdaptor__createOrObtainChild_closure, A.RenderSliverMultiBoxAdaptor_collectGarbage_closure, A.RenderSliverMultiBoxAdaptor_collectGarbage__closure, A.RenderStack_computeMinIntrinsicWidth_closure, A.RenderStack_computeMaxIntrinsicWidth_closure, A.RenderStack_computeMinIntrinsicHeight_closure, A.RenderStack_computeMaxIntrinsicHeight_closure, A.RenderViewportBase_visitChildrenForSemantics_closure, A.RenderViewportBase_hitTestChildren_closure, A.SchedulerBinding_endOfFrame_closure, A.SchedulerBinding__handleDrawFrame_closure, A.TickerFuture_whenCompleteOrCancel_thunk, A.SemanticsNode_getSemanticsData_closure, A.SemanticsNode__childrenInTraversalOrder_closure, A.SemanticsNode_debugDescribeChildren_closure, A._SemanticsSortGroup_sortedWithinVerticalGroup_closure, A._SemanticsSortGroup_sortedWithinKnot_search, A._SemanticsSortGroup_sortedWithinKnot_closure0, A._SemanticsSortGroup_sortedWithinKnot_closure1, A._childrenInDefaultOrder_closure, A.SemanticsOwner_sendSemanticsUpdate_closure, A.SemanticsOwner__getSemanticsActionHandlerForId_closure, A.SemanticsConfiguration__addArgumentlessAction_closure, A.SemanticsConfiguration_onMoveCursorForwardByCharacter_closure, A.SemanticsConfiguration_onMoveCursorBackwardByCharacter_closure, A.SemanticsConfiguration_onMoveCursorForwardByWord_closure, A.SemanticsConfiguration_onMoveCursorBackwardByWord_closure, A.SemanticsConfiguration_onSetSelection_closure, A.SemanticsConfiguration_onSetText_closure, A.CachingAssetBundle_loadStructuredData_closure, A._DefaultBinaryMessenger_send_closure, A.BasicMessageChannel_setMessageHandler_closure, A.MethodChannel_setMethodCallHandler_closure, A.RawKeyboard__synchronizeModifiers_closure, A.RestorationManager_handleRestorationUpdateFromEngine_closure, A.RestorationManager_scheduleSerializationFor_closure, A.RestorationBucket__visitChildren_closure, A.FilteringTextInputFormatter__processRegion_adjustIndex, A.TextEditingValue_replaced_adjustIndex, A.TextInputConnection_setSelectionRects_closure, A.TextInput__handleTextInputInvocation_closure0, A.TextInput__handleTextInputInvocation_closure, A.TextInput__handleTextInputInvocation_closure1, A._getParent_closure, A.Actions__findDispatcher_closure, A.Actions_maybeFind_closure, A.Actions__maybeFindWithoutDependingOn_closure, A.Actions_invoke_closure, A.Actions_maybeInvoke_closure, A._FocusableActionDetectorState_initState_closure, A._FocusableActionDetectorState__mayTriggerCallback_shouldShowHoverHighlight, A._FocusableActionDetectorState__mayTriggerCallback_canRequestFocus, A._FocusableActionDetectorState__mayTriggerCallback_shouldShowFocusHighlight, A._FocusableActionDetectorState_didUpdateWidget_closure, A._AnimatedCrossFadeState_initState_closure, A._WidgetsAppState_build_closure, A._StreamBuilderBaseState__subscribe_closure, A._FutureBuilderState__subscribe_closure, A._AutomaticKeepAliveState__addClient_closure, A._AutomaticKeepAliveState__getChildElement_closure, A._UbiquitousInheritedElement_notifyClients_closure, A._UbiquitousInheritedElement__recurseChildren_closure, A.RichText__extractChildren_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure0, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure1, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure3, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure5, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initInstances_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure0, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_initInstances_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure0, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure1, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure2, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure4, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure6, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_drawFrame_closure, A.DisplayFeatureSubScreen_avoidBounds_closure, A.DisplayFeatureSubScreen_avoidBounds_closure0, A.EditableTextState_cutSelection_closure, A.EditableTextState_pasteText_closure, A.EditableTextState_didChangeDependencies_closure, A.EditableTextState__scheduleShowCaretOnScreen_closure, A.EditableTextState_didChangeMetrics_closure, A.EditableTextState__updateSelectionRects_closure, A.EditableTextState__updateSelectionRects_closure0, A.EditableTextState__updateSelectionRects_closure1, A.EditableTextState__updateSizeAndTransform_closure, A.EditableTextState__updateComposingRectIfNeeded_closure, A.EditableTextState__updateCaretRectIfNeeded_closure, A.EditableTextState__actions_closure, A.EditableTextState_build_closure0, A._Editable__extractChildren_closure, A._ScribbleFocusableState_isInScribbleRect_closure, A._UpdateTextSelectionAction_invoke_collapse, A._throttle_closure, A.FocusNode_traversalDescendants_closure, A.FocusNode_debugDescribeChildren_closure, A._getAncestor_closure, A.FocusTraversalPolicy__sortAllDescendants_visitGroups, A.FocusTraversalPolicy__sortAllDescendants_closure, A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin_changedScope_closure, A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure0, A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure1, A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure0, A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure1, A.DirectionalFocusTraversalPolicyMixin__popPolicyDataIfNeeded_popOrInvalidate, A.DirectionalFocusTraversalPolicyMixin_inDirection_closure, A.DirectionalFocusTraversalPolicyMixin_inDirection_closure0, A.DirectionalFocusTraversalPolicyMixin_inDirection_closure2, A.DirectionalFocusTraversalPolicyMixin_inDirection_closure3, A._ReadingOrderSortData_commonDirectionalityOf_closure, A._ReadingOrderSortData_directionalAncestors_getDirectionalityAncestors, A._ReadingOrderDirectionalGroupData_rect_closure, A.ReadingOrderTraversalPolicy__pickNext_inBand_closure, A._InactiveElements__unmount_closure, A.Element_reassemble_closure, A.Element_renderObject_visit, A.Element_updateSlotForChild_visit, A.Element__updateDepth_closure, A.Element_detachRenderObject_closure, A.Element_attachRenderObject_closure, A.Element_debugDescribeChildren_closure, A.ParentDataElement__applyParentData_applyParentDataToChild, A.RenderObjectElement_updateChildren_replaceWithNullIfForgotten, A.MultiChildRenderObjectElement_children_closure, A.GestureDetector_build_closure0, A.GestureDetector_build_closure2, A.GestureDetector_build_closure4, A.GestureDetector_build_closure6, A.GestureDetector_build_closure8, A.GestureDetector_build_closure10, A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure, A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure0, A._DefaultSemanticsGestureDelegate__getHorizontalDragUpdateHandler_closure1, A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure, A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure0, A._DefaultSemanticsGestureDelegate__getVerticalDragUpdateHandler_closure1, A.Hero__allHeroesFor_visitor, A.HeroController_didStopUserGesture_isInvalidFlight, A.HeroController__maybeStartHeroTransition_closure, A.IconTheme_merge_closure, A.ImplicitlyAnimatedWidgetState_initState_closure, A.ImplicitlyAnimatedWidgetState_didUpdateWidget_closure, A.ImplicitlyAnimatedWidgetState__constructTweens_closure, A._AnimatedContainerState_forEachTween_closure, A._AnimatedContainerState_forEachTween_closure0, A._AnimatedContainerState_forEachTween_closure1, A._AnimatedContainerState_forEachTween_closure2, A._AnimatedContainerState_forEachTween_closure3, A._AnimatedContainerState_forEachTween_closure4, A._AnimatedContainerState_forEachTween_closure5, A._AnimatedContainerState_forEachTween_closure6, A._AnimatedPaddingState_forEachTween_closure, A._AnimatedOpacityState_forEachTween_closure, A._AnimatedDefaultTextStyleState_forEachTween_closure, A._AnimatedPhysicalModelState_forEachTween_closure, A._AnimatedPhysicalModelState_forEachTween_closure0, A._AnimatedPhysicalModelState_forEachTween_closure1, A._AnimatedPhysicalModelState_forEachTween_closure2, A.InheritedTheme_capture_closure, A._loadAll_closure, A._loadAll_closure0, A._loadAll_closure1, A._LocalizationsState_load_closure, A._LocalizationsState_load_closure0, A.MediaQueryData_removeDisplayFeatures_closure, A.Route_didPush_closure, A.Route_didAdd_closure, A.Route_isCurrent_closure, A.Route_isFirst_closure, A.Route_isActive_closure, A.Navigator_defaultGenerateInitialRoutes_closure, A._RouteEntry_dispose_closure, A._RouteEntry_isRoutePredicate_closure, A.NavigatorState_restoreState_closure, A.NavigatorState__flushHistoryUpdates_closure, A.NavigatorState__afterNavigation_closure, A.NavigatorState_maybePop_closure, A.NavigatorState_maybePop_closure1, A.NavigatorState_removeRoute_closure, A.OverlayEntry_remove_closure, A._RenderTheatre_computeMinIntrinsicWidth_closure, A._RenderTheatre_computeMaxIntrinsicWidth_closure, A._RenderTheatre_computeMinIntrinsicHeight_closure, A._RenderTheatre_computeMaxIntrinsicHeight_closure, A.PageStorageBucket__allKeys_closure, A._PageViewState_build_closure, A._RootRestorationScopeState__loadRootBucketIfNecessary_closure, A._RouterState__processParsedRouteInformation_closure, A._RouterState__handleRoutePopped_closure, A.BackButtonDispatcher_invokeCallback_notifyNextChild, A.TransitionRoute__updateSecondaryAnimation_jumpOnAnimationEnd, A.TransitionRoute__setSecondaryAnimation_closure, A._ModalScopeState_build_closure0, A._ModalScopeState_build__closure, A.ScrollAwareImageProvider_resolveStreamForKey_closure, A.ScrollBehavior_velocityTrackerBuilder_closure, A.ScrollBehavior_velocityTrackerBuilder_closure0, A.ScrollNotificationObserverState_build_closure, A.ScrollNotificationObserverState_build_closure0, A.ScrollPosition_forcePixels_closure, A.ScrollView_build_closure0, A.Scrollable_ensureVisible_closure, A.ScrollableState_setCanDrag_closure0, A.ScrollableState_setCanDrag_closure2, A._ScrollableSelectionContainerDelegate__scheduleLayoutChange_closure, A.ScrollbarPainter_update_needPaint, A.RawScrollbarState__gestures_closure0, A.RawScrollbarState__gestures__closure, A.RawScrollbarState__gestures__closure0, A.RawScrollbarState__gestures__closure1, A.RawScrollbarState__gestures_closure2, A.RawScrollbarState_build_closure, A.RawScrollbarState_build_closure0, A.MultiSelectableSelectionContainerDelegate__scheduleSelectableUpdate_closure, A.MultiSelectableSelectionContainerDelegate_handleSelectWord_closure, A.MultiSelectableSelectionContainerDelegate_handleSelectWord_closure0, A.LogicalKeySet__triggers_closure, A.SliverMultiBoxAdaptorElement_performRebuild_processElement, A.Table_closure, A.Table_closure0, A._TableElement_mount_closure, A._TableElement_mount__closure, A._TableElement_update_closure, A._TableElement_update_closure0, A._TableElement__updateRenderObjectChildren_closure, A._TableElement__updateRenderObjectChildren__closure, A._TableElement_visitChildren_closure, A.DefaultTextStyle_merge_closure, A.SelectionOverlay__markNeedsBuild_closure, A._SelectionHandleOverlayState_build_closure0, A._TextSelectionGestureDetectorState_build_closure0, A._TextSelectionGestureDetectorState_build_closure2, A._TextSelectionGestureDetectorState_build_closure4, A._TextSelectionGestureDetectorState_build_closure6, A._TweenAnimationBuilderState_forEachTween_closure, A.kDefaultImageBuilder_closure, A.MarkdownBuilder_extractTextFromElement_closure, A.MarkdownBuilder_visitText_trimText, A.MarkdownBuilder__mergeInlineChildren_closure, A.HashUrlStrategy__waitForPopState_closure, A.Registrar_send_closure, A.get_closure, A.read_closure, A.BaseRequest_closure0, A.BrowserClient_send_closure, A.BrowserClient_send_closure0, A.ByteStream_toBytes_closure, A.mapToQuery_closure0, A.CaseInsensitiveMap$from_closure, A.MediaType_toString__closure, A.expectQuotedString_closure, A.BmpInfo_readPalette_closure, A.BmpDecoder_decodeFrame_closure, A.ExrPart_closure, A.IcoInfo__read_closure, A.JpegData__readSOS_closure, A.PngDecoder_decodeFrame_closure, A.DateFormat_dateTimeConstructor_closure, A.NumberFormat_NumberFormat$decimalPattern_closure, A.Element_textContent_closure, A.BlockSyntax_isAtBlockEnd_closure, A.BlockquoteSyntax_parseChildLines_closure, A.ListSyntax_parse_tryMatch, A.TableSyntax__parseAlignments_closure, A.ParagraphSyntax__extractReflinkDefinitions_lineStartsReflinkDefinition, A.InlineParser_parse_closure, A.InlineParser__linkOrImage_closure, A.InlineParser__linkOrImage_closure0, A.InlineParser__linkOrImage_closure1, A.InlineParser__processEmphasis_closure0, A.LinkSyntax_closure, A.ImageSyntax__createNode_closure, A._NestedHookElement_injectedChild_closure, A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure, A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin_activate_closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.ParsedPath__splitExtension_closure, A.WindowsStyle_absolutePathToUri_closure, A.Pool__runOnRelease_closure, A.InheritedProvider_buildWithChild_closure, A._InheritedProviderScopeElement_getElementForInheritedWidgetOfExactType_closure, A.Provider_closure, A.Provider_debugCheckInvalidValueType_closure, A._asyncValueAsFuture_listener_closure1, A._asyncValueAsFuture_listener_closure, A._asyncValueAsFuture_listener_closure0, A.AsyncValue_unwrapPrevious_closure, A.AsyncValue_unwrapPrevious_closure0, A.AsyncValue_unwrapPrevious_closure1, A.AsyncLoading_copyWithPrevious_closure, A.AsyncLoading_copyWithPrevious_closure0, A.AsyncLoading_copyWithPrevious_closure1, A.AsyncValueX_get_asData_closure, A.AsyncValueX_get_asData_closure0, A.AsyncValueX_get_asData_closure1, A.AsyncValueX_when_closure, A.AsyncValueX_when_closure0, A.AsyncValueX_when_closure1, A._StateReader__create_closure, A._StateReader__create_closure0, A.ProviderContainer__disposeProvider_removeStateReaderFrom, A.ProviderContainer__getStateReader_getReader_setupOverride, A.ProviderContainer__getStateReader_getReader_closure, A.ProviderContainer__getStateReader_getReader_closure0, A.ProviderContainer_getAllProviderElementsInOrder_closure, A.ProviderContainer_getAllProviderElementsInOrder_closure0, A.ProviderContainer_getAllProviderElementsInOrder__closure, A._allTransitiveDependencies_visitDependency, A.handleFireImmediately_closure, A.handleFireImmediately_closure0, A.ProviderElementBase_requireState_closure0, A.ProviderElementBase_requireState_closure, A.ProviderElementBase_mount_closure, A.ProviderElementBase_mount_closure0, A.ProviderElementBase_invalidateSelf_closure, A.ProviderElementBase__maybeRebuildDependencies_closure, A.ProviderElementBase__notifyListeners_closure, A.ProviderElementBase__notifyListeners_closure0, A.ProviderElementBase__notifyListeners_closure1, A.ProviderElementBase__notifyListeners_closure2, A.ProviderElementBase__notifyListeners_closure3, A.ProviderElementBase__notifyListeners_closure4, A.ProviderElementBase__markDependencyMayHaveChanged_closure, A._FutureProviderElementMixin__listenFuture_closure0, A.AutoDisposeFutureProviderFamily_create_closure, A.FutureProviderFamily_create_closure, A.AutoDisposeProviderFamily_create_closure, A.throwErrorWithCombinedStackTrace_closure, A.AutoDisposeStateNotifierProvider_create_listener, A._listenStateProvider_listener, A.StateProvider_state_closure, A.StateProviderFamily_create_closure, A._StreamProviderElementMixin__listenStream_closure, A.AutoDisposeStreamProviderFamily_create_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4__generateBits, A.Chain_Chain$parse_closure, A.Chain_Chain$parse_closure0, A.Chain_Chain$parse_closure1, A.Chain_foldFrames_closure, A.Chain_foldFrames_closure0, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace__parseVM_closure0, A.Trace$parseV8_closure, A.Trace$parseV8_closure0, A.Trace$parseJSCore_closure, A.Trace$parseJSCore_closure0, A.Trace$parseFirefox_closure, A.Trace$parseFirefox_closure0, A.Trace$parseFriendly_closure, A.Trace$parseFriendly_closure0, A.Trace_terse_closure, A.Trace_foldFrames_closure, A.Trace_foldFrames_closure0, A.Trace_toString_closure0, A.Trace_toString_closure, A._GuaranteeSink__addError_closure, A._GuaranteeSink_addStream_closure, A.MethodChannelUrlLauncher_canLaunch_closure, A.MethodChannelUrlLauncher_launch_closure, A.HttpProfile$_fromJson_closure, A.HttpProfileRequestData$_fromJson_closure, A.HeapSnapshotGraph_getSnapshot_closure, A.createServiceObject_closure, A._createSpecificObject_closure, A.AllocationProfile_toJson_closure, A.ClassRef_toJson_closure, A.Class_toJson_closure, A.Class_toJson_closure0, A.Class_toJson_closure1, A.Class_toJson_closure2, A.Class_toJson_closure3, A.ClassList_toJson_closure, A.Context_toJson_closure, A.CpuSamples_toJson_closure, A.CpuSamples_toJson_closure0, A.CpuSamplesEvent_toJson_closure, A.CpuSamplesEvent_toJson_closure0, A.CpuSample_toJson_closure, A.Event_toJson_closure, A.Event_toJson_closure0, A.Event_toJson_closure1, A.FlagList_toJson_closure, A.Frame_toJson_closure, A.InstanceRef_toJson_closure, A.InstanceRef_toJson_closure0, A.Instance_toJson_closure, A.Instance_toJson_closure0, A.Instance_toJson_closure1, A.Instance_toJson_closure2, A.Instance_toJson_closure3, A.Isolate_toJson_closure, A.Isolate_toJson_closure0, A.Isolate_toJson_closure1, A.Isolate_toJson_closure2, A.IsolateGroup_toJson_closure, A.InboundReferences_toJson_closure, A.InstanceSet_toJson_closure, A.Library_toJson_closure, A.Library_toJson_closure0, A.Library_toJson_closure1, A.Library_toJson_closure2, A.Library_toJson_closure3, A.LibraryDependency_toJson_closure, A.LibraryDependency_toJson_closure0, A.PortList_toJson_closure, A.ProtocolList_toJson_closure, A.ProcessMemoryItem_toJson_closure, A.RetainingPath_toJson_closure, A.Script$_fromJson_closure, A.Script_toJson_closure, A.ScriptList_toJson_closure, A.SourceReport_toJson_closure, A.SourceReport_toJson_closure0, A.SourceReportCoverage_toJson_closure, A.SourceReportCoverage_toJson_closure0, A.SourceReportRange_toJson_closure, A.Stack_toJson_closure, A.Stack_toJson_closure0, A.Stack_toJson_closure1, A.Stack_toJson_closure2, A.Timeline_toJson_closure, A.TimelineFlags_toJson_closure, A.TimelineFlags_toJson_closure0, A.TypeArguments_toJson_closure, A.TypeParameters_toJson_closure, A.UriList_toJson_closure, A.VM_toJson_closure, A.VM_toJson_closure0, A.VM_toJson_closure1, A.VM_toJson_closure2, A.CallGraph_collapse_collapsed, A.CallGraph_collapse_callGraphNodeFor, A.CallGraph_collapse_closure, A.CallGraph_computeDominators_closure1, A.CallGraph_computeDominators__closure, A.CallGraph_computeDominators_closure0, A.CallGraph_computeDominators__closure0, A._TraceReader_readTrace_next, A._TraceReader_readTrace_makeNode, A._TraceReader_readTrace_makeCallNode, A._TraceReader_readTrace_nodeFor, A._TraceReader_readTrace_recordDynamicCall, A._TraceReader_readTrace_recordInterfaceCall, A._TraceReader_readTrace_recordStaticCall, A._TraceReader_readTrace_recordFieldRef, A._TraceReader_readTrace_recordAllocation, A._treemapFromInfo_cumulativeSize, A._treemapFromInfo_recurse, A._treemapFromSnapshot_ownerPath, A._nameFormatters_closure, A._nameFormatters_closure0, A._flatten_closure, A.Node_operator$index_closure, A.HtmlWebSocketChannel_closure, A.HtmlWebSocketChannel_closure0, A.HtmlWebSocketChannel_closure1, A.HtmlWebSocketChannel_closure2]);
    _inheritMany(A.Closure0Args, [A.AppBootstrap_prepareEngineInitializer_closure, A.ProductionCollector_collect_closure, A.patchCanvasKitModule_closure, A.patchCanvasKitModule_closure1, A.FontFallbackData_createNotoFontTree_closure, A.FontFallbackData_registerFallbackFont_closure, A._makeResolvedNotoFontFromCss_closure, A.FallbackFontDownloadQueue_startDownloads_closure, A.SkiaFontCollection_ensureFontsLoaded_closure, A.SkiaFontCollection_ensureFontsLoaded_closure0, A.SkiaFontCollection__registerFont__downloadFont, A.httpRequestFactory_closure, A.CkImage_closure, A.CkBrowserImageDecoder__cacheExpirationClock_closure, A.CkBrowserImageDecoder__getOrCreateWebDecoder_closure, A.Frame_raster_closure, A.Frame_raster_closure0, A.CkTextStyle_skTextStyle_closure, A.PersistedPicture__applyBitmapPaint_closure, A.SurfaceSceneBuilder_build_closure, A.SurfaceSceneBuilder_build_closure0, A.GradientLinear_createImageBitmap_closure, A.initializeEngineServices_closure, A.initializeEngineServices_closure1, A._addUrlStrategyListener_closure0, A.Keyboard$__closure1, A.Keyboard__handleHtmlEvent_closure, A.KeyboardConverter__scheduleAsyncEvent_closure0, A.KeyboardConverter__startGuardingKey_closure, A.KeyboardConverter__startGuardingKey_closure0, A.KeyboardConverter__handleEvent_closure, A.KeyboardConverter__handleEvent_closure0, A.KeyboardConverter__handleEvent_closure1, A.HashUrlStrategy_addPopStateListener_closure0, A.EnginePlatformDispatcher_invokeOnKeyData_closure, A.EnginePlatformDispatcher__addFontSizeObserver_closure0, A.EnginePlatformDispatcher__addBrightnessMediaQueryListener_closure0, A.invoke2_closure, A.invoke3_closure, A.PlatformViewManager_renderContent_closure, A._PointerAdapter__ensureSanitizer_closure, A.PointerDataConverter__ensureStateForPointer_closure, A.AccessibilityAnnouncements$__closure, A.AccessibilityAnnouncements_handleMessage_closure, A.Scrollable_update_closure, A.EngineSemanticsOwner$__closure, A.EngineSemanticsOwner__now_closure, A.EngineSemanticsOwner__getGestureModeClock_closure, A.MobileSemanticsEnabler_tryEnableSemantics_closure, A.TextField_update_closure, A._PolyfillFontManager_registerAsset__watchWidth, A.IOSTextEditingStrategy__schedulePlacement_closure, A.FirefoxTextEditingStrategy__postponeFocus_closure, A.TextEditingChannel_handleTextInput_closure, A.EngineFlutterWindow_closure, A.EngineFlutterWindow_handleNavigationMessage_closure, A.CastMap_putIfAbsent_closure, A.nullFuture_closure, A.Primitives_initTicker_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._asyncStarHelper_closure, A._AsyncStarStreamController__resumeBody, A._AsyncStarStreamController__resumeBody_closure, A._AsyncStarStreamController_closure0, A._AsyncStarStreamController_closure1, A._AsyncStarStreamController_closure, A._AsyncStarStreamController__closure, A.Future_Future_closure, A.Future_Future$microtask_closure, A.Future_Future$delayed_closure, A.Future_forEach_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._Future_timeout_closure, A._Future_timeout_closure0, A.Stream_contains_closure, A.Stream_contains__closure, A.Stream_length_closure0, A.Stream_toList_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._DoneStreamSubscription_asFuture_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.Entry_remove_closure, A.ChannelBuffers_push_closure, A.ChannelBuffers_setListener_closure, A.webOnlyWarmupEngine_closure, A.webOnlyWarmupEngine_closure0, A.KeyData__logicalToString_closure, A.StreamQueue__ensureListening_closure0, A._CancelOnErrorSubscriptionWrapper_onError__closure, A.CanonicalizedMap_putIfAbsent_closure, A.DdsExtension_onEventWithHistory_closure0, A.DdsExtension_onEventWithHistory_closure, A.main_closure1, A.devToolsAnalyticsController_closure, A._AnalyticsPromptState__analyticsDescription_closure, A._AnalyticsPromptState__actionButtons_closure, A._AnalyticsPromptState__actionButtons_closure0, A.DevToolsAppState_initState_closure, A.DevToolsAppState_initState__closure2, A.DevToolsAppState_initState_closure0, A.DevToolsAppState_initState__closure1, A.DevToolsAppState_initState_closure1, A.DevToolsAppState_initState__closure0, A.DevToolsAppState_initState_closure2, A.DevToolsAppState_initState__closure, A.OpenSettingsAction_build_closure, A.CheckboxSetting_build_closure0, A.defaultScreens_closure, A.defaultScreens_closure0, A.defaultScreens_closure1, A.defaultScreens_closure2, A.defaultScreens_closure3, A.defaultScreens_closure4, A.defaultScreens_closure5, A.defaultScreens_closure6, A.defaultScreens_closure7, A.ChartState__initSetup_closure, A.ChartState__initSetup__closure, A.FlameChartState_initState_closure, A.FlameChartState_initState__closure0, A.FlameChartState_initState_closure0, A.FlameChartState_initState__closure, A.FlameChartState_initState_closure2, A.FlameChartState_initState_closure3, A.FlameChartState__handleZoomControllerValueUpdate_closure, A.ScrollingFlameChartRowState_initState_closure, A.ScrollingFlameChartRowState_initState__closure, A.ScrollingFlameChartRowState__handleMouseHover_closure, A.FlameChartHelpButton_build_closure, A._TreemapState_buildBreadcrumbNavigator__closure, A._TreemapState_buildSelectable_closure, A._TreemapState__onHover_closure, A.FileSystemWeb_writeStringToFile_closure, A.Cookie__parseSetCookieValue_done, A.Cookie__parseSetCookieValue_parseName, A.Cookie__parseSetCookieValue_parseValue, A.Cookie__parseSetCookieValue_parseAttributes, A.Cookie__parseSetCookieValue_parseAttributes_parseAttributeName, A.Cookie__parseSetCookieValue_parseAttributes_parseAttributeValue, A.HttpDate__parseCookieDate_error, A.HttpDate__parseCookieDate_isEnd, A.AutoDisposeMixin__refresh_closure, A.BlockingActionMixin_blockWhileInProgress_closure, A.BlockingActionMixin_blockWhileInProgress_closure0, A._CustomPointerScrollableState_setCanDrag_closure, A._CustomPointerScrollableState_setCanDrag_closure1, A._LinkedScrollPosition__holdInternal_closure, A.timeout_closure, A.RateLimiter_scheduleRequest_closure, A.RateLimiter_scheduleRequest_closure0, A.StringExtension_caseInsensitiveContains_closure, A.StringExtension_caseInsensitiveContains_closure0, A.whenValueNonNull_listener, A._AppSizeBodyState_maybeLoadAppSizeFiles_closure, A._AppSizeBodyState__buildClearButton_closure, A._AnalysisViewState_didChangeDependencies_closure, A._AnalysisViewState_didChangeDependencies__closure, A._DiffViewState_didChangeDependencies_closure, A._DiffViewState_didChangeDependencies__closure, A._CallGraphWithDominatorsState__toggleShowCallGraph_closure, A._CallGraphViewState__selectMainNode_closure, A._BreakpointsState_buildBreakpoint_closure, A._CallStackState__buildStackFrame_closure, A._CodeViewState_buildCodeArea_closure3, A._CodeViewState_buildSearchInFileField_closure, A._CodeViewState_buildEmptyState_closure, A.Gutter_build__closure, A._LinesState_initState_closure, A._LinesState_initState__closure0, A._LinesState_initState_closure0, A._LinesState_initState__closure, A._LineItemState__onHoverExit_closure, A._LineItemState__onHover_closure, A.DebuggerConsole_buildHeader_closure, A.DebuggerConsole_buildHeader_closure0, A.ExceptionMode_from_closure0, A.DebuggerController_closure, A.DebuggerController_initialize_closure, A.DebuggerController_stepOver_closure, A.DebuggerScreenBodyState_debuggerPanes__closure, A._DebuggerStatusState__updateStatus_closure, A._FloatingDebuggerControlsState_didChangeDependencies_closure, A._FloatingDebuggerControlsState_didChangeDependencies__closure, A._FloatingDebuggerControlsState_build_closure, A._FloatingDebuggerControlsState_build__closure, A.ExpressionEvalFieldState_initState_closure, A.ExpressionEvalFieldState__onSelection_closure, A.ExpressionEvalFieldState__handleExpressionEval_closure, A.ExpressionEvalFieldState__historyNavUp_closure, A.ExpressionEvalFieldState__historyNavDown_closure, A.libraryMemberAndImportsAutocompletes_closure, A.libraryMemberAutocompletes_closure, A.FileSearchFieldState__addScriptRefToCache_closure, A._FileExplorerState_build__closure, A._ProgramOutlineView_build___closure, A._ProgramOutlineView_build__closure0, A.VMServiceObjectNode__lookupOrCreateChild_closure, A._SimpleMatcher_scan_closure, A._MultilineMatcher_scan_closure, A.SyntaxHighlighter_highlight_closure, A.SyntaxHighlighter__scope_closure, A.displayProvider_variableDisplayStyle, A.DiagnosticsNodeDescription_buildDescription_closure, A.InspectorBreadcrumbNavigator_build__closure, A.InspectorController_closure, A.InspectorController_closure0, A.FlexLayoutProperties_childrenRenderProperties_lastMainAxisOffset, A.FlexLayoutProperties_childrenRenderProperties_lastMainAxisDimension, A.InspectorScreenBodyState_initState_closure, A.InspectorScreenBodyState_initState__closure, A.InspectorScreenBodyState__buildSummaryTreeColumn__closure, A.InspectorScreenBodyState__onSearchVisibleToggle_closure, A.InspectorScreenBodyState_getServiceExtensionWidgets_closure, A.InspectorScreenBodyState__refreshInspector_closure, A._InspectorExpandCollapseButtonsState__onExpandClick_closure, A._InspectorExpandCollapseButtonsState__onCollapseClick_closure, A.InspectorServiceBase_closure, A.InspectorService__trackClientSelfTriggeredSelection_closure, A.ObjectGroupBase__callServiceExtension_closure, A._InspectorTreeRowState_build_closure, A._InspectorTreeRowState_onExpandChanged_closure, A.InspectorTreeController_root_closure, A.InspectorTreeController_selection_closure, A.InspectorTreeController_hover_closure, A.InspectorTreeController_navigateLeft_closure, A.InspectorTreeController_navigateRight_closure, A.InspectorTreeController_nodeChanged_closure, A.InspectorTreeController_removeNodeFromParent_closure, A.InspectorTreeController_appendChild_closure, A.InspectorTreeController_expandPath_closure, A.InspectorTreeController_collapseToSelected_closure, A.InspectorTreeController_onExpandRow_closure, A.InspectorTreeController_onCollapseRow_closure, A._InspectorTreeState_onChanged_closure, A.InspectorRowContent_build__closure, A._BoxLayoutExplorerWidgetState_updateHighlighted_closure, A.BoxChildVisualizer_build_closure1, A.BoxChildVisualizer_build_closure, A.BoxChildVisualizer_build_closure0, A._FlexLayoutExplorerWidgetState_updateHighlighted_closure, A._FlexLayoutExplorerWidgetState__buildLayout_closure, A.FlexChildVisualizer_build_closure1, A.FlexChildVisualizer_build_closure, A.FlexChildVisualizer_build_closure0, A._LayoutExplorerTabState_onSelectionChanged_closure, A.LayoutExplorerWidgetState_onTap_closure, A.LayoutExplorerWidgetState__changeProperties_closure, A.LayoutExplorerWidgetState__setProperties_closure, A.LayoutExplorerWidgetState__initAnimationStates__closure0, A.LayoutExplorerWidgetState__initAnimationStates__closure, A._LogDetailsState__computeLogDetails_closure, A.LoggingController__handleDeveloperLogEvent_closure, A._StdoutEventHandler_handle_closure, A._LoggingScreenState_didChangeDependencies_closure, A._LoggingScreenState_didChangeDependencies__closure0, A._LoggingScreenState_didChangeDependencies_closure0, A._LoggingScreenState_didChangeDependencies__closure, A.AllocationTableViewState_didChangeDependencies_closure, A.AllocationTableViewState_didChangeDependencies__closure0, A.AllocationTableViewState_didChangeDependencies_closure0, A.AllocationTableViewState_didChangeDependencies__closure, A.imageAnalysis__closure, A.imageAnalysis__closure0, A.imageAnalysis__closure1, A.imageAnalysis__closure2, A.imageAnalysis__closure3, A.imageAnalysis__closure4, A.imageAnalysis__closure5, A.imageAnalysis__closure6, A.drillIn__closure, A.AnalysisInstanceViewState_didChangeDependencies_closure, A.AnalysisInstanceViewState_didChangeDependencies__closure, A.MemoryController_setTracking_closure1, A.MemoryController__handleConnectionStart_closure3, A.SnapshotFilterState_applyAndCancelButton_closure, A.SnapshotFilterState_applyAndCancelButton_closure0, A.convertHeapGraph_closure, A.convertHeapGraph_closure0, A.HeapGraph_computeFilteredGroups__closure1, A.HeapGraph_computeFilteredGroups__closure0, A.HeapTreeViewState_didChangeDependencies_closure, A.HeapTreeViewState_didChangeDependencies__closure6, A.HeapTreeViewState_didChangeDependencies_closure0, A.HeapTreeViewState_didChangeDependencies__closure5, A.HeapTreeViewState_didChangeDependencies_closure1, A.HeapTreeViewState_didChangeDependencies__closure4, A.HeapTreeViewState_didChangeDependencies_closure2, A.HeapTreeViewState_didChangeDependencies__closure3, A.HeapTreeViewState_didChangeDependencies_closure3, A.HeapTreeViewState_didChangeDependencies__closure2, A.HeapTreeViewState_didChangeDependencies_closure4, A.HeapTreeViewState_didChangeDependencies__closure1, A.HeapTreeViewState_didChangeDependencies_closure5, A.HeapTreeViewState_didChangeDependencies_closure6, A.HeapTreeViewState_didChangeDependencies_closure7, A.HeapTreeViewState_didChangeDependencies__closure0, A.HeapTreeViewState_didChangeDependencies_closure8, A.HeapTreeViewState_didChangeDependencies_closure9, A.HeapTreeViewState_didChangeDependencies__closure, A.HeapTreeViewState__groupByDropdown__closure, A.HeapTreeViewState__buildSnapshotControls_closure0, A.HeapTreeViewState__buildSnapshotControls_closure1, A.HeapTreeViewState_displayTimestampUpdateBubble__closure, A.HeapTreeViewState__buildAllocationsControls_closure, A.HeapTreeViewState__buildAllocationsControls_closure0, A.HeapTreeViewState_selectTheMatch_closure, A.HeapTreeViewState__takeHeapSnapshot_closure, A.HeapTreeViewState__takeHeapSnapshot_closure0, A.HeapTreeViewState__takeHeapSnapshot_closure1, A.HeapTreeViewState__takeHeapSnapshot_closure2, A.HeapTreeViewState__takeHeapSnapshot_closure3, A.MemoryHeapTableState_didChangeDependencies_closure, A.MemoryHeapTableState_didChangeDependencies__closure1, A.MemoryHeapTableState_didChangeDependencies_closure0, A.MemoryHeapTableState_didChangeDependencies__closure0, A.MemoryHeapTableState_didChangeDependencies_closure1, A.MemoryHeapTableState_didChangeDependencies__closure, A.MemoryHeapTreemapState_didChangeDependencies_closure, A.MemoryHeapTreemapState_didChangeDependencies__closure, A.MemoryHeapTreemapState__onRootChanged_closure, A.InstructionsSize_InstructionsSize$fromSnapshot__closure, A.InstructionsSize_InstructionsSize$fromSnapshot_closure1, A.InstanceTreeViewState_didChangeDependencies_closure, A.InstanceTreeViewState_didChangeDependencies__closure, A.MemoryBodyState_didChangeDependencies_closure, A.MemoryBodyState_didChangeDependencies__closure, A._MemoryChartPaneState_didChangeDependencies_closure, A._MemoryChartPaneState_didChangeDependencies_closure0, A._MemoryChartPaneState_didChangeDependencies_closure1, A._MemoryChartPaneState_didChangeDependencies_closure2, A._MemoryChartPaneState_didChangeDependencies__closure, A._MemoryChartPaneState_didChangeDependencies_closure3, A.MemoryAndroidChartState_didChangeDependencies_closure, A.MemoryEventsPaneState_didChangeDependencies_closure, A.MemoryEventsPaneState_didChangeDependencies__closure0, A.MemoryEventsPaneState_didChangeDependencies_closure0, A.MemoryEventsPaneState_didChangeDependencies__closure, A.MemoryVMChartState_didChangeDependencies_closure, A.MemoryVMChartState_didChangeDependencies__closure, A._MemoryControlPaneState_didChangeDependencies_closure, A._MemoryControlPaneState_didChangeDependencies__closure, A._IntervalDropdownState_build__closure, A._SecondaryControlsState_didChangeDependencies_closure, A._SecondaryControlsState_didChangeDependencies__closure0, A._SecondaryControlsState_didChangeDependencies_closure0, A._SecondaryControlsState_didChangeDependencies__closure, A._MemorySourceDropdownState_build__closure, A.NetworkController__processHttpProfileRequests_closure0, A.NetworkRequestInspector_build__closure, A.NetworkRequestOverviewView__buildHttpTimeGraph__nextColor, A._NetworkProfilerControlsState_initState_closure, A._NetworkProfilerControlsState_initState__closure1, A._NetworkProfilerControlsState_initState_closure0, A._NetworkProfilerControlsState_initState__closure0, A._NetworkProfilerControlsState_initState_closure1, A._NetworkProfilerControlsState_initState__closure, A._NetworkProfilerControlsState_build_closure, A._NetworkProfilerControlsState_build_closure0, A._NetworkProfilerControlsState_build_closure1, A._NetworkProfilerBody_build_closure0, A.ActionsColumn__buildOptions_closure, A.ActionsColumn__buildOptions_closure0, A._TrackWidgetBuildsSettingState_initState__closure, A._FlutterFramesChartState_didChangeDependencies_closure, A._FlutterFramesChartState_didChangeDependencies__closure, A.FlutterFramesChartItem__selectFrame_closure, A.FlutterFrameTooltip_build_closure, A.FramePhaseBlock_build_closure, A.PerformanceController_toggleSelectedFrame_closure, A.PerformanceController__maybeAddEventToUnassignedFrame_closure, A.PerformanceController_processTraceEvents_processTraceEventsHelper, A.PerformanceController_processTraceEvents_closure, A.PerformanceData_initializeEventGroups_closure, A.OfflineTimelineEvent_closure0, A.PerformanceScreenBodyState_didChangeDependencies_closure, A.PerformanceScreenBodyState_didChangeDependencies__closure0, A.PerformanceScreenBodyState_didChangeDependencies_closure0, A.PerformanceScreenBodyState_didChangeDependencies__closure, A.PerformanceScreenBodyState__buildPerformanceControls_closure, A.PerformanceScreenBodyState__buildPerformanceControls__closure, A.SecondaryPerformanceControls_build_closure, A.SecondaryPerformanceControls_build_closure0, A.LayerImage_build_closure0, A._TabbedPerformanceViewState_initState_closure, A._TabbedPerformanceViewState_initState__closure, A._TabbedPerformanceViewState__generateTabs_closure, A.TimelineFlameChartState__handleSelectedFrame_closure, A.TimelineFlameChartState__buildEventThreadNavigationButtons_buildNavigatorButton_closure, A.CpuProfilerController_cpuProfileStore_closure, A.CpuProfilerController_pullAndProcessProfile_pullAndProcessHelper, A.CpuProfilerController_pullAndProcessProfile_closure, A.CpuStackFrame_incrementTagSampleCount_closure, A._CpuProfilerState_didUpdateWidget_closure, A._CpuProfilerState__onTabChanged_closure, A._CpuProfilerState_build_closure, A._CpuProfilerState_build_closure0, A._CpuProfilerState__performOnDataRoots_closure, A._ProfilerScreenBodyState_didChangeDependencies_closure, A._ProfilerScreenBodyState_didChangeDependencies__closure1, A._ProfilerScreenBodyState_didChangeDependencies_closure0, A._ProfilerScreenBodyState_didChangeDependencies__closure0, A._ProfilerScreenBodyState_didChangeDependencies_closure1, A._ProfilerScreenBodyState_didChangeDependencies__closure, A._PrimaryControls_build_closure, A._PrimaryControls_build_closure0, A._PrimaryControls_build_closure1, A._SecondaryControls_build_closure, A._SecondaryControls_build_closure0, A._SecondaryControls_build_closure1, A.ProfilerScreenController_closure, A.hotRestartEventProvider_closure_listener, A.hotRestartEventProvider__closure, A._resolveInstanceRefForPath_closure4, A._mutate_closure2, A._parseSetter_closure2, A.estimatedChildCountProvider__estimatedChildCount_closure1, A._InstanceViewerState__buildListViewItems_closure1, A._InstanceViewerState__buildListViewItems__closure2, A._EditableFieldState_build_closure0, A._EditableFieldState_build___closure0, A._EditableFieldState_build___closure, A._Expandable_build_closure0, A._ProviderListState_build_closure1, A.ProviderNodeItem_build_closure, A.ProviderScreenBody_build_closure0, A._StateInspectorSettingsDialog_build_closure0, A._IsolatePortsWidgetState_build__closure, A.IsolateStatisticsViewController_closure, A.IsolateStatisticsViewController_closure0, A.ScriptManager_closure0, A.IsolateManager_init_closure, A.IsolateManager__loadIsolateState_closure, A.IsolateManager__handleIsolateEvent_closure, A.IsolateManager_getIsolateCached_closure, A._PackagePathMappings_addMappings_closure, A._PackagePathMappings_addMappings_closure0, A._connectWithSse_closure, A.connect_connectHelper, A.ServiceExtensionManager__restoreExtensionFromDevice_restore, A.ServiceExtensionManager__restoreExtensionFromDevice_closure, A.ServiceExtensionManager__callServiceExtension_callExtension, A.ServiceExtensionManager__callServiceExtension_closure, A.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter, A.ServiceExtensionManager_waitForServiceExtensionAvailable_createCompleter_closure, A.ServiceExtensionManager__hasServiceExtension_closure, A.ServiceExtensionManager__serviceExtensionState_closure, A._ServiceExtensionButtonGroupState__initExtensionState_closure, A._ServiceExtensionButtonGroupState__initExtensionState__closure0, A._ServiceExtensionButtonGroupState__initExtensionState_closure0, A._ServiceExtensionButtonGroupState__initExtensionState__closure, A._ServiceExtensionButtonGroupState_didUpdateWidget_closure, A._ServiceExtensionButtonGroupState__onPressed_closure, A.HotReloadButton_build_closure, A.HotRestartButton_build_closure, A._RegisteredServiceExtensionButtonState_initState_closure, A._RegisteredServiceExtensionButtonState_initState__closure, A._RegisteredServiceExtensionButtonState_build_closure, A._RegisteredServiceExtensionButtonState_build__closure, A._ServiceExtensionToggleState_initState_closure, A._ServiceExtensionToggleState_initState__closure, A._ServiceExtensionToggleState__onClick_closure, A._ServiceExtensionToggleState__onClick_closure0, A._ServiceExtensionCheckboxState_initState__closure, A._ServiceExtensionCheckboxState__onChanged_closure, A._ServiceExtensionCheckboxGroupButtonState_initState_closure, A._ServiceExtensionMixin_invokeAndCatchErrors_closure, A._ServiceExtensionMixin_invokeAndCatchErrors_closure0, A.ServiceExtensionRichTooltip_build_closure, A.ServiceConnectionManager_registeredServiceListenable_closure, A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure, A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure0, A.ServiceConnectionManager_vmServiceOpened_handleServiceEvent_closure1, A._FeedbackLink_build_closure, A._DiscordLink_build_closure, A.OpenAboutAction_build_closure, A.setupErrorHandling_closure, A.BannerMessagesController__messagesForScreen_closure, A.BannerMessage_build_closure, A.CollapsibleAnimationMixin_setExpanded_closure, A.DevToolsIconButton_build_closure, A.MoreInfoLink_build_closure, A.LinkTextSpan_closure, A.CopyToClipboardControl_build_closure, A._BlinkingIconState_initState__closure, A.ConnectedApp_initializeValues_closure, A.ConnectedApp_initializeValues_closure0, A._ConsoleOutputState__onConsoleLinesChanged_closure, A.ConsoleService_vmServiceOpened_closure, A.DeviceDialog__connectToNewAppButton_closure, A._ViewVMFlagsButton_build_closure, A._VMFlagsDialogState_initState_closure, A._VMFlagsDialogState_initState__closure0, A._VMFlagsDialogState_initState_closure0, A._VMFlagsDialogState_initState__closure, A.DialogCloseButton_build_closure, A.DialogCancelButton_build_closure, A.DialogApplyButton_build_closure, A.EvalOnDartLibrary_closure, A.EvalOnDartLibrary_eval_closure, A.EvalOnDartLibrary_invoke_closure, A.EvalOnDartLibrary_safeEval_closure, A.EvalOnDartLibrary_addRequest_wrappedRequest, A.EvalOnDartLibrary_getObjHelper_closure, A._FileImportContainerState__buildActionButton_closure, A._FileImportContainerState__clearFile_closure, A._FileImportContainerState__handleImportedFile_closure, A._DualFileImportContainerState_onFirstFileSelected_closure, A._DualFileImportContainerState_onSecondFileSelected_closure, A._DualFileImportContainerState_onFirstFileCleared_closure, A._DualFileImportContainerState_onSecondFileCleared_closure, A._DualFileImportContainerState__buildActionButton_closure, A.FrameworkController__init_closure, A._HistoryViewportState__updateTitleStyle_closure, A._HistoryViewportState__buildTitle_closure, A._HistoryViewportState__buildTitle_closure0, A._InitializerState_initState_closure, A._InitializerState_initState__closure, A._InitializerState__handleNoConnection__closure, A._InitializerState__createDisconnectedOverlay__closure, A.ImportFileInstructions_build_closure, A.AppSizeToolingInstructions_build_closure, A.NotificationsState_push_closure0, A.NotificationsState_dismiss_closure, A.NotificationsState__removeNotification_closure, A._NotificationState_initState_closure, A.PreferencesController_init_closure, A.PreferencesController_init_closure0, A.PreferencesController_init_closure1, A.InspectorPreferencesController_init_closure, A._ReleaseNotesViewerState_initState_closure, A._ReleaseNotesViewerState_initState__closure0, A._ReleaseNotesViewerState_initState_closure0, A._ReleaseNotesViewerState_initState__closure, A.ReleaseNotes_build_closure, A.ReportFeedbackButton_build_closure, A.DevToolsScaffoldState__initTitle_closure, A.DevToolsScaffoldState__initTitle__closure, A.DevToolsScaffoldState__setupTabController_closure0, A.DevToolsScaffoldState__setupTabController__closure0, A.DevToolsScaffoldState__setupTabController__closure, A.DevToolsScaffoldState__pushSnapshotScreenForImport_closure, A.KeyboardShortcutsState_build_closure, A.OfflineScreenMixin_loadOfflineData_closure, A.OfflineScreenMixin_loadOfflineData_closure0, A._SnapshotScreenBodyState_build_closure, A._SnapshotScreenBodyState_build__closure, A._SnapshotScreenBodyState_reset_closure, A._SplitState__buildLayout_updateSpacing_closure, A.StatusLine_buildHelpUrlStatus_closure, A.StatusLine_buildConnectionStatus__closure0, A.SurveyService_maybeShowSurveyPrompt_closure, A.SurveyService_maybeShowSurveyPrompt_closure0, A.FlatTableState__sortDataAndUpdate_closure, A.TreeTableState_didUpdateWidget_closure, A.TreeTableState_didUpdateWidget__closure, A.TreeTableState__updateItems_closure, A.TreeTableState__onItemsAnimated_closure, A.TreeTableState__toggleNode_closure, A.TreeTableState__moveSelection_closure, A._TableState_didUpdateWidget_closure, A._TableState_didUpdateWidget__closure, A._TableRowState_initState__closure, A._TableRowState_build_closure, A._TableRowState__initSearchListeners_closure, A._TableRowState__initSearchListeners__closure0, A._TableRowState__initSearchListeners_closure0, A._TableRowState__initSearchListeners__closure, A._TableRowState_tableRowFor_columnFor_closure, A._TreeViewState__updateItems_closure, A._FilterDialogState_build_closure, A.ToggleFilterElement_build_closure, A._HoverCardTooltipState__onHoverExit_closure, A._HoverCardTooltipState__onHover_closure, A.CustomIconMaker_getCustomIcon_closure, A.CustomIconMaker_fromWidgetName_closure, A.CustomIconMaker_fromWidgetName_closure0, A.ColorIconMaker_getCustomIcon_closure, A.SearchControllerMixin__startDebounceTimer_closure, A.SearchControllerMixin__startDebounceTimer__closure, A.AutoCompleteState_didChangeDependencies_closure, A.AutoCompleteTile_build_closure0, A._SearchField_build_closure0, A._AnalyticsTabbedViewState__onTabChanged_closure, A._OffsetScrollbarState_build__closure, A.CupertinoRouteTransitionMixin_buildPageTransitions_closure, A.CupertinoRouteTransitionMixin_buildPageTransitions_closure0, A._CupertinoScrollbarState_initState_closure, A._testPlatform_closure, A._browserPlatform_closure, A.FlutterErrorDetails_summary_formatException, A.FlutterErrorDetails_summary_closure0, A.BindingBase_initServiceExtensions_closure, A.BindingBase_initServiceExtensions_closure1, A.BindingBase_lockEvents_closure, A.BindingBase_registerServiceExtension__closure, A.ChangeNotifier_notifyListeners_closure, A.GestureArenaManager_add_closure, A.GestureArenaManager__tryToResolveArena_closure, A.GestureBinding_dispatchEvent_closure, A.GestureBinding_dispatchEvent_closure0, A.ForcePressGestureRecognizer_handleEvent_closure, A.ForcePressGestureRecognizer_acceptGesture_closure, A.ForcePressGestureRecognizer_didStopTrackingLastPointer_closure, A.LongPressGestureRecognizer__checkLongPressStart_closure, A.LongPressGestureRecognizer__checkLongPressMoveUpdate_closure, A.LongPressGestureRecognizer__checkLongPressEnd_closure, A.DragGestureRecognizer__checkDown_closure, A.DragGestureRecognizer__checkStart_closure, A.DragGestureRecognizer__checkUpdate_closure, A.DragGestureRecognizer__checkEnd_closure, A.DragGestureRecognizer__checkEnd_closure0, A.DragGestureRecognizer__checkEnd_closure1, A.PointerRouter_addRoute_closure, A.PrimaryPointerGestureRecognizer_addAllowedPointer_closure, A.TapGestureRecognizer_handleTapDown_closure, A.TapGestureRecognizer_handleTapDown_closure0, A.TapGestureRecognizer_handleTapUp_closure, A.TapGestureRecognizer_handleTapUp_closure0, A._AppBarState__handleScrollNotification_closure, A.MaterialPointArcTween__initialize_sweepAngle, A._ButtonStyleState_build__closure1, A.TableRowInkWell_getRectCallback_closure, A._DropdownMenuState_build_closure, A._DropdownButtonState__handleFocusChanged_closure, A._ExpansionTileState__handleTap_closure, A._ExpansionTileState__handleTap___closure, A._getClipCallback_closure, A._getClipCallback_closure0, A._InkResponseState_updateHighlight_handleInkRemoval, A._InkResponseState__createInkFeature_onRemoved, A._InkResponseState__handleFocusHighlightModeChange_closure, A._HelperErrorState__handleChange_closure, A._InputDecoratorState__handleChange_closure, A._InputDecoratorState__getFloatingLabelStyle_getFallbackTextStyle, A.MaterialStateMixin_addMaterialState_closure, A.MaterialStateMixin_removeMaterialState_closure, A._NavigationRailState_build_closure, A._NavigationRailState__initControllers_closure0, A._NavigationRailState__rebuild_closure, A.ScaffoldMessengerState_showSnackBar_closure, A.ScaffoldMessengerState_showSnackBar_closure0, A.ScaffoldMessengerState__handleSnackBarStatusChanged_closure, A.ScaffoldMessengerState__handleSnackBarStatusChanged_closure0, A.ScaffoldMessengerState_build_closure, A._FloatingActionButtonTransitionState__handlePreviousAnimationStatusChanged_closure, A.ScaffoldState__updateSnackBar_closure, A.ScaffoldState__updateMaterialBanner_closure, A._MaterialScrollbarState_initState_closure, A._MaterialScrollbarState_handleThumbPressStart_closure, A._MaterialScrollbarState_handleThumbPressEnd_closure, A._MaterialScrollbarState_handleHover_closure, A._MaterialScrollbarState_handleHover_closure0, A._MaterialScrollbarState_handleHoverExit_closure, A._SelectableTextState__onControllerChanged_closure, A._SelectableTextState__handleSelectionChanged_closure, A._SelectableTextState_build_closure, A._SnackBarState_build_closure, A._MaterialSwitchState__handleDragEnd_closure, A.TabController__changeIndex_closure, A._TabBarState__handleTabControllerTick_closure, A._TabBarState_build_closure0, A._TabBarViewState__warpToCurrentIndex_closure, A._TabBarViewState__warpToCurrentIndex_closure0, A._TextFieldState__handleFocusChanged_closure, A._TextFieldState__handleSelectionChanged_closure, A._TextFieldState__handleHover_closure, A._TextFieldState_build_closure, A._TextFieldState_build_closure0, A._TextFieldState_build__closure, A.ThemeData_localize_closure, A.ToggleButtons_build__closure, A.ToggleableStateMixin__handleTapDown_closure, A.ToggleableStateMixin__handleTapEnd_closure, A.ToggleableStateMixin__handleFocusHighlightChanged_closure, A.ToggleableStateMixin__handleHoverChanged_closure, A.TooltipState__handleMouseTrackerChange_closure, A.ImageCache__trackLiveImage_closure, A.ImageCache__trackLiveImage__closure, A._LiveImage_closure, A.ImageProvider_resolveStreamForKey_closure, A.ImageProvider_resolveStreamForKey_closure0, A.MultiFrameImageStreamCompleter__handleAppFrame_closure, A.RenderAnimatedSize_closure, A.RenderBox__computeIntrinsicDimension_closure, A.RenderBox_getDryLayout_closure, A.RenderBox_getDistanceToActualBaseline_closure, A.RenderEditable__createShowOnScreenFor_closure, A.MouseTracker_updateWithEvent_closure, A.MouseTracker_updateWithEvent__closure, A.MouseTracker_updateAllDevices_closure, A.PaintingContext_pushClipRect_closure, A.PaintingContext_pushClipRRect_closure, A.PaintingContext_pushClipPath_closure, A.RenderObject__debugReportException_closure, A.RenderObject_invokeLayoutCallback_closure, A.RenderParagraph__createShowOnScreenFor_closure, A.RenderSliverList_performLayout_advance, A._TaskEntry_run_closure, A.SchedulerBinding_scheduleWarmUpFrame_closure, A.SchedulerBinding_scheduleWarmUpFrame_closure0, A.SchedulerBinding_scheduleWarmUpFrame_closure1, A.CachingAssetBundle_loadString_closure, A.ServicesBinding__addLicenses_closure, A.RawKeyEvent_RawKeyEvent$fromMessage_dataFromWeb, A.RestorationBucket__rawChildren_closure, A.RestorationBucket__rawValues_closure, A.RestorationBucket__addChildData_closure, A.SystemChrome_setSystemUIOverlayStyle_closure, A.TextInput__scheduleHide_closure, A._ActionsState__handleActionChanged_closure, A._FocusableActionDetectorState__updateHighlightMode_closure, A._FocusableActionDetectorState__handleMouseEnter_closure, A._FocusableActionDetectorState__handleMouseExit_closure, A._FocusableActionDetectorState__handleFocusChange_closure, A._AnimatedCrossFadeState_initState__closure, A._WidgetsAppState_didChangeLocales_closure, A._StreamBuilderBaseState__subscribe__closure1, A._StreamBuilderBaseState__subscribe__closure, A._StreamBuilderBaseState__subscribe_closure0, A._StreamBuilderBaseState__subscribe__closure0, A._FutureBuilderState__subscribe__closure0, A._FutureBuilderState__subscribe__closure, A._AutomaticKeepAliveState__createCallback_closure, A._AutomaticKeepAliveState__createCallback__closure, A._AutomaticKeepAliveState__createCallback__closure0, A._AutomaticKeepAliveState__createCallback___closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure2, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_initServiceExtensions_closure4, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_dispatchEvent_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_initServiceExtensions_closure, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure3, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding_initServiceExtensions_closure5, A.WidgetsBinding_scheduleAttachRootWidget_closure, A.RenderObjectToWidgetAdapter_attachToRenderTree_closure, A.RenderObjectToWidgetAdapter_attachToRenderTree_closure0, A._DismissibleState__handleDragStart_closure, A._DismissibleState__handleDragUpdate_closure, A.EditableTextState__cursorTick_closure, A.EditableTextState__didChangeTextEditingValue_closure, A.EditableTextState__handleFocusChanged_closure, A.EditableTextState_insertTextPlaceholder_closure, A.EditableTextState_removeTextPlaceholder_closure, A.EditableTextState_showAutocorrectionPromptRect_closure, A.EditableTextState__semanticsOnCopy_closure, A.EditableTextState__semanticsOnCut_closure, A.EditableTextState__semanticsOnPaste_closure, A.EditableTextState_build__closure, A._throttle__closure, A._FocusState__handleFocusChanged_closure, A._FocusState__handleFocusChanged_closure0, A._FocusState__handleFocusChanged_closure1, A._FocusState__handleFocusChanged_closure2, A.BuildOwner_buildScope_closure, A.ComponentElement_performRebuild_closure, A.ComponentElement_performRebuild_closure0, A.GestureDetector_build_closure, A.GestureDetector_build_closure1, A.GestureDetector_build_closure3, A.GestureDetector_build_closure5, A.GestureDetector_build_closure7, A.GestureDetector_build_closure9, A._DefaultSemanticsGestureDelegate__getTapHandler_closure, A._DefaultSemanticsGestureDelegate__getLongPressHandler_closure, A._HeroState_startFlight_closure, A._HeroState_endFlight_closure, A._HeroFlight__handleAnimationUpdate_delayedPerformAnimationUpdate, A._ImageState__handleImageFrame_closure, A._ImageState__updateSourceStream_closure, A._ImageState__updateSourceStream_closure0, A.AnimatedWidgetBaseState__handleAnimationChanged_closure, A._LayoutBuilderElement__layout_layoutCallback, A._LayoutBuilderElement__layout_layoutCallback_closure, A._LayoutBuilderElement__layout_layoutCallback_closure0, A._LocalizationsState_load__closure, A._MediaQueryFromWindowState_didChangeMetrics_closure, A._MediaQueryFromWindowState_didChangeTextScaleFactor_closure, A._MediaQueryFromWindowState_didChangePlatformBrightness_closure, A.ModalBarrier_build_handleDismiss, A.Route_isCurrent_closure0, A.Route_isFirst_closure0, A.Route_isActive_closure0, A._RouteEntry_handlePush_closure, A._RouteEntry_dispose_closure0, A.NavigatorState__updatePages_closure, A.NavigatorState__updatePages_closure0, A.NavigatorState__updatePages_closure1, A.NavigatorState__flushHistoryUpdates_closure0, A.NavigatorState_maybePop_closure0, A.NavigatorState_maybePop_closure2, A.NavigatorState_removeRoute_closure0, A.NavigatorState__cancelActivePointers_closure, A._RenderOverflowBar_performLayout_nextChild, A._OverlayEntryWidgetState__markNeedsBuild_closure, A.OverlayState_insert_closure, A.OverlayState_insertAll_closure, A.OverlayState_rearrange_closure, A.OverlayState__markDirty_closure, A.OverlayState__didChangeEntryOpacity_closure, A._GlowController_pull_closure, A._RootRestorationScopeState__loadRootBucketIfNecessary__closure, A.RestorationMixin_registerForRestoration_listener, A._RouterState_restoreState_closure, A._RouterState_restoreState_closure0, A._RouterState_didChangeDependencies_closure, A._RouterState__handleRouteInformationProviderNotification_closure, A._RouterState__rebuild_closure, A._RouterState__handleRouterDelegateNotification_closure, A._CallbackHookProvider_invokeCallback_closure, A.TransitionRoute__updateSecondaryAnimation_closure, A.TransitionRoute__updateSecondaryAnimation_closure0, A._ModalScopeState__forceRebuildPage_closure, A.ModalRoute_offstage_closure, A.ModalRoute_changedInternalState_closure, A.ScrollAwareImageProvider_resolveStreamForKey__closure, A.ScrollNotificationObserverState__notifyListeners_closure, A.ScrollableState_setCanDrag_closure, A.ScrollableState_setCanDrag_closure1, A.RawScrollbarState__maybeStartFadeoutTimer_closure, A.RawScrollbarState__gestures_closure, A.RawScrollbarState__gestures_closure1, A.ShortcutManager__indexShortcuts__closure, A._SelectionKeepAliveState_listensTo_closure, A.SliverMultiBoxAdaptorElement_performRebuild_closure, A.SliverMultiBoxAdaptorElement_performRebuild_closure0, A.SliverMultiBoxAdaptorElement_createChild_closure, A.SliverMultiBoxAdaptorElement_removeChild_closure, A._StatusTransitionState__animationStatusChanged_closure, A._SelectionHandleOverlayState_build_closure, A._TextSelectionGestureDetectorState_build_closure, A._TextSelectionGestureDetectorState_build_closure1, A._TextSelectionGestureDetectorState_build_closure3, A._TextSelectionGestureDetectorState_build_closure5, A._AnimatedState__handleChange_closure, A._ValueListenableBuilderState__valueChanged_closure, A._MarkdownWidgetState_createLink_closure, A._listenNotifier_listener, A._listenNotifier_closure, A.ConsumerStatefulElement_watch_closure, A._UncontrolledProviderScopeElement__flutterVsync_closure, A.HashUrlStrategy_addPopStateListener_closure, A.MediaType_MediaType$parse_closure, A.Logger_Logger_closure, A.ListSyntax_parse_endItem, A.ParagraphSyntax__parseReflinkDefinition_closure, A.InlineParser__linkOrImage_closure2, A.InlineParser__processEmphasis_closure, A.InlineParser__processEmphasis_closure1, A.ParsedPath__splitExtension_closure0, A._InheritedProviderScopeElement_updateDependencies_closure, A._asyncValueAsFuture_closure, A.AutoDisposeProviderElementBase_keepAlive_closure, A.AutoDisposeProviderElementBase__buildState_closure, A.AutoDisposeProviderElementBase__buildState__closure1, A.AutoDisposeProviderElementBase__buildState_closure0, A.AutoDisposeProviderElementBase__buildState__closure0, A.AutoDisposeProviderElementBase__buildState__closure, A.ProviderContainer__getStateReader_getReader, A.ProviderContainer__getStateReader_getReader_closure2, A.ProviderElementBase_watch_closure1, A._FutureProviderElementMixin__listenFuture_closure, A.AutoDisposeFutureProvider_create_closure, A.FutureProvider_create_closure, A.AutoDisposeStreamProvider_create_closure, A.StreamProvider_create_closure, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeSidebar_closure, A._Highlight_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.Chain_Chain$forTrace_closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.LazyChain_toTrace_closure, A.LazyTrace_terse_closure, A.LazyTrace_foldFrames_closure, A.Trace_Trace$current_closure, A.Trace_Trace$from_closure, A.StateNotifier_addListener_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.VmService_closure, A.CallGraph_collapse_callGraphNodeFor_closure, A._TraceReader_readTrace_makeCallNode_closure, A._TraceReader_readTrace_readRef, A._TraceReader_readTrace_readRefs, A._TraceReader_readTrace_readEvents, A.ProgramInfo_makeNode_closure, A.computeDominators_dfs, A._addChild_closure, A._ProgramInfoBuilder_packageOwner_closure, A.HtmlWebSocketChannel__listen_closure, A.main_closure0, A.main_closure]);
    _inheritMany(A.Closure2Args, [A.AppBootstrap_prepareEngineInitializer__closure0, A.AppBootstrap_prepareEngineInitializer__closure, A.AppBootstrap__prepareAppRunner__closure, A.HtmlViewEmbedder_submitFrame_closure1, A.downloadCanvasKit_closure, A.IntervalTree_IntervalTree$createFromRanges_closure, A.IntervalTree_IntervalTree$createFromRanges_closure0, A.Surface_acquireFrame_closure, A.commitScene_closure, A.PersistedContainerSurface__matchChildren_closure, A.initializeEngineServices_closure0, A.KeyboardConverter__handleEvent_closure2, A.KeyboardConverter__handleEvent__closure, A.EnginePlatformDispatcher__addFontSizeObserver_closure, A.StandardMessageCodec_writeValue_closure0, A.saveForms_closure, A.HybridTextEditing__startEditing_closure0, A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A.Future_any_onError, A._Future__chainForeignFuture_closure0, A._Future_timeout_closure2, A.Stream_handleError_closure, A._AddStreamState_makeErrorHandler_closure, A._BufferingStreamSubscription_asFuture_closure0, A._cancelAndErrorClosure_closure, A._CustomZone_bindBinaryCallbackGuarded_closure, A._RootZone_bindBinaryCallbackGuarded_closure, A._HashMap_addAll_closure, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A.MapMixin_addAll_closure, A.SplayTreeMap_addAll_closure, A.SplayTreeSet__newSet_closure, A.SplayTreeSet__copyNode_copyChildren, A._JsonMap_addAll_closure, A._JsonStringifier_writeMap_closure, A._JsonPrettyPrintMixin_writeMap_closure, A.NoSuchMethodError_toString_closure, A.Uri_splitQueryString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._Uri__makeQuery_writeParameter, A._Uri__makeQuery_closure, A._createTables_build, A.MidiInputMap_keys_closure, A.MidiInputMap_values_closure, A.MidiOutputMap_keys_closure, A.MidiOutputMap_values_closure, A.MutationObserver_observe_override, A.RtcStatsReport_keys_closure, A.RtcStatsReport_values_closure, A.Storage_addAll_closure, A.Storage_keys_closure, A.Storage_values_closure, A._AttributeMap_addAll_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.CancelableCompleter_complete_closure0, A.StreamQueue__ensureListening_closure1, A._CancelOnErrorSubscriptionWrapper_onError_closure, A.CanonicalizedMap_addAll_closure, A.CanonicalizedMap_forEach_closure, A.CanonicalizedMap_map_closure, A.DevToolsAppState_build_closure, A.ChartState_build_closure, A.FlameChartState_build_closure, A.FlameChartState__buildFlameChart_closure, A.ScrollingFlameChartRowState_build_closure, A._ScrollingFlameChartRowExtentDelegate_minChildIndexForScrollOffset_closure, A._ScrollingFlameChartRowExtentDelegate_maxChildIndexForScrollOffset_closure, A._TreemapState_buildTreemaps_closure, A._TreemapState_buildSubTreemaps_closure, A._TreemapState_buildBreadcrumbNavigator_closure, A.CustomPointerScrollView_build_closure, A.sum_closure, A.min_closure, A.max_closure, A.LogicalKeySetExtension_describeKeys_closure, A._AnalysisViewState__buildTreemap_closure, A._DiffViewState__buildTreemap_closure, A._CallGraphViewState_build_closure, A._BreakpointsState_build__closure, A._CallStackState_build__closure, A._CodeViewState_buildCodeArea_closure0, A._CodeViewState_buildCodeArea___closure0, A.Gutter_build_closure0, A._LinesState_build_closure, A.copyPackagePathOption_closure, A.copyFilePathOption_closure, A.DebuggerController__createVariablesForFrame_closure0, A.DebuggerScreenBodyState_debuggerPanes_closure, A.ExpressionEvalFieldState_build_closure0, A.ExpressionEvalFieldState_build_closure, A.FileQuery__findExactSegments_closure, A._FileExplorerState_build_closure, A._ProgramOutlineView_build__closure, A.ProgramExplorer_build__closure, A.ProgramExplorerController_populateNode_getFuncs, A.VMServiceObjectNode__sortEntriesByType_closure, A.VMServiceObjectNode__sortEntriesByType_closure0, A.VMServiceObjectNode__sortEntriesByType_closure1, A.VMServiceObjectNode__sortEntriesByType_closure2, A.VMServiceObjectNode__sortEntriesByType_closure3, A.VMServiceObjectNode__sortEntriesByType_closure4, A.VMServiceObjectNode__sortEntriesByType_closure5, A.VMServiceObjectNode__sortEntriesByType_closure6, A.SyntaxHighlighter__buildSyntaxColorTable__scopeTextStyleMapper, A.Variables_build_closure, A.ExpandableVariable_build_closure, A.FlexLayoutProperties_totalFlex_closure0, A.InspectorScreenBodyState__buildSummaryTreeColumn_closure, A.InspectorScreenBodyState__buildSummaryTreeColumn___closure, A._InspectorTreeState_build_closure, A._InspectorTreeState_build__closure, A.InspectorRowContent_build_closure0, A._BoxLayoutExplorerWidgetState_build_closure, A._BoxLayoutExplorerWidgetState__buildChild_closure, A.BoxChildVisualizer_build_buildEntranceAnimation, A._FlexLayoutExplorerWidgetState_build_closure, A._VisualizeFlexChildrenState_build_closure0, A.FlexChildVisualizer_build_buildEntranceAnimation, A.WidgetVisualizer_build_closure, A.VisualizeWidthAndHeightWithConstraints_build_closure, A.VisualizeWidthAndHeightWithConstraints_build_closure0, A.LoggingScreen_buildStatus_closure, A.imageAnalysis_closure, A.imageAnalysis__closure7, A.processMatches_closure, A.MemoryController_computeAllLibraries_closure0, A.MemoryController_addAllToNode_closure, A.MemoryLog_offlineFiles_closure, A.SnapshotFilterState_buildFilters_closure, A.HeapGraph_computeFilteredGroups_closure, A.HeapGraph_computeFilteredGroups_closure0, A.HeapGraph_computeFilteredGroups_closure1, A.HeapGraph_computeFilteredGroups_closure2, A.buildRegExs_closure, A.HeapTreeViewState_displayTimestampUpdateBubble_closure, A.MemoryHeapTreemapState_build_closure, A.InstructionsSize_InstructionsSize$fromSnapshot_closure, A.InstructionsSize_InstructionsSize$fromSnapshot_closure0, A.MemoryTracker__recalculate_closure, A.TreeTracker_displaySelectedStackTrace_closure, A.TreeTracker_displaySelectedStackTrace_closure0, A.HttpRequestHeadersView_build_closure, A.HttpRequestCookiesView_build_closure, A._FlutterFramesChartState__maybeShowShaderJankMessage_closure0, A._FlutterFramesChartState__buildChart_closure, A._FlutterFramesChartState__buildChart__closure, A._FlutterFramesChartState__buildChart__closure0, A.AverageFPS_build_closure, A.TimelineEventGroup_sortedEventRoots_closure0, A.FramePhase$__closure, A.LayerImage_build_closure, A.RasterMetricsController_initDataFromJson_closure, A.TimelineEventProcessor_processTraceEvents_closure1, A.TimelineEventsView_build_closure, A.TimelineFlameChartState__indexOfFirstEventInView_closure, A.TimelineFlameChartState__viewNextEventInGroup_closure, A.TimelineFlameChartState_initFlameChartElements_closure, A.TimelineFlameChartState__buildEventThreadNavigationButtons_closure, A.TimelineFlameChartState__buildEventThreadNavigationButtons_closure0, A._CpuProfileFlameChartState_initFlameChartElements_createChartNodes, A._CpuProfilerState__buildProfilerViews_closure, A.libraryEvalProvider_closure, A.instanceProvider_closure, A.instanceProvider__closure0, A._providerChanged_closure, A.isExpandedProvider_closure, A.estimatedChildCountProvider_closure, A.estimatedChildCountProvider__estimatedChildCount_expandableEstimatedChildCount_closure, A.estimatedChildCountProvider__estimatedChildCount_closure0, A._InstanceViewerState__buildListViewItems_closure0, A._EditableFieldState_build_closure1, A._EditableFieldState_build__closure1, A.selectedProviderIdProvider__closure, A._ProviderListState_build_closure0, A._ProviderListState_build__closure, A._rawProviderNodeProvider_closure, A.sortedProviderNodesProvider__closure0, A.ProviderScreenBody_build_closure, A.ScriptManager_retrieveAndSortScripts_closure, A.ServiceExtensionManager__callServiceExtension_callExtension_call, A.setupErrorHandling_closure0, A._JsonViewerState_build_closure, A._ConsoleOutputState_build_closure1, A._ConsoleOutputState_build_closure0, A._InitializerState__attemptUrlConnection_closure, A._ConnectDialogState__connectHelper_closure, A._NotificationState_build_closure, A._createVariablesForAssociations_closure, A._ReleaseNotesViewerState_build_closure, A.DevToolsRouteInformationParser_restoreRouteInformation_closure, A.DevToolsScaffoldState_build_closure, A.Screen_buildTab__closure, A._SplitState__buildLayout_updateSpacing, A.FlatTableState_computeColumnWidths_closure, A.FlatTableState_build_closure, A.FlatTableState_sortData_closure, A.TreeTableState_sortData_closure, A._TableState_build_closure, A._TableState_build__closure, A._TableRowState_build_closure0, A._TableRowState_tableRowFor_columnFor, A._TableRowState_tableRowFor_closure, A._ColumnGroupHeaderRow_build_closure, A._TreeViewState_build_closure, A._OffsetScrollbarState_build_closure0, A.ExtensionEvents_ExtensionEvents$fromJson_closure, A.CupertinoDynamicColor_toString_toString, A.BindingBase_registerServiceExtension_closure, A.PointerRouter__dispatchEventToRoutes_closure, A.MaterialApp_createMaterialHeroController_closure, A._MaterialAppState_build_closure, A._RenderInputPadding_hitTest_closure, A._RenderInputPadding_hitTest_closure0, A._DropdownRoute_buildPage_closure, A._DropdownRoute_getItemOffset_closure, A._DropdownRoute_getMenuLimits_closure, A._RenderDecoration_performLayout_centerLayout, A._RenderDecoration_performLayout_baselineLayout, A._RenderDecoration_hitTestChildren_closure, A._RenderListTile_hitTestChildren_closure, A.NavigationIndicator_build_closure, A.NavigationIndicator_build_closure0, A.NavigationIndicator_build__closure, A._ZoomEnterTransition_build_closure, A._PopupMenu_build_closure0, A._LinearProgressIndicatorPainter_paint_drawBar, A._LinearProgressIndicatorState_build_closure, A._CircularProgressIndicatorState__buildAnimation_closure, A.ScaffoldState_build_closure, A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure, A._SnackBarState_build_closure1, A._TextFieldState_build_closure1, A._TextFieldState_build_closure2, A.__TextFieldState_State_RestorationMixin_dispose_closure, A.ThemeData__lerpThemeExtensions_closure, A._RenderInputPadding_hitTest_closure1, A.NetworkImage__loadAsync_closure, A._CompoundBorder_dimensions_closure, A.ImageCache_putIfAbsent_listener, A.ImageProvider_resolve_closure, A.ImageProvider__createErrorHandlerAndKey_handleError, A.AssetImage_obtainKey_closure0, A.MultiFrameImageStreamCompleter_closure, A.MultiFrameImageStreamCompleter_closure0, A.RenderBoxContainerDefaultsMixin_defaultHitTestChildren_closure, A.RenderEditable_getRectForComposingRange_closure, A.RenderEditable_hitTestChildren_closure, A.RenderEditable__paintContents_closure, A.RenderFlex_computeMinIntrinsicWidth_closure, A.RenderFlex_computeMaxIntrinsicWidth_closure, A.RenderFlex_computeMinIntrinsicHeight_closure, A.RenderFlex_computeMaxIntrinsicHeight_closure, A.MouseTracker__handleDeviceUpdateMouseEvents_closure, A.PipelineOwner_flushLayout_closure, A.PipelineOwner_flushCompositingBits_closure, A.PipelineOwner_flushPaint_closure, A.PipelineOwner_flushSemantics_closure, A.RenderParagraph_hitTestChildren_closure, A.RenderParagraph_paint_closure, A.RenderPhysicalModel_paint_closure, A.RenderPhysicalShape_paint_closure, A.RenderTransform_hitTestChildren_closure, A.RenderFractionalTranslation_hitTestChildren_closure, A.RenderFollowerLayer_hitTestChildren_closure, A.RenderRotatedBox_hitTestChildren_closure, A.RenderShiftedBox_hitTestChildren_closure, A.RenderIndexedStack_hitTestChildren_closure, A.RenderTable_computeDryLayout_closure, A.RenderTable_hitTestChildren_closure, A.SchedulerBinding_handleBeginFrame_closure, A._SemanticsSortGroup_sortedWithinKnot_closure, A.SemanticsOwner_sendSemanticsUpdate_closure0, A.SemanticsOwner_sendSemanticsUpdate_closure1, A._DefaultBinaryMessenger_setMessageHandler_closure, A.StandardMessageCodec_writeValue_closure, A._StreamBuilderBaseState__subscribe_closure1, A._FutureBuilderState__subscribe_closure0, A.EditableTextState__formatAndSetValue_closure, A.EditableTextState_build_closure, A.DirectionalFocusTraversalPolicyMixin__sortAndFindInitial_closure, A.DirectionalFocusTraversalPolicyMixin__sortAndFilterHorizontally_closure, A.DirectionalFocusTraversalPolicyMixin__sortAndFilterVertically_closure, A.DirectionalFocusTraversalPolicyMixin_inDirection_closure1, A.DirectionalFocusTraversalPolicyMixin_inDirection_closure4, A._ReadingOrderSortData_sortWithDirectionality_closure, A._ReadingOrderDirectionalGroupData_sortWithDirectionality_closure, A.ReadingOrderTraversalPolicy__pickNext_closure, A.ReadingOrderTraversalPolicy__pickNext_inBand, A.RenderObjectElement_updateChildren_slotFor, A.Hero__allHeroesFor_inviteHero, A._HeroFlight__buildOverlay_closure, A.DefaultTransitionDelegate_resolve_handleExitingRoute, A._HistoryProperty_fromPrimitives_closure, A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure, A._RenderTheatre_hitTestChildren_closure, A._StretchingOverscrollIndicatorState_build_closure, A._PageViewState_build_closure0, A.__RestorationScopeState_State_RestorationMixin_dispose_closure, A.__RouterState_State_RestorationMixin_dispose_closure, A._ModalScopeState_build_closure, A._ModalScopeState_build__closure0, A._ModalScopeState_build___closure, A.ScrollView_build_closure, A.ListView$separated_closure, A.ListView$separated_closure0, A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin_dispose_closure, A._ScrollableSelectionContainerDelegate_didChangeSelectables_closure, A._ScrollableSelectionContainerDelegate_didChangeSelectables_closure0, A.ShortcutManager__indexShortcuts_closure, A.SingleChildScrollView_build_closure, A._RenderSingleChildViewport_paint_paintContents, A._RenderSingleChildViewport_hitTestChildren_closure, A.kFallbackStyle_closure, A.ConsumerStatefulElement_watch__closure, A.BaseRequest_closure, A.mapToQuery_closure, A.MediaType_toString_closure, A.VP8__upsample_LOAD_UV, A.hdrToImage__knee, A.hdrToImage__gamma, A.DateFormat__fieldConstructors_closure, A.DateFormat__fieldConstructors_closure0, A.DateFormat__fieldConstructors_closure1, A.Pool__runOnRelease_closure0, A._asyncValueAsFuture_listener, A.AutoDisposeProviderElementBase__buildState_closure1, A.AutoDisposeProviderElementBase__buildState_closure2, A.ProviderContainer__getStateReader_getReader_closure1, A.ProviderElementBase_watch_closure, A.ProviderElementBase_watch_closure0, A.ProviderElementBase__createSubscription_closure, A._FutureProviderElementMixin__listenFuture_closure1, A._StreamProviderElementMixin__listenStream_closure0, A.Highlighter__collateLines_closure0, A.generateUuidV4__printDigits, A.generateUuidV4__bitsDigits, A.Frame_Frame$parseV8_closure_parseLocation, A.VmService_dispose_closure, A.CallGraph_computeDominators_closure, A.computeDiff_recurse, A.computeDominators_compressPath, A._treemapFromInfo_cumulativeSize_closure]);
    _inheritMany(A._Enum, [A.BrowserEngine, A.OperatingSystem, A.MutatorType, A._ParagraphCommandType, A.PersistedSurfaceState, A.DebugEngineInitializationState, A._CheckableKind, A.Role, A.AccessibilityMode, A.GestureMode, A.EnabledState, A.LineCharProperty, A.LineBreakType, A._ComparisonResult, A.WordCharProperty, A.TextCapitalization, A.TransformKind, A.ClipOp, A.PathFillType, A.KeyEventType, A.StrokeCap, A.StrokeJoin, A.PaintingStyle, A.BlendMode, A.Clip, A.BlurStyle, A.FilterQuality, A.ImageByteFormat, A.AppLifecycleState, A.PointerChange, A.PointerDeviceKind, A.PointerSignalKind, A.FontStyle, A.PlaceholderAlignment, A.TextAlign, A.TextBaseline, A.TextDecorationStyle, A.TextLeadingDistribution, A.TextDirection, A.TextAffinity, A.BoxHeightStyle, A.BoxWidthStyle, A.TileMode, A.Brightness, A.PacketKind, A.ChartType, A.ChartSymbol, A.LogLevel, A.TimelineEventType, A.SortDirection, A.DiffTreeType, A.OverflowSide, A.FlutterTreeType, A.SearchTargetType, A.ArrowType, A.ChartInterval, A.SnapshotStatus, A.WildcardMatch, A.ContinuesState, A.TrackWidgetBuildsScope, A.ProfileGranularity, A.ScrollKind, A._TableRowType, A._TableRowPartDisplayType, A.ColumnAlignment, A.HoverCardPosition, A._MediaSize__Enum_EnumIndexOrdering, A.AnimationStatus, A._AnimationDirection, A.AnimationBehavior, A._TrainHoppingMode, A.DiagnosticLevel, A.DiagnosticsTreeStyle, A._WordWrapParseMode, A.TargetPlatform, A.GestureDisposition, A._ForceState, A._DragState, A.DragStartBehavior, A.GestureRecognizerState, A.ThemeMode, A._CornerId, A.ButtonTextTheme, A.ButtonBarLayoutBehavior, A._FloatingActionButtonType, A._HighlightType, A.FloatingLabelBehavior, A._DecorationSlot, A.ListTileStyle, A.ListTileControlAffinity, A._ListTileSlot, A.MaterialType, A.MaterialState, A.NavigationRailLabelType, A.PopupMenuPosition, A._ActivityIndicatorType, A._ScaffoldSlot, A.SnackBarClosedReason, A._SwitchType, A.MaterialTapTargetSize, A.TooltipTriggerMode, A.ScriptCategory, A.RenderComparison, A.Axis, A.VerticalDirection, A.AxisDirection, A.BorderStyle, A.StrokeAlign, A.BoxShape, A.BoxFit, A.ImageRepeat, A.TextOverflow, A.TextWidthBasis, A.SpringType, A.RenderAnimatedSizeState, A._IntrinsicDimension, A.FlexFit, A.MainAxisSize, A.MainAxisAlignment, A.CrossAxisAlignment, A.HitTestBehavior, A.DecorationPosition, A.SelectionResult, A.SelectionEventType, A.SelectionStatus, A.TextSelectionHandleType, A.GrowthDirection, A.StackFit, A.TableCellVerticalAlignment, A.CacheExtentStyle, A.ScrollDirection, A.WrapAlignment, A.WrapCrossAlignment, A.SchedulerPhase, A.DebugSemanticsDumpOrder, A.KeyDataTransitMode, A.KeyboardSide, A.ModifierKey, A.SystemSoundType, A.MaxLengthEnforcement, A.SmartDashesType, A.SmartQuotesType, A.TextInputAction, A.TextCapitalization0, A.FloatingCursorDragState, A.SelectionChangedCause, A.CrossFadeState, A.ConnectionState, A.DismissDirection, A._FlingGestureKind, A.KeyEventResult, A.UnfocusDisposition, A.FocusHighlightMode, A.FocusHighlightStrategy, A.TraversalDirection, A._StateLifecycle, A._ElementLifecycle, A.HeroFlightDirection, A.Orientation, A.NavigationMode, A._ToolbarSlot, A.RoutePopDisposition, A._RouteLifecycle, A._RouteRestorationType, A.OverflowBarAlignment, A._GlowState, A._StretchState, A.RouteInformationReportingType, A.AndroidOverscrollIndicator, A.ScrollPositionAlignmentPolicy, A.ScrollViewKeyboardDismissBehavior, A.ScrollIncrementType, A.ScrollbarOrientation, A.MarkdownStyleSheetBaseTheme, A.MarkdownListItemCrossAxisAlignment, A.BitmapCompression, A.Format, A.Channels, A.LaunchMode, A.PreferredLaunchMode, A.NodeType, A.TreemapFormat]);
    _inherit(A.CanvasPool, A._SaveStackTracking);
    _inherit(A.RecordingCkCanvas, A.CkCanvas);
    _inheritMany(A.CkPaintCommand, [A.CkClearCommand, A.CkSaveCommand, A.CkRestoreCommand, A.CkTranslateCommand, A.CkScaleCommand, A.CkRotateCommand, A.CkTransformCommand, A.CkClipRectCommand, A.CkDrawArcCommand, A.CkClipRRectCommand, A.CkClipPathCommand, A.CkDrawLineCommand, A.CkDrawPaintCommand, A.CkDrawRectCommand, A.CkDrawRRectCommand, A.CkDrawDRRectCommand, A.CkDrawOvalCommand, A.CkDrawCircleCommand, A.CkDrawPathCommand, A.CkDrawShadowCommand, A.CkDrawImageRectCommand, A.CkDrawParagraphCommand, A.CkDrawPictureCommand, A.CkSaveLayerCommand]);
    _inheritMany(J.Interceptor, [J.JavaScriptObject, J.JSBool, J.JSNull, J.JSArray, J.JSNumber, J.JSString, A.NativeByteBuffer, A.NativeTypedData]);
    _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, A.EventTarget, A.AccessibleNodeList, A.Event0, A.Blob, A.Body, A.CacheStorage, A.CanvasRenderingContext2D, A.Credential, A.CredentialUserData, A.CssRule, A.CssTransformComponent, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.StyleSheet, A.CssStyleValue, A.DataTransferItem, A.DataTransferItemList, A.ReportBody, A.DomError, A.DomException0, A._DomRectList_JavaScriptObject_ListMixin, A.DomRectReadOnly0, A._DomStringList_JavaScriptObject_ListMixin, A.DomTokenList, A.Entry, A._FileList_JavaScriptObject_ListMixin, A.FileSystem, A.Gamepad, A.History, A._HtmlCollection_JavaScriptObject_ListMixin, A.ImageData, A.Location, A.MediaDeviceInfo, A.MediaError, A.MediaList, A._MidiInputMap_JavaScriptObject_MapMixin, A._MidiOutputMap_JavaScriptObject_MapMixin, A.MimeType, A._MimeTypeArray_JavaScriptObject_ListMixin, A.MutationObserver, A.MutationRecord, A.NavigatorUserMediaError, A._NodeList_JavaScriptObject_ListMixin, A.OverconstrainedError, A.PaymentInstruments, A.PerformanceEntry, A.PerformanceServerTiming, A.Plugin, A._PluginArray_JavaScriptObject_ListMixin, A.PositionError, A.PushMessageData, A._RtcStatsReport_JavaScriptObject_MapMixin, A.SpeechGrammar, A._SpeechGrammarList_JavaScriptObject_ListMixin, A.SpeechRecognitionResult, A.SpeechSynthesisVoice, A._Storage_JavaScriptObject_MapMixin, A._TextTrackCueList_JavaScriptObject_ListMixin, A.TimeRanges, A.Touch, A._TouchList_JavaScriptObject_ListMixin, A.TrackDefaultList, A.Url, A.VideoTrack, A.__CssRuleList_JavaScriptObject_ListMixin, A.__GamepadList_JavaScriptObject_ListMixin, A.__NamedNodeMap_JavaScriptObject_ListMixin, A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.__StyleSheetList_JavaScriptObject_ListMixin, A.Index, A.KeyRange, A.ObjectStore, A.Length, A._LengthList_JavaScriptObject_ListMixin, A.Number, A._NumberList_JavaScriptObject_ListMixin, A.PointList, A._StringList_JavaScriptObject_ListMixin, A.Transform0, A._TransformList_JavaScriptObject_ListMixin, A.AudioBuffer, A._AudioParamMap_JavaScriptObject_MapMixin, A.AudioTrack, A.ActiveInfo]);
    _inheritMany(J.LegacyJavaScriptObject, [A.H5vcc, A.CanvasKit, A.CanvasKitInitOptions, A.CanvasKitInitPromise, A.ColorSpace, A.SkWebGLContextOptions, A.SkSurface, A.SkGrContext, A.SkFontSlantEnum, A.SkFontSlant, A.SkFontWeightEnum, A.SkFontWeight, A.SkAffinityEnum, A.SkAffinity, A.SkTextDirectionEnum, A.SkTextDirection, A.SkTextAlignEnum, A.SkTextAlign, A.SkTextHeightBehaviorEnum, A.SkTextHeightBehavior, A.SkRectHeightStyleEnum, A.SkRectHeightStyle, A.SkRectWidthStyleEnum, A.SkRectWidthStyle, A.SkVertexModeEnum, A.SkVertexMode, A.SkPointModeEnum, A.SkPointMode, A.SkClipOpEnum, A.SkClipOp, A.SkFillTypeEnum, A.SkFillType, A.SkPathOpEnum, A.SkPathOp, A.SkBlurStyleEnum, A.SkBlurStyle, A.SkStrokeCapEnum, A.SkStrokeCap, A.SkPaintStyleEnum, A.SkPaintStyle, A.SkBlendModeEnum, A.SkBlendMode, A.SkStrokeJoinEnum, A.SkStrokeJoin, A.SkTileModeEnum, A.SkTileMode, A.SkFilterModeEnum, A.SkFilterMode, A.SkMipmapModeEnum, A.SkMipmapMode, A.SkAlphaTypeEnum, A.SkAlphaType, A.SkColorTypeEnum, A.SkColorType, A.SkAnimatedImage, A.SkImage, A.SkShaderNamespace, A.SkShader, A.SkMaskFilterNamespace, A.SkPaint, A.CkFilterOptions, A.SkMaskFilter, A.SkColorFilterNamespace, A.SkColorFilter, A.SkImageFilterNamespace, A.SkImageFilter, A.SkPathNamespace, A._NativeFloat32ArrayType, A.SkFloat32List, A.SkPath, A.SkContourMeasureIter, A.SkContourMeasure, A.SkPictureRecorder, A.SkCanvas, A.SkPicture, A.SkParagraphBuilderNamespace, A.SkParagraphBuilder, A.SkParagraphStyle, A.SkParagraphStyleProperties, A.SkTextStyle, A.SkTextDecorationStyleEnum, A.SkTextDecorationStyle, A.SkTextBaselineEnum, A.SkTextBaseline, A.SkPlaceholderAlignmentEnum, A.SkPlaceholderAlignment, A.SkTextStyleProperties, A.SkStrutStyleProperties, A.SkFontStyle, A.SkTextShadow, A.SkFontFeature, A.SkTypeface, A.SkFont, A.SkFontMgr, A.SkLineMetrics, A.SkParagraph, A.SkTextPosition, A.SkTextRange, A.SkVertices, A.SkTonalColors, A.SkFontMgrNamespace, A.TypefaceFontProviderNamespace, A.SkTypefaceFactory, A.SkDeletable, A.JsConstructor, A.SkObjectFinalizationRegistry, A.SkData, A.SkImageInfo, A.SkPartialImageInfo, A.JsFlutterConfiguration, A.DomEventTarget, A.DomConsole, A.DomNavigator, A.DomDocument, A.DomEvent, A.DomCSSStyleDeclaration, A.DomPerformanceEntry, A.DomCanvasImageSource, A.DomCanvasRenderingContext2D, A.DomImageData, A.DomCanvasPattern, A.DomCanvasGradient, A.DomResponse, A.DomTextMetrics, A.DomException, A.DomRectReadOnly, A.DomFontFace, A.FlutterEngineInitializer, A.InitializeEngineFnParameters, A.FlutterAppRunner, A.RunAppFnParameters, A.FlutterApp, A.Promise, A.JsUrlStrategy, A.JsPromise, A.ImageDecoder, A.ImageDecoderOptions, A.DecodeResult, A.DecodeOptions, A.VideoFrame, A.ImageTrackList, A.ImageTrack, J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.GtagEvent, A.GtagException, A.JsUrlStrategy0]);
    _inheritMany(A.CkFilterOptions, [A._CkCubicFilterOptions, A._CkTransformFilterOptions]);
    _inherit(A.TypefaceFontProvider, A.SkFontMgr);
    _inheritMany(A.SkiaObject, [A.ManagedSkiaObject, A.SkiaObjectBox, A.CkParagraph]);
    _inheritMany(A.ManagedSkiaObject, [A.ManagedSkColorFilter, A.CkAnimatedImage, A.CkMaskFilter, A.CkPaint, A.CkPath, A.CkPicture, A.CkShader]);
    _inheritMany(A.CkColorFilter, [A.CkBlendModeColorFilter, A.CkMatrixColorFilter, A.CkComposeColorFilter]);
    _inheritMany(A.Iterable, [A.MutatorsStack, A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.ExpandIterable, A.TakeIterable, A.SkipIterable, A.SkipWhileIterable, A.FollowedByIterable, A.WhereTypeIterable, A._ConstantMapKeyIterable, A.IterableBase, A._StringAllMatchesIterable, A.LinkedList, A.DoubleLinkedQueue, A.StringCharacters, A.ObserverList, A.HashedObserverList]);
    _inheritMany(A.Layer, [A.ContainerLayer, A.PictureLayer]);
    _inheritMany(A.ContainerLayer, [A.RootLayer, A.ClipPathEngineLayer, A.ClipRectEngineLayer, A.ClipRRectEngineLayer, A.OpacityEngineLayer, A.TransformEngineLayer]);
    _inherit(A.OffsetEngineLayer, A.TransformEngineLayer);
    _inherit(A.CkGradientLinear, A.CkShader);
    _inheritMany(A.Error0, [A.CanvasKitError, A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A.RuntimeError, A._Error, A.JsonUnsupportedObjectError, A.AssertionError, A.NullThrownError, A.ArgumentError, A.FallThroughError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.CyclicInitializationError, A._FlutterError_Error_DiagnosticableTreeMixin, A.CircularDependencyError, A.StateNotifierListenerError]);
    _inheritMany(A.DomEventTarget, [A.DomWindow, A.DomNode, A.DomPerformance, A.DomXMLHttpRequestEventTarget, A.DomFontFaceSet, A.DomVisualViewport, A.DomClipboard]);
    _inherit(A.DomHTMLDocument, A.DomDocument);
    _inheritMany(A.DomEvent, [A.DomProgressEvent, A.DomUIEvent]);
    _inheritMany(A.DomNode, [A.DomElement, A.DomCharacterData]);
    _inheritMany(A.DomElement, [A.DomHTMLElement, A.SVGElement]);
    _inheritMany(A.DomHTMLElement, [A.DomHTMLMetaElement, A.DomHTMLHeadElement, A.DomHTMLBodyElement, A.DomHTMLImageElement, A.DomHTMLScriptElement, A.DomHTMLDivElement, A.DomHTMLSpanElement, A.DomHTMLButtonElement, A.DomHTMLParagraphElement, A.DomHTMLStyleElement, A.DomCanvasElement, A.DomHTMLTextAreaElement]);
    _inherit(A.DomPerformanceMeasure, A.DomPerformanceEntry);
    _inherit(A.DomXMLHttpRequest, A.DomXMLHttpRequestEventTarget);
    _inherit(A.DomText, A.DomCharacterData);
    _inherit(A.DomRect, A.DomRectReadOnly);
    _inherit(A.DomKeyboardEvent, A.DomUIEvent);
    _inheritMany(A.EngineCanvas, [A.BitmapCanvas, A._DomCanvas_EngineCanvas_SaveElementStackTracking]);
    _inheritMany(A.PersistedSurface, [A.PersistedContainerSurface, A.PersistedLeafSurface]);
    _inheritMany(A.PersistedContainerSurface, [A._PersistedClipRect_PersistedContainerSurface__DomClip, A._PersistedClipRRect_PersistedContainerSurface__DomClip, A.PersistedClipPath, A.PersistedOffset, A.PersistedOpacity, A.PersistedScene, A.PersistedTransform]);
    _inherit(A.PersistedClipRect, A._PersistedClipRect_PersistedContainerSurface__DomClip);
    _inherit(A.PersistedClipRRect, A._PersistedClipRRect_PersistedContainerSurface__DomClip);
    _inherit(A.DomCanvas, A._DomCanvas_EngineCanvas_SaveElementStackTracking);
    _inherit(A.PersistedPicture, A.PersistedLeafSurface);
    _inheritMany(A.PaintCommand, [A.DrawCommand, A.PaintSave, A.PaintRestore, A.PaintTranslate, A.PaintScale, A.PaintRotate, A.PaintTransform]);
    _inheritMany(A.DrawCommand, [A.PaintClipRect, A.PaintClipRRect, A.PaintClipPath, A.PaintDrawLine, A.PaintDrawPaint, A.PaintDrawRect, A.PaintDrawRRect, A.PaintDrawDRRect, A.PaintDrawOval, A.PaintDrawCircle, A.PaintDrawPath, A.PaintDrawShadow, A.PaintDrawImageRect, A.PaintDrawParagraph]);
    _inherit(A.GradientLinear, A.EngineGradient);
    _inherit(A.HtmlBlobCodec, A.HtmlCodec);
    _inheritMany(A.BrowserHistory, [A.MultiEntriesBrowserHistory, A.SingleEntryBrowserHistory]);
    _inheritMany(A.UrlStrategy, [A.HashUrlStrategy, A.CustomUrlStrategy]);
    _inherit(A.BrowserPlatformLocation, A.PlatformLocation);
    _inherit(A.EnginePlatformDispatcher, A.PlatformDispatcher);
    _inheritMany(A._BaseAdapter, [A.__PointerAdapter__BaseAdapter__WheelEventListenerMixin, A._TouchAdapter, A.__MouseAdapter__BaseAdapter__WheelEventListenerMixin]);
    _inherit(A._PointerAdapter, A.__PointerAdapter__BaseAdapter__WheelEventListenerMixin);
    _inherit(A._MouseAdapter, A.__MouseAdapter__BaseAdapter__WheelEventListenerMixin);
    _inheritMany(A.RoleManager, [A.Checkable, A.ImageRoleManager, A.Incrementable, A.LabelAndValue, A.LiveRegion, A.Scrollable, A.Tappable, A.TextField]);
    _inheritMany(A.SemanticsEnabler, [A.DesktopSemanticsEnabler, A.MobileSemanticsEnabler]);
    _inheritMany(A.DefaultTextEditingStrategy, [A.SemanticsTextEditingStrategy, A.GloballyPositionedTextEditingStrategy, A.SafariDesktopTextEditingStrategy]);
    _inherit(A.ListBase, A._ListBase_Object_ListMixin);
    _inheritMany(A.ListBase, [A._TypedDataBuffer, A.UnmodifiableListBase, A._ChildrenElementList, A._FrozenElementList, A._ChildNodeListLazy, A.FilteredElementList]);
    _inherit(A._IntBuffer, A._TypedDataBuffer);
    _inherit(A.Uint8Buffer, A._IntBuffer);
    _inherit(A.SVGGraphicsElement, A.SVGElement);
    _inheritMany(A.SVGGraphicsElement, [A.SVGSVGElement, A.SVGClipPathElement, A.SVGDefsElement, A.SVGGeometryElement]);
    _inherit(A.SVGPathElement, A.SVGGeometryElement);
    _inherit(A.PlaceholderSpan, A.ParagraphPlaceholder);
    _inheritMany(A.StyleNode, [A.ChildStyleNode, A.RootStyleNode]);
    _inherit(A._PolyfillFontManager, A.FontManager);
    _inheritMany(A.RangeBox, [A.PlaceholderBox, A.SpanBox]);
    _inheritMany(A.EngineInputType, [A.NoTextInputType, A.TextInputType0, A.NumberInputType, A.DecimalInputType, A.PhoneInputType, A.EmailInputType, A.UrlInputType, A.MultilineInputType]);
    _inheritMany(A.GloballyPositionedTextEditingStrategy, [A.IOSTextEditingStrategy, A.AndroidTextEditingStrategy, A.FirefoxTextEditingStrategy]);
    _inheritMany(A.TextInputCommand, [A.TextInputSetClient, A.TextInputUpdateConfig, A.TextInputSetEditingState, A.TextInputShow, A.TextInputSetEditableSizeAndTransform, A.TextInputSetStyle, A.TextInputClearClient, A.TextInputHide, A.TextInputSetMarkedTextRect, A.TextInputSetCaretRect, A.TextInputRequestAutofill, A.TextInputFinishAutofillContext]);
    _inherit(A.FlutterWindow, A.FlutterView);
    _inherit(A.SingletonFlutterWindow, A.FlutterWindow);
    _inherit(A.EngineFlutterWindow, A.SingletonFlutterWindow);
    _inherit(A.EngineSingletonFlutterWindow, A.EngineFlutterWindow);
    _inherit(J.JSUnmodifiableArray, J.JSArray);
    _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]);
    _inheritMany(A.Stream, [A.CastStream, A._StreamImpl, A.StreamView, A._AsBroadcastStream, A._EmptyStream, A._ForwardingStream, A._EventStream, A._CompleterStream, A.SubscriptionStream]);
    _inheritMany(A.StreamTransformerBase, [A.CastStreamTransformer, A.Converter, A.LineSplitter]);
    _inheritMany(A.Converter, [A.CastConverter, A._UnicodeSubsetEncoder, A._UnicodeSubsetDecoder, A.Base64Encoder, A.Base64Decoder, A.JsonEncoder, A.JsonDecoder, A.Utf8Encoder, A.Utf8Decoder]);
    _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin, A.CastSet, A.CastQueue]);
    _inherit(A._EfficientLengthCastIterable, A.CastIterable);
    _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin);
    _inherit(A.CastList, A._CastListBase);
    _inherit(A.MapBase, A.MapMixin);
    _inheritMany(A.MapBase, [A.CastMap, A.UnmodifiableMapBase, A.JsLinkedHashMap, A._HashMap, A._JsonMap, A._AttributeMap]);
    _inheritMany(A.UnmodifiableListBase, [A.CodeUnits, A.UnmodifiableListView]);
    _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable, A._MapBaseValueIterable, A._SplayTreeKeyIterable, A._SplayTreeValueIterable, A._SplayTreeMapEntryIterable]);
    _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A._ListIndicesIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable, A._GeneratorIterable]);
    _inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
    _inheritMany(A.Iterator, [A.MappedIterator, A.WhereIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator]);
    _inherit(A.EfficientLengthTakeIterable, A.TakeIterable);
    _inherit(A.EfficientLengthSkipIterable, A.SkipIterable);
    _inherit(A.ListMapView, A.UnmodifiableMapBase);
    _inherit(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.MapView);
    _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin);
    _inherit(A.ConstantMapView, A.UnmodifiableMapView);
    _inheritMany(A.ConstantMap, [A.ConstantStringMap, A.GeneralConstantMap]);
    _inherit(A.Instantiation1, A.Instantiation);
    _inherit(A.NullError, A.TypeError);
    _inheritMany(A.TearOffClosure, [A.StaticClosure, A.BoundClosure]);
    _inheritMany(A.IterableBase, [A._AllMatchesIterable, A._SyncStarIterable]);
    _inherit(A._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin, A._NativeFloat32x4List_Object_ListMixin);
    _inherit(A.NativeFloat32x4List, A._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin);
    _inherit(A._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin, A._NativeInt32x4List_Object_ListMixin);
    _inherit(A.NativeInt32x4List, A._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin);
    _inherit(A._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin, A._NativeFloat64x2List_Object_ListMixin);
    _inherit(A.NativeFloat64x2List, A._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin);
    _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);
    _inherit(A._ControllerStream, A._StreamImpl);
    _inherit(A._BroadcastStream, A._ControllerStream);
    _inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription]);
    _inherit(A._BroadcastSubscription, A._ControllerSubscription);
    _inheritMany(A._BroadcastStreamController, [A._SyncBroadcastStreamController, A._AsyncBroadcastStreamController]);
    _inherit(A._AsBroadcastStreamController, A._SyncBroadcastStreamController);
    _inheritMany(A._Completer, [A._AsyncCompleter, A._SyncCompleter]);
    _inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]);
    _inherit(A._StreamControllerAddStreamState, A._AddStreamState);
    _inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]);
    _inherit(A._StreamImplEvents, A._PendingEvents);
    _inheritMany(A._ForwardingStream, [A._WhereStream, A._MapStream, A._HandleErrorStream]);
    _inheritMany(A._Zone, [A._CustomZone, A._RootZone]);
    _inheritMany(A._HashMap, [A._IdentityHashMap, A._CustomHashMap]);
    _inheritMany(A.JsLinkedHashMap, [A._LinkedIdentityHashMap, A._LinkedCustomHashMap]);
    _inherit(A._SetBase, A.__SetBase_Object_SetMixin);
    _inheritMany(A._SetBase, [A._HashSet, A._LinkedHashSet, A.__UnmodifiableSet__SetBase__UnmodifiableSetMixin]);
    _inheritMany(A._DoubleLinkedQueueEntry, [A._DoubleLinkedQueueElement, A._DoubleLinkedQueueSentinel]);
    _inherit(A._UnmodifiableSet, A.__UnmodifiableSet__SetBase__UnmodifiableSetMixin);
    _inheritMany(A._SplayTreeNode, [A._SplayTreeSetNode, A._SplayTreeMapNode]);
    _inheritMany(A._SplayTree, [A._SplayTreeMap__SplayTree_MapMixin, A._SplayTreeSet__SplayTree_IterableMixin]);
    _inherit(A.SplayTreeMap, A._SplayTreeMap__SplayTree_MapMixin);
    _inheritMany(A._SplayTreeIterator, [A._SplayTreeKeyIterator, A._SplayTreeValueIterator, A._SplayTreeMapEntryIterator]);
    _inherit(A._SplayTreeSet__SplayTree_IterableMixin_SetMixin, A._SplayTreeSet__SplayTree_IterableMixin);
    _inherit(A.SplayTreeSet, A._SplayTreeSet__SplayTree_IterableMixin_SetMixin);
    _inheritMany(A.Codec0, [A.Encoding, A.Base64Codec, A.JsonCodec]);
    _inheritMany(A.Encoding, [A.AsciiCodec, A.Latin1Codec, A.Utf8Codec]);
    _inheritMany(A._UnicodeSubsetEncoder, [A.AsciiEncoder, A.Latin1Encoder]);
    _inheritMany(A._UnicodeSubsetDecoder, [A.AsciiDecoder, A.Latin1Decoder]);
    _inherit(A.ByteConversionSink, A.ChunkedConversionSink);
    _inherit(A.ByteConversionSinkBase, A.ByteConversionSink);
    _inherit(A._ByteCallbackSink, A.ByteConversionSinkBase);
    _inherit(A.JsonCyclicError, A.JsonUnsupportedObjectError);
    _inherit(A._JsonStringStringifier, A._JsonStringifier);
    _inherit(A.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin, A._JsonStringStringifier);
    _inherit(A._JsonStringStringifierPretty, A.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin);
    _inheritMany(A.ArgumentError, [A.RangeError, A.IndexError]);
    _inherit(A._DataUri, A._Uri);
    _inheritMany(A.EventTarget, [A.Node0, A.BroadcastChannel, A.EventSource, A.FileReader, A.FileWriter, A.HttpRequestEventTarget, A.MediaKeySession, A.MediaQueryList, A.MediaStreamTrack, A.MessagePort, A.MidiPort, A.OffscreenCanvas, A.ScreenOrientation, A.WorkerGlobalScope, A.SourceBuffer, A._SourceBufferList_EventTarget_ListMixin, A.TextTrack, A.TextTrackCue, A._TextTrackList_EventTarget_ListMixin, A.VideoTrackList, A.WebSocket0, A.Window, A.Database, A.AudioTrackList, A.BaseAudioContext]);
    _inheritMany(A.Node0, [A.Element1, A.CharacterData, A.Document0, A._Attr]);
    _inheritMany(A.Element1, [A.HtmlElement, A.SvgElement]);
    _inheritMany(A.HtmlElement, [A.AnchorElement, A.AreaElement, A.ButtonElement, A.CanvasElement, A.DivElement, A.EmbedElement, A.FieldSetElement, A.FormElement, A.IFrameElement, A.ImageElement, A.InputElement, A.LabelElement, A.MapElement, A.MetaElement, A.ObjectElement, A.OutputElement, A.ParamElement, A.SelectElement, A.SlotElement, A.StyleElement, A.TextAreaElement, A.TrackElement]);
    _inheritMany(A.Event0, [A.ApplicationCacheErrorEvent, A.CloseEvent, A.ErrorEvent, A.UIEvent, A.MediaKeyMessageEvent, A.MediaQueryListEvent, A.MessageEvent, A.PresentationConnectionCloseEvent, A.ProgressEvent, A.SpeechRecognitionError, A.SpeechSynthesisEvent, A.VersionChangeEvent]);
    _inherit(A.CssKeyframesRule, A.CssRule);
    _inherit(A.CssPerspective, A.CssTransformComponent);
    _inherit(A.CssStyleDeclaration, A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase);
    _inherit(A.CssStyleSheet, A.StyleSheet);
    _inheritMany(A.CssStyleValue, [A.CssTransformValue, A.CssUnparsedValue]);
    _inheritMany(A.ReportBody, [A.DeprecationReport, A.InterventionReport]);
    _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);
    _inheritMany(A.Credential, [A.FederatedCredential, A.PasswordCredential]);
    _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);
    _inherit(A.HtmlDocument, A.Document0);
    _inherit(A.HttpRequest, A.HttpRequestEventTarget);
    _inheritMany(A.UIEvent, [A.KeyboardEvent, A.MouseEvent, A.TouchEvent]);
    _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);
    _inheritMany(A.MouseEvent, [A.PointerEvent0, A.WheelEvent]);
    _inherit(A.RtcStatsReport, A._RtcStatsReport_JavaScriptObject_MapMixin);
    _inherit(A.SharedWorkerGlobalScope, A.WorkerGlobalScope);
    _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.VttCue, A.TextTrackCue);
    _inherit(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.__CssRuleList_JavaScriptObject_ListMixin);
    _inherit(A._CssRuleList, A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin);
    _inherit(A._DomRect, A.DomRectReadOnly0);
    _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._ElementAttributeMap, A._AttributeMap);
    _inherit(A._ElementEventStreamImpl, A._EventStream);
    _inherit(A._EventStreamSubscription, A.StreamSubscription);
    _inherit(A._StructuredCloneDart2Js, A._StructuredClone);
    _inherit(A._AcceptStructuredCloneDart2Js, A._AcceptStructuredClone);
    _inheritMany(A.JsObject, [A.JsFunction, A._JsArray_JsObject_ListMixin]);
    _inherit(A.JsArray, A._JsArray_JsObject_ListMixin);
    _inheritMany(A.SvgElement, [A.GraphicsElement, A.FEBlendElement, A.FEColorMatrixElement, A.FECompositeElement, A.FEFloodElement, A.FilterElement]);
    _inheritMany(A.GraphicsElement, [A.ClipPathElement, A.DefsElement, A.GeometryElement, A.SvgSvgElement]);
    _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.PathElement, A.GeometryElement);
    _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);
    _inheritMany(A.OffsetBase, [A.Offset, A.Size]);
    _inherit(A.AudioParamMap, A._AudioParamMap_JavaScriptObject_MapMixin);
    _inherit(A.OfflineAudioContext, A.BaseAudioContext);
    _inherit(A.ArchiveException, A.FormatException);
    _inherit(A.InputStream, A.InputStreamBase);
    _inherit(A.OutputStream, A.OutputStreamBase);
    _inherit(A._ZLibDecoder, A.ZLibDecoderBase);
    _inherit(A._CancelOnErrorSubscriptionWrapper, A.DelegatingStreamSubscription);
    _inheritMany(A._UnorderedEquality, [A.UnorderedIterableEquality, A.SetEquality]);
    _inherit(A.QueueList, A._QueueList_Object_ListMixin);
    _inherit(A._CastQueueList, A.QueueList);
    _inherit(A.XFile, A.XFileBase);
    _inheritMany(A.Response, [A.StreamHistory, A.CpuSamples, A.AvailableCachedCpuSamples, A.SocketProfile, A._State, A.HttpProfile, A.SpawnedProcess, A.SpawnedProcessList, A.OpenFile, A.OpenFileList, A.AllocationProfile, A.BoundVariable, A.Obj, A.ObjRef, A.ClassHeapStats, A.ClassList, A.Event, A.FlagList, A.Frame1, A.IsolateRef, A.Isolate, A.IsolateGroupRef, A.IsolateGroup, A.InboundReferences, A.InstanceSet, A.LogRecord, A.MemoryUsage, A.Message, A.PortList, A.ProtocolList, A.ProcessMemoryUsage, A.ReloadReport, A.RetainingPath, A.Sentinel, A.ScriptList, A.SourceLocation, A.SourceReport, A.Stack0, A.Success, A.Timeline, A.TimelineFlags, A.Timestamp, A.UnresolvedSourceLocation, A.UriList, A.Version, A.VMRef, A.VM]);
    _inherit(A.CachedCpuSamples, A.CpuSamples);
    _inherit(A.GtagEventDevTools, A.GtagEvent);
    _inherit(A.GtagExceptionDevTools, A.GtagException);
    _inherit(A.DiagnosticableTree, A._DiagnosticableTree_Object_Diagnosticable);
    _inheritMany(A.DiagnosticableTree, [A.Widget, A.RemoteDiagnosticsNode, A.InlineSpan, A.SemanticsProperties, A.Element]);
    _inheritMany(A.Widget, [A.StatefulWidget, A.StatelessWidget, A.ProxyWidget, A.RenderObjectWidget, A._NullWidget, A._NullWidget2]);
    _inheritMany(A.StatefulWidget, [A.AnalyticsPrompt, A.DevToolsApp, A.Chart, A.FlameChart, A.ScrollingFlameChartRow, A.Treemap, A.DragAndDrop, A.CustomPointerScrollable, A.AppSizeBody, A.AnalysisView, A.DiffView, A.CallGraphWithDominators, A.CallGraphView, A.Breakpoints, A.CallStack, A.CodeView, A.Lines, A.LineItem, A.DebuggerConsole, A.DebuggingControls, A.DebuggerScreenBody, A.DebuggerStatus, A.FloatingDebuggerControls, A.ExpressionEvalField, A.FileSearchField, A._FileExplorer, A.InspectorScreenBody, A.InspectorExpandCollapseButtons, A._InspectorTreeRowWidget, A.InspectorTree, A.LayoutExplorerWidget, A.VisualizeFlexChildren, A.LayoutExplorerTab, A.LogDetails, A.LoggingScreenBody, A.AllocationTableView, A.AnalysisInstanceViewTable, A.SnapshotFilterDialog, A.HeapTree, A.MemoryHeapTable, A.MemoryHeapTreemap, A.InstanceTreeView, A.MemoryBody, A.MemoryChartPane, A.MemoryAndroidChart, A.MemoryEventsPane, A.MemoryVMChart, A.ToggleAdbMemoryButton, A.MemoryControlPane, A.IntervalDropdown, A.PrimaryControls, A.SecondaryControls, A.MemorySourceDropdown, A.LeaksPane, A.NetworkScreenBody, A._NetworkProfilerControls, A.TrackWidgetBuildsSetting, A.FlutterFramesChart, A.FrameTimeVisualizer, A.PerformanceScreenBody, A.TabbedPerformanceView, A.NavigateInThreadInButton, A.CpuProfiler, A.ProfilerScreenBody, A.ConsumerStatefulWidget, A._EditableField, A.ProviderScreenWrapper, A.IsolatePortsWidget, A.VMDeveloperToolsScreenBody, A.ServiceExtensionButtonGroup, A._ServiceExtensionWidget, A.ServiceExtensionCheckboxGroupButton, A.JsonViewer, A.BlinkingIcon, A.DualValueListenableBuilder, A.KeepAliveWrapper, A._ConsoleOutput, A.VMFlagsDialog, A.FileImportContainer, A.DualFileImportContainer, A.HistoryViewport, A.Initializer, A.LandingScreenBody, A.ConnectDialog, A._NotificationsProvider, A._Notification, A.ReleaseNotesViewer, A.AnimatedWidget, A.DevToolsScaffold, A.KeyboardShortcuts, A.SnapshotScreenBody, A.Split, A.FlatTable, A.TreeTable, A._Table, A.TableRow, A.TreeView, A._TreeViewItem, A.FilterDialog, A.HoverCardTooltip, A.AutoComplete, A._AutoCompleteSearchField, A.AnalyticsTabbedView, A.OffsetScrollbar, A._CupertinoBackGestureDetector, A.RawScrollbar, A.MaterialApp, A.AppBar, A.RawMaterialButton, A.ButtonStyleButton, A.Checkbox, A._DropdownMenuItemButton, A._DropdownMenu, A.DropdownButton, A.ExpansionTile, A.Ink, A._InkResponseStateWidget, A._BorderContainer, A._HelperError, A.InputDecorator, A.Material, A.ImplicitlyAnimatedWidget, A.StatusTransitionWidget, A._SelectableAnimatedBuilder, A.NavigationRail, A.PopupMenuEntry, A.PopupMenuButton, A.ProgressIndicator, A.Radio, A.ScaffoldMessenger, A._FloatingActionButtonTransition, A.Scaffold, A.SelectableText, A.SnackBar, A._MaterialSwitch, A.TabBar, A.TabBarView, A.TextField0, A.Tooltip, A.Actions, A.FocusableActionDetector, A.AnimatedCrossFade, A.AnimatedSize, A.WidgetsApp, A.StreamBuilderBase, A.FutureBuilder, A.AutomaticKeepAlive, A.Dismissible, A.DualTransitionBuilder, A.EditableText, A._ScribbleFocusable, A._TextEditingHistory, A.Focus, A.FocusTraversalGroup, A.RawGestureDetector, A.Hero, A.Image, A.Localizations, A._MediaQueryFromWindow, A.Navigator, A._OverlayEntryWidget, A.Overlay, A.GlowingOverscrollIndicator, A.StretchingOverscrollIndicator, A.PageView, A.RawKeyboardListener, A.RestorationScope, A.RootRestorationScope, A.Router, A._ModalScope, A.ScrollNotificationObserver, A.Scrollable0, A._ScrollableSelectionHandler, A.SelectionContainer, A.SharedAppData, A.Shortcuts, A.ShortcutRegistrar, A._SelectionKeepAlive, A._SelectionHandleOverlay, A.TextSelectionGestureDetector, A.TickerMode, A.ValueListenableBuilder, A.MarkdownWidget, A.ProviderScope]);
    _inherit(A.State, A._State_Object_Diagnosticable);
    _inheritMany(A.State, [A.__AnalyticsPromptState_State_ProvidedControllerMixin, A._DevToolsAppState_State_AutoDisposeMixin, A._ChartState_State_AutoDisposeMixin, A._FlameChartState_State_AutoDisposeMixin, A._ScrollingFlameChartRowState_State_AutoDisposeMixin, A._TreemapState, A.DragAndDropState, A.__CustomPointerScrollableState_State_TickerProviderStateMixin, A.__AppSizeBodyState_State_AutoDisposeMixin, A.__AnalysisViewState_State_AutoDisposeMixin, A.__DiffViewState_State_AutoDisposeMixin, A._CallGraphWithDominatorsState, A._CallGraphViewState, A.__BreakpointsState_State_ProvidedControllerMixin, A.__CallStackState_State_ProvidedControllerMixin, A.__CodeViewState_State_AutoDisposeMixin, A.__LinesState_State_AutoDisposeMixin, A.__LineItemState_State_ProvidedControllerMixin, A._DebuggerConsoleState, A.__DebuggingControlsState_State_AutoDisposeMixin, A._DebuggerScreenBodyState_State_AutoDisposeMixin, A.__DebuggerStatusState_State_AutoDisposeMixin, A.__FloatingDebuggerControlsState_State_AutoDisposeMixin, A._ExpressionEvalFieldState_State_AutoDisposeMixin, A._FileSearchFieldState_State_AutoDisposeMixin, A.__FileExplorerState_State_AutoDisposeMixin, A._InspectorScreenBodyState_State_BlockingActionMixin, A.__InspectorExpandCollapseButtonsState_State_BlockingActionMixin, A.__InspectorTreeRowState_State_TickerProviderStateMixin, A.__InspectorTreeState_State_SingleTickerProviderStateMixin, A._LayoutExplorerWidgetState_State_TickerProviderStateMixin, A._VisualizeFlexChildrenState, A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin, A.__LogDetailsState_State_SingleTickerProviderStateMixin, A.__LoggingScreenState_State_AutoDisposeMixin, A._AllocationTableViewState_State_AutoDisposeMixin, A._AnalysisInstanceViewState_State_AutoDisposeMixin, A._SnapshotFilterState_State_AutoDisposeMixin, A._HeapTreeViewState_State_AutoDisposeMixin, A._MemoryHeapTableState_State_AutoDisposeMixin, A._MemoryHeapTreemapState_State_AutoDisposeMixin, A._InstanceTreeViewState_State_AutoDisposeMixin, A._MemoryBodyState_State_AutoDisposeMixin, A.__MemoryChartPaneState_State_AutoDisposeMixin, A._MemoryAndroidChartState_State_AutoDisposeMixin, A._MemoryEventsPaneState_State_AutoDisposeMixin, A._MemoryVMChartState_State_AutoDisposeMixin, A.__ToggleAdbMemoryButtonState_State_ProvidedControllerMixin, A.__MemoryControlPaneState_State_AutoDisposeMixin, A.__IntervalDropdownState_State_ProvidedControllerMixin, A.__PrimaryControlsState_State_ProvidedControllerMixin, A.__SecondaryControlsState_State_ProvidedControllerMixin, A.__MemorySourceDropdownState_State_ProvidedControllerMixin, A._LeaksPaneState, A.__NetworkScreenBodyState_State_AutoDisposeMixin, A.__NetworkProfilerControlsState_State_AutoDisposeMixin, A.__TrackWidgetBuildsSettingState_State_AutoDisposeMixin, A.__FlutterFramesChartState_State_AutoDisposeMixin, A._FrameTimeVisualizerState, A._PerformanceScreenBodyState_State_AutoDisposeMixin, A.__TabbedPerformanceViewState_State_AutoDisposeMixin, A.__NavigateInThreadInButtonState_State_AutoDisposeMixin, A.__CpuProfilerState_State_TickerProviderStateMixin, A.__ProfilerScreenBodyState_State_AutoDisposeMixin, A.ConsumerState, A._EditableFieldState, A._ProviderScreenWrapperState, A._IsolatePortsWidgetState, A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin, A.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin, A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin, A.__ServiceExtensionToggleState_State__ServiceExtensionMixin, A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin, A.__ServiceExtensionCheckboxGroupButtonState_State_AutoDisposeMixin, A.__JsonViewerState_State_ProvidedControllerMixin, A._BlinkingIconState, A.__DualValueListenableBuilderState_State_AutoDisposeMixin, A.__KeepAliveWrapperState_State_AutomaticKeepAliveClientMixin, A.__ConsoleOutputState_State_AutoDisposeMixin, A.__VMFlagsDialogState_State_AutoDisposeMixin, A._FileImportContainerState, A._DualFileImportContainerState, A._HistoryViewportState, A.__InitializerState_State_SingleTickerProviderStateMixin, A._LandingScreenBodyState, A.__ConnectDialogState_State_BlockingActionMixin, A.NotificationsState, A.__NotificationState_State_SingleTickerProviderStateMixin, A.__ReleaseNotesViewerState_State_AutoDisposeMixin, A._DevToolsScaffoldState_State_AutoDisposeMixin, A._KeyboardShortcutsState_State_AutoDisposeMixin, A._SnapshotScreenBodyState, A._SplitState, A.FlatTableState, A._TreeTableState_State_TickerProviderStateMixin, A.__TableState_State_AutoDisposeMixin, A.__TableRowState_State_TickerProviderStateMixin, A.__TreeViewState_State_TreeMixin, A.__TreeViewItemState_State_TickerProviderStateMixin, A.__FilterDialogState_State_AutoDisposeMixin, A._HoverCardTooltipState, A._AutoCompleteState_State_AutoDisposeMixin, A.__AutoCompleteSearchFieldState_State_AutoDisposeMixin, A.__AnalyticsTabbedViewState_State_TickerProviderStateMixin, A._OffsetScrollbarState, A._CupertinoBackGestureDetectorState, A._RawScrollbarState_State_TickerProviderStateMixin, A._MaterialAppState, A._AppBarState, A.__RawMaterialButtonState_State_MaterialStateMixin, A.__ButtonStyleState_State_MaterialStateMixin, A.__CheckboxState_State_TickerProviderStateMixin, A._DropdownMenuItemButtonState, A._DropdownMenuState, A.__DropdownButtonState_State_WidgetsBindingObserver, A.__ExpansionTileState_State_SingleTickerProviderStateMixin, A._InkState, A.__InkResponseState_State_AutomaticKeepAliveClientMixin, A.__BorderContainerState_State_TickerProviderStateMixin, A.__HelperErrorState_State_SingleTickerProviderStateMixin, A.__InputDecoratorState_State_TickerProviderStateMixin, A.__MaterialState_State_TickerProviderStateMixin, A._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin, A.__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin, A.__NavigationRailState_State_TickerProviderStateMixin, A.PopupMenuItemState, A.PopupMenuButtonState, A.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin, A.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin, A.__RadioState_State_TickerProviderStateMixin, A._ScaffoldMessengerState_State_TickerProviderStateMixin, A.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin, A._ScaffoldState_State_TickerProviderStateMixin, A._SelectableTextState, A._SnackBarState, A.__MaterialSwitchState_State_TickerProviderStateMixin, A._TabBarState, A._TabBarViewState, A.__TextFieldState_State_RestorationMixin, A._TooltipState_State_SingleTickerProviderStateMixin, A._ActionsState, A._FocusableActionDetectorState, A.__AnimatedCrossFadeState_State_TickerProviderStateMixin, A.__AnimatedSizeState_State_SingleTickerProviderStateMixin, A.__WidgetsAppState_State_WidgetsBindingObserver, A._StreamBuilderBaseState, A._FutureBuilderState, A._AutomaticKeepAliveState, A.__DismissibleState_State_TickerProviderStateMixin, A._DualTransitionBuilderState, A._EditableTextState_State_AutomaticKeepAliveClientMixin, A._ScribbleFocusableState, A._TextEditingHistoryState, A._FocusState, A._FocusTraversalGroupState, A.RawGestureDetectorState, A._HeroState, A.__ImageState_State_WidgetsBindingObserver, A._LocalizationsState, A.__MediaQueryFromWindowState_State_WidgetsBindingObserver, A._NavigatorState_State_TickerProviderStateMixin, A._OverlayEntryWidgetState, A._OverlayState_State_TickerProviderStateMixin, A.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin, A.__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin, A._PageViewState, A._RawKeyboardListenerState, A.__RestorationScopeState_State_RestorationMixin, A._RootRestorationScopeState, A.__RouterState_State_RestorationMixin, A._ModalScopeState, A.ScrollNotificationObserverState, A._ScrollableState_State_TickerProviderStateMixin, A._ScrollableSelectionHandlerState, A.__SelectionContainerState_State_Selectable, A._SharedAppDataState, A._ShortcutsState, A._ShortcutRegistrarState, A.__SelectionKeepAliveState_State_AutomaticKeepAliveClientMixin, A._StatusTransitionState, A.__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin, A._TextSelectionGestureDetectorState, A._TickerModeState, A._AnimatedState, A._ValueListenableBuilderState, A._MarkdownWidgetState, A.ProviderScopeState]);
    _inherit(A._AnalyticsPromptState, A.__AnalyticsPromptState_State_ProvidedControllerMixin);
    _inherit(A.DevToolsAppState, A._DevToolsAppState_State_AutoDisposeMixin);
    _inheritMany(A.StatelessWidget, [A.OpenSettingsAction, A.SettingsDialog, A.CheckboxSetting, A.FlameChartNodeWidget, A.FlameChartHelpButton, A._FlameChartHelpDialog, A.EmptyFlameChartRow, A.ScrollView, A.AppSizeAnalysisTable, A.AppSizeDiffTable, A.DominatorTree, A.BreakpointsCountBadge, A.Gutter, A.GutterItem, A.ScriptPopupMenu, A.ScriptHistoryPopupMenu, A.GoToLineDialog, A.BreakOnExceptionsControl, A.DebuggerButton, A._ProgramExplorerRow, A.ProgramStructureIcon, A._ProgramOutlineView, A.ProgramExplorer, A.Variables, A.ExpandableVariable, A.DiagnosticsNodeDescription, A.InspectorBreadcrumbNavigator, A._InspectorBreadcrumb, A.FlutterInspectorSettingsDialog, A.InspectorSummaryTreeControls, A.ErrorNavigator, A.InspectorDetails, A.InspectorRowContent, A.BoxChildVisualizer, A.FlexChildVisualizer, A.ArrowWrapper, A.ArrowWidget, A.FreeSpaceVisualizerWidget, A.PaddingVisualizerWidget, A.BorderLayout, A.Truncateable, A.WidgetVisualizer, A.LayoutExplorerBackground, A.VisualizeWidthAndHeightWithConstraints, A.LogsTable, A.LegendRow, A.MemorySettingsDialog, A._DropdownMenuItemContainer, A.NetworkRequestInspector, A.HttpRequestHeadersView, A.HttpRequestView, A.HttpResponseView, A.ImageResponseView, A.HttpRequestCookiesView, A.NetworkRequestOverviewView, A._NetworkProfilerBody, A.NetworkRequestsTable, A.EnhanceTracingButton, A.TrackWidgetBuildsCheckbox, A.TrackWidgetBuildsScopeSelector, A.EventDetails, A.EventSummary, A.EventMetaData, A.ExpandingEventMetaData, A.FlutterFramesChartItem, A.FlutterFrameTooltip, A.AverageFPS, A.ShaderJankWarningIcon, A.FlutterFrameAnalysisView, A.FramePhaseBlock, A.IntelligentFrameFindings, A._Hint, A._EnhanceTracingHint, A._SmallEnhanceTracingButton, A.RefreshTimelineEventsButton, A._PrimaryControls0, A.SecondaryPerformanceControls, A.MoreDebuggingOptionsButton, A.PerformanceSettingsDialog, A.TimelineStreamSettings, A.FlutterSettings, A.RenderingLayerVisualizer, A.LayerSnapshotTable, A.LayerImage, A.LayerImageDialog, A.TimelineEventsView, A.ThreadNavigatorButton, A.CpuBottomUpTable, A.CpuCallTreeTable, A.CpuProfileFilterDialog, A.CpuProfilerDisabled, A.UserTagDropdown, A.ProfilerScreenControls, A._PrimaryControls, A._SecondaryControls, A._ObjectHeader, A._Expandable, A.IsolateStatisticsViewBody, A.GeneralIsolateStatisticsWidget, A.IsolateMemoryStatisticsWidget, A.TagStatisticsWidget, A.StackTraceViewerWidget, A.ServiceExtensionsWidget, A.VMInfoCard, A.VMInfoList, A.VMStatisticsViewBody, A.VMStatisticsWidget, A.GeneralVMStatisticsWidget, A.ProcessStatisticsWidget, A.IsolatesPreviewWidget, A.HotReloadButton, A.HotRestartButton, A.StructuredErrorsToggle, A._ServiceExtensionCheckboxGroupOverlay, A.ServiceExtensionTooltip, A.ServiceExtensionRichTooltip, A.DevToolsAboutDialog, A._FeedbackLink, A._DiscordLink, A.OpenAboutAction, A.BannerMessages, A.BannerMessage, A.PaddedDivider, A.IconLabelButton, A.HelpButton, A.ExpandAllButton, A.CollapseAllButton, A.RecordingInfo, A.RecordingStatus, A.RecordingInstructions, A.ProcessingInfo, A.BulletSpacer, A.Badge, A.DevToolsTooltip, A.DevToolsIconButton, A.ToolbarAction, A.AreaPaneHeader, A.DevToolsToggleButtonGroup, A.FilterButton, A.RoundedDropDownButton, A.OutlinedRowGroup, A.OutlineDecoration, A.RoundedOutlinedBorder, A.LeftBorder, A.CenteredMessage, A.CenteredCircularProgressIndicator, A.CircularIconButton, A.BreadcrumbNavigator, A.Breadcrumb, A.FormattedJson, A.MoreInfoLink, A.Legend, A.CopyToClipboardControl, A.NotifierCheckbox, A.CheckboxSetting0, A.SmallCircularProgressIndicator, A.ElevatedCard, A.Console, A.ConsoleFrame, A.DeleteControl, A.DeviceDialog, A._ViewVMFlagsButton, A._FlagTable, A.DevToolsDialog, A.DialogCloseButton, A.DialogCancelButton, A.DialogApplyButton, A.DialogTextButton, A.FileImportButton, A.FlexSplitColumn, A.LandingScreenSection, A.ImportFileInstructions, A.AppSizeToolingInstructions, A.Notifications, A.NotificationAction, A.ReportFeedbackButton, A.DefaultSplitter, A.StatusLine, A.IsolateSelector, A.IsolateOption, A._ColumnGroupHeaderRow, A._ColumnGroupSpacer, A.ToggleFilterElement, A.CustomIcon, A.CircleIcon, A.ColorIcon, A.AssetImageIcon, A.ThemedImageIcon, A.ImageIconLabel, A.MaterialIconLabel, A.AutoCompleteTile, A._SearchField, A._SearchFieldSuffix, A.SearchNavigationControls, A.Tab, A.ProfileGranularityDropdown, A.CupertinoPageTransition, A.CupertinoTheme, A.Card, A.DataTable, A.InkResponse, A.Dialog, A.AlertDialog, A.Divider, A.VerticalDivider, A._DropdownRoutePage, A.FloatingActionButton, A.IconButton, A._AffixText, A.ListTile, A._ShapeBorderPaint, A.NavigationIndicator, A._RailDestination, A._AddIndicator, A._ZoomPageTransition, A._ZoomEnterTransition, A._ZoomExitTransition, A._PopupMenu, A._BodyBuilder, A.Scrollbar, A.Switch, A.Theme, A.ToggleButtons, A._TooltipOverlay, A._NullWidget0, A.PositionedDirectional, A.KeyedSubtree, A.Builder, A.Container, A._NullWidget1, A.DefaultTextEditingShortcuts, A.DisplayFeatureSubScreen, A.ExcludeFocus, A.GestureDetector, A.Icon, A._CaptureAll, A.ModalBarrier, A._ModalBarrierGestureDetector, A.NavigationToolbar, A.PageStorage, A.Placeholder, A.PreferredSize, A.SafeArea, A.SingleChildScrollView, A.SliverFillViewport, A.Spacer, A._NullWidget3, A.Text, A.Title, A.Nested, A._NestedHook, A.SingleChildStatelessWidget]);
    _inherit(A.ChartState, A._ChartState_State_AutoDisposeMixin);
    _inheritMany(A.Listenable, [A.CustomPainter, A.ValueListenable, A.RouterDelegate, A.Animation, A._MergingListenable, A._SystemFontsNotifier, A.CustomClipper]);
    _inheritMany(A.CustomPainter, [A.ChartPainter, A.FlameChartPainter, A.MultiCellPainter, A._RowPainter, A._ArrowPainter, A.OverflowIndicatorPainter, A.DashedLine, A.ChartAxisPainter, A.FPSLinePainter, A._BreadcrumbPainter, A.BadgePainter, A._ColorIconPainter, A._TextSelectionHandlePainter, A._DropdownMenuPainter, A._InputBorderPainter, A._ShapeBorderPainter, A._LinearProgressIndicatorPainter, A._CircularProgressIndicatorPainter, A._IndicatorPainter, A._TextSelectionHandlePainter0, A._GlowingOverscrollIndicatorPainter, A._PlaceholderPainter]);
    _inheritMany(A.DisposableController, [A._ChartController_DisposableController_AutoDisposeControllerMixin, A._DebuggerController_DisposableController_AutoDisposeControllerMixin, A._ProgramExplorerController_DisposableController_AutoDisposeControllerMixin, A._InspectorController_DisposableController_AutoDisposeControllerMixin, A._InspectorServiceBase_DisposableController_AutoDisposeControllerMixin, A._LoggingController_DisposableController_SearchControllerMixin, A._MemoryController_DisposableController_AutoDisposeControllerMixin, A._PerformanceController_DisposableController_SearchControllerMixin, A._ProfilerScreenController_DisposableController_AutoDisposeControllerMixin, A._IsolateStatisticsViewController_DisposableController_AutoDisposeControllerMixin, A.VMStatisticsViewController, A._ScriptManager_DisposableController_AutoDisposeControllerMixin, A._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin, A._EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin, A._AutoCompleteController_DisposableController_SearchControllerMixin]);
    _inherit(A.ChartController, A._ChartController_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.DataAggregate, A.Data);
    _inherit(A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin, A._FlameChartState_State_AutoDisposeMixin);
    _inherit(A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin, A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin);
    _inherit(A.FlameChartState, A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin);
    _inherit(A.ScrollingFlameChartRowState, A._ScrollingFlameChartRowState_State_AutoDisposeMixin);
    _inheritMany(A.ExtentDelegate, [A._ScrollingFlameChartRowExtentDelegate, A.FixedExtentDelegateBase]);
    _inheritMany(A.FlameChartPainter, [A.TimelineGridPainter, A.AsyncGuidelinePainter, A.SelectedFrameBracketPainter]);
    _inheritMany(A.TreeNode, [A.TreemapNode, A.DominatorTreeNode, A.VMServiceObjectNode, A.Reference, A.AnalysisField, A.FieldReference, A.Tracker, A._TimelineEvent_TreeNode_DataSearchStateMixin, A._CpuStackFrame_TreeNode_ProfilableDataMixin, A.DartObjectNode]);
    _inheritMany(A.ProxyWidget, [A.ParentDataWidget, A.InheritedWidget, A.NotificationListener]);
    _inheritMany(A.ParentDataWidget, [A.Positioned, A.LayoutId, A.Flexible, A.KeepAlive, A.TableCell]);
    _inherit(A.PositionedCell, A.Positioned);
    _inherit(A.DragAndDropManagerWeb, A.DragAndDropManager);
    _inherit(A.ExportControllerWeb, A.ExportController);
    _inherit(A.NetworkRequest, A._NetworkRequest_Object_DataSearchStateMixin);
    _inheritMany(A.NetworkRequest, [A.DartIOHttpRequestData, A.WebSocket]);
    _inherit(A.BoxScrollView, A.ScrollView);
    _inheritMany(A.BoxScrollView, [A.CustomPointerScrollView, A.ListView]);
    _inherit(A._CustomPointerScrollableState, A.__CustomPointerScrollableState_State_TickerProviderStateMixin);
    _inheritMany(A.InheritedWidget, [A._ScrollableScope0, A._InheritedNotifications, A._InheritedCupertinoTheme, A.DropdownButtonHideUnderline, A.FlexibleSpaceBarSettings, A._ParentInkResponseProvider, A.InheritedTheme, A._ExtendedNavigationRailAnimation, A._ScaffoldMessengerScope, A._ScaffoldScope, A._ActionsMarker, A._UbiquitousInheritedWidget, A.InheritedNotifier, A._FocusTraversalGroupMarker, A.InheritedModel, A._LocalizationsScope, A.MediaQuery, A.HeroControllerScope, A.PrimaryScrollController, A.UnmanagedRestorationScope, A._RouterScope, A._ModalScopeStatus, A.ScrollConfiguration, A._ScrollNotificationObserverScope, A._ScrollableScope, A.SelectionRegistrarScope, A._ShortcutRegistrarMarker, A._EffectiveTickerMode, A.UncontrolledProviderScope, A._InheritedProviderScope]);
    _inheritMany(A.RenderObjectWidget, [A.SingleChildRenderObjectWidget, A.SliverWithKeepAliveWidget, A.__Decorator_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin, A.__ListTile_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin, A.MultiChildRenderObjectWidget, A.LeafRenderObjectWidget, A.RenderObjectToWidgetAdapter, A.ConstrainedLayoutBuilder, A.Table]);
    _inheritMany(A.SingleChildRenderObjectWidget, [A._ScrollSemantics0, A._AppBarTitleBox, A._InputPadding, A._InputPadding0, A._MenuItem0, A._ChildOverflowBox, A._InkFeatures, A._MenuItem, A._SelectToggleButton, A._InputPadding1, A._AnimatedSize, A.AnnotatedRegion, A.Opacity, A.CustomPaint, A.ClipRect, A.ClipRRect, A.ClipPath, A.PhysicalModel, A.PhysicalShape, A.Transform, A.CompositedTransformTarget, A.CompositedTransformFollower, A.FractionalTranslation, A.RotatedBox, A.Padding, A.Align, A.CustomSingleChildLayout, A.SizedBox, A.ConstrainedBox, A.LimitedBox, A.OverflowBox, A.Offstage, A.IntrinsicWidth, A.IntrinsicHeight, A.SliverPadding, A.Listener, A.MouseRegion, A.RepaintBoundary, A.IgnorePointer, A.AbsorbPointer, A.MetaData, A.Semantics, A.MergeSemantics, A.BlockSemantics, A.ExcludeSemantics, A.IndexedSemantics, A.ColoredBox, A.DecoratedBox, A._GestureSemantics, A.FocusTrap, A.FocusTrapArea, A._ScrollSemantics, A._SingleChildViewport, A._SliverFractionalPadding, A.FadeTransition]);
    _inheritMany(A.AbstractNode, [A._RenderObject_AbstractNode_DiagnosticableTreeMixin, A._Layer_AbstractNode_DiagnosticableTreeMixin, A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin]);
    _inherit(A.RenderObject, A._RenderObject_AbstractNode_DiagnosticableTreeMixin);
    _inheritMany(A.RenderObject, [A.RenderBox, A.RenderSliver, A._RenderView_RenderObject_RenderObjectWithChildMixin]);
    _inheritMany(A.RenderBox, [A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin, A._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin, A.__RenderDecoration_RenderBox_SlottedContainerRenderObjectMixin, A.__RenderListTile_RenderBox_SlottedContainerRenderObjectMixin, A._RenderFlex_RenderBox_ContainerRenderObjectMixin, A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin, A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin, A._RenderEditableCustomPaint, A.RenderErrorBox, A.RenderImage, A._RenderListBody_RenderBox_ContainerRenderObjectMixin, A._RenderParagraph_RenderBox_ContainerRenderObjectMixin, A.RenderPerformanceOverlay, A._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin, A._RenderStack_RenderBox_ContainerRenderObjectMixin, A.RenderTable, A._RenderViewportBase_RenderBox_ContainerRenderObjectMixin, A._RenderWrap_RenderBox_ContainerRenderObjectMixin, A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin, A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin, A.__RenderTheatre_RenderBox_ContainerRenderObjectMixin, A.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin]);
    _inherit(A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin, A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin);
    _inherit(A.RenderProxyBox, A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin);
    _inheritMany(A.RenderProxyBox, [A._RenderScrollSemantics0, A._RenderMenuItem0, A._RenderInkFeatures, A.RenderCustomPaint, A.RenderProxyBoxWithHitTestBehavior, A.RenderConstrainedBox, A.RenderLimitedBox, A.RenderIntrinsicWidth, A.RenderIntrinsicHeight, A.RenderOpacity, A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin, A._RenderCustomClip, A.RenderDecoratedBox, A.RenderTransform, A.RenderFractionalTranslation, A.RenderRepaintBoundary, A.RenderIgnorePointer, A.RenderOffstage, A.RenderAbsorbPointer, A.RenderSemanticsAnnotations, A.RenderBlockSemantics, A.RenderMergeSemantics, A.RenderExcludeSemantics, A.RenderIndexedSemantics, A.RenderLeaderLayer, A.RenderFollowerLayer, A.RenderAnnotatedRegion, A._RenderFocusTrapArea, A._RenderScrollSemantics]);
    _inheritMany(A.ChangeNotifier, [A._ExtentDelegateChangeNotifier, A._LinkedScrollControllerGroupOffsetNotifier, A.ScrollController, A.ViewportOffset, A.ValueNotifier, A.ListValueNotifier, A.ToggleablePainter, A._InputBorderGap, A._ScaffoldGeometryNotifier, A.TabController, A.RenderEditablePainter, A.MouseTracker, A.SemanticsOwner, A.RestorationManager, A.KeepAliveHandle, A.RestorableProperty, A._GlowController, A._StretchController, A.ScrollbarPainter]);
    _inherit(A.FixedExtentDelegate, A.FixedExtentDelegateBase);
    _inherit(A.ExtentDelegateListView, A.CustomPointerScrollView);
    _inherit(A.SliverMultiBoxAdaptorWidget, A.SliverWithKeepAliveWidget);
    _inheritMany(A.SliverMultiBoxAdaptorWidget, [A.SliverExtentDelegateList, A.SliverList, A.SliverFixedExtentList, A._SliverFillViewportRenderObjectWidget]);
    _inheritMany(A.RenderSliver, [A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin, A._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin]);
    _inherit(A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers, A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin);
    _inherit(A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin, A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers);
    _inherit(A.RenderSliverMultiBoxAdaptor, A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin);
    _inheritMany(A.RenderSliverMultiBoxAdaptor, [A.RenderSliverExtentDelegateBoxAdaptor, A.RenderSliverFixedExtentBoxAdaptor, A.RenderSliverList]);
    _inheritMany(A.ScrollController, [A._LinkedScrollController, A._TabBarScrollController, A.PageController]);
    _inherit(A._ScrollPosition_ViewportOffset_ScrollMetrics, A.ViewportOffset);
    _inherit(A.ScrollPosition, A._ScrollPosition_ViewportOffset_ScrollMetrics);
    _inherit(A.ScrollPositionWithSingleContext, A.ScrollPosition);
    _inheritMany(A.ScrollPositionWithSingleContext, [A._LinkedScrollPosition, A._TabBarScrollPosition, A._PagePosition]);
    _inheritMany(A.ScrollActivity, [A._LinkedScrollActivity, A.IdleScrollActivity, A.HoldScrollActivity, A.DragScrollActivity, A.BallisticScrollActivity, A.DrivenScrollActivity]);
    _inheritMany(A.LineSegment0, [A.HorizontalLineSegment, A.VerticalLineSegment]);
    _inheritMany(A.ValueListenable, [A.FixedValueListenable, A.RouteInformationProvider]);
    _inheritMany(A.SliverChildDelegate, [A.SliverIterableChildDelegate, A.SliverChildBuilderDelegate, A.SliverChildListDelegate]);
    _inheritMany(A.ValueNotifier, [A.ImmediateValueNotifier, A.TextEditingController]);
    _inherit(A.DevToolsJsonFile, A.DevToolsFile);
    _inherit(A.ImmutableList, A._ImmutableList_Object_ListMixin);
    _inheritMany(A.Screen, [A.AppSizeScreen, A.DebuggerScreen, A.InspectorScreen, A.LoggingScreen, A.MemoryScreen, A.NetworkScreen, A.PerformanceScreen, A.ProfilerScreen, A.ProviderScreen, A.VMDeveloperToolsScreen, A.SimpleScreen]);
    _inherit(A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.__AppSizeBodyState_State_AutoDisposeMixin);
    _inherit(A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin, A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin);
    _inherit(A._AppSizeBodyState, A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin);
    _inherit(A.__AnalysisViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__AnalysisViewState_State_AutoDisposeMixin);
    _inherit(A._AnalysisViewState, A.__AnalysisViewState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A.__DiffViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__DiffViewState_State_AutoDisposeMixin);
    _inherit(A._DiffViewState, A.__DiffViewState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inheritMany(A.ColumnData, [A.TreeColumnData, A._SizeColumn, A._SizePercentageColumn, A._DiffColumn, A.FromColumn, A.ToColumn, A.KindColumn, A.MessageColumn, A.WhenColumn, A.FieldTrack, A.FieldClassName, A.FieldInstanceCountColumn, A.FieldInstanceDeltaColumn, A.FieldSizeColumn, A.FieldSizeDeltaColumn, A._AnalysisFieldValueColumn, A._ClassOrInstanceCountColumn, A._ShallowSizeColumn, A._FieldNameColumn, A._FieldValueColumn, A._TrackerCountColumn, A.UriColumn, A.MethodColumn, A.ActionsColumn, A.StatusColumn, A.TypeColumn, A.DurationColumn, A.TimestampColumn, A._LayerColumn, A._RenderingTimePercentageColumn, A.SelfTimeColumn, A.TotalTimeColumn, A.SourceColumn, A._TagColumn, A._PercentageColumn, A._PortIDColumn, A._PortNameColumn, A._StackTraceViewerFrameColumn, A._ServiceExtensionNameColumn, A._IsolateNameColumn, A._IsolateIDColumn, A._IsolateMemoryColumn, A._NameColumn, A._DescriptionColumn, A._ValueColumn]);
    _inheritMany(A.TreeColumnData, [A._NameColumn0, A._PackageColumn, A._AnalysisFieldNameColumn, A._LibraryRefColumn, A._FieldTypeColumn, A._TrackerClassColumn, A.MethodNameColumn]);
    _inherit(A._BreakpointsState, A.__BreakpointsState_State_ProvidedControllerMixin);
    _inherit(A._CallStackState, A.__CallStackState_State_ProvidedControllerMixin);
    _inherit(A.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin, A.__CodeViewState_State_AutoDisposeMixin);
    _inherit(A._CodeViewState, A.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(A._LinesState, A.__LinesState_State_AutoDisposeMixin);
    _inherit(A._LineItemState, A.__LineItemState_State_ProvidedControllerMixin);
    _inherit(A.__DebuggingControlsState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__DebuggingControlsState_State_AutoDisposeMixin);
    _inherit(A._DebuggingControlsState, A.__DebuggingControlsState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, A._DebuggerController_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.DebuggerController, A._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin);
    _inherit(A.ScriptsHistory, A.HistoryManager);
    _inherit(A.SourceToken, A._SourceToken_Object_DataSearchStateMixin);
    _inheritMany(A.BreakpointAndSourcePosition, [A._BreakpointAndSourcePositionResolved, A._BreakpointAndSourcePositionUnresolved]);
    _inherit(A._DebuggerScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin, A._DebuggerScreenBodyState_State_AutoDisposeMixin);
    _inherit(A.DebuggerScreenBodyState, A._DebuggerScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A.Intent, A._Intent_Object_Diagnosticable);
    _inheritMany(A.Intent, [A.GoToLineNumberIntent, A.SearchInFileIntent, A.EscapeIntent, A.OpenFileIntent, A.ActivateIntent, A.ButtonActivateIntent, A.DismissIntent, A.PrioritizedIntents, A.NextFocusIntent, A.PreviousFocusIntent, A.DirectionalFocusIntent, A.ScrollIntent, A.DoNothingAndStopPropagationTextIntent, A.DirectionalTextEditingIntent, A.SelectAllTextIntent, A.CopySelectionTextIntent, A.PasteTextIntent, A.RedoTextIntent, A.ReplaceTextIntent, A.UndoTextIntent, A.UpdateSelectionIntent, A.TransposeCharactersIntent]);
    _inherit(A.Action, A._Action_Object_Diagnosticable);
    _inheritMany(A.Action, [A.GoToLineNumberAction, A.SearchInFileAction, A.EscapeAction, A.OpenFileAction, A.ContextAction, A.CallbackAction, A.VoidCallbackAction, A.DoNothingAction, A.DismissAction, A.PrioritizedAction, A._ContextActionToActionAdapter, A.RequestFocusAction, A.NextFocusAction, A.PreviousFocusAction, A.DirectionalFocusAction, A.ScrollAction]);
    _inherit(A._DebuggerStatusState, A.__DebuggerStatusState_State_AutoDisposeMixin);
    _inherit(A.__FloatingDebuggerControlsState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__FloatingDebuggerControlsState_State_AutoDisposeMixin);
    _inherit(A._FloatingDebuggerControlsState, A.__FloatingDebuggerControlsState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin, A._ExpressionEvalFieldState_State_AutoDisposeMixin);
    _inherit(A.ExpressionEvalFieldState, A._ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(A._FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin, A._FileSearchFieldState_State_AutoDisposeMixin);
    _inherit(A.FileSearchFieldState, A._FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(A._FileExplorerState, A.__FileExplorerState_State_AutoDisposeMixin);
    _inherit(A.ProgramExplorerController, A._ProgramExplorerController_DisposableController_AutoDisposeControllerMixin);
    _inheritMany(A._Matcher, [A._SimpleMatcher, A._MultilineMatcher, A._IncludeMatcher]);
    _inheritMany(A.TextSelectionControls, [A.MaterialTextSelectionControls, A._CupertinoDesktopTextSelectionControls, A.CupertinoTextSelectionControls, A._DesktopTextSelectionControls]);
    _inherit(A.VariableSelectionControls, A.MaterialTextSelectionControls);
    _inherit(A.InspectorController, A._InspectorController_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.FlexLayoutProperties, A.LayoutProperties);
    _inherit(A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin, A._InspectorScreenBodyState_State_BlockingActionMixin);
    _inherit(A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin, A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin);
    _inherit(A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin, A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A.InspectorScreenBodyState, A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin);
    _inherit(A._InspectorExpandCollapseButtonsState, A.__InspectorExpandCollapseButtonsState_State_BlockingActionMixin);
    _inherit(A.InspectorServiceBase, A._InspectorServiceBase_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.InspectorService, A.InspectorServiceBase);
    _inherit(A.ObjectGroup, A.ObjectGroupBase);
    _inherit(A.InspectorTreeRow, A._InspectorTreeRow_Object_DataSearchStateMixin);
    _inherit(A.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, A.__InspectorTreeRowState_State_TickerProviderStateMixin);
    _inherit(A._InspectorTreeRowState, A.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin);
    _inherit(A.InspectorTreeController, A._InspectorTreeController_Object_SearchControllerMixin);
    _inherit(A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin, A.__InspectorTreeState_State_SingleTickerProviderStateMixin);
    _inherit(A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin, A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin);
    _inherit(A._InspectorTreeState, A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin);
    _inheritMany(A.LayoutExplorerWidget, [A.BoxLayoutExplorerWidget, A.FlexLayoutExplorerWidget]);
    _inherit(A.LayoutExplorerWidgetState, A._LayoutExplorerWidgetState_State_TickerProviderStateMixin);
    _inheritMany(A.LayoutExplorerWidgetState, [A._BoxLayoutExplorerWidgetState, A._FlexLayoutExplorerWidgetState]);
    _inherit(A.AnimatedFlexLayoutProperties, A.AnimatedLayoutProperties);
    _inherit(A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin, A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin);
    _inherit(A._LayoutExplorerTabState, A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin);
    _inherit(A._LogDetailsState, A.__LogDetailsState_State_SingleTickerProviderStateMixin);
    _inherit(A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin, A._LoggingController_DisposableController_SearchControllerMixin);
    _inherit(A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin, A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin);
    _inherit(A.LoggingController, A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin);
    _inherit(A.LogData, A._LogData_Object_DataSearchStateMixin);
    _inherit(A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__LoggingScreenState_State_AutoDisposeMixin);
    _inherit(A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin, A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._LoggingScreenState, A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin);
    _inherit(A._AllocationTableViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A._AllocationTableViewState_State_AutoDisposeMixin);
    _inherit(A.AllocationTableViewState, A._AllocationTableViewState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._AnalysisInstanceViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A._AnalysisInstanceViewState_State_AutoDisposeMixin);
    _inherit(A.AnalysisInstanceViewState, A._AnalysisInstanceViewState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, A._MemoryController_DisposableController_AutoDisposeControllerMixin);
    _inherit(A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin, A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin);
    _inherit(A.MemoryController, A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin);
    _inherit(A.SnapshotFilterState, A._SnapshotFilterState_State_AutoDisposeMixin);
    _inheritMany(A.HeapGraphElement, [A.HeapGraphElementSentinel, A.HeapGraphElementLive, A.HeapGraphExternalLive]);
    _inheritMany(A.HeapGraphClass, [A.HeapGraphClassSentinel, A.HeapGraphClassLive]);
    _inherit(A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A._HeapTreeViewState_State_AutoDisposeMixin);
    _inherit(A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin, A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin, A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin);
    _inherit(A.HeapTreeViewState, A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin);
    _inherit(A._MemoryHeapTableState_State_AutoDisposeMixin_ProvidedControllerMixin, A._MemoryHeapTableState_State_AutoDisposeMixin);
    _inherit(A.MemoryHeapTableState, A._MemoryHeapTableState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._MemoryHeapTreemapState_State_AutoDisposeMixin_ProvidedControllerMixin, A._MemoryHeapTreemapState_State_AutoDisposeMixin);
    _inherit(A.MemoryHeapTreemapState, A._MemoryHeapTreemapState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._InstanceTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A._InstanceTreeViewState_State_AutoDisposeMixin);
    _inherit(A.InstanceTreeViewState, A._InstanceTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A._MemoryBodyState_State_AutoDisposeMixin);
    _inherit(A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin, A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin);
    _inherit(A.MemoryBodyState, A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin);
    _inheritMany(A.Reference, [A.AnalysesReference, A.AnalysisSnapshotReference, A.AnalysisReference, A.AnalysisInstance, A.SnapshotReference, A.LibraryReference, A.ExternalReferences, A.ExternalReference, A.FilteredReference, A.ClassReference, A.ObjectReference]);
    _inherit(A.ExternalObjectReference, A.ObjectReference);
    _inherit(A.ObjectFieldReference, A.FieldReference);
    _inheritMany(A.Tracker, [A.TrackerClass, A.TrackerAllocation]);
    _inherit(A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.__MemoryChartPaneState_State_AutoDisposeMixin);
    _inherit(A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin, A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin);
    _inherit(A._MemoryChartPaneState, A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin);
    _inheritMany(A.ChartController, [A.AndroidChartController, A.EventChartController, A.VMChartController]);
    _inherit(A._MemoryAndroidChartState_State_AutoDisposeMixin_ProvidedControllerMixin, A._MemoryAndroidChartState_State_AutoDisposeMixin);
    _inherit(A.MemoryAndroidChartState, A._MemoryAndroidChartState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._MemoryEventsPaneState_State_AutoDisposeMixin_ProvidedControllerMixin, A._MemoryEventsPaneState_State_AutoDisposeMixin);
    _inherit(A.MemoryEventsPaneState, A._MemoryEventsPaneState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._MemoryVMChartState_State_AutoDisposeMixin_ProvidedControllerMixin, A._MemoryVMChartState_State_AutoDisposeMixin);
    _inherit(A.MemoryVMChartState, A._MemoryVMChartState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._ToggleAdbMemoryButtonState, A.__ToggleAdbMemoryButtonState_State_ProvidedControllerMixin);
    _inherit(A.__MemoryControlPaneState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__MemoryControlPaneState_State_AutoDisposeMixin);
    _inherit(A._MemoryControlPaneState, A.__MemoryControlPaneState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._IntervalDropdownState, A.__IntervalDropdownState_State_ProvidedControllerMixin);
    _inherit(A._PrimaryControlsState, A.__PrimaryControlsState_State_ProvidedControllerMixin);
    _inherit(A.__SecondaryControlsState_State_ProvidedControllerMixin_AutoDisposeMixin, A.__SecondaryControlsState_State_ProvidedControllerMixin);
    _inherit(A._SecondaryControlsState, A.__SecondaryControlsState_State_ProvidedControllerMixin_AutoDisposeMixin);
    _inherit(A.DropdownMenuItem, A._DropdownMenuItemContainer);
    _inherit(A.SourceDropdownMenuItem, A.DropdownMenuItem);
    _inherit(A._MemorySourceDropdownState, A.__MemorySourceDropdownState_State_ProvidedControllerMixin);
    _inherit(A._NetworkController_Object_SearchControllerMixin_FilterControllerMixin, A._NetworkController_Object_SearchControllerMixin);
    _inherit(A.NetworkController, A._NetworkController_Object_SearchControllerMixin_FilterControllerMixin);
    _inherit(A.__NetworkScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__NetworkScreenBodyState_State_AutoDisposeMixin);
    _inherit(A._NetworkScreenBodyState, A.__NetworkScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A.__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin, A.__NetworkProfilerControlsState_State_AutoDisposeMixin);
    _inherit(A._NetworkProfilerControlsState, A.__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin);
    _inherit(A._TrackWidgetBuildsSettingState, A.__TrackWidgetBuildsSettingState_State_AutoDisposeMixin);
    _inherit(A.__FlutterFramesChartState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__FlutterFramesChartState_State_AutoDisposeMixin);
    _inherit(A._FlutterFramesChartState, A.__FlutterFramesChartState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inherit(A._PerformanceController_DisposableController_SearchControllerMixin_AutoDisposeControllerMixin, A._PerformanceController_DisposableController_SearchControllerMixin);
    _inherit(A.PerformanceController, A._PerformanceController_DisposableController_SearchControllerMixin_AutoDisposeControllerMixin);
    _inherit(A.OfflinePerformanceData, A.PerformanceData);
    _inherit(A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, A._TimelineEvent_TreeNode_DataSearchStateMixin);
    _inherit(A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin);
    _inherit(A.TimelineEvent0, A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin);
    _inheritMany(A.TimelineEvent0, [A.OfflineTimelineEvent, A.SyncTimelineEvent, A.AsyncTimelineEvent]);
    _inherit(A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, A._PerformanceScreenBodyState_State_AutoDisposeMixin);
    _inherit(A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin, A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin);
    _inherit(A.PerformanceScreenBodyState, A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin);
    _inheritMany(A.ScreenAnalyticsMetrics, [A.PerformanceScreenMetrics, A.ProfilerScreenMetrics]);
    _inherit(A.__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin, A.__TabbedPerformanceViewState_State_AutoDisposeMixin);
    _inherit(A._TabbedPerformanceViewState, A.__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin);
    _inheritMany(A.FlameChart, [A.TimelineFlameChart, A.CpuProfileFlameChart]);
    _inheritMany(A.FlameChartState, [A._TimelineFlameChartState_FlameChartState_ProvidedControllerMixin, A._CpuProfileFlameChartState]);
    _inherit(A.TimelineFlameChartState, A._TimelineFlameChartState_FlameChartState_ProvidedControllerMixin);
    _inherit(A._NavigateInThreadInButtonState, A.__NavigateInThreadInButtonState_State_AutoDisposeMixin);
    _inheritMany(A.Disposer, [A.TimelineStreamManager, A.IsolateManager, A.ServiceExtensionManager, A.VmFlagManager, A.ConsoleService]);
    _inherit(A._CpuProfilerController_Object_SearchControllerMixin_FilterControllerMixin, A._CpuProfilerController_Object_SearchControllerMixin);
    _inherit(A.CpuProfilerController, A._CpuProfilerController_Object_SearchControllerMixin_FilterControllerMixin);
    _inherit(A.CpuProfileMetaData, A.ProfileMetaData);
    _inherit(A.CpuSample0, A.TraceEvent);
    _inherit(A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin, A._CpuStackFrame_TreeNode_ProfilableDataMixin);
    _inherit(A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin, A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin);
    _inherit(A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin);
    _inherit(A.CpuStackFrame, A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin);
    _inherit(A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin, A.__CpuProfilerState_State_TickerProviderStateMixin);
    _inherit(A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin, A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin);
    _inherit(A._CpuProfilerState, A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin);
    _inherit(A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, A.__ProfilerScreenBodyState_State_AutoDisposeMixin);
    _inherit(A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin, A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin);
    _inherit(A._ProfilerScreenBodyState, A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin);
    _inherit(A.ProfilerScreenController, A._ProfilerScreenController_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.PathToProperty, A._PathToProperty_Object__$PathToProperty);
    _inherit(A.ObjectField, A._ObjectField_Object__$ObjectField);
    _inherit(A.InstanceDetails, A._InstanceDetails_Object__$InstanceDetails);
    _inherit(A.InstancePath, A._InstancePath_Object__$InstancePath);
    _inherit(A._$ListIndexPath, A.__$ListIndexPath_Object_DiagnosticableTreeMixin);
    _inherit(A._$MapKeyPath, A.__$MapKeyPath_Object_DiagnosticableTreeMixin);
    _inherit(A._$PropertyPath, A.__$PropertyPath_Object_DiagnosticableTreeMixin);
    _inherit(A._ObjectField, A.ObjectField);
    _inherit(A.__$_ObjectField__ObjectField_DiagnosticableTreeMixin, A._ObjectField);
    _inherit(A._$_ObjectField, A.__$_ObjectField__ObjectField_DiagnosticableTreeMixin);
    _inheritMany(A.InstanceDetails, [A.NullInstance, A.BoolInstance, A.NumInstance, A.StringInstance, A.MapInstance, A.ListInstance, A.ObjectInstance, A.EnumInstance]);
    _inherit(A.__$NullInstance_NullInstance_DiagnosticableTreeMixin, A.NullInstance);
    _inherit(A._$NullInstance, A.__$NullInstance_NullInstance_DiagnosticableTreeMixin);
    _inherit(A.__$BoolInstance_BoolInstance_DiagnosticableTreeMixin, A.BoolInstance);
    _inherit(A._$BoolInstance, A.__$BoolInstance_BoolInstance_DiagnosticableTreeMixin);
    _inherit(A.__$NumInstance_NumInstance_DiagnosticableTreeMixin, A.NumInstance);
    _inherit(A._$NumInstance, A.__$NumInstance_NumInstance_DiagnosticableTreeMixin);
    _inherit(A.__$StringInstance_StringInstance_DiagnosticableTreeMixin, A.StringInstance);
    _inherit(A._$StringInstance, A.__$StringInstance_StringInstance_DiagnosticableTreeMixin);
    _inherit(A.__$MapInstance_MapInstance_DiagnosticableTreeMixin, A.MapInstance);
    _inherit(A._$MapInstance, A.__$MapInstance_MapInstance_DiagnosticableTreeMixin);
    _inherit(A.__$ListInstance_ListInstance_DiagnosticableTreeMixin, A.ListInstance);
    _inherit(A._$ListInstance, A.__$ListInstance_ListInstance_DiagnosticableTreeMixin);
    _inherit(A.__$ObjectInstance_ObjectInstance_DiagnosticableTreeMixin, A.ObjectInstance);
    _inherit(A._$ObjectInstance, A.__$ObjectInstance_ObjectInstance_DiagnosticableTreeMixin);
    _inherit(A.__$EnumInstance_EnumInstance_DiagnosticableTreeMixin, A.EnumInstance);
    _inherit(A._$EnumInstance, A.__$EnumInstance_EnumInstance_DiagnosticableTreeMixin);
    _inheritMany(A._$InstancePathCopyWithImpl, [A.__$InstancePathFromInstanceIdCopyWithImpl, A.__$InstancePathFromProviderIdCopyWithImpl]);
    _inheritMany(A.InstancePath, [A._InstancePathFromInstanceId, A._InstancePathFromProviderId]);
    _inherit(A.__$_InstancePathFromInstanceId__InstancePathFromInstanceId_DiagnosticableTreeMixin, A._InstancePathFromInstanceId);
    _inherit(A._$_InstancePathFromInstanceId, A.__$_InstancePathFromInstanceId__InstancePathFromInstanceId_DiagnosticableTreeMixin);
    _inherit(A.__$_InstancePathFromProviderId__InstancePathFromProviderId_DiagnosticableTreeMixin, A._InstancePathFromProviderId);
    _inherit(A._$_InstancePathFromProviderId, A.__$_InstancePathFromProviderId__InstancePathFromProviderId_DiagnosticableTreeMixin);
    _inheritMany(A.ConsumerStatefulWidget, [A.InstanceViewer, A.ProviderList, A.ConsumerWidget]);
    _inheritMany(A.ConsumerState, [A._InstanceViewerState, A._ProviderListState, A._ConsumerState]);
    _inherit(A.Result0, A._Result_Object__$Result);
    _inheritMany(A.Result0, [A._ResultData, A._ResultError]);
    _inherit(A.__$_ResultData__ResultData_DiagnosticableTreeMixin, A._ResultData);
    _inherit(A._$_ResultData, A.__$_ResultData__ResultData_DiagnosticableTreeMixin);
    _inherit(A.__$_ResultError__ResultError_DiagnosticableTreeMixin, A._ResultError);
    _inherit(A._$_ResultError, A.__$_ResultError__ResultError_DiagnosticableTreeMixin);
    _inheritMany(A.ConsumerWidget, [A.ProviderNodeItem, A.ProviderScreenBody, A._StateInspectorSettingsDialog]);
    _inherit(A.ErrorLoggerObserver, A.ProviderObserver);
    _inheritMany(A.VMDeveloperView, [A.IsolateStatisticsView, A.VMStatisticsView]);
    _inherit(A.IsolateStatisticsViewController, A._IsolateStatisticsViewController_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin);
    _inherit(A._VMDeveloperToolsScreenState, A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inheritMany(A._IsolateMemoryColumn, [A._IsolateNewSpaceColumn, A._IsolateOldSpaceColumn, A._IsolateHeapColumn]);
    _inherit(A.ScriptManager, A._ScriptManager_DisposableController_AutoDisposeControllerMixin);
    _inherit(A._ServiceExtensionButtonGroupState, A.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin);
    _inheritMany(A._ServiceExtensionWidget, [A._RegisteredServiceExtensionButton, A._ServiceExtensionToggle, A.ServiceExtensionCheckbox]);
    _inherit(A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin, A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin);
    _inherit(A._RegisteredServiceExtensionButtonState, A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin);
    _inherit(A.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin, A.__ServiceExtensionToggleState_State__ServiceExtensionMixin);
    _inherit(A._ServiceExtensionToggleState, A.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin);
    _inherit(A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin_AutoDisposeMixin, A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin);
    _inherit(A._ServiceExtensionCheckboxState, A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin_AutoDisposeMixin);
    _inherit(A._ServiceExtensionCheckboxGroupButtonState, A.__ServiceExtensionCheckboxGroupButtonState_State_AutoDisposeMixin);
    _inherit(A.ToggleableServiceExtensionDescription, A.ServiceExtensionDescription);
    _inherit(A.RegisteredServiceDescription, A.RegisteredService);
    _inheritMany(A.BannerMessage, [A._BannerError, A._BannerWarning]);
    _inheritMany(A.IconLabelButton, [A.OutlinedIconButton, A.PauseButton, A.ResumeButton, A.ClearButton, A.RefreshButton, A.RecordButton, A.StopRecordingButton, A.ExitOfflineButton, A.ExportButton]);
    _inherit(A.SettingsOutlinedButton, A.OutlinedIconButton);
    _inherit(A._JsonViewerState, A.__JsonViewerState_State_ProvidedControllerMixin);
    _inheritMany(A.InlineSpan, [A.TextSpan, A.PlaceholderSpan0]);
    _inherit(A.LinkTextSpan, A.TextSpan);
    _inherit(A._DualValueListenableBuilderState, A.__DualValueListenableBuilderState_State_AutoDisposeMixin);
    _inherit(A._KeepAliveWrapperState, A.__KeepAliveWrapperState_State_AutomaticKeepAliveClientMixin);
    _inherit(A.OfflineConnectedApp, A.ConnectedApp);
    _inherit(A.__ConsoleOutputState_State_AutoDisposeMixin_ProvidedControllerMixin, A.__ConsoleOutputState_State_AutoDisposeMixin);
    _inherit(A._ConsoleOutputState, A.__ConsoleOutputState_State_AutoDisposeMixin_ProvidedControllerMixin);
    _inheritMany(A.ConsoleLine, [A.TextConsoleLine, A.VariableConsoleLine]);
    _inherit(A._VMFlagsDialogState, A.__VMFlagsDialogState_State_AutoDisposeMixin);
    _inherit(A.ErrorBadgeManager, A._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.InspectableWidgetError, A.DevToolsError);
    _inherit(A.EvalOnDartLibrary, A._EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin);
    _inherit(A.EvalSentinelException, A.SentinelException0);
    _inherit(A.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin, A.__InitializerState_State_SingleTickerProviderStateMixin);
    _inherit(A._InitializerState, A.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin);
    _inherit(A._ConnectDialogState, A.__ConnectDialogState_State_BlockingActionMixin);
    _inherit(A._NotificationState, A.__NotificationState_State_SingleTickerProviderStateMixin);
    _inherit(A.__ReleaseNotesViewerState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.__ReleaseNotesViewerState_State_AutoDisposeMixin);
    _inherit(A._ReleaseNotesViewerState, A.__ReleaseNotesViewerState_State_AutoDisposeMixin_SingleTickerProviderStateMixin);
    _inheritMany(A.AnimatedWidget, [A.ReleaseNotes, A._Shaker, A._TabStyle, A.AnimatedModalBarrier, A.SlideTransition, A.ScaleTransition, A.RotationTransition, A.SizeTransition, A.DecoratedBoxTransition, A.AnimatedBuilder]);
    _inherit(A.DevToolsRouteInformationParser, A.RouteInformationParser);
    _inherit(A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier, A.RouterDelegate);
    _inherit(A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin, A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier);
    _inherit(A.DevToolsRouterDelegate, A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin);
    _inherit(A._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin, A._DevToolsScaffoldState_State_AutoDisposeMixin);
    _inherit(A.DevToolsScaffoldState, A._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin);
    _inherit(A.KeyboardShortcutsState, A._KeyboardShortcutsState_State_AutoDisposeMixin);
    _inherit(A._TreeTableState_State_TickerProviderStateMixin_TreeMixin, A._TreeTableState_State_TickerProviderStateMixin);
    _inherit(A._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin, A._TreeTableState_State_TickerProviderStateMixin_TreeMixin);
    _inherit(A.TreeTableState, A._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin);
    _inherit(A._TableState, A.__TableState_State_AutoDisposeMixin);
    _inherit(A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, A.__TableRowState_State_TickerProviderStateMixin);
    _inherit(A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin, A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin);
    _inherit(A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin, A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin);
    _inherit(A._TableRowState, A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin);
    _inherit(A.__TreeViewState_State_TreeMixin_AutoDisposeMixin, A.__TreeViewState_State_TreeMixin);
    _inherit(A._TreeViewState, A.__TreeViewState_State_TreeMixin_AutoDisposeMixin);
    _inherit(A.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, A.__TreeViewItemState_State_TickerProviderStateMixin);
    _inherit(A._TreeViewItemState, A.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin);
    _inherit(A.SemanticVersion, A._SemanticVersion_Object_CompareMixin);
    _inherit(A.FlutterVersion, A.SemanticVersion);
    _inherit(A._FilterDialogState, A.__FilterDialogState_State_AutoDisposeMixin);
    _inherit(A.AutoCompleteState, A._AutoCompleteState_State_AutoDisposeMixin);
    _inheritMany(A.TextEditingController, [A.SearchTextEditingController, A._TextSpanEditingController]);
    _inherit(A._AutoCompleteSearchFieldState, A.__AutoCompleteSearchFieldState_State_AutoDisposeMixin);
    _inherit(A._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin, A._AutoCompleteController_DisposableController_SearchControllerMixin);
    _inherit(A.AutoCompleteController, A._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin);
    _inherit(A.DevToolsTab, A.Tab);
    _inherit(A._AnalyticsTabbedViewState, A.__AnalyticsTabbedViewState_State_TickerProviderStateMixin);
    _inherit(A.MediaSize, A._MediaSize__Enum_EnumIndexOrdering);
    _inherit(A.SamplesMemoryJson, A.MemoryJson);
    _inheritMany(A.PlatformInterface, [A.FileSelectorPlatform, A.UrlLauncherPlatform]);
    _inheritMany(A.FileSelectorPlatform, [A.MethodChannelFileSelector, A.FileSelectorWeb]);
    _inheritMany(A.Animation, [A._AnimationController_Animation_AnimationEagerListenerMixin, A._AlwaysCompleteAnimation, A._AlwaysDismissedAnimation, A.AlwaysStoppedAnimation, A._ProxyAnimation_Animation_AnimationLazyListenerMixin, A._ReverseAnimation_Animation_AnimationLazyListenerMixin, A._CurvedAnimation_Animation_AnimationWithParentMixin, A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin, A._CompoundAnimation_Animation_AnimationLazyListenerMixin, A.__AnimatedEvaluation_Animation_AnimationWithParentMixin, A.__ChangeAnimation_Animation_AnimationWithParentMixin, A.__DragAnimation_Animation_AnimationWithParentMixin]);
    _inherit(A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, A._AnimationController_Animation_AnimationEagerListenerMixin);
    _inherit(A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin);
    _inherit(A.AnimationController, A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inheritMany(A.Simulation, [A._InterpolationSimulation, A._RepeatingSimulation, A.FrictionSimulation, A.SpringSimulation, A.BouncingScrollSimulation, A.ClampingScrollSimulation]);
    _inherit(A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, A._ProxyAnimation_Animation_AnimationLazyListenerMixin);
    _inherit(A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin);
    _inherit(A.ProxyAnimation, A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inherit(A._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin, A._ReverseAnimation_Animation_AnimationLazyListenerMixin);
    _inherit(A.ReverseAnimation, A._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin);
    _inherit(A.CurvedAnimation, A._CurvedAnimation_Animation_AnimationWithParentMixin);
    _inherit(A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin);
    _inherit(A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin);
    _inherit(A.TrainHoppingAnimation, A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inherit(A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, A._CompoundAnimation_Animation_AnimationLazyListenerMixin);
    _inherit(A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin);
    _inherit(A.CompoundAnimation, A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin);
    _inheritMany(A.CompoundAnimation, [A.AnimationMin, A._AnimationSwap]);
    _inherit(A.Curve, A.ParametricCurve);
    _inheritMany(A.Curve, [A._Linear, A.SawTooth, A.Interval, A.Threshold, A.Cubic, A.ThreePointCubic, A.FlippedCurve, A._DecelerateCurve]);
    _inherit(A._AnimatedEvaluation, A.__AnimatedEvaluation_Animation_AnimationWithParentMixin);
    _inheritMany(A.Animatable, [A._ChainedEvaluation, A.Tween, A.CurveTween, A.TweenSequence]);
    _inheritMany(A.Tween, [A.ReverseTween, A.ColorTween, A.SizeTween, A.RectTween, A.IntTween, A.MaterialPointArcTween, A._InputBorderTween, A.ShapeBorderTween, A.ThemeDataTween, A.AlignmentGeometryTween, A.BoxConstraintsTween, A.DecorationTween, A.EdgeInsetsGeometryTween, A.BorderRadiusTween, A.Matrix4Tween, A.TextStyleTween]);
    _inheritMany(A.Color, [A._CupertinoDynamicColor_Color_Diagnosticable, A.ColorSwatch]);
    _inherit(A.CupertinoDynamicColor, A._CupertinoDynamicColor_Color_Diagnosticable);
    _inherit(A.IconThemeData, A._IconThemeData_Object_Diagnosticable);
    _inherit(A._CupertinoIconThemeData_IconThemeData_Diagnosticable, A.IconThemeData);
    _inherit(A.CupertinoIconThemeData, A._CupertinoIconThemeData_IconThemeData_Diagnosticable);
    _inheritMany(A.LocalizationsDelegate, [A._CupertinoLocalizationsDelegate, A._MaterialLocalizationsDelegate, A._WidgetsLocalizationsDelegate]);
    _inherit(A.Decoration, A._Decoration_Object_Diagnosticable);
    _inheritMany(A.Decoration, [A._CupertinoEdgeShadowDecoration, A.UnderlineTabIndicator, A.BoxDecoration, A.ShapeDecoration]);
    _inheritMany(A.BoxPainter, [A._CupertinoEdgeShadowPainter, A._UnderlinePainter, A._BoxDecorationPainter, A._ShapeDecorationPainter]);
    _inheritMany(A.RawScrollbar, [A.CupertinoScrollbar, A._MaterialScrollbar]);
    _inherit(A.RawScrollbarState, A._RawScrollbarState_State_TickerProviderStateMixin);
    _inheritMany(A.RawScrollbarState, [A._CupertinoScrollbarState, A._MaterialScrollbarState]);
    _inherit(A.CupertinoTextThemeData, A._CupertinoTextThemeData_Object_Diagnosticable);
    _inherit(A._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable, A.NoDefaultCupertinoThemeData);
    _inherit(A.CupertinoThemeData, A._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable);
    _inherit(A._DefaultCupertinoTextThemeData, A.CupertinoTextThemeData);
    _inheritMany(A.DiagnosticsNode, [A.DiagnosticsProperty, A.DiagnosticsBlock, A.DiagnosticableNode]);
    _inheritMany(A.DiagnosticsProperty, [A._ErrorDiagnostic, A.ErrorSpacer]);
    _inheritMany(A._ErrorDiagnostic, [A.ErrorDescription, A.ErrorSummary, A.ErrorHint]);
    _inherit(A.FlutterErrorDetails, A._FlutterErrorDetails_Object_Diagnosticable);
    _inherit(A.FlutterError, A._FlutterError_Error_DiagnosticableTreeMixin);
    _inherit(A.DiagnosticsStackTrace, A.DiagnosticsBlock);
    _inheritMany(A.DiagnosticableNode, [A._FlutterErrorDetailsNode, A.DiagnosticableTreeNode, A._SemanticsDiagnosticableNode]);
    _inheritMany(A.Key, [A.LocalKey, A.GlobalKey]);
    _inheritMany(A.LocalKey, [A.UniqueKey, A.ValueKey]);
    _inherit(A.LicenseEntryWithLineBreaks, A.LicenseEntry);
    _inherit(A.FlutterErrorDetailsForPointerEventDispatcher, A.FlutterErrorDetails);
    _inherit(A.PointerEvent, A._PointerEvent_Object_Diagnosticable);
    _inherit(A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable, A._AbstractPointerEvent);
    _inherit(A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription, A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable);
    _inherit(A._TransformedPointerEvent, A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription);
    _inheritMany(A.PointerEvent, [A._PointerAddedEvent_PointerEvent__PointerEventDescription, A._PointerRemovedEvent_PointerEvent__PointerEventDescription, A._PointerHoverEvent_PointerEvent__PointerEventDescription, A._PointerEnterEvent_PointerEvent__PointerEventDescription, A._PointerExitEvent_PointerEvent__PointerEventDescription, A._PointerDownEvent_PointerEvent__PointerEventDescription, A._PointerMoveEvent_PointerEvent__PointerEventDescription, A._PointerUpEvent_PointerEvent__PointerEventDescription, A.PointerSignalEvent, A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription, A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription, A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription, A._PointerCancelEvent_PointerEvent__PointerEventDescription]);
    _inherit(A._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent, A._PointerAddedEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerAddedEvent, A._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent);
    _inheritMany(A._TransformedPointerEvent, [A.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent, A.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent, A.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent, A.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent, A.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent, A.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent, A.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent, A.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent, A.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent, A.__TransformedPointerPanZoomStartEvent__TransformedPointerEvent__CopyPointerPanZoomStartEvent, A.__TransformedPointerPanZoomUpdateEvent__TransformedPointerEvent__CopyPointerPanZoomUpdateEvent, A.__TransformedPointerPanZoomEndEvent__TransformedPointerEvent__CopyPointerPanZoomEndEvent, A.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent]);
    _inherit(A._TransformedPointerAddedEvent, A.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent);
    _inherit(A._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent, A._PointerRemovedEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerRemovedEvent, A._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent);
    _inherit(A._TransformedPointerRemovedEvent, A.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent);
    _inherit(A._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent, A._PointerHoverEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerHoverEvent, A._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent);
    _inherit(A._TransformedPointerHoverEvent, A.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent);
    _inherit(A._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent, A._PointerEnterEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerEnterEvent, A._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent);
    _inherit(A._TransformedPointerEnterEvent, A.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent);
    _inherit(A._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent, A._PointerExitEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerExitEvent, A._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent);
    _inherit(A._TransformedPointerExitEvent, A.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent);
    _inherit(A._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent, A._PointerDownEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerDownEvent, A._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent);
    _inherit(A._TransformedPointerDownEvent, A.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent);
    _inherit(A._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent, A._PointerMoveEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerMoveEvent, A._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent);
    _inherit(A._TransformedPointerMoveEvent, A.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent);
    _inherit(A._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent, A._PointerUpEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerUpEvent, A._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent);
    _inherit(A._TransformedPointerUpEvent, A.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent);
    _inherit(A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription, A.PointerSignalEvent);
    _inherit(A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent, A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription);
    _inherit(A.PointerScrollEvent, A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent);
    _inherit(A._TransformedPointerScrollEvent, A.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent);
    _inherit(A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomStartEvent, A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerPanZoomStartEvent, A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomStartEvent);
    _inherit(A._TransformedPointerPanZoomStartEvent, A.__TransformedPointerPanZoomStartEvent__TransformedPointerEvent__CopyPointerPanZoomStartEvent);
    _inherit(A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomUpdateEvent, A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerPanZoomUpdateEvent, A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomUpdateEvent);
    _inherit(A._TransformedPointerPanZoomUpdateEvent, A.__TransformedPointerPanZoomUpdateEvent__TransformedPointerEvent__CopyPointerPanZoomUpdateEvent);
    _inherit(A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomEndEvent, A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerPanZoomEndEvent, A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomEndEvent);
    _inherit(A._TransformedPointerPanZoomEndEvent, A.__TransformedPointerPanZoomEndEvent__TransformedPointerEvent__CopyPointerPanZoomEndEvent);
    _inherit(A._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent, A._PointerCancelEvent_PointerEvent__PointerEventDescription);
    _inherit(A.PointerCancelEvent, A._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent);
    _inherit(A._TransformedPointerCancelEvent, A.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent);
    _inherit(A._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin, A.GestureArenaMember);
    _inherit(A.GestureRecognizer, A._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin);
    _inheritMany(A.GestureRecognizer, [A.OneSequenceGestureRecognizer, A.DoubleTapGestureRecognizer]);
    _inheritMany(A.OneSequenceGestureRecognizer, [A.ForcePressGestureRecognizer, A.PrimaryPointerGestureRecognizer, A.DragGestureRecognizer]);
    _inheritMany(A._TransformPart, [A._MatrixTransformPart, A._OffsetTransformPart]);
    _inheritMany(A.PrimaryPointerGestureRecognizer, [A.LongPressGestureRecognizer, A.BaseTapGestureRecognizer]);
    _inheritMany(A.DragGestureRecognizer, [A.VerticalDragGestureRecognizer, A.HorizontalDragGestureRecognizer, A.PanGestureRecognizer]);
    _inheritMany(A.BaseTapGestureRecognizer, [A.TapGestureRecognizer, A._AnyTapGestureRecognizer]);
    _inherit(A.IOSScrollViewFlingVelocityTracker, A.VelocityTracker);
    _inherit(A.MaterialScrollBehavior, A.ScrollBehavior);
    _inheritMany(A.SingleChildLayoutDelegate, [A._ToolbarContainerLayout, A._DropdownMenuRouteLayout, A._PopupMenuRouteLayout, A._TooltipPositionDelegate]);
    _inherit(A._PreferredAppBarSize, A.Size);
    _inherit(A.RenderShiftedBox, A._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin);
    _inheritMany(A.RenderShiftedBox, [A.RenderAligningShiftedBox, A._RenderInputPadding, A._RenderInputPadding0, A._RenderMenuItem, A._SelectToggleButtonRenderObject, A._RenderInputPadding1, A.RenderPadding, A.RenderCustomSingleChildLayoutBox]);
    _inheritMany(A.RenderAligningShiftedBox, [A._RenderAppBarTitleBox, A._RenderChildOverflowBox, A.RenderAnimatedSize, A.RenderPositionedBox, A.RenderConstrainedOverflowBox]);
    _inherit(A.AppBarTheme, A._AppBarTheme_Object_Diagnosticable);
    _inherit(A._DefaultsM21, A.AppBarTheme);
    _inherit(A.MaterialRectArcTween, A.RectTween);
    _inherit(A.MaterialBannerThemeData, A._MaterialBannerThemeData_Object_Diagnosticable);
    _inherit(A.BottomAppBarTheme, A._BottomAppBarTheme_Object_Diagnosticable);
    _inherit(A.BottomNavigationBarThemeData, A._BottomNavigationBarThemeData_Object_Diagnosticable);
    _inherit(A.BottomSheetThemeData, A._BottomSheetThemeData_Object_Diagnosticable);
    _inherit(A._RawMaterialButtonState, A.__RawMaterialButtonState_State_MaterialStateMixin);
    _inherit(A.ButtonBarThemeData, A._ButtonBarThemeData_Object_Diagnosticable);
    _inherit(A.ButtonStyle, A._ButtonStyle_Object_Diagnosticable);
    _inherit(A.__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin, A.__ButtonStyleState_State_MaterialStateMixin);
    _inherit(A._ButtonStyleState, A.__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin);
    _inherit(A.MouseCursor0, A._MouseCursor_Object_Diagnosticable);
    _inheritMany(A.MouseCursor0, [A.MaterialStateMouseCursor, A._DeferringMouseCursor, A.SystemMouseCursor]);
    _inheritMany(A.MaterialStateMouseCursor, [A._MouseCursor, A._EnabledAndDisabledMouseCursor, A._EffectiveMouseCursor]);
    _inherit(A.ButtonThemeData, A._ButtonThemeData_Object_Diagnosticable);
    _inherit(A.CardTheme, A._CardTheme_Object_Diagnosticable);
    _inherit(A._DefaultsM2, A.CardTheme);
    _inherit(A.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin, A.__CheckboxState_State_TickerProviderStateMixin);
    _inherit(A._CheckboxState, A.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin);
    _inheritMany(A.ToggleablePainter, [A._CheckboxPainter, A._RadioPainter, A._SwitchPainter]);
    _inherit(A.CheckboxThemeData, A._CheckboxThemeData_Object_Diagnosticable);
    _inherit(A.ChipThemeData, A._ChipThemeData_Object_Diagnosticable);
    _inherit(A.ColorScheme, A._ColorScheme_Object_Diagnosticable);
    _inheritMany(A.ColorSwatch, [A.MaterialColor, A.MaterialAccentColor]);
    _inheritMany(A.InkResponse, [A.TableRowInkWell, A.InkWell]);
    _inheritMany(A.TableColumnWidth, [A._NullTableColumnWidth, A.IntrinsicColumnWidth, A.FixedColumnWidth, A.FlexColumnWidth]);
    _inherit(A.DataTableThemeData, A._DataTableThemeData_Object_Diagnosticable);
    _inheritMany(A.Route, [A.OverlayRoute, A._NotAnnounced]);
    _inherit(A.TransitionRoute, A.OverlayRoute);
    _inherit(A._ModalRoute_TransitionRoute_LocalHistoryRoute, A.TransitionRoute);
    _inherit(A.ModalRoute, A._ModalRoute_TransitionRoute_LocalHistoryRoute);
    _inheritMany(A.ModalRoute, [A.PopupRoute, A.PageRoute]);
    _inheritMany(A.PopupRoute, [A.RawDialogRoute, A._DropdownRoute, A._PopupMenuRoute]);
    _inherit(A.DialogRoute, A.RawDialogRoute);
    _inherit(A.DialogTheme, A._DialogTheme_Object_Diagnosticable);
    _inherit(A._DefaultsM20, A.DialogTheme);
    _inherit(A.DividerThemeData, A._DividerThemeData_Object_Diagnosticable);
    _inherit(A.DrawerThemeData, A._DrawerThemeData_Object_Diagnosticable);
    _inherit(A._DropdownButtonState, A.__DropdownButtonState_State_WidgetsBindingObserver);
    _inheritMany(A.ButtonStyleButton, [A.ElevatedButton, A.OutlinedButton, A.TextButton]);
    _inheritMany(A.MaterialStateProperty, [A.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable, A.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, A.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, A.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable, A.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, A.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, A.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, A.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, A._TextButtonDefaultForeground, A._TextButtonDefaultOverlay, A.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, A.__ResolveFillColor_MaterialStateProperty_Diagnosticable, A.__DefaultFillColor_MaterialStateProperty_Diagnosticable, A._ToggleButtonDefaultOverlay]);
    _inherit(A._ElevatedButtonDefaultBackground, A.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable);
    _inherit(A._ElevatedButtonDefaultForeground, A.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable);
    _inherit(A._ElevatedButtonDefaultOverlay, A.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable);
    _inherit(A._ElevatedButtonDefaultElevation, A.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable);
    _inherit(A._ElevatedButtonDefaultMouseCursor, A.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable);
    _inherit(A.ElevatedButtonThemeData, A._ElevatedButtonThemeData_Object_Diagnosticable);
    _inherit(A._ExpansionTileState, A.__ExpansionTileState_State_SingleTickerProviderStateMixin);
    _inherit(A.ExpansionTileThemeData, A._ExpansionTileThemeData_Object_Diagnosticable);
    _inherit(A.FloatingActionButtonThemeData, A._FloatingActionButtonThemeData_Object_Diagnosticable);
    _inherit(A._M2Defaults, A.FloatingActionButtonThemeData);
    _inherit(A.StandardFabLocation, A.FloatingActionButtonLocation);
    _inherit(A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX, A.StandardFabLocation);
    _inherit(A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY, A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX);
    _inherit(A._EndFloatFabLocation, A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY);
    _inherit(A._ScalingFabMotionAnimator, A.FloatingActionButtonAnimator);
    _inheritMany(A.InkFeature, [A.InkDecoration, A.InteractiveInkFeature]);
    _inheritMany(A.InteractiveInkFeature, [A.InkHighlight, A.InkRipple, A.InkSplash]);
    _inheritMany(A.InteractiveInkFeatureFactory, [A._InkRippleFactory, A._InkSplashFactory]);
    _inherit(A._InkResponseState, A.__InkResponseState_State_AutomaticKeepAliveClientMixin);
    _inheritMany(A.ShapeBorder, [A.InputBorder, A.OutlinedBorder, A._CompoundBorder, A.BoxBorder]);
    _inheritMany(A.InputBorder, [A._NoInputBorder, A.UnderlineInputBorder, A.OutlineInputBorder]);
    _inherit(A._BorderContainerState, A.__BorderContainerState_State_TickerProviderStateMixin);
    _inherit(A._HelperErrorState, A.__HelperErrorState_State_SingleTickerProviderStateMixin);
    _inherit(A._RenderDecoration, A.__RenderDecoration_RenderBox_SlottedContainerRenderObjectMixin);
    _inherit(A._Decorator, A.__Decorator_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin);
    _inherit(A._InputDecoratorState, A.__InputDecoratorState_State_TickerProviderStateMixin);
    _inherit(A.InputDecorationTheme, A._InputDecorationTheme_Object_Diagnosticable);
    _inherit(A._ListTile, A.__ListTile_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin);
    _inherit(A._RenderListTile, A.__RenderListTile_RenderBox_SlottedContainerRenderObjectMixin);
    _inherit(A.ListTileThemeData, A._ListTileThemeData_Object_Diagnosticable);
    _inheritMany(A.InheritedTheme, [A.ListTileTheme, A._InheritedTheme, A.DefaultSelectionStyle, A.IconTheme, A.DefaultTextStyle]);
    _inherit(A._MaterialState, A.__MaterialState_State_TickerProviderStateMixin);
    _inheritMany(A.ImplicitlyAnimatedWidget, [A._MaterialInterior, A.AnimatedTheme, A.AnimatedContainer, A.AnimatedPadding, A.AnimatedOpacity, A.AnimatedDefaultTextStyle, A.AnimatedPhysicalModel, A.TweenAnimationBuilder]);
    _inherit(A.ImplicitlyAnimatedWidgetState, A._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin);
    _inheritMany(A.ImplicitlyAnimatedWidgetState, [A.AnimatedWidgetBaseState, A._AnimatedOpacityState]);
    _inheritMany(A.AnimatedWidgetBaseState, [A._MaterialInteriorState, A._AnimatedThemeState, A._AnimatedContainerState, A._AnimatedPaddingState, A._AnimatedDefaultTextStyleState, A._AnimatedPhysicalModelState, A._TweenAnimationBuilderState]);
    _inherit(A._StatusTransitionWidgetBuilder, A.StatusTransitionWidget);
    _inherit(A._SelectableAnimatedBuilderState, A.__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin);
    _inherit(A.NavigationBarThemeData, A._NavigationBarThemeData_Object_Diagnosticable);
    _inherit(A._NavigationRailState, A.__NavigationRailState_State_TickerProviderStateMixin);
    _inherit(A.NavigationRailThemeData, A._NavigationRailThemeData_Object_Diagnosticable);
    _inherit(A._DefaultsM22, A.NavigationRailThemeData);
    _inherit(A._OutlinedButtonDefaultForeground, A.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable);
    _inherit(A._OutlinedButtonDefaultOverlay, A.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable);
    _inherit(A._OutlinedButtonDefaultMouseCursor, A.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable);
    _inherit(A.OutlinedButtonThemeData, A._OutlinedButtonThemeData_Object_Diagnosticable);
    _inherit(A.Page, A.RouteSettings);
    _inherit(A.MaterialPage, A.Page);
    _inherit(A.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin, A.PageRoute);
    _inherit(A._PageBasedMaterialPageRoute, A.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin);
    _inheritMany(A.PageTransitionsBuilder, [A.ZoomPageTransitionsBuilder, A.CupertinoPageTransitionsBuilder]);
    _inherit(A.PageTransitionsTheme, A._PageTransitionsTheme_Object_Diagnosticable);
    _inherit(A.PopupMenuItem, A.PopupMenuEntry);
    _inherit(A.PopupMenuThemeData, A._PopupMenuThemeData_Object_Diagnosticable);
    _inheritMany(A.ProgressIndicator, [A.LinearProgressIndicator, A.CircularProgressIndicator]);
    _inherit(A._LinearProgressIndicatorState, A.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin);
    _inherit(A._CircularProgressIndicatorState, A.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin);
    _inherit(A.ProgressIndicatorThemeData, A._ProgressIndicatorThemeData_Object_Diagnosticable);
    _inherit(A.__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin, A.__RadioState_State_TickerProviderStateMixin);
    _inherit(A._RadioState, A.__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin);
    _inherit(A.RadioThemeData, A._RadioThemeData_Object_Diagnosticable);
    _inherit(A.ScaffoldMessengerState, A._ScaffoldMessengerState_State_TickerProviderStateMixin);
    _inheritMany(A.Constraints, [A.BoxConstraints, A.SliverConstraints]);
    _inherit(A._BodyBoxConstraints, A.BoxConstraints);
    _inheritMany(A.MultiChildLayoutDelegate, [A._ScaffoldLayout, A._ToolbarLayout]);
    _inherit(A._FloatingActionButtonTransitionState, A.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin);
    _inherit(A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin, A._ScaffoldState_State_TickerProviderStateMixin);
    _inherit(A.ScaffoldState, A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin);
    _inherit(A.ScrollbarThemeData, A._ScrollbarThemeData_Object_Diagnosticable);
    _inheritMany(A.TextSelectionGestureDetectorBuilder, [A._SelectableTextSelectionGestureDetectorBuilder, A._TextFieldSelectionGestureDetectorBuilder]);
    _inherit(A.SliderThemeData, A._SliderThemeData_Object_Diagnosticable);
    _inherit(A.SnackBarThemeData, A._SnackBarThemeData_Object_Diagnosticable);
    _inherit(A.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin, A.__MaterialSwitchState_State_TickerProviderStateMixin);
    _inherit(A._MaterialSwitchState, A.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin);
    _inherit(A.SwitchThemeData, A._SwitchThemeData_Object_Diagnosticable);
    _inherit(A.TabBarTheme, A._TabBarTheme_Object_Diagnosticable);
    _inherit(A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderFlex_RenderBox_ContainerRenderObjectMixin);
    _inherit(A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin, A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.RenderFlex, A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin);
    _inherit(A._TabLabelBarRenderer, A.RenderFlex);
    _inheritMany(A.MultiChildRenderObjectWidget, [A.Flex, A.CustomMultiChildLayout, A.ListBody, A.Stack, A.Wrap, A.RichText, A._Editable, A.OverflowBar, A._Theatre, A.Viewport, A.ShrinkWrappingViewport]);
    _inheritMany(A.Flex, [A._TabLabelBar, A.Row, A.Column]);
    _inherit(A._ChangeAnimation, A.__ChangeAnimation_Animation_AnimationWithParentMixin);
    _inherit(A._DragAnimation, A.__DragAnimation_Animation_AnimationWithParentMixin);
    _inherit(A._TextButtonDefaultMouseCursor, A.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable);
    _inherit(A.TextButtonThemeData, A._TextButtonThemeData_Object_Diagnosticable);
    _inherit(A._TextFieldState, A.__TextFieldState_State_RestorationMixin);
    _inherit(A.TextSelectionThemeData, A._TextSelectionThemeData_Object_Diagnosticable);
    _inherit(A.TextTheme, A._TextTheme_Object_Diagnosticable);
    _inherit(A.ThemeData, A._ThemeData_Object_Diagnosticable);
    _inherit(A.MaterialBasedCupertinoThemeData, A.CupertinoThemeData);
    _inherit(A.VisualDensity, A._VisualDensity_Object_Diagnosticable);
    _inherit(A.TimePickerThemeData, A._TimePickerThemeData_Object_Diagnosticable);
    _inherit(A._ResolveFillColor, A.__ResolveFillColor_MaterialStateProperty_Diagnosticable);
    _inherit(A._DefaultFillColor, A.__DefaultFillColor_MaterialStateProperty_Diagnosticable);
    _inherit(A.ToggleButtonsThemeData, A._ToggleButtonsThemeData_Object_Diagnosticable);
    _inherit(A.TooltipState, A._TooltipState_State_SingleTickerProviderStateMixin);
    _inherit(A.TooltipThemeData, A._TooltipThemeData_Object_Diagnosticable);
    _inherit(A.Typography, A._Typography_Object_Diagnosticable);
    _inheritMany(A.ImageProvider, [A.NetworkImage, A.AssetBundleImageProvider, A.MemoryImage, A.ScrollAwareImageProvider]);
    _inheritMany(A.AlignmentGeometry, [A.Alignment, A.AlignmentDirectional, A._MixedAlignment]);
    _inheritMany(A.BorderRadiusGeometry, [A.BorderRadius, A._MixedBorderRadius]);
    _inheritMany(A.BoxBorder, [A.Border, A.BorderDirectional]);
    _inherit(A.BoxShadow, A.Shadow);
    _inheritMany(A.OutlinedBorder, [A.CircleBorder, A.ContinuousRectangleBorder, A.RoundedRectangleBorder, A._RoundedRectangleToCircleBorder, A.StadiumBorder, A._StadiumToCircleBorder, A._StadiumToRoundedRectangleBorder]);
    _inheritMany(A.EdgeInsetsGeometry, [A.EdgeInsets, A.EdgeInsetsDirectional, A._MixedEdgeInsets]);
    _inherit(A.LinearGradient, A.Gradient);
    _inheritMany(A._CachedImageBase, [A._CachedImage, A._LiveImage]);
    _inherit(A.ImageStreamCompleter, A._ImageStreamCompleter_Object_Diagnosticable);
    _inheritMany(A.ImageStreamCompleter, [A._ErrorImageCompleter, A.MultiFrameImageStreamCompleter]);
    _inherit(A.AssetImage, A.AssetBundleImageProvider);
    _inherit(A.ImageChunkEvent, A._ImageChunkEvent_Object_Diagnosticable);
    _inherit(A.ImageStream, A._ImageStream_Object_Diagnosticable);
    _inherit(A.StrutStyle, A._StrutStyle_Object_Diagnosticable);
    _inherit(A.TextStyle, A._TextStyle_Object_Diagnosticable);
    _inherit(A.ScrollSpringSimulation, A.SpringSimulation);
    _inheritMany(A.HitTestResult, [A.BoxHitTestResult, A.SliverHitTestResult]);
    _inheritMany(A.HitTestEntry, [A.BoxHitTestEntry, A.SliverHitTestEntry]);
    _inheritMany(A.ParentData, [A.BoxParentData, A.SliverLogicalParentData, A.SliverPhysicalParentData]);
    _inheritMany(A.BoxParentData, [A._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin, A.TableCellParentData]);
    _inherit(A.ContainerBoxParentData, A._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin);
    _inheritMany(A.ContainerBoxParentData, [A.MultiChildLayoutParentData, A.FlexParentData, A.ListBodyParentData, A.TextParentData, A.StackParentData, A.WrapParentData, A._OverflowBarParentData]);
    _inherit(A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin);
    _inherit(A.RenderCustomMultiChildLayoutBox, A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.VerticalCaretMovementRun, A.BidirectionalIterator);
    _inherit(A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin, A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin);
    _inherit(A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin);
    _inherit(A.RenderEditable, A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inheritMany(A.RenderEditablePainter, [A._TextHighlightPainter, A._FloatingCursorPainter, A._CompositeRenderEditablePainter]);
    _inherit(A.Layer0, A._Layer_AbstractNode_DiagnosticableTreeMixin);
    _inheritMany(A.Layer0, [A.PictureLayer0, A.PerformanceOverlayLayer, A.ContainerLayer0]);
    _inheritMany(A.ContainerLayer0, [A.OffsetLayer, A.ClipRectLayer, A.ClipRRectLayer, A.ClipPathLayer, A.LeaderLayer, A.FollowerLayer, A.AnnotatedRegionLayer]);
    _inheritMany(A.OffsetLayer, [A.TransformLayer, A.OpacityLayer]);
    _inherit(A._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderListBody_RenderBox_ContainerRenderObjectMixin);
    _inherit(A.RenderListBody, A._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A._MouseTrackerUpdateDetails, A.__MouseTrackerUpdateDetails_Object_Diagnosticable);
    _inherit(A.PaintingContext, A.ClipContext);
    _inheritMany(A._SemanticsFragment, [A._ContainerSemanticsFragment, A._InterestingSemanticsFragment]);
    _inheritMany(A._InterestingSemanticsFragment, [A._RootSemanticsFragment, A._SwitchableSemanticsFragment]);
    _inherit(A.PlaceholderSpanIndexSemanticsTag, A.SemanticsTag);
    _inherit(A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderParagraph_RenderBox_ContainerRenderObjectMixin);
    _inherit(A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin, A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.RenderParagraph, A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin);
    _inherit(A.__SelectableFragment_Object_Selectable_ChangeNotifier, A.__SelectableFragment_Object_Selectable);
    _inherit(A._SelectableFragment, A.__SelectableFragment_Object_Selectable_ChangeNotifier);
    _inherit(A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin, A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin);
    _inherit(A.RenderAnimatedOpacity, A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin);
    _inheritMany(A.CustomClipper, [A.ShapeBorderClipper, A._DecorationClipper]);
    _inheritMany(A._RenderCustomClip, [A.RenderClipRect, A.RenderClipRRect, A.RenderClipPath, A._RenderPhysicalModelBase]);
    _inheritMany(A._RenderPhysicalModelBase, [A.RenderPhysicalModel, A.RenderPhysicalShape]);
    _inheritMany(A.RenderProxyBoxWithHitTestBehavior, [A.RenderPointerListener, A.RenderMouseRegion, A.RenderMetaData, A.RenderSemanticsGestureHandler, A._RenderColoredBox, A._RenderFocusTrap]);
    _inherit(A.RenderRotatedBox, A._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin);
    _inheritMany(A.SelectionEvent, [A.ClearSelectionEvent, A.SelectionEdgeUpdateEvent]);
    _inherit(A.SliverGeometry, A._SliverGeometry_Object_Diagnosticable);
    _inheritMany(A.SliverLogicalParentData, [A._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin, A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin]);
    _inherit(A.SliverLogicalContainerParentData, A._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin);
    _inherit(A._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin, A.SliverPhysicalParentData);
    _inherit(A.SliverPhysicalContainerParentData, A._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin);
    _inheritMany(A.RenderSliverFixedExtentBoxAdaptor, [A.RenderSliverFillViewport, A.RenderSliverFixedExtentList]);
    _inherit(A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin, A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin);
    _inherit(A.SliverMultiBoxAdaptorParentData, A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin);
    _inherit(A.RenderSliverEdgeInsetsPadding, A._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin);
    _inheritMany(A.RenderSliverEdgeInsetsPadding, [A.RenderSliverPadding, A._RenderSliverFractionalPadding]);
    _inherit(A._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderStack_RenderBox_ContainerRenderObjectMixin);
    _inherit(A.RenderStack, A._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.RenderIndexedStack, A.RenderStack);
    _inherit(A.RenderView, A._RenderView_RenderObject_RenderObjectWithChildMixin);
    _inherit(A.RenderViewportBase, A._RenderViewportBase_RenderBox_ContainerRenderObjectMixin);
    _inheritMany(A.RenderViewportBase, [A.RenderViewport, A.RenderShrinkWrappingViewport]);
    _inherit(A._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A._RenderWrap_RenderBox_ContainerRenderObjectMixin);
    _inherit(A.RenderWrap, A._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.SemanticsData, A._SemanticsData_Object_Diagnosticable);
    _inherit(A.SemanticsNode, A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin);
    _inherit(A._SemanticsSortGroup, A.Comparable);
    _inherit(A.SemanticsSortKey, A._SemanticsSortKey_Object_Diagnosticable);
    _inherit(A.OrdinalSortKey, A.SemanticsSortKey);
    _inheritMany(A.SemanticsEvent, [A.TooltipSemanticsEvent, A.LongPressSemanticsEvent, A.TapSemanticEvent]);
    _inherit(A.CachingAssetBundle, A.AssetBundle);
    _inherit(A.PlatformAssetBundle, A.CachingAssetBundle);
    _inheritMany(A.BinaryMessenger, [A._DefaultBinaryMessenger, A.Registrar]);
    _inherit(A.KeyEvent, A._KeyEvent_Object_Diagnosticable);
    _inheritMany(A.KeyEvent, [A.KeyDownEvent, A.KeyUpEvent, A.KeyRepeatEvent]);
    _inherit(A.KeyboardKey, A._KeyboardKey_Object_Diagnosticable);
    _inheritMany(A.KeyboardKey, [A.LogicalKeyboardKey, A.PhysicalKeyboardKey]);
    _inherit(A._SystemMouseCursorSession, A.MouseCursorSession);
    _inherit(A.OptionalMethodChannel, A.MethodChannel);
    _inherit(A.RawKeyEventData, A._RawKeyEventData_Object_Diagnosticable);
    _inherit(A.RawKeyEvent, A._RawKeyEvent_Object_Diagnosticable);
    _inheritMany(A.RawKeyEvent, [A.RawKeyDownEvent, A.RawKeyUpEvent]);
    _inheritMany(A.RawKeyEventData, [A.RawKeyEventDataFuchsia, A.RawKeyEventDataLinux, A.RawKeyEventDataMacOs, A.RawKeyEventDataWeb]);
    _inherit(A.TextSelection, A.TextRange);
    _inheritMany(A.TextEditingDelta, [A.TextEditingDeltaInsertion, A.TextEditingDeltaDeletion, A.TextEditingDeltaReplacement, A.TextEditingDeltaNonTextUpdate]);
    _inherit(A.FilteringTextInputFormatter, A.TextInputFormatter);
    _inherit(A.ActionDispatcher, A._ActionDispatcher_Object_Diagnosticable);
    _inheritMany(A.ContextAction, [A.__OverridableAction_ContextAction__OverridableActionMixin, A.__OverridableContextAction_ContextAction__OverridableActionMixin, A._DeleteTextAction, A._UpdateTextSelectionAction, A._ExtendSelectionOrCaretPositionAction, A._UpdateTextSelectionToAdjacentLineAction, A._SelectAllAction, A._CopySelectionAction]);
    _inherit(A._OverridableAction, A.__OverridableAction_ContextAction__OverridableActionMixin);
    _inherit(A._OverridableContextAction, A.__OverridableContextAction_ContextAction__OverridableActionMixin);
    _inherit(A._AnimatedCrossFadeState, A.__AnimatedCrossFadeState_State_TickerProviderStateMixin);
    _inherit(A._AnimatedSizeState, A.__AnimatedSizeState_State_SingleTickerProviderStateMixin);
    _inherit(A._WidgetsAppState, A.__WidgetsAppState_State_WidgetsBindingObserver);
    _inherit(A.StreamBuilder, A.StreamBuilderBase);
    _inheritMany(A.Notification1, [A.KeepAliveNotification, A.LayoutChangedNotification, A._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin, A._ScrollMetricsNotification_Notification_ViewportNotificationMixin]);
    _inheritMany(A.Element, [A.ComponentElement, A.RenderObjectElement, A._NullElement]);
    _inheritMany(A.ComponentElement, [A.ProxyElement, A.StatelessElement, A.StatefulElement]);
    _inheritMany(A.ProxyElement, [A.InheritedElement, A.ParentDataElement, A.__NotificationElement_ProxyElement_NotifiableElementMixin]);
    _inheritMany(A.InheritedElement, [A._UbiquitousInheritedElement, A.InheritedModelElement, A._InheritedNotifierElement, A._UncontrolledProviderScopeElement, A._InheritedProviderScopeElement]);
    _inherit(A.Directionality, A._UbiquitousInheritedWidget);
    _inherit(A.Center, A.Align);
    _inheritMany(A.RenderObjectElement, [A.SingleChildRenderObjectElement, A.RootRenderObjectElement, A.LeafRenderObjectElement, A.MultiChildRenderObjectElement, A._LayoutBuilderElement, A.SliverMultiBoxAdaptorElement, A.SlottedRenderObjectElement, A._TableElement]);
    _inheritMany(A.SingleChildRenderObjectElement, [A._OffstageElement, A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin]);
    _inherit(A.IndexedStack, A.Stack);
    _inherit(A.Expanded, A.Flexible);
    _inheritMany(A.LeafRenderObjectWidget, [A.RawImage, A.ErrorWidget, A.PerformanceOverlay]);
    _inherit(A.RenderObjectToWidgetElement, A.RootRenderObjectElement);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding, A.BindingBase);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding);
    _inherit(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding);
    _inherit(A.WidgetsFlutterBinding, A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding);
    _inherit(A.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin, A.__DismissibleState_State_TickerProviderStateMixin);
    _inherit(A._DismissibleState, A.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin);
    _inherit(A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver, A._EditableTextState_State_AutomaticKeepAliveClientMixin);
    _inherit(A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin, A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver);
    _inherit(A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate, A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin);
    _inherit(A.EditableTextState, A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate);
    _inherit(A.WidgetSpan, A.PlaceholderSpan0);
    _inherit(A._ScribblePlaceholder, A.WidgetSpan);
    _inheritMany(A._TextBoundary, [A._WhitespaceBoundary, A._CharacterBoundary, A._WordBoundary, A._LineBreak, A._DocumentBoundary, A._ExpandedTextBoundary, A._CollapsedSelectionBoundary, A._MixedBoundary]);
    _inherit(A._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier, A._FocusNode_Object_DiagnosticableTreeMixin);
    _inherit(A.FocusNode, A._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier);
    _inherit(A.FocusScopeNode, A.FocusNode);
    _inherit(A._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier, A._FocusManager_Object_DiagnosticableTreeMixin);
    _inherit(A.FocusManager, A._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier);
    _inherit(A.FocusScope, A.Focus);
    _inherit(A._FocusScopeState, A._FocusState);
    _inherit(A._FocusMarker, A.InheritedNotifier);
    _inherit(A.FocusTraversalPolicy, A._FocusTraversalPolicy_Object_Diagnosticable);
    _inherit(A._ReadingOrderSortData, A.__ReadingOrderSortData_Object_Diagnosticable);
    _inherit(A._ReadingOrderDirectionalGroupData, A.__ReadingOrderDirectionalGroupData_Object_Diagnosticable);
    _inherit(A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin, A.FocusTraversalPolicy);
    _inherit(A.ReadingOrderTraversalPolicy, A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin);
    _inheritMany(A.GlobalKey, [A.LabeledGlobalKey, A.GlobalObjectKey]);
    _inherit(A._ElementDiagnosticableTreeNode, A.DiagnosticableTreeNode);
    _inheritMany(A.GestureRecognizerFactory, [A.GestureRecognizerFactoryWithHandlers, A._AnyTapGestureRecognizerFactory]);
    _inheritMany(A.SemanticsGestureDelegate, [A._DefaultSemanticsGestureDelegate, A._ModalBarrierSemanticsDelegate]);
    _inherit(A.HeroController, A.NavigatorObserver);
    _inherit(A._ImageState, A.__ImageState_State_WidgetsBindingObserver);
    _inherit(A.LayoutBuilder, A.ConstrainedLayoutBuilder);
    _inherit(A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder, A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin);
    _inherit(A._RenderLayoutBuilder, A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder);
    _inherit(A._MediaQueryFromWindowState, A.__MediaQueryFromWindowState_State_WidgetsBindingObserver);
    _inherit(A.DefaultTransitionDelegate, A.TransitionDelegate);
    _inherit(A._RouteEntry, A.RouteTransitionRecord);
    _inheritMany(A._NavigatorObservation, [A._NavigatorPushObservation, A._NavigatorPopObservation, A._NavigatorRemoveObservation, A._NavigatorReplaceObservation]);
    _inherit(A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin, A._NavigatorState_State_TickerProviderStateMixin);
    _inherit(A.NavigatorState, A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin);
    _inheritMany(A._RestorationInformation, [A._NamedRestorationInformation, A._AnonymousRestorationInformation]);
    _inheritMany(A.RestorableProperty, [A._HistoryProperty, A.RestorableValue, A.RestorableListenable]);
    _inherit(A._NotificationElement, A.__NotificationElement_ProxyElement_NotifiableElementMixin);
    _inherit(A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin);
    _inherit(A._RenderOverflowBar, A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin);
    _inherit(A.OverlayState, A._OverlayState_State_TickerProviderStateMixin);
    _inheritMany(A.MultiChildRenderObjectElement, [A._TheatreElement, A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin]);
    _inherit(A._RenderTheatre, A.__RenderTheatre_RenderBox_ContainerRenderObjectMixin);
    _inherit(A._GlowingOverscrollIndicatorState, A.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin);
    _inherit(A._StretchingOverscrollIndicatorState, A.__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin);
    _inherit(A.OverscrollIndicatorNotification, A._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin);
    _inheritMany(A.ValueKey, [A.PageStorageKey, A._SaltedValueKey]);
    _inherit(A.FixedScrollMetrics, A._FixedScrollMetrics_Object_ScrollMetrics);
    _inherit(A.PageMetrics, A.FixedScrollMetrics);
    _inheritMany(A.ScrollPhysics, [A._ForceImplicitScrollPhysics, A.PageScrollPhysics, A.RangeMaintainingScrollPhysics, A.BouncingScrollPhysics, A.ClampingScrollPhysics, A.AlwaysScrollableScrollPhysics, A.NeverScrollableScrollPhysics]);
    _inherit(A.DefaultPlatformMenuDelegate, A.PlatformMenuDelegate);
    _inherit(A._RestorationScopeState, A.__RestorationScopeState_State_RestorationMixin);
    _inheritMany(A.RestorableValue, [A._RestorablePrimitiveValueN, A._RestorableRouteInformation, A._RestorableScrollOffset]);
    _inherit(A._RestorablePrimitiveValue, A._RestorablePrimitiveValueN);
    _inheritMany(A._RestorablePrimitiveValue, [A.RestorableNum, A.RestorableBool]);
    _inherit(A.RestorableChangeNotifier, A.RestorableListenable);
    _inherit(A.RestorableTextEditingController, A.RestorableChangeNotifier);
    _inherit(A._RouterState, A.__RouterState_State_RestorationMixin);
    _inherit(A.BackButtonDispatcher, A._CallbackHookProvider);
    _inherit(A._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver, A.BackButtonDispatcher);
    _inherit(A.RootBackButtonDispatcher, A._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver);
    _inherit(A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver, A.RouteInformationProvider);
    _inherit(A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier, A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver);
    _inherit(A.PlatformRouteInformationProvider, A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier);
    _inherit(A._DismissModalAction, A.DismissAction);
    _inherit(A._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin, A.LayoutChangedNotification);
    _inherit(A.ScrollNotification, A._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin);
    _inheritMany(A.ScrollNotification, [A.ScrollStartNotification, A.ScrollUpdateNotification, A.OverscrollNotification, A.ScrollEndNotification, A.UserScrollNotification]);
    _inheritMany(A.LinkedListEntry, [A._ListenerEntry, A._ListenerEntry0]);
    _inherit(A._ConvertedScrollMetricsNotification, A.ScrollUpdateNotification);
    _inherit(A.ScrollMetricsNotification, A._ScrollMetricsNotification_Notification_ViewportNotificationMixin);
    _inherit(A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin, A._ScrollableState_State_TickerProviderStateMixin);
    _inherit(A.ScrollableState, A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin);
    _inherit(A._MultiSelectableSelectionContainerDelegate_SelectionContainerDelegate_ChangeNotifier, A.SelectionContainerDelegate);
    _inherit(A.MultiSelectableSelectionContainerDelegate, A._MultiSelectableSelectionContainerDelegate_SelectionContainerDelegate_ChangeNotifier);
    _inherit(A._ScrollableSelectionContainerDelegate, A.MultiSelectableSelectionContainerDelegate);
    _inherit(A._ThumbPressGestureRecognizer, A.LongPressGestureRecognizer);
    _inherit(A._TrackTapGestureRecognizer, A.TapGestureRecognizer);
    _inherit(A.__SelectionContainerState_State_Selectable_SelectionRegistrant, A.__SelectionContainerState_State_Selectable);
    _inherit(A._SelectionContainerState, A.__SelectionContainerState_State_Selectable_SelectionRegistrant);
    _inherit(A._SharedAppModel, A.InheritedModel);
    _inherit(A._LogicalKeySet_KeySet_Diagnosticable, A.KeySet);
    _inherit(A.LogicalKeySet, A._LogicalKeySet_KeySet_Diagnosticable);
    _inherit(A._SingleActivator_Object_Diagnosticable_MenuSerializableShortcut, A._SingleActivator_Object_Diagnosticable);
    _inherit(A.SingleActivator, A._SingleActivator_Object_Diagnosticable_MenuSerializableShortcut);
    _inherit(A._ActivatorIntentPair, A.__ActivatorIntentPair_Object_Diagnosticable);
    _inherit(A._ShortcutManager_Object_Diagnosticable_ChangeNotifier, A._ShortcutManager_Object_Diagnosticable);
    _inherit(A.ShortcutManager, A._ShortcutManager_Object_Diagnosticable_ChangeNotifier);
    _inherit(A.ShortcutRegistry, A._ShortcutRegistry_Object_ChangeNotifier);
    _inherit(A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin, A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin);
    _inherit(A._SingleChildViewportElement, A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin);
    _inherit(A._RenderSingleChildViewport, A.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin);
    _inherit(A._SelectionKeepAliveState, A.__SelectionKeepAliveState_State_AutomaticKeepAliveClientMixin);
    _inherit(A._TableSlot, A.__TableSlot_Object_Diagnosticable);
    _inheritMany(A.DirectionalTextEditingIntent, [A.DeleteCharacterIntent, A.DeleteToNextWordBoundaryIntent, A.DeleteToLineBreakIntent, A.DirectionalCaretMovementIntent, A.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent, A.ExpandSelectionToDocumentBoundaryIntent, A.ExpandSelectionToLineBreakIntent, A.ScrollToDocumentBoundaryIntent]);
    _inheritMany(A.DirectionalCaretMovementIntent, [A.ExtendSelectionByCharacterIntent, A.ExtendSelectionToNextWordBoundaryIntent, A.ExtendSelectionToLineBreakIntent, A.ExtendSelectionVerticallyToAdjacentLineIntent, A.ExtendSelectionToDocumentBoundaryIntent]);
    _inherit(A._SelectionHandleOverlayState, A.__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin);
    _inherit(A._WidgetTicker, A.Ticker);
    _inherit(A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin, A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin);
    _inherit(A._ViewportElement, A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin);
    _inherit(A.Markdown, A.MarkdownWidget);
    _inheritMany(A.InlineSyntax, [A.TaskListSyntax, A.LineBreakSyntax, A.TextSyntax, A.EscapeSyntax, A.EmailAutolinkSyntax, A.AutolinkSyntax, A.AutolinkExtensionSyntax, A.TagSyntax, A.CodeSyntax]);
    _inheritMany(A.ProviderOrFamily, [A._ProviderBase_ProviderOrFamily_ProviderListenable, A.Family]);
    _inherit(A.ProviderBase, A._ProviderBase_ProviderOrFamily_ProviderListenable);
    _inheritMany(A.ProviderBase, [A._AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable, A.AutoDisposeProviderBase]);
    _inherit(A.AlwaysAliveProviderBase, A._AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable);
    _inheritMany(A.AlwaysAliveProviderBase, [A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin, A._NotifierProvider, A.AsyncValueAsFutureProvider, A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin, A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin, A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin, A._NotifierProvider0, A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin]);
    _inherit(A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin, A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin);
    _inherit(A.ChangeNotifierProvider, A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin);
    _inheritMany(A.ProviderElementBase, [A._NotifierProviderElement, A.AutoDisposeProviderElementBase, A._FutureProviderElement_ProviderElementBase__FutureProviderElementMixin, A.ProviderElement, A.StateProviderElement, A._NotifierStateProviderElement, A._StreamProviderElement_ProviderElementBase__StreamProviderElementMixin]);
    _inherit(A.ConsumerStatefulElement, A.StatefulElement);
    _inherit(A.HashUrlStrategy0, A.UrlStrategy0);
    _inherit(A.PathUrlStrategy, A.HashUrlStrategy0);
    _inherit(A.BrowserPlatformLocation0, A.PlatformLocation0);
    _inherit(A.PluginRegistry, A.Registrar);
    _inherit(A.BrowserClient, A.BaseClient);
    _inherit(A.ByteStream, A.StreamView);
    _inherit(A.Request, A.BaseRequest);
    _inheritMany(A.BaseResponse, [A.Response0, A.StreamedResponse]);
    _inherit(A.CaseInsensitiveMap, A.CanonicalizedMap);
    _inheritMany(A.DecodeInfo, [A.BmpInfo, A.ExrImage, A.GifInfo, A.IcoInfo, A.PngInfo, A.PsdImage, A.TgaInfo, A.TiffInfo, A.WebPInfo]);
    _inheritMany(A.Decoder, [A.BmpDecoder, A.ExrDecoder, A.GifDecoder, A.IcoDecoder, A.JpegDecoder, A.PngDecoder, A.PsdDecoder, A.TgaDecoder, A.TiffDecoder, A.WebPDecoder]);
    _inherit(A.DibDecoder, A.BmpDecoder);
    _inherit(A.InternalExrCompressor, A.ExrCompressor);
    _inheritMany(A.InternalExrCompressor, [A.InternalExrB44Compressor, A.InternalExrPizCompressor, A.InternalExrPxr24Compressor, A.InternalExrRleCompressor, A.InternalExrZipCompressor]);
    _inherit(A.InternalExrPart, A.ExrPart);
    _inherit(A.InternalGifImageDesc, A.GifImageDesc);
    _inherit(A.IcoBmpInfo, A.BmpInfo);
    _inherit(A.InternalPngFrame, A.PngFrame);
    _inherit(A.InternalPngInfo, A.PngInfo);
    _inheritMany(A.PsdEffect, [A.PsdBevelEffect, A.PsdDropShadowEffect, A.PsdInnerGlowEffect, A.PsdInnerShadowEffect, A.PsdOuterGlowEffect, A.PsdSolidFillEffect]);
    _inheritMany(A.PsdLayerData, [A.PsdLayerAdditionalData, A.PsdLayerSectionDivider]);
    _inherit(A.InternalVP8L, A.VP8L);
    _inherit(A.InternalWebPFrame, A.WebPFrame);
    _inherit(A.InternalWebPInfo, A.WebPInfo);
    _inheritMany(A._DateFormatField, [A._DateFormatLiteralField, A._DateFormatQuotedField, A._DateFormatPatternField]);
    _inheritMany(A.BlockSyntax, [A.EmptyBlockSyntax, A.SetextHeaderSyntax, A.HeaderSyntax, A.BlockquoteSyntax, A.CodeBlockSyntax, A.FencedCodeBlockSyntax, A.HorizontalRuleSyntax, A.BlockHtmlSyntax, A.ListSyntax, A.TableSyntax, A.ParagraphSyntax]);
    _inheritMany(A.BlockHtmlSyntax, [A.BlockTagBlockHtmlSyntax, A.LongBlockHtmlSyntax]);
    _inherit(A.OtherTagBlockHtmlSyntax, A.BlockTagBlockHtmlSyntax);
    _inheritMany(A.ListSyntax, [A.UnorderedListSyntax, A.OrderedListSyntax]);
    _inherit(A.InlineHtmlSyntax, A.TextSyntax);
    _inheritMany(A.TagSyntax, [A.StrikethroughSyntax, A.LinkSyntax]);
    _inherit(A.ImageSyntax, A.LinkSyntax);
    _inheritMany(A.StatelessElement, [A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin, A._NestedHookElement, A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin]);
    _inherit(A._NestedElement, A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin);
    _inherit(A.SingleChildStatelessElement, A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin);
    _inherit(A.InternalStyle, A.Style);
    _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]);
    _inherit(A.InheritedProvider, A.SingleChildStatelessWidget);
    _inherit(A._InheritedProviderElement, A.SingleChildStatelessElement);
    _inheritMany(A._Delegate, [A._CreateInheritedProvider, A._ValueInheritedProvider]);
    _inheritMany(A._DelegateState, [A._CreateInheritedProviderState, A._ValueInheritedProviderState]);
    _inherit(A.MultiProvider, A.Nested);
    _inherit(A.Provider, A.InheritedProvider);
    _inheritMany(A.AutoDisposeProviderBase, [A.AutoDisposeAsyncValueAsFutureProvider, A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin, A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin, A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin, A._AutoDisposeNotifierProvider, A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin]);
    _inheritMany(A.AsyncValue, [A.AsyncData, A.AsyncLoading, A.AsyncError0]);
    _inherit(A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin);
    _inherit(A.AutoDisposeFutureProvider, A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin);
    _inheritMany(A.AutoDisposeProviderElementBase, [A._AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin, A.AutoDisposeProviderElement, A._AutoDisposeNotifierProviderElement, A._AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin]);
    _inherit(A.AutoDisposeFutureProviderElement, A._AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin);
    _inheritMany(A.Family, [A.AutoDisposeFutureProviderFamily, A.FutureProviderFamily, A.AutoDisposeProviderFamily, A.StateProviderFamily, A.AutoDisposeStreamProviderFamily]);
    _inherit(A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin);
    _inherit(A.FutureProvider, A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin);
    _inherit(A.FutureProviderElement, A._FutureProviderElement_ProviderElementBase__FutureProviderElementMixin);
    _inherit(A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin);
    _inherit(A.AutoDisposeProvider, A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin);
    _inherit(A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin);
    _inherit(A.Provider0, A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin);
    _inherit(A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin, A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin);
    _inherit(A.AutoDisposeStateNotifierProvider, A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin);
    _inherit(A.StateController, A.StateNotifier);
    _inherit(A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin, A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin);
    _inherit(A.StateProvider, A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin);
    _inherit(A._NotifierStateProvider, A.Provider0);
    _inherit(A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin);
    _inherit(A.AutoDisposeStreamProvider, A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin);
    _inherit(A.AutoDisposeStreamProviderElement, A._AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin);
    _inherit(A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin);
    _inherit(A.StreamProvider, A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin);
    _inherit(A.StreamProviderElement, A._StreamProviderElement_ProviderElementBase__StreamProviderElementMixin);
    _inherit(A.FileLocation, A.SourceLocationMixin);
    _inheritMany(A.SourceSpanMixin, [A._FileSpan, A.SourceSpanBase]);
    _inherit(A.SourceSpanFormatException, A.SourceSpanException);
    _inherit(A.SourceSpanWithContext, A.SourceSpanBase);
    _inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A._StreamChannel, A.HtmlWebSocketChannel, A.WebSocketChannel]);
    _inherit(A.StringScannerException, A.SourceSpanFormatException);
    _inherit(A.LineScanner, A.StringScanner);
    _inheritMany(A.UrlLauncherPlatform, [A.MethodChannelUrlLauncher, A.UrlLauncherPlugin]);
    _inheritMany(A._State, [A.HttpTimelineLoggingState, A.SocketProfilingState]);
    _inherit(A.HttpProfileRequest, A.HttpProfileRequestRef);
    _inheritMany(A.Obj, [A.Breakpoint, A.Class, A.Code, A.Context0, A.Error, A.Field, A.Func, A.Instance, A.Library, A.Script, A.TypeArguments]);
    _inheritMany(A.ObjRef, [A.ClassRef, A.CodeRef, A.ContextRef, A.ErrorRef, A.FieldRef, A.FuncRef, A.InstanceRef, A.LibraryRef, A.ScriptRef, A.TypeArgumentsRef]);
    _inherit(A.NullValRef, A.InstanceRef);
    _inherit(A.NullVal, A.Instance);
    _inheritMany(A.DelegatingStreamSink, [A._HtmlWebSocketSink, A.WebSocketSink]);
    _mixin(A._DomCanvas_EngineCanvas_SaveElementStackTracking, A.SaveElementStackTracking);
    _mixinHard(A._PersistedClipRRect_PersistedContainerSurface__DomClip, A._DomClip);
    _mixinHard(A._PersistedClipRect_PersistedContainerSurface__DomClip, A._DomClip);
    _mixin(A.__MouseAdapter__BaseAdapter__WheelEventListenerMixin, A._WheelEventListenerMixin);
    _mixin(A.__PointerAdapter__BaseAdapter__WheelEventListenerMixin, A._WheelEventListenerMixin);
    _mixin(A.UnmodifiableListBase, A.UnmodifiableListMixin);
    _mixin(A.__CastListBase__CastIterableBase_ListMixin, A.ListMixin);
    _mixin(A._NativeFloat32x4List_Object_ListMixin, A.ListMixin);
    _mixin(A._NativeFloat32x4List_Object_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
    _mixin(A._NativeFloat64x2List_Object_ListMixin, A.ListMixin);
    _mixin(A._NativeFloat64x2List_Object_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
    _mixin(A._NativeInt32x4List_Object_ListMixin, A.ListMixin);
    _mixin(A._NativeInt32x4List_Object_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
    _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin, A.ListMixin);
    _mixin(A._NativeTypedArrayOfDouble_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
    _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin, A.ListMixin);
    _mixin(A._NativeTypedArrayOfInt_NativeTypedArray_ListMixin_FixedLengthListMixin, A.FixedLengthListMixin);
    _mixin(A._AsyncStreamController, A._AsyncStreamControllerDispatch);
    _mixin(A._SyncStreamController, A._SyncStreamControllerDispatch);
    _mixin(A.UnmodifiableMapBase, A._UnmodifiableMapMixin);
    _mixin(A._ListBase_Object_ListMixin, A.ListMixin);
    _mixin(A._SplayTreeMap__SplayTree_MapMixin, A.MapMixin);
    _mixin(A._SplayTreeSet__SplayTree_IterableMixin, A.IterableMixin);
    _mixin(A._SplayTreeSet__SplayTree_IterableMixin_SetMixin, A.SetMixin);
    _mixin(A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A._UnmodifiableMapMixin);
    _mixin(A.__SetBase_Object_SetMixin, A.SetMixin);
    _mixin(A.__UnmodifiableSet__SetBase__UnmodifiableSetMixin, A._UnmodifiableSetMixin);
    _mixin(A.__JsonStringStringifierPretty__JsonStringStringifier__JsonPrettyPrintMixin, A._JsonPrettyPrintMixin);
    _mixin(A._CssStyleDeclaration_JavaScriptObject_CssStyleDeclarationBase, A.CssStyleDeclarationBase);
    _mixin(A._DomRectList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._DomRectList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._DomStringList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._DomStringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._FileList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._FileList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._HtmlCollection_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._HtmlCollection_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._MidiInputMap_JavaScriptObject_MapMixin, A.MapMixin);
    _mixin(A._MidiOutputMap_JavaScriptObject_MapMixin, A.MapMixin);
    _mixin(A._MimeTypeArray_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._MimeTypeArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._NodeList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._NodeList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._PluginArray_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._PluginArray_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._RtcStatsReport_JavaScriptObject_MapMixin, A.MapMixin);
    _mixin(A._SourceBufferList_EventTarget_ListMixin, A.ListMixin);
    _mixin(A._SourceBufferList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._SpeechGrammarList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._Storage_JavaScriptObject_MapMixin, A.MapMixin);
    _mixin(A._TextTrackCueList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._TextTrackCueList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._TextTrackList_EventTarget_ListMixin, A.ListMixin);
    _mixin(A._TextTrackList_EventTarget_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._TouchList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._TouchList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A.__CssRuleList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A.__CssRuleList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A.__GamepadList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A.__GamepadList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A.__NamedNodeMap_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A.__SpeechRecognitionResultList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A.__StyleSheetList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixinHard(A._JsArray_JsObject_ListMixin, A.ListMixin);
    _mixin(A._LengthList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._LengthList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._NumberList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._NumberList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._StringList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._StringList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._TransformList_JavaScriptObject_ListMixin, A.ListMixin);
    _mixin(A._TransformList_JavaScriptObject_ListMixin_ImmutableListMixin, A.ImmutableListMixin);
    _mixin(A._AudioParamMap_JavaScriptObject_MapMixin, A.MapMixin);
    _mixin(A._QueueList_Object_ListMixin, A.ListMixin);
    _mixin(A.__AnalyticsPromptState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._DevToolsAppState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._ChartState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._ChartController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A._FlameChartState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin, A.FlameChartColorMixin);
    _mixinHard(A._FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._ScrollingFlameChartRowState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__CustomPointerScrollableState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._ImmutableList_Object_ListMixin, A.ListMixin);
    _mixinHard(A.__AnalysisViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__AnalysisViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__AppSizeBodyState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A.__AppSizeBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__DiffViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__DiffViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A.__BreakpointsState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A.__CallStackState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__CodeViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__CodeViewState_State_AutoDisposeMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixin(A.__LineItemState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__LinesState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__DebuggingControlsState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__DebuggingControlsState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A._DebuggerController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixin(A._DebuggerController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._SourceToken_Object_DataSearchStateMixin, A.DataSearchStateMixin);
    _mixinHard(A._DebuggerScreenBodyState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._DebuggerScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__DebuggerStatusState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__FloatingDebuggerControlsState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__FloatingDebuggerControlsState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._ExpressionEvalFieldState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._ExpressionEvalFieldState_State_AutoDisposeMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A._FileSearchFieldState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._FileSearchFieldState_State_AutoDisposeMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A.__FileExplorerState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._ProgramExplorerController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A._InspectorController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A._InspectorScreenBodyState_State_BlockingActionMixin, A.BlockingActionMixin);
    _mixinHard(A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._InspectorScreenBodyState_State_BlockingActionMixin_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A.__InspectorExpandCollapseButtonsState_State_BlockingActionMixin, A.BlockingActionMixin);
    _mixinHard(A._InspectorServiceBase_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixin(A._InspectorTreeRow_Object_DataSearchStateMixin, A.DataSearchStateMixin);
    _mixin(A._InspectorTreeController_Object_SearchControllerMixin, A.SearchControllerMixin);
    _mixinHard(A.__InspectorTreeRowState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__InspectorTreeRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, A.CollapsibleAnimationMixin);
    _mixinHard(A.__InspectorTreeState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixinHard(A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixinHard(A.__InspectorTreeState_State_SingleTickerProviderStateMixin_AutomaticKeepAliveClientMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixinHard(A.__LayoutExplorerTabState_State_AutomaticKeepAliveClientMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._LayoutExplorerWidgetState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__LogDetailsState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._LogData_Object_DataSearchStateMixin, A.DataSearchStateMixin);
    _mixin(A._LoggingController_DisposableController_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin, A.FilterControllerMixin);
    _mixin(A._LoggingController_DisposableController_SearchControllerMixin_FilterControllerMixin_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A.__LoggingScreenState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__LoggingScreenState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A._AllocationTableViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._AllocationTableViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._AnalysisInstanceViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._AnalysisInstanceViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A._MemoryController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixin(A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._MemoryController_DisposableController_AutoDisposeControllerMixin_SearchControllerMixin_AutoCompleteSearchControllerMixin, A.AutoCompleteSearchControllerMixin);
    _mixinHard(A._SnapshotFilterState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._HeapTreeViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A._HeapTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin_SearchFieldMixin_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._MemoryHeapTableState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._MemoryHeapTableState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._MemoryHeapTreemapState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._MemoryHeapTreemapState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._InstanceTreeViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._InstanceTreeViewState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._MemoryBodyState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._MemoryBodyState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__MemoryChartPaneState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A.__MemoryChartPaneState_State_AutoDisposeMixin_SingleTickerProviderStateMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._MemoryAndroidChartState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._MemoryAndroidChartState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._MemoryEventsPaneState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._MemoryEventsPaneState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A._MemoryVMChartState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._MemoryVMChartState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A.__ToggleAdbMemoryButtonState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__MemoryControlPaneState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__MemoryControlPaneState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A.__IntervalDropdownState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A.__PrimaryControlsState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A.__SecondaryControlsState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__SecondaryControlsState_State_ProvidedControllerMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__MemorySourceDropdownState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A._NetworkController_Object_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._NetworkController_Object_SearchControllerMixin_FilterControllerMixin, A.FilterControllerMixin);
    _mixin(A._NetworkRequest_Object_DataSearchStateMixin, A.DataSearchStateMixin);
    _mixinHard(A.__NetworkProfilerControlsState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__NetworkProfilerControlsState_State_AutoDisposeMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A.__NetworkScreenBodyState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__NetworkScreenBodyState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__TrackWidgetBuildsSettingState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__FlutterFramesChartState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__FlutterFramesChartState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A._PerformanceController_DisposableController_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._PerformanceController_DisposableController_SearchControllerMixin_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixin(A._TimelineEvent_TreeNode_DataSearchStateMixin, A.DataSearchStateMixin);
    _mixin(A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin, A.TreeDataSearchStateMixin);
    _mixin(A._TimelineEvent_TreeNode_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, A.FlameChartDataMixin);
    _mixinHard(A._PerformanceScreenBodyState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, A.OfflineScreenMixin);
    _mixin(A._PerformanceScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__TabbedPerformanceViewState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__TabbedPerformanceViewState_State_AutoDisposeMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixin(A._TimelineFlameChartState_FlameChartState_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__NavigateInThreadInButtonState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._CpuProfilerController_Object_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._CpuProfilerController_Object_SearchControllerMixin_FilterControllerMixin, A.FilterControllerMixin);
    _mixin(A._CpuStackFrame_TreeNode_ProfilableDataMixin, A.ProfilableDataMixin);
    _mixin(A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin, A.DataSearchStateMixin);
    _mixin(A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin, A.TreeDataSearchStateMixin);
    _mixin(A._CpuStackFrame_TreeNode_ProfilableDataMixin_DataSearchStateMixin_TreeDataSearchStateMixin_FlameChartDataMixin, A.FlameChartDataMixin);
    _mixinHard(A.__CpuProfilerState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__CpuProfilerState_State_TickerProviderStateMixin_AutoDisposeMixin_SearchFieldMixin, A.SearchFieldMixin);
    _mixinHard(A.__ProfilerScreenBodyState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin, A.OfflineScreenMixin);
    _mixin(A.__ProfilerScreenBodyState_State_AutoDisposeMixin_OfflineScreenMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A._ProfilerScreenController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixin(A._InstanceDetails_Object__$InstanceDetails, A._$InstanceDetails);
    _mixin(A._InstancePath_Object__$InstancePath, A._$InstancePath);
    _mixin(A._ObjectField_Object__$ObjectField, A._$ObjectField);
    _mixin(A._PathToProperty_Object__$PathToProperty, A._$PathToProperty);
    _mixin(A.__$BoolInstance_BoolInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$EnumInstance_EnumInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$ListIndexPath_Object_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$ListInstance_ListInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$MapInstance_MapInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$MapKeyPath_Object_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$NullInstance_NullInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$NumInstance_NumInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$ObjectInstance_ObjectInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$PropertyPath_Object_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$StringInstance_StringInstance_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$_InstancePathFromInstanceId__InstancePathFromInstanceId_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$_InstancePathFromProviderId__InstancePathFromProviderId_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$_ObjectField__ObjectField_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._Result_Object__$Result, A._$Result);
    _mixin(A.__$_ResultData__ResultData_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A.__$_ResultError__ResultError_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._IsolateStatisticsViewController_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__VMDeveloperToolsScreenState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixin(A._ScriptManager_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixin(A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin, A._ServiceExtensionMixin);
    _mixinHard(A.__RegisteredServiceExtensionButtonState_State__ServiceExtensionMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__ServiceExtensionButtonGroupState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__ServiceExtensionCheckboxGroupButtonState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin, A._ServiceExtensionMixin);
    _mixinHard(A.__ServiceExtensionCheckboxState_State__ServiceExtensionMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__ServiceExtensionToggleState_State__ServiceExtensionMixin, A._ServiceExtensionMixin);
    _mixinHard(A.__ServiceExtensionToggleState_State__ServiceExtensionMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__DualValueListenableBuilderState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__JsonViewerState_State_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__KeepAliveWrapperState_State_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixinHard(A.__ConsoleOutputState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__ConsoleOutputState_State_AutoDisposeMixin_ProvidedControllerMixin, A.ProvidedControllerMixin);
    _mixinHard(A.__VMFlagsDialogState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._ErrorBadgeManager_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A._EvalOnDartLibrary_DisposableController_AutoDisposeControllerMixin, A.AutoDisposeControllerMixin);
    _mixinHard(A.__InitializerState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixinHard(A.__InitializerState_State_SingleTickerProviderStateMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__ConnectDialogState_State_BlockingActionMixin, A.BlockingActionMixin);
    _mixinHard(A.__NotificationState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixinHard(A.__ReleaseNotesViewerState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__ReleaseNotesViewerState_State_AutoDisposeMixin_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier, A.ChangeNotifier);
    _mixin(A._DevToolsRouterDelegate_RouterDelegate_ChangeNotifier_PopNavigatorRouterDelegateMixin, A.PopNavigatorRouterDelegateMixin);
    _mixinHard(A._DevToolsScaffoldState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._DevToolsScaffoldState_State_AutoDisposeMixin_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._KeyboardShortcutsState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A._TreeTableState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._TreeTableState_State_TickerProviderStateMixin_TreeMixin, A.TreeMixin);
    _mixinHard(A._TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__TableRowState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, A.CollapsibleAnimationMixin);
    _mixinHard(A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A.__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin, A.SearchableMixin);
    _mixinHard(A.__TableState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__TreeViewItemState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin, A.CollapsibleAnimationMixin);
    _mixin(A.__TreeViewState_State_TreeMixin, A.TreeMixin);
    _mixinHard(A.__TreeViewState_State_TreeMixin_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._SemanticVersion_Object_CompareMixin, A.CompareMixin);
    _mixinHard(A.__FilterDialogState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixin(A._AutoCompleteController_DisposableController_SearchControllerMixin, A.SearchControllerMixin);
    _mixin(A._AutoCompleteController_DisposableController_SearchControllerMixin_AutoCompleteSearchControllerMixin, A.AutoCompleteSearchControllerMixin);
    _mixinHard(A._AutoCompleteState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__AutoCompleteSearchFieldState_State_AutoDisposeMixin, A.AutoDisposeMixin);
    _mixinHard(A.__AnalyticsTabbedViewState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._MediaSize__Enum_EnumIndexOrdering, A.EnumIndexOrdering);
    _mixin(A._AnimationController_Animation_AnimationEagerListenerMixin, A.AnimationEagerListenerMixin);
    _mixin(A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, A.AnimationLocalListenersMixin);
    _mixin(A._AnimationController_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A.AnimationLocalStatusListenersMixin);
    _mixin(A._CompoundAnimation_Animation_AnimationLazyListenerMixin, A.AnimationLazyListenerMixin);
    _mixin(A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, A.AnimationLocalListenersMixin);
    _mixin(A._CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A.AnimationLocalStatusListenersMixin);
    _mixin(A._CurvedAnimation_Animation_AnimationWithParentMixin, A.AnimationWithParentMixin);
    _mixin(A._ProxyAnimation_Animation_AnimationLazyListenerMixin, A.AnimationLazyListenerMixin);
    _mixin(A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin, A.AnimationLocalListenersMixin);
    _mixin(A._ProxyAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A.AnimationLocalStatusListenersMixin);
    _mixin(A._ReverseAnimation_Animation_AnimationLazyListenerMixin, A.AnimationLazyListenerMixin);
    _mixin(A._ReverseAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalStatusListenersMixin, A.AnimationLocalStatusListenersMixin);
    _mixin(A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin, A.AnimationEagerListenerMixin);
    _mixin(A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin, A.AnimationLocalListenersMixin);
    _mixin(A._TrainHoppingAnimation_Animation_AnimationEagerListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin, A.AnimationLocalStatusListenersMixin);
    _mixin(A.__AnimatedEvaluation_Animation_AnimationWithParentMixin, A.AnimationWithParentMixin);
    _mixin(A._CupertinoDynamicColor_Color_Diagnosticable, A.Diagnosticable);
    _mixin(A._CupertinoIconThemeData_IconThemeData_Diagnosticable, A.Diagnosticable);
    _mixin(A._CupertinoTextThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._CupertinoThemeData_NoDefaultCupertinoThemeData_Diagnosticable, A.Diagnosticable);
    _mixin(A._FlutterError_Error_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._FlutterErrorDetails_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._DiagnosticableTree_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._PointerAddedEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerAddedEvent_PointerEvent__PointerEventDescription__CopyPointerAddedEvent, A._CopyPointerAddedEvent);
    _mixin(A._PointerCancelEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerCancelEvent_PointerEvent__PointerEventDescription__CopyPointerCancelEvent, A._CopyPointerCancelEvent);
    _mixin(A._PointerDownEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerDownEvent_PointerEvent__PointerEventDescription__CopyPointerDownEvent, A._CopyPointerDownEvent);
    _mixin(A._PointerEnterEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerEnterEvent_PointerEvent__PointerEventDescription__CopyPointerEnterEvent, A._CopyPointerEnterEvent);
    _mixin(A._PointerEvent_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._PointerExitEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerExitEvent_PointerEvent__PointerEventDescription__CopyPointerExitEvent, A._CopyPointerExitEvent);
    _mixin(A._PointerHoverEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerHoverEvent_PointerEvent__PointerEventDescription__CopyPointerHoverEvent, A._CopyPointerHoverEvent);
    _mixin(A._PointerMoveEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerMoveEvent_PointerEvent__PointerEventDescription__CopyPointerMoveEvent, A._CopyPointerMoveEvent);
    _mixin(A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerPanZoomEndEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomEndEvent, A._CopyPointerPanZoomEndEvent);
    _mixin(A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerPanZoomStartEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomStartEvent, A._CopyPointerPanZoomStartEvent);
    _mixin(A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerPanZoomUpdateEvent_PointerEvent__PointerEventDescription__CopyPointerPanZoomUpdateEvent, A._CopyPointerPanZoomUpdateEvent);
    _mixin(A._PointerRemovedEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerRemovedEvent_PointerEvent__PointerEventDescription__CopyPointerRemovedEvent, A._CopyPointerRemovedEvent);
    _mixin(A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerScrollEvent_PointerSignalEvent__PointerEventDescription__CopyPointerScrollEvent, A._CopyPointerScrollEvent);
    _mixin(A._PointerUpEvent_PointerEvent__PointerEventDescription, A._PointerEventDescription);
    _mixin(A._PointerUpEvent_PointerEvent__PointerEventDescription__CopyPointerUpEvent, A._CopyPointerUpEvent);
    _mixin(A.__TransformedPointerAddedEvent__TransformedPointerEvent__CopyPointerAddedEvent, A._CopyPointerAddedEvent);
    _mixin(A.__TransformedPointerCancelEvent__TransformedPointerEvent__CopyPointerCancelEvent, A._CopyPointerCancelEvent);
    _mixin(A.__TransformedPointerDownEvent__TransformedPointerEvent__CopyPointerDownEvent, A._CopyPointerDownEvent);
    _mixin(A.__TransformedPointerEnterEvent__TransformedPointerEvent__CopyPointerEnterEvent, A._CopyPointerEnterEvent);
    _mixin(A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable, A.Diagnosticable);
    _mixin(A.__TransformedPointerEvent__AbstractPointerEvent_Diagnosticable__PointerEventDescription, A._PointerEventDescription);
    _mixin(A.__TransformedPointerExitEvent__TransformedPointerEvent__CopyPointerExitEvent, A._CopyPointerExitEvent);
    _mixin(A.__TransformedPointerHoverEvent__TransformedPointerEvent__CopyPointerHoverEvent, A._CopyPointerHoverEvent);
    _mixin(A.__TransformedPointerMoveEvent__TransformedPointerEvent__CopyPointerMoveEvent, A._CopyPointerMoveEvent);
    _mixin(A.__TransformedPointerPanZoomEndEvent__TransformedPointerEvent__CopyPointerPanZoomEndEvent, A._CopyPointerPanZoomEndEvent);
    _mixin(A.__TransformedPointerPanZoomStartEvent__TransformedPointerEvent__CopyPointerPanZoomStartEvent, A._CopyPointerPanZoomStartEvent);
    _mixin(A.__TransformedPointerPanZoomUpdateEvent__TransformedPointerEvent__CopyPointerPanZoomUpdateEvent, A._CopyPointerPanZoomUpdateEvent);
    _mixin(A.__TransformedPointerRemovedEvent__TransformedPointerEvent__CopyPointerRemovedEvent, A._CopyPointerRemovedEvent);
    _mixin(A.__TransformedPointerScrollEvent__TransformedPointerEvent__CopyPointerScrollEvent, A._CopyPointerScrollEvent);
    _mixin(A.__TransformedPointerUpEvent__TransformedPointerEvent__CopyPointerUpEvent, A._CopyPointerUpEvent);
    _mixin(A._GestureRecognizer_GestureArenaMember_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._AppBarTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._MaterialBannerThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._BottomAppBarTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._BottomNavigationBarThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._BottomSheetThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__RawMaterialButtonState_State_MaterialStateMixin, A.MaterialStateMixin);
    _mixin(A._ButtonBarThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ButtonStyle_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ButtonStyleState_State_MaterialStateMixin, A.MaterialStateMixin);
    _mixinHard(A.__ButtonStyleState_State_MaterialStateMixin_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._ButtonThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._CardTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__CheckboxState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__CheckboxState_State_TickerProviderStateMixin_ToggleableStateMixin, A.ToggleableStateMixin);
    _mixin(A._CheckboxThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ChipThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ColorScheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._DataTableThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._DialogTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._DividerThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._DrawerThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__DropdownButtonState_State_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixin(A.__ElevatedButtonDefaultBackground_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ElevatedButtonDefaultElevation_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ElevatedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ElevatedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ElevatedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A._ElevatedButtonThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__ExpansionTileState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._ExpansionTileThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX, A.FabEndOffsetX);
    _mixin(A.__EndFloatFabLocation_StandardFabLocation_FabEndOffsetX_FabFloatOffsetY, A.FabFloatOffsetY);
    _mixin(A._FloatingActionButtonThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__InkResponseState_State_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixin(A._InputDecorationTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__BorderContainerState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__Decorator_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin, A.SlottedMultiChildRenderObjectWidgetMixin);
    _mixinHard(A.__HelperErrorState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixinHard(A.__InputDecoratorState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__RenderDecoration_RenderBox_SlottedContainerRenderObjectMixin, A.SlottedContainerRenderObjectMixin);
    _mixinHard(A.__ListTile_RenderObjectWidget_SlottedMultiChildRenderObjectWidgetMixin, A.SlottedMultiChildRenderObjectWidgetMixin);
    _mixinHard(A.__RenderListTile_RenderBox_SlottedContainerRenderObjectMixin, A.SlottedContainerRenderObjectMixin);
    _mixin(A._ListTileThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__MaterialState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__SelectableAnimatedBuilderState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._NavigationBarThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__NavigationRailState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._NavigationRailThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__OutlinedButtonDefaultForeground_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__OutlinedButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__OutlinedButtonDefaultOverlay_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A._OutlinedButtonThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin, A.MaterialRouteTransitionMixin);
    _mixin(A._PageTransitionsTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._PopupMenuThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__CircularProgressIndicatorState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixinHard(A.__LinearProgressIndicatorState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._ProgressIndicatorThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__RadioState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin, A.ToggleableStateMixin);
    _mixin(A._RadioThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A._ScaffoldMessengerState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._ScaffoldState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._ScaffoldState_State_TickerProviderStateMixin_RestorationMixin, A.RestorationMixin);
    _mixinHard(A.__FloatingActionButtonTransitionState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._ScrollbarThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._SliderThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._SnackBarThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__MaterialSwitchState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__MaterialSwitchState_State_TickerProviderStateMixin_ToggleableStateMixin, A.ToggleableStateMixin);
    _mixin(A._SwitchThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._TabBarTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ChangeAnimation_Animation_AnimationWithParentMixin, A.AnimationWithParentMixin);
    _mixin(A.__DragAnimation_Animation_AnimationWithParentMixin, A.AnimationWithParentMixin);
    _mixin(A.__TextButtonDefaultMouseCursor_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A._TextButtonThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__TextFieldState_State_RestorationMixin, A.RestorationMixin);
    _mixin(A._TextSelectionThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._TextTheme_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._VisualDensity_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._TimePickerThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__DefaultFillColor_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ResolveFillColor_MaterialStateProperty_Diagnosticable, A.Diagnosticable);
    _mixin(A._ToggleButtonsThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A._TooltipState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A._TooltipThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._Typography_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._Decoration_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ImageChunkEvent_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ImageStream_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ImageStreamCompleter_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._StrutStyle_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._TextStyle_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A._ContainerBoxParentData_BoxParentData_ContainerParentDataMixin, A.ContainerParentDataMixin);
    _mixinHard(A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderCustomMultiChildLayoutBox_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixinHard(A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin, A.RelayoutWhenSystemFontsChangeMixin);
    _mixinHard(A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderEditable_RenderBox_RelayoutWhenSystemFontsChangeMixin_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixinHard(A._RenderFlex_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixinHard(A._RenderFlex_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_DebugOverflowIndicatorMixin, A.DebugOverflowIndicatorMixin);
    _mixin(A._Layer_AbstractNode_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixinHard(A._RenderListBody_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderListBody_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixin(A.__MouseTrackerUpdateDetails_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._RenderObject_AbstractNode_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixinHard(A._RenderParagraph_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixinHard(A._RenderParagraph_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin_RelayoutWhenSystemFontsChangeMixin, A.RelayoutWhenSystemFontsChangeMixin);
    _mixin(A.__SelectableFragment_Object_Selectable, A.Selectable);
    _mixin(A.__SelectableFragment_Object_Selectable_ChangeNotifier, A.ChangeNotifier);
    _mixinHard(A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin, A.RenderProxyBoxMixin);
    _mixinHard(A._RenderAnimatedOpacity_RenderProxyBox_RenderProxyBoxMixin_RenderAnimatedOpacityMixin, A.RenderAnimatedOpacityMixin);
    _mixinHard(A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixinHard(A._RenderProxyBox_RenderBox_RenderObjectWithChildMixin_RenderProxyBoxMixin, A.RenderProxyBoxMixin);
    _mixinHard(A._RenderRotatedBox_RenderBox_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixinHard(A._RenderShiftedBox_RenderBox_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixin(A._SliverGeometry_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A._SliverLogicalContainerParentData_SliverLogicalParentData_ContainerParentDataMixin, A.ContainerParentDataMixin);
    _mixinHard(A._SliverPhysicalContainerParentData_SliverPhysicalParentData_ContainerParentDataMixin, A.ContainerParentDataMixin);
    _mixinHard(A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers, A.RenderSliverHelpers);
    _mixin(A._RenderSliverMultiBoxAdaptor_RenderSliver_ContainerRenderObjectMixin_RenderSliverHelpers_RenderSliverWithKeepAliveMixin, A.RenderSliverWithKeepAliveMixin);
    _mixinHard(A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin, A.ContainerParentDataMixin);
    _mixin(A._SliverMultiBoxAdaptorParentData_SliverLogicalParentData_ContainerParentDataMixin_KeepAliveParentDataMixin, A.KeepAliveParentDataMixin);
    _mixinHard(A._RenderSliverEdgeInsetsPadding_RenderSliver_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixinHard(A._RenderStack_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderStack_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixinHard(A._RenderView_RenderObject_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixinHard(A._RenderViewportBase_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixinHard(A._RenderWrap_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A._RenderWrap_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixin(A._SemanticsData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._SemanticsNode_AbstractNode_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._SemanticsSortKey_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._KeyEvent_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._KeyboardKey_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._MouseCursor_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._RawKeyEvent_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._RawKeyEventData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._Action_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ActionDispatcher_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._Intent_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__OverridableAction_ContextAction__OverridableActionMixin, A._OverridableActionMixin);
    _mixinHard(A.__OverridableContextAction_ContextAction__OverridableActionMixin, A._OverridableActionMixin);
    _mixinHard(A.__AnimatedCrossFadeState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__AnimatedSizeState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A.__WidgetsAppState_State_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding, A.GestureBinding);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding, A.SchedulerBinding);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding, A.ServicesBinding);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding, A.PaintingBinding);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding, A.SemanticsBinding);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding, A.RendererBinding);
    _mixinHard(A._WidgetsFlutterBinding_BindingBase_GestureBinding_SchedulerBinding_ServicesBinding_PaintingBinding_SemanticsBinding_RendererBinding_WidgetsBinding, A.WidgetsBinding);
    _mixinHard(A.__DismissibleState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__DismissibleState_State_TickerProviderStateMixin_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixinHard(A._EditableTextState_State_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixin(A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixinHard(A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._EditableTextState_State_AutomaticKeepAliveClientMixin_WidgetsBindingObserver_TickerProviderStateMixin_TextSelectionDelegate, A.TextSelectionDelegate);
    _mixin(A._FocusManager_Object_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._FocusManager_Object_DiagnosticableTreeMixin_ChangeNotifier, A.ChangeNotifier);
    _mixin(A._FocusNode_Object_DiagnosticableTreeMixin, A.DiagnosticableTreeMixin);
    _mixin(A._FocusNode_Object_DiagnosticableTreeMixin_ChangeNotifier, A.ChangeNotifier);
    _mixin(A._FocusTraversalPolicy_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A._ReadingOrderTraversalPolicy_FocusTraversalPolicy_DirectionalFocusTraversalPolicyMixin, A.DirectionalFocusTraversalPolicyMixin);
    _mixin(A.__ReadingOrderDirectionalGroupData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ReadingOrderSortData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._State_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._IconThemeData_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A.__ImageState_State_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixinHard(A._ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixinHard(A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixin(A.__RenderLayoutBuilder_RenderBox_RenderObjectWithChildMixin_RenderConstrainedLayoutBuilder, A.RenderConstrainedLayoutBuilder);
    _mixin(A.__MediaQueryFromWindowState_State_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixinHard(A._NavigatorState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._NavigatorState_State_TickerProviderStateMixin_RestorationMixin, A.RestorationMixin);
    _mixin(A.__NotificationElement_ProxyElement_NotifiableElementMixin, A.NotifiableElementMixin);
    _mixinHard(A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixin(A.__RenderOverflowBar_RenderBox_ContainerRenderObjectMixin_RenderBoxContainerDefaultsMixin, A.RenderBoxContainerDefaultsMixin);
    _mixinHard(A._OverlayState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__RenderTheatre_RenderBox_ContainerRenderObjectMixin, A.ContainerRenderObjectMixin);
    _mixinHard(A._OverscrollIndicatorNotification_Notification_ViewportNotificationMixin, A.ViewportNotificationMixin);
    _mixinHard(A.__GlowingOverscrollIndicatorState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__StretchingOverscrollIndicatorState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A.__RestorationScopeState_State_RestorationMixin, A.RestorationMixin);
    _mixin(A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixin(A._PlatformRouteInformationProvider_RouteInformationProvider_WidgetsBindingObserver_ChangeNotifier, A.ChangeNotifier);
    _mixin(A._RootBackButtonDispatcher_BackButtonDispatcher_WidgetsBindingObserver, A.WidgetsBindingObserver);
    _mixinHard(A.__RouterState_State_RestorationMixin, A.RestorationMixin);
    _mixinHard(A._ModalRoute_TransitionRoute_LocalHistoryRoute, A.LocalHistoryRoute);
    _mixin(A._FixedScrollMetrics_Object_ScrollMetrics, A.ScrollMetrics);
    _mixinHard(A._ScrollNotification_LayoutChangedNotification_ViewportNotificationMixin, A.ViewportNotificationMixin);
    _mixinHard(A._ScrollMetricsNotification_Notification_ViewportNotificationMixin, A.ViewportNotificationMixin);
    _mixin(A._ScrollPosition_ViewportOffset_ScrollMetrics, A.ScrollMetrics);
    _mixinHard(A._ScrollableState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixinHard(A._ScrollableState_State_TickerProviderStateMixin_RestorationMixin, A.RestorationMixin);
    _mixinHard(A._RawScrollbarState_State_TickerProviderStateMixin, A.TickerProviderStateMixin);
    _mixin(A._MultiSelectableSelectionContainerDelegate_SelectionContainerDelegate_ChangeNotifier, A.ChangeNotifier);
    _mixin(A.__SelectionContainerState_State_Selectable, A.Selectable);
    _mixinHard(A.__SelectionContainerState_State_Selectable_SelectionRegistrant, A.SelectionRegistrant);
    _mixin(A._LogicalKeySet_KeySet_Diagnosticable, A.Diagnosticable);
    _mixin(A._ShortcutManager_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._ShortcutManager_Object_Diagnosticable_ChangeNotifier, A.ChangeNotifier);
    _mixin(A._ShortcutRegistry_Object_ChangeNotifier, A.ChangeNotifier);
    _mixin(A._SingleActivator_Object_Diagnosticable, A.Diagnosticable);
    _mixin(A._SingleActivator_Object_Diagnosticable_MenuSerializableShortcut, A.MenuSerializableShortcut);
    _mixin(A.__ActivatorIntentPair_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__RenderSingleChildViewport_RenderBox_RenderObjectWithChildMixin, A.RenderObjectWithChildMixin);
    _mixin(A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin, A.NotifiableElementMixin);
    _mixin(A.__SingleChildViewportElement_SingleChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin, A.ViewportElementMixin);
    _mixinHard(A.__SelectionKeepAliveState_State_AutomaticKeepAliveClientMixin, A.AutomaticKeepAliveClientMixin);
    _mixin(A.__TableSlot_Object_Diagnosticable, A.Diagnosticable);
    _mixinHard(A.__SelectionHandleOverlayState_State_SingleTickerProviderStateMixin, A.SingleTickerProviderStateMixin);
    _mixin(A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin, A.NotifiableElementMixin);
    _mixin(A.__ViewportElement_MultiChildRenderObjectElement_NotifiableElementMixin_ViewportElementMixin, A.ViewportElementMixin);
    _mixin(A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin, A.ChangeNotifierProviderOverrideMixin);
    _mixin(A._ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixinHard(A._SingleChildStatelessElement_StatelessElement_SingleChildWidgetElementMixin, A.SingleChildWidgetElementMixin);
    _mixinHard(A.__NestedElement_StatelessElement_SingleChildWidgetElementMixin, A.SingleChildWidgetElementMixin);
    _mixin(A._AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable, A.AlwaysAliveProviderListenable);
    _mixin(A._ProviderBase_ProviderOrFamily_ProviderListenable, A.ProviderListenable);
    _mixin(A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin, A.OverrideWithValueMixin);
    _mixin(A._AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin, A._FutureProviderElementMixin);
    _mixin(A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin, A.OverrideWithValueMixin);
    _mixin(A._FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._FutureProviderElement_ProviderElementBase__FutureProviderElementMixin, A._FutureProviderElementMixin);
    _mixin(A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin, A.OverrideWithValueMixin);
    _mixin(A._AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin, A.OverrideWithValueMixin);
    _mixin(A._Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin, A.StateNotifierProviderOverrideMixin);
    _mixin(A._AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin, A.StateProviderOverrideMixin);
    _mixin(A._StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin, A.OverrideWithValueMixin);
    _mixin(A._AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin, A._StreamProviderElementMixin);
    _mixin(A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin, A.OverrideWithValueMixin);
    _mixin(A._StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin, A.OverrideWithProviderMixin);
    _mixin(A._StreamProviderElement_ProviderElementBase__StreamProviderElementMixin, A._StreamProviderElementMixin);
  })();
  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: ["~()", "double(double)", "Future<~>()", "~(Duration)", "~(Object?)", "~(AnimationStatus)", "bool(String)", "Null()", "~(InputBuffer)", "Null(@)", "~(bool)", "~(Event)", "~(String)", "~(Event0)", "Null(Event0)", "String(String)", "~(@)", "~(Element)", "bool(BoxHitTestResult,Offset)", "~(PaintingContext,Offset)", "~(DragUpdateDetails)", "double(RenderBox)", "Null(Object,StackTrace)", "bool()", "String()", "int(Uint32List,int,int)", "~(int)", "~(Object,StackTrace)", "~(JavaScriptObject)", "Widget(BuildContext)", "~(String,@)", "~(bool?)", "int(int)", "Future<@>()", "~(PointerExitEvent)", "~(TapDownDetails)", "List<DiagnosticsNode>()", "bool(Object?)", "~(PointerEvent)", "~(ByteData?)", "bool(FocusNode)", "bool(int)", "Color?(Set<MaterialState>)", "@(@)", "Future<Null>()", "double(int)", "~(DragStartDetails)", "Widget(BuildContext,int)", "Null(~)", "~(PointerEnterEvent)", "bool(FlutterHtmlKeyboardEvent)", "~(ForcePressDetails)", "bool(ScrollNotification)", "bool(Element)", "Future<bool>()", "int(VMServiceObjectNode,VMServiceObjectNode)", "Widget(BuildContext,Widget?)", "~(~())", "Bucket()", "bool(Reference)", "int()", "bool(TimelineEvent0)", "Future<~>(IsolateRef)", "bool(@)", "bool(Screen)", "bool(InlineSpan)", "Map<String,@>(InstanceRef)", "~(PointerHoverEvent)", "bool(_RouteEntry?)", "Color(Set<MaterialState>)", "String(@)", "~(String,String)", "KeyEventResult(FocusNode,RawKeyEvent)", "~(DragEndDetails)", "~(MouseEvent)", "Widget(BuildContext,BoxConstraints)", "~(ProviderElementBase<@>)", "double(RenderBox,double)", "~(RestorableProperty<Object?>,~())", "double(double,double)", "~(TapUpDetails)", "~(RenderObject)", "~(String?)", "@(Event0)", "~(Timer)", "Null(bool)", "~(~)", "~(DevToolsJsonFile)", "Future<~>(Event)", "~(VmServiceWrapper)", "Future<Success>()", "Null(PointerEvent0)", "@()", "Frame(String)", "~(Canvas)", "Trace()", "Frame()", "~(Selectable)", "double()", "Widget(BuildContext,bool,Widget?)", "int(FocusNode,FocusNode)", "bool(InheritedElement)", "Stack(BuildContext,BoxConstraints)", "~(LongPressStartDetails)", "~(LongPressMoveUpdateDetails)", "~(Object?,Object?)", "Future<Map<String,@>>(Map<String,String>)", "Future<~>(bool)", "bool(CpuStackFrame)", "int(TimelineEvent0,TimelineEvent0)", "~(BusEvent)", "Future<String>()", "Future<Map<String,Object>>(Map<String,String>)", "~(RawKeyEvent)", "Null(TouchEvent)", "~(@,@)", "~(Object[StackTrace?])", "~(String,Set<HeapGraphClassLive>)", "int(RenderObject,RenderObject)", "bool(_RouteEntry)", "Null(MouseEvent)", "Row(BuildContext,bool,Widget?)", "ColorTween(@)", "MaterialStateProperty<Color?>?(ButtonStyle?)", "JavaScriptObject()", "~(TimelineEvent0)", "AutoCompleteMatch(ScriptRef)", "Future<~>(Object?)", "Future<~>(String)", "int(Object?)", "~(CpuStackFrame)", "Color(Color)", "Set<0^>()<Object?>", "String(int)", "~(int,int)", "~(NavigatorObserver)", "_TextBoundary(DirectionalTextEditingIntent)", "~(HeapSample)", "~(Object?,SortDirection{secondarySortColumn:Object?})", "0&()", "~(PointerDownEvent)", "bool(ObjectField)", "double(TimelineEvent0)", "~(BuildContext,DebuggerController)", "bool(KeyData)", "VerticalDragGestureRecognizer()", "int(Range,Range)", "MaterialStateProperty<Size?>?(ButtonStyle?)", "~(VerticalDragGestureRecognizer)", "MouseCursor0(Set<MaterialState>)", "bool(DataRow)", "Rect()", "HorizontalDragGestureRecognizer()", "~(HorizontalDragGestureRecognizer)", "Tween<double>(@)", "bool(String?)", "bool(bool)", "bool(BusEvent)", "int(String)", "Positioned(BuildContext)", "~(TreemapNode?)", "int(String,String)", "int(@,@)", "Treemap(BuildContext,BoxConstraints)", "~(List<FrameTiming>)", "bool(SemanticsNode)", "int(SemanticsNode,SemanticsNode)", "Future<~>(MethodCall0)", "~(int,int,int,int,int,Uint8List)", "Future<~>(~(JavaScriptObject),~(Object?))", "bool(ClassHeapDetailStats)", "bool(FocusableActionDetector)", "bool(Object?,Object?)", "String?()", "String(String?)", "Object()", "bool(RenderProperties)", "PanGestureRecognizer()", "ImmediateValueNotifier<bool>()", "EdgeInsetsGeometryTween(@)", "~(PointerSignalEvent)", "double(Axis)", "~({curve:Curve,descendant:RenderObject?,duration:Duration,rect:Rect?})", "List<_RouteEntry>()", "bool(ScrollMetricsNotification)", "~(LongPressEndDetails)", "num(num,num)", "~(JpegComponent,List<@>)", "bool(BreakpointAndSourcePosition)", "bool(Frame)", "bool(_Highlight)", "Map<String,@>(_Matcher)", "~(VMServiceObjectNode)", "bool(BoundField)", "AutoCompleteMatch(String)", "Map<String,@>(ClassRef)", "Map<String,@>(IsolateRef)", "Map<String,@>(ScriptRef)", "Map<String,@>(Frame1)", "~(ProgramInfoNode)", "~(PanGestureRecognizer)", "Future<HoverCardData>(PointerHoverEvent)", "~(RestorationBucket)", "List<CodeunitRange>()", "~(KeyboardEvent)", "RenderObjectWidget(BuildContext,bool,Widget?)", "PageStorageKey<String>(TreemapNode)", "ValueKey<CallGraphNode>(CallGraphNode)", "Promise<1&>([JavaScriptObject?])", "~(ScriptRef)", "String?(String)", "Scrollbar(BuildContext,BoxConstraints)", "~(num)", "@(String)", "Null(BreakpointAndSourcePosition)", "bool(ScriptRef)", "Null(Script)", "Future<Set<String>>()", "String?(FieldRef)", "Null(@,StackTrace)", "Range(Range)", "_ProgramExplorerRow(VMServiceObjectNode,~())", "Center()", "VMServiceObjectNode(VMServiceObjectNode)", "bool(JavaScriptObject)", "_Matcher(@)", "List<ScopeSpan>()", "Widget(DartObjectNode,~())", "~(DartObjectNode)", "TextStyle()", "~(InspectorTreeNode)", "~([Object?])", "List<int>()", "LayoutBuilder(BuildContext,Widget?)", "Future<ServiceExtensionResponse>(String,Map<String,String>)", "double(RenderProperties)", "Future<ByteBuffer>(JavaScriptObject)", "bool(_LinkedScrollController)", "bool(InlineSyntax)", "bool(BlockSyntax)", "String(Node1)", "~(JpegComponent,List<int>)", "String(Match)", "Size(RenderBox,BoxConstraints)", "Null(ProgressEvent)", "~(Object?,String,String)", "bool(Selectable,double)", "Null(Object)", "VelocityTracker(PointerEvent)", "DecorationTween(@)", "AlignmentGeometryTween(@)", "Tween<@>?(Tween<@>?,@,Tween<@>(@))", "~(GestureMode)", "~(LongPressGestureRecognizer)", "CallGraphNode()", "LongPressGestureRecognizer()", "~(TapGestureRecognizer)", "TapGestureRecognizer()", "int(_ReadingOrderSortData,_ReadingOrderSortData)", "Future<~>(Duration)", "0^(0^)<Object?>", "Map<String,@>(IsolateGroupRef)", "Map<String,@>(Parameter)", "DateTime()", "bool(DisplayFeature)", "Null(JavaScriptObject)", "Future<@>(MethodCall0)", "Map<Object?,Object?>()", "Future<ByteData?>(ByteData?)", "List<SemanticsNode>(_SemanticsSortGroup)", "~(SliverConstraints)", "bool(BoxHitTestResult)", "bool(InlineSpanSemanticsInformation)", "~(Rect)", "~(ImageStreamListener)", "ImageStreamCompleter()", "~(ImageInfo,bool)", "bool(Delimiter)", "Map<String,@>(TimelineEvent)", "~(TextSelection,SelectionChangedCause?)", "List<JavaScriptObject>()", "_ZoomExitTransition(BuildContext,Animation<double>,Widget?)", "_ZoomEnterTransition(BuildContext,Animation<double>,Widget?)", "~(RenderBox?)", "Map<String,@>(Breakpoint)", "~(FocusHighlightMode)", "~([Intent?])", "Map<String,@>(CpuSample)", "~(Size)", "Map<String,@>(FuncRef)", "Map<String,@>(FieldRef)", "CustomSingleChildLayout(BuildContext)", "DevToolsScaffold(BuildContext,String?,Map<String,String?>)", "bool(BuildContext)", "~(DiagnosticsNode)", "Column(BuildContext,bool,Widget?)", "Color?(Color?)", "Transform(BuildContext,Widget?)", "TextSpan(String)", "Object?(@)", "Future<int>()", "bool(bool?)", "String(Node)", "Widget(BuildContext,LinkedScrollControllerGroup,int,List<double>)", "String(Frame)", "KeyData()", "Future<InstanceRef?>()", "ProgramInfoNode()", "int(Frame)", "Trace(String)", "bool(RemoteDiagnosticsNode)", "ConsoleLine(String)", "bool(BannerMessage)", "List<Future<~>()>()", "Map<String,String?>()", "String(int,int)", "Completer<~>()", "ByteBuffer(@)", "ValueKey<String>(String)", "bool(ProviderNode)", "_Channel()", "~(DragDownDetails)", "List<Widget?>()", "int(InstanceDetails)", "bool(Event)", "Object?(Object?)", "Future<InstanceRef>(ListInstance)", "Future<InstanceRef>(MapInstance)", "bool(CpuSample0)", "PageStorageKey<String>(CpuStackFrame)", "bool(TimelineStream)", "Null(@,@)", "bool(TraceEventWrapper)", "int(CallGraphNode)", "~(FlutterFrame)", "PerformanceScreenMetrics()", "bool(FlutterFrame)", "Iterable<int>(int)", "bool(AsyncTimelineEvent)", "Widget(BuildContext,CpuProfileData?,Widget?)", "Widget(BuildContext,ViewportOffset)", "Widget(BuildContext,Flag,Widget?)", "~(ProgressEvent)", "SizedBox(BuildContext,bool,Widget?)", "_StateReader()", "ListView(BuildContext,BoxConstraints)", "bool(NetworkRequest)", "~(Uint8List,String,int)", "Divider(BuildContext,int)", "bool(FieldReference)", "TreemapNode()", "DropdownMenuItem<String>(String)", "int(int,int)", "0&(@)", "List<String>()", "int(String?)", "List<Node1>()", "Future<Isolate>(IsolateRef)", "~(LogData)", "String(Object?{allowMalformed:bool?})", "bool(LogData)", "~(Symbol0,@)", "ImageSizesForFrame(@)", "Text(BuildContext,AsyncSnapshot<String>)", "FilterDialog<LoggingController,LogData>(BuildContext)", "Key(ClassHeapDetailStats?)", "~(ClassHeapDetailStats?)", "Null(ColumnData<ClassHeapDetailStats?>,SortDirection{secondarySortColumn:ColumnData<ClassHeapDetailStats?>?})", "~(String,List<Reference>)", "ValueKey<LogData>(LogData)", "~(String,Bucket)", "~(String,List<String>)", "~(String,List<String>,@)", "Column(BuildContext,BoxConstraints)", "PageStorageKey<String>(AnalysisField)", "Row(BuildContext,BoxConstraints)", "Map<String,String>(Map<String,String>,String)", "~(String,int)", "~(MemoryTracker?)", "bool(MapEntry<String,ClassRef>)", "ClassHeapDetailStats(ClassHeapStats)", "~(String,int?)", "OverflowBox(BuildContext,BoxConstraints)", "~(String,String?)", "int(Reference,Reference)", "~(String,Set<HeapGraphElementLive?>)", "bool(String,Set<HeapGraphElementLive>)", "Set<HeapGraphElementLive>()", "bool(String,Set<HeapGraphClassLive>)", "bool(HeapGraphClassLive)", "Set<HeapGraphClassLive>()", "~(WildcardMatch,List<String>)", "~({userGenerated:bool})", "~(JavaScriptObject?)", "SnapshotFilterDialog(BuildContext)", "PageStorageKey<String?>(Reference)", "DropdownMenuItem<FlexFit>(FlexFit)", "int(int,TreemapNode)", "PageStorageKey<String>(FieldReference)", "~([bool])", "bool(String,MemoryUsage)", "LibraryReference(MapEntry<String,LibraryReference>)", "Widget(FlexFit)", "bool(AllocationSamples)", "Column(BuildContext,int)", "DropdownMenuItem<int>(int?)", "Key(Tracker)", "Uint8List(@,@)", "List<Widget>(String{colorPatch:Color?,dashed:bool,image:String?,leftEdge:double})", "Widget(int?)", "List<Widget>(String,Widget[double])", "Widget(Map<String,Object?>)", "~(DomException0)", "MemorySettingsDialog(BuildContext)", "SourceDropdownMenuItem<String>(String)", "~(NetworkRequest)", "DartIOHttpRequestData()", "~(FlexFit?)", "@(JavaScriptObject)", "Card(BuildContext,NetworkRequest?,Widget?)", "~(int?)", "DataColumn(String{numeric:bool})", "Color()", "Row(BuildContext,NetworkRequests,List<NetworkRequest>,Widget?)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "FilterDialog<NetworkController,NetworkRequest>(BuildContext)", "NetworkRequestsTable(BuildContext,List<NetworkRequest>,Widget?)", "ValueKey<NetworkRequest?>(NetworkRequest?)", "~(NetworkRequest?)", "List<PopupMenuItem<@>>(BuildContext)", "TrackWidgetBuildsCheckbox(BuildContext,bool,Widget?)", "Padding(BuildContext,bool,TrackWidgetBuildsScope?,Widget?)", "ToggleableServiceExtensionDescription<bool>(TrackWidgetBuildsScope)", "~(@,StackTrace)", "List<Widget>(BuildContext)", "double?(double)", "ProcessingInfo(BuildContext,double,Widget?)", "Container(BuildContext,BoxConstraints)", "SizedBox(BuildContext,Widget?)", "Duration(Duration,FlutterFrame)", "FlutterFramesChartItem(BuildContext,int)", "SingleChildRenderObjectWidget(BuildContext,int)", "Opacity(BuildContext,String,Widget?)", "double(double,FlutterFrame)", "Column(BuildContext,FramePhase?,Widget?)", "Future<~>({isInitialPull:bool})", "Future<~>(TimelineEvent0?{updateProfiler:bool})", "~(InspectorTreeNode?)", "FrameTimelineEventData()", "FlutterInspectorSettingsDialog(BuildContext)", "Positioned(BuildContext,int?,Widget?)", "Future<List<@>>()", "TimelineEventGroup()", "Map<String,@>(FlutterFrame)", "@(@,@)", "Map<String,@>(Object)", "FlutterFrame(Map<String,@>)", "bool(TimelineEventType)", "TimelineEventType()", "~({parent!TimelineEvent0})", "~(FramePhase)", "Duration(Duration,SyncTimelineEvent)", "FlutterFramesChart(BuildContext,List<FlutterFrame>,double,Widget?)", "EventDetails(BuildContext,TimelineEvent0?,Widget?)", "PerformanceSettingsDialog(BuildContext)", "CheckboxSetting0(TimelineStream)", "Widget(BuildContext,List<LayerSnapshot>,bool,Widget?)", "LayerImage(BuildContext,LayerSnapshot?,Widget?)", "ValueKey<String?>(LayerSnapshot)", "LayerImageDialog(BuildContext)", "~(LayerSnapshot?)", "int(LayerSnapshot,LayerSnapshot)", "TimelineFlameChart(BuildContext,BoxConstraints)", "bool(Node0)", "~(TimelineEvent0,int,int)", "int(FlameChartNode<TimelineEvent0>,FlameChartNode<TimelineEvent0>)", "Widget(int{isNext!bool})", "bool(TimelineEventGroup)", "~(double)", "FlameChartNode<FlameChartDataMixin<@>>?(FlameChartNode<FlameChartDataMixin<@>>)", "MapEntry<String,InspectableWidgetError>(String,DevToolsError)", "Element1(Node0)", "Stack(BuildContext,LinkedHashMap<String,DevToolsError>,Widget?)", "CpuProfileStore()", "bool(ToggleFilter<CpuStackFrame>)", "@(Object?)", "ProfilerScreenMetrics()", "~(CpuStackFrame,int)", "JsFunction(@)", "CpuSample0(@)", "Widget()", "~(CpuSample0,Map<String,Object>,CpuStackFrame)", "String?(CpuStackFrame?)", "String?(_CpuProfileTimelineTree)", "~({current!_CpuProfileTimelineTree,parent!_CpuProfileTimelineTree?})", "Map<String,@>(CpuSample0)", "CpuProfileFilterDialog(BuildContext)", "CpuProfileFlameChart(BuildContext,BoxConstraints)", "~(CpuStackFrame?)", "DevToolsTooltip(BuildContext,String,Widget?)", "Stream<VmServiceWrapper>(StreamProviderRef<VmServiceWrapper>)", "Future<EvalOnDartLibrary>(FutureProviderRef<EvalOnDartLibrary>,String)", "ValueNotifier<IsolateRef?>(ChangeNotifierProviderRef<ValueNotifier<~>>)", "bool(Object)", "bool(MapInstance)", "bool(ListInstance)", "bool(ObjectInstance)", "Null(NullInstance)", "String(BoolInstance)", "String(NumInstance)", "String(StringInstance)", "String(MapInstance)", "String(ListInstance)", "String(ObjectInstance)", "String(EnumInstance)", "ListIndexPath(int)", "Future<InstanceRef>(_InstancePathFromProviderId)", "Future<InstanceRef>(_InstancePathFromInstanceId)", "OutlineDecoration(BuildContext,BoxConstraints)", "ServiceExtensionButtonGroup(BuildContext,bool,Widget?)", "Future<Instance>(ObjectInstance)", "JsArray<@>(@)", "JsObject(@)", "Future<InstanceRef>(ObjectInstance)", "InstanceRef?(String)", "Future<@>(@)", "Future<~>(String)(MapInstance)", "Future<~>(String)(ListInstance)", "Future<~>(String)?(ObjectInstance)", "Future<InstanceDetails>(AutoDisposeFutureProviderRef<InstanceDetails>,InstancePath)", "InstanceRef(MapAssociation)", "int(ObjectField,ObjectField)", "Future<ObjectField>(BoundField)", "Stream<Event>(AutoDisposeStreamProviderRef<~>,String)", "List<double>(Axis)", "bool(StateProviderRef<bool>,InstancePath)", "int(AutoDisposeProviderRef<int>,InstancePath)", "int(InstancePath)", "_Future<@>(@)", "int(Iterable<PathToProperty>)", "int(int,PathToProperty)", "int(Object,StackTrace?)", "int(MapInstance)", "PathToProperty(InstanceDetails)", "int(ListInstance)", "int(ObjectInstance)", "PathToProperty(ObjectField)", "int(_PersistedSurfaceMatch,_PersistedSurfaceMatch)", "Iterable<Widget>(Object,StackTrace?)", "Iterable<Widget?>(InstanceDetails)", "Iterable<Widget>(ObjectInstance)", "Iterable<Widget>(ListInstance)", "Iterable<Widget>(MapInstance)", "_EditableField(EnumInstance)", "_EditableField(NullInstance)", "_EditableField(StringInstance)", "_EditableField(NumInstance)", "_EditableField(BoolInstance)", "_ObjectHeader(MapInstance)", "_ObjectHeader(ListInstance)", "_ObjectHeader(ObjectInstance)", "Focus(BuildContext,Widget?)", "num(LayoutProperties)", "Transform(BuildContext,double,Widget?)", "StateController<String?>(AutoDisposeStateNotifierProviderRef<StateController<String?>,String?>)", "~(AsyncValue<List<ProviderNode>>?,AsyncValue<List<ProviderNode>>)", "double(LayoutProperties)", "Padding(Object,StackTrace?)", "Scrollbar(List<ProviderNode>)", "ProviderNodeItem(BuildContext,int)", "Stream<Event>(AutoDisposeStreamProviderRef<~>)", "Future<List<String>>(AutoDisposeFutureProviderRef<List<String>>)", "Future<ProviderNode>(AutoDisposeFutureProviderRef<ProviderNode>,String)", "Future<Instance>(String)", "Future<List<ProviderNode>>(AutoDisposeFutureProviderRef<List<ProviderNode>>)", "Future<ProviderNode>(String)", "int(ProviderNode,ProviderNode)", "bool(AutoDisposeProviderRef<bool>)", "ProviderNode?(AutoDisposeProviderRef<ProviderNode?>)", "bool(StateProviderRef<bool>)", "~(bool?,bool)", "_StateInspectorSettingsDialog(BuildContext)", "~(ProviderBase<@>,Object?,ProviderContainer)", "~(ProviderBase<@>,Object?,Object?,ProviderContainer)", "ValueKey<String>(VMTag)", "~(VMTag)", "LayoutProperties(RemoteDiagnosticsNode)", "ValueKey<String>(InstanceRef?)", "~(InstanceRef?)", "Row(BuildContext,int,Widget?)", "Column(BuildContext,Object?,Widget?)", "ValueKey<String>(Isolate)", "~(Isolate)", "List<double>(double)", "int(ScriptRef,ScriptRef)", "Script(Obj)", "~(IsolateRef?)", "Future<String>(JavaScriptObject)", "~(InspectorTreeNode,RemoteDiagnosticsNode)", "bool(IsolateRef)", "IsolateState()", "~(VmService)", "Future<VmServiceWrapper>()", "Null(VmServiceWrapper)", "_InspectorBreadcrumbData(InspectorTreeNode)", "Future<~>(String?,bool)", "Completer<bool>()", "ValueNotifier<bool>()", "ValueNotifier<ServiceExtensionState>()", "bool(ExtensionState)", "~([@])", "DevToolsToggleButtonGroup(BuildContext,bool,Widget?)", "GestureDetector(BuildContext)", "ServiceExtensionDescription<@>(@)", "String(ServiceExtensionDescription<@>)", "String?(~(Codec))", "String?(LibraryRef)", "bool(Protocol)", "Success(Success)", "DevToolsAboutDialog(BuildContext)", "~(FlutterErrorDetails)", "Widget(_InspectorBreadcrumbData)", "ValueNotifier<List<BannerMessage>>()", "Column(BuildContext,List<BannerMessage>,Widget?)", "StatelessWidget(BuildContext,AsyncSnapshot<Object?>)", "Widget(LegendEntry)", "Checkbox(BuildContext,bool?,Widget?)", "Future<FlutterVersion?>()", "bool/()", "VMFlagsDialog(BuildContext)", "_DialogFlag(Flag)", "bool(_DialogFlag)", "ValueKey<String?>(_DialogFlag)", "~(_DialogFlag)", "Future<~>(TextSelectionDelegate)", "bool(MapEntry<String,DevToolsError>)", "MapEntry<String,DevToolsError>(MapEntry<String,DevToolsError>)", "Map<String,TextStyle>(List<String>,TextStyle)", "InstanceRef(InstanceRef?)", "Future<Response>()", "Container(BuildContext)", "_NotificationsProvider(BuildContext)", "~(_Notification)", "List<ScopeSpan>(ScopeSpan)", "bool(_Notification)", "Opacity(BuildContext,Widget?)", "Future<~>(List<RemoteDiagnosticsNode>?)", "Future<~>(DartObjectNode)", "bool(bool,MapAssociation)", "Future<~>(TrackWidgetBuildsScope?)", "bool(String,String?)", "bool(Route<@>,@)", "BannerMessagesController(BuildContext)", "DragAndDrop(BuildContext,Widget?)", "Widget(BuildContext,int,Widget?)", "~(Uri)", "~(PageChangeEvent)", "~(DragUpdateDetails,int)", "Container(BuildContext,bool,Widget?)", "Widget(BuildContext,ConnectedState,Widget?)", "DeviceDialog(BuildContext)", "PopupMenuButton<IsolateRef?>(BuildContext,List<IsolateRef?>,IsolateRef?,Widget?)", "List<PopupMenuItem<IsolateRef>>(BuildContext)", "bool(IsolateRef?)", "PopupMenuItem<IsolateRef>(IsolateRef?)", "int(PaintRequest,PaintRequest)", "~(int,bool(FlutterHtmlKeyboardEvent))", "KeyEventResult(RawKeyEvent,ScrollController,BoxConstraints)", "SizedBox(BuildContext,BoxConstraints)", "Column(BuildContext,Widget?)", "StatelessWidget(BuildContext,int)", "VMServiceObjectNode()", "EdgeInsets(Set<MaterialState>)", "Widget(~())", "CustomIcon()", "AssetImageIcon()", "CircleIcon()", "ColorIcon()", "TextSpan(AutoCompleteMatch)", "bool(LibraryRef)", "TextSpan(List<TextSpan>)", "Container(BuildContext,Object?,Widget?)", "AutoComplete(BuildContext)", "~(SearchControllerMixin<DataSearchStateMixin>{force:@})", "~(AutoCompleteSearchControllerMixin,bool)", "bool(LogicalKeyboardKey)", "ValueListenableBuilder<bool>(BuildContext,List<DataSearchStateMixin>,Widget?)", "Padding(BuildContext,int,Widget?)", "TextSpan(TextSpan)", "bool(FuncRef)", "Future<~>(String?)", "RoundedDropDownButton<String>(BuildContext,Flag,Widget?)", "~(String,Object)", "Null(HeapSample)", "Map<String,@>(XTypeGroup)", "XFile(File)", "TickerFuture({from:double?})", "~(_AnimationDirection)", "String(String,Color)", "Future<Uint8List>(Blob)", "Null(Event)", "Future<~>(~)", "Future<List<Func>>(Iterable<FuncRef>,Iterable<FieldRef>?)", "TargetPlatform?()", "TargetPlatform()", "bool(DiagnosticsNode?)", "bool(StackFrame)", "ErrorDescription(String)", "String(DiagnosticsNode)", "Event?(@)", "Future<~>(bool?)", "Future<Obj>(ObjRef)", "Future<List<Obj>>(Iterable<ObjRef>)", "bool(DiagnosticsNode)", "~(AbstractNode)", "String(GestureArenaMember)", "_GestureArena()", "~(PointerDataPacket)", "bool(PointerData)", "_PointerEventDescription(PointerData)", "~(_TapTracker)", "Map<~(PointerEvent),Matrix4?>()", "~(~(PointerEvent),Matrix4?)", "MaterialRectArcTween(Rect?,Rect?)", "Widget(BuildContext,~())", "~(ScrollNotification)", "double(_Diagonal)", "Page<@>(BuildContext,String?,Map<String,String?>)", "0^?(0^?(ButtonStyle?))<Object?>", "0^?(MaterialStateProperty<0^>?(ButtonStyle?))<Object?>", "MaterialStateProperty<double?>?(ButtonStyle?)", "MaterialStateProperty<TextStyle?>?(ButtonStyle?)", "Widget(BuildContext,String?,Map<String,String?>)", "MaterialStateProperty<EdgeInsetsGeometry?>?(ButtonStyle?)", "Screen(DevToolsScreen<@>)", "MaterialStateProperty<BorderSide?>?(ButtonStyle?)", "MaterialStateProperty<OutlinedBorder?>?(ButtonStyle?)", "MouseCursor0?(Set<MaterialState>)", "MouseCursor0?(ButtonStyle?)", "Color?(ButtonStyle?)", "VisualDensity?(ButtonStyle?)", "MaterialTapTargetSize?(ButtonStyle?)", "Duration?(ButtonStyle?)", "bool?(ButtonStyle?)", "AlignmentGeometry?(ButtonStyle?)", "InteractiveInkFeatureFactory?(ButtonStyle?)", "ValueListenableBuilder<bool>(BuildContext)", "bool(int,int)", "CkCanvas(CkPictureRecorder)", "TableRow0(int)", "Rect()(RenderBox)", "bool(VMServiceObjectNode)", "OutlineDecoration(BuildContext,bool,Widget?)", "Widget(BuildContext,Animation<double>,Animation<double>)", "_Future<@>?()", "~(ActivateIntent)", "~(ButtonActivateIntent)", "String?(InstanceRef)", "RenderObjectWidget(Widget)", "Rect()?(RenderBox)", "~(int,@)", "ScriptRef()", "bool(InkHighlight?)", "bool(DevToolsScreen<@>)", "Provider<@>(DevToolsScreen<@>)", "bool(FieldRef)", "ListTileTheme(BuildContext)", "bool(LayoutChangedNotification)", "Provider<AnalyticsController>(BuildContext,Widget?)", "SettingsDialog(BuildContext)", "ShapeBorderTween(@)", "_SelectableAnimatedBuilder(BuildContext,Widget?)", "FadeTransition(BuildContext,Animation<double>)", "Animation<double>(AnimationController)", "String?(BoundField)", "bool(Color)", "ColoredBox(BuildContext,Widget?)", "PageTransitionsBuilder?(TargetPlatform)", "FadeTransition(BuildContext,Widget?)", "~(double,double)", "CustomMultiChildLayout(BuildContext,Widget?)", "String?(ClassRef)", "bool(Set<MaterialState>)", "double(Set<MaterialState>)", "Checkbox(BuildContext,bool,Widget?)", "InspectorSettingsController()", "PerformanceController()", "String(FuncRef)", "~(DismissDirection)", "Align(BuildContext,Widget?)", "~(List<double>,TextDirection,double)", "GlobalKey<State<StatefulWidget>>(Widget)", "Center(int)", "InputDecorator(BuildContext,Widget?)", "Semantics(BuildContext,Widget?)", "ThemeDataTween(@)", "0^?()<Object?>", "ThemeData()", "MapEntry<Object,ThemeExtension<@>>(Object,ThemeExtension<@>)", "bool(MapEntry<Object,ThemeExtension<@>>)", "MergeSemantics(int)", "~([TapUpDetails?])", "Future<Codec>(Uint8List{allowUpscaling:bool,cacheHeight:int?,cacheWidth:int?})", "Future<Codec>(ImmutableBuffer{allowUpscaling:bool,cacheHeight:int?,cacheWidth:int?})", "EdgeInsetsGeometry(EdgeInsetsGeometry,ShapeBorder)", "ShapeBorder(ShapeBorder)", "String(ShapeBorder)", "bool(DartObjectNode)", "bool(double)", "Color(double)", "_LiveImage()", "~(ImageInfo?,bool)", "Future<~>(Object,StackTrace?)", "String?(DartObjectNode)", "Null(Map<String,List<String>>?)", "double(String,TextStyle?)", "~(ImageChunkEvent)", "~(Object,StackTrace?)?(ImageStreamListener)", "~(ImageChunkEvent)?(ImageStreamListener)", "~(Codec)", "Paint(BoxShadow)", "Path(BoxShadow)", "DiagnosticsNode(InlineSpan)", "~(int,SemanticsAction,ByteData?)", "String(double,double,String)", "Size()", "double?()", "SurfaceScene()", "~(TextSelection)", "Rect(TextBox)", "Null(~())", "Rect(Rect?,TextBox)", "ProfilerScreenController()", "MouseCursor0(MouseTrackerAnnotation)", "~(MouseTrackerAnnotation,Matrix4)", "bool(MouseTrackerAnnotation)", "MemoryController()", "DebuggerController()", "NetworkController()", "~(_SelectableFragment)", "bool(_SelectableFragment)", "bool(SliverHitTestResult{crossAxisPosition!double,mainAxisPosition!double})", "Row(BuildContext,List<BreakpointAndSourcePosition>,Widget?)", "String(StackFrameAndSourcePosition)", "bool(RenderBox)", "HitTestResult(Offset)", "bool(RenderSliver)", "LoggingController()", "~(FrameTiming)", "~(int,_FrameCallbackEntry)", "AppSizeController()", "SemanticsNode(_TraversalSortNode)", "DiagnosticsNode(SemanticsNode)", "FlexSplitColumn(BuildContext,BoxConstraints)", "GestureDetector(BuildContext,BoxConstraints)", "int(SemanticsNode)", "SemanticsNode(int)", "Stream<LicenseEntry>()", "Future<String?>(String?)", "Null(ByteData)", "Future<~>(ByteData?,~(ByteData?))", "Future<Map<String,@>>(@)", "CodeView(BuildContext,ScriptRef?,ParsedScript?,Widget?)", "RawKeyEventData()", "bool(PhysicalKeyboardKey)", "~(List<@>,MutationObserver)", "~(ScriptLocation?)", "List<RestorationBucket>()", "List<RestorationBucket>(List<RestorationBucket>)", "List<num>(SelectionRect)", "SourceToken(Match)", "double(num)", "List<@>(String)", "~(Iterable<PointerData>)", "Future<RegisteredFont?>()", "~(Action<Intent>)", "_ButtonSanitizer()", "Route<@>?(RouteSettings)", "Route<@>(RouteSettings)", "bool(KeepAliveNotification)", "JavaScriptObject(JavaScriptObject)", "int(DartObjectNode,DartObjectNode)", "HitTestResult()", "Future<double>()", "Future<~>(double)", "Future<~>(@)", "Future<Map<String,String>>(Map<String,Object>)", "Future<~>(AnimationStatus)", "DartObjectNode(BoundVariable)", "Rect(DisplayFeature)", "BreakpointAndSourcePosition(Script)", "~(TransposeCharactersIntent)", "~(ReplaceTextIntent)", "~(ScrollToDocumentBoundaryIntent)", "~(UpdateSelectionIntent)", "~(ExpandSelectionToDocumentBoundaryIntent)", "~(ExpandSelectionToLineBreakIntent)", "Object?(DismissIntent)", "TextEditingValue(TextEditingValue,TextInputFormatter)", "SelectionRect?(int)", "bool(SelectionRect?)", "SelectionRect(SelectionRect?)", "Future<~>(PasteTextIntent)", "~(TextEditingValue)", "CompositedTransformTarget(BuildContext,ViewportOffset)", "bool(HitTestEntry<HitTestTarget>)", "TextSelection(TextSelection)", "~(UndoTextIntent)", "~(RedoTextIntent)", "~([FocusNode?])", "Future<~>(Breakpoint)", "DiagnosticsNode(FocusNode)", "bool(KeyMessage)", "~(_FocusTraversalGroupInfo)", "bool(_DirectionalPolicyDataEntry)", "_PointerState()", "bool(TraversalDirection)", "Set<Directionality>(_ReadingOrderSortData)", "Null(List<BreakpointAndSourcePosition>)", "List<Directionality>(BuildContext)", "Rect(_ReadingOrderSortData)", "int(_ReadingOrderDirectionalGroupData,_ReadingOrderDirectionalGroupData)", "List<_ReadingOrderSortData>(_ReadingOrderSortData,Iterable<_ReadingOrderSortData>)", "bool(_ReadingOrderSortData)", "Element?(Element)", "Object?(int,Element?)", "int?(SourcePosition)", "Future<StackFrameAndSourcePosition>(Frame1)", "DoubleTapGestureRecognizer()", "~(DoubleTapGestureRecognizer)", "Future<BreakpointAndSourcePosition>(Breakpoint)", "Future<~>(ScriptRef,int)", "FlameChartNodeWidget(BuildContext,int)", "@(@,String)", "~(PointerPanZoomStartEvent)", "~(RenderSemanticsGestureHandler)", "~(StatefulElement,Object)", "Positioned(BuildContext,Widget?)", "~(_HeroFlight)", "Widget(BuildContext,Animation<double>,HeroFlightDirection,BuildContext,BuildContext)", "bool(_HeroFlight)", "IconTheme(BuildContext)", "~(_ResolvedNotoSubset)", "ExceptionMode()", "_FlameChartHelpDialog(BuildContext)", "bool(ExceptionMode)", "BoxConstraintsTween(@)", "Matrix4Tween(@)", "TextStyleTween(@)", "BorderRadiusTween(@)", "Future<@>(_Pending)", "Map<Type,@>(List<@>)", "Map<Type,@>(Map<Type,@>)", "Null(Map<Type,@>)", "int(TreemapNode,TreemapNode)", "~(RouteTransitionRecord?,bool)", "bool(Route<@>?)", "bool(OverlayEntry)", "Breadcrumb(BuildContext,int)", "Opacity(BuildContext,bool,Widget?)", "_RouteEntry(Route<@>)", "Incrementable(SemanticsObject)", "String(Object?)", "MapEntry<String?,List<Object>>(@,@)", "RenderBox?()", "ClipRect(BuildContext,Widget?)", "Viewport(BuildContext,ViewportOffset)", "Null(RestorationBucket?)", "~(RestorableProperty<Object?>)", "SynchronousFuture<bool>(bool)", "Future<bool>(bool)", "RestorationScope(BuildContext,Widget?)", "Actions(BuildContext)", "IgnorePointer(BuildContext,Widget?)", "IOSScrollViewFlingVelocityTracker(PointerEvent)", "~(ExceptionMode?)", "RoundedDropDownButton<ExceptionMode>(BuildContext,String?,Widget?)", "bool(ScrollUpdateNotification)", "int?(Widget,int)", "Null(List<~>)", "RoundedOutlinedBorder(BuildContext,bool,Widget?)", "bool(ScrollMetrics?)", "_ThumbPressGestureRecognizer()", "~(_ThumbPressGestureRecognizer)", "Scrollable(SemanticsObject)", "_TrackTapGestureRecognizer()", "~(_TrackTapGestureRecognizer)", "HttpProfileRequest(HttpProfileRequest)", "int(Selectable,Selectable)", "bool(Selectable)", "List<LogicalKeyboardKey>(LogicalKeyboardKey)", "~(ShortcutActivator,Intent)", "List<_ActivatorIntentPair>()", "_SingleChildViewport(BuildContext,ViewportOffset)", "~(RenderBox)", "Element?()", "bool(TableRow0)", "Decoration?(TableRow0)", "_TableElementRow(TableRow0)", "Element(Widget)", "bool(_TableElementRow)", "bool(List<Element>)", "Iterable<RenderBox>(_TableElementRow)", "RenderBox(Element)", "List<Element>(_TableElementRow)", "DefaultTextStyle(BuildContext)", "~(DragStartDetails,DragUpdateDetails)", "ForcePressGestureRecognizer()", "~(ForcePressGestureRecognizer)", "Widget(Uri,String?,double?,double?)", "MarkdownStyleSheet(BuildContext,MarkdownStyleSheetBaseTheme?)", "String?(Node1)", "TextSpan(InlineSpan)", "ProviderSubscription<@>()", "~()(@(Object))", "Object?()", "GoToLineDialog(BuildContext)", "Future<~>(int)", "Future<~>(String,ByteData?,~(ByteData?)?)", "Future<Response0>(Client0)", "Future<String>(Client0)", "Future<Response0>(Uri{body:Object?,encoding:Encoding?,headers:Map<String,String>?})", "bool(String,String)", "Future<~>(BuildContext,DebuggerController)", "~(List<int>)", "String(List<String>)", "MediaType()", "List<PopupMenuEntry<ScriptPopupMenuOption>>(BuildContext)", "Uint32List(int)", "IcoInfoImage(int)", "JpegComponent(int)", "Cookie(String)", "~(ScriptPopupMenuOption)", "DateTime(int,int,int,int,int,int,int,bool)", "_DateFormatQuotedField(String,DateFormat)", "_DateFormatPatternField(String,DateFormat)", "_DateFormatLiteralField(String,DateFormat)", "String(NumberSymbols)", "Logger()", "bool(NotoFont)", "bool(SourceToken)", "~(ListItem)", "bool(RegExp)", "LinkReference()", "LineItem(BuildContext,VMServiceObjectNode?,Widget?)", "ValueListenableBuilder<VMServiceObjectNode?>(BuildContext,int)", "bool(Node1)", "GutterItem(BuildContext,int)", "Null(String[String?])", "String(String[int])", "String([int])", "~(0^)<Object?>", "~(ResultData<Object?>)", "~(ResultError<@>)", "~(ProviderContainer)", "int?(BreakpointAndSourcePosition)", "~({origin!ProviderBase<@>,override!ProviderBase<@>})", "ProviderContainer?(ProviderOrFamily)", "bool(ProviderContainer?)", "ProviderContainer(ProviderContainer,ProviderContainer?)", "LabelAndValue(SemanticsObject)", "~(ProviderBase<@>,Object,StackTrace,ProviderContainer)", "~(ProviderBase<@>,ProviderContainer)", "~(ProviderOrFamily)", "PopupMenuItem<ScriptRef>(ScriptRef)", "FileLocation(int)", "int(_Line)", "Gutter(BuildContext,List<BreakpointAndSourcePosition>,Widget?)", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry<Object,List<_Highlight>>)", "SourceSpanWithContext()", "String(String{color:@})", "Row(BuildContext,StackFrameAndSourcePosition?,Widget?)", "Chain()", "~(Event0?)", "Trace(Trace)", "bool(Trace)", "List<Frame>(Trace)", "int(Trace)", "ProxyWidget(BuildContext,ScriptRef?)", "String(Trace)", "String(ScriptRef?)", "Tappable(SemanticsObject)", "Frame(String,String)", "TextField(SemanticsObject)", "Checkable(SemanticsObject)", "Frame(Frame)", "Stack(BuildContext,bool,bool,Widget?)", "HttpProfileRequest(Map<String,@>)", "HttpProfileRequestEvent(Map<String,@>)", "List<PopupMenuEntry<ScriptRef>>(BuildContext)", "~(String,_OutstandingRequest<@>)", "Map<String,@>(ClassHeapStats)", "ImageRoleManager(SemanticsObject)", "ListView(BuildContext,List<StackFrameAndSourcePosition>,StackFrameAndSourcePosition?,Widget?)", "Null(String)", "LiveRegion(SemanticsObject)", "Map<String,@>(ContextElement)", "Map<String,@>(ProfileFunction)", "ListView(BuildContext,List<BreakpointAndSourcePosition>,BreakpointAndSourcePosition?,Widget?)", "bool(DominatorTreeNode)", "PageStorageKey<String>(DominatorTreeNode)", "Map<String,@>(Flag)", "Map<String,@>(BoundVariable)", "Promise<1&>()", "Map<String,@>(BoundField)", "Map<String,@>(MapAssociation)", "Map<String,@>(IsolateFlag)", "Map<String,@>(LibraryRef)", "String(String,String)", "Map<String,@>(InboundReference)", "Map<String,@>(ObjRef)", "Map<String,@>(LibraryDependency)", "bool(SurfaceFrame,CkCanvas)", "Map<String,@>(Protocol)", "Map<String,@>(ProcessMemoryItem)", "Map<String,@>(RetainingObject)", "List<int>(@)", "List<int>(List<int>)", "Map<String,@>(SourceReportRange)", "~(Surface)", "Map<String,@>(Message)", "String?(String?)", "~(CallGraphNode)", "ProgramInfoNode(ProgramInfoNode)", "CallGraphNode(Object)", "~(DevToolsJsonFile,DevToolsJsonFile,~(String))", "CallGraphNode?(CallGraphNode)", "~(EditingState?,TextEditingDeltaState?)", "~(DiffTreeType?)", "0^()<Object?>", "CallGraphNode({data:@})", "CallGraphNode(@)", "CallGraphNode(ProgramInfoNode)", "String?(Object?)", "~(String,FormElement)", "~(ProgramInfoNode?,ProgramInfoNode?)", "int(ProgramInfoNode)", "int(int,ProgramInfoNode)", "~(ProgramInfoNode,String,Map<String,@>,TreemapFormat)", "String(ProgramInfoNode)", "String(LogicalKeyboardKey)", "Map<String,@>()", "Map<String,@>(@)", "Node(int)", "bool(Edge)", "ProgramInfoNode?(Node)", "~(MessageEvent)", "Null(CloseEvent)", "int(LogicalKeyboardKey,LogicalKeyboardKey)", "~(Object?[Object?])", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?Object?Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?Object?Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "int(Comparable<@>,Comparable<@>)", "0&(Object,StackTrace)", "0^(0^,0^)<num>", "Size?(Size?,Size?,double)", "double?(num?,num?,double)", "Color?(Color?,Color?,double)", "StreamHistory?(Map<String,@>?)", "CachedCpuSamples?(Map<String,@>?)", "AvailableCachedCpuSamples?(Map<String,@>?)", "Future<List<String>>(EditingParts,DebuggerController)", "TextSpan(StyledText)", "Future<~>(DartObjectNode{expandAll:bool})", "~(FlutterErrorDetails{forceReport:bool})", "DiagnosticsNode(String)", "StackFrame?(String)", "double(double,double,double)", "Widget(BuildContext,Animation<double>,Animation<double>,Widget)", "bool?(bool?,bool?,double)", "OutlinedBorder?(OutlinedBorder?,OutlinedBorder?,double)", "EdgeInsetsGeometry?(EdgeInsetsGeometry?,EdgeInsetsGeometry?,double)", "Future<Map<String,List<String>>?>(String?)", "TextStyle?(TextStyle?,TextStyle?,double)", "int(_TaskEntry<@>,_TaskEntry<@>)", "bool({priority!int,scheduler!SchedulerBinding})", "String(ByteData)", "List<LicenseEntry>(String)", "Widget(Widget,Key,Widget,Key)", "int(Element,Element)", "IconThemeData(IconThemeData?,IconThemeData?,double)", "List<Route<@>>(NavigatorState,String)", "int(Widget,int)", "Iterable<_LinkedScrollActivity>(_LinkedScrollController)", "Iterable<_LinkedScrollActivity>(Iterable<_LinkedScrollActivity>)", "SocketStatistic?(Map<String,@>?)", "SocketProfile?(Map<String,@>?)", "HttpTimelineLoggingState?(Map<String,@>?)", "HttpProfile?(Map<String,@>?)", "HttpProfileRequest?(Map<String,@>?)", "SocketProfilingState?(Map<String,@>?)", "SpawnedProcessRef?(Map<String,@>?)", "SpawnedProcess?(Map<String,@>?)", "SpawnedProcessList?(Map<String,@>?)", "OpenFileRef?(Map<String,@>?)", "OpenFile?(Map<String,@>?)", "OpenFileList?(Map<String,@>?)", "ExtensionData?(Map<String,@>?)", "AllocationProfile?(Map<String,@>?)", "BoundField?(Map<String,@>?)", "BoundVariable?(Map<String,@>?)", "Breakpoint?(Map<String,@>?)", "ClassRef?(Map<String,@>?)", "Class?(Map<String,@>?)", "ClassHeapStats?(Map<String,@>?)", "ClassList?(Map<String,@>?)", "CodeRef?(Map<String,@>?)", "Code?(Map<String,@>?)", "ContextRef?(Map<String,@>?)", "Context0?(Map<String,@>?)", "ContextElement?(Map<String,@>?)", "CpuSamples?(Map<String,@>?)", "CpuSamplesEvent?(Map<String,@>?)", "CpuSample?(Map<String,@>?)", "ErrorRef?(Map<String,@>?)", "Error?(Map<String,@>?)", "Event?(Map<String,@>?)", "FieldRef?(Map<String,@>?)", "Field?(Map<String,@>?)", "Flag?(Map<String,@>?)", "FlagList?(Map<String,@>?)", "Frame1?(Map<String,@>?)", "FuncRef?(Map<String,@>?)", "Func?(Map<String,@>?)", "InstanceRef?(Map<String,@>?)", "Instance?(Map<String,@>?)", "IsolateRef?(Map<String,@>?)", "Isolate?(Map<String,@>?)", "IsolateFlag?(Map<String,@>?)", "IsolateGroupRef?(Map<String,@>?)", "IsolateGroup?(Map<String,@>?)", "InboundReferences?(Map<String,@>?)", "InboundReference?(Map<String,@>?)", "InstanceSet?(Map<String,@>?)", "LibraryRef?(Map<String,@>?)", "Library?(Map<String,@>?)", "LibraryDependency?(Map<String,@>?)", "LogRecord?(Map<String,@>?)", "MapAssociation?(Map<String,@>?)", "MemoryUsage?(Map<String,@>?)", "Message?(Map<String,@>?)", "NativeFunction?(Map<String,@>?)", "NullValRef?(Map<String,@>?)", "NullVal?(Map<String,@>?)", "ObjRef?(Map<String,@>?)", "Obj?(Map<String,@>?)", "Parameter?(Map<String,@>?)", "PortList?(Map<String,@>?)", "ProfileFunction?(Map<String,@>?)", "ProtocolList?(Map<String,@>?)", "Protocol?(Map<String,@>?)", "ProcessMemoryUsage?(Map<String,@>?)", "ProcessMemoryItem?(Map<String,@>?)", "ReloadReport?(Map<String,@>?)", "RetainingObject?(Map<String,@>?)", "RetainingPath?(Map<String,@>?)", "Response?(Map<String,@>?)", "Sentinel?(Map<String,@>?)", "ScriptRef?(Map<String,@>?)", "Script?(Map<String,@>?)", "ScriptList?(Map<String,@>?)", "SourceLocation?(Map<String,@>?)", "SourceReport?(Map<String,@>?)", "SourceReportCoverage?(Map<String,@>?)", "SourceReportRange?(Map<String,@>?)", "Stack0?(Map<String,@>?)", "Success?(Map<String,@>?)", "Timeline?(Map<String,@>?)", "TimelineEvent?(Map<String,@>?)", "TimelineFlags?(Map<String,@>?)", "Timestamp?(Map<String,@>?)", "TypeArgumentsRef?(Map<String,@>?)", "TypeArguments?(Map<String,@>?)", "TypeParameters?(Map<String,@>?)", "UnresolvedSourceLocation?(Map<String,@>?)", "UriList?(Map<String,@>?)", "Version?(Map<String,@>?)", "VMRef?(Map<String,@>?)", "VM?(Map<String,@>?)", "SymbolInfo(Map<String,@>)", "Element1(int)", "int(Object?,Object?)", "~(String?{wrapWidth:int?})", "~(Object?{index:int?})", "~(String,String?,String)"],
    interceptorsByTag: null,
    leafTags: null,
    arrayRti: Symbol("$ti")
  };
  A._Universe_addRules(init.typeUniverse, JSON.parse('{"SkAnimatedImage":"LegacyJavaScriptObject","SkShader":"LegacyJavaScriptObject","SkPaint":"LegacyJavaScriptObject","SkMaskFilter":"LegacyJavaScriptObject","SkColorFilter":"LegacyJavaScriptObject","SkPath":"LegacyJavaScriptObject","SkPicture":"LegacyJavaScriptObject","SkParagraph":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","H5vcc":"LegacyJavaScriptObject","CanvasKit":"LegacyJavaScriptObject","CanvasKitInitOptions":"LegacyJavaScriptObject","CanvasKitInitPromise":"LegacyJavaScriptObject","ColorSpace":"LegacyJavaScriptObject","SkWebGLContextOptions":"LegacyJavaScriptObject","SkSurface":"LegacyJavaScriptObject","SkGrContext":"LegacyJavaScriptObject","SkFontSlantEnum":"LegacyJavaScriptObject","SkFontSlant":"LegacyJavaScriptObject","SkFontWeightEnum":"LegacyJavaScriptObject","SkFontWeight":"LegacyJavaScriptObject","SkAffinityEnum":"LegacyJavaScriptObject","SkAffinity":"LegacyJavaScriptObject","SkTextDirectionEnum":"LegacyJavaScriptObject","SkTextDirection":"LegacyJavaScriptObject","SkTextAlignEnum":"LegacyJavaScriptObject","SkTextAlign":"LegacyJavaScriptObject","SkTextHeightBehaviorEnum":"LegacyJavaScriptObject","SkTextHeightBehavior":"LegacyJavaScriptObject","SkRectHeightStyleEnum":"LegacyJavaScriptObject","SkRectHeightStyle":"LegacyJavaScriptObject","SkRectWidthStyleEnum":"LegacyJavaScriptObject","SkRectWidthStyle":"LegacyJavaScriptObject","SkVertexModeEnum":"LegacyJavaScriptObject","SkVertexMode":"LegacyJavaScriptObject","SkPointModeEnum":"LegacyJavaScriptObject","SkPointMode":"LegacyJavaScriptObject","SkClipOpEnum":"LegacyJavaScriptObject","SkClipOp":"LegacyJavaScriptObject","SkFillTypeEnum":"LegacyJavaScriptObject","SkFillType":"LegacyJavaScriptObject","SkPathOpEnum":"LegacyJavaScriptObject","SkPathOp":"LegacyJavaScriptObject","SkBlurStyleEnum":"LegacyJavaScriptObject","SkBlurStyle":"LegacyJavaScriptObject","SkStrokeCapEnum":"LegacyJavaScriptObject","SkStrokeCap":"LegacyJavaScriptObject","SkPaintStyleEnum":"LegacyJavaScriptObject","SkPaintStyle":"LegacyJavaScriptObject","SkBlendModeEnum":"LegacyJavaScriptObject","SkBlendMode":"LegacyJavaScriptObject","SkStrokeJoinEnum":"LegacyJavaScriptObject","SkStrokeJoin":"LegacyJavaScriptObject","SkTileModeEnum":"LegacyJavaScriptObject","SkTileMode":"LegacyJavaScriptObject","SkFilterModeEnum":"LegacyJavaScriptObject","SkFilterMode":"LegacyJavaScriptObject","SkMipmapModeEnum":"LegacyJavaScriptObject","SkMipmapMode":"LegacyJavaScriptObject","SkAlphaTypeEnum":"LegacyJavaScriptObject","SkAlphaType":"LegacyJavaScriptObject","SkColorTypeEnum":"LegacyJavaScriptObject","SkColorType":"LegacyJavaScriptObject","SkImage":"LegacyJavaScriptObject","SkShaderNamespace":"LegacyJavaScriptObject","SkMaskFilterNamespace":"LegacyJavaScriptObject","CkFilterOptions":"LegacyJavaScriptObject","_CkCubicFilterOptions":"LegacyJavaScriptObject","_CkTransformFilterOptions":"LegacyJavaScriptObject","SkColorFilterNamespace":"LegacyJavaScriptObject","SkImageFilterNamespace":"LegacyJavaScriptObject","SkImageFilter":"LegacyJavaScriptObject","SkPathNamespace":"LegacyJavaScriptObject","_NativeFloat32ArrayType":"LegacyJavaScriptObject","SkFloat32List":"LegacyJavaScriptObject","SkContourMeasureIter":"LegacyJavaScriptObject","SkContourMeasure":"LegacyJavaScriptObject","SkPictureRecorder":"LegacyJavaScriptObject","SkCanvas":"LegacyJavaScriptObject","SkParagraphBuilderNamespace":"LegacyJavaScriptObject","SkParagraphBuilder":"LegacyJavaScriptObject","SkParagraphStyle":"LegacyJavaScriptObject","SkParagraphStyleProperties":"LegacyJavaScriptObject","SkTextStyle":"LegacyJavaScriptObject","SkTextDecorationStyleEnum":"LegacyJavaScriptObject","SkTextDecorationStyle":"LegacyJavaScriptObject","SkTextBaselineEnum":"LegacyJavaScriptObject","SkTextBaseline":"LegacyJavaScriptObject","SkPlaceholderAlignmentEnum":"LegacyJavaScriptObject","SkPlaceholderAlignment":"LegacyJavaScriptObject","SkTextStyleProperties":"LegacyJavaScriptObject","SkStrutStyleProperties":"LegacyJavaScriptObject","SkFontStyle":"LegacyJavaScriptObject","SkTextShadow":"LegacyJavaScriptObject","SkFontFeature":"LegacyJavaScriptObject","SkTypeface":"LegacyJavaScriptObject","SkFont":"LegacyJavaScriptObject","SkFontMgr":"LegacyJavaScriptObject","TypefaceFontProvider":"LegacyJavaScriptObject","SkLineMetrics":"LegacyJavaScriptObject","SkTextPosition":"LegacyJavaScriptObject","SkTextRange":"LegacyJavaScriptObject","SkVertices":"LegacyJavaScriptObject","SkTonalColors":"LegacyJavaScriptObject","SkFontMgrNamespace":"LegacyJavaScriptObject","TypefaceFontProviderNamespace":"LegacyJavaScriptObject","SkTypefaceFactory":"LegacyJavaScriptObject","SkDeletable":"LegacyJavaScriptObject","JsConstructor":"LegacyJavaScriptObject","SkObjectFinalizationRegistry":"LegacyJavaScriptObject","SkData":"LegacyJavaScriptObject","SkImageInfo":"LegacyJavaScriptObject","SkPartialImageInfo":"LegacyJavaScriptObject","JsFlutterConfiguration":"LegacyJavaScriptObject","DomWindow":"LegacyJavaScriptObject","DomConsole":"LegacyJavaScriptObject","DomNavigator":"LegacyJavaScriptObject","DomDocument":"LegacyJavaScriptObject","DomHTMLDocument":"LegacyJavaScriptObject","DomEventTarget":"LegacyJavaScriptObject","DomEvent":"LegacyJavaScriptObject","DomProgressEvent":"LegacyJavaScriptObject","DomNode":"LegacyJavaScriptObject","DomElement":"LegacyJavaScriptObject","DomCSSStyleDeclaration":"LegacyJavaScriptObject","DomHTMLElement":"LegacyJavaScriptObject","DomHTMLMetaElement":"LegacyJavaScriptObject","DomHTMLHeadElement":"LegacyJavaScriptObject","DomHTMLBodyElement":"LegacyJavaScriptObject","DomHTMLImageElement":"LegacyJavaScriptObject","DomHTMLScriptElement":"LegacyJavaScriptObject","DomHTMLDivElement":"LegacyJavaScriptObject","DomHTMLSpanElement":"LegacyJavaScriptObject","DomHTMLButtonElement":"LegacyJavaScriptObject","DomHTMLParagraphElement":"LegacyJavaScriptObject","DomHTMLStyleElement":"LegacyJavaScriptObject","DomPerformance":"LegacyJavaScriptObject","DomPerformanceEntry":"LegacyJavaScriptObject","DomPerformanceMeasure":"LegacyJavaScriptObject","DomCanvasElement":"LegacyJavaScriptObject","DomCanvasImageSource":"LegacyJavaScriptObject","DomCanvasRenderingContext2D":"LegacyJavaScriptObject","DomImageData":"LegacyJavaScriptObject","DomCanvasPattern":"LegacyJavaScriptObject","DomCanvasGradient":"LegacyJavaScriptObject","DomXMLHttpRequestEventTarget":"LegacyJavaScriptObject","DomXMLHttpRequest":"LegacyJavaScriptObject","DomResponse":"LegacyJavaScriptObject","DomCharacterData":"LegacyJavaScriptObject","DomText":"LegacyJavaScriptObject","DomTextMetrics":"LegacyJavaScriptObject","DomException":"LegacyJavaScriptObject","DomRectReadOnly":"LegacyJavaScriptObject","DomRect":"LegacyJavaScriptObject","DomFontFace":"LegacyJavaScriptObject","DomFontFaceSet":"LegacyJavaScriptObject","DomVisualViewport":"LegacyJavaScriptObject","DomHTMLTextAreaElement":"LegacyJavaScriptObject","DomClipboard":"LegacyJavaScriptObject","DomUIEvent":"LegacyJavaScriptObject","DomKeyboardEvent":"LegacyJavaScriptObject","FlutterEngineInitializer":"LegacyJavaScriptObject","InitializeEngineFnParameters":"LegacyJavaScriptObject","FlutterAppRunner":"LegacyJavaScriptObject","RunAppFnParameters":"LegacyJavaScriptObject","FlutterApp":"LegacyJavaScriptObject","JsUrlStrategy":"LegacyJavaScriptObject","JsPromise":"LegacyJavaScriptObject","ImageDecoder":"LegacyJavaScriptObject","ImageDecoderOptions":"LegacyJavaScriptObject","DecodeResult":"LegacyJavaScriptObject","DecodeOptions":"LegacyJavaScriptObject","VideoFrame":"LegacyJavaScriptObject","ImageTrackList":"LegacyJavaScriptObject","ImageTrack":"LegacyJavaScriptObject","SVGElement":"LegacyJavaScriptObject","SVGGraphicsElement":"LegacyJavaScriptObject","SVGSVGElement":"LegacyJavaScriptObject","SVGClipPathElement":"LegacyJavaScriptObject","SVGDefsElement":"LegacyJavaScriptObject","SVGGeometryElement":"LegacyJavaScriptObject","SVGPathElement":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","GtagEventDevTools":"LegacyJavaScriptObject","GtagExceptionDevTools":"LegacyJavaScriptObject","GtagEvent":"LegacyJavaScriptObject","GtagException":"LegacyJavaScriptObject","JsUrlStrategy0":"LegacyJavaScriptObject","KeyframeEffect":"JavaScriptObject","KeyframeEffectReadOnly":"JavaScriptObject","AnimationEffectReadOnly":"JavaScriptObject","AbortPaymentEvent":"Event0","ExtendableEvent":"Event0","AudioContext":"BaseAudioContext","AbsoluteOrientationSensor":"EventTarget","OrientationSensor":"EventTarget","Sensor":"EventTarget","AnimateElement":"SvgElement","AnimationElement":"SvgElement","AElement":"GraphicsElement","CircleElement":"GeometryElement","_Request":"Body","_ResourceProgressEvent":"ProgressEvent","AudioElement":"HtmlElement","MediaElement":"HtmlElement","ShadowRoot":"Node0","DocumentFragment":"Node0","XmlDocument":"Document0","CompositionEvent":"UIEvent","PerformanceLongTaskTiming":"PerformanceEntry","DedicatedWorkerGlobalScope":"WorkerGlobalScope","PublicKeyCredential":"Credential","CDataSection":"CharacterData","Text1":"CharacterData","MidiInput":"MidiPort","HttpRequestUpload":"HttpRequestEventTarget","HtmlFormControlsCollection":"HtmlCollection","DirectoryEntry":"Entry","CssCharsetRule":"CssRule","CssMatrixComponent":"CssTransformComponent","CssurlImageValue":"CssStyleValue","CssImageValue":"CssStyleValue","CssResourceValue":"CssStyleValue","CanvasCaptureMediaStreamTrack":"MediaStreamTrack","OperatingSystem":{"Enum":[]},"CkImage":{"Image1":[]},"CkBrowserImageDecoder":{"Codec":[]},"ManagedSkiaObject":{"SkiaObject":["1"]},"PersistedContainerSurface":{"PersistedSurface":[]},"Checkable":{"RoleManager":[]},"ImageRoleManager":{"RoleManager":[]},"Incrementable":{"RoleManager":[]},"LabelAndValue":{"RoleManager":[]},"LiveRegion":{"RoleManager":[]},"Scrollable":{"RoleManager":[]},"Role":{"Enum":[]},"GestureMode":{"Enum":[]},"Tappable":{"RoleManager":[]},"TextField":{"RoleManager":[]},"LineCharProperty":{"Enum":[]},"EngineLineMetrics":{"LineMetrics":[]},"WordCharProperty":{"Enum":[]},"AssetManagerException":{"Exception":[]},"BrowserEngine":{"Enum":[]},"RecordingCkCanvas":{"CkCanvas":[]},"CkClearCommand":{"CkPaintCommand":[]},"CkSaveCommand":{"CkPaintCommand":[]},"CkRestoreCommand":{"CkPaintCommand":[]},"CkTranslateCommand":{"CkPaintCommand":[]},"CkScaleCommand":{"CkPaintCommand":[]},"CkRotateCommand":{"CkPaintCommand":[]},"CkTransformCommand":{"CkPaintCommand":[]},"CkClipRectCommand":{"CkPaintCommand":[]},"CkDrawArcCommand":{"CkPaintCommand":[]},"CkClipRRectCommand":{"CkPaintCommand":[]},"CkClipPathCommand":{"CkPaintCommand":[]},"CkDrawLineCommand":{"CkPaintCommand":[]},"CkDrawPaintCommand":{"CkPaintCommand":[]},"CkDrawRectCommand":{"CkPaintCommand":[]},"CkDrawRRectCommand":{"CkPaintCommand":[]},"CkDrawDRRectCommand":{"CkPaintCommand":[]},"CkDrawOvalCommand":{"CkPaintCommand":[]},"CkDrawCircleCommand":{"CkPaintCommand":[]},"CkDrawPathCommand":{"CkPaintCommand":[]},"CkDrawShadowCommand":{"CkPaintCommand":[]},"CkDrawImageRectCommand":{"CkPaintCommand":[]},"CkDrawParagraphCommand":{"CkPaintCommand":[]},"CkDrawPictureCommand":{"CkPaintCommand":[]},"CkSaveLayerCommand":{"CkPaintCommand":[]},"SkiaObjectCollectionError":{"Error0":[]},"CanvasKitCanvas":{"Canvas":[]},"ManagedSkColorFilter":{"ManagedSkiaObject":["SkColorFilter"],"SkiaObject":["SkColorFilter"]},"MutatorType":{"Enum":[]},"MutatorsStack":{"Iterable":["Mutator"],"Iterable.E":"Mutator"},"ImageCodecException":{"Exception":[]},"AnimatedImageFrameInfo":{"FrameInfo":[]},"CkAnimatedImage":{"ManagedSkiaObject":["SkAnimatedImage"],"SkiaObject":["SkAnimatedImage"],"Codec":[]},"ContainerLayer":{"Layer":[]},"RootLayer":{"Layer":[]},"ClipPathEngineLayer":{"Layer":[],"ClipPathEngineLayer0":[]},"ClipRectEngineLayer":{"Layer":[],"ClipRectEngineLayer0":[]},"ClipRRectEngineLayer":{"Layer":[],"ClipRRectEngineLayer0":[]},"OpacityEngineLayer":{"Layer":[],"OpacityEngineLayer0":[]},"TransformEngineLayer":{"Layer":[],"TransformEngineLayer0":[]},"OffsetEngineLayer":{"Layer":[],"TransformEngineLayer0":[],"OffsetEngineLayer0":[]},"PictureLayer":{"Layer":[]},"CkMaskFilter":{"ManagedSkiaObject":["SkMaskFilter"],"SkiaObject":["SkMaskFilter"]},"CkPaint":{"ManagedSkiaObject":["SkPaint"],"SkiaObject":["SkPaint"],"Paint":[]},"CkPath":{"ManagedSkiaObject":["SkPath"],"SkiaObject":["SkPath"],"Path":[]},"CkPicture":{"ManagedSkiaObject":["SkPicture"],"SkiaObject":["SkPicture"]},"CkShader":{"ManagedSkiaObject":["SkShader"],"SkiaObject":["SkShader"]},"CkGradientLinear":{"CkShader":[],"ManagedSkiaObject":["SkShader"],"SkiaObject":["SkShader"]},"SkiaObjectBox":{"SkiaObject":["2"]},"CkParagraph":{"SkiaObject":["SkParagraph"]},"CkLineMetrics":{"LineMetrics":[]},"_ParagraphCommandType":{"Enum":[]},"CanvasKitError":{"Error0":[]},"SurfaceCanvas":{"Canvas":[]},"PersistedClipRect":{"PersistedContainerSurface":[],"PersistedSurface":[],"ClipRectEngineLayer0":[]},"PersistedClipRRect":{"PersistedContainerSurface":[],"PersistedSurface":[],"ClipRRectEngineLayer0":[]},"PersistedClipPath":{"PersistedContainerSurface":[],"PersistedSurface":[],"ClipPathEngineLayer0":[]},"PersistedOffset":{"PersistedContainerSurface":[],"PersistedSurface":[],"OffsetEngineLayer0":[]},"PersistedOpacity":{"PersistedContainerSurface":[],"PersistedSurface":[],"OpacityEngineLayer0":[]},"SurfacePaint":{"Paint":[]},"SurfacePath":{"Path":[]},"PersistedPicture":{"PersistedSurface":[]},"DrawCommand":{"PaintCommand":[]},"PaintSave":{"PaintCommand":[]},"PaintRestore":{"PaintCommand":[]},"PaintTranslate":{"PaintCommand":[]},"PaintScale":{"PaintCommand":[]},"PaintRotate":{"PaintCommand":[]},"PaintTransform":{"PaintCommand":[]},"PaintClipRect":{"PaintCommand":[]},"PaintClipRRect":{"PaintCommand":[]},"PaintClipPath":{"PaintCommand":[]},"PaintDrawLine":{"PaintCommand":[]},"PaintDrawPaint":{"PaintCommand":[]},"PaintDrawRect":{"PaintCommand":[]},"PaintDrawRRect":{"PaintCommand":[]},"PaintDrawDRRect":{"PaintCommand":[]},"PaintDrawOval":{"PaintCommand":[]},"PaintDrawCircle":{"PaintCommand":[]},"PaintDrawPath":{"PaintCommand":[]},"PaintDrawShadow":{"PaintCommand":[]},"PaintDrawImageRect":{"PaintCommand":[]},"PaintDrawParagraph":{"PaintCommand":[]},"PersistedScene":{"PersistedContainerSurface":[],"PersistedSurface":[]},"PersistedSurfaceState":{"Enum":[]},"PersistedLeafSurface":{"PersistedSurface":[]},"PersistedTransform":{"PersistedContainerSurface":[],"PersistedSurface":[],"TransformEngineLayer0":[]},"HtmlCodec":{"Codec":[]},"HtmlBlobCodec":{"Codec":[]},"SingleFrameInfo":{"FrameInfo":[]},"HtmlImage":{"Image1":[]},"DebugEngineInitializationState":{"Enum":[]},"_CheckableKind":{"Enum":[]},"AccessibilityMode":{"Enum":[]},"EnabledState":{"Enum":[]},"_TypedDataBuffer":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_IntBuffer":{"_TypedDataBuffer":["int"],"ListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8Buffer":{"_TypedDataBuffer":["int"],"ListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListMixin.E":"int","_TypedDataBuffer.E":"int"},"FlatTextSpan":{"ParagraphSpan":[]},"PlaceholderSpan":{"ParagraphSpan":[]},"ChildStyleNode":{"StyleNode":[]},"RootStyleNode":{"StyleNode":[]},"PlaceholderBox":{"RangeBox":[]},"SpanBox":{"RangeBox":[]},"LineBreakType":{"Enum":[]},"_ComparisonResult":{"Enum":[]},"TextCapitalization":{"Enum":[]},"TransformKind":{"Enum":[]},"EngineFlutterWindow":{"FlutterWindow":[]},"EngineSingletonFlutterWindow":{"FlutterWindow":[]},"JSBool":{"bool":[]},"JSNull":{"Null":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[],"SkAnimatedImage":[],"SkShader":[],"SkPaint":[],"SkMaskFilter":[],"SkColorFilter":[],"SkPath":[],"SkPicture":[],"SkParagraph":[],"Promise":["1&"]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"JSIndexable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"JSIndexable":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"]},"JSString":{"String":[],"Comparable":["String"],"JSIndexable":["@"]},"CastStream":{"Stream":["2"],"Stream.T":"2"},"CastStreamSubscription":{"StreamSubscription":["2"]},"CastStreamTransformer":{"StreamTransformerBase":["3","4"],"StreamTransformerBase.S":"3","StreamTransformerBase.T":"4"},"CastConverter":{"Converter":["3","4"],"StreamTransformerBase":["3","4"],"StreamTransformerBase.S":"3","StreamTransformerBase.T":"4","Converter.S":"3","Converter.T":"4"},"_CastIterableBase":{"Iterable":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListMixin":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapMixin":["3","4"],"Map":["3","4"],"MapMixin.V":"4","MapMixin.K":"3"},"CastQueue":{"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"LateError":{"Error0":[]},"CodeUnits":{"ListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2","ListIterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"FollowedByIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"UnmodifiableListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_ListIndicesIterable":{"ListIterable":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"Iterable.E":"int","ListIterable.E":"int"},"ListMapView":{"MapMixin":["int","1"],"_UnmodifiableMapMixin":["int","1"],"Map":["int","1"],"MapMixin.V":"1","MapMixin.K":"int"},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["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"},"GeneralConstantMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"Instantiation":{"Function":[]},"Instantiation1":{"Function":[]},"NullError":{"TypeError":[],"Error0":[]},"JsNoSuchMethodError":{"Error0":[]},"UnknownJsTypeError":{"Error0":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"RuntimeError":{"Error0":[]},"JsLinkedHashMap":{"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"JSSyntaxRegExp":{"RegExp":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"NativeByteBuffer":{"ByteBuffer":[]},"NativeFloat32x4List":{"ListMixin":["Float32x4"],"List":["Float32x4"],"EfficientLengthIterable":["Float32x4"],"Iterable":["Float32x4"],"TypedData":[],"ListMixin.E":"Float32x4"},"NativeInt32x4List":{"ListMixin":["Int32x4"],"List":["Int32x4"],"EfficientLengthIterable":["Int32x4"],"Iterable":["Int32x4"],"TypedData":[],"ListMixin.E":"Int32x4"},"NativeFloat64x2List":{"ListMixin":["Float64x2"],"List":["Float64x2"],"EfficientLengthIterable":["Float64x2"],"Iterable":["Float64x2"],"TypedData":[],"ListMixin.E":"Float64x2"},"NativeTypedData":{"TypedData":[]},"NativeByteData":{"NativeTypedData":[],"ByteData":[],"TypedData":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"NativeTypedData":[],"TypedData":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListMixin":["double"],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"JSIndexable":["double"],"Iterable":["double"]},"NativeTypedArrayOfInt":{"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"ListMixin":["double"],"Float32List":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"JSIndexable":["double"],"Iterable":["double"],"ListMixin.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"ListMixin":["double"],"Float64List":[],"JavaScriptIndexingBehavior":["double"],"List":["double"],"NativeTypedData":[],"EfficientLengthIterable":["double"],"TypedData":[],"JSIndexable":["double"],"Iterable":["double"],"ListMixin.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"Int16List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"Int32List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"Uint32List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"ListMixin":["int"],"Uint8List":[],"JavaScriptIndexingBehavior":["int"],"List":["int"],"NativeTypedData":[],"EfficientLengthIterable":["int"],"TypedData":[],"JSIndexable":["int"],"Iterable":["int"],"ListMixin.E":"int"},"NativeFloat32x4":{"Float32x4":[]},"NativeInt32x4":{"Int32x4":[]},"NativeFloat64x2":{"Float64x2":[]},"_Type":{"Type":[]},"_Error":{"Error0":[]},"_TypeError":{"TypeError":[],"Error0":[]},"AsyncError":{"Error0":[]},"_Future":{"Future":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_BroadcastSubscriptionWrapper":{"StreamSubscription":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_BroadcastStream":{"_ControllerStream":["1"],"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_BroadcastSubscription":{"_ControllerSubscription":["1"],"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_BroadcastStreamController":{"StreamController":["1"]},"_SyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"]},"_AsyncBroadcastStreamController":{"_BroadcastStreamController":["1"],"StreamController":["1"]},"_AsBroadcastStreamController":{"_SyncBroadcastStreamController":["1"],"_BroadcastStreamController":["1"],"StreamController":["1"]},"TimeoutException":{"Exception":[]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"StreamView":{"Stream":["1"],"Stream.T":"1"},"_StreamController":{"StreamController":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"]},"_SyncStreamController":{"_StreamController":["1"],"StreamController":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamControllerAddStreamState":{"_AddStreamState":["1"]},"_StreamImpl":{"Stream":["1"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_AsBroadcastStream":{"Stream":["1"],"Stream.T":"1"},"_EmptyStream":{"Stream":["1"],"Stream.T":"1"},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_BufferingStreamSubscription.T":"2"},"_WhereStream":{"_ForwardingStream":["1","1"],"Stream":["1"],"Stream.T":"1","_ForwardingStream.T":"1","_ForwardingStream.S":"1"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2","_ForwardingStream.T":"2","_ForwardingStream.S":"1"},"_HandleErrorStream":{"_ForwardingStream":["1","1"],"Stream":["1"],"Stream.T":"1","_ForwardingStream.T":"1","_ForwardingStream.S":"1"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"Zone":[]},"_RootZone":{"Zone":[]},"LinkedHashMap":{"Map":["1","2"]},"_SplayTreeMapNode":{"MapEntry":["1","2"]},"_HashMap":{"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"_CustomHashMap":{"_HashMap":["1","2"],"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedIdentityHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapMixin":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"_HashSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"SetMixin.E":"1"},"_LinkedHashSet":{"_SetBase":["1"],"SetMixin":["1"],"LinkedHashSet":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"SetMixin.E":"1"},"UnmodifiableListView":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"IterableBase":{"Iterable":["1"]},"LinkedList":{"Iterable":["1"],"Iterable.E":"1"},"ListBase":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"MapMixin":["1","2"],"Map":["1","2"]},"MapMixin":{"Map":["1","2"]},"UnmodifiableMapBase":{"MapMixin":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"_DoubleLinkedQueueElement":{"_DoubleLinkedQueueEntry":["1"],"DoubleLinkedQueueEntry":["1"]},"_DoubleLinkedQueueSentinel":{"_DoubleLinkedQueueEntry":["1"]},"DoubleLinkedQueue":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"ListQueue":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"_SetBase":{"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_UnmodifiableSet":{"_SetBase":["1"],"SetMixin":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"SetMixin.E":"1"},"SplayTreeMap":{"MapMixin":["1","2"],"Map":["1","2"],"MapMixin.V":"2","MapMixin.K":"1"},"_SplayTreeKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_SplayTreeValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_SplayTreeMapEntryIterable":{"EfficientLengthIterable":["MapEntry<1,2>"],"Iterable":["MapEntry<1,2>"],"Iterable.E":"MapEntry<1,2>"},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"_SplayTreeIterator.T":"1"},"_SplayTreeValueIterator":{"_SplayTreeIterator":["1","_SplayTreeMapNode<1,2>","2"],"_SplayTreeIterator.T":"2"},"_SplayTreeMapEntryIterator":{"_SplayTreeIterator":["1","_SplayTreeMapNode<1,2>","MapEntry<1,2>"],"_SplayTreeIterator.T":"MapEntry<1,2>"},"SplayTreeSet":{"SetMixin":["1"],"Set":["1"],"IterableMixin":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"SetMixin.E":"1"},"Encoding":{"Codec0":["String","List<int>"]},"_JsonMap":{"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.V":"@","MapMixin.K":"String"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"Iterable.E":"String","ListIterable.E":"String"},"AsciiCodec":{"Encoding":[],"Codec0":["String","List<int>"]},"_UnicodeSubsetEncoder":{"Converter":["String","List<int>"],"StreamTransformerBase":["String","List<int>"]},"AsciiEncoder":{"Converter":["String","List<int>"],"StreamTransformerBase":["String","List<int>"],"StreamTransformerBase.S":"String","StreamTransformerBase.T":"List<int>","Converter.S":"String","Converter.T":"List<int>"},"_UnicodeSubsetDecoder":{"Converter":["List<int>","String"],"StreamTransformerBase":["List<int>","String"]},"AsciiDecoder":{"Converter":["List<int>","String"],"StreamTransformerBase":["List<int>","String"],"StreamTransformerBase.S":"List<int>","StreamTransformerBase.T":"String","Converter.S":"List<int>","Converter.T":"String"},"Base64Codec":{"Codec0":["List<int>","String"]},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformerBase":["List<int>","String"],"StreamTransformerBase.S":"List<int>","StreamTransformerBase.T":"String","Converter.S":"List<int>","Converter.T":"String"},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformerBase":["String","List<int>"],"StreamTransformerBase.S":"String","StreamTransformerBase.T":"List<int>","Converter.S":"String","Converter.T":"List<int>"},"Converter":{"StreamTransformerBase":["1","2"]},"JsonUnsupportedObjectError":{"Error0":[]},"JsonCyclicError":{"Error0":[]},"JsonCodec":{"Codec0":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformerBase":["Object?","String"],"StreamTransformerBase.S":"Object?","StreamTransformerBase.T":"String","Converter.S":"Object?","Converter.T":"String"},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformerBase":["String","Object?"],"StreamTransformerBase.S":"String","StreamTransformerBase.T":"Object?","Converter.S":"String","Converter.T":"Object?"},"Latin1Codec":{"Encoding":[],"Codec0":["String","List<int>"]},"Latin1Encoder":{"Converter":["String","List<int>"],"StreamTransformerBase":["String","List<int>"],"StreamTransformerBase.S":"String","StreamTransformerBase.T":"List<int>","Converter.S":"String","Converter.T":"List<int>"},"Latin1Decoder":{"Converter":["List<int>","String"],"StreamTransformerBase":["List<int>","String"],"StreamTransformerBase.S":"List<int>","StreamTransformerBase.T":"String","Converter.S":"List<int>","Converter.T":"String"},"LineSplitter":{"StreamTransformerBase":["String","String"],"StreamTransformerBase.S":"String","StreamTransformerBase.T":"String"},"Utf8Codec":{"Encoding":[],"Codec0":["String","List<int>"]},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformerBase":["String","List<int>"],"StreamTransformerBase.S":"String","StreamTransformerBase.T":"List<int>","Converter.S":"String","Converter.T":"List<int>"},"Utf8Decoder":{"Converter":["List<int>","String"],"StreamTransformerBase":["List<int>","String"],"StreamTransformerBase.S":"List<int>","StreamTransformerBase.T":"String","Converter.S":"List<int>","Converter.T":"String"},"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"]},"_Enum":{"Enum":[]},"AssertionError":{"Error0":[]},"TypeError":{"Error0":[]},"NullThrownError":{"Error0":[]},"ArgumentError":{"Error0":[]},"RangeError":{"Error0":[]},"IndexError":{"Error0":[]},"FallThroughError":{"Error0":[]},"NoSuchMethodError":{"Error0":[]},"UnsupportedError":{"Error0":[]},"UnimplementedError":{"Error0":[]},"StateError":{"Error0":[]},"ConcurrentModificationError":{"Error0":[]},"OutOfMemoryError":{"Error0":[]},"StackOverflowError":{"Error0":[]},"CyclicInitializationError":{"Error0":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error0":[]},"_GeneratorIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1","ListIterable.E":"1"},"_StringStackTrace":{"StackTrace":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"HtmlElement":{"Element1":[],"Node0":[],"JavaScriptObject":[]},"Blob":{"JavaScriptObject":[]},"CanvasElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"CloseEvent":{"Event0":[],"JavaScriptObject":[]},"CssRule":{"JavaScriptObject":[]},"DomException0":{"JavaScriptObject":[]},"Element1":{"Node0":[],"JavaScriptObject":[]},"Event0":{"JavaScriptObject":[]},"File":{"Blob":[],"JavaScriptObject":[]},"FormElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"Gamepad":{"JavaScriptObject":[]},"HttpRequest":{"JavaScriptObject":[]},"KeyboardEvent":{"Event0":[],"JavaScriptObject":[]},"MessageEvent":{"Event0":[],"JavaScriptObject":[]},"MimeType":{"JavaScriptObject":[]},"MouseEvent":{"Event0":[],"JavaScriptObject":[]},"MutationObserver":{"JavaScriptObject":[]},"Node0":{"JavaScriptObject":[]},"Plugin":{"JavaScriptObject":[]},"PointerEvent0":{"MouseEvent":[],"Event0":[],"JavaScriptObject":[]},"ProgressEvent":{"Event0":[],"JavaScriptObject":[]},"SourceBuffer":{"JavaScriptObject":[]},"SpeechGrammar":{"JavaScriptObject":[]},"SpeechRecognitionResult":{"JavaScriptObject":[]},"StyleSheet":{"JavaScriptObject":[]},"TextTrack":{"JavaScriptObject":[]},"TextTrackCue":{"JavaScriptObject":[]},"Touch":{"JavaScriptObject":[]},"TouchEvent":{"Event0":[],"JavaScriptObject":[]},"AccessibleNodeList":{"JavaScriptObject":[]},"AnchorElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"ApplicationCacheErrorEvent":{"Event0":[],"JavaScriptObject":[]},"AreaElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"Body":{"JavaScriptObject":[]},"BroadcastChannel":{"JavaScriptObject":[]},"ButtonElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"CacheStorage":{"JavaScriptObject":[]},"CanvasRenderingContext2D":{"JavaScriptObject":[]},"CharacterData":{"Node0":[],"JavaScriptObject":[]},"Credential":{"JavaScriptObject":[]},"CredentialUserData":{"JavaScriptObject":[]},"CssKeyframesRule":{"CssRule":[],"JavaScriptObject":[]},"CssPerspective":{"JavaScriptObject":[]},"CssStyleDeclaration":{"JavaScriptObject":[]},"CssStyleSheet":{"StyleSheet":[],"JavaScriptObject":[]},"CssStyleValue":{"JavaScriptObject":[]},"CssTransformComponent":{"JavaScriptObject":[]},"CssTransformValue":{"JavaScriptObject":[]},"CssUnparsedValue":{"JavaScriptObject":[]},"DataTransferItem":{"JavaScriptObject":[]},"DataTransferItemList":{"JavaScriptObject":[]},"DeprecationReport":{"JavaScriptObject":[]},"DivElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"Document0":{"Node0":[],"JavaScriptObject":[]},"DomError":{"JavaScriptObject":[]},"DomRectList":{"ListMixin":["Rectangle<num>"],"ImmutableListMixin":["Rectangle<num>"],"List":["Rectangle<num>"],"JavaScriptIndexingBehavior":["Rectangle<num>"],"JavaScriptObject":[],"EfficientLengthIterable":["Rectangle<num>"],"Iterable":["Rectangle<num>"],"JSIndexable":["Rectangle<num>"],"ImmutableListMixin.E":"Rectangle<num>","ListMixin.E":"Rectangle<num>"},"DomRectReadOnly0":{"JavaScriptObject":[],"Rectangle":["num"]},"DomStringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptIndexingBehavior":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"Iterable":["String"],"JSIndexable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"DomTokenList":{"JavaScriptObject":[]},"_ChildrenElementList":{"ListMixin":["Element1"],"List":["Element1"],"EfficientLengthIterable":["Element1"],"Iterable":["Element1"],"ListMixin.E":"Element1"},"_FrozenElementList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"EmbedElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"Entry":{"JavaScriptObject":[]},"ErrorEvent":{"Event0":[],"JavaScriptObject":[]},"EventSource":{"JavaScriptObject":[]},"EventTarget":{"JavaScriptObject":[]},"FederatedCredential":{"JavaScriptObject":[]},"FieldSetElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"FileList":{"ListMixin":["File"],"ImmutableListMixin":["File"],"List":["File"],"JavaScriptIndexingBehavior":["File"],"JavaScriptObject":[],"EfficientLengthIterable":["File"],"Iterable":["File"],"JSIndexable":["File"],"ImmutableListMixin.E":"File","ListMixin.E":"File"},"FileReader":{"JavaScriptObject":[]},"FileSystem":{"JavaScriptObject":[]},"FileWriter":{"JavaScriptObject":[]},"History":{"JavaScriptObject":[]},"HtmlCollection":{"ListMixin":["Node0"],"ImmutableListMixin":["Node0"],"List":["Node0"],"JavaScriptIndexingBehavior":["Node0"],"JavaScriptObject":[],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"JSIndexable":["Node0"],"ImmutableListMixin.E":"Node0","ListMixin.E":"Node0"},"HtmlDocument":{"Document0":[],"Node0":[],"JavaScriptObject":[]},"HttpRequestEventTarget":{"JavaScriptObject":[]},"IFrameElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"ImageData":{"JavaScriptObject":[]},"ImageElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"InputElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"InterventionReport":{"JavaScriptObject":[]},"LabelElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"Location":{"JavaScriptObject":[]},"MapElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"MediaDeviceInfo":{"JavaScriptObject":[]},"MediaError":{"JavaScriptObject":[]},"MediaKeyMessageEvent":{"Event0":[],"JavaScriptObject":[]},"MediaKeySession":{"JavaScriptObject":[]},"MediaList":{"JavaScriptObject":[]},"MediaQueryList":{"JavaScriptObject":[]},"MediaQueryListEvent":{"Event0":[],"JavaScriptObject":[]},"MediaStreamTrack":{"JavaScriptObject":[]},"MessagePort":{"JavaScriptObject":[]},"MetaElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"MidiInputMap":{"JavaScriptObject":[],"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.V":"@","MapMixin.K":"String"},"MidiOutputMap":{"JavaScriptObject":[],"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.V":"@","MapMixin.K":"String"},"MidiPort":{"JavaScriptObject":[]},"MimeTypeArray":{"ListMixin":["MimeType"],"ImmutableListMixin":["MimeType"],"List":["MimeType"],"JavaScriptIndexingBehavior":["MimeType"],"JavaScriptObject":[],"EfficientLengthIterable":["MimeType"],"Iterable":["MimeType"],"JSIndexable":["MimeType"],"ImmutableListMixin.E":"MimeType","ListMixin.E":"MimeType"},"MutationRecord":{"JavaScriptObject":[]},"NavigatorUserMediaError":{"JavaScriptObject":[]},"_ChildNodeListLazy":{"ListMixin":["Node0"],"List":["Node0"],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"ListMixin.E":"Node0"},"NodeList":{"ListMixin":["Node0"],"ImmutableListMixin":["Node0"],"List":["Node0"],"JavaScriptIndexingBehavior":["Node0"],"JavaScriptObject":[],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"JSIndexable":["Node0"],"ImmutableListMixin.E":"Node0","ListMixin.E":"Node0"},"ObjectElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"OffscreenCanvas":{"JavaScriptObject":[]},"OutputElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"OverconstrainedError":{"JavaScriptObject":[]},"ParamElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"PasswordCredential":{"JavaScriptObject":[]},"PaymentInstruments":{"JavaScriptObject":[]},"PerformanceEntry":{"JavaScriptObject":[]},"PerformanceServerTiming":{"JavaScriptObject":[]},"PluginArray":{"ListMixin":["Plugin"],"ImmutableListMixin":["Plugin"],"List":["Plugin"],"JavaScriptIndexingBehavior":["Plugin"],"JavaScriptObject":[],"EfficientLengthIterable":["Plugin"],"Iterable":["Plugin"],"JSIndexable":["Plugin"],"ImmutableListMixin.E":"Plugin","ListMixin.E":"Plugin"},"PositionError":{"JavaScriptObject":[]},"PresentationConnectionCloseEvent":{"Event0":[],"JavaScriptObject":[]},"PushMessageData":{"JavaScriptObject":[]},"ReportBody":{"JavaScriptObject":[]},"RtcStatsReport":{"JavaScriptObject":[],"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.V":"@","MapMixin.K":"String"},"ScreenOrientation":{"JavaScriptObject":[]},"SelectElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"SharedWorkerGlobalScope":{"WorkerGlobalScope":[],"JavaScriptObject":[]},"SlotElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"SourceBufferList":{"ListMixin":["SourceBuffer"],"ImmutableListMixin":["SourceBuffer"],"List":["SourceBuffer"],"JavaScriptIndexingBehavior":["SourceBuffer"],"JavaScriptObject":[],"EfficientLengthIterable":["SourceBuffer"],"Iterable":["SourceBuffer"],"JSIndexable":["SourceBuffer"],"ImmutableListMixin.E":"SourceBuffer","ListMixin.E":"SourceBuffer"},"SpeechGrammarList":{"ListMixin":["SpeechGrammar"],"ImmutableListMixin":["SpeechGrammar"],"List":["SpeechGrammar"],"JavaScriptIndexingBehavior":["SpeechGrammar"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechGrammar"],"Iterable":["SpeechGrammar"],"JSIndexable":["SpeechGrammar"],"ImmutableListMixin.E":"SpeechGrammar","ListMixin.E":"SpeechGrammar"},"SpeechRecognitionError":{"Event0":[],"JavaScriptObject":[]},"SpeechSynthesisEvent":{"Event0":[],"JavaScriptObject":[]},"SpeechSynthesisVoice":{"JavaScriptObject":[]},"Storage":{"JavaScriptObject":[],"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.V":"String","MapMixin.K":"String"},"StyleElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"TextAreaElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"TextTrackCueList":{"ListMixin":["TextTrackCue"],"ImmutableListMixin":["TextTrackCue"],"List":["TextTrackCue"],"JavaScriptIndexingBehavior":["TextTrackCue"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrackCue"],"Iterable":["TextTrackCue"],"JSIndexable":["TextTrackCue"],"ImmutableListMixin.E":"TextTrackCue","ListMixin.E":"TextTrackCue"},"TextTrackList":{"ListMixin":["TextTrack"],"ImmutableListMixin":["TextTrack"],"List":["TextTrack"],"JavaScriptIndexingBehavior":["TextTrack"],"JavaScriptObject":[],"EfficientLengthIterable":["TextTrack"],"Iterable":["TextTrack"],"JSIndexable":["TextTrack"],"ImmutableListMixin.E":"TextTrack","ListMixin.E":"TextTrack"},"TimeRanges":{"JavaScriptObject":[]},"TouchList":{"ListMixin":["Touch"],"ImmutableListMixin":["Touch"],"List":["Touch"],"JavaScriptIndexingBehavior":["Touch"],"JavaScriptObject":[],"EfficientLengthIterable":["Touch"],"Iterable":["Touch"],"JSIndexable":["Touch"],"ImmutableListMixin.E":"Touch","ListMixin.E":"Touch"},"TrackDefaultList":{"JavaScriptObject":[]},"TrackElement":{"HtmlElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"UIEvent":{"Event0":[],"JavaScriptObject":[]},"Url":{"JavaScriptObject":[]},"VideoTrack":{"JavaScriptObject":[]},"VideoTrackList":{"JavaScriptObject":[]},"VttCue":{"TextTrackCue":[],"JavaScriptObject":[]},"WebSocket0":{"JavaScriptObject":[]},"WheelEvent":{"MouseEvent":[],"Event0":[],"JavaScriptObject":[]},"Window":{"JavaScriptObject":[]},"WorkerGlobalScope":{"JavaScriptObject":[]},"_Attr":{"Node0":[],"JavaScriptObject":[]},"_CssRuleList":{"ListMixin":["CssRule"],"ImmutableListMixin":["CssRule"],"List":["CssRule"],"JavaScriptIndexingBehavior":["CssRule"],"JavaScriptObject":[],"EfficientLengthIterable":["CssRule"],"Iterable":["CssRule"],"JSIndexable":["CssRule"],"ImmutableListMixin.E":"CssRule","ListMixin.E":"CssRule"},"_DomRect":{"JavaScriptObject":[],"Rectangle":["num"]},"_GamepadList":{"ListMixin":["Gamepad?"],"ImmutableListMixin":["Gamepad?"],"List":["Gamepad?"],"JavaScriptIndexingBehavior":["Gamepad?"],"JavaScriptObject":[],"EfficientLengthIterable":["Gamepad?"],"Iterable":["Gamepad?"],"JSIndexable":["Gamepad?"],"ImmutableListMixin.E":"Gamepad?","ListMixin.E":"Gamepad?"},"_NamedNodeMap":{"ListMixin":["Node0"],"ImmutableListMixin":["Node0"],"List":["Node0"],"JavaScriptIndexingBehavior":["Node0"],"JavaScriptObject":[],"EfficientLengthIterable":["Node0"],"Iterable":["Node0"],"JSIndexable":["Node0"],"ImmutableListMixin.E":"Node0","ListMixin.E":"Node0"},"_SpeechRecognitionResultList":{"ListMixin":["SpeechRecognitionResult"],"ImmutableListMixin":["SpeechRecognitionResult"],"List":["SpeechRecognitionResult"],"JavaScriptIndexingBehavior":["SpeechRecognitionResult"],"JavaScriptObject":[],"EfficientLengthIterable":["SpeechRecognitionResult"],"Iterable":["SpeechRecognitionResult"],"JSIndexable":["SpeechRecognitionResult"],"ImmutableListMixin.E":"SpeechRecognitionResult","ListMixin.E":"SpeechRecognitionResult"},"_StyleSheetList":{"ListMixin":["StyleSheet"],"ImmutableListMixin":["StyleSheet"],"List":["StyleSheet"],"JavaScriptIndexingBehavior":["StyleSheet"],"JavaScriptObject":[],"EfficientLengthIterable":["StyleSheet"],"Iterable":["StyleSheet"],"JSIndexable":["StyleSheet"],"ImmutableListMixin.E":"StyleSheet","ListMixin.E":"StyleSheet"},"_AttributeMap":{"MapMixin":["String","String"],"Map":["String","String"]},"_ElementAttributeMap":{"MapMixin":["String","String"],"Map":["String","String"],"MapMixin.V":"String","MapMixin.K":"String"},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_ElementEventStreamImpl":{"_EventStream":["1"],"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"_DOMWindowCrossFrame":{"JavaScriptObject":[]},"FilteredElementList":{"ListMixin":["Element1"],"List":["Element1"],"EfficientLengthIterable":["Element1"],"Iterable":["Element1"],"ListMixin.E":"Element1"},"Database":{"JavaScriptObject":[]},"Index":{"JavaScriptObject":[]},"KeyRange":{"JavaScriptObject":[]},"ObjectStore":{"JavaScriptObject":[]},"VersionChangeEvent":{"Event0":[],"JavaScriptObject":[]},"JsArray":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"NullRejectionException":{"Exception":[]},"Rectangle":{"_RectangleBase":["1"]},"Length":{"JavaScriptObject":[]},"Number":{"JavaScriptObject":[]},"Transform0":{"JavaScriptObject":[]},"ClipPathElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"DefsElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"FEBlendElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"FEColorMatrixElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"FECompositeElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"FEFloodElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"FilterElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"GeometryElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"GraphicsElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"LengthList":{"ListMixin":["Length"],"ImmutableListMixin":["Length"],"List":["Length"],"JavaScriptObject":[],"EfficientLengthIterable":["Length"],"Iterable":["Length"],"ImmutableListMixin.E":"Length","ListMixin.E":"Length"},"NumberList":{"ListMixin":["Number"],"ImmutableListMixin":["Number"],"List":["Number"],"JavaScriptObject":[],"EfficientLengthIterable":["Number"],"Iterable":["Number"],"ImmutableListMixin.E":"Number","ListMixin.E":"Number"},"PathElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"PointList":{"JavaScriptObject":[]},"StringList":{"ListMixin":["String"],"ImmutableListMixin":["String"],"List":["String"],"JavaScriptObject":[],"EfficientLengthIterable":["String"],"Iterable":["String"],"ImmutableListMixin.E":"String","ListMixin.E":"String"},"SvgElement":{"Element1":[],"Node0":[],"JavaScriptObject":[]},"SvgSvgElement":{"SvgElement":[],"Element1":[],"Node0":[],"JavaScriptObject":[]},"TransformList":{"ListMixin":["Transform0"],"ImmutableListMixin":["Transform0"],"List":["Transform0"],"JavaScriptObject":[],"EfficientLengthIterable":["Transform0"],"Iterable":["Transform0"],"ImmutableListMixin.E":"Transform0","ListMixin.E":"Transform0"},"ByteData":{"TypedData":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TypedData":[]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TypedData":[]},"Float32x4List":{"List":["Float32x4"],"EfficientLengthIterable":["Float32x4"],"Iterable":["Float32x4"],"TypedData":[]},"Int32x4List":{"List":["Int32x4"],"EfficientLengthIterable":["Int32x4"],"Iterable":["Int32x4"],"TypedData":[]},"Float64x2List":{"List":["Float64x2"],"EfficientLengthIterable":["Float64x2"],"Iterable":["Float64x2"],"TypedData":[]},"PointerDeviceKind":{"Enum":[]},"TextAlign":{"Enum":[]},"TextBaseline":{"Enum":[]},"TextDirection":{"Enum":[]},"TextAffinity":{"Enum":[]},"ClipOp":{"Enum":[]},"PathFillType":{"Enum":[]},"KeyEventType":{"Enum":[]},"StrokeCap":{"Enum":[]},"StrokeJoin":{"Enum":[]},"PaintingStyle":{"Enum":[]},"BlendMode":{"Enum":[]},"Clip":{"Enum":[]},"BlurStyle":{"Enum":[]},"FilterQuality":{"Enum":[]},"ImageByteFormat":{"Enum":[]},"AppLifecycleState":{"Enum":[]},"PointerChange":{"Enum":[]},"PointerSignalKind":{"Enum":[]},"FontStyle":{"Enum":[]},"PlaceholderAlignment":{"Enum":[]},"TextDecorationStyle":{"Enum":[]},"TextLeadingDistribution":{"Enum":[]},"BoxHeightStyle":{"Enum":[]},"BoxWidthStyle":{"Enum":[]},"TileMode":{"Enum":[]},"SingletonFlutterWindow":{"FlutterWindow":[]},"Brightness":{"Enum":[]},"AudioBuffer":{"JavaScriptObject":[]},"AudioParamMap":{"JavaScriptObject":[],"MapMixin":["String","@"],"Map":["String","@"],"MapMixin.V":"@","MapMixin.K":"String"},"AudioTrack":{"JavaScriptObject":[]},"AudioTrackList":{"JavaScriptObject":[]},"BaseAudioContext":{"JavaScriptObject":[]},"OfflineAudioContext":{"JavaScriptObject":[]},"ActiveInfo":{"JavaScriptObject":[]},"PacketKind":{"Enum":[]},"ArchiveException":{"FormatException":[],"Exception":[]},"DelegatingStreamSubscription":{"StreamSubscription":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_CompleterStream":{"Stream":["1"],"Stream.T":"1"},"_PeekRequest":{"_EventRequest":["1"]},"_CancelRequest":{"_EventRequest":["1"]},"_RestRequest":{"_EventRequest":["1"]},"SubscriptionStream":{"Stream":["1"],"Stream.T":"1"},"_CancelOnErrorSubscriptionWrapper":{"StreamSubscription":["1"]},"StringCharacters":{"Characters":[],"Iterable":["String"],"Iterable.E":"String"},"CanonicalizedMap":{"Map":["2","3"]},"UnorderedIterableEquality":{"_UnorderedEquality":["1","Iterable<1>"],"_UnorderedEquality.E":"1"},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"_UnorderedEquality.E":"1"},"QueueList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListMixin":["2"],"List":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListMixin.E":"2","QueueList.E":"2"},"StreamHistory":{"Response":[]},"CachedCpuSamples":{"CpuSamples":[],"Response":[]},"AvailableCachedCpuSamples":{"Response":[]},"AnalyticsPrompt":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnalyticsPromptState":{"ProvidedControllerMixin":["AnalyticsController","AnalyticsPrompt"],"State":["AnalyticsPrompt"],"ProvidedControllerMixin.T":"AnalyticsController"},"DevToolsApp":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SettingsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsAppState":{"State":["DevToolsApp"]},"OpenSettingsAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CheckboxSetting":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Chart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ChartState":{"State":["Chart"]},"ChartPainter":{"Listenable":[]},"DataAggregate":{"Data":[]},"ChartType":{"Enum":[]},"ChartSymbol":{"Enum":[]},"ScrollingFlameChartRow":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlameChartNodeWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlameChartDataMixin":{"DataSearchStateMixin":[]},"_FlameChartHelpDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlameChartState":{"State":["1"]},"ScrollingFlameChartRowState":{"State":["ScrollingFlameChartRow<1>"]},"FlameChartPainter":{"Listenable":[]},"TimelineGridPainter":{"Listenable":[]},"FlameChartHelpButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EmptyFlameChartRow":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Treemap":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TreemapNode":{"TreeNode":["TreemapNode"],"TreeNode.T":"TreemapNode"},"PositionedCell":{"ParentDataWidget":["StackParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"StackParentData"},"_TreemapState":{"State":["Treemap"]},"MultiCellPainter":{"Listenable":[]},"DragAndDrop":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DragAndDropState":{"State":["DragAndDrop"]},"LogLevel":{"Enum":[]},"DartIOHttpRequestData":{"NetworkRequest":[],"DataSearchStateMixin":[]},"CustomPointerScrollable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CustomPointerScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CustomPointerScrollableState":{"State":["CustomPointerScrollable"]},"_ScrollableScope0":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScrollSemantics0":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderScrollSemantics0":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_ExtentDelegateChangeNotifier":{"Listenable":[]},"ExtentDelegateListView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverExtentDelegateList":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RenderSliverExtentDelegateBoxAdaptor":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"_LinkedScrollController":{"ScrollController":[],"Listenable":[]},"_LinkedScrollPosition":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[],"ScrollMetrics":[]},"_LinkedScrollControllerGroupOffsetNotifier":{"Listenable":[]},"HorizontalLineSegment":{"Comparable":["HorizontalLineSegment"]},"VerticalLineSegment":{"Comparable":["VerticalLineSegment"]},"FixedValueListenable":{"ValueListenable":["1"],"Listenable":[]},"TraceEventWrapper":{"Comparable":["TraceEventWrapper"]},"TimelineEventType":{"Enum":[]},"ImmediateValueNotifier":{"ValueNotifier":["1"],"ValueListenable":["1"],"Listenable":[]},"SortDirection":{"Enum":[]},"ListValueNotifier":{"ValueListenable":["List<1>"],"Listenable":[]},"ImmutableList":{"ListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListMixin.E":"1"},"ProcessCancelledException":{"Exception":[]},"DiffTreeType":{"Enum":[]},"AppSizeBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnalysisView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DiffView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AppSizeScreen":{"Screen":[]},"_AppSizeBodyState":{"ProvidedControllerMixin":["AppSizeController","AppSizeBody"],"State":["AppSizeBody"],"ProvidedControllerMixin.T":"AppSizeController"},"_AnalysisViewState":{"ProvidedControllerMixin":["AppSizeController","AnalysisView"],"State":["AnalysisView"],"ProvidedControllerMixin.T":"AppSizeController"},"_DiffViewState":{"ProvidedControllerMixin":["AppSizeController","DiffView"],"State":["DiffView"],"ProvidedControllerMixin.T":"AppSizeController"},"AppSizeAnalysisTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NameColumn0":{"TreeColumnData":["TreemapNode"],"ColumnData":["TreemapNode"]},"_SizeColumn":{"ColumnData":["TreemapNode"]},"_SizePercentageColumn":{"ColumnData":["TreemapNode"]},"AppSizeDiffTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DiffColumn":{"ColumnData":["TreemapNode"]},"CallGraphWithDominators":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CallGraphView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DominatorTreeNode":{"TreeNode":["DominatorTreeNode"],"TreeNode.T":"DominatorTreeNode"},"_CallGraphWithDominatorsState":{"State":["CallGraphWithDominators"]},"_CallGraphViewState":{"State":["CallGraphView"]},"FromColumn":{"ColumnData":["CallGraphNode"]},"ToColumn":{"ColumnData":["CallGraphNode"]},"DominatorTree":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PackageColumn":{"TreeColumnData":["DominatorTreeNode"],"ColumnData":["DominatorTreeNode"]},"Breakpoints":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BreakpointsState":{"ProvidedControllerMixin":["DebuggerController","Breakpoints"],"State":["Breakpoints"],"ProvidedControllerMixin.T":"DebuggerController"},"BreakpointsCountBadge":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CallStack":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CallStackState":{"ProvidedControllerMixin":["DebuggerController","CallStack"],"State":["CallStack"],"ProvidedControllerMixin.T":"DebuggerController"},"CodeView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Gutter":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"GutterItem":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Lines":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LineItem":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"GoToLineDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CodeViewState":{"State":["CodeView"]},"_LinesState":{"State":["Lines"]},"_LineItemState":{"ProvidedControllerMixin":["DebuggerController","LineItem"],"State":["LineItem"],"ProvidedControllerMixin.T":"DebuggerController"},"ScriptPopupMenu":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScriptHistoryPopupMenu":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerConsole":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DebuggerConsoleState":{"State":["DebuggerConsole"]},"DebuggingControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DebuggingControlsState":{"ProvidedControllerMixin":["DebuggerController","DebuggingControls"],"State":["DebuggingControls"],"ProvidedControllerMixin.T":"DebuggerController"},"BreakOnExceptionsControl":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerController":{"SearchControllerMixin":["SourceToken"],"SearchControllerMixin.T":"SourceToken"},"ScriptsHistory":{"HistoryManager":["ScriptRef"]},"SourceToken":{"DataSearchStateMixin":[]},"BreakpointAndSourcePosition":{"Comparable":["BreakpointAndSourcePosition"]},"_BreakpointAndSourcePositionResolved":{"BreakpointAndSourcePosition":[],"Comparable":["BreakpointAndSourcePosition"]},"_BreakpointAndSourcePositionUnresolved":{"BreakpointAndSourcePosition":[],"Comparable":["BreakpointAndSourcePosition"]},"DebuggerScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"GoToLineNumberIntent":{"Intent":[]},"SearchInFileIntent":{"Intent":[]},"EscapeIntent":{"Intent":[]},"OpenFileIntent":{"Intent":[]},"DebuggerStatus":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FloatingDebuggerControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DebuggerScreen":{"Screen":[]},"DebuggerScreenBodyState":{"ProvidedControllerMixin":["DebuggerController","DebuggerScreenBody"],"State":["DebuggerScreenBody"],"ProvidedControllerMixin.T":"DebuggerController"},"GoToLineNumberAction":{"Action":["GoToLineNumberIntent"],"Action.T":"GoToLineNumberIntent"},"SearchInFileAction":{"Action":["SearchInFileIntent"],"Action.T":"SearchInFileIntent"},"EscapeAction":{"Action":["EscapeIntent"],"Action.T":"EscapeIntent"},"OpenFileAction":{"Action":["OpenFileIntent"],"Action.T":"OpenFileIntent"},"_DebuggerStatusState":{"State":["DebuggerStatus"]},"_FloatingDebuggerControlsState":{"ProvidedControllerMixin":["DebuggerController","FloatingDebuggerControls"],"State":["FloatingDebuggerControls"],"ProvidedControllerMixin.T":"DebuggerController"},"ExpressionEvalField":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpressionEvalFieldState":{"State":["ExpressionEvalField"]},"FileSearchField":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FileSearchFieldState":{"State":["FileSearchField"]},"_ProgramExplorerRow":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FileExplorer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProgramStructureIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FileExplorerState":{"State":["_FileExplorer"]},"_ProgramOutlineView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProgramExplorer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMServiceObjectNode":{"TreeNode":["VMServiceObjectNode"],"TreeNode.T":"VMServiceObjectNode"},"_SimpleMatcher":{"_Matcher":[]},"_MultilineMatcher":{"_Matcher":[]},"_IncludeMatcher":{"_Matcher":[]},"Variables":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpandableVariable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DiagnosticsNodeDescription":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RemoteDiagnosticsNode":{"DiagnosticableTree":[]},"InspectorBreadcrumbNavigator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InspectorBreadcrumb":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorController":{"InspectorServiceClient":[]},"FlexLayoutProperties":{"LayoutProperties":[]},"OverflowSide":{"Enum":[]},"InspectorScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlutterInspectorSettingsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorScreen":{"Screen":[]},"InspectorScreenBodyState":{"ProvidedControllerMixin":["DebuggerController","InspectorScreenBody"],"State":["InspectorScreenBody"],"ProvidedControllerMixin.T":"DebuggerController"},"InspectorSummaryTreeControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ErrorNavigator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorExpandCollapseButtons":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorDetails":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InspectorExpandCollapseButtonsState":{"State":["InspectorExpandCollapseButtons"]},"FlutterTreeType":{"Enum":[]},"InspectorTreeRow":{"DataSearchStateMixin":[]},"SearchTargetType":{"Enum":[]},"_InspectorTreeRowWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectorTree":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InspectorTreeRowState":{"State":["_InspectorTreeRowWidget"]},"InspectorTreeController":{"SearchControllerMixin":["InspectorTreeRow"],"SearchControllerMixin.T":"InspectorTreeRow"},"_InspectorTreeState":{"State":["InspectorTree"],"InspectorControllerClient":[]},"_RowPainter":{"Listenable":[]},"InspectorRowContent":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BoxLayoutExplorerWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BoxLayoutExplorerWidgetState":{"LayoutExplorerWidgetState":["BoxLayoutExplorerWidget","LayoutProperties"],"State":["BoxLayoutExplorerWidget"],"InspectorServiceClient":[],"LayoutExplorerWidgetState.L":"LayoutProperties"},"BoxChildVisualizer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlexLayoutExplorerWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"VisualizeFlexChildren":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FlexLayoutExplorerWidgetState":{"LayoutExplorerWidgetState":["FlexLayoutExplorerWidget","FlexLayoutProperties"],"State":["FlexLayoutExplorerWidget"],"InspectorServiceClient":[],"LayoutExplorerWidgetState.L":"FlexLayoutProperties"},"_VisualizeFlexChildrenState":{"State":["VisualizeFlexChildren"]},"FlexChildVisualizer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedFlexLayoutProperties":{"AnimatedLayoutProperties":["FlexLayoutProperties"],"FlexLayoutProperties":[],"LayoutProperties":[]},"LayoutExplorerTab":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LayoutExplorerTabState":{"State":["LayoutExplorerTab"]},"ArrowType":{"Enum":[]},"ArrowWrapper":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ArrowWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ArrowPainter":{"Listenable":[]},"FreeSpaceVisualizerWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PaddingVisualizerWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayoutExplorerWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayoutExplorerWidgetState":{"State":["1"],"InspectorServiceClient":[]},"OverflowIndicatorPainter":{"Listenable":[]},"BorderLayout":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Truncateable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"WidgetVisualizer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedLayoutProperties":{"LayoutProperties":[]},"LayoutExplorerBackground":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VisualizeWidthAndHeightWithConstraints":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"KindColumn":{"ColumnData":["LogData"],"ColumnRenderer":["LogData"]},"LogDetails":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LogDetailsState":{"State":["LogDetails"]},"LogsTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"MessageColumn":{"ColumnData":["LogData"],"ColumnRenderer":["LogData"]},"WhenColumn":{"ColumnData":["LogData"]},"LoggingController":{"SearchControllerMixin":["LogData"],"FilterControllerMixin":["LogData"],"SearchControllerMixin.T":"LogData"},"LogData":{"DataSearchStateMixin":[]},"LoggingScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"LoggingScreen":{"Screen":[]},"_LoggingScreenState":{"ProvidedControllerMixin":["LoggingController","LoggingScreenBody"],"State":["LoggingScreenBody"],"ProvidedControllerMixin.T":"LoggingController"},"FieldTrack":{"ColumnData":["ClassHeapDetailStats"],"ColumnRenderer":["ClassHeapDetailStats"]},"FieldClassName":{"ColumnData":["ClassHeapDetailStats"]},"FieldInstanceCountColumn":{"ColumnData":["ClassHeapDetailStats"]},"FieldInstanceDeltaColumn":{"ColumnData":["ClassHeapDetailStats"]},"FieldSizeColumn":{"ColumnData":["ClassHeapDetailStats"]},"FieldSizeDeltaColumn":{"ColumnData":["ClassHeapDetailStats"]},"AllocationTableView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AllocationTableViewState":{"ProvidedControllerMixin":["MemoryController","AllocationTableView"],"State":["AllocationTableView"],"ProvidedControllerMixin.T":"MemoryController"},"AnalysisInstanceViewTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnalysisInstanceViewState":{"ProvidedControllerMixin":["MemoryController","AnalysisInstanceViewTable"],"State":["AnalysisInstanceViewTable"],"ProvidedControllerMixin.T":"MemoryController"},"_AnalysisFieldNameColumn":{"TreeColumnData":["AnalysisField"],"ColumnData":["AnalysisField"]},"_AnalysisFieldValueColumn":{"ColumnData":["AnalysisField"]},"ChartInterval":{"Enum":[]},"MemoryController":{"AutoCompleteSearchControllerMixin":[],"SearchControllerMixin":["DataSearchStateMixin"],"SearchControllerMixin.T":"DataSearchStateMixin"},"OfflineFileException":{"Exception":[]},"SnapshotFilterDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SnapshotFilterState":{"State":["SnapshotFilterDialog"]},"HeapGraphElementLive":{"HeapGraphElement":[]},"HeapGraphExternalLive":{"HeapGraphElement":[]},"HeapGraphElementSentinel":{"HeapGraphElement":[]},"HeapTree":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"WildcardMatch":{"Enum":[]},"MemoryHeapTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SnapshotStatus":{"Enum":[]},"HeapTreeViewState":{"ProvidedControllerMixin":["MemoryController","HeapTree"],"State":["HeapTree"],"ProvidedControllerMixin.T":"MemoryController"},"MemoryHeapTableState":{"ProvidedControllerMixin":["MemoryController","MemoryHeapTable"],"State":["MemoryHeapTable"],"ProvidedControllerMixin.T":"MemoryController"},"_LibraryRefColumn":{"TreeColumnData":["Reference"],"ColumnData":["Reference"]},"_ClassOrInstanceCountColumn":{"ColumnData":["Reference"]},"_ShallowSizeColumn":{"ColumnData":["Reference"]},"MemoryHeapTreemap":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryHeapTreemapState":{"ProvidedControllerMixin":["MemoryController","MemoryHeapTreemap"],"State":["MemoryHeapTreemap"],"ProvidedControllerMixin.T":"MemoryController"},"InstanceTreeView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"InstanceTreeViewState":{"ProvidedControllerMixin":["MemoryController","InstanceTreeView"],"State":["InstanceTreeView"],"ProvidedControllerMixin.T":"MemoryController"},"_FieldTypeColumn":{"TreeColumnData":["FieldReference"],"ColumnData":["FieldReference"]},"_FieldNameColumn":{"ColumnData":["FieldReference"]},"_FieldValueColumn":{"ColumnData":["FieldReference"]},"MemoryBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryScreen":{"Screen":[]},"MemoryBodyState":{"ProvidedControllerMixin":["MemoryController","MemoryBody"],"State":["MemoryBody"],"ProvidedControllerMixin.T":"MemoryController"},"Reference":{"TreeNode":["Reference"],"TreeNode.T":"Reference"},"AnalysisSnapshotReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"AnalysisInstance":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"AnalysisField":{"TreeNode":["AnalysisField"],"TreeNode.T":"AnalysisField"},"LibraryReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"ExternalReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"ClassReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"ObjectReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"ExternalObjectReference":{"ObjectReference":[],"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"FieldReference":{"TreeNode":["FieldReference"],"TreeNode.T":"FieldReference"},"AnalysesReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"AnalysisReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"SnapshotReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"ExternalReferences":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"FilteredReference":{"Reference":[],"TreeNode":["Reference"],"TreeNode.T":"Reference"},"ObjectFieldReference":{"FieldReference":[],"TreeNode":["FieldReference"],"TreeNode.T":"FieldReference"},"Tracker":{"TreeNode":["Tracker"]},"TrackerClass":{"Tracker":[],"TreeNode":["Tracker"],"TreeNode.T":"Tracker"},"TrackerAllocation":{"Tracker":[],"TreeNode":["Tracker"],"TreeNode.T":"Tracker"},"_TrackerClassColumn":{"TreeColumnData":["Tracker"],"ColumnData":["Tracker"]},"_TrackerCountColumn":{"ColumnData":["Tracker"]},"MemoryChartPane":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MemoryChartPaneState":{"ProvidedControllerMixin":["MemoryController","MemoryChartPane"],"State":["MemoryChartPane"],"ProvidedControllerMixin.T":"MemoryController"},"MemoryAndroidChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryAndroidChartState":{"ProvidedControllerMixin":["MemoryController","MemoryAndroidChart"],"State":["MemoryAndroidChart"],"ProvidedControllerMixin.T":"MemoryController"},"MemoryEventsPane":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryEventsPaneState":{"ProvidedControllerMixin":["MemoryController","MemoryEventsPane"],"State":["MemoryEventsPane"],"ProvidedControllerMixin.T":"MemoryController"},"MemoryVMChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemoryVMChartState":{"ProvidedControllerMixin":["MemoryController","MemoryVMChart"],"State":["MemoryVMChart"],"ProvidedControllerMixin.T":"MemoryController"},"ToggleAdbMemoryButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ToggleAdbMemoryButtonState":{"ProvidedControllerMixin":["MemoryController","ToggleAdbMemoryButton"],"State":["ToggleAdbMemoryButton"],"ProvidedControllerMixin.T":"MemoryController"},"MemoryControlPane":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MemoryControlPaneState":{"ProvidedControllerMixin":["MemoryController","MemoryControlPane"],"State":["MemoryControlPane"],"ProvidedControllerMixin.T":"MemoryController"},"IntervalDropdown":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_IntervalDropdownState":{"ProvidedControllerMixin":["MemoryController","IntervalDropdown"],"State":["IntervalDropdown"],"ProvidedControllerMixin.T":"MemoryController"},"LegendRow":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PrimaryControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PrimaryControlsState":{"ProvidedControllerMixin":["MemoryController","PrimaryControls"],"State":["PrimaryControls"],"ProvidedControllerMixin.T":"MemoryController"},"SecondaryControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SecondaryControlsState":{"ProvidedControllerMixin":["MemoryController","SecondaryControls"],"State":["SecondaryControls"],"ProvidedControllerMixin.T":"MemoryController"},"MemorySettingsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SourceDropdownMenuItem":{"DropdownMenuItem":["1"],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"MemorySourceDropdown":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MemorySourceDropdownState":{"ProvidedControllerMixin":["MemoryController","MemorySourceDropdown"],"State":["MemorySourceDropdown"],"ProvidedControllerMixin.T":"MemoryController"},"LeaksPane":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LeaksPaneState":{"State":["LeaksPane"]},"ContinuesState":{"Enum":[]},"DashedLine":{"Listenable":[]},"NetworkController":{"SearchControllerMixin":["NetworkRequest"],"FilterControllerMixin":["NetworkRequest"],"SearchControllerMixin.T":"NetworkRequest"},"NetworkRequest":{"DataSearchStateMixin":[]},"WebSocket":{"NetworkRequest":[],"DataSearchStateMixin":[]},"NetworkRequestInspector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpRequestHeadersView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpRequestView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpResponseView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImageResponseView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HttpRequestCookiesView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkRequestOverviewView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NetworkProfilerControls":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkRequestsTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NetworkScreen":{"Screen":[]},"_NetworkScreenBodyState":{"ProvidedControllerMixin":["NetworkController","NetworkScreenBody"],"State":["NetworkScreenBody"],"ProvidedControllerMixin.T":"NetworkController"},"_NetworkProfilerControlsState":{"State":["_NetworkProfilerControls"]},"_NetworkProfilerBody":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"UriColumn":{"ColumnData":["NetworkRequest"],"ColumnRenderer":["NetworkRequest"]},"MethodColumn":{"ColumnData":["NetworkRequest"]},"ActionsColumn":{"ColumnData":["NetworkRequest"],"ColumnRenderer":["NetworkRequest"]},"StatusColumn":{"ColumnData":["NetworkRequest"],"ColumnRenderer":["NetworkRequest"]},"TypeColumn":{"ColumnData":["NetworkRequest"]},"DurationColumn":{"ColumnData":["NetworkRequest"]},"TimestampColumn":{"ColumnData":["NetworkRequest"]},"TrackWidgetBuildsScope":{"Enum":[]},"TrackWidgetBuildsSetting":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TrackWidgetBuildsCheckbox":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EnhanceTracingButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TrackWidgetBuildsSettingState":{"State":["TrackWidgetBuildsSetting"]},"TrackWidgetBuildsScopeSelector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventDetails":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventSummary":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"EventMetaData":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpandingEventMetaData":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlutterFramesChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlutterFramesChartItem":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FlutterFramesChartState":{"ProvidedControllerMixin":["PerformanceController","FlutterFramesChart"],"State":["FlutterFramesChart"],"ProvidedControllerMixin.T":"PerformanceController"},"FlutterFrameTooltip":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AverageFPS":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ShaderJankWarningIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ChartAxisPainter":{"Listenable":[]},"FPSLinePainter":{"Listenable":[]},"FrameTimeVisualizer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlutterFrameAnalysisView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FrameTimeVisualizerState":{"State":["FrameTimeVisualizer"]},"FramePhaseBlock":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"IntelligentFrameFindings":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_Hint":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_EnhanceTracingHint":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SmallEnhanceTracingButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RefreshTimelineEventsButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PerformanceController":{"SearchControllerMixin":["TimelineEvent0"],"SearchControllerMixin.T":"TimelineEvent0"},"TimelineEvent0":{"FlameChartDataMixin":["TimelineEvent0"],"TreeNode":["TimelineEvent0"],"DataSearchStateMixin":[]},"SyncTimelineEvent":{"TimelineEvent0":[],"FlameChartDataMixin":["TimelineEvent0"],"TreeNode":["TimelineEvent0"],"DataSearchStateMixin":[],"TreeNode.T":"TimelineEvent0"},"AsyncTimelineEvent":{"TimelineEvent0":[],"FlameChartDataMixin":["TimelineEvent0"],"TreeNode":["TimelineEvent0"],"DataSearchStateMixin":[],"TreeNode.T":"TimelineEvent0"},"OfflineTimelineEvent":{"TimelineEvent0":[],"FlameChartDataMixin":["TimelineEvent0"],"TreeNode":["TimelineEvent0"],"DataSearchStateMixin":[],"TreeNode.T":"TimelineEvent0"},"PerformanceScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PerformanceSettingsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PerformanceScreen":{"Screen":[]},"PerformanceScreenBodyState":{"ProvidedControllerMixin":["PerformanceController","PerformanceScreenBody"],"State":["PerformanceScreenBody"],"ProvidedControllerMixin.T":"PerformanceController"},"_PrimaryControls0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SecondaryPerformanceControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"MoreDebuggingOptionsButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TimelineStreamSettings":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlutterSettings":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayerImage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayerImageDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RenderingLayerVisualizer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayerSnapshotTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LayerColumn":{"ColumnData":["LayerSnapshot"]},"_RenderingTimePercentageColumn":{"ColumnData":["LayerSnapshot"]},"TabbedPerformanceView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TabbedPerformanceViewState":{"State":["TabbedPerformanceView"]},"TimelineFlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigateInThreadInButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TimelineEventsView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TimelineFlameChartState":{"FlameChartState":["TimelineFlameChart","TimelineEvent0"],"ProvidedControllerMixin":["PerformanceController","TimelineFlameChart"],"State":["TimelineFlameChart"],"ProvidedControllerMixin.T":"PerformanceController","FlameChartState.V":"TimelineEvent0"},"AsyncGuidelinePainter":{"Listenable":[]},"SelectedFrameBracketPainter":{"Listenable":[]},"_NavigateInThreadInButtonState":{"State":["NavigateInThreadInButton"]},"ThreadNavigatorButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CpuBottomUpTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CpuCallTreeTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SelfTimeColumn":{"ColumnData":["CpuStackFrame"]},"TotalTimeColumn":{"ColumnData":["CpuStackFrame"]},"MethodNameColumn":{"TreeColumnData":["CpuStackFrame"],"ColumnData":["CpuStackFrame"]},"SourceColumn":{"ColumnData":["CpuStackFrame"]},"CpuProfilerController":{"SearchControllerMixin":["CpuStackFrame"],"FilterControllerMixin":["CpuStackFrame"],"SearchControllerMixin.T":"CpuStackFrame"},"CpuProfileFlameChart":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CpuProfileFlameChartState":{"FlameChartState":["CpuProfileFlameChart","CpuStackFrame"],"State":["CpuProfileFlameChart"],"FlameChartState.V":"CpuStackFrame"},"CpuSample0":{"TraceEvent":[]},"CpuStackFrame":{"FlameChartDataMixin":["CpuStackFrame"],"ProfilableDataMixin":["CpuStackFrame"],"TreeNode":["CpuStackFrame"],"DataSearchStateMixin":[],"TreeNode.T":"CpuStackFrame","ProfilableDataMixin.T":"CpuStackFrame"},"CpuProfiler":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CpuProfileFilterDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CpuProfilerState":{"State":["CpuProfiler"]},"CpuProfilerDisabled":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"UserTagDropdown":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProfileGranularity":{"Enum":[]},"ProfilerScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProfilerScreen":{"Screen":[]},"_ProfilerScreenBodyState":{"ProvidedControllerMixin":["ProfilerScreenController","ProfilerScreenBody"],"State":["ProfilerScreenBody"],"ProvidedControllerMixin.T":"ProfilerScreenController"},"ProfilerScreenControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PrimaryControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SecondaryControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ListIndexPath":{"PathToProperty":[]},"NullInstance":{"InstanceDetails":[]},"BoolInstance":{"InstanceDetails":[]},"NumInstance":{"InstanceDetails":[]},"StringInstance":{"InstanceDetails":[]},"MapInstance":{"InstanceDetails":[]},"ListInstance":{"InstanceDetails":[]},"ObjectInstance":{"InstanceDetails":[]},"EnumInstance":{"InstanceDetails":[]},"_InstancePathFromInstanceId":{"InstancePath":[]},"_InstancePathFromProviderId":{"InstancePath":[]},"_$ListIndexPath":{"ListIndexPath":[],"DiagnosticableTree":[],"PathToProperty":[]},"_$MapKeyPath":{"MapKeyPath":[],"DiagnosticableTree":[],"PathToProperty":[]},"_$PropertyPath":{"PropertyPath":[],"DiagnosticableTree":[],"PathToProperty":[]},"_$_ObjectField":{"ObjectField":[],"DiagnosticableTree":[]},"_ObjectField":{"ObjectField":[]},"_$NullInstance":{"NullInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$BoolInstance":{"BoolInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$NumInstance":{"NumInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$StringInstance":{"StringInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$MapInstance":{"MapInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$ListInstance":{"ListInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$ObjectInstance":{"ObjectInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"_$EnumInstance":{"EnumInstance":[],"InstanceDetails":[],"DiagnosticableTree":[]},"__$InstancePathFromInstanceIdCopyWithImpl":{"_$InstancePathCopyWithImpl":["1"]},"_$_InstancePathFromInstanceId":{"_InstancePathFromInstanceId":[],"InstancePath":[],"DiagnosticableTree":[]},"__$InstancePathFromProviderIdCopyWithImpl":{"_$InstancePathCopyWithImpl":["1"]},"_$_InstancePathFromProviderId":{"_InstancePathFromProviderId":[],"InstancePath":[],"DiagnosticableTree":[]},"InstanceViewer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ObjectHeader":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_EditableField":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InstanceViewerState":{"State":["InstanceViewer"]},"_EditableFieldState":{"State":["_EditableField"]},"_Expandable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_$_ResultData":{"_ResultData":["1"],"Result0":["1"],"DiagnosticableTree":[]},"_ResultData":{"Result0":["1"]},"_$_ResultError":{"_ResultError":["1"],"Result0":["1"],"DiagnosticableTree":[]},"_ResultError":{"Result0":["1"]},"ProviderList":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProviderNodeItem":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ProviderListState":{"State":["ProviderList"]},"ProviderScreenWrapper":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_StateInspectorSettingsDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProviderScreen":{"Screen":[]},"_ProviderScreenWrapperState":{"State":["ProviderScreenWrapper"]},"ProviderScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ErrorLoggerObserver":{"ProviderObserver":[]},"IsolatePortsWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"IsolateStatisticsView":{"VMDeveloperView":[]},"IsolateStatisticsViewBody":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"GeneralIsolateStatisticsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"IsolateMemoryStatisticsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TagStatisticsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TagColumn":{"ColumnData":["VMTag"]},"_PercentageColumn":{"ColumnData":["VMTag"]},"_PortIDColumn":{"ColumnData":["InstanceRef"]},"_PortNameColumn":{"ColumnData":["InstanceRef"]},"_StackTraceViewerFrameColumn":{"ColumnData":["String"]},"StackTraceViewerWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_IsolatePortsWidgetState":{"State":["IsolatePortsWidget"]},"_ServiceExtensionNameColumn":{"ColumnData":["String"]},"ServiceExtensionsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMInfoCard":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMInfoList":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMDeveloperToolsScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMDeveloperToolsScreen":{"Screen":[]},"_VMDeveloperToolsScreenState":{"ProvidedControllerMixin":["VMDeveloperToolsController","VMDeveloperToolsScreenBody"],"State":["VMDeveloperToolsScreenBody"],"ProvidedControllerMixin.T":"VMDeveloperToolsController"},"VMStatisticsView":{"VMDeveloperView":[]},"VMStatisticsViewBody":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMStatisticsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"GeneralVMStatisticsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProcessStatisticsWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_IsolateNameColumn":{"ColumnData":["Isolate"]},"_IsolateIDColumn":{"ColumnData":["Isolate"]},"_IsolateMemoryColumn":{"ColumnData":["Isolate"]},"_IsolateNewSpaceColumn":{"ColumnData":["Isolate"]},"_IsolateOldSpaceColumn":{"ColumnData":["Isolate"]},"_IsolateHeapColumn":{"ColumnData":["Isolate"]},"IsolatesPreviewWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ServiceExtensionButtonGroup":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RegisteredServiceExtensionButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionToggle":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ServiceExtensionCheckbox":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ServiceExtensionCheckboxGroupButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionButtonGroupState":{"State":["ServiceExtensionButtonGroup"]},"HotReloadButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HotRestartButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RegisteredServiceExtensionButtonState":{"State":["_RegisteredServiceExtensionButton"]},"StructuredErrorsToggle":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionToggleState":{"State":["_ServiceExtensionToggle"]},"_ServiceExtensionCheckboxState":{"State":["ServiceExtensionCheckbox"]},"_ServiceExtensionCheckboxGroupButtonState":{"State":["ServiceExtensionCheckboxGroupButton"]},"_ServiceExtensionCheckboxGroupOverlay":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ServiceExtensionWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ServiceExtensionTooltip":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ServiceExtensionRichTooltip":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ToggleableServiceExtensionDescription":{"ServiceExtensionDescription":["@"]},"VmServiceWrapper":{"VmService":[]},"DevToolsAboutDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FeedbackLink":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DiscordLink":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OpenAboutAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BannerMessage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BannerMessages":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BannerError":{"BannerMessage":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BannerWarning":{"BannerMessage":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProcessingInfo":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsTooltip":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsToggleButtonGroup":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RoundedDropDownButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OutlineDecoration":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RoundedOutlinedBorder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Breadcrumb":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"JsonViewer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CheckboxSetting0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BlinkingIcon":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DualValueListenableBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"KeepAliveWrapper":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PaddedDivider":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OutlinedIconButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"IconLabelButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PauseButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ResumeButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ClearButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RefreshButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RecordButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"StopRecordingButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SettingsOutlinedButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HelpButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpandAllButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CollapseAllButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RecordingInfo":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RecordingStatus":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RecordingInstructions":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExitOfflineButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BulletSpacer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Badge":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsIconButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ToolbarAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AreaPaneHeader":{"StatelessWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExportButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FilterButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"OutlinedRowGroup":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LeftBorder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CenteredMessage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CenteredCircularProgressIndicator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CircularIconButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BreadcrumbNavigator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BreadcrumbPainter":{"Listenable":[]},"FormattedJson":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_JsonViewerState":{"ProvidedControllerMixin":["DebuggerController","JsonViewer"],"State":["JsonViewer"],"ProvidedControllerMixin.T":"DebuggerController"},"MoreInfoLink":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LinkTextSpan":{"TextSpan":[],"InlineSpan":[],"DiagnosticableTree":[],"MouseTrackerAnnotation":[],"HitTestTarget":[]},"Legend":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CopyToClipboardControl":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NotifierCheckbox":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_BlinkingIconState":{"State":["BlinkingIcon"]},"_DualValueListenableBuilderState":{"State":["DualValueListenableBuilder<1,2>"]},"SmallCircularProgressIndicator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ElevatedCard":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_KeepAliveWrapperState":{"State":["KeepAliveWrapper"]},"_ConsoleOutput":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Console":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConsoleFrame":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ConsoleOutputState":{"ProvidedControllerMixin":["DebuggerController","_ConsoleOutput"],"State":["_ConsoleOutput"],"ProvidedControllerMixin.T":"DebuggerController"},"DeleteControl":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TextConsoleLine":{"ConsoleLine":[]},"VariableConsoleLine":{"ConsoleLine":[]},"DeviceDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VMFlagsDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ViewVMFlagsButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_VMFlagsDialogState":{"State":["VMFlagsDialog"]},"_FlagTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NameColumn":{"ColumnData":["_DialogFlag"]},"_DescriptionColumn":{"ColumnData":["_DialogFlag"]},"_ValueColumn":{"ColumnData":["_DialogFlag"]},"DevToolsDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DialogCloseButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DialogCancelButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DialogApplyButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DialogTextButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InspectableWidgetError":{"DevToolsError":[]},"LibraryNotFound":{"Exception":[]},"CancelledException":{"Exception":[]},"UnknownEvalException":{"Exception":[]},"SentinelException0":{"Exception":[]},"EvalSentinelException":{"Exception":[]},"EvalErrorException":{"Exception":[]},"FileImportContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DualFileImportContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FileImportContainerState":{"State":["FileImportContainer"]},"FileImportButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DualFileImportContainerState":{"State":["DualFileImportContainer"]},"FlexSplitColumn":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HistoryViewport":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_HistoryViewportState":{"State":["HistoryViewport<1>"]},"Initializer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InitializerState":{"State":["Initializer"]},"LandingScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConnectDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LandingScreenBodyState":{"State":["LandingScreenBody"]},"LandingScreenSection":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ConnectDialogState":{"State":["ConnectDialog"]},"ImportFileInstructions":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AppSizeToolingInstructions":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NotificationsProvider":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedNotifications":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_Notification":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NotificationAction":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Notifications":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NotificationsState":{"State":["_NotificationsProvider"]},"_NotificationState":{"State":["_Notification"]},"DartObjectNode":{"TreeNode":["DartObjectNode"],"TreeNode.T":"DartObjectNode"},"ReleaseNotesViewer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ReleaseNotesViewerState":{"State":["ReleaseNotesViewer"]},"ReleaseNotes":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ReportFeedbackButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsRouterDelegate":{"Listenable":[]},"DevToolsScaffold":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"KeyboardShortcuts":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DevToolsScaffoldState":{"State":["DevToolsScaffold"]},"KeyboardShortcutsState":{"State":["KeyboardShortcuts"]},"SimpleScreen":{"Screen":[]},"BadgePainter":{"Listenable":[]},"SnapshotScreenBody":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SnapshotScreenBodyState":{"State":["SnapshotScreenBody"]},"Split":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SplitState":{"State":["Split"]},"DefaultSplitter":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"StatusLine":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"IsolateSelector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"IsolateOption":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlatTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TreeTable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_Table":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TableRow":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TableRowState":{"__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin":["1"],"State":["TableRow<1>"],"SearchableMixin":["@"]},"_TableRowPartDisplayType":{"Enum":[]},"ScrollKind":{"Enum":[]},"FlatTableState":{"State":["FlatTable<1>"]},"TreeTableState":{"State":["TreeTable<1>"],"TreeMixin":["1"]},"_TableState":{"State":["_Table<1>"]},"_ColumnGroupHeaderRow":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ColumnGroupSpacer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TableRowType":{"Enum":[]},"TreeColumnData":{"ColumnData":["1"]},"ColumnAlignment":{"Enum":[]},"TreeView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TreeViewItem":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TreeViewState":{"State":["TreeView<1>"],"TreeMixin":["1"]},"_TreeViewItemState":{"__TreeViewItemState_State_TickerProviderStateMixin_CollapsibleAnimationMixin":["1"],"State":["_TreeViewItem<1>"]},"FlutterVersion":{"Comparable":["@"]},"SemanticVersion":{"Comparable":["@"]},"FilterDialog":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FilterDialogState":{"State":["FilterDialog<FilterControllerMixin<@>,1>"]},"ToggleFilterElement":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"HoverCardTooltip":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"HoverCardPosition":{"Enum":[]},"_HoverCardTooltipState":{"State":["HoverCardTooltip"]},"CustomIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"CircleIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ColorIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AssetImageIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ColorIconPainter":{"Listenable":[]},"ThemedImageIcon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImageIconLabel":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"MaterialIconLabel":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoComplete":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoCompleteTile":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoCompleteSearchControllerMixin":{"SearchControllerMixin":["DataSearchStateMixin"]},"_AutoCompleteSearchField":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoCompleteState":{"State":["AutoComplete"]},"SearchTextEditingController":{"ValueNotifier":["TextEditingValue"],"ValueListenable":["TextEditingValue"],"Listenable":[]},"_SearchField":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AutoCompleteSearchFieldState":{"State":["_AutoCompleteSearchField"]},"_SearchFieldSuffix":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SearchNavigationControls":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AutoCompleteController":{"AutoCompleteSearchControllerMixin":[],"SearchControllerMixin":["DataSearchStateMixin"],"SearchControllerMixin.T":"DataSearchStateMixin"},"DevToolsTab":{"Tab":[],"StatelessWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnalyticsTabbedView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnalyticsTabbedViewState":{"State":["AnalyticsTabbedView<@>"]},"OffsetScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_OffsetScrollbarState":{"State":["OffsetScrollbar"]},"MediaSize":{"Enum":[],"Comparable":["Enum"]},"ProfileGranularityDropdown":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SamplesMemoryJson":{"MemoryJson":["HeapSample"]},"AnimationStatus":{"Enum":[]},"Animation":{"ValueListenable":["1"],"Listenable":[]},"_AnimationDirection":{"Enum":[]},"AnimationController":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"AnimationBehavior":{"Enum":[]},"_AlwaysCompleteAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"_AlwaysDismissedAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"AlwaysStoppedAnimation":{"Animation":["1"],"ValueListenable":["1"],"Listenable":[]},"ProxyAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"ReverseAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"CurvedAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"_TrainHoppingMode":{"Enum":[]},"TrainHoppingAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"CompoundAnimation":{"Animation":["1"],"ValueListenable":["1"],"Listenable":[]},"AnimationMin":{"Animation":["1"],"ValueListenable":["1"],"Listenable":[]},"_Linear":{"Curve":[]},"SawTooth":{"Curve":[]},"Interval":{"Curve":[]},"Threshold":{"Curve":[]},"Cubic":{"Curve":[]},"ThreePointCubic":{"Curve":[]},"FlippedCurve":{"Curve":[]},"_DecelerateCurve":{"Curve":[]},"Tween":{"Animatable":["1"],"Animatable.T":"1","Tween.T":"1"},"ColorTween":{"Tween":["Color?"],"Animatable":["Color?"],"Animatable.T":"Color?","Tween.T":"Color?"},"_AnimatedEvaluation":{"Animation":["1"],"ValueListenable":["1"],"Listenable":[]},"_ChainedEvaluation":{"Animatable":["1"],"Animatable.T":"1"},"ReverseTween":{"Tween":["1"],"Animatable":["1"],"Animatable.T":"1","Tween.T":"1"},"SizeTween":{"Tween":["Size?"],"Animatable":["Size?"],"Animatable.T":"Size?","Tween.T":"Size?"},"RectTween":{"Tween":["Rect?"],"Animatable":["Rect?"],"Animatable.T":"Rect?","Tween.T":"Rect?"},"IntTween":{"Tween":["int"],"Animatable":["int"],"Animatable.T":"int","Tween.T":"int"},"CurveTween":{"Animatable":["double"],"Animatable.T":"double"},"TweenSequence":{"Animatable":["1"],"Animatable.T":"1"},"CupertinoDynamicColor":{"Color":[]},"CupertinoIconThemeData":{"IconThemeData":[]},"_CupertinoLocalizationsDelegate":{"LocalizationsDelegate":["CupertinoLocalizations"],"LocalizationsDelegate.T":"CupertinoLocalizations"},"DefaultCupertinoLocalizations":{"CupertinoLocalizations":[]},"_CupertinoBackGestureDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CupertinoPageTransition":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CupertinoBackGestureDetectorState":{"State":["_CupertinoBackGestureDetector<1>"]},"_CupertinoEdgeShadowDecoration":{"Decoration":[]},"_CupertinoEdgeShadowPainter":{"BoxPainter":[]},"CupertinoScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CupertinoScrollbarState":{"RawScrollbarState":["CupertinoScrollbar"],"State":["CupertinoScrollbar"]},"_TextSelectionHandlePainter":{"Listenable":[]},"_InheritedCupertinoTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"CupertinoTheme":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ErrorDiagnostic":{"DiagnosticsProperty":["List<Object>"],"DiagnosticsNode":[]},"ErrorDescription":{"_ErrorDiagnostic":[],"DiagnosticsProperty":["List<Object>"],"DiagnosticsNode":[]},"ErrorSummary":{"_ErrorDiagnostic":[],"DiagnosticsProperty":["List<Object>"],"DiagnosticsNode":[]},"ErrorHint":{"_ErrorDiagnostic":[],"DiagnosticsProperty":["List<Object>"],"DiagnosticsNode":[]},"ErrorSpacer":{"DiagnosticsProperty":["~"],"DiagnosticsNode":[]},"FlutterError":{"DiagnosticableTree":[],"AssertionError":[],"Error0":[]},"DiagnosticsStackTrace":{"DiagnosticsNode":[]},"_FlutterErrorDetailsNode":{"DiagnosticableNode":["FlutterErrorDetails"],"DiagnosticsNode":[]},"ChangeNotifier":{"Listenable":[]},"ValueNotifier":{"ValueListenable":["1"],"Listenable":[]},"ValueListenable":{"Listenable":[]},"_MergingListenable":{"Listenable":[]},"DiagnosticLevel":{"Enum":[]},"DiagnosticsTreeStyle":{"Enum":[]},"_WordWrapParseMode":{"Enum":[]},"DiagnosticsProperty":{"DiagnosticsNode":[]},"DiagnosticableNode":{"DiagnosticsNode":[]},"DiagnosticableTreeNode":{"DiagnosticableNode":["DiagnosticableTree"],"DiagnosticsNode":[]},"DiagnosticsBlock":{"DiagnosticsNode":[]},"LocalKey":{"Key":[]},"ValueKey":{"LocalKey":[],"Key":[],"ValueKey.T":"1"},"UniqueKey":{"LocalKey":[],"Key":[]},"LicenseEntryWithLineBreaks":{"LicenseEntry":[]},"ObserverList":{"Iterable":["1"],"Iterable.E":"1"},"HashedObserverList":{"Iterable":["1"],"Iterable.E":"1"},"TargetPlatform":{"Enum":[]},"SynchronousFuture":{"Future":["1"]},"GestureDisposition":{"Enum":[]},"GestureBinding":{"HitTestTarget":[]},"FlutterErrorDetailsForPointerEventDispatcher":{"FlutterErrorDetails":[]},"_PointerEventDescription":{"PointerEvent":[]},"PointerHoverEvent":{"PointerEvent":[]},"PointerEnterEvent":{"PointerEvent":[]},"PointerExitEvent":{"PointerEvent":[]},"PointerDownEvent":{"PointerEvent":[]},"PointerSignalEvent":{"PointerEvent":[]},"PointerPanZoomStartEvent":{"PointerEvent":[]},"_AbstractPointerEvent":{"PointerEvent":[]},"_TransformedPointerEvent":{"PointerEvent":[]},"PointerAddedEvent":{"PointerEvent":[]},"_TransformedPointerAddedEvent":{"PointerAddedEvent":[],"PointerEvent":[]},"PointerRemovedEvent":{"PointerEvent":[]},"_TransformedPointerRemovedEvent":{"PointerRemovedEvent":[],"PointerEvent":[]},"_TransformedPointerHoverEvent":{"PointerHoverEvent":[],"PointerEvent":[]},"_TransformedPointerEnterEvent":{"PointerEnterEvent":[],"PointerEvent":[]},"_TransformedPointerExitEvent":{"PointerExitEvent":[],"PointerEvent":[]},"_TransformedPointerDownEvent":{"PointerDownEvent":[],"PointerEvent":[]},"PointerMoveEvent":{"PointerEvent":[]},"_TransformedPointerMoveEvent":{"PointerMoveEvent":[],"PointerEvent":[]},"PointerUpEvent":{"PointerEvent":[]},"_TransformedPointerUpEvent":{"PointerUpEvent":[],"PointerEvent":[]},"PointerScrollEvent":{"PointerSignalEvent":[],"PointerEvent":[]},"_TransformedPointerScrollEvent":{"PointerScrollEvent":[],"PointerSignalEvent":[],"PointerEvent":[]},"_TransformedPointerPanZoomStartEvent":{"PointerPanZoomStartEvent":[],"PointerEvent":[]},"PointerPanZoomUpdateEvent":{"PointerEvent":[]},"_TransformedPointerPanZoomUpdateEvent":{"PointerPanZoomUpdateEvent":[],"PointerEvent":[]},"PointerPanZoomEndEvent":{"PointerEvent":[]},"_TransformedPointerPanZoomEndEvent":{"PointerPanZoomEndEvent":[],"PointerEvent":[]},"PointerCancelEvent":{"PointerEvent":[]},"_TransformedPointerCancelEvent":{"PointerCancelEvent":[],"PointerEvent":[]},"ForcePressGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"_ForceState":{"Enum":[]},"_MatrixTransformPart":{"_TransformPart":[]},"_OffsetTransformPart":{"_TransformPart":[]},"LongPressGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"VerticalDragGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"HorizontalDragGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"PanGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"_DragState":{"Enum":[]},"DragGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"DoubleTapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"GestureRecognizer":{"DiagnosticableTree":[],"GestureArenaMember":[]},"DragStartBehavior":{"Enum":[]},"OneSequenceGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"GestureRecognizerState":{"Enum":[]},"PrimaryPointerGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"TapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"BaseTapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"IOSScrollViewFlingVelocityTracker":{"VelocityTracker":[]},"MaterialApp":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ThemeMode":{"Enum":[]},"_MaterialAppState":{"State":["MaterialApp"]},"AppBar":{"StatefulWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PreferredAppBarSize":{"Size":[]},"_AppBarState":{"State":["AppBar"]},"_AppBarTitleBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderAppBarTitleBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"MaterialRectArcTween":{"Tween":["Rect?"],"Animatable":["Rect?"],"Animatable.T":"Rect?","Tween.T":"Rect?"},"MaterialPointArcTween":{"Tween":["Offset"],"Animatable":["Offset"],"Animatable.T":"Offset","Tween.T":"Offset"},"_CornerId":{"Enum":[]},"MaterialBannerTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawMaterialButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RawMaterialButtonState":{"State":["RawMaterialButton"]},"_InputPadding":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInputPadding":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_LerpProperties":{"MaterialStateProperty":["1?"]},"_LerpSides":{"MaterialStateProperty":["BorderSide?"]},"ButtonStyleButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ButtonStyleState":{"State":["ButtonStyleButton"]},"_MouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"_InputPadding0":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInputPadding0":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"ButtonTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ButtonTextTheme":{"Enum":[]},"ButtonBarLayoutBehavior":{"Enum":[]},"Card":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Checkbox":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CheckboxState":{"State":["Checkbox"]},"_CheckboxPainter":{"Listenable":[]},"CheckboxTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"MaterialColor":{"ColorSwatch":["int"],"Color":[],"ColorSwatch.T":"int"},"MaterialAccentColor":{"ColorSwatch":["int"],"Color":[],"ColorSwatch.T":"int"},"DataTable":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TableRowInkWell":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NullTableColumnWidth":{"TableColumnWidth":[]},"_NullWidget":{"Widget":[],"DiagnosticableTree":[]},"DataTableTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Dialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AlertDialog":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DialogRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"],"ModalRoute.T":"1"},"Divider":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"VerticalDivider":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DividerTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DropdownMenuItemButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DropdownMenu":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DropdownRoutePage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MenuItem0":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"DropdownMenuItem":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DropdownButtonHideUnderline":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"DropdownButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DropdownMenuPainter":{"Listenable":[]},"_DropdownMenuItemButtonState":{"State":["_DropdownMenuItemButton<1>"]},"_DropdownMenuState":{"State":["_DropdownMenu<1>"]},"_DropdownRoute":{"ModalRoute":["_DropdownRouteResult<1>"],"TransitionRoute":["_DropdownRouteResult<1>"],"Route":["_DropdownRouteResult<1>"],"ModalRoute.T":"_DropdownRouteResult<1>"},"_RenderMenuItem0":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_DropdownMenuItemContainer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DropdownButtonState":{"State":["DropdownButton<1>"],"WidgetsBindingObserver":[]},"ElevatedButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ElevatedButtonDefaultBackground":{"MaterialStateProperty":["Color?"]},"_ElevatedButtonDefaultForeground":{"MaterialStateProperty":["Color?"]},"_ElevatedButtonDefaultOverlay":{"MaterialStateProperty":["Color?"]},"_ElevatedButtonDefaultElevation":{"MaterialStateProperty":["double"]},"_ElevatedButtonDefaultMouseCursor":{"MaterialStateProperty":["MouseCursor0?"]},"ElevatedButtonTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExpansionTile":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ExpansionTileState":{"State":["ExpansionTile"]},"ExpansionTileTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"FlexibleSpaceBarSettings":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FloatingActionButtonType":{"Enum":[]},"FloatingActionButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ChildOverflowBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderChildOverflowBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_AnimationSwap":{"Animation":["1"],"ValueListenable":["1"],"Listenable":[]},"IconButton":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Ink":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InkState":{"State":["Ink"]},"InkDecoration":{"InkFeature":[]},"InkHighlight":{"InteractiveInkFeature":[],"InkFeature":[]},"_InkRippleFactory":{"InteractiveInkFeatureFactory":[]},"InkRipple":{"InteractiveInkFeature":[],"InkFeature":[]},"_InkSplashFactory":{"InteractiveInkFeatureFactory":[]},"InkSplash":{"InteractiveInkFeature":[],"InkFeature":[]},"InteractiveInkFeature":{"InkFeature":[]},"_ParentInkResponseProvider":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InkResponseStateWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_HighlightType":{"Enum":[]},"InkResponse":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InkResponseState":{"State":["_InkResponseStateWidget"],"_ParentInkResponseState":[]},"InkWell":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InputBorder":{"ShapeBorder":[]},"_NoInputBorder":{"InputBorder":[],"ShapeBorder":[]},"UnderlineInputBorder":{"InputBorder":[],"ShapeBorder":[]},"OutlineInputBorder":{"InputBorder":[],"ShapeBorder":[]},"_BorderContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_HelperError":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DecorationSlot":{"Enum":[]},"InputDecorator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InputBorderGap":{"Listenable":[]},"_InputBorderTween":{"Tween":["InputBorder"],"Animatable":["InputBorder"],"Animatable.T":"InputBorder","Tween.T":"InputBorder"},"_InputBorderPainter":{"Listenable":[]},"_BorderContainerState":{"State":["_BorderContainer"]},"_Shaker":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_HelperErrorState":{"State":["_HelperError"]},"FloatingLabelBehavior":{"Enum":[]},"_RenderDecoration":{"SlottedContainerRenderObjectMixin":["_DecorationSlot"],"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"SlottedContainerRenderObjectMixin.S":"_DecorationSlot"},"_Decorator":{"SlottedMultiChildRenderObjectWidgetMixin":["_DecorationSlot"],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[],"SlottedMultiChildRenderObjectWidgetMixin.S":"_DecorationSlot"},"_AffixText":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InputDecoratorState":{"State":["InputDecorator"]},"_ListTileSlot":{"Enum":[]},"ListTileStyle":{"Enum":[]},"ListTileControlAffinity":{"Enum":[]},"ListTile":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ListTile":{"SlottedMultiChildRenderObjectWidgetMixin":["_ListTileSlot"],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[],"SlottedMultiChildRenderObjectWidgetMixin.S":"_ListTileSlot"},"_RenderListTile":{"SlottedContainerRenderObjectMixin":["_ListTileSlot"],"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"SlottedContainerRenderObjectMixin.S":"_ListTileSlot"},"ListTileTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"MaterialType":{"Enum":[]},"Material":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInkFeatures":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"ShapeBorderTween":{"Tween":["ShapeBorder?"],"Animatable":["ShapeBorder?"],"Animatable.T":"ShapeBorder?","Tween.T":"ShapeBorder?"},"_MaterialInterior":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialState":{"State":["Material"]},"_InkFeatures":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialInteriorState":{"State":["_MaterialInterior"]},"_ShapeBorderPaint":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ShapeBorderPainter":{"Listenable":[]},"_MaterialLocalizationsDelegate":{"LocalizationsDelegate":["MaterialLocalizations"],"LocalizationsDelegate.T":"MaterialLocalizations"},"DefaultMaterialLocalizations":{"MaterialLocalizations":[]},"MaterialState":{"Enum":[]},"MaterialStateMouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"_EnabledAndDisabledMouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"_LerpProperties0":{"MaterialStateProperty":["1?"]},"_MaterialStatePropertyWith":{"MaterialStateProperty":["1"]},"MaterialStatePropertyAll":{"MaterialStateProperty":["1"]},"_SelectableAnimatedBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigationIndicator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_StatusTransitionWidgetBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SelectableAnimatedBuilderState":{"State":["_SelectableAnimatedBuilder"]},"NavigationRail":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NavigationRailState":{"State":["NavigationRail"]},"_RailDestination":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AddIndicator":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigationRailLabelType":{"Enum":[]},"_ExtendedNavigationRailAnimation":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigationRailTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"OutlinedButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_OutlinedButtonDefaultForeground":{"MaterialStateProperty":["Color?"]},"_OutlinedButtonDefaultOverlay":{"MaterialStateProperty":["Color?"]},"_OutlinedButtonDefaultMouseCursor":{"MaterialStateProperty":["MouseCursor0"]},"OutlinedButtonTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"MaterialPage":{"Page":["1"],"RouteSettings":[]},"_PageBasedMaterialPageRoute":{"MaterialRouteTransitionMixin":["1"],"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"],"ModalRoute.T":"1"},"_ZoomEnterTransition":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ZoomExitTransition":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ZoomPageTransition":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ZoomPageTransitionsBuilder":{"PageTransitionsBuilder":[]},"CupertinoPageTransitionsBuilder":{"PageTransitionsBuilder":[]},"PopupMenuEntry":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PopupMenuItem":{"PopupMenuEntry":["1"],"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PopupMenuButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PopupMenuPosition":{"Enum":[]},"_MenuItem":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderMenuItem":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"PopupMenuItemState":{"State":["2"]},"_PopupMenu":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PopupMenuRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"],"ModalRoute.T":"1"},"PopupMenuButtonState":{"State":["PopupMenuButton<1>"]},"_EffectiveMouseCursor":{"MouseCursor0":[],"MaterialStateProperty":["MouseCursor0"]},"PopupMenuTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"LinearProgressIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"CircularProgressIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ActivityIndicatorType":{"Enum":[]},"ProgressIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LinearProgressIndicatorPainter":{"Listenable":[]},"_LinearProgressIndicatorState":{"State":["LinearProgressIndicator"]},"_CircularProgressIndicatorPainter":{"Listenable":[]},"_CircularProgressIndicatorState":{"State":["CircularProgressIndicator"]},"ProgressIndicatorTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Radio":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RadioState":{"State":["Radio<1>"]},"_RadioPainter":{"Listenable":[]},"RadioTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScaffoldMessenger":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScaffoldMessengerScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FloatingActionButtonTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Scaffold":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScaffoldState":{"State":["Scaffold"]},"_StandardBottomSheet":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScaffoldSlot":{"Enum":[]},"ScaffoldMessengerState":{"State":["ScaffoldMessenger"]},"_ScaffoldGeometryNotifier":{"ValueListenable":["ScaffoldGeometry"],"Listenable":[]},"_BodyBoxConstraints":{"BoxConstraints":[]},"_BodyBuilder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FloatingActionButtonTransitionState":{"State":["_FloatingActionButtonTransition"]},"_ScaffoldScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Scrollbar":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialScrollbarState":{"RawScrollbarState":["_MaterialScrollbar"],"State":["_MaterialScrollbar"]},"SelectableText":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TextSpanEditingController":{"ValueNotifier":["TextEditingValue"],"ValueListenable":["TextEditingValue"],"Listenable":[]},"_SelectableTextState":{"State":["SelectableText"]},"SnackBarClosedReason":{"Enum":[]},"SnackBar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SnackBarState":{"State":["SnackBar"]},"_MaterialSwitch":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SwitchType":{"Enum":[]},"Switch":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MaterialSwitchState":{"State":["_MaterialSwitch"]},"_SwitchPainter":{"Listenable":[]},"SwitchTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LerpColors":{"MaterialStateProperty":["Color?"]},"_TabControllerScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"TabController":{"Listenable":[]},"UnderlineTabIndicator":{"Decoration":[]},"_UnderlinePainter":{"BoxPainter":[]},"Tab":{"StatelessWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"TabBar":{"StatefulWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"TabBarView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TabStyle":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TabLabelBarRenderer":{"RenderBoxContainerDefaultsMixin":["RenderBox","FlexParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","FlexParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"FlexParentData","RenderBoxContainerDefaultsMixin.1":"FlexParentData","ContainerRenderObjectMixin.0":"RenderBox"},"_TabLabelBar":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_IndicatorPainter":{"Listenable":[]},"_ChangeAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"_DragAnimation":{"Animation":["double"],"ValueListenable":["double"],"Listenable":[]},"_TabBarScrollPosition":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[],"ScrollMetrics":[]},"_TabBarScrollController":{"ScrollController":[],"Listenable":[]},"_TabBarState":{"State":["TabBar"]},"_TabBarViewState":{"State":["TabBarView"]},"TextButton":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TextButtonDefaultForeground":{"MaterialStateProperty":["Color?"]},"_TextButtonDefaultOverlay":{"MaterialStateProperty":["Color?"]},"_TextButtonDefaultMouseCursor":{"MaterialStateProperty":["MouseCursor0"]},"TextButtonTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"TextField0":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TextFieldState":{"State":["TextField0"]},"_TextSelectionHandlePainter0":{"Listenable":[]},"TextSelectionTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ThemeDataTween":{"Tween":["ThemeData"],"Animatable":["ThemeData"],"Animatable.T":"ThemeData","Tween.T":"ThemeData"},"AnimatedTheme":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Theme":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnimatedThemeState":{"State":["AnimatedTheme"]},"MaterialTapTargetSize":{"Enum":[]},"ToggleButtons":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ResolveFillColor":{"MaterialStateProperty":["Color?"]},"_DefaultFillColor":{"MaterialStateProperty":["Color"]},"_ToggleButtonDefaultOverlay":{"MaterialStateProperty":["Color?"]},"_SelectToggleButton":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SelectToggleButtonRenderObject":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_InputPadding1":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderInputPadding1":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"ToggleButtonsTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ToggleablePainter":{"Listenable":[]},"Tooltip":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TooltipState":{"State":["Tooltip"]},"_TooltipOverlay":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TooltipTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"TooltipTriggerMode":{"Enum":[]},"ScriptCategory":{"Enum":[]},"NetworkImage":{"ImageProvider":["NetworkImage0"],"ImageProvider.T":"NetworkImage0"},"Alignment":{"AlignmentGeometry":[]},"AlignmentDirectional":{"AlignmentGeometry":[]},"_MixedAlignment":{"AlignmentGeometry":[]},"Axis":{"Enum":[]},"VerticalDirection":{"Enum":[]},"RenderComparison":{"Enum":[]},"AxisDirection":{"Enum":[]},"PaintingBinding":{"SchedulerBinding":[]},"_SystemFontsNotifier":{"Listenable":[]},"OutlinedBorder":{"ShapeBorder":[]},"BorderStyle":{"Enum":[]},"StrokeAlign":{"Enum":[]},"_CompoundBorder":{"ShapeBorder":[]},"BoxShape":{"Enum":[]},"BoxBorder":{"ShapeBorder":[]},"Border":{"ShapeBorder":[]},"BorderDirectional":{"ShapeBorder":[]},"BoxDecoration":{"Decoration":[]},"_BoxDecorationPainter":{"BoxPainter":[]},"BoxFit":{"Enum":[]},"BoxShadow":{"Shadow":[]},"CircleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"ColorSwatch":{"Color":[],"ColorSwatch.T":"1"},"ContinuousRectangleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"ImageRepeat":{"Enum":[]},"EdgeInsets":{"EdgeInsetsGeometry":[]},"EdgeInsetsDirectional":{"EdgeInsetsGeometry":[]},"_MixedEdgeInsets":{"EdgeInsetsGeometry":[]},"NetworkImage0":{"ImageProvider":["NetworkImage0"]},"MemoryImage":{"ImageProvider":["MemoryImage"],"ImageProvider.T":"MemoryImage"},"AssetBundleImageProvider":{"ImageProvider":["AssetBundleImageKey"]},"AssetImage":{"ImageProvider":["AssetBundleImageKey"],"ImageProvider.T":"AssetBundleImageKey"},"InlineSpan":{"DiagnosticableTree":[]},"PlaceholderSpan0":{"InlineSpan":[],"DiagnosticableTree":[]},"RoundedRectangleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"_RoundedRectangleToCircleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"ShapeDecoration":{"Decoration":[]},"_ShapeDecorationPainter":{"BoxPainter":[]},"StadiumBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"_StadiumToCircleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"_StadiumToRoundedRectangleBorder":{"OutlinedBorder":[],"ShapeBorder":[]},"TextOverflow":{"Enum":[]},"TextWidthBasis":{"Enum":[]},"TextSpan":{"InlineSpan":[],"DiagnosticableTree":[],"MouseTrackerAnnotation":[],"HitTestTarget":[]},"SpringType":{"Enum":[]},"RenderAnimatedSizeState":{"Enum":[]},"RenderAnimatedSize":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RendererBinding":{"SchedulerBinding":[],"HitTestTarget":[]},"BoxHitTestResult":{"HitTestResult":[]},"RenderBox":{"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"BoxHitTestEntry":{"HitTestEntry":["RenderBox"]},"BoxParentData":{"ParentData":[]},"ContainerBoxParentData":{"BoxParentData":[],"ContainerParentDataMixin":["1"],"ParentData":[]},"_IntrinsicDimension":{"Enum":[]},"MultiChildLayoutParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"RenderCustomMultiChildLayoutBox":{"RenderBoxContainerDefaultsMixin":["RenderBox","MultiChildLayoutParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","MultiChildLayoutParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"MultiChildLayoutParentData","RenderBoxContainerDefaultsMixin.1":"MultiChildLayoutParentData","ContainerRenderObjectMixin.0":"RenderBox"},"CustomPainter":{"Listenable":[]},"RenderCustomPaint":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderEditablePainter":{"Listenable":[]},"RenderEditable":{"RenderBoxContainerDefaultsMixin":["RenderBox","TextParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","TextParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"TextParentData","RenderBoxContainerDefaultsMixin.1":"TextParentData","ContainerRenderObjectMixin.0":"RenderBox"},"_RenderEditableCustomPaint":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_TextHighlightPainter":{"RenderEditablePainter":[],"Listenable":[]},"_FloatingCursorPainter":{"RenderEditablePainter":[],"Listenable":[]},"_CompositeRenderEditablePainter":{"RenderEditablePainter":[],"Listenable":[]},"RenderErrorBox":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"FlexFit":{"Enum":[]},"FlexParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"MainAxisSize":{"Enum":[]},"MainAxisAlignment":{"Enum":[]},"CrossAxisAlignment":{"Enum":[]},"RenderFlex":{"RenderBoxContainerDefaultsMixin":["RenderBox","FlexParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","FlexParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"FlexParentData","RenderBoxContainerDefaultsMixin.1":"FlexParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderImage":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"Layer0":{"DiagnosticableTree":[],"AbstractNode":[]},"ContainerLayer0":{"DiagnosticableTree":[],"AbstractNode":[]},"ClipRectLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"TransformLayer":{"OffsetLayer":[],"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"PictureLayer0":{"DiagnosticableTree":[],"AbstractNode":[]},"PerformanceOverlayLayer":{"DiagnosticableTree":[],"AbstractNode":[]},"OffsetLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ClipRRectLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ClipPathLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"OpacityLayer":{"OffsetLayer":[],"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"LeaderLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"FollowerLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"AnnotatedRegionLayer":{"ContainerLayer0":[],"DiagnosticableTree":[],"AbstractNode":[]},"ListBodyParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"RenderListBody":{"RenderBoxContainerDefaultsMixin":["RenderBox","ListBodyParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","ListBodyParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"ListBodyParentData","RenderBoxContainerDefaultsMixin.1":"ListBodyParentData","ContainerRenderObjectMixin.0":"RenderBox"},"MouseTracker":{"Listenable":[]},"RenderObject":{"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"ContainerParentDataMixin":{"ParentData":[]},"_RootSemanticsFragment":{"_InterestingSemanticsFragment":[]},"_SwitchableSemanticsFragment":{"_InterestingSemanticsFragment":[]},"TextParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"PlaceholderSpanIndexSemanticsTag":{"SemanticsTag":[]},"_SelectableFragment":{"Selectable":[],"ValueListenable":["SelectionGeometry"],"Listenable":[]},"RenderParagraph":{"RenderBoxContainerDefaultsMixin":["RenderBox","TextParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","TextParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"TextParentData","RenderBoxContainerDefaultsMixin.1":"TextParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderPerformanceOverlay":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"ShapeBorderClipper":{"Listenable":[]},"RenderAbsorbPointer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderSemanticsGestureHandler":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderProxyBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"HitTestBehavior":{"Enum":[]},"RenderProxyBoxWithHitTestBehavior":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderConstrainedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderLimitedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderIntrinsicWidth":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderIntrinsicHeight":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderOpacity":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderAnimatedOpacity":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"CustomClipper":{"Listenable":[]},"_RenderCustomClip":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderClipRect":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderClipRRect":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderClipPath":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_RenderPhysicalModelBase":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderPhysicalModel":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderPhysicalShape":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"DecorationPosition":{"Enum":[]},"RenderDecoratedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderTransform":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderFractionalTranslation":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderPointerListener":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderMouseRegion":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"MouseTrackerAnnotation":[],"AbstractNode":[],"HitTestTarget":[]},"RenderRepaintBoundary":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderIgnorePointer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderOffstage":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderMetaData":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderSemanticsAnnotations":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderBlockSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderMergeSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderExcludeSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderIndexedSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderLeaderLayer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderFollowerLayer":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderAnnotatedRegion":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderRotatedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"Selectable":{"ValueListenable":["SelectionGeometry"],"Listenable":[]},"SelectionResult":{"Enum":[]},"SelectionEventType":{"Enum":[]},"SelectionStatus":{"Enum":[]},"TextSelectionHandleType":{"Enum":[]},"RenderShiftedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderPadding":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderAligningShiftedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderPositionedBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderConstrainedOverflowBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderCustomSingleChildLayoutBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"SliverHitTestResult":{"HitTestResult":[]},"SliverLogicalContainerParentData":{"SliverLogicalParentData":[],"ContainerParentDataMixin":["RenderSliver"],"ParentData":[]},"SliverPhysicalContainerParentData":{"SliverPhysicalParentData":[],"ContainerParentDataMixin":["RenderSliver"],"ParentData":[]},"RenderSliver":{"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"GrowthDirection":{"Enum":[]},"SliverHitTestEntry":{"HitTestEntry":["RenderSliver"]},"SliverLogicalParentData":{"ParentData":[]},"SliverPhysicalParentData":{"ParentData":[]},"RenderSliverFillViewport":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderSliverFixedExtentBoxAdaptor":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderSliverFixedExtentList":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderSliverList":{"RenderSliverMultiBoxAdaptor":[],"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"SliverMultiBoxAdaptorParentData","ContainerRenderObjectMixin.0":"RenderBox"},"KeepAliveParentDataMixin":{"ParentData":[]},"SliverMultiBoxAdaptorParentData":{"SliverLogicalParentData":[],"ContainerParentDataMixin":["RenderBox"],"KeepAliveParentDataMixin":[],"ParentData":[]},"RenderSliverMultiBoxAdaptor":{"RenderSliver":[],"ContainerRenderObjectMixin":["RenderBox","SliverMultiBoxAdaptorParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderSliverEdgeInsetsPadding":{"RenderSliver":[],"RenderObjectWithChildMixin":["RenderSliver"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderSliverPadding":{"RenderSliver":[],"RenderObjectWithChildMixin":["RenderSliver"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"StackParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"StackFit":{"Enum":[]},"RenderStack":{"RenderBoxContainerDefaultsMixin":["RenderBox","StackParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","StackParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"StackParentData","RenderBoxContainerDefaultsMixin.1":"StackParentData","ContainerRenderObjectMixin.0":"RenderBox"},"RenderIndexedStack":{"RenderBoxContainerDefaultsMixin":["RenderBox","StackParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","StackParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"StackParentData","RenderBoxContainerDefaultsMixin.1":"StackParentData","ContainerRenderObjectMixin.0":"RenderBox"},"TableCellParentData":{"BoxParentData":[],"ParentData":[]},"IntrinsicColumnWidth":{"TableColumnWidth":[]},"FixedColumnWidth":{"TableColumnWidth":[]},"FlexColumnWidth":{"TableColumnWidth":[]},"TableCellVerticalAlignment":{"Enum":[]},"RenderTable":{"RenderBox":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"AlignmentGeometryTween":{"Tween":["AlignmentGeometry?"],"Animatable":["AlignmentGeometry?"],"Animatable.T":"AlignmentGeometry?","Tween.T":"AlignmentGeometry?"},"RenderView":{"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"CacheExtentStyle":{"Enum":[]},"RenderViewportBase":{"_RenderViewportBase_RenderBox_ContainerRenderObjectMixin":["1"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderSliver","1"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"RenderViewport":{"_RenderViewportBase_RenderBox_ContainerRenderObjectMixin":["SliverPhysicalContainerParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderSliver","SliverPhysicalContainerParentData"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"SliverPhysicalContainerParentData","_RenderViewportBase_RenderBox_ContainerRenderObjectMixin.0":"SliverPhysicalContainerParentData","ContainerRenderObjectMixin.0":"RenderSliver"},"RenderShrinkWrappingViewport":{"_RenderViewportBase_RenderBox_ContainerRenderObjectMixin":["SliverLogicalContainerParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderSliver","SliverLogicalContainerParentData"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"SliverLogicalContainerParentData","_RenderViewportBase_RenderBox_ContainerRenderObjectMixin.0":"SliverLogicalContainerParentData","ContainerRenderObjectMixin.0":"RenderSliver"},"ViewportOffset":{"Listenable":[]},"ScrollDirection":{"Enum":[]},"WrapParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"WrapAlignment":{"Enum":[]},"WrapCrossAlignment":{"Enum":[]},"RenderWrap":{"RenderBoxContainerDefaultsMixin":["RenderBox","WrapParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","WrapParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"WrapParentData","RenderBoxContainerDefaultsMixin.1":"WrapParentData","ContainerRenderObjectMixin.0":"RenderBox"},"SchedulerPhase":{"Enum":[]},"TickerFuture":{"Future":["~"]},"TickerCanceled":{"Exception":[]},"SemanticsNode":{"DiagnosticableTree":[],"AbstractNode":[]},"_BoxEdge":{"Comparable":["_BoxEdge"]},"_SemanticsSortGroup":{"Comparable":["_SemanticsSortGroup"]},"_TraversalSortNode":{"Comparable":["_TraversalSortNode"]},"SemanticsSortKey":{"Comparable":["SemanticsSortKey"]},"_SemanticsDiagnosticableNode":{"DiagnosticableNode":["SemanticsNode"],"DiagnosticsNode":[]},"SemanticsProperties":{"DiagnosticableTree":[]},"SemanticsOwner":{"Listenable":[]},"DebugSemanticsDumpOrder":{"Enum":[]},"OrdinalSortKey":{"Comparable":["SemanticsSortKey"]},"ServicesBinding":{"SchedulerBinding":[]},"KeyDownEvent":{"KeyEvent":[]},"KeyUpEvent":{"KeyEvent":[]},"KeyRepeatEvent":{"KeyEvent":[]},"KeyDataTransitMode":{"Enum":[]},"PlatformException":{"Exception":[]},"MissingPluginException":{"Exception":[]},"_DeferringMouseCursor":{"MouseCursor0":[]},"_SystemMouseCursorSession":{"MouseCursorSession":[]},"SystemMouseCursor":{"MouseCursor0":[]},"KeyboardSide":{"Enum":[]},"ModifierKey":{"Enum":[]},"RawKeyDownEvent":{"RawKeyEvent":[]},"RawKeyUpEvent":{"RawKeyEvent":[]},"RestorationManager":{"Listenable":[]},"SystemSoundType":{"Enum":[]},"TextEditingDeltaInsertion":{"TextEditingDelta":[]},"TextEditingDeltaDeletion":{"TextEditingDelta":[]},"TextEditingDeltaReplacement":{"TextEditingDelta":[]},"TextEditingDeltaNonTextUpdate":{"TextEditingDelta":[]},"MaxLengthEnforcement":{"Enum":[]},"FilteringTextInputFormatter":{"TextInputFormatter":[]},"SelectionChangedCause":{"Enum":[]},"SmartDashesType":{"Enum":[]},"SmartQuotesType":{"Enum":[]},"TextInputAction":{"Enum":[]},"TextCapitalization0":{"Enum":[]},"FloatingCursorDragState":{"Enum":[]},"Actions":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ActionsMarker":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"FocusableActionDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"VoidCallbackIntent":{"Intent":[]},"DoNothingIntent":{"Intent":[]},"DoNothingAndStopPropagationIntent":{"Intent":[]},"ActivateIntent":{"Intent":[]},"ButtonActivateIntent":{"Intent":[]},"DismissIntent":{"Intent":[]},"PrioritizedIntents":{"Intent":[]},"ContextAction":{"Action":["1"]},"CallbackAction":{"Action":["1"],"Action.T":"1"},"_ActionsState":{"State":["Actions"]},"_FocusableActionDetectorState":{"State":["FocusableActionDetector"]},"VoidCallbackAction":{"Action":["VoidCallbackIntent"],"Action.T":"VoidCallbackIntent"},"DoNothingAction":{"Action":["Intent"],"Action.T":"Intent"},"DismissAction":{"Action":["DismissIntent"]},"PrioritizedAction":{"Action":["PrioritizedIntents"],"Action.T":"PrioritizedIntents"},"_OverridableAction":{"__OverridableAction_ContextAction__OverridableActionMixin":["1"],"ContextAction":["1"],"_OverridableActionMixin":["1"],"Action":["1"],"Action.T":"1","ContextAction.T":"1"},"_OverridableContextAction":{"__OverridableContextAction_ContextAction__OverridableActionMixin":["1"],"ContextAction":["1"],"_OverridableActionMixin":["1"],"Action":["1"],"Action.T":"1","ContextAction.T":"1"},"_ContextActionToActionAdapter":{"Action":["1"],"Action.T":"1"},"CrossFadeState":{"Enum":[]},"AnimatedCrossFade":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnimatedCrossFadeState":{"State":["AnimatedCrossFade"]},"AnimatedSize":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnimatedSizeState":{"State":["AnimatedSize"]},"_AnimatedSize":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnnotatedRegion":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"WidgetsApp":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_WidgetsAppState":{"State":["WidgetsApp"],"WidgetsBindingObserver":[]},"StreamBuilderBase":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FutureBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_StreamBuilderBaseState":{"State":["StreamBuilderBase<1,2>"]},"ConnectionState":{"Enum":[]},"StreamBuilder":{"StreamBuilderBase":["1","AsyncSnapshot<1>"],"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[],"StreamBuilderBase.T":"1","StreamBuilderBase.S":"AsyncSnapshot<1>"},"_FutureBuilderState":{"State":["FutureBuilder<1>"]},"AutomaticKeepAlive":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AutomaticKeepAliveState":{"State":["AutomaticKeepAlive"]},"KeepAliveHandle":{"Listenable":[]},"_NullWidget0":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Directionality":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Opacity":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ClipRect":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Transform":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"CompositedTransformTarget":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Padding":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Align":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Center":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"CustomSingleChildLayout":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayoutId":{"ParentDataWidget":["MultiChildLayoutParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"MultiChildLayoutParentData"},"CustomMultiChildLayout":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SizedBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"OverflowBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Stack":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Positioned":{"ParentDataWidget":["StackParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"StackParentData"},"Row":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Column":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"DefaultAssetBundle":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"IgnorePointer":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Semantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MergeSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ColoredBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_UbiquitousInheritedElement":{"InheritedElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_UbiquitousInheritedWidget":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"CustomPaint":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ClipRRect":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ClipPath":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"PhysicalModel":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"PhysicalShape":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"CompositedTransformFollower":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"FractionalTranslation":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RotatedBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConstrainedBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"LimitedBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Offstage":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_OffstageElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"IntrinsicWidth":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"IntrinsicHeight":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverPadding":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ListBody":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"IndexedStack":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"PositionedDirectional":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Flex":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Flexible":{"ParentDataWidget":["FlexParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"FlexParentData"},"Expanded":{"ParentDataWidget":["FlexParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"FlexParentData"},"Wrap":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RichText":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawImage":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Listener":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MouseRegion":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RepaintBoundary":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"AbsorbPointer":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MetaData":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"BlockSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ExcludeSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"IndexedSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"KeyedSubtree":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Builder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderColoredBox":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"WidgetsBinding":{"SchedulerBinding":[],"HitTestTarget":[]},"RenderObjectToWidgetAdapter":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"RenderObjectToWidgetElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"WidgetsFlutterBinding":{"SchedulerBinding":[],"HitTestTarget":[]},"Container":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DecoratedBox":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DecorationClipper":{"Listenable":[]},"DefaultSelectionStyle":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NullWidget1":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DefaultTextEditingShortcuts":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DismissDirection":{"Enum":[]},"Dismissible":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FlingGestureKind":{"Enum":[]},"_DismissibleState":{"State":["Dismissible"]},"DisplayFeatureSubScreen":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DualTransitionBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_DualTransitionBuilderState":{"State":["DualTransitionBuilder"]},"TextEditingController":{"ValueNotifier":["TextEditingValue"],"ValueListenable":["TextEditingValue"],"Listenable":[]},"EditableText":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"EditableTextState":{"State":["EditableText"],"WidgetsBindingObserver":[],"TextSelectionDelegate":[]},"_ScribbleFocusable":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScribblePlaceholder":{"WidgetSpan":[],"PlaceholderSpan0":[],"InlineSpan":[],"DiagnosticableTree":[]},"_TextEditingHistory":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_Editable":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScribbleFocusableState":{"State":["_ScribbleFocusable"],"ScribbleClient":[]},"_DeleteTextAction":{"ContextAction":["1"],"Action":["1"],"Action.T":"1","ContextAction.T":"1"},"_UpdateTextSelectionAction":{"ContextAction":["1"],"Action":["1"],"Action.T":"1","ContextAction.T":"1"},"_ExtendSelectionOrCaretPositionAction":{"ContextAction":["ExtendSelectionToNextWordBoundaryOrCaretLocationIntent"],"Action":["ExtendSelectionToNextWordBoundaryOrCaretLocationIntent"],"Action.T":"ExtendSelectionToNextWordBoundaryOrCaretLocationIntent","ContextAction.T":"ExtendSelectionToNextWordBoundaryOrCaretLocationIntent"},"_UpdateTextSelectionToAdjacentLineAction":{"ContextAction":["1"],"Action":["1"],"Action.T":"1","ContextAction.T":"1"},"_SelectAllAction":{"ContextAction":["SelectAllTextIntent"],"Action":["SelectAllTextIntent"],"Action.T":"SelectAllTextIntent","ContextAction.T":"SelectAllTextIntent"},"_CopySelectionAction":{"ContextAction":["CopySelectionTextIntent"],"Action":["CopySelectionTextIntent"],"Action.T":"CopySelectionTextIntent","ContextAction.T":"CopySelectionTextIntent"},"_TextEditingHistoryState":{"State":["_TextEditingHistory"]},"KeyEventResult":{"Enum":[]},"FocusNode":{"DiagnosticableTree":[],"Listenable":[]},"FocusScopeNode":{"FocusNode":[],"DiagnosticableTree":[],"Listenable":[]},"FocusHighlightMode":{"Enum":[]},"UnfocusDisposition":{"Enum":[]},"FocusHighlightStrategy":{"Enum":[]},"FocusManager":{"DiagnosticableTree":[],"Listenable":[]},"Focus":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FocusMarker":{"InheritedNotifier":["FocusNode"],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"InheritedNotifier.T":"FocusNode"},"_FocusState":{"State":["Focus"]},"FocusScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FocusScopeState":{"State":["Focus"]},"ExcludeFocus":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"TraversalDirection":{"Enum":[]},"FocusTraversalGroup":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_FocusTraversalGroupMarker":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"RequestFocusIntent":{"Intent":[]},"NextFocusIntent":{"Intent":[]},"PreviousFocusIntent":{"Intent":[]},"DirectionalFocusIntent":{"Intent":[]},"_FocusTraversalGroupState":{"State":["FocusTraversalGroup"]},"RequestFocusAction":{"Action":["RequestFocusIntent"],"Action.T":"RequestFocusIntent"},"NextFocusAction":{"Action":["NextFocusIntent"],"Action.T":"NextFocusIntent"},"PreviousFocusAction":{"Action":["PreviousFocusIntent"],"Action.T":"PreviousFocusIntent"},"DirectionalFocusAction":{"Action":["DirectionalFocusIntent"],"Action.T":"DirectionalFocusIntent"},"GlobalKey":{"Key":[]},"LabeledGlobalKey":{"GlobalKey":["1"],"Key":[]},"Widget":{"DiagnosticableTree":[]},"StatelessWidget":{"Widget":[],"DiagnosticableTree":[]},"StatefulWidget":{"Widget":[],"DiagnosticableTree":[]},"ProxyWidget":{"Widget":[],"DiagnosticableTree":[]},"RenderObjectWidget":{"Widget":[],"DiagnosticableTree":[]},"SingleChildRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"Element":{"DiagnosticableTree":[],"BuildContext":[]},"StatefulElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"InheritedElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"GlobalObjectKey":{"GlobalKey":["1"],"Key":[]},"_StateLifecycle":{"Enum":[]},"ParentDataWidget":{"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"InheritedWidget":{"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"LeafRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"MultiChildRenderObjectWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ElementLifecycle":{"Enum":[]},"_ElementDiagnosticableTreeNode":{"DiagnosticableNode":["DiagnosticableTree"],"DiagnosticsNode":[]},"ErrorWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"ComponentElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"StatelessElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"ProxyElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"ParentDataElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"RenderObjectElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"RootRenderObjectElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"LeafRenderObjectElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"SingleChildRenderObjectElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"MultiChildRenderObjectElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_NullElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_NullWidget2":{"Widget":[],"DiagnosticableTree":[]},"GestureDetector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawGestureDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawGestureDetectorState":{"State":["RawGestureDetector"]},"GestureRecognizerFactoryWithHandlers":{"GestureRecognizerFactory":["1"]},"_GestureSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"HeroFlightDirection":{"Enum":[]},"Hero":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_HeroState":{"State":["Hero"]},"HeroController":{"NavigatorObserver":[]},"Icon":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"IconTheme":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Image":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ImageState":{"State":["Image"],"WidgetsBindingObserver":[]},"BoxConstraintsTween":{"Tween":["BoxConstraints"],"Animatable":["BoxConstraints"],"Animatable.T":"BoxConstraints","Tween.T":"BoxConstraints"},"DecorationTween":{"Tween":["Decoration"],"Animatable":["Decoration"],"Animatable.T":"Decoration","Tween.T":"Decoration"},"EdgeInsetsGeometryTween":{"Tween":["EdgeInsetsGeometry"],"Animatable":["EdgeInsetsGeometry"],"Animatable.T":"EdgeInsetsGeometry","Tween.T":"EdgeInsetsGeometry"},"BorderRadiusTween":{"Tween":["BorderRadius?"],"Animatable":["BorderRadius?"],"Animatable.T":"BorderRadius?","Tween.T":"BorderRadius?"},"Matrix4Tween":{"Tween":["Matrix4"],"Animatable":["Matrix4"],"Animatable.T":"Matrix4","Tween.T":"Matrix4"},"TextStyleTween":{"Tween":["TextStyle"],"Animatable":["TextStyle"],"Animatable.T":"TextStyle","Tween.T":"TextStyle"},"AnimatedContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedPadding":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedOpacity":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedDefaultTextStyle":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedPhysicalModel":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImplicitlyAnimatedWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ImplicitlyAnimatedWidgetState":{"State":["1"]},"AnimatedWidgetBaseState":{"State":["1"]},"_AnimatedContainerState":{"State":["AnimatedContainer"]},"_AnimatedPaddingState":{"State":["AnimatedPadding"]},"_AnimatedOpacityState":{"State":["AnimatedOpacity"]},"_AnimatedDefaultTextStyleState":{"State":["AnimatedDefaultTextStyle"]},"_AnimatedPhysicalModelState":{"State":["AnimatedPhysicalModel"]},"InheritedModel":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"InheritedModelElement":{"InheritedElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"InheritedNotifier":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedNotifierElement":{"InheritedElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"InheritedTheme":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_CaptureAll":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"LayoutBuilder":{"ConstrainedLayoutBuilder":["BoxConstraints"],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[],"ConstrainedLayoutBuilder.0":"BoxConstraints"},"ConstrainedLayoutBuilder":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_LayoutBuilderElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_RenderLayoutBuilder":{"RenderConstrainedLayoutBuilder":["BoxConstraints","RenderBox"],"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"RenderConstrainedLayoutBuilder.0":"BoxConstraints"},"_LocalizationsScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Localizations":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_WidgetsLocalizationsDelegate":{"LocalizationsDelegate":["WidgetsLocalizations"],"LocalizationsDelegate.T":"WidgetsLocalizations"},"DefaultWidgetsLocalizations":{"WidgetsLocalizations":[]},"_LocalizationsState":{"State":["Localizations"]},"MediaQuery":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_MediaQueryFromWindow":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"Orientation":{"Enum":[]},"NavigationMode":{"Enum":[]},"_MediaQueryFromWindowState":{"State":["_MediaQueryFromWindow"],"WidgetsBindingObserver":[]},"_AnyTapGestureRecognizer":{"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"ModalBarrier":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedModalBarrier":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnyTapGestureRecognizerFactory":{"GestureRecognizerFactory":["_AnyTapGestureRecognizer"]},"_ModalBarrierGestureDetector":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"NavigationToolbar":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ToolbarSlot":{"Enum":[]},"RoutePopDisposition":{"Enum":[]},"Page":{"RouteSettings":[]},"HeroControllerScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Navigator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RouteEntry":{"RouteTransitionRecord":[]},"NavigatorState":{"State":["Navigator"]},"_RouteRestorationType":{"Enum":[]},"_RouteLifecycle":{"Enum":[]},"_NotAnnounced":{"Route":["~"]},"_NavigatorPushObservation":{"_NavigatorObservation":[]},"_NavigatorPopObservation":{"_NavigatorObservation":[]},"_NavigatorRemoveObservation":{"_NavigatorObservation":[]},"_NavigatorReplaceObservation":{"_NavigatorObservation":[]},"_HistoryProperty":{"RestorableProperty":["Map<String?,List<Object>>?"],"Listenable":[]},"NotificationListener":{"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NotificationElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_OverflowBarParentData":{"BoxParentData":[],"ContainerParentDataMixin":["RenderBox"],"ParentData":[]},"OverflowBarAlignment":{"Enum":[]},"OverflowBar":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderOverflowBar":{"RenderBoxContainerDefaultsMixin":["RenderBox","_OverflowBarParentData"],"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","_OverflowBarParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"_OverflowBarParentData","RenderBoxContainerDefaultsMixin.1":"_OverflowBarParentData","ContainerRenderObjectMixin.0":"RenderBox"},"OverlayEntry":{"Listenable":[]},"_OverlayEntryWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_OverlayEntryWidgetState":{"State":["_OverlayEntryWidget"]},"Overlay":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"OverlayState":{"State":["Overlay"]},"_Theatre":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TheatreElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_RenderTheatre":{"RenderBox":[],"ContainerRenderObjectMixin":["RenderBox","StackParentData"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[],"ContainerRenderObjectMixin.1":"StackParentData","ContainerRenderObjectMixin.0":"RenderBox"},"GlowingOverscrollIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"StretchingOverscrollIndicator":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_GlowingOverscrollIndicatorState":{"State":["GlowingOverscrollIndicator"]},"_GlowState":{"Enum":[]},"_GlowController":{"Listenable":[]},"_GlowingOverscrollIndicatorPainter":{"Listenable":[]},"_StretchingOverscrollIndicatorState":{"State":["StretchingOverscrollIndicator"]},"_StretchState":{"Enum":[]},"_StretchController":{"Listenable":[]},"OverscrollIndicatorNotification":{"ViewportNotificationMixin":[]},"PageStorageKey":{"ValueKey":["1"],"LocalKey":[],"Key":[],"ValueKey.T":"1"},"PageStorage":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PageView":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"PageController":{"ScrollController":[],"Listenable":[]},"PageMetrics":{"ScrollMetrics":[]},"_PagePosition":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[],"ScrollMetrics":[]},"_PageViewState":{"State":["PageView"]},"PageRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"]},"PerformanceOverlay":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_PlaceholderPainter":{"Listenable":[]},"Placeholder":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"PreferredSizeWidget":{"Widget":[],"DiagnosticableTree":[]},"PreferredSize":{"StatelessWidget":[],"PreferredSizeWidget":[],"Widget":[],"DiagnosticableTree":[]},"PrimaryScrollController":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"RawKeyboardListener":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RawKeyboardListenerState":{"State":["RawKeyboardListener"]},"RestorationScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"UnmanagedRestorationScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"RootRestorationScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"RestorableProperty":{"Listenable":[]},"_RestorationScopeState":{"State":["RestorationScope"]},"_RootRestorationScopeState":{"State":["RootRestorationScope"]},"RestorableValue":{"RestorableProperty":["1"],"Listenable":[]},"_RestorablePrimitiveValueN":{"RestorableProperty":["1"],"Listenable":[]},"_RestorablePrimitiveValue":{"_RestorablePrimitiveValueN":["1"],"RestorableProperty":["1"],"Listenable":[]},"RestorableNum":{"_RestorablePrimitiveValueN":["1"],"RestorableProperty":["1"],"Listenable":[],"RestorableValue.T":"1","_RestorablePrimitiveValueN.T":"1"},"RestorableBool":{"_RestorablePrimitiveValueN":["bool"],"RestorableProperty":["bool"],"Listenable":[],"RestorableValue.T":"bool","_RestorablePrimitiveValueN.T":"bool"},"RestorableListenable":{"RestorableProperty":["1"],"Listenable":[]},"RestorableChangeNotifier":{"RestorableProperty":["1"],"Listenable":[]},"RestorableTextEditingController":{"RestorableProperty":["TextEditingController"],"Listenable":[]},"Router":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RouterScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ChildBackButtonDispatcher":{"_CallbackHookProvider":["Future<bool>"]},"RouteInformationReportingType":{"Enum":[]},"_RouterState":{"State":["Router<1>"]},"BackButtonDispatcher":{"_CallbackHookProvider":["Future<bool>"]},"RootBackButtonDispatcher":{"_CallbackHookProvider":["Future<bool>"],"WidgetsBindingObserver":[],"_CallbackHookProvider.T":"Future<bool>"},"RouterDelegate":{"Listenable":[]},"RouteInformationProvider":{"ValueListenable":["RouteInformation"],"Listenable":[]},"PlatformRouteInformationProvider":{"ValueListenable":["RouteInformation"],"Listenable":[],"WidgetsBindingObserver":[]},"_RestorableRouteInformation":{"RestorableProperty":["RouteInformation?"],"Listenable":[],"RestorableValue.T":"RouteInformation?"},"_ModalScopeStatus":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ModalScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ModalScopeState":{"State":["_ModalScope<1>"]},"OverlayRoute":{"Route":["1"]},"TransitionRoute":{"Route":["1"]},"_DismissModalAction":{"Action":["DismissIntent"],"Action.T":"DismissIntent"},"ModalRoute":{"TransitionRoute":["1"],"Route":["1"]},"PopupRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"]},"RawDialogRoute":{"ModalRoute":["1"],"TransitionRoute":["1"],"Route":["1"]},"FocusTrap":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"FocusTrapArea":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderFocusTrapArea":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_RenderFocusTrap":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"SafeArea":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollAwareImageProvider":{"ImageProvider":["1"],"ImageProvider.T":"1"},"ScrollConfiguration":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"AndroidOverscrollIndicator":{"Enum":[]},"ScrollController":{"Listenable":[]},"FixedScrollMetrics":{"ScrollMetrics":[]},"ScrollNotification":{"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"ScrollUpdateNotification":{"ScrollNotification":[],"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"ScrollStartNotification":{"ScrollNotification":[],"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"OverscrollNotification":{"ScrollNotification":[],"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"ScrollEndNotification":{"ScrollNotification":[],"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"UserScrollNotification":{"ScrollNotification":[],"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"_ScrollNotificationObserverScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ListenerEntry":{"LinkedListEntry":["_ListenerEntry"],"LinkedListEntry.E":"_ListenerEntry"},"ScrollNotificationObserver":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollNotificationObserverState":{"State":["ScrollNotificationObserver"]},"_ConvertedScrollMetricsNotification":{"ScrollUpdateNotification":[],"ScrollNotification":[],"LayoutChangedNotification":[],"ViewportNotificationMixin":[]},"ScrollPosition":{"ViewportOffset":[],"Listenable":[],"ScrollMetrics":[]},"ScrollMetricsNotification":{"ViewportNotificationMixin":[]},"ScrollPositionAlignmentPolicy":{"Enum":[]},"ScrollPositionWithSingleContext":{"ScrollPosition":[],"ViewportOffset":[],"Listenable":[],"ScrollMetrics":[]},"ListView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollViewKeyboardDismissBehavior":{"Enum":[]},"ScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"BoxScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"Scrollable0":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScrollableScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ScrollableSelectionHandler":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScrollIntent":{"Intent":[]},"ScrollableState":{"State":["Scrollable0"]},"_ScrollableSelectionHandlerState":{"State":["_ScrollableSelectionHandler"]},"_ScrollableSelectionContainerDelegate":{"ValueListenable":["SelectionGeometry"],"Listenable":[]},"_ScrollSemantics":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderScrollSemantics":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"ScrollIncrementType":{"Enum":[]},"ScrollAction":{"Action":["ScrollIntent"],"Action.T":"ScrollIntent"},"_RestorableScrollOffset":{"RestorableProperty":["double?"],"Listenable":[],"RestorableValue.T":"double?"},"RawScrollbar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ThumbPressGestureRecognizer":{"LongPressGestureRecognizer":[],"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"_TrackTapGestureRecognizer":{"TapGestureRecognizer":[],"GestureRecognizer":[],"DiagnosticableTree":[],"GestureArenaMember":[]},"ScrollbarOrientation":{"Enum":[]},"ScrollbarPainter":{"Listenable":[]},"RawScrollbarState":{"State":["1"]},"MultiSelectableSelectionContainerDelegate":{"ValueListenable":["SelectionGeometry"],"Listenable":[]},"SelectionContainer":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SelectionRegistrarScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SelectionContainerState":{"Selectable":[],"State":["SelectionContainer"],"ValueListenable":["SelectionGeometry"],"Listenable":[]},"SelectionContainerDelegate":{"ValueListenable":["SelectionGeometry"],"Listenable":[]},"SharedAppData":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SharedAppDataState":{"State":["SharedAppData"]},"_SharedAppModel":{"InheritedModel":["Object"],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"InheritedModel.T":"Object"},"LogicalKeySet":{"KeySet":["LogicalKeyboardKey"],"ShortcutActivator":[],"KeySet.T":"LogicalKeyboardKey"},"SingleActivator":{"ShortcutActivator":[]},"Shortcuts":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ShortcutRegistrar":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ShortcutManager":{"Listenable":[]},"_ShortcutsState":{"State":["Shortcuts"]},"ShortcutRegistry":{"Listenable":[]},"_ShortcutRegistrarState":{"State":["ShortcutRegistrar"]},"_ShortcutRegistrarMarker":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SingleChildViewport":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SingleChildScrollView":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SingleChildViewportElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_RenderSingleChildViewport":{"RenderBox":[],"RenderObjectWithChildMixin":["RenderBox"],"RenderAbstractViewport":[],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"_SelectionKeepAlive":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SaltedValueKey":{"ValueKey":["Key"],"LocalKey":[],"Key":[],"ValueKey.T":"Key"},"_SelectionKeepAliveState":{"State":["_SelectionKeepAlive"]},"SliverWithKeepAliveWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverMultiBoxAdaptorWidget":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverList":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverFixedExtentList":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"SliverMultiBoxAdaptorElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"KeepAlive":{"ParentDataWidget":["KeepAliveParentDataMixin"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"KeepAliveParentDataMixin"},"SliverFillViewport":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SliverFillViewportRenderObjectWidget":{"SliverMultiBoxAdaptorWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SliverFractionalPadding":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_RenderSliverFractionalPadding":{"RenderSliver":[],"RenderObjectWithChildMixin":["RenderSliver"],"RenderObject":[],"DiagnosticableTree":[],"AbstractNode":[],"HitTestTarget":[]},"SlottedRenderObjectElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"Spacer":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"StatusTransitionWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_StatusTransitionState":{"State":["StatusTransitionWidget"]},"Table":{"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TableElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"TableCell":{"ParentDataWidget":["TableCellParentData"],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[],"ParentDataWidget.T":"TableCellParentData"},"DefaultTextStyle":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"DefaultTextHeightBehavior":{"InheritedTheme":[],"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Text":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NullWidget3":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"DoNothingAndStopPropagationTextIntent":{"Intent":[]},"DirectionalTextEditingIntent":{"Intent":[]},"DeleteCharacterIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"DeleteToNextWordBoundaryIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"DeleteToLineBreakIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExtendSelectionByCharacterIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExtendSelectionToNextWordBoundaryIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExtendSelectionToNextWordBoundaryOrCaretLocationIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExpandSelectionToDocumentBoundaryIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExpandSelectionToLineBreakIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExtendSelectionToLineBreakIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExtendSelectionVerticallyToAdjacentLineIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ExtendSelectionToDocumentBoundaryIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"ScrollToDocumentBoundaryIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"SelectAllTextIntent":{"Intent":[]},"CopySelectionTextIntent":{"Intent":[]},"PasteTextIntent":{"Intent":[]},"RedoTextIntent":{"Intent":[]},"ReplaceTextIntent":{"Intent":[]},"UndoTextIntent":{"Intent":[]},"UpdateSelectionIntent":{"Intent":[]},"TransposeCharactersIntent":{"Intent":[]},"DirectionalCaretMovementIntent":{"DirectionalTextEditingIntent":[],"Intent":[]},"_SelectionHandleOverlay":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TextSelectionGestureDetector":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_SelectionHandleOverlayState":{"State":["_SelectionHandleOverlay"]},"_TextSelectionGestureDetectorState":{"State":["TextSelectionGestureDetector"]},"TickerMode":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_EffectiveTickerMode":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TickerModeState":{"State":["TickerMode"]},"Title":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"FadeTransition":{"SingleChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AnimatedState":{"State":["AnimatedWidget"]},"SlideTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ScaleTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"RotationTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"SizeTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DecoratedBoxTransition":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"AnimatedBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TweenAnimationBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_TweenAnimationBuilderState":{"State":["TweenAnimationBuilder<1>"]},"ValueListenableBuilder":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ValueListenableBuilderState":{"State":["ValueListenableBuilder<1>"]},"Viewport":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ViewportElement":{"RenderObjectElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"ShrinkWrappingViewport":{"MultiChildRenderObjectWidget":[],"RenderObjectWidget":[],"Widget":[],"DiagnosticableTree":[]},"WidgetSpan":{"PlaceholderSpan0":[],"InlineSpan":[],"DiagnosticableTree":[]},"MarkdownStyleSheetBaseTheme":{"Enum":[]},"MarkdownWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"MarkdownListItemCrossAxisAlignment":{"Enum":[]},"_MarkdownWidgetState":{"State":["MarkdownWidget"]},"Markdown":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"TaskListSyntax":{"InlineSyntax":[]},"ChangeNotifierProvider":{"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[],"ProviderBase.0":"1"},"_NotifierProvider":{"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[],"ProviderBase.0":"1"},"_NotifierProviderElement":{"ProviderElementBase":["1"],"ChangeNotifierProviderRef":["1"],"ProviderElementBase.0":"1"},"ConsumerWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"_ConsumerState":{"State":["ConsumerWidget"]},"ConsumerStatefulWidget":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"ConsumerState":{"State":["1"]},"ConsumerStatefulElement":{"StatefulElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[],"WidgetRef":[]},"ProviderScope":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"UncontrolledProviderScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProviderScopeState":{"State":["ProviderScope"]},"_UncontrolledProviderScopeElement":{"InheritedElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"BaseClient":{"Client0":[]},"BrowserClient":{"Client0":[]},"ByteStream":{"StreamView":["List<int>"],"Stream":["List<int>"],"Stream.T":"List<int>"},"ClientException":{"Exception":[]},"CaseInsensitiveMap":{"CanonicalizedMap":["String","String","1"],"Map":["String","1"],"CanonicalizedMap.V":"1","CanonicalizedMap.K":"String","CanonicalizedMap.C":"String"},"BitmapCompression":{"Enum":[]},"InternalGifImageDesc":{"GifImageDesc":[]},"InternalPngFrame":{"PngFrame":[]},"PsdBevelEffect":{"PsdEffect":[]},"PsdDropShadowEffect":{"PsdEffect":[]},"PsdInnerGlowEffect":{"PsdEffect":[]},"PsdInnerShadowEffect":{"PsdEffect":[]},"PsdOuterGlowEffect":{"PsdEffect":[]},"PsdSolidFillEffect":{"PsdEffect":[]},"PsdLayerAdditionalData":{"PsdLayerData":[]},"PsdLayerSectionDivider":{"PsdLayerData":[]},"InternalWebPFrame":{"WebPFrame":[]},"Format":{"Enum":[]},"Channels":{"Enum":[]},"ImageException":{"Exception":[]},"_DateFormatLiteralField":{"_DateFormatField":[]},"_DateFormatQuotedField":{"_DateFormatField":[]},"_DateFormatPatternField":{"_DateFormatField":[]},"LocaleDataException":{"Exception":[]},"Level":{"Comparable":["Level"]},"Element0":{"Node1":[]},"Text0":{"Node1":[]},"UnparsedContent":{"Node1":[]},"EmptyBlockSyntax":{"BlockSyntax":[]},"SetextHeaderSyntax":{"BlockSyntax":[]},"HeaderSyntax":{"BlockSyntax":[]},"BlockquoteSyntax":{"BlockSyntax":[]},"CodeBlockSyntax":{"BlockSyntax":[]},"FencedCodeBlockSyntax":{"BlockSyntax":[]},"HorizontalRuleSyntax":{"BlockSyntax":[]},"BlockHtmlSyntax":{"BlockSyntax":[]},"BlockTagBlockHtmlSyntax":{"BlockSyntax":[]},"OtherTagBlockHtmlSyntax":{"BlockSyntax":[]},"LongBlockHtmlSyntax":{"BlockSyntax":[]},"ListSyntax":{"BlockSyntax":[]},"UnorderedListSyntax":{"BlockSyntax":[]},"OrderedListSyntax":{"BlockSyntax":[]},"TableSyntax":{"BlockSyntax":[]},"ParagraphSyntax":{"BlockSyntax":[]},"LineBreakSyntax":{"InlineSyntax":[]},"TextSyntax":{"InlineSyntax":[]},"EscapeSyntax":{"InlineSyntax":[]},"InlineHtmlSyntax":{"InlineSyntax":[]},"EmailAutolinkSyntax":{"InlineSyntax":[]},"AutolinkSyntax":{"InlineSyntax":[]},"AutolinkExtensionSyntax":{"InlineSyntax":[]},"SimpleDelimiter":{"Delimiter":[]},"DelimiterRun":{"Delimiter":[]},"TagSyntax":{"InlineSyntax":[]},"StrikethroughSyntax":{"InlineSyntax":[]},"LinkSyntax":{"InlineSyntax":[]},"ImageSyntax":{"InlineSyntax":[]},"CodeSyntax":{"InlineSyntax":[]},"_NestedHookElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"Nested":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_NestedElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_NestedHook":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SingleChildStatelessWidget":{"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"SingleChildStatelessElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"_InheritedProviderScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"Provider":{"InheritedProvider":["1"],"SingleChildStatelessWidget":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"InheritedProvider":{"SingleChildStatelessWidget":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"_InheritedProviderElement":{"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_InheritedProviderScopeElement":{"InheritedElement":[],"Element":[],"DiagnosticableTree":[],"BuildContext":[]},"_CreateInheritedProviderState":{"_DelegateState":["1","_CreateInheritedProvider<1>"],"_DelegateState.D":"_CreateInheritedProvider<1>"},"_ValueInheritedProviderState":{"_DelegateState":["1","_ValueInheritedProvider<1>"],"_DelegateState.D":"_ValueInheritedProvider<1>"},"MultiProvider":{"Nested":[],"StatelessWidget":[],"Widget":[],"DiagnosticableTree":[]},"ProviderNullException":{"Exception":[]},"ProviderNotFoundException":{"Exception":[]},"AsyncValueAsFutureProvider":{"ProviderBase":["Future<1>"],"ProviderOrFamily":[],"ProviderListenable":["Future<1>"],"Override":[],"ProviderBase.0":"Future<1>"},"AutoDisposeAsyncValueAsFutureProvider":{"AutoDisposeProviderBase":["Future<1>"],"ProviderBase":["Future<1>"],"ProviderOrFamily":[],"ProviderListenable":["Future<1>"],"Override":[],"ProviderBase.0":"Future<1>"},"AsyncData":{"AsyncValue":["1"]},"AsyncLoading":{"AsyncValue":["1"]},"AsyncError0":{"AsyncValue":["1"]},"AutoDisposeProviderBase":{"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[]},"AutoDisposeProviderElementBase":{"ProviderElementBase":["1"]},"Family":{"ProviderOrFamily":[],"Override":[]},"ProviderBase":{"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[]},"_ProviderSubscription":{"ProviderSubscription":["1"]},"_ProviderListener":{"ProviderSubscription":["1"]},"AlwaysAliveProviderBase":{"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[]},"CircularDependencyError":{"Error0":[]},"AutoDisposeFutureProvider":{"AutoDisposeProviderBase":["AsyncValue<1>"],"ProviderBase":["AsyncValue<1>"],"ProviderOrFamily":[],"ProviderListenable":["AsyncValue<1>"],"Override":[],"ProviderBase.0":"AsyncValue<1>"},"FutureProvider":{"ProviderBase":["AsyncValue<1>"],"ProviderOrFamily":[],"ProviderListenable":["AsyncValue<1>"],"Override":[],"ProviderBase.0":"AsyncValue<1>"},"AutoDisposeFutureProviderElement":{"AutoDisposeProviderElementBase":["AsyncValue<1>"],"_FutureProviderElementMixin":["1"],"AutoDisposeFutureProviderRef":["1"],"ProviderElementBase":["AsyncValue<1>"],"ProviderElementBase.0":"AsyncValue<1>","AutoDisposeProviderElementBase.0":"AsyncValue<1>"},"AutoDisposeFutureProviderFamily":{"Family":["AsyncValue<1>","2","AutoDisposeFutureProvider<1>"],"ProviderOrFamily":[],"Override":[]},"FutureProviderElement":{"_FutureProviderElementMixin":["1"],"ProviderElementBase":["AsyncValue<1>"],"FutureProviderRef":["1"],"ProviderElementBase.0":"AsyncValue<1>"},"FutureProviderFamily":{"Family":["AsyncValue<1>","2","FutureProvider<1>"],"ProviderOrFamily":[],"Override":[]},"AutoDisposeProviderRef":{"ProviderRef":["1"]},"AutoDisposeProvider":{"AutoDisposeProviderBase":["1"],"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[],"ProviderBase.0":"1"},"AutoDisposeProviderElement":{"AutoDisposeProviderElementBase":["1"],"AutoDisposeProviderRef":["1"],"ProviderElementBase":["1"],"ProviderRef":["1"],"ProviderElementBase.0":"1","AutoDisposeProviderElementBase.0":"1"},"AutoDisposeProviderFamily":{"Family":["1","2","AutoDisposeProvider<1>"],"ProviderOrFamily":[],"Override":[]},"ProviderElement":{"ProviderElementBase":["1"],"ProviderRef":["1"],"ProviderElementBase.0":"1"},"Provider0":{"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[]},"AutoDisposeStateNotifierProvider":{"AutoDisposeProviderBase":["2"],"ProviderBase":["2"],"ProviderOrFamily":[],"ProviderListenable":["2"],"Override":[],"ProviderBase.0":"2"},"_AutoDisposeNotifierProvider":{"AutoDisposeProviderBase":["1"],"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[],"ProviderBase.0":"1"},"_AutoDisposeNotifierProviderElement":{"AutoDisposeProviderElementBase":["1"],"AutoDisposeStateNotifierProviderRef":["1","2"],"ProviderElementBase":["1"],"ProviderElementBase.0":"1","AutoDisposeProviderElementBase.0":"1"},"StateController":{"StateNotifier":["1"]},"StateProvider":{"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[],"ProviderBase.0":"1"},"StateProviderElement":{"ProviderElementBase":["1"],"ProviderElementBase.0":"1"},"_NotifierStateProvider":{"Provider0":["1"],"ProviderBase":["1"],"ProviderOrFamily":[],"ProviderListenable":["1"],"Override":[],"ProviderBase.0":"1"},"_NotifierProvider0":{"ProviderBase":["StateController<1>"],"ProviderOrFamily":[],"ProviderListenable":["StateController<1>"],"Override":[],"ProviderBase.0":"StateController<1>"},"_NotifierStateProviderElement":{"ProviderElementBase":["StateController<1>"],"StateProviderRef":["1"],"ProviderElementBase.0":"StateController<1>"},"StateProviderFamily":{"Family":["1","2","StateProvider<1>"],"ProviderOrFamily":[],"Override":[]},"AutoDisposeStreamProvider":{"AutoDisposeProviderBase":["AsyncValue<1>"],"ProviderBase":["AsyncValue<1>"],"ProviderOrFamily":[],"ProviderListenable":["AsyncValue<1>"],"Override":[],"ProviderBase.0":"AsyncValue<1>"},"AutoDisposeStreamProviderElement":{"AutoDisposeProviderElementBase":["AsyncValue<1>"],"_StreamProviderElementMixin":["1"],"AutoDisposeStreamProviderRef":["1"],"ProviderElementBase":["AsyncValue<1>"],"ProviderElementBase.0":"AsyncValue<1>","AutoDisposeProviderElementBase.0":"AsyncValue<1>"},"AutoDisposeStreamProviderFamily":{"Family":["AsyncValue<1>","2","AutoDisposeStreamProvider<1>"],"ProviderOrFamily":[],"Override":[]},"StreamProvider":{"ProviderBase":["AsyncValue<1>"],"ProviderOrFamily":[],"ProviderListenable":["AsyncValue<1>"],"Override":[],"ProviderBase.0":"AsyncValue<1>"},"StreamProviderElement":{"_StreamProviderElementMixin":["1"],"ProviderElementBase":["AsyncValue<1>"],"StreamProviderRef":["1"],"ProviderElementBase.0":"AsyncValue<1>"},"FileLocation":{"SourceLocation0":[],"Comparable":["SourceLocation0"]},"_FileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation0":{"Comparable":["SourceLocation0"]},"SourceLocationMixin":{"SourceLocation0":[],"Comparable":["SourceLocation0"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SseClient":{"StreamChannelMixin":["String?"],"StreamChannelMixin.T":"String?"},"Chain":{"StackTrace":[]},"LazyChain":{"Chain":[],"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"_ListenerEntry0":{"LinkedListEntry":["_ListenerEntry0<1>"],"LinkedListEntry.E":"_ListenerEntry0<1>"},"StateNotifierListenerError":{"Error0":[]},"GuaranteeChannel":{"StreamChannelMixin":["1"],"StreamChannelMixin.T":"1"},"_StreamChannel":{"StreamChannelMixin":["1"],"StreamChannelMixin.T":"1"},"StringScannerException":{"FormatException":[],"Exception":[]},"LaunchMode":{"Enum":[]},"PreferredLaunchMode":{"Enum":[]},"SocketProfile":{"Response":[]},"HttpTimelineLoggingState":{"Response":[]},"HttpProfile":{"Response":[]},"SocketProfilingState":{"Response":[]},"SpawnedProcess":{"Response":[],"SpawnedProcessRef":[]},"SpawnedProcessList":{"Response":[]},"OpenFile":{"Response":[],"OpenFileRef":[]},"OpenFileList":{"Response":[]},"_State":{"Response":[]},"HttpProfileRequestError":{"Error0":[]},"RPCError":{"Exception":[]},"AllocationProfile":{"Response":[]},"BoundVariable":{"Response":[]},"Breakpoint":{"Obj":[],"ObjRef":[],"Response":[]},"ClassRef":{"ObjRef":[],"Response":[]},"Class":{"Obj":[],"ClassRef":[],"ObjRef":[],"Response":[]},"ClassHeapStats":{"Response":[]},"ClassList":{"Response":[]},"CodeRef":{"ObjRef":[],"Response":[]},"Code":{"Obj":[],"CodeRef":[],"ObjRef":[],"Response":[]},"ContextRef":{"ObjRef":[],"Response":[]},"Context0":{"Obj":[],"ContextRef":[],"ObjRef":[],"Response":[]},"CpuSamples":{"Response":[]},"ErrorRef":{"ObjRef":[],"Response":[]},"Error":{"Obj":[],"ErrorRef":[],"ObjRef":[],"Response":[]},"Event":{"Response":[]},"FieldRef":{"ObjRef":[],"Response":[]},"Field":{"Obj":[],"FieldRef":[],"ObjRef":[],"Response":[]},"FlagList":{"Response":[]},"Frame1":{"Response":[]},"FuncRef":{"ObjRef":[],"Response":[]},"Func":{"Obj":[],"FuncRef":[],"ObjRef":[],"Response":[]},"InstanceRef":{"ObjRef":[],"Response":[]},"Instance":{"Obj":[],"InstanceRef":[],"ObjRef":[],"Response":[]},"IsolateRef":{"Response":[]},"Isolate":{"IsolateRef":[],"Response":[]},"IsolateGroupRef":{"Response":[]},"IsolateGroup":{"IsolateGroupRef":[],"Response":[]},"InboundReferences":{"Response":[]},"InstanceSet":{"Response":[]},"LibraryRef":{"ObjRef":[],"Response":[]},"Library":{"Obj":[],"LibraryRef":[],"ObjRef":[],"Response":[]},"LogRecord":{"Response":[]},"MemoryUsage":{"Response":[]},"Message":{"Response":[]},"NullValRef":{"InstanceRef":[],"ObjRef":[],"Response":[]},"NullVal":{"Instance":[],"NullValRef":[],"Obj":[],"InstanceRef":[],"ObjRef":[],"Response":[]},"ObjRef":{"Response":[]},"Obj":{"ObjRef":[],"Response":[]},"PortList":{"Response":[]},"ProtocolList":{"Response":[]},"ProcessMemoryUsage":{"Response":[]},"ReloadReport":{"Response":[]},"RetainingPath":{"Response":[]},"Sentinel":{"Response":[]},"ScriptRef":{"ObjRef":[],"Response":[]},"Script":{"Obj":[],"ScriptRef":[],"ObjRef":[],"Response":[]},"ScriptList":{"Response":[]},"SourceLocation":{"Response":[]},"SourceReport":{"Response":[]},"Stack0":{"Response":[]},"Success":{"Response":[]},"Timeline":{"Response":[]},"TimelineFlags":{"Response":[]},"Timestamp":{"Response":[]},"TypeArgumentsRef":{"ObjRef":[],"Response":[]},"TypeArguments":{"Obj":[],"TypeArgumentsRef":[],"ObjRef":[],"Response":[]},"UnresolvedSourceLocation":{"Response":[]},"UriList":{"Response":[]},"Version":{"Response":[]},"VMRef":{"Response":[]},"VM":{"VMRef":[],"Response":[]},"SentinelException":{"Exception":[]},"NodeType":{"Enum":[]},"TreemapFormat":{"Enum":[]},"HtmlWebSocketChannel":{"StreamChannelMixin":["@"],"StreamChannelMixin.T":"@"},"WebSocketChannel":{"StreamChannelMixin":["@"],"StreamChannelMixin.T":"@"},"WebSocketChannelException":{"Exception":[]},"CupertinoUserInterfaceLevel":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"MaterialBannerClosedReason":{"Enum":[]},"MaterialBanner":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DrawerController":{"StatefulWidget":[],"Widget":[],"DiagnosticableTree":[]},"DrawerControllerState":{"State":["DrawerController"]},"_TooltipVisibilityScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]},"_AutofillScope":{"InheritedWidget":[],"ProxyWidget":[],"Widget":[],"DiagnosticableTree":[]}}'));
  A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"FixedLengthListMixin":1,"UnmodifiableListMixin":1,"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_SyncStreamControllerDispatch":1,"_DelayedEvent":1,"_PendingEvents":1,"IterableBase":1,"ListBase":1,"MapBase":2,"UnmodifiableMapBase":2,"_UnmodifiableSetMixin":1,"_SplayTreeNode":2,"_SplayTree":2,"_ListBase_Object_ListMixin":1,"_SplayTreeMap__SplayTree_MapMixin":2,"_SplayTreeSet__SplayTree_IterableMixin":1,"_SplayTreeSet__SplayTree_IterableMixin_SetMixin":1,"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":2,"__SetBase_Object_SetMixin":1,"__UnmodifiableSet__SetBase__UnmodifiableSetMixin":1,"ChunkedConversionSink":1,"Comparable":1,"BidirectionalIterator":1,"Iterator":1,"_JsArray_JsObject_ListMixin":1,"DelegatingStreamSink":1,"DelegatingStreamSubscription":1,"_EventRequest":1,"_QueueList_Object_ListMixin":1,"FlameChartDataMixin":1,"FlameChart":2,"_FlameChartState_State_AutoDisposeMixin":2,"_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin":2,"_FlameChartState_State_AutoDisposeMixin_FlameChartColorMixin_TickerProviderStateMixin":2,"_ScrollingFlameChartRowState_State_AutoDisposeMixin":1,"AutoDisposeMixin":1,"BlockingActionMixin":1,"EnumIndexOrdering":1,"DevToolsFile":1,"_ImmutableList_Object_ListMixin":1,"_LayoutExplorerWidgetState_State_TickerProviderStateMixin":2,"_$Result":1,"_Result_Object__$Result":1,"__$_ResultData__ResultData_DiagnosticableTreeMixin":1,"__$_ResultError__ResultError_DiagnosticableTreeMixin":1,"_ServiceExtensionMixin":1,"CollapsibleAnimationMixin":1,"__DualValueListenableBuilderState_State_AutoDisposeMixin":2,"OfflineScreenMixin":2,"_TreeTableState_State_TickerProviderStateMixin":1,"_TreeTableState_State_TickerProviderStateMixin_TreeMixin":1,"_TreeTableState_State_TickerProviderStateMixin_TreeMixin_AutoDisposeMixin":1,"__TableRowState_State_TickerProviderStateMixin":1,"__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin":1,"__TableRowState_State_TickerProviderStateMixin_CollapsibleAnimationMixin_AutoDisposeMixin_SearchableMixin":1,"__TableState_State_AutoDisposeMixin":1,"__TreeViewItemState_State_TickerProviderStateMixin":1,"__TreeViewState_State_TreeMixin":1,"__TreeViewState_State_TreeMixin_AutoDisposeMixin":1,"__FilterDialogState_State_AutoDisposeMixin":1,"SearchFieldMixin":1,"TreeDataSearchStateMixin":1,"AnimationWithParentMixin":1,"CompoundAnimation":1,"_CompoundAnimation_Animation_AnimationLazyListenerMixin":1,"_CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin":1,"_CompoundAnimation_Animation_AnimationLazyListenerMixin_AnimationLocalListenersMixin_AnimationLocalStatusListenersMixin":1,"ParametricCurve":1,"__AnimatedEvaluation_Animation_AnimationWithParentMixin":1,"__DropdownButtonState_State_WidgetsBindingObserver":1,"MaterialStateMixin":1,"__PageBasedMaterialPageRoute_PageRoute_MaterialRouteTransitionMixin":1,"__RadioState_State_TickerProviderStateMixin":1,"__RadioState_State_TickerProviderStateMixin_ToggleableStateMixin":1,"ToggleableStateMixin":1,"ContainerBoxParentData":1,"_ContainerBoxParentData_BoxParentData_ContainerParentDataMixin":1,"ContainerParentDataMixin":1,"RenderProxyBoxMixin":1,"RenderAnimatedOpacityMixin":1,"CustomClipper":1,"_RenderCustomClip":1,"_RenderPhysicalModelBase":1,"RenderViewportBase":1,"AutomaticKeepAliveClientMixin":1,"ImplicitlyAnimatedWidgetState":1,"AnimatedWidgetBaseState":1,"_ImplicitlyAnimatedWidgetState_State_SingleTickerProviderStateMixin":1,"Page":1,"TransitionDelegate":1,"PageRoute":1,"RestorableProperty":1,"RestorationMixin":1,"RestorableValue":1,"_RestorablePrimitiveValue":1,"RestorableListenable":1,"RestorableChangeNotifier":1,"RouteInformationParser":1,"RouterDelegate":1,"PopNavigatorRouterDelegateMixin":1,"__RouterState_State_RestorationMixin":1,"OverlayRoute":1,"LocalHistoryRoute":1,"PopupRoute":1,"RawDialogRoute":1,"_ModalRoute_TransitionRoute_LocalHistoryRoute":1,"_RawScrollbarState_State_TickerProviderStateMixin":1,"SingleTickerProviderStateMixin":1,"TickerProviderStateMixin":1,"ChangeNotifierProviderRef":1,"ChangeNotifierProviderOverrideMixin":1,"_ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin":1,"_ChangeNotifierProvider_AlwaysAliveProviderBase_ChangeNotifierProviderOverrideMixin_OverrideWithProviderMixin":1,"ConsumerState":1,"_Delegate":1,"AutoDisposeProviderBase":1,"ProviderListenable":1,"ProviderSubscription":1,"AlwaysAliveProviderListenable":1,"AlwaysAliveProviderBase":1,"OverrideWithValueMixin":1,"OverrideWithProviderMixin":2,"_AlwaysAliveProviderBase_ProviderBase_AlwaysAliveProviderListenable":1,"_ProviderBase_ProviderOrFamily_ProviderListenable":1,"AutoDisposeFutureProviderRef":1,"FutureProviderRef":1,"_AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin":1,"_AutoDisposeFutureProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin":1,"_AutoDisposeFutureProviderElement_AutoDisposeProviderElementBase__FutureProviderElementMixin":1,"_FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin":1,"_FutureProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin":1,"_FutureProviderElement_ProviderElementBase__FutureProviderElementMixin":1,"AutoDisposeProviderRef":1,"ProviderRef":1,"_AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin":1,"_AutoDisposeProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin":1,"_Provider_AlwaysAliveProviderBase_OverrideWithValueMixin":1,"_Provider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin":1,"AutoDisposeStateNotifierProviderRef":2,"StateNotifierProviderOverrideMixin":2,"_AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin":2,"_AutoDisposeStateNotifierProvider_AutoDisposeProviderBase_StateNotifierProviderOverrideMixin_OverrideWithProviderMixin":2,"StateProviderRef":1,"StateProviderOverrideMixin":1,"_StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin":1,"_StateProvider_AlwaysAliveProviderBase_StateProviderOverrideMixin_OverrideWithProviderMixin":1,"AutoDisposeStreamProviderRef":1,"StreamProviderRef":1,"_AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin":1,"_AutoDisposeStreamProvider_AutoDisposeProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin":1,"_AutoDisposeStreamProviderElement_AutoDisposeProviderElementBase__StreamProviderElementMixin":1,"_StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin":1,"_StreamProvider_AlwaysAliveProviderBase_OverrideWithValueMixin_OverrideWithProviderMixin":1,"_StreamProviderElement_ProviderElementBase__StreamProviderElementMixin":1}'));
  var string$ = {
    x10__0__: "\x10@\x100@@\xa0\x80 0P`pPP\xb1\x10@\x100@@\xa0\x80 0P`pPP\xb0\x11@\x100@@\xa0\x80 0P`pPP\xb0\x10@\x100@@\xa0\x80 1P`pPP\xb0\x10A\x101AA\xa1\x81 1QaqQQ\xb0\x10@\x100@@\xa0\x80 1Q`pPP\xb0\x10@\x100@@\xa0\x80 1QapQP\xb0\x10@\x100@@\xa0\x80 1PaqQQ\xb0\x10\xe0\x100@@\xa0\x80 1P`pPP\xb0\xb1\xb1\xb1\xb1\x91\xb1\xc1\x81\xb1\xb1\xb1\xb1\xb1\xb1\xb1\xb1\x10@\x100@@\xd0\x80 1P`pPP\xb0\x11A\x111AA\xa1\x81!1QaqQQ\xb1\x10@\x100@@\x90\x80 1P`pPP\xb0",
    x200_000: " 0\x10000\xa0\x80\x10@P`p`p\xb1 0\x10000\xa0\x80\x10@P`p`p\xb0 0\x10000\xa0\x80\x11@P`p`p\xb0 1\x10011\xa0\x80\x10@P`p`p\xb0 1\x10111\xa1\x81\x10AQaqaq\xb0 1\x10011\xa0\x80\x10@Qapaq\xb0 1\x10011\xa0\x80\x10@Paq`p\xb0 1\x10011\xa0\x80\x10@P`q`p\xb0 \x91\x100\x811\xa0\x80\x10@P`p`p\xb0 1\x10011\xa0\x81\x10@P`p`p\xb0 1\x100111\x80\x10@P`p`p\xb0!1\x11111\xa1\x81\x11AQaqaq\xb1",
    x20must_: " must not be greater than the number of characters in the file, ",
    x22_____: '""""""""""""""""DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""3333s3#7333333339433333333333333CDDDDDDDDDDDDDDDDDDDDDDC433DDDDD4DDDDDDDDDDDDDDDDDD3CU33333333333333333333333333334T5333333333333333333333333333CCD3D33CD533333333333333333333333TEDTET53U5UE3333C33333333333333333333333333333CETUTDT5333333333333333333333333SUUUUUEUDDDDD43333433333333333333333333ET533E3333SDD3U3U4333343333C4333333333333CSD33343333333433333333333333333SUUUEDDDTE4333SDDSUSU\x94333343333C43333333333333333s333333333337333333333333wwwww73sw33sww7swwwwwss33373733s33333w33333\xa3\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xba\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xcb\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xec\xee\xde\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xde\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xde\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee\xee>33333\xb3\xbb\xbb\xbb\xbb\xbb\xbb\xbb;3\xc3\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc334343C33333333333SET333333333333333EDTETD433333333CD33333333333333CD33333CDD4333333333333333333333333CDTDDDCTE43C4CD3C333333333333333D3C33333\x99\x99\x9933333DDDDD42333333333333333333CDDD4333333333333333333333333DDDD433334333C53333333333333333333333C33TEDCSUUU433333333S533333333333333333333333333333CD4DDDDD3D5333333333333333333333333333CSEUCUSE4333D33333C43333333333333CDDD9DDD3DCD433333333CDCDDDDDDEDDD33433C3E433#""""\x82" """"""""2333333333333333CDUUDU53SEUUUD43SDD3U3U4333C43333C43333333333333SE43CD33333333DD33333CDDDDDDDDDD3333333343333333B!233333333333#"""333333s3CD533333333333333333333333333CESEU3333333333333333333DDDD433333CD2333333333333333333333333""""23333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDD33333333333333333333333333333CDDD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333SUDDDDUDT43333333333343333333333333333333333333333333333333333TEDDTTEETD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CUDD3UUDE43333333333333D33333333333333333333333333333333333333333UEDDDTEE43333333333333333333333333333333333333333333333333333CEUDDDE33333333333333333333333333333333333333333333333333CDUDDEDD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333D#"2333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CSUUUUUUUUUUUUUUUUUUUUUUUUUUU333CD4333333333333333333333333333333333333333333333333333333""""""33EDDCTSE3333333333D33333333333DDDDDDD\x94DDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDD3DDD4DCDD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDD33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CD4333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDDDD333333333333333333333333333333333333333333333333333333333333333333333333333333333333333s73333s33333333333""""""""3333333373s333333333333333333333333333333CTDDDTU5D4DD333C433333D33333333333333DU433333333333333333333DDDUDUD3333S3333333333333333334333333333333s733333s33333333333CD4DDDD4D4DD4333333333sww73333333w3333333333sw3333s33333337333333sw333333333s733333333333333333UTEUS433333333C433333333333333C433333333333334443SUE4333333333333CDDDDDDDD4333333DDDDDT533333\xa3\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa3SDDDDUUT5DDD43333C43333333333333333C33333333333EEDDDCC3DDDDUUUDDDDD3T5333333333333333333333333333CSDDD433E533333333333333333333333333DDDDDDD4333333333333333333333333333CD53333333333333333333333UEDTE4\x933333333\x933333333333333333333333333D433333333333333333CDDEDDD43333333S5333333333333333333333C333333D533333333333333333333333SUDDDDT5\x9933CD433333333333333333333333333333333333333333333333UEDUTD33343333333333333333333333333333333333333333333333333333333333333333333333333333333CUEDDD43333333333DU333333333333333333333333333C4TTU5S5SU3333C33333U3DDD43DD4333333333333333333333333333333333333333333333333333333333333333333333DDDDDDD533333333333333333333333DDDTTU43333333333333333333333333333DDD733333s373ss33w7733333ww733333333333ss33333333333333333333333333333ww3333333333333333333333333333wwww33333www33333333333333333333wwww333333333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww333333wwwwwwwwwwwwwwwwwwwwwww7wwwwwswwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww733333333333333333333333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333333333333333333333333333333333333333333333333333333333swwwww7333333333333333333333333333333333333333333wwwwwwwwwwwwwwwwwwwww7wwwwwwswwwwwwwwwwwwwwwwwwwww73333swwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww7333333w7333333333333333733333333333333333333333333333sww733333s7333333s3wwwww333333333wwwwwwwwwwwwwwwwwwwwwwwwwwwwgffffffffffff6wwwwwww73333s33333333337swwwwsw73333wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwDDDDDDDDDDDDDDDDDDDDDDDD33333333DDDDDDDD33333333DDDDDDDDDDDDDDDD43333333DC44333333333333333333333333333SUDDDDTD33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333UED4CTUE3S33333333333333DDDDD33333333333333333333DDD\x95DD333343333DDDUD43333333333333333333\x93\x99\x99IDDDDDDE4333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDDDDDDDDDDDDDDDDDDDDDDDDDD33DDDDDDDDDDDDDDDDDDDDDDDDD33334333333C33333333333DD4DDDDDDD43333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333TD43EDD""""DDDD3DDD433333333333333CD43333333333333333333333333333333333333333333333333333333333333333333333333CD33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333C33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333433333333333333333333333333333333333333333333333333333333333333333333333333DD4333333333333333333333333333333333333333333333333333333333333333333EDDDCDDT43333333333333333333333333333333333333333CDDDDDDDDDD4EDDDETD3333333333333333333333333333333333333333333333333333333333333DDD3CC4DDD\x94433333333333333333333333333333333SUUC4UT433333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333DU333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDDD333333333333333333333333333333333333333333333333333333CDDD3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333CDC433DD33333333333333333333D43C3333333333333333333333333333333333333333333333333333333333333333333333333333333333C4333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333334EDDDD3\x03',
    x3000000: "00000008A0009!B000a!C000b000cD000d!E000e000vA000w!F000x!G000y!H000z!I0010!J0011!K0012!I0013!H0014!L0015!M0016!I0017!J0018!N0019!O001a!N001b!P001c001lQ001m001nN001o001qI001r!G001s002iI002j!L002k!J002l!M002m003eI003f!L003g!B003h!R003i!I003j003oA003p!D003q004fA004g!S004h!L004i!K004j004lJ004m004qI004r!H004s!I004t!B004u004vI004w!K004x!J004y004zI0050!T00510056I0057!H0058005aI005b!L005c00jrI00js!T00jt00jvI00jw!T00jx00keI00kf!T00kg00lbI00lc00niA00nj!S00nk00nvA00nw00o2S00o300ofA00og00otI00ou!N00ov00w2I00w300w9A00wa013cI013d!N013e!B013h013iI013j!J013l014tA014u!B014v!A014w!I014x014yA014z!I01500151A0152!G0153!A015c0162U0167016aU016b016wI016x016zK01700171N01720173I0174017eA017f!G017g!A017i017jG017k018qI018r019bA019c019lQ019m!K019n019oQ019p019rI019s!A019t01cjI01ck!G01cl!I01cm01csA01ct01cuI01cv01d0A01d101d2I01d301d4A01d5!I01d601d9A01da01dbI01dc01dlQ01dm01e8I01e9!A01ea01f3I01f401fuA01fx01idI01ie01ioA01ip!I01j401jdQ01je01kaI01kb01kjA01kk01knI01ko!N01kp!G01kq!I01kt!A01ku01kvJ01kw01lhI01li01llA01lm!I01ln01lvA01lw!I01lx01lzA01m0!I01m101m5A01m801ncI01nd01nfA01ni01qfI01qr01r5A01r6!I01r701s3A01s401tlI01tm01toA01tp!I01tq01u7A01u8!I01u901ufA01ug01upI01uq01urA01us01utB01uu01v3Q01v401vkI01vl01vnA01vp01x5I01x8!A01x9!I01xa01xgA01xj01xkA01xn01xpA01xq!I01xz!A01y401y9I01ya01ybA01ye01ynQ01yo01ypI01yq01yrK01ys01ywI01yx!K01yy!I01yz!J01z001z1I01z2!A01z501z7A01z9020pI020s!A020u020yA02130214A02170219A021d!A021l021qI021y0227Q02280229A022a022cI022d!A022e!I022p022rA022t0249I024c!A024d!I024e024lA024n024pA024r024tA024w025dI025e025fA025i025rQ025s!I025t!J0261!I02620267A0269026bA026d027tI027w!A027x!I027y0284A02870288A028b028dA028l028nA028s028xI028y028zA0292029bQ029c029jI029u!A029v02bdI02bi02bmA02bq02bsA02bu02bxA02c0!I02c7!A02cm02cvQ02cw02d4I02d5!J02d6!I02dc02dgA02dh02f1I02f202f8A02fa02fcA02fe02fhA02fp02fqA02fs02g1I02g202g3A02g602gfQ02gn!T02go02gwI02gx02gzA02h0!T02h102ihI02ik!A02il!I02im02isA02iu02iwA02iy02j1A02j902jaA02ji02jlI02jm02jnA02jq02jzQ02k102k2I02kg02kjA02kk02m2I02m302m4A02m5!I02m602mcA02me02mgA02mi02mlA02mm02muI02mv!A02mw02n5I02n602n7A02na02njQ02nk02nsI02nt!K02nu02nzI02o102o3A02o502pyI02q2!A02q702qcA02qe!A02qg02qnA02qu02r3Q02r602r7A02r802t6I02tb!J02tc02trI02ts02u1Q02u202u3B02v502x9I02xc02xlQ02xo02yoI02yp02ysT02yt!I02yu02yvT02yw!S02yx02yyT02yz!B02z0!S02z102z5G02z6!S02z7!I02z8!G02z902zbI02zc02zdA02ze02zjI02zk02ztQ02zu0303I0304!B0305!A0306!I0307!A0308!I0309!A030a!L030b!R030c!L030d!R030e030fA030g031oI031t0326A0327!B0328032cA032d!B032e032fA032g032kI032l032vA032x033wA033y033zB03400345I0346!A0347034fI034g034hT034i!B034j!T034k034oI034p034qS035s037jI037k037tQ037u037vB037w039rI039s03a1Q03a203cvI03cw03fjV03fk03hjW03hk03jzX03k003tmI03tp03trA03ts!I03tt!B03tu03y5I03y8!B03y904fzI04g0!B04g104gqI04gr!L04gs!R04gw04iyI04iz04j1B04j204k1I04k204k4A04kg04kxI04ky04l0A04l104l2B04lc04ltI04lu04lvA04m804moI04mq04mrA04n404pfI04pg04phB04pi!Y04pj!I04pk!B04pl!I04pm!B04pn!J04po04ppI04ps04q1Q04q804qpI04qq04qrG04qs04qtB04qu!T04qv!I04qw04qxG04qy!I04qz04r1A04r2!S04r404rdQ04rk04ucI04ud04ueA04uf04vcI04vd!A04ve04ymI04yo04yzA04z404zfA04zk!I04zo04zpG04zq04zzQ0500053dI053k053tQ053u055iI055j055nA055q058cI058f!A058g058pQ058w0595Q059c059pI059s05a8A05c005c4A05c505dfI05dg05dwA05dx05e3I05e805ehQ05ei05ejB05ek!I05el05eoB05ep05eyI05ez05f7A05f805fgI05fk05fmA05fn05ggI05gh05gtA05gu05gvI05gw05h5Q05h605idI05ie05irA05j005k3I05k405knA05kr05kvB05kw05l5Q05l905lbI05lc05llQ05lm05mlI05mm05mnB05mo05onI05ow05oyA05oz!I05p005pkA05pl05poI05pp!A05pq05pvI05pw!A05px05pyI05pz05q1A05q205vjI05vk05x5A05x705xbA05xc06bgI06bh!T06bi!I06bk06bqB06br!S06bs06buB06bv!Z06bw!A06bx!a06by06bzA06c0!B06c1!S06c206c3B06c4!b06c506c7I06c806c9H06ca!L06cb06cdH06ce!L06cf!H06cg06cjI06ck06cmc06cn!B06co06cpD06cq06cuA06cv!S06cw06d3K06d4!I06d506d6H06d7!I06d806d9Y06da06dfI06dg!N06dh!L06di!R06dj06dlY06dm06dxI06dy!B06dz!I06e006e3B06e4!I06e506e7B06e8!d06e906ecI06ee06enA06eo06f0I06f1!L06f2!R06f306fgI06fh!L06fi!R06fk06fwI06g006g6J06g7!K06g806glJ06gm!K06gn06gqJ06gr!K06gs06gtJ06gu!K06gv06hbJ06hc06i8A06io06iqI06ir!K06is06iwI06ix!K06iy06j9I06ja!J06jb06q9I06qa06qbJ06qc06weI06wf!c06wg06x3I06x4!L06x5!R06x6!L06x7!R06x806xlI06xm06xne06xo06y0I06y1!L06y2!R06y3073jI073k073ne073o07i7I07i807ibe07ic07irI07is07ite07iu07ivI07iw!e07ix!I07iy07j0e07j1!f07j207j3e07j407jsI07jt07jve07jw07l3I07l4!e07l507lqI07lr!e07ls07ngI07nh07nse07nt07nwI07nx!e07ny!I07nz07o1e07o2!I07o307o4e07o507o7I07o807o9e07oa07obI07oc!e07od07oeI07of07ohe07oi07opI07oq!e07or07owI07ox07p1e07p2!I07p307p4e07p5!f07p6!e07p707p8I07p907pge07ph07pjI07pk07ple07pm07ppf07pq07ruI07rv07s0H07s1!I07s207s3G07s4!e07s507s7I07s8!L07s9!R07sa!L07sb!R07sc!L07sd!R07se!L07sf!R07sg!L07sh!R07si!L07sj!R07sk!L07sl!R07sm07usI07ut!L07uu!R07uv07vpI07vq!L07vr!R07vs!L07vt!R07vu!L07vv!R07vw!L07vx!R07vy!L07vz!R07w00876I0877!L0878!R0879!L087a!R087b!L087c!R087d!L087e!R087f!L087g!R087h!L087i!R087j!L087k!R087l!L087m!R087n!L087o!R087p!L087q!R087r!L087s!R087t089jI089k!L089l!R089m!L089n!R089o08ajI08ak!L08al!R08am08viI08vj08vlA08vm08vnI08vt!G08vu08vwB08vx!I08vy!G08vz!B08w008z3I08z4!B08zj!A08zk0926I09280933A0934093hH093i093pB093q!I093r!B093s!L093t!B093u093vI093w093xH093y093zI09400941H0942!L0943!R0944!L0945!R0946!L0947!R0948!L0949!R094a094dB094e!G094f!I094g094hB094i!I094j094kB094l094pI094q094rb094s094uB094v!I094w094xB094y!L094z0956B0957!I0958!B0959!I095a095bB095c095eI096o097de097f099ve09a809g5e09gw09h7e09hc!B09hd09heR09hf09hge09hh!Y09hi09hje09hk!L09hl!R09hm!L09hn!R09ho!L09hp!R09hq!L09hr!R09hs!L09ht!R09hu09hve09hw!L09hx!R09hy!L09hz!R09i0!L09i1!R09i2!L09i3!R09i4!Y09i5!L09i609i7R09i809ihe09ii09inA09io09ise09it!A09iu09iye09iz09j0Y09j109j3e09j5!Y09j6!e09j7!Y09j8!e09j9!Y09ja!e09jb!Y09jc!e09jd!Y09je09k2e09k3!Y09k409kye09kz!Y09l0!e09l1!Y09l2!e09l3!Y09l409l9e09la!Y09lb09lge09lh09liY09ll09lmA09ln09lqY09lr!e09ls09ltY09lu!e09lv!Y09lw!e09lx!Y09ly!e09lz!Y09m0!e09m1!Y09m209mqe09mr!Y09ms09nme09nn!Y09no!e09np!Y09nq!e09nr!Y09ns09nxe09ny!Y09nz09o4e09o509o6Y09o709oae09ob09oeY09of!e09ol09pre09pt09see09sg09ure09v409vjY09vk09wee09wg09xje09xk09xrI09xs0fcve0fcw0fenI0feo0vmce0vmd!Y0vme0wi4e0wi80wjqe0wk00wl9I0wla0wlbB0wlc0wssI0wst!B0wsu!G0wsv!B0wsw0wtbI0wtc0wtlQ0wtm0wviI0wvj0wvmA0wvn!I0wvo0wvxA0wvy0wwtI0wwu0wwvA0www0wz3I0wz40wz5A0wz6!I0wz70wzbB0wzk0x6pI0x6q!A0x6r0x6tI0x6u!A0x6v0x6yI0x6z!A0x700x7mI0x7n0x7rA0x7s0x7vI0x7w!A0x800x87I0x88!K0x890x9vI0x9w0x9xT0x9y0x9zG0xa80xa9A0xaa0xbnI0xbo0xc5A0xce0xcfB0xcg0xcpQ0xcw0xddA0xde0xdnI0xdo!T0xdp0xdqI0xdr!A0xds0xe1Q0xe20xetI0xeu0xf1A0xf20xf3B0xf40xfqI0xfr0xg3A0xgf!I0xgg0xh8V0xhc0xhfA0xhg0xiqI0xir0xj4A0xj50xjaI0xjb0xjdB0xje0xjjI0xjk0xjtQ0xjy0xkfI0xkg0xkpQ0xkq0xm0I0xm10xmeA0xmo0xmqI0xmr!A0xms0xmzI0xn00xn1A0xn40xndQ0xng!I0xnh0xnjB0xnk0xreI0xrf0xrjA0xrk0xrlB0xrm0xroI0xrp0xrqA0xs10xyaI0xyb0xyiA0xyj!B0xyk0xylA0xyo0xyxQ0xz4!g0xz50xzvh0xzw!g0xzx0y0nh0y0o!g0y0p0y1fh0y1g!g0y1h0y27h0y28!g0y290y2zh0y30!g0y310y3rh0y3s!g0y3t0y4jh0y4k!g0y4l0y5bh0y5c!g0y5d0y63h0y64!g0y650y6vh0y6w!g0y6x0y7nh0y7o!g0y7p0y8fh0y8g!g0y8h0y97h0y98!g0y990y9zh0ya0!g0ya10yarh0yas!g0yat0ybjh0ybk!g0ybl0ycbh0ycc!g0ycd0yd3h0yd4!g0yd50ydvh0ydw!g0ydx0yenh0yeo!g0yep0yffh0yfg!g0yfh0yg7h0yg8!g0yg90ygzh0yh0!g0yh10yhrh0yhs!g0yht0yijh0yik!g0yil0yjbh0yjc!g0yjd0yk3h0yk4!g0yk50ykvh0ykw!g0ykx0ylnh0ylo!g0ylp0ymfh0ymg!g0ymh0yn7h0yn8!g0yn90ynzh0yo0!g0yo10yorh0yos!g0yot0ypjh0ypk!g0ypl0yqbh0yqc!g0yqd0yr3h0yr4!g0yr50yrvh0yrw!g0yrx0ysnh0yso!g0ysp0ytfh0ytg!g0yth0yu7h0yu8!g0yu90yuzh0yv0!g0yv10yvrh0yvs!g0yvt0ywjh0ywk!g0ywl0yxbh0yxc!g0yxd0yy3h0yy4!g0yy50yyvh0yyw!g0yyx0yznh0yzo!g0yzp0z0fh0z0g!g0z0h0z17h0z18!g0z190z1zh0z20!g0z210z2rh0z2s!g0z2t0z3jh0z3k!g0z3l0z4bh0z4c!g0z4d0z53h0z54!g0z550z5vh0z5w!g0z5x0z6nh0z6o!g0z6p0z7fh0z7g!g0z7h0z87h0z88!g0z890z8zh0z90!g0z910z9rh0z9s!g0z9t0zajh0zak!g0zal0zbbh0zbc!g0zbd0zc3h0zc4!g0zc50zcvh0zcw!g0zcx0zdnh0zdo!g0zdp0zefh0zeg!g0zeh0zf7h0zf8!g0zf90zfzh0zg0!g0zg10zgrh0zgs!g0zgt0zhjh0zhk!g0zhl0zibh0zic!g0zid0zj3h0zj4!g0zj50zjvh0zjw!g0zjx0zknh0zko!g0zkp0zlfh0zlg!g0zlh0zm7h0zm8!g0zm90zmzh0zn0!g0zn10znrh0zns!g0znt0zojh0zok!g0zol0zpbh0zpc!g0zpd0zq3h0zq4!g0zq50zqvh0zqw!g0zqx0zrnh0zro!g0zrp0zsfh0zsg!g0zsh0zt7h0zt8!g0zt90ztzh0zu0!g0zu10zurh0zus!g0zut0zvjh0zvk!g0zvl0zwbh0zwc!g0zwd0zx3h0zx4!g0zx50zxvh0zxw!g0zxx0zynh0zyo!g0zyp0zzfh0zzg!g0zzh1007h1008!g1009100zh1010!g1011101rh101s!g101t102jh102k!g102l103bh103c!g103d1043h1044!g1045104vh104w!g104x105nh105o!g105p106fh106g!g106h1077h1078!g1079107zh1080!g1081108rh108s!g108t109jh109k!g109l10abh10ac!g10ad10b3h10b4!g10b510bvh10bw!g10bx10cnh10co!g10cp10dfh10dg!g10dh10e7h10e8!g10e910ezh10f0!g10f110frh10fs!g10ft10gjh10gk!g10gl10hbh10hc!g10hd10i3h10i4!g10i510ivh10iw!g10ix10jnh10jo!g10jp10kfh10kg!g10kh10l7h10l8!g10l910lzh10m0!g10m110mrh10ms!g10mt10njh10nk!g10nl10obh10oc!g10od10p3h10p4!g10p510pvh10pw!g10px10qnh10qo!g10qp10rfh10rg!g10rh10s7h10s8!g10s910szh10t0!g10t110trh10ts!g10tt10ujh10uk!g10ul10vbh10vc!g10vd10w3h10w4!g10w510wvh10ww!g10wx10xnh10xo!g10xp10yfh10yg!g10yh10z7h10z8!g10z910zzh1100!g1101110rh110s!g110t111jh111k!g111l112bh112c!g112d1133h1134!g1135113vh113w!g113x114nh114o!g114p115fh115g!g115h1167h1168!g1169116zh1170!g1171117rh117s!g117t118jh118k!g118l119bh119c!g119d11a3h11a4!g11a511avh11aw!g11ax11bnh11bo!g11bp11cfh11cg!g11ch11d7h11d8!g11d911dzh11e0!g11e111erh11es!g11et11fjh11fk!g11fl11gbh11gc!g11gd11h3h11h4!g11h511hvh11hw!g11hx11inh11io!g11ip11jfh11jg!g11jh11k7h11k8!g11k911kzh11l0!g11l111lrh11ls!g11lt11mjh11mk!g11ml11nbh11nc!g11nd11o3h11o4!g11o511ovh11ow!g11ox11pnh11po!g11pp11qfh11qg!g11qh11r7h11r8!g11r911rzh11s0!g11s111srh11ss!g11st11tjh11tk!g11tl11ubh11uc!g11ud11v3h11v4!g11v511vvh11vw!g11vx11wnh11wo!g11wp11xfh11xg!g11xh11y7h11y8!g11y911yzh11z0!g11z111zrh11zs!g11zt120jh120k!g120l121bh121c!g121d1223h1224!g1225122vh122w!g122x123nh123o!g123p124fh124g!g124h1257h1258!g1259125zh1260!g1261126rh126s!g126t127jh127k!g127l128bh128c!g128d1293h1294!g1295129vh129w!g129x12anh12ao!g12ap12bfh12bg!g12bh12c7h12c8!g12c912czh12d0!g12d112drh12ds!g12dt12ejh12ek!g12el12fbh12fc!g12fd12g3h12g4!g12g512gvh12gw!g12gx12hnh12ho!g12hp12ifh12ig!g12ih12j7h12j8!g12j912jzh12k0!g12k112krh12ks!g12kt12ljh12lk!g12ll12mbh12mc!g12md12n3h12n4!g12n512nvh12nw!g12nx12onh12oo!g12op12pfh12pg!g12ph12q7h12q8!g12q912qzh12r0!g12r112rrh12rs!g12rt12sjh12sk!g12sl12tbh12tc!g12td12u3h12u4!g12u512uvh12uw!g12ux12vnh12vo!g12vp12wfh12wg!g12wh12x7h12x8!g12x912xzh12y0!g12y112yrh12ys!g12yt12zjh12zk!g12zl130bh130c!g130d1313h1314!g1315131vh131w!g131x132nh132o!g132p133fh133g!g133h1347h1348!g1349134zh1350!g1351135rh135s!g135t136jh136k!g136l137bh137c!g137d1383h1384!g1385138vh138w!g138x139nh139o!g139p13afh13ag!g13ah13b7h13b8!g13b913bzh13c0!g13c113crh13cs!g13ct13djh13dk!g13dl13ebh13ec!g13ed13f3h13f4!g13f513fvh13fw!g13fx13gnh13go!g13gp13hfh13hg!g13hh13i7h13i8!g13i913izh13j0!g13j113jrh13js!g13jt13kjh13kk!g13kl13lbh13lc!g13ld13m3h13m4!g13m513mvh13mw!g13mx13nnh13no!g13np13ofh13og!g13oh13p7h13p8!g13p913pzh13q0!g13q113qrh13qs!g13qt13rjh13rk!g13rl13sbh13sc!g13sd13t3h13t4!g13t513tvh13tw!g13tx13unh13uo!g13up13vfh13vg!g13vh13w7h13w8!g13w913wzh13x0!g13x113xrh13xs!g13xt13yjh13yk!g13yl13zbh13zc!g13zd1403h1404!g1405140vh140w!g140x141nh141o!g141p142fh142g!g142h1437h1438!g1439143zh1440!g1441144rh144s!g144t145jh145k!g145l146bh146c!g146d1473h1474!g1475147vh147w!g147x148nh148o!g148p149fh149g!g149h14a7h14a8!g14a914azh14b0!g14b114brh14bs!g14bt14cjh14ck!g14cl14dbh14dc!g14dd14e3h14e4!g14e514evh14ew!g14ex14fnh14fo!g14fp14gfh14gg!g14gh14h7h14h8!g14h914hzh14i0!g14i114irh14is!g14it14jjh14jk!g14jl14kbh14kc!g14kd14l3h14l4!g14l514lvh14lw!g14lx14mnh14mo!g14mp14nfh14ng!g14nh14o7h14o8!g14o914ozh14p0!g14p114prh14ps!g14pt14qjh14qk!g14ql14rbh14rc!g14rd14s3h14s4!g14s514svh14sw!g14sx14tnh14to!g14tp14ufh14ug!g14uh14v7h14v8!g14v914vzh14w0!g14w114wrh14ws!g14wt14xjh14xk!g14xl14ybh14yc!g14yd14z3h14z4!g14z514zvh14zw!g14zx150nh150o!g150p151fh151g!g151h1527h1528!g1529152zh1530!g1531153rh153s!g153t154jh154k!g154l155bh155c!g155d1563h1564!g1565156vh156w!g156x157nh157o!g157p158fh158g!g158h1597h1598!g1599159zh15a0!g15a115arh15as!g15at15bjh15bk!g15bl15cbh15cc!g15cd15d3h15d4!g15d515dvh15dw!g15dx15enh15eo!g15ep15ffh15fg!g15fh15g7h15g8!g15g915gzh15h0!g15h115hrh15hs!g15ht15ijh15ik!g15il15jbh15jc!g15jd15k3h15k4!g15k515kvh15kw!g15kx15lnh15lo!g15lp15mfh15mg!g15mh15n7h15n8!g15n915nzh15o0!g15o115orh15os!g15ot15pjh15pk!g15pl15qbh15qc!g15qd15r3h15r4!g15r515rvh15rw!g15rx15snh15so!g15sp15tfh15tg!g15th15u7h15u8!g15u915uzh15v0!g15v115vrh15vs!g15vt15wjh15wk!g15wl15xbh15xc!g15xd15y3h15y4!g15y515yvh15yw!g15yx15znh15zo!g15zp160fh160g!g160h1617h1618!g1619161zh1620!g1621162rh162s!g162t163jh163k!g163l164bh164c!g164d1653h1654!g1655165vh165w!g165x166nh166o!g166p167fh167g!g167h1687h1688!g1689168zh1690!g1691169rh169s!g169t16ajh16ak!g16al16bbh16bc!g16bd16c3h16c4!g16c516cvh16cw!g16cx16dnh16do!g16dp16efh16eg!g16eh16f7h16f8!g16f916fzh16g0!g16g116grh16gs!g16gt16hjh16hk!g16hl16ibh16ic!g16id16j3h16j4!g16j516jvh16jw!g16jx16knh16ko!g16kp16lfh16ls16meW16mj16nvX16o01d6nI1d6o1dkve1dkw1dljI1dlp!U1dlq!A1dlr1dm0U1dm1!I1dm21dmeU1dmg1dmkU1dmm!U1dmo1dmpU1dmr1dmsU1dmu1dn3U1dn41e0tI1e0u!R1e0v!L1e1c1e63I1e64!K1e65!I1e681e6nA1e6o!N1e6p1e6qR1e6r1e6sN1e6t1e6uG1e6v!L1e6w!R1e6x!c1e741e7jA1e7k1e7oe1e7p!L1e7q!R1e7r!L1e7s!R1e7t!L1e7u!R1e7v!L1e7w!R1e7x!L1e7y!R1e7z!L1e80!R1e81!L1e82!R1e83!L1e84!R1e851e86e1e87!L1e88!R1e891e8fe1e8g!R1e8h!e1e8i!R1e8k1e8lY1e8m1e8nG1e8o!e1e8p!L1e8q!R1e8r!L1e8s!R1e8t!L1e8u!R1e8v1e92e1e94!e1e95!J1e96!K1e97!e1e9c1ed8I1edb!d1edd!G1ede1edfe1edg!J1edh!K1edi1edje1edk!L1edl!R1edm1edne1edo!R1edp!e1edq!R1edr1ee1e1ee21ee3Y1ee41ee6e1ee7!G1ee81eeye1eez!L1ef0!e1ef1!R1ef21efue1efv!L1efw!e1efx!R1efy!e1efz!L1eg01eg1R1eg2!L1eg31eg4R1eg5!Y1eg6!e1eg71eggY1egh1ehpe1ehq1ehrY1ehs1eime1eiq1eive1eiy1ej3e1ej61ejbe1eje1ejge1ejk!K1ejl!J1ejm1ejoe1ejp1ejqJ1ejs1ejyI1ek91ekbA1ekc!i1ekd1ereI1erk1ermB1err1eykI1eyl!A1f281f4gI1f4w!A1f4x1f91I1f921f96A1f9c1fa5I1fa7!B1fa81fbjI1fbk!B1fbl1fh9I1fhc1fhlQ1fhs1g7pI1g7r!B1g7s1gd7I1gdb!B1gdc1gjkI1gjl1gjnA1gjp1gjqA1gjw1gjzA1gk01gl1I1gl41gl6A1glb!A1glc1glkI1gls1glzB1gm01gpwI1gpx1gpyA1gq31gq7I1gq81gqdB1gqe!c1gqo1gs5I1gs91gsfB1gsg1h5vI1h5w1h5zA1h681h6hQ1heo1hgpI1hgr1hgsA1hgt!B1hgw1hl1I1hl21hlcA1hld1hpyI1hq81hqaA1hqb1hrrI1hrs1hs6A1hs71hs8B1hs91ht1I1ht21htbQ1htr1htuA1htv1hv3I1hv41hveA1hvf1hvhI1hvi1hvlB1hvx1hwoI1hww1hx5Q1hxc1hxeA1hxf1hyeI1hyf1hysA1hyu1hz3Q1hz41hz7B1hz8!I1hz91hzaA1hzb1i0iI1i0j!A1i0k!I1i0l!T1i0m!I1i0w1i0yA1i0z1i2aI1i2b1i2oA1i2p1i2sI1i2t1i2uB1i2v!I1i2w!B1i2x1i30A1i31!I1i321i33A1i341i3dQ1i3e!I1i3f!T1i3g!I1i3h1i3jB1i3l1i5nI1i5o1i5zA1i601i61B1i62!I1i631i64B1i65!I1i66!A1i801i94I1i95!B1i9c1iamI1ian1iayA1ib41ibdQ1ibk1ibnA1ibp1id5I1id71id8A1id9!I1ida1idgA1idj1idkA1idn1idpA1ids!I1idz!A1ie51ie9I1iea1iebA1iee1iekA1ieo1iesA1iio1ik4I1ik51ikmA1ikn1ikqI1ikr1ikuB1ikv!I1ikw1il5Q1il61il7B1il9!I1ila!A1ilb1injI1ink1io3A1io41io7I1iog1iopQ1itc1iumI1iun1iutA1iuw1iv4A1iv5!T1iv61iv7B1iv81iv9G1iva1ivcI1ivd1ivrB1ivs1ivvI1ivw1ivxA1iww1iy7I1iy81iyoA1iyp1iyqB1iyr1iysI1iz41izdQ1izk1izwT1j0g1j1mI1j1n1j1zA1j20!I1j281j2hQ1j401j57I1j5c1j5lQ1j5m1j5nI1j5o1j5qB1j5r1jcbI1jcc1jcqA1jcr1jhbI1jhc1jhlQ1jhm1jjjI1jjk1jjpA1jjr1jjsA1jjv1jjyA1jjz!I1jk0!A1jk1!I1jk21jk3A1jk41jk6B1jkg1jkpQ1jmo1jo0I1jo11jo7A1joa1jogA1joh!I1joi!T1joj!I1jok!A1jpc!I1jpd1jpmA1jpn1jqqI1jqr1jqxA1jqy!I1jqz1jr2A1jr3!T1jr4!I1jr51jr8B1jr9!T1jra!I1jrb!A1jrk!I1jrl1jrvA1jrw1jt5I1jt61jtlA1jtm1jtoB1jtp!I1jtq1jtsT1jtt1jtuB1juo1k4uI1k4v1k52A1k541k5bA1k5c!I1k5d1k5hB1k5s1k61Q1k621k6kI1k6o!T1k6p!G1k6q1k7jI1k7m1k87A1k891k8mA1kao1kc0I1kc11kc6A1kca!A1kcc1kcdA1kcf1kclA1kcm!I1kcn!A1kcw1kd5Q1kdc1kehI1kei1kemA1keo1kepA1ker1kevA1kew!I1kf41kfdQ1ko01koiI1koj1komA1kon1kv0I1kv11kv4K1kv51kvlI1kvz!B1kw01lriI1lrk1lroB1ls01oifI1oig1oiiL1oij1oilR1oim1ojlI1ojm!R1ojn1ojpI1ojq!L1ojr!R1ojs!L1ojt!R1oju1oqgI1oqh!L1oqi1oqjR1oqk1oviI1ovk1ovqS1ovr!L1ovs!R1s001sctI1scu!L1scv!R1scw1zkuI1zkw1zl5Q1zla1zlbB1zo01zotI1zow1zp0A1zp1!B1zpc1zqnI1zqo1zquA1zqv1zqxB1zqy1zr7I1zr8!B1zr9!I1zrk1zrtQ1zrv20euI20ev20ewB20ex20juI20jz!A20k0!I20k120ljA20lr20luA20lv20m7I20o020o3Y20o4!S20og20ohA20ow25fbe25fk260ve260w26dxI26f426fce2dc02djye2dlc2dleY2dlw2dlzY2dm82dx7e2fpc2ftoI2ftp2ftqA2ftr!B2fts2ftvA2jnk2jxgI2jxh2jxlA2jxm2jxoI2jxp2jyaA2jyb2jycI2jyd2jyjA2jyk2jzdI2jze2jzhA2jzi2k3lI2k3m2k3oA2k3p2l6zI2l722l8fQ2l8g2lmnI2lmo2lo6A2lo72loaI2lob2lpoA2lpp2lpwI2lpx!A2lpy2lqbI2lqc!A2lqd2lqeI2lqf2lqiB2lqj!I2lqz2lr3A2lr52lrjA2mtc2mtiA2mtk2mu0A2mu32mu9A2mub2mucA2mue2muiA2n0g2n1oI2n1s2n1yA2n1z2n25I2n282n2hQ2n2m2ne3I2ne42ne7A2ne82nehQ2nen!J2oe82ojzI2ok02ok6A2olc2on7I2on82oneA2onf!I2onk2ontQ2ony2onzL2p9t2pbfI2pbg!K2pbh2pbjI2pbk!K2pbl2prlI2pz42q67e2q682q6kI2q6l2q6ne2q6o2q98I2q992q9be2q9c2qb0I2qb12qcle2qcm2qdbj2qdc2qo4e2qo5!f2qo62qore2qos2qotI2qou2qpge2qph2qpiI2qpj2qpne2qpo!I2qpp2qpte2qpu2qpwf2qpx2qpye2qpz!f2qq02qq1e2qq22qq4f2qq52qree2qrf2qrjk2qrk2qtde2qte2qtff2qtg2qthe2qti2qtsf2qtt2qude2que2quwf2qux2quze2qv0!f2qv12qv4e2qv52qv7f2qv8!e2qv92qvbf2qvc2qvie2qvj!f2qvk!e2qvl!f2qvm2qvze2qw0!I2qw1!e2qw2!I2qw3!e2qw4!I2qw52qw9e2qwa!f2qwb2qwee2qwf!I2qwg!e2qwh2qwiI2qwj2qyne2qyo2qyuI2qyv2qzae2qzb2qzoI2qzp2r01e2r022r0pI2r0q2r1ve2r1w2r1xf2r1y2r21e2r22!f2r232r2ne2r2o!f2r2p2r2se2r2t2r2uf2r2v2r4je2r4k2r4rI2r4s2r5fe2r5g2r5lI2r5m2r7oe2r7p2r7rf2r7s2r7ue2r7v2r7zf2r802r91I2r922r94H2r952r97Y2r982r9bI2r9c2raae2rab!f2rac2rare2ras2rauf2rav2rb3e2rb4!f2rb52rbfe2rbg!f2rbh2rcve2rcw2rg3I2rg42rgfe2rgg2risI2rit2rjze2rk02rkbI2rkc2rkfe2rkg2rlzI2rm02rm7e2rm82rmhI2rmi2rmne2rmo2rnrI2rns2rnze2ro02rotI2rou2rr3e2rr42rrfI2rrg!f2rrh2rrie2rrj!f2rrk2rrre2rrs2rrzf2rs02rs5e2rs6!f2rs72rsfe2rsg2rspf2rsq2rsre2rss2rsuf2rsv2ruee2ruf!f2rug2rw4e2rw52rw6f2rw7!e2rw82rw9f2rwa!e2rwb!f2rwc2rwse2rwt2rwvf2rww!e2rwx2rx9f2rxa2ry7e2ry82s0jI2s0k2s5be2s5c2sayI2sc02sc9Q2scg2t4te2t4w47p9e47pc5m9pejny9!Ajnz4jo1rAjo5cjobzAl2ionvnhI",
    x3d_____: "===== asynchronous gap ===========================\n",
    A_Defa: "A DefaultTextStyle constructed with DefaultTextStyle.fallback cannot be incorporated into the widget tree, it is meant only to provide a fallback value returned by DefaultTextStyle.of() when no enclosing default text style is present in a BuildContext.",
    ABCDEF: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
    Cannotc: "Cannot change handlers of asBroadcastStream source subscription.",
    Cannoteff: "Cannot extract a file path from a URI with a fragment component",
    Cannotefq: "Cannot extract a file path from a URI with a query component",
    Cannoten: "Cannot extract a non-Windows file path from a file URI with an authority",
    Cannotf: "Cannot fire new event. Controller is already firing an event",
    Cannotm: "Cannot modify the content of ImmutableList",
    EOF_re: "EOF reached without finding string terminator",
    Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",
    Expand: "Expandos are not allowed on strings, numbers, booleans or null",
    Failedn: "Failed to load network image.\nImage URL: ",
    Faileds: "Failed to load size analysis file: file type not supported.\n\nThe app size tool supports Dart AOT v8 snapshots, instruction sizes, and size-analysis files. See documentation for how to generate these files.",
    It_see: "It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more informations: https://github.com/rrousselGit/freezed#custom-getters-and-methods",
    Loadin: "Loading data...\nPlease do not refresh or leave this page.",
    Stream: "Stream has been disposed.\nAn ImageStream is considered disposed once at least one listener has been added and subsequently all listeners have been removed and no handles are outstanding from the keepAlive method.\nTo resolve this error, maintain at least one listener on the stream, or create an ImageStreamCompleterHandle from the keepAlive method, or create a new stream for the image.",
    System: "SystemChrome.setApplicationSwitcherDescription",
    TextInD: "TextInputClient.updateEditingStateWithDeltas",
    TextInT: "TextInputClient.updateEditingStateWithTag",
    There_: "There was a problem trying to load FontManifest.json",
    This_m: "This method should never be called for an instance of OfflineTimelineEvent",
    assetsac: "assets/img/layout_explorer/cross_axis_alignment/",
    assetsam: "assets/img/layout_explorer/main_axis_alignment/",
    assetsea: "assets/img/legend/snapshot_auto_glyph.png",
    assetsem: "assets/img/legend/snapshot_manual_glyph.png",
    handle: "handleError callback must take either an Object (the error), or both an Object (the error) and a StackTrace.",
    https_d: "https://docs.flutter.dev/development/tools/devtools/performance#more-debugging-options",
    https_f: "https://flutter.dev/docs/perf/rendering/shader#how-to-use-sksl-warmup",
    u0e3b_____: "\u0e3b\u1cdb\u05d0\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b \u389c\u102b\u102b\u102b\u102b\u489c\u102b\u102b\u102b\u0620\u392b\u0c26\u0efa\u102b\u0dcb\u0601\u3e7e\u228f\u0c77\u24d3\u40b2\u102b\u1d51\u0f6f\u2681\u0698\u0851\u0d63\u0be6\u0d63\u1d2a\u06d5\u0e9b\u0771\u075c\u2b98\u23fe\u2707\u0da1\u2a52\u08eb\u0d13\u0ce3\u2712\u0c62\u4d9d\u0b97\u25cb\u2b21\u0659\u42c5\u0baa\u0ec5\u088d\u102b\u09b9\u09d9\u09f9\u0a21\u102b\u102b\u102b\u102b\u102b\u40ae\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u0b5f\u25b1\u23c1\u07f5\u0fe2\u102b\u269e\u102b\u0e5b\u102b\u102b\u102b\u2427\u26c9\u275a\u102b\u2b5c\u0fad\u0b31\u0789\u08ab\u102b\u102b\u0dfb\u102b\u102b\u102b\u1d74\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u0f2f\u2372\u102b\u38ec\u090f\u102b\u2501\u102b\u102b\u102b\u102b\u102b\u24a9\u102b\u35c8\u0939\u102b\u102b\u102b\u23b5\u102b\u102b\u2345\u2c27\u3457\u2d9d\u3491\u2d9d\u0979\u2be5\u252c\u102b\u102b\u102b\u102b\u102b\u233b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u2566\u23a2\u102b\u102b\u102b\u102b\u102b\u409c\u102b\u428c\u102b\u3db9\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u2bac\u102b\u16c9\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u2c0e\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u0d24\u4c95\u4c83\u102b\u102b\u102b\u102b\u0b0c\u102b\u07bb\u2609\u0c43\u2641\u071f\u2483\u2443\u0cb1\u06e1\u0811\u102b\u102b\u102b\u2583\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a79\u0a65\u0a6d\u0a75\u0a61\u0a69\u0a71\u0a95\u0ace\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u01f0\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u42ad\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u38bc\u102b\u102b\u1cdb\u102b\u102b\u4c95\u1cea\u40ce\u102b\u49ce\u1f6f\u2752\u1506\u393f\u449f\u102b\u102b\u102b\u102b\u102b\u0ff2\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u113b\u191a\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u1869\u102b\u102b\u102b\u102b\u3e89\u102b\u3bd9\u102b\u1da7\u102b\u47cf\u102b\u34a1\u305d\u2c56\u2d9d\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\x00\u01f0\u01f0\u01f0\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b\u102b"
  };
  var type$ = (function rtii() {
    var findType = A.findType;
    return {
      Action_Intent: findType("Action<Intent>"),
      AdbMemoryInfo: findType("AdbMemoryInfo"),
      AlignmentGeometry: findType("AlignmentGeometry"),
      AllocationProfile: findType("AllocationProfile"),
      AlwaysStoppedAnimation_Color: findType("AlwaysStoppedAnimation<Color>"),
      AlwaysStoppedAnimation_nullable_Color: findType("AlwaysStoppedAnimation<Color?>"),
      AnalysisField: findType("AnalysisField"),
      AnalyticsController: findType("AnalyticsController"),
      AnimationController: findType("AnimationController"),
      Animation_Offset: findType("Animation<Offset>"),
      Animation_double: findType("Animation<double>"),
      Animation_nullable_Color: findType("Animation<Color?>"),
      AnnotatedRegion_SystemUiOverlayStyle: findType("AnnotatedRegion<SystemUiOverlayStyle>"),
      AssertionError: findType("AssertionError"),
      AsyncTimelineEvent: findType("AsyncTimelineEvent"),
      AsyncValue_InstanceDetails: findType("AsyncValue<InstanceDetails>"),
      AsyncValue_List_ProviderNode: findType("AsyncValue<List<ProviderNode>>"),
      AsyncValue_dynamic: findType("AsyncValue<@>"),
      AsyncValue_void: findType("AsyncValue<~>"),
      AutoComplete: findType("AutoComplete"),
      AutoCompleteMatch: findType("AutoCompleteMatch"),
      AutoCompleteSearchControllerMixin: findType("AutoCompleteSearchControllerMixin"),
      AutoDisposeProviderBase_dynamic: findType("AutoDisposeProviderBase<@>"),
      AutofillInfo: findType("AutofillInfo"),
      BannerMessagesController: findType("BannerMessagesController"),
      BasicMessageChannel_nullable_Object: findType("BasicMessageChannel<Object?>"),
      BitmapCompression: findType("BitmapCompression"),
      Blob: findType("Blob"),
      BlockSyntax: findType("BlockSyntax"),
      BorderRadius: findType("BorderRadius"),
      BottomUpTransformer_CpuStackFrame: findType("BottomUpTransformer<CpuStackFrame>"),
      BoundField: findType("BoundField"),
      BoundVariable: findType("BoundVariable"),
      BoxConstraints: findType("BoxConstraints"),
      BoxParentData: findType("BoxParentData"),
      Breakpoint: findType("Breakpoint"),
      BreakpointAndSourcePosition: findType("BreakpointAndSourcePosition"),
      Bucket: findType("Bucket"),
      BusEvent: findType("BusEvent"),
      ButtonTheme: findType("ButtonTheme"),
      ByteBuffer: findType("ByteBuffer"),
      ByteData: findType("ByteData"),
      CallGraphNode: findType("CallGraphNode"),
      CallbackAction_ActivateIntent: findType("CallbackAction<ActivateIntent>"),
      CallbackAction_ButtonActivateIntent: findType("CallbackAction<ButtonActivateIntent>"),
      CallbackAction_DismissIntent: findType("CallbackAction<DismissIntent>"),
      CallbackAction_ExpandSelectionToDocumentBoundaryIntent: findType("CallbackAction<ExpandSelectionToDocumentBoundaryIntent>"),
      CallbackAction_ExpandSelectionToLineBreakIntent: findType("CallbackAction<ExpandSelectionToLineBreakIntent>"),
      CallbackAction_PasteTextIntent: findType("CallbackAction<PasteTextIntent>"),
      CallbackAction_RedoTextIntent: findType("CallbackAction<RedoTextIntent>"),
      CallbackAction_ReplaceTextIntent: findType("CallbackAction<ReplaceTextIntent>"),
      CallbackAction_ScrollToDocumentBoundaryIntent: findType("CallbackAction<ScrollToDocumentBoundaryIntent>"),
      CallbackAction_TransposeCharactersIntent: findType("CallbackAction<TransposeCharactersIntent>"),
      CallbackAction_UndoTextIntent: findType("CallbackAction<UndoTextIntent>"),
      CallbackAction_UpdateSelectionIntent: findType("CallbackAction<UpdateSelectionIntent>"),
      CanvasParagraph: findType("CanvasParagraph"),
      CastList_of_DiagnosticsNode_and_nullable_DiagnosticsNode: findType("CastList<DiagnosticsNode,DiagnosticsNode?>"),
      CastList_of_nullable_Route_dynamic_and_Route_dynamic: findType("CastList<Route<@>?,Route<@>>"),
      Chain: findType("Chain"),
      ChangeNotifier: findType("ChangeNotifier"),
      Characters: findType("Characters"),
      CheckboxTheme: findType("CheckboxTheme"),
      ChildBackButtonDispatcher: findType("ChildBackButtonDispatcher"),
      CkBrowserImageDecoder: findType("CkBrowserImageDecoder"),
      CkImage: findType("CkImage"),
      CkPaint: findType("CkPaint"),
      CkParagraph: findType("CkParagraph"),
      CkParagraphStyle: findType("CkParagraphStyle"),
      CkPath: findType("CkPath"),
      CkPicture: findType("CkPicture"),
      CkPictureRecorder: findType("CkPictureRecorder"),
      CkStrutStyle: findType("CkStrutStyle"),
      CkTextStyle: findType("CkTextStyle"),
      Class: findType("Class"),
      ClassHeapStats: findType("ClassHeapStats"),
      ClassRef: findType("ClassRef"),
      ClassReference: findType("ClassReference"),
      ClearSelectionEvent: findType("ClearSelectionEvent"),
      ClipPathElement: findType("ClipPathElement"),
      ClipRectLayer: findType("ClipRectLayer"),
      CodeRef: findType("CodeRef"),
      CodeUnits: findType("CodeUnits"),
      Codec: findType("Codec"),
      Color: findType("Color"),
      ColorTween: findType("ColorTween"),
      ColumnData_CpuStackFrame: findType("ColumnData<CpuStackFrame>"),
      ColumnData_TreemapNode: findType("ColumnData<TreemapNode>"),
      ColumnRenderer_dynamic: findType("ColumnRenderer<@>"),
      Comparable_dynamic: findType("Comparable<@>"),
      Comparable_nullable_Object: findType("Comparable<Object?>"),
      Completer_bool: findType("Completer<bool>"),
      Completer_dynamic: findType("Completer<@>"),
      Completer_void: findType("Completer<~>"),
      ConnectVmEvent: findType("ConnectVmEvent"),
      ConsoleLine: findType("ConsoleLine"),
      ConstantMapView_Symbol_dynamic: findType("ConstantMapView<Symbol0,@>"),
      ConstantStringMap_String_Null: findType("ConstantStringMap<String,Null>"),
      ConstantStringMap_String_String: findType("ConstantStringMap<String,String>"),
      ConstantStringMap_String_int: findType("ConstantStringMap<String,int>"),
      ContainerLayer: findType("ContainerLayer"),
      ContainerLayer_2: findType("ContainerLayer0"),
      ContainerRenderObjectMixin_of_RenderObject_and_ContainerParentDataMixin_RenderObject: findType("ContainerRenderObjectMixin<RenderObject,ContainerParentDataMixin<RenderObject>>"),
      ContextElement: findType("ContextElement"),
      ContextRef: findType("ContextRef"),
      CpuProfileData: findType("CpuProfileData"),
      CpuProfileStore: findType("CpuProfileStore"),
      CpuProfilerController: findType("CpuProfilerController"),
      CpuSample: findType("CpuSample"),
      CpuSample_2: findType("CpuSample0"),
      CpuSamples: findType("CpuSamples"),
      CpuStackFrame: findType("CpuStackFrame"),
      CrossAxisAlignment: findType("CrossAxisAlignment"),
      CrossFrameCache_JavaScriptObject: findType("CrossFrameCache<JavaScriptObject>"),
      CssStyleSheet: findType("CssStyleSheet"),
      CupertinoUserInterfaceLevel: findType("CupertinoUserInterfaceLevel"),
      CurveTween: findType("CurveTween"),
      CustomPaint: findType("CustomPaint"),
      CustomSemanticsAction: findType("CustomSemanticsAction"),
      DartIOHttpRequestData: findType("DartIOHttpRequestData"),
      DartObjectNode: findType("DartObjectNode"),
      DataTableTheme: findType("DataTableTheme"),
      DateTime: findType("DateTime"),
      DebuggerController: findType("DebuggerController"),
      Decoration: findType("Decoration"),
      DefaultAssetBundle: findType("DefaultAssetBundle"),
      DefaultSelectionStyle: findType("DefaultSelectionStyle"),
      DefaultTextHeightBehavior: findType("DefaultTextHeightBehavior"),
      DefaultTextStyle: findType("DefaultTextStyle"),
      DefsElement: findType("DefsElement"),
      DeltaTextInputClient: findType("DeltaTextInputClient"),
      DevToolsError: findType("DevToolsError"),
      DevToolsRouteConfiguration: findType("DevToolsRouteConfiguration"),
      DevToolsScreen_AppSizeController: findType("DevToolsScreen<AppSizeController>"),
      DevToolsScreen_DebuggerController: findType("DevToolsScreen<DebuggerController>"),
      DevToolsScreen_InspectorSettingsController: findType("DevToolsScreen<InspectorSettingsController>"),
      DevToolsScreen_LoggingController: findType("DevToolsScreen<LoggingController>"),
      DevToolsScreen_MemoryController: findType("DevToolsScreen<MemoryController>"),
      DevToolsScreen_NetworkController: findType("DevToolsScreen<NetworkController>"),
      DevToolsScreen_PerformanceController: findType("DevToolsScreen<PerformanceController>"),
      DevToolsScreen_ProfilerScreenController: findType("DevToolsScreen<ProfilerScreenController>"),
      DevToolsScreen_VMDeveloperToolsController: findType("DevToolsScreen<VMDeveloperToolsController>"),
      DevToolsScreen_void: findType("DevToolsScreen<~>"),
      DiagnosticableTree: findType("DiagnosticableTree"),
      DiagnosticsNode: findType("DiagnosticsNode"),
      DiagnosticsProperty_Object: findType("DiagnosticsProperty<Object>"),
      DiffTreeType: findType("DiffTreeType"),
      Directionality: findType("Directionality"),
      DismissIntent: findType("DismissIntent"),
      DisposableBuildContext_State_Image: findType("DisposableBuildContext<State<Image>>"),
      DividerTheme: findType("DividerTheme"),
      Document: findType("Document0"),
      DominatorTreeNode: findType("DominatorTreeNode"),
      DoubleLinkedQueue_ProviderElementBase_dynamic: findType("DoubleLinkedQueue<ProviderElementBase<@>>"),
      DragStartDetails: findType("DragStartDetails"),
      DragUpdateDetails: findType("DragUpdateDetails"),
      DropdownButtonHideUnderline: findType("DropdownButtonHideUnderline"),
      DropdownMenuItem_ExceptionMode: findType("DropdownMenuItem<ExceptionMode>"),
      DropdownMenuItem_Object: findType("DropdownMenuItem<Object>"),
      DropdownMenuItem_String: findType("DropdownMenuItem<String>"),
      DualValueListenableBuilder_bool_bool: findType("DualValueListenableBuilder<bool,bool>"),
      DualValueListenableBuilder_of_List_BreakpointAndSourcePosition_and_nullable_BreakpointAndSourcePosition: findType("DualValueListenableBuilder<List<BreakpointAndSourcePosition>,BreakpointAndSourcePosition?>"),
      DualValueListenableBuilder_of_List_FlutterFrame_and_double: findType("DualValueListenableBuilder<List<FlutterFrame>,double>"),
      DualValueListenableBuilder_of_List_LayerSnapshot_and_bool: findType("DualValueListenableBuilder<List<LayerSnapshot>,bool>"),
      DualValueListenableBuilder_of_List_StackFrameAndSourcePosition_and_nullable_StackFrameAndSourcePosition: findType("DualValueListenableBuilder<List<StackFrameAndSourcePosition>,StackFrameAndSourcePosition?>"),
      DualValueListenableBuilder_of_List_nullable_IsolateRef_and_nullable_IsolateRef: findType("DualValueListenableBuilder<List<IsolateRef?>,IsolateRef?>"),
      DualValueListenableBuilder_of_NetworkRequests_and_List_NetworkRequest: findType("DualValueListenableBuilder<NetworkRequests,List<NetworkRequest>>"),
      DualValueListenableBuilder_of_bool_and_nullable_TrackWidgetBuildsScope: findType("DualValueListenableBuilder<bool,TrackWidgetBuildsScope?>"),
      DualValueListenableBuilder_of_nullable_ScriptRef_and_nullable_ParsedScript: findType("DualValueListenableBuilder<ScriptRef?,ParsedScript?>"),
      Duration: findType("Duration"),
      Edge: findType("Edge"),
      EdgeInsetsGeometry: findType("EdgeInsetsGeometry"),
      EfficientLengthIterable_dynamic: findType("EfficientLengthIterable<@>"),
      Element: findType("Element1"),
      Element_2: findType("Element"),
      ElevatedButtonTheme: findType("ElevatedButtonTheme"),
      EngineParagraphStyle: findType("EngineParagraphStyle"),
      EnginePicture: findType("EnginePicture"),
      EnginePictureRecorder: findType("EnginePictureRecorder"),
      EngineTextStyle: findType("EngineTextStyle"),
      Enum: findType("Enum"),
      Error: findType("Error0"),
      ErrorEvent: findType("ErrorEvent"),
      ErrorRef: findType("ErrorRef"),
      EvalOnDartLibrary: findType("EvalOnDartLibrary"),
      Event: findType("Event0"),
      Event_2: findType("Event"),
      Exception: findType("Exception"),
      ExceptionMode: findType("ExceptionMode"),
      ExpandIterable_ScopeSpan_ScopeSpan: findType("ExpandIterable<ScopeSpan,ScopeSpan>"),
      ExpandIterable__SemanticsSortGroup_SemanticsNode: findType("ExpandIterable<_SemanticsSortGroup,SemanticsNode>"),
      Expando_BoxHitTestResult: findType("Expando<BoxHitTestResult>"),
      Expando_double: findType("Expando<double>"),
      ExpansionTileTheme: findType("ExpansionTileTheme"),
      ExrAttribute: findType("ExrAttribute"),
      ExrHufDec: findType("ExrHufDec"),
      ExternalReference: findType("ExternalReference"),
      ExternalReferences: findType("ExternalReferences"),
      FEBlendElement: findType("FEBlendElement"),
      FEColorMatrixElement: findType("FEColorMatrixElement"),
      FECompositeElement: findType("FECompositeElement"),
      FEFloodElement: findType("FEFloodElement"),
      Family_of_dynamic_and_dynamic_and_ProviderBase_dynamic: findType("Family<@,@,ProviderBase<@>>"),
      Field: findType("Field"),
      FieldRef: findType("FieldRef"),
      FieldReference: findType("FieldReference"),
      File: findType("File"),
      FileList: findType("FileList"),
      FileSpan: findType("FileSpan"),
      FilterElement: findType("FilterElement"),
      Filter_CpuStackFrame: findType("Filter<CpuStackFrame>"),
      FilteredReference: findType("FilteredReference"),
      FixedValueListenable_LinkedHashMap_String_DevToolsError: findType("FixedValueListenable<LinkedHashMap<String,DevToolsError>>"),
      FixedValueListenable_List_DartObjectNode: findType("FixedValueListenable<List<DartObjectNode>>"),
      FixedValueListenable_bool: findType("FixedValueListenable<bool>"),
      Flag: findType("Flag"),
      FlagList: findType("FlagList"),
      FlameChartNode_FlameChartDataMixin_dynamic: findType("FlameChartNode<FlameChartDataMixin<@>>"),
      FlatTextSpan: findType("FlatTextSpan"),
      FlexFit: findType("FlexFit"),
      FlexLayoutProperties: findType("FlexLayoutProperties"),
      FlexParentData: findType("FlexParentData"),
      FlexibleSpaceBarSettings: findType("FlexibleSpaceBarSettings"),
      Float32List: findType("Float32List"),
      Float64List: findType("Float64List"),
      FlutterError: findType("FlutterError"),
      FlutterFrame: findType("FlutterFrame"),
      FocusNode: findType("FocusNode"),
      FocusScopeNode: findType("FocusScopeNode"),
      FormatException: findType("FormatException"),
      Frame: findType("Frame"),
      FrameInfo: findType("FrameInfo"),
      FrameReference_PersistedSurface: findType("FrameReference<PersistedSurface>"),
      FrameTimelineEventData: findType("FrameTimelineEventData"),
      Frame_2: findType("Frame1"),
      Func: findType("Func"),
      FuncRef: findType("FuncRef"),
      Function: findType("Function"),
      FutureBuilder_void: findType("FutureBuilder<~>"),
      FutureOr_Class: findType("Class/"),
      FutureOr_EvalOnDartLibrary: findType("EvalOnDartLibrary/"),
      FutureOr_Instance: findType("Instance/"),
      FutureOr_nullable_InstanceDetails: findType("InstanceDetails?/"),
      FutureOr_nullable_InstanceRef: findType("InstanceRef?/"),
      Future_BreakpointAndSourcePosition: findType("Future<BreakpointAndSourcePosition>"),
      Future_EvalOnDartLibrary: findType("Future<EvalOnDartLibrary>"),
      Future_InstanceDetails: findType("Future<InstanceDetails>"),
      Future_List_String: findType("Future<List<String>>"),
      Future_Map_String_dynamic_Function_Map_String_dynamic: findType("Future<Map<String,@>>(Map<String,@>)"),
      Future_Obj: findType("Future<Obj>"),
      Future_ProviderNode: findType("Future<ProviderNode>"),
      Future_Script: findType("Future<Script>"),
      Future_ServiceExtensionResponse_Function_2_String_and_Map_String_String: findType("Future<ServiceExtensionResponse>(String,Map<String,String>)"),
      Future_Set_nullable_String: findType("Future<Set<String?>>"),
      Future_Success: findType("Future<Success>"),
      Future_VmServiceWrapper: findType("Future<VmServiceWrapper>"),
      Future_bool: findType("Future<bool>"),
      Future_bool_Function: findType("Future<bool>()"),
      Future_dynamic: findType("Future<@>"),
      Future_void: findType("Future<~>"),
      GeneralConstantMap_MaterialState_Null: findType("GeneralConstantMap<MaterialState,Null>"),
      GeneralConstantMap_ShortcutActivator_Intent: findType("GeneralConstantMap<ShortcutActivator,Intent>"),
      GeneralConstantMap_int_Color: findType("GeneralConstantMap<int,Color>"),
      GeneralConstantMap_int_PhysicalKeyboardKey: findType("GeneralConstantMap<int,PhysicalKeyboardKey>"),
      GeneralConstantMap_int_String: findType("GeneralConstantMap<int,String>"),
      GestureArenaEntry: findType("GestureArenaEntry"),
      GestureRecognizer: findType("GestureRecognizer"),
      GestureRecognizerFactoryWithHandlers_DoubleTapGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<DoubleTapGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_ForcePressGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<ForcePressGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_HorizontalDragGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<HorizontalDragGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_LongPressGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<LongPressGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_PanGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<PanGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_TapGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<TapGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers_VerticalDragGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<VerticalDragGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers__ThumbPressGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<_ThumbPressGestureRecognizer>"),
      GestureRecognizerFactoryWithHandlers__TrackTapGestureRecognizer: findType("GestureRecognizerFactoryWithHandlers<_TrackTapGestureRecognizer>"),
      GestureRecognizerFactory_GestureRecognizer: findType("GestureRecognizerFactory<GestureRecognizer>"),
      GlobalKey_State_StatefulWidget: findType("GlobalKey<State<StatefulWidget>>"),
      GlobalObjectKey_NavigatorState: findType("GlobalObjectKey<NavigatorState>"),
      GlobalObjectKey_State_StatefulWidget: findType("GlobalObjectKey<State<StatefulWidget>>"),
      HTreeGroup: findType("HTreeGroup"),
      HashedObserverList_of_void_Function_FocusHighlightMode: findType("HashedObserverList<~(FocusHighlightMode)>"),
      HdrSlice: findType("HdrSlice"),
      HeapGraphClassLive: findType("HeapGraphClassLive"),
      HeapGraphElementLive: findType("HeapGraphElementLive"),
      HeapPriorityQueue__TaskEntry_dynamic: findType("HeapPriorityQueue<_TaskEntry<@>>"),
      HeapSample: findType("HeapSample"),
      HeapSnapshotGraph: findType("HeapSnapshotGraph"),
      Hero: findType("Hero"),
      HeroControllerScope: findType("HeroControllerScope"),
      HitTestEntry_HitTestTarget: findType("HitTestEntry<HitTestTarget>"),
      HitTestResult: findType("HitTestResult"),
      HitTestTarget: findType("HitTestTarget"),
      HorizontalLineSegment: findType("HorizontalLineSegment"),
      HoverCardData: findType("HoverCardData"),
      HtmlElement: findType("HtmlElement"),
      HtmlImage: findType("HtmlImage"),
      HttpProfile: findType("HttpProfile"),
      HttpProfileRequest: findType("HttpProfileRequest"),
      HttpRequest: findType("HttpRequest"),
      HttpTimelineLoggingState: findType("HttpTimelineLoggingState"),
      HuffmanTree: findType("HuffmanTree"),
      IcoInfoImage: findType("IcoInfoImage"),
      IconTheme: findType("IconTheme"),
      Image: findType("Image1"),
      ImageChunkEvent: findType("ImageChunkEvent"),
      ImageData: findType("ImageData"),
      ImageElement: findType("ImageElement"),
      ImageSizeInfo: findType("ImageSizeInfo"),
      ImageSizesForFrame: findType("ImageSizesForFrame"),
      ImageStreamListener: findType("ImageStreamListener"),
      ImmediateValueNotifier_bool: findType("ImmediateValueNotifier<bool>"),
      ImmutableBuffer: findType("ImmutableBuffer"),
      ImportController: findType("ImportController"),
      InboundReference: findType("InboundReference"),
      IndexedSlot_nullable_Element: findType("IndexedSlot<Element?>"),
      InheritedElement: findType("InheritedElement"),
      InheritedTheme: findType("InheritedTheme"),
      InheritedWidget: findType("InheritedWidget"),
      InlineSyntax: findType("InlineSyntax"),
      InputBorder: findType("InputBorder"),
      InputElement: findType("InputElement"),
      InspectableWidgetError: findType("InspectableWidgetError"),
      InspectorControllerClient: findType("InspectorControllerClient"),
      InspectorInstanceRef: findType("InspectorInstanceRef"),
      InspectorService: findType("InspectorService"),
      InspectorServiceClient: findType("InspectorServiceClient"),
      InspectorTreeNode: findType("InspectorTreeNode"),
      Instance: findType("Instance"),
      InstanceDetails: findType("InstanceDetails"),
      InstanceRef: findType("InstanceRef"),
      Int32List: findType("Int32List"),
      IntTween: findType("IntTween"),
      Intent: findType("Intent"),
      InteractiveInkFeature: findType("InteractiveInkFeature"),
      InteractiveInkFeatureFactory: findType("InteractiveInkFeatureFactory"),
      InternalStyle: findType("InternalStyle"),
      Isolate: findType("Isolate"),
      IsolateFlag: findType("IsolateFlag"),
      IsolateGroupRef: findType("IsolateGroupRef"),
      IsolateRef: findType("IsolateRef"),
      IsolateState: findType("IsolateState"),
      IterableEquality_dynamic: findType("IterableEquality<@>"),
      Iterable_dynamic: findType("Iterable<@>"),
      Iterable_nullable_Widget: findType("Iterable<Widget?>"),
      JSArray_AllocationSamples: findType("JSArray<AllocationSamples>"),
      JSArray_AllocationStackTrace: findType("JSArray<AllocationStackTrace>"),
      JSArray_AnalysisField: findType("JSArray<AnalysisField>"),
      JSArray_AnalysisSnapshotReference: findType("JSArray<AnalysisSnapshotReference>"),
      JSArray_AnimationStatus: findType("JSArray<AnimationStatus>"),
      JSArray_AnsiUpColor: findType("JSArray<AnsiUpColor>"),
      JSArray_AsyncTimelineEvent: findType("JSArray<AsyncTimelineEvent>"),
      JSArray_AutoCompleteMatch: findType("JSArray<AutoCompleteMatch>"),
      JSArray_AutoCompleteTile: findType("JSArray<AutoCompleteTile>"),
      JSArray_AutoDisposeProviderElementBase_dynamic: findType("JSArray<AutoDisposeProviderElementBase<@>>"),
      JSArray_BannerMessage: findType("JSArray<BannerMessage>"),
      JSArray_BlockSyntax: findType("JSArray<BlockSyntax>"),
      JSArray_BoundVariable: findType("JSArray<BoundVariable>"),
      JSArray_BoxShadow: findType("JSArray<BoxShadow>"),
      JSArray_Breakpoint: findType("JSArray<Breakpoint>"),
      JSArray_BreakpointAndSourcePosition: findType("JSArray<BreakpointAndSourcePosition>"),
      JSArray_ByteData: findType("JSArray<ByteData>"),
      JSArray_CallGraphNode: findType("JSArray<CallGraphNode>"),
      JSArray_CanvasElement: findType("JSArray<CanvasElement>"),
      JSArray_CkCanvas: findType("JSArray<CkCanvas>"),
      JSArray_CkPaintCommand: findType("JSArray<CkPaintCommand>"),
      JSArray_CkTextStyle: findType("JSArray<CkTextStyle>"),
      JSArray_ClassHeapDetailStats: findType("JSArray<ClassHeapDetailStats>"),
      JSArray_ClassReference: findType("JSArray<ClassReference>"),
      JSArray_CodeunitRange: findType("JSArray<CodeunitRange>"),
      JSArray_Color: findType("JSArray<Color>"),
      JSArray_ColorPair: findType("JSArray<ColorPair>"),
      JSArray_ColumnData_AnalysisField: findType("JSArray<ColumnData<AnalysisField>>"),
      JSArray_ColumnData_CallGraphNode: findType("JSArray<ColumnData<CallGraphNode>>"),
      JSArray_ColumnData_ClassHeapDetailStats: findType("JSArray<ColumnData<ClassHeapDetailStats>>"),
      JSArray_ColumnData_DominatorTreeNode: findType("JSArray<ColumnData<DominatorTreeNode>>"),
      JSArray_ColumnData_FieldReference: findType("JSArray<ColumnData<FieldReference>>"),
      JSArray_ColumnData_InstanceRef: findType("JSArray<ColumnData<InstanceRef>>"),
      JSArray_ColumnData_Isolate: findType("JSArray<ColumnData<Isolate>>"),
      JSArray_ColumnData_LayerSnapshot: findType("JSArray<ColumnData<LayerSnapshot>>"),
      JSArray_ColumnData_LogData: findType("JSArray<ColumnData<LogData>>"),
      JSArray_ColumnData_Reference: findType("JSArray<ColumnData<Reference>>"),
      JSArray_ColumnData_String: findType("JSArray<ColumnData<String>>"),
      JSArray_ColumnData_Tracker: findType("JSArray<ColumnData<Tracker>>"),
      JSArray_ColumnData_VMTag: findType("JSArray<ColumnData<VMTag>>"),
      JSArray_ColumnData__DialogFlag: findType("JSArray<ColumnData<_DialogFlag>>"),
      JSArray_ColumnData_nullable_NetworkRequest: findType("JSArray<ColumnData<NetworkRequest?>>"),
      JSArray_ComponentData: findType("JSArray<ComponentData>"),
      JSArray_Conic: findType("JSArray<Conic>"),
      JSArray_ConsoleLine: findType("JSArray<ConsoleLine>"),
      JSArray_Container: findType("JSArray<Container>"),
      JSArray_ContainerLayer: findType("JSArray<ContainerLayer0>"),
      JSArray_Cookie: findType("JSArray<Cookie>"),
      JSArray_CpuSample: findType("JSArray<CpuSample0>"),
      JSArray_CpuSample_2: findType("JSArray<CpuSample>"),
      JSArray_CpuStackFrame: findType("JSArray<CpuStackFrame>"),
      JSArray_CrossAxisAlignment: findType("JSArray<CrossAxisAlignment>"),
      JSArray_DartIOHttpInstantEvent: findType("JSArray<DartIOHttpInstantEvent>"),
      JSArray_DartIOHttpRequestData: findType("JSArray<DartIOHttpRequestData>"),
      JSArray_DartObjectNode: findType("JSArray<DartObjectNode>"),
      JSArray_Data: findType("JSArray<Data>"),
      JSArray_DataCell: findType("JSArray<DataCell>"),
      JSArray_DataColumn: findType("JSArray<DataColumn>"),
      JSArray_DataRow: findType("JSArray<DataRow>"),
      JSArray_DataSearchStateMixin: findType("JSArray<DataSearchStateMixin>"),
      JSArray_Delimiter: findType("JSArray<Delimiter>"),
      JSArray_DevToolsScreen_dynamic: findType("JSArray<DevToolsScreen<@>>"),
      JSArray_DevToolsTab: findType("JSArray<DevToolsTab>"),
      JSArray_DiagnosticsNode: findType("JSArray<DiagnosticsNode>"),
      JSArray_Directionality: findType("JSArray<Directionality>"),
      JSArray_DominatorTreeNode: findType("JSArray<DominatorTreeNode>"),
      JSArray_DropdownMenuItem_DiffTreeType: findType("JSArray<DropdownMenuItem<DiffTreeType>>"),
      JSArray_DropdownMenuItem_ExceptionMode: findType("JSArray<DropdownMenuItem<ExceptionMode>>"),
      JSArray_DropdownMenuItem_FlexFit: findType("JSArray<DropdownMenuItem<FlexFit>>"),
      JSArray_DropdownMenuItem_Object: findType("JSArray<DropdownMenuItem<Object>>"),
      JSArray_DropdownMenuItem_String: findType("JSArray<DropdownMenuItem<String>>"),
      JSArray_DropdownMenuItem_int: findType("JSArray<DropdownMenuItem<int>>"),
      JSArray_Element: findType("JSArray<Element>"),
      JSArray_Element_2: findType("JSArray<Element0>"),
      JSArray_EngineLineMetrics: findType("JSArray<EngineLineMetrics>"),
      JSArray_EventSample: findType("JSArray<EventSample>"),
      JSArray_ExrChannel: findType("JSArray<ExrChannel>"),
      JSArray_ExtensionEvent: findType("JSArray<ExtensionEvent>"),
      JSArray_ExtensionState: findType("JSArray<ExtensionState>"),
      JSArray_ExternalReference: findType("JSArray<ExternalReference>"),
      JSArray_FieldReference: findType("JSArray<FieldReference>"),
      JSArray_Flag: findType("JSArray<Flag>"),
      JSArray_FlameChartRow_CpuStackFrame: findType("JSArray<FlameChartRow<CpuStackFrame>>"),
      JSArray_FlameChartRow_TimelineEvent: findType("JSArray<FlameChartRow<TimelineEvent0>>"),
      JSArray_FlameChartSection: findType("JSArray<FlameChartSection>"),
      JSArray_FlutterFrame: findType("JSArray<FlutterFrame>"),
      JSArray_FocusNode: findType("JSArray<FocusNode>"),
      JSArray_FontFeature: findType("JSArray<FontFeature>"),
      JSArray_Frame: findType("JSArray<Frame1>"),
      JSArray_FrameReference_dynamic: findType("JSArray<FrameReference<@>>"),
      JSArray_FrameTiming: findType("JSArray<FrameTiming>"),
      JSArray_Frame_2: findType("JSArray<Frame>"),
      JSArray_FreeSpaceVisualizerWidget: findType("JSArray<FreeSpaceVisualizerWidget>"),
      JSArray_Future_DartObjectNode: findType("JSArray<Future<DartObjectNode>>"),
      JSArray_Future_Instance: findType("JSArray<Future<Instance>>"),
      JSArray_Future_InstanceDetails: findType("JSArray<Future<InstanceDetails>>"),
      JSArray_Future_List_Obj: findType("JSArray<Future<List<Obj>>>"),
      JSArray_Future_Set_String: findType("JSArray<Future<Set<String>>>"),
      JSArray_Future_bool: findType("JSArray<Future<bool>>"),
      JSArray_Future_dynamic: findType("JSArray<Future<@>>"),
      JSArray_Future_nullable_RegisteredFont: findType("JSArray<Future<RegisteredFont?>>"),
      JSArray_Future_void: findType("JSArray<Future<~>>"),
      JSArray_GestureArenaMember: findType("JSArray<GestureArenaMember>"),
      JSArray_GestureRecognizer: findType("JSArray<GestureRecognizer>"),
      JSArray_GifImageDesc: findType("JSArray<GifImageDesc>"),
      JSArray_HTreeGroup: findType("JSArray<HTreeGroup>"),
      JSArray_HeapGraphElement: findType("JSArray<HeapGraphElement>"),
      JSArray_HeapGraphElementLive: findType("JSArray<HeapGraphElementLive>"),
      JSArray_HeapGraphExternalLive: findType("JSArray<HeapGraphExternalLive>"),
      JSArray_HeapSample: findType("JSArray<HeapSample>"),
      JSArray_HeapSnapshotClass: findType("JSArray<HeapSnapshotClass>"),
      JSArray_HeapSnapshotExternalProperty: findType("JSArray<HeapSnapshotExternalProperty>"),
      JSArray_HeapSnapshotField: findType("JSArray<HeapSnapshotField>"),
      JSArray_HeapSnapshotObject: findType("JSArray<HeapSnapshotObject>"),
      JSArray_HitTestEntry_HitTestTarget: findType("JSArray<HitTestEntry<HitTestTarget>>"),
      JSArray_HorizontalLineSegment: findType("JSArray<HorizontalLineSegment>"),
      JSArray_HttpProfileRequest: findType("JSArray<HttpProfileRequest>"),
      JSArray_ImageStreamListener: findType("JSArray<ImageStreamListener>"),
      JSArray_InheritedTheme: findType("JSArray<InheritedTheme>"),
      JSArray_InkFeature: findType("JSArray<InkFeature>"),
      JSArray_InlineSpan: findType("JSArray<InlineSpan>"),
      JSArray_InlineSpanSemanticsInformation: findType("JSArray<InlineSpanSemanticsInformation>"),
      JSArray_InlineSyntax: findType("JSArray<InlineSyntax>"),
      JSArray_InspectorTreeNode: findType("JSArray<InspectorTreeNode>"),
      JSArray_InspectorTreeRow: findType("JSArray<InspectorTreeRow>"),
      JSArray_Instance: findType("JSArray<Instance>"),
      JSArray_InstanceRef: findType("JSArray<InstanceRef>"),
      JSArray_InternalExrPart: findType("JSArray<InternalExrPart>"),
      JSArray_Isolate: findType("JSArray<Isolate>"),
      JSArray_IsolateRef: findType("JSArray<IsolateRef>"),
      JSArray_JavaScriptObject: findType("JSArray<JavaScriptObject>"),
      JSArray_KeepAliveLink: findType("JSArray<KeepAliveLink>"),
      JSArray_KeepAliveWrapper: findType("JSArray<KeepAliveWrapper>"),
      JSArray_KeyEvent: findType("JSArray<KeyEvent>"),
      JSArray_KeyEventResult: findType("JSArray<KeyEventResult>"),
      JSArray_Layer: findType("JSArray<Layer>"),
      JSArray_LayerSnapshot: findType("JSArray<LayerSnapshot>"),
      JSArray_LayoutId: findType("JSArray<LayoutId>"),
      JSArray_LayoutProperties: findType("JSArray<LayoutProperties>"),
      JSArray_LegendEntry: findType("JSArray<LegendEntry>"),
      JSArray_LibraryFilter: findType("JSArray<LibraryFilter>"),
      JSArray_LibraryRef: findType("JSArray<LibraryRef>"),
      JSArray_LicenseEntry: findType("JSArray<LicenseEntry>"),
      JSArray_LineMetrics: findType("JSArray<LineMetrics>"),
      JSArray_LineSegment: findType("JSArray<LineSegment>"),
      JSArray_ListItem: findType("JSArray<ListItem>"),
      JSArray_List_AnsiUpColor: findType("JSArray<List<AnsiUpColor>>"),
      JSArray_List_List_List_int: findType("JSArray<List<List<List<int>>>>"),
      JSArray_List_List_int: findType("JSArray<List<List<int>>>"),
      JSArray_List_String: findType("JSArray<List<String>>"),
      JSArray_List_TimelineEvent: findType("JSArray<List<TimelineEvent0>>"),
      JSArray_List_int: findType("JSArray<List<int>>"),
      JSArray_Listenable: findType("JSArray<Listenable>"),
      JSArray_Locale: findType("JSArray<Locale>"),
      JSArray_LocalizationsDelegate_dynamic: findType("JSArray<LocalizationsDelegate<@>>"),
      JSArray_LogData: findType("JSArray<LogData>"),
      JSArray_LogicalKeyboardKey: findType("JSArray<LogicalKeyboardKey>"),
      JSArray_MapAssociation: findType("JSArray<MapAssociation>"),
      JSArray_MapEntry_String_HeapGraphElement: findType("JSArray<MapEntry<String,HeapGraphElement>>"),
      JSArray_MapEntry_String_TimelineStream: findType("JSArray<MapEntry<String,TimelineStream>>"),
      JSArray_MapEntry_dynamic_dynamic: findType("JSArray<MapEntry<@,@>>"),
      JSArray_Map_String_Object: findType("JSArray<Map<String,Object>>"),
      JSArray_Map_String_bool: findType("JSArray<Map<String,bool>>"),
      JSArray_Map_String_dynamic: findType("JSArray<Map<String,@>>"),
      JSArray_Map_dynamic_dynamic: findType("JSArray<Map<@,@>>"),
      JSArray_Matrix4: findType("JSArray<Matrix40>"),
      JSArray_Matrix4_2: findType("JSArray<Matrix4>"),
      JSArray_Mutator: findType("JSArray<Mutator>"),
      JSArray_NavigationRailDestination: findType("JSArray<NavigationRailDestination>"),
      JSArray_NavigatorObserver: findType("JSArray<NavigatorObserver>"),
      JSArray_NetworkRequest: findType("JSArray<NetworkRequest>"),
      JSArray_Node: findType("JSArray<Node0>"),
      JSArray_Node_2: findType("JSArray<Node1>"),
      JSArray_NotificationAction: findType("JSArray<NotificationAction>"),
      JSArray_NotoFont: findType("JSArray<NotoFont>"),
      JSArray_Object: findType("JSArray<Object>"),
      JSArray_Offset: findType("JSArray<Offset>"),
      JSArray_OverlayEntry: findType("JSArray<OverlayEntry>"),
      JSArray_PageStorageKey_dynamic: findType("JSArray<PageStorageKey<@>>"),
      JSArray_Page_dynamic: findType("JSArray<Page<@>>"),
      JSArray_PaintCommand: findType("JSArray<PaintCommand>"),
      JSArray_PaintRequest: findType("JSArray<PaintRequest>"),
      JSArray_ParagraphSpan: findType("JSArray<ParagraphSpan>"),
      JSArray_Parameter: findType("JSArray<Parameter>"),
      JSArray_PathToProperty: findType("JSArray<PathToProperty>"),
      JSArray_PersistedContainerSurface: findType("JSArray<PersistedContainerSurface>"),
      JSArray_PersistedSurface: findType("JSArray<PersistedSurface>"),
      JSArray_PlaceholderDimensions: findType("JSArray<PlaceholderDimensions>"),
      JSArray_PlaceholderSpan: findType("JSArray<PlaceholderSpan0>"),
      JSArray_PngFrame: findType("JSArray<PngFrame>"),
      JSArray_PointerData: findType("JSArray<PointerData>"),
      JSArray_PointerEvent: findType("JSArray<PointerEvent0>"),
      JSArray_PopupMenuEntry_ScriptPopupMenuOption: findType("JSArray<PopupMenuEntry<ScriptPopupMenuOption>>"),
      JSArray_PopupMenuItem_dynamic: findType("JSArray<PopupMenuItem<@>>"),
      JSArray_PositionedCell: findType("JSArray<PositionedCell>"),
      JSArray_PreferredSizeWidget: findType("JSArray<PreferredSizeWidget>"),
      JSArray_ProgramInfoNode: findType("JSArray<ProgramInfoNode>"),
      JSArray_ProviderContainer: findType("JSArray<ProviderContainer>"),
      JSArray_ProviderElementBase_dynamic: findType("JSArray<ProviderElementBase<@>>"),
      JSArray_ProviderObserver: findType("JSArray<ProviderObserver>"),
      JSArray_ProviderOrFamily: findType("JSArray<ProviderOrFamily>"),
      JSArray_ProviderSubscription_dynamic: findType("JSArray<ProviderSubscription<@>>"),
      JSArray_PsdChannel: findType("JSArray<PsdChannel>"),
      JSArray_PsdEffect: findType("JSArray<PsdEffect>"),
      JSArray_PsdLayer: findType("JSArray<PsdLayer>"),
      JSArray_Radius: findType("JSArray<Radius>"),
      JSArray_Range: findType("JSArray<Range>"),
      JSArray_RangeBox: findType("JSArray<RangeBox>"),
      JSArray_RebuildLocation: findType("JSArray<RebuildLocation>"),
      JSArray_Rect: findType("JSArray<Rect>"),
      JSArray_Reference: findType("JSArray<Reference>"),
      JSArray_RegisteredFont: findType("JSArray<RegisteredFont>"),
      JSArray_RemoteDiagnosticsNode: findType("JSArray<RemoteDiagnosticsNode>"),
      JSArray_RenderBox: findType("JSArray<RenderBox>"),
      JSArray_RenderEditablePainter: findType("JSArray<RenderEditablePainter>"),
      JSArray_RenderObject: findType("JSArray<RenderObject>"),
      JSArray_RenderProperties: findType("JSArray<RenderProperties>"),
      JSArray_RenderSliver: findType("JSArray<RenderSliver>"),
      JSArray_RestorationBucket: findType("JSArray<RestorationBucket>"),
      JSArray_RouteTransitionRecord: findType("JSArray<RouteTransitionRecord>"),
      JSArray_Row: findType("JSArray<Row>"),
      JSArray_SaveClipEntry: findType("JSArray<SaveClipEntry>"),
      JSArray_SaveStackEntry: findType("JSArray<SaveStackEntry>"),
      JSArray_ScopeSpan: findType("JSArray<ScopeSpan>"),
      JSArray_Screen: findType("JSArray<Screen>"),
      JSArray_ScriptRef: findType("JSArray<ScriptRef>"),
      JSArray_ScrollPosition: findType("JSArray<ScrollPosition>"),
      JSArray_Selectable: findType("JSArray<Selectable>"),
      JSArray_SelectionRect: findType("JSArray<SelectionRect>"),
      JSArray_SemanticsNode: findType("JSArray<SemanticsNode>"),
      JSArray_SemanticsNodeUpdate: findType("JSArray<SemanticsNodeUpdate>"),
      JSArray_SemanticsObject: findType("JSArray<SemanticsObject>"),
      JSArray_ShaderDeclaration: findType("JSArray<ShaderDeclaration>"),
      JSArray_ShaderMethod: findType("JSArray<ShaderMethod>"),
      JSArray_Shadow: findType("JSArray<Shadow>"),
      JSArray_ShapeBorder: findType("JSArray<ShapeBorder>"),
      JSArray_Snapshot: findType("JSArray<Snapshot>"),
      JSArray_SocketStatistic: findType("JSArray<SocketStatistic>"),
      JSArray_SourcePosition: findType("JSArray<SourcePosition>"),
      JSArray_SourceToken: findType("JSArray<SourceToken>"),
      JSArray_StackFrameAndSourcePosition: findType("JSArray<StackFrameAndSourcePosition>"),
      JSArray_StreamSubscription_Event: findType("JSArray<StreamSubscription<Event0>>"),
      JSArray_StreamSubscription_dynamic: findType("JSArray<StreamSubscription<@>>"),
      JSArray_String: findType("JSArray<String>"),
      JSArray_StringAttribute: findType("JSArray<StringAttribute>"),
      JSArray_StyleNode: findType("JSArray<StyleNode>"),
      JSArray_Surface: findType("JSArray<Surface>"),
      JSArray_SyncTimelineEvent: findType("JSArray<SyncTimelineEvent>"),
      JSArray_Tab: findType("JSArray<Tab>"),
      JSArray_TableRow: findType("JSArray<TableRow0>"),
      JSArray_TextBox: findType("JSArray<TextBox>"),
      JSArray_TextEditingDelta: findType("JSArray<TextEditingDelta>"),
      JSArray_TextEditingValue: findType("JSArray<TextEditingValue>"),
      JSArray_TextInputFormatter: findType("JSArray<TextInputFormatter>"),
      JSArray_TextSelectionPoint: findType("JSArray<TextSelectionPoint>"),
      JSArray_TextSpan: findType("JSArray<TextSpan>"),
      JSArray_ThemeExtension_ThemeExtension_dynamic: findType("JSArray<ThemeExtension<ThemeExtension<@>>>"),
      JSArray_TiffImage: findType("JSArray<TiffImage>"),
      JSArray_TimelineEvent: findType("JSArray<TimelineEvent0>"),
      JSArray_TimelineRowData: findType("JSArray<TimelineRowData>"),
      JSArray_ToggleFilter_CpuStackFrame: findType("JSArray<ToggleFilter<CpuStackFrame>>"),
      JSArray_ToggleableServiceExtensionDescription_dynamic: findType("JSArray<ToggleableServiceExtensionDescription<@>>"),
      JSArray_Trace: findType("JSArray<Trace0>"),
      JSArray_TraceEvent: findType("JSArray<TraceEvent>"),
      JSArray_TraceEventWrapper: findType("JSArray<TraceEventWrapper>"),
      JSArray_Trace_2: findType("JSArray<Trace>"),
      JSArray_Tracker: findType("JSArray<Tracker>"),
      JSArray_TreemapNode: findType("JSArray<TreemapNode>"),
      JSArray_Uint8List: findType("JSArray<Uint8List>"),
      JSArray_VMServiceObjectNode: findType("JSArray<VMServiceObjectNode>"),
      JSArray_VMTag: findType("JSArray<VMTag>"),
      JSArray_VP8FInfo: findType("JSArray<VP8FInfo>"),
      JSArray_VP8LTransform: findType("JSArray<VP8LTransform>"),
      JSArray_VerticalLineSegment: findType("JSArray<VerticalLineSegment>"),
      JSArray_WebPFrame: findType("JSArray<WebPFrame>"),
      JSArray_Widget: findType("JSArray<Widget>"),
      JSArray_WidgetsBindingObserver: findType("JSArray<WidgetsBindingObserver>"),
      JSArray_XTypeGroup: findType("JSArray<XTypeGroup>"),
      JSArray__ActivatorIntentPair: findType("JSArray<_ActivatorIntentPair>"),
      JSArray__Autofocus: findType("JSArray<_Autofocus>"),
      JSArray__BlockElement: findType("JSArray<_BlockElement>"),
      JSArray__BoxEdge: findType("JSArray<_BoxEdge>"),
      JSArray__CpuProfileTimelineTree: findType("JSArray<_CpuProfileTimelineTree>"),
      JSArray__DateFormatField: findType("JSArray<_DateFormatField>"),
      JSArray__DfsState: findType("JSArray<_DfsState>"),
      JSArray__DialogFlag: findType("JSArray<_DialogFlag>"),
      JSArray__DirectionalPolicyDataEntry: findType("JSArray<_DirectionalPolicyDataEntry>"),
      JSArray__Highlight: findType("JSArray<_Highlight>"),
      JSArray__InlineElement: findType("JSArray<_InlineElement>"),
      JSArray__InspectorBreadcrumbData: findType("JSArray<_InspectorBreadcrumbData>"),
      JSArray__InterestingSemanticsFragment: findType("JSArray<_InterestingSemanticsFragment>"),
      JSArray__Interval: findType("JSArray<_Interval>"),
      JSArray__JpegHuffman: findType("JSArray<_JpegHuffman>"),
      JSArray__Line: findType("JSArray<_Line>"),
      JSArray__LinkedScrollActivity: findType("JSArray<_LinkedScrollActivity>"),
      JSArray__LinkedScrollController: findType("JSArray<_LinkedScrollController>"),
      JSArray__Listener: findType("JSArray<_Listener>"),
      JSArray__Matcher: findType("JSArray<_Matcher>"),
      JSArray__Notification: findType("JSArray<_Notification>"),
      JSArray__ParagraphCommand: findType("JSArray<_ParagraphCommand>"),
      JSArray__ParentInkResponseState: findType("JSArray<_ParentInkResponseState>"),
      JSArray__Pending: findType("JSArray<_Pending>"),
      JSArray__PersistedSurfaceMatch: findType("JSArray<_PersistedSurfaceMatch>"),
      JSArray__ProviderListener_dynamic: findType("JSArray<_ProviderListener<@>>"),
      JSArray__ReadingOrderDirectionalGroupData: findType("JSArray<_ReadingOrderDirectionalGroupData>"),
      JSArray__ReadingOrderSortData: findType("JSArray<_ReadingOrderSortData>"),
      JSArray__ResolvedNotoSubset: findType("JSArray<_ResolvedNotoSubset>"),
      JSArray__RouteEntry: findType("JSArray<_RouteEntry>"),
      JSArray__RunMetrics: findType("JSArray<_RunMetrics>"),
      JSArray__SaveElementStackEntry: findType("JSArray<_SaveElementStackEntry>"),
      JSArray__ScribblePlaceholder: findType("JSArray<_ScribblePlaceholder>"),
      JSArray__SelectableFragment: findType("JSArray<_SelectableFragment>"),
      JSArray__SemanticsSortGroup: findType("JSArray<_SemanticsSortGroup>"),
      JSArray__StandardBottomSheet: findType("JSArray<_StandardBottomSheet>"),
      JSArray__TableElement: findType("JSArray<_TableElement0>"),
      JSArray__TableElementRow: findType("JSArray<_TableElementRow>"),
      JSArray__TableRowPartDisplayType: findType("JSArray<_TableRowPartDisplayType>"),
      JSArray__TableSlot: findType("JSArray<_TableSlot>"),
      JSArray__TransformPart: findType("JSArray<_TransformPart>"),
      JSArray__TraversalSortNode: findType("JSArray<_TraversalSortNode>"),
      JSArray_bool: findType("JSArray<bool>"),
      JSArray_double: findType("JSArray<double>"),
      JSArray_dynamic: findType("JSArray<@>"),
      JSArray_int: findType("JSArray<int>"),
      JSArray_nullable_CallGraphNode: findType("JSArray<CallGraphNode?>"),
      JSArray_nullable_InspectorTreeRow: findType("JSArray<InspectorTreeRow?>"),
      JSArray_nullable_JpegFrame: findType("JSArray<JpegFrame?>"),
      JSArray_nullable_List_dynamic: findType("JSArray<List<@>?>"),
      JSArray_nullable_LogicalKeyboardKey: findType("JSArray<LogicalKeyboardKey?>"),
      JSArray_nullable_PersistedSurface: findType("JSArray<PersistedSurface?>"),
      JSArray_nullable_Rect: findType("JSArray<Rect?>"),
      JSArray_nullable_RenderBox: findType("JSArray<RenderBox?>"),
      JSArray_nullable_Route_dynamic: findType("JSArray<Route<@>?>"),
      JSArray_nullable_SemanticsObject: findType("JSArray<SemanticsObject?>"),
      JSArray_nullable_ShapeBorder: findType("JSArray<ShapeBorder?>"),
      JSArray_nullable_StackTrace: findType("JSArray<StackTrace?>"),
      JSArray_nullable_String: findType("JSArray<String?>"),
      JSArray_nullable_Uint32List: findType("JSArray<Uint32List?>"),
      JSArray_nullable_Widget: findType("JSArray<Widget?>"),
      JSArray_nullable__AsyncBlock: findType("JSArray<_AsyncBlock?>"),
      JSArray_nullable_double: findType("JSArray<double?>"),
      JSArray_nullable_int: findType("JSArray<int?>"),
      JSArray_num: findType("JSArray<num>"),
      JSArray_of_Future_bool_Function: findType("JSArray<Future<bool>()>"),
      JSArray_of_Future_void_Function: findType("JSArray<Future<~>()>"),
      JSArray_of_Stream_LicenseEntry_Function: findType("JSArray<Stream<LicenseEntry>()>"),
      JSArray_of__DateFormatField_Function_String_DateFormat: findType("JSArray<_DateFormatField(String,DateFormat)>"),
      JSArray_of_bool_Function_KeyEvent: findType("JSArray<bool(KeyEvent)>"),
      JSArray_of_nullable_void_Function_GestureMode: findType("JSArray<~(GestureMode)?>"),
      JSArray_of_void_Function: findType("JSArray<~()>"),
      JSArray_of_void_Function_Action_Intent: findType("JSArray<~(Action<Intent>)>"),
      JSArray_of_void_Function_AnimationStatus: findType("JSArray<~(AnimationStatus)>"),
      JSArray_of_void_Function_Duration: findType("JSArray<~(Duration)>"),
      JSArray_of_void_Function_InputBuffer: findType("JSArray<~(InputBuffer)>"),
      JSArray_of_void_Function_List_FrameTiming: findType("JSArray<~(List<FrameTiming>)>"),
      JSArray_of_void_Function_Object_StackTrace: findType("JSArray<~(Object,StackTrace)>"),
      JSIndexable_dynamic: findType("JSIndexable<@>"),
      JSNull: findType("JSNull"),
      JSObject: findType("JSObject"),
      JavaScriptFunction: findType("JavaScriptFunction"),
      JavaScriptIndexingBehavior_dynamic: findType("JavaScriptIndexingBehavior<@>"),
      JavaScriptObject: findType("JavaScriptObject"),
      JavaScriptObject_Function_int: findType("JavaScriptObject(int)"),
      JavaScriptObject_Function_int_$named_params_nullable_Object: findType("JavaScriptObject(int{params:Object?})"),
      JpegComponent: findType("JpegComponent"),
      JsArray_dynamic: findType("JsArray<@>"),
      JsFunction: findType("JsFunction"),
      JsLinkedHashMap_Symbol_dynamic: findType("JsLinkedHashMap<Symbol0,@>"),
      KeepAliveParentDataMixin: findType("KeepAliveParentDataMixin"),
      Key: findType("Key"),
      KeyRange: findType("KeyRange"),
      KeyboardEvent: findType("KeyboardEvent"),
      KeyboardLockMode: findType("KeyboardLockMode"),
      KeyboardSide: findType("KeyboardSide"),
      LabeledGlobalKey_DrawerControllerState: findType("LabeledGlobalKey<DrawerControllerState>"),
      LabeledGlobalKey_EditableTextState: findType("LabeledGlobalKey<EditableTextState>"),
      LabeledGlobalKey_NavigatorState: findType("LabeledGlobalKey<NavigatorState>"),
      LabeledGlobalKey_OverlayState: findType("LabeledGlobalKey<OverlayState>"),
      LabeledGlobalKey_RawGestureDetectorState: findType("LabeledGlobalKey<RawGestureDetectorState>"),
      LabeledGlobalKey_State_StatefulWidget: findType("LabeledGlobalKey<State<StatefulWidget>>"),
      LabeledGlobalKey__OverlayEntryWidgetState: findType("LabeledGlobalKey<_OverlayEntryWidgetState>"),
      Layer: findType("Layer"),
      LayerScene: findType("LayerScene"),
      LayerSnapshot: findType("LayerSnapshot"),
      Layer_2: findType("Layer0"),
      LayoutProperties: findType("LayoutProperties"),
      LeaderLayer: findType("LeaderLayer"),
      Library: findType("Library"),
      LibraryClass: findType("LibraryClass"),
      LibraryDependency: findType("LibraryDependency"),
      LibraryRef: findType("LibraryRef"),
      LibraryReference: findType("LibraryReference"),
      LicenseEntry: findType("LicenseEntry"),
      LineCharProperty: findType("LineCharProperty"),
      LinkReference: findType("LinkReference"),
      LinkedHashMap_String_DevToolsError: findType("LinkedHashMap<String,DevToolsError>"),
      LinkedHashMap_String_InspectableWidgetError: findType("LinkedHashMap<String,InspectableWidgetError>"),
      LinkedHashSet_ChildBackButtonDispatcher: findType("LinkedHashSet<ChildBackButtonDispatcher>"),
      LinkedList__ListenerEntry: findType("LinkedList<_ListenerEntry>"),
      LinkedList__ListenerEntry_nullable_String: findType("LinkedList<_ListenerEntry0<String?>>"),
      ListBodyParentData: findType("ListBodyParentData"),
      ListEquality_dynamic: findType("ListEquality<@>"),
      ListIndexPath: findType("ListIndexPath"),
      ListTileTheme: findType("ListTileTheme"),
      List_ClassHeapDetailStats: findType("List<ClassHeapDetailStats>"),
      List_CodeunitRange: findType("List<CodeunitRange>"),
      List_DartObjectNode: findType("List<DartObjectNode>"),
      List_Element: findType("List<Element>"),
      List_FieldRef: findType("List<FieldRef>"),
      List_FrameTiming: findType("List<FrameTiming>"),
      List_Func: findType("List<Func>"),
      List_HttpProfileRequest: findType("List<HttpProfileRequest>"),
      List_Int32List: findType("List<Int32List>"),
      List_JavaScriptObject: findType("List<JavaScriptObject>"),
      List_LibraryFilter: findType("List<LibraryFilter>"),
      List_LicenseEntry: findType("List<LicenseEntry>"),
      List_Map_String_bool: findType("List<Map<String,bool>>"),
      List_Obj: findType("List<Obj>"),
      List_Object: findType("List<Object>"),
      List_ObjectField: findType("List<ObjectField>"),
      List_OverlayEntry: findType("List<OverlayEntry>"),
      List_PathToProperty: findType("List<PathToProperty>"),
      List_ProviderNode: findType("List<ProviderNode>"),
      List_Reference: findType("List<Reference>"),
      List_RemoteDiagnosticsNode: findType("List<RemoteDiagnosticsNode>"),
      List_RestorationBucket: findType("List<RestorationBucket>"),
      List_ScriptRef: findType("List<ScriptRef>"),
      List_SemanticsNode: findType("List<SemanticsNode>"),
      List_SocketStatistic: findType("List<SocketStatistic>"),
      List_SourcePosition: findType("List<SourcePosition>"),
      List_String: findType("List<String>"),
      List_VP8BandProbas: findType("List<VP8BandProbas>"),
      List_VP8FInfo: findType("List<VP8FInfo>"),
      List_Widget: findType("List<Widget>"),
      List_XFile: findType("List<XFile>"),
      List__ActivatorIntentPair: findType("List<_ActivatorIntentPair>"),
      List__Matcher: findType("List<_Matcher>"),
      List__RouteEntry: findType("List<_RouteEntry>"),
      List_dynamic: findType("List<@>"),
      List_int: findType("List<int>"),
      List_nullable_Object: findType("List<Object?>"),
      List_of_Future_void_Function: findType("List<Future<~>()>"),
      Listenable: findType("Listenable"),
      LocalKey: findType("LocalKey"),
      Locale: findType("Locale"),
      LogData: findType("LogData"),
      Logger: findType("Logger"),
      LoggingController: findType("LoggingController"),
      LogicalKeySet: findType("LogicalKeySet"),
      LogicalKeyboardKey: findType("LogicalKeyboardKey"),
      MainAxisAlignment: findType("MainAxisAlignment"),
      MapAssociation: findType("MapAssociation"),
      MapEntry_Offset_TextPosition: findType("MapEntry<Offset,TextPosition>"),
      MapEntry_String_DevToolsError: findType("MapEntry<String,DevToolsError>"),
      MapEntry_String_HeapGraphElement: findType("MapEntry<String,HeapGraphElement>"),
      MapEntry_String_InspectableWidgetError: findType("MapEntry<String,InspectableWidgetError>"),
      MapEntry_String_TimelineStream: findType("MapEntry<String,TimelineStream>"),
      MapEntry_dynamic_dynamic: findType("MapEntry<@,@>"),
      MapEntry_int_Offset: findType("MapEntry<int,Offset>"),
      MapEntry_of_Object_and_ThemeExtension_dynamic: findType("MapEntry<Object,ThemeExtension<@>>"),
      MapEntry_of_nullable_String_and_List_Object: findType("MapEntry<String?,List<Object>>"),
      MapEquality_dynamic_dynamic: findType("MapEquality<@,@>"),
      MapKeyPath: findType("MapKeyPath"),
      Map_ClassRef_CpuSamples: findType("Map<ClassRef,CpuSamples>"),
      Map_ShortcutActivator_Intent: findType("Map<ShortcutActivator,Intent>"),
      Map_String_Object: findType("Map<String,Object>"),
      Map_String_String: findType("Map<String,String>"),
      Map_String_dynamic: findType("Map<String,@>"),
      Map_Type_dynamic: findType("Map<Type,@>"),
      Map_dynamic_dynamic: findType("Map<@,@>"),
      Map_of_String_and_nullable_Object: findType("Map<String,Object?>"),
      Map_of_String_and_nullable_String: findType("Map<String,String?>"),
      Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>"),
      Map_of_void_Function_PointerEvent_and_nullable_Matrix4: findType("Map<~(PointerEvent),Matrix4?>"),
      MappedIterable_String_Frame: findType("MappedIterable<String,Frame>"),
      MappedIterable_of_String_and_nullable_StackFrame: findType("MappedIterable<String,StackFrame?>"),
      MappedListIterable_Frame_Frame: findType("MappedListIterable<Frame,Frame>"),
      MappedListIterable_String_ConsoleLine: findType("MappedListIterable<String,ConsoleLine>"),
      MappedListIterable_String_String: findType("MappedListIterable<String,String>"),
      MappedListIterable_String_Trace: findType("MappedListIterable<String,Trace>"),
      MappedListIterable_String_dynamic: findType("MappedListIterable<String,@>"),
      MappedListIterable__TraversalSortNode_SemanticsNode: findType("MappedListIterable<_TraversalSortNode,SemanticsNode>"),
      MappedListIterable_int_SemanticsNode: findType("MappedListIterable<int,SemanticsNode>"),
      MappedListIterable_of_List_String_and_String: findType("MappedListIterable<List<String>,String>"),
      MappedListIterable_of_String_and_DropdownMenuItem_String: findType("MappedListIterable<String,DropdownMenuItem<String>>"),
      MappedListIterable_of_String_and_nullable_String: findType("MappedListIterable<String,String?>"),
      MappedListIterable_of_TargetPlatform_and_nullable_PageTransitionsBuilder: findType("MappedListIterable<TargetPlatform,PageTransitionsBuilder?>"),
      MappedListIterable_of_TrackWidgetBuildsScope_and_ToggleableServiceExtensionDescription_bool: findType("MappedListIterable<TrackWidgetBuildsScope,ToggleableServiceExtensionDescription<bool>>"),
      MaterialBannerTheme: findType("MaterialBannerTheme"),
      MaterialLocalizations: findType("MaterialLocalizations"),
      MaterialRouteTransitionMixin_dynamic: findType("MaterialRouteTransitionMixin<@>"),
      MaterialState: findType("MaterialState"),
      MaterialStatePropertyAll_BorderSide: findType("MaterialStatePropertyAll<BorderSide>"),
      MaterialStatePropertyAll_Color: findType("MaterialStatePropertyAll<Color>"),
      MaterialStatePropertyAll_EdgeInsetsGeometry: findType("MaterialStatePropertyAll<EdgeInsetsGeometry>"),
      MaterialStatePropertyAll_OutlinedBorder: findType("MaterialStatePropertyAll<OutlinedBorder>"),
      MaterialStatePropertyAll_Size: findType("MaterialStatePropertyAll<Size>"),
      MaterialStatePropertyAll_TextStyle: findType("MaterialStatePropertyAll<TextStyle>"),
      MaterialStatePropertyAll_double: findType("MaterialStatePropertyAll<double>"),
      MaterialStatePropertyAll_nullable_Color: findType("MaterialStatePropertyAll<Color?>"),
      MaterialStatePropertyAll_nullable_MouseCursor: findType("MaterialStatePropertyAll<MouseCursor0?>"),
      MaterialStatePropertyAll_nullable_Size: findType("MaterialStatePropertyAll<Size?>"),
      MaterialStatePropertyAll_nullable_TextStyle: findType("MaterialStatePropertyAll<TextStyle?>"),
      MaterialTapTargetSize: findType("MaterialTapTargetSize"),
      Matrix4: findType("Matrix4"),
      MediaQuery: findType("MediaQuery"),
      MediaQueryListEvent: findType("MediaQueryListEvent"),
      MemoryController: findType("MemoryController"),
      MemoryUsage: findType("MemoryUsage"),
      MenuItem: findType("MenuItem"),
      Message: findType("Message"),
      MessageEvent: findType("MessageEvent"),
      MessagePort: findType("MessagePort"),
      ModifierKey: findType("ModifierKey"),
      MouseCursor: findType("MouseCursor0"),
      MouseCursorSession: findType("MouseCursorSession"),
      MouseEvent: findType("MouseEvent"),
      MouseTrackerAnnotation: findType("MouseTrackerAnnotation"),
      MultiChildLayoutParentData: findType("MultiChildLayoutParentData"),
      MultiChildRenderObjectWidget: findType("MultiChildRenderObjectWidget"),
      MutationObserver: findType("MutationObserver"),
      MutationRecord: findType("MutationRecord"),
      NativeByteBuffer: findType("NativeByteBuffer"),
      NativeTypedArrayOfDouble: findType("NativeTypedArrayOfDouble"),
      NativeTypedArrayOfInt: findType("NativeTypedArrayOfInt"),
      NativeTypedData: findType("NativeTypedData"),
      NativeUint8List: findType("NativeUint8List"),
      NavigationRailTheme: findType("NavigationRailTheme"),
      NavigatorState: findType("NavigatorState"),
      Nested: findType("Nested"),
      NetworkController: findType("NetworkController"),
      NetworkRequest: findType("NetworkRequest"),
      Node: findType("Node0"),
      NodeType: findType("NodeType"),
      Node_2: findType("Node"),
      NotificationListener_KeepAliveNotification: findType("NotificationListener<KeepAliveNotification>"),
      NotificationListener_LayoutChangedNotification: findType("NotificationListener<LayoutChangedNotification>"),
      NotificationListener_ScrollMetricsNotification: findType("NotificationListener<ScrollMetricsNotification>"),
      NotificationListener_ScrollNotification: findType("NotificationListener<ScrollNotification>"),
      NotificationListener_ScrollUpdateNotification: findType("NotificationListener<ScrollUpdateNotification>"),
      NotoFont: findType("NotoFont"),
      Null: findType("Null"),
      NullValRef: findType("NullValRef"),
      NumberSymbols: findType("NumberSymbols"),
      Obj: findType("Obj"),
      ObjRef: findType("ObjRef"),
      Object: findType("Object"),
      ObjectField: findType("ObjectField"),
      ObjectReference: findType("ObjectReference"),
      ObserverList__ParentInkResponseState: findType("ObserverList<_ParentInkResponseState>"),
      ObserverList_of_Future_bool_Function: findType("ObserverList<Future<bool>()>"),
      ObserverList_of_void_Function: findType("ObserverList<~()>"),
      ObserverList_of_void_Function_Action_Intent: findType("ObserverList<~(Action<Intent>)>"),
      ObserverList_of_void_Function_AnimationStatus: findType("ObserverList<~(AnimationStatus)>"),
      Offset: findType("Offset"),
      OffsetLayer: findType("OffsetLayer"),
      OpenFileRef: findType("OpenFileRef"),
      OutlinedButtonTheme: findType("OutlinedButtonTheme"),
      OverlayEntry: findType("OverlayEntry"),
      OverlayState: findType("OverlayState"),
      PageChangeEvent: findType("PageChangeEvent"),
      PageStorage: findType("PageStorage"),
      PageStorageKey_InspectorTreeNode: findType("PageStorageKey<InspectorTreeNode>"),
      PageStorageKey_String: findType("PageStorageKey<String>"),
      PageStorageKey_nullable_String: findType("PageStorageKey<String?>"),
      Paint: findType("Paint"),
      Parameter: findType("Parameter"),
      ParentDataWidget_KeepAliveParentDataMixin: findType("ParentDataWidget<KeepAliveParentDataMixin>"),
      ParentDataWidget_ParentData: findType("ParentDataWidget<ParentData>"),
      Path: findType("Path"),
      PathElement: findType("PathElement"),
      PathToProperty: findType("PathToProperty"),
      PerformanceController: findType("PerformanceController"),
      PersistedContainerSurface: findType("PersistedContainerSurface"),
      PersistedScene: findType("PersistedScene"),
      PersistedSurface: findType("PersistedSurface"),
      PhysicalKeyboardKey: findType("PhysicalKeyboardKey"),
      PlaceholderDimensions: findType("PlaceholderDimensions"),
      PointAndBase: findType("PointAndBase"),
      Point_num: findType("Point<num>"),
      PointerAddedEvent: findType("PointerAddedEvent"),
      PointerCancelEvent: findType("PointerCancelEvent"),
      PointerDataPacket: findType("PointerDataPacket"),
      PointerDeviceKind: findType("PointerDeviceKind"),
      PointerDownEvent: findType("PointerDownEvent"),
      PointerEvent: findType("PointerEvent0"),
      PointerEventResampler: findType("PointerEventResampler"),
      PointerEvent_2: findType("PointerEvent"),
      PointerHoverEvent: findType("PointerHoverEvent"),
      PointerMoveEvent: findType("PointerMoveEvent"),
      PointerPanZoomEndEvent: findType("PointerPanZoomEndEvent"),
      PointerPanZoomStartEvent: findType("PointerPanZoomStartEvent"),
      PointerPanZoomUpdateEvent: findType("PointerPanZoomUpdateEvent"),
      PointerRemovedEvent: findType("PointerRemovedEvent"),
      PointerScrollEvent: findType("PointerScrollEvent"),
      PointerSignalEvent: findType("PointerSignalEvent"),
      PointerUpEvent: findType("PointerUpEvent"),
      PoolResource: findType("PoolResource"),
      PopupMenuTheme: findType("PopupMenuTheme"),
      PortList: findType("PortList"),
      PreferredSizeWidget: findType("PreferredSizeWidget"),
      PrimaryScrollController: findType("PrimaryScrollController"),
      ProcessMemoryItem: findType("ProcessMemoryItem"),
      ProfileFunction: findType("ProfileFunction"),
      ProgramInfoNode: findType("ProgramInfoNode"),
      ProgressEvent: findType("ProgressEvent"),
      ProgressIndicatorTheme: findType("ProgressIndicatorTheme"),
      PropertyPath: findType("PropertyPath"),
      Protocol: findType("Protocol"),
      ProtocolList: findType("ProtocolList"),
      ProviderBase_dynamic: findType("ProviderBase<@>"),
      ProviderElementBase_dynamic: findType("ProviderElementBase<@>"),
      ProviderListenable_dynamic: findType("ProviderListenable<@>"),
      ProviderNode: findType("ProviderNode"),
      ProviderOrFamily: findType("ProviderOrFamily"),
      ProviderSubscription_dynamic: findType("ProviderSubscription<@>"),
      ProxyWidget: findType("ProxyWidget"),
      PsdChannel: findType("PsdChannel"),
      PsdImageResource: findType("PsdImageResource"),
      PsdLayerAdditionalData: findType("PsdLayerAdditionalData"),
      PsdLayerData: findType("PsdLayerData"),
      QueryFilterArgument: findType("QueryFilterArgument"),
      QueueList_Result_Event: findType("QueueList<Result<Event>>"),
      RadioTheme: findType("RadioTheme"),
      Radio_TrackWidgetBuildsScope: findType("Radio<TrackWidgetBuildsScope>"),
      Range: findType("Range"),
      RawScrollbar: findType("RawScrollbar"),
      RebuildLocation: findType("RebuildLocation"),
      Rectangle_num: findType("Rectangle<num>"),
      Reference: findType("Reference"),
      RegExp: findType("RegExp"),
      RegExpMatch: findType("RegExpMatch"),
      RenderAbsorbPointer: findType("RenderAbsorbPointer"),
      RenderAbstractViewport: findType("RenderAbstractViewport"),
      RenderBox: findType("RenderBox"),
      RenderEditable: findType("RenderEditable"),
      RenderIgnorePointer: findType("RenderIgnorePointer"),
      RenderObject: findType("RenderObject"),
      RenderObjectToWidgetAdapter_RenderBox: findType("RenderObjectToWidgetAdapter<RenderBox>"),
      RenderObjectWidget: findType("RenderObjectWidget"),
      RenderObjectWithChildMixin_RenderObject: findType("RenderObjectWithChildMixin<RenderObject>"),
      RenderProperties: findType("RenderProperties"),
      RenderSemanticsGestureHandler: findType("RenderSemanticsGestureHandler"),
      RenderSliver: findType("RenderSliver"),
      RenderSliverMultiBoxAdaptor: findType("RenderSliverMultiBoxAdaptor"),
      RenderTable: findType("RenderTable"),
      RenderViewport: findType("RenderViewport"),
      ReplaceTextIntent: findType("ReplaceTextIntent"),
      Response: findType("Response"),
      Response_2: findType("Response0"),
      RestorableNum_int: findType("RestorableNum<int>"),
      RestorableProperty_nullable_Object: findType("RestorableProperty<Object?>"),
      RestorationBucket: findType("RestorationBucket"),
      RetainingObject: findType("RetainingObject"),
      ReverseTween_nullable_Rect: findType("ReverseTween<Rect?>"),
      ReversedListIterable_InspectorTreeNode: findType("ReversedListIterable<InspectorTreeNode>"),
      ReversedListIterable_String: findType("ReversedListIterable<String>"),
      ReversedListIterable_TreemapNode: findType("ReversedListIterable<TreemapNode>"),
      ReversedListIterable_Widget: findType("ReversedListIterable<Widget>"),
      ReversedListIterable__SemanticsSortGroup: findType("ReversedListIterable<_SemanticsSortGroup>"),
      RichText: findType("RichText"),
      Role: findType("Role"),
      RoutePopDisposition: findType("RoutePopDisposition"),
      RouteTransitionRecord: findType("RouteTransitionRecord"),
      Route_dynamic_Function_2_BuildContext_and_nullable_Object: findType("Route<@>(BuildContext,Object?)"),
      Router_Object: findType("Router<Object>"),
      SaveClipEntry: findType("SaveClipEntry"),
      ScaffoldFeatureController_MaterialBanner_MaterialBannerClosedReason: findType("ScaffoldFeatureController<MaterialBanner,MaterialBannerClosedReason>"),
      ScaffoldFeatureController_SnackBar_SnackBarClosedReason: findType("ScaffoldFeatureController<SnackBar,SnackBarClosedReason>"),
      ScaffoldState: findType("ScaffoldState"),
      ScopeSpan: findType("ScopeSpan"),
      Script: findType("Script"),
      ScriptList: findType("ScriptList"),
      ScriptPopupMenuOption: findType("ScriptPopupMenuOption"),
      ScriptRef: findType("ScriptRef"),
      ScrollAwareImageProvider_Object: findType("ScrollAwareImageProvider<Object>"),
      ScrollConfiguration: findType("ScrollConfiguration"),
      ScrollNotificationObserverState: findType("ScrollNotificationObserverState"),
      ScrollPosition: findType("ScrollPosition"),
      ScrollbarPainter: findType("ScrollbarPainter"),
      SelectAllSelectionEvent: findType("SelectAllSelectionEvent"),
      SelectWordSelectionEvent: findType("SelectWordSelectionEvent"),
      Selectable: findType("Selectable"),
      SelectableText: findType("SelectableText"),
      SelectionEdgeUpdateEvent: findType("SelectionEdgeUpdateEvent"),
      SelectionRegistrarScope: findType("SelectionRegistrarScope"),
      Selection_Reference: findType("Selection<Reference>"),
      Selection_Tracker: findType("Selection<Tracker>"),
      SemanticsAction: findType("SemanticsAction"),
      SemanticsNode: findType("SemanticsNode"),
      SemanticsObject: findType("SemanticsObject"),
      SemanticsTag: findType("SemanticsTag"),
      ServiceExtensionResponse: findType("ServiceExtensionResponse"),
      ServiceExtensionState: findType("ServiceExtensionState"),
      SetEquality_dynamic: findType("SetEquality<@>"),
      Set_HeapGraphClassLive: findType("Set<HeapGraphClassLive>"),
      Set_HeapGraphElementLive: findType("Set<HeapGraphElementLive>"),
      Set_String: findType("Set<String>"),
      Set_dynamic: findType("Set<@>"),
      Set_nullable_HeapGraphElementLive: findType("Set<HeapGraphElementLive?>"),
      ShapeBorder: findType("ShapeBorder"),
      ShapeBorderClipper: findType("ShapeBorderClipper"),
      ShortcutActivator: findType("ShortcutActivator"),
      ShortcutRegistryEntry: findType("ShortcutRegistryEntry"),
      SimpleDelimiter: findType("SimpleDelimiter"),
      SingleChildRenderObjectWidget: findType("SingleChildRenderObjectWidget"),
      SingleChildStatelessWidget: findType("SingleChildStatelessWidget"),
      Size: findType("Size"),
      SkAnimatedImage: findType("SkAnimatedImage"),
      SkColorFilter: findType("SkColorFilter"),
      SkMaskFilter: findType("SkMaskFilter"),
      SkPaint: findType("SkPaint"),
      SkPath: findType("SkPath"),
      SkPicture: findType("SkPicture"),
      SkShader: findType("SkShader"),
      SkiaObjectBox_CkImage_JavaScriptObject: findType("SkiaObjectBox<CkImage,JavaScriptObject>"),
      SkipWhileIterable_String: findType("SkipWhileIterable<String>"),
      SliverConstraints: findType("SliverConstraints"),
      SliverLogicalParentData: findType("SliverLogicalParentData"),
      SliverMultiBoxAdaptorElement: findType("SliverMultiBoxAdaptorElement"),
      SliverMultiBoxAdaptorParentData: findType("SliverMultiBoxAdaptorParentData"),
      SliverMultiBoxAdaptorWidget: findType("SliverMultiBoxAdaptorWidget"),
      SliverPhysicalParentData: findType("SliverPhysicalParentData"),
      SnapshotReference: findType("SnapshotReference"),
      SocketProfile: findType("SocketProfile"),
      SocketProfilingState: findType("SocketProfilingState"),
      SocketStatistic: findType("SocketStatistic"),
      SourceDropdownMenuItem_String: findType("SourceDropdownMenuItem<String>"),
      SourceLocation: findType("SourceLocation0"),
      SourceReport: findType("SourceReport"),
      SourceReportRange: findType("SourceReportRange"),
      SourceSpan: findType("SourceSpan"),
      SourceSpanWithContext: findType("SourceSpanWithContext"),
      SourceToken: findType("SourceToken"),
      SpawnedProcessRef: findType("SpawnedProcessRef"),
      Stack: findType("Stack0"),
      StackFrameAndSourcePosition: findType("StackFrameAndSourcePosition"),
      StackParentData: findType("StackParentData"),
      StackTrace: findType("StackTrace"),
      StateController_bool: findType("StateController<bool>"),
      StateController_nullable_String: findType("StateController<String?>"),
      State_StatefulWidget: findType("State<StatefulWidget>"),
      StatefulElement: findType("StatefulElement"),
      StatefulWidget: findType("StatefulWidget"),
      StatelessWidget: findType("StatelessWidget"),
      StreamBuilder_String: findType("StreamBuilder<String>"),
      StreamChannelController_dynamic: findType("StreamChannelController<@>"),
      StreamController_Event: findType("StreamController<Event>"),
      StreamHistory: findType("StreamHistory"),
      StreamQueue_Event: findType("StreamQueue<Event>"),
      StreamView_dynamic: findType("StreamView<@>"),
      StreamedResponse: findType("StreamedResponse"),
      String: findType("String"),
      StringAttribute: findType("StringAttribute"),
      StyledText: findType("StyledText"),
      SubListIterable_String: findType("SubListIterable<String>"),
      Success: findType("Success"),
      SurfacePaint: findType("SurfacePaint"),
      SurfacePath: findType("SurfacePath"),
      SurfaceScene: findType("SurfaceScene"),
      SvgElement: findType("SvgElement"),
      SvgSvgElement: findType("SvgSvgElement"),
      SwitchTheme: findType("SwitchTheme"),
      Symbol: findType("Symbol0"),
      SyncTimelineEvent: findType("SyncTimelineEvent"),
      SynchronousFuture_AssetBundleImageKey: findType("SynchronousFuture<AssetBundleImageKey>"),
      SynchronousFuture_CupertinoLocalizations: findType("SynchronousFuture<CupertinoLocalizations>"),
      SynchronousFuture_DevToolsRouteConfiguration: findType("SynchronousFuture<DevToolsRouteConfiguration>"),
      SynchronousFuture_Map_Type_dynamic: findType("SynchronousFuture<Map<Type,@>>"),
      SynchronousFuture_MaterialLocalizations: findType("SynchronousFuture<MaterialLocalizations>"),
      SynchronousFuture_MemoryImage: findType("SynchronousFuture<MemoryImage>"),
      SynchronousFuture_NetworkImage: findType("SynchronousFuture<NetworkImage>"),
      SynchronousFuture_WidgetsLocalizations: findType("SynchronousFuture<WidgetsLocalizations>"),
      SynchronousFuture_bool: findType("SynchronousFuture<bool>"),
      SynchronousFuture_nullable_Map_of_String_and_List_String: findType("SynchronousFuture<Map<String,List<String>>?>"),
      SynchronousFuture_nullable_RestorationBucket: findType("SynchronousFuture<RestorationBucket?>"),
      SynchronousFuture_void: findType("SynchronousFuture<~>"),
      SystemMouseCursor: findType("SystemMouseCursor"),
      SystemUiOverlayStyle: findType("SystemUiOverlayStyle"),
      Table: findType("Table"),
      TableCellParentData: findType("TableCellParentData"),
      TableColumnWidth: findType("TableColumnWidth"),
      TableRow: findType("TableRow0"),
      TextAreaElement: findType("TextAreaElement"),
      TextBaseline: findType("TextBaseline"),
      TextButtonTheme: findType("TextButtonTheme"),
      TextEditingValue: findType("TextEditingValue"),
      TextPainter: findType("TextPainter"),
      TextParentData: findType("TextParentData"),
      TextSelectionTheme: findType("TextSelectionTheme"),
      TextSpan: findType("TextSpan"),
      TextStyle: findType("TextStyle"),
      ThemeData: findType("ThemeData"),
      ThemeDataTween: findType("ThemeDataTween"),
      ThemeExtension_ThemeExtension_dynamic: findType("ThemeExtension<ThemeExtension<@>>"),
      ThemeExtension_dynamic: findType("ThemeExtension<@>"),
      TiffEntry: findType("TiffEntry"),
      TimeRange: findType("TimeRange"),
      Timeline: findType("Timeline"),
      TimelineEvent: findType("TimelineEvent0"),
      TimelineEventGroup: findType("TimelineEventGroup"),
      TimelineEvent_2: findType("TimelineEvent"),
      TimelineFlags: findType("TimelineFlags"),
      TimelineStream: findType("TimelineStream"),
      Timer: findType("Timer"),
      Timestamp: findType("Timestamp"),
      ToggleButtonsTheme: findType("ToggleButtonsTheme"),
      ToggleFilter_CpuStackFrame: findType("ToggleFilter<CpuStackFrame>"),
      ToggleableServiceExtensionDescription_bool: findType("ToggleableServiceExtensionDescription<bool>"),
      TooltipTheme: findType("TooltipTheme"),
      TouchEvent: findType("TouchEvent"),
      Trace: findType("Trace"),
      TraceEvent: findType("TraceEvent"),
      TrackWidgetBuildsScope: findType("TrackWidgetBuildsScope"),
      TrackedFuture_Object: findType("TrackedFuture<Object>"),
      Tracker: findType("Tracker"),
      TransformLayer: findType("TransformLayer"),
      TreemapNode: findType("TreemapNode"),
      TweenAnimationBuilder_double: findType("TweenAnimationBuilder<double>"),
      Tween_Offset: findType("Tween<Offset>"),
      Tween_double: findType("Tween<double>"),
      Type: findType("Type"),
      TypeArgumentsRef: findType("TypeArgumentsRef"),
      TypeError: findType("TypeError"),
      TypedData: findType("TypedData"),
      Uint32List: findType("Uint32List"),
      Uint8List: findType("Uint8List"),
      UncontrolledProviderScope: findType("UncontrolledProviderScope"),
      UnicodePropertyLookup_LineCharProperty: findType("UnicodePropertyLookup<LineCharProperty>"),
      UnicodeRange_TextDirection: findType("UnicodeRange<TextDirection>"),
      UnknownJavaScriptObject: findType("UnknownJavaScriptObject"),
      UnmanagedRestorationScope: findType("UnmanagedRestorationScope"),
      UnmodifiableListView_Event: findType("UnmodifiableListView<Event>"),
      UnmodifiableListView_HttpProfileRequestEvent: findType("UnmodifiableListView<HttpProfileRequestEvent>"),
      UnmodifiableListView_InstanceRef: findType("UnmodifiableListView<InstanceRef>"),
      UnmodifiableListView_Isolate: findType("UnmodifiableListView<Isolate>"),
      UnmodifiableListView_Map_String_dynamic: findType("UnmodifiableListView<Map<String,@>>"),
      UnmodifiableListView_String: findType("UnmodifiableListView<String>"),
      UnmodifiableListView_VMTag: findType("UnmodifiableListView<VMTag>"),
      UnmodifiableMapView_String_Logger: findType("UnmodifiableMapView<String,Logger>"),
      UnmodifiableMapView_String_String: findType("UnmodifiableMapView<String,String>"),
      UnmodifiableMapView_String_dynamic: findType("UnmodifiableMapView<String,@>"),
      UnorderedIterableEquality_dynamic: findType("UnorderedIterableEquality<@>"),
      UpdateSelectionIntent: findType("UpdateSelectionIntent"),
      Uri: findType("Uri"),
      UriList: findType("UriList"),
      VM: findType("VM"),
      VMServiceObjectNode: findType("VMServiceObjectNode"),
      VMTag: findType("VMTag"),
      VP8BandProbas: findType("VP8BandProbas"),
      VP8MB: findType("VP8MB"),
      VP8MBData: findType("VP8MBData"),
      VP8TopSamples: findType("VP8TopSamples"),
      ValueKey_CallGraphNode: findType("ValueKey<CallGraphNode>"),
      ValueKey_CrossFadeState: findType("ValueKey<CrossFadeState>"),
      ValueKey_InstancePath: findType("ValueKey<InstancePath>"),
      ValueKey_Key: findType("ValueKey<Key>"),
      ValueKey_LogData: findType("ValueKey<LogData>"),
      ValueKey_Object: findType("ValueKey<Object>"),
      ValueKey_String: findType("ValueKey<String>"),
      ValueKey_int: findType("ValueKey<int>"),
      ValueKey_nullable_NetworkRequest: findType("ValueKey<NetworkRequest?>"),
      ValueKey_nullable_String: findType("ValueKey<String?>"),
      ValueKey_nullable_int: findType("ValueKey<int?>"),
      ValueListenableBuilder_ConnectedState: findType("ValueListenableBuilder<ConnectedState>"),
      ValueListenableBuilder_Flag: findType("ValueListenableBuilder<Flag>"),
      ValueListenableBuilder_LinkedHashMap_String_DevToolsError: findType("ValueListenableBuilder<LinkedHashMap<String,DevToolsError>>"),
      ValueListenableBuilder_List_BannerMessage: findType("ValueListenableBuilder<List<BannerMessage>>"),
      ValueListenableBuilder_List_BreakpointAndSourcePosition: findType("ValueListenableBuilder<List<BreakpointAndSourcePosition>>"),
      ValueListenableBuilder_List_DataSearchStateMixin: findType("ValueListenableBuilder<List<DataSearchStateMixin>>"),
      ValueListenableBuilder_List_NetworkRequest: findType("ValueListenableBuilder<List<NetworkRequest>>"),
      ValueListenableBuilder_String: findType("ValueListenableBuilder<String>"),
      ValueListenableBuilder_bool: findType("ValueListenableBuilder<bool>"),
      ValueListenableBuilder_double: findType("ValueListenableBuilder<double>"),
      ValueListenableBuilder_int: findType("ValueListenableBuilder<int>"),
      ValueListenableBuilder_nullable_CpuProfileData: findType("ValueListenableBuilder<CpuProfileData?>"),
      ValueListenableBuilder_nullable_FramePhase: findType("ValueListenableBuilder<FramePhase?>"),
      ValueListenableBuilder_nullable_LayerSnapshot: findType("ValueListenableBuilder<LayerSnapshot?>"),
      ValueListenableBuilder_nullable_NetworkRequest: findType("ValueListenableBuilder<NetworkRequest?>"),
      ValueListenableBuilder_nullable_StackFrameAndSourcePosition: findType("ValueListenableBuilder<StackFrameAndSourcePosition?>"),
      ValueListenableBuilder_nullable_String: findType("ValueListenableBuilder<String?>"),
      ValueListenableBuilder_nullable_TimelineEvent: findType("ValueListenableBuilder<TimelineEvent0?>"),
      ValueListenableBuilder_nullable_VMServiceObjectNode: findType("ValueListenableBuilder<VMServiceObjectNode?>"),
      ValueListenableBuilder_nullable_bool: findType("ValueListenableBuilder<bool?>"),
      ValueListenableBuilder_nullable_int: findType("ValueListenableBuilder<int?>"),
      ValueNotifier_ChartInterval: findType("ValueNotifier<ChartInterval>"),
      ValueNotifier_ConnectedState: findType("ValueNotifier<ConnectedState>"),
      ValueNotifier_DiffTreeType: findType("ValueNotifier<DiffTreeType>"),
      ValueNotifier_Flag: findType("ValueNotifier<Flag>"),
      ValueNotifier_LinkedHashMap_String_DevToolsError: findType("ValueNotifier<LinkedHashMap<String,DevToolsError>>"),
      ValueNotifier_List_AutoCompleteMatch: findType("ValueNotifier<List<AutoCompleteMatch>>"),
      ValueNotifier_List_BannerMessage: findType("ValueNotifier<List<BannerMessage>>"),
      ValueNotifier_List_Breakpoint: findType("ValueNotifier<List<Breakpoint>>"),
      ValueNotifier_List_BreakpointAndSourcePosition: findType("ValueNotifier<List<BreakpointAndSourcePosition>>"),
      ValueNotifier_List_CpuStackFrame: findType("ValueNotifier<List<CpuStackFrame>>"),
      ValueNotifier_List_DartObjectNode: findType("ValueNotifier<List<DartObjectNode>>"),
      ValueNotifier_List_DataSearchStateMixin: findType("ValueNotifier<List<DataSearchStateMixin>>"),
      ValueNotifier_List_InspectorTreeRow: findType("ValueNotifier<List<InspectorTreeRow>>"),
      ValueNotifier_List_LayerSnapshot: findType("ValueNotifier<List<LayerSnapshot>>"),
      ValueNotifier_List_LogData: findType("ValueNotifier<List<LogData>>"),
      ValueNotifier_List_NetworkRequest: findType("ValueNotifier<List<NetworkRequest>>"),
      ValueNotifier_List_ScriptRef: findType("ValueNotifier<List<ScriptRef>>"),
      ValueNotifier_List_SourceToken: findType("ValueNotifier<List<SourceToken>>"),
      ValueNotifier_List_StackFrameAndSourcePosition: findType("ValueNotifier<List<StackFrameAndSourcePosition>>"),
      ValueNotifier_List_String: findType("ValueNotifier<List<String>>"),
      ValueNotifier_List_TimelineEvent: findType("ValueNotifier<List<TimelineEvent0>>"),
      ValueNotifier_NetworkRequests: findType("ValueNotifier<NetworkRequests>"),
      ValueNotifier_Selection_Reference: findType("ValueNotifier<Selection<Reference>>"),
      ValueNotifier_Selection_Tracker: findType("ValueNotifier<Selection<Tracker>>"),
      ValueNotifier_ServiceExtensionState: findType("ValueNotifier<ServiceExtensionState>"),
      ValueNotifier_String: findType("ValueNotifier<String>"),
      ValueNotifier_TraceNotifier: findType("ValueNotifier<TraceNotifier>"),
      ValueNotifier_bool: findType("ValueNotifier<bool>"),
      ValueNotifier_double: findType("ValueNotifier<double>"),
      ValueNotifier_int: findType("ValueNotifier<int>"),
      ValueNotifier_nullable_AnalysisInstance: findType("ValueNotifier<AnalysisInstance?>"),
      ValueNotifier_nullable_BreakpointAndSourcePosition: findType("ValueNotifier<BreakpointAndSourcePosition?>"),
      ValueNotifier_nullable_CallGraphNode: findType("ValueNotifier<CallGraphNode?>"),
      ValueNotifier_nullable_ClassHeapDetailStats: findType("ValueNotifier<ClassHeapDetailStats?>"),
      ValueNotifier_nullable_CpuProfileData: findType("ValueNotifier<CpuProfileData?>"),
      ValueNotifier_nullable_CpuStackFrame: findType("ValueNotifier<CpuStackFrame?>"),
      ValueNotifier_nullable_DataSearchStateMixin: findType("ValueNotifier<DataSearchStateMixin?>"),
      ValueNotifier_nullable_DateTime: findType("ValueNotifier<DateTime?>"),
      ValueNotifier_nullable_DevToolsJsonFile: findType("ValueNotifier<DevToolsJsonFile?>"),
      ValueNotifier_nullable_Event: findType("ValueNotifier<Event?>"),
      ValueNotifier_nullable_Filter_CpuStackFrame: findType("ValueNotifier<Filter<CpuStackFrame>?>"),
      ValueNotifier_nullable_Filter_LogData: findType("ValueNotifier<Filter<LogData>?>"),
      ValueNotifier_nullable_Filter_NetworkRequest: findType("ValueNotifier<Filter<NetworkRequest>?>"),
      ValueNotifier_nullable_FlagList: findType("ValueNotifier<FlagList?>"),
      ValueNotifier_nullable_FlutterFrame: findType("ValueNotifier<FlutterFrame?>"),
      ValueNotifier_nullable_FramePhase: findType("ValueNotifier<FramePhase?>"),
      ValueNotifier_nullable_HeapGraphElementLive: findType("ValueNotifier<HeapGraphElementLive?>"),
      ValueNotifier_nullable_HeapSample: findType("ValueNotifier<HeapSample?>"),
      ValueNotifier_nullable_InspectorTreeNode: findType("ValueNotifier<InspectorTreeNode?>"),
      ValueNotifier_nullable_InspectorTreeRow: findType("ValueNotifier<InspectorTreeRow?>"),
      ValueNotifier_nullable_InstanceRef: findType("ValueNotifier<InstanceRef?>"),
      ValueNotifier_nullable_IsolateRef: findType("ValueNotifier<IsolateRef?>"),
      ValueNotifier_nullable_LayerSnapshot: findType("ValueNotifier<LayerSnapshot?>"),
      ValueNotifier_nullable_LogData: findType("ValueNotifier<LogData?>"),
      ValueNotifier_nullable_NetworkRequest: findType("ValueNotifier<NetworkRequest?>"),
      ValueNotifier_nullable_ParsedScript: findType("ValueNotifier<ParsedScript?>"),
      ValueNotifier_nullable_ScriptLocation: findType("ValueNotifier<ScriptLocation?>"),
      ValueNotifier_nullable_ScriptRef: findType("ValueNotifier<ScriptRef?>"),
      ValueNotifier_nullable_SourceToken: findType("ValueNotifier<SourceToken?>"),
      ValueNotifier_nullable_StackFrameAndSourcePosition: findType("ValueNotifier<StackFrameAndSourcePosition?>"),
      ValueNotifier_nullable_String: findType("ValueNotifier<String?>"),
      ValueNotifier_nullable_TapLocation: findType("ValueNotifier<TapLocation?>"),
      ValueNotifier_nullable_TimelineEvent: findType("ValueNotifier<TimelineEvent0?>"),
      ValueNotifier_nullable_TrackWidgetBuildsScope: findType("ValueNotifier<TrackWidgetBuildsScope?>"),
      ValueNotifier_nullable_TreemapNode: findType("ValueNotifier<TreemapNode?>"),
      ValueNotifier_nullable_VMServiceObjectNode: findType("ValueNotifier<VMServiceObjectNode?>"),
      ValueNotifier_nullable_bool: findType("ValueNotifier<bool?>"),
      ValueNotifier_nullable_int: findType("ValueNotifier<int?>"),
      ValueNotifier_void: findType("ValueNotifier<~>"),
      VelocityTracker: findType("VelocityTracker"),
      Version: findType("Version"),
      VerticalLineSegment: findType("VerticalLineSegment"),
      Viewport: findType("Viewport"),
      ViewportNotificationMixin: findType("ViewportNotificationMixin"),
      VisualDensity: findType("VisualDensity"),
      VmServiceWrapper: findType("VmServiceWrapper"),
      WheelEvent: findType("WheelEvent"),
      WhereIterable_String: findType("WhereIterable<String>"),
      WhereTypeIterable_StackFrame: findType("WhereTypeIterable<StackFrame>"),
      WhereTypeIterable_String: findType("WhereTypeIterable<String>"),
      WhereTypeIterable_of_void_Function_2_Object_and_nullable_StackTrace: findType("WhereTypeIterable<~(Object,StackTrace?)>"),
      WhereTypeIterable_of_void_Function_ImageChunkEvent: findType("WhereTypeIterable<~(ImageChunkEvent)>"),
      WhereTypeIterator_FocusScopeNode: findType("WhereTypeIterator<FocusScopeNode>"),
      Widget: findType("Widget"),
      WidgetRef: findType("WidgetRef"),
      WidgetSpan: findType("WidgetSpan"),
      Widget_Function_3_BuildContext_and_nullable_String_and_Map_of_String_and_nullable_String: findType("Widget(BuildContext,String?,Map<String,String?>)"),
      WidgetsBindingObserver: findType("WidgetsBindingObserver"),
      WidgetsLocalizations: findType("WidgetsLocalizations"),
      Window: findType("Window"),
      WorkerGlobalScope: findType("WorkerGlobalScope"),
      WrapParentData: findType("WrapParentData"),
      XFile: findType("XFile"),
      _ActionsMarker: findType("_ActionsMarker"),
      _AsyncCompleter_AnalyticsController: findType("_AsyncCompleter<AnalyticsController>"),
      _AsyncCompleter_AssetBundleImageKey: findType("_AsyncCompleter<AssetBundleImageKey>"),
      _AsyncCompleter_FrameInfo: findType("_AsyncCompleter<FrameInfo>"),
      _AsyncCompleter_HeapSnapshotGraph: findType("_AsyncCompleter<HeapSnapshotGraph>"),
      _AsyncCompleter_HttpRequest: findType("_AsyncCompleter<HttpRequest>"),
      _AsyncCompleter_JavaScriptObject: findType("_AsyncCompleter<JavaScriptObject>"),
      _AsyncCompleter_LibraryRef: findType("_AsyncCompleter<LibraryRef>"),
      _AsyncCompleter_List_XFile: findType("_AsyncCompleter<List<XFile>>"),
      _AsyncCompleter_PoolResource: findType("_AsyncCompleter<PoolResource>"),
      _AsyncCompleter_SnackBarClosedReason: findType("_AsyncCompleter<SnackBarClosedReason>"),
      _AsyncCompleter_StreamedResponse: findType("_AsyncCompleter<StreamedResponse>"),
      _AsyncCompleter_String: findType("_AsyncCompleter<String>"),
      _AsyncCompleter_Uint8List: findType("_AsyncCompleter<Uint8List>"),
      _AsyncCompleter_VmService: findType("_AsyncCompleter<VmService>"),
      _AsyncCompleter_VmServiceWrapper: findType("_AsyncCompleter<VmServiceWrapper>"),
      _AsyncCompleter_bool: findType("_AsyncCompleter<bool>"),
      _AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"),
      _AsyncCompleter_nullable_ByteData: findType("_AsyncCompleter<ByteData?>"),
      _AsyncCompleter_nullable_FlutterVersion: findType("_AsyncCompleter<FlutterVersion?>"),
      _AsyncCompleter_nullable_Isolate: findType("_AsyncCompleter<Isolate?>"),
      _AsyncCompleter_nullable_RestorationBucket: findType("_AsyncCompleter<RestorationBucket?>"),
      _AsyncCompleter_void: findType("_AsyncCompleter<~>"),
      _Attr: findType("_Attr"),
      _AutofillScope: findType("_AutofillScope"),
      _ButtonSanitizer: findType("_ButtonSanitizer"),
      _CachedImage: findType("_CachedImage"),
      _DecorationSlot: findType("_DecorationSlot"),
      _DeleteTextAction_DeleteCharacterIntent: findType("_DeleteTextAction<DeleteCharacterIntent>"),
      _DeleteTextAction_DeleteToLineBreakIntent: findType("_DeleteTextAction<DeleteToLineBreakIntent>"),
      _DeleteTextAction_DeleteToNextWordBoundaryIntent: findType("_DeleteTextAction<DeleteToNextWordBoundaryIntent>"),
      _DialogFlag: findType("_DialogFlag"),
      _DirectionalPolicyData: findType("_DirectionalPolicyData"),
      _DoubleLinkedQueueSentinel_ProviderElementBase_dynamic: findType("_DoubleLinkedQueueSentinel<ProviderElementBase<@>>"),
      _EffectiveTickerMode: findType("_EffectiveTickerMode"),
      _ElementEventStreamImpl_Event: findType("_ElementEventStreamImpl<Event0>"),
      _ElementEventStreamImpl_KeyboardEvent: findType("_ElementEventStreamImpl<KeyboardEvent>"),
      _ElementEventStreamImpl_MouseEvent: findType("_ElementEventStreamImpl<MouseEvent>"),
      _EventRequest_dynamic: findType("_EventRequest<@>"),
      _EventStream_CloseEvent: findType("_EventStream<CloseEvent>"),
      _EventStream_Event: findType("_EventStream<Event0>"),
      _EventStream_ProgressEvent: findType("_EventStream<ProgressEvent>"),
      _FamilyOverrideRef: findType("_FamilyOverrideRef"),
      _FocusMarker: findType("_FocusMarker"),
      _FocusTraversalGroupInfo: findType("_FocusTraversalGroupInfo"),
      _FocusTraversalGroupMarker: findType("_FocusTraversalGroupMarker"),
      _FrameCallbackEntry: findType("_FrameCallbackEntry"),
      _FrozenElementList_Element: findType("_FrozenElementList<Element1>"),
      _Future_AnalyticsController: findType("_Future<AnalyticsController>"),
      _Future_AssetBundleImageKey: findType("_Future<AssetBundleImageKey>"),
      _Future_FrameInfo: findType("_Future<FrameInfo>"),
      _Future_HeapSnapshotGraph: findType("_Future<HeapSnapshotGraph>"),
      _Future_HttpRequest: findType("_Future<HttpRequest>"),
      _Future_JavaScriptObject: findType("_Future<JavaScriptObject>"),
      _Future_LibraryRef: findType("_Future<LibraryRef>"),
      _Future_List_XFile: findType("_Future<List<XFile>>"),
      _Future_PoolResource: findType("_Future<PoolResource>"),
      _Future_SnackBarClosedReason: findType("_Future<SnackBarClosedReason>"),
      _Future_StreamedResponse: findType("_Future<StreamedResponse>"),
      _Future_String: findType("_Future<String>"),
      _Future_Uint8List: findType("_Future<Uint8List>"),
      _Future_VmService: findType("_Future<VmService>"),
      _Future_VmServiceWrapper: findType("_Future<VmServiceWrapper>"),
      _Future_bool: findType("_Future<bool>"),
      _Future_dynamic: findType("_Future<@>"),
      _Future_int: findType("_Future<int>"),
      _Future_nullable_ByteData: findType("_Future<ByteData?>"),
      _Future_nullable_FlutterVersion: findType("_Future<FlutterVersion?>"),
      _Future_nullable_Isolate: findType("_Future<Isolate?>"),
      _Future_nullable_RestorationBucket: findType("_Future<RestorationBucket?>"),
      _Future_void: findType("_Future<~>"),
      _GestureArena: findType("_GestureArena"),
      _HeroFlight: findType("_HeroFlight"),
      _HeroState: findType("_HeroState"),
      _Highlight: findType("_Highlight"),
      _HighlightType: findType("_HighlightType"),
      _IdentityHashMap_dynamic_dynamic: findType("_IdentityHashMap<@,@>"),
      _InheritedCupertinoTheme: findType("_InheritedCupertinoTheme"),
      _InheritedNotifications: findType("_InheritedNotifications"),
      _InheritedTheme: findType("_InheritedTheme"),
      _InspectorBreadcrumbData: findType("_InspectorBreadcrumbData"),
      _InspectorTreeRowWidget: findType("_InspectorTreeRowWidget"),
      _InstancePathFromInstanceId: findType("_InstancePathFromInstanceId"),
      _InstancePathFromProviderId: findType("_InstancePathFromProviderId"),
      _InterestingSemanticsFragment: findType("_InterestingSemanticsFragment"),
      _IntrinsicDimensionsCacheEntry: findType("_IntrinsicDimensionsCacheEntry"),
      _LinkedScrollActivity: findType("_LinkedScrollActivity"),
      _LinkedScrollPosition: findType("_LinkedScrollPosition"),
      _ListTileSlot: findType("_ListTileSlot"),
      _ListenerEntry: findType("_ListenerEntry"),
      _LiveImage: findType("_LiveImage"),
      _LocalizationsScope: findType("_LocalizationsScope"),
      _MapEntry: findType("_MapEntry"),
      _Matcher: findType("_Matcher"),
      _MaterialStatePropertyWith_Color: findType("_MaterialStatePropertyWith<Color>"),
      _MaterialStatePropertyWith_EdgeInsets: findType("_MaterialStatePropertyWith<EdgeInsets>"),
      _MaterialStatePropertyWith_MouseCursor: findType("_MaterialStatePropertyWith<MouseCursor0>"),
      _MaterialStatePropertyWith_bool: findType("_MaterialStatePropertyWith<bool>"),
      _MaterialStatePropertyWith_double: findType("_MaterialStatePropertyWith<double>"),
      _MaterialStatePropertyWith_nullable_Color: findType("_MaterialStatePropertyWith<Color?>"),
      _ModalScopeStatus: findType("_ModalScopeStatus"),
      _MouseState: findType("_MouseState"),
      _NavigatorObservation: findType("_NavigatorObservation"),
      _NestedHook: findType("_NestedHook"),
      _NestedHookElement: findType("_NestedHookElement"),
      _OutstandingRequest_dynamic: findType("_OutstandingRequest<@>"),
      _OverflowBarParentData: findType("_OverflowBarParentData"),
      _PagePosition: findType("_PagePosition"),
      _ParentInkResponseProvider: findType("_ParentInkResponseProvider"),
      _PendingImage: findType("_PendingImage"),
      _PizChannelData: findType("_PizChannelData"),
      _PointerState: findType("_PointerState"),
      _ReadingOrderDirectionalGroupData: findType("_ReadingOrderDirectionalGroupData"),
      _ReadingOrderSortData: findType("_ReadingOrderSortData"),
      _RenderColoredBox: findType("_RenderColoredBox"),
      _RenderInkFeatures: findType("_RenderInkFeatures"),
      _RenderOverflowBar: findType("_RenderOverflowBar"),
      _RenderTheatre: findType("_RenderTheatre"),
      _ResolvedNotoSubset: findType("_ResolvedNotoSubset"),
      _RouteEntry: findType("_RouteEntry"),
      _RouterScope: findType("_RouterScope"),
      _ScaffoldMessengerScope: findType("_ScaffoldMessengerScope"),
      _ScrollNotificationObserverScope: findType("_ScrollNotificationObserverScope"),
      _ScrollableScope: findType("_ScrollableScope"),
      _StackInfo: findType("_StackInfo"),
      _StateReader: findType("_StateReader"),
      _StoredMessage: findType("_StoredMessage"),
      _SyncCompleter_PoolResource: findType("_SyncCompleter<PoolResource>"),
      _SyncCompleter_dynamic: findType("_SyncCompleter<@>"),
      _TabControllerScope: findType("_TabControllerScope"),
      _TableRowPartDisplayType: findType("_TableRowPartDisplayType"),
      _TapTracker: findType("_TapTracker"),
      _TooltipVisibilityScope: findType("_TooltipVisibilityScope"),
      _UndoStack_TextEditingValue: findType("_UndoStack<TextEditingValue>"),
      _UnmodifiableSet_MaterialState: findType("_UnmodifiableSet<MaterialState>"),
      _UnmodifiableSet_String: findType("_UnmodifiableSet<String>"),
      _UpdateTextSelectionAction_ExtendSelectionByCharacterIntent: findType("_UpdateTextSelectionAction<ExtendSelectionByCharacterIntent>"),
      _UpdateTextSelectionAction_ExtendSelectionToDocumentBoundaryIntent: findType("_UpdateTextSelectionAction<ExtendSelectionToDocumentBoundaryIntent>"),
      _UpdateTextSelectionAction_ExtendSelectionToLineBreakIntent: findType("_UpdateTextSelectionAction<ExtendSelectionToLineBreakIntent>"),
      _UpdateTextSelectionAction_ExtendSelectionToNextWordBoundaryIntent: findType("_UpdateTextSelectionAction<ExtendSelectionToNextWordBoundaryIntent>"),
      _UpdateTextSelectionToAdjacentLineAction_ExtendSelectionVerticallyToAdjacentLineIntent: findType("_UpdateTextSelectionToAdjacentLineAction<ExtendSelectionVerticallyToAdjacentLineIntent>"),
      _WidgetTicker: findType("_WidgetTicker"),
      _ZoneFunction_of_void_Function_Zone_ZoneDelegate_Zone_Object_StackTrace: findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,Object,StackTrace)>"),
      bool: findType("bool"),
      double: findType("double"),
      dynamic: findType("@"),
      dynamic_Function_Event: findType("@(Event0)"),
      dynamic_Function_List_String: findType("@(List<String>)"),
      dynamic_Function_Object: findType("@(Object)"),
      dynamic_Function_Object_StackTrace: findType("@(Object,StackTrace)"),
      dynamic_Function_dynamic_dynamic: findType("@(@,@)"),
      int: findType("int"),
      legacy_Never: findType("0&*"),
      legacy_Object: findType("Object*"),
      nullable_AlignmentGeometryTween: findType("AlignmentGeometryTween?"),
      nullable_BitmapCanvas: findType("BitmapCanvas?"),
      nullable_Border: findType("Border?"),
      nullable_BorderDirectional: findType("BorderDirectional?"),
      nullable_BorderRadiusTween: findType("BorderRadiusTween?"),
      nullable_BorderSide: findType("BorderSide?"),
      nullable_BoxConstraintsTween: findType("BoxConstraintsTween?"),
      nullable_BoxPainter: findType("BoxPainter?"),
      nullable_Breakpoint: findType("Breakpoint?"),
      nullable_ByteData: findType("ByteData?"),
      nullable_CkPaint: findType("CkPaint?"),
      nullable_CkShader: findType("CkShader?"),
      nullable_Class: findType("Class?"),
      nullable_ClassHeapDetailStats: findType("ClassHeapDetailStats?"),
      nullable_ClassRef: findType("ClassRef?"),
      nullable_ClipPathEngineLayer: findType("ClipPathEngineLayer0?"),
      nullable_ClipPathLayer: findType("ClipPathLayer?"),
      nullable_ClipRRectEngineLayer: findType("ClipRRectEngineLayer0?"),
      nullable_ClipRRectLayer: findType("ClipRRectLayer?"),
      nullable_ClipRectEngineLayer: findType("ClipRectEngineLayer0?"),
      nullable_ClipRectLayer: findType("ClipRectLayer?"),
      nullable_ClipboardData: findType("ClipboardData?"),
      nullable_CodeRef: findType("CodeRef?"),
      nullable_Color: findType("Color?"),
      nullable_ColorTween: findType("ColorTween?"),
      nullable_ContainerLayer: findType("ContainerLayer0?"),
      nullable_ContextRef: findType("ContextRef?"),
      nullable_CpuProfileData: findType("CpuProfileData?"),
      nullable_CpuSamples: findType("CpuSamples?"),
      nullable_CpuSamplesEvent: findType("CpuSamplesEvent?"),
      nullable_CrossAxisAlignment: findType("CrossAxisAlignment?"),
      nullable_DecorationTween: findType("DecorationTween?"),
      nullable_DevToolsJsonFile: findType("DevToolsJsonFile?"),
      nullable_DevToolsServerConnection: findType("DevToolsServerConnection?"),
      nullable_DevToolsSurvey: findType("DevToolsSurvey?"),
      nullable_Directionality: findType("Directionality?"),
      nullable_EdgeInsetsGeometry: findType("EdgeInsetsGeometry?"),
      nullable_EdgeInsetsGeometryTween: findType("EdgeInsetsGeometryTween?"),
      nullable_Element: findType("Element1?"),
      nullable_Element_2: findType("Element?"),
      nullable_EngineStrutStyle: findType("EngineStrutStyle?"),
      nullable_EnumInstance: findType("EnumInstance?"),
      nullable_Error: findType("Error?"),
      nullable_ErrorRef: findType("ErrorRef?"),
      nullable_Event: findType("Event?"),
      nullable_ExternalReference: findType("ExternalReference?"),
      nullable_FieldRef: findType("FieldRef?"),
      nullable_FlexLayoutProperties: findType("FlexLayoutProperties?"),
      nullable_FlutterVersion: findType("FlutterVersion?"),
      nullable_FocusNode: findType("FocusNode?"),
      nullable_FollowerLayer: findType("FollowerLayer?"),
      nullable_Frame: findType("Frame1?"),
      nullable_FuncRef: findType("FuncRef?"),
      nullable_Future_Null: findType("Future<Null>?"),
      nullable_GlProgram: findType("GlProgram?"),
      nullable_HeapGraphClassLive: findType("HeapGraphClassLive?"),
      nullable_HeapGraphElementLive: findType("HeapGraphElementLive?"),
      nullable_HeapGraphExternalLive: findType("HeapGraphExternalLive?"),
      nullable_HeapSnapshotGraph: findType("HeapSnapshotGraph?"),
      nullable_HeroControllerScope: findType("HeroControllerScope?"),
      nullable_HorizontalDragGestureRecognizer: findType("HorizontalDragGestureRecognizer?"),
      nullable_HttpRequest: findType("HttpRequest?"),
      nullable_IconThemeData: findType("IconThemeData?"),
      nullable_InkHighlight: findType("InkHighlight?"),
      nullable_InputBorder: findType("InputBorder?"),
      nullable_Instance: findType("Instance?"),
      nullable_InstanceDetails: findType("InstanceDetails?"),
      nullable_InstanceRef: findType("InstanceRef?"),
      nullable_Int16List: findType("Int16List?"),
      nullable_IsolateRef: findType("IsolateRef?"),
      nullable_JavaScriptObject: findType("JavaScriptObject?"),
      nullable_Key: findType("Key?"),
      nullable_LibraryRef: findType("LibraryRef?"),
      nullable_LibraryReference: findType("LibraryReference?"),
      nullable_List_Object: findType("List<Object>?"),
      nullable_List_RemoteDiagnosticsNode: findType("List<RemoteDiagnosticsNode>?"),
      nullable_List_VMServiceObjectNode: findType("List<VMServiceObjectNode>?"),
      nullable_List_dynamic: findType("List<@>?"),
      nullable_List_nullable_Object: findType("List<Object?>?"),
      nullable_LogRecord: findType("LogRecord?"),
      nullable_LogicalKeyboardKey: findType("LogicalKeyboardKey?"),
      nullable_LongPressGestureRecognizer: findType("LongPressGestureRecognizer?"),
      nullable_MainAxisAlignment: findType("MainAxisAlignment?"),
      nullable_Map_String_dynamic: findType("Map<String,@>?"),
      nullable_Map_dynamic_dynamic: findType("Map<@,@>?"),
      nullable_Map_of_String_and_List_String: findType("Map<String,List<String>>?"),
      nullable_Map_of_String_and_nullable_Object: findType("Map<String,Object?>?"),
      nullable_Map_of_nullable_Object_and_nullable_Object: findType("Map<Object?,Object?>?"),
      nullable_Matrix4: findType("Matrix4?"),
      nullable_Matrix4Tween: findType("Matrix4Tween?"),
      nullable_MemoryTracker: findType("MemoryTracker?"),
      nullable_MemoryUsage: findType("MemoryUsage?"),
      nullable_MetaElement: findType("MetaElement?"),
      nullable_MouseCursor: findType("MouseCursor0?"),
      nullable_NetworkRequest: findType("NetworkRequest?"),
      nullable_ObjRef: findType("ObjRef?"),
      nullable_Object: findType("Object?"),
      nullable_OffsetEngineLayer: findType("OffsetEngineLayer0?"),
      nullable_OffsetLayer: findType("OffsetLayer?"),
      nullable_OpacityEngineLayer: findType("OpacityEngineLayer0?"),
      nullable_OpacityLayer: findType("OpacityLayer?"),
      nullable_OutlinedBorder: findType("OutlinedBorder?"),
      nullable_PanGestureRecognizer: findType("PanGestureRecognizer?"),
      nullable_ParentDataElement_KeepAliveParentDataMixin: findType("ParentDataElement<KeepAliveParentDataMixin>?"),
      nullable_PersistedClipPath: findType("PersistedClipPath?"),
      nullable_PersistedClipRect: findType("PersistedClipRect?"),
      nullable_PersistedOffset: findType("PersistedOffset?"),
      nullable_PersistedOpacity: findType("PersistedOpacity?"),
      nullable_PersistedSurface: findType("PersistedSurface?"),
      nullable_PersistedTransform: findType("PersistedTransform?"),
      nullable_PipelineOwner: findType("PipelineOwner?"),
      nullable_ProcessMemoryItem: findType("ProcessMemoryItem?"),
      nullable_ProgramInfoNode: findType("ProgramInfoNode?"),
      nullable_ProviderNode: findType("ProviderNode?"),
      nullable_RasterCache: findType("RasterCache?"),
      nullable_RegisteredFont: findType("RegisteredFont?"),
      nullable_RemoteDiagnosticsNode: findType("RemoteDiagnosticsNode?"),
      nullable_RenderBox: findType("RenderBox?"),
      nullable_RenderEditable: findType("RenderEditable?"),
      nullable_RenderObject: findType("RenderObject?"),
      nullable_RenderObjectElement: findType("RenderObjectElement?"),
      nullable_RenderObjectToWidgetElement_RenderBox: findType("RenderObjectToWidgetElement<RenderBox>?"),
      nullable_RenderSemanticsGestureHandler: findType("RenderSemanticsGestureHandler?"),
      nullable_RenderSliver: findType("RenderSliver?"),
      nullable_Response: findType("Response?"),
      nullable_Result_Event: findType("Result<Event>?"),
      nullable_RoleManager: findType("RoleManager?"),
      nullable_RouteTransitionRecord: findType("RouteTransitionRecord?"),
      nullable_Script: findType("Script?"),
      nullable_ScriptRef: findType("ScriptRef?"),
      nullable_SelectionRect: findType("SelectionRect?"),
      nullable_SemanticsNode: findType("SemanticsNode?"),
      nullable_SemanticsOwner: findType("SemanticsOwner?"),
      nullable_ShapeBorder: findType("ShapeBorder?"),
      nullable_ShapeBorderTween: findType("ShapeBorderTween?"),
      nullable_ShapeDecoration: findType("ShapeDecoration?"),
      nullable_Size: findType("Size?"),
      nullable_SliverMultiBoxAdaptorParentData: findType("SliverMultiBoxAdaptorParentData?"),
      nullable_SourceLocation: findType("SourceLocation?"),
      nullable_SourceReportCoverage: findType("SourceReportCoverage?"),
      nullable_StackZoneSpecification: findType("StackZoneSpecification?"),
      nullable_StatefulElement: findType("StatefulElement?"),
      nullable_String: findType("String?"),
      nullable_SurfacePaint: findType("SurfacePaint?"),
      nullable_SyncTimelineEvent: findType("SyncTimelineEvent?"),
      nullable_TapGestureRecognizer: findType("TapGestureRecognizer?"),
      nullable_TextStyle: findType("TextStyle?"),
      nullable_TextStyleTween: findType("TextStyleTween?"),
      nullable_TransformEngineLayer: findType("TransformEngineLayer0?"),
      nullable_TransformLayer: findType("TransformLayer?"),
      nullable_Tween_double: findType("Tween<double>?"),
      nullable_TypeArgumentsRef: findType("TypeArgumentsRef?"),
      nullable_Uint8List: findType("Uint8List?"),
      nullable_UncontrolledProviderScope: findType("UncontrolledProviderScope?"),
      nullable_VMRef: findType("VMRef?"),
      nullable_VP8BitReader: findType("VP8BitReader?"),
      nullable_VP8FInfo: findType("VP8FInfo?"),
      nullable_VP8QuantMatrix: findType("VP8QuantMatrix?"),
      nullable_VerticalDragGestureRecognizer: findType("VerticalDragGestureRecognizer?"),
      nullable_Widget: findType("Widget?"),
      nullable_XFile: findType("XFile?"),
      nullable__EffectiveTickerMode: findType("_EffectiveTickerMode?"),
      nullable__FocusTraversalGroupMarker: findType("_FocusTraversalGroupMarker?"),
      nullable__Highlight: findType("_Highlight?"),
      nullable__NestedHookElement: findType("_NestedHookElement?"),
      nullable__PointAtTime: findType("_PointAtTime?"),
      nullable__RouteEntry: findType("_RouteEntry?"),
      nullable__ScrollableScope: findType("_ScrollableScope?"),
      nullable__TaskEntry_dynamic: findType("_TaskEntry<@>?"),
      nullable_bool: findType("bool?"),
      nullable_double: findType("double?"),
      nullable_int: findType("int?"),
      nullable_void_Function: findType("~()?"),
      num: findType("num"),
      void: findType("~"),
      void_Function: findType("~()"),
      void_Function_Duration: findType("~(Duration)"),
      void_Function_FocusHighlightMode: findType("~(FocusHighlightMode)"),
      void_Function_JavaScriptObject: findType("~(JavaScriptObject)"),
      void_Function_List_FrameTiming: findType("~(List<FrameTiming>)"),
      void_Function_Object: findType("~(Object)"),
      void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
      void_Function_PointerEvent: findType("~(PointerEvent)"),
      void_Function_RawKeyEvent: findType("~(RawKeyEvent)"),
      void_Function_nullable_Object: findType("~(Object?)")
    };
  })();
  (function constants() {
    var makeConstList = hunkHelpers.makeConstList;
    B.CanvasElement_methods = A.CanvasElement.prototype;
    B.CanvasRenderingContext2D_methods = A.CanvasRenderingContext2D.prototype;
    B.CssStyleDeclaration_methods = A.CssStyleDeclaration.prototype;
    B.DivElement_methods = A.DivElement.prototype;
    B.EventSource_methods = A.EventSource.prototype;
    B.FileList_methods = A.FileList.prototype;
    B.FileReader_methods = A.FileReader.prototype;
    B.FormElement_methods = A.FormElement.prototype;
    B.HtmlDocument_methods = A.HtmlDocument.prototype;
    B.HttpRequest_methods = A.HttpRequest.prototype;
    B.InputElement_methods = A.InputElement.prototype;
    B.Interceptor_methods = J.Interceptor.prototype;
    B.JSArray_methods = J.JSArray.prototype;
    B.JSBool_methods = J.JSBool.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.LabelElement_methods = A.LabelElement.prototype;
    B.MediaQueryList_methods = A.MediaQueryList.prototype;
    B.MetaElement_methods = A.MetaElement.prototype;
    B.MutationObserver_methods = A.MutationObserver.prototype;
    B.NativeByteBuffer_methods = A.NativeByteBuffer.prototype;
    B.NativeByteData_methods = A.NativeByteData.prototype;
    B.NativeFloat32List_methods = A.NativeFloat32List.prototype;
    B.NativeFloat64List_methods = A.NativeFloat64List.prototype;
    B.NativeInt32List_methods = A.NativeInt32List.prototype;
    B.NativeUint32List_methods = A.NativeUint32List.prototype;
    B.NativeUint8List_methods = A.NativeUint8List.prototype;
    B.NodeList_methods = A.NodeList.prototype;
    B.OffscreenCanvas_methods = A.OffscreenCanvas.prototype;
    B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
    B.StyleElement_methods = A.StyleElement.prototype;
    B.TouchList_methods = A.TouchList.prototype;
    B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype;
    B.WebSocket_methods = A.WebSocket0.prototype;
    B.WheelEvent_methods = A.WheelEvent.prototype;
    B.Window_methods = A.Window.prototype;
    B.AccessibilityMode_0 = new A.AccessibilityMode(0, "unknown");
    B.AlignmentDirectional_0_0 = new A.AlignmentDirectional(0, 0);
    B.AlignmentDirectional_0_1 = new A.AlignmentDirectional(0, 1);
    B.AlignmentDirectional_0_m1 = new A.AlignmentDirectional(0, -1);
    B.AlignmentDirectional_1_0 = new A.AlignmentDirectional(1, 0);
    B.AlignmentDirectional_1_m1 = new A.AlignmentDirectional(1, -1);
    B.AlignmentDirectional_m1_0 = new A.AlignmentDirectional(-1, 0);
    B.AlignmentDirectional_m1_1 = new A.AlignmentDirectional(-1, 1);
    B.AlignmentDirectional_m1_m1 = new A.AlignmentDirectional(-1, -1);
    B.Alignment_0_0 = new A.Alignment(0, 0);
    B.Alignment_0_1 = new A.Alignment(0, 1);
    B.Alignment_0_m1 = new A.Alignment(0, -1);
    B.Alignment_1_0 = new A.Alignment(1, 0);
    B.Alignment_1_1 = new A.Alignment(1, 1);
    B.Alignment_1_m1 = new A.Alignment(1, -1);
    B.Alignment_m1_0 = new A.Alignment(-1, 0);
    B.Alignment_m1_1 = new A.Alignment(-1, 1);
    B.Alignment_m1_m1 = new A.Alignment(-1, -1);
    B.AlwaysScrollableScrollPhysics_null = new A.AlwaysScrollableScrollPhysics(null);
    B.AndroidOverscrollIndicator_0 = new A.AndroidOverscrollIndicator(0, "stretch");
    B.AndroidOverscrollIndicator_1 = new A.AndroidOverscrollIndicator(1, "glow");
    B.AnimationBehavior_0 = new A.AnimationBehavior(0, "normal");
    B.AnimationBehavior_1 = new A.AnimationBehavior(1, "preserve");
    B.AnimationStatus_0 = new A.AnimationStatus(0, "dismissed");
    B.AnimationStatus_1 = new A.AnimationStatus(1, "forward");
    B.AnimationStatus_2 = new A.AnimationStatus(2, "reverse");
    B.AnimationStatus_3 = new A.AnimationStatus(3, "completed");
    B.AppBarTheme_ahf = new A.AppBarTheme(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.AppLifecycleState_0 = new A.AppLifecycleState(0, "resumed");
    B.AppLifecycleState_1 = new A.AppLifecycleState(1, "inactive");
    B.AppLifecycleState_2 = new A.AppLifecycleState(2, "paused");
    B.AppLifecycleState_3 = new A.AppLifecycleState(3, "detached");
    B.AppSizeBody_null = new A.AppSizeBody(null);
    B.IconData_61757_Octicons_false = new A.IconData(61757, "Octicons", false);
    B.AppSizeScreen_ato = new A.AppSizeScreen(true, "app-size", "App Size", B.IconData_61757_Octicons_false, null, null, true, false, false, false, null);
    B.Text_8ZF = new A.Text("Variables", null, null, null, null, null, null, null, null, null, null, null);
    B.List_empty17 = A._setArrayType(makeConstList([]), type$.JSArray_Widget);
    B.AreaPaneHeader_6xV = new A.AreaPaneHeader(B.Text_8ZF, 1, true, true, false, B.List_empty17, 4, null);
    B.Text_Q43 = new A.Text("Outline", null, null, null, null, null, null, null, null, null, null, null);
    B.AreaPaneHeader_yHF = new A.AreaPaneHeader(B.Text_Q43, 1, true, true, false, B.List_empty17, 4, null);
    B.ArrowType_0 = new A.ArrowType(0, "up");
    B.ArrowType_1 = new A.ArrowType(1, "left");
    B.ArrowType_2 = new A.ArrowType(2, "right");
    B.ArrowType_3 = new A.ArrowType(3, "down");
    B.AsciiDecoder_false_127 = new A.AsciiDecoder(false, 127);
    B.AsciiEncoder_127 = new A.AsciiEncoder(127);
    B.AssetImageIcon_ROq = new A.AssetImageIcon("icons/phone@2x.png", null, null, null);
    B.AssetImageIcon_U0W = new A.AssetImageIcon("icons/general/locate@2x.png", null, null, null);
    B.AssetImageIcon_Z6u = new A.AssetImageIcon("icons/perf/RedExcl@2x.png", null, null, null);
    B.AssetImageIcon_wmT = new A.AssetImageIcon("icons/widget_tree@2x.png", null, null, null);
    B.AssetImageIcon_wwd = new A.AssetImageIcon("icons/debug_banner@2x.png", null, null, null);
    B.AssetImage_46y = new A.AssetImage("assets/img/legend/events_glyph.png", null, null);
    B.AssetImage_usD = new A.AssetImage("assets/img/legend/event_glyph.png", null, null);
    B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_String);
    B.TextAffinity_1 = new A.TextAffinity(1, "downstream");
    B.TextSelection_ke5 = new A.TextSelection(-1, -1, B.TextAffinity_1, false, -1, -1);
    B.TextRange_m1_m1 = new A.TextRange(-1, -1);
    B.TextEditingValue_li8 = new A.TextEditingValue("", B.TextSelection_ke5, B.TextRange_m1_m1);
    B.AutofillConfiguration_lYx = new A.AutofillConfiguration(false, "", B.List_empty0, B.TextEditingValue_li8, null);
    B.AxisDirection_0 = new A.AxisDirection(0, "up");
    B.AxisDirection_1 = new A.AxisDirection(1, "right");
    B.AxisDirection_2 = new A.AxisDirection(2, "down");
    B.AxisDirection_3 = new A.AxisDirection(3, "left");
    B.Axis_0 = new A.Axis(0, "horizontal");
    B.Axis_1 = new A.Axis(1, "vertical");
    B.C_StandardMessageCodec = new A.StandardMessageCodec0();
    B.BasicMessageChannel_8hp = new A.BasicMessageChannel("flutter/accessibility", B.C_StandardMessageCodec, type$.BasicMessageChannel_nullable_Object);
    B.C_JSONMessageCodec0 = new A.JSONMessageCodec0();
    B.BasicMessageChannel_Cfi = new A.BasicMessageChannel("flutter/keyevent", B.C_JSONMessageCodec0, type$.BasicMessageChannel_nullable_Object);
    B.C_StringCodec = new A.StringCodec();
    B.BasicMessageChannel_No7 = new A.BasicMessageChannel("flutter/lifecycle", B.C_StringCodec, A.findType("BasicMessageChannel<String?>"));
    B.BasicMessageChannel_Qma = new A.BasicMessageChannel("flutter/system", B.C_JSONMessageCodec0, type$.BasicMessageChannel_nullable_Object);
    B.BitmapCompression_0 = new A.BitmapCompression(0, "BI_BITFIELDS");
    B.BitmapCompression_1 = new A.BitmapCompression(1, "NONE");
    B.BlendMode_13 = new A.BlendMode(13, "modulate");
    B.BlendMode_20 = new A.BlendMode(20, "hardLight");
    B.BlendMode_26 = new A.BlendMode(26, "saturation");
    B.BlendMode_3 = new A.BlendMode(3, "srcOver");
    B.BlendMode_5 = new A.BlendMode(5, "srcIn");
    B.BlurStyle_0 = new A.BlurStyle(0, "normal");
    B.Radius_0_0 = new A.Radius(0, 0);
    B.BorderRadius_tLn = new A.BorderRadius(B.Radius_0_0, B.Radius_0_0, B.Radius_0_0, B.Radius_0_0);
    B.Radius_4_4 = new A.Radius(4, 4);
    B.BorderRadius_tLn1 = new A.BorderRadius(B.Radius_4_4, B.Radius_4_4, B.Radius_0_0, B.Radius_0_0);
    B.Radius_2_2 = new A.Radius(2, 2);
    B.BorderRadius_tLn2 = new A.BorderRadius(B.Radius_2_2, B.Radius_2_2, B.Radius_2_2, B.Radius_2_2);
    B.BorderRadius_tLn0 = new A.BorderRadius(B.Radius_4_4, B.Radius_4_4, B.Radius_4_4, B.Radius_4_4);
    B.Radius_5_5 = new A.Radius(5, 5);
    B.BorderRadius_tLn3 = new A.BorderRadius(B.Radius_5_5, B.Radius_5_5, B.Radius_5_5, B.Radius_5_5);
    B.Radius_16_16 = new A.Radius(16, 16);
    B.BorderRadius_tLn4 = new A.BorderRadius(B.Radius_16_16, B.Radius_16_16, B.Radius_16_16, B.Radius_16_16);
    B.Color_4278190080 = new A.Color(4278190080);
    B.BorderStyle_0 = new A.BorderStyle(0, "none");
    B.StrokeAlign_0 = new A.StrokeAlign(0, "inside");
    B.BorderSide_aLd = new A.BorderSide(B.Color_4278190080, 0, B.BorderStyle_0, B.StrokeAlign_0);
    B.BorderStyle_1 = new A.BorderStyle(1, "solid");
    B.Border_yXb = new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_aLd);
    B.BottomAppBarTheme_null_null_null = new A.BottomAppBarTheme(null, null, null);
    B.BottomNavigationBarThemeData_mRH = new A.BottomNavigationBarThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.BottomSheetThemeData_OEE = new A.BottomSheetThemeData(null, null, null, null, null, null, null);
    B.RangeMaintainingScrollPhysics_null = new A.RangeMaintainingScrollPhysics(null);
    B.BouncingScrollPhysics_MuS = new A.BouncingScrollPhysics(B.RangeMaintainingScrollPhysics_null);
    B.BoxConstraints_40_40_40_40 = new A.BoxConstraints(40, 40, 40, 40);
    B.BoxConstraints_56_56_56_56 = new A.BoxConstraints(56, 56, 56, 56);
    B.BoxConstraints_96_96_96_96 = new A.BoxConstraints(96, 96, 96, 96);
    B.BoxConstraints_ALM = new A.BoxConstraints(1 / 0, 1 / 0, 1 / 0, 1 / 0);
    B.BoxConstraints_CWG = new A.BoxConstraints(0, 1 / 0, 48, 48);
    B.BoxConstraints_EcO = new A.BoxConstraints(112, 280, 0, 1 / 0);
    B.BoxConstraints_EcO0 = new A.BoxConstraints(0, 800, 0, 1 / 0);
    B.BoxConstraints_mlX = new A.BoxConstraints(0, 1 / 0, 0, 1 / 0);
    B.BoxConstraints_mlX2 = new A.BoxConstraints(280, 1 / 0, 0, 1 / 0);
    B.BoxConstraints_mlX0 = new A.BoxConstraints(36, 1 / 0, 36, 1 / 0);
    B.BoxConstraints_mlX4 = new A.BoxConstraints(88, 1 / 0, 36, 1 / 0);
    B.BoxConstraints_mlX3 = new A.BoxConstraints(0, 1 / 0, 48, 1 / 0);
    B.BoxConstraints_mlX1 = new A.BoxConstraints(48, 1 / 0, 48, 1 / 0);
    B.Color_4278227434 = new A.Color(4278227434);
    B.BoxShape_0 = new A.BoxShape(0, "rectangle");
    B.BoxDecoration_89U = new A.BoxDecoration(B.Color_4278227434, null, null, null, null, null, null, B.BoxShape_0);
    B.Color_4290624957 = new A.Color(4290624957);
    B.BorderSide_Ac0 = new A.BorderSide(B.Color_4290624957, 0, B.BorderStyle_1, B.StrokeAlign_0);
    B.Border_irK = new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_Ac0, B.BorderSide_aLd);
    B.BoxDecoration_EKj = new A.BoxDecoration(null, null, B.Border_irK, null, null, null, null, B.BoxShape_0);
    B.BoxDecoration_ct0 = new A.BoxDecoration(null, null, null, null, null, null, null, B.BoxShape_0);
    B.Color_4283790975 = new A.Color(4283790975);
    B.BorderSide_4iV = new A.BorderSide(B.Color_4283790975, 0, B.BorderStyle_1, B.StrokeAlign_0);
    B.Border_2Rm = new A.Border(B.BorderSide_aLd, B.BorderSide_aLd, B.BorderSide_4iV, B.BorderSide_aLd);
    B.BoxDecoration_cwZ = new A.BoxDecoration(null, null, B.Border_2Rm, null, null, null, null, B.BoxShape_0);
    B.BoxFit_0 = new A.BoxFit(0, "fill");
    B.BoxFit_4 = new A.BoxFit(4, "fitHeight");
    B.BoxFit_5 = new A.BoxFit(5, "none");
    B.BoxFit_6 = new A.BoxFit(6, "scaleDown");
    B.BoxHeightStyle_0 = new A.BoxHeightStyle(0, "tight");
    B.BoxHeightStyle_5 = new A.BoxHeightStyle(5, "strut");
    B.BoxShape_1 = new A.BoxShape(1, "circle");
    B.BoxWidthStyle_0 = new A.BoxWidthStyle(0, "tight");
    B.Brightness_0 = new A.Brightness(0, "dark");
    B.Brightness_1 = new A.Brightness(1, "light");
    B.BrowserEngine_0 = new A.BrowserEngine(0, "blink");
    B.BrowserEngine_1 = new A.BrowserEngine(1, "webkit");
    B.BrowserEngine_2 = new A.BrowserEngine(2, "firefox");
    B.BrowserEngine_3 = new A.BrowserEngine(3, "edge");
    B.BrowserEngine_4 = new A.BrowserEngine(4, "ie11");
    B.BrowserEngine_5 = new A.BrowserEngine(5, "samsung");
    B.BrowserEngine_6 = new A.BrowserEngine(6, "unknown");
    B.BulletSpacer_false_null = new A.BulletSpacer(false, null);
    B.BulletSpacer_true_null = new A.BulletSpacer(true, null);
    B.ButtonBarLayoutBehavior_1 = new A.ButtonBarLayoutBehavior(1, "padded");
    B.ButtonBarThemeData_A0t = new A.ButtonBarThemeData(null, null, null, null, null, null, null, null, null);
    B.ButtonStyle_khi = new A.ButtonStyle(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.ButtonTextTheme_0 = new A.ButtonTextTheme(0, "normal");
    B.C__EmptyStream = new A._EmptyStream(A.findType("_EmptyStream<List<int>>"));
    B.ByteStream__EmptyStream = new A.ByteStream(B.C__EmptyStream);
    B.CONSTANT2 = new A.Instantiation1(A.instance_details___$identity$closure(), A.findType("Instantiation1<_InstancePathFromInstanceId>"));
    B.CONSTANT1 = new A.Instantiation1(A.instance_details___$identity$closure(), A.findType("Instantiation1<_InstancePathFromProviderId>"));
    B.CONSTANT0 = new A.Instantiation1(A.math__max$closure(), A.findType("Instantiation1<double>"));
    B.CONSTANT = new A.Instantiation1(A.math__max$closure(), A.findType("Instantiation1<int>"));
    B.C_ActionDispatcher = new A.ActionDispatcher();
    B.C_AsciiCodec = new A.AsciiCodec();
    B.C_AssetManager = new A.AssetManager();
    B.C_AutoDisposeProviderBuilder = new A.AutoDisposeProviderBuilder();
    B.C_Base64Encoder = new A.Base64Encoder();
    B.C_Base64Codec = new A.Base64Codec();
    B.C_Base64Decoder = new A.Base64Decoder();
    B.C_BlockTagBlockHtmlSyntax = new A.BlockTagBlockHtmlSyntax();
    B.C_BlockquoteSyntax = new A.BlockquoteSyntax();
    B.C_BrowserPlatformLocation0 = new A.BrowserPlatformLocation();
    B.C_BrowserPlatformLocation = new A.BrowserPlatformLocation0();
    B.C_CkRestoreCommand = new A.CkRestoreCommand();
    B.C_CkSaveCommand = new A.CkSaveCommand();
    B.C_CodeBlockSyntax = new A.CodeBlockSyntax();
    B.C_Console = new A.Console0();
    B.C_DecimalInputType = new A.DecimalInputType();
    B.C_DefaultCupertinoLocalizations = new A.DefaultCupertinoLocalizations();
    B.C_DefaultEquality = new A.DefaultEquality(A.findType("DefaultEquality<0&>"));
    B.C_DefaultMaterialLocalizations = new A.DefaultMaterialLocalizations();
    B.C_DefaultTransitionDelegate = new A.DefaultTransitionDelegate(A.findType("DefaultTransitionDelegate<@>"));
    B.C_DefaultWidgetsLocalizations = new A.DefaultWidgetsLocalizations();
    B.C_DoNothingAndStopPropagationTextIntent = new A.DoNothingAndStopPropagationTextIntent();
    B.C_EmailInputType = new A.EmailInputType();
    B.C_EmptyBlockSyntax = new A.EmptyBlockSyntax();
    B.C_EmptyIterable = new A.EmptyIterable(A.findType("EmptyIterable<FocusNode>"));
    B.C_EmptyIterable0 = new A.EmptyIterable(A.findType("EmptyIterable<TextInputFormatter>"));
    B.C_EmptyIterator = new A.EmptyIterator(A.findType("EmptyIterator<0&>"));
    B.C_Endian0 = new A.Endian();
    B.C_Endian = new A.Endian();
    B.C_FencedCodeBlockSyntax = new A.FencedCodeBlockSyntax();
    B.C_FlexColumnWidth = new A.FlexColumnWidth();
    B.C_FloatingLabelAlignment = new A.FloatingLabelAlignment();
    B.C_FontFeature = new A.FontFeature();
    B.C_GestureSettings = new A.GestureSettings();
    B.C_HashUrlStrategy = new A.HashUrlStrategy();
    B.C_HeaderSyntax = new A.HeaderSyntax();
    B.C_HeapSnapshotObjectNoData = new A.HeapSnapshotObjectNoData();
    B.C_HeapSnapshotObjectNullData = new A.HeapSnapshotObjectNullData();
    B.C_HorizontalRuleSyntax = new A.HorizontalRuleSyntax();
    B.FloatingLabelBehavior_1 = new A.FloatingLabelBehavior(1, "auto");
    B.C_InputDecorationTheme = new A.InputDecorationTheme();
    B.C_JSONMessageCodec = new A.JSONMessageCodec();
    B.C_JSONMethodCodec = new A.JSONMethodCodec();
    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_JsonCodec = new A.JsonCodec();
    B.C_Latin1Codec = new A.Latin1Codec();
    B.C_LineSplitter = new A.LineSplitter();
    B.C_MaterialScrollBehavior = new A.MaterialScrollBehavior();
    B.C_MultilineInputType = new A.MultilineInputType();
    B.C_NoTextInputType = new A.NoTextInputType();
    B.C_NumberInputType = new A.NumberInputType();
    B.C_Object = new A.Object();
    B.C_OrderedListSyntax = new A.OrderedListSyntax();
    B.C_OtherTagBlockHtmlSyntax = new A.OtherTagBlockHtmlSyntax();
    B.C_OutOfMemoryError = new A.OutOfMemoryError();
    B.TargetPlatform_0 = new A.TargetPlatform(0, "android");
    B.TargetPlatform_2 = new A.TargetPlatform(2, "iOS");
    B.TargetPlatform_4 = new A.TargetPlatform(4, "macOS");
    B.C_ZoomPageTransitionsBuilder = new A.ZoomPageTransitionsBuilder();
    B.C_CupertinoPageTransitionsBuilder = new A.CupertinoPageTransitionsBuilder();
    B.Map_DVCx1 = new A.GeneralConstantMap([B.TargetPlatform_0, B.C_ZoomPageTransitionsBuilder, B.TargetPlatform_2, B.C_CupertinoPageTransitionsBuilder, B.TargetPlatform_4, B.C_CupertinoPageTransitionsBuilder], A.findType("GeneralConstantMap<TargetPlatform,PageTransitionsBuilder>"));
    B.C_PageTransitionsTheme = new A.PageTransitionsTheme();
    B.C_PaintRestore = new A.PaintRestore();
    B.C_PaintSave = new A.PaintSave();
    B.C_ParagraphSyntax = new A.ParagraphSyntax();
    B.SelectionChangedCause_4 = new A.SelectionChangedCause(4, "keyboard");
    B.C_PasteTextIntent = new A.PasteTextIntent();
    B.C_PhoneInputType = new A.PhoneInputType();
    B.C_PointerSupportDetector = new A.PointerSupportDetector();
    B.C_RedoTextIntent = new A.RedoTextIntent();
    B.C_ScrollBehavior = new A.ScrollBehavior();
    B.C_SelectAllTextIntent = new A.SelectAllTextIntent();
    B.C_SentinelValue = new A.SentinelValue();
    B.C_SetextHeaderSyntax = new A.SetextHeaderSyntax();
    B.C_StandardMessageCodec0 = new A.StandardMessageCodec();
    B.C_StandardMethodCodec = new A.StandardMethodCodec();
    B.C_TableSyntax = new A.TableSyntax();
    B.C_TextInputClearClient = new A.TextInputClearClient();
    B.C_TextInputHide = new A.TextInputHide();
    B.C_TextInputRequestAutofill = new A.TextInputRequestAutofill();
    B.C_TextInputSetCaretRect = new A.TextInputSetCaretRect();
    B.C_TextInputSetMarkedTextRect = new A.TextInputSetMarkedTextRect();
    B.C_TextInputShow = new A.TextInputShow();
    B.C_TextInputType = new A.TextInputType0();
    B.C_TextInputUpdateConfig = new A.TextInputUpdateConfig();
    B.Offset_ILV = new A.Offset(0.05, 0);
    B.Offset_dGA = new A.Offset(0.133333, 0.06);
    B.Offset_GNx = new A.Offset(0.166666, 0.4);
    B.Offset_Muk = new A.Offset(0.208333, 0.82);
    B.Offset_chs = new A.Offset(0.25, 1);
    B.C_ThreePointCubic = new A.ThreePointCubic();
    B.C_TransposeCharactersIntent = new A.TransposeCharactersIntent();
    B.C_UndoTextIntent = new A.UndoTextIntent();
    B.C_UnorderedListSyntax = new A.UnorderedListSyntax();
    B.C_UrlInputType = new A.UrlInputType();
    B.C_Utf8Encoder = new A.Utf8Encoder();
    B.Rect_0_0_0_0 = new A.Rect(0, 0, 0, 0);
    B.WindowPadding_0_0_0_0 = new A.WindowPadding(0, 0, 0, 0);
    B.List_empty11 = A._setArrayType(makeConstList([]), A.findType("JSArray<DisplayFeature>"));
    B.C_ViewConfiguration = new A.ViewConfiguration0();
    B.Map_empty3 = new A.ConstantStringMap(0, {}, B.List_empty0, type$.ConstantStringMap_String_String);
    B.C_WebViewConfiguration = new A.WebViewConfiguration();
    B.C_ZLibDecoder = new A.ZLibDecoder();
    B.C__$PathToPropertyTearOff = new A._$PathToPropertyTearOff();
    B.C__AlwaysCompleteAnimation = new A._AlwaysCompleteAnimation();
    B.C__AlwaysDismissedAnimation = new A._AlwaysDismissedAnimation();
    B.C__CupertinoLocalizationsDelegate = new A._CupertinoLocalizationsDelegate();
    B.C__DecelerateCurve = new A._DecelerateCurve();
    B.C__DefaultBinaryMessenger = new A._DefaultBinaryMessenger();
    B.C__DefaultHeroTag = new A._DefaultHeroTag();
    B.C__DeferringMouseCursor = new A._DeferringMouseCursor();
    B.C__DelayedDone = new A._DelayedDone();
    B.C__EndFloatFabLocation = new A._EndFloatFabLocation();
    B.C__InkRippleFactory = new A._InkRippleFactory();
    B.C__InkSplashFactory = new A._InkSplashFactory();
    B.C__JSRandom = new A._JSRandom();
    B.C__Linear = new A._Linear();
    B.C__MaterialLocalizationsDelegate = new A._MaterialLocalizationsDelegate();
    B.C__NoDefaultValue = new A._NoDefaultValue();
    B.C__NullTableColumnWidth = new A._NullTableColumnWidth();
    B.C__Required = new A._Required();
    B.C__RootZone = new A._RootZone();
    B.C__ScalingFabMotionAnimator = new A._ScalingFabMotionAnimator();
    B.C__WidgetsLocalizationsDelegate = new A._WidgetsLocalizationsDelegate();
    B.C__ZLibDecoder = new A._ZLibDecoder();
    B.CacheExtentStyle_0 = new A.CacheExtentStyle(0, "pixel");
    B.CacheExtentStyle_1 = new A.CacheExtentStyle(1, "viewport");
    B.CardTheme_wEo = new A.CardTheme(null, null, null, null, null, null, null);
    B.Text_OCT = new A.Text("Nothing to inspect", null, null, null, null, null, null, null, null, null, null, null);
    B.Center_KwH = new A.Center(B.Alignment_0_0, null, null, B.Text_OCT, null);
    B.Text_1Oh = new A.Text("Select a frame above to view analysis data.", null, null, null, null, null, null, null, null, null, null, null);
    B.Center_SUw = new A.Center(B.Alignment_0_0, null, null, B.Text_1Oh, null);
    B.Text_AeS = new A.Text("No analysis data available for this frame.", null, null, null, null, null, null, null, null, null, null, null);
    B.Center_c8x = new A.Center(B.Alignment_0_0, null, null, B.Text_AeS, null);
    B._ActivityIndicatorType_0 = new A._ActivityIndicatorType(0, "material");
    B.CircularProgressIndicator_MQk = new A.CircularProgressIndicator(4, null, null, null, null, null, null, null);
    B.Center_mtF = new A.Center(B.Alignment_0_0, null, null, B.CircularProgressIndicator_MQk, null);
    B.Text_qxd = new A.Text("No Children", null, null, null, null, null, null, null, null, null, null, null);
    B.Center_nZd = new A.Center(B.Alignment_0_0, null, null, B.Text_qxd, null);
    B.Text_IRg = new A.Text("Take a snapshot to view raster metrics for the current screen.", null, null, null, null, null, null, null, null, null, null, null);
    B.Center_pVn = new A.Center(B.Alignment_0_0, null, null, B.Text_IRg, null);
    B.CenteredCircularProgressIndicator_null = new A.CenteredCircularProgressIndicator(null);
    B.Channels_0 = new A.Channels(0, "rgb");
    B.Channels_1 = new A.Channels(1, "rgba");
    B.ChartInterval_0 = new A.ChartInterval(0, "Default");
    B.ChartInterval_1 = new A.ChartInterval(1, "OneMinute");
    B.ChartInterval_2 = new A.ChartInterval(2, "FiveMinutes");
    B.ChartInterval_3 = new A.ChartInterval(3, "TenMinutes");
    B.ChartInterval_4 = new A.ChartInterval(4, "All");
    B.ChartSymbol_0 = new A.ChartSymbol(0, "ring");
    B.ChartSymbol_1 = new A.ChartSymbol(1, "disc");
    B.ChartSymbol_2 = new A.ChartSymbol(2, "concentric");
    B.ChartSymbol_6 = new A.ChartSymbol(6, "filledTriangle");
    B.ChartSymbol_9 = new A.ChartSymbol(9, "dashedLine");
    B.ChartType_0 = new A.ChartType(0, "symbol");
    B.ChartType_1 = new A.ChartType(1, "line");
    B.CheckboxThemeData_EkK = new A.CheckboxThemeData(null, null, null, null, null, null, null, null, null);
    B.ChipThemeData_OhV = new A.ChipThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.CircleBorder_Fuf = new A.CircleBorder(B.BorderSide_aLd);
    B.ClampingScrollPhysics_KYr = new A.ClampingScrollPhysics(B.RangeMaintainingScrollPhysics_null);
    B.ClampingScrollPhysics_null = new A.ClampingScrollPhysics(null);
    B.SelectionEventType_2 = new A.SelectionEventType(2, "clear");
    B.ClearSelectionEvent_SelectionEventType_2 = new A.ClearSelectionEvent(B.SelectionEventType_2);
    B.ClipOp_0 = new A.ClipOp(0, "difference");
    B.ClipOp_1 = new A.ClipOp(1, "intersect");
    B.Clip_0 = new A.Clip(0, "none");
    B.Clip_1 = new A.Clip(1, "hardEdge");
    B.Clip_2 = new A.Clip(2, "antiAlias");
    B.Clip_3 = new A.Clip(3, "antiAliasWithSaveLayer");
    B.CodeunitRange_0_255 = new A.CodeunitRange(0, 255);
    B.CodeunitRange_1024_1119 = new A.CodeunitRange(1024, 1119);
    B.CodeunitRange_1120_1327 = new A.CodeunitRange(1120, 1327);
    B.CodeunitRange_11360_11391 = new A.CodeunitRange(11360, 11391);
    B.CodeunitRange_11520_11567 = new A.CodeunitRange(11520, 11567);
    B.CodeunitRange_11648_11742 = new A.CodeunitRange(11648, 11742);
    B.CodeunitRange_1168_1169 = new A.CodeunitRange(1168, 1169);
    B.CodeunitRange_11744_11775 = new A.CodeunitRange(11744, 11775);
    B.CodeunitRange_11841_11841 = new A.CodeunitRange(11841, 11841);
    B.CodeunitRange_1200_1201 = new A.CodeunitRange(1200, 1201);
    B.CodeunitRange_12288_12351 = new A.CodeunitRange(12288, 12351);
    B.CodeunitRange_12288_12543 = new A.CodeunitRange(12288, 12543);
    B.CodeunitRange_12288_12591 = new A.CodeunitRange(12288, 12591);
    B.CodeunitRange_12549_12585 = new A.CodeunitRange(12549, 12585);
    B.CodeunitRange_12593_12686 = new A.CodeunitRange(12593, 12686);
    B.CodeunitRange_12800_12828 = new A.CodeunitRange(12800, 12828);
    B.CodeunitRange_12800_13311 = new A.CodeunitRange(12800, 13311);
    B.CodeunitRange_12896_12923 = new A.CodeunitRange(12896, 12923);
    B.CodeunitRange_1328_1424 = new A.CodeunitRange(1328, 1424);
    B.CodeunitRange_1417_1417 = new A.CodeunitRange(1417, 1417);
    B.CodeunitRange_1424_1535 = new A.CodeunitRange(1424, 1535);
    B.CodeunitRange_1536_1791 = new A.CodeunitRange(1536, 1791);
    B.CodeunitRange_19968_40959 = new A.CodeunitRange(19968, 40959);
    B.CodeunitRange_2304_2431 = new A.CodeunitRange(2304, 2431);
    B.CodeunitRange_2385_2386 = new A.CodeunitRange(2385, 2386);
    B.CodeunitRange_2404_2405 = new A.CodeunitRange(2404, 2405);
    B.CodeunitRange_2433_2555 = new A.CodeunitRange(2433, 2555);
    B.CodeunitRange_2561_2677 = new A.CodeunitRange(2561, 2677);
    B.CodeunitRange_256_591 = new A.CodeunitRange(256, 591);
    B.CodeunitRange_258_259 = new A.CodeunitRange(258, 259);
    B.CodeunitRange_2688_2815 = new A.CodeunitRange(2688, 2815);
    B.CodeunitRange_272_273 = new A.CodeunitRange(272, 273);
    B.CodeunitRange_2946_3066 = new A.CodeunitRange(2946, 3066);
    B.CodeunitRange_296_297 = new A.CodeunitRange(296, 297);
    B.CodeunitRange_305_305 = new A.CodeunitRange(305, 305);
    B.CodeunitRange_3072_3199 = new A.CodeunitRange(3072, 3199);
    B.CodeunitRange_3202_3314 = new A.CodeunitRange(3202, 3314);
    B.CodeunitRange_3330_3455 = new A.CodeunitRange(3330, 3455);
    B.CodeunitRange_338_339 = new A.CodeunitRange(338, 339);
    B.CodeunitRange_3458_3572 = new A.CodeunitRange(3458, 3572);
    B.CodeunitRange_3585_3675 = new A.CodeunitRange(3585, 3675);
    B.CodeunitRange_360_361 = new A.CodeunitRange(360, 361);
    B.CodeunitRange_3713_3807 = new A.CodeunitRange(3713, 3807);
    B.CodeunitRange_4096_4255 = new A.CodeunitRange(4096, 4255);
    B.CodeunitRange_416_417 = new A.CodeunitRange(416, 417);
    B.CodeunitRange_42560_42655 = new A.CodeunitRange(42560, 42655);
    B.CodeunitRange_4256_4351 = new A.CodeunitRange(4256, 4351);
    B.CodeunitRange_42784_43007 = new A.CodeunitRange(42784, 43007);
    B.CodeunitRange_43056_43065 = new A.CodeunitRange(43056, 43065);
    B.CodeunitRange_431_432 = new A.CodeunitRange(431, 432);
    B.CodeunitRange_43232_43259 = new A.CodeunitRange(43232, 43259);
    B.CodeunitRange_43777_43822 = new A.CodeunitRange(43777, 43822);
    B.CodeunitRange_44032_55215 = new A.CodeunitRange(44032, 55215);
    B.CodeunitRange_4608_5017 = new A.CodeunitRange(4608, 5017);
    B.CodeunitRange_6016_6143 = new A.CodeunitRange(6016, 6143);
    B.CodeunitRange_601_601 = new A.CodeunitRange(601, 601);
    B.CodeunitRange_64275_64279 = new A.CodeunitRange(64275, 64279);
    B.CodeunitRange_64285_64335 = new A.CodeunitRange(64285, 64335);
    B.CodeunitRange_64336_65023 = new A.CodeunitRange(64336, 65023);
    B.CodeunitRange_65070_65071 = new A.CodeunitRange(65070, 65071);
    B.CodeunitRange_65072_65135 = new A.CodeunitRange(65072, 65135);
    B.CodeunitRange_65132_65276 = new A.CodeunitRange(65132, 65276);
    B.CodeunitRange_65279_65279 = new A.CodeunitRange(65279, 65279);
    B.CodeunitRange_65280_65519 = new A.CodeunitRange(65280, 65519);
    B.CodeunitRange_65533_65533 = new A.CodeunitRange(65533, 65533);
    B.CodeunitRange_699_700 = new A.CodeunitRange(699, 700);
    B.CodeunitRange_710_710 = new A.CodeunitRange(710, 710);
    B.CodeunitRange_7296_7304 = new A.CodeunitRange(7296, 7304);
    B.CodeunitRange_730_730 = new A.CodeunitRange(730, 730);
    B.CodeunitRange_732_732 = new A.CodeunitRange(732, 732);
    B.CodeunitRange_7376_7414 = new A.CodeunitRange(7376, 7414);
    B.CodeunitRange_7386_7386 = new A.CodeunitRange(7386, 7386);
    B.CodeunitRange_7416_7417 = new A.CodeunitRange(7416, 7417);
    B.CodeunitRange_7680_7935 = new A.CodeunitRange(7680, 7935);
    B.CodeunitRange_775_775 = new A.CodeunitRange(775, 775);
    B.CodeunitRange_77824_78894 = new A.CodeunitRange(77824, 78894);
    B.CodeunitRange_7840_7929 = new A.CodeunitRange(7840, 7929);
    B.CodeunitRange_7936_8191 = new A.CodeunitRange(7936, 8191);
    B.CodeunitRange_803_803 = new A.CodeunitRange(803, 803);
    B.CodeunitRange_8192_8303 = new A.CodeunitRange(8192, 8303);
    B.CodeunitRange_8204_8204 = new A.CodeunitRange(8204, 8204);
    B.CodeunitRange_8204_8205 = new A.CodeunitRange(8204, 8205);
    B.CodeunitRange_8204_8206 = new A.CodeunitRange(8204, 8206);
    B.CodeunitRange_8208_8209 = new A.CodeunitRange(8208, 8209);
    B.CodeunitRange_8224_8224 = new A.CodeunitRange(8224, 8224);
    B.CodeunitRange_8271_8271 = new A.CodeunitRange(8271, 8271);
    B.CodeunitRange_8308_8308 = new A.CodeunitRange(8308, 8308);
    B.CodeunitRange_8352_8363 = new A.CodeunitRange(8352, 8363);
    B.CodeunitRange_8360_8360 = new A.CodeunitRange(8360, 8360);
    B.CodeunitRange_8362_8362 = new A.CodeunitRange(8362, 8362);
    B.CodeunitRange_8363_8363 = new A.CodeunitRange(8363, 8363);
    B.CodeunitRange_8364_8364 = new A.CodeunitRange(8364, 8364);
    B.CodeunitRange_8365_8399 = new A.CodeunitRange(8365, 8399);
    B.CodeunitRange_8372_8372 = new A.CodeunitRange(8372, 8372);
    B.CodeunitRange_8377_8377 = new A.CodeunitRange(8377, 8377);
    B.CodeunitRange_8467_8467 = new A.CodeunitRange(8467, 8467);
    B.CodeunitRange_8470_8470 = new A.CodeunitRange(8470, 8470);
    B.CodeunitRange_8482_8482 = new A.CodeunitRange(8482, 8482);
    B.CodeunitRange_8593_8593 = new A.CodeunitRange(8593, 8593);
    B.CodeunitRange_8595_8595 = new A.CodeunitRange(8595, 8595);
    B.CodeunitRange_8722_8722 = new A.CodeunitRange(8722, 8722);
    B.CodeunitRange_8725_8725 = new A.CodeunitRange(8725, 8725);
    B.CodeunitRange_880_1023 = new A.CodeunitRange(880, 1023);
    B.CodeunitRange_9676_9676 = new A.CodeunitRange(9676, 9676);
    B.CodeunitRange_9772_9772 = new A.CodeunitRange(9772, 9772);
    B.Color_4284978125 = new A.Color(4284978125);
    B.ColorPair_Color_4278190080_Color_4284978125 = new A.ColorPair(B.Color_4278190080, B.Color_4284978125);
    B.Color_4287148510 = new A.Color(4287148510);
    B.ColorPair_Color_4278190080_Color_4287148510 = new A.ColorPair(B.Color_4278190080, B.Color_4287148510);
    B.Color_4293980400 = new A.Color(4293980400);
    B.Color_4281097642 = new A.Color(4281097642);
    B.ColorPair_Color_4293980400_Color_4281097642 = new A.ColorPair(B.Color_4293980400, B.Color_4281097642);
    B.Color_4281888438 = new A.Color(4281888438);
    B.ColorPair_Color_4293980400_Color_4281888438 = new A.ColorPair(B.Color_4293980400, B.Color_4281888438);
    B.Color_4285993007 = new A.Color(4285993007);
    B.ColorPair_Color_4293980400_Color_4285993007 = new A.ColorPair(B.Color_4293980400, B.Color_4285993007);
    B.Color_0 = new A.Color(0);
    B.Color_1087163596 = new A.Color(1087163596);
    B.Color_1308622847 = new A.Color(1308622847);
    B.Color_134217728 = new A.Color(134217728);
    B.Color_1375731712 = new A.Color(1375731712);
    B.Color_1627389952 = new A.Color(1627389952);
    B.Color_1660944383 = new A.Color(1660944383);
    B.Color_16777215 = new A.Color(16777215);
    B.Color_167772160 = new A.Color(167772160);
    B.Color_1723645116 = new A.Color(1723645116);
    B.Color_1724434632 = new A.Color(1724434632);
    B.Color_1929379840 = new A.Color(1929379840);
    B.Color_2130706432 = new A.Color(2130706432);
    B.Color_2315255808 = new A.Color(2315255808);
    B.Color_234881023 = new A.Color(234881023);
    B.Color_2583691263 = new A.Color(2583691263);
    B.Color_3019898879 = new A.Color(3019898879);
    B.Color_3204448256 = new A.Color(3204448256);
    B.Color_3221225216 = new A.Color(3221225216);
    B.Color_3707764736 = new A.Color(3707764736);
    B.Color_4039164096 = new A.Color(4039164096);
    B.Color_4278190335 = new A.Color(4278190335);
    B.Color_4278194304 = new A.Color(4278194304);
    B.Color_4278221567 = new A.Color(4278221567);
    B.Color_4278221699 = new A.Color(4278221699);
    B.Color_4278222848 = new A.Color(4278222848);
    B.Color_4278229706 = new A.Color(4278229706);
    B.Color_4278239141 = new A.Color(4278239141);
    B.Color_4278249078 = new A.Color(4278249078);
    B.Color_4278285762 = new A.Color(4278285762);
    B.Color_4278343323 = new A.Color(4278343323);
    B.Color_4278813951 = new A.Color(4278813951);
    B.Color_4278814296 = new A.Color(4278814296);
    B.Color_4279465404 = new A.Color(4279465404);
    B.Color_4279482877 = new A.Color(4279482877);
    B.Color_4279858898 = new A.Color(4279858898);
    B.Color_4280032286 = new A.Color(4280032286);
    B.Color_4280116380 = new A.Color(4280116380);
    B.Color_4280191205 = new A.Color(4280191205);
    B.Color_4280295716 = new A.Color(4280295716);
    B.Color_4280361249 = new A.Color(4280361249);
    B.Color_4280391411 = new A.Color(4280391411);
    B.Color_4280491808 = new A.Color(4280491808);
    B.Color_4280713113 = new A.Color(4280713113);
    B.Color_4281220168 = new A.Color(4281220168);
    B.Color_4281348144 = new A.Color(4281348144);
    B.Color_4281578981 = new A.Color(4281578981);
    B.Color_4281779956 = new A.Color(4281779956);
    B.Color_4282006076 = new A.Color(4282006076);
    B.Color_4282138691 = new A.Color(4282138691);
    B.Color_4282365257 = new A.Color(4282365257);
    B.Color_4282532418 = new A.Color(4282532418);
    B.Color_4282557941 = new A.Color(4282557941);
    B.Color_4282795590 = new A.Color(4282795590);
    B.Color_4282796364 = new A.Color(4282796364);
    B.Color_4282992969 = new A.Color(4282992969);
    B.Color_4283293439 = new A.Color(4283293439);
    B.Color_4283322191 = new A.Color(4283322191);
    B.Color_4283353520 = new A.Color(4283353520);
    B.Color_4283744751 = new A.Color(4283744751);
    B.Color_4283866326 = new A.Color(4283866326);
    B.Color_4283979864 = new A.Color(4283979864);
    B.Color_4284441447 = new A.Color(4284441447);
    B.Color_4284507243 = new A.Color(4284507243);
    B.Color_4284572001 = new A.Color(4284572001);
    B.Color_4284809178 = new A.Color(4284809178);
    B.Color_4284901164 = new A.Color(4284901164);
    B.Color_4284913920 = new A.Color(4284913920);
    B.Color_4285031635 = new A.Color(4285031635);
    B.Color_4285040631 = new A.Color(4285040631);
    B.Color_4285176149 = new A.Color(4285176149);
    B.Color_4285707974 = new A.Color(4285707974);
    B.Color_4285775683 = new A.Color(4285775683);
    B.Color_4285887861 = new A.Color(4285887861);
    B.Color_4286091420 = new A.Color(4286091420);
    B.Color_4286144038 = new A.Color(4286144038);
    B.Color_4286611584 = new A.Color(4286611584);
    B.Color_4287269514 = new A.Color(4287269514);
    B.Color_4287284818 = new A.Color(4287284818);
    B.Color_4287679225 = new A.Color(4287679225);
    B.Color_4287794937 = new A.Color(4287794937);
    B.Color_4288256409 = new A.Color(4288256409);
    B.Color_4288470270 = new A.Color(4288470270);
    B.Color_4288585374 = new A.Color(4288585374);
    B.Color_4289017637 = new A.Color(4289017637);
    B.Color_4289357516 = new A.Color(4289357516);
    B.Color_4289638065 = new A.Color(4289638065);
    B.Color_4289659099 = new A.Color(4289659099);
    B.Color_4289675348 = new A.Color(4289675348);
    B.Color_4289724448 = new A.Color(4289724448);
    B.Color_4289855489 = new A.Color(4289855489);
    B.Color_4289974874 = new A.Color(4289974874);
    B.Color_4290105000 = new A.Color(4290105000);
    B.Color_4290493371 = new A.Color(4290493371);
    B.Color_4290502395 = new A.Color(4290502395);
    B.Color_4290824755 = new A.Color(4290824755);
    B.Color_4290992474 = new A.Color(4290992474);
    B.Color_4291135168 = new A.Color(4291135168);
    B.Color_4291348680 = new A.Color(4291348680);
    B.Color_4291611852 = new A.Color(4291611852);
    B.Color_4291811548 = new A.Color(4291811548);
    B.Color_4291940822 = new A.Color(4291940822);
    B.Color_4292030255 = new A.Color(4292030255);
    B.Color_4292149497 = new A.Color(4292149497);
    B.Color_4292382323 = new A.Color(4292382323);
    B.Color_4292599261 = new A.Color(4292599261);
    B.Color_4292664490 = new A.Color(4292664490);
    B.Color_4292664540 = new A.Color(4292664540);
    B.Color_4292780169 = new A.Color(4292780169);
    B.Color_4292908944 = new A.Color(4292908944);
    B.Color_4292927712 = new A.Color(4292927712);
    B.Color_4292931322 = new A.Color(4292931322);
    B.Color_4293128957 = new A.Color(4293128957);
    B.Color_4293284096 = new A.Color(4293284096);
    B.Color_4293558524 = new A.Color(4293558524);
    B.Color_4293797967 = new A.Color(4293797967);
    B.Color_4293848814 = new A.Color(4293848814);
    B.Color_4293874512 = new A.Color(4293874512);
    B.Color_4294111991 = new A.Color(4294111991);
    B.Color_4294198070 = new A.Color(4294198070);
    B.Color_4294278144 = new A.Color(4294278144);
    B.Color_4294280299 = new A.Color(4294280299);
    B.Color_4294309365 = new A.Color(4294309365);
    B.Color_4294605591 = new A.Color(4294605591);
    B.Color_4294638330 = new A.Color(4294638330);
    B.Color_4294749552 = new A.Color(4294749552);
    B.Color_4294834901 = new A.Color(4294834901);
    B.Color_4294901760 = new A.Color(4294901760);
    B.Color_4294919236 = new A.Color(4294919236);
    B.Color_4294936576 = new A.Color(4294936576);
    B.Color_4294944550 = new A.Color(4294944550);
    B.Color_4294961664 = new A.Color(4294961664);
    B.Color_4294967295 = new A.Color(4294967295);
    B.Color_436207616 = new A.Color(436207616);
    B.Color_452984831 = new A.Color(452984831);
    B.Color_520093696 = new A.Color(520093696);
    B.Color_536870911 = new A.Color(536870911);
    B.Color_83886080 = new A.Color(83886080);
    B.ColumnAlignment_0 = new A.ColumnAlignment(0, "left");
    B.ColumnAlignment_1 = new A.ColumnAlignment(1, "right");
    B.ConnectedState_false_false = new A.ConnectedState(false, false);
    B.ConnectedState_false_true = new A.ConnectedState(false, true);
    B.ConnectedState_true_false = new A.ConnectedState(true, false);
    B.ConnectionState_0 = new A.ConnectionState(0, "none");
    B.ConnectionState_1 = new A.ConnectionState(1, "waiting");
    B.ConnectionState_2 = new A.ConnectionState(2, "active");
    B.ConnectionState_3 = new A.ConnectionState(3, "done");
    B.ContinuesState_0 = new A.ContinuesState(0, "none");
    B.ContinuesState_2 = new A.ContinuesState(2, "stop");
    B.ContinuesState_3 = new A.ContinuesState(3, "next");
    B.ContinuousRectangleBorder_A4v = new A.ContinuousRectangleBorder(B.BorderRadius_tLn, B.BorderSide_aLd);
    B.CopySelectionTextIntent_false = new A.CopySelectionTextIntent(false);
    B.CopySelectionTextIntent_true = new A.CopySelectionTextIntent(true);
    B.CrossAxisAlignment_0 = new A.CrossAxisAlignment(0, "start");
    B.CrossAxisAlignment_1 = new A.CrossAxisAlignment(1, "end");
    B.CrossAxisAlignment_2 = new A.CrossAxisAlignment(2, "center");
    B.CrossAxisAlignment_3 = new A.CrossAxisAlignment(3, "stretch");
    B.CrossAxisAlignment_4 = new A.CrossAxisAlignment(4, "baseline");
    B.CrossFadeState_0 = new A.CrossFadeState(0, "showFirst");
    B.CrossFadeState_1 = new A.CrossFadeState(1, "showSecond");
    B.Cubic_2Vk = new A.Cubic(0.18, 1, 0.04, 1);
    B.Cubic_HzT = new A.Cubic(0.05, 0, 0.133333, 0.06);
    B.Cubic_JUR = new A.Cubic(0.25, 0.1, 0.25, 1);
    B.Cubic_JUR0 = new A.Cubic(0.42, 0, 1, 1);
    B.Cubic_OcD = new A.Cubic(0.67, 0.03, 0.65, 0.09);
    B.Cubic_QB2 = new A.Cubic(0.785, 0.135, 0.15, 0.86);
    B.Cubic_YAz = new A.Cubic(0.075, 0.82, 0.165, 1);
    B.Cubic_bP1 = new A.Cubic(0.208333, 0.82, 0.25, 1);
    B.Cubic_ifx = new A.Cubic(0.4, 0, 0.2, 1);
    B.Cubic_izR = new A.Cubic(0.35, 0.91, 0.33, 0.97);
    B.Cubic_oKc = new A.Cubic(0.645, 0.045, 0.355, 1);
    B.Cubic_xDo0 = new A.Cubic(0, 0, 0.58, 1);
    B.Cubic_xDo = new A.Cubic(0.42, 0, 0.58, 1);
    B.Color_1228684355 = new A.Color(1228684355);
    B.Color_2572440664 = new A.Color(2572440664);
    B.Color_1581005891 = new A.Color(1581005891);
    B.Color_2907984984 = new A.Color(2907984984);
    B.CupertinoDynamicColor_SZk = new A.CupertinoDynamicColor(B.Color_1228684355, "separator", null, B.Color_1228684355, B.Color_2572440664, B.Color_1581005891, B.Color_2907984984, B.Color_1228684355, B.Color_2572440664, B.Color_1581005891, B.Color_2907984984, 0);
    B.CupertinoDynamicColor_YIZ = new A.CupertinoDynamicColor(B.Color_4288256409, "inactiveGray", null, B.Color_4288256409, B.Color_4285887861, B.Color_4288256409, B.Color_4285887861, B.Color_4288256409, B.Color_4285887861, B.Color_4288256409, B.Color_4285887861, 0);
    B.CupertinoDynamicColor_qQo = new A.CupertinoDynamicColor(B.Color_4278190080, "label", null, B.Color_4278190080, B.Color_4294967295, B.Color_4278190080, B.Color_4294967295, B.Color_4278190080, B.Color_4294967295, B.Color_4278190080, B.Color_4294967295, 0);
    B.Color_1493172224 = new A.Color(1493172224);
    B.Color_2164260863 = new A.Color(2164260863);
    B.CupertinoDynamicColor_zPV = new A.CupertinoDynamicColor(B.Color_1493172224, null, null, B.Color_1493172224, B.Color_2164260863, B.Color_1493172224, B.Color_2164260863, B.Color_1493172224, B.Color_2164260863, B.Color_1493172224, B.Color_2164260863, 0);
    B.Color_4278879487 = new A.Color(4278879487);
    B.Color_4278206685 = new A.Color(4278206685);
    B.Color_4282424575 = new A.Color(4282424575);
    B.CupertinoDynamicColor_948 = new A.CupertinoDynamicColor(B.Color_4278221567, "systemBlue", null, B.Color_4278221567, B.Color_4278879487, B.Color_4278206685, B.Color_4282424575, B.Color_4278221567, B.Color_4278879487, B.Color_4278206685, B.Color_4282424575, 0);
    B.Color_4280558630 = new A.Color(4280558630);
    B.CupertinoDynamicColor_k0n = new A.CupertinoDynamicColor(B.Color_4294967295, "systemBackground", null, B.Color_4294967295, B.Color_4278190080, B.Color_4294967295, B.Color_4278190080, B.Color_4294967295, B.Color_4280032286, B.Color_4294967295, B.Color_4280558630, 0);
    B.Color_4042914297 = new A.Color(4042914297);
    B.Color_4028439837 = new A.Color(4028439837);
    B.CupertinoDynamicColor_wEo = new A.CupertinoDynamicColor(B.Color_4042914297, null, null, B.Color_4042914297, B.Color_4028439837, B.Color_4042914297, B.Color_4028439837, B.Color_4042914297, B.Color_4028439837, B.Color_4042914297, B.Color_4028439837, 0);
    B._CupertinoTextThemeDefaults_954 = new A._CupertinoTextThemeDefaults(B.CupertinoDynamicColor_qQo, B.CupertinoDynamicColor_YIZ);
    B._CupertinoThemeDefaults_iF8 = new A._CupertinoThemeDefaults(null, B.CupertinoDynamicColor_948, B.CupertinoDynamicColor_k0n, B.CupertinoDynamicColor_wEo, B.CupertinoDynamicColor_k0n, B._CupertinoTextThemeDefaults_954);
    B.CupertinoThemeData_KQb = new A.CupertinoThemeData(B._CupertinoThemeDefaults_iF8, null, null, null, null, null, null);
    B.DataTableThemeData_SL9 = new A.DataTableThemeData(null, null, null, null, null, null, null, null, null, null, null);
    B.DebugEngineInitializationState_0 = new A.DebugEngineInitializationState(0, "uninitialized");
    B.DebugEngineInitializationState_1 = new A.DebugEngineInitializationState(1, "initializingServices");
    B.DebugEngineInitializationState_2 = new A.DebugEngineInitializationState(2, "initializedServices");
    B.DebugEngineInitializationState_3 = new A.DebugEngineInitializationState(3, "initializingUi");
    B.DebugEngineInitializationState_4 = new A.DebugEngineInitializationState(4, "initialized");
    B.DebugSemanticsDumpOrder_0 = new A.DebugSemanticsDumpOrder(0, "inverseHitTest");
    B.DebugSemanticsDumpOrder_1 = new A.DebugSemanticsDumpOrder(1, "traversalOrder");
    B.DebuggerConsole_null = new A.DebuggerConsole(null);
    B.DebuggerScreenBody_null = new A.DebuggerScreenBody(null);
    B.IconData_61714_Octicons_false = new A.IconData(61714, "Octicons", false);
    B.DebuggerScreen_PAI = new A.DebuggerScreen(false, "debugger", "Debugger", B.IconData_61714_Octicons_false, null, null, false, true, false, false, null);
    B.DebuggingControls_null = new A.DebuggingControls(null);
    B.DecorationPosition_0 = new A.DecorationPosition(0, "background");
    B.DecorationPosition_1 = new A.DecorationPosition(1, "foreground");
    B.DeepCollectionEquality_false = new A.DeepCollectionEquality(false);
    B._NullWidget_null2 = new A._NullWidget1(null);
    B.DefaultSelectionStyle_MUs = new A.DefaultSelectionStyle(null, null, B._NullWidget_null2, null);
    B.TextStyle_SVP0 = new A.TextStyle(true, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextOverflow_0 = new A.TextOverflow(0, "clip");
    B.TextWidthBasis_0 = new A.TextWidthBasis(0, "parent");
    B._NullWidget_null3 = new A._NullWidget3(null);
    B.DefaultTextStyle_MTi = new A.DefaultTextStyle(B.TextStyle_SVP0, null, true, B.TextOverflow_0, null, B.TextWidthBasis_0, null, B._NullWidget_null3, null);
    B.DeleteCharacterIntent_false = new A.DeleteCharacterIntent(false);
    B.DeleteCharacterIntent_true = new A.DeleteCharacterIntent(true);
    B.DeleteToLineBreakIntent_false = new A.DeleteToLineBreakIntent(false);
    B.DeleteToLineBreakIntent_true = new A.DeleteToLineBreakIntent(true);
    B.DeleteToNextWordBoundaryIntent_false = new A.DeleteToNextWordBoundaryIntent(false);
    B.DeleteToNextWordBoundaryIntent_true = new A.DeleteToNextWordBoundaryIntent(true);
    B.Text_4ei = new A.Text("Hide Private Classes", null, null, null, null, null, null, null, null, null, null, null);
    B.Duration_500000 = new A.Duration(500000);
    B.EdgeInsets_16_16_16_16 = new A.EdgeInsets(16, 16, 16, 16);
    B.DevToolsTooltip_Tvq = new A.DevToolsTooltip("Hide class names beginning with an underscore e.g., _className", B.Text_4ei, B.Duration_500000, false, B.EdgeInsets_16_16_16_16, null, null, null);
    B.DiagnosticLevel_0 = new A.DiagnosticLevel(0, "hidden");
    B.DiagnosticLevel_1 = new A.DiagnosticLevel(1, "fine");
    B.DiagnosticLevel_2 = new A.DiagnosticLevel(2, "debug");
    B.DiagnosticLevel_3 = new A.DiagnosticLevel(3, "info");
    B.DiagnosticLevel_4 = new A.DiagnosticLevel(4, "warning");
    B.DiagnosticLevel_5 = new A.DiagnosticLevel(5, "hint");
    B.DiagnosticLevel_6 = new A.DiagnosticLevel(6, "summary");
    B.DiagnosticLevel_7 = new A.DiagnosticLevel(7, "error");
    B.DiagnosticsTreeStyle_1 = new A.DiagnosticsTreeStyle(1, "sparse");
    B.DiagnosticsTreeStyle_10 = new A.DiagnosticsTreeStyle(10, "shallow");
    B.DiagnosticsTreeStyle_11 = new A.DiagnosticsTreeStyle(11, "truncateChildren");
    B.DiagnosticsTreeStyle_2 = new A.DiagnosticsTreeStyle(2, "offstage");
    B.DiagnosticsTreeStyle_4 = new A.DiagnosticsTreeStyle(4, "transition");
    B.DiagnosticsTreeStyle_5 = new A.DiagnosticsTreeStyle(5, "error");
    B.DiagnosticsTreeStyle_7 = new A.DiagnosticsTreeStyle(7, "flat");
    B.DiagnosticsTreeStyle_8 = new A.DiagnosticsTreeStyle(8, "singleLine");
    B.DiagnosticsTreeStyle_9 = new A.DiagnosticsTreeStyle(9, "errorProperty");
    B.DialogTheme_zPV = new A.DialogTheme(null, null, null, null, null, null);
    B.DiffTreeType_0 = new A.DiffTreeType(0, "increaseOnly");
    B.DiffTreeType_1 = new A.DiffTreeType(1, "decreaseOnly");
    B.DiffTreeType_2 = new A.DiffTreeType(2, "combined");
    B.DismissDirection_1 = new A.DismissDirection(1, "horizontal");
    B.DismissDirection_2 = new A.DismissDirection(2, "endToStart");
    B.DismissDirection_3 = new A.DismissDirection(3, "startToEnd");
    B.DismissDirection_4 = new A.DismissDirection(4, "up");
    B.DismissDirection_5 = new A.DismissDirection(5, "down");
    B.DismissDirection_6 = new A.DismissDirection(6, "none");
    B.DividerThemeData_Tnu = new A.DividerThemeData(null, null, null, null, null);
    B.Divider_0_null_null_null = new A.Divider(0, null, null, null);
    B.Divider_null_1_null_null = new A.Divider(null, 1, null, null);
    B.Divider_null_null_null_null = new A.Divider(null, null, null, null);
    B.DragAndDrop_null_AppSizeBody_null_null = new A.DragAndDrop(null, B.AppSizeBody_null, null);
    B.DragStartBehavior_0 = new A.DragStartBehavior(0, "down");
    B.DragStartBehavior_1 = new A.DragStartBehavior(1, "start");
    B.DrawerThemeData_jfn = new A.DrawerThemeData(null, null, null, null, null);
    B.Duration_0 = new A.Duration(0);
    B.Duration_1000 = new A.Duration(1000);
    B.Duration_100000 = new A.Duration(100000);
    B.Duration_1000000 = new A.Duration(1000000);
    B.Duration_1200000 = new A.Duration(1200000);
    B.Duration_125000 = new A.Duration(125000);
    B.Duration_15000 = new A.Duration(15000);
    B.Duration_150000 = new A.Duration(150000);
    B.Duration_1500000 = new A.Duration(1500000);
    B.Duration_16667 = new A.Duration(16667);
    B.Duration_167000 = new A.Duration(167000);
    B.Duration_1800000 = new A.Duration(1800000);
    B.Duration_200000 = new A.Duration(200000);
    B.Duration_2000000 = new A.Duration(2000000);
    B.Duration_225000 = new A.Duration(225000);
    B.Duration_250000 = new A.Duration(250000);
    B.Duration_2961926000 = new A.Duration(2961926000);
    B.Duration_300000 = new A.Duration(300000);
    B.Duration_3000000 = new A.Duration(3000000);
    B.Duration_375000 = new A.Duration(375000);
    B.Duration_40000 = new A.Duration(40000);
    B.Duration_400000 = new A.Duration(400000);
    B.Duration_4000000 = new A.Duration(4000000);
    B.Duration_50000 = new A.Duration(50000);
    B.Duration_5000000 = new A.Duration(5000000);
    B.Duration_600000 = new A.Duration(600000);
    B.Duration_7000000 = new A.Duration(7000000);
    B.Duration_75000 = new A.Duration(75000);
    B.Duration_86400000000 = new A.Duration(864e8);
    B.Duration_m38000 = new A.Duration(-38000);
    B.EdgeInsetsDirectional_0_0_0_0 = new A.EdgeInsetsDirectional(0, 0, 0, 0);
    B.EdgeInsetsDirectional_16_0_24_0 = new A.EdgeInsetsDirectional(16, 0, 24, 0);
    B.EdgeInsets_0_0_0_0 = new A.EdgeInsets(0, 0, 0, 0);
    B.EdgeInsets_0_0_0_10 = new A.EdgeInsets(0, 0, 0, 10);
    B.EdgeInsets_0_0_0_4 = new A.EdgeInsets(0, 0, 0, 4);
    B.EdgeInsets_0_0_0_6 = new A.EdgeInsets(0, 0, 0, 6);
    B.EdgeInsets_0_0_0_8 = new A.EdgeInsets(0, 0, 0, 8);
    B.EdgeInsets_0_0_20_0 = new A.EdgeInsets(0, 0, 20, 0);
    B.EdgeInsets_0_0_4_0 = new A.EdgeInsets(0, 0, 4, 0);
    B.EdgeInsets_0_0_8_0 = new A.EdgeInsets(0, 0, 8, 0);
    B.EdgeInsets_0_0_8_8 = new A.EdgeInsets(0, 0, 8, 8);
    B.EdgeInsets_0_12_0_12 = new A.EdgeInsets(0, 12, 0, 12);
    B.EdgeInsets_0_13_0_13 = new A.EdgeInsets(0, 13, 0, 13);
    B.EdgeInsets_0_14_0_14 = new A.EdgeInsets(0, 14, 0, 14);
    B.EdgeInsets_0_2_0_0 = new A.EdgeInsets(0, 2, 0, 0);
    B.EdgeInsets_0_5_0_8 = new A.EdgeInsets(0, 5, 0, 8);
    B.EdgeInsets_0_5_5_8 = new A.EdgeInsets(0, 5, 5, 8);
    B.EdgeInsets_0_6_0_0 = new A.EdgeInsets(0, 6, 0, 0);
    B.EdgeInsets_0_8_0_8 = new A.EdgeInsets(0, 8, 0, 8);
    B.EdgeInsets_10_0_0_2 = new A.EdgeInsets(10, 0, 0, 2);
    B.EdgeInsets_12_12_12_12 = new A.EdgeInsets(12, 12, 12, 12);
    B.EdgeInsets_12_20_12_12 = new A.EdgeInsets(12, 20, 12, 12);
    B.EdgeInsets_12_24_12_16 = new A.EdgeInsets(12, 24, 12, 16);
    B.EdgeInsets_12_8_12_8 = new A.EdgeInsets(12, 8, 12, 8);
    B.EdgeInsets_15_0_0_0 = new A.EdgeInsets(15, 0, 0, 0);
    B.EdgeInsets_16_0_0_0 = new A.EdgeInsets(16, 0, 0, 0);
    B.EdgeInsets_16_0_16_0 = new A.EdgeInsets(16, 0, 16, 0);
    B.EdgeInsets_16_0_2_0 = new A.EdgeInsets(16, 0, 2, 0);
    B.EdgeInsets_16_13_16_13 = new A.EdgeInsets(16, 13, 16, 13);
    B.EdgeInsets_16_4_16_4 = new A.EdgeInsets(16, 4, 16, 4);
    B.EdgeInsets_16_4_4_4 = new A.EdgeInsets(16, 4, 4, 4);
    B.EdgeInsets_16_8_16_8 = new A.EdgeInsets(16, 8, 16, 8);
    B.EdgeInsets_1_0_1_0 = new A.EdgeInsets(1, 0, 1, 0);
    B.EdgeInsets_1_1_1_1 = new A.EdgeInsets(1, 1, 1, 1);
    B.EdgeInsets_20_20_20_20 = new A.EdgeInsets(20, 20, 20, 20);
    B.EdgeInsets_20_2_20_2 = new A.EdgeInsets(20, 2, 20, 2);
    B.EdgeInsets_24_0_24_0 = new A.EdgeInsets(24, 0, 24, 0);
    B.EdgeInsets_24_0_24_24 = new A.EdgeInsets(24, 0, 24, 24);
    B.EdgeInsets_2_0_4_0 = new A.EdgeInsets(2, 0, 4, 0);
    B.EdgeInsets_2_2_2_2 = new A.EdgeInsets(2, 2, 2, 2);
    B.EdgeInsets_30_0_0_15 = new A.EdgeInsets(30, 0, 0, 15);
    B.EdgeInsets_32_0_0_0 = new A.EdgeInsets(32, 0, 0, 0);
    B.EdgeInsets_32_0_32_0 = new A.EdgeInsets(32, 0, 32, 0);
    B.EdgeInsets_3_0_3_0 = new A.EdgeInsets(3, 0, 3, 0);
    B.EdgeInsets_40_24_40_24 = new A.EdgeInsets(40, 24, 40, 24);
    B.EdgeInsets_4_0_4_0 = new A.EdgeInsets(4, 0, 4, 0);
    B.EdgeInsets_4_2_4_2 = new A.EdgeInsets(4, 2, 4, 2);
    B.EdgeInsets_4_4_4_4 = new A.EdgeInsets(4, 4, 4, 4);
    B.EdgeInsets_4_4_4_5 = new A.EdgeInsets(4, 4, 4, 5);
    B.EdgeInsets_5_0_0_2 = new A.EdgeInsets(5, 0, 0, 2);
    B.EdgeInsets_5_0_0_4 = new A.EdgeInsets(5, 0, 0, 4);
    B.EdgeInsets_5_4_0_0 = new A.EdgeInsets(5, 4, 0, 0);
    B.EdgeInsets_6_0_6_0 = new A.EdgeInsets(6, 0, 6, 0);
    B.EdgeInsets_6_2_6_2 = new A.EdgeInsets(6, 2, 6, 2);
    B.EdgeInsets_6_6_6_6 = new A.EdgeInsets(6, 6, 6, 6);
    B.EdgeInsets_8_0_0_0 = new A.EdgeInsets(8, 0, 0, 0);
    B.EdgeInsets_8_0_8_0 = new A.EdgeInsets(8, 0, 8, 0);
    B.EdgeInsets_8_0_8_8 = new A.EdgeInsets(8, 0, 8, 8);
    B.EdgeInsets_8_2_8_2 = new A.EdgeInsets(8, 2, 8, 2);
    B.EdgeInsets_8_4_8_4 = new A.EdgeInsets(8, 4, 8, 4);
    B.EdgeInsets_8_8_0_0 = new A.EdgeInsets(8, 8, 0, 0);
    B.EdgeInsets_8_8_8_8 = new A.EdgeInsets(8, 8, 8, 8);
    B.EdgeInsets_Otk = new A.EdgeInsets(0.5, 1, 0.5, 1);
    B.ElevatedButtonThemeData_null = new A.ElevatedButtonThemeData(null);
    B.EnabledState_0 = new A.EnabledState(0, "noOpinion");
    B.EnabledState_1 = new A.EnabledState(1, "enabled");
    B.EnabledState_2 = new A.EnabledState(2, "disabled");
    B.EngineAccessibilityFeatures_0 = new A.EngineAccessibilityFeatures(0);
    B.EnhanceTracingButton_null = new A.EnhanceTracingButton(null);
    B.ExpandSelectionToDocumentBoundaryIntent_false = new A.ExpandSelectionToDocumentBoundaryIntent(false);
    B.ExpandSelectionToDocumentBoundaryIntent_true = new A.ExpandSelectionToDocumentBoundaryIntent(true);
    B.ExpandSelectionToLineBreakIntent_false = new A.ExpandSelectionToLineBreakIntent(false);
    B.ExpandSelectionToLineBreakIntent_true = new A.ExpandSelectionToLineBreakIntent(true);
    B.FlexFit_0 = new A.FlexFit(0, "tight");
    B.Text_wEo = new A.Text("No port selected", null, null, null, null, null, null, null, null, null, null, null);
    B.Center_erf = new A.Center(B.Alignment_0_0, null, null, B.Text_wEo, null);
    B.Expanded_AKW = new A.Expanded(1, B.FlexFit_0, B.Center_erf, null);
    B.ValueKey_qiL = new A.ValueKey("Allocation Table", type$.ValueKey_String);
    B.AllocationTableView_6t1 = new A.AllocationTableView(B.ValueKey_qiL);
    B.Expanded_Eot = new A.Expanded(1, B.FlexFit_0, B.AllocationTableView_6t1, null);
    B.SizedBox_null_null_null_null = new A.SizedBox(null, null, null, null);
    B.Expanded_EsU0 = new A.Expanded(1, B.FlexFit_0, B.SizedBox_null_null_null_null, null);
    B.SizedBox_8_null_null_null = new A.SizedBox(8, null, null, null);
    B.Expanded_EsU = new A.Expanded(1, B.FlexFit_0, B.SizedBox_8_null_null_null, null);
    B.Expanded_MMm = new A.Expanded(1, B.FlexFit_0, B.Divider_null_null_null_null, null);
    B.ExpansionTileThemeData_O5j = new A.ExpansionTileThemeData(null, null, null, null, null, null, null, null, null);
    B.ExtendSelectionByCharacterIntent_false_false_false_false = new A.ExtendSelectionByCharacterIntent(false, false, false, false);
    B.ExtendSelectionByCharacterIntent_false_false_false_true = new A.ExtendSelectionByCharacterIntent(false, false, false, true);
    B.ExtendSelectionByCharacterIntent_true_false_false_false = new A.ExtendSelectionByCharacterIntent(true, false, false, false);
    B.ExtendSelectionByCharacterIntent_true_false_false_true = new A.ExtendSelectionByCharacterIntent(true, false, false, true);
    B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_false = new A.ExtendSelectionToDocumentBoundaryIntent(false, false, false, false);
    B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_true = new A.ExtendSelectionToDocumentBoundaryIntent(false, false, false, true);
    B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_false = new A.ExtendSelectionToDocumentBoundaryIntent(true, false, false, false);
    B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_true = new A.ExtendSelectionToDocumentBoundaryIntent(true, false, false, true);
    B.ExtendSelectionToLineBreakIntent_false_false_false_false = new A.ExtendSelectionToLineBreakIntent(false, false, false, false);
    B.ExtendSelectionToLineBreakIntent_false_false_false_true = new A.ExtendSelectionToLineBreakIntent(false, false, false, true);
    B.ExtendSelectionToLineBreakIntent_false_false_true_false = new A.ExtendSelectionToLineBreakIntent(false, false, true, false);
    B.ExtendSelectionToLineBreakIntent_false_false_true_true = new A.ExtendSelectionToLineBreakIntent(false, false, true, true);
    B.ExtendSelectionToLineBreakIntent_false_true_false_false = new A.ExtendSelectionToLineBreakIntent(false, true, false, false);
    B.ExtendSelectionToLineBreakIntent_false_true_false_true = new A.ExtendSelectionToLineBreakIntent(false, true, false, true);
    B.ExtendSelectionToLineBreakIntent_true_false_false_false = new A.ExtendSelectionToLineBreakIntent(true, false, false, false);
    B.ExtendSelectionToLineBreakIntent_true_false_false_true = new A.ExtendSelectionToLineBreakIntent(true, false, false, true);
    B.ExtendSelectionToLineBreakIntent_true_false_true_false = new A.ExtendSelectionToLineBreakIntent(true, false, true, false);
    B.ExtendSelectionToLineBreakIntent_true_false_true_true = new A.ExtendSelectionToLineBreakIntent(true, false, true, true);
    B.ExtendSelectionToNextWordBoundaryIntent_false_false_false_false = new A.ExtendSelectionToNextWordBoundaryIntent(false, false, false, false);
    B.ExtendSelectionToNextWordBoundaryIntent_false_false_false_true = new A.ExtendSelectionToNextWordBoundaryIntent(false, false, false, true);
    B.ExtendSelectionToNextWordBoundaryIntent_true_false_false_false = new A.ExtendSelectionToNextWordBoundaryIntent(true, false, false, false);
    B.ExtendSelectionToNextWordBoundaryIntent_true_false_false_true = new A.ExtendSelectionToNextWordBoundaryIntent(true, false, false, true);
    B.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent_false = new A.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent(false);
    B.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent_true = new A.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent(true);
    B.ExtendSelectionVerticallyToAdjacentLineIntent_false_false_false_false = new A.ExtendSelectionVerticallyToAdjacentLineIntent(false, false, false, false);
    B.ExtendSelectionVerticallyToAdjacentLineIntent_false_false_false_true = new A.ExtendSelectionVerticallyToAdjacentLineIntent(false, false, false, true);
    B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_false = new A.ExtendSelectionVerticallyToAdjacentLineIntent(true, false, false, false);
    B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_true = new A.ExtendSelectionVerticallyToAdjacentLineIntent(true, false, false, true);
    B.FilterQuality_0 = new A.FilterQuality(0, "none");
    B.FilterQuality_1 = new A.FilterQuality(1, "low");
    B.FilterQuality_2 = new A.FilterQuality(2, "medium");
    B.FilterQuality_3 = new A.FilterQuality(3, "high");
    B.Size_0_0 = new A.Size(0, 0);
    B.FittedSizes_46c = new A.FittedSizes(B.Size_0_0, B.Size_0_0);
    B.FixedValueListenable_0 = new A.FixedValueListenable(0, A.findType("FixedValueListenable<int>"));
    B.FixedValueListenable_false = new A.FixedValueListenable(false, type$.FixedValueListenable_bool);
    B.FixedValueListenable_true = new A.FixedValueListenable(true, type$.FixedValueListenable_bool);
    B.FlameChartHelpButton_pP4 = new A.FlameChartHelpButton("performance", "timelineFlameChartHelp", B.List_empty17, null);
    B.FlexFit_1 = new A.FlexFit(1, "loose");
    B.FloatingActionButtonThemeData_pYw = new A.FloatingActionButtonThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.FloatingCursorDragState_0 = new A.FloatingCursorDragState(0, "Start");
    B.FloatingCursorDragState_1 = new A.FloatingCursorDragState(1, "Update");
    B.FloatingCursorDragState_2 = new A.FloatingCursorDragState(2, "End");
    B.FloatingLabelBehavior_0 = new A.FloatingLabelBehavior(0, "never");
    B.FloatingLabelBehavior_2 = new A.FloatingLabelBehavior(2, "always");
    B.FlutterTreeType_0 = new A.FlutterTreeType(0, "widget");
    B.FocusHighlightMode_0 = new A.FocusHighlightMode(0, "touch");
    B.FocusHighlightMode_1 = new A.FocusHighlightMode(1, "traditional");
    B.FocusHighlightStrategy_0 = new A.FocusHighlightStrategy(0, "automatic");
    B.FontStyle_0 = new A.FontStyle(0, "normal");
    B.FontStyle_1 = new A.FontStyle(1, "italic");
    B.FontWeight_0 = new A.FontWeight(0);
    B.FontWeight_3 = new A.FontWeight(3);
    B.FontWeight_4 = new A.FontWeight(4);
    B.FontWeight_5 = new A.FontWeight(5);
    B.FontWeight_6 = new A.FontWeight(6);
    B.FormatException_Qi2 = new A.FormatException("Invalid method call", null, null);
    B.FormatException_iDw = new A.FormatException("Expected envelope, got nothing", null, null);
    B.FormatException_oCg = new A.FormatException("Message corrupted", null, null);
    B.FormatException_oQ2 = new A.FormatException("Too many percent/permill", null, null);
    B.FormatException_pSr = new A.FormatException("Invalid envelope", null, null);
    B.Format_2 = new A.Format(2, "rgba");
    B.GestureDisposition_0 = new A.GestureDisposition(0, "accepted");
    B.GestureDisposition_1 = new A.GestureDisposition(1, "rejected");
    B.GestureMode_0 = new A.GestureMode(0, "pointerEvents");
    B.GestureMode_1 = new A.GestureMode(1, "browserGestures");
    B.GestureRecognizerState_0 = new A.GestureRecognizerState(0, "ready");
    B.GestureRecognizerState_1 = new A.GestureRecognizerState(1, "possible");
    B.GestureRecognizerState_2 = new A.GestureRecognizerState(2, "defunct");
    B.GrowthDirection_0 = new A.GrowthDirection(0, "forward");
    B.GrowthDirection_1 = new A.GrowthDirection(1, "reverse");
    B.HeroFlightDirection_0 = new A.HeroFlightDirection(0, "push");
    B.HeroFlightDirection_1 = new A.HeroFlightDirection(1, "pop");
    B.HitTestBehavior_0 = new A.HitTestBehavior(0, "deferToChild");
    B.HitTestBehavior_1 = new A.HitTestBehavior(1, "opaque");
    B.HitTestBehavior_2 = new A.HitTestBehavior(2, "translucent");
    B.HoverCardPosition_0 = new A.HoverCardPosition(0, "cursor");
    B.HoverCardPosition_1 = new A.HoverCardPosition(1, "element");
    B.IconData_57527_MaterialIcons_false = new A.IconData(57527, "MaterialIcons", false);
    B.IconData_57528_MaterialIcons_false = new A.IconData(57528, "MaterialIcons", false);
    B.IconData_57569_MaterialIcons_false = new A.IconData(57569, "MaterialIcons", false);
    B.IconData_57583_MaterialIcons_false = new A.IconData(57583, "MaterialIcons", false);
    B.IconData_57621_MaterialIcons_false = new A.IconData(57621, "MaterialIcons", false);
    B.IconData_57622_MaterialIcons_false = new A.IconData(57622, "MaterialIcons", false);
    B.IconData_57647_MaterialIcons_false = new A.IconData(57647, "MaterialIcons", false);
    B.IconData_57686_MaterialIcons_false = new A.IconData(57686, "MaterialIcons", false);
    B.IconData_57687_MaterialIcons_false = new A.IconData(57687, "MaterialIcons", false);
    B.IconData_57688_MaterialIcons_false = new A.IconData(57688, "MaterialIcons", false);
    B.IconData_57694_MaterialIcons_true = new A.IconData(57694, "MaterialIcons", true);
    B.IconData_57695_MaterialIcons_true = new A.IconData(57695, "MaterialIcons", true);
    B.IconData_57704_MaterialIcons_false = new A.IconData(57704, "MaterialIcons", false);
    B.IconData_57706_MaterialIcons_false = new A.IconData(57706, "MaterialIcons", false);
    B.IconData_57744_MaterialIcons_false = new A.IconData(57744, "MaterialIcons", false);
    B.IconData_57777_MaterialIcons_false = new A.IconData(57777, "MaterialIcons", false);
    B.IconData_57785_MaterialIcons_false = new A.IconData(57785, "MaterialIcons", false);
    B.IconData_57862_MaterialIcons_false = new A.IconData(57862, "MaterialIcons", false);
    B.IconData_57925_MaterialIcons_false = new A.IconData(57925, "MaterialIcons", false);
    B.IconData_57926_MaterialIcons_false = new A.IconData(57926, "MaterialIcons", false);
    B.IconData_57957_MaterialIcons_false = new A.IconData(57957, "MaterialIcons", false);
    B.IconData_57962_MaterialIcons_false = new A.IconData(57962, "MaterialIcons", false);
    B.IconData_57966_MaterialIcons_false = new A.IconData(57966, "MaterialIcons", false);
    B.IconData_57984_MaterialIcons_false = new A.IconData(57984, "MaterialIcons", false);
    B.IconData_58019_MaterialIcons_false = new A.IconData(58019, "MaterialIcons", false);
    B.IconData_58020_MaterialIcons_false = new A.IconData(58020, "MaterialIcons", false);
    B.IconData_58043_MaterialIcons_false = new A.IconData(58043, "MaterialIcons", false);
    B.IconData_58059_MaterialIcons_false = new A.IconData(58059, "MaterialIcons", false);
    B.IconData_58089_MaterialIcons_false = new A.IconData(58089, "MaterialIcons", false);
    B.IconData_58123_MaterialIcons_true = new A.IconData(58123, "MaterialIcons", true);
    B.IconData_58128_MaterialIcons_false = new A.IconData(58128, "MaterialIcons", false);
    B.IconData_58132_MaterialIcons_false = new A.IconData(58132, "MaterialIcons", false);
    B.IconData_58173_MaterialIcons_false = new A.IconData(58173, "MaterialIcons", false);
    B.IconData_58178_MaterialIcons_false = new A.IconData(58178, "MaterialIcons", false);
    B.IconData_58195_MaterialIcons_false = new A.IconData(58195, "MaterialIcons", false);
    B.IconData_58198_MaterialIcons_false = new A.IconData(58198, "MaterialIcons", false);
    B.IconData_58208_MaterialIcons_true = new A.IconData(58208, "MaterialIcons", true);
    B.IconData_58209_MaterialIcons_true = new A.IconData(58209, "MaterialIcons", true);
    B.IconData_58220_MaterialIcons_true = new A.IconData(58220, "MaterialIcons", true);
    B.IconData_58236_MaterialIcons_false = new A.IconData(58236, "MaterialIcons", false);
    B.IconData_58244_MaterialIcons_true = new A.IconData(58244, "MaterialIcons", true);
    B.IconData_58370_MaterialIcons_false = new A.IconData(58370, "MaterialIcons", false);
    B.IconData_58372_MaterialIcons_false = new A.IconData(58372, "MaterialIcons", false);
    B.IconData_58492_MaterialIcons_false = new A.IconData(58492, "MaterialIcons", false);
    B.IconData_58571_MaterialIcons_false = new A.IconData(58571, "MaterialIcons", false);
    B.IconData_58644_MaterialIcons_false = new A.IconData(58644, "MaterialIcons", false);
    B.IconData_58727_MaterialIcons_false = new A.IconData(58727, "MaterialIcons", false);
    B.IconData_58751_MaterialIcons_false = new A.IconData(58751, "MaterialIcons", false);
    B.IconData_58753_MaterialIcons_false = new A.IconData(58753, "MaterialIcons", false);
    B.IconData_58754_MaterialIcons_false = new A.IconData(58754, "MaterialIcons", false);
    B.IconData_58783_MaterialIcons_true = new A.IconData(58783, "MaterialIcons", true);
    B.IconData_58886_MaterialIcons_false = new A.IconData(58886, "MaterialIcons", false);
    B.IconData_58889_MaterialIcons_false = new A.IconData(58889, "MaterialIcons", false);
    B.IconData_58901_MaterialIcons_false = new A.IconData(58901, "MaterialIcons", false);
    B.IconData_58978_MaterialIcons_false = new A.IconData(58978, "MaterialIcons", false);
    B.IconData_59021_MaterialIcons_false = new A.IconData(59021, "MaterialIcons", false);
    B.IconData_59022_MaterialIcons_false = new A.IconData(59022, "MaterialIcons", false);
    B.IconData_60111_Codicon_false = new A.IconData(60111, "Codicon", false);
    B.IconData_60113_Codicon_false = new A.IconData(60113, "Codicon", false);
    B.IconData_60116_Codicon_false = new A.IconData(60116, "Codicon", false);
    B.IconData_60117_Codicon_false = new A.IconData(60117, "Codicon", false);
    B.IconData_60118_Codicon_false = new A.IconData(60118, "Codicon", false);
    B.IconData_983712_MaterialIcons_false = new A.IconData(983712, "MaterialIcons", false);
    B.AssetImageIcon_dO0 = new A.AssetImageIcon("icons/custom/info.png", null, null, null);
    B.IconKind_o0y = new A.IconKind("info", B.AssetImageIcon_dO0);
    B.IconThemeData_UfZ0 = new A.IconThemeData(B.Color_3707764736, null, null, null);
    B.IconThemeData_UfZ1 = new A.IconThemeData(B.Color_4278190080, null, null, null);
    B.IconThemeData_UfZ = new A.IconThemeData(B.Color_4278190080, 1, 24, null);
    B.IconThemeData_yrt = new A.IconThemeData(B.Color_4294967295, null, null, null);
    B.Icon_8aB = new A.Icon(B.IconData_57926_MaterialIcons_false, null, null, null);
    B.Icon_NYu0 = new A.Icon(B.IconData_57957_MaterialIcons_false, null, null, null);
    B.Icon_NYu = new A.Icon(B.IconData_57957_MaterialIcons_false, 0, null, null);
    B.IconData_57496_MaterialIcons_false = new A.IconData(57496, "MaterialIcons", false);
    B.Icon_QPD = new A.Icon(B.IconData_57496_MaterialIcons_false, null, null, null);
    B.IconData_58332_MaterialIcons_false = new A.IconData(58332, "MaterialIcons", false);
    B.Icon_Ulp = new A.Icon(B.IconData_58332_MaterialIcons_false, null, null, null);
    B.Icon_Ulp0 = new A.Icon(B.IconData_58372_MaterialIcons_false, null, null, null);
    B.Icon_f1Q = new A.Icon(B.IconData_58727_MaterialIcons_false, null, null, null);
    B.Icon_gkc = new A.Icon(B.IconData_57706_MaterialIcons_false, null, null, null);
    B.Icon_gvg = new A.Icon(B.IconData_58753_MaterialIcons_false, null, null, null);
    B.IconData_57645_MaterialIcons_true = new A.IconData(57645, "MaterialIcons", true);
    B.Icon_nZ3 = new A.Icon(B.IconData_57645_MaterialIcons_true, null, null, null);
    B.IconData_58162_MaterialIcons_false = new A.IconData(58162, "MaterialIcons", false);
    B.Icon_oyJ = new A.Icon(B.IconData_58162_MaterialIcons_false, 60, null, null);
    B.Icon_udS = new A.Icon(B.IconData_58195_MaterialIcons_false, null, null, null);
    B.Icon_us1 = new A.Icon(B.IconData_58198_MaterialIcons_false, null, null, null);
    B.ImageByteFormat_0 = new A.ImageByteFormat(0, "rawRgba");
    B.ImageByteFormat_1 = new A.ImageByteFormat(1, "rawStraightRgba");
    B.ImageRepeat_0 = new A.ImageRepeat(0, "repeat");
    B.ImageRepeat_1 = new A.ImageRepeat(1, "repeatX");
    B.ImageRepeat_2 = new A.ImageRepeat(2, "repeatY");
    B.ImageRepeat_3 = new A.ImageRepeat(3, "noRepeat");
    B.List_empty2 = A._setArrayType(makeConstList([]), type$.JSArray_StringAttribute);
    B.InlineSpanSemanticsInformation_o8k = new A.InlineSpanSemanticsInformation("\ufffc", null, null, true, true, B.List_empty2);
    B.InputDecoration_C4W = new A.InputDecoration(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true, null, null, null);
    B.BorderSide_hrQ = new A.BorderSide(B.Color_4278190080, 1, B.BorderStyle_1, B.StrokeAlign_0);
    B.OutlineInputBorder_2jN = new A.OutlineInputBorder(4, B.BorderRadius_tLn0, B.BorderSide_hrQ);
    B.InputDecoration_VOZ = new A.InputDecoration(null, null, null, "Filter", null, null, null, null, null, null, null, null, null, null, null, null, null, null, true, null, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.OutlineInputBorder_2jN, true, null, null, null);
    B.Color_4292269782 = new A.Color(4292269782);
    B.Map_HFpTk = new A.GeneralConstantMap([50, B.Color_4294638330, 100, B.Color_4294309365, 200, B.Color_4293848814, 300, B.Color_4292927712, 350, B.Color_4292269782, 400, B.Color_4290624957, 500, B.Color_4288585374, 600, B.Color_4285887861, 700, B.Color_4284572001, 800, B.Color_4282532418, 850, B.Color_4281348144, 900, B.Color_4280361249], type$.GeneralConstantMap_int_Color);
    B.MaterialColor_Map_HFpTk_4288585374 = new A.MaterialColor(B.Map_HFpTk, 4288585374);
    B.BorderSide_8aB = new A.BorderSide(B.MaterialColor_Map_HFpTk_4288585374, 0.5, B.BorderStyle_1, B.StrokeAlign_0);
    B.OutlineInputBorder_BOY = new A.OutlineInputBorder(4, B.BorderRadius_tLn0, B.BorderSide_8aB);
    B.InputDecoration_aZE = new A.InputDecoration(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, true, null, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.OutlineInputBorder_BOY, B.OutlineInputBorder_2jN, true, null, null, null);
    B.OutlineInputBorder_Int = new A.OutlineInputBorder(4, B.BorderRadius_tLn0, B.BorderSide_aLd);
    B.InputDecoration_oe2 = new A.InputDecoration(null, null, null, "Eval", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.EdgeInsets_8_8_8_8, false, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.OutlineInputBorder_Int, null, null, B.OutlineInputBorder_Int, B.OutlineInputBorder_2jN, true, null, null, null);
    B.InspectorScreenBody_null = new A.InspectorScreenBody(null);
    B.IconData_61739_Octicons_false = new A.IconData(61739, "Octicons", false);
    B.InspectorScreen_IKQ = new A.InspectorScreen(true, "inspector", "Flutter Inspector", B.IconData_61739_Octicons_false, null, "package:flutter/src/widgets/binding.dart", false, true, false, false, null);
    B.Cubic_iYc = new A.Cubic(0.1, 0, 0.45, 1);
    B.Interval_2ds = new A.Interval(0.7038888888888889, 1, B.Cubic_iYc);
    B.Interval_75R3 = new A.Interval(0, 0.1, B.C__Linear);
    B.Interval_75R4 = new A.Interval(0, 0.25, B.C__Linear);
    B.Interval_75R1 = new A.Interval(0, 0.3333333333333333, B.C__Linear);
    B.Interval_75R2 = new A.Interval(0, 0.6666666666666666, B.C__Linear);
    B.Interval_75R = new A.Interval(0.125, 0.25, B.C__Linear);
    B.Interval_75R6 = new A.Interval(0.25, 0.5, B.C__Linear);
    B.Interval_75R7 = new A.Interval(0.25, 0.75, B.C__Linear);
    B.Interval_75R0 = new A.Interval(0.6, 1, B.C__Linear);
    B.Interval_75R5 = new A.Interval(0.75, 1, B.C__Linear);
    B.Cubic_7pl = new A.Cubic(0.2, 0, 0.8, 1);
    B.Interval_8Wd = new A.Interval(0, 0.4166666666666667, B.Cubic_7pl);
    B.Interval_8qt = new A.Interval(0.72, 1, B.Cubic_ifx);
    B.Interval_E4y = new A.Interval(0.5, 1, B.Cubic_JUR);
    B.Interval_EeP = new A.Interval(0.2075, 0.4175, B.C__Linear);
    B.Interval_ap6 = new A.Interval(0.45, 1, B.Cubic_ifx);
    B.Interval_oqF0 = new A.Interval(0, 0.5, B.Cubic_ifx);
    B.Interval_oqF = new A.Interval(0.5, 1, B.Cubic_ifx);
    B.Cubic_WGA = new A.Cubic(0, 0, 0.65, 1);
    B.Interval_q3Z = new A.Interval(0.5555555555555556, 0.8705555555555555, B.Cubic_WGA);
    B.Interval_ulv = new A.Interval(0.0825, 0.2075, B.C__Linear);
    B.Cubic_XVM = new A.Cubic(0.4, 0, 1, 1);
    B.Interval_unQ = new A.Interval(0.185, 0.6016666666666667, B.Cubic_XVM);
    B.IntrinsicColumnWidth_1 = new A.IntrinsicColumnWidth(1);
    B.IntrinsicColumnWidth_null = new A.IntrinsicColumnWidth(null);
    B.IsolateSelector_null = new A.IsolateSelector(null);
    B.IconData_57548_MaterialIcons_false = new A.IconData(57548, "MaterialIcons", false);
    B.IsolateStatisticsView_TGg = new A.IsolateStatisticsView("Isolates", B.IconData_57548_MaterialIcons_false);
    B.JsonDecoder_null = new A.JsonDecoder(null);
    B.JsonEncoder_null_null = new A.JsonEncoder(null, null);
    B.LeaksPane_null = new A.LeaksPane(null);
    B.KeepAliveWrapper_LeaksPane_null_null = new A.KeepAliveWrapper(B.LeaksPane_null, null);
    B.KeyDataTransitMode_0 = new A.KeyDataTransitMode(0, "rawKeyData");
    B.KeyDataTransitMode_1 = new A.KeyDataTransitMode(1, "keyDataThenRawKeyData");
    B.KeyEventType_0 = new A.KeyEventType(0, "down");
    B.KeyData_cgD = new A.KeyData(B.Duration_0, B.KeyEventType_0, 0, 0, null, false);
    B.KeyEventResult_0 = new A.KeyEventResult(0, "handled");
    B.KeyEventResult_1 = new A.KeyEventResult(1, "ignored");
    B.KeyEventResult_2 = new A.KeyEventResult(2, "skipRemainingHandlers");
    B.KeyEventType_1 = new A.KeyEventType(1, "up");
    B.KeyEventType_2 = new A.KeyEventType(2, "repeat");
    B.LogicalKeyboardKey_4294967556 = new A.LogicalKeyboardKey(4294967556);
    B.KeyboardLockMode_LogicalKeyboardKey_4294967556 = new A.KeyboardLockMode(B.LogicalKeyboardKey_4294967556);
    B.LogicalKeyboardKey_4294967562 = new A.LogicalKeyboardKey(4294967562);
    B.KeyboardLockMode_LogicalKeyboardKey_4294967562 = new A.KeyboardLockMode(B.LogicalKeyboardKey_4294967562);
    B.LogicalKeyboardKey_4294967564 = new A.LogicalKeyboardKey(4294967564);
    B.KeyboardLockMode_LogicalKeyboardKey_4294967564 = new A.KeyboardLockMode(B.LogicalKeyboardKey_4294967564);
    B.KeyboardSide_0 = new A.KeyboardSide(0, "any");
    B.KeyboardSide_3 = new A.KeyboardSide(3, "all");
    B.Latin1Decoder_false_255 = new A.Latin1Decoder(false, 255);
    B.Latin1Encoder_255 = new A.Latin1Encoder(255);
    B.LaunchMode_0 = new A.LaunchMode(0, "platformDefault");
    B.LegendEntry_Drm = new A.LegendEntry("Jank (slow frame)", B.Color_4294280299);
    B.LegendEntry_EOZ = new A.LegendEntry("Frame Time (Raster)", B.Color_4281097642);
    B.LegendEntry_EYv = new A.LegendEntry("Frame Time (UI)", B.Color_4287148510);
    B.Level_INFO_800 = new A.Level("INFO", 800);
    B.Level_SEVERE_1000 = new A.Level("SEVERE", 1000);
    B.Level_WARNING_900 = new A.Level("WARNING", 900);
    B.LineBreakType_1 = new A.LineBreakType(1, "prohibited");
    B.LineBreakResult_vhn = new A.LineBreakResult(0, 0, 0, B.LineBreakType_1);
    B.LineBreakType_0 = new A.LineBreakType(0, "opportunity");
    B.LineBreakType_2 = new A.LineBreakType(2, "mandatory");
    B.LineBreakType_3 = new A.LineBreakType(3, "endOfText");
    B.LineCharProperty_0 = new A.LineCharProperty(0, "CM");
    B.LineCharProperty_1 = new A.LineCharProperty(1, "BA");
    B.LineCharProperty_10 = new A.LineCharProperty(10, "PO");
    B.LineCharProperty_11 = new A.LineCharProperty(11, "OP");
    B.LineCharProperty_12 = new A.LineCharProperty(12, "CP");
    B.LineCharProperty_13 = new A.LineCharProperty(13, "IS");
    B.LineCharProperty_14 = new A.LineCharProperty(14, "HY");
    B.LineCharProperty_15 = new A.LineCharProperty(15, "SY");
    B.LineCharProperty_16 = new A.LineCharProperty(16, "NU");
    B.LineCharProperty_17 = new A.LineCharProperty(17, "CL");
    B.LineCharProperty_18 = new A.LineCharProperty(18, "GL");
    B.LineCharProperty_19 = new A.LineCharProperty(19, "BB");
    B.LineCharProperty_2 = new A.LineCharProperty(2, "LF");
    B.LineCharProperty_20 = new A.LineCharProperty(20, "HL");
    B.LineCharProperty_21 = new A.LineCharProperty(21, "JL");
    B.LineCharProperty_22 = new A.LineCharProperty(22, "JV");
    B.LineCharProperty_23 = new A.LineCharProperty(23, "JT");
    B.LineCharProperty_24 = new A.LineCharProperty(24, "NS");
    B.LineCharProperty_25 = new A.LineCharProperty(25, "ZW");
    B.LineCharProperty_26 = new A.LineCharProperty(26, "ZWJ");
    B.LineCharProperty_27 = new A.LineCharProperty(27, "B2");
    B.LineCharProperty_28 = new A.LineCharProperty(28, "IN");
    B.LineCharProperty_29 = new A.LineCharProperty(29, "WJ");
    B.LineCharProperty_3 = new A.LineCharProperty(3, "BK");
    B.LineCharProperty_30 = new A.LineCharProperty(30, "ID");
    B.LineCharProperty_31 = new A.LineCharProperty(31, "EB");
    B.LineCharProperty_32 = new A.LineCharProperty(32, "H2");
    B.LineCharProperty_33 = new A.LineCharProperty(33, "H3");
    B.LineCharProperty_34 = new A.LineCharProperty(34, "CB");
    B.LineCharProperty_35 = new A.LineCharProperty(35, "RI");
    B.LineCharProperty_36 = new A.LineCharProperty(36, "EM");
    B.LineCharProperty_4 = new A.LineCharProperty(4, "CR");
    B.LineCharProperty_5 = new A.LineCharProperty(5, "SP");
    B.LineCharProperty_6 = new A.LineCharProperty(6, "EX");
    B.LineCharProperty_7 = new A.LineCharProperty(7, "QU");
    B.LineCharProperty_8 = new A.LineCharProperty(8, "AL");
    B.LineCharProperty_9 = new A.LineCharProperty(9, "PR");
    B.Link_RtW = new A.Link("relaunch in profile mode from VS Code or IntelliJ", "https://flutter.dev/docs/testing/ui-performance#run-in-profile-mode");
    B.Link_ib6 = new A.Link("workaround", "https://github.com/flutter/flutter/issues/88466#issuecomment-905830680");
    B.Link_jzQ = new A.Link(string$.https_f, string$.https_f);
    B.Link_oea = new A.Link("Discord", "https://discord.com/channels/608014603317936148/958862085297672282");
    B.Link_qFx = new A.Link("documentation", "https://flutter.dev/docs/development/tools/devtools/performance#profile-granularity");
    B.ListTileControlAffinity_0 = new A.ListTileControlAffinity(0, "leading");
    B.ListTileControlAffinity_1 = new A.ListTileControlAffinity(1, "trailing");
    B.ListTileStyle_0 = new A.ListTileStyle(0, "list");
    B.ListTileThemeData_muk = new A.ListTileThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.List_0W6 = A._setArrayType(makeConstList([A.vp8_filter_VP8Filter_DC8uv$closure(), A.vp8_filter_VP8Filter_TM8uv$closure(), A.vp8_filter_VP8Filter_VE8uv$closure(), A.vp8_filter_VP8Filter_HE8uv$closure(), A.vp8_filter_VP8Filter_DC8uvNoTop$closure(), A.vp8_filter_VP8Filter_DC8uvNoLeft$closure(), A.vp8_filter_VP8Filter_DC8uvNoTopLeft$closure()]), type$.JSArray_of_void_Function_InputBuffer);
    B.List_0_0 = A._setArrayType(makeConstList([0, 0]), type$.JSArray_double);
    B.List_0_0_0 = A._setArrayType(makeConstList([0, 0, 0]), type$.JSArray_double);
    B.List_0_1 = A._setArrayType(makeConstList([0, 1]), type$.JSArray_double);
    B.List_0_2_8 = A._setArrayType(makeConstList([0, 2, 8]), type$.JSArray_int);
    B.List_0_4_2_1 = A._setArrayType(makeConstList([0, 4, 2, 1]), type$.JSArray_int);
    B.List_200_0 = A._setArrayType(makeConstList([200, 0]), type$.JSArray_double);
    B.List_200_200 = A._setArrayType(makeConstList([200, 200]), type$.JSArray_double);
    B.List_200_280 = A._setArrayType(makeConstList([200, 280]), type$.JSArray_double);
    B.FontWeight_1 = new A.FontWeight(1);
    B.FontWeight_2 = new A.FontWeight(2);
    B.FontWeight_7 = new A.FontWeight(7);
    B.FontWeight_8 = new A.FontWeight(8);
    B.List_27p = A._setArrayType(makeConstList([B.FontWeight_0, B.FontWeight_1, B.FontWeight_2, B.FontWeight_3, B.FontWeight_4, B.FontWeight_5, B.FontWeight_6, B.FontWeight_7, B.FontWeight_8]), A.findType("JSArray<FontWeight>"));
    B.List_292_260_226_226 = A._setArrayType(makeConstList([292, 260, 226, 226]), type$.JSArray_int);
    B.List_2Bc = A._setArrayType(makeConstList([8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8]), type$.JSArray_int);
    B.List_2Vk = A._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_int);
    B.List_2Vk0 = A._setArrayType(makeConstList([137, 80, 78, 71, 13, 10, 26, 10]), type$.JSArray_int);
    B.C_ActivateIntent = new A.ActivateIntent();
    B.ScrollIncrementType_1 = new A.ScrollIncrementType(1, "page");
    B.ScrollIntent_KrF = new A.ScrollIntent(B.AxisDirection_2, B.ScrollIncrementType_1);
    B.List_2WE = A._setArrayType(makeConstList([B.C_ActivateIntent, B.ScrollIntent_KrF]), A.findType("JSArray<Intent>"));
    B.List_2_3_7 = A._setArrayType(makeConstList([2, 3, 7]), type$.JSArray_int);
    B.List_300_300 = A._setArrayType(makeConstList([300, 300]), type$.JSArray_double);
    B.List_3US = A._setArrayType(makeConstList(["S", "M", "T", "W", "T", "F", "S"]), type$.JSArray_String);
    B.List_3_3_11 = A._setArrayType(makeConstList([3, 3, 11]), type$.JSArray_int);
    B.ModifierKey_0 = new A.ModifierKey(0, "controlModifier");
    B.ModifierKey_1 = new A.ModifierKey(1, "shiftModifier");
    B.ModifierKey_2 = new A.ModifierKey(2, "altModifier");
    B.ModifierKey_3 = new A.ModifierKey(3, "metaModifier");
    B.ModifierKey_4 = new A.ModifierKey(4, "capsLockModifier");
    B.ModifierKey_5 = new A.ModifierKey(5, "numLockModifier");
    B.ModifierKey_6 = new A.ModifierKey(6, "scrollLockModifier");
    B.ModifierKey_7 = new A.ModifierKey(7, "functionModifier");
    B.ModifierKey_8 = new A.ModifierKey(8, "symbolModifier");
    B.List_4LR = A._setArrayType(makeConstList([B.ModifierKey_0, B.ModifierKey_1, B.ModifierKey_2, B.ModifierKey_3, B.ModifierKey_4, B.ModifierKey_5, B.ModifierKey_6, B.ModifierKey_7, B.ModifierKey_8]), A.findType("JSArray<ModifierKey>"));
    B.List_4_9_14_19 = A._setArrayType(makeConstList([4, 9, 14, 19]), type$.JSArray_int);
    B.TargetPlatform_1 = new A.TargetPlatform(1, "fuchsia");
    B.TargetPlatform_3 = new A.TargetPlatform(3, "linux");
    B.TargetPlatform_5 = new A.TargetPlatform(5, "windows");
    B.List_4fl = A._setArrayType(makeConstList([B.TargetPlatform_0, B.TargetPlatform_1, B.TargetPlatform_2, B.TargetPlatform_3, B.TargetPlatform_4, B.TargetPlatform_5]), A.findType("JSArray<TargetPlatform>"));
    B.TrackWidgetBuildsScope_0 = new A.TrackWidgetBuildsScope(0, "all");
    B.TrackWidgetBuildsScope_1 = new A.TrackWidgetBuildsScope(1, "userCreated");
    B.List_4m9 = A._setArrayType(makeConstList([B.TrackWidgetBuildsScope_0, B.TrackWidgetBuildsScope_1]), A.findType("JSArray<TrackWidgetBuildsScope>"));
    B.List_511_1023_2047_4095 = A._setArrayType(makeConstList([511, 1023, 2047, 4095]), type$.JSArray_int);
    B.VerticalDirection_0 = new A.VerticalDirection(0, "up");
    B.VerticalDirection_1 = new A.VerticalDirection(1, "down");
    B.List_6Vn = A._setArrayType(makeConstList([B.VerticalDirection_0, B.VerticalDirection_1]), A.findType("JSArray<VerticalDirection>"));
    B.List_6xs = A._setArrayType(makeConstList(["Before Christ", "Anno Domini"]), type$.JSArray_String);
    B.List_U2p = A._setArrayType(makeConstList([231, 120, 48, 89, 115, 113, 120, 152, 112]), type$.JSArray_int);
    B.List_yXZ0 = A._setArrayType(makeConstList([152, 179, 64, 126, 170, 118, 46, 70, 95]), type$.JSArray_int);
    B.List_yXZ1 = A._setArrayType(makeConstList([175, 69, 143, 80, 85, 82, 72, 155, 103]), type$.JSArray_int);
    B.List_yXZ2 = A._setArrayType(makeConstList([56, 58, 10, 171, 218, 189, 17, 13, 152]), type$.JSArray_int);
    B.List_yXZ3 = A._setArrayType(makeConstList([114, 26, 17, 163, 44, 195, 21, 10, 173]), type$.JSArray_int);
    B.List_yXZ4 = A._setArrayType(makeConstList([121, 24, 80, 195, 26, 62, 44, 64, 85]), type$.JSArray_int);
    B.List_yXZ5 = A._setArrayType(makeConstList([144, 71, 10, 38, 171, 213, 144, 34, 26]), type$.JSArray_int);
    B.List_yXZ6 = A._setArrayType(makeConstList([170, 46, 55, 19, 136, 160, 33, 206, 71]), type$.JSArray_int);
    B.List_yXZ7 = A._setArrayType(makeConstList([63, 20, 8, 114, 114, 208, 12, 9, 226]), type$.JSArray_int);
    B.List_yXZ8 = A._setArrayType(makeConstList([81, 40, 11, 96, 182, 84, 29, 16, 36]), type$.JSArray_int);
    B.List_sty0 = A._setArrayType(makeConstList([B.List_U2p, B.List_yXZ0, B.List_yXZ1, B.List_yXZ2, B.List_yXZ3, B.List_yXZ4, B.List_yXZ5, B.List_yXZ6, B.List_yXZ7, B.List_yXZ8]), type$.JSArray_List_int);
    B.List_yXZ9 = A._setArrayType(makeConstList([134, 183, 89, 137, 98, 101, 106, 165, 148]), type$.JSArray_int);
    B.List_yXZ10 = A._setArrayType(makeConstList([72, 187, 100, 130, 157, 111, 32, 75, 80]), type$.JSArray_int);
    B.List_yXZ11 = A._setArrayType(makeConstList([66, 102, 167, 99, 74, 62, 40, 234, 128]), type$.JSArray_int);
    B.List_kfn = A._setArrayType(makeConstList([41, 53, 9, 178, 241, 141, 26, 8, 107]), type$.JSArray_int);
    B.List_yXZ12 = A._setArrayType(makeConstList([74, 43, 26, 146, 73, 166, 49, 23, 157]), type$.JSArray_int);
    B.List_yXZ13 = A._setArrayType(makeConstList([65, 38, 105, 160, 51, 52, 31, 115, 128]), type$.JSArray_int);
    B.List_eDA = A._setArrayType(makeConstList([104, 79, 12, 27, 217, 255, 87, 17, 7]), type$.JSArray_int);
    B.List_yXZ14 = A._setArrayType(makeConstList([87, 68, 71, 44, 114, 51, 15, 186, 23]), type$.JSArray_int);
    B.List_yXZ15 = A._setArrayType(makeConstList([47, 41, 14, 110, 182, 183, 21, 17, 194]), type$.JSArray_int);
    B.List_yXZ16 = A._setArrayType(makeConstList([66, 45, 25, 102, 197, 189, 23, 18, 22]), type$.JSArray_int);
    B.List_L3W = A._setArrayType(makeConstList([B.List_yXZ9, B.List_yXZ10, B.List_yXZ11, B.List_kfn, B.List_yXZ12, B.List_yXZ13, B.List_eDA, B.List_yXZ14, B.List_yXZ15, B.List_yXZ16]), type$.JSArray_List_int);
    B.List_yXZ17 = A._setArrayType(makeConstList([88, 88, 147, 150, 42, 46, 45, 196, 205]), type$.JSArray_int);
    B.List_yXZ18 = A._setArrayType(makeConstList([43, 97, 183, 117, 85, 38, 35, 179, 61]), type$.JSArray_int);
    B.List_yXZ19 = A._setArrayType(makeConstList([39, 53, 200, 87, 26, 21, 43, 232, 171]), type$.JSArray_int);
    B.List_yXZ20 = A._setArrayType(makeConstList([56, 34, 51, 104, 114, 102, 29, 93, 77]), type$.JSArray_int);
    B.List_yXZ21 = A._setArrayType(makeConstList([39, 28, 85, 171, 58, 165, 90, 98, 64]), type$.JSArray_int);
    B.List_yXZ22 = A._setArrayType(makeConstList([34, 22, 116, 206, 23, 34, 43, 166, 73]), type$.JSArray_int);
    B.List_yXZ23 = A._setArrayType(makeConstList([107, 54, 32, 26, 51, 1, 81, 43, 31]), type$.JSArray_int);
    B.List_yXZ24 = A._setArrayType(makeConstList([68, 25, 106, 22, 64, 171, 36, 225, 114]), type$.JSArray_int);
    B.List_yXZ25 = A._setArrayType(makeConstList([34, 19, 21, 102, 132, 188, 16, 76, 124]), type$.JSArray_int);
    B.List_yXZ26 = A._setArrayType(makeConstList([62, 18, 78, 95, 85, 57, 50, 48, 51]), type$.JSArray_int);
    B.List_ECY = A._setArrayType(makeConstList([B.List_yXZ17, B.List_yXZ18, B.List_yXZ19, B.List_yXZ20, B.List_yXZ21, B.List_yXZ22, B.List_yXZ23, B.List_yXZ24, B.List_yXZ25, B.List_yXZ26]), type$.JSArray_List_int);
    B.List_yXZ27 = A._setArrayType(makeConstList([193, 101, 35, 159, 215, 111, 89, 46, 111]), type$.JSArray_int);
    B.List_yXZ28 = A._setArrayType(makeConstList([60, 148, 31, 172, 219, 228, 21, 18, 111]), type$.JSArray_int);
    B.List_eDA0 = A._setArrayType(makeConstList([112, 113, 77, 85, 179, 255, 38, 120, 114]), type$.JSArray_int);
    B.List_kfn0 = A._setArrayType(makeConstList([40, 42, 1, 196, 245, 209, 10, 25, 109]), type$.JSArray_int);
    B.List_yXZ29 = A._setArrayType(makeConstList([88, 43, 29, 140, 166, 213, 37, 43, 154]), type$.JSArray_int);
    B.List_yXZ30 = A._setArrayType(makeConstList([61, 63, 30, 155, 67, 45, 68, 1, 209]), type$.JSArray_int);
    B.List_yXZ31 = A._setArrayType(makeConstList([100, 80, 8, 43, 154, 1, 51, 26, 71]), type$.JSArray_int);
    B.List_kfn1 = A._setArrayType(makeConstList([142, 78, 78, 16, 255, 128, 34, 197, 171]), type$.JSArray_int);
    B.List_yXZ32 = A._setArrayType(makeConstList([41, 40, 5, 102, 211, 183, 4, 1, 221]), type$.JSArray_int);
    B.List_yXZ33 = A._setArrayType(makeConstList([51, 50, 17, 168, 209, 192, 23, 25, 82]), type$.JSArray_int);
    B.List_JO4 = A._setArrayType(makeConstList([B.List_yXZ27, B.List_yXZ28, B.List_eDA0, B.List_kfn0, B.List_yXZ29, B.List_yXZ30, B.List_yXZ31, B.List_kfn1, B.List_yXZ32, B.List_yXZ33]), type$.JSArray_List_int);
    B.List_knt1 = A._setArrayType(makeConstList([138, 31, 36, 171, 27, 166, 38, 44, 229]), type$.JSArray_int);
    B.List_yXZ34 = A._setArrayType(makeConstList([67, 87, 58, 169, 82, 115, 26, 59, 179]), type$.JSArray_int);
    B.List_yXZ35 = A._setArrayType(makeConstList([63, 59, 90, 180, 59, 166, 93, 73, 154]), type$.JSArray_int);
    B.List_yXZ36 = A._setArrayType(makeConstList([40, 40, 21, 116, 143, 209, 34, 39, 175]), type$.JSArray_int);
    B.List_yXZ37 = A._setArrayType(makeConstList([47, 15, 16, 183, 34, 223, 49, 45, 183]), type$.JSArray_int);
    B.List_yXZ38 = A._setArrayType(makeConstList([46, 17, 33, 183, 6, 98, 15, 32, 183]), type$.JSArray_int);
    B.List_yXZ39 = A._setArrayType(makeConstList([57, 46, 22, 24, 128, 1, 54, 17, 37]), type$.JSArray_int);
    B.List_yXZ40 = A._setArrayType(makeConstList([65, 32, 73, 115, 28, 128, 23, 128, 205]), type$.JSArray_int);
    B.List_yXZ41 = A._setArrayType(makeConstList([40, 3, 9, 115, 51, 192, 18, 6, 223]), type$.JSArray_int);
    B.List_yXZ42 = A._setArrayType(makeConstList([87, 37, 9, 115, 59, 77, 64, 21, 47]), type$.JSArray_int);
    B.List_wEo = A._setArrayType(makeConstList([B.List_knt1, B.List_yXZ34, B.List_yXZ35, B.List_yXZ36, B.List_yXZ37, B.List_yXZ38, B.List_yXZ39, B.List_yXZ40, B.List_yXZ41, B.List_yXZ42]), type$.JSArray_List_int);
    B.List_yXZ43 = A._setArrayType(makeConstList([104, 55, 44, 218, 9, 54, 53, 130, 226]), type$.JSArray_int);
    B.List_yXZ44 = A._setArrayType(makeConstList([64, 90, 70, 205, 40, 41, 23, 26, 57]), type$.JSArray_int);
    B.List_yXZ45 = A._setArrayType(makeConstList([54, 57, 112, 184, 5, 41, 38, 166, 213]), type$.JSArray_int);
    B.List_yXZ46 = A._setArrayType(makeConstList([30, 34, 26, 133, 152, 116, 10, 32, 134]), type$.JSArray_int);
    B.List_knt2 = A._setArrayType(makeConstList([39, 19, 53, 221, 26, 114, 32, 73, 255]), type$.JSArray_int);
    B.List_yXZ47 = A._setArrayType(makeConstList([31, 9, 65, 234, 2, 15, 1, 118, 73]), type$.JSArray_int);
    B.List_eDA1 = A._setArrayType(makeConstList([75, 32, 12, 51, 192, 255, 160, 43, 51]), type$.JSArray_int);
    B.List_yXZ48 = A._setArrayType(makeConstList([88, 31, 35, 67, 102, 85, 55, 186, 85]), type$.JSArray_int);
    B.List_yXZ49 = A._setArrayType(makeConstList([56, 21, 23, 111, 59, 205, 45, 37, 192]), type$.JSArray_int);
    B.List_yXZ50 = A._setArrayType(makeConstList([55, 38, 70, 124, 73, 102, 1, 34, 98]), type$.JSArray_int);
    B.List_0 = A._setArrayType(makeConstList([B.List_yXZ43, B.List_yXZ44, B.List_yXZ45, B.List_yXZ46, B.List_knt2, B.List_yXZ47, B.List_eDA1, B.List_yXZ48, B.List_yXZ49, B.List_yXZ50]), type$.JSArray_List_int);
    B.List_yXZ51 = A._setArrayType(makeConstList([125, 98, 42, 88, 104, 85, 117, 175, 82]), type$.JSArray_int);
    B.List_yXZ52 = A._setArrayType(makeConstList([95, 84, 53, 89, 128, 100, 113, 101, 45]), type$.JSArray_int);
    B.List_yXZ53 = A._setArrayType(makeConstList([75, 79, 123, 47, 51, 128, 81, 171, 1]), type$.JSArray_int);
    B.List_yXZ54 = A._setArrayType(makeConstList([57, 17, 5, 71, 102, 57, 53, 41, 49]), type$.JSArray_int);
    B.List_yXZ55 = A._setArrayType(makeConstList([38, 33, 13, 121, 57, 73, 26, 1, 85]), type$.JSArray_int);
    B.List_yXZ56 = A._setArrayType(makeConstList([41, 10, 67, 138, 77, 110, 90, 47, 114]), type$.JSArray_int);
    B.List_eDA2 = A._setArrayType(makeConstList([115, 21, 2, 10, 102, 255, 166, 23, 6]), type$.JSArray_int);
    B.List_yXZ57 = A._setArrayType(makeConstList([101, 29, 16, 10, 85, 128, 101, 196, 26]), type$.JSArray_int);
    B.List_yXZ58 = A._setArrayType(makeConstList([57, 18, 10, 102, 102, 213, 34, 20, 43]), type$.JSArray_int);
    B.List_yXZ59 = A._setArrayType(makeConstList([117, 20, 15, 36, 163, 128, 68, 1, 26]), type$.JSArray_int);
    B.List_a5W = A._setArrayType(makeConstList([B.List_yXZ51, B.List_yXZ52, B.List_yXZ53, B.List_yXZ54, B.List_yXZ55, B.List_yXZ56, B.List_eDA2, B.List_yXZ57, B.List_yXZ58, B.List_yXZ59]), type$.JSArray_List_int);
    B.List_h47 = A._setArrayType(makeConstList([102, 61, 71, 37, 34, 53, 31, 243, 192]), type$.JSArray_int);
    B.List_yXZ60 = A._setArrayType(makeConstList([69, 60, 71, 38, 73, 119, 28, 222, 37]), type$.JSArray_int);
    B.List_h470 = A._setArrayType(makeConstList([68, 45, 128, 34, 1, 47, 11, 245, 171]), type$.JSArray_int);
    B.List_yXZ61 = A._setArrayType(makeConstList([62, 17, 19, 70, 146, 85, 55, 62, 70]), type$.JSArray_int);
    B.List_yXZ62 = A._setArrayType(makeConstList([37, 43, 37, 154, 100, 163, 85, 160, 1]), type$.JSArray_int);
    B.List_yXZ63 = A._setArrayType(makeConstList([63, 9, 92, 136, 28, 64, 32, 201, 85]), type$.JSArray_int);
    B.List_eDA3 = A._setArrayType(makeConstList([75, 15, 9, 9, 64, 255, 184, 119, 16]), type$.JSArray_int);
    B.List_eDA4 = A._setArrayType(makeConstList([86, 6, 28, 5, 64, 255, 25, 248, 1]), type$.JSArray_int);
    B.List_eDA5 = A._setArrayType(makeConstList([56, 8, 17, 132, 137, 255, 55, 116, 128]), type$.JSArray_int);
    B.List_yXZ64 = A._setArrayType(makeConstList([58, 15, 20, 82, 135, 57, 26, 121, 40]), type$.JSArray_int);
    B.List_6oq = A._setArrayType(makeConstList([B.List_h47, B.List_yXZ60, B.List_h470, B.List_yXZ61, B.List_yXZ62, B.List_yXZ63, B.List_eDA3, B.List_eDA4, B.List_eDA5, B.List_yXZ64]), type$.JSArray_List_int);
    B.List_yXZ65 = A._setArrayType(makeConstList([164, 50, 31, 137, 154, 133, 25, 35, 218]), type$.JSArray_int);
    B.List_yXZ66 = A._setArrayType(makeConstList([51, 103, 44, 131, 131, 123, 31, 6, 158]), type$.JSArray_int);
    B.List_yXZ67 = A._setArrayType(makeConstList([86, 40, 64, 135, 148, 224, 45, 183, 128]), type$.JSArray_int);
    B.List_yXZ68 = A._setArrayType(makeConstList([22, 26, 17, 131, 240, 154, 14, 1, 209]), type$.JSArray_int);
    B.List_yXZ69 = A._setArrayType(makeConstList([45, 16, 21, 91, 64, 222, 7, 1, 197]), type$.JSArray_int);
    B.List_yXZ70 = A._setArrayType(makeConstList([56, 21, 39, 155, 60, 138, 23, 102, 213]), type$.JSArray_int);
    B.List_eDA6 = A._setArrayType(makeConstList([83, 12, 13, 54, 192, 255, 68, 47, 28]), type$.JSArray_int);
    B.List_yXZ71 = A._setArrayType(makeConstList([85, 26, 85, 85, 128, 128, 32, 146, 171]), type$.JSArray_int);
    B.List_yXZ72 = A._setArrayType(makeConstList([18, 11, 7, 63, 144, 171, 4, 4, 246]), type$.JSArray_int);
    B.List_yXZ73 = A._setArrayType(makeConstList([35, 27, 10, 146, 174, 171, 12, 26, 128]), type$.JSArray_int);
    B.List_a5W0 = A._setArrayType(makeConstList([B.List_yXZ65, B.List_yXZ66, B.List_yXZ67, B.List_yXZ68, B.List_yXZ69, B.List_yXZ70, B.List_eDA6, B.List_yXZ71, B.List_yXZ72, B.List_yXZ73]), type$.JSArray_List_int);
    B.List_yXZ74 = A._setArrayType(makeConstList([190, 80, 35, 99, 180, 80, 126, 54, 45]), type$.JSArray_int);
    B.List_yXZ75 = A._setArrayType(makeConstList([85, 126, 47, 87, 176, 51, 41, 20, 32]), type$.JSArray_int);
    B.List_yXZ76 = A._setArrayType(makeConstList([101, 75, 128, 139, 118, 146, 116, 128, 85]), type$.JSArray_int);
    B.List_yXZ77 = A._setArrayType(makeConstList([56, 41, 15, 176, 236, 85, 37, 9, 62]), type$.JSArray_int);
    B.List_eDA7 = A._setArrayType(makeConstList([71, 30, 17, 119, 118, 255, 17, 18, 138]), type$.JSArray_int);
    B.List_yXZ78 = A._setArrayType(makeConstList([101, 38, 60, 138, 55, 70, 43, 26, 142]), type$.JSArray_int);
    B.List_eDA8 = A._setArrayType(makeConstList([146, 36, 19, 30, 171, 255, 97, 27, 20]), type$.JSArray_int);
    B.List_yXZ79 = A._setArrayType(makeConstList([138, 45, 61, 62, 219, 1, 81, 188, 64]), type$.JSArray_int);
    B.List_yXZ80 = A._setArrayType(makeConstList([32, 41, 20, 117, 151, 142, 20, 21, 163]), type$.JSArray_int);
    B.List_yXZ81 = A._setArrayType(makeConstList([112, 19, 12, 61, 195, 128, 48, 4, 24]), type$.JSArray_int);
    B.List_RrN = A._setArrayType(makeConstList([B.List_yXZ74, B.List_yXZ75, B.List_yXZ76, B.List_yXZ77, B.List_eDA7, B.List_yXZ78, B.List_eDA8, B.List_yXZ79, B.List_yXZ80, B.List_yXZ81]), type$.JSArray_List_int);
    B.List_799 = A._setArrayType(makeConstList([B.List_sty0, B.List_L3W, B.List_ECY, B.List_JO4, B.List_wEo, B.List_0, B.List_a5W, B.List_6oq, B.List_a5W0, B.List_RrN]), type$.JSArray_List_List_int);
    B.List_7Qs = A._setArrayType(makeConstList(["keyword.control.catch-exception.dart", "keyword.control.dart", "keyword.control.new.dart"]), type$.JSArray_String);
    B.Text_4IJ = new A.Text("Memory leak tracking functionality will be here.", null, null, null, null, null, null, null, null, null, null, null);
    B.List_7h5 = A._setArrayType(makeConstList([B.Text_4IJ]), type$.JSArray_Widget);
    B.List_89P = A._setArrayType(makeConstList([3226, 6412, 200, 168, 38, 38, 134, 134, 100, 100, 100, 100, 68, 68, 68, 68]), type$.JSArray_int);
    B.List_8_8_4_2 = A._setArrayType(makeConstList([8, 8, 4, 2]), type$.JSArray_int);
    B.List_8aB = A._setArrayType(makeConstList([A.vp8_filter_VP8Filter_DC16$closure(), A.vp8_filter_VP8Filter_TM16$closure(), A.vp8_filter_VP8Filter_VE16$closure(), A.vp8_filter_VP8Filter_HE16$closure(), A.vp8_filter_VP8Filter_DC16NoTop$closure(), A.vp8_filter_VP8Filter_DC16NoLeft$closure(), A.vp8_filter_VP8Filter_DC16NoTopLeft$closure()]), type$.JSArray_of_void_Function_InputBuffer);
    B.List_8co1 = A._setArrayType(makeConstList([4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114, 116, 118, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 143, 145, 148, 151, 154, 157]), type$.JSArray_int);
    B.List_8co0 = A._setArrayType(makeConstList([7, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0]), type$.JSArray_int);
    B.List_8co = A._setArrayType(makeConstList([80, 88, 23, 71, 30, 30, 62, 62, 4, 4, 4, 4, 4, 4, 4, 4, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41]), type$.JSArray_int);
    B.List_9Qo = A._setArrayType(makeConstList(["support.class.dart", "variable.language.dart"]), type$.JSArray_String);
    B.Color_4291475689 = new A.Color(4291475689);
    B.ColorPair_Color_4278190080_Color_4291475689 = new A.ColorPair(B.Color_4278190080, B.Color_4291475689);
    B.Color_4288513226 = new A.Color(4288513226);
    B.ColorPair_Color_4278190080_Color_4288513226 = new A.ColorPair(B.Color_4278190080, B.Color_4288513226);
    B.List_9sM = A._setArrayType(makeConstList([B.ColorPair_Color_4278190080_Color_4291475689, B.ColorPair_Color_4278190080_Color_4288513226]), type$.JSArray_ColorPair);
    B.List_A8J = A._setArrayType(makeConstList(["(", ")", "<", ">", "@", ",", ";", ":", "\\", '"', "/", "[", "]", "?", "=", "{", "}"]), type$.JSArray_String);
    B.List_AM_PM = A._setArrayType(makeConstList(["AM", "PM"]), type$.JSArray_String);
    B.List_AYZ = A._setArrayType(makeConstList([24, 7, 23, 25, 40, 6, 39, 41, 22, 26, 38, 42, 56, 5, 55, 57, 21, 27, 54, 58, 37, 43, 72, 4, 71, 73, 20, 28, 53, 59, 70, 74, 36, 44, 88, 69, 75, 52, 60, 3, 87, 89, 19, 29, 86, 90, 35, 45, 68, 76, 85, 91, 51, 61, 104, 2, 103, 105, 18, 30, 102, 106, 34, 46, 84, 92, 67, 77, 101, 107, 50, 62, 120, 1, 119, 121, 83, 93, 17, 31, 100, 108, 66, 78, 118, 122, 33, 47, 117, 123, 49, 63, 99, 109, 82, 94, 0, 116, 124, 65, 79, 16, 32, 98, 110, 48, 115, 125, 81, 95, 64, 114, 126, 97, 111, 80, 113, 127, 96, 112]), type$.JSArray_int);
    B.List_AZw = A._setArrayType(makeConstList([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63]), type$.JSArray_int);
    B.List_AiM = A._setArrayType(makeConstList([4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 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, 52, 53, 54, 55, 56, 57, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 234, 239, 245, 249, 254, 259, 264, 269, 274, 279, 284]), type$.JSArray_int);
    B.List_AllocationProfile = A._setArrayType(makeConstList(["AllocationProfile"]), type$.JSArray_String);
    B.List_AmY = A._setArrayType(makeConstList([-1, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, -1, 1, 0, 1, 1, 1, 1, 0]), type$.JSArray_double);
    B.AnalysisView_null = new A.AnalysisView(null);
    B.DiffView_null = new A.DiffView(null);
    B.List_AnalysisView_null_DiffView_null = A._setArrayType(makeConstList([B.AnalysisView_null, B.DiffView_null]), type$.JSArray_Widget);
    B.List_AuK = A._setArrayType(makeConstList(["constant.language.dart", "keyword.cast.dart", "keyword.declaration.dart", "keyword.other.import.dart", "storage.modifier.dart", "storage.type.annotation.dart", "storage.type.primitive.dart"]), type$.JSArray_String);
    B.List_Axis_0_Axis_1 = A._setArrayType(makeConstList([B.Axis_0, B.Axis_1]), A.findType("JSArray<Axis>"));
    B.List_B8J = A._setArrayType(makeConstList([0, 1996959894, 3993919788, 2567524794, 124634137, 1886057615, 3915621685, 2657392035, 249268274, 2044508324, 3772115230, 2547177864, 162941995, 2125561021, 3887607047, 2428444049, 498536548, 1789927666, 4089016648, 2227061214, 450548861, 1843258603, 4107580753, 2211677639, 325883990, 1684777152, 4251122042, 2321926636, 335633487, 1661365465, 4195302755, 2366115317, 997073096, 1281953886, 3579855332, 2724688242, 1006888145, 1258607687, 3524101629, 2768942443, 901097722, 1119000684, 3686517206, 2898065728, 853044451, 1172266101, 3705015759, 2882616665, 651767980, 1373503546, 3369554304, 3218104598, 565507253, 1454621731, 3485111705, 3099436303, 671266974, 1594198024, 3322730930, 2970347812, 795835527, 1483230225, 3244367275, 3060149565, 1994146192, 31158534, 2563907772, 4023717930, 1907459465, 112637215, 2680153253, 3904427059, 2013776290, 251722036, 2517215374, 3775830040, 2137656763, 141376813, 2439277719, 3865271297, 1802195444, 476864866, 2238001368, 4066508878, 1812370925, 453092731, 2181625025, 4111451223, 1706088902, 314042704, 2344532202, 4240017532, 1658658271, 366619977, 2362670323, 4224994405, 1303535960, 984961486, 2747007092, 3569037538, 1256170817, 1037604311, 2765210733, 3554079995, 1131014506, 879679996, 2909243462, 3663771856, 1141124467, 855842277, 2852801631, 3708648649, 1342533948, 654459306, 3188396048, 3373015174, 1466479909, 544179635, 3110523913, 3462522015, 1591671054, 702138776, 2966460450, 3352799412, 1504918807, 783551873, 3082640443, 3233442989, 3988292384, 2596254646, 62317068, 1957810842, 3939845945, 2647816111, 81470997, 1943803523, 3814918930, 2489596804, 225274430, 2053790376, 3826175755, 2466906013, 167816743, 2097651377, 4027552580, 2265490386, 503444072, 1762050814, 4150417245, 2154129355, 426522225, 1852507879, 4275313526, 2312317920, 282753626, 1742555852, 4189708143, 2394877945, 397917763, 1622183637, 3604390888, 2714866558, 953729732, 1340076626, 3518719985, 2797360999, 1068828381, 1219638859, 3624741850, 2936675148, 906185462, 1090812512, 3747672003, 2825379669, 829329135, 1181335161, 3412177804, 3160834842, 628085408, 1382605366, 3423369109, 3138078467, 570562233, 1426400815, 3317316542, 2998733608, 733239954, 1555261956, 3268935591, 3050360625, 752459403, 1541320221, 2607071920, 3965973030, 1969922972, 40735498, 2617837225, 3943577151, 1913087877, 83908371, 2512341634, 3803740692, 2075208622, 213261112, 2463272603, 3855990285, 2094854071, 198958881, 2262029012, 4057260610, 1759359992, 534414190, 2176718541, 4139329115, 1873836001, 414664567, 2282248934, 4279200368, 1711684554, 285281116, 2405801727, 4167216745, 1634467795, 376229701, 2685067896, 3608007406, 1308918612, 956543938, 2808555105, 3495958263, 1231636301, 1047427035, 2932959818, 3654703836, 1088359270, 936918000, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117]), type$.JSArray_int);
    B.List_BC_AD = A._setArrayType(makeConstList(["BC", "AD"]), type$.JSArray_String);
    B.Color_4294965473 = new A.Color(4294965473);
    B.Color_4294962355 = new A.Color(4294962355);
    B.Color_4294959234 = new A.Color(4294959234);
    B.Color_4294956367 = new A.Color(4294956367);
    B.Color_4294953512 = new A.Color(4294953512);
    B.Color_4294951175 = new A.Color(4294951175);
    B.Color_4294947584 = new A.Color(4294947584);
    B.Color_4294942720 = new A.Color(4294942720);
    B.Color_4294938368 = new A.Color(4294938368);
    B.Color_4294930176 = new A.Color(4294930176);
    B.Map_JNsy5 = new A.GeneralConstantMap([50, B.Color_4294965473, 100, B.Color_4294962355, 200, B.Color_4294959234, 300, B.Color_4294956367, 400, B.Color_4294953512, 500, B.Color_4294951175, 600, B.Color_4294947584, 700, B.Color_4294942720, 800, B.Color_4294938368, 900, B.Color_4294930176], type$.GeneralConstantMap_int_Color);
    B.MaterialColor_Map_JNsy5_4294951175 = new A.MaterialColor(B.Map_JNsy5, 4294951175);
    B.BlinkingIcon_null = new A.BlinkingIcon(null);
    B.List_BlinkingIcon_null = A._setArrayType(makeConstList([B.BlinkingIcon_null]), type$.JSArray_Widget);
    B.List_BoundField = A._setArrayType(makeConstList(["BoundField"]), type$.JSArray_String);
    B.List_BoundVariable = A._setArrayType(makeConstList(["BoundVariable"]), type$.JSArray_String);
    B.List_Breakpoint = A._setArrayType(makeConstList(["Breakpoint"]), type$.JSArray_String);
    B.List_CVk = A._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_ClassHeapStats = A._setArrayType(makeConstList(["ClassHeapStats"]), type$.JSArray_String);
    B.List_ClassList = A._setArrayType(makeConstList(["ClassList"]), type$.JSArray_String);
    B.List_ClassRef = A._setArrayType(makeConstList(["ClassRef"]), type$.JSArray_String);
    B.List_CodeRef = A._setArrayType(makeConstList(["CodeRef"]), type$.JSArray_String);
    B.List_ContextElement = A._setArrayType(makeConstList(["ContextElement"]), type$.JSArray_String);
    B.List_ContextRef = A._setArrayType(makeConstList(["ContextRef"]), type$.JSArray_String);
    B.List_CpuSample = A._setArrayType(makeConstList(["CpuSample"]), type$.JSArray_String);
    B.List_CpuSamples = A._setArrayType(makeConstList(["CpuSamples"]), type$.JSArray_String);
    B.List_CpuSamplesEvent = A._setArrayType(makeConstList(["CpuSamplesEvent"]), type$.JSArray_String);
    B.List_DKo = A._setArrayType(makeConstList([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, 2147483647, 4294967295]), type$.JSArray_int);
    B.DialogCancelButton_null_null = new A.DialogCancelButton(null, null);
    B.List_DialogCancelButton_null_null = A._setArrayType(makeConstList([B.DialogCancelButton_null_null]), type$.JSArray_Widget);
    B.List_ECn = A._setArrayType(makeConstList(["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]), type$.JSArray_dynamic);
    B.CallStack_null = new A.CallStack(null);
    B.Variables_null = new A.Variables(null);
    B.Breakpoints_null = new A.Breakpoints(null);
    B.List_ES1 = A._setArrayType(makeConstList([B.CallStack_null, B.Variables_null, B.Breakpoints_null]), type$.JSArray_Widget);
    B.List_Error = A._setArrayType(makeConstList(["Error"]), type$.JSArray_String);
    B.C_ErrorLoggerObserver = new A.ErrorLoggerObserver();
    B.List_ErrorLoggerObserver = A._setArrayType(makeConstList([B.C_ErrorLoggerObserver]), type$.JSArray_ProviderObserver);
    B.List_ErrorRef = A._setArrayType(makeConstList(["ErrorRef"]), type$.JSArray_String);
    B.List_Event = A._setArrayType(makeConstList(["Event"]), type$.JSArray_String);
    B.List_F1L = A._setArrayType(makeConstList([0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0]), type$.JSArray_int);
    B.List_FieldRef = A._setArrayType(makeConstList(["FieldRef"]), type$.JSArray_String);
    B.List_Flag = A._setArrayType(makeConstList(["Flag"]), type$.JSArray_String);
    B.List_FlagList = A._setArrayType(makeConstList(["FlagList"]), type$.JSArray_String);
    B.List_Frame = A._setArrayType(makeConstList(["Frame"]), type$.JSArray_String);
    B.List_FuncRef = A._setArrayType(makeConstList(["FuncRef"]), type$.JSArray_String);
    B.WordCharProperty_0 = new A.WordCharProperty(0, "DoubleQuote");
    B.WordCharProperty_1 = new A.WordCharProperty(1, "SingleQuote");
    B.WordCharProperty_2 = new A.WordCharProperty(2, "HebrewLetter");
    B.WordCharProperty_3 = new A.WordCharProperty(3, "CR");
    B.WordCharProperty_4 = new A.WordCharProperty(4, "LF");
    B.WordCharProperty_5 = new A.WordCharProperty(5, "Newline");
    B.WordCharProperty_6 = new A.WordCharProperty(6, "Extend");
    B.WordCharProperty_7 = new A.WordCharProperty(7, "RegionalIndicator");
    B.WordCharProperty_8 = new A.WordCharProperty(8, "Format");
    B.WordCharProperty_9 = new A.WordCharProperty(9, "Katakana");
    B.WordCharProperty_10 = new A.WordCharProperty(10, "ALetter");
    B.WordCharProperty_11 = new A.WordCharProperty(11, "MidLetter");
    B.WordCharProperty_12 = new A.WordCharProperty(12, "MidNum");
    B.WordCharProperty_13 = new A.WordCharProperty(13, "MidNumLet");
    B.WordCharProperty_14 = new A.WordCharProperty(14, "Numeric");
    B.WordCharProperty_15 = new A.WordCharProperty(15, "ExtendNumLet");
    B.WordCharProperty_16 = new A.WordCharProperty(16, "ZWJ");
    B.WordCharProperty_17 = new A.WordCharProperty(17, "WSegSpace");
    B.WordCharProperty_18 = new A.WordCharProperty(18, "Unknown");
    B.List_G7P = A._setArrayType(makeConstList([B.WordCharProperty_0, B.WordCharProperty_1, B.WordCharProperty_2, B.WordCharProperty_3, B.WordCharProperty_4, B.WordCharProperty_5, B.WordCharProperty_6, B.WordCharProperty_7, B.WordCharProperty_8, B.WordCharProperty_9, B.WordCharProperty_10, B.WordCharProperty_11, B.WordCharProperty_12, B.WordCharProperty_13, B.WordCharProperty_14, B.WordCharProperty_15, B.WordCharProperty_16, B.WordCharProperty_17, B.WordCharProperty_18]), A.findType("JSArray<WordCharProperty>"));
    B.List_GZw = A._setArrayType(makeConstList(["text", "multiline", "number", "phone", "datetime", "emailAddress", "url", "visiblePassword", "name", "address", "none"]), type$.JSArray_String);
    B.List_HHa = A._setArrayType(makeConstList([null, A.webp_filters_WebPFilters_horizontalUnfilter$closure(), A.webp_filters_WebPFilters_verticalUnfilter$closure(), A.webp_filters_WebPFilters_gradientUnfilter$closure()]), A.findType("JSArray<~(int,int,int,int,int,Uint8List)?>"));
    B.List_InboundReference = A._setArrayType(makeConstList(["InboundReference"]), type$.JSArray_String);
    B.List_InboundReferences = A._setArrayType(makeConstList(["InboundReferences"]), type$.JSArray_String);
    B.List_InstanceRef = A._setArrayType(makeConstList(["InstanceRef"]), type$.JSArray_String);
    B.List_InstanceRef_ErrorRef = A._setArrayType(makeConstList(["InstanceRef", "ErrorRef"]), type$.JSArray_String);
    B.List_InstanceRef_Sentinel = A._setArrayType(makeConstList(["InstanceRef", "Sentinel"]), type$.JSArray_String);
    B.List_InstanceSet = A._setArrayType(makeConstList(["InstanceSet"]), type$.JSArray_String);
    B.List_Isolate = A._setArrayType(makeConstList(["Isolate"]), type$.JSArray_String);
    B.List_IsolateFlag = A._setArrayType(makeConstList(["IsolateFlag"]), type$.JSArray_String);
    B.List_IsolateGroup = A._setArrayType(makeConstList(["IsolateGroup"]), type$.JSArray_String);
    B.List_IsolateGroupRef = A._setArrayType(makeConstList(["IsolateGroupRef"]), type$.JSArray_String);
    B.List_IsolateRef = A._setArrayType(makeConstList(["IsolateRef"]), type$.JSArray_String);
    B.List_JYB = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int);
    B.List_Jeh = A._setArrayType(makeConstList(["constant.numeric.dart"]), type$.JSArray_String);
    B.List_KeE = A._setArrayType(makeConstList([B.SizedBox_null_null_null_null]), type$.JSArray_Widget);
    B.List_LibraryRef = A._setArrayType(makeConstList(["LibraryRef"]), type$.JSArray_String);
    B.List_LibraryRef_ClassRef_FuncRef = A._setArrayType(makeConstList(["LibraryRef", "ClassRef", "FuncRef"]), type$.JSArray_String);
    B.Locale_en_US = new A.Locale("en", "US");
    B.List_Locale_en_US = A._setArrayType(makeConstList([B.Locale_en_US]), type$.JSArray_Locale);
    B.List_LogRecord = A._setArrayType(makeConstList(["LogRecord"]), type$.JSArray_String);
    B.Color_4286630852 = new A.Color(4286630852);
    B.ColorPair_Color_4278190080_Color_4286630852 = new A.ColorPair(B.Color_4278190080, B.Color_4286630852);
    B.Color_4280723098 = new A.Color(4280723098);
    B.ColorPair_Color_4278190080_Color_4280723098 = new A.ColorPair(B.Color_4278190080, B.Color_4280723098);
    B.List_M6L = A._setArrayType(makeConstList([B.ColorPair_Color_4278190080_Color_4286630852, B.ColorPair_Color_4278190080_Color_4280723098]), type$.JSArray_ColorPair);
    B.List_MEg = A._setArrayType(makeConstList([28679, 28679, 31752, -32759, -31735, -30711, -29687, -28663, 29703, 29703, 30727, 30727, -27639, -26615, -25591, -24567]), type$.JSArray_int);
    B.List_q8u = A._setArrayType(makeConstList([255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_2du = A._setArrayType(makeConstList([B.List_q8u, B.List_q8u, B.List_q8u]), type$.JSArray_List_int);
    B.List_n3E = A._setArrayType(makeConstList([176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_U8c = A._setArrayType(makeConstList([223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_q8u0 = A._setArrayType(makeConstList([249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_EkO = A._setArrayType(makeConstList([B.List_n3E, B.List_U8c, B.List_q8u0]), type$.JSArray_List_int);
    B.List_mXg = A._setArrayType(makeConstList([255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_sav = A._setArrayType(makeConstList([234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_q8u1 = A._setArrayType(makeConstList([253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_ezx = A._setArrayType(makeConstList([B.List_mXg, B.List_sav, B.List_q8u1]), type$.JSArray_List_int);
    B.List_mXg0 = A._setArrayType(makeConstList([255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wX4 = A._setArrayType(makeConstList([239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_U8c0 = A._setArrayType(makeConstList([254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_Q1p = A._setArrayType(makeConstList([B.List_mXg0, B.List_wX4, B.List_U8c0]), type$.JSArray_List_int);
    B.List_mXg1 = A._setArrayType(makeConstList([255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wX40 = A._setArrayType(makeConstList([251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_ycb = A._setArrayType(makeConstList([B.List_mXg1, B.List_wX40, B.List_q8u]), type$.JSArray_List_int);
    B.List_wX41 = A._setArrayType(makeConstList([255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_mXg2 = A._setArrayType(makeConstList([251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_AuU = A._setArrayType(makeConstList([B.List_wX41, B.List_mXg2, B.List_U8c0]), type$.JSArray_List_int);
    B.List_ekJ = A._setArrayType(makeConstList([255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_vHK = A._setArrayType(makeConstList([250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_Mic = A._setArrayType(makeConstList([254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_3oi = A._setArrayType(makeConstList([B.List_ekJ, B.List_vHK, B.List_Mic]), type$.JSArray_List_int);
    B.List_uwP = A._setArrayType(makeConstList([B.List_2du, B.List_EkO, B.List_ezx, B.List_Q1p, B.List_ycb, B.List_AuU, B.List_3oi, B.List_2du]), type$.JSArray_List_List_int);
    B.List_Mic0 = A._setArrayType(makeConstList([217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_ku2 = A._setArrayType(makeConstList([225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_unK = A._setArrayType(makeConstList([234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]), type$.JSArray_int);
    B.List_EuK = A._setArrayType(makeConstList([B.List_Mic0, B.List_ku2, B.List_unK]), type$.JSArray_List_int);
    B.List_H37 = A._setArrayType(makeConstList([255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_sav0 = A._setArrayType(makeConstList([223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_00 = A._setArrayType(makeConstList([238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_U05 = A._setArrayType(makeConstList([B.List_H37, B.List_sav0, B.List_00]), type$.JSArray_List_int);
    B.List_H370 = A._setArrayType(makeConstList([249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wEo0 = A._setArrayType(makeConstList([B.List_mXg1, B.List_H370, B.List_q8u]), type$.JSArray_List_int);
    B.List_q8u2 = A._setArrayType(makeConstList([255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_H371 = A._setArrayType(makeConstList([247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_HmY = A._setArrayType(makeConstList([B.List_q8u2, B.List_H371, B.List_q8u]), type$.JSArray_List_int);
    B.List_Mic1 = A._setArrayType(makeConstList([252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_qJr = A._setArrayType(makeConstList([B.List_wX41, B.List_Mic1, B.List_q8u]), type$.JSArray_List_int);
    B.List_mXg3 = A._setArrayType(makeConstList([255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_oIk = A._setArrayType(makeConstList([B.List_mXg3, B.List_q8u1, B.List_q8u]), type$.JSArray_List_int);
    B.List_H372 = A._setArrayType(makeConstList([255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_Mic2 = A._setArrayType(makeConstList([250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_23h = A._setArrayType(makeConstList([B.List_H372, B.List_Mic2, B.List_Mic]), type$.JSArray_List_int);
    B.List_Crw = A._setArrayType(makeConstList([B.List_EuK, B.List_U05, B.List_wEo0, B.List_HmY, B.List_qJr, B.List_oIk, B.List_23h, B.List_2du]), type$.JSArray_List_List_int);
    B.List_U8c1 = A._setArrayType(makeConstList([186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_01 = A._setArrayType(makeConstList([234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_IyW = A._setArrayType(makeConstList([251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_ujV = A._setArrayType(makeConstList([B.List_U8c1, B.List_01, B.List_IyW]), type$.JSArray_List_int);
    B.List_U8c2 = A._setArrayType(makeConstList([236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_A8Z = A._setArrayType(makeConstList([251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_eFE = A._setArrayType(makeConstList([B.List_wX41, B.List_U8c2, B.List_A8Z]), type$.JSArray_List_int);
    B.List_sav1 = A._setArrayType(makeConstList([254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_ezx0 = A._setArrayType(makeConstList([B.List_mXg3, B.List_sav1, B.List_q8u]), type$.JSArray_List_int);
    B.List_n3E0 = A._setArrayType(makeConstList([254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_QXJ = A._setArrayType(makeConstList([B.List_H37, B.List_n3E0, B.List_Mic]), type$.JSArray_List_int);
    B.List_yzJ = A._setArrayType(makeConstList([B.List_q8u, B.List_Mic, B.List_q8u]), type$.JSArray_List_int);
    B.List_QcX = A._setArrayType(makeConstList([B.List_ujV, B.List_eFE, B.List_ezx0, B.List_QXJ, B.List_yzJ, B.List_2du, B.List_2du, B.List_2du]), type$.JSArray_List_List_int);
    B.List_Mic3 = A._setArrayType(makeConstList([248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_AsR = A._setArrayType(makeConstList([250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_n3E1 = A._setArrayType(makeConstList([248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_gkc = A._setArrayType(makeConstList([B.List_Mic3, B.List_AsR, B.List_n3E1]), type$.JSArray_List_int);
    B.List_q8u3 = A._setArrayType(makeConstList([255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_Mic4 = A._setArrayType(makeConstList([246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_02 = A._setArrayType(makeConstList([252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_03 = A._setArrayType(makeConstList([B.List_q8u3, B.List_Mic4, B.List_02]), type$.JSArray_List_int);
    B.List_mXg4 = A._setArrayType(makeConstList([255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_n3E2 = A._setArrayType(makeConstList([248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_m9F = A._setArrayType(makeConstList([253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_C3E = A._setArrayType(makeConstList([B.List_mXg4, B.List_n3E2, B.List_m9F]), type$.JSArray_List_int);
    B.List_wX42 = A._setArrayType(makeConstList([255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wX43 = A._setArrayType(makeConstList([245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wX44 = A._setArrayType(makeConstList([253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_swR = A._setArrayType(makeConstList([B.List_wX42, B.List_wX43, B.List_wX44]), type$.JSArray_List_int);
    B.List_q8u4 = A._setArrayType(makeConstList([255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_U8c3 = A._setArrayType(makeConstList([252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_uQV = A._setArrayType(makeConstList([B.List_q8u4, B.List_U8c3, B.List_H37]), type$.JSArray_List_int);
    B.List_H373 = A._setArrayType(makeConstList([255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wX45 = A._setArrayType(makeConstList([249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_wX46 = A._setArrayType(makeConstList([255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_46y = A._setArrayType(makeConstList([B.List_H373, B.List_wX45, B.List_wX46]), type$.JSArray_List_int);
    B.List_q8u5 = A._setArrayType(makeConstList([255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255]), type$.JSArray_int);
    B.List_yzJ0 = A._setArrayType(makeConstList([B.List_q8u5, B.List_Mic2, B.List_q8u]), type$.JSArray_List_int);
    B.List_88p = A._setArrayType(makeConstList([B.List_gkc, B.List_03, B.List_C3E, B.List_swR, B.List_uQV, B.List_46y, B.List_yzJ0, B.List_yzJ]), type$.JSArray_List_List_int);
    B.List_MIe = A._setArrayType(makeConstList([B.List_uwP, B.List_Crw, B.List_QcX, B.List_88p]), type$.JSArray_List_List_List_int);
    B._RouteRestorationType_0 = new A._RouteRestorationType(0, "named");
    B._RouteRestorationType_1 = new A._RouteRestorationType(1, "anonymous");
    B.List_MYz = A._setArrayType(makeConstList([B._RouteRestorationType_0, B._RouteRestorationType_1]), A.findType("JSArray<_RouteRestorationType>"));
    B.MainAxisSize_0 = new A.MainAxisSize(0, "min");
    B.MainAxisSize_1 = new A.MainAxisSize(1, "max");
    B.List_MainAxisSize_0_MainAxisSize_1 = A._setArrayType(makeConstList([B.MainAxisSize_0, B.MainAxisSize_1]), A.findType("JSArray<MainAxisSize>"));
    B.List_MemoryUsage = A._setArrayType(makeConstList(["MemoryUsage"]), type$.JSArray_String);
    B.List_Message = A._setArrayType(makeConstList(["Message"]), type$.JSArray_String);
    B.Text_8aB = new A.Text("Click the take heap snapshot button ", null, null, null, null, null, null, null, null, null, null, null);
    B.Icon_JQp = new A.Icon(B.IconData_57647_MaterialIcons_false, null, null, null);
    B.Text_IYK = new A.Text(" to collect a graph of memory objects.", null, null, null, null, null, null, null, null, null, null, null);
    B.List_Mfs = A._setArrayType(makeConstList([B.Text_8aB, B.Icon_JQp, B.Text_IYK]), type$.JSArray_Widget);
    B.MainAxisAlignment_0 = new A.MainAxisAlignment(0, "start");
    B.MainAxisAlignment_1 = new A.MainAxisAlignment(1, "end");
    B.MainAxisAlignment_2 = new A.MainAxisAlignment(2, "center");
    B.MainAxisAlignment_3 = new A.MainAxisAlignment(3, "spaceBetween");
    B.MainAxisAlignment_4 = new A.MainAxisAlignment(4, "spaceAround");
    B.MainAxisAlignment_5 = new A.MainAxisAlignment(5, "spaceEvenly");
    B.List_MvE = A._setArrayType(makeConstList([B.MainAxisAlignment_0, B.MainAxisAlignment_1, B.MainAxisAlignment_2, B.MainAxisAlignment_3, B.MainAxisAlignment_4, B.MainAxisAlignment_5]), A.findType("JSArray<MainAxisAlignment>"));
    B.List_O9m2 = A._setArrayType(makeConstList([0.25, 0.75]), type$.JSArray_double);
    B.List_O9m0 = A._setArrayType(makeConstList([0.33, 0.67]), type$.JSArray_double);
    B.List_O9m1 = A._setArrayType(makeConstList([0.5, 0.5]), type$.JSArray_double);
    B.List_O9m = A._setArrayType(makeConstList([0.67, 0.33]), type$.JSArray_double);
    B.List_Obj = A._setArrayType(makeConstList(["Obj"]), type$.JSArray_String);
    B.List_ObjRef = A._setArrayType(makeConstList(["ObjRef"]), type$.JSArray_String);
    B.NodeType_0 = new A.NodeType(0, "packageNode");
    B.NodeType_1 = new A.NodeType(1, "libraryNode");
    B.NodeType_2 = new A.NodeType(2, "classNode");
    B.NodeType_3 = new A.NodeType(3, "functionNode");
    B.NodeType_4 = new A.NodeType(4, "other");
    B.List_Oho = A._setArrayType(makeConstList([B.NodeType_0, B.NodeType_1, B.NodeType_2, B.NodeType_3, B.NodeType_4]), A.findType("JSArray<NodeType>"));
    B.List_OpenFileRef = A._setArrayType(makeConstList(["OpenFileRef"]), type$.JSArray_String);
    B.List_PAk = A._setArrayType(makeConstList(["InstanceRef", "TypeArgumentsRef", "Sentinel"]), type$.JSArray_String);
    B.List_Parameter = A._setArrayType(makeConstList(["Parameter"]), type$.JSArray_String);
    B.List_PortList = A._setArrayType(makeConstList(["PortList"]), type$.JSArray_String);
    B.List_ProcessMemoryItem = A._setArrayType(makeConstList(["ProcessMemoryItem"]), type$.JSArray_String);
    B.List_ProcessMemoryUsage = A._setArrayType(makeConstList(["ProcessMemoryUsage"]), type$.JSArray_String);
    B.List_ProfileFunction = A._setArrayType(makeConstList(["ProfileFunction"]), type$.JSArray_String);
    B.List_Protocol = A._setArrayType(makeConstList(["Protocol"]), type$.JSArray_String);
    B.List_ProtocolList = A._setArrayType(makeConstList(["ProtocolList"]), type$.JSArray_String);
    B.List_Q1_Q2_Q3_Q4 = A._setArrayType(makeConstList(["Q1", "Q2", "Q3", "Q4"]), type$.JSArray_String);
    B.List_Qw3 = A._setArrayType(makeConstList([0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095]), type$.JSArray_int);
    B.List_ReloadReport = A._setArrayType(makeConstList(["ReloadReport"]), type$.JSArray_String);
    B.List_RetainingObject = A._setArrayType(makeConstList(["RetainingObject"]), type$.JSArray_String);
    B.List_RetainingPath = A._setArrayType(makeConstList(["RetainingPath"]), type$.JSArray_String);
    B.TextAlign_2 = new A.TextAlign(2, "center");
    B.Text_qIG = new A.Text("There are no app start up samples available.", null, null, B.TextAlign_2, null, null, null, null, null, null, null, null);
    B.SizedBox_null_8_null_null = new A.SizedBox(null, 8, null, null);
    B.Text_b1T = new A.Text("To avoid this, try to open the DevTools CPU profiler sooner after starting your app.", null, null, B.TextAlign_2, null, null, null, null, null, null, null, null);
    B.List_S0N = A._setArrayType(makeConstList([B.Text_qIG, B.SizedBox_null_8_null_null, B.Text_b1T]), type$.JSArray_Widget);
    B.List_2Vk1 = A._setArrayType(makeConstList([128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_gkc0 = A._setArrayType(makeConstList([B.List_2Vk1, B.List_2Vk1, B.List_2Vk1]), type$.JSArray_List_int);
    B.List_cdS = A._setArrayType(makeConstList([253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_app = A._setArrayType(makeConstList([189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128]), type$.JSArray_int);
    B.List_yFh = A._setArrayType(makeConstList([106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_y5k = A._setArrayType(makeConstList([B.List_cdS, B.List_app, B.List_yFh]), type$.JSArray_List_int);
    B.List_INA = A._setArrayType(makeConstList([1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_e4d = A._setArrayType(makeConstList([181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128]), type$.JSArray_int);
    B.List_app0 = A._setArrayType(makeConstList([78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]), type$.JSArray_int);
    B.List_iLh = A._setArrayType(makeConstList([B.List_INA, B.List_e4d, B.List_app0]), type$.JSArray_List_int);
    B.List_MOR = A._setArrayType(makeConstList([1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_iUw = A._setArrayType(makeConstList([184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_Eba = A._setArrayType(makeConstList([77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_VS7 = A._setArrayType(makeConstList([B.List_MOR, B.List_iUw, B.List_Eba]), type$.JSArray_List_int);
    B.List_MOR0 = A._setArrayType(makeConstList([1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_wnc = A._setArrayType(makeConstList([170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_XwU = A._setArrayType(makeConstList([37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_HTJ = A._setArrayType(makeConstList([B.List_MOR0, B.List_wnc, B.List_XwU]), type$.JSArray_List_int);
    B.List_1yC = A._setArrayType(makeConstList([1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_Eba0 = A._setArrayType(makeConstList([207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_iUw0 = A._setArrayType(makeConstList([102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_4QF = A._setArrayType(makeConstList([B.List_1yC, B.List_Eba0, B.List_iUw0]), type$.JSArray_List_int);
    B.List_uXo = A._setArrayType(makeConstList([1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_iUw1 = A._setArrayType(makeConstList([177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_Eba1 = A._setArrayType(makeConstList([80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_8Pu = A._setArrayType(makeConstList([B.List_uXo, B.List_iUw1, B.List_Eba1]), type$.JSArray_List_int);
    B.List_2hT = A._setArrayType(makeConstList([1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_2hT0 = A._setArrayType(makeConstList([246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_10r = A._setArrayType(makeConstList([255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_Snu = A._setArrayType(makeConstList([B.List_2hT, B.List_2hT0, B.List_10r]), type$.JSArray_List_int);
    B.List_23h0 = A._setArrayType(makeConstList([B.List_gkc0, B.List_y5k, B.List_iLh, B.List_VS7, B.List_HTJ, B.List_4QF, B.List_8Pu, B.List_Snu]), type$.JSArray_List_List_int);
    B.List_2hT1 = A._setArrayType(makeConstList([198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62]), type$.JSArray_int);
    B.List_2Vk2 = A._setArrayType(makeConstList([131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1]), type$.JSArray_int);
    B.List_kOG = A._setArrayType(makeConstList([68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]), type$.JSArray_int);
    B.List_BDr = A._setArrayType(makeConstList([B.List_2hT1, B.List_2Vk2, B.List_kOG]), type$.JSArray_List_int);
    B.List_qNA0 = A._setArrayType(makeConstList([1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_app1 = A._setArrayType(makeConstList([184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128]), type$.JSArray_int);
    B.List_kr3 = A._setArrayType(makeConstList([81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]), type$.JSArray_int);
    B.List_Hcu = A._setArrayType(makeConstList([B.List_qNA0, B.List_app1, B.List_kr3]), type$.JSArray_List_int);
    B.List_oqK = A._setArrayType(makeConstList([1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128]), type$.JSArray_int);
    B.List_e4d0 = A._setArrayType(makeConstList([99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128]), type$.JSArray_int);
    B.List_kr30 = A._setArrayType(makeConstList([23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]), type$.JSArray_int);
    B.List_zAX = A._setArrayType(makeConstList([B.List_oqK, B.List_e4d0, B.List_kr30]), type$.JSArray_List_int);
    B.List_uXo0 = A._setArrayType(makeConstList([1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_YAl = A._setArrayType(makeConstList([109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_INA0 = A._setArrayType(makeConstList([44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_QOg = A._setArrayType(makeConstList([B.List_uXo0, B.List_YAl, B.List_INA0]), type$.JSArray_List_int);
    B.List_niO = A._setArrayType(makeConstList([1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128]), type$.JSArray_int);
    B.List_INA1 = A._setArrayType(makeConstList([94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_app2 = A._setArrayType(makeConstList([22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]), type$.JSArray_int);
    B.List_i7r = A._setArrayType(makeConstList([B.List_niO, B.List_INA1, B.List_app2]), type$.JSArray_List_int);
    B.List_xw8 = A._setArrayType(makeConstList([1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_iUw2 = A._setArrayType(makeConstList([124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_app3 = A._setArrayType(makeConstList([35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]), type$.JSArray_int);
    B.List_sQ3 = A._setArrayType(makeConstList([B.List_xw8, B.List_iUw2, B.List_app3]), type$.JSArray_List_int);
    B.List_UkC = A._setArrayType(makeConstList([1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_qNA1 = A._setArrayType(makeConstList([121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_app4 = A._setArrayType(makeConstList([45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]), type$.JSArray_int);
    B.List_ACG = A._setArrayType(makeConstList([B.List_UkC, B.List_qNA1, B.List_app4]), type$.JSArray_List_int);
    B.List_xw80 = A._setArrayType(makeConstList([1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_e3N = A._setArrayType(makeConstList([203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_uXo1 = A._setArrayType(makeConstList([137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_UMT = A._setArrayType(makeConstList([B.List_xw80, B.List_e3N, B.List_uXo1]), type$.JSArray_List_int);
    B.List_IJC = A._setArrayType(makeConstList([B.List_BDr, B.List_Hcu, B.List_zAX, B.List_QOg, B.List_i7r, B.List_sQ3, B.List_ACG, B.List_UMT]), type$.JSArray_List_List_int);
    B.List_oyU0 = A._setArrayType(makeConstList([253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128]), type$.JSArray_int);
    B.List_fnl = A._setArrayType(makeConstList([175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128]), type$.JSArray_int);
    B.List_kOG0 = A._setArrayType(makeConstList([73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]), type$.JSArray_int);
    B.List_04 = A._setArrayType(makeConstList([B.List_oyU0, B.List_fnl, B.List_kOG0]), type$.JSArray_List_int);
    B.List_qNA2 = A._setArrayType(makeConstList([1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_qph = A._setArrayType(makeConstList([239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_yFh0 = A._setArrayType(makeConstList([155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_S0k = A._setArrayType(makeConstList([B.List_qNA2, B.List_qph, B.List_yFh0]), type$.JSArray_List_int);
    B.List_niO0 = A._setArrayType(makeConstList([1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128]), type$.JSArray_int);
    B.List_Eba2 = A._setArrayType(makeConstList([201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_app5 = A._setArrayType(makeConstList([69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]), type$.JSArray_int);
    B.List_gfn = A._setArrayType(makeConstList([B.List_niO0, B.List_Eba2, B.List_app5]), type$.JSArray_List_int);
    B.List_8eb = A._setArrayType(makeConstList([1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_xw81 = A._setArrayType(makeConstList([223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_e3N0 = A._setArrayType(makeConstList([141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_EJ0 = A._setArrayType(makeConstList([B.List_8eb, B.List_xw81, B.List_e3N0]), type$.JSArray_List_int);
    B.List_e3N1 = A._setArrayType(makeConstList([1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_uXo2 = A._setArrayType(makeConstList([190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_2hT2 = A._setArrayType(makeConstList([149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_WtZ = A._setArrayType(makeConstList([B.List_e3N1, B.List_uXo2, B.List_2hT2]), type$.JSArray_List_int);
    B.List_2hT3 = A._setArrayType(makeConstList([1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_Jio = A._setArrayType(makeConstList([247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_2hT4 = A._setArrayType(makeConstList([240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_wsa0 = A._setArrayType(makeConstList([B.List_2hT3, B.List_Jio, B.List_2hT4]), type$.JSArray_List_int);
    B.List_e3N2 = A._setArrayType(makeConstList([1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_e3N3 = A._setArrayType(makeConstList([213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_2hT5 = A._setArrayType(makeConstList([55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_OBP = A._setArrayType(makeConstList([B.List_e3N2, B.List_e3N3, B.List_2hT5]), type$.JSArray_List_int);
    B.List_Net = A._setArrayType(makeConstList([B.List_04, B.List_S0k, B.List_gfn, B.List_EJ0, B.List_WtZ, B.List_wsa0, B.List_OBP, B.List_gkc0]), type$.JSArray_List_List_int);
    B.List_ZEx = A._setArrayType(makeConstList([202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255]), type$.JSArray_int);
    B.List_kOG1 = A._setArrayType(makeConstList([126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128]), type$.JSArray_int);
    B.List_kOG2 = A._setArrayType(makeConstList([61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]), type$.JSArray_int);
    B.List_wsa1 = A._setArrayType(makeConstList([B.List_ZEx, B.List_kOG1, B.List_kOG2]), type$.JSArray_List_int);
    B.List_kr31 = A._setArrayType(makeConstList([1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128]), type$.JSArray_int);
    B.List_e4d1 = A._setArrayType(makeConstList([166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128]), type$.JSArray_int);
    B.List_kr32 = A._setArrayType(makeConstList([39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]), type$.JSArray_int);
    B.List_UaZ = A._setArrayType(makeConstList([B.List_kr31, B.List_e4d1, B.List_kr32]), type$.JSArray_List_int);
    B.List_kr33 = A._setArrayType(makeConstList([1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128]), type$.JSArray_int);
    B.List_oqK0 = A._setArrayType(makeConstList([124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128]), type$.JSArray_int);
    B.List_kr34 = A._setArrayType(makeConstList([24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]), type$.JSArray_int);
    B.List_i09 = A._setArrayType(makeConstList([B.List_kr33, B.List_oqK0, B.List_kr34]), type$.JSArray_List_int);
    B.List_app6 = A._setArrayType(makeConstList([1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128]), type$.JSArray_int);
    B.List_e4d2 = A._setArrayType(makeConstList([149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128]), type$.JSArray_int);
    B.List_XT3 = A._setArrayType(makeConstList([28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]), type$.JSArray_int);
    B.List_OIF = A._setArrayType(makeConstList([B.List_app6, B.List_e4d2, B.List_XT3]), type$.JSArray_List_int);
    B.List_e4d3 = A._setArrayType(makeConstList([1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128]), type$.JSArray_int);
    B.List_INA2 = A._setArrayType(makeConstList([123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128]), type$.JSArray_int);
    B.List_app7 = A._setArrayType(makeConstList([20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]), type$.JSArray_int);
    B.List_CKI = A._setArrayType(makeConstList([B.List_e4d3, B.List_INA2, B.List_app7]), type$.JSArray_List_int);
    B.List_Eba3 = A._setArrayType(makeConstList([1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_IVU = A._setArrayType(makeConstList([168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_INA3 = A._setArrayType(makeConstList([47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_SnA = A._setArrayType(makeConstList([B.List_Eba3, B.List_IVU, B.List_INA3]), type$.JSArray_List_int);
    B.List_INA4 = A._setArrayType(makeConstList([1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128]), type$.JSArray_int);
    B.List_e4d4 = A._setArrayType(makeConstList([141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128]), type$.JSArray_int);
    B.List_e4d5 = A._setArrayType(makeConstList([42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]), type$.JSArray_int);
    B.List_xw82 = A._setArrayType(makeConstList([B.List_INA4, B.List_e4d4, B.List_e4d5]), type$.JSArray_List_int);
    B.List_2hT6 = A._setArrayType(makeConstList([244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_2hT7 = A._setArrayType(makeConstList([238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]), type$.JSArray_int);
    B.List_Q1p0 = A._setArrayType(makeConstList([B.List_2hT, B.List_2hT6, B.List_2hT7]), type$.JSArray_List_int);
    B.List_uLM = A._setArrayType(makeConstList([B.List_wsa1, B.List_UaZ, B.List_i09, B.List_OIF, B.List_CKI, B.List_SnA, B.List_xw82, B.List_Q1p0]), type$.JSArray_List_List_int);
    B.List_S8N = A._setArrayType(makeConstList([B.List_23h0, B.List_IJC, B.List_Net, B.List_uLM]), type$.JSArray_List_List_List_int);
    B.Offset_1_0 = new A.Offset(1, 0);
    B.Offset_1_1 = new A.Offset(1, 1);
    B.Offset_0_1 = new A.Offset(0, 1);
    B.Offset_m1_1 = new A.Offset(-1, 1);
    B.Offset_m1_0 = new A.Offset(-1, 0);
    B.Offset_m1_m1 = new A.Offset(-1, -1);
    B.Offset_0_m1 = new A.Offset(0, -1);
    B.Offset_1_m1 = new A.Offset(1, -1);
    B.List_SbI = A._setArrayType(makeConstList([B.Offset_1_0, B.Offset_1_1, B.Offset_0_1, B.Offset_m1_1, B.Offset_m1_0, B.Offset_m1_m1, B.Offset_0_m1, B.Offset_1_m1]), type$.JSArray_Offset);
    B.List_ScriptList = A._setArrayType(makeConstList(["ScriptList"]), type$.JSArray_String);
    B.List_ScriptRef = A._setArrayType(makeConstList(["ScriptRef"]), type$.JSArray_String);
    B.List_SocketStatistic = A._setArrayType(makeConstList(["SocketStatistic"]), type$.JSArray_String);
    B.List_SourceLocation = A._setArrayType(makeConstList(["SourceLocation"]), type$.JSArray_String);
    B.List_SourceReport = A._setArrayType(makeConstList(["SourceReport"]), type$.JSArray_String);
    B.List_SourceReportCoverage = A._setArrayType(makeConstList(["SourceReportCoverage"]), type$.JSArray_String);
    B.List_SpawnedProcessRef = A._setArrayType(makeConstList(["SpawnedProcessRef"]), type$.JSArray_String);
    B.List_Stack = A._setArrayType(makeConstList(["Stack"]), type$.JSArray_String);
    B.List_String = A._setArrayType(makeConstList(["String"]), type$.JSArray_String);
    B.List_Success = A._setArrayType(makeConstList(["Success"]), type$.JSArray_String);
    B.List_Success_Error = A._setArrayType(makeConstList(["Success", "Error"]), type$.JSArray_String);
    B.TextAffinity_0 = new A.TextAffinity(0, "upstream");
    B.List_TextAffinity_0_TextAffinity_1 = A._setArrayType(makeConstList([B.TextAffinity_0, B.TextAffinity_1]), A.findType("JSArray<TextAffinity>"));
    B.TextBaseline_0 = new A.TextBaseline(0, "alphabetic");
    B.TextBaseline_1 = new A.TextBaseline(1, "ideographic");
    B.List_TextBaseline_0_TextBaseline_1 = A._setArrayType(makeConstList([B.TextBaseline_0, B.TextBaseline_1]), A.findType("JSArray<TextBaseline>"));
    B.TextDirection_0 = new A.TextDirection(0, "rtl");
    B.TextDirection_1 = new A.TextDirection(1, "ltr");
    B.List_TextDirection_0_TextDirection_1 = A._setArrayType(makeConstList([B.TextDirection_0, B.TextDirection_1]), A.findType("JSArray<TextDirection>"));
    B.List_Timeline = A._setArrayType(makeConstList(["Timeline"]), type$.JSArray_String);
    B.List_TimelineEvent = A._setArrayType(makeConstList(["TimelineEvent"]), type$.JSArray_String);
    B.List_TimelineFlags = A._setArrayType(makeConstList(["TimelineFlags"]), type$.JSArray_String);
    B.List_Timestamp = A._setArrayType(makeConstList(["Timestamp"]), type$.JSArray_String);
    B.List_TypeArgumentsRef = A._setArrayType(makeConstList(["TypeArgumentsRef"]), type$.JSArray_String);
    B.List_UI5 = A._setArrayType(makeConstList(["jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"]), type$.JSArray_dynamic);
    B.Color_855638016 = new A.Color(855638016);
    B.Offset_0_2 = new A.Offset(0, 2);
    B.BoxShadow_HZc = new A.BoxShadow(-1, B.BlurStyle_0, B.Color_855638016, B.Offset_0_2, 1);
    B.Color_603979776 = new A.Color(603979776);
    B.BoxShadow_oyn = new A.BoxShadow(0, B.BlurStyle_0, B.Color_603979776, B.Offset_0_1, 1);
    B.BoxShadow_oyn0 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_520093696, B.Offset_0_1, 3);
    B.List_UOM = A._setArrayType(makeConstList([B.BoxShadow_HZc, B.BoxShadow_oyn, B.BoxShadow_oyn0]), type$.JSArray_BoxShadow);
    B._DecorationSlot_0 = new A._DecorationSlot(0, "icon");
    B._DecorationSlot_1 = new A._DecorationSlot(1, "input");
    B._DecorationSlot_2 = new A._DecorationSlot(2, "label");
    B._DecorationSlot_3 = new A._DecorationSlot(3, "hint");
    B._DecorationSlot_4 = new A._DecorationSlot(4, "prefix");
    B._DecorationSlot_5 = new A._DecorationSlot(5, "suffix");
    B._DecorationSlot_6 = new A._DecorationSlot(6, "prefixIcon");
    B._DecorationSlot_7 = new A._DecorationSlot(7, "suffixIcon");
    B._DecorationSlot_8 = new A._DecorationSlot(8, "helperError");
    B._DecorationSlot_9 = new A._DecorationSlot(9, "counter");
    B._DecorationSlot_10 = new A._DecorationSlot(10, "container");
    B.List_UUO = A._setArrayType(makeConstList([B._DecorationSlot_0, B._DecorationSlot_1, B._DecorationSlot_2, B._DecorationSlot_3, B._DecorationSlot_4, B._DecorationSlot_5, B._DecorationSlot_6, B._DecorationSlot_7, B._DecorationSlot_8, B._DecorationSlot_9, B._DecorationSlot_10]), A.findType("JSArray<_DecorationSlot>"));
    B.List_UVg = A._setArrayType(makeConstList([B.LineCharProperty_0, B.LineCharProperty_1, B.LineCharProperty_2, B.LineCharProperty_3, B.LineCharProperty_4, B.LineCharProperty_5, B.LineCharProperty_6, B.LineCharProperty_7, B.LineCharProperty_8, B.LineCharProperty_9, B.LineCharProperty_10, B.LineCharProperty_11, B.LineCharProperty_12, B.LineCharProperty_13, B.LineCharProperty_14, B.LineCharProperty_15, B.LineCharProperty_16, B.LineCharProperty_17, B.LineCharProperty_18, B.LineCharProperty_19, B.LineCharProperty_20, B.LineCharProperty_21, B.LineCharProperty_22, B.LineCharProperty_23, B.LineCharProperty_24, B.LineCharProperty_25, B.LineCharProperty_26, B.LineCharProperty_27, B.LineCharProperty_28, B.LineCharProperty_29, B.LineCharProperty_30, B.LineCharProperty_31, B.LineCharProperty_32, B.LineCharProperty_33, B.LineCharProperty_34, B.LineCharProperty_35, B.LineCharProperty_36]), A.findType("JSArray<LineCharProperty>"));
    B.TimelineEventType_0 = new A.TimelineEventType(0, "ui");
    B.TimelineEventType_1 = new A.TimelineEventType(1, "raster");
    B.TimelineEventType_2 = new A.TimelineEventType(2, "async");
    B.TimelineEventType_3 = new A.TimelineEventType(3, "other");
    B.List_UWS = A._setArrayType(makeConstList([B.TimelineEventType_0, B.TimelineEventType_1, B.TimelineEventType_2, B.TimelineEventType_3]), A.findType("JSArray<TimelineEventType>"));
    B.List_UriList = A._setArrayType(makeConstList(["UriList"]), type$.JSArray_String);
    B.List_VM = A._setArrayType(makeConstList(["VM"]), type$.JSArray_String);
    B.List_VMRef = A._setArrayType(makeConstList(["VMRef"]), type$.JSArray_String);
    B.List_VSP = A._setArrayType(makeConstList([6430, 6400, 6400, 6400, 3225, 3225, 3225, 3225, 944, 944, 944, 944, 976, 976, 976, 976, 1456, 1456, 1456, 1456, 1488, 1488, 1488, 1488, 718, 718, 718, 718, 718, 718, 718, 718, 750, 750, 750, 750, 750, 750, 750, 750, 1520, 1520, 1520, 1520, 1552, 1552, 1552, 1552, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 428, 654, 654, 654, 654, 654, 654, 654, 654, 1072, 1072, 1072, 1072, 1104, 1104, 1104, 1104, 1136, 1136, 1136, 1136, 1168, 1168, 1168, 1168, 1200, 1200, 1200, 1200, 1232, 1232, 1232, 1232, 622, 622, 622, 622, 622, 622, 622, 622, 1008, 1008, 1008, 1008, 1040, 1040, 1040, 1040, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, 1712, 1712, 1712, 1712, 1744, 1744, 1744, 1744, 846, 846, 846, 846, 846, 846, 846, 846, 1264, 1264, 1264, 1264, 1296, 1296, 1296, 1296, 1328, 1328, 1328, 1328, 1360, 1360, 1360, 1360, 1392, 1392, 1392, 1392, 1424, 1424, 1424, 1424, 686, 686, 686, 686, 686, 686, 686, 686, 910, 910, 910, 910, 910, 910, 910, 910, 1968, 1968, 1968, 1968, 2000, 2000, 2000, 2000, 2032, 2032, 2032, 2032, 16, 16, 16, 16, 10257, 10257, 10257, 10257, 12305, 12305, 12305, 12305, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 330, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 362, 878, 878, 878, 878, 878, 878, 878, 878, 1904, 1904, 1904, 1904, 1936, 1936, 1936, 1936, -18413, -18413, -16365, -16365, -14317, -14317, -10221, -10221, 590, 590, 590, 590, 590, 590, 590, 590, 782, 782, 782, 782, 782, 782, 782, 782, 1584, 1584, 1584, 1584, 1616, 1616, 1616, 1616, 1648, 1648, 1648, 1648, 1680, 1680, 1680, 1680, 814, 814, 814, 814, 814, 814, 814, 814, 1776, 1776, 1776, 1776, 1808, 1808, 1808, 1808, 1840, 1840, 1840, 1840, 1872, 1872, 1872, 1872, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, 6157, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, -12275, 14353, 14353, 14353, 14353, 16401, 16401, 16401, 16401, 22547, 22547, 24595, 24595, 20497, 20497, 20497, 20497, 18449, 18449, 18449, 18449, 26643, 26643, 28691, 28691, 30739, 30739, -32749, -32749, -30701, -30701, -28653, -28653, -26605, -26605, -24557, -24557, -22509, -22509, -20461, -20461, 8207, 8207, 8207, 8207, 8207, 8207, 8207, 8207, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 4107, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 266, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 298, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 556, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 136, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 460, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 492, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 2059, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232]), type$.JSArray_int);
    B.List_Version = A._setArrayType(makeConstList(["Version"]), type$.JSArray_String);
    B.List_VvJ = A._setArrayType(makeConstList([0, -128, 64, -64, 32, -96, 96, -32, 16, -112, 80, -48, 48, -80, 112, -16, 8, -120, 72, -56, 40, -88, 104, -24, 24, -104, 88, -40, 56, -72, 120, -8, 4, -124, 68, -60, 36, -92, 100, -28, 20, -108, 84, -44, 52, -76, 116, -12, 12, -116, 76, -52, 44, -84, 108, -20, 28, -100, 92, -36, 60, -68, 124, -4, 2, -126, 66, -62, 34, -94, 98, -30, 18, -110, 82, -46, 50, -78, 114, -14, 10, -118, 74, -54, 42, -86, 106, -22, 26, -102, 90, -38, 58, -70, 122, -6, 6, -122, 70, -58, 38, -90, 102, -26, 22, -106, 86, -42, 54, -74, 118, -10, 14, -114, 78, -50, 46, -82, 110, -18, 30, -98, 94, -34, 62, -66, 126, -2, 1, -127, 65, -63, 33, -95, 97, -31, 17, -111, 81, -47, 49, -79, 113, -15, 9, -119, 73, -55, 41, -87, 105, -23, 25, -103, 89, -39, 57, -71, 121, -7, 5, -123, 69, -59, 37, -91, 101, -27, 21, -107, 85, -43, 53, -75, 117, -11, 13, -115, 77, -51, 45, -83, 109, -19, 29, -99, 93, -35, 61, -67, 125, -3, 3, -125, 67, -61, 35, -93, 99, -29, 19, -109, 83, -45, 51, -77, 115, -13, 11, -117, 75, -53, 43, -85, 107, -21, 27, -101, 91, -37, 59, -69, 123, -5, 7, -121, 71, -57, 39, -89, 103, -25, 23, -105, 87, -41, 55, -73, 119, -9, 15, -113, 79, -49, 47, -81, 111, -17, 31, -97, 95, -33, 63, -65, 127, -1]), type$.JSArray_int);
    B.List_X3d0 = A._setArrayType(makeConstList([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]), type$.JSArray_int);
    B.List_X3d = A._setArrayType(makeConstList([5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5]), type$.JSArray_int);
    B.List_Y3m = A._setArrayType(makeConstList([-0.0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9]), type$.JSArray_int);
    B.Text_EOY = new A.Text("Providers", null, null, null, null, null, null, null, null, null, null, null);
    B.AreaPaneHeader_1I7 = new A.AreaPaneHeader(B.Text_EOY, 1, false, true, false, B.List_empty17, 4, null);
    B.ProviderList_null = new A.ProviderList(null);
    B.Expanded_ckn = new A.Expanded(1, B.FlexFit_0, B.ProviderList_null, null);
    B.List_YiR = A._setArrayType(makeConstList([B.AreaPaneHeader_1I7, B.Expanded_ckn]), type$.JSArray_Widget);
    B.List_a1A = A._setArrayType(makeConstList([0.4, 0.4, 0.2]), type$.JSArray_double);
    B.List_atK = A._setArrayType(makeConstList(["p", "h1", "h2", "h3", "h4", "h5", "h6", "li", "blockquote", "pre", "ol", "ul", "hr", "table", "thead", "tbody", "tr"]), type$.JSArray_String);
    B.List_bG2 = A._setArrayType(makeConstList(["pointerdown", "pointermove", "pointerleave", "pointerup", "pointercancel", "touchstart", "touchend", "touchmove", "touchcancel", "mousedown", "mousemove", "mouseleave", "mouseup", "keyup", "keydown"]), type$.JSArray_String);
    B.List_bJM = A._setArrayType(makeConstList(["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]), type$.JSArray_String);
    B.List_cGl1 = A._setArrayType(makeConstList([0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15]), type$.JSArray_int);
    B.List_cGl0 = A._setArrayType(makeConstList([0, 4, 8, 12, 128, 132, 136, 140, 256, 260, 264, 268, 384, 388, 392, 396]), type$.JSArray_int);
    B.List_cGl = A._setArrayType(makeConstList([0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]), type$.JSArray_int);
    B.List_cIc = A._setArrayType(makeConstList(["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]), type$.JSArray_String);
    B.List_cUH = A._setArrayType(makeConstList(["variable.name.source.dart", "variable.other.source.dart", "variable.parameter.dart"]), type$.JSArray_String);
    B.Text_eJj = new A.Text("Select an instance of a tracked class", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_WDp = new A.Text("to view its allocation stack trace.", null, null, null, null, null, null, null, null, null, null, null);
    B.List_cg9 = A._setArrayType(makeConstList([B.Text_eJj, B.Text_WDp]), type$.JSArray_Widget);
    B.List_ckG = A._setArrayType(makeConstList([0.3, 0.7]), type$.JSArray_double);
    B.List_click_scroll = A._setArrayType(makeConstList(["click", "scroll"]), type$.JSArray_String);
    B.List_dynamic = A._setArrayType(makeConstList(["dynamic"]), type$.JSArray_String);
    B.List_eea = A._setArrayType(makeConstList([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, 0, 0]), type$.JSArray_int);
    B.List_ek3 = A._setArrayType(makeConstList([0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0]), type$.JSArray_double);
    B.List_empty30 = A._setArrayType(makeConstList([]), type$.JSArray_CallGraphNode);
    B.List_empty4 = A._setArrayType(makeConstList([]), type$.JSArray_CkCanvas);
    B.List_empty6 = A._setArrayType(makeConstList([]), type$.JSArray_CodeunitRange);
    B.List_empty18 = A._setArrayType(makeConstList([]), type$.JSArray_ConsoleLine);
    B.List_empty15 = A._setArrayType(makeConstList([]), A.findType("JSArray<CustomPainterSemantics>"));
    B.List_empty20 = A._setArrayType(makeConstList([]), type$.JSArray_DartObjectNode);
    B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_DiagnosticsNode);
    B.List_empty26 = A._setArrayType(makeConstList([]), type$.JSArray_Element);
    B.List_empty22 = A._setArrayType(makeConstList([]), type$.JSArray_InheritedTheme);
    B.List_empty31 = A._setArrayType(makeConstList([]), type$.JSArray_IsolateRef);
    B.List_empty32 = A._setArrayType(makeConstList([]), type$.JSArray_Locale);
    B.List_empty14 = A._setArrayType(makeConstList([]), type$.JSArray_NavigatorObserver);
    B.List_empty29 = A._setArrayType(makeConstList([]), type$.JSArray_NetworkRequest);
    B.List_empty13 = A._setArrayType(makeConstList([]), type$.JSArray_Object);
    B.List_empty12 = A._setArrayType(makeConstList([]), type$.JSArray_OverlayEntry);
    B.List_empty9 = A._setArrayType(makeConstList([]), A.findType("JSArray<Override>"));
    B.List_empty10 = A._setArrayType(makeConstList([]), type$.JSArray_Page_dynamic);
    B.List_empty27 = A._setArrayType(makeConstList([]), type$.JSArray_PathToProperty);
    B.List_empty21 = A._setArrayType(makeConstList([]), type$.JSArray_Range);
    B.List_empty19 = A._setArrayType(makeConstList([]), type$.JSArray_RemoteDiagnosticsNode);
    B.List_empty16 = A._setArrayType(makeConstList([]), type$.JSArray_Selectable);
    B.List_empty3 = A._setArrayType(makeConstList([]), type$.JSArray_SemanticsNode);
    B.List_empty33 = A._setArrayType(makeConstList([]), type$.JSArray_TableRow);
    B.List_empty7 = A._setArrayType(makeConstList([]), type$.JSArray_TextBox);
    B.List_empty8 = A._setArrayType(makeConstList([]), type$.JSArray_TextSelectionPoint);
    B.List_empty34 = A._setArrayType(makeConstList([]), type$.JSArray_TreemapNode);
    B.List_empty25 = A._setArrayType(makeConstList([]), type$.JSArray__TableElementRow);
    B.List_empty24 = A._setArrayType(makeConstList([]), type$.JSArray_double);
    B.List_empty5 = A._setArrayType(makeConstList([]), type$.JSArray_int);
    B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_dynamic);
    B.List_empty23 = A._setArrayType(makeConstList([]), type$.JSArray_nullable_RenderBox);
    B.List_empty28 = A._setArrayType(makeConstList([]), type$.JSArray_nullable_Widget);
    B.List_gRj = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_gc6 = A._setArrayType(makeConstList(["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]), type$.JSArray_String);
    B.List_gnE = A._setArrayType(makeConstList([0, 0, 65498, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_h8w = A._setArrayType(makeConstList(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]), type$.JSArray_String);
    B.List_h8w0 = A._setArrayType(makeConstList(["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]), type$.JSArray_dynamic);
    B.List_i3t = A._setArrayType(makeConstList([1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]), type$.JSArray_int);
    B.Color_4294966759 = new A.Color(4294966759);
    B.Color_4294965700 = new A.Color(4294965700);
    B.Color_4294964637 = new A.Color(4294964637);
    B.Color_4294963574 = new A.Color(4294963574);
    B.Color_4294962776 = new A.Color(4294962776);
    B.Color_4294961979 = new A.Color(4294961979);
    B.Color_4294826037 = new A.Color(4294826037);
    B.Color_4294688813 = new A.Color(4294688813);
    B.Color_4294551589 = new A.Color(4294551589);
    B.Color_4294278935 = new A.Color(4294278935);
    B.Map_JNHRl = new A.GeneralConstantMap([50, B.Color_4294966759, 100, B.Color_4294965700, 200, B.Color_4294964637, 300, B.Color_4294963574, 400, B.Color_4294962776, 500, B.Color_4294961979, 600, B.Color_4294826037, 700, B.Color_4294688813, 800, B.Color_4294551589, 900, B.Color_4294278935], type$.GeneralConstantMap_int_Color);
    B.MaterialColor_Map_JNHRl_4294961979 = new A.MaterialColor(B.Map_JNHRl, 4294961979);
    B.List_itQ = A._setArrayType(makeConstList([B.MaterialColor_Map_JNHRl_4294961979, B.Color_4281097642, B.Color_4286630852]), type$.JSArray_Color);
    B.List_json = A._setArrayType(makeConstList(["json"]), type$.JSArray_String);
    B.Text_E1h = new A.Text("or connect with us on ", null, null, null, null, null, null, null, null, null, null, null);
    B._DiscordLink_null = new A._DiscordLink(null);
    B.Text_8aB0 = new A.Text(".", null, null, null, null, null, null, null, null, null, null, null);
    B.List_kaS = A._setArrayType(makeConstList([B.Text_E1h, B._DiscordLink_null, B.Text_8aB0]), type$.JSArray_Widget);
    B.List_knt = A._setArrayType(makeConstList([0, 1, 3, 7, 15, 31, 63, 127, 255]), type$.JSArray_int);
    B.List_knt0 = A._setArrayType(makeConstList([0, 128, 192, 224, 240, 248, 252, 254, 255]), type$.JSArray_int);
    B.DiagnosticLevel_8 = new A.DiagnosticLevel(8, "off");
    B.List_kyU = A._setArrayType(makeConstList([B.DiagnosticLevel_0, B.DiagnosticLevel_1, B.DiagnosticLevel_2, B.DiagnosticLevel_3, B.DiagnosticLevel_4, B.DiagnosticLevel_5, B.DiagnosticLevel_6, B.DiagnosticLevel_7, B.DiagnosticLevel_8]), A.findType("JSArray<DiagnosticLevel>"));
    B.List_mC8 = A._setArrayType(makeConstList([0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8]), type$.JSArray_int);
    B._ListTileSlot_0 = new A._ListTileSlot(0, "leading");
    B._ListTileSlot_1 = new A._ListTileSlot(1, "title");
    B._ListTileSlot_2 = new A._ListTileSlot(2, "subtitle");
    B._ListTileSlot_3 = new A._ListTileSlot(3, "trailing");
    B.List_ml5 = A._setArrayType(makeConstList([B._ListTileSlot_0, B._ListTileSlot_1, B._ListTileSlot_2, B._ListTileSlot_3]), A.findType("JSArray<_ListTileSlot>"));
    B.List_nLG = A._setArrayType(makeConstList([62, 62, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 3225, 588, 588, 588, 588, 588, 588, 588, 588, 1680, 1680, 20499, 22547, 24595, 26643, 1776, 1776, 1808, 1808, -24557, -22509, -20461, -18413, 1904, 1904, 1936, 1936, -16365, -14317, 782, 782, 782, 782, 814, 814, 814, 814, -12269, -10221, 10257, 10257, 12305, 12305, 14353, 14353, 16403, 18451, 1712, 1712, 1744, 1744, 28691, 30739, -32749, -30701, -28653, -26605, 2061, 2061, 2061, 2061, 2061, 2061, 2061, 2061, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 750, 750, 750, 750, 1616, 1616, 1648, 1648, 1424, 1424, 1456, 1456, 1488, 1488, 1520, 1520, 1840, 1840, 1872, 1872, 1968, 1968, 8209, 8209, 524, 524, 524, 524, 524, 524, 524, 524, 556, 556, 556, 556, 556, 556, 556, 556, 1552, 1552, 1584, 1584, 2000, 2000, 2032, 2032, 976, 976, 1008, 1008, 1040, 1040, 1072, 1072, 1296, 1296, 1328, 1328, 718, 718, 718, 718, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 456, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 326, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 490, 4113, 4113, 6161, 6161, 848, 848, 880, 880, 912, 912, 944, 944, 622, 622, 622, 622, 654, 654, 654, 654, 1104, 1104, 1136, 1136, 1168, 1168, 1200, 1200, 1232, 1232, 1264, 1264, 686, 686, 686, 686, 1360, 1360, 1392, 1392, 12, 12, 12, 12, 12, 12, 12, 12, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390, 390]), type$.JSArray_int);
    B.List_nxB = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int);
    B.Text_46y = new A.Text("Click the stop button ", null, null, null, null, null, null, null, null, null, null, null);
    B.Icon_f1Q0 = new A.Icon(B.IconData_58886_MaterialIcons_false, null, null, null);
    B.Text_axY = new A.Text(" to end the recording.", null, null, null, null, null, null, null, null, null, null, null);
    B.List_o2l = A._setArrayType(makeConstList([B.Text_46y, B.Icon_f1Q0, B.Text_axY]), type$.JSArray_Widget);
    B.Text_Lpb = new A.Text("<unknown error>", null, null, null, null, null, null, null, null, null, null, null);
    B.List_oVV = A._setArrayType(makeConstList([B.Text_Lpb]), type$.JSArray_Widget);
    B.List_oqh = A._setArrayType(makeConstList(["SourceLocation", "UnresolvedSourceLocation"]), type$.JSArray_String);
    B._CornerId_0 = new A._CornerId(0, "topLeft");
    B._CornerId_3 = new A._CornerId(3, "bottomRight");
    B._Diagonal__CornerId_0__CornerId_3 = new A._Diagonal(B._CornerId_0, B._CornerId_3);
    B._Diagonal__CornerId_3__CornerId_0 = new A._Diagonal(B._CornerId_3, B._CornerId_0);
    B._CornerId_1 = new A._CornerId(1, "topRight");
    B._CornerId_2 = new A._CornerId(2, "bottomLeft");
    B._Diagonal__CornerId_1__CornerId_2 = new A._Diagonal(B._CornerId_1, B._CornerId_2);
    B._Diagonal__CornerId_2__CornerId_1 = new A._Diagonal(B._CornerId_2, B._CornerId_1);
    B.List_oyU = A._setArrayType(makeConstList([B._Diagonal__CornerId_0__CornerId_3, B._Diagonal__CornerId_3__CornerId_0, B._Diagonal__CornerId_1__CornerId_2, B._Diagonal__CornerId_2__CornerId_1]), A.findType("JSArray<_Diagonal>"));
    B.List_qFt = A._setArrayType(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), type$.JSArray_int);
    B.List_qFu = A._setArrayType(makeConstList([0.8, 0.2]), type$.JSArray_double);
    B.List_qNA = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_qQn = A._setArrayType(makeConstList([3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258]), type$.JSArray_int);
    B.List_qg40 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_qg4 = A._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int);
    B.List_2Vk3 = A._setArrayType(makeConstList([137, 80, 78, 71, 13, 10, 26, 10]), type$.JSArray_nullable_int);
    B.ImageFileFormat_iDT = new A.ImageFileFormat(B.List_2Vk3, "image/png");
    B.List_ww8 = A._setArrayType(makeConstList([71, 73, 70, 56, 55, 97]), type$.JSArray_nullable_int);
    B.ImageFileFormat_fL6 = new A.ImageFileFormat(B.List_ww8, "image/gif");
    B.List_ww80 = A._setArrayType(makeConstList([71, 73, 70, 56, 57, 97]), type$.JSArray_nullable_int);
    B.ImageFileFormat_fL60 = new A.ImageFileFormat(B.List_ww80, "image/gif");
    B.List_255_216_255 = A._setArrayType(makeConstList([255, 216, 255]), type$.JSArray_nullable_int);
    B.ImageFileFormat_34s = new A.ImageFileFormat(B.List_255_216_255, "image/jpeg");
    B.List_UiL = A._setArrayType(makeConstList([82, 73, 70, 70, null, null, null, null, 87, 69, 66, 80]), type$.JSArray_nullable_int);
    B.ImageFileFormat_CZk = new A.ImageFileFormat(B.List_UiL, "image/webp");
    B.List_66_77 = A._setArrayType(makeConstList([66, 77]), type$.JSArray_nullable_int);
    B.ImageFileFormat_23h = new A.ImageFileFormat(B.List_66_77, "image/bmp");
    B.List_qp8 = A._setArrayType(makeConstList([B.ImageFileFormat_iDT, B.ImageFileFormat_fL6, B.ImageFileFormat_fL60, B.ImageFileFormat_34s, B.ImageFileFormat_CZk, B.ImageFileFormat_23h]), A.findType("JSArray<ImageFileFormat>"));
    B.List_qpm = A._setArrayType(makeConstList(["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"]), type$.JSArray_String);
    B.TextAlign_0 = new A.TextAlign(0, "left");
    B.TextAlign_1 = new A.TextAlign(1, "right");
    B.TextAlign_3 = new A.TextAlign(3, "justify");
    B.TextAlign_4 = new A.TextAlign(4, "start");
    B.TextAlign_5 = new A.TextAlign(5, "end");
    B.List_s2p = A._setArrayType(makeConstList([B.TextAlign_0, B.TextAlign_1, B.TextAlign_2, B.TextAlign_3, B.TextAlign_4, B.TextAlign_5]), A.findType("JSArray<TextAlign>"));
    B.Text_qOf = new A.Text("Encountered an issue? Let us know at ", null, null, null, null, null, null, null, null, null, null, null);
    B._FeedbackLink_null = new A._FeedbackLink(null);
    B.Text_MYE = new A.Text(",", null, null, null, null, null, null, null, null, null, null, null);
    B.List_s8I = A._setArrayType(makeConstList([B.Text_qOf, B._FeedbackLink_null, B.Text_MYE]), type$.JSArray_Widget);
    B.Duration_60000000 = new A.Duration(60000000);
    B.Duration_300000000 = new A.Duration(300000000);
    B.Duration_600000000 = new A.Duration(600000000);
    B.List_sLJ = A._setArrayType(makeConstList([B.Duration_0, B.Duration_60000000, B.Duration_300000000, B.Duration_600000000, null]), A.findType("JSArray<Duration?>"));
    B.List_173_148_140 = A._setArrayType(makeConstList([173, 148, 140]), type$.JSArray_int);
    B.List_176_155_140_135 = A._setArrayType(makeConstList([176, 155, 140, 135]), type$.JSArray_int);
    B.List_yTu0 = A._setArrayType(makeConstList([180, 157, 141, 134, 130]), type$.JSArray_int);
    B.List_2hT8 = A._setArrayType(makeConstList([254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129]), type$.JSArray_int);
    B.List_sao = A._setArrayType(makeConstList([B.List_173_148_140, B.List_176_155_140_135, B.List_yTu0, B.List_2hT8]), type$.JSArray_List_int);
    B.List_sty = A._setArrayType(makeConstList([A.vp8_filter_VP8Filter_DC4$closure(), A.vp8_filter_VP8Filter_TM4$closure(), A.vp8_filter_VP8Filter_VE4$closure(), A.vp8_filter_VP8Filter_HE4$closure(), A.vp8_filter_VP8Filter_RD4$closure(), A.vp8_filter_VP8Filter_VR4$closure(), A.vp8_filter_VP8Filter_LD4$closure(), A.vp8_filter_VP8Filter_VL4$closure(), A.vp8_filter_VP8Filter_HD4$closure(), A.vp8_filter_VP8Filter_HU4$closure()]), type$.JSArray_of_void_Function_InputBuffer);
    B.List_sxw = A._setArrayType(makeConstList([0.72, 0.28]), type$.JSArray_double);
    B.List_tPa = A._setArrayType(makeConstList(["apk", "aab", "ios", "macos", "windows", "linux"]), type$.JSArray_String);
    B.List_true_false = A._setArrayType(makeConstList([true, false]), type$.JSArray_bool);
    B.List_uSC = A._setArrayType(makeConstList([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]), type$.JSArray_int);
    B.List_uSC0 = A._setArrayType(makeConstList([17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]), type$.JSArray_int);
    B.List_uUr = A._setArrayType(makeConstList(["string.interpolated.double.dart", "string.interpolated.single.dart", "string.interpolated.triple.double.dart", "string.interpolated.triple.single.dart", "string.quoted.double.dart", "string.quoted.single.dart", "string.quoted.triple.double.dart", "string.quoted.triple.single.dart"]), type$.JSArray_String);
    B.List_ul_ol = A._setArrayType(makeConstList(["ul", "ol"]), type$.JSArray_String);
    B.List_ul_ol_p_br = A._setArrayType(makeConstList(["ul", "ol", "p", "br"]), type$.JSArray_String);
    B.ConnectDialog_null = new A.ConnectDialog(null);
    B.SizedBox_null_16_null_null = new A.SizedBox(null, 16, null, null);
    B.ImportFileInstructions_null = new A.ImportFileInstructions(null);
    B.AppSizeToolingInstructions_null = new A.AppSizeToolingInstructions(null);
    B.List_urR = A._setArrayType(makeConstList([B.ConnectDialog_null, B.SizedBox_null_16_null_null, B.ImportFileInstructions_null, B.SizedBox_null_16_null_null, B.AppSizeToolingInstructions_null]), type$.JSArray_Widget);
    B.List_urY = A._setArrayType(makeConstList(["entity.name.function.dart"]), type$.JSArray_String);
    B.Text_sgE = new A.Text("loading...", null, null, null, null, null, null, null, null, null, null, null);
    B.List_v1E = A._setArrayType(makeConstList([B.Text_sgE]), type$.JSArray_nullable_Widget);
    B.List_wMy = A._setArrayType(makeConstList(["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]), type$.JSArray_String);
    B.List_wmc = A._setArrayType(makeConstList([127, 127, 191, 127, 159, 191, 223, 127, 143, 159, 175, 191, 207, 223, 239, 127, 135, 143, 151, 159, 167, 175, 183, 191, 199, 207, 215, 223, 231, 239, 247, 127, 131, 135, 139, 143, 147, 151, 155, 159, 163, 167, 171, 175, 179, 183, 187, 191, 195, 199, 203, 207, 211, 215, 219, 223, 227, 231, 235, 239, 243, 247, 251, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203, 205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 233, 235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 127]), type$.JSArray_int);
    B.List_wsa = A._setArrayType(makeConstList(["comment.block.dart", "comment.block.documentation.dart", "comment.block.empty.dart", "comment.line.double-slash.dart"]), type$.JSArray_String);
    B.List_yTu = A._setArrayType(makeConstList([280, 256, 256, 256, 40]), type$.JSArray_int);
    B.List_yXZ = A._setArrayType(makeConstList([0, 4, 12, 1, 5, 13, 3, 7, 15]), type$.JSArray_int);
    B.List_yYQ = A._setArrayType(makeConstList([0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8, 0]), type$.JSArray_int);
    B.List_yjx = A._setArrayType(makeConstList([B.CrossAxisAlignment_0, B.CrossAxisAlignment_1, B.CrossAxisAlignment_2, B.CrossAxisAlignment_3, B.CrossAxisAlignment_4]), type$.JSArray_CrossAxisAlignment);
    B.DiagnosticsTreeStyle_0 = new A.DiagnosticsTreeStyle(0, "none");
    B.DiagnosticsTreeStyle_3 = new A.DiagnosticsTreeStyle(3, "dense");
    B.DiagnosticsTreeStyle_6 = new A.DiagnosticsTreeStyle(6, "whitespace");
    B.List_ylm = A._setArrayType(makeConstList([B.DiagnosticsTreeStyle_0, B.DiagnosticsTreeStyle_1, B.DiagnosticsTreeStyle_2, B.DiagnosticsTreeStyle_3, B.DiagnosticsTreeStyle_4, B.DiagnosticsTreeStyle_5, B.DiagnosticsTreeStyle_6, B.DiagnosticsTreeStyle_7, B.DiagnosticsTreeStyle_8, B.DiagnosticsTreeStyle_9, B.DiagnosticsTreeStyle_10, B.DiagnosticsTreeStyle_11]), A.findType("JSArray<DiagnosticsTreeStyle>"));
    B.List_ynv = A._setArrayType(makeConstList([0.7, 0.3]), type$.JSArray_double);
    B.LogLevel_0 = new A.LogLevel(0, "debug");
    B.LogLevel_1 = new A.LogLevel(1, "warning");
    B.LogLevel_2 = new A.LogLevel(2, "error");
    B.LoggingScreenBody_null = new A.LoggingScreenBody(null);
    B.IconData_61724_Octicons_false = new A.IconData(61724, "Octicons", false);
    B.LoggingScreen_8iL = new A.LoggingScreen(true, "logging", "Logging", B.IconData_61724_Octicons_false, null, null, false, false, false, false, null);
    B.LogicalKeyboardKey_102 = new A.LogicalKeyboardKey(102);
    B.LogicalKeyboardKey_103 = new A.LogicalKeyboardKey(103);
    B.LogicalKeyboardKey_112 = new A.LogicalKeyboardKey(112);
    B.LogicalKeyboardKey_4294967304 = new A.LogicalKeyboardKey(4294967304);
    B.LogicalKeyboardKey_4294967309 = new A.LogicalKeyboardKey(4294967309);
    B.LogicalKeyboardKey_4294967323 = new A.LogicalKeyboardKey(4294967323);
    B.LogicalKeyboardKey_4294967423 = new A.LogicalKeyboardKey(4294967423);
    B.LogicalKeyboardKey_4294967558 = new A.LogicalKeyboardKey(4294967558);
    B.LogicalKeyboardKey_4294968065 = new A.LogicalKeyboardKey(4294968065);
    B.LogicalKeyboardKey_4294968066 = new A.LogicalKeyboardKey(4294968066);
    B.LogicalKeyboardKey_4294968067 = new A.LogicalKeyboardKey(4294968067);
    B.LogicalKeyboardKey_4294968068 = new A.LogicalKeyboardKey(4294968068);
    B.LogicalKeyboardKey_8589934848 = new A.LogicalKeyboardKey(8589934848);
    B.LogicalKeyboardKey_8589934849 = new A.LogicalKeyboardKey(8589934849);
    B.LogicalKeyboardKey_8589934850 = new A.LogicalKeyboardKey(8589934850);
    B.LogicalKeyboardKey_8589934851 = new A.LogicalKeyboardKey(8589934851);
    B.LogicalKeyboardKey_8589934852 = new A.LogicalKeyboardKey(8589934852);
    B.LogicalKeyboardKey_8589934853 = new A.LogicalKeyboardKey(8589934853);
    B.LogicalKeyboardKey_8589934854 = new A.LogicalKeyboardKey(8589934854);
    B.LogicalKeyboardKey_8589934855 = new A.LogicalKeyboardKey(8589934855);
    B.LogicalKeyboardKey_8589935088 = new A.LogicalKeyboardKey(8589935088);
    B.LogicalKeyboardKey_8589935090 = new A.LogicalKeyboardKey(8589935090);
    B.LogicalKeyboardKey_8589935092 = new A.LogicalKeyboardKey(8589935092);
    B.LogicalKeyboardKey_8589935094 = new A.LogicalKeyboardKey(8589935094);
    B.Offset_0_0 = new A.Offset(0, 0);
    B.Velocity_Offset_0_0 = new A.Velocity(B.Offset_0_0);
    B.LongPressEndDetails_aB0 = new A.LongPressEndDetails(B.Offset_0_0, B.Velocity_Offset_0_0);
    B.LongPressSemanticsEvent_longPress = new A.LongPressSemanticsEvent("longPress");
    B.LongPressStartDetails_aWR = new A.LongPressStartDetails(B.Offset_0_0, B.Offset_0_0);
    B.List_0AS = A._setArrayType(makeConstList(["BU", "DD", "FX", "TP", "YD", "ZR"]), type$.JSArray_String);
    B.Map_0Agg9 = new A.ConstantStringMap(6, {BU: "MM", DD: "DE", FX: "FR", TP: "TL", YD: "YE", ZR: "CD"}, B.List_0AS, type$.ConstantStringMap_String_String);
    B.List_0mM = A._setArrayType(makeConstList(["AVRInput", "AVRPower", "Accel", "Accept", "Again", "AllCandidates", "Alphanumeric", "AltGraph", "AppSwitch", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "Attn", "AudioBalanceLeft", "AudioBalanceRight", "AudioBassBoostDown", "AudioBassBoostToggle", "AudioBassBoostUp", "AudioFaderFront", "AudioFaderRear", "AudioSurroundModeNext", "AudioTrebleDown", "AudioTrebleUp", "AudioVolumeDown", "AudioVolumeMute", "AudioVolumeUp", "Backspace", "BrightnessDown", "BrightnessUp", "BrowserBack", "BrowserFavorites", "BrowserForward", "BrowserHome", "BrowserRefresh", "BrowserSearch", "BrowserStop", "Call", "Camera", "CameraFocus", "Cancel", "CapsLock", "ChannelDown", "ChannelUp", "Clear", "Close", "ClosedCaptionToggle", "CodeInput", "ColorF0Red", "ColorF1Green", "ColorF2Yellow", "ColorF3Blue", "ColorF4Grey", "ColorF5Brown", "Compose", "ContextMenu", "Convert", "Copy", "CrSel", "Cut", "DVR", "Delete", "Dimmer", "DisplaySwap", "Eisu", "Eject", "End", "EndCall", "Enter", "EraseEof", "Escape", "ExSel", "Execute", "Exit", "F1", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F2", "F20", "F21", "F22", "F23", "F24", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "FavoriteClear0", "FavoriteClear1", "FavoriteClear2", "FavoriteClear3", "FavoriteRecall0", "FavoriteRecall1", "FavoriteRecall2", "FavoriteRecall3", "FavoriteStore0", "FavoriteStore1", "FavoriteStore2", "FavoriteStore3", "FinalMode", "Find", "Fn", "FnLock", "GoBack", "GoHome", "GroupFirst", "GroupLast", "GroupNext", "GroupPrevious", "Guide", "GuideNextDay", "GuidePreviousDay", "HangulMode", "HanjaMode", "Hankaku", "HeadsetHook", "Help", "Hibernate", "Hiragana", "HiraganaKatakana", "Home", "Hyper", "Info", "Insert", "InstantReplay", "JunjaMode", "KanaMode", "KanjiMode", "Katakana", "Key11", "Key12", "LastNumberRedial", "LaunchApplication1", "LaunchApplication2", "LaunchAssistant", "LaunchCalendar", "LaunchContacts", "LaunchControlPanel", "LaunchMail", "LaunchMediaPlayer", "LaunchMusicPlayer", "LaunchPhone", "LaunchScreenSaver", "LaunchSpreadsheet", "LaunchWebBrowser", "LaunchWebCam", "LaunchWordProcessor", "Link", "ListProgram", "LiveContent", "Lock", "LogOff", "MailForward", "MailReply", "MailSend", "MannerMode", "MediaApps", "MediaAudioTrack", "MediaClose", "MediaFastForward", "MediaLast", "MediaPause", "MediaPlay", "MediaPlayPause", "MediaRecord", "MediaRewind", "MediaSkip", "MediaSkipBackward", "MediaSkipForward", "MediaStepBackward", "MediaStepForward", "MediaStop", "MediaTopMenu", "MediaTrackNext", "MediaTrackPrevious", "MicrophoneToggle", "MicrophoneVolumeDown", "MicrophoneVolumeMute", "MicrophoneVolumeUp", "ModeChange", "NavigateIn", "NavigateNext", "NavigateOut", "NavigatePrevious", "New", "NextCandidate", "NextFavoriteChannel", "NextUserProfile", "NonConvert", "Notification", "NumLock", "OnDemand", "Open", "PageDown", "PageUp", "Pairing", "Paste", "Pause", "PinPDown", "PinPMove", "PinPToggle", "PinPUp", "Play", "PlaySpeedDown", "PlaySpeedReset", "PlaySpeedUp", "Power", "PowerOff", "PreviousCandidate", "Print", "PrintScreen", "Process", "Props", "RandomToggle", "RcLowBattery", "RecordSpeedNext", "Redo", "RfBypass", "Romaji", "STBInput", "STBPower", "Save", "ScanChannelsToggle", "ScreenModeNext", "ScrollLock", "Select", "Settings", "ShiftLevel5", "SingleCandidate", "Soft1", "Soft2", "Soft3", "Soft4", "Soft5", "Soft6", "Soft7", "Soft8", "SpeechCorrectionList", "SpeechInputToggle", "SpellCheck", "SplitScreenToggle", "Standby", "Subtitle", "Super", "Symbol", "SymbolLock", "TV", "TV3DMode", "TVAntennaCable", "TVAudioDescription", "TVAudioDescriptionMixDown", "TVAudioDescriptionMixUp", "TVContentsMenu", "TVDataService", "TVInput", "TVInputComponent1", "TVInputComponent2", "TVInputComposite1", "TVInputComposite2", "TVInputHDMI1", "TVInputHDMI2", "TVInputHDMI3", "TVInputHDMI4", "TVInputVGA1", "TVMediaContext", "TVNetwork", "TVNumberEntry", "TVPower", "TVRadioService", "TVSatellite", "TVSatelliteBS", "TVSatelliteCS", "TVSatelliteToggle", "TVTerrestrialAnalog", "TVTerrestrialDigital", "TVTimer", "Tab", "Teletext", "Undo", "Unidentified", "VideoModeNext", "VoiceDial", "WakeUp", "Wink", "Zenkaku", "ZenkakuHankaku", "ZoomIn", "ZoomOut", "ZoomToggle"]), type$.JSArray_String);
    B.LogicalKeyboardKey_4294970632 = new A.LogicalKeyboardKey(4294970632);
    B.LogicalKeyboardKey_4294970633 = new A.LogicalKeyboardKey(4294970633);
    B.LogicalKeyboardKey_4294967553 = new A.LogicalKeyboardKey(4294967553);
    B.LogicalKeyboardKey_4294968577 = new A.LogicalKeyboardKey(4294968577);
    B.LogicalKeyboardKey_4294968578 = new A.LogicalKeyboardKey(4294968578);
    B.LogicalKeyboardKey_4294969089 = new A.LogicalKeyboardKey(4294969089);
    B.LogicalKeyboardKey_4294969090 = new A.LogicalKeyboardKey(4294969090);
    B.LogicalKeyboardKey_4294967555 = new A.LogicalKeyboardKey(4294967555);
    B.LogicalKeyboardKey_4294971393 = new A.LogicalKeyboardKey(4294971393);
    B.LogicalKeyboardKey_4294968579 = new A.LogicalKeyboardKey(4294968579);
    B.LogicalKeyboardKey_4294970625 = new A.LogicalKeyboardKey(4294970625);
    B.LogicalKeyboardKey_4294970626 = new A.LogicalKeyboardKey(4294970626);
    B.LogicalKeyboardKey_4294970627 = new A.LogicalKeyboardKey(4294970627);
    B.LogicalKeyboardKey_4294970882 = new A.LogicalKeyboardKey(4294970882);
    B.LogicalKeyboardKey_4294970628 = new A.LogicalKeyboardKey(4294970628);
    B.LogicalKeyboardKey_4294970629 = new A.LogicalKeyboardKey(4294970629);
    B.LogicalKeyboardKey_4294970630 = new A.LogicalKeyboardKey(4294970630);
    B.LogicalKeyboardKey_4294970631 = new A.LogicalKeyboardKey(4294970631);
    B.LogicalKeyboardKey_4294970884 = new A.LogicalKeyboardKey(4294970884);
    B.LogicalKeyboardKey_4294970885 = new A.LogicalKeyboardKey(4294970885);
    B.LogicalKeyboardKey_4294969871 = new A.LogicalKeyboardKey(4294969871);
    B.LogicalKeyboardKey_4294969873 = new A.LogicalKeyboardKey(4294969873);
    B.LogicalKeyboardKey_4294969872 = new A.LogicalKeyboardKey(4294969872);
    B.LogicalKeyboardKey_4294968833 = new A.LogicalKeyboardKey(4294968833);
    B.LogicalKeyboardKey_4294968834 = new A.LogicalKeyboardKey(4294968834);
    B.LogicalKeyboardKey_4294970369 = new A.LogicalKeyboardKey(4294970369);
    B.LogicalKeyboardKey_4294970370 = new A.LogicalKeyboardKey(4294970370);
    B.LogicalKeyboardKey_4294970371 = new A.LogicalKeyboardKey(4294970371);
    B.LogicalKeyboardKey_4294970372 = new A.LogicalKeyboardKey(4294970372);
    B.LogicalKeyboardKey_4294970373 = new A.LogicalKeyboardKey(4294970373);
    B.LogicalKeyboardKey_4294970374 = new A.LogicalKeyboardKey(4294970374);
    B.LogicalKeyboardKey_4294970375 = new A.LogicalKeyboardKey(4294970375);
    B.LogicalKeyboardKey_4294971394 = new A.LogicalKeyboardKey(4294971394);
    B.LogicalKeyboardKey_4294968835 = new A.LogicalKeyboardKey(4294968835);
    B.LogicalKeyboardKey_4294971395 = new A.LogicalKeyboardKey(4294971395);
    B.LogicalKeyboardKey_4294968580 = new A.LogicalKeyboardKey(4294968580);
    B.LogicalKeyboardKey_4294970634 = new A.LogicalKeyboardKey(4294970634);
    B.LogicalKeyboardKey_4294970635 = new A.LogicalKeyboardKey(4294970635);
    B.LogicalKeyboardKey_4294968321 = new A.LogicalKeyboardKey(4294968321);
    B.LogicalKeyboardKey_4294969857 = new A.LogicalKeyboardKey(4294969857);
    B.LogicalKeyboardKey_4294970642 = new A.LogicalKeyboardKey(4294970642);
    B.LogicalKeyboardKey_4294969091 = new A.LogicalKeyboardKey(4294969091);
    B.LogicalKeyboardKey_4294970636 = new A.LogicalKeyboardKey(4294970636);
    B.LogicalKeyboardKey_4294970637 = new A.LogicalKeyboardKey(4294970637);
    B.LogicalKeyboardKey_4294970638 = new A.LogicalKeyboardKey(4294970638);
    B.LogicalKeyboardKey_4294970639 = new A.LogicalKeyboardKey(4294970639);
    B.LogicalKeyboardKey_4294970640 = new A.LogicalKeyboardKey(4294970640);
    B.LogicalKeyboardKey_4294970641 = new A.LogicalKeyboardKey(4294970641);
    B.LogicalKeyboardKey_4294969092 = new A.LogicalKeyboardKey(4294969092);
    B.LogicalKeyboardKey_4294968581 = new A.LogicalKeyboardKey(4294968581);
    B.LogicalKeyboardKey_4294969093 = new A.LogicalKeyboardKey(4294969093);
    B.LogicalKeyboardKey_4294968322 = new A.LogicalKeyboardKey(4294968322);
    B.LogicalKeyboardKey_4294968323 = new A.LogicalKeyboardKey(4294968323);
    B.LogicalKeyboardKey_4294968324 = new A.LogicalKeyboardKey(4294968324);
    B.LogicalKeyboardKey_4294970703 = new A.LogicalKeyboardKey(4294970703);
    B.LogicalKeyboardKey_4294970643 = new A.LogicalKeyboardKey(4294970643);
    B.LogicalKeyboardKey_4294970644 = new A.LogicalKeyboardKey(4294970644);
    B.LogicalKeyboardKey_4294969108 = new A.LogicalKeyboardKey(4294969108);
    B.LogicalKeyboardKey_4294968836 = new A.LogicalKeyboardKey(4294968836);
    B.LogicalKeyboardKey_4294968069 = new A.LogicalKeyboardKey(4294968069);
    B.LogicalKeyboardKey_4294971396 = new A.LogicalKeyboardKey(4294971396);
    B.LogicalKeyboardKey_4294968325 = new A.LogicalKeyboardKey(4294968325);
    B.LogicalKeyboardKey_4294968326 = new A.LogicalKeyboardKey(4294968326);
    B.LogicalKeyboardKey_4294968582 = new A.LogicalKeyboardKey(4294968582);
    B.LogicalKeyboardKey_4294970645 = new A.LogicalKeyboardKey(4294970645);
    B.LogicalKeyboardKey_4294969345 = new A.LogicalKeyboardKey(4294969345);
    B.LogicalKeyboardKey_4294969354 = new A.LogicalKeyboardKey(4294969354);
    B.LogicalKeyboardKey_4294969355 = new A.LogicalKeyboardKey(4294969355);
    B.LogicalKeyboardKey_4294969356 = new A.LogicalKeyboardKey(4294969356);
    B.LogicalKeyboardKey_4294969357 = new A.LogicalKeyboardKey(4294969357);
    B.LogicalKeyboardKey_4294969358 = new A.LogicalKeyboardKey(4294969358);
    B.LogicalKeyboardKey_4294969359 = new A.LogicalKeyboardKey(4294969359);
    B.LogicalKeyboardKey_4294969360 = new A.LogicalKeyboardKey(4294969360);
    B.LogicalKeyboardKey_4294969361 = new A.LogicalKeyboardKey(4294969361);
    B.LogicalKeyboardKey_4294969362 = new A.LogicalKeyboardKey(4294969362);
    B.LogicalKeyboardKey_4294969363 = new A.LogicalKeyboardKey(4294969363);
    B.LogicalKeyboardKey_4294969346 = new A.LogicalKeyboardKey(4294969346);
    B.LogicalKeyboardKey_4294969364 = new A.LogicalKeyboardKey(4294969364);
    B.LogicalKeyboardKey_4294969365 = new A.LogicalKeyboardKey(4294969365);
    B.LogicalKeyboardKey_4294969366 = new A.LogicalKeyboardKey(4294969366);
    B.LogicalKeyboardKey_4294969367 = new A.LogicalKeyboardKey(4294969367);
    B.LogicalKeyboardKey_4294969368 = new A.LogicalKeyboardKey(4294969368);
    B.LogicalKeyboardKey_4294969347 = new A.LogicalKeyboardKey(4294969347);
    B.LogicalKeyboardKey_4294969348 = new A.LogicalKeyboardKey(4294969348);
    B.LogicalKeyboardKey_4294969349 = new A.LogicalKeyboardKey(4294969349);
    B.LogicalKeyboardKey_4294969350 = new A.LogicalKeyboardKey(4294969350);
    B.LogicalKeyboardKey_4294969351 = new A.LogicalKeyboardKey(4294969351);
    B.LogicalKeyboardKey_4294969352 = new A.LogicalKeyboardKey(4294969352);
    B.LogicalKeyboardKey_4294969353 = new A.LogicalKeyboardKey(4294969353);
    B.LogicalKeyboardKey_4294970646 = new A.LogicalKeyboardKey(4294970646);
    B.LogicalKeyboardKey_4294970647 = new A.LogicalKeyboardKey(4294970647);
    B.LogicalKeyboardKey_4294970648 = new A.LogicalKeyboardKey(4294970648);
    B.LogicalKeyboardKey_4294970649 = new A.LogicalKeyboardKey(4294970649);
    B.LogicalKeyboardKey_4294970650 = new A.LogicalKeyboardKey(4294970650);
    B.LogicalKeyboardKey_4294970651 = new A.LogicalKeyboardKey(4294970651);
    B.LogicalKeyboardKey_4294970652 = new A.LogicalKeyboardKey(4294970652);
    B.LogicalKeyboardKey_4294970653 = new A.LogicalKeyboardKey(4294970653);
    B.LogicalKeyboardKey_4294970654 = new A.LogicalKeyboardKey(4294970654);
    B.LogicalKeyboardKey_4294970655 = new A.LogicalKeyboardKey(4294970655);
    B.LogicalKeyboardKey_4294970656 = new A.LogicalKeyboardKey(4294970656);
    B.LogicalKeyboardKey_4294970657 = new A.LogicalKeyboardKey(4294970657);
    B.LogicalKeyboardKey_4294969094 = new A.LogicalKeyboardKey(4294969094);
    B.LogicalKeyboardKey_4294968583 = new A.LogicalKeyboardKey(4294968583);
    B.LogicalKeyboardKey_4294967559 = new A.LogicalKeyboardKey(4294967559);
    B.LogicalKeyboardKey_4294971397 = new A.LogicalKeyboardKey(4294971397);
    B.LogicalKeyboardKey_4294971398 = new A.LogicalKeyboardKey(4294971398);
    B.LogicalKeyboardKey_4294969095 = new A.LogicalKeyboardKey(4294969095);
    B.LogicalKeyboardKey_4294969096 = new A.LogicalKeyboardKey(4294969096);
    B.LogicalKeyboardKey_4294969097 = new A.LogicalKeyboardKey(4294969097);
    B.LogicalKeyboardKey_4294969098 = new A.LogicalKeyboardKey(4294969098);
    B.LogicalKeyboardKey_4294970658 = new A.LogicalKeyboardKey(4294970658);
    B.LogicalKeyboardKey_4294970659 = new A.LogicalKeyboardKey(4294970659);
    B.LogicalKeyboardKey_4294970660 = new A.LogicalKeyboardKey(4294970660);
    B.LogicalKeyboardKey_4294969105 = new A.LogicalKeyboardKey(4294969105);
    B.LogicalKeyboardKey_4294969106 = new A.LogicalKeyboardKey(4294969106);
    B.LogicalKeyboardKey_4294969109 = new A.LogicalKeyboardKey(4294969109);
    B.LogicalKeyboardKey_4294971399 = new A.LogicalKeyboardKey(4294971399);
    B.LogicalKeyboardKey_4294968584 = new A.LogicalKeyboardKey(4294968584);
    B.LogicalKeyboardKey_4294968841 = new A.LogicalKeyboardKey(4294968841);
    B.LogicalKeyboardKey_4294969110 = new A.LogicalKeyboardKey(4294969110);
    B.LogicalKeyboardKey_4294969111 = new A.LogicalKeyboardKey(4294969111);
    B.LogicalKeyboardKey_4294968070 = new A.LogicalKeyboardKey(4294968070);
    B.LogicalKeyboardKey_4294967560 = new A.LogicalKeyboardKey(4294967560);
    B.LogicalKeyboardKey_4294970661 = new A.LogicalKeyboardKey(4294970661);
    B.LogicalKeyboardKey_4294968327 = new A.LogicalKeyboardKey(4294968327);
    B.LogicalKeyboardKey_4294970662 = new A.LogicalKeyboardKey(4294970662);
    B.LogicalKeyboardKey_4294969107 = new A.LogicalKeyboardKey(4294969107);
    B.LogicalKeyboardKey_4294969112 = new A.LogicalKeyboardKey(4294969112);
    B.LogicalKeyboardKey_4294969113 = new A.LogicalKeyboardKey(4294969113);
    B.LogicalKeyboardKey_4294969114 = new A.LogicalKeyboardKey(4294969114);
    B.LogicalKeyboardKey_4294971905 = new A.LogicalKeyboardKey(4294971905);
    B.LogicalKeyboardKey_4294971906 = new A.LogicalKeyboardKey(4294971906);
    B.LogicalKeyboardKey_4294971400 = new A.LogicalKeyboardKey(4294971400);
    B.LogicalKeyboardKey_4294970118 = new A.LogicalKeyboardKey(4294970118);
    B.LogicalKeyboardKey_4294970113 = new A.LogicalKeyboardKey(4294970113);
    B.LogicalKeyboardKey_4294970126 = new A.LogicalKeyboardKey(4294970126);
    B.LogicalKeyboardKey_4294970114 = new A.LogicalKeyboardKey(4294970114);
    B.LogicalKeyboardKey_4294970124 = new A.LogicalKeyboardKey(4294970124);
    B.LogicalKeyboardKey_4294970127 = new A.LogicalKeyboardKey(4294970127);
    B.LogicalKeyboardKey_4294970115 = new A.LogicalKeyboardKey(4294970115);
    B.LogicalKeyboardKey_4294970116 = new A.LogicalKeyboardKey(4294970116);
    B.LogicalKeyboardKey_4294970117 = new A.LogicalKeyboardKey(4294970117);
    B.LogicalKeyboardKey_4294970125 = new A.LogicalKeyboardKey(4294970125);
    B.LogicalKeyboardKey_4294970119 = new A.LogicalKeyboardKey(4294970119);
    B.LogicalKeyboardKey_4294970120 = new A.LogicalKeyboardKey(4294970120);
    B.LogicalKeyboardKey_4294970121 = new A.LogicalKeyboardKey(4294970121);
    B.LogicalKeyboardKey_4294970122 = new A.LogicalKeyboardKey(4294970122);
    B.LogicalKeyboardKey_4294970123 = new A.LogicalKeyboardKey(4294970123);
    B.LogicalKeyboardKey_4294970663 = new A.LogicalKeyboardKey(4294970663);
    B.LogicalKeyboardKey_4294970664 = new A.LogicalKeyboardKey(4294970664);
    B.LogicalKeyboardKey_4294970665 = new A.LogicalKeyboardKey(4294970665);
    B.LogicalKeyboardKey_4294970666 = new A.LogicalKeyboardKey(4294970666);
    B.LogicalKeyboardKey_4294968837 = new A.LogicalKeyboardKey(4294968837);
    B.LogicalKeyboardKey_4294969858 = new A.LogicalKeyboardKey(4294969858);
    B.LogicalKeyboardKey_4294969859 = new A.LogicalKeyboardKey(4294969859);
    B.LogicalKeyboardKey_4294969860 = new A.LogicalKeyboardKey(4294969860);
    B.LogicalKeyboardKey_4294971402 = new A.LogicalKeyboardKey(4294971402);
    B.LogicalKeyboardKey_4294970667 = new A.LogicalKeyboardKey(4294970667);
    B.LogicalKeyboardKey_4294970704 = new A.LogicalKeyboardKey(4294970704);
    B.LogicalKeyboardKey_4294970715 = new A.LogicalKeyboardKey(4294970715);
    B.LogicalKeyboardKey_4294970668 = new A.LogicalKeyboardKey(4294970668);
    B.LogicalKeyboardKey_4294970669 = new A.LogicalKeyboardKey(4294970669);
    B.LogicalKeyboardKey_4294970670 = new A.LogicalKeyboardKey(4294970670);
    B.LogicalKeyboardKey_4294970671 = new A.LogicalKeyboardKey(4294970671);
    B.LogicalKeyboardKey_4294969861 = new A.LogicalKeyboardKey(4294969861);
    B.LogicalKeyboardKey_4294970672 = new A.LogicalKeyboardKey(4294970672);
    B.LogicalKeyboardKey_4294970673 = new A.LogicalKeyboardKey(4294970673);
    B.LogicalKeyboardKey_4294970674 = new A.LogicalKeyboardKey(4294970674);
    B.LogicalKeyboardKey_4294970705 = new A.LogicalKeyboardKey(4294970705);
    B.LogicalKeyboardKey_4294970706 = new A.LogicalKeyboardKey(4294970706);
    B.LogicalKeyboardKey_4294970707 = new A.LogicalKeyboardKey(4294970707);
    B.LogicalKeyboardKey_4294970708 = new A.LogicalKeyboardKey(4294970708);
    B.LogicalKeyboardKey_4294969863 = new A.LogicalKeyboardKey(4294969863);
    B.LogicalKeyboardKey_4294970709 = new A.LogicalKeyboardKey(4294970709);
    B.LogicalKeyboardKey_4294969864 = new A.LogicalKeyboardKey(4294969864);
    B.LogicalKeyboardKey_4294969865 = new A.LogicalKeyboardKey(4294969865);
    B.LogicalKeyboardKey_4294970886 = new A.LogicalKeyboardKey(4294970886);
    B.LogicalKeyboardKey_4294970887 = new A.LogicalKeyboardKey(4294970887);
    B.LogicalKeyboardKey_4294970889 = new A.LogicalKeyboardKey(4294970889);
    B.LogicalKeyboardKey_4294970888 = new A.LogicalKeyboardKey(4294970888);
    B.LogicalKeyboardKey_4294969099 = new A.LogicalKeyboardKey(4294969099);
    B.LogicalKeyboardKey_4294970710 = new A.LogicalKeyboardKey(4294970710);
    B.LogicalKeyboardKey_4294970711 = new A.LogicalKeyboardKey(4294970711);
    B.LogicalKeyboardKey_4294970712 = new A.LogicalKeyboardKey(4294970712);
    B.LogicalKeyboardKey_4294970713 = new A.LogicalKeyboardKey(4294970713);
    B.LogicalKeyboardKey_4294969866 = new A.LogicalKeyboardKey(4294969866);
    B.LogicalKeyboardKey_4294969100 = new A.LogicalKeyboardKey(4294969100);
    B.LogicalKeyboardKey_4294970675 = new A.LogicalKeyboardKey(4294970675);
    B.LogicalKeyboardKey_4294970676 = new A.LogicalKeyboardKey(4294970676);
    B.LogicalKeyboardKey_4294969101 = new A.LogicalKeyboardKey(4294969101);
    B.LogicalKeyboardKey_4294971401 = new A.LogicalKeyboardKey(4294971401);
    B.LogicalKeyboardKey_4294970677 = new A.LogicalKeyboardKey(4294970677);
    B.LogicalKeyboardKey_4294969867 = new A.LogicalKeyboardKey(4294969867);
    B.LogicalKeyboardKey_4294968071 = new A.LogicalKeyboardKey(4294968071);
    B.LogicalKeyboardKey_4294968072 = new A.LogicalKeyboardKey(4294968072);
    B.LogicalKeyboardKey_4294970714 = new A.LogicalKeyboardKey(4294970714);
    B.LogicalKeyboardKey_4294968328 = new A.LogicalKeyboardKey(4294968328);
    B.LogicalKeyboardKey_4294968585 = new A.LogicalKeyboardKey(4294968585);
    B.LogicalKeyboardKey_4294970678 = new A.LogicalKeyboardKey(4294970678);
    B.LogicalKeyboardKey_4294970679 = new A.LogicalKeyboardKey(4294970679);
    B.LogicalKeyboardKey_4294970680 = new A.LogicalKeyboardKey(4294970680);
    B.LogicalKeyboardKey_4294970681 = new A.LogicalKeyboardKey(4294970681);
    B.LogicalKeyboardKey_4294968586 = new A.LogicalKeyboardKey(4294968586);
    B.LogicalKeyboardKey_4294970682 = new A.LogicalKeyboardKey(4294970682);
    B.LogicalKeyboardKey_4294970683 = new A.LogicalKeyboardKey(4294970683);
    B.LogicalKeyboardKey_4294970684 = new A.LogicalKeyboardKey(4294970684);
    B.LogicalKeyboardKey_4294968838 = new A.LogicalKeyboardKey(4294968838);
    B.LogicalKeyboardKey_4294968839 = new A.LogicalKeyboardKey(4294968839);
    B.LogicalKeyboardKey_4294969102 = new A.LogicalKeyboardKey(4294969102);
    B.LogicalKeyboardKey_4294969868 = new A.LogicalKeyboardKey(4294969868);
    B.LogicalKeyboardKey_4294968840 = new A.LogicalKeyboardKey(4294968840);
    B.LogicalKeyboardKey_4294969103 = new A.LogicalKeyboardKey(4294969103);
    B.LogicalKeyboardKey_4294968587 = new A.LogicalKeyboardKey(4294968587);
    B.LogicalKeyboardKey_4294970685 = new A.LogicalKeyboardKey(4294970685);
    B.LogicalKeyboardKey_4294970686 = new A.LogicalKeyboardKey(4294970686);
    B.LogicalKeyboardKey_4294970687 = new A.LogicalKeyboardKey(4294970687);
    B.LogicalKeyboardKey_4294968329 = new A.LogicalKeyboardKey(4294968329);
    B.LogicalKeyboardKey_4294970688 = new A.LogicalKeyboardKey(4294970688);
    B.LogicalKeyboardKey_4294969115 = new A.LogicalKeyboardKey(4294969115);
    B.LogicalKeyboardKey_4294970693 = new A.LogicalKeyboardKey(4294970693);
    B.LogicalKeyboardKey_4294970694 = new A.LogicalKeyboardKey(4294970694);
    B.LogicalKeyboardKey_4294969869 = new A.LogicalKeyboardKey(4294969869);
    B.LogicalKeyboardKey_4294970689 = new A.LogicalKeyboardKey(4294970689);
    B.LogicalKeyboardKey_4294970690 = new A.LogicalKeyboardKey(4294970690);
    B.LogicalKeyboardKey_4294968588 = new A.LogicalKeyboardKey(4294968588);
    B.LogicalKeyboardKey_4294970691 = new A.LogicalKeyboardKey(4294970691);
    B.LogicalKeyboardKey_4294967569 = new A.LogicalKeyboardKey(4294967569);
    B.LogicalKeyboardKey_4294969104 = new A.LogicalKeyboardKey(4294969104);
    B.LogicalKeyboardKey_4294969601 = new A.LogicalKeyboardKey(4294969601);
    B.LogicalKeyboardKey_4294969602 = new A.LogicalKeyboardKey(4294969602);
    B.LogicalKeyboardKey_4294969603 = new A.LogicalKeyboardKey(4294969603);
    B.LogicalKeyboardKey_4294969604 = new A.LogicalKeyboardKey(4294969604);
    B.LogicalKeyboardKey_4294969605 = new A.LogicalKeyboardKey(4294969605);
    B.LogicalKeyboardKey_4294969606 = new A.LogicalKeyboardKey(4294969606);
    B.LogicalKeyboardKey_4294969607 = new A.LogicalKeyboardKey(4294969607);
    B.LogicalKeyboardKey_4294969608 = new A.LogicalKeyboardKey(4294969608);
    B.LogicalKeyboardKey_4294971137 = new A.LogicalKeyboardKey(4294971137);
    B.LogicalKeyboardKey_4294971138 = new A.LogicalKeyboardKey(4294971138);
    B.LogicalKeyboardKey_4294969870 = new A.LogicalKeyboardKey(4294969870);
    B.LogicalKeyboardKey_4294970692 = new A.LogicalKeyboardKey(4294970692);
    B.LogicalKeyboardKey_4294968842 = new A.LogicalKeyboardKey(4294968842);
    B.LogicalKeyboardKey_4294970695 = new A.LogicalKeyboardKey(4294970695);
    B.LogicalKeyboardKey_4294967566 = new A.LogicalKeyboardKey(4294967566);
    B.LogicalKeyboardKey_4294967567 = new A.LogicalKeyboardKey(4294967567);
    B.LogicalKeyboardKey_4294967568 = new A.LogicalKeyboardKey(4294967568);
    B.LogicalKeyboardKey_4294970697 = new A.LogicalKeyboardKey(4294970697);
    B.LogicalKeyboardKey_4294971649 = new A.LogicalKeyboardKey(4294971649);
    B.LogicalKeyboardKey_4294971650 = new A.LogicalKeyboardKey(4294971650);
    B.LogicalKeyboardKey_4294971651 = new A.LogicalKeyboardKey(4294971651);
    B.LogicalKeyboardKey_4294971652 = new A.LogicalKeyboardKey(4294971652);
    B.LogicalKeyboardKey_4294971653 = new A.LogicalKeyboardKey(4294971653);
    B.LogicalKeyboardKey_4294971654 = new A.LogicalKeyboardKey(4294971654);
    B.LogicalKeyboardKey_4294971655 = new A.LogicalKeyboardKey(4294971655);
    B.LogicalKeyboardKey_4294970698 = new A.LogicalKeyboardKey(4294970698);
    B.LogicalKeyboardKey_4294971656 = new A.LogicalKeyboardKey(4294971656);
    B.LogicalKeyboardKey_4294971657 = new A.LogicalKeyboardKey(4294971657);
    B.LogicalKeyboardKey_4294971658 = new A.LogicalKeyboardKey(4294971658);
    B.LogicalKeyboardKey_4294971659 = new A.LogicalKeyboardKey(4294971659);
    B.LogicalKeyboardKey_4294971660 = new A.LogicalKeyboardKey(4294971660);
    B.LogicalKeyboardKey_4294971661 = new A.LogicalKeyboardKey(4294971661);
    B.LogicalKeyboardKey_4294971662 = new A.LogicalKeyboardKey(4294971662);
    B.LogicalKeyboardKey_4294971663 = new A.LogicalKeyboardKey(4294971663);
    B.LogicalKeyboardKey_4294971664 = new A.LogicalKeyboardKey(4294971664);
    B.LogicalKeyboardKey_4294971665 = new A.LogicalKeyboardKey(4294971665);
    B.LogicalKeyboardKey_4294971666 = new A.LogicalKeyboardKey(4294971666);
    B.LogicalKeyboardKey_4294971667 = new A.LogicalKeyboardKey(4294971667);
    B.LogicalKeyboardKey_4294970699 = new A.LogicalKeyboardKey(4294970699);
    B.LogicalKeyboardKey_4294971668 = new A.LogicalKeyboardKey(4294971668);
    B.LogicalKeyboardKey_4294971669 = new A.LogicalKeyboardKey(4294971669);
    B.LogicalKeyboardKey_4294971670 = new A.LogicalKeyboardKey(4294971670);
    B.LogicalKeyboardKey_4294971671 = new A.LogicalKeyboardKey(4294971671);
    B.LogicalKeyboardKey_4294971672 = new A.LogicalKeyboardKey(4294971672);
    B.LogicalKeyboardKey_4294971673 = new A.LogicalKeyboardKey(4294971673);
    B.LogicalKeyboardKey_4294971674 = new A.LogicalKeyboardKey(4294971674);
    B.LogicalKeyboardKey_4294971675 = new A.LogicalKeyboardKey(4294971675);
    B.LogicalKeyboardKey_4294967305 = new A.LogicalKeyboardKey(4294967305);
    B.LogicalKeyboardKey_4294970696 = new A.LogicalKeyboardKey(4294970696);
    B.LogicalKeyboardKey_4294968330 = new A.LogicalKeyboardKey(4294968330);
    B.LogicalKeyboardKey_4294967297 = new A.LogicalKeyboardKey(4294967297);
    B.LogicalKeyboardKey_4294970700 = new A.LogicalKeyboardKey(4294970700);
    B.LogicalKeyboardKey_4294971403 = new A.LogicalKeyboardKey(4294971403);
    B.LogicalKeyboardKey_4294968843 = new A.LogicalKeyboardKey(4294968843);
    B.LogicalKeyboardKey_4294970701 = new A.LogicalKeyboardKey(4294970701);
    B.LogicalKeyboardKey_4294969116 = new A.LogicalKeyboardKey(4294969116);
    B.LogicalKeyboardKey_4294969117 = new A.LogicalKeyboardKey(4294969117);
    B.LogicalKeyboardKey_4294968589 = new A.LogicalKeyboardKey(4294968589);
    B.LogicalKeyboardKey_4294968590 = new A.LogicalKeyboardKey(4294968590);
    B.LogicalKeyboardKey_4294970702 = new A.LogicalKeyboardKey(4294970702);
    B.Map_0mOHH = new A.ConstantStringMap(300, {AVRInput: B.LogicalKeyboardKey_4294970632, AVRPower: B.LogicalKeyboardKey_4294970633, Accel: B.LogicalKeyboardKey_4294967553, Accept: B.LogicalKeyboardKey_4294968577, Again: B.LogicalKeyboardKey_4294968578, AllCandidates: B.LogicalKeyboardKey_4294969089, Alphanumeric: B.LogicalKeyboardKey_4294969090, AltGraph: B.LogicalKeyboardKey_4294967555, AppSwitch: B.LogicalKeyboardKey_4294971393, ArrowDown: B.LogicalKeyboardKey_4294968065, ArrowLeft: B.LogicalKeyboardKey_4294968066, ArrowRight: B.LogicalKeyboardKey_4294968067, ArrowUp: B.LogicalKeyboardKey_4294968068, Attn: B.LogicalKeyboardKey_4294968579, AudioBalanceLeft: B.LogicalKeyboardKey_4294970625, AudioBalanceRight: B.LogicalKeyboardKey_4294970626, AudioBassBoostDown: B.LogicalKeyboardKey_4294970627, AudioBassBoostToggle: B.LogicalKeyboardKey_4294970882, AudioBassBoostUp: B.LogicalKeyboardKey_4294970628, AudioFaderFront: B.LogicalKeyboardKey_4294970629, AudioFaderRear: B.LogicalKeyboardKey_4294970630, AudioSurroundModeNext: B.LogicalKeyboardKey_4294970631, AudioTrebleDown: B.LogicalKeyboardKey_4294970884, AudioTrebleUp: B.LogicalKeyboardKey_4294970885, AudioVolumeDown: B.LogicalKeyboardKey_4294969871, AudioVolumeMute: B.LogicalKeyboardKey_4294969873, AudioVolumeUp: B.LogicalKeyboardKey_4294969872, Backspace: B.LogicalKeyboardKey_4294967304, BrightnessDown: B.LogicalKeyboardKey_4294968833, BrightnessUp: B.LogicalKeyboardKey_4294968834, BrowserBack: B.LogicalKeyboardKey_4294970369, BrowserFavorites: B.LogicalKeyboardKey_4294970370, BrowserForward: B.LogicalKeyboardKey_4294970371, BrowserHome: B.LogicalKeyboardKey_4294970372, BrowserRefresh: B.LogicalKeyboardKey_4294970373, BrowserSearch: B.LogicalKeyboardKey_4294970374, BrowserStop: B.LogicalKeyboardKey_4294970375, Call: B.LogicalKeyboardKey_4294971394, Camera: B.LogicalKeyboardKey_4294968835, CameraFocus: B.LogicalKeyboardKey_4294971395, Cancel: B.LogicalKeyboardKey_4294968580, CapsLock: B.LogicalKeyboardKey_4294967556, ChannelDown: B.LogicalKeyboardKey_4294970634, ChannelUp: B.LogicalKeyboardKey_4294970635, Clear: B.LogicalKeyboardKey_4294968321, Close: B.LogicalKeyboardKey_4294969857, ClosedCaptionToggle: B.LogicalKeyboardKey_4294970642, CodeInput: B.LogicalKeyboardKey_4294969091, ColorF0Red: B.LogicalKeyboardKey_4294970636, ColorF1Green: B.LogicalKeyboardKey_4294970637, ColorF2Yellow: B.LogicalKeyboardKey_4294970638, ColorF3Blue: B.LogicalKeyboardKey_4294970639, ColorF4Grey: B.LogicalKeyboardKey_4294970640, ColorF5Brown: B.LogicalKeyboardKey_4294970641, Compose: B.LogicalKeyboardKey_4294969092, ContextMenu: B.LogicalKeyboardKey_4294968581, Convert: B.LogicalKeyboardKey_4294969093, Copy: B.LogicalKeyboardKey_4294968322, CrSel: B.LogicalKeyboardKey_4294968323, Cut: B.LogicalKeyboardKey_4294968324, DVR: B.LogicalKeyboardKey_4294970703, Delete: B.LogicalKeyboardKey_4294967423, Dimmer: B.LogicalKeyboardKey_4294970643, DisplaySwap: B.LogicalKeyboardKey_4294970644, Eisu: B.LogicalKeyboardKey_4294969108, Eject: B.LogicalKeyboardKey_4294968836, End: B.LogicalKeyboardKey_4294968069, EndCall: B.LogicalKeyboardKey_4294971396, Enter: B.LogicalKeyboardKey_4294967309, EraseEof: B.LogicalKeyboardKey_4294968325, Escape: B.LogicalKeyboardKey_4294967323, ExSel: B.LogicalKeyboardKey_4294968326, Execute: B.LogicalKeyboardKey_4294968582, Exit: B.LogicalKeyboardKey_4294970645, F1: B.LogicalKeyboardKey_4294969345, F10: B.LogicalKeyboardKey_4294969354, F11: B.LogicalKeyboardKey_4294969355, F12: B.LogicalKeyboardKey_4294969356, F13: B.LogicalKeyboardKey_4294969357, F14: B.LogicalKeyboardKey_4294969358, F15: B.LogicalKeyboardKey_4294969359, F16: B.LogicalKeyboardKey_4294969360, F17: B.LogicalKeyboardKey_4294969361, F18: B.LogicalKeyboardKey_4294969362, F19: B.LogicalKeyboardKey_4294969363, F2: B.LogicalKeyboardKey_4294969346, F20: B.LogicalKeyboardKey_4294969364, F21: B.LogicalKeyboardKey_4294969365, F22: B.LogicalKeyboardKey_4294969366, F23: B.LogicalKeyboardKey_4294969367, F24: B.LogicalKeyboardKey_4294969368, F3: B.LogicalKeyboardKey_4294969347, F4: B.LogicalKeyboardKey_4294969348, F5: B.LogicalKeyboardKey_4294969349, F6: B.LogicalKeyboardKey_4294969350, F7: B.LogicalKeyboardKey_4294969351, F8: B.LogicalKeyboardKey_4294969352, F9: B.LogicalKeyboardKey_4294969353, FavoriteClear0: B.LogicalKeyboardKey_4294970646, FavoriteClear1: B.LogicalKeyboardKey_4294970647, FavoriteClear2: B.LogicalKeyboardKey_4294970648, FavoriteClear3: B.LogicalKeyboardKey_4294970649, FavoriteRecall0: B.LogicalKeyboardKey_4294970650, FavoriteRecall1: B.LogicalKeyboardKey_4294970651, FavoriteRecall2: B.LogicalKeyboardKey_4294970652, FavoriteRecall3: B.LogicalKeyboardKey_4294970653, FavoriteStore0: B.LogicalKeyboardKey_4294970654, FavoriteStore1: B.LogicalKeyboardKey_4294970655, FavoriteStore2: B.LogicalKeyboardKey_4294970656, FavoriteStore3: B.LogicalKeyboardKey_4294970657, FinalMode: B.LogicalKeyboardKey_4294969094, Find: B.LogicalKeyboardKey_4294968583, Fn: B.LogicalKeyboardKey_4294967558, FnLock: B.LogicalKeyboardKey_4294967559, GoBack: B.LogicalKeyboardKey_4294971397, GoHome: B.LogicalKeyboardKey_4294971398, GroupFirst: B.LogicalKeyboardKey_4294969095, GroupLast: B.LogicalKeyboardKey_4294969096, GroupNext: B.LogicalKeyboardKey_4294969097, GroupPrevious: B.LogicalKeyboardKey_4294969098, Guide: B.LogicalKeyboardKey_4294970658, GuideNextDay: B.LogicalKeyboardKey_4294970659, GuidePreviousDay: B.LogicalKeyboardKey_4294970660, HangulMode: B.LogicalKeyboardKey_4294969105, HanjaMode: B.LogicalKeyboardKey_4294969106, Hankaku: B.LogicalKeyboardKey_4294969109, HeadsetHook: B.LogicalKeyboardKey_4294971399, Help: B.LogicalKeyboardKey_4294968584, Hibernate: B.LogicalKeyboardKey_4294968841, Hiragana: B.LogicalKeyboardKey_4294969110, HiraganaKatakana: B.LogicalKeyboardKey_4294969111, Home: B.LogicalKeyboardKey_4294968070, Hyper: B.LogicalKeyboardKey_4294967560, Info: B.LogicalKeyboardKey_4294970661, Insert: B.LogicalKeyboardKey_4294968327, InstantReplay: B.LogicalKeyboardKey_4294970662, JunjaMode: B.LogicalKeyboardKey_4294969107, KanaMode: B.LogicalKeyboardKey_4294969112, KanjiMode: B.LogicalKeyboardKey_4294969113, Katakana: B.LogicalKeyboardKey_4294969114, Key11: B.LogicalKeyboardKey_4294971905, Key12: B.LogicalKeyboardKey_4294971906, LastNumberRedial: B.LogicalKeyboardKey_4294971400, LaunchApplication1: B.LogicalKeyboardKey_4294970118, LaunchApplication2: B.LogicalKeyboardKey_4294970113, LaunchAssistant: B.LogicalKeyboardKey_4294970126, LaunchCalendar: B.LogicalKeyboardKey_4294970114, LaunchContacts: B.LogicalKeyboardKey_4294970124, LaunchControlPanel: B.LogicalKeyboardKey_4294970127, LaunchMail: B.LogicalKeyboardKey_4294970115, LaunchMediaPlayer: B.LogicalKeyboardKey_4294970116, LaunchMusicPlayer: B.LogicalKeyboardKey_4294970117, LaunchPhone: B.LogicalKeyboardKey_4294970125, LaunchScreenSaver: B.LogicalKeyboardKey_4294970119, LaunchSpreadsheet: B.LogicalKeyboardKey_4294970120, LaunchWebBrowser: B.LogicalKeyboardKey_4294970121, LaunchWebCam: B.LogicalKeyboardKey_4294970122, LaunchWordProcessor: B.LogicalKeyboardKey_4294970123, Link: B.LogicalKeyboardKey_4294970663, ListProgram: B.LogicalKeyboardKey_4294970664, LiveContent: B.LogicalKeyboardKey_4294970665, Lock: B.LogicalKeyboardKey_4294970666, LogOff: B.LogicalKeyboardKey_4294968837, MailForward: B.LogicalKeyboardKey_4294969858, MailReply: B.LogicalKeyboardKey_4294969859, MailSend: B.LogicalKeyboardKey_4294969860, MannerMode: B.LogicalKeyboardKey_4294971402, MediaApps: B.LogicalKeyboardKey_4294970667, MediaAudioTrack: B.LogicalKeyboardKey_4294970704, MediaClose: B.LogicalKeyboardKey_4294970715, MediaFastForward: B.LogicalKeyboardKey_4294970668, MediaLast: B.LogicalKeyboardKey_4294970669, MediaPause: B.LogicalKeyboardKey_4294970670, MediaPlay: B.LogicalKeyboardKey_4294970671, MediaPlayPause: B.LogicalKeyboardKey_4294969861, MediaRecord: B.LogicalKeyboardKey_4294970672, MediaRewind: B.LogicalKeyboardKey_4294970673, MediaSkip: B.LogicalKeyboardKey_4294970674, MediaSkipBackward: B.LogicalKeyboardKey_4294970705, MediaSkipForward: B.LogicalKeyboardKey_4294970706, MediaStepBackward: B.LogicalKeyboardKey_4294970707, MediaStepForward: B.LogicalKeyboardKey_4294970708, MediaStop: B.LogicalKeyboardKey_4294969863, MediaTopMenu: B.LogicalKeyboardKey_4294970709, MediaTrackNext: B.LogicalKeyboardKey_4294969864, MediaTrackPrevious: B.LogicalKeyboardKey_4294969865, MicrophoneToggle: B.LogicalKeyboardKey_4294970886, MicrophoneVolumeDown: B.LogicalKeyboardKey_4294970887, MicrophoneVolumeMute: B.LogicalKeyboardKey_4294970889, MicrophoneVolumeUp: B.LogicalKeyboardKey_4294970888, ModeChange: B.LogicalKeyboardKey_4294969099, NavigateIn: B.LogicalKeyboardKey_4294970710, NavigateNext: B.LogicalKeyboardKey_4294970711, NavigateOut: B.LogicalKeyboardKey_4294970712, NavigatePrevious: B.LogicalKeyboardKey_4294970713, New: B.LogicalKeyboardKey_4294969866, NextCandidate: B.LogicalKeyboardKey_4294969100, NextFavoriteChannel: B.LogicalKeyboardKey_4294970675, NextUserProfile: B.LogicalKeyboardKey_4294970676, NonConvert: B.LogicalKeyboardKey_4294969101, Notification: B.LogicalKeyboardKey_4294971401, NumLock: B.LogicalKeyboardKey_4294967562, OnDemand: B.LogicalKeyboardKey_4294970677, Open: B.LogicalKeyboardKey_4294969867, PageDown: B.LogicalKeyboardKey_4294968071, PageUp: B.LogicalKeyboardKey_4294968072, Pairing: B.LogicalKeyboardKey_4294970714, Paste: B.LogicalKeyboardKey_4294968328, Pause: B.LogicalKeyboardKey_4294968585, PinPDown: B.LogicalKeyboardKey_4294970678, PinPMove: B.LogicalKeyboardKey_4294970679, PinPToggle: B.LogicalKeyboardKey_4294970680, PinPUp: B.LogicalKeyboardKey_4294970681, Play: B.LogicalKeyboardKey_4294968586, PlaySpeedDown: B.LogicalKeyboardKey_4294970682, PlaySpeedReset: B.LogicalKeyboardKey_4294970683, PlaySpeedUp: B.LogicalKeyboardKey_4294970684, Power: B.LogicalKeyboardKey_4294968838, PowerOff: B.LogicalKeyboardKey_4294968839, PreviousCandidate: B.LogicalKeyboardKey_4294969102, Print: B.LogicalKeyboardKey_4294969868, PrintScreen: B.LogicalKeyboardKey_4294968840, Process: B.LogicalKeyboardKey_4294969103, Props: B.LogicalKeyboardKey_4294968587, RandomToggle: B.LogicalKeyboardKey_4294970685, RcLowBattery: B.LogicalKeyboardKey_4294970686, RecordSpeedNext: B.LogicalKeyboardKey_4294970687, Redo: B.LogicalKeyboardKey_4294968329, RfBypass: B.LogicalKeyboardKey_4294970688, Romaji: B.LogicalKeyboardKey_4294969115, STBInput: B.LogicalKeyboardKey_4294970693, STBPower: B.LogicalKeyboardKey_4294970694, Save: B.LogicalKeyboardKey_4294969869, ScanChannelsToggle: B.LogicalKeyboardKey_4294970689, ScreenModeNext: B.LogicalKeyboardKey_4294970690, ScrollLock: B.LogicalKeyboardKey_4294967564, Select: B.LogicalKeyboardKey_4294968588, Settings: B.LogicalKeyboardKey_4294970691, ShiftLevel5: B.LogicalKeyboardKey_4294967569, SingleCandidate: B.LogicalKeyboardKey_4294969104, Soft1: B.LogicalKeyboardKey_4294969601, Soft2: B.LogicalKeyboardKey_4294969602, Soft3: B.LogicalKeyboardKey_4294969603, Soft4: B.LogicalKeyboardKey_4294969604, Soft5: B.LogicalKeyboardKey_4294969605, Soft6: B.LogicalKeyboardKey_4294969606, Soft7: B.LogicalKeyboardKey_4294969607, Soft8: B.LogicalKeyboardKey_4294969608, SpeechCorrectionList: B.LogicalKeyboardKey_4294971137, SpeechInputToggle: B.LogicalKeyboardKey_4294971138, SpellCheck: B.LogicalKeyboardKey_4294969870, SplitScreenToggle: B.LogicalKeyboardKey_4294970692, Standby: B.LogicalKeyboardKey_4294968842, Subtitle: B.LogicalKeyboardKey_4294970695, Super: B.LogicalKeyboardKey_4294967566, Symbol: B.LogicalKeyboardKey_4294967567, SymbolLock: B.LogicalKeyboardKey_4294967568, TV: B.LogicalKeyboardKey_4294970697, TV3DMode: B.LogicalKeyboardKey_4294971649, TVAntennaCable: B.LogicalKeyboardKey_4294971650, TVAudioDescription: B.LogicalKeyboardKey_4294971651, TVAudioDescriptionMixDown: B.LogicalKeyboardKey_4294971652, TVAudioDescriptionMixUp: B.LogicalKeyboardKey_4294971653, TVContentsMenu: B.LogicalKeyboardKey_4294971654, TVDataService: B.LogicalKeyboardKey_4294971655, TVInput: B.LogicalKeyboardKey_4294970698, TVInputComponent1: B.LogicalKeyboardKey_4294971656, TVInputComponent2: B.LogicalKeyboardKey_4294971657, TVInputComposite1: B.LogicalKeyboardKey_4294971658, TVInputComposite2: B.LogicalKeyboardKey_4294971659, TVInputHDMI1: B.LogicalKeyboardKey_4294971660, TVInputHDMI2: B.LogicalKeyboardKey_4294971661, TVInputHDMI3: B.LogicalKeyboardKey_4294971662, TVInputHDMI4: B.LogicalKeyboardKey_4294971663, TVInputVGA1: B.LogicalKeyboardKey_4294971664, TVMediaContext: B.LogicalKeyboardKey_4294971665, TVNetwork: B.LogicalKeyboardKey_4294971666, TVNumberEntry: B.LogicalKeyboardKey_4294971667, TVPower: B.LogicalKeyboardKey_4294970699, TVRadioService: B.LogicalKeyboardKey_4294971668, TVSatellite: B.LogicalKeyboardKey_4294971669, TVSatelliteBS: B.LogicalKeyboardKey_4294971670, TVSatelliteCS: B.LogicalKeyboardKey_4294971671, TVSatelliteToggle: B.LogicalKeyboardKey_4294971672, TVTerrestrialAnalog: B.LogicalKeyboardKey_4294971673, TVTerrestrialDigital: B.LogicalKeyboardKey_4294971674, TVTimer: B.LogicalKeyboardKey_4294971675, Tab: B.LogicalKeyboardKey_4294967305, Teletext: B.LogicalKeyboardKey_4294970696, Undo: B.LogicalKeyboardKey_4294968330, Unidentified: B.LogicalKeyboardKey_4294967297, VideoModeNext: B.LogicalKeyboardKey_4294970700, VoiceDial: B.LogicalKeyboardKey_4294971403, WakeUp: B.LogicalKeyboardKey_4294968843, Wink: B.LogicalKeyboardKey_4294970701, Zenkaku: B.LogicalKeyboardKey_4294969116, ZenkakuHankaku: B.LogicalKeyboardKey_4294969117, ZoomIn: B.LogicalKeyboardKey_4294968589, ZoomOut: B.LogicalKeyboardKey_4294968590, ZoomToggle: B.LogicalKeyboardKey_4294970702}, B.List_0mM, A.findType("ConstantStringMap<String,LogicalKeyboardKey>"));
    B.Map_0mogo = new A.ConstantStringMap(300, {AVRInput: 4294970632, AVRPower: 4294970633, Accel: 4294967553, Accept: 4294968577, Again: 4294968578, AllCandidates: 4294969089, Alphanumeric: 4294969090, AltGraph: 4294967555, AppSwitch: 4294971393, ArrowDown: 4294968065, ArrowLeft: 4294968066, ArrowRight: 4294968067, ArrowUp: 4294968068, Attn: 4294968579, AudioBalanceLeft: 4294970625, AudioBalanceRight: 4294970626, AudioBassBoostDown: 4294970627, AudioBassBoostToggle: 4294970882, AudioBassBoostUp: 4294970628, AudioFaderFront: 4294970629, AudioFaderRear: 4294970630, AudioSurroundModeNext: 4294970631, AudioTrebleDown: 4294970884, AudioTrebleUp: 4294970885, AudioVolumeDown: 4294969871, AudioVolumeMute: 4294969873, AudioVolumeUp: 4294969872, Backspace: 4294967304, BrightnessDown: 4294968833, BrightnessUp: 4294968834, BrowserBack: 4294970369, BrowserFavorites: 4294970370, BrowserForward: 4294970371, BrowserHome: 4294970372, BrowserRefresh: 4294970373, BrowserSearch: 4294970374, BrowserStop: 4294970375, Call: 4294971394, Camera: 4294968835, CameraFocus: 4294971395, Cancel: 4294968580, CapsLock: 4294967556, ChannelDown: 4294970634, ChannelUp: 4294970635, Clear: 4294968321, Close: 4294969857, ClosedCaptionToggle: 4294970642, CodeInput: 4294969091, ColorF0Red: 4294970636, ColorF1Green: 4294970637, ColorF2Yellow: 4294970638, ColorF3Blue: 4294970639, ColorF4Grey: 4294970640, ColorF5Brown: 4294970641, Compose: 4294969092, ContextMenu: 4294968581, Convert: 4294969093, Copy: 4294968322, CrSel: 4294968323, Cut: 4294968324, DVR: 4294970703, Delete: 4294967423, Dimmer: 4294970643, DisplaySwap: 4294970644, Eisu: 4294969108, Eject: 4294968836, End: 4294968069, EndCall: 4294971396, Enter: 4294967309, EraseEof: 4294968325, Escape: 4294967323, ExSel: 4294968326, Execute: 4294968582, Exit: 4294970645, F1: 4294969345, F10: 4294969354, F11: 4294969355, F12: 4294969356, F13: 4294969357, F14: 4294969358, F15: 4294969359, F16: 4294969360, F17: 4294969361, F18: 4294969362, F19: 4294969363, F2: 4294969346, F20: 4294969364, F21: 4294969365, F22: 4294969366, F23: 4294969367, F24: 4294969368, F3: 4294969347, F4: 4294969348, F5: 4294969349, F6: 4294969350, F7: 4294969351, F8: 4294969352, F9: 4294969353, FavoriteClear0: 4294970646, FavoriteClear1: 4294970647, FavoriteClear2: 4294970648, FavoriteClear3: 4294970649, FavoriteRecall0: 4294970650, FavoriteRecall1: 4294970651, FavoriteRecall2: 4294970652, FavoriteRecall3: 4294970653, FavoriteStore0: 4294970654, FavoriteStore1: 4294970655, FavoriteStore2: 4294970656, FavoriteStore3: 4294970657, FinalMode: 4294969094, Find: 4294968583, Fn: 4294967558, FnLock: 4294967559, GoBack: 4294971397, GoHome: 4294971398, GroupFirst: 4294969095, GroupLast: 4294969096, GroupNext: 4294969097, GroupPrevious: 4294969098, Guide: 4294970658, GuideNextDay: 4294970659, GuidePreviousDay: 4294970660, HangulMode: 4294969105, HanjaMode: 4294969106, Hankaku: 4294969109, HeadsetHook: 4294971399, Help: 4294968584, Hibernate: 4294968841, Hiragana: 4294969110, HiraganaKatakana: 4294969111, Home: 4294968070, Hyper: 4294967560, Info: 4294970661, Insert: 4294968327, InstantReplay: 4294970662, JunjaMode: 4294969107, KanaMode: 4294969112, KanjiMode: 4294969113, Katakana: 4294969114, Key11: 4294971905, Key12: 4294971906, LastNumberRedial: 4294971400, LaunchApplication1: 4294970118, LaunchApplication2: 4294970113, LaunchAssistant: 4294970126, LaunchCalendar: 4294970114, LaunchContacts: 4294970124, LaunchControlPanel: 4294970127, LaunchMail: 4294970115, LaunchMediaPlayer: 4294970116, LaunchMusicPlayer: 4294970117, LaunchPhone: 4294970125, LaunchScreenSaver: 4294970119, LaunchSpreadsheet: 4294970120, LaunchWebBrowser: 4294970121, LaunchWebCam: 4294970122, LaunchWordProcessor: 4294970123, Link: 4294970663, ListProgram: 4294970664, LiveContent: 4294970665, Lock: 4294970666, LogOff: 4294968837, MailForward: 4294969858, MailReply: 4294969859, MailSend: 4294969860, MannerMode: 4294971402, MediaApps: 4294970667, MediaAudioTrack: 4294970704, MediaClose: 4294970715, MediaFastForward: 4294970668, MediaLast: 4294970669, MediaPause: 4294970670, MediaPlay: 4294970671, MediaPlayPause: 4294969861, MediaRecord: 4294970672, MediaRewind: 4294970673, MediaSkip: 4294970674, MediaSkipBackward: 4294970705, MediaSkipForward: 4294970706, MediaStepBackward: 4294970707, MediaStepForward: 4294970708, MediaStop: 4294969863, MediaTopMenu: 4294970709, MediaTrackNext: 4294969864, MediaTrackPrevious: 4294969865, MicrophoneToggle: 4294970886, MicrophoneVolumeDown: 4294970887, MicrophoneVolumeMute: 4294970889, MicrophoneVolumeUp: 4294970888, ModeChange: 4294969099, NavigateIn: 4294970710, NavigateNext: 4294970711, NavigateOut: 4294970712, NavigatePrevious: 4294970713, New: 4294969866, NextCandidate: 4294969100, NextFavoriteChannel: 4294970675, NextUserProfile: 4294970676, NonConvert: 4294969101, Notification: 4294971401, NumLock: 4294967562, OnDemand: 4294970677, Open: 4294969867, PageDown: 4294968071, PageUp: 4294968072, Pairing: 4294970714, Paste: 4294968328, Pause: 4294968585, PinPDown: 4294970678, PinPMove: 4294970679, PinPToggle: 4294970680, PinPUp: 4294970681, Play: 4294968586, PlaySpeedDown: 4294970682, PlaySpeedReset: 4294970683, PlaySpeedUp: 4294970684, Power: 4294968838, PowerOff: 4294968839, PreviousCandidate: 4294969102, Print: 4294969868, PrintScreen: 4294968840, Process: 4294969103, Props: 4294968587, RandomToggle: 4294970685, RcLowBattery: 4294970686, RecordSpeedNext: 4294970687, Redo: 4294968329, RfBypass: 4294970688, Romaji: 4294969115, STBInput: 4294970693, STBPower: 4294970694, Save: 4294969869, ScanChannelsToggle: 4294970689, ScreenModeNext: 4294970690, ScrollLock: 4294967564, Select: 4294968588, Settings: 4294970691, ShiftLevel5: 4294967569, SingleCandidate: 4294969104, Soft1: 4294969601, Soft2: 4294969602, Soft3: 4294969603, Soft4: 4294969604, Soft5: 4294969605, Soft6: 4294969606, Soft7: 4294969607, Soft8: 4294969608, SpeechCorrectionList: 4294971137, SpeechInputToggle: 4294971138, SpellCheck: 4294969870, SplitScreenToggle: 4294970692, Standby: 4294968842, Subtitle: 4294970695, Super: 4294967566, Symbol: 4294967567, SymbolLock: 4294967568, TV: 4294970697, TV3DMode: 4294971649, TVAntennaCable: 4294971650, TVAudioDescription: 4294971651, TVAudioDescriptionMixDown: 4294971652, TVAudioDescriptionMixUp: 4294971653, TVContentsMenu: 4294971654, TVDataService: 4294971655, TVInput: 4294970698, TVInputComponent1: 4294971656, TVInputComponent2: 4294971657, TVInputComposite1: 4294971658, TVInputComposite2: 4294971659, TVInputHDMI1: 4294971660, TVInputHDMI2: 4294971661, TVInputHDMI3: 4294971662, TVInputHDMI4: 4294971663, TVInputVGA1: 4294971664, TVMediaContext: 4294971665, TVNetwork: 4294971666, TVNumberEntry: 4294971667, TVPower: 4294970699, TVRadioService: 4294971668, TVSatellite: 4294971669, TVSatelliteBS: 4294971670, TVSatelliteCS: 4294971671, TVSatelliteToggle: 4294971672, TVTerrestrialAnalog: 4294971673, TVTerrestrialDigital: 4294971674, TVTimer: 4294971675, Tab: 4294967305, Teletext: 4294970696, Undo: 4294968330, Unidentified: 4294967297, VideoModeNext: 4294970700, VoiceDial: 4294971403, WakeUp: 4294968843, Wink: 4294970701, Zenkaku: 4294969116, ZenkakuHankaku: 4294969117, ZoomIn: 4294968589, ZoomOut: 4294968590, ZoomToggle: 4294970702}, B.List_0mM, type$.ConstantStringMap_String_int);
    B.List_1kC = A._setArrayType(makeConstList(["Abort", "Again", "AltLeft", "AltRight", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "AudioVolumeDown", "AudioVolumeMute", "AudioVolumeUp", "Backquote", "Backslash", "Backspace", "BassBoost", "BracketLeft", "BracketRight", "BrightnessAuto", "BrightnessDown", "BrightnessMaximum", "BrightnessMinimum", "BrightnessToggle", "BrightnessUp", "BrowserBack", "BrowserFavorites", "BrowserForward", "BrowserHome", "BrowserRefresh", "BrowserSearch", "BrowserStop", "CapsLock", "ChannelDown", "ChannelUp", "Close", "ClosedCaptionToggle", "Comma", "ContextMenu", "ControlLeft", "ControlRight", "Convert", "Copy", "Cut", "Delete", "Digit0", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "DisplayToggleIntExt", "Eject", "End", "Enter", "Equal", "Escape", "Exit", "F1", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F2", "F20", "F21", "F22", "F23", "F24", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "Find", "Fn", "FnLock", "GameButton1", "GameButton10", "GameButton11", "GameButton12", "GameButton13", "GameButton14", "GameButton15", "GameButton16", "GameButton2", "GameButton3", "GameButton4", "GameButton5", "GameButton6", "GameButton7", "GameButton8", "GameButton9", "GameButtonA", "GameButtonB", "GameButtonC", "GameButtonLeft1", "GameButtonLeft2", "GameButtonMode", "GameButtonRight1", "GameButtonRight2", "GameButtonSelect", "GameButtonStart", "GameButtonThumbLeft", "GameButtonThumbRight", "GameButtonX", "GameButtonY", "GameButtonZ", "Help", "Home", "Hyper", "Info", "Insert", "IntlBackslash", "IntlRo", "IntlYen", "KanaMode", "KbdIllumDown", "KbdIllumUp", "KeyA", "KeyB", "KeyC", "KeyD", "KeyE", "KeyF", "KeyG", "KeyH", "KeyI", "KeyJ", "KeyK", "KeyL", "KeyM", "KeyN", "KeyO", "KeyP", "KeyQ", "KeyR", "KeyS", "KeyT", "KeyU", "KeyV", "KeyW", "KeyX", "KeyY", "KeyZ", "KeyboardLayoutSelect", "Lang1", "Lang2", "Lang3", "Lang4", "Lang5", "LaunchApp1", "LaunchApp2", "LaunchAssistant", "LaunchAudioBrowser", "LaunchCalendar", "LaunchContacts", "LaunchControlPanel", "LaunchDocuments", "LaunchInternetBrowser", "LaunchKeyboardLayout", "LaunchMail", "LaunchPhone", "LaunchScreenSaver", "LaunchSpreadsheet", "LaunchWordProcessor", "LockScreen", "LogOff", "MailForward", "MailReply", "MailSend", "MediaFastForward", "MediaLast", "MediaPause", "MediaPlay", "MediaPlayPause", "MediaRecord", "MediaRewind", "MediaSelect", "MediaStop", "MediaTrackNext", "MediaTrackPrevious", "MetaLeft", "MetaRight", "MicrophoneMuteToggle", "Minus", "New", "NonConvert", "NumLock", "Numpad0", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "NumpadAdd", "NumpadBackspace", "NumpadClear", "NumpadClearEntry", "NumpadComma", "NumpadDecimal", "NumpadDivide", "NumpadEnter", "NumpadEqual", "NumpadMemoryAdd", "NumpadMemoryClear", "NumpadMemoryRecall", "NumpadMemoryStore", "NumpadMemorySubtract", "NumpadMultiply", "NumpadParenLeft", "NumpadParenRight", "NumpadSignChange", "NumpadSubtract", "Open", "PageDown", "PageUp", "Paste", "Pause", "Period", "Power", "Print", "PrintScreen", "PrivacyScreenToggle", "ProgramGuide", "Props", "Quote", "Redo", "Resume", "Save", "ScrollLock", "Select", "SelectTask", "Semicolon", "ShiftLeft", "ShiftRight", "ShowAllWindows", "Slash", "Sleep", "Space", "SpeechInputToggle", "SpellCheck", "Super", "Suspend", "Tab", "Turbo", "Undo", "UsbErrorRollOver", "UsbErrorUndefined", "UsbPostFail", "UsbReserved", "WakeUp", "ZoomIn", "ZoomOut", "ZoomToggle"]), type$.JSArray_String);
    B.PhysicalKeyboardKey_458907 = new A.PhysicalKeyboardKey(458907);
    B.PhysicalKeyboardKey_458873 = new A.PhysicalKeyboardKey(458873);
    B.PhysicalKeyboardKey_458978 = new A.PhysicalKeyboardKey(458978);
    B.PhysicalKeyboardKey_458982 = new A.PhysicalKeyboardKey(458982);
    B.PhysicalKeyboardKey_458833 = new A.PhysicalKeyboardKey(458833);
    B.PhysicalKeyboardKey_458832 = new A.PhysicalKeyboardKey(458832);
    B.PhysicalKeyboardKey_458831 = new A.PhysicalKeyboardKey(458831);
    B.PhysicalKeyboardKey_458834 = new A.PhysicalKeyboardKey(458834);
    B.PhysicalKeyboardKey_458881 = new A.PhysicalKeyboardKey(458881);
    B.PhysicalKeyboardKey_458879 = new A.PhysicalKeyboardKey(458879);
    B.PhysicalKeyboardKey_458880 = new A.PhysicalKeyboardKey(458880);
    B.PhysicalKeyboardKey_458805 = new A.PhysicalKeyboardKey(458805);
    B.PhysicalKeyboardKey_458801 = new A.PhysicalKeyboardKey(458801);
    B.PhysicalKeyboardKey_458794 = new A.PhysicalKeyboardKey(458794);
    B.PhysicalKeyboardKey_786661 = new A.PhysicalKeyboardKey(786661);
    B.PhysicalKeyboardKey_458799 = new A.PhysicalKeyboardKey(458799);
    B.PhysicalKeyboardKey_458800 = new A.PhysicalKeyboardKey(458800);
    B.PhysicalKeyboardKey_786549 = new A.PhysicalKeyboardKey(786549);
    B.PhysicalKeyboardKey_786544 = new A.PhysicalKeyboardKey(786544);
    B.PhysicalKeyboardKey_786548 = new A.PhysicalKeyboardKey(786548);
    B.PhysicalKeyboardKey_786547 = new A.PhysicalKeyboardKey(786547);
    B.PhysicalKeyboardKey_786546 = new A.PhysicalKeyboardKey(786546);
    B.PhysicalKeyboardKey_786543 = new A.PhysicalKeyboardKey(786543);
    B.PhysicalKeyboardKey_786980 = new A.PhysicalKeyboardKey(786980);
    B.PhysicalKeyboardKey_786986 = new A.PhysicalKeyboardKey(786986);
    B.PhysicalKeyboardKey_786981 = new A.PhysicalKeyboardKey(786981);
    B.PhysicalKeyboardKey_786979 = new A.PhysicalKeyboardKey(786979);
    B.PhysicalKeyboardKey_786983 = new A.PhysicalKeyboardKey(786983);
    B.PhysicalKeyboardKey_786977 = new A.PhysicalKeyboardKey(786977);
    B.PhysicalKeyboardKey_786982 = new A.PhysicalKeyboardKey(786982);
    B.PhysicalKeyboardKey_458809 = new A.PhysicalKeyboardKey(458809);
    B.PhysicalKeyboardKey_786589 = new A.PhysicalKeyboardKey(786589);
    B.PhysicalKeyboardKey_786588 = new A.PhysicalKeyboardKey(786588);
    B.PhysicalKeyboardKey_786947 = new A.PhysicalKeyboardKey(786947);
    B.PhysicalKeyboardKey_786529 = new A.PhysicalKeyboardKey(786529);
    B.PhysicalKeyboardKey_458806 = new A.PhysicalKeyboardKey(458806);
    B.PhysicalKeyboardKey_458853 = new A.PhysicalKeyboardKey(458853);
    B.PhysicalKeyboardKey_458976 = new A.PhysicalKeyboardKey(458976);
    B.PhysicalKeyboardKey_458980 = new A.PhysicalKeyboardKey(458980);
    B.PhysicalKeyboardKey_458890 = new A.PhysicalKeyboardKey(458890);
    B.PhysicalKeyboardKey_458876 = new A.PhysicalKeyboardKey(458876);
    B.PhysicalKeyboardKey_458875 = new A.PhysicalKeyboardKey(458875);
    B.PhysicalKeyboardKey_458828 = new A.PhysicalKeyboardKey(458828);
    B.PhysicalKeyboardKey_458791 = new A.PhysicalKeyboardKey(458791);
    B.PhysicalKeyboardKey_458782 = new A.PhysicalKeyboardKey(458782);
    B.PhysicalKeyboardKey_458783 = new A.PhysicalKeyboardKey(458783);
    B.PhysicalKeyboardKey_458784 = new A.PhysicalKeyboardKey(458784);
    B.PhysicalKeyboardKey_458785 = new A.PhysicalKeyboardKey(458785);
    B.PhysicalKeyboardKey_458786 = new A.PhysicalKeyboardKey(458786);
    B.PhysicalKeyboardKey_458787 = new A.PhysicalKeyboardKey(458787);
    B.PhysicalKeyboardKey_458788 = new A.PhysicalKeyboardKey(458788);
    B.PhysicalKeyboardKey_458789 = new A.PhysicalKeyboardKey(458789);
    B.PhysicalKeyboardKey_458790 = new A.PhysicalKeyboardKey(458790);
    B.PhysicalKeyboardKey_65717 = new A.PhysicalKeyboardKey(65717);
    B.PhysicalKeyboardKey_786616 = new A.PhysicalKeyboardKey(786616);
    B.PhysicalKeyboardKey_458829 = new A.PhysicalKeyboardKey(458829);
    B.PhysicalKeyboardKey_458792 = new A.PhysicalKeyboardKey(458792);
    B.PhysicalKeyboardKey_458798 = new A.PhysicalKeyboardKey(458798);
    B.PhysicalKeyboardKey_458793 = new A.PhysicalKeyboardKey(458793);
    B.PhysicalKeyboardKey_786580 = new A.PhysicalKeyboardKey(786580);
    B.PhysicalKeyboardKey_458810 = new A.PhysicalKeyboardKey(458810);
    B.PhysicalKeyboardKey_458819 = new A.PhysicalKeyboardKey(458819);
    B.PhysicalKeyboardKey_458820 = new A.PhysicalKeyboardKey(458820);
    B.PhysicalKeyboardKey_458821 = new A.PhysicalKeyboardKey(458821);
    B.PhysicalKeyboardKey_458856 = new A.PhysicalKeyboardKey(458856);
    B.PhysicalKeyboardKey_458857 = new A.PhysicalKeyboardKey(458857);
    B.PhysicalKeyboardKey_458858 = new A.PhysicalKeyboardKey(458858);
    B.PhysicalKeyboardKey_458859 = new A.PhysicalKeyboardKey(458859);
    B.PhysicalKeyboardKey_458860 = new A.PhysicalKeyboardKey(458860);
    B.PhysicalKeyboardKey_458861 = new A.PhysicalKeyboardKey(458861);
    B.PhysicalKeyboardKey_458862 = new A.PhysicalKeyboardKey(458862);
    B.PhysicalKeyboardKey_458811 = new A.PhysicalKeyboardKey(458811);
    B.PhysicalKeyboardKey_458863 = new A.PhysicalKeyboardKey(458863);
    B.PhysicalKeyboardKey_458864 = new A.PhysicalKeyboardKey(458864);
    B.PhysicalKeyboardKey_458865 = new A.PhysicalKeyboardKey(458865);
    B.PhysicalKeyboardKey_458866 = new A.PhysicalKeyboardKey(458866);
    B.PhysicalKeyboardKey_458867 = new A.PhysicalKeyboardKey(458867);
    B.PhysicalKeyboardKey_458812 = new A.PhysicalKeyboardKey(458812);
    B.PhysicalKeyboardKey_458813 = new A.PhysicalKeyboardKey(458813);
    B.PhysicalKeyboardKey_458814 = new A.PhysicalKeyboardKey(458814);
    B.PhysicalKeyboardKey_458815 = new A.PhysicalKeyboardKey(458815);
    B.PhysicalKeyboardKey_458816 = new A.PhysicalKeyboardKey(458816);
    B.PhysicalKeyboardKey_458817 = new A.PhysicalKeyboardKey(458817);
    B.PhysicalKeyboardKey_458818 = new A.PhysicalKeyboardKey(458818);
    B.PhysicalKeyboardKey_458878 = new A.PhysicalKeyboardKey(458878);
    B.PhysicalKeyboardKey_18 = new A.PhysicalKeyboardKey(18);
    B.PhysicalKeyboardKey_19 = new A.PhysicalKeyboardKey(19);
    B.PhysicalKeyboardKey_392961 = new A.PhysicalKeyboardKey(392961);
    B.PhysicalKeyboardKey_392970 = new A.PhysicalKeyboardKey(392970);
    B.PhysicalKeyboardKey_392971 = new A.PhysicalKeyboardKey(392971);
    B.PhysicalKeyboardKey_392972 = new A.PhysicalKeyboardKey(392972);
    B.PhysicalKeyboardKey_392973 = new A.PhysicalKeyboardKey(392973);
    B.PhysicalKeyboardKey_392974 = new A.PhysicalKeyboardKey(392974);
    B.PhysicalKeyboardKey_392975 = new A.PhysicalKeyboardKey(392975);
    B.PhysicalKeyboardKey_392976 = new A.PhysicalKeyboardKey(392976);
    B.PhysicalKeyboardKey_392962 = new A.PhysicalKeyboardKey(392962);
    B.PhysicalKeyboardKey_392963 = new A.PhysicalKeyboardKey(392963);
    B.PhysicalKeyboardKey_392964 = new A.PhysicalKeyboardKey(392964);
    B.PhysicalKeyboardKey_392965 = new A.PhysicalKeyboardKey(392965);
    B.PhysicalKeyboardKey_392966 = new A.PhysicalKeyboardKey(392966);
    B.PhysicalKeyboardKey_392967 = new A.PhysicalKeyboardKey(392967);
    B.PhysicalKeyboardKey_392968 = new A.PhysicalKeyboardKey(392968);
    B.PhysicalKeyboardKey_392969 = new A.PhysicalKeyboardKey(392969);
    B.PhysicalKeyboardKey_392977 = new A.PhysicalKeyboardKey(392977);
    B.PhysicalKeyboardKey_392978 = new A.PhysicalKeyboardKey(392978);
    B.PhysicalKeyboardKey_392979 = new A.PhysicalKeyboardKey(392979);
    B.PhysicalKeyboardKey_392980 = new A.PhysicalKeyboardKey(392980);
    B.PhysicalKeyboardKey_392981 = new A.PhysicalKeyboardKey(392981);
    B.PhysicalKeyboardKey_392982 = new A.PhysicalKeyboardKey(392982);
    B.PhysicalKeyboardKey_392983 = new A.PhysicalKeyboardKey(392983);
    B.PhysicalKeyboardKey_392984 = new A.PhysicalKeyboardKey(392984);
    B.PhysicalKeyboardKey_392985 = new A.PhysicalKeyboardKey(392985);
    B.PhysicalKeyboardKey_392986 = new A.PhysicalKeyboardKey(392986);
    B.PhysicalKeyboardKey_392987 = new A.PhysicalKeyboardKey(392987);
    B.PhysicalKeyboardKey_392988 = new A.PhysicalKeyboardKey(392988);
    B.PhysicalKeyboardKey_392989 = new A.PhysicalKeyboardKey(392989);
    B.PhysicalKeyboardKey_392990 = new A.PhysicalKeyboardKey(392990);
    B.PhysicalKeyboardKey_392991 = new A.PhysicalKeyboardKey(392991);
    B.PhysicalKeyboardKey_458869 = new A.PhysicalKeyboardKey(458869);
    B.PhysicalKeyboardKey_458826 = new A.PhysicalKeyboardKey(458826);
    B.PhysicalKeyboardKey_16 = new A.PhysicalKeyboardKey(16);
    B.PhysicalKeyboardKey_786528 = new A.PhysicalKeyboardKey(786528);
    B.PhysicalKeyboardKey_458825 = new A.PhysicalKeyboardKey(458825);
    B.PhysicalKeyboardKey_458852 = new A.PhysicalKeyboardKey(458852);
    B.PhysicalKeyboardKey_458887 = new A.PhysicalKeyboardKey(458887);
    B.PhysicalKeyboardKey_458889 = new A.PhysicalKeyboardKey(458889);
    B.PhysicalKeyboardKey_458888 = new A.PhysicalKeyboardKey(458888);
    B.PhysicalKeyboardKey_786554 = new A.PhysicalKeyboardKey(786554);
    B.PhysicalKeyboardKey_786553 = new A.PhysicalKeyboardKey(786553);
    B.PhysicalKeyboardKey_458756 = new A.PhysicalKeyboardKey(458756);
    B.PhysicalKeyboardKey_458757 = new A.PhysicalKeyboardKey(458757);
    B.PhysicalKeyboardKey_458758 = new A.PhysicalKeyboardKey(458758);
    B.PhysicalKeyboardKey_458759 = new A.PhysicalKeyboardKey(458759);
    B.PhysicalKeyboardKey_458760 = new A.PhysicalKeyboardKey(458760);
    B.PhysicalKeyboardKey_458761 = new A.PhysicalKeyboardKey(458761);
    B.PhysicalKeyboardKey_458762 = new A.PhysicalKeyboardKey(458762);
    B.PhysicalKeyboardKey_458763 = new A.PhysicalKeyboardKey(458763);
    B.PhysicalKeyboardKey_458764 = new A.PhysicalKeyboardKey(458764);
    B.PhysicalKeyboardKey_458765 = new A.PhysicalKeyboardKey(458765);
    B.PhysicalKeyboardKey_458766 = new A.PhysicalKeyboardKey(458766);
    B.PhysicalKeyboardKey_458767 = new A.PhysicalKeyboardKey(458767);
    B.PhysicalKeyboardKey_458768 = new A.PhysicalKeyboardKey(458768);
    B.PhysicalKeyboardKey_458769 = new A.PhysicalKeyboardKey(458769);
    B.PhysicalKeyboardKey_458770 = new A.PhysicalKeyboardKey(458770);
    B.PhysicalKeyboardKey_458771 = new A.PhysicalKeyboardKey(458771);
    B.PhysicalKeyboardKey_458772 = new A.PhysicalKeyboardKey(458772);
    B.PhysicalKeyboardKey_458773 = new A.PhysicalKeyboardKey(458773);
    B.PhysicalKeyboardKey_458774 = new A.PhysicalKeyboardKey(458774);
    B.PhysicalKeyboardKey_458775 = new A.PhysicalKeyboardKey(458775);
    B.PhysicalKeyboardKey_458776 = new A.PhysicalKeyboardKey(458776);
    B.PhysicalKeyboardKey_458777 = new A.PhysicalKeyboardKey(458777);
    B.PhysicalKeyboardKey_458778 = new A.PhysicalKeyboardKey(458778);
    B.PhysicalKeyboardKey_458779 = new A.PhysicalKeyboardKey(458779);
    B.PhysicalKeyboardKey_458780 = new A.PhysicalKeyboardKey(458780);
    B.PhysicalKeyboardKey_458781 = new A.PhysicalKeyboardKey(458781);
    B.PhysicalKeyboardKey_787101 = new A.PhysicalKeyboardKey(787101);
    B.PhysicalKeyboardKey_458896 = new A.PhysicalKeyboardKey(458896);
    B.PhysicalKeyboardKey_458897 = new A.PhysicalKeyboardKey(458897);
    B.PhysicalKeyboardKey_458898 = new A.PhysicalKeyboardKey(458898);
    B.PhysicalKeyboardKey_458899 = new A.PhysicalKeyboardKey(458899);
    B.PhysicalKeyboardKey_458900 = new A.PhysicalKeyboardKey(458900);
    B.PhysicalKeyboardKey_786836 = new A.PhysicalKeyboardKey(786836);
    B.PhysicalKeyboardKey_786834 = new A.PhysicalKeyboardKey(786834);
    B.PhysicalKeyboardKey_786891 = new A.PhysicalKeyboardKey(786891);
    B.PhysicalKeyboardKey_786871 = new A.PhysicalKeyboardKey(786871);
    B.PhysicalKeyboardKey_786830 = new A.PhysicalKeyboardKey(786830);
    B.PhysicalKeyboardKey_786829 = new A.PhysicalKeyboardKey(786829);
    B.PhysicalKeyboardKey_786847 = new A.PhysicalKeyboardKey(786847);
    B.PhysicalKeyboardKey_786855 = new A.PhysicalKeyboardKey(786855);
    B.PhysicalKeyboardKey_786838 = new A.PhysicalKeyboardKey(786838);
    B.PhysicalKeyboardKey_786862 = new A.PhysicalKeyboardKey(786862);
    B.PhysicalKeyboardKey_786826 = new A.PhysicalKeyboardKey(786826);
    B.PhysicalKeyboardKey_786572 = new A.PhysicalKeyboardKey(786572);
    B.PhysicalKeyboardKey_786865 = new A.PhysicalKeyboardKey(786865);
    B.PhysicalKeyboardKey_786822 = new A.PhysicalKeyboardKey(786822);
    B.PhysicalKeyboardKey_786820 = new A.PhysicalKeyboardKey(786820);
    B.PhysicalKeyboardKey_786846 = new A.PhysicalKeyboardKey(786846);
    B.PhysicalKeyboardKey_786844 = new A.PhysicalKeyboardKey(786844);
    B.PhysicalKeyboardKey_787083 = new A.PhysicalKeyboardKey(787083);
    B.PhysicalKeyboardKey_787081 = new A.PhysicalKeyboardKey(787081);
    B.PhysicalKeyboardKey_787084 = new A.PhysicalKeyboardKey(787084);
    B.PhysicalKeyboardKey_786611 = new A.PhysicalKeyboardKey(786611);
    B.PhysicalKeyboardKey_786563 = new A.PhysicalKeyboardKey(786563);
    B.PhysicalKeyboardKey_786609 = new A.PhysicalKeyboardKey(786609);
    B.PhysicalKeyboardKey_786608 = new A.PhysicalKeyboardKey(786608);
    B.PhysicalKeyboardKey_786637 = new A.PhysicalKeyboardKey(786637);
    B.PhysicalKeyboardKey_786610 = new A.PhysicalKeyboardKey(786610);
    B.PhysicalKeyboardKey_786612 = new A.PhysicalKeyboardKey(786612);
    B.PhysicalKeyboardKey_786819 = new A.PhysicalKeyboardKey(786819);
    B.PhysicalKeyboardKey_786615 = new A.PhysicalKeyboardKey(786615);
    B.PhysicalKeyboardKey_786613 = new A.PhysicalKeyboardKey(786613);
    B.PhysicalKeyboardKey_786614 = new A.PhysicalKeyboardKey(786614);
    B.PhysicalKeyboardKey_458979 = new A.PhysicalKeyboardKey(458979);
    B.PhysicalKeyboardKey_458983 = new A.PhysicalKeyboardKey(458983);
    B.PhysicalKeyboardKey_24 = new A.PhysicalKeyboardKey(24);
    B.PhysicalKeyboardKey_458797 = new A.PhysicalKeyboardKey(458797);
    B.PhysicalKeyboardKey_786945 = new A.PhysicalKeyboardKey(786945);
    B.PhysicalKeyboardKey_458891 = new A.PhysicalKeyboardKey(458891);
    B.PhysicalKeyboardKey_458835 = new A.PhysicalKeyboardKey(458835);
    B.PhysicalKeyboardKey_458850 = new A.PhysicalKeyboardKey(458850);
    B.PhysicalKeyboardKey_458841 = new A.PhysicalKeyboardKey(458841);
    B.PhysicalKeyboardKey_458842 = new A.PhysicalKeyboardKey(458842);
    B.PhysicalKeyboardKey_458843 = new A.PhysicalKeyboardKey(458843);
    B.PhysicalKeyboardKey_458844 = new A.PhysicalKeyboardKey(458844);
    B.PhysicalKeyboardKey_458845 = new A.PhysicalKeyboardKey(458845);
    B.PhysicalKeyboardKey_458846 = new A.PhysicalKeyboardKey(458846);
    B.PhysicalKeyboardKey_458847 = new A.PhysicalKeyboardKey(458847);
    B.PhysicalKeyboardKey_458848 = new A.PhysicalKeyboardKey(458848);
    B.PhysicalKeyboardKey_458849 = new A.PhysicalKeyboardKey(458849);
    B.PhysicalKeyboardKey_458839 = new A.PhysicalKeyboardKey(458839);
    B.PhysicalKeyboardKey_458939 = new A.PhysicalKeyboardKey(458939);
    B.PhysicalKeyboardKey_458968 = new A.PhysicalKeyboardKey(458968);
    B.PhysicalKeyboardKey_458969 = new A.PhysicalKeyboardKey(458969);
    B.PhysicalKeyboardKey_458885 = new A.PhysicalKeyboardKey(458885);
    B.PhysicalKeyboardKey_458851 = new A.PhysicalKeyboardKey(458851);
    B.PhysicalKeyboardKey_458836 = new A.PhysicalKeyboardKey(458836);
    B.PhysicalKeyboardKey_458840 = new A.PhysicalKeyboardKey(458840);
    B.PhysicalKeyboardKey_458855 = new A.PhysicalKeyboardKey(458855);
    B.PhysicalKeyboardKey_458963 = new A.PhysicalKeyboardKey(458963);
    B.PhysicalKeyboardKey_458962 = new A.PhysicalKeyboardKey(458962);
    B.PhysicalKeyboardKey_458961 = new A.PhysicalKeyboardKey(458961);
    B.PhysicalKeyboardKey_458960 = new A.PhysicalKeyboardKey(458960);
    B.PhysicalKeyboardKey_458964 = new A.PhysicalKeyboardKey(458964);
    B.PhysicalKeyboardKey_458837 = new A.PhysicalKeyboardKey(458837);
    B.PhysicalKeyboardKey_458934 = new A.PhysicalKeyboardKey(458934);
    B.PhysicalKeyboardKey_458935 = new A.PhysicalKeyboardKey(458935);
    B.PhysicalKeyboardKey_458967 = new A.PhysicalKeyboardKey(458967);
    B.PhysicalKeyboardKey_458838 = new A.PhysicalKeyboardKey(458838);
    B.PhysicalKeyboardKey_458868 = new A.PhysicalKeyboardKey(458868);
    B.PhysicalKeyboardKey_458830 = new A.PhysicalKeyboardKey(458830);
    B.PhysicalKeyboardKey_458827 = new A.PhysicalKeyboardKey(458827);
    B.PhysicalKeyboardKey_458877 = new A.PhysicalKeyboardKey(458877);
    B.PhysicalKeyboardKey_458824 = new A.PhysicalKeyboardKey(458824);
    B.PhysicalKeyboardKey_458807 = new A.PhysicalKeyboardKey(458807);
    B.PhysicalKeyboardKey_458854 = new A.PhysicalKeyboardKey(458854);
    B.PhysicalKeyboardKey_786952 = new A.PhysicalKeyboardKey(786952);
    B.PhysicalKeyboardKey_458822 = new A.PhysicalKeyboardKey(458822);
    B.PhysicalKeyboardKey_23 = new A.PhysicalKeyboardKey(23);
    B.PhysicalKeyboardKey_786573 = new A.PhysicalKeyboardKey(786573);
    B.PhysicalKeyboardKey_458915 = new A.PhysicalKeyboardKey(458915);
    B.PhysicalKeyboardKey_458804 = new A.PhysicalKeyboardKey(458804);
    B.PhysicalKeyboardKey_787065 = new A.PhysicalKeyboardKey(787065);
    B.PhysicalKeyboardKey_21 = new A.PhysicalKeyboardKey(21);
    B.PhysicalKeyboardKey_786951 = new A.PhysicalKeyboardKey(786951);
    B.PhysicalKeyboardKey_458823 = new A.PhysicalKeyboardKey(458823);
    B.PhysicalKeyboardKey_458871 = new A.PhysicalKeyboardKey(458871);
    B.PhysicalKeyboardKey_786850 = new A.PhysicalKeyboardKey(786850);
    B.PhysicalKeyboardKey_458803 = new A.PhysicalKeyboardKey(458803);
    B.PhysicalKeyboardKey_458977 = new A.PhysicalKeyboardKey(458977);
    B.PhysicalKeyboardKey_458981 = new A.PhysicalKeyboardKey(458981);
    B.PhysicalKeyboardKey_787103 = new A.PhysicalKeyboardKey(787103);
    B.PhysicalKeyboardKey_458808 = new A.PhysicalKeyboardKey(458808);
    B.PhysicalKeyboardKey_65666 = new A.PhysicalKeyboardKey(65666);
    B.PhysicalKeyboardKey_458796 = new A.PhysicalKeyboardKey(458796);
    B.PhysicalKeyboardKey_786639 = new A.PhysicalKeyboardKey(786639);
    B.PhysicalKeyboardKey_786859 = new A.PhysicalKeyboardKey(786859);
    B.PhysicalKeyboardKey_17 = new A.PhysicalKeyboardKey(17);
    B.PhysicalKeyboardKey_20 = new A.PhysicalKeyboardKey(20);
    B.PhysicalKeyboardKey_458795 = new A.PhysicalKeyboardKey(458795);
    B.PhysicalKeyboardKey_22 = new A.PhysicalKeyboardKey(22);
    B.PhysicalKeyboardKey_458874 = new A.PhysicalKeyboardKey(458874);
    B.PhysicalKeyboardKey_458753 = new A.PhysicalKeyboardKey(458753);
    B.PhysicalKeyboardKey_458755 = new A.PhysicalKeyboardKey(458755);
    B.PhysicalKeyboardKey_458754 = new A.PhysicalKeyboardKey(458754);
    B.PhysicalKeyboardKey_458752 = new A.PhysicalKeyboardKey(458752);
    B.PhysicalKeyboardKey_65667 = new A.PhysicalKeyboardKey(65667);
    B.PhysicalKeyboardKey_786989 = new A.PhysicalKeyboardKey(786989);
    B.PhysicalKeyboardKey_786990 = new A.PhysicalKeyboardKey(786990);
    B.PhysicalKeyboardKey_786994 = new A.PhysicalKeyboardKey(786994);
    B.Map_1k5Ax = new A.ConstantStringMap(269, {Abort: B.PhysicalKeyboardKey_458907, Again: B.PhysicalKeyboardKey_458873, AltLeft: B.PhysicalKeyboardKey_458978, AltRight: B.PhysicalKeyboardKey_458982, ArrowDown: B.PhysicalKeyboardKey_458833, ArrowLeft: B.PhysicalKeyboardKey_458832, ArrowRight: B.PhysicalKeyboardKey_458831, ArrowUp: B.PhysicalKeyboardKey_458834, AudioVolumeDown: B.PhysicalKeyboardKey_458881, AudioVolumeMute: B.PhysicalKeyboardKey_458879, AudioVolumeUp: B.PhysicalKeyboardKey_458880, Backquote: B.PhysicalKeyboardKey_458805, Backslash: B.PhysicalKeyboardKey_458801, Backspace: B.PhysicalKeyboardKey_458794, BassBoost: B.PhysicalKeyboardKey_786661, BracketLeft: B.PhysicalKeyboardKey_458799, BracketRight: B.PhysicalKeyboardKey_458800, BrightnessAuto: B.PhysicalKeyboardKey_786549, BrightnessDown: B.PhysicalKeyboardKey_786544, BrightnessMaximum: B.PhysicalKeyboardKey_786548, BrightnessMinimum: B.PhysicalKeyboardKey_786547, BrightnessToggle: B.PhysicalKeyboardKey_786546, BrightnessUp: B.PhysicalKeyboardKey_786543, BrowserBack: B.PhysicalKeyboardKey_786980, BrowserFavorites: B.PhysicalKeyboardKey_786986, BrowserForward: B.PhysicalKeyboardKey_786981, BrowserHome: B.PhysicalKeyboardKey_786979, BrowserRefresh: B.PhysicalKeyboardKey_786983, BrowserSearch: B.PhysicalKeyboardKey_786977, BrowserStop: B.PhysicalKeyboardKey_786982, CapsLock: B.PhysicalKeyboardKey_458809, ChannelDown: B.PhysicalKeyboardKey_786589, ChannelUp: B.PhysicalKeyboardKey_786588, Close: B.PhysicalKeyboardKey_786947, ClosedCaptionToggle: B.PhysicalKeyboardKey_786529, Comma: B.PhysicalKeyboardKey_458806, ContextMenu: B.PhysicalKeyboardKey_458853, ControlLeft: B.PhysicalKeyboardKey_458976, ControlRight: B.PhysicalKeyboardKey_458980, Convert: B.PhysicalKeyboardKey_458890, Copy: B.PhysicalKeyboardKey_458876, Cut: B.PhysicalKeyboardKey_458875, Delete: B.PhysicalKeyboardKey_458828, Digit0: B.PhysicalKeyboardKey_458791, Digit1: B.PhysicalKeyboardKey_458782, Digit2: B.PhysicalKeyboardKey_458783, Digit3: B.PhysicalKeyboardKey_458784, Digit4: B.PhysicalKeyboardKey_458785, Digit5: B.PhysicalKeyboardKey_458786, Digit6: B.PhysicalKeyboardKey_458787, Digit7: B.PhysicalKeyboardKey_458788, Digit8: B.PhysicalKeyboardKey_458789, Digit9: B.PhysicalKeyboardKey_458790, DisplayToggleIntExt: B.PhysicalKeyboardKey_65717, Eject: B.PhysicalKeyboardKey_786616, End: B.PhysicalKeyboardKey_458829, Enter: B.PhysicalKeyboardKey_458792, Equal: B.PhysicalKeyboardKey_458798, Escape: B.PhysicalKeyboardKey_458793, Exit: B.PhysicalKeyboardKey_786580, F1: B.PhysicalKeyboardKey_458810, F10: B.PhysicalKeyboardKey_458819, F11: B.PhysicalKeyboardKey_458820, F12: B.PhysicalKeyboardKey_458821, F13: B.PhysicalKeyboardKey_458856, F14: B.PhysicalKeyboardKey_458857, F15: B.PhysicalKeyboardKey_458858, F16: B.PhysicalKeyboardKey_458859, F17: B.PhysicalKeyboardKey_458860, F18: B.PhysicalKeyboardKey_458861, F19: B.PhysicalKeyboardKey_458862, F2: B.PhysicalKeyboardKey_458811, F20: B.PhysicalKeyboardKey_458863, F21: B.PhysicalKeyboardKey_458864, F22: B.PhysicalKeyboardKey_458865, F23: B.PhysicalKeyboardKey_458866, F24: B.PhysicalKeyboardKey_458867, F3: B.PhysicalKeyboardKey_458812, F4: B.PhysicalKeyboardKey_458813, F5: B.PhysicalKeyboardKey_458814, F6: B.PhysicalKeyboardKey_458815, F7: B.PhysicalKeyboardKey_458816, F8: B.PhysicalKeyboardKey_458817, F9: B.PhysicalKeyboardKey_458818, Find: B.PhysicalKeyboardKey_458878, Fn: B.PhysicalKeyboardKey_18, FnLock: B.PhysicalKeyboardKey_19, GameButton1: B.PhysicalKeyboardKey_392961, GameButton10: B.PhysicalKeyboardKey_392970, GameButton11: B.PhysicalKeyboardKey_392971, GameButton12: B.PhysicalKeyboardKey_392972, GameButton13: B.PhysicalKeyboardKey_392973, GameButton14: B.PhysicalKeyboardKey_392974, GameButton15: B.PhysicalKeyboardKey_392975, GameButton16: B.PhysicalKeyboardKey_392976, GameButton2: B.PhysicalKeyboardKey_392962, GameButton3: B.PhysicalKeyboardKey_392963, GameButton4: B.PhysicalKeyboardKey_392964, GameButton5: B.PhysicalKeyboardKey_392965, GameButton6: B.PhysicalKeyboardKey_392966, GameButton7: B.PhysicalKeyboardKey_392967, GameButton8: B.PhysicalKeyboardKey_392968, GameButton9: B.PhysicalKeyboardKey_392969, GameButtonA: B.PhysicalKeyboardKey_392977, GameButtonB: B.PhysicalKeyboardKey_392978, GameButtonC: B.PhysicalKeyboardKey_392979, GameButtonLeft1: B.PhysicalKeyboardKey_392980, GameButtonLeft2: B.PhysicalKeyboardKey_392981, GameButtonMode: B.PhysicalKeyboardKey_392982, GameButtonRight1: B.PhysicalKeyboardKey_392983, GameButtonRight2: B.PhysicalKeyboardKey_392984, GameButtonSelect: B.PhysicalKeyboardKey_392985, GameButtonStart: B.PhysicalKeyboardKey_392986, GameButtonThumbLeft: B.PhysicalKeyboardKey_392987, GameButtonThumbRight: B.PhysicalKeyboardKey_392988, GameButtonX: B.PhysicalKeyboardKey_392989, GameButtonY: B.PhysicalKeyboardKey_392990, GameButtonZ: B.PhysicalKeyboardKey_392991, Help: B.PhysicalKeyboardKey_458869, Home: B.PhysicalKeyboardKey_458826, Hyper: B.PhysicalKeyboardKey_16, Info: B.PhysicalKeyboardKey_786528, Insert: B.PhysicalKeyboardKey_458825, IntlBackslash: B.PhysicalKeyboardKey_458852, IntlRo: B.PhysicalKeyboardKey_458887, IntlYen: B.PhysicalKeyboardKey_458889, KanaMode: B.PhysicalKeyboardKey_458888, KbdIllumDown: B.PhysicalKeyboardKey_786554, KbdIllumUp: B.PhysicalKeyboardKey_786553, KeyA: B.PhysicalKeyboardKey_458756, KeyB: B.PhysicalKeyboardKey_458757, KeyC: B.PhysicalKeyboardKey_458758, KeyD: B.PhysicalKeyboardKey_458759, KeyE: B.PhysicalKeyboardKey_458760, KeyF: B.PhysicalKeyboardKey_458761, KeyG: B.PhysicalKeyboardKey_458762, KeyH: B.PhysicalKeyboardKey_458763, KeyI: B.PhysicalKeyboardKey_458764, KeyJ: B.PhysicalKeyboardKey_458765, KeyK: B.PhysicalKeyboardKey_458766, KeyL: B.PhysicalKeyboardKey_458767, KeyM: B.PhysicalKeyboardKey_458768, KeyN: B.PhysicalKeyboardKey_458769, KeyO: B.PhysicalKeyboardKey_458770, KeyP: B.PhysicalKeyboardKey_458771, KeyQ: B.PhysicalKeyboardKey_458772, KeyR: B.PhysicalKeyboardKey_458773, KeyS: B.PhysicalKeyboardKey_458774, KeyT: B.PhysicalKeyboardKey_458775, KeyU: B.PhysicalKeyboardKey_458776, KeyV: B.PhysicalKeyboardKey_458777, KeyW: B.PhysicalKeyboardKey_458778, KeyX: B.PhysicalKeyboardKey_458779, KeyY: B.PhysicalKeyboardKey_458780, KeyZ: B.PhysicalKeyboardKey_458781, KeyboardLayoutSelect: B.PhysicalKeyboardKey_787101, Lang1: B.PhysicalKeyboardKey_458896, Lang2: B.PhysicalKeyboardKey_458897, Lang3: B.PhysicalKeyboardKey_458898, Lang4: B.PhysicalKeyboardKey_458899, Lang5: B.PhysicalKeyboardKey_458900, LaunchApp1: B.PhysicalKeyboardKey_786836, LaunchApp2: B.PhysicalKeyboardKey_786834, LaunchAssistant: B.PhysicalKeyboardKey_786891, LaunchAudioBrowser: B.PhysicalKeyboardKey_786871, LaunchCalendar: B.PhysicalKeyboardKey_786830, LaunchContacts: B.PhysicalKeyboardKey_786829, LaunchControlPanel: B.PhysicalKeyboardKey_786847, LaunchDocuments: B.PhysicalKeyboardKey_786855, LaunchInternetBrowser: B.PhysicalKeyboardKey_786838, LaunchKeyboardLayout: B.PhysicalKeyboardKey_786862, LaunchMail: B.PhysicalKeyboardKey_786826, LaunchPhone: B.PhysicalKeyboardKey_786572, LaunchScreenSaver: B.PhysicalKeyboardKey_786865, LaunchSpreadsheet: B.PhysicalKeyboardKey_786822, LaunchWordProcessor: B.PhysicalKeyboardKey_786820, LockScreen: B.PhysicalKeyboardKey_786846, LogOff: B.PhysicalKeyboardKey_786844, MailForward: B.PhysicalKeyboardKey_787083, MailReply: B.PhysicalKeyboardKey_787081, MailSend: B.PhysicalKeyboardKey_787084, MediaFastForward: B.PhysicalKeyboardKey_786611, MediaLast: B.PhysicalKeyboardKey_786563, MediaPause: B.PhysicalKeyboardKey_786609, MediaPlay: B.PhysicalKeyboardKey_786608, MediaPlayPause: B.PhysicalKeyboardKey_786637, MediaRecord: B.PhysicalKeyboardKey_786610, MediaRewind: B.PhysicalKeyboardKey_786612, MediaSelect: B.PhysicalKeyboardKey_786819, MediaStop: B.PhysicalKeyboardKey_786615, MediaTrackNext: B.PhysicalKeyboardKey_786613, MediaTrackPrevious: B.PhysicalKeyboardKey_786614, MetaLeft: B.PhysicalKeyboardKey_458979, MetaRight: B.PhysicalKeyboardKey_458983, MicrophoneMuteToggle: B.PhysicalKeyboardKey_24, Minus: B.PhysicalKeyboardKey_458797, New: B.PhysicalKeyboardKey_786945, NonConvert: B.PhysicalKeyboardKey_458891, NumLock: B.PhysicalKeyboardKey_458835, Numpad0: B.PhysicalKeyboardKey_458850, Numpad1: B.PhysicalKeyboardKey_458841, Numpad2: B.PhysicalKeyboardKey_458842, Numpad3: B.PhysicalKeyboardKey_458843, Numpad4: B.PhysicalKeyboardKey_458844, Numpad5: B.PhysicalKeyboardKey_458845, Numpad6: B.PhysicalKeyboardKey_458846, Numpad7: B.PhysicalKeyboardKey_458847, Numpad8: B.PhysicalKeyboardKey_458848, Numpad9: B.PhysicalKeyboardKey_458849, NumpadAdd: B.PhysicalKeyboardKey_458839, NumpadBackspace: B.PhysicalKeyboardKey_458939, NumpadClear: B.PhysicalKeyboardKey_458968, NumpadClearEntry: B.PhysicalKeyboardKey_458969, NumpadComma: B.PhysicalKeyboardKey_458885, NumpadDecimal: B.PhysicalKeyboardKey_458851, NumpadDivide: B.PhysicalKeyboardKey_458836, NumpadEnter: B.PhysicalKeyboardKey_458840, NumpadEqual: B.PhysicalKeyboardKey_458855, NumpadMemoryAdd: B.PhysicalKeyboardKey_458963, NumpadMemoryClear: B.PhysicalKeyboardKey_458962, NumpadMemoryRecall: B.PhysicalKeyboardKey_458961, NumpadMemoryStore: B.PhysicalKeyboardKey_458960, NumpadMemorySubtract: B.PhysicalKeyboardKey_458964, NumpadMultiply: B.PhysicalKeyboardKey_458837, NumpadParenLeft: B.PhysicalKeyboardKey_458934, NumpadParenRight: B.PhysicalKeyboardKey_458935, NumpadSignChange: B.PhysicalKeyboardKey_458967, NumpadSubtract: B.PhysicalKeyboardKey_458838, Open: B.PhysicalKeyboardKey_458868, PageDown: B.PhysicalKeyboardKey_458830, PageUp: B.PhysicalKeyboardKey_458827, Paste: B.PhysicalKeyboardKey_458877, Pause: B.PhysicalKeyboardKey_458824, Period: B.PhysicalKeyboardKey_458807, Power: B.PhysicalKeyboardKey_458854, Print: B.PhysicalKeyboardKey_786952, PrintScreen: B.PhysicalKeyboardKey_458822, PrivacyScreenToggle: B.PhysicalKeyboardKey_23, ProgramGuide: B.PhysicalKeyboardKey_786573, Props: B.PhysicalKeyboardKey_458915, Quote: B.PhysicalKeyboardKey_458804, Redo: B.PhysicalKeyboardKey_787065, Resume: B.PhysicalKeyboardKey_21, Save: B.PhysicalKeyboardKey_786951, ScrollLock: B.PhysicalKeyboardKey_458823, Select: B.PhysicalKeyboardKey_458871, SelectTask: B.PhysicalKeyboardKey_786850, Semicolon: B.PhysicalKeyboardKey_458803, ShiftLeft: B.PhysicalKeyboardKey_458977, ShiftRight: B.PhysicalKeyboardKey_458981, ShowAllWindows: B.PhysicalKeyboardKey_787103, Slash: B.PhysicalKeyboardKey_458808, Sleep: B.PhysicalKeyboardKey_65666, Space: B.PhysicalKeyboardKey_458796, SpeechInputToggle: B.PhysicalKeyboardKey_786639, SpellCheck: B.PhysicalKeyboardKey_786859, Super: B.PhysicalKeyboardKey_17, Suspend: B.PhysicalKeyboardKey_20, Tab: B.PhysicalKeyboardKey_458795, Turbo: B.PhysicalKeyboardKey_22, Undo: B.PhysicalKeyboardKey_458874, UsbErrorRollOver: B.PhysicalKeyboardKey_458753, UsbErrorUndefined: B.PhysicalKeyboardKey_458755, UsbPostFail: B.PhysicalKeyboardKey_458754, UsbReserved: B.PhysicalKeyboardKey_458752, WakeUp: B.PhysicalKeyboardKey_65667, ZoomIn: B.PhysicalKeyboardKey_786989, ZoomOut: B.PhysicalKeyboardKey_786990, ZoomToggle: B.PhysicalKeyboardKey_786994}, B.List_1kC, A.findType("ConstantStringMap<String,PhysicalKeyboardKey>"));
    B.List_empty35 = A._setArrayType(makeConstList([]), type$.JSArray_BoxShadow);
    B.Offset_0_3 = new A.Offset(0, 3);
    B.BoxShadow_vuL = new A.BoxShadow(-2, B.BlurStyle_0, B.Color_855638016, B.Offset_0_3, 1);
    B.BoxShadow_oyn1 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_603979776, B.Offset_0_2, 2);
    B.BoxShadow_oyn2 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_520093696, B.Offset_0_1, 5);
    B.List_JBE = A._setArrayType(makeConstList([B.BoxShadow_vuL, B.BoxShadow_oyn1, B.BoxShadow_oyn2]), type$.JSArray_BoxShadow);
    B.BoxShadow_vuL0 = new A.BoxShadow(-2, B.BlurStyle_0, B.Color_855638016, B.Offset_0_3, 3);
    B.BoxShadow_oyn3 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_603979776, B.Offset_0_3, 4);
    B.BoxShadow_oyn4 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_520093696, B.Offset_0_1, 8);
    B.List_JBE0 = A._setArrayType(makeConstList([B.BoxShadow_vuL0, B.BoxShadow_oyn3, B.BoxShadow_oyn4]), type$.JSArray_BoxShadow);
    B.BoxShadow_HZc0 = new A.BoxShadow(-1, B.BlurStyle_0, B.Color_855638016, B.Offset_0_2, 4);
    B.Offset_0_4 = new A.Offset(0, 4);
    B.BoxShadow_oyn5 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_603979776, B.Offset_0_4, 5);
    B.BoxShadow_oyn6 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_520093696, B.Offset_0_1, 10);
    B.List_UOM0 = A._setArrayType(makeConstList([B.BoxShadow_HZc0, B.BoxShadow_oyn5, B.BoxShadow_oyn6]), type$.JSArray_BoxShadow);
    B.BoxShadow_HZc1 = new A.BoxShadow(-1, B.BlurStyle_0, B.Color_855638016, B.Offset_0_3, 5);
    B.Offset_0_6 = new A.Offset(0, 6);
    B.BoxShadow_oyn7 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_603979776, B.Offset_0_6, 10);
    B.BoxShadow_oyn8 = new A.BoxShadow(0, B.BlurStyle_0, B.Color_520093696, B.Offset_0_1, 18);
    B.List_UOM1 = A._setArrayType(makeConstList([B.BoxShadow_HZc1, B.BoxShadow_oyn7, B.BoxShadow_oyn8]), type$.JSArray_BoxShadow);
    B.Offset_0_5 = new A.Offset(0, 5);
    B.BoxShadow_Jik = new A.BoxShadow(-3, B.BlurStyle_0, B.Color_855638016, B.Offset_0_5, 5);
    B.Offset_0_8 = new A.Offset(0, 8);
    B.BoxShadow_oyn9 = new A.BoxShadow(1, B.BlurStyle_0, B.Color_603979776, B.Offset_0_8, 10);
    B.BoxShadow_oyn10 = new A.BoxShadow(2, B.BlurStyle_0, B.Color_520093696, B.Offset_0_3, 14);
    B.List_FuN = A._setArrayType(makeConstList([B.BoxShadow_Jik, B.BoxShadow_oyn9, B.BoxShadow_oyn10]), type$.JSArray_BoxShadow);
    B.BoxShadow_Jik0 = new A.BoxShadow(-3, B.BlurStyle_0, B.Color_855638016, B.Offset_0_5, 6);
    B.Offset_0_9 = new A.Offset(0, 9);
    B.BoxShadow_oyn11 = new A.BoxShadow(1, B.BlurStyle_0, B.Color_603979776, B.Offset_0_9, 12);
    B.BoxShadow_oyn12 = new A.BoxShadow(2, B.BlurStyle_0, B.Color_520093696, B.Offset_0_3, 16);
    B.List_FuN0 = A._setArrayType(makeConstList([B.BoxShadow_Jik0, B.BoxShadow_oyn11, B.BoxShadow_oyn12]), type$.JSArray_BoxShadow);
    B.Offset_0_7 = new A.Offset(0, 7);
    B.BoxShadow_2Vk = new A.BoxShadow(-4, B.BlurStyle_0, B.Color_855638016, B.Offset_0_7, 8);
    B.Offset_0_12 = new A.Offset(0, 12);
    B.BoxShadow_oyn13 = new A.BoxShadow(2, B.BlurStyle_0, B.Color_603979776, B.Offset_0_12, 17);
    B.BoxShadow_oyn14 = new A.BoxShadow(4, B.BlurStyle_0, B.Color_520093696, B.Offset_0_5, 22);
    B.List_hLj = A._setArrayType(makeConstList([B.BoxShadow_2Vk, B.BoxShadow_oyn13, B.BoxShadow_oyn14]), type$.JSArray_BoxShadow);
    B.BoxShadow_Drw = new A.BoxShadow(-5, B.BlurStyle_0, B.Color_855638016, B.Offset_0_8, 10);
    B.Offset_0_16 = new A.Offset(0, 16);
    B.BoxShadow_oyn15 = new A.BoxShadow(2, B.BlurStyle_0, B.Color_603979776, B.Offset_0_16, 24);
    B.BoxShadow_oyn16 = new A.BoxShadow(5, B.BlurStyle_0, B.Color_520093696, B.Offset_0_6, 30);
    B.List_LO4 = A._setArrayType(makeConstList([B.BoxShadow_Drw, B.BoxShadow_oyn15, B.BoxShadow_oyn16]), type$.JSArray_BoxShadow);
    B.Offset_0_11 = new A.Offset(0, 11);
    B.BoxShadow_rVI = new A.BoxShadow(-7, B.BlurStyle_0, B.Color_855638016, B.Offset_0_11, 15);
    B.Offset_0_24 = new A.Offset(0, 24);
    B.BoxShadow_oyn17 = new A.BoxShadow(3, B.BlurStyle_0, B.Color_603979776, B.Offset_0_24, 38);
    B.BoxShadow_oyn18 = new A.BoxShadow(8, B.BlurStyle_0, B.Color_520093696, B.Offset_0_9, 46);
    B.List_U49 = A._setArrayType(makeConstList([B.BoxShadow_rVI, B.BoxShadow_oyn17, B.BoxShadow_oyn18]), type$.JSArray_BoxShadow);
    B.Map_2Vato = new A.GeneralConstantMap([0, B.List_empty35, 1, B.List_UOM, 2, B.List_JBE, 3, B.List_JBE0, 4, B.List_UOM0, 6, B.List_UOM1, 8, B.List_FuN, 9, B.List_FuN0, 12, B.List_hLj, 16, B.List_LO4, 24, B.List_U49], A.findType("GeneralConstantMap<int,List<BoxShadow>>"));
    B.Map_6zffn = new A.GeneralConstantMap([315, "artist", 258, "bitsPerSample", 265, "cellLength", 264, "cellWidth", 320, "colorMap", 259, "compression", 306, "dateTime", 34665, "exifIFD", 338, "extraSamples", 266, "fillOrder", 289, "freeByteCounts", 288, "freeOffsets", 291, "grayResponseCurve", 290, "grayResponseUnit", 316, "hostComputer", 34675, "iccProfile", 270, "imageDescription", 257, "imageLength", 256, "imageWidth", 33723, "iptc", 271, "make", 281, "maxSampleValue", 280, "minSampleValue", 272, "model", 254, "newSubfileType", 274, "orientation", 262, "photometricInterpretation", 34377, "photoshop", 284, "planarConfiguration", 317, "predictor", 296, "resolutionUnit", 278, "rowsPerStrip", 277, "samplesPerPixel", 305, "software", 279, "stripByteCounts", 273, "stropOffsets", 255, "subfileType", 292, "t4Options", 293, "t6Options", 263, "thresholding", 322, "tileWidth", 323, "tileLength", 324, "tileOffsets", 325, "tileByteCounts", 700, "xmp", 282, "xResolution", 283, "yResolution", 529, "yCbCrCoefficients", 530, "yCbCrSubsampling", 531, "yCbCrPositioning", 339, "sampleFormat"], type$.GeneralConstantMap_int_String);
    B.List_8TI = A._setArrayType(makeConstList(["*", "+", "-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "Alt", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "Clear", "Control", "Delete", "End", "Enter", "Home", "Insert", "Meta", "PageDown", "PageUp", "Shift"]), type$.JSArray_String);
    B.List_42_null_null_8589935146 = A._setArrayType(makeConstList([42, null, null, 8589935146]), type$.JSArray_nullable_int);
    B.List_43_null_null_8589935147 = A._setArrayType(makeConstList([43, null, null, 8589935147]), type$.JSArray_nullable_int);
    B.List_45_null_null_8589935149 = A._setArrayType(makeConstList([45, null, null, 8589935149]), type$.JSArray_nullable_int);
    B.List_46_null_null_8589935150 = A._setArrayType(makeConstList([46, null, null, 8589935150]), type$.JSArray_nullable_int);
    B.List_47_null_null_8589935151 = A._setArrayType(makeConstList([47, null, null, 8589935151]), type$.JSArray_nullable_int);
    B.List_48_null_null_8589935152 = A._setArrayType(makeConstList([48, null, null, 8589935152]), type$.JSArray_nullable_int);
    B.List_49_null_null_8589935153 = A._setArrayType(makeConstList([49, null, null, 8589935153]), type$.JSArray_nullable_int);
    B.List_50_null_null_8589935154 = A._setArrayType(makeConstList([50, null, null, 8589935154]), type$.JSArray_nullable_int);
    B.List_51_null_null_8589935155 = A._setArrayType(makeConstList([51, null, null, 8589935155]), type$.JSArray_nullable_int);
    B.List_52_null_null_8589935156 = A._setArrayType(makeConstList([52, null, null, 8589935156]), type$.JSArray_nullable_int);
    B.List_53_null_null_8589935157 = A._setArrayType(makeConstList([53, null, null, 8589935157]), type$.JSArray_nullable_int);
    B.List_54_null_null_8589935158 = A._setArrayType(makeConstList([54, null, null, 8589935158]), type$.JSArray_nullable_int);
    B.List_55_null_null_8589935159 = A._setArrayType(makeConstList([55, null, null, 8589935159]), type$.JSArray_nullable_int);
    B.List_56_null_null_8589935160 = A._setArrayType(makeConstList([56, null, null, 8589935160]), type$.JSArray_nullable_int);
    B.List_57_null_null_8589935161 = A._setArrayType(makeConstList([57, null, null, 8589935161]), type$.JSArray_nullable_int);
    B.List_yyP = A._setArrayType(makeConstList([8589934852, 8589934852, 8589934853, null]), type$.JSArray_nullable_int);
    B.List_4294968065_null_null_8589935154 = A._setArrayType(makeConstList([4294968065, null, null, 8589935154]), type$.JSArray_nullable_int);
    B.List_4294968066_null_null_8589935156 = A._setArrayType(makeConstList([4294968066, null, null, 8589935156]), type$.JSArray_nullable_int);
    B.List_4294968067_null_null_8589935158 = A._setArrayType(makeConstList([4294968067, null, null, 8589935158]), type$.JSArray_nullable_int);
    B.List_4294968068_null_null_8589935160 = A._setArrayType(makeConstList([4294968068, null, null, 8589935160]), type$.JSArray_nullable_int);
    B.List_4294968321_null_null_8589935157 = A._setArrayType(makeConstList([4294968321, null, null, 8589935157]), type$.JSArray_nullable_int);
    B.List_yyP0 = A._setArrayType(makeConstList([8589934848, 8589934848, 8589934849, null]), type$.JSArray_nullable_int);
    B.List_4294967423_null_null_8589935150 = A._setArrayType(makeConstList([4294967423, null, null, 8589935150]), type$.JSArray_nullable_int);
    B.List_4294968069_null_null_8589935153 = A._setArrayType(makeConstList([4294968069, null, null, 8589935153]), type$.JSArray_nullable_int);
    B.List_4294967309_null_null_8589935117 = A._setArrayType(makeConstList([4294967309, null, null, 8589935117]), type$.JSArray_nullable_int);
    B.List_4294968070_null_null_8589935159 = A._setArrayType(makeConstList([4294968070, null, null, 8589935159]), type$.JSArray_nullable_int);
    B.List_4294968327_null_null_8589935152 = A._setArrayType(makeConstList([4294968327, null, null, 8589935152]), type$.JSArray_nullable_int);
    B.List_yyP1 = A._setArrayType(makeConstList([8589934854, 8589934854, 8589934855, null]), type$.JSArray_nullable_int);
    B.List_4294968071_null_null_8589935155 = A._setArrayType(makeConstList([4294968071, null, null, 8589935155]), type$.JSArray_nullable_int);
    B.List_4294968072_null_null_8589935161 = A._setArrayType(makeConstList([4294968072, null, null, 8589935161]), type$.JSArray_nullable_int);
    B.List_yyP2 = A._setArrayType(makeConstList([8589934850, 8589934850, 8589934851, null]), type$.JSArray_nullable_int);
    B.Map_8T4QF = new A.ConstantStringMap(31, {"*": B.List_42_null_null_8589935146, "+": B.List_43_null_null_8589935147, "-": B.List_45_null_null_8589935149, ".": B.List_46_null_null_8589935150, "/": B.List_47_null_null_8589935151, "0": B.List_48_null_null_8589935152, "1": B.List_49_null_null_8589935153, "2": B.List_50_null_null_8589935154, "3": B.List_51_null_null_8589935155, "4": B.List_52_null_null_8589935156, "5": B.List_53_null_null_8589935157, "6": B.List_54_null_null_8589935158, "7": B.List_55_null_null_8589935159, "8": B.List_56_null_null_8589935160, "9": B.List_57_null_null_8589935161, Alt: B.List_yyP, ArrowDown: B.List_4294968065_null_null_8589935154, ArrowLeft: B.List_4294968066_null_null_8589935156, ArrowRight: B.List_4294968067_null_null_8589935158, ArrowUp: B.List_4294968068_null_null_8589935160, Clear: B.List_4294968321_null_null_8589935157, Control: B.List_yyP0, Delete: B.List_4294967423_null_null_8589935150, End: B.List_4294968069_null_null_8589935153, Enter: B.List_4294967309_null_null_8589935117, Home: B.List_4294968070_null_null_8589935159, Insert: B.List_4294968327_null_null_8589935152, Meta: B.List_yyP1, PageDown: B.List_4294968071_null_null_8589935155, PageUp: B.List_4294968072_null_null_8589935161, Shift: B.List_yyP2}, B.List_8TI, A.findType("ConstantStringMap<String,List<int?>>"));
    B.LogicalKeyboardKey_42 = new A.LogicalKeyboardKey(42);
    B.LogicalKeyboardKey_8589935146 = new A.LogicalKeyboardKey(8589935146);
    B.List_MHC = A._setArrayType(makeConstList([B.LogicalKeyboardKey_42, null, null, B.LogicalKeyboardKey_8589935146]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_43 = new A.LogicalKeyboardKey(43);
    B.LogicalKeyboardKey_8589935147 = new A.LogicalKeyboardKey(8589935147);
    B.List_MHC0 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_43, null, null, B.LogicalKeyboardKey_8589935147]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_45 = new A.LogicalKeyboardKey(45);
    B.LogicalKeyboardKey_8589935149 = new A.LogicalKeyboardKey(8589935149);
    B.List_MHC1 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_45, null, null, B.LogicalKeyboardKey_8589935149]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_46 = new A.LogicalKeyboardKey(46);
    B.LogicalKeyboardKey_8589935150 = new A.LogicalKeyboardKey(8589935150);
    B.List_MHC2 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_46, null, null, B.LogicalKeyboardKey_8589935150]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_47 = new A.LogicalKeyboardKey(47);
    B.LogicalKeyboardKey_8589935151 = new A.LogicalKeyboardKey(8589935151);
    B.List_MHC3 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_47, null, null, B.LogicalKeyboardKey_8589935151]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_48 = new A.LogicalKeyboardKey(48);
    B.LogicalKeyboardKey_8589935152 = new A.LogicalKeyboardKey(8589935152);
    B.List_yHZ = A._setArrayType(makeConstList([B.LogicalKeyboardKey_48, null, null, B.LogicalKeyboardKey_8589935152]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_49 = new A.LogicalKeyboardKey(49);
    B.LogicalKeyboardKey_8589935153 = new A.LogicalKeyboardKey(8589935153);
    B.List_yHZ0 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_49, null, null, B.LogicalKeyboardKey_8589935153]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_50 = new A.LogicalKeyboardKey(50);
    B.LogicalKeyboardKey_8589935154 = new A.LogicalKeyboardKey(8589935154);
    B.List_yHZ1 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_50, null, null, B.LogicalKeyboardKey_8589935154]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_51 = new A.LogicalKeyboardKey(51);
    B.LogicalKeyboardKey_8589935155 = new A.LogicalKeyboardKey(8589935155);
    B.List_yHZ2 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_51, null, null, B.LogicalKeyboardKey_8589935155]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_52 = new A.LogicalKeyboardKey(52);
    B.LogicalKeyboardKey_8589935156 = new A.LogicalKeyboardKey(8589935156);
    B.List_yHZ3 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_52, null, null, B.LogicalKeyboardKey_8589935156]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_53 = new A.LogicalKeyboardKey(53);
    B.LogicalKeyboardKey_8589935157 = new A.LogicalKeyboardKey(8589935157);
    B.List_yHZ4 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_53, null, null, B.LogicalKeyboardKey_8589935157]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_54 = new A.LogicalKeyboardKey(54);
    B.LogicalKeyboardKey_8589935158 = new A.LogicalKeyboardKey(8589935158);
    B.List_yHZ5 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_54, null, null, B.LogicalKeyboardKey_8589935158]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_55 = new A.LogicalKeyboardKey(55);
    B.LogicalKeyboardKey_8589935159 = new A.LogicalKeyboardKey(8589935159);
    B.List_yHZ6 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_55, null, null, B.LogicalKeyboardKey_8589935159]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_56 = new A.LogicalKeyboardKey(56);
    B.LogicalKeyboardKey_8589935160 = new A.LogicalKeyboardKey(8589935160);
    B.List_Sxn = A._setArrayType(makeConstList([B.LogicalKeyboardKey_56, null, null, B.LogicalKeyboardKey_8589935160]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_57 = new A.LogicalKeyboardKey(57);
    B.LogicalKeyboardKey_8589935161 = new A.LogicalKeyboardKey(8589935161);
    B.List_Sxn0 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_57, null, null, B.LogicalKeyboardKey_8589935161]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_ABN = A._setArrayType(makeConstList([B.LogicalKeyboardKey_8589934852, B.LogicalKeyboardKey_8589934852, B.LogicalKeyboardKey_8589934853, null]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_RsV = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968065, null, null, B.LogicalKeyboardKey_8589935154]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_RsV0 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968066, null, null, B.LogicalKeyboardKey_8589935156]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_RsV1 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968067, null, null, B.LogicalKeyboardKey_8589935158]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_3Vk = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968068, null, null, B.LogicalKeyboardKey_8589935160]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_6FR = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968321, null, null, B.LogicalKeyboardKey_8589935157]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_ABN0 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_8589934848, B.LogicalKeyboardKey_8589934848, B.LogicalKeyboardKey_8589934849, null]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_IAQ = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294967423, null, null, B.LogicalKeyboardKey_8589935150]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_RsV2 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968069, null, null, B.LogicalKeyboardKey_8589935153]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.LogicalKeyboardKey_8589935117 = new A.LogicalKeyboardKey(8589935117);
    B.List_bnV = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294967309, null, null, B.LogicalKeyboardKey_8589935117]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_RsV3 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968070, null, null, B.LogicalKeyboardKey_8589935159]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_6FR0 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968327, null, null, B.LogicalKeyboardKey_8589935152]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_ABN1 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_8589934854, B.LogicalKeyboardKey_8589934854, B.LogicalKeyboardKey_8589934855, null]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_RsV4 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968071, null, null, B.LogicalKeyboardKey_8589935155]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_mDg = A._setArrayType(makeConstList([B.LogicalKeyboardKey_4294968072, null, null, B.LogicalKeyboardKey_8589935161]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.List_ABN2 = A._setArrayType(makeConstList([B.LogicalKeyboardKey_8589934850, B.LogicalKeyboardKey_8589934850, B.LogicalKeyboardKey_8589934851, null]), type$.JSArray_nullable_LogicalKeyboardKey);
    B.Map_8Tc9P = new A.ConstantStringMap(31, {"*": B.List_MHC, "+": B.List_MHC0, "-": B.List_MHC1, ".": B.List_MHC2, "/": B.List_MHC3, "0": B.List_yHZ, "1": B.List_yHZ0, "2": B.List_yHZ1, "3": B.List_yHZ2, "4": B.List_yHZ3, "5": B.List_yHZ4, "6": B.List_yHZ5, "7": B.List_yHZ6, "8": B.List_Sxn, "9": B.List_Sxn0, Alt: B.List_ABN, ArrowDown: B.List_RsV, ArrowLeft: B.List_RsV0, ArrowRight: B.List_RsV1, ArrowUp: B.List_3Vk, Clear: B.List_6FR, Control: B.List_ABN0, Delete: B.List_IAQ, End: B.List_RsV2, Enter: B.List_bnV, Home: B.List_RsV3, Insert: B.List_6FR0, Meta: B.List_ABN1, PageDown: B.List_RsV4, PageUp: B.List_mDg, Shift: B.List_ABN2}, B.List_8TI, A.findType("ConstantStringMap<String,List<LogicalKeyboardKey?>>"));
    B.List_EQM = A._setArrayType(makeConstList(["d", "E", "EEEE", "LLL", "LLLL", "M", "Md", "MEd", "MMM", "MMMd", "MMMEd", "MMMM", "MMMMd", "MMMMEEEEd", "QQQ", "QQQQ", "y", "yM", "yMd", "yMEd", "yMMM", "yMMMd", "yMMMEd", "yMMMM", "yMMMMd", "yMMMMEEEEd", "yQQQ", "yQQQQ", "H", "Hm", "Hms", "j", "jm", "jms", "jmv", "jmz", "jz", "m", "ms", "s", "v", "z", "zzzz", "ZZZZ"]), type$.JSArray_String);
    B.Map_EQGBe = new A.ConstantStringMap(44, {d: "d", E: "EEE", EEEE: "EEEE", LLL: "LLL", LLLL: "LLLL", M: "L", Md: "M/d", MEd: "EEE, M/d", MMM: "LLL", MMMd: "MMM d", MMMEd: "EEE, MMM d", MMMM: "LLLL", MMMMd: "MMMM d", MMMMEEEEd: "EEEE, MMMM d", QQQ: "QQQ", QQQQ: "QQQQ", y: "y", yM: "M/y", yMd: "M/d/y", yMEd: "EEE, M/d/y", yMMM: "MMM y", yMMMd: "MMM d, y", yMMMEd: "EEE, MMM d, y", yMMMM: "MMMM y", yMMMMd: "MMMM d, y", yMMMMEEEEd: "EEEE, MMMM d, y", yQQQ: "QQQ y", yQQQQ: "QQQQ y", H: "HH", Hm: "HH:mm", Hms: "HH:mm:ss", j: "h a", jm: "h:mm a", jms: "h:mm:ss a", jmv: "h:mm a v", jmz: "h:mm a z", jz: "h a z", m: "m", ms: "mm:ss", s: "s", v: "v", z: "z", zzzz: "zzzz", ZZZZ: "ZZZZ"}, B.List_EQM, type$.ConstantStringMap_String_String);
    B.List_KPc = A._setArrayType(makeConstList(["Abort", "Again", "AltLeft", "AltRight", "ArrowDown", "ArrowLeft", "ArrowRight", "ArrowUp", "AudioVolumeDown", "AudioVolumeMute", "AudioVolumeUp", "Backquote", "Backslash", "Backspace", "BassBoost", "BracketLeft", "BracketRight", "BrightnessAuto", "BrightnessDown", "BrightnessMaximum", "BrightnessMinimum", "BrightnessToggle", "BrightnessUp", "BrowserBack", "BrowserFavorites", "BrowserForward", "BrowserHome", "BrowserRefresh", "BrowserSearch", "BrowserStop", "CapsLock", "ChannelDown", "ChannelUp", "Close", "ClosedCaptionToggle", "Comma", "ContextMenu", "ControlLeft", "ControlRight", "Convert", "Copy", "Cut", "Delete", "Digit0", "Digit1", "Digit2", "Digit3", "Digit4", "Digit5", "Digit6", "Digit7", "Digit8", "Digit9", "DisplayToggleIntExt", "Eject", "End", "Enter", "Equal", "Escape", "Exit", "F1", "F10", "F11", "F12", "F13", "F14", "F15", "F16", "F17", "F18", "F19", "F2", "F20", "F21", "F22", "F23", "F24", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "Find", "Fn", "FnLock", "GameButton1", "GameButton10", "GameButton11", "GameButton12", "GameButton13", "GameButton14", "GameButton15", "GameButton16", "GameButton2", "GameButton3", "GameButton4", "GameButton5", "GameButton6", "GameButton7", "GameButton8", "GameButton9", "GameButtonA", "GameButtonB", "GameButtonC", "GameButtonLeft1", "GameButtonLeft2", "GameButtonMode", "GameButtonRight1", "GameButtonRight2", "GameButtonSelect", "GameButtonStart", "GameButtonThumbLeft", "GameButtonThumbRight", "GameButtonX", "GameButtonY", "GameButtonZ", "Help", "Home", "Hyper", "Info", "Insert", "IntlBackslash", "IntlRo", "IntlYen", "KanaMode", "KbdIllumDown", "KbdIllumUp", "KeyA", "KeyB", "KeyC", "KeyD", "KeyE", "KeyF", "KeyG", "KeyH", "KeyI", "KeyJ", "KeyK", "KeyL", "KeyM", "KeyN", "KeyO", "KeyP", "KeyQ", "KeyR", "KeyS", "KeyT", "KeyU", "KeyV", "KeyW", "KeyX", "KeyY", "KeyZ", "KeyboardLayoutSelect", "Lang1", "Lang2", "Lang3", "Lang4", "Lang5", "LaunchApp1", "LaunchApp2", "LaunchAssistant", "LaunchAudioBrowser", "LaunchCalendar", "LaunchContacts", "LaunchControlPanel", "LaunchDocuments", "LaunchInternetBrowser", "LaunchKeyboardLayout", "LaunchMail", "LaunchPhone", "LaunchScreenSaver", "LaunchSpreadsheet", "LaunchWordProcessor", "LockScreen", "LogOff", "MailForward", "MailReply", "MailSend", "MediaFastForward", "MediaLast", "MediaPause", "MediaPlay", "MediaPlayPause", "MediaRecord", "MediaRewind", "MediaSelect", "MediaStop", "MediaTrackNext", "MediaTrackPrevious", "MetaLeft", "MetaRight", "Minus", "New", "NonConvert", "NumLock", "Numpad0", "Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5", "Numpad6", "Numpad7", "Numpad8", "Numpad9", "NumpadAdd", "NumpadBackspace", "NumpadClear", "NumpadClearEntry", "NumpadComma", "NumpadDecimal", "NumpadDivide", "NumpadEnter", "NumpadEqual", "NumpadMemoryAdd", "NumpadMemoryClear", "NumpadMemoryRecall", "NumpadMemoryStore", "NumpadMemorySubtract", "NumpadMultiply", "NumpadParenLeft", "NumpadParenRight", "NumpadSignChange", "NumpadSubtract", "Open", "PageDown", "PageUp", "Paste", "Pause", "Period", "Power", "Print", "PrintScreen", "PrivacyScreenToggle", "ProgramGuide", "Props", "Quote", "Redo", "Resume", "Save", "ScrollLock", "Select", "SelectTask", "Semicolon", "ShiftLeft", "ShiftRight", "ShowAllWindows", "Slash", "Sleep", "Space", "SpeechInputToggle", "SpellCheck", "Super", "Suspend", "Tab", "Turbo", "Undo", "UsbErrorRollOver", "UsbErrorUndefined", "UsbPostFail", "UsbReserved", "WakeUp", "ZoomIn", "ZoomOut", "ZoomToggle"]), type$.JSArray_String);
    B.Map_KP6BJ = new A.ConstantStringMap(268, {Abort: 458907, Again: 458873, AltLeft: 458978, AltRight: 458982, ArrowDown: 458833, ArrowLeft: 458832, ArrowRight: 458831, ArrowUp: 458834, AudioVolumeDown: 458881, AudioVolumeMute: 458879, AudioVolumeUp: 458880, Backquote: 458805, Backslash: 458801, Backspace: 458794, BassBoost: 786661, BracketLeft: 458799, BracketRight: 458800, BrightnessAuto: 786549, BrightnessDown: 786544, BrightnessMaximum: 786548, BrightnessMinimum: 786547, BrightnessToggle: 786546, BrightnessUp: 786543, BrowserBack: 786980, BrowserFavorites: 786986, BrowserForward: 786981, BrowserHome: 786979, BrowserRefresh: 786983, BrowserSearch: 786977, BrowserStop: 786982, CapsLock: 458809, ChannelDown: 786589, ChannelUp: 786588, Close: 786947, ClosedCaptionToggle: 786529, Comma: 458806, ContextMenu: 458853, ControlLeft: 458976, ControlRight: 458980, Convert: 458890, Copy: 458876, Cut: 458875, Delete: 458828, Digit0: 458791, Digit1: 458782, Digit2: 458783, Digit3: 458784, Digit4: 458785, Digit5: 458786, Digit6: 458787, Digit7: 458788, Digit8: 458789, Digit9: 458790, DisplayToggleIntExt: 65717, Eject: 786616, End: 458829, Enter: 458792, Equal: 458798, Escape: 458793, Exit: 786580, F1: 458810, F10: 458819, F11: 458820, F12: 458821, F13: 458856, F14: 458857, F15: 458858, F16: 458859, F17: 458860, F18: 458861, F19: 458862, F2: 458811, F20: 458863, F21: 458864, F22: 458865, F23: 458866, F24: 458867, F3: 458812, F4: 458813, F5: 458814, F6: 458815, F7: 458816, F8: 458817, F9: 458818, Find: 458878, Fn: 18, FnLock: 19, GameButton1: 392961, GameButton10: 392970, GameButton11: 392971, GameButton12: 392972, GameButton13: 392973, GameButton14: 392974, GameButton15: 392975, GameButton16: 392976, GameButton2: 392962, GameButton3: 392963, GameButton4: 392964, GameButton5: 392965, GameButton6: 392966, GameButton7: 392967, GameButton8: 392968, GameButton9: 392969, GameButtonA: 392977, GameButtonB: 392978, GameButtonC: 392979, GameButtonLeft1: 392980, GameButtonLeft2: 392981, GameButtonMode: 392982, GameButtonRight1: 392983, GameButtonRight2: 392984, GameButtonSelect: 392985, GameButtonStart: 392986, GameButtonThumbLeft: 392987, GameButtonThumbRight: 392988, GameButtonX: 392989, GameButtonY: 392990, GameButtonZ: 392991, Help: 458869, Home: 458826, Hyper: 16, Info: 786528, Insert: 458825, IntlBackslash: 458852, IntlRo: 458887, IntlYen: 458889, KanaMode: 458888, KbdIllumDown: 786554, KbdIllumUp: 786553, KeyA: 458756, KeyB: 458757, KeyC: 458758, KeyD: 458759, KeyE: 458760, KeyF: 458761, KeyG: 458762, KeyH: 458763, KeyI: 458764, KeyJ: 458765, KeyK: 458766, KeyL: 458767, KeyM: 458768, KeyN: 458769, KeyO: 458770, KeyP: 458771, KeyQ: 458772, KeyR: 458773, KeyS: 458774, KeyT: 458775, KeyU: 458776, KeyV: 458777, KeyW: 458778, KeyX: 458779, KeyY: 458780, KeyZ: 458781, KeyboardLayoutSelect: 787101, Lang1: 458896, Lang2: 458897, Lang3: 458898, Lang4: 458899, Lang5: 458900, LaunchApp1: 786836, LaunchApp2: 786834, LaunchAssistant: 786891, LaunchAudioBrowser: 786871, LaunchCalendar: 786830, LaunchContacts: 786829, LaunchControlPanel: 786847, LaunchDocuments: 786855, LaunchInternetBrowser: 786838, LaunchKeyboardLayout: 786862, LaunchMail: 786826, LaunchPhone: 786572, LaunchScreenSaver: 786865, LaunchSpreadsheet: 786822, LaunchWordProcessor: 786820, LockScreen: 786846, LogOff: 786844, MailForward: 787083, MailReply: 787081, MailSend: 787084, MediaFastForward: 786611, MediaLast: 786563, MediaPause: 786609, MediaPlay: 786608, MediaPlayPause: 786637, MediaRecord: 786610, MediaRewind: 786612, MediaSelect: 786819, MediaStop: 786615, MediaTrackNext: 786613, MediaTrackPrevious: 786614, MetaLeft: 458979, MetaRight: 458983, Minus: 458797, New: 786945, NonConvert: 458891, NumLock: 458835, Numpad0: 458850, Numpad1: 458841, Numpad2: 458842, Numpad3: 458843, Numpad4: 458844, Numpad5: 458845, Numpad6: 458846, Numpad7: 458847, Numpad8: 458848, Numpad9: 458849, NumpadAdd: 458839, NumpadBackspace: 458939, NumpadClear: 458968, NumpadClearEntry: 458969, NumpadComma: 458885, NumpadDecimal: 458851, NumpadDivide: 458836, NumpadEnter: 458840, NumpadEqual: 458855, NumpadMemoryAdd: 458963, NumpadMemoryClear: 458962, NumpadMemoryRecall: 458961, NumpadMemoryStore: 458960, NumpadMemorySubtract: 458964, NumpadMultiply: 458837, NumpadParenLeft: 458934, NumpadParenRight: 458935, NumpadSignChange: 458967, NumpadSubtract: 458838, Open: 458868, PageDown: 458830, PageUp: 458827, Paste: 458877, Pause: 458824, Period: 458807, Power: 458854, Print: 786952, PrintScreen: 458822, PrivacyScreenToggle: 23, ProgramGuide: 786573, Props: 458915, Quote: 458804, Redo: 787065, Resume: 21, Save: 786951, ScrollLock: 458823, Select: 458871, SelectTask: 786850, Semicolon: 458803, ShiftLeft: 458977, ShiftRight: 458981, ShowAllWindows: 787103, Slash: 458808, Sleep: 65666, Space: 458796, SpeechInputToggle: 786639, SpellCheck: 786859, Super: 17, Suspend: 20, Tab: 458795, Turbo: 22, Undo: 458874, UsbErrorRollOver: 458753, UsbErrorUndefined: 458755, UsbPostFail: 458754, UsbReserved: 458752, WakeUp: 65667, ZoomIn: 786989, ZoomOut: 786990, ZoomToggle: 786994}, B.List_KPc, type$.ConstantStringMap_String_int);
    B.Map_OhIG8 = new A.GeneralConstantMap([B.NodeType_0, "package", B.NodeType_1, "library", B.NodeType_2, "class", B.NodeType_3, "function", B.NodeType_4, "other"], A.findType("GeneralConstantMap<NodeType,String>"));
    B.Map_Q5S3m = new A.GeneralConstantMap([16, B.PhysicalKeyboardKey_16, 17, B.PhysicalKeyboardKey_17, 18, B.PhysicalKeyboardKey_18, 19, B.PhysicalKeyboardKey_19, 20, B.PhysicalKeyboardKey_20, 21, B.PhysicalKeyboardKey_21, 22, B.PhysicalKeyboardKey_22, 23, B.PhysicalKeyboardKey_23, 24, B.PhysicalKeyboardKey_24, 65666, B.PhysicalKeyboardKey_65666, 65667, B.PhysicalKeyboardKey_65667, 65717, B.PhysicalKeyboardKey_65717, 392961, B.PhysicalKeyboardKey_392961, 392962, B.PhysicalKeyboardKey_392962, 392963, B.PhysicalKeyboardKey_392963, 392964, B.PhysicalKeyboardKey_392964, 392965, B.PhysicalKeyboardKey_392965, 392966, B.PhysicalKeyboardKey_392966, 392967, B.PhysicalKeyboardKey_392967, 392968, B.PhysicalKeyboardKey_392968, 392969, B.PhysicalKeyboardKey_392969, 392970, B.PhysicalKeyboardKey_392970, 392971, B.PhysicalKeyboardKey_392971, 392972, B.PhysicalKeyboardKey_392972, 392973, B.PhysicalKeyboardKey_392973, 392974, B.PhysicalKeyboardKey_392974, 392975, B.PhysicalKeyboardKey_392975, 392976, B.PhysicalKeyboardKey_392976, 392977, B.PhysicalKeyboardKey_392977, 392978, B.PhysicalKeyboardKey_392978, 392979, B.PhysicalKeyboardKey_392979, 392980, B.PhysicalKeyboardKey_392980, 392981, B.PhysicalKeyboardKey_392981, 392982, B.PhysicalKeyboardKey_392982, 392983, B.PhysicalKeyboardKey_392983, 392984, B.PhysicalKeyboardKey_392984, 392985, B.PhysicalKeyboardKey_392985, 392986, B.PhysicalKeyboardKey_392986, 392987, B.PhysicalKeyboardKey_392987, 392988, B.PhysicalKeyboardKey_392988, 392989, B.PhysicalKeyboardKey_392989, 392990, B.PhysicalKeyboardKey_392990, 392991, B.PhysicalKeyboardKey_392991, 458752, B.PhysicalKeyboardKey_458752, 458753, B.PhysicalKeyboardKey_458753, 458754, B.PhysicalKeyboardKey_458754, 458755, B.PhysicalKeyboardKey_458755, 458756, B.PhysicalKeyboardKey_458756, 458757, B.PhysicalKeyboardKey_458757, 458758, B.PhysicalKeyboardKey_458758, 458759, B.PhysicalKeyboardKey_458759, 458760, B.PhysicalKeyboardKey_458760, 458761, B.PhysicalKeyboardKey_458761, 458762, B.PhysicalKeyboardKey_458762, 458763, B.PhysicalKeyboardKey_458763, 458764, B.PhysicalKeyboardKey_458764, 458765, B.PhysicalKeyboardKey_458765, 458766, B.PhysicalKeyboardKey_458766, 458767, B.PhysicalKeyboardKey_458767, 458768, B.PhysicalKeyboardKey_458768, 458769, B.PhysicalKeyboardKey_458769, 458770, B.PhysicalKeyboardKey_458770, 458771, B.PhysicalKeyboardKey_458771, 458772, B.PhysicalKeyboardKey_458772, 458773, B.PhysicalKeyboardKey_458773, 458774, B.PhysicalKeyboardKey_458774, 458775, B.PhysicalKeyboardKey_458775, 458776, B.PhysicalKeyboardKey_458776, 458777, B.PhysicalKeyboardKey_458777, 458778, B.PhysicalKeyboardKey_458778, 458779, B.PhysicalKeyboardKey_458779, 458780, B.PhysicalKeyboardKey_458780, 458781, B.PhysicalKeyboardKey_458781, 458782, B.PhysicalKeyboardKey_458782, 458783, B.PhysicalKeyboardKey_458783, 458784, B.PhysicalKeyboardKey_458784, 458785, B.PhysicalKeyboardKey_458785, 458786, B.PhysicalKeyboardKey_458786, 458787, B.PhysicalKeyboardKey_458787, 458788, B.PhysicalKeyboardKey_458788, 458789, B.PhysicalKeyboardKey_458789, 458790, B.PhysicalKeyboardKey_458790, 458791, B.PhysicalKeyboardKey_458791, 458792, B.PhysicalKeyboardKey_458792, 458793, B.PhysicalKeyboardKey_458793, 458794, B.PhysicalKeyboardKey_458794, 458795, B.PhysicalKeyboardKey_458795, 458796, B.PhysicalKeyboardKey_458796, 458797, B.PhysicalKeyboardKey_458797, 458798, B.PhysicalKeyboardKey_458798, 458799, B.PhysicalKeyboardKey_458799, 458800, B.PhysicalKeyboardKey_458800, 458801, B.PhysicalKeyboardKey_458801, 458803, B.PhysicalKeyboardKey_458803, 458804, B.PhysicalKeyboardKey_458804, 458805, B.PhysicalKeyboardKey_458805, 458806, B.PhysicalKeyboardKey_458806, 458807, B.PhysicalKeyboardKey_458807, 458808, B.PhysicalKeyboardKey_458808, 458809, B.PhysicalKeyboardKey_458809, 458810, B.PhysicalKeyboardKey_458810, 458811, B.PhysicalKeyboardKey_458811, 458812, B.PhysicalKeyboardKey_458812, 458813, B.PhysicalKeyboardKey_458813, 458814, B.PhysicalKeyboardKey_458814, 458815, B.PhysicalKeyboardKey_458815, 458816, B.PhysicalKeyboardKey_458816, 458817, B.PhysicalKeyboardKey_458817, 458818, B.PhysicalKeyboardKey_458818, 458819, B.PhysicalKeyboardKey_458819, 458820, B.PhysicalKeyboardKey_458820, 458821, B.PhysicalKeyboardKey_458821, 458822, B.PhysicalKeyboardKey_458822, 458823, B.PhysicalKeyboardKey_458823, 458824, B.PhysicalKeyboardKey_458824, 458825, B.PhysicalKeyboardKey_458825, 458826, B.PhysicalKeyboardKey_458826, 458827, B.PhysicalKeyboardKey_458827, 458828, B.PhysicalKeyboardKey_458828, 458829, B.PhysicalKeyboardKey_458829, 458830, B.PhysicalKeyboardKey_458830, 458831, B.PhysicalKeyboardKey_458831, 458832, B.PhysicalKeyboardKey_458832, 458833, B.PhysicalKeyboardKey_458833, 458834, B.PhysicalKeyboardKey_458834, 458835, B.PhysicalKeyboardKey_458835, 458836, B.PhysicalKeyboardKey_458836, 458837, B.PhysicalKeyboardKey_458837, 458838, B.PhysicalKeyboardKey_458838, 458839, B.PhysicalKeyboardKey_458839, 458840, B.PhysicalKeyboardKey_458840, 458841, B.PhysicalKeyboardKey_458841, 458842, B.PhysicalKeyboardKey_458842, 458843, B.PhysicalKeyboardKey_458843, 458844, B.PhysicalKeyboardKey_458844, 458845, B.PhysicalKeyboardKey_458845, 458846, B.PhysicalKeyboardKey_458846, 458847, B.PhysicalKeyboardKey_458847, 458848, B.PhysicalKeyboardKey_458848, 458849, B.PhysicalKeyboardKey_458849, 458850, B.PhysicalKeyboardKey_458850, 458851, B.PhysicalKeyboardKey_458851, 458852, B.PhysicalKeyboardKey_458852, 458853, B.PhysicalKeyboardKey_458853, 458854, B.PhysicalKeyboardKey_458854, 458855, B.PhysicalKeyboardKey_458855, 458856, B.PhysicalKeyboardKey_458856, 458857, B.PhysicalKeyboardKey_458857, 458858, B.PhysicalKeyboardKey_458858, 458859, B.PhysicalKeyboardKey_458859, 458860, B.PhysicalKeyboardKey_458860, 458861, B.PhysicalKeyboardKey_458861, 458862, B.PhysicalKeyboardKey_458862, 458863, B.PhysicalKeyboardKey_458863, 458864, B.PhysicalKeyboardKey_458864, 458865, B.PhysicalKeyboardKey_458865, 458866, B.PhysicalKeyboardKey_458866, 458867, B.PhysicalKeyboardKey_458867, 458868, B.PhysicalKeyboardKey_458868, 458869, B.PhysicalKeyboardKey_458869, 458871, B.PhysicalKeyboardKey_458871, 458873, B.PhysicalKeyboardKey_458873, 458874, B.PhysicalKeyboardKey_458874, 458875, B.PhysicalKeyboardKey_458875, 458876, B.PhysicalKeyboardKey_458876, 458877, B.PhysicalKeyboardKey_458877, 458878, B.PhysicalKeyboardKey_458878, 458879, B.PhysicalKeyboardKey_458879, 458880, B.PhysicalKeyboardKey_458880, 458881, B.PhysicalKeyboardKey_458881, 458885, B.PhysicalKeyboardKey_458885, 458887, B.PhysicalKeyboardKey_458887, 458888, B.PhysicalKeyboardKey_458888, 458889, B.PhysicalKeyboardKey_458889, 458890, B.PhysicalKeyboardKey_458890, 458891, B.PhysicalKeyboardKey_458891, 458896, B.PhysicalKeyboardKey_458896, 458897, B.PhysicalKeyboardKey_458897, 458898, B.PhysicalKeyboardKey_458898, 458899, B.PhysicalKeyboardKey_458899, 458900, B.PhysicalKeyboardKey_458900, 458907, B.PhysicalKeyboardKey_458907, 458915, B.PhysicalKeyboardKey_458915, 458934, B.PhysicalKeyboardKey_458934, 458935, B.PhysicalKeyboardKey_458935, 458939, B.PhysicalKeyboardKey_458939, 458960, B.PhysicalKeyboardKey_458960, 458961, B.PhysicalKeyboardKey_458961, 458962, B.PhysicalKeyboardKey_458962, 458963, B.PhysicalKeyboardKey_458963, 458964, B.PhysicalKeyboardKey_458964, 458967, B.PhysicalKeyboardKey_458967, 458968, B.PhysicalKeyboardKey_458968, 458969, B.PhysicalKeyboardKey_458969, 458976, B.PhysicalKeyboardKey_458976, 458977, B.PhysicalKeyboardKey_458977, 458978, B.PhysicalKeyboardKey_458978, 458979, B.PhysicalKeyboardKey_458979, 458980, B.PhysicalKeyboardKey_458980, 458981, B.PhysicalKeyboardKey_458981, 458982, B.PhysicalKeyboardKey_458982, 458983, B.PhysicalKeyboardKey_458983, 786528, B.PhysicalKeyboardKey_786528, 786529, B.PhysicalKeyboardKey_786529, 786543, B.PhysicalKeyboardKey_786543, 786544, B.PhysicalKeyboardKey_786544, 786546, B.PhysicalKeyboardKey_786546, 786547, B.PhysicalKeyboardKey_786547, 786548, B.PhysicalKeyboardKey_786548, 786549, B.PhysicalKeyboardKey_786549, 786553, B.PhysicalKeyboardKey_786553, 786554, B.PhysicalKeyboardKey_786554, 786563, B.PhysicalKeyboardKey_786563, 786572, B.PhysicalKeyboardKey_786572, 786573, B.PhysicalKeyboardKey_786573, 786580, B.PhysicalKeyboardKey_786580, 786588, B.PhysicalKeyboardKey_786588, 786589, B.PhysicalKeyboardKey_786589, 786608, B.PhysicalKeyboardKey_786608, 786609, B.PhysicalKeyboardKey_786609, 786610, B.PhysicalKeyboardKey_786610, 786611, B.PhysicalKeyboardKey_786611, 786612, B.PhysicalKeyboardKey_786612, 786613, B.PhysicalKeyboardKey_786613, 786614, B.PhysicalKeyboardKey_786614, 786615, B.PhysicalKeyboardKey_786615, 786616, B.PhysicalKeyboardKey_786616, 786637, B.PhysicalKeyboardKey_786637, 786639, B.PhysicalKeyboardKey_786639, 786661, B.PhysicalKeyboardKey_786661, 786819, B.PhysicalKeyboardKey_786819, 786820, B.PhysicalKeyboardKey_786820, 786822, B.PhysicalKeyboardKey_786822, 786826, B.PhysicalKeyboardKey_786826, 786829, B.PhysicalKeyboardKey_786829, 786830, B.PhysicalKeyboardKey_786830, 786834, B.PhysicalKeyboardKey_786834, 786836, B.PhysicalKeyboardKey_786836, 786838, B.PhysicalKeyboardKey_786838, 786844, B.PhysicalKeyboardKey_786844, 786846, B.PhysicalKeyboardKey_786846, 786847, B.PhysicalKeyboardKey_786847, 786850, B.PhysicalKeyboardKey_786850, 786855, B.PhysicalKeyboardKey_786855, 786859, B.PhysicalKeyboardKey_786859, 786862, B.PhysicalKeyboardKey_786862, 786865, B.PhysicalKeyboardKey_786865, 786871, B.PhysicalKeyboardKey_786871, 786891, B.PhysicalKeyboardKey_786891, 786945, B.PhysicalKeyboardKey_786945, 786947, B.PhysicalKeyboardKey_786947, 786951, B.PhysicalKeyboardKey_786951, 786952, B.PhysicalKeyboardKey_786952, 786977, B.PhysicalKeyboardKey_786977, 786979, B.PhysicalKeyboardKey_786979, 786980, B.PhysicalKeyboardKey_786980, 786981, B.PhysicalKeyboardKey_786981, 786982, B.PhysicalKeyboardKey_786982, 786983, B.PhysicalKeyboardKey_786983, 786986, B.PhysicalKeyboardKey_786986, 786989, B.PhysicalKeyboardKey_786989, 786990, B.PhysicalKeyboardKey_786990, 786994, B.PhysicalKeyboardKey_786994, 787065, B.PhysicalKeyboardKey_787065, 787081, B.PhysicalKeyboardKey_787081, 787083, B.PhysicalKeyboardKey_787083, 787084, B.PhysicalKeyboardKey_787084, 787101, B.PhysicalKeyboardKey_787101, 787103, B.PhysicalKeyboardKey_787103], type$.GeneralConstantMap_int_PhysicalKeyboardKey);
    B.List_RsV5 = A._setArrayType(makeConstList(["RenderObjectToWidgetAdapter", "CupertinoApp", "MaterialApp", "WidgetsApp", "DefaultTextStyle", "RichText", "SelectableText", "Text", "Icon", "Image", "RawImage", "AnimatedAlign", "AnimatedBuilder", "AnimatedContainer", "AnimatedCrossFade", "AnimatedDefaultTextStyle", "AnimatedListState", "AnimatedModalBarrier", "AnimatedOpacity", "AnimatedPhysicalModel", "AnimatedPositioned", "AnimatedSize", "AnimatedWidget", "DecoratedBoxTransition", "FadeTransition", "PositionedTransition", "RotationTransition", "ScaleTransition", "SizeTransition", "SlideTransition", "Hero", "CustomScrollView", "DraggableScrollableSheet", "SingleChildScrollView", "Scrollable", "Scrollbar", "ScrollConfiguration", "GridView", "ListView", "ReorderableListView", "NestedScrollView", "Checkbox", "Radio", "Switch", "CupertinoSwitch", "Container", "Center", "Row", "Column", "Padding", "SizedBox", "ConstrainedBox", "Align", "Positioned", "Expanded", "Flexible", "Stack", "Wrap", "FloatingActionButton", "InkWell", "GestureDetector", "RawGestureDetector", "TextButton", "CupertinoButton", "ElevatedButton", "OutlinedButton", "Tab", "TabBar", "TabBarView", "BottomNavigationBar", "CupertinoTabScaffold", "CupertinoTabView", "Scaffold", "CircularProgressIndicator", "Card", "Divider", "AlertDialog", "CircleAvatar", "Opacity", "Drawer", "PageView", "Material", "AppBar"]), type$.JSArray_String);
    B.WidgetTheme_ckU = new A.WidgetTheme("icons/inspector/widget_icons/root.png", B.Color_4289638065);
    B.WidgetTheme_null_Color_4289638065 = new A.WidgetTheme(null, B.Color_4289638065);
    B.Color_4279150560 = new A.Color(4279150560);
    B.WidgetTheme_IIM = new A.WidgetTheme("icons/inspector/widget_icons/materialapp.png", B.Color_4279150560);
    B.Color_4278627387 = new A.Color(4278627387);
    B.WidgetTheme_EKt = new A.WidgetTheme("icons/inspector/widget_icons/text.png", B.Color_4278627387);
    B.WidgetTheme_2DN = new A.WidgetTheme("icons/inspector/widget_icons/image.png", B.Color_4278627387);
    B.Color_4292910350 = new A.Color(4292910350);
    B.WidgetTheme_8aB = new A.WidgetTheme("icons/inspector/widget_icons/animated.png", B.Color_4292910350);
    B.WidgetTheme_3Zi = new A.WidgetTheme("icons/inspector/widget_icons/transition.png", B.Color_4292910350);
    B.WidgetTheme_EIS = new A.WidgetTheme("icons/inspector/widget_icons/hero.png", B.Color_4292910350);
    B.WidgetTheme_KVZ = new A.WidgetTheme("icons/inspector/widget_icons/scroll.png", B.Color_4279150560);
    B.WidgetTheme_4D9 = new A.WidgetTheme("icons/inspector/widget_icons/gridview.png", B.Color_4279150560);
    B.WidgetTheme_EKR = new A.WidgetTheme("icons/inspector/widget_icons/listView.png", B.Color_4279150560);
    B.WidgetTheme_EWB = new A.WidgetTheme("icons/inspector/widget_icons/checkbox.png", B.Color_4278627387);
    B.WidgetTheme_MpJ = new A.WidgetTheme("icons/inspector/widget_icons/radio.png", B.Color_4278627387);
    B.WidgetTheme_idR = new A.WidgetTheme("icons/inspector/widget_icons/toggle.png", B.Color_4278627387);
    B.WidgetTheme_YbP = new A.WidgetTheme("icons/inspector/widget_icons/container.png", B.Color_4279150560);
    B.WidgetTheme_ouf = new A.WidgetTheme("icons/inspector/widget_icons/center.png", B.Color_4279150560);
    B.WidgetTheme_ZUl = new A.WidgetTheme("icons/inspector/widget_icons/row.png", B.Color_4279150560);
    B.WidgetTheme_ouf0 = new A.WidgetTheme("icons/inspector/widget_icons/column.png", B.Color_4279150560);
    B.WidgetTheme_IYb = new A.WidgetTheme("icons/inspector/widget_icons/padding.png", B.Color_4279150560);
    B.WidgetTheme_KNn = new A.WidgetTheme("icons/inspector/widget_icons/sizedbox.png", B.Color_4279150560);
    B.WidgetTheme_aoY = new A.WidgetTheme("icons/inspector/widget_icons/constrainedbox.png", B.Color_4279150560);
    B.WidgetTheme_aBQ = new A.WidgetTheme("icons/inspector/widget_icons/align.png", B.Color_4279150560);
    B.WidgetTheme_I6y = new A.WidgetTheme("icons/inspector/widget_icons/expand.png", B.Color_4279150560);
    B.WidgetTheme_2XH = new A.WidgetTheme("icons/inspector/widget_icons/stack.png", B.Color_4279150560);
    B.WidgetTheme_vCi = new A.WidgetTheme("icons/inspector/widget_icons/wrap.png", B.Color_4279150560);
    B.WidgetTheme_G61 = new A.WidgetTheme("icons/inspector/widget_icons/floatingab.png", B.Color_4278627387);
    B.WidgetTheme_lq4 = new A.WidgetTheme("icons/inspector/widget_icons/inkwell.png", B.Color_4279150560);
    B.WidgetTheme_8ST = new A.WidgetTheme("icons/inspector/widget_icons/gesture.png", B.Color_4279150560);
    B.WidgetTheme_GDx = new A.WidgetTheme("icons/inspector/widget_icons/textbutton.png", B.Color_4279150560);
    B.WidgetTheme_AKW = new A.WidgetTheme("icons/inspector/widget_icons/outlinedbutton.png", B.Color_4279150560);
    B.WidgetTheme_mFp = new A.WidgetTheme("icons/inspector/widget_icons/tab.png", B.Color_4279150560);
    B.WidgetTheme_4XB = new A.WidgetTheme("icons/inspector/widget_icons/bottomnavigationbar.png", B.Color_4279150560);
    B.WidgetTheme_KNn0 = new A.WidgetTheme("icons/inspector/widget_icons/scaffold.png", B.Color_4279150560);
    B.WidgetTheme_cGl = new A.WidgetTheme("icons/inspector/widget_icons/circularprogress.png", B.Color_4279150560);
    B.WidgetTheme_9Ac = new A.WidgetTheme("icons/inspector/widget_icons/card.png", B.Color_4279150560);
    B.WidgetTheme_P16 = new A.WidgetTheme("icons/inspector/widget_icons/divider.png", B.Color_4279150560);
    B.WidgetTheme_vuJ = new A.WidgetTheme("icons/inspector/widget_icons/alertdialog.png", B.Color_4279150560);
    B.WidgetTheme_AKg = new A.WidgetTheme("icons/inspector/widget_icons/circleavatar.png", B.Color_4279150560);
    B.WidgetTheme_5G9 = new A.WidgetTheme("icons/inspector/widget_icons/opacity.png", B.Color_4279150560);
    B.WidgetTheme_Iem = new A.WidgetTheme("icons/inspector/widget_icons/drawer.png", B.Color_4279150560);
    B.WidgetTheme_4I0 = new A.WidgetTheme("icons/inspector/widget_icons/pageView.png", B.Color_4279150560);
    B.WidgetTheme_ato = new A.WidgetTheme("icons/inspector/widget_icons/material.png", B.Color_4279150560);
    B.WidgetTheme_SJ9 = new A.WidgetTheme("icons/inspector/widget_icons/appbar.png", B.Color_4279150560);
    B.Map_RsYQL = new A.ConstantStringMap(83, {RenderObjectToWidgetAdapter: B.WidgetTheme_ckU, CupertinoApp: B.WidgetTheme_null_Color_4289638065, MaterialApp: B.WidgetTheme_IIM, WidgetsApp: B.WidgetTheme_null_Color_4289638065, DefaultTextStyle: B.WidgetTheme_EKt, RichText: B.WidgetTheme_EKt, SelectableText: B.WidgetTheme_EKt, Text: B.WidgetTheme_EKt, Icon: B.WidgetTheme_2DN, Image: B.WidgetTheme_2DN, RawImage: B.WidgetTheme_2DN, AnimatedAlign: B.WidgetTheme_8aB, AnimatedBuilder: B.WidgetTheme_8aB, AnimatedContainer: B.WidgetTheme_8aB, AnimatedCrossFade: B.WidgetTheme_8aB, AnimatedDefaultTextStyle: B.WidgetTheme_8aB, AnimatedListState: B.WidgetTheme_8aB, AnimatedModalBarrier: B.WidgetTheme_8aB, AnimatedOpacity: B.WidgetTheme_8aB, AnimatedPhysicalModel: B.WidgetTheme_8aB, AnimatedPositioned: B.WidgetTheme_8aB, AnimatedSize: B.WidgetTheme_8aB, AnimatedWidget: B.WidgetTheme_8aB, DecoratedBoxTransition: B.WidgetTheme_3Zi, FadeTransition: B.WidgetTheme_3Zi, PositionedTransition: B.WidgetTheme_3Zi, RotationTransition: B.WidgetTheme_3Zi, ScaleTransition: B.WidgetTheme_3Zi, SizeTransition: B.WidgetTheme_3Zi, SlideTransition: B.WidgetTheme_3Zi, Hero: B.WidgetTheme_EIS, CustomScrollView: B.WidgetTheme_KVZ, DraggableScrollableSheet: B.WidgetTheme_KVZ, SingleChildScrollView: B.WidgetTheme_KVZ, Scrollable: B.WidgetTheme_KVZ, Scrollbar: B.WidgetTheme_KVZ, ScrollConfiguration: B.WidgetTheme_KVZ, GridView: B.WidgetTheme_4D9, ListView: B.WidgetTheme_EKR, ReorderableListView: B.WidgetTheme_EKR, NestedScrollView: B.WidgetTheme_EKR, Checkbox: B.WidgetTheme_EWB, Radio: B.WidgetTheme_MpJ, Switch: B.WidgetTheme_idR, CupertinoSwitch: B.WidgetTheme_idR, Container: B.WidgetTheme_YbP, Center: B.WidgetTheme_ouf, Row: B.WidgetTheme_ZUl, Column: B.WidgetTheme_ouf0, Padding: B.WidgetTheme_IYb, SizedBox: B.WidgetTheme_KNn, ConstrainedBox: B.WidgetTheme_aoY, Align: B.WidgetTheme_aBQ, Positioned: B.WidgetTheme_aBQ, Expanded: B.WidgetTheme_I6y, Flexible: B.WidgetTheme_I6y, Stack: B.WidgetTheme_2XH, Wrap: B.WidgetTheme_vCi, FloatingActionButton: B.WidgetTheme_G61, InkWell: B.WidgetTheme_lq4, GestureDetector: B.WidgetTheme_8ST, RawGestureDetector: B.WidgetTheme_8ST, TextButton: B.WidgetTheme_GDx, CupertinoButton: B.WidgetTheme_GDx, ElevatedButton: B.WidgetTheme_GDx, OutlinedButton: B.WidgetTheme_AKW, Tab: B.WidgetTheme_mFp, TabBar: B.WidgetTheme_mFp, TabBarView: B.WidgetTheme_mFp, BottomNavigationBar: B.WidgetTheme_4XB, CupertinoTabScaffold: B.WidgetTheme_mFp, CupertinoTabView: B.WidgetTheme_mFp, Scaffold: B.WidgetTheme_KNn0, CircularProgressIndicator: B.WidgetTheme_cGl, Card: B.WidgetTheme_9Ac, Divider: B.WidgetTheme_P16, AlertDialog: B.WidgetTheme_vuJ, CircleAvatar: B.WidgetTheme_AKg, Opacity: B.WidgetTheme_5G9, Drawer: B.WidgetTheme_Iem, PageView: B.WidgetTheme_4I0, Material: B.WidgetTheme_ato, AppBar: B.WidgetTheme_SJ9}, B.List_RsV5, A.findType("ConstantStringMap<String,WidgetTheme>"));
    B.List_ImageCache = A._setArrayType(makeConstList(["ImageCache"]), type$.JSArray_String);
    B.List_ds3 = A._setArrayType(makeConstList(["_pendingImages", "data_", "completer", "context_", "url"]), type$.JSArray_String);
    B.List_xhN = A._setArrayType(makeConstList(["_cache", "data_", "completer", "context_", "url"]), type$.JSArray_String);
    B.List_vAV = A._setArrayType(makeConstList(["_liveImages", "data_", "completer", "context_", "url"]), type$.JSArray_String);
    B.List_MY2 = A._setArrayType(makeConstList([B.List_ds3, B.List_xhN, B.List_vAV]), type$.JSArray_List_String);
    B.Map_UqKiG = new A.ConstantStringMap(1, {ImageCache: B.List_MY2}, B.List_ImageCache, A.findType("ConstantStringMap<String,List<List<String>>>"));
    B.List_YCM = A._setArrayType(makeConstList(["in", "iw", "ji", "jw", "mo", "aam", "adp", "aue", "ayx", "bgm", "bjd", "ccq", "cjr", "cka", "cmk", "coy", "cqu", "drh", "drw", "gav", "gfx", "ggn", "gti", "guv", "hrr", "ibi", "ilw", "jeg", "kgc", "kgh", "koj", "krm", "ktr", "kvs", "kwq", "kxe", "kzj", "kzt", "lii", "lmm", "meg", "mst", "mwj", "myt", "nad", "ncp", "nnx", "nts", "oun", "pcr", "pmc", "pmu", "ppa", "ppr", "pry", "puz", "sca", "skk", "tdu", "thc", "thx", "tie", "tkk", "tlw", "tmp", "tne", "tnf", "tsf", "uok", "xba", "xia", "xkh", "xsj", "ybd", "yma", "ymt", "yos", "yuu"]), type$.JSArray_String);
    B.Map_YCOho = new A.ConstantStringMap(78, {in: "id", iw: "he", ji: "yi", jw: "jv", mo: "ro", aam: "aas", adp: "dz", aue: "ktz", ayx: "nun", bgm: "bcg", bjd: "drl", ccq: "rki", cjr: "mom", cka: "cmr", cmk: "xch", coy: "pij", cqu: "quh", drh: "khk", drw: "prs", gav: "dev", gfx: "vaj", ggn: "gvr", gti: "nyc", guv: "duz", hrr: "jal", ibi: "opa", ilw: "gal", jeg: "oyb", kgc: "tdf", kgh: "kml", koj: "kwv", krm: "bmf", ktr: "dtp", kvs: "gdj", kwq: "yam", kxe: "tvd", kzj: "dtp", kzt: "dtp", lii: "raq", lmm: "rmx", meg: "cir", mst: "mry", mwj: "vaj", myt: "mry", nad: "xny", ncp: "kdz", nnx: "ngv", nts: "pij", oun: "vaj", pcr: "adx", pmc: "huw", pmu: "phr", ppa: "bfy", ppr: "lcq", pry: "prt", puz: "pub", sca: "hle", skk: "oyb", tdu: "dtp", thc: "tpo", thx: "oyb", tie: "ras", tkk: "twm", tlw: "weo", tmp: "tyj", tne: "kak", tnf: "prs", tsf: "taj", uok: "ema", xba: "cax", xia: "acn", xkh: "waw", xsj: "suj", ybd: "rki", yma: "lrr", ymt: "mtm", yos: "zom", yuu: "yug"}, B.List_YCM, type$.ConstantStringMap_String_String);
    B.SingleActivator_j8H10 = new A.SingleActivator(B.LogicalKeyboardKey_4294968065, false, false, false, false);
    B.SingleActivator_j8H9 = new A.SingleActivator(B.LogicalKeyboardKey_4294968068, false, false, false, false);
    B.TraversalDirection_2 = new A.TraversalDirection(2, "down");
    B.DirectionalFocusIntent_TraversalDirection_2 = new A.DirectionalFocusIntent(B.TraversalDirection_2);
    B.TraversalDirection_0 = new A.TraversalDirection(0, "up");
    B.DirectionalFocusIntent_TraversalDirection_0 = new A.DirectionalFocusIntent(B.TraversalDirection_0);
    B.Map_cW2nU = new A.GeneralConstantMap([B.SingleActivator_j8H10, B.DirectionalFocusIntent_TraversalDirection_2, B.SingleActivator_j8H9, B.DirectionalFocusIntent_TraversalDirection_0], type$.GeneralConstantMap_ShortcutActivator_Intent);
    B.Map_eRea7 = new A.GeneralConstantMap([9, B.PhysicalKeyboardKey_458793, 10, B.PhysicalKeyboardKey_458782, 11, B.PhysicalKeyboardKey_458783, 12, B.PhysicalKeyboardKey_458784, 13, B.PhysicalKeyboardKey_458785, 14, B.PhysicalKeyboardKey_458786, 15, B.PhysicalKeyboardKey_458787, 16, B.PhysicalKeyboardKey_458788, 17, B.PhysicalKeyboardKey_458789, 18, B.PhysicalKeyboardKey_458790, 19, B.PhysicalKeyboardKey_458791, 20, B.PhysicalKeyboardKey_458797, 21, B.PhysicalKeyboardKey_458798, 22, B.PhysicalKeyboardKey_458794, 23, B.PhysicalKeyboardKey_458795, 24, B.PhysicalKeyboardKey_458772, 25, B.PhysicalKeyboardKey_458778, 26, B.PhysicalKeyboardKey_458760, 27, B.PhysicalKeyboardKey_458773, 28, B.PhysicalKeyboardKey_458775, 29, B.PhysicalKeyboardKey_458780, 30, B.PhysicalKeyboardKey_458776, 31, B.PhysicalKeyboardKey_458764, 32, B.PhysicalKeyboardKey_458770, 33, B.PhysicalKeyboardKey_458771, 34, B.PhysicalKeyboardKey_458799, 35, B.PhysicalKeyboardKey_458800, 36, B.PhysicalKeyboardKey_458792, 37, B.PhysicalKeyboardKey_458976, 38, B.PhysicalKeyboardKey_458756, 39, B.PhysicalKeyboardKey_458774, 40, B.PhysicalKeyboardKey_458759, 41, B.PhysicalKeyboardKey_458761, 42, B.PhysicalKeyboardKey_458762, 43, B.PhysicalKeyboardKey_458763, 44, B.PhysicalKeyboardKey_458765, 45, B.PhysicalKeyboardKey_458766, 46, B.PhysicalKeyboardKey_458767, 47, B.PhysicalKeyboardKey_458803, 48, B.PhysicalKeyboardKey_458804, 49, B.PhysicalKeyboardKey_458805, 50, B.PhysicalKeyboardKey_458977, 51, B.PhysicalKeyboardKey_458801, 52, B.PhysicalKeyboardKey_458781, 53, B.PhysicalKeyboardKey_458779, 54, B.PhysicalKeyboardKey_458758, 55, B.PhysicalKeyboardKey_458777, 56, B.PhysicalKeyboardKey_458757, 57, B.PhysicalKeyboardKey_458769, 58, B.PhysicalKeyboardKey_458768, 59, B.PhysicalKeyboardKey_458806, 60, B.PhysicalKeyboardKey_458807, 61, B.PhysicalKeyboardKey_458808, 62, B.PhysicalKeyboardKey_458981, 63, B.PhysicalKeyboardKey_458837, 64, B.PhysicalKeyboardKey_458978, 65, B.PhysicalKeyboardKey_458796, 66, B.PhysicalKeyboardKey_458809, 67, B.PhysicalKeyboardKey_458810, 68, B.PhysicalKeyboardKey_458811, 69, B.PhysicalKeyboardKey_458812, 70, B.PhysicalKeyboardKey_458813, 71, B.PhysicalKeyboardKey_458814, 72, B.PhysicalKeyboardKey_458815, 73, B.PhysicalKeyboardKey_458816, 74, B.PhysicalKeyboardKey_458817, 75, B.PhysicalKeyboardKey_458818, 76, B.PhysicalKeyboardKey_458819, 77, B.PhysicalKeyboardKey_458835, 78, B.PhysicalKeyboardKey_458823, 79, B.PhysicalKeyboardKey_458847, 80, B.PhysicalKeyboardKey_458848, 81, B.PhysicalKeyboardKey_458849, 82, B.PhysicalKeyboardKey_458838, 83, B.PhysicalKeyboardKey_458844, 84, B.PhysicalKeyboardKey_458845, 85, B.PhysicalKeyboardKey_458846, 86, B.PhysicalKeyboardKey_458839, 87, B.PhysicalKeyboardKey_458841, 88, B.PhysicalKeyboardKey_458842, 89, B.PhysicalKeyboardKey_458843, 90, B.PhysicalKeyboardKey_458850, 91, B.PhysicalKeyboardKey_458851, 93, B.PhysicalKeyboardKey_458900, 94, B.PhysicalKeyboardKey_458852, 95, B.PhysicalKeyboardKey_458820, 96, B.PhysicalKeyboardKey_458821, 97, B.PhysicalKeyboardKey_458887, 98, B.PhysicalKeyboardKey_458898, 99, B.PhysicalKeyboardKey_458899, 100, B.PhysicalKeyboardKey_458890, 101, B.PhysicalKeyboardKey_458888, 102, B.PhysicalKeyboardKey_458891, 104, B.PhysicalKeyboardKey_458840, 105, B.PhysicalKeyboardKey_458980, 106, B.PhysicalKeyboardKey_458836, 107, B.PhysicalKeyboardKey_458822, 108, B.PhysicalKeyboardKey_458982, 110, B.PhysicalKeyboardKey_458826, 111, B.PhysicalKeyboardKey_458834, 112, B.PhysicalKeyboardKey_458827, 113, B.PhysicalKeyboardKey_458832, 114, B.PhysicalKeyboardKey_458831, 115, B.PhysicalKeyboardKey_458829, 116, B.PhysicalKeyboardKey_458833, 117, B.PhysicalKeyboardKey_458830, 118, B.PhysicalKeyboardKey_458825, 119, B.PhysicalKeyboardKey_458828, 121, B.PhysicalKeyboardKey_458879, 122, B.PhysicalKeyboardKey_458881, 123, B.PhysicalKeyboardKey_458880, 124, B.PhysicalKeyboardKey_458854, 125, B.PhysicalKeyboardKey_458855, 126, B.PhysicalKeyboardKey_458967, 127, B.PhysicalKeyboardKey_458824, 128, B.PhysicalKeyboardKey_787103, 129, B.PhysicalKeyboardKey_458885, 130, B.PhysicalKeyboardKey_458896, 131, B.PhysicalKeyboardKey_458897, 132, B.PhysicalKeyboardKey_458889, 133, B.PhysicalKeyboardKey_458979, 134, B.PhysicalKeyboardKey_458983, 135, B.PhysicalKeyboardKey_458853, 136, B.PhysicalKeyboardKey_786982, 137, B.PhysicalKeyboardKey_458873, 139, B.PhysicalKeyboardKey_458874, 140, B.PhysicalKeyboardKey_458871, 141, B.PhysicalKeyboardKey_458876, 142, B.PhysicalKeyboardKey_458868, 143, B.PhysicalKeyboardKey_458877, 144, B.PhysicalKeyboardKey_458878, 145, B.PhysicalKeyboardKey_458875, 146, B.PhysicalKeyboardKey_458869, 148, B.PhysicalKeyboardKey_786834, 150, B.PhysicalKeyboardKey_65666, 151, B.PhysicalKeyboardKey_65667, 152, B.PhysicalKeyboardKey_786836, 158, B.PhysicalKeyboardKey_786838, 160, B.PhysicalKeyboardKey_786846, 163, B.PhysicalKeyboardKey_786826, 164, B.PhysicalKeyboardKey_786986, 166, B.PhysicalKeyboardKey_786980, 167, B.PhysicalKeyboardKey_786981, 169, B.PhysicalKeyboardKey_786616, 171, B.PhysicalKeyboardKey_786613, 172, B.PhysicalKeyboardKey_786637, 173, B.PhysicalKeyboardKey_786614, 174, B.PhysicalKeyboardKey_786615, 175, B.PhysicalKeyboardKey_786610, 176, B.PhysicalKeyboardKey_786612, 177, B.PhysicalKeyboardKey_786572, 179, B.PhysicalKeyboardKey_786819, 180, B.PhysicalKeyboardKey_786979, 181, B.PhysicalKeyboardKey_786983, 182, B.PhysicalKeyboardKey_786580, 187, B.PhysicalKeyboardKey_458934, 188, B.PhysicalKeyboardKey_458935, 189, B.PhysicalKeyboardKey_786945, 190, B.PhysicalKeyboardKey_787065, 191, B.PhysicalKeyboardKey_458856, 192, B.PhysicalKeyboardKey_458857, 193, B.PhysicalKeyboardKey_458858, 194, B.PhysicalKeyboardKey_458859, 195, B.PhysicalKeyboardKey_458860, 196, B.PhysicalKeyboardKey_458861, 197, B.PhysicalKeyboardKey_458862, 198, B.PhysicalKeyboardKey_458863, 199, B.PhysicalKeyboardKey_458864, 200, B.PhysicalKeyboardKey_458865, 201, B.PhysicalKeyboardKey_458866, 202, B.PhysicalKeyboardKey_458867, 209, B.PhysicalKeyboardKey_786609, 214, B.PhysicalKeyboardKey_786947, 215, B.PhysicalKeyboardKey_786608, 216, B.PhysicalKeyboardKey_786611, 217, B.PhysicalKeyboardKey_786661, 218, B.PhysicalKeyboardKey_786952, 225, B.PhysicalKeyboardKey_786977, 232, B.PhysicalKeyboardKey_786544, 233, B.PhysicalKeyboardKey_786543, 235, B.PhysicalKeyboardKey_65717, 237, B.PhysicalKeyboardKey_786554, 238, B.PhysicalKeyboardKey_786553, 239, B.PhysicalKeyboardKey_787084, 240, B.PhysicalKeyboardKey_787081, 241, B.PhysicalKeyboardKey_787083, 242, B.PhysicalKeyboardKey_786951, 243, B.PhysicalKeyboardKey_786855, 252, B.PhysicalKeyboardKey_786549, 256, B.PhysicalKeyboardKey_24, 366, B.PhysicalKeyboardKey_786528, 370, B.PhysicalKeyboardKey_786573, 378, B.PhysicalKeyboardKey_786529, 380, B.PhysicalKeyboardKey_786994, 382, B.PhysicalKeyboardKey_786862, 400, B.PhysicalKeyboardKey_786871, 405, B.PhysicalKeyboardKey_786830, 413, B.PhysicalKeyboardKey_786563, 418, B.PhysicalKeyboardKey_786588, 419, B.PhysicalKeyboardKey_786589, 426, B.PhysicalKeyboardKey_786989, 427, B.PhysicalKeyboardKey_786990, 429, B.PhysicalKeyboardKey_786820, 431, B.PhysicalKeyboardKey_786822, 437, B.PhysicalKeyboardKey_786829, 439, B.PhysicalKeyboardKey_786546, 440, B.PhysicalKeyboardKey_786859, 441, B.PhysicalKeyboardKey_786844, 587, B.PhysicalKeyboardKey_786847, 588, B.PhysicalKeyboardKey_786850, 589, B.PhysicalKeyboardKey_786865, 590, B.PhysicalKeyboardKey_786639, 591, B.PhysicalKeyboardKey_786891, 592, B.PhysicalKeyboardKey_787101, 600, B.PhysicalKeyboardKey_786547, 601, B.PhysicalKeyboardKey_786548, 641, B.PhysicalKeyboardKey_23], type$.GeneralConstantMap_int_PhysicalKeyboardKey);
    B.List_empty36 = A._setArrayType(makeConstList([]), A.findType("JSArray<DismissDirection>"));
    B.Map_empty10 = new A.ConstantStringMap(0, {}, B.List_empty36, A.findType("ConstantStringMap<DismissDirection,double>"));
    B.Map_empty2 = new A.ConstantStringMap(0, {}, B.List_empty13, A.findType("ConstantStringMap<Object,_HeroState>"));
    B.List_empty37 = A._setArrayType(makeConstList([]), type$.JSArray_PersistedSurface);
    B.Map_empty0 = new A.ConstantStringMap(0, {}, B.List_empty37, A.findType("ConstantStringMap<PersistedSurface,PersistedSurface>"));
    B.List_empty38 = A._setArrayType(makeConstList([]), A.findType("JSArray<ShortcutActivator>"));
    B.Map_empty1 = new A.ConstantStringMap(0, {}, B.List_empty38, A.findType("ConstantStringMap<ShortcutActivator,Intent>"));
    B.Map_empty11 = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<String,DartIOHttpRequestData>"));
    B.Map_empty8 = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<String,MarkdownElementBuilder>"));
    B.Map_empty9 = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<String,MarkdownPaddingBuilder>"));
    B.Map_empty12 = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<String,Widget>"));
    B.Map_empty5 = new A.ConstantStringMap(0, {}, B.List_empty0, A.findType("ConstantStringMap<String,@>"));
    B.List_empty39 = A._setArrayType(makeConstList([]), A.findType("JSArray<Symbol0>"));
    B.Map_empty = new A.ConstantStringMap(0, {}, B.List_empty39, A.findType("ConstantStringMap<Symbol0,@>"));
    B.List_empty40 = A._setArrayType(makeConstList([]), A.findType("JSArray<Type>"));
    B.Map_empty4 = new A.ConstantStringMap(0, {}, B.List_empty40, A.findType("ConstantStringMap<Type,GestureRecognizer>"));
    B.Map_empty6 = new A.ConstantStringMap(0, {}, B.List_empty40, A.findType("ConstantStringMap<Type,GestureRecognizerFactory<GestureRecognizer>>"));
    B.Map_empty7 = new A.ConstantStringMap(0, {}, B.List_empty, A.findType("ConstantStringMap<@,@>"));
    B.List_fuQ = A._setArrayType(makeConstList(["123", "3dml", "3ds", "3g2", "3gp", "7z", "aab", "aac", "aam", "aas", "abw", "ac", "acc", "ace", "acu", "acutc", "adp", "aep", "afm", "afp", "ahead", "ai", "aif", "aifc", "aiff", "air", "ait", "ami", "apk", "appcache", "application", "apr", "arc", "asc", "asf", "asm", "aso", "asx", "atc", "atom", "atomcat", "atomsvc", "atx", "au", "avi", "aw", "azf", "azs", "azw", "bat", "bcpio", "bdf", "bdm", "bed", "bh2", "bin", "blb", "blorb", "bmi", "bmp", "book", "box", "boz", "bpk", "btif", "bz", "bz2", "c", "c11amc", "c11amz", "c4d", "c4f", "c4g", "c4p", "c4u", "cab", "caf", "cap", "car", "cat", "cb7", "cba", "cbr", "cbt", "cbz", "cc", "cct", "ccxml", "cdbcmsg", "cdf", "cdkey", "cdmia", "cdmic", "cdmid", "cdmio", "cdmiq", "cdx", "cdxml", "cdy", "cer", "cfs", "cgm", "chat", "chm", "chrt", "cif", "cii", "cil", "cla", "class", "clkk", "clkp", "clkt", "clkw", "clkx", "clp", "cmc", "cmdf", "cml", "cmp", "cmx", "cod", "com", "conf", "cpio", "cpp", "cpt", "crd", "crl", "crt", "cryptonote", "csh", "csml", "csp", "css", "cst", "csv", "cu", "curl", "cww", "cxt", "cxx", "dae", "daf", "dart", "dataless", "davmount", "dbk", "dcr", "dcurl", "dd2", "ddd", "deb", "def", "deploy", "der", "dfac", "dgc", "dic", "dir", "dis", "dist", "distz", "djv", "djvu", "dll", "dmg", "dmp", "dms", "dna", "doc", "docm", "docx", "dot", "dotm", "dotx", "dp", "dpg", "dra", "dsc", "dssc", "dtb", "dtd", "dts", "dtshd", "dump", "dvb", "dvi", "dwf", "dwg", "dxf", "dxp", "dxr", "ecelp4800", "ecelp7470", "ecelp9600", "ecma", "edm", "edx", "efif", "ei6", "elc", "emf", "eml", "emma", "emz", "eol", "eot", "eps", "epub", "es3", "esa", "esf", "et3", "etx", "eva", "evy", "exe", "exi", "ext", "ez", "ez2", "ez3", "f", "f4v", "f77", "f90", "fbs", "fcdt", "fcs", "fdf", "fe_launch", "fg5", "fgd", "fh", "fh4", "fh5", "fh7", "fhc", "fig", "flac", "fli", "flo", "flv", "flw", "flx", "fly", "fm", "fnc", "for", "fpx", "frame", "fsc", "fst", "ftc", "fti", "fvt", "fxp", "fxpl", "fzs", "g2w", "g3", "g3w", "gac", "gam", "gbr", "gca", "gdl", "geo", "gex", "ggb", "ggt", "ghf", "gif", "gim", "glb", "gltf", "gml", "gmx", "gnumeric", "gph", "gpx", "gqf", "gqs", "gram", "gramps", "gre", "grv", "grxml", "gsf", "gtar", "gtm", "gtw", "gv", "gxf", "gxt", "h", "h261", "h263", "h264", "hal", "hbci", "hdf", "hh", "hlp", "hpgl", "hpid", "hps", "hqx", "htke", "htm", "html", "hvd", "hvp", "hvs", "i2g", "icc", "ice", "icm", "ico", "ics", "ief", "ifb", "ifm", "iges", "igl", "igm", "igs", "igx", "iif", "imp", "ims", "in", "ink", "inkml", "install", "iota", "ipfix", "ipk", "irm", "irp", "iso", "itp", "ivp", "ivu", "jad", "jam", "jar", "java", "jisp", "jlt", "jnlp", "joda", "jpe", "jpeg", "jpg", "jpgm", "jpgv", "jpm", "js", "json", "jsonml", "kar", "karbon", "kfo", "kia", "kml", "kmz", "kne", "knp", "kon", "kpr", "kpt", "kpxx", "ksp", "ktr", "ktx", "ktz", "kwd", "kwt", "lasxml", "latex", "lbd", "lbe", "les", "lha", "link66", "list", "list3820", "listafp", "lnk", "log", "lostxml", "lrf", "lrm", "ltf", "lvp", "lwp", "lzh", "m13", "m14", "m1v", "m21", "m2a", "m2v", "m3a", "m3u", "m3u8", "m4a", "m4u", "m4v", "ma", "mads", "mag", "maker", "man", "mar", "mathml", "mb", "mbk", "mbox", "mc1", "mcd", "mcurl", "mdb", "mdi", "me", "mesh", "meta4", "metalink", "mets", "mfm", "mft", "mgp", "mgz", "mid", "midi", "mie", "mif", "mime", "mj2", "mjp2", "mk3d", "mka", "mks", "mkv", "mlp", "mmd", "mmf", "mmr", "mng", "mny", "mobi", "mods", "mov", "movie", "mp2", "mp21", "mp2a", "mp3", "mp4", "mp4a", "mp4s", "mp4v", "mpc", "mpe", "mpeg", "mpg", "mpg4", "mpga", "mpkg", "mpm", "mpn", "mpp", "mpt", "mpy", "mqy", "mrc", "mrcx", "ms", "mscml", "mseed", "mseq", "msf", "msh", "msi", "msl", "msty", "mts", "mus", "musicxml", "mvb", "mwf", "mxf", "mxl", "mxml", "mxs", "mxu", "n-gage", "n3", "nb", "nbp", "nc", "ncx", "nfo", "ngdat", "nitf", "nlu", "nml", "nnd", "nns", "nnw", "npx", "nsc", "nsf", "ntf", "nzb", "oa2", "oa3", "oas", "obd", "obj", "oda", "odb", "odc", "odf", "odft", "odg", "odi", "odm", "odp", "ods", "odt", "oga", "ogg", "ogv", "ogx", "omdoc", "onepkg", "onetmp", "onetoc", "onetoc2", "opf", "opml", "oprc", "org", "osf", "osfpvg", "otc", "otf", "otg", "oth", "oti", "otp", "ots", "ott", "oxps", "oxt", "p", "p10", "p12", "p7b", "p7c", "p7m", "p7r", "p7s", "p8", "pas", "paw", "pbd", "pbm", "pcap", "pcf", "pcl", "pclxl", "pct", "pcurl", "pcx", "pdb", "pdf", "pfa", "pfb", "pfm", "pfr", "pfx", "pgm", "pgn", "pgp", "pic", "pkg", "pki", "pkipath", "plb", "plc", "plf", "pls", "pml", "png", "pnm", "portpkg", "pot", "potm", "potx", "ppam", "ppd", "ppm", "pps", "ppsm", "ppsx", "ppt", "pptm", "pptx", "pqa", "prc", "pre", "prf", "ps", "psb", "psd", "psf", "pskcxml", "ptid", "pub", "pvb", "pwn", "pya", "pyv", "qam", "qbo", "qfx", "qps", "qt", "qwd", "qwt", "qxb", "qxd", "qxl", "qxt", "ra", "ram", "rar", "ras", "rcprofile", "rdf", "rdz", "rep", "res", "rgb", "rif", "rip", "ris", "rl", "rlc", "rld", "rm", "rmi", "rmp", "rms", "rmvb", "rnc", "roa", "roff", "rp9", "rpss", "rpst", "rq", "rs", "rsd", "rss", "rtf", "rtx", "s", "s3m", "saf", "sbml", "sc", "scd", "scm", "scq", "scs", "scurl", "sda", "sdc", "sdd", "sdkd", "sdkm", "sdp", "sdw", "see", "seed", "sema", "semd", "semf", "ser", "setpay", "setreg", "sfd-hdstx", "sfs", "sfv", "sgi", "sgl", "sgm", "sgml", "sh", "shar", "shf", "sid", "sig", "sil", "silo", "sis", "sisx", "sit", "sitx", "skd", "skm", "skp", "skt", "sldm", "sldx", "slt", "sm", "smf", "smi", "smil", "smv", "smzip", "snd", "snf", "so", "spc", "spf", "spl", "spot", "spp", "spq", "spx", "sql", "src", "srt", "sru", "srx", "ssdl", "sse", "ssf", "ssml", "st", "stc", "std", "stf", "sti", "stk", "stl", "str", "stw", "sub", "sus", "susp", "sv4cpio", "sv4crc", "svc", "svd", "svg", "svgz", "swa", "swf", "swi", "sxc", "sxd", "sxg", "sxi", "sxm", "sxw", "t", "t3", "taglet", "tao", "tar", "tcap", "tcl", "teacher", "tei", "teicorpus", "tex", "texi", "texinfo", "text", "tfi", "tfm", "tga", "thmx", "tif", "tiff", "tmo", "torrent", "tpl", "tpt", "tr", "tra", "trm", "tsd", "tsv", "ttc", "ttf", "ttl", "twd", "twds", "txd", "txf", "txt", "u32", "udeb", "ufd", "ufdl", "ulx", "umj", "unityweb", "uoml", "uri", "uris", "urls", "ustar", "utz", "uu", "uva", "uvd", "uvf", "uvg", "uvh", "uvi", "uvm", "uvp", "uvs", "uvt", "uvu", "uvv", "uvva", "uvvd", "uvvf", "uvvg", "uvvh", "uvvi", "uvvm", "uvvp", "uvvs", "uvvt", "uvvu", "uvvv", "uvvx", "uvvz", "uvx", "uvz", "vcard", "vcd", "vcf", "vcg", "vcs", "vcx", "vis", "viv", "vob", "vor", "vox", "vrml", "vsd", "vsf", "vss", "vst", "vsw", "vtu", "vxml", "w3d", "wad", "wasm", "wav", "wax", "wbmp", "wbs", "wbxml", "wcm", "wdb", "wdp", "weba", "webm", "webp", "wg", "wgt", "wks", "wm", "wma", "wmd", "wmf", "wml", "wmlc", "wmls", "wmlsc", "wmv", "wmx", "wmz", "woff", "wpd", "wpl", "wps", "wqd", "wri", "wrl", "wsdl", "wspolicy", "wtb", "wvx", "x32", "x3d", "x3db", "x3dbz", "x3dv", "x3dvz", "x3dz", "xaml", "xap", "xar", "xbap", "xbd", "xbm", "xdf", "xdm", "xdp", "xdssc", "xdw", "xenc", "xer", "xfdf", "xfdl", "xht", "xhtml", "xhvml", "xif", "xla", "xlam", "xlc", "xlf", "xlm", "xls", "xlsb", "xlsm", "xlsx", "xlt", "xltm", "xltx", "xlw", "xm", "xml", "xo", "xop", "xpi", "xpl", "xpm", "xpr", "xps", "xpw", "xpx", "xsl", "xslt", "xsm", "xspf", "xul", "xvm", "xvml", "xwd", "xyz", "xz", "yang", "yin", "z1", "z2", "z3", "z4", "z5", "z6", "z7", "z8", "zaz", "zip", "zir", "zirz", "zmm"]), type$.JSArray_String);
    B.Map_fu61T = new A.ConstantStringMap(985, {"123": "application/vnd.lotus-1-2-3", "3dml": "text/vnd.in3d.3dml", "3ds": "image/x-3ds", "3g2": "video/3gpp2", "3gp": "video/3gpp", "7z": "application/x-7z-compressed", aab: "application/x-authorware-bin", aac: "audio/x-aac", aam: "application/x-authorware-map", aas: "application/x-authorware-seg", abw: "application/x-abiword", ac: "application/pkix-attr-cert", acc: "application/vnd.americandynamics.acc", ace: "application/x-ace-compressed", acu: "application/vnd.acucobol", acutc: "application/vnd.acucorp", adp: "audio/adpcm", aep: "application/vnd.audiograph", afm: "application/x-font-type1", afp: "application/vnd.ibm.modcap", ahead: "application/vnd.ahead.space", ai: "application/postscript", aif: "audio/x-aiff", aifc: "audio/x-aiff", aiff: "audio/x-aiff", air: "application/vnd.adobe.air-application-installer-package+zip", ait: "application/vnd.dvb.ait", ami: "application/vnd.amiga.ami", apk: "application/vnd.android.package-archive", appcache: "text/cache-manifest", application: "application/x-ms-application", apr: "application/vnd.lotus-approach", arc: "application/x-freearc", asc: "application/pgp-signature", asf: "video/x-ms-asf", asm: "text/x-asm", aso: "application/vnd.accpac.simply.aso", asx: "video/x-ms-asf", atc: "application/vnd.acucorp", atom: "application/atom+xml", atomcat: "application/atomcat+xml", atomsvc: "application/atomsvc+xml", atx: "application/vnd.antix.game-component", au: "audio/basic", avi: "video/x-msvideo", aw: "application/applixware", azf: "application/vnd.airzip.filesecure.azf", azs: "application/vnd.airzip.filesecure.azs", azw: "application/vnd.amazon.ebook", bat: "application/x-msdownload", bcpio: "application/x-bcpio", bdf: "application/x-font-bdf", bdm: "application/vnd.syncml.dm+wbxml", bed: "application/vnd.realvnc.bed", bh2: "application/vnd.fujitsu.oasysprs", bin: "application/octet-stream", blb: "application/x-blorb", blorb: "application/x-blorb", bmi: "application/vnd.bmi", bmp: "image/bmp", book: "application/vnd.framemaker", box: "application/vnd.previewsystems.box", boz: "application/x-bzip2", bpk: "application/octet-stream", btif: "image/prs.btif", bz: "application/x-bzip", bz2: "application/x-bzip2", c: "text/x-c", c11amc: "application/vnd.cluetrust.cartomobile-config", c11amz: "application/vnd.cluetrust.cartomobile-config-pkg", c4d: "application/vnd.clonk.c4group", c4f: "application/vnd.clonk.c4group", c4g: "application/vnd.clonk.c4group", c4p: "application/vnd.clonk.c4group", c4u: "application/vnd.clonk.c4group", cab: "application/vnd.ms-cab-compressed", caf: "audio/x-caf", cap: "application/vnd.tcpdump.pcap", car: "application/vnd.curl.car", cat: "application/vnd.ms-pki.seccat", cb7: "application/x-cbr", cba: "application/x-cbr", cbr: "application/x-cbr", cbt: "application/x-cbr", cbz: "application/x-cbr", cc: "text/x-c", cct: "application/x-director", ccxml: "application/ccxml+xml", cdbcmsg: "application/vnd.contact.cmsg", cdf: "application/x-netcdf", cdkey: "application/vnd.mediastation.cdkey", cdmia: "application/cdmi-capability", cdmic: "application/cdmi-container", cdmid: "application/cdmi-domain", cdmio: "application/cdmi-object", cdmiq: "application/cdmi-queue", cdx: "chemical/x-cdx", cdxml: "application/vnd.chemdraw+xml", cdy: "application/vnd.cinderella", cer: "application/pkix-cert", cfs: "application/x-cfs-compressed", cgm: "image/cgm", chat: "application/x-chat", chm: "application/vnd.ms-htmlhelp", chrt: "application/vnd.kde.kchart", cif: "chemical/x-cif", cii: "application/vnd.anser-web-certificate-issue-initiation", cil: "application/vnd.ms-artgalry", cla: "application/vnd.claymore", class: "application/java-vm", clkk: "application/vnd.crick.clicker.keyboard", clkp: "application/vnd.crick.clicker.palette", clkt: "application/vnd.crick.clicker.template", clkw: "application/vnd.crick.clicker.wordbank", clkx: "application/vnd.crick.clicker", clp: "application/x-msclip", cmc: "application/vnd.cosmocaller", cmdf: "chemical/x-cmdf", cml: "chemical/x-cml", cmp: "application/vnd.yellowriver-custom-menu", cmx: "image/x-cmx", cod: "application/vnd.rim.cod", com: "application/x-msdownload", conf: "text/plain", cpio: "application/x-cpio", cpp: "text/x-c", cpt: "application/mac-compactpro", crd: "application/x-mscardfile", crl: "application/pkix-crl", crt: "application/x-x509-ca-cert", cryptonote: "application/vnd.rig.cryptonote", csh: "application/x-csh", csml: "chemical/x-csml", csp: "application/vnd.commonspace", css: "text/css", cst: "application/x-director", csv: "text/csv", cu: "application/cu-seeme", curl: "text/vnd.curl", cww: "application/prs.cww", cxt: "application/x-director", cxx: "text/x-c", dae: "model/vnd.collada+xml", daf: "application/vnd.mobius.daf", dart: "text/x-dart", dataless: "application/vnd.fdsn.seed", davmount: "application/davmount+xml", dbk: "application/docbook+xml", dcr: "application/x-director", dcurl: "text/vnd.curl.dcurl", dd2: "application/vnd.oma.dd2+xml", ddd: "application/vnd.fujixerox.ddd", deb: "application/x-debian-package", def: "text/plain", deploy: "application/octet-stream", der: "application/x-x509-ca-cert", dfac: "application/vnd.dreamfactory", dgc: "application/x-dgc-compressed", dic: "text/x-c", dir: "application/x-director", dis: "application/vnd.mobius.dis", dist: "application/octet-stream", distz: "application/octet-stream", djv: "image/vnd.djvu", djvu: "image/vnd.djvu", dll: "application/x-msdownload", dmg: "application/x-apple-diskimage", dmp: "application/vnd.tcpdump.pcap", dms: "application/octet-stream", dna: "application/vnd.dna", doc: "application/msword", docm: "application/vnd.ms-word.document.macroenabled.12", docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document", dot: "application/msword", dotm: "application/vnd.ms-word.template.macroenabled.12", dotx: "application/vnd.openxmlformats-officedocument.wordprocessingml.template", dp: "application/vnd.osgi.dp", dpg: "application/vnd.dpgraph", dra: "audio/vnd.dra", dsc: "text/prs.lines.tag", dssc: "application/dssc+der", dtb: "application/x-dtbook+xml", dtd: "application/xml-dtd", dts: "audio/vnd.dts", dtshd: "audio/vnd.dts.hd", dump: "application/octet-stream", dvb: "video/vnd.dvb.file", dvi: "application/x-dvi", dwf: "model/vnd.dwf", dwg: "image/vnd.dwg", dxf: "image/vnd.dxf", dxp: "application/vnd.spotfire.dxp", dxr: "application/x-director", ecelp4800: "audio/vnd.nuera.ecelp4800", ecelp7470: "audio/vnd.nuera.ecelp7470", ecelp9600: "audio/vnd.nuera.ecelp9600", ecma: "application/ecmascript", edm: "application/vnd.novadigm.edm", edx: "application/vnd.novadigm.edx", efif: "application/vnd.picsel", ei6: "application/vnd.pg.osasli", elc: "application/octet-stream", emf: "application/x-msmetafile", eml: "message/rfc822", emma: "application/emma+xml", emz: "application/x-msmetafile", eol: "audio/vnd.digital-winds", eot: "application/vnd.ms-fontobject", eps: "application/postscript", epub: "application/epub+zip", es3: "application/vnd.eszigno3+xml", esa: "application/vnd.osgi.subsystem", esf: "application/vnd.epson.esf", et3: "application/vnd.eszigno3+xml", etx: "text/x-setext", eva: "application/x-eva", evy: "application/x-envoy", exe: "application/x-msdownload", exi: "application/exi", ext: "application/vnd.novadigm.ext", ez: "application/andrew-inset", ez2: "application/vnd.ezpix-album", ez3: "application/vnd.ezpix-package", f: "text/x-fortran", f4v: "video/x-f4v", f77: "text/x-fortran", f90: "text/x-fortran", fbs: "image/vnd.fastbidsheet", fcdt: "application/vnd.adobe.formscentral.fcdt", fcs: "application/vnd.isac.fcs", fdf: "application/vnd.fdf", fe_launch: "application/vnd.denovo.fcselayout-link", fg5: "application/vnd.fujitsu.oasysgp", fgd: "application/x-director", fh: "image/x-freehand", fh4: "image/x-freehand", fh5: "image/x-freehand", fh7: "image/x-freehand", fhc: "image/x-freehand", fig: "application/x-xfig", flac: "audio/x-flac", fli: "video/x-fli", flo: "application/vnd.micrografx.flo", flv: "video/x-flv", flw: "application/vnd.kde.kivio", flx: "text/vnd.fmi.flexstor", fly: "text/vnd.fly", fm: "application/vnd.framemaker", fnc: "application/vnd.frogans.fnc", for: "text/x-fortran", fpx: "image/vnd.fpx", frame: "application/vnd.framemaker", fsc: "application/vnd.fsc.weblaunch", fst: "image/vnd.fst", ftc: "application/vnd.fluxtime.clip", fti: "application/vnd.anser-web-funds-transfer-initiation", fvt: "video/vnd.fvt", fxp: "application/vnd.adobe.fxp", fxpl: "application/vnd.adobe.fxp", fzs: "application/vnd.fuzzysheet", g2w: "application/vnd.geoplan", g3: "image/g3fax", g3w: "application/vnd.geospace", gac: "application/vnd.groove-account", gam: "application/x-tads", gbr: "application/rpki-ghostbusters", gca: "application/x-gca-compressed", gdl: "model/vnd.gdl", geo: "application/vnd.dynageo", gex: "application/vnd.geometry-explorer", ggb: "application/vnd.geogebra.file", ggt: "application/vnd.geogebra.tool", ghf: "application/vnd.groove-help", gif: "image/gif", gim: "application/vnd.groove-identity-message", glb: "model/gltf-binary", gltf: "model/gltf+json", gml: "application/gml+xml", gmx: "application/vnd.gmx", gnumeric: "application/x-gnumeric", gph: "application/vnd.flographit", gpx: "application/gpx+xml", gqf: "application/vnd.grafeq", gqs: "application/vnd.grafeq", gram: "application/srgs", gramps: "application/x-gramps-xml", gre: "application/vnd.geometry-explorer", grv: "application/vnd.groove-injector", grxml: "application/srgs+xml", gsf: "application/x-font-ghostscript", gtar: "application/x-gtar", gtm: "application/vnd.groove-tool-message", gtw: "model/vnd.gtw", gv: "text/vnd.graphviz", gxf: "application/gxf", gxt: "application/vnd.geonext", h: "text/x-c", h261: "video/h261", h263: "video/h263", h264: "video/h264", hal: "application/vnd.hal+xml", hbci: "application/vnd.hbci", hdf: "application/x-hdf", hh: "text/x-c", hlp: "application/winhlp", hpgl: "application/vnd.hp-hpgl", hpid: "application/vnd.hp-hpid", hps: "application/vnd.hp-hps", hqx: "application/mac-binhex40", htke: "application/vnd.kenameaapp", htm: "text/html", html: "text/html", hvd: "application/vnd.yamaha.hv-dic", hvp: "application/vnd.yamaha.hv-voice", hvs: "application/vnd.yamaha.hv-script", i2g: "application/vnd.intergeo", icc: "application/vnd.iccprofile", ice: "x-conference/x-cooltalk", icm: "application/vnd.iccprofile", ico: "image/x-icon", ics: "text/calendar", ief: "image/ief", ifb: "text/calendar", ifm: "application/vnd.shana.informed.formdata", iges: "model/iges", igl: "application/vnd.igloader", igm: "application/vnd.insors.igm", igs: "model/iges", igx: "application/vnd.micrografx.igx", iif: "application/vnd.shana.informed.interchange", imp: "application/vnd.accpac.simply.imp", ims: "application/vnd.ms-ims", in: "text/plain", ink: "application/inkml+xml", inkml: "application/inkml+xml", install: "application/x-install-instructions", iota: "application/vnd.astraea-software.iota", ipfix: "application/ipfix", ipk: "application/vnd.shana.informed.package", irm: "application/vnd.ibm.rights-management", irp: "application/vnd.irepository.package+xml", iso: "application/x-iso9660-image", itp: "application/vnd.shana.informed.formtemplate", ivp: "application/vnd.immervision-ivp", ivu: "application/vnd.immervision-ivu", jad: "text/vnd.sun.j2me.app-descriptor", jam: "application/vnd.jam", jar: "application/java-archive", java: "text/x-java-source", jisp: "application/vnd.jisp", jlt: "application/vnd.hp-jlyt", jnlp: "application/x-java-jnlp-file", joda: "application/vnd.joost.joda-archive", jpe: "image/jpeg", jpeg: "image/jpeg", jpg: "image/jpeg", jpgm: "video/jpm", jpgv: "video/jpeg", jpm: "video/jpm", js: "application/javascript", json: "application/json", jsonml: "application/jsonml+json", kar: "audio/midi", karbon: "application/vnd.kde.karbon", kfo: "application/vnd.kde.kformula", kia: "application/vnd.kidspiration", kml: "application/vnd.google-earth.kml+xml", kmz: "application/vnd.google-earth.kmz", kne: "application/vnd.kinar", knp: "application/vnd.kinar", kon: "application/vnd.kde.kontour", kpr: "application/vnd.kde.kpresenter", kpt: "application/vnd.kde.kpresenter", kpxx: "application/vnd.ds-keypoint", ksp: "application/vnd.kde.kspread", ktr: "application/vnd.kahootz", ktx: "image/ktx", ktz: "application/vnd.kahootz", kwd: "application/vnd.kde.kword", kwt: "application/vnd.kde.kword", lasxml: "application/vnd.las.las+xml", latex: "application/x-latex", lbd: "application/vnd.llamagraphics.life-balance.desktop", lbe: "application/vnd.llamagraphics.life-balance.exchange+xml", les: "application/vnd.hhe.lesson-player", lha: "application/x-lzh-compressed", link66: "application/vnd.route66.link66+xml", list: "text/plain", list3820: "application/vnd.ibm.modcap", listafp: "application/vnd.ibm.modcap", lnk: "application/x-ms-shortcut", log: "text/plain", lostxml: "application/lost+xml", lrf: "application/octet-stream", lrm: "application/vnd.ms-lrm", ltf: "application/vnd.frogans.ltf", lvp: "audio/vnd.lucent.voice", lwp: "application/vnd.lotus-wordpro", lzh: "application/x-lzh-compressed", m13: "application/x-msmediaview", m14: "application/x-msmediaview", m1v: "video/mpeg", m21: "application/mp21", m2a: "audio/mpeg", m2v: "video/mpeg", m3a: "audio/mpeg", m3u: "audio/x-mpegurl", m3u8: "application/vnd.apple.mpegurl", m4a: "audio/mp4", m4u: "video/vnd.mpegurl", m4v: "video/x-m4v", ma: "application/mathematica", mads: "application/mads+xml", mag: "application/vnd.ecowin.chart", maker: "application/vnd.framemaker", man: "text/troff", mar: "application/octet-stream", mathml: "application/mathml+xml", mb: "application/mathematica", mbk: "application/vnd.mobius.mbk", mbox: "application/mbox", mc1: "application/vnd.medcalcdata", mcd: "application/vnd.mcd", mcurl: "text/vnd.curl.mcurl", mdb: "application/x-msaccess", mdi: "image/vnd.ms-modi", me: "text/troff", mesh: "model/mesh", meta4: "application/metalink4+xml", metalink: "application/metalink+xml", mets: "application/mets+xml", mfm: "application/vnd.mfmp", mft: "application/rpki-manifest", mgp: "application/vnd.osgeo.mapguide.package", mgz: "application/vnd.proteus.magazine", mid: "audio/midi", midi: "audio/midi", mie: "application/x-mie", mif: "application/vnd.mif", mime: "message/rfc822", mj2: "video/mj2", mjp2: "video/mj2", mk3d: "video/x-matroska", mka: "audio/x-matroska", mks: "video/x-matroska", mkv: "video/x-matroska", mlp: "application/vnd.dolby.mlp", mmd: "application/vnd.chipnuts.karaoke-mmd", mmf: "application/vnd.smaf", mmr: "image/vnd.fujixerox.edmics-mmr", mng: "video/x-mng", mny: "application/x-msmoney", mobi: "application/x-mobipocket-ebook", mods: "application/mods+xml", mov: "video/quicktime", movie: "video/x-sgi-movie", mp2: "audio/mpeg", mp21: "application/mp21", mp2a: "audio/mpeg", mp3: "audio/mpeg", mp4: "video/mp4", mp4a: "audio/mp4", mp4s: "application/mp4", mp4v: "video/mp4", mpc: "application/vnd.mophun.certificate", mpe: "video/mpeg", mpeg: "video/mpeg", mpg: "video/mpeg", mpg4: "video/mp4", mpga: "audio/mpeg", mpkg: "application/vnd.apple.installer+xml", mpm: "application/vnd.blueice.multipass", mpn: "application/vnd.mophun.application", mpp: "application/vnd.ms-project", mpt: "application/vnd.ms-project", mpy: "application/vnd.ibm.minipay", mqy: "application/vnd.mobius.mqy", mrc: "application/marc", mrcx: "application/marcxml+xml", ms: "text/troff", mscml: "application/mediaservercontrol+xml", mseed: "application/vnd.fdsn.mseed", mseq: "application/vnd.mseq", msf: "application/vnd.epson.msf", msh: "model/mesh", msi: "application/x-msdownload", msl: "application/vnd.mobius.msl", msty: "application/vnd.muvee.style", mts: "model/vnd.mts", mus: "application/vnd.musician", musicxml: "application/vnd.recordare.musicxml+xml", mvb: "application/x-msmediaview", mwf: "application/vnd.mfer", mxf: "application/mxf", mxl: "application/vnd.recordare.musicxml", mxml: "application/xv+xml", mxs: "application/vnd.triscape.mxs", mxu: "video/vnd.mpegurl", "n-gage": "application/vnd.nokia.n-gage.symbian.install", n3: "text/n3", nb: "application/mathematica", nbp: "application/vnd.wolfram.player", nc: "application/x-netcdf", ncx: "application/x-dtbncx+xml", nfo: "text/x-nfo", ngdat: "application/vnd.nokia.n-gage.data", nitf: "application/vnd.nitf", nlu: "application/vnd.neurolanguage.nlu", nml: "application/vnd.enliven", nnd: "application/vnd.noblenet-directory", nns: "application/vnd.noblenet-sealer", nnw: "application/vnd.noblenet-web", npx: "image/vnd.net-fpx", nsc: "application/x-conference", nsf: "application/vnd.lotus-notes", ntf: "application/vnd.nitf", nzb: "application/x-nzb", oa2: "application/vnd.fujitsu.oasys2", oa3: "application/vnd.fujitsu.oasys3", oas: "application/vnd.fujitsu.oasys", obd: "application/x-msbinder", obj: "application/x-tgif", oda: "application/oda", odb: "application/vnd.oasis.opendocument.database", odc: "application/vnd.oasis.opendocument.chart", odf: "application/vnd.oasis.opendocument.formula", odft: "application/vnd.oasis.opendocument.formula-template", odg: "application/vnd.oasis.opendocument.graphics", odi: "application/vnd.oasis.opendocument.image", odm: "application/vnd.oasis.opendocument.text-master", odp: "application/vnd.oasis.opendocument.presentation", ods: "application/vnd.oasis.opendocument.spreadsheet", odt: "application/vnd.oasis.opendocument.text", oga: "audio/ogg", ogg: "audio/ogg", ogv: "video/ogg", ogx: "application/ogg", omdoc: "application/omdoc+xml", onepkg: "application/onenote", onetmp: "application/onenote", onetoc: "application/onenote", onetoc2: "application/onenote", opf: "application/oebps-package+xml", opml: "text/x-opml", oprc: "application/vnd.palm", org: "application/vnd.lotus-organizer", osf: "application/vnd.yamaha.openscoreformat", osfpvg: "application/vnd.yamaha.openscoreformat.osfpvg+xml", otc: "application/vnd.oasis.opendocument.chart-template", otf: "application/x-font-otf", otg: "application/vnd.oasis.opendocument.graphics-template", oth: "application/vnd.oasis.opendocument.text-web", oti: "application/vnd.oasis.opendocument.image-template", otp: "application/vnd.oasis.opendocument.presentation-template", ots: "application/vnd.oasis.opendocument.spreadsheet-template", ott: "application/vnd.oasis.opendocument.text-template", oxps: "application/oxps", oxt: "application/vnd.openofficeorg.extension", p: "text/x-pascal", p10: "application/pkcs10", p12: "application/x-pkcs12", p7b: "application/x-pkcs7-certificates", p7c: "application/pkcs7-mime", p7m: "application/pkcs7-mime", p7r: "application/x-pkcs7-certreqresp", p7s: "application/pkcs7-signature", p8: "application/pkcs8", pas: "text/x-pascal", paw: "application/vnd.pawaafile", pbd: "application/vnd.powerbuilder6", pbm: "image/x-portable-bitmap", pcap: "application/vnd.tcpdump.pcap", pcf: "application/x-font-pcf", pcl: "application/vnd.hp-pcl", pclxl: "application/vnd.hp-pclxl", pct: "image/x-pict", pcurl: "application/vnd.curl.pcurl", pcx: "image/x-pcx", pdb: "application/vnd.palm", pdf: "application/pdf", pfa: "application/x-font-type1", pfb: "application/x-font-type1", pfm: "application/x-font-type1", pfr: "application/font-tdpfr", pfx: "application/x-pkcs12", pgm: "image/x-portable-graymap", pgn: "application/x-chess-pgn", pgp: "application/pgp-encrypted", pic: "image/x-pict", pkg: "application/octet-stream", pki: "application/pkixcmp", pkipath: "application/pkix-pkipath", plb: "application/vnd.3gpp.pic-bw-large", plc: "application/vnd.mobius.plc", plf: "application/vnd.pocketlearn", pls: "application/pls+xml", pml: "application/vnd.ctc-posml", png: "image/png", pnm: "image/x-portable-anymap", portpkg: "application/vnd.macports.portpkg", pot: "application/vnd.ms-powerpoint", potm: "application/vnd.ms-powerpoint.template.macroenabled.12", potx: "application/vnd.openxmlformats-officedocument.presentationml.template", ppam: "application/vnd.ms-powerpoint.addin.macroenabled.12", ppd: "application/vnd.cups-ppd", ppm: "image/x-portable-pixmap", pps: "application/vnd.ms-powerpoint", ppsm: "application/vnd.ms-powerpoint.slideshow.macroenabled.12", ppsx: "application/vnd.openxmlformats-officedocument.presentationml.slideshow", ppt: "application/vnd.ms-powerpoint", pptm: "application/vnd.ms-powerpoint.presentation.macroenabled.12", pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation", pqa: "application/vnd.palm", prc: "application/x-mobipocket-ebook", pre: "application/vnd.lotus-freelance", prf: "application/pics-rules", ps: "application/postscript", psb: "application/vnd.3gpp.pic-bw-small", psd: "image/vnd.adobe.photoshop", psf: "application/x-font-linux-psf", pskcxml: "application/pskc+xml", ptid: "application/vnd.pvi.ptid1", pub: "application/x-mspublisher", pvb: "application/vnd.3gpp.pic-bw-var", pwn: "application/vnd.3m.post-it-notes", pya: "audio/vnd.ms-playready.media.pya", pyv: "video/vnd.ms-playready.media.pyv", qam: "application/vnd.epson.quickanime", qbo: "application/vnd.intu.qbo", qfx: "application/vnd.intu.qfx", qps: "application/vnd.publishare-delta-tree", qt: "video/quicktime", qwd: "application/vnd.quark.quarkxpress", qwt: "application/vnd.quark.quarkxpress", qxb: "application/vnd.quark.quarkxpress", qxd: "application/vnd.quark.quarkxpress", qxl: "application/vnd.quark.quarkxpress", qxt: "application/vnd.quark.quarkxpress", ra: "audio/x-pn-realaudio", ram: "audio/x-pn-realaudio", rar: "application/x-rar-compressed", ras: "image/x-cmu-raster", rcprofile: "application/vnd.ipunplugged.rcprofile", rdf: "application/rdf+xml", rdz: "application/vnd.data-vision.rdz", rep: "application/vnd.businessobjects", res: "application/x-dtbresource+xml", rgb: "image/x-rgb", rif: "application/reginfo+xml", rip: "audio/vnd.rip", ris: "application/x-research-info-systems", rl: "application/resource-lists+xml", rlc: "image/vnd.fujixerox.edmics-rlc", rld: "application/resource-lists-diff+xml", rm: "application/vnd.rn-realmedia", rmi: "audio/midi", rmp: "audio/x-pn-realaudio-plugin", rms: "application/vnd.jcp.javame.midlet-rms", rmvb: "application/vnd.rn-realmedia-vbr", rnc: "application/relax-ng-compact-syntax", roa: "application/rpki-roa", roff: "text/troff", rp9: "application/vnd.cloanto.rp9", rpss: "application/vnd.nokia.radio-presets", rpst: "application/vnd.nokia.radio-preset", rq: "application/sparql-query", rs: "application/rls-services+xml", rsd: "application/rsd+xml", rss: "application/rss+xml", rtf: "application/rtf", rtx: "text/richtext", s: "text/x-asm", s3m: "audio/s3m", saf: "application/vnd.yamaha.smaf-audio", sbml: "application/sbml+xml", sc: "application/vnd.ibm.secure-container", scd: "application/x-msschedule", scm: "application/vnd.lotus-screencam", scq: "application/scvp-cv-request", scs: "application/scvp-cv-response", scurl: "text/vnd.curl.scurl", sda: "application/vnd.stardivision.draw", sdc: "application/vnd.stardivision.calc", sdd: "application/vnd.stardivision.impress", sdkd: "application/vnd.solent.sdkm+xml", sdkm: "application/vnd.solent.sdkm+xml", sdp: "application/sdp", sdw: "application/vnd.stardivision.writer", see: "application/vnd.seemail", seed: "application/vnd.fdsn.seed", sema: "application/vnd.sema", semd: "application/vnd.semd", semf: "application/vnd.semf", ser: "application/java-serialized-object", setpay: "application/set-payment-initiation", setreg: "application/set-registration-initiation", "sfd-hdstx": "application/vnd.hydrostatix.sof-data", sfs: "application/vnd.spotfire.sfs", sfv: "text/x-sfv", sgi: "image/sgi", sgl: "application/vnd.stardivision.writer-global", sgm: "text/sgml", sgml: "text/sgml", sh: "application/x-sh", shar: "application/x-shar", shf: "application/shf+xml", sid: "image/x-mrsid-image", sig: "application/pgp-signature", sil: "audio/silk", silo: "model/mesh", sis: "application/vnd.symbian.install", sisx: "application/vnd.symbian.install", sit: "application/x-stuffit", sitx: "application/x-stuffitx", skd: "application/vnd.koan", skm: "application/vnd.koan", skp: "application/vnd.koan", skt: "application/vnd.koan", sldm: "application/vnd.ms-powerpoint.slide.macroenabled.12", sldx: "application/vnd.openxmlformats-officedocument.presentationml.slide", slt: "application/vnd.epson.salt", sm: "application/vnd.stepmania.stepchart", smf: "application/vnd.stardivision.math", smi: "application/smil+xml", smil: "application/smil+xml", smv: "video/x-smv", smzip: "application/vnd.stepmania.package", snd: "audio/basic", snf: "application/x-font-snf", so: "application/octet-stream", spc: "application/x-pkcs7-certificates", spf: "application/vnd.yamaha.smaf-phrase", spl: "application/x-futuresplash", spot: "text/vnd.in3d.spot", spp: "application/scvp-vp-response", spq: "application/scvp-vp-request", spx: "audio/ogg", sql: "application/x-sql", src: "application/x-wais-source", srt: "application/x-subrip", sru: "application/sru+xml", srx: "application/sparql-results+xml", ssdl: "application/ssdl+xml", sse: "application/vnd.kodak-descriptor", ssf: "application/vnd.epson.ssf", ssml: "application/ssml+xml", st: "application/vnd.sailingtracker.track", stc: "application/vnd.sun.xml.calc.template", std: "application/vnd.sun.xml.draw.template", stf: "application/vnd.wt.stf", sti: "application/vnd.sun.xml.impress.template", stk: "application/hyperstudio", stl: "application/vnd.ms-pki.stl", str: "application/vnd.pg.format", stw: "application/vnd.sun.xml.writer.template", sub: "text/vnd.dvb.subtitle", sus: "application/vnd.sus-calendar", susp: "application/vnd.sus-calendar", sv4cpio: "application/x-sv4cpio", sv4crc: "application/x-sv4crc", svc: "application/vnd.dvb.service", svd: "application/vnd.svd", svg: "image/svg+xml", svgz: "image/svg+xml", swa: "application/x-director", swf: "application/x-shockwave-flash", swi: "application/vnd.aristanetworks.swi", sxc: "application/vnd.sun.xml.calc", sxd: "application/vnd.sun.xml.draw", sxg: "application/vnd.sun.xml.writer.global", sxi: "application/vnd.sun.xml.impress", sxm: "application/vnd.sun.xml.math", sxw: "application/vnd.sun.xml.writer", t: "text/troff", t3: "application/x-t3vm-image", taglet: "application/vnd.mynfc", tao: "application/vnd.tao.intent-module-archive", tar: "application/x-tar", tcap: "application/vnd.3gpp2.tcap", tcl: "application/x-tcl", teacher: "application/vnd.smart.teacher", tei: "application/tei+xml", teicorpus: "application/tei+xml", tex: "application/x-tex", texi: "application/x-texinfo", texinfo: "application/x-texinfo", text: "text/plain", tfi: "application/thraud+xml", tfm: "application/x-tex-tfm", tga: "image/x-tga", thmx: "application/vnd.ms-officetheme", tif: "image/tiff", tiff: "image/tiff", tmo: "application/vnd.tmobile-livetv", torrent: "application/x-bittorrent", tpl: "application/vnd.groove-tool-template", tpt: "application/vnd.trid.tpt", tr: "text/troff", tra: "application/vnd.trueapp", trm: "application/x-msterminal", tsd: "application/timestamped-data", tsv: "text/tab-separated-values", ttc: "application/x-font-ttf", ttf: "application/x-font-ttf", ttl: "text/turtle", twd: "application/vnd.simtech-mindmapper", twds: "application/vnd.simtech-mindmapper", txd: "application/vnd.genomatix.tuxedo", txf: "application/vnd.mobius.txf", txt: "text/plain", u32: "application/x-authorware-bin", udeb: "application/x-debian-package", ufd: "application/vnd.ufdl", ufdl: "application/vnd.ufdl", ulx: "application/x-glulx", umj: "application/vnd.umajin", unityweb: "application/vnd.unity", uoml: "application/vnd.uoml+xml", uri: "text/uri-list", uris: "text/uri-list", urls: "text/uri-list", ustar: "application/x-ustar", utz: "application/vnd.uiq.theme", uu: "text/x-uuencode", uva: "audio/vnd.dece.audio", uvd: "application/vnd.dece.data", uvf: "application/vnd.dece.data", uvg: "image/vnd.dece.graphic", uvh: "video/vnd.dece.hd", uvi: "image/vnd.dece.graphic", uvm: "video/vnd.dece.mobile", uvp: "video/vnd.dece.pd", uvs: "video/vnd.dece.sd", uvt: "application/vnd.dece.ttml+xml", uvu: "video/vnd.uvvu.mp4", uvv: "video/vnd.dece.video", uvva: "audio/vnd.dece.audio", uvvd: "application/vnd.dece.data", uvvf: "application/vnd.dece.data", uvvg: "image/vnd.dece.graphic", uvvh: "video/vnd.dece.hd", uvvi: "image/vnd.dece.graphic", uvvm: "video/vnd.dece.mobile", uvvp: "video/vnd.dece.pd", uvvs: "video/vnd.dece.sd", uvvt: "application/vnd.dece.ttml+xml", uvvu: "video/vnd.uvvu.mp4", uvvv: "video/vnd.dece.video", uvvx: "application/vnd.dece.unspecified", uvvz: "application/vnd.dece.zip", uvx: "application/vnd.dece.unspecified", uvz: "application/vnd.dece.zip", vcard: "text/vcard", vcd: "application/x-cdlink", vcf: "text/x-vcard", vcg: "application/vnd.groove-vcard", vcs: "text/x-vcalendar", vcx: "application/vnd.vcx", vis: "application/vnd.visionary", viv: "video/vnd.vivo", vob: "video/x-ms-vob", vor: "application/vnd.stardivision.writer", vox: "application/x-authorware-bin", vrml: "model/vrml", vsd: "application/vnd.visio", vsf: "application/vnd.vsf", vss: "application/vnd.visio", vst: "application/vnd.visio", vsw: "application/vnd.visio", vtu: "model/vnd.vtu", vxml: "application/voicexml+xml", w3d: "application/x-director", wad: "application/x-doom", wasm: "application/wasm", wav: "audio/x-wav", wax: "audio/x-ms-wax", wbmp: "image/vnd.wap.wbmp", wbs: "application/vnd.criticaltools.wbs+xml", wbxml: "application/vnd.wap.wbxml", wcm: "application/vnd.ms-works", wdb: "application/vnd.ms-works", wdp: "image/vnd.ms-photo", weba: "audio/webm", webm: "video/webm", webp: "image/webp", wg: "application/vnd.pmi.widget", wgt: "application/widget", wks: "application/vnd.ms-works", wm: "video/x-ms-wm", wma: "audio/x-ms-wma", wmd: "application/x-ms-wmd", wmf: "application/x-msmetafile", wml: "text/vnd.wap.wml", wmlc: "application/vnd.wap.wmlc", wmls: "text/vnd.wap.wmlscript", wmlsc: "application/vnd.wap.wmlscriptc", wmv: "video/x-ms-wmv", wmx: "video/x-ms-wmx", wmz: "application/x-ms-wmz", woff: "application/x-font-woff", wpd: "application/vnd.wordperfect", wpl: "application/vnd.ms-wpl", wps: "application/vnd.ms-works", wqd: "application/vnd.wqd", wri: "application/x-mswrite", wrl: "model/vrml", wsdl: "application/wsdl+xml", wspolicy: "application/wspolicy+xml", wtb: "application/vnd.webturbo", wvx: "video/x-ms-wvx", x32: "application/x-authorware-bin", x3d: "model/x3d+xml", x3db: "model/x3d+binary", x3dbz: "model/x3d+binary", x3dv: "model/x3d+vrml", x3dvz: "model/x3d+vrml", x3dz: "model/x3d+xml", xaml: "application/xaml+xml", xap: "application/x-silverlight-app", xar: "application/vnd.xara", xbap: "application/x-ms-xbap", xbd: "application/vnd.fujixerox.docuworks.binder", xbm: "image/x-xbitmap", xdf: "application/xcap-diff+xml", xdm: "application/vnd.syncml.dm+xml", xdp: "application/vnd.adobe.xdp+xml", xdssc: "application/dssc+xml", xdw: "application/vnd.fujixerox.docuworks", xenc: "application/xenc+xml", xer: "application/patch-ops-error+xml", xfdf: "application/vnd.adobe.xfdf", xfdl: "application/vnd.xfdl", xht: "application/xhtml+xml", xhtml: "application/xhtml+xml", xhvml: "application/xv+xml", xif: "image/vnd.xiff", xla: "application/vnd.ms-excel", xlam: "application/vnd.ms-excel.addin.macroenabled.12", xlc: "application/vnd.ms-excel", xlf: "application/x-xliff+xml", xlm: "application/vnd.ms-excel", xls: "application/vnd.ms-excel", xlsb: "application/vnd.ms-excel.sheet.binary.macroenabled.12", xlsm: "application/vnd.ms-excel.sheet.macroenabled.12", xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", xlt: "application/vnd.ms-excel", xltm: "application/vnd.ms-excel.template.macroenabled.12", xltx: "application/vnd.openxmlformats-officedocument.spreadsheetml.template", xlw: "application/vnd.ms-excel", xm: "audio/xm", xml: "application/xml", xo: "application/vnd.olpc-sugar", xop: "application/xop+xml", xpi: "application/x-xpinstall", xpl: "application/xproc+xml", xpm: "image/x-xpixmap", xpr: "application/vnd.is-xpr", xps: "application/vnd.ms-xpsdocument", xpw: "application/vnd.intercon.formnet", xpx: "application/vnd.intercon.formnet", xsl: "application/xml", xslt: "application/xslt+xml", xsm: "application/vnd.syncml+xml", xspf: "application/xspf+xml", xul: "application/vnd.mozilla.xul+xml", xvm: "application/xv+xml", xvml: "application/xv+xml", xwd: "image/x-xwindowdump", xyz: "chemical/x-xyz", xz: "application/x-xz", yang: "application/yang", yin: "application/yin+xml", z1: "application/x-zmachine", z2: "application/x-zmachine", z3: "application/x-zmachine", z4: "application/x-zmachine", z5: "application/x-zmachine", z6: "application/x-zmachine", z7: "application/x-zmachine", z8: "application/x-zmachine", zaz: "application/vnd.zzazz.deck+xml", zip: "application/zip", zir: "application/vnd.zul", zirz: "application/vnd.zul", zmm: "application/vnd.handheld-entertainment+xml"}, B.List_fuQ, type$.ConstantStringMap_String_String);
    B.List_gFn = A._setArrayType(makeConstList(["alias", "allScroll", "basic", "cell", "click", "contextMenu", "copy", "forbidden", "grab", "grabbing", "help", "move", "none", "noDrop", "precise", "progress", "text", "resizeColumn", "resizeDown", "resizeDownLeft", "resizeDownRight", "resizeLeft", "resizeLeftRight", "resizeRight", "resizeRow", "resizeUp", "resizeUpDown", "resizeUpLeft", "resizeUpRight", "resizeUpLeftDownRight", "resizeUpRightDownLeft", "verticalText", "wait", "zoomIn", "zoomOut"]), type$.JSArray_String);
    B.Map_gFKQ1 = new A.ConstantStringMap(35, {alias: "alias", allScroll: "all-scroll", basic: "default", cell: "cell", click: "pointer", contextMenu: "context-menu", copy: "copy", forbidden: "not-allowed", grab: "grab", grabbing: "grabbing", help: "help", move: "move", none: "none", noDrop: "no-drop", precise: "crosshair", progress: "progress", text: "text", resizeColumn: "col-resize", resizeDown: "s-resize", resizeDownLeft: "sw-resize", resizeDownRight: "se-resize", resizeLeft: "w-resize", resizeLeftRight: "ew-resize", resizeRight: "e-resize", resizeRow: "row-resize", resizeUp: "n-resize", resizeUpDown: "ns-resize", resizeUpLeft: "nw-resize", resizeUpRight: "ne-resize", resizeUpLeftDownRight: "nwse-resize", resizeUpRightDownLeft: "nesw-resize", verticalText: "vertical-text", wait: "wait", zoomIn: "zoom-in", zoomOut: "zoom-out"}, B.List_gFn, type$.ConstantStringMap_String_String);
    B.MaterialType_0 = new A.MaterialType(0, "canvas");
    B.MaterialType_1 = new A.MaterialType(1, "card");
    B.MaterialType_2 = new A.MaterialType(2, "circle");
    B.MaterialType_3 = new A.MaterialType(3, "button");
    B.MaterialType_4 = new A.MaterialType(4, "transparency");
    B.Map_gnuL2 = new A.GeneralConstantMap([B.MaterialType_0, null, B.MaterialType_1, B.BorderRadius_tLn2, B.MaterialType_2, null, B.MaterialType_3, B.BorderRadius_tLn2, B.MaterialType_4, null], A.findType("GeneralConstantMap<MaterialType,BorderRadius?>"));
    B.Map_mU2yL = new A.GeneralConstantMap([32, "Space", 33, "Exclamation", 34, "Quote", 35, "Number Sign", 36, "Dollar", 37, "Percent", 38, "Ampersand", 39, "Quote Single", 40, "Parenthesis Left", 41, "Parenthesis Right", 42, "Asterisk", 43, "Add", 44, "Comma", 45, "Minus", 46, "Period", 47, "Slash", 48, "Digit 0", 49, "Digit 1", 50, "Digit 2", 51, "Digit 3", 52, "Digit 4", 53, "Digit 5", 54, "Digit 6", 55, "Digit 7", 56, "Digit 8", 57, "Digit 9", 58, "Colon", 59, "Semicolon", 60, "Less", 61, "Equal", 62, "Greater", 63, "Question", 64, "At", 91, "Bracket Left", 92, "Backslash", 93, "Bracket Right", 94, "Caret", 95, "Underscore", 96, "Backquote", 97, "Key A", 98, "Key B", 99, "Key C", 100, "Key D", 101, "Key E", 102, "Key F", 103, "Key G", 104, "Key H", 105, "Key I", 106, "Key J", 107, "Key K", 108, "Key L", 109, "Key M", 110, "Key N", 111, "Key O", 112, "Key P", 113, "Key Q", 114, "Key R", 115, "Key S", 116, "Key T", 117, "Key U", 118, "Key V", 119, "Key W", 120, "Key X", 121, "Key Y", 122, "Key Z", 123, "Brace Left", 124, "Bar", 125, "Brace Right", 126, "Tilde", 4294967297, "Unidentified", 4294967304, "Backspace", 4294967305, "Tab", 4294967309, "Enter", 4294967323, "Escape", 4294967423, "Delete", 4294967553, "Accel", 4294967555, "Alt Graph", 4294967556, "Caps Lock", 4294967558, "Fn", 4294967559, "Fn Lock", 4294967560, "Hyper", 4294967562, "Num Lock", 4294967564, "Scroll Lock", 4294967566, "Super", 4294967567, "Symbol", 4294967568, "Symbol Lock", 4294967569, "Shift Level 5", 4294968065, "Arrow Down", 4294968066, "Arrow Left", 4294968067, "Arrow Right", 4294968068, "Arrow Up", 4294968069, "End", 4294968070, "Home", 4294968071, "Page Down", 4294968072, "Page Up", 4294968321, "Clear", 4294968322, "Copy", 4294968323, "Cr Sel", 4294968324, "Cut", 4294968325, "Erase Eof", 4294968326, "Ex Sel", 4294968327, "Insert", 4294968328, "Paste", 4294968329, "Redo", 4294968330, "Undo", 4294968577, "Accept", 4294968578, "Again", 4294968579, "Attn", 4294968580, "Cancel", 4294968581, "Context Menu", 4294968582, "Execute", 4294968583, "Find", 4294968584, "Help", 4294968585, "Pause", 4294968586, "Play", 4294968587, "Props", 4294968588, "Select", 4294968589, "Zoom In", 4294968590, "Zoom Out", 4294968833, "Brightness Down", 4294968834, "Brightness Up", 4294968835, "Camera", 4294968836, "Eject", 4294968837, "Log Off", 4294968838, "Power", 4294968839, "Power Off", 4294968840, "Print Screen", 4294968841, "Hibernate", 4294968842, "Standby", 4294968843, "Wake Up", 4294969089, "All Candidates", 4294969090, "Alphanumeric", 4294969091, "Code Input", 4294969092, "Compose", 4294969093, "Convert", 4294969094, "Final Mode", 4294969095, "Group First", 4294969096, "Group Last", 4294969097, "Group Next", 4294969098, "Group Previous", 4294969099, "Mode Change", 4294969100, "Next Candidate", 4294969101, "Non Convert", 4294969102, "Previous Candidate", 4294969103, "Process", 4294969104, "Single Candidate", 4294969105, "Hangul Mode", 4294969106, "Hanja Mode", 4294969107, "Junja Mode", 4294969108, "Eisu", 4294969109, "Hankaku", 4294969110, "Hiragana", 4294969111, "Hiragana Katakana", 4294969112, "Kana Mode", 4294969113, "Kanji Mode", 4294969114, "Katakana", 4294969115, "Romaji", 4294969116, "Zenkaku", 4294969117, "Zenkaku Hankaku", 4294969345, "F1", 4294969346, "F2", 4294969347, "F3", 4294969348, "F4", 4294969349, "F5", 4294969350, "F6", 4294969351, "F7", 4294969352, "F8", 4294969353, "F9", 4294969354, "F10", 4294969355, "F11", 4294969356, "F12", 4294969357, "F13", 4294969358, "F14", 4294969359, "F15", 4294969360, "F16", 4294969361, "F17", 4294969362, "F18", 4294969363, "F19", 4294969364, "F20", 4294969365, "F21", 4294969366, "F22", 4294969367, "F23", 4294969368, "F24", 4294969601, "Soft 1", 4294969602, "Soft 2", 4294969603, "Soft 3", 4294969604, "Soft 4", 4294969605, "Soft 5", 4294969606, "Soft 6", 4294969607, "Soft 7", 4294969608, "Soft 8", 4294969857, "Close", 4294969858, "Mail Forward", 4294969859, "Mail Reply", 4294969860, "Mail Send", 4294969861, "Media Play Pause", 4294969863, "Media Stop", 4294969864, "Media Track Next", 4294969865, "Media Track Previous", 4294969866, "New", 4294969867, "Open", 4294969868, "Print", 4294969869, "Save", 4294969870, "Spell Check", 4294969871, "Audio Volume Down", 4294969872, "Audio Volume Up", 4294969873, "Audio Volume Mute", 4294970113, "Launch Application 2", 4294970114, "Launch Calendar", 4294970115, "Launch Mail", 4294970116, "Launch Media Player", 4294970117, "Launch Music Player", 4294970118, "Launch Application 1", 4294970119, "Launch Screen Saver", 4294970120, "Launch Spreadsheet", 4294970121, "Launch Web Browser", 4294970122, "Launch Web Cam", 4294970123, "Launch Word Processor", 4294970124, "Launch Contacts", 4294970125, "Launch Phone", 4294970126, "Launch Assistant", 4294970127, "Launch Control Panel", 4294970369, "Browser Back", 4294970370, "Browser Favorites", 4294970371, "Browser Forward", 4294970372, "Browser Home", 4294970373, "Browser Refresh", 4294970374, "Browser Search", 4294970375, "Browser Stop", 4294970625, "Audio Balance Left", 4294970626, "Audio Balance Right", 4294970627, "Audio Bass Boost Down", 4294970628, "Audio Bass Boost Up", 4294970629, "Audio Fader Front", 4294970630, "Audio Fader Rear", 4294970631, "Audio Surround Mode Next", 4294970632, "AVR Input", 4294970633, "AVR Power", 4294970634, "Channel Down", 4294970635, "Channel Up", 4294970636, "Color F0 Red", 4294970637, "Color F1 Green", 4294970638, "Color F2 Yellow", 4294970639, "Color F3 Blue", 4294970640, "Color F4 Grey", 4294970641, "Color F5 Brown", 4294970642, "Closed Caption Toggle", 4294970643, "Dimmer", 4294970644, "Display Swap", 4294970645, "Exit", 4294970646, "Favorite Clear 0", 4294970647, "Favorite Clear 1", 4294970648, "Favorite Clear 2", 4294970649, "Favorite Clear 3", 4294970650, "Favorite Recall 0", 4294970651, "Favorite Recall 1", 4294970652, "Favorite Recall 2", 4294970653, "Favorite Recall 3", 4294970654, "Favorite Store 0", 4294970655, "Favorite Store 1", 4294970656, "Favorite Store 2", 4294970657, "Favorite Store 3", 4294970658, "Guide", 4294970659, "Guide Next Day", 4294970660, "Guide Previous Day", 4294970661, "Info", 4294970662, "Instant Replay", 4294970663, "Link", 4294970664, "List Program", 4294970665, "Live Content", 4294970666, "Lock", 4294970667, "Media Apps", 4294970668, "Media Fast Forward", 4294970669, "Media Last", 4294970670, "Media Pause", 4294970671, "Media Play", 4294970672, "Media Record", 4294970673, "Media Rewind", 4294970674, "Media Skip", 4294970675, "Next Favorite Channel", 4294970676, "Next User Profile", 4294970677, "On Demand", 4294970678, "P In P Down", 4294970679, "P In P Move", 4294970680, "P In P Toggle", 4294970681, "P In P Up", 4294970682, "Play Speed Down", 4294970683, "Play Speed Reset", 4294970684, "Play Speed Up", 4294970685, "Random Toggle", 4294970686, "Rc Low Battery", 4294970687, "Record Speed Next", 4294970688, "Rf Bypass", 4294970689, "Scan Channels Toggle", 4294970690, "Screen Mode Next", 4294970691, "Settings", 4294970692, "Split Screen Toggle", 4294970693, "STB Input", 4294970694, "STB Power", 4294970695, "Subtitle", 4294970696, "Teletext", 4294970697, "TV", 4294970698, "TV Input", 4294970699, "TV Power", 4294970700, "Video Mode Next", 4294970701, "Wink", 4294970702, "Zoom Toggle", 4294970703, "DVR", 4294970704, "Media Audio Track", 4294970705, "Media Skip Backward", 4294970706, "Media Skip Forward", 4294970707, "Media Step Backward", 4294970708, "Media Step Forward", 4294970709, "Media Top Menu", 4294970710, "Navigate In", 4294970711, "Navigate Next", 4294970712, "Navigate Out", 4294970713, "Navigate Previous", 4294970714, "Pairing", 4294970715, "Media Close", 4294970882, "Audio Bass Boost Toggle", 4294970884, "Audio Treble Down", 4294970885, "Audio Treble Up", 4294970886, "Microphone Toggle", 4294970887, "Microphone Volume Down", 4294970888, "Microphone Volume Up", 4294970889, "Microphone Volume Mute", 4294971137, "Speech Correction List", 4294971138, "Speech Input Toggle", 4294971393, "App Switch", 4294971394, "Call", 4294971395, "Camera Focus", 4294971396, "End Call", 4294971397, "Go Back", 4294971398, "Go Home", 4294971399, "Headset Hook", 4294971400, "Last Number Redial", 4294971401, "Notification", 4294971402, "Manner Mode", 4294971403, "Voice Dial", 4294971649, "TV 3 D Mode", 4294971650, "TV Antenna Cable", 4294971651, "TV Audio Description", 4294971652, "TV Audio Description Mix Down", 4294971653, "TV Audio Description Mix Up", 4294971654, "TV Contents Menu", 4294971655, "TV Data Service", 4294971656, "TV Input Component 1", 4294971657, "TV Input Component 2", 4294971658, "TV Input Composite 1", 4294971659, "TV Input Composite 2", 4294971660, "TV Input HDMI 1", 4294971661, "TV Input HDMI 2", 4294971662, "TV Input HDMI 3", 4294971663, "TV Input HDMI 4", 4294971664, "TV Input VGA 1", 4294971665, "TV Media Context", 4294971666, "TV Network", 4294971667, "TV Number Entry", 4294971668, "TV Radio Service", 4294971669, "TV Satellite", 4294971670, "TV Satellite BS", 4294971671, "TV Satellite CS", 4294971672, "TV Satellite Toggle", 4294971673, "TV Terrestrial Analog", 4294971674, "TV Terrestrial Digital", 4294971675, "TV Timer", 4294971905, "Key 11", 4294971906, "Key 12", 8589934592, "Suspend", 8589934593, "Resume", 8589934594, "Sleep", 8589934595, "Abort", 8589934608, "Lang 1", 8589934609, "Lang 2", 8589934610, "Lang 3", 8589934611, "Lang 4", 8589934612, "Lang 5", 8589934624, "Intl Backslash", 8589934625, "Intl Ro", 8589934626, "Intl Yen", 8589934848, "Control Left", 8589934849, "Control Right", 8589934850, "Shift Left", 8589934851, "Shift Right", 8589934852, "Alt Left", 8589934853, "Alt Right", 8589934854, "Meta Left", 8589934855, "Meta Right", 8589935088, "Control", 8589935090, "Shift", 8589935092, "Alt", 8589935094, "Meta", 8589935117, "Numpad Enter", 8589935144, "Numpad Paren Left", 8589935145, "Numpad Paren Right", 8589935146, "Numpad Multiply", 8589935147, "Numpad Add", 8589935148, "Numpad Comma", 8589935149, "Numpad Subtract", 8589935150, "Numpad Decimal", 8589935151, "Numpad Divide", 8589935152, "Numpad 0", 8589935153, "Numpad 1", 8589935154, "Numpad 2", 8589935155, "Numpad 3", 8589935156, "Numpad 4", 8589935157, "Numpad 5", 8589935158, "Numpad 6", 8589935159, "Numpad 7", 8589935160, "Numpad 8", 8589935161, "Numpad 9", 8589935165, "Numpad Equal", 8589935361, "Game Button 1", 8589935362, "Game Button 2", 8589935363, "Game Button 3", 8589935364, "Game Button 4", 8589935365, "Game Button 5", 8589935366, "Game Button 6", 8589935367, "Game Button 7", 8589935368, "Game Button 8", 8589935369, "Game Button 9", 8589935370, "Game Button 10", 8589935371, "Game Button 11", 8589935372, "Game Button 12", 8589935373, "Game Button 13", 8589935374, "Game Button 14", 8589935375, "Game Button 15", 8589935376, "Game Button 16", 8589935377, "Game Button A", 8589935378, "Game Button B", 8589935379, "Game Button C", 8589935380, "Game Button Left 1", 8589935381, "Game Button Left 2", 8589935382, "Game Button Mode", 8589935383, "Game Button Right 1", 8589935384, "Game Button Right 2", 8589935385, "Game Button Select", 8589935386, "Game Button Start", 8589935387, "Game Button Thumb Left", 8589935388, "Game Button Thumb Right", 8589935389, "Game Button X", 8589935390, "Game Button Y", 8589935391, "Game Button Z"], type$.GeneralConstantMap_int_String);
    B.LogicalKeyboardKey_32 = new A.LogicalKeyboardKey(32);
    B.LogicalKeyboardKey_33 = new A.LogicalKeyboardKey(33);
    B.LogicalKeyboardKey_34 = new A.LogicalKeyboardKey(34);
    B.LogicalKeyboardKey_35 = new A.LogicalKeyboardKey(35);
    B.LogicalKeyboardKey_36 = new A.LogicalKeyboardKey(36);
    B.LogicalKeyboardKey_37 = new A.LogicalKeyboardKey(37);
    B.LogicalKeyboardKey_38 = new A.LogicalKeyboardKey(38);
    B.LogicalKeyboardKey_39 = new A.LogicalKeyboardKey(39);
    B.LogicalKeyboardKey_40 = new A.LogicalKeyboardKey(40);
    B.LogicalKeyboardKey_41 = new A.LogicalKeyboardKey(41);
    B.LogicalKeyboardKey_44 = new A.LogicalKeyboardKey(44);
    B.LogicalKeyboardKey_58 = new A.LogicalKeyboardKey(58);
    B.LogicalKeyboardKey_59 = new A.LogicalKeyboardKey(59);
    B.LogicalKeyboardKey_60 = new A.LogicalKeyboardKey(60);
    B.LogicalKeyboardKey_61 = new A.LogicalKeyboardKey(61);
    B.LogicalKeyboardKey_62 = new A.LogicalKeyboardKey(62);
    B.LogicalKeyboardKey_63 = new A.LogicalKeyboardKey(63);
    B.LogicalKeyboardKey_64 = new A.LogicalKeyboardKey(64);
    B.LogicalKeyboardKey_91 = new A.LogicalKeyboardKey(91);
    B.LogicalKeyboardKey_92 = new A.LogicalKeyboardKey(92);
    B.LogicalKeyboardKey_93 = new A.LogicalKeyboardKey(93);
    B.LogicalKeyboardKey_94 = new A.LogicalKeyboardKey(94);
    B.LogicalKeyboardKey_95 = new A.LogicalKeyboardKey(95);
    B.LogicalKeyboardKey_96 = new A.LogicalKeyboardKey(96);
    B.LogicalKeyboardKey_97 = new A.LogicalKeyboardKey(97);
    B.LogicalKeyboardKey_98 = new A.LogicalKeyboardKey(98);
    B.LogicalKeyboardKey_99 = new A.LogicalKeyboardKey(99);
    B.LogicalKeyboardKey_100 = new A.LogicalKeyboardKey(100);
    B.LogicalKeyboardKey_101 = new A.LogicalKeyboardKey(101);
    B.LogicalKeyboardKey_104 = new A.LogicalKeyboardKey(104);
    B.LogicalKeyboardKey_105 = new A.LogicalKeyboardKey(105);
    B.LogicalKeyboardKey_106 = new A.LogicalKeyboardKey(106);
    B.LogicalKeyboardKey_107 = new A.LogicalKeyboardKey(107);
    B.LogicalKeyboardKey_108 = new A.LogicalKeyboardKey(108);
    B.LogicalKeyboardKey_109 = new A.LogicalKeyboardKey(109);
    B.LogicalKeyboardKey_110 = new A.LogicalKeyboardKey(110);
    B.LogicalKeyboardKey_111 = new A.LogicalKeyboardKey(111);
    B.LogicalKeyboardKey_113 = new A.LogicalKeyboardKey(113);
    B.LogicalKeyboardKey_114 = new A.LogicalKeyboardKey(114);
    B.LogicalKeyboardKey_115 = new A.LogicalKeyboardKey(115);
    B.LogicalKeyboardKey_116 = new A.LogicalKeyboardKey(116);
    B.LogicalKeyboardKey_117 = new A.LogicalKeyboardKey(117);
    B.LogicalKeyboardKey_118 = new A.LogicalKeyboardKey(118);
    B.LogicalKeyboardKey_119 = new A.LogicalKeyboardKey(119);
    B.LogicalKeyboardKey_120 = new A.LogicalKeyboardKey(120);
    B.LogicalKeyboardKey_121 = new A.LogicalKeyboardKey(121);
    B.LogicalKeyboardKey_122 = new A.LogicalKeyboardKey(122);
    B.LogicalKeyboardKey_123 = new A.LogicalKeyboardKey(123);
    B.LogicalKeyboardKey_124 = new A.LogicalKeyboardKey(124);
    B.LogicalKeyboardKey_125 = new A.LogicalKeyboardKey(125);
    B.LogicalKeyboardKey_126 = new A.LogicalKeyboardKey(126);
    B.LogicalKeyboardKey_8589934592 = new A.LogicalKeyboardKey(8589934592);
    B.LogicalKeyboardKey_8589934593 = new A.LogicalKeyboardKey(8589934593);
    B.LogicalKeyboardKey_8589934594 = new A.LogicalKeyboardKey(8589934594);
    B.LogicalKeyboardKey_8589934595 = new A.LogicalKeyboardKey(8589934595);
    B.LogicalKeyboardKey_8589934608 = new A.LogicalKeyboardKey(8589934608);
    B.LogicalKeyboardKey_8589934609 = new A.LogicalKeyboardKey(8589934609);
    B.LogicalKeyboardKey_8589934610 = new A.LogicalKeyboardKey(8589934610);
    B.LogicalKeyboardKey_8589934611 = new A.LogicalKeyboardKey(8589934611);
    B.LogicalKeyboardKey_8589934612 = new A.LogicalKeyboardKey(8589934612);
    B.LogicalKeyboardKey_8589934624 = new A.LogicalKeyboardKey(8589934624);
    B.LogicalKeyboardKey_8589934625 = new A.LogicalKeyboardKey(8589934625);
    B.LogicalKeyboardKey_8589934626 = new A.LogicalKeyboardKey(8589934626);
    B.LogicalKeyboardKey_8589935144 = new A.LogicalKeyboardKey(8589935144);
    B.LogicalKeyboardKey_8589935145 = new A.LogicalKeyboardKey(8589935145);
    B.LogicalKeyboardKey_8589935148 = new A.LogicalKeyboardKey(8589935148);
    B.LogicalKeyboardKey_8589935165 = new A.LogicalKeyboardKey(8589935165);
    B.LogicalKeyboardKey_8589935361 = new A.LogicalKeyboardKey(8589935361);
    B.LogicalKeyboardKey_8589935362 = new A.LogicalKeyboardKey(8589935362);
    B.LogicalKeyboardKey_8589935363 = new A.LogicalKeyboardKey(8589935363);
    B.LogicalKeyboardKey_8589935364 = new A.LogicalKeyboardKey(8589935364);
    B.LogicalKeyboardKey_8589935365 = new A.LogicalKeyboardKey(8589935365);
    B.LogicalKeyboardKey_8589935366 = new A.LogicalKeyboardKey(8589935366);
    B.LogicalKeyboardKey_8589935367 = new A.LogicalKeyboardKey(8589935367);
    B.LogicalKeyboardKey_8589935368 = new A.LogicalKeyboardKey(8589935368);
    B.LogicalKeyboardKey_8589935369 = new A.LogicalKeyboardKey(8589935369);
    B.LogicalKeyboardKey_8589935370 = new A.LogicalKeyboardKey(8589935370);
    B.LogicalKeyboardKey_8589935371 = new A.LogicalKeyboardKey(8589935371);
    B.LogicalKeyboardKey_8589935372 = new A.LogicalKeyboardKey(8589935372);
    B.LogicalKeyboardKey_8589935373 = new A.LogicalKeyboardKey(8589935373);
    B.LogicalKeyboardKey_8589935374 = new A.LogicalKeyboardKey(8589935374);
    B.LogicalKeyboardKey_8589935375 = new A.LogicalKeyboardKey(8589935375);
    B.LogicalKeyboardKey_8589935376 = new A.LogicalKeyboardKey(8589935376);
    B.LogicalKeyboardKey_8589935377 = new A.LogicalKeyboardKey(8589935377);
    B.LogicalKeyboardKey_8589935378 = new A.LogicalKeyboardKey(8589935378);
    B.LogicalKeyboardKey_8589935379 = new A.LogicalKeyboardKey(8589935379);
    B.LogicalKeyboardKey_8589935380 = new A.LogicalKeyboardKey(8589935380);
    B.LogicalKeyboardKey_8589935381 = new A.LogicalKeyboardKey(8589935381);
    B.LogicalKeyboardKey_8589935382 = new A.LogicalKeyboardKey(8589935382);
    B.LogicalKeyboardKey_8589935383 = new A.LogicalKeyboardKey(8589935383);
    B.LogicalKeyboardKey_8589935384 = new A.LogicalKeyboardKey(8589935384);
    B.LogicalKeyboardKey_8589935385 = new A.LogicalKeyboardKey(8589935385);
    B.LogicalKeyboardKey_8589935386 = new A.LogicalKeyboardKey(8589935386);
    B.LogicalKeyboardKey_8589935387 = new A.LogicalKeyboardKey(8589935387);
    B.LogicalKeyboardKey_8589935388 = new A.LogicalKeyboardKey(8589935388);
    B.LogicalKeyboardKey_8589935389 = new A.LogicalKeyboardKey(8589935389);
    B.LogicalKeyboardKey_8589935390 = new A.LogicalKeyboardKey(8589935390);
    B.LogicalKeyboardKey_8589935391 = new A.LogicalKeyboardKey(8589935391);
    B.Map_mUsBb = new A.GeneralConstantMap([32, B.LogicalKeyboardKey_32, 33, B.LogicalKeyboardKey_33, 34, B.LogicalKeyboardKey_34, 35, B.LogicalKeyboardKey_35, 36, B.LogicalKeyboardKey_36, 37, B.LogicalKeyboardKey_37, 38, B.LogicalKeyboardKey_38, 39, B.LogicalKeyboardKey_39, 40, B.LogicalKeyboardKey_40, 41, B.LogicalKeyboardKey_41, 42, B.LogicalKeyboardKey_42, 43, B.LogicalKeyboardKey_43, 44, B.LogicalKeyboardKey_44, 45, B.LogicalKeyboardKey_45, 46, B.LogicalKeyboardKey_46, 47, B.LogicalKeyboardKey_47, 48, B.LogicalKeyboardKey_48, 49, B.LogicalKeyboardKey_49, 50, B.LogicalKeyboardKey_50, 51, B.LogicalKeyboardKey_51, 52, B.LogicalKeyboardKey_52, 53, B.LogicalKeyboardKey_53, 54, B.LogicalKeyboardKey_54, 55, B.LogicalKeyboardKey_55, 56, B.LogicalKeyboardKey_56, 57, B.LogicalKeyboardKey_57, 58, B.LogicalKeyboardKey_58, 59, B.LogicalKeyboardKey_59, 60, B.LogicalKeyboardKey_60, 61, B.LogicalKeyboardKey_61, 62, B.LogicalKeyboardKey_62, 63, B.LogicalKeyboardKey_63, 64, B.LogicalKeyboardKey_64, 91, B.LogicalKeyboardKey_91, 92, B.LogicalKeyboardKey_92, 93, B.LogicalKeyboardKey_93, 94, B.LogicalKeyboardKey_94, 95, B.LogicalKeyboardKey_95, 96, B.LogicalKeyboardKey_96, 97, B.LogicalKeyboardKey_97, 98, B.LogicalKeyboardKey_98, 99, B.LogicalKeyboardKey_99, 100, B.LogicalKeyboardKey_100, 101, B.LogicalKeyboardKey_101, 102, B.LogicalKeyboardKey_102, 103, B.LogicalKeyboardKey_103, 104, B.LogicalKeyboardKey_104, 105, B.LogicalKeyboardKey_105, 106, B.LogicalKeyboardKey_106, 107, B.LogicalKeyboardKey_107, 108, B.LogicalKeyboardKey_108, 109, B.LogicalKeyboardKey_109, 110, B.LogicalKeyboardKey_110, 111, B.LogicalKeyboardKey_111, 112, B.LogicalKeyboardKey_112, 113, B.LogicalKeyboardKey_113, 114, B.LogicalKeyboardKey_114, 115, B.LogicalKeyboardKey_115, 116, B.LogicalKeyboardKey_116, 117, B.LogicalKeyboardKey_117, 118, B.LogicalKeyboardKey_118, 119, B.LogicalKeyboardKey_119, 120, B.LogicalKeyboardKey_120, 121, B.LogicalKeyboardKey_121, 122, B.LogicalKeyboardKey_122, 123, B.LogicalKeyboardKey_123, 124, B.LogicalKeyboardKey_124, 125, B.LogicalKeyboardKey_125, 126, B.LogicalKeyboardKey_126, 4294967297, B.LogicalKeyboardKey_4294967297, 4294967304, B.LogicalKeyboardKey_4294967304, 4294967305, B.LogicalKeyboardKey_4294967305, 4294967309, B.LogicalKeyboardKey_4294967309, 4294967323, B.LogicalKeyboardKey_4294967323, 4294967423, B.LogicalKeyboardKey_4294967423, 4294967553, B.LogicalKeyboardKey_4294967553, 4294967555, B.LogicalKeyboardKey_4294967555, 4294967556, B.LogicalKeyboardKey_4294967556, 4294967558, B.LogicalKeyboardKey_4294967558, 4294967559, B.LogicalKeyboardKey_4294967559, 4294967560, B.LogicalKeyboardKey_4294967560, 4294967562, B.LogicalKeyboardKey_4294967562, 4294967564, B.LogicalKeyboardKey_4294967564, 4294967566, B.LogicalKeyboardKey_4294967566, 4294967567, B.LogicalKeyboardKey_4294967567, 4294967568, B.LogicalKeyboardKey_4294967568, 4294967569, B.LogicalKeyboardKey_4294967569, 4294968065, B.LogicalKeyboardKey_4294968065, 4294968066, B.LogicalKeyboardKey_4294968066, 4294968067, B.LogicalKeyboardKey_4294968067, 4294968068, B.LogicalKeyboardKey_4294968068, 4294968069, B.LogicalKeyboardKey_4294968069, 4294968070, B.LogicalKeyboardKey_4294968070, 4294968071, B.LogicalKeyboardKey_4294968071, 4294968072, B.LogicalKeyboardKey_4294968072, 4294968321, B.LogicalKeyboardKey_4294968321, 4294968322, B.LogicalKeyboardKey_4294968322, 4294968323, B.LogicalKeyboardKey_4294968323, 4294968324, B.LogicalKeyboardKey_4294968324, 4294968325, B.LogicalKeyboardKey_4294968325, 4294968326, B.LogicalKeyboardKey_4294968326, 4294968327, B.LogicalKeyboardKey_4294968327, 4294968328, B.LogicalKeyboardKey_4294968328, 4294968329, B.LogicalKeyboardKey_4294968329, 4294968330, B.LogicalKeyboardKey_4294968330, 4294968577, B.LogicalKeyboardKey_4294968577, 4294968578, B.LogicalKeyboardKey_4294968578, 4294968579, B.LogicalKeyboardKey_4294968579, 4294968580, B.LogicalKeyboardKey_4294968580, 4294968581, B.LogicalKeyboardKey_4294968581, 4294968582, B.LogicalKeyboardKey_4294968582, 4294968583, B.LogicalKeyboardKey_4294968583, 4294968584, B.LogicalKeyboardKey_4294968584, 4294968585, B.LogicalKeyboardKey_4294968585, 4294968586, B.LogicalKeyboardKey_4294968586, 4294968587, B.LogicalKeyboardKey_4294968587, 4294968588, B.LogicalKeyboardKey_4294968588, 4294968589, B.LogicalKeyboardKey_4294968589, 4294968590, B.LogicalKeyboardKey_4294968590, 4294968833, B.LogicalKeyboardKey_4294968833, 4294968834, B.LogicalKeyboardKey_4294968834, 4294968835, B.LogicalKeyboardKey_4294968835, 4294968836, B.LogicalKeyboardKey_4294968836, 4294968837, B.LogicalKeyboardKey_4294968837, 4294968838, B.LogicalKeyboardKey_4294968838, 4294968839, B.LogicalKeyboardKey_4294968839, 4294968840, B.LogicalKeyboardKey_4294968840, 4294968841, B.LogicalKeyboardKey_4294968841, 4294968842, B.LogicalKeyboardKey_4294968842, 4294968843, B.LogicalKeyboardKey_4294968843, 4294969089, B.LogicalKeyboardKey_4294969089, 4294969090, B.LogicalKeyboardKey_4294969090, 4294969091, B.LogicalKeyboardKey_4294969091, 4294969092, B.LogicalKeyboardKey_4294969092, 4294969093, B.LogicalKeyboardKey_4294969093, 4294969094, B.LogicalKeyboardKey_4294969094, 4294969095, B.LogicalKeyboardKey_4294969095, 4294969096, B.LogicalKeyboardKey_4294969096, 4294969097, B.LogicalKeyboardKey_4294969097, 4294969098, B.LogicalKeyboardKey_4294969098, 4294969099, B.LogicalKeyboardKey_4294969099, 4294969100, B.LogicalKeyboardKey_4294969100, 4294969101, B.LogicalKeyboardKey_4294969101, 4294969102, B.LogicalKeyboardKey_4294969102, 4294969103, B.LogicalKeyboardKey_4294969103, 4294969104, B.LogicalKeyboardKey_4294969104, 4294969105, B.LogicalKeyboardKey_4294969105, 4294969106, B.LogicalKeyboardKey_4294969106, 4294969107, B.LogicalKeyboardKey_4294969107, 4294969108, B.LogicalKeyboardKey_4294969108, 4294969109, B.LogicalKeyboardKey_4294969109, 4294969110, B.LogicalKeyboardKey_4294969110, 4294969111, B.LogicalKeyboardKey_4294969111, 4294969112, B.LogicalKeyboardKey_4294969112, 4294969113, B.LogicalKeyboardKey_4294969113, 4294969114, B.LogicalKeyboardKey_4294969114, 4294969115, B.LogicalKeyboardKey_4294969115, 4294969116, B.LogicalKeyboardKey_4294969116, 4294969117, B.LogicalKeyboardKey_4294969117, 4294969345, B.LogicalKeyboardKey_4294969345, 4294969346, B.LogicalKeyboardKey_4294969346, 4294969347, B.LogicalKeyboardKey_4294969347, 4294969348, B.LogicalKeyboardKey_4294969348, 4294969349, B.LogicalKeyboardKey_4294969349, 4294969350, B.LogicalKeyboardKey_4294969350, 4294969351, B.LogicalKeyboardKey_4294969351, 4294969352, B.LogicalKeyboardKey_4294969352, 4294969353, B.LogicalKeyboardKey_4294969353, 4294969354, B.LogicalKeyboardKey_4294969354, 4294969355, B.LogicalKeyboardKey_4294969355, 4294969356, B.LogicalKeyboardKey_4294969356, 4294969357, B.LogicalKeyboardKey_4294969357, 4294969358, B.LogicalKeyboardKey_4294969358, 4294969359, B.LogicalKeyboardKey_4294969359, 4294969360, B.LogicalKeyboardKey_4294969360, 4294969361, B.LogicalKeyboardKey_4294969361, 4294969362, B.LogicalKeyboardKey_4294969362, 4294969363, B.LogicalKeyboardKey_4294969363, 4294969364, B.LogicalKeyboardKey_4294969364, 4294969365, B.LogicalKeyboardKey_4294969365, 4294969366, B.LogicalKeyboardKey_4294969366, 4294969367, B.LogicalKeyboardKey_4294969367, 4294969368, B.LogicalKeyboardKey_4294969368, 4294969601, B.LogicalKeyboardKey_4294969601, 4294969602, B.LogicalKeyboardKey_4294969602, 4294969603, B.LogicalKeyboardKey_4294969603, 4294969604, B.LogicalKeyboardKey_4294969604, 4294969605, B.LogicalKeyboardKey_4294969605, 4294969606, B.LogicalKeyboardKey_4294969606, 4294969607, B.LogicalKeyboardKey_4294969607, 4294969608, B.LogicalKeyboardKey_4294969608, 4294969857, B.LogicalKeyboardKey_4294969857, 4294969858, B.LogicalKeyboardKey_4294969858, 4294969859, B.LogicalKeyboardKey_4294969859, 4294969860, B.LogicalKeyboardKey_4294969860, 4294969861, B.LogicalKeyboardKey_4294969861, 4294969863, B.LogicalKeyboardKey_4294969863, 4294969864, B.LogicalKeyboardKey_4294969864, 4294969865, B.LogicalKeyboardKey_4294969865, 4294969866, B.LogicalKeyboardKey_4294969866, 4294969867, B.LogicalKeyboardKey_4294969867, 4294969868, B.LogicalKeyboardKey_4294969868, 4294969869, B.LogicalKeyboardKey_4294969869, 4294969870, B.LogicalKeyboardKey_4294969870, 4294969871, B.LogicalKeyboardKey_4294969871, 4294969872, B.LogicalKeyboardKey_4294969872, 4294969873, B.LogicalKeyboardKey_4294969873, 4294970113, B.LogicalKeyboardKey_4294970113, 4294970114, B.LogicalKeyboardKey_4294970114, 4294970115, B.LogicalKeyboardKey_4294970115, 4294970116, B.LogicalKeyboardKey_4294970116, 4294970117, B.LogicalKeyboardKey_4294970117, 4294970118, B.LogicalKeyboardKey_4294970118, 4294970119, B.LogicalKeyboardKey_4294970119, 4294970120, B.LogicalKeyboardKey_4294970120, 4294970121, B.LogicalKeyboardKey_4294970121, 4294970122, B.LogicalKeyboardKey_4294970122, 4294970123, B.LogicalKeyboardKey_4294970123, 4294970124, B.LogicalKeyboardKey_4294970124, 4294970125, B.LogicalKeyboardKey_4294970125, 4294970126, B.LogicalKeyboardKey_4294970126, 4294970127, B.LogicalKeyboardKey_4294970127, 4294970369, B.LogicalKeyboardKey_4294970369, 4294970370, B.LogicalKeyboardKey_4294970370, 4294970371, B.LogicalKeyboardKey_4294970371, 4294970372, B.LogicalKeyboardKey_4294970372, 4294970373, B.LogicalKeyboardKey_4294970373, 4294970374, B.LogicalKeyboardKey_4294970374, 4294970375, B.LogicalKeyboardKey_4294970375, 4294970625, B.LogicalKeyboardKey_4294970625, 4294970626, B.LogicalKeyboardKey_4294970626, 4294970627, B.LogicalKeyboardKey_4294970627, 4294970628, B.LogicalKeyboardKey_4294970628, 4294970629, B.LogicalKeyboardKey_4294970629, 4294970630, B.LogicalKeyboardKey_4294970630, 4294970631, B.LogicalKeyboardKey_4294970631, 4294970632, B.LogicalKeyboardKey_4294970632, 4294970633, B.LogicalKeyboardKey_4294970633, 4294970634, B.LogicalKeyboardKey_4294970634, 4294970635, B.LogicalKeyboardKey_4294970635, 4294970636, B.LogicalKeyboardKey_4294970636, 4294970637, B.LogicalKeyboardKey_4294970637, 4294970638, B.LogicalKeyboardKey_4294970638, 4294970639, B.LogicalKeyboardKey_4294970639, 4294970640, B.LogicalKeyboardKey_4294970640, 4294970641, B.LogicalKeyboardKey_4294970641, 4294970642, B.LogicalKeyboardKey_4294970642, 4294970643, B.LogicalKeyboardKey_4294970643, 4294970644, B.LogicalKeyboardKey_4294970644, 4294970645, B.LogicalKeyboardKey_4294970645, 4294970646, B.LogicalKeyboardKey_4294970646, 4294970647, B.LogicalKeyboardKey_4294970647, 4294970648, B.LogicalKeyboardKey_4294970648, 4294970649, B.LogicalKeyboardKey_4294970649, 4294970650, B.LogicalKeyboardKey_4294970650, 4294970651, B.LogicalKeyboardKey_4294970651, 4294970652, B.LogicalKeyboardKey_4294970652, 4294970653, B.LogicalKeyboardKey_4294970653, 4294970654, B.LogicalKeyboardKey_4294970654, 4294970655, B.LogicalKeyboardKey_4294970655, 4294970656, B.LogicalKeyboardKey_4294970656, 4294970657, B.LogicalKeyboardKey_4294970657, 4294970658, B.LogicalKeyboardKey_4294970658, 4294970659, B.LogicalKeyboardKey_4294970659, 4294970660, B.LogicalKeyboardKey_4294970660, 4294970661, B.LogicalKeyboardKey_4294970661, 4294970662, B.LogicalKeyboardKey_4294970662, 4294970663, B.LogicalKeyboardKey_4294970663, 4294970664, B.LogicalKeyboardKey_4294970664, 4294970665, B.LogicalKeyboardKey_4294970665, 4294970666, B.LogicalKeyboardKey_4294970666, 4294970667, B.LogicalKeyboardKey_4294970667, 4294970668, B.LogicalKeyboardKey_4294970668, 4294970669, B.LogicalKeyboardKey_4294970669, 4294970670, B.LogicalKeyboardKey_4294970670, 4294970671, B.LogicalKeyboardKey_4294970671, 4294970672, B.LogicalKeyboardKey_4294970672, 4294970673, B.LogicalKeyboardKey_4294970673, 4294970674, B.LogicalKeyboardKey_4294970674, 4294970675, B.LogicalKeyboardKey_4294970675, 4294970676, B.LogicalKeyboardKey_4294970676, 4294970677, B.LogicalKeyboardKey_4294970677, 4294970678, B.LogicalKeyboardKey_4294970678, 4294970679, B.LogicalKeyboardKey_4294970679, 4294970680, B.LogicalKeyboardKey_4294970680, 4294970681, B.LogicalKeyboardKey_4294970681, 4294970682, B.LogicalKeyboardKey_4294970682, 4294970683, B.LogicalKeyboardKey_4294970683, 4294970684, B.LogicalKeyboardKey_4294970684, 4294970685, B.LogicalKeyboardKey_4294970685, 4294970686, B.LogicalKeyboardKey_4294970686, 4294970687, B.LogicalKeyboardKey_4294970687, 4294970688, B.LogicalKeyboardKey_4294970688, 4294970689, B.LogicalKeyboardKey_4294970689, 4294970690, B.LogicalKeyboardKey_4294970690, 4294970691, B.LogicalKeyboardKey_4294970691, 4294970692, B.LogicalKeyboardKey_4294970692, 4294970693, B.LogicalKeyboardKey_4294970693, 4294970694, B.LogicalKeyboardKey_4294970694, 4294970695, B.LogicalKeyboardKey_4294970695, 4294970696, B.LogicalKeyboardKey_4294970696, 4294970697, B.LogicalKeyboardKey_4294970697, 4294970698, B.LogicalKeyboardKey_4294970698, 4294970699, B.LogicalKeyboardKey_4294970699, 4294970700, B.LogicalKeyboardKey_4294970700, 4294970701, B.LogicalKeyboardKey_4294970701, 4294970702, B.LogicalKeyboardKey_4294970702, 4294970703, B.LogicalKeyboardKey_4294970703, 4294970704, B.LogicalKeyboardKey_4294970704, 4294970705, B.LogicalKeyboardKey_4294970705, 4294970706, B.LogicalKeyboardKey_4294970706, 4294970707, B.LogicalKeyboardKey_4294970707, 4294970708, B.LogicalKeyboardKey_4294970708, 4294970709, B.LogicalKeyboardKey_4294970709, 4294970710, B.LogicalKeyboardKey_4294970710, 4294970711, B.LogicalKeyboardKey_4294970711, 4294970712, B.LogicalKeyboardKey_4294970712, 4294970713, B.LogicalKeyboardKey_4294970713, 4294970714, B.LogicalKeyboardKey_4294970714, 4294970715, B.LogicalKeyboardKey_4294970715, 4294970882, B.LogicalKeyboardKey_4294970882, 4294970884, B.LogicalKeyboardKey_4294970884, 4294970885, B.LogicalKeyboardKey_4294970885, 4294970886, B.LogicalKeyboardKey_4294970886, 4294970887, B.LogicalKeyboardKey_4294970887, 4294970888, B.LogicalKeyboardKey_4294970888, 4294970889, B.LogicalKeyboardKey_4294970889, 4294971137, B.LogicalKeyboardKey_4294971137, 4294971138, B.LogicalKeyboardKey_4294971138, 4294971393, B.LogicalKeyboardKey_4294971393, 4294971394, B.LogicalKeyboardKey_4294971394, 4294971395, B.LogicalKeyboardKey_4294971395, 4294971396, B.LogicalKeyboardKey_4294971396, 4294971397, B.LogicalKeyboardKey_4294971397, 4294971398, B.LogicalKeyboardKey_4294971398, 4294971399, B.LogicalKeyboardKey_4294971399, 4294971400, B.LogicalKeyboardKey_4294971400, 4294971401, B.LogicalKeyboardKey_4294971401, 4294971402, B.LogicalKeyboardKey_4294971402, 4294971403, B.LogicalKeyboardKey_4294971403, 4294971649, B.LogicalKeyboardKey_4294971649, 4294971650, B.LogicalKeyboardKey_4294971650, 4294971651, B.LogicalKeyboardKey_4294971651, 4294971652, B.LogicalKeyboardKey_4294971652, 4294971653, B.LogicalKeyboardKey_4294971653, 4294971654, B.LogicalKeyboardKey_4294971654, 4294971655, B.LogicalKeyboardKey_4294971655, 4294971656, B.LogicalKeyboardKey_4294971656, 4294971657, B.LogicalKeyboardKey_4294971657, 4294971658, B.LogicalKeyboardKey_4294971658, 4294971659, B.LogicalKeyboardKey_4294971659, 4294971660, B.LogicalKeyboardKey_4294971660, 4294971661, B.LogicalKeyboardKey_4294971661, 4294971662, B.LogicalKeyboardKey_4294971662, 4294971663, B.LogicalKeyboardKey_4294971663, 4294971664, B.LogicalKeyboardKey_4294971664, 4294971665, B.LogicalKeyboardKey_4294971665, 4294971666, B.LogicalKeyboardKey_4294971666, 4294971667, B.LogicalKeyboardKey_4294971667, 4294971668, B.LogicalKeyboardKey_4294971668, 4294971669, B.LogicalKeyboardKey_4294971669, 4294971670, B.LogicalKeyboardKey_4294971670, 4294971671, B.LogicalKeyboardKey_4294971671, 4294971672, B.LogicalKeyboardKey_4294971672, 4294971673, B.LogicalKeyboardKey_4294971673, 4294971674, B.LogicalKeyboardKey_4294971674, 4294971675, B.LogicalKeyboardKey_4294971675, 4294971905, B.LogicalKeyboardKey_4294971905, 4294971906, B.LogicalKeyboardKey_4294971906, 8589934592, B.LogicalKeyboardKey_8589934592, 8589934593, B.LogicalKeyboardKey_8589934593, 8589934594, B.LogicalKeyboardKey_8589934594, 8589934595, B.LogicalKeyboardKey_8589934595, 8589934608, B.LogicalKeyboardKey_8589934608, 8589934609, B.LogicalKeyboardKey_8589934609, 8589934610, B.LogicalKeyboardKey_8589934610, 8589934611, B.LogicalKeyboardKey_8589934611, 8589934612, B.LogicalKeyboardKey_8589934612, 8589934624, B.LogicalKeyboardKey_8589934624, 8589934625, B.LogicalKeyboardKey_8589934625, 8589934626, B.LogicalKeyboardKey_8589934626, 8589934848, B.LogicalKeyboardKey_8589934848, 8589934849, B.LogicalKeyboardKey_8589934849, 8589934850, B.LogicalKeyboardKey_8589934850, 8589934851, B.LogicalKeyboardKey_8589934851, 8589934852, B.LogicalKeyboardKey_8589934852, 8589934853, B.LogicalKeyboardKey_8589934853, 8589934854, B.LogicalKeyboardKey_8589934854, 8589934855, B.LogicalKeyboardKey_8589934855, 8589935088, B.LogicalKeyboardKey_8589935088, 8589935090, B.LogicalKeyboardKey_8589935090, 8589935092, B.LogicalKeyboardKey_8589935092, 8589935094, B.LogicalKeyboardKey_8589935094, 8589935117, B.LogicalKeyboardKey_8589935117, 8589935144, B.LogicalKeyboardKey_8589935144, 8589935145, B.LogicalKeyboardKey_8589935145, 8589935146, B.LogicalKeyboardKey_8589935146, 8589935147, B.LogicalKeyboardKey_8589935147, 8589935148, B.LogicalKeyboardKey_8589935148, 8589935149, B.LogicalKeyboardKey_8589935149, 8589935150, B.LogicalKeyboardKey_8589935150, 8589935151, B.LogicalKeyboardKey_8589935151, 8589935152, B.LogicalKeyboardKey_8589935152, 8589935153, B.LogicalKeyboardKey_8589935153, 8589935154, B.LogicalKeyboardKey_8589935154, 8589935155, B.LogicalKeyboardKey_8589935155, 8589935156, B.LogicalKeyboardKey_8589935156, 8589935157, B.LogicalKeyboardKey_8589935157, 8589935158, B.LogicalKeyboardKey_8589935158, 8589935159, B.LogicalKeyboardKey_8589935159, 8589935160, B.LogicalKeyboardKey_8589935160, 8589935161, B.LogicalKeyboardKey_8589935161, 8589935165, B.LogicalKeyboardKey_8589935165, 8589935361, B.LogicalKeyboardKey_8589935361, 8589935362, B.LogicalKeyboardKey_8589935362, 8589935363, B.LogicalKeyboardKey_8589935363, 8589935364, B.LogicalKeyboardKey_8589935364, 8589935365, B.LogicalKeyboardKey_8589935365, 8589935366, B.LogicalKeyboardKey_8589935366, 8589935367, B.LogicalKeyboardKey_8589935367, 8589935368, B.LogicalKeyboardKey_8589935368, 8589935369, B.LogicalKeyboardKey_8589935369, 8589935370, B.LogicalKeyboardKey_8589935370, 8589935371, B.LogicalKeyboardKey_8589935371, 8589935372, B.LogicalKeyboardKey_8589935372, 8589935373, B.LogicalKeyboardKey_8589935373, 8589935374, B.LogicalKeyboardKey_8589935374, 8589935375, B.LogicalKeyboardKey_8589935375, 8589935376, B.LogicalKeyboardKey_8589935376, 8589935377, B.LogicalKeyboardKey_8589935377, 8589935378, B.LogicalKeyboardKey_8589935378, 8589935379, B.LogicalKeyboardKey_8589935379, 8589935380, B.LogicalKeyboardKey_8589935380, 8589935381, B.LogicalKeyboardKey_8589935381, 8589935382, B.LogicalKeyboardKey_8589935382, 8589935383, B.LogicalKeyboardKey_8589935383, 8589935384, B.LogicalKeyboardKey_8589935384, 8589935385, B.LogicalKeyboardKey_8589935385, 8589935386, B.LogicalKeyboardKey_8589935386, 8589935387, B.LogicalKeyboardKey_8589935387, 8589935388, B.LogicalKeyboardKey_8589935388, 8589935389, B.LogicalKeyboardKey_8589935389, 8589935390, B.LogicalKeyboardKey_8589935390, 8589935391, B.LogicalKeyboardKey_8589935391], A.findType("GeneralConstantMap<int,LogicalKeyboardKey>"));
    B.WildcardMatch_3 = new A.WildcardMatch(3, "contains");
    B.WildcardMatch_1 = new A.WildcardMatch(1, "startsWith");
    B.WildcardMatch_0 = new A.WildcardMatch(0, "exact");
    B.WildcardMatch_2 = new A.WildcardMatch(2, "endsWith");
    B.List_Image = A._setArrayType(makeConstList(["Image"]), type$.JSArray_String);
    B.List__Int32List__Int64List_FrameInfos = A._setArrayType(makeConstList(["_Int32List", "_Int64List", "FrameInfos"]), type$.JSArray_String);
    B.Map_wo0 = new A.GeneralConstantMap([B.WildcardMatch_3, B.List_Image, B.WildcardMatch_1, B.List_empty0, B.WildcardMatch_0, B.List__Int32List__Int64List_FrameInfos, B.WildcardMatch_2, B.List_empty0], A.findType("GeneralConstantMap<WildcardMatch,List<String>>"));
    B.Map_yXAeS = new A.GeneralConstantMap([0, "FontWeight.w100", 1, "FontWeight.w200", 2, "FontWeight.w300", 3, "FontWeight.w400", 4, "FontWeight.w500", 5, "FontWeight.w600", 6, "FontWeight.w700", 7, "FontWeight.w800", 8, "FontWeight.w900"], type$.GeneralConstantMap_int_String);
    B.SingleActivator_mmH5 = new A.SingleActivator(B.LogicalKeyboardKey_32, false, false, false, false);
    B.SingleActivator_gc6 = new A.SingleActivator(B.LogicalKeyboardKey_4294967309, false, false, false, false);
    B.SingleActivator_soA = new A.SingleActivator(B.LogicalKeyboardKey_8589935117, false, false, false, false);
    B.SingleActivator_Qwp = new A.SingleActivator(B.LogicalKeyboardKey_4294967323, false, false, false, false);
    B.SingleActivator_gc60 = new A.SingleActivator(B.LogicalKeyboardKey_4294967305, false, false, false, false);
    B.SingleActivator_gc61 = new A.SingleActivator(B.LogicalKeyboardKey_4294967305, false, true, false, false);
    B.SingleActivator_j8H7 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, false, false, false, false);
    B.SingleActivator_j8H8 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, false, false, false, false);
    B.SingleActivator_4MF = new A.SingleActivator(B.LogicalKeyboardKey_4294968072, false, false, false, false);
    B.SingleActivator_j8H35 = new A.SingleActivator(B.LogicalKeyboardKey_4294968071, false, false, false, false);
    B.C_PrioritizedIntents = new A.PrioritizedIntents();
    B.C_ButtonActivateIntent = new A.ButtonActivateIntent();
    B.C_DismissIntent = new A.DismissIntent();
    B.C_NextFocusIntent = new A.NextFocusIntent();
    B.C_PreviousFocusIntent = new A.PreviousFocusIntent();
    B.ScrollIncrementType_0 = new A.ScrollIncrementType(0, "line");
    B.ScrollIntent_ssH = new A.ScrollIntent(B.AxisDirection_0, B.ScrollIncrementType_0);
    B.ScrollIntent_cKo = new A.ScrollIntent(B.AxisDirection_2, B.ScrollIncrementType_0);
    B.ScrollIntent_qNW = new A.ScrollIntent(B.AxisDirection_3, B.ScrollIncrementType_0);
    B.ScrollIntent_wij = new A.ScrollIntent(B.AxisDirection_1, B.ScrollIncrementType_0);
    B.ScrollIntent_qxw = new A.ScrollIntent(B.AxisDirection_0, B.ScrollIncrementType_1);
    B.Map_zPybB = new A.GeneralConstantMap([B.SingleActivator_mmH5, B.C_PrioritizedIntents, B.SingleActivator_gc6, B.C_ButtonActivateIntent, B.SingleActivator_soA, B.C_ButtonActivateIntent, B.SingleActivator_Qwp, B.C_DismissIntent, B.SingleActivator_gc60, B.C_NextFocusIntent, B.SingleActivator_gc61, B.C_PreviousFocusIntent, B.SingleActivator_j8H9, B.ScrollIntent_ssH, B.SingleActivator_j8H10, B.ScrollIntent_cKo, B.SingleActivator_j8H7, B.ScrollIntent_qNW, B.SingleActivator_j8H8, B.ScrollIntent_wij, B.SingleActivator_4MF, B.ScrollIntent_qxw, B.SingleActivator_j8H35, B.ScrollIntent_KrF], type$.GeneralConstantMap_ShortcutActivator_Intent);
    B.MarkdownListItemCrossAxisAlignment_0 = new A.MarkdownListItemCrossAxisAlignment(0, "baseline");
    B.MarkdownListItemCrossAxisAlignment_1 = new A.MarkdownListItemCrossAxisAlignment(1, "start");
    B.MarkdownStyleSheetBaseTheme_0 = new A.MarkdownStyleSheetBaseTheme(0, "material");
    B.MarkdownStyleSheetBaseTheme_1 = new A.MarkdownStyleSheetBaseTheme(1, "cupertino");
    B.MarkdownStyleSheetBaseTheme_2 = new A.MarkdownStyleSheetBaseTheme(2, "platform");
    B.Color_4289200107 = new A.Color(4289200107);
    B.Color_4280150454 = new A.Color(4280150454);
    B.Map_iTYZn = new A.GeneralConstantMap([100, B.Color_4289200107, 200, B.Color_4284809178, 400, B.Color_4280150454, 700, B.Color_4278239141], type$.GeneralConstantMap_int_Color);
    B.MaterialAccentColor_Map_iTYZn_4284809178 = new A.MaterialAccentColor(B.Map_iTYZn, 4284809178);
    B.Color_4294955392 = new A.Color(4294955392);
    B.Color_4294945600 = new A.Color(4294945600);
    B.Color_4294938880 = new A.Color(4294938880);
    B.Color_4294929664 = new A.Color(4294929664);
    B.Map_iTsEs = new A.GeneralConstantMap([100, B.Color_4294955392, 200, B.Color_4294945600, 400, B.Color_4294938880, 700, B.Color_4294929664], type$.GeneralConstantMap_int_Color);
    B.MaterialAccentColor_Map_iTsEs_4294945600 = new A.MaterialAccentColor(B.Map_iTsEs, 4294945600);
    B.Color_4294967181 = new A.Color(4294967181);
    B.Color_4294967040 = new A.Color(4294967040);
    B.Color_4294956544 = new A.Color(4294956544);
    B.Map_iTwHq = new A.GeneralConstantMap([100, B.Color_4294967181, 200, B.Color_4294967040, 400, B.Color_4294961664, 700, B.Color_4294956544], type$.GeneralConstantMap_int_Color);
    B.MaterialAccentColor_Map_iTwHq_4294967040 = new A.MaterialAccentColor(B.Map_iTwHq, 4294967040);
    B.Color_4286634239 = new A.Color(4286634239);
    B.Color_4282434815 = new A.Color(4282434815);
    B.Color_4278235391 = new A.Color(4278235391);
    B.Map_iTyLX = new A.GeneralConstantMap([100, B.Color_4286634239, 200, B.Color_4282434815, 400, B.Color_4278235391, 700, B.Color_4278227434], type$.GeneralConstantMap_int_Color);
    B.MaterialAccentColor_Map_iTyLX_4282434815 = new A.MaterialAccentColor(B.Map_iTyLX, 4282434815);
    B.MaterialBannerThemeData_6JY = new A.MaterialBannerThemeData(null, null, null, null, null);
    B.Color_4293457385 = new A.Color(4293457385);
    B.Color_4291356361 = new A.Color(4291356361);
    B.Color_4289058471 = new A.Color(4289058471);
    B.Color_4286695300 = new A.Color(4286695300);
    B.Color_4284922730 = new A.Color(4284922730);
    B.Color_4283215696 = new A.Color(4283215696);
    B.Color_4282622023 = new A.Color(4282622023);
    B.Color_4281896508 = new A.Color(4281896508);
    B.Color_4281236786 = new A.Color(4281236786);
    B.Color_4279983648 = new A.Color(4279983648);
    B.Map_JNEaM = new A.GeneralConstantMap([50, B.Color_4293457385, 100, B.Color_4291356361, 200, B.Color_4289058471, 300, B.Color_4286695300, 400, B.Color_4284922730, 500, B.Color_4283215696, 600, B.Color_4282622023, 700, B.Color_4281896508, 800, B.Color_4281236786, 900, B.Color_4279983648], type$.GeneralConstantMap_int_Color);
    B.MaterialColor_Map_JNEaM_4283215696 = new A.MaterialColor(B.Map_JNEaM, 4283215696);
    B.Color_4294962158 = new A.Color(4294962158);
    B.Color_4294954450 = new A.Color(4294954450);
    B.Color_4293892762 = new A.Color(4293892762);
    B.Color_4293227379 = new A.Color(4293227379);
    B.Color_4293212469 = new A.Color(4293212469);
    B.Color_4291176488 = new A.Color(4291176488);
    B.Color_4290190364 = new A.Color(4290190364);
    B.Map_JNc9P = new A.GeneralConstantMap([50, B.Color_4294962158, 100, B.Color_4294954450, 200, B.Color_4293892762, 300, B.Color_4293227379, 400, B.Color_4293874512, 500, B.Color_4294198070, 600, B.Color_4293212469, 700, B.Color_4292030255, 800, B.Color_4291176488, 900, B.Color_4290190364], type$.GeneralConstantMap_int_Color);
    B.MaterialColor_Map_JNc9P_4294198070 = new A.MaterialColor(B.Map_JNc9P, 4294198070);
    B.Color_4284790262 = new A.Color(4284790262);
    B.Color_4279592384 = new A.Color(4279592384);
    B.Color_4279060385 = new A.Color(4279060385);
    B.Map_JNwaj = new A.GeneralConstantMap([50, B.Color_4293128957, 100, B.Color_4290502395, 200, B.Color_4287679225, 300, B.Color_4284790262, 400, B.Color_4282557941, 500, B.Color_4280391411, 600, B.Color_4280191205, 700, B.Color_4279858898, 800, B.Color_4279592384, 900, B.Color_4279060385], type$.GeneralConstantMap_int_Color);
    B.MaterialColor_Map_JNwaj_4280391411 = new A.MaterialColor(B.Map_JNwaj, 4280391411);
    B.IconData_58659_MaterialIcons_false = new A.IconData(58659, "MaterialIcons", false);
    B.MaterialIconLabel_C8U = new A.MaterialIconLabel(B.IconData_58659_MaterialIcons_false, null, null, "Reset to default", null, null);
    B.MaterialIconLabel_Db0 = new A.MaterialIconLabel(B.IconData_57966_MaterialIcons_false, null, null, "Import File", null, null);
    B.MaterialStatePropertyAll_0 = new A.MaterialStatePropertyAll(0, type$.MaterialStatePropertyAll_double);
    B.RoundedRectangleBorder_ifx1 = new A.RoundedRectangleBorder(B.BorderRadius_tLn, B.BorderSide_aLd);
    B.MaterialStatePropertyAll_2LR = new A.MaterialStatePropertyAll(B.RoundedRectangleBorder_ifx1, type$.MaterialStatePropertyAll_OutlinedBorder);
    B.MaterialStatePropertyAll_rXZ = new A.MaterialStatePropertyAll(B.EdgeInsets_0_0_0_0, type$.MaterialStatePropertyAll_EdgeInsetsGeometry);
    B.MaterialState_0 = new A.MaterialState(0, "hovered");
    B.MaterialState_1 = new A.MaterialState(1, "focused");
    B.MaterialState_2 = new A.MaterialState(2, "pressed");
    B.MaterialState_3 = new A.MaterialState(3, "dragged");
    B.MaterialState_4 = new A.MaterialState(4, "selected");
    B.MaterialState_5 = new A.MaterialState(5, "scrolledUnder");
    B.MaterialState_6 = new A.MaterialState(6, "disabled");
    B.MaterialState_7 = new A.MaterialState(7, "error");
    B.MaterialTapTargetSize_0 = new A.MaterialTapTargetSize(0, "padded");
    B.MaterialTapTargetSize_1 = new A.MaterialTapTargetSize(1, "shrinkWrap");
    B.MaxLengthEnforcement_0 = new A.MaxLengthEnforcement(0, "none");
    B.MaxLengthEnforcement_2 = new A.MaxLengthEnforcement(2, "truncateAfterCompositionEnds");
    B.MediaSize_0 = new A.MediaSize(0, "xxs");
    B.MediaSize_1 = new A.MediaSize(1, "xs");
    B.MediaSize_2 = new A.MediaSize(2, "s");
    B.MediaSize_3 = new A.MediaSize(3, "m");
    B.MediaSize_4 = new A.MediaSize(4, "l");
    B.MediaSize_5 = new A.MediaSize(5, "xl");
    B.MemoryBody_null = new A.MemoryBody(null);
    B.MemoryHeapTreemap_null = new A.MemoryHeapTreemap(null);
    B.IconData_61812_Octicons_false = new A.IconData(61812, "Octicons", false);
    B.MemoryScreen_EaX = new A.MemoryScreen(true, "memory", "Memory", B.IconData_61812_Octicons_false, null, null, true, false, false, false, null);
    B.MemorySourceDropdown_null = new A.MemorySourceDropdown(null);
    B.MethodCall_popRoute_null = new A.MethodCall("popRoute", null);
    B.C_StandardMethodCodec0 = new A.StandardMethodCodec0();
    B.MethodChannel_61L = new A.MethodChannel("plugins.flutter.io/url_launcher", B.C_StandardMethodCodec0);
    B.MethodChannel_Gpa = new A.MethodChannel("flutter/service_worker", B.C_StandardMethodCodec0);
    B.MethodChannel_qBr = new A.MethodChannel("plugins.flutter.io/file_selector", B.C_StandardMethodCodec0);
    B.MoreDebuggingOptionsButton_null = new A.MoreDebuggingOptionsButton(null);
    B.MoreInfoLink_IRg = new A.MoreInfoLink(string$.https_f, "performance", "shaderCompilationDocsTooltipLink", null, null);
    B.MutatorType_0 = new A.MutatorType(0, "clipRect");
    B.MutatorType_1 = new A.MutatorType(1, "clipRRect");
    B.MutatorType_2 = new A.MutatorType(2, "clipPath");
    B.MutatorType_3 = new A.MutatorType(3, "transform");
    B.MutatorType_4 = new A.MutatorType(4, "opacity");
    B.NavigationBarThemeData_UWS = new A.NavigationBarThemeData(null, null, null, null, null, null, null, null, null);
    B.NavigationMode_0 = new A.NavigationMode(0, "traditional");
    B.NavigationRailLabelType_0 = new A.NavigationRailLabelType(0, "none");
    B.NavigationRailLabelType_2 = new A.NavigationRailLabelType(2, "all");
    B.NavigationRailThemeData_4G2 = new A.NavigationRailThemeData(null, null, null, null, null, null, null, null, null, null, null, null);
    B.NetworkScreenBody_null = new A.NetworkScreenBody(null);
    B.IconData_58404_MaterialIcons_false = new A.IconData(58404, "MaterialIcons", false);
    B.NetworkScreen_C3n = new A.NetworkScreen(true, "network", "Network", B.IconData_58404_MaterialIcons_false, null, null, true, false, false, false, null);
    B.NeverScrollableScrollPhysics_null = new A.NeverScrollableScrollPhysics(null);
    B.OffsetPair_G6F = new A.OffsetPair(B.Offset_0_0, B.Offset_0_0);
    B.Offset_10_10 = new A.Offset(10, 10);
    B.Offset_11_m4 = new A.Offset(11, -4);
    B.Offset_22_0 = new A.Offset(22, 0);
    B.Offset_6_6 = new A.Offset(6, 6);
    B.Offset_6pl = new A.Offset(5, 10.5);
    B.Offset_9_9 = new A.Offset(9, 9);
    B.Offset_Gl7 = new A.Offset(14.4, 9);
    B.Offset_L9C = new A.Offset(17976931348623157e292, 0);
    B.Offset_MNd = new A.Offset(0, -0.25);
    B.Offset_Oho = new A.Offset(-0.3333333333333333, 0);
    B.Offset_W7v = new A.Offset(2.6999999999999997, 8.1);
    B.Offset_YZQ = new A.Offset(1 / 0, 1 / 0);
    B.Offset_aNU = new A.Offset(3.6, 9);
    B.Offset_gPO = new A.Offset(7.2, 12.6);
    B.Offset_m3_13 = new A.Offset(-3, 13);
    B.Offset_oIk = new A.Offset(15.299999999999999, 4.5);
    B.OperatingSystem_0 = new A.OperatingSystem(0, "iOs");
    B.OperatingSystem_1 = new A.OperatingSystem(1, "android");
    B.OperatingSystem_2 = new A.OperatingSystem(2, "linux");
    B.OperatingSystem_3 = new A.OperatingSystem(3, "windows");
    B.OperatingSystem_4 = new A.OperatingSystem(4, "macOs");
    B.OperatingSystem_5 = new A.OperatingSystem(5, "unknown");
    B.C_JSONMethodCodec0 = new A.JSONMethodCodec0();
    B.OptionalMethodChannel_PLF = new A.OptionalMethodChannel("flutter/textinput", B.C_JSONMethodCodec0);
    B.OptionalMethodChannel_SON = new A.OptionalMethodChannel("flutter/menu", B.C_StandardMethodCodec0);
    B.OptionalMethodChannel_cWd = new A.OptionalMethodChannel("flutter/platform", B.C_JSONMethodCodec0);
    B.OptionalMethodChannel_fgL = new A.OptionalMethodChannel("flutter/restoration", B.C_StandardMethodCodec0);
    B.OptionalMethodChannel_meQ = new A.OptionalMethodChannel("flutter/mousecursor", B.C_StandardMethodCodec0);
    B.OptionalMethodChannel_urv = new A.OptionalMethodChannel("flutter/navigation", B.C_JSONMethodCodec0);
    B.OrdinalSortKey_0_null = new A.OrdinalSortKey(0, null);
    B.OrdinalSortKey_1_null = new A.OrdinalSortKey(1, null);
    B.Orientation_0 = new A.Orientation(0, "portrait");
    B.Orientation_1 = new A.Orientation(1, "landscape");
    B.OutlinedButtonThemeData_null = new A.OutlinedButtonThemeData(null);
    B.OverflowBarAlignment_0 = new A.OverflowBarAlignment(0, "start");
    B.OverflowBarAlignment_1 = new A.OverflowBarAlignment(1, "end");
    B.OverflowSide_0 = new A.OverflowSide(0, "right");
    B.OverflowSide_1 = new A.OverflowSide(1, "bottom");
    B.PacketKind_0 = new A.PacketKind(0, "EOS");
    B.PacketKind_1 = new A.PacketKind(1, "Text");
    B.PacketKind_2 = new A.PacketKind(2, "Incomplete");
    B.PacketKind_3 = new A.PacketKind(3, "ESC");
    B.PacketKind_4 = new A.PacketKind(4, "Unknown");
    B.PacketKind_5 = new A.PacketKind(5, "SGR");
    B.PacketKind_6 = new A.PacketKind(6, "OSCURL");
    B.EdgeInsets_6_0_0_0 = new A.EdgeInsets(6, 0, 0, 0);
    B.PaddedDivider_wEo1 = new A.PaddedDivider(B.EdgeInsets_6_0_0_0, null);
    B.PaddedDivider_wEo = new A.PaddedDivider(B.EdgeInsets_0_0_0_6, null);
    B.PaddedDivider_wEo2 = new A.PaddedDivider(B.EdgeInsets_0_8_0_8, null);
    B.PaddedDivider_wEo0 = new A.PaddedDivider(B.EdgeInsets_0_0_0_10, null);
    B.EdgeInsets_0_8_0_0 = new A.EdgeInsets(0, 8, 0, 0);
    B.ShaderJankWarningIcon_null = new A.ShaderJankWarningIcon(null);
    B.Padding_2No = new A.Padding(B.EdgeInsets_0_8_0_0, B.ShaderJankWarningIcon_null, null);
    B.IconData_57499_MaterialIcons_true = new A.IconData(57499, "MaterialIcons", true);
    B.Icon_gQW = new A.Icon(B.IconData_57499_MaterialIcons_true, null, null, null);
    B.Padding_ClQ = new A.Padding(B.EdgeInsets_4_0_4_0, B.Icon_gQW, null);
    B.Padding_SkJ = new A.Padding(B.EdgeInsets_16_4_4_4, B.Text_Lpb, null);
    B.EdgeInsets_0_16_0_0 = new A.EdgeInsets(0, 16, 0, 0);
    B.Padding_lAj = new A.Padding(B.EdgeInsets_0_16_0_0, null, null);
    B.EdgeInsets_0_20_0_0 = new A.EdgeInsets(0, 20, 0, 0);
    B.Padding_lAj1 = new A.Padding(B.EdgeInsets_0_20_0_0, null, null);
    B.Padding_lAj0 = new A.Padding(B.EdgeInsets_16_0_0_0, null, null);
    B.EdgeInsets_0_0_0_24 = new A.EdgeInsets(0, 0, 0, 24);
    B.Padding_lAj2 = new A.Padding(B.EdgeInsets_0_0_0_24, null, null);
    B.Text_0 = new A.Text("Widget Tree", null, null, null, null, null, null, null, null, null, null, null);
    B.Padding_lAj3 = new A.Padding(B.EdgeInsets_8_0_8_0, B.Text_0, null);
    B.PageScrollPhysics_null = new A.PageScrollPhysics(null);
    B.PaintingStyle_0 = new A.PaintingStyle(0, "fill");
    B.PaintingStyle_1 = new A.PaintingStyle(1, "stroke");
    B.ParagraphConstraints_C5f = new A.ParagraphConstraints(1 / 0);
    B.PathFillType_0 = new A.PathFillType(0, "nonZero");
    B.PathFillType_1 = new A.PathFillType(1, "evenOdd");
    B.PerformanceScreenBody_null = new A.PerformanceScreenBody(null);
    B.IconData_61823_Octicons_false = new A.IconData(61823, "Octicons", false);
    B.PerformanceScreen_mlz = new A.PerformanceScreen(true, "performance", "Performance", B.IconData_61823_Octicons_false, null, null, true, false, false, true, null);
    B.PersistedSurfaceState_0 = new A.PersistedSurfaceState(0, "created");
    B.PersistedSurfaceState_1 = new A.PersistedSurfaceState(1, "active");
    B.PersistedSurfaceState_2 = new A.PersistedSurfaceState(2, "pendingRetention");
    B.PersistedSurfaceState_3 = new A.PersistedSurfaceState(3, "pendingUpdate");
    B.PersistedSurfaceState_4 = new A.PersistedSurfaceState(4, "released");
    B.PlaceholderAlignment_4 = new A.PlaceholderAlignment(4, "bottom");
    B.PlaceholderDimensions_8eb = new A.PlaceholderDimensions(B.Size_0_0, null, null);
    B.Color_4282735204 = new A.Color(4282735204);
    B.Placeholder_Color_4282735204_null = new A.Placeholder(B.Color_4282735204, null);
    B.PointerChange_0 = new A.PointerChange(0, "cancel");
    B.PointerChange_1 = new A.PointerChange(1, "add");
    B.PointerChange_2 = new A.PointerChange(2, "remove");
    B.PointerChange_3 = new A.PointerChange(3, "hover");
    B.PointerChange_4 = new A.PointerChange(4, "down");
    B.PointerChange_5 = new A.PointerChange(5, "move");
    B.PointerChange_6 = new A.PointerChange(6, "up");
    B.PointerDeviceKind_0 = new A.PointerDeviceKind(0, "touch");
    B.PointerDeviceKind_1 = new A.PointerDeviceKind(1, "mouse");
    B.PointerDeviceKind_2 = new A.PointerDeviceKind(2, "stylus");
    B.PointerDeviceKind_5 = new A.PointerDeviceKind(5, "unknown");
    B.PointerSignalKind_0 = new A.PointerSignalKind(0, "none");
    B.PointerSignalKind_1 = new A.PointerSignalKind(1, "scroll");
    B.PointerSignalKind_2 = new A.PointerSignalKind(2, "unknown");
    B.PopupMenuPosition_0 = new A.PopupMenuPosition(0, "over");
    B.PopupMenuThemeData_rs3 = new A.PopupMenuThemeData(null, null, null, null, null, null);
    B.Predefined_Double_true = new A.Predefined("Double", true);
    B.Predefined_HashMap_false = new A.Predefined("HashMap", false);
    B.Predefined_List_false = new A.Predefined("List", false);
    B.Predefined_Map_false = new A.Predefined("Map", false);
    B.Predefined_Null_true = new A.Predefined("Null", true);
    B.Predefined_String_true = new A.Predefined("String", true);
    B.Predefined_bool_true = new A.Predefined("bool", true);
    B.Predefined_int_true = new A.Predefined("int", true);
    B.PreferredLaunchMode_0 = new A.PreferredLaunchMode(0, "platformDefault");
    B.PreferredLaunchMode_1 = new A.PreferredLaunchMode(1, "inAppWebView");
    B.PreferredLaunchMode_2 = new A.PreferredLaunchMode(2, "externalApplication");
    B.PreferredLaunchMode_3 = new A.PreferredLaunchMode(3, "externalNonBrowserApplication");
    B.Priority_200000 = new A.Priority(200000);
    B.ProfileGranularity_0 = new A.ProfileGranularity(0, "low");
    B.ProfileGranularity_1 = new A.ProfileGranularity(1, "medium");
    B.ProfileGranularity_2 = new A.ProfileGranularity(2, "high");
    B.ProfilerScreenBody_null = new A.ProfilerScreenBody(null);
    B.IconData_61733_Octicons_false = new A.IconData(61733, "Octicons", false);
    B.ProfilerScreen_yvr = new A.ProfilerScreen(true, "cpu-profiler", "CPU Profiler", B.IconData_61733_Octicons_false, null, null, true, false, false, true, null);
    B.ProgressIndicatorThemeData_Z49 = new A.ProgressIndicatorThemeData(null, null, null, null, null);
    B.ProviderScreenBody_null = new A.ProviderScreenBody(null);
    B.ProviderScreenWrapper_null = new A.ProviderScreenWrapper(null);
    B.IconData_57521_MaterialIcons_false = new A.IconData(57521, "MaterialIcons", false);
    B.ProviderScreen_Aec = new A.ProviderScreen(true, "provider", "Provider", B.IconData_57521_MaterialIcons_false, null, "package:provider/", false, true, false, false, null);
    B.RadioThemeData_gDe = new A.RadioThemeData(null, null, null, null, null, null);
    B.Radius_1_1 = new A.Radius(1, 1);
    B.Radius_7_7 = new A.Radius(7, 7);
    B.Radius_8_8 = new A.Radius(8, 8);
    B.Radius_ydE = new A.Radius(1.5, 1.5);
    B.Rect_Vy7 = new A.Rect(-1 / 0, -1 / 0, 1 / 0, 1 / 0);
    B.Rect_aha = new A.Rect(-1000000000, -1000000000, 1000000000, 1000000000);
    B.RegistrableServiceExtension_getLayoutExplorerNode = new A.RegistrableServiceExtension("getLayoutExplorerNode");
    B.RegistrableServiceExtension_kUZ = new A.RegistrableServiceExtension("getRootWidgetSummaryTreeWithPreviews");
    B.RegistrableServiceExtension_setFlexFactor = new A.RegistrableServiceExtension("setFlexFactor");
    B.RegistrableServiceExtension_setFlexFit = new A.RegistrableServiceExtension("setFlexFit");
    B.RegistrableServiceExtension_setFlexProperties = new A.RegistrableServiceExtension("setFlexProperties");
    B.RenderAnimatedSizeState_0 = new A.RenderAnimatedSizeState(0, "start");
    B.RenderAnimatedSizeState_1 = new A.RenderAnimatedSizeState(1, "stable");
    B.RenderAnimatedSizeState_2 = new A.RenderAnimatedSizeState(2, "changed");
    B.RenderAnimatedSizeState_3 = new A.RenderAnimatedSizeState(3, "unstable");
    B.RenderComparison_0 = new A.RenderComparison(0, "identical");
    B.RenderComparison_1 = new A.RenderComparison(1, "metadata");
    B.RenderComparison_2 = new A.RenderComparison(2, "paint");
    B.RenderComparison_3 = new A.RenderComparison(3, "layout");
    B.Role_0 = new A.Role(0, "incrementable");
    B.Role_1 = new A.Role(1, "scrollable");
    B.Role_2 = new A.Role(2, "labelAndValue");
    B.Role_3 = new A.Role(3, "tappable");
    B.Role_4 = new A.Role(4, "textField");
    B.Role_5 = new A.Role(5, "checkable");
    B.Role_6 = new A.Role(6, "image");
    B.Role_7 = new A.Role(7, "liveRegion");
    B.BorderRadius_tLn5 = new A.BorderRadius(B.Radius_1_1, B.Radius_1_1, B.Radius_1_1, B.Radius_1_1);
    B.RoundedRectangleBorder_ifx2 = new A.RoundedRectangleBorder(B.BorderRadius_tLn5, B.BorderSide_aLd);
    B.RoundedRectangleBorder_ifx = new A.RoundedRectangleBorder(B.BorderRadius_tLn2, B.BorderSide_aLd);
    B.RoundedRectangleBorder_ifx0 = new A.RoundedRectangleBorder(B.BorderRadius_tLn0, B.BorderSide_aLd);
    B.RouteInformationReportingType_0 = new A.RouteInformationReportingType(0, "none");
    B.RouteInformationReportingType_1 = new A.RouteInformationReportingType(1, "neglect");
    B.RoutePopDisposition_0 = new A.RoutePopDisposition(0, "pop");
    B.RoutePopDisposition_1 = new A.RoutePopDisposition(1, "doNotPop");
    B.RoutePopDisposition_2 = new A.RoutePopDisposition(2, "bubble");
    B.RouteSettings_null_null = new A.RouteSettings(null, null);
    B.SawTooth_1333 = new A.SawTooth(1333);
    B.SawTooth_2222 = new A.SawTooth(2222);
    B.ScaffoldGeometry_null_null = new A.ScaffoldGeometry(null, null);
    B.SchedulerPhase_0 = new A.SchedulerPhase(0, "idle");
    B.SchedulerPhase_1 = new A.SchedulerPhase(1, "transientCallbacks");
    B.SchedulerPhase_2 = new A.SchedulerPhase(2, "midFrameMicrotasks");
    B.SchedulerPhase_3 = new A.SchedulerPhase(3, "persistentCallbacks");
    B.SchedulerPhase_4 = new A.SchedulerPhase(4, "postFrameCallbacks");
    B.ScriptCategory_0 = new A.ScriptCategory(0, "englishLike");
    B.ScrollDirection_0 = new A.ScrollDirection(0, "idle");
    B.ScrollDirection_1 = new A.ScrollDirection(1, "forward");
    B.ScrollDirection_2 = new A.ScrollDirection(2, "reverse");
    B.ScrollKind_0 = new A.ScrollKind(0, "up");
    B.ScrollKind_1 = new A.ScrollKind(1, "down");
    B.ScrollKind_2 = new A.ScrollKind(2, "parent");
    B.ScrollPositionAlignmentPolicy_0 = new A.ScrollPositionAlignmentPolicy(0, "explicit");
    B.ScrollPositionAlignmentPolicy_1 = new A.ScrollPositionAlignmentPolicy(1, "keepVisibleAtEnd");
    B.ScrollPositionAlignmentPolicy_2 = new A.ScrollPositionAlignmentPolicy(2, "keepVisibleAtStart");
    B.ScrollToDocumentBoundaryIntent_false = new A.ScrollToDocumentBoundaryIntent(false);
    B.ScrollToDocumentBoundaryIntent_true = new A.ScrollToDocumentBoundaryIntent(true);
    B.ScrollViewKeyboardDismissBehavior_0 = new A.ScrollViewKeyboardDismissBehavior(0, "manual");
    B.ScrollViewKeyboardDismissBehavior_1 = new A.ScrollViewKeyboardDismissBehavior(1, "onDrag");
    B.ScrollbarOrientation_0 = new A.ScrollbarOrientation(0, "left");
    B.ScrollbarOrientation_1 = new A.ScrollbarOrientation(1, "right");
    B.ScrollbarOrientation_3 = new A.ScrollbarOrientation(3, "bottom");
    B.ScrollbarThemeData_Ep5 = new A.ScrollbarThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.SearchTargetType_0 = new A.SearchTargetType(0, "widget");
    B.ToolbarOptions_true_false_false_true = new A.ToolbarOptions(true, false, false, true);
    B.SelectableText_NLA = new A.SelectableText("DevTools version 2.15.0", null, null, null, null, null, null, null, B.ToolbarOptions_true_false_false_true, null, null, null);
    B.SelectionChangedCause_0 = new A.SelectionChangedCause(0, "tap");
    B.SelectionChangedCause_1 = new A.SelectionChangedCause(1, "doubleTap");
    B.SelectionChangedCause_2 = new A.SelectionChangedCause(2, "longPress");
    B.SelectionChangedCause_3 = new A.SelectionChangedCause(3, "forcePress");
    B.SelectionChangedCause_5 = new A.SelectionChangedCause(5, "toolbar");
    B.SelectionChangedCause_6 = new A.SelectionChangedCause(6, "drag");
    B.SelectionChangedCause_7 = new A.SelectionChangedCause(7, "scribble");
    B.SelectionEventType_0 = new A.SelectionEventType(0, "startEdgeUpdate");
    B.SelectionEventType_1 = new A.SelectionEventType(1, "endEdgeUpdate");
    B.SelectionStatus_2 = new A.SelectionStatus(2, "none");
    B.SelectionGeometry_wEo0 = new A.SelectionGeometry(null, null, B.SelectionStatus_2, false);
    B.SelectionGeometry_wEo = new A.SelectionGeometry(null, null, B.SelectionStatus_2, true);
    B.SelectionResult_0 = new A.SelectionResult(0, "next");
    B.SelectionResult_1 = new A.SelectionResult(1, "previous");
    B.SelectionResult_2 = new A.SelectionResult(2, "end");
    B.SelectionResult_3 = new A.SelectionResult(3, "pending");
    B.SelectionResult_4 = new A.SelectionResult(4, "none");
    B.SelectionStatus_0 = new A.SelectionStatus(0, "uncollapsed");
    B.SelectionStatus_1 = new A.SelectionStatus(1, "collapsed");
    B.SemanticsAction_1 = new A.SemanticsAction(1);
    B.SemanticsAction_1024 = new A.SemanticsAction(1024);
    B.SemanticsAction_1048576 = new A.SemanticsAction(1048576);
    B.SemanticsAction_128 = new A.SemanticsAction(128);
    B.SemanticsAction_16 = new A.SemanticsAction(16);
    B.SemanticsAction_16384 = new A.SemanticsAction(16384);
    B.SemanticsAction_2 = new A.SemanticsAction(2);
    B.SemanticsAction_2048 = new A.SemanticsAction(2048);
    B.SemanticsAction_2097152 = new A.SemanticsAction(2097152);
    B.SemanticsAction_256 = new A.SemanticsAction(256);
    B.SemanticsAction_262144 = new A.SemanticsAction(262144);
    B.SemanticsAction_32 = new A.SemanticsAction(32);
    B.SemanticsAction_32768 = new A.SemanticsAction(32768);
    B.SemanticsAction_4 = new A.SemanticsAction(4);
    B.SemanticsAction_4096 = new A.SemanticsAction(4096);
    B.SemanticsAction_512 = new A.SemanticsAction(512);
    B.SemanticsAction_524288 = new A.SemanticsAction(524288);
    B.SemanticsAction_64 = new A.SemanticsAction(64);
    B.SemanticsAction_65536 = new A.SemanticsAction(65536);
    B.SemanticsAction_8 = new A.SemanticsAction(8);
    B.SemanticsAction_8192 = new A.SemanticsAction(8192);
    B.SemanticsFlag_1 = new A.SemanticsFlag(1);
    B.SemanticsFlag_1024 = new A.SemanticsFlag(1024);
    B.SemanticsFlag_1048576 = new A.SemanticsFlag(1048576);
    B.SemanticsFlag_128 = new A.SemanticsFlag(128);
    B.SemanticsFlag_131072 = new A.SemanticsFlag(131072);
    B.SemanticsFlag_16 = new A.SemanticsFlag(16);
    B.SemanticsFlag_16384 = new A.SemanticsFlag(16384);
    B.SemanticsFlag_16777216 = new A.SemanticsFlag(16777216);
    B.SemanticsFlag_2 = new A.SemanticsFlag(2);
    B.SemanticsFlag_2048 = new A.SemanticsFlag(2048);
    B.SemanticsFlag_2097152 = new A.SemanticsFlag(2097152);
    B.SemanticsFlag_256 = new A.SemanticsFlag(256);
    B.SemanticsFlag_262144 = new A.SemanticsFlag(262144);
    B.SemanticsFlag_32 = new A.SemanticsFlag(32);
    B.SemanticsFlag_32768 = new A.SemanticsFlag(32768);
    B.SemanticsFlag_4 = new A.SemanticsFlag(4);
    B.SemanticsFlag_4096 = new A.SemanticsFlag(4096);
    B.SemanticsFlag_4194304 = new A.SemanticsFlag(4194304);
    B.SemanticsFlag_512 = new A.SemanticsFlag(512);
    B.SemanticsFlag_524288 = new A.SemanticsFlag(524288);
    B.SemanticsFlag_64 = new A.SemanticsFlag(64);
    B.SemanticsFlag_65536 = new A.SemanticsFlag(65536);
    B.SemanticsFlag_8 = new A.SemanticsFlag(8);
    B.SemanticsFlag_8192 = new A.SemanticsFlag(8192);
    B.SemanticsFlag_8388608 = new A.SemanticsFlag(8388608);
    B.SemanticsTag_FIw = new A.SemanticsTag("RenderViewport.twoPane");
    B.SemanticsTag_bQQ = new A.SemanticsTag("RenderViewport.excludeFromScrolling");
    B.List_2No = A._setArrayType(makeConstList(["click", "touchstart", "touchend", "pointerdown", "pointermove", "pointerup"]), type$.JSArray_String);
    B.Map_2NPLv = new A.ConstantStringMap(6, {click: null, touchstart: null, touchend: null, pointerdown: null, pointermove: null, pointerup: null}, B.List_2No, type$.ConstantStringMap_String_Null);
    B.Set_2No4 = new A._UnmodifiableSet(B.Map_2NPLv, type$._UnmodifiableSet_String);
    B.List_mailto_tel_sms = A._setArrayType(makeConstList(["mailto", "tel", "sms"]), type$.JSArray_String);
    B.Map_4eGok = new A.ConstantStringMap(3, {mailto: null, tel: null, sms: null}, B.List_mailto_tel_sms, type$.ConstantStringMap_String_Null);
    B.Set_4e8j2 = new A._UnmodifiableSet(B.Map_4eGok, type$._UnmodifiableSet_String);
    B.Map_69gc6 = new A.GeneralConstantMap([B.OperatingSystem_4, null, B.OperatingSystem_2, null, B.OperatingSystem_3, null], A.findType("GeneralConstantMap<OperatingSystem,Null>"));
    B.Set_69tl2 = new A._UnmodifiableSet(B.Map_69gc6, A.findType("_UnmodifiableSet<OperatingSystem>"));
    B.Map_WLsxt = new A.GeneralConstantMap([B.MaterialState_0, null], type$.GeneralConstantMap_MaterialState_Null);
    B.Set_WLNEa = new A._UnmodifiableSet(B.Map_WLsxt, type$._UnmodifiableSet_MaterialState);
    B.Map_YGDwI = new A.GeneralConstantMap([B.MaterialState_1, null], type$.GeneralConstantMap_MaterialState_Null);
    B.Set_YGDIm = new A._UnmodifiableSet(B.Map_YGDwI, type$._UnmodifiableSet_MaterialState);
    B.List_Yab = A._setArrayType(makeConstList(["click", "keyup", "keydown", "mouseup", "mousedown", "pointerdown", "pointerup"]), type$.JSArray_String);
    B.Map_Yae5Z = new A.ConstantStringMap(7, {click: null, keyup: null, keydown: null, mouseup: null, mousedown: null, pointerdown: null, pointerup: null}, B.List_Yab, type$.ConstantStringMap_String_Null);
    B.Set_Yabt3 = new A._UnmodifiableSet(B.Map_Yae5Z, type$._UnmodifiableSet_String);
    B.Map_cMbv8 = new A.GeneralConstantMap([B.MaterialState_2, null], type$.GeneralConstantMap_MaterialState_Null);
    B.Set_cMbP4 = new A._UnmodifiableSet(B.Map_cMbv8, type$._UnmodifiableSet_MaterialState);
    B.PointerDeviceKind_3 = new A.PointerDeviceKind(3, "invertedStylus");
    B.PointerDeviceKind_4 = new A.PointerDeviceKind(4, "trackpad");
    B.Map_chjrB = new A.GeneralConstantMap([B.PointerDeviceKind_0, null, B.PointerDeviceKind_2, null, B.PointerDeviceKind_3, null, B.PointerDeviceKind_4, null, B.PointerDeviceKind_5, null], A.findType("GeneralConstantMap<PointerDeviceKind,Null>"));
    B.Set_chs59 = new A._UnmodifiableSet(B.Map_chjrB, A.findType("_UnmodifiableSet<PointerDeviceKind>"));
    B.List_empty41 = A._setArrayType(makeConstList([]), type$.JSArray_LogicalKeyboardKey);
    B.Map_empty13 = new A.ConstantStringMap(0, {}, B.List_empty41, A.findType("ConstantStringMap<LogicalKeyboardKey,Null>"));
    B.Set_empty = new A._UnmodifiableSet(B.Map_empty13, A.findType("_UnmodifiableSet<LogicalKeyboardKey>"));
    B.List_gsm = A._setArrayType(makeConstList(["==", "+", "-", "*", "/", "&", "~", "|", ">", "<", ">=", "<=", ">>", "<<", ">>>", "^", "%", "~/", "unary-"]), type$.JSArray_String);
    B.Map_gsAHF = new A.ConstantStringMap(19, {"==": null, "+": null, "-": null, "*": null, "/": null, "&": null, "~": null, "|": null, ">": null, "<": null, ">=": null, "<=": null, ">>": null, "<<": null, ">>>": null, "^": null, "%": null, "~/": null, "unary-": null}, B.List_gsm, type$.ConstantStringMap_String_Null);
    B.Set_gsmai = new A._UnmodifiableSet(B.Map_gsAHF, type$._UnmodifiableSet_String);
    B.List_ijv = A._setArrayType(makeConstList(["Flutter.ServiceExtensionStateChanged"]), type$.JSArray_String);
    B.Map_ijWZH = new A.ConstantStringMap(1, {"Flutter.ServiceExtensionStateChanged": null}, B.List_ijv, type$.ConstantStringMap_String_Null);
    B.Set_ijvA = new A._UnmodifiableSet(B.Map_ijWZH, type$._UnmodifiableSet_String);
    B.List_nPX = A._setArrayType(makeConstList(["Flutter.FirstFrame", "Flutter.FrameworkInitialization"]), type$.JSArray_String);
    B.Map_nP0C4 = new A.ConstantStringMap(2, {"Flutter.FirstFrame": null, "Flutter.FrameworkInitialization": null}, B.List_nPX, type$.ConstantStringMap_String_Null);
    B.Set_nPXOm = new A._UnmodifiableSet(B.Map_nP0C4, type$._UnmodifiableSet_String);
    B.List_wIv = A._setArrayType(makeConstList(["serif", "sans-serif", "monospace", "cursive", "fantasy", "system-ui", "math", "emoji", "fangsong"]), type$.JSArray_String);
    B.Map_wImu2 = new A.ConstantStringMap(9, {serif: null, "sans-serif": null, monospace: null, cursive: null, fantasy: null, "system-ui": null, math: null, emoji: null, fangsong: null}, B.List_wIv, type$.ConstantStringMap_String_Null);
    B.Set_wIvsi = new A._UnmodifiableSet(B.Map_wImu2, type$._UnmodifiableSet_String);
    B.SingleActivator_j8H0 = new A.SingleActivator(B.LogicalKeyboardKey_4294968069, false, false, false, false);
    B.SingleActivator_j8H = new A.SingleActivator(B.LogicalKeyboardKey_4294968070, false, false, false, false);
    B.SingleActivator_j8H14 = new A.SingleActivator(B.LogicalKeyboardKey_4294968065, false, true, false, false);
    B.SingleActivator_j8H11 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, false, true, false, false);
    B.SingleActivator_j8H12 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, false, true, false, false);
    B.SingleActivator_j8H13 = new A.SingleActivator(B.LogicalKeyboardKey_4294968068, false, true, false, false);
    B.SingleActivator_j8H2 = new A.SingleActivator(B.LogicalKeyboardKey_4294968069, false, true, false, false);
    B.SingleActivator_j8H1 = new A.SingleActivator(B.LogicalKeyboardKey_4294968070, false, true, false, false);
    B.SingleActivator_j8H30 = new A.SingleActivator(B.LogicalKeyboardKey_4294968065, false, false, false, true);
    B.SingleActivator_j8H27 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, false, false, false, true);
    B.SingleActivator_j8H28 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, false, false, false, true);
    B.SingleActivator_j8H29 = new A.SingleActivator(B.LogicalKeyboardKey_4294968068, false, false, false, true);
    B.SingleActivator_j8H34 = new A.SingleActivator(B.LogicalKeyboardKey_4294968065, false, true, false, true);
    B.SingleActivator_j8H31 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, false, true, false, true);
    B.SingleActivator_j8H32 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, false, true, false, true);
    B.SingleActivator_j8H33 = new A.SingleActivator(B.LogicalKeyboardKey_4294968068, false, true, false, true);
    B.SingleActivator_j8H23 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, true, false, false, false);
    B.SingleActivator_j8H24 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, true, false, false, false);
    B.SingleActivator_j8H4 = new A.SingleActivator(B.LogicalKeyboardKey_4294968069, true, false, false, false);
    B.SingleActivator_j8H3 = new A.SingleActivator(B.LogicalKeyboardKey_4294968070, true, false, false, false);
    B.SingleActivator_j8H25 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, true, true, false, false);
    B.SingleActivator_j8H26 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, true, true, false, false);
    B.SingleActivator_j8H6 = new A.SingleActivator(B.LogicalKeyboardKey_4294968069, true, true, false, false);
    B.SingleActivator_j8H5 = new A.SingleActivator(B.LogicalKeyboardKey_4294968070, true, true, false, false);
    B.SingleActivator_j8H18 = new A.SingleActivator(B.LogicalKeyboardKey_4294968065, false, false, true, false);
    B.SingleActivator_j8H15 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, false, false, true, false);
    B.SingleActivator_j8H16 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, false, false, true, false);
    B.SingleActivator_j8H17 = new A.SingleActivator(B.LogicalKeyboardKey_4294968068, false, false, true, false);
    B.SingleActivator_j8H22 = new A.SingleActivator(B.LogicalKeyboardKey_4294968065, false, true, true, false);
    B.SingleActivator_j8H19 = new A.SingleActivator(B.LogicalKeyboardKey_4294968066, false, true, true, false);
    B.SingleActivator_j8H20 = new A.SingleActivator(B.LogicalKeyboardKey_4294968067, false, true, true, false);
    B.SingleActivator_j8H21 = new A.SingleActivator(B.LogicalKeyboardKey_4294968068, false, true, true, false);
    B.SingleActivator_mmH10 = new A.SingleActivator(B.LogicalKeyboardKey_97, false, false, false, true);
    B.SingleActivator_mmH8 = new A.SingleActivator(B.LogicalKeyboardKey_99, false, false, false, true);
    B.SingleActivator_mmH9 = new A.SingleActivator(B.LogicalKeyboardKey_118, false, false, false, true);
    B.SingleActivator_mmH7 = new A.SingleActivator(B.LogicalKeyboardKey_120, false, false, false, true);
    B.SingleActivator_mmH11 = new A.SingleActivator(B.LogicalKeyboardKey_122, false, false, false, true);
    B.SingleActivator_mmH12 = new A.SingleActivator(B.LogicalKeyboardKey_122, false, true, false, true);
    B.SingleActivator_mmH2 = new A.SingleActivator(B.LogicalKeyboardKey_97, true, false, false, false);
    B.SingleActivator_mmH15 = new A.SingleActivator(B.LogicalKeyboardKey_98, true, false, false, false);
    B.SingleActivator_mmH0 = new A.SingleActivator(B.LogicalKeyboardKey_99, true, false, false, false);
    B.SingleActivator_mmH13 = new A.SingleActivator(B.LogicalKeyboardKey_101, true, false, false, false);
    B.SingleActivator_mmH14 = new A.SingleActivator(B.LogicalKeyboardKey_102, true, false, false, false);
    B.SingleActivator_mmH16 = new A.SingleActivator(B.LogicalKeyboardKey_110, true, false, false, false);
    B.SingleActivator_mmH17 = new A.SingleActivator(B.LogicalKeyboardKey_112, true, false, false, false);
    B.SingleActivator_mmH6 = new A.SingleActivator(B.LogicalKeyboardKey_116, true, false, false, false);
    B.SingleActivator_mmH1 = new A.SingleActivator(B.LogicalKeyboardKey_118, true, false, false, false);
    B.SingleActivator_mmH = new A.SingleActivator(B.LogicalKeyboardKey_120, true, false, false, false);
    B.SingleActivator_mmH3 = new A.SingleActivator(B.LogicalKeyboardKey_122, true, false, false, false);
    B.SingleActivator_mmH4 = new A.SingleActivator(B.LogicalKeyboardKey_122, true, true, false, false);
    B.Size_0_48 = new A.Size(0, 48);
    B.Size_100000_100000 = new A.Size(100000, 100000);
    B.Size_18_18 = new A.Size(18, 18);
    B.Size_22_22 = new A.Size(22, 22);
    B.Size_40_40 = new A.Size(40, 40);
    B.Size_48_48 = new A.Size(48, 48);
    B.Size_59_40 = new A.Size(59, 40);
    B.Size_59_48 = new A.Size(59, 48);
    B.Size_64_36 = new A.Size(64, 36);
    B.Size_8aB = new A.Size(1 / 0, 46);
    B.Size_wjo = new A.Size(1 / 0, 1 / 0);
    B.SizedBox_0_0_null_null = new A.SizedBox(0, 0, null, null);
    B.SizedBox_10_null_null_null = new A.SizedBox(10, null, null, null);
    B.SizedBox_16_16_null_null = new A.SizedBox(16, 16, null, null);
    B.SizedBox_16_null_null_null = new A.SizedBox(16, null, null, null);
    B.SizedBox_32_null_null_null = new A.SizedBox(32, null, null, null);
    B.SizedBox_4_null_null_null = new A.SizedBox(4, null, null, null);
    B.SizedBox_Otz = new A.SizedBox(16, null, B.Divider_null_null_null_null, null);
    B.SizedBox_null_4_null_null = new A.SizedBox(null, 4, null, null);
    B.SizedBox_null_50_null_null = new A.SizedBox(null, 50, null, null);
    B.SizedBox_null_6_null_null = new A.SizedBox(null, 6, null, null);
    B.SliderThemeData_qIG = new A.SliderThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.SliverGeometry_yuB = new A.SliverGeometry(0, 0, 0, 0, 0, 0, false, false, null, 0);
    B.SmartDashesType_1 = new A.SmartDashesType(1, "enabled");
    B.SmartQuotesType_1 = new A.SmartQuotesType(1, "enabled");
    B.SnackBarClosedReason_1 = new A.SnackBarClosedReason(1, "dismiss");
    B.SnackBarClosedReason_2 = new A.SnackBarClosedReason(2, "swipe");
    B.SnackBarClosedReason_3 = new A.SnackBarClosedReason(3, "hide");
    B.SnackBarClosedReason_4 = new A.SnackBarClosedReason(4, "remove");
    B.SnackBarClosedReason_5 = new A.SnackBarClosedReason(5, "timeout");
    B.SnackBarThemeData_gc6 = new A.SnackBarThemeData(null, null, null, null, null, null, null);
    B.SnapshotStatus_0 = new A.SnapshotStatus(0, "none");
    B.SnapshotStatus_1 = new A.SnapshotStatus(1, "streaming");
    B.SnapshotStatus_2 = new A.SnapshotStatus(2, "graphing");
    B.SnapshotStatus_3 = new A.SnapshotStatus(3, "grouping");
    B.SnapshotStatus_4 = new A.SnapshotStatus(4, "done");
    B.SortDirection_0 = new A.SortDirection(0, "ascending");
    B.SortDirection_1 = new A.SortDirection(1, "descending");
    B.Spacer_null = new A.Spacer(null);
    B.SpringType_0 = new A.SpringType(0, "criticallyDamped");
    B.SpringType_1 = new A.SpringType(1, "underDamped");
    B.SpringType_2 = new A.SpringType(2, "overDamped");
    B.StackFit_0 = new A.StackFit(0, "loose");
    B.StackFit_1 = new A.StackFit(1, "expand");
    B.StackFit_2 = new A.StackFit(2, "passthrough");
    B.StackFrame_8sg = new A.StackFrame("...", -1, "", "", "", -1, -1, "", "...");
    B.StackFrame_SOW = new A.StackFrame("<asynchronous suspension>", -1, "", "", "", -1, -1, "", "asynchronous suspension");
    B.StadiumBorder_sAO = new A.StadiumBorder(B.BorderSide_aLd);
    B.StringCharacters_ehH = new A.StringCharacters("");
    B.StrokeAlign_1 = new A.StrokeAlign(1, "center");
    B.StrokeCap_0 = new A.StrokeCap(0, "butt");
    B.StrokeCap_2 = new A.StrokeCap(2, "square");
    B.StrokeJoin_0 = new A.StrokeJoin(0, "miter");
    B.StrutStyle_yfz = new A.StrutStyle(null, null, null, null, null, null, null, null, null);
    B.SvgBlendMode_0 = new A.SvgBlendMode(0);
    B.SvgBlendMode_09 = new A.SvgBlendMode(0);
    B.SvgBlendMode_07 = new A.SvgBlendMode(0);
    B.SvgBlendMode_05 = new A.SvgBlendMode(0);
    B.SvgBlendMode_06 = new A.SvgBlendMode(0);
    B.SvgBlendMode_04 = new A.SvgBlendMode(0);
    B.SvgBlendMode_08 = new A.SvgBlendMode(0);
    B.SvgBlendMode_03 = new A.SvgBlendMode(0);
    B.SvgBlendMode_01 = new A.SvgBlendMode(0);
    B.SvgBlendMode_02 = new A.SvgBlendMode(0);
    B.SvgBlendMode_00 = new A.SvgBlendMode(0);
    B.SvgBlendMode_010 = new A.SvgBlendMode(0);
    B.SvgBlendMode_1 = new A.SvgBlendMode(1);
    B.SvgBlendMode_10 = new A.SvgBlendMode(10);
    B.SvgBlendMode_11 = new A.SvgBlendMode(11);
    B.SvgBlendMode_12 = new A.SvgBlendMode(12);
    B.SvgBlendMode_13 = new A.SvgBlendMode(13);
    B.SvgBlendMode_14 = new A.SvgBlendMode(14);
    B.SvgBlendMode_15 = new A.SvgBlendMode(15);
    B.SvgBlendMode_16 = new A.SvgBlendMode(16);
    B.SvgBlendMode_2 = new A.SvgBlendMode(2);
    B.SvgBlendMode_3 = new A.SvgBlendMode(3);
    B.SvgBlendMode_4 = new A.SvgBlendMode(4);
    B.SvgBlendMode_5 = new A.SvgBlendMode(5);
    B.SvgBlendMode_6 = new A.SvgBlendMode(6);
    B.SvgBlendMode_7 = new A.SvgBlendMode(7);
    B.SvgBlendMode_8 = new A.SvgBlendMode(8);
    B.SvgBlendMode_9 = new A.SvgBlendMode(9);
    B.SwitchThemeData_v9F = new A.SwitchThemeData(null, null, null, null, null, null);
    B.Symbol_89P = new A.Symbol("Intl.locale");
    B.Symbol_call = new A.Symbol("call");
    B.SystemMouseCursor_basic = new A.SystemMouseCursor("basic");
    B.SystemMouseCursor_click = new A.SystemMouseCursor("click");
    B.SystemMouseCursor_resizeColumn = new A.SystemMouseCursor("resizeColumn");
    B.SystemMouseCursor_resizeRow = new A.SystemMouseCursor("resizeRow");
    B.SystemMouseCursor_text = new A.SystemMouseCursor("text");
    B.SystemSoundType_0 = new A.SystemSoundType(0, "click");
    B.SystemSoundType_1 = new A.SystemSoundType(1, "alert");
    B.SystemUiOverlayStyle_6UD = new A.SystemUiOverlayStyle(B.Color_4278190080, null, B.Brightness_1, null, null, B.Brightness_0, B.Brightness_1, null);
    B.SystemUiOverlayStyle_qsc = new A.SystemUiOverlayStyle(B.Color_4278190080, null, B.Brightness_1, null, null, B.Brightness_1, B.Brightness_0, null);
    B.TabBarTheme_WXI = new A.TabBarTheme(null, null, null, null, null, null, null, null, null, null);
    B.TableCellVerticalAlignment_0 = new A.TableCellVerticalAlignment(0, "top");
    B.TableCellVerticalAlignment_1 = new A.TableCellVerticalAlignment(1, "middle");
    B.TableCellVerticalAlignment_4 = new A.TableCellVerticalAlignment(4, "fill");
    B.TapSemanticEvent_tap = new A.TapSemanticEvent("tap");
    B.TextAlignVertical_0 = new A.TextAlignVertical(0);
    B.TextAlignVertical_m1 = new A.TextAlignVertical(-1);
    B.TextButtonThemeData_null = new A.TextButtonThemeData(null);
    B.TextCapitalization_3 = new A.TextCapitalization(3, "none");
    B.TextCapitalizationConfig_TextCapitalization_3 = new A.TextCapitalizationConfig(B.TextCapitalization_3);
    B.TextCapitalization_0 = new A.TextCapitalization(0, "words");
    B.TextCapitalization_1 = new A.TextCapitalization(1, "sentences");
    B.TextCapitalization_2 = new A.TextCapitalization(2, "characters");
    B.TextCapitalization_30 = new A.TextCapitalization0(3, "none");
    B.TextDecoration_0 = new A.TextDecoration(0);
    B.TextDecoration_1 = new A.TextDecoration(1);
    B.TextDecoration_4 = new A.TextDecoration(4);
    B.TextSelection_3Ex0 = new A.TextSelection(0, 0, B.TextAffinity_1, false, 0, 0);
    B.TextEditingValue_cKo = new A.TextEditingValue("", B.TextSelection_3Ex0, B.TextRange_m1_m1);
    B.TextInputAction_0 = new A.TextInputAction(0, "none");
    B.TextInputAction_1 = new A.TextInputAction(1, "unspecified");
    B.TextInputAction_10 = new A.TextInputAction(10, "route");
    B.TextInputAction_11 = new A.TextInputAction(11, "emergencyCall");
    B.TextInputAction_12 = new A.TextInputAction(12, "newline");
    B.TextInputAction_2 = new A.TextInputAction(2, "done");
    B.TextInputAction_3 = new A.TextInputAction(3, "go");
    B.TextInputAction_4 = new A.TextInputAction(4, "search");
    B.TextInputAction_5 = new A.TextInputAction(5, "send");
    B.TextInputAction_6 = new A.TextInputAction(6, "next");
    B.TextInputAction_7 = new A.TextInputAction(7, "previous");
    B.TextInputAction_8 = new A.TextInputAction(8, "continueAction");
    B.TextInputAction_9 = new A.TextInputAction(9, "join");
    B.TextInputType_0_null_null = new A.TextInputType(0, null, null);
    B.TextInputType_1_null_null = new A.TextInputType(1, null, null);
    B.TextInputType_2_false_false = new A.TextInputType(2, false, false);
    B.TextLeadingDistribution_0 = new A.TextLeadingDistribution(0, "proportional");
    B.TextLeadingDistribution_1 = new A.TextLeadingDistribution(1, "even");
    B.TextOverflow_2 = new A.TextOverflow(2, "ellipsis");
    B.TextOverflow_3 = new A.TextOverflow(3, "visible");
    B.TextPosition_0_TextAffinity_1 = new A.TextPosition(0, B.TextAffinity_1);
    B.TextSelectionHandleType_0 = new A.TextSelectionHandleType(0, "left");
    B.TextSelectionHandleType_1 = new A.TextSelectionHandleType(1, "right");
    B.TextSelectionHandleType_2 = new A.TextSelectionHandleType(2, "collapsed");
    B.TextSelectionThemeData_null_null_null = new A.TextSelectionThemeData(null, null, null);
    B.TextSelection_3Ex = new A.TextSelection(0, 1, B.TextAffinity_1, false, 0, 1);
    B.TextSpan_3Nb = new A.TextSpan("\n\nIf you are attempting to profile on a real iOS device, you may be hitting a known issue. Try using this ", null, null, B.C__DeferringMouseCursor, null, null);
    B.TextSpan_CPm = new A.TextSpan(null, null, null, B.C__DeferringMouseCursor, null, null);
    B.TextSpan_QOM = new A.TextSpan(".", null, null, B.C__DeferringMouseCursor, null, null);
    B.TextSpan_mpm = new A.TextSpan("\n", null, null, B.C__DeferringMouseCursor, null, null);
    B.TextSpan_waZ = new A.TextSpan('"', null, null, B.C__DeferringMouseCursor, null, null);
    B.TextStyle_1qL = new A.TextStyle(true, B.Color_4283866326, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.Color_3506372608 = new A.Color(3506372608);
    B.TextDecorationStyle_1 = new A.TextDecorationStyle(1, "double");
    B.TextStyle_86y = new A.TextStyle(true, B.Color_3506372608, null, "monospace", null, null, 48, B.FontWeight_8, null, null, null, null, null, null, null, null, null, B.TextDecoration_1, B.Color_4294967040, B.TextDecorationStyle_1, null, "fallback style; consider putting your text in a Material", null, null, null, null);
    B.TextStyle_9Zz = new A.TextStyle(true, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_1, null, null, null, null, null, null, null, null);
    B.TextStyle_9Zz0 = new A.TextStyle(true, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_4, null, null, null, null, null, null, null, null);
    B.TextStyle_Ag3 = new A.TextStyle(true, B.Color_4278229706, null, null, null, null, null, null, null, 1.1, null, null, 1, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_E9t = new A.TextStyle(true, B.Color_4294967295, null, null, null, null, null, B.FontWeight_6, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_KL4 = new A.TextStyle(true, B.Color_4278190080, B.MaterialColor_Map_JNHRl_4294961979, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_LB7 = new A.TextStyle(true, null, null, null, null, null, null, null, B.FontStyle_1, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_MU4 = new A.TextStyle(true, B.Color_4283353520, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_SVP = new A.TextStyle(true, null, null, null, null, null, 12, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_ato = new A.TextStyle(true, B.Color_4278229706, null, null, null, null, null, B.FontWeight_6, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_bLJ = new A.TextStyle(true, B.Color_4278190080, B.MaterialAccentColor_Map_iTsEs_4294945600, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_c8s = new A.TextStyle(false, B.CupertinoDynamicColor_qQo, null, ".SF Pro Text", null, null, 17, null, null, -0.41, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, null, null, null, null, null);
    B.TextStyle_ia30 = new A.TextStyle(true, null, null, null, null, null, null, B.FontWeight_5, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_ia3 = new A.TextStyle(true, null, null, null, null, null, null, B.FontWeight_6, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_ifn = new A.TextStyle(true, B.Color_4290105000, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.Color_4291727736 = new A.Color(4291727736);
    B.TextStyle_mT6 = new A.TextStyle(true, B.Color_4291727736, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_u97 = new A.TextStyle(true, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextOverflow_2);
    B.TextStyle_yHr = new A.TextStyle(true, B.MaterialColor_Map_JNwaj_4280391411, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_yrN = new A.TextStyle(true, B.Color_4278229706, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_6v8 = new A.TextStyle(true, B.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity displayLarge", null, null, null, null);
    B.TextStyle_Cbr = new A.TextStyle(true, B.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity displayMedium", null, null, null, null);
    B.TextStyle_6v80 = new A.TextStyle(true, B.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity displaySmall", null, null, null, null);
    B.TextStyle_6FR = new A.TextStyle(true, B.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity headlineLarge", null, null, null, null);
    B.TextStyle_PZw = new A.TextStyle(true, B.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity headlineMedium", null, null, null, null);
    B.TextStyle_YDz = new A.TextStyle(true, B.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity headlineSmall", null, null, null, null);
    B.TextStyle_nfu = new A.TextStyle(true, B.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity titleLarge", null, null, null, null);
    B.TextStyle_mGg = new A.TextStyle(true, B.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity titleMedium", null, null, null, null);
    B.TextStyle_vMb = new A.TextStyle(true, B.Color_4278190080, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity titleSmall", null, null, null, null);
    B.TextStyle_uRr = new A.TextStyle(true, B.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity bodyLarge", null, null, null, null);
    B.TextStyle_Wlw = new A.TextStyle(true, B.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity bodyMedium", null, null, null, null);
    B.TextStyle_mF3 = new A.TextStyle(true, B.Color_2315255808, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity bodySmall", null, null, null, null);
    B.TextStyle_Ywi = new A.TextStyle(true, B.Color_3707764736, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity labelLarge", null, null, null, null);
    B.TextStyle_QTB = new A.TextStyle(true, B.Color_4278190080, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity labelMedium", null, null, null, null);
    B.TextStyle_q96 = new A.TextStyle(true, B.Color_4278190080, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedwoodCity labelSmall", null, null, null, null);
    B.TextTheme_2jN = new A.TextTheme(B.TextStyle_6v8, B.TextStyle_Cbr, B.TextStyle_6v80, B.TextStyle_6FR, B.TextStyle_PZw, B.TextStyle_YDz, B.TextStyle_nfu, B.TextStyle_mGg, B.TextStyle_vMb, B.TextStyle_uRr, B.TextStyle_Wlw, B.TextStyle_mF3, B.TextStyle_Ywi, B.TextStyle_QTB, B.TextStyle_q96);
    B.TextStyle_Yjf = new A.TextStyle(false, null, null, null, null, null, 112, B.FontWeight_0, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense displayLarge 2014", null, null, null, null);
    B.TextStyle_96V = new A.TextStyle(false, null, null, null, null, null, 56, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense displayMedium 2014", null, null, null, null);
    B.TextStyle_gKN = new A.TextStyle(false, null, null, null, null, null, 45, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense displaySmall 2014", null, null, null, null);
    B.TextStyle_8JN = new A.TextStyle(false, null, null, null, null, null, 40, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense headlineLarge 2014", null, null, null, null);
    B.TextStyle_kr3 = new A.TextStyle(false, null, null, null, null, null, 34, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense headlineMedium 2014", null, null, null, null);
    B.TextStyle_BO8 = new A.TextStyle(false, null, null, null, null, null, 24, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense headlineSmall 2014", null, null, null, null);
    B.TextStyle_uMI = new A.TextStyle(false, null, null, null, null, null, 21, B.FontWeight_4, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense titleLarge 2014", null, null, null, null);
    B.TextStyle_461 = new A.TextStyle(false, null, null, null, null, null, 17, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense titleMedium 2014", null, null, null, null);
    B.TextStyle_4a4 = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_4, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense titleSmall 2014", null, null, null, null);
    B.TextStyle_Olq = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_4, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense bodyLarge 2014", null, null, null, null);
    B.TextStyle_Jik = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense bodyMedium 2014", null, null, null, null);
    B.TextStyle_DPe = new A.TextStyle(false, null, null, null, null, null, 13, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense bodySmall 2014", null, null, null, null);
    B.TextStyle_EWG = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_4, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense labelLarge 2014", null, null, null, null);
    B.TextStyle_cc6 = new A.TextStyle(false, null, null, null, null, null, 12, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense labelMedium 2014", null, null, null, null);
    B.TextStyle_2TE = new A.TextStyle(false, null, null, null, null, null, 11, B.FontWeight_3, null, null, null, B.TextBaseline_1, null, null, null, null, null, null, null, null, null, "dense labelSmall 2014", null, null, null, null);
    B.TextTheme_8FR = new A.TextTheme(B.TextStyle_Yjf, B.TextStyle_96V, B.TextStyle_gKN, B.TextStyle_8JN, B.TextStyle_kr3, B.TextStyle_BO8, B.TextStyle_uMI, B.TextStyle_461, B.TextStyle_4a4, B.TextStyle_Olq, B.TextStyle_Jik, B.TextStyle_DPe, B.TextStyle_EWG, B.TextStyle_cc6, B.TextStyle_2TE);
    B.List_Exl = A._setArrayType(makeConstList(["Ubuntu", "Cantarell", "DejaVu Sans", "Liberation Sans", "Arial"]), type$.JSArray_String);
    B.TextStyle_IT3 = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki displayLarge", null, null, null, null);
    B.TextStyle_6lo = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki displayMedium", null, null, null, null);
    B.TextStyle_qp8 = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki displaySmall", null, null, null, null);
    B.TextStyle_AgZ = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki headlineLarge", null, null, null, null);
    B.TextStyle_0 = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki headlineMedium", null, null, null, null);
    B.TextStyle_ww8 = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki headlineSmall", null, null, null, null);
    B.TextStyle_sUY = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki titleLarge", null, null, null, null);
    B.TextStyle_erQ = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki titleMedium", null, null, null, null);
    B.TextStyle_0Y6 = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki titleSmall", null, null, null, null);
    B.TextStyle_Vko = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki bodyLarge", null, null, null, null);
    B.TextStyle_lkJ = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki bodyMedium", null, null, null, null);
    B.TextStyle_phJ = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki bodySmall", null, null, null, null);
    B.TextStyle_Wzh = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki labelLarge", null, null, null, null);
    B.TextStyle_Auo = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki labelMedium", null, null, null, null);
    B.TextStyle_Wzh0 = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteHelsinki labelSmall", null, null, null, null);
    B.TextTheme_8Gl = new A.TextTheme(B.TextStyle_IT3, B.TextStyle_6lo, B.TextStyle_qp8, B.TextStyle_AgZ, B.TextStyle_0, B.TextStyle_ww8, B.TextStyle_sUY, B.TextStyle_erQ, B.TextStyle_0Y6, B.TextStyle_Vko, B.TextStyle_lkJ, B.TextStyle_phJ, B.TextStyle_Wzh, B.TextStyle_Auo, B.TextStyle_Wzh0);
    B.TextStyle_2bx = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView displayLarge", null, null, null, null);
    B.TextStyle_AAN = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView displayMedium", null, null, null, null);
    B.TextStyle_Fb0 = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView displaySmall", null, null, null, null);
    B.TextStyle_otF = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView headlineLarge", null, null, null, null);
    B.TextStyle_v5C = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView headlineMedium", null, null, null, null);
    B.TextStyle_ugl = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView headlineSmall", null, null, null, null);
    B.TextStyle_DzI = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView titleLarge", null, null, null, null);
    B.TextStyle_nj4 = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView titleMedium", null, null, null, null);
    B.TextStyle_C3K = new A.TextStyle(true, B.Color_4278190080, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView titleSmall", null, null, null, null);
    B.TextStyle_DGY = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView bodyLarge", null, null, null, null);
    B.TextStyle_89P = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView bodyMedium", null, null, null, null);
    B.TextStyle_F9d = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView bodySmall", null, null, null, null);
    B.TextStyle_yDH = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView labelLarge", null, null, null, null);
    B.TextStyle_gA4 = new A.TextStyle(true, B.Color_4278190080, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView labelMedium", null, null, null, null);
    B.TextStyle_aV5 = new A.TextStyle(true, B.Color_4278190080, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackMountainView labelSmall", null, null, null, null);
    B.TextTheme_BCG = new A.TextTheme(B.TextStyle_2bx, B.TextStyle_AAN, B.TextStyle_Fb0, B.TextStyle_otF, B.TextStyle_v5C, B.TextStyle_ugl, B.TextStyle_DzI, B.TextStyle_nj4, B.TextStyle_C3K, B.TextStyle_DGY, B.TextStyle_89P, B.TextStyle_F9d, B.TextStyle_yDH, B.TextStyle_gA4, B.TextStyle_aV5);
    B.TextStyle_2Vk = new A.TextStyle(true, B.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity displayLarge", null, null, null, null);
    B.TextStyle_ES6 = new A.TextStyle(true, B.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity displayMedium", null, null, null, null);
    B.TextStyle_2Vk0 = new A.TextStyle(true, B.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity displaySmall", null, null, null, null);
    B.TextStyle_6pl = new A.TextStyle(true, B.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity headlineLarge", null, null, null, null);
    B.TextStyle_7Cs = new A.TextStyle(true, B.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity headlineMedium", null, null, null, null);
    B.TextStyle_m1K = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity headlineSmall", null, null, null, null);
    B.TextStyle_IMB = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity titleLarge", null, null, null, null);
    B.TextStyle_M6L = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity titleMedium", null, null, null, null);
    B.TextStyle_Scn = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity titleSmall", null, null, null, null);
    B.TextStyle_dSf = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity bodyLarge", null, null, null, null);
    B.TextStyle_OXX = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity bodyMedium", null, null, null, null);
    B.TextStyle_mdN = new A.TextStyle(true, B.Color_3019898879, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity bodySmall", null, null, null, null);
    B.TextStyle_lTx = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity labelLarge", null, null, null, null);
    B.TextStyle_Irr = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity labelMedium", null, null, null, null);
    B.TextStyle_deg = new A.TextStyle(true, B.Color_4294967295, null, ".AppleSystemUIFont", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedwoodCity labelSmall", null, null, null, null);
    B.TextTheme_E6J = new A.TextTheme(B.TextStyle_2Vk, B.TextStyle_ES6, B.TextStyle_2Vk0, B.TextStyle_6pl, B.TextStyle_7Cs, B.TextStyle_m1K, B.TextStyle_IMB, B.TextStyle_M6L, B.TextStyle_Scn, B.TextStyle_dSf, B.TextStyle_OXX, B.TextStyle_mdN, B.TextStyle_lTx, B.TextStyle_Irr, B.TextStyle_deg);
    B.TextStyle_7eO = new A.TextStyle(false, null, null, null, null, null, 112, B.FontWeight_0, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike displayLarge 2014", null, null, null, null);
    B.TextStyle_w59 = new A.TextStyle(false, null, null, null, null, null, 56, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike displayMedium 2014", null, null, null, null);
    B.TextStyle_UEt = new A.TextStyle(false, null, null, null, null, null, 45, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike displaySmall 2014", null, null, null, null);
    B.TextStyle_ivl = new A.TextStyle(false, null, null, null, null, null, 40, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike headlineLarge 2014", null, null, null, null);
    B.TextStyle_dUj = new A.TextStyle(false, null, null, null, null, null, 34, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike headlineMedium 2014", null, null, null, null);
    B.TextStyle_2jN = new A.TextStyle(false, null, null, null, null, null, 24, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike headlineSmall 2014", null, null, null, null);
    B.TextStyle_GBG = new A.TextStyle(false, null, null, null, null, null, 20, B.FontWeight_4, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike titleLarge 2014", null, null, null, null);
    B.TextStyle_8FR = new A.TextStyle(false, null, null, null, null, null, 16, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike titleMedium 2014", null, null, null, null);
    B.TextStyle_f3S = new A.TextStyle(false, null, null, null, null, null, 14, B.FontWeight_4, null, 0.1, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike titleSmall 2014", null, null, null, null);
    B.TextStyle_aOh = new A.TextStyle(false, null, null, null, null, null, 14, B.FontWeight_4, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike bodyLarge 2014", null, null, null, null);
    B.TextStyle_bh5 = new A.TextStyle(false, null, null, null, null, null, 14, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike bodyMedium 2014", null, null, null, null);
    B.TextStyle_Oxn = new A.TextStyle(false, null, null, null, null, null, 12, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike bodySmall 2014", null, null, null, null);
    B.TextStyle_QC2 = new A.TextStyle(false, null, null, null, null, null, 14, B.FontWeight_4, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike labelLarge 2014", null, null, null, null);
    B.TextStyle_KDx = new A.TextStyle(false, null, null, null, null, null, 12, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike labelMedium 2014", null, null, null, null);
    B.TextStyle_iFn = new A.TextStyle(false, null, null, null, null, null, 10, B.FontWeight_3, null, 1.5, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "englishLike labelSmall 2014", null, null, null, null);
    B.TextTheme_Gl7 = new A.TextTheme(B.TextStyle_7eO, B.TextStyle_w59, B.TextStyle_UEt, B.TextStyle_ivl, B.TextStyle_dUj, B.TextStyle_2jN, B.TextStyle_GBG, B.TextStyle_8FR, B.TextStyle_f3S, B.TextStyle_aOh, B.TextStyle_bh5, B.TextStyle_Oxn, B.TextStyle_QC2, B.TextStyle_KDx, B.TextStyle_iFn);
    B.TextStyle_gLV = new A.TextStyle(true, B.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond displayLarge", null, null, null, null);
    B.TextStyle_QW2 = new A.TextStyle(true, B.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond displayMedium", null, null, null, null);
    B.TextStyle_Hln = new A.TextStyle(true, B.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond displaySmall", null, null, null, null);
    B.TextStyle_ueY = new A.TextStyle(true, B.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond headlineLarge", null, null, null, null);
    B.TextStyle_8Gl = new A.TextStyle(true, B.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond headlineMedium", null, null, null, null);
    B.TextStyle_46y = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond headlineSmall", null, null, null, null);
    B.TextStyle_Ldh = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond titleLarge", null, null, null, null);
    B.TextStyle_YsI = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond titleMedium", null, null, null, null);
    B.TextStyle_NO4 = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond titleSmall", null, null, null, null);
    B.TextStyle_RsV = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond bodyLarge", null, null, null, null);
    B.TextStyle_kfn = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond bodyMedium", null, null, null, null);
    B.TextStyle_5FW = new A.TextStyle(true, B.Color_3019898879, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond bodySmall", null, null, null, null);
    B.TextStyle_ciW = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond labelLarge", null, null, null, null);
    B.TextStyle_Ohi = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond labelMedium", null, null, null, null);
    B.TextStyle_o0y = new A.TextStyle(true, B.Color_4294967295, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteRedmond labelSmall", null, null, null, null);
    B.TextTheme_P12 = new A.TextTheme(B.TextStyle_gLV, B.TextStyle_QW2, B.TextStyle_Hln, B.TextStyle_ueY, B.TextStyle_8Gl, B.TextStyle_46y, B.TextStyle_Ldh, B.TextStyle_YsI, B.TextStyle_NO4, B.TextStyle_RsV, B.TextStyle_kfn, B.TextStyle_5FW, B.TextStyle_ciW, B.TextStyle_Ohi, B.TextStyle_o0y);
    B.TextStyle_Hew = new A.TextStyle(false, null, null, null, null, null, 112, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall displayLarge 2014", null, null, null, null);
    B.TextStyle_96s = new A.TextStyle(false, null, null, null, null, null, 56, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall displayMedium 2014", null, null, null, null);
    B.TextStyle_yeX = new A.TextStyle(false, null, null, null, null, null, 45, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall displaySmall 2014", null, null, null, null);
    B.TextStyle_gkc = new A.TextStyle(false, null, null, null, null, null, 40, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall headlineLarge 2014", null, null, null, null);
    B.TextStyle_Djg = new A.TextStyle(false, null, null, null, null, null, 34, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall headlineMedium 2014", null, null, null, null);
    B.TextStyle_CjA = new A.TextStyle(false, null, null, null, null, null, 24, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall headlineSmall 2014", null, null, null, null);
    B.TextStyle_wz6 = new A.TextStyle(false, null, null, null, null, null, 21, B.FontWeight_6, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall titleLarge 2014", null, null, null, null);
    B.TextStyle_Epp = new A.TextStyle(false, null, null, null, null, null, 17, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall titleMedium 2014", null, null, null, null);
    B.TextStyle_yhx = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_4, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall titleSmall 2014", null, null, null, null);
    B.TextStyle_vBP = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_6, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall bodyLarge 2014", null, null, null, null);
    B.TextStyle_Kzi = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall bodyMedium 2014", null, null, null, null);
    B.TextStyle_hoO = new A.TextStyle(false, null, null, null, null, null, 13, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall bodySmall 2014", null, null, null, null);
    B.TextStyle_cOk = new A.TextStyle(false, null, null, null, null, null, 15, B.FontWeight_6, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall labelLarge 2014", null, null, null, null);
    B.TextStyle_izW = new A.TextStyle(false, null, null, null, null, null, 12, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall labelMedium 2014", null, null, null, null);
    B.TextStyle_bhB = new A.TextStyle(false, null, null, null, null, null, 11, B.FontWeight_3, null, null, null, B.TextBaseline_0, null, null, null, null, null, null, null, null, null, "tall labelSmall 2014", null, null, null, null);
    B.TextTheme_RkD = new A.TextTheme(B.TextStyle_Hew, B.TextStyle_96s, B.TextStyle_yeX, B.TextStyle_gkc, B.TextStyle_Djg, B.TextStyle_CjA, B.TextStyle_wz6, B.TextStyle_Epp, B.TextStyle_yhx, B.TextStyle_vBP, B.TextStyle_Kzi, B.TextStyle_hoO, B.TextStyle_cOk, B.TextStyle_izW, B.TextStyle_bhB);
    B.TextStyle_WfL = new A.TextStyle(true, B.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino displayLarge", null, null, null, null);
    B.TextStyle_kUZ = new A.TextStyle(true, B.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino displayMedium", null, null, null, null);
    B.TextStyle_LlB = new A.TextStyle(true, B.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino displaySmall", null, null, null, null);
    B.TextStyle_QnN = new A.TextStyle(true, B.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino headlineLarge", null, null, null, null);
    B.TextStyle_CZe = new A.TextStyle(true, B.Color_3019898879, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino headlineMedium", null, null, null, null);
    B.TextStyle_Qhc = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino headlineSmall", null, null, null, null);
    B.TextStyle_EOF = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino titleLarge", null, null, null, null);
    B.TextStyle_gc6 = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino titleMedium", null, null, null, null);
    B.TextStyle_HaL = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino titleSmall", null, null, null, null);
    B.TextStyle_MMY = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino bodyLarge", null, null, null, null);
    B.TextStyle_Qey = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino bodyMedium", null, null, null, null);
    B.TextStyle_7BT = new A.TextStyle(true, B.Color_3019898879, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino bodySmall", null, null, null, null);
    B.TextStyle_jbp = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino labelLarge", null, null, null, null);
    B.TextStyle_SNA = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino labelMedium", null, null, null, null);
    B.TextStyle_fDQ = new A.TextStyle(true, B.Color_4294967295, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteCupertino labelSmall", null, null, null, null);
    B.TextTheme_UqR = new A.TextTheme(B.TextStyle_WfL, B.TextStyle_kUZ, B.TextStyle_LlB, B.TextStyle_QnN, B.TextStyle_CZe, B.TextStyle_Qhc, B.TextStyle_EOF, B.TextStyle_gc6, B.TextStyle_HaL, B.TextStyle_MMY, B.TextStyle_Qey, B.TextStyle_7BT, B.TextStyle_jbp, B.TextStyle_SNA, B.TextStyle_fDQ);
    B.TextStyle_USZ = new A.TextStyle(true, B.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond displayLarge", null, null, null, null);
    B.TextStyle_Fp5 = new A.TextStyle(true, B.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond displayMedium", null, null, null, null);
    B.TextStyle_rdD = new A.TextStyle(true, B.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond displaySmall", null, null, null, null);
    B.TextStyle_7fx = new A.TextStyle(true, B.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond headlineLarge", null, null, null, null);
    B.TextStyle_mxj = new A.TextStyle(true, B.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond headlineMedium", null, null, null, null);
    B.TextStyle_2Vk1 = new A.TextStyle(true, B.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond headlineSmall", null, null, null, null);
    B.TextStyle_OAI = new A.TextStyle(true, B.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond titleLarge", null, null, null, null);
    B.TextStyle_S7k = new A.TextStyle(true, B.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond titleMedium", null, null, null, null);
    B.TextStyle_06r = new A.TextStyle(true, B.Color_4278190080, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond titleSmall", null, null, null, null);
    B.TextStyle_i78 = new A.TextStyle(true, B.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond bodyLarge", null, null, null, null);
    B.TextStyle_869 = new A.TextStyle(true, B.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond bodyMedium", null, null, null, null);
    B.TextStyle_wKq = new A.TextStyle(true, B.Color_2315255808, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond bodySmall", null, null, null, null);
    B.TextStyle_SNJ = new A.TextStyle(true, B.Color_3707764736, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond labelLarge", null, null, null, null);
    B.TextStyle_6d7 = new A.TextStyle(true, B.Color_4278190080, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond labelMedium", null, null, null, null);
    B.TextStyle_8aB = new A.TextStyle(true, B.Color_4278190080, null, "Segoe UI", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackRedmond labelSmall", null, null, null, null);
    B.TextTheme_mDg = new A.TextTheme(B.TextStyle_USZ, B.TextStyle_Fp5, B.TextStyle_rdD, B.TextStyle_7fx, B.TextStyle_mxj, B.TextStyle_2Vk1, B.TextStyle_OAI, B.TextStyle_S7k, B.TextStyle_06r, B.TextStyle_i78, B.TextStyle_869, B.TextStyle_wKq, B.TextStyle_SNJ, B.TextStyle_6d7, B.TextStyle_8aB);
    B.TextStyle_qNa = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki displayLarge", null, null, null, null);
    B.TextStyle_sEs = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki displayMedium", null, null, null, null);
    B.TextStyle_wwi = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki displaySmall", null, null, null, null);
    B.TextStyle_Sjk = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki headlineLarge", null, null, null, null);
    B.TextStyle_VYA = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki headlineMedium", null, null, null, null);
    B.TextStyle_iZu = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki headlineSmall", null, null, null, null);
    B.TextStyle_JFX = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki titleLarge", null, null, null, null);
    B.TextStyle_o3G = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki titleMedium", null, null, null, null);
    B.TextStyle_k4X = new A.TextStyle(true, B.Color_4278190080, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki titleSmall", null, null, null, null);
    B.TextStyle_yXb = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki bodyLarge", null, null, null, null);
    B.TextStyle_ckJ = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki bodyMedium", null, null, null, null);
    B.TextStyle_Gt8 = new A.TextStyle(true, B.Color_2315255808, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki bodySmall", null, null, null, null);
    B.TextStyle_cOY = new A.TextStyle(true, B.Color_3707764736, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki labelLarge", null, null, null, null);
    B.TextStyle_wsa = new A.TextStyle(true, B.Color_4278190080, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki labelMedium", null, null, null, null);
    B.TextStyle_AeS = new A.TextStyle(true, B.Color_4278190080, null, "Roboto", B.List_Exl, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackHelsinki labelSmall", null, null, null, null);
    B.TextTheme_qRH = new A.TextTheme(B.TextStyle_qNa, B.TextStyle_sEs, B.TextStyle_wwi, B.TextStyle_Sjk, B.TextStyle_VYA, B.TextStyle_iZu, B.TextStyle_JFX, B.TextStyle_o3G, B.TextStyle_k4X, B.TextStyle_yXb, B.TextStyle_ckJ, B.TextStyle_Gt8, B.TextStyle_cOY, B.TextStyle_wsa, B.TextStyle_AeS);
    B.TextStyle_PDz = new A.TextStyle(true, B.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino displayLarge", null, null, null, null);
    B.TextStyle_kMT = new A.TextStyle(true, B.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino displayMedium", null, null, null, null);
    B.TextStyle_chs = new A.TextStyle(true, B.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino displaySmall", null, null, null, null);
    B.TextStyle_ecN = new A.TextStyle(true, B.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino headlineLarge", null, null, null, null);
    B.TextStyle_2Vk2 = new A.TextStyle(true, B.Color_2315255808, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino headlineMedium", null, null, null, null);
    B.TextStyle_apI = new A.TextStyle(true, B.Color_3707764736, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino headlineSmall", null, null, null, null);
    B.TextStyle_Crc = new A.TextStyle(true, B.Color_3707764736, null, ".SF UI Display", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino titleLarge", null, null, null, null);
    B.TextStyle_bmy = new A.TextStyle(true, B.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino titleMedium", null, null, null, null);
    B.TextStyle_9uj = new A.TextStyle(true, B.Color_4278190080, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino titleSmall", null, null, null, null);
    B.TextStyle_q8E = new A.TextStyle(true, B.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino bodyLarge", null, null, null, null);
    B.TextStyle_mXu = new A.TextStyle(true, B.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino bodyMedium", null, null, null, null);
    B.TextStyle_a3g = new A.TextStyle(true, B.Color_2315255808, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino bodySmall", null, null, null, null);
    B.TextStyle_Cht = new A.TextStyle(true, B.Color_3707764736, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino labelLarge", null, null, null, null);
    B.TextStyle_Bzp = new A.TextStyle(true, B.Color_4278190080, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino labelMedium", null, null, null, null);
    B.TextStyle_m6K = new A.TextStyle(true, B.Color_4278190080, null, ".SF UI Text", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "blackCupertino labelSmall", null, null, null, null);
    B.TextTheme_woc = new A.TextTheme(B.TextStyle_PDz, B.TextStyle_kMT, B.TextStyle_chs, B.TextStyle_ecN, B.TextStyle_2Vk2, B.TextStyle_apI, B.TextStyle_Crc, B.TextStyle_bmy, B.TextStyle_9uj, B.TextStyle_q8E, B.TextStyle_mXu, B.TextStyle_a3g, B.TextStyle_Cht, B.TextStyle_Bzp, B.TextStyle_m6K);
    B.TextStyle_cdS = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView displayLarge", null, null, null, null);
    B.TextStyle_yGZ = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView displayMedium", null, null, null, null);
    B.TextStyle_sQR = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView displaySmall", null, null, null, null);
    B.TextStyle_CNV = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView headlineLarge", null, null, null, null);
    B.TextStyle_oyn = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView headlineMedium", null, null, null, null);
    B.TextStyle_bdS = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView headlineSmall", null, null, null, null);
    B.TextStyle_yzz = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView titleLarge", null, null, null, null);
    B.TextStyle_KBt = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView titleMedium", null, null, null, null);
    B.TextStyle_Tji = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView titleSmall", null, null, null, null);
    B.TextStyle_o0M = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView bodyLarge", null, null, null, null);
    B.TextStyle_Aqf = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView bodyMedium", null, null, null, null);
    B.TextStyle_u8k = new A.TextStyle(true, B.Color_3019898879, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView bodySmall", null, null, null, null);
    B.TextStyle_omk = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView labelLarge", null, null, null, null);
    B.TextStyle_nFb = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView labelMedium", null, null, null, null);
    B.TextStyle_goM = new A.TextStyle(true, B.Color_4294967295, null, "Roboto", null, null, null, null, null, null, null, null, null, null, null, null, null, B.TextDecoration_0, null, null, null, "whiteMountainView labelSmall", null, null, null, null);
    B.TextTheme_yTp = new A.TextTheme(B.TextStyle_cdS, B.TextStyle_yGZ, B.TextStyle_sQR, B.TextStyle_CNV, B.TextStyle_oyn, B.TextStyle_bdS, B.TextStyle_yzz, B.TextStyle_KBt, B.TextStyle_Tji, B.TextStyle_o0M, B.TextStyle_Aqf, B.TextStyle_u8k, B.TextStyle_omk, B.TextStyle_nFb, B.TextStyle_goM);
    B.TextWidthBasis_1 = new A.TextWidthBasis(1, "longestLine");
    B.Text_03O = new A.Text("Details", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_0eF = new A.Text("Show call graph", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_1kE = new A.Text("Review History", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_3bx = new A.Text("Copy as cURL", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_4AN = new A.Text("Copy as URL", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_4YG = new A.Text("What's new in DevTools?", null, null, null, null, null, null, null, null, null, null, null);
    B.TextStyle_cMb = new A.TextStyle(true, B.Color_4278190080, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.Text_69P = new A.Text("Main isolate is paused in the debugger", null, B.TextStyle_cMb, null, null, null, null, null, null, null, null, null);
    B.Text_6Pi = new A.Text("UI phases:", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_9k0 = new A.Text("Console", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_AGi = new A.Text(" to begin monitoring changes in memory instances (classes constructed).", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_AKg = new A.Text("Hide Classes with No Instances", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_C9n = new A.Text("Use dense mode", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_DSD = new A.Text("null", null, B.TextStyle_1qL, null, null, null, null, null, null, null, null, null);
    B.Text_F4Q = new A.Text("To track allocations for a class, enable the checkbox for that class in the table above.", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_IIf = new A.Text("No thanks.", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_JFX = new A.Text("Call Stack", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_K7U = new A.Text("Show private properties inherited from SDKs/packages", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_LRl = new A.Text("Treemap", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_NqF = new A.Text(">", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_Okq = new A.Text("Stay tuned for updates.", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_RkP = new A.Text("Hide Library with No Instances", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_TLI = new A.Text("CPU profiler is disabled.", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_Tz1 = new A.Text("Analysis results:", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_UWX = new A.Text(": ", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_WPx = new A.Text("Expand All", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_Wzb = new A.Text(" ", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_bFE = new A.Text("Enable VM developer mode", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_cGl = new A.Text("APPLY", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_eus = new A.Text("Collapse All", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_f1j = new A.Text("Click the track button ", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_g8A = new A.Text("Enable profiler", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_gg4 = new A.Text("After interacting with your app, come back to this tool and click the track button ", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_gix = new A.Text("CLOSE", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_iml = new A.Text("Connect", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_nxd = new A.Text("Connect to a new app", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_q3P = new A.Text("Use a dark theme", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_qRH = new A.Text("Raster phase:", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_qrL = new A.Text("Click a leaf node instance of a class to\ninspect the fields of that instance e.g.,", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_s4B = new A.Text("Open app size tool", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_sdc = new A.Text("Breakpoints", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_wIv = new A.Text("CANCEL", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_yuU = new A.Text("Enable analytics", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_zPV = new A.Text("to view the collected stack traces of constructor calls.", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_zpi = new A.Text("Click the record button ", null, null, null, null, null, null, null, null, null, null, null);
    B.Text_zyl = new A.Text("Sounds good!", null, null, null, null, null, null, null, null, null, null, null);
    B.ThemeMode_0 = new A.ThemeMode(0, "system");
    B.Color_4294507002 = new A.Color(4294507002);
    B.ThemedColor_Color_4294507002_Color_4280295716 = new A.ThemedColor(B.Color_4294507002, B.Color_4280295716);
    B.ThemedColor_Color_4285031635_Color_4287794937 = new A.ThemedColor(B.Color_4285031635, B.Color_4287794937);
    B.ThemedColorPair_6TA = new A.ThemedColorPair(B.ThemedColor_Color_4294507002_Color_4280295716, B.ThemedColor_Color_4285031635_Color_4287794937);
    B.ThemedColor_Color_4280116380_Color_4285040631 = new A.ThemedColor(B.Color_4280116380, B.Color_4285040631);
    B.ThemedColorPair_O9m = new A.ThemedColorPair(B.ThemedColor_Color_4294507002_Color_4280295716, B.ThemedColor_Color_4280116380_Color_4285040631);
    B.ThemedColor_Color_4278221699_Color_4285707974 = new A.ThemedColor(B.Color_4278221699, B.Color_4285707974);
    B.ThemedColorPair_YM6 = new A.ThemedColorPair(B.ThemedColor_Color_4294507002_Color_4280295716, B.ThemedColor_Color_4278221699_Color_4285707974);
    B.ThemedColor_Color_4280295716_Color_4280295716 = new A.ThemedColor(B.Color_4280295716, B.Color_4280295716);
    B.ThemedColor_Color_4294605591_Color_4294749552 = new A.ThemedColor(B.Color_4294605591, B.Color_4294749552);
    B.ThemedColorPair_iEE = new A.ThemedColorPair(B.ThemedColor_Color_4280295716_Color_4280295716, B.ThemedColor_Color_4294605591_Color_4294749552);
    B.ThemedImageIcon_2nU = new A.ThemedImageIcon("icons/images-dgrey.png", "icons/images-lgrey.png", null);
    B.ThemedImageIcon_4GZ = new A.ThemedImageIcon("icons/performance-white.png", "icons/performance-dgrey.png", null);
    B.ThemedImageIcon_4QF = new A.ThemedImageIcon("icons/guidelines-white.png", "icons/guidelines-dgrey.png", null);
    B.ThemedImageIcon_8mS = new A.ThemedImageIcon("icons/slow-white.png", "icons/slow-dgrey.png", null);
    B.ThemedImageIcon_GZj = new A.ThemedImageIcon("icons/baselines-white.png", "icons/baselines-dgrey.png", null);
    B.ThemedImageIcon_Gxg = new A.ThemedImageIcon("icons/repaints-white.png", "icons/repaints-dgrey.png", null);
    B.ThemedImageIcon_IMP = new A.ThemedImageIcon("icons/guidelines-dgrey.png", "icons/guidelines-lgrey.png", null);
    B.ThemedImageIcon_IYE = new A.ThemedImageIcon("icons/widget-select-white.png", "icons/widget-select-dgrey.png", null);
    B.ThemedImageIcon_Mo2 = new A.ThemedImageIcon("icons/trackwidget-dgrey.png", "icons/trackwidget-lgrey.png", null);
    B.ThemedImageIcon_RWS = new A.ThemedImageIcon("icons/memory/reset_icon_black.png", "icons/memory/reset_icon_white.png", null);
    B.ThemedImageIcon_VUC = new A.ThemedImageIcon("icons/trackwidget-white.png", "icons/trackwidget-dgrey.png", null);
    B.ThemedImageIcon_W7E = new A.ThemedImageIcon("icons/slow-dgrey.png", "icons/slow-lgrey.png", null);
    B.ThemedImageIcon_aXU = new A.ThemedImageIcon("icons/performance-dgrey.png", "icons/performance-lgrey.png", null);
    B.ThemedImageIcon_en0 = new A.ThemedImageIcon("icons/images-white.png", "icons/images-dgrey.png", null);
    B.ThemedImageIcon_gg4 = new A.ThemedImageIcon("icons/widget-select-dgrey.png", "icons/widget-select-lgrey.png", null);
    B.ThemedImageIcon_kid = new A.ThemedImageIcon("icons/repaints-dgrey.png", "icons/repaints-lgrey.png", null);
    B.ThemedImageIcon_ouN = new A.ThemedImageIcon("icons/memory/communities_black.png", "icons/memory/communities_white.png", null);
    B.ThemedImageIcon_wIq = new A.ThemedImageIcon("icons/baselines-dgrey.png", "icons/baselines-lgrey.png", null);
    B.Threshold_0 = new A.Threshold(0);
    B.Threshold_znv = new A.Threshold(0.5);
    B.TickerCanceled_null = new A.TickerCanceled(null);
    B.TileMode_0 = new A.TileMode(0, "clamp");
    B.TileMode_1 = new A.TileMode(1, "repeated");
    B.TileMode_3 = new A.TileMode(3, "decal");
    B.TimePickerThemeData_10O = new A.TimePickerThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.ToggleButtonsThemeData_UsI = new A.ToggleButtonsThemeData(null, null, null, null, null, null, null, null, null, null, null, null, null, null, null);
    B.Tolerance_Gdw = new A.Tolerance(0.001, 0.001);
    B.Tolerance_qbZ = new A.Tolerance(0.01, 1 / 0);
    B.ToolbarOptions_true_true_true_true = new A.ToolbarOptions(true, true, true, true);
    B.TooltipThemeData_OTV = new A.TooltipThemeData(null, null, null, null, null, null, null, null, null);
    B.TooltipTriggerMode_1 = new A.TooltipTriggerMode(1, "longPress");
    B.TooltipTriggerMode_2 = new A.TooltipTriggerMode(2, "tap");
    B.TrackWidgetBuildsSetting_null = new A.TrackWidgetBuildsSetting(null);
    B.TransformKind_0 = new A.TransformKind(0, "identity");
    B.TransformKind_1 = new A.TransformKind(1, "transform2d");
    B.TransformKind_2 = new A.TransformKind(2, "complex");
    B.TraversalDirection_3 = new A.TraversalDirection(3, "left");
    B.TreemapFormat_0 = new A.TreemapFormat(0, "collapsed");
    B.TreemapFormat_1 = new A.TreemapFormat(1, "simplified");
    B.TreemapFormat_2 = new A.TreemapFormat(2, "dataAndCode");
    B.TreemapFormat_3 = new A.TreemapFormat(3, "objectType");
    B.Type_0Jp0 = A.typeLiteral("ExtendSelectionToDocumentBoundaryIntent");
    B.Type_0Jp = A.typeLiteral("ExtendSelectionToNextWordBoundaryIntent");
    B.Type_23B = A.typeLiteral("ExtendSelectionToLineBreakIntent");
    B.Type_3dk = A.typeLiteral("ExtendSelectionByCharacterIntent");
    B.Type_46c = A.typeLiteral("ScrollToDocumentBoundaryIntent");
    B.Type_8sC = A.typeLiteral("InspectorPreferencesController");
    B.Type_ActivateIntent_OT9 = A.typeLiteral("ActivateIntent");
    B.Type_ButtonActivateIntent_6Ij = A.typeLiteral("ButtonActivateIntent");
    B.Type_ByteBuffer_RkP = A.typeLiteral("ByteBuffer");
    B.Type_ByteData_zNC = A.typeLiteral("ByteData");
    B.Type_ClassRef_GDB = A.typeLiteral("ClassRef");
    B.Type_Class_gFs = A.typeLiteral("Class");
    B.Type_Color_MG2 = A.typeLiteral("Color");
    B.Type_CopySelectionTextIntent_T5o = A.typeLiteral("CopySelectionTextIntent");
    B.Type_DeleteCharacterIntent_NYh = A.typeLiteral("DeleteCharacterIntent");
    B.Type_DeleteToLineBreakIntent_MEg = A.typeLiteral("DeleteToLineBreakIntent");
    B.Type_DevToolsExtensionPoints_RWS = A.typeLiteral("DevToolsExtensionPoints");
    B.Type_DirectionalFocusIntent_evN = A.typeLiteral("DirectionalFocusIntent");
    B.Type_DismissIntent_Fb0 = A.typeLiteral("DismissIntent");
    B.Type_DoNothingIntent_IQR = A.typeLiteral("DoNothingIntent");
    B.Type_DoubleTapGestureRecognizer_oyU = A.typeLiteral("DoubleTapGestureRecognizer");
    B.Type_Error_9Cx = A.typeLiteral("Error");
    B.Type_EscapeIntent_2GA = A.typeLiteral("EscapeIntent");
    B.Type_FieldRef_YUI = A.typeLiteral("FieldRef");
    B.Type_Field_BKu = A.typeLiteral("Field");
    B.Type_Float32List_LB7 = A.typeLiteral("Float32List");
    B.Type_Float32x4List_0ez = A.typeLiteral("Float32x4List");
    B.Type_Float64List_LB7 = A.typeLiteral("Float64List");
    B.Type_Float64x2List_0ez = A.typeLiteral("Float64x2List");
    B.Type_ForcePressGestureRecognizer_TN2 = A.typeLiteral("ForcePressGestureRecognizer");
    B.Type_FrameworkController_QHx = A.typeLiteral("FrameworkController");
    B.Type_FuncRef_ibp = A.typeLiteral("FuncRef");
    B.Type_Func_2Gp = A.typeLiteral("Func");
    B.Type_GoToLineNumberIntent_RkP = A.typeLiteral("GoToLineNumberIntent");
    B.Type_HeapSnapshotObjectLengthData_CLo = A.typeLiteral("HeapSnapshotObjectLengthData");
    B.Type_HeapSnapshotObjectNoData_a9w = A.typeLiteral("HeapSnapshotObjectNoData");
    B.Type_HeapSnapshotObjectNullData_Grj = A.typeLiteral("HeapSnapshotObjectNullData");
    B.Type_I8o = A.typeLiteral("PlaceholderSpanIndexSemanticsTag");
    B.Type_IdeTheme_NnV = A.typeLiteral("IdeTheme");
    B.Type_Int16List_uXf = A.typeLiteral("Int16List");
    B.Type_Int32List_O50 = A.typeLiteral("Int32List");
    B.Type_Int32x4List_pCi = A.typeLiteral("Int32x4List");
    B.Type_Int8List_ekJ = A.typeLiteral("Int8List");
    B.Type_JSObject_8k0 = A.typeLiteral("JSObject");
    B.Type_LabeledGlobalKey_6TW = A.typeLiteral("LabeledGlobalKey<State<StatefulWidget>>");
    B.Type_LibraryClass_qph = A.typeLiteral("LibraryClass");
    B.Type_LibraryRef_Jue = A.typeLiteral("LibraryRef");
    B.Type_Library_kaI = A.typeLiteral("Library");
    B.Type_LongPressGestureRecognizer_46y = A.typeLiteral("LongPressGestureRecognizer");
    B.Type_MarkdownStyleSheet_Auo = A.typeLiteral("MarkdownStyleSheet");
    B.Type_MaterialLocalizations_flR = A.typeLiteral("MaterialLocalizations");
    B.Type_MessageBus_MAi = A.typeLiteral("MessageBus");
    B.Type_NextFocusIntent_6xB = A.typeLiteral("NextFocusIntent");
    B.Type_Null_Yyn = A.typeLiteral("Null");
    B.Type_Object_xQ6 = A.typeLiteral("Object");
    B.Type_OfflineModeController_ECL = A.typeLiteral("OfflineModeController");
    B.Type_OpenFileIntent_6Vn = A.typeLiteral("OpenFileIntent");
    B.Type_PanGestureRecognizer_bbH = A.typeLiteral("PanGestureRecognizer");
    B.Type_PasteTextIntent_i6t = A.typeLiteral("PasteTextIntent");
    B.Type_PreferencesController_1KB = A.typeLiteral("PreferencesController");
    B.Type_PreviousFocusIntent_wsa = A.typeLiteral("PreviousFocusIntent");
    B.Type_PrioritizedIntents_fLu = A.typeLiteral("PrioritizedIntents");
    B.Type_RPCError_Tnu = A.typeLiteral("RPCError");
    B.Type_RedoTextIntent_yzJ = A.typeLiteral("RedoTextIntent");
    B.Type_ReplaceTextIntent_S40 = A.typeLiteral("ReplaceTextIntent");
    B.Type_RequestFocusIntent_OPB = A.typeLiteral("RequestFocusIntent");
    B.Type_ScriptManager_AHF = A.typeLiteral("ScriptManager");
    B.Type_ScriptRef_ww8 = A.typeLiteral("ScriptRef");
    B.Type_Script_MvE = A.typeLiteral("Script");
    B.Type_ScrollIntent_mpH = A.typeLiteral("ScrollIntent");
    B.Type_SearchInFileIntent_K4v = A.typeLiteral("SearchInFileIntent");
    B.Type_SelectAllTextIntent_5TD = A.typeLiteral("SelectAllTextIntent");
    B.Type_ServiceConnectionManager_qdG = A.typeLiteral("ServiceConnectionManager");
    B.Type_ShapeBorderClipper_QWG = A.typeLiteral("ShapeBorderClipper");
    B.Type_Shortcuts_6TW = A.typeLiteral("Shortcuts");
    B.Type_Storage_uL6 = A.typeLiteral("Storage0");
    B.Type_String_k8F = A.typeLiteral("String");
    B.Type_SurveyService_bLu = A.typeLiteral("SurveyService");
    B.Type_TapGestureRecognizer_62h = A.typeLiteral("TapGestureRecognizer");
    B.Type_TransposeCharactersIntent_a66 = A.typeLiteral("TransposeCharactersIntent");
    B.Type_TypeArguments_wH3 = A.typeLiteral("TypeArguments");
    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.Type_UndoTextIntent_yzJ = A.typeLiteral("UndoTextIntent");
    B.Type_UpdateSelectionIntent_RH1 = A.typeLiteral("UpdateSelectionIntent");
    B.Type_VoidCallbackIntent_sEX = A.typeLiteral("VoidCallbackIntent");
    B.Type_Vq1 = A.typeLiteral("HorizontalDragGestureRecognizer");
    B.Type_WidgetsLocalizations_43h = A.typeLiteral("WidgetsLocalizations");
    B.Type__AnyTapGestureRecognizer_5RQ = A.typeLiteral("_AnyTapGestureRecognizer");
    B.Type__ModalScopeState_Yap = A.typeLiteral("_ModalScopeState<@>");
    B.Type__ThumbPressGestureRecognizer_KUi = A.typeLiteral("_ThumbPressGestureRecognizer");
    B.Type__TrackTapGestureRecognizer_LjJ = A.typeLiteral("_TrackTapGestureRecognizer");
    B.Type_bool_lhE = A.typeLiteral("bool");
    B.Type_double_K1J = A.typeLiteral("double");
    B.Type_ejq = A.typeLiteral("ExtendSelectionVerticallyToAdjacentLineIntent");
    B.Type_int_tHn = A.typeLiteral("int");
    B.Type_kr3 = A.typeLiteral("ExpandSelectionToDocumentBoundaryIntent");
    B.Type_mLh = A.typeLiteral("VerticalDragGestureRecognizer");
    B.Type_muk = A.typeLiteral("DoNothingAndStopPropagationTextIntent");
    B.Type_mya = A.typeLiteral("ExtendSelectionToNextWordBoundaryOrCaretLocationIntent");
    B.Type_num_cv7 = A.typeLiteral("num");
    B.Type_oyU = A.typeLiteral("ExpandSelectionToLineBreakIntent");
    B.Type_s8I = A.typeLiteral("DoNothingAndStopPropagationIntent");
    B.Type_wu8 = A.typeLiteral("DeleteToNextWordBoundaryIntent");
    B.UnderlineInputBorder_aRc = new A.UnderlineInputBorder(B.BorderRadius_tLn1, B.BorderSide_hrQ);
    B.UnfocusDisposition_0 = new A.UnfocusDisposition(0, "scope");
    B.UnfocusDisposition_1 = new A.UnfocusDisposition(1, "previouslyFocusedChild");
    B.UnicodeRange_11264_55297_TextDirection_1 = new A.UnicodeRange(11264, 55297, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_1425_1775_TextDirection_0 = new A.UnicodeRange(1425, 1775, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_1786_2303_TextDirection_0 = new A.UnicodeRange(1786, 2303, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_192_214_TextDirection_1 = new A.UnicodeRange(192, 214, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_216_246_TextDirection_1 = new A.UnicodeRange(216, 246, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_2304_8191_TextDirection_1 = new A.UnicodeRange(2304, 8191, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_248_696_TextDirection_1 = new A.UnicodeRange(248, 696, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_55298_55299_TextDirection_0 = new A.UnicodeRange(55298, 55299, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_55300_55353_TextDirection_1 = new A.UnicodeRange(55300, 55353, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_55354_55355_TextDirection_0 = new A.UnicodeRange(55354, 55355, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_55356_56319_TextDirection_1 = new A.UnicodeRange(55356, 56319, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_63744_64284_TextDirection_1 = new A.UnicodeRange(63744, 64284, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_64285_65023_TextDirection_0 = new A.UnicodeRange(64285, 65023, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_65024_65135_TextDirection_1 = new A.UnicodeRange(65024, 65135, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_65136_65276_TextDirection_0 = new A.UnicodeRange(65136, 65276, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_65277_65535_TextDirection_1 = new A.UnicodeRange(65277, 65535, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_65_90_TextDirection_1 = new A.UnicodeRange(65, 90, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_768_1424_TextDirection_1 = new A.UnicodeRange(768, 1424, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_8206_8206_TextDirection_1 = new A.UnicodeRange(8206, 8206, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_8207_8207_TextDirection_0 = new A.UnicodeRange(8207, 8207, B.TextDirection_0, type$.UnicodeRange_TextDirection);
    B.UnicodeRange_97_122_TextDirection_1 = new A.UnicodeRange(97, 122, B.TextDirection_1, type$.UnicodeRange_TextDirection);
    B.Utf8Codec_false = new A.Utf8Codec(false);
    B.Utf8Decoder_false = new A.Utf8Decoder(false);
    B.Utf8Decoder_true = new A.Utf8Decoder(true);
    B.VMDeveloperToolsScreenBody_null = new A.VMDeveloperToolsScreenBody(null);
    B.IconData_57803_MaterialIcons_false = new A.IconData(57803, "MaterialIcons", false);
    B.VMStatisticsView_iDF = new A.VMStatisticsView("VM", B.IconData_57803_MaterialIcons_false);
    B.ValueKey_22h = new A.ValueKey("Recording Instructions", type$.ValueKey_String);
    B.ValueKey_2bx = new A.ValueKey("not-found", type$.ValueKey_String);
    B.ValueKey_2ec = new A.ValueKey("Empty Timeline", type$.ValueKey_String);
    B.ValueKey_4CA = new A.ValueKey("ProfileGranularityDropdown DropdownButton", type$.ValueKey_String);
    B.ValueKey_4Kc = new A.ValueKey("debuggerCodeViewVerticalScrollbarKey", type$.ValueKey_String);
    B.ValueKey_6ch = new A.ValueKey("CallGraphView - To table", type$.ValueKey_String);
    B.ValueKey_6y6 = new A.ValueKey("flutter frames chart - selected frame indicator", type$.ValueKey_String);
    B.ValueKey_8eb = new A.ValueKey("CallGraphView - From table", type$.ValueKey_String);
    B.ValueKey_8xL = new A.ValueKey("Request Cookies", type$.ValueKey_String);
    B.ValueKey_A2Y = new A.ValueKey("Request Headers", type$.ValueKey_String);
    B.ValueKey_AKA = new A.ValueKey("Socket Timing Graph Key", type$.ValueKey_String);
    B.ValueKey_Ak1 = new A.ValueKey("DominatorTree - table", type$.ValueKey_String);
    B.ValueKey_BKg = new A.ValueKey("cpu profile bottom up tab", type$.ValueKey_String);
    B.ValueKey_CJJ = new A.ValueKey("No Request Selected", type$.ValueKey_String);
    B.ValueKey_CrossFadeState_0 = new A.ValueKey(B.CrossFadeState_0, type$.ValueKey_CrossFadeState);
    B.ValueKey_CrossFadeState_1 = new A.ValueKey(B.CrossFadeState_1, type$.ValueKey_CrossFadeState);
    B.ValueKey_G79 = new A.ValueKey("Full-width Scaffold", type$.ValueKey_String);
    B.ValueKey_GRu = new A.ValueKey("Response Cookies", type$.ValueKey_String);
    B.ValueKey_General = new A.ValueKey("General", type$.ValueKey_String);
    B.ValueKey_I2O = new A.ValueKey("Group By Menu Button", type$.ValueKey_String);
    B.ValueKey_I3N = new A.ValueKey("Flutter frames chart legend", type$.ValueKey_String);
    B.ValueKey_IWk = new A.ValueKey("Recording Status", type$.ValueKey_String);
    B.ValueKey_Ia3 = new A.ValueKey("Diff Tree Type Dropdown", type$.ValueKey_String);
    B.ValueKey_JQR = new A.ValueKey("Http Timing Graph Key", type$.ValueKey_String);
    B.ValueKey_M88 = new A.ValueKey("Analysis Tab", type$.ValueKey_String);
    B.ValueKey_OO7 = new A.ValueKey("cpu profile summary tab", type$.ValueKey_String);
    B.ValueKey_OhV = new A.ValueKey("exit offline button", type$.ValueKey_String);
    B.ValueKey_QSK = new A.ValueKey("Response Headers", type$.ValueKey_String);
    B.ValueKey_Sources = new A.ValueKey("Sources", type$.ValueKey_String);
    B.ValueKey_TGU = new A.ValueKey("debugger_console_copy_to_clipboard_button", type$.ValueKey_String);
    B.ValueKey_U43 = new A.ValueKey("console-scrollbar", type$.ValueKey_String);
    B.ValueKey_U8E = new A.ValueKey("debugger_console_clear_stdio_button", type$.ValueKey_String);
    B.ValueKey_YAS = new A.ValueKey("Snapshot Filter", type$.ValueKey_String);
    B.ValueKey_appsize = new A.ValueKey("appsize", type$.ValueKey_String);
    B.ValueKey_cJC = new A.ValueKey("debuggerCodeViewHorizontalScrollbarKey", type$.ValueKey_String);
    B.ValueKey_cMb = new A.ValueKey("Diff View Treemap", type$.ValueKey_String);
    B.ValueKey_dismissible = new A.ValueKey("dismissible", type$.ValueKey_String);
    B.ValueKey_e0h0 = new A.ValueKey("Dart Heap Allocations Tab", type$.ValueKey_String);
    B.ValueKey_e0h = new A.ValueKey("Diff Tab", type$.ValueKey_String);
    B.ValueKey_ebu = new A.ValueKey("log_details_copy_to_clipboard_button", type$.ValueKey_String);
    B.ValueKey_ibz = new A.ValueKey("Table header", type$.ValueKey_String);
    B.ValueKey_jvN = new A.ValueKey("Details Tree", type$.ValueKey_String);
    B.ValueKey_kUZ = new A.ValueKey("Narrow Scaffold", type$.ValueKey_String);
    B.ValueKey_landing = new A.ValueKey("landing", type$.ValueKey_String);
    B.ValueKey_mDl = new A.ValueKey("Summary Tree", type$.ValueKey_String);
    B.ValueKey_oVV = new A.ValueKey("Leaks Tab", type$.ValueKey_String);
    B.ValueKey_ojS = new A.ValueKey("cpu profile flame chart tab", type$.ValueKey_String);
    B.ValueKey_pEq = new A.ValueKey("Sources Dropdown", type$.ValueKey_String);
    B.ValueKey_qpY = new A.ValueKey("Dart Heap Analysis Tab", type$.ValueKey_String);
    B.ValueKey_qtp = new A.ValueKey("Group By", type$.ValueKey_String);
    B.ValueKey_rNu = new A.ValueKey("debugger_call_stack_copy_to_clipboard_button", type$.ValueKey_String);
    B.ValueKey_xwz = new A.ValueKey("Analysis View Treemap", type$.ValueKey_String);
    B.ValueKey_yHZ = new A.ValueKey("cpu profile call tree tab", type$.ValueKey_String);
    B.ValueKey_yx3 = new A.ValueKey("Group By Menu Item", type$.ValueKey_String);
    B.VelocityEstimate_MMm = new A.VelocityEstimate(B.Offset_0_0, 0, B.Duration_0, B.Offset_0_0);
    B.VerticalDivider_null = new A.VerticalDivider(null);
    B.VisualDensity_0_0 = new A.VisualDensity(0, 0);
    B.VisualDensity_m2_m2 = new A.VisualDensity(-2, -2);
    B._SmallEnhanceTracingButton_null = new A._SmallEnhanceTracingButton(null);
    B.Padding_R07 = new A.Padding(B.EdgeInsets_8_0_8_0, B._SmallEnhanceTracingButton_null, null);
    B.PlaceholderAlignment_5 = new A.PlaceholderAlignment(5, "middle");
    B.WidgetSpan_1Oc = new A.WidgetSpan(B.Padding_R07, B.PlaceholderAlignment_5, null, null);
    B.WidgetTheme_null_Color_4279150560 = new A.WidgetTheme(null, B.Color_4279150560);
    B.WrapAlignment_0 = new A.WrapAlignment(0, "start");
    B.WrapCrossAlignment_0 = new A.WrapCrossAlignment(0, "start");
    B.WrapCrossAlignment_2 = new A.WrapCrossAlignment(2, "center");
    B._AnimationDirection_0 = new A._AnimationDirection(0, "forward");
    B._AnimationDirection_1 = new A._AnimationDirection(1, "reverse");
    B._CheckableKind_0 = new A._CheckableKind(0, "checkbox");
    B._CheckableKind_1 = new A._CheckableKind(1, "radio");
    B._CheckableKind_2 = new A._CheckableKind(2, "toggle");
    B._ColumnGroupSpacer_null = new A._ColumnGroupSpacer(null);
    B._ComparisonResult_0 = new A._ComparisonResult(0, "inside");
    B._ComparisonResult_1 = new A._ComparisonResult(1, "higher");
    B._ComparisonResult_2 = new A._ComparisonResult(2, "lower");
    B.Color_67108864 = new A.Color(67108864);
    B.List_Color_67108864_Color_0 = A._setArrayType(makeConstList([B.Color_67108864, B.Color_0]), type$.JSArray_Color);
    B._CupertinoEdgeShadowDecoration_0m8 = new A._CupertinoEdgeShadowDecoration(B.List_Color_67108864_Color_0);
    B._CupertinoEdgeShadowDecoration_null = new A._CupertinoEdgeShadowDecoration(null);
    B._DragState_0 = new A._DragState(0, "ready");
    B._DragState_1 = new A._DragState(1, "possible");
    B._DragState_2 = new A._DragState(2, "accepted");
    B._ElementLifecycle_0 = new A._ElementLifecycle(0, "initial");
    B._ElementLifecycle_1 = new A._ElementLifecycle(1, "active");
    B._ElementLifecycle_2 = new A._ElementLifecycle(2, "inactive");
    B._ElementLifecycle_3 = new A._ElementLifecycle(3, "defunct");
    B._EnabledAndDisabledMouseCursor_SystemMouseCursor_click_clickable = new A._EnabledAndDisabledMouseCursor(B.SystemMouseCursor_click, "clickable");
    B._EnabledAndDisabledMouseCursor_SystemMouseCursor_text_textable = new A._EnabledAndDisabledMouseCursor(B.SystemMouseCursor_text, "textable");
    B._FindBreakDirection_1 = new A._FindBreakDirection(1);
    B._FindBreakDirection_m1 = new A._FindBreakDirection(-1);
    B._FlingGestureKind_0 = new A._FlingGestureKind(0, "none");
    B._FlingGestureKind_1 = new A._FlingGestureKind(1, "forward");
    B._FlingGestureKind_2 = new A._FlingGestureKind(2, "reverse");
    B._FloatingActionButtonType_1 = new A._FloatingActionButtonType(1, "small");
    B._FloatingActionButtonType_2 = new A._FloatingActionButtonType(2, "large");
    B._FloatingActionButtonType_3 = new A._FloatingActionButtonType(3, "extended");
    B._ForceState_0 = new A._ForceState(0, "ready");
    B._ForceState_1 = new A._ForceState(1, "possible");
    B._ForceState_2 = new A._ForceState(2, "accepted");
    B._ForceState_3 = new A._ForceState(3, "started");
    B._ForceState_4 = new A._ForceState(4, "peaked");
    B._GlowState_0 = new A._GlowState(0, "idle");
    B._GlowState_1 = new A._GlowState(1, "absorb");
    B._GlowState_2 = new A._GlowState(2, "pull");
    B._GlowState_3 = new A._GlowState(3, "recede");
    B._HighlightType_0 = new A._HighlightType(0, "pressed");
    B._HighlightType_1 = new A._HighlightType(1, "hover");
    B._HighlightType_2 = new A._HighlightType(2, "focus");
    B._InspectorBreadcrumbData_iHf = new A._InspectorBreadcrumbData(null, null, "\u2026", false);
    B._InspectorBreadcrumbData_yXb = new A._InspectorBreadcrumbData(null, B.IconData_57695_MaterialIcons_true, null, false);
    B._IntrinsicDimension_0 = new A._IntrinsicDimension(0, "minWidth");
    B._IntrinsicDimension_1 = new A._IntrinsicDimension(1, "maxWidth");
    B._IntrinsicDimension_2 = new A._IntrinsicDimension(2, "minHeight");
    B._IntrinsicDimension_3 = new A._IntrinsicDimension(3, "maxHeight");
    B._IterationMarker_null_2 = new A._IterationMarker(null, 2);
    B._MixedEdgeInsets_QWq = new A._MixedEdgeInsets(1 / 0, 1 / 0, 1 / 0, 1 / 0, 1 / 0, 1 / 0);
    B._ModifierSidePair_ModifierKey_0_KeyboardSide_0 = new A._ModifierSidePair(B.ModifierKey_0, B.KeyboardSide_0);
    B.KeyboardSide_1 = new A.KeyboardSide(1, "left");
    B._ModifierSidePair_ModifierKey_0_KeyboardSide_1 = new A._ModifierSidePair(B.ModifierKey_0, B.KeyboardSide_1);
    B.KeyboardSide_2 = new A.KeyboardSide(2, "right");
    B._ModifierSidePair_ModifierKey_0_KeyboardSide_2 = new A._ModifierSidePair(B.ModifierKey_0, B.KeyboardSide_2);
    B._ModifierSidePair_ModifierKey_0_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_0, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_1_KeyboardSide_0 = new A._ModifierSidePair(B.ModifierKey_1, B.KeyboardSide_0);
    B._ModifierSidePair_ModifierKey_1_KeyboardSide_1 = new A._ModifierSidePair(B.ModifierKey_1, B.KeyboardSide_1);
    B._ModifierSidePair_ModifierKey_1_KeyboardSide_2 = new A._ModifierSidePair(B.ModifierKey_1, B.KeyboardSide_2);
    B._ModifierSidePair_ModifierKey_1_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_1, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_2_KeyboardSide_0 = new A._ModifierSidePair(B.ModifierKey_2, B.KeyboardSide_0);
    B._ModifierSidePair_ModifierKey_2_KeyboardSide_1 = new A._ModifierSidePair(B.ModifierKey_2, B.KeyboardSide_1);
    B._ModifierSidePair_ModifierKey_2_KeyboardSide_2 = new A._ModifierSidePair(B.ModifierKey_2, B.KeyboardSide_2);
    B._ModifierSidePair_ModifierKey_2_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_2, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_3_KeyboardSide_0 = new A._ModifierSidePair(B.ModifierKey_3, B.KeyboardSide_0);
    B._ModifierSidePair_ModifierKey_3_KeyboardSide_1 = new A._ModifierSidePair(B.ModifierKey_3, B.KeyboardSide_1);
    B._ModifierSidePair_ModifierKey_3_KeyboardSide_2 = new A._ModifierSidePair(B.ModifierKey_3, B.KeyboardSide_2);
    B._ModifierSidePair_ModifierKey_3_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_3, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_4_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_4, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_5_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_5, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_6_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_6, B.KeyboardSide_3);
    B._ModifierSidePair_ModifierKey_7_KeyboardSide_3 = new A._ModifierSidePair(B.ModifierKey_7, B.KeyboardSide_3);
    B._NoInputBorder_Kz0 = new A._NoInputBorder(B.BorderSide_aLd);
    B._NullWidget_null1 = new A._NullWidget(null);
    B._NullWidget_null0 = new A._NullWidget0(null);
    B._NullWidget_null = new A._NullWidget2(null);
    B._ParagraphCommandType_0 = new A._ParagraphCommandType(0, "addText");
    B._ParagraphCommandType_2 = new A._ParagraphCommandType(2, "pushStyle");
    B._ParagraphCommandType_3 = new A._ParagraphCommandType(3, "addPlaceholder");
    B._ParagraphCommandType_1 = new A._ParagraphCommandType(1, "pop");
    B._ParagraphCommand_6TA = new A._ParagraphCommand(B._ParagraphCommandType_1, null, null, null);
    B._RouteLifecycle_0 = new A._RouteLifecycle(0, "staging");
    B._RouteLifecycle_1 = new A._RouteLifecycle(1, "add");
    B._RouteLifecycle_10 = new A._RouteLifecycle(10, "remove");
    B._RouteLifecycle_11 = new A._RouteLifecycle(11, "popping");
    B._RouteLifecycle_12 = new A._RouteLifecycle(12, "removing");
    B._RouteLifecycle_13 = new A._RouteLifecycle(13, "dispose");
    B._RouteLifecycle_14 = new A._RouteLifecycle(14, "disposed");
    B._RouteLifecycle_2 = new A._RouteLifecycle(2, "adding");
    B._RouteLifecycle_3 = new A._RouteLifecycle(3, "push");
    B._RouteLifecycle_4 = new A._RouteLifecycle(4, "pushReplace");
    B._RouteLifecycle_5 = new A._RouteLifecycle(5, "pushing");
    B._RouteLifecycle_6 = new A._RouteLifecycle(6, "replace");
    B._RouteLifecycle_7 = new A._RouteLifecycle(7, "idle");
    B._RouteLifecycle_8 = new A._RouteLifecycle(8, "pop");
    B._RouteLifecycle_9 = new A._RouteLifecycle(9, "complete");
    B._ScaffoldSlot_0 = new A._ScaffoldSlot(0, "body");
    B._ScaffoldSlot_1 = new A._ScaffoldSlot(1, "appBar");
    B._ScaffoldSlot_10 = new A._ScaffoldSlot(10, "endDrawer");
    B._ScaffoldSlot_11 = new A._ScaffoldSlot(11, "statusBar");
    B._ScaffoldSlot_2 = new A._ScaffoldSlot(2, "bodyScrim");
    B._ScaffoldSlot_3 = new A._ScaffoldSlot(3, "bottomSheet");
    B._ScaffoldSlot_4 = new A._ScaffoldSlot(4, "snackBar");
    B._ScaffoldSlot_5 = new A._ScaffoldSlot(5, "materialBanner");
    B._ScaffoldSlot_6 = new A._ScaffoldSlot(6, "persistentFooter");
    B._ScaffoldSlot_7 = new A._ScaffoldSlot(7, "bottomNavigationBar");
    B._ScaffoldSlot_8 = new A._ScaffoldSlot(8, "floatingActionButton");
    B._ScaffoldSlot_9 = new A._ScaffoldSlot(9, "drawer");
    B._ScribblePlaceholder_IBZ = new A._ScribblePlaceholder(B.Size_0_0, B.SizedBox_null_null_null_null, B.PlaceholderAlignment_4, null, null);
    B.Size_100_0 = new A.Size(100, 0);
    B._ScribblePlaceholder_IBZ0 = new A._ScribblePlaceholder(B.Size_100_0, B.SizedBox_null_null_null_null, B.PlaceholderAlignment_4, null, null);
    B._StateLifecycle_0 = new A._StateLifecycle(0, "created");
    B._StretchState_0 = new A._StretchState(0, "idle");
    B._StretchState_1 = new A._StretchState(1, "absorb");
    B._StretchState_2 = new A._StretchState(2, "pull");
    B._StretchState_3 = new A._StretchState(3, "recede");
    B._StringStackTrace_3uE = new A._StringStackTrace("");
    B._SwitchType_0 = new A._SwitchType(0, "material");
    B._TableRowPartDisplayType_0 = new A._TableRowPartDisplayType(0, "column");
    B._TableRowPartDisplayType_1 = new A._TableRowPartDisplayType(1, "columnSpacer");
    B._TableRowType_0 = new A._TableRowType(0, "data");
    B._TableRowType_1 = new A._TableRowType(1, "columnHeader");
    B._TableRowType_2 = new A._TableRowType(2, "columnGroupHeader");
    B._TextThemeDefaultsBuilder_1yH = new A._TextThemeDefaultsBuilder(B.CupertinoDynamicColor_qQo, B.CupertinoDynamicColor_YIZ);
    B._ToolbarSlot_0 = new A._ToolbarSlot(0, "leading");
    B._ToolbarSlot_1 = new A._ToolbarSlot(1, "middle");
    B._ToolbarSlot_2 = new A._ToolbarSlot(2, "trailing");
    B._TrainHoppingMode_0 = new A._TrainHoppingMode(0, "minimize");
    B._TrainHoppingMode_1 = new A._TrainHoppingMode(1, "maximize");
    B._WordWrapParseMode_0 = new A._WordWrapParseMode(0, "inSpace");
    B._WordWrapParseMode_1 = new A._WordWrapParseMode(1, "inWord");
    B._WordWrapParseMode_2 = new A._WordWrapParseMode(2, "atBreak");
    B._ZoneFunction_3bB = new A._ZoneFunction(B.C__RootZone, A.async___rootCreatePeriodicTimer$closure(), A.findType("_ZoneFunction<Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))>"));
    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^))<Object?Object?Object?>>"));
    B._ZoneFunction_Eeh = new A._ZoneFunction(B.C__RootZone, A.async___rootRegisterUnaryCallback$closure(), A.findType("_ZoneFunction<0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?Object?>>"));
    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<Timer(Zone,ZoneDelegate,Zone,Duration,~())>"));
    B._ZoneFunction__RootZone__rootErrorCallback = new A._ZoneFunction(B.C__RootZone, A.async___rootErrorCallback$closure(), A.findType("_ZoneFunction<AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)>"));
    B._ZoneFunction__RootZone__rootFork = new A._ZoneFunction(B.C__RootZone, A.async___rootFork$closure(), A.findType("_ZoneFunction<Zone(Zone,ZoneDelegate,Zone,ZoneSpecification?,Map<Object?,Object?>?)>"));
    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^())<Object?>>"));
    B._ZoneFunction__RootZone__rootRun = new A._ZoneFunction(B.C__RootZone, A.async___rootRun$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^())<Object?>>"));
    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^)<Object?Object?Object?>>"));
    B._ZoneFunction__RootZone__rootRunUnary = new A._ZoneFunction(B.C__RootZone, A.async___rootRunUnary$closure(), A.findType("_ZoneFunction<0^(Zone,ZoneDelegate,Zone,0^(1^),1^)<Object?Object?>>"));
    B._ZoneFunction__RootZone__rootScheduleMicrotask = new A._ZoneFunction(B.C__RootZone, A.async___rootScheduleMicrotask$closure(), A.findType("_ZoneFunction<~(Zone,ZoneDelegate,Zone,~())>"));
  })();
  (function staticFields() {
    $._cachedWebGLVersion = null;
    $.__canvasKit = A._Cell$named("canvasKit");
    $._kWebDecoderExpireDuration = B.Duration_3000000;
    $._skiaFontCollection = null;
    $.skiaSceneHost = null;
    $.SkiaObjects_resurrectableObjects = A._setArrayType([], A.findType("JSArray<ManagedSkiaObject<Object>>"));
    $.SkiaObjects_cachesToResize = A._setArrayType([], A.findType("JSArray<SkiaObjectCache>"));
    $.SkiaObjects__addedCleanupCallback = false;
    $.Surface__didWarnAboutWebGlInitializationFailure = false;
    $.SurfaceFactory__instance = null;
    $._configuration = null;
    $._flutterViewEmbedder = null;
    $._fontChangeScheduled = false;
    $.frameReferences = A._setArrayType([], type$.JSArray_FrameReference_dynamic);
    $.SvgFilterBuilder__filterIdCounter = 0;
    $._clipIdCounter = 0;
    $._recycledCanvases = A._setArrayType([], A.findType("JSArray<BitmapCanvas>"));
    $.paintQueue = A._setArrayType([], type$.JSArray_PaintRequest);
    $.glRenderer = null;
    $.SurfaceSceneBuilder__webOnlyDidWarnAboutPerformanceOverlay = false;
    $.SurfaceSceneBuilder__lastFrameScene = null;
    $.VertexShaders__baseVertexShader = null;
    $.retainedSurfaces = A._setArrayType([], type$.JSArray_PersistedSurface);
    $._hotRestartListeners = A._setArrayType([], type$.JSArray_of_void_Function);
    $._initializationState = B.DebugEngineInitializationState_0;
    $._assetManager = null;
    $._fontCollection = null;
    $.Keyboard__instance = null;
    $.KeyboardBinding__instance = null;
    $.MouseCursor__instance = null;
    $.scheduleFrameCallback = null;
    $.pluginMessageCallHandler = null;
    $.PointerBinding__instance = null;
    $._WheelEventListenerMixin__defaultScrollLineHeight = null;
    $._PointerState__pointerCount = 0;
    $._frameTimings = A._setArrayType([], type$.JSArray_FrameTiming);
    $._vsyncStartMicros = -1;
    $._buildStartMicros = -1;
    $._buildFinishMicros = -1;
    $._rasterStartMicros = -1;
    $._rasterFinishMicros = -1;
    $.GlContext____programCache = A._Cell$named("_programCache");
    $.OffScreenCanvas__supported = null;
    $.AccessibilityAnnouncements__instance = null;
    $.EngineSemanticsOwner__instance = null;
    $.SemanticsTextEditingStrategy__instance = null;
    $.Spanometer__rulers = A.LinkedHashMap_LinkedHashMap$_empty(A.findType("TextHeightStyle"), A.findType("TextHeightRuler"));
    $._lineLookup = null;
    $._lastStart = -1;
    $._lastEnd = -1;
    $._lastText = "";
    $._lastCssFont = "";
    $._lastWidth = -1;
    $.formsOnTheDom = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("FormElement"));
    $._ellipseFeatureDetected = null;
    $._isUrlStrategySet = false;
    $._customUrlStrategy = null;
    $._JS_INTEROP_INTERCEPTOR_TAG = null;
    $.printToZone = null;
    $.Primitives__identityHashCodeProperty = null;
    $.Primitives_timerFrequency = 0;
    $.Primitives_timerTicks = A._js_helper_Primitives_dateNow$closure();
    $.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;
    $._toStringVisiting = A._setArrayType([], type$.JSArray_Object);
    $._extensions = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Future_ServiceExtensionResponse_Function_2_String_and_Map_String_String);
    $._FakeUserTag__instances = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("_FakeUserTag"));
    $.Timeline__stack = A._setArrayType([], A.findType("JSArray<_SyncBlock?>"));
    $.DdsExtension__factoriesRegistered = false;
    $.DdsExtension__ddsVersion = null;
    $._controllerCompleter = null;
    $._timedOperationsInProgress = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.DateTime);
    $._lastGaError = null;
    $._userAppType = "";
    $._userBuildType = "";
    $._userPlatformType = "";
    $._devtoolsPlatformType = "";
    $._devtoolsChrome = "";
    $._ideLaunched = "";
    $._flutterClientId = "";
    $._computingDimensions = false;
    $._analyticsComputed = false;
    $._computingUserApplicationDimensions = false;
    $._userApplicationDimensionsComputed = false;
    $._dartIoHttpRequestWrapperId = 0;
    $._traceEventWrapperId = 0;
    $._lowercaseLookup = function() {
      var t1 = type$.String;
      return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    }();
    $._fileNamesCache = function() {
      var t1 = type$.String;
      return A.LinkedHashMap_LinkedHashMap$_empty(t1, t1);
    }();
    $.SyntaxHighlighter__grammar = null;
    $.firstInspectorTreeLoadCompleted = false;
    $.InspectorServiceBase_nextGroupId = 0;
    $._monitorClasses = A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.String);
    $.globals = A.LinkedHashMap_LinkedHashMap$_empty(type$.Type, type$.dynamic);
    $.uiColorPalette = A._setArrayType([B.ColorPair_Color_4278190080_Color_4287148510, B.ColorPair_Color_4278190080_Color_4284978125], type$.JSArray_ColorPair);
    $.rasterColorPalette = A._setArrayType([B.ColorPair_Color_4293980400_Color_4281097642, B.ColorPair_Color_4293980400_Color_4281888438], type$.JSArray_ColorPair);
    $.topMatchesLimit = 10;
    $.FlutterError_presentError = A.assertions_FlutterError_dumpErrorToConsole$closure();
    $.FlutterError__errorCount = 0;
    $.FlutterError__stackFilters = A._setArrayType([], A.findType("JSArray<StackFilter>"));
    $.BindingBase_debugReassembleConfig = null;
    $.debugBrightnessOverride = null;
    $.activeDevToolsServerAddress = null;
    $.connectedVmServiceUri = null;
    $.LicenseRegistry__collectors = null;
    $._debugPrintedCharacters = 0;
    $._debugPrintCompleter = null;
    $._debugPrintScheduled = false;
    $.GestureBinding__instance = null;
    $.Tooltip__openedTooltips = A._setArrayType([], A.findType("JSArray<TooltipState>"));
    $.TooltipState__mouseIn = A.LinkedHashSet_LinkedHashSet$_empty(A.findType("TooltipState"));
    $.PaintingBinding__instance = null;
    $._pendingImageSizeInfo = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.ImageSizeInfo);
    $._lastFrameImageSizeInfo = A.LinkedHashSet_LinkedHashSet$_empty(type$.ImageSizeInfo);
    $.RendererBinding__instance = null;
    $.RenderBox__debugIntrinsicsDepth = 0;
    $.debugProfileLayoutsEnabled = false;
    $.debugProfilePaintsEnabled = false;
    $._timeDilation = 1;
    $.SchedulerBinding__instance = null;
    $.SemanticsBinding__instance = null;
    $.CustomSemanticsAction__nextId = 0;
    $.CustomSemanticsAction__actions = A.LinkedHashMap_LinkedHashMap$_empty(type$.int, type$.CustomSemanticsAction);
    $.CustomSemanticsAction__ids = A.LinkedHashMap_LinkedHashMap$_empty(type$.CustomSemanticsAction, type$.int);
    $.SemanticsNode__lastIdentifier = 0;
    $.ServicesBinding__instance = null;
    $.SystemChrome__pendingStyle = null;
    $.SystemChrome__latestStyle = null;
    $.TextInputConnection__nextId = 1;
    $.WidgetsApp_showPerformanceOverlayOverride = false;
    $.WidgetsBinding__instance = null;
    $.debugProfileBuildsEnabled = false;
    $.debugProfileBuildsEnabledUserWidgets = false;
    $._ScribbleFocusableState__nextElementIdentifier = 1;
    $.KeySet__tempHashStore3 = A._setArrayType([0, 0, 0], type$.JSArray_int);
    $.KeySet__tempHashStore4 = A._setArrayType([0, 0, 0, 0], type$.JSArray_int);
    $._dctClip = null;
    $.VP8Filter__tablesInitialized = false;
    $.VP8LTransform_PREDICTORS = A._setArrayType([A.vp8l_transform_VP8LTransform__predictor0$closure(), A.vp8l_transform_VP8LTransform__predictor1$closure(), A.vp8l_transform_VP8LTransform__predictor2$closure(), A.vp8l_transform_VP8LTransform__predictor3$closure(), A.vp8l_transform_VP8LTransform__predictor4$closure(), A.vp8l_transform_VP8LTransform__predictor5$closure(), A.vp8l_transform_VP8LTransform__predictor6$closure(), A.vp8l_transform_VP8LTransform__predictor7$closure(), A.vp8l_transform_VP8LTransform__predictor8$closure(), A.vp8l_transform_VP8LTransform__predictor9$closure(), A.vp8l_transform_VP8LTransform__predictor10$closure(), A.vp8l_transform_VP8LTransform__predictor11$closure(), A.vp8l_transform_VP8LTransform__predictor12$closure(), A.vp8l_transform_VP8LTransform__predictor13$closure(), A.vp8l_transform_VP8LTransform__predictor0$closure(), A.vp8l_transform_VP8LTransform__predictor0$closure()], A.findType("JSArray<int(Uint32List,int,int)>"));
    $.Half__toFloatUint32 = null;
    $.Half__toFloatFloat32 = null;
    $.Half____eLut = A._Cell$named("_eLut");
    $.cachedDateSymbols = null;
    $.lastDateSymbolLocale = null;
    $._defaultLocale = null;
    $.DateFormat__useNativeDigitsByDefault = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.bool);
    $.LogRecord__nextNumber = 0;
    $.Logger__loggers = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Logger);
    $._currentUriBase = null;
    $._current = null;
    $._circularDependencyLock = null;
    $.LinkViewController__instances = A.LinkedHashMap_LinkedHashMap$_empty(type$.int, A.findType("LinkViewController"));
    $.Matrix4__decomposeV = null;
    $.Matrix4__decomposeM = null;
    $.Matrix4__decomposeR = null;
    $.DartIOExtension__factoriesRegistered = false;
    $.DartIOExtension__isolateVersion = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Version);
    $._OutstandingRequest__idCounter = 0;
  })();
  (function lazyInitializers() {
    var _lazyFinal = hunkHelpers.lazyFinal,
      _lazy = hunkHelpers.lazy;
    _lazyFinal($, "_browserEngine", "$get$_browserEngine", () => A.detectBrowserEngineByVendorAgent(A.getProperty(A.DomWindowExtension_get_navigator(self.window), "vendor"), B.JSString_methods.toLowerCase$0(A.DomNavigatorExtension_get_userAgent(A.DomWindowExtension_get_navigator(self.window)))));
    _lazyFinal($, "_operatingSystem", "$get$_operatingSystem", () => A.detectOperatingSystem());
    _lazy($, "CanvasPool__runBuffer", "$get$CanvasPool__runBuffer", () => A.NativeFloat32List_NativeFloat32List(8));
    _lazyFinal($, "_SaveStackTracking__unitZ", "$get$_SaveStackTracking__unitZ", () => A.Vector3_Vector3(0, 0, 1));
    _lazyFinal($, "_clipOpIntersect", "$get$_clipOpIntersect", () => A.SkClipOpEnumExtension_get_Intersect(A.CanvasKitExtension_get_ClipOp(A.canvasKit())));
    _lazyFinal($, "useH5vccCanvasKit", "$get$useH5vccCanvasKit", () => self.window.h5vcc != null);
    _lazyFinal($, "_skFontSlants", "$get$_skFontSlants", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_FontSlant(A.canvasKit()), "Upright"), A.getProperty(A.CanvasKitExtension_get_FontSlant(A.canvasKit()), "Italic")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skFontWeights", "$get$_skFontWeights", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "Thin"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "ExtraLight"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "Light"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "Normal"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "Medium"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "SemiBold"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "Bold"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "ExtraBold"), A.getProperty(A.CanvasKitExtension_get_FontWeight(A.canvasKit()), "ExtraBlack")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skTextDirections", "$get$_skTextDirections", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_TextDirection(A.canvasKit()), "RTL"), A.getProperty(A.CanvasKitExtension_get_TextDirection(A.canvasKit()), "LTR")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skTextAligns", "$get$_skTextAligns", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_TextAlign(A.canvasKit()), "Left"), A.getProperty(A.CanvasKitExtension_get_TextAlign(A.canvasKit()), "Right"), A.getProperty(A.CanvasKitExtension_get_TextAlign(A.canvasKit()), "Center"), A.getProperty(A.CanvasKitExtension_get_TextAlign(A.canvasKit()), "Justify"), A.getProperty(A.CanvasKitExtension_get_TextAlign(A.canvasKit()), "Start"), A.getProperty(A.CanvasKitExtension_get_TextAlign(A.canvasKit()), "End")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skTextHeightBehaviors", "$get$_skTextHeightBehaviors", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_TextHeightBehavior(A.canvasKit()), "All"), A.getProperty(A.CanvasKitExtension_get_TextHeightBehavior(A.canvasKit()), "DisableFirstAscent"), A.getProperty(A.CanvasKitExtension_get_TextHeightBehavior(A.canvasKit()), "DisableLastDescent"), A.getProperty(A.CanvasKitExtension_get_TextHeightBehavior(A.canvasKit()), "DisableAll")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skRectHeightStyles", "$get$_skRectHeightStyles", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_RectHeightStyle(A.canvasKit()), "Tight"), A.getProperty(A.CanvasKitExtension_get_RectHeightStyle(A.canvasKit()), "Max"), A.getProperty(A.CanvasKitExtension_get_RectHeightStyle(A.canvasKit()), "IncludeLineSpacingMiddle"), A.getProperty(A.CanvasKitExtension_get_RectHeightStyle(A.canvasKit()), "IncludeLineSpacingTop"), A.getProperty(A.CanvasKitExtension_get_RectHeightStyle(A.canvasKit()), "IncludeLineSpacingBottom"), A.getProperty(A.CanvasKitExtension_get_RectHeightStyle(A.canvasKit()), "Strut")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skRectWidthStyles", "$get$_skRectWidthStyles", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_RectWidthStyle(A.canvasKit()), "Tight"), A.getProperty(A.CanvasKitExtension_get_RectWidthStyle(A.canvasKit()), "Max")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skClipOps", "$get$_skClipOps", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_ClipOp(A.canvasKit()), "Difference"), A.SkClipOpEnumExtension_get_Intersect(A.CanvasKitExtension_get_ClipOp(A.canvasKit()))], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skFillTypes", "$get$_skFillTypes", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_FillType(A.canvasKit()), "Winding"), A.getProperty(A.CanvasKitExtension_get_FillType(A.canvasKit()), "EvenOdd")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skBlurStyles", "$get$_skBlurStyles", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_BlurStyle(A.canvasKit()), "Normal"), A.getProperty(A.CanvasKitExtension_get_BlurStyle(A.canvasKit()), "Solid"), A.getProperty(A.CanvasKitExtension_get_BlurStyle(A.canvasKit()), "Outer"), A.getProperty(A.CanvasKitExtension_get_BlurStyle(A.canvasKit()), "Inner")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skStrokeCaps", "$get$_skStrokeCaps", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_StrokeCap(A.canvasKit()), "Butt"), A.getProperty(A.CanvasKitExtension_get_StrokeCap(A.canvasKit()), "Round"), A.getProperty(A.CanvasKitExtension_get_StrokeCap(A.canvasKit()), "Square")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skPaintStyles", "$get$_skPaintStyles", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_PaintStyle(A.canvasKit()), "Fill"), A.getProperty(A.CanvasKitExtension_get_PaintStyle(A.canvasKit()), "Stroke")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skBlendModes", "$get$_skBlendModes", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Clear"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Src"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Dst"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "SrcOver"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "DstOver"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "SrcIn"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "DstIn"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "SrcOut"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "DstOut"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "SrcATop"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "DstATop"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Xor"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Plus"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Modulate"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Screen"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Overlay"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Darken"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Lighten"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "ColorDodge"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "ColorBurn"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "HardLight"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "SoftLight"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Difference"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Exclusion"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Multiply"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Hue"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Saturation"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Color"), A.getProperty(A.CanvasKitExtension_get_BlendMode(A.canvasKit()), "Luminosity")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skStrokeJoins", "$get$_skStrokeJoins", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_StrokeJoin(A.canvasKit()), "Miter"), A.getProperty(A.CanvasKitExtension_get_StrokeJoin(A.canvasKit()), "Round"), A.getProperty(A.CanvasKitExtension_get_StrokeJoin(A.canvasKit()), "Bevel")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skTileModes", "$get$_skTileModes", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_TileMode(A.canvasKit()), "Clamp"), A.getProperty(A.CanvasKitExtension_get_TileMode(A.canvasKit()), "Repeat"), A.getProperty(A.CanvasKitExtension_get_TileMode(A.canvasKit()), "Mirror"), A.getProperty(A.CanvasKitExtension_get_TileMode(A.canvasKit()), "Decal")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_kDefaultSkColorStops", "$get$_kDefaultSkColorStops", () => {
      var t1 = A.NativeFloat32List_NativeFloat32List(2);
      t1[0] = 0;
      t1[1] = 1;
      return t1;
    });
    _lazyFinal($, "_sharedSkColor1", "$get$_sharedSkColor1", () => A.mallocFloat32List(4));
    _lazyFinal($, "_skTextDecorationStyles", "$get$_skTextDecorationStyles", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_DecorationStyle(A.canvasKit()), "Solid"), A.getProperty(A.CanvasKitExtension_get_DecorationStyle(A.canvasKit()), "Double"), A.getProperty(A.CanvasKitExtension_get_DecorationStyle(A.canvasKit()), "Dotted"), A.getProperty(A.CanvasKitExtension_get_DecorationStyle(A.canvasKit()), "Dashed"), A.getProperty(A.CanvasKitExtension_get_DecorationStyle(A.canvasKit()), "Wavy")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skTextBaselines", "$get$_skTextBaselines", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_TextBaseline(A.canvasKit()), "Alphabetic"), A.getProperty(A.CanvasKitExtension_get_TextBaseline(A.canvasKit()), "Ideographic")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "_skPlaceholderAlignments", "$get$_skPlaceholderAlignments", () => A._setArrayType([A.getProperty(A.CanvasKitExtension_get_PlaceholderAlignment(A.canvasKit()), "Baseline"), A.getProperty(A.CanvasKitExtension_get_PlaceholderAlignment(A.canvasKit()), "AboveBaseline"), A.getProperty(A.CanvasKitExtension_get_PlaceholderAlignment(A.canvasKit()), "BelowBaseline"), A.getProperty(A.CanvasKitExtension_get_PlaceholderAlignment(A.canvasKit()), "Top"), A.getProperty(A.CanvasKitExtension_get_PlaceholderAlignment(A.canvasKit()), "Bottom"), A.getProperty(A.CanvasKitExtension_get_PlaceholderAlignment(A.canvasKit()), "Middle")], type$.JSArray_JavaScriptObject));
    _lazyFinal($, "Collector__productionInstance", "$get$Collector__productionInstance", () => A.ProductionCollector$());
    _lazy($, "Collector__instance", "$get$Collector__instance", () => $.$get$Collector__productionInstance());
    _lazy($, "browserSupportsFinalizationRegistry", "$get$browserSupportsFinalizationRegistry", () => self.window.FinalizationRegistry != null);
    _lazy($, "HtmlViewEmbedder_instance", "$get$HtmlViewEmbedder_instance", () => {
      var t1 = type$.int,
        t2 = type$.JSArray_int;
      return new A.HtmlViewEmbedder(A.LinkedHashSet_LinkedHashSet$_empty(t1), A._setArrayType([], A.findType("JSArray<CkPictureRecorder>")), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.CkPictureRecorder), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("EmbeddedViewParams")), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("ViewClipChain")), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("Surface")), A.LinkedHashSet_LinkedHashSet$_empty(t1), A._setArrayType([], t2), A._setArrayType([], t2), $.$get$window().get$physicalSize(), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Set_String));
    });
    _lazy($, "FontFallbackData__instance", "$get$FontFallbackData__instance", () => {
      var t1 = type$.int;
      return new A.FontFallbackData(A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.FontFallbackData_createNotoFontTree(), A._setArrayType([], type$.JSArray_RegisteredFont), A._setArrayType(["Roboto"], type$.JSArray_String), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, t1), A.LinkedHashSet_LinkedHashSet$_empty(t1));
    });
    _lazy($, "_notoSansSC", "$get$_notoSansSC", () => A.NotoFont$("Noto Sans SC", A._setArrayType([B.CodeunitRange_12288_12591, B.CodeunitRange_12800_13311, B.CodeunitRange_19968_40959, B.CodeunitRange_65072_65135, B.CodeunitRange_65280_65519], type$.JSArray_CodeunitRange)));
    _lazy($, "_notoSansTC", "$get$_notoSansTC", () => A.NotoFont$("Noto Sans TC", A._setArrayType([B.CodeunitRange_12288_12351, B.CodeunitRange_12549_12585, B.CodeunitRange_19968_40959], type$.JSArray_CodeunitRange)));
    _lazy($, "_notoSansHK", "$get$_notoSansHK", () => A.NotoFont$("Noto Sans HK", A._setArrayType([B.CodeunitRange_12288_12351, B.CodeunitRange_12549_12585, B.CodeunitRange_19968_40959], type$.JSArray_CodeunitRange)));
    _lazy($, "_notoSansJP", "$get$_notoSansJP", () => A.NotoFont$("Noto Sans JP", A._setArrayType([B.CodeunitRange_12288_12543, B.CodeunitRange_19968_40959, B.CodeunitRange_65280_65519], type$.JSArray_CodeunitRange)));
    _lazy($, "_cjkFonts", "$get$_cjkFonts", () => A._setArrayType([$.$get$_notoSansSC(), $.$get$_notoSansTC(), $.$get$_notoSansHK(), $.$get$_notoSansJP()], type$.JSArray_NotoFont));
    _lazy($, "_notoFonts", "$get$_notoFonts", () => {
      var t1 = type$.JSArray_CodeunitRange;
      return A._setArrayType([$.$get$_notoSansSC(), $.$get$_notoSansTC(), $.$get$_notoSansHK(), $.$get$_notoSansJP(), A.NotoFont$("Noto Naskh Arabic UI", A._setArrayType([B.CodeunitRange_1536_1791, B.CodeunitRange_8204_8206, B.CodeunitRange_8208_8209, B.CodeunitRange_8271_8271, B.CodeunitRange_11841_11841, B.CodeunitRange_64336_65023, B.CodeunitRange_65132_65276], t1)), A.NotoFont$("Noto Sans Armenian", A._setArrayType([B.CodeunitRange_1328_1424, B.CodeunitRange_64275_64279], t1)), A.NotoFont$("Noto Sans Bengali UI", A._setArrayType([B.CodeunitRange_2404_2405, B.CodeunitRange_2433_2555, B.CodeunitRange_8204_8205, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Myanmar UI", A._setArrayType([B.CodeunitRange_4096_4255, B.CodeunitRange_8204_8205, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Egyptian Hieroglyphs", A._setArrayType([B.CodeunitRange_77824_78894], t1)), A.NotoFont$("Noto Sans Ethiopic", A._setArrayType([B.CodeunitRange_4608_5017, B.CodeunitRange_11648_11742, B.CodeunitRange_43777_43822], t1)), A.NotoFont$("Noto Sans Georgian", A._setArrayType([B.CodeunitRange_1417_1417, B.CodeunitRange_4256_4351, B.CodeunitRange_11520_11567], t1)), A.NotoFont$("Noto Sans Gujarati UI", A._setArrayType([B.CodeunitRange_2404_2405, B.CodeunitRange_2688_2815, B.CodeunitRange_8204_8205, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676, B.CodeunitRange_43056_43065], t1)), A.NotoFont$("Noto Sans Gurmukhi UI", A._setArrayType([B.CodeunitRange_2404_2405, B.CodeunitRange_2561_2677, B.CodeunitRange_8204_8205, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676, B.CodeunitRange_9772_9772, B.CodeunitRange_43056_43065], t1)), A.NotoFont$("Noto Sans Hebrew", A._setArrayType([B.CodeunitRange_1424_1535, B.CodeunitRange_8362_8362, B.CodeunitRange_9676_9676, B.CodeunitRange_64285_64335], t1)), A.NotoFont$("Noto Sans Devanagari UI", A._setArrayType([B.CodeunitRange_2304_2431, B.CodeunitRange_7376_7414, B.CodeunitRange_7416_7417, B.CodeunitRange_8204_8205, B.CodeunitRange_8360_8360, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676, B.CodeunitRange_43056_43065, B.CodeunitRange_43232_43259], t1)), A.NotoFont$("Noto Sans Kannada UI", A._setArrayType([B.CodeunitRange_2404_2405, B.CodeunitRange_3202_3314, B.CodeunitRange_8204_8205, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Khmer UI", A._setArrayType([B.CodeunitRange_6016_6143, B.CodeunitRange_8204_8204, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans KR", A._setArrayType([B.CodeunitRange_12593_12686, B.CodeunitRange_12800_12828, B.CodeunitRange_12896_12923, B.CodeunitRange_44032_55215], t1)), A.NotoFont$("Noto Sans Lao UI", A._setArrayType([B.CodeunitRange_3713_3807, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Malayalam UI", A._setArrayType([B.CodeunitRange_775_775, B.CodeunitRange_803_803, B.CodeunitRange_2404_2405, B.CodeunitRange_3330_3455, B.CodeunitRange_8204_8205, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Sinhala", A._setArrayType([B.CodeunitRange_2404_2405, B.CodeunitRange_3458_3572, B.CodeunitRange_8204_8205, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Tamil UI", A._setArrayType([B.CodeunitRange_2404_2405, B.CodeunitRange_2946_3066, B.CodeunitRange_8204_8205, B.CodeunitRange_8377_8377, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Telugu UI", A._setArrayType([B.CodeunitRange_2385_2386, B.CodeunitRange_2404_2405, B.CodeunitRange_3072_3199, B.CodeunitRange_7386_7386, B.CodeunitRange_8204_8205, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans Thai UI", A._setArrayType([B.CodeunitRange_3585_3675, B.CodeunitRange_8204_8205, B.CodeunitRange_9676_9676], t1)), A.NotoFont$("Noto Sans", A._setArrayType([B.CodeunitRange_0_255, B.CodeunitRange_305_305, B.CodeunitRange_338_339, B.CodeunitRange_699_700, B.CodeunitRange_710_710, B.CodeunitRange_730_730, B.CodeunitRange_732_732, B.CodeunitRange_8192_8303, B.CodeunitRange_8308_8308, B.CodeunitRange_8364_8364, B.CodeunitRange_8482_8482, B.CodeunitRange_8593_8593, B.CodeunitRange_8595_8595, B.CodeunitRange_8722_8722, B.CodeunitRange_8725_8725, B.CodeunitRange_65279_65279, B.CodeunitRange_65533_65533, B.CodeunitRange_1024_1119, B.CodeunitRange_1168_1169, B.CodeunitRange_1200_1201, B.CodeunitRange_8470_8470, B.CodeunitRange_1120_1327, B.CodeunitRange_7296_7304, B.CodeunitRange_8372_8372, B.CodeunitRange_11744_11775, B.CodeunitRange_42560_42655, B.CodeunitRange_65070_65071, B.CodeunitRange_880_1023, B.CodeunitRange_7936_8191, B.CodeunitRange_256_591, B.CodeunitRange_601_601, B.CodeunitRange_7680_7935, B.CodeunitRange_8224_8224, B.CodeunitRange_8352_8363, B.CodeunitRange_8365_8399, B.CodeunitRange_8467_8467, B.CodeunitRange_11360_11391, B.CodeunitRange_42784_43007, B.CodeunitRange_258_259, B.CodeunitRange_272_273, B.CodeunitRange_296_297, B.CodeunitRange_360_361, B.CodeunitRange_416_417, B.CodeunitRange_431_432, B.CodeunitRange_7840_7929, B.CodeunitRange_8363_8363], t1))], type$.JSArray_NotoFont);
    });
    _lazy($, "notoDownloadQueue", "$get$notoDownloadQueue", () => {
      var t1 = type$._ResolvedNotoSubset;
      return new A.FallbackFontDownloadQueue(new A.NotoDownloader(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, t1));
    });
    _lazy($, "httpRequestFactory", "$get$httpRequestFactory", () => new A.httpRequestFactory_closure());
    _lazyFinal($, "_avifSignature", "$get$_avifSignature", () => A.CodeUnits$("ftyp"));
    _lazyFinal($, "useCanvasKit", "$get$useCanvasKit", () => {
      var t1 = $.$get$_hasCanvasKit();
      return t1;
    });
    _lazyFinal($, "_hasCanvasKit", "$get$_hasCanvasKit", () => A._detectCanvasKit());
    _lazyFinal($, "_invertColorMatrix", "$get$_invertColorMatrix", () => A.NativeFloat32List_NativeFloat32List$fromList(B.List_AmY));
    _lazyFinal($, "_invertColorFilter", "$get$_invertColorFilter", () => A.ManagedSkColorFilter$(new A.CkMatrixColorFilter($.$get$_invertColorMatrix())));
    _lazyFinal($, "SkiaObjects_expensiveCache", "$get$SkiaObjects_expensiveCache", () => {
      var t1 = A.findType("SkiaObject<Object>");
      return new A.SkiaObjectCache(1024, A.DoubleLinkedQueue$(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("DoubleLinkedQueueEntry<SkiaObject<Object>>")));
    });
    _lazy($, "CkParagraph__paragraphCache", "$get$CkParagraph__paragraphCache", () => {
      var t1 = A.findType("SkiaObject<Object>");
      return new A.SynchronousSkiaObjectCache(500, A.DoubleLinkedQueue$(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("DoubleLinkedQueueEntry<SkiaObject<Object>>")));
    });
    _lazyFinal($, "CkParagraphBuilder__defaultTextForeground", "$get$CkParagraphBuilder__defaultTextForeground", () => type$.JavaScriptObject._as(new self.window.flutterCanvasKit.Paint()));
    _lazyFinal($, "CkParagraphBuilder__defaultTextBackground", "$get$CkParagraphBuilder__defaultTextBackground", () => {
      var t1 = type$.JavaScriptObject._as(new self.window.flutterCanvasKit.Paint());
      A.SkPaintExtension_setColorInt(t1, 0);
      return t1;
    });
    _lazyFinal($, "SaveElementStackTracking__unitZ", "$get$SaveElementStackTracking__unitZ", () => A.Vector3_Vector3(0, 0, 1));
    _lazyFinal($, "_fontChangeMessage", "$get$_fontChangeMessage", () => B.C_JSONMessageCodec.encodeMessage$1(A.LinkedHashMap_LinkedHashMap$_literal(["type", "fontsChange"], type$.String, type$.dynamic)));
    _lazyFinal($, "kSvgResourceHeader", "$get$kSvgResourceHeader", () => {
      var el = A.SvgElement_SvgElement$tag("svg");
      A._ElementAttributeMap$(el).$indexSet(0, "version", "1.1");
      type$.SvgSvgElement._as(el);
      el.setAttribute("width", 0);
      el.setAttribute("height", 0);
      B.CssStyleDeclaration_methods.set$position(el.style, "absolute");
      return el;
    });
    _lazyFinal($, "_PaintBounds__tempRectData", "$get$_PaintBounds__tempRectData", () => A.NativeFloat32List_NativeFloat32List(4));
    _lazy($, "_sharedCanvas", "$get$_sharedCanvas", () => new A.SharedCanvas());
    _lazyFinal($, "VertexShaders_vertexIndicesForRect", "$get$VertexShaders_vertexIndicesForRect", () => A.NativeUint16List_NativeUint16List$fromList(A._setArrayType([0, 1, 2, 2, 3, 0], type$.JSArray_int)));
    _lazyFinal($, "_supportsDecode", "$get$_supportsDecode", () => A.getJsProperty(A.getJsProperty(A.getJsProperty(A.window(), "Image"), "prototype"), "decode") != null);
    _lazyFinal($, "platformViewManager", "$get$platformViewManager", () => {
      var t1 = type$.String,
        t2 = type$.int;
      return new A.PlatformViewManager(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Function), A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.JavaScriptObject), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1));
    });
    _lazyFinal($, "_kLogicalAltLeft", "$get$_kLogicalAltLeft", () => 8589934852);
    _lazyFinal($, "_kLogicalAltRight", "$get$_kLogicalAltRight", () => 8589934853);
    _lazyFinal($, "_kLogicalControlLeft", "$get$_kLogicalControlLeft", () => 8589934848);
    _lazyFinal($, "_kLogicalControlRight", "$get$_kLogicalControlRight", () => 8589934849);
    _lazyFinal($, "_kLogicalShiftLeft", "$get$_kLogicalShiftLeft", () => 8589934850);
    _lazyFinal($, "_kLogicalShiftRight", "$get$_kLogicalShiftRight", () => 8589934851);
    _lazyFinal($, "_kLogicalMetaLeft", "$get$_kLogicalMetaLeft", () => 8589934854);
    _lazyFinal($, "_kLogicalMetaRight", "$get$_kLogicalMetaRight", () => 8589934855);
    _lazyFinal($, "_kLogicalKeyToModifierGetter", "$get$_kLogicalKeyToModifierGetter", () => A.LinkedHashMap_LinkedHashMap$_literal([$.$get$_kLogicalAltLeft(), new A._kLogicalKeyToModifierGetter_closure(), $.$get$_kLogicalAltRight(), new A._kLogicalKeyToModifierGetter_closure0(), $.$get$_kLogicalControlLeft(), new A._kLogicalKeyToModifierGetter_closure1(), $.$get$_kLogicalControlRight(), new A._kLogicalKeyToModifierGetter_closure2(), $.$get$_kLogicalShiftLeft(), new A._kLogicalKeyToModifierGetter_closure3(), $.$get$_kLogicalShiftRight(), new A._kLogicalKeyToModifierGetter_closure4(), $.$get$_kLogicalMetaLeft(), new A._kLogicalKeyToModifierGetter_closure5(), $.$get$_kLogicalMetaRight(), new A._kLogicalKeyToModifierGetter_closure6()], type$.int, A.findType("bool(FlutterHtmlKeyboardEvent)")));
    _lazyFinal($, "EnginePlatformDispatcher__instance", "$get$EnginePlatformDispatcher__instance", () => {
      var t1 = type$.Object;
      t1 = new A.EnginePlatformDispatcher(A.PlatformConfiguration$(B.EngineAccessibilityFeatures_0, false, "/", A.EnginePlatformDispatcher_parseBrowserLanguages(), B.Brightness_1, false, null, A.findBrowserTextScaleFactor()), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("FlutterWindow")), A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("ViewConfiguration0")), A.window().matchMedia("(prefers-color-scheme: dark)"));
      t1._addBrightnessMediaQueryListener$0();
      t1._addFontSizeObserver$0();
      return t1;
    });
    _lazy($, "SafariPointerEventWorkaround_instance", "$get$SafariPointerEventWorkaround_instance", () => new A.SafariPointerEventWorkaround());
    _lazy($, "_frameTimingsLastSubmitTime", "$get$_frameTimingsLastSubmitTime", () => A._nowMicros());
    _lazyFinal($, "supportsFontLoadingApi", "$get$supportsFontLoadingApi", () => A.hasProperty(A.window(), "FontFace"));
    _lazyFinal($, "supportsFontsClearApi", "$get$supportsFontsClearApi", () => {
      if (A.hasProperty(A.document(), "fonts")) {
        var t1 = A.document().fonts;
        t1.toString;
        t1 = A.hasProperty(t1, "clear");
      } else
        t1 = false;
      return t1;
    });
    _lazy($, "browserSupportsImageDecoder", "$get$browserSupportsImageDecoder", () => {
      var t1 = self.window.ImageDecoder != null && A.browserEngine() === B.BrowserEngine_0;
      return t1;
    });
    _lazyFinal($, "accessibilityAnnouncements", "$get$accessibilityAnnouncements", () => {
      var t1 = $.AccessibilityAnnouncements__instance;
      return t1 == null ? $.AccessibilityAnnouncements__instance = A.AccessibilityAnnouncements$_() : t1;
    });
    _lazyFinal($, "_roleFactories", "$get$_roleFactories", () => A.LinkedHashMap_LinkedHashMap$_literal([B.Role_0, new A._roleFactories_closure(), B.Role_1, new A._roleFactories_closure0(), B.Role_2, new A._roleFactories_closure1(), B.Role_3, new A._roleFactories_closure2(), B.Role_4, new A._roleFactories_closure3(), B.Role_5, new A._roleFactories_closure4(), B.Role_6, new A._roleFactories_closure5(), B.Role_7, new A._roleFactories_closure6()], type$.Role, A.findType("RoleManager(SemanticsObject)")));
    _lazyFinal($, "FontManager_notPunctuation", "$get$FontManager_notPunctuation", () => A.RegExp_RegExp("[a-z0-9\\s]+", false, false));
    _lazyFinal($, "FontManager_startWithDigit", "$get$FontManager_startWithDigit", () => A.RegExp_RegExp("\\b\\d", true, false));
    _lazy($, "Spanometer__rulerHost", "$get$Spanometer__rulerHost", () => {
      var t1 = A.Element_Element$tag("flt-ruler-host"),
        t2 = new A.RulerHost(t1),
        t3 = t1.style;
      B.CssStyleDeclaration_methods.set$position(t3, "fixed");
      t3.visibility = "hidden";
      B.CssStyleDeclaration_methods.set$overflow(t3, "hidden");
      B.CssStyleDeclaration_methods.set$top(t3, "0");
      B.CssStyleDeclaration_methods.set$left(t3, "0");
      B.CssStyleDeclaration_methods.set$width(t3, "0");
      B.CssStyleDeclaration_methods.set$height(t3, "0");
      t3 = A.flutterViewEmbedder()._glassPaneShadow.get$node();
      t3.appendChild(t1);
      A.registerHotRestartListener(t2.get$dispose());
      return t2;
    });
    _lazyFinal($, "_textDirectionLookup", "$get$_textDirectionLookup", () => A.UnicodePropertyLookup$(A._setArrayType([B.UnicodeRange_65_90_TextDirection_1, B.UnicodeRange_97_122_TextDirection_1, B.UnicodeRange_192_214_TextDirection_1, B.UnicodeRange_216_246_TextDirection_1, B.UnicodeRange_248_696_TextDirection_1, B.UnicodeRange_768_1424_TextDirection_1, B.UnicodeRange_1425_1775_TextDirection_0, B.UnicodeRange_1786_2303_TextDirection_0, B.UnicodeRange_2304_8191_TextDirection_1, B.UnicodeRange_8206_8206_TextDirection_1, B.UnicodeRange_8207_8207_TextDirection_0, B.UnicodeRange_11264_55297_TextDirection_1, B.UnicodeRange_55298_55299_TextDirection_0, B.UnicodeRange_55300_55353_TextDirection_1, B.UnicodeRange_55354_55355_TextDirection_0, B.UnicodeRange_55356_56319_TextDirection_1, B.UnicodeRange_63744_64284_TextDirection_1, B.UnicodeRange_64285_65023_TextDirection_0, B.UnicodeRange_65024_65135_TextDirection_1, B.UnicodeRange_65136_65276_TextDirection_0, B.UnicodeRange_65277_65535_TextDirection_1], A.findType("JSArray<UnicodeRange<TextDirection>>")), null, A.findType("TextDirection?")));
    _lazy($, "wordLookup", "$get$wordLookup", () => A.UnicodePropertyLookup_UnicodePropertyLookup$fromPackedData("000a!E000b000cF000d!D000w!R000y!A0013!B0018!M001a!N001c001lO001m!L001n!M001t002iK002n!P002p003eK003p!F004q!K004t!I0051!K0053!L0056!K005c005yK0060006uK006w00k7K00ke00lbK00lc00ofG00og00okK00om00onK00oq00otK00ou!M00ov!K00p2!K00p3!L00p400p6K00p8!K00pa00ptK00pv00s5K00s700w1K00w300w9G00wa010vK010x011yK01210124K0126!K0127!L0128013cK013d!M013e!K013l014tG014v!G014x014yG01500151G0153!G015c0162C0167016aC016b!K016c!L016o016tI01700171M0174017eG017g!I017k018qK018r019bG019c019lO019n!O019o!M019q019rK019s!G019t01cjK01cl!K01cm01csG01ct!I01cv01d0G01d101d2K01d301d4G01d601d9G01da01dbK01dc01dlO01dm01doK01dr!K01e7!I01e8!K01e9!G01ea01f3K01f401fuG01fx01idK01ie01ioG01ip!K01j401jdO01je01kaK01kb01kjG01kk01klK01ko!M01kq!K01kt!G01kw01lhK01li01llG01lm!K01ln01lvG01lw!K01lx01lzG01m0!K01m101m5G01mo01ncK01nd01nfG01nk01nuK01pc01pwK01py01qfK01qr01r5G01r6!I01r701s3G01s401tlK01tm01toG01tp!K01tq01u7G01u8!K01u901ufG01ug01upK01uq01urG01uu01v3O01v501vkK01vl01vnG01vp01vwK01vz01w0K01w301woK01wq01wwK01wy!K01x201x5K01x8!G01x9!K01xa01xgG01xj01xkG01xn01xpG01xq!K01xz!G01y401y5K01y701y9K01ya01ybG01ye01ynO01yo01ypK01z0!K01z2!G01z501z7G01z901zeK01zj01zkK01zn0208K020a020gK020i020jK020l020mK020o020pK020s!G020u020yG02130214G02170219G021d!G021l021oK021q!K021y0227O02280229G022a022cK022d!G022p022rG022t0231K02330235K0237023sK023u0240K02420243K02450249K024c!G024d!K024e024lG024n024pG024r024tG024w!K025c025dK025e025fG025i025rO0261!K02620267G0269026bG026d026kK026n026oK026r027cK027e027kK027m027nK027p027tK027w!G027x!K027y0284G02870288G028b028dG028l028nG028s028tK028v028xK028y028zG0292029bO029d!K029u!G029v!K029x02a2K02a602a8K02aa02adK02ah02aiK02ak!K02am02anK02ar02asK02aw02ayK02b202bdK02bi02bmG02bq02bsG02bu02bxG02c0!K02c7!G02cm02cvO02dc02dgG02dh02doK02dq02dsK02du02egK02ei02exK02f1!K02f202f8G02fa02fcG02fe02fhG02fp02fqG02fs02fuK02g002g1K02g202g3G02g602gfO02gw!K02gx02gzG02h102h8K02ha02hcK02he02i0K02i202ibK02id02ihK02ik!G02il!K02im02isG02iu02iwG02iy02j1G02j902jaG02ji!K02jk02jlK02jm02jnG02jq02jzO02k102k2K02kg02kjG02kk02ksK02ku02kwK02ky02m2K02m302m4G02m5!K02m602mcG02me02mgG02mi02mlG02mm!K02ms02muK02mv!G02n302n5K02n602n7G02na02njO02nu02nzK02o102o3G02o502omK02oq02pdK02pf02pnK02pp!K02ps02pyK02q2!G02q702qcG02qe!G02qg02qnG02qu02r3O02r602r7G02sx!G02t002t6G02tj02tqG02ts02u1O02wh!G02wk02wsG02x402x9G02xc02xlO02yo!K02zc02zdG02zk02ztO0305!G0307!G0309!G030e030fG030g030nK030p031oK031t032cG032e032fG032g032kK032l032vG032x033wG0346!G036z037iG037k037tO03860389G038e038gG038i038kG038n038tG038x0390G039e039pG039r!G039s03a1O03a203a5G03a803b9K03bb!K03bh!K03bk03cqK03cs03m0K03m203m5K03m803meK03mg!K03mi03mlK03mo03nsK03nu03nxK03o003owK03oy03p1K03p403paK03pc!K03pe03phK03pk03pyK03q003rkK03rm03rpK03rs03tmK03tp03trG03uo03v3K03vk03xxK03y003y5K03y904fgK04fj04fzK04g0!R04g104gqK04gw04iyK04j204jcK04jk04jwK04jy04k1K04k204k4G04kg04kxK04ky04l0G04lc04ltK04lu04lvG04m804mkK04mm04moK04mq04mrG04ok04pfG04pp!G04ps04q1O04qz04r1G04r2!I04r404rdO04rk04u0K04u804ucK04ud04ueG04uf04vcK04vd!G04ve!K04vk04xhK04xs04ymK04yo04yzG04z404zfG04zq04zzO053k053tO054w055iK055j055nG0579057iG057k058cG058f!G058g058pO058w0595O059s05a8G05c005c4G05c505dfK05dg05dwG05dx05e3K05e805ehO05ez05f7G05fk05fmG05fn05ggK05gh05gtG05gu05gvK05gw05h5O05h605idK05ie05irG05j405k3K05k405knG05kw05l5O05l905lbK05lc05llO05lm05mlK05mo05mwK05n405oaK05od05ofK05ow05oyG05p005pkG05pl05poK05pp!G05pq05pvK05pw!G05px05pyK05pz05q1G05q2!K05q805vjK05vk05x5G05x705xbG05xc0651K06540659K065c066dK066g066lK066o066vK066x!K066z!K0671!K0673067xK0680069gK069i069oK069q!K069u069wK069y06a4K06a806abK06ae06ajK06ao06b0K06b606b8K06ba06bgK06bk06bqR06bs06buR06bw!G06bx!Q06by06bzI06c806c9N06ck!N06cn!L06co06cpF06cq06cuI06cv!P06db06dcP06dg!M06dw!P06e7!R06e806ecI06ee06enI06ep!K06f3!K06fk06fwK06hc06i8G06iq!K06iv!K06iy06j7K06j9!K06jd06jhK06jo!K06jq!K06js!K06ju06jxK06jz06k9K06kc06kfK06kl06kpK06ku!K06lc06mgK079207ahK08ow08q6K08q808riK08rk08v8K08vf08viK08vj08vlG08vm08vnK08w008x1K08x3!K08x9!K08xc08yvK08z3!K08zj!G08zk0906K090g090mK090o090uK090w0912K0914091aK091c091iK091k091qK091s091yK09200926K09280933G094f!K09hc!R09hh!K09ii09inG09ip09itJ09iz09j0K09ll09lmG09ln09loJ09ls09oaJ09oc09ofJ09ol09prK09pt09seK09sw09trK09v409vjJ0a1c0a2mJ0a2o0a53J0vls0wi4K0wk00wl9K0wlc0wssK0wsw0wtbK0wtc0wtlO0wtm0wtnK0wu80wviK0wvj0wvmG0wvo0wvxG0wvz0wwtK0wwu0wwvG0www0wz3K0wz40wz5G0wzs0x4vK0x4y0x56K0x6d0x6pK0x6q!G0x6r0x6tK0x6u!G0x6v0x6yK0x6z!G0x700x7mK0x7n0x7rG0x7w!G0x8g0x9vK0xa80xa9G0xaa0xbnK0xbo0xc5G0xcg0xcpO0xcw0xddG0xde0xdjK0xdn!K0xdp0xdqK0xdr!G0xds0xe1O0xe20xetK0xeu0xf1G0xf40xfqK0xfr0xg3G0xgg0xh8K0xhc0xhfG0xhg0xiqK0xir0xj4G0xjj!K0xjk0xjtO0xk5!G0xkg0xkpO0xkw0xm0K0xm10xmeG0xmo0xmqK0xmr!G0xms0xmzK0xn00xn1G0xn40xndO0xob0xodG0xps!G0xpu0xpwG0xpz0xq0G0xq60xq7G0xq9!G0xr40xreK0xrf0xrjG0xrm0xroK0xrp0xrqG0xs10xs6K0xs90xseK0xsh0xsmK0xsw0xt2K0xt40xtaK0xtc0xuxK0xv40xyaK0xyb0xyiG0xyk0xylG0xyo0xyxO0xz416lfK16ls16meK16mj16nvK1dkw1dl2K1dlf1dljK1dlp!C1dlq!G1dlr1dm0C1dm21dmeC1dmg1dmkC1dmm!C1dmo1dmpC1dmr1dmsC1dmu1dn3C1dn41dptK1dqr1e0tK1e1c1e33K1e361e4nK1e5s1e63K1e681e6nG1e6o!M1e6r!L1e6s!M1e741e7jG1e7n1e7oP1e8d1e8fP1e8g!M1e8i!N1e8k!M1e8l!L1e9c1e9gK1e9i1ed8K1edb!I1edj!N1edo!M1edq!N1eds1ee1O1ee2!L1ee3!M1ee91eeyK1ef3!P1ef51efuK1eg61ehpJ1ehq1ehrG1ehs1eimK1eiq1eivK1eiy1ej3K1ej61ejbK1eje1ejgK1ek91ekbI1ekg1ekrK1ekt1eliK1elk1em2K1em41em5K1em71emlK1emo1en1K1eo01ereK1etc1eusK1eyl!G1f281f30K1f341f4gK1f4w!G1f5s1f6nK1f711f7uK1f801f91K1f921f96G1f9c1fa5K1fa81fb7K1fbc1fbjK1fbl1fbpK1fcw1fh9K1fhc1fhlO1fhs1firK1fiw1fjvK1fk01fl3K1flc1fmrK1fr41fzqK1g001g0lK1g0w1g13K1g5c1g5hK1g5k!K1g5m1g6tK1g6v1g6wK1g70!K1g731g7pK1g801g8mK1g8w1g9qK1gbk1gc2K1gc41gc5K1gcg1gd1K1gdc1ge1K1gg01ghjK1ghq1ghrK1gjk!K1gjl1gjnG1gjp1gjqG1gjw1gjzG1gk01gk3K1gk51gk7K1gk91gl1K1gl41gl6G1glb!G1gm81gn0K1gn41gnwK1gow1gp3K1gp51gpwK1gpx1gpyG1gqo1gs5K1gsg1gt1K1gtc1gtuK1gu81gupK1gxs1gzsK1h1c1h2qK1h341h4iK1h4w1h5vK1h5w1h5zG1h681h6hO1hfk1hgpK1hgr1hgsG1hgw1hgxK1hj41hjwK1hk7!K1hkg1hl1K1hl21hlcG1ho01hokK1hpc1hpyK1hq81hqaG1hqb1hrrK1hrs1hs6G1ht21htbO1htr1htuG1htv1hv3K1hv41hveG1hvh!I1hvx!I1hw01hwoK1hww1hx5O1hxc1hxeG1hxf1hyeK1hyf1hysG1hyu1hz3O1hz8!K1hz91hzaG1hzb!K1hzk1i0iK1i0j!G1i0m!K1i0w1i0yG1i0z1i2aK1i2b1i2oG1i2p1i2sK1i2x1i30G1i321i33G1i341i3dO1i3e!K1i3g!K1i4g1i4xK1i4z1i5nK1i5o1i5zG1i66!G1i801i86K1i88!K1i8a1i8dK1i8f1i8tK1i8v1i94K1i9c1iamK1ian1iayG1ib41ibdO1ibk1ibnG1ibp1ibwK1ibz1ic0K1ic31icoK1icq1icwK1icy1iczK1id11id5K1id71id8G1id9!K1ida1idgG1idj1idkG1idn1idpG1ids!K1idz!G1ie51ie9K1iea1iebG1iee1iekG1ieo1iesG1iio1ik4K1ik51ikmG1ikn1ikqK1ikw1il5O1ila!G1ilb1ildK1im81injK1ink1io3G1io41io5K1io7!K1iog1iopO1itc1iumK1iun1iutG1iuw1iv4G1ivs1ivvK1ivw1ivxG1iww1iy7K1iy81iyoG1iys!K1iz41izdO1j0g1j1mK1j1n1j1zG1j20!K1j281j2hO1j4t1j57G1j5c1j5lO1jb41jcbK1jcc1jcqG1jfk1jhbK1jhc1jhlO1ji71jieK1jih!K1jik1jirK1jit1jiuK1jiw1jjjK1jjk1jjpG1jjr1jjsG1jjv1jjyG1jjz!K1jk0!G1jk1!K1jk21jk3G1jkg1jkpO1jmo1jmvK1jmy1jo0K1jo11jo7G1joa1jogG1joh!K1joj!K1jok!G1jpc!K1jpd1jpmG1jpn1jqqK1jqr1jqxG1jqy!K1jqz1jr2G1jrb!G1jrk!K1jrl1jrvG1jrw1jt5K1jt61jtlG1jtp!K1juo1jw8K1k3k1k3sK1k3u1k4uK1k4v1k52G1k541k5bG1k5c!K1k5s1k61O1k6q1k7jK1k7m1k87G1k891k8mG1kao1kauK1kaw1kaxK1kaz1kc0K1kc11kc6G1kca!G1kcc1kcdG1kcf1kclG1kcm!K1kcn!G1kcw1kd5O1kdc1kdhK1kdj1kdkK1kdm1kehK1kei1kemG1keo1kepG1ker1kevG1kew!K1kf41kfdO1ko01koiK1koj1komG1kts!K1kw01lllK1log1lriK1ls01lxfK1o1s1oviK1ovk1ovsI1s001sg6K1z401zjsK1zk01zkuK1zkw1zl5O1zo01zotK1zow1zp0G1zpc1zqnK1zqo1zquG1zr41zr7K1zrk1zrtO1zs31zsnK1zst1ztbK20cg20e7K20hs20juK20jz!G20k0!K20k120ljG20lr20luG20lv20m7K20o020o1K20o3!K20o4!G20og20ohG2dc0!J2dlw2dlzJ2fpc2fsaK2fsg2fssK2fsw2ft4K2ftc2ftlK2ftp2ftqG2fts2ftvI2jxh2jxlG2jxp2jxuG2jxv2jy2I2jy32jyaG2jyd2jyjG2jze2jzhG2k3m2k3oG2kg02kicK2kie2kkcK2kke2kkfK2kki!K2kkl2kkmK2kkp2kksK2kku2kl5K2kl7!K2kl92klfK2klh2kn9K2knb2kneK2knh2knoK2knq2knwK2kny2kopK2kor2kouK2kow2kp0K2kp2!K2kp62kpcK2kpe2kytK2kyw2kzkK2kzm2l0aK2l0c2l16K2l182l1wK2l1y2l2sK2l2u2l3iK2l3k2l4eK2l4g2l54K2l562l60K2l622l6qK2l6s2l6zK2l722l8fO2lmo2lo6G2lob2lpoG2lpx!G2lqc!G2lqz2lr3G2lr52lrjG2mtc2mtiG2mtk2mu0G2mu32mu9G2mub2mucG2mue2muiG2n0g2n1oK2n1s2n1yG2n1z2n25K2n282n2hO2n2m!K2ncw2ne3K2ne42ne7G2ne82nehO2oe82ojoK2ok02ok6G2olc2on7K2on82oneG2onf!K2onk2ontO2pkw2pkzK2pl12plrK2plt2pluK2plw!K2plz!K2pm12pmaK2pmc2pmfK2pmh!K2pmj!K2pmq!K2pmv!K2pmx!K2pmz!K2pn12pn3K2pn52pn6K2pn8!K2pnb!K2pnd!K2pnf!K2pnh!K2pnj!K2pnl2pnmK2pno!K2pnr2pnuK2pnw2po2K2po42po7K2po92pocK2poe!K2pog2popK2por2pp7K2ppd2ppfK2pph2pplK2ppn2pq3K2q7k2q89K2q8g2q95K2q9c2qa1K2qcm2qdbH2qrf2qrjG2sc02sc9Ojny9!Ijnz4jo1rGjo5cjobzG", 231, B.List_G7P, B.WordCharProperty_18, A.findType("WordCharProperty")));
    _lazyFinal($, "BrowserAutofillHints__singletonInstance", "$get$BrowserAutofillHints__singletonInstance", () => {
      var t1 = type$.String;
      return new A.BrowserAutofillHints(A.LinkedHashMap_LinkedHashMap$_literal(["birthday", "bday", "birthdayDay", "bday-day", "birthdayMonth", "bday-month", "birthdayYear", "bday-year", "countryCode", "country", "countryName", "country-name", "creditCardExpirationDate", "cc-exp", "creditCardExpirationMonth", "cc-exp-month", "creditCardExpirationYear", "cc-exp-year", "creditCardFamilyName", "cc-family-name", "creditCardGivenName", "cc-given-name", "creditCardMiddleName", "cc-additional-name", "creditCardName", "cc-name", "creditCardNumber", "cc-number", "creditCardSecurityCode", "cc-csc", "creditCardType", "cc-type", "email", "email", "familyName", "family-name", "fullStreetAddress", "street-address", "gender", "sex", "givenName", "given-name", "impp", "impp", "jobTitle", "organization-title", "language", "language", "middleName", "middleName", "name", "name", "namePrefix", "honorific-prefix", "nameSuffix", "honorific-suffix", "newPassword", "new-password", "nickname", "nickname", "oneTimeCode", "one-time-code", "organizationName", "organization", "password", "current-password", "photo", "photo", "postalCode", "postal-code", "streetAddressLevel1", "address-level1", "streetAddressLevel2", "address-level2", "streetAddressLevel3", "address-level3", "streetAddressLevel4", "address-level4", "streetAddressLine1", "address-line1", "streetAddressLine2", "address-line2", "streetAddressLine3", "address-line3", "telephoneNumber", "tel", "telephoneNumberAreaCode", "tel-area-code", "telephoneNumberCountryCode", "tel-country-code", "telephoneNumberExtension", "tel-extension", "telephoneNumberLocal", "tel-local", "telephoneNumberLocalPrefix", "tel-local-prefix", "telephoneNumberLocalSuffix", "tel-local-suffix", "telephoneNumberNational", "tel-national", "transactionAmount", "transaction-amount", "transactionCurrency", "transaction-currency", "url", "url", "username", "username"], t1, t1));
    });
    _lazyFinal($, "textEditing", "$get$textEditing", () => new A.HybridTextEditing());
    _lazyFinal($, "_tempRectData", "$get$_tempRectData", () => A.NativeFloat32List_NativeFloat32List(4));
    _lazyFinal($, "_tempPointData", "$get$_tempPointData", () => A.NativeFloat32List_NativeFloat32List(16));
    _lazyFinal($, "_tempPointMatrix", "$get$_tempPointMatrix", () => A.Matrix4$fromFloat32List($.$get$_tempPointData()));
    _lazy($, "printWarning", "$get$printWarning", () => {
      A.window();
      return B.C_Console.get$warn();
    });
    _lazyFinal($, "window0", "$get$window", () => A.EngineSingletonFlutterWindow$(0, $.$get$EnginePlatformDispatcher__instance()));
    _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<Null>")));
    _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($, "NativeFloat32x4__list", "$get$NativeFloat32x4__list", () => A.NativeFloat32List_NativeFloat32List(4));
    _lazyFinal($, "_AsyncRun__scheduleImmediateClosure", "$get$_AsyncRun__scheduleImmediateClosure", () => A._AsyncRun__initializeScheduleImmediate());
    _lazyFinal($, "Future__nullFuture", "$get$Future__nullFuture", () => A.findType("_Future<Null>")._as($.$get$nullFuture()));
    _lazyFinal($, "_RootZone__rootMap", "$get$_RootZone__rootMap", () => {
      var t1 = type$.dynamic;
      return A.HashMap_HashMap(null, null, null, 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))));
    _lazy($, "_Base64Decoder__emptyBuffer", "$get$_Base64Decoder__emptyBuffer", () => A.NativeUint8List_NativeUint8List(0));
    _lazyFinal($, "Encoding__nameToEncoding", "$get$Encoding__nameToEncoding", () => A.LinkedHashMap_LinkedHashMap$_literal(["iso_8859-1:1987", B.C_Latin1Codec, "iso-ir-100", B.C_Latin1Codec, "iso_8859-1", B.C_Latin1Codec, "iso-8859-1", B.C_Latin1Codec, "latin1", B.C_Latin1Codec, "l1", B.C_Latin1Codec, "ibm819", B.C_Latin1Codec, "cp819", B.C_Latin1Codec, "csisolatin1", B.C_Latin1Codec, "iso-ir-6", B.C_AsciiCodec, "ansi_x3.4-1968", B.C_AsciiCodec, "ansi_x3.4-1986", B.C_AsciiCodec, "iso_646.irv:1991", B.C_AsciiCodec, "iso646-us", B.C_AsciiCodec, "us-ascii", B.C_AsciiCodec, "us", B.C_AsciiCodec, "ibm367", B.C_AsciiCodec, "cp367", B.C_AsciiCodec, "csascii", B.C_AsciiCodec, "ascii", B.C_AsciiCodec, "csutf8", B.Utf8Codec_false, "utf-8", B.Utf8Codec_false], type$.String, A.findType("Encoding")));
    _lazyFinal($, "_Uri__isWindowsCached", "$get$_Uri__isWindowsCached", () => typeof process != "undefined" && Object.prototype.toString.call(process) == "[object process]" && process.platform == "win32");
    _lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false));
    _lazy($, "_hasErrorStackProperty", "$get$_hasErrorStackProperty", () => new Error().stack != void 0);
    _lazyFinal($, "DateTime__parseFormat", "$get$DateTime__parseFormat", () => A.RegExp_RegExp("^([+-]?\\d{4,6})-?(\\d\\d)-?(\\d\\d)(?:[ T](\\d\\d)(?::?(\\d\\d)(?::?(\\d\\d)(?:[.,](\\d+))?)?)?( ?[zZ]| ?([-+])(\\d\\d)(?::?(\\d\\d))?)?)?$", true, false));
    _lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_xQ6));
    _lazyFinal($, "Stopwatch__frequency", "$get$Stopwatch__frequency", () => {
      A.Primitives_initTicker();
      return $.Primitives_timerFrequency;
    });
    _lazyFinal($, "_scannerTables", "$get$_scannerTables", () => A._createTables());
    _lazyFinal($, "_FakeUserTag__defaultTag", "$get$_FakeUserTag__defaultTag", () => A._FakeUserTag__FakeUserTag("Default"));
    _lazy($, "_currentTag", "$get$_currentTag", () => $.$get$_FakeUserTag__defaultTag());
    _lazyFinal($, "CssStyleDeclaration__propertyCache", "$get$CssStyleDeclaration__propertyCache", () => ({}));
    _lazyFinal($, "Device_isOpera", "$get$Device_isOpera", () => B.JSString_methods.contains$2(A.Device_userAgent(), "Opera", 0));
    _lazyFinal($, "Device_isIE", "$get$Device_isIE", () => !$.$get$Device_isOpera() && B.JSString_methods.contains$2(A.Device_userAgent(), "Trident/", 0));
    _lazyFinal($, "Device_isFirefox", "$get$Device_isFirefox", () => B.JSString_methods.contains$2(A.Device_userAgent(), "Firefox", 0));
    _lazyFinal($, "Device_isWebKit", "$get$Device_isWebKit", () => !$.$get$Device_isOpera() && B.JSString_methods.contains$2(A.Device_userAgent(), "WebKit", 0));
    _lazyFinal($, "Device_cssPrefix", "$get$Device_cssPrefix", () => "-" + $.$get$Device_propertyPrefix() + "-");
    _lazyFinal($, "Device_propertyPrefix", "$get$Device_propertyPrefix", () => {
      if ($.$get$Device_isFirefox())
        var t1 = "moz";
      else if ($.$get$Device_isIE())
        t1 = "ms";
      else
        t1 = $.$get$Device_isOpera() ? "o" : "webkit";
      return t1;
    });
    _lazyFinal($, "_context", "$get$_context", () => A._castToJsObject(A._wrapToDart(self)));
    _lazyFinal($, "_DART_OBJECT_PROPERTY_NAME", "$get$_DART_OBJECT_PROPERTY_NAME", () => A.getIsolateAffinityTag("_$dart_dartObject"));
    _lazyFinal($, "_dartProxyCtor", "$get$_dartProxyCtor", () => function DartObject(o) {
      this.o = o;
    });
    _lazyFinal($, "Endian_host", "$get$Endian_host", () => A.ByteData_ByteData$view(A.NativeUint16List_NativeUint16List$fromList(A._setArrayType([1], type$.JSArray_int)).buffer, 0, null).getInt8(0) === 1 ? B.C_Endian : B.C_Endian0);
    _lazyFinal($, "channelBuffers", "$get$channelBuffers", () => new A.ChannelBuffers(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("_Channel"))));
    _lazyFinal($, "platformViewRegistry", "$get$platformViewRegistry", () => new A.PlatformViewRegistry());
    _lazyFinal($, "DragAndDropManager__instance", "$get$DragAndDropManager__instance", () => {
      var t1 = new A.DragAndDropManagerWeb(A.LinkedHashSet_LinkedHashSet$_empty(A.findType("DragAndDropState")));
      t1.init$0();
      return t1;
    });
    _lazyFinal($, "HostPlatform_instance", "$get$HostPlatform_instance", () => {
      var t1 = new A.HostPlatform();
      t1.__HostPlatform__isMacOS = B.JSString_methods.contains$1(A.window().navigator.userAgent, "Macintosh");
      return t1;
    });
    _lazyFinal($, "maxJsInt", "$get$maxJsInt", () => A._asInt(A.pow(2, 52)));
    _lazyFinal($, "nf", "$get$nf", () => A.NumberFormat_NumberFormat$decimalPattern());
    _lazyFinal($, "LogicalKeySetExtension__modifiers", "$get$LogicalKeySetExtension__modifiers", () => A.LinkedHashSet_LinkedHashSet$_literal([B.LogicalKeyboardKey_8589935092, B.LogicalKeyboardKey_8589935088, B.LogicalKeyboardKey_8589935094, B.LogicalKeyboardKey_8589935090], type$.LogicalKeyboardKey));
    _lazyFinal($, "LogicalKeySetExtension__modifierNames", "$get$LogicalKeySetExtension__modifierNames", () => A.LinkedHashMap_LinkedHashMap$_literal([B.LogicalKeyboardKey_8589935092, "Alt", B.LogicalKeyboardKey_8589935088, "Control", B.LogicalKeyboardKey_8589935094, "Meta", B.LogicalKeyboardKey_8589935090, "Shift"], type$.LogicalKeyboardKey, type$.String));
    _lazyFinal($, "_AppSizeBodyState_diffTab", "$get$_AppSizeBodyState_diffTab", () => A.DevToolsTab_DevToolsTab$create("appSizeTab", B.ValueKey_e0h, "Diff", null));
    _lazyFinal($, "_AppSizeBodyState_analysisTab", "$get$_AppSizeBodyState_analysisTab", () => A.DevToolsTab_DevToolsTab$create("appSizeTab", B.ValueKey_M88, "Analysis", null));
    _lazyFinal($, "_AppSizeBodyState_tabs", "$get$_AppSizeBodyState_tabs", () => A._setArrayType([$.$get$_AppSizeBodyState_analysisTab(), $.$get$_AppSizeBodyState_diffTab()], type$.JSArray_DevToolsTab));
    _lazyFinal($, "debuggerCodeViewSearchKey", "$get$debuggerCodeViewSearchKey", () => A.GlobalKey_GlobalKey("DebuggerCodeViewSearchKey", type$.State_StatefulWidget));
    _lazyFinal($, "defaultScriptPopupMenuOptions", "$get$defaultScriptPopupMenuOptions", () => A._setArrayType([$.$get$copyPackagePathOption(), $.$get$copyFilePathOption(), $.$get$goToLineOption(), $.$get$openFileOption()], A.findType("JSArray<ScriptPopupMenuOption>")));
    _lazyFinal($, "copyPackagePathOption", "$get$copyPackagePathOption", () => A.ScriptPopupMenuOption$(B.IconData_57744_MaterialIcons_false, "Copy package path", new A.copyPackagePathOption_closure()));
    _lazyFinal($, "copyFilePathOption", "$get$copyFilePathOption", () => A.ScriptPopupMenuOption$(B.IconData_57744_MaterialIcons_false, "Copy file path", new A.copyFilePathOption_closure()));
    _lazyFinal($, "goToLineOption", "$get$goToLineOption", () => A.ScriptPopupMenuOption$(B.IconData_58244_MaterialIcons_true, "Go to line number (" + A.S($.$get$goToLineNumberKeySetDescription()) + ")", A.codeview__showGoToLineDialog$closure()));
    _lazyFinal($, "openFileOption", "$get$openFileOption", () => A.ScriptPopupMenuOption$(B.IconData_58020_MaterialIcons_false, "Open file (" + A.S($.$get$openFileKeySetDescription()) + ")", A.codeview__showFileOpener$closure()));
    _lazyFinal($, "ExceptionMode_modes", "$get$ExceptionMode_modes", () => A._setArrayType([A.ExceptionMode$("None", "Ignore exceptions", "Don't stop on exceptions"), A.ExceptionMode$("Unhandled", "Uncaught exceptions", "Stop on uncaught exceptions"), A.ExceptionMode$("All", "All exceptions", "Stop on all exceptions")], A.findType("JSArray<ExceptionMode>")));
    _lazyFinal($, "_log", "$get$_log", () => new A.DebugTimingLogger("debugger", true));
    _lazyFinal($, "DebuggerScreenBody_codeViewKey", "$get$DebuggerScreenBody_codeViewKey", () => A.GlobalKey_GlobalKey("codeViewKey", type$.State_StatefulWidget));
    _lazyFinal($, "goToLineNumberKeySet", "$get$goToLineNumberKeySet", () => A.LogicalKeySet$($.$get$HostPlatform_instance().get$_isMacOS() ? B.LogicalKeyboardKey_8589935094 : B.LogicalKeyboardKey_8589935088, B.LogicalKeyboardKey_103));
    _lazyFinal($, "goToLineNumberKeySetDescription", "$get$goToLineNumberKeySetDescription", () => A.LogicalKeySetExtension_describeKeys($.$get$goToLineNumberKeySet(), $.$get$HostPlatform_instance().get$_isMacOS()));
    _lazyFinal($, "searchInFileKeySet", "$get$searchInFileKeySet", () => A.LogicalKeySet$($.$get$HostPlatform_instance().get$_isMacOS() ? B.LogicalKeyboardKey_8589935094 : B.LogicalKeyboardKey_8589935088, B.LogicalKeyboardKey_102));
    _lazyFinal($, "escapeKeySet", "$get$escapeKeySet", () => A.LogicalKeySet$(B.LogicalKeyboardKey_4294967323, null));
    _lazyFinal($, "openFileKeySet", "$get$openFileKeySet", () => A.LogicalKeySet$($.$get$HostPlatform_instance().get$_isMacOS() ? B.LogicalKeyboardKey_8589935094 : B.LogicalKeyboardKey_8589935088, B.LogicalKeyboardKey_112));
    _lazyFinal($, "openFileKeySetDescription", "$get$openFileKeySetDescription", () => A.LogicalKeySetExtension_describeKeys($.$get$openFileKeySet(), $.$get$HostPlatform_instance().get$_isMacOS()));
    _lazyFinal($, "ScopeSpan__scopeStack", "$get$ScopeSpan__scopeStack", () => A.ListQueue$(null, type$.nullable_String));
    _lazyFinal($, "_colorIconMaker", "$get$_colorIconMaker", () => new A.ColorIconMaker(A.LinkedHashMap_LinkedHashMap$_empty(type$.Color, A.findType("ColorIcon"))));
    _lazyFinal($, "_customIconMaker", "$get$_customIconMaker", () => A.CustomIconMaker$());
    _lazyFinal($, "defaultIcon", "$get$defaultIcon", () => A.findType("CustomIcon")._as($.$get$_customIconMaker().getCustomIcon$2$kind("Default", B.IconKind_o0y)));
    _lazyFinal($, "diagnosticLevelUtils", "$get$diagnosticLevelUtils", () => A.EnumUtils$(B.List_kyU, A.findType("DiagnosticLevel")));
    _lazyFinal($, "treeStyleUtils", "$get$treeStyleUtils", () => A.EnumUtils$(B.List_ylm, A.findType("DiagnosticsTreeStyle")));
    _lazyFinal($, "RemoteDiagnosticsNode_iconMaker", "$get$RemoteDiagnosticsNode_iconMaker", () => A.CustomIconMaker$());
    _lazyFinal($, "_flexLayoutExpando", "$get$_flexLayoutExpando", () => A.Expando$(type$.FlexLayoutProperties));
    _lazyFinal($, "FlexLayoutProperties__directionUtils", "$get$FlexLayoutProperties__directionUtils", () => A.EnumUtils$(B.List_Axis_0_Axis_1, A.findType("Axis")));
    _lazyFinal($, "FlexLayoutProperties__mainAxisAlignmentUtils", "$get$FlexLayoutProperties__mainAxisAlignmentUtils", () => A.EnumUtils$(B.List_MvE, type$.MainAxisAlignment));
    _lazyFinal($, "FlexLayoutProperties__mainAxisSizeUtils", "$get$FlexLayoutProperties__mainAxisSizeUtils", () => A.EnumUtils$(B.List_MainAxisSize_0_MainAxisSize_1, A.findType("MainAxisSize")));
    _lazyFinal($, "FlexLayoutProperties__crossAxisAlignmentUtils", "$get$FlexLayoutProperties__crossAxisAlignmentUtils", () => A.EnumUtils$(B.List_yjx, type$.CrossAxisAlignment));
    _lazyFinal($, "FlexLayoutProperties__textDirectionUtils", "$get$FlexLayoutProperties__textDirectionUtils", () => A.EnumUtils$(B.List_TextDirection_0_TextDirection_1, A.findType("TextDirection")));
    _lazyFinal($, "FlexLayoutProperties__verticalDirectionUtils", "$get$FlexLayoutProperties__verticalDirectionUtils", () => A.EnumUtils$(B.List_6Vn, A.findType("VerticalDirection")));
    _lazyFinal($, "FlexLayoutProperties__textBaselineUtils", "$get$FlexLayoutProperties__textBaselineUtils", () => A.EnumUtils$(B.List_TextBaseline_0_TextBaseline_1, type$.TextBaseline));
    _lazyFinal($, "_polyfillReadyExpando", "$get$_polyfillReadyExpando", () => A.Expando$(type$.Future_dynamic));
    _lazyFinal($, "regular", "$get$regular", () => {
      var _null = null;
      return A.TextStyle$(_null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, A.defaultFontSize(), _null, _null, _null, _null, _null, true, _null, _null, _null, _null, _null, _null, _null, _null);
    });
    _lazyFinal($, "treeNodePrimaryDescriptionPattern", "$get$treeNodePrimaryDescriptionPattern", () => A.RegExp_RegExp("^([\\w ]+)(.*)$", true, false));
    _lazyFinal($, "assertionThrownBuildingError", "$get$assertionThrownBuildingError", () => A.RegExp_RegExp("^(The following assertion was thrown building [a-zA-Z]+)(\\(.*\\))(:)$", true, false));
    _lazyFinal($, "_VisualizeFlexChildrenState_selectedChildKey", "$get$_VisualizeFlexChildrenState_selectedChildKey", () => A.GlobalKey_GlobalKey("selectedChild", type$.State_StatefulWidget));
    _lazyFinal($, "OverflowIndicatorPainter_indicatorPaint", "$get$OverflowIndicatorPainter_indicatorPaint", () => {
      var t1 = A.Paint_Paint();
      t1.set$shader(A.Gradient_Gradient$linear(B.Offset_0_0, B.Offset_10_10, A._setArrayType([B.Color_3204448256, B.Color_3221225216, B.Color_3221225216, B.Color_3204448256], type$.JSArray_Color), A._setArrayType([0.25, 0.25, 0.75, 0.75], type$.JSArray_double), B.TileMode_1, null));
      return t1;
    });
    _lazyFinal($, "timeFormat", "$get$timeFormat", () => A.DateFormat$("HH:mm:ss.SSS", null));
    _lazyFinal($, "loggingSearchFieldKey", "$get$loggingSearchFieldKey", () => A.GlobalKey_GlobalKey("LoggingSearchFieldKey", type$.State_StatefulWidget));
    _lazy($, "fieldsStack", "$get$fieldsStack", () => new A.ClassFields(A._setArrayType([], type$.JSArray_String)));
    _lazyFinal($, "_memoryLogFilename", "$get$_memoryLogFilename", () => "memory_log_" + A.DateFormat$("yyyyMMdd_HH_mm", null).format$1(0, A.DateTime$now()));
    _lazyFinal($, "displayDurationsStrings", "$get$displayDurationsStrings", () => A._setArrayType(["Default", B.JSInt_methods.toString$0(A.chartDuration(B.ChartInterval_1).get$inMinutes()), B.JSInt_methods.toString$0(A.chartDuration(B.ChartInterval_2).get$inMinutes()), B.JSInt_methods.toString$0(A.chartDuration(B.ChartInterval_3).get$inMinutes()), "All"], type$.JSArray_String));
    _lazyFinal($, "MemoryLog__fs", "$get$MemoryLog__fs", () => {
      var t1 = type$.String;
      return new A.FileSystemWeb(A.LinkedHashMap_LinkedHashMap$_empty(t1, t1));
    });
    _lazy($, "HeapGraph_classSentinel", "$get$HeapGraph_classSentinel", () => new A.HeapGraphClassSentinel(A._setArrayType([], type$.JSArray_HeapGraphElementLive)));
    _lazy($, "HeapGraph_elementSentinel", "$get$HeapGraph_elementSentinel", () => new A.HeapGraphElementSentinel());
    _lazyFinal($, "memorySearchFieldKey", "$get$memorySearchFieldKey", () => A.GlobalKey_GlobalKey("MemorySearchFieldKey", type$.State_StatefulWidget));
    _lazyFinal($, "knownClassesRegExs", "$get$knownClassesRegExs", () => A.buildRegExs(B.Map_wo0));
    _lazy($, "Reference_empty", "$get$Reference_empty", () => {
      var _null = null;
      return A.Reference$_internal(_null, _null, false, false, false, false, false, false, false, false, "<empty>", _null, _null);
    });
    _lazy($, "AnalysisField_empty", "$get$AnalysisField_empty", () => new A.AnalysisField(null, null, A._setArrayType([], type$.JSArray_AnalysisField)));
    _lazy($, "FieldReference_empty", "$get$FieldReference_empty", () => {
      var _null = null;
      return new A.FieldReference(_null, _null, _null, "<empty>", _null, false, false, A._setArrayType([], type$.JSArray_FieldReference));
    });
    _lazy($, "FieldReference_sentinel", "$get$FieldReference_sentinel", () => {
      var _null = null;
      return new A.FieldReference(_null, _null, _null, "<sentinel>", _null, false, false, A._setArrayType([], type$.JSArray_FieldReference));
    });
    _lazyFinal($, "MemoryChartPane_hoverKey", "$get$MemoryChartPane_hoverKey", () => A.GlobalKey_GlobalKey("Chart Hover", type$.State_StatefulWidget));
    _lazyFinal($, "MemoryVMChartState_capacityColor", "$get$MemoryVMChartState_capacityColor", () => {
      var t1 = B.MaterialColor_Map_HFpTk_4288585374.$index(0, 400);
      t1.toString;
      return t1;
    });
    _lazyFinal($, "legendKey", "$get$legendKey", () => A.GlobalKey_GlobalKey("Legend Button", type$.State_StatefulWidget));
    _lazyFinal($, "MemoryTimeline__milliFormat", "$get$MemoryTimeline__milliFormat", () => A.DateFormat$("HH:mm:ss.SSS", null));
    _lazy($, "predefinedNull", "$get$predefinedNull", () => A.LibraryClass$("dart:core", "Null"));
    _lazy($, "predefinedString", "$get$predefinedString", () => A.LibraryClass$("dart:core", "_OneByteString"));
    _lazy($, "predefinedList", "$get$predefinedList", () => A.LibraryClass$("dart:core", "_List"));
    _lazy($, "predefinedMap", "$get$predefinedMap", () => A.LibraryClass$("dart:collection", "_InternalLinkedHashMap"));
    _lazy($, "predefinedHashMap", "$get$predefinedHashMap", () => A.LibraryClass$("dart:collection", "_HashMap"));
    _lazy($, "predefinedClasses", "$get$predefinedClasses", () => {
      var _s9_ = "dart:core";
      return A.LinkedHashMap_LinkedHashMap$_literal([A.LibraryClass$(_s9_, "bool"), B.Predefined_bool_true, A.LibraryClass$(_s9_, "_Mint"), B.Predefined_int_true, A.LibraryClass$(_s9_, "_Double"), B.Predefined_Double_true, $.$get$predefinedString(), B.Predefined_String_true, $.$get$predefinedList(), B.Predefined_List_false, $.$get$predefinedMap(), B.Predefined_Map_false, $.$get$predefinedHashMap(), B.Predefined_HashMap_false, $.$get$predefinedNull(), B.Predefined_Null_true], type$.LibraryClass, A.findType("Predefined"));
    });
    _lazyFinal($, "networkSearchFieldKey", "$get$networkSearchFieldKey", () => A.GlobalKey_GlobalKey("NetworkSearchFieldKey", type$.State_StatefulWidget));
    _lazy($, "NetworkRequestsTable_methodColumn", "$get$NetworkRequestsTable_methodColumn", () => new A.MethodColumn("Method", null, A.scaleByFontFactor(70), null, B.ColumnAlignment_0));
    _lazy($, "NetworkRequestsTable_addressColumn", "$get$NetworkRequestsTable_addressColumn", () => new A.UriColumn("Uri", null, null, A.scaleByFontFactor(100), B.ColumnAlignment_0));
    _lazy($, "NetworkRequestsTable_statusColumn", "$get$NetworkRequestsTable_statusColumn", () => new A.StatusColumn("Status", null, A.scaleByFontFactor(62), null, B.ColumnAlignment_1));
    _lazy($, "NetworkRequestsTable_typeColumn", "$get$NetworkRequestsTable_typeColumn", () => new A.TypeColumn("Type", null, A.scaleByFontFactor(62), null, B.ColumnAlignment_1));
    _lazy($, "NetworkRequestsTable_durationColumn", "$get$NetworkRequestsTable_durationColumn", () => new A.DurationColumn("Duration", null, A.scaleByFontFactor(80), null, B.ColumnAlignment_1));
    _lazy($, "NetworkRequestsTable_timestampColumn", "$get$NetworkRequestsTable_timestampColumn", () => new A.TimestampColumn("Timestamp", null, A.scaleByFontFactor(135), null, B.ColumnAlignment_1));
    _lazy($, "NetworkRequestsTable_actionsColumn", "$get$NetworkRequestsTable_actionsColumn", () => new A.ActionsColumn("", null, A.scaleByFontFactor(32), null, B.ColumnAlignment_1));
    _lazyFinal($, "timelineSearchFieldKey", "$get$timelineSearchFieldKey", () => A.GlobalKey_GlobalKey("TimelineSearchFieldKey", type$.State_StatefulWidget));
    _lazy($, "CpuProfilerController_baseStateCpuProfileData", "$get$CpuProfilerController_baseStateCpuProfileData", () => A.CpuProfileData_CpuProfileData$empty());
    _lazy($, "CpuProfilerController_emptyAppStartUpProfile", "$get$CpuProfilerController_emptyAppStartUpProfile", () => A.CpuProfileData_CpuProfileData$empty());
    _lazyFinal($, "_CpuProfileTimelineTree__timelineTreeExpando", "$get$_CpuProfileTimelineTree__timelineTreeExpando", () => A.Expando$(A.findType("_CpuProfileTimelineTree")));
    _lazyFinal($, "profilerScreenSearchFieldKey", "$get$profilerScreenSearchFieldKey", () => A.GlobalKey_GlobalKey("ProfilerScreenSearchFieldKey", type$.State_StatefulWidget));
    _lazyFinal($, "serviceProvider", "$get$serviceProvider", () => {
      A.createSentinel();
      return new A.StreamProvider(new A.serviceProvider_closure(), null, null, null, A.findType("StreamProvider<VmServiceWrapper>"));
    });
    _lazyFinal($, "evalProvider", "$get$evalProvider", () => $.$get$libraryEvalProvider().create$1(0, "dart:io"));
    _lazyFinal($, "providerEvalProvider", "$get$providerEvalProvider", () => $.$get$libraryEvalProvider().create$1(0, "package:provider/src/provider.dart"));
    _lazyFinal($, "libraryEvalProvider", "$get$libraryEvalProvider", () => {
      var _null = null;
      return new A.FutureProviderFamily(new A.libraryEvalProvider_closure(), _null, _null, _null, _null, A.findType("FutureProviderFamily<EvalOnDartLibrary,String>"));
    });
    _lazyFinal($, "hotRestartEventProvider", "$get$hotRestartEventProvider", () => {
      var _null = null;
      return new A.ChangeNotifierProvider(new A._NotifierProvider(_null, new A.hotRestartEventProvider_closure(), A.modifierName(_null, "notifier"), _null, _null, A.findType("_NotifierProvider<ValueNotifier<~>>")), A.createSentinel(), _null, _null, _null, A.findType("ChangeNotifierProvider<ValueNotifier<~>>"));
    });
    _lazyFinal($, "_privateConstructorUsedError", "$get$_privateConstructorUsedError", () => A.UnsupportedError$(string$.It_see));
    _lazyFinal($, "instanceProvider", "$get$instanceProvider", () => A.AutoDisposeFutureProviderFamily$(new A.instanceProvider_closure(), null, type$.InstanceDetails, A.findType("InstancePath")));
    _lazyFinal($, "_packageNameExp", "$get$_packageNameExp", () => A.RegExp_RegExp("package:(.+?)/", true, false));
    _lazyFinal($, "_providerChanged", "$get$_providerChanged", () => {
      var _null = null;
      return new A.AutoDisposeStreamProviderFamily(new A._providerChanged_closure(), _null, _null, _null, _null, A.findType("AutoDisposeStreamProviderFamily<~,String>"));
    });
    _lazyFinal($, "isExpandedProvider", "$get$isExpandedProvider", () => {
      var _null = null;
      return new A.StateProviderFamily(new A.isExpandedProvider_closure(), _null, _null, _null, _null, A.findType("StateProviderFamily<bool,InstancePath>"));
    });
    _lazyFinal($, "estimatedChildCountProvider", "$get$estimatedChildCountProvider", () => {
      var _null = null;
      return new A.AutoDisposeProviderFamily(new A.estimatedChildCountProvider_closure(), _null, _null, _null, _null, A.findType("AutoDisposeProviderFamily<int,InstancePath>"));
    });
    _lazyFinal($, "_privateConstructorUsedError0", "$get$_privateConstructorUsedError0", () => A.UnsupportedError$(string$.It_see));
    _lazyFinal($, "selectedProviderIdProvider", "$get$selectedProviderIdProvider", () => {
      var _null = null;
      return new A.AutoDisposeStateNotifierProvider(new A._AutoDisposeNotifierProvider(new A.selectedProviderIdProvider_closure(), _null, _null, _null, "selectedProviderIdProvider.notifier", _null, _null, A.findType("_AutoDisposeNotifierProvider<StateController<String?>,String?>")), A.createSentinel(), _null, _null, "selectedProviderIdProvider", _null, _null, A.findType("AutoDisposeStateNotifierProvider<StateController<String?>,String?>"));
    });
    _lazyFinal($, "_providerListChanged", "$get$_providerListChanged", () => {
      var _null = null;
      return A.AutoDisposeStreamProvider$(new A._providerListChanged_closure(), _null, _null, _null, _null, _null, type$.void);
    });
    _lazyFinal($, "_rawProviderIdsProvider", "$get$_rawProviderIdsProvider", () => {
      var _null = null;
      return A.AutoDisposeFutureProvider$(new A._rawProviderIdsProvider_closure(), _null, _null, _null, _null, "_rawProviderIdsProvider", type$.List_String);
    });
    _lazyFinal($, "_rawProviderNodeProvider", "$get$_rawProviderNodeProvider", () => A.AutoDisposeFutureProviderFamily$(new A._rawProviderNodeProvider_closure(), "_rawProviderNodeProvider", type$.ProviderNode, type$.String));
    _lazyFinal($, "sortedProviderNodesProvider", "$get$sortedProviderNodesProvider", () => {
      var _null = null;
      return A.AutoDisposeFutureProvider$(new A.sortedProviderNodesProvider_closure(), _null, _null, _null, _null, _null, type$.List_ProviderNode);
    });
    _lazyFinal($, "_hasErrorProvider", "$get$_hasErrorProvider", () => B.C_AutoDisposeProviderBuilder.call$1$1(new A._hasErrorProvider_closure(), type$.bool));
    _lazyFinal($, "_selectedProviderNode", "$get$_selectedProviderNode", () => {
      var _null = null;
      return A.AutoDisposeProvider$(new A._selectedProviderNode_closure(), _null, _null, _null, _null, _null, _null, type$.nullable_ProviderNode);
    });
    _lazyFinal($, "_showInternals", "$get$_showInternals", () => A.StateProvider$(new A._showInternals_closure(), null, null, null, type$.bool));
    _lazy($, "VMDeveloperToolsScreenBody_views", "$get$VMDeveloperToolsScreenBody_views", () => {
      var t1 = A._setArrayType([B.VMStatisticsView_iDF, B.IsolateStatisticsView_TGg], A.findType("JSArray<VMDeveloperView>"));
      return t1;
    });
    _lazyFinal($, "JsonToServiceCache__kTrue", "$get$JsonToServiceCache__kTrue", () => {
      var _null = null;
      return A.Instance$(_null, A.ClassRef$("json-cache-bool", _null, "bool"), _null, _null, "json-cache-true", -1, "Bool", _null, "true");
    });
    _lazyFinal($, "JsonToServiceCache__kFalse", "$get$JsonToServiceCache__kFalse", () => {
      var _null = null;
      return A.Instance$(_null, A.ClassRef$("json-cache-bool", _null, "bool"), _null, _null, "json-cache-false", -1, "Bool", _null, "false");
    });
    _lazyFinal($, "JsonToServiceCache__kNull", "$get$JsonToServiceCache__kNull", () => {
      var _null = null;
      return A.Instance$(_null, A.ClassRef$("json-cache-null-cls", _null, "Null"), _null, _null, "json-cache-null", -1, "Null", _null, _null);
    });
    _lazyFinal($, "JsonToServiceCache__kListClass", "$get$JsonToServiceCache__kListClass", () => A.ClassRef$("json-cache-list-class", null, "List"));
    _lazyFinal($, "JsonToServiceCache__kMapClass", "$get$JsonToServiceCache__kMapClass", () => A.ClassRef$("json-cache-map-class", null, "Map"));
    _lazyFinal($, "debugAllowBanner", "$get$debugAllowBanner", () => {
      var _null = null;
      return A.ToggleableServiceExtensionDescription$_(_null, _null, false, _null, B.AssetImageIcon_wwd, true, "ext.flutter.debugAllowBanner", _null, "debugBanner", "inspector", false, false, "Debug Banner", "Toggle Debug Banner", type$.bool);
    });
    _lazyFinal($, "invertOversizedImages", "$get$invertOversizedImages", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_2nU, false, "https://flutter.dev/docs/development/tools/devtools/inspector#highlight-oversized-images", B.ThemedImageIcon_en0, true, "ext.flutter.invertOversizedImages", "highlightOversizedImagesDocs", "highlightOversizedImages", "inspector", false, false, "Highlight Oversized Images", "Highlight images that are using too much memory by inverting colors and flipping them.", type$.bool));
    _lazyFinal($, "debugPaint", "$get$debugPaint", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_IMP, false, "https://flutter.dev/docs/development/tools/devtools/inspector#show-guidelines", B.ThemedImageIcon_4QF, true, "ext.flutter.debugPaint", "debugPaintDocs", "debugPaint", "inspector", false, false, "Show Guidelines", "Overlay guidelines to assist with fixing layout issues.", type$.bool));
    _lazyFinal($, "debugPaintBaselines", "$get$debugPaintBaselines", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_wIq, false, "https://flutter.dev/docs/development/tools/devtools/inspector#show-baselines", B.ThemedImageIcon_GZj, true, "ext.flutter.debugPaintBaselinesEnabled", "paintBaselineDocs", "paintBaseline", "inspector", false, false, "Show Baselines", "Show baselines, which are used to position text. Can be useful for checking if text is aligned.", type$.bool));
    _lazyFinal($, "performanceOverlay", "$get$performanceOverlay", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_aXU, false, "https://flutter.dev/docs/perf/rendering/ui-performance#the-performance-overlay", B.ThemedImageIcon_4GZ, true, "ext.flutter.showPerformanceOverlay", "performanceOverlayDocs", "performanceOverlay", "performance", false, false, "Performance Overlay", "Overlay a performance chart on your app.", type$.bool));
    _lazyFinal($, "profileWidgetBuilds", "$get$profileWidgetBuilds", () => A.ToggleableServiceExtensionDescription$_("Adds an event to the timeline for every Widget built.", B.ThemedImageIcon_Mo2, false, "https://docs.flutter.dev/development/tools/devtools/performance#track-widget-builds", B.ThemedImageIcon_VUC, true, "ext.flutter.profileWidgetBuilds", "trackWidgetBuildsDocs", "trackRebuilds", "performance", false, false, "Track Widget Builds", "", type$.bool));
    _lazyFinal($, "profileUserWidgetBuilds", "$get$profileUserWidgetBuilds", () => A.ToggleableServiceExtensionDescription$_("Adds an event to the timeline for every Widget created in user code.", B.ThemedImageIcon_Mo2, false, null, B.ThemedImageIcon_VUC, true, "ext.flutter.profileUserWidgetBuilds", null, "trackUserCreatedWidgetBuilds", "performance", false, false, "Track User-Created Widget Builds", "", type$.bool));
    _lazyFinal($, "profileRenderObjectPaints", "$get$profileRenderObjectPaints", () => {
      var t1 = A.Icon$(B.IconData_58043_MaterialIcons_false, null, A.defaultIconSize());
      return A.ToggleableServiceExtensionDescription$_("Adds an event to the timeline for every RenderObject painted.", A.Icon$(B.IconData_58043_MaterialIcons_false, null, A.defaultIconSize()), false, "https://docs.flutter.dev/development/tools/devtools/performance#track-paints", t1, true, "ext.flutter.profileRenderObjectPaints", "trackPaintsDocs", "trackPaints", "performance", false, false, "Track Paints", "", type$.bool);
    });
    _lazyFinal($, "profileRenderObjectLayouts", "$get$profileRenderObjectLayouts", () => {
      var t1 = A.Icon$(B.IconData_57528_MaterialIcons_false, null, A.defaultIconSize());
      return A.ToggleableServiceExtensionDescription$_("Adds an event to the timeline for every RenderObject layout.", A.Icon$(B.IconData_57528_MaterialIcons_false, null, A.defaultIconSize()), false, "https://docs.flutter.dev/development/tools/devtools/performance#track-layouts", t1, true, "ext.flutter.profileRenderObjectLayouts", "trackLayoutsDocs", "trackLayouts", "performance", false, false, "Track Layouts", "", type$.bool);
    });
    _lazyFinal($, "repaintRainbow", "$get$repaintRainbow", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_kid, false, "https://flutter.dev/docs/development/tools/devtools/inspector#highlight-repaints", B.ThemedImageIcon_Gxg, true, "ext.flutter.repaintRainbow", "repaintRainbowDocs", "repaintRainbow", "inspector", false, false, "Highlight Repaints", "Show borders that change color when elements repaint. Useful for finding unnecessary repaints.", type$.bool));
    _lazyFinal($, "slowAnimations", "$get$slowAnimations", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_W7E, 1, "https://flutter.dev/docs/development/tools/devtools/inspector#slow-animations", B.ThemedImageIcon_8mS, 5, "ext.flutter.timeDilation", "slowAnimationDocs", "slowAnimation", "inspector", false, false, "Slow Animations", "Run animations 5 times slower to help fine-tune them.", type$.num));
    _lazyFinal($, "togglePlatformMode", "$get$togglePlatformMode", () => {
      var _null = null,
        t1 = type$.JSArray_String,
        t2 = A._setArrayType(["iOS", "android", "fuchsia", "macOS", "linux"], t1);
      return A.ServiceExtensionDescription$(_null, _null, A._setArrayType(["Platform: iOS", "Platform: Android", "Platform: Fuchsia", "Platform: MacOS", "Platform: Linux"], t1), _null, B.AssetImageIcon_ROq, "ext.flutter.platformOverride", _null, "togglePlatform", "inspector", false, "Override target platform", "Override Target Platform", t2, type$.String);
    });
    _lazyFinal($, "disableClipLayers", "$get$disableClipLayers", () => A.ToggleableServiceExtensionDescription$_("Render all clipping effects during paint.", B.ThemedImageIcon_W7E, false, string$.https_d, B.ThemedImageIcon_8mS, true, "ext.flutter.debugDisableClipLayers", "disableClipLayersDocs", "disableClipLayers", "performance", true, false, "Render Clip layers", "Disable this option to check whether excessive use of clipping is\naffecting performance. If performance improves with this option\ndisabled, try to reduce the use of clipping effects in your app.", type$.bool));
    _lazyFinal($, "disableOpacityLayers", "$get$disableOpacityLayers", () => A.ToggleableServiceExtensionDescription$_("Render all opacity effects during paint.", B.ThemedImageIcon_W7E, false, string$.https_d, B.ThemedImageIcon_8mS, true, "ext.flutter.debugDisableOpacityLayers", "disableOpacityLayersDocs", "disableOpacityLayers", "performance", true, false, "Render Opacity layers", "Disable this option to check whether excessive use of opacity\neffects is affecting performance. If performance improves with this\noption disabled, try to reduce the use of opacity effects in your app.", type$.bool));
    _lazyFinal($, "disablePhysicalShapeLayers", "$get$disablePhysicalShapeLayers", () => A.ToggleableServiceExtensionDescription$_("Render all physical modeling effects during paint.", B.ThemedImageIcon_W7E, false, string$.https_d, B.ThemedImageIcon_8mS, true, "ext.flutter.debugDisablePhysicalShapeLayers", "disablePhysicalShapeLayersDocs", "disablePhysicalShapeLayers", "performance", true, false, "Render Physical Shape layers", "Disable this option to check whether excessive use of physical \nmodeling effects is affecting performance (shadows, elevations, etc.). \nIf performance improves with this option disabled, try to reduce the \nuse of physical modeling effects in your app.", type$.bool));
    _lazyFinal($, "httpEnableTimelineLogging", "$get$httpEnableTimelineLogging", () => {
      var _null = null;
      return A.ToggleableServiceExtensionDescription$_(_null, _null, false, _null, B.Placeholder_Color_4282735204_null, true, "ext.dart.io.httpEnableTimelineLogging", _null, _null, _null, false, true, "Whether HTTP timeline logging is enabled", "Toggle HTTP timeline logging", type$.bool);
    });
    _lazyFinal($, "socketProfiling", "$get$socketProfiling", () => {
      var _null = null;
      return A.ToggleableServiceExtensionDescription$_(_null, _null, false, _null, B.Placeholder_Color_4282735204_null, true, "ext.dart.io.socketProfilingEnabled", _null, _null, _null, false, true, "Whether socket profiling is enabled", "Toggle socket profiling", type$.bool);
    });
    _lazyFinal($, "toggleOnDeviceWidgetInspector", "$get$toggleOnDeviceWidgetInspector", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_gg4, false, null, B.ThemedImageIcon_IYE, true, "ext.flutter.inspector.show", null, "showInspector", "inspector", false, false, "Select Widget Mode", "Toggle select widget mode", type$.bool));
    _lazyFinal($, "toggleSelectWidgetMode", "$get$toggleSelectWidgetMode", () => A.ToggleableServiceExtensionDescription$_(null, B.ThemedImageIcon_gg4, false, null, B.ThemedImageIcon_IYE, true, "ext.flutter.inspector.selectMode", null, "selectWidgetMode", "inspector", false, false, "Select widget mode", "Toggle select widget mode", type$.bool));
    _lazyFinal($, "enableOnDeviceInspector", "$get$enableOnDeviceInspector", () => {
      var _null = null;
      return A.ToggleableServiceExtensionDescription$_(_null, _null, false, _null, B.AssetImageIcon_U0W, true, "ext.flutter.inspector.enable", _null, "enableOnDeviceInspector", "inspector", false, false, "Enable on-device inspector", "Toggle on-device inspector", type$.bool);
    });
    _lazyFinal($, "structuredErrors", "$get$structuredErrors", () => {
      var _null = null;
      return A.ToggleableServiceExtensionDescription$_(_null, _null, false, _null, B.AssetImageIcon_Z6u, true, "ext.flutter.inspector.structuredErrors", _null, "structuredErrors", "logging", false, false, "Show structured errors", "Toggle showing structured errors for Flutter framework issues", type$.bool);
    });
    _lazyFinal($, "trackRebuildWidgets", "$get$trackRebuildWidgets", () => {
      var _null = null;
      return A.ToggleableServiceExtensionDescription$_(_null, _null, false, _null, B.AssetImageIcon_wmT, true, "ext.flutter.inspector.trackRebuildDirtyWidgets", _null, "trackRebuildWidgets", "inspector", false, false, "Show Rebuild Counts", "Show widget rebuild counts since the last reload", type$.bool);
    });
    _lazyFinal($, "_extensionDescriptions", "$get$_extensionDescriptions", () => A._setArrayType([$.$get$debugPaint(), $.$get$debugPaintBaselines(), $.$get$repaintRainbow(), $.$get$performanceOverlay(), $.$get$debugAllowBanner(), $.$get$profileWidgetBuilds(), $.$get$toggleOnDeviceWidgetInspector(), $.$get$toggleSelectWidgetMode(), $.$get$enableOnDeviceInspector(), $.$get$togglePlatformMode(), $.$get$slowAnimations(), $.$get$structuredErrors(), $.$get$httpEnableTimelineLogging(), $.$get$socketProfiling(), $.$get$invertOversizedImages(), $.$get$trackRebuildWidgets(), $.$get$disableClipLayers(), $.$get$disableOpacityLayers(), $.$get$disablePhysicalShapeLayers()], A.findType("JSArray<ServiceExtensionDescription<@>>")));
    _lazyFinal($, "serviceExtensionsAllowlist", "$get$serviceExtensionsAllowlist", () => A.LinkedHashMap_LinkedHashMap$fromIterable($.$get$_extensionDescriptions(), new A.serviceExtensionsAllowlist_closure(), new A.serviceExtensionsAllowlist_closure0(), type$.String, A.findType("ServiceExtensionDescription<@>")));
    _lazyFinal($, "_unsafeBeforeFirstFrameFlutterExtensions", "$get$_unsafeBeforeFirstFrameFlutterExtensions", () => B.JSArray_methods.map$1$1(A._setArrayType([$.$get$debugPaint(), $.$get$debugPaintBaselines(), $.$get$repaintRainbow(), $.$get$performanceOverlay(), $.$get$debugAllowBanner(), $.$get$toggleOnDeviceWidgetInspector(), $.$get$toggleSelectWidgetMode(), $.$get$enableOnDeviceInspector(), $.$get$togglePlatformMode(), $.$get$slowAnimations()], A.findType("JSArray<ServiceExtensionDescription<@>>")), new A._unsafeBeforeFirstFrameFlutterExtensions_closure(), type$.String).toSet$0(0));
    _lazyFinal($, "hotReload", "$get$hotReload", () => A.RegisteredServiceDescription$_("hotReload", "main", A.AssetImageIcon$("icons/hot-reload-white@2x.png", A.actionsIconSize(), A.actionsIconSize()), "reloadSources", "Hot Reload"));
    _lazyFinal($, "hotRestart", "$get$hotRestart", () => {
      var _s10_ = "hotRestart";
      return A.RegisteredServiceDescription$_(_s10_, "main", A.Icon$(B.IconData_58754_MaterialIcons_false, null, A.actionsIconSize()), _s10_, "Hot Restart");
    });
    _lazyFinal($, "goldenRatio", "$get$goldenRatio", () => 1 + A.sqrt(5) / 2);
    _lazyFinal($, "_notificationWidth", "$get$_notificationWidth", () => A.scaleByFontFactor(175) * $.$get$goldenRatio());
    _lazyFinal($, "SurveyService__metadataUrl", "$get$SurveyService__metadataUrl", () => A._Uri__makeHttpUri("https", "docs.flutter.dev", "/f/dart-devtools-survey-metadata.json", null));
    _lazy($, "searchFocusBorderColor", "$get$searchFocusBorderColor", () => A.BorderSide$(B.MaterialColor_Map_JNwaj_4280391411, B.StrokeAlign_0, B.BorderStyle_1, 2));
    _lazy($, "_devToolsTitle", "$get$_devToolsTitle", () => A.ValueNotifier$("", type$.String));
    _lazyFinal($, "searchMatchColorOpaque", "$get$searchMatchColorOpaque", () => B.MaterialColor_Map_JNHRl_4294961979.withOpacity$1(0.5));
    _lazyFinal($, "activeSearchMatchColorOpaque", "$get$activeSearchMatchColorOpaque", () => B.MaterialAccentColor_Map_iTsEs_4294945600.withOpacity$1(0.5));
    _lazyFinal($, "_identifier", "$get$_identifier", () => A.RegExp_RegExp("^[a-zA-Z0-9]|_|\\$", true, false));
    _lazyFinal($, "searchAutoCompleteKey", "$get$searchAutoCompleteKey", () => A.GlobalKey_GlobalKey("SearchAutoComplete", type$.State_StatefulWidget));
    _lazyFinal($, "FileSelectorPlatform__token", "$get$FileSelectorPlatform__token", () => new A.Object());
    _lazy($, "FileSelectorPlatform__instance", "$get$FileSelectorPlatform__instance", () => new A.MethodChannelFileSelector($.$get$FileSelectorPlatform__token()));
    _lazyFinal($, "_kFlingSpringDescription", "$get$_kFlingSpringDescription", () => A.SpringDescription$withDampingRatio(1, 1, 500));
    _lazyFinal($, "cupertinoDesktopTextSelectionControls", "$get$cupertinoDesktopTextSelectionControls", () => new A._CupertinoDesktopTextSelectionControls());
    _lazyFinal($, "_kRightMiddleTween", "$get$_kRightMiddleTween", () => A.Tween$(B.Offset_1_0, B.Offset_0_0, type$.Offset));
    _lazyFinal($, "_kMiddleLeftTween", "$get$_kMiddleLeftTween", () => A.Tween$(B.Offset_0_0, B.Offset_Oho, type$.Offset));
    _lazy($, "_CupertinoEdgeShadowDecoration_kTween", "$get$_CupertinoEdgeShadowDecoration_kTween", () => A.DecorationTween$(B._CupertinoEdgeShadowDecoration_null, B._CupertinoEdgeShadowDecoration_0m8));
    _lazyFinal($, "cupertinoTextSelectionControls", "$get$cupertinoTextSelectionControls", () => new A.CupertinoTextSelectionControls());
    _lazyFinal($, "_testPlatform", "$get$_testPlatform", () => new A._testPlatform_closure().call$0());
    _lazyFinal($, "_browserPlatform", "$get$_browserPlatform", () => new A._browserPlatform_closure().call$0());
    _lazy($, "FlutterError_onError", "$get$FlutterError_onError", () => $.FlutterError_presentError);
    _lazyFinal($, "ChangeNotifier__emptyListeners", "$get$ChangeNotifier__emptyListeners", () => A.List_List$filled(0, null, false, type$.nullable_void_Function));
    _lazyFinal($, "sparseTextConfiguration", "$get$sparseTextConfiguration", () => A.TextTreeConfiguration$(true, "", ":", "", "", "", "", "", true, false, "\n", true, "\u2502", "", "\u2514\u2500", "\u251c\u2500", " ", " ", "\u2502 ", "  ", "", true, ""));
    _lazyFinal($, "dashedTextConfiguration", "$get$dashedTextConfiguration", () => A.TextTreeConfiguration$(true, "", ":", "", "", "", "", "", true, false, "\n", true, "\u254e", "", "\u2514\u254c", "\u254e\u254c", " ", " ", "\u2502 ", "  ", "", true, ""));
    _lazyFinal($, "denseTextConfiguration", "$get$denseTextConfiguration", () => A.TextTreeConfiguration$(false, "", ":", ")", "", "(", "", "", false, false, "\n", false, "\u2502", "", "\u2514", "\u251c", "", "", "\u2502", " ", ", ", true, ""));
    _lazyFinal($, "transitionTextConfiguration", "$get$transitionTextConfiguration", () => A.TextTreeConfiguration$(false, ":", " \u2550\u2550\u2550", "", "", "", "  ", " \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550", false, true, "\n", true, "\u2502", "", "\u2558\u2550\u2566\u2550\u2550 ", "\u255e\u2550\u2566\u2550\u2550 ", " \u2551 ", "", "", "", "", true, ""));
    _lazyFinal($, "errorTextConfiguration", "$get$errorTextConfiguration", () => A.TextTreeConfiguration$(false, "", ":", "", "\u2550\u2550\u2561 ", "", "", " \u255a\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550", false, false, "\n", true, "\u2502", "\u2550\u2550\u2550\u2550\u2550", "\u2558\u2550\u2566", "\u255e\u2550\u2566", " \u2551 ", "", "", "", "", true, " \u255e\u2550\u2550"));
    _lazyFinal($, "whitespaceTextConfiguration", "$get$whitespaceTextConfiguration", () => A.TextTreeConfiguration$(false, ":", ":", "", "", "", "", "", false, false, "\n", true, " ", "", "", "", " ", "  ", "", "", "", true, ""));
    _lazyFinal($, "flatTextConfiguration", "$get$flatTextConfiguration", () => A.TextTreeConfiguration$(false, ":", ":", "", "", "", "", "", false, false, "\n", true, "", "", "", "", "", "", "", "", "", true, ""));
    _lazyFinal($, "singleLineTextConfiguration", "$get$singleLineTextConfiguration", () => A.TextTreeConfiguration$(false, "", ":", ")", "", "(", "", "", true, false, "", false, "", "", "", "", "", "", "  ", "  ", ", ", false, ""));
    _lazyFinal($, "errorPropertyTextConfiguration", "$get$errorPropertyTextConfiguration", () => A.TextTreeConfiguration$(false, "", ":", ")", "", "(", "", "", true, true, "\n", false, "", "", "", "", "", "", "  ", "  ", ", ", false, ""));
    _lazyFinal($, "shallowTextConfiguration", "$get$shallowTextConfiguration", () => A.TextTreeConfiguration$(false, ":", ":", "", "", "", "", "", false, false, "\n", true, " ", "", "", "", " ", "  ", "", "", "", false, ""));
    _lazyFinal($, "_debugPrintBuffer", "$get$_debugPrintBuffer", () => A.ListQueue$(null, type$.String));
    _lazyFinal($, "_debugPrintStopwatch", "$get$_debugPrintStopwatch", () => A.Stopwatch$());
    _lazyFinal($, "WriteBuffer__zeroBuffer", "$get$WriteBuffer__zeroBuffer", () => A.NativeUint8List_NativeUint8List(8));
    _lazyFinal($, "StackFrame__webNonDebugFramePattern", "$get$StackFrame__webNonDebugFramePattern", () => A.RegExp_RegExp("^\\s*at ([^\\s]+).*$", true, false));
    _lazyFinal($, "DataTable__headingRowKey", "$get$DataTable__headingRowKey", () => A.UniqueKey$());
    _lazyFinal($, "desktopTextSelectionControls", "$get$desktopTextSelectionControls", () => new A._DesktopTextSelectionControls());
    _lazyFinal($, "_ExpansionTileState__easeOutTween", "$get$_ExpansionTileState__easeOutTween", () => A.CurveTween$(B.Cubic_xDo0));
    _lazyFinal($, "_ExpansionTileState__easeInTween", "$get$_ExpansionTileState__easeInTween", () => A.CurveTween$(B.Cubic_JUR0));
    _lazyFinal($, "_ExpansionTileState__halfTween", "$get$_ExpansionTileState__halfTween", () => A.Tween$(0, 0.5, type$.double));
    _lazyFinal($, "_ScalingFabMotionAnimator__rotationTween", "$get$_ScalingFabMotionAnimator__rotationTween", () => A.Tween$(0.75, 1, type$.double));
    _lazyFinal($, "_ScalingFabMotionAnimator__thresholdCenterTween", "$get$_ScalingFabMotionAnimator__thresholdCenterTween", () => A.CurveTween$(B.Threshold_znv));
    _lazyFinal($, "InkRipple__easeCurveTween", "$get$InkRipple__easeCurveTween", () => A.CurveTween$(B.Cubic_JUR));
    _lazyFinal($, "InkRipple__fadeOutIntervalTween", "$get$InkRipple__fadeOutIntervalTween", () => A.CurveTween$(B.Interval_75R0));
    _lazyFinal($, "_ZoomPageTransition_fastOutExtraSlowInTweenSequenceItems", "$get$_ZoomPageTransition_fastOutExtraSlowInTweenSequenceItems", () => {
      var t1 = type$.double;
      return A._setArrayType([A.TweenSequenceItem$(A.Tween$(0, 0.4, t1).chain$1(A.CurveTween$(B.Cubic_HzT)), 0.166666, t1), A.TweenSequenceItem$(A.Tween$(0.4, 1, t1).chain$1(A.CurveTween$(B.Cubic_bP1)), 0.833334, t1)], A.findType("JSArray<TweenSequenceItem<double>>"));
    });
    _lazyFinal($, "_ZoomPageTransition__scaleCurveSequence", "$get$_ZoomPageTransition__scaleCurveSequence", () => A.TweenSequence$($.$get$_ZoomPageTransition_fastOutExtraSlowInTweenSequenceItems(), type$.double));
    _lazyFinal($, "_ZoomEnterTransition__fadeInTransition", "$get$_ZoomEnterTransition__fadeInTransition", () => A.Tween$(0, 1, type$.double).chain$1(A.CurveTween$(B.Interval_75R)));
    _lazyFinal($, "_ZoomEnterTransition__scaleDownTransition", "$get$_ZoomEnterTransition__scaleDownTransition", () => A.Tween$(1.1, 1, type$.double).chain$1($.$get$_ZoomPageTransition__scaleCurveSequence()));
    _lazyFinal($, "_ZoomEnterTransition__scaleUpTransition", "$get$_ZoomEnterTransition__scaleUpTransition", () => A.Tween$(0.85, 1, type$.double).chain$1($.$get$_ZoomPageTransition__scaleCurveSequence()));
    _lazyFinal($, "_ZoomEnterTransition__scrimOpacityTween", "$get$_ZoomEnterTransition__scrimOpacityTween", () => A.Tween$(0, 0.6, type$.nullable_double).chain$1(A.CurveTween$(B.Interval_EeP)));
    _lazyFinal($, "_ZoomExitTransition__fadeOutTransition", "$get$_ZoomExitTransition__fadeOutTransition", () => A.Tween$(1, 0, type$.double).chain$1(A.CurveTween$(B.Interval_ulv)));
    _lazyFinal($, "_ZoomExitTransition__scaleUpTransition", "$get$_ZoomExitTransition__scaleUpTransition", () => A.Tween$(1, 1.05, type$.double).chain$1($.$get$_ZoomPageTransition__scaleCurveSequence()));
    _lazyFinal($, "_ZoomExitTransition__scaleDownTransition", "$get$_ZoomExitTransition__scaleDownTransition", () => A.Tween$(1, 0.9, type$.double).chain$1($.$get$_ZoomPageTransition__scaleCurveSequence()));
    _lazyFinal($, "_CircularProgressIndicatorState__strokeHeadTween", "$get$_CircularProgressIndicatorState__strokeHeadTween", () => A.CurveTween$(B.Interval_oqF0).chain$1(A.CurveTween$(B.SawTooth_2222)));
    _lazyFinal($, "_CircularProgressIndicatorState__strokeTailTween", "$get$_CircularProgressIndicatorState__strokeTailTween", () => A.CurveTween$(B.Interval_oqF).chain$1(A.CurveTween$(B.SawTooth_2222)));
    _lazyFinal($, "_CircularProgressIndicatorState__offsetTween", "$get$_CircularProgressIndicatorState__offsetTween", () => A.CurveTween$(B.SawTooth_2222));
    _lazyFinal($, "_CircularProgressIndicatorState__rotationTween", "$get$_CircularProgressIndicatorState__rotationTween", () => A.CurveTween$(B.SawTooth_1333));
    _lazyFinal($, "_FloatingActionButtonTransitionState__entranceTurnTween", "$get$_FloatingActionButtonTransitionState__entranceTurnTween", () => A.Tween$(0.875, 1, type$.double).chain$1(A.CurveTween$(B.Cubic_JUR0)));
    _lazyFinal($, "materialTextSelectionControls", "$get$materialTextSelectionControls", () => new A.MaterialTextSelectionControls());
    _lazyFinal($, "Theme__kFallbackTheme", "$get$Theme__kFallbackTheme", () => A.ThemeData_ThemeData$fallback());
    _lazyFinal($, "ThemeData__localizedThemeDataCache", "$get$ThemeData__localizedThemeDataCache", () => new A._FifoCache(A.LinkedHashMap_LinkedHashMap$_empty(A.findType("_IdentityThemeDataCacheKey"), type$.ThemeData), 5, A.findType("_FifoCache<_IdentityThemeDataCacheKey,ThemeData>")));
    _lazyFinal($, "AssetImage__extractRatioRegExp", "$get$AssetImage__extractRatioRegExp", () => A.RegExp_RegExp("/?(\\d+(\\.\\d*)?)x$", true, false));
    _lazyFinal($, "MatrixUtils__minMax", "$get$MatrixUtils__minMax", () => A.NativeFloat64List_NativeFloat64List(4));
    _lazy($, "RenderErrorBox_backgroundColor", "$get$RenderErrorBox_backgroundColor", () => B.Color_4039164096);
    _lazy($, "RenderErrorBox_textStyle", "$get$RenderErrorBox_textStyle", () => {
      var _null = null;
      return A.TextStyle_TextStyle(_null, B.Color_4281348144, _null, _null, _null, _null, "sans-serif", _null, _null, 18, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null);
    });
    _lazy($, "RenderErrorBox_paragraphStyle", "$get$RenderErrorBox_paragraphStyle", () => {
      var _null = null;
      return A.ParagraphStyle_ParagraphStyle(_null, _null, _null, _null, _null, _null, _null, _null, _null, B.TextAlign_0, B.TextDirection_1, _null);
    });
    _lazyFinal($, "_SemanticsGeometry__temporaryTransformHolder", "$get$_SemanticsGeometry__temporaryTransformHolder", () => A.Matrix4$zero());
    _lazyFinal($, "RenderParagraph__placeholderCharacter", "$get$RenderParagraph__placeholderCharacter", () => A.String_String$fromCharCode(65532));
    _lazyFinal($, "_transparentPaint", "$get$_transparentPaint", () => {
      var t1 = A.Paint_Paint();
      t1.set$color(0, B.Color_0);
      return t1;
    });
    _lazyFinal($, "SemanticsNode__kEmptyConfig", "$get$SemanticsNode__kEmptyConfig", () => A.SemanticsConfiguration$());
    _lazyFinal($, "SemanticsNode__kEmptyChildList", "$get$SemanticsNode__kEmptyChildList", () => A.NativeInt32List_NativeInt32List(0));
    _lazyFinal($, "SemanticsNode__kEmptyCustomSemanticsActionsList", "$get$SemanticsNode__kEmptyCustomSemanticsActionsList", () => A.NativeInt32List_NativeInt32List(0));
    _lazyFinal($, "SemanticsNode__kIdentityTransform", "$get$SemanticsNode__kIdentityTransform", () => A.Matrix4_Matrix4$identity()._m4storage);
    _lazyFinal($, "rootBundle", "$get$rootBundle", () => {
      var t1 = type$.String;
      return new A.PlatformAssetBundle(A.LinkedHashMap_LinkedHashMap$_empty(t1, A.findType("Future<String>")), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Future_dynamic));
    });
    _lazyFinal($, "KeyboardLockMode__knownLockModes", "$get$KeyboardLockMode__knownLockModes", () => A.LinkedHashMap_LinkedHashMap$_literal([4294967562, B.KeyboardLockMode_LogicalKeyboardKey_4294967562, 4294967564, B.KeyboardLockMode_LogicalKeyboardKey_4294967564, 4294967556, B.KeyboardLockMode_LogicalKeyboardKey_4294967556], type$.int, type$.KeyboardLockMode));
    _lazyFinal($, "LogicalKeyboardKey__synonyms", "$get$LogicalKeyboardKey__synonyms", () => {
      var t1 = type$.LogicalKeyboardKey;
      return A.LinkedHashMap_LinkedHashMap$_literal([B.LogicalKeyboardKey_8589934850, B.LogicalKeyboardKey_8589935090, B.LogicalKeyboardKey_8589934851, B.LogicalKeyboardKey_8589935090, B.LogicalKeyboardKey_8589934854, B.LogicalKeyboardKey_8589935094, B.LogicalKeyboardKey_8589934855, B.LogicalKeyboardKey_8589935094, B.LogicalKeyboardKey_8589934852, B.LogicalKeyboardKey_8589935092, B.LogicalKeyboardKey_8589934853, B.LogicalKeyboardKey_8589935092, B.LogicalKeyboardKey_8589934848, B.LogicalKeyboardKey_8589935088, B.LogicalKeyboardKey_8589934849, B.LogicalKeyboardKey_8589935088], t1, t1);
    });
    _lazyFinal($, "RawKeyboard_instance", "$get$RawKeyboard_instance", () => new A.RawKeyboard(A._setArrayType([], A.findType("JSArray<~(RawKeyEvent)>")), A.LinkedHashMap_LinkedHashMap$_empty(type$.PhysicalKeyboardKey, type$.LogicalKeyboardKey)));
    _lazyFinal($, "RawKeyboard__modifierKeyMap", "$get$RawKeyboard__modifierKeyMap", () => {
      var t1 = type$.PhysicalKeyboardKey;
      return A.LinkedHashMap_LinkedHashMap$_literal([B._ModifierSidePair_ModifierKey_2_KeyboardSide_1, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458978], t1), B._ModifierSidePair_ModifierKey_2_KeyboardSide_2, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458982], t1), B._ModifierSidePair_ModifierKey_2_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458978, B.PhysicalKeyboardKey_458982], t1), B._ModifierSidePair_ModifierKey_2_KeyboardSide_0, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458978], t1), B._ModifierSidePair_ModifierKey_1_KeyboardSide_1, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458977], t1), B._ModifierSidePair_ModifierKey_1_KeyboardSide_2, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458981], t1), B._ModifierSidePair_ModifierKey_1_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458977, B.PhysicalKeyboardKey_458981], t1), B._ModifierSidePair_ModifierKey_1_KeyboardSide_0, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458977], t1), B._ModifierSidePair_ModifierKey_0_KeyboardSide_1, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458976], t1), B._ModifierSidePair_ModifierKey_0_KeyboardSide_2, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458980], t1), B._ModifierSidePair_ModifierKey_0_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458976, B.PhysicalKeyboardKey_458980], t1), B._ModifierSidePair_ModifierKey_0_KeyboardSide_0, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458976], t1), B._ModifierSidePair_ModifierKey_3_KeyboardSide_1, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458979], t1), B._ModifierSidePair_ModifierKey_3_KeyboardSide_2, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458983], t1), B._ModifierSidePair_ModifierKey_3_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458979, B.PhysicalKeyboardKey_458983], t1), B._ModifierSidePair_ModifierKey_3_KeyboardSide_0, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458979], t1), B._ModifierSidePair_ModifierKey_4_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458809], t1), B._ModifierSidePair_ModifierKey_5_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458835], t1), B._ModifierSidePair_ModifierKey_6_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_458823], t1), B._ModifierSidePair_ModifierKey_7_KeyboardSide_3, A.LinkedHashSet_LinkedHashSet$_literal([B.PhysicalKeyboardKey_18], t1)], A.findType("_ModifierSidePair"), A.findType("Set<PhysicalKeyboardKey>"));
    });
    _lazyFinal($, "RawKeyboard__allModifiersExceptFn", "$get$RawKeyboard__allModifiersExceptFn", () => A.LinkedHashMap_LinkedHashMap$_literal([B.PhysicalKeyboardKey_458978, B.LogicalKeyboardKey_8589934852, B.PhysicalKeyboardKey_458982, B.LogicalKeyboardKey_8589934853, B.PhysicalKeyboardKey_458977, B.LogicalKeyboardKey_8589934850, B.PhysicalKeyboardKey_458981, B.LogicalKeyboardKey_8589934851, B.PhysicalKeyboardKey_458976, B.LogicalKeyboardKey_8589934848, B.PhysicalKeyboardKey_458980, B.LogicalKeyboardKey_8589934849, B.PhysicalKeyboardKey_458979, B.LogicalKeyboardKey_8589934854, B.PhysicalKeyboardKey_458983, B.LogicalKeyboardKey_8589934855, B.PhysicalKeyboardKey_458809, B.LogicalKeyboardKey_4294967556, B.PhysicalKeyboardKey_458835, B.LogicalKeyboardKey_4294967562, B.PhysicalKeyboardKey_458823, B.LogicalKeyboardKey_4294967564], type$.PhysicalKeyboardKey, type$.LogicalKeyboardKey));
    _lazyFinal($, "RawKeyboard__allModifiers", "$get$RawKeyboard__allModifiers", () => {
      var t2, t3,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.PhysicalKeyboardKey, type$.LogicalKeyboardKey);
      t1.$indexSet(0, B.PhysicalKeyboardKey_18, B.LogicalKeyboardKey_4294967558);
      for (t2 = $.$get$RawKeyboard__allModifiersExceptFn(), t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      return t1;
    });
    _lazyFinal($, "FilteringTextInputFormatter_singleLineFormatter", "$get$FilteringTextInputFormatter_singleLineFormatter", () => new A.FilteringTextInputFormatter("\n", false, ""));
    _lazyFinal($, "FilteringTextInputFormatter_digitsOnly", "$get$FilteringTextInputFormatter_digitsOnly", () => new A.FilteringTextInputFormatter(A.RegExp_RegExp("[0-9]", true, false), true, ""));
    _lazyFinal($, "TextInput__instance", "$get$TextInput__instance", () => {
      var t1 = new A.TextInput(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("ScribbleClient")));
      t1.__TextInput__channel = B.OptionalMethodChannel_PLF;
      t1.get$_channel().setMethodCallHandler$1(t1.get$_handleTextInputInvocation());
      return t1;
    });
    _lazy($, "WidgetsApp_defaultActions", "$get$WidgetsApp_defaultActions", () => {
      var t1 = A.findType("~(Action<Intent>)");
      return A.LinkedHashMap_LinkedHashMap$_literal([B.Type_DoNothingIntent_IQR, A.DoNothingAction$(true), B.Type_s8I, A.DoNothingAction$(false), B.Type_RequestFocusIntent_OPB, new A.RequestFocusAction(A.ObserverList$(t1)), B.Type_NextFocusIntent_6xB, new A.NextFocusAction(A.ObserverList$(t1)), B.Type_PreviousFocusIntent_wsa, new A.PreviousFocusAction(A.ObserverList$(t1)), B.Type_DirectionalFocusIntent_evN, new A.DirectionalFocusAction(false, A.ObserverList$(t1)), B.Type_ScrollIntent_mpH, new A.ScrollAction(A.ObserverList$(t1)), B.Type_PrioritizedIntents_fLu, new A.PrioritizedAction(A.ObserverList$(t1)), B.Type_VoidCallbackIntent_sEX, new A.VoidCallbackAction(A.ObserverList$(t1))], type$.Type, type$.Action_Intent);
    });
    _lazyFinal($, "DefaultTextEditingShortcuts__commonShortcuts", "$get$DefaultTextEditingShortcuts__commonShortcuts", () => {
      var t3, _i, pressShift, t4, t5,
        t1 = type$.Intent,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, t1);
      for (t3 = A.findType("SingleActivator"), _i = 0; _i < 2; ++_i) {
        pressShift = B.List_true_false[_i];
        for (t4 = A.LinkedHashMap_LinkedHashMap$_literal([A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, false, false, pressShift), B.DeleteCharacterIntent_false, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, true, false, pressShift), B.DeleteToNextWordBoundaryIntent_false, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, true, false, false, pressShift), B.DeleteToLineBreakIntent_false, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, false, false, pressShift), B.DeleteCharacterIntent_true, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, true, false, pressShift), B.DeleteToNextWordBoundaryIntent_true, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, true, false, false, pressShift), B.DeleteToLineBreakIntent_true], t3, t1), t4 = t4.get$entries(t4), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
          t5 = t4.get$current(t4);
          t2.$indexSet(0, t5.get$key(t5), t5.get$value(t5));
        }
      }
      t2.$indexSet(0, B.SingleActivator_j8H7, B.ExtendSelectionByCharacterIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H8, B.ExtendSelectionByCharacterIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H9, B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H10, B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H11, B.ExtendSelectionByCharacterIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H12, B.ExtendSelectionByCharacterIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H13, B.ExtendSelectionVerticallyToAdjacentLineIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H14, B.ExtendSelectionVerticallyToAdjacentLineIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H15, B.ExtendSelectionToLineBreakIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H16, B.ExtendSelectionToLineBreakIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H17, B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H18, B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H19, B.ExtendSelectionToLineBreakIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H20, B.ExtendSelectionToLineBreakIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H21, B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H22, B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H23, B.ExtendSelectionToNextWordBoundaryIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H24, B.ExtendSelectionToNextWordBoundaryIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H25, B.ExtendSelectionToNextWordBoundaryIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H26, B.ExtendSelectionToNextWordBoundaryIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_mmH, B.CopySelectionTextIntent_true);
      t2.$indexSet(0, B.SingleActivator_mmH0, B.CopySelectionTextIntent_false);
      t2.$indexSet(0, B.SingleActivator_mmH1, B.C_PasteTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH2, B.C_SelectAllTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH3, B.C_UndoTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH4, B.C_RedoTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH5, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_gc6, B.C_DoNothingAndStopPropagationTextIntent);
      return t2;
    });
    _lazyFinal($, "DefaultTextEditingShortcuts__androidShortcuts", "$get$DefaultTextEditingShortcuts__androidShortcuts", () => $.$get$DefaultTextEditingShortcuts__commonShortcuts());
    _lazyFinal($, "DefaultTextEditingShortcuts__fuchsiaShortcuts", "$get$DefaultTextEditingShortcuts__fuchsiaShortcuts", () => $.$get$DefaultTextEditingShortcuts__androidShortcuts());
    _lazyFinal($, "DefaultTextEditingShortcuts__linuxShortcuts", "$get$DefaultTextEditingShortcuts__linuxShortcuts", () => {
      var t2, t3,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, type$.Intent);
      for (t2 = $.$get$DefaultTextEditingShortcuts__commonShortcuts(), t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      t1.$indexSet(0, B.SingleActivator_j8H, B.ExtendSelectionToLineBreakIntent_true_false_false_false);
      t1.$indexSet(0, B.SingleActivator_j8H0, B.ExtendSelectionToLineBreakIntent_true_false_false_true);
      t1.$indexSet(0, B.SingleActivator_j8H1, B.ExtendSelectionToLineBreakIntent_false_false_false_false);
      t1.$indexSet(0, B.SingleActivator_j8H2, B.ExtendSelectionToLineBreakIntent_false_false_false_true);
      return t1;
    });
    _lazyFinal($, "DefaultTextEditingShortcuts__macShortcuts", "$get$DefaultTextEditingShortcuts__macShortcuts", () => {
      var t3, _i, pressShift, t4, t5,
        t1 = type$.Intent,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, t1);
      for (t3 = A.findType("SingleActivator"), _i = 0; _i < 2; ++_i) {
        pressShift = B.List_true_false[_i];
        for (t4 = A.LinkedHashMap_LinkedHashMap$_literal([A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, false, false, pressShift), B.DeleteCharacterIntent_false, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, true, false, false, pressShift), B.DeleteToNextWordBoundaryIntent_false, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, false, true, pressShift), B.DeleteToLineBreakIntent_false, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, false, false, pressShift), B.DeleteCharacterIntent_true, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, true, false, false, pressShift), B.DeleteToNextWordBoundaryIntent_true, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, false, true, pressShift), B.DeleteToLineBreakIntent_true], t3, t1), t4 = t4.get$entries(t4), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
          t5 = t4.get$current(t4);
          t2.$indexSet(0, t5.get$key(t5), t5.get$value(t5));
        }
      }
      t2.$indexSet(0, B.SingleActivator_j8H7, B.ExtendSelectionByCharacterIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H8, B.ExtendSelectionByCharacterIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H9, B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H10, B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H11, B.ExtendSelectionByCharacterIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H12, B.ExtendSelectionByCharacterIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H13, B.ExtendSelectionVerticallyToAdjacentLineIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H14, B.ExtendSelectionVerticallyToAdjacentLineIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H15, B.ExtendSelectionToNextWordBoundaryIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H16, B.ExtendSelectionToNextWordBoundaryIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H17, B.ExtendSelectionToLineBreakIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H18, B.ExtendSelectionToLineBreakIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H19, B.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent_false);
      t2.$indexSet(0, B.SingleActivator_j8H20, B.ExtendSelectionToNextWordBoundaryOrCaretLocationIntent_true);
      t2.$indexSet(0, B.SingleActivator_j8H21, B.ExtendSelectionToLineBreakIntent_false_true_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H22, B.ExtendSelectionToLineBreakIntent_false_true_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H27, B.ExtendSelectionToLineBreakIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H28, B.ExtendSelectionToLineBreakIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H29, B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H30, B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_j8H31, B.ExpandSelectionToLineBreakIntent_false);
      t2.$indexSet(0, B.SingleActivator_j8H32, B.ExpandSelectionToLineBreakIntent_true);
      t2.$indexSet(0, B.SingleActivator_j8H33, B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_false);
      t2.$indexSet(0, B.SingleActivator_j8H34, B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_true);
      t2.$indexSet(0, B.SingleActivator_mmH6, B.C_TransposeCharactersIntent);
      t2.$indexSet(0, B.SingleActivator_j8H, B.ScrollToDocumentBoundaryIntent_false);
      t2.$indexSet(0, B.SingleActivator_j8H0, B.ScrollToDocumentBoundaryIntent_true);
      t2.$indexSet(0, B.SingleActivator_j8H1, B.ExpandSelectionToDocumentBoundaryIntent_false);
      t2.$indexSet(0, B.SingleActivator_j8H2, B.ExpandSelectionToDocumentBoundaryIntent_true);
      t2.$indexSet(0, B.SingleActivator_mmH7, B.CopySelectionTextIntent_true);
      t2.$indexSet(0, B.SingleActivator_mmH8, B.CopySelectionTextIntent_false);
      t2.$indexSet(0, B.SingleActivator_mmH9, B.C_PasteTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH10, B.C_SelectAllTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH11, B.C_UndoTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH12, B.C_RedoTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH13, B.ExtendSelectionToLineBreakIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_mmH2, B.ExtendSelectionToLineBreakIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_mmH14, B.ExtendSelectionByCharacterIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_mmH15, B.ExtendSelectionByCharacterIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_mmH16, B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_true);
      t2.$indexSet(0, B.SingleActivator_mmH17, B.ExtendSelectionVerticallyToAdjacentLineIntent_true_false_false_false);
      t2.$indexSet(0, B.SingleActivator_mmH5, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_gc6, B.C_DoNothingAndStopPropagationTextIntent);
      return t2;
    });
    _lazyFinal($, "DefaultTextEditingShortcuts__iOSShortcuts", "$get$DefaultTextEditingShortcuts__iOSShortcuts", () => $.$get$DefaultTextEditingShortcuts__macShortcuts());
    _lazyFinal($, "DefaultTextEditingShortcuts__windowsShortcuts", "$get$DefaultTextEditingShortcuts__windowsShortcuts", () => {
      var t2, t3,
        t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, type$.Intent);
      for (t2 = $.$get$DefaultTextEditingShortcuts__commonShortcuts(), t2 = t2.get$entries(t2), t2 = t2.get$iterator(t2); t2.moveNext$0();) {
        t3 = t2.get$current(t2);
        t1.$indexSet(0, t3.get$key(t3), t3.get$value(t3));
      }
      t1.$indexSet(0, B.SingleActivator_j8H, B.ExtendSelectionToLineBreakIntent_true_false_true_false);
      t1.$indexSet(0, B.SingleActivator_j8H0, B.ExtendSelectionToLineBreakIntent_true_false_true_true);
      t1.$indexSet(0, B.SingleActivator_j8H1, B.ExtendSelectionToLineBreakIntent_false_false_true_false);
      t1.$indexSet(0, B.SingleActivator_j8H2, B.ExtendSelectionToLineBreakIntent_false_false_true_true);
      t1.$indexSet(0, B.SingleActivator_j8H3, B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_false);
      t1.$indexSet(0, B.SingleActivator_j8H4, B.ExtendSelectionToDocumentBoundaryIntent_true_false_false_true);
      t1.$indexSet(0, B.SingleActivator_j8H5, B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_false);
      t1.$indexSet(0, B.SingleActivator_j8H6, B.ExtendSelectionToDocumentBoundaryIntent_false_false_false_true);
      return t1;
    });
    _lazyFinal($, "DefaultTextEditingShortcuts__webDisablingTextShortcuts", "$get$DefaultTextEditingShortcuts__webDisablingTextShortcuts", () => {
      var t3, _i, pressShift, t4, t5,
        t1 = type$.Intent,
        t2 = A.LinkedHashMap_LinkedHashMap$_empty(type$.ShortcutActivator, t1);
      for (t3 = A.findType("SingleActivator"), _i = 0; _i < 2; ++_i) {
        pressShift = B.List_true_false[_i];
        for (t4 = A.LinkedHashMap_LinkedHashMap$_literal([A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, false, false, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, false, false, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, true, false, false, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, true, false, false, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, true, false, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, true, false, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967304, false, false, true, pressShift), B.C_DoNothingAndStopPropagationTextIntent, A.SingleActivator$(B.LogicalKeyboardKey_4294967423, false, false, true, pressShift), B.C_DoNothingAndStopPropagationTextIntent], t3, t1), t4 = t4.get$entries(t4), t4 = t4.get$iterator(t4); t4.moveNext$0();) {
          t5 = t4.get$current(t4);
          t2.$indexSet(0, t5.get$key(t5), t5.get$value(t5));
        }
      }
      t2.$indexSet(0, B.SingleActivator_j8H18, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H15, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H16, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H17, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H22, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H19, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H20, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H21, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H10, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H7, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H8, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H9, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H23, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H24, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H25, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H26, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H0, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H30, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H27, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H28, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H29, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H34, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H31, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H32, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H33, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H14, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H11, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H12, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H13, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H2, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H1, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H4, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_j8H3, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH5, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_gc6, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH7, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH0, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH8, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH1, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH9, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH2, B.C_DoNothingAndStopPropagationTextIntent);
      t2.$indexSet(0, B.SingleActivator_mmH10, B.C_DoNothingAndStopPropagationTextIntent);
      return t2;
    });
    _lazy($, "_NullElement_instance", "$get$_NullElement_instance", () => new A._NullElement(B._NullWidget_null, B._ElementLifecycle_0));
    _lazyFinal($, "_HeroFlight__reverseTween", "$get$_HeroFlight__reverseTween", () => A.Tween$(1, 0, type$.double));
    _lazy($, "_RouteEntry_notAnnounced", "$get$_RouteEntry_notAnnounced", () => {
      var t1 = A.ValueNotifier$(null, type$.nullable_String),
        t2 = A.Completer_Completer(type$.void);
      return new A._NotAnnounced(B.RouteSettings_null_null, t1, t2);
    });
    _lazyFinal($, "_GlowController__crossAxisHalfTime", "$get$_GlowController__crossAxisHalfTime", () => A.Duration$(16667, 0));
    _lazyFinal($, "ScrollPhysics__kDefaultSpring", "$get$ScrollPhysics__kDefaultSpring", () => A.SpringDescription$withDampingRatio(0.5, 1.1, 100));
    _lazyFinal($, "ScrollPhysics__kDefaultTolerance", "$get$ScrollPhysics__kDefaultTolerance", () => {
      var t1, t2;
      A.WidgetsBinding_instance();
      t1 = $.$get$window();
      t2 = t1.get$devicePixelRatio(t1);
      A.WidgetsBinding_instance();
      return new A.Tolerance(1 / t1.get$devicePixelRatio(t1), 1 / (0.05 * t2));
    });
    _lazyFinal($, "ClampingScrollSimulation__kDecelerationRate", "$get$ClampingScrollSimulation__kDecelerationRate", () => A.log0(0.78) / A.log0(0.9));
    _lazyFinal($, "LogicalKeySet__unmapSynonyms", "$get$LogicalKeySet__unmapSynonyms", () => {
      var t1 = type$.JSArray_LogicalKeyboardKey;
      return A.LinkedHashMap_LinkedHashMap$_literal([B.LogicalKeyboardKey_8589935088, A._setArrayType([B.LogicalKeyboardKey_8589934848, B.LogicalKeyboardKey_8589934849], t1), B.LogicalKeyboardKey_8589935090, A._setArrayType([B.LogicalKeyboardKey_8589934850, B.LogicalKeyboardKey_8589934851], t1), B.LogicalKeyboardKey_8589935092, A._setArrayType([B.LogicalKeyboardKey_8589934852, B.LogicalKeyboardKey_8589934853], t1), B.LogicalKeyboardKey_8589935094, A._setArrayType([B.LogicalKeyboardKey_8589934854, B.LogicalKeyboardKey_8589934855], t1)], type$.LogicalKeyboardKey, A.findType("List<LogicalKeyboardKey>"));
    });
    _lazyFinal($, "kDefaultImageBuilder", "$get$kDefaultImageBuilder", () => new A.kDefaultImageBuilder_closure());
    _lazyFinal($, "kFallbackStyle", "$get$kFallbackStyle", () => new A.kFallbackStyle_closure());
    _lazyFinal($, "_urlParsingNode", "$get$_urlParsingNode", () => {
      var e = A.document().createElement("a");
      return e;
    });
    _lazyFinal($, "_baseElement", "$get$_baseElement", () => A.document().querySelector("base"));
    _lazyFinal($, "webPluginRegistrar", "$get$webPluginRegistrar", () => new A.PluginRegistry(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("Future<ByteData?>?(ByteData?)"))));
    _lazyFinal($, "BaseRequest__tokenRE", "$get$BaseRequest__tokenRE", () => A.RegExp_RegExp("^[\\w!#%&'*+\\-.^`|~]+$", true, false));
    _lazyFinal($, "_escapedChar", "$get$_escapedChar", () => A.RegExp_RegExp('["\\x00-\\x1F\\x7F]', true, false));
    _lazyFinal($, "token", "$get$token", () => A.RegExp_RegExp('[^()<>@,;:"\\\\/[\\]?={} \\t\\x00-\\x1F\\x7F]+', true, false));
    _lazyFinal($, "_lws", "$get$_lws", () => A.RegExp_RegExp("(?:\\r\\n)?[ \\t]+", true, false));
    _lazyFinal($, "_quotedString", "$get$_quotedString", () => A.RegExp_RegExp('"(?:[^"\\x00-\\x1F\\x7F]|\\\\.)*"', true, false));
    _lazyFinal($, "_quotedPair", "$get$_quotedPair", () => A.RegExp_RegExp("\\\\(.)", true, false));
    _lazyFinal($, "nonToken", "$get$nonToken", () => A.RegExp_RegExp('[()<>@,;:"\\\\/\\[\\]?={} \\t\\x00-\\x1F\\x7F]', true, false));
    _lazyFinal($, "whitespace", "$get$whitespace", () => A.RegExp_RegExp("(?:" + $.$get$_lws().pattern + ")*", true, false));
    _lazy($, "VP8Filter_abs0", "$get$VP8Filter_abs0", () => A.NativeUint8List_NativeUint8List(511));
    _lazy($, "VP8Filter_abs1", "$get$VP8Filter_abs1", () => A.NativeUint8List_NativeUint8List(511));
    _lazy($, "VP8Filter_sclip1", "$get$VP8Filter_sclip1", () => A.NativeInt8List_NativeInt8List(2041));
    _lazy($, "VP8Filter_sclip2", "$get$VP8Filter_sclip2", () => A.NativeInt8List_NativeInt8List(225));
    _lazy($, "VP8Filter_clip1", "$get$VP8Filter_clip1", () => A.NativeUint8List_NativeUint8List(766));
    _lazyFinal($, "__uint8", "$get$__uint8", () => A.NativeUint8List_NativeUint8List(1));
    _lazyFinal($, "__uint8ToInt8", "$get$__uint8ToInt8", () => A.Int8List_Int8List$view($.$get$__uint8().buffer));
    _lazyFinal($, "__uint16", "$get$__uint16", () => A.NativeUint16List_NativeUint16List(1));
    _lazyFinal($, "__uint16ToInt16", "$get$__uint16ToInt16", () => A.Int16List_Int16List$view($.$get$__uint16().buffer));
    _lazyFinal($, "__uint32", "$get$__uint32", () => A.NativeUint32List_NativeUint32List(1));
    _lazyFinal($, "__uint32ToInt32", "$get$__uint32ToInt32", () => A.Int32List_Int32List$view($.$get$__uint32().buffer));
    _lazyFinal($, "__uint32ToFloat32", "$get$__uint32ToFloat32", () => A.Float32List_Float32List$view($.$get$__uint32().buffer));
    _lazyFinal($, "__int32", "$get$__int32", () => A.NativeInt32List_NativeInt32List(1));
    _lazyFinal($, "__int32ToUint32", "$get$__int32ToUint32", () => A.Uint32List_Uint32List$view($.$get$__int32().buffer, 0));
    _lazyFinal($, "__float32", "$get$__float32", () => A.NativeFloat32List_NativeFloat32List(1));
    _lazyFinal($, "__float32ToUint32", "$get$__float32ToUint32", () => A.Uint32List_Uint32List$view($.$get$__float32().buffer, 0));
    _lazyFinal($, "__uint64", "$get$__uint64", () => A.Uint64List_Uint64List(1));
    _lazyFinal($, "__uint64ToFloat64", "$get$__uint64ToFloat64", () => {
      var t1 = $.$get$__uint64();
      return A.Float64List_Float64List$view(t1.get$buffer(t1));
    });
    _lazy($, "en_USSymbols", "$get$en_USSymbols", () => new A.DateSymbols("en_US", B.List_BC_AD, B.List_6xs, B.List_qpm, B.List_qpm, B.List_cIc, B.List_cIc, B.List_h8w, B.List_h8w, B.List_wMy, B.List_wMy, B.List_gc6, B.List_gc6, B.List_3US, B.List_Q1_Q2_Q3_Q4, B.List_bJM, B.List_AM_PM));
    _lazy($, "numberFormatSymbols", "$get$numberFormatSymbols", () => {
      var _s1_ = ",", _s1_0 = "\xa0", _s1_1 = "%", _s1_2 = "0", _s1_3 = "+", _s1_4 = "-", _s1_5 = "E", _s1_6 = "\u2030", _s1_7 = "\u221e", _s3_ = "NaN",
        _s9_ = "#,##0.###",
        _s3_0 = "#E0", _s6_ = "#,##0%",
        _s9_0 = "\xa4#,##0.00",
        _s1_8 = ".", _s2_ = "\u200e+", _s2_0 = "\u200e-",
        _s9_1 = "\u0644\u064a\u0633\xa0\u0631\u0642\u0645\u064b\u0627",
        _s10_ = "\xa4\xa0#,##0.00",
        _s10_0 = "#,##0.00\xa0\xa4",
        _s7_ = "#,##0\xa0%",
        _s12_ = "#,##,##0.###",
        _s3_1 = "EUR", _s3_2 = "USD",
        _s21_ = "\xa4\xa0#,##0.00;\xa4-#,##0.00",
        _s3_3 = "CHF",
        _s9_2 = "#,##,##0%",
        _s13_ = "\xa4\xa0#,##,##0.00",
        _s3_4 = "INR", _s1_9 = "\u2212", _s4_ = "\xd710^", _s5_ = "[#E0]",
        _s12_0 = "\xa4#,##,##0.00",
        _s24_ = "\u200f#,##0.00\xa0\xa4;\u200f-#,##0.00\xa0\xa4";
      return A.LinkedHashMap_LinkedHashMap$_literal(["af", A.NumberSymbols$(_s9_0, _s9_, _s1_, "ZAR", _s1_5, _s1_0, _s1_7, _s1_4, "af", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "am", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "ETB", _s1_5, _s1_, _s1_7, _s1_4, "am", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ar", A.NumberSymbols$(_s10_, _s9_, _s1_8, "EGP", _s1_5, _s1_, _s1_7, _s2_0, "ar", _s9_1, "\u200e%\u200e", _s6_, _s1_6, _s2_, _s3_0, _s1_2), "ar_DZ", A.NumberSymbols$(_s10_, _s9_, _s1_, "DZD", _s1_5, _s1_8, _s1_7, _s2_0, "ar_DZ", _s9_1, "\u200e%\u200e", _s6_, _s1_6, _s2_, _s3_0, _s1_2), "ar_EG", A.NumberSymbols$(_s10_0, _s9_, "\u066b", "EGP", "\u0627\u0633", "\u066c", _s1_7, "\u061c-", "ar_EG", "\u0644\u064a\u0633\xa0\u0631\u0642\u0645", "\u066a\u061c", _s6_, "\u0609", "\u061c+", _s3_0, "\u0660"), "az", A.NumberSymbols$(_s10_0, _s9_, _s1_, "AZN", _s1_5, _s1_8, _s1_7, _s1_4, "az", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "be", A.NumberSymbols$(_s10_0, _s9_, _s1_, "BYN", _s1_5, _s1_0, _s1_7, _s1_4, "be", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "bg", A.NumberSymbols$("0.00\xa0\xa4", _s9_, _s1_, "BGN", _s1_5, _s1_0, _s1_7, _s1_4, "bg", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "bn", A.NumberSymbols$("#,##,##0.00\xa4", _s12_, _s1_8, "BDT", _s1_5, _s1_, _s1_7, _s1_4, "bn", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, "\u09e6"), "br", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_0, _s1_7, _s1_4, "br", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "bs", A.NumberSymbols$(_s10_0, _s9_, _s1_, "BAM", _s1_5, _s1_8, _s1_7, _s1_4, "bs", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "ca", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "ca", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "chr", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_2, _s1_5, _s1_, _s1_7, _s1_4, "chr", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "cs", A.NumberSymbols$(_s10_0, _s9_, _s1_, "CZK", _s1_5, _s1_0, _s1_7, _s1_4, "cs", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "cy", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "GBP", _s1_5, _s1_, _s1_7, _s1_4, "cy", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "da", A.NumberSymbols$(_s10_0, _s9_, _s1_, "DKK", _s1_5, _s1_8, _s1_7, _s1_4, "da", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "de", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "de", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "de_AT", A.NumberSymbols$(_s10_, _s9_, _s1_, _s3_1, _s1_5, _s1_0, _s1_7, _s1_4, "de_AT", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "de_CH", A.NumberSymbols$(_s21_, _s9_, _s1_8, _s3_3, _s1_5, "\u2019", _s1_7, _s1_4, "de_CH", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "el", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, "e", _s1_8, _s1_7, _s1_4, "el", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_2, _s1_5, _s1_, _s1_7, _s1_4, "en", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_AU", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "AUD", "e", _s1_, _s1_7, _s1_4, "en_AU", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_CA", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "CAD", "e", _s1_, _s1_7, _s1_4, "en_CA", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_GB", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "GBP", _s1_5, _s1_, _s1_7, _s1_4, "en_GB", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_IE", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_1, _s1_5, _s1_, _s1_7, _s1_4, "en_IE", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_IN", A.NumberSymbols$(_s13_, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "en_IN", _s3_, _s1_1, _s9_2, _s1_6, _s1_3, _s3_0, _s1_2), "en_MY", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "MYR", _s1_5, _s1_, _s1_7, _s1_4, "en_MY", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_SG", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "SGD", _s1_5, _s1_, _s1_7, _s1_4, "en_SG", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_US", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_2, _s1_5, _s1_, _s1_7, _s1_4, "en_US", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "en_ZA", A.NumberSymbols$(_s9_0, _s9_, _s1_, "ZAR", _s1_5, _s1_0, _s1_7, _s1_4, "en_ZA", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "es", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "es", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "es_419", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "MXN", _s1_5, _s1_, _s1_7, _s1_4, "es_419", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "es_ES", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "es_ES", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "es_MX", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "MXN", _s1_5, _s1_, _s1_7, _s1_4, "es_MX", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "es_US", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_2, _s1_5, _s1_, _s1_7, _s1_4, "es_US", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "et", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s4_, _s1_0, _s1_7, _s1_9, "et", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "eu", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_9, "eu", _s3_, _s1_1, "%\xa0#,##0", _s1_6, _s1_3, _s3_0, _s1_2), "fa", A.NumberSymbols$("\u200e\xa4#,##0.00", _s9_, "\u066b", "IRR", "\xd7\u06f1\u06f0^", "\u066c", _s1_7, "\u200e\u2212", "fa", "\u0646\u0627\u0639\u062f\u062f", "\u066a", _s6_, "\u0609", _s2_, _s3_0, "\u06f0"), "fi", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_0, _s1_7, _s1_9, "fi", "ep\xe4luku", _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "fil", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "PHP", _s1_5, _s1_, _s1_7, _s1_4, "fil", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "fr", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, "\u202f", _s1_7, _s1_4, "fr", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "fr_CA", A.NumberSymbols$(_s10_0, _s9_, _s1_, "CAD", _s1_5, _s1_0, _s1_7, _s1_4, "fr_CA", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "fr_CH", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_3, _s1_5, "\u202f", _s1_7, _s1_4, "fr_CH", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ga", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_1, _s1_5, _s1_, _s1_7, _s1_4, "ga", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "gl", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "gl", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "gsw", A.NumberSymbols$(_s10_0, _s9_, _s1_8, _s3_3, _s1_5, "\u2019", _s1_7, _s1_9, "gsw", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "gu", A.NumberSymbols$(_s12_0, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "gu", _s3_, _s1_1, _s9_2, _s1_6, _s1_3, _s5_, _s1_2), "haw", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_2, _s1_5, _s1_, _s1_7, _s1_4, "haw", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "he", A.NumberSymbols$(_s24_, _s9_, _s1_8, "ILS", _s1_5, _s1_, _s1_7, _s2_0, "he", _s3_, _s1_1, _s6_, _s1_6, _s2_, _s3_0, _s1_2), "hi", A.NumberSymbols$(_s12_0, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "hi", _s3_, _s1_1, _s9_2, _s1_6, _s1_3, _s5_, _s1_2), "hr", A.NumberSymbols$(_s10_0, _s9_, _s1_, "HRK", _s1_5, _s1_8, _s1_7, _s1_4, "hr", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "hu", A.NumberSymbols$(_s10_0, _s9_, _s1_, "HUF", _s1_5, _s1_0, _s1_7, _s1_4, "hu", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "hy", A.NumberSymbols$(_s10_0, _s9_, _s1_, "AMD", _s1_5, _s1_0, _s1_7, _s1_4, "hy", "\u0548\u0579\u0539", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "id", A.NumberSymbols$(_s9_0, _s9_, _s1_, "IDR", _s1_5, _s1_8, _s1_7, _s1_4, "id", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "in", A.NumberSymbols$(_s9_0, _s9_, _s1_, "IDR", _s1_5, _s1_8, _s1_7, _s1_4, "in", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "is", A.NumberSymbols$(_s10_0, _s9_, _s1_, "ISK", _s1_5, _s1_8, _s1_7, _s1_4, "is", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "it", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "it", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "it_CH", A.NumberSymbols$(_s21_, _s9_, _s1_8, _s3_3, _s1_5, "\u2019", _s1_7, _s1_4, "it_CH", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "iw", A.NumberSymbols$(_s24_, _s9_, _s1_8, "ILS", _s1_5, _s1_, _s1_7, _s2_0, "iw", _s3_, _s1_1, _s6_, _s1_6, _s2_, _s3_0, _s1_2), "ja", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "JPY", _s1_5, _s1_, _s1_7, _s1_4, "ja", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ka", A.NumberSymbols$(_s10_0, _s9_, _s1_, "GEL", _s1_5, _s1_0, _s1_7, _s1_4, "ka", "\u10d0\u10e0\xa0\u10d0\u10e0\u10d8\u10e1\xa0\u10e0\u10d8\u10ea\u10ee\u10d5\u10d8", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "kk", A.NumberSymbols$(_s10_0, _s9_, _s1_, "KZT", _s1_5, _s1_0, _s1_7, _s1_4, "kk", "\u0441\u0430\u043d\xa0\u0435\u043c\u0435\u0441", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "km", A.NumberSymbols$("#,##0.00\xa4", _s9_, _s1_, "KHR", _s1_5, _s1_8, _s1_7, _s1_4, "km", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "kn", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "kn", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ko", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "KRW", _s1_5, _s1_, _s1_7, _s1_4, "ko", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ky", A.NumberSymbols$(_s10_0, _s9_, _s1_, "KGS", _s1_5, _s1_0, _s1_7, _s1_4, "ky", "\u0441\u0430\u043d\xa0\u044d\u043c\u0435\u0441", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ln", A.NumberSymbols$(_s10_0, _s9_, _s1_, "CDF", _s1_5, _s1_8, _s1_7, _s1_4, "ln", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "lo", A.NumberSymbols$("\xa4#,##0.00;\xa4-#,##0.00", _s9_, _s1_, "LAK", _s1_5, _s1_8, _s1_7, _s1_4, "lo", "\u0e9a\u0ecd\u0ec8\u200b\u0ec1\u0ea1\u0ec8\u0e99\u200b\u0ec2\u0e95\u200b\u0ec0\u0ea5\u0e81", _s1_1, _s6_, _s1_6, _s1_3, "#", _s1_2), "lt", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s4_, _s1_0, _s1_7, _s1_9, "lt", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "lv", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_0, _s1_7, _s1_4, "lv", "NS", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "mk", A.NumberSymbols$(_s10_0, _s9_, _s1_, "MKD", _s1_5, _s1_8, _s1_7, _s1_4, "mk", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ml", A.NumberSymbols$(_s9_0, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "ml", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "mn", A.NumberSymbols$(_s10_, _s9_, _s1_8, "MNT", _s1_5, _s1_, _s1_7, _s1_4, "mn", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "mr", A.NumberSymbols$(_s9_0, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "mr", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s5_, "\u0966"), "ms", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "MYR", _s1_5, _s1_, _s1_7, _s1_4, "ms", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "mt", A.NumberSymbols$(_s9_0, _s9_, _s1_8, _s3_1, _s1_5, _s1_, _s1_7, _s1_4, "mt", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "my", A.NumberSymbols$(_s10_0, _s9_, _s1_8, "MMK", _s1_5, _s1_, _s1_7, _s1_4, "my", "\u1002\u100f\u1014\u103a\u1038\u1019\u101f\u102f\u1010\u103a\u101e\u1031\u102c", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, "\u1040"), "nb", A.NumberSymbols$(_s10_, _s9_, _s1_, "NOK", _s1_5, _s1_0, _s1_7, _s1_9, "nb", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "ne", A.NumberSymbols$(_s10_, _s9_, _s1_8, "NPR", _s1_5, _s1_, _s1_7, _s1_4, "ne", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, "\u0966"), "nl", A.NumberSymbols$("\xa4\xa0#,##0.00;\xa4\xa0-#,##0.00", _s9_, _s1_, _s3_1, _s1_5, _s1_8, _s1_7, _s1_4, "nl", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "no", A.NumberSymbols$(_s10_, _s9_, _s1_, "NOK", _s1_5, _s1_0, _s1_7, _s1_9, "no", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "no_NO", A.NumberSymbols$(_s10_, _s9_, _s1_, "NOK", _s1_5, _s1_0, _s1_7, _s1_9, "no_NO", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "or", A.NumberSymbols$(_s9_0, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "or", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "pa", A.NumberSymbols$(_s13_, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "pa", _s3_, _s1_1, _s9_2, _s1_6, _s1_3, _s5_, _s1_2), "pl", A.NumberSymbols$(_s10_0, _s9_, _s1_, "PLN", _s1_5, _s1_0, _s1_7, _s1_4, "pl", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ps", A.NumberSymbols$(_s10_0, _s9_, "\u066b", "AFN", "\xd7\u06f1\u06f0^", "\u066c", _s1_7, "\u200e-\u200e", "ps", _s3_, "\u066a", _s6_, "\u0609", "\u200e+\u200e", _s3_0, "\u06f0"), "pt", A.NumberSymbols$(_s10_, _s9_, _s1_, "BRL", _s1_5, _s1_8, _s1_7, _s1_4, "pt", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "pt_BR", A.NumberSymbols$(_s10_, _s9_, _s1_, "BRL", _s1_5, _s1_8, _s1_7, _s1_4, "pt_BR", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "pt_PT", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, _s1_5, _s1_0, _s1_7, _s1_4, "pt_PT", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ro", A.NumberSymbols$(_s10_0, _s9_, _s1_, "RON", _s1_5, _s1_8, _s1_7, _s1_4, "ro", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "ru", A.NumberSymbols$(_s10_0, _s9_, _s1_, "RUB", _s1_5, _s1_0, _s1_7, _s1_4, "ru", "\u043d\u0435\xa0\u0447\u0438\u0441\u043b\u043e", _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "si", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "LKR", _s1_5, _s1_, _s1_7, _s1_4, "si", _s3_, _s1_1, _s6_, _s1_6, _s1_3, "#", _s1_2), "sk", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, "e", _s1_0, _s1_7, _s1_4, "sk", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "sl", A.NumberSymbols$(_s10_0, _s9_, _s1_, _s3_1, "e", _s1_8, _s1_7, _s1_9, "sl", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "sq", A.NumberSymbols$(_s10_0, _s9_, _s1_, "ALL", _s1_5, _s1_0, _s1_7, _s1_4, "sq", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "sr", A.NumberSymbols$(_s10_0, _s9_, _s1_, "RSD", _s1_5, _s1_8, _s1_7, _s1_4, "sr", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "sr_Latn", A.NumberSymbols$(_s10_0, _s9_, _s1_, "RSD", _s1_5, _s1_8, _s1_7, _s1_4, "sr_Latn", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "sv", A.NumberSymbols$(_s10_0, _s9_, _s1_, "SEK", _s4_, _s1_0, _s1_7, _s1_9, "sv", _s3_, _s1_1, _s7_, _s1_6, _s1_3, _s3_0, _s1_2), "sw", A.NumberSymbols$(_s10_, _s9_, _s1_8, "TZS", _s1_5, _s1_, _s1_7, _s1_4, "sw", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ta", A.NumberSymbols$(_s13_, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "ta", _s3_, _s1_1, _s9_2, _s1_6, _s1_3, _s3_0, _s1_2), "te", A.NumberSymbols$(_s12_0, _s12_, _s1_8, _s3_4, _s1_5, _s1_, _s1_7, _s1_4, "te", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "th", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "THB", _s1_5, _s1_, _s1_7, _s1_4, "th", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "tl", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "PHP", _s1_5, _s1_, _s1_7, _s1_4, "tl", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "tr", A.NumberSymbols$(_s9_0, _s9_, _s1_, "TRY", _s1_5, _s1_8, _s1_7, _s1_4, "tr", _s3_, _s1_1, "%#,##0", _s1_6, _s1_3, _s3_0, _s1_2), "uk", A.NumberSymbols$(_s10_0, _s9_, _s1_, "UAH", "\u0415", _s1_0, _s1_7, _s1_4, "uk", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "ur", A.NumberSymbols$(_s10_, _s9_, _s1_8, "PKR", _s1_5, _s1_, _s1_7, _s2_0, "ur", _s3_, _s1_1, _s6_, _s1_6, _s2_, _s3_0, _s1_2), "uz", A.NumberSymbols$(_s10_0, _s9_, _s1_, "UZS", _s1_5, _s1_0, _s1_7, _s1_4, "uz", "son\xa0emas", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "vi", A.NumberSymbols$(_s10_0, _s9_, _s1_, "VND", _s1_5, _s1_8, _s1_7, _s1_4, "vi", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "zh", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "CNY", _s1_5, _s1_, _s1_7, _s1_4, "zh", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "zh_CN", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "CNY", _s1_5, _s1_, _s1_7, _s1_4, "zh_CN", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "zh_HK", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "HKD", _s1_5, _s1_, _s1_7, _s1_4, "zh_HK", "\u975e\u6578\u503c", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "zh_TW", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "TWD", _s1_5, _s1_, _s1_7, _s1_4, "zh_TW", "\u975e\u6578\u503c", _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2), "zu", A.NumberSymbols$(_s9_0, _s9_, _s1_8, "ZAR", _s1_5, _s1_, _s1_7, _s1_4, "zu", _s3_, _s1_1, _s6_, _s1_6, _s1_3, _s3_0, _s1_2)], type$.String, type$.NumberSymbols);
    });
    _lazy($, "_dateTimeSymbols", "$get$_dateTimeSymbols", () => A.UninitializedLocaleData$("initializeDateFormatting(<locale>)", $.$get$en_USSymbols(), A.findType("DateSymbols")));
    _lazy($, "dateTimePatterns", "$get$dateTimePatterns", () => A.UninitializedLocaleData$("initializeDateFormatting(<locale>)", B.Map_EQGBe, type$.Map_String_String));
    _lazyFinal($, "asciiZeroCodeUnit", "$get$asciiZeroCodeUnit", () => 48);
    _lazyFinal($, "DateFormat__matchers", "$get$DateFormat__matchers", () => A._setArrayType([A.RegExp_RegExp("^'(?:[^']|'')*'", true, false), A.RegExp_RegExp("^(?:G+|y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|D+|m+|s+|v+|z+|Z+)", true, false), A.RegExp_RegExp("^[^'GyMkSEahKHcLQdDmsvzZ]+", true, false)], A.findType("JSArray<RegExp>")));
    _lazyFinal($, "_DateFormatQuotedField__twoEscapedQuotes", "$get$_DateFormatQuotedField__twoEscapedQuotes", () => A.RegExp_RegExp("''", true, false));
    _lazyFinal($, "NumberFormat__maxInt", "$get$NumberFormat__maxInt", () => {
      var t1 = A.pow(2, 52);
      return t1;
    });
    _lazyFinal($, "NumberFormat__maxDigits", "$get$NumberFormat__maxDigits", () => B.JSNumber_methods.ceil$0(A.log0($.$get$NumberFormat__maxInt()) / A.log0(10)));
    _lazyFinal($, "_ln10", "$get$_ln10", () => A.log0(10));
    _lazyFinal($, "_ln100", "$get$_ln100", () => A.log0(10));
    _lazyFinal($, "Logger_root", "$get$Logger_root", () => A.Logger_Logger(""));
    _lazyFinal($, "_emptyPattern", "$get$_emptyPattern", () => A.RegExp_RegExp("^(?:[ \\t]*)$", true, false));
    _lazyFinal($, "_setextPattern", "$get$_setextPattern", () => A.RegExp_RegExp("^[ ]{0,3}(=+|-+)\\s*$", true, false));
    _lazyFinal($, "_headerPattern", "$get$_headerPattern", () => A.RegExp_RegExp("^ {0,3}(#{1,6})[ \\x09\\x0b\\x0c](.*?)#*$", true, false));
    _lazyFinal($, "_blockquotePattern", "$get$_blockquotePattern", () => A.RegExp_RegExp("^[ ]{0,3}>[ ]?(.*)$", true, false));
    _lazyFinal($, "_indentPattern", "$get$_indentPattern", () => A.RegExp_RegExp("^(?:    | {0,3}\\t)(.*)$", true, false));
    _lazyFinal($, "_codeFencePattern", "$get$_codeFencePattern", () => A.RegExp_RegExp("^[ ]{0,3}(`{3,}|~{3,})(.*)$", true, false));
    _lazyFinal($, "_hrPattern", "$get$_hrPattern", () => A.RegExp_RegExp("^ {0,3}([-*_])[ \\t]*\\1[ \\t]*\\1(?:\\1|[ \\t])*$", true, false));
    _lazyFinal($, "_ulPattern", "$get$_ulPattern", () => A.RegExp_RegExp("^([ ]{0,3})()([*+-])(([ \\t])([ \\t]*)(.*))?$", true, false));
    _lazyFinal($, "_olPattern", "$get$_olPattern", () => A.RegExp_RegExp("^([ ]{0,3})(\\d{1,9})([\\.)])(([ \\t])([ \\t]*)(.*))?$", true, false));
    _lazyFinal($, "_tablePattern", "$get$_tablePattern", () => A.RegExp_RegExp("^[ ]{0,3}\\|?([ \\t]*:?\\-+:?[ \\t]*\\|)+([ \\t]|[ \\t]*:?\\-+:?[ \\t]*)?$", true, false));
    _lazyFinal($, "_dummyPattern", "$get$_dummyPattern", () => A.RegExp_RegExp("", true, false));
    _lazyFinal($, "BlockTagBlockHtmlSyntax__pattern", "$get$BlockTagBlockHtmlSyntax__pattern", () => A.RegExp_RegExp("^ {0,3}</?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\\s|>|/>|$)", true, false));
    _lazyFinal($, "BlockTagBlockHtmlSyntax__openBracketPattern", "$get$BlockTagBlockHtmlSyntax__openBracketPattern", () => A.RegExp_RegExp("^ {0,3}<", true, false));
    _lazyFinal($, "ListSyntax__whitespaceRe", "$get$ListSyntax__whitespaceRe", () => A.RegExp_RegExp("[ \t]*", true, false));
    _lazyFinal($, "ParagraphSyntax__reflinkDefinitionStart", "$get$ParagraphSyntax__reflinkDefinitionStart", () => A.RegExp_RegExp("[ ]{0,3}\\[", true, false));
    _lazyFinal($, "ParagraphSyntax__whitespacePattern", "$get$ParagraphSyntax__whitespacePattern", () => A.RegExp_RegExp("^\\s*$", true, false));
    _lazyFinal($, "ExtensionSet_commonMark", "$get$ExtensionSet_commonMark", () => A.ExtensionSet$(A.List_List$unmodifiable(A._setArrayType([B.C_FencedCodeBlockSyntax], type$.JSArray_BlockSyntax), type$.BlockSyntax), A.List_List$unmodifiable(A._setArrayType([A.InlineHtmlSyntax$()], type$.JSArray_InlineSyntax), type$.InlineSyntax)));
    _lazyFinal($, "ExtensionSet_gitHubFlavored", "$get$ExtensionSet_gitHubFlavored", () => A.ExtensionSet$(A.List_List$unmodifiable(A._setArrayType([B.C_FencedCodeBlockSyntax, B.C_TableSyntax], type$.JSArray_BlockSyntax), type$.BlockSyntax), A.List_List$unmodifiable(A._setArrayType([A.InlineHtmlSyntax$(), new A.StrikethroughSyntax(true, true, A.RegExp_RegExp("~+", true, true), null), new A.AutolinkExtensionSyntax(A.RegExp_RegExp("(?:^|[\\s*_~(>])(((?:(?:https?|ftp):\\/\\/|www\\.))([\\w\\-][\\w\\-.]+)([^\\s<]*))", true, true), null)], type$.JSArray_InlineSyntax), type$.InlineSyntax)));
    _lazyFinal($, "InlineParser__defaultSyntaxes", "$get$InlineParser__defaultSyntaxes", () => {
      var _null = null;
      return A.List_List$unmodifiable(A._setArrayType([new A.EmailAutolinkSyntax(A.RegExp_RegExp("<([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>", true, true), 60), new A.AutolinkSyntax(A.RegExp_RegExp("<(([a-zA-Z][a-zA-Z\\-\\+\\.]+):(?://)?[^\\s>]*)>", true, true), _null), new A.LineBreakSyntax(A.RegExp_RegExp("(?:\\\\|  +)\\n", true, true), _null), new A.EscapeSyntax(A.RegExp_RegExp("\\\\[!\"#$%&'()*+,\\-./:;<=>?@\\[\\\\\\]^_`{|}~]", true, true), _null), A.TextSyntax$(" \\* ", 32, ""), A.TextSyntax$(" _ ", 32, ""), A.TagSyntax$("\\*+", false, true, _null), A.TagSyntax$("_+", false, true, _null), new A.CodeSyntax(A.RegExp_RegExp("(`+(?!`))((?:.|\\n)*?[^`])\\1(?!`)", true, true), _null)], type$.JSArray_InlineSyntax), type$.InlineSyntax);
    });
    _lazyFinal($, "AutolinkExtensionSyntax_regExpTrailingPunc", "$get$AutolinkExtensionSyntax_regExpTrailingPunc", () => A.RegExp_RegExp("[?!.,:*_~]*$", true, false));
    _lazyFinal($, "AutolinkExtensionSyntax_regExpEndsWithColon", "$get$AutolinkExtensionSyntax_regExpEndsWithColon", () => A.RegExp_RegExp("\\&[a-zA-Z0-9]+;$", true, false));
    _lazyFinal($, "AutolinkExtensionSyntax_regExpWhiteSpace", "$get$AutolinkExtensionSyntax_regExpWhiteSpace", () => A.RegExp_RegExp("\\s", true, false));
    _lazyFinal($, "DelimiterRun_punctuation", "$get$DelimiterRun_punctuation", () => A.RegExp_RegExp("[!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]", true, false));
    _lazyFinal($, "LinkSyntax__entirelyWhitespacePattern", "$get$LinkSyntax__entirelyWhitespacePattern", () => A.RegExp_RegExp("^\\s*$", true, false));
    _lazyFinal($, "_oneOrMoreWhitespacePattern", "$get$_oneOrMoreWhitespacePattern", () => A.RegExp_RegExp("[ \n\r\t]+", true, false));
    _lazyFinal($, "posix", "$get$posix", () => A.Context_Context($.$get$Style_posix()));
    _lazyFinal($, "windows", "$get$windows", () => A.Context_Context($.$get$Style_windows()));
    _lazyFinal($, "context", "$get$context", () => new A.Context(type$.InternalStyle._as($.$get$Style_platform()), null));
    _lazyFinal($, "Style_posix", "$get$Style_posix", () => new A.PosixStyle(A.RegExp_RegExp("/", true, false), A.RegExp_RegExp("[^/]$", true, false), A.RegExp_RegExp("^/", true, false)));
    _lazyFinal($, "Style_windows", "$get$Style_windows", () => new A.WindowsStyle(A.RegExp_RegExp("[/\\\\]", true, false), A.RegExp_RegExp("[^/\\\\]$", true, false), A.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false), A.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false)));
    _lazyFinal($, "Style_url", "$get$Style_url", () => new A.UrlStyle(A.RegExp_RegExp("/", true, false), A.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false), A.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false), A.RegExp_RegExp("^/", true, false)));
    _lazyFinal($, "Style_platform", "$get$Style_platform", () => A.Style__getPlatformStyle());
    _lazyFinal($, "_isSoundMode", "$get$_isSoundMode", () => !type$.List_int._is(A._setArrayType([], type$.JSArray_nullable_int)));
    _lazy($, "Provider_debugCheckInvalidValueType", "$get$Provider_debugCheckInvalidValueType", () => new A.Provider_debugCheckInvalidValueType_closure());
    _lazyFinal($, "_requestPool", "$get$_requestPool", () => {
      var t4,
        t1 = A.findType("Completer<PoolResource>"),
        t2 = A.ListQueue$(null, t1),
        t3 = A.ListQueue$(null, type$.void_Function);
      t1 = A.ListQueue$(null, t1);
      t4 = A.Completer_Completer(type$.dynamic);
      return new A.Pool(t2, t3, t1, 1000, new A.AsyncMemoizer(t4, A.findType("AsyncMemoizer<@>")));
    });
    _lazyFinal($, "_specKey", "$get$_specKey", () => new A.Object());
    _lazyFinal($, "_vmFrame", "$get$_vmFrame", () => A.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", true, false));
    _lazyFinal($, "_v8Frame", "$get$_v8Frame", () => A.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", true, false));
    _lazyFinal($, "_v8UrlLocation", "$get$_v8UrlLocation", () => A.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", true, false));
    _lazyFinal($, "_v8EvalLocation", "$get$_v8EvalLocation", () => A.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", true, false));
    _lazyFinal($, "_firefoxEvalLocation", "$get$_firefoxEvalLocation", () => A.RegExp_RegExp("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+", true, false));
    _lazyFinal($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", () => A.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", true, false));
    _lazyFinal($, "_friendlyFrame", "$get$_friendlyFrame", () => A.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", true, false));
    _lazyFinal($, "_asyncBody", "$get$_asyncBody", () => A.RegExp_RegExp("<(<anonymous closure>|[^>]+)_async_body>", true, false));
    _lazyFinal($, "_initialDot", "$get$_initialDot", () => A.RegExp_RegExp("^\\.", true, false));
    _lazyFinal($, "Frame__uriRegExp", "$get$Frame__uriRegExp", () => A.RegExp_RegExp("^[a-zA-Z][-+.a-zA-Z\\d]*://", true, false));
    _lazyFinal($, "Frame__windowsRegExp", "$get$Frame__windowsRegExp", () => A.RegExp_RegExp("^([a-zA-Z]:[\\\\/]|\\\\\\\\)", true, false));
    _lazyFinal($, "_terseRegExp", "$get$_terseRegExp", () => A.RegExp_RegExp("(-patch)?([/\\\\].*)?$", true, false));
    _lazyFinal($, "_v8Trace", "$get$_v8Trace", () => A.RegExp_RegExp("\\n    ?at ", true, false));
    _lazyFinal($, "_v8TraceLine", "$get$_v8TraceLine", () => A.RegExp_RegExp("    ?at ", true, false));
    _lazyFinal($, "_firefoxEvalTrace", "$get$_firefoxEvalTrace", () => A.RegExp_RegExp("@\\S+ line \\d+ >.* (Function|eval):\\d+:\\d+", true, false));
    _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", () => A.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true, true));
    _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", () => A.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true, true));
    _lazyFinal($, "vmChainGap", "$get$vmChainGap", () => A.RegExp_RegExp("^<asynchronous suspension>\\n?$", true, true));
    _lazyFinal($, "_newlineRegExp", "$get$_newlineRegExp", () => A.RegExp_RegExp("\\r\\n?|\\n", true, false));
    _lazyFinal($, "UrlLauncherPlatform__token", "$get$UrlLauncherPlatform__token", () => new A.Object());
    _lazy($, "UrlLauncherPlatform__instance", "$get$UrlLauncherPlatform__instance", () => new A.MethodChannelUrlLauncher($.$get$UrlLauncherPlatform__token()));
    _lazyFinal($, "UrlLauncherPlugin__supportedSchemes", "$get$UrlLauncherPlugin__supportedSchemes", () => A.LinkedHashSet_LinkedHashSet$_literal(["http", "https"], type$.String).union$1(B.Set_4e8j2));
    _lazy($, "_typeFactories", "$get$_typeFactories", () => A.LinkedHashMap_LinkedHashMap$_literal(["AllocationProfile", A.vm_service_AllocationProfile_parse$closure(), "BoundField", A.vm_service_BoundField_parse$closure(), "BoundVariable", A.vm_service_BoundVariable_parse$closure(), "Breakpoint", A.vm_service_Breakpoint_parse$closure(), "@Class", A.vm_service_ClassRef_parse$closure(), "Class", A.vm_service_Class_parse$closure(), "ClassHeapStats", A.vm_service_ClassHeapStats_parse$closure(), "ClassList", A.vm_service_ClassList_parse$closure(), "@Code", A.vm_service_CodeRef_parse$closure(), "Code", A.vm_service_Code_parse$closure(), "@Context", A.vm_service_ContextRef_parse$closure(), "Context", A.vm_service_Context_parse$closure(), "ContextElement", A.vm_service_ContextElement_parse$closure(), "CpuSamples", A.vm_service_CpuSamples_parse$closure(), "CpuSamplesEvent", A.vm_service_CpuSamplesEvent_parse$closure(), "CpuSample", A.vm_service_CpuSample_parse$closure(), "@Error", A.vm_service_ErrorRef_parse$closure(), "Error", A.vm_service_Error_parse$closure(), "Event", A.vm_service_Event_parse$closure(), "ExtensionData", A.vm_service_ExtensionData_parse$closure(), "@Field", A.vm_service_FieldRef_parse$closure(), "Field", A.vm_service_Field_parse$closure(), "Flag", A.vm_service_Flag_parse$closure(), "FlagList", A.vm_service_FlagList_parse$closure(), "Frame", A.vm_service_Frame_parse$closure(), "@Function", A.vm_service_FuncRef_parse$closure(), "Function", A.vm_service_Func_parse$closure(), "@Instance", A.vm_service_InstanceRef_parse$closure(), "Instance", A.vm_service_Instance_parse$closure(), "@Isolate", A.vm_service_IsolateRef_parse$closure(), "Isolate", A.vm_service_Isolate_parse$closure(), "IsolateFlag", A.vm_service_IsolateFlag_parse$closure(), "@IsolateGroup", A.vm_service_IsolateGroupRef_parse$closure(), "IsolateGroup", A.vm_service_IsolateGroup_parse$closure(), "InboundReferences", A.vm_service_InboundReferences_parse$closure(), "InboundReference", A.vm_service_InboundReference_parse$closure(), "InstanceSet", A.vm_service_InstanceSet_parse$closure(), "@Library", A.vm_service_LibraryRef_parse$closure(), "Library", A.vm_service_Library_parse$closure(), "LibraryDependency", A.vm_service_LibraryDependency_parse$closure(), "LogRecord", A.vm_service_LogRecord_parse$closure(), "MapAssociation", A.vm_service_MapAssociation_parse$closure(), "MemoryUsage", A.vm_service_MemoryUsage_parse$closure(), "Message", A.vm_service_Message_parse$closure(), "NativeFunction", A.vm_service_NativeFunction_parse$closure(), "@Null", A.vm_service_NullValRef_parse$closure(), "Null", A.vm_service_NullVal_parse$closure(), "@Object", A.vm_service_ObjRef_parse$closure(), "Object", A.vm_service_Obj_parse$closure(), "Parameter", A.vm_service_Parameter_parse$closure(), "PortList", A.vm_service_PortList_parse$closure(), "ProfileFunction", A.vm_service_ProfileFunction_parse$closure(), "ProtocolList", A.vm_service_ProtocolList_parse$closure(), "Protocol", A.vm_service_Protocol_parse$closure(), "ProcessMemoryUsage", A.vm_service_ProcessMemoryUsage_parse$closure(), "ProcessMemoryItem", A.vm_service_ProcessMemoryItem_parse$closure(), "ReloadReport", A.vm_service_ReloadReport_parse$closure(), "RetainingObject", A.vm_service_RetainingObject_parse$closure(), "RetainingPath", A.vm_service_RetainingPath_parse$closure(), "Response", A.vm_service_Response_parse$closure(), "Sentinel", A.vm_service_Sentinel_parse$closure(), "@Script", A.vm_service_ScriptRef_parse$closure(), "Script", A.vm_service_Script_parse$closure(), "ScriptList", A.vm_service_ScriptList_parse$closure(), "SourceLocation", A.vm_service_SourceLocation_parse$closure(), "SourceReport", A.vm_service_SourceReport_parse$closure(), "SourceReportCoverage", A.vm_service_SourceReportCoverage_parse$closure(), "SourceReportRange", A.vm_service_SourceReportRange_parse$closure(), "Stack", A.vm_service_Stack_parse$closure(), "Success", A.vm_service_Success_parse$closure(), "Timeline", A.vm_service_Timeline_parse$closure(), "TimelineEvent", A.vm_service_TimelineEvent_parse$closure(), "TimelineFlags", A.vm_service_TimelineFlags_parse$closure(), "Timestamp", A.vm_service_Timestamp_parse$closure(), "@TypeArguments", A.vm_service_TypeArgumentsRef_parse$closure(), "TypeArguments", A.vm_service_TypeArguments_parse$closure(), "TypeParameters", A.vm_service_TypeParameters_parse$closure(), "UnresolvedSourceLocation", A.vm_service_UnresolvedSourceLocation_parse$closure(), "UriList", A.vm_service_UriList_parse$closure(), "Version", A.vm_service_Version_parse$closure(), "@VM", A.vm_service_VMRef_parse$closure(), "VM", A.vm_service_VM_parse$closure()], type$.String, type$.Function));
    _lazy($, "_methodReturnTypes", "$get$_methodReturnTypes", () => A.LinkedHashMap_LinkedHashMap$_literal(["addBreakpoint", B.List_Breakpoint, "addBreakpointWithScriptUri", B.List_Breakpoint, "addBreakpointAtEntry", B.List_Breakpoint, "clearCpuSamples", B.List_Success, "clearVMTimeline", B.List_Success, "invoke", B.List_InstanceRef_ErrorRef, "evaluate", B.List_InstanceRef_ErrorRef, "evaluateInFrame", B.List_InstanceRef_ErrorRef, "getAllocationProfile", B.List_AllocationProfile, "getAllocationTraces", B.List_CpuSamples, "getClassList", B.List_ClassList, "getCpuSamples", B.List_CpuSamples, "getFlagList", B.List_FlagList, "getInboundReferences", B.List_InboundReferences, "getInstances", B.List_InstanceSet, "getIsolate", B.List_Isolate, "getIsolateGroup", B.List_IsolateGroup, "getMemoryUsage", B.List_MemoryUsage, "getIsolateGroupMemoryUsage", B.List_MemoryUsage, "getScripts", B.List_ScriptList, "getObject", B.List_Obj, "getPorts", B.List_PortList, "getRetainingPath", B.List_RetainingPath, "getProcessMemoryUsage", B.List_ProcessMemoryUsage, "getStack", B.List_Stack, "getSupportedProtocols", B.List_ProtocolList, "getSourceReport", B.List_SourceReport, "getVersion", B.List_Version, "getVM", B.List_VM, "getVMTimeline", B.List_Timeline, "getVMTimelineFlags", B.List_TimelineFlags, "getVMTimelineMicros", B.List_Timestamp, "pause", B.List_Success, "kill", B.List_Success, "lookupResolvedPackageUris", B.List_UriList, "lookupPackageUris", B.List_UriList, "registerService", B.List_Success, "reloadSources", B.List_ReloadReport, "removeBreakpoint", B.List_Success, "requestHeapSnapshot", B.List_Success, "resume", B.List_Success, "setBreakpointState", B.List_Breakpoint, "setExceptionPauseMode", B.List_Success, "setIsolatePauseMode", B.List_Success, "setFlag", B.List_Success_Error, "setLibraryDebuggable", B.List_Success, "setName", B.List_Success, "setTraceClassAllocation", B.List_Success, "setVMName", B.List_Success, "setVMTimelineFlags", B.List_Success, "streamCancel", B.List_Success, "streamCpuSamplesWithUserTag", B.List_Success, "streamListen", B.List_Success], type$.String, type$.List_String));
    _lazyFinal($, "_scrubbingRe", "$get$_scrubbingRe", () => A.RegExp_RegExp("\\[(Optimized|Unoptimized|Stub)\\]\\s*|@\\d+(?![>\\d])", true, false));
    _lazyFinal($, "_stubScrubbingRe", "$get$_stubScrubbingRe", () => A.RegExp_RegExp("\\[Stub\\]\\s*|@\\d+|\\(H[a-f\\d]+\\) ", true, false));
    _lazyFinal($, "_nameFormatters", "$get$_nameFormatters", () => A.LinkedHashMap_LinkedHashMap$_literal([B.TreemapFormat_2, new A._nameFormatters_closure(), B.TreemapFormat_3, new A._nameFormatters_closure0()], A.findType("TreemapFormat"), A.findType("String(Node)")));
  })();
  (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, BudgetState: J.JavaScriptObject, CanvasGradient: J.JavaScriptObject, CanvasPattern: J.JavaScriptObject, Client: J.JavaScriptObject, Clients: J.JavaScriptObject, CookieStore: J.JavaScriptObject, Coordinates: J.JavaScriptObject, CredentialsContainer: J.JavaScriptObject, Crypto: J.JavaScriptObject, CryptoKey: J.JavaScriptObject, CSS: J.JavaScriptObject, CSSVariableReferenceValue: J.JavaScriptObject, CustomElementRegistry: J.JavaScriptObject, DataTransfer: J.JavaScriptObject, DeprecatedStorageInfo: J.JavaScriptObject, DeprecatedStorageQuota: J.JavaScriptObject, DetectedBarcode: J.JavaScriptObject, DetectedFace: J.JavaScriptObject, DetectedText: J.JavaScriptObject, DeviceAcceleration: J.JavaScriptObject, DeviceRotationRate: J.JavaScriptObject, DirectoryReader: J.JavaScriptObject, WebKitDirectoryReader: J.JavaScriptObject, webkitFileSystemDirectoryReader: J.JavaScriptObject, FileSystemDirectoryReader: J.JavaScriptObject, DocumentOrShadowRoot: J.JavaScriptObject, DocumentTimeline: 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, External: J.JavaScriptObject, FaceDetector: 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, KeyframeEffect: J.JavaScriptObject, KeyframeEffectReadOnly: J.JavaScriptObject, MediaCapabilities: J.JavaScriptObject, MediaCapabilitiesInfo: 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, NavigationPreloadManager: J.JavaScriptObject, Navigator: J.JavaScriptObject, NavigatorAutomationInformation: J.JavaScriptObject, NavigatorConcurrentHardware: J.JavaScriptObject, NavigatorCookies: J.JavaScriptObject, NodeFilter: J.JavaScriptObject, NodeIterator: J.JavaScriptObject, NonDocumentTypeChildNode: J.JavaScriptObject, NonElementParentNode: J.JavaScriptObject, NoncedElement: J.JavaScriptObject, OffscreenCanvasRenderingContext2D: J.JavaScriptObject, PaintRenderingContext2D: J.JavaScriptObject, PaintSize: J.JavaScriptObject, PaintWorkletGlobalScope: J.JavaScriptObject, Path2D: J.JavaScriptObject, PaymentAddress: J.JavaScriptObject, PaymentManager: J.JavaScriptObject, PaymentResponse: J.JavaScriptObject, PerformanceNavigation: J.JavaScriptObject, PerformanceObserver: J.JavaScriptObject, PerformanceObserverEntryList: J.JavaScriptObject, PerformanceTiming: J.JavaScriptObject, Permissions: J.JavaScriptObject, PhotoCapabilities: J.JavaScriptObject, Presentation: J.JavaScriptObject, PresentationReceiver: J.JavaScriptObject, PushManager: J.JavaScriptObject, PushSubscription: J.JavaScriptObject, PushSubscriptionOptions: J.JavaScriptObject, Range: J.JavaScriptObject, RelatedApplication: 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, SharedArrayBuffer: J.JavaScriptObject, SpeechRecognitionAlternative: J.JavaScriptObject, StaticRange: J.JavaScriptObject, StorageManager: J.JavaScriptObject, StyleMedia: J.JavaScriptObject, StylePropertyMap: J.JavaScriptObject, StylePropertyMapReadonly: J.JavaScriptObject, SyncManager: 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, 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, 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, IDBCursor: J.JavaScriptObject, IDBCursorWithValue: J.JavaScriptObject, IDBFactory: 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, AudioWorkletGlobalScope: J.JavaScriptObject, AudioWorkletProcessor: J.JavaScriptObject, PeriodicWave: 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, HTMLContentElement: A.HtmlElement, HTMLDListElement: A.HtmlElement, HTMLDataElement: A.HtmlElement, HTMLDataListElement: A.HtmlElement, HTMLDetailsElement: A.HtmlElement, HTMLDialogElement: A.HtmlElement, HTMLHRElement: A.HtmlElement, HTMLHeadElement: A.HtmlElement, HTMLHeadingElement: A.HtmlElement, HTMLHtmlElement: A.HtmlElement, HTMLLIElement: A.HtmlElement, HTMLLegendElement: A.HtmlElement, HTMLLinkElement: A.HtmlElement, HTMLMediaElement: A.HtmlElement, HTMLMenuElement: A.HtmlElement, HTMLMeterElement: A.HtmlElement, HTMLModElement: A.HtmlElement, HTMLOListElement: A.HtmlElement, HTMLOptGroupElement: A.HtmlElement, HTMLOptionElement: A.HtmlElement, HTMLParagraphElement: A.HtmlElement, HTMLPictureElement: A.HtmlElement, HTMLPreElement: A.HtmlElement, HTMLProgressElement: A.HtmlElement, HTMLQuoteElement: A.HtmlElement, HTMLScriptElement: A.HtmlElement, HTMLShadowElement: A.HtmlElement, HTMLSourceElement: A.HtmlElement, HTMLSpanElement: 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, HTMLTimeElement: A.HtmlElement, HTMLTitleElement: 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, ApplicationCacheErrorEvent: A.ApplicationCacheErrorEvent, HTMLAreaElement: A.AreaElement, Blob: A.Blob, Body: A.Body, Request: A.Body, Response: A.Body, BroadcastChannel: A.BroadcastChannel, HTMLButtonElement: A.ButtonElement, CacheStorage: A.CacheStorage, HTMLCanvasElement: A.CanvasElement, CanvasRenderingContext2D: A.CanvasRenderingContext2D, CDATASection: A.CharacterData, CharacterData: A.CharacterData, Comment: A.CharacterData, ProcessingInstruction: A.CharacterData, Text: A.CharacterData, CloseEvent: A.CloseEvent, PublicKeyCredential: A.Credential, Credential: A.Credential, CredentialUserData: A.CredentialUserData, CSSKeyframesRule: A.CssKeyframesRule, MozCSSKeyframesRule: A.CssKeyframesRule, WebKitCSSKeyframesRule: A.CssKeyframesRule, 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, CSSMediaRule: A.CssRule, CSSNamespaceRule: A.CssRule, CSSPageRule: A.CssRule, CSSStyleRule: A.CssRule, CSSSupportsRule: A.CssRule, CSSViewportRule: A.CssRule, CSSRule: A.CssRule, CSSStyleDeclaration: A.CssStyleDeclaration, MSStyleCSSProperties: A.CssStyleDeclaration, CSS2Properties: A.CssStyleDeclaration, CSSStyleSheet: A.CssStyleSheet, 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, DataTransferItem: A.DataTransferItem, DataTransferItemList: A.DataTransferItemList, DeprecationReport: A.DeprecationReport, HTMLDivElement: A.DivElement, XMLDocument: A.Document0, Document: A.Document0, DOMError: A.DomError, DOMException: A.DomException0, ClientRectList: A.DomRectList, DOMRectList: A.DomRectList, DOMRectReadOnly: A.DomRectReadOnly0, DOMStringList: A.DomStringList, DOMTokenList: A.DomTokenList, Element: A.Element1, HTMLEmbedElement: A.EmbedElement, DirectoryEntry: A.Entry, webkitFileSystemDirectoryEntry: A.Entry, FileSystemDirectoryEntry: A.Entry, Entry: A.Entry, webkitFileSystemEntry: A.Entry, FileSystemEntry: A.Entry, FileEntry: A.Entry, webkitFileSystemFileEntry: A.Entry, FileSystemFileEntry: A.Entry, ErrorEvent: A.ErrorEvent, AbortPaymentEvent: A.Event0, AnimationEvent: A.Event0, AnimationPlaybackEvent: A.Event0, BackgroundFetchClickEvent: A.Event0, BackgroundFetchEvent: A.Event0, BackgroundFetchFailEvent: A.Event0, BackgroundFetchedEvent: A.Event0, BeforeInstallPromptEvent: A.Event0, BeforeUnloadEvent: A.Event0, BlobEvent: A.Event0, CanMakePaymentEvent: A.Event0, ClipboardEvent: A.Event0, CustomEvent: A.Event0, DeviceMotionEvent: A.Event0, DeviceOrientationEvent: A.Event0, ExtendableEvent: A.Event0, ExtendableMessageEvent: A.Event0, FetchEvent: A.Event0, FontFaceSetLoadEvent: A.Event0, ForeignFetchEvent: A.Event0, GamepadEvent: A.Event0, HashChangeEvent: A.Event0, InstallEvent: A.Event0, MediaEncryptedEvent: A.Event0, MediaStreamEvent: A.Event0, MediaStreamTrackEvent: A.Event0, MIDIConnectionEvent: A.Event0, MIDIMessageEvent: A.Event0, MutationEvent: A.Event0, NotificationEvent: A.Event0, PageTransitionEvent: A.Event0, PaymentRequestEvent: A.Event0, PaymentRequestUpdateEvent: A.Event0, PopStateEvent: A.Event0, PresentationConnectionAvailableEvent: A.Event0, PromiseRejectionEvent: A.Event0, PushEvent: A.Event0, RTCDataChannelEvent: A.Event0, RTCDTMFToneChangeEvent: A.Event0, RTCPeerConnectionIceEvent: A.Event0, RTCTrackEvent: A.Event0, SecurityPolicyViolationEvent: A.Event0, SensorErrorEvent: A.Event0, SpeechRecognitionEvent: A.Event0, StorageEvent: A.Event0, SyncEvent: A.Event0, TrackEvent: A.Event0, TransitionEvent: A.Event0, WebKitTransitionEvent: A.Event0, VRDeviceEvent: A.Event0, VRDisplayEvent: A.Event0, VRSessionEvent: A.Event0, MojoInterfaceRequestEvent: A.Event0, USBConnectionEvent: A.Event0, AudioProcessingEvent: A.Event0, OfflineAudioCompletionEvent: A.Event0, WebGLContextEvent: A.Event0, Event: A.Event0, InputEvent: A.Event0, SubmitEvent: A.Event0, EventSource: A.EventSource, 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, FontFaceSet: A.EventTarget, Gyroscope: A.EventTarget, LinearAccelerationSensor: A.EventTarget, Magnetometer: A.EventTarget, MediaDevices: A.EventTarget, MediaRecorder: A.EventTarget, MediaSource: A.EventTarget, MediaStream: A.EventTarget, MIDIAccess: A.EventTarget, NetworkInformation: A.EventTarget, Notification: 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, Sensor: A.EventTarget, ServiceWorker: A.EventTarget, ServiceWorkerContainer: A.EventTarget, ServiceWorkerRegistration: A.EventTarget, SharedWorker: A.EventTarget, SpeechRecognition: A.EventTarget, SpeechSynthesis: A.EventTarget, SpeechSynthesisUtterance: A.EventTarget, VR: A.EventTarget, VRDevice: A.EventTarget, VRDisplay: A.EventTarget, VRSession: A.EventTarget, VisualViewport: A.EventTarget, Worker: A.EventTarget, WorkerPerformance: A.EventTarget, BluetoothDevice: A.EventTarget, BluetoothRemoteGATTCharacteristic: A.EventTarget, Clipboard: A.EventTarget, MojoInterfaceInterceptor: A.EventTarget, USB: A.EventTarget, IDBOpenDBRequest: A.EventTarget, IDBVersionChangeRequest: A.EventTarget, IDBRequest: A.EventTarget, IDBTransaction: 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, FederatedCredential: A.FederatedCredential, HTMLFieldSetElement: A.FieldSetElement, File: A.File, FileList: A.FileList, FileReader: A.FileReader, DOMFileSystem: A.FileSystem, WebKitFileSystem: A.FileSystem, webkitFileSystem: A.FileSystem, FileSystem: A.FileSystem, FileWriter: A.FileWriter, HTMLFormElement: A.FormElement, Gamepad: A.Gamepad, History: A.History, HTMLCollection: A.HtmlCollection, HTMLFormControlsCollection: A.HtmlCollection, HTMLOptionsCollection: A.HtmlCollection, HTMLDocument: A.HtmlDocument, XMLHttpRequest: A.HttpRequest, XMLHttpRequestUpload: A.HttpRequestEventTarget, XMLHttpRequestEventTarget: A.HttpRequestEventTarget, HTMLIFrameElement: A.IFrameElement, ImageData: A.ImageData, HTMLImageElement: A.ImageElement, HTMLInputElement: A.InputElement, InterventionReport: A.InterventionReport, KeyboardEvent: A.KeyboardEvent, HTMLLabelElement: A.LabelElement, Location: A.Location, HTMLMapElement: A.MapElement, MediaDeviceInfo: A.MediaDeviceInfo, MediaError: A.MediaError, MediaKeyMessageEvent: A.MediaKeyMessageEvent, MediaKeySession: A.MediaKeySession, MediaList: A.MediaList, MediaQueryList: A.MediaQueryList, MediaQueryListEvent: A.MediaQueryListEvent, CanvasCaptureMediaStreamTrack: A.MediaStreamTrack, MediaStreamTrack: A.MediaStreamTrack, MessageEvent: A.MessageEvent, MessagePort: A.MessagePort, HTMLMetaElement: A.MetaElement, MIDIInputMap: A.MidiInputMap, MIDIOutputMap: A.MidiOutputMap, MIDIInput: A.MidiPort, MIDIOutput: A.MidiPort, MIDIPort: A.MidiPort, MimeType: A.MimeType, MimeTypeArray: A.MimeTypeArray, MouseEvent: A.MouseEvent, DragEvent: A.MouseEvent, MutationObserver: A.MutationObserver, WebKitMutationObserver: A.MutationObserver, MutationRecord: A.MutationRecord, NavigatorUserMediaError: A.NavigatorUserMediaError, DocumentFragment: A.Node0, ShadowRoot: A.Node0, DocumentType: A.Node0, Node: A.Node0, NodeList: A.NodeList, RadioNodeList: A.NodeList, HTMLObjectElement: A.ObjectElement, OffscreenCanvas: A.OffscreenCanvas, HTMLOutputElement: A.OutputElement, OverconstrainedError: A.OverconstrainedError, HTMLParamElement: A.ParamElement, PasswordCredential: A.PasswordCredential, PaymentInstruments: A.PaymentInstruments, PerformanceEntry: A.PerformanceEntry, PerformanceLongTaskTiming: A.PerformanceEntry, PerformanceMark: A.PerformanceEntry, PerformanceMeasure: A.PerformanceEntry, PerformanceNavigationTiming: A.PerformanceEntry, PerformancePaintTiming: A.PerformanceEntry, PerformanceResourceTiming: A.PerformanceEntry, TaskAttributionTiming: A.PerformanceEntry, PerformanceServerTiming: A.PerformanceServerTiming, Plugin: A.Plugin, PluginArray: A.PluginArray, PointerEvent: A.PointerEvent0, PositionError: A.PositionError, GeolocationPositionError: A.PositionError, PresentationConnectionCloseEvent: A.PresentationConnectionCloseEvent, ProgressEvent: A.ProgressEvent, ResourceProgressEvent: A.ProgressEvent, PushMessageData: A.PushMessageData, ReportBody: A.ReportBody, RTCStatsReport: A.RtcStatsReport, ScreenOrientation: A.ScreenOrientation, HTMLSelectElement: A.SelectElement, SharedWorkerGlobalScope: A.SharedWorkerGlobalScope, HTMLSlotElement: A.SlotElement, SourceBuffer: A.SourceBuffer, SourceBufferList: A.SourceBufferList, SpeechGrammar: A.SpeechGrammar, SpeechGrammarList: A.SpeechGrammarList, SpeechRecognitionError: A.SpeechRecognitionError, SpeechRecognitionResult: A.SpeechRecognitionResult, SpeechSynthesisEvent: A.SpeechSynthesisEvent, SpeechSynthesisVoice: A.SpeechSynthesisVoice, Storage: A.Storage, HTMLStyleElement: A.StyleElement, StyleSheet: A.StyleSheet, HTMLTextAreaElement: A.TextAreaElement, TextTrack: A.TextTrack, TextTrackCue: A.TextTrackCue, TextTrackCueList: A.TextTrackCueList, TextTrackList: A.TextTrackList, TimeRanges: A.TimeRanges, Touch: A.Touch, TouchEvent: A.TouchEvent, TouchList: A.TouchList, TrackDefaultList: A.TrackDefaultList, HTMLTrackElement: A.TrackElement, CompositionEvent: A.UIEvent, FocusEvent: A.UIEvent, TextEvent: A.UIEvent, UIEvent: A.UIEvent, URL: A.Url, VideoTrack: A.VideoTrack, VideoTrackList: A.VideoTrackList, VTTCue: A.VttCue, WebSocket: A.WebSocket0, WheelEvent: A.WheelEvent, Window: A.Window, DOMWindow: A.Window, DedicatedWorkerGlobalScope: A.WorkerGlobalScope, ServiceWorkerGlobalScope: A.WorkerGlobalScope, WorkerGlobalScope: A.WorkerGlobalScope, Attr: A._Attr, CSSRuleList: A._CssRuleList, ClientRect: A._DomRect, DOMRect: A._DomRect, GamepadList: A._GamepadList, NamedNodeMap: A._NamedNodeMap, MozNamedAttrMap: A._NamedNodeMap, SpeechRecognitionResultList: A._SpeechRecognitionResultList, StyleSheetList: A._StyleSheetList, IDBDatabase: A.Database, IDBIndex: A.Index, IDBKeyRange: A.KeyRange, IDBObjectStore: A.ObjectStore, IDBVersionChangeEvent: A.VersionChangeEvent, SVGClipPathElement: A.ClipPathElement, SVGDefsElement: A.DefsElement, SVGFEBlendElement: A.FEBlendElement, SVGFEColorMatrixElement: A.FEColorMatrixElement, SVGFECompositeElement: A.FECompositeElement, SVGFEFloodElement: A.FEFloodElement, SVGFilterElement: A.FilterElement, SVGCircleElement: A.GeometryElement, SVGEllipseElement: A.GeometryElement, SVGLineElement: A.GeometryElement, SVGPolygonElement: A.GeometryElement, SVGPolylineElement: A.GeometryElement, SVGRectElement: A.GeometryElement, SVGGeometryElement: A.GeometryElement, SVGAElement: A.GraphicsElement, SVGForeignObjectElement: A.GraphicsElement, SVGGElement: A.GraphicsElement, SVGImageElement: A.GraphicsElement, SVGSwitchElement: A.GraphicsElement, SVGTSpanElement: A.GraphicsElement, SVGTextContentElement: A.GraphicsElement, SVGTextElement: A.GraphicsElement, SVGTextPathElement: A.GraphicsElement, SVGTextPositioningElement: A.GraphicsElement, SVGUseElement: A.GraphicsElement, SVGGraphicsElement: A.GraphicsElement, SVGLength: A.Length, SVGLengthList: A.LengthList, SVGNumber: A.Number, SVGNumberList: A.NumberList, SVGPathElement: A.PathElement, SVGPointList: A.PointList, SVGStringList: A.StringList, SVGAnimateElement: A.SvgElement, SVGAnimateMotionElement: A.SvgElement, SVGAnimateTransformElement: A.SvgElement, SVGAnimationElement: A.SvgElement, SVGDescElement: A.SvgElement, SVGDiscardElement: A.SvgElement, SVGFEComponentTransferElement: A.SvgElement, SVGFEConvolveMatrixElement: A.SvgElement, SVGFEDiffuseLightingElement: A.SvgElement, SVGFEDisplacementMapElement: A.SvgElement, SVGFEDistantLightElement: A.SvgElement, SVGFEFuncAElement: A.SvgElement, SVGFEFuncBElement: A.SvgElement, SVGFEFuncGElement: A.SvgElement, SVGFEFuncRElement: A.SvgElement, SVGFEGaussianBlurElement: A.SvgElement, SVGFEImageElement: A.SvgElement, SVGFEMergeElement: A.SvgElement, SVGFEMergeNodeElement: A.SvgElement, SVGFEMorphologyElement: A.SvgElement, SVGFEOffsetElement: A.SvgElement, SVGFEPointLightElement: A.SvgElement, SVGFESpecularLightingElement: A.SvgElement, SVGFESpotLightElement: A.SvgElement, SVGFETileElement: A.SvgElement, SVGFETurbulenceElement: A.SvgElement, SVGLinearGradientElement: A.SvgElement, SVGMarkerElement: A.SvgElement, SVGMaskElement: A.SvgElement, SVGMetadataElement: A.SvgElement, SVGPatternElement: A.SvgElement, SVGRadialGradientElement: A.SvgElement, SVGScriptElement: A.SvgElement, SVGSetElement: A.SvgElement, SVGStopElement: A.SvgElement, SVGStyleElement: A.SvgElement, SVGSymbolElement: A.SvgElement, SVGTitleElement: A.SvgElement, SVGViewElement: A.SvgElement, SVGGradientElement: A.SvgElement, SVGComponentTransferFunctionElement: A.SvgElement, SVGFEDropShadowElement: A.SvgElement, SVGMPathElement: A.SvgElement, SVGElement: A.SvgElement, SVGSVGElement: A.SvgSvgElement, SVGTransform: A.Transform0, SVGTransformList: A.TransformList, AudioBuffer: A.AudioBuffer, AudioParamMap: A.AudioParamMap, AudioTrack: A.AudioTrack, AudioTrackList: A.AudioTrackList, AudioContext: A.BaseAudioContext, webkitAudioContext: A.BaseAudioContext, BaseAudioContext: A.BaseAudioContext, OfflineAudioContext: A.OfflineAudioContext, WebGLActiveInfo: A.ActiveInfo});
    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, BudgetState: true, CanvasGradient: true, CanvasPattern: true, Client: true, Clients: true, CookieStore: true, Coordinates: true, CredentialsContainer: true, Crypto: true, CryptoKey: true, CSS: true, CSSVariableReferenceValue: true, CustomElementRegistry: true, DataTransfer: true, DeprecatedStorageInfo: true, DeprecatedStorageQuota: true, DetectedBarcode: true, DetectedFace: true, DetectedText: true, DeviceAcceleration: true, DeviceRotationRate: true, DirectoryReader: true, WebKitDirectoryReader: true, webkitFileSystemDirectoryReader: true, FileSystemDirectoryReader: true, DocumentOrShadowRoot: true, DocumentTimeline: true, DOMImplementation: true, Iterator: true, DOMMatrix: true, DOMMatrixReadOnly: true, DOMParser: true, DOMPoint: true, DOMPointReadOnly: true, DOMQuad: true, DOMStringMap: true, External: true, FaceDetector: 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, KeyframeEffect: true, KeyframeEffectReadOnly: true, MediaCapabilities: true, MediaCapabilitiesInfo: true, MediaKeyStatusMap: true, MediaKeySystemAccess: true, MediaKeys: true, MediaKeysPolicy: true, MediaMetadata: true, MediaSession: true, MediaSettingsRange: true, MemoryInfo: true, MessageChannel: true, Metadata: true, NavigationPreloadManager: true, Navigator: true, NavigatorAutomationInformation: true, NavigatorConcurrentHardware: true, NavigatorCookies: true, NodeFilter: true, NodeIterator: true, NonDocumentTypeChildNode: true, NonElementParentNode: true, NoncedElement: true, OffscreenCanvasRenderingContext2D: true, PaintRenderingContext2D: true, PaintSize: true, PaintWorkletGlobalScope: true, Path2D: true, PaymentAddress: true, PaymentManager: true, PaymentResponse: true, PerformanceNavigation: true, PerformanceObserver: true, PerformanceObserverEntryList: true, PerformanceTiming: true, Permissions: true, PhotoCapabilities: true, Presentation: true, PresentationReceiver: true, PushManager: true, PushSubscription: true, PushSubscriptionOptions: true, Range: true, RelatedApplication: 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, SharedArrayBuffer: true, SpeechRecognitionAlternative: true, StaticRange: true, StorageManager: true, StyleMedia: true, StylePropertyMap: true, StylePropertyMapReadonly: true, SyncManager: 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, 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, 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, IDBCursor: true, IDBCursorWithValue: true, IDBFactory: 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, AudioWorkletGlobalScope: true, AudioWorkletProcessor: true, PeriodicWave: 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, HTMLContentElement: true, HTMLDListElement: true, HTMLDataElement: true, HTMLDataListElement: true, HTMLDetailsElement: true, HTMLDialogElement: true, HTMLHRElement: true, HTMLHeadElement: true, HTMLHeadingElement: true, HTMLHtmlElement: true, HTMLLIElement: true, HTMLLegendElement: true, HTMLLinkElement: true, HTMLMediaElement: true, HTMLMenuElement: true, HTMLMeterElement: true, HTMLModElement: true, HTMLOListElement: true, HTMLOptGroupElement: true, HTMLOptionElement: true, HTMLParagraphElement: true, HTMLPictureElement: true, HTMLPreElement: true, HTMLProgressElement: true, HTMLQuoteElement: true, HTMLScriptElement: true, HTMLShadowElement: true, HTMLSourceElement: true, HTMLSpanElement: true, HTMLTableCaptionElement: true, HTMLTableCellElement: true, HTMLTableDataCellElement: true, HTMLTableHeaderCellElement: true, HTMLTableColElement: true, HTMLTableElement: true, HTMLTableRowElement: true, HTMLTableSectionElement: true, HTMLTemplateElement: true, HTMLTimeElement: true, HTMLTitleElement: true, HTMLUListElement: true, HTMLUnknownElement: true, HTMLVideoElement: true, HTMLDirectoryElement: true, HTMLFontElement: true, HTMLFrameElement: true, HTMLFrameSetElement: true, HTMLMarqueeElement: true, HTMLElement: false, AccessibleNodeList: true, HTMLAnchorElement: true, ApplicationCacheErrorEvent: true, HTMLAreaElement: true, Blob: false, Body: true, Request: true, Response: true, BroadcastChannel: true, HTMLButtonElement: true, CacheStorage: true, HTMLCanvasElement: true, CanvasRenderingContext2D: true, CDATASection: true, CharacterData: true, Comment: true, ProcessingInstruction: true, Text: true, CloseEvent: true, PublicKeyCredential: true, Credential: false, CredentialUserData: true, CSSKeyframesRule: true, MozCSSKeyframesRule: true, WebKitCSSKeyframesRule: true, CSSPerspective: true, CSSCharsetRule: true, CSSConditionRule: true, CSSFontFaceRule: true, CSSGroupingRule: true, CSSImportRule: true, CSSKeyframeRule: true, MozCSSKeyframeRule: true, WebKitCSSKeyframeRule: true, CSSMediaRule: true, CSSNamespaceRule: true, CSSPageRule: true, CSSStyleRule: true, CSSSupportsRule: true, CSSViewportRule: true, CSSRule: false, CSSStyleDeclaration: true, MSStyleCSSProperties: true, CSS2Properties: true, CSSStyleSheet: 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, DataTransferItem: true, DataTransferItemList: true, DeprecationReport: true, HTMLDivElement: true, XMLDocument: true, Document: false, DOMError: true, DOMException: true, ClientRectList: true, DOMRectList: true, DOMRectReadOnly: false, DOMStringList: true, DOMTokenList: true, Element: false, HTMLEmbedElement: true, DirectoryEntry: true, webkitFileSystemDirectoryEntry: true, FileSystemDirectoryEntry: true, Entry: true, webkitFileSystemEntry: true, FileSystemEntry: true, FileEntry: true, webkitFileSystemFileEntry: true, FileSystemFileEntry: true, ErrorEvent: true, AbortPaymentEvent: true, AnimationEvent: true, AnimationPlaybackEvent: true, BackgroundFetchClickEvent: true, BackgroundFetchEvent: true, BackgroundFetchFailEvent: true, BackgroundFetchedEvent: true, BeforeInstallPromptEvent: true, BeforeUnloadEvent: true, BlobEvent: true, CanMakePaymentEvent: true, ClipboardEvent: true, CustomEvent: true, DeviceMotionEvent: true, DeviceOrientationEvent: true, ExtendableEvent: true, ExtendableMessageEvent: true, FetchEvent: true, FontFaceSetLoadEvent: true, ForeignFetchEvent: true, GamepadEvent: true, HashChangeEvent: true, InstallEvent: true, MediaEncryptedEvent: true, MediaStreamEvent: true, MediaStreamTrackEvent: true, MIDIConnectionEvent: true, MIDIMessageEvent: true, MutationEvent: true, NotificationEvent: true, PageTransitionEvent: true, PaymentRequestEvent: true, PaymentRequestUpdateEvent: true, PopStateEvent: true, PresentationConnectionAvailableEvent: true, PromiseRejectionEvent: true, PushEvent: true, RTCDataChannelEvent: true, RTCDTMFToneChangeEvent: true, RTCPeerConnectionIceEvent: true, RTCTrackEvent: true, SecurityPolicyViolationEvent: true, SensorErrorEvent: true, SpeechRecognitionEvent: true, StorageEvent: true, SyncEvent: true, TrackEvent: true, TransitionEvent: true, WebKitTransitionEvent: true, VRDeviceEvent: true, VRDisplayEvent: true, VRSessionEvent: true, MojoInterfaceRequestEvent: true, USBConnectionEvent: true, AudioProcessingEvent: true, OfflineAudioCompletionEvent: true, WebGLContextEvent: true, Event: false, InputEvent: false, SubmitEvent: false, EventSource: true, AbsoluteOrientationSensor: true, Accelerometer: true, AccessibleNode: true, AmbientLightSensor: true, Animation: true, ApplicationCache: true, DOMApplicationCache: true, OfflineResourceList: true, BackgroundFetchRegistration: true, BatteryManager: true, FontFaceSet: true, Gyroscope: true, LinearAccelerationSensor: true, Magnetometer: true, MediaDevices: true, MediaRecorder: true, MediaSource: true, MediaStream: true, MIDIAccess: true, NetworkInformation: true, Notification: 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, Sensor: true, ServiceWorker: true, ServiceWorkerContainer: true, ServiceWorkerRegistration: true, SharedWorker: true, SpeechRecognition: true, SpeechSynthesis: true, SpeechSynthesisUtterance: true, VR: true, VRDevice: true, VRDisplay: true, VRSession: true, VisualViewport: true, Worker: true, WorkerPerformance: true, BluetoothDevice: true, BluetoothRemoteGATTCharacteristic: true, Clipboard: true, MojoInterfaceInterceptor: true, USB: true, IDBOpenDBRequest: true, IDBVersionChangeRequest: true, IDBRequest: true, IDBTransaction: 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, FederatedCredential: true, HTMLFieldSetElement: true, File: true, FileList: true, FileReader: true, DOMFileSystem: true, WebKitFileSystem: true, webkitFileSystem: true, FileSystem: true, FileWriter: true, HTMLFormElement: true, Gamepad: true, History: true, HTMLCollection: true, HTMLFormControlsCollection: true, HTMLOptionsCollection: true, HTMLDocument: true, XMLHttpRequest: true, XMLHttpRequestUpload: true, XMLHttpRequestEventTarget: false, HTMLIFrameElement: true, ImageData: true, HTMLImageElement: true, HTMLInputElement: true, InterventionReport: true, KeyboardEvent: true, HTMLLabelElement: true, Location: true, HTMLMapElement: true, MediaDeviceInfo: true, MediaError: true, MediaKeyMessageEvent: true, MediaKeySession: true, MediaList: true, MediaQueryList: true, MediaQueryListEvent: true, CanvasCaptureMediaStreamTrack: true, MediaStreamTrack: true, MessageEvent: true, MessagePort: true, HTMLMetaElement: true, MIDIInputMap: true, MIDIOutputMap: true, MIDIInput: true, MIDIOutput: true, MIDIPort: true, MimeType: true, MimeTypeArray: true, MouseEvent: false, DragEvent: false, MutationObserver: true, WebKitMutationObserver: true, MutationRecord: true, NavigatorUserMediaError: true, DocumentFragment: true, ShadowRoot: true, DocumentType: true, Node: false, NodeList: true, RadioNodeList: true, HTMLObjectElement: true, OffscreenCanvas: true, HTMLOutputElement: true, OverconstrainedError: true, HTMLParamElement: true, PasswordCredential: true, PaymentInstruments: true, PerformanceEntry: true, PerformanceLongTaskTiming: true, PerformanceMark: true, PerformanceMeasure: true, PerformanceNavigationTiming: true, PerformancePaintTiming: true, PerformanceResourceTiming: true, TaskAttributionTiming: true, PerformanceServerTiming: true, Plugin: true, PluginArray: true, PointerEvent: true, PositionError: true, GeolocationPositionError: true, PresentationConnectionCloseEvent: true, ProgressEvent: true, ResourceProgressEvent: true, PushMessageData: true, ReportBody: false, RTCStatsReport: true, ScreenOrientation: true, HTMLSelectElement: true, SharedWorkerGlobalScope: true, HTMLSlotElement: true, SourceBuffer: true, SourceBufferList: true, SpeechGrammar: true, SpeechGrammarList: true, SpeechRecognitionError: true, SpeechRecognitionResult: true, SpeechSynthesisEvent: true, SpeechSynthesisVoice: true, Storage: true, HTMLStyleElement: true, StyleSheet: false, HTMLTextAreaElement: true, TextTrack: true, TextTrackCue: false, TextTrackCueList: true, TextTrackList: true, TimeRanges: true, Touch: true, TouchEvent: true, TouchList: true, TrackDefaultList: true, HTMLTrackElement: true, CompositionEvent: true, FocusEvent: true, TextEvent: true, UIEvent: false, URL: true, VideoTrack: true, VideoTrackList: true, VTTCue: true, WebSocket: true, WheelEvent: true, Window: true, DOMWindow: true, DedicatedWorkerGlobalScope: true, ServiceWorkerGlobalScope: true, WorkerGlobalScope: false, Attr: true, CSSRuleList: true, ClientRect: true, DOMRect: true, GamepadList: true, NamedNodeMap: true, MozNamedAttrMap: true, SpeechRecognitionResultList: true, StyleSheetList: true, IDBDatabase: true, IDBIndex: true, IDBKeyRange: true, IDBObjectStore: true, IDBVersionChangeEvent: true, SVGClipPathElement: true, SVGDefsElement: true, SVGFEBlendElement: true, SVGFEColorMatrixElement: true, SVGFECompositeElement: true, SVGFEFloodElement: true, SVGFilterElement: true, SVGCircleElement: true, SVGEllipseElement: true, SVGLineElement: true, SVGPolygonElement: true, SVGPolylineElement: true, SVGRectElement: true, SVGGeometryElement: false, SVGAElement: true, SVGForeignObjectElement: true, SVGGElement: true, SVGImageElement: true, SVGSwitchElement: true, SVGTSpanElement: true, SVGTextContentElement: true, SVGTextElement: true, SVGTextPathElement: true, SVGTextPositioningElement: true, SVGUseElement: true, SVGGraphicsElement: false, SVGLength: true, SVGLengthList: true, SVGNumber: true, SVGNumberList: true, SVGPathElement: true, SVGPointList: true, SVGStringList: true, SVGAnimateElement: true, SVGAnimateMotionElement: true, SVGAnimateTransformElement: true, SVGAnimationElement: true, SVGDescElement: true, SVGDiscardElement: true, SVGFEComponentTransferElement: true, SVGFEConvolveMatrixElement: true, SVGFEDiffuseLightingElement: true, SVGFEDisplacementMapElement: true, SVGFEDistantLightElement: 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, SVGLinearGradientElement: true, SVGMarkerElement: true, SVGMaskElement: true, SVGMetadataElement: true, SVGPatternElement: true, SVGRadialGradientElement: true, SVGScriptElement: true, SVGSetElement: true, SVGStopElement: true, SVGStyleElement: true, SVGSymbolElement: true, SVGTitleElement: true, SVGViewElement: true, SVGGradientElement: true, SVGComponentTransferFunctionElement: true, SVGFEDropShadowElement: true, SVGMPathElement: true, SVGElement: false, SVGSVGElement: true, SVGTransform: true, SVGTransformList: true, AudioBuffer: true, AudioParamMap: true, AudioTrack: true, AudioTrackList: true, AudioContext: true, webkitAudioContext: true, BaseAudioContext: false, OfflineAudioContext: true, WebGLActiveInfo: 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$3$1 = function(a) {
    return this(a);
  };
  Function.prototype.call$2$1 = function(a) {
    return this(a);
  };
  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$1$2 = function(a, b) {
    return this(a, b);
  };
  Function.prototype.call$1$0 = function() {
    return this();
  };
  Function.prototype.call$5 = function(a, b, c, d, e) {
    return this(a, b, c, d, e);
  };
  Function.prototype.call$6 = function(a, b, c, d, e, f) {
    return this(a, b, c, d, e, f);
  };
  Function.prototype.call$1$5 = function(a, b, c, d, e) {
    return this(a, b, c, d, e);
  };
  Function.prototype.call$2$0 = function() {
    return this();
  };
  Function.prototype.call$2$3 = function(a, b, c) {
    return this(a, b, c);
  };
  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([]);
  });
})();
